@silvana-one/orderbook 1.1.22 → 1.1.24

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.
@@ -12,7 +12,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
12
12
  * Describes the file proto/silvana/settlement/v1/settlement.proto.
13
13
  */
14
14
  export const file_proto_silvana_settlement_v1_settlement: GenFile = /*@__PURE__*/
15
- fileDesc("Cixwcm90by9zaWx2YW5hL3NldHRsZW1lbnQvdjEvc2V0dGxlbWVudC5wcm90bxIVc2lsdmFuYS5zZXR0bGVtZW50LnYxIn4KDkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCRIVCg1ub2RlX2luc3RhbmNlGAMgASgJEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAingEKFFNldHRsZW1lbnRJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSDgoGc3ltYm9sGAIgASgJEhAKCHJlZ2lzdHJ5GAMgASgJEhAKCHF1YW50aXR5GAQgASgJEi4KCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YSKBBAoZU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRITCgtidXllcl9wYXJ0eRgEIAEoCRIUCgxzZWxsZXJfcGFydHkYBSABKAkSRAoPYmFzZV9pbnN0cnVtZW50GAYgASgLMisuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRJbnN0cnVtZW50EkUKEHF1b3RlX2luc3RydW1lbnQYByABKAsyKy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEluc3RydW1lbnQSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIzCg9hbGxvY2F0ZV9iZWZvcmUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDXNldHRsZV9iZWZvcmUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgsKCV9tZXRhZGF0YSKJAgoWUHJlY29uZmlybWF0aW9uUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEkIKCHByb3Bvc2FsGAMgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USGAoQcmVxdWVzdGluZ19wYXJ0eRgEIAEoCRIuCgpyZXNwb25kX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgV0ZXJtcxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIICgZfdGVybXMivwIKF1ByZWNvbmZpcm1hdGlvbkRlY2lzaW9uEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSQAoIcmVzcG9uc2UYAyABKA4yLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVzcG9uc2USHQoQcmVqZWN0aW9uX3JlYXNvbhgEIAEoCUgAiAEBEjAKCmNvbmRpdGlvbnMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESEQoJc2lnbmVkX2J5GAYgASgJEi4KCmRlY2lkZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhMKEV9yZWplY3Rpb25fcmVhc29uQg0KC19jb25kaXRpb25zItgBChJEdnBDb250cmFjdENyZWF0ZWQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIYChBkdnBfcHJvcG9zYWxfY2lkGAMgASgJEh4KFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBCABKAkSFgoOcHJvcG9zZXJfcGFydHkYBSABKAkSFAoMY291bnRlcnBhcnR5GAYgASgJEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIq8BChNEdnBDb250cmFjdEFjY2VwdGVkEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIVCg1kdnBfdXBkYXRlX2lkGAQgASgJEhMKC2FjY2VwdGVkX2J5GAUgASgJEi8KC2FjY2VwdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLbAgoQQWxsb2NhdGlvblN0YXR1cxITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEhAKCHBhcnR5X2lkGAQgASgJEhYKDmFsbG9jYXRpb25fY2lkGAUgASgJEhwKFGFsbG9jYXRpb25fdXBkYXRlX2lkGAYgASgJEhUKDWluc3RydW1lbnRfaWQYByABKAkSEAoIcXVhbnRpdHkYCCABKAkSFAoMaXNfYWxsb2NhdGVkGAkgASgIEhoKDWVycm9yX21lc3NhZ2UYCiABKAlIAIgBARIwCgxhbGxvY2F0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9lcnJvcl9tZXNzYWdlIqoCChlTZXR0bGVtZW50RXhlY3V0aW9uU3RhdHVzEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYBCABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYBSABKAkSJAocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgGIAEoCRIVCg1pc19zdWNjZXNzZnVsGAcgASgIEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIAIgBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fZXJyb3JfbWVzc2FnZSKKAQoPVXNlclNlcnZpY2VJbmZvEhAKCHBhcnR5X2lkGAEgASgJEhgKEHVzZXJfc2VydmljZV9jaWQYAiABKAkSGwoTb3BlcmF0b3JfY29uZmlnX2NpZBgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL5AQoTU2V0dGxlbWVudEhhbmRzaGFrZRIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhEKCXBhcnR5X2lkcxgCIAMoCRI9Cg11c2VyX3NlcnZpY2VzGAMgAygLMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVzZXJTZXJ2aWNlSW5mbxIWCg5vcGVyYXRvcl9wYXJ0eRgEIAEoCRIyCgxjYXBhYmlsaXRpZXMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCDwoNX2NhcGFiaWxpdGllcyK4AQoMSGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEh0KEHJlamVjdGlvbl9yZWFzb24YAiABKAlIAIgBARISCgpzZXNzaW9uX2lkGAMgASgJEh0KFXN1cHBvcnRlZF9pbnN0cnVtZW50cxgEIAMoCRIvCgtzZXJ2ZXJfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX3JlamVjdGlvbl9yZWFzb24iZwoJSGVhcnRiZWF0EhIKCnNlc3Npb25faWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYAyABKAQimgYKFVNlcnZlclRvQ2FudG9uTWVzc2FnZRISCgpzZXNzaW9uX2lkGAEgASgJEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBBI8Cg1oYW5kc2hha2VfYWNrGAMgASgLMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhhbmRzaGFrZUFja0gAEjUKCWhlYXJ0YmVhdBgEIAEoCzIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IZWFydGJlYXRIABJECghwcm9wb3NhbBgFIAEoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UHJvcG9zYWxNZXNzYWdlSAASUAoXcHJlY29uZmlybWF0aW9uX3JlcXVlc3QYBiABKAsyLS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVxdWVzdEgAEkAKC2R2cF9jcmVhdGVkGAcgASgLMikuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENvbnRyYWN0Q3JlYXRlZEgAEkIKDGR2cF9hY2NlcHRlZBgIIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDb250cmFjdEFjY2VwdGVkSAASRAoRYWxsb2NhdGlvbl9zdGF0dXMYCSABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuQWxsb2NhdGlvblN0YXR1c0gAEk0KEXNldHRsZW1lbnRfc3RhdHVzGAogASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFeGVjdXRpb25TdGF0dXNIABI7Cgdjb21tYW5kGAsgASgLMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kSAASNwoFcXVlcnkYDCABKAsyJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFF1ZXJ5SAASKwoHc2VudF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCQoHbWVzc2FnZSLwBQoVQ2FudG9uVG9TZXJ2ZXJNZXNzYWdlEhIKCnNlc3Npb25faWQYASABKAkSFwoPc2VxdWVuY2VfbnVtYmVyGAIgASgEEj8KCWhhbmRzaGFrZRgDIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50SGFuZHNoYWtlSAASNQoJaGVhcnRiZWF0GAQgASgLMiAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhlYXJ0YmVhdEgAEkkKD3ByZWNvbmZpcm1hdGlvbhgFIAEoCzIuLnNpbHZhbmEuc2V0dGxlbWVudC52MS5QcmVjb25maXJtYXRpb25EZWNpc2lvbkgAEkAKDGR2cF9jcmVhdGlvbhgGIAEoCzIoLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDcmVhdGlvblJlcG9ydEgAEkQKDmR2cF9hY2NlcHRhbmNlGAcgASgLMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cEFjY2VwdGFuY2VSZXBvcnRIABI9CgphbGxvY2F0aW9uGAggASgLMicuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkFsbG9jYXRpb25SZXBvcnRIABI9CgpzZXR0bGVtZW50GAkgASgLMicuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRSZXBvcnRIABI9CghyZXNwb25zZRgKIAEoCzIpLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UmVzcG9uc2VIABIzCgVlcnJvchgLIAEoCzIiLnNpbHZhbmEuc2V0dGxlbWVudC52MS5FcnJvclJlcG9ydEgAEjUKBnN0YXR1cxgMIAEoCzIjLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TdGF0dXNVcGRhdGVIABIrCgdzZW50X2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdtZXNzYWdlIqICChFEdnBDcmVhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSHQoQZHZwX3Byb3Bvc2FsX2NpZBgEIAEoCUgAiAEBEiMKFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBSABKAlIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAYgASgJSAKIAQESLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX2R2cF9wcm9wb3NhbF9jaWRCGQoXX2R2cF9wcm9wb3NhbF91cGRhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2UigQIKE0R2cEFjY2VwdGFuY2VSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdzdWNjZXNzGAMgASgIEhQKB2R2cF9jaWQYBCABKAlIAIgBARIaCg1kdnBfdXBkYXRlX2lkGAUgASgJSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgGIAEoCUgCiAEBEi8KC2FjY2VwdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfZHZwX2NpZEIQCg5fZHZwX3VwZGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZSLnAgoQQWxsb2NhdGlvblJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEg8KB3N1Y2Nlc3MYBCABKAgSGwoOYWxsb2NhdGlvbl9jaWQYBSABKAlIAIgBARIhChRhbGxvY2F0aW9uX3VwZGF0ZV9pZBgGIAEoCUgBiAEBEhQKDGhvbGRpbmdfY2lkcxgHIAMoCRIaCg1lcnJvcl9tZXNzYWdlGAggASgJSAKIAQESMAoMYWxsb2NhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIRCg9fYWxsb2NhdGlvbl9jaWRCFwoVX2FsbG9jYXRpb25fdXBkYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlIv4CChBTZXR0bGVtZW50UmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIcCg9zZXR0bGVkX2R2cF9jaWQYBCABKAlIAIgBARIhChRzZXR0bGVtZW50X3VwZGF0ZV9pZBgFIAEoCUgBiAEBEikKHHNldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXQYBiABKAlIAogBARIVCg1hcmNoaXZlZF9jaWRzGAcgAygJEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIA4gBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEIQCg5fZXJyb3JfbWVzc2FnZSKHAgoLRXJyb3JSZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USEgoKZXJyb3JfY29kZRgEIAEoCRIVCg1lcnJvcl9tZXNzYWdlGAUgASgJEi0KB2RldGFpbHMYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESLwoLb2NjdXJyZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9kZXRhaWxzIoYCCgxTdGF0dXNVcGRhdGUSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI9Cg1jdXJyZW50X3N0YWdlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZRIUCgdtZXNzYWdlGAQgASgJSACIAQESLQoHbWV0cmljcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIKCghfbWV0cmljcyLSAwoRU2V0dGxlbWVudENvbW1hbmQSSgoMY29tbWFuZF90eXBlGAEgASgOMjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kLkNvbW1hbmRUeXBlEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhUKDXNldHRsZW1lbnRfaWQYAyABKAkSMAoKcGFyYW1ldGVycxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIuCgpleGVjdXRlX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLTAQoLQ29tbWFuZFR5cGUSHAoYQ09NTUFORF9UWVBFX1VOU1BFQ0lGSUVEEAASJAogQ09NTUFORF9UWVBFX0NSRUFURV9EVlBfUFJPUE9TQUwQARIbChdDT01NQU5EX1RZUEVfQUNDRVBUX0RWUBACEhkKFUNPTU1BTkRfVFlQRV9BTExPQ0FURRADEhcKE0NPTU1BTkRfVFlQRV9TRVRUTEUQBBIXChNDT01NQU5EX1RZUEVfQ0FOQ0VMEAUSFgoSQ09NTUFORF9UWVBFX1JFVFJZEAZCDQoLX3BhcmFtZXRlcnMi3wMKD1NldHRsZW1lbnRRdWVyeRJECgpxdWVyeV90eXBlGAEgASgOMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRRdWVyeS5RdWVyeVR5cGUSFQoIcGFydHlfaWQYAiABKAlIAIgBARIYCgtjb250cmFjdF9pZBgDIAEoCUgBiAEBEhoKDWluc3RydW1lbnRfaWQYBCABKAlIAogBARIwCgpwYXJhbWV0ZXJzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBIsgBCglRdWVyeVR5cGUSGgoWUVVFUllfVFlQRV9VTlNQRUNJRklFRBAAEhsKF1FVRVJZX1RZUEVfR0VUX0hPTERJTkdTEAESHwobUVVFUllfVFlQRV9HRVRfVVNFUl9TRVJWSUNFEAISGwoXUVVFUllfVFlQRV9HRVRfQ09OVFJBQ1QQAxIkCiBRVUVSWV9UWVBFX0dFVF9BTExPQ0FUSU9OX1NUQVRVUxAEEh4KGlFVRVJZX1RZUEVfQ0hFQ0tfTElRVUlESVRZEAVCCwoJX3BhcnR5X2lkQg4KDF9jb250cmFjdF9pZEIQCg5faW5zdHJ1bWVudF9pZEINCgtfcGFyYW1ldGVycyKuAQoSU2V0dGxlbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSFAoHbWVzc2FnZRgCIAEoCUgAiAEBEioKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESMAoMcmVzcG9uZGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfbWVzc2FnZUIHCgVfZGF0YSKBAQoaR2V0UGVuZGluZ1Byb3Bvc2Fsc1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIQCghwYXJ0eV9pZBgCIAEoCRISCgVsaW1pdBgDIAEoDUgAiAEBQggKBl9saW1pdCJxChtHZXRQZW5kaW5nUHJvcG9zYWxzUmVzcG9uc2USQwoJcHJvcG9zYWxzGAEgAygLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USDQoFdG90YWwYAiABKA0iaAoaR2V0U2V0dGxlbWVudFN0YXR1c1JlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIVCg1zZXR0bGVtZW50X2lkGAIgASgJIuADChtHZXRTZXR0bGVtZW50U3RhdHVzUmVzcG9uc2USEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI1CgVzdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USHQoQZHZwX3Byb3Bvc2FsX2NpZBgEIAEoCUgAiAEBEhQKB2R2cF9jaWQYBSABKAlIAYgBARIhChRhbGxvY2F0aW9uX2J1eWVyX2NpZBgGIAEoCUgCiAEBEiIKFWFsbG9jYXRpb25fc2VsbGVyX2NpZBgHIAEoCUgDiAEBEhwKD3NldHRsZWRfZHZwX2NpZBgIIAEoCUgEiAEBEhoKDWVycm9yX21lc3NhZ2UYCSABKAlIBYgBARIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEITChFfZHZwX3Byb3Bvc2FsX2NpZEIKCghfZHZwX2NpZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCGAoWX2FsbG9jYXRpb25fc2VsbGVyX2NpZEISChBfc2V0dGxlZF9kdnBfY2lkQhAKDl9lcnJvcl9tZXNzYWdlIpUBChxTdWJtaXRQcmVjb25maXJtYXRpb25SZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSQAoIZGVjaXNpb24YAiABKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uRGVjaXNpb24iqggKH1VwZGF0ZVNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAMgASgEEh0KEGR2cF9wcm9wb3NhbF9jaWQYBCABKAlIAIgBARIjChZkdnBfcHJvcG9zYWxfdXBkYXRlX2lkGAUgASgJSAGIAQESFAoHZHZwX2NpZBgGIAEoCUgCiAEBEhoKDWR2cF91cGRhdGVfaWQYByABKAlIA4gBARIhChRhbGxvY2F0aW9uX2J1eWVyX2NpZBgIIAEoCUgEiAEBEicKGmFsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkGAkgASgJSAWIAQESIgoVYWxsb2NhdGlvbl9zZWxsZXJfY2lkGAogASgJSAaIAQESKAobYWxsb2NhdGlvbl9zZWxsZXJfdXBkYXRlX2lkGAsgASgJSAeIAQESHAoPc2V0dGxlZF9kdnBfY2lkGAwgASgJSAiIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYDSABKAlICYgBARIpChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GA4gASgJSAqIAQESPgoJbmV3X3N0YWdlGA8gASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRTdGFnZUgLiAEBEhoKDWVycm9yX21lc3NhZ2UYECABKAlIDIgBARIuCghtZXRhZGF0YRgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIDYgBARIbCg5idXllcl9mZWVfc2VudBgSIAEoCEgOiAEBEhwKD3NlbGxlcl9mZWVfc2VudBgTIAEoCEgPiAEBQhMKEV9kdnBfcHJvcG9zYWxfY2lkQhkKF19kdnBfcHJvcG9zYWxfdXBkYXRlX2lkQgoKCF9kdnBfY2lkQhAKDl9kdnBfdXBkYXRlX2lkQhcKFV9hbGxvY2F0aW9uX2J1eWVyX2NpZEIdChtfYWxsb2NhdGlvbl9idXllcl91cGRhdGVfaWRCGAoWX2FsbG9jYXRpb25fc2VsbGVyX2NpZEIeChxfYWxsb2NhdGlvbl9zZWxsZXJfdXBkYXRlX2lkQhIKEF9zZXR0bGVkX2R2cF9jaWRCFwoVX3NldHRsZW1lbnRfdXBkYXRlX2lkQh8KHV9zZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0QgwKCl9uZXdfc3RhZ2VCEAoOX2Vycm9yX21lc3NhZ2VCCwoJX21ldGFkYXRhQhEKD19idXllcl9mZWVfc2VudEISChBfc2VsbGVyX2ZlZV9zZW50IpgBCiBVcGRhdGVTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSEwoLbmV3X3ZlcnNpb24YAyABKAQSPQoNY3VycmVudF9zdGFnZRgEIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2UieQoYRGlzY2xvc2VkQ29udHJhY3RNZXNzYWdlEhMKC2NvbnRyYWN0X2lkGAEgASgJEhMKC3RlbXBsYXRlX2lkGAIgASgJEhoKEmNyZWF0ZWRfZXZlbnRfYmxvYhgDIAEoCRIXCg9zeW5jaHJvbml6ZXJfaWQYBCABKAkiqwEKHFNhdmVEaXNjbG9zZWRDb250cmFjdFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRJBCghjb250cmFjdBgDIAEoCzIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EaXNjbG9zZWRDb250cmFjdE1lc3NhZ2UiQQodU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJIoYBChxHZXREaXNjbG9zZWRDb250cmFjdHNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSEgoFb3duZXIYAyABKAlIAIgBAUIICgZfb3duZXIiYwodR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVzcG9uc2USQgoJY29udHJhY3RzGAEgAygLMi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLkRpc2Nsb3NlZENvbnRyYWN0TWVzc2FnZSLAAQoXUmVjb3JkU2V0dGxlbWVudFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYAyABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYBCABKAkSJAocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgFIAEoCSJTChhSZWNvcmRTZXR0bGVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhUKDXNldHRsZW1lbnRfaWQYAyABKAkiiQgKGFJlY29yZFRyYW5zYWN0aW9uUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEjcKB3R4X3R5cGUYAiABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25UeXBlEhQKDHNlbmRlcl9wYXJ0eRgDIAEoCRI2CgtzZW5kZXJfdHlwZRgEIAEoDjIhLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZW5kZXJUeXBlEhYKCXVwZGF0ZV9pZBgFIAEoCUgAiAEBEhoKDXN1Ym1pc3Npb25faWQYBiABKAlIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAcgASgJSAKIAQESFgoJbWFya2V0X2lkGAggASgJSAOIAQESGQoMY291bnRlcnBhcnR5GAkgASgJSASIAQESGAoLY29udHJhY3RfaWQYCiABKAlIBYgBARIYCgtjaG9pY2VfbmFtZRgLIAEoCUgGiAEBEhMKBmFtb3VudBgMIAEoCUgHiAEBEhsKDnJld2FyZHNfYW1vdW50GA0gASgJSAiIAQESGgoNcmV3YXJkc19yb3VuZBgOIAEoBEgJiAEBEhwKD3RyYWZmaWNfcmVxdWVzdBgPIAEoBEgKiAEBEh0KEHRyYWZmaWNfcmVzcG9uc2UYECABKARIC4gBARIaCg10cmFmZmljX3RvdGFsGBEgASgESAyIAQESJAoXYWN0aXZpdHlfbWFya2VyX2NyZWF0ZWQYEiABKARIDYgBARI4CgZyZXN1bHQYEyABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25SZXN1bHQSGgoNZXJyb3JfbWVzc2FnZRgUIAEoCUgOiAEBEi4KCG1ldGFkYXRhGBUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgPiAEBQgwKCl91cGRhdGVfaWRCEAoOX3N1Ym1pc3Npb25faWRCGQoXX3NldHRsZW1lbnRfcHJvcG9zYWxfaWRCDAoKX21hcmtldF9pZEIPCg1fY291bnRlcnBhcnR5Qg4KDF9jb250cmFjdF9pZEIOCgxfY2hvaWNlX25hbWVCCQoHX2Ftb3VudEIRCg9fcmV3YXJkc19hbW91bnRCEAoOX3Jld2FyZHNfcm91bmRCEgoQX3RyYWZmaWNfcmVxdWVzdEITChFfdHJhZmZpY19yZXNwb25zZUIQCg5fdHJhZmZpY190b3RhbEIaChhfYWN0aXZpdHlfbWFya2VyX2NyZWF0ZWRCEAoOX2Vycm9yX21lc3NhZ2VCCwoJX21ldGFkYXRhIlUKGVJlY29yZFRyYW5zYWN0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhYKDnRyYW5zYWN0aW9uX2lkGAMgASgEIpEDChxHZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSGQoMc2VuZGVyX3BhcnR5GAIgASgJSACIAQESPAoHdHhfdHlwZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5UcmFuc2FjdGlvblR5cGVIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAQgASgJSAKIAQESPQoGcmVzdWx0GAUgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0SAOIAQESEgoFbGltaXQYBiABKA1IBIgBARITCgZvZmZzZXQYByABKA1IBYgBAUIPCg1fc2VuZGVyX3BhcnR5QgoKCF90eF90eXBlQhkKF19zZXR0bGVtZW50X3Byb3Bvc2FsX2lkQgkKB19yZXN1bHRCCAoGX2xpbWl0QgkKB19vZmZzZXQidAodR2V0VHJhbnNhY3Rpb25IaXN0b3J5UmVzcG9uc2USRAoMdHJhbnNhY3Rpb25zGAEgAygLMi4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uSGlzdG9yeUVudHJ5Eg0KBXRvdGFsGAIgASgNIo8IChdUcmFuc2FjdGlvbkhpc3RvcnlFbnRyeRIKCgJpZBgBIAEoBBI3Cgd0eF90eXBlGAIgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZRIUCgxzZW5kZXJfcGFydHkYAyABKAkSNgoLc2VuZGVyX3R5cGUYBCABKA4yIS5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2VuZGVyVHlwZRIWCgl1cGRhdGVfaWQYBSABKAlIAIgBARIaCg1zdWJtaXNzaW9uX2lkGAYgASgJSAGIAQESIwoWc2V0dGxlbWVudF9wcm9wb3NhbF9pZBgHIAEoCUgCiAEBEhYKCW1hcmtldF9pZBgIIAEoCUgDiAEBEhkKDGNvdW50ZXJwYXJ0eRgJIAEoCUgEiAEBEhgKC2NvbnRyYWN0X2lkGAogASgJSAWIAQESGAoLY2hvaWNlX25hbWUYCyABKAlIBogBARITCgZhbW91bnQYDCABKAlIB4gBARIbCg5yZXdhcmRzX2Ftb3VudBgNIAEoCUgIiAEBEhoKDXJld2FyZHNfcm91bmQYDiABKARICYgBARIcCg90cmFmZmljX3JlcXVlc3QYDyABKARICogBARIdChB0cmFmZmljX3Jlc3BvbnNlGBAgASgESAuIAQESGgoNdHJhZmZpY190b3RhbBgRIAEoBEgMiAEBEiQKF2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkGBIgASgESA2IAQESOAoGcmVzdWx0GBMgASgOMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uUmVzdWx0EhoKDWVycm9yX21lc3NhZ2UYFCABKAlIDogBARIuCghtZXRhZGF0YRgVIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RID4gBARIuCgpjcmVhdGVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIMCgpfdXBkYXRlX2lkQhAKDl9zdWJtaXNzaW9uX2lkQhkKF19zZXR0bGVtZW50X3Byb3Bvc2FsX2lkQgwKCl9tYXJrZXRfaWRCDwoNX2NvdW50ZXJwYXJ0eUIOCgxfY29udHJhY3RfaWRCDgoMX2Nob2ljZV9uYW1lQgkKB19hbW91bnRCEQoPX3Jld2FyZHNfYW1vdW50QhAKDl9yZXdhcmRzX3JvdW5kQhIKEF90cmFmZmljX3JlcXVlc3RCEwoRX3RyYWZmaWNfcmVzcG9uc2VCEAoOX3RyYWZmaWNfdG90YWxCGgoYX2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YSqFBAoPU2V0dGxlbWVudFN0YWdlEiAKHFNFVFRMRU1FTlRfU1RBR0VfVU5TUEVDSUZJRUQQABImCiJTRVRUTEVNRU5UX1NUQUdFX1BST1BPU0FMX1JFQ0VJVkVEEAESLAooU0VUVExFTUVOVF9TVEFHRV9QUkVDT05GSVJNQVRJT05fUEVORElORxACEiEKHVNFVFRMRU1FTlRfU1RBR0VfUFJFQ09ORklSTUVEEAMSKgomU0VUVExFTUVOVF9TVEFHRV9EVlBfUFJPUE9TQUxfQ1JFQVRJTkcQBBIpCiVTRVRUTEVNRU5UX1NUQUdFX0RWUF9QUk9QT1NBTF9DUkVBVEVEEAUSIgoeU0VUVExFTUVOVF9TVEFHRV9EVlBfQUNDRVBUSU5HEAYSIQodU0VUVExFTUVOVF9TVEFHRV9EVlBfQUNDRVBURUQQBxIfChtTRVRUTEVNRU5UX1NUQUdFX0FMTE9DQVRJTkcQCBIeChpTRVRUTEVNRU5UX1NUQUdFX0FMTE9DQVRFRBAJEh0KGVNFVFRMRU1FTlRfU1RBR0VfU0VUVExJTkcQChIcChhTRVRUTEVNRU5UX1NUQUdFX1NFVFRMRUQQCxIbChdTRVRUTEVNRU5UX1NUQUdFX0ZBSUxFRBAMEh4KGlNFVFRMRU1FTlRfU1RBR0VfQ0FOQ0VMTEVEEA0qjQEKF1ByZWNvbmZpcm1hdGlvblJlc3BvbnNlEigKJFBSRUNPTkZJUk1BVElPTl9SRVNQT05TRV9VTlNQRUNJRklFRBAAEiMKH1BSRUNPTkZJUk1BVElPTl9SRVNQT05TRV9BQ0NFUFQQARIjCh9QUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfUkVKRUNUEAIqbQoJUGFydHlSb2xlEhoKFlBBUlRZX1JPTEVfVU5TUEVDSUZJRUQQABIUChBQQVJUWV9ST0xFX0JVWUVSEAESFQoRUEFSVFlfUk9MRV9TRUxMRVIQAhIXChNQQVJUWV9ST0xFX09QRVJBVE9SEAMq4AMKD1RyYW5zYWN0aW9uVHlwZRIgChxUUkFOU0FDVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASKQolVFJBTlNBQ1RJT05fVFlQRV9VU0VSX1NFUlZJQ0VfUkVRVUVTVBABEjAKLFRSQU5TQUNUSU9OX1RZUEVfVVNFUl9TRVJWSUNFX1JFUVVFU1RfQUNDRVBUEAISKAokVFJBTlNBQ1RJT05fVFlQRV9VU0VSX1NFUlZJQ0VfQ0FOQ0VMEAMSIAocVFJBTlNBQ1RJT05fVFlQRV9EVlBfUFJPUE9TRRAEEh8KG1RSQU5TQUNUSU9OX1RZUEVfRFZQX0FDQ0VQVBAFEh8KG1RSQU5TQUNUSU9OX1RZUEVfRFZQX0NBTkNFTBAGEh8KG1RSQU5TQUNUSU9OX1RZUEVfRFZQX1NFVFRMRRAHEh0KGVRSQU5TQUNUSU9OX1RZUEVfQUxMT0NBVEUQCBIkCiBUUkFOU0FDVElPTl9UWVBFX0FMTE9DQVRFX0NBTkNFTBAJEiEKHVRSQU5TQUNUSU9OX1RZUEVfRkVFX1RSQU5TRkVSEAoSGgoWVFJBTlNBQ1RJT05fVFlQRV9NRVJHRRALEhsKF1RSQU5TQUNUSU9OX1RZUEVfVU5MT0NLEAwqiAEKClNlbmRlclR5cGUSGwoXU0VOREVSX1RZUEVfVU5TUEVDSUZJRUQQABIYChRTRU5ERVJfVFlQRV9PUEVSQVRPUhABEhQKEFNFTkRFUl9UWVBFX1VTRVIQAhIVChFTRU5ERVJfVFlQRV9CVVlFUhADEhYKElNFTkRFUl9UWVBFX1NFTExFUhAEKpYBChFUcmFuc2FjdGlvblJlc3VsdBIiCh5UUkFOU0FDVElPTl9SRVNVTFRfVU5TUEVDSUZJRUQQABIeChpUUkFOU0FDVElPTl9SRVNVTFRfUEVORElORxABEh4KGlRSQU5TQUNUSU9OX1JFU1VMVF9TVUNDRVNTEAISHQoZVFJBTlNBQ1RJT05fUkVTVUxUX0ZBSUxFRBADMvMJChFTZXR0bGVtZW50U2VydmljZRJyChBTZXR0bGVtZW50U3RyZWFtEiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvblRvU2VydmVyTWVzc2FnZRosLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXJ2ZXJUb0NhbnRvbk1lc3NhZ2UoATABEnwKE0dldFBlbmRpbmdQcm9wb3NhbHMSMS5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0UGVuZGluZ1Byb3Bvc2Fsc1JlcXVlc3QaMi5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0UGVuZGluZ1Byb3Bvc2Fsc1Jlc3BvbnNlEnwKE0dldFNldHRsZW1lbnRTdGF0dXMSMS5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudFN0YXR1c1JlcXVlc3QaMi5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0U2V0dGxlbWVudFN0YXR1c1Jlc3BvbnNlEmQKFVN1Ym1pdFByZWNvbmZpcm1hdGlvbhIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TdWJtaXRQcmVjb25maXJtYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EosBChhVcGRhdGVTZXR0bGVtZW50UHJvcG9zYWwSNi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVXBkYXRlU2V0dGxlbWVudFByb3Bvc2FsUmVxdWVzdBo3LnNpbHZhbmEuc2V0dGxlbWVudC52MS5VcGRhdGVTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRKCAQoVU2F2ZURpc2Nsb3NlZENvbnRyYWN0EjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNhdmVEaXNjbG9zZWRDb250cmFjdFJlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVzcG9uc2USggEKFUdldERpc2Nsb3NlZENvbnRyYWN0cxIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXREaXNjbG9zZWRDb250cmFjdHNSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldERpc2Nsb3NlZENvbnRyYWN0c1Jlc3BvbnNlEnMKEFJlY29yZFNldHRsZW1lbnQSLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkU2V0dGxlbWVudFJlcXVlc3QaLy5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkU2V0dGxlbWVudFJlc3BvbnNlEnYKEVJlY29yZFRyYW5zYWN0aW9uEi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFRyYW5zYWN0aW9uUmVxdWVzdBowLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRUcmFuc2FjdGlvblJlc3BvbnNlEoIBChVHZXRUcmFuc2FjdGlvbkhpc3RvcnkSMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0VHJhbnNhY3Rpb25IaXN0b3J5UmVxdWVzdBo0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXNwb25zZUI1WjNnaXRodWIuY29tL1NpbHZhbmFPbmUvY2FudG9uLWFnZW50L3Byb3RvO3NldHRsZW1lbnRiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
15
+ fileDesc("Cixwcm90by9zaWx2YW5hL3NldHRsZW1lbnQvdjEvc2V0dGxlbWVudC5wcm90bxIVc2lsdmFuYS5zZXR0bGVtZW50LnYxIn4KDkNhbnRvbk5vZGVBdXRoEhAKCHBhcnR5X2lkGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCRIVCg1ub2RlX2luc3RhbmNlGAMgASgJEjAKDGNvbm5lY3RlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAingEKFFNldHRsZW1lbnRJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSDgoGc3ltYm9sGAIgASgJEhAKCHJlZ2lzdHJ5GAMgASgJEhAKCHF1YW50aXR5GAQgASgJEi4KCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YSKBBAoZU2V0dGxlbWVudFByb3Bvc2FsTWVzc2FnZRITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRITCgtidXllcl9wYXJ0eRgEIAEoCRIUCgxzZWxsZXJfcGFydHkYBSABKAkSRAoPYmFzZV9pbnN0cnVtZW50GAYgASgLMisuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRJbnN0cnVtZW50EkUKEHF1b3RlX2luc3RydW1lbnQYByABKAsyKy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudEluc3RydW1lbnQSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIzCg9hbGxvY2F0ZV9iZWZvcmUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDXNldHRsZV9iZWZvcmUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgsKCV9tZXRhZGF0YSKJAgoWUHJlY29uZmlybWF0aW9uUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEkIKCHByb3Bvc2FsGAMgASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRQcm9wb3NhbE1lc3NhZ2USGAoQcmVxdWVzdGluZ19wYXJ0eRgEIAEoCRIuCgpyZXNwb25kX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgV0ZXJtcxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIICgZfdGVybXMivwIKF1ByZWNvbmZpcm1hdGlvbkRlY2lzaW9uEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSQAoIcmVzcG9uc2UYAyABKA4yLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVzcG9uc2USHQoQcmVqZWN0aW9uX3JlYXNvbhgEIAEoCUgAiAEBEjAKCmNvbmRpdGlvbnMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESEQoJc2lnbmVkX2J5GAYgASgJEi4KCmRlY2lkZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhMKEV9yZWplY3Rpb25fcmVhc29uQg0KC19jb25kaXRpb25zItgBChJEdnBDb250cmFjdENyZWF0ZWQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIYChBkdnBfcHJvcG9zYWxfY2lkGAMgASgJEh4KFmR2cF9wcm9wb3NhbF91cGRhdGVfaWQYBCABKAkSFgoOcHJvcG9zZXJfcGFydHkYBSABKAkSFAoMY291bnRlcnBhcnR5GAYgASgJEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIq8BChNEdnBDb250cmFjdEFjY2VwdGVkEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIVCg1kdnBfdXBkYXRlX2lkGAQgASgJEhMKC2FjY2VwdGVkX2J5GAUgASgJEi8KC2FjY2VwdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLbAgoQQWxsb2NhdGlvblN0YXR1cxITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEjQKCnBhcnR5X3JvbGUYAyABKA4yIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuUGFydHlSb2xlEhAKCHBhcnR5X2lkGAQgASgJEhYKDmFsbG9jYXRpb25fY2lkGAUgASgJEhwKFGFsbG9jYXRpb25fdXBkYXRlX2lkGAYgASgJEhUKDWluc3RydW1lbnRfaWQYByABKAkSEAoIcXVhbnRpdHkYCCABKAkSFAoMaXNfYWxsb2NhdGVkGAkgASgIEhoKDWVycm9yX21lc3NhZ2UYCiABKAlIAIgBARIwCgxhbGxvY2F0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhAKDl9lcnJvcl9tZXNzYWdlIqoCChlTZXR0bGVtZW50RXhlY3V0aW9uU3RhdHVzEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHZHZwX2NpZBgDIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYBCABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYBSABKAkSJAocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgGIAEoCRIVCg1pc19zdWNjZXNzZnVsGAcgASgIEhoKDWVycm9yX21lc3NhZ2UYCCABKAlIAIgBARIuCgpzZXR0bGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fZXJyb3JfbWVzc2FnZSKKAQoPVXNlclNlcnZpY2VJbmZvEhAKCHBhcnR5X2lkGAEgASgJEhgKEHVzZXJfc2VydmljZV9jaWQYAiABKAkSGwoTb3BlcmF0b3JfY29uZmlnX2NpZBgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL5AQoTU2V0dGxlbWVudEhhbmRzaGFrZRIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEhEKCXBhcnR5X2lkcxgCIAMoCRI9Cg11c2VyX3NlcnZpY2VzGAMgAygLMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVzZXJTZXJ2aWNlSW5mbxIWCg5vcGVyYXRvcl9wYXJ0eRgEIAEoCRIyCgxjYXBhYmlsaXRpZXMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCDwoNX2NhcGFiaWxpdGllcyK4AQoMSGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEh0KEHJlamVjdGlvbl9yZWFzb24YAiABKAlIAIgBARISCgpzZXNzaW9uX2lkGAMgASgJEh0KFXN1cHBvcnRlZF9pbnN0cnVtZW50cxgEIAMoCRIvCgtzZXJ2ZXJfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX3JlamVjdGlvbl9yZWFzb24iZwoJSGVhcnRiZWF0EhIKCnNlc3Npb25faWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYAyABKAQiZwoVTGlxdWlkaXR5UHJvdmlkZXJQaW5nEh8KF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGAEgASgJEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiqAEKFUxpcXVpZGl0eVByb3ZpZGVyUG9uZxIfChdsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZRgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEhoKDWVycm9yX21lc3NhZ2UYAyABKAlIAIgBARIvCgtzZXJ2ZXJfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEAoOX2Vycm9yX21lc3NhZ2Ui2wYKFVNlcnZlclRvQ2FudG9uTWVzc2FnZRISCgpzZXNzaW9uX2lkGAEgASgJEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBBI8Cg1oYW5kc2hha2VfYWNrGAMgASgLMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkhhbmRzaGFrZUFja0gAEjUKCWhlYXJ0YmVhdBgEIAEoCzIgLnNpbHZhbmEuc2V0dGxlbWVudC52MS5IZWFydGJlYXRIABJECghwcm9wb3NhbBgFIAEoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UHJvcG9zYWxNZXNzYWdlSAASUAoXcHJlY29uZmlybWF0aW9uX3JlcXVlc3QYBiABKAsyLS5zaWx2YW5hLnNldHRsZW1lbnQudjEuUHJlY29uZmlybWF0aW9uUmVxdWVzdEgAEkAKC2R2cF9jcmVhdGVkGAcgASgLMikuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENvbnRyYWN0Q3JlYXRlZEgAEkIKDGR2cF9hY2NlcHRlZBgIIAEoCzIqLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EdnBDb250cmFjdEFjY2VwdGVkSAASRAoRYWxsb2NhdGlvbl9zdGF0dXMYCSABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuQWxsb2NhdGlvblN0YXR1c0gAEk0KEXNldHRsZW1lbnRfc3RhdHVzGAogASgLMjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRFeGVjdXRpb25TdGF0dXNIABI7Cgdjb21tYW5kGAsgASgLMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRDb21tYW5kSAASNwoFcXVlcnkYDCABKAsyJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFF1ZXJ5SAASPwoHbHBfcG9uZxgOIAEoCzIsLnNpbHZhbmEuc2V0dGxlbWVudC52MS5MaXF1aWRpdHlQcm92aWRlclBvbmdIABIrCgdzZW50X2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdtZXNzYWdlIrEGChVDYW50b25Ub1NlcnZlck1lc3NhZ2USEgoKc2Vzc2lvbl9pZBgBIAEoCRIXCg9zZXF1ZW5jZV9udW1iZXIYAiABKAQSPwoJaGFuZHNoYWtlGAMgASgLMiouc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRIYW5kc2hha2VIABI1CgloZWFydGJlYXQYBCABKAsyIC5zaWx2YW5hLnNldHRsZW1lbnQudjEuSGVhcnRiZWF0SAASSQoPcHJlY29uZmlybWF0aW9uGAUgASgLMi4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlByZWNvbmZpcm1hdGlvbkRlY2lzaW9uSAASQAoMZHZwX2NyZWF0aW9uGAYgASgLMiguc2lsdmFuYS5zZXR0bGVtZW50LnYxLkR2cENyZWF0aW9uUmVwb3J0SAASRAoOZHZwX2FjY2VwdGFuY2UYByABKAsyKi5zaWx2YW5hLnNldHRsZW1lbnQudjEuRHZwQWNjZXB0YW5jZVJlcG9ydEgAEj0KCmFsbG9jYXRpb24YCCABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuQWxsb2NhdGlvblJlcG9ydEgAEj0KCnNldHRsZW1lbnQYCSABKAsyJy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFJlcG9ydEgAEj0KCHJlc3BvbnNlGAogASgLMikuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNldHRsZW1lbnRSZXNwb25zZUgAEjMKBWVycm9yGAsgASgLMiIuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkVycm9yUmVwb3J0SAASNQoGc3RhdHVzGAwgASgLMiMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlN0YXR1c1VwZGF0ZUgAEj8KB2xwX3BpbmcYDiABKAsyLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuTGlxdWlkaXR5UHJvdmlkZXJQaW5nSAASKwoHc2VudF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCQoHbWVzc2FnZSKiAgoRRHZwQ3JlYXRpb25SZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRIPCgdzdWNjZXNzGAMgASgIEh0KEGR2cF9wcm9wb3NhbF9jaWQYBCABKAlIAIgBARIjChZkdnBfcHJvcG9zYWxfdXBkYXRlX2lkGAUgASgJSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgGIAEoCUgCiAEBEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhMKEV9kdnBfcHJvcG9zYWxfY2lkQhkKF19kdnBfcHJvcG9zYWxfdXBkYXRlX2lkQhAKDl9lcnJvcl9tZXNzYWdlIoECChNEdnBBY2NlcHRhbmNlUmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIUCgdkdnBfY2lkGAQgASgJSACIAQESGgoNZHZwX3VwZGF0ZV9pZBgFIAEoCUgBiAEBEhoKDWVycm9yX21lc3NhZ2UYBiABKAlIAogBARIvCgthY2NlcHRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2R2cF9jaWRCEAoOX2R2cF91cGRhdGVfaWRCEAoOX2Vycm9yX21lc3NhZ2Ui5wIKEEFsbG9jYXRpb25SZXBvcnQSEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNc2V0dGxlbWVudF9pZBgCIAEoCRI0CgpwYXJ0eV9yb2xlGAMgASgOMiAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlBhcnR5Um9sZRIPCgdzdWNjZXNzGAQgASgIEhsKDmFsbG9jYXRpb25fY2lkGAUgASgJSACIAQESIQoUYWxsb2NhdGlvbl91cGRhdGVfaWQYBiABKAlIAYgBARIUCgxob2xkaW5nX2NpZHMYByADKAkSGgoNZXJyb3JfbWVzc2FnZRgIIAEoCUgCiAEBEjAKDGFsbG9jYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEQoPX2FsbG9jYXRpb25fY2lkQhcKFV9hbGxvY2F0aW9uX3VwZGF0ZV9pZEIQCg5fZXJyb3JfbWVzc2FnZSL+AgoQU2V0dGxlbWVudFJlcG9ydBITCgtwcm9wb3NhbF9pZBgBIAEoCRIVCg1zZXR0bGVtZW50X2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSHAoPc2V0dGxlZF9kdnBfY2lkGAQgASgJSACIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYBSABKAlIAYgBARIpChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GAYgASgJSAKIAQESFQoNYXJjaGl2ZWRfY2lkcxgHIAMoCRIaCg1lcnJvcl9tZXNzYWdlGAggASgJSAOIAQESLgoKc2V0dGxlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEgoQX3NldHRsZWRfZHZwX2NpZEIXChVfc2V0dGxlbWVudF91cGRhdGVfaWRCHwodX3NldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXRCEAoOX2Vycm9yX21lc3NhZ2UihwIKC0Vycm9yUmVwb3J0EhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSNQoFc3RhZ2UYAyABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFN0YWdlEhIKCmVycm9yX2NvZGUYBCABKAkSFQoNZXJyb3JfbWVzc2FnZRgFIAEoCRItCgdkZXRhaWxzGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi8KC29jY3VycmVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfZGV0YWlscyKGAgoMU3RhdHVzVXBkYXRlEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSPQoNY3VycmVudF9zdGFnZRgDIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2USFAoHbWVzc2FnZRgEIAEoCUgAiAEBEi0KB21ldHJpY3MYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX21lc3NhZ2VCCgoIX21ldHJpY3Mi0gMKEVNldHRsZW1lbnRDb21tYW5kEkoKDGNvbW1hbmRfdHlwZRgBIAEoDjI0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50Q29tbWFuZC5Db21tYW5kVHlwZRITCgtwcm9wb3NhbF9pZBgCIAEoCRIVCg1zZXR0bGVtZW50X2lkGAMgASgJEjAKCnBhcmFtZXRlcnMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESLgoKZXhlY3V0ZV9ieRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi0wEKC0NvbW1hbmRUeXBlEhwKGENPTU1BTkRfVFlQRV9VTlNQRUNJRklFRBAAEiQKIENPTU1BTkRfVFlQRV9DUkVBVEVfRFZQX1BST1BPU0FMEAESGwoXQ09NTUFORF9UWVBFX0FDQ0VQVF9EVlAQAhIZChVDT01NQU5EX1RZUEVfQUxMT0NBVEUQAxIXChNDT01NQU5EX1RZUEVfU0VUVExFEAQSFwoTQ09NTUFORF9UWVBFX0NBTkNFTBAFEhYKEkNPTU1BTkRfVFlQRV9SRVRSWRAGQg0KC19wYXJhbWV0ZXJzIt8DCg9TZXR0bGVtZW50UXVlcnkSRAoKcXVlcnlfdHlwZRgBIAEoDjIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UXVlcnkuUXVlcnlUeXBlEhUKCHBhcnR5X2lkGAIgASgJSACIAQESGAoLY29udHJhY3RfaWQYAyABKAlIAYgBARIaCg1pbnN0cnVtZW50X2lkGAQgASgJSAKIAQESMAoKcGFyYW1ldGVycxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBASLIAQoJUXVlcnlUeXBlEhoKFlFVRVJZX1RZUEVfVU5TUEVDSUZJRUQQABIbChdRVUVSWV9UWVBFX0dFVF9IT0xESU5HUxABEh8KG1FVRVJZX1RZUEVfR0VUX1VTRVJfU0VSVklDRRACEhsKF1FVRVJZX1RZUEVfR0VUX0NPTlRSQUNUEAMSJAogUVVFUllfVFlQRV9HRVRfQUxMT0NBVElPTl9TVEFUVVMQBBIeChpRVUVSWV9UWVBFX0NIRUNLX0xJUVVJRElUWRAFQgsKCV9wYXJ0eV9pZEIOCgxfY29udHJhY3RfaWRCEAoOX2luc3RydW1lbnRfaWRCDQoLX3BhcmFtZXRlcnMirgEKElNldHRsZW1lbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhQKB21lc3NhZ2UYAiABKAlIAIgBARIqCgRkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEjAKDHJlc3BvbmRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX21lc3NhZ2VCBwoFX2RhdGEigQEKGkdldFBlbmRpbmdQcm9wb3NhbHNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEAoIcGFydHlfaWQYAiABKAkSEgoFbGltaXQYAyABKA1IAIgBAUIICgZfbGltaXQicQobR2V0UGVuZGluZ1Byb3Bvc2Fsc1Jlc3BvbnNlEkMKCXByb3Bvc2FscxgBIAMoCzIwLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50UHJvcG9zYWxNZXNzYWdlEg0KBXRvdGFsGAIgASgNImgKGkdldFNldHRsZW1lbnRTdGF0dXNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSFQoNc2V0dGxlbWVudF9pZBgCIAEoCSLgAwobR2V0U2V0dGxlbWVudFN0YXR1c1Jlc3BvbnNlEhMKC3Byb3Bvc2FsX2lkGAEgASgJEhUKDXNldHRsZW1lbnRfaWQYAiABKAkSNQoFc3RhZ2UYAyABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2V0dGxlbWVudFN0YWdlEh0KEGR2cF9wcm9wb3NhbF9jaWQYBCABKAlIAIgBARIUCgdkdnBfY2lkGAUgASgJSAGIAQESIQoUYWxsb2NhdGlvbl9idXllcl9jaWQYBiABKAlIAogBARIiChVhbGxvY2F0aW9uX3NlbGxlcl9jaWQYByABKAlIA4gBARIcCg9zZXR0bGVkX2R2cF9jaWQYCCABKAlIBIgBARIaCg1lcnJvcl9tZXNzYWdlGAkgASgJSAWIAQESLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEwoRX2R2cF9wcm9wb3NhbF9jaWRCCgoIX2R2cF9jaWRCFwoVX2FsbG9jYXRpb25fYnV5ZXJfY2lkQhgKFl9hbGxvY2F0aW9uX3NlbGxlcl9jaWRCEgoQX3NldHRsZWRfZHZwX2NpZEIQCg5fZXJyb3JfbWVzc2FnZSKVAQocU3VibWl0UHJlY29uZmlybWF0aW9uUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEkAKCGRlY2lzaW9uGAIgASgLMi4uc2lsdmFuYS5zZXR0bGVtZW50LnYxLlByZWNvbmZpcm1hdGlvbkRlY2lzaW9uIsYKCh9VcGRhdGVTZXR0bGVtZW50UHJvcG9zYWxSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgDIAEoBBIdChBkdnBfcHJvcG9zYWxfY2lkGAQgASgJSACIAQESIwoWZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZBgFIAEoCUgBiAEBEhQKB2R2cF9jaWQYBiABKAlIAogBARIaCg1kdnBfdXBkYXRlX2lkGAcgASgJSAOIAQESIQoUYWxsb2NhdGlvbl9idXllcl9jaWQYCCABKAlIBIgBARInChphbGxvY2F0aW9uX2J1eWVyX3VwZGF0ZV9pZBgJIAEoCUgFiAEBEiIKFWFsbG9jYXRpb25fc2VsbGVyX2NpZBgKIAEoCUgGiAEBEigKG2FsbG9jYXRpb25fc2VsbGVyX3VwZGF0ZV9pZBgLIAEoCUgHiAEBEhwKD3NldHRsZWRfZHZwX2NpZBgMIAEoCUgIiAEBEiEKFHNldHRsZW1lbnRfdXBkYXRlX2lkGA0gASgJSAmIAQESKQocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgOIAEoCUgKiAEBEj4KCW5ld19zdGFnZRgPIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2VIC4gBARIaCg1lcnJvcl9tZXNzYWdlGBAgASgJSAyIAQESLgoIbWV0YWRhdGEYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SA2IAQESGwoOYnV5ZXJfZmVlX3NlbnQYEiABKAhIDogBARIcCg9zZWxsZXJfZmVlX3NlbnQYEyABKAhID4gBARIgChNidXllcl9mZWVfdXBkYXRlX2lkGBQgASgJSBCIAQESIQoUc2VsbGVyX2ZlZV91cGRhdGVfaWQYFSABKAlIEYgBARI6ChFidXllcl9mZWVfcGFpZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIEogBARI7ChJzZWxsZXJfZmVlX3BhaWRfYXQYFyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBOIAQFCEwoRX2R2cF9wcm9wb3NhbF9jaWRCGQoXX2R2cF9wcm9wb3NhbF91cGRhdGVfaWRCCgoIX2R2cF9jaWRCEAoOX2R2cF91cGRhdGVfaWRCFwoVX2FsbG9jYXRpb25fYnV5ZXJfY2lkQh0KG19hbGxvY2F0aW9uX2J1eWVyX3VwZGF0ZV9pZEIYChZfYWxsb2NhdGlvbl9zZWxsZXJfY2lkQh4KHF9hbGxvY2F0aW9uX3NlbGxlcl91cGRhdGVfaWRCEgoQX3NldHRsZWRfZHZwX2NpZEIXChVfc2V0dGxlbWVudF91cGRhdGVfaWRCHwodX3NldHRsZW1lbnRfY29tcGxldGlvbl9vZmZzZXRCDAoKX25ld19zdGFnZUIQCg5fZXJyb3JfbWVzc2FnZUILCglfbWV0YWRhdGFCEQoPX2J1eWVyX2ZlZV9zZW50QhIKEF9zZWxsZXJfZmVlX3NlbnRCFgoUX2J1eWVyX2ZlZV91cGRhdGVfaWRCFwoVX3NlbGxlcl9mZWVfdXBkYXRlX2lkQhQKEl9idXllcl9mZWVfcGFpZF9hdEIVChNfc2VsbGVyX2ZlZV9wYWlkX2F0IpgBCiBVcGRhdGVTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSEwoLbmV3X3ZlcnNpb24YAyABKAQSPQoNY3VycmVudF9zdGFnZRgEIAEoDjImLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZXR0bGVtZW50U3RhZ2UieQoYRGlzY2xvc2VkQ29udHJhY3RNZXNzYWdlEhMKC2NvbnRyYWN0X2lkGAEgASgJEhMKC3RlbXBsYXRlX2lkGAIgASgJEhoKEmNyZWF0ZWRfZXZlbnRfYmxvYhgDIAEoCRIXCg9zeW5jaHJvbml6ZXJfaWQYBCABKAkiqwEKHFNhdmVEaXNjbG9zZWRDb250cmFjdFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRJBCghjb250cmFjdBgDIAEoCzIvLnNpbHZhbmEuc2V0dGxlbWVudC52MS5EaXNjbG9zZWRDb250cmFjdE1lc3NhZ2UiQQodU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJIoYBChxHZXREaXNjbG9zZWRDb250cmFjdHNSZXF1ZXN0EjMKBGF1dGgYASABKAsyJS5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uTm9kZUF1dGgSEwoLcHJvcG9zYWxfaWQYAiABKAkSEgoFb3duZXIYAyABKAlIAIgBAUIICgZfb3duZXIiYwodR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVzcG9uc2USQgoJY29udHJhY3RzGAEgAygLMi8uc2lsdmFuYS5zZXR0bGVtZW50LnYxLkRpc2Nsb3NlZENvbnRyYWN0TWVzc2FnZSLcAgoXUmVjb3JkU2V0dGxlbWVudFJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBITCgtwcm9wb3NhbF9pZBgCIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYAyABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYBCABKAkSJAocc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldBgFIAEoCRIUCgdkdnBfY2lkGAYgASgJSACIAQESIQoUYWxsb2NhdGlvbl9idXllcl9jaWQYByABKAlIAYgBARIiChVhbGxvY2F0aW9uX3NlbGxlcl9jaWQYCCABKAlIAogBAUIKCghfZHZwX2NpZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCGAoWX2FsbG9jYXRpb25fc2VsbGVyX2NpZCJTChhSZWNvcmRTZXR0bGVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhUKDXNldHRsZW1lbnRfaWQYAyABKAkitgkKGFJlY29yZFRyYW5zYWN0aW9uUmVxdWVzdBIzCgRhdXRoGAEgASgLMiUuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkNhbnRvbk5vZGVBdXRoEjcKB3R4X3R5cGUYAiABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25UeXBlEhQKDHNlbmRlcl9wYXJ0eRgDIAEoCRI2CgtzZW5kZXJfdHlwZRgEIAEoDjIhLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZW5kZXJUeXBlEhYKCXVwZGF0ZV9pZBgFIAEoCUgAiAEBEhoKDXN1Ym1pc3Npb25faWQYBiABKAlIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAcgASgJSAKIAQESFgoJbWFya2V0X2lkGAggASgJSAOIAQESGQoMY291bnRlcnBhcnR5GAkgASgJSASIAQESGAoLY29udHJhY3RfaWQYCiABKAlIBYgBARIYCgtjaG9pY2VfbmFtZRgLIAEoCUgGiAEBEhMKBmFtb3VudBgMIAEoCUgHiAEBEhsKDnJld2FyZHNfYW1vdW50GA0gASgJSAiIAQESGgoNcmV3YXJkc19yb3VuZBgOIAEoBEgJiAEBEhwKD3RyYWZmaWNfcmVxdWVzdBgPIAEoBEgKiAEBEh0KEHRyYWZmaWNfcmVzcG9uc2UYECABKARIC4gBARIaCg10cmFmZmljX3RvdGFsGBEgASgESAyIAQESJAoXYWN0aXZpdHlfbWFya2VyX2NyZWF0ZWQYEiABKARIDYgBARI4CgZyZXN1bHQYEyABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25SZXN1bHQSGgoNZXJyb3JfbWVzc2FnZRgUIAEoCUgOiAEBEi4KCG1ldGFkYXRhGBUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgPiAEBEiwKBnVwZGF0ZRgWIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIEIgBARIYChBkYW1sX3RlbXBsYXRlX2lkGBcgASgJEhMKC2RhbWxfY2hvaWNlGBggASgJEjIKDGRhbWxfY2hvaWNlcxgZIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIEYgBAUIMCgpfdXBkYXRlX2lkQhAKDl9zdWJtaXNzaW9uX2lkQhkKF19zZXR0bGVtZW50X3Byb3Bvc2FsX2lkQgwKCl9tYXJrZXRfaWRCDwoNX2NvdW50ZXJwYXJ0eUIOCgxfY29udHJhY3RfaWRCDgoMX2Nob2ljZV9uYW1lQgkKB19hbW91bnRCEQoPX3Jld2FyZHNfYW1vdW50QhAKDl9yZXdhcmRzX3JvdW5kQhIKEF90cmFmZmljX3JlcXVlc3RCEwoRX3RyYWZmaWNfcmVzcG9uc2VCEAoOX3RyYWZmaWNfdG90YWxCGgoYX2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YUIJCgdfdXBkYXRlQg8KDV9kYW1sX2Nob2ljZXMiVQoZUmVjb3JkVHJhbnNhY3Rpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSFgoOdHJhbnNhY3Rpb25faWQYAyABKAQikQMKHEdldFRyYW5zYWN0aW9uSGlzdG9yeVJlcXVlc3QSMwoEYXV0aBgBIAEoCzIlLnNpbHZhbmEuc2V0dGxlbWVudC52MS5DYW50b25Ob2RlQXV0aBIZCgxzZW5kZXJfcGFydHkYAiABKAlIAIgBARI8Cgd0eF90eXBlGAMgASgOMiYuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlRyYW5zYWN0aW9uVHlwZUgBiAEBEiMKFnNldHRsZW1lbnRfcHJvcG9zYWxfaWQYBCABKAlIAogBARI9CgZyZXN1bHQYBSABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25SZXN1bHRIA4gBARISCgVsaW1pdBgGIAEoDUgEiAEBEhMKBm9mZnNldBgHIAEoDUgFiAEBQg8KDV9zZW5kZXJfcGFydHlCCgoIX3R4X3R5cGVCGQoXX3NldHRsZW1lbnRfcHJvcG9zYWxfaWRCCQoHX3Jlc3VsdEIICgZfbGltaXRCCQoHX29mZnNldCJ0Ch1HZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXNwb25zZRJECgx0cmFuc2FjdGlvbnMYASADKAsyLi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25IaXN0b3J5RW50cnkSDQoFdG90YWwYAiABKA0ivAkKF1RyYW5zYWN0aW9uSGlzdG9yeUVudHJ5EgoKAmlkGAEgASgEEjcKB3R4X3R5cGUYAiABKA4yJi5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25UeXBlEhQKDHNlbmRlcl9wYXJ0eRgDIAEoCRI2CgtzZW5kZXJfdHlwZRgEIAEoDjIhLnNpbHZhbmEuc2V0dGxlbWVudC52MS5TZW5kZXJUeXBlEhYKCXVwZGF0ZV9pZBgFIAEoCUgAiAEBEhoKDXN1Ym1pc3Npb25faWQYBiABKAlIAYgBARIjChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAcgASgJSAKIAQESFgoJbWFya2V0X2lkGAggASgJSAOIAQESGQoMY291bnRlcnBhcnR5GAkgASgJSASIAQESGAoLY29udHJhY3RfaWQYCiABKAlIBYgBARIYCgtjaG9pY2VfbmFtZRgLIAEoCUgGiAEBEhMKBmFtb3VudBgMIAEoCUgHiAEBEhsKDnJld2FyZHNfYW1vdW50GA0gASgJSAiIAQESGgoNcmV3YXJkc19yb3VuZBgOIAEoBEgJiAEBEhwKD3RyYWZmaWNfcmVxdWVzdBgPIAEoBEgKiAEBEh0KEHRyYWZmaWNfcmVzcG9uc2UYECABKARIC4gBARIaCg10cmFmZmljX3RvdGFsGBEgASgESAyIAQESJAoXYWN0aXZpdHlfbWFya2VyX2NyZWF0ZWQYEiABKARIDYgBARI4CgZyZXN1bHQYEyABKA4yKC5zaWx2YW5hLnNldHRsZW1lbnQudjEuVHJhbnNhY3Rpb25SZXN1bHQSGgoNZXJyb3JfbWVzc2FnZRgUIAEoCUgOiAEBEi4KCG1ldGFkYXRhGBUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgPiAEBEi4KCmNyZWF0ZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKBnVwZGF0ZRgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIEIgBARIYChBkYW1sX3RlbXBsYXRlX2lkGBggASgJEhMKC2RhbWxfY2hvaWNlGBkgASgJEjIKDGRhbWxfY2hvaWNlcxgaIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIEYgBAUIMCgpfdXBkYXRlX2lkQhAKDl9zdWJtaXNzaW9uX2lkQhkKF19zZXR0bGVtZW50X3Byb3Bvc2FsX2lkQgwKCl9tYXJrZXRfaWRCDwoNX2NvdW50ZXJwYXJ0eUIOCgxfY29udHJhY3RfaWRCDgoMX2Nob2ljZV9uYW1lQgkKB19hbW91bnRCEQoPX3Jld2FyZHNfYW1vdW50QhAKDl9yZXdhcmRzX3JvdW5kQhIKEF90cmFmZmljX3JlcXVlc3RCEwoRX3RyYWZmaWNfcmVzcG9uc2VCEAoOX3RyYWZmaWNfdG90YWxCGgoYX2FjdGl2aXR5X21hcmtlcl9jcmVhdGVkQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YUIJCgdfdXBkYXRlQg8KDV9kYW1sX2Nob2ljZXMqhQQKD1NldHRsZW1lbnRTdGFnZRIgChxTRVRUTEVNRU5UX1NUQUdFX1VOU1BFQ0lGSUVEEAASJgoiU0VUVExFTUVOVF9TVEFHRV9QUk9QT1NBTF9SRUNFSVZFRBABEiwKKFNFVFRMRU1FTlRfU1RBR0VfUFJFQ09ORklSTUFUSU9OX1BFTkRJTkcQAhIhCh1TRVRUTEVNRU5UX1NUQUdFX1BSRUNPTkZJUk1FRBADEioKJlNFVFRMRU1FTlRfU1RBR0VfRFZQX1BST1BPU0FMX0NSRUFUSU5HEAQSKQolU0VUVExFTUVOVF9TVEFHRV9EVlBfUFJPUE9TQUxfQ1JFQVRFRBAFEiIKHlNFVFRMRU1FTlRfU1RBR0VfRFZQX0FDQ0VQVElORxAGEiEKHVNFVFRMRU1FTlRfU1RBR0VfRFZQX0FDQ0VQVEVEEAcSHwobU0VUVExFTUVOVF9TVEFHRV9BTExPQ0FUSU5HEAgSHgoaU0VUVExFTUVOVF9TVEFHRV9BTExPQ0FURUQQCRIdChlTRVRUTEVNRU5UX1NUQUdFX1NFVFRMSU5HEAoSHAoYU0VUVExFTUVOVF9TVEFHRV9TRVRUTEVEEAsSGwoXU0VUVExFTUVOVF9TVEFHRV9GQUlMRUQQDBIeChpTRVRUTEVNRU5UX1NUQUdFX0NBTkNFTExFRBANKo0BChdQcmVjb25maXJtYXRpb25SZXNwb25zZRIoCiRQUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfVU5TUEVDSUZJRUQQABIjCh9QUkVDT05GSVJNQVRJT05fUkVTUE9OU0VfQUNDRVBUEAESIwofUFJFQ09ORklSTUFUSU9OX1JFU1BPTlNFX1JFSkVDVBACKm0KCVBhcnR5Um9sZRIaChZQQVJUWV9ST0xFX1VOU1BFQ0lGSUVEEAASFAoQUEFSVFlfUk9MRV9CVVlFUhABEhUKEVBBUlRZX1JPTEVfU0VMTEVSEAISFwoTUEFSVFlfUk9MRV9PUEVSQVRPUhADKvwDCg9UcmFuc2FjdGlvblR5cGUSIAocVFJBTlNBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEikKJVRSQU5TQUNUSU9OX1RZUEVfVVNFUl9TRVJWSUNFX1JFUVVFU1QQARIwCixUUkFOU0FDVElPTl9UWVBFX1VTRVJfU0VSVklDRV9SRVFVRVNUX0FDQ0VQVBACEigKJFRSQU5TQUNUSU9OX1RZUEVfVVNFUl9TRVJWSUNFX0NBTkNFTBADEiAKHFRSQU5TQUNUSU9OX1RZUEVfRFZQX1BST1BPU0UQBBIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9BQ0NFUFQQBRIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9DQU5DRUwQBhIfChtUUkFOU0FDVElPTl9UWVBFX0RWUF9TRVRUTEUQBxIdChlUUkFOU0FDVElPTl9UWVBFX0FMTE9DQVRFEAgSJAogVFJBTlNBQ1RJT05fVFlQRV9BTExPQ0FURV9DQU5DRUwQCRIhCh1UUkFOU0FDVElPTl9UWVBFX0ZFRV9UUkFOU0ZFUhAKEhoKFlRSQU5TQUNUSU9OX1RZUEVfTUVSR0UQCxIbChdUUkFOU0FDVElPTl9UWVBFX1VOTE9DSxAMEhoKFlRSQU5TQUNUSU9OX1RZUEVfT1RIRVIQDSqIAQoKU2VuZGVyVHlwZRIbChdTRU5ERVJfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFNFTkRFUl9UWVBFX09QRVJBVE9SEAESFAoQU0VOREVSX1RZUEVfVVNFUhACEhUKEVNFTkRFUl9UWVBFX0JVWUVSEAMSFgoSU0VOREVSX1RZUEVfU0VMTEVSEAQqlgEKEVRyYW5zYWN0aW9uUmVzdWx0EiIKHlRSQU5TQUNUSU9OX1JFU1VMVF9VTlNQRUNJRklFRBAAEh4KGlRSQU5TQUNUSU9OX1JFU1VMVF9QRU5ESU5HEAESHgoaVFJBTlNBQ1RJT05fUkVTVUxUX1NVQ0NFU1MQAhIdChlUUkFOU0FDVElPTl9SRVNVTFRfRkFJTEVEEAMy8wkKEVNldHRsZW1lbnRTZXJ2aWNlEnIKEFNldHRsZW1lbnRTdHJlYW0SLC5zaWx2YW5hLnNldHRsZW1lbnQudjEuQ2FudG9uVG9TZXJ2ZXJNZXNzYWdlGiwuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlNlcnZlclRvQ2FudG9uTWVzc2FnZSgBMAESfAoTR2V0UGVuZGluZ1Byb3Bvc2FscxIxLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRQZW5kaW5nUHJvcG9zYWxzUmVxdWVzdBoyLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRQZW5kaW5nUHJvcG9zYWxzUmVzcG9uc2USfAoTR2V0U2V0dGxlbWVudFN0YXR1cxIxLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRTZXR0bGVtZW50U3RhdHVzUmVxdWVzdBoyLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRTZXR0bGVtZW50U3RhdHVzUmVzcG9uc2USZAoVU3VibWl0UHJlY29uZmlybWF0aW9uEjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlN1Ym1pdFByZWNvbmZpcm1hdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSiwEKGFVwZGF0ZVNldHRsZW1lbnRQcm9wb3NhbBI2LnNpbHZhbmEuc2V0dGxlbWVudC52MS5VcGRhdGVTZXR0bGVtZW50UHJvcG9zYWxSZXF1ZXN0Gjcuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlVwZGF0ZVNldHRsZW1lbnRQcm9wb3NhbFJlc3BvbnNlEoIBChVTYXZlRGlzY2xvc2VkQ29udHJhY3QSMy5zaWx2YW5hLnNldHRsZW1lbnQudjEuU2F2ZURpc2Nsb3NlZENvbnRyYWN0UmVxdWVzdBo0LnNpbHZhbmEuc2V0dGxlbWVudC52MS5TYXZlRGlzY2xvc2VkQ29udHJhY3RSZXNwb25zZRKCAQoVR2V0RGlzY2xvc2VkQ29udHJhY3RzEjMuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldERpc2Nsb3NlZENvbnRyYWN0c1JlcXVlc3QaNC5zaWx2YW5hLnNldHRsZW1lbnQudjEuR2V0RGlzY2xvc2VkQ29udHJhY3RzUmVzcG9uc2UScwoQUmVjb3JkU2V0dGxlbWVudBIuLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRTZXR0bGVtZW50UmVxdWVzdBovLnNpbHZhbmEuc2V0dGxlbWVudC52MS5SZWNvcmRTZXR0bGVtZW50UmVzcG9uc2USdgoRUmVjb3JkVHJhbnNhY3Rpb24SLy5zaWx2YW5hLnNldHRsZW1lbnQudjEuUmVjb3JkVHJhbnNhY3Rpb25SZXF1ZXN0GjAuc2lsdmFuYS5zZXR0bGVtZW50LnYxLlJlY29yZFRyYW5zYWN0aW9uUmVzcG9uc2USggEKFUdldFRyYW5zYWN0aW9uSGlzdG9yeRIzLnNpbHZhbmEuc2V0dGxlbWVudC52MS5HZXRUcmFuc2FjdGlvbkhpc3RvcnlSZXF1ZXN0GjQuc2lsdmFuYS5zZXR0bGVtZW50LnYxLkdldFRyYW5zYWN0aW9uSGlzdG9yeVJlc3BvbnNlQjVaM2dpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87c2V0dGxlbWVudGIGcHJvdG8z", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
16
16
 
17
17
  /**
18
18
  * Canton node authentication (using Canton party JWT)
@@ -702,6 +702,74 @@ export type Heartbeat = Message<"silvana.settlement.v1.Heartbeat"> & {
702
702
  export const HeartbeatSchema: GenMessage<Heartbeat> = /*@__PURE__*/
703
703
  messageDesc(file_proto_silvana_settlement_v1_settlement, 12);
704
704
 
705
+ /**
706
+ * Liquidity provider ping message (Canton node to server)
707
+ * Sent periodically by settlement agents to indicate LP is active
708
+ *
709
+ * @generated from message silvana.settlement.v1.LiquidityProviderPing
710
+ */
711
+ export type LiquidityProviderPing = Message<"silvana.settlement.v1.LiquidityProviderPing"> & {
712
+ /**
713
+ * LP name to update activity for
714
+ *
715
+ * @generated from field: string liquidity_provider_name = 1;
716
+ */
717
+ liquidityProviderName: string;
718
+
719
+ /**
720
+ * @generated from field: google.protobuf.Timestamp timestamp = 2;
721
+ */
722
+ timestamp?: Timestamp;
723
+ };
724
+
725
+ /**
726
+ * Describes the message silvana.settlement.v1.LiquidityProviderPing.
727
+ * Use `create(LiquidityProviderPingSchema)` to create a new message.
728
+ */
729
+ export const LiquidityProviderPingSchema: GenMessage<LiquidityProviderPing> = /*@__PURE__*/
730
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 13);
731
+
732
+ /**
733
+ * Liquidity provider pong message (server to Canton node)
734
+ * Acknowledgment of ping receipt
735
+ *
736
+ * @generated from message silvana.settlement.v1.LiquidityProviderPong
737
+ */
738
+ export type LiquidityProviderPong = Message<"silvana.settlement.v1.LiquidityProviderPong"> & {
739
+ /**
740
+ * LP name that was updated
741
+ *
742
+ * @generated from field: string liquidity_provider_name = 1;
743
+ */
744
+ liquidityProviderName: string;
745
+
746
+ /**
747
+ * Whether the update succeeded
748
+ *
749
+ * @generated from field: bool success = 2;
750
+ */
751
+ success: boolean;
752
+
753
+ /**
754
+ * Error details if failed
755
+ *
756
+ * @generated from field: optional string error_message = 3;
757
+ */
758
+ errorMessage?: string;
759
+
760
+ /**
761
+ * @generated from field: google.protobuf.Timestamp server_time = 4;
762
+ */
763
+ serverTime?: Timestamp;
764
+ };
765
+
766
+ /**
767
+ * Describes the message silvana.settlement.v1.LiquidityProviderPong.
768
+ * Use `create(LiquidityProviderPongSchema)` to create a new message.
769
+ */
770
+ export const LiquidityProviderPongSchema: GenMessage<LiquidityProviderPong> = /*@__PURE__*/
771
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 14);
772
+
705
773
  /**
706
774
  * Stream message from server to Canton node
707
775
  *
@@ -781,6 +849,14 @@ export type ServerToCantonMessage = Message<"silvana.settlement.v1.ServerToCanto
781
849
  */
