@alphauspkgs/blue-sdk-ts 1.0.48 → 1.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/gc/v1/gc_pb.js CHANGED
@@ -3,427 +3,499 @@
3
3
  // @generated from file gc/v1/gc.proto (package blueapi.gc.v1, syntax proto3)
4
4
  /* eslint-disable */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LeaseSchema = exports.CommitmentPlanResourceMatchSchema = exports.CommitmentPlanLineItemSchema = exports.CommitmentPlanDetailsSchema = exports.OrgSchema = exports.ListAzureIntegrationsRequestSchema = exports.CreateAzureIntegrationRequestSchema = exports.ListAzureOnboardingAccountsRequestSchema = exports.ValidateAzureAppInstallRequestSchema = exports.GetAzureOnboardingAuthUrlRequestSchema = exports.UpdateAzureOnboardingRequestSchema = exports.StartAzureOnboardingRequestSchema = exports.CreateGuaranteedCommitmentAccessRequestSchema = exports.GetGuaranteedCommitmentTemplateUrlRequestSchema = exports.CreateCustomCommitmentPlanRequestSchema = exports.GetAvailableCommitmentTypesRequestSchema = exports.DeleteDraftPurchasePlanRequestSchema = exports.ListDraftPurchasePlansRequestSchema = exports.SaveCommitmentsPlanAsDraftRequestSchema = exports.GetAwsPrivateOfferRequestSchema = exports.ValidateBillingGroupRequestSchema = exports.GetBillingGroupStatusRequestSchema = exports.SetBillingGroupStatusRequestSchema = exports.ListBillingGroupsRequestSchema = exports.GetPayerAccountStatusRequestSchema = exports.SetPayerAccountEnabledRequestSchema = exports.ListPayerAccountsRequestSchema = exports.GetOnboardingStatusRequestSchema = exports.VerifyAwsOnboardingRequestSchema = exports.GetAwsLaunchStackUrlRequestSchema = exports.GetAwsCloudFormationTemplateRequestSchema = exports.StartAwsOnboardingRequestSchema = exports.RegisterOrgRequestSchema = exports.AwsExistingCurSchema = exports.AddressSchema = exports.MembershipSchema = exports.OrgUserSchema = exports.GetUpdatedPurchasePlansBySegmentRequestSchema = exports.GetPurchasePlansDetailsRequestSchema = exports.ListPurchasePlansBySegmentRequestSchema = exports.ListReservableResourcesRequestSchema = exports.GetResourceDailyUsageRequestSchema = exports.ListResourcesRequestSchema = exports.GetMetricsRequestSchema = exports.GetCommitmentsUtilizationRequestSchema = exports.GetCommitmentsChartRequestSchema = exports.ListCommitmentsRequestSchema = exports.CommitmentPlanApplyRequestSchema = exports.ListOrgsRequestSchema = exports.file_gc_v1_gc = void 0;
7
- exports.SetBillingGroupStatusResponseSchema = exports.ListBillingGroupsResponse_BillingGroupStatusSchema = exports.ListBillingGroupsResponse_BillingGroupStatus = exports.ListBillingGroupsResponse_BillingGroupSchema = exports.ListBillingGroupsResponseSchema = exports.GetPayerAccountStatusResponseSchema = exports.SetPayerAccountEnabledResponseSchema = exports.ListPayerAccountsResponse_PayerAccountStatusSchema = exports.ListPayerAccountsResponse_PayerAccountStatus = exports.ListPayerAccountsResponse_PayerAccountSchema = exports.ListPayerAccountsResponseSchema = exports.PayerAccountDetailsSchema = exports.GetOnboardingStatusResponse_OnboardingStatusSchema = exports.GetOnboardingStatusResponse_OnboardingStatus = exports.GetOnboardingStatusResponseSchema = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema = exports.VerifyAwsOnboardingResponseSchema = exports.GetAwsLaunchStackUrlResponseSchema = exports.GetAwsCloudFormationTemplateResponseSchema = exports.StartAwsOnboardingResponseSchema = exports.RegisterOrgResponseSchema = exports.PlanHistoryEntrySchema = exports.PlanHistoryUserSchema = exports.GetUpdatedPurchasePlansBySegmentResponseSchema = exports.ListPurchasePlansBySegmentResponseSchema = exports.DefaultPurchasePlanSchema = exports.AggregateMetricsSchema = exports.ServiceSummarySchema = exports.PlanSummarySchema = exports.ContractSpecSchema = exports.SegmentDetailsSchema = exports.PurchasePlanSchema = exports.SegmentCreatorSchema = exports.SegmentSchema = exports.ListReservableResourcesResponseSchema = exports.ReservableResourceSchema = exports.GetResourceDailyUsageResponseSchema = exports.ResourceDailyUsageSchema = exports.ListResourcesResponseSchema = exports.ResourceSchema = exports.MetricsResponseSchema = exports.CommitmentsUtilizationResponseSchema = exports.CommitmentsUtilizationDataSchema = exports.CommitmentsChartResponseSchema = exports.CommitmentsChartDataSchema = exports.ListCommitmentsResponseSchema = exports.CommitmentSchema = exports.DailyUtilizationSchema = void 0;
8
- exports.GuaranteedCommitments = exports.UsageTypeSchema = exports.UsageType = exports.ScopeSchema = exports.Scope = exports.CommitmentInventoryStatusSchema = exports.CommitmentInventoryStatus = exports.CommitmentStatusSchema = exports.CommitmentStatus = exports.ProviderSchema = exports.Provider = exports.ListAzureIntegrationsResponseSchema = exports.CreateAzureIntegrationResponseSchema = exports.AzureIntegrationSchema = exports.AzureIntegrationOnboardingSchema = exports.AzureIntegrationFeatureStatusSchema = exports.ListAzureOnboardingAccountsResponseSchema = exports.AzureAccountSchema = exports.GetAzureOnboardingAuthUrlResponseSchema = exports.StartAzureOnboardingResponseSchema = exports.AzureOnboardingStateSchema = exports.AzureOnboardingCreatedBySchema = exports.AzureArcheraOrgSchema = exports.AzureArcheraOrgLeaseBudgetSchema = exports.AzureArcheraOrgFeatureStatusSchema = exports.CreateCustomCommitmentPlanResponseSchema = exports.GetPurchasePlansDetailsResponseSchema = exports.CreateGuaranteedCommitmentAccessResponseSchema = exports.GetGuaranteedCommitmentTemplateUrlResponseSchema = exports.GetAvailableCommitmentTypesResponseSchema = exports.DeleteDraftPurchasePlanResponseSchema = exports.ListDraftPurchasePlansResponseSchema = exports.GetAwsPrivateOfferResponseSchema = exports.ValidateBillingGroupResponseSchema = exports.GetBillingGroupStatusResponseSchema = void 0;
6
+ exports.ListAzureOnboardingAccountsRequestSchema = exports.ValidateAzureAppInstallRequestSchema = exports.GetAzureOnboardingAuthUrlRequestSchema = exports.UpdateAzureOnboardingRequestSchema = exports.StartAzureOnboardingRequestSchema = exports.CreateGuaranteedCommitmentAccessRequestSchema = exports.GetGuaranteedCommitmentTemplateUrlRequestSchema = exports.CreateCustomCommitmentPlanRequestSchema = exports.GetAvailableCommitmentTypesRequestSchema = exports.DeleteDraftPurchasePlanRequestSchema = exports.ListDraftPurchasePlansRequestSchema = exports.SaveCommitmentsPlanAsDraftRequestSchema = exports.AcceptBillingGroupTermsRequestSchema = exports.GetAwsPrivateOfferRequestSchema = exports.ValidateBillingGroupRequestSchema = exports.GetBillingGroupStatusRequestSchema = exports.SetBillingGroupStatusRequestSchema = exports.ListBillingGroupsRequestSchema = exports.GetPayerAccountStatusRequestSchema = exports.SetPayerAccountEnabledRequestSchema = exports.ListPayerAccountsRequestSchema = exports.GetOnboardingStatusRequestSchema = exports.VerifyAwsOnboardingRequestSchema = exports.GetAwsLaunchStackUrlRequestSchema = exports.GetAwsCloudFormationTemplateRequestSchema = exports.StartAwsOnboardingRequestSchema = exports.RegisterOrgRequestSchema = exports.TermsAcceptanceSchema = exports.AwsExistingCurSchema = exports.AddressSchema = exports.MembershipSchema = exports.OrgUserSchema = exports.GetUpdatedPurchasePlansBySegmentRequestSchema = exports.GetPurchasePlansDetailsRequestSchema = exports.ListPurchasePlansBySegmentRequestSchema = exports.ListReservableResourcesRequestSchema = exports.GetResourceDailyUsageRequestSchema = exports.ListResourcesRequestSchema = exports.GetMetricsRequestSchema = exports.ReadCommitmentReportAccountsRequestSchema = exports.ReadCommitmentReportsRequestSchema = exports.GetCommitmentsUtilizationRequestSchema = exports.GetCommitmentsChartRequestSchema = exports.ListCommitmentsRequestSchema = exports.CommitmentPlanApplyRequestSchema = exports.ListOrgsRequestSchema = exports.AcceptTermsRequestSchema = exports.GetTermsDocumentRequestSchema = exports.GetTermsConsentStatusRequestSchema = exports.file_gc_v1_gc = void 0;
7
+ exports.GetOnboardingStatusResponseSchema = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema = exports.VerifyAwsOnboardingResponseSchema = exports.GetAwsLaunchStackUrlResponseSchema = exports.GetAwsCloudFormationTemplateResponseSchema = exports.StartAwsOnboardingResponseSchema = exports.RegisterOrgResponseSchema = exports.PlanHistoryEntrySchema = exports.PlanHistoryUserSchema = exports.GetUpdatedPurchasePlansBySegmentResponseSchema = exports.ListPurchasePlansBySegmentResponseSchema = exports.DefaultPurchasePlanSchema = exports.AggregateMetricsSchema = exports.ServiceSummarySchema = exports.PlanSummarySchema = exports.ContractSpecSchema = exports.SegmentDetailsSchema = exports.PurchasePlanSchema = exports.SegmentCreatorSchema = exports.SegmentSchema = exports.ListReservableResourcesResponseSchema = exports.ReservableResourceSchema = exports.GetResourceDailyUsageResponseSchema = exports.ResourceDailyUsageSchema = exports.ListResourcesResponseSchema = exports.ResourceSchema = exports.MetricsResponseSchema = exports.CommitmentReportAccountSchema = exports.CommitmentReportSchema = exports.CommitmentsUtilizationResponseSchema = exports.CommitmentsUtilizationDataSchema = exports.CommitmentsChartResponseSchema = exports.CommitmentsChartDataSchema = exports.ListCommitmentsResponseSchema = exports.CommitmentSchema = exports.DailyUtilizationSchema = exports.LeaseSchema = exports.CommitmentPlanResourceMatchSchema = exports.CommitmentPlanLineItemSchema = exports.CommitmentPlanDetailsSchema = exports.OrgSchema = exports.AcceptTermsResponseSchema = exports.TermsConsentRecordSchema = exports.GetTermsDocumentResponseSchema = exports.GetTermsConsentStatusResponseSchema = exports.TermsOfServiceVersionSchema = exports.ListAzureIntegrationsRequestSchema = exports.CreateAzureIntegrationRequestSchema = void 0;
8
+ exports.UsageType = exports.ScopeSchema = exports.Scope = exports.CommitmentInventoryStatusSchema = exports.CommitmentInventoryStatus = exports.CommitmentStatusSchema = exports.CommitmentStatus = exports.ProviderSchema = exports.Provider = exports.TermsConsentStateSchema = exports.TermsConsentState = exports.ListAzureIntegrationsResponseSchema = exports.CreateAzureIntegrationResponseSchema = exports.AzureIntegrationSchema = exports.AzureIntegrationOnboardingSchema = exports.AzureIntegrationFeatureStatusSchema = exports.ListAzureOnboardingAccountsResponseSchema = exports.AzureAccountSchema = exports.GetAzureOnboardingAuthUrlResponseSchema = exports.StartAzureOnboardingResponseSchema = exports.AzureOnboardingStateSchema = exports.AzureOnboardingCreatedBySchema = exports.AzureArcheraOrgSchema = exports.AzureArcheraOrgLeaseBudgetSchema = exports.AzureArcheraOrgFeatureStatusSchema = exports.CreateCustomCommitmentPlanResponseSchema = exports.GetPurchasePlansDetailsResponseSchema = exports.CreateGuaranteedCommitmentAccessResponseSchema = exports.GetGuaranteedCommitmentTemplateUrlResponseSchema = exports.GetAvailableCommitmentTypesResponseSchema = exports.DeleteDraftPurchasePlanResponseSchema = exports.ListDraftPurchasePlansResponseSchema = exports.AcceptBillingGroupTermsResponseSchema = exports.GetAwsPrivateOfferResponseSchema = exports.ValidateBillingGroupResponseSchema = exports.GetBillingGroupStatusResponseSchema = exports.SetBillingGroupStatusResponseSchema = exports.ListBillingGroupsResponse_BillingGroupStatusSchema = exports.ListBillingGroupsResponse_BillingGroupStatus = exports.ListBillingGroupsResponse_BillingGroupSchema = exports.ListBillingGroupsResponseSchema = exports.GetPayerAccountStatusResponseSchema = exports.SetPayerAccountEnabledResponseSchema = exports.ListPayerAccountsResponse_PayerAccountStatusSchema = exports.ListPayerAccountsResponse_PayerAccountStatus = exports.ListPayerAccountsResponse_PayerAccountSchema = exports.ListPayerAccountsResponseSchema = exports.PayerAccountDetailsSchema = exports.GetOnboardingStatusResponse_OnboardingStatusSchema = exports.GetOnboardingStatusResponse_OnboardingStatus = void 0;
9
+ exports.GuaranteedCommitments = exports.UsageTypeSchema = void 0;
9
10
  const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
10
11
  const annotations_pb_1 = require("../../google/api/annotations_pb");
12
+ const field_behavior_pb_1 = require("../../google/api/field_behavior_pb");
11
13
  const wkt_1 = require("@bufbuild/protobuf/wkt");
12
14
  const annotations_pb_2 = require("../../protoc-gen-openapiv2/options/annotations_pb");
13
15
  /**
14
16
  * Describes the file gc/v1/gc.proto.
15
17
  */
