@alphauspkgs/blue-sdk-ts 1.0.1

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.
Files changed (265) hide show
  1. package/README.md +32 -0
  2. package/admin/v1/admin_pb.js +239 -0
  3. package/admin/v1/admin_pb.ts +1604 -0
  4. package/admin/v1/client.js +9 -0
  5. package/admin/v1/client.ts +7 -0
  6. package/api/account_pb.js +22 -0
  7. package/api/account_pb.ts +132 -0
  8. package/api/accountgroup_pb.js +18 -0
  9. package/api/accountgroup_pb.ts +56 -0
  10. package/api/adjustment_pb.js +26 -0
  11. package/api/adjustment_pb.ts +102 -0
  12. package/api/apiclient_pb.js +16 -0
  13. package/api/apiclient_pb.ts +66 -0
  14. package/api/audit_pb.js +21 -0
  15. package/api/audit_pb.ts +70 -0
  16. package/api/aws/breakeven_pb.js +21 -0
  17. package/api/aws/breakeven_pb.ts +93 -0
  18. package/api/aws/calculator_pb.js +31 -0
  19. package/api/aws/calculator_pb.ts +138 -0
  20. package/api/aws/cost_pb.js +22 -0
  21. package/api/aws/cost_pb.ts +315 -0
  22. package/api/aws/recommendation_pb.js +36 -0
  23. package/api/aws/recommendation_pb.ts +338 -0
  24. package/api/aws/reduction_pb.js +31 -0
  25. package/api/aws/reduction_pb.ts +416 -0
  26. package/api/azure/cost_pb.js +21 -0
  27. package/api/azure/cost_pb.ts +268 -0
  28. package/api/azureea/cost_pb.js +16 -0
  29. package/api/azureea/cost_pb.ts +141 -0
  30. package/api/budget_pb.js +57 -0
  31. package/api/budget_pb.ts +293 -0
  32. package/api/costtag_pb.js +17 -0
  33. package/api/costtag_pb.ts +77 -0
  34. package/api/cover/accountaccess_pb.js +46 -0
  35. package/api/cover/accountaccess_pb.ts +334 -0
  36. package/api/cover/alert_pb.js +36 -0
  37. package/api/cover/alert_pb.ts +183 -0
  38. package/api/cover/applyrecommendation_pb.js +41 -0
  39. package/api/cover/applyrecommendation_pb.ts +133 -0
  40. package/api/cover/asset_pb.js +26 -0
  41. package/api/cover/asset_pb.ts +305 -0
  42. package/api/cover/attribute_pb.js +21 -0
  43. package/api/cover/attribute_pb.ts +58 -0
  44. package/api/cover/budget_pb.js +42 -0
  45. package/api/cover/budget_pb.ts +275 -0
  46. package/api/cover/costforecast_pb.js +16 -0
  47. package/api/cover/costforecast_pb.ts +81 -0
  48. package/api/cover/costgroup_pb.js +89 -0
  49. package/api/cover/costgroup_pb.ts +473 -0
  50. package/api/cover/discountplan_pb.js +31 -0
  51. package/api/cover/discountplan_pb.ts +461 -0
  52. package/api/cover/discountrecommendation_pb.js +96 -0
  53. package/api/cover/discountrecommendation_pb.ts +500 -0
  54. package/api/cover/insightreport_pb.js +26 -0
  55. package/api/cover/insightreport_pb.ts +167 -0
  56. package/api/cover/optimizationrecommendation_pb.js +262 -0
  57. package/api/cover/optimizationrecommendation_pb.ts +1964 -0
  58. package/api/cover/recommendation/aws_pb.js +407 -0
  59. package/api/cover/recommendation/aws_pb.ts +2418 -0
  60. package/api/cover/recommendation/azurecsp_pb.js +16 -0
  61. package/api/cover/recommendation/azurecsp_pb.ts +27 -0
  62. package/api/cover/recommendation/gcp_pb.js +27 -0
  63. package/api/cover/recommendation/gcp_pb.ts +91 -0
  64. package/api/cover/recommendation/octoaws_pb.js +22 -0
  65. package/api/cover/recommendation/octoaws_pb.ts +55 -0
  66. package/api/cover/recommendation/octoazurecsp_pb.js +16 -0
  67. package/api/cover/recommendation/octoazurecsp_pb.ts +27 -0
  68. package/api/cover/recommendation/octogcp_pb.js +16 -0
  69. package/api/cover/recommendation/octogcp_pb.ts +27 -0
  70. package/api/cover/recommendation/recommendation_pb.js +27 -0
  71. package/api/cover/recommendation/recommendation_pb.ts +190 -0
  72. package/api/cover/rightsizingrecommendation_pb.js +21 -0
  73. package/api/cover/rightsizingrecommendation_pb.ts +133 -0
  74. package/api/cover/unitcost_pb.js +82 -0
  75. package/api/cover/unitcost_pb.ts +576 -0
  76. package/api/cover/user_pb.js +26 -0
  77. package/api/cover/user_pb.ts +330 -0
  78. package/api/cover/view_pb.js +53 -0
  79. package/api/cover/view_pb.ts +393 -0
  80. package/api/coverage_pb.js +31 -0
  81. package/api/coverage_pb.ts +132 -0
  82. package/api/forecast_pb.js +61 -0
  83. package/api/forecast_pb.ts +346 -0
  84. package/api/gcp/cost_pb.js +16 -0
  85. package/api/gcp/cost_pb.ts +128 -0
  86. package/api/grouprootuser_pb.js +21 -0
  87. package/api/grouprootuser_pb.ts +390 -0
  88. package/api/invoice_pb.js +96 -0
  89. package/api/invoice_pb.ts +905 -0
  90. package/api/keyvalue_pb.js +21 -0
  91. package/api/keyvalue_pb.ts +72 -0
  92. package/api/notification_pb.js +46 -0
  93. package/api/notification_pb.ts +232 -0
  94. package/api/pricing/details_pb.js +17 -0
  95. package/api/pricing/details_pb.ts +172 -0
  96. package/api/rbac_pb.js +31 -0
  97. package/api/rbac_pb.ts +142 -0
  98. package/api/ripple/accessgroup_pb.js +16 -0
  99. package/api/ripple/accessgroup_pb.ts +48 -0
  100. package/api/ripple/billinggroup_pb.js +16 -0
  101. package/api/ripple/billinggroup_pb.ts +154 -0
  102. package/api/ripple/customfield_pb.js +16 -0
  103. package/api/ripple/customfield_pb.ts +49 -0
  104. package/api/ripple/customizedbillingservice_pb.js +175 -0
  105. package/api/ripple/customizedbillingservice_pb.ts +455 -0
  106. package/api/ripple/duedate_pb.js +16 -0
  107. package/api/ripple/duedate_pb.ts +58 -0
  108. package/api/ripple/exchangerate_pb.js +41 -0
  109. package/api/ripple/exchangerate_pb.ts +205 -0
  110. package/api/ripple/invoicelayout_pb.js +46 -0
  111. package/api/ripple/invoicelayout_pb.ts +547 -0
  112. package/api/ripple/org_pb.js +16 -0
  113. package/api/ripple/org_pb.ts +51 -0
  114. package/api/ripple/payer_pb.js +18 -0
  115. package/api/ripple/payer_pb.ts +60 -0
  116. package/api/ripple/reseller_pb.js +21 -0
  117. package/api/ripple/reseller_pb.ts +168 -0
  118. package/api/ripple/rounding_pb.js +46 -0
  119. package/api/ripple/rounding_pb.ts +69 -0
  120. package/api/ripple/untaggedgroup_pb.js +28 -0
  121. package/api/ripple/untaggedgroup_pb.ts +151 -0
  122. package/api/ripple/v1/accountsupportplan_pb.js +59 -0
  123. package/api/ripple/v1/accountsupportplan_pb.ts +98 -0
  124. package/api/ripple/v1/adjustmententry_pb.js +31 -0
  125. package/api/ripple/v1/adjustmententry_pb.ts +275 -0
  126. package/api/ripple/v1/dashboard_pb.js +61 -0
  127. package/api/ripple/v1/dashboard_pb.ts +661 -0
  128. package/api/ripple/v1/export_pb.js +16 -0
  129. package/api/ripple/v1/export_pb.ts +49 -0
  130. package/api/ripple/v1/invoiceservicediscounts_pb.js +48 -0
  131. package/api/ripple/v1/invoiceservicediscounts_pb.ts +298 -0
  132. package/api/ripple/yearmonth_pb.js +16 -0
  133. package/api/ripple/yearmonth_pb.ts +35 -0
  134. package/api/user_pb.js +26 -0
  135. package/api/user_pb.ts +124 -0
  136. package/api/utilization_pb.js +21 -0
  137. package/api/utilization_pb.ts +78 -0
  138. package/api/wave/adjustment_pb.js +16 -0
  139. package/api/wave/adjustment_pb.ts +105 -0
  140. package/api/wave/budget_pb.js +27 -0
  141. package/api/wave/budget_pb.ts +122 -0
  142. package/billing/v1/billing_pb.js +952 -0
  143. package/billing/v1/billing_pb.ts +7570 -0
  144. package/billing/v1/client.js +9 -0
  145. package/billing/v1/client.ts +7 -0
  146. package/conn/conn.js +38 -0
  147. package/conn/conn.ts +46 -0
  148. package/cost/v1/client.js +9 -0
  149. package/cost/v1/client.ts +7 -0
  150. package/cost/v1/cost_pb.js +721 -0
  151. package/cost/v1/cost_pb.ts +5845 -0
  152. package/cover/v1/client.js +9 -0
  153. package/cover/v1/client.ts +7 -0
  154. package/cover/v1/cover_pb.js +2085 -0
  155. package/cover/v1/cover_pb.ts +12883 -0
  156. package/flow/v1/client.js +9 -0
  157. package/flow/v1/client.ts +7 -0
  158. package/flow/v1/flow_pb.js +265 -0
  159. package/flow/v1/flow_pb.ts +2496 -0
  160. package/google/api/annotations_pb.js +29 -0
  161. package/google/api/annotations_pb.ts +39 -0
  162. package/google/api/auth_pb.js +47 -0
  163. package/google/api/auth_pb.ts +295 -0
  164. package/google/api/backend_pb.js +31 -0
  165. package/google/api/backend_pb.ts +97 -0
  166. package/google/api/billing_pb.js +32 -0
  167. package/google/api/billing_pb.ts +104 -0
  168. package/google/api/client_pb.js +101 -0
  169. package/google/api/client_pb.ts +114 -0
  170. package/google/api/config_change_pb.js +71 -0
  171. package/google/api/config_change_pb.ts +161 -0
  172. package/google/api/consumer_pb.js +73 -0
  173. package/google/api/consumer_pb.ts +156 -0
  174. package/google/api/context_pb.js +31 -0
  175. package/google/api/context_pb.ts +105 -0
  176. package/google/api/control_pb.js +26 -0
  177. package/google/api/control_pb.ts +52 -0
  178. package/google/api/distribution_pb.js +58 -0
  179. package/google/api/distribution_pb.ts +388 -0
  180. package/google/api/documentation_pb.js +36 -0
  181. package/google/api/documentation_pb.ts +238 -0
  182. package/google/api/endpoint_pb.js +27 -0
  183. package/google/api/endpoint_pb.ts +105 -0
  184. package/google/api/field_behavior_pb.js +103 -0
  185. package/google/api/field_behavior_pb.ts +119 -0
  186. package/google/api/http_pb.js +36 -0
  187. package/google/api/http_pb.ts +420 -0
  188. package/google/api/httpbody_pb.js +27 -0
  189. package/google/api/httpbody_pb.ts +103 -0
  190. package/google/api/label_pb.js +56 -0
  191. package/google/api/label_pb.ts +97 -0
  192. package/google/api/launch_stage_pb.js +92 -0
  193. package/google/api/launch_stage_pb.ts +105 -0
  194. package/google/api/log_pb.js +27 -0
  195. package/google/api/log_pb.ts +86 -0
  196. package/google/api/logging_pb.js +32 -0
  197. package/google/api/logging_pb.ts +124 -0
  198. package/google/api/metric_pb.js +128 -0
  199. package/google/api/metric_pb.ts +322 -0
  200. package/google/api/monitored_resource_pb.js +38 -0
  201. package/google/api/monitored_resource_pb.ts +188 -0
  202. package/google/api/monitoring_pb.js +32 -0
  203. package/google/api/monitoring_pb.ts +130 -0
  204. package/google/api/quota_pb.js +37 -0
  205. package/google/api/quota_pb.ts +351 -0
  206. package/google/api/resource_pb.js +118 -0
  207. package/google/api/resource_pb.ts +410 -0
  208. package/google/api/service_pb.js +45 -0
  209. package/google/api/service_pb.ts +302 -0
  210. package/google/api/source_info_pb.js +27 -0
  211. package/google/api/source_info_pb.ts +51 -0
  212. package/google/api/system_parameter_pb.js +36 -0
  213. package/google/api/system_parameter_pb.ts +157 -0
  214. package/google/api/usage_pb.js +32 -0
  215. package/google/api/usage_pb.ts +141 -0
  216. package/google/longrunning/operations_pb.js +90 -0
  217. package/google/longrunning/operations_pb.ts +434 -0
  218. package/google/rpc/code_pb.js +244 -0
  219. package/google/rpc/code_pb.ts +268 -0
  220. package/google/rpc/context/attribute_context_pb.js +57 -0
  221. package/google/rpc/context/attribute_context_pb.ts +532 -0
  222. package/google/rpc/error_details_pb.js +92 -0
  223. package/google/rpc/error_details_pb.ts +513 -0
  224. package/google/rpc/status_pb.js +27 -0
  225. package/google/rpc/status_pb.ts +74 -0
  226. package/iam/v1/client.js +9 -0
  227. package/iam/v1/client.ts +8 -0
  228. package/iam/v1/iam_pb.js +285 -0
  229. package/iam/v1/iam_pb.ts +1698 -0
  230. package/kvstore/v1/kvstore_pb.js +40 -0
  231. package/kvstore/v1/kvstore_pb.ts +155 -0
  232. package/operations/v1/operations_pb.js +52 -0
  233. package/operations/v1/operations_pb.ts +235 -0
  234. package/org/v1/client.js +9 -0
  235. package/org/v1/client.ts +7 -0
  236. package/org/v1/org_pb.js +61 -0
  237. package/org/v1/org_pb.ts +321 -0
  238. package/package.json +22 -0
  239. package/preferences/v1/client.js +9 -0
  240. package/preferences/v1/client.ts +8 -0
  241. package/preferences/v1/preferences_pb.js +29 -0
  242. package/preferences/v1/preferences_pb.ts +63 -0
  243. package/pricing/v1/client.js +9 -0
  244. package/pricing/v1/client.ts +7 -0
  245. package/pricing/v1/pricing_pb.js +60 -0
  246. package/pricing/v1/pricing_pb.ts +311 -0
  247. package/prism/v1/client.js +9 -0
  248. package/prism/v1/client.ts +7 -0
  249. package/prism/v1/prism_pb.js +250 -0
  250. package/prism/v1/prism_pb.ts +1396 -0
  251. package/protoc-gen-openapiv2/options/annotations_pb.js +58 -0
  252. package/protoc-gen-openapiv2/options/annotations_pb.ts +72 -0
  253. package/protoc-gen-openapiv2/options/openapiv2_pb.js +253 -0
  254. package/protoc-gen-openapiv2/options/openapiv2_pb.ts +1313 -0
  255. package/protos/entity_pb.js +17 -0
  256. package/protos/entity_pb.ts +49 -0
  257. package/protos/message_pb.js +16 -0
  258. package/protos/message_pb.ts +40 -0
  259. package/protos/operation_pb.js +33 -0
  260. package/protos/operation_pb.ts +198 -0
  261. package/tsconfig.json +12 -0
  262. package/vortex/v1/client.js +9 -0
  263. package/vortex/v1/client.ts +7 -0
  264. package/vortex/v1/vortex_pb.js +65 -0
  265. package/vortex/v1/vortex_pb.ts +280 -0