782
850
  value: SettlementQuery;
783
851
  case: "query";
852
+ } | {
853
+ /**
854
+ * Pong acknowledgment for LP activity ping
855
+ *
856
+ * @generated from field: silvana.settlement.v1.LiquidityProviderPong lp_pong = 14;
857
+ */
858
+ value: LiquidityProviderPong;
859
+ case: "lpPong";
784
860
  } | { case: undefined; value?: undefined };
785
861
 
786
862
  /**
@@ -794,7 +870,7 @@ export type ServerToCantonMessage = Message<"silvana.settlement.v1.ServerToCanto
794
870
  * Use `create(ServerToCantonMessageSchema)` to create a new message.
795
871
  */
796
872
  export const ServerToCantonMessageSchema: GenMessage<ServerToCantonMessage> = /*@__PURE__*/
797
- messageDesc(file_proto_silvana_settlement_v1_settlement, 13);
873
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 15);
798
874
 
799
875
  /**
800
876
  * Stream message from Canton node to server
@@ -875,6 +951,14 @@ export type CantonToServerMessage = Message<"silvana.settlement.v1.CantonToServe
875
951
  */
876
952
  value: StatusUpdate;
877
953
  case: "status";
954
+ } | {
955
+ /**
956
+ * Ping from settlement agent for LP activity
957
+ *
958
+ * @generated from field: silvana.settlement.v1.LiquidityProviderPing lp_ping = 14;
959
+ */
960
+ value: LiquidityProviderPing;
961
+ case: "lpPing";
878
962
  } | { case: undefined; value?: undefined };
