@alphauspkgs/blue-sdk-ts 1.0.15 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/gc/v1/gc_pb.ts CHANGED
@@ -14,7 +14,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
14
14
  * Describes the file gc/v1/gc.proto.
15
15
  */
16
16
  export const file_gc_v1_gc: GenFile = /*@__PURE__*/
17
- fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiMQofR2V0Q29tbWl0bWVudFBsYW5EZXRhaWxzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIk4KIUxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXIiUAojR2V0UmVjb21tZW5kZWRDb21taXRtZW50UGxhblJlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqABCiJMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIPCgdvcmRlckJ5GAIgASgJEgwKBGRlc2MYAyABKAgSEQoJc2VnbWVudElkGAQgASgJEhgKEHJlc291cmNlTWF0Y2hJZHMYBSADKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKyAQooTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkSDwoHb3JkZXJCeRgCIAEoCRIMCgRkZXNjGAMgASgIEhEKCXN0YXJ0RGF0ZRgEIAEoCRIPCgdlbmREYXRlGAUgASgJEhMKC2xpbmVJdGVtSWRzGAYgAygJEgwKBHBhZ2UYByABKAUSEAoIcGFnZVNpemUYCCABKAUiGAoWTGlzdENvbW1pdG1lbnRzUmVxdWVzdCKUAQoaR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QSJwoGZmlsdGVyGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghwcm92aWRlchgCIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkiPgoRR2V0TWV0cmljc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqMBChRMaXN0UmVzb3VyY2VzUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc2VnbWVudElkGAIgASgJEg4KBnNlYXJjaBgDIAEoCRIMCgRkZXNjGAQgASgIEg8KB29yZGVyQnkYBSABKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKMAQocR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBISCgpyZXNvdXJjZUlkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhQKDGNhdGFsb2dTa3VJZBgEIAEoCRIMCgRwYWdlGAUgASgFEhAKCHBhZ2VTaXplGAYgASgFIkAKE0xpc3RTZWdtZW50c1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIi0KGEdldFNlZ21lbnREZXRhaWxzUmVxdWVzdBIRCglzZWdtZW50SWQYASABKAkiNgohTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0EhEKCXNlZ21lbnRJZBgBIAEoCSImCgdPcmdVc2VyEg0KBWVtYWlsGAEgASgJEgwKBHJvbGUYAiABKAkiLAoKTWVtYmVyc2hpcBIMCgRyb2xlGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJImIKB0FkZHJlc3MSDQoFbGluZTEYASABKAkSDAoEY2l0eRgCIAEoCRINCgVzdGF0ZRgDIAEoCRILCgN6aXAYBCABKAkSDwoHY291bnRyeRgFIAEoCRINCgVsaW5lMhgGIAEoCSJUCg5Bd3NFeGlzdGluZ0N1chIOCgZyZWdpb24YASABKAkSDgoGYnVja2V0GAIgASgJEg4KBnByZWZpeBgDIAEoCRISCgpyZXBvcnROYW1lGAQgASgJIq0CChJSZWdpc3Rlck9yZ1JlcXVlc3QSDQoFbXNwSWQYASABKAkSEQoJYmlsbGluZ0lkGAIgASgJEgwKBG5hbWUYAyABKAkSGwoTbGFicmFTdWJzY3JpcHRpb25JZBgEIAEoCRIlCgV1c2VycxgFIAMoCzIWLmJsdWVhcGkuZ2MudjEuT3JnVXNlchIOCgZkb21haW4YBiABKAkSLgoOcHJpbWFyeUFkZHJlc3MYByABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYCCABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgJIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgKIAEoCSJOChlTdGFydEF3c09uYm9hcmRpbmdSZXF1ZXN0Eg0KBW1zcElkGAEgASgJEhEKCWJpbGxpbmdJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJIlgKI0dldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXF1ZXN0Eg0KBW1zcElkGAEgASgJEhEKCWJpbGxpbmdJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJIlAKG0dldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBINCgVtc3BJZBgBIAEoCRIRCgliaWxsaW5nSWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCSKsAQoaVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QSDQoFbXNwSWQYASABKAkSEQoJYmlsbGluZ0lkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFAoMb25ib2FyZGluZ0lkGAQgASgJEhEKCWFjY291bnRJZBgFIAEoCRIyCgtleGlzdGluZ0N1chgGIAEoCzIdLmJsdWVhcGkuZ2MudjEuQXdzRXhpc3RpbmdDdXIiQwoaR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QSDQoFbXNwSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkiMQoDT3JnEg0KBW9yZ0lkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFZW1haWwYAyABKAki8wQKFUNvbW1pdG1lbnRQbGFuRGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBW9yZ0lkGAQgASgJEhEKCWNyZWF0ZWRBdBgFIAEoCRIVCg1pc0NhbGN1bGF0aW5nGAYgASgIEg4KBnN0YXR1cxgHIAEoCRIPCgdtYXhUZXJtGAggASgJEiEKGWNvdmVyZWRPbmRlbWFuZENvc3RIb3VybHkYCSABKAESIAoYYmVmb3JlT25kZW1hbmRDb3N0SG91cmx5GAogASgBEiAKGGJlZm9yZVJlc2VydmVkQ29zdEhvdXJseRgLIAEoARIbChNhbW9ydGl6ZWRDb3N0SG91cmx5GAwgASgBEhsKE3JlY3VycmluZ0Nvc3RIb3VybHkYDSABKAESGQoRdXBmcm9udENvc3RIb3VybHkYDiABKAESGAoQYmVmb3JlQ29zdEhvdXJseRgPIAEoARIXCg9hZnRlckNvc3RIb3VybHkYECABKAESFwoPdG90YWxDb3N0SG91cmx5GBEgASgBEhUKDXNhdmluZ3NIb3VybHkYEiABKAESEQoJZmVlSG91cmx5GBMgASgBEhoKEmNvbW1pdG1lbnRDb3ZlcmFnZRgUIAEoARIdChVtaW5pbXVtQ29tbWl0bWVudENvc3QYFSABKAESFgoOYnJlYWtldmVuSG91cnMYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEhYKDm1vbnRobHlTYXZpbmdzGBggASgBEh4KFnRvdGFsTW9udGhseUJlZm9yZUNvc3QYGSABKAEiWQoiTGlzdERlZmF1bHRDb21taXRtZW50UGxhbnNSZXNwb25zZRIzCgVwbGFucxgBIAMoCzIkLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIukFChZDb21taXRtZW50UGxhbkxpbmVJdGVtEgoKAmlkGAEgASgJEg4KBnBsYW5JZBgCIAEoCRIPCgdvZmZlcklkGAMgASgJEhcKD2xlYXNlTWVudUl0ZW1JZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSGwoTcmVjb21tZW5kZWRRdWFudGl0eRgGIAEoARIYChBzZWxlY3RlZFF1YW50aXR5GAcgASgBEh0KFXJlY29tbWVuZGVkQ29tbWl0bWVudBgIIAEoARIaChJzZWxlY3RlZENvbW1pdG1lbnQYCSABKAESEgoKaXNTZWxlY3RlZBgKIAEoCBIaChJhZnRlckFtb3J0aXplZENvc3QYCyABKAESEwoLdXBmcm9udENvc3QYDCABKAESFQoNcmVjdXJyaW5nQ29zdBgNIAEoARISCgpiZWZvcmVDb3N0GA4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgPIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYECABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgRIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgSIAEoARIRCgl0b3RhbENvc3QYEyABKAESEwoLbW9udGhseUNvc3QYFCABKAESDwoHc2F2aW5ncxgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESCwoDZmVlGBggASgBEhQKDGRpc2NvdW50UmF0ZRgZIAEoARIWCg5icmVha2V2ZW5Ib3VycxgaIAEoARIUCgxjb250cmFjdFRlcm0YGyABKAkSFQoNcGF5bWVudE9wdGlvbhgcIAEoCRItCgxjb250cmFjdFNwZWMYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBW9mZmVyGB4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJfCiNMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXNwb25zZRI4CglsaW5lSXRlbXMYASADKAsyJS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuTGluZUl0ZW0i9wQKG0NvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIKCgJpZBgBIAEoCRISCgp0b3RhbFVuaXRzGAIgASgBEhwKFGJlZm9yZVVuY292ZXJlZFVuaXRzGAMgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGAQgASgBEhsKE2FmdGVyVW5jb3ZlcmVkVW5pdHMYBSABKAESFQoNb25kZW1hbmRQcmljZRgGIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgHIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYCCABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYCSABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgKIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYCyABKAESGQoRYWZ0ZXJSZXNlcnZlZENvc3QYDCABKAESEgoKYmVmb3JlQ29zdBgNIAEoARIRCglhZnRlckNvc3QYDiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYDyABKAESGAoQbW9udGhseUFmdGVyQ29zdBgQIAEoARIgChhtb250aGx5QWZ0ZXJSZXNlcnZlZENvc3QYESABKAESIAoYbW9udGhseUFmdGVyT25kZW1hbmRDb3N0GBIgASgBEhYKDmF2ZXJhZ2VTYXZpbmdzGBMgASgBEh0KFWF2ZXJhZ2VNb250aGx5U2F2aW5ncxgUIAEoARIRCgl1c2FnZVR5cGUYFSABKAkSEAoIY292ZXJhZ2UYFiABKAESKQoIcmVzb3VyY2UYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0InAKKUxpc3RDb21taXRtZW50UGxhblJlc291cmNlTWF0Y2hlc1Jlc3BvbnNlEkMKD3Jlc291cmNlTWF0Y2hlcxgBIAMoCzIqLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoIu4BCgVMZWFzZRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIdChVwcm92aWRlclJlc2VydmF0aW9uSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIRCglzdGFydERhdGUYBiABKAkSDwoHZW5kRGF0ZRgHIAEoCRISCgpsb2NraW5EYXRlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBEhUKDXJlY3VycmluZ0Nvc3QYCiABKAESEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCSJJChBEYWlseVV0aWxpemF0aW9uEgwKBGRhdGUYASABKAkSEwoLdXRpbGl6YXRpb24YAiABKAESEgoKbmV0U2F2aW5ncxgDIAEoASLQBwoKQ29tbWl0bWVudBIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFQoNYW1vcnRpemVkQ29zdBgDIAEoARIYChBiaWxsaW5nQWNjb3VudElkGAQgASgJEhEKCWNhblJlYmF0ZRgFIAEoCBIUCgxjb250cmFjdFRlcm0YBiABKAkSEwoLZGlzcGxheU5hbWUYByABKAkSFwoPZHVyYXRpb25TZWNvbmRzGAggASgBEh4KFmVmZmVjdGl2ZUluc3RhbmNlQ291bnQYCSABKAMSDwoHZW5kRGF0ZRgKIAEoCRIVCg1pbnN0YW5jZUNvdW50GAsgASgDEhYKDmluc3RhbmNlRmFtaWx5GAwgASgJEhQKDGluc3RhbmNlVHlwZRgNIAEoCRIQCghpc0FjdGl2ZRgOIAEoCBISCgppc0ZsZXhpYmxlGA8gASgIEhAKCGlzTGVhc2VkGBAgASgIEhEKCWlzTXVsdGlBehgRIAEoCBIXCg9sZWFzZUxvY2tpbkRhdGUYEiABKAkSEgoKbGVhc2VTdGFydBgTIAEoCRIZChFsZWFzZWREaXNwbGF5TmFtZRgUIAEoCRITCgttb250aGx5Q29zdBgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIMCgRuYW1lGBcgASgJEhIKCm5ldFNhdmluZ3MYGCABKAESEgoKb2ZmZXJpbmdJZBgZIAEoCRIVCg1wYXltZW50T3B0aW9uGBogASgJEhgKEHBvdGVudGlhbFNhdmluZ3MYGyABKAESGgoScHJvZHVjdERlc2NyaXB0aW9uGBwgASgJEhAKCHByb3ZpZGVyGB0gASgJEh4KFnByb3ZpZGVyUmVzZXJ2YXRpb25faWQYHiABKAkSFQoNcmVjdXJyaW5nQ29zdBgfIAEoARIOCgZyZWdpb24YICABKAkSEwoLcmVuZXdhbFBsYW4YISABKAkSFgoOcmVzZXJ2YXRpb25FbmQYIiABKAkSGAoQcmVzZXJ2YXRpb25TdGFydBgjIAEoCRIUCgxydW5uaW5nSG91cnMYJCABKAESDwoHc2F2aW5ncxglIAEoARIRCglzdGFydERhdGUYJiABKAkSDgoGc3RhdHVzGCcgASgJEh4KFnRyYW5zZmVyUmVzZXJ2YXRpb25FbmQYKCABKAkSIAoYdHJhbnNmZXJSZXNlcnZhdGlvblN0YXJ0GCkgASgJEgwKBHR5cGUYKiABKAkSEwoLdXBmcm9udENvc3QYKyABKAESEwoLdXRpbGl6YXRpb24YLCABKAEiSQoXTGlzdENvbW1pdG1lbnRzUmVzcG9uc2USLgoLY29tbWl0bWVudHMYASADKAsyGS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnQivgEKGUNvbW1pdG1lbnRzQ2hhcnREYXRhUG9pbnQSDAoEZGF0ZRgBIAEoCRIXCg9jb21taXRtZW50U3BlbmQYAiABKAESEwoLdXRpbGl6YXRpb24YAyABKAESGQoRbG9ja2VkQ29tbWl0bWVudHMYBCABKAESGwoTdW5sb2NrZWRDb21taXRtZW50cxgFIAEoARIXCg9yZWFsaXplZFNhdmluZ3MYBiABKAESFAoMaXNQcm9qZWN0aW9uGAcgASgIIlIKGENvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZRI2CgRkYXRhGAEgAygLMiguYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0RGF0YVBvaW50Is0DCg9NZXRyaWNzUmVzcG9uc2USFwoPbGlmZXRpbWVTYXZpbmdzGAEgASgBEhIKCm10ZFNhdmluZ3MYAiABKAESIQoZcHVyY2hhc2VBdXRvbWF0aW9uRW5hYmxlZBgDIAEoCBIgChhidXliYWNrQXV0b21hdGlvbkVuYWJsZWQYBCABKAgSFwoPaGFzQWN0aW9uZWRQbGFuGAUgASgIEhkKEWhhc1BlbmRpbmdBY3Rpb25zGAYgASgIEhsKE2xhdGVzdEV4ZWN1dGlvbkRhdGUYByABKAkSHQoVcHVyY2hhc2VNaXNzZWRTYXZpbmdzGAggASgBEhwKFGJ1eWJhY2tNaXNzZWRTYXZpbmdzGAkgASgBEh8KF3RvdGFsRGFpbHlNaXNzZWRTYXZpbmdzGAogASgBEhsKE2hvdXJseU1pc3NlZFNhdmluZ3MYCyABKAESHgoWbWlzc2VkU2F2aW5nc1N0YXJ0RGF0ZRgMIAEoCRIcChRtaXNzZWRTYXZpbmdzRW5kRGF0ZRgNIAEoCRIXCg9leHBpcmluZ1NhdmluZ3MYDiABKAESEAoIY292ZXJhZ2UYDyABKAESEwoLdXRpbGl6YXRpb24YECABKAEiiAgKCFJlc291cmNlEgoKAmlkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgEIAEoCRIOCgZpc1Nwb3QYBSABKAgSDAoEbmFtZRgGIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAcgASgJEhAKCHVzYWdlRW5kGAggASgJEhIKCnVzYWdlU3RhcnQYCSABKAkSJQoEdGFncxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCRISCgppbnN0YW5jZUlkGA0gASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYDiABKAkSFAoMc3ViQWNjb3VudElkGA8gASgJEhsKE21hbmFnZW1lbnRBY2NvdW50SWQYECABKAkSFgoOb3duZXJBY2NvdW50SWQYESABKAkSEAoIc2t1VGl0bGUYEiABKAkSDwoHc2t1TmFtZRgTIAEoCRIYChBhdmFpbGFiaWxpdHlab25lGBQgASgJEhMKC2NhY2hlRW5naW5lGBUgASgJEhYKDmRhdGFiYXNlRW5naW5lGBYgASgJEhMKC2Rlc2NyaXB0aW9uGBcgASgJEg4KBmZhbWlseRgYIAEoCRIWCg5mdWxsUmVnaW9uTmFtZRgZIAEoCRIYChBoYXNPbmRlbWFuZFRlcm1zGBogASgIEhQKDGluc3RhbmNlVHlwZRgbIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYHCABKAkSFAoMaXNSZXNlcnZhYmxlGB0gASgIEhQKDGxpY2Vuc2VNb2RlbBgeIAEoCRIUCgxsb2NhdGlvblR5cGUYHyABKAkSHwoXbm9ybWFsaXphdGlvblNpemVGYWN0b3IYICABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGCEgASgJEhYKDnByZUluc3RhbGxlZFN3GCIgASgJEhUKDXByaWNlQ3VycmVuY3kYIyABKAkSFwoPcHJvdmlkZXJTZXJ2aWNlGCQgASgJEhUKDXByb3ZpZGVyU2t1SWQYJSABKAkSFwoPcHVibGljYXRpb25EYXRlGCYgASgJEg4KBnJlZ2lvbhgnIAEoCRIPCgdzZXJ2aWNlGCggASgJEg8KB3RlbmFuY3kYKSABKAkSEQoJdXNhZ2VUeXBlGCogASgJEg8KB3ZlcnNpb24YKyABKAkSHAoUdnBjTmV0d29ya2luZ1N1cHBvcnQYLCABKAgSGQoRb25kZW1hbmRVc2FnZVVuaXQYLSABKAkiQwoVTGlzdFJlc291cmNlc1Jlc3BvbnNlEioKCXJlc291cmNlcxgBIAMoCzIXLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2Ui1AIKElJlc291cmNlRGFpbHlVc2FnZRIMCgRkYXRlGAEgASgJEhYKDnVzYWdlQWNjb3VudElkGAIgASgJEhQKDHN1YkFjY291bnRJZBgDIAEoCRINCgV1c2FnZRgEIAEoARIYChByZXNlcnZhdGlvblVzYWdlGAUgASgBEhUKDWZyZWVUaWVyVXNhZ2UYBiABKAESFAoMb25kZW1hbmRDb3N0GAcgASgBEhQKDHJlc2VydmVkQ29zdBgIIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgJIAEoARIQCghzcG90Q29zdBgKIAEoARIXCg9mcmVlVGllclNhdmluZ3MYCyABKAESEQoJdXNhZ2VUeXBlGAwgASgJEhcKD2NvbW1vblVzYWdlVHlwZRgNIAEoCRIUCgxjb3ZlcmVkVXNhZ2UYDiABKAESDgoGdXB0aW1lGA8gASgBIlYKHUdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlEjUKCmRhaWx5VXNhZ2UYASADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSJ0CgdTZWdtZW50EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCWlzRGVmYXVsdBgEIAEoCBIRCgljcmVhdGVkQXQYBSABKAkiQAoUTGlzdFNlZ21lbnRzUmVzcG9uc2USKAoIc2VnbWVudHMYASADKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQiQAoOU2VnbWVudENyZWF0b3ISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAkiSwoMUHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhEKCWlzUmVuZXdhbBgEIAEoCCKlBQoOU2VnbWVudERldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIpCghwcm92aWRlchgEIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISFgoOY2xvdWRQcm92aWRlcnMYBSADKAkSEQoJaXNEZWZhdWx0GAYgASgIEhEKCWNyZWF0ZWRBdBgHIAEoCRIwCgljcmVhdGVkQnkYCCABKAsyHS5ibHVlYXBpLmdjLnYxLlNlZ21lbnRDcmVhdG9yEhAKCHBhcmVudElkGAkgASgJEg4KBnN0YXR1cxgKIAEoCRIUCgxzZWdtZW50Q2xhc3MYCyABKAkSJwoGcGFyYW1zGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBITCgttb250aGx5Q29zdBgNIAEoARIWCg5tb250aGx5TmV0Q29zdBgOIAEoARIgChhtb250aGx5SWZBbGxPbmRlbWFuZENvc3QYDyABKAESGwoTbW9udGhseU9uZGVtYW5kQ29zdBgQIAEoARIbChNtb250aGx5UmVzZXJ2ZWRDb3N0GBEgASgBEhcKD21vbnRobHlTcG90Q29zdBgSIAEoARIWCg5tb250aGx5U2F2aW5ncxgTIAEoARIVCg1tb250aGx5QnVkZ2V0GBQgASgBEhAKCGNvdmVyYWdlGBUgASgBEhsKE3JlY29tbWVuZGVkQ292ZXJhZ2UYFiABKAESFgoOdGFyZ2V0Q292ZXJhZ2UYFyABKAESHAoUbW9udGhseVJlc291cmNlQ291bnQYGCABKAUSMgoNcHVyY2hhc2VQbGFucxgZIAMoCzIbLmJsdWVhcGkuZ2MudjEuUHVyY2hhc2VQbGFuIngKDENvbnRyYWN0U3BlYxIWCg5jb21taXRtZW50VHlwZRgBIAEoCRIVCg1wYXltZW50T3B0aW9uGAIgASgJEgwKBHRlcm0YAyABKAkSKwoKcHJvcGVydGllcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi3gIKC1BsYW5TdW1tYXJ5EgsKA2tleRgBIAEoCRIQCghwcm92aWRlchgCIAEoCRIWCg5udW1Db21taXRtZW50cxgDIAEoBRIVCg1taW5Db21taXRtZW50GAQgASgBEhkKEW1vbnRobHlDb21taXRtZW50GAUgASgBEhMKC3VwZnJvbnRDb3N0GAYgASgBEhIKCm1pblNhdmluZ3MYByABKAESEgoKbWF4U2F2aW5ncxgIIAEoARIWCg5tb250aGx5U2F2aW5ncxgJIAEoARIUCgxtaW5UZXJtSG91cnMYCiABKAUSFAoMbWF4VGVybUhvdXJzGAsgASgFEhMKC2dyaVByZW1pdW1zGAwgASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgNIAEoARIZChFhZnRlck9uZGVtYW5kQ29zdBgOIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgPIAEoASLlAgoOU2VydmljZVN1bW1hcnkSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSEwoLc2VydmljZU5hbWUYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSFgoObnVtQ29tbWl0bWVudHMYBSABKAUSFwoPY3VycmVudENvdmVyYWdlGAYgASgBEhkKEXBvdGVudGlhbENvdmVyYWdlGAcgASgBEhUKDW1pbkNvbW1pdG1lbnQYCCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYCSABKAESEwoLdXBmcm9udENvc3QYCiABKAESEgoKbWluU2F2aW5ncxgLIAEoARISCgptYXhTYXZpbmdzGAwgASgBEhYKDm1vbnRobHlTYXZpbmdzGA0gASgBEhQKDG1pblRlcm1Ib3VycxgOIAEoBRIUCgxtYXhUZXJtSG91cnMYDyABKAUSEgoKZ3JpUHJlbWl1bRgQIAEoASLaAQoQQWdncmVnYXRlTWV0cmljcxIXCg9jdXJyZW50Q292ZXJhZ2UYASABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYAiABKAESQQoJc3VtbWFyaWVzGAMgAygLMi4uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzLlN1bW1hcmllc0VudHJ5Gk8KDlN1bW1hcmllc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VydmljZVN1bW1hcnk6AjgBItUKChNEZWZhdWx0UHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJc2VnbWVudElkGAUgASgJEicKB3NlZ21lbnQYBiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQSDgoGc3RhdHVzGAcgASgJEhAKCHBsYW5UeXBlGAggASgJEhEKCWNyZWF0ZWRBdBgJIAEoCRIUCgxsYXN0TW9kaWZpZWQYCiABKAkSKQoJY3JlYXRlZEJ5GAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi8KD2V4ZWN1dGlvblBvbGljeRgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglpc0RlZmF1bHQYDSABKAgSFQoNaXNSZWNvbW1lbmRlZBgOIAEoCBIRCglpc1JlbmV3YWwYDyABKAgSFQoNaXNDYWxjdWxhdGluZxgQIAEoCBIQCghpc0xvY2tlZBgRIAEoCBIPCgdpc1NhdmVkGBIgASgIEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgTIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgUIAMoCRIPCgdtYXhUZXJtGBUgASgJEh4KFnByZWZlcnJlZFBheW1lbnRPcHRpb24YFiABKAkSFgoObWF4VXBmcm9udENvc3QYFyABKAESIgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYGCABKAESPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGBkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCXN0YXJ0RGF0ZRgaIAEoCRIPCgdlbmREYXRlGBsgASgJEhIKCmRhdGFTb3VyY2UYHCABKAkSEgoKYmVmb3JlQ29zdBgdIAEoARIRCglhZnRlckNvc3QYHiABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GB8gASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBggIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GCEgASgBEhUKDWFtb3J0aXplZENvc3QYIiABKAESFQoNcmVjdXJyaW5nQ29zdBgjIAEoARITCgt1cGZyb250Q29zdBgkIAEoARIRCgl0b3RhbENvc3QYJSABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgmIAEoARIPCgdzYXZpbmdzGCcgASgBEhYKDm1vbnRobHlTYXZpbmdzGCggASgBEhQKDHRvdGFsU2F2aW5ncxgpIAEoARILCgNmZWUYKiABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGCsgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgsIAEoARIWCg5icmVha2V2ZW5Ib3VycxgtIAEoARI5ChBhZ2dyZWdhdGVNZXRyaWNzGC4gASgLMh8uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzEi0KCXN1bW1hcmllcxgvIAMoCzIaLmJsdWVhcGkuZ2MudjEuUGxhblN1bW1hcnkSFgoOcmVzZXJ2YXRpb25JZHMYMCADKAkSEwoLcmVzb3VyY2VJZHMYMSADKAkSFgoOZmxhZ2dlZEFjdGlvbnMYMiADKAkSEgoKbWV0YVBsYW5JZBgzIAEoCRISCgpjb3ZlcmFnZUlkGDQgASgJIlcKIkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4ihAIKE1JlZ2lzdGVyT3JnUmVzcG9uc2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIuCgttZW1iZXJzaGlwcxgDIAMoCzIZLmJsdWVhcGkuZ2MudjEuTWVtYmVyc2hpcBIOCgZkb21haW4YBCABKAkSLgoOcHJpbWFyeUFkZHJlc3MYBSABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYBiABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgHIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCSIyChpTdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZRIUCgxvbmJvYXJkaW5nSWQYASABKAkiUQokR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlEikKCHRlbXBsYXRlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIrChxHZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlEgsKA3VybBgBIAEoCSKPBAobVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlElQKBmNoZWNrcxgBIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2samQMKGUF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSDwoHZmVhdHVyZRgBIAEoCRJvCgZzdGF0dXMYAiABKA4yXy5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrLkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzIvkBChpBd3NPbmJvYXJkaW5nRmVhdHVyZVN0YXR1cxItCilBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTlNQRUNJRklFRBAAEisKJ0FXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX0FWQUlMQUJMRRABEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1dBUk5JTkcQAhIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19NSVNTSU5HEAMSKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfVU5LTk9XThAEIo8EChtHZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2USDQoFZm91bmQYASABKAgSDQoFaXNNc3AYAiABKAgSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2djT3JnSWQYBCABKAkSFAoMb25ib2FyZGluZ0lkGAUgASgJElUKEG9uYm9hcmRpbmdTdGF0dXMYBiABKA4yOy5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZS5PbmJvYXJkaW5nU3RhdHVzEhEKCWFjY291bnRJZBgHIAEoCSKVAgoQT25ib2FyZGluZ1N0YXR1cxIhCh1PTkJPQVJESU5HX1NUQVRVU19VTlNQRUNJRklFRBAAEiQKIE9OQk9BUkRJTkdfU1RBVFVTX05PVF9SRUdJU1RFUkVEEAESIAocT05CT0FSRElOR19TVEFUVVNfUkVHSVNURVJFRBACEigKJE9OQk9BUkRJTkdfU1RBVFVTX09OQk9BUkRJTkdfU1RBUlRFRBADEh4KGk9OQk9BUkRJTkdfU1RBVFVTX1ZFUklGSUVEEAQSJwojT05CT0FSRElOR19TVEFUVVNfVkVSSUZZX0lOQ09NUExFVEUQBRIjCh9PTkJPQVJESU5HX1NUQVRVU19WRVJJRllfRkFJTEVEEAYqXgoIUHJvdmlkZXISGAoUUFJPVklERVJfVU5TUEVDSUZJRUQQABIHCgNBV1MQARIJCgVBWlVSRRACEgcKA0dDUBADEg4KCktVQkVSTkVURVMQBBILCgdVTktOT1dOEAUqmAEKEENvbW1pdG1lbnRTdGF0dXMSIQodQ09NTUlUTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIHCgNORVcQARIMCghSRVZJRVdFRBACEg0KCVNDSEVEVUxFRBADEg0KCUNPTVBMRVRFRBAEEgkKBURSQUZUEAUSEAoMTkVFRFNfUkVWSUVXEAYSDwoLSU5fUFJPR1JFU1MQByqKAQoZQ29tbWl0bWVudEludmVudG9yeVN0YXR1cxIrCidDT01NSVRNRU5UX0lOVkVOVE9SWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIKCgZBQ1RJVkUQARILCgdSRVRJUkVEEAISEwoPUEFZTUVOVF9QRU5ESU5HEAMSEgoOUEFZTUVOVF9GQUlMRUQQBCpDCgVTY29wZRIVChFTQ09QRV9VTlNQRUNJRklFRBAAEgoKBlNIQVJFRBABEgwKCFJFR0lPTkFMEAISCQoFWk9OQUwQAypBCglVc2FnZVR5cGUSGgoWVVNBR0VfVFlQRV9VTlNQRUNJRklFRBAAEgsKB1JVTk5JTkcQARILCgdTVE9QUEVEEAIy9RkKFUd1YXJhbnRlZWRDb21taXRtZW50cxJjCghMaXN0T3JncxIeLmJsdWVhcGkuZ2MudjEuTGlzdE9yZ3NSZXF1ZXN0GhIuYmx1ZWFwaS5nYy52MS5PcmciIYLT5JMCGzoBKiIWL3YxL29yZ2FuaXphdGlvbnM6cmVhZDABEpgBChlHZXRDb21taXRtZW50c1BsYW5EZXRhaWxzEi4uYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50UGxhbkRldGFpbHNSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiJYLT5JMCHxIdL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0SlwEKFENvbW1pdG1lbnRzUGxhbkFwcGx5EikuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkFwcGx5UmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIi6C0+STAig6ASoiIy92MS9jb21taXRtZW50cy9wbGFuL3twbGFuSWR9L2FwcGx5EqcBChpMaXN0RGVmYXVsdENvbW1pdG1lbnRzUGxhbhIwLmJsdWVhcGkuZ2MudjEuTGlzdERlZmF1bHRDb21taXRtZW50UGxhbnNSZXF1ZXN0GjEuYmx1ZWFwaS5nYy52MS5MaXN0RGVmYXVsdENvbW1pdG1lbnRQbGFuc1Jlc3BvbnNlIiSC0+STAh4SHC92MS9jb21taXRtZW50cy9wbGFuL2RlZmF1bHQSowEKHUdldFJlY29tbWVuZGVkQ29tbWl0bWVudHNQbGFuEjIuYmx1ZWFwaS5nYy52MS5HZXRSZWNvbW1lbmRlZENvbW1pdG1lbnRQbGFuUmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIiiC0+STAiISIC92MS9jb21taXRtZW50cy9wbGFuL3JlY29tbWVuZGVkErcBChxMaXN0Q29tbWl0bWVudHNQbGFuTGluZUl0ZW1zEjEuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXF1ZXN0GjIuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXNwb25zZSIwgtPkkwIqEigvdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9saW5lLWl0ZW1zEs8BCiJMaXN0Q29tbWl0bWVudHNQbGFuUmVzb3VyY2VNYXRjaGVzEjcuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoZXNSZXF1ZXN0GjguYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoZXNSZXNwb25zZSI2gtPkkwIwEi4vdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9yZXNvdXJjZS1tYXRjaGVzEnkKD0xpc3RDb21taXRtZW50cxIlLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVxdWVzdBomLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVzcG9uc2UiF4LT5JMCERIPL3YxL2NvbW1pdG1lbnRzEogBChNHZXRDb21taXRtZW50c0NoYXJ0EikuYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBonLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNDaGFydFJlc3BvbnNlIh2C0+STAhcSFS92MS9jb21taXRtZW50cy9jaGFydBJjCgpHZXRNZXRyaWNzEiAuYmx1ZWFwaS5nYy52MS5HZXRNZXRyaWNzUmVxdWVzdBoeLmJsdWVhcGkuZ2MudjEuTWV0cmljc1Jlc3BvbnNlIhOC0+STAg0SCy92MS9tZXRyaWNzEnEKDUxpc3RSZXNvdXJjZXMSIy5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVzcG9uc2UiFYLT5JMCDxINL3YxL3Jlc291cmNlcxKiAQoVR2V0UmVzb3VyY2VEYWlseVVzYWdlEisuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZSIugtPkkwIoEiYvdjEvcmVzb3VyY2VzL3tyZXNvdXJjZUlkfS9kYWlseS11c2FnZRJyCgxMaXN0U2VnbWVudHMSIi5ibHVlYXBpLmdjLnYxLkxpc3RTZWdtZW50c1JlcXVlc3QaIy5ibHVlYXBpLmdjLnYxLkxpc3RTZWdtZW50c1Jlc3BvbnNlIhmC0+STAhMSES92MS9zZWdtZW50cy9pbmZvEn0KEUdldFNlZ21lbnREZXRhaWxzEicuYmx1ZWFwaS5nYy52MS5HZXRTZWdtZW50RGV0YWlsc1JlcXVlc3QaHS5ibHVlYXBpLmdjLnYxLlNlZ21lbnREZXRhaWxzIiCC0+STAhoSGC92MS9zZWdtZW50cy97c2VnbWVudElkfRKzAQoaTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnQSMC5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZSIwgtPkkwIqEigvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuL3tzZWdtZW50SWR9Em8KC1JlZ2lzdGVyT3JnEiEuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL29uYm9hcmRpbmcSjgEKElN0YXJ0QXdzT25ib2FyZGluZxIoLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBopLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL29uYm9hcmRpbmcvYXdzL3N0YXJ0ErsBChxHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlEjIuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBozLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlIjKC0+STAiwSKi92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi90ZW1wbGF0ZRKpAQoUR2V0QXdzTGF1bmNoU3RhY2tVcmwSKi5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vbGF1bmNoc3RhY2t1cmwSkgEKE1ZlcmlmeUF3c09uYm9hcmRpbmcSKS5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL29uYm9hcmRpbmcvYXdzL3ZlcmlmeRKTAQoTR2V0T25ib2FyZGluZ1N0YXR1cxIpLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9zdGF0dXM6cmVhZBqiAZJBngESUChBbHBoYSkgR3VhcmFudGVlZENvbW1pdG1lbnRzIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2djGkoKElNlcnZpY2UgZGVmaW5pdGlvbhI0aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2djL0JVChRjbG91ZC5hbHBoYXVzLmFwaS5nY0IaR3VhcmFudGVlZENvbW1pdG1lbnRzUHJvdG9aIWdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9nY2IGcHJvdG8z", [file_google_api_annotations, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
17
+ fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiMQofR2V0Q29tbWl0bWVudFBsYW5EZXRhaWxzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIk4KIUxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXIiUAojR2V0UmVjb21tZW5kZWRDb21taXRtZW50UGxhblJlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqABCiJMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIPCgdvcmRlckJ5GAIgASgJEgwKBGRlc2MYAyABKAgSEQoJc2VnbWVudElkGAQgASgJEhgKEHJlc291cmNlTWF0Y2hJZHMYBSADKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKyAQooTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkSDwoHb3JkZXJCeRgCIAEoCRIMCgRkZXNjGAMgASgIEhEKCXN0YXJ0RGF0ZRgEIAEoCRIPCgdlbmREYXRlGAUgASgJEhMKC2xpbmVJdGVtSWRzGAYgAygJEgwKBHBhZ2UYByABKAUSEAoIcGFnZVNpemUYCCABKAUiGAoWTGlzdENvbW1pdG1lbnRzUmVxdWVzdCJnChpHZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkSDwoHZ3JvdXBCeRgCIAEoCRIRCglzdGFydERhdGUYAyABKAkSDwoHZW5kRGF0ZRgEIAEoCSI4CiBHZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkiPgoRR2V0TWV0cmljc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqMBChRMaXN0UmVzb3VyY2VzUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc2VnbWVudElkGAIgASgJEg4KBnNlYXJjaBgDIAEoCRIMCgRkZXNjGAQgASgIEg8KB29yZGVyQnkYBSABKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKMAQocR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBISCgpyZXNvdXJjZUlkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhQKDGNhdGFsb2dTa3VJZBgEIAEoCRIMCgRwYWdlGAUgASgFEhAKCHBhZ2VTaXplGAYgASgFIkAKE0xpc3RTZWdtZW50c1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIi0KGEdldFNlZ21lbnREZXRhaWxzUmVxdWVzdBIRCglzZWdtZW50SWQYASABKAkiIwohTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IiYKB09yZ1VzZXISDQoFZW1haWwYASABKAkSDAoEcm9sZRgCIAEoCSIsCgpNZW1iZXJzaGlwEgwKBHJvbGUYASABKAkSEAoIdXNlcm5hbWUYAiABKAkiYgoHQWRkcmVzcxINCgVsaW5lMRgBIAEoCRIMCgRjaXR5GAIgASgJEg0KBXN0YXRlGAMgASgJEgsKA3ppcBgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEg0KBWxpbmUyGAYgASgJIlQKDkF3c0V4aXN0aW5nQ3VyEg4KBnJlZ2lvbhgBIAEoCRIOCgZidWNrZXQYAiABKAkSDgoGcHJlZml4GAMgASgJEhIKCnJlcG9ydE5hbWUYBCABKAkirQIKElJlZ2lzdGVyT3JnUmVxdWVzdBINCgVtc3BJZBgBIAEoCRIRCgliaWxsaW5nSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIbChNsYWJyYVN1YnNjcmlwdGlvbklkGAQgASgJEiUKBXVzZXJzGAUgAygLMhYuYmx1ZWFwaS5nYy52MS5PcmdVc2VyEg4KBmRvbWFpbhgGIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgHIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAkgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAogASgJIlcKGVN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiYQojR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiWQobR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJIrUBChpWZXJpZnlBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIUCgxvbmJvYXJkaW5nSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEjIKC2V4aXN0aW5nQ3VyGAYgASgLMh0uYmx1ZWFwaS5nYy52MS5Bd3NFeGlzdGluZ0N1ciJHChpHZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkiGgoYTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0IkMKHVNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIh4KHEdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QiwgcKIVNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0UmVxdWVzdBIOCgZwbGFuSWQYASABKAkSFgoOcmVzZXJ2YXRpb25JZHMYAiADKAkSEwoLcmVzb3VyY2VJZHMYAyADKAkSFgoObWF4VXBmcm9udENvc3QYBCABKAESKQoIcHJvdmlkZXIYBSABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2VuZERhdGUYBiABKAkSEQoJc3RhcnREYXRlGAcgASgJEhEKCXNlZ21lbnRJZBgIIAEoCRIOCgZzdGF0dXMYCSABKAkSEwoLZGVzY3JpcHRpb24YCiABKAkSDAoEbmFtZRgLIAEoCRIeChZwcmVmZXJyZWRQYXltZW50T3B0aW9uGAwgASgJEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgNIAMoCRI6ChVpbmNsdWRlZENvbnRyYWN0U3BlY3MYDiADKAsyGy5ibHVlYXBpLmdjLnYxLkNvbnRyYWN0U3BlYxIqCgpjb3ZlcmFnZUlkGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNyZWF0ZWRBdBgQIAEoCRIpCgljcmVhdGVkQnkYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEgoKZGF0YVNvdXJjZRgSIAEoCRIvCg9leGVjdXRpb25Qb2xpY3kYEyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFgoOZmxhZ2dlZEFjdGlvbnMYFCADKAkSCgoCaWQYFSABKAkSFQoNaXNDYWxjdWxhdGluZxgWIAEoCBIRCglpc0RlZmF1bHQYFyABKAgSEAoIaXNMb2NrZWQYGCABKAgSFQoNaXNSZWNvbW1lbmRlZBgZIAEoCBIRCglpc1JlbmV3YWwYGiABKAgSDwoHaXNTYXZlZBgbIAEoCBIUCgxsYXN0TW9kaWZpZWQYHCABKAkSEgoKbWV0YVBsYW5JZBgdIAEoCRI6ChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgeIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRINCgVvcmdJZBgfIAEoCRIQCghwbGFuVHlwZRggIAEoCRI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYISABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJwoHc2VnbWVudBgiIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudCIfCh1MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdCIwCh5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlcXVlc3QSDgoGcGxhbklkGAEgASgJIjEKA09yZxINCgVvcmdJZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJIvMEChVDb21taXRtZW50UGxhbkRldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCgljcmVhdGVkQXQYBSABKAkSFQoNaXNDYWxjdWxhdGluZxgGIAEoCBIOCgZzdGF0dXMYByABKAkSDwoHbWF4VGVybRgIIAEoCRIhChljb3ZlcmVkT25kZW1hbmRDb3N0SG91cmx5GAkgASgBEiAKGGJlZm9yZU9uZGVtYW5kQ29zdEhvdXJseRgKIAEoARIgChhiZWZvcmVSZXNlcnZlZENvc3RIb3VybHkYCyABKAESGwoTYW1vcnRpemVkQ29zdEhvdXJseRgMIAEoARIbChNyZWN1cnJpbmdDb3N0SG91cmx5GA0gASgBEhkKEXVwZnJvbnRDb3N0SG91cmx5GA4gASgBEhgKEGJlZm9yZUNvc3RIb3VybHkYDyABKAESFwoPYWZ0ZXJDb3N0SG91cmx5GBAgASgBEhcKD3RvdGFsQ29zdEhvdXJseRgRIAEoARIVCg1zYXZpbmdzSG91cmx5GBIgASgBEhEKCWZlZUhvdXJseRgTIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYFCABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GBUgASgBEhYKDmJyZWFrZXZlbkhvdXJzGBYgASgBEhQKDHRvdGFsU2F2aW5ncxgXIAEoARIWCg5tb250aGx5U2F2aW5ncxgYIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GBkgASgBIlkKIkxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVzcG9uc2USMwoFcGxhbnMYASADKAsyJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyLpBQoWQ29tbWl0bWVudFBsYW5MaW5lSXRlbRIKCgJpZBgBIAEoCRIOCgZwbGFuSWQYAiABKAkSDwoHb2ZmZXJJZBgDIAEoCRIXCg9sZWFzZU1lbnVJdGVtSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEhsKE3JlY29tbWVuZGVkUXVhbnRpdHkYBiABKAESGAoQc2VsZWN0ZWRRdWFudGl0eRgHIAEoARIdChVyZWNvbW1lbmRlZENvbW1pdG1lbnQYCCABKAESGgoSc2VsZWN0ZWRDb21taXRtZW50GAkgASgBEhIKCmlzU2VsZWN0ZWQYCiABKAgSGgoSYWZ0ZXJBbW9ydGl6ZWRDb3N0GAsgASgBEhMKC3VwZnJvbnRDb3N0GAwgASgBEhUKDXJlY3VycmluZ0Nvc3QYDSABKAESEgoKYmVmb3JlQ29zdBgOIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GBAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYESABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYEiABKAESEQoJdG90YWxDb3N0GBMgASgBEhMKC21vbnRobHlDb3N0GBQgASgBEg8KB3NhdmluZ3MYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEgsKA2ZlZRgYIAEoARIUCgxkaXNjb3VudFJhdGUYGSABKAESFgoOYnJlYWtldmVuSG91cnMYGiABKAESFAoMY29udHJhY3RUZXJtGBsgASgJEhUKDXBheW1lbnRPcHRpb24YHCABKAkSLQoMY29udHJhY3RTcGVjGB0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVvZmZlchgeIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXwojTGlzdENvbW1pdG1lbnRQbGFuTGluZUl0ZW1zUmVzcG9uc2USOAoJbGluZUl0ZW1zGAEgAygLMiUuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkxpbmVJdGVtIvcEChtDb21taXRtZW50UGxhblJlc291cmNlTWF0Y2gSCgoCaWQYASABKAkSEgoKdG90YWxVbml0cxgCIAEoARIcChRiZWZvcmVVbmNvdmVyZWRVbml0cxgDIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgEIAEoARIbChNhZnRlclVuY292ZXJlZFVuaXRzGAUgASgBEhUKDW9uZGVtYW5kUHJpY2UYBiABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYByABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GAggASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GAkgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYCiABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GAsgASgBEhkKEWFmdGVyUmVzZXJ2ZWRDb3N0GAwgASgBEhIKCmJlZm9yZUNvc3QYDSABKAESEQoJYWZ0ZXJDb3N0GA4gASgBEhkKEW1vbnRobHlCZWZvcmVDb3N0GA8gASgBEhgKEG1vbnRobHlBZnRlckNvc3QYECABKAESIAoYbW9udGhseUFmdGVyUmVzZXJ2ZWRDb3N0GBEgASgBEiAKGG1vbnRobHlBZnRlck9uZGVtYW5kQ29zdBgSIAEoARIWCg5hdmVyYWdlU2F2aW5ncxgTIAEoARIdChVhdmVyYWdlTW9udGhseVNhdmluZ3MYFCABKAESEQoJdXNhZ2VUeXBlGBUgASgJEhAKCGNvdmVyYWdlGBYgASgBEikKCHJlc291cmNlGBcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJwCilMaXN0Q29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoZXNSZXNwb25zZRJDCg9yZXNvdXJjZU1hdGNoZXMYASADKAsyKi5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaCLuAQoFTGVhc2USCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSHQoVcHJvdmlkZXJSZXNlcnZhdGlvbklkGAMgASgJEhEKCWFjY291bnRJZBgEIAEoCRIOCgZzdGF0dXMYBSABKAkSEQoJc3RhcnREYXRlGAYgASgJEg8KB2VuZERhdGUYByABKAkSEgoKbG9ja2luRGF0ZRgIIAEoCRITCgt1cGZyb250Q29zdBgJIAEoARIVCg1yZWN1cnJpbmdDb3N0GAogASgBEhEKCWNyZWF0ZWRBdBgLIAEoCRIRCgl1cGRhdGVkQXQYDCABKAkiSQoQRGFpbHlVdGlsaXphdGlvbhIMCgRkYXRlGAEgASgJEhMKC3V0aWxpemF0aW9uGAIgASgBEhIKCm5ldFNhdmluZ3MYAyABKAEi0AcKCkNvbW1pdG1lbnQSCgoCaWQYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhUKDWFtb3J0aXplZENvc3QYAyABKAESGAoQYmlsbGluZ0FjY291bnRJZBgEIAEoCRIRCgljYW5SZWJhdGUYBSABKAgSFAoMY29udHJhY3RUZXJtGAYgASgJEhMKC2Rpc3BsYXlOYW1lGAcgASgJEhcKD2R1cmF0aW9uU2Vjb25kcxgIIAEoARIeChZlZmZlY3RpdmVJbnN0YW5jZUNvdW50GAkgASgDEg8KB2VuZERhdGUYCiABKAkSFQoNaW5zdGFuY2VDb3VudBgLIAEoAxIWCg5pbnN0YW5jZUZhbWlseRgMIAEoCRIUCgxpbnN0YW5jZVR5cGUYDSABKAkSEAoIaXNBY3RpdmUYDiABKAgSEgoKaXNGbGV4aWJsZRgPIAEoCBIQCghpc0xlYXNlZBgQIAEoCBIRCglpc011bHRpQXoYESABKAgSFwoPbGVhc2VMb2NraW5EYXRlGBIgASgJEhIKCmxlYXNlU3RhcnQYEyABKAkSGQoRbGVhc2VkRGlzcGxheU5hbWUYFCABKAkSEwoLbW9udGhseUNvc3QYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESDAoEbmFtZRgXIAEoCRISCgpuZXRTYXZpbmdzGBggASgBEhIKCm9mZmVyaW5nSWQYGSABKAkSFQoNcGF5bWVudE9wdGlvbhgaIAEoCRIYChBwb3RlbnRpYWxTYXZpbmdzGBsgASgBEhoKEnByb2R1Y3REZXNjcmlwdGlvbhgcIAEoCRIQCghwcm92aWRlchgdIAEoCRIeChZwcm92aWRlclJlc2VydmF0aW9uX2lkGB4gASgJEhUKDXJlY3VycmluZ0Nvc3QYHyABKAESDgoGcmVnaW9uGCAgASgJEhMKC3JlbmV3YWxQbGFuGCEgASgJEhYKDnJlc2VydmF0aW9uRW5kGCIgASgJEhgKEHJlc2VydmF0aW9uU3RhcnQYIyABKAkSFAoMcnVubmluZ0hvdXJzGCQgASgBEg8KB3NhdmluZ3MYJSABKAESEQoJc3RhcnREYXRlGCYgASgJEg4KBnN0YXR1cxgnIAEoCRIeChZ0cmFuc2ZlclJlc2VydmF0aW9uRW5kGCggASgJEiAKGHRyYW5zZmVyUmVzZXJ2YXRpb25TdGFydBgpIAEoCRIMCgR0eXBlGCogASgJEhMKC3VwZnJvbnRDb3N0GCsgASgBEhMKC3V0aWxpemF0aW9uGCwgASgBIkkKF0xpc3RDb21taXRtZW50c1Jlc3BvbnNlEi4KC2NvbW1pdG1lbnRzGAEgAygLMhkuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50IkoKFENvbW1pdG1lbnRzQ2hhcnREYXRhEgwKBGRhdGUYASABKAkSEAoIY2hhcnRLZXkYAiABKAkSEgoKY2hhcnRWYWx1ZRgDIAEoASJNChhDb21taXRtZW50c0NoYXJ0UmVzcG9uc2USMQoEZGF0YRgBIAMoCzIjLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNDaGFydERhdGEi/AEKGkNvbW1pdG1lbnRzVXRpbGl6YXRpb25EYXRhEhcKD3V0aWxpemF0aW9uRGF0ZRgBIAEoCRIMCgRjb3N0GAIgASgBEhMKC2NvdmVyZWRDb3N0GAMgASgBEg8KB2dyaUZlZXMYBCABKAESEgoKbmV0U2F2aW5ncxgFIAEoARIYChBwb3RlbnRpYWxTYXZpbmdzGAYgASgBEh4KFnJlc2VydmF0aW9uVXRpbGl6YXRpb24YByABKAESFAoMcnVubmluZ0hvdXJzGAggASgBEg8KB3NhdmluZ3MYCSABKAESHAoUdW51dGlsaXplZENvbW1pdG1lbnQYCiABKAEiWQoeQ29tbWl0bWVudHNVdGlsaXphdGlvblJlc3BvbnNlEjcKBGRhdGEYASADKAsyKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzVXRpbGl6YXRpb25EYXRhIs0DCg9NZXRyaWNzUmVzcG9uc2USFwoPbGlmZXRpbWVTYXZpbmdzGAEgASgBEhIKCm10ZFNhdmluZ3MYAiABKAESIQoZcHVyY2hhc2VBdXRvbWF0aW9uRW5hYmxlZBgDIAEoCBIgChhidXliYWNrQXV0b21hdGlvbkVuYWJsZWQYBCABKAgSFwoPaGFzQWN0aW9uZWRQbGFuGAUgASgIEhkKEWhhc1BlbmRpbmdBY3Rpb25zGAYgASgIEhsKE2xhdGVzdEV4ZWN1dGlvbkRhdGUYByABKAkSHQoVcHVyY2hhc2VNaXNzZWRTYXZpbmdzGAggASgBEhwKFGJ1eWJhY2tNaXNzZWRTYXZpbmdzGAkgASgBEh8KF3RvdGFsRGFpbHlNaXNzZWRTYXZpbmdzGAogASgBEhsKE2hvdXJseU1pc3NlZFNhdmluZ3MYCyABKAESHgoWbWlzc2VkU2F2aW5nc1N0YXJ0RGF0ZRgMIAEoCRIcChRtaXNzZWRTYXZpbmdzRW5kRGF0ZRgNIAEoCRIXCg9leHBpcmluZ1NhdmluZ3MYDiABKAESEAoIY292ZXJhZ2UYDyABKAESEwoLdXRpbGl6YXRpb24YECABKAEiiAgKCFJlc291cmNlEgoKAmlkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgEIAEoCRIOCgZpc1Nwb3QYBSABKAgSDAoEbmFtZRgGIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAcgASgJEhAKCHVzYWdlRW5kGAggASgJEhIKCnVzYWdlU3RhcnQYCSABKAkSJQoEdGFncxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCRISCgppbnN0YW5jZUlkGA0gASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYDiABKAkSFAoMc3ViQWNjb3VudElkGA8gASgJEhsKE21hbmFnZW1lbnRBY2NvdW50SWQYECABKAkSFgoOb3duZXJBY2NvdW50SWQYESABKAkSEAoIc2t1VGl0bGUYEiABKAkSDwoHc2t1TmFtZRgTIAEoCRIYChBhdmFpbGFiaWxpdHlab25lGBQgASgJEhMKC2NhY2hlRW5naW5lGBUgASgJEhYKDmRhdGFiYXNlRW5naW5lGBYgASgJEhMKC2Rlc2NyaXB0aW9uGBcgASgJEg4KBmZhbWlseRgYIAEoCRIWCg5mdWxsUmVnaW9uTmFtZRgZIAEoCRIYChBoYXNPbmRlbWFuZFRlcm1zGBogASgIEhQKDGluc3RhbmNlVHlwZRgbIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYHCABKAkSFAoMaXNSZXNlcnZhYmxlGB0gASgIEhQKDGxpY2Vuc2VNb2RlbBgeIAEoCRIUCgxsb2NhdGlvblR5cGUYHyABKAkSHwoXbm9ybWFsaXphdGlvblNpemVGYWN0b3IYICABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGCEgASgJEhYKDnByZUluc3RhbGxlZFN3GCIgASgJEhUKDXByaWNlQ3VycmVuY3kYIyABKAkSFwoPcHJvdmlkZXJTZXJ2aWNlGCQgASgJEhUKDXByb3ZpZGVyU2t1SWQYJSABKAkSFwoPcHVibGljYXRpb25EYXRlGCYgASgJEg4KBnJlZ2lvbhgnIAEoCRIPCgdzZXJ2aWNlGCggASgJEg8KB3RlbmFuY3kYKSABKAkSEQoJdXNhZ2VUeXBlGCogASgJEg8KB3ZlcnNpb24YKyABKAkSHAoUdnBjTmV0d29ya2luZ1N1cHBvcnQYLCABKAgSGQoRb25kZW1hbmRVc2FnZVVuaXQYLSABKAkiQwoVTGlzdFJlc291cmNlc1Jlc3BvbnNlEioKCXJlc291cmNlcxgBIAMoCzIXLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2Ui1AIKElJlc291cmNlRGFpbHlVc2FnZRIMCgRkYXRlGAEgASgJEhYKDnVzYWdlQWNjb3VudElkGAIgASgJEhQKDHN1YkFjY291bnRJZBgDIAEoCRINCgV1c2FnZRgEIAEoARIYChByZXNlcnZhdGlvblVzYWdlGAUgASgBEhUKDWZyZWVUaWVyVXNhZ2UYBiABKAESFAoMb25kZW1hbmRDb3N0GAcgASgBEhQKDHJlc2VydmVkQ29zdBgIIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgJIAEoARIQCghzcG90Q29zdBgKIAEoARIXCg9mcmVlVGllclNhdmluZ3MYCyABKAESEQoJdXNhZ2VUeXBlGAwgASgJEhcKD2NvbW1vblVzYWdlVHlwZRgNIAEoCRIUCgxjb3ZlcmVkVXNhZ2UYDiABKAESDgoGdXB0aW1lGA8gASgBIlYKHUdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlEjUKCmRhaWx5VXNhZ2UYASADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSJ0CgdTZWdtZW50EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCWlzRGVmYXVsdBgEIAEoCBIRCgljcmVhdGVkQXQYBSABKAkiQAoUTGlzdFNlZ21lbnRzUmVzcG9uc2USKAoIc2VnbWVudHMYASADKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQiQAoOU2VnbWVudENyZWF0b3ISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAkiSwoMUHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhEKCWlzUmVuZXdhbBgEIAEoCCKlBQoOU2VnbWVudERldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIpCghwcm92aWRlchgEIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISFgoOY2xvdWRQcm92aWRlcnMYBSADKAkSEQoJaXNEZWZhdWx0GAYgASgIEhEKCWNyZWF0ZWRBdBgHIAEoCRIwCgljcmVhdGVkQnkYCCABKAsyHS5ibHVlYXBpLmdjLnYxLlNlZ21lbnRDcmVhdG9yEhAKCHBhcmVudElkGAkgASgJEg4KBnN0YXR1cxgKIAEoCRIUCgxzZWdtZW50Q2xhc3MYCyABKAkSJwoGcGFyYW1zGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBITCgttb250aGx5Q29zdBgNIAEoARIWCg5tb250aGx5TmV0Q29zdBgOIAEoARIgChhtb250aGx5SWZBbGxPbmRlbWFuZENvc3QYDyABKAESGwoTbW9udGhseU9uZGVtYW5kQ29zdBgQIAEoARIbChNtb250aGx5UmVzZXJ2ZWRDb3N0GBEgASgBEhcKD21vbnRobHlTcG90Q29zdBgSIAEoARIWCg5tb250aGx5U2F2aW5ncxgTIAEoARIVCg1tb250aGx5QnVkZ2V0GBQgASgBEhAKCGNvdmVyYWdlGBUgASgBEhsKE3JlY29tbWVuZGVkQ292ZXJhZ2UYFiABKAESFgoOdGFyZ2V0Q292ZXJhZ2UYFyABKAESHAoUbW9udGhseVJlc291cmNlQ291bnQYGCABKAUSMgoNcHVyY2hhc2VQbGFucxgZIAMoCzIbLmJsdWVhcGkuZ2MudjEuUHVyY2hhc2VQbGFuIngKDENvbnRyYWN0U3BlYxIWCg5jb21taXRtZW50VHlwZRgBIAEoCRIVCg1wYXltZW50T3B0aW9uGAIgASgJEgwKBHRlcm0YAyABKAkSKwoKcHJvcGVydGllcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi3gIKC1BsYW5TdW1tYXJ5EgsKA2tleRgBIAEoCRIQCghwcm92aWRlchgCIAEoCRIWCg5udW1Db21taXRtZW50cxgDIAEoBRIVCg1taW5Db21taXRtZW50GAQgASgBEhkKEW1vbnRobHlDb21taXRtZW50GAUgASgBEhMKC3VwZnJvbnRDb3N0GAYgASgBEhIKCm1pblNhdmluZ3MYByABKAESEgoKbWF4U2F2aW5ncxgIIAEoARIWCg5tb250aGx5U2F2aW5ncxgJIAEoARIUCgxtaW5UZXJtSG91cnMYCiABKAUSFAoMbWF4VGVybUhvdXJzGAsgASgFEhMKC2dyaVByZW1pdW1zGAwgASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgNIAEoARIZChFhZnRlck9uZGVtYW5kQ29zdBgOIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgPIAEoASLlAgoOU2VydmljZVN1bW1hcnkSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSEwoLc2VydmljZU5hbWUYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSFgoObnVtQ29tbWl0bWVudHMYBSABKAUSFwoPY3VycmVudENvdmVyYWdlGAYgASgBEhkKEXBvdGVudGlhbENvdmVyYWdlGAcgASgBEhUKDW1pbkNvbW1pdG1lbnQYCCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYCSABKAESEwoLdXBmcm9udENvc3QYCiABKAESEgoKbWluU2F2aW5ncxgLIAEoARISCgptYXhTYXZpbmdzGAwgASgBEhYKDm1vbnRobHlTYXZpbmdzGA0gASgBEhQKDG1pblRlcm1Ib3VycxgOIAEoBRIUCgxtYXhUZXJtSG91cnMYDyABKAUSEgoKZ3JpUHJlbWl1bRgQIAEoASLaAQoQQWdncmVnYXRlTWV0cmljcxIXCg9jdXJyZW50Q292ZXJhZ2UYASABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYAiABKAESQQoJc3VtbWFyaWVzGAMgAygLMi4uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzLlN1bW1hcmllc0VudHJ5Gk8KDlN1bW1hcmllc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VydmljZVN1bW1hcnk6AjgBItUKChNEZWZhdWx0UHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJc2VnbWVudElkGAUgASgJEicKB3NlZ21lbnQYBiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQSDgoGc3RhdHVzGAcgASgJEhAKCHBsYW5UeXBlGAggASgJEhEKCWNyZWF0ZWRBdBgJIAEoCRIUCgxsYXN0TW9kaWZpZWQYCiABKAkSKQoJY3JlYXRlZEJ5GAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi8KD2V4ZWN1dGlvblBvbGljeRgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglpc0RlZmF1bHQYDSABKAgSFQoNaXNSZWNvbW1lbmRlZBgOIAEoCBIRCglpc1JlbmV3YWwYDyABKAgSFQoNaXNDYWxjdWxhdGluZxgQIAEoCBIQCghpc0xvY2tlZBgRIAEoCBIPCgdpc1NhdmVkGBIgASgIEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgTIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgUIAMoCRIPCgdtYXhUZXJtGBUgASgJEh4KFnByZWZlcnJlZFBheW1lbnRPcHRpb24YFiABKAkSFgoObWF4VXBmcm9udENvc3QYFyABKAESIgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYGCABKAESPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGBkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCXN0YXJ0RGF0ZRgaIAEoCRIPCgdlbmREYXRlGBsgASgJEhIKCmRhdGFTb3VyY2UYHCABKAkSEgoKYmVmb3JlQ29zdBgdIAEoARIRCglhZnRlckNvc3QYHiABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GB8gASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBggIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GCEgASgBEhUKDWFtb3J0aXplZENvc3QYIiABKAESFQoNcmVjdXJyaW5nQ29zdBgjIAEoARITCgt1cGZyb250Q29zdBgkIAEoARIRCgl0b3RhbENvc3QYJSABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgmIAEoARIPCgdzYXZpbmdzGCcgASgBEhYKDm1vbnRobHlTYXZpbmdzGCggASgBEhQKDHRvdGFsU2F2aW5ncxgpIAEoARILCgNmZWUYKiABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGCsgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgsIAEoARIWCg5icmVha2V2ZW5Ib3VycxgtIAEoARI5ChBhZ2dyZWdhdGVNZXRyaWNzGC4gASgLMh8uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzEi0KCXN1bW1hcmllcxgvIAMoCzIaLmJsdWVhcGkuZ2MudjEuUGxhblN1bW1hcnkSFgoOcmVzZXJ2YXRpb25JZHMYMCADKAkSEwoLcmVzb3VyY2VJZHMYMSADKAkSFgoOZmxhZ2dlZEFjdGlvbnMYMiADKAkSEgoKbWV0YVBsYW5JZBgzIAEoCRISCgpjb3ZlcmFnZUlkGDQgASgJIlcKIkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4ihAIKE1JlZ2lzdGVyT3JnUmVzcG9uc2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIuCgttZW1iZXJzaGlwcxgDIAMoCzIZLmJsdWVhcGkuZ2MudjEuTWVtYmVyc2hpcBIOCgZkb21haW4YBCABKAkSLgoOcHJpbWFyeUFkZHJlc3MYBSABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYBiABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgHIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCSIyChpTdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZRIUCgxvbmJvYXJkaW5nSWQYASABKAkiUQokR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlEikKCHRlbXBsYXRlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIrChxHZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlEgsKA3VybBgBIAEoCSKPBAobVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlElQKBmNoZWNrcxgBIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2samQMKGUF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSDwoHZmVhdHVyZRgBIAEoCRJvCgZzdGF0dXMYAiABKA4yXy5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrLkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzIvkBChpBd3NPbmJvYXJkaW5nRmVhdHVyZVN0YXR1cxItCilBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTlNQRUNJRklFRBAAEisKJ0FXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX0FWQUlMQUJMRRABEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1dBUk5JTkcQAhIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19NSVNTSU5HEAMSKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfVU5LTk9XThAEIpwFChtHZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2USDQoFZm91bmQYASABKAgSDQoFaXNNc3AYAiABKAgSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2djT3JnSWQYBCABKAkSFAoMb25ib2FyZGluZ0lkGAUgASgJElUKEG9uYm9hcmRpbmdTdGF0dXMYBiABKA4yOy5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZS5PbmJvYXJkaW5nU3RhdHVzEhEKCWFjY291bnRJZBgHIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgIIAEoCRIRCgljb21wYW55SWQYCSABKAkSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAogAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayKVAgoQT25ib2FyZGluZ1N0YXR1cxIhCh1PTkJPQVJESU5HX1NUQVRVU19VTlNQRUNJRklFRBAAEiQKIE9OQk9BUkRJTkdfU1RBVFVTX05PVF9SRUdJU1RFUkVEEAESIAocT05CT0FSRElOR19TVEFUVVNfUkVHSVNURVJFRBACEigKJE9OQk9BUkRJTkdfU1RBVFVTX09OQk9BUkRJTkdfU1RBUlRFRBADEh4KGk9OQk9BUkRJTkdfU1RBVFVTX1ZFUklGSUVEEAQSJwojT05CT0FSRElOR19TVEFUVVNfVkVSSUZZX0lOQ09NUExFVEUQBRIjCh9PTkJPQVJESU5HX1NUQVRVU19WRVJJRllfRkFJTEVEEAYikAQKGUxpc3RQYXllckFjY291bnRzUmVzcG9uc2USTAoNcGF5ZXJBY2NvdW50cxgBIAMoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQaowIKDFBheWVyQWNjb3VudBIRCglhY2NvdW50SWQYASABKAkSEwoLYWNjb3VudE5hbWUYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJc2VnbWVudElkGAQgASgJEksKBnN0YXR1cxgFIAEoDjI7LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnRTdGF0dXMSEQoJY29tcGFueUlkGAYgASgJEmAKEnZlcmlmaWNhdGlvbkNoZWNrcxgHIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sifwoSUGF5ZXJBY2NvdW50U3RhdHVzEiQKIFBBWUVSX0FDQ09VTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIAocUEFZRVJfQUNDT1VOVF9TVEFUVVNfRU5BQkxFRBABEiEKHVBBWUVSX0FDQ09VTlRfU1RBVFVTX0RJU0FCTEVEEAIibQoeU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlc3BvbnNlEksKDHBheWVyQWNjb3VudBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQibAodR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJTCh5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQgofRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZRIOCgZwbGFuSWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCCpeCghQcm92aWRlchIYChRQUk9WSURFUl9VTlNQRUNJRklFRBAAEgcKA0FXUxABEgkKBUFaVVJFEAISBwoDR0NQEAMSDgoKS1VCRVJORVRFUxAEEgsKB1VOS05PV04QBSqYAQoQQ29tbWl0bWVudFN0YXR1cxIhCh1DT01NSVRNRU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEgcKA05FVxABEgwKCFJFVklFV0VEEAISDQoJU0NIRURVTEVEEAMSDQoJQ09NUExFVEVEEAQSCQoFRFJBRlQQBRIQCgxORUVEU19SRVZJRVcQBhIPCgtJTl9QUk9HUkVTUxAHKooBChlDb21taXRtZW50SW52ZW50b3J5U3RhdHVzEisKJ0NPTU1JVE1FTlRfSU5WRU5UT1JZX1NUQVRVU19VTlNQRUNJRklFRBAAEgoKBkFDVElWRRABEgsKB1JFVElSRUQQAhITCg9QQVlNRU5UX1BFTkRJTkcQAxISCg5QQVlNRU5UX0ZBSUxFRBAEKkMKBVNjb3BlEhUKEVNDT1BFX1VOU1BFQ0lGSUVEEAASCgoGU0hBUkVEEAESDAoIUkVHSU9OQUwQAhIJCgVaT05BTBADKkEKCVVzYWdlVHlwZRIaChZVU0FHRV9UWVBFX1VOU1BFQ0lGSUVEEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAjKHIQoVR3VhcmFudGVlZENvbW1pdG1lbnRzEmMKCExpc3RPcmdzEh4uYmx1ZWFwaS5nYy52MS5MaXN0T3Jnc1JlcXVlc3QaEi5ibHVlYXBpLmdjLnYxLk9yZyIhgtPkkwIbOgEqIhYvdjEvb3JnYW5pemF0aW9uczpyZWFkMAESmAEKGUdldENvbW1pdG1lbnRzUGxhbkRldGFpbHMSLi5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRQbGFuRGV0YWlsc1JlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIlgtPkkwIfEh0vdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfRKXAQoUQ29tbWl0bWVudHNQbGFuQXBwbHkSKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiLoLT5JMCKDoBKiIjL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vYXBwbHkSpwEKGkxpc3REZWZhdWx0Q29tbWl0bWVudHNQbGFuEjAuYmx1ZWFwaS5nYy52MS5MaXN0RGVmYXVsdENvbW1pdG1lbnRQbGFuc1JlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVzcG9uc2UiJILT5JMCHhIcL3YxL2NvbW1pdG1lbnRzL3BsYW4vZGVmYXVsdBKjAQodR2V0UmVjb21tZW5kZWRDb21taXRtZW50c1BsYW4SMi5ibHVlYXBpLmdjLnYxLkdldFJlY29tbWVuZGVkQ29tbWl0bWVudFBsYW5SZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiKILT5JMCIhIgL3YxL2NvbW1pdG1lbnRzL3BsYW4vcmVjb21tZW5kZWQStgEKHExpc3RDb21taXRtZW50c1BsYW5MaW5lSXRlbXMSMS5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50UGxhbkxpbmVJdGVtc1JlcXVlc3QaMi5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50UGxhbkxpbmVJdGVtc1Jlc3BvbnNlIi+C0+STAikSJy92MS9jb21taXRtZW50cy9wbGFuL3twbGFuSWR9L2xpbmVpdGVtcxLOAQoiTGlzdENvbW1pdG1lbnRzUGxhblJlc291cmNlTWF0Y2hlcxI3LmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBo4LmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVzcG9uc2UiNYLT5JMCLxItL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vcmVzb3VyY2VtYXRjaGVzEnkKD0xpc3RDb21taXRtZW50cxIlLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVxdWVzdBomLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVzcG9uc2UiF4LT5JMCERIPL3YxL2NvbW1pdG1lbnRzEpcBChNHZXRDb21taXRtZW50c0NoYXJ0EikuYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBonLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNDaGFydFJlc3BvbnNlIiyC0+STAiYSJC92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS9jaGFydBKvAQoZR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvbhIvLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXNwb25zZSIygtPkkwIsEiovdjEvY29tbWl0bWVudHMve2NvbW1pdG1lbnRJZH0vdXRpbGl6YXRpb24SYwoKR2V0TWV0cmljcxIgLmJsdWVhcGkuZ2MudjEuR2V0TWV0cmljc1JlcXVlc3QaHi5ibHVlYXBpLmdjLnYxLk1ldHJpY3NSZXNwb25zZSITgtPkkwINEgsvdjEvbWV0cmljcxJxCg1MaXN0UmVzb3VyY2VzEiMuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuTGlzdFJlc291cmNlc1Jlc3BvbnNlIhWC0+STAg8SDS92MS9yZXNvdXJjZXMSoQEKFUdldFJlc291cmNlRGFpbHlVc2FnZRIrLmJsdWVhcGkuZ2MudjEuR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVzcG9uc2UiLYLT5JMCJxIlL3YxL3Jlc291cmNlcy97cmVzb3VyY2VJZH0vZGFpbHl1c2FnZRKnAQoaTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnQSMC5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZSIkgtPkkwIeEhwvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuEqoBChpTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdBIwLmJsdWVhcGkuZ2MudjEuU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIjaC0+STAjA6ASoiKy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW4ve3BsYW5JZH0vZHJhZnQSoQEKFkxpc3REcmFmdFB1cmNoYXNlUGxhbnMSLC5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2UiKoLT5JMCJBIiL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbi9kcmFmdBKtAQoXRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW4SLS5ibHVlYXBpLmdjLnYxLkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVxdWVzdBouLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZSIzgtPkkwItKisvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuL3twbGFuSWR9L2RyYWZ0Em8KC1JlZ2lzdGVyT3JnEiEuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL29uYm9hcmRpbmcSjgEKElN0YXJ0QXdzT25ib2FyZGluZxIoLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBopLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL29uYm9hcmRpbmcvYXdzL3N0YXJ0ErsBChxHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlEjIuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBozLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlIjKC0+STAiwSKi92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi90ZW1wbGF0ZRKpAQoUR2V0QXdzTGF1bmNoU3RhY2tVcmwSKi5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vbGF1bmNoc3RhY2t1cmwSkgEKE1ZlcmlmeUF3c09uYm9hcmRpbmcSKS5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL29uYm9hcmRpbmcvYXdzL3ZlcmlmeRKTAQoTR2V0T25ib2FyZGluZ1N0YXR1cxIpLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9zdGF0dXM6cmVhZBKIAQoRTGlzdFBheWVyQWNjb3VudHMSJy5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVxdWVzdBooLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZSIggtPkkwIaEhgvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMSpgEKFlNldFBheWVyQWNjb3VudEVuYWJsZWQSLC5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3tjb21wYW55SWR9EpsBChVHZXRQYXllckFjY291bnRTdGF0dXMSKy5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1Jlc3BvbnNlIieC0+STAiESHy92MS9tYW5hZ2VtZW50cy9hY2NvdW50cy9zdGF0dXMaogGSQZ4BElAoQWxwaGEpIEd1YXJhbnRlZWRDb21taXRtZW50cyBBUEkuIEJhc2UgVVJMOiBodHRwczovL2FwaS5hbHBoYXVzLmNsb3VkL20vYmx1ZS9nYxpKChJTZXJ2aWNlIGRlZmluaXRpb24SNGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL3RyZWUvbWFpbi9nYy9CVQoUY2xvdWQuYWxwaGF1cy5hcGkuZ2NCGkd1YXJhbnRlZWRDb21taXRtZW50c1Byb3RvWiFnaXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvZ2NiBnByb3RvMw", [file_google_api_annotations, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
18
18
 