16
- exports.file_gc_v1_gc = (0, codegenv2_1.fileDesc)("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIhgKFkxpc3RDb21taXRtZW50c1JlcXVlc3QiZwoaR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJEg8KB2dyb3VwQnkYAiABKAkSEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkiOAogR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJIj4KEUdldE1ldHJpY3NSZXF1ZXN0EikKCHByb3ZpZGVyGAEgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlciKjAQoUTGlzdFJlc291cmNlc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCXNlZ21lbnRJZBgCIAEoCRIOCgZzZWFyY2gYAyABKAkSDAoEZGVzYxgEIAEoCBIPCgdvcmRlckJ5GAUgASgJEgwKBHBhZ2UYBiABKAUSEAoIcGFnZVNpemUYByABKAUijAEKHEdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QSEgoKcmVzb3VyY2VJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRIUCgxjYXRhbG9nU2t1SWQYBCABKAkSDAoEcGFnZRgFIAEoBRIQCghwYWdlU2l6ZRgGIAEoBSIzCh5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1JlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJIiMKIUxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdCIwCh5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1JlcXVlc3QSDgoGcGxhbklkGAEgASgJIikKJ0dldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdCImCgdPcmdVc2VyEg0KBWVtYWlsGAEgASgJEgwKBHJvbGUYAiABKAkiLAoKTWVtYmVyc2hpcBIMCgRyb2xlGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJImIKB0FkZHJlc3MSDQoFbGluZTEYASABKAkSDAoEY2l0eRgCIAEoCRINCgVzdGF0ZRgDIAEoCRILCgN6aXAYBCABKAkSDwoHY291bnRyeRgFIAEoCRINCgVsaW5lMhgGIAEoCSJUCg5Bd3NFeGlzdGluZ0N1chIOCgZyZWdpb24YASABKAkSDgoGYnVja2V0GAIgASgJEg4KBnByZWZpeBgDIAEoCRISCgpyZXBvcnROYW1lGAQgASgJIosCChJSZWdpc3Rlck9yZ1JlcXVlc3QSDAoEbmFtZRgBIAEoCRIbChNsYWJyYVN1YnNjcmlwdGlvbklkGAIgASgJEiUKBXVzZXJzGAMgAygLMhYuYmx1ZWFwaS5nYy52MS5PcmdVc2VyEg4KBmRvbWFpbhgEIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgFIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgGIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAcgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAggASgJIokBChlTdGFydEF3c09uYm9hcmRpbmdSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEhgKEHBheWVyQWNjb3VudE5hbWUYBSABKAkikwEKI0dldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEhgKEHBheWVyQWNjb3VudE5hbWUYBSABKAkiiwEKG0dldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIWCg5wYXllckFjY291bnRJZBgEIAEoCRIYChBwYXllckFjY291bnROYW1lGAUgASgJIrUBChpWZXJpZnlBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIUCgxvbmJvYXJkaW5nSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEjIKC2V4aXN0aW5nQ3VyGAYgASgLMh0uYmx1ZWFwaS5nYy52MS5Bd3NFeGlzdGluZ0N1ciJfChpHZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSFgoOcGF5ZXJBY2NvdW50SWQYAyABKAkiGgoYTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0IkMKHVNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIh4KHEdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QiGgoYTGlzdEJpbGxpbmdHcm91cHNSZXF1ZXN0IlYKHFNldEJpbGxpbmdHcm91cFN0YXR1c1JlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJEg8KB2VuYWJsZWQYAiABKAgSEgoKbmV3VmVyc2lvbhgDIAEoCCIeChxHZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXF1ZXN0IkQKG1ZhbGlkYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkSEgoKbmV3VmVyc2lvbhgCIAEoCCJFChlHZXRBd3NQcml2YXRlT2ZmZXJSZXF1ZXN0EhYKDnBheWVyQWNjb3VudElkGAEgASgJEhAKCHJlY3JlYXRlGAIgASgIIsIHCiFTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QSDgoGcGxhbklkGAEgASgJEhYKDnJlc2VydmF0aW9uSWRzGAIgAygJEhMKC3Jlc291cmNlSWRzGAMgAygJEhYKDm1heFVwZnJvbnRDb3N0GAQgASgBEikKCHByb3ZpZGVyGAUgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIPCgdlbmREYXRlGAYgASgJEhEKCXN0YXJ0RGF0ZRgHIAEoCRIRCglzZWdtZW50SWQYCCABKAkSDgoGc3RhdHVzGAkgASgJEhMKC2Rlc2NyaXB0aW9uGAogASgJEgwKBG5hbWUYCyABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgMIAEoCRIdChVpbmNsdWRlZENvbnRyYWN0VGVybXMYDSADKAkSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGA4gAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSKgoKY292ZXJhZ2VJZBgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljcmVhdGVkQXQYECABKAkSKQoJY3JlYXRlZEJ5GBEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhIKCmRhdGFTb3VyY2UYEiABKAkSLwoPZXhlY3V0aW9uUG9saWN5GBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhYKDmZsYWdnZWRBY3Rpb25zGBQgAygJEgoKAmlkGBUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYFiABKAgSEQoJaXNEZWZhdWx0GBcgASgIEhAKCGlzTG9ja2VkGBggASgIEhUKDWlzUmVjb21tZW5kZWQYGSABKAgSEQoJaXNSZW5ld2FsGBogASgIEg8KB2lzU2F2ZWQYGyABKAgSFAoMbGFzdE1vZGlmaWVkGBwgASgJEhIKCm1ldGFQbGFuSWQYHSABKAkSOgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYHiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDQoFb3JnSWQYHyABKAkSEAoIcGxhblR5cGUYICABKAkSPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGCEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEicKB3NlZ21lbnQYIiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQiQwodTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1JlcXVlc3QSDwoHaXNEcmFmdBgBIAEoCBIRCgljb21wYW55SWQYAiABKAkiSAoeRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0EhMKC2RyYWZ0UGxhbklkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCSI2CiJHZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXF1ZXN0EhAKCHByb3ZpZGVyGAEgASgJIqMCCiFDcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlcXVlc3QSEAoIcHJvdmlkZXIYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAkSEQoJY29tcGFueUlkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIMCgRuYW1lGAcgASgJEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgIIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgJIAMoCRITCgtyZXNvdXJjZUlkcxgKIAMoCRISCgpjb21wYW55SWRzGAsgAygJIj8KKUdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0EhIKCmV4dGVybmFsSWQYASABKAkiTQonQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRISCgpleHRlcm5hbElkGAIgASgJIoMBChtTdGFydEF6dXJlT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSEAoIdGVuYW50SWQYBCABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBSABKAki0gUKHFVwZGF0ZUF6dXJlT25ib2FyZGluZ1JlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJY29tcGFueUlkGAQgASgJEhAKCHRlbmFudElkGAUgASgJEhYKDnN1YnNjcmlwdGlvbklkGAYgASgJEhMKC2FjY291bnRLaW5kGAcgASgJEhIKCmFjY291bnRJZHMYCCADKAkSFQoNYmxvYkNvbnRhaW5lchgJIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAogASgJEhYKDnN0b3JhZ2VBY2NvdW50GAsgASgJEhAKCHJvbGVOYW1lGAwgASgJEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YDSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YDiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBAgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNvbXBsZXRlZBgRIAEoCBIRCgljcmVhdGVkQXQYEiABKAkSOgoJY3JlYXRlZEJ5GBMgASgLMicuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdDcmVhdGVkQnkSKwoLaW50ZWdyYXRpb24YFCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFQoNaW50ZWdyYXRpb25JZBgVIAEoCRIQCghwcm92aWRlchgWIAEoCRIrCgNvcmcYFyABKAsyHi5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZyJzCiBHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVxdWVzdBIUCgxvbmJvYXJkaW5nSWQYASABKAkSDwoHZ2NPcmdJZBgCIAEoCRIQCgh0ZW5hbnRJZBgDIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgEIAEoCSK3BQoeVmFsaWRhdGVBenVyZUFwcEluc3RhbGxSZXF1ZXN0EhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIPCgdnY09yZ0lkGAIgASgJEgwKBHR5cGUYAyABKAkSEAoIdGVuYW50SWQYBCABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBSABKAkSEwoLYWNjb3VudEtpbmQYBiABKAkSEgoKYWNjb3VudElkcxgHIAMoCRIVCg1ibG9iQ29udGFpbmVyGAggASgJEhUKDXJlc291cmNlR3JvdXAYCSABKAkSFgoOc3RvcmFnZUFjY291bnQYCiABKAkSEAoIcm9sZU5hbWUYCyABKAkSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgNIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY29tcGxldGVkGBAgASgIEhEKCWNyZWF0ZWRBdBgRIAEoCRI6CgljcmVhdGVkQnkYEiABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIrCgtpbnRlZ3JhdGlvbhgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIVCg1pbnRlZ3JhdGlvbklkGBQgASgJEhAKCHByb3ZpZGVyGBUgASgJEisKA29yZxgWIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnIksKIkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1JlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkilAQKHUNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXF1ZXN0Eg8KB2djT3JnSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSEQoJY29tcGFueUlkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEgwKBHR5cGUYBSABKAkSEAoIdGVuYW50SWQYBiABKAkSFgoOc3Vic2NyaXB0aW9uSWQYByABKAkSFAoMb25ib2FyZGluZ0lkGAggASgJEhMKC2FjY291bnRLaW5kGAkgASgJEhIKCmFjY291bnRJZHMYCiADKAkSFQoNYmxvYkNvbnRhaW5lchgLIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAwgASgJEhYKDnN0b3JhZ2VBY2NvdW50GA0gASgJEhAKCHJvbGVOYW1lGA4gASgJEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YECABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlIi8KHExpc3RBenVyZUludGVncmF0aW9uc1JlcXVlc3QSDwoHZ2NPcmdJZBgBIAEoCSIxCgNPcmcSDQoFb3JnSWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVlbWFpbBgDIAEoCSLzBAoVQ29tbWl0bWVudFBsYW5EZXRhaWxzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJY3JlYXRlZEF0GAUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYBiABKAgSDgoGc3RhdHVzGAcgASgJEg8KB21heFRlcm0YCCABKAkSIQoZY292ZXJlZE9uZGVtYW5kQ29zdEhvdXJseRgJIAEoARIgChhiZWZvcmVPbmRlbWFuZENvc3RIb3VybHkYCiABKAESIAoYYmVmb3JlUmVzZXJ2ZWRDb3N0SG91cmx5GAsgASgBEhsKE2Ftb3J0aXplZENvc3RIb3VybHkYDCABKAESGwoTcmVjdXJyaW5nQ29zdEhvdXJseRgNIAEoARIZChF1cGZyb250Q29zdEhvdXJseRgOIAEoARIYChBiZWZvcmVDb3N0SG91cmx5GA8gASgBEhcKD2FmdGVyQ29zdEhvdXJseRgQIAEoARIXCg90b3RhbENvc3RIb3VybHkYESABKAESFQoNc2F2aW5nc0hvdXJseRgSIAEoARIRCglmZWVIb3VybHkYEyABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGBQgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgVIAEoARIWCg5icmVha2V2ZW5Ib3VycxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESFgoObW9udGhseVNhdmluZ3MYGCABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgZIAEoASK0BgoWQ29tbWl0bWVudFBsYW5MaW5lSXRlbRIKCgJpZBgBIAEoCRIOCgZwbGFuSWQYAiABKAkSDwoHb2ZmZXJJZBgDIAEoCRIXCg9sZWFzZU1lbnVJdGVtSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEhsKE3JlY29tbWVuZGVkUXVhbnRpdHkYBiABKAESGAoQc2VsZWN0ZWRRdWFudGl0eRgHIAEoARIdChVyZWNvbW1lbmRlZENvbW1pdG1lbnQYCCABKAESGgoSc2VsZWN0ZWRDb21taXRtZW50GAkgASgBEhIKCmlzU2VsZWN0ZWQYCiABKAgSGgoSYWZ0ZXJBbW9ydGl6ZWRDb3N0GAsgASgBEhMKC3VwZnJvbnRDb3N0GAwgASgBEhUKDXJlY3VycmluZ0Nvc3QYDSABKAESEgoKYmVmb3JlQ29zdBgOIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GBAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYESABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYEiABKAESEQoJdG90YWxDb3N0GBMgASgBEhMKC21vbnRobHlDb3N0GBQgASgBEg8KB3NhdmluZ3MYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEgsKA2ZlZRgYIAEoARIUCgxkaXNjb3VudFJhdGUYGSABKAESFgoOYnJlYWtldmVuSG91cnMYGiABKAESFAoMY29udHJhY3RUZXJtGBsgASgJEhUKDXBheW1lbnRPcHRpb24YHCABKAkSLQoMY29udHJhY3RTcGVjGB0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVvZmZlchgeIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHAoUcmVuZXdhbFJlc2VydmF0aW9uSWQYHyABKAkSFAoMY292ZXJlZFVuaXRzGCAgASgBEhUKDWFtb3J0aXplZENvc3QYISABKAEi1wUKG0NvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIKCgJpZBgBIAEoCRISCgp0b3RhbFVuaXRzGAIgASgBEhwKFGJlZm9yZVVuY292ZXJlZFVuaXRzGAMgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGAQgASgBEhsKE2FmdGVyVW5jb3ZlcmVkVW5pdHMYBSABKAESFQoNb25kZW1hbmRQcmljZRgGIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgHIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYCCABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYCSABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgKIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYCyABKAESGQoRYWZ0ZXJSZXNlcnZlZENvc3QYDCABKAESEgoKYmVmb3JlQ29zdBgNIAEoARIRCglhZnRlckNvc3QYDiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYDyABKAESGAoQbW9udGhseUFmdGVyQ29zdBgQIAEoARIgChhtb250aGx5QWZ0ZXJSZXNlcnZlZENvc3QYESABKAESIAoYbW9udGhseUFmdGVyT25kZW1hbmRDb3N0GBIgASgBEhYKDmF2ZXJhZ2VTYXZpbmdzGBMgASgBEh0KFWF2ZXJhZ2VNb250aGx5U2F2aW5ncxgUIAEoARIRCgl1c2FnZVR5cGUYFSABKAkSEAoIY292ZXJhZ2UYFiABKAESKQoIcmVzb3VyY2UYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvdmVyZWRVbml0cxgYIAEoARIcChRleHBsYW5hdGlvblVubWF0Y2hlZBgZIAEoARIUCgxvbmRlbWFuZENvc3QYGiABKAESFAoMcmVzZXJ2ZWRDb3N0GBsgASgBIu4BCgVMZWFzZRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIdChVwcm92aWRlclJlc2VydmF0aW9uSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIRCglzdGFydERhdGUYBiABKAkSDwoHZW5kRGF0ZRgHIAEoCRISCgpsb2NraW5EYXRlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBEhUKDXJlY3VycmluZ0Nvc3QYCiABKAESEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCSJJChBEYWlseVV0aWxpemF0aW9uEgwKBGRhdGUYASABKAkSEwoLdXRpbGl6YXRpb24YAiABKAESEgoKbmV0U2F2aW5ncxgDIAEoASLQBwoKQ29tbWl0bWVudBIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFQoNYW1vcnRpemVkQ29zdBgDIAEoARIYChBiaWxsaW5nQWNjb3VudElkGAQgASgJEhEKCWNhblJlYmF0ZRgFIAEoCBIUCgxjb250cmFjdFRlcm0YBiABKAkSEwoLZGlzcGxheU5hbWUYByABKAkSFwoPZHVyYXRpb25TZWNvbmRzGAggASgBEh4KFmVmZmVjdGl2ZUluc3RhbmNlQ291bnQYCSABKAMSDwoHZW5kRGF0ZRgKIAEoCRIVCg1pbnN0YW5jZUNvdW50GAsgASgDEhYKDmluc3RhbmNlRmFtaWx5GAwgASgJEhQKDGluc3RhbmNlVHlwZRgNIAEoCRIQCghpc0FjdGl2ZRgOIAEoCBISCgppc0ZsZXhpYmxlGA8gASgIEhAKCGlzTGVhc2VkGBAgASgIEhEKCWlzTXVsdGlBehgRIAEoCBIXCg9sZWFzZUxvY2tpbkRhdGUYEiABKAkSEgoKbGVhc2VTdGFydBgTIAEoCRIZChFsZWFzZWREaXNwbGF5TmFtZRgUIAEoCRITCgttb250aGx5Q29zdBgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIMCgRuYW1lGBcgASgJEhIKCm5ldFNhdmluZ3MYGCABKAESEgoKb2ZmZXJpbmdJZBgZIAEoCRIVCg1wYXltZW50T3B0aW9uGBogASgJEhgKEHBvdGVudGlhbFNhdmluZ3MYGyABKAESGgoScHJvZHVjdERlc2NyaXB0aW9uGBwgASgJEhAKCHByb3ZpZGVyGB0gASgJEh4KFnByb3ZpZGVyUmVzZXJ2YXRpb25faWQYHiABKAkSFQoNcmVjdXJyaW5nQ29zdBgfIAEoARIOCgZyZWdpb24YICABKAkSEwoLcmVuZXdhbFBsYW4YISABKAkSFgoOcmVzZXJ2YXRpb25FbmQYIiABKAkSGAoQcmVzZXJ2YXRpb25TdGFydBgjIAEoCRIUCgxydW5uaW5nSG91cnMYJCABKAESDwoHc2F2aW5ncxglIAEoARIRCglzdGFydERhdGUYJiABKAkSDgoGc3RhdHVzGCcgASgJEh4KFnRyYW5zZmVyUmVzZXJ2YXRpb25FbmQYKCABKAkSIAoYdHJhbnNmZXJSZXNlcnZhdGlvblN0YXJ0GCkgASgJEgwKBHR5cGUYKiABKAkSEwoLdXBmcm9udENvc3QYKyABKAESEwoLdXRpbGl6YXRpb24YLCABKAEiSQoXTGlzdENvbW1pdG1lbnRzUmVzcG9uc2USLgoLY29tbWl0bWVudHMYASADKAsyGS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnQiSgoUQ29tbWl0bWVudHNDaGFydERhdGESDAoEZGF0ZRgBIAEoCRIQCghjaGFydEtleRgCIAEoCRISCgpjaGFydFZhbHVlGAMgASgBIk0KGENvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZRIxCgRkYXRhGAEgAygLMiMuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0RGF0YSL8AQoaQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGESFwoPdXRpbGl6YXRpb25EYXRlGAEgASgJEgwKBGNvc3QYAiABKAESEwoLY292ZXJlZENvc3QYAyABKAESDwoHZ3JpRmVlcxgEIAEoARISCgpuZXRTYXZpbmdzGAUgASgBEhgKEHBvdGVudGlhbFNhdmluZ3MYBiABKAESHgoWcmVzZXJ2YXRpb25VdGlsaXphdGlvbhgHIAEoARIUCgxydW5uaW5nSG91cnMYCCABKAESDwoHc2F2aW5ncxgJIAEoARIcChR1bnV0aWxpemVkQ29tbWl0bWVudBgKIAEoASJZCh5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2USNwoEZGF0YRgBIAMoCzIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGEizQMKD01ldHJpY3NSZXNwb25zZRIXCg9saWZldGltZVNhdmluZ3MYASABKAESEgoKbXRkU2F2aW5ncxgCIAEoARIhChlwdXJjaGFzZUF1dG9tYXRpb25FbmFibGVkGAMgASgIEiAKGGJ1eWJhY2tBdXRvbWF0aW9uRW5hYmxlZBgEIAEoCBIXCg9oYXNBY3Rpb25lZFBsYW4YBSABKAgSGQoRaGFzUGVuZGluZ0FjdGlvbnMYBiABKAgSGwoTbGF0ZXN0RXhlY3V0aW9uRGF0ZRgHIAEoCRIdChVwdXJjaGFzZU1pc3NlZFNhdmluZ3MYCCABKAESHAoUYnV5YmFja01pc3NlZFNhdmluZ3MYCSABKAESHwoXdG90YWxEYWlseU1pc3NlZFNhdmluZ3MYCiABKAESGwoTaG91cmx5TWlzc2VkU2F2aW5ncxgLIAEoARIeChZtaXNzZWRTYXZpbmdzU3RhcnREYXRlGAwgASgJEhwKFG1pc3NlZFNhdmluZ3NFbmREYXRlGA0gASgJEhcKD2V4cGlyaW5nU2F2aW5ncxgOIAEoARIQCghjb3ZlcmFnZRgPIAEoARITCgt1dGlsaXphdGlvbhgQIAEoASKICAoIUmVzb3VyY2USCgoCaWQYASABKAkSEgoKcmVzb3VyY2VJZBgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISGgoScHJvdmlkZXJSZXNvdXJjZUlkGAQgASgJEg4KBmlzU3BvdBgFIAEoCBIMCgRuYW1lGAYgASgJEhUKDXJlc291cmNlR3JvdXAYByABKAkSEAoIdXNhZ2VFbmQYCCABKAkSEgoKdXNhZ2VTdGFydBgJIAEoCRIlCgR0YWdzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCgljcmVhdGVkQXQYCyABKAkSEQoJdXBkYXRlZEF0GAwgASgJEhIKCmluc3RhbmNlSWQYDSABKAkSGAoQYmlsbGluZ0FjY291bnRJZBgOIAEoCRIUCgxzdWJBY2NvdW50SWQYDyABKAkSGwoTbWFuYWdlbWVudEFjY291bnRJZBgQIAEoCRIWCg5vd25lckFjY291bnRJZBgRIAEoCRIQCghza3VUaXRsZRgSIAEoCRIPCgdza3VOYW1lGBMgASgJEhgKEGF2YWlsYWJpbGl0eVpvbmUYFCABKAkSEwoLY2FjaGVFbmdpbmUYFSABKAkSFgoOZGF0YWJhc2VFbmdpbmUYFiABKAkSEwoLZGVzY3JpcHRpb24YFyABKAkSDgoGZmFtaWx5GBggASgJEhYKDmZ1bGxSZWdpb25OYW1lGBkgASgJEhgKEGhhc09uZGVtYW5kVGVybXMYGiABKAgSFAoMaW5zdGFuY2VUeXBlGBsgASgJEhoKEmluc3RhbmNlVHlwZUZhbWlseRgcIAEoCRIUCgxpc1Jlc2VydmFibGUYHSABKAgSFAoMbGljZW5zZU1vZGVsGB4gASgJEhQKDGxvY2F0aW9uVHlwZRgfIAEoCRIfChdub3JtYWxpemF0aW9uU2l6ZUZhY3RvchggIAEoCRIXCg9vcGVyYXRpbmdTeXN0ZW0YISABKAkSFgoOcHJlSW5zdGFsbGVkU3cYIiABKAkSFQoNcHJpY2VDdXJyZW5jeRgjIAEoCRIXCg9wcm92aWRlclNlcnZpY2UYJCABKAkSFQoNcHJvdmlkZXJTa3VJZBglIAEoCRIXCg9wdWJsaWNhdGlvbkRhdGUYJiABKAkSDgoGcmVnaW9uGCcgASgJEg8KB3NlcnZpY2UYKCABKAkSDwoHdGVuYW5jeRgpIAEoCRIRCgl1c2FnZVR5cGUYKiABKAkSDwoHdmVyc2lvbhgrIAEoCRIcChR2cGNOZXR3b3JraW5nU3VwcG9ydBgsIAEoCBIZChFvbmRlbWFuZFVzYWdlVW5pdBgtIAEoCSJDChVMaXN0UmVzb3VyY2VzUmVzcG9uc2USKgoJcmVzb3VyY2VzGAEgAygLMhcuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZSLvAgoSUmVzb3VyY2VEYWlseVVzYWdlEgwKBGRhdGUYASABKAkSFgoOdXNhZ2VBY2NvdW50SWQYAiABKAkSFAoMc3ViQWNjb3VudElkGAMgASgJEg0KBXVzYWdlGAQgASgBEhgKEHJlc2VydmF0aW9uVXNhZ2UYBSABKAESFQoNZnJlZVRpZXJVc2FnZRgGIAEoARIUCgxvbmRlbWFuZENvc3QYByABKAESFAoMcmVzZXJ2ZWRDb3N0GAggASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GAkgASgBEhAKCHNwb3RDb3N0GAogASgBEhcKD2ZyZWVUaWVyU2F2aW5ncxgLIAEoARIRCgl1c2FnZVR5cGUYDCABKAkSFwoPY29tbW9uVXNhZ2VUeXBlGA0gASgJEhQKDGNvdmVyZWRVc2FnZRgOIAEoARIOCgZ1cHRpbWUYDyABKAESGQoRcHJvdmlkZXJVc2FnZVR5cGUYECABKAkiVgodR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVzcG9uc2USNQoKZGFpbHlVc2FnZRgBIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2VEYWlseVVzYWdlIoMQChJSZXNlcnZhYmxlUmVzb3VyY2USCgoCaWQYASABKAkSEgoKcmVzb3VyY2VJZBgCIAEoCRIYChBiaWxsaW5nQWNjb3VudElkGAMgASgJEhQKDHN1YkFjY291bnRJZBgEIAEoCRIQCghwcm92aWRlchgFIAEoCRIaChJwcm92aWRlclJlc291cmNlSWQYBiABKAkSFwoPcHJvdmlkZXJTZXJ2aWNlGAcgASgJEhUKDXByb3ZpZGVyU2t1SWQYCCABKAkSDgoGaXNTcG90GAkgASgIEhQKDGlzUmVzZXJ2YWJsZRgKIAEoCBIkCgRuYW1lGAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi0KDXJlc291cmNlR3JvdXAYDCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEAoIdXNhZ2VFbmQYDSABKAkSEgoKdXNhZ2VTdGFydBgOIAEoCRIlCgR0YWdzGA8gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBItCgxwcm92aWRlclRhZ3MYECABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCHVzZXJUYWdzGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCgljcmVhdGVkQXQYEiABKAkSEQoJdXBkYXRlZEF0GBMgASgJEhIKCmluc3RhbmNlSWQYFCABKAkSMAoQYXZhaWxhYmlsaXR5Wm9uZRgVIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIrCgtjYWNoZUVuZ2luZRgWIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIUCgxjYXRhbG9nU2t1SWQYFyABKAkSFwoPY2F0YWxvZ1NrdU9yZ0lkGBggASgJEiAKGGNsYXNzaWNOZXR3b3JraW5nU3VwcG9ydBgZIAEoCBISCgpjbG9ja1NwZWVkGBogASgJEhcKD2NvbW1vblVzYWdlVHlwZRgbIAEoCRIUCgxjb3ZlcmVkVXNhZ2UYHCABKAESLgoOZGF0YWJhc2VFbmdpbmUYHSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSHgoWZGVkaWNhdGVkRWJzVGhyb3VnaHB1dBgeIAEoCRIrCgtkZXNjcmlwdGlvbhgfIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRILCgNlY3UYICABKAkSIwobZW5oYW5jZWROZXR3b3JraW5nU3VwcG9ydGVkGCEgASgIEg4KBmZhbWlseRgiIAEoCRIWCg5mdWxsUmVnaW9uTmFtZRgjIAEoCRIYChBoYXNPbmRlbWFuZFRlcm1zGCQgASgIEg8KB2ljb25VcmwYJSABKAkSFQoNaW50ZWdyYXRpb25JZBgmIAEoCRIaChJpbnRlbEF2eDJBdmFpbGFibGUYJyABKAgSGQoRaW50ZWxBdnhBdmFpbGFibGUYKCABKAgSGwoTaW50ZWxUdXJib0F2YWlsYWJsZRgpIAEoCBIiCgJpbxgqIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIbChNpc0N1cnJlbnRHZW5lcmF0aW9uGCsgASgIEikKCWlzTXVsdGlBehgsIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIUCgxsaWNlbnNlTW9kZWwYLSABKAkSFAoMbG9jYXRpb25UeXBlGC4gASgJEg4KBm1lbW9yeRgvIAEoCRInCgdza3VOYW1lGDAgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhAKCHNrdVRpdGxlGDEgASgJEg8KB25ldENvc3QYMiABKAESEgoKbmV0U2F2aW5ncxgzIAEoARIaChJuZXR3b3JrUGVyZm9ybWFuY2UYNCABKAkSHwoXbm9ybWFsaXphdGlvblNpemVGYWN0b3IYNSABKAkSFAoMb25kZW1hbmRDb3N0GDYgASgBEhkKEW9uZGVtYW5kVXNhZ2VVbml0GDcgASgJEhcKD29wZXJhdGluZ1N5c3RlbRg4IAEoCRIRCglvcGVyYXRpb24YOSABKAkSGQoRcGh5c2ljYWxQcm9jZXNzb3IYOiABKAkSFgoOcHJlSW5zdGFsbGVkU3cYOyABKAkSFQoNcHJpY2VDdXJyZW5jeRg8IAEoCRIdChVwcm9jZXNzb3JBcmNoaXRlY3R1cmUYPSABKAkSGQoRcHJvY2Vzc29yRmVhdHVyZXMYPiABKAkSFwoPcHVibGljYXRpb25EYXRlGD8gASgJEg4KBnJlZ2lvbhhAIAEoCRIPCgdzZXJ2aWNlGEEgASgJEg4KBnNvdXJjZRhCIAEoCRIPCgdzdG9yYWdlGEMgASgJEicKB3RheFR5cGUYRCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDwoHdGVuYW5jeRhFIAEoCRIOCgZ1cHRpbWUYRiABKAESEQoJdXNhZ2VUeXBlGEcgASgJEgwKBHZjcHUYSCABKAkSDwoHdmVyc2lvbhhJIAEoCRIcChR2cGNOZXR3b3JraW5nU3VwcG9ydBhKIAEoCBIUCgxpbnN0YW5jZVR5cGUYSyABKAkSGgoSaW5zdGFuY2VUeXBlRmFtaWx5GEwgASgJEjYKC2RhaWx5VXNhZ2VzGE0gAygLMiEuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZURhaWx5VXNhZ2UiVwofTGlzdFJlc2VydmFibGVSZXNvdXJjZXNSZXNwb25zZRI0CglyZXNvdXJjZXMYASADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc2VydmFibGVSZXNvdXJjZSJ0CgdTZWdtZW50EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCWlzRGVmYXVsdBgEIAEoCBIRCgljcmVhdGVkQXQYBSABKAkiQAoOU2VnbWVudENyZWF0b3ISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAkiSwoMUHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhEKCWlzUmVuZXdhbBgEIAEoCCKlBQoOU2VnbWVudERldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIpCghwcm92aWRlchgEIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISFgoOY2xvdWRQcm92aWRlcnMYBSADKAkSEQoJaXNEZWZhdWx0GAYgASgIEhEKCWNyZWF0ZWRBdBgHIAEoCRIwCgljcmVhdGVkQnkYCCABKAsyHS5ibHVlYXBpLmdjLnYxLlNlZ21lbnRDcmVhdG9yEhAKCHBhcmVudElkGAkgASgJEg4KBnN0YXR1cxgKIAEoCRIUCgxzZWdtZW50Q2xhc3MYCyABKAkSJwoGcGFyYW1zGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBITCgttb250aGx5Q29zdBgNIAEoARIWCg5tb250aGx5TmV0Q29zdBgOIAEoARIgChhtb250aGx5SWZBbGxPbmRlbWFuZENvc3QYDyABKAESGwoTbW9udGhseU9uZGVtYW5kQ29zdBgQIAEoARIbChNtb250aGx5UmVzZXJ2ZWRDb3N0GBEgASgBEhcKD21vbnRobHlTcG90Q29zdBgSIAEoARIWCg5tb250aGx5U2F2aW5ncxgTIAEoARIVCg1tb250aGx5QnVkZ2V0GBQgASgBEhAKCGNvdmVyYWdlGBUgASgBEhsKE3JlY29tbWVuZGVkQ292ZXJhZ2UYFiABKAESFgoOdGFyZ2V0Q292ZXJhZ2UYFyABKAESHAoUbW9udGhseVJlc291cmNlQ291bnQYGCABKAUSMgoNcHVyY2hhc2VQbGFucxgZIAMoCzIbLmJsdWVhcGkuZ2MudjEuUHVyY2hhc2VQbGFuIngKDENvbnRyYWN0U3BlYxIWCg5jb21taXRtZW50VHlwZRgBIAEoCRIVCg1wYXltZW50T3B0aW9uGAIgASgJEgwKBHRlcm0YAyABKAkSKwoKcHJvcGVydGllcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi3gIKC1BsYW5TdW1tYXJ5EgsKA2tleRgBIAEoCRIQCghwcm92aWRlchgCIAEoCRIWCg5udW1Db21taXRtZW50cxgDIAEoBRIVCg1taW5Db21taXRtZW50GAQgASgBEhkKEW1vbnRobHlDb21taXRtZW50GAUgASgBEhMKC3VwZnJvbnRDb3N0GAYgASgBEhIKCm1pblNhdmluZ3MYByABKAESEgoKbWF4U2F2aW5ncxgIIAEoARIWCg5tb250aGx5U2F2aW5ncxgJIAEoARIUCgxtaW5UZXJtSG91cnMYCiABKAUSFAoMbWF4VGVybUhvdXJzGAsgASgFEhMKC2dyaVByZW1pdW1zGAwgASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgNIAEoARIZChFhZnRlck9uZGVtYW5kQ29zdBgOIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgPIAEoASLlAgoOU2VydmljZVN1bW1hcnkSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSEwoLc2VydmljZU5hbWUYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSFgoObnVtQ29tbWl0bWVudHMYBSABKAUSFwoPY3VycmVudENvdmVyYWdlGAYgASgBEhkKEXBvdGVudGlhbENvdmVyYWdlGAcgASgBEhUKDW1pbkNvbW1pdG1lbnQYCCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYCSABKAESEwoLdXBmcm9udENvc3QYCiABKAESEgoKbWluU2F2aW5ncxgLIAEoARISCgptYXhTYXZpbmdzGAwgASgBEhYKDm1vbnRobHlTYXZpbmdzGA0gASgBEhQKDG1pblRlcm1Ib3VycxgOIAEoBRIUCgxtYXhUZXJtSG91cnMYDyABKAUSEgoKZ3JpUHJlbWl1bRgQIAEoASLaAQoQQWdncmVnYXRlTWV0cmljcxIXCg9jdXJyZW50Q292ZXJhZ2UYASABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYAiABKAESQQoJc3VtbWFyaWVzGAMgAygLMi4uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzLlN1bW1hcmllc0VudHJ5Gk8KDlN1bW1hcmllc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VydmljZVN1bW1hcnk6AjgBIs4LChNEZWZhdWx0UHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJc2VnbWVudElkGAUgASgJEicKB3NlZ21lbnQYBiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQSDgoGc3RhdHVzGAcgASgJEhAKCHBsYW5UeXBlGAggASgJEhEKCWNyZWF0ZWRBdBgJIAEoCRIUCgxsYXN0TW9kaWZpZWQYCiABKAkSKQoJY3JlYXRlZEJ5GAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi8KD2V4ZWN1dGlvblBvbGljeRgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglpc0RlZmF1bHQYDSABKAgSFQoNaXNSZWNvbW1lbmRlZBgOIAEoCBIRCglpc1JlbmV3YWwYDyABKAgSFQoNaXNDYWxjdWxhdGluZxgQIAEoCBIQCghpc0xvY2tlZBgRIAEoCBIPCgdpc1NhdmVkGBIgASgIEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgTIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgUIAMoCRIPCgdtYXhUZXJtGBUgASgJEh4KFnByZWZlcnJlZFBheW1lbnRPcHRpb24YFiABKAkSFgoObWF4VXBmcm9udENvc3QYFyABKAESIgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYGCABKAESPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGBkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCXN0YXJ0RGF0ZRgaIAEoCRIPCgdlbmREYXRlGBsgASgJEhIKCmRhdGFTb3VyY2UYHCABKAkSEgoKYmVmb3JlQ29zdBgdIAEoARIRCglhZnRlckNvc3QYHiABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GB8gASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBggIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GCEgASgBEhUKDWFtb3J0aXplZENvc3QYIiABKAESFQoNcmVjdXJyaW5nQ29zdBgjIAEoARITCgt1cGZyb250Q29zdBgkIAEoARIRCgl0b3RhbENvc3QYJSABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgmIAEoARIPCgdzYXZpbmdzGCcgASgBEhYKDm1vbnRobHlTYXZpbmdzGCggASgBEhQKDHRvdGFsU2F2aW5ncxgpIAEoARILCgNmZWUYKiABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGCsgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgsIAEoARIWCg5icmVha2V2ZW5Ib3VycxgtIAEoARI5ChBhZ2dyZWdhdGVNZXRyaWNzGC4gASgLMh8uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzEi0KCXN1bW1hcmllcxgvIAMoCzIaLmJsdWVhcGkuZ2MudjEuUGxhblN1bW1hcnkSFgoOcmVzZXJ2YXRpb25JZHMYMCADKAkSEwoLcmVzb3VyY2VJZHMYMSADKAkSFgoOZmxhZ2dlZEFjdGlvbnMYMiADKAkSEgoKbWV0YVBsYW5JZBgzIAEoCRISCgpjb3ZlcmFnZUlkGDQgASgJEhgKEG1vbnRobHlBZnRlckNvc3QYNSABKAESHAoUbW9udGhseUFtb3J0aXplZENvc3QYNiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYNyABKAESEgoKbW9udGhseUZlZRg4IAEoARIQCghhbGxUZXJtcxg5IAMoCSJXCiJMaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIl0KKEdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQQoPUGxhbkhpc3RvcnlVc2VyEgoKAmlkGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJEhAKCGZ1bGxOYW1lGAMgASgJIvcBChBQbGFuSGlzdG9yeUVudHJ5EgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSDQoFb3JnSWQYAyABKAkSFwoPcmVsYXRlZE9iamVjdElkGAQgASgJEhkKEXJlbGF0ZWRPYmplY3RUeXBlGAUgASgJEhEKCXRpbWVzdGFtcBgGIAEoCRIMCgR0eXBlGAcgASgJEg4KBnVzZXJJZBgIIAEoCRIkCgRkYXRhGAkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiwKBHVzZXIYCiABKAsyHi5ibHVlYXBpLmdjLnYxLlBsYW5IaXN0b3J5VXNlciKEAgoTUmVnaXN0ZXJPcmdSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEi4KC21lbWJlcnNoaXBzGAMgAygLMhkuYmx1ZWFwaS5nYy52MS5NZW1iZXJzaGlwEg4KBmRvbWFpbhgEIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgFIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgGIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAcgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAggASgJIjIKGlN0YXJ0QXdzT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCSJRCiRHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2USKQoIdGVtcGxhdGUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IisKHEdldEF3c0xhdW5jaFN0YWNrVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIo8EChtWZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2USVAoGY2hlY2tzGAEgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxqZAwoZQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIPCgdmZWF0dXJlGAEgASgJEm8KBnN0YXR1cxgCIAEoDjJfLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2suQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMi+QEKGkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzEi0KKUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfQVZBSUxBQkxFEAESKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfV0FSTklORxACEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX01JU1NJTkcQAxIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTktOT1dOEAQinAUKG0dldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZRINCgVmb3VuZBgBIAEoCBINCgVpc01zcBgCIAEoCBIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZ2NPcmdJZBgEIAEoCRIUCgxvbmJvYXJkaW5nSWQYBSABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgGIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSEQoJYWNjb3VudElkGAcgASgJEhYKDmJpbGxpbmdHcm91cElkGAggASgJEhEKCWNvbXBhbnlJZBgJIAEoCRJgChJ2ZXJpZmljYXRpb25DaGVja3MYCiADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIpUCChBPbmJvYXJkaW5nU3RhdHVzEiEKHU9OQk9BUkRJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJAogT05CT0FSRElOR19TVEFUVVNfTk9UX1JFR0lTVEVSRUQQARIgChxPTkJPQVJESU5HX1NUQVRVU19SRUdJU1RFUkVEEAISKAokT05CT0FSRElOR19TVEFUVVNfT05CT0FSRElOR19TVEFSVEVEEAMSHgoaT05CT0FSRElOR19TVEFUVVNfVkVSSUZJRUQQBBInCiNPTkJPQVJESU5HX1NUQVRVU19WRVJJRllfSU5DT01QTEVURRAFEiMKH09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9GQUlMRUQQBiKOAwoTUGF5ZXJBY2NvdW50RGV0YWlscxIRCglhY2NvdW50SWQYASABKAkSEwoLYWNjb3VudE5hbWUYAiABKAkSIAoYcmlwcGxlUmVnaXN0cmF0aW9uU3RhdHVzGAMgASgJElIKDWdjU2V0dXBTdGF0dXMYBCABKA4yOy5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZS5PbmJvYXJkaW5nU3RhdHVzEmAKEnZlcmlmaWNhdGlvbkNoZWNrcxgFIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSJQodbWFya2V0cGxhY2VQcml2YXRlT2ZmZXJTdGF0dXMYBiABKAkSIQoZbWFya2V0cGxhY2VQcml2YXRlT2ZmZXJJZBgHIAEoCRItCiVtYXJrZXRwbGFjZVByaXZhdGVPZmZlckV4cGlyYXRpb25EYXRlGAggASgJIqgFChlMaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlEkwKDXBheWVyQWNjb3VudHMYASADKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50Ej8KE3BheWVyQWNjb3VudERldGFpbHMYAiADKAsyIi5ibHVlYXBpLmdjLnYxLlBheWVyQWNjb3VudERldGFpbHMa+gIKDFBheWVyQWNjb3VudBIRCglhY2NvdW50SWQYASABKAkSEwoLYWNjb3VudE5hbWUYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJc2VnbWVudElkGAQgASgJEksKBnN0YXR1cxgFIAEoDjI7LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnRTdGF0dXMSEQoJY29tcGFueUlkGAYgASgJElUKEG9uYm9hcmRpbmdTdGF0dXMYByABKA4yOy5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZS5PbmJvYXJkaW5nU3RhdHVzEmAKEnZlcmlmaWNhdGlvbkNoZWNrcxgIIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sifwoSUGF5ZXJBY2NvdW50U3RhdHVzEiQKIFBBWUVSX0FDQ09VTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIAocUEFZRVJfQUNDT1VOVF9TVEFUVVNfRU5BQkxFRBABEiEKHVBBWUVSX0FDQ09VTlRfU1RBVFVTX0RJU0FCTEVEEAIibQoeU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlc3BvbnNlEksKDHBheWVyQWNjb3VudBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQibAodR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCK2BQoZTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZRJMCg1iaWxsaW5nR3JvdXBzGAEgAygLMjUuYmx1ZWFwaS5nYy52MS5MaXN0QmlsbGluZ0dyb3Vwc1Jlc3BvbnNlLkJpbGxpbmdHcm91cBrJAwoMQmlsbGluZ0dyb3VwEhEKCWNvbXBhbnlJZBgBIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIYChBiaWxsaW5nR3JvdXBOYW1lGAMgASgJEhMKC2NvbXBhbnlOYW1lGAQgASgJEhYKDnBheWVyQWNjb3VudElkGAUgASgJEhgKEHBheWVyQWNjb3VudE5hbWUYBiABKAkSEQoJc2VnbWVudElkGAcgASgJEhQKDHJlc291cmNlVHlwZRgIIAEoCRJLCgZzdGF0dXMYCSABKA4yOy5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwU3RhdHVzElUKEG9uYm9hcmRpbmdTdGF0dXMYCiABKA4yOy5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZS5PbmJvYXJkaW5nU3RhdHVzEmAKEnZlcmlmaWNhdGlvbkNoZWNrcxgLIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sifwoSQmlsbGluZ0dyb3VwU3RhdHVzEiQKIEJJTExJTkdfR1JPVVBfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIAocQklMTElOR19HUk9VUF9TVEFUVVNfRU5BQkxFRBABEiEKHUJJTExJTkdfR1JPVVBfU1RBVFVTX0RJU0FCTEVEEAIibAodU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVzcG9uc2USSwoMYmlsbGluZ0dyb3VwGAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0QmlsbGluZ0dyb3Vwc1Jlc3BvbnNlLkJpbGxpbmdHcm91cCJsCh1HZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZRJLCgxiaWxsaW5nR3JvdXAYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwIloKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIMCgRjb2RlGAMgASgJEg8KB2RldGFpbHMYBCADKAkizgEKGkdldEF3c1ByaXZhdGVPZmZlclJlc3BvbnNlEhYKDnBheWVyQWNjb3VudElkGAEgASgJEg8KB29mZmVySWQYAiABKAkSEQoJb2ZmZXJOYW1lGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIQCghvZmZlclVybBgFIAEoCRIRCglwcm9kdWN0SWQYBiABKAkSFAoMcHJpY2VQZXJVbml0GAcgASgBEhEKCWNyZWF0ZWRBdBgIIAEoCRIWCg5leHBpcmF0aW9uRGF0ZRgJIAEoCSJTCh5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQgofRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZRIOCgZwbGFuSWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCCI0CiNHZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXNwb25zZRINCgV0eXBlcxgBIAMoCSLdAQoqR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlEhEKCWxhdW5jaFVybBgBIAEoCRITCgt0ZW1wbGF0ZVVybBgCIAEoCRIRCglzdGFja05hbWUYAyABKAkSEQoJcHJpbmNpcGFsGAQgASgJEhIKCmV4dGVybmFsSWQYBSABKAkSJQodZ3VhcmFudGVlZENvbW1pdG1lbnRQcmluY2lwYWwYBiABKAkSJgoeZ3VhcmFudGVlZENvbW1pdG1lbnRFeHRlcm5hbElkGAcgASgJIr4CCihDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlEg4KBnRhcmdldBgBIAEoCRIVCg1yaXBwbGVSb2xlQXJuGAIgASgJEhgKEHJpcHBsZUV4dGVybmFsSWQYAyABKAkSIwobZ3VhcmFudGVlZENvbW1pdG1lbnRSb2xlQXJuGAQgASgJEiYKHmd1YXJhbnRlZWRDb21taXRtZW50RXh0ZXJuYWxJZBgFIAEoCRIPCgdzdGFja0lkGAYgASgJEhMKC3N0YWNrUmVnaW9uGAcgASgJEhMKC3RlbXBsYXRlVXJsGAggASgJEg4KBnN0YXR1cxgJIAEoCRITCgtsYXN0VXBkYXRlZBgKIAEoCRIkChxndWFyYW50ZWVkQ29tbWl0bWVudFZlcmlmaWVkGAsgASgIIoQCCh9HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1Jlc3BvbnNlEjAKBHBsYW4YASABKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4SOAoJbGluZUl0ZW1zGAIgAygLMiUuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkxpbmVJdGVtEkMKD3Jlc291cmNlTWF0Y2hlcxgDIAMoCzIqLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoEjAKB2hpc3RvcnkYBCADKAsyHy5ibHVlYXBpLmdjLnYxLlBsYW5IaXN0b3J5RW50cnkiVwoiQ3JlYXRlQ3VzdG9tQ29tbWl0bWVudFBsYW5SZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJ6ChxBenVyZUFyY2hlcmFPcmdGZWF0dXJlU3RhdHVzEiYKBmRldGFpbBgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIPCgdmZWF0dXJlGAIgASgJEg4KBnN0YXR1cxgDIAEoCRIRCgl1cGRhdGVkQXQYBCABKAkiVgoaQXp1cmVBcmNoZXJhT3JnTGVhc2VCdWRnZXQSDgoGYnVkZ2V0GAEgASgBEhEKCWNyZWF0ZWRBdBgCIAEoCRIVCg1taW5UZXJtTW9udGhzGAMgASgFIp4LCg9BenVyZUFyY2hlcmFPcmcSHgoWYXBwbHlCYWxhbmNlVG9QcmVtaXVtcxgBIAEoCBITCgthdXRoU3NvT25seRgCIAEoCBI3Chdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgDIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI5ChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg8KB2JhbGFuY2UYBSABKAESFQoNYmlsbGluZ0FjdGl2ZRgGIAEoCBIaChJjaGFubmVsUGFydG5lclR5cGUYByABKAkSMgoSY2hhbm5lbFBhcnRuZXJzaGlwGAggASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEisKC2NvbnRyYWN0RW5kGAkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNyZWF0ZWRBdBgKIAEoCRIoCghjdXJyZW5jeRgLIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIXCg9kZWZhdWx0VXNlclJvbGUYDCABKAkSLAoMZGlzY291bnRJbmZvGA0gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg4KBmRvbWFpbhgOIAEoCRItCg1lZmZlY3RpdmVEYXRlGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEkQKD2ZlYXR1cmVTdGF0dXNlcxgQIAMoCzIrLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnRmVhdHVyZVN0YXR1cxIQCghmZWF0dXJlcxgRIAMoCRIqCgpmcnVnYWxNb2RlGBIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjcKF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhMKC2hhc0Rpc2NvdW50GBQgASgIEg8KB2hhc0dyaXMYFSABKAgSIQoZaGFzVGRzUGFjUHJveHlDcmVkZW50aWFscxgWIAEoCBIKCgJpZBgXIAEoCRIfChdpc0xlYXNlQnV5YmFja0F1dG9tYXRlZBgYIAEoCBIcChRpc0xlYXNlU3dhcEF1dG9tYXRlZBgZIAEoCBIVCg1pc1Rkc1BhY1Byb3h5GBogASgIEj4KC2xlYXNlQnVkZ2V0GBsgASgLMikuYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmdMZWFzZUJ1ZGdldBIgChhsZWFzZUJ1eWJhY2tMb29rYmFja0RheXMYHCABKAUSHQoVbGVhc2VTd2FwTG9va2JhY2tEYXlzGB0gASgFEgwKBG5hbWUYHiABKAkSKQoJcGFydG5lcklkGB8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCXBsYW5UcmlhbBggIAEoCBIYChBwbGFuVHJpYWxFeHBpcmVzGCEgASgJEhYKDnBsYW5UeXBlQ2hvc2VuGCIgASgJEhkKEXBsYW5UeXBlRWZmZWN0aXZlGCMgASgJEi4KDnByaW1hcnlBZGRyZXNzGCQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi0KDXByb21vdGlvbkNvZGUYJSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSWgoWcHJvdmlkZXJSb290U2VnbWVudElkcxgmIAMoCzI6LmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnLlByb3ZpZGVyUm9vdFNlZ21lbnRJZHNFbnRyeRo9ChtQcm92aWRlclJvb3RTZWdtZW50SWRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJUChhBenVyZU9uYm9hcmRpbmdDcmVhdGVkQnkSFAoMb25ib2FyZGluZ0lkGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJEhAKCGZ1bGxOYW1lGAMgASgJIrIHChRBenVyZU9uYm9hcmRpbmdTdGF0ZRIUCgxvbmJvYXJkaW5nSWQYASABKAkSDQoFb3JnSWQYAiABKAkSEAoIcHJvdmlkZXIYAyABKAkSEQoJY29tcGxldGVkGAQgASgIEhEKCWNyZWF0ZWRBdBgFIAEoCRI6CgljcmVhdGVkQnkYBiABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIrCgtpbnRlZ3JhdGlvbhgHIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIVCg1pbnRlZ3JhdGlvbklkGAggASgJEhoKEmFyY2hlcmFPdXRib3VuZElwcxgJIAMoCRIQCgh0ZW5hbnRJZBgKIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgLIAEoCRISCgphY2NvdW50SWRzGAwgAygJEhMKC2FjY291bnRLaW5kGA0gASgJEjAKEGFwcEF1dGhWYWxpZGF0ZWQYDiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLQoNYXBwQXV0aG9yaXplZBgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIVCg1ibG9iQ29udGFpbmVyGBAgASgJEhUKDXJlc291cmNlR3JvdXAYESABKAkSFgoOc3RvcmFnZUFjY291bnQYEiABKAkSEAoIcm9sZU5hbWUYEyABKAkSLwoPY3JlYXRlUmVzb3VyY2VzGBQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjQKFG1hcmtldHBsYWNlQ29tcGxldGVkGBUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi8KD3Blcm1pc3Npb25MZXZlbBgWIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIzChNyZXNvdXJjZUdyb3VwUmVnaW9uGBcgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjQKFHN0b3JhZ2VBY2NvdW50UmVnaW9uGBggASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjEKEXJlc291cmNlR3JvdXBUYWdzGBkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjIKEnN0b3JhZ2VBY2NvdW50VGFncxgaIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIrCgNvcmcYGyABKAsyHi5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZyKTAQocU3RhcnRBenVyZU9uYm9hcmRpbmdSZXNwb25zZRIUCgxvbmJvYXJkaW5nSWQYASABKAkSMgoFc3RhdGUYAiABKAsyIy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ1N0YXRlEhYKDmJpbGxpbmdHcm91cElkGAMgASgJEhEKCWNvbXBhbnlJZBgEIAEoCSIwCiFHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJInYKDEF6dXJlQWNjb3VudBIRCglhY2NvdW50SWQYASABKAkSEwoLYWNjb3VudE5hbWUYAiABKAkSFQoNYWNjb3VudFN0YXR1cxgDIAEoCRITCgthY2NvdW50VHlwZRgEIAEoCRISCgppc0VsaWdpYmxlGAUgASgIIlQKI0xpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1Jlc3BvbnNlEi0KCGFjY291bnRzGAEgAygLMhsuYmx1ZWFwaS5nYy52MS5BenVyZUFjY291bnQiUAodQXp1cmVJbnRlZ3JhdGlvbkZlYXR1cmVTdGF0dXMSDwoHZmVhdHVyZRgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDgoGZGV0YWlsGAMgAygJIsIBChpBenVyZUludGVncmF0aW9uT25ib2FyZGluZxIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIVCg1pbnRlZ3JhdGlvbklkGAQgASgJEhEKCWNvbXBsZXRlZBgFIAEoCBIRCgljcmVhdGVkQXQYBiABKAkSOgoJY3JlYXRlZEJ5GAcgASgLMicuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdDcmVhdGVkQnki7gQKEEF6dXJlSW50ZWdyYXRpb24SCgoCaWQYASABKAkSDgoGYWN0aXZlGAIgASgIEgwKBG5hbWUYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSDAoEdHlwZRgFIAEoCRINCgVvcmdJZBgGIAEoCRIOCgZ1c2VySWQYByABKAkSEQoJY3JlYXRlZEF0GAggASgJEhEKCXVwZGF0ZWRBdBgJIAEoCRIgChhtYW5hZ2VtZW50U3Vic2NyaXB0aW9uSWQYCiABKAkSHgoWcHJvdmlkZXJPcmdhbml6YXRpb25JZBgLIAEoCRIVCg1ibG9iQ29udGFpbmVyGAwgASgJEhUKDXJlc291cmNlR3JvdXAYDSABKAkSFgoOc3RvcmFnZUFjY291bnQYDiABKAkSGAoQY29zdEV4cG9ydEZvcm1hdBgPIAEoCRIXCg9jdXJFYXJsaWVzdERhdGEYECABKAkSFQoNY3VyUmVwb3J0TmFtZRgRIAEoCRIRCgljdXJVc2FibGUYEiABKAgSFAoMaGFzQ3VyQWNjZXNzGBMgASgIEiAKGGhhc0Z1bGxSZXNlcnZhdGlvbkFjY2VzcxgUIAEoCBJFCg9mZWF0dXJlU3RhdHVzZXMYFSADKAsyLC5ibHVlYXBpLmdjLnYxLkF6dXJlSW50ZWdyYXRpb25GZWF0dXJlU3RhdHVzEj4KC29uYm9hcmRpbmdzGBYgAygLMikuYmx1ZWFwaS5nYy52MS5BenVyZUludGVncmF0aW9uT25ib2FyZGluZxInCgZjb25maWcYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrQBCh5DcmVhdGVBenVyZUludGVncmF0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIRCgllcnJvckNvZGUYAiABKAkSFAoMZXJyb3JNZXNzYWdlGAMgASgJEhUKDWludGVncmF0aW9uSWQYBCABKAkSFgoOYmlsbGluZ0dyb3VwSWQYBSABKAkSEQoJY29tcGFueUlkGAYgASgJEhYKDnBheWVyQWNjb3VudElkGAcgASgJIlYKHUxpc3RBenVyZUludGVncmF0aW9uc1Jlc3BvbnNlEjUKDGludGVncmF0aW9ucxgBIAMoCzIfLmJsdWVhcGkuZ2MudjEuQXp1cmVJbnRlZ3JhdGlvbipeCghQcm92aWRlchIYChRQUk9WSURFUl9VTlNQRUNJRklFRBAAEgcKA0FXUxABEgkKBUFaVVJFEAISBwoDR0NQEAMSDgoKS1VCRVJORVRFUxAEEgsKB1VOS05PV04QBSqYAQoQQ29tbWl0bWVudFN0YXR1cxIhCh1DT01NSVRNRU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEgcKA05FVxABEgwKCFJFVklFV0VEEAISDQoJU0NIRURVTEVEEAMSDQoJQ09NUExFVEVEEAQSCQoFRFJBRlQQBRIQCgxORUVEU19SRVZJRVcQBhIPCgtJTl9QUk9HUkVTUxAHKooBChlDb21taXRtZW50SW52ZW50b3J5U3RhdHVzEisKJ0NPTU1JVE1FTlRfSU5WRU5UT1JZX1NUQVRVU19VTlNQRUNJRklFRBAAEgoKBkFDVElWRRABEgsKB1JFVElSRUQQAhITCg9QQVlNRU5UX1BFTkRJTkcQAxISCg5QQVlNRU5UX0ZBSUxFRBAEKkMKBVNjb3BlEhUKEVNDT1BFX1VOU1BFQ0lGSUVEEAASCgoGU0hBUkVEEAESDAoIUkVHSU9OQUwQAhIJCgVaT05BTBADKkEKCVVzYWdlVHlwZRIaChZVU0FHRV9UWVBFX1VOU1BFQ0lGSUVEEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAjL+MwoVR3VhcmFudGVlZENvbW1pdG1lbnRzEmMKCExpc3RPcmdzEh4uYmx1ZWFwaS5nYy52MS5MaXN0T3Jnc1JlcXVlc3QaEi5ibHVlYXBpLmdjLnYxLk9yZyIhgtPkkwIbOgEqIhYvdjEvb3JnYW5pemF0aW9uczpyZWFkMAESlwEKFENvbW1pdG1lbnRzUGxhbkFwcGx5EikuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkFwcGx5UmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIi6C0+STAig6ASoiIy92MS9jb21taXRtZW50cy9wbGFuL3twbGFuSWR9L2FwcGx5EnkKD0xpc3RDb21taXRtZW50cxIlLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVxdWVzdBomLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVzcG9uc2UiF4LT5JMCERIPL3YxL2NvbW1pdG1lbnRzEpcBChNHZXRDb21taXRtZW50c0NoYXJ0EikuYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBonLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNDaGFydFJlc3BvbnNlIiyC0+STAiYSJC92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS9jaGFydBKvAQoZR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvbhIvLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXNwb25zZSIygtPkkwIsEiovdjEvY29tbWl0bWVudHMve2NvbW1pdG1lbnRJZH0vdXRpbGl6YXRpb24SYwoKR2V0TWV0cmljcxIgLmJsdWVhcGkuZ2MudjEuR2V0TWV0cmljc1JlcXVlc3QaHi5ibHVlYXBpLmdjLnYxLk1ldHJpY3NSZXNwb25zZSITgtPkkwINEgsvdjEvbWV0cmljcxJxCg1MaXN0UmVzb3VyY2VzEiMuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuTGlzdFJlc291cmNlc1Jlc3BvbnNlIhWC0+STAg8SDS92MS9yZXNvdXJjZXMSoQEKFUdldFJlc291cmNlRGFpbHlVc2FnZRIrLmJsdWVhcGkuZ2MudjEuR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVzcG9uc2UiLYLT5JMCJxIlL3YxL3Jlc291cmNlcy97cmVzb3VyY2VJZH0vZGFpbHl1c2FnZRKbAQoXTGlzdFJlc2VydmFibGVSZXNvdXJjZXMSLS5ibHVlYXBpLmdjLnYxLkxpc3RSZXNlcnZhYmxlUmVzb3VyY2VzUmVxdWVzdBouLmJsdWVhcGkuZ2MudjEuTGlzdFJlc2VydmFibGVSZXNvdXJjZXNSZXNwb25zZSIhgtPkkwIbEhkvdjEvY29tbWl0bWVudHMvcmVzb3VyY2VzEqgBChpMaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudBIwLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0GjEuYmx1ZWFwaS5nYy52MS5MaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlc3BvbnNlIiWC0+STAh8SHS92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zEsQBCiBHZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudBI2LmJsdWVhcGkuZ2MudjEuR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0GjcuYmx1ZWFwaS5nYy52MS5HZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zOnVwZGF0ZRKoAQoXR2V0UHVyY2hhc2VQbGFuc0RldGFpbHMSLS5ibHVlYXBpLmdjLnYxLkdldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVxdWVzdBouLmJsdWVhcGkuZ2MudjEuR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXNwb25zZSIugtPkkwIoEiYvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucy97cGxhbklkfRKrAQoaU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnQSMC5ibHVlYXBpLmdjLnYxLlNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0UmVxdWVzdBoiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiI3gtPkkwIxOgEqIiwvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucy9kcmFmdC97cGxhbklkfRKiAQoWTGlzdERyYWZ0UHVyY2hhc2VQbGFucxIsLmJsdWVhcGkuZ2MudjEuTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1JlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXNwb25zZSIrgtPkkwIlEiMvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucy9kcmFmdBKzAQoXRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW4SLS5ibHVlYXBpLmdjLnYxLkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVxdWVzdBouLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZSI5gtPkkwIzKjEvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucy9kcmFmdC97ZHJhZnRQbGFuSWR9EroBChtHZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXMSMS5ibHVlYXBpLmdjLnYxLkdldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlc1JlcXVlc3QaMi5ibHVlYXBpLmdjLnYxLkdldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlc1Jlc3BvbnNlIjSC0+STAi4SLC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2F2YWlsYWJsZXR5cGVzErIBChpDcmVhdGVDdXN0b21Db21taXRtZW50UGxhbhIwLmJsdWVhcGkuZ2MudjEuQ3JlYXRlQ3VzdG9tQ29tbWl0bWVudFBsYW5SZXF1ZXN0GjEuYmx1ZWFwaS5nYy52MS5DcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2N1c3RvbRJvCgtSZWdpc3Rlck9yZxIhLmJsdWVhcGkuZ2MudjEuUmVnaXN0ZXJPcmdSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1Jlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9vbmJvYXJkaW5nEo4BChJTdGFydEF3c09uYm9hcmRpbmcSKC5ibHVlYXBpLmdjLnYxLlN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QaKS5ibHVlYXBpLmdjLnYxLlN0YXJ0QXdzT25ib2FyZGluZ1Jlc3BvbnNlIiOC0+STAh06ASoiGC92MS9vbmJvYXJkaW5nL2F3cy9zdGFydBK7AQocR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZRIyLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QaMy5ibHVlYXBpLmdjLnYxLkdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXNwb25zZSIygtPkkwIsEiovdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vdGVtcGxhdGUSqQEKFEdldEF3c0xhdW5jaFN0YWNrVXJsEiouYmx1ZWFwaS5nYy52MS5HZXRBd3NMYXVuY2hTdGFja1VybFJlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVzcG9uc2UiOILT5JMCMhIwL3YxL29uYm9hcmRpbmcvYXdzL2Nsb3VkZm9ybWF0aW9uL2xhdW5jaHN0YWNrdXJsEpIBChNWZXJpZnlBd3NPbmJvYXJkaW5nEikuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVxdWVzdBoqLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlIiSC0+STAh46ASoiGS92MS9vbmJvYXJkaW5nL2F3cy92ZXJpZnkSkwEKE0dldE9uYm9hcmRpbmdTdGF0dXMSKS5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL29uYm9hcmRpbmcvc3RhdHVzOnJlYWQSiAEKEUxpc3RQYXllckFjY291bnRzEicuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QaKC5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UiIILT5JMCGhIYL3YxL21hbmFnZW1lbnRzL2FjY291bnRzEqYBChZTZXRQYXllckFjY291bnRFbmFibGVkEiwuYmx1ZWFwaS5nYy52MS5TZXRQYXllckFjY291bnRFbmFibGVkUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9tYW5hZ2VtZW50cy9hY2NvdW50cy97Y29tcGFueUlkfRKbAQoVR2V0UGF5ZXJBY2NvdW50U3RhdHVzEisuYmx1ZWFwaS5nYy52MS5HZXRQYXllckFjY291bnRTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZSIngtPkkwIhEh8vdjEvbWFuYWdlbWVudHMvYWNjb3VudHMvc3RhdHVzEo0BChFMaXN0QmlsbGluZ0dyb3VwcxInLmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXF1ZXN0GiguYmx1ZWFwaS5nYy52MS5MaXN0QmlsbGluZ0dyb3Vwc1Jlc3BvbnNlIiWC0+STAh8SHS92MS9tYW5hZ2VtZW50cy9iaWxsaW5nZ3JvdXBzEqgBChVTZXRCaWxsaW5nR3JvdXBTdGF0dXMSKy5ibHVlYXBpLmdjLnYxLlNldEJpbGxpbmdHcm91cFN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLlNldEJpbGxpbmdHcm91cFN0YXR1c1Jlc3BvbnNlIjSC0+STAi46ASoiKS92MS9tYW5hZ2VtZW50cy9iaWxsaW5nZ3JvdXBzL3tjb21wYW55SWR9EqABChVHZXRCaWxsaW5nR3JvdXBTdGF0dXMSKy5ibHVlYXBpLmdjLnYxLkdldEJpbGxpbmdHcm91cFN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldEJpbGxpbmdHcm91cFN0YXR1c1Jlc3BvbnNlIiyC0+STAiYSJC92MS9tYW5hZ2VtZW50cy9iaWxsaW5nZ3JvdXBzL3N0YXR1cxKgAQoUVmFsaWRhdGVCaWxsaW5nR3JvdXASKi5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvb25ib2FyZGluZy9iaWxsaW5nZ3JvdXA6dmFsaWRhdGUSowEKEkdldEF3c1ByaXZhdGVPZmZlchIoLmJsdWVhcGkuZ2MudjEuR2V0QXdzUHJpdmF0ZU9mZmVyUmVxdWVzdBopLmJsdWVhcGkuZ2MudjEuR2V0QXdzUHJpdmF0ZU9mZmVyUmVzcG9uc2UiOILT5JMCMhIwL3YxL29uYm9hcmRpbmcvYXdzL3ByaXZhdGVvZmZlci97cGF5ZXJBY2NvdW50SWR9Es8BCiJHZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsEjguYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVxdWVzdBo5LmJsdWVhcGkuZ2MudjEuR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlIjSC0+STAi4SLC92MS9vbmJvYXJkaW5nL2F3cy9jZnRlbXBsYXRlL2d1YXJhbnRlZWQ6dXJsEsgBCiBDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2VzcxI2LmJsdWVhcGkuZ2MudjEuQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0GjcuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlIjOC0+STAi06ASoiKC92MS9vbmJvYXJkaW5nL2F3cy9jZnRlbXBsYXRlL2d1YXJhbnRlZWQSlgEKFFN0YXJ0QXp1cmVPbmJvYXJkaW5nEiouYmx1ZWFwaS5nYy52MS5TdGFydEF6dXJlT25ib2FyZGluZ1JlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLlN0YXJ0QXp1cmVPbmJvYXJkaW5nUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL29uYm9hcmRpbmcvYXp1cmUvc3RhcnQSoAEKFVVwZGF0ZUF6dXJlT25ib2FyZGluZxIrLmJsdWVhcGkuZ2MudjEuVXBkYXRlQXp1cmVPbmJvYXJkaW5nUmVxdWVzdBojLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUiNYLT5JMCLzoBKiIqL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH06dXBkYXRlErMBChlHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsEi8uYmx1ZWFwaS5nYy52MS5HZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVxdWVzdBowLmJsdWVhcGkuZ2MudjEuR2V0QXp1cmVPbmJvYXJkaW5nQXV0aFVybFJlc3BvbnNlIjOC0+STAi0SKy92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L2F1dGh1cmwSpgEKF1ZhbGlkYXRlQXp1cmVBcHBJbnN0YWxsEi0uYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUF6dXJlQXBwSW5zdGFsbFJlcXVlc3QaIy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ1N0YXRlIjeC0+STAjE6ASoiLC92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L3ZhbGlkYXRlEroBChtMaXN0QXp1cmVPbmJvYXJkaW5nQWNjb3VudHMSMS5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1Jlc3BvbnNlIjSC0+STAi4SLC92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L2FjY291bnRzEqIBChZDcmVhdGVBenVyZUludGVncmF0aW9uEiwuYmx1ZWFwaS5nYy52MS5DcmVhdGVBenVyZUludGVncmF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ3JlYXRlQXp1cmVJbnRlZ3JhdGlvblJlc3BvbnNlIiuC0+STAiU6ASoiIC92MS9vbmJvYXJkaW5nL2F6dXJlL2ludGVncmF0aW9uEp0BChVMaXN0QXp1cmVJbnRlZ3JhdGlvbnMSKy5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZUludGVncmF0aW9uc1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZUludGVncmF0aW9uc1Jlc3BvbnNlIimC0+STAiMSIS92MS9vbmJvYXJkaW5nL2F6dXJlL2ludGVncmF0aW9ucxqiAZJBngESUChBbHBoYSkgR3VhcmFudGVlZENvbW1pdG1lbnRzIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2djGkoKElNlcnZpY2UgZGVmaW5pdGlvbhI0aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2djL0JVChRjbG91ZC5hbHBoYXVzLmFwaS5nY0IaR3VhcmFudGVlZENvbW1pdG1lbnRzUHJvdG9aIWdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9nY2IGcHJvdG8z", [annotations_pb_1.file_google_api_annotations, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
18
+ exports.file_gc_v1_gc = (0, codegenv2_1.fileDesc)("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIeChxHZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXF1ZXN0IjEKF0dldFRlcm1zRG9jdW1lbnRSZXF1ZXN0EhYKCGxhbmd1YWdlGAEgASgJQgTiQQECIi0KEkFjY2VwdFRlcm1zUmVxdWVzdBIXCgl2ZXJzaW9uSWQYASABKAlCBOJBAQIiEQoPTGlzdE9yZ3NSZXF1ZXN0IiwKGkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCSIYChZMaXN0Q29tbWl0bWVudHNSZXF1ZXN0ImcKGkdldENvbW1pdG1lbnRzQ2hhcnRSZXF1ZXN0EhQKDGNvbW1pdG1lbnRJZBgBIAEoCRIPCgdncm91cEJ5GAIgASgJEhEKCXN0YXJ0RGF0ZRgDIAEoCRIPCgdlbmREYXRlGAQgASgJIjgKIEdldENvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXF1ZXN0EhQKDGNvbW1pdG1lbnRJZBgBIAEoCSIeChxSZWFkQ29tbWl0bWVudFJlcG9ydHNSZXF1ZXN0IjoKI1JlYWRDb21taXRtZW50UmVwb3J0QWNjb3VudHNSZXF1ZXN0EhMKBW1vbnRoGAEgASgJQgTiQQECIj4KEUdldE1ldHJpY3NSZXF1ZXN0EikKCHByb3ZpZGVyGAEgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlciKjAQoUTGlzdFJlc291cmNlc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCXNlZ21lbnRJZBgCIAEoCRIOCgZzZWFyY2gYAyABKAkSDAoEZGVzYxgEIAEoCBIPCgdvcmRlckJ5GAUgASgJEgwKBHBhZ2UYBiABKAUSEAoIcGFnZVNpemUYByABKAUijAEKHEdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QSEgoKcmVzb3VyY2VJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRIUCgxjYXRhbG9nU2t1SWQYBCABKAkSDAoEcGFnZRgFIAEoBRIQCghwYWdlU2l6ZRgGIAEoBSIzCh5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1JlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJIiMKIUxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdCIwCh5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1JlcXVlc3QSDgoGcGxhbklkGAEgASgJIikKJ0dldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdCImCgdPcmdVc2VyEg0KBWVtYWlsGAEgASgJEgwKBHJvbGUYAiABKAkiLAoKTWVtYmVyc2hpcBIMCgRyb2xlGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJImIKB0FkZHJlc3MSDQoFbGluZTEYASABKAkSDAoEY2l0eRgCIAEoCRINCgVzdGF0ZRgDIAEoCRILCgN6aXAYBCABKAkSDwoHY291bnRyeRgFIAEoCRINCgVsaW5lMhgGIAEoCSJUCg5Bd3NFeGlzdGluZ0N1chIOCgZyZWdpb24YASABKAkSDgoGYnVja2V0GAIgASgJEg4KBnByZWZpeBgDIAEoCRISCgpyZXBvcnROYW1lGAQgASgJIksKD1Rlcm1zQWNjZXB0YW5jZRIQCghhY2NlcHRlZBgBIAEoCBISCgphY2NlcHRlZEF0GAIgASgJEhIKCmFjY2VwdGVkQnkYAyABKAkiiwIKElJlZ2lzdGVyT3JnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhsKE2xhYnJhU3Vic2NyaXB0aW9uSWQYAiABKAkSJQoFdXNlcnMYAyADKAsyFi5ibHVlYXBpLmdjLnYxLk9yZ1VzZXISDgoGZG9tYWluGAQgASgJEi4KDnByaW1hcnlBZGRyZXNzGAUgASgLMhYuYmx1ZWFwaS5nYy52MS5BZGRyZXNzEh8KF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAYgASgJEiEKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYByABKAkSHwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYCCABKAkiiQEKGVN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgFIAEoCSKTAQojR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgFIAEoCSKLAQobR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEhgKEHBheWVyQWNjb3VudE5hbWUYBSABKAkitQEKGlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhQKDG9uYm9hcmRpbmdJZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSMgoLZXhpc3RpbmdDdXIYBiABKAsyHS5ibHVlYXBpLmdjLnYxLkF3c0V4aXN0aW5nQ3VyIl8KGkdldE9uYm9hcmRpbmdTdGF0dXNSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIWCg5wYXllckFjY291bnRJZBgDIAEoCSIaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QiQwodU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJEg8KB2VuYWJsZWQYAiABKAgiHgocR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdCIaChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QiVgocU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkSDwoHZW5hYmxlZBgCIAEoCBISCgpuZXdWZXJzaW9uGAMgASgIIh4KHEdldEJpbGxpbmdHcm91cFN0YXR1c1JlcXVlc3QiRAobVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRISCgpuZXdWZXJzaW9uGAIgASgIIkUKGUdldEF3c1ByaXZhdGVPZmZlclJlcXVlc3QSFgoOcGF5ZXJBY2NvdW50SWQYASABKAkSEAoIcmVjcmVhdGUYAiABKAgiIAoeQWNjZXB0QmlsbGluZ0dyb3VwVGVybXNSZXF1ZXN0IsIHCiFTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QSDgoGcGxhbklkGAEgASgJEhYKDnJlc2VydmF0aW9uSWRzGAIgAygJEhMKC3Jlc291cmNlSWRzGAMgAygJEhYKDm1heFVwZnJvbnRDb3N0GAQgASgBEikKCHByb3ZpZGVyGAUgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIPCgdlbmREYXRlGAYgASgJEhEKCXN0YXJ0RGF0ZRgHIAEoCRIRCglzZWdtZW50SWQYCCABKAkSDgoGc3RhdHVzGAkgASgJEhMKC2Rlc2NyaXB0aW9uGAogASgJEgwKBG5hbWUYCyABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgMIAEoCRIdChVpbmNsdWRlZENvbnRyYWN0VGVybXMYDSADKAkSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGA4gAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSKgoKY292ZXJhZ2VJZBgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljcmVhdGVkQXQYECABKAkSKQoJY3JlYXRlZEJ5GBEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhIKCmRhdGFTb3VyY2UYEiABKAkSLwoPZXhlY3V0aW9uUG9saWN5GBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhYKDmZsYWdnZWRBY3Rpb25zGBQgAygJEgoKAmlkGBUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYFiABKAgSEQoJaXNEZWZhdWx0GBcgASgIEhAKCGlzTG9ja2VkGBggASgIEhUKDWlzUmVjb21tZW5kZWQYGSABKAgSEQoJaXNSZW5ld2FsGBogASgIEg8KB2lzU2F2ZWQYGyABKAgSFAoMbGFzdE1vZGlmaWVkGBwgASgJEhIKCm1ldGFQbGFuSWQYHSABKAkSOgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYHiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDQoFb3JnSWQYHyABKAkSEAoIcGxhblR5cGUYICABKAkSPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGCEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEicKB3NlZ21lbnQYIiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQiQwodTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1JlcXVlc3QSDwoHaXNEcmFmdBgBIAEoCBIRCgljb21wYW55SWQYAiABKAkiSAoeRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0EhMKC2RyYWZ0UGxhbklkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCSI2CiJHZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXF1ZXN0EhAKCHByb3ZpZGVyGAEgASgJIqMCCiFDcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlcXVlc3QSEAoIcHJvdmlkZXIYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAkSEQoJY29tcGFueUlkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIMCgRuYW1lGAcgASgJEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgIIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgJIAMoCRITCgtyZXNvdXJjZUlkcxgKIAMoCRISCgpjb21wYW55SWRzGAsgAygJIj8KKUdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0EhIKCmV4dGVybmFsSWQYASABKAkiTQonQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRISCgpleHRlcm5hbElkGAIgASgJIoMBChtTdGFydEF6dXJlT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSEAoIdGVuYW50SWQYBCABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBSABKAki0gUKHFVwZGF0ZUF6dXJlT25ib2FyZGluZ1JlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJY29tcGFueUlkGAQgASgJEhAKCHRlbmFudElkGAUgASgJEhYKDnN1YnNjcmlwdGlvbklkGAYgASgJEhMKC2FjY291bnRLaW5kGAcgASgJEhIKCmFjY291bnRJZHMYCCADKAkSFQoNYmxvYkNvbnRhaW5lchgJIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAogASgJEhYKDnN0b3JhZ2VBY2NvdW50GAsgASgJEhAKCHJvbGVOYW1lGAwgASgJEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YDSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YDiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBAgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNvbXBsZXRlZBgRIAEoCBIRCgljcmVhdGVkQXQYEiABKAkSOgoJY3JlYXRlZEJ5GBMgASgLMicuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdDcmVhdGVkQnkSKwoLaW50ZWdyYXRpb24YFCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFQoNaW50ZWdyYXRpb25JZBgVIAEoCRIQCghwcm92aWRlchgWIAEoCRIrCgNvcmcYFyABKAsyHi5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZyJzCiBHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVxdWVzdBIUCgxvbmJvYXJkaW5nSWQYASABKAkSDwoHZ2NPcmdJZBgCIAEoCRIQCgh0ZW5hbnRJZBgDIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgEIAEoCSK3BQoeVmFsaWRhdGVBenVyZUFwcEluc3RhbGxSZXF1ZXN0EhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIPCgdnY09yZ0lkGAIgASgJEgwKBHR5cGUYAyABKAkSEAoIdGVuYW50SWQYBCABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBSABKAkSEwoLYWNjb3VudEtpbmQYBiABKAkSEgoKYWNjb3VudElkcxgHIAMoCRIVCg1ibG9iQ29udGFpbmVyGAggASgJEhUKDXJlc291cmNlR3JvdXAYCSABKAkSFgoOc3RvcmFnZUFjY291bnQYCiABKAkSEAoIcm9sZU5hbWUYCyABKAkSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgNIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY29tcGxldGVkGBAgASgIEhEKCWNyZWF0ZWRBdBgRIAEoCRI6CgljcmVhdGVkQnkYEiABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIrCgtpbnRlZ3JhdGlvbhgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIVCg1pbnRlZ3JhdGlvbklkGBQgASgJEhAKCHByb3ZpZGVyGBUgASgJEisKA29yZxgWIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnIksKIkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1JlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkilAQKHUNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXF1ZXN0Eg8KB2djT3JnSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSEQoJY29tcGFueUlkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEgwKBHR5cGUYBSABKAkSEAoIdGVuYW50SWQYBiABKAkSFgoOc3Vic2NyaXB0aW9uSWQYByABKAkSFAoMb25ib2FyZGluZ0lkGAggASgJEhMKC2FjY291bnRLaW5kGAkgASgJEhIKCmFjY291bnRJZHMYCiADKAkSFQoNYmxvYkNvbnRhaW5lchgLIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAwgASgJEhYKDnN0b3JhZ2VBY2NvdW50GA0gASgJEhAKCHJvbGVOYW1lGA4gASgJEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YECABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlIi8KHExpc3RBenVyZUludGVncmF0aW9uc1JlcXVlc3QSDwoHZ2NPcmdJZBgBIAEoCSJ3ChVUZXJtc09mU2VydmljZVZlcnNpb24SCgoCaWQYASABKAkSDwoHcHJvZHVjdBgCIAEoCRIUCgx2ZXJzaW9uTGFiZWwYAyABKAkSFgoOY2xhc3NpZmljYXRpb24YBCABKAkSEwoLcHVibGlzaGVkQXQYBSABKAki6QEKHUdldFRlcm1zQ29uc2VudFN0YXR1c1Jlc3BvbnNlEi8KBXN0YXRlGAEgASgOMiAuYmx1ZWFwaS5nYy52MS5UZXJtc0NvbnNlbnRTdGF0ZRIVCg1hY2Nlc3NBbGxvd2VkGAIgASgIEhAKCGJsb2NraW5nGAMgASgIEhgKEHNob3dVcGRhdGVCYW5uZXIYBCABKAgSFwoPYmFubmVyRXhwaXJlc0F0GAUgASgJEjsKDWFjdGl2ZVZlcnNpb24YBiABKAsyJC5ibHVlYXBpLmdjLnYxLlRlcm1zT2ZTZXJ2aWNlVmVyc2lvbiKFAQoYR2V0VGVybXNEb2N1bWVudFJlc3BvbnNlEhEKCXZlcnNpb25JZBgBIAEoCRIPCgdwcm9kdWN0GAIgASgJEhAKCGxhbmd1YWdlGAMgASgJEhMKC2NvbnRlbnRUeXBlGAQgASgJEgsKA3VybBgFIAEoCRIRCglleHBpcmVzQXQYBiABKAkiaAoSVGVybXNDb25zZW50UmVjb3JkEg8KB3Byb2R1Y3QYASABKAkSGQoRYWNjZXB0ZWRWZXJzaW9uSWQYAiABKAkSEgoKYWNjZXB0ZWRCeRgDIAEoCRISCgphY2NlcHRlZEF0GAQgASgJIo4BChNBY2NlcHRUZXJtc1Jlc3BvbnNlEjIKB2NvbnNlbnQYASABKAsyIS5ibHVlYXBpLmdjLnYxLlRlcm1zQ29uc2VudFJlY29yZBJDCg1jb25zZW50U3RhdHVzGAIgASgLMiwuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXNwb25zZSIxCgNPcmcSDQoFb3JnSWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVlbWFpbBgDIAEoCSLzBAoVQ29tbWl0bWVudFBsYW5EZXRhaWxzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJY3JlYXRlZEF0GAUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYBiABKAgSDgoGc3RhdHVzGAcgASgJEg8KB21heFRlcm0YCCABKAkSIQoZY292ZXJlZE9uZGVtYW5kQ29zdEhvdXJseRgJIAEoARIgChhiZWZvcmVPbmRlbWFuZENvc3RIb3VybHkYCiABKAESIAoYYmVmb3JlUmVzZXJ2ZWRDb3N0SG91cmx5GAsgASgBEhsKE2Ftb3J0aXplZENvc3RIb3VybHkYDCABKAESGwoTcmVjdXJyaW5nQ29zdEhvdXJseRgNIAEoARIZChF1cGZyb250Q29zdEhvdXJseRgOIAEoARIYChBiZWZvcmVDb3N0SG91cmx5GA8gASgBEhcKD2FmdGVyQ29zdEhvdXJseRgQIAEoARIXCg90b3RhbENvc3RIb3VybHkYESABKAESFQoNc2F2aW5nc0hvdXJseRgSIAEoARIRCglmZWVIb3VybHkYEyABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGBQgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgVIAEoARIWCg5icmVha2V2ZW5Ib3VycxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESFgoObW9udGhseVNhdmluZ3MYGCABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgZIAEoASK0BgoWQ29tbWl0bWVudFBsYW5MaW5lSXRlbRIKCgJpZBgBIAEoCRIOCgZwbGFuSWQYAiABKAkSDwoHb2ZmZXJJZBgDIAEoCRIXCg9sZWFzZU1lbnVJdGVtSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEhsKE3JlY29tbWVuZGVkUXVhbnRpdHkYBiABKAESGAoQc2VsZWN0ZWRRdWFudGl0eRgHIAEoARIdChVyZWNvbW1lbmRlZENvbW1pdG1lbnQYCCABKAESGgoSc2VsZWN0ZWRDb21taXRtZW50GAkgASgBEhIKCmlzU2VsZWN0ZWQYCiABKAgSGgoSYWZ0ZXJBbW9ydGl6ZWRDb3N0GAsgASgBEhMKC3VwZnJvbnRDb3N0GAwgASgBEhUKDXJlY3VycmluZ0Nvc3QYDSABKAESEgoKYmVmb3JlQ29zdBgOIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GBAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYESABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYEiABKAESEQoJdG90YWxDb3N0GBMgASgBEhMKC21vbnRobHlDb3N0GBQgASgBEg8KB3NhdmluZ3MYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEgsKA2ZlZRgYIAEoARIUCgxkaXNjb3VudFJhdGUYGSABKAESFgoOYnJlYWtldmVuSG91cnMYGiABKAESFAoMY29udHJhY3RUZXJtGBsgASgJEhUKDXBheW1lbnRPcHRpb24YHCABKAkSLQoMY29udHJhY3RTcGVjGB0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVvZmZlchgeIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHAoUcmVuZXdhbFJlc2VydmF0aW9uSWQYHyABKAkSFAoMY292ZXJlZFVuaXRzGCAgASgBEhUKDWFtb3J0aXplZENvc3QYISABKAEi1wUKG0NvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIKCgJpZBgBIAEoCRISCgp0b3RhbFVuaXRzGAIgASgBEhwKFGJlZm9yZVVuY292ZXJlZFVuaXRzGAMgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGAQgASgBEhsKE2FmdGVyVW5jb3ZlcmVkVW5pdHMYBSABKAESFQoNb25kZW1hbmRQcmljZRgGIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgHIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYCCABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYCSABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgKIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYCyABKAESGQoRYWZ0ZXJSZXNlcnZlZENvc3QYDCABKAESEgoKYmVmb3JlQ29zdBgNIAEoARIRCglhZnRlckNvc3QYDiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYDyABKAESGAoQbW9udGhseUFmdGVyQ29zdBgQIAEoARIgChhtb250aGx5QWZ0ZXJSZXNlcnZlZENvc3QYESABKAESIAoYbW9udGhseUFmdGVyT25kZW1hbmRDb3N0GBIgASgBEhYKDmF2ZXJhZ2VTYXZpbmdzGBMgASgBEh0KFWF2ZXJhZ2VNb250aGx5U2F2aW5ncxgUIAEoARIRCgl1c2FnZVR5cGUYFSABKAkSEAoIY292ZXJhZ2UYFiABKAESKQoIcmVzb3VyY2UYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvdmVyZWRVbml0cxgYIAEoARIcChRleHBsYW5hdGlvblVubWF0Y2hlZBgZIAEoARIUCgxvbmRlbWFuZENvc3QYGiABKAESFAoMcmVzZXJ2ZWRDb3N0GBsgASgBIu4BCgVMZWFzZRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIdChVwcm92aWRlclJlc2VydmF0aW9uSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIRCglzdGFydERhdGUYBiABKAkSDwoHZW5kRGF0ZRgHIAEoCRISCgpsb2NraW5EYXRlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBEhUKDXJlY3VycmluZ0Nvc3QYCiABKAESEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCSJJChBEYWlseVV0aWxpemF0aW9uEgwKBGRhdGUYASABKAkSEwoLdXRpbGl6YXRpb24YAiABKAESEgoKbmV0U2F2aW5ncxgDIAEoASLQBwoKQ29tbWl0bWVudBIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFQoNYW1vcnRpemVkQ29zdBgDIAEoARIYChBiaWxsaW5nQWNjb3VudElkGAQgASgJEhEKCWNhblJlYmF0ZRgFIAEoCBIUCgxjb250cmFjdFRlcm0YBiABKAkSEwoLZGlzcGxheU5hbWUYByABKAkSFwoPZHVyYXRpb25TZWNvbmRzGAggASgBEh4KFmVmZmVjdGl2ZUluc3RhbmNlQ291bnQYCSABKAMSDwoHZW5kRGF0ZRgKIAEoCRIVCg1pbnN0YW5jZUNvdW50GAsgASgDEhYKDmluc3RhbmNlRmFtaWx5GAwgASgJEhQKDGluc3RhbmNlVHlwZRgNIAEoCRIQCghpc0FjdGl2ZRgOIAEoCBISCgppc0ZsZXhpYmxlGA8gASgIEhAKCGlzTGVhc2VkGBAgASgIEhEKCWlzTXVsdGlBehgRIAEoCBIXCg9sZWFzZUxvY2tpbkRhdGUYEiABKAkSEgoKbGVhc2VTdGFydBgTIAEoCRIZChFsZWFzZWREaXNwbGF5TmFtZRgUIAEoCRITCgttb250aGx5Q29zdBgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIMCgRuYW1lGBcgASgJEhIKCm5ldFNhdmluZ3MYGCABKAESEgoKb2ZmZXJpbmdJZBgZIAEoCRIVCg1wYXltZW50T3B0aW9uGBogASgJEhgKEHBvdGVudGlhbFNhdmluZ3MYGyABKAESGgoScHJvZHVjdERlc2NyaXB0aW9uGBwgASgJEhAKCHByb3ZpZGVyGB0gASgJEh4KFnByb3ZpZGVyUmVzZXJ2YXRpb25faWQYHiABKAkSFQoNcmVjdXJyaW5nQ29zdBgfIAEoARIOCgZyZWdpb24YICABKAkSEwoLcmVuZXdhbFBsYW4YISABKAkSFgoOcmVzZXJ2YXRpb25FbmQYIiABKAkSGAoQcmVzZXJ2YXRpb25TdGFydBgjIAEoCRIUCgxydW5uaW5nSG91cnMYJCABKAESDwoHc2F2aW5ncxglIAEoARIRCglzdGFydERhdGUYJiABKAkSDgoGc3RhdHVzGCcgASgJEh4KFnRyYW5zZmVyUmVzZXJ2YXRpb25FbmQYKCABKAkSIAoYdHJhbnNmZXJSZXNlcnZhdGlvblN0YXJ0GCkgASgJEgwKBHR5cGUYKiABKAkSEwoLdXBmcm9udENvc3QYKyABKAESEwoLdXRpbGl6YXRpb24YLCABKAEiSQoXTGlzdENvbW1pdG1lbnRzUmVzcG9uc2USLgoLY29tbWl0bWVudHMYASADKAsyGS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnQiSgoUQ29tbWl0bWVudHNDaGFydERhdGESDAoEZGF0ZRgBIAEoCRIQCghjaGFydEtleRgCIAEoCRISCgpjaGFydFZhbHVlGAMgASgBIk0KGENvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZRIxCgRkYXRhGAEgAygLMiMuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0RGF0YSL8AQoaQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGESFwoPdXRpbGl6YXRpb25EYXRlGAEgASgJEgwKBGNvc3QYAiABKAESEwoLY292ZXJlZENvc3QYAyABKAESDwoHZ3JpRmVlcxgEIAEoARISCgpuZXRTYXZpbmdzGAUgASgBEhgKEHBvdGVudGlhbFNhdmluZ3MYBiABKAESHgoWcmVzZXJ2YXRpb25VdGlsaXphdGlvbhgHIAEoARIUCgxydW5uaW5nSG91cnMYCCABKAESDwoHc2F2aW5ncxgJIAEoARIcChR1bnV0aWxpemVkQ29tbWl0bWVudBgKIAEoASJZCh5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2USNwoEZGF0YRgBIAMoCzIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGEi0AEKEENvbW1pdG1lbnRSZXBvcnQSDQoFbW9udGgYASABKAkSFgoOYmlsbFVuYWRqdXN0ZWQYAiABKAESFQoNYmlsbE9wdGltaXplZBgDIAEoARIUCgxncm9zc1NhdmluZ3MYBCABKAESEwoLcmlza1ByZW1pdW0YBSABKAESDwoHcmViYXRlcxgGIAEoARISCgpuZXRTYXZpbmdzGAcgASgBEhQKDHJldmVudWVTaGFyZRgIIAEoARIYChByZXZlbnVlU2hhcmVSYXRlGAkgASgBIugBChdDb21taXRtZW50UmVwb3J0QWNjb3VudBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIYChBiaWxsaW5nR3JvdXBOYW1lGAIgASgJEhEKCWFjY291bnRJZBgDIAEoCRITCgthY2NvdW50TmFtZRgEIAEoCRINCgVjbG91ZBgFIAEoCRIUCgxncm9zc1NhdmluZ3MYBiABKAESEwoLcmlza1ByZW1pdW0YByABKAESDwoHcmViYXRlcxgIIAEoARISCgpuZXRTYXZpbmdzGAkgASgBEhQKDHJldmVudWVTaGFyZRgKIAEoASLNAwoPTWV0cmljc1Jlc3BvbnNlEhcKD2xpZmV0aW1lU2F2aW5ncxgBIAEoARISCgptdGRTYXZpbmdzGAIgASgBEiEKGXB1cmNoYXNlQXV0b21hdGlvbkVuYWJsZWQYAyABKAgSIAoYYnV5YmFja0F1dG9tYXRpb25FbmFibGVkGAQgASgIEhcKD2hhc0FjdGlvbmVkUGxhbhgFIAEoCBIZChFoYXNQZW5kaW5nQWN0aW9ucxgGIAEoCBIbChNsYXRlc3RFeGVjdXRpb25EYXRlGAcgASgJEh0KFXB1cmNoYXNlTWlzc2VkU2F2aW5ncxgIIAEoARIcChRidXliYWNrTWlzc2VkU2F2aW5ncxgJIAEoARIfChd0b3RhbERhaWx5TWlzc2VkU2F2aW5ncxgKIAEoARIbChNob3VybHlNaXNzZWRTYXZpbmdzGAsgASgBEh4KFm1pc3NlZFNhdmluZ3NTdGFydERhdGUYDCABKAkSHAoUbWlzc2VkU2F2aW5nc0VuZERhdGUYDSABKAkSFwoPZXhwaXJpbmdTYXZpbmdzGA4gASgBEhAKCGNvdmVyYWdlGA8gASgBEhMKC3V0aWxpemF0aW9uGBAgASgBIogICghSZXNvdXJjZRIKCgJpZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIaChJwcm92aWRlclJlc291cmNlSWQYBCABKAkSDgoGaXNTcG90GAUgASgIEgwKBG5hbWUYBiABKAkSFQoNcmVzb3VyY2VHcm91cBgHIAEoCRIQCgh1c2FnZUVuZBgIIAEoCRISCgp1c2FnZVN0YXJ0GAkgASgJEiUKBHRhZ3MYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCWNyZWF0ZWRBdBgLIAEoCRIRCgl1cGRhdGVkQXQYDCABKAkSEgoKaW5zdGFuY2VJZBgNIAEoCRIYChBiaWxsaW5nQWNjb3VudElkGA4gASgJEhQKDHN1YkFjY291bnRJZBgPIAEoCRIbChNtYW5hZ2VtZW50QWNjb3VudElkGBAgASgJEhYKDm93bmVyQWNjb3VudElkGBEgASgJEhAKCHNrdVRpdGxlGBIgASgJEg8KB3NrdU5hbWUYEyABKAkSGAoQYXZhaWxhYmlsaXR5Wm9uZRgUIAEoCRITCgtjYWNoZUVuZ2luZRgVIAEoCRIWCg5kYXRhYmFzZUVuZ2luZRgWIAEoCRITCgtkZXNjcmlwdGlvbhgXIAEoCRIOCgZmYW1pbHkYGCABKAkSFgoOZnVsbFJlZ2lvbk5hbWUYGSABKAkSGAoQaGFzT25kZW1hbmRUZXJtcxgaIAEoCBIUCgxpbnN0YW5jZVR5cGUYGyABKAkSGgoSaW5zdGFuY2VUeXBlRmFtaWx5GBwgASgJEhQKDGlzUmVzZXJ2YWJsZRgdIAEoCBIUCgxsaWNlbnNlTW9kZWwYHiABKAkSFAoMbG9jYXRpb25UeXBlGB8gASgJEh8KF25vcm1hbGl6YXRpb25TaXplRmFjdG9yGCAgASgJEhcKD29wZXJhdGluZ1N5c3RlbRghIAEoCRIWCg5wcmVJbnN0YWxsZWRTdxgiIAEoCRIVCg1wcmljZUN1cnJlbmN5GCMgASgJEhcKD3Byb3ZpZGVyU2VydmljZRgkIAEoCRIVCg1wcm92aWRlclNrdUlkGCUgASgJEhcKD3B1YmxpY2F0aW9uRGF0ZRgmIAEoCRIOCgZyZWdpb24YJyABKAkSDwoHc2VydmljZRgoIAEoCRIPCgd0ZW5hbmN5GCkgASgJEhEKCXVzYWdlVHlwZRgqIAEoCRIPCgd2ZXJzaW9uGCsgASgJEhwKFHZwY05ldHdvcmtpbmdTdXBwb3J0GCwgASgIEhkKEW9uZGVtYW5kVXNhZ2VVbml0GC0gASgJIkMKFUxpc3RSZXNvdXJjZXNSZXNwb25zZRIqCglyZXNvdXJjZXMYASADKAsyFy5ibHVlYXBpLmdjLnYxLlJlc291cmNlIu8CChJSZXNvdXJjZURhaWx5VXNhZ2USDAoEZGF0ZRgBIAEoCRIWCg51c2FnZUFjY291bnRJZBgCIAEoCRIUCgxzdWJBY2NvdW50SWQYAyABKAkSDQoFdXNhZ2UYBCABKAESGAoQcmVzZXJ2YXRpb25Vc2FnZRgFIAEoARIVCg1mcmVlVGllclVzYWdlGAYgASgBEhQKDG9uZGVtYW5kQ29zdBgHIAEoARIUCgxyZXNlcnZlZENvc3QYCCABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYCSABKAESEAoIc3BvdENvc3QYCiABKAESFwoPZnJlZVRpZXJTYXZpbmdzGAsgASgBEhEKCXVzYWdlVHlwZRgMIAEoCRIXCg9jb21tb25Vc2FnZVR5cGUYDSABKAkSFAoMY292ZXJlZFVzYWdlGA4gASgBEg4KBnVwdGltZRgPIAEoARIZChFwcm92aWRlclVzYWdlVHlwZRgQIAEoCSJWCh1HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZRI1CgpkYWlseVVzYWdlGAEgAygLMiEuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZURhaWx5VXNhZ2UigxAKElJlc2VydmFibGVSZXNvdXJjZRIKCgJpZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYAyABKAkSFAoMc3ViQWNjb3VudElkGAQgASgJEhAKCHByb3ZpZGVyGAUgASgJEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgGIAEoCRIXCg9wcm92aWRlclNlcnZpY2UYByABKAkSFQoNcHJvdmlkZXJTa3VJZBgIIAEoCRIOCgZpc1Nwb3QYCSABKAgSFAoMaXNSZXNlcnZhYmxlGAogASgIEiQKBG5hbWUYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLQoNcmVzb3VyY2VHcm91cBgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIQCgh1c2FnZUVuZBgNIAEoCRISCgp1c2FnZVN0YXJ0GA4gASgJEiUKBHRhZ3MYDyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei0KDHByb3ZpZGVyVGFncxgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIdXNlclRhZ3MYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCWNyZWF0ZWRBdBgSIAEoCRIRCgl1cGRhdGVkQXQYEyABKAkSEgoKaW5zdGFuY2VJZBgUIAEoCRIwChBhdmFpbGFiaWxpdHlab25lGBUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEisKC2NhY2hlRW5naW5lGBYgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhQKDGNhdGFsb2dTa3VJZBgXIAEoCRIXCg9jYXRhbG9nU2t1T3JnSWQYGCABKAkSIAoYY2xhc3NpY05ldHdvcmtpbmdTdXBwb3J0GBkgASgIEhIKCmNsb2NrU3BlZWQYGiABKAkSFwoPY29tbW9uVXNhZ2VUeXBlGBsgASgJEhQKDGNvdmVyZWRVc2FnZRgcIAEoARIuCg5kYXRhYmFzZUVuZ2luZRgdIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIeChZkZWRpY2F0ZWRFYnNUaHJvdWdocHV0GB4gASgJEisKC2Rlc2NyaXB0aW9uGB8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEgsKA2VjdRggIAEoCRIjChtlbmhhbmNlZE5ldHdvcmtpbmdTdXBwb3J0ZWQYISABKAgSDgoGZmFtaWx5GCIgASgJEhYKDmZ1bGxSZWdpb25OYW1lGCMgASgJEhgKEGhhc09uZGVtYW5kVGVybXMYJCABKAgSDwoHaWNvblVybBglIAEoCRIVCg1pbnRlZ3JhdGlvbklkGCYgASgJEhoKEmludGVsQXZ4MkF2YWlsYWJsZRgnIAEoCBIZChFpbnRlbEF2eEF2YWlsYWJsZRgoIAEoCBIbChNpbnRlbFR1cmJvQXZhaWxhYmxlGCkgASgIEiIKAmlvGCogASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhsKE2lzQ3VycmVudEdlbmVyYXRpb24YKyABKAgSKQoJaXNNdWx0aUF6GCwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhQKDGxpY2Vuc2VNb2RlbBgtIAEoCRIUCgxsb2NhdGlvblR5cGUYLiABKAkSDgoGbWVtb3J5GC8gASgJEicKB3NrdU5hbWUYMCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEAoIc2t1VGl0bGUYMSABKAkSDwoHbmV0Q29zdBgyIAEoARISCgpuZXRTYXZpbmdzGDMgASgBEhoKEm5ldHdvcmtQZXJmb3JtYW5jZRg0IAEoCRIfChdub3JtYWxpemF0aW9uU2l6ZUZhY3Rvchg1IAEoCRIUCgxvbmRlbWFuZENvc3QYNiABKAESGQoRb25kZW1hbmRVc2FnZVVuaXQYNyABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGDggASgJEhEKCW9wZXJhdGlvbhg5IAEoCRIZChFwaHlzaWNhbFByb2Nlc3Nvchg6IAEoCRIWCg5wcmVJbnN0YWxsZWRTdxg7IAEoCRIVCg1wcmljZUN1cnJlbmN5GDwgASgJEh0KFXByb2Nlc3NvckFyY2hpdGVjdHVyZRg9IAEoCRIZChFwcm9jZXNzb3JGZWF0dXJlcxg+IAEoCRIXCg9wdWJsaWNhdGlvbkRhdGUYPyABKAkSDgoGcmVnaW9uGEAgASgJEg8KB3NlcnZpY2UYQSABKAkSDgoGc291cmNlGEIgASgJEg8KB3N0b3JhZ2UYQyABKAkSJwoHdGF4VHlwZRhEIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIPCgd0ZW5hbmN5GEUgASgJEg4KBnVwdGltZRhGIAEoARIRCgl1c2FnZVR5cGUYRyABKAkSDAoEdmNwdRhIIAEoCRIPCgd2ZXJzaW9uGEkgASgJEhwKFHZwY05ldHdvcmtpbmdTdXBwb3J0GEogASgIEhQKDGluc3RhbmNlVHlwZRhLIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYTCABKAkSNgoLZGFpbHlVc2FnZXMYTSADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSJXCh9MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1Jlc3BvbnNlEjQKCXJlc291cmNlcxgBIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzZXJ2YWJsZVJlc291cmNlInQKB1NlZ21lbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJaXNEZWZhdWx0GAQgASgIEhEKCWNyZWF0ZWRBdBgFIAEoCSJACg5TZWdtZW50Q3JlYXRvchIKCgJpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSJLCgxQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEQoJaXNSZW5ld2FsGAQgASgIIqUFCg5TZWdtZW50RGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEikKCHByb3ZpZGVyGAQgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIWCg5jbG91ZFByb3ZpZGVycxgFIAMoCRIRCglpc0RlZmF1bHQYBiABKAgSEQoJY3JlYXRlZEF0GAcgASgJEjAKCWNyZWF0ZWRCeRgIIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VnbWVudENyZWF0b3ISEAoIcGFyZW50SWQYCSABKAkSDgoGc3RhdHVzGAogASgJEhQKDHNlZ21lbnRDbGFzcxgLIAEoCRInCgZwYXJhbXMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhMKC21vbnRobHlDb3N0GA0gASgBEhYKDm1vbnRobHlOZXRDb3N0GA4gASgBEiAKGG1vbnRobHlJZkFsbE9uZGVtYW5kQ29zdBgPIAEoARIbChNtb250aGx5T25kZW1hbmRDb3N0GBAgASgBEhsKE21vbnRobHlSZXNlcnZlZENvc3QYESABKAESFwoPbW9udGhseVNwb3RDb3N0GBIgASgBEhYKDm1vbnRobHlTYXZpbmdzGBMgASgBEhUKDW1vbnRobHlCdWRnZXQYFCABKAESEAoIY292ZXJhZ2UYFSABKAESGwoTcmVjb21tZW5kZWRDb3ZlcmFnZRgWIAEoARIWCg50YXJnZXRDb3ZlcmFnZRgXIAEoARIcChRtb250aGx5UmVzb3VyY2VDb3VudBgYIAEoBRIyCg1wdXJjaGFzZVBsYW5zGBkgAygLMhsuYmx1ZWFwaS5nYy52MS5QdXJjaGFzZVBsYW4ieAoMQ29udHJhY3RTcGVjEhYKDmNvbW1pdG1lbnRUeXBlGAEgASgJEhUKDXBheW1lbnRPcHRpb24YAiABKAkSDAoEdGVybRgDIAEoCRIrCgpwcm9wZXJ0aWVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLeAgoLUGxhblN1bW1hcnkSCwoDa2V5GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhYKDm51bUNvbW1pdG1lbnRzGAMgASgFEhUKDW1pbkNvbW1pdG1lbnQYBCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYBSABKAESEwoLdXBmcm9udENvc3QYBiABKAESEgoKbWluU2F2aW5ncxgHIAEoARISCgptYXhTYXZpbmdzGAggASgBEhYKDm1vbnRobHlTYXZpbmdzGAkgASgBEhQKDG1pblRlcm1Ib3VycxgKIAEoBRIUCgxtYXhUZXJtSG91cnMYCyABKAUSEwoLZ3JpUHJlbWl1bXMYDCABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GA0gASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GA4gASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GA8gASgBIuUCCg5TZXJ2aWNlU3VtbWFyeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRITCgtzZXJ2aWNlTmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIWCg5udW1Db21taXRtZW50cxgFIAEoBRIXCg9jdXJyZW50Q292ZXJhZ2UYBiABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYByABKAESFQoNbWluQ29tbWl0bWVudBgIIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgJIAEoARITCgt1cGZyb250Q29zdBgKIAEoARISCgptaW5TYXZpbmdzGAsgASgBEhIKCm1heFNhdmluZ3MYDCABKAESFgoObW9udGhseVNhdmluZ3MYDSABKAESFAoMbWluVGVybUhvdXJzGA4gASgFEhQKDG1heFRlcm1Ib3VycxgPIAEoBRISCgpncmlQcmVtaXVtGBAgASgBItoBChBBZ2dyZWdhdGVNZXRyaWNzEhcKD2N1cnJlbnRDb3ZlcmFnZRgBIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgCIAEoARJBCglzdW1tYXJpZXMYAyADKAsyLi5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MuU3VtbWFyaWVzRW50cnkaTwoOU3VtbWFyaWVzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uYmx1ZWFwaS5nYy52MS5TZXJ2aWNlU3VtbWFyeToCOAEizgsKE0RlZmF1bHRQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCglzZWdtZW50SWQYBSABKAkSJwoHc2VnbWVudBgGIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudBIOCgZzdGF0dXMYByABKAkSEAoIcGxhblR5cGUYCCABKAkSEQoJY3JlYXRlZEF0GAkgASgJEhQKDGxhc3RNb2RpZmllZBgKIAEoCRIpCgljcmVhdGVkQnkYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPZXhlY3V0aW9uUG9saWN5GAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWlzRGVmYXVsdBgNIAEoCBIVCg1pc1JlY29tbWVuZGVkGA4gASgIEhEKCWlzUmVuZXdhbBgPIAEoCBIVCg1pc0NhbGN1bGF0aW5nGBAgASgIEhAKCGlzTG9ja2VkGBEgASgIEg8KB2lzU2F2ZWQYEiABKAgSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGBMgAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGBQgAygJEg8KB21heFRlcm0YFSABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgWIAEoCRIWCg5tYXhVcGZyb250Q29zdBgXIAEoARIiChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgYIAEoARI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJc3RhcnREYXRlGBogASgJEg8KB2VuZERhdGUYGyABKAkSEgoKZGF0YVNvdXJjZRgcIAEoCRISCgpiZWZvcmVDb3N0GB0gASgBEhEKCWFmdGVyQ29zdBgeIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYHyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GCAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYISABKAESFQoNYW1vcnRpemVkQ29zdBgiIAEoARIVCg1yZWN1cnJpbmdDb3N0GCMgASgBEhMKC3VwZnJvbnRDb3N0GCQgASgBEhEKCXRvdGFsQ29zdBglIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GCYgASgBEg8KB3NhdmluZ3MYJyABKAESFgoObW9udGhseVNhdmluZ3MYKCABKAESFAoMdG90YWxTYXZpbmdzGCkgASgBEgsKA2ZlZRgqIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYKyABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GCwgASgBEhYKDmJyZWFrZXZlbkhvdXJzGC0gASgBEjkKEGFnZ3JlZ2F0ZU1ldHJpY3MYLiABKAsyHy5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MSLQoJc3VtbWFyaWVzGC8gAygLMhouYmx1ZWFwaS5nYy52MS5QbGFuU3VtbWFyeRIWCg5yZXNlcnZhdGlvbklkcxgwIAMoCRITCgtyZXNvdXJjZUlkcxgxIAMoCRIWCg5mbGFnZ2VkQWN0aW9ucxgyIAMoCRISCgptZXRhUGxhbklkGDMgASgJEhIKCmNvdmVyYWdlSWQYNCABKAkSGAoQbW9udGhseUFmdGVyQ29zdBg1IAEoARIcChRtb250aGx5QW1vcnRpemVkQ29zdBg2IAEoARIZChFtb250aGx5QmVmb3JlQ29zdBg3IAEoARISCgptb250aGx5RmVlGDggASgBEhAKCGFsbFRlcm1zGDkgAygJIlcKIkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iXQooR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJBCg9QbGFuSGlzdG9yeVVzZXISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAki9wEKEFBsYW5IaXN0b3J5RW50cnkSCgoCaWQYASABKAkSDwoHbWVzc2FnZRgCIAEoCRINCgVvcmdJZBgDIAEoCRIXCg9yZWxhdGVkT2JqZWN0SWQYBCABKAkSGQoRcmVsYXRlZE9iamVjdFR5cGUYBSABKAkSEQoJdGltZXN0YW1wGAYgASgJEgwKBHR5cGUYByABKAkSDgoGdXNlcklkGAggASgJEiQKBGRhdGEYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLAoEdXNlchgKIAEoCzIeLmJsdWVhcGkuZ2MudjEuUGxhbkhpc3RvcnlVc2VyIoQCChNSZWdpc3Rlck9yZ1Jlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSLgoLbWVtYmVyc2hpcHMYAyADKAsyGS5ibHVlYXBpLmdjLnYxLk1lbWJlcnNoaXASDgoGZG9tYWluGAQgASgJEi4KDnByaW1hcnlBZGRyZXNzGAUgASgLMhYuYmx1ZWFwaS5nYy52MS5BZGRyZXNzEh8KF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAYgASgJEiEKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYByABKAkSHwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYCCABKAkiMgoaU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2USFAoMb25ib2FyZGluZ0lkGAEgASgJIlEKJEdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXNwb25zZRIpCgh0ZW1wbGF0ZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiKwocR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZRILCgN1cmwYASABKAkijwQKG1ZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZRJUCgZjaGVja3MYASADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrGpkDChlBd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrEg8KB2ZlYXR1cmUYASABKAkSbwoGc3RhdHVzGAIgASgOMl8uYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjay5Bd3NPbmJvYXJkaW5nRmVhdHVyZVN0YXR1cyL5AQoaQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMSLQopQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfVU5TUEVDSUZJRUQQABIrCidBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19BVkFJTEFCTEUQARIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19XQVJOSU5HEAISKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfTUlTU0lORxADEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOS05PV04QBCLVBQobR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlEg0KBWZvdW5kGAEgASgIEg0KBWlzTXNwGAIgASgIEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIPCgdnY09yZ0lkGAQgASgJEhQKDG9uYm9hcmRpbmdJZBgFIAEoCRJVChBvbmJvYXJkaW5nU3RhdHVzGAYgASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxIRCglhY2NvdW50SWQYByABKAkSFgoOYmlsbGluZ0dyb3VwSWQYCCABKAkSEQoJY29tcGFueUlkGAkgASgJEmAKEnZlcmlmaWNhdGlvbkNoZWNrcxgKIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSNwoPdGVybXNBY2NlcHRhbmNlGAsgASgLMh4uYmx1ZWFwaS5nYy52MS5UZXJtc0FjY2VwdGFuY2UilQIKEE9uYm9hcmRpbmdTdGF0dXMSIQodT05CT0FSRElOR19TVEFUVVNfVU5TUEVDSUZJRUQQABIkCiBPTkJPQVJESU5HX1NUQVRVU19OT1RfUkVHSVNURVJFRBABEiAKHE9OQk9BUkRJTkdfU1RBVFVTX1JFR0lTVEVSRUQQAhIoCiRPTkJPQVJESU5HX1NUQVRVU19PTkJPQVJESU5HX1NUQVJURUQQAxIeChpPTkJPQVJESU5HX1NUQVRVU19WRVJJRklFRBAEEicKI09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9JTkNPTVBMRVRFEAUSIwofT05CT0FSRElOR19TVEFUVVNfVkVSSUZZX0ZBSUxFRBAGIo4DChNQYXllckFjY291bnREZXRhaWxzEhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIgChhyaXBwbGVSZWdpc3RyYXRpb25TdGF0dXMYAyABKAkSUgoNZ2NTZXR1cFN0YXR1cxgEIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAUgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIlCh1tYXJrZXRwbGFjZVByaXZhdGVPZmZlclN0YXR1cxgGIAEoCRIhChltYXJrZXRwbGFjZVByaXZhdGVPZmZlcklkGAcgASgJEi0KJW1hcmtldHBsYWNlUHJpdmF0ZU9mZmVyRXhwaXJhdGlvbkRhdGUYCCABKAkiqAUKGUxpc3RQYXllckFjY291bnRzUmVzcG9uc2USTAoNcGF5ZXJBY2NvdW50cxgBIAMoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQSPwoTcGF5ZXJBY2NvdW50RGV0YWlscxgCIAMoCzIiLmJsdWVhcGkuZ2MudjEuUGF5ZXJBY2NvdW50RGV0YWlscxr6AgoMUGF5ZXJBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCglzZWdtZW50SWQYBCABKAkSSwoGc3RhdHVzGAUgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudFN0YXR1cxIRCgljb21wYW55SWQYBiABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgHIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAggAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJQYXllckFjY291bnRTdGF0dXMSJAogUEFZRVJfQUNDT1VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxQQVlFUl9BQ0NPVU5UX1NUQVRVU19FTkFCTEVEEAESIQodUEFZRVJfQUNDT1VOVF9TVEFUVVNfRElTQUJMRUQQAiJtCh5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJsCh1HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50IrYFChlMaXN0QmlsbGluZ0dyb3Vwc1Jlc3BvbnNlEkwKDWJpbGxpbmdHcm91cHMYASADKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwGskDCgxCaWxsaW5nR3JvdXASEQoJY29tcGFueUlkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBSABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgGIAEoCRIRCglzZWdtZW50SWQYByABKAkSFAoMcmVzb3VyY2VUeXBlGAggASgJEksKBnN0YXR1cxgJIAEoDjI7LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXBTdGF0dXMSVQoQb25ib2FyZGluZ1N0YXR1cxgKIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAsgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJCaWxsaW5nR3JvdXBTdGF0dXMSJAogQklMTElOR19HUk9VUF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxCSUxMSU5HX0dST1VQX1NUQVRVU19FTkFCTEVEEAESIQodQklMTElOR19HUk9VUF9TVEFUVVNfRElTQUJMRUQQAiJsCh1TZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZRJLCgxiaWxsaW5nR3JvdXAYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwIqUBCh1HZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZRJLCgxiaWxsaW5nR3JvdXAYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwEjcKD3Rlcm1zQWNjZXB0YW5jZRgCIAEoCzIeLmJsdWVhcGkuZ2MudjEuVGVybXNBY2NlcHRhbmNlIloKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIMCgRjb2RlGAMgASgJEg8KB2RldGFpbHMYBCADKAkizgEKGkdldEF3c1ByaXZhdGVPZmZlclJlc3BvbnNlEhYKDnBheWVyQWNjb3VudElkGAEgASgJEg8KB29mZmVySWQYAiABKAkSEQoJb2ZmZXJOYW1lGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIQCghvZmZlclVybBgFIAEoCRIRCglwcm9kdWN0SWQYBiABKAkSFAoMcHJpY2VQZXJVbml0GAcgASgBEhEKCWNyZWF0ZWRBdBgIIAEoCRIWCg5leHBpcmF0aW9uRGF0ZRgJIAEoCSJaCh9BY2NlcHRCaWxsaW5nR3JvdXBUZXJtc1Jlc3BvbnNlEjcKD3Rlcm1zQWNjZXB0YW5jZRgBIAEoCzIeLmJsdWVhcGkuZ2MudjEuVGVybXNBY2NlcHRhbmNlIlMKHkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJCCh9EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlEg4KBnBsYW5JZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIIjQKI0dldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlc1Jlc3BvbnNlEg0KBXR5cGVzGAEgAygJIt0BCipHZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVzcG9uc2USEQoJbGF1bmNoVXJsGAEgASgJEhMKC3RlbXBsYXRlVXJsGAIgASgJEhEKCXN0YWNrTmFtZRgDIAEoCRIRCglwcmluY2lwYWwYBCABKAkSEgoKZXh0ZXJuYWxJZBgFIAEoCRIlCh1ndWFyYW50ZWVkQ29tbWl0bWVudFByaW5jaXBhbBgGIAEoCRImCh5ndWFyYW50ZWVkQ29tbWl0bWVudEV4dGVybmFsSWQYByABKAkivgIKKENyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVzcG9uc2USDgoGdGFyZ2V0GAEgASgJEhUKDXJpcHBsZVJvbGVBcm4YAiABKAkSGAoQcmlwcGxlRXh0ZXJuYWxJZBgDIAEoCRIjChtndWFyYW50ZWVkQ29tbWl0bWVudFJvbGVBcm4YBCABKAkSJgoeZ3VhcmFudGVlZENvbW1pdG1lbnRFeHRlcm5hbElkGAUgASgJEg8KB3N0YWNrSWQYBiABKAkSEwoLc3RhY2tSZWdpb24YByABKAkSEwoLdGVtcGxhdGVVcmwYCCABKAkSDgoGc3RhdHVzGAkgASgJEhMKC2xhc3RVcGRhdGVkGAogASgJEiQKHGd1YXJhbnRlZWRDb21taXRtZW50VmVyaWZpZWQYCyABKAgihAIKH0dldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVzcG9uc2USMAoEcGxhbhgBIAEoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbhI4CglsaW5lSXRlbXMYAiADKAsyJS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuTGluZUl0ZW0SQwoPcmVzb3VyY2VNYXRjaGVzGAMgAygLMiouYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhblJlc291cmNlTWF0Y2gSMAoHaGlzdG9yeRgEIAMoCzIfLmJsdWVhcGkuZ2MudjEuUGxhbkhpc3RvcnlFbnRyeSJXCiJDcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuInoKHEF6dXJlQXJjaGVyYU9yZ0ZlYXR1cmVTdGF0dXMSJgoGZGV0YWlsGAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg8KB2ZlYXR1cmUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhEKCXVwZGF0ZWRBdBgEIAEoCSJWChpBenVyZUFyY2hlcmFPcmdMZWFzZUJ1ZGdldBIOCgZidWRnZXQYASABKAESEQoJY3JlYXRlZEF0GAIgASgJEhUKDW1pblRlcm1Nb250aHMYAyABKAUingsKD0F6dXJlQXJjaGVyYU9yZxIeChZhcHBseUJhbGFuY2VUb1ByZW1pdW1zGAEgASgIEhMKC2F1dGhTc29Pbmx5GAIgASgIEjcKF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjkKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYBCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDwoHYmFsYW5jZRgFIAEoARIVCg1iaWxsaW5nQWN0aXZlGAYgASgIEhoKEmNoYW5uZWxQYXJ0bmVyVHlwZRgHIAEoCRIyChJjaGFubmVsUGFydG5lcnNoaXAYCCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSKwoLY29udHJhY3RFbmQYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY3JlYXRlZEF0GAogASgJEigKCGN1cnJlbmN5GAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhcKD2RlZmF1bHRVc2VyUm9sZRgMIAEoCRIsCgxkaXNjb3VudEluZm8YDSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDgoGZG9tYWluGA4gASgJEi0KDWVmZmVjdGl2ZURhdGUYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSRAoPZmVhdHVyZVN0YXR1c2VzGBAgAygLMisuYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmdGZWF0dXJlU3RhdHVzEhAKCGZlYXR1cmVzGBEgAygJEioKCmZydWdhbE1vZGUYEiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYEyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEwoLaGFzRGlzY291bnQYFCABKAgSDwoHaGFzR3JpcxgVIAEoCBIhChloYXNUZHNQYWNQcm94eUNyZWRlbnRpYWxzGBYgASgIEgoKAmlkGBcgASgJEh8KF2lzTGVhc2VCdXliYWNrQXV0b21hdGVkGBggASgIEhwKFGlzTGVhc2VTd2FwQXV0b21hdGVkGBkgASgIEhUKDWlzVGRzUGFjUHJveHkYGiABKAgSPgoLbGVhc2VCdWRnZXQYGyABKAsyKS5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZ0xlYXNlQnVkZ2V0EiAKGGxlYXNlQnV5YmFja0xvb2tiYWNrRGF5cxgcIAEoBRIdChVsZWFzZVN3YXBMb29rYmFja0RheXMYHSABKAUSDAoEbmFtZRgeIAEoCRIpCglwYXJ0bmVySWQYHyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJcGxhblRyaWFsGCAgASgIEhgKEHBsYW5UcmlhbEV4cGlyZXMYISABKAkSFgoOcGxhblR5cGVDaG9zZW4YIiABKAkSGQoRcGxhblR5cGVFZmZlY3RpdmUYIyABKAkSLgoOcHJpbWFyeUFkZHJlc3MYJCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLQoNcHJvbW90aW9uQ29kZRglIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRJaChZwcm92aWRlclJvb3RTZWdtZW50SWRzGCYgAygLMjouYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmcuUHJvdmlkZXJSb290U2VnbWVudElkc0VudHJ5Gj0KG1Byb3ZpZGVyUm9vdFNlZ21lbnRJZHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIlQKGEF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIUCgxvbmJvYXJkaW5nSWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAkisgcKFEF6dXJlT25ib2FyZGluZ1N0YXRlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIRCgljb21wbGV0ZWQYBCABKAgSEQoJY3JlYXRlZEF0GAUgASgJEjoKCWNyZWF0ZWRCeRgGIAEoCzInLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5EisKC2ludGVncmF0aW9uGAcgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhUKDWludGVncmF0aW9uSWQYCCABKAkSGgoSYXJjaGVyYU91dGJvdW5kSXBzGAkgAygJEhAKCHRlbmFudElkGAogASgJEhYKDnN1YnNjcmlwdGlvbklkGAsgASgJEhIKCmFjY291bnRJZHMYDCADKAkSEwoLYWNjb3VudEtpbmQYDSABKAkSMAoQYXBwQXV0aFZhbGlkYXRlZBgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRItCg1hcHBBdXRob3JpemVkGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhUKDWJsb2JDb250YWluZXIYECABKAkSFQoNcmVzb3VyY2VHcm91cBgRIAEoCRIWCg5zdG9yYWdlQWNjb3VudBgSIAEoCRIQCghyb2xlTmFtZRgTIAEoCRIvCg9jcmVhdGVSZXNvdXJjZXMYFCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUbWFya2V0cGxhY2VDb21wbGV0ZWQYFSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPcGVybWlzc2lvbkxldmVsGBYgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YFyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YGCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBogASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEisKA29yZxgbIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnIpMBChxTdGFydEF6dXJlT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIyCgVzdGF0ZRgCIAEoCzIjLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJY29tcGFueUlkGAQgASgJIjAKIUdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmxSZXNwb25zZRILCgN1cmwYASABKAkidgoMQXp1cmVBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIVCg1hY2NvdW50U3RhdHVzGAMgASgJEhMKC2FjY291bnRUeXBlGAQgASgJEhIKCmlzRWxpZ2libGUYBSABKAgiVAojTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVzcG9uc2USLQoIYWNjb3VudHMYASADKAsyGy5ibHVlYXBpLmdjLnYxLkF6dXJlQWNjb3VudCJQCh1BenVyZUludGVncmF0aW9uRmVhdHVyZVN0YXR1cxIPCgdmZWF0dXJlGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIOCgZkZXRhaWwYAyADKAkiwgEKGkF6dXJlSW50ZWdyYXRpb25PbmJvYXJkaW5nEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhUKDWludGVncmF0aW9uSWQYBCABKAkSEQoJY29tcGxldGVkGAUgASgIEhEKCWNyZWF0ZWRBdBgGIAEoCRI6CgljcmVhdGVkQnkYByABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeSLuBAoQQXp1cmVJbnRlZ3JhdGlvbhIKCgJpZBgBIAEoCRIOCgZhY3RpdmUYAiABKAgSDAoEbmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIMCgR0eXBlGAUgASgJEg0KBW9yZ0lkGAYgASgJEg4KBnVzZXJJZBgHIAEoCRIRCgljcmVhdGVkQXQYCCABKAkSEQoJdXBkYXRlZEF0GAkgASgJEiAKGG1hbmFnZW1lbnRTdWJzY3JpcHRpb25JZBgKIAEoCRIeChZwcm92aWRlck9yZ2FuaXphdGlvbklkGAsgASgJEhUKDWJsb2JDb250YWluZXIYDCABKAkSFQoNcmVzb3VyY2VHcm91cBgNIAEoCRIWCg5zdG9yYWdlQWNjb3VudBgOIAEoCRIYChBjb3N0RXhwb3J0Rm9ybWF0GA8gASgJEhcKD2N1ckVhcmxpZXN0RGF0YRgQIAEoCRIVCg1jdXJSZXBvcnROYW1lGBEgASgJEhEKCWN1clVzYWJsZRgSIAEoCBIUCgxoYXNDdXJBY2Nlc3MYEyABKAgSIAoYaGFzRnVsbFJlc2VydmF0aW9uQWNjZXNzGBQgASgIEkUKD2ZlYXR1cmVTdGF0dXNlcxgVIAMoCzIsLmJsdWVhcGkuZ2MudjEuQXp1cmVJbnRlZ3JhdGlvbkZlYXR1cmVTdGF0dXMSPgoLb25ib2FyZGluZ3MYFiADKAsyKS5ibHVlYXBpLmdjLnYxLkF6dXJlSW50ZWdyYXRpb25PbmJvYXJkaW5nEicKBmNvbmZpZxgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QitAEKHkNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhEKCWVycm9yQ29kZRgCIAEoCRIUCgxlcnJvck1lc3NhZ2UYAyABKAkSFQoNaW50ZWdyYXRpb25JZBgEIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgFIAEoCRIRCgljb21wYW55SWQYBiABKAkSFgoOcGF5ZXJBY2NvdW50SWQYByABKAkiVgodTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVzcG9uc2USNQoMaW50ZWdyYXRpb25zGAEgAygLMh8uYmx1ZWFwaS5nYy52MS5BenVyZUludGVncmF0aW9uKoICChFUZXJtc0NvbnNlbnRTdGF0ZRIjCh9URVJNU19DT05TRU5UX1NUQVRFX1VOU1BFQ0lGSUVEEAASJQohVEVSTVNfQ09OU0VOVF9TVEFURV9OT19BQ1RJVkVfVE9TEAESKAokVEVSTVNfQ09OU0VOVF9TVEFURV9DT05TRU5UX1JFUVVJUkVEEAISIQodVEVSTVNfQ09OU0VOVF9TVEFURV9DT05TRU5URUQQAxIoCiRURVJNU19DT05TRU5UX1NUQVRFX1VQREFURV9BVkFJTEFCTEUQBBIqCiZURVJNU19DT05TRU5UX1NUQVRFX1JFQ09OU0VOVF9SRVFVSVJFRBAFKl4KCFByb3ZpZGVyEhgKFFBST1ZJREVSX1VOU1BFQ0lGSUVEEAASBwoDQVdTEAESCQoFQVpVUkUQAhIHCgNHQ1AQAxIOCgpLVUJFUk5FVEVTEAQSCwoHVU5LTk9XThAFKpgBChBDb21taXRtZW50U3RhdHVzEiEKHUNPTU1JVE1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASBwoDTkVXEAESDAoIUkVWSUVXRUQQAhINCglTQ0hFRFVMRUQQAxINCglDT01QTEVURUQQBBIJCgVEUkFGVBAFEhAKDE5FRURTX1JFVklFVxAGEg8KC0lOX1BST0dSRVNTEAcqigEKGUNvbW1pdG1lbnRJbnZlbnRvcnlTdGF0dXMSKwonQ09NTUlUTUVOVF9JTlZFTlRPUllfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCgoGQUNUSVZFEAESCwoHUkVUSVJFRBACEhMKD1BBWU1FTlRfUEVORElORxADEhIKDlBBWU1FTlRfRkFJTEVEEAQqQwoFU2NvcGUSFQoRU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZTSEFSRUQQARIMCghSRUdJT05BTBACEgkKBVpPTkFMEAMqQQoJVXNhZ2VUeXBlEhoKFlVTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABILCgdSVU5OSU5HEAESCwoHU1RPUFBFRBACMoM7ChVHdWFyYW50ZWVkQ29tbWl0bWVudHMSYwoITGlzdE9yZ3MSHi5ibHVlYXBpLmdjLnYxLkxpc3RPcmdzUmVxdWVzdBoSLmJsdWVhcGkuZ2MudjEuT3JnIiGC0+STAhs6ASoiFi92MS9vcmdhbml6YXRpb25zOnJlYWQwARKXAQoUQ29tbWl0bWVudHNQbGFuQXBwbHkSKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiLoLT5JMCKDoBKiIjL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vYXBwbHkSeQoPTGlzdENvbW1pdG1lbnRzEiUuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXF1ZXN0GiYuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXNwb25zZSIXgtPkkwIREg8vdjEvY29tbWl0bWVudHMSlwEKE0dldENvbW1pdG1lbnRzQ2hhcnQSKS5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzQ2hhcnRSZXF1ZXN0GicuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0UmVzcG9uc2UiLILT5JMCJhIkL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L2NoYXJ0Eq8BChlHZXRDb21taXRtZW50c1V0aWxpemF0aW9uEi8uYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvblJlc3BvbnNlIjKC0+STAiwSKi92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS91dGlsaXphdGlvbhKMAQoVUmVhZENvbW1pdG1lbnRSZXBvcnRzEisuYmx1ZWFwaS5nYy52MS5SZWFkQ29tbWl0bWVudFJlcG9ydHNSZXF1ZXN0Gh8uYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UmVwb3J0IiOC0+STAh06ASoiGC92MS9yZXBvcnRzL2ludm9pY2U6cmVhZDABErIBChxSZWFkQ29tbWl0bWVudFJlcG9ydEFjY291bnRzEjIuYmx1ZWFwaS5nYy52MS5SZWFkQ29tbWl0bWVudFJlcG9ydEFjY291bnRzUmVxdWVzdBomLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFJlcG9ydEFjY291bnQiNILT5JMCLjoBKiIpL3YxL3JlcG9ydHMvaW52b2ljZS97bW9udGh9L2FjY291bnRzOnJlYWQwARJjCgpHZXRNZXRyaWNzEiAuYmx1ZWFwaS5nYy52MS5HZXRNZXRyaWNzUmVxdWVzdBoeLmJsdWVhcGkuZ2MudjEuTWV0cmljc1Jlc3BvbnNlIhOC0+STAg0SCy92MS9tZXRyaWNzEnEKDUxpc3RSZXNvdXJjZXMSIy5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVzcG9uc2UiFYLT5JMCDxINL3YxL3Jlc291cmNlcxKhAQoVR2V0UmVzb3VyY2VEYWlseVVzYWdlEisuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZSItgtPkkwInEiUvdjEvcmVzb3VyY2VzL3tyZXNvdXJjZUlkfS9kYWlseXVzYWdlEpsBChdMaXN0UmVzZXJ2YWJsZVJlc291cmNlcxItLmJsdWVhcGkuZ2MudjEuTGlzdFJlc2VydmFibGVSZXNvdXJjZXNSZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1Jlc3BvbnNlIiGC0+STAhsSGS92MS9jb21taXRtZW50cy9yZXNvdXJjZXMSqAEKGkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjAuYmx1ZWFwaS5nYy52MS5MaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiJYLT5JMCHxIdL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMSxAEKIEdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjYuYmx1ZWFwaS5nYy52MS5HZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnM6dXBkYXRlEqgBChdHZXRQdXJjaGFzZVBsYW5zRGV0YWlscxItLmJsdWVhcGkuZ2MudjEuR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1Jlc3BvbnNlIi6C0+STAigSJi92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL3twbGFuSWR9EqsBChpTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdBIwLmJsdWVhcGkuZ2MudjEuU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIjeC0+STAjE6ASoiLC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0L3twbGFuSWR9EqIBChZMaXN0RHJhZnRQdXJjaGFzZVBsYW5zEiwuYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1Jlc3BvbnNlIiuC0+STAiUSIy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0ErMBChdEZWxldGVEcmFmdFB1cmNoYXNlUGxhbhItLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlIjmC0+STAjMqMS92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0L3tkcmFmdFBsYW5JZH0SugEKG0dldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlcxIxLmJsdWVhcGkuZ2MudjEuR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzUmVxdWVzdBoyLmJsdWVhcGkuZ2MudjEuR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzUmVzcG9uc2UiNILT5JMCLhIsL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvYXZhaWxhYmxldHlwZXMSsgEKGkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuEjAuYmx1ZWFwaS5nYy52MS5DcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvY3VzdG9tEm8KC1JlZ2lzdGVyT3JnEiEuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL29uYm9hcmRpbmcSjgEKElN0YXJ0QXdzT25ib2FyZGluZxIoLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBopLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL29uYm9hcmRpbmcvYXdzL3N0YXJ0ErsBChxHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlEjIuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBozLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlIjKC0+STAiwSKi92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi90ZW1wbGF0ZRKpAQoUR2V0QXdzTGF1bmNoU3RhY2tVcmwSKi5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vbGF1bmNoc3RhY2t1cmwSkgEKE1ZlcmlmeUF3c09uYm9hcmRpbmcSKS5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL29uYm9hcmRpbmcvYXdzL3ZlcmlmeRKTAQoTR2V0T25ib2FyZGluZ1N0YXR1cxIpLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9zdGF0dXM6cmVhZBKIAQoRTGlzdFBheWVyQWNjb3VudHMSJy5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVxdWVzdBooLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZSIggtPkkwIaEhgvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMSpgEKFlNldFBheWVyQWNjb3VudEVuYWJsZWQSLC5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3tjb21wYW55SWR9EpsBChVHZXRQYXllckFjY291bnRTdGF0dXMSKy5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1Jlc3BvbnNlIieC0+STAiESHy92MS9tYW5hZ2VtZW50cy9hY2NvdW50cy9zdGF0dXMSjQEKEUxpc3RCaWxsaW5nR3JvdXBzEicuYmx1ZWFwaS5nYy52MS5MaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QaKC5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UiJYLT5JMCHxIdL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMSqAEKFVNldEJpbGxpbmdHcm91cFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMve2NvbXBhbnlJZH0SoAEKFUdldEJpbGxpbmdHcm91cFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuR2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVzcG9uc2UiLILT5JMCJhIkL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMvc3RhdHVzEqABChRWYWxpZGF0ZUJpbGxpbmdHcm91cBIqLmJsdWVhcGkuZ2MudjEuVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUJpbGxpbmdHcm91cFJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9vbmJvYXJkaW5nL2JpbGxpbmdncm91cDp2YWxpZGF0ZRKjAQoSR2V0QXdzUHJpdmF0ZU9mZmVyEiguYmx1ZWFwaS5nYy52MS5HZXRBd3NQcml2YXRlT2ZmZXJSZXF1ZXN0GikuYmx1ZWFwaS5nYy52MS5HZXRBd3NQcml2YXRlT2ZmZXJSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvcHJpdmF0ZW9mZmVyL3twYXllckFjY291bnRJZH0SrwEKF0FjY2VwdEJpbGxpbmdHcm91cFRlcm1zEi0uYmx1ZWFwaS5nYy52MS5BY2NlcHRCaWxsaW5nR3JvdXBUZXJtc1JlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkFjY2VwdEJpbGxpbmdHcm91cFRlcm1zUmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMvdGVybXM6YWNjZXB0Es8BCiJHZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsEjguYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVxdWVzdBo5LmJsdWVhcGkuZ2MudjEuR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlIjSC0+STAi4SLC92MS9vbmJvYXJkaW5nL2F3cy9jZnRlbXBsYXRlL2d1YXJhbnRlZWQ6dXJsEsgBCiBDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2VzcxI2LmJsdWVhcGkuZ2MudjEuQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0GjcuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlIjOC0+STAi06ASoiKC92MS9vbmJvYXJkaW5nL2F3cy9jZnRlbXBsYXRlL2d1YXJhbnRlZWQSlgEKFFN0YXJ0QXp1cmVPbmJvYXJkaW5nEiouYmx1ZWFwaS5nYy52MS5TdGFydEF6dXJlT25ib2FyZGluZ1JlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLlN0YXJ0QXp1cmVPbmJvYXJkaW5nUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL29uYm9hcmRpbmcvYXp1cmUvc3RhcnQSoAEKFVVwZGF0ZUF6dXJlT25ib2FyZGluZxIrLmJsdWVhcGkuZ2MudjEuVXBkYXRlQXp1cmVPbmJvYXJkaW5nUmVxdWVzdBojLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUiNYLT5JMCLzoBKiIqL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH06dXBkYXRlErMBChlHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsEi8uYmx1ZWFwaS5nYy52MS5HZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVxdWVzdBowLmJsdWVhcGkuZ2MudjEuR2V0QXp1cmVPbmJvYXJkaW5nQXV0aFVybFJlc3BvbnNlIjOC0+STAi0SKy92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L2F1dGh1cmwSpgEKF1ZhbGlkYXRlQXp1cmVBcHBJbnN0YWxsEi0uYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUF6dXJlQXBwSW5zdGFsbFJlcXVlc3QaIy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ1N0YXRlIjeC0+STAjE6ASoiLC92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L3ZhbGlkYXRlEroBChtMaXN0QXp1cmVPbmJvYXJkaW5nQWNjb3VudHMSMS5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1Jlc3BvbnNlIjSC0+STAi4SLC92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L2FjY291bnRzEqIBChZDcmVhdGVBenVyZUludGVncmF0aW9uEiwuYmx1ZWFwaS5nYy52MS5DcmVhdGVBenVyZUludGVncmF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ3JlYXRlQXp1cmVJbnRlZ3JhdGlvblJlc3BvbnNlIiuC0+STAiU6ASoiIC92MS9vbmJvYXJkaW5nL2F6dXJlL2ludGVncmF0aW9uEp0BChVMaXN0QXp1cmVJbnRlZ3JhdGlvbnMSKy5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZUludGVncmF0aW9uc1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZUludGVncmF0aW9uc1Jlc3BvbnNlIimC0+STAiMSIS92MS9vbmJvYXJkaW5nL2F6dXJlL2ludGVncmF0aW9ucxKMAQoVR2V0VGVybXNDb25zZW50U3RhdHVzEisuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXNwb25zZSIYgtPkkwISEhAvdjEvdGVybXMvc3RhdHVzEooBChBHZXRUZXJtc0RvY3VtZW50EiYuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0RvY3VtZW50UmVxdWVzdBonLmJsdWVhcGkuZ2MudjEuR2V0VGVybXNEb2N1bWVudFJlc3BvbnNlIiWC0+STAh8SHS92MS90ZXJtcy9kb2N1bWVudC97bGFuZ3VhZ2V9EnEKC0FjY2VwdFRlcm1zEiEuYmx1ZWFwaS5nYy52MS5BY2NlcHRUZXJtc1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLkFjY2VwdFRlcm1zUmVzcG9uc2UiG4LT5JMCFToBKiIQL3YxL3Rlcm1zOmFjY2VwdBqiAZJBngESUChBbHBoYSkgR3VhcmFudGVlZENvbW1pdG1lbnRzIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2djGkoKElNlcnZpY2UgZGVmaW5pdGlvbhI0aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2djL0JVChRjbG91ZC5hbHBoYXVzLmFwaS5nY0IaR3VhcmFudGVlZENvbW1pdG1lbnRzUHJvdG9aIWdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9nY2IGcHJvdG8z", [annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
19
+ /**
20
+ * Describes the message blueapi.gc.v1.GetTermsConsentStatusRequest.
21
+ * Use `create(GetTermsConsentStatusRequestSchema)` to create a new message.
22
+ */
23
+ exports.GetTermsConsentStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 0);
24
+ /**
25
+ * Describes the message blueapi.gc.v1.GetTermsDocumentRequest.
26
+ * Use `create(GetTermsDocumentRequestSchema)` to create a new message.
27
+ */
28
+ exports.GetTermsDocumentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 1);
29
+ /**
30
+ * Describes the message blueapi.gc.v1.AcceptTermsRequest.
31
+ * Use `create(AcceptTermsRequestSchema)` to create a new message.
32
+ */
33
+ exports.AcceptTermsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 2);
17
34
  /**
18
35
  * Describes the message blueapi.gc.v1.ListOrgsRequest.
19
36
  * Use `create(ListOrgsRequestSchema)` to create a new message.
20
37
  */
21
- exports.ListOrgsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 0);
38
+ exports.ListOrgsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 3);
22
39
  /**
23
40
  * Describes the message blueapi.gc.v1.CommitmentPlanApplyRequest.
24
41
  * Use `create(CommitmentPlanApplyRequestSchema)` to create a new message.
25
42
  */