879
963
 
880
964
  /**
@@ -888,7 +972,7 @@ export type CantonToServerMessage = Message<"silvana.settlement.v1.CantonToServe
888
972
  * Use `create(CantonToServerMessageSchema)` to create a new message.
889
973
  */
890
974
  export const CantonToServerMessageSchema: GenMessage<CantonToServerMessage> = /*@__PURE__*/
891
- messageDesc(file_proto_silvana_settlement_v1_settlement, 14);
975
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 16);
892
976
 
893
977
  /**
894
978
  * Report DVP proposal creation
@@ -939,7 +1023,7 @@ export type DvpCreationReport = Message<"silvana.settlement.v1.DvpCreationReport
939
1023
  * Use `create(DvpCreationReportSchema)` to create a new message.
940
1024
  */
941
1025
  export const DvpCreationReportSchema: GenMessage<DvpCreationReport> = /*@__PURE__*/
942
- messageDesc(file_proto_silvana_settlement_v1_settlement, 15);
1026
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 17);
943
1027
 
944
1028
  /**
945
1029
  * Report DVP acceptance
@@ -990,7 +1074,7 @@ export type DvpAcceptanceReport = Message<"silvana.settlement.v1.DvpAcceptanceRe
990
1074
  * Use `create(DvpAcceptanceReportSchema)` to create a new message.
991
1075
  */
