@alphauspkgs/blue-sdk-ts 1.0.37 → 1.0.39

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("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiMQofR2V0Q29tbWl0bWVudFBsYW5EZXRhaWxzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIk4KIUxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXIiUAojR2V0UmVjb21tZW5kZWRDb21taXRtZW50UGxhblJlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqABCiJMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIPCgdvcmRlckJ5GAIgASgJEgwKBGRlc2MYAyABKAgSEQoJc2VnbWVudElkGAQgASgJEhgKEHJlc291cmNlTWF0Y2hJZHMYBSADKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKyAQooTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkSDwoHb3JkZXJCeRgCIAEoCRIMCgRkZXNjGAMgASgIEhEKCXN0YXJ0RGF0ZRgEIAEoCRIPCgdlbmREYXRlGAUgASgJEhMKC2xpbmVJdGVtSWRzGAYgAygJEgwKBHBhZ2UYByABKAUSEAoIcGFnZVNpemUYCCABKAUiGAoWTGlzdENvbW1pdG1lbnRzUmVxdWVzdCJnChpHZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkSDwoHZ3JvdXBCeRgCIAEoCRIRCglzdGFydERhdGUYAyABKAkSDwoHZW5kRGF0ZRgEIAEoCSI4CiBHZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkiPgoRR2V0TWV0cmljc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqMBChRMaXN0UmVzb3VyY2VzUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc2VnbWVudElkGAIgASgJEg4KBnNlYXJjaBgDIAEoCRIMCgRkZXNjGAQgASgIEg8KB29yZGVyQnkYBSABKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKMAQocR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBISCgpyZXNvdXJjZUlkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhQKDGNhdGFsb2dTa3VJZBgEIAEoCRIMCgRwYWdlGAUgASgFEhAKCHBhZ2VTaXplGAYgASgFIkAKE0xpc3RTZWdtZW50c1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIi0KGEdldFNlZ21lbnREZXRhaWxzUmVxdWVzdBIRCglzZWdtZW50SWQYASABKAkiIwohTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IiYKB09yZ1VzZXISDQoFZW1haWwYASABKAkSDAoEcm9sZRgCIAEoCSIsCgpNZW1iZXJzaGlwEgwKBHJvbGUYASABKAkSEAoIdXNlcm5hbWUYAiABKAkiYgoHQWRkcmVzcxINCgVsaW5lMRgBIAEoCRIMCgRjaXR5GAIgASgJEg0KBXN0YXRlGAMgASgJEgsKA3ppcBgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEg0KBWxpbmUyGAYgASgJIlQKDkF3c0V4aXN0aW5nQ3VyEg4KBnJlZ2lvbhgBIAEoCRIOCgZidWNrZXQYAiABKAkSDgoGcHJlZml4GAMgASgJEhIKCnJlcG9ydE5hbWUYBCABKAkirQIKElJlZ2lzdGVyT3JnUmVxdWVzdBINCgVtc3BJZBgBIAEoCRIRCgliaWxsaW5nSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIbChNsYWJyYVN1YnNjcmlwdGlvbklkGAQgASgJEiUKBXVzZXJzGAUgAygLMhYuYmx1ZWFwaS5nYy52MS5PcmdVc2VyEg4KBmRvbWFpbhgGIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgHIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAkgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAogASgJIlcKGVN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiYQojR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiWQobR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJIrUBChpWZXJpZnlBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIUCgxvbmJvYXJkaW5nSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEjIKC2V4aXN0aW5nQ3VyGAYgASgLMh0uYmx1ZWFwaS5nYy52MS5Bd3NFeGlzdGluZ0N1ciJHChpHZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkiGgoYTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0IkMKHVNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIh4KHEdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QiMAobVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCSLCBwohU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIWCg5yZXNlcnZhdGlvbklkcxgCIAMoCRITCgtyZXNvdXJjZUlkcxgDIAMoCRIWCg5tYXhVcGZyb250Q29zdBgEIAEoARIpCghwcm92aWRlchgFIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZW5kRGF0ZRgGIAEoCRIRCglzdGFydERhdGUYByABKAkSEQoJc2VnbWVudElkGAggASgJEg4KBnN0YXR1cxgJIAEoCRITCgtkZXNjcmlwdGlvbhgKIAEoCRIMCgRuYW1lGAsgASgJEh4KFnByZWZlcnJlZFBheW1lbnRPcHRpb24YDCABKAkSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGA0gAygJEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgOIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEioKCmNvdmVyYWdlSWQYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY3JlYXRlZEF0GBAgASgJEikKCWNyZWF0ZWRCeRgRIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRISCgpkYXRhU291cmNlGBIgASgJEi8KD2V4ZWN1dGlvblBvbGljeRgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIWCg5mbGFnZ2VkQWN0aW9ucxgUIAMoCRIKCgJpZBgVIAEoCRIVCg1pc0NhbGN1bGF0aW5nGBYgASgIEhEKCWlzRGVmYXVsdBgXIAEoCBIQCghpc0xvY2tlZBgYIAEoCBIVCg1pc1JlY29tbWVuZGVkGBkgASgIEhEKCWlzUmVuZXdhbBgaIAEoCBIPCgdpc1NhdmVkGBsgASgIEhQKDGxhc3RNb2RpZmllZBgcIAEoCRISCgptZXRhUGxhbklkGB0gASgJEjoKGm1pbmltdW1VcGZyb250SW50ZXJlc3RSYXRlGB4gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg0KBW9yZ0lkGB8gASgJEhAKCHBsYW5UeXBlGCAgASgJEj4KHnJlY29tbWVuZFdpdGhpbkNvdmVyZWRBY2NvdW50cxghIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRInCgdzZWdtZW50GCIgASgLMhYuYmx1ZWFwaS5nYy52MS5TZWdtZW50Ih8KHUxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0IjAKHkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiPwopR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlcXVlc3QSEgoKZXh0ZXJuYWxJZBgBIAEoCSJNCidDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEhIKCmV4dGVybmFsSWQYAiABKAkiMQoDT3JnEg0KBW9yZ0lkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFZW1haWwYAyABKAki8wQKFUNvbW1pdG1lbnRQbGFuRGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBW9yZ0lkGAQgASgJEhEKCWNyZWF0ZWRBdBgFIAEoCRIVCg1pc0NhbGN1bGF0aW5nGAYgASgIEg4KBnN0YXR1cxgHIAEoCRIPCgdtYXhUZXJtGAggASgJEiEKGWNvdmVyZWRPbmRlbWFuZENvc3RIb3VybHkYCSABKAESIAoYYmVmb3JlT25kZW1hbmRDb3N0SG91cmx5GAogASgBEiAKGGJlZm9yZVJlc2VydmVkQ29zdEhvdXJseRgLIAEoARIbChNhbW9ydGl6ZWRDb3N0SG91cmx5GAwgASgBEhsKE3JlY3VycmluZ0Nvc3RIb3VybHkYDSABKAESGQoRdXBmcm9udENvc3RIb3VybHkYDiABKAESGAoQYmVmb3JlQ29zdEhvdXJseRgPIAEoARIXCg9hZnRlckNvc3RIb3VybHkYECABKAESFwoPdG90YWxDb3N0SG91cmx5GBEgASgBEhUKDXNhdmluZ3NIb3VybHkYEiABKAESEQoJZmVlSG91cmx5GBMgASgBEhoKEmNvbW1pdG1lbnRDb3ZlcmFnZRgUIAEoARIdChVtaW5pbXVtQ29tbWl0bWVudENvc3QYFSABKAESFgoOYnJlYWtldmVuSG91cnMYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEhYKDm1vbnRobHlTYXZpbmdzGBggASgBEh4KFnRvdGFsTW9udGhseUJlZm9yZUNvc3QYGSABKAEiWQoiTGlzdERlZmF1bHRDb21taXRtZW50UGxhbnNSZXNwb25zZRIzCgVwbGFucxgBIAMoCzIkLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIukFChZDb21taXRtZW50UGxhbkxpbmVJdGVtEgoKAmlkGAEgASgJEg4KBnBsYW5JZBgCIAEoCRIPCgdvZmZlcklkGAMgASgJEhcKD2xlYXNlTWVudUl0ZW1JZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSGwoTcmVjb21tZW5kZWRRdWFudGl0eRgGIAEoARIYChBzZWxlY3RlZFF1YW50aXR5GAcgASgBEh0KFXJlY29tbWVuZGVkQ29tbWl0bWVudBgIIAEoARIaChJzZWxlY3RlZENvbW1pdG1lbnQYCSABKAESEgoKaXNTZWxlY3RlZBgKIAEoCBIaChJhZnRlckFtb3J0aXplZENvc3QYCyABKAESEwoLdXBmcm9udENvc3QYDCABKAESFQoNcmVjdXJyaW5nQ29zdBgNIAEoARISCgpiZWZvcmVDb3N0GA4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgPIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYECABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgRIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgSIAEoARIRCgl0b3RhbENvc3QYEyABKAESEwoLbW9udGhseUNvc3QYFCABKAESDwoHc2F2aW5ncxgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESCwoDZmVlGBggASgBEhQKDGRpc2NvdW50UmF0ZRgZIAEoARIWCg5icmVha2V2ZW5Ib3VycxgaIAEoARIUCgxjb250cmFjdFRlcm0YGyABKAkSFQoNcGF5bWVudE9wdGlvbhgcIAEoCRItCgxjb250cmFjdFNwZWMYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBW9mZmVyGB4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJfCiNMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXNwb25zZRI4CglsaW5lSXRlbXMYASADKAsyJS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuTGluZUl0ZW0i9wQKG0NvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIKCgJpZBgBIAEoCRISCgp0b3RhbFVuaXRzGAIgASgBEhwKFGJlZm9yZVVuY292ZXJlZFVuaXRzGAMgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGAQgASgBEhsKE2FmdGVyVW5jb3ZlcmVkVW5pdHMYBSABKAESFQoNb25kZW1hbmRQcmljZRgGIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgHIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYCCABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYCSABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgKIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYCyABKAESGQoRYWZ0ZXJSZXNlcnZlZENvc3QYDCABKAESEgoKYmVmb3JlQ29zdBgNIAEoARIRCglhZnRlckNvc3QYDiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYDyABKAESGAoQbW9udGhseUFmdGVyQ29zdBgQIAEoARIgChhtb250aGx5QWZ0ZXJSZXNlcnZlZENvc3QYESABKAESIAoYbW9udGhseUFmdGVyT25kZW1hbmRDb3N0GBIgASgBEhYKDmF2ZXJhZ2VTYXZpbmdzGBMgASgBEh0KFWF2ZXJhZ2VNb250aGx5U2F2aW5ncxgUIAEoARIRCgl1c2FnZVR5cGUYFSABKAkSEAoIY292ZXJhZ2UYFiABKAESKQoIcmVzb3VyY2UYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0InAKKUxpc3RDb21taXRtZW50UGxhblJlc291cmNlTWF0Y2hlc1Jlc3BvbnNlEkMKD3Jlc291cmNlTWF0Y2hlcxgBIAMoCzIqLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoIu4BCgVMZWFzZRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIdChVwcm92aWRlclJlc2VydmF0aW9uSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIRCglzdGFydERhdGUYBiABKAkSDwoHZW5kRGF0ZRgHIAEoCRISCgpsb2NraW5EYXRlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBEhUKDXJlY3VycmluZ0Nvc3QYCiABKAESEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCSJJChBEYWlseVV0aWxpemF0aW9uEgwKBGRhdGUYASABKAkSEwoLdXRpbGl6YXRpb24YAiABKAESEgoKbmV0U2F2aW5ncxgDIAEoASLQBwoKQ29tbWl0bWVudBIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFQoNYW1vcnRpemVkQ29zdBgDIAEoARIYChBiaWxsaW5nQWNjb3VudElkGAQgASgJEhEKCWNhblJlYmF0ZRgFIAEoCBIUCgxjb250cmFjdFRlcm0YBiABKAkSEwoLZGlzcGxheU5hbWUYByABKAkSFwoPZHVyYXRpb25TZWNvbmRzGAggASgBEh4KFmVmZmVjdGl2ZUluc3RhbmNlQ291bnQYCSABKAMSDwoHZW5kRGF0ZRgKIAEoCRIVCg1pbnN0YW5jZUNvdW50GAsgASgDEhYKDmluc3RhbmNlRmFtaWx5GAwgASgJEhQKDGluc3RhbmNlVHlwZRgNIAEoCRIQCghpc0FjdGl2ZRgOIAEoCBISCgppc0ZsZXhpYmxlGA8gASgIEhAKCGlzTGVhc2VkGBAgASgIEhEKCWlzTXVsdGlBehgRIAEoCBIXCg9sZWFzZUxvY2tpbkRhdGUYEiABKAkSEgoKbGVhc2VTdGFydBgTIAEoCRIZChFsZWFzZWREaXNwbGF5TmFtZRgUIAEoCRITCgttb250aGx5Q29zdBgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIMCgRuYW1lGBcgASgJEhIKCm5ldFNhdmluZ3MYGCABKAESEgoKb2ZmZXJpbmdJZBgZIAEoCRIVCg1wYXltZW50T3B0aW9uGBogASgJEhgKEHBvdGVudGlhbFNhdmluZ3MYGyABKAESGgoScHJvZHVjdERlc2NyaXB0aW9uGBwgASgJEhAKCHByb3ZpZGVyGB0gASgJEh4KFnByb3ZpZGVyUmVzZXJ2YXRpb25faWQYHiABKAkSFQoNcmVjdXJyaW5nQ29zdBgfIAEoARIOCgZyZWdpb24YICABKAkSEwoLcmVuZXdhbFBsYW4YISABKAkSFgoOcmVzZXJ2YXRpb25FbmQYIiABKAkSGAoQcmVzZXJ2YXRpb25TdGFydBgjIAEoCRIUCgxydW5uaW5nSG91cnMYJCABKAESDwoHc2F2aW5ncxglIAEoARIRCglzdGFydERhdGUYJiABKAkSDgoGc3RhdHVzGCcgASgJEh4KFnRyYW5zZmVyUmVzZXJ2YXRpb25FbmQYKCABKAkSIAoYdHJhbnNmZXJSZXNlcnZhdGlvblN0YXJ0GCkgASgJEgwKBHR5cGUYKiABKAkSEwoLdXBmcm9udENvc3QYKyABKAESEwoLdXRpbGl6YXRpb24YLCABKAEiSQoXTGlzdENvbW1pdG1lbnRzUmVzcG9uc2USLgoLY29tbWl0bWVudHMYASADKAsyGS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnQiSgoUQ29tbWl0bWVudHNDaGFydERhdGESDAoEZGF0ZRgBIAEoCRIQCghjaGFydEtleRgCIAEoCRISCgpjaGFydFZhbHVlGAMgASgBIk0KGENvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZRIxCgRkYXRhGAEgAygLMiMuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0RGF0YSL8AQoaQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGESFwoPdXRpbGl6YXRpb25EYXRlGAEgASgJEgwKBGNvc3QYAiABKAESEwoLY292ZXJlZENvc3QYAyABKAESDwoHZ3JpRmVlcxgEIAEoARISCgpuZXRTYXZpbmdzGAUgASgBEhgKEHBvdGVudGlhbFNhdmluZ3MYBiABKAESHgoWcmVzZXJ2YXRpb25VdGlsaXphdGlvbhgHIAEoARIUCgxydW5uaW5nSG91cnMYCCABKAESDwoHc2F2aW5ncxgJIAEoARIcChR1bnV0aWxpemVkQ29tbWl0bWVudBgKIAEoASJZCh5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2USNwoEZGF0YRgBIAMoCzIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGEizQMKD01ldHJpY3NSZXNwb25zZRIXCg9saWZldGltZVNhdmluZ3MYASABKAESEgoKbXRkU2F2aW5ncxgCIAEoARIhChlwdXJjaGFzZUF1dG9tYXRpb25FbmFibGVkGAMgASgIEiAKGGJ1eWJhY2tBdXRvbWF0aW9uRW5hYmxlZBgEIAEoCBIXCg9oYXNBY3Rpb25lZFBsYW4YBSABKAgSGQoRaGFzUGVuZGluZ0FjdGlvbnMYBiABKAgSGwoTbGF0ZXN0RXhlY3V0aW9uRGF0ZRgHIAEoCRIdChVwdXJjaGFzZU1pc3NlZFNhdmluZ3MYCCABKAESHAoUYnV5YmFja01pc3NlZFNhdmluZ3MYCSABKAESHwoXdG90YWxEYWlseU1pc3NlZFNhdmluZ3MYCiABKAESGwoTaG91cmx5TWlzc2VkU2F2aW5ncxgLIAEoARIeChZtaXNzZWRTYXZpbmdzU3RhcnREYXRlGAwgASgJEhwKFG1pc3NlZFNhdmluZ3NFbmREYXRlGA0gASgJEhcKD2V4cGlyaW5nU2F2aW5ncxgOIAEoARIQCghjb3ZlcmFnZRgPIAEoARITCgt1dGlsaXphdGlvbhgQIAEoASKICAoIUmVzb3VyY2USCgoCaWQYASABKAkSEgoKcmVzb3VyY2VJZBgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISGgoScHJvdmlkZXJSZXNvdXJjZUlkGAQgASgJEg4KBmlzU3BvdBgFIAEoCBIMCgRuYW1lGAYgASgJEhUKDXJlc291cmNlR3JvdXAYByABKAkSEAoIdXNhZ2VFbmQYCCABKAkSEgoKdXNhZ2VTdGFydBgJIAEoCRIlCgR0YWdzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCgljcmVhdGVkQXQYCyABKAkSEQoJdXBkYXRlZEF0GAwgASgJEhIKCmluc3RhbmNlSWQYDSABKAkSGAoQYmlsbGluZ0FjY291bnRJZBgOIAEoCRIUCgxzdWJBY2NvdW50SWQYDyABKAkSGwoTbWFuYWdlbWVudEFjY291bnRJZBgQIAEoCRIWCg5vd25lckFjY291bnRJZBgRIAEoCRIQCghza3VUaXRsZRgSIAEoCRIPCgdza3VOYW1lGBMgASgJEhgKEGF2YWlsYWJpbGl0eVpvbmUYFCABKAkSEwoLY2FjaGVFbmdpbmUYFSABKAkSFgoOZGF0YWJhc2VFbmdpbmUYFiABKAkSEwoLZGVzY3JpcHRpb24YFyABKAkSDgoGZmFtaWx5GBggASgJEhYKDmZ1bGxSZWdpb25OYW1lGBkgASgJEhgKEGhhc09uZGVtYW5kVGVybXMYGiABKAgSFAoMaW5zdGFuY2VUeXBlGBsgASgJEhoKEmluc3RhbmNlVHlwZUZhbWlseRgcIAEoCRIUCgxpc1Jlc2VydmFibGUYHSABKAgSFAoMbGljZW5zZU1vZGVsGB4gASgJEhQKDGxvY2F0aW9uVHlwZRgfIAEoCRIfChdub3JtYWxpemF0aW9uU2l6ZUZhY3RvchggIAEoCRIXCg9vcGVyYXRpbmdTeXN0ZW0YISABKAkSFgoOcHJlSW5zdGFsbGVkU3cYIiABKAkSFQoNcHJpY2VDdXJyZW5jeRgjIAEoCRIXCg9wcm92aWRlclNlcnZpY2UYJCABKAkSFQoNcHJvdmlkZXJTa3VJZBglIAEoCRIXCg9wdWJsaWNhdGlvbkRhdGUYJiABKAkSDgoGcmVnaW9uGCcgASgJEg8KB3NlcnZpY2UYKCABKAkSDwoHdGVuYW5jeRgpIAEoCRIRCgl1c2FnZVR5cGUYKiABKAkSDwoHdmVyc2lvbhgrIAEoCRIcChR2cGNOZXR3b3JraW5nU3VwcG9ydBgsIAEoCBIZChFvbmRlbWFuZFVzYWdlVW5pdBgtIAEoCSJDChVMaXN0UmVzb3VyY2VzUmVzcG9uc2USKgoJcmVzb3VyY2VzGAEgAygLMhcuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZSLUAgoSUmVzb3VyY2VEYWlseVVzYWdlEgwKBGRhdGUYASABKAkSFgoOdXNhZ2VBY2NvdW50SWQYAiABKAkSFAoMc3ViQWNjb3VudElkGAMgASgJEg0KBXVzYWdlGAQgASgBEhgKEHJlc2VydmF0aW9uVXNhZ2UYBSABKAESFQoNZnJlZVRpZXJVc2FnZRgGIAEoARIUCgxvbmRlbWFuZENvc3QYByABKAESFAoMcmVzZXJ2ZWRDb3N0GAggASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GAkgASgBEhAKCHNwb3RDb3N0GAogASgBEhcKD2ZyZWVUaWVyU2F2aW5ncxgLIAEoARIRCgl1c2FnZVR5cGUYDCABKAkSFwoPY29tbW9uVXNhZ2VUeXBlGA0gASgJEhQKDGNvdmVyZWRVc2FnZRgOIAEoARIOCgZ1cHRpbWUYDyABKAEiVgodR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVzcG9uc2USNQoKZGFpbHlVc2FnZRgBIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2VEYWlseVVzYWdlInQKB1NlZ21lbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJaXNEZWZhdWx0GAQgASgIEhEKCWNyZWF0ZWRBdBgFIAEoCSJAChRMaXN0U2VnbWVudHNSZXNwb25zZRIoCghzZWdtZW50cxgBIAMoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudCJACg5TZWdtZW50Q3JlYXRvchIKCgJpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSJLCgxQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEQoJaXNSZW5ld2FsGAQgASgIIqUFCg5TZWdtZW50RGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEikKCHByb3ZpZGVyGAQgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIWCg5jbG91ZFByb3ZpZGVycxgFIAMoCRIRCglpc0RlZmF1bHQYBiABKAgSEQoJY3JlYXRlZEF0GAcgASgJEjAKCWNyZWF0ZWRCeRgIIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VnbWVudENyZWF0b3ISEAoIcGFyZW50SWQYCSABKAkSDgoGc3RhdHVzGAogASgJEhQKDHNlZ21lbnRDbGFzcxgLIAEoCRInCgZwYXJhbXMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhMKC21vbnRobHlDb3N0GA0gASgBEhYKDm1vbnRobHlOZXRDb3N0GA4gASgBEiAKGG1vbnRobHlJZkFsbE9uZGVtYW5kQ29zdBgPIAEoARIbChNtb250aGx5T25kZW1hbmRDb3N0GBAgASgBEhsKE21vbnRobHlSZXNlcnZlZENvc3QYESABKAESFwoPbW9udGhseVNwb3RDb3N0GBIgASgBEhYKDm1vbnRobHlTYXZpbmdzGBMgASgBEhUKDW1vbnRobHlCdWRnZXQYFCABKAESEAoIY292ZXJhZ2UYFSABKAESGwoTcmVjb21tZW5kZWRDb3ZlcmFnZRgWIAEoARIWCg50YXJnZXRDb3ZlcmFnZRgXIAEoARIcChRtb250aGx5UmVzb3VyY2VDb3VudBgYIAEoBRIyCg1wdXJjaGFzZVBsYW5zGBkgAygLMhsuYmx1ZWFwaS5nYy52MS5QdXJjaGFzZVBsYW4ieAoMQ29udHJhY3RTcGVjEhYKDmNvbW1pdG1lbnRUeXBlGAEgASgJEhUKDXBheW1lbnRPcHRpb24YAiABKAkSDAoEdGVybRgDIAEoCRIrCgpwcm9wZXJ0aWVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLeAgoLUGxhblN1bW1hcnkSCwoDa2V5GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhYKDm51bUNvbW1pdG1lbnRzGAMgASgFEhUKDW1pbkNvbW1pdG1lbnQYBCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYBSABKAESEwoLdXBmcm9udENvc3QYBiABKAESEgoKbWluU2F2aW5ncxgHIAEoARISCgptYXhTYXZpbmdzGAggASgBEhYKDm1vbnRobHlTYXZpbmdzGAkgASgBEhQKDG1pblRlcm1Ib3VycxgKIAEoBRIUCgxtYXhUZXJtSG91cnMYCyABKAUSEwoLZ3JpUHJlbWl1bXMYDCABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GA0gASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GA4gASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GA8gASgBIuUCCg5TZXJ2aWNlU3VtbWFyeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRITCgtzZXJ2aWNlTmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIWCg5udW1Db21taXRtZW50cxgFIAEoBRIXCg9jdXJyZW50Q292ZXJhZ2UYBiABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYByABKAESFQoNbWluQ29tbWl0bWVudBgIIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgJIAEoARITCgt1cGZyb250Q29zdBgKIAEoARISCgptaW5TYXZpbmdzGAsgASgBEhIKCm1heFNhdmluZ3MYDCABKAESFgoObW9udGhseVNhdmluZ3MYDSABKAESFAoMbWluVGVybUhvdXJzGA4gASgFEhQKDG1heFRlcm1Ib3VycxgPIAEoBRISCgpncmlQcmVtaXVtGBAgASgBItoBChBBZ2dyZWdhdGVNZXRyaWNzEhcKD2N1cnJlbnRDb3ZlcmFnZRgBIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgCIAEoARJBCglzdW1tYXJpZXMYAyADKAsyLi5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MuU3VtbWFyaWVzRW50cnkaTwoOU3VtbWFyaWVzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uYmx1ZWFwaS5nYy52MS5TZXJ2aWNlU3VtbWFyeToCOAEi1QoKE0RlZmF1bHRQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCglzZWdtZW50SWQYBSABKAkSJwoHc2VnbWVudBgGIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudBIOCgZzdGF0dXMYByABKAkSEAoIcGxhblR5cGUYCCABKAkSEQoJY3JlYXRlZEF0GAkgASgJEhQKDGxhc3RNb2RpZmllZBgKIAEoCRIpCgljcmVhdGVkQnkYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPZXhlY3V0aW9uUG9saWN5GAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWlzRGVmYXVsdBgNIAEoCBIVCg1pc1JlY29tbWVuZGVkGA4gASgIEhEKCWlzUmVuZXdhbBgPIAEoCBIVCg1pc0NhbGN1bGF0aW5nGBAgASgIEhAKCGlzTG9ja2VkGBEgASgIEg8KB2lzU2F2ZWQYEiABKAgSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGBMgAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGBQgAygJEg8KB21heFRlcm0YFSABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgWIAEoCRIWCg5tYXhVcGZyb250Q29zdBgXIAEoARIiChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgYIAEoARI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJc3RhcnREYXRlGBogASgJEg8KB2VuZERhdGUYGyABKAkSEgoKZGF0YVNvdXJjZRgcIAEoCRISCgpiZWZvcmVDb3N0GB0gASgBEhEKCWFmdGVyQ29zdBgeIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYHyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GCAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYISABKAESFQoNYW1vcnRpemVkQ29zdBgiIAEoARIVCg1yZWN1cnJpbmdDb3N0GCMgASgBEhMKC3VwZnJvbnRDb3N0GCQgASgBEhEKCXRvdGFsQ29zdBglIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GCYgASgBEg8KB3NhdmluZ3MYJyABKAESFgoObW9udGhseVNhdmluZ3MYKCABKAESFAoMdG90YWxTYXZpbmdzGCkgASgBEgsKA2ZlZRgqIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYKyABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GCwgASgBEhYKDmJyZWFrZXZlbkhvdXJzGC0gASgBEjkKEGFnZ3JlZ2F0ZU1ldHJpY3MYLiABKAsyHy5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MSLQoJc3VtbWFyaWVzGC8gAygLMhouYmx1ZWFwaS5nYy52MS5QbGFuU3VtbWFyeRIWCg5yZXNlcnZhdGlvbklkcxgwIAMoCRITCgtyZXNvdXJjZUlkcxgxIAMoCRIWCg5mbGFnZ2VkQWN0aW9ucxgyIAMoCRISCgptZXRhUGxhbklkGDMgASgJEhIKCmNvdmVyYWdlSWQYNCABKAkiVwoiTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiKEAgoTUmVnaXN0ZXJPcmdSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEi4KC21lbWJlcnNoaXBzGAMgAygLMhkuYmx1ZWFwaS5nYy52MS5NZW1iZXJzaGlwEg4KBmRvbWFpbhgEIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgFIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgGIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAcgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAggASgJIjIKGlN0YXJ0QXdzT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCSJRCiRHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2USKQoIdGVtcGxhdGUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IisKHEdldEF3c0xhdW5jaFN0YWNrVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIo8EChtWZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2USVAoGY2hlY2tzGAEgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxqZAwoZQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIPCgdmZWF0dXJlGAEgASgJEm8KBnN0YXR1cxgCIAEoDjJfLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2suQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMi+QEKGkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzEi0KKUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfQVZBSUxBQkxFEAESKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfV0FSTklORxACEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX01JU1NJTkcQAxIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTktOT1dOEAQinAUKG0dldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZRINCgVmb3VuZBgBIAEoCBINCgVpc01zcBgCIAEoCBIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZ2NPcmdJZBgEIAEoCRIUCgxvbmJvYXJkaW5nSWQYBSABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgGIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSEQoJYWNjb3VudElkGAcgASgJEhYKDmJpbGxpbmdHcm91cElkGAggASgJEhEKCWNvbXBhbnlJZBgJIAEoCRJgChJ2ZXJpZmljYXRpb25DaGVja3MYCiADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIpUCChBPbmJvYXJkaW5nU3RhdHVzEiEKHU9OQk9BUkRJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJAogT05CT0FSRElOR19TVEFUVVNfTk9UX1JFR0lTVEVSRUQQARIgChxPTkJPQVJESU5HX1NUQVRVU19SRUdJU1RFUkVEEAISKAokT05CT0FSRElOR19TVEFUVVNfT05CT0FSRElOR19TVEFSVEVEEAMSHgoaT05CT0FSRElOR19TVEFUVVNfVkVSSUZJRUQQBBInCiNPTkJPQVJESU5HX1NUQVRVU19WRVJJRllfSU5DT01QTEVURRAFEiMKH09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9GQUlMRUQQBiLnBAoZTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZRJMCg1wYXllckFjY291bnRzGAEgAygLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudBr6AgoMUGF5ZXJBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCglzZWdtZW50SWQYBCABKAkSSwoGc3RhdHVzGAUgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudFN0YXR1cxIRCgljb21wYW55SWQYBiABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgHIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAggAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJQYXllckFjY291bnRTdGF0dXMSJAogUEFZRVJfQUNDT1VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxQQVlFUl9BQ0NPVU5UX1NUQVRVU19FTkFCTEVEEAESIQodUEFZRVJfQUNDT1VOVF9TVEFUVVNfRElTQUJMRUQQAiJtCh5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJsCh1HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50IjsKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJTCh5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQgofRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZRIOCgZwbGFuSWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCCLdAQoqR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlEhEKCWxhdW5jaFVybBgBIAEoCRITCgt0ZW1wbGF0ZVVybBgCIAEoCRIRCglzdGFja05hbWUYAyABKAkSEQoJcHJpbmNpcGFsGAQgASgJEhIKCmV4dGVybmFsSWQYBSABKAkSJQodZ3VhcmFudGVlZENvbW1pdG1lbnRQcmluY2lwYWwYBiABKAkSJgoeZ3VhcmFudGVlZENvbW1pdG1lbnRFeHRlcm5hbElkGAcgASgJIr4CCihDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlEg4KBnRhcmdldBgBIAEoCRIVCg1yaXBwbGVSb2xlQXJuGAIgASgJEhgKEHJpcHBsZUV4dGVybmFsSWQYAyABKAkSIwobZ3VhcmFudGVlZENvbW1pdG1lbnRSb2xlQXJuGAQgASgJEiYKHmd1YXJhbnRlZWRDb21taXRtZW50RXh0ZXJuYWxJZBgFIAEoCRIPCgdzdGFja0lkGAYgASgJEhMKC3N0YWNrUmVnaW9uGAcgASgJEhMKC3RlbXBsYXRlVXJsGAggASgJEg4KBnN0YXR1cxgJIAEoCRITCgtsYXN0VXBkYXRlZBgKIAEoCRIkChxndWFyYW50ZWVkQ29tbWl0bWVudFZlcmlmaWVkGAsgASgIKl4KCFByb3ZpZGVyEhgKFFBST1ZJREVSX1VOU1BFQ0lGSUVEEAASBwoDQVdTEAESCQoFQVpVUkUQAhIHCgNHQ1AQAxIOCgpLVUJFUk5FVEVTEAQSCwoHVU5LTk9XThAFKpgBChBDb21taXRtZW50U3RhdHVzEiEKHUNPTU1JVE1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASBwoDTkVXEAESDAoIUkVWSUVXRUQQAhINCglTQ0hFRFVMRUQQAxINCglDT01QTEVURUQQBBIJCgVEUkFGVBAFEhAKDE5FRURTX1JFVklFVxAGEg8KC0lOX1BST0dSRVNTEAcqigEKGUNvbW1pdG1lbnRJbnZlbnRvcnlTdGF0dXMSKwonQ09NTUlUTUVOVF9JTlZFTlRPUllfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCgoGQUNUSVZFEAESCwoHUkVUSVJFRBACEhMKD1BBWU1FTlRfUEVORElORxADEhIKDlBBWU1FTlRfRkFJTEVEEAQqQwoFU2NvcGUSFQoRU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZTSEFSRUQQARIMCghSRUdJT05BTBACEgkKBVpPTkFMEAMqQQoJVXNhZ2VUeXBlEhoKFlVTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABILCgdSVU5OSU5HEAESCwoHU1RPUFBFRBACMsclChVHdWFyYW50ZWVkQ29tbWl0bWVudHMSYwoITGlzdE9yZ3MSHi5ibHVlYXBpLmdjLnYxLkxpc3RPcmdzUmVxdWVzdBoSLmJsdWVhcGkuZ2MudjEuT3JnIiGC0+STAhs6ASoiFi92MS9vcmdhbml6YXRpb25zOnJlYWQwARKYAQoZR2V0Q29tbWl0bWVudHNQbGFuRGV0YWlscxIuLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudFBsYW5EZXRhaWxzUmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIiWC0+STAh8SHS92MS9jb21taXRtZW50cy9wbGFuL3twbGFuSWR9EpcBChRDb21taXRtZW50c1BsYW5BcHBseRIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIugtPkkwIoOgEqIiMvdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9hcHBseRKnAQoaTGlzdERlZmF1bHRDb21taXRtZW50c1BsYW4SMC5ibHVlYXBpLmdjLnYxLkxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuTGlzdERlZmF1bHRDb21taXRtZW50UGxhbnNSZXNwb25zZSIkgtPkkwIeEhwvdjEvY29tbWl0bWVudHMvcGxhbi9kZWZhdWx0EqMBCh1HZXRSZWNvbW1lbmRlZENvbW1pdG1lbnRzUGxhbhIyLmJsdWVhcGkuZ2MudjEuR2V0UmVjb21tZW5kZWRDb21taXRtZW50UGxhblJlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIogtPkkwIiEiAvdjEvY29tbWl0bWVudHMvcGxhbi9yZWNvbW1lbmRlZBK2AQocTGlzdENvbW1pdG1lbnRzUGxhbkxpbmVJdGVtcxIxLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuTGluZUl0ZW1zUmVxdWVzdBoyLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuTGluZUl0ZW1zUmVzcG9uc2UiL4LT5JMCKRInL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vbGluZWl0ZW1zEs4BCiJMaXN0Q29tbWl0bWVudHNQbGFuUmVzb3VyY2VNYXRjaGVzEjcuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoZXNSZXF1ZXN0GjguYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoZXNSZXNwb25zZSI1gtPkkwIvEi0vdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9yZXNvdXJjZW1hdGNoZXMSeQoPTGlzdENvbW1pdG1lbnRzEiUuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXF1ZXN0GiYuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXNwb25zZSIXgtPkkwIREg8vdjEvY29tbWl0bWVudHMSlwEKE0dldENvbW1pdG1lbnRzQ2hhcnQSKS5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzQ2hhcnRSZXF1ZXN0GicuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0UmVzcG9uc2UiLILT5JMCJhIkL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L2NoYXJ0Eq8BChlHZXRDb21taXRtZW50c1V0aWxpemF0aW9uEi8uYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvblJlc3BvbnNlIjKC0+STAiwSKi92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS91dGlsaXphdGlvbhJjCgpHZXRNZXRyaWNzEiAuYmx1ZWFwaS5nYy52MS5HZXRNZXRyaWNzUmVxdWVzdBoeLmJsdWVhcGkuZ2MudjEuTWV0cmljc1Jlc3BvbnNlIhOC0+STAg0SCy92MS9tZXRyaWNzEnEKDUxpc3RSZXNvdXJjZXMSIy5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVzcG9uc2UiFYLT5JMCDxINL3YxL3Jlc291cmNlcxKhAQoVR2V0UmVzb3VyY2VEYWlseVVzYWdlEisuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZSItgtPkkwInEiUvdjEvcmVzb3VyY2VzL3tyZXNvdXJjZUlkfS9kYWlseXVzYWdlEqcBChpMaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudBIwLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0GjEuYmx1ZWFwaS5nYy52MS5MaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlc3BvbnNlIiSC0+STAh4SHC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW4SqgEKGlNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0EjAuYmx1ZWFwaS5nYy52MS5TYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iNoLT5JMCMDoBKiIrL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbi97cGxhbklkfS9kcmFmdBKhAQoWTGlzdERyYWZ0UHVyY2hhc2VQbGFucxIsLmJsdWVhcGkuZ2MudjEuTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1JlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXNwb25zZSIqgtPkkwIkEiIvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuL2RyYWZ0Eq0BChdEZWxldGVEcmFmdFB1cmNoYXNlUGxhbhItLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlIjOC0+STAi0qKy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW4ve3BsYW5JZH0vZHJhZnQSbwoLUmVnaXN0ZXJPcmcSIS5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVxdWVzdBoiLmJsdWVhcGkuZ2MudjEuUmVnaXN0ZXJPcmdSZXNwb25zZSIZgtPkkwITOgEqIg4vdjEvb25ib2FyZGluZxKOAQoSU3RhcnRBd3NPbmJvYXJkaW5nEiguYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXF1ZXN0GikuYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEvb25ib2FyZGluZy9hd3Mvc3RhcnQSuwEKHEdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGUSMi5ibHVlYXBpLmdjLnYxLkdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXF1ZXN0GjMuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2UiMoLT5JMCLBIqL3YxL29uYm9hcmRpbmcvYXdzL2Nsb3VkZm9ybWF0aW9uL3RlbXBsYXRlEqkBChRHZXRBd3NMYXVuY2hTdGFja1VybBIqLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5HZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlIjiC0+STAjISMC92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi9sYXVuY2hzdGFja3VybBKSAQoTVmVyaWZ5QXdzT25ib2FyZGluZxIpLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvb25ib2FyZGluZy9hd3MvdmVyaWZ5EpMBChNHZXRPbmJvYXJkaW5nU3RhdHVzEikuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBoqLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlIiWC0+STAh86ASoiGi92MS9vbmJvYXJkaW5nL3N0YXR1czpyZWFkEogBChFMaXN0UGF5ZXJBY2NvdW50cxInLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0GiguYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlIiCC0+STAhoSGC92MS9tYW5hZ2VtZW50cy9hY2NvdW50cxKmAQoWU2V0UGF5ZXJBY2NvdW50RW5hYmxlZBIsLmJsdWVhcGkuZ2MudjEuU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMve2NvbXBhbnlJZH0SmwEKFUdldFBheWVyQWNjb3VudFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVzcG9uc2UiJ4LT5JMCIRIfL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3N0YXR1cxKgAQoUVmFsaWRhdGVCaWxsaW5nR3JvdXASKi5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvb25ib2FyZGluZy9iaWxsaW5nZ3JvdXA6dmFsaWRhdGUSzwEKIkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmwSOC5ibHVlYXBpLmdjLnYxLkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0GjkuYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVzcG9uc2UiNILT5JMCLhIsL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZDp1cmwSyAEKIENyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzEjYuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkNyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZBqiAZJBngESUChBbHBoYSkgR3VhcmFudGVlZENvbW1pdG1lbnRzIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2djGkoKElNlcnZpY2UgZGVmaW5pdGlvbhI0aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2djL0JVChRjbG91ZC5hbHBoYXVzLmFwaS5nY0IaR3VhcmFudGVlZENvbW1pdG1lbnRzUHJvdG9aIWdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9nY2IGcHJvdG8z", [file_google_api_annotations, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
17
+ fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIhgKFkxpc3RDb21taXRtZW50c1JlcXVlc3QiZwoaR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJEg8KB2dyb3VwQnkYAiABKAkSEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkiOAogR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJIj4KEUdldE1ldHJpY3NSZXF1ZXN0EikKCHByb3ZpZGVyGAEgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlciKjAQoUTGlzdFJlc291cmNlc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCXNlZ21lbnRJZBgCIAEoCRIOCgZzZWFyY2gYAyABKAkSDAoEZGVzYxgEIAEoCBIPCgdvcmRlckJ5GAUgASgJEgwKBHBhZ2UYBiABKAUSEAoIcGFnZVNpemUYByABKAUijAEKHEdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QSEgoKcmVzb3VyY2VJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRIUCgxjYXRhbG9nU2t1SWQYBCABKAkSDAoEcGFnZRgFIAEoBRIQCghwYWdlU2l6ZRgGIAEoBSIjCiFMaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QiMAoeR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCSIpCidHZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QiJgoHT3JnVXNlchINCgVlbWFpbBgBIAEoCRIMCgRyb2xlGAIgASgJIiwKCk1lbWJlcnNoaXASDAoEcm9sZRgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCSJiCgdBZGRyZXNzEg0KBWxpbmUxGAEgASgJEgwKBGNpdHkYAiABKAkSDQoFc3RhdGUYAyABKAkSCwoDemlwGAQgASgJEg8KB2NvdW50cnkYBSABKAkSDQoFbGluZTIYBiABKAkiVAoOQXdzRXhpc3RpbmdDdXISDgoGcmVnaW9uGAEgASgJEg4KBmJ1Y2tldBgCIAEoCRIOCgZwcmVmaXgYAyABKAkSEgoKcmVwb3J0TmFtZRgEIAEoCSKtAgoSUmVnaXN0ZXJPcmdSZXF1ZXN0Eg0KBW1zcElkGAEgASgJEhEKCWJpbGxpbmdJZBgCIAEoCRIMCgRuYW1lGAMgASgJEhsKE2xhYnJhU3Vic2NyaXB0aW9uSWQYBCABKAkSJQoFdXNlcnMYBSADKAsyFi5ibHVlYXBpLmdjLnYxLk9yZ1VzZXISDgoGZG9tYWluGAYgASgJEi4KDnByaW1hcnlBZGRyZXNzGAcgASgLMhYuYmx1ZWFwaS5nYy52MS5BZGRyZXNzEh8KF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAggASgJEiEKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYCSABKAkSHwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYCiABKAkiVwoZU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCSJhCiNHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCSJZChtHZXRBd3NMYXVuY2hTdGFja1VybFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkitQEKGlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhQKDG9uYm9hcmRpbmdJZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSMgoLZXhpc3RpbmdDdXIYBiABKAsyHS5ibHVlYXBpLmdjLnYxLkF3c0V4aXN0aW5nQ3VyIkcKGkdldE9uYm9hcmRpbmdTdGF0dXNSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCSIaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QiQwodU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJEg8KB2VuYWJsZWQYAiABKAgiHgocR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdCIwChtWYWxpZGF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJIsIHCiFTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QSDgoGcGxhbklkGAEgASgJEhYKDnJlc2VydmF0aW9uSWRzGAIgAygJEhMKC3Jlc291cmNlSWRzGAMgAygJEhYKDm1heFVwZnJvbnRDb3N0GAQgASgBEikKCHByb3ZpZGVyGAUgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIPCgdlbmREYXRlGAYgASgJEhEKCXN0YXJ0RGF0ZRgHIAEoCRIRCglzZWdtZW50SWQYCCABKAkSDgoGc3RhdHVzGAkgASgJEhMKC2Rlc2NyaXB0aW9uGAogASgJEgwKBG5hbWUYCyABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgMIAEoCRIdChVpbmNsdWRlZENvbnRyYWN0VGVybXMYDSADKAkSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGA4gAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSKgoKY292ZXJhZ2VJZBgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljcmVhdGVkQXQYECABKAkSKQoJY3JlYXRlZEJ5GBEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhIKCmRhdGFTb3VyY2UYEiABKAkSLwoPZXhlY3V0aW9uUG9saWN5GBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhYKDmZsYWdnZWRBY3Rpb25zGBQgAygJEgoKAmlkGBUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYFiABKAgSEQoJaXNEZWZhdWx0GBcgASgIEhAKCGlzTG9ja2VkGBggASgIEhUKDWlzUmVjb21tZW5kZWQYGSABKAgSEQoJaXNSZW5ld2FsGBogASgIEg8KB2lzU2F2ZWQYGyABKAgSFAoMbGFzdE1vZGlmaWVkGBwgASgJEhIKCm1ldGFQbGFuSWQYHSABKAkSOgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYHiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDQoFb3JnSWQYHyABKAkSEAoIcGxhblR5cGUYICABKAkSPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGCEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEicKB3NlZ21lbnQYIiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQiHwodTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1JlcXVlc3QiNQoeRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0EhMKC2RyYWZ0UGxhbklkGAEgASgJIj8KKUdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0EhIKCmV4dGVybmFsSWQYASABKAkiTQonQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRISCgpleHRlcm5hbElkGAIgASgJIjEKA09yZxINCgVvcmdJZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJIvMEChVDb21taXRtZW50UGxhbkRldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCgljcmVhdGVkQXQYBSABKAkSFQoNaXNDYWxjdWxhdGluZxgGIAEoCBIOCgZzdGF0dXMYByABKAkSDwoHbWF4VGVybRgIIAEoCRIhChljb3ZlcmVkT25kZW1hbmRDb3N0SG91cmx5GAkgASgBEiAKGGJlZm9yZU9uZGVtYW5kQ29zdEhvdXJseRgKIAEoARIgChhiZWZvcmVSZXNlcnZlZENvc3RIb3VybHkYCyABKAESGwoTYW1vcnRpemVkQ29zdEhvdXJseRgMIAEoARIbChNyZWN1cnJpbmdDb3N0SG91cmx5GA0gASgBEhkKEXVwZnJvbnRDb3N0SG91cmx5GA4gASgBEhgKEGJlZm9yZUNvc3RIb3VybHkYDyABKAESFwoPYWZ0ZXJDb3N0SG91cmx5GBAgASgBEhcKD3RvdGFsQ29zdEhvdXJseRgRIAEoARIVCg1zYXZpbmdzSG91cmx5GBIgASgBEhEKCWZlZUhvdXJseRgTIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYFCABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GBUgASgBEhYKDmJyZWFrZXZlbkhvdXJzGBYgASgBEhQKDHRvdGFsU2F2aW5ncxgXIAEoARIWCg5tb250aGx5U2F2aW5ncxgYIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GBkgASgBIrQGChZDb21taXRtZW50UGxhbkxpbmVJdGVtEgoKAmlkGAEgASgJEg4KBnBsYW5JZBgCIAEoCRIPCgdvZmZlcklkGAMgASgJEhcKD2xlYXNlTWVudUl0ZW1JZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSGwoTcmVjb21tZW5kZWRRdWFudGl0eRgGIAEoARIYChBzZWxlY3RlZFF1YW50aXR5GAcgASgBEh0KFXJlY29tbWVuZGVkQ29tbWl0bWVudBgIIAEoARIaChJzZWxlY3RlZENvbW1pdG1lbnQYCSABKAESEgoKaXNTZWxlY3RlZBgKIAEoCBIaChJhZnRlckFtb3J0aXplZENvc3QYCyABKAESEwoLdXBmcm9udENvc3QYDCABKAESFQoNcmVjdXJyaW5nQ29zdBgNIAEoARISCgpiZWZvcmVDb3N0GA4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgPIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYECABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgRIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgSIAEoARIRCgl0b3RhbENvc3QYEyABKAESEwoLbW9udGhseUNvc3QYFCABKAESDwoHc2F2aW5ncxgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESCwoDZmVlGBggASgBEhQKDGRpc2NvdW50UmF0ZRgZIAEoARIWCg5icmVha2V2ZW5Ib3VycxgaIAEoARIUCgxjb250cmFjdFRlcm0YGyABKAkSFQoNcGF5bWVudE9wdGlvbhgcIAEoCRItCgxjb250cmFjdFNwZWMYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBW9mZmVyGB4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIcChRyZW5ld2FsUmVzZXJ2YXRpb25JZBgfIAEoCRIUCgxjb3ZlcmVkVW5pdHMYICABKAESFQoNYW1vcnRpemVkQ29zdBghIAEoASLXBQobQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoEgoKAmlkGAEgASgJEhIKCnRvdGFsVW5pdHMYAiABKAESHAoUYmVmb3JlVW5jb3ZlcmVkVW5pdHMYAyABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYBCABKAESGwoTYWZ0ZXJVbmNvdmVyZWRVbml0cxgFIAEoARIVCg1vbmRlbWFuZFByaWNlGAYgASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GAcgASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgIIAEoARIZChFhZnRlck9uZGVtYW5kQ29zdBgJIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GAogASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBgLIAEoARIZChFhZnRlclJlc2VydmVkQ29zdBgMIAEoARISCgpiZWZvcmVDb3N0GA0gASgBEhEKCWFmdGVyQ29zdBgOIAEoARIZChFtb250aGx5QmVmb3JlQ29zdBgPIAEoARIYChBtb250aGx5QWZ0ZXJDb3N0GBAgASgBEiAKGG1vbnRobHlBZnRlclJlc2VydmVkQ29zdBgRIAEoARIgChhtb250aGx5QWZ0ZXJPbmRlbWFuZENvc3QYEiABKAESFgoOYXZlcmFnZVNhdmluZ3MYEyABKAESHQoVYXZlcmFnZU1vbnRobHlTYXZpbmdzGBQgASgBEhEKCXVzYWdlVHlwZRgVIAEoCRIQCghjb3ZlcmFnZRgWIAEoARIpCghyZXNvdXJjZRgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMY292ZXJlZFVuaXRzGBggASgBEhwKFGV4cGxhbmF0aW9uVW5tYXRjaGVkGBkgASgBEhQKDG9uZGVtYW5kQ29zdBgaIAEoARIUCgxyZXNlcnZlZENvc3QYGyABKAEi7gEKBUxlYXNlEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEh0KFXByb3ZpZGVyUmVzZXJ2YXRpb25JZBgDIAEoCRIRCglhY2NvdW50SWQYBCABKAkSDgoGc3RhdHVzGAUgASgJEhEKCXN0YXJ0RGF0ZRgGIAEoCRIPCgdlbmREYXRlGAcgASgJEhIKCmxvY2tpbkRhdGUYCCABKAkSEwoLdXBmcm9udENvc3QYCSABKAESFQoNcmVjdXJyaW5nQ29zdBgKIAEoARIRCgljcmVhdGVkQXQYCyABKAkSEQoJdXBkYXRlZEF0GAwgASgJIkkKEERhaWx5VXRpbGl6YXRpb24SDAoEZGF0ZRgBIAEoCRITCgt1dGlsaXphdGlvbhgCIAEoARISCgpuZXRTYXZpbmdzGAMgASgBItAHCgpDb21taXRtZW50EgoKAmlkGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIVCg1hbW9ydGl6ZWRDb3N0GAMgASgBEhgKEGJpbGxpbmdBY2NvdW50SWQYBCABKAkSEQoJY2FuUmViYXRlGAUgASgIEhQKDGNvbnRyYWN0VGVybRgGIAEoCRITCgtkaXNwbGF5TmFtZRgHIAEoCRIXCg9kdXJhdGlvblNlY29uZHMYCCABKAESHgoWZWZmZWN0aXZlSW5zdGFuY2VDb3VudBgJIAEoAxIPCgdlbmREYXRlGAogASgJEhUKDWluc3RhbmNlQ291bnQYCyABKAMSFgoOaW5zdGFuY2VGYW1pbHkYDCABKAkSFAoMaW5zdGFuY2VUeXBlGA0gASgJEhAKCGlzQWN0aXZlGA4gASgIEhIKCmlzRmxleGlibGUYDyABKAgSEAoIaXNMZWFzZWQYECABKAgSEQoJaXNNdWx0aUF6GBEgASgIEhcKD2xlYXNlTG9ja2luRGF0ZRgSIAEoCRISCgpsZWFzZVN0YXJ0GBMgASgJEhkKEWxlYXNlZERpc3BsYXlOYW1lGBQgASgJEhMKC21vbnRobHlDb3N0GBUgASgBEhYKDm1vbnRobHlTYXZpbmdzGBYgASgBEgwKBG5hbWUYFyABKAkSEgoKbmV0U2F2aW5ncxgYIAEoARISCgpvZmZlcmluZ0lkGBkgASgJEhUKDXBheW1lbnRPcHRpb24YGiABKAkSGAoQcG90ZW50aWFsU2F2aW5ncxgbIAEoARIaChJwcm9kdWN0RGVzY3JpcHRpb24YHCABKAkSEAoIcHJvdmlkZXIYHSABKAkSHgoWcHJvdmlkZXJSZXNlcnZhdGlvbl9pZBgeIAEoCRIVCg1yZWN1cnJpbmdDb3N0GB8gASgBEg4KBnJlZ2lvbhggIAEoCRITCgtyZW5ld2FsUGxhbhghIAEoCRIWCg5yZXNlcnZhdGlvbkVuZBgiIAEoCRIYChByZXNlcnZhdGlvblN0YXJ0GCMgASgJEhQKDHJ1bm5pbmdIb3VycxgkIAEoARIPCgdzYXZpbmdzGCUgASgBEhEKCXN0YXJ0RGF0ZRgmIAEoCRIOCgZzdGF0dXMYJyABKAkSHgoWdHJhbnNmZXJSZXNlcnZhdGlvbkVuZBgoIAEoCRIgChh0cmFuc2ZlclJlc2VydmF0aW9uU3RhcnQYKSABKAkSDAoEdHlwZRgqIAEoCRITCgt1cGZyb250Q29zdBgrIAEoARITCgt1dGlsaXphdGlvbhgsIAEoASJJChdMaXN0Q29tbWl0bWVudHNSZXNwb25zZRIuCgtjb21taXRtZW50cxgBIAMoCzIZLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudCJKChRDb21taXRtZW50c0NoYXJ0RGF0YRIMCgRkYXRlGAEgASgJEhAKCGNoYXJ0S2V5GAIgASgJEhIKCmNoYXJ0VmFsdWUYAyABKAEiTQoYQ29tbWl0bWVudHNDaGFydFJlc3BvbnNlEjEKBGRhdGEYASADKAsyIy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzQ2hhcnREYXRhIvwBChpDb21taXRtZW50c1V0aWxpemF0aW9uRGF0YRIXCg91dGlsaXphdGlvbkRhdGUYASABKAkSDAoEY29zdBgCIAEoARITCgtjb3ZlcmVkQ29zdBgDIAEoARIPCgdncmlGZWVzGAQgASgBEhIKCm5ldFNhdmluZ3MYBSABKAESGAoQcG90ZW50aWFsU2F2aW5ncxgGIAEoARIeChZyZXNlcnZhdGlvblV0aWxpemF0aW9uGAcgASgBEhQKDHJ1bm5pbmdIb3VycxgIIAEoARIPCgdzYXZpbmdzGAkgASgBEhwKFHVudXRpbGl6ZWRDb21taXRtZW50GAogASgBIlkKHkNvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXNwb25zZRI3CgRkYXRhGAEgAygLMikuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c1V0aWxpemF0aW9uRGF0YSLNAwoPTWV0cmljc1Jlc3BvbnNlEhcKD2xpZmV0aW1lU2F2aW5ncxgBIAEoARISCgptdGRTYXZpbmdzGAIgASgBEiEKGXB1cmNoYXNlQXV0b21hdGlvbkVuYWJsZWQYAyABKAgSIAoYYnV5YmFja0F1dG9tYXRpb25FbmFibGVkGAQgASgIEhcKD2hhc0FjdGlvbmVkUGxhbhgFIAEoCBIZChFoYXNQZW5kaW5nQWN0aW9ucxgGIAEoCBIbChNsYXRlc3RFeGVjdXRpb25EYXRlGAcgASgJEh0KFXB1cmNoYXNlTWlzc2VkU2F2aW5ncxgIIAEoARIcChRidXliYWNrTWlzc2VkU2F2aW5ncxgJIAEoARIfChd0b3RhbERhaWx5TWlzc2VkU2F2aW5ncxgKIAEoARIbChNob3VybHlNaXNzZWRTYXZpbmdzGAsgASgBEh4KFm1pc3NlZFNhdmluZ3NTdGFydERhdGUYDCABKAkSHAoUbWlzc2VkU2F2aW5nc0VuZERhdGUYDSABKAkSFwoPZXhwaXJpbmdTYXZpbmdzGA4gASgBEhAKCGNvdmVyYWdlGA8gASgBEhMKC3V0aWxpemF0aW9uGBAgASgBIogICghSZXNvdXJjZRIKCgJpZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIaChJwcm92aWRlclJlc291cmNlSWQYBCABKAkSDgoGaXNTcG90GAUgASgIEgwKBG5hbWUYBiABKAkSFQoNcmVzb3VyY2VHcm91cBgHIAEoCRIQCgh1c2FnZUVuZBgIIAEoCRISCgp1c2FnZVN0YXJ0GAkgASgJEiUKBHRhZ3MYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCWNyZWF0ZWRBdBgLIAEoCRIRCgl1cGRhdGVkQXQYDCABKAkSEgoKaW5zdGFuY2VJZBgNIAEoCRIYChBiaWxsaW5nQWNjb3VudElkGA4gASgJEhQKDHN1YkFjY291bnRJZBgPIAEoCRIbChNtYW5hZ2VtZW50QWNjb3VudElkGBAgASgJEhYKDm93bmVyQWNjb3VudElkGBEgASgJEhAKCHNrdVRpdGxlGBIgASgJEg8KB3NrdU5hbWUYEyABKAkSGAoQYXZhaWxhYmlsaXR5Wm9uZRgUIAEoCRITCgtjYWNoZUVuZ2luZRgVIAEoCRIWCg5kYXRhYmFzZUVuZ2luZRgWIAEoCRITCgtkZXNjcmlwdGlvbhgXIAEoCRIOCgZmYW1pbHkYGCABKAkSFgoOZnVsbFJlZ2lvbk5hbWUYGSABKAkSGAoQaGFzT25kZW1hbmRUZXJtcxgaIAEoCBIUCgxpbnN0YW5jZVR5cGUYGyABKAkSGgoSaW5zdGFuY2VUeXBlRmFtaWx5GBwgASgJEhQKDGlzUmVzZXJ2YWJsZRgdIAEoCBIUCgxsaWNlbnNlTW9kZWwYHiABKAkSFAoMbG9jYXRpb25UeXBlGB8gASgJEh8KF25vcm1hbGl6YXRpb25TaXplRmFjdG9yGCAgASgJEhcKD29wZXJhdGluZ1N5c3RlbRghIAEoCRIWCg5wcmVJbnN0YWxsZWRTdxgiIAEoCRIVCg1wcmljZUN1cnJlbmN5GCMgASgJEhcKD3Byb3ZpZGVyU2VydmljZRgkIAEoCRIVCg1wcm92aWRlclNrdUlkGCUgASgJEhcKD3B1YmxpY2F0aW9uRGF0ZRgmIAEoCRIOCgZyZWdpb24YJyABKAkSDwoHc2VydmljZRgoIAEoCRIPCgd0ZW5hbmN5GCkgASgJEhEKCXVzYWdlVHlwZRgqIAEoCRIPCgd2ZXJzaW9uGCsgASgJEhwKFHZwY05ldHdvcmtpbmdTdXBwb3J0GCwgASgIEhkKEW9uZGVtYW5kVXNhZ2VVbml0GC0gASgJIkMKFUxpc3RSZXNvdXJjZXNSZXNwb25zZRIqCglyZXNvdXJjZXMYASADKAsyFy5ibHVlYXBpLmdjLnYxLlJlc291cmNlItQCChJSZXNvdXJjZURhaWx5VXNhZ2USDAoEZGF0ZRgBIAEoCRIWCg51c2FnZUFjY291bnRJZBgCIAEoCRIUCgxzdWJBY2NvdW50SWQYAyABKAkSDQoFdXNhZ2UYBCABKAESGAoQcmVzZXJ2YXRpb25Vc2FnZRgFIAEoARIVCg1mcmVlVGllclVzYWdlGAYgASgBEhQKDG9uZGVtYW5kQ29zdBgHIAEoARIUCgxyZXNlcnZlZENvc3QYCCABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYCSABKAESEAoIc3BvdENvc3QYCiABKAESFwoPZnJlZVRpZXJTYXZpbmdzGAsgASgBEhEKCXVzYWdlVHlwZRgMIAEoCRIXCg9jb21tb25Vc2FnZVR5cGUYDSABKAkSFAoMY292ZXJlZFVzYWdlGA4gASgBEg4KBnVwdGltZRgPIAEoASJWCh1HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZRI1CgpkYWlseVVzYWdlGAEgAygLMiEuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZURhaWx5VXNhZ2UidAoHU2VnbWVudBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIRCglpc0RlZmF1bHQYBCABKAgSEQoJY3JlYXRlZEF0GAUgASgJIkAKDlNlZ21lbnRDcmVhdG9yEgoKAmlkGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJEhAKCGZ1bGxOYW1lGAMgASgJIksKDFB1cmNoYXNlUGxhbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBnN0YXR1cxgDIAEoCRIRCglpc1JlbmV3YWwYBCABKAgipQUKDlNlZ21lbnREZXRhaWxzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSKQoIcHJvdmlkZXIYBCABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhYKDmNsb3VkUHJvdmlkZXJzGAUgAygJEhEKCWlzRGVmYXVsdBgGIAEoCBIRCgljcmVhdGVkQXQYByABKAkSMAoJY3JlYXRlZEJ5GAggASgLMh0uYmx1ZWFwaS5nYy52MS5TZWdtZW50Q3JlYXRvchIQCghwYXJlbnRJZBgJIAEoCRIOCgZzdGF0dXMYCiABKAkSFAoMc2VnbWVudENsYXNzGAsgASgJEicKBnBhcmFtcxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEwoLbW9udGhseUNvc3QYDSABKAESFgoObW9udGhseU5ldENvc3QYDiABKAESIAoYbW9udGhseUlmQWxsT25kZW1hbmRDb3N0GA8gASgBEhsKE21vbnRobHlPbmRlbWFuZENvc3QYECABKAESGwoTbW9udGhseVJlc2VydmVkQ29zdBgRIAEoARIXCg9tb250aGx5U3BvdENvc3QYEiABKAESFgoObW9udGhseVNhdmluZ3MYEyABKAESFQoNbW9udGhseUJ1ZGdldBgUIAEoARIQCghjb3ZlcmFnZRgVIAEoARIbChNyZWNvbW1lbmRlZENvdmVyYWdlGBYgASgBEhYKDnRhcmdldENvdmVyYWdlGBcgASgBEhwKFG1vbnRobHlSZXNvdXJjZUNvdW50GBggASgFEjIKDXB1cmNoYXNlUGxhbnMYGSADKAsyGy5ibHVlYXBpLmdjLnYxLlB1cmNoYXNlUGxhbiJ4CgxDb250cmFjdFNwZWMSFgoOY29tbWl0bWVudFR5cGUYASABKAkSFQoNcGF5bWVudE9wdGlvbhgCIAEoCRIMCgR0ZXJtGAMgASgJEisKCnByb3BlcnRpZXMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0It4CCgtQbGFuU3VtbWFyeRILCgNrZXkYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSFgoObnVtQ29tbWl0bWVudHMYAyABKAUSFQoNbWluQ29tbWl0bWVudBgEIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgFIAEoARITCgt1cGZyb250Q29zdBgGIAEoARISCgptaW5TYXZpbmdzGAcgASgBEhIKCm1heFNhdmluZ3MYCCABKAESFgoObW9udGhseVNhdmluZ3MYCSABKAESFAoMbWluVGVybUhvdXJzGAogASgFEhQKDG1heFRlcm1Ib3VycxgLIAEoBRITCgtncmlQcmVtaXVtcxgMIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDSABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYDiABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYDyABKAEi5QIKDlNlcnZpY2VTdW1tYXJ5EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC3NlcnZpY2VOYW1lGAMgASgJEhAKCHByb3ZpZGVyGAQgASgJEhYKDm51bUNvbW1pdG1lbnRzGAUgASgFEhcKD2N1cnJlbnRDb3ZlcmFnZRgGIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgHIAEoARIVCg1taW5Db21taXRtZW50GAggASgBEhkKEW1vbnRobHlDb21taXRtZW50GAkgASgBEhMKC3VwZnJvbnRDb3N0GAogASgBEhIKCm1pblNhdmluZ3MYCyABKAESEgoKbWF4U2F2aW5ncxgMIAEoARIWCg5tb250aGx5U2F2aW5ncxgNIAEoARIUCgxtaW5UZXJtSG91cnMYDiABKAUSFAoMbWF4VGVybUhvdXJzGA8gASgFEhIKCmdyaVByZW1pdW0YECABKAEi2gEKEEFnZ3JlZ2F0ZU1ldHJpY3MSFwoPY3VycmVudENvdmVyYWdlGAEgASgBEhkKEXBvdGVudGlhbENvdmVyYWdlGAIgASgBEkEKCXN1bW1hcmllcxgDIAMoCzIuLmJsdWVhcGkuZ2MudjEuQWdncmVnYXRlTWV0cmljcy5TdW1tYXJpZXNFbnRyeRpPCg5TdW1tYXJpZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5ibHVlYXBpLmdjLnYxLlNlcnZpY2VTdW1tYXJ5OgI4ASLVCgoTRGVmYXVsdFB1cmNoYXNlUGxhbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBW9yZ0lkGAQgASgJEhEKCXNlZ21lbnRJZBgFIAEoCRInCgdzZWdtZW50GAYgASgLMhYuYmx1ZWFwaS5nYy52MS5TZWdtZW50Eg4KBnN0YXR1cxgHIAEoCRIQCghwbGFuVHlwZRgIIAEoCRIRCgljcmVhdGVkQXQYCSABKAkSFAoMbGFzdE1vZGlmaWVkGAogASgJEikKCWNyZWF0ZWRCeRgLIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIvCg9leGVjdXRpb25Qb2xpY3kYDCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJaXNEZWZhdWx0GA0gASgIEhUKDWlzUmVjb21tZW5kZWQYDiABKAgSEQoJaXNSZW5ld2FsGA8gASgIEhUKDWlzQ2FsY3VsYXRpbmcYECABKAgSEAoIaXNMb2NrZWQYESABKAgSDwoHaXNTYXZlZBgSIAEoCBI6ChVpbmNsdWRlZENvbnRyYWN0U3BlY3MYEyADKAsyGy5ibHVlYXBpLmdjLnYxLkNvbnRyYWN0U3BlYxIdChVpbmNsdWRlZENvbnRyYWN0VGVybXMYFCADKAkSDwoHbWF4VGVybRgVIAEoCRIeChZwcmVmZXJyZWRQYXltZW50T3B0aW9uGBYgASgJEhYKDm1heFVwZnJvbnRDb3N0GBcgASgBEiIKGm1pbmltdW1VcGZyb250SW50ZXJlc3RSYXRlGBggASgBEj4KHnJlY29tbWVuZFdpdGhpbkNvdmVyZWRBY2NvdW50cxgZIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglzdGFydERhdGUYGiABKAkSDwoHZW5kRGF0ZRgbIAEoCRISCgpkYXRhU291cmNlGBwgASgJEhIKCmJlZm9yZUNvc3QYHSABKAESEQoJYWZ0ZXJDb3N0GB4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgfIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYICABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBghIAEoARIVCg1hbW9ydGl6ZWRDb3N0GCIgASgBEhUKDXJlY3VycmluZ0Nvc3QYIyABKAESEwoLdXBmcm9udENvc3QYJCABKAESEQoJdG90YWxDb3N0GCUgASgBEh4KFnRvdGFsTW9udGhseUJlZm9yZUNvc3QYJiABKAESDwoHc2F2aW5ncxgnIAEoARIWCg5tb250aGx5U2F2aW5ncxgoIAEoARIUCgx0b3RhbFNhdmluZ3MYKSABKAESCwoDZmVlGCogASgBEhoKEmNvbW1pdG1lbnRDb3ZlcmFnZRgrIAEoARIdChVtaW5pbXVtQ29tbWl0bWVudENvc3QYLCABKAESFgoOYnJlYWtldmVuSG91cnMYLSABKAESOQoQYWdncmVnYXRlTWV0cmljcxguIAEoCzIfLmJsdWVhcGkuZ2MudjEuQWdncmVnYXRlTWV0cmljcxItCglzdW1tYXJpZXMYLyADKAsyGi5ibHVlYXBpLmdjLnYxLlBsYW5TdW1tYXJ5EhYKDnJlc2VydmF0aW9uSWRzGDAgAygJEhMKC3Jlc291cmNlSWRzGDEgAygJEhYKDmZsYWdnZWRBY3Rpb25zGDIgAygJEhIKCm1ldGFQbGFuSWQYMyABKAkSEgoKY292ZXJhZ2VJZBg0IAEoCSJXCiJMaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIl0KKEdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQQoPUGxhbkhpc3RvcnlVc2VyEgoKAmlkGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJEhAKCGZ1bGxOYW1lGAMgASgJIvcBChBQbGFuSGlzdG9yeUVudHJ5EgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSDQoFb3JnSWQYAyABKAkSFwoPcmVsYXRlZE9iamVjdElkGAQgASgJEhkKEXJlbGF0ZWRPYmplY3RUeXBlGAUgASgJEhEKCXRpbWVzdGFtcBgGIAEoCRIMCgR0eXBlGAcgASgJEg4KBnVzZXJJZBgIIAEoCRIkCgRkYXRhGAkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiwKBHVzZXIYCiABKAsyHi5ibHVlYXBpLmdjLnYxLlBsYW5IaXN0b3J5VXNlciKEAgoTUmVnaXN0ZXJPcmdSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEi4KC21lbWJlcnNoaXBzGAMgAygLMhkuYmx1ZWFwaS5nYy52MS5NZW1iZXJzaGlwEg4KBmRvbWFpbhgEIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgFIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgGIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAcgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAggASgJIjIKGlN0YXJ0QXdzT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCSJRCiRHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2USKQoIdGVtcGxhdGUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IisKHEdldEF3c0xhdW5jaFN0YWNrVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIo8EChtWZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2USVAoGY2hlY2tzGAEgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxqZAwoZQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIPCgdmZWF0dXJlGAEgASgJEm8KBnN0YXR1cxgCIAEoDjJfLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2suQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMi+QEKGkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzEi0KKUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfQVZBSUxBQkxFEAESKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfV0FSTklORxACEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX01JU1NJTkcQAxIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTktOT1dOEAQinAUKG0dldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZRINCgVmb3VuZBgBIAEoCBINCgVpc01zcBgCIAEoCBIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZ2NPcmdJZBgEIAEoCRIUCgxvbmJvYXJkaW5nSWQYBSABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgGIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSEQoJYWNjb3VudElkGAcgASgJEhYKDmJpbGxpbmdHcm91cElkGAggASgJEhEKCWNvbXBhbnlJZBgJIAEoCRJgChJ2ZXJpZmljYXRpb25DaGVja3MYCiADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIpUCChBPbmJvYXJkaW5nU3RhdHVzEiEKHU9OQk9BUkRJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJAogT05CT0FSRElOR19TVEFUVVNfTk9UX1JFR0lTVEVSRUQQARIgChxPTkJPQVJESU5HX1NUQVRVU19SRUdJU1RFUkVEEAISKAokT05CT0FSRElOR19TVEFUVVNfT05CT0FSRElOR19TVEFSVEVEEAMSHgoaT05CT0FSRElOR19TVEFUVVNfVkVSSUZJRUQQBBInCiNPTkJPQVJESU5HX1NUQVRVU19WRVJJRllfSU5DT01QTEVURRAFEiMKH09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9GQUlMRUQQBiLnBAoZTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZRJMCg1wYXllckFjY291bnRzGAEgAygLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudBr6AgoMUGF5ZXJBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCglzZWdtZW50SWQYBCABKAkSSwoGc3RhdHVzGAUgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudFN0YXR1cxIRCgljb21wYW55SWQYBiABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgHIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAggAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJQYXllckFjY291bnRTdGF0dXMSJAogUEFZRVJfQUNDT1VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxQQVlFUl9BQ0NPVU5UX1NUQVRVU19FTkFCTEVEEAESIQodUEFZRVJfQUNDT1VOVF9TVEFUVVNfRElTQUJMRUQQAiJtCh5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJsCh1HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50IjsKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJTCh5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQgofRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZRIOCgZwbGFuSWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCCLdAQoqR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlEhEKCWxhdW5jaFVybBgBIAEoCRITCgt0ZW1wbGF0ZVVybBgCIAEoCRIRCglzdGFja05hbWUYAyABKAkSEQoJcHJpbmNpcGFsGAQgASgJEhIKCmV4dGVybmFsSWQYBSABKAkSJQodZ3VhcmFudGVlZENvbW1pdG1lbnRQcmluY2lwYWwYBiABKAkSJgoeZ3VhcmFudGVlZENvbW1pdG1lbnRFeHRlcm5hbElkGAcgASgJIr4CCihDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlEg4KBnRhcmdldBgBIAEoCRIVCg1yaXBwbGVSb2xlQXJuGAIgASgJEhgKEHJpcHBsZUV4dGVybmFsSWQYAyABKAkSIwobZ3VhcmFudGVlZENvbW1pdG1lbnRSb2xlQXJuGAQgASgJEiYKHmd1YXJhbnRlZWRDb21taXRtZW50RXh0ZXJuYWxJZBgFIAEoCRIPCgdzdGFja0lkGAYgASgJEhMKC3N0YWNrUmVnaW9uGAcgASgJEhMKC3RlbXBsYXRlVXJsGAggASgJEg4KBnN0YXR1cxgJIAEoCRITCgtsYXN0VXBkYXRlZBgKIAEoCRIkChxndWFyYW50ZWVkQ29tbWl0bWVudFZlcmlmaWVkGAsgASgIIoQCCh9HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1Jlc3BvbnNlEjAKBHBsYW4YASABKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4SOAoJbGluZUl0ZW1zGAIgAygLMiUuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkxpbmVJdGVtEkMKD3Jlc291cmNlTWF0Y2hlcxgDIAMoCzIqLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoEjAKB2hpc3RvcnkYBCADKAsyHy5ibHVlYXBpLmdjLnYxLlBsYW5IaXN0b3J5RW50cnkqXgoIUHJvdmlkZXISGAoUUFJPVklERVJfVU5TUEVDSUZJRUQQABIHCgNBV1MQARIJCgVBWlVSRRACEgcKA0dDUBADEg4KCktVQkVSTkVURVMQBBILCgdVTktOT1dOEAUqmAEKEENvbW1pdG1lbnRTdGF0dXMSIQodQ09NTUlUTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIHCgNORVcQARIMCghSRVZJRVdFRBACEg0KCVNDSEVEVUxFRBADEg0KCUNPTVBMRVRFRBAEEgkKBURSQUZUEAUSEAoMTkVFRFNfUkVWSUVXEAYSDwoLSU5fUFJPR1JFU1MQByqKAQoZQ29tbWl0bWVudEludmVudG9yeVN0YXR1cxIrCidDT01NSVRNRU5UX0lOVkVOVE9SWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIKCgZBQ1RJVkUQARILCgdSRVRJUkVEEAISEwoPUEFZTUVOVF9QRU5ESU5HEAMSEgoOUEFZTUVOVF9GQUlMRUQQBCpDCgVTY29wZRIVChFTQ09QRV9VTlNQRUNJRklFRBAAEgoKBlNIQVJFRBABEgwKCFJFR0lPTkFMEAISCQoFWk9OQUwQAypBCglVc2FnZVR5cGUSGgoWVVNBR0VfVFlQRV9VTlNQRUNJRklFRBAAEgsKB1JVTk5JTkcQARILCgdTVE9QUEVEEAIyzSEKFUd1YXJhbnRlZWRDb21taXRtZW50cxJjCghMaXN0T3JncxIeLmJsdWVhcGkuZ2MudjEuTGlzdE9yZ3NSZXF1ZXN0GhIuYmx1ZWFwaS5nYy52MS5PcmciIYLT5JMCGzoBKiIWL3YxL29yZ2FuaXphdGlvbnM6cmVhZDABEpcBChRDb21taXRtZW50c1BsYW5BcHBseRIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIugtPkkwIoOgEqIiMvdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9hcHBseRJ5Cg9MaXN0Q29tbWl0bWVudHMSJS5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50c1JlcXVlc3QaJi5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50c1Jlc3BvbnNlIheC0+STAhESDy92MS9jb21taXRtZW50cxKXAQoTR2V0Q29tbWl0bWVudHNDaGFydBIpLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QaJy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZSIsgtPkkwImEiQvdjEvY29tbWl0bWVudHMve2NvbW1pdG1lbnRJZH0vY2hhcnQSrwEKGUdldENvbW1pdG1lbnRzVXRpbGl6YXRpb24SLy5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L3V0aWxpemF0aW9uEmMKCkdldE1ldHJpY3MSIC5ibHVlYXBpLmdjLnYxLkdldE1ldHJpY3NSZXF1ZXN0Gh4uYmx1ZWFwaS5nYy52MS5NZXRyaWNzUmVzcG9uc2UiE4LT5JMCDRILL3YxL21ldHJpY3MScQoNTGlzdFJlc291cmNlcxIjLmJsdWVhcGkuZ2MudjEuTGlzdFJlc291cmNlc1JlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXNwb25zZSIVgtPkkwIPEg0vdjEvcmVzb3VyY2VzEqEBChVHZXRSZXNvdXJjZURhaWx5VXNhZ2USKy5ibHVlYXBpLmdjLnYxLkdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlIi2C0+STAicSJS92MS9yZXNvdXJjZXMve3Jlc291cmNlSWR9L2RhaWx5dXNhZ2USqAEKGkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjAuYmx1ZWFwaS5nYy52MS5MaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiJYLT5JMCHxIdL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMSxAEKIEdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjYuYmx1ZWFwaS5nYy52MS5HZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnM6dXBkYXRlEqgBChdHZXRQdXJjaGFzZVBsYW5zRGV0YWlscxItLmJsdWVhcGkuZ2MudjEuR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1Jlc3BvbnNlIi6C0+STAigSJi92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL3twbGFuSWR9EqsBChpTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdBIwLmJsdWVhcGkuZ2MudjEuU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIjeC0+STAjE6ASoiLC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0L3twbGFuSWR9EqIBChZMaXN0RHJhZnRQdXJjaGFzZVBsYW5zEiwuYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1Jlc3BvbnNlIiuC0+STAiUSIy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0ErMBChdEZWxldGVEcmFmdFB1cmNoYXNlUGxhbhItLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlIjmC0+STAjMqMS92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0L3tkcmFmdFBsYW5JZH0SbwoLUmVnaXN0ZXJPcmcSIS5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVxdWVzdBoiLmJsdWVhcGkuZ2MudjEuUmVnaXN0ZXJPcmdSZXNwb25zZSIZgtPkkwITOgEqIg4vdjEvb25ib2FyZGluZxKOAQoSU3RhcnRBd3NPbmJvYXJkaW5nEiguYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXF1ZXN0GikuYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEvb25ib2FyZGluZy9hd3Mvc3RhcnQSuwEKHEdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGUSMi5ibHVlYXBpLmdjLnYxLkdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXF1ZXN0GjMuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2UiMoLT5JMCLBIqL3YxL29uYm9hcmRpbmcvYXdzL2Nsb3VkZm9ybWF0aW9uL3RlbXBsYXRlEqkBChRHZXRBd3NMYXVuY2hTdGFja1VybBIqLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5HZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlIjiC0+STAjISMC92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi9sYXVuY2hzdGFja3VybBKSAQoTVmVyaWZ5QXdzT25ib2FyZGluZxIpLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvb25ib2FyZGluZy9hd3MvdmVyaWZ5EpMBChNHZXRPbmJvYXJkaW5nU3RhdHVzEikuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBoqLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlIiWC0+STAh86ASoiGi92MS9vbmJvYXJkaW5nL3N0YXR1czpyZWFkEogBChFMaXN0UGF5ZXJBY2NvdW50cxInLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0GiguYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlIiCC0+STAhoSGC92MS9tYW5hZ2VtZW50cy9hY2NvdW50cxKmAQoWU2V0UGF5ZXJBY2NvdW50RW5hYmxlZBIsLmJsdWVhcGkuZ2MudjEuU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMve2NvbXBhbnlJZH0SmwEKFUdldFBheWVyQWNjb3VudFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVzcG9uc2UiJ4LT5JMCIRIfL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3N0YXR1cxKgAQoUVmFsaWRhdGVCaWxsaW5nR3JvdXASKi5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvb25ib2FyZGluZy9iaWxsaW5nZ3JvdXA6dmFsaWRhdGUSzwEKIkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmwSOC5ibHVlYXBpLmdjLnYxLkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0GjkuYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVzcG9uc2UiNILT5JMCLhIsL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZDp1cmwSyAEKIENyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzEjYuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkNyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZBqiAZJBngESUChBbHBoYSkgR3VhcmFudGVlZENvbW1pdG1lbnRzIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2djGkoKElNlcnZpY2UgZGVmaW5pdGlvbhI0aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2djL0JVChRjbG91ZC5hbHBoYXVzLmFwaS5nY0IaR3VhcmFudGVlZENvbW1pdG1lbnRzUHJvdG9aIWdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9nY2IGcHJvdG8z", [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
@@ -29,23 +29,6 @@ export type ListOrgsRequest = Message<"blueapi.gc.v1.ListOrgsRequest"> & {
29
29
  export const ListOrgsRequestSchema: GenMessage<ListOrgsRequest> = /*@__PURE__*/
30
30
  messageDesc(file_gc_v1_gc, 0);
31
31
 
32
- /**
33
- * @generated from message blueapi.gc.v1.GetCommitmentPlanDetailsRequest
34
- */
35
- export type GetCommitmentPlanDetailsRequest = Message<"blueapi.gc.v1.GetCommitmentPlanDetailsRequest"> & {
36
- /**
37
- * @generated from field: string planId = 1;
38
- */
39
- planId: string;
40
- };
41
-
42
- /**
43
- * Describes the message blueapi.gc.v1.GetCommitmentPlanDetailsRequest.
44
- * Use `create(GetCommitmentPlanDetailsRequestSchema)` to create a new message.
45
- */
46
- export const GetCommitmentPlanDetailsRequestSchema: GenMessage<GetCommitmentPlanDetailsRequest> = /*@__PURE__*/
47
- messageDesc(file_gc_v1_gc, 1);
48
-
49
32
  /**
50
33
  * @generated from message blueapi.gc.v1.CommitmentPlanApplyRequest
51
34
  */
@@ -61,140 +44,7 @@ export type CommitmentPlanApplyRequest = Message<"blueapi.gc.v1.CommitmentPlanAp
61
44
  * Use `create(CommitmentPlanApplyRequestSchema)` to create a new message.
62
45
  */
63
46
  export const CommitmentPlanApplyRequestSchema: GenMessage<CommitmentPlanApplyRequest> = /*@__PURE__*/
64
- messageDesc(file_gc_v1_gc, 2);
65
-
66
- /**
67
- * @generated from message blueapi.gc.v1.ListDefaultCommitmentPlansRequest
68
- */
69
- export type ListDefaultCommitmentPlansRequest = Message<"blueapi.gc.v1.ListDefaultCommitmentPlansRequest"> & {
70
- /**
71
- * @generated from field: blueapi.gc.v1.Provider provider = 1;
72
- */
73
- provider: Provider;
74
- };
75
-
76
- /**
77
- * Describes the message blueapi.gc.v1.ListDefaultCommitmentPlansRequest.
78
- * Use `create(ListDefaultCommitmentPlansRequestSchema)` to create a new message.
79
- */
80
- export const ListDefaultCommitmentPlansRequestSchema: GenMessage<ListDefaultCommitmentPlansRequest> = /*@__PURE__*/
81
- messageDesc(file_gc_v1_gc, 3);
82
-
83
- /**
84
- * @generated from message blueapi.gc.v1.GetRecommendedCommitmentPlanRequest
85
- */
86
- export type GetRecommendedCommitmentPlanRequest = Message<"blueapi.gc.v1.GetRecommendedCommitmentPlanRequest"> & {
87
- /**
88
- * @generated from field: blueapi.gc.v1.Provider provider = 1;
89
- */
90
- provider: Provider;
91
- };
92
-
93
- /**
94
- * Describes the message blueapi.gc.v1.GetRecommendedCommitmentPlanRequest.
95
- * Use `create(GetRecommendedCommitmentPlanRequestSchema)` to create a new message.
96
- */
97
- export const GetRecommendedCommitmentPlanRequestSchema: GenMessage<GetRecommendedCommitmentPlanRequest> = /*@__PURE__*/
98
- messageDesc(file_gc_v1_gc, 4);
99
-
100
- /**
101
- * @generated from message blueapi.gc.v1.ListCommitmentPlanLineItemsRequest
102
- */
103
- export type ListCommitmentPlanLineItemsRequest = Message<"blueapi.gc.v1.ListCommitmentPlanLineItemsRequest"> & {
104
- /**
105
- * @generated from field: string planId = 1;
106
- */
107
- planId: string;
108
-
109
- /**
110
- * @generated from field: string orderBy = 2;
111
- */
112
- orderBy: string;
113
-
114
- /**
115
- * @generated from field: bool desc = 3;
116
- */
117
- desc: boolean;
118
-
119
- /**
120
- * @generated from field: string segmentId = 4;
121
- */
122
- segmentId: string;
123
-
124
- /**
125
- * @generated from field: repeated string resourceMatchIds = 5;
126
- */
127
- resourceMatchIds: string[];
128
-
129
- /**
130
- * @generated from field: int32 page = 6;
131
- */
132
- page: number;
133
-
134
- /**
135
- * @generated from field: int32 pageSize = 7;
136
- */
137
- pageSize: number;
138
- };
139
-
140
- /**
141
- * Describes the message blueapi.gc.v1.ListCommitmentPlanLineItemsRequest.
142
- * Use `create(ListCommitmentPlanLineItemsRequestSchema)` to create a new message.
143
- */
144
- export const ListCommitmentPlanLineItemsRequestSchema: GenMessage<ListCommitmentPlanLineItemsRequest> = /*@__PURE__*/
145
- messageDesc(file_gc_v1_gc, 5);
146
-
147
- /**
148
- * @generated from message blueapi.gc.v1.ListCommitmentPlanResourceMatchesRequest
149
- */
150
- export type ListCommitmentPlanResourceMatchesRequest = Message<"blueapi.gc.v1.ListCommitmentPlanResourceMatchesRequest"> & {
151
- /**
152
- * @generated from field: string planId = 1;
153
- */
154
- planId: string;
155
-
156
- /**
157
- * @generated from field: string orderBy = 2;
158
- */
159
- orderBy: string;
160
-
161
- /**
162
- * @generated from field: bool desc = 3;
163
- */
164
- desc: boolean;
165
-
166
- /**
167
- * @generated from field: string startDate = 4;
168
- */
169
- startDate: string;
170
-
171
- /**
172
- * @generated from field: string endDate = 5;
173
- */
174
- endDate: string;
175
-
176
- /**
177
- * @generated from field: repeated string lineItemIds = 6;
178
- */
179
- lineItemIds: string[];
180
-
181
- /**
182
- * @generated from field: int32 page = 7;
183
- */
184
- page: number;
185
-
186
- /**
187
- * @generated from field: int32 pageSize = 8;
188
- */
189
- pageSize: number;
190
- };
191
-
192
- /**
193
- * Describes the message blueapi.gc.v1.ListCommitmentPlanResourceMatchesRequest.
194
- * Use `create(ListCommitmentPlanResourceMatchesRequestSchema)` to create a new message.
195
- */
196
- export const ListCommitmentPlanResourceMatchesRequestSchema: GenMessage<ListCommitmentPlanResourceMatchesRequest> = /*@__PURE__*/
197
- messageDesc(file_gc_v1_gc, 6);
47
+ messageDesc(file_gc_v1_gc, 1);
198
48
 
199
49
  /**
200
50
  * @generated from message blueapi.gc.v1.ListCommitmentsRequest
@@ -207,7 +57,7 @@ export type ListCommitmentsRequest = Message<"blueapi.gc.v1.ListCommitmentsReque
207
57
  * Use `create(ListCommitmentsRequestSchema)` to create a new message.
208
58
  */
209
59
  export const ListCommitmentsRequestSchema: GenMessage<ListCommitmentsRequest> = /*@__PURE__*/
210
- messageDesc(file_gc_v1_gc, 7);
60
+ messageDesc(file_gc_v1_gc, 2);
211
61
 
212
62
  /**
213
63
  * @generated from message blueapi.gc.v1.GetCommitmentsChartRequest
@@ -243,7 +93,7 @@ export type GetCommitmentsChartRequest = Message<"blueapi.gc.v1.GetCommitmentsCh
243
93
  * Use `create(GetCommitmentsChartRequestSchema)` to create a new message.
244
94
  */
245
95
  export const GetCommitmentsChartRequestSchema: GenMessage<GetCommitmentsChartRequest> = /*@__PURE__*/
246
- messageDesc(file_gc_v1_gc, 8);
96
+ messageDesc(file_gc_v1_gc, 3);
247
97
 
248
98
  /**
249
99
  * @generated from message blueapi.gc.v1.GetCommitmentsUtilizationRequest
@@ -262,7 +112,7 @@ export type GetCommitmentsUtilizationRequest = Message<"blueapi.gc.v1.GetCommitm
262
112
  * Use `create(GetCommitmentsUtilizationRequestSchema)` to create a new message.
263
113
  */
264
114
  export const GetCommitmentsUtilizationRequestSchema: GenMessage<GetCommitmentsUtilizationRequest> = /*@__PURE__*/
265
- messageDesc(file_gc_v1_gc, 9);
115
+ messageDesc(file_gc_v1_gc, 4);
266
116
 
267
117
  /**
268
118
  * @generated from message blueapi.gc.v1.GetMetricsRequest
@@ -279,7 +129,7 @@ export type GetMetricsRequest = Message<"blueapi.gc.v1.GetMetricsRequest"> & {
279
129
  * Use `create(GetMetricsRequestSchema)` to create a new message.
280
130
  */
281
131
  export const GetMetricsRequestSchema: GenMessage<GetMetricsRequest> = /*@__PURE__*/
282
- messageDesc(file_gc_v1_gc, 10);
132
+ messageDesc(file_gc_v1_gc, 5);
283
133
 
284
134
  /**
285
135
  * @generated from message blueapi.gc.v1.ListResourcesRequest
@@ -326,7 +176,7 @@ export type ListResourcesRequest = Message<"blueapi.gc.v1.ListResourcesRequest">
326
176
  * Use `create(ListResourcesRequestSchema)` to create a new message.
327
177
  */
328
178
  export const ListResourcesRequestSchema: GenMessage<ListResourcesRequest> = /*@__PURE__*/
329
- messageDesc(file_gc_v1_gc, 11);
179
+ messageDesc(file_gc_v1_gc, 6);
330
180
 
331
181
  /**
332
182
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageRequest
@@ -368,54 +218,50 @@ export type GetResourceDailyUsageRequest = Message<"blueapi.gc.v1.GetResourceDai
368
218
  * Use `create(GetResourceDailyUsageRequestSchema)` to create a new message.
369
219
  */
370
220
  export const GetResourceDailyUsageRequestSchema: GenMessage<GetResourceDailyUsageRequest> = /*@__PURE__*/
371
- messageDesc(file_gc_v1_gc, 12);
221
+ messageDesc(file_gc_v1_gc, 7);
372
222
 
373
223
  /**
374
- * @generated from message blueapi.gc.v1.ListSegmentsRequest
224
+ * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentRequest
375
225
  */
376
- export type ListSegmentsRequest = Message<"blueapi.gc.v1.ListSegmentsRequest"> & {
377
- /**
378
- * @generated from field: blueapi.gc.v1.Provider provider = 1;
379
- */
380
- provider: Provider;
226
+ export type ListPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.ListPurchasePlansBySegmentRequest"> & {
381
227
  };
382
228
 
383
229
  /**
384
- * Describes the message blueapi.gc.v1.ListSegmentsRequest.
385
- * Use `create(ListSegmentsRequestSchema)` to create a new message.
230
+ * Describes the message blueapi.gc.v1.ListPurchasePlansBySegmentRequest.
231
+ * Use `create(ListPurchasePlansBySegmentRequestSchema)` to create a new message.
386
232
  */
387
- export const ListSegmentsRequestSchema: GenMessage<ListSegmentsRequest> = /*@__PURE__*/
388
- messageDesc(file_gc_v1_gc, 13);
233
+ export const ListPurchasePlansBySegmentRequestSchema: GenMessage<ListPurchasePlansBySegmentRequest> = /*@__PURE__*/
234
+ messageDesc(file_gc_v1_gc, 8);
389
235
 
390
236
  /**
391
- * @generated from message blueapi.gc.v1.GetSegmentDetailsRequest
237
+ * @generated from message blueapi.gc.v1.GetPurchasePlansDetailsRequest
392
238
  */
393
- export type GetSegmentDetailsRequest = Message<"blueapi.gc.v1.GetSegmentDetailsRequest"> & {
239
+ export type GetPurchasePlansDetailsRequest = Message<"blueapi.gc.v1.GetPurchasePlansDetailsRequest"> & {
394
240
  /**
395
- * @generated from field: string segmentId = 1;
241
+ * @generated from field: string planId = 1;
396
242
  */
397
- segmentId: string;
243
+ planId: string;
398
244
  };
399
245
 
400
246
  /**
401
- * Describes the message blueapi.gc.v1.GetSegmentDetailsRequest.
402
- * Use `create(GetSegmentDetailsRequestSchema)` to create a new message.
247
+ * Describes the message blueapi.gc.v1.GetPurchasePlansDetailsRequest.
248
+ * Use `create(GetPurchasePlansDetailsRequestSchema)` to create a new message.
403
249
  */
404
- export const GetSegmentDetailsRequestSchema: GenMessage<GetSegmentDetailsRequest> = /*@__PURE__*/
405
- messageDesc(file_gc_v1_gc, 14);
250
+ export const GetPurchasePlansDetailsRequestSchema: GenMessage<GetPurchasePlansDetailsRequest> = /*@__PURE__*/
251
+ messageDesc(file_gc_v1_gc, 9);
406
252
 
407
253
  /**
408
- * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentRequest
254
+ * @generated from message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentRequest
409
255
  */
410
- export type ListPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.ListPurchasePlansBySegmentRequest"> & {
256
+ export type GetUpdatedPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentRequest"> & {
411
257
  };
412
258
 
413
259
  /**
414
- * Describes the message blueapi.gc.v1.ListPurchasePlansBySegmentRequest.
415
- * Use `create(ListPurchasePlansBySegmentRequestSchema)` to create a new message.
260
+ * Describes the message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentRequest.
261
+ * Use `create(GetUpdatedPurchasePlansBySegmentRequestSchema)` to create a new message.
416
262
  */
417
- export const ListPurchasePlansBySegmentRequestSchema: GenMessage<ListPurchasePlansBySegmentRequest> = /*@__PURE__*/
418
- messageDesc(file_gc_v1_gc, 15);
263
+ export const GetUpdatedPurchasePlansBySegmentRequestSchema: GenMessage<GetUpdatedPurchasePlansBySegmentRequest> = /*@__PURE__*/
264
+ messageDesc(file_gc_v1_gc, 10);
419
265
 
420
266
  /**
421
267
  * @generated from message blueapi.gc.v1.OrgUser
@@ -437,7 +283,7 @@ export type OrgUser = Message<"blueapi.gc.v1.OrgUser"> & {
437
283
  * Use `create(OrgUserSchema)` to create a new message.
438
284
  */
439
285
  export const OrgUserSchema: GenMessage<OrgUser> = /*@__PURE__*/
440
- messageDesc(file_gc_v1_gc, 16);
286
+ messageDesc(file_gc_v1_gc, 11);
441
287
 
442
288
  /**
443
289
  * @generated from message blueapi.gc.v1.Membership
@@ -459,7 +305,7 @@ export type Membership = Message<"blueapi.gc.v1.Membership"> & {
459
305
  * Use `create(MembershipSchema)` to create a new message.
460
306
  */
461
307
  export const MembershipSchema: GenMessage<Membership> = /*@__PURE__*/
462
- messageDesc(file_gc_v1_gc, 17);
308
+ messageDesc(file_gc_v1_gc, 12);
463
309
 
464
310
  /**
465
311
  * @generated from message blueapi.gc.v1.Address
@@ -513,7 +359,7 @@ export type Address = Message<"blueapi.gc.v1.Address"> & {
513
359
  * Use `create(AddressSchema)` to create a new message.
514
360
  */
515
361
  export const AddressSchema: GenMessage<Address> = /*@__PURE__*/
516
- messageDesc(file_gc_v1_gc, 18);
362
+ messageDesc(file_gc_v1_gc, 13);
517
363
 
518
364
  /**
519
365
  * @generated from message blueapi.gc.v1.AwsExistingCur
@@ -555,7 +401,7 @@ export type AwsExistingCur = Message<"blueapi.gc.v1.AwsExistingCur"> & {
555
401
  * Use `create(AwsExistingCurSchema)` to create a new message.
556
402
  */
557
403
  export const AwsExistingCurSchema: GenMessage<AwsExistingCur> = /*@__PURE__*/
558
- messageDesc(file_gc_v1_gc, 19);
404
+ messageDesc(file_gc_v1_gc, 14);
559
405
 
560
406
  /**
561
407
  * @generated from message blueapi.gc.v1.RegisterOrgRequest
@@ -628,7 +474,7 @@ export type RegisterOrgRequest = Message<"blueapi.gc.v1.RegisterOrgRequest"> & {
628
474
  * Use `create(RegisterOrgRequestSchema)` to create a new message.
629
475
  */
630
476
  export const RegisterOrgRequestSchema: GenMessage<RegisterOrgRequest> = /*@__PURE__*/
631
- messageDesc(file_gc_v1_gc, 20);
477
+ messageDesc(file_gc_v1_gc, 15);
632
478
 
633
479
  /**
634
480
  * @generated from message blueapi.gc.v1.StartAwsOnboardingRequest
@@ -657,7 +503,7 @@ export type StartAwsOnboardingRequest = Message<"blueapi.gc.v1.StartAwsOnboardin
657
503
  * Use `create(StartAwsOnboardingRequestSchema)` to create a new message.
658
504
  */
659
505
  export const StartAwsOnboardingRequestSchema: GenMessage<StartAwsOnboardingRequest> = /*@__PURE__*/
660
- messageDesc(file_gc_v1_gc, 21);
506
+ messageDesc(file_gc_v1_gc, 16);
661
507
 
662
508
  /**
663
509
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateRequest
@@ -686,7 +532,7 @@ export type GetAwsCloudFormationTemplateRequest = Message<"blueapi.gc.v1.GetAwsC
686
532
  * Use `create(GetAwsCloudFormationTemplateRequestSchema)` to create a new message.
687
533
  */
688
534
  export const GetAwsCloudFormationTemplateRequestSchema: GenMessage<GetAwsCloudFormationTemplateRequest> = /*@__PURE__*/
689
- messageDesc(file_gc_v1_gc, 22);
535
+ messageDesc(file_gc_v1_gc, 17);
690
536
 
691
537
  /**
692
538
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlRequest
@@ -715,7 +561,7 @@ export type GetAwsLaunchStackUrlRequest = Message<"blueapi.gc.v1.GetAwsLaunchSta
715
561
  * Use `create(GetAwsLaunchStackUrlRequestSchema)` to create a new message.
716
562
  */
717
563
  export const GetAwsLaunchStackUrlRequestSchema: GenMessage<GetAwsLaunchStackUrlRequest> = /*@__PURE__*/
718
- messageDesc(file_gc_v1_gc, 23);
564
+ messageDesc(file_gc_v1_gc, 18);
719
565
 
720
566
  /**
721
567
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingRequest
@@ -765,7 +611,7 @@ export type VerifyAwsOnboardingRequest = Message<"blueapi.gc.v1.VerifyAwsOnboard
765
611
  * Use `create(VerifyAwsOnboardingRequestSchema)` to create a new message.
766
612
  */
767
613
  export const VerifyAwsOnboardingRequestSchema: GenMessage<VerifyAwsOnboardingRequest> = /*@__PURE__*/
768
- messageDesc(file_gc_v1_gc, 24);
614
+ messageDesc(file_gc_v1_gc, 19);
769
615
 
770
616
  /**
771
617
  * @generated from message blueapi.gc.v1.GetOnboardingStatusRequest
@@ -791,7 +637,7 @@ export type GetOnboardingStatusRequest = Message<"blueapi.gc.v1.GetOnboardingSta
791
637
  * Use `create(GetOnboardingStatusRequestSchema)` to create a new message.
792
638
  */
793
639
  export const GetOnboardingStatusRequestSchema: GenMessage<GetOnboardingStatusRequest> = /*@__PURE__*/
794
- messageDesc(file_gc_v1_gc, 25);
640
+ messageDesc(file_gc_v1_gc, 20);
795
641
 
796
642
  /**
797
643
  * @generated from message blueapi.gc.v1.ListPayerAccountsRequest
@@ -804,7 +650,7 @@ export type ListPayerAccountsRequest = Message<"blueapi.gc.v1.ListPayerAccountsR
804
650
  * Use `create(ListPayerAccountsRequestSchema)` to create a new message.
805
651
  */
806
652
  export const ListPayerAccountsRequestSchema: GenMessage<ListPayerAccountsRequest> = /*@__PURE__*/
807
- messageDesc(file_gc_v1_gc, 26);
653
+ messageDesc(file_gc_v1_gc, 21);
808
654
 
809
655
  /**
810
656
  * @generated from message blueapi.gc.v1.SetPayerAccountEnabledRequest
@@ -826,7 +672,7 @@ export type SetPayerAccountEnabledRequest = Message<"blueapi.gc.v1.SetPayerAccou
826
672
  * Use `create(SetPayerAccountEnabledRequestSchema)` to create a new message.
827
673
  */
828
674
  export const SetPayerAccountEnabledRequestSchema: GenMessage<SetPayerAccountEnabledRequest> = /*@__PURE__*/
829
- messageDesc(file_gc_v1_gc, 27);
675
+ messageDesc(file_gc_v1_gc, 22);
830
676
 
831
677
  /**
832
678
  * @generated from message blueapi.gc.v1.GetPayerAccountStatusRequest
@@ -839,7 +685,7 @@ export type GetPayerAccountStatusRequest = Message<"blueapi.gc.v1.GetPayerAccoun
839
685
  * Use `create(GetPayerAccountStatusRequestSchema)` to create a new message.
840
686
  */
841
687
  export const GetPayerAccountStatusRequestSchema: GenMessage<GetPayerAccountStatusRequest> = /*@__PURE__*/
842
- messageDesc(file_gc_v1_gc, 28);
688
+ messageDesc(file_gc_v1_gc, 23);
843
689
 
844
690
  /**
845
691
  * @generated from message blueapi.gc.v1.ValidateBillingGroupRequest
@@ -858,13 +704,15 @@ export type ValidateBillingGroupRequest = Message<"blueapi.gc.v1.ValidateBilling
858
704
  * Use `create(ValidateBillingGroupRequestSchema)` to create a new message.
859
705
  */
860
706
  export const ValidateBillingGroupRequestSchema: GenMessage<ValidateBillingGroupRequest> = /*@__PURE__*/
861
- messageDesc(file_gc_v1_gc, 29);
707
+ messageDesc(file_gc_v1_gc, 24);
862
708
 
863
709
  /**
864
710
  * @generated from message blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest
865
711
  */
866
712
  export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest"> & {
867
713
  /**
714
+ * Required. The commitment purchase plan ID to save as draft.
715
+ *
868
716
  * @generated from field: string planId = 1;
869
717
  */
870
718
  planId: string;
@@ -905,16 +753,22 @@ export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommi
905
753
  segmentId: string;
906
754
 
907
755
  /**
756
+ * Required.
757
+ *
908
758
  * @generated from field: string status = 9;
909
759
  */
910
760
  status: string;
911
761
 
912
762
  /**
763
+ * Required.
764
+ *
913
765
  * @generated from field: string description = 10;
914
766
  */
915
767
  description: string;
916
768
 
917
769
  /**
770
+ * Required.
771
+ *
918
772
  * @generated from field: string name = 11;
919
773
  */
920
774
  name: string;
@@ -1040,7 +894,7 @@ export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommi
1040
894
  * Use `create(SaveCommitmentsPlanAsDraftRequestSchema)` to create a new message.
1041
895
  */
1042
896
  export const SaveCommitmentsPlanAsDraftRequestSchema: GenMessage<SaveCommitmentsPlanAsDraftRequest> = /*@__PURE__*/
1043
- messageDesc(file_gc_v1_gc, 30);
897
+ messageDesc(file_gc_v1_gc, 25);
1044
898
 
1045
899
  /**
1046
900
  * @generated from message blueapi.gc.v1.ListDraftPurchasePlansRequest
@@ -1053,18 +907,18 @@ export type ListDraftPurchasePlansRequest = Message<"blueapi.gc.v1.ListDraftPurc
1053
907
  * Use `create(ListDraftPurchasePlansRequestSchema)` to create a new message.
1054
908
  */
1055
909
  export const ListDraftPurchasePlansRequestSchema: GenMessage<ListDraftPurchasePlansRequest> = /*@__PURE__*/
1056
- messageDesc(file_gc_v1_gc, 31);
910
+ messageDesc(file_gc_v1_gc, 26);
1057
911
 
1058
912
  /**
1059
913
  * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanRequest
1060
914
  */
1061
915
  export type DeleteDraftPurchasePlanRequest = Message<"blueapi.gc.v1.DeleteDraftPurchasePlanRequest"> & {
1062
916
  /**
1063
- * Required. The plan ID to delete.
917
+ * Required. The draft plan ID to delete.
1064
918
  *
1065
- * @generated from field: string planId = 1;
919
+ * @generated from field: string draftPlanId = 1;
1066
920
  */
1067
- planId: string;
921
+ draftPlanId: string;
1068
922
  };
1069
923
 
1070
924
  /**
@@ -1072,7 +926,7 @@ export type DeleteDraftPurchasePlanRequest = Message<"blueapi.gc.v1.DeleteDraftP
1072
926
  * Use `create(DeleteDraftPurchasePlanRequestSchema)` to create a new message.
1073
927
  */
1074
928
  export const DeleteDraftPurchasePlanRequestSchema: GenMessage<DeleteDraftPurchasePlanRequest> = /*@__PURE__*/
1075
- messageDesc(file_gc_v1_gc, 32);
929
+ messageDesc(file_gc_v1_gc, 27);
1076
930
 
1077
931
  /**
1078
932
  * @generated from message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlRequest
@@ -1091,7 +945,7 @@ export type GetGuaranteedCommitmentTemplateUrlRequest = Message<"blueapi.gc.v1.G
1091
945
  * Use `create(GetGuaranteedCommitmentTemplateUrlRequestSchema)` to create a new message.
1092
946
  */
1093
947
  export const GetGuaranteedCommitmentTemplateUrlRequestSchema: GenMessage<GetGuaranteedCommitmentTemplateUrlRequest> = /*@__PURE__*/
1094
- messageDesc(file_gc_v1_gc, 33);
948
+ messageDesc(file_gc_v1_gc, 28);
1095
949
 
1096
950
  /**
1097
951
  * @generated from message blueapi.gc.v1.CreateGuaranteedCommitmentAccessRequest
@@ -1117,7 +971,7 @@ export type CreateGuaranteedCommitmentAccessRequest = Message<"blueapi.gc.v1.Cre
1117
971
  * Use `create(CreateGuaranteedCommitmentAccessRequestSchema)` to create a new message.
1118
972
  */
1119
973
  export const CreateGuaranteedCommitmentAccessRequestSchema: GenMessage<CreateGuaranteedCommitmentAccessRequest> = /*@__PURE__*/
1120
- messageDesc(file_gc_v1_gc, 34);
974
+ messageDesc(file_gc_v1_gc, 29);
1121
975
 
1122
976
  /**
1123
977
  * @generated from message blueapi.gc.v1.Org
@@ -1144,7 +998,7 @@ export type Org = Message<"blueapi.gc.v1.Org"> & {
1144
998
  * Use `create(OrgSchema)` to create a new message.
1145
999
  */
1146
1000
  export const OrgSchema: GenMessage<Org> = /*@__PURE__*/
1147
- messageDesc(file_gc_v1_gc, 35);
1001
+ messageDesc(file_gc_v1_gc, 30);
1148
1002
 
1149
1003
  /**
1150
1004
  * @generated from message blueapi.gc.v1.CommitmentPlanDetails
@@ -1281,24 +1135,7 @@ export type CommitmentPlanDetails = Message<"blueapi.gc.v1.CommitmentPlanDetails
1281
1135
  * Use `create(CommitmentPlanDetailsSchema)` to create a new message.
1282
1136
  */
1283
1137
  export const CommitmentPlanDetailsSchema: GenMessage<CommitmentPlanDetails> = /*@__PURE__*/
1284
- messageDesc(file_gc_v1_gc, 36);
1285
-
1286
- /**
1287
- * @generated from message blueapi.gc.v1.ListDefaultCommitmentPlansResponse
1288
- */
1289
- export type ListDefaultCommitmentPlansResponse = Message<"blueapi.gc.v1.ListDefaultCommitmentPlansResponse"> & {
1290
- /**
1291
- * @generated from field: repeated blueapi.gc.v1.CommitmentPlanDetails plans = 1;
1292
- */
1293
- plans: CommitmentPlanDetails[];
1294
- };
1295
-
1296
- /**
1297
- * Describes the message blueapi.gc.v1.ListDefaultCommitmentPlansResponse.
1298
- * Use `create(ListDefaultCommitmentPlansResponseSchema)` to create a new message.
1299
- */
1300
- export const ListDefaultCommitmentPlansResponseSchema: GenMessage<ListDefaultCommitmentPlansResponse> = /*@__PURE__*/
1301
- messageDesc(file_gc_v1_gc, 37);
1138
+ messageDesc(file_gc_v1_gc, 31);
1302
1139
 
1303
1140
  /**
1304
1141
  * @generated from message blueapi.gc.v1.CommitmentPlanLineItem
@@ -1453,31 +1290,29 @@ export type CommitmentPlanLineItem = Message<"blueapi.gc.v1.CommitmentPlanLineIt
1453
1290
  * @generated from field: google.protobuf.Struct offer = 30;
1454
1291
  */
1455
1292
  offer?: JsonObject;
1456
- };
1457
1293
 
1458
- /**
1459
- * Describes the message blueapi.gc.v1.CommitmentPlanLineItem.
1460
- * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
1461
- */
1462
- export const CommitmentPlanLineItemSchema: GenMessage<CommitmentPlanLineItem> = /*@__PURE__*/
1463
- messageDesc(file_gc_v1_gc, 38);
1294
+ /**
1295
+ * @generated from field: string renewalReservationId = 31;
1296
+ */
1297
+ renewalReservationId: string;
1464
1298
 
1465
- /**
1466
- * @generated from message blueapi.gc.v1.ListCommitmentPlanLineItemsResponse
1467
- */
1468
- export type ListCommitmentPlanLineItemsResponse = Message<"blueapi.gc.v1.ListCommitmentPlanLineItemsResponse"> & {
1469
1299
  /**
1470
- * @generated from field: repeated blueapi.gc.v1.CommitmentPlanLineItem lineItems = 1;
1300
+ * @generated from field: double coveredUnits = 32;
1471
1301
  */
1472
- lineItems: CommitmentPlanLineItem[];
1302
+ coveredUnits: number;
1303
+
1304
+ /**
1305
+ * @generated from field: double amortizedCost = 33;
1306
+ */
1307
+ amortizedCost: number;
1473
1308
  };
1474
1309
 
1475
1310
  /**
1476
- * Describes the message blueapi.gc.v1.ListCommitmentPlanLineItemsResponse.
1477
- * Use `create(ListCommitmentPlanLineItemsResponseSchema)` to create a new message.
1311
+ * Describes the message blueapi.gc.v1.CommitmentPlanLineItem.
1312
+ * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
1478
1313
  */
1479
- export const ListCommitmentPlanLineItemsResponseSchema: GenMessage<ListCommitmentPlanLineItemsResponse> = /*@__PURE__*/
1480
- messageDesc(file_gc_v1_gc, 39);
1314
+ export const CommitmentPlanLineItemSchema: GenMessage<CommitmentPlanLineItem> = /*@__PURE__*/
1315
+ messageDesc(file_gc_v1_gc, 32);
1481
1316
 
1482
1317
  /**
1483
1318
  * @generated from message blueapi.gc.v1.CommitmentPlanResourceMatch
@@ -1597,31 +1432,34 @@ export type CommitmentPlanResourceMatch = Message<"blueapi.gc.v1.CommitmentPlanR
1597
1432
  * @generated from field: google.protobuf.Struct resource = 23;
1598
1433
  */
1599
1434
  resource?: JsonObject;
1600
- };
1601
1435
 
1602
- /**
1603
- * Describes the message blueapi.gc.v1.CommitmentPlanResourceMatch.
1604
- * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
1605
- */
1606
- export const CommitmentPlanResourceMatchSchema: GenMessage<CommitmentPlanResourceMatch> = /*@__PURE__*/
1607
- messageDesc(file_gc_v1_gc, 40);
1436
+ /**
1437
+ * @generated from field: double coveredUnits = 24;
1438
+ */
1439
+ coveredUnits: number;
1608
1440
 
1609
- /**
1610
- * @generated from message blueapi.gc.v1.ListCommitmentPlanResourceMatchesResponse
1611
- */
1612
- export type ListCommitmentPlanResourceMatchesResponse = Message<"blueapi.gc.v1.ListCommitmentPlanResourceMatchesResponse"> & {
1613
1441
  /**
1614
- * @generated from field: repeated blueapi.gc.v1.CommitmentPlanResourceMatch resourceMatches = 1;
1442
+ * @generated from field: double explanationUnmatched = 25;
1615
1443
  */
1616
- resourceMatches: CommitmentPlanResourceMatch[];
1444
+ explanationUnmatched: number;
1445
+
1446
+ /**
1447
+ * @generated from field: double ondemandCost = 26;
1448
+ */
1449
+ ondemandCost: number;
1450
+
1451
+ /**
1452
+ * @generated from field: double reservedCost = 27;
1453
+ */
1454
+ reservedCost: number;
1617
1455
  };
1618
1456
 
1619
1457
  /**
1620
- * Describes the message blueapi.gc.v1.ListCommitmentPlanResourceMatchesResponse.
1621
- * Use `create(ListCommitmentPlanResourceMatchesResponseSchema)` to create a new message.
1458
+ * Describes the message blueapi.gc.v1.CommitmentPlanResourceMatch.
1459
+ * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
1622
1460
  */
1623
- export const ListCommitmentPlanResourceMatchesResponseSchema: GenMessage<ListCommitmentPlanResourceMatchesResponse> = /*@__PURE__*/
1624
- messageDesc(file_gc_v1_gc, 41);
1461
+ export const CommitmentPlanResourceMatchSchema: GenMessage<CommitmentPlanResourceMatch> = /*@__PURE__*/
1462
+ messageDesc(file_gc_v1_gc, 33);
1625
1463
 
1626
1464
  /**
1627
1465
  * @generated from message blueapi.gc.v1.Lease
@@ -1693,7 +1531,7 @@ export type Lease = Message<"blueapi.gc.v1.Lease"> & {
1693
1531
  * Use `create(LeaseSchema)` to create a new message.
1694
1532
  */
1695
1533
  export const LeaseSchema: GenMessage<Lease> = /*@__PURE__*/
1696
- messageDesc(file_gc_v1_gc, 42);
1534
+ messageDesc(file_gc_v1_gc, 34);
1697
1535
 
1698
1536
  /**
1699
1537
  * @generated from message blueapi.gc.v1.DailyUtilization
@@ -1720,7 +1558,7 @@ export type DailyUtilization = Message<"blueapi.gc.v1.DailyUtilization"> & {
1720
1558
  * Use `create(DailyUtilizationSchema)` to create a new message.
1721
1559
  */
1722
1560
  export const DailyUtilizationSchema: GenMessage<DailyUtilization> = /*@__PURE__*/
1723
- messageDesc(file_gc_v1_gc, 43);
1561
+ messageDesc(file_gc_v1_gc, 35);
1724
1562
 
1725
1563
  /**
1726
1564
  * @generated from message blueapi.gc.v1.Commitment
@@ -1952,7 +1790,7 @@ export type Commitment = Message<"blueapi.gc.v1.Commitment"> & {
1952
1790
  * Use `create(CommitmentSchema)` to create a new message.
1953
1791
  */
1954
1792
  export const CommitmentSchema: GenMessage<Commitment> = /*@__PURE__*/
1955
- messageDesc(file_gc_v1_gc, 44);
1793
+ messageDesc(file_gc_v1_gc, 36);
1956
1794
 
1957
1795
  /**
1958
1796
  * @generated from message blueapi.gc.v1.ListCommitmentsResponse
@@ -1969,7 +1807,7 @@ export type ListCommitmentsResponse = Message<"blueapi.gc.v1.ListCommitmentsResp
1969
1807
  * Use `create(ListCommitmentsResponseSchema)` to create a new message.
1970
1808
  */
1971
1809
  export const ListCommitmentsResponseSchema: GenMessage<ListCommitmentsResponse> = /*@__PURE__*/
1972
- messageDesc(file_gc_v1_gc, 45);
1810
+ messageDesc(file_gc_v1_gc, 37);
1973
1811
 
1974
1812
  /**
1975
1813
  * @generated from message blueapi.gc.v1.CommitmentsChartData
@@ -1996,7 +1834,7 @@ export type CommitmentsChartData = Message<"blueapi.gc.v1.CommitmentsChartData">
1996
1834
  * Use `create(CommitmentsChartDataSchema)` to create a new message.
1997
1835
  */
1998
1836
  export const CommitmentsChartDataSchema: GenMessage<CommitmentsChartData> = /*@__PURE__*/
1999
- messageDesc(file_gc_v1_gc, 46);
1837
+ messageDesc(file_gc_v1_gc, 38);
2000
1838
 
2001
1839
  /**
2002
1840
  * @generated from message blueapi.gc.v1.CommitmentsChartResponse
@@ -2013,7 +1851,7 @@ export type CommitmentsChartResponse = Message<"blueapi.gc.v1.CommitmentsChartRe
2013
1851
  * Use `create(CommitmentsChartResponseSchema)` to create a new message.
2014
1852
  */
2015
1853
  export const CommitmentsChartResponseSchema: GenMessage<CommitmentsChartResponse> = /*@__PURE__*/
2016
- messageDesc(file_gc_v1_gc, 47);
1854
+ messageDesc(file_gc_v1_gc, 39);
2017
1855
 
2018
1856
  /**
2019
1857
  * @generated from message blueapi.gc.v1.CommitmentsUtilizationData
@@ -2075,7 +1913,7 @@ export type CommitmentsUtilizationData = Message<"blueapi.gc.v1.CommitmentsUtili
2075
1913
  * Use `create(CommitmentsUtilizationDataSchema)` to create a new message.
2076
1914
  */
2077
1915
  export const CommitmentsUtilizationDataSchema: GenMessage<CommitmentsUtilizationData> = /*@__PURE__*/
2078
- messageDesc(file_gc_v1_gc, 48);
1916
+ messageDesc(file_gc_v1_gc, 40);
2079
1917
 
2080
1918
  /**
2081
1919
  * @generated from message blueapi.gc.v1.CommitmentsUtilizationResponse
@@ -2092,7 +1930,7 @@ export type CommitmentsUtilizationResponse = Message<"blueapi.gc.v1.CommitmentsU
2092
1930
  * Use `create(CommitmentsUtilizationResponseSchema)` to create a new message.
2093
1931
  */
2094
1932
  export const CommitmentsUtilizationResponseSchema: GenMessage<CommitmentsUtilizationResponse> = /*@__PURE__*/
2095
- messageDesc(file_gc_v1_gc, 49);
1933
+ messageDesc(file_gc_v1_gc, 41);
2096
1934
 
2097
1935
  /**
2098
1936
  * @generated from message blueapi.gc.v1.MetricsResponse
@@ -2184,7 +2022,7 @@ export type MetricsResponse = Message<"blueapi.gc.v1.MetricsResponse"> & {
2184
2022
  * Use `create(MetricsResponseSchema)` to create a new message.
2185
2023
  */
2186
2024
  export const MetricsResponseSchema: GenMessage<MetricsResponse> = /*@__PURE__*/
2187
- messageDesc(file_gc_v1_gc, 50);
2025
+ messageDesc(file_gc_v1_gc, 42);
2188
2026
 
2189
2027
  /**
2190
2028
  * @generated from message blueapi.gc.v1.Resource
@@ -2421,7 +2259,7 @@ export type Resource = Message<"blueapi.gc.v1.Resource"> & {
2421
2259
  * Use `create(ResourceSchema)` to create a new message.
2422
2260
  */
2423
2261
  export const ResourceSchema: GenMessage<Resource> = /*@__PURE__*/
2424
- messageDesc(file_gc_v1_gc, 51);
2262
+ messageDesc(file_gc_v1_gc, 43);
2425
2263
 
2426
2264
  /**
2427
2265
  * @generated from message blueapi.gc.v1.ListResourcesResponse
@@ -2438,7 +2276,7 @@ export type ListResourcesResponse = Message<"blueapi.gc.v1.ListResourcesResponse
2438
2276
  * Use `create(ListResourcesResponseSchema)` to create a new message.
2439
2277
  */
2440
2278
  export const ListResourcesResponseSchema: GenMessage<ListResourcesResponse> = /*@__PURE__*/
2441
- messageDesc(file_gc_v1_gc, 52);
2279
+ messageDesc(file_gc_v1_gc, 44);
2442
2280
 
2443
2281
  /**
2444
2282
  * @generated from message blueapi.gc.v1.ResourceDailyUsage
@@ -2525,7 +2363,7 @@ export type ResourceDailyUsage = Message<"blueapi.gc.v1.ResourceDailyUsage"> & {
2525
2363
  * Use `create(ResourceDailyUsageSchema)` to create a new message.
2526
2364
  */
2527
2365
  export const ResourceDailyUsageSchema: GenMessage<ResourceDailyUsage> = /*@__PURE__*/
2528
- messageDesc(file_gc_v1_gc, 53);
2366
+ messageDesc(file_gc_v1_gc, 45);
2529
2367
 
2530
2368
  /**
2531
2369
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageResponse
@@ -2542,7 +2380,7 @@ export type GetResourceDailyUsageResponse = Message<"blueapi.gc.v1.GetResourceDa
2542
2380
  * Use `create(GetResourceDailyUsageResponseSchema)` to create a new message.
2543
2381
  */
2544
2382
  export const GetResourceDailyUsageResponseSchema: GenMessage<GetResourceDailyUsageResponse> = /*@__PURE__*/
2545
- messageDesc(file_gc_v1_gc, 54);
2383
+ messageDesc(file_gc_v1_gc, 46);
2546
2384
 
2547
2385
  /**
2548
2386
  * @generated from message blueapi.gc.v1.Segment
@@ -2579,24 +2417,7 @@ export type Segment = Message<"blueapi.gc.v1.Segment"> & {
2579
2417
  * Use `create(SegmentSchema)` to create a new message.
2580
2418
  */
2581
2419
  export const SegmentSchema: GenMessage<Segment> = /*@__PURE__*/
2582
- messageDesc(file_gc_v1_gc, 55);
2583
-
2584
- /**
2585
- * @generated from message blueapi.gc.v1.ListSegmentsResponse
2586
- */
2587
- export type ListSegmentsResponse = Message<"blueapi.gc.v1.ListSegmentsResponse"> & {
2588
- /**
2589
- * @generated from field: repeated blueapi.gc.v1.Segment segments = 1;
2590
- */
2591
- segments: Segment[];
2592
- };
2593
-
2594
- /**
2595
- * Describes the message blueapi.gc.v1.ListSegmentsResponse.
2596
- * Use `create(ListSegmentsResponseSchema)` to create a new message.
2597
- */
2598
- export const ListSegmentsResponseSchema: GenMessage<ListSegmentsResponse> = /*@__PURE__*/
2599
- messageDesc(file_gc_v1_gc, 56);
2420
+ messageDesc(file_gc_v1_gc, 47);
2600
2421
 
2601
2422
  /**
2602
2423
  * @generated from message blueapi.gc.v1.SegmentCreator
@@ -2623,7 +2444,7 @@ export type SegmentCreator = Message<"blueapi.gc.v1.SegmentCreator"> & {
2623
2444
  * Use `create(SegmentCreatorSchema)` to create a new message.
2624
2445
  */
2625
2446
  export const SegmentCreatorSchema: GenMessage<SegmentCreator> = /*@__PURE__*/
2626
- messageDesc(file_gc_v1_gc, 57);
2447
+ messageDesc(file_gc_v1_gc, 48);
2627
2448
 
2628
2449
  /**
2629
2450
  * @generated from message blueapi.gc.v1.PurchasePlan
@@ -2655,7 +2476,7 @@ export type PurchasePlan = Message<"blueapi.gc.v1.PurchasePlan"> & {
2655
2476
  * Use `create(PurchasePlanSchema)` to create a new message.
2656
2477
  */
2657
2478
  export const PurchasePlanSchema: GenMessage<PurchasePlan> = /*@__PURE__*/
2658
- messageDesc(file_gc_v1_gc, 58);
2479
+ messageDesc(file_gc_v1_gc, 49);
2659
2480
 
2660
2481
  /**
2661
2482
  * @generated from message blueapi.gc.v1.SegmentDetails
@@ -2800,7 +2621,7 @@ export type SegmentDetails = Message<"blueapi.gc.v1.SegmentDetails"> & {
2800
2621
  * Use `create(SegmentDetailsSchema)` to create a new message.
2801
2622
  */
2802
2623
  export const SegmentDetailsSchema: GenMessage<SegmentDetails> = /*@__PURE__*/
2803
- messageDesc(file_gc_v1_gc, 59);
2624
+ messageDesc(file_gc_v1_gc, 50);
2804
2625
 
2805
2626
  /**
2806
2627
  * @generated from message blueapi.gc.v1.ContractSpec
@@ -2832,7 +2653,7 @@ export type ContractSpec = Message<"blueapi.gc.v1.ContractSpec"> & {
2832
2653
  * Use `create(ContractSpecSchema)` to create a new message.
2833
2654
  */
2834
2655
  export const ContractSpecSchema: GenMessage<ContractSpec> = /*@__PURE__*/
2835
- messageDesc(file_gc_v1_gc, 60);
2656
+ messageDesc(file_gc_v1_gc, 51);
2836
2657
 
2837
2658
  /**
2838
2659
  * @generated from message blueapi.gc.v1.PlanSummary
@@ -2919,7 +2740,7 @@ export type PlanSummary = Message<"blueapi.gc.v1.PlanSummary"> & {
2919
2740
  * Use `create(PlanSummarySchema)` to create a new message.
2920
2741
  */
2921
2742
  export const PlanSummarySchema: GenMessage<PlanSummary> = /*@__PURE__*/
2922
- messageDesc(file_gc_v1_gc, 61);
2743
+ messageDesc(file_gc_v1_gc, 52);
2923
2744
 
2924
2745
  /**
2925
2746
  * @generated from message blueapi.gc.v1.ServiceSummary
@@ -3011,7 +2832,7 @@ export type ServiceSummary = Message<"blueapi.gc.v1.ServiceSummary"> & {
3011
2832
  * Use `create(ServiceSummarySchema)` to create a new message.
3012
2833
  */
3013
2834
  export const ServiceSummarySchema: GenMessage<ServiceSummary> = /*@__PURE__*/
3014
- messageDesc(file_gc_v1_gc, 62);
2835
+ messageDesc(file_gc_v1_gc, 53);
3015
2836
 
3016
2837
  /**
3017
2838
  * @generated from message blueapi.gc.v1.AggregateMetrics
@@ -3038,7 +2859,7 @@ export type AggregateMetrics = Message<"blueapi.gc.v1.AggregateMetrics"> & {
3038
2859
  * Use `create(AggregateMetricsSchema)` to create a new message.
3039
2860
  */
3040
2861
  export const AggregateMetricsSchema: GenMessage<AggregateMetrics> = /*@__PURE__*/
3041
- messageDesc(file_gc_v1_gc, 63);
2862
+ messageDesc(file_gc_v1_gc, 54);
3042
2863
 
3043
2864
  /**
3044
2865
  * @generated from message blueapi.gc.v1.DefaultPurchasePlan
@@ -3326,7 +3147,7 @@ export type DefaultPurchasePlan = Message<"blueapi.gc.v1.DefaultPurchasePlan"> &
3326
3147
  * Use `create(DefaultPurchasePlanSchema)` to create a new message.
3327
3148
  */
3328
3149
  export const DefaultPurchasePlanSchema: GenMessage<DefaultPurchasePlan> = /*@__PURE__*/
3329
- messageDesc(file_gc_v1_gc, 64);
3150
+ messageDesc(file_gc_v1_gc, 55);
3330
3151
 
3331
3152
  /**
3332
3153
  * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentResponse
@@ -3343,7 +3164,113 @@ export type ListPurchasePlansBySegmentResponse = Message<"blueapi.gc.v1.ListPurc
3343
3164
  * Use `create(ListPurchasePlansBySegmentResponseSchema)` to create a new message.
3344
3165
  */
3345
3166
  export const ListPurchasePlansBySegmentResponseSchema: GenMessage<ListPurchasePlansBySegmentResponse> = /*@__PURE__*/
3346
- messageDesc(file_gc_v1_gc, 65);
3167
+ messageDesc(file_gc_v1_gc, 56);
3168
+
3169
+ /**
3170
+ * @generated from message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentResponse
3171
+ */
3172
+ export type GetUpdatedPurchasePlansBySegmentResponse = Message<"blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentResponse"> & {
3173
+ /**
3174
+ * @generated from field: repeated blueapi.gc.v1.DefaultPurchasePlan plans = 1;
3175
+ */
3176
+ plans: DefaultPurchasePlan[];
3177
+ };
3178
+
3179
+ /**
3180
+ * Describes the message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentResponse.
3181
+ * Use `create(GetUpdatedPurchasePlansBySegmentResponseSchema)` to create a new message.
3182
+ */
3183
+ export const GetUpdatedPurchasePlansBySegmentResponseSchema: GenMessage<GetUpdatedPurchasePlansBySegmentResponse> = /*@__PURE__*/
3184
+ messageDesc(file_gc_v1_gc, 57);
3185
+
3186
+ /**
3187
+ * @generated from message blueapi.gc.v1.PlanHistoryUser
3188
+ */
3189
+ export type PlanHistoryUser = Message<"blueapi.gc.v1.PlanHistoryUser"> & {
3190
+ /**
3191
+ * @generated from field: string id = 1;
3192
+ */
3193
+ id: string;
3194
+
3195
+ /**
3196
+ * @generated from field: string username = 2;
3197
+ */
3198
+ username: string;
3199
+
3200
+ /**
3201
+ * @generated from field: string fullName = 3;
3202
+ */
3203
+ fullName: string;
3204
+ };
3205
+
3206
+ /**
3207
+ * Describes the message blueapi.gc.v1.PlanHistoryUser.
3208
+ * Use `create(PlanHistoryUserSchema)` to create a new message.
3209
+ */
3210
+ export const PlanHistoryUserSchema: GenMessage<PlanHistoryUser> = /*@__PURE__*/
3211
+ messageDesc(file_gc_v1_gc, 58);
3212
+
3213
+ /**
3214
+ * @generated from message blueapi.gc.v1.PlanHistoryEntry
3215
+ */
3216
+ export type PlanHistoryEntry = Message<"blueapi.gc.v1.PlanHistoryEntry"> & {
3217
+ /**
3218
+ * @generated from field: string id = 1;
3219
+ */
3220
+ id: string;
3221
+
3222
+ /**
3223
+ * @generated from field: string message = 2;
3224
+ */
3225
+ message: string;
3226
+
3227
+ /**
3228
+ * @generated from field: string orgId = 3;
3229
+ */
3230
+ orgId: string;
3231
+
3232
+ /**
3233
+ * @generated from field: string relatedObjectId = 4;
3234
+ */
3235
+ relatedObjectId: string;
3236
+
3237
+ /**
3238
+ * @generated from field: string relatedObjectType = 5;
3239
+ */
3240
+ relatedObjectType: string;
3241
+
3242
+ /**
3243
+ * @generated from field: string timestamp = 6;
3244
+ */
3245
+ timestamp: string;
3246
+
3247
+ /**
3248
+ * @generated from field: string type = 7;
3249
+ */
3250
+ type: string;
3251
+
3252
+ /**
3253
+ * @generated from field: string userId = 8;
3254
+ */
3255
+ userId: string;
3256
+
3257
+ /**
3258
+ * @generated from field: google.protobuf.Value data = 9;
3259
+ */
3260
+ data?: Value;
3261
+
3262
+ /**
3263
+ * @generated from field: blueapi.gc.v1.PlanHistoryUser user = 10;
3264
+ */
3265
+ user?: PlanHistoryUser;
3266
+ };
3267
+
3268
+ /**
3269
+ * Describes the message blueapi.gc.v1.PlanHistoryEntry.
3270
+ * Use `create(PlanHistoryEntrySchema)` to create a new message.
3271
+ */
3272
+ export const PlanHistoryEntrySchema: GenMessage<PlanHistoryEntry> = /*@__PURE__*/
3273
+ messageDesc(file_gc_v1_gc, 59);
3347
3274
 
3348
3275
  /**
3349
3276
  * @generated from message blueapi.gc.v1.RegisterOrgResponse
@@ -3397,7 +3324,7 @@ export type RegisterOrgResponse = Message<"blueapi.gc.v1.RegisterOrgResponse"> &
3397
3324
  * Use `create(RegisterOrgResponseSchema)` to create a new message.
3398
3325
  */
3399
3326
  export const RegisterOrgResponseSchema: GenMessage<RegisterOrgResponse> = /*@__PURE__*/
3400
- messageDesc(file_gc_v1_gc, 66);
3327
+ messageDesc(file_gc_v1_gc, 60);
3401
3328
 
3402
3329
  /**
3403
3330
  * @generated from message blueapi.gc.v1.StartAwsOnboardingResponse
@@ -3414,7 +3341,7 @@ export type StartAwsOnboardingResponse = Message<"blueapi.gc.v1.StartAwsOnboardi
3414
3341
  * Use `create(StartAwsOnboardingResponseSchema)` to create a new message.
3415
3342
  */
3416
3343
  export const StartAwsOnboardingResponseSchema: GenMessage<StartAwsOnboardingResponse> = /*@__PURE__*/
3417
- messageDesc(file_gc_v1_gc, 67);
3344
+ messageDesc(file_gc_v1_gc, 61);
3418
3345
 
3419
3346
  /**
3420
3347
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateResponse
@@ -3433,7 +3360,7 @@ export type GetAwsCloudFormationTemplateResponse = Message<"blueapi.gc.v1.GetAws
3433
3360
  * Use `create(GetAwsCloudFormationTemplateResponseSchema)` to create a new message.
3434
3361
  */
3435
3362
  export const GetAwsCloudFormationTemplateResponseSchema: GenMessage<GetAwsCloudFormationTemplateResponse> = /*@__PURE__*/
3436
- messageDesc(file_gc_v1_gc, 68);
3363
+ messageDesc(file_gc_v1_gc, 62);
3437
3364
 
3438
3365
  /**
3439
3366
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlResponse
@@ -3450,7 +3377,7 @@ export type GetAwsLaunchStackUrlResponse = Message<"blueapi.gc.v1.GetAwsLaunchSt
3450
3377
  * Use `create(GetAwsLaunchStackUrlResponseSchema)` to create a new message.
3451
3378
  */
3452
3379
  export const GetAwsLaunchStackUrlResponseSchema: GenMessage<GetAwsLaunchStackUrlResponse> = /*@__PURE__*/
3453
- messageDesc(file_gc_v1_gc, 69);
3380
+ messageDesc(file_gc_v1_gc, 63);
3454
3381
 
3455
3382
  /**
3456
3383
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse
@@ -3467,7 +3394,7 @@ export type VerifyAwsOnboardingResponse = Message<"blueapi.gc.v1.VerifyAwsOnboar
3467
3394
  * Use `create(VerifyAwsOnboardingResponseSchema)` to create a new message.
3468
3395
  */
3469
3396
  export const VerifyAwsOnboardingResponseSchema: GenMessage<VerifyAwsOnboardingResponse> = /*@__PURE__*/
3470
- messageDesc(file_gc_v1_gc, 70);
3397
+ messageDesc(file_gc_v1_gc, 64);
3471
3398
 
3472
3399
  /**
3473
3400
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck
@@ -3489,7 +3416,7 @@ export type VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck = Message<"blu
3489
3416
  * Use `create(VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema)` to create a new message.
3490
3417
  */
3491
3418
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema: GenMessage<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck> = /*@__PURE__*/
3492
- messageDesc(file_gc_v1_gc, 70, 0);
3419
+ messageDesc(file_gc_v1_gc, 64, 0);
3493
3420
 
3494
3421
  /**
3495
3422
  * @generated from enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus
@@ -3525,7 +3452,7 @@ export enum VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingF
3525
3452
  * Describes the enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus.
3526
3453
  */
3527
3454
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema: GenEnum<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus> = /*@__PURE__*/
3528
- enumDesc(file_gc_v1_gc, 70, 0, 0);
3455
+ enumDesc(file_gc_v1_gc, 64, 0, 0);
3529
3456
 
3530
3457
  /**
3531
3458
  * @generated from message blueapi.gc.v1.GetOnboardingStatusResponse
@@ -3608,7 +3535,7 @@ export type GetOnboardingStatusResponse = Message<"blueapi.gc.v1.GetOnboardingSt
3608
3535
  * Use `create(GetOnboardingStatusResponseSchema)` to create a new message.
3609
3536
  */
3610
3537
  export const GetOnboardingStatusResponseSchema: GenMessage<GetOnboardingStatusResponse> = /*@__PURE__*/
3611
- messageDesc(file_gc_v1_gc, 71);
3538
+ messageDesc(file_gc_v1_gc, 65);
3612
3539
 
3613
3540
  /**
3614
3541
  * @generated from enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus
@@ -3658,7 +3585,7 @@ export enum GetOnboardingStatusResponse_OnboardingStatus {
3658
3585
  * Describes the enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus.
3659
3586
  */
3660
3587
  export const GetOnboardingStatusResponse_OnboardingStatusSchema: GenEnum<GetOnboardingStatusResponse_OnboardingStatus> = /*@__PURE__*/
3661
- enumDesc(file_gc_v1_gc, 71, 0);
3588
+ enumDesc(file_gc_v1_gc, 65, 0);
3662
3589
 
3663
3590
  /**
3664
3591
  * @generated from message blueapi.gc.v1.ListPayerAccountsResponse
@@ -3675,7 +3602,7 @@ export type ListPayerAccountsResponse = Message<"blueapi.gc.v1.ListPayerAccounts
3675
3602
  * Use `create(ListPayerAccountsResponseSchema)` to create a new message.
3676
3603
  */
3677
3604
  export const ListPayerAccountsResponseSchema: GenMessage<ListPayerAccountsResponse> = /*@__PURE__*/
3678
- messageDesc(file_gc_v1_gc, 72);
3605
+ messageDesc(file_gc_v1_gc, 66);
3679
3606
 
3680
3607
  /**
3681
3608
  * @generated from message blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount
@@ -3734,7 +3661,7 @@ export type ListPayerAccountsResponse_PayerAccount = Message<"blueapi.gc.v1.List
3734
3661
  * Use `create(ListPayerAccountsResponse_PayerAccountSchema)` to create a new message.
3735
3662
  */
3736
3663
  export const ListPayerAccountsResponse_PayerAccountSchema: GenMessage<ListPayerAccountsResponse_PayerAccount> = /*@__PURE__*/
3737
- messageDesc(file_gc_v1_gc, 72, 0);
3664
+ messageDesc(file_gc_v1_gc, 66, 0);
3738
3665
 
3739
3666
  /**
3740
3667
  * @generated from enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus
@@ -3760,7 +3687,7 @@ export enum ListPayerAccountsResponse_PayerAccountStatus {
3760
3687
  * Describes the enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus.
3761
3688
  */
3762
3689
  export const ListPayerAccountsResponse_PayerAccountStatusSchema: GenEnum<ListPayerAccountsResponse_PayerAccountStatus> = /*@__PURE__*/
3763
- enumDesc(file_gc_v1_gc, 72, 0);
3690
+ enumDesc(file_gc_v1_gc, 66, 0);
3764
3691
 
3765
3692
  /**
3766
3693
  * @generated from message blueapi.gc.v1.SetPayerAccountEnabledResponse
@@ -3779,7 +3706,7 @@ export type SetPayerAccountEnabledResponse = Message<"blueapi.gc.v1.SetPayerAcco
3779
3706
  * Use `create(SetPayerAccountEnabledResponseSchema)` to create a new message.
3780
3707
  */
3781
3708
  export const SetPayerAccountEnabledResponseSchema: GenMessage<SetPayerAccountEnabledResponse> = /*@__PURE__*/
3782
- messageDesc(file_gc_v1_gc, 73);
3709
+ messageDesc(file_gc_v1_gc, 67);
3783
3710
 
3784
3711
  /**
3785
3712
  * @generated from message blueapi.gc.v1.GetPayerAccountStatusResponse
@@ -3796,7 +3723,7 @@ export type GetPayerAccountStatusResponse = Message<"blueapi.gc.v1.GetPayerAccou
3796
3723
  * Use `create(GetPayerAccountStatusResponseSchema)` to create a new message.
3797
3724
  */
3798
3725
  export const GetPayerAccountStatusResponseSchema: GenMessage<GetPayerAccountStatusResponse> = /*@__PURE__*/
3799
- messageDesc(file_gc_v1_gc, 74);
3726
+ messageDesc(file_gc_v1_gc, 68);
3800
3727
 
3801
3728
  /**
3802
3729
  * @generated from message blueapi.gc.v1.ValidateBillingGroupResponse
@@ -3822,7 +3749,7 @@ export type ValidateBillingGroupResponse = Message<"blueapi.gc.v1.ValidateBillin
3822
3749
  * Use `create(ValidateBillingGroupResponseSchema)` to create a new message.
3823
3750
  */
3824
3751
  export const ValidateBillingGroupResponseSchema: GenMessage<ValidateBillingGroupResponse> = /*@__PURE__*/
3825
- messageDesc(file_gc_v1_gc, 75);
3752
+ messageDesc(file_gc_v1_gc, 69);
3826
3753
 
3827
3754
  /**
3828
3755
  * @generated from message blueapi.gc.v1.ListDraftPurchasePlansResponse
@@ -3839,7 +3766,7 @@ export type ListDraftPurchasePlansResponse = Message<"blueapi.gc.v1.ListDraftPur
3839
3766
  * Use `create(ListDraftPurchasePlansResponseSchema)` to create a new message.
3840
3767
  */
3841
3768
  export const ListDraftPurchasePlansResponseSchema: GenMessage<ListDraftPurchasePlansResponse> = /*@__PURE__*/
3842
- messageDesc(file_gc_v1_gc, 76);
3769
+ messageDesc(file_gc_v1_gc, 70);
3843
3770
 
3844
3771
  /**
3845
3772
  * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanResponse
@@ -3865,7 +3792,7 @@ export type DeleteDraftPurchasePlanResponse = Message<"blueapi.gc.v1.DeleteDraft
3865
3792
  * Use `create(DeleteDraftPurchasePlanResponseSchema)` to create a new message.
3866
3793
  */
3867
3794
  export const DeleteDraftPurchasePlanResponseSchema: GenMessage<DeleteDraftPurchasePlanResponse> = /*@__PURE__*/
3868
- messageDesc(file_gc_v1_gc, 77);
3795
+ messageDesc(file_gc_v1_gc, 71);
3869
3796
 
3870
3797
  /**
3871
3798
  * @generated from message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlResponse
@@ -3926,7 +3853,7 @@ export type GetGuaranteedCommitmentTemplateUrlResponse = Message<"blueapi.gc.v1.
3926
3853
  * Use `create(GetGuaranteedCommitmentTemplateUrlResponseSchema)` to create a new message.
3927
3854
  */
3928
3855
  export const GetGuaranteedCommitmentTemplateUrlResponseSchema: GenMessage<GetGuaranteedCommitmentTemplateUrlResponse> = /*@__PURE__*/
3929
- messageDesc(file_gc_v1_gc, 78);
3856
+ messageDesc(file_gc_v1_gc, 72);
3930
3857
 
3931
3858
  /**
3932
3859
  * @generated from message blueapi.gc.v1.CreateGuaranteedCommitmentAccessResponse
@@ -4015,7 +3942,47 @@ export type CreateGuaranteedCommitmentAccessResponse = Message<"blueapi.gc.v1.Cr
4015
3942
  * Use `create(CreateGuaranteedCommitmentAccessResponseSchema)` to create a new message.
4016
3943
  */
4017
3944
  export const CreateGuaranteedCommitmentAccessResponseSchema: GenMessage<CreateGuaranteedCommitmentAccessResponse> = /*@__PURE__*/
4018
- messageDesc(file_gc_v1_gc, 79);
3945
+ messageDesc(file_gc_v1_gc, 73);
3946
+
3947
+ /**
3948
+ * @generated from message blueapi.gc.v1.GetPurchasePlansDetailsResponse
3949
+ */
3950
+ export type GetPurchasePlansDetailsResponse = Message<"blueapi.gc.v1.GetPurchasePlansDetailsResponse"> & {
3951
+ /**
3952
+ * Plan basic info and detailed metrics
3953
+ *
3954
+ * @generated from field: blueapi.gc.v1.DefaultPurchasePlan plan = 1;
3955
+ */
3956
+ plan?: DefaultPurchasePlan;
3957
+
3958
+ /**
3959
+ * Commitment line item
3960
+ *
3961
+ * @generated from field: repeated blueapi.gc.v1.CommitmentPlanLineItem lineItems = 2;
3962
+ */
3963
+ lineItems: CommitmentPlanLineItem[];
3964
+
3965
+ /**
3966
+ * Covered infrastructure resource matches
3967
+ *
3968
+ * @generated from field: repeated blueapi.gc.v1.CommitmentPlanResourceMatch resourceMatches = 3;
3969
+ */
3970
+ resourceMatches: CommitmentPlanResourceMatch[];
3971
+
3972
+ /**
3973
+ * Audit history of the plan
3974
+ *
3975
+ * @generated from field: repeated blueapi.gc.v1.PlanHistoryEntry history = 4;
3976
+ */
3977
+ history: PlanHistoryEntry[];
3978
+ };
3979
+
3980
+ /**
3981
+ * Describes the message blueapi.gc.v1.GetPurchasePlansDetailsResponse.
3982
+ * Use `create(GetPurchasePlansDetailsResponseSchema)` to create a new message.
3983
+ */
3984
+ export const GetPurchasePlansDetailsResponseSchema: GenMessage<GetPurchasePlansDetailsResponse> = /*@__PURE__*/
3985
+ messageDesc(file_gc_v1_gc, 74);
4019
3986
 
4020
3987
  /**
4021
3988
  * @generated from enum blueapi.gc.v1.Provider
@@ -4218,16 +4185,6 @@ export const GuaranteedCommitments: GenService<{
4218
4185
  input: typeof ListOrgsRequestSchema;
4219
4186
  output: typeof OrgSchema;
4220
4187
  },
4221
- /**
4222
- * WORK-IN-PROGRESS: Do not use. Retrieves detailed information about a specific commitment plan, including costs, savings projections, and commitment coverage.
4223
- *
4224
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetCommitmentsPlanDetails
4225
- */
4226
- getCommitmentsPlanDetails: {
4227
- methodKind: "unary";
4228
- input: typeof GetCommitmentPlanDetailsRequestSchema;
4229
- output: typeof CommitmentPlanDetailsSchema;
4230
- },
4231
4188
  /**
4232
4189
  * WORK-IN-PROGRESS: Executes a commitment purchase plan, initiating the commitment purchase process.
4233
4190
  *
@@ -4238,46 +4195,6 @@ export const GuaranteedCommitments: GenService<{
4238
4195
  input: typeof CommitmentPlanApplyRequestSchema;
4239
4196
  output: typeof CommitmentPlanDetailsSchema;
4240
4197
  },
4241
- /**
4242
- * WORK-IN-PROGRESS: Do not use. Retrieves the three default GuaranteedCommitments commitment plans (High Savings, Balanced, Recommended) for the specified cloud provider.
4243
- *
4244
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListDefaultCommitmentsPlan
4245
- */
4246
- listDefaultCommitmentsPlan: {
4247
- methodKind: "unary";
4248
- input: typeof ListDefaultCommitmentPlansRequestSchema;
4249
- output: typeof ListDefaultCommitmentPlansResponseSchema;
4250
- },
4251
- /**
4252
- * WORK-IN-PROGRESS: Do not use. Retrieves only the recommended GuaranteedCommitments commitment plan for the specified cloud provider.
4253
- *
4254
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetRecommendedCommitmentsPlan
4255
- */
4256
- getRecommendedCommitmentsPlan: {
4257
- methodKind: "unary";
4258
- input: typeof GetRecommendedCommitmentPlanRequestSchema;
4259
- output: typeof CommitmentPlanDetailsSchema;
4260
- },
4261
- /**
4262
- * WORK-IN-PROGRESS: Do not use. Retrieves line items for a specific commitment plan.
4263
- *
4264
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListCommitmentsPlanLineItems
4265
- */
4266
- listCommitmentsPlanLineItems: {
4267
- methodKind: "unary";
4268
- input: typeof ListCommitmentPlanLineItemsRequestSchema;
4269
- output: typeof ListCommitmentPlanLineItemsResponseSchema;
4270
- },
4271
- /**
4272
- * WORK-IN-PROGRESS: Do not use. Retrieves resource matches for a specific commitment plan.
4273
- *
4274
- * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ListCommitmentsPlanResourceMatches
4275
- */
4276
- listCommitmentsPlanResourceMatches: {
4277
- methodKind: "unary";
4278
- input: typeof ListCommitmentPlanResourceMatchesRequestSchema;
4279
- output: typeof ListCommitmentPlanResourceMatchesResponseSchema;
4280
- },
4281
4198
  /**
4282
4199
  * WORK-IN-PROGRESS: Retrieves a list of commitments.
4283
4200
  *
@@ -4348,6 +4265,27 @@ export const GuaranteedCommitments: GenService<{
4348
4265
  input: typeof ListPurchasePlansBySegmentRequestSchema;
4349
4266
  output: typeof ListPurchasePlansBySegmentResponseSchema;
4350
4267
  },
4268
+ /**
4269
+ * WORK-IN-PROGRESS: Get the updated details of the plan after the apply plan.
4270
+ *
4271
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetUpdatedPurchasePlansBySegment
4272
+ */
4273
+ getUpdatedPurchasePlansBySegment: {
4274
+ methodKind: "unary";
4275
+ input: typeof GetUpdatedPurchasePlansBySegmentRequestSchema;
4276
+ output: typeof GetUpdatedPurchasePlansBySegmentResponseSchema;
4277
+ },
4278
+ /**
4279
+ * WORK-IN-PROGRESS: Retrieves full details of a specific purchase plan of a company.
4280
+ * Includes the basic info, detailed metrics, commitment line items, covered infrastructure resource matches, and audit history.
4281
+ *
4282
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetPurchasePlansDetails
4283
+ */
4284
+ getPurchasePlansDetails: {
4285
+ methodKind: "unary";
4286
+ input: typeof GetPurchasePlansDetailsRequestSchema;
4287
+ output: typeof GetPurchasePlansDetailsResponseSchema;
4288
+ },
4351
4289
  /**
4352
4290
  * WORK-IN-PROGRESS: Saves a commitment purchase plan as draft.
4353
4291
  *
@@ -4369,7 +4307,7 @@ export const GuaranteedCommitments: GenService<{
4369
4307
  output: typeof ListDraftPurchasePlansResponseSchema;
4370
4308
  },
4371
4309
  /**
4372
- * WORK-IN-PROGRESS: Deletes a draft purchase plan.
4310
+ * WORK-IN-PROGRESS: Deletes a drafted purchase plan.
4373
4311
  *
4374
4312
  * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.DeleteDraftPurchasePlan
4375
4313
  */