26
- exports.CommitmentPlanApplyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 1);
43
+ exports.CommitmentPlanApplyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 4);
27
44
  /**
28
45
  * Describes the message blueapi.gc.v1.ListCommitmentsRequest.
29
46
  * Use `create(ListCommitmentsRequestSchema)` to create a new message.
30
47
  */
31
- exports.ListCommitmentsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 2);
48
+ exports.ListCommitmentsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 5);
32
49
  /**
33
50
  * Describes the message blueapi.gc.v1.GetCommitmentsChartRequest.
34
51
  * Use `create(GetCommitmentsChartRequestSchema)` to create a new message.
35
52
  */
36
- exports.GetCommitmentsChartRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 3);
53
+ exports.GetCommitmentsChartRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 6);
37
54
  /**
38
55
  * Describes the message blueapi.gc.v1.GetCommitmentsUtilizationRequest.
39
56
  * Use `create(GetCommitmentsUtilizationRequestSchema)` to create a new message.
40
57
  */
41
- exports.GetCommitmentsUtilizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 4);
58
+ exports.GetCommitmentsUtilizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 7);
59
+ /**
60
+ * Describes the message blueapi.gc.v1.ReadCommitmentReportsRequest.
61
+ * Use `create(ReadCommitmentReportsRequestSchema)` to create a new message.
62
+ */
63
+ exports.ReadCommitmentReportsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 8);
64
+ /**
65
+ * Describes the message blueapi.gc.v1.ReadCommitmentReportAccountsRequest.
66
+ * Use `create(ReadCommitmentReportAccountsRequestSchema)` to create a new message.
67
+ */
68
+ exports.ReadCommitmentReportAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 9);
42
69
  /**
43
70
  * Describes the message blueapi.gc.v1.GetMetricsRequest.
44
71
  * Use `create(GetMetricsRequestSchema)` to create a new message.
45
72
  */