992
1076
  export const DvpAcceptanceReportSchema: GenMessage<DvpAcceptanceReport> = /*@__PURE__*/
993
- messageDesc(file_proto_silvana_settlement_v1_settlement, 16);
1077
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 18);
994
1078
 
995
1079
  /**
996
1080
  * Report allocation completion
@@ -1053,7 +1137,7 @@ export type AllocationReport = Message<"silvana.settlement.v1.AllocationReport">
1053
1137
  * Use `create(AllocationReportSchema)` to create a new message.
1054
1138
  */
1055
1139
  export const AllocationReportSchema: GenMessage<AllocationReport> = /*@__PURE__*/
1056
- messageDesc(file_proto_silvana_settlement_v1_settlement, 17);
1140
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 19);
1057
1141
 
1058
1142
  /**
1059
1143
  * Report settlement completion
@@ -1116,7 +1200,7 @@ export type SettlementReport = Message<"silvana.settlement.v1.SettlementReport">
1116
1200
  * Use `create(SettlementReportSchema)` to create a new message.
1117
1201
  */
1118
1202
  export const SettlementReportSchema: GenMessage<SettlementReport> = /*@__PURE__*/
1119
- messageDesc(file_proto_silvana_settlement_v1_settlement, 18);
1203
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 20);
1120
1204
 
