@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,262 @@
1
+ "use strict";
2
+ // @generated by protoc-gen-es v2.7.0 with parameter "target=ts"
3
+ // @generated from file api/cover/optimizationrecommendation.proto (package blueapi.api.cover, syntax proto3)
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.S3IncompleteMultiPartUploadAbortConfigurationSchema = exports.HighErrorRatesLambdaSchema = exports.OtherRecommendationDetailsSchema = exports.IdleLoadBalancerDetailsSchema = exports.IdleRdsDetailsSchema = exports.ElasticIpAddressDetailsSchema = exports.EbsVolumeDetailsSchema = exports.DeleteRecommendationDetailsSchema = exports.StopInstanceRecommendationDetailsSchema = exports.MigrateEC2DetailsSchema = exports.MigrateRecommendationDetailsSchema = exports.CurrentEBSDetailsSchema = exports.EBSRecommendationDetailsSchema = exports.EBSDetailsSchema = exports.EC2UpgadeDetailsSchema = exports.UpgradeEC2DetailsSchema = exports.UpgradeRecommendationDetailsSchema = exports.CostCalculationSchema = exports.UsageTypesSchema = exports.ResourceDetailsSchema = exports.EcsRightSizingRecommendationDetailsSchema = exports.LambdaRightSizingRecommendationDetailsSchema = exports.UtilizationDataSchema = exports.EC2ModifyRecommendationDetailsSchema = exports.CurrentEC2Details_OtherDetailsSchema = exports.CurrentEC2DetailsSchema = exports.EC2rightSizingDetailsSchema = exports.RDSDBInstanceStorage_DetailsSchema = exports.RDSDBInstanceStorageSchema = exports.RDSDBInstance_DetailsSchema = exports.RDSDBInstanceSchema = exports.RDSRightsizingDetailsSchema = exports.RDSUpgradeDetailsSchema = exports.MigrateRDSDetailsSchema = exports.StopRDSDetailsSchema = exports.RightSizingRecommendationDetailsSchema = exports.EstOutcomeFromSPRecommendationSchema = exports.SPCurrentUtilizationDetailsSchema = exports.SavingsPlanRecommendationDetailsSchema = exports.RedshiftDetailsSchema = exports.RDSDetailsSchema = exports.ESDetailsSchema = exports.ElasticCacheDetailsSchema = exports.EC2DetailsSchema = exports.MemoryDBDetailsSchema = exports.EstOutcomeFromPurchaseRIRecommendationSchema = exports.PurchaseRIRecommendationDetailsSchema = exports.AWSRecommendationsSchema = exports.ExecutedRecommendationDetailsSchema = exports.file_api_cover_optimizationrecommendation = void 0;
7
+ exports.StopEC2InstanceRecommendationDetailsSchema = void 0;
8
+ const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
9
+ /**
10
+ * Describes the file api/cover/optimizationrecommendation.proto.
11
+ */
12
+ exports.file_api_cover_optimizationrecommendation = (0, codegenv2_1.fileDesc)("CiphcGkvY292ZXIvb3B0aW1pemF0aW9ucmVjb21tZW5kYXRpb24ucHJvdG8SEWJsdWVhcGkuYXBpLmNvdmVyIqsCCh1FeGVjdXRlZFJlY29tbWVuZGF0aW9uRGV0YWlscxIYChByZWNvbW1lbmRhdGlvbklkGAEgASgJEhUKDXJlY29tbWVuZGF0b24YAiABKAkSDgoGdGFyZ2V0GAMgASgJEhMKC2FjY291bnROYW1lGAQgASgJEg8KB3NlcnZpY2UYBSABKAkSFQoNY29tcGxldGVkRGF0ZRgGIAEoCRISCgplc3RTYXZpbmdzGAcgASgBEg8KB2VzdENvc3QYCCABKAESDgoGdmVuZG9yGAkgASgJEhAKCGNhdGVnb3J5GAogASgJEhEKCWRhdGVBZGRlZBgLIAEoCRIWCg5wZXJzb25JbkNoYXJnZRgMIAEoCRIaChJvcHRpbWl6YXRpb25TdGF0dXMYDSABKAki7wgKEkFXU1JlY29tbWVuZGF0aW9ucxIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSEwoLYWNjb3VudE5hbWUYAyABKAkSEgoKaW5zdGFuY2VJZBgEIAEoCRIUCgxpbnN0YW5jZU5hbWUYBSABKAkSDwoHc2VydmljZRgGIAEoCRIOCgZzb3VyY2UYByABKAkSEQoJY29zdEdyb3VwGAggASgJEhYKDnJlY29tbWVuZGF0aW9uGAkgASgJEg4KBnJlZ2lvbhgKIAEoCRISCgplc3RzYXZpbmdzGAsgASgBEg8KB2VzdGNvc3QYDCABKAESHAoUZXN0c2F2aW5nc1BlcmNlbnRhZ2UYDSABKAESEwoLcmVzb3VyY2VBcm4YDiABKAkSFQoNcmVzdGFydE5lZWRlZBgPIAEoCBIYChByb2xsYmFja1Bvc3NpYmxlGBAgASgIEhUKDWxhc3RVcGRhdGVkQXQYESABKAkSGwoTcmVjb21tZW5kYXRpb25Hcm91cBgaIAEoCRIQCghjYXRlZ29yeRgbIAEoCRJbCh9wdXJjaGFzZVJJUmVjb21tZW5kYXRpb25EZXRhaWxzGBIgASgLMjIuYmx1ZWFwaS5hcGkuY292ZXIuUHVyY2hhc2VSSVJlY29tbWVuZGF0aW9uRGV0YWlscxJdCiBzYXZpbmdzUGxhblJlY29tbWVuZGF0aW9uRGV0YWlscxgTIAEoCzIzLmJsdWVhcGkuYXBpLmNvdmVyLlNhdmluZ3NQbGFuUmVjb21tZW5kYXRpb25EZXRhaWxzEl0KIHJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25EZXRhaWxzGBQgASgLMjMuYmx1ZWFwaS5hcGkuY292ZXIuUmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbkRldGFpbHMSVQocdXBncmFkZVJlY29tbWVuZGF0aW9uRGV0YWlscxgVIAEoCzIvLmJsdWVhcGkuYXBpLmNvdmVyLlVwZ3JhZGVSZWNvbW1lbmRhdGlvbkRldGFpbHMSVQocbWlncmF0ZVJlY29tbWVuZGF0aW9uRGV0YWlscxgWIAEoCzIvLmJsdWVhcGkuYXBpLmNvdmVyLk1pZ3JhdGVSZWNvbW1lbmRhdGlvbkRldGFpbHMSXwohc3RvcEluc3RhbmNlUmVjb21tZW5kYXRpb25EZXRhaWxzGBcgASgLMjQuYmx1ZWFwaS5hcGkuY292ZXIuU3RvcEluc3RhbmNlUmVjb21tZW5kYXRpb25EZXRhaWxzElMKG2RlbGV0ZVJlY29tbWVuZGF0aW9uRGV0YWlscxgYIAEoCzIuLmJsdWVhcGkuYXBpLmNvdmVyLkRlbGV0ZVJlY29tbWVuZGF0aW9uRGV0YWlscxJRChpvdGhlclJlY29tbWVuZGF0aW9uRGV0YWlscxgZIAEoCzItLmJsdWVhcGkuYXBpLmNvdmVyLk90aGVyUmVjb21tZW5kYXRpb25EZXRhaWxzIoQGCh9QdXJjaGFzZVJJUmVjb21tZW5kYXRpb25EZXRhaWxzEjEKCmVjMk9wdGlvbnMYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5FQzJEZXRhaWxzEkMKE2VsYXN0aWNDYWNoZU9wdGlvbnMYAiABKAsyJi5ibHVlYXBpLmFwaS5jb3Zlci5FbGFzdGljQ2FjaGVEZXRhaWxzEi8KCWVzT3B0aW9ucxgDIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkVTRGV0YWlscxIxCgpyZHNPcHRpb25zGAQgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuUkRTRGV0YWlscxI7Cg9yZWRzaGlmdE9wdGlvbnMYBSABKAsyIi5ibHVlYXBpLmFwaS5jb3Zlci5SZWRzaGlmdERldGFpbHMSOwoPbWVtb3J5RGJPcHRpb25zGBMgASgLMiIuYmx1ZWFwaS5hcGkuY292ZXIuTWVtb3J5REJEZXRhaWxzEiIKGnJlY29tbWVuZGVkTm9ybWFsaXplZFVuaXRzGAYgASgFEi0KJXJlY29tbWVuZGVkTnVtYmVyT2ZJbnN0YW5jZVRvUHVyY2hhc2UYByABKAUSFQoNcGF5bWVudE9wdGlvbhgIIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAkgASgJEgwKBHRlcm0YCiABKAkSEwoLdXBmcm9udENvc3QYCyABKAESFAoMaW5zdGFuY2VUeXBlGAwgASgJEhAKCHBsYXRmb3JtGA0gASgJEg4KBnJlZ2lvbhgOIAEoCRIYChBzaXplRmxleEVsaWdpYmxlGA8gASgIEg8KB3RlbmFuY3kYECABKAkSGQoRY3VycmVudEdlbmVyYXRpb24YESABKAgSaQomZXN0T3V0Y29tZUZyb21QdXJjaGFzZVJJUmVjb21tZW5kYXRpb24YEiABKAsyOS5ibHVlYXBpLmFwaS5jb3Zlci5Fc3RPdXRjb21lRnJvbVB1cmNoYXNlUklSZWNvbW1lbmRhdGlvbiK2AwomRXN0T3V0Y29tZUZyb21QdXJjaGFzZVJJUmVjb21tZW5kYXRpb24SFgoOYXZlVXRpbGl6YXRpb24YASABKAESJQodYXZlTm9ybWFsaXplZFVuaXRzVXNlZFBlckhvdXIYAiABKAESJgoeYXZlTnVtYmVyb2ZJbnN0YW5jZVVzZWRQZXJIb3VyGAMgASgBEhkKEWJyZWFrRXZlbkluTW9udGhzGAQgASgBEhsKE21vbnRobHlPbkRlbWFuZENvc3QYBSABKAESFQoNbW9udGhseVJJQ29zdBgGIAEoARIWCg5tb250aGx5U2F2aW5ncxgHIAEoARIgChhtb250aGx5U2F2aW5nc1BlcmNlbnRhZ2UYCCABKAESJQodbWF4Tm9ybWFsaXplZFVuaXRzVXNlZFBlckhvdXIYCSABKAESJgoebWF4TnVtYmVyT2ZJbnN0YW5jZVVzZWRQZXJIb3VyGAogASgBEiUKHW1pbk5vcm1hbGl6ZWRVbml0c1VzZWRQZXJIb3VyGAsgASgBEiYKHm1pbk51bWJlck9mSW5zdGFuY2VVc2VkUGVySG91chgMIAEoASIzCg9NZW1vcnlEQkRldGFpbHMSDgoGZmFtaWx5GAEgASgJEhAKCG5vZGVUeXBlGAIgASgJIlUKCkVDMkRldGFpbHMSFAoMaW5zdGFuY2VUeXBlGAEgASgJEg8KB3RlbmFuY3kYAiABKAkSDgoGZmFtaWx5GAMgASgJEhAKCHBsYXRmb3JtGAQgASgJIlIKE0VsYXN0aWNDYWNoZURldGFpbHMSGQoRY3VycmVudEdlbmVyYXRpb24YASABKAgSEAoIbm9kZVR5cGUYAiABKAkSDgoGZmFtaWx5GAMgASgJIlMKCUVTRGV0YWlscxIZChFjdXJyZW50R2VuZXJhdGlvbhgBIAEoCBIVCg1pbnN0YW5jZUNsYXNzGAIgASgJEhQKDGluc3RhbmNlU2l6ZRgDIAEoCSKIAQoKUkRTRGV0YWlscxIRCglkYkVkaXRpb24YASABKAkSEAoIZGJFbmdpbmUYAiABKAkSGQoRZGVwbG95bWVudE9wdGlvbnMYAyABKAkSDgoGZmFtaWx5GAQgASgJEhQKDGluc3RhbmNlVHlwZRgFIAEoCRIUCgxsaWNlbnNlTW9kZWwYBiABKAkiTgoPUmVkc2hpZnREZXRhaWxzEhkKEWN1cnJlbnRHZW5lcmF0aW9uGAEgASgIEhAKCG5vZGVUeXBlGAIgASgJEg4KBmZhbWlseRgDIAEoCSLxAgogU2F2aW5nc1BsYW5SZWNvbW1lbmRhdGlvbkRldGFpbHMSFAoMY3VycmVuY3lDb2RlGAEgASgJEiIKGmhvdXJseUNvbW1pdG1lbnRUb1B1cmNoYXNlGAIgASgBEhIKCm9mZmVyaW5nSWQYAyABKAkSFQoNcGF5bWVudE9wdGlvbhgEIAEoCRIXCg9zYXZpbmdzUGxhblR5cGUYBSABKAkSDAoEdGVybRgGIAEoCRITCgt1cGZyb250Q29zdBgHIAEoARJRChljdXJyZW50VXRpbGl6YXRpb25EZXRhaWxzGAggASgLMi4uYmx1ZWFwaS5hcGkuY292ZXIuU1BDdXJyZW50VXRpbGl6YXRpb25EZXRhaWxzElkKHmVzdE91dGNvbWVGcm9tU1BSZWNvbW1lbmRhdGlvbhgJIAEoCzIxLmJsdWVhcGkuYXBpLmNvdmVyLkVzdE91dGNvbWVGcm9tU1BSZWNvbW1lbmRhdGlvbiLfAQobU1BDdXJyZW50VXRpbGl6YXRpb25EZXRhaWxzEhMKC2F2ZUNvdmVyYWdlGAEgASgBEhwKFGF2ZUhvdXJPbkRlbWFuZFNwZW5kGAIgASgBEh4KFm1heEhvdXJseU9uZGVtYW5kU3BlbmQYAyABKAESHgoWbWluSG91cmx5T25kZW1hbmRTcGVuZBgEIAEoARIgChhleGlzdGluZ0hvdXJseUNvbW1pdG1lbnQYBSABKAESKwojZXN0T25EZW1hbmRDb3N0V2l0aEhvdXJseUNvbW1pdG1lbnQYBiABKAEiwgEKHkVzdE91dGNvbWVGcm9tU1BSZWNvbW1lbmRhdGlvbhITCgthdmVDb3ZlcmFnZRgBIAEoARIWCg5hdmVVdGlsaXphdGlvbhgCIAEoARIcChRtb250aGx5U2F2aW5nc0Ftb3VudBgDIAEoARIUCgxvbkRlbWFuZENvc3QYBCABKAESCwoDcm9pGAUgASgBEhcKD3NhdmluZ3NQbGFuQ29zdBgGIAEoARIZChFzYXZpbmdzUGVyY2VudGFnZRgHIAEoASKdBAogUmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbkRldGFpbHMSRwoVZWMyUmlnaHRTaXppbmdEZXRhaWxzGAEgASgLMiguYmx1ZWFwaS5hcGkuY292ZXIuRUMycmlnaHRTaXppbmdEZXRhaWxzEmkKJmxhbWJkYVJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25EZXRhaWxzGAIgASgLMjkuYmx1ZWFwaS5hcGkuY292ZXIuTGFtYmRhUmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbkRldGFpbHMSSgojZWJzUmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbkRldGFpbHMYAyABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5FQlNEZXRhaWxzEmMKI2Vjc1JpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25EZXRhaWxzGAQgASgLMjYuYmx1ZWFwaS5hcGkuY292ZXIuRWNzUmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbkRldGFpbHMSVQojcmRzUmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbkRldGFpbHMYByABKAsyKC5ibHVlYXBpLmFwaS5jb3Zlci5SRFNSaWdodHNpemluZ0RldGFpbHMSHAoUZXN0aW1hdGVkTW9udGhseUNvc3QYBSABKAESHwoXZXN0aW1hdGVkTW9udGhseVNhdmluZ3MYBiABKAEiSQoOU3RvcFJEU0RldGFpbHMSNwoNcmRzREJJbnN0YW5jZRgBIAEoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLlJEU0RCSW5zdGFuY2UiTAoRTWlncmF0ZVJEU0RldGFpbHMSNwoNcmRzRGJJbnN0YW5jZRgBIAEoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLlJEU0RCSW5zdGFuY2UikwEKEVJEU1VwZ3JhZGVEZXRhaWxzEjcKDXJkc0RiSW5zdGFuY2UYASABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5SRFNEQkluc3RhbmNlEkUKFHJkc0RiSW5zdGFuY2VTdG9yYWdlGAIgASgLMicuYmx1ZWFwaS5hcGkuY292ZXIuUkRTREJJbnN0YW5jZVN0b3JhZ2UilwEKFVJEU1JpZ2h0c2l6aW5nRGV0YWlscxI3Cg1yZHNEYkluc3RhbmNlGAEgASgLMiAuYmx1ZWFwaS5hcGkuY292ZXIuUkRTREJJbnN0YW5jZRJFChRyZHNEYkluc3RhbmNlU3RvcmFnZRgCIAEoCzInLmJsdWVhcGkuYXBpLmNvdmVyLlJEU0RCSW5zdGFuY2VTdG9yYWdlIrUCCg1SRFNEQkluc3RhbmNlEkAKDmN1cnJlbnREZXRhaWxzGAEgASgLMiguYmx1ZWFwaS5hcGkuY292ZXIuUkRTREJJbnN0YW5jZS5EZXRhaWxzEkcKFXJlY29tbWVuZGF0aW9uRGV0YWlscxgCIAEoCzIoLmJsdWVhcGkuYXBpLmNvdmVyLlJEU0RCSW5zdGFuY2UuRGV0YWlscxI6Cg5jcHVVdGlsaXphdGlvbhgDIAMoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLlV0aWxpemF0aW9uRGF0YRpdCgdEZXRhaWxzEhUKDWluc3RhbmNlQ2xhc3MYASABKAkSOwoPY29zdENhbGN1bGF0aW9uGAIgASgLMiIuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdENhbGN1bGF0aW9uItQCChRSRFNEQkluc3RhbmNlU3RvcmFnZRJHCg5jdXJyZW50RGV0YWlscxgBIAEoCzIvLmJsdWVhcGkuYXBpLmNvdmVyLlJEU0RCSW5zdGFuY2VTdG9yYWdlLkRldGFpbHMSTgoVcmVjb21tZW5kYXRpb25EZXRhaWxzGAIgASgLMi8uYmx1ZWFwaS5hcGkuY292ZXIuUkRTREJJbnN0YW5jZVN0b3JhZ2UuRGV0YWlscxqiAQoHRGV0YWlscxIcChRhbGxvY2F0ZWRTdG9yYWdlSW5HYhgBIAEoARIMCgRpb3BzGAIgASgBEhkKEXN0b3JhZ2VUaHJvdWdocHV0GAMgASgBEhMKC3N0b3JhZ2VUeXBlGAQgASgJEjsKD2Nvc3RDYWxjdWxhdGlvbhgFIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RDYWxjdWxhdGlvbiKzAQoVRUMycmlnaHRTaXppbmdEZXRhaWxzEj8KEWN1cnJlbnRFQzJEZXRhaWxzGAEgASgLMiQuYmx1ZWFwaS5hcGkuY292ZXIuQ3VycmVudEVDMkRldGFpbHMSWQoeZUMyTW9kaWZ5UmVjb21tZW5kYXRpb25EZXRhaWxzGAIgASgLMjEuYmx1ZWFwaS5hcGkuY292ZXIuRUMyTW9kaWZ5UmVjb21tZW5kYXRpb25EZXRhaWxzIsEFChFDdXJyZW50RUMyRGV0YWlscxIUCgxpbnN0YW5jZVR5cGUYASABKAkSCgoCb3MYAiABKAkSDgoGcmVnaW9uGAMgASgJEhYKDmNwdVV0aWxpemF0aW9uGAQgASgBEhkKEW1lbW9yeVV0aWxpemF0aW9uGAUgASgBEhcKD2Rpc2tVdGlsaXphdGlvbhgGIAEoARIXCg9uZXR3b3JrQ2FwYWNpdHkYByABKAkSEwoLbW9udGhseUNvc3QYCCABKAESPQoRZUMyQ3B1VXRpbGl6YXRpb24YCSADKAsyIi5ibHVlYXBpLmFwaS5jb3Zlci5VdGlsaXphdGlvbkRhdGESPgoSZUMyRGlza1V0aWxpemF0aW9uGAogAygLMiIuYmx1ZWFwaS5hcGkuY292ZXIuVXRpbGl6YXRpb25EYXRhEkAKFGVDMk1lbW9yeVV0aWxpemF0aW9uGAsgAygLMiIuYmx1ZWFwaS5hcGkuY292ZXIuVXRpbGl6YXRpb25EYXRhEj4KEm5ldHdvcmtUcmFmZmljRGF0YRgMIAMoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLlV0aWxpemF0aW9uRGF0YRJHCgxvdGhlckRldGFpbHMYDSABKAsyMS5ibHVlYXBpLmFwaS5jb3Zlci5DdXJyZW50RUMyRGV0YWlscy5PdGhlckRldGFpbHMSOwoPY29zdENhbGN1bGF0aW9uGA4gASgLMiIuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdENhbGN1bGF0aW9uGnkKDE90aGVyRGV0YWlscxIXCg9leGNsdXNpb25TdGF0dXMYASABKAkSDgoGc3RhdHVzGAIgASgJEhAKCHJlc291cmNlGAMgASgJEhUKDWF3c0NvbmZpZ1J1bGUYBCABKAkSFwoPaW5wdXRQYXJhbWV0ZXJzGAUgASgJIvQBCh5FQzJNb2RpZnlSZWNvbW1lbmRhdGlvbkRldGFpbHMSFAoMaW5zdGFuY2VUeXBlGAEgASgJEgoKAm9zGAIgASgJEg4KBnJlZ2lvbhgDIAEoCRIWCg5jcHVVdGlsaXphdGlvbhgEIAEoARIZChFtZW1vcnlVdGlsaXphdGlvbhgFIAEoARIXCg9kaXNrVXRpbGl6YXRpb24YBiABKAESFwoPbmV0d29ya0NhcGFjaXR5GAcgASgJEjsKD2Nvc3RDYWxjdWxhdGlvbhgPIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RDYWxjdWxhdGlvbiIuCg9VdGlsaXphdGlvbkRhdGESDAoEZGF0ZRgBIAEoCRINCgV2YWx1ZRgCIAEoAiK8AQomTGFtYmRhUmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbkRldGFpbHMSRgoabGFtYmRhQ3VycmVudENvbmZpZ3VyYXRpb24YASABKAsyIi5ibHVlYXBpLmFwaS5jb3Zlci5SZXNvdXJjZURldGFpbHMSSgoebGFtYmRhUmVjb21tZW5kZWRDb25maWd1cmF0aW9uGAIgASgLMiIuYmx1ZWFwaS5hcGkuY292ZXIuUmVzb3VyY2VEZXRhaWxzIrMBCiNFY3NSaWdodFNpemluZ1JlY29tbWVuZGF0aW9uRGV0YWlscxJDChdFY3NDdXJyZW50Q29uZmlndXJhdGlvbhgBIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLlJlc291cmNlRGV0YWlscxJHChtFY3NSZWNvbW1lbmRlZENvbmZpZ3VyYXRpb24YAiABKAsyIi5ibHVlYXBpLmFwaS5jb3Zlci5SZXNvdXJjZURldGFpbHMinAEKD1Jlc291cmNlRGV0YWlscxIUCgxhcmNoaXRlY3R1cmUYASABKAkSFgoObWVtb3J5c2l6ZUluTUIYAiABKAESEAoIcGxhdGZvcm0YAyABKAkSDAoEdkNwdRgEIAEoBRI7Cg9jb3N0Q2FsY3VsYXRpb24YBSABKAsyIi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0Q2FsY3VsYXRpb24iagoKVXNhZ2VUeXBlcxIRCglvcGVyYXRpb24YASABKAkSEwoLcHJvZHVjdENvZGUYAiABKAkSDAoEdW5pdBgDIAEoCRITCgt1c2FnZUFtb3VudBgEIAEoARIRCgl1c2FnZVR5cGUYBSABKAkigQIKD0Nvc3RDYWxjdWxhdGlvbhIcChRlc3RDb3N0QWZ0ZXJEaXNjb3VudBgBIAEoARIdChVlc3RDb3N0QmVmb3JlRGlzY291bnQYAiABKAESFQoNb3RoZXJEaXNjb3VudBgDIAEoARIbChNzYXZpbmdzUGxhbkRpc2NvdW50GAQgASgBEigKIGVzdE5ldFVudXNlZEFtb3J0aXplZENvbW1pdG1lbnRzGAUgASgBEiAKGHJlc2VydmVkSW5zdGFuY2VEaXNjb3VudBgHIAEoARIxCgp1c2FnZVR5cGVzGAYgAygLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVXNhZ2VUeXBlcyKZAgocVXBncmFkZVJlY29tbWVuZGF0aW9uRGV0YWlscxI/ChF1cGdyYWRlRUMyRGV0YWlscxgBIAEoCzIkLmJsdWVhcGkuYXBpLmNvdmVyLlVwZ3JhZGVFQzJEZXRhaWxzEjgKEXVwZ3JhZGVFQlNEZXRhaWxzGAIgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuRUJTRGV0YWlscxI/ChF1cGdyYWRlUkRTRGV0YWlscxgFIAEoCzIkLmJsdWVhcGkuYXBpLmNvdmVyLlJEU1VwZ3JhZGVEZXRhaWxzEhwKFGVzdGltYXRlZE1vbnRobHlDb3N0GAMgASgBEh8KF2VzdGltYXRlZE1vbnRobHlTYXZpbmdzGAQgASgBIqoCChFVcGdyYWRlRUMyRGV0YWlscxI+ChFlQzJDdXJyZW50RGV0YWlscxgBIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkVDMlVwZ2FkZURldGFpbHMSSwoedWdyYWRlRUMyUmVjb21tZW5kYXRpb25EZXRhaWxzGAIgASgLMiMuYmx1ZWFwaS5hcGkuY292ZXIuRUMyVXBnYWRlRGV0YWlscxJCChZjdXJyZW50Q29zdENhbGN1bGF0aW9uGAMgASgLMiIuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdENhbGN1bGF0aW9uEkQKGGVzdGltYXRlZENvc3RDYWxjdWxhdGlvbhgEIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RDYWxjdWxhdGlvbiKGAQoQRUMyVXBnYWRlRGV0YWlscxIUCgxpbnN0YW5jZVR5cGUYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEhMKC3Byb2R1Y3RDb2RlGAMgASgJEgwKBHVuaXQYBCABKAkSEwoLdXNhZ2VBbW91bnQYBSABKAESEQoJdXNhZ2VUeXBlGAYgASgJIpUBCgpFQlNEZXRhaWxzEj8KEWN1cnJlbnRFQlNEZXRhaWxzGAEgASgLMiQuYmx1ZWFwaS5hcGkuY292ZXIuQ3VycmVudEVCU0RldGFpbHMSRgoRdXBncmFkZUVCU0RldGFpbHMYAiABKAsyKy5ibHVlYXBpLmFwaS5jb3Zlci5FQlNSZWNvbW1lbmRhdGlvbkRldGFpbHMipwEKGEVCU1JlY29tbWVuZGF0aW9uRGV0YWlscxIXCg9hdHRhY2htZW50U3RhdGUYASABKAkSDAoEaW9wcxgCIAEoARISCgp0aHJvdWdocHV0GAMgASgBEhAKCHNpemVJbkdiGAQgASgBEj4KEkVzdGNvc3RDYWxjdWxhdGlvbhgFIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RDYWxjdWxhdGlvbiKdAQoRQ3VycmVudEVCU0RldGFpbHMSFwoPYXR0YWNobWVudFN0YXRlGAEgASgJEgwKBGlvcHMYAiABKAESEgoKdGhyb3VnaHB1dBgDIAEoARIQCghzaXplSW5HYhgEIAEoARI7Cg9jb3N0Q2FsY3VsYXRpb24YBSABKAsyIi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0Q2FsY3VsYXRpb24i3wEKHE1pZ3JhdGVSZWNvbW1lbmRhdGlvbkRldGFpbHMSPwoRbWlncmF0ZUVDMkRldGFpbHMYASABKAsyJC5ibHVlYXBpLmFwaS5jb3Zlci5NaWdyYXRlRUMyRGV0YWlscxI/ChFtaWdyYXRlUkRTRGV0YWlscxgEIAEoCzIkLmJsdWVhcGkuYXBpLmNvdmVyLk1pZ3JhdGVSRFNEZXRhaWxzEhwKFGVzdGltYXRlZE1vbnRobHlDb3N0GAIgASgBEh8KF2VzdGltYXRlZE1vbnRobHlTYXZpbmdzGAMgASgBIqQCChFNaWdyYXRlRUMyRGV0YWlscxI+ChFlQzJDdXJyZW50RGV0YWlscxgBIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkVDMlVwZ2FkZURldGFpbHMSSwoedWdyYWRlRUMyUmVjb21tZW5kYXRpb25EZXRhaWxzGAIgASgLMiMuYmx1ZWFwaS5hcGkuY292ZXIuRUMyVXBnYWRlRGV0YWlscxJCChZjdXJyZW50Q29zdENhbGN1bGF0aW9uGAMgASgLMiIuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdENhbGN1bGF0aW9uEj4KEmVzdENvc3RDYWxjdWxhdGlvbhgEIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RDYWxjdWxhdGlvbiLTAQohU3RvcEluc3RhbmNlUmVjb21tZW5kYXRpb25EZXRhaWxzEmUKJHN0b3BFQzJJbnN0YW5jZVJlY29tbWVuZGF0aW9uRGV0YWlscxgBIAEoCzI3LmJsdWVhcGkuYXBpLmNvdmVyLlN0b3BFQzJJbnN0YW5jZVJlY29tbWVuZGF0aW9uRGV0YWlscxJHChxzdG9wUkRTUmVjb21tZW5kYXRpb25EZXRhaWxzGAIgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuU3RvcFJEU0RldGFpbHMilAMKG0RlbGV0ZVJlY29tbWVuZGF0aW9uRGV0YWlscxI4CgplYzJEZXRhaWxzGAEgASgLMiQuYmx1ZWFwaS5hcGkuY292ZXIuQ3VycmVudEVDMkRldGFpbHMSPQoQZWJzVm9sdW1lRGV0YWlscxgCIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkVic1ZvbHVtZURldGFpbHMSSwoXZWxhc3RpY0lwQWRkcmVzc0RldGFpbHMYAyABKAsyKi5ibHVlYXBpLmFwaS5jb3Zlci5FbGFzdGljSXBBZGRyZXNzRGV0YWlscxI5Cg5pZGxlUmRzRGV0YWlscxgEIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLklkbGVSZHNEZXRhaWxzEksKF2lkbGVMb2FkQmFsYW5jZXJEZXRhaWxzGAUgASgLMiouYmx1ZWFwaS5hcGkuY292ZXIuSWRsZUxvYWRCYWxhbmNlckRldGFpbHMSFwoPZXhjbHVzaW9uU3RhdHVzGAYgASgJEg4KBnN0YXR1cxgHIAEoCSJoChBFYnNWb2x1bWVEZXRhaWxzEhAKCHZvbHVtZUlkGAEgASgJEhIKCnZvbHVtZVNpemUYAiABKAMSEgoKdm9sdW1lVHlwZRgDIAEoCRIaChJtb250aGx5U3RvcmFnZUNvc3QYBCABKAEiPQoXRWxhc3RpY0lwQWRkcmVzc0RldGFpbHMSEQoJaXBBZGRyZXNzGAIgASgJEg8KB3NlcnZpY2UYAyABKAkijAEKDklkbGVSZHNEZXRhaWxzEhYKDmRiSW5zdGFuY2VOYW1lGAEgASgJEh8KF2RheXNTaW5jZUxhc3RDb25uZWN0aW9uGAIgASgJEhQKDGluc3RhbmNlVHlwZRgDIAEoCRIPCgdtdWx0aUFaGAQgASgJEhoKEnN0b3JhZ2VQcm92aXNpb25lZBgFIAEoASJUChdJZGxlTG9hZEJhbGFuY2VyRGV0YWlscxIYChBsb2FkQmFsYW5jZXJOYW1lGAEgASgJEg4KBnJlYXNvbhgCIAEoCRIPCgdzZXJ2aWNlGAMgASgJIuwBChpPdGhlclJlY29tbWVuZGF0aW9uRGV0YWlscxJFChRoaWdoRXJyb3JSYXRlc0xhbWJkYRgBIAEoCzInLmJsdWVhcGkuYXBpLmNvdmVyLkhpZ2hFcnJvclJhdGVzTGFtYmRhEncKLXMzSW5jb21wbGV0ZU11bHRpUGFydFVwbG9hZEFib3J0Q29uZmlndXJhdGlvbhgCIAEoCzJALmJsdWVhcGkuYXBpLmNvdmVyLlMzSW5jb21wbGV0ZU11bHRpUGFydFVwbG9hZEFib3J0Q29uZmlndXJhdGlvbhIOCgZzdGF0dXMYAyABKAki8QEKFEhpZ2hFcnJvclJhdGVzTGFtYmRhEhoKEmF2Z0RhaWx5RXJyb3JSYXRlcxgBIAEoARIXCg9hdmdEYWlseUludm9rZXMYAiABKAESHAoUY3VycmVudERheUVycm9yUmF0ZXMYAyABKAESGQoRY3VycmVudERheUludm9rZXMYBCABKAESHAoUZGF0ZUZvck1heEVycm9yUmF0ZXMYBSABKAkSEwoLZnVuY3Rpb25Bcm4YBiABKAkSHAoUbG9zdERhaWx5Q29tcHV0ZUNvc3QYByABKAESGgoSbWF4RGFpbHlFcnJvclJhdGVzGAggASgBIqIBCi1TM0luY29tcGxldGVNdWx0aVBhcnRVcGxvYWRBYm9ydENvbmZpZ3VyYXRpb24SEQoJYnVja2V0QXJuGAEgASgJEhIKCmJ1Y2tldE5hbWUYAiABKAkSLQolbGlmZUN5Y2xlUnVsZUZvckRlbGV0aW5nSW5jb21wbGV0ZU1DVRgDIAEoCRIbChNkYXlzQWZ0ZXJJbml0aWF0aW9uGAQgASgJIoICCiRTdG9wRUMySW5zdGFuY2VSZWNvbW1lbmRhdGlvbkRldGFpbHMSEgoKaW5zdGFuY2VJZBgBIAEoCRIUCgxpbnN0YW5jZVR5cGUYAiABKAkSIAoYQXZlQ3B1VXRpbGl6YXRpb25CeTE0RGF5GAMgASgBEhsKE0F2ZU5ldHdvcmtJT0J5MTREYXkYBCABKAESOgoOY3B1VXRpbGl6YXRpb24YBSADKAsyIi5ibHVlYXBpLmFwaS5jb3Zlci5VdGlsaXphdGlvbkRhdGESNQoJbmV0V29ya0lPGAYgAygLMiIuYmx1ZWFwaS5hcGkuY292ZXIuVXRpbGl6YXRpb25EYXRhQngKH2Nsb3VkLmFscGhhdXMuYmx1ZWFwaS5hcGkuY292ZXJCJ0FwaUNvdmVyT3B0aW1pemF0aW9uUmVjb21tZW5kYXRpb25Qcm90b1osZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlLXNkay1nby9hcGkvY292ZXJiBnByb3RvMw");
13
+ /**
14
+ * Describes the message blueapi.api.cover.ExecutedRecommendationDetails.
15
+ * Use `create(ExecutedRecommendationDetailsSchema)` to create a new message.
16
+ */
17
+ exports.ExecutedRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 0);
18
+ /**
19
+ * Describes the message blueapi.api.cover.AWSRecommendations.
20
+ * Use `create(AWSRecommendationsSchema)` to create a new message.
21
+ */
22
+ exports.AWSRecommendationsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 1);
23
+ /**
24
+ * Describes the message blueapi.api.cover.PurchaseRIRecommendationDetails.
25
+ * Use `create(PurchaseRIRecommendationDetailsSchema)` to create a new message.
26
+ */
27
+ exports.PurchaseRIRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 2);
28
+ /**
29
+ * Describes the message blueapi.api.cover.EstOutcomeFromPurchaseRIRecommendation.
30
+ * Use `create(EstOutcomeFromPurchaseRIRecommendationSchema)` to create a new message.
31
+ */
32
+ exports.EstOutcomeFromPurchaseRIRecommendationSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 3);
33
+ /**
34
+ * Describes the message blueapi.api.cover.MemoryDBDetails.
35
+ * Use `create(MemoryDBDetailsSchema)` to create a new message.
36
+ */
37
+ exports.MemoryDBDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 4);
38
+ /**
39
+ * Describes the message blueapi.api.cover.EC2Details.
40
+ * Use `create(EC2DetailsSchema)` to create a new message.
41
+ */
42
+ exports.EC2DetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 5);
43
+ /**
44
+ * Describes the message blueapi.api.cover.ElasticCacheDetails.
45
+ * Use `create(ElasticCacheDetailsSchema)` to create a new message.
46
+ */
47
+ exports.ElasticCacheDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 6);
48
+ /**
49
+ * Describes the message blueapi.api.cover.ESDetails.
50
+ * Use `create(ESDetailsSchema)` to create a new message.
51
+ */
52
+ exports.ESDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 7);
53
+ /**
54
+ * Describes the message blueapi.api.cover.RDSDetails.
55
+ * Use `create(RDSDetailsSchema)` to create a new message.
56
+ */
57
+ exports.RDSDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 8);
58
+ /**
59
+ * Describes the message blueapi.api.cover.RedshiftDetails.
60
+ * Use `create(RedshiftDetailsSchema)` to create a new message.
61
+ */
62
+ exports.RedshiftDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 9);
63
+ /**
64
+ * Describes the message blueapi.api.cover.SavingsPlanRecommendationDetails.
65
+ * Use `create(SavingsPlanRecommendationDetailsSchema)` to create a new message.
66
+ */
67
+ exports.SavingsPlanRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 10);
68
+ /**
69
+ * Describes the message blueapi.api.cover.SPCurrentUtilizationDetails.
70
+ * Use `create(SPCurrentUtilizationDetailsSchema)` to create a new message.
71
+ */
72
+ exports.SPCurrentUtilizationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 11);
73
+ /**
74
+ * Describes the message blueapi.api.cover.EstOutcomeFromSPRecommendation.
75
+ * Use `create(EstOutcomeFromSPRecommendationSchema)` to create a new message.
76
+ */
77
+ exports.EstOutcomeFromSPRecommendationSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 12);
78
+ /**
79
+ * Describes the message blueapi.api.cover.RightSizingRecommendationDetails.
80
+ * Use `create(RightSizingRecommendationDetailsSchema)` to create a new message.
81
+ */
82
+ exports.RightSizingRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 13);
83
+ /**
84
+ * Describes the message blueapi.api.cover.StopRDSDetails.
85
+ * Use `create(StopRDSDetailsSchema)` to create a new message.
86
+ */
87
+ exports.StopRDSDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 14);
88
+ /**
89
+ * Describes the message blueapi.api.cover.MigrateRDSDetails.
90
+ * Use `create(MigrateRDSDetailsSchema)` to create a new message.
91
+ */
92
+ exports.MigrateRDSDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 15);
93
+ /**
94
+ * Describes the message blueapi.api.cover.RDSUpgradeDetails.
95
+ * Use `create(RDSUpgradeDetailsSchema)` to create a new message.
96
+ */
97
+ exports.RDSUpgradeDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 16);
98
+ /**
99
+ * Describes the message blueapi.api.cover.RDSRightsizingDetails.
100
+ * Use `create(RDSRightsizingDetailsSchema)` to create a new message.
101
+ */
102
+ exports.RDSRightsizingDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 17);
103
+ /**
104
+ * Describes the message blueapi.api.cover.RDSDBInstance.
105
+ * Use `create(RDSDBInstanceSchema)` to create a new message.
106
+ */
107
+ exports.RDSDBInstanceSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 18);
108
+ /**
109
+ * Describes the message blueapi.api.cover.RDSDBInstance.Details.
110
+ * Use `create(RDSDBInstance_DetailsSchema)` to create a new message.
111
+ */
112
+ exports.RDSDBInstance_DetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 18, 0);
113
+ /**
114
+ * Describes the message blueapi.api.cover.RDSDBInstanceStorage.
115
+ * Use `create(RDSDBInstanceStorageSchema)` to create a new message.
116
+ */
117
+ exports.RDSDBInstanceStorageSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 19);
118
+ /**
119
+ * Describes the message blueapi.api.cover.RDSDBInstanceStorage.Details.
120
+ * Use `create(RDSDBInstanceStorage_DetailsSchema)` to create a new message.
121
+ */
122
+ exports.RDSDBInstanceStorage_DetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 19, 0);
123
+ /**
124
+ * Describes the message blueapi.api.cover.EC2rightSizingDetails.
125
+ * Use `create(EC2rightSizingDetailsSchema)` to create a new message.
126
+ */
127
+ exports.EC2rightSizingDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 20);
128
+ /**
129
+ * Describes the message blueapi.api.cover.CurrentEC2Details.
130
+ * Use `create(CurrentEC2DetailsSchema)` to create a new message.
131
+ */
132
+ exports.CurrentEC2DetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 21);
133
+ /**
134
+ * Describes the message blueapi.api.cover.CurrentEC2Details.OtherDetails.
135
+ * Use `create(CurrentEC2Details_OtherDetailsSchema)` to create a new message.
136
+ */
137
+ exports.CurrentEC2Details_OtherDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 21, 0);
138
+ /**
139
+ * Describes the message blueapi.api.cover.EC2ModifyRecommendationDetails.
140
+ * Use `create(EC2ModifyRecommendationDetailsSchema)` to create a new message.
141
+ */
142
+ exports.EC2ModifyRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 22);
143
+ /**
144
+ * Describes the message blueapi.api.cover.UtilizationData.
145
+ * Use `create(UtilizationDataSchema)` to create a new message.
146
+ */
147
+ exports.UtilizationDataSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 23);
148
+ /**
149
+ * Describes the message blueapi.api.cover.LambdaRightSizingRecommendationDetails.
150
+ * Use `create(LambdaRightSizingRecommendationDetailsSchema)` to create a new message.
151
+ */
152
+ exports.LambdaRightSizingRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 24);
153
+ /**
154
+ * Describes the message blueapi.api.cover.EcsRightSizingRecommendationDetails.
155
+ * Use `create(EcsRightSizingRecommendationDetailsSchema)` to create a new message.
156
+ */
157
+ exports.EcsRightSizingRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 25);
158
+ /**
159
+ * Describes the message blueapi.api.cover.ResourceDetails.
160
+ * Use `create(ResourceDetailsSchema)` to create a new message.
161
+ */
162
+ exports.ResourceDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 26);
163
+ /**
164
+ * Describes the message blueapi.api.cover.UsageTypes.
165
+ * Use `create(UsageTypesSchema)` to create a new message.
166
+ */
167
+ exports.UsageTypesSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 27);
168
+ /**
169
+ * Describes the message blueapi.api.cover.CostCalculation.
170
+ * Use `create(CostCalculationSchema)` to create a new message.
171
+ */
172
+ exports.CostCalculationSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 28);
173
+ /**
174
+ * Describes the message blueapi.api.cover.UpgradeRecommendationDetails.
175
+ * Use `create(UpgradeRecommendationDetailsSchema)` to create a new message.
176
+ */
177
+ exports.UpgradeRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 29);
178
+ /**
179
+ * Describes the message blueapi.api.cover.UpgradeEC2Details.
180
+ * Use `create(UpgradeEC2DetailsSchema)` to create a new message.
181
+ */
182
+ exports.UpgradeEC2DetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 30);
183
+ /**
184
+ * Describes the message blueapi.api.cover.EC2UpgadeDetails.
185
+ * Use `create(EC2UpgadeDetailsSchema)` to create a new message.
186
+ */
187
+ exports.EC2UpgadeDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 31);
188
+ /**
189
+ * Describes the message blueapi.api.cover.EBSDetails.
190
+ * Use `create(EBSDetailsSchema)` to create a new message.
191
+ */
192
+ exports.EBSDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 32);
193
+ /**
194
+ * Describes the message blueapi.api.cover.EBSRecommendationDetails.
195
+ * Use `create(EBSRecommendationDetailsSchema)` to create a new message.
196
+ */
197
+ exports.EBSRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 33);
198
+ /**
199
+ * Describes the message blueapi.api.cover.CurrentEBSDetails.
200
+ * Use `create(CurrentEBSDetailsSchema)` to create a new message.
201
+ */
202
+ exports.CurrentEBSDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 34);
203
+ /**
204
+ * Describes the message blueapi.api.cover.MigrateRecommendationDetails.
205
+ * Use `create(MigrateRecommendationDetailsSchema)` to create a new message.
206
+ */
207
+ exports.MigrateRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 35);
208
+ /**
209
+ * Describes the message blueapi.api.cover.MigrateEC2Details.
210
+ * Use `create(MigrateEC2DetailsSchema)` to create a new message.
211
+ */
212
+ exports.MigrateEC2DetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 36);
213
+ /**
214
+ * Describes the message blueapi.api.cover.StopInstanceRecommendationDetails.
215
+ * Use `create(StopInstanceRecommendationDetailsSchema)` to create a new message.
216
+ */
217
+ exports.StopInstanceRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 37);
218
+ /**
219
+ * Describes the message blueapi.api.cover.DeleteRecommendationDetails.
220
+ * Use `create(DeleteRecommendationDetailsSchema)` to create a new message.
221
+ */
222
+ exports.DeleteRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 38);
223
+ /**
224
+ * Describes the message blueapi.api.cover.EbsVolumeDetails.
225
+ * Use `create(EbsVolumeDetailsSchema)` to create a new message.
226
+ */
227
+ exports.EbsVolumeDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 39);
228
+ /**
229
+ * Describes the message blueapi.api.cover.ElasticIpAddressDetails.
230
+ * Use `create(ElasticIpAddressDetailsSchema)` to create a new message.
231
+ */
232
+ exports.ElasticIpAddressDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 40);
233
+ /**
234
+ * Describes the message blueapi.api.cover.IdleRdsDetails.
235
+ * Use `create(IdleRdsDetailsSchema)` to create a new message.
236
+ */
237
+ exports.IdleRdsDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 41);
238
+ /**
239
+ * Describes the message blueapi.api.cover.IdleLoadBalancerDetails.
240
+ * Use `create(IdleLoadBalancerDetailsSchema)` to create a new message.
241
+ */
242
+ exports.IdleLoadBalancerDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 42);
243
+ /**
244
+ * Describes the message blueapi.api.cover.OtherRecommendationDetails.
245
+ * Use `create(OtherRecommendationDetailsSchema)` to create a new message.
246
+ */
247
+ exports.OtherRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 43);
248
+ /**
249
+ * Describes the message blueapi.api.cover.HighErrorRatesLambda.
250
+ * Use `create(HighErrorRatesLambdaSchema)` to create a new message.
251
+ */
252
+ exports.HighErrorRatesLambdaSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 44);
253
+ /**
254
+ * Describes the message blueapi.api.cover.S3IncompleteMultiPartUploadAbortConfiguration.
255
+ * Use `create(S3IncompleteMultiPartUploadAbortConfigurationSchema)` to create a new message.
256
+ */
257
+ exports.S3IncompleteMultiPartUploadAbortConfigurationSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 45);
258
+ /**
259
+ * Describes the message blueapi.api.cover.StopEC2InstanceRecommendationDetails.
260
+ * Use `create(StopEC2InstanceRecommendationDetailsSchema)` to create a new message.
261
+ */
262
+ exports.StopEC2InstanceRecommendationDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_api_cover_optimizationrecommendation, 46);