46
- exports.GetMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 5);
73
+ exports.GetMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 10);
47
74
  /**
48
75
  * Describes the message blueapi.gc.v1.ListResourcesRequest.
49
76
  * Use `create(ListResourcesRequestSchema)` to create a new message.
50
77
  */
51
- exports.ListResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 6);
78
+ exports.ListResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 11);
52
79
  /**
53
80
  * Describes the message blueapi.gc.v1.GetResourceDailyUsageRequest.
54
81
  * Use `create(GetResourceDailyUsageRequestSchema)` to create a new message.
55
82
  */
56
- exports.GetResourceDailyUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 7);
83
+ exports.GetResourceDailyUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 12);
57
84
  /**
58
85
  * Describes the message blueapi.gc.v1.ListReservableResourcesRequest.
59
86
  * Use `create(ListReservableResourcesRequestSchema)` to create a new message.
60
87
  */
61
- exports.ListReservableResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 8);
88
+ exports.ListReservableResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 13);
62
89
  /**
63
90
  * Describes the message blueapi.gc.v1.ListPurchasePlansBySegmentRequest.
64
91
  * Use `create(ListPurchasePlansBySegmentRequestSchema)` to create a new message.
65
92
  */
66
- exports.ListPurchasePlansBySegmentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 9);
93
+ exports.ListPurchasePlansBySegmentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 14);
67
94
  /**
68
95
  * Describes the message blueapi.gc.v1.GetPurchasePlansDetailsRequest.
69
96
  * Use `create(GetPurchasePlansDetailsRequestSchema)` to create a new message.
70
97
  */