1121
1205
  /**
1122
1206
  * Error report
@@ -1167,7 +1251,7 @@ export type ErrorReport = Message<"silvana.settlement.v1.ErrorReport"> & {
1167
1251
  * Use `create(ErrorReportSchema)` to create a new message.
1168
1252
  */
1169
1253
  export const ErrorReportSchema: GenMessage<ErrorReport> = /*@__PURE__*/
1170
- messageDesc(file_proto_silvana_settlement_v1_settlement, 19);
1254
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 21);
1171
1255
 
1172
1256
  /**
1173
1257
  * Status update
@@ -1215,7 +1299,7 @@ export type StatusUpdate = Message<"silvana.settlement.v1.StatusUpdate"> & {
1215
1299
  * Use `create(StatusUpdateSchema)` to create a new message.
1216
1300
  */
1217
1301
  export const StatusUpdateSchema: GenMessage<StatusUpdate> = /*@__PURE__*/
1218
- messageDesc(file_proto_silvana_settlement_v1_settlement, 20);
1302
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 22);
1219
1303
 
1220
1304
  /**
1221
1305
  * Command to Canton node
@@ -1258,7 +1342,7 @@ export type SettlementCommand = Message<"silvana.settlement.v1.SettlementCommand
1258
1342
  * Use `create(SettlementCommandSchema)` to create a new message.
1259
1343
  */