19
19
  /**
20
20
  * @generated from message blueapi.gc.v1.ListOrgsRequest
@@ -214,14 +214,18 @@ export const ListCommitmentsRequestSchema: GenMessage<ListCommitmentsRequest> =
214
214
  */
215
215
  export type GetCommitmentsChartRequest = Message<"blueapi.gc.v1.GetCommitmentsChartRequest"> & {
216
216
  /**
217
- * @generated from field: google.protobuf.Struct filter = 1;
217
+ * Required. The commitment id.
218
+ *
219
+ * @generated from field: string commitmentId = 1;
218
220
  */
219
- filter?: JsonObject;
221
+ commitmentId: string;
220
222
 
221
223
  /**
222
- * @generated from field: blueapi.gc.v1.Provider provider = 2;
224
+ * Required. The group filter. Available filters include `region`, `service`, `instanceType`, `instanceTypeFamily`, `usageType` and `operation`.
225
+ *
226
+ * @generated from field: string groupBy = 2;
223
227
  */
224
- provider: Provider;
228
+ groupBy: string;
225
229
 
226
230
  /**
227
231
  * @generated from field: string startDate = 3;
@@ -241,6 +245,25 @@ export type GetCommitmentsChartRequest = Message<"blueapi.gc.v1.GetCommitmentsCh
241
245
  export const GetCommitmentsChartRequestSchema: GenMessage<GetCommitmentsChartRequest> = /*@__PURE__*/
242
246
  messageDesc(file_gc_v1_gc, 8);
243
247
 
248
+ /**
249
+ * @generated from message blueapi.gc.v1.GetCommitmentsUtilizationRequest
250
+ */
251
+ export type GetCommitmentsUtilizationRequest = Message<"blueapi.gc.v1.GetCommitmentsUtilizationRequest"> & {
252
+ /**
253
+ * Required. The commitment id.
254
+ *
255
+ * @generated from field: string commitmentId = 1;
256
+ */
257
+ commitmentId: string;
258
+ };
259
+
260
+ /**
261
+ * Describes the message blueapi.gc.v1.GetCommitmentsUtilizationRequest.
262
+ * Use `create(GetCommitmentsUtilizationRequestSchema)` to create a new message.
263
+ */
264
+ export const GetCommitmentsUtilizationRequestSchema: GenMessage<GetCommitmentsUtilizationRequest> = /*@__PURE__*/
265
+ messageDesc(file_gc_v1_gc, 9);
266
+
244
267
  /**
245
268
  * @generated from message blueapi.gc.v1.GetMetricsRequest
246
269
  */
@@ -256,7 +279,7 @@ export type GetMetricsRequest = Message<"blueapi.gc.v1.GetMetricsRequest"> & {
256
279
  * Use `create(GetMetricsRequestSchema)` to create a new message.
257
280
  */
258
281
  export const GetMetricsRequestSchema: GenMessage<GetMetricsRequest> = /*@__PURE__*/
259
- messageDesc(file_gc_v1_gc, 9);
282
+ messageDesc(file_gc_v1_gc, 10);
260
283
 
261
284
  /**
262
285
  * @generated from message blueapi.gc.v1.ListResourcesRequest
@@ -303,7 +326,7 @@ export type ListResourcesRequest = Message<"blueapi.gc.v1.ListResourcesRequest">
303
326
  * Use `create(ListResourcesRequestSchema)` to create a new message.
304
327
  */
305
328
  export const ListResourcesRequestSchema: GenMessage<ListResourcesRequest> = /*@__PURE__*/
306
- messageDesc(file_gc_v1_gc, 10);
329
+ messageDesc(file_gc_v1_gc, 11);
307
330
 
308
331
  /**
309
332
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageRequest
@@ -345,7 +368,7 @@ export type GetResourceDailyUsageRequest = Message<"blueapi.gc.v1.GetResourceDai
345
368
  * Use `create(GetResourceDailyUsageRequestSchema)` to create a new message.
346
369
  */
347
370
  export const GetResourceDailyUsageRequestSchema: GenMessage<GetResourceDailyUsageRequest> = /*@__PURE__*/
348
- messageDesc(file_gc_v1_gc, 11);
371
+ messageDesc(file_gc_v1_gc, 12);
349
372
 
350
373
  /**
351
374
  * @generated from message blueapi.gc.v1.ListSegmentsRequest
@@ -362,7 +385,7 @@ export type ListSegmentsRequest = Message<"blueapi.gc.v1.ListSegmentsRequest"> &
362
385
  * Use `create(ListSegmentsRequestSchema)` to create a new message.
363
386
  */
364
387
  export const ListSegmentsRequestSchema: GenMessage<ListSegmentsRequest> = /*@__PURE__*/
365
- messageDesc(file_gc_v1_gc, 12);
388
+ messageDesc(file_gc_v1_gc, 13);
366
389
 
367
390
  /**
368
391
  * @generated from message blueapi.gc.v1.GetSegmentDetailsRequest
@@ -379,16 +402,12 @@ export type GetSegmentDetailsRequest = Message<"blueapi.gc.v1.GetSegmentDetailsR
379
402
  * Use `create(GetSegmentDetailsRequestSchema)` to create a new message.
380
403
  */
381
404
  export const GetSegmentDetailsRequestSchema: GenMessage<GetSegmentDetailsRequest> = /*@__PURE__*/
382
- messageDesc(file_gc_v1_gc, 13);
405
+ messageDesc(file_gc_v1_gc, 14);
383
406
 
384
407
  /**
385
408
  * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentRequest
386
409
  */
387
410
  export type ListPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.ListPurchasePlansBySegmentRequest"> & {
388
- /**
389
- * @generated from field: string segmentId = 1;
390
- */
391
- segmentId: string;
392
411
  };
393
412
 
394
413
  /**
@@ -396,7 +415,7 @@ export type ListPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.ListPurch
396
415
  * Use `create(ListPurchasePlansBySegmentRequestSchema)` to create a new message.
397
416
  */
398
417
  export const ListPurchasePlansBySegmentRequestSchema: GenMessage<ListPurchasePlansBySegmentRequest> = /*@__PURE__*/
399
- messageDesc(file_gc_v1_gc, 14);
418
+ messageDesc(file_gc_v1_gc, 15);
400
419
 
401
420
  /**
402
421
  * @generated from message blueapi.gc.v1.OrgUser
@@ -418,7 +437,7 @@ export type OrgUser = Message<"blueapi.gc.v1.OrgUser"> & {
418
437
  * Use `create(OrgUserSchema)` to create a new message.
419
438
  */
420
439
  export const OrgUserSchema: GenMessage<OrgUser> = /*@__PURE__*/
421
- messageDesc(file_gc_v1_gc, 15);
440
+ messageDesc(file_gc_v1_gc, 16);
422
441
 
423
442
  /**
424
443
  * @generated from message blueapi.gc.v1.Membership
@@ -440,7 +459,7 @@ export type Membership = Message<"blueapi.gc.v1.Membership"> & {
440
459
  * Use `create(MembershipSchema)` to create a new message.
441
460
  */
442
461
  export const MembershipSchema: GenMessage<Membership> = /*@__PURE__*/
443
- messageDesc(file_gc_v1_gc, 16);
462
+ messageDesc(file_gc_v1_gc, 17);
444
463
 
445
464
  /**
446
465
  * @generated from message blueapi.gc.v1.Address
@@ -494,7 +513,7 @@ export type Address = Message<"blueapi.gc.v1.Address"> & {
494
513
  * Use `create(AddressSchema)` to create a new message.
495
514
  */
496
515
  export const AddressSchema: GenMessage<Address> = /*@__PURE__*/
497
- messageDesc(file_gc_v1_gc, 17);
516
+ messageDesc(file_gc_v1_gc, 18);
498
517
 
499
518
  /**
500
519
  * @generated from message blueapi.gc.v1.AwsExistingCur
@@ -536,7 +555,7 @@ export type AwsExistingCur = Message<"blueapi.gc.v1.AwsExistingCur"> & {
536
555
  * Use `create(AwsExistingCurSchema)` to create a new message.
537
556
  */
538
557
  export const AwsExistingCurSchema: GenMessage<AwsExistingCur> = /*@__PURE__*/
539
- messageDesc(file_gc_v1_gc, 18);
558
+ messageDesc(file_gc_v1_gc, 19);
540
559
 
541
560
  /**
542
561
  * @generated from message blueapi.gc.v1.RegisterOrgRequest
@@ -609,25 +628,23 @@ export type RegisterOrgRequest = Message<"blueapi.gc.v1.RegisterOrgRequest"> & {
609
628
  * Use `create(RegisterOrgRequestSchema)` to create a new message.
610
629
  */
611
630
  export const RegisterOrgRequestSchema: GenMessage<RegisterOrgRequest> = /*@__PURE__*/
612
- messageDesc(file_gc_v1_gc, 19);
631
+ messageDesc(file_gc_v1_gc, 20);
613
632
 
614
633
  /**
615
634
  * @generated from message blueapi.gc.v1.StartAwsOnboardingRequest
616
635
  */
617
636
  export type StartAwsOnboardingRequest = Message<"blueapi.gc.v1.StartAwsOnboardingRequest"> & {
618
637
  /**
619
- * Ripple context (used for lookup/mapping; not sent to GuaranteedCommitments)
638
+ * Optional: if present => MSP customer (3rd layer), else MSP-level org (2nd layer)
620
639
  *
621
- * @generated from field: string mspId = 1;
640
+ * @generated from field: string billingGroupId = 1;
622
641
  */
623
- mspId: string;
642
+ billingGroupId: string;
624
643
 
625
644
  /**
626
- * Optional: if present => MSP customer (3rd layer), else MSP-level org (2nd layer)
627
- *
628
- * @generated from field: string billingId = 2;
645
+ * @generated from field: string companyId = 2;
629
646
  */
630
- billingId: string;
647
+ companyId: string;
631
648
 
632
649
  /**
633
650
  * @generated from field: string gcOrgId = 3;
@@ -640,25 +657,23 @@ export type StartAwsOnboardingRequest = Message<"blueapi.gc.v1.StartAwsOnboardin
640
657
  * Use `create(StartAwsOnboardingRequestSchema)` to create a new message.
641
658
  */
642
659
  export const StartAwsOnboardingRequestSchema: GenMessage<StartAwsOnboardingRequest> = /*@__PURE__*/
643
- messageDesc(file_gc_v1_gc, 20);
660
+ messageDesc(file_gc_v1_gc, 21);
644
661
 
645
662
  /**
646
663
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateRequest
647
664
  */
648
665
  export type GetAwsCloudFormationTemplateRequest = Message<"blueapi.gc.v1.GetAwsCloudFormationTemplateRequest"> & {
649
666
  /**
650
- * Ripple context (used for lookup/mapping; not sent to GuaranteedCommitments)
667
+ * Optional: if present => MSP customer (3rd layer), else MSP-level org (2nd layer)
651
668
  *
652
- * @generated from field: string mspId = 1;
669
+ * @generated from field: string billingGroupId = 1;
653
670
  */
654
- mspId: string;
671
+ billingGroupId: string;
655
672
 
656
673
  /**
657
- * Optional: if present => MSP customer (3rd layer), else MSP-level org (2nd layer)
658
- *
659
- * @generated from field: string billingId = 2;
674
+ * @generated from field: string companyId = 2;
660
675
  */
661
- billingId: string;
676
+ companyId: string;
662
677
 
663
678
  /**
664
679
  * @generated from field: string gcOrgId = 3;
@@ -671,25 +686,23 @@ export type GetAwsCloudFormationTemplateRequest = Message<"blueapi.gc.v1.GetAwsC
671
686
  * Use `create(GetAwsCloudFormationTemplateRequestSchema)` to create a new message.
672
687
  */
673
688
  export const GetAwsCloudFormationTemplateRequestSchema: GenMessage<GetAwsCloudFormationTemplateRequest> = /*@__PURE__*/
674
- messageDesc(file_gc_v1_gc, 21);
689
+ messageDesc(file_gc_v1_gc, 22);
675
690
 
676
691
  /**
677
692
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlRequest
678
693
  */
679
694
  export type GetAwsLaunchStackUrlRequest = Message<"blueapi.gc.v1.GetAwsLaunchStackUrlRequest"> & {
680
695
  /**
681
- * Ripple context (used for lookup/mapping; not sent to GuaranteedCommitments)
696
+ * Optional: if present => MSP customer (3rd layer), else MSP-level org (2nd layer)
682
697
  *
683
- * @generated from field: string mspId = 1;
698
+ * @generated from field: string billingGroupId = 1;
684
699
  */
685
- mspId: string;
700
+ billingGroupId: string;
686
701
 
687
702
  /**
688
- * Optional: if present => MSP customer (3rd layer), else MSP-level org (2nd layer)
689
- *
690
- * @generated from field: string billingId = 2;
703
+ * @generated from field: string companyId = 2;
691
704
  */
692
- billingId: string;
705
+ companyId: string;
693
706
 
694
707
  /**
695
708
  * @generated from field: string gcOrgId = 3;
@@ -702,25 +715,23 @@ export type GetAwsLaunchStackUrlRequest = Message<"blueapi.gc.v1.GetAwsLaunchSta
702
715
  * Use `create(GetAwsLaunchStackUrlRequestSchema)` to create a new message.
703
716
  */
704
717
  export const GetAwsLaunchStackUrlRequestSchema: GenMessage<GetAwsLaunchStackUrlRequest> = /*@__PURE__*/
705
- messageDesc(file_gc_v1_gc, 22);
718
+ messageDesc(file_gc_v1_gc, 23);
706
719
 
707
720
  /**
708
721
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingRequest
709
722
  */
710
723
  export type VerifyAwsOnboardingRequest = Message<"blueapi.gc.v1.VerifyAwsOnboardingRequest"> & {
711
724
  /**
712
- * Ripple context (used for lookup/mapping; not sent to GuaranteedCommitments)
725
+ * Optional: if present => MSP customer (3rd layer), else MSP-level org (2nd layer)
713
726
  *
714
- * @generated from field: string mspId = 1;
727
+ * @generated from field: string billingGroupId = 1;
715
728
  */
716
- mspId: string;
729
+ billingGroupId: string;
717
730
 
718
731
  /**
719
- * Optional: if present => MSP customer (3rd layer), else MSP-level org (2nd layer)
720
- *
721
- * @generated from field: string billingId = 2;
732
+ * @generated from field: string companyId = 2;
722
733
  */
723
- billingId: string;
734
+ companyId: string;
724
735
 
725
736
  /**
726
737
  * @generated from field: string gcOrgId = 3;
@@ -754,27 +765,25 @@ export type VerifyAwsOnboardingRequest = Message<"blueapi.gc.v1.VerifyAwsOnboard
754
765
  * Use `create(VerifyAwsOnboardingRequestSchema)` to create a new message.
755
766
  */
756
767
  export const VerifyAwsOnboardingRequestSchema: GenMessage<VerifyAwsOnboardingRequest> = /*@__PURE__*/
757
- messageDesc(file_gc_v1_gc, 23);
768
+ messageDesc(file_gc_v1_gc, 24);
758
769
 
759
770
  /**
760
771
  * @generated from message blueapi.gc.v1.GetOnboardingStatusRequest
761
772
  */
762
773
  export type GetOnboardingStatusRequest = Message<"blueapi.gc.v1.GetOnboardingStatusRequest"> & {
763
- /**
764
- * Ripple context
765
- *
766
- * @generated from field: string mspId = 1;
767
- */
768
- mspId: string;
769
-
770
774
  /**
771
775
  * Optional:
772
776
  * - empty => MSP-level onboarding row (isMsp = true)
773
777
  * - non-empty => company under MSP (isMsp = false)
774
778
  *
775
- * @generated from field: string billingGroupId = 2;
779
+ * @generated from field: string billingGroupId = 1;
776
780
  */
777
781
  billingGroupId: string;
782
+
783
+ /**
784
+ * @generated from field: string companyId = 2;
785
+ */
786
+ companyId: string;
778
787
  };
779
788
 
780
789
  /**
@@ -782,7 +791,269 @@ export type GetOnboardingStatusRequest = Message<"blueapi.gc.v1.GetOnboardingSta
782
791
  * Use `create(GetOnboardingStatusRequestSchema)` to create a new message.
783
792
  */
784
793
  export const GetOnboardingStatusRequestSchema: GenMessage<GetOnboardingStatusRequest> = /*@__PURE__*/
785
- messageDesc(file_gc_v1_gc, 24);
794
+ messageDesc(file_gc_v1_gc, 25);
795
+
796
+ /**
797
+ * @generated from message blueapi.gc.v1.ListPayerAccountsRequest
798
+ */
799
+ export type ListPayerAccountsRequest = Message<"blueapi.gc.v1.ListPayerAccountsRequest"> & {
800
+ };
801
+
802
+ /**
803
+ * Describes the message blueapi.gc.v1.ListPayerAccountsRequest.
804
+ * Use `create(ListPayerAccountsRequestSchema)` to create a new message.
805
+ */
806
+ export const ListPayerAccountsRequestSchema: GenMessage<ListPayerAccountsRequest> = /*@__PURE__*/
807
+ messageDesc(file_gc_v1_gc, 26);
808
+
809
+ /**
810
+ * @generated from message blueapi.gc.v1.SetPayerAccountEnabledRequest
811
+ */
812
+ export type SetPayerAccountEnabledRequest = Message<"blueapi.gc.v1.SetPayerAccountEnabledRequest"> & {
813
+ /**
814
+ * @generated from field: string companyId = 1;
815
+ */
816
+ companyId: string;
817
+
818
+ /**
819
+ * @generated from field: bool enabled = 2;
820
+ */
821
+ enabled: boolean;
822
+ };
823
+
824
+ /**
825
+ * Describes the message blueapi.gc.v1.SetPayerAccountEnabledRequest.
826
+ * Use `create(SetPayerAccountEnabledRequestSchema)` to create a new message.
827
+ */
828
+ export const SetPayerAccountEnabledRequestSchema: GenMessage<SetPayerAccountEnabledRequest> = /*@__PURE__*/
829
+ messageDesc(file_gc_v1_gc, 27);
830
+
831
+ /**
832
+ * @generated from message blueapi.gc.v1.GetPayerAccountStatusRequest
833
+ */
834
+ export type GetPayerAccountStatusRequest = Message<"blueapi.gc.v1.GetPayerAccountStatusRequest"> & {
835
+ };
836
+
837
+ /**
838
+ * Describes the message blueapi.gc.v1.GetPayerAccountStatusRequest.
839
+ * Use `create(GetPayerAccountStatusRequestSchema)` to create a new message.
840
+ */
841
+ export const GetPayerAccountStatusRequestSchema: GenMessage<GetPayerAccountStatusRequest> = /*@__PURE__*/
842
+ messageDesc(file_gc_v1_gc, 28);
843
+
844
+ /**
845
+ * @generated from message blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest
846
+ */
847
+ export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest"> & {
848
+ /**
849
+ * @generated from field: string planId = 1;
850
+ */
851
+ planId: string;
852
+
853
+ /**
854
+ * @generated from field: repeated string reservationIds = 2;
855
+ */
856
+ reservationIds: string[];
857
+
858
+ /**
859
+ * @generated from field: repeated string resourceIds = 3;
860
+ */
861
+ resourceIds: string[];
862
+
863
+ /**
864
+ * @generated from field: double maxUpfrontCost = 4;
865
+ */
866
+ maxUpfrontCost: number;
867
+
868
+ /**
869
+ * @generated from field: blueapi.gc.v1.Provider provider = 5;
870
+ */
871
+ provider: Provider;
872
+
873
+ /**
874
+ * @generated from field: string endDate = 6;
875
+ */
876
+ endDate: string;
877
+
878
+ /**
879
+ * @generated from field: string startDate = 7;
880
+ */
881
+ startDate: string;
882
+
883
+ /**
884
+ * @generated from field: string segmentId = 8;
885
+ */
886
+ segmentId: string;
887
+
888
+ /**
889
+ * @generated from field: string status = 9;
890
+ */
891
+ status: string;
892
+
893
+ /**
894
+ * @generated from field: string description = 10;
895
+ */
896
+ description: string;
897
+
898
+ /**
899
+ * @generated from field: string name = 11;
900
+ */
901
+ name: string;
902
+
903
+ /**
904
+ * @generated from field: string preferredPaymentOption = 12;
905
+ */
906
+ preferredPaymentOption: string;
907
+
908
+ /**
909
+ * @generated from field: repeated string includedContractTerms = 13;
910
+ */
911
+ includedContractTerms: string[];
912
+
913
+ /**
914
+ * @generated from field: repeated blueapi.gc.v1.ContractSpec includedContractSpecs = 14;
915
+ */
916
+ includedContractSpecs: ContractSpec[];
917
+
918
+ /**
919
+ * @generated from field: google.protobuf.Value coverageId = 15;
920
+ */
921
+ coverageId?: Value;
922
+
923
+ /**
924
+ * @generated from field: string createdAt = 16;
925
+ */
926
+ createdAt: string;
927
+
928
+ /**
929
+ * @generated from field: google.protobuf.Value createdBy = 17;
930
+ */
931
+ createdBy?: Value;
932
+
933
+ /**
934
+ * @generated from field: string dataSource = 18;
935
+ */
936
+ dataSource: string;
937
+
938
+ /**
939
+ * @generated from field: google.protobuf.Value executionPolicy = 19;
940
+ */
941
+ executionPolicy?: Value;
942
+
943
+ /**
944
+ * @generated from field: repeated string flaggedActions = 20;
945
+ */
946
+ flaggedActions: string[];
947
+
948
+ /**
949
+ * @generated from field: string id = 21;
950
+ */
951
+ id: string;
952
+
953
+ /**
954
+ * @generated from field: bool isCalculating = 22;
955
+ */
956
+ isCalculating: boolean;
957
+
958
+ /**
959
+ * @generated from field: bool isDefault = 23;
960
+ */
961
+ isDefault: boolean;
962
+
963
+ /**
964
+ * @generated from field: bool isLocked = 24;
965
+ */
966
+ isLocked: boolean;
967
+
968
+ /**
969
+ * @generated from field: bool isRecommended = 25;
970
+ */
971
+ isRecommended: boolean;
972
+
973
+ /**
974
+ * @generated from field: bool isRenewal = 26;
975
+ */
976
+ isRenewal: boolean;
977
+
978
+ /**
979
+ * @generated from field: bool isSaved = 27;
980
+ */
981
+ isSaved: boolean;
982
+
983
+ /**
984
+ * @generated from field: string lastModified = 28;
985
+ */
986
+ lastModified: string;
987
+
988
+ /**
989
+ * @generated from field: string metaPlanId = 29;
990
+ */
991
+ metaPlanId: string;
992
+
993
+ /**
994
+ * @generated from field: google.protobuf.Value minimumUpfrontInterestRate = 30;
995
+ */
996
+ minimumUpfrontInterestRate?: Value;
997
+
998
+ /**
999
+ * @generated from field: string orgId = 31;
1000
+ */
1001
+ orgId: string;
1002
+
1003
+ /**
1004
+ * @generated from field: string planType = 32;
1005
+ */
1006
+ planType: string;
1007
+
1008
+ /**
1009
+ * @generated from field: google.protobuf.Value recommendWithinCoveredAccounts = 33;
1010
+ */
1011
+ recommendWithinCoveredAccounts?: Value;
1012
+
1013
+ /**
1014
+ * @generated from field: blueapi.gc.v1.Segment segment = 34;
1015
+ */
1016
+ segment?: Segment;
1017
+ };
1018
+
1019
+ /**
1020
+ * Describes the message blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest.
1021
+ * Use `create(SaveCommitmentsPlanAsDraftRequestSchema)` to create a new message.
1022
+ */
1023
+ export const SaveCommitmentsPlanAsDraftRequestSchema: GenMessage<SaveCommitmentsPlanAsDraftRequest> = /*@__PURE__*/
1024
+ messageDesc(file_gc_v1_gc, 29);
1025
+
1026
+ /**
1027
+ * @generated from message blueapi.gc.v1.ListDraftPurchasePlansRequest
1028
+ */
1029
+ export type ListDraftPurchasePlansRequest = Message<"blueapi.gc.v1.ListDraftPurchasePlansRequest"> & {
1030
+ };
1031
+
1032
+ /**
1033
+ * Describes the message blueapi.gc.v1.ListDraftPurchasePlansRequest.
1034
+ * Use `create(ListDraftPurchasePlansRequestSchema)` to create a new message.
1035
+ */
1036
+ export const ListDraftPurchasePlansRequestSchema: GenMessage<ListDraftPurchasePlansRequest> = /*@__PURE__*/
1037
+ messageDesc(file_gc_v1_gc, 30);
1038
+
1039
+ /**
1040
+ * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanRequest
1041
+ */
1042
+ export type DeleteDraftPurchasePlanRequest = Message<"blueapi.gc.v1.DeleteDraftPurchasePlanRequest"> & {
1043
+ /**
1044
+ * Required. The plan ID to delete.
1045
+ *
1046
+ * @generated from field: string planId = 1;
1047
+ */
1048
+ planId: string;
1049
+ };
1050
+
1051
+ /**
1052
+ * Describes the message blueapi.gc.v1.DeleteDraftPurchasePlanRequest.
1053
+ * Use `create(DeleteDraftPurchasePlanRequestSchema)` to create a new message.
1054
+ */
1055
+ export const DeleteDraftPurchasePlanRequestSchema: GenMessage<DeleteDraftPurchasePlanRequest> = /*@__PURE__*/
1056
+ messageDesc(file_gc_v1_gc, 31);
786
1057
 
787
1058
  /**
788
1059
  * @generated from message blueapi.gc.v1.Org
@@ -809,7 +1080,7 @@ export type Org = Message<"blueapi.gc.v1.Org"> & {
809
1080
  * Use `create(OrgSchema)` to create a new message.
810
1081
  */
811
1082
  export const OrgSchema: GenMessage<Org> = /*@__PURE__*/
812
- messageDesc(file_gc_v1_gc, 25);
1083
+ messageDesc(file_gc_v1_gc, 32);
813
1084
 
814
1085
  /**
815
1086
  * @generated from message blueapi.gc.v1.CommitmentPlanDetails
@@ -946,7 +1217,7 @@ export type CommitmentPlanDetails = Message<"blueapi.gc.v1.CommitmentPlanDetails
946
1217
  * Use `create(CommitmentPlanDetailsSchema)` to create a new message.
947
1218
  */
948
1219
  export const CommitmentPlanDetailsSchema: GenMessage<CommitmentPlanDetails> = /*@__PURE__*/
949
- messageDesc(file_gc_v1_gc, 26);
1220
+ messageDesc(file_gc_v1_gc, 33);
950
1221
 
951
1222
  /**
952
1223
  * @generated from message blueapi.gc.v1.ListDefaultCommitmentPlansResponse
@@ -963,7 +1234,7 @@ export type ListDefaultCommitmentPlansResponse = Message<"blueapi.gc.v1.ListDefa
963
1234
  * Use `create(ListDefaultCommitmentPlansResponseSchema)` to create a new message.
964
1235
  */
965
1236
  export const ListDefaultCommitmentPlansResponseSchema: GenMessage<ListDefaultCommitmentPlansResponse> = /*@__PURE__*/
966
- messageDesc(file_gc_v1_gc, 27);
1237
+ messageDesc(file_gc_v1_gc, 34);
967
1238
 
968
1239
  /**
969
1240
  * @generated from message blueapi.gc.v1.CommitmentPlanLineItem
@@ -1125,7 +1396,7 @@ export type CommitmentPlanLineItem = Message<"blueapi.gc.v1.CommitmentPlanLineIt
1125
1396
  * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
1126
1397
  */
1127
1398
  export const CommitmentPlanLineItemSchema: GenMessage<CommitmentPlanLineItem> = /*@__PURE__*/
1128
- messageDesc(file_gc_v1_gc, 28);
1399
+ messageDesc(file_gc_v1_gc, 35);
1129
1400
 
1130
1401
  /**
1131
1402
  * @generated from message blueapi.gc.v1.ListCommitmentPlanLineItemsResponse
@@ -1142,7 +1413,7 @@ export type ListCommitmentPlanLineItemsResponse = Message<"blueapi.gc.v1.ListCom
1142
1413
  * Use `create(ListCommitmentPlanLineItemsResponseSchema)` to create a new message.
1143
1414
  */
1144
1415
  export const ListCommitmentPlanLineItemsResponseSchema: GenMessage<ListCommitmentPlanLineItemsResponse> = /*@__PURE__*/
1145
- messageDesc(file_gc_v1_gc, 29);
1416
+ messageDesc(file_gc_v1_gc, 36);
1146
1417
 
1147
1418
  /**
1148
1419
  * @generated from message blueapi.gc.v1.CommitmentPlanResourceMatch
@@ -1269,7 +1540,7 @@ export type CommitmentPlanResourceMatch = Message<"blueapi.gc.v1.CommitmentPlanR
1269
1540
  * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
1270
1541
  */
1271
1542
  export const CommitmentPlanResourceMatchSchema: GenMessage<CommitmentPlanResourceMatch> = /*@__PURE__*/
1272
- messageDesc(file_gc_v1_gc, 30);
1543
+ messageDesc(file_gc_v1_gc, 37);
1273
1544
 
1274
1545
  /**
1275
1546
  * @generated from message blueapi.gc.v1.ListCommitmentPlanResourceMatchesResponse
@@ -1286,7 +1557,7 @@ export type ListCommitmentPlanResourceMatchesResponse = Message<"blueapi.gc.v1.L
1286
1557
  * Use `create(ListCommitmentPlanResourceMatchesResponseSchema)` to create a new message.
1287
1558
  */
1288
1559
  export const ListCommitmentPlanResourceMatchesResponseSchema: GenMessage<ListCommitmentPlanResourceMatchesResponse> = /*@__PURE__*/
1289
- messageDesc(file_gc_v1_gc, 31);
1560
+ messageDesc(file_gc_v1_gc, 38);
1290
1561
 
1291
1562
  /**
1292
1563
  * @generated from message blueapi.gc.v1.Lease
@@ -1358,7 +1629,7 @@ export type Lease = Message<"blueapi.gc.v1.Lease"> & {
1358
1629
  * Use `create(LeaseSchema)` to create a new message.
1359
1630
  */
1360
1631
  export const LeaseSchema: GenMessage<Lease> = /*@__PURE__*/
1361
- messageDesc(file_gc_v1_gc, 32);
1632
+ messageDesc(file_gc_v1_gc, 39);
1362
1633
 
1363
1634
  /**
1364
1635
  * @generated from message blueapi.gc.v1.DailyUtilization
@@ -1385,7 +1656,7 @@ export type DailyUtilization = Message<"blueapi.gc.v1.DailyUtilization"> & {
1385
1656
  * Use `create(DailyUtilizationSchema)` to create a new message.
1386
1657
  */
1387
1658
  export const DailyUtilizationSchema: GenMessage<DailyUtilization> = /*@__PURE__*/
1388
- messageDesc(file_gc_v1_gc, 33);
1659
+ messageDesc(file_gc_v1_gc, 40);
1389
1660
 
1390
1661
  /**
1391
1662
  * @generated from message blueapi.gc.v1.Commitment
@@ -1617,7 +1888,7 @@ export type Commitment = Message<"blueapi.gc.v1.Commitment"> & {
1617
1888
  * Use `create(CommitmentSchema)` to create a new message.
1618
1889
  */
1619
1890
  export const CommitmentSchema: GenMessage<Commitment> = /*@__PURE__*/
1620
- messageDesc(file_gc_v1_gc, 34);
1891
+ messageDesc(file_gc_v1_gc, 41);
1621
1892
 
1622
1893
  /**
1623
1894
  * @generated from message blueapi.gc.v1.ListCommitmentsResponse
@@ -1634,71 +1905,130 @@ export type ListCommitmentsResponse = Message<"blueapi.gc.v1.ListCommitmentsResp
1634
1905
  * Use `create(ListCommitmentsResponseSchema)` to create a new message.
1635
1906
  */
1636
1907
  export const ListCommitmentsResponseSchema: GenMessage<ListCommitmentsResponse> = /*@__PURE__*/
1637
- messageDesc(file_gc_v1_gc, 35);
1908
+ messageDesc(file_gc_v1_gc, 42);
1638
1909
 
1639
1910
  /**
1640
- * @generated from message blueapi.gc.v1.CommitmentsChartDataPoint
1911
+ * @generated from message blueapi.gc.v1.CommitmentsChartData
1641
1912
  */
1642
- export type CommitmentsChartDataPoint = Message<"blueapi.gc.v1.CommitmentsChartDataPoint"> & {
1913
+ export type CommitmentsChartData = Message<"blueapi.gc.v1.CommitmentsChartData"> & {
1643
1914
  /**
1644
1915
  * @generated from field: string date = 1;
1645
1916
  */
1646
1917
  date: string;
1647
1918
 
1648
1919
  /**
1649
- * @generated from field: double commitmentSpend = 2;
1920
+ * @generated from field: string chartKey = 2;
1650
1921
  */
1651
- commitmentSpend: number;
1922
+ chartKey: string;
1652
1923
 
1653
1924
  /**
1654
- * @generated from field: double utilization = 3;
1925
+ * @generated from field: double chartValue = 3;
1655
1926
  */
1656
- utilization: number;
1927
+ chartValue: number;
1928
+ };
1929
+
1930
+ /**
1931
+ * Describes the message blueapi.gc.v1.CommitmentsChartData.
1932
+ * Use `create(CommitmentsChartDataSchema)` to create a new message.
1933
+ */
1934
+ export const CommitmentsChartDataSchema: GenMessage<CommitmentsChartData> = /*@__PURE__*/
1935
+ messageDesc(file_gc_v1_gc, 43);
1936
+
1937
+ /**
1938
+ * @generated from message blueapi.gc.v1.CommitmentsChartResponse
1939
+ */
1940
+ export type CommitmentsChartResponse = Message<"blueapi.gc.v1.CommitmentsChartResponse"> & {
1941
+ /**
1942
+ * @generated from field: repeated blueapi.gc.v1.CommitmentsChartData data = 1;
1943
+ */
1944
+ data: CommitmentsChartData[];
1945
+ };
1946
+
1947
+ /**
1948
+ * Describes the message blueapi.gc.v1.CommitmentsChartResponse.
1949
+ * Use `create(CommitmentsChartResponseSchema)` to create a new message.
1950
+ */
1951
+ export const CommitmentsChartResponseSchema: GenMessage<CommitmentsChartResponse> = /*@__PURE__*/
1952
+ messageDesc(file_gc_v1_gc, 44);
1953
+
1954
+ /**
1955
+ * @generated from message blueapi.gc.v1.CommitmentsUtilizationData
1956
+ */
1957
+ export type CommitmentsUtilizationData = Message<"blueapi.gc.v1.CommitmentsUtilizationData"> & {
1958
+ /**
1959
+ * @generated from field: string utilizationDate = 1;
1960
+ */
1961
+ utilizationDate: string;
1962
+
1963
+ /**
1964
+ * @generated from field: double cost = 2;
1965
+ */
1966
+ cost: number;
1967
+
1968
+ /**
1969
+ * @generated from field: double coveredCost = 3;
1970
+ */
1971
+ coveredCost: number;
1972
+
1973
+ /**
1974
+ * @generated from field: double griFees = 4;
1975
+ */
1976
+ griFees: number;
1977
+
1978
+ /**
1979
+ * @generated from field: double netSavings = 5;
1980
+ */
1981
+ netSavings: number;
1982
+
1983
+ /**
1984
+ * @generated from field: double potentialSavings = 6;
1985
+ */
1986
+ potentialSavings: number;
1657
1987
 
1658
1988
  /**
1659
- * @generated from field: double lockedCommitments = 4;
1989
+ * @generated from field: double reservationUtilization = 7;
1660
1990
  */
1661
- lockedCommitments: number;
1991
+ reservationUtilization: number;
1662
1992
 
1663
1993
  /**
1664
- * @generated from field: double unlockedCommitments = 5;
1994
+ * @generated from field: double runningHours = 8;
1665
1995
  */
1666
- unlockedCommitments: number;
1996
+ runningHours: number;
1667
1997
 
1668
1998
  /**
1669
- * @generated from field: double realizedSavings = 6;
1999
+ * @generated from field: double savings = 9;
1670
2000
  */
1671
- realizedSavings: number;
2001
+ savings: number;
1672
2002
 
1673
2003
  /**
1674
- * @generated from field: bool isProjection = 7;
2004
+ * @generated from field: double unutilizedCommitment = 10;
1675
2005
  */
1676
- isProjection: boolean;
2006
+ unutilizedCommitment: number;
1677
2007
  };
1678
2008
 
1679
2009
  /**
1680
- * Describes the message blueapi.gc.v1.CommitmentsChartDataPoint.
1681
- * Use `create(CommitmentsChartDataPointSchema)` to create a new message.
2010
+ * Describes the message blueapi.gc.v1.CommitmentsUtilizationData.
2011
+ * Use `create(CommitmentsUtilizationDataSchema)` to create a new message.
1682
2012
  */
1683
- export const CommitmentsChartDataPointSchema: GenMessage<CommitmentsChartDataPoint> = /*@__PURE__*/
1684
- messageDesc(file_gc_v1_gc, 36);
2013
+ export const CommitmentsUtilizationDataSchema: GenMessage<CommitmentsUtilizationData> = /*@__PURE__*/
2014
+ messageDesc(file_gc_v1_gc, 45);
1685
2015
 
1686
2016
  /**
1687
- * @generated from message blueapi.gc.v1.CommitmentsChartResponse
2017
+ * @generated from message blueapi.gc.v1.CommitmentsUtilizationResponse
1688
2018
  */
1689
- export type CommitmentsChartResponse = Message<"blueapi.gc.v1.CommitmentsChartResponse"> & {
2019
+ export type CommitmentsUtilizationResponse = Message<"blueapi.gc.v1.CommitmentsUtilizationResponse"> & {
1690
2020
  /**
1691
- * @generated from field: repeated blueapi.gc.v1.CommitmentsChartDataPoint data = 1;
2021
+ * @generated from field: repeated blueapi.gc.v1.CommitmentsUtilizationData data = 1;
1692
2022
  */
1693
- data: CommitmentsChartDataPoint[];
2023
+ data: CommitmentsUtilizationData[];
1694
2024
  };
1695
2025
 
1696
2026
  /**
1697
- * Describes the message blueapi.gc.v1.CommitmentsChartResponse.
1698
- * Use `create(CommitmentsChartResponseSchema)` to create a new message.
2027
+ * Describes the message blueapi.gc.v1.CommitmentsUtilizationResponse.
2028
+ * Use `create(CommitmentsUtilizationResponseSchema)` to create a new message.
1699
2029
  */
1700
- export const CommitmentsChartResponseSchema: GenMessage<CommitmentsChartResponse> = /*@__PURE__*/
1701
- messageDesc(file_gc_v1_gc, 37);
2030
+ export const CommitmentsUtilizationResponseSchema: GenMessage<CommitmentsUtilizationResponse> = /*@__PURE__*/
2031
+ messageDesc(file_gc_v1_gc, 46);
1702
2032
 
1703
2033
  /**
1704
2034
  * @generated from message blueapi.gc.v1.MetricsResponse
@@ -1790,7 +2120,7 @@ export type MetricsResponse = Message<"blueapi.gc.v1.MetricsResponse"> & {
1790
2120
  * Use `create(MetricsResponseSchema)` to create a new message.
1791
2121
  */
1792
2122
  export const MetricsResponseSchema: GenMessage<MetricsResponse> = /*@__PURE__*/
1793
- messageDesc(file_gc_v1_gc, 38);
2123
+ messageDesc(file_gc_v1_gc, 47);
1794
2124
 
1795
2125
  /**
1796
2126
  * @generated from message blueapi.gc.v1.Resource
@@ -2027,7 +2357,7 @@ export type Resource = Message<"blueapi.gc.v1.Resource"> & {
2027
2357
  * Use `create(ResourceSchema)` to create a new message.
2028
2358
  */
2029
2359
  export const ResourceSchema: GenMessage<Resource> = /*@__PURE__*/
2030
- messageDesc(file_gc_v1_gc, 39);
2360
+ messageDesc(file_gc_v1_gc, 48);
2031
2361
 
2032
2362
  /**
2033
2363
  * @generated from message blueapi.gc.v1.ListResourcesResponse
@@ -2044,7 +2374,7 @@ export type ListResourcesResponse = Message<"blueapi.gc.v1.ListResourcesResponse
2044
2374
  * Use `create(ListResourcesResponseSchema)` to create a new message.
2045
2375
  */
2046
2376
  export const ListResourcesResponseSchema: GenMessage<ListResourcesResponse> = /*@__PURE__*/
2047
- messageDesc(file_gc_v1_gc, 40);
2377
+ messageDesc(file_gc_v1_gc, 49);
2048
2378
 
2049
2379
  /**
2050
2380
  * @generated from message blueapi.gc.v1.ResourceDailyUsage
@@ -2131,7 +2461,7 @@ export type ResourceDailyUsage = Message<"blueapi.gc.v1.ResourceDailyUsage"> & {
2131
2461
  * Use `create(ResourceDailyUsageSchema)` to create a new message.
2132
2462
  */
2133
2463
  export const ResourceDailyUsageSchema: GenMessage<ResourceDailyUsage> = /*@__PURE__*/
2134
- messageDesc(file_gc_v1_gc, 41);
2464
+ messageDesc(file_gc_v1_gc, 50);
2135
2465
 
2136
2466
  /**
2137
2467
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageResponse
@@ -2148,7 +2478,7 @@ export type GetResourceDailyUsageResponse = Message<"blueapi.gc.v1.GetResourceDa
2148
2478
  * Use `create(GetResourceDailyUsageResponseSchema)` to create a new message.
2149
2479
  */
2150
2480
  export const GetResourceDailyUsageResponseSchema: GenMessage<GetResourceDailyUsageResponse> = /*@__PURE__*/
2151
- messageDesc(file_gc_v1_gc, 42);
2481
+ messageDesc(file_gc_v1_gc, 51);
2152
2482
 
2153
2483
  /**
2154
2484
  * @generated from message blueapi.gc.v1.Segment
@@ -2185,7 +2515,7 @@ export type Segment = Message<"blueapi.gc.v1.Segment"> & {
2185
2515
  * Use `create(SegmentSchema)` to create a new message.
2186
2516
  */
2187
2517
  export const SegmentSchema: GenMessage<Segment> = /*@__PURE__*/
2188
- messageDesc(file_gc_v1_gc, 43);
2518
+ messageDesc(file_gc_v1_gc, 52);
2189
2519
 
2190
2520
  /**
2191
2521
  * @generated from message blueapi.gc.v1.ListSegmentsResponse
@@ -2202,7 +2532,7 @@ export type ListSegmentsResponse = Message<"blueapi.gc.v1.ListSegmentsResponse">
2202
2532
  * Use `create(ListSegmentsResponseSchema)` to create a new message.
2203
2533
  */
2204
2534
  export const ListSegmentsResponseSchema: GenMessage<ListSegmentsResponse> = /*@__PURE__*/
2205
- messageDesc(file_gc_v1_gc, 44);
2535
+ messageDesc(file_gc_v1_gc, 53);
2206
2536
 
2207
2537
  /**
2208
2538
  * @generated from message blueapi.gc.v1.SegmentCreator
@@ -2229,7 +2559,7 @@ export type SegmentCreator = Message<"blueapi.gc.v1.SegmentCreator"> & {
2229
2559
  * Use `create(SegmentCreatorSchema)` to create a new message.
2230
2560
  */
2231
2561
  export const SegmentCreatorSchema: GenMessage<SegmentCreator> = /*@__PURE__*/
2232
- messageDesc(file_gc_v1_gc, 45);
2562
+ messageDesc(file_gc_v1_gc, 54);
2233
2563
 
2234
2564
  /**
2235
2565
  * @generated from message blueapi.gc.v1.PurchasePlan
@@ -2261,7 +2591,7 @@ export type PurchasePlan = Message<"blueapi.gc.v1.PurchasePlan"> & {
2261
2591
  * Use `create(PurchasePlanSchema)` to create a new message.
2262
2592
  */
2263
2593
  export const PurchasePlanSchema: GenMessage<PurchasePlan> = /*@__PURE__*/
2264
- messageDesc(file_gc_v1_gc, 46);
2594
+ messageDesc(file_gc_v1_gc, 55);
2265
2595
 
2266
2596
  /**
2267
2597
  * @generated from message blueapi.gc.v1.SegmentDetails
@@ -2406,7 +2736,7 @@ export type SegmentDetails = Message<"blueapi.gc.v1.SegmentDetails"> & {
2406
2736
  * Use `create(SegmentDetailsSchema)` to create a new message.
2407
2737
  */
2408
2738
  export const SegmentDetailsSchema: GenMessage<SegmentDetails> = /*@__PURE__*/
2409
- messageDesc(file_gc_v1_gc, 47);
2739
+ messageDesc(file_gc_v1_gc, 56);
2410
2740
 
2411
2741
  /**
2412
2742
  * @generated from message blueapi.gc.v1.ContractSpec
@@ -2438,7 +2768,7 @@ export type ContractSpec = Message<"blueapi.gc.v1.ContractSpec"> & {
2438
2768
  * Use `create(ContractSpecSchema)` to create a new message.
2439
2769
  */
2440
2770
  export const ContractSpecSchema: GenMessage<ContractSpec> = /*@__PURE__*/
2441
- messageDesc(file_gc_v1_gc, 48);
2771
+ messageDesc(file_gc_v1_gc, 57);
2442
2772
 
2443
2773
  /**
2444
2774
  * @generated from message blueapi.gc.v1.PlanSummary
@@ -2525,7 +2855,7 @@ export type PlanSummary = Message<"blueapi.gc.v1.PlanSummary"> & {
2525
2855
  * Use `create(PlanSummarySchema)` to create a new message.
2526
2856
  */
2527
2857
  export const PlanSummarySchema: GenMessage<PlanSummary> = /*@__PURE__*/
2528
- messageDesc(file_gc_v1_gc, 49);
2858
+ messageDesc(file_gc_v1_gc, 58);
2529
2859
 
2530
2860
  /**
2531
2861
  * @generated from message blueapi.gc.v1.ServiceSummary
@@ -2617,7 +2947,7 @@ export type ServiceSummary = Message<"blueapi.gc.v1.ServiceSummary"> & {
2617
2947
  * Use `create(ServiceSummarySchema)` to create a new message.
2618
2948
  */
2619
2949
  export const ServiceSummarySchema: GenMessage<ServiceSummary> = /*@__PURE__*/
2620
- messageDesc(file_gc_v1_gc, 50);
2950
+ messageDesc(file_gc_v1_gc, 59);
2621
2951
 
2622
2952
  /**
2623
2953
  * @generated from message blueapi.gc.v1.AggregateMetrics
@@ -2644,7 +2974,7 @@ export type AggregateMetrics = Message<"blueapi.gc.v1.AggregateMetrics"> & {
2644
2974
  * Use `create(AggregateMetricsSchema)` to create a new message.
2645
2975
  */
2646
2976
  export const AggregateMetricsSchema: GenMessage<AggregateMetrics> = /*@__PURE__*/
2647
- messageDesc(file_gc_v1_gc, 51);
2977
+ messageDesc(file_gc_v1_gc, 60);
2648
2978
 
2649
2979
  /**
2650
2980
  * @generated from message blueapi.gc.v1.DefaultPurchasePlan
@@ -2932,7 +3262,7 @@ export type DefaultPurchasePlan = Message<"blueapi.gc.v1.DefaultPurchasePlan"> &
2932
3262
  * Use `create(DefaultPurchasePlanSchema)` to create a new message.
2933
3263
  */
2934
3264
  export const DefaultPurchasePlanSchema: GenMessage<DefaultPurchasePlan> = /*@__PURE__*/
2935
- messageDesc(file_gc_v1_gc, 52);
3265
+ messageDesc(file_gc_v1_gc, 61);
2936
3266
 
2937
3267
  /**
2938
3268
  * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentResponse
@@ -2949,7 +3279,7 @@ export type ListPurchasePlansBySegmentResponse = Message<"blueapi.gc.v1.ListPurc
2949
3279
  * Use `create(ListPurchasePlansBySegmentResponseSchema)` to create a new message.
2950
3280
  */
2951
3281
  export const ListPurchasePlansBySegmentResponseSchema: GenMessage<ListPurchasePlansBySegmentResponse> = /*@__PURE__*/
2952
- messageDesc(file_gc_v1_gc, 53);
3282
+ messageDesc(file_gc_v1_gc, 62);
2953
3283
 
2954
3284
  /**
2955
3285
  * @generated from message blueapi.gc.v1.RegisterOrgResponse
@@ -3003,7 +3333,7 @@ export type RegisterOrgResponse = Message<"blueapi.gc.v1.RegisterOrgResponse"> &
3003
3333
  * Use `create(RegisterOrgResponseSchema)` to create a new message.
3004
3334
  */
3005
3335
  export const RegisterOrgResponseSchema: GenMessage<RegisterOrgResponse> = /*@__PURE__*/
3006
- messageDesc(file_gc_v1_gc, 54);
3336
+ messageDesc(file_gc_v1_gc, 63);
3007
3337
 
3008
3338
  /**
3009
3339
  * @generated from message blueapi.gc.v1.StartAwsOnboardingResponse
@@ -3020,7 +3350,7 @@ export type StartAwsOnboardingResponse = Message<"blueapi.gc.v1.StartAwsOnboardi
3020
3350
  * Use `create(StartAwsOnboardingResponseSchema)` to create a new message.
3021
3351
  */
3022
3352
  export const StartAwsOnboardingResponseSchema: GenMessage<StartAwsOnboardingResponse> = /*@__PURE__*/
3023
- messageDesc(file_gc_v1_gc, 55);
3353
+ messageDesc(file_gc_v1_gc, 64);
3024
3354
 
3025
3355
  /**
3026
3356
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateResponse
@@ -3039,7 +3369,7 @@ export type GetAwsCloudFormationTemplateResponse = Message<"blueapi.gc.v1.GetAws
3039
3369
  * Use `create(GetAwsCloudFormationTemplateResponseSchema)` to create a new message.
3040
3370
  */
3041
3371
  export const GetAwsCloudFormationTemplateResponseSchema: GenMessage<GetAwsCloudFormationTemplateResponse> = /*@__PURE__*/
3042
- messageDesc(file_gc_v1_gc, 56);
3372
+ messageDesc(file_gc_v1_gc, 65);
3043
3373
 
3044
3374
  /**
3045
3375
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlResponse
@@ -3056,7 +3386,7 @@ export type GetAwsLaunchStackUrlResponse = Message<"blueapi.gc.v1.GetAwsLaunchSt
3056
3386
  * Use `create(GetAwsLaunchStackUrlResponseSchema)` to create a new message.
3057
3387
  */
3058
3388
  export const GetAwsLaunchStackUrlResponseSchema: GenMessage<GetAwsLaunchStackUrlResponse> = /*@__PURE__*/
3059
- messageDesc(file_gc_v1_gc, 57);
3389
+ messageDesc(file_gc_v1_gc, 66);
3060
3390
 
3061
3391
  /**
3062
3392
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse
@@ -3073,7 +3403,7 @@ export type VerifyAwsOnboardingResponse = Message<"blueapi.gc.v1.VerifyAwsOnboar
3073
3403
  * Use `create(VerifyAwsOnboardingResponseSchema)` to create a new message.
3074
3404
  */
3075
3405
  export const VerifyAwsOnboardingResponseSchema: GenMessage<VerifyAwsOnboardingResponse> = /*@__PURE__*/
3076
- messageDesc(file_gc_v1_gc, 58);
3406
+ messageDesc(file_gc_v1_gc, 67);
3077
3407
 
3078
3408
  /**
3079
3409
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck
@@ -3095,7 +3425,7 @@ export type VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck = Message<"blu
3095
3425
  * Use `create(VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema)` to create a new message.
3096
3426
  */
3097
3427
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema: GenMessage<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck> = /*@__PURE__*/
3098
- messageDesc(file_gc_v1_gc, 58, 0);
3428
+ messageDesc(file_gc_v1_gc, 67, 0);
3099
3429
 
3100
3430
  /**
3101
3431
  * @generated from enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus
@@ -3131,7 +3461,7 @@ export enum VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingF
3131
3461
  * Describes the enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus.
3132
3462
  */
3133
3463
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema: GenEnum<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus> = /*@__PURE__*/
3134
- enumDesc(file_gc_v1_gc, 58, 0, 0);
3464
+ enumDesc(file_gc_v1_gc, 67, 0, 0);
3135
3465
 
3136
3466
  /**
3137
3467
  * @generated from message blueapi.gc.v1.GetOnboardingStatusResponse
@@ -3187,6 +3517,26 @@ export type GetOnboardingStatusResponse = Message<"blueapi.gc.v1.GetOnboardingSt
3187
3517
  * @generated from field: string accountId = 7;
3188
3518
  */
3189
3519
  accountId: string;
3520
+
3521
+ /**
3522
+ * @generated from field: string billingGroupId = 8;
3523
+ */
3524
+ billingGroupId: string;
3525
+
3526
+ /**
3527
+ * @generated from field: string companyId = 9;
3528
+ */
3529
+ companyId: string;
3530
+
3531
+ /**
3532
+ * Detailed AWS verification results (best-effort) returned from the last VerifyAwsOnboarding call.
3533
+ * This is used by the UI to "resume" the onboarding flow and show which verification checks
3534
+ * passed/failed when a user comes back later (e.g., after stopping at verification).
3535
+ * Empty when verification hasn't been attempted yet or when no checks were persisted.
3536
+ *
3537
+ * @generated from field: repeated blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck verificationChecks = 10;
3538
+ */
3539
+ verificationChecks: VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck[];
3190
3540
  };
3191
3541
 
3192
3542
  /**
@@ -3194,7 +3544,7 @@ export type GetOnboardingStatusResponse = Message<"blueapi.gc.v1.GetOnboardingSt
3194
3544
  * Use `create(GetOnboardingStatusResponseSchema)` to create a new message.
3195
3545
  */
3196
3546
  export const GetOnboardingStatusResponseSchema: GenMessage<GetOnboardingStatusResponse> = /*@__PURE__*/
3197
- messageDesc(file_gc_v1_gc, 59);
3547
+ messageDesc(file_gc_v1_gc, 68);
3198
3548
 
3199
3549
  /**
3200
3550
  * @generated from enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus
@@ -3244,7 +3594,181 @@ export enum GetOnboardingStatusResponse_OnboardingStatus {
3244
3594
  * Describes the enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus.
3245
3595
  */
3246
3596
  export const GetOnboardingStatusResponse_OnboardingStatusSchema: GenEnum<GetOnboardingStatusResponse_OnboardingStatus> = /*@__PURE__*/
3247
- enumDesc(file_gc_v1_gc, 59, 0);
3597
+ enumDesc(file_gc_v1_gc, 68, 0);
3598
+
3599
+ /**
3600
+ * @generated from message blueapi.gc.v1.ListPayerAccountsResponse
3601
+ */
3602
+ export type ListPayerAccountsResponse = Message<"blueapi.gc.v1.ListPayerAccountsResponse"> & {
3603
+ /**
3604
+ * @generated from field: repeated blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount payerAccounts = 1;
3605
+ */
3606
+ payerAccounts: ListPayerAccountsResponse_PayerAccount[];
3607
+ };
3608
+
3609
+ /**
3610
+ * Describes the message blueapi.gc.v1.ListPayerAccountsResponse.
3611
+ * Use `create(ListPayerAccountsResponseSchema)` to create a new message.
3612
+ */
3613
+ export const ListPayerAccountsResponseSchema: GenMessage<ListPayerAccountsResponse> = /*@__PURE__*/
3614
+ messageDesc(file_gc_v1_gc, 69);
3615
+
3616
+ /**
3617
+ * @generated from message blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount
3618
+ */
3619
+ export type ListPayerAccountsResponse_PayerAccount = Message<"blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount"> & {
3620
+ /**
3621
+ * @generated from field: string accountId = 1;
3622
+ */
3623
+ accountId: string;
3624
+
3625
+ /**
3626
+ * @generated from field: string accountName = 2;
3627
+ */
3628
+ accountName: string;
3629
+
3630
+ /**
3631
+ * @generated from field: string billingGroupId = 3;
3632
+ */
3633
+ billingGroupId: string;
3634
+
3635
+ /**
3636
+ * @generated from field: string segmentId = 4;
3637
+ */
3638
+ segmentId: string;
3639
+
3640
+ /**
3641
+ * @generated from field: blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus status = 5;
3642
+ */
3643
+ status: ListPayerAccountsResponse_PayerAccountStatus;
3644
+
3645
+ /**
3646
+ * @generated from field: string companyId = 6;
3647
+ */
3648
+ companyId: string;
3649
+
3650
+ /**
3651
+ * Detailed AWS verification results (best-effort) returned from the last VerifyAwsOnboarding call.
3652
+ * This is used by the UI to "resume" the onboarding flow and show which verification checks
3653
+ * passed/failed when a user comes back later (e.g., after stopping at verification).
3654
+ * Empty when verification hasn't been attempted yet or when no checks were persisted.
3655
+ *
3656
+ * @generated from field: repeated blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck verificationChecks = 7;
3657
+ */
3658
+ verificationChecks: VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck[];
3659
+ };
3660
+
3661
+ /**
3662
+ * Describes the message blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount.
3663
+ * Use `create(ListPayerAccountsResponse_PayerAccountSchema)` to create a new message.
3664
+ */
3665
+ export const ListPayerAccountsResponse_PayerAccountSchema: GenMessage<ListPayerAccountsResponse_PayerAccount> = /*@__PURE__*/
3666
+ messageDesc(file_gc_v1_gc, 69, 0);
3667
+
3668
+ /**
3669
+ * @generated from enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus
3670
+ */
3671
+ export enum ListPayerAccountsResponse_PayerAccountStatus {
3672
+ /**
3673
+ * @generated from enum value: PAYER_ACCOUNT_STATUS_UNSPECIFIED = 0;
3674
+ */
3675
+ UNSPECIFIED = 0,
3676
+
3677
+ /**
3678
+ * @generated from enum value: PAYER_ACCOUNT_STATUS_ENABLED = 1;
3679
+ */
3680
+ ENABLED = 1,
3681
+
3682
+ /**
3683
+ * @generated from enum value: PAYER_ACCOUNT_STATUS_DISABLED = 2;
3684
+ */
3685
+ DISABLED = 2,
3686
+ }
3687
+
3688
+ /**
3689
+ * Describes the enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus.
3690
+ */
3691
+ export const ListPayerAccountsResponse_PayerAccountStatusSchema: GenEnum<ListPayerAccountsResponse_PayerAccountStatus> = /*@__PURE__*/
3692
+ enumDesc(file_gc_v1_gc, 69, 0);
3693
+
3694
+ /**
3695
+ * @generated from message blueapi.gc.v1.SetPayerAccountEnabledResponse
3696
+ */
3697
+ export type SetPayerAccountEnabledResponse = Message<"blueapi.gc.v1.SetPayerAccountEnabledResponse"> & {
3698
+ /**
3699
+ * Updated payer account row (same shape as list)
3700
+ *
3701
+ * @generated from field: blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount payerAccount = 1;
3702
+ */
3703
+ payerAccount?: ListPayerAccountsResponse_PayerAccount;
3704
+ };
3705
+
3706
+ /**
3707
+ * Describes the message blueapi.gc.v1.SetPayerAccountEnabledResponse.
3708
+ * Use `create(SetPayerAccountEnabledResponseSchema)` to create a new message.
3709
+ */
3710
+ export const SetPayerAccountEnabledResponseSchema: GenMessage<SetPayerAccountEnabledResponse> = /*@__PURE__*/
3711
+ messageDesc(file_gc_v1_gc, 70);
3712
+
3713
+ /**
3714
+ * @generated from message blueapi.gc.v1.GetPayerAccountStatusResponse
3715
+ */
3716
+ export type GetPayerAccountStatusResponse = Message<"blueapi.gc.v1.GetPayerAccountStatusResponse"> & {
3717
+ /**
3718
+ * @generated from field: blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount payerAccount = 1;
3719
+ */
3720
+ payerAccount?: ListPayerAccountsResponse_PayerAccount;
3721
+ };
3722
+
3723
+ /**
3724
+ * Describes the message blueapi.gc.v1.GetPayerAccountStatusResponse.
3725
+ * Use `create(GetPayerAccountStatusResponseSchema)` to create a new message.
3726
+ */
3727
+ export const GetPayerAccountStatusResponseSchema: GenMessage<GetPayerAccountStatusResponse> = /*@__PURE__*/
3728
+ messageDesc(file_gc_v1_gc, 71);
3729
+
3730
+ /**
3731
+ * @generated from message blueapi.gc.v1.ListDraftPurchasePlansResponse
3732
+ */
3733
+ export type ListDraftPurchasePlansResponse = Message<"blueapi.gc.v1.ListDraftPurchasePlansResponse"> & {
3734
+ /**
3735
+ * @generated from field: repeated blueapi.gc.v1.DefaultPurchasePlan plans = 1;
3736
+ */
3737
+ plans: DefaultPurchasePlan[];
3738
+ };
3739
+
3740
+ /**
3741
+ * Describes the message blueapi.gc.v1.ListDraftPurchasePlansResponse.
3742
+ * Use `create(ListDraftPurchasePlansResponseSchema)` to create a new message.
3743
+ */
3744
+ export const ListDraftPurchasePlansResponseSchema: GenMessage<ListDraftPurchasePlansResponse> = /*@__PURE__*/
3745
+ messageDesc(file_gc_v1_gc, 72);
3746
+
3747
+ /**
3748
+ * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanResponse
3749
+ */
3750
+ export type DeleteDraftPurchasePlanResponse = Message<"blueapi.gc.v1.DeleteDraftPurchasePlanResponse"> & {
3751
+ /**
3752
+ * The ID of the deleted plan
3753
+ *
3754
+ * @generated from field: string planId = 1;
3755
+ */
3756
+ planId: string;
3757
+
3758
+ /**
3759
+ * Indicates if the plan was successfully deleted
3760
+ *
3761
+ * @generated from field: bool success = 2;
3762
+ */
3763
+ success: boolean;
3764
+ };
3765
+
3766
+ /**
3767
+ * Describes the message blueapi.gc.v1.DeleteDraftPurchasePlanResponse.
3768
+ * Use `create(DeleteDraftPurchasePlanResponseSchema)` to create a new message.
3769
+ */
3770
+ export const DeleteDraftPurchasePlanResponseSchema: GenMessage<DeleteDraftPurchasePlanResponse> = /*@__PURE__*/
3771
+ messageDesc(file_gc_v1_gc, 73);
3248
3772
 
3249
3773
  /**
3250
3774
  * @generated from enum blueapi.gc.v1.Provider
@@ -3458,7 +3982,7 @@ export const GuaranteedCommitments: GenService<{
3458
3982
  output: typeof CommitmentPlanDetailsSchema;
3459
3983
  },
3460
3984
  /**
3461
- * WORK-IN-PROGRESS: Do not use. Executes a commitment purchase plan, initiating the commitment purchase process.
3985
+ * WORK-IN-PROGRESS: Executes a commitment purchase plan, initiating the commitment purchase process.
3462
3986
  *
3463
3987
  * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.CommitmentsPlanApply
3464
3988
  */
@@ -3518,7 +4042,7 @@ export const GuaranteedCommitments: GenService<{
3518
4042
  output: typeof ListCommitmentsResponseSchema;
3519
4043
  },
3520
4044
  /**
3521
- * WORK-IN-PROGRESS: Do not use. Generates time-series chart data for commitment metrics over the specified time period.
4045
+ * WORK-IN-PROGRESS: Generates time-series chart data for commitment metrics over the specified time period.
3522
4046
  *
3523
4047
  * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetCommitmentsChart
3524
4048
  */
@@ -3527,6 +4051,16 @@ export const GuaranteedCommitments: GenService<{
3527
4051
  input: typeof GetCommitmentsChartRequestSchema;
3528
4052
  output: typeof CommitmentsChartResponseSchema;
3529
4053
  },
4054
+ /**
4055
+ * WORK-IN-PROGRESS: Generates utilization data for commitment over the active period.
4056
+ *
4057
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetCommitmentsUtilization
4058
+ */
4059
+ getCommitmentsUtilization: {
4060
+ methodKind: "unary";
4061
+ input: typeof GetCommitmentsUtilizationRequestSchema;
4062
+ output: typeof CommitmentsUtilizationResponseSchema;
4063
+ },
3530
4064
  /**
3531
4065
  * WORK-IN-PROGRESS: Do not use. Retrieves key performance metrics for cloud commitments.
3532
4066
  *
@@ -3558,34 +4092,44 @@ export const GuaranteedCommitments: GenService<{
3558
4092
  output: typeof GetResourceDailyUsageResponseSchema;
3559
4093
  },
3560
4094
  /**
3561
- * WORK-IN-PROGRESS: Do not use. Retrieves all segments for the specified organization and provider.
4095
+ * WORK-IN-PROGRESS: Retrieves purchase plan of a company.
3562
4096
  *
3563
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListSegments
4097
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListPurchasePlansBySegment
3564
4098
  */
3565
- listSegments: {
4099
+ listPurchasePlansBySegment: {
3566
4100
  methodKind: "unary";
3567
- input: typeof ListSegmentsRequestSchema;
3568
- output: typeof ListSegmentsResponseSchema;
4101
+ input: typeof ListPurchasePlansBySegmentRequestSchema;
4102
+ output: typeof ListPurchasePlansBySegmentResponseSchema;
3569
4103
  },
3570
4104
  /**
3571
- * WORK-IN-PROGRESS: Retrieves detailed information about a specific segment.
4105
+ * WORK-IN-PROGRESS: Saves a commitment purchase plan as draft.
3572
4106
  *
3573
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetSegmentDetails
4107
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.SaveCommitmentsPlanAsDraft
3574
4108
  */
3575
- getSegmentDetails: {
4109
+ saveCommitmentsPlanAsDraft: {
3576
4110
  methodKind: "unary";
3577
- input: typeof GetSegmentDetailsRequestSchema;
3578
- output: typeof SegmentDetailsSchema;
4111
+ input: typeof SaveCommitmentsPlanAsDraftRequestSchema;
4112
+ output: typeof DefaultPurchasePlanSchema;
3579
4113
  },
3580
4114
  /**
3581
- * WORK-IN-PROGRESS: Do not use. Retrieves default purchase plans of a company.
4115
+ * WORK-IN-PROGRESS: Retrieves the drafted purchase plans
3582
4116
  *
3583
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListPurchasePlansBySegment
4117
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListDraftPurchasePlans
3584
4118
  */
3585
- listPurchasePlansBySegment: {
4119
+ listDraftPurchasePlans: {
3586
4120
  methodKind: "unary";
3587
- input: typeof ListPurchasePlansBySegmentRequestSchema;
3588
- output: typeof ListPurchasePlansBySegmentResponseSchema;
4121
+ input: typeof ListDraftPurchasePlansRequestSchema;
4122
+ output: typeof ListDraftPurchasePlansResponseSchema;
4123
+ },
4124
+ /**
4125
+ * WORK-IN-PROGRESS: Deletes a draft purchase plan.
4126
+ *
4127
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.DeleteDraftPurchasePlan
4128
+ */
4129
+ deleteDraftPurchasePlan: {
4130
+ methodKind: "unary";
4131
+ input: typeof DeleteDraftPurchasePlanRequestSchema;
4132
+ output: typeof DeleteDraftPurchasePlanResponseSchema;
3589
4133
  },
3590
4134
  /**
3591
4135
  * WORK-IN-PROGRESS: Registers a new child organization under the channel partner.
@@ -3654,6 +4198,33 @@ export const GuaranteedCommitments: GenService<{
3654
4198
  input: typeof GetOnboardingStatusRequestSchema;
3655
4199
  output: typeof GetOnboardingStatusResponseSchema;
3656
4200
  },
4201
+ /**
4202
+ * WORK-IN-PROGRESS: Lists payer accounts associated with the organization.
4203
+ * Retrieves all payer accounts linked to the organization, including their status and associated segments.
4204
+ *
4205
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListPayerAccounts
4206
+ */
4207
+ listPayerAccounts: {
4208
+ methodKind: "unary";
4209
+ input: typeof ListPayerAccountsRequestSchema;
4210
+ output: typeof ListPayerAccountsResponseSchema;
4211
+ },
4212
+ /**
4213
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.SetPayerAccountEnabled
4214
+ */
4215
+ setPayerAccountEnabled: {
4216
+ methodKind: "unary";
4217
+ input: typeof SetPayerAccountEnabledRequestSchema;
4218
+ output: typeof SetPayerAccountEnabledResponseSchema;
4219
+ },
4220
+ /**
4221
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetPayerAccountStatus
4222
+ */
4223
+ getPayerAccountStatus: {
4224
+ methodKind: "unary";
4225
+ input: typeof GetPayerAccountStatusRequestSchema;
4226
+ output: typeof GetPayerAccountStatusResponseSchema;
4227
+ },
3657
4228
  }> = /*@__PURE__*/
3658
4229
  serviceDesc(file_gc_v1_gc, 0);
3659
4230