71
- exports.GetPurchasePlansDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 10);
98
+ exports.GetPurchasePlansDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 15);
72
99
  /**
73
100
  * Describes the message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentRequest.
74
101
  * Use `create(GetUpdatedPurchasePlansBySegmentRequestSchema)` to create a new message.
75
102
  */
76
- exports.GetUpdatedPurchasePlansBySegmentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 11);
103
+ exports.GetUpdatedPurchasePlansBySegmentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 16);
77
104
  /**
78
105
  * Describes the message blueapi.gc.v1.OrgUser.
79
106
  * Use `create(OrgUserSchema)` to create a new message.
80
107
  */
81
- exports.OrgUserSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 12);
108
+ exports.OrgUserSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 17);
82
109
  /**
83
110
  * Describes the message blueapi.gc.v1.Membership.
84
111
  * Use `create(MembershipSchema)` to create a new message.
85
112
  */
86
- exports.MembershipSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 13);
113
+ exports.MembershipSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 18);
87
114
  /**
88
115
  * Describes the message blueapi.gc.v1.Address.
89
116
  * Use `create(AddressSchema)` to create a new message.
90
117
  */
91
- exports.AddressSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 14);
118
+ exports.AddressSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 19);
92
119
  /**
93
120
  * Describes the message blueapi.gc.v1.AwsExistingCur.
94
121
  * Use `create(AwsExistingCurSchema)` to create a new message.
95
122
  */