1260
1344
  export const SettlementCommandSchema: GenMessage<SettlementCommand> = /*@__PURE__*/
1261
- messageDesc(file_proto_silvana_settlement_v1_settlement, 21);
1345
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 23);
1262
1346
 
1263
1347
  /**
1264
1348
  * @generated from enum silvana.settlement.v1.SettlementCommand.CommandType
@@ -1304,7 +1388,7 @@ export enum SettlementCommand_CommandType {
1304
1388
  * Describes the enum silvana.settlement.v1.SettlementCommand.CommandType.
1305
1389
  */
1306
1390
  export const SettlementCommand_CommandTypeSchema: GenEnum<SettlementCommand_CommandType> = /*@__PURE__*/
1307
- enumDesc(file_proto_silvana_settlement_v1_settlement, 21, 0);
1391
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 23, 0);
1308
1392
 
1309
1393
  /**
1310
1394
  * Query to Canton node
@@ -1343,7 +1427,7 @@ export type SettlementQuery = Message<"silvana.settlement.v1.SettlementQuery"> &
1343
1427
  * Use `create(SettlementQuerySchema)` to create a new message.
1344
1428
  */
1345
1429
  export const SettlementQuerySchema: GenMessage<SettlementQuery> = /*@__PURE__*/
1346
- messageDesc(file_proto_silvana_settlement_v1_settlement, 22);
1430
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 24);
1347
1431
 