@@ -0,0 +1,2085 @@
1
+ "use strict";
2
+ // @generated by protoc-gen-es v2.7.0 with parameter "target=ts"
3
+ // @generated from file cover/v1/cover.proto (package blueapi.cover.v1, syntax proto3)
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ActivateUserRequestSchema = exports.InviteMemberResponseSchema = exports.InviteMemberRequestSchema = exports.OnboardOrgResponseSchema = exports.OnboardOrgRequestSchema = exports.GetRecommendationV2ResponseSchema = exports.GetRecommendationV2RequestSchema = exports.VerifyAPIAccessResponseSchema = exports.VerifyAPIAccessRequestSchema = exports.GetExecutionStatusResponseSchema = exports.GetExecutionStatusRequestSchema = exports.GetAICostAndUsageResponse_ResultSchema = exports.GetAICostAndUsageResponse_MetricSchema = exports.GetAICostAndUsageResponse_UsageSchema = exports.GetAICostAndUsageResponse_CostSchema = exports.GetAICostAndUsageResponseSchema = exports.GetAICostAndUsageRequest_GranularitySchema = exports.GetAICostAndUsageRequest_Granularity = exports.GetAICostAndUsageRequest_Filter_OperatorSchema = exports.GetAICostAndUsageRequest_Filter_Operator = exports.GetAICostAndUsageRequest_FilterSchema = exports.GetAICostAndUsageRequestSchema = exports.ContainerCostUsageResponse_GroupedResultSchema = exports.ContainerCostUsageResponse_ResourceHighlightsSchema = exports.ContainerCostUsageResponse_ResourceHighlightSchema = exports.ContainerCostUsageResponse_MetricDataPointSchema = exports.ContainerCostUsageResponse_UsageMetricSchema = exports.ContainerCostUsageResponse_CostMetricSchema = exports.ContainerCostUsageResponseSchema = exports.ContainerCostUsageRequest_ServiceTypeSchema = exports.ContainerCostUsageRequest_ServiceType = exports.ContainerCostUsageRequest_MetricTypeSchema = exports.ContainerCostUsageRequest_MetricType = exports.ContainerCostUsageRequest_TimeGranularitySchema = exports.ContainerCostUsageRequest_TimeGranularity = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperator = exports.ContainerCostUsageRequest_FilterCriteriaSchema = exports.ContainerCostUsageRequestSchema = exports.ResetDemoDataResponseSchema = exports.ResetDemoDataRequestSchema = exports.PopulateDemoDataResponseSchema = exports.PopulateDemoDataRequestSchema = exports.GetCostUsageV2Request_CategorySchema = exports.GetCostUsageV2Request_Category = exports.GetCostUsageV2Request_GranularitySchema = exports.GetCostUsageV2Request_Granularity = exports.GetCostUsageV2RequestSchema = exports.GetCostUsageV2ResponseSchema = exports.file_cover_v1_cover = void 0;
7
+ exports.AddFavoriteRequestSchema = exports.PublishViewResponseSchema = exports.PublishViewRequestSchema = exports.GetFavoriteViewsResponseSchema = exports.GetFavoriteViewsRequestSchema = exports.GetCurrentViewResponseSchema = exports.GetCurrentViewRequestSchema = exports.GetViewsResponseSchema = exports.GetViewsRequestSchema = exports.CreateViewResponseSchema = exports.CreateViewRequestSchema = exports.ResetPasswordResponseSchema = exports.ResetPasswordRequestSchema = exports.DeleteMemberResponseSchema = exports.DeleteMemberRequestSchema = exports.UpdateUserAttributesResponseSchema = exports.UpdateUserAttributesRequestSchema = exports.UpdateUserTimezoneResponseSchema = exports.UpdateUserTimezoneRequestSchema = exports.UpdateUserAppThemeResponseSchema = exports.UpdateUserAppThemeRequestSchema = exports.UpdateUserLocaleResponseSchema = exports.UpdateUserLocaleRequestSchema = exports.ResetUserPasswordResponseSchema = exports.ResetUserPasswordRequestSchema = exports.UpdateUserMainViewResponseSchema = exports.UpdateUserMainViewRequestSchema = exports.UpdateUserEmailResponseSchema = exports.UpdateUserEmailRequestSchema = exports.UpdateUserNameResponseSchema = exports.UpdateUserNameRequestSchema = exports.UpdateUserColorThemeResponseSchema = exports.UpdateUserColorThemeRequestSchema = exports.UpdateUserIconResponseSchema = exports.UpdateUserIconRequestSchema = exports.UpdateUserAvatarResponseSchema = exports.UpdateUserAvatarRequestSchema = exports.GetUserDetailsResponseSchema = exports.GetUserDetailsRequestSchema = exports.UpdateMemberPermissionResponseSchema = exports.UpdateMemberPermissionRequestSchema = exports.GetMemberCostGroupResponseSchema = exports.GetMemberCostGroupRequestSchema = exports.GetMemberDetailsResponseSchema = exports.GetMemberDetailsRequestSchema = exports.GetMembersResponseSchema = exports.GetMembersRequestSchema = exports.CreateMemberResponseSchema = exports.CreateMemberRequestSchema = exports.ActivateUserResponseSchema = void 0;
8
+ exports.RemoveCostGroupMemberResponseSchema = exports.RemoveCostGroupMemberRequestSchema = exports.AssignCostGroupMemberResponseSchema = exports.AssignCostGroupMemberRequestSchema = exports.UpdateCostGroupCombinationsResponseSchema = exports.UpdateCostGroupCombinationsRequestSchema = exports.UpdateCostGroupColorThemeResponseSchema = exports.UpdateCostGroupColorThemeRequestSchema = exports.UpdateCostGroupIconResponseSchema = exports.UpdateCostGroupIconRequestSchema = exports.UpdateCostGroupImageResponseSchema = exports.UpdateCostGroupImageRequestSchema = exports.UpdateCostGroupDescriptionResponseSchema = exports.UpdateCostGroupDescriptionRequestSchema = exports.UpdateCostGroupNameResponseSchema = exports.UpdateCostGroupNameRequestSchema = exports.GetCostGroupDetailsResponseSchema = exports.GetCostGroupDetailsRequestSchema = exports.GetCostGroupsResponseSchema = exports.GetCostGroupsRequestSchema = exports.CreateCostGroupResponseSchema = exports.CreateCostGroupRequestSchema = exports.RemoveSideMenuFavoriteResponseSchema = exports.RemoveSideMenuFavoriteRequestSchema = exports.AddSideMenuFavoriteResponseSchema = exports.AddSideMenuFavoriteRequestSchema = exports.UpdateSideMenuStateResponseSchema = exports.UpdateSideMenuStateRequestSchema = exports.DeleteViewResponseSchema = exports.DeleteViewRequestSchema = exports.ExchangeRatesSchema = exports.ListExchangeRatesResponseSchema = exports.ListExchangeRatesRequestSchema = exports.GetOrgUpdateCurrencyResponseSchema = exports.GetOrgUpdateCurrencyRequestSchema = exports.SetOrgUpdateCurrencyResponseSchema = exports.SetOrgUpdateCurrencyRequestSchema = exports.UpdateViewCurrencyResponseSchema = exports.UpdateViewCurrencyRequestSchema = exports.UpdateViewColorThemeResponseSchema = exports.UpdateViewColorThemeRequestSchema = exports.UpdateViewWidgetResponseSchema = exports.UpdateViewWidgetRequestSchema = exports.UpdateViewLayoutResponseSchema = exports.UpdateViewLayoutRequestSchema = exports.UpdateViewResponseSchema = exports.UpdateViewRequestSchema = exports.RemoveFavoriteResponseSchema = exports.RemoveFavoriteRequestSchema = exports.AddFavoriteResponseSchema = void 0;
9
+ exports.ListFeesRequestSchema = exports.GetTagsResponseSchema = exports.GetTagsRequestSchema = exports.GetRegionsResponseSchema = exports.GetRegionsRequestSchema = exports.GetServicesResponseSchema = exports.GetServicesRequestSchema = exports.GetAccountsResponseSchema = exports.GetAccountsRequestSchema = exports.GetPayersResponseSchema = exports.GetPayersRequestSchema = exports.AssignPayerResponseSchema = exports.AssignPayerRequestSchema = exports.UploadChargeCodeResponseSchema = exports.UploadChargeCodeRequestSchema = exports.TerminateResourceResponseSchema = exports.TerminateResourceRequestSchema = exports.ModifyResourceTypeResponseSchema = exports.ModifyResourceTypeRequestSchema = exports.GetRightSizingRecommendationResponseSchema = exports.GetRightSizingRecommendationRequestSchema = exports.CostItemSchema = exports.ReadCostsRequestOptionsFiltersSchema = exports.GetCostUsageRequestCustomOptionsSchema = exports.GetCostUsageRequestAzureCspOptionsSchema = exports.GetCostUsageRequestGcpOptionsSchema = exports.GetCostUsageRequestAzureOptionsSchema = exports.GetCostUsageRequestAwsOptionsSchema = exports.GetCostUsageRequestSchema = exports.ResolveCostGroupCombinationsResponseSchema = exports.ResolveCostGroupCombinationsRequestSchema = exports.AssetsSummarySchema = exports.GetAssetsSummaryResponseSchema = exports.GetAssetsSummaryRequestSchema = exports.ResourceSchema = exports.ListAssetsFiltersSchema = exports.ListAssetsRequestSchema = exports.RegisterAccountRequestSchema = exports.DeleteAccountAccessResponseSchema = exports.DeleteAccountAccessRequestSchema = exports.UpdateAccountAccessRequestSchema = exports.CreateAccountAccessStacksetRequestSchema = exports.CreateAccountAccessRequestSchema = exports.AccountAccessSchema = exports.GetAccountAccessRequestSchema = exports.ListAccountAccessRequestSchema = exports.GetAccountAccessTemplateUrlResponseSchema = exports.GetAccountAccessTemplateUrlRequestSchema = exports.DeleteCostGroupResponseSchema = exports.DeleteCostGroupRequestSchema = void 0;
10
+ exports.DeleteAlertRequestSchema = exports.GetAlertDetailsResponseSchema = exports.GetAlertDetailsRequestSchema = exports.CreateAlertResponseSchema = exports.CreateAlertRequestSchema = exports.GetAlertsResponseSchema = exports.GetAlertsRequestSchema = exports.GetCategoriesResponseSchema = exports.GetCategoriesRequestSchema = exports.GetCostGroupAttributeResponseSchema = exports.GetCostGroupAttributeRequestSchema = exports.AddMpnSettingRequestSchema = exports.AddPartnerCenterCredentialsRequestSchema = exports.GetAndDeleteDataAccessRequestSchema = exports.BillingAccountRequestSchema = exports.UnregisteredAcctsSchema = exports.ListUnregisteredAccountsResponseSchema = exports.ListUnregisteredAccountsRequestSchema = exports.ListDataAccessRequestSchema = exports.UpdateDataAccessRequestSchema = exports.RegisterDataAccessRequestSchema = exports.DataAccessSchema = exports.ProcessAuth0UserResponseSchema = exports.ProcessAuth0UserRequestSchema = exports.AllocationItemSchema = exports.GetCostGroupAllocationRequestSchema = exports.SavingsDetailsSchema = exports.RestoreSavingsRequestSchema = exports.RestoreAccountUsageRequestSchema = exports.ListAccountUsageRequestSchema = exports.AccountUsageDetailsSchema = exports.ProxyCreateCompletionResponseSchema = exports.ProxyCreateCompletionRequestSchema = exports.DeleteAllocatorRequestSchema = exports.GetAllocationSourcesResponse_AllocationSourcesSchema = exports.GetAllocationSourcesResponseSchema = exports.GetAllocationSourcesRequestSchema = exports.GetAllocationAttributesResponse_AllocationAttributeSchema = exports.GetAllocationAttributesResponseSchema = exports.GetAllocationAttributesRequestSchema = exports.CreateAllocatorRequestSchema = exports.ListAllocatorsRequestSchema = exports.CostAllocatorRequestSchema = exports.CostAllocatorDetailsSchema = exports.CriteriaSchema = exports.AllocatorSchema = exports.FeeItemSchema = exports.GetCostGroupFeeRequestSchema = exports.RestoreFeeRequestSchema = exports.FeeDetailsSchema = void 0;
11
+ exports.AddInfotoMarketplaceRequestSchema = exports.CreateProfilingResponseSchema = exports.CreateProfilingRequestSchema = exports.GetCustomerSubscriptionStatusResponseSchema = exports.GetCustomerSubscriptionStatusRequestSchema = exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = exports.UpdateBudgetResponseSchema = exports.UpdateBudgetRequestSchema = exports.DeleteBudgetResponseSchema = exports.DeleteBudgetRequestSchema = exports.CreateBudgetResponseSchema = exports.CreateBudgetRequestSchema = exports.GetBudgetResponseSchema = exports.GetBudgetRequestSchema = exports.ListBudgetsResponseSchema = exports.ListBudgetsRequestSchema = exports.UpdateUserProfileResponseSchema = exports.UpdateUserProfileRequestSchema = exports.GetUserProfileResponseSchema = exports.GetUserProfileRequestSchema = exports.RegisterNewUserResponseSchema = exports.RegisterNewUserRequestSchema = exports.UpdateAnomalyAlertRequestSchema = exports.ListAnomalyAlertRequestSchema = exports.AnomalyAlertDataSchema = exports.ManipulateAnomalyAlertRequestSchema = exports.CreateAnomalyAlertRequestSchema = exports.ListDiscountExpirationAlertRequestSchema = exports.DiscountExpiryAlertDataSchema = exports.UpdateDiscountExpirationAlertRequestSchema = exports.ManipulateDiscountExpirationAlertRequestSchema = exports.CreateDiscountExpirationAlertRequestSchema = exports.AnomalyDataSchema = exports.GetAnomalyinCostGroupRequestSchema = exports.GetDiscountRecommendationsResponseSchema = exports.GetDiscountRecommendationsRequestSchema = exports.UpdateChannelDetailsResponseSchema = exports.UpdateChannelDetailsRequestSchema = exports.DeleteChannelResponseSchema = exports.DeleteChannelRequestSchema = exports.GetChannelDetailsResponseSchema = exports.GetChannelDetailsRequestSchema = exports.CreateChannelResponseSchema = exports.CreateChannelRequestSchema = exports.GetChannelsResponseSchema = exports.GetChannelsRequestSchema = exports.UpdateAlertDetailsResponseSchema = exports.UpdateAlertDetailsRequestSchema = exports.DeleteAlertResponseSchema = void 0;
12
+ exports.CreateUnitFromSuggestedRequestSchema = exports.MergeSuggestedUnitsResponseSchema = exports.MergeSuggestedUnitsRequestSchema = exports.ListSuggestedUnitsResponseSchema = exports.ListSuggestedUnitsRequestSchema = exports.MergeUnitsResponseSchema = exports.MergeUnitsRequestSchema = exports.DeleteUnitTypeResponseSchema = exports.DeleteUnitTypeRequestSchema = exports.UpdateUnitTypeResponseSchema = exports.UpdateUnitTypeRequestSchema = exports.GetUnitTypeResponseSchema = exports.GetUnitTypeRequestSchema = exports.CreateUnitTypeResponseSchema = exports.CreateUnitTypeRequestSchema = exports.ListUnitTypesResponseSchema = exports.ListUnitTypesRequestSchema = exports.UpdateCostGroupCreationUIResponseSchema = exports.UpdateCostGroupCreationUIRequestSchema = exports.TransferOrganizationResponseSchema = exports.TransferOrganizationRequestSchema = exports.GetOrgFiscalMonthResponseSchema = exports.GetOrgFiscalMonthRequestSchema = exports.SetOrgFiscalMonthResponseSchema = exports.SetOrgFiscalMonthRequestSchema = exports.SetCostGroupAnomalyOptionsResponseSchema = exports.SetCostGroupAnomalyOptionsRequestSchema = exports.SetCostGroupEventIndicatorResponseSchema = exports.SetCostGroupEventIndicatorRequestSchema = exports.OptimizationHistoryResponseSchema = exports.OptimizationHistoryRequestSchema = exports.UndoExecutedRecommendationResponseSchema = exports.UndoExecutedRecommendationRequestSchema = exports.MarkAsExecutedResponseSchema = exports.MarkAsExecutedRequestSchema = exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = exports.ExecuteOptimizationResponse_GCPOptionSchema = exports.ExecuteOptimizationResponse_AWSOptionSchema = exports.ExecuteOptimizationResponseSchema = exports.ExecuteOptimizationRequestSchema = exports.GetRecommendationResponseSchema = exports.GetRecommendationRequestSchema = exports.ListRecommendationResponse_PurchaseOptionSchema = exports.ListRecommendationResponseSchema = exports.ListRecommendationV2Request_RateSettingsSchema = exports.ListRecommendationV2RequestSchema = exports.ListRecommendationRequestSchema = exports.GetReportSummaryResponseSchema = exports.GetReportSummaryRequestSchema = exports.AddInfotoMarketplaceResponseSchema = void 0;
13
+ exports.Cover = exports.StatusSchema = exports.Status = exports.ListNonperformingRateResponse_NonperformingSchema = exports.ListNonperformingRateResponseSchema = exports.ListNonperformingRateRequestSchema = exports.GetDiscountPlanResponseSchema = exports.GetDiscountPlanRequestSchema = exports.GetCloudwatchMetadataResponse_DimensionSchema = exports.GetCloudwatchMetadataResponseSchema = exports.GetCloudwatchMetadataRequestSchema = exports.ConfirmGoogleSheetAccessResponseSchema = exports.ConfirmGoogleSheetAccessRequestSchema = exports.PreviewGoogleSheetResponseSchema = exports.PreviewGoogleSheetRequestSchema = exports.DeleteUnitMetricResponseSchema = exports.DeleteUnitMetricRequestSchema = exports.UpdateUnitMetricResponseSchema = exports.UpdateUnitMetricRequestSchema = exports.GetUnitMetricResponseSchema = exports.GetUnitMetricRequestSchema = exports.CreateUnitMetricResponseSchema = exports.CreateUnitMetricRequestSchema = exports.ListUnitMetricsResponseSchema = exports.ListUnitMetricsRequestSchema = exports.DeleteSharedResourcesResponseSchema = exports.DeleteSharedResourcesRequestSchema = exports.UpdateSharedResourcesResponseSchema = exports.UpdateSharedResourcesRequestSchema = exports.GetSharedResourcesResponseSchema = exports.GetSharedResourcesRequestSchema = exports.CreateSharedResourcesResponseSchema = exports.CreateSharedResourcesRequestSchema = exports.ListSharedResourcesResponseSchema = exports.ListSharedResourcesRequestSchema = exports.CreateUnitFromSuggestedResponseSchema = void 0;
14
+ const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
15
+ const optimizationrecommendation_pb_1 = require("../../api/cover/optimizationrecommendation_pb");
16
+ const recommendation_pb_1 = require("../../api/cover/recommendation/recommendation_pb");
17
+ const attribute_pb_1 = require("../../api/cover/attribute_pb");
18
+ const user_pb_1 = require("../../api/cover/user_pb");
19
+ const view_pb_1 = require("../../api/cover/view_pb");
20
+ const unitcost_pb_1 = require("../../api/cover/unitcost_pb");
21
+ const costgroup_pb_1 = require("../../api/cover/costgroup_pb");
22
+ const accountaccess_pb_1 = require("../../api/cover/accountaccess_pb");
23
+ const costforecast_pb_1 = require("../../api/cover/costforecast_pb");
24
+ const discountplan_pb_1 = require("../../api/cover/discountplan_pb");
25
+ const discountrecommendation_pb_1 = require("../../api/cover/discountrecommendation_pb");
26
+ const rightsizingrecommendation_pb_1 = require("../../api/cover/rightsizingrecommendation_pb");
27
+ const alert_pb_1 = require("../../api/cover/alert_pb");
28
+ const budget_pb_1 = require("../../api/cover/budget_pb");
29
+ const insightreport_pb_1 = require("../../api/cover/insightreport_pb");
30
+ const operation_pb_1 = require("../../protos/operation_pb");
31
+ const annotations_pb_1 = require("../../google/api/annotations_pb");
32
+ const wkt_1 = require("@bufbuild/protobuf/wkt");
33
+ const annotations_pb_2 = require("../../protoc-gen-openapiv2/options/annotations_pb");
34
+ /**
35
+ * Describes the file cover/v1/cover.proto.
36
+ */
37
+ exports.file_cover_v1_cover = (0, codegenv2_1.fileDesc)("ChRjb3Zlci92MS9jb3Zlci5wcm90bxIQYmx1ZWFwaS5jb3Zlci52MSJvChZHZXRDb3N0VXNhZ2VWMlJlc3BvbnNlEg0KBXZhbHVlGAEgASgBEgwKBGRhdGUYAiABKAkSDgoGdmVuZG9yGAMgASgJEigKB2RldGFpbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ir8EChVHZXRDb3N0VXNhZ2VWMlJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnRUaW1lGAIgASgJEg8KB2VuZFRpbWUYAyABKAkSSAoLZ3JhbnVsYXJpdHkYBCABKA4yMy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVYyUmVxdWVzdC5HcmFudWxhcml0eRIQCghncm91cEJ5cxgFIAMoCRJCCghjYXRlZ29yeRgGIAEoDjIwLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXF1ZXN0LkNhdGVnb3J5EhAKCGN1cnJlbmN5GAcgASgJEjoKCmF3c09wdGlvbnMYCCABKAsyJi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBBd3NPcHRpb25zEkQKD2F6dXJlY3NwT3B0aW9ucxgJIAEoCzIrLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cEF6dXJlQ3NwT3B0aW9ucxI6CgpnY3BPcHRpb25zGAogASgLMiYuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwR2NwT3B0aW9ucyJCCgtHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIjkKCENhdGVnb3J5EhgKFENhdGVnb3J5X1VOU1BFQ0lGSUVEEAASCAoEQ09TVBABEgkKBVVTQUdFEAIiGQoXUG9wdWxhdGVEZW1vRGF0YVJlcXVlc3QiGgoYUG9wdWxhdGVEZW1vRGF0YVJlc3BvbnNlIhYKFFJlc2V0RGVtb0RhdGFSZXF1ZXN0IhcKFVJlc2V0RGVtb0RhdGFSZXNwb25zZSLfBgoZQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSSgoKbWV0cmljVHlwZRgDIAEoDjI2LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdC5NZXRyaWNUeXBlEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJElAKC2dyYW51bGFyaXR5GAYgASgOMjsuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LlRpbWVHcmFudWxhcml0eRIQCghncm91cEJ5cxgHIAMoCRJLCgdmaWx0ZXJzGAggAygLMjouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LkZpbHRlckNyaXRlcmlhEkwKC3NlcnZpY2VUeXBlGAkgASgOMjcuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LlNlcnZpY2VUeXBlGs8BCg5GaWx0ZXJDcml0ZXJpYRILCgNrZXkYASABKAkSWwoIb3BlcmF0b3IYAiABKA4ySS5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlcXVlc3QuRmlsdGVyQ3JpdGVyaWEuRmlsdGVyT3BlcmF0b3ISDQoFdmFsdWUYAyABKAkiRAoORmlsdGVyT3BlcmF0b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIJCgVFUVVBTBABEg0KCU5PVF9FUVVBTBACIkYKD1RpbWVHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIloKCk1ldHJpY1R5cGUSFgoSTUVUUklDX1VOU1BFQ0lGSUVEEAASCAoEQ09TVBABEgkKBVVTQUdFEAISDgoKRUZGSUNJRU5DWRADEg8KC1VOVVNFRF9DT1NUEAQiOAoLU2VydmljZVR5cGUSFwoTU0VSVklDRV9VTlNQRUNJRklFRBAAEgcKA0VDUxABEgcKA0VLUxACItcKChpDb250YWluZXJDb3N0VXNhZ2VSZXNwb25zZRJLCgdyZXN1bHRzGAEgAygLMjouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Hcm91cGVkUmVzdWx0ElMKCmhpZ2hsaWdodHMYAiABKAsyPy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLlJlc291cmNlSGlnaGxpZ2h0cxIRCgl0b3RhbENvc3QYAyABKAESFQoNYXZnRWZmaWNpZW5jeRgEIAEoARpECgpDb3N0TWV0cmljEg4KBmFtb3VudBgBIAEoARIQCghjdXJyZW5jeRgCIAEoCRIUCgx1bnVzZWRBbW91bnQYAyABKAEakAEKC1VzYWdlTWV0cmljEgwKBHVuaXQYASABKAkSFgoOcmVzZXJ2ZWRBbW91bnQYAiABKAESFAoMYWN0dWFsQW1vdW50GAMgASgBEhIKCmVmZmljaWVuY3kYBCABKAESFgoOY3B1VXRpbGl6YXRpb24YBSABKAESGQoRbWVtb3J5VXRpbGl6YXRpb24YBiABKAEawQEKD01ldHJpY0RhdGFQb2ludBIMCgRkYXRlGAEgASgJEkcKBGNvc3QYAiABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLkNvc3RNZXRyaWNIABJJCgV1c2FnZRgDIAEoCzI4LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuVXNhZ2VNZXRyaWNIAEIMCgptZXRyaWNEYXRhGkwKEVJlc291cmNlSGlnaGxpZ2h0EhIKCnJlc291cmNlSWQYASABKAkSFAoMcmVzb3VyY2VOYW1lGAIgASgJEg0KBXZhbHVlGAMgASgBGoQDChJSZXNvdXJjZUhpZ2hsaWdodHMSWgoSaGlnaGVzdENsdXN0ZXJDb3N0GAEgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBJZChFoaWdoZXN0VW51c2VkQ29zdBgCIAEoCzI+LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHQSWwoTaGlnaGVzdFdvcmtsb2FkQ29zdBgDIAEoCzI+LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHQSWgoSaGlnaGVzdENvbXB1dGVDb3N0GAQgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBr6AQoNR3JvdXBlZFJlc3VsdBJeCgphdHRyaWJ1dGVzGAEgAygLMkouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Hcm91cGVkUmVzdWx0LkF0dHJpYnV0ZXNFbnRyeRJWChBtZXRyaWNEYXRhUG9pbnRzGAIgAygLMjwuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5NZXRyaWNEYXRhUG9pbnQaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijwQKGEdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSSwoLZ3JhbnVsYXJpdHkYBSABKA4yNi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdC5HcmFudWxhcml0eRIQCghncm91cEJ5cxgGIAMoCRJCCgdmaWx0ZXJzGAcgAygLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QuRmlsdGVyGsIBCgZGaWx0ZXISCwoDa2V5GAEgASgJEkwKCG9wZXJhdG9yGAIgASgOMjouYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QuRmlsdGVyLk9wZXJhdG9yEg4KBnZhbHVlcxgDIAMoCRINCgV2YWx1ZRgEIAEoCSI+CghPcGVyYXRvchIYChRPUEVSQVRPUl9VTlNQRUNJRklFRBAAEgkKBUVRVUFMEAESDQoJTk9UX0VRVUFMEAIiQgoLR3JhbnVsYXJpdHkSGwoXR1JBTlVMQVJJVFlfVU5TUEVDSUZJRUQQABIJCgVEQUlMWRABEgsKB01PTlRITFkQAiKnBAoZR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZRJDCgdyZXN1bHRzGAEgAygLMjIuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlJlc3VsdBooCgRDb3N0Eg4KBmFtb3VudBgBIAEoARIQCghjdXJyZW5jeRgCIAEoCRolCgVVc2FnZRIMCgR1bml0GAEgASgJEg4KBmFtb3VudBgCIAEoARqYAQoGTWV0cmljEgwKBGRhdGUYASABKAkSPgoEY29zdBgCIAEoCzIwLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5Db3N0EkAKBXVzYWdlGAMgASgLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlVzYWdlGtgBCgZSZXN1bHQSVgoKYXR0cmlidXRlcxgBIAMoCzJCLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5SZXN1bHQuQXR0cmlidXRlc0VudHJ5EkMKB21ldHJpY3MYAiADKAsyMi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVzcG9uc2UuTWV0cmljGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIhsKGUdldEV4ZWN1dGlvblN0YXR1c1JlcXVlc3QiVwoaR2V0RXhlY3V0aW9uU3RhdHVzUmVzcG9uc2USGAoQcmVjb21tZW5kYXRpb25JZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSI4ChZWZXJpZnlBUElBY2Nlc3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIOCgZ0YXJnZXQYAiABKAkiKQoXVmVyaWZ5QVBJQWNjZXNzUmVzcG9uc2USDgoGcmVzdWx0GAEgASgIImUKGkdldFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0EgoKAmlkGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhQKDHBlcmlvZE9wdGlvbhgDIAEoCRIQCghjdXJyZW5jeRgEIAEoCSJhChtHZXRSZWNvbW1lbmRhdGlvblYyUmVzcG9uc2USQgoEZGF0YRgBIAEoCzI0LmJsdWVhcGkuYXBpLmNvdmVyLnJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uRGF0YSJRChFPbmJvYXJkT3JnUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEg0KBW9yZ0lkGAQgASgJIkMKEk9uYm9hcmRPcmdSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIk0KE0ludml0ZU1lbWJlclJlcXVlc3QSDQoFZW1haWwYASADKAkSEAoIaXNSZXNlbmQYAiABKAgSFQoNaW52aXRlQXNBZG1pbhgDIAEoCCIlChRJbnZpdGVNZW1iZXJSZXNwb25zZRINCgVlbWFpbBgBIAMoCSKkAQoTQWN0aXZhdGVVc2VyUmVxdWVzdBIOCgZ1c2VySWQYASABKAkSGAoQcHJldmlvdXNQYXNzd29yZBgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBmxvY2FsZRgFIAEoCRINCgVlbWFpbBgGIAEoCRIPCgdpc0F1dGgwGAcgASgIEhMKC2F1dGgwVXNlcklkGAggASgJIkUKFEFjdGl2YXRlVXNlclJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiWAoTQ3JlYXRlTWVtYmVyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEhIKCmNvc3Rncm91cHMYBCADKAkiRQoUQ3JlYXRlTWVtYmVyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSITChFHZXRNZW1iZXJzUmVxdWVzdCJDChJHZXRNZW1iZXJzUmVzcG9uc2USLQoIdXNlckRhdGEYASADKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIpChdHZXRNZW1iZXJEZXRhaWxzUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiSQoYR2V0TWVtYmVyRGV0YWlsc1Jlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKwoZR2V0TWVtYmVyQ29zdEdyb3VwUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiVAoaR2V0TWVtYmVyQ29zdEdyb3VwUmVzcG9uc2USNgoKY29zdEdyb3VwcxgBIAMoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLk1lbWJlckNvc3RHcm91cCJACh1VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVxdWVzdBIOCgZ1c2VySWQYASABKAkSDwoHaXNBZG1pbhgCIAEoCCJPCh5VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIXChVHZXRVc2VyRGV0YWlsc1JlcXVlc3QiRwoWR2V0VXNlckRldGFpbHNSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIikKF1VwZGF0ZVVzZXJBdmF0YXJSZXF1ZXN0Eg4KBmF2YXRhchgBIAEoCSJJChhVcGRhdGVVc2VyQXZhdGFyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIlChVVcGRhdGVVc2VySWNvblJlcXVlc3QSDAoEaWNvbhgBIAEoCSJHChZVcGRhdGVVc2VySWNvblJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiMQobVXBkYXRlVXNlckNvbG9yVGhlbWVSZXF1ZXN0EhIKCmNvbG9yVGhlbWUYASABKAkiTQocVXBkYXRlVXNlckNvbG9yVGhlbWVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIiUKFVVwZGF0ZVVzZXJOYW1lUmVxdWVzdBIMCgRuYW1lGAEgASgJIkcKFlVwZGF0ZVVzZXJOYW1lUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSInChZVcGRhdGVVc2VyRW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIkgKF1VwZGF0ZVVzZXJFbWFpbFJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKwoZVXBkYXRlVXNlck1haW5WaWV3UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiSwoaVXBkYXRlVXNlck1haW5WaWV3UmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJJChhSZXNldFVzZXJQYXNzd29yZFJlcXVlc3QSGAoQcHJldmlvdXNQYXNzd29yZBgBIAEoCRITCgtuZXdQYXNzd29yZBgCIAEoCSJKChlSZXNldFVzZXJQYXNzd29yZFJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKQoXVXBkYXRlVXNlckxvY2FsZVJlcXVlc3QSDgoGbG9jYWxlGAEgASgJIkkKGFVwZGF0ZVVzZXJMb2NhbGVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIi0KGVVwZGF0ZVVzZXJBcHBUaGVtZVJlcXVlc3QSEAoIYXBwVGhlbWUYASABKAkiSwoaVXBkYXRlVXNlckFwcFRoZW1lUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJDChlVcGRhdGVVc2VyVGltZXpvbmVSZXF1ZXN0EhAKCHRpbWVab25lGAEgASgJEhQKDGF1dG9UaW1lWm9uZRgCIAEoCCJLChpVcGRhdGVVc2VyVGltZXpvbmVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIjEKG1VwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVxdWVzdBISCgphdHRyaWJ1dGVzGAEgAygJIk0KHFVwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIlChNEZWxldGVNZW1iZXJSZXF1ZXN0Eg4KBnVzZXJJZBgBIAEoCSImChREZWxldGVNZW1iZXJSZXNwb25zZRIOCgZ1c2VySWQYASABKAkiJgoUUmVzZXRQYXNzd29yZFJlcXVlc3QSDgoGdXNlcklkGAEgASgJIicKFVJlc2V0UGFzc3dvcmRSZXNwb25zZRIOCgZ1c2VySWQYASABKAkiuwEKEUNyZWF0ZVZpZXdSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEQoJaXNQcml2YXRlGAMgASgIEhIKCmlzRWRpdGFibGUYBCABKAgSDAoEaWNvbhgFIAEoCRISCgpyZXBvcnRUeXBlGAYgASgJEhIKCmNvbG9yVGhlbWUYByABKAkSFAoMcmVwb3J0UGVyaW9kGAggASgJEhAKCGN1cnJlbmN5GAkgASgJIkMKEkNyZWF0ZVZpZXdSZXNwb25zZRItCgh2aWV3RGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdEYXRhIhEKD0dldFZpZXdzUmVxdWVzdCJBChBHZXRWaWV3c1Jlc3BvbnNlEi0KCHZpZXdMaXN0GAEgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0xpc3QiJwoVR2V0Q3VycmVudFZpZXdSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSJHChZHZXRDdXJyZW50Vmlld1Jlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiGQoXR2V0RmF2b3JpdGVWaWV3c1JlcXVlc3QiSwoYR2V0RmF2b3JpdGVWaWV3c1Jlc3BvbnNlEi8KCWZhdm9yaXRlcxgBIAMoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkZhdm9yaXRlcyIkChJQdWJsaXNoVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIiIKE1B1Ymxpc2hWaWV3UmVzcG9uc2USCwoDdXJsGAEgASgJIiQKEkFkZEZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiJQoTQWRkRmF2b3JpdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiJwoVUmVtb3ZlRmF2b3JpdGVSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSIoChZSZW1vdmVGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSKPAQoRVXBkYXRlVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDAoEaWNvbhgEIAEoCRIRCglpc1ByaXZhdGUYBSABKAgSEgoKaXNFZGl0YWJsZRgGIAEoCBISCgpjb2xvclRoZW1lGAcgASgJIiQKElVwZGF0ZVZpZXdSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiWAoXVXBkYXRlVmlld0xheW91dFJlcXVlc3QSDgoGdmlld0lkGAEgASgJEi0KBmxheW91dBgCIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLldpZGdldERhdGEiSQoYVXBkYXRlVmlld0xheW91dFJlc3BvbnNlEi0KBmxheW91dBgBIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdMYXlvdXQimgEKF1VwZGF0ZVZpZXdXaWRnZXRSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCRIQCgh3aWRnZXRJZBgCIAEoCRIoCgdvcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIzCghyZXF1ZXN0cxgEIAMoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkxheW91dFJlcXVlc3RzIl8KGFVwZGF0ZVZpZXdXaWRnZXRSZXNwb25zZRIQCgh3aWRnZXRJZBgBIAEoCRIxCgp3aWRnZXREYXRhGAIgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuV2lkZ2V0RGF0YSJBChtVcGRhdGVWaWV3Q29sb3JUaGVtZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhIKCmNvbG9yVGhlbWUYAiABKAkiTQocVXBkYXRlVmlld0NvbG9yVGhlbWVSZXNwb25zZRItCgh2aWV3RGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdEYXRhIj0KGVVwZGF0ZVZpZXdDdXJyZW5jeVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhAKCGN1cnJlbmN5GAIgASgJIksKGlVwZGF0ZVZpZXdDdXJyZW5jeVJlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiNQobU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0EhYKDnVwZGF0ZUN1cnJlbmN5GAEgASgDIjYKHFNldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2USFgoOdXBkYXRlQ3VycmVuY3kYASABKAMiHQobR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0IlkKHEdldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2USDQoFb3JnSWQYASABKAkSFgoOdXBkYXRlQ3VycmVuY3kYAiABKAMSEgoKbGFzdFVwZGF0ZRgDIAEoCSI+ChhMaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QSEQoJc3RhcnREYXRlGAEgASgJEg8KB2VuZERhdGUYAiABKAkiYgoZTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI2Cg1leGNoYW5nZVJhdGVzGAIgAygLMh8uYmx1ZWFwaS5jb3Zlci52MS5FeGNoYW5nZVJhdGVzIkIKDUV4Y2hhbmdlUmF0ZXMSDQoFbW9udGgYASABKAkSFAoMZXhjaGFuZ2VSYXRlGAIgASgCEgwKBGRhdGUYAyABKAkiIwoRRGVsZXRlVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIiQKEkRlbGV0ZVZpZXdSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiZQoaVXBkYXRlU2lkZU1lbnVTdGF0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEjcKDXNpZGVtZW51c3RhdGUYAiADKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5TaWRlTWVudVN0YXRlIi0KG1VwZGF0ZVNpZGVNZW51U3RhdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiQAoaQWRkU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhIKCm1lbnVJdGVtSWQYAiABKAkiLQobQWRkU2lkZU1lbnVGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSJDCh1SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSEgoKbWVudUl0ZW1JZBgCIAEoCSIwCh5SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVzcG9uc2USDgoGdmlld0lkGAEgASgJItMBChZDcmVhdGVDb3N0R3JvdXBSZXF1ZXN0EgwKBG5hbWUYASABKAkSLgoEdHlwZRgHIAEoDjIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cFR5cGUSEwoLZGVzY3JpcHRpb24YAiABKAkSDQoFaW1hZ2UYAyABKAkSDAoEaWNvbhgEIAEoCRISCgpjb2xvclRoZW1lGAUgASgJEjUKDGNvbWJpbmF0aW9ucxgGIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJSChdDcmVhdGVDb3N0R3JvdXBSZXNwb25zZRI3Cg1jb3N0R3JvdXBEYXRhGAEgASgLMiAuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwRGF0YSIWChRHZXRDb3N0R3JvdXBzUmVxdWVzdCJQChVHZXRDb3N0R3JvdXBzUmVzcG9uc2USNwoNY29zdEdyb3VwRGF0YRgBIAMoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cERhdGEiMQoaR2V0Q29zdEdyb3VwRGV0YWlsc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiVgobR2V0Q29zdEdyb3VwRGV0YWlsc1Jlc3BvbnNlEjcKDWNvc3RHcm91cERhdGEYASABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBEYXRhIj8KGlVwZGF0ZUNvc3RHcm91cE5hbWVSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEgwKBG5hbWUYAiABKAkiKwobVXBkYXRlQ29zdEdyb3VwTmFtZVJlc3BvbnNlEgwKBG5hbWUYASABKAkiTQohVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJIjkKIlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uUmVzcG9uc2USEwoLZGVzY3JpcHRpb24YASABKAkiQQobVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg0KBWltYWdlGAIgASgJIi0KHFVwZGF0ZUNvc3RHcm91cEltYWdlUmVzcG9uc2USDQoFaW1hZ2UYASABKAkiPwoaVXBkYXRlQ29zdEdyb3VwSWNvblJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSDAoEaWNvbhgCIAEoCSIrChtVcGRhdGVDb3N0R3JvdXBJY29uUmVzcG9uc2USDAoEaWNvbhgBIAEoCSJLCiBVcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRISCgpjb2xvclRoZW1lGAIgASgJIjcKIVVwZGF0ZUNvc3RHcm91cENvbG9yVGhlbWVSZXNwb25zZRISCgpjb2xvclRoZW1lGAEgASgJInAKIlVwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSNQoMY29tYmluYXRpb25zGAIgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIlwKI1VwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1Jlc3BvbnNlEjUKDGNvbWJpbmF0aW9ucxgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJDChxBc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg4KBnVzZXJJZBgCIAEoCSJECh1Bc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiQwocUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiRAodUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSDgoGdXNlcklkGAIgASgJIi0KFkRlbGV0ZUNvc3RHcm91cFJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiLgoXRGVsZXRlQ29zdEdyb3VwUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkiMgoiR2V0QWNjb3VudEFjY2Vzc1RlbXBsYXRlVXJsUmVxdWVzdBIMCgR0eXBlGAEgASgJIocBCiNHZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmxSZXNwb25zZRIRCglsYXVuY2hVcmwYASABKAkSEwoLdGVtcGxhdGVVcmwYAiABKAkSEQoJc3RhY2tOYW1lGAMgASgJEhEKCXByaW5jaXBhbBgEIAEoCRISCgpleHRlcm5hbElkGAUgASgJIhoKGExpc3RBY2NvdW50QWNjZXNzUmVxdWVzdCIpChdHZXRBY2NvdW50QWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAki2gIKDUFjY291bnRBY2Nlc3MSDgoGdGFyZ2V0GAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEhMKC2FjY291bnRUeXBlGAMgASgJEg8KB3BheWVySWQYBCABKAkSDwoHcm9sZUFybhgFIAEoCRISCgpleHRlcm5hbElkGAYgASgJEg8KB3N0YWNrSWQYByABKAkSEwoLc3RhY2tSZWdpb24YCCABKAkSEwoLdGVtcGxhdGVVcmwYCSABKAkSEgoKYnVja2V0TmFtZRgKIAEoCRIOCgZwcmVmaXgYCyABKAkSEgoKcmVwb3J0TmFtZRgMIAEoCRJBChJyZWdpc3RyYXRpb25TdGF0dXMYDSABKAsyJS5ibHVlYXBpLmFwaS5jb3Zlci5SZWdpc3RyYXRpb25TdGF0dXMSDgoGc3RhdHVzGA4gASgJEhMKC2xhc3RVcGRhdGVkGA8gASgJIkMKGkNyZWF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIVCg1mcm9tVGVycmFmb3JtGAIgASgIIkQKIkNyZWF0ZUFjY291bnRBY2Nlc3NTdGFja3NldFJlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnJlZ2lvbhgCIAEoCSIsChpVcGRhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkiPAoaRGVsZXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnZlbmRvchgCIAEoCSIvChtEZWxldGVBY2NvdW50QWNjZXNzUmVzcG9uc2USEAoIdGFyZ2V0SWQYASABKAkiUAoWUmVnaXN0ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhMKC2FjY291bnROYW1lGAMgASgJIuYBChFMaXN0QXNzZXRzUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRISCgpzdGFydE1vbnRoGAIgASgJEhAKCGVuZE1vbnRoGAMgASgJEhoKEndpdGhSZWNvbW1lbmRhdGlvbhgEIAEoCBI3Cgphd3NPcHRpb25zGAUgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzRmlsdGVycxJBChRhd3NQcm9wZXJ0aWVzT3B0aW9ucxgGIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMijwEKEUxpc3RBc3NldHNGaWx0ZXJzEkcKCmFuZEZpbHRlcnMYASADKAsyMy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK9AQoIUmVzb3VyY2USDAoEZGF0ZRgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHYWNjb3VudBgEIAEoCRIPCgdzZXJ2aWNlGAUgASgJEhIKCnJlc291cmNlSWQYBiABKAkSFAoMcmVzb3VyY2VUeXBlGAcgASgJEgwKBGNvc3QYCCABKAESEgoKcHJvcGVydGllcxgJIAEoCRIWCg5yZWNvbW1lbmRhdGlvbhgKIAEoCSLmAQoXR2V0QXNzZXRzU3VtbWFyeVJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEgoKc3RhcnRNb250aBgCIAEoCRIQCghlbmRNb250aBgDIAEoCRIUCgxjb21iaW5lRGF0ZXMYBCABKAgSNwoKYXdzT3B0aW9ucxgFIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMSQQoUYXdzUHJvcGVydGllc09wdGlvbnMYBiADKAsyIy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzImsKGEdldEFzc2V0c1N1bW1hcnlSZXNwb25zZRIwCgdzdW1tYXJ5GAEgAygLMh8uYmx1ZWFwaS5jb3Zlci52MS5Bc3NldHNTdW1tYXJ5Eh0KFXJlY29tbWVuZGF0aW9uU3VtbWFyeRgCIAEoCSJYCg1Bc3NldHNTdW1tYXJ5EgwKBGRhdGUYASABKAkSDgoGdmVuZG9yGAIgASgJEhYKDnRvdGFsUmVzb3VyY2VzGAMgASgDEhEKCXRvdGFsQ29zdBgEIAEoASI6CiNSZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCSJpCiRSZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSLAoIYWNjb3VudHMYAiADKAsyGi5ibHVlYXBpLmFwaS5jb3Zlci5BY2NvdW50IscEChNHZXRDb3N0VXNhZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXN0YXJ0VGltZRgCIAEoCRIPCgdlbmRUaW1lGAMgASgJEhQKDGdyb3VwQnlNb250aBgEIAEoCBINCgVsaW1pdBgFIAEoAxIQCghjYXRlZ29yeRgGIAEoCRIPCgdncm91cEJ5GAcgASgJEhcKD2luY2x1ZGVaZXJvQ29zdBgIIAEoCBJDCgphd3NPcHRpb25zGAkgASgLMi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0QXdzT3B0aW9ucxJHCgxhenVyZU9wdGlvbnMYCiABKAsyMS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RBenVyZU9wdGlvbnMSQwoKZ2NwT3B0aW9ucxgLIAEoCzIvLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlUmVxdWVzdEdjcE9wdGlvbnMSTQoPYXp1cmVjc3BPcHRpb25zGAwgASgLMjQuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0QXp1cmVDc3BPcHRpb25zEkkKDWN1c3RvbU9wdGlvbnMYDSABKAsyMi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RDdXN0b21PcHRpb25zEhcKD2luY2x1ZGVGb3JlY2FzdBgOIAEoCBIQCghjdXJyZW5jeRgPIAEoCSLnAQodR2V0Q29zdFVzYWdlUmVxdWVzdEF3c09wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFQoNZ3JvdXBBY2NvdW50cxgCIAEoCBJBCgdmaWx0ZXJzGAMgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRAoKdGFnRmlsdGVycxgEIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEg4KBnRhZ0tleRgFIAEoCSLZAQofR2V0Q29zdFVzYWdlUmVxdWVzdEF6dXJlT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIVCg1ncm91cEFjY291bnRzGAIgASgIEkEKB2ZpbHRlcnMYAyADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJECgp0YWdGaWx0ZXJzGAQgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMi/gIKHUdldENvc3RVc2FnZVJlcXVlc3RHY3BPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJGCgxsYWJlbEZpbHRlcnMYBSADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJNChNwcm9qZWN0TGFiZWxGaWx0ZXJzGAYgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSDgoGdGFnS2V5GAcgASgJIuwBCiJHZXRDb3N0VXNhZ2VSZXF1ZXN0QXp1cmVDc3BPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxIOCgZ0YWdLZXkYBSABKAkigQMKIEdldENvc3RVc2FnZVJlcXVlc3RDdXN0b21PcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJGCgxsYWJlbEZpbHRlcnMYBSADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJNChNwcm9qZWN0TGFiZWxGaWx0ZXJzGAYgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSDgoGdGFnS2V5GAcgASgJIqkBCh5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSVAoKYW5kRmlsdGVycxgBIAMoCzJALmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL2AwoIQ29zdEl0ZW0SDgoGdmVuZG9yGAEgASgJEgwKBGRhdGUYAiABKAkSDwoHcHJvZHVjdBgDIAEoCRIPCgdhY2NvdW50GAQgASgJEhEKCXVzYWdlVHlwZRgQIAEoCRISCgpjaGFyZ2VUeXBlGBEgASgJEgwKBGNvc3QYBSABKAESDwoHZGV0YWlscxgGIAEoCRI0Cghmb3JlY2FzdBgHIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLkF3c0Nvc3RGb3JlY2FzdBIOCgZyZWdpb24YCCABKAkSFgoOYmlsbGluZ0FjY291bnQYCSABKAkSEAoIdGFnVmFsdWUYCiABKAkSEgoKbGFzdFVwZGF0ZRgLIAEoCRIMCgR1bml0GAwgASgJEhAKCGNhdGVnb3J5GA0gASgJEg4KBnRhZ2dlZBgOIAEoCBIVCg1udW1iZXJPZlVuaXRzGBIgASgBEkYKDnVuaXRjb3N0bWV0cmljGA8gAygLMi4uYmx1ZWFwaS5jb3Zlci52MS5Db3N0SXRlbS5Vbml0Y29zdG1ldHJpY0VudHJ5EhoKEmFsbG9jYXRpb25DYXRlZ29yeRgTIAEoCRo1ChNVbml0Y29zdG1ldHJpY0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiOgojR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiWQokR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlc3BvbnNlEjEKCHJlc291cmNlGAEgAygLMh8uYmx1ZWFwaS5hcGkuY292ZXIuUmVzb3VyY2VEYXRhIngKGU1vZGlmeVJlc291cmNlVHlwZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRISCgpyZXNvdXJjZUlkGAMgASgJEhQKDHJlc291cmNlVHlwZRgEIAEoCRIOCgZyZWdpb24YBSABKAkiaQoaTW9kaWZ5UmVzb3VyY2VUeXBlUmVzcG9uc2USEQoJYWNjb3VudElkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSFAoMcmVzb3VyY2VUeXBlGAMgASgJEg4KBnJlZ2lvbhgEIAEoCSJhChhUZXJtaW5hdGVSZXNvdXJjZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRISCgpyZXNvdXJjZUlkGAMgASgJEg4KBnJlZ2lvbhgEIAEoCSJSChlUZXJtaW5hdGVSZXNvdXJjZVJlc3BvbnNlEhEKCWFjY291bnRJZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEg4KBnJlZ2lvbhgDIAEoCSJDChdVcGxvYWRDaGFyZ2VDb2RlUmVxdWVzdBIMCgRuYW1lGAEgASgJEgwKBHR5cGUYAiABKAkSDAoEZmlsZRgDIAEoDCJSChhVcGxvYWRDaGFyZ2VDb2RlUmVzcG9uc2USDAoEbmFtZRgBIAEoCRIoCgZzdGF0dXMYAiABKA4yGC5ibHVlYXBpLmNvdmVyLnYxLlN0YXR1cyJIChJBc3NpZ25QYXllclJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIPCgdwYXllcklkGAMgASgJIjkKE0Fzc2lnblBheWVyUmVzcG9uc2USEQoJYWNjb3VudElkGAEgASgJEg8KB3BheWVySWQYAiABKAkiIgoQR2V0UGF5ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiIwoRR2V0UGF5ZXJzUmVzcG9uc2USDgoGcGF5ZXJzGAEgAygJIjkKEkdldEFjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkiJwoTR2V0QWNjb3VudHNSZXNwb25zZRIQCghhY2NvdW50cxgBIAMoCSI5ChJHZXRTZXJ2aWNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJIicKE0dldFNlcnZpY2VzUmVzcG9uc2USEAoIc2VydmljZXMYASADKAkiOAoRR2V0UmVnaW9uc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJIiUKEkdldFJlZ2lvbnNSZXNwb25zZRIPCgdyZWdpb25zGAEgAygJIjUKDkdldFRhZ3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCSI+Cg9HZXRUYWdzUmVzcG9uc2USKwoHdGFnRGF0YRgBIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLlRhZ0RhdGEiIAoPTGlzdEZlZXNSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJIu0CCgpGZWVEZXRhaWxzEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnZlbmRvchgDIAEoCRIPCgdhY2NvdW50GAQgASgJEg0KBW1vbnRoGAUgASgJEhAKCGxpbmVUeXBlGAYgASgJEg8KB2ZlZVR5cGUYByABKAkSEwoLcHJvZHVjdENvZGUYCCABKAkSEwoLZGVzY3JpcHRpb24YCSABKAkSDwoHc3RhcnRlZBgKIAEoCRIUCgx0aW1lSW50ZXJ2YWwYCyABKAkSEwoLcHJvZHVjdE5hbWUYDCABKAkSEAoIY3VycmVuY3kYDSABKAkSEwoLc3BsaXRTdGF0dXMYDiABKAkSEwoLaXNBbGxvY2F0ZWQYDyABKAgSEQoJaXNBcHBsaWVkGBAgASgIEhUKDXVuYmxlbmRlZENvc3QYESABKAESEQoJc291cmNlRmVlGBIgASgJEhIKCmxhc3RVcGRhdGUYEyABKAkiIgoRUmVzdG9yZUZlZVJlcXVlc3QSDQoFZmVlSWQYASABKAkiUQoWR2V0Q29zdEdyb3VwRmVlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydFRpbWUYAiABKAkSDwoHZW5kVGltZRgDIAEoCSJmCgdGZWVJdGVtEg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdwcm9kdWN0GAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEdHlwZRgFIAEoCRIMCgRjb3N0GAYgASgBIkkKCUFsbG9jYXRvchIMCgR0eXBlGAEgASgJEg0KBXZhbHVlGAIgASgJEg8KB2Zvcm11bGEYAyABKAkSDgoGbW9udGhzGAQgASgDImgKCENyaXRlcmlhEjAKA2FuZBgBIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuQ3JpdGVyaWEuQW5kRW50cnkaKgoIQW5kRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKiAgoUQ29zdEFsbG9jYXRvckRldGFpbHMSCgoCaWQYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSEgoKZXhwaXJhdGlvbhgDIAEoAxISCgpzdGFydE1vbnRoGAQgASgJEhYKDmRlZmF1bHRBY2NvdW50GAUgASgJEjEKCGNyaXRlcmlhGAYgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zEi4KCWFsbG9jYXRvchgHIAMoCzIbLmJsdWVhcGkuY292ZXIudjEuQWxsb2NhdG9yEhIKCmNyZWF0ZVRpbWUYCCABKAkSEgoKdXBkYXRlVGltZRgJIAEoCRIMCgRuYW1lGAogASgJEhMKC2Rlc2NyaXB0aW9uGAsgASgJIvoBChRDb3N0QWxsb2NhdG9yUmVxdWVzdBIKCgJpZBgBIAEoCRIQCghjYXRlZ29yeRgCIAEoCRISCgpleHBpcmF0aW9uGAMgASgDEhIKCnN0YXJ0TW9udGgYBCABKAkSFgoOZGVmYXVsdEFjY291bnQYBSABKAkSMQoIY3JpdGVyaWEYBiABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMSLgoJYWxsb2NhdG9yGAcgAygLMhsuYmx1ZWFwaS5jb3Zlci52MS5BbGxvY2F0b3ISDAoEbmFtZRgIIAEoCRITCgtkZXNjcmlwdGlvbhgJIAEoCSIXChVMaXN0QWxsb2NhdG9yc1JlcXVlc3Qi8AEKFkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QSEAoIY2F0ZWdvcnkYASABKAkSEgoKZXhwaXJhdGlvbhgCIAEoAxISCgpzdGFydE1vbnRoGAMgASgJEhYKDmRlZmF1bHRBY2NvdW50GAQgASgJEjEKCGNyaXRlcmlhGAUgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zEi4KCWFsbG9jYXRvchgGIAMoCzIbLmJsdWVhcGkuY292ZXIudjEuQWxsb2NhdG9yEgwKBG5hbWUYByABKAkSEwoLZGVzY3JpcHRpb24YCCABKAkiMgoeR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXF1ZXN0EhAKCGNhdGVnb3J5GAEgASgJIrEBCh9HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1Jlc3BvbnNlElgKCWF0dHJpYnV0ZRgBIAMoCzJFLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXNwb25zZS5BbGxvY2F0aW9uQXR0cmlidXRlGjQKE0FsbG9jYXRpb25BdHRyaWJ1dGUSDAoEdHlwZRgBIAEoCRIPCgdzZXJ2aWNlGAIgAygJIisKG0dldEFsbG9jYXRpb25Tb3VyY2VzUmVxdWVzdBIMCgR0eXBlGAEgASgJIuEBChxHZXRBbGxvY2F0aW9uU291cmNlc1Jlc3BvbnNlElAKBnNvdXJjZRgBIAMoCzJALmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvblNvdXJjZXNSZXNwb25zZS5BbGxvY2F0aW9uU291cmNlcxpvChFBbGxvY2F0aW9uU291cmNlcxITCgthY2NvdW50TmFtZRgBIAEoCRIPCgdzZXJ2aWNlGAIgASgJEg8KB3RhZ05hbWUYAyABKAkSEAoIdGFnVmFsdWUYBCABKAkSEQoJY29zdEdyb3VwGAUgASgJIiQKFkRlbGV0ZUFsbG9jYXRvclJlcXVlc3QSCgoCaWQYASABKAkiRwocUHJveHlDcmVhdGVDb21wbGV0aW9uUmVxdWVzdBInCgZwYXJhbXMYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ii0KHVByb3h5Q3JlYXRlQ29tcGxldGlvblJlc3BvbnNlEgwKBGxpbmUYASABKAki1AQKE0FjY291bnRVc2FnZURldGFpbHMSCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEZGF0ZRgFIAEoCRITCgtwcm9kdWN0Q29kZRgGIAEoCRITCgtzZXJ2aWNlQ29kZRgHIAEoCRIOCgZyZWdpb24YCCABKAkSDAoEem9uZRgJIAEoCRIRCgl1c2FnZVR5cGUYCiABKAkSFAoMaW5zdGFuY2VUeXBlGAsgASgJEhEKCW9wZXJhdGlvbhgMIAEoCRIRCglpbnZvaWNlSWQYDSABKAkSEwoLZGVzY3JpcHRpb24YDiABKAkSEgoKcmVzb3VyY2VJZBgPIAEoCRIMCgR0YWdzGBAgASgJEhYKDmNvc3RDYXRlZ29yaWVzGBEgASgJEhMKC3VzYWdlQW1vdW50GBIgASgBEhkKEXRydWVVbmJsZW5kZWRDb3N0GBMgASgBEhUKDXVuYmxlbmRlZENvc3QYFCABKAESFQoNZWZmZWN0aXZlQ29zdBgVIAEoARIVCg1hbW9ydGl6ZWRDb3N0GBYgASgBEhoKEnB1YmxpY09uRGVtYW5kQ29zdBgXIAEoARIbChN1bnVzZWRBbW9ydGl6ZWRDb3N0GBggASgBEhIKCmxhc3RVcGRhdGUYGSABKAkSEwoLc3BsaXRTdGF0dXMYGiABKAkSEwoLaXNBbGxvY2F0ZWQYGyABKAgSEQoJaXNBcHBsaWVkGBwgASgIEg4KBnNvdXJjZRgdIAEoCSI9ChdMaXN0QWNjb3VudFVzYWdlUmVxdWVzdBIRCglzdGFydERhdGUYASABKAkSDwoHZW5kRGF0ZRgCIAEoCSIyChpSZXN0b3JlQWNjb3VudFVzYWdlUmVxdWVzdBIUCgxhbGxvY2F0aW9uSWQYASABKAkiIwoVUmVzdG9yZVNhdmluZ3NSZXF1ZXN0EgoKAmlkGAEgASgJIroCCg5TYXZpbmdzRGV0YWlscxIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHYWNjb3VudBgEIAEoCRINCgVtb250aBgFIAEoCRIMCgR0eXBlGAYgASgJEgsKA2FybhgHIAEoCRITCgtwcm9kdWN0Q29kZRgIIAEoCRISCgpvZmZlckNsYXNzGAkgASgJEhAKCG9uZGVtYW5kGAogASgBEhUKDWVmZmVjdGl2ZUNvc3QYCyABKAESDwoHc2F2aW5ncxgMIAEoARITCgtzcGxpdFN0YXR1cxgNIAEoCRITCgtpc0FsbG9jYXRlZBgOIAEoCBIRCglpc0FwcGxpZWQYDyABKAgSDgoGc291cmNlGBAgASgJEhIKCmxhc3RVcGRhdGUYESABKAkiagodR2V0Q29zdEdyb3VwQWxsb2NhdGlvblJlcXVlc3QSEAoIY2F0ZWdvcnkYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkigAEKDkFsbG9jYXRpb25JdGVtEg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdwcm9kdWN0GAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEdHlwZRgFIAEoCRIMCgRjb3N0GAYgASgBEhEKCWNvc3RHcm91cBgHIAEoCSJfChdQcm9jZXNzQXV0aDBVc2VyUmVxdWVzdBIOCgZzb3VyY2UYASABKAkSEgoKY3VzdG9tZXJJZBgCIAEoCRINCgVlbWFpbBgDIAEoCRIRCglzdWJ1c2VySWQYBCABKAkiMAoYUHJvY2Vzc0F1dGgwVXNlclJlc3BvbnNlEhQKDGlzQXV0aG9yaXplZBgBIAEoCCKVAgoKRGF0YUFjY2VzcxIOCgZ0YXJnZXQYASABKAkSDQoFb3JnSWQYAiABKAkSMQoKZ2NwT3B0aW9ucxgDIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkdjcE9wdGlvbnMSNQoMYXp1cmVPcHRpb25zGAQgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVPcHRpb25zEjEKCmF3c09wdGlvbnMYBSABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NPcHRpb25zEhMKC2FjY291bnRUeXBlGAYgASgJEhIKCmxhc3RVcGRhdGUYByABKAkSEgoKY3JlYXRlVGltZRgIIAEoCRIOCgZ2ZW5kb3IYCSABKAki7QEKGVJlZ2lzdGVyRGF0YUFjY2Vzc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg4KBnRhcmdldBgCIAEoCRITCgthY2NvdW50VHlwZRgDIAEoCRIxCgpnY3BPcHRpb25zGAQgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuR2NwT3B0aW9ucxI1CgxhenVyZU9wdGlvbnMYBSABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZU9wdGlvbnMSMQoKYXdzT3B0aW9ucxgGIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkF3c09wdGlvbnMi6wEKF1VwZGF0ZURhdGFBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSMQoKZ2NwT3B0aW9ucxgDIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkdjcE9wdGlvbnMSNQoMYXp1cmVPcHRpb25zGAQgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVPcHRpb25zEjEKCmF3c09wdGlvbnMYBSABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NPcHRpb25zEhMKC2FjY291bnRUeXBlGAYgASgJIhcKFUxpc3REYXRhQWNjZXNzUmVxdWVzdCIhCh9MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXF1ZXN0InEKIExpc3RVbnJlZ2lzdGVyZWRBY2NvdW50c1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj4KEXVucmVnaXN0ZXJlZEFjY3RzGAIgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5VbnJlZ2lzdGVyZWRBY2N0cyJUChFVbnJlZ2lzdGVyZWRBY2N0cxIKCgJpZBgBIAEoCRIPCgdwYXllcklkGAIgASgJEg4KBnN0YXR1cxgDIAEoCRISCgpsYXN0VXBkYXRlGAQgASgJInwKFUJpbGxpbmdBY2NvdW50UmVxdWVzdBIRCgliaWxsaW5nSWQYASABKAkSEQoJZGF0YXNldElkGAIgASgJEhUKDWRhdGFzZXRSZWdpb24YAyABKAkSEQoJcHJvamVjdElkGAQgASgJEhMKC2JpbGxpbmdOYW1lGAUgASgJIlQKHUdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEwoLYWNjb3VudFR5cGUYAyABKAkiYQoiQWRkUGFydG5lckNlbnRlckNyZWRlbnRpYWxzUmVxdWVzdBIRCglhY2NvdW50SWQYASABKAkSFQoNYXBwbGljYXRpb25JZBgCIAEoCRIRCglzZWNyZXRLZXkYAyABKAkiJQoUQWRkTXBuU2V0dGluZ1JlcXVlc3QSDQoFbXBuSWQYASABKAki1gEKHEdldENvc3RHcm91cEF0dHJpYnV0ZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhUKDWF0dHJpYnV0ZVR5cGUYAiABKAkSEwoLY29zdEdyb3VwSWQYAyABKAkSPQoUZXhpc3RpbmdDb21iaW5hdGlvbnMYBCADKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMSOwoSY3VycmVudENvbWJpbmF0aW9uGAUgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIncKHUdldENvc3RHcm91cEF0dHJpYnV0ZVJlc3BvbnNlEikKBnJlc3VsdBgBIAMoCzIZLmJsdWVhcGkuYXBpLmNvdmVyLlJlc3VsdBIrCgd0YWdEYXRhGAIgAygLMhouYmx1ZWFwaS5hcGkuY292ZXIuVGFnRGF0YSImChRHZXRDYXRlZ29yaWVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiRgoVR2V0Q2F0ZWdvcmllc1Jlc3BvbnNlEi0KCGNhdGVnb3J5GAEgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuQ2F0ZWdvcnkiEgoQR2V0QWxlcnRzUmVxdWVzdCJEChFHZXRBbGVydHNSZXNwb25zZRIvCglhbGVydERhdGEYASABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydERhdGEihgEKEkNyZWF0ZUFsZXJ0UmVxdWVzdBIMCgRuYW1lGAEgASgJEhMKC2ZpeGVkQW1vdW50GAIgASgCEhIKCnBlcmNlbnRhZ2UYAyABKAISEwoLZ3JhbnVsYXJpdHkYBCABKAkSEgoKY29zdEdyb3VwcxgFIAMoCRIQCghjaGFubmVscxgGIAMoCSJGChNDcmVhdGVBbGVydFJlc3BvbnNlEi8KCWFsZXJ0RGF0YRgBIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0RGF0YSIkChZHZXRBbGVydERldGFpbHNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKF0dldEFsZXJ0RGV0YWlsc1Jlc3BvbnNlEi8KCWFsZXJ0RGF0YRgBIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0RGF0YSIgChJEZWxldGVBbGVydFJlcXVlc3QSCgoCaWQYASABKAkiIQoTRGVsZXRlQWxlcnRSZXNwb25zZRIKCgJpZBgBIAEoCSKZAQoZVXBkYXRlQWxlcnREZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2ZpeGVkQW1vdW50GAMgASgCEhIKCnBlcmNlbnRhZ2UYBCABKAISEwoLZ3JhbnVsYXJpdHkYBSABKAkSEgoKY29zdEdyb3VwcxgGIAMoCRIQCghjaGFubmVscxgHIAMoCSJNChpVcGRhdGVBbGVydERldGFpbHNSZXNwb25zZRIvCglhbGVydERhdGEYASABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydERhdGEiIgoSR2V0Q2hhbm5lbHNSZXF1ZXN0EgwKBHR5cGUYASABKAkiSgoTR2V0Q2hhbm5lbHNSZXNwb25zZRIzCgtjaGFubmVsRGF0YRgBIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkNoYW5uZWxEYXRhIkYKFENyZWF0ZUNoYW5uZWxSZXF1ZXN0EgwKBG5hbWUYASABKAkSDAoEdHlwZRgCIAEoCRISCgp3ZWJob29rVXJsGAMgASgJIkwKFUNyZWF0ZUNoYW5uZWxSZXNwb25zZRIzCgtjaGFubmVsRGF0YRgBIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkNoYW5uZWxEYXRhIiYKGEdldENoYW5uZWxEZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCSJQChlHZXRDaGFubmVsRGV0YWlsc1Jlc3BvbnNlEjMKC2NoYW5uZWxEYXRhGAEgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQ2hhbm5lbERhdGEiIgoURGVsZXRlQ2hhbm5lbFJlcXVlc3QSCgoCaWQYASABKAkiIwoVRGVsZXRlQ2hhbm5lbFJlc3BvbnNlEgoKAmlkGAEgASgJIlkKG1VwZGF0ZUNoYW5uZWxEZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHR5cGUYAyABKAkSEgoKd2ViaG9va1VybBgEIAEoCSJTChxVcGRhdGVDaGFubmVsRGV0YWlsc1Jlc3BvbnNlEjMKC2NoYW5uZWxEYXRhGAEgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQ2hhbm5lbERhdGEizwEKIUdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIvCglhd3NJbnB1dHMYAiABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NJbnB1dHMSMwoLYXp1cmVJbnB1dHMYAyABKAsyHi5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZUlucHV0cxIvCglnY3BJbnB1dHMYBCABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5HY3BJbnB1dHMiiQIKIkdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVzcG9uc2USSQoSYXdzUmVjb21tZW5kYXRpb25zGAEgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuQXdzRGlzY291bnRSZWNvbW1lbmRhdGlvbnMSTQoUYXp1cmVSZWNvbW1lbmRhdGlvbnMYAiABKAsyLy5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZURpc2NvdW50UmVjb21tZW5kYXRpb25zEkkKEmdjcFJlY29tbWVuZGF0aW9ucxgDIAEoCzItLmJsdWVhcGkuYXBpLmNvdmVyLkdjcERpc2NvdW50UmVjb21tZW5kYXRpb25zIlcKHEdldEFub21hbHlpbkNvc3RHcm91cFJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAki4QEKC0Fub21hbHlEYXRhEg8KB2FjY291bnQYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB3Byb2R1Y3QYBCABKAkSDAoEZGF0ZRgFIAEoCRIRCgl0b3RhbENvc3QYBiABKAISEQoJaXNBbm9tYWx5GAcgASgIEhIKCmxvd2VyTGltaXQYCCABKAISEgoKdXBwZXJMaW1pdBgJIAEoAhITCgthbm9tYWx5Q29zdBgKIAEoAhIaChJhbm9tYWx5UHJvYmFiaWxpdHkYCyABKAIihQEKJENyZWF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBITCgtmcmVxdWVuY2llcxgBIAMoAxISCgpjb3N0R3JvdXBzGAIgAygJEhQKDGFsZXJ0RW5hYmxlZBgDIAEoCBIQCghjaGFubmVscxgEIAMoCRIMCgRuYW1lGAUgASgJIjYKKE1hbmlwdWxhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QSCgoCaWQYASABKAkikQEKJFVwZGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBIKCgJpZBgBIAEoCRIUCgxhbGVydEVuYWJsZWQYAiABKAgSEAoIY2hhbm5lbHMYAyADKAkSEwoLZnJlcXVlbmNpZXMYBCADKAMSEgoKY29zdEdyb3VwcxgFIAMoCRIMCgRuYW1lGAYgASgJIukBChdEaXNjb3VudEV4cGlyeUFsZXJ0RGF0YRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIUCgxhbGVydEVuYWJsZWQYAyABKAgSEwoLZnJlcXVlbmNpZXMYBCADKAMSNQoKY29zdEdyb3VwcxgFIAMoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0Q29zdEdyb3VwEg8KB2RldGFpbHMYBiABKAkSMgoIY2hhbm5lbHMYByABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydENoYW5uZWxzEgwKBG5hbWUYCCABKAkiJAoiTGlzdERpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdCKFAQoZQ3JlYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBIMCgRuYW1lGAEgASgJEhQKDGFsZXJ0RW5hYmxlZBgCIAEoCBIRCglmcmVxdWVuY3kYAyABKAkSEwoLY29zdEdyb3VwSWQYBCABKAkSHAoUbm90aWZpY2F0aW9uQ2hhbm5lbHMYBSADKAkiKwodTWFuaXB1bGF0ZUFub21hbHlBbGVydFJlcXVlc3QSCgoCaWQYASABKAki0AEKEEFub21hbHlBbGVydERhdGESCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIUCgxhbGVydEVuYWJsZWQYBCABKAgSEQoJZnJlcXVlbmN5GAUgASgJEjYKC2Nvc3RHcm91cElkGAYgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnRDb3N0R3JvdXASMgoIY2hhbm5lbHMYByABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydENoYW5uZWxzIhkKF0xpc3RBbm9tYWx5QWxlcnRSZXF1ZXN0IpEBChlVcGRhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMYWxlcnRFbmFibGVkGAMgASgIEhwKFG5vdGlmaWNhdGlvbkNoYW5uZWxzGAQgAygJEhEKCWZyZXF1ZW5jeRgFIAEoCRITCgtjb3N0R3JvdXBJZBgGIAEoCSKJAQoWUmVnaXN0ZXJOZXdVc2VyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2NvbXBhbnkYBCABKAkSDAoEcm9sZRgFIAEoCRIOCgZhbW91bnQYBiABKAkSEQoJaW50ZW50aW9uGAcgASgJIi8KF1JlZ2lzdGVyTmV3VXNlclJlc3BvbnNlEhQKDGlzQXV0aG9yaXplZBgBIAEoCCImChVHZXRVc2VyUHJvZmlsZVJlcXVlc3QSDQoFZW1haWwYASABKAkizgEKFkdldFVzZXJQcm9maWxlUmVzcG9uc2USGQoRaGFzQ3JlYXRlZFByb2ZpbGUYASABKAgSDAoEbmFtZRgCIAEoCRIMCgRyb2xlGAMgASgJEg0KBXVzYWdlGAQgASgJEhEKCWludGVudGlvbhgFIAEoCRITCgtjb21wYW55TmFtZRgGIAEoCRIUCgxlbWFpbEFkZHJlc3MYByABKAkSEgoKbGlua1NvdXJjZRgIIAEoCRIcChRoYXNTdWJzY3JpYmVkVXBkYXRlcxgJIAEoCCKuAQoYVXBkYXRlVXNlclByb2ZpbGVSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEcm9sZRgDIAEoCRINCgV1c2FnZRgEIAEoCRIRCglpbnRlbnRpb24YBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSEgoKbGlua1NvdXJjZRgHIAEoCRIcChRoYXNTdWJzY3JpYmVkVXBkYXRlcxgIIAEoCCKvAQoZVXBkYXRlVXNlclByb2ZpbGVSZXNwb25zZRINCgVlbWFpbBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHJvbGUYAyABKAkSDQoFdXNhZ2UYBCABKAkSEQoJaW50ZW50aW9uGAUgASgJEhMKC2NvbXBhbnlOYW1lGAYgASgJEhIKCmxpbmtTb3VyY2UYByABKAkSHAoUaGFzU3Vic2NyaWJlZFVwZGF0ZXMYCCABKAgiSAoSTGlzdEJ1ZGdldHNSZXF1ZXN0Eh8KF2luY2x1ZGVTcGVuZEFuZEZvcmVjYXN0GAEgASgIEhEKCWNvc3RHcm91cBgCIAEoCSJIChNMaXN0QnVkZ2V0c1Jlc3BvbnNlEjEKCmJ1ZGdldERhdGEYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5CdWRnZXREYXRhIh4KEEdldEJ1ZGdldFJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0QnVkZ2V0UmVzcG9uc2USMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSAoTQ3JlYXRlQnVkZ2V0UmVxdWVzdBIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSJJChRDcmVhdGVCdWRnZXRSZXNwb25zZRIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSIhChNEZWxldGVCdWRnZXRSZXF1ZXN0EgoKAmlkGAEgASgJIiIKFERlbGV0ZUJ1ZGdldFJlc3BvbnNlEgoKAmlkGAEgASgJIlQKE1VwZGF0ZUJ1ZGdldFJlcXVlc3QSCgoCaWQYASABKAkSMQoKYnVkZ2V0RGF0YRgCIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSQoUVXBkYXRlQnVkZ2V0UmVzcG9uc2USMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSwouUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVxdWVzdBIZChFyZWdpc3RyYXRpb25Ub2tlbhgBIAEoCSJhCi9SZXNvbHZlQVdTTWFya2V0cGxhY2VUb2tlbkZvck9uYm9hcmRpbmdSZXNwb25zZRIaChJpc0FsbG93ZWRUb09uYm9hcmQYASABKAgSEgoKY3VzdG9tZXJJZBgCIAEoCSImCiRHZXRDdXN0b21lclN1YnNjcmlwdGlvblN0YXR1c1JlcXVlc3Qi8gEKJUdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzUmVzcG9uc2USFgoOZGF0ZVJlZ2lzdGVyZWQYASABKAkSGgoSc3Vic2NyaXB0aW9uRXhwaXJ5GAIgASgJEhAKCGRheXNMZWZ0GAMgASgFEhQKDGlzU3Vic2NyaWJlZBgEIAEoCBIRCglpc0V4cGlyZWQYBSABKAgSDAoEcGxhbhgGIAEoCRIOCgZhbW91bnQYByABKAkSFQoNcGF5bWVudE9wdGlvbhgIIAEoCRIVCg1wYXltZW50TWV0aG9kGAkgASgJEg4KBmNyZWRpdBgKIAEoASKzAQoWQ3JlYXRlUHJvZmlsaW5nUmVxdWVzdBIMCgRuYW1lGAEgASgJEgwKBHJvbGUYAiABKAkSDQoFdXNhZ2UYAyABKAkSEQoJaW50ZW50aW9uGAQgASgJEhMKC2NvbXBhbnlOYW1lGAUgASgJEhQKDGVtYWlsQWRkcmVzcxgGIAEoCRISCgpsaW5rU291cmNlGAcgASgJEhwKFGhhc1N1YnNjcmliZWRVcGRhdGVzGAggASgIIhkKF0NyZWF0ZVByb2ZpbGluZ1Jlc3BvbnNlIjkKG0FkZEluZm90b01hcmtldHBsYWNlUmVxdWVzdBIaChJjdXN0b21lcklkZW50aWZpZXIYASABKAkiHgocQWRkSW5mb3RvTWFya2V0cGxhY2VSZXNwb25zZSJ4ChdHZXRSZXBvcnRTdW1tYXJ5UmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRISCgpyZXBvcnRUeXBlGAQgASgJEhAKCGN1cnJlbmN5GAUgASgJIq4CChhHZXRSZXBvcnRTdW1tYXJ5UmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAkSPQoQZXhlY3V0aXZlU3VtbWFyeRgEIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkV4ZWN1dGl2ZVN1bW1hcnkSXwohb3B0aW1pemF0aW9uUmVjb21tZW5kYXRpb25TdW1tYXJ5GAUgASgLMjQuYmx1ZWFwaS5hcGkuY292ZXIuT3B0aW1pemF0aW9uUmVjb21tZW5kYXRpb25TdW1tYXJ5EjkKDnNhdmluZ3NTdW1tYXJ5GAYgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuU2F2aW5nc1N1bW1hcnkiqgIKGUxpc3RSZWNvbW1lbmRhdGlvblJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJEg4KBnZlbmRvchgEIAEoCRIOCgZzb3VyY2UYBSABKAkSGgoSb3B0aW1pemF0aW9uU3RhdHVzGAcgASgJEgwKBHR5cGUYCCABKAkSDgoGc3BUeXBlGAkgASgJEhEKCXJhdGVNb2RlbBgKIAEoCRIVCg1wYXltZW50T3B0aW9uGAsgASgJEgwKBHRlcm0YDCABKAkSDwoHc2VydmljZRgNIAEoCRIVCg1vZmZlcmluZ0NsYXNzGA4gASgJEhAKCGN1cnJlbmN5GA8gASgJItUCChtMaXN0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJElAKDHJhdGVTZXR0aW5ncxgEIAEoCzI6LmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0LlJhdGVTZXR0aW5ncxIQCghjdXJyZW5jeRgFIAEoCRqOAQoMUmF0ZVNldHRpbmdzEg4KBnNwVHlwZRgBIAEoCRIRCglyYXRlTW9kZWwYAiABKAkSFQoNcGF5bWVudE9wdGlvbhgDIAEoCRIMCgR0ZXJtGAQgASgJEg8KB3NlcnZpY2UYBSABKAkSFQoNb2ZmZXJpbmdDbGFzcxgGIAEoCRIOCgZ2ZW5kb3IYByABKAki2gYKGkxpc3RSZWNvbW1lbmRhdGlvblJlc3BvbnNlEhgKEHJlY29tbWVuZGF0aW9uSWQYASABKAkSFgoOcmVjb21tZW5kYXRpb24YAiABKAkSDwoHc2VydmljZRgDIAEoCRIeChZlc3RpbWF0ZWRNb250aGx5U2F2aW5nGAQgASgBEhwKFGVzdGltYXRlZE1vbnRobHlDb3N0GAUgASgBEg8KB3Njb3JpbmcYBiABKAkSDgoGdmVuZG9yGAcgASgJEhAKCGNhdGVnb3J5GAggASgJEhoKEm9wdGltaXphdGlvblN0YXR1cxgJIAEoCRIUCgxlcnJvck1lc3NhZ2UYCiABKAkSEQoJYWNjb3VudElkGAsgASgJEhMKC2FjY291bnROYW1lGAwgASgJEhQKDGluc3RhbmNlTmFtZRgNIAEoCRISCgppbnN0YW5jZUlkGA4gASgJEhQKDGluc3RhbmNlVHlwZRgPIAEoCRIOCgZyZWdpb24YECABKAkSEgoKY29tbWl0bWVudBgRIAEoARIOCgZzcFR5cGUYEiABKAkSGAoQbnVtYmVyVG9QdXJjaGFzZRgTIAEoAxIOCgZyaVR5cGUYFCABKAkSDAoEdHlwZRgVIAEoCRIOCgZzb3VyY2UYFiABKAkSFwoPZGF0ZVJlY29tbWVuZGVkGBcgASgJEhsKE3JlY29tbWVuZGF0aW9uR3JvdXAYGCABKAkSFQoNbGFzdFVwZGF0ZWRBdBgZIAEoCRJTCg5wdXJjaGFzZU9wdGlvbhgaIAEoCzI7LmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVzcG9uc2UuUHVyY2hhc2VPcHRpb24azwEKDlB1cmNoYXNlT3B0aW9uEg4KBnNwVHlwZRgBIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAIgASgJEhIKCmNvbW1pdG1lbnQYAyABKAESGAoQbnVtYmVyVG9QdXJjaGFzZRgEIAEoAxIVCg1wYXltZW50T3B0aW9uGAUgASgJEgwKBHRlcm0YBiABKAkSGQoRY3VycmVudEdlbmVyYXRpb24YByABKAgSEwoLc2VydmljZVR5cGUYCCABKAkSEwoLdXBmcm9udENvc3QYCSABKAEiUQoYR2V0UmVjb21tZW5kYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhQKDHBlcmlvZE9wdGlvbhgDIAEoCSJeChlHZXRSZWNvbW1lbmRhdGlvblJlc3BvbnNlEkEKEnJlY29tbWVuZGF0aW9uRGF0YRgBIAEoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkFXU1JlY29tbWVuZGF0aW9ucyJEChpFeGVjdXRlT3B0aW1pemF0aW9uUmVxdWVzdBIYChByZWNvbW1lbmRhdGlvbklkGAEgASgJEgwKBHR5cGUYAiABKAkilAMKG0V4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZRJMCglhd3NPcHRpb24YASABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZS5BV1NPcHRpb25IABJMCglnY3BPcHRpb24YAiABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZS5HQ1BPcHRpb25IABJWCg5henVyZUNzcE9wdGlvbhgDIAEoCzI8LmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlLkF6dXJlQ1NQT3B0aW9uSAAaWAoJQVdTT3B0aW9uEhoKEmFwcHJvdmVUZW1wbGF0ZVVybBgBIAEoCRIYChByZWNvbW1lbmRhdGlvbklkGAIgASgJEhUKDWN1cnJlbnRTdGF0dXMYAyABKAkaCwoJR0NQT3B0aW9uGhAKDkF6dXJlQ1NQT3B0aW9uQggKBlZlbmRvciIjChVNYXJrQXNFeGVjdXRlZFJlcXVlc3QSCgoCaWQYASADKAkiGAoWTWFya0FzRXhlY3V0ZWRSZXNwb25zZSIvCiFVbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvblJlcXVlc3QSCgoCaWQYASADKAkiJAoiVW5kb0V4ZWN1dGVkUmVjb21tZW5kYXRpb25SZXNwb25zZSKnAQoaT3B0aW1pemF0aW9uSGlzdG9yeVJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJEg4KBnZlbmRvchgEIAEoCRIOCgZzb3VyY2UYBSABKAkSFAoMcGVyaW9kT3B0aW9uGAYgASgJEhAKCGN1cnJlbmN5GAcgASgJInYKG09wdGltaXphdGlvbkhpc3RvcnlSZXNwb25zZRJXCh1leGVjdXRlZFJlY29tbWVuZGF0aW9uRGV0YWlscxgCIAMoCzIwLmJsdWVhcGkuYXBpLmNvdmVyLkV4ZWN1dGVkUmVjb21tZW5kYXRpb25EZXRhaWxzImAKIVNldENvc3RHcm91cEV2ZW50SW5kaWNhdG9yUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIPCgdhbm9tYWx5GAIgASgIEhUKDXZpc3VhbEJ1aWxkZXIYAyABKAgidAoiU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3JSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRI5Cg5ldmVudEluZGljYXRvchgCIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkV2ZW50SW5kaWNhdG9yInsKIVNldENvc3RHcm91cEFub21hbHlPcHRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCgl0aHJlc2hvbGQYAiABKAISFAoMaXNQZXJjZW50YWdlGAMgASgIEhgKEHBhc3REYXRhSW5Nb250aHMYBCABKAMidAoiU2V0Q29zdEdyb3VwQW5vbWFseU9wdGlvbnNSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRI5Cg5hbm9tYWx5T3B0aW9ucxgCIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkFub21hbHlPcHRpb25zIi8KGFNldE9yZ0Zpc2NhbE1vbnRoUmVxdWVzdBITCgtmaXNjYWxNb250aBgBIAEoCSIwChlTZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlEhMKC2Zpc2NhbE1vbnRoGAEgASgJIhoKGEdldE9yZ0Zpc2NhbE1vbnRoUmVxdWVzdCJIChlHZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlEhMKC2Zpc2NhbE1vbnRoGAEgASgJEhYKDmRhdGVSZWdpc3RlcmVkGAIgASgJIlsKG1RyYW5zZmVyT3JnYW5pemF0aW9uUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkSDgoGcmVnaW9uGAIgASgJEg0KBXBheWVyGAMgASgJEg0KBW9yZ0lkGAQgASgJIi4KHFRyYW5zZmVyT3JnYW5pemF0aW9uUmVzcG9uc2USDgoGdGFyZ2V0GAEgASgJIkUKIFVwZGF0ZUNvc3RHcm91cENyZWF0aW9uVUlSZXF1ZXN0EiEKGXVzZU5ld0Nvc3RHcm91cENyZWF0aW9uVUkYASABKAgiUgohVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSVJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiFgoUTGlzdFVuaXRUeXBlc1JlcXVlc3QiTgoVTGlzdFVuaXRUeXBlc1Jlc3BvbnNlEjUKDHVuaXRDb3N0RGF0YRgBIAMoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSK2AQoVQ3JlYXRlVW5pdFR5cGVSZXF1ZXN0EhAKCHVuaXROYW1lGAEgASgJEi4KCXVuaXRJdGVtcxgCIAMoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRJdGVtEkYKD3NoYXJlZFJlc291cmNlcxgDIAMoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uEhMKC2Rlc2NyaXB0aW9uGAQgASgJIk8KFkNyZWF0ZVVuaXRUeXBlUmVzcG9uc2USNQoMdW5pdENvc3REYXRhGAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIiAKEkdldFVuaXRUeXBlUmVxdWVzdBIKCgJpZBgBIAEoCSJMChNHZXRVbml0VHlwZVJlc3BvbnNlEjUKDHVuaXRDb3N0RGF0YRgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSLCAQoVVXBkYXRlVW5pdFR5cGVSZXF1ZXN0EgoKAmlkGAEgASgJEhAKCHVuaXROYW1lGAIgASgJEi4KCXVuaXRJdGVtcxgDIAMoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRJdGVtEkYKD3NoYXJlZFJlc291cmNlcxgEIAMoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uEhMKC2Rlc2NyaXB0aW9uGAUgASgJIk8KFlVwZGF0ZVVuaXRUeXBlUmVzcG9uc2USNQoMdW5pdENvc3REYXRhGAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIiMKFURlbGV0ZVVuaXRUeXBlUmVxdWVzdBIKCgJpZBgBIAEoCSIkChZEZWxldGVVbml0VHlwZVJlc3BvbnNlEgoKAmlkGAEgASgJIk8KEU1lcmdlVW5pdHNSZXF1ZXN0EhMKC3VuaXRDb3N0SWRzGAEgAygJEhAKCHVuaXROYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIk0KEk1lcmdlVW5pdHNSZXNwb25zZRI3Cg5tZXJnZWRVbml0Q29zdBgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSIbChlMaXN0U3VnZ2VzdGVkVW5pdHNSZXF1ZXN0IlYKGkxpc3RTdWdnZXN0ZWRVbml0c1Jlc3BvbnNlEjgKDnN1Z2dlc3RlZFVuaXRzGAEgAygLMiAuYmx1ZWFwaS5hcGkuY292ZXIuU3VnZ2VzdGVkVW5pdCJyChpNZXJnZVN1Z2dlc3RlZFVuaXRzUmVxdWVzdBIYChBzdWdnZXN0ZWRVbml0SWRzGAEgAygJEhMKC3VuaXRJdGVtSWRzGAIgAygJEhAKCHVuaXROYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJIl0KG01lcmdlU3VnZ2VzdGVkVW5pdHNSZXNwb25zZRI+ChRtZXJnZWRTdWdnZXN0ZWRVbml0cxgBIAEoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLlN1Z2dlc3RlZFVuaXQiOgoeQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXF1ZXN0EhgKEHN1Z2dlc3RlZFVuaXRJZHMYASADKAkiNgofQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXNwb25zZRITCgt1bml0Q29zdElkcxgBIAMoCSIcChpMaXN0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdCJlChtMaXN0U2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USRgoPc2hhcmVkUmVzb3VyY2VzGAEgAygLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24i0wIKHENyZWF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QSGgoSc2hhcmVkUmVzb3VyY2VOYW1lGAEgASgJEk0KG3NoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9ucxgCIAEoCzIoLmJsdWVhcGkuYXBpLmNvdmVyLlJlc291cmNlc0NvbWJpbmF0aW9ucxJWCgxkaXN0cmlidXRpb24YAyADKAsyQC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QuRGlzdHJpYnV0aW9uRW50cnkSEQoJYWxsb2NhdGVkGAQgASgBEhMKC3VuYWxsb2NhdGVkGAUgASgBEhMKC2Rlc2NyaXB0aW9uGAYgASgJGjMKEURpc3RyaWJ1dGlvbkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiZwodQ3JlYXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USRgoPc2hhcmVkUmVzb3VyY2VzGAEgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24iJwoZR2V0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCSJkChpHZXRTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRJGCg9zaGFyZWRSZXNvdXJjZXMYASABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbiLfAgocVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIaChJzaGFyZWRSZXNvdXJjZU5hbWUYAiABKAkSTQobc2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb25zGAMgASgLMiguYmx1ZWFwaS5hcGkuY292ZXIuUmVzb3VyY2VzQ29tYmluYXRpb25zElYKDGRpc3RyaWJ1dGlvbhgEIAMoCzJALmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdC5EaXN0cmlidXRpb25FbnRyeRIRCglhbGxvY2F0ZWQYBSABKAESEwoLdW5hbGxvY2F0ZWQYBiABKAESEwoLZGVzY3JpcHRpb24YByABKAkaMwoRRGlzdHJpYnV0aW9uRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASJnCh1VcGRhdGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRJGCg9zaGFyZWRSZXNvdXJjZXMYASABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbiIqChxEZWxldGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0EgoKAmlkGAEgASgJIisKHURlbGV0ZVNoYXJlZFJlc291cmNlc1Jlc3BvbnNlEgoKAmlkGAEgASgJIlcKFkxpc3RVbml0TWV0cmljc1JlcXVlc3QSGQoRYWdncmVnYXRpb25NZXRob2QYASABKAkSEgoKZGF0YVNvdXJjZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkiTQoXTGlzdFVuaXRNZXRyaWNzUmVzcG9uc2USMgoLdW5pdE1ldHJpY3MYASADKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0TWV0cmljIrkBChdDcmVhdGVVbml0TWV0cmljUmVxdWVzdBISCgptZXRyaWNOYW1lGAEgASgJEhkKEWFnZ3JlZ2F0aW9uTWV0aG9kGAIgASgJEhIKCmRhdGFTb3VyY2UYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSEwoLY29zdGdyb3VwSWQYBSADKAkSMQoKc291cmNlSW5mbxgGIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlNvdXJjZUluZm8iTQoYQ3JlYXRlVW5pdE1ldHJpY1Jlc3BvbnNlEjEKCnVuaXRNZXRyaWMYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0TWV0cmljIiIKFEdldFVuaXRNZXRyaWNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKFUdldFVuaXRNZXRyaWNSZXNwb25zZRIxCgp1bml0TWV0cmljGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdE1ldHJpYyLFAQoXVXBkYXRlVW5pdE1ldHJpY1JlcXVlc3QSCgoCaWQYASABKAkSEgoKbWV0cmljTmFtZRgCIAEoCRIZChFhZ2dyZWdhdGlvbk1ldGhvZBgDIAEoCRISCgpkYXRhU291cmNlGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEhMKC2Nvc3Rncm91cElkGAYgAygJEjEKCnNvdXJjZUluZm8YByABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Tb3VyY2VJbmZvIk0KGFVwZGF0ZVVuaXRNZXRyaWNSZXNwb25zZRIxCgp1bml0TWV0cmljGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdE1ldHJpYyIlChdEZWxldGVVbml0TWV0cmljUmVxdWVzdBIKCgJpZBgBIAEoCSImChhEZWxldGVVbml0TWV0cmljUmVzcG9uc2USCgoCaWQYASABKAkiZgoZUHJldmlld0dvb2dsZVNoZWV0UmVxdWVzdBIVCg1nb29nbGVTaGVldElkGAEgASgJEhAKCHNoZWV0VXJsGAIgASgJEhEKCXNoZWV0TmFtZRgDIAEoCRINCgVyYW5nZRgEIAEoCSJZChpQcmV2aWV3R29vZ2xlU2hlZXRSZXNwb25zZRIOCgZoZWFkZXIYASADKAkSKwoHcm93RGF0YRgCIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLlJvd0RhdGEiMwofQ29uZmlybUdvb2dsZVNoZWV0QWNjZXNzUmVxdWVzdBIQCghzaGVldFVybBgBIAEoCSJNCiBDb25maXJtR29vZ2xlU2hlZXRBY2Nlc3NSZXNwb25zZRIVCg1nb29nbGVTaGVldElkGAEgASgJEhIKCnNoZWV0TmFtZXMYAiADKAkidgocR2V0Q2xvdWR3YXRjaE1ldGFkYXRhUmVxdWVzdBIRCglhY2NvdW50SWQYASABKAkSDgoGcmVnaW9uGAIgASgJEgwKBHR5cGUYAyABKAkSEQoJbmFtZXNwYWNlGAQgASgJEhIKCm1ldHJpY05hbWUYBSABKAkivgEKHUdldENsb3Vkd2F0Y2hNZXRhZGF0YVJlc3BvbnNlEhIKCm5hbWVzcGFjZXMYASADKAkSDwoHbWV0cmljcxgCIAMoCRJNCgpkaW1lbnNpb25zGAMgAygLMjkuYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXNwb25zZS5EaW1lbnNpb24aKQoJRGltZW5zaW9uEgwKBG5hbWUYASABKAkSDgoGdmFsdWVzGAIgAygJIoECChZHZXREaXNjb3VudFBsYW5SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIYChByZWR1Y3Rpb25EaXNwbGF5GAMgASgJEhYKDmluY2x1ZGVEZXRhaWxzGAQgASgIEhAKCGZyb21EYXRlGAUgASgJEg4KBnRvRGF0ZRgGIAEoCRIPCgdwYXllcklkGAcgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAggASgJEg8KB2dyb3VwSWQYCSABKAkSEwoLY29zdEdyb3VwSWQYCiABKAkSEAoIYWNjb3VudHMYCyADKAkSEAoIc2VydmljZXMYDCADKAkiZwoXR2V0RGlzY291bnRQbGFuUmVzcG9uc2USDQoFb3JnSWQYASABKAkSPQoQYXdzRGlzY291bnRQbGFucxgCIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkF3c0Rpc2NvdW50UGxhbnMicwocTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSEAoIZnJvbURhdGUYAyABKAkSDgoGdG9EYXRlGAQgASgJEgwKBHR5cGUYBSABKAkiyQEKHUxpc3ROb25wZXJmb3JtaW5nUmF0ZVJlc3BvbnNlElQKDW5vbnBlcmZvcm1pbmcYASADKAsyPS5ibHVlYXBpLmNvdmVyLnYxLkxpc3ROb25wZXJmb3JtaW5nUmF0ZVJlc3BvbnNlLk5vbnBlcmZvcm1pbmcaUgoNTm9ucGVyZm9ybWluZxIMCgR0eXBlGAEgASgJEg8KB2FjY291bnQYAiABKAkSEwoLdXRpbGl6YXRpb24YAyABKAESDQoFd2FzdGUYBCABKAEqPwoGU3RhdHVzEgsKB1BFTkRJTkcQABIPCgtJTl9QUk9HUkVTUxABEgsKB1NVQ0NFU1MQAhIKCgZGQUlMRUQQAzKs0gEKBUNvdmVyEncKCk9uYm9hcmRPcmcSIy5ibHVlYXBpLmNvdmVyLnYxLk9uYm9hcmRPcmdSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5PbmJvYXJkT3JnUmVzcG9uc2UiHoLT5JMCGDoBKiITL3YxL21lbWJlcnMvb25ib2FyZBJ8CgxJbnZpdGVNZW1iZXISJS5ibHVlYXBpLmNvdmVyLnYxLkludml0ZU1lbWJlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkludml0ZU1lbWJlclJlc3BvbnNlIh2C0+STAhc6ASoiEi92MS9tZW1iZXJzL2ludml0ZRJ+CgxBY3RpdmF0ZVVzZXISJS5ibHVlYXBpLmNvdmVyLnYxLkFjdGl2YXRlVXNlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkFjdGl2YXRlVXNlclJlc3BvbnNlIh+C0+STAhk6ASoiFC92MS9tZW1iZXJzL2FjdGl2YXRlEnUKDENyZWF0ZU1lbWJlchIlLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlTWVtYmVyUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlTWVtYmVyUmVzcG9uc2UiFoLT5JMCEDoBKiILL3YxL21lbWJlcnMSbAoKR2V0TWVtYmVycxIjLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyc1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlcnNSZXNwb25zZSITgtPkkwINEgsvdjEvbWVtYmVycxKHAQoQR2V0TWVtYmVyRGV0YWlscxIpLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyRGV0YWlsc1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlckRldGFpbHNSZXNwb25zZSIcgtPkkwIWEhQvdjEvbWVtYmVycy97dXNlcklkfRKXAQoSR2V0TWVtYmVyQ29zdEdyb3VwEisuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJDb3N0R3JvdXBSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJDb3N0R3JvdXBSZXNwb25zZSImgtPkkwIgEh4vdjEvbWVtYmVycy97dXNlcklkfS9jb3N0Z3JvdXASpAEKFlVwZGF0ZU1lbWJlclBlcm1pc3Npb24SLy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZU1lbWJlclBlcm1pc3Npb25SZXF1ZXN0GjAuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVzcG9uc2UiJ4LT5JMCIToBKhocL3YxL21lbWJlcnMve3VzZXJJZH0vaXNhZG1pbhJzCg5HZXRVc2VyRGV0YWlscxInLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlckRldGFpbHNSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyRGV0YWlsc1Jlc3BvbnNlIg6C0+STAggSBi92MS9tZRKDAQoQVXBkYXRlVXNlckF2YXRhchIpLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckF2YXRhclJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBdmF0YXJSZXNwb25zZSIYgtPkkwISOgEqGg0vdjEvbWUvYXZhdGFyEnsKDlVwZGF0ZVVzZXJJY29uEicuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VySWNvblJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJJY29uUmVzcG9uc2UiFoLT5JMCEDoBKhoLL3YxL21lL2ljb24SkwEKFFVwZGF0ZVVzZXJDb2xvclRoZW1lEi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQ29sb3JUaGVtZVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJDb2xvclRoZW1lUmVzcG9uc2UiHILT5JMCFjoBKhoRL3YxL21lL2NvbG9ydGhlbWUSewoOVXBkYXRlVXNlck5hbWUSJy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJOYW1lUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlck5hbWVSZXNwb25zZSIWgtPkkwIQOgEqGgsvdjEvbWUvbmFtZRJ/Cg9VcGRhdGVVc2VyRW1haWwSKC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJFbWFpbFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJFbWFpbFJlc3BvbnNlIheC0+STAhE6ASoaDC92MS9tZS9lbWFpbBKLAQoSVXBkYXRlVXNlck1haW5WaWV3EisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTWFpblZpZXdSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTWFpblZpZXdSZXNwb25zZSIagtPkkwIUOgEqGg8vdjEvbWUvbWFpbnZpZXcSiAEKEVJlc2V0VXNlclBhc3N3b3JkEiouYmx1ZWFwaS5jb3Zlci52MS5SZXNldFVzZXJQYXNzd29yZFJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0VXNlclBhc3N3b3JkUmVzcG9uc2UiGoLT5JMCFDoBKiIPL3YxL21lL3Bhc3N3b3JkEoMBChBVcGRhdGVVc2VyTG9jYWxlEikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTG9jYWxlUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckxvY2FsZVJlc3BvbnNlIhiC0+STAhI6ASoaDS92MS9tZS9sb2NhbGUSiwEKElVwZGF0ZVVzZXJBcHBUaGVtZRIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckFwcFRoZW1lUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckFwcFRoZW1lUmVzcG9uc2UiGoLT5JMCFDoBKhoPL3YxL21lL2FwcHRoZW1lEosBChJVcGRhdGVVc2VyVGltZXpvbmUSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJUaW1lem9uZVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJUaW1lem9uZVJlc3BvbnNlIhqC0+STAhQ6ASoaDy92MS9tZS90aW1lem9uZRKTAQoUVXBkYXRlVXNlckF0dHJpYnV0ZXMSLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckF0dHJpYnV0ZXNSZXNwb25zZSIcgtPkkwIWOgEqGhEvdjEvbWUvYXR0cmlidXRlcxJ7CgxEZWxldGVNZW1iZXISJS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZU1lbWJlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZU1lbWJlclJlc3BvbnNlIhyC0+STAhYqFC92MS9tZW1iZXJzL3t1c2VySWR9EoYBCg1SZXNldFBhc3N3b3JkEiYuYmx1ZWFwaS5jb3Zlci52MS5SZXNldFBhc3N3b3JkUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuUmVzZXRQYXNzd29yZFJlc3BvbnNlIiSC0+STAh46ASoiGS92MS9tZW1iZXJzL3Jlc2V0cGFzc3dvcmQSbQoKQ3JlYXRlVmlldxIjLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVmlld1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVZpZXdSZXNwb25zZSIUgtPkkwIOOgEqIgkvdjEvdmlld3MSZAoIR2V0Vmlld3MSIS5ibHVlYXBpLmNvdmVyLnYxLkdldFZpZXdzUmVxdWVzdBoiLmJsdWVhcGkuY292ZXIudjEuR2V0Vmlld3NSZXNwb25zZSIRgtPkkwILEgkvdjEvdmlld3MSfwoOR2V0Q3VycmVudFZpZXcSJy5ibHVlYXBpLmNvdmVyLnYxLkdldEN1cnJlbnRWaWV3UmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuR2V0Q3VycmVudFZpZXdSZXNwb25zZSIagtPkkwIUEhIvdjEvdmlld3Mve3ZpZXdJZH0ShgEKEEdldEZhdm9yaXRlVmlld3MSKS5ibHVlYXBpLmNvdmVyLnYxLkdldEZhdm9yaXRlVmlld3NSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5HZXRGYXZvcml0ZVZpZXdzUmVzcG9uc2UiG4LT5JMCFRITL3YxL3ZpZXdzL2Zhdm9yaXRlcxJ4CgtQdWJsaXNoVmlldxIkLmJsdWVhcGkuY292ZXIudjEuUHVibGlzaFZpZXdSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5QdWJsaXNoVmlld1Jlc3BvbnNlIhyC0+STAhY6ASoiES92MS92aWV3cy9wdWJsaXNoEn0KC0FkZEZhdm9yaXRlEiQuYmx1ZWFwaS5jb3Zlci52MS5BZGRGYXZvcml0ZVJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFkZEZhdm9yaXRlUmVzcG9uc2UiIYLT5JMCGzoBKhoWL3YxL3ZpZXdzL2Zhdm9yaXRlL2FkZBKJAQoOUmVtb3ZlRmF2b3JpdGUSJy5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUZhdm9yaXRlUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlRmF2b3JpdGVSZXNwb25zZSIkgtPkkwIeOgEqGhkvdjEvdmlld3MvZmF2b3JpdGUvcmVtb3ZlEnYKClVwZGF0ZVZpZXcSIy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3UmVzcG9uc2UiHYLT5JMCFzoBKhoSL3YxL3ZpZXdzL3t2aWV3SWR9Eo8BChBVcGRhdGVWaWV3TGF5b3V0EikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3TGF5b3V0UmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0xheW91dFJlc3BvbnNlIiSC0+STAh46ASoaGS92MS92aWV3cy9sYXlvdXQve3ZpZXdJZH0SmgEKEFVwZGF0ZVZpZXdXaWRnZXQSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdXaWRnZXRSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3V2lkZ2V0UmVzcG9uc2UiL4LT5JMCKToBKhokL3YxL3ZpZXdzL2xheW91dC97dmlld0lkfS97d2lkZ2V0SWR9Ep8BChRVcGRhdGVWaWV3Q29sb3JUaGVtZRItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0NvbG9yVGhlbWVSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3Q29sb3JUaGVtZVJlc3BvbnNlIiiC0+STAiI6ASoaHS92MS92aWV3cy97dmlld0lkfS9jb2xvcnRoZW1lEpcBChJVcGRhdGVWaWV3Q3VycmVuY3kSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdDdXJyZW5jeVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdDdXJyZW5jeVJlc3BvbnNlIiaC0+STAiA6ASoaGy92MS92aWV3cy97dmlld0lkfS9jdXJyZW5jeRKcAQoUU2V0T3JnVXBkYXRlQ3VycmVuY3kSLS5ibHVlYXBpLmNvdmVyLnYxLlNldE9yZ1VwZGF0ZUN1cnJlbmN5UmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb3JnYW5pemF0aW9ucy9jdXJyZW5jeRKZAQoUR2V0T3JnVXBkYXRlQ3VycmVuY3kSLS5ibHVlYXBpLmNvdmVyLnYxLkdldE9yZ1VwZGF0ZUN1cnJlbmN5UmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXNwb25zZSIigtPkkwIcEhovdjEvb3JnYW5pemF0aW9ucy9jdXJyZW5jeRKNAQoRTGlzdEV4Y2hhbmdlUmF0ZXMSKi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RFeGNoYW5nZVJhdGVzUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZSIfgtPkkwIZEhcvdjEvb3JnYW5pemF0aW9ucy9yYXRlcxJzCgpEZWxldGVWaWV3EiMuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVWaWV3UmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVmlld1Jlc3BvbnNlIhqC0+STAhQqEi92MS92aWV3cy97dmlld0lkfRKfAQoTVXBkYXRlU2lkZU1lbnVTdGF0ZRIsLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2lkZU1lbnVTdGF0ZVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVNpZGVNZW51U3RhdGVSZXNwb25zZSIrgtPkkwIlOgEqGiAvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnVzdGF0ZRKiAQoTQWRkU2lkZU1lbnVGYXZvcml0ZRIsLmJsdWVhcGkuY292ZXIudjEuQWRkU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkFkZFNpZGVNZW51RmF2b3JpdGVSZXNwb25zZSIugtPkkwIoOgEqIiMvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnVmYXZvcml0ZRKtAQoWUmVtb3ZlU2lkZU1lbnVGYXZvcml0ZRIvLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QaMC5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZVNpZGVNZW51RmF2b3JpdGVSZXNwb25zZSIwgtPkkwIqOgEqIiUvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnV1bmZhdm9yaXRlEoEBCg9DcmVhdGVDb3N0R3JvdXASKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNvc3RHcm91cFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNvc3RHcm91cFJlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9jb3N0Z3JvdXBzEngKDUdldENvc3RHcm91cHMSJi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cHNSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBzUmVzcG9uc2UiFoLT5JMCEBIOL3YxL2Nvc3Rncm91cHMSeAoNR2V0Q2F0ZWdvcmllcxImLmJsdWVhcGkuY292ZXIudjEuR2V0Q2F0ZWdvcmllc1JlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkdldENhdGVnb3JpZXNSZXNwb25zZSIWgtPkkwIQEg4vdjEvY2F0ZWdvcmllcxKYAQoTR2V0Q29zdEdyb3VwRGV0YWlscxIsLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwRGV0YWlsc1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cERldGFpbHNSZXNwb25zZSIkgtPkkwIeEhwvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9EqABChNVcGRhdGVDb3N0R3JvdXBOYW1lEiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBOYW1lUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwTmFtZVJlc3BvbnNlIiyC0+STAiY6ASoaIS92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vbmFtZRK8AQoaVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb24SMy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXNwb25zZSIzgtPkkwItOgEqGigvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2Rlc2NyaXB0aW9uEqQBChRVcGRhdGVDb3N0R3JvdXBJbWFnZRItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBJbWFnZVJlc3BvbnNlIi2C0+STAic6ASoaIi92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vaW1hZ2USoAEKE1VwZGF0ZUNvc3RHcm91cEljb24SLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cEljb25SZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBJY29uUmVzcG9uc2UiLILT5JMCJjoBKhohL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9pY29uErgBChlVcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lEjIuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lUmVxdWVzdBozLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ29sb3JUaGVtZVJlc3BvbnNlIjKC0+STAiw6ASoaJy92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vY29sb3J0aGVtZRLAAQobVXBkYXRlQ29zdEdyb3VwQ29tYmluYXRpb25zEjQuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXF1ZXN0GjUuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXNwb25zZSI0gtPkkwIuOgEqGikvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2NvbWJpbmF0aW9ucxK7AQocUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9ucxI1LmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QaNi5ibHVlYXBpLmNvdmVyLnYxLlJlc29sdmVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXNwb25zZSIsgtPkkwImEiQvdjEvY29zdGdyb3Vwcy9yZXNvbHZlL3tjb3N0R3JvdXBJZH0SrAEKFUFzc2lnbkNvc3RHcm91cE1lbWJlchIuLmJsdWVhcGkuY292ZXIudjEuQXNzaWduQ29zdEdyb3VwTWVtYmVyUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuQXNzaWduQ29zdEdyb3VwTWVtYmVyUmVzcG9uc2UiMoLT5JMCLDoBKiInL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9tZW1iZXIvYWRkEq8BChVSZW1vdmVDb3N0R3JvdXBNZW1iZXISLi5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUNvc3RHcm91cE1lbWJlclJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUNvc3RHcm91cE1lbWJlclJlc3BvbnNlIjWC0+STAi86ASoiKi92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vbWVtYmVyL3JlbW92ZRKMAQoPRGVsZXRlQ29zdEdyb3VwEiguYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDb3N0R3JvdXBSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDb3N0R3JvdXBSZXNwb25zZSIkgtPkkwIeKhwvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9EqYBChtHZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmwSNC5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRBY2Nlc3NUZW1wbGF0ZVVybFJlcXVlc3QaNS5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRBY2Nlc3NUZW1wbGF0ZVVybFJlc3BvbnNlIhqC0+STAhQSEi92MS9hd3MvYWNjdGFjY2VzcxKKAQoRTGlzdEFjY291bnRBY2Nlc3MSKi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBY2NvdW50QWNjZXNzUmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyImgtPkkwIgOgEqIhsvdjEvYXdzL2FjY3RhY2Nlc3MvYWxsOnJlYWQwARKDAQoQR2V0QWNjb3VudEFjY2VzcxIpLmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudEFjY2Vzc1JlcXVlc3QaHy5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRBY2Nlc3MiI4LT5JMCHRIbL3YxL2F3cy9hY2N0YWNjZXNzL3t0YXJnZXR9EnwKDUdldERhdGFBY2Nlc3MSLy5ibHVlYXBpLmNvdmVyLnYxLkdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0GhwuYmx1ZWFwaS5jb3Zlci52MS5EYXRhQWNjZXNzIhyC0+STAhYSFC92MS9hY2NvdW50L3t0YXJnZXR9EnkKEERlbGV0ZURhdGFBY2Nlc3MSLy5ibHVlYXBpLmNvdmVyLnYxLkdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhyC0+STAhYqFC92MS9hY2NvdW50L3t0YXJnZXR9EoMBChNDcmVhdGVBY2NvdW50QWNjZXNzEiwuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyIdgtPkkwIXOgEqIhIvdjEvYXdzL2FjY3RhY2Nlc3MSnAEKG0NyZWF0ZUFjY291bnRBY2Nlc3NTdGFja3NldBI0LmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWNjb3VudEFjY2Vzc1N0YWNrc2V0UmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyImgtPkkwIgOgEqIhsvdjEvYXdzL2FjY3RhY2Nlc3Mvc3RhY2tzZXQSigEKFkNyZWF0ZUFjY291bnRBY2Nlc3NDdXISLC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Gh8uYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50QWNjZXNzIiGC0+STAhs6ASoiFi92MS9hd3MvYWNjdGFjY2Vzcy9jdXISewoTVXBkYXRlQWNjb3VudEFjY2VzcxIsLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIiOC0+STAh0aGy92MS9hd3MvYWNjdGFjY2Vzcy97dGFyZ2V0fRKTAQoTRGVsZXRlQWNjb3VudEFjY2VzcxIsLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFjY291bnRBY2Nlc3NSZXNwb25zZSIfgtPkkwIZKhcvdjEvYWNjdGFjY2Vzcy97dGFyZ2V0fRJ0Cg9SZWdpc3RlckFjY291bnQSKC5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiH4LT5JMCGToBKiIUL3YxL3t2ZW5kb3J9L2FjY291bnQScQoSUmVnaXN0ZXJEYXRhQWNjZXNzEisuYmx1ZWFwaS5jb3Zlci52MS5SZWdpc3RlckRhdGFBY2Nlc3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhaC0+STAhA6ASoiCy92MS9hY2NvdW50EnAKEUFkZEJpbGxpbmdBY2NvdW50EicuYmx1ZWFwaS5jb3Zlci52MS5CaWxsaW5nQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGoLT5JMCFDoBKiIPL3YxL2JpbGxpbmdhY2N0EncKDkxpc3REYXRhQWNjZXNzEicuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RGF0YUFjY2Vzc1JlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkRhdGFBY2Nlc3MiHILT5JMCFiIUL3YxL2FjY291bnQvYWxsOnJlYWQwARKoAQoYTGlzdFVucmVnaXN0ZXJlZEFjY291bnRzEjEuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXNwb25zZSIlgtPkkwIfIh0vdjEvYWNjb3VudC91bnJlZ2lzdGVyZWQ6cmVhZBJ2ChBVcGRhdGVEYXRhQWNjZXNzEikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVEYXRhQWNjZXNzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIfgtPkkwIZOgEqGhQvdjEvYWNjb3VudC97dGFyZ2V0fRJrCgpMaXN0QXNzZXRzEiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzUmVxdWVzdBoaLmJsdWVhcGkuY292ZXIudjEuUmVzb3VyY2UiGoLT5JMCFDoBKiIPL3YxL2Fzc2V0czpyZWFkMAESkwEKEEdldEFzc2V0c1N1bW1hcnkSKS5ibHVlYXBpLmNvdmVyLnYxLkdldEFzc2V0c1N1bW1hcnlSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5HZXRBc3NldHNTdW1tYXJ5UmVzcG9uc2UiKILT5JMCIhIgL3YxL2Fzc2V0cy9zdW1tYXJ5L3tjb3N0R3JvdXBJZH0ScgoMR2V0Q29zdFVzYWdlEiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0GhouYmx1ZWFwaS5jb3Zlci52MS5Db3N0SXRlbSIdgtPkkwIXOgEqIhIvdjEvY29zdHVzYWdlOnJlYWQwARLCAQocR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbhI1LmJsdWVhcGkuY292ZXIudjEuR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlcXVlc3QaNi5ibHVlYXBpLmNvdmVyLnYxLkdldFJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25SZXNwb25zZSIzgtPkkwItEisvdjEvcmlnaHRzaXppbmdyZWNvbW1lbmRhdGlvbi97Y29zdEdyb3VwSWR9EpgBChJNb2RpZnlSZXNvdXJjZVR5cGUSKy5ibHVlYXBpLmNvdmVyLnYxLk1vZGlmeVJlc291cmNlVHlwZVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLk1vZGlmeVJlc291cmNlVHlwZVJlc3BvbnNlIieC0+STAiE6ASoiHC92MS97dmVuZG9yfS9yZXNvdXJjZS9tb2RpZnkSmAEKEVRlcm1pbmF0ZVJlc291cmNlEiouYmx1ZWFwaS5jb3Zlci52MS5UZXJtaW5hdGVSZXNvdXJjZVJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLlRlcm1pbmF0ZVJlc291cmNlUmVzcG9uc2UiKoLT5JMCJDoBKiIfL3YxL3t2ZW5kb3J9L3Jlc291cmNlL3Rlcm1pbmF0ZRKNAQoQVXBsb2FkQ2hhcmdlQ29kZRIpLmJsdWVhcGkuY292ZXIudjEuVXBsb2FkQ2hhcmdlQ29kZVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwbG9hZENoYXJnZUNvZGVSZXNwb25zZSIggtPkkwIaOgEqIhUvdjEvY2hhcmdlY29kZS91cGxvYWQoARJ6CgtBc3NpZ25QYXllchIkLmJsdWVhcGkuY292ZXIudjEuQXNzaWduUGF5ZXJSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5Bc3NpZ25QYXllclJlc3BvbnNlIh6C0+STAhg6ASoiEy92MS97dmVuZG9yfS9wYXllcnMScQoJR2V0UGF5ZXJzEiIuYmx1ZWFwaS5jb3Zlci52MS5HZXRQYXllcnNSZXF1ZXN0GiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRQYXllcnNSZXNwb25zZSIbgtPkkwIVEhMvdjEve3ZlbmRvcn0vcGF5ZXJzEocBCgtHZXRBY2NvdW50cxIkLmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRBY2NvdW50c1Jlc3BvbnNlIiuC0+STAiUSIy92MS97dmVuZG9yfS9hY2NvdW50cy97Y29zdEdyb3VwSWR9EocBCgtHZXRTZXJ2aWNlcxIkLmJsdWVhcGkuY292ZXIudjEuR2V0U2VydmljZXNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRTZXJ2aWNlc1Jlc3BvbnNlIiuC0+STAiUSIy92MS97dmVuZG9yfS9zZXJ2aWNlcy97Y29zdEdyb3VwSWR9EoMBCgpHZXRSZWdpb25zEiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWdpb25zUmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuR2V0UmVnaW9uc1Jlc3BvbnNlIiqC0+STAiQSIi92MS97dmVuZG9yfS9yZWdpb25zL3tjb3N0R3JvdXBJZH0SdwoHR2V0VGFncxIgLmJsdWVhcGkuY292ZXIudjEuR2V0VGFnc1JlcXVlc3QaIS5ibHVlYXBpLmNvdmVyLnYxLkdldFRhZ3NSZXNwb25zZSIngtPkkwIhEh8vdjEve3ZlbmRvcn0vdGFncy97Y29zdEdyb3VwSWR9EncKCExpc3RGZWVzEiEuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RmVlc1JlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkZlZURldGFpbHMiKILT5JMCIjoBKiIdL3YxL2FsbG9jYXRpb25zL2ZlZXMvYWxsOnJlYWQwARJ6CgpSZXN0b3JlRmVlEiMuYmx1ZWFwaS5jb3Zlci52MS5SZXN0b3JlRmVlUmVxdWVzdBocLmJsdWVhcGkuY292ZXIudjEuRmVlRGV0YWlscyIngtPkkwIhOgEqIhwvdjEvYWxsb2NhdGlvbnMvZmVlcy9yZXN0b3JlMAESfgoPR2V0Q29zdEdyb3VwRmVlEiguYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBGZWVSZXF1ZXN0GhkuYmx1ZWFwaS5jb3Zlci52MS5GZWVJdGVtIiSC0+STAh46ASoiGS92MS9hbGxvY2F0aW9ucy9mZWVzOnJlYWQwARJ7Cg5MaXN0QWxsb2NhdG9ycxInLmJsdWVhcGkuY292ZXIudjEuTGlzdEFsbG9jYXRvcnNSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5Db3N0QWxsb2NhdG9yRGV0YWlscyIWgtPkkwIQEg4vdjEvYWxsb2NhdG9yczABEn4KD0NyZWF0ZUFsbG9jYXRvchIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ29zdEFsbG9jYXRvckRldGFpbHMiGYLT5JMCEzoBKiIOL3YxL2FsbG9jYXRvcnMSoAEKF0dldEFsbG9jYXRpb25BdHRyaWJ1dGVzEjAuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1JlcXVlc3QaMS5ibHVlYXBpLmNvdmVyLnYxLkdldEFsbG9jYXRpb25BdHRyaWJ1dGVzUmVzcG9uc2UiIILT5JMCGhIYL3YxL2FsbG9jYXRvcnMvYXR0cmlidXRlEpQBChRHZXRBbGxvY2F0aW9uU291cmNlcxItLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvblNvdXJjZXNSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uU291cmNlc1Jlc3BvbnNlIh2C0+STAhcSFS92MS9hbGxvY2F0b3JzL3NvdXJjZRKBAQoPVXBkYXRlQWxsb2NhdG9yEiYuYmx1ZWFwaS5jb3Zlci52MS5Db3N0QWxsb2NhdG9yUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ29zdEFsbG9jYXRvckRldGFpbHMiHoLT5JMCGDoBKhoTL3YxL2FsbG9jYXRvcnMve2lkfRJwCg9EZWxldGVBbGxvY2F0b3ISKC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFsbG9jYXRvclJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiG4LT5JMCFSoTL3YxL2FsbG9jYXRvcnMve2lkfRKQAQoVUHJveHlDcmVhdGVDb21wbGV0aW9uEi4uYmx1ZWFwaS5jb3Zlci52MS5Qcm94eUNyZWF0ZUNvbXBsZXRpb25SZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5Qcm94eUNyZWF0ZUNvbXBsZXRpb25SZXNwb25zZSIUgtPkkwIOOgEqIgkvdjEveC9wY2MwARKKAQoUU2ltdWxhdGVGZWVBbGxvY2F0b3ISKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkZlZURldGFpbHMiKILT5JMCIjoBKiIdL3YxL2FsbG9jYXRpb25zL2ZlZXMvc2ltdWxhdGUwARKYAQoQTGlzdEFjY291bnRVc2FnZRIpLmJsdWVhcGkuY292ZXIudjEuTGlzdEFjY291bnRVc2FnZVJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRVc2FnZURldGFpbHMiMILT5JMCKjoBKiIlL3YxL2FsbG9jYXRpb25zL2FjY291bnR1c2FnZS9hbGw6cmVhZDABEp0BChNSZXN0b3JlQWNjb3VudFVzYWdlEiwuYmx1ZWFwaS5jb3Zlci52MS5SZXN0b3JlQWNjb3VudFVzYWdlUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudFVzYWdlRGV0YWlscyIvgtPkkwIpOgEqIiQvdjEvYWxsb2NhdGlvbnMvYWNjb3VudHVzYWdlL3Jlc3RvcmUwARKbAQoUU2ltdWxhdGVBY2NvdW50VXNhZ2USKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRVc2FnZURldGFpbHMiMILT5JMCKjoBKiIlL3YxL2FsbG9jYXRpb25zL2FjY291bnR1c2FnZS9zaW11bGF0ZTABEoEBCgtMaXN0U2F2aW5ncxIhLmJsdWVhcGkuY292ZXIudjEuTGlzdEZlZXNSZXF1ZXN0GiAuYmx1ZWFwaS5jb3Zlci52MS5TYXZpbmdzRGV0YWlscyIrgtPkkwIlOgEqIiAvdjEvYWxsb2NhdGlvbnMvc2F2aW5ncy9hbGw6cmVhZDABEokBCg5SZXN0b3JlU2F2aW5ncxInLmJsdWVhcGkuY292ZXIudjEuUmVzdG9yZVNhdmluZ3NSZXF1ZXN0GiAuYmx1ZWFwaS5jb3Zlci52MS5TYXZpbmdzRGV0YWlscyIqgtPkkwIkOgEqIh8vdjEvYWxsb2NhdGlvbnMvc2F2aW5ncy9yZXN0b3JlMAESjAEKD1NpbXVsYXRlU2F2aW5ncxIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBogLmJsdWVhcGkuY292ZXIudjEuU2F2aW5nc0RldGFpbHMiK4LT5JMCJToBKiIgL3YxL2FsbG9jYXRpb25zL3NhdmluZ3Mvc2ltdWxhdGUwARKOAQoWR2V0Q29zdEdyb3VwQWxsb2NhdGlvbhIvLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwQWxsb2NhdGlvblJlcXVlc3QaIC5ibHVlYXBpLmNvdmVyLnYxLkFsbG9jYXRpb25JdGVtIh+C0+STAhk6ASoiFC92MS9hbGxvY2F0aW9uczpyZWFkMAEShwEKEFByb2Nlc3NBdXRoMFVzZXISKS5ibHVlYXBpLmNvdmVyLnYxLlByb2Nlc3NBdXRoMFVzZXJSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5Qcm9jZXNzQXV0aDBVc2VyUmVzcG9uc2UiHILT5JMCFjoBKiIRL3YxL21lbWJlcnMvYXV0aDASmwEKG0FkZFBhcnRuZXJDZW50ZXJDcmVkZW50aWFscxI0LmJsdWVhcGkuY292ZXIudjEuQWRkUGFydG5lckNlbnRlckNyZWRlbnRpYWxzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoOgEqIiMvdjEvYXp1cmUvY3JlZGVudGlhbHMvcGFydG5lcmNlbnRlchJ1Cg1BZGRNcG5TZXR0aW5nEiYuYmx1ZWFwaS5jb3Zlci52MS5BZGRNcG5TZXR0aW5nUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeOgEqIhkvdjEvYXp1cmUvY3JlZGVudGlhbHMvbXBuEpMBChVHZXRDb3N0R3JvdXBBdHRyaWJ1dGUSLi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cEF0dHJpYnV0ZVJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cEF0dHJpYnV0ZVJlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9hdHRyaWJ1dGVzEm8KCUdldEFsZXJ0cxIiLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnRzUmVxdWVzdBojLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnRzUmVzcG9uc2UiF4LT5JMCERIPL3YxL2FsZXJ0cy9jb3N0MAESdgoLQ3JlYXRlQWxlcnQSJC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsZXJ0UmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxlcnRSZXNwb25zZSIagtPkkwIUOgEqIg8vdjEvYWxlcnRzL2Nvc3QShAEKD0dldEFsZXJ0RGV0YWlscxIoLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnREZXRhaWxzUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnREZXRhaWxzUmVzcG9uc2UiHILT5JMCFhIUL3YxL2FsZXJ0cy9jb3N0L3tpZH0SeAoLRGVsZXRlQWxlcnQSJC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFsZXJ0UmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWxlcnRSZXNwb25zZSIcgtPkkwIWKhQvdjEvYWxlcnRzL2Nvc3Qve2lkfRKQAQoSVXBkYXRlQWxlcnREZXRhaWxzEisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbGVydERldGFpbHNSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbGVydERldGFpbHNSZXNwb25zZSIfgtPkkwIZOgEqGhQvdjEvYWxlcnRzL2Nvc3Qve2lkfRJ6CgtHZXRDaGFubmVscxIkLmJsdWVhcGkuY292ZXIudjEuR2V0Q2hhbm5lbHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRDaGFubmVsc1Jlc3BvbnNlIhyC0+STAhY6ASoiES92MS9jaGFubmVsczpyZWFkMAESeQoNQ3JlYXRlQ2hhbm5lbBImLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQ2hhbm5lbFJlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNoYW5uZWxSZXNwb25zZSIXgtPkkwIROgEqIgwvdjEvY2hhbm5lbHMShwEKEUdldENoYW5uZWxEZXRhaWxzEiouYmx1ZWFwaS5jb3Zlci52MS5HZXRDaGFubmVsRGV0YWlsc1JlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLkdldENoYW5uZWxEZXRhaWxzUmVzcG9uc2UiGYLT5JMCExIRL3YxL2NoYW5uZWxzL3tpZH0SewoNRGVsZXRlQ2hhbm5lbBImLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQ2hhbm5lbFJlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUNoYW5uZWxSZXNwb25zZSIZgtPkkwITKhEvdjEvY2hhbm5lbHMve2lkfRKTAQoUVXBkYXRlQ2hhbm5lbERldGFpbHMSLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNoYW5uZWxEZXRhaWxzUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ2hhbm5lbERldGFpbHNSZXNwb25zZSIcgtPkkwIWOgEqGhEvdjEvY2hhbm5lbHMve2lkfRKgAQoaR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnMSMy5ibHVlYXBpLmNvdmVyLnYxLkdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZSIXgtPkkwIROgEqIgwvdjEvZGlzY291bnQSgAEKFUdldEFub21hbHlpbkNvc3RHcm91cBIuLmJsdWVhcGkuY292ZXIudjEuR2V0QW5vbWFseWluQ29zdEdyb3VwUmVxdWVzdBodLmJsdWVhcGkuY292ZXIudjEuQW5vbWFseURhdGEiFoLT5JMCEDoBKiILL3YxL2Fub21hbHkwARKWAQodQ3JlYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnQSNi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIlgtPkkwIfOgEqIhovdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudBKbAQodVXBkYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnQSNi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkOgEqGh8vdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC97aWR9EqwBChpHZXREaXNjb3VudEV4cGlyYXRpb25BbGVydBI6LmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuRGlzY291bnRFeHBpcnlBbGVydERhdGEiJ4LT5JMCIRIfL3YxL2FsZXJ0cy9leHBpcmUvZGlzY291bnQve2lkfRKtAQobTGlzdERpc2NvdW50RXhwaXJhdGlvbkFsZXJ0EjQuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5EaXNjb3VudEV4cGlyeUFsZXJ0RGF0YSIrgtPkkwIlIiMvdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC9hbGw6cmVhZDABEpwBCh1EZWxldGVEaXNjb3VudEV4cGlyYXRpb25BbGVydBI6LmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhKh8vdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC97aWR9EngKEkNyZWF0ZUFub21hbHlBbGVydBIrLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIdgtPkkwIXOgEqIhIvdjEvYWxlcnRzL2Fub21hbHkSfgoSRGVsZXRlQW5vbWFseUFsZXJ0Ei8uYmx1ZWFwaS5jb3Zlci52MS5NYW5pcHVsYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIfgtPkkwIZKhcvdjEvYWxlcnRzL2Fub21hbHkve2lkfRKIAQoQTGlzdEFub21hbHlBbGVydBIpLmJsdWVhcGkuY292ZXIudjEuTGlzdEFub21hbHlBbGVydFJlcXVlc3QaIi5ibHVlYXBpLmNvdmVyLnYxLkFub21hbHlBbGVydERhdGEiI4LT5JMCHSIbL3YxL2FsZXJ0cy9hbm9tYWx5L2FsbDpyZWFkMAEShwEKD0dldEFub21hbHlBbGVydBIvLmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZUFub21hbHlBbGVydFJlcXVlc3QaIi5ibHVlYXBpLmNvdmVyLnYxLkFub21hbHlBbGVydERhdGEiH4LT5JMCGRIXL3YxL2FsZXJ0cy9hbm9tYWx5L3tpZH0SfQoSVXBkYXRlQW5vbWFseUFsZXJ0EisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhw6ASoaFy92MS9hbGVydHMvYW5vbWFseS97aWR9EocBCg9SZWdpc3Rlck5ld1VzZXISKC5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyTmV3VXNlclJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyTmV3VXNlclJlc3BvbnNlIh+C0+STAhk6ASoiFC92MS9tZW1iZXJzL3JlZ2lzdGVyEogBCg5HZXRVc2VyUHJvZmlsZRInLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlclByb2ZpbGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyUHJvZmlsZVJlc3BvbnNlIiOC0+STAh0SGy92MS9tZW1iZXJzL3Byb2ZpbGUve2VtYWlsfRKUAQoRVXBkYXRlVXNlclByb2ZpbGUSKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJQcm9maWxlUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlclByb2ZpbGVSZXNwb25zZSImgtPkkwIgOgEqGhsvdjEvbWVtYmVycy9wcm9maWxlL3tlbWFpbH0SeAoLTGlzdEJ1ZGdldHMSJC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RCdWRnZXRzUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuTGlzdEJ1ZGdldHNSZXNwb25zZSIagtPkkwIUOgEqIg8vdjEvYnVkZ2V0OnJlYWQwARJtCglHZXRCdWRnZXQSIi5ibHVlYXBpLmNvdmVyLnYxLkdldEJ1ZGdldFJlcXVlc3QaIy5ibHVlYXBpLmNvdmVyLnYxLkdldEJ1ZGdldFJlc3BvbnNlIheC0+STAhESDy92MS9idWRnZXQve2lkfRJ0CgxDcmVhdGVCdWRnZXQSJS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUJ1ZGdldFJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUJ1ZGdldFJlc3BvbnNlIhWC0+STAg86ASoiCi92MS9idWRnZXQSdgoMRGVsZXRlQnVkZ2V0EiUuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVCdWRnZXRSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVCdWRnZXRSZXNwb25zZSIXgtPkkwIRKg8vdjEvYnVkZ2V0L3tpZH0SeQoMVXBkYXRlQnVkZ2V0EiUuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVCdWRnZXRSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVCdWRnZXRSZXNwb25zZSIagtPkkwIUOgEqGg8vdjEvYnVkZ2V0L3tpZH0S1wEKJ1Jlc29sdmVBV1NNYXJrZXRwbGFjZVRva2VuRm9yT25ib2FyZGluZxJALmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVxdWVzdBpBLmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVzcG9uc2UiJ4LT5JMCIToBKiIcL3YxL21lbWJlcnMvYXdzL3N1YnNjcmlwdGlvbhKsAQodR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXMSNi5ibHVlYXBpLmNvdmVyLnYxLkdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzUmVxdWVzdBo3LmJsdWVhcGkuY292ZXIudjEuR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXNSZXNwb25zZSIagtPkkwIUEhIvdjEvYmlsbGluZy9zdGF0dXMShgEKD0NyZWF0ZVByb2ZpbGluZxIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlUHJvZmlsaW5nUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlUHJvZmlsaW5nUmVzcG9uc2UiHoLT5JMCGDoBKiITL3YxL21lbWJlcnMvcHJvZmlsZRKWAQoUQWRkSW5mb3RvTWFya2V0cGxhY2USLS5ibHVlYXBpLmNvdmVyLnYxLkFkZEluZm90b01hcmtldHBsYWNlUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuQWRkSW5mb3RvTWFya2V0cGxhY2VSZXNwb25zZSIfgtPkkwIZOgEqIhQvdjEvbWFya2V0cGxhY2UvaW5mbxKcAQoQR2V0UmVwb3J0U3VtbWFyeRIpLmJsdWVhcGkuY292ZXIudjEuR2V0UmVwb3J0U3VtbWFyeVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkdldFJlcG9ydFN1bW1hcnlSZXNwb25zZSIxgtPkkwIrEikvdjEvcmVwb3J0cy9pbnNpZ2h0L3N1bW1hcnkve2Nvc3RHcm91cElkfRKcAQoTTGlzdFJlY29tbWVuZGF0aW9ucxIrLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVzcG9uc2UiKILT5JMCIhIgL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24wARKfAQoVTGlzdFJlY29tbWVuZGF0aW9uc1YyEi0uYmx1ZWFwaS5jb3Zlci52MS5MaXN0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvblJlc3BvbnNlIieC0+STAiE6ASoiHC92MS9yZWNvbW1lbmRhdGlvbnMvYWxsOnJlYWQwARKbAQoRR2V0UmVjb21tZW5kYXRpb24SKi5ibHVlYXBpLmNvdmVyLnYxLkdldFJlY29tbWVuZGF0aW9uUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25SZXNwb25zZSItgtPkkwInEiUvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbi97aWR9EpwBChNHZXRSZWNvbW1lbmRhdGlvblYyEiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWNvbW1lbmRhdGlvblYyUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25WMlJlc3BvbnNlIiiC0+STAiISIC92MS9yZWNvbW1lbmRhdGlvbnMvZGV0YWlscy97aWR9EpoBChNFeGVjdXRlT3B0aW1pemF0aW9uEiwuYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlT3B0aW1pemF0aW9uUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlIiaC0+STAiA6ASoiGy92MS9yZWNvbW1lbmRhdGlvbnMvZXhlY3V0ZRKdAQoSR2V0RXhlY3V0aW9uU3RhdHVzEisuYmx1ZWFwaS5jb3Zlci52MS5HZXRFeGVjdXRpb25TdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRFeGVjdXRpb25TdGF0dXNSZXNwb25zZSIqgtPkkwIkEiIvdjEvcmVjb21tZW5kYXRpb25zL2V4ZWN1dGUvc3RhdHVzMAESmQEKDk1hcmtBc0V4ZWN1dGVkEicuYmx1ZWFwaS5jb3Zlci52MS5NYXJrQXNFeGVjdXRlZFJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLk1hcmtBc0V4ZWN1dGVkUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24vZXhlY3V0ZWQSuQEKGlVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uEjMuYmx1ZWFwaS5jb3Zlci52MS5VbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvblJlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLlVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uUmVzcG9uc2UiMILT5JMCKjoBKiIlL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24vdW5kbxKkAQoTT3B0aW1pemF0aW9uSGlzdG9yeRIsLmJsdWVhcGkuY292ZXIudjEuT3B0aW1pemF0aW9uSGlzdG9yeVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLk9wdGltaXphdGlvbkhpc3RvcnlSZXNwb25zZSIwgtPkkwIqEigvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbi9oaXN0b3J5Er8BChpTZXRDb3N0R3JvdXBFdmVudEluZGljYXRvchIzLmJsdWVhcGkuY292ZXIudjEuU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3JSZXF1ZXN0GjQuYmx1ZWFwaS5jb3Zlci52MS5TZXRDb3N0R3JvdXBFdmVudEluZGljYXRvclJlc3BvbnNlIjaC0+STAjA6ASoiKy92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vZXZlbnRJbmRpY2F0b3ISuAEKGlNldENvc3RHcm91cEFub21hbHlPcHRpb25zEjMuYmx1ZWFwaS5jb3Zlci52MS5TZXRDb3N0R3JvdXBBbm9tYWx5T3B0aW9uc1JlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLlNldENvc3RHcm91cEFub21hbHlPcHRpb25zUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9hbm9tYWx5EpABChFTZXRPcmdGaXNjYWxNb250aBIqLmJsdWVhcGkuY292ZXIudjEuU2V0T3JnRmlzY2FsTW9udGhSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5TZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlIiKC0+STAhw6ASoiFy92MS9yZXBvcnRzL2Zpc2NhbG1vbnRoEo0BChFHZXRPcmdGaXNjYWxNb250aBIqLmJsdWVhcGkuY292ZXIudjEuR2V0T3JnRmlzY2FsTW9udGhSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5HZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlIh+C0+STAhkSFy92MS9yZXBvcnRzL2Zpc2NhbG1vbnRoEqIBChRUcmFuc2Zlck9yZ2FuaXphdGlvbhItLmJsdWVhcGkuY292ZXIudjEuVHJhbnNmZXJPcmdhbml6YXRpb25SZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5UcmFuc2Zlck9yZ2FuaXphdGlvblJlc3BvbnNlIiuC0+STAiUSIy92MS9vcmdhbml6YXRpb25zL3RyYW5zZmVyL3t0YXJnZXR9EqkBChlVcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJEjIuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJUmVxdWVzdBozLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSVJlc3BvbnNlIiOC0+STAh06ASoaGC92MS9tZS9jb3N0Z3JvdXBjcmVhdGlvbhJ2Cg1MaXN0VW5pdFR5cGVzEiYuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5pdFR5cGVzUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuTGlzdFVuaXRUeXBlc1Jlc3BvbnNlIhSC0+STAg4SDC92MS91bml0Y29zdBJ8Cg5DcmVhdGVVbml0VHlwZRInLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdFR5cGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0VHlwZVJlc3BvbnNlIheC0+STAhE6ASoiDC92MS91bml0Y29zdBJ1CgtHZXRVbml0VHlwZRIkLmJsdWVhcGkuY292ZXIudjEuR2V0VW5pdFR5cGVSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRVbml0VHlwZVJlc3BvbnNlIhmC0+STAhMSES92MS91bml0Y29zdC97aWR9EoEBCg5VcGRhdGVVbml0VHlwZRInLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVW5pdFR5cGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVbml0VHlwZVJlc3BvbnNlIhyC0+STAhY6ASoaES92MS91bml0Y29zdC97aWR9En4KDkRlbGV0ZVVuaXRUeXBlEicuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVVbml0VHlwZVJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVuaXRUeXBlUmVzcG9uc2UiGYLT5JMCEyoRL3YxL3VuaXRjb3N0L3tpZH0SdgoKTWVyZ2VVbml0cxIjLmJsdWVhcGkuY292ZXIudjEuTWVyZ2VVbml0c1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLk1lcmdlVW5pdHNSZXNwb25zZSIdgtPkkwIXOgEqIhIvdjEvdW5pdGNvc3QvbWVyZ2USkQEKEkxpc3RTdWdnZXN0ZWRVbml0cxIrLmJsdWVhcGkuY292ZXIudjEuTGlzdFN1Z2dlc3RlZFVuaXRzUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuTGlzdFN1Z2dlc3RlZFVuaXRzUmVzcG9uc2UiIILT5JMCGhIYL3YxL3VuaXRjb3N0L2F1dG9zdWdnZXN0Ep0BChNNZXJnZVN1Z2dlc3RlZFVuaXRzEiwuYmx1ZWFwaS5jb3Zlci52MS5NZXJnZVN1Z2dlc3RlZFVuaXRzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuTWVyZ2VTdWdnZXN0ZWRVbml0c1Jlc3BvbnNlIimC0+STAiM6ASoiHi92MS91bml0Y29zdC9hdXRvc3VnZ2VzdC9tZXJnZRKqAQoXQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWQSMC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVVuaXRGcm9tU3VnZ2VzdGVkUmVxdWVzdBoxLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXNwb25zZSIqgtPkkwIkOgEqIh8vdjEvdW5pdGNvc3QvYXV0b3N1Z2dlc3QvY3JlYXRlEpgBChNMaXN0U2hhcmVkUmVzb3VyY2VzEiwuYmx1ZWFwaS5jb3Zlci52MS5MaXN0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuTGlzdFNoYXJlZFJlc291cmNlc1Jlc3BvbnNlIiSC0+STAh4SHC92MS91bml0Y29zdC9zaGFyZWRyZXNvdXJjZXMSoAEKFENyZWF0ZVNoYXJlZFJlc291cmNlEi4uYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEvdW5pdGNvc3Qvc2hhcmVkcmVzb3VyY2VzEpkBChFHZXRTaGFyZWRSZXNvdXJjZRIrLmJsdWVhcGkuY292ZXIudjEuR2V0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuR2V0U2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiKYLT5JMCIxIhL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EqUBChRVcGRhdGVTaGFyZWRSZXNvdXJjZRIuLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiLILT5JMCJjoBKhohL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EqIBChREZWxldGVTaGFyZWRSZXNvdXJjZRIuLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiKYLT5JMCIyohL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EoQBCg9MaXN0VW5pdE1ldHJpY3MSKC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbml0TWV0cmljc1JlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbml0TWV0cmljc1Jlc3BvbnNlIhyC0+STAhYSFC92MS91bml0Y29zdC9tZXRyaWNzEooBChBDcmVhdGVVbml0TWV0cmljEikuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0TWV0cmljUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdE1ldHJpY1Jlc3BvbnNlIh+C0+STAhk6ASoiFC92MS91bml0Y29zdC9tZXRyaWNzEoMBCg1HZXRVbml0TWV0cmljEiYuYmx1ZWFwaS5jb3Zlci52MS5HZXRVbml0TWV0cmljUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuR2V0VW5pdE1ldHJpY1Jlc3BvbnNlIiGC0+STAhsSGS92MS91bml0Y29zdC9tZXRyaWNzL3tpZH0SjwEKEFVwZGF0ZVVuaXRNZXRyaWMSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVuaXRNZXRyaWNSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVbml0TWV0cmljUmVzcG9uc2UiJILT5JMCHjoBKhoZL3YxL3VuaXRjb3N0L21ldHJpY3Mve2lkfRKMAQoQRGVsZXRlVW5pdE1ldHJpYxIpLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVW5pdE1ldHJpY1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVuaXRNZXRyaWNSZXNwb25zZSIhgtPkkwIbKhkvdjEvdW5pdGNvc3QvbWV0cmljcy97aWR9ErYBChhDb25maXJtR29vZ2xlU2hlZXRBY2Nlc3MSMS5ibHVlYXBpLmNvdmVyLnYxLkNvbmZpcm1Hb29nbGVTaGVldEFjY2Vzc1JlcXVlc3QaMi5ibHVlYXBpLmNvdmVyLnYxLkNvbmZpcm1Hb29nbGVTaGVldEFjY2Vzc1Jlc3BvbnNlIjOC0+STAi06ASoiKC92MS91bml0Y29zdC9tZXRyaWNzL2dvb2dsZXNoZWV0L2NvbmZpcm0SpAEKElByZXZpZXdHb29nbGVTaGVldBIrLmJsdWVhcGkuY292ZXIudjEuUHJldmlld0dvb2dsZVNoZWV0UmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuUHJldmlld0dvb2dsZVNoZWV0UmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL3VuaXRjb3N0L21ldHJpY3MvZ29vZ2xlc2hlZXQvcHJldmlldxKqAQoVR2V0Q2xvdWR3YXRjaE1ldGFkYXRhEi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXNwb25zZSIwgtPkkwIqEigvdjEvdW5pdGNvc3QvbWV0cmljcy9jbG91ZHdhdGNoL21ldGFkYXRhEoQBCg9WZXJpZnlBUElBY2Nlc3MSKC5ibHVlYXBpLmNvdmVyLnYxLlZlcmlmeUFQSUFjY2Vzc1JlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlZlcmlmeUFQSUFjY2Vzc1Jlc3BvbnNlIhyC0+STAhYSFC92MS9hcGlhY2Nlc3MvdmVyaWZ5EokBChFHZXRBSUNvc3RBbmRVc2FnZRIqLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlIhuC0+STAhU6ASoiEC92MS9haS9jb3N0dXNhZ2USlwEKFUdldENvbnRhaW5lckNvc3RVc2FnZRIrLmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL2NvbnRhaW5lcnMvY29zdHVzYWdlEocBChBQb3B1bGF0ZURlbW9EYXRhEikuYmx1ZWFwaS5jb3Zlci52MS5Qb3B1bGF0ZURlbW9EYXRhUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuUG9wdWxhdGVEZW1vRGF0YVJlc3BvbnNlIhyC0+STAhY6ASoiES92MS9kZW1vL3BvcHVsYXRlEnsKDVJlc2V0RGVtb0RhdGESJi5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0RGVtb0RhdGFSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5SZXNldERlbW9EYXRhUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL2RlbW8vcmVzZXQSmQEKD0dldERpc2NvdW50UGxhbhIoLmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRQbGFuUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRQbGFuUmVzcG9uc2UiMYLT5JMCKzoBKiImL3YxL3t2ZW5kb3J9L2Rpc2NvdW50cGxhbi97b3JnSWR9OnJlYWQSfwoOR2V0Q29zdFVzYWdlVjISJy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVYyUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXNwb25zZSIYgtPkkwISOgEqIg0vdjEvY29zdHVzYWdlMAESqAEKFUxpc3ROb25wZXJmb3JtaW5nUmF0ZRIuLmJsdWVhcGkuY292ZXIudjEuTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL3JlcG9ydHMvcmF0ZS9ub25wZXJmb3JtaW5nOnJlYWQamAGSQZQBEkMoQUxQSEEpIENvdmVyIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2NvdmVyGk0KElNlcnZpY2UgZGVmaW5pdGlvbhI3aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2NvdmVyL0JLChdjbG91ZC5hbHBoYXVzLmFwaS5jb3ZlckIKQ292ZXJQcm90b1okZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2NvdmVyYgZwcm90bzM", [optimizationrecommendation_pb_1.file_api_cover_optimizationrecommendation, recommendation_pb_1.file_api_cover_recommendation_recommendation, attribute_pb_1.file_api_cover_attribute, user_pb_1.file_api_cover_user, view_pb_1.file_api_cover_view, unitcost_pb_1.file_api_cover_unitcost, costgroup_pb_1.file_api_cover_costgroup, accountaccess_pb_1.file_api_cover_accountaccess, costforecast_pb_1.file_api_cover_costforecast, discountplan_pb_1.file_api_cover_discountplan, discountrecommendation_pb_1.file_api_cover_discountrecommendation, rightsizingrecommendation_pb_1.file_api_cover_rightsizingrecommendation, alert_pb_1.file_api_cover_alert, budget_pb_1.file_api_cover_budget, insightreport_pb_1.file_api_cover_insightreport, operation_pb_1.file_protos_operation, annotations_pb_1.file_google_api_annotations, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
38
+ /**
39
+ * Describes the message blueapi.cover.v1.GetCostUsageV2Response.
40
+ * Use `create(GetCostUsageV2ResponseSchema)` to create a new message.
41
+ */
42
+ exports.GetCostUsageV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 0);
43
+ /**
44
+ * Describes the message blueapi.cover.v1.GetCostUsageV2Request.
45
+ * Use `create(GetCostUsageV2RequestSchema)` to create a new message.
46
+ */
47
+ exports.GetCostUsageV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 1);
48
+ /**
49
+ * @generated from enum blueapi.cover.v1.GetCostUsageV2Request.Granularity
50
+ */
51
+ var GetCostUsageV2Request_Granularity;
52
+ (function (GetCostUsageV2Request_Granularity) {
53
+ /**
54
+ * @generated from enum value: GRANULARITY_UNSPECIFIED = 0;
55
+ */
56
+ GetCostUsageV2Request_Granularity[GetCostUsageV2Request_Granularity["GRANULARITY_UNSPECIFIED"] = 0] = "GRANULARITY_UNSPECIFIED";
57
+ /**
58
+ * @generated from enum value: DAILY = 1;
59
+ */
60
+ GetCostUsageV2Request_Granularity[GetCostUsageV2Request_Granularity["DAILY"] = 1] = "DAILY";
61
+ /**
62
+ * @generated from enum value: MONTHLY = 2;
63
+ */
64
+ GetCostUsageV2Request_Granularity[GetCostUsageV2Request_Granularity["MONTHLY"] = 2] = "MONTHLY";
65
+ })(GetCostUsageV2Request_Granularity || (exports.GetCostUsageV2Request_Granularity = GetCostUsageV2Request_Granularity = {}));
66
+ /**
67
+ * Describes the enum blueapi.cover.v1.GetCostUsageV2Request.Granularity.
68
+ */
69
+ exports.GetCostUsageV2Request_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 1, 0);
70
+ /**
71
+ * @generated from enum blueapi.cover.v1.GetCostUsageV2Request.Category
72
+ */
73
+ var GetCostUsageV2Request_Category;
74
+ (function (GetCostUsageV2Request_Category) {
75
+ /**
76
+ * @generated from enum value: Category_UNSPECIFIED = 0;
77
+ */
78
+ GetCostUsageV2Request_Category[GetCostUsageV2Request_Category["Category_UNSPECIFIED"] = 0] = "Category_UNSPECIFIED";
79
+ /**
80
+ * @generated from enum value: COST = 1;
81
+ */
82
+ GetCostUsageV2Request_Category[GetCostUsageV2Request_Category["COST"] = 1] = "COST";
83
+ /**
84
+ * @generated from enum value: USAGE = 2;
85
+ */
86
+ GetCostUsageV2Request_Category[GetCostUsageV2Request_Category["USAGE"] = 2] = "USAGE";
87
+ })(GetCostUsageV2Request_Category || (exports.GetCostUsageV2Request_Category = GetCostUsageV2Request_Category = {}));
88
+ /**
89
+ * Describes the enum blueapi.cover.v1.GetCostUsageV2Request.Category.
90
+ */
91
+ exports.GetCostUsageV2Request_CategorySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 1, 1);
92
+ /**
93
+ * Describes the message blueapi.cover.v1.PopulateDemoDataRequest.
94
+ * Use `create(PopulateDemoDataRequestSchema)` to create a new message.
95
+ */
96
+ exports.PopulateDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 2);
97
+ /**
98
+ * Describes the message blueapi.cover.v1.PopulateDemoDataResponse.
99
+ * Use `create(PopulateDemoDataResponseSchema)` to create a new message.
100
+ */
101
+ exports.PopulateDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 3);
102
+ /**
103
+ * Describes the message blueapi.cover.v1.ResetDemoDataRequest.
104
+ * Use `create(ResetDemoDataRequestSchema)` to create a new message.
105
+ */
106
+ exports.ResetDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 4);
107
+ /**
108
+ * Describes the message blueapi.cover.v1.ResetDemoDataResponse.
109
+ * Use `create(ResetDemoDataResponseSchema)` to create a new message.
110
+ */
111
+ exports.ResetDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 5);
112
+ /**
113
+ * Describes the message blueapi.cover.v1.ContainerCostUsageRequest.
114
+ * Use `create(ContainerCostUsageRequestSchema)` to create a new message.
115
+ */
116
+ exports.ContainerCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 6);
117
+ /**
118
+ * Describes the message blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.
119
+ * Use `create(ContainerCostUsageRequest_FilterCriteriaSchema)` to create a new message.
120
+ */
121
+ exports.ContainerCostUsageRequest_FilterCriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 6, 0);
122
+ /**
123
+ * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.FilterOperator
124
+ */
125
+ var ContainerCostUsageRequest_FilterCriteria_FilterOperator;
126
+ (function (ContainerCostUsageRequest_FilterCriteria_FilterOperator) {
127
+ /**
128
+ * @generated from enum value: OPERATOR_UNSPECIFIED = 0;
129
+ */
130
+ ContainerCostUsageRequest_FilterCriteria_FilterOperator[ContainerCostUsageRequest_FilterCriteria_FilterOperator["OPERATOR_UNSPECIFIED"] = 0] = "OPERATOR_UNSPECIFIED";
131
+ /**
132
+ * @generated from enum value: EQUAL = 1;
133
+ */
134
+ ContainerCostUsageRequest_FilterCriteria_FilterOperator[ContainerCostUsageRequest_FilterCriteria_FilterOperator["EQUAL"] = 1] = "EQUAL";
135
+ /**
136
+ * @generated from enum value: NOT_EQUAL = 2;
137
+ */
138
+ ContainerCostUsageRequest_FilterCriteria_FilterOperator[ContainerCostUsageRequest_FilterCriteria_FilterOperator["NOT_EQUAL"] = 2] = "NOT_EQUAL";
139
+ })(ContainerCostUsageRequest_FilterCriteria_FilterOperator || (exports.ContainerCostUsageRequest_FilterCriteria_FilterOperator = ContainerCostUsageRequest_FilterCriteria_FilterOperator = {}));
140
+ /**
141
+ * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.FilterOperator.
142
+ */
143
+ exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 6, 0, 0);
144
+ /**
145
+ * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.TimeGranularity
146
+ */
147
+ var ContainerCostUsageRequest_TimeGranularity;
148
+ (function (ContainerCostUsageRequest_TimeGranularity) {
149
+ /**
150
+ * @generated from enum value: GRANULARITY_UNSPECIFIED = 0;
151
+ */
152
+ ContainerCostUsageRequest_TimeGranularity[ContainerCostUsageRequest_TimeGranularity["GRANULARITY_UNSPECIFIED"] = 0] = "GRANULARITY_UNSPECIFIED";
153
+ /**
154
+ * @generated from enum value: DAILY = 1;
155
+ */
156
+ ContainerCostUsageRequest_TimeGranularity[ContainerCostUsageRequest_TimeGranularity["DAILY"] = 1] = "DAILY";
157
+ /**
158
+ * @generated from enum value: MONTHLY = 2;
159
+ */
160
+ ContainerCostUsageRequest_TimeGranularity[ContainerCostUsageRequest_TimeGranularity["MONTHLY"] = 2] = "MONTHLY";
161
+ })(ContainerCostUsageRequest_TimeGranularity || (exports.ContainerCostUsageRequest_TimeGranularity = ContainerCostUsageRequest_TimeGranularity = {}));
162
+ /**
163
+ * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.TimeGranularity.
164
+ */
165
+ exports.ContainerCostUsageRequest_TimeGranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 6, 0);
166
+ /**
167
+ * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.MetricType
168
+ */
169
+ var ContainerCostUsageRequest_MetricType;
170
+ (function (ContainerCostUsageRequest_MetricType) {
171
+ /**
172
+ * @generated from enum value: METRIC_UNSPECIFIED = 0;
173
+ */
174
+ ContainerCostUsageRequest_MetricType[ContainerCostUsageRequest_MetricType["METRIC_UNSPECIFIED"] = 0] = "METRIC_UNSPECIFIED";
175
+ /**
176
+ * @generated from enum value: COST = 1;
177
+ */
178
+ ContainerCostUsageRequest_MetricType[ContainerCostUsageRequest_MetricType["COST"] = 1] = "COST";
179
+ /**
180
+ * @generated from enum value: USAGE = 2;
181
+ */
182
+ ContainerCostUsageRequest_MetricType[ContainerCostUsageRequest_MetricType["USAGE"] = 2] = "USAGE";
183
+ /**
184
+ * @generated from enum value: EFFICIENCY = 3;
185
+ */
186
+ ContainerCostUsageRequest_MetricType[ContainerCostUsageRequest_MetricType["EFFICIENCY"] = 3] = "EFFICIENCY";
187
+ /**
188
+ * @generated from enum value: UNUSED_COST = 4;
189
+ */
190
+ ContainerCostUsageRequest_MetricType[ContainerCostUsageRequest_MetricType["UNUSED_COST"] = 4] = "UNUSED_COST";
191
+ })(ContainerCostUsageRequest_MetricType || (exports.ContainerCostUsageRequest_MetricType = ContainerCostUsageRequest_MetricType = {}));
192
+ /**
193
+ * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.MetricType.
194
+ */
195
+ exports.ContainerCostUsageRequest_MetricTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 6, 1);
196
+ /**
197
+ * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.ServiceType
198
+ */
199
+ var ContainerCostUsageRequest_ServiceType;
200
+ (function (ContainerCostUsageRequest_ServiceType) {
201
+ /**
202
+ * @generated from enum value: SERVICE_UNSPECIFIED = 0;
203
+ */
204
+ ContainerCostUsageRequest_ServiceType[ContainerCostUsageRequest_ServiceType["SERVICE_UNSPECIFIED"] = 0] = "SERVICE_UNSPECIFIED";
205
+ /**
206
+ * @generated from enum value: ECS = 1;
207
+ */
208
+ ContainerCostUsageRequest_ServiceType[ContainerCostUsageRequest_ServiceType["ECS"] = 1] = "ECS";
209
+ /**
210
+ * @generated from enum value: EKS = 2;
211
+ */
212
+ ContainerCostUsageRequest_ServiceType[ContainerCostUsageRequest_ServiceType["EKS"] = 2] = "EKS";
213
+ })(ContainerCostUsageRequest_ServiceType || (exports.ContainerCostUsageRequest_ServiceType = ContainerCostUsageRequest_ServiceType = {}));
214
+ /**
215
+ * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.ServiceType.
216
+ */
217
+ exports.ContainerCostUsageRequest_ServiceTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 6, 2);
218
+ /**
219
+ * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.
220
+ * Use `create(ContainerCostUsageResponseSchema)` to create a new message.
221
+ */
222
+ exports.ContainerCostUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7);
223
+ /**
224
+ * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.CostMetric.
225
+ * Use `create(ContainerCostUsageResponse_CostMetricSchema)` to create a new message.
226
+ */
227
+ exports.ContainerCostUsageResponse_CostMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 0);
228
+ /**
229
+ * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.UsageMetric.
230
+ * Use `create(ContainerCostUsageResponse_UsageMetricSchema)` to create a new message.
231
+ */
232
+ exports.ContainerCostUsageResponse_UsageMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 1);
233
+ /**
234
+ * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.MetricDataPoint.
235
+ * Use `create(ContainerCostUsageResponse_MetricDataPointSchema)` to create a new message.
236
+ */
237
+ exports.ContainerCostUsageResponse_MetricDataPointSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 2);
238
+ /**
239
+ * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.ResourceHighlight.
240
+ * Use `create(ContainerCostUsageResponse_ResourceHighlightSchema)` to create a new message.
241
+ */
242
+ exports.ContainerCostUsageResponse_ResourceHighlightSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 3);
243
+ /**
244
+ * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.ResourceHighlights.
245
+ * Use `create(ContainerCostUsageResponse_ResourceHighlightsSchema)` to create a new message.
246
+ */
247
+ exports.ContainerCostUsageResponse_ResourceHighlightsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 4);
248
+ /**
249
+ * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.GroupedResult.
250
+ * Use `create(ContainerCostUsageResponse_GroupedResultSchema)` to create a new message.
251
+ */
252
+ exports.ContainerCostUsageResponse_GroupedResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7, 5);
253
+ /**
254
+ * Describes the message blueapi.cover.v1.GetAICostAndUsageRequest.
255
+ * Use `create(GetAICostAndUsageRequestSchema)` to create a new message.
256
+ */
257
+ exports.GetAICostAndUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 8);
258
+ /**
259
+ * Describes the message blueapi.cover.v1.GetAICostAndUsageRequest.Filter.
260
+ * Use `create(GetAICostAndUsageRequest_FilterSchema)` to create a new message.
261
+ */
262
+ exports.GetAICostAndUsageRequest_FilterSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 8, 0);
263
+ /**
264
+ * @generated from enum blueapi.cover.v1.GetAICostAndUsageRequest.Filter.Operator
265
+ */
266
+ var GetAICostAndUsageRequest_Filter_Operator;
267
+ (function (GetAICostAndUsageRequest_Filter_Operator) {
268
+ /**
269
+ * @generated from enum value: OPERATOR_UNSPECIFIED = 0;
270
+ */
271
+ GetAICostAndUsageRequest_Filter_Operator[GetAICostAndUsageRequest_Filter_Operator["OPERATOR_UNSPECIFIED"] = 0] = "OPERATOR_UNSPECIFIED";
272
+ /**
273
+ * @generated from enum value: EQUAL = 1;
274
+ */
275
+ GetAICostAndUsageRequest_Filter_Operator[GetAICostAndUsageRequest_Filter_Operator["EQUAL"] = 1] = "EQUAL";
276
+ /**
277
+ * @generated from enum value: NOT_EQUAL = 2;
278
+ */
279
+ GetAICostAndUsageRequest_Filter_Operator[GetAICostAndUsageRequest_Filter_Operator["NOT_EQUAL"] = 2] = "NOT_EQUAL";
280
+ })(GetAICostAndUsageRequest_Filter_Operator || (exports.GetAICostAndUsageRequest_Filter_Operator = GetAICostAndUsageRequest_Filter_Operator = {}));
281
+ /**
282
+ * Describes the enum blueapi.cover.v1.GetAICostAndUsageRequest.Filter.Operator.
283
+ */
284
+ exports.GetAICostAndUsageRequest_Filter_OperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 8, 0, 0);
285
+ /**
286
+ * @generated from enum blueapi.cover.v1.GetAICostAndUsageRequest.Granularity
287
+ */
288
+ var GetAICostAndUsageRequest_Granularity;
289
+ (function (GetAICostAndUsageRequest_Granularity) {
290
+ /**
291
+ * @generated from enum value: GRANULARITY_UNSPECIFIED = 0;
292
+ */
293
+ GetAICostAndUsageRequest_Granularity[GetAICostAndUsageRequest_Granularity["GRANULARITY_UNSPECIFIED"] = 0] = "GRANULARITY_UNSPECIFIED";
294
+ /**
295
+ * @generated from enum value: DAILY = 1;
296
+ */
297
+ GetAICostAndUsageRequest_Granularity[GetAICostAndUsageRequest_Granularity["DAILY"] = 1] = "DAILY";
298
+ /**
299
+ * @generated from enum value: MONTHLY = 2;
300
+ */
301
+ GetAICostAndUsageRequest_Granularity[GetAICostAndUsageRequest_Granularity["MONTHLY"] = 2] = "MONTHLY";
302
+ })(GetAICostAndUsageRequest_Granularity || (exports.GetAICostAndUsageRequest_Granularity = GetAICostAndUsageRequest_Granularity = {}));
303
+ /**
304
+ * Describes the enum blueapi.cover.v1.GetAICostAndUsageRequest.Granularity.
305
+ */
306
+ exports.GetAICostAndUsageRequest_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 8, 0);
307
+ /**
308
+ * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.
309
+ * Use `create(GetAICostAndUsageResponseSchema)` to create a new message.
310
+ */
311
+ exports.GetAICostAndUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9);
312
+ /**
313
+ * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Cost.
314
+ * Use `create(GetAICostAndUsageResponse_CostSchema)` to create a new message.
315
+ */
316
+ exports.GetAICostAndUsageResponse_CostSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9, 0);
317
+ /**
318
+ * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Usage.
319
+ * Use `create(GetAICostAndUsageResponse_UsageSchema)` to create a new message.
320
+ */
321
+ exports.GetAICostAndUsageResponse_UsageSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9, 1);
322
+ /**
323
+ * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Metric.
324
+ * Use `create(GetAICostAndUsageResponse_MetricSchema)` to create a new message.
325
+ */
326
+ exports.GetAICostAndUsageResponse_MetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9, 2);
327
+ /**
328
+ * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Result.
329
+ * Use `create(GetAICostAndUsageResponse_ResultSchema)` to create a new message.
330
+ */
331
+ exports.GetAICostAndUsageResponse_ResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9, 3);
332
+ /**
333
+ * Describes the message blueapi.cover.v1.GetExecutionStatusRequest.
334
+ * Use `create(GetExecutionStatusRequestSchema)` to create a new message.
335
+ */
336
+ exports.GetExecutionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 10);
337
+ /**
338
+ * Describes the message blueapi.cover.v1.GetExecutionStatusResponse.
339
+ * Use `create(GetExecutionStatusResponseSchema)` to create a new message.
340
+ */
341
+ exports.GetExecutionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 11);
342
+ /**
343
+ * Describes the message blueapi.cover.v1.VerifyAPIAccessRequest.
344
+ * Use `create(VerifyAPIAccessRequestSchema)` to create a new message.
345
+ */
346
+ exports.VerifyAPIAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 12);
347
+ /**
348
+ * Describes the message blueapi.cover.v1.VerifyAPIAccessResponse.
349
+ * Use `create(VerifyAPIAccessResponseSchema)` to create a new message.
350
+ */
351
+ exports.VerifyAPIAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 13);
352
+ /**
353
+ * Describes the message blueapi.cover.v1.GetRecommendationV2Request.
354
+ * Use `create(GetRecommendationV2RequestSchema)` to create a new message.
355
+ */
356
+ exports.GetRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 14);
357
+ /**
358
+ * Describes the message blueapi.cover.v1.GetRecommendationV2Response.
359
+ * Use `create(GetRecommendationV2ResponseSchema)` to create a new message.
360
+ */
361
+ exports.GetRecommendationV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 15);
362
+ /**
363
+ * Describes the message blueapi.cover.v1.OnboardOrgRequest.
364
+ * Use `create(OnboardOrgRequestSchema)` to create a new message.
365
+ */
366
+ exports.OnboardOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 16);
367
+ /**
368
+ * Describes the message blueapi.cover.v1.OnboardOrgResponse.
369
+ * Use `create(OnboardOrgResponseSchema)` to create a new message.
370
+ */
371
+ exports.OnboardOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 17);
372
+ /**
373
+ * Describes the message blueapi.cover.v1.InviteMemberRequest.
374
+ * Use `create(InviteMemberRequestSchema)` to create a new message.
375
+ */
376
+ exports.InviteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 18);
377
+ /**
378
+ * Describes the message blueapi.cover.v1.InviteMemberResponse.
379
+ * Use `create(InviteMemberResponseSchema)` to create a new message.
380
+ */
381
+ exports.InviteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19);
382
+ /**
383
+ * Describes the message blueapi.cover.v1.ActivateUserRequest.
384
+ * Use `create(ActivateUserRequestSchema)` to create a new message.
385
+ */
386
+ exports.ActivateUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 20);
387
+ /**
388
+ * Describes the message blueapi.cover.v1.ActivateUserResponse.
389
+ * Use `create(ActivateUserResponseSchema)` to create a new message.
390
+ */
391
+ exports.ActivateUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21);
392
+ /**
393
+ * Describes the message blueapi.cover.v1.CreateMemberRequest.
394
+ * Use `create(CreateMemberRequestSchema)` to create a new message.
395
+ */
396
+ exports.CreateMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 22);
397
+ /**
398
+ * Describes the message blueapi.cover.v1.CreateMemberResponse.
399
+ * Use `create(CreateMemberResponseSchema)` to create a new message.
400
+ */
401
+ exports.CreateMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 23);
402
+ /**
403
+ * Describes the message blueapi.cover.v1.GetMembersRequest.
404
+ * Use `create(GetMembersRequestSchema)` to create a new message.
405
+ */
406
+ exports.GetMembersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 24);
407
+ /**
408
+ * Describes the message blueapi.cover.v1.GetMembersResponse.
409
+ * Use `create(GetMembersResponseSchema)` to create a new message.
410
+ */
411
+ exports.GetMembersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 25);
412
+ /**
413
+ * Describes the message blueapi.cover.v1.GetMemberDetailsRequest.
414
+ * Use `create(GetMemberDetailsRequestSchema)` to create a new message.
415
+ */
416
+ exports.GetMemberDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 26);
417
+ /**
418
+ * Describes the message blueapi.cover.v1.GetMemberDetailsResponse.
419
+ * Use `create(GetMemberDetailsResponseSchema)` to create a new message.
420
+ */
421
+ exports.GetMemberDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 27);
422
+ /**
423
+ * Describes the message blueapi.cover.v1.GetMemberCostGroupRequest.
424
+ * Use `create(GetMemberCostGroupRequestSchema)` to create a new message.
425
+ */
426
+ exports.GetMemberCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 28);
427
+ /**
428
+ * Describes the message blueapi.cover.v1.GetMemberCostGroupResponse.
429
+ * Use `create(GetMemberCostGroupResponseSchema)` to create a new message.
430
+ */
431
+ exports.GetMemberCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 29);
432
+ /**
433
+ * Describes the message blueapi.cover.v1.UpdateMemberPermissionRequest.
434
+ * Use `create(UpdateMemberPermissionRequestSchema)` to create a new message.
435
+ */
436
+ exports.UpdateMemberPermissionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 30);
437
+ /**
438
+ * Describes the message blueapi.cover.v1.UpdateMemberPermissionResponse.
439
+ * Use `create(UpdateMemberPermissionResponseSchema)` to create a new message.
440
+ */
441
+ exports.UpdateMemberPermissionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 31);
442
+ /**
443
+ * Describes the message blueapi.cover.v1.GetUserDetailsRequest.
444
+ * Use `create(GetUserDetailsRequestSchema)` to create a new message.
445
+ */
446
+ exports.GetUserDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 32);
447
+ /**
448
+ * Describes the message blueapi.cover.v1.GetUserDetailsResponse.
449
+ * Use `create(GetUserDetailsResponseSchema)` to create a new message.
450
+ */
451
+ exports.GetUserDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 33);
452
+ /**
453
+ * Describes the message blueapi.cover.v1.UpdateUserAvatarRequest.
454
+ * Use `create(UpdateUserAvatarRequestSchema)` to create a new message.
455
+ */
456
+ exports.UpdateUserAvatarRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 34);
457
+ /**
458
+ * Describes the message blueapi.cover.v1.UpdateUserAvatarResponse.
459
+ * Use `create(UpdateUserAvatarResponseSchema)` to create a new message.
460
+ */
461
+ exports.UpdateUserAvatarResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35);
462
+ /**
463
+ * Describes the message blueapi.cover.v1.UpdateUserIconRequest.
464
+ * Use `create(UpdateUserIconRequestSchema)` to create a new message.
465
+ */
466
+ exports.UpdateUserIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 36);
467
+ /**
468
+ * Describes the message blueapi.cover.v1.UpdateUserIconResponse.
469
+ * Use `create(UpdateUserIconResponseSchema)` to create a new message.
470
+ */
471
+ exports.UpdateUserIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37);
472
+ /**
473
+ * Describes the message blueapi.cover.v1.UpdateUserColorThemeRequest.
474
+ * Use `create(UpdateUserColorThemeRequestSchema)` to create a new message.
475
+ */
476
+ exports.UpdateUserColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 38);
477
+ /**
478
+ * Describes the message blueapi.cover.v1.UpdateUserColorThemeResponse.
479
+ * Use `create(UpdateUserColorThemeResponseSchema)` to create a new message.
480
+ */
481
+ exports.UpdateUserColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39);
482
+ /**
483
+ * Describes the message blueapi.cover.v1.UpdateUserNameRequest.
484
+ * Use `create(UpdateUserNameRequestSchema)` to create a new message.
485
+ */
486
+ exports.UpdateUserNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 40);
487
+ /**
488
+ * Describes the message blueapi.cover.v1.UpdateUserNameResponse.
489
+ * Use `create(UpdateUserNameResponseSchema)` to create a new message.
490
+ */
491
+ exports.UpdateUserNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 41);
492
+ /**
493
+ * Describes the message blueapi.cover.v1.UpdateUserEmailRequest.
494
+ * Use `create(UpdateUserEmailRequestSchema)` to create a new message.
495
+ */
496
+ exports.UpdateUserEmailRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 42);
497
+ /**
498
+ * Describes the message blueapi.cover.v1.UpdateUserEmailResponse.
499
+ * Use `create(UpdateUserEmailResponseSchema)` to create a new message.
500
+ */
501
+ exports.UpdateUserEmailResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 43);
502
+ /**
503
+ * Describes the message blueapi.cover.v1.UpdateUserMainViewRequest.
504
+ * Use `create(UpdateUserMainViewRequestSchema)` to create a new message.
505
+ */
506
+ exports.UpdateUserMainViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 44);
507
+ /**
508
+ * Describes the message blueapi.cover.v1.UpdateUserMainViewResponse.
509
+ * Use `create(UpdateUserMainViewResponseSchema)` to create a new message.
510
+ */
511
+ exports.UpdateUserMainViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 45);
512
+ /**
513
+ * Describes the message blueapi.cover.v1.ResetUserPasswordRequest.
514
+ * Use `create(ResetUserPasswordRequestSchema)` to create a new message.
515
+ */
516
+ exports.ResetUserPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 46);
517
+ /**
518
+ * Describes the message blueapi.cover.v1.ResetUserPasswordResponse.
519
+ * Use `create(ResetUserPasswordResponseSchema)` to create a new message.
520
+ */
521
+ exports.ResetUserPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 47);
522
+ /**
523
+ * Describes the message blueapi.cover.v1.UpdateUserLocaleRequest.
524
+ * Use `create(UpdateUserLocaleRequestSchema)` to create a new message.
525
+ */
526
+ exports.UpdateUserLocaleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 48);
527
+ /**
528
+ * Describes the message blueapi.cover.v1.UpdateUserLocaleResponse.
529
+ * Use `create(UpdateUserLocaleResponseSchema)` to create a new message.
530
+ */
531
+ exports.UpdateUserLocaleResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 49);
532
+ /**
533
+ * Describes the message blueapi.cover.v1.UpdateUserAppThemeRequest.
534
+ * Use `create(UpdateUserAppThemeRequestSchema)` to create a new message.
535
+ */
536
+ exports.UpdateUserAppThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 50);
537
+ /**
538
+ * Describes the message blueapi.cover.v1.UpdateUserAppThemeResponse.
539
+ * Use `create(UpdateUserAppThemeResponseSchema)` to create a new message.
540
+ */
541
+ exports.UpdateUserAppThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 51);
542
+ /**
543
+ * Describes the message blueapi.cover.v1.UpdateUserTimezoneRequest.
544
+ * Use `create(UpdateUserTimezoneRequestSchema)` to create a new message.
545
+ */
546
+ exports.UpdateUserTimezoneRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 52);
547
+ /**
548
+ * Describes the message blueapi.cover.v1.UpdateUserTimezoneResponse.
549
+ * Use `create(UpdateUserTimezoneResponseSchema)` to create a new message.
550
+ */
551
+ exports.UpdateUserTimezoneResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 53);
552
+ /**
553
+ * Describes the message blueapi.cover.v1.UpdateUserAttributesRequest.
554
+ * Use `create(UpdateUserAttributesRequestSchema)` to create a new message.
555
+ */
556
+ exports.UpdateUserAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 54);
557
+ /**
558
+ * Describes the message blueapi.cover.v1.UpdateUserAttributesResponse.
559
+ * Use `create(UpdateUserAttributesResponseSchema)` to create a new message.
560
+ */
561
+ exports.UpdateUserAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 55);
562
+ /**
563
+ * Describes the message blueapi.cover.v1.DeleteMemberRequest.
564
+ * Use `create(DeleteMemberRequestSchema)` to create a new message.
565
+ */
566
+ exports.DeleteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 56);
567
+ /**
568
+ * Describes the message blueapi.cover.v1.DeleteMemberResponse.
569
+ * Use `create(DeleteMemberResponseSchema)` to create a new message.
570
+ */
571
+ exports.DeleteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 57);
572
+ /**
573
+ * Describes the message blueapi.cover.v1.ResetPasswordRequest.
574
+ * Use `create(ResetPasswordRequestSchema)` to create a new message.
575
+ */
576
+ exports.ResetPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 58);
577
+ /**
578
+ * Describes the message blueapi.cover.v1.ResetPasswordResponse.
579
+ * Use `create(ResetPasswordResponseSchema)` to create a new message.
580
+ */
581
+ exports.ResetPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 59);
582
+ /**
583
+ * Describes the message blueapi.cover.v1.CreateViewRequest.
584
+ * Use `create(CreateViewRequestSchema)` to create a new message.
585
+ */
586
+ exports.CreateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 60);
587
+ /**
588
+ * Describes the message blueapi.cover.v1.CreateViewResponse.
589
+ * Use `create(CreateViewResponseSchema)` to create a new message.
590
+ */
591
+ exports.CreateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 61);
592
+ /**
593
+ * Describes the message blueapi.cover.v1.GetViewsRequest.
594
+ * Use `create(GetViewsRequestSchema)` to create a new message.
595
+ */
596
+ exports.GetViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 62);
597
+ /**
598
+ * Describes the message blueapi.cover.v1.GetViewsResponse.
599
+ * Use `create(GetViewsResponseSchema)` to create a new message.
600
+ */
601
+ exports.GetViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 63);
602
+ /**
603
+ * Describes the message blueapi.cover.v1.GetCurrentViewRequest.
604
+ * Use `create(GetCurrentViewRequestSchema)` to create a new message.
605
+ */
606
+ exports.GetCurrentViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 64);
607
+ /**
608
+ * Describes the message blueapi.cover.v1.GetCurrentViewResponse.
609
+ * Use `create(GetCurrentViewResponseSchema)` to create a new message.
610
+ */
611
+ exports.GetCurrentViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 65);
612
+ /**
613
+ * Describes the message blueapi.cover.v1.GetFavoriteViewsRequest.
614
+ * Use `create(GetFavoriteViewsRequestSchema)` to create a new message.
615
+ */
616
+ exports.GetFavoriteViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 66);
617
+ /**
618
+ * Describes the message blueapi.cover.v1.GetFavoriteViewsResponse.
619
+ * Use `create(GetFavoriteViewsResponseSchema)` to create a new message.
620
+ */
621
+ exports.GetFavoriteViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 67);
622
+ /**
623
+ * Describes the message blueapi.cover.v1.PublishViewRequest.
624
+ * Use `create(PublishViewRequestSchema)` to create a new message.
625
+ */
626
+ exports.PublishViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 68);
627
+ /**
628
+ * Describes the message blueapi.cover.v1.PublishViewResponse.
629
+ * Use `create(PublishViewResponseSchema)` to create a new message.
630
+ */
631
+ exports.PublishViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 69);
632
+ /**
633
+ * Describes the message blueapi.cover.v1.AddFavoriteRequest.
634
+ * Use `create(AddFavoriteRequestSchema)` to create a new message.
635
+ */
636
+ exports.AddFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 70);
637
+ /**
638
+ * Describes the message blueapi.cover.v1.AddFavoriteResponse.
639
+ * Use `create(AddFavoriteResponseSchema)` to create a new message.
640
+ */
641
+ exports.AddFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 71);
642
+ /**
643
+ * Describes the message blueapi.cover.v1.RemoveFavoriteRequest.
644
+ * Use `create(RemoveFavoriteRequestSchema)` to create a new message.
645
+ */
646
+ exports.RemoveFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 72);
647
+ /**
648
+ * Describes the message blueapi.cover.v1.RemoveFavoriteResponse.
649
+ * Use `create(RemoveFavoriteResponseSchema)` to create a new message.
650
+ */
651
+ exports.RemoveFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 73);
652
+ /**
653
+ * Describes the message blueapi.cover.v1.UpdateViewRequest.
654
+ * Use `create(UpdateViewRequestSchema)` to create a new message.
655
+ */
656
+ exports.UpdateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 74);
657
+ /**
658
+ * Describes the message blueapi.cover.v1.UpdateViewResponse.
659
+ * Use `create(UpdateViewResponseSchema)` to create a new message.
660
+ */
661
+ exports.UpdateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 75);
662
+ /**
663
+ * Describes the message blueapi.cover.v1.UpdateViewLayoutRequest.
664
+ * Use `create(UpdateViewLayoutRequestSchema)` to create a new message.
665
+ */
666
+ exports.UpdateViewLayoutRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 76);
667
+ /**
668
+ * Describes the message blueapi.cover.v1.UpdateViewLayoutResponse.
669
+ * Use `create(UpdateViewLayoutResponseSchema)` to create a new message.
670
+ */
671
+ exports.UpdateViewLayoutResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 77);
672
+ /**
673
+ * Describes the message blueapi.cover.v1.UpdateViewWidgetRequest.
674
+ * Use `create(UpdateViewWidgetRequestSchema)` to create a new message.
675
+ */
676
+ exports.UpdateViewWidgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 78);
677
+ /**
678
+ * Describes the message blueapi.cover.v1.UpdateViewWidgetResponse.
679
+ * Use `create(UpdateViewWidgetResponseSchema)` to create a new message.
680
+ */
681
+ exports.UpdateViewWidgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 79);
682
+ /**
683
+ * Describes the message blueapi.cover.v1.UpdateViewColorThemeRequest.
684
+ * Use `create(UpdateViewColorThemeRequestSchema)` to create a new message.
685
+ */
686
+ exports.UpdateViewColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 80);
687
+ /**
688
+ * Describes the message blueapi.cover.v1.UpdateViewColorThemeResponse.
689
+ * Use `create(UpdateViewColorThemeResponseSchema)` to create a new message.
690
+ */
691
+ exports.UpdateViewColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 81);
692
+ /**
693
+ * Describes the message blueapi.cover.v1.UpdateViewCurrencyRequest.
694
+ * Use `create(UpdateViewCurrencyRequestSchema)` to create a new message.
695
+ */
696
+ exports.UpdateViewCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 82);
697
+ /**
698
+ * Describes the message blueapi.cover.v1.UpdateViewCurrencyResponse.
699
+ * Use `create(UpdateViewCurrencyResponseSchema)` to create a new message.
700
+ */
701
+ exports.UpdateViewCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 83);
702
+ /**
703
+ * Describes the message blueapi.cover.v1.SetOrgUpdateCurrencyRequest.
704
+ * Use `create(SetOrgUpdateCurrencyRequestSchema)` to create a new message.
705
+ */
706
+ exports.SetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 84);
707
+ /**
708
+ * Describes the message blueapi.cover.v1.SetOrgUpdateCurrencyResponse.
709
+ * Use `create(SetOrgUpdateCurrencyResponseSchema)` to create a new message.
710
+ */
711
+ exports.SetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 85);
712
+ /**
713
+ * Describes the message blueapi.cover.v1.GetOrgUpdateCurrencyRequest.
714
+ * Use `create(GetOrgUpdateCurrencyRequestSchema)` to create a new message.
715
+ */
716
+ exports.GetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 86);
717
+ /**
718
+ * Describes the message blueapi.cover.v1.GetOrgUpdateCurrencyResponse.
719
+ * Use `create(GetOrgUpdateCurrencyResponseSchema)` to create a new message.
720
+ */
721
+ exports.GetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 87);
722
+ /**
723
+ * Describes the message blueapi.cover.v1.ListExchangeRatesRequest.
724
+ * Use `create(ListExchangeRatesRequestSchema)` to create a new message.
725
+ */
726
+ exports.ListExchangeRatesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 88);
727
+ /**
728
+ * Describes the message blueapi.cover.v1.ListExchangeRatesResponse.
729
+ * Use `create(ListExchangeRatesResponseSchema)` to create a new message.
730
+ */
731
+ exports.ListExchangeRatesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 89);
732
+ /**
733
+ * Describes the message blueapi.cover.v1.ExchangeRates.
734
+ * Use `create(ExchangeRatesSchema)` to create a new message.
735
+ */
736
+ exports.ExchangeRatesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 90);
737
+ /**
738
+ * Describes the message blueapi.cover.v1.DeleteViewRequest.
739
+ * Use `create(DeleteViewRequestSchema)` to create a new message.
740
+ */
741
+ exports.DeleteViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 91);
742
+ /**
743
+ * Describes the message blueapi.cover.v1.DeleteViewResponse.
744
+ * Use `create(DeleteViewResponseSchema)` to create a new message.
745
+ */
746
+ exports.DeleteViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 92);
747
+ /**
748
+ * Describes the message blueapi.cover.v1.UpdateSideMenuStateRequest.
749
+ * Use `create(UpdateSideMenuStateRequestSchema)` to create a new message.
750
+ */
751
+ exports.UpdateSideMenuStateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 93);
752
+ /**
753
+ * Describes the message blueapi.cover.v1.UpdateSideMenuStateResponse.
754
+ * Use `create(UpdateSideMenuStateResponseSchema)` to create a new message.
755
+ */
756
+ exports.UpdateSideMenuStateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 94);
757
+ /**
758
+ * Describes the message blueapi.cover.v1.AddSideMenuFavoriteRequest.
759
+ * Use `create(AddSideMenuFavoriteRequestSchema)` to create a new message.
760
+ */
761
+ exports.AddSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 95);
762
+ /**
763
+ * Describes the message blueapi.cover.v1.AddSideMenuFavoriteResponse.
764
+ * Use `create(AddSideMenuFavoriteResponseSchema)` to create a new message.
765
+ */
766
+ exports.AddSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 96);
767
+ /**
768
+ * Describes the message blueapi.cover.v1.RemoveSideMenuFavoriteRequest.
769
+ * Use `create(RemoveSideMenuFavoriteRequestSchema)` to create a new message.
770
+ */
771
+ exports.RemoveSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 97);
772
+ /**
773
+ * Describes the message blueapi.cover.v1.RemoveSideMenuFavoriteResponse.
774
+ * Use `create(RemoveSideMenuFavoriteResponseSchema)` to create a new message.
775
+ */
776
+ exports.RemoveSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 98);
777
+ /**
778
+ * Describes the message blueapi.cover.v1.CreateCostGroupRequest.
779
+ * Use `create(CreateCostGroupRequestSchema)` to create a new message.
780
+ */
781
+ exports.CreateCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 99);
782
+ /**
783
+ * Describes the message blueapi.cover.v1.CreateCostGroupResponse.
784
+ * Use `create(CreateCostGroupResponseSchema)` to create a new message.
785
+ */
786
+ exports.CreateCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 100);
787
+ /**
788
+ * Describes the message blueapi.cover.v1.GetCostGroupsRequest.
789
+ * Use `create(GetCostGroupsRequestSchema)` to create a new message.
790
+ */
791
+ exports.GetCostGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 101);
792
+ /**
793
+ * Describes the message blueapi.cover.v1.GetCostGroupsResponse.
794
+ * Use `create(GetCostGroupsResponseSchema)` to create a new message.
795
+ */
796
+ exports.GetCostGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 102);
797
+ /**
798
+ * Describes the message blueapi.cover.v1.GetCostGroupDetailsRequest.
799
+ * Use `create(GetCostGroupDetailsRequestSchema)` to create a new message.
800
+ */
801
+ exports.GetCostGroupDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 103);
802
+ /**
803
+ * Describes the message blueapi.cover.v1.GetCostGroupDetailsResponse.
804
+ * Use `create(GetCostGroupDetailsResponseSchema)` to create a new message.
805
+ */
806
+ exports.GetCostGroupDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 104);
807
+ /**
808
+ * Describes the message blueapi.cover.v1.UpdateCostGroupNameRequest.
809
+ * Use `create(UpdateCostGroupNameRequestSchema)` to create a new message.
810
+ */
811
+ exports.UpdateCostGroupNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 105);
812
+ /**
813
+ * Describes the message blueapi.cover.v1.UpdateCostGroupNameResponse.
814
+ * Use `create(UpdateCostGroupNameResponseSchema)` to create a new message.
815
+ */
816
+ exports.UpdateCostGroupNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 106);
817
+ /**
818
+ * Describes the message blueapi.cover.v1.UpdateCostGroupDescriptionRequest.
819
+ * Use `create(UpdateCostGroupDescriptionRequestSchema)` to create a new message.
820
+ */
821
+ exports.UpdateCostGroupDescriptionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 107);
822
+ /**
823
+ * Describes the message blueapi.cover.v1.UpdateCostGroupDescriptionResponse.
824
+ * Use `create(UpdateCostGroupDescriptionResponseSchema)` to create a new message.
825
+ */
826
+ exports.UpdateCostGroupDescriptionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 108);
827
+ /**
828
+ * Describes the message blueapi.cover.v1.UpdateCostGroupImageRequest.
829
+ * Use `create(UpdateCostGroupImageRequestSchema)` to create a new message.
830
+ */
831
+ exports.UpdateCostGroupImageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 109);
832
+ /**
833
+ * Describes the message blueapi.cover.v1.UpdateCostGroupImageResponse.
834
+ * Use `create(UpdateCostGroupImageResponseSchema)` to create a new message.
835
+ */
836
+ exports.UpdateCostGroupImageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 110);
837
+ /**
838
+ * Describes the message blueapi.cover.v1.UpdateCostGroupIconRequest.
839
+ * Use `create(UpdateCostGroupIconRequestSchema)` to create a new message.
840
+ */
841
+ exports.UpdateCostGroupIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 111);
842
+ /**
843
+ * Describes the message blueapi.cover.v1.UpdateCostGroupIconResponse.
844
+ * Use `create(UpdateCostGroupIconResponseSchema)` to create a new message.
845
+ */
846
+ exports.UpdateCostGroupIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 112);
847
+ /**
848
+ * Describes the message blueapi.cover.v1.UpdateCostGroupColorThemeRequest.
849
+ * Use `create(UpdateCostGroupColorThemeRequestSchema)` to create a new message.
850
+ */
851
+ exports.UpdateCostGroupColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 113);
852
+ /**
853
+ * Describes the message blueapi.cover.v1.UpdateCostGroupColorThemeResponse.
854
+ * Use `create(UpdateCostGroupColorThemeResponseSchema)` to create a new message.
855
+ */
856
+ exports.UpdateCostGroupColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 114);
857
+ /**
858
+ * Describes the message blueapi.cover.v1.UpdateCostGroupCombinationsRequest.
859
+ * Use `create(UpdateCostGroupCombinationsRequestSchema)` to create a new message.
860
+ */
861
+ exports.UpdateCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 115);
862
+ /**
863
+ * Describes the message blueapi.cover.v1.UpdateCostGroupCombinationsResponse.
864
+ * Use `create(UpdateCostGroupCombinationsResponseSchema)` to create a new message.
865
+ */
866
+ exports.UpdateCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 116);
867
+ /**
868
+ * Describes the message blueapi.cover.v1.AssignCostGroupMemberRequest.
869
+ * Use `create(AssignCostGroupMemberRequestSchema)` to create a new message.
870
+ */
871
+ exports.AssignCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 117);
872
+ /**
873
+ * Describes the message blueapi.cover.v1.AssignCostGroupMemberResponse.
874
+ * Use `create(AssignCostGroupMemberResponseSchema)` to create a new message.
875
+ */
876
+ exports.AssignCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 118);
877
+ /**
878
+ * Describes the message blueapi.cover.v1.RemoveCostGroupMemberRequest.
879
+ * Use `create(RemoveCostGroupMemberRequestSchema)` to create a new message.
880
+ */
881
+ exports.RemoveCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 119);
882
+ /**
883
+ * Describes the message blueapi.cover.v1.RemoveCostGroupMemberResponse.
884
+ * Use `create(RemoveCostGroupMemberResponseSchema)` to create a new message.
885
+ */
886
+ exports.RemoveCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 120);
887
+ /**
888
+ * Describes the message blueapi.cover.v1.DeleteCostGroupRequest.
889
+ * Use `create(DeleteCostGroupRequestSchema)` to create a new message.
890
+ */
891
+ exports.DeleteCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 121);
892
+ /**
893
+ * Describes the message blueapi.cover.v1.DeleteCostGroupResponse.
894
+ * Use `create(DeleteCostGroupResponseSchema)` to create a new message.
895
+ */
896
+ exports.DeleteCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 122);
897
+ /**
898
+ * Describes the message blueapi.cover.v1.GetAccountAccessTemplateUrlRequest.
899
+ * Use `create(GetAccountAccessTemplateUrlRequestSchema)` to create a new message.
900
+ */
901
+ exports.GetAccountAccessTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 123);
902
+ /**
903
+ * Describes the message blueapi.cover.v1.GetAccountAccessTemplateUrlResponse.
904
+ * Use `create(GetAccountAccessTemplateUrlResponseSchema)` to create a new message.
905
+ */
906
+ exports.GetAccountAccessTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 124);
907
+ /**
908
+ * Describes the message blueapi.cover.v1.ListAccountAccessRequest.
909
+ * Use `create(ListAccountAccessRequestSchema)` to create a new message.
910
+ */
911
+ exports.ListAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 125);
912
+ /**
913
+ * Describes the message blueapi.cover.v1.GetAccountAccessRequest.
914
+ * Use `create(GetAccountAccessRequestSchema)` to create a new message.
915
+ */
916
+ exports.GetAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 126);
917
+ /**
918
+ * Describes the message blueapi.cover.v1.AccountAccess.
919
+ * Use `create(AccountAccessSchema)` to create a new message.
920
+ */
921
+ exports.AccountAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 127);
922
+ /**
923
+ * Describes the message blueapi.cover.v1.CreateAccountAccessRequest.
924
+ * Use `create(CreateAccountAccessRequestSchema)` to create a new message.
925
+ */
926
+ exports.CreateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 128);
927
+ /**
928
+ * Describes the message blueapi.cover.v1.CreateAccountAccessStacksetRequest.
929
+ * Use `create(CreateAccountAccessStacksetRequestSchema)` to create a new message.
930
+ */
931
+ exports.CreateAccountAccessStacksetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 129);
932
+ /**
933
+ * Describes the message blueapi.cover.v1.UpdateAccountAccessRequest.
934
+ * Use `create(UpdateAccountAccessRequestSchema)` to create a new message.
935
+ */
936
+ exports.UpdateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 130);
937
+ /**
938
+ * Describes the message blueapi.cover.v1.DeleteAccountAccessRequest.
939
+ * Use `create(DeleteAccountAccessRequestSchema)` to create a new message.
940
+ */
941
+ exports.DeleteAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 131);
942
+ /**
943
+ * Describes the message blueapi.cover.v1.DeleteAccountAccessResponse.
944
+ * Use `create(DeleteAccountAccessResponseSchema)` to create a new message.
945
+ */
946
+ exports.DeleteAccountAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 132);
947
+ /**
948
+ * Describes the message blueapi.cover.v1.RegisterAccountRequest.
949
+ * Use `create(RegisterAccountRequestSchema)` to create a new message.
950
+ */
951
+ exports.RegisterAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 133);
952
+ /**
953
+ * Describes the message blueapi.cover.v1.ListAssetsRequest.
954
+ * Use `create(ListAssetsRequestSchema)` to create a new message.
955
+ */
956
+ exports.ListAssetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 134);
957
+ /**
958
+ * Describes the message blueapi.cover.v1.ListAssetsFilters.
959
+ * Use `create(ListAssetsFiltersSchema)` to create a new message.
960
+ */
961
+ exports.ListAssetsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 135);
962
+ /**
963
+ * Describes the message blueapi.cover.v1.Resource.
964
+ * Use `create(ResourceSchema)` to create a new message.
965
+ */
966
+ exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 136);
967
+ /**
968
+ * Describes the message blueapi.cover.v1.GetAssetsSummaryRequest.
969
+ * Use `create(GetAssetsSummaryRequestSchema)` to create a new message.
970
+ */
971
+ exports.GetAssetsSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 137);
972
+ /**
973
+ * Describes the message blueapi.cover.v1.GetAssetsSummaryResponse.
974
+ * Use `create(GetAssetsSummaryResponseSchema)` to create a new message.
975
+ */
976
+ exports.GetAssetsSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 138);
977
+ /**
978
+ * Describes the message blueapi.cover.v1.AssetsSummary.
979
+ * Use `create(AssetsSummarySchema)` to create a new message.
980
+ */
981
+ exports.AssetsSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 139);
982
+ /**
983
+ * Describes the message blueapi.cover.v1.ResolveCostGroupCombinationsRequest.
984
+ * Use `create(ResolveCostGroupCombinationsRequestSchema)` to create a new message.
985
+ */
986
+ exports.ResolveCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 140);
987
+ /**
988
+ * Describes the message blueapi.cover.v1.ResolveCostGroupCombinationsResponse.
989
+ * Use `create(ResolveCostGroupCombinationsResponseSchema)` to create a new message.
990
+ */
991
+ exports.ResolveCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 141);
992
+ /**
993
+ * Describes the message blueapi.cover.v1.GetCostUsageRequest.
994
+ * Use `create(GetCostUsageRequestSchema)` to create a new message.
995
+ */
996
+ exports.GetCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 142);
997
+ /**
998
+ * Describes the message blueapi.cover.v1.GetCostUsageRequestAwsOptions.
999
+ * Use `create(GetCostUsageRequestAwsOptionsSchema)` to create a new message.
1000
+ */
1001
+ exports.GetCostUsageRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 143);
1002
+ /**
1003
+ * Describes the message blueapi.cover.v1.GetCostUsageRequestAzureOptions.
1004
+ * Use `create(GetCostUsageRequestAzureOptionsSchema)` to create a new message.
1005
+ */
1006
+ exports.GetCostUsageRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 144);
1007
+ /**
1008
+ * Describes the message blueapi.cover.v1.GetCostUsageRequestGcpOptions.
1009
+ * Use `create(GetCostUsageRequestGcpOptionsSchema)` to create a new message.
1010
+ */
1011
+ exports.GetCostUsageRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 145);
1012
+ /**
1013
+ * Describes the message blueapi.cover.v1.GetCostUsageRequestAzureCspOptions.
1014
+ * Use `create(GetCostUsageRequestAzureCspOptionsSchema)` to create a new message.
1015
+ */
1016
+ exports.GetCostUsageRequestAzureCspOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 146);
1017
+ /**
1018
+ * Describes the message blueapi.cover.v1.GetCostUsageRequestCustomOptions.
1019
+ * Use `create(GetCostUsageRequestCustomOptionsSchema)` to create a new message.
1020
+ */
1021
+ exports.GetCostUsageRequestCustomOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 147);
1022
+ /**
1023
+ * Describes the message blueapi.cover.v1.ReadCostsRequestOptionsFilters.
1024
+ * Use `create(ReadCostsRequestOptionsFiltersSchema)` to create a new message.
1025
+ */
1026
+ exports.ReadCostsRequestOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 148);
1027
+ /**
1028
+ * Describes the message blueapi.cover.v1.CostItem.
1029
+ * Use `create(CostItemSchema)` to create a new message.
1030
+ */
1031
+ exports.CostItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 149);
1032
+ /**
1033
+ * Describes the message blueapi.cover.v1.GetRightSizingRecommendationRequest.
1034
+ * Use `create(GetRightSizingRecommendationRequestSchema)` to create a new message.
1035
+ */
1036
+ exports.GetRightSizingRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 150);
1037
+ /**
1038
+ * Describes the message blueapi.cover.v1.GetRightSizingRecommendationResponse.
1039
+ * Use `create(GetRightSizingRecommendationResponseSchema)` to create a new message.
1040
+ */
1041
+ exports.GetRightSizingRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 151);
1042
+ /**
1043
+ * Describes the message blueapi.cover.v1.ModifyResourceTypeRequest.
1044
+ * Use `create(ModifyResourceTypeRequestSchema)` to create a new message.
1045
+ */
1046
+ exports.ModifyResourceTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 152);
1047
+ /**
1048
+ * Describes the message blueapi.cover.v1.ModifyResourceTypeResponse.
1049
+ * Use `create(ModifyResourceTypeResponseSchema)` to create a new message.
1050
+ */
1051
+ exports.ModifyResourceTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 153);
1052
+ /**
1053
+ * Describes the message blueapi.cover.v1.TerminateResourceRequest.
1054
+ * Use `create(TerminateResourceRequestSchema)` to create a new message.
1055
+ */
1056
+ exports.TerminateResourceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 154);
1057
+ /**
1058
+ * Describes the message blueapi.cover.v1.TerminateResourceResponse.
1059
+ * Use `create(TerminateResourceResponseSchema)` to create a new message.
1060
+ */
1061
+ exports.TerminateResourceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 155);
1062
+ /**
1063
+ * Describes the message blueapi.cover.v1.UploadChargeCodeRequest.
1064
+ * Use `create(UploadChargeCodeRequestSchema)` to create a new message.
1065
+ */
1066
+ exports.UploadChargeCodeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 156);
1067
+ /**
1068
+ * Describes the message blueapi.cover.v1.UploadChargeCodeResponse.
1069
+ * Use `create(UploadChargeCodeResponseSchema)` to create a new message.
1070
+ */
1071
+ exports.UploadChargeCodeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 157);
1072
+ /**
1073
+ * Describes the message blueapi.cover.v1.AssignPayerRequest.
1074
+ * Use `create(AssignPayerRequestSchema)` to create a new message.
1075
+ */
1076
+ exports.AssignPayerRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 158);
1077
+ /**
1078
+ * Describes the message blueapi.cover.v1.AssignPayerResponse.
1079
+ * Use `create(AssignPayerResponseSchema)` to create a new message.
1080
+ */
1081
+ exports.AssignPayerResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 159);
1082
+ /**
1083
+ * Describes the message blueapi.cover.v1.GetPayersRequest.
1084
+ * Use `create(GetPayersRequestSchema)` to create a new message.
1085
+ */
1086
+ exports.GetPayersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 160);
1087
+ /**
1088
+ * Describes the message blueapi.cover.v1.GetPayersResponse.
1089
+ * Use `create(GetPayersResponseSchema)` to create a new message.
1090
+ */
1091
+ exports.GetPayersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 161);
1092
+ /**
1093
+ * Describes the message blueapi.cover.v1.GetAccountsRequest.
1094
+ * Use `create(GetAccountsRequestSchema)` to create a new message.
1095
+ */
1096
+ exports.GetAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 162);
1097
+ /**
1098
+ * Describes the message blueapi.cover.v1.GetAccountsResponse.
1099
+ * Use `create(GetAccountsResponseSchema)` to create a new message.
1100
+ */
1101
+ exports.GetAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 163);
1102
+ /**
1103
+ * Describes the message blueapi.cover.v1.GetServicesRequest.
1104
+ * Use `create(GetServicesRequestSchema)` to create a new message.
1105
+ */
1106
+ exports.GetServicesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 164);
1107
+ /**
1108
+ * Describes the message blueapi.cover.v1.GetServicesResponse.
1109
+ * Use `create(GetServicesResponseSchema)` to create a new message.
1110
+ */
1111
+ exports.GetServicesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 165);
1112
+ /**
1113
+ * Describes the message blueapi.cover.v1.GetRegionsRequest.
1114
+ * Use `create(GetRegionsRequestSchema)` to create a new message.
1115
+ */
1116
+ exports.GetRegionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 166);
1117
+ /**
1118
+ * Describes the message blueapi.cover.v1.GetRegionsResponse.
1119
+ * Use `create(GetRegionsResponseSchema)` to create a new message.
1120
+ */
1121
+ exports.GetRegionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 167);
1122
+ /**
1123
+ * Describes the message blueapi.cover.v1.GetTagsRequest.
1124
+ * Use `create(GetTagsRequestSchema)` to create a new message.
1125
+ */
1126
+ exports.GetTagsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 168);
1127
+ /**
1128
+ * Describes the message blueapi.cover.v1.GetTagsResponse.
1129
+ * Use `create(GetTagsResponseSchema)` to create a new message.
1130
+ */
1131
+ exports.GetTagsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 169);
1132
+ /**
1133
+ * Describes the message blueapi.cover.v1.ListFeesRequest.
1134
+ * Use `create(ListFeesRequestSchema)` to create a new message.
1135
+ */
1136
+ exports.ListFeesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 170);
1137
+ /**
1138
+ * Describes the message blueapi.cover.v1.FeeDetails.
1139
+ * Use `create(FeeDetailsSchema)` to create a new message.
1140
+ */
1141
+ exports.FeeDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 171);
1142
+ /**
1143
+ * Describes the message blueapi.cover.v1.RestoreFeeRequest.
1144
+ * Use `create(RestoreFeeRequestSchema)` to create a new message.
1145
+ */
1146
+ exports.RestoreFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 172);
1147
+ /**
1148
+ * Describes the message blueapi.cover.v1.GetCostGroupFeeRequest.
1149
+ * Use `create(GetCostGroupFeeRequestSchema)` to create a new message.
1150
+ */
1151
+ exports.GetCostGroupFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 173);
1152
+ /**
1153
+ * Describes the message blueapi.cover.v1.FeeItem.
1154
+ * Use `create(FeeItemSchema)` to create a new message.
1155
+ */
1156
+ exports.FeeItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 174);
1157
+ /**
1158
+ * Describes the message blueapi.cover.v1.Allocator.
1159
+ * Use `create(AllocatorSchema)` to create a new message.
1160
+ */
1161
+ exports.AllocatorSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 175);
1162
+ /**
1163
+ * Describes the message blueapi.cover.v1.Criteria.
1164
+ * Use `create(CriteriaSchema)` to create a new message.
1165
+ */
1166
+ exports.CriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 176);
1167
+ /**
1168
+ * Describes the message blueapi.cover.v1.CostAllocatorDetails.
1169
+ * Use `create(CostAllocatorDetailsSchema)` to create a new message.
1170
+ */
1171
+ exports.CostAllocatorDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 177);
1172
+ /**
1173
+ * Describes the message blueapi.cover.v1.CostAllocatorRequest.
1174
+ * Use `create(CostAllocatorRequestSchema)` to create a new message.
1175
+ */
1176
+ exports.CostAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 178);
1177
+ /**
1178
+ * Describes the message blueapi.cover.v1.ListAllocatorsRequest.
1179
+ * Use `create(ListAllocatorsRequestSchema)` to create a new message.
1180
+ */
1181
+ exports.ListAllocatorsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 179);
1182
+ /**
1183
+ * Describes the message blueapi.cover.v1.CreateAllocatorRequest.
1184
+ * Use `create(CreateAllocatorRequestSchema)` to create a new message.
1185
+ */
1186
+ exports.CreateAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 180);
1187
+ /**
1188
+ * Describes the message blueapi.cover.v1.GetAllocationAttributesRequest.
1189
+ * Use `create(GetAllocationAttributesRequestSchema)` to create a new message.
1190
+ */
1191
+ exports.GetAllocationAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 181);
1192
+ /**
1193
+ * Describes the message blueapi.cover.v1.GetAllocationAttributesResponse.
1194
+ * Use `create(GetAllocationAttributesResponseSchema)` to create a new message.
1195
+ */
1196
+ exports.GetAllocationAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 182);
1197
+ /**
1198
+ * Describes the message blueapi.cover.v1.GetAllocationAttributesResponse.AllocationAttribute.
1199
+ * Use `create(GetAllocationAttributesResponse_AllocationAttributeSchema)` to create a new message.
1200
+ */
1201
+ exports.GetAllocationAttributesResponse_AllocationAttributeSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 182, 0);
1202
+ /**
1203
+ * Describes the message blueapi.cover.v1.GetAllocationSourcesRequest.
1204
+ * Use `create(GetAllocationSourcesRequestSchema)` to create a new message.
1205
+ */
1206
+ exports.GetAllocationSourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 183);
1207
+ /**
1208
+ * Describes the message blueapi.cover.v1.GetAllocationSourcesResponse.
1209
+ * Use `create(GetAllocationSourcesResponseSchema)` to create a new message.
1210
+ */
1211
+ exports.GetAllocationSourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 184);
1212
+ /**
1213
+ * Describes the message blueapi.cover.v1.GetAllocationSourcesResponse.AllocationSources.
1214
+ * Use `create(GetAllocationSourcesResponse_AllocationSourcesSchema)` to create a new message.
1215
+ */
1216
+ exports.GetAllocationSourcesResponse_AllocationSourcesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 184, 0);
1217
+ /**
1218
+ * Describes the message blueapi.cover.v1.DeleteAllocatorRequest.
1219
+ * Use `create(DeleteAllocatorRequestSchema)` to create a new message.
1220
+ */
1221
+ exports.DeleteAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 185);
1222
+ /**
1223
+ * Describes the message blueapi.cover.v1.ProxyCreateCompletionRequest.
1224
+ * Use `create(ProxyCreateCompletionRequestSchema)` to create a new message.
1225
+ */
1226
+ exports.ProxyCreateCompletionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 186);
1227
+ /**
1228
+ * Describes the message blueapi.cover.v1.ProxyCreateCompletionResponse.
1229
+ * Use `create(ProxyCreateCompletionResponseSchema)` to create a new message.
1230
+ */
1231
+ exports.ProxyCreateCompletionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 187);
1232
+ /**
1233
+ * Describes the message blueapi.cover.v1.AccountUsageDetails.
1234
+ * Use `create(AccountUsageDetailsSchema)` to create a new message.
1235
+ */
1236
+ exports.AccountUsageDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 188);
1237
+ /**
1238
+ * Describes the message blueapi.cover.v1.ListAccountUsageRequest.
1239
+ * Use `create(ListAccountUsageRequestSchema)` to create a new message.
1240
+ */
1241
+ exports.ListAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 189);
1242
+ /**
1243
+ * Describes the message blueapi.cover.v1.RestoreAccountUsageRequest.
1244
+ * Use `create(RestoreAccountUsageRequestSchema)` to create a new message.
1245
+ */
1246
+ exports.RestoreAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 190);
1247
+ /**
1248
+ * Describes the message blueapi.cover.v1.RestoreSavingsRequest.
1249
+ * Use `create(RestoreSavingsRequestSchema)` to create a new message.
1250
+ */
1251
+ exports.RestoreSavingsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 191);
1252
+ /**
1253
+ * Describes the message blueapi.cover.v1.SavingsDetails.
1254
+ * Use `create(SavingsDetailsSchema)` to create a new message.
1255
+ */
1256
+ exports.SavingsDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 192);
1257
+ /**
1258
+ * Describes the message blueapi.cover.v1.GetCostGroupAllocationRequest.
1259
+ * Use `create(GetCostGroupAllocationRequestSchema)` to create a new message.
1260
+ */
1261
+ exports.GetCostGroupAllocationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 193);
1262
+ /**
1263
+ * Describes the message blueapi.cover.v1.AllocationItem.
1264
+ * Use `create(AllocationItemSchema)` to create a new message.
1265
+ */
1266
+ exports.AllocationItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 194);
1267
+ /**
1268
+ * Describes the message blueapi.cover.v1.ProcessAuth0UserRequest.
1269
+ * Use `create(ProcessAuth0UserRequestSchema)` to create a new message.
1270
+ */
1271
+ exports.ProcessAuth0UserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 195);
1272
+ /**
1273
+ * Describes the message blueapi.cover.v1.ProcessAuth0UserResponse.
1274
+ * Use `create(ProcessAuth0UserResponseSchema)` to create a new message.
1275
+ */
1276
+ exports.ProcessAuth0UserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 196);
1277
+ /**
1278
+ * Describes the message blueapi.cover.v1.DataAccess.
1279
+ * Use `create(DataAccessSchema)` to create a new message.
1280
+ */
1281
+ exports.DataAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 197);
1282
+ /**
1283
+ * Describes the message blueapi.cover.v1.RegisterDataAccessRequest.
1284
+ * Use `create(RegisterDataAccessRequestSchema)` to create a new message.
1285
+ */
1286
+ exports.RegisterDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 198);
1287
+ /**
1288
+ * Describes the message blueapi.cover.v1.UpdateDataAccessRequest.
1289
+ * Use `create(UpdateDataAccessRequestSchema)` to create a new message.
1290
+ */
1291
+ exports.UpdateDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 199);
1292
+ /**
1293
+ * Describes the message blueapi.cover.v1.ListDataAccessRequest.
1294
+ * Use `create(ListDataAccessRequestSchema)` to create a new message.
1295
+ */
1296
+ exports.ListDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 200);
1297
+ /**
1298
+ * Describes the message blueapi.cover.v1.ListUnregisteredAccountsRequest.
1299
+ * Use `create(ListUnregisteredAccountsRequestSchema)` to create a new message.
1300
+ */
1301
+ exports.ListUnregisteredAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 201);
1302
+ /**
1303
+ * Describes the message blueapi.cover.v1.ListUnregisteredAccountsResponse.
1304
+ * Use `create(ListUnregisteredAccountsResponseSchema)` to create a new message.
1305
+ */
1306
+ exports.ListUnregisteredAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 202);
1307
+ /**
1308
+ * Describes the message blueapi.cover.v1.UnregisteredAccts.
1309
+ * Use `create(UnregisteredAcctsSchema)` to create a new message.
1310
+ */
1311
+ exports.UnregisteredAcctsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 203);
1312
+ /**
1313
+ * Describes the message blueapi.cover.v1.BillingAccountRequest.
1314
+ * Use `create(BillingAccountRequestSchema)` to create a new message.
1315
+ */
1316
+ exports.BillingAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 204);
1317
+ /**
1318
+ * Describes the message blueapi.cover.v1.GetAndDeleteDataAccessRequest.
1319
+ * Use `create(GetAndDeleteDataAccessRequestSchema)` to create a new message.
1320
+ */
1321
+ exports.GetAndDeleteDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 205);
1322
+ /**
1323
+ * Describes the message blueapi.cover.v1.AddPartnerCenterCredentialsRequest.
1324
+ * Use `create(AddPartnerCenterCredentialsRequestSchema)` to create a new message.
1325
+ */
1326
+ exports.AddPartnerCenterCredentialsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 206);
1327
+ /**
1328
+ * Describes the message blueapi.cover.v1.AddMpnSettingRequest.
1329
+ * Use `create(AddMpnSettingRequestSchema)` to create a new message.
1330
+ */
1331
+ exports.AddMpnSettingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 207);
1332
+ /**
1333
+ * Describes the message blueapi.cover.v1.GetCostGroupAttributeRequest.
1334
+ * Use `create(GetCostGroupAttributeRequestSchema)` to create a new message.
1335
+ */
1336
+ exports.GetCostGroupAttributeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 208);
1337
+ /**
1338
+ * Describes the message blueapi.cover.v1.GetCostGroupAttributeResponse.
1339
+ * Use `create(GetCostGroupAttributeResponseSchema)` to create a new message.
1340
+ */
1341
+ exports.GetCostGroupAttributeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 209);
1342
+ /**
1343
+ * Describes the message blueapi.cover.v1.GetCategoriesRequest.
1344
+ * Use `create(GetCategoriesRequestSchema)` to create a new message.
1345
+ */
1346
+ exports.GetCategoriesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 210);
1347
+ /**
1348
+ * Describes the message blueapi.cover.v1.GetCategoriesResponse.
1349
+ * Use `create(GetCategoriesResponseSchema)` to create a new message.
1350
+ */
1351
+ exports.GetCategoriesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 211);
1352
+ /**
1353
+ * Describes the message blueapi.cover.v1.GetAlertsRequest.
1354
+ * Use `create(GetAlertsRequestSchema)` to create a new message.
1355
+ */
1356
+ exports.GetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 212);
1357
+ /**
1358
+ * Describes the message blueapi.cover.v1.GetAlertsResponse.
1359
+ * Use `create(GetAlertsResponseSchema)` to create a new message.
1360
+ */
1361
+ exports.GetAlertsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 213);
1362
+ /**
1363
+ * Describes the message blueapi.cover.v1.CreateAlertRequest.
1364
+ * Use `create(CreateAlertRequestSchema)` to create a new message.
1365
+ */
1366
+ exports.CreateAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 214);
1367
+ /**
1368
+ * Describes the message blueapi.cover.v1.CreateAlertResponse.
1369
+ * Use `create(CreateAlertResponseSchema)` to create a new message.
1370
+ */
1371
+ exports.CreateAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 215);
1372
+ /**
1373
+ * Describes the message blueapi.cover.v1.GetAlertDetailsRequest.
1374
+ * Use `create(GetAlertDetailsRequestSchema)` to create a new message.
1375
+ */
1376
+ exports.GetAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 216);
1377
+ /**
1378
+ * Describes the message blueapi.cover.v1.GetAlertDetailsResponse.
1379
+ * Use `create(GetAlertDetailsResponseSchema)` to create a new message.
1380
+ */
1381
+ exports.GetAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 217);
1382
+ /**
1383
+ * Describes the message blueapi.cover.v1.DeleteAlertRequest.
1384
+ * Use `create(DeleteAlertRequestSchema)` to create a new message.
1385
+ */
1386
+ exports.DeleteAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 218);
1387
+ /**
1388
+ * Describes the message blueapi.cover.v1.DeleteAlertResponse.
1389
+ * Use `create(DeleteAlertResponseSchema)` to create a new message.
1390
+ */
1391
+ exports.DeleteAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 219);
1392
+ /**
1393
+ * Describes the message blueapi.cover.v1.UpdateAlertDetailsRequest.
1394
+ * Use `create(UpdateAlertDetailsRequestSchema)` to create a new message.
1395
+ */
1396
+ exports.UpdateAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 220);
1397
+ /**
1398
+ * Describes the message blueapi.cover.v1.UpdateAlertDetailsResponse.
1399
+ * Use `create(UpdateAlertDetailsResponseSchema)` to create a new message.
1400
+ */
1401
+ exports.UpdateAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 221);
1402
+ /**
1403
+ * Describes the message blueapi.cover.v1.GetChannelsRequest.
1404
+ * Use `create(GetChannelsRequestSchema)` to create a new message.
1405
+ */
1406
+ exports.GetChannelsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 222);
1407
+ /**
1408
+ * Describes the message blueapi.cover.v1.GetChannelsResponse.
1409
+ * Use `create(GetChannelsResponseSchema)` to create a new message.
1410
+ */
1411
+ exports.GetChannelsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 223);
1412
+ /**
1413
+ * Describes the message blueapi.cover.v1.CreateChannelRequest.
1414
+ * Use `create(CreateChannelRequestSchema)` to create a new message.
1415
+ */
1416
+ exports.CreateChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 224);
1417
+ /**
1418
+ * Describes the message blueapi.cover.v1.CreateChannelResponse.
1419
+ * Use `create(CreateChannelResponseSchema)` to create a new message.
1420
+ */
1421
+ exports.CreateChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 225);
1422
+ /**
1423
+ * Describes the message blueapi.cover.v1.GetChannelDetailsRequest.
1424
+ * Use `create(GetChannelDetailsRequestSchema)` to create a new message.
1425
+ */
1426
+ exports.GetChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 226);
1427
+ /**
1428
+ * Describes the message blueapi.cover.v1.GetChannelDetailsResponse.
1429
+ * Use `create(GetChannelDetailsResponseSchema)` to create a new message.
1430
+ */
1431
+ exports.GetChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 227);
1432
+ /**
1433
+ * Describes the message blueapi.cover.v1.DeleteChannelRequest.
1434
+ * Use `create(DeleteChannelRequestSchema)` to create a new message.
1435
+ */
1436
+ exports.DeleteChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 228);
1437
+ /**
1438
+ * Describes the message blueapi.cover.v1.DeleteChannelResponse.
1439
+ * Use `create(DeleteChannelResponseSchema)` to create a new message.
1440
+ */
1441
+ exports.DeleteChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 229);
1442
+ /**
1443
+ * Describes the message blueapi.cover.v1.UpdateChannelDetailsRequest.
1444
+ * Use `create(UpdateChannelDetailsRequestSchema)` to create a new message.
1445
+ */
1446
+ exports.UpdateChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 230);
1447
+ /**
1448
+ * Describes the message blueapi.cover.v1.UpdateChannelDetailsResponse.
1449
+ * Use `create(UpdateChannelDetailsResponseSchema)` to create a new message.
1450
+ */
1451
+ exports.UpdateChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 231);
1452
+ /**
1453
+ * Describes the message blueapi.cover.v1.GetDiscountRecommendationsRequest.
1454
+ * Use `create(GetDiscountRecommendationsRequestSchema)` to create a new message.
1455
+ */
1456
+ exports.GetDiscountRecommendationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 232);
1457
+ /**
1458
+ * Describes the message blueapi.cover.v1.GetDiscountRecommendationsResponse.
1459
+ * Use `create(GetDiscountRecommendationsResponseSchema)` to create a new message.
1460
+ */
1461
+ exports.GetDiscountRecommendationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 233);
1462
+ /**
1463
+ * Describes the message blueapi.cover.v1.GetAnomalyinCostGroupRequest.
1464
+ * Use `create(GetAnomalyinCostGroupRequestSchema)` to create a new message.
1465
+ */
1466
+ exports.GetAnomalyinCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 234);
1467
+ /**
1468
+ * Describes the message blueapi.cover.v1.AnomalyData.
1469
+ * Use `create(AnomalyDataSchema)` to create a new message.
1470
+ */
1471
+ exports.AnomalyDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 235);
1472
+ /**
1473
+ * Describes the message blueapi.cover.v1.CreateDiscountExpirationAlertRequest.
1474
+ * Use `create(CreateDiscountExpirationAlertRequestSchema)` to create a new message.
1475
+ */
1476
+ exports.CreateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 236);
1477
+ /**
1478
+ * Describes the message blueapi.cover.v1.ManipulateDiscountExpirationAlertRequest.
1479
+ * Use `create(ManipulateDiscountExpirationAlertRequestSchema)` to create a new message.
1480
+ */
1481
+ exports.ManipulateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 237);
1482
+ /**
1483
+ * Describes the message blueapi.cover.v1.UpdateDiscountExpirationAlertRequest.
1484
+ * Use `create(UpdateDiscountExpirationAlertRequestSchema)` to create a new message.
1485
+ */
1486
+ exports.UpdateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 238);
1487
+ /**
1488
+ * Describes the message blueapi.cover.v1.DiscountExpiryAlertData.
1489
+ * Use `create(DiscountExpiryAlertDataSchema)` to create a new message.
1490
+ */
1491
+ exports.DiscountExpiryAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 239);
1492
+ /**
1493
+ * Describes the message blueapi.cover.v1.ListDiscountExpirationAlertRequest.
1494
+ * Use `create(ListDiscountExpirationAlertRequestSchema)` to create a new message.
1495
+ */
1496
+ exports.ListDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 240);
1497
+ /**
1498
+ * Describes the message blueapi.cover.v1.CreateAnomalyAlertRequest.
1499
+ * Use `create(CreateAnomalyAlertRequestSchema)` to create a new message.
1500
+ */
1501
+ exports.CreateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 241);
1502
+ /**
1503
+ * Describes the message blueapi.cover.v1.ManipulateAnomalyAlertRequest.
1504
+ * Use `create(ManipulateAnomalyAlertRequestSchema)` to create a new message.
1505
+ */
1506
+ exports.ManipulateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 242);
1507
+ /**
1508
+ * Describes the message blueapi.cover.v1.AnomalyAlertData.
1509
+ * Use `create(AnomalyAlertDataSchema)` to create a new message.
1510
+ */
1511
+ exports.AnomalyAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 243);
1512
+ /**
1513
+ * Describes the message blueapi.cover.v1.ListAnomalyAlertRequest.
1514
+ * Use `create(ListAnomalyAlertRequestSchema)` to create a new message.
1515
+ */
1516
+ exports.ListAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 244);
1517
+ /**
1518
+ * Describes the message blueapi.cover.v1.UpdateAnomalyAlertRequest.
1519
+ * Use `create(UpdateAnomalyAlertRequestSchema)` to create a new message.
1520
+ */
1521
+ exports.UpdateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 245);
1522
+ /**
1523
+ * Describes the message blueapi.cover.v1.RegisterNewUserRequest.
1524
+ * Use `create(RegisterNewUserRequestSchema)` to create a new message.
1525
+ */
1526
+ exports.RegisterNewUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 246);
1527
+ /**
1528
+ * Describes the message blueapi.cover.v1.RegisterNewUserResponse.
1529
+ * Use `create(RegisterNewUserResponseSchema)` to create a new message.
1530
+ */
1531
+ exports.RegisterNewUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 247);
1532
+ /**
1533
+ * Describes the message blueapi.cover.v1.GetUserProfileRequest.
1534
+ * Use `create(GetUserProfileRequestSchema)` to create a new message.
1535
+ */
1536
+ exports.GetUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 248);
1537
+ /**
1538
+ * Describes the message blueapi.cover.v1.GetUserProfileResponse.
1539
+ * Use `create(GetUserProfileResponseSchema)` to create a new message.
1540
+ */
1541
+ exports.GetUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 249);
1542
+ /**
1543
+ * Describes the message blueapi.cover.v1.UpdateUserProfileRequest.
1544
+ * Use `create(UpdateUserProfileRequestSchema)` to create a new message.
1545
+ */
1546
+ exports.UpdateUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 250);
1547
+ /**
1548
+ * Describes the message blueapi.cover.v1.UpdateUserProfileResponse.
1549
+ * Use `create(UpdateUserProfileResponseSchema)` to create a new message.
1550
+ */
1551
+ exports.UpdateUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 251);
1552
+ /**
1553
+ * Describes the message blueapi.cover.v1.ListBudgetsRequest.
1554
+ * Use `create(ListBudgetsRequestSchema)` to create a new message.
1555
+ */
1556
+ exports.ListBudgetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 252);
1557
+ /**
1558
+ * Describes the message blueapi.cover.v1.ListBudgetsResponse.
1559
+ * Use `create(ListBudgetsResponseSchema)` to create a new message.
1560
+ */
1561
+ exports.ListBudgetsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 253);
1562
+ /**
1563
+ * Describes the message blueapi.cover.v1.GetBudgetRequest.
1564
+ * Use `create(GetBudgetRequestSchema)` to create a new message.
1565
+ */
1566
+ exports.GetBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 254);
1567
+ /**
1568
+ * Describes the message blueapi.cover.v1.GetBudgetResponse.
1569
+ * Use `create(GetBudgetResponseSchema)` to create a new message.
1570
+ */
1571
+ exports.GetBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 255);
1572
+ /**
1573
+ * Describes the message blueapi.cover.v1.CreateBudgetRequest.
1574
+ * Use `create(CreateBudgetRequestSchema)` to create a new message.
1575
+ */
1576
+ exports.CreateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 256);
1577
+ /**
1578
+ * Describes the message blueapi.cover.v1.CreateBudgetResponse.
1579
+ * Use `create(CreateBudgetResponseSchema)` to create a new message.
1580
+ */
1581
+ exports.CreateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 257);
1582
+ /**
1583
+ * Describes the message blueapi.cover.v1.DeleteBudgetRequest.
1584
+ * Use `create(DeleteBudgetRequestSchema)` to create a new message.
1585
+ */
1586
+ exports.DeleteBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 258);
1587
+ /**
1588
+ * Describes the message blueapi.cover.v1.DeleteBudgetResponse.
1589
+ * Use `create(DeleteBudgetResponseSchema)` to create a new message.
1590
+ */
1591
+ exports.DeleteBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 259);
1592
+ /**
1593
+ * Describes the message blueapi.cover.v1.UpdateBudgetRequest.
1594
+ * Use `create(UpdateBudgetRequestSchema)` to create a new message.
1595
+ */
1596
+ exports.UpdateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 260);
1597
+ /**
1598
+ * Describes the message blueapi.cover.v1.UpdateBudgetResponse.
1599
+ * Use `create(UpdateBudgetResponseSchema)` to create a new message.
1600
+ */
1601
+ exports.UpdateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 261);
1602
+ /**
1603
+ * Describes the message blueapi.cover.v1.ResolveAWSMarketplaceTokenForOnboardingRequest.
1604
+ * Use `create(ResolveAWSMarketplaceTokenForOnboardingRequestSchema)` to create a new message.
1605
+ */
1606
+ exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 262);
1607
+ /**
1608
+ * Describes the message blueapi.cover.v1.ResolveAWSMarketplaceTokenForOnboardingResponse.
1609
+ * Use `create(ResolveAWSMarketplaceTokenForOnboardingResponseSchema)` to create a new message.
1610
+ */
1611
+ exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 263);
1612
+ /**
1613
+ * Describes the message blueapi.cover.v1.GetCustomerSubscriptionStatusRequest.
1614
+ * Use `create(GetCustomerSubscriptionStatusRequestSchema)` to create a new message.
1615
+ */
1616
+ exports.GetCustomerSubscriptionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 264);
1617
+ /**
1618
+ * Describes the message blueapi.cover.v1.GetCustomerSubscriptionStatusResponse.
1619
+ * Use `create(GetCustomerSubscriptionStatusResponseSchema)` to create a new message.
1620
+ */
1621
+ exports.GetCustomerSubscriptionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 265);
1622
+ /**
1623
+ * Describes the message blueapi.cover.v1.CreateProfilingRequest.
1624
+ * Use `create(CreateProfilingRequestSchema)` to create a new message.
1625
+ */
1626
+ exports.CreateProfilingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 266);
1627
+ /**
1628
+ * Describes the message blueapi.cover.v1.CreateProfilingResponse.
1629
+ * Use `create(CreateProfilingResponseSchema)` to create a new message.
1630
+ */
1631
+ exports.CreateProfilingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 267);
1632
+ /**
1633
+ * Describes the message blueapi.cover.v1.AddInfotoMarketplaceRequest.
1634
+ * Use `create(AddInfotoMarketplaceRequestSchema)` to create a new message.
1635
+ */
1636
+ exports.AddInfotoMarketplaceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 268);
1637
+ /**
1638
+ * Describes the message blueapi.cover.v1.AddInfotoMarketplaceResponse.
1639
+ * Use `create(AddInfotoMarketplaceResponseSchema)` to create a new message.
1640
+ */
1641
+ exports.AddInfotoMarketplaceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 269);
1642
+ /**
1643
+ * Describes the message blueapi.cover.v1.GetReportSummaryRequest.
1644
+ * Use `create(GetReportSummaryRequestSchema)` to create a new message.
1645
+ */
1646
+ exports.GetReportSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 270);
1647
+ /**
1648
+ * Describes the message blueapi.cover.v1.GetReportSummaryResponse.
1649
+ * Use `create(GetReportSummaryResponseSchema)` to create a new message.
1650
+ */
1651
+ exports.GetReportSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 271);
1652
+ /**
1653
+ * Describes the message blueapi.cover.v1.ListRecommendationRequest.
1654
+ * Use `create(ListRecommendationRequestSchema)` to create a new message.
1655
+ */
1656
+ exports.ListRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 272);
1657
+ /**
1658
+ * Describes the message blueapi.cover.v1.ListRecommendationV2Request.
1659
+ * Use `create(ListRecommendationV2RequestSchema)` to create a new message.
1660
+ */
1661
+ exports.ListRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 273);
1662
+ /**
1663
+ * Describes the message blueapi.cover.v1.ListRecommendationV2Request.RateSettings.
1664
+ * Use `create(ListRecommendationV2Request_RateSettingsSchema)` to create a new message.
1665
+ */
1666
+ exports.ListRecommendationV2Request_RateSettingsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 273, 0);
1667
+ /**
1668
+ * Describes the message blueapi.cover.v1.ListRecommendationResponse.
1669
+ * Use `create(ListRecommendationResponseSchema)` to create a new message.
1670
+ */
1671
+ exports.ListRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 274);
1672
+ /**
1673
+ * Describes the message blueapi.cover.v1.ListRecommendationResponse.PurchaseOption.
1674
+ * Use `create(ListRecommendationResponse_PurchaseOptionSchema)` to create a new message.
1675
+ */
1676
+ exports.ListRecommendationResponse_PurchaseOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 274, 0);
1677
+ /**
1678
+ * Describes the message blueapi.cover.v1.GetRecommendationRequest.
1679
+ * Use `create(GetRecommendationRequestSchema)` to create a new message.
1680
+ */
1681
+ exports.GetRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 275);
1682
+ /**
1683
+ * Describes the message blueapi.cover.v1.GetRecommendationResponse.
1684
+ * Use `create(GetRecommendationResponseSchema)` to create a new message.
1685
+ */
1686
+ exports.GetRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 276);
1687
+ /**
1688
+ * Describes the message blueapi.cover.v1.ExecuteOptimizationRequest.
1689
+ * Use `create(ExecuteOptimizationRequestSchema)` to create a new message.
1690
+ */
1691
+ exports.ExecuteOptimizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 277);
1692
+ /**
1693
+ * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.
1694
+ * Use `create(ExecuteOptimizationResponseSchema)` to create a new message.
1695
+ */
1696
+ exports.ExecuteOptimizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278);
1697
+ /**
1698
+ * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.AWSOption.
1699
+ * Use `create(ExecuteOptimizationResponse_AWSOptionSchema)` to create a new message.
1700
+ */
1701
+ exports.ExecuteOptimizationResponse_AWSOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278, 0);
1702
+ /**
1703
+ * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.GCPOption.
1704
+ * Use `create(ExecuteOptimizationResponse_GCPOptionSchema)` to create a new message.
1705
+ */
1706
+ exports.ExecuteOptimizationResponse_GCPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278, 1);
1707
+ /**
1708
+ * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.AzureCSPOption.
1709
+ * Use `create(ExecuteOptimizationResponse_AzureCSPOptionSchema)` to create a new message.
1710
+ */
1711
+ exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278, 2);
1712
+ /**
1713
+ * Describes the message blueapi.cover.v1.MarkAsExecutedRequest.
1714
+ * Use `create(MarkAsExecutedRequestSchema)` to create a new message.
1715
+ */
1716
+ exports.MarkAsExecutedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 279);
1717
+ /**
1718
+ * Describes the message blueapi.cover.v1.MarkAsExecutedResponse.
1719
+ * Use `create(MarkAsExecutedResponseSchema)` to create a new message.
1720
+ */
1721
+ exports.MarkAsExecutedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 280);
1722
+ /**
1723
+ * Describes the message blueapi.cover.v1.UndoExecutedRecommendationRequest.
1724
+ * Use `create(UndoExecutedRecommendationRequestSchema)` to create a new message.
1725
+ */
1726
+ exports.UndoExecutedRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 281);
1727
+ /**
1728
+ * Describes the message blueapi.cover.v1.UndoExecutedRecommendationResponse.
1729
+ * Use `create(UndoExecutedRecommendationResponseSchema)` to create a new message.
1730
+ */
1731
+ exports.UndoExecutedRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 282);
1732
+ /**
1733
+ * Describes the message blueapi.cover.v1.OptimizationHistoryRequest.
1734
+ * Use `create(OptimizationHistoryRequestSchema)` to create a new message.
1735
+ */
1736
+ exports.OptimizationHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 283);
1737
+ /**
1738
+ * Describes the message blueapi.cover.v1.OptimizationHistoryResponse.
1739
+ * Use `create(OptimizationHistoryResponseSchema)` to create a new message.
1740
+ */
1741
+ exports.OptimizationHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 284);
1742
+ /**
1743
+ * Describes the message blueapi.cover.v1.SetCostGroupEventIndicatorRequest.
1744
+ * Use `create(SetCostGroupEventIndicatorRequestSchema)` to create a new message.
1745
+ */
1746
+ exports.SetCostGroupEventIndicatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 285);
1747
+ /**
1748
+ * Describes the message blueapi.cover.v1.SetCostGroupEventIndicatorResponse.
1749
+ * Use `create(SetCostGroupEventIndicatorResponseSchema)` to create a new message.
1750
+ */
1751
+ exports.SetCostGroupEventIndicatorResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 286);
1752
+ /**
1753
+ * Describes the message blueapi.cover.v1.SetCostGroupAnomalyOptionsRequest.
1754
+ * Use `create(SetCostGroupAnomalyOptionsRequestSchema)` to create a new message.
1755
+ */
1756
+ exports.SetCostGroupAnomalyOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 287);
1757
+ /**
1758
+ * Describes the message blueapi.cover.v1.SetCostGroupAnomalyOptionsResponse.
1759
+ * Use `create(SetCostGroupAnomalyOptionsResponseSchema)` to create a new message.
1760
+ */
1761
+ exports.SetCostGroupAnomalyOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 288);
1762
+ /**
1763
+ * Describes the message blueapi.cover.v1.SetOrgFiscalMonthRequest.
1764
+ * Use `create(SetOrgFiscalMonthRequestSchema)` to create a new message.
1765
+ */
1766
+ exports.SetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 289);
1767
+ /**
1768
+ * Describes the message blueapi.cover.v1.SetOrgFiscalMonthResponse.
1769
+ * Use `create(SetOrgFiscalMonthResponseSchema)` to create a new message.
1770
+ */
1771
+ exports.SetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 290);
1772
+ /**
1773
+ * Describes the message blueapi.cover.v1.GetOrgFiscalMonthRequest.
1774
+ * Use `create(GetOrgFiscalMonthRequestSchema)` to create a new message.
1775
+ */
1776
+ exports.GetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 291);
1777
+ /**
1778
+ * Describes the message blueapi.cover.v1.GetOrgFiscalMonthResponse.
1779
+ * Use `create(GetOrgFiscalMonthResponseSchema)` to create a new message.
1780
+ */
1781
+ exports.GetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 292);
1782
+ /**
1783
+ * Describes the message blueapi.cover.v1.TransferOrganizationRequest.
1784
+ * Use `create(TransferOrganizationRequestSchema)` to create a new message.
1785
+ */
1786
+ exports.TransferOrganizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 293);
1787
+ /**
1788
+ * Describes the message blueapi.cover.v1.TransferOrganizationResponse.
1789
+ * Use `create(TransferOrganizationResponseSchema)` to create a new message.
1790
+ */
1791
+ exports.TransferOrganizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 294);
1792
+ /**
1793
+ * Describes the message blueapi.cover.v1.UpdateCostGroupCreationUIRequest.
1794
+ * Use `create(UpdateCostGroupCreationUIRequestSchema)` to create a new message.
1795
+ */
1796
+ exports.UpdateCostGroupCreationUIRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 295);
1797
+ /**
1798
+ * Describes the message blueapi.cover.v1.UpdateCostGroupCreationUIResponse.
1799
+ * Use `create(UpdateCostGroupCreationUIResponseSchema)` to create a new message.
1800
+ */
1801
+ exports.UpdateCostGroupCreationUIResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 296);
1802
+ /**
1803
+ * Describes the message blueapi.cover.v1.ListUnitTypesRequest.
1804
+ * Use `create(ListUnitTypesRequestSchema)` to create a new message.
1805
+ */
1806
+ exports.ListUnitTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 297);
1807
+ /**
1808
+ * Describes the message blueapi.cover.v1.ListUnitTypesResponse.
1809
+ * Use `create(ListUnitTypesResponseSchema)` to create a new message.
1810
+ */
1811
+ exports.ListUnitTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 298);
1812
+ /**
1813
+ * Describes the message blueapi.cover.v1.CreateUnitTypeRequest.
1814
+ * Use `create(CreateUnitTypeRequestSchema)` to create a new message.
1815
+ */
1816
+ exports.CreateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 299);
1817
+ /**
1818
+ * Describes the message blueapi.cover.v1.CreateUnitTypeResponse.
1819
+ * Use `create(CreateUnitTypeResponseSchema)` to create a new message.
1820
+ */
1821
+ exports.CreateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 300);
1822
+ /**
1823
+ * Describes the message blueapi.cover.v1.GetUnitTypeRequest.
1824
+ * Use `create(GetUnitTypeRequestSchema)` to create a new message.
1825
+ */
1826
+ exports.GetUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 301);
1827
+ /**
1828
+ * Describes the message blueapi.cover.v1.GetUnitTypeResponse.
1829
+ * Use `create(GetUnitTypeResponseSchema)` to create a new message.
1830
+ */
1831
+ exports.GetUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 302);
1832
+ /**
1833
+ * Describes the message blueapi.cover.v1.UpdateUnitTypeRequest.
1834
+ * Use `create(UpdateUnitTypeRequestSchema)` to create a new message.
1835
+ */
1836
+ exports.UpdateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 303);
1837
+ /**
1838
+ * Describes the message blueapi.cover.v1.UpdateUnitTypeResponse.
1839
+ * Use `create(UpdateUnitTypeResponseSchema)` to create a new message.
1840
+ */
1841
+ exports.UpdateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 304);
1842
+ /**
1843
+ * Describes the message blueapi.cover.v1.DeleteUnitTypeRequest.
1844
+ * Use `create(DeleteUnitTypeRequestSchema)` to create a new message.
1845
+ */
1846
+ exports.DeleteUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 305);
1847
+ /**
1848
+ * Describes the message blueapi.cover.v1.DeleteUnitTypeResponse.
1849
+ * Use `create(DeleteUnitTypeResponseSchema)` to create a new message.
1850
+ */
1851
+ exports.DeleteUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 306);
1852
+ /**
1853
+ * Describes the message blueapi.cover.v1.MergeUnitsRequest.
1854
+ * Use `create(MergeUnitsRequestSchema)` to create a new message.
1855
+ */
1856
+ exports.MergeUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 307);
1857
+ /**
1858
+ * Describes the message blueapi.cover.v1.MergeUnitsResponse.
1859
+ * Use `create(MergeUnitsResponseSchema)` to create a new message.
1860
+ */
1861
+ exports.MergeUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 308);
1862
+ /**
1863
+ * Describes the message blueapi.cover.v1.ListSuggestedUnitsRequest.
1864
+ * Use `create(ListSuggestedUnitsRequestSchema)` to create a new message.
1865
+ */
1866
+ exports.ListSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 309);
1867
+ /**
1868
+ * Describes the message blueapi.cover.v1.ListSuggestedUnitsResponse.
1869
+ * Use `create(ListSuggestedUnitsResponseSchema)` to create a new message.
1870
+ */
1871
+ exports.ListSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 310);
1872
+ /**
1873
+ * Describes the message blueapi.cover.v1.MergeSuggestedUnitsRequest.
1874
+ * Use `create(MergeSuggestedUnitsRequestSchema)` to create a new message.
1875
+ */
1876
+ exports.MergeSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 311);
1877
+ /**
1878
+ * Describes the message blueapi.cover.v1.MergeSuggestedUnitsResponse.
1879
+ * Use `create(MergeSuggestedUnitsResponseSchema)` to create a new message.
1880
+ */
1881
+ exports.MergeSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 312);
1882
+ /**
1883
+ * Describes the message blueapi.cover.v1.CreateUnitFromSuggestedRequest.
1884
+ * Use `create(CreateUnitFromSuggestedRequestSchema)` to create a new message.
1885
+ */
1886
+ exports.CreateUnitFromSuggestedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 313);
1887
+ /**
1888
+ * Describes the message blueapi.cover.v1.CreateUnitFromSuggestedResponse.
1889
+ * Use `create(CreateUnitFromSuggestedResponseSchema)` to create a new message.
1890
+ */
1891
+ exports.CreateUnitFromSuggestedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 314);
1892
+ /**
1893
+ * Describes the message blueapi.cover.v1.ListSharedResourcesRequest.
1894
+ * Use `create(ListSharedResourcesRequestSchema)` to create a new message.
1895
+ */
1896
+ exports.ListSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 315);
1897
+ /**
1898
+ * Describes the message blueapi.cover.v1.ListSharedResourcesResponse.
1899
+ * Use `create(ListSharedResourcesResponseSchema)` to create a new message.
1900
+ */
1901
+ exports.ListSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 316);
1902
+ /**
1903
+ * Describes the message blueapi.cover.v1.CreateSharedResourcesRequest.
1904
+ * Use `create(CreateSharedResourcesRequestSchema)` to create a new message.
1905
+ */
1906
+ exports.CreateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 317);
1907
+ /**
1908
+ * Describes the message blueapi.cover.v1.CreateSharedResourcesResponse.
1909
+ * Use `create(CreateSharedResourcesResponseSchema)` to create a new message.
1910
+ */
1911
+ exports.CreateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 318);
1912
+ /**
1913
+ * Describes the message blueapi.cover.v1.GetSharedResourcesRequest.
1914
+ * Use `create(GetSharedResourcesRequestSchema)` to create a new message.
1915
+ */
1916
+ exports.GetSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 319);
1917
+ /**
1918
+ * Describes the message blueapi.cover.v1.GetSharedResourcesResponse.
1919
+ * Use `create(GetSharedResourcesResponseSchema)` to create a new message.
1920
+ */
1921
+ exports.GetSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 320);
1922
+ /**
1923
+ * Describes the message blueapi.cover.v1.UpdateSharedResourcesRequest.
1924
+ * Use `create(UpdateSharedResourcesRequestSchema)` to create a new message.
1925
+ */
1926
+ exports.UpdateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 321);
1927
+ /**
1928
+ * Describes the message blueapi.cover.v1.UpdateSharedResourcesResponse.
1929
+ * Use `create(UpdateSharedResourcesResponseSchema)` to create a new message.
1930
+ */
1931
+ exports.UpdateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 322);
1932
+ /**
1933
+ * Describes the message blueapi.cover.v1.DeleteSharedResourcesRequest.
1934
+ * Use `create(DeleteSharedResourcesRequestSchema)` to create a new message.
1935
+ */
1936
+ exports.DeleteSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 323);
1937
+ /**
1938
+ * Describes the message blueapi.cover.v1.DeleteSharedResourcesResponse.
1939
+ * Use `create(DeleteSharedResourcesResponseSchema)` to create a new message.
1940
+ */
1941
+ exports.DeleteSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 324);
1942
+ /**
1943
+ * Describes the message blueapi.cover.v1.ListUnitMetricsRequest.
1944
+ * Use `create(ListUnitMetricsRequestSchema)` to create a new message.
1945
+ */
1946
+ exports.ListUnitMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 325);
1947
+ /**
1948
+ * Describes the message blueapi.cover.v1.ListUnitMetricsResponse.
1949
+ * Use `create(ListUnitMetricsResponseSchema)` to create a new message.
1950
+ */
1951
+ exports.ListUnitMetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 326);
1952
+ /**
1953
+ * Describes the message blueapi.cover.v1.CreateUnitMetricRequest.
1954
+ * Use `create(CreateUnitMetricRequestSchema)` to create a new message.
1955
+ */
1956
+ exports.CreateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 327);
1957
+ /**
1958
+ * Describes the message blueapi.cover.v1.CreateUnitMetricResponse.
1959
+ * Use `create(CreateUnitMetricResponseSchema)` to create a new message.
1960
+ */
1961
+ exports.CreateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 328);
1962
+ /**
1963
+ * Describes the message blueapi.cover.v1.GetUnitMetricRequest.
1964
+ * Use `create(GetUnitMetricRequestSchema)` to create a new message.
1965
+ */
1966
+ exports.GetUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 329);
1967
+ /**
1968
+ * Describes the message blueapi.cover.v1.GetUnitMetricResponse.
1969
+ * Use `create(GetUnitMetricResponseSchema)` to create a new message.
1970
+ */
1971
+ exports.GetUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 330);
1972
+ /**
1973
+ * Describes the message blueapi.cover.v1.UpdateUnitMetricRequest.
1974
+ * Use `create(UpdateUnitMetricRequestSchema)` to create a new message.
1975
+ */
1976
+ exports.UpdateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 331);
1977
+ /**
1978
+ * Describes the message blueapi.cover.v1.UpdateUnitMetricResponse.
1979
+ * Use `create(UpdateUnitMetricResponseSchema)` to create a new message.
1980
+ */
1981
+ exports.UpdateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 332);
1982
+ /**
1983
+ * Describes the message blueapi.cover.v1.DeleteUnitMetricRequest.
1984
+ * Use `create(DeleteUnitMetricRequestSchema)` to create a new message.
1985
+ */
1986
+ exports.DeleteUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 333);
1987
+ /**
1988
+ * Describes the message blueapi.cover.v1.DeleteUnitMetricResponse.
1989
+ * Use `create(DeleteUnitMetricResponseSchema)` to create a new message.
1990
+ */
1991
+ exports.DeleteUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 334);
1992
+ /**
1993
+ * Describes the message blueapi.cover.v1.PreviewGoogleSheetRequest.
1994
+ * Use `create(PreviewGoogleSheetRequestSchema)` to create a new message.
1995
+ */
1996
+ exports.PreviewGoogleSheetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 335);
1997
+ /**
1998
+ * Describes the message blueapi.cover.v1.PreviewGoogleSheetResponse.
1999
+ * Use `create(PreviewGoogleSheetResponseSchema)` to create a new message.
2000
+ */
2001
+ exports.PreviewGoogleSheetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 336);
2002
+ /**
2003
+ * Describes the message blueapi.cover.v1.ConfirmGoogleSheetAccessRequest.
2004
+ * Use `create(ConfirmGoogleSheetAccessRequestSchema)` to create a new message.
2005
+ */
2006
+ exports.ConfirmGoogleSheetAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 337);
2007
+ /**
2008
+ * Describes the message blueapi.cover.v1.ConfirmGoogleSheetAccessResponse.
2009
+ * Use `create(ConfirmGoogleSheetAccessResponseSchema)` to create a new message.
2010
+ */
2011
+ exports.ConfirmGoogleSheetAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 338);
2012
+ /**
2013
+ * Describes the message blueapi.cover.v1.GetCloudwatchMetadataRequest.
2014
+ * Use `create(GetCloudwatchMetadataRequestSchema)` to create a new message.
2015
+ */
2016
+ exports.GetCloudwatchMetadataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 339);
2017
+ /**
2018
+ * Describes the message blueapi.cover.v1.GetCloudwatchMetadataResponse.
2019
+ * Use `create(GetCloudwatchMetadataResponseSchema)` to create a new message.
2020
+ */
2021
+ exports.GetCloudwatchMetadataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 340);
2022
+ /**
2023
+ * Describes the message blueapi.cover.v1.GetCloudwatchMetadataResponse.Dimension.
2024
+ * Use `create(GetCloudwatchMetadataResponse_DimensionSchema)` to create a new message.
2025
+ */
2026
+ exports.GetCloudwatchMetadataResponse_DimensionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 340, 0);
2027
+ /**
2028
+ * Describes the message blueapi.cover.v1.GetDiscountPlanRequest.
2029
+ * Use `create(GetDiscountPlanRequestSchema)` to create a new message.
2030
+ */
2031
+ exports.GetDiscountPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 341);
2032
+ /**
2033
+ * Describes the message blueapi.cover.v1.GetDiscountPlanResponse.
2034
+ * Use `create(GetDiscountPlanResponseSchema)` to create a new message.
2035
+ */
2036
+ exports.GetDiscountPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 342);
2037
+ /**
2038
+ * Describes the message blueapi.cover.v1.ListNonperformingRateRequest.
2039
+ * Use `create(ListNonperformingRateRequestSchema)` to create a new message.
2040
+ */
2041
+ exports.ListNonperformingRateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 343);
2042
+ /**
2043
+ * Describes the message blueapi.cover.v1.ListNonperformingRateResponse.
2044
+ * Use `create(ListNonperformingRateResponseSchema)` to create a new message.
2045
+ */
2046
+ exports.ListNonperformingRateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 344);
2047
+ /**
2048
+ * Describes the message blueapi.cover.v1.ListNonperformingRateResponse.Nonperforming.
2049
+ * Use `create(ListNonperformingRateResponse_NonperformingSchema)` to create a new message.
2050
+ */
2051
+ exports.ListNonperformingRateResponse_NonperformingSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 344, 0);
2052
+ /**
2053
+ * Status of upload file
2054
+ *
2055
+ * @generated from enum blueapi.cover.v1.Status
2056
+ */
2057
+ var Status;
2058
+ (function (Status) {
2059
+ /**
2060
+ * @generated from enum value: PENDING = 0;
2061
+ */
2062
+ Status[Status["PENDING"] = 0] = "PENDING";
2063
+ /**
2064
+ * @generated from enum value: IN_PROGRESS = 1;
2065
+ */
2066
+ Status[Status["IN_PROGRESS"] = 1] = "IN_PROGRESS";
2067
+ /**
2068
+ * @generated from enum value: SUCCESS = 2;
2069
+ */
2070
+ Status[Status["SUCCESS"] = 2] = "SUCCESS";
2071
+ /**
2072
+ * @generated from enum value: FAILED = 3;
2073
+ */
2074
+ Status[Status["FAILED"] = 3] = "FAILED";
2075
+ })(Status || (exports.Status = Status = {}));
2076
+ /**
2077
+ * Describes the enum blueapi.cover.v1.Status.
2078
+ */
2079
+ exports.StatusSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 0);
2080
+ /**
2081
+ * Cover service definition.
2082
+ *
2083
+ * @generated from service blueapi.cover.v1.Cover
2084
+ */
2085
+ exports.Cover = (0, codegenv2_1.serviceDesc)(exports.file_cover_v1_cover, 0);