96
- exports.AwsExistingCurSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 15);
123
+ exports.AwsExistingCurSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 20);
124
+ /**
125
+ * Describes the message blueapi.gc.v1.TermsAcceptance.
126
+ * Use `create(TermsAcceptanceSchema)` to create a new message.
127
+ */
128
+ exports.TermsAcceptanceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 21);
97
129
  /**
98
130
  * Describes the message blueapi.gc.v1.RegisterOrgRequest.
99
131
  * Use `create(RegisterOrgRequestSchema)` to create a new message.
100
132
  */
101
- exports.RegisterOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 16);
133
+ exports.RegisterOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 22);
102
134
  /**
103
135
  * Describes the message blueapi.gc.v1.StartAwsOnboardingRequest.
104
136
  * Use `create(StartAwsOnboardingRequestSchema)` to create a new message.
105
137
  */
106
- exports.StartAwsOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 17);
138
+ exports.StartAwsOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 23);
107
139
  /**
108
140
  * Describes the message blueapi.gc.v1.GetAwsCloudFormationTemplateRequest.
109
141
  * Use `create(GetAwsCloudFormationTemplateRequestSchema)` to create a new message.
110
142
  */
111
- exports.GetAwsCloudFormationTemplateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 18);
143
+ exports.GetAwsCloudFormationTemplateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 24);
112
144
  /**
113
145
  * Describes the message blueapi.gc.v1.GetAwsLaunchStackUrlRequest.
114
146
  * Use `create(GetAwsLaunchStackUrlRequestSchema)` to create a new message.
115
147
  */
116
- exports.GetAwsLaunchStackUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 19);
148
+ exports.GetAwsLaunchStackUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 25);
117
149
  /**
118
150
  * Describes the message blueapi.gc.v1.VerifyAwsOnboardingRequest.
119
151
  * Use `create(VerifyAwsOnboardingRequestSchema)` to create a new message.
120
152
  */
121
- exports.VerifyAwsOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 20);
153
+ exports.VerifyAwsOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 26);
122
154
  /**
123
155
  * Describes the message blueapi.gc.v1.GetOnboardingStatusRequest.
124
156
  * Use `create(GetOnboardingStatusRequestSchema)` to create a new message.
125
157
  */
126
- exports.GetOnboardingStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 21);
158
+ exports.GetOnboardingStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 27);
127
159
  /**
128
160
  * Describes the message blueapi.gc.v1.ListPayerAccountsRequest.
129
161
  * Use `create(ListPayerAccountsRequestSchema)` to create a new message.
130
162
  */
131
- exports.ListPayerAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 22);
163
+ exports.ListPayerAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 28);
132
164
  /**
133
165
  * Describes the message blueapi.gc.v1.SetPayerAccountEnabledRequest.
134
166
  * Use `create(SetPayerAccountEnabledRequestSchema)` to create a new message.
135
167
  */
136
- exports.SetPayerAccountEnabledRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 23);
168
+ exports.SetPayerAccountEnabledRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 29);
137
169
  /**
138
170
  * Describes the message blueapi.gc.v1.GetPayerAccountStatusRequest.
139
171
  * Use `create(GetPayerAccountStatusRequestSchema)` to create a new message.
140
172
  */
141
- exports.GetPayerAccountStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 24);
173
+ exports.GetPayerAccountStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 30);
142
174
  /**
143
175
  * Describes the message blueapi.gc.v1.ListBillingGroupsRequest.
144
176
  * Use `create(ListBillingGroupsRequestSchema)` to create a new message.
145
177
  */
146
- exports.ListBillingGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 25);
178
+ exports.ListBillingGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 31);
147
179
  /**
148
180
  * Describes the message blueapi.gc.v1.SetBillingGroupStatusRequest.
149
181
  * Use `create(SetBillingGroupStatusRequestSchema)` to create a new message.
150
182
  */
151
- exports.SetBillingGroupStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 26);
183
+ exports.SetBillingGroupStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 32);
152
184
  /**
153
185
  * Describes the message blueapi.gc.v1.GetBillingGroupStatusRequest.
154
186
  * Use `create(GetBillingGroupStatusRequestSchema)` to create a new message.
155
187
  */
156
- exports.GetBillingGroupStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 27);
188
+ exports.GetBillingGroupStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 33);
157
189
  /**
158
190
  * Describes the message blueapi.gc.v1.ValidateBillingGroupRequest.
159
191
  * Use `create(ValidateBillingGroupRequestSchema)` to create a new message.
160
192
  */
161
- exports.ValidateBillingGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 28);
193
+ exports.ValidateBillingGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 34);
162
194
  /**
163
195
  * Describes the message blueapi.gc.v1.GetAwsPrivateOfferRequest.
164
196
  * Use `create(GetAwsPrivateOfferRequestSchema)` to create a new message.
165
197
  */
166
- exports.GetAwsPrivateOfferRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 29);
198
+ exports.GetAwsPrivateOfferRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 35);
199
+ /**
200
+ * Describes the message blueapi.gc.v1.AcceptBillingGroupTermsRequest.
201
+ * Use `create(AcceptBillingGroupTermsRequestSchema)` to create a new message.
202
+ */
203
+ exports.AcceptBillingGroupTermsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 36);
167
204
  /**
168
205
  * Describes the message blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest.
169
206
  * Use `create(SaveCommitmentsPlanAsDraftRequestSchema)` to create a new message.
170
207
  */
171
- exports.SaveCommitmentsPlanAsDraftRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 30);
208
+ exports.SaveCommitmentsPlanAsDraftRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 37);
172
209
  /**
173
210
  * Describes the message blueapi.gc.v1.ListDraftPurchasePlansRequest.
174
211
  * Use `create(ListDraftPurchasePlansRequestSchema)` to create a new message.
175
212
  */
176
- exports.ListDraftPurchasePlansRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 31);
213
+ exports.ListDraftPurchasePlansRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 38);
177
214
  /**
178
215
  * Describes the message blueapi.gc.v1.DeleteDraftPurchasePlanRequest.
179
216
  * Use `create(DeleteDraftPurchasePlanRequestSchema)` to create a new message.
180
217
  */
181
- exports.DeleteDraftPurchasePlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 32);
218
+ exports.DeleteDraftPurchasePlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 39);
182
219
  /**
183
220
  * Describes the message blueapi.gc.v1.GetAvailableCommitmentTypesRequest.
184
221
  * Use `create(GetAvailableCommitmentTypesRequestSchema)` to create a new message.
185
222
  */
186
- exports.GetAvailableCommitmentTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 33);
223
+ exports.GetAvailableCommitmentTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 40);
187
224
  /**
188
225
  * Describes the message blueapi.gc.v1.CreateCustomCommitmentPlanRequest.
189
226
  * Use `create(CreateCustomCommitmentPlanRequestSchema)` to create a new message.
190
227
  */
191
- exports.CreateCustomCommitmentPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 34);
228
+ exports.CreateCustomCommitmentPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 41);
192
229
  /**
193
230
  * Describes the message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlRequest.
194
231
  * Use `create(GetGuaranteedCommitmentTemplateUrlRequestSchema)` to create a new message.
195
232
  */
196
- exports.GetGuaranteedCommitmentTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 35);
233
+ exports.GetGuaranteedCommitmentTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 42);
197
234
  /**
198
235
  * Describes the message blueapi.gc.v1.CreateGuaranteedCommitmentAccessRequest.
199
236
  * Use `create(CreateGuaranteedCommitmentAccessRequestSchema)` to create a new message.
200
237
  */
201
- exports.CreateGuaranteedCommitmentAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 36);
238
+ exports.CreateGuaranteedCommitmentAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 43);
202
239
  /**
203
240
  * Describes the message blueapi.gc.v1.StartAzureOnboardingRequest.
204
241
  * Use `create(StartAzureOnboardingRequestSchema)` to create a new message.
205
242
  */
206
- exports.StartAzureOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 37);
243
+ exports.StartAzureOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 44);
207
244
  /**
208
245
  * Describes the message blueapi.gc.v1.UpdateAzureOnboardingRequest.
209
246
  * Use `create(UpdateAzureOnboardingRequestSchema)` to create a new message.
210
247
  */
211
- exports.UpdateAzureOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 38);
248
+ exports.UpdateAzureOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 45);
212
249
  /**
213
250
  * Describes the message blueapi.gc.v1.GetAzureOnboardingAuthUrlRequest.
214
251
  * Use `create(GetAzureOnboardingAuthUrlRequestSchema)` to create a new message.
215
252
  */
216
- exports.GetAzureOnboardingAuthUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 39);
253
+ exports.GetAzureOnboardingAuthUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 46);
217
254
  /**
218
255
  * Describes the message blueapi.gc.v1.ValidateAzureAppInstallRequest.
219
256
  * Use `create(ValidateAzureAppInstallRequestSchema)` to create a new message.
220
257
  */
221
- exports.ValidateAzureAppInstallRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 40);
258
+ exports.ValidateAzureAppInstallRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 47);
222
259
  /**
223
260
  * Describes the message blueapi.gc.v1.ListAzureOnboardingAccountsRequest.
224
261
  * Use `create(ListAzureOnboardingAccountsRequestSchema)` to create a new message.
225
262
  */
226
- exports.ListAzureOnboardingAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 41);
263
+ exports.ListAzureOnboardingAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 48);
227
264
  /**
228
265
  * Describes the message blueapi.gc.v1.CreateAzureIntegrationRequest.
229
266
  * Use `create(CreateAzureIntegrationRequestSchema)` to create a new message.
230
267
  */
231
- exports.CreateAzureIntegrationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 42);
268
+ exports.CreateAzureIntegrationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 49);
232
269
  /**
233
270
  * Describes the message blueapi.gc.v1.ListAzureIntegrationsRequest.
234
271
  * Use `create(ListAzureIntegrationsRequestSchema)` to create a new message.
235
272
  */
236
- exports.ListAzureIntegrationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 43);
273
+ exports.ListAzureIntegrationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 50);
274
+ /**
275
+ * Describes the message blueapi.gc.v1.TermsOfServiceVersion.
276
+ * Use `create(TermsOfServiceVersionSchema)` to create a new message.
277
+ */
278
+ exports.TermsOfServiceVersionSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 51);
279
+ /**
280
+ * Describes the message blueapi.gc.v1.GetTermsConsentStatusResponse.
281
+ * Use `create(GetTermsConsentStatusResponseSchema)` to create a new message.
282
+ */
283
+ exports.GetTermsConsentStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 52);
284
+ /**
285
+ * Describes the message blueapi.gc.v1.GetTermsDocumentResponse.
286
+ * Use `create(GetTermsDocumentResponseSchema)` to create a new message.
287
+ */
288
+ exports.GetTermsDocumentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 53);
289
+ /**
290
+ * Describes the message blueapi.gc.v1.TermsConsentRecord.
291
+ * Use `create(TermsConsentRecordSchema)` to create a new message.
292
+ */
293
+ exports.TermsConsentRecordSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 54);
294
+ /**
295
+ * Describes the message blueapi.gc.v1.AcceptTermsResponse.
296
+ * Use `create(AcceptTermsResponseSchema)` to create a new message.
297
+ */
298
+ exports.AcceptTermsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 55);
237
299
  /**
238
300
  * Describes the message blueapi.gc.v1.Org.
239
301
  * Use `create(OrgSchema)` to create a new message.
240
302
  */
241
- exports.OrgSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 44);
303
+ exports.OrgSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 56);
242
304
  /**
243
305
  * Describes the message blueapi.gc.v1.CommitmentPlanDetails.
244
306
  * Use `create(CommitmentPlanDetailsSchema)` to create a new message.
245
307
  */
246
- exports.CommitmentPlanDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 45);
308
+ exports.CommitmentPlanDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 57);
247
309
  /**
248
310
  * Describes the message blueapi.gc.v1.CommitmentPlanLineItem.
249
311
  * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
250
312
  */
251
- exports.CommitmentPlanLineItemSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 46);
313
+ exports.CommitmentPlanLineItemSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 58);
252
314
  /**
253
315
  * Describes the message blueapi.gc.v1.CommitmentPlanResourceMatch.
254
316
  * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
255
317
  */
256
- exports.CommitmentPlanResourceMatchSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 47);
318
+ exports.CommitmentPlanResourceMatchSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 59);
257
319
  /**
258
320
  * Describes the message blueapi.gc.v1.Lease.
259
321
  * Use `create(LeaseSchema)` to create a new message.
260
322
  */
261
- exports.LeaseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 48);
323
+ exports.LeaseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 60);
262
324
  /**
263
325
  * Describes the message blueapi.gc.v1.DailyUtilization.
264
326
  * Use `create(DailyUtilizationSchema)` to create a new message.
265
327
  */
266
- exports.DailyUtilizationSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 49);
328
+ exports.DailyUtilizationSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 61);
267
329
  /**
268
330
  * Describes the message blueapi.gc.v1.Commitment.
269
331
  * Use `create(CommitmentSchema)` to create a new message.
270
332
  */
271
- exports.CommitmentSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 50);
333
+ exports.CommitmentSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 62);
272
334
  /**
273
335
  * Describes the message blueapi.gc.v1.ListCommitmentsResponse.
274
336
  * Use `create(ListCommitmentsResponseSchema)` to create a new message.
275
337
  */
276
- exports.ListCommitmentsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 51);
338
+ exports.ListCommitmentsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 63);
277
339
  /**
278
340
  * Describes the message blueapi.gc.v1.CommitmentsChartData.
279
341
  * Use `create(CommitmentsChartDataSchema)` to create a new message.
280
342
  */
281
- exports.CommitmentsChartDataSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 52);
343
+ exports.CommitmentsChartDataSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 64);
282
344
  /**
283
345
  * Describes the message blueapi.gc.v1.CommitmentsChartResponse.
284
346
  * Use `create(CommitmentsChartResponseSchema)` to create a new message.
285
347
  */
286
- exports.CommitmentsChartResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 53);
348
+ exports.CommitmentsChartResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 65);
287
349
  /**
288
350
  * Describes the message blueapi.gc.v1.CommitmentsUtilizationData.
289
351
  * Use `create(CommitmentsUtilizationDataSchema)` to create a new message.
290
352
  */
291
- exports.CommitmentsUtilizationDataSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 54);
353
+ exports.CommitmentsUtilizationDataSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 66);
292
354
  /**
293
355
  * Describes the message blueapi.gc.v1.CommitmentsUtilizationResponse.
294
356
  * Use `create(CommitmentsUtilizationResponseSchema)` to create a new message.
295
357
  */