1348
1432
  /**
1349
1433
  * @generated from enum silvana.settlement.v1.SettlementQuery.QueryType
@@ -1384,7 +1468,7 @@ export enum SettlementQuery_QueryType {
1384
1468
  * Describes the enum silvana.settlement.v1.SettlementQuery.QueryType.
1385
1469
  */
1386
1470
  export const SettlementQuery_QueryTypeSchema: GenEnum<SettlementQuery_QueryType> = /*@__PURE__*/
1387
- enumDesc(file_proto_silvana_settlement_v1_settlement, 22, 0);
1471
+ enumDesc(file_proto_silvana_settlement_v1_settlement, 24, 0);
1388
1472
 
1389
1473
  /**
1390
1474
  * Response to command or query
@@ -1418,7 +1502,7 @@ export type SettlementResponse = Message<"silvana.settlement.v1.SettlementRespon
1418
1502
  * Use `create(SettlementResponseSchema)` to create a new message.
1419
1503
  */
1420
1504
  export const SettlementResponseSchema: GenMessage<SettlementResponse> = /*@__PURE__*/
1421
- messageDesc(file_proto_silvana_settlement_v1_settlement, 23);
1505
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 25);
1422
1506
 
1423
1507
  /**
1424
1508
  * @generated from message silvana.settlement.v1.GetPendingProposalsRequest
@@ -1445,7 +1529,7 @@ export type GetPendingProposalsRequest = Message<"silvana.settlement.v1.GetPendi
1445
1529
  * Use `create(GetPendingProposalsRequestSchema)` to create a new message.
1446
1530
  */
1447
1531
  export const GetPendingProposalsRequestSchema: GenMessage<GetPendingProposalsRequest> = /*@__PURE__*/
1448
- messageDesc(file_proto_silvana_settlement_v1_settlement, 24);
1532
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 26);
1449
1533
 
1450
1534
  /**
1451
1535
  * @generated from message silvana.settlement.v1.GetPendingProposalsResponse
@@ -1467,7 +1551,7 @@ export type GetPendingProposalsResponse = Message<"silvana.settlement.v1.GetPend
1467
1551
  * Use `create(GetPendingProposalsResponseSchema)` to create a new message.
1468
1552
  */
1469
1553
  export const GetPendingProposalsResponseSchema: GenMessage<GetPendingProposalsResponse> = /*@__PURE__*/
1470
- messageDesc(file_proto_silvana_settlement_v1_settlement, 25);
1554
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 27);
1471
1555
 
1472
1556
  /**
1473
1557
  * @generated from message silvana.settlement.v1.GetSettlementStatusRequest
@@ -1489,7 +1573,7 @@ export type GetSettlementStatusRequest = Message<"silvana.settlement.v1.GetSettl
1489
1573
  * Use `create(GetSettlementStatusRequestSchema)` to create a new message.
1490
1574
  */
1491
1575
  export const GetSettlementStatusRequestSchema: GenMessage<GetSettlementStatusRequest> = /*@__PURE__*/
1492
- messageDesc(file_proto_silvana_settlement_v1_settlement, 26);
1576
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 28);
1493
1577
 
1494
1578
  /**
1495
1579
  * @generated from message silvana.settlement.v1.GetSettlementStatusResponse
@@ -1553,7 +1637,7 @@ export type GetSettlementStatusResponse = Message<"silvana.settlement.v1.GetSett
1553
1637
  * Use `create(GetSettlementStatusResponseSchema)` to create a new message.
1554
1638
  */
1555
1639
  export const GetSettlementStatusResponseSchema: GenMessage<GetSettlementStatusResponse> = /*@__PURE__*/
1556
- messageDesc(file_proto_silvana_settlement_v1_settlement, 27);
1640
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 29);
1557
1641
 
1558
1642
  /**
1559
1643
  * @generated from message silvana.settlement.v1.SubmitPreconfirmationRequest
@@ -1575,7 +1659,7 @@ export type SubmitPreconfirmationRequest = Message<"silvana.settlement.v1.Submit
1575
1659
  * Use `create(SubmitPreconfirmationRequestSchema)` to create a new message.
1576
1660
  */
1577
1661
  export const SubmitPreconfirmationRequestSchema: GenMessage<SubmitPreconfirmationRequest> = /*@__PURE__*/
1578
- messageDesc(file_proto_silvana_settlement_v1_settlement, 28);
1662
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 30);
1579
1663
 
1580
1664
  /**
1581
1665
  * Update settlement proposal request with optimistic locking
@@ -1689,6 +1773,34 @@ export type UpdateSettlementProposalRequest = Message<"silvana.settlement.v1.Upd
1689
1773
  * @generated from field: optional bool seller_fee_sent = 19;
1690
1774
  */
1691
1775
  sellerFeeSent?: boolean;
1776
+
1777
+ /**
1778
+ * Canton update ID for buyer fee transfer
1779
+ *
1780
+ * @generated from field: optional string buyer_fee_update_id = 20;
1781
+ */
1782
+ buyerFeeUpdateId?: string;
1783
+
1784
+ /**
1785
+ * Canton update ID for seller fee transfer
1786
+ *
1787
+ * @generated from field: optional string seller_fee_update_id = 21;
1788
+ */
1789
+ sellerFeeUpdateId?: string;
1790
+
1791
+ /**
1792
+ * When buyer fee was paid
1793
+ *
1794
+ * @generated from field: optional google.protobuf.Timestamp buyer_fee_paid_at = 22;
1795
+ */
1796
+ buyerFeePaidAt?: Timestamp;
1797
+
1798
+ /**
1799
+ * When seller fee was paid
1800
+ *
1801
+ * @generated from field: optional google.protobuf.Timestamp seller_fee_paid_at = 23;
1802
+ */
1803
+ sellerFeePaidAt?: Timestamp;
1692
1804
  };
1693
1805
 
1694
1806
  /**
@@ -1696,7 +1808,7 @@ export type UpdateSettlementProposalRequest = Message<"silvana.settlement.v1.Upd
1696
1808
  * Use `create(UpdateSettlementProposalRequestSchema)` to create a new message.
1697
1809
  */
1698
1810
  export const UpdateSettlementProposalRequestSchema: GenMessage<UpdateSettlementProposalRequest> = /*@__PURE__*/
1699
- messageDesc(file_proto_silvana_settlement_v1_settlement, 29);
1811
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 31);
1700
1812
 
1701
1813
  /**
1702
1814
  * @generated from message silvana.settlement.v1.UpdateSettlementProposalResponse
@@ -1730,7 +1842,7 @@ export type UpdateSettlementProposalResponse = Message<"silvana.settlement.v1.Up
1730
1842
  * Use `create(UpdateSettlementProposalResponseSchema)` to create a new message.
1731
1843
  */
1732
1844
  export const UpdateSettlementProposalResponseSchema: GenMessage<UpdateSettlementProposalResponse> = /*@__PURE__*/
1733
- messageDesc(file_proto_silvana_settlement_v1_settlement, 30);
1845
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 32);
1734
1846
 
1735
1847
  /**
1736
1848
  * A disclosed contract for settlement
@@ -1773,7 +1885,7 @@ export type DisclosedContractMessage = Message<"silvana.settlement.v1.DisclosedC
1773
1885
  * Use `create(DisclosedContractMessageSchema)` to create a new message.
1774
1886
  */
1775
1887
  export const DisclosedContractMessageSchema: GenMessage<DisclosedContractMessage> = /*@__PURE__*/
1776
- messageDesc(file_proto_silvana_settlement_v1_settlement, 31);
1888
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 33);
1777
1889
 
1778
1890
  /**
1779
1891
  * Save disclosed contract request (buyer/seller saves their contracts during allocation)
@@ -1804,7 +1916,7 @@ export type SaveDisclosedContractRequest = Message<"silvana.settlement.v1.SaveDi
1804
1916
  * Use `create(SaveDisclosedContractRequestSchema)` to create a new message.
1805
1917
  */
1806
1918
  export const SaveDisclosedContractRequestSchema: GenMessage<SaveDisclosedContractRequest> = /*@__PURE__*/
1807
- messageDesc(file_proto_silvana_settlement_v1_settlement, 32);
1919
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 34);
1808
1920
 
1809
1921
  /**
1810
1922
  * Save disclosed contract response
@@ -1828,7 +1940,7 @@ export type SaveDisclosedContractResponse = Message<"silvana.settlement.v1.SaveD
1828
1940
  * Use `create(SaveDisclosedContractResponseSchema)` to create a new message.
1829
1941
  */
1830
1942
  export const SaveDisclosedContractResponseSchema: GenMessage<SaveDisclosedContractResponse> = /*@__PURE__*/
1831
- messageDesc(file_proto_silvana_settlement_v1_settlement, 33);
1943
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 35);
1832
1944
 
1833
1945
  /**
1834
1946
  * Get disclosed contracts request
@@ -1861,7 +1973,7 @@ export type GetDisclosedContractsRequest = Message<"silvana.settlement.v1.GetDis
1861
1973
  * Use `create(GetDisclosedContractsRequestSchema)` to create a new message.
1862
1974
  */
1863
1975
  export const GetDisclosedContractsRequestSchema: GenMessage<GetDisclosedContractsRequest> = /*@__PURE__*/
1864
- messageDesc(file_proto_silvana_settlement_v1_settlement, 34);
1976
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 36);
1865
1977
 
1866
1978
  /**
1867
1979
  * Get disclosed contracts response
@@ -1880,7 +1992,7 @@ export type GetDisclosedContractsResponse = Message<"silvana.settlement.v1.GetDi
1880
1992
  * Use `create(GetDisclosedContractsResponseSchema)` to create a new message.
1881
1993
  */
1882
1994
  export const GetDisclosedContractsResponseSchema: GenMessage<GetDisclosedContractsResponse> = /*@__PURE__*/
1883
- messageDesc(file_proto_silvana_settlement_v1_settlement, 35);
1995
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 37);
1884
1996
 
1885
1997
  /**
1886
1998
  * Record a completed settlement request
@@ -1921,6 +2033,29 @@ export type RecordSettlementRequest = Message<"silvana.settlement.v1.RecordSettl
1921
2033
  * @generated from field: string settlement_completion_offset = 5;
1922
2034
  */
1923
2035
  settlementCompletionOffset: string;
2036
+
2037
+ /**
2038
+ * Optional fields to correct DB state (on-chain is source of truth)
2039
+ *
2040
+ * DVP contract ID (if missing in DB)
2041
+ *
2042
+ * @generated from field: optional string dvp_cid = 6;
2043
+ */
2044
+ dvpCid?: string;
2045
+
2046
+ /**
2047
+ * Buyer's allocation CID
2048
+ *
2049
+ * @generated from field: optional string allocation_buyer_cid = 7;
2050
+ */
2051
+ allocationBuyerCid?: string;
2052
+
2053
+ /**
2054
+ * Seller's allocation CID
2055
+ *
2056
+ * @generated from field: optional string allocation_seller_cid = 8;
2057
+ */
2058
+ allocationSellerCid?: string;
1924
2059
  };
1925
2060
 
1926
2061
  /**
@@ -1928,7 +2063,7 @@ export type RecordSettlementRequest = Message<"silvana.settlement.v1.RecordSettl
1928
2063
  * Use `create(RecordSettlementRequestSchema)` to create a new message.
1929
2064
  */
1930
2065
  export const RecordSettlementRequestSchema: GenMessage<RecordSettlementRequest> = /*@__PURE__*/
1931
- messageDesc(file_proto_silvana_settlement_v1_settlement, 36);
2066
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 38);
1932
2067
 
1933
2068
  /**
1934
2069
  * Record settlement response
@@ -1959,7 +2094,7 @@ export type RecordSettlementResponse = Message<"silvana.settlement.v1.RecordSett
1959
2094
  * Use `create(RecordSettlementResponseSchema)` to create a new message.
1960
2095
  */
1961
2096
  export const RecordSettlementResponseSchema: GenMessage<RecordSettlementResponse> = /*@__PURE__*/
1962
- messageDesc(file_proto_silvana_settlement_v1_settlement, 37);
2097
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 39);
1963
2098
 
1964
2099
  /**
1965
2100
  * Record a transaction in history
@@ -2083,6 +2218,36 @@ export type RecordTransactionRequest = Message<"silvana.settlement.v1.RecordTran
2083
2218
  * @generated from field: optional google.protobuf.Struct metadata = 21;
2084
2219
  */
2085
2220
  metadata?: JsonObject;
2221
+
2222
+ /**
2223
+ * Additional update data from Canton
2224
+ *
2225
+ * @generated from field: optional google.protobuf.Struct update = 22;
2226
+ */
2227
+ update?: JsonObject;
2228
+
2229
+ /**
2230
+ * Daml template and choice info
2231
+ *
2232
+ * Daml template ID (required)
2233
+ *
2234
+ * @generated from field: string daml_template_id = 23;
2235
+ */
2236
+ damlTemplateId: string;
2237
+
2238
+ /**
2239
+ * Daml choice name (required)
2240
+ *
2241
+ * @generated from field: string daml_choice = 24;
2242
+ */
2243
+ damlChoice: string;
2244
+
2245
+ /**
2246
+ * Additional choice data as JSON
2247
+ *
2248
+ * @generated from field: optional google.protobuf.Struct daml_choices = 25;
2249
+ */
2250
+ damlChoices?: JsonObject;
2086
2251
  };
2087
2252
 
2088
2253
  /**
@@ -2090,7 +2255,7 @@ export type RecordTransactionRequest = Message<"silvana.settlement.v1.RecordTran
2090
2255
  * Use `create(RecordTransactionRequestSchema)` to create a new message.
2091
2256
  */
2092
2257
  export const RecordTransactionRequestSchema: GenMessage<RecordTransactionRequest> = /*@__PURE__*/
2093
- messageDesc(file_proto_silvana_settlement_v1_settlement, 38);
2258
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 40);
2094
2259
 
2095
2260
  /**
2096
2261
  * @generated from message silvana.settlement.v1.RecordTransactionResponse
@@ -2119,7 +2284,7 @@ export type RecordTransactionResponse = Message<"silvana.settlement.v1.RecordTra
2119
2284
  * Use `create(RecordTransactionResponseSchema)` to create a new message.
2120
2285
  */
2121
2286
  export const RecordTransactionResponseSchema: GenMessage<RecordTransactionResponse> = /*@__PURE__*/
2122
- messageDesc(file_proto_silvana_settlement_v1_settlement, 39);
2287
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 41);
2123
2288
 
2124
2289
  /**
2125
2290
  * Get transaction history
@@ -2168,7 +2333,7 @@ export type GetTransactionHistoryRequest = Message<"silvana.settlement.v1.GetTra
2168
2333
  * Use `create(GetTransactionHistoryRequestSchema)` to create a new message.
2169
2334
  */
2170
2335
  export const GetTransactionHistoryRequestSchema: GenMessage<GetTransactionHistoryRequest> = /*@__PURE__*/
2171
- messageDesc(file_proto_silvana_settlement_v1_settlement, 40);
2336
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 42);
2172
2337
 
2173
2338
  /**
2174
2339
  * @generated from message silvana.settlement.v1.GetTransactionHistoryResponse
@@ -2190,7 +2355,7 @@ export type GetTransactionHistoryResponse = Message<"silvana.settlement.v1.GetTr
2190
2355
  * Use `create(GetTransactionHistoryResponseSchema)` to create a new message.
2191
2356
  */
2192
2357
  export const GetTransactionHistoryResponseSchema: GenMessage<GetTransactionHistoryResponse> = /*@__PURE__*/
2193
- messageDesc(file_proto_silvana_settlement_v1_settlement, 41);
2358
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 43);
2194
2359
 
2195
2360
  /**
2196
2361
  * @generated from message silvana.settlement.v1.TransactionHistoryEntry
@@ -2305,6 +2470,36 @@ export type TransactionHistoryEntry = Message<"silvana.settlement.v1.Transaction
2305
2470
  * @generated from field: google.protobuf.Timestamp created_at = 22;
2306
2471
  */
2307
2472
  createdAt?: Timestamp;
2473
+
2474
+ /**
2475
+ * Additional update data from Canton
2476
+ *
2477
+ * @generated from field: optional google.protobuf.Struct update = 23;
2478
+ */
2479
+ update?: JsonObject;
2480
+
2481
+ /**
2482
+ * Daml template and choice info
2483
+ *
2484
+ * Daml template ID
2485
+ *
2486
+ * @generated from field: string daml_template_id = 24;
2487
+ */
2488
+ damlTemplateId: string;
2489
+
2490
+ /**
2491
+ * Daml choice name
2492
+ *
2493
+ * @generated from field: string daml_choice = 25;
2494
+ */
2495
+ damlChoice: string;
2496
+
2497
+ /**
2498
+ * Additional choice data
2499
+ *
2500
+ * @generated from field: optional google.protobuf.Struct daml_choices = 26;
2501
+ */
2502
+ damlChoices?: JsonObject;
2308
2503
  };
2309
2504
 
2310
2505
  /**
@@ -2312,7 +2507,7 @@ export type TransactionHistoryEntry = Message<"silvana.settlement.v1.Transaction
2312
2507
  * Use `create(TransactionHistoryEntrySchema)` to create a new message.
2313
2508
  */
2314
2509
  export const TransactionHistoryEntrySchema: GenMessage<TransactionHistoryEntry> = /*@__PURE__*/
2315
- messageDesc(file_proto_silvana_settlement_v1_settlement, 42);
2510
+ messageDesc(file_proto_silvana_settlement_v1_settlement, 44);
2316
2511
 
2317
2512
  /**
2318
2513
  * DVP settlement stage enumeration
@@ -2528,6 +2723,11 @@ export enum TransactionType {
2528
2723
  * @generated from enum value: TRANSACTION_TYPE_UNLOCK = 12;
2529
2724
  */
2530
2725
  UNLOCK = 12,
2726
+
2727
+ /**
2728
+ * @generated from enum value: TRANSACTION_TYPE_OTHER = 13;
2729
+ */
2730
+ OTHER = 13,
2531
2731
  }
2532
2732
 
2533
2733
  /**
package/src/settlement.ts CHANGED
@@ -167,6 +167,10 @@ export class SettlementClient {
167
167
  metadata?: any;
168
168
  buyerFeeSent?: boolean;
169
169
  sellerFeeSent?: boolean;
170
+ buyerFeeUpdateId?: string;
171
+ sellerFeeUpdateId?: string;
172
+ buyerFeePaidAt?: { seconds: bigint; nanos: number };
173
+ sellerFeePaidAt?: { seconds: bigint; nanos: number };
170
174
  }): Promise<UpdateSettlementProposalResponse> {
171
175
  return await this.wrapCall(async () => {
172
176
  const request = create(UpdateSettlementProposalRequestSchema, params);
@@ -244,6 +248,10 @@ export class SettlementClient {
244
248
  activityMarkerCreated?: bigint;
245
249
  errorMessage?: string;
246
250
  metadata?: any;
251
+ update?: any;
252
+ damlTemplateId: string;
253
+ damlChoice: string;
254
+ damlChoices?: any;
247
255
  }): Promise<RecordTransactionResponse> {
248
256
  return await this.wrapCall(async () => {
249
257
  const request = create(RecordTransactionRequestSchema, params);