296
- exports.CommitmentsUtilizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 55);
358
+ exports.CommitmentsUtilizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 67);
359
+ /**
360
+ * Describes the message blueapi.gc.v1.CommitmentReport.
361
+ * Use `create(CommitmentReportSchema)` to create a new message.
362
+ */
363
+ exports.CommitmentReportSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 68);
364
+ /**
365
+ * Describes the message blueapi.gc.v1.CommitmentReportAccount.
366
+ * Use `create(CommitmentReportAccountSchema)` to create a new message.
367
+ */
368
+ exports.CommitmentReportAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 69);
297
369
  /**
298
370
  * Describes the message blueapi.gc.v1.MetricsResponse.
299
371
  * Use `create(MetricsResponseSchema)` to create a new message.
300
372
  */
301
- exports.MetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 56);
373
+ exports.MetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 70);
302
374
  /**
303
375
  * Describes the message blueapi.gc.v1.Resource.
304
376
  * Use `create(ResourceSchema)` to create a new message.
305
377
  */
306
- exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 57);
378
+ exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 71);
307
379
  /**
308
380
  * Describes the message blueapi.gc.v1.ListResourcesResponse.
309
381
  * Use `create(ListResourcesResponseSchema)` to create a new message.
310
382
  */
311
- exports.ListResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 58);
383
+ exports.ListResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 72);
312
384
  /**
313
385
  * Describes the message blueapi.gc.v1.ResourceDailyUsage.
314
386
  * Use `create(ResourceDailyUsageSchema)` to create a new message.
315
387
  */
316
- exports.ResourceDailyUsageSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 59);
388
+ exports.ResourceDailyUsageSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 73);
317
389
  /**
318
390
  * Describes the message blueapi.gc.v1.GetResourceDailyUsageResponse.
319
391
  * Use `create(GetResourceDailyUsageResponseSchema)` to create a new message.
320
392
  */
321
- exports.GetResourceDailyUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 60);
393
+ exports.GetResourceDailyUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 74);
322
394
  /**
323
395
  * Describes the message blueapi.gc.v1.ReservableResource.
324
396
  * Use `create(ReservableResourceSchema)` to create a new message.
325
397
  */
326
- exports.ReservableResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 61);
398
+ exports.ReservableResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 75);
327
399
  /**
328
400
  * Describes the message blueapi.gc.v1.ListReservableResourcesResponse.
329
401
  * Use `create(ListReservableResourcesResponseSchema)` to create a new message.
330
402
  */
331
- exports.ListReservableResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 62);
403
+ exports.ListReservableResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 76);
332
404
  /**
333
405
  * Describes the message blueapi.gc.v1.Segment.
334
406
  * Use `create(SegmentSchema)` to create a new message.
335
407
  */
336
- exports.SegmentSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 63);
408
+ exports.SegmentSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 77);
337
409
  /**
338
410
  * Describes the message blueapi.gc.v1.SegmentCreator.
339
411
  * Use `create(SegmentCreatorSchema)` to create a new message.
340
412
  */
341
- exports.SegmentCreatorSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 64);
413
+ exports.SegmentCreatorSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 78);
342
414
  /**
343
415
  * Describes the message blueapi.gc.v1.PurchasePlan.
344
416
  * Use `create(PurchasePlanSchema)` to create a new message.
345
417
  */
346
- exports.PurchasePlanSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 65);
418
+ exports.PurchasePlanSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 79);
347
419
  /**
348
420
  * Describes the message blueapi.gc.v1.SegmentDetails.
349
421
  * Use `create(SegmentDetailsSchema)` to create a new message.
350
422
  */
351
- exports.SegmentDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 66);
423
+ exports.SegmentDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 80);
352
424
  /**
353
425
  * Describes the message blueapi.gc.v1.ContractSpec.
354
426
  * Use `create(ContractSpecSchema)` to create a new message.
355
427
  */
356
- exports.ContractSpecSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 67);
428
+ exports.ContractSpecSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 81);
357
429
  /**
358
430
  * Describes the message blueapi.gc.v1.PlanSummary.
359
431
  * Use `create(PlanSummarySchema)` to create a new message.
360
432
  */
361
- exports.PlanSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 68);
433
+ exports.PlanSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 82);
362
434
  /**
363
435
  * Describes the message blueapi.gc.v1.ServiceSummary.
364
436
  * Use `create(ServiceSummarySchema)` to create a new message.
365
437
  */
366
- exports.ServiceSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 69);
438
+ exports.ServiceSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 83);
367
439
  /**
368
440
  * Describes the message blueapi.gc.v1.AggregateMetrics.
369
441
  * Use `create(AggregateMetricsSchema)` to create a new message.
370
442
  */
371
- exports.AggregateMetricsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 70);
443
+ exports.AggregateMetricsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 84);
372
444
  /**
373
445
  * Describes the message blueapi.gc.v1.DefaultPurchasePlan.
374
446
  * Use `create(DefaultPurchasePlanSchema)` to create a new message.
375
447
  */
376
- exports.DefaultPurchasePlanSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 71);
448
+ exports.DefaultPurchasePlanSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 85);
377
449
  /**
378
450
  * Describes the message blueapi.gc.v1.ListPurchasePlansBySegmentResponse.
379
451
  * Use `create(ListPurchasePlansBySegmentResponseSchema)` to create a new message.
380
452
  */
381
- exports.ListPurchasePlansBySegmentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 72);
453
+ exports.ListPurchasePlansBySegmentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 86);
382
454
  /**
383
455
  * Describes the message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentResponse.
384
456
  * Use `create(GetUpdatedPurchasePlansBySegmentResponseSchema)` to create a new message.
385
457
  */
386
- exports.GetUpdatedPurchasePlansBySegmentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 73);
458
+ exports.GetUpdatedPurchasePlansBySegmentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 87);
387
459
  /**
388
460
  * Describes the message blueapi.gc.v1.PlanHistoryUser.
389
461
  * Use `create(PlanHistoryUserSchema)` to create a new message.
390
462
  */
391
- exports.PlanHistoryUserSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 74);
463
+ exports.PlanHistoryUserSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 88);
392
464
  /**
393
465
  * Describes the message blueapi.gc.v1.PlanHistoryEntry.
394
466
  * Use `create(PlanHistoryEntrySchema)` to create a new message.
395
467
  */
396
- exports.PlanHistoryEntrySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 75);
468
+ exports.PlanHistoryEntrySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 89);
397
469
  /**
398
470
  * Describes the message blueapi.gc.v1.RegisterOrgResponse.
399
471
  * Use `create(RegisterOrgResponseSchema)` to create a new message.
400
472
  */
401
- exports.RegisterOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 76);
473
+ exports.RegisterOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 90);
402
474
  /**
403
475
  * Describes the message blueapi.gc.v1.StartAwsOnboardingResponse.
404
476
  * Use `create(StartAwsOnboardingResponseSchema)` to create a new message.
405
477
  */
406
- exports.StartAwsOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 77);
478
+ exports.StartAwsOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 91);
407
479
  /**
408
480
  * Describes the message blueapi.gc.v1.GetAwsCloudFormationTemplateResponse.
409
481
  * Use `create(GetAwsCloudFormationTemplateResponseSchema)` to create a new message.
410
482
  */
411
- exports.GetAwsCloudFormationTemplateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 78);
483
+ exports.GetAwsCloudFormationTemplateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 92);
412
484
  /**
413
485
  * Describes the message blueapi.gc.v1.GetAwsLaunchStackUrlResponse.
414
486
  * Use `create(GetAwsLaunchStackUrlResponseSchema)` to create a new message.
415
487
  */
416
- exports.GetAwsLaunchStackUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 79);
488
+ exports.GetAwsLaunchStackUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 93);
417
489
  /**
418
490
  * Describes the message blueapi.gc.v1.VerifyAwsOnboardingResponse.
419
491
  * Use `create(VerifyAwsOnboardingResponseSchema)` to create a new message.
420
492
  */
421
- exports.VerifyAwsOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 80);
493
+ exports.VerifyAwsOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 94);
422
494
  /**
423
495
  * Describes the message blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.
424
496
  * Use `create(VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema)` to create a new message.
425
497
  */
426
- exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 80, 0);
498
+ exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 94, 0);
427
499
  /**
428
500
  * @generated from enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus
429
501
  */
@@ -453,12 +525,12 @@ var VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureSt
453
525
  /**
454
526
  * Describes the enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus.
455
527
  */
456
- exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 80, 0, 0);
528
+ exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 94, 0, 0);
457
529
  /**
458
530
  * Describes the message blueapi.gc.v1.GetOnboardingStatusResponse.
459
531
  * Use `create(GetOnboardingStatusResponseSchema)` to create a new message.
460
532
  */
461
- exports.GetOnboardingStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 81);
533
+ exports.GetOnboardingStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 95);
462
534
  /**
463
535
  * @generated from enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus
464
536
  */
@@ -500,22 +572,22 @@ var GetOnboardingStatusResponse_OnboardingStatus;
500
572
  /**
501
573
  * Describes the enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus.
502
574
  */
503
- exports.GetOnboardingStatusResponse_OnboardingStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 81, 0);
575
+ exports.GetOnboardingStatusResponse_OnboardingStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 95, 0);
504
576
  /**
505
577
  * Describes the message blueapi.gc.v1.PayerAccountDetails.
506
578
  * Use `create(PayerAccountDetailsSchema)` to create a new message.
507
579
  */
508
- exports.PayerAccountDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 82);
580
+ exports.PayerAccountDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 96);
509
581
  /**
510
582
  * Describes the message blueapi.gc.v1.ListPayerAccountsResponse.
511
583
  * Use `create(ListPayerAccountsResponseSchema)` to create a new message.
512
584
  */
513
- exports.ListPayerAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 83);
585
+ exports.ListPayerAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 97);
514
586
  /**
515
587
  * Describes the message blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount.
516
588
  * Use `create(ListPayerAccountsResponse_PayerAccountSchema)` to create a new message.
517
589
  */
518
- exports.ListPayerAccountsResponse_PayerAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 83, 0);
590
+ exports.ListPayerAccountsResponse_PayerAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 97, 0);
519
591
  /**
520
592
  * @generated from enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus
521
593
  */
@@ -537,27 +609,27 @@ var ListPayerAccountsResponse_PayerAccountStatus;
537
609
  /**
538
610
  * Describes the enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus.
539
611
  */
540
- exports.ListPayerAccountsResponse_PayerAccountStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 83, 0);
612
+ exports.ListPayerAccountsResponse_PayerAccountStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 97, 0);
541
613
  /**
542
614
  * Describes the message blueapi.gc.v1.SetPayerAccountEnabledResponse.
543
615
  * Use `create(SetPayerAccountEnabledResponseSchema)` to create a new message.
544
616
  */
545
- exports.SetPayerAccountEnabledResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 84);
617
+ exports.SetPayerAccountEnabledResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 98);
546
618
  /**
547
619
  * Describes the message blueapi.gc.v1.GetPayerAccountStatusResponse.
548
620
  * Use `create(GetPayerAccountStatusResponseSchema)` to create a new message.
549
621
  */
550
- exports.GetPayerAccountStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 85);
622
+ exports.GetPayerAccountStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 99);
551
623
  /**
552
624
  * Describes the message blueapi.gc.v1.ListBillingGroupsResponse.
553
625
  * Use `create(ListBillingGroupsResponseSchema)` to create a new message.
554
626
  */
555
- exports.ListBillingGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 86);
627
+ exports.ListBillingGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 100);
556
628
  /**
557
629
  * Describes the message blueapi.gc.v1.ListBillingGroupsResponse.BillingGroup.
558
630
  * Use `create(ListBillingGroupsResponse_BillingGroupSchema)` to create a new message.
559
631
  */
560
- exports.ListBillingGroupsResponse_BillingGroupSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 86, 0);
632
+ exports.ListBillingGroupsResponse_BillingGroupSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 100, 0);
561
633
  /**
562
634
  * @generated from enum blueapi.gc.v1.ListBillingGroupsResponse.BillingGroupStatus
563
635
  */
@@ -579,132 +651,185 @@ var ListBillingGroupsResponse_BillingGroupStatus;
579
651
  /**
580
652
  * Describes the enum blueapi.gc.v1.ListBillingGroupsResponse.BillingGroupStatus.
581
653
  */
582
- exports.ListBillingGroupsResponse_BillingGroupStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 86, 0);
654
+ exports.ListBillingGroupsResponse_BillingGroupStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 100, 0);
583
655
  /**
584
656
  * Describes the message blueapi.gc.v1.SetBillingGroupStatusResponse.
585
657
  * Use `create(SetBillingGroupStatusResponseSchema)` to create a new message.
586
658
  */
587
- exports.SetBillingGroupStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 87);
659
+ exports.SetBillingGroupStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 101);
588
660
  /**
589
661
  * Describes the message blueapi.gc.v1.GetBillingGroupStatusResponse.
590
662
  * Use `create(GetBillingGroupStatusResponseSchema)` to create a new message.
591
663
  */
592
- exports.GetBillingGroupStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 88);
664
+ exports.GetBillingGroupStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 102);
593
665
  /**
594
666
  * Describes the message blueapi.gc.v1.ValidateBillingGroupResponse.
595
667
  * Use `create(ValidateBillingGroupResponseSchema)` to create a new message.
596
668
  */
597
- exports.ValidateBillingGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 89);
669
+ exports.ValidateBillingGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 103);
598
670
  /**
599
671
  * Describes the message blueapi.gc.v1.GetAwsPrivateOfferResponse.
600
672
  * Use `create(GetAwsPrivateOfferResponseSchema)` to create a new message.
601
673
  */
602
- exports.GetAwsPrivateOfferResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 90);
674
+ exports.GetAwsPrivateOfferResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 104);
675
+ /**
676
+ * Describes the message blueapi.gc.v1.AcceptBillingGroupTermsResponse.
677
+ * Use `create(AcceptBillingGroupTermsResponseSchema)` to create a new message.
678
+ */
679
+ exports.AcceptBillingGroupTermsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 105);
603
680
  /**
604
681
  * Describes the message blueapi.gc.v1.ListDraftPurchasePlansResponse.
605
682
  * Use `create(ListDraftPurchasePlansResponseSchema)` to create a new message.
606
683
  */
607
- exports.ListDraftPurchasePlansResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 91);
684
+ exports.ListDraftPurchasePlansResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 106);
608
685
  /**
609
686
  * Describes the message blueapi.gc.v1.DeleteDraftPurchasePlanResponse.
610
687
  * Use `create(DeleteDraftPurchasePlanResponseSchema)` to create a new message.
611
688
  */
612
- exports.DeleteDraftPurchasePlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 92);
689
+ exports.DeleteDraftPurchasePlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 107);
613
690
  /**
614
691
  * Describes the message blueapi.gc.v1.GetAvailableCommitmentTypesResponse.
615
692
  * Use `create(GetAvailableCommitmentTypesResponseSchema)` to create a new message.
616
693
  */
617
- exports.GetAvailableCommitmentTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 93);
694
+ exports.GetAvailableCommitmentTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 108);
618
695
  /**
619
696
  * Describes the message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlResponse.
620
697
  * Use `create(GetGuaranteedCommitmentTemplateUrlResponseSchema)` to create a new message.
621
698
  */
622
- exports.GetGuaranteedCommitmentTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 94);
699
+ exports.GetGuaranteedCommitmentTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 109);
623
700
  /**
624
701
  * Describes the message blueapi.gc.v1.CreateGuaranteedCommitmentAccessResponse.
625
702
  * Use `create(CreateGuaranteedCommitmentAccessResponseSchema)` to create a new message.
626
703
  */
627
- exports.CreateGuaranteedCommitmentAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 95);
704
+ exports.CreateGuaranteedCommitmentAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 110);
628
705
  /**
629
706
  * Describes the message blueapi.gc.v1.GetPurchasePlansDetailsResponse.
630
707
  * Use `create(GetPurchasePlansDetailsResponseSchema)` to create a new message.
631
708
  */
632
- exports.GetPurchasePlansDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 96);
709
+ exports.GetPurchasePlansDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 111);
633
710
  /**
634
711
  * Describes the message blueapi.gc.v1.CreateCustomCommitmentPlanResponse.
635
712
  * Use `create(CreateCustomCommitmentPlanResponseSchema)` to create a new message.
636
713
  */
637
- exports.CreateCustomCommitmentPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 97);
714
+ exports.CreateCustomCommitmentPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 112);
638
715
  /**
639
716
  * Describes the message blueapi.gc.v1.AzureArcheraOrgFeatureStatus.
640
717
  * Use `create(AzureArcheraOrgFeatureStatusSchema)` to create a new message.
641
718
  */
642
- exports.AzureArcheraOrgFeatureStatusSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 98);
719
+ exports.AzureArcheraOrgFeatureStatusSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 113);
643
720
  /**
644
721
  * Describes the message blueapi.gc.v1.AzureArcheraOrgLeaseBudget.
645
722
  * Use `create(AzureArcheraOrgLeaseBudgetSchema)` to create a new message.
646
723
  */
647
- exports.AzureArcheraOrgLeaseBudgetSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 99);
724
+ exports.AzureArcheraOrgLeaseBudgetSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 114);
648
725
  /**
649
726
  * Describes the message blueapi.gc.v1.AzureArcheraOrg.
650
727
  * Use `create(AzureArcheraOrgSchema)` to create a new message.
651
728
  */
652
- exports.AzureArcheraOrgSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 100);
729
+ exports.AzureArcheraOrgSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 115);
653
730
  /**
654
731
  * Describes the message blueapi.gc.v1.AzureOnboardingCreatedBy.
655
732
  * Use `create(AzureOnboardingCreatedBySchema)` to create a new message.
656
733
  */
657
- exports.AzureOnboardingCreatedBySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 101);
734
+ exports.AzureOnboardingCreatedBySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 116);
658
735
  /**
659
736
  * Describes the message blueapi.gc.v1.AzureOnboardingState.
660
737
  * Use `create(AzureOnboardingStateSchema)` to create a new message.
661
738
  */
662
- exports.AzureOnboardingStateSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 102);
739
+ exports.AzureOnboardingStateSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 117);
663
740
  /**
664
741
  * Describes the message blueapi.gc.v1.StartAzureOnboardingResponse.
665
742
  * Use `create(StartAzureOnboardingResponseSchema)` to create a new message.
666
743
  */
667
- exports.StartAzureOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 103);
744
+ exports.StartAzureOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 118);
668
745
  /**
669
746
  * Describes the message blueapi.gc.v1.GetAzureOnboardingAuthUrlResponse.
670
747
  * Use `create(GetAzureOnboardingAuthUrlResponseSchema)` to create a new message.
671
748
  */
672
- exports.GetAzureOnboardingAuthUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 104);
749
+ exports.GetAzureOnboardingAuthUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 119);
673
750
  /**
674
751
  * Describes the message blueapi.gc.v1.AzureAccount.
675
752
  * Use `create(AzureAccountSchema)` to create a new message.
676
753
  */
677
- exports.AzureAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 105);
754
+ exports.AzureAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 120);
678
755
  /**
679
756
  * Describes the message blueapi.gc.v1.ListAzureOnboardingAccountsResponse.
680
757
  * Use `create(ListAzureOnboardingAccountsResponseSchema)` to create a new message.
681
758
  */
682
- exports.ListAzureOnboardingAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 106);
759
+ exports.ListAzureOnboardingAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 121);
683
760
  /**
684
761
  * Describes the message blueapi.gc.v1.AzureIntegrationFeatureStatus.
685
762
  * Use `create(AzureIntegrationFeatureStatusSchema)` to create a new message.
686
763
  */
687
- exports.AzureIntegrationFeatureStatusSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 107);
764
+ exports.AzureIntegrationFeatureStatusSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 122);
688
765
  /**
689
766
  * Describes the message blueapi.gc.v1.AzureIntegrationOnboarding.
690
767
  * Use `create(AzureIntegrationOnboardingSchema)` to create a new message.
691
768
  */
692
- exports.AzureIntegrationOnboardingSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 108);
769
+ exports.AzureIntegrationOnboardingSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 123);
693
770
  /**
694
771
  * Describes the message blueapi.gc.v1.AzureIntegration.
695
772
  * Use `create(AzureIntegrationSchema)` to create a new message.
696
773
  */
697
- exports.AzureIntegrationSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 109);
774
+ exports.AzureIntegrationSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 124);
698
775
  /**
699
776
  * Describes the message blueapi.gc.v1.CreateAzureIntegrationResponse.
700
777
  * Use `create(CreateAzureIntegrationResponseSchema)` to create a new message.
701
778
  */
702
- exports.CreateAzureIntegrationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 110);
779
+ exports.CreateAzureIntegrationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 125);
703
780
  /**
704
781
  * Describes the message blueapi.gc.v1.ListAzureIntegrationsResponse.
705
782
  * Use `create(ListAzureIntegrationsResponseSchema)` to create a new message.
706
783
  */
707
- exports.ListAzureIntegrationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 111);
784
+ exports.ListAzureIntegrationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 126);
785
+ /**
786
+ * TermsConsentState describes the evaluated user-facing consent state for the
787
+ * current product and organizational consent scope.
788
+ *
789
+ * @generated from enum blueapi.gc.v1.TermsConsentState
790
+ */
791
+ var TermsConsentState;
792
+ (function (TermsConsentState) {
793
+ /**
794
+ * @generated from enum value: TERMS_CONSENT_STATE_UNSPECIFIED = 0;
795
+ */
796
+ TermsConsentState[TermsConsentState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
797
+ /**
798
+ * No active published Terms of Service version exists.
799
+ *
800
+ * @generated from enum value: TERMS_CONSENT_STATE_NO_ACTIVE_TOS = 1;
801
+ */
802
+ TermsConsentState[TermsConsentState["NO_ACTIVE_TOS"] = 1] = "NO_ACTIVE_TOS";
803
+ /**
804
+ * An active version exists, but no version has been accepted for the
805
+ * applicable product and consent scope.
806
+ *
807
+ * @generated from enum value: TERMS_CONSENT_STATE_CONSENT_REQUIRED = 2;
808
+ */
809
+ TermsConsentState[TermsConsentState["CONSENT_REQUIRED"] = 2] = "CONSENT_REQUIRED";
810
+ /**
811
+ * The applicable scope has sufficient consent.
812
+ *
813
+ * @generated from enum value: TERMS_CONSENT_STATE_CONSENTED = 3;
814
+ */
815
+ TermsConsentState[TermsConsentState["CONSENTED"] = 3] = "CONSENTED";
816
+ /**
817
+ * A normal update is available and its 14-day banner period is active.
818
+ *
819
+ * @generated from enum value: TERMS_CONSENT_STATE_UPDATE_AVAILABLE = 4;
820
+ */
821
+ TermsConsentState[TermsConsentState["UPDATE_AVAILABLE"] = 4] = "UPDATE_AVAILABLE";
822
+ /**
823
+ * The active version requires explicit re-consent.
824
+ *
825
+ * @generated from enum value: TERMS_CONSENT_STATE_RECONSENT_REQUIRED = 5;
826
+ */
827
+ TermsConsentState[TermsConsentState["RECONSENT_REQUIRED"] = 5] = "RECONSENT_REQUIRED";
828
+ })(TermsConsentState || (exports.TermsConsentState = TermsConsentState = {}));
829
+ /**
830
+ * Describes the enum blueapi.gc.v1.TermsConsentState.
831
+ */
832
+ exports.TermsConsentStateSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 0);
708
833
  /**
709
834
  * @generated from enum blueapi.gc.v1.Provider
710
835
  */
@@ -738,7 +863,7 @@ var Provider;
738
863
  /**
739
864
  * Describes the enum blueapi.gc.v1.Provider.
740
865
  */
741
- exports.ProviderSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 0);
866
+ exports.ProviderSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 1);
742
867
  /**
743
868
  * @generated from enum blueapi.gc.v1.CommitmentStatus
744
869
  */
@@ -780,7 +905,7 @@ var CommitmentStatus;
780
905
  /**
781
906
  * Describes the enum blueapi.gc.v1.CommitmentStatus.
782
907
  */
783
- exports.CommitmentStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 1);
908
+ exports.CommitmentStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 2);
784
909
  /**
785
910
  * @generated from enum blueapi.gc.v1.CommitmentInventoryStatus
786
911
  */
@@ -810,7 +935,7 @@ var CommitmentInventoryStatus;
810
935
  /**
811
936
  * Describes the enum blueapi.gc.v1.CommitmentInventoryStatus.
812
937
  */
813
- exports.CommitmentInventoryStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 2);
938
+ exports.CommitmentInventoryStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 3);
814
939
  /**
815
940
  * @generated from enum blueapi.gc.v1.Scope
816
941
  */
@@ -836,7 +961,7 @@ var Scope;
836
961
  /**
837
962
  * Describes the enum blueapi.gc.v1.Scope.
838
963
  */
839
- exports.ScopeSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 3);
964
+ exports.ScopeSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 4);
840
965
  /**
841
966
  * @generated from enum blueapi.gc.v1.UsageType
842
967
  */
@@ -858,7 +983,7 @@ var UsageType;
858
983
  /**
859
984
  * Describes the enum blueapi.gc.v1.UsageType.
860
985
  */
861
- exports.UsageTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 4);
986
+ exports.UsageTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 5);
862
987
  /**
863
988
  * GuaranteedCommitments service definition.
864
989
  *