@silvana-one/orderbook 1.1.36 → 1.1.37

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/orderbook/v1/orderbook.proto.
13
13
  */
14
14
  export const file_proto_silvana_orderbook_v1_orderbook: GenFile = /*@__PURE__*/
15
- fileDesc("Cipwcm90by9zaWx2YW5hL29yZGVyYm9vay92MS9vcmRlcmJvb2sucHJvdG8SFHNpbHZhbmEub3JkZXJib29rLnYxIvoCCgpJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSFwoPaW5zdHJ1bWVudF90eXBlGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGc3ltYm9sGAQgASgJEhgKC2Rlc2NyaXB0aW9uGAUgASgJSACIAQESEwoGaXNzdWVyGAYgASgJSAGIAQESFQoIcmVnaXN0cnkYByABKAlIAogBARIuCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtuZXdzX3N5bWJvbBgLIAEoCUIOCgxfZGVzY3JpcHRpb25CCQoHX2lzc3VlckILCglfcmVnaXN0cnlCCwoJX21ldGFkYXRhItwFCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgJEjUKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZRIXCg9iYXNlX2luc3RydW1lbnQYAyABKAkSGAoQcXVvdGVfaW5zdHJ1bWVudBgEIAEoCRITCgtwYWlyX3N5bWJvbBgFIAEoCRIRCglpc19hY3RpdmUYBiABKAgSFgoObWluX29yZGVyX3NpemUYByABKAkSGwoObWF4X29yZGVyX3NpemUYCCABKAlIAIgBARIRCgl0aWNrX3NpemUYCSABKAkSEQoJbWFrZXJfZmVlGAogASgJEhEKCXRha2VyX2ZlZRgLIAEoCRIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCgtwcmljZV9mZWVkcxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIaCg1jdXJyZW50X3ByaWNlGBAgASgBSAOIAQESFwoKY2hhbmdlXzI0aBgRIAEoAUgEiAEBEhcKCnZvbHVtZV8yNGgYEiABKAFIBYgBARI5ChBwcmljZV91cGRhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBQhEKD19tYXhfb3JkZXJfc2l6ZUILCglfbWV0YWRhdGFCDgoMX3ByaWNlX2ZlZWRzQhAKDl9jdXJyZW50X3ByaWNlQg0KC19jaGFuZ2VfMjRoQg0KC192b2x1bWVfMjRoQhMKEV9wcmljZV91cGRhdGVkX2F0IsEHCgVPcmRlchIQCghvcmRlcl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKAkSMwoKb3JkZXJfdHlwZRgDIAEoDjIfLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVHlwZRIOCgZ0cmFkZXIYBCABKAkSHQoQdHJhZGVyX29yZGVyX3JlZhgFIAEoCUgAiAEBEhcKD2Jhc2VfaW5zdHJ1bWVudBgGIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAcgASgJEg0KBXByaWNlGAggASgJEhAKCHF1YW50aXR5GAkgASgJEhcKD2ZpbGxlZF9xdWFudGl0eRgKIAEoCRIYChBwZW5kaW5nX3F1YW50aXR5GAsgASgJEhoKEnJlbWFpbmluZ19xdWFudGl0eRgMIAEoCRIxCgZzdGF0dXMYDSABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1cxI4Cg10aW1lX2luX2ZvcmNlGA4gASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuVGltZUluRm9yY2USMwoKZXhwaXJlc19hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIPCgd2ZXJzaW9uGBAgASgEEjEKC2NyZWRlbnRpYWxzGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgTIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgxjYW5jZWxsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESFgoJc2lnbmF0dXJlGBcgASgJSAaIAQESEwoLc2lnbmVkX2RhdGEYGCABKAwSDQoFbm9uY2UYGSABKARCEwoRX3RyYWRlcl9vcmRlcl9yZWZCDQoLX2V4cGlyZXNfYXRCDgoMX2NyZWRlbnRpYWxzQg8KDV9yZXF1aXJlbWVudHNCCwoJX21ldGFkYXRhQg8KDV9jYW5jZWxsZWRfYXRCDAoKX3NpZ25hdHVyZSKCAQoOT3JkZXJib29rTGV2ZWwSDQoFcHJpY2UYASABKAkSFgoOdG90YWxfcXVhbnRpdHkYAiABKAkSEwoLb3JkZXJfY291bnQYAyABKA0SNAoQZmlyc3Rfb3JkZXJfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1QEKDk9yZGVyYm9va0RlcHRoEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIyCgRiaWRzGAMgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSNAoGb2ZmZXJzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSMQoNc25hcHNob3RfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiigYKElNldHRsZW1lbnRQcm9wb3NhbBITCgtwcm9wb3NhbF9pZBgBIAEoCRIRCgltYXJrZXRfaWQYAiABKAkSDQoFYnV5ZXIYAyABKAkSDgoGc2VsbGVyGAQgASgJEhcKD2Jhc2VfaW5zdHJ1bWVudBgFIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAYgASgJEhUKDWJhc2VfcXVhbnRpdHkYByABKAkSFgoOcXVvdGVfcXVhbnRpdHkYCCABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgJIAEoCRIgChhkdnBfcHJvY2Vzc2luZ19mZWVfYnV5ZXIYCiABKAkSIQoZZHZwX3Byb2Nlc3NpbmdfZmVlX3NlbGxlchgLIAEoCRInCh9hbGxvY2F0aW9uX3Byb2Nlc3NpbmdfZmVlX2J1eWVyGAwgASgJEigKIGFsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfc2VsbGVyGA0gASgJEjYKBnN0YXR1cxgOIAEoDjImLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRTdGF0dXMSGgoNZXJyb3JfbWVzc2FnZRgPIAEoCUgAiAEBEi4KCmNyZWF0ZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnNldHRsZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESNQoMY2FuY2VsbGVkX2F0GBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjIKCWZhaWxlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI1CgtvcmRlcl9tYXRjaBgUIAEoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyTWF0Y2hCEAoOX2Vycm9yX21lc3NhZ2VCDQoLX3NldHRsZWRfYXRCDwoNX2NhbmNlbGxlZF9hdEIMCgpfZmFpbGVkX2F0IrsBCgpPcmRlck1hdGNoEh4KFnNldHRsZW1lbnRfcHJvcG9zYWxfaWQYASABKAkSFAoMYmlkX29yZGVyX2lkGAIgASgEEhYKDm9mZmVyX29yZGVyX2lkGAMgASgEEhgKEG1hdGNoZWRfcXVhbnRpdHkYBCABKAkSFQoNbWF0Y2hlZF9wcmljZRgFIAEoCRIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKcBAoKU2V0dGxlbWVudBIVCg1zZXR0bGVtZW50X2lkGAEgASgEEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRINCgVidXllchgEIAEoCRIOCgZzZWxsZXIYBSABKAkSFwoPYmFzZV9pbnN0cnVtZW50GAYgASgJEhgKEHF1b3RlX2luc3RydW1lbnQYByABKAkSFQoNYmFzZV9xdWFudGl0eRgIIAEoCRIWCg5xdW90ZV9xdWFudGl0eRgJIAEoCRIYChBzZXR0bGVtZW50X3ByaWNlGAogASgJEiAKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgLIAEoCRIhChlkdnBfcHJvY2Vzc2luZ19mZWVfc2VsbGVyGAwgASgJEicKH2FsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDSABKAkSKAogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYDiABKAkSHAoPc2V0dGxlZF9kdnBfY2lkGA8gASgJSACIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYECABKAlIAYgBARIuCgpzZXR0bGVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZCKVAgoKTWFya2V0RGF0YRIRCgltYXJrZXRfaWQYASABKAkSEwoLcGFpcl9zeW1ib2wYAiABKAkSFQoIYmVzdF9iaWQYAyABKAlIAIgBARIXCgpiZXN0X29mZmVyGAQgASgJSAGIAQESFwoKbGFzdF9wcmljZRgFIAEoCUgCiAEBEhIKCnZvbHVtZV8yNGgYBiABKAkSEgoKdHJhZGVzXzI0aBgHIAEoDRITCgtvcGVuX29yZGVycxgIIAEoDRIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEILCglfYmVzdF9iaWRCDQoLX2Jlc3Rfb2ZmZXJCDQoLX2xhc3RfcHJpY2Ui+gIKEEdldE9yZGVyc1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQESNgoGc3RhdHVzGAMgASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJTdGF0dXNIAYgBARI4CgpvcmRlcl90eXBlGAQgASgOMh8uc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJUeXBlSAKIAQESEgoFbGltaXQYBSABKA1IA4gBARITCgZvZmZzZXQYBiABKA1IBIgBARIuCiFsaXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMYCyABKA1IBYgBARIgChhsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZXMYDCADKAlCDAoKX21hcmtldF9pZEIJCgdfc3RhdHVzQg0KC19vcmRlcl90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0QiQKIl9saXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMicQoRR2V0T3JkZXJzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBm9yZGVycxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEg0KBXRvdGFsGAQgASgNIksKGEdldE9yZGVyYm9va0RlcHRoUmVxdWVzdBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBAUIICgZfZGVwdGgidgoZR2V0T3JkZXJib29rRGVwdGhSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSNwoJb3JkZXJib29rGAMgASgLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rRGVwdGgiywEKHUdldFNldHRsZW1lbnRQcm9wb3NhbHNSZXF1ZXN0EhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEjsKBnN0YXR1cxgDIAEoDjImLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRTdGF0dXNIAYgBARISCgVsaW1pdBgEIAEoDUgCiAEBEhMKBm9mZnNldBgFIAEoDUgDiAEBQgwKCl9tYXJrZXRfaWRCCQoHX3N0YXR1c0IICgZfbGltaXRCCQoHX29mZnNldCKOAQoeR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI7Cglwcm9wb3NhbHMYAyADKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSDQoFdG90YWwYBCABKA0iMwocR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgCIAEoCSKPAQodR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEj8KCHByb3Bvc2FsGAMgASgLMiguc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFByb3Bvc2FsSACIAQFCCwoJX3Byb3Bvc2FsIocBChVHZXRJbnN0cnVtZW50c1JlcXVlc3QSHAoPaW5zdHJ1bWVudF90eXBlGAIgASgJSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBAUISChBfaW5zdHJ1bWVudF90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0IoABChZHZXRJbnN0cnVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtpbnN0cnVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLkluc3RydW1lbnQSDQoFdG90YWwYBCABKA0irQIKEUdldE1hcmtldHNSZXF1ZXN0EjoKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZUgAiAEBEhwKD2Jhc2VfaW5zdHJ1bWVudBgDIAEoCUgBiAEBEh0KEHF1b3RlX2luc3RydW1lbnQYBCABKAlIAogBARIYCgthY3RpdmVfb25seRgFIAEoCEgDiAEBEhIKBWxpbWl0GAYgASgNSASIAQESEwoGb2Zmc2V0GAcgASgNSAWIAQFCDgoMX21hcmtldF90eXBlQhIKEF9iYXNlX2luc3RydW1lbnRCEwoRX3F1b3RlX2luc3RydW1lbnRCDgoMX2FjdGl2ZV9vbmx5QggKBl9saW1pdEIJCgdfb2Zmc2V0InQKEkdldE1hcmtldHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLQoHbWFya2V0cxgDIAMoCzIcLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldBINCgV0b3RhbBgEIAEoDSL8AQoWR2V0T3JkZXJIaXN0b3J5UmVxdWVzdBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARIyCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMAoHdG9fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBQgwKCl9tYXJrZXRfaWRCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCJ3ChdHZXRPcmRlckhpc3RvcnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKwoGb3JkZXJzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXISDQoFdG90YWwYBCABKA0iKgoUR2V0TWFya2V0RGF0YVJlcXVlc3QSEgoKbWFya2V0X2lkcxgCIAMoCSJwChVHZXRNYXJrZXREYXRhUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjUKC21hcmtldF9kYXRhGAMgAygLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0RGF0YSL7AQoVR2V0U2V0dGxlbWVudHNSZXF1ZXN0EhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEjIKCWZyb21fdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIwCgd0b190aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhIKBWxpbWl0GAUgASgNSAOIAQESEwoGb2Zmc2V0GAYgASgNSASIAQFCDAoKX21hcmtldF9pZEIMCgpfZnJvbV90aW1lQgoKCF90b190aW1lQggKBl9saW1pdEIJCgdfb2Zmc2V0IoABChZHZXRTZXR0bGVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtzZXR0bGVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnQSDQoFdG90YWwYBCABKA0iTAoZU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBAUIICgZfZGVwdGgihwMKD09yZGVyYm9va1VwZGF0ZRIRCgltYXJrZXRfaWQYASABKAkSRQoLdXBkYXRlX3R5cGUYAiABKA4yMC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tVcGRhdGUuVXBkYXRlVHlwZRI5CgtiaWRfdXBkYXRlcxgDIAMoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va0xldmVsEjsKDW9mZmVyX3VwZGF0ZXMYBCADKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tMZXZlbBItCgl0aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3NlcXVlbmNlX251bWJlchgGIAEoBCJaCgpVcGRhdGVUeXBlEhsKF1VQREFURV9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUVVBEQVRFX1RZUEVfU05BUFNIT1QQARIVChFVUERBVEVfVFlQRV9ERUxUQRACIj4KFlN1YnNjcmliZU9yZGVyc1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQFCDAoKX21hcmtldF9pZCKtAwoLT3JkZXJVcGRhdGUSPwoKZXZlbnRfdHlwZRgBIAEoDjIrLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVXBkYXRlLkV2ZW50VHlwZRIqCgVvcmRlchgCIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEjQKBW1hdGNoGAMgASgLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJNYXRjaEgAiAEBEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwQEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSRVZFTlRfVFlQRV9DUkVBVEVEEAESFgoSRVZFTlRfVFlQRV9VUERBVEVEEAISFQoRRVZFTlRfVFlQRV9GSUxMRUQQAxIfChtFVkVOVF9UWVBFX1BBUlRJQUxMWV9GSUxMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFEhYKEkVWRU5UX1RZUEVfRVhQSVJFRBAGQggKBl9tYXRjaCJDChtTdWJzY3JpYmVTZXR0bGVtZW50c1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQFCDAoKX21hcmtldF9pZCL2AgoQU2V0dGxlbWVudFVwZGF0ZRJECgpldmVudF90eXBlGAEgASgOMjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFVwZGF0ZS5FdmVudFR5cGUSOgoIcHJvcG9zYWwYAiABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSLQoJdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKwAQoJRXZlbnRUeXBlEhoKFkVWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIfChtFVkVOVF9UWVBFX1BST1BPU0FMX0NSRUFURUQQARIdChlFVkVOVF9UWVBFX1NUQVRVU19DSEFOR0VEEAISFgoSRVZFTlRfVFlQRV9TRVRUTEVEEAMSFQoRRVZFTlRfVFlQRV9GQUlMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFIr4EChJTdWJtaXRPcmRlclJlcXVlc3QSEQoJbWFya2V0X2lkGAIgASgJEjMKCm9yZGVyX3R5cGUYAyABKA4yHy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclR5cGUSDQoFcHJpY2UYBCABKAkSEAoIcXVhbnRpdHkYBSABKAkSOAoNdGltZV9pbl9mb3JjZRgGIAEoDjIhLnNpbHZhbmEub3JkZXJib29rLnYxLlRpbWVJbkZvcmNlEjMKCmV4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESHQoQdHJhZGVyX29yZGVyX3JlZhgIIAEoCUgBiAEBEjEKC2NyZWRlbnRpYWxzGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIWCglzaWduYXR1cmUYDCABKAlIBYgBARITCgtzaWduZWRfZGF0YRgNIAEoDBINCgVub25jZRgOIAEoBEINCgtfZXhwaXJlc19hdEITChFfdHJhZGVyX29yZGVyX3JlZkIOCgxfY3JlZGVudGlhbHNCDwoNX3JlcXVpcmVtZW50c0ILCglfbWV0YWRhdGFCDAoKX3NpZ25hdHVyZSJyChNTdWJtaXRPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIiYKEkNhbmNlbE9yZGVyUmVxdWVzdBIQCghvcmRlcl9pZBgCIAEoBCJyChNDYW5jZWxPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIskFChJDcmVhdGVQYXJ0eVJlcXVlc3QSEAoIcGFydHlfaWQYAiABKAkSEgoKcGFydHlfbmFtZRgDIAEoCRISCgpwYXJ0eV90eXBlGAQgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAGIAQESLgoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAggASgJSAOIAQESKgoJdXNlcl9kYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgVlbWFpbBgKIAEoCUgEiAEBEhcKCnB1YmxpY19rZXkYCyABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgMIAEoCUgGiAEBEhMKBnNvdXJjZRgNIAEoCUgHiAEBEiIKFWVuY3J5cHRlZF9wcml2YXRlX2tleRgOIAEoCUgIiAEBEiQKF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGBAgASgJSAmIAQESKwoebGlxdWlkaXR5X3Byb3ZpZGVyX2Rlc2NyaXB0aW9uGBEgASgJSAqIAQFCEwoRX3VzZXJfc2VydmljZV9jaWRCFgoUX29wZXJhdG9yX2NvbmZpZ19jaWRCCwoJX21ldGFkYXRhQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhgKFl9lbmNyeXB0ZWRfcHJpdmF0ZV9rZXlCGgoYX2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lQiEKH19saXF1aWRpdHlfcHJvdmlkZXJfZGVzY3JpcHRpb24iYwoTQ3JlYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSKSBQoSVXBkYXRlUGFydHlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAyABKAQSFwoKcGFydHlfbmFtZRgEIAEoCUgAiAEBEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAYgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAcgASgJSAOIAQESLwoJdXNlcl9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEhoKDWNoYW5nZV9yZWFzb24YCiABKAlIBogBARISCgVlbWFpbBgLIAEoCUgHiAEBEhcKCnB1YmxpY19rZXkYDCABKAlICIgBARIYCgtpbnZpdGVfY29kZRgNIAEoCUgJiAEBEhMKBnNvdXJjZRgOIAEoCUgKiAEBEiIKFWVuY3J5cHRlZF9wcml2YXRlX2tleRgPIAEoCUgLiAEBQg0KC19wYXJ0eV9uYW1lQhMKEV91c2VyX3NlcnZpY2VfY2lkQhYKFF9vcGVyYXRvcl9jb25maWdfY2lkQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCDAoKX3VzZXJfZGF0YUILCglfbWV0YWRhdGFCEAoOX2NoYW5nZV9yZWFzb25CCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhgKFl9lbmNyeXB0ZWRfcHJpdmF0ZV9rZXkiYwoTVXBkYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSJbChZEZWFjdGl2YXRlUGFydHlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAyABKAQSFQoNY2hhbmdlX3JlYXNvbhgEIAEoCSJnChdEZWFjdGl2YXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSJoChZHZXRQYXJ0eUhpc3RvcnlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhIKBWxpbWl0GAMgASgNSACIAQESEwoGb2Zmc2V0GAQgASgNSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQigQIKEVBhcnR5SGlzdG9yeUVudHJ5EhIKCmhpc3RvcnlfaWQYASABKAQSEAoIcGFydHlfaWQYAiABKAkSDgoGYWN0aW9uGAMgASgJEhIKCmNoYW5nZWRfYnkYBCABKAkSGgoNY2hhbmdlX3JlYXNvbhgFIAEoCUgAiAEBEg8KB3ZlcnNpb24YBiABKAQSMwoOcGFydHlfc25hcHNob3QYByABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fY2hhbmdlX3JlYXNvbiKEAQoXR2V0UGFydHlIaXN0b3J5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjgKB2hpc3RvcnkYAyADKAsyJy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eUhpc3RvcnlFbnRyeRINCgV0b3RhbBgEIAEoDSIjCg9HZXRQYXJ0eVJlcXVlc3QSEAoIcGFydHlfaWQYAiABKAkiYAoQR2V0UGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSKjAQoRR2V0UGFydGllc1JlcXVlc3QSFwoKcGFydHlfdHlwZRgCIAEoCUgAiAEBEhgKC2FjdGl2ZV9vbmx5GAMgASgISAGIAQESEgoFbGltaXQYBCABKA1IAogBARITCgZvZmZzZXQYBSABKA1IA4gBAUINCgtfcGFydHlfdHlwZUIOCgxfYWN0aXZlX29ubHlCCAoGX2xpbWl0QgkKB19vZmZzZXQicwoSR2V0UGFydGllc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgdwYXJ0aWVzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuUGFydHkSDQoFdG90YWwYBCABKA0iigUKBVBhcnR5EhAKCHBhcnR5X2lkGAEgASgJEhIKCnBhcnR5X25hbWUYAiABKAkSEgoKcGFydHlfdHlwZRgDIAEoCRIdChB1c2VyX3NlcnZpY2VfY2lkGAQgASgJSACIAQESIAoTb3BlcmF0b3JfY29uZmlnX2NpZBgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlChh1c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWQYCiABKAlIA4gBARIqCgl1c2VyX2RhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB3ZlcnNpb24YDCABKAQSEgoFZW1haWwYDSABKAlIBIgBARIXCgpwdWJsaWNfa2V5GA4gASgJSAWIAQESGAoLaW52aXRlX2NvZGUYDyABKAlIBogBARIOCgZzb3VyY2UYECABKAkSGAoLcGFydGljaXBhbnQYESABKAlIB4gBAUITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEILCglfbWV0YWRhdGFCGwoZX3VzZXJfc2VydmljZV9yZXF1ZXN0X2NpZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCDgoMX2ludml0ZV9jb2RlQg4KDF9wYXJ0aWNpcGFudCKNAgoRTGlxdWlkaXR5UHJvdmlkZXISDAoEbmFtZRgBIAEoCRIQCghwYXJ0eV9pZBgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjkKEGxhc3RfYWN0aXZlX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQhMKEV9sYXN0X2FjdGl2ZV90aW1lIowBChxHZXRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0EhsKDmFjdGl2ZV9zZWNvbmRzGAIgASgNSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBAUIRCg9fYWN0aXZlX3NlY29uZHNCCAoGX2xpbWl0QgkKB19vZmZzZXQilgEKHUdldExpcXVpZGl0eVByb3ZpZGVyc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRJEChNsaXF1aWRpdHlfcHJvdmlkZXJzGAMgAygLMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuTGlxdWlkaXR5UHJvdmlkZXISDQoFdG90YWwYBCABKA0ilwQKEFdhaXRpbmdMaXN0RW50cnkSCgoCaWQYASABKAQSFQoIcGFydHlfaWQYAiABKAlIAIgBARIqCgl1c2VyX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgEIAEoCRISCgVlbWFpbBgFIAEoCUgBiAEBEhcKCnB1YmxpY19rZXkYBiABKAlIAogBARIZChFvbmJvYXJkaW5nX3N0YXR1cxgHIAEoCRIPCgd2ZXJzaW9uGAggASgEEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCW11bHRpaGFzaBgMIAEoCUgEiAEBEiAKE211bHRpaGFzaF9zaWduYXR1cmUYDSABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgOIAEoCUgGiAEBQgsKCV9wYXJ0eV9pZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCCwoJX21ldGFkYXRhQgwKCl9tdWx0aWhhc2hCFgoUX211bHRpaGFzaF9zaWduYXR1cmVCDgoMX2ludml0ZV9jb2RlItsBChpBZGRXYWl0aW5nTGlzdEVudHJ5UmVxdWVzdBIqCgl1c2VyX2RhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgDIAEoCRISCgVlbWFpbBgEIAEoCUgAiAEBEhcKCnB1YmxpY19rZXkYBSABKAlIAYgBARIuCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCCwoJX21ldGFkYXRhIksKG0FkZFdhaXRpbmdMaXN0RW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSCgoCaWQYAyABKAQisQMKBVJvdW5kEhQKDHJvdW5kX251bWJlchgBIAEoBBI0Cidpc3N1YW5jZV9wZXJfZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAiABKAlIAIgBARI2Cilpc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbhgDIAEoCUgBiAEBEhgKC2NjX3VzZF9yYXRlGAQgASgJSAKIAQESJAoXdHJhZmZpY19jb3N0X3VzZF9wZXJfbWIYBSABKAlIA4gBARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIqCihfaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uQiwKKl9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIOCgxfY2NfdXNkX3JhdGVCGgoYX3RyYWZmaWNfY29zdF91c2RfcGVyX21iIqwFChJMYXRlc3RDb2VmZmljaWVudHMSNAonaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uGAEgASgJSACIAQESOgotaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uX3JvdW5kGAIgASgESAGIAQESNgopaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAyABKAlIAogBARI8Ci9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbl9yb3VuZBgEIAEoBEgDiAEBEhgKC2NjX3VzZF9yYXRlGAUgASgJSASIAQESHgoRY2NfdXNkX3JhdGVfcm91bmQYBiABKARIBYgBARIkChd0cmFmZmljX2Nvc3RfdXNkX3Blcl9tYhgHIAEoCUgGiAEBEioKHXRyYWZmaWNfY29zdF91c2RfcGVyX21iX3JvdW5kGAggASgESAeIAQFCKgooX2lzc3VhbmNlX3Blcl9mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIwCi5faXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uX3JvdW5kQiwKKl9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIyCjBfaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb25fcm91bmRCDgoMX2NjX3VzZF9yYXRlQhQKEl9jY191c2RfcmF0ZV9yb3VuZEIaChhfdHJhZmZpY19jb3N0X3VzZF9wZXJfbWJCIAoeX3RyYWZmaWNfY29zdF91c2RfcGVyX21iX3JvdW5kIjQKFEdldFJvdW5kc0RhdGFSZXF1ZXN0EhIKBWxpbWl0GAIgASgNSACIAQFCCAoGX2xpbWl0IrYBChVHZXRSb3VuZHNEYXRhUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBnJvdW5kcxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLlJvdW5kEjgKBmxhdGVzdBgEIAEoCzIoLnNpbHZhbmEub3JkZXJib29rLnYxLkxhdGVzdENvZWZmaWNpZW50cxIUCgx0b3RhbF9yb3VuZHMYBSABKA0i7wIKBkludml0ZRITCgtpbnZpdGVfY29kZRgBIAEoCRIPCgdjaGFubmVsGAIgASgJEhQKB3Jld2FyZHMYAyABKAlIAIgBARIuCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIyCgZzdGF0dXMYBSABKA4yIi5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVTdGF0dXMSEgoKY291bnRfdXNlZBgGIAEoDRIWCgltYXhfY291bnQYByABKA1IAogBARISCgpjcmVhdGVkX2J5GAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9yZXdhcmRzQgsKCV9tZXRhZGF0YUIMCgpfbWF4X2NvdW50IicKEEdldEludml0ZVJlcXVlc3QSEwoLaW52aXRlX2NvZGUYASABKAkiYAoRR2V0SW52aXRlUmVzcG9uc2USDQoFZm91bmQYASABKAgSMQoGaW52aXRlGAIgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuSW52aXRlSACIAQFCCQoHX2ludml0ZSJLChBVc2VJbnZpdGVSZXF1ZXN0EhMKC2ludml0ZV9jb2RlGAEgASgJEhUKCHBhcnR5X2lkGAIgASgJSACIAQFCCwoJX3BhcnR5X2lkInMKEVVzZUludml0ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIxCgZpbnZpdGUYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVIAIgBAUIJCgdfaW52aXRlIqcCChdDcmVhdGVJbnN0cnVtZW50UmVxdWVzdBIVCg1pbnN0cnVtZW50X2lkGAIgASgJEhcKD2luc3RydW1lbnRfdHlwZRgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBnN5bWJvbBgFIAEoCRIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhMKBmlzc3VlchgHIAEoCUgBiAEBEhUKCHJlZ2lzdHJ5GAggASgJSAKIAQESLgoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESEwoLbmV3c19zeW1ib2wYCiABKAlCDgoMX2Rlc2NyaXB0aW9uQgkKB19pc3N1ZXJCCwoJX3JlZ2lzdHJ5QgsKCV9tZXRhZGF0YSJyChhDcmVhdGVJbnN0cnVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjQKCmluc3RydW1lbnQYAyABKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnN0cnVtZW50IsYDChNDcmVhdGVNYXJrZXRSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRI1CgttYXJrZXRfdHlwZRgDIAEoDjIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldFR5cGUSHAoPYmFzZV9pbnN0cnVtZW50GAQgASgJSACIAQESHQoQcXVvdGVfaW5zdHJ1bWVudBgFIAEoCUgBiAEBEhYKDm1pbl9vcmRlcl9zaXplGAYgASgJEhsKDm1heF9vcmRlcl9zaXplGAcgASgJSAKIAQESEQoJdGlja19zaXplGAggASgJEhEKCW1ha2VyX2ZlZRgJIAEoCRIRCgl0YWtlcl9mZWUYCiABKAkSLgoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESMQoLcHJpY2VfZmVlZHMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCEgoQX2Jhc2VfaW5zdHJ1bWVudEITChFfcXVvdGVfaW5zdHJ1bWVudEIRCg9fbWF4X29yZGVyX3NpemVCCwoJX21ldGFkYXRhQg4KDF9wcmljZV9mZWVkcyJmChRDcmVhdGVNYXJrZXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLAoGbWFya2V0GAMgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0ImAKHVVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRIsCgtwcmljZV9mZWVkcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QicAoeVXBkYXRlTWFya2V0UHJpY2VGZWVkc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgZtYXJrZXQYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQijAEKFFJlcXVlc3RRdW90ZXNSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRIRCglkaXJlY3Rpb24YAyABKAkSEAoIcXVhbnRpdHkYBCABKAkSEAoIbHBfbmFtZXMYBSADKAkSGQoMdGltZW91dF9zZWNzGAYgASgNSACIAQFCDwoNX3RpbWVvdXRfc2VjcyLkAQoVUmVxdWVzdFF1b3Rlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIOCgZyZnFfaWQYAyABKAkSMgoGcXVvdGVzGAQgAygLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxUXVvdGVJbmZvEjcKCnJlamVjdGlvbnMYBSADKAsyIy5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFSZWplY3RJbmZvEhUKDWxwc19yZXF1ZXN0ZWQYBiABKA0SFQoNbHBzX3Jlc3BvbmRlZBgHIAEoDSKPAgoMUmZxUXVvdGVJbmZvEhAKCHF1b3RlX2lkGAEgASgJEg8KB2xwX25hbWUYAiABKAkSDQoFcHJpY2UYAyABKAkSEAoIcXVhbnRpdHkYBCABKAkSFgoOcXVvdGVfcXVhbnRpdHkYBSABKAkSLwoLdmFsaWRfdW50aWwYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiEKFGFsbG9jYXRlX2JlZm9yZV9zZWNzGAcgASgNSACIAQESHwoSc2V0dGxlX2JlZm9yZV9zZWNzGAggASgNSAGIAQFCFwoVX2FsbG9jYXRlX2JlZm9yZV9zZWNzQhUKE19zZXR0bGVfYmVmb3JlX3NlY3MiiAEKDVJmcVJlamVjdEluZm8SDwoHbHBfbmFtZRgBIAEoCRIOCgZyZWFzb24YAiABKAkSGQoMbWluX3F1YW50aXR5GAMgASgJSACIAQESGQoMbWF4X3F1YW50aXR5GAQgASgJSAGIAQFCDwoNX21pbl9xdWFudGl0eUIPCg1fbWF4X3F1YW50aXR5IjYKEkFjY2VwdFF1b3RlUmVxdWVzdBIOCgZyZnFfaWQYAiABKAkSEAoIcXVvdGVfaWQYAyABKAkiYQoTQWNjZXB0UXVvdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSGAoLcHJvcG9zYWxfaWQYAyABKAlIAIgBAUIOCgxfcHJvcG9zYWxfaWQiTQolR2V0Q29ubmVjdGVkTGlxdWlkaXR5UHJvdmlkZXJzUmVxdWVzdBIWCgltYXJrZXRfaWQYAiABKAlIAIgBAUIMCgpfbWFya2V0X2lkIo4BCiZHZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSQgoTbGlxdWlkaXR5X3Byb3ZpZGVycxgDIAMoCzIlLnNpbHZhbmEub3JkZXJib29rLnYxLkNvbm5lY3RlZExwSW5mbyJOCg9Db25uZWN0ZWRMcEluZm8SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIYChBjb25uZWN0ZWRfYWdlbnRzGAMgASgNIpUEChBSZnFBdWRpdExvZ0VudHJ5EgoKAmlkGAEgASgEEg4KBnJmcV9pZBgCIAEoCRI7CgpldmVudF90eXBlGAMgASgOMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxQXVkaXRFdmVudFR5cGUSEQoJbWFya2V0X2lkGAQgASgJEhEKCWRpcmVjdGlvbhgFIAEoCRIYChByZXF1ZXN0aW5nX3BhcnR5GAYgASgJEhQKB2xwX25hbWUYByABKAlIAIgBARIYCgtscF9wYXJ0eV9pZBgIIAEoCUgBiAEBEhUKCHF1YW50aXR5GAkgASgJSAKIAQESEgoFcHJpY2UYCiABKAlIA4gBARIbCg5xdW90ZV9xdWFudGl0eRgLIAEoCUgEiAEBEhUKCHF1b3RlX2lkGAwgASgJSAWIAQESGAoLcHJvcG9zYWxfaWQYDSABKAlIBogBARIaCg1lcnJvcl9tZXNzYWdlGA4gASgJSAeIAQESLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2xwX25hbWVCDgoMX2xwX3BhcnR5X2lkQgsKCV9xdWFudGl0eUIICgZfcHJpY2VCEQoPX3F1b3RlX3F1YW50aXR5QgsKCV9xdW90ZV9pZEIOCgxfcHJvcG9zYWxfaWRCEAoOX2Vycm9yX21lc3NhZ2UijgMKFUdldFJmcUF1ZGl0TG9nUmVxdWVzdBITCgZyZnFfaWQYASABKAlIAIgBARIWCgltYXJrZXRfaWQYAiABKAlIAYgBARJACgpldmVudF90eXBlGAMgASgOMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxQXVkaXRFdmVudFR5cGVIAogBARIUCgdscF9uYW1lGAQgASgJSAOIAQESMgoJZnJvbV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEjAKB3RvX3RpbWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESEgoFbGltaXQYByABKA1IBogBARITCgZvZmZzZXQYCCABKA1IB4gBAUIJCgdfcmZxX2lkQgwKCl9tYXJrZXRfaWRCDQoLX2V2ZW50X3R5cGVCCgoIX2xwX25hbWVCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCJgChZHZXRSZnFBdWRpdExvZ1Jlc3BvbnNlEjcKB2VudHJpZXMYASADKAsyJi5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFBdWRpdExvZ0VudHJ5Eg0KBXRvdGFsGAIgASgNIvwBCg5SZnFTdHJlYW1FdmVudBI9Cglpbml0aWF0ZWQYASABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFTdHJlYW1Jbml0aWF0ZWRIABIzCgVxdW90ZRgCIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVF1b3RlSW5mb0gAEjgKCXJlamVjdGlvbhgDIAEoCzIjLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVJlamVjdEluZm9IABIzCgRkb25lGAQgASgLMiMuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxU3RyZWFtRG9uZUgAQgcKBWV2ZW50IjsKElJmcVN0cmVhbUluaXRpYXRlZBIOCgZyZnFfaWQYASABKAkSFQoNbHBzX3JlcXVlc3RlZBgCIAEoDSI9Cg1SZnFTdHJlYW1Eb25lEhUKDWxwc19yZXF1ZXN0ZWQYASABKA0SFQoNbHBzX3Jlc3BvbmRlZBgCIAEoDSpRCglPcmRlclR5cGUSGgoWT1JERVJfVFlQRV9VTlNQRUNJRklFRBAAEhIKDk9SREVSX1RZUEVfQklEEAESFAoQT1JERVJfVFlQRV9PRkZFUhACKq0BCgtPcmRlclN0YXR1cxIcChhPUkRFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNPUkRFUl9TVEFUVVNfQUNUSVZFEAESGAoUT1JERVJfU1RBVFVTX1BBUlRJQUwQAhIXChNPUkRFUl9TVEFUVVNfRklMTEVEEAMSGgoWT1JERVJfU1RBVFVTX0NBTkNFTExFRBAEEhgKFE9SREVSX1NUQVRVU19FWFBJUkVEEAUqiAEKC1RpbWVJbkZvcmNlEh0KGVRJTUVfSU5fRk9SQ0VfVU5TUEVDSUZJRUQQABIVChFUSU1FX0lOX0ZPUkNFX0dUQxABEhUKEVRJTUVfSU5fRk9SQ0VfSU9DEAISFQoRVElNRV9JTl9GT1JDRV9GT0sQAxIVChFUSU1FX0lOX0ZPUkNFX0dURBAEKrIBChBTZXR0bGVtZW50U3RhdHVzEiEKHVNFVFRMRU1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZU0VUVExFTUVOVF9TVEFUVVNfUEVORElORxABEh0KGVNFVFRMRU1FTlRfU1RBVFVTX1NFVFRMRUQQAhIfChtTRVRUTEVNRU5UX1NUQVRVU19DQU5DRUxMRUQQAxIcChhTRVRUTEVNRU5UX1NUQVRVU19GQUlMRUQQBCp2CgpNYXJrZXRUeXBlEhsKF01BUktFVF9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTTUFSS0VUX1RZUEVfR0VORVJBTBABEh0KGU1BUktFVF9UWVBFX0lOU1RJVFVUSU9OQUwQAhITCg9NQVJLRVRfVFlQRV9PVEMQAyqWAQoMSW52aXRlU3RhdHVzEh0KGUlOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNJTlZJVEVfU1RBVFVTX1ZBTElEEAESGQoVSU5WSVRFX1NUQVRVU19FWFBJUkVEEAISFgoSSU5WSVRFX1NUQVRVU19VU0VEEAMSGwoXSU5WSVRFX1NUQVRVU19DQU5DRUxMRUQQBCreAQoRUmZxQXVkaXRFdmVudFR5cGUSJAogUkZRX0FVRElUX0VWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIgChxSRlFfQVVESVRfRVZFTlRfVFlQRV9SRVFVRVNUEAESHgoaUkZRX0FVRElUX0VWRU5UX1RZUEVfUVVPVEUQAhIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9SRUpFQ1QQAxIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9BQ0NFUFQQBBIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9FWFBJUkUQBTLEHAoQT3JkZXJib29rU2VydmljZRJcCglHZXRPcmRlcnMSJi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcnNSZXF1ZXN0Gicuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJzUmVzcG9uc2USdAoRR2V0T3JkZXJib29rRGVwdGgSLi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlcXVlc3QaLy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEoMBChZHZXRTZXR0bGVtZW50UHJvcG9zYWxzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxzUmVzcG9uc2USgAEKFUdldFNldHRsZW1lbnRQcm9wb3NhbBIyLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QaMy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRJrCg5HZXRJbnN0cnVtZW50cxIrLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEluc3RydW1lbnRzUmVxdWVzdBosLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEluc3RydW1lbnRzUmVzcG9uc2USXwoKR2V0TWFya2V0cxInLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldHNSZXF1ZXN0Giguc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0c1Jlc3BvbnNlEm4KD0dldE9yZGVySGlzdG9yeRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVySGlzdG9yeVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlckhpc3RvcnlSZXNwb25zZRJoCg1HZXRNYXJrZXREYXRhEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0RGF0YVJlcXVlc3QaKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXREYXRhUmVzcG9uc2USawoOR2V0U2V0dGxlbWVudHMSKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50c1JlcXVlc3QaLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50c1Jlc3BvbnNlEmIKC1N1Ym1pdE9yZGVyEiguc2lsdmFuYS5vcmRlcmJvb2sudjEuU3VibWl0T3JkZXJSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuU3VibWl0T3JkZXJSZXNwb25zZRJiCgtDYW5jZWxPcmRlchIoLnNpbHZhbmEub3JkZXJib29rLnYxLkNhbmNlbE9yZGVyUmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLkNhbmNlbE9yZGVyUmVzcG9uc2USWQoIR2V0UGFydHkSJS5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eVJlcXVlc3QaJi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eVJlc3BvbnNlEl8KCkdldFBhcnRpZXMSJy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0aWVzUmVxdWVzdBooLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnRpZXNSZXNwb25zZRKAAQoVR2V0TGlxdWlkaXR5UHJvdmlkZXJzEjIuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TGlxdWlkaXR5UHJvdmlkZXJzUmVxdWVzdBozLnNpbHZhbmEub3JkZXJib29rLnYxLkdldExpcXVpZGl0eVByb3ZpZGVyc1Jlc3BvbnNlEpsBCh5HZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnMSOy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0Gjwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0Q29ubmVjdGVkTGlxdWlkaXR5UHJvdmlkZXJzUmVzcG9uc2USaAoNUmVxdWVzdFF1b3RlcxIqLnNpbHZhbmEub3JkZXJib29rLnYxLlJlcXVlc3RRdW90ZXNSZXF1ZXN0Gisuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmVxdWVzdFF1b3Rlc1Jlc3BvbnNlEmIKC0FjY2VwdFF1b3RlEiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQWNjZXB0UXVvdGVSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQWNjZXB0UXVvdGVSZXNwb25zZRJrCg5HZXRSZnFBdWRpdExvZxIrLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFJmcUF1ZGl0TG9nUmVxdWVzdBosLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFJmcUF1ZGl0TG9nUmVzcG9uc2USegoTQWRkV2FpdGluZ0xpc3RFbnRyeRIwLnNpbHZhbmEub3JkZXJib29rLnYxLkFkZFdhaXRpbmdMaXN0RW50cnlSZXF1ZXN0GjEuc2lsdmFuYS5vcmRlcmJvb2sudjEuQWRkV2FpdGluZ0xpc3RFbnRyeVJlc3BvbnNlElwKCUdldEludml0ZRImLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEludml0ZVJlcXVlc3QaJy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRJbnZpdGVSZXNwb25zZRJcCglVc2VJbnZpdGUSJi5zaWx2YW5hLm9yZGVyYm9vay52MS5Vc2VJbnZpdGVSZXF1ZXN0Gicuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXNlSW52aXRlUmVzcG9uc2USaAoNR2V0Um91bmRzRGF0YRIqLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFJvdW5kc0RhdGFSZXF1ZXN0Gisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0Um91bmRzRGF0YVJlc3BvbnNlEmIKC0NyZWF0ZVBhcnR5Eiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlUGFydHlSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlUGFydHlSZXNwb25zZRJiCgtVcGRhdGVQYXJ0eRIoLnNpbHZhbmEub3JkZXJib29rLnYxLlVwZGF0ZVBhcnR5UmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLlVwZGF0ZVBhcnR5UmVzcG9uc2USbgoPRGVhY3RpdmF0ZVBhcnR5Eiwuc2lsdmFuYS5vcmRlcmJvb2sudjEuRGVhY3RpdmF0ZVBhcnR5UmVxdWVzdBotLnNpbHZhbmEub3JkZXJib29rLnYxLkRlYWN0aXZhdGVQYXJ0eVJlc3BvbnNlEm4KD0dldFBhcnR5SGlzdG9yeRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5SGlzdG9yeVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eUhpc3RvcnlSZXNwb25zZRJxChBDcmVhdGVJbnN0cnVtZW50Ei0uc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlSW5zdHJ1bWVudFJlcXVlc3QaLi5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVJbnN0cnVtZW50UmVzcG9uc2USZQoMQ3JlYXRlTWFya2V0Eikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlTWFya2V0UmVxdWVzdBoqLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZU1hcmtldFJlc3BvbnNlEoMBChZVcGRhdGVNYXJrZXRQcmljZUZlZWRzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXBkYXRlTWFya2V0UHJpY2VGZWVkc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVNYXJrZXRQcmljZUZlZWRzUmVzcG9uc2USbgoSU3Vic2NyaWJlT3JkZXJib29rEi8uc2lsdmFuYS5vcmRlcmJvb2sudjEuU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBolLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va1VwZGF0ZTABEmQKD1N1YnNjcmliZU9yZGVycxIsLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZU9yZGVyc1JlcXVlc3QaIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclVwZGF0ZTABEnMKFFN1YnNjcmliZVNldHRsZW1lbnRzEjEuc2lsdmFuYS5vcmRlcmJvb2sudjEuU3Vic2NyaWJlU2V0dGxlbWVudHNSZXF1ZXN0GiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFVwZGF0ZTABEmkKE1N0cmVhbVJlcXVlc3RRdW90ZXMSKi5zaWx2YW5hLm9yZGVyYm9vay52MS5SZXF1ZXN0UXVvdGVzUmVxdWVzdBokLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVN0cmVhbUV2ZW50MAFCNFoyZ2l0aHViLmNvbS9TaWx2YW5hT25lL2NhbnRvbi1hZ2VudC9wcm90bztvcmRlcmJvb2tiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
15
+ fileDesc("Cipwcm90by9zaWx2YW5hL29yZGVyYm9vay92MS9vcmRlcmJvb2sucHJvdG8SFHNpbHZhbmEub3JkZXJib29rLnYxIvoCCgpJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSFwoPaW5zdHJ1bWVudF90eXBlGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGc3ltYm9sGAQgASgJEhgKC2Rlc2NyaXB0aW9uGAUgASgJSACIAQESEwoGaXNzdWVyGAYgASgJSAGIAQESFQoIcmVnaXN0cnkYByABKAlIAogBARIuCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtuZXdzX3N5bWJvbBgLIAEoCUIOCgxfZGVzY3JpcHRpb25CCQoHX2lzc3VlckILCglfcmVnaXN0cnlCCwoJX21ldGFkYXRhItwFCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgJEjUKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZRIXCg9iYXNlX2luc3RydW1lbnQYAyABKAkSGAoQcXVvdGVfaW5zdHJ1bWVudBgEIAEoCRITCgtwYWlyX3N5bWJvbBgFIAEoCRIRCglpc19hY3RpdmUYBiABKAgSFgoObWluX29yZGVyX3NpemUYByABKAkSGwoObWF4X29yZGVyX3NpemUYCCABKAlIAIgBARIRCgl0aWNrX3NpemUYCSABKAkSEQoJbWFrZXJfZmVlGAogASgJEhEKCXRha2VyX2ZlZRgLIAEoCRIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCgtwcmljZV9mZWVkcxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIaCg1jdXJyZW50X3ByaWNlGBAgASgBSAOIAQESFwoKY2hhbmdlXzI0aBgRIAEoAUgEiAEBEhcKCnZvbHVtZV8yNGgYEiABKAFIBYgBARI5ChBwcmljZV91cGRhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBQhEKD19tYXhfb3JkZXJfc2l6ZUILCglfbWV0YWRhdGFCDgoMX3ByaWNlX2ZlZWRzQhAKDl9jdXJyZW50X3ByaWNlQg0KC19jaGFuZ2VfMjRoQg0KC192b2x1bWVfMjRoQhMKEV9wcmljZV91cGRhdGVkX2F0IsEHCgVPcmRlchIQCghvcmRlcl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKAkSMwoKb3JkZXJfdHlwZRgDIAEoDjIfLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVHlwZRIOCgZ0cmFkZXIYBCABKAkSHQoQdHJhZGVyX29yZGVyX3JlZhgFIAEoCUgAiAEBEhcKD2Jhc2VfaW5zdHJ1bWVudBgGIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAcgASgJEg0KBXByaWNlGAggASgJEhAKCHF1YW50aXR5GAkgASgJEhcKD2ZpbGxlZF9xdWFudGl0eRgKIAEoCRIYChBwZW5kaW5nX3F1YW50aXR5GAsgASgJEhoKEnJlbWFpbmluZ19xdWFudGl0eRgMIAEoCRIxCgZzdGF0dXMYDSABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1cxI4Cg10aW1lX2luX2ZvcmNlGA4gASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuVGltZUluRm9yY2USMwoKZXhwaXJlc19hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIPCgd2ZXJzaW9uGBAgASgEEjEKC2NyZWRlbnRpYWxzGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgTIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgxjYW5jZWxsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESFgoJc2lnbmF0dXJlGBcgASgJSAaIAQESEwoLc2lnbmVkX2RhdGEYGCABKAwSDQoFbm9uY2UYGSABKARCEwoRX3RyYWRlcl9vcmRlcl9yZWZCDQoLX2V4cGlyZXNfYXRCDgoMX2NyZWRlbnRpYWxzQg8KDV9yZXF1aXJlbWVudHNCCwoJX21ldGFkYXRhQg8KDV9jYW5jZWxsZWRfYXRCDAoKX3NpZ25hdHVyZSKCAQoOT3JkZXJib29rTGV2ZWwSDQoFcHJpY2UYASABKAkSFgoOdG90YWxfcXVhbnRpdHkYAiABKAkSEwoLb3JkZXJfY291bnQYAyABKA0SNAoQZmlyc3Rfb3JkZXJfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1QEKDk9yZGVyYm9va0RlcHRoEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIyCgRiaWRzGAMgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSNAoGb2ZmZXJzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSMQoNc25hcHNob3RfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiigYKElNldHRsZW1lbnRQcm9wb3NhbBITCgtwcm9wb3NhbF9pZBgBIAEoCRIRCgltYXJrZXRfaWQYAiABKAkSDQoFYnV5ZXIYAyABKAkSDgoGc2VsbGVyGAQgASgJEhcKD2Jhc2VfaW5zdHJ1bWVudBgFIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAYgASgJEhUKDWJhc2VfcXVhbnRpdHkYByABKAkSFgoOcXVvdGVfcXVhbnRpdHkYCCABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgJIAEoCRIgChhkdnBfcHJvY2Vzc2luZ19mZWVfYnV5ZXIYCiABKAkSIQoZZHZwX3Byb2Nlc3NpbmdfZmVlX3NlbGxlchgLIAEoCRInCh9hbGxvY2F0aW9uX3Byb2Nlc3NpbmdfZmVlX2J1eWVyGAwgASgJEigKIGFsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfc2VsbGVyGA0gASgJEjYKBnN0YXR1cxgOIAEoDjImLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRTdGF0dXMSGgoNZXJyb3JfbWVzc2FnZRgPIAEoCUgAiAEBEi4KCmNyZWF0ZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnNldHRsZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESNQoMY2FuY2VsbGVkX2F0GBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjIKCWZhaWxlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI1CgtvcmRlcl9tYXRjaBgUIAEoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyTWF0Y2hCEAoOX2Vycm9yX21lc3NhZ2VCDQoLX3NldHRsZWRfYXRCDwoNX2NhbmNlbGxlZF9hdEIMCgpfZmFpbGVkX2F0IrsBCgpPcmRlck1hdGNoEh4KFnNldHRsZW1lbnRfcHJvcG9zYWxfaWQYASABKAkSFAoMYmlkX29yZGVyX2lkGAIgASgEEhYKDm9mZmVyX29yZGVyX2lkGAMgASgEEhgKEG1hdGNoZWRfcXVhbnRpdHkYBCABKAkSFQoNbWF0Y2hlZF9wcmljZRgFIAEoCRIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKcBAoKU2V0dGxlbWVudBIVCg1zZXR0bGVtZW50X2lkGAEgASgEEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRINCgVidXllchgEIAEoCRIOCgZzZWxsZXIYBSABKAkSFwoPYmFzZV9pbnN0cnVtZW50GAYgASgJEhgKEHF1b3RlX2luc3RydW1lbnQYByABKAkSFQoNYmFzZV9xdWFudGl0eRgIIAEoCRIWCg5xdW90ZV9xdWFudGl0eRgJIAEoCRIYChBzZXR0bGVtZW50X3ByaWNlGAogASgJEiAKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgLIAEoCRIhChlkdnBfcHJvY2Vzc2luZ19mZWVfc2VsbGVyGAwgASgJEicKH2FsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDSABKAkSKAogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYDiABKAkSHAoPc2V0dGxlZF9kdnBfY2lkGA8gASgJSACIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYECABKAlIAYgBARIuCgpzZXR0bGVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZCKVAgoKTWFya2V0RGF0YRIRCgltYXJrZXRfaWQYASABKAkSEwoLcGFpcl9zeW1ib2wYAiABKAkSFQoIYmVzdF9iaWQYAyABKAlIAIgBARIXCgpiZXN0X29mZmVyGAQgASgJSAGIAQESFwoKbGFzdF9wcmljZRgFIAEoCUgCiAEBEhIKCnZvbHVtZV8yNGgYBiABKAkSEgoKdHJhZGVzXzI0aBgHIAEoDRITCgtvcGVuX29yZGVycxgIIAEoDRIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEILCglfYmVzdF9iaWRCDQoLX2Jlc3Rfb2ZmZXJCDQoLX2xhc3RfcHJpY2Ui+gIKEEdldE9yZGVyc1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQESNgoGc3RhdHVzGAMgASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJTdGF0dXNIAYgBARI4CgpvcmRlcl90eXBlGAQgASgOMh8uc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJUeXBlSAKIAQESEgoFbGltaXQYBSABKA1IA4gBARITCgZvZmZzZXQYBiABKA1IBIgBARIuCiFsaXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMYCyABKA1IBYgBARIgChhsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZXMYDCADKAlCDAoKX21hcmtldF9pZEIJCgdfc3RhdHVzQg0KC19vcmRlcl90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0QiQKIl9saXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMicQoRR2V0T3JkZXJzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBm9yZGVycxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEg0KBXRvdGFsGAQgASgNIksKGEdldE9yZGVyYm9va0RlcHRoUmVxdWVzdBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBAUIICgZfZGVwdGgidgoZR2V0T3JkZXJib29rRGVwdGhSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSNwoJb3JkZXJib29rGAMgASgLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rRGVwdGgiywEKHUdldFNldHRsZW1lbnRQcm9wb3NhbHNSZXF1ZXN0EhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEjsKBnN0YXR1cxgDIAEoDjImLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRTdGF0dXNIAYgBARISCgVsaW1pdBgEIAEoDUgCiAEBEhMKBm9mZnNldBgFIAEoDUgDiAEBQgwKCl9tYXJrZXRfaWRCCQoHX3N0YXR1c0IICgZfbGltaXRCCQoHX29mZnNldCKOAQoeR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI7Cglwcm9wb3NhbHMYAyADKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSDQoFdG90YWwYBCABKA0iMwocR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgCIAEoCSKPAQodR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEj8KCHByb3Bvc2FsGAMgASgLMiguc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFByb3Bvc2FsSACIAQFCCwoJX3Byb3Bvc2FsIocBChVHZXRJbnN0cnVtZW50c1JlcXVlc3QSHAoPaW5zdHJ1bWVudF90eXBlGAIgASgJSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBAUISChBfaW5zdHJ1bWVudF90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0IoABChZHZXRJbnN0cnVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtpbnN0cnVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLkluc3RydW1lbnQSDQoFdG90YWwYBCABKA0irQIKEUdldE1hcmtldHNSZXF1ZXN0EjoKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZUgAiAEBEhwKD2Jhc2VfaW5zdHJ1bWVudBgDIAEoCUgBiAEBEh0KEHF1b3RlX2luc3RydW1lbnQYBCABKAlIAogBARIYCgthY3RpdmVfb25seRgFIAEoCEgDiAEBEhIKBWxpbWl0GAYgASgNSASIAQESEwoGb2Zmc2V0GAcgASgNSAWIAQFCDgoMX21hcmtldF90eXBlQhIKEF9iYXNlX2luc3RydW1lbnRCEwoRX3F1b3RlX2luc3RydW1lbnRCDgoMX2FjdGl2ZV9vbmx5QggKBl9saW1pdEIJCgdfb2Zmc2V0InQKEkdldE1hcmtldHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLQoHbWFya2V0cxgDIAMoCzIcLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldBINCgV0b3RhbBgEIAEoDSL8AQoWR2V0T3JkZXJIaXN0b3J5UmVxdWVzdBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARIyCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMAoHdG9fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBQgwKCl9tYXJrZXRfaWRCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCJ3ChdHZXRPcmRlckhpc3RvcnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKwoGb3JkZXJzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXISDQoFdG90YWwYBCABKA0iKgoUR2V0TWFya2V0RGF0YVJlcXVlc3QSEgoKbWFya2V0X2lkcxgCIAMoCSJwChVHZXRNYXJrZXREYXRhUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjUKC21hcmtldF9kYXRhGAMgAygLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0RGF0YSL7AQoVR2V0U2V0dGxlbWVudHNSZXF1ZXN0EhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEjIKCWZyb21fdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIwCgd0b190aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhIKBWxpbWl0GAUgASgNSAOIAQESEwoGb2Zmc2V0GAYgASgNSASIAQFCDAoKX21hcmtldF9pZEIMCgpfZnJvbV90aW1lQgoKCF90b190aW1lQggKBl9saW1pdEIJCgdfb2Zmc2V0IoABChZHZXRTZXR0bGVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtzZXR0bGVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnQSDQoFdG90YWwYBCABKA0iTAoZU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBAUIICgZfZGVwdGgihwMKD09yZGVyYm9va1VwZGF0ZRIRCgltYXJrZXRfaWQYASABKAkSRQoLdXBkYXRlX3R5cGUYAiABKA4yMC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tVcGRhdGUuVXBkYXRlVHlwZRI5CgtiaWRfdXBkYXRlcxgDIAMoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va0xldmVsEjsKDW9mZmVyX3VwZGF0ZXMYBCADKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tMZXZlbBItCgl0aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3NlcXVlbmNlX251bWJlchgGIAEoBCJaCgpVcGRhdGVUeXBlEhsKF1VQREFURV9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUVVBEQVRFX1RZUEVfU05BUFNIT1QQARIVChFVUERBVEVfVFlQRV9ERUxUQRACIj4KFlN1YnNjcmliZU9yZGVyc1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQFCDAoKX21hcmtldF9pZCKtAwoLT3JkZXJVcGRhdGUSPwoKZXZlbnRfdHlwZRgBIAEoDjIrLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVXBkYXRlLkV2ZW50VHlwZRIqCgVvcmRlchgCIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEjQKBW1hdGNoGAMgASgLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJNYXRjaEgAiAEBEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwQEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSRVZFTlRfVFlQRV9DUkVBVEVEEAESFgoSRVZFTlRfVFlQRV9VUERBVEVEEAISFQoRRVZFTlRfVFlQRV9GSUxMRUQQAxIfChtFVkVOVF9UWVBFX1BBUlRJQUxMWV9GSUxMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFEhYKEkVWRU5UX1RZUEVfRVhQSVJFRBAGQggKBl9tYXRjaCJDChtTdWJzY3JpYmVTZXR0bGVtZW50c1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQFCDAoKX21hcmtldF9pZCL2AgoQU2V0dGxlbWVudFVwZGF0ZRJECgpldmVudF90eXBlGAEgASgOMjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFVwZGF0ZS5FdmVudFR5cGUSOgoIcHJvcG9zYWwYAiABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSLQoJdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKwAQoJRXZlbnRUeXBlEhoKFkVWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIfChtFVkVOVF9UWVBFX1BST1BPU0FMX0NSRUFURUQQARIdChlFVkVOVF9UWVBFX1NUQVRVU19DSEFOR0VEEAISFgoSRVZFTlRfVFlQRV9TRVRUTEVEEAMSFQoRRVZFTlRfVFlQRV9GQUlMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFIr4EChJTdWJtaXRPcmRlclJlcXVlc3QSEQoJbWFya2V0X2lkGAIgASgJEjMKCm9yZGVyX3R5cGUYAyABKA4yHy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclR5cGUSDQoFcHJpY2UYBCABKAkSEAoIcXVhbnRpdHkYBSABKAkSOAoNdGltZV9pbl9mb3JjZRgGIAEoDjIhLnNpbHZhbmEub3JkZXJib29rLnYxLlRpbWVJbkZvcmNlEjMKCmV4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESHQoQdHJhZGVyX29yZGVyX3JlZhgIIAEoCUgBiAEBEjEKC2NyZWRlbnRpYWxzGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIWCglzaWduYXR1cmUYDCABKAlIBYgBARITCgtzaWduZWRfZGF0YRgNIAEoDBINCgVub25jZRgOIAEoBEINCgtfZXhwaXJlc19hdEITChFfdHJhZGVyX29yZGVyX3JlZkIOCgxfY3JlZGVudGlhbHNCDwoNX3JlcXVpcmVtZW50c0ILCglfbWV0YWRhdGFCDAoKX3NpZ25hdHVyZSJyChNTdWJtaXRPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIiYKEkNhbmNlbE9yZGVyUmVxdWVzdBIQCghvcmRlcl9pZBgCIAEoBCJyChNDYW5jZWxPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIskFChJDcmVhdGVQYXJ0eVJlcXVlc3QSEAoIcGFydHlfaWQYAiABKAkSEgoKcGFydHlfbmFtZRgDIAEoCRISCgpwYXJ0eV90eXBlGAQgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAGIAQESLgoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAggASgJSAOIAQESKgoJdXNlcl9kYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgVlbWFpbBgKIAEoCUgEiAEBEhcKCnB1YmxpY19rZXkYCyABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgMIAEoCUgGiAEBEhMKBnNvdXJjZRgNIAEoCUgHiAEBEiIKFWVuY3J5cHRlZF9wcml2YXRlX2tleRgOIAEoCUgIiAEBEiQKF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGBAgASgJSAmIAQESKwoebGlxdWlkaXR5X3Byb3ZpZGVyX2Rlc2NyaXB0aW9uGBEgASgJSAqIAQFCEwoRX3VzZXJfc2VydmljZV9jaWRCFgoUX29wZXJhdG9yX2NvbmZpZ19jaWRCCwoJX21ldGFkYXRhQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhgKFl9lbmNyeXB0ZWRfcHJpdmF0ZV9rZXlCGgoYX2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lQiEKH19saXF1aWRpdHlfcHJvdmlkZXJfZGVzY3JpcHRpb24iYwoTQ3JlYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSKSBQoSVXBkYXRlUGFydHlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAyABKAQSFwoKcGFydHlfbmFtZRgEIAEoCUgAiAEBEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAYgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAcgASgJSAOIAQESLwoJdXNlcl9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEhoKDWNoYW5nZV9yZWFzb24YCiABKAlIBogBARISCgVlbWFpbBgLIAEoCUgHiAEBEhcKCnB1YmxpY19rZXkYDCABKAlICIgBARIYCgtpbnZpdGVfY29kZRgNIAEoCUgJiAEBEhMKBnNvdXJjZRgOIAEoCUgKiAEBEiIKFWVuY3J5cHRlZF9wcml2YXRlX2tleRgPIAEoCUgLiAEBQg0KC19wYXJ0eV9uYW1lQhMKEV91c2VyX3NlcnZpY2VfY2lkQhYKFF9vcGVyYXRvcl9jb25maWdfY2lkQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCDAoKX3VzZXJfZGF0YUILCglfbWV0YWRhdGFCEAoOX2NoYW5nZV9yZWFzb25CCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhgKFl9lbmNyeXB0ZWRfcHJpdmF0ZV9rZXkiYwoTVXBkYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSJbChZEZWFjdGl2YXRlUGFydHlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAyABKAQSFQoNY2hhbmdlX3JlYXNvbhgEIAEoCSJnChdEZWFjdGl2YXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSJoChZHZXRQYXJ0eUhpc3RvcnlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhIKBWxpbWl0GAMgASgNSACIAQESEwoGb2Zmc2V0GAQgASgNSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQigQIKEVBhcnR5SGlzdG9yeUVudHJ5EhIKCmhpc3RvcnlfaWQYASABKAQSEAoIcGFydHlfaWQYAiABKAkSDgoGYWN0aW9uGAMgASgJEhIKCmNoYW5nZWRfYnkYBCABKAkSGgoNY2hhbmdlX3JlYXNvbhgFIAEoCUgAiAEBEg8KB3ZlcnNpb24YBiABKAQSMwoOcGFydHlfc25hcHNob3QYByABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fY2hhbmdlX3JlYXNvbiKEAQoXR2V0UGFydHlIaXN0b3J5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjgKB2hpc3RvcnkYAyADKAsyJy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eUhpc3RvcnlFbnRyeRINCgV0b3RhbBgEIAEoDSIjCg9HZXRQYXJ0eVJlcXVlc3QSEAoIcGFydHlfaWQYAiABKAkiYAoQR2V0UGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSKjAQoRR2V0UGFydGllc1JlcXVlc3QSFwoKcGFydHlfdHlwZRgCIAEoCUgAiAEBEhgKC2FjdGl2ZV9vbmx5GAMgASgISAGIAQESEgoFbGltaXQYBCABKA1IAogBARITCgZvZmZzZXQYBSABKA1IA4gBAUINCgtfcGFydHlfdHlwZUIOCgxfYWN0aXZlX29ubHlCCAoGX2xpbWl0QgkKB19vZmZzZXQicwoSR2V0UGFydGllc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgdwYXJ0aWVzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuUGFydHkSDQoFdG90YWwYBCABKA0iigUKBVBhcnR5EhAKCHBhcnR5X2lkGAEgASgJEhIKCnBhcnR5X25hbWUYAiABKAkSEgoKcGFydHlfdHlwZRgDIAEoCRIdChB1c2VyX3NlcnZpY2VfY2lkGAQgASgJSACIAQESIAoTb3BlcmF0b3JfY29uZmlnX2NpZBgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlChh1c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWQYCiABKAlIA4gBARIqCgl1c2VyX2RhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB3ZlcnNpb24YDCABKAQSEgoFZW1haWwYDSABKAlIBIgBARIXCgpwdWJsaWNfa2V5GA4gASgJSAWIAQESGAoLaW52aXRlX2NvZGUYDyABKAlIBogBARIOCgZzb3VyY2UYECABKAkSGAoLcGFydGljaXBhbnQYESABKAlIB4gBAUITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEILCglfbWV0YWRhdGFCGwoZX3VzZXJfc2VydmljZV9yZXF1ZXN0X2NpZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCDgoMX2ludml0ZV9jb2RlQg4KDF9wYXJ0aWNpcGFudCKNAgoRTGlxdWlkaXR5UHJvdmlkZXISDAoEbmFtZRgBIAEoCRIQCghwYXJ0eV9pZBgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjkKEGxhc3RfYWN0aXZlX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQhMKEV9sYXN0X2FjdGl2ZV90aW1lIowBChxHZXRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0EhsKDmFjdGl2ZV9zZWNvbmRzGAIgASgNSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBAUIRCg9fYWN0aXZlX3NlY29uZHNCCAoGX2xpbWl0QgkKB19vZmZzZXQilgEKHUdldExpcXVpZGl0eVByb3ZpZGVyc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRJEChNsaXF1aWRpdHlfcHJvdmlkZXJzGAMgAygLMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuTGlxdWlkaXR5UHJvdmlkZXISDQoFdG90YWwYBCABKA0ilwQKEFdhaXRpbmdMaXN0RW50cnkSCgoCaWQYASABKAQSFQoIcGFydHlfaWQYAiABKAlIAIgBARIqCgl1c2VyX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgEIAEoCRISCgVlbWFpbBgFIAEoCUgBiAEBEhcKCnB1YmxpY19rZXkYBiABKAlIAogBARIZChFvbmJvYXJkaW5nX3N0YXR1cxgHIAEoCRIPCgd2ZXJzaW9uGAggASgEEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCW11bHRpaGFzaBgMIAEoCUgEiAEBEiAKE211bHRpaGFzaF9zaWduYXR1cmUYDSABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgOIAEoCUgGiAEBQgsKCV9wYXJ0eV9pZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCCwoJX21ldGFkYXRhQgwKCl9tdWx0aWhhc2hCFgoUX211bHRpaGFzaF9zaWduYXR1cmVCDgoMX2ludml0ZV9jb2RlItsBChpBZGRXYWl0aW5nTGlzdEVudHJ5UmVxdWVzdBIqCgl1c2VyX2RhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgDIAEoCRISCgVlbWFpbBgEIAEoCUgAiAEBEhcKCnB1YmxpY19rZXkYBSABKAlIAYgBARIuCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCCwoJX21ldGFkYXRhIksKG0FkZFdhaXRpbmdMaXN0RW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSCgoCaWQYAyABKAQisQMKBVJvdW5kEhQKDHJvdW5kX251bWJlchgBIAEoBBI0Cidpc3N1YW5jZV9wZXJfZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAiABKAlIAIgBARI2Cilpc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbhgDIAEoCUgBiAEBEhgKC2NjX3VzZF9yYXRlGAQgASgJSAKIAQESJAoXdHJhZmZpY19jb3N0X3VzZF9wZXJfbWIYBSABKAlIA4gBARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIqCihfaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uQiwKKl9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIOCgxfY2NfdXNkX3JhdGVCGgoYX3RyYWZmaWNfY29zdF91c2RfcGVyX21iIqwFChJMYXRlc3RDb2VmZmljaWVudHMSNAonaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uGAEgASgJSACIAQESOgotaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uX3JvdW5kGAIgASgESAGIAQESNgopaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAyABKAlIAogBARI8Ci9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbl9yb3VuZBgEIAEoBEgDiAEBEhgKC2NjX3VzZF9yYXRlGAUgASgJSASIAQESHgoRY2NfdXNkX3JhdGVfcm91bmQYBiABKARIBYgBARIkChd0cmFmZmljX2Nvc3RfdXNkX3Blcl9tYhgHIAEoCUgGiAEBEioKHXRyYWZmaWNfY29zdF91c2RfcGVyX21iX3JvdW5kGAggASgESAeIAQFCKgooX2lzc3VhbmNlX3Blcl9mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIwCi5faXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uX3JvdW5kQiwKKl9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIyCjBfaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb25fcm91bmRCDgoMX2NjX3VzZF9yYXRlQhQKEl9jY191c2RfcmF0ZV9yb3VuZEIaChhfdHJhZmZpY19jb3N0X3VzZF9wZXJfbWJCIAoeX3RyYWZmaWNfY29zdF91c2RfcGVyX21iX3JvdW5kIjQKFEdldFJvdW5kc0RhdGFSZXF1ZXN0EhIKBWxpbWl0GAIgASgNSACIAQFCCAoGX2xpbWl0IvABChVHZXRSb3VuZHNEYXRhUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBnJvdW5kcxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLlJvdW5kEjgKBmxhdGVzdBgEIAEoCzIoLnNpbHZhbmEub3JkZXJib29rLnYxLkxhdGVzdENvZWZmaWNpZW50cxIUCgx0b3RhbF9yb3VuZHMYBSABKA0SOAoKcHJlZGljdGlvbhgGIAEoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLlByZWRpY3Rpb25EYXRhIpUBChVDb2VmZmljaWVudFByZWRpY3Rpb24SFAoMcm91bmRfbnVtYmVyGAEgASgEEh0KFXByZWRpY3RlZF9jb2VmZmljaWVudBgCIAEoCRIYChBjb25maWRlbmNlX2xvd2VyGAMgASgJEhgKEGNvbmZpZGVuY2VfdXBwZXIYBCABKAkSEwoLc3RlcHNfYWhlYWQYBSABKA0i8QIKDlByZWRpY3Rpb25EYXRhEkAKC3ByZWRpY3Rpb25zGAEgAygLMisuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ29lZmZpY2llbnRQcmVkaWN0aW9uEjgKCGZvcmVjYXN0GAIgASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuSXNzdWFuY2VGb3JlY2FzdBIhChRmb3JlY2FzdF9jb2VmZmljaWVudBgDIAEoCUgAiAEBEhsKDmZvcmVjYXN0X3JvdW5kGAQgASgESAGIAQESFwoPYXJfY29lZmZpY2llbnRzGAUgAygBEhkKDHJlc2lkdWFsX3N0ZBgGIAEoCUgCiAEBEh0KEHByZWRpY3Rpb25fcm91bmQYByABKARIA4gBAUIXChVfZm9yZWNhc3RfY29lZmZpY2llbnRCEQoPX2ZvcmVjYXN0X3JvdW5kQg8KDV9yZXNpZHVhbF9zdGRCEwoRX3ByZWRpY3Rpb25fcm91bmQi7wIKBkludml0ZRITCgtpbnZpdGVfY29kZRgBIAEoCRIPCgdjaGFubmVsGAIgASgJEhQKB3Jld2FyZHMYAyABKAlIAIgBARIuCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIyCgZzdGF0dXMYBSABKA4yIi5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVTdGF0dXMSEgoKY291bnRfdXNlZBgGIAEoDRIWCgltYXhfY291bnQYByABKA1IAogBARISCgpjcmVhdGVkX2J5GAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9yZXdhcmRzQgsKCV9tZXRhZGF0YUIMCgpfbWF4X2NvdW50IicKEEdldEludml0ZVJlcXVlc3QSEwoLaW52aXRlX2NvZGUYASABKAkiYAoRR2V0SW52aXRlUmVzcG9uc2USDQoFZm91bmQYASABKAgSMQoGaW52aXRlGAIgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuSW52aXRlSACIAQFCCQoHX2ludml0ZSJLChBVc2VJbnZpdGVSZXF1ZXN0EhMKC2ludml0ZV9jb2RlGAEgASgJEhUKCHBhcnR5X2lkGAIgASgJSACIAQFCCwoJX3BhcnR5X2lkInMKEVVzZUludml0ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIxCgZpbnZpdGUYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVIAIgBAUIJCgdfaW52aXRlIqcCChdDcmVhdGVJbnN0cnVtZW50UmVxdWVzdBIVCg1pbnN0cnVtZW50X2lkGAIgASgJEhcKD2luc3RydW1lbnRfdHlwZRgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBnN5bWJvbBgFIAEoCRIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhMKBmlzc3VlchgHIAEoCUgBiAEBEhUKCHJlZ2lzdHJ5GAggASgJSAKIAQESLgoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESEwoLbmV3c19zeW1ib2wYCiABKAlCDgoMX2Rlc2NyaXB0aW9uQgkKB19pc3N1ZXJCCwoJX3JlZ2lzdHJ5QgsKCV9tZXRhZGF0YSJyChhDcmVhdGVJbnN0cnVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjQKCmluc3RydW1lbnQYAyABKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnN0cnVtZW50IsYDChNDcmVhdGVNYXJrZXRSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRI1CgttYXJrZXRfdHlwZRgDIAEoDjIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldFR5cGUSHAoPYmFzZV9pbnN0cnVtZW50GAQgASgJSACIAQESHQoQcXVvdGVfaW5zdHJ1bWVudBgFIAEoCUgBiAEBEhYKDm1pbl9vcmRlcl9zaXplGAYgASgJEhsKDm1heF9vcmRlcl9zaXplGAcgASgJSAKIAQESEQoJdGlja19zaXplGAggASgJEhEKCW1ha2VyX2ZlZRgJIAEoCRIRCgl0YWtlcl9mZWUYCiABKAkSLgoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESMQoLcHJpY2VfZmVlZHMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCEgoQX2Jhc2VfaW5zdHJ1bWVudEITChFfcXVvdGVfaW5zdHJ1bWVudEIRCg9fbWF4X29yZGVyX3NpemVCCwoJX21ldGFkYXRhQg4KDF9wcmljZV9mZWVkcyJmChRDcmVhdGVNYXJrZXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLAoGbWFya2V0GAMgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0ImAKHVVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRIsCgtwcmljZV9mZWVkcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QicAoeVXBkYXRlTWFya2V0UHJpY2VGZWVkc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgZtYXJrZXQYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQijAEKFFJlcXVlc3RRdW90ZXNSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRIRCglkaXJlY3Rpb24YAyABKAkSEAoIcXVhbnRpdHkYBCABKAkSEAoIbHBfbmFtZXMYBSADKAkSGQoMdGltZW91dF9zZWNzGAYgASgNSACIAQFCDwoNX3RpbWVvdXRfc2VjcyLkAQoVUmVxdWVzdFF1b3Rlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIOCgZyZnFfaWQYAyABKAkSMgoGcXVvdGVzGAQgAygLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxUXVvdGVJbmZvEjcKCnJlamVjdGlvbnMYBSADKAsyIy5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFSZWplY3RJbmZvEhUKDWxwc19yZXF1ZXN0ZWQYBiABKA0SFQoNbHBzX3Jlc3BvbmRlZBgHIAEoDSKPAgoMUmZxUXVvdGVJbmZvEhAKCHF1b3RlX2lkGAEgASgJEg8KB2xwX25hbWUYAiABKAkSDQoFcHJpY2UYAyABKAkSEAoIcXVhbnRpdHkYBCABKAkSFgoOcXVvdGVfcXVhbnRpdHkYBSABKAkSLwoLdmFsaWRfdW50aWwYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiEKFGFsbG9jYXRlX2JlZm9yZV9zZWNzGAcgASgNSACIAQESHwoSc2V0dGxlX2JlZm9yZV9zZWNzGAggASgNSAGIAQFCFwoVX2FsbG9jYXRlX2JlZm9yZV9zZWNzQhUKE19zZXR0bGVfYmVmb3JlX3NlY3MiiAEKDVJmcVJlamVjdEluZm8SDwoHbHBfbmFtZRgBIAEoCRIOCgZyZWFzb24YAiABKAkSGQoMbWluX3F1YW50aXR5GAMgASgJSACIAQESGQoMbWF4X3F1YW50aXR5GAQgASgJSAGIAQFCDwoNX21pbl9xdWFudGl0eUIPCg1fbWF4X3F1YW50aXR5IjYKEkFjY2VwdFF1b3RlUmVxdWVzdBIOCgZyZnFfaWQYAiABKAkSEAoIcXVvdGVfaWQYAyABKAkiYQoTQWNjZXB0UXVvdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSGAoLcHJvcG9zYWxfaWQYAyABKAlIAIgBAUIOCgxfcHJvcG9zYWxfaWQiTQolR2V0Q29ubmVjdGVkTGlxdWlkaXR5UHJvdmlkZXJzUmVxdWVzdBIWCgltYXJrZXRfaWQYAiABKAlIAIgBAUIMCgpfbWFya2V0X2lkIo4BCiZHZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSQgoTbGlxdWlkaXR5X3Byb3ZpZGVycxgDIAMoCzIlLnNpbHZhbmEub3JkZXJib29rLnYxLkNvbm5lY3RlZExwSW5mbyJOCg9Db25uZWN0ZWRMcEluZm8SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIYChBjb25uZWN0ZWRfYWdlbnRzGAMgASgNIpUEChBSZnFBdWRpdExvZ0VudHJ5EgoKAmlkGAEgASgEEg4KBnJmcV9pZBgCIAEoCRI7CgpldmVudF90eXBlGAMgASgOMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxQXVkaXRFdmVudFR5cGUSEQoJbWFya2V0X2lkGAQgASgJEhEKCWRpcmVjdGlvbhgFIAEoCRIYChByZXF1ZXN0aW5nX3BhcnR5GAYgASgJEhQKB2xwX25hbWUYByABKAlIAIgBARIYCgtscF9wYXJ0eV9pZBgIIAEoCUgBiAEBEhUKCHF1YW50aXR5GAkgASgJSAKIAQESEgoFcHJpY2UYCiABKAlIA4gBARIbCg5xdW90ZV9xdWFudGl0eRgLIAEoCUgEiAEBEhUKCHF1b3RlX2lkGAwgASgJSAWIAQESGAoLcHJvcG9zYWxfaWQYDSABKAlIBogBARIaCg1lcnJvcl9tZXNzYWdlGA4gASgJSAeIAQESLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2xwX25hbWVCDgoMX2xwX3BhcnR5X2lkQgsKCV9xdWFudGl0eUIICgZfcHJpY2VCEQoPX3F1b3RlX3F1YW50aXR5QgsKCV9xdW90ZV9pZEIOCgxfcHJvcG9zYWxfaWRCEAoOX2Vycm9yX21lc3NhZ2UijgMKFUdldFJmcUF1ZGl0TG9nUmVxdWVzdBITCgZyZnFfaWQYASABKAlIAIgBARIWCgltYXJrZXRfaWQYAiABKAlIAYgBARJACgpldmVudF90eXBlGAMgASgOMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxQXVkaXRFdmVudFR5cGVIAogBARIUCgdscF9uYW1lGAQgASgJSAOIAQESMgoJZnJvbV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEjAKB3RvX3RpbWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESEgoFbGltaXQYByABKA1IBogBARITCgZvZmZzZXQYCCABKA1IB4gBAUIJCgdfcmZxX2lkQgwKCl9tYXJrZXRfaWRCDQoLX2V2ZW50X3R5cGVCCgoIX2xwX25hbWVCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCJgChZHZXRSZnFBdWRpdExvZ1Jlc3BvbnNlEjcKB2VudHJpZXMYASADKAsyJi5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFBdWRpdExvZ0VudHJ5Eg0KBXRvdGFsGAIgASgNIvwBCg5SZnFTdHJlYW1FdmVudBI9Cglpbml0aWF0ZWQYASABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFTdHJlYW1Jbml0aWF0ZWRIABIzCgVxdW90ZRgCIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVF1b3RlSW5mb0gAEjgKCXJlamVjdGlvbhgDIAEoCzIjLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVJlamVjdEluZm9IABIzCgRkb25lGAQgASgLMiMuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxU3RyZWFtRG9uZUgAQgcKBWV2ZW50IjsKElJmcVN0cmVhbUluaXRpYXRlZBIOCgZyZnFfaWQYASABKAkSFQoNbHBzX3JlcXVlc3RlZBgCIAEoDSI9Cg1SZnFTdHJlYW1Eb25lEhUKDWxwc19yZXF1ZXN0ZWQYASABKA0SFQoNbHBzX3Jlc3BvbmRlZBgCIAEoDSpRCglPcmRlclR5cGUSGgoWT1JERVJfVFlQRV9VTlNQRUNJRklFRBAAEhIKDk9SREVSX1RZUEVfQklEEAESFAoQT1JERVJfVFlQRV9PRkZFUhACKq0BCgtPcmRlclN0YXR1cxIcChhPUkRFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNPUkRFUl9TVEFUVVNfQUNUSVZFEAESGAoUT1JERVJfU1RBVFVTX1BBUlRJQUwQAhIXChNPUkRFUl9TVEFUVVNfRklMTEVEEAMSGgoWT1JERVJfU1RBVFVTX0NBTkNFTExFRBAEEhgKFE9SREVSX1NUQVRVU19FWFBJUkVEEAUqiAEKC1RpbWVJbkZvcmNlEh0KGVRJTUVfSU5fRk9SQ0VfVU5TUEVDSUZJRUQQABIVChFUSU1FX0lOX0ZPUkNFX0dUQxABEhUKEVRJTUVfSU5fRk9SQ0VfSU9DEAISFQoRVElNRV9JTl9GT1JDRV9GT0sQAxIVChFUSU1FX0lOX0ZPUkNFX0dURBAEKrIBChBTZXR0bGVtZW50U3RhdHVzEiEKHVNFVFRMRU1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZU0VUVExFTUVOVF9TVEFUVVNfUEVORElORxABEh0KGVNFVFRMRU1FTlRfU1RBVFVTX1NFVFRMRUQQAhIfChtTRVRUTEVNRU5UX1NUQVRVU19DQU5DRUxMRUQQAxIcChhTRVRUTEVNRU5UX1NUQVRVU19GQUlMRUQQBCp2CgpNYXJrZXRUeXBlEhsKF01BUktFVF9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTTUFSS0VUX1RZUEVfR0VORVJBTBABEh0KGU1BUktFVF9UWVBFX0lOU1RJVFVUSU9OQUwQAhITCg9NQVJLRVRfVFlQRV9PVEMQAyqKAQoQSXNzdWFuY2VGb3JlY2FzdBIhCh1JU1NVQU5DRV9GT1JFQ0FTVF9VTlNQRUNJRklFRBAAEhkKFUlTU1VBTkNFX0ZPUkVDQVNUX0xPVxABEhwKGElTU1VBTkNFX0ZPUkVDQVNUX01FRElVTRACEhoKFklTU1VBTkNFX0ZPUkVDQVNUX0hJR0gQAyqWAQoMSW52aXRlU3RhdHVzEh0KGUlOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNJTlZJVEVfU1RBVFVTX1ZBTElEEAESGQoVSU5WSVRFX1NUQVRVU19FWFBJUkVEEAISFgoSSU5WSVRFX1NUQVRVU19VU0VEEAMSGwoXSU5WSVRFX1NUQVRVU19DQU5DRUxMRUQQBCreAQoRUmZxQXVkaXRFdmVudFR5cGUSJAogUkZRX0FVRElUX0VWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIgChxSRlFfQVVESVRfRVZFTlRfVFlQRV9SRVFVRVNUEAESHgoaUkZRX0FVRElUX0VWRU5UX1RZUEVfUVVPVEUQAhIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9SRUpFQ1QQAxIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9BQ0NFUFQQBBIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9FWFBJUkUQBTLEHAoQT3JkZXJib29rU2VydmljZRJcCglHZXRPcmRlcnMSJi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcnNSZXF1ZXN0Gicuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJzUmVzcG9uc2USdAoRR2V0T3JkZXJib29rRGVwdGgSLi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlcXVlc3QaLy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEoMBChZHZXRTZXR0bGVtZW50UHJvcG9zYWxzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxzUmVzcG9uc2USgAEKFUdldFNldHRsZW1lbnRQcm9wb3NhbBIyLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QaMy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRJrCg5HZXRJbnN0cnVtZW50cxIrLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEluc3RydW1lbnRzUmVxdWVzdBosLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEluc3RydW1lbnRzUmVzcG9uc2USXwoKR2V0TWFya2V0cxInLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldHNSZXF1ZXN0Giguc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0c1Jlc3BvbnNlEm4KD0dldE9yZGVySGlzdG9yeRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVySGlzdG9yeVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlckhpc3RvcnlSZXNwb25zZRJoCg1HZXRNYXJrZXREYXRhEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0RGF0YVJlcXVlc3QaKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXREYXRhUmVzcG9uc2USawoOR2V0U2V0dGxlbWVudHMSKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50c1JlcXVlc3QaLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50c1Jlc3BvbnNlEmIKC1N1Ym1pdE9yZGVyEiguc2lsdmFuYS5vcmRlcmJvb2sudjEuU3VibWl0T3JkZXJSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuU3VibWl0T3JkZXJSZXNwb25zZRJiCgtDYW5jZWxPcmRlchIoLnNpbHZhbmEub3JkZXJib29rLnYxLkNhbmNlbE9yZGVyUmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLkNhbmNlbE9yZGVyUmVzcG9uc2USWQoIR2V0UGFydHkSJS5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eVJlcXVlc3QaJi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eVJlc3BvbnNlEl8KCkdldFBhcnRpZXMSJy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0aWVzUmVxdWVzdBooLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnRpZXNSZXNwb25zZRKAAQoVR2V0TGlxdWlkaXR5UHJvdmlkZXJzEjIuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TGlxdWlkaXR5UHJvdmlkZXJzUmVxdWVzdBozLnNpbHZhbmEub3JkZXJib29rLnYxLkdldExpcXVpZGl0eVByb3ZpZGVyc1Jlc3BvbnNlEpsBCh5HZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnMSOy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0Gjwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0Q29ubmVjdGVkTGlxdWlkaXR5UHJvdmlkZXJzUmVzcG9uc2USaAoNUmVxdWVzdFF1b3RlcxIqLnNpbHZhbmEub3JkZXJib29rLnYxLlJlcXVlc3RRdW90ZXNSZXF1ZXN0Gisuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmVxdWVzdFF1b3Rlc1Jlc3BvbnNlEmIKC0FjY2VwdFF1b3RlEiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQWNjZXB0UXVvdGVSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQWNjZXB0UXVvdGVSZXNwb25zZRJrCg5HZXRSZnFBdWRpdExvZxIrLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFJmcUF1ZGl0TG9nUmVxdWVzdBosLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFJmcUF1ZGl0TG9nUmVzcG9uc2USegoTQWRkV2FpdGluZ0xpc3RFbnRyeRIwLnNpbHZhbmEub3JkZXJib29rLnYxLkFkZFdhaXRpbmdMaXN0RW50cnlSZXF1ZXN0GjEuc2lsdmFuYS5vcmRlcmJvb2sudjEuQWRkV2FpdGluZ0xpc3RFbnRyeVJlc3BvbnNlElwKCUdldEludml0ZRImLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEludml0ZVJlcXVlc3QaJy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRJbnZpdGVSZXNwb25zZRJcCglVc2VJbnZpdGUSJi5zaWx2YW5hLm9yZGVyYm9vay52MS5Vc2VJbnZpdGVSZXF1ZXN0Gicuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXNlSW52aXRlUmVzcG9uc2USaAoNR2V0Um91bmRzRGF0YRIqLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFJvdW5kc0RhdGFSZXF1ZXN0Gisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0Um91bmRzRGF0YVJlc3BvbnNlEmIKC0NyZWF0ZVBhcnR5Eiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlUGFydHlSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlUGFydHlSZXNwb25zZRJiCgtVcGRhdGVQYXJ0eRIoLnNpbHZhbmEub3JkZXJib29rLnYxLlVwZGF0ZVBhcnR5UmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLlVwZGF0ZVBhcnR5UmVzcG9uc2USbgoPRGVhY3RpdmF0ZVBhcnR5Eiwuc2lsdmFuYS5vcmRlcmJvb2sudjEuRGVhY3RpdmF0ZVBhcnR5UmVxdWVzdBotLnNpbHZhbmEub3JkZXJib29rLnYxLkRlYWN0aXZhdGVQYXJ0eVJlc3BvbnNlEm4KD0dldFBhcnR5SGlzdG9yeRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5SGlzdG9yeVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eUhpc3RvcnlSZXNwb25zZRJxChBDcmVhdGVJbnN0cnVtZW50Ei0uc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlSW5zdHJ1bWVudFJlcXVlc3QaLi5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVJbnN0cnVtZW50UmVzcG9uc2USZQoMQ3JlYXRlTWFya2V0Eikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlTWFya2V0UmVxdWVzdBoqLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZU1hcmtldFJlc3BvbnNlEoMBChZVcGRhdGVNYXJrZXRQcmljZUZlZWRzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXBkYXRlTWFya2V0UHJpY2VGZWVkc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVNYXJrZXRQcmljZUZlZWRzUmVzcG9uc2USbgoSU3Vic2NyaWJlT3JkZXJib29rEi8uc2lsdmFuYS5vcmRlcmJvb2sudjEuU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBolLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va1VwZGF0ZTABEmQKD1N1YnNjcmliZU9yZGVycxIsLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZU9yZGVyc1JlcXVlc3QaIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclVwZGF0ZTABEnMKFFN1YnNjcmliZVNldHRsZW1lbnRzEjEuc2lsdmFuYS5vcmRlcmJvb2sudjEuU3Vic2NyaWJlU2V0dGxlbWVudHNSZXF1ZXN0GiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFVwZGF0ZTABEmkKE1N0cmVhbVJlcXVlc3RRdW90ZXMSKi5zaWx2YW5hLm9yZGVyYm9vay52MS5SZXF1ZXN0UXVvdGVzUmVxdWVzdBokLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVN0cmVhbUV2ZW50MAFCNFoyZ2l0aHViLmNvbS9TaWx2YW5hT25lL2NhbnRvbi1hZ2VudC9wcm90bztvcmRlcmJvb2tiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
16
16
 
17
17
  /**
18
18
  * Instrument message
@@ -3039,6 +3039,13 @@ export type GetRoundsDataResponse = Message<"silvana.orderbook.v1.GetRoundsDataR
3039
3039
  * @generated from field: uint32 total_rounds = 5;
3040
3040
  */
3041
3041
  totalRounds: number;
3042
+
3043
+ /**
3044
+ * AR model prediction for next 10 rounds
3045
+ *
3046
+ * @generated from field: silvana.orderbook.v1.PredictionData prediction = 6;
3047
+ */
3048
+ prediction?: PredictionData;
3042
3049
  };
3043
3050
 
3044
3051
  /**
@@ -3048,6 +3055,116 @@ export type GetRoundsDataResponse = Message<"silvana.orderbook.v1.GetRoundsDataR
3048
3055
  export const GetRoundsDataResponseSchema: GenMessage<GetRoundsDataResponse> = /*@__PURE__*/
3049
3056
  messageDesc(file_proto_silvana_orderbook_v1_orderbook, 60);
3050
3057
 
3058
+ /**
3059
+ * A single coefficient prediction for a future round
3060
+ *
3061
+ * @generated from message silvana.orderbook.v1.CoefficientPrediction
3062
+ */
3063
+ export type CoefficientPrediction = Message<"silvana.orderbook.v1.CoefficientPrediction"> & {
3064
+ /**
3065
+ * @generated from field: uint64 round_number = 1;
3066
+ */
3067
+ roundNumber: bigint;
3068
+
3069
+ /**
3070
+ * DECIMAL(38,10) as string
3071
+ *
3072
+ * @generated from field: string predicted_coefficient = 2;
3073
+ */
3074
+ predictedCoefficient: string;
3075
+
3076
+ /**
3077
+ * 80% CI lower bound
3078
+ *
3079
+ * @generated from field: string confidence_lower = 3;
3080
+ */
3081
+ confidenceLower: string;
3082
+
3083
+ /**
3084
+ * 80% CI upper bound
3085
+ *
3086
+ * @generated from field: string confidence_upper = 4;
3087
+ */
3088
+ confidenceUpper: string;
3089
+
3090
+ /**
3091
+ * 1 = next round, 10 = furthest
3092
+ *
3093
+ * @generated from field: uint32 steps_ahead = 5;
3094
+ */
3095
+ stepsAhead: number;
3096
+ };
3097
+
3098
+ /**
3099
+ * Describes the message silvana.orderbook.v1.CoefficientPrediction.
3100
+ * Use `create(CoefficientPredictionSchema)` to create a new message.
3101
+ */
3102
+ export const CoefficientPredictionSchema: GenMessage<CoefficientPrediction> = /*@__PURE__*/
3103
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 61);
3104
+
3105
+ /**
3106
+ * Prediction data from AR(5) model
3107
+ *
3108
+ * @generated from message silvana.orderbook.v1.PredictionData
3109
+ */
3110
+ export type PredictionData = Message<"silvana.orderbook.v1.PredictionData"> & {
3111
+ /**
3112
+ * Predictions for next 10 rounds
3113
+ *
3114
+ * @generated from field: repeated silvana.orderbook.v1.CoefficientPrediction predictions = 1;
3115
+ */
3116
+ predictions: CoefficientPrediction[];
3117
+
3118
+ /**
3119
+ * Interpretation for ~30min ahead (steps_ahead=3)
3120
+ *
3121
+ * @generated from field: silvana.orderbook.v1.IssuanceForecast forecast = 2;
3122
+ */
3123
+ forecast: IssuanceForecast;
3124
+
3125
+ /**
3126
+ * The predicted coefficient used for forecast
3127
+ *
3128
+ * @generated from field: optional string forecast_coefficient = 3;
3129
+ */
3130
+ forecastCoefficient?: string;
3131
+
3132
+ /**
3133
+ * The round the forecast applies to
3134
+ *
3135
+ * @generated from field: optional uint64 forecast_round = 4;
3136
+ */
3137
+ forecastRound?: bigint;
3138
+
3139
+ /**
3140
+ * AR model coefficients [a0..a5]
3141
+ *
3142
+ * @generated from field: repeated double ar_coefficients = 5;
3143
+ */
3144
+ arCoefficients: number[];
3145
+
3146
+ /**
3147
+ * Model residual standard deviation
3148
+ *
3149
+ * @generated from field: optional string residual_std = 6;
3150
+ */
3151
+ residualStd?: string;
3152
+
3153
+ /**
3154
+ * Last known round used for prediction
3155
+ *
3156
+ * @generated from field: optional uint64 prediction_round = 7;
3157
+ */
3158
+ predictionRound?: bigint;
3159
+ };
3160
+
3161
+ /**
3162
+ * Describes the message silvana.orderbook.v1.PredictionData.
3163
+ * Use `create(PredictionDataSchema)` to create a new message.
3164
+ */
3165
+ export const PredictionDataSchema: GenMessage<PredictionData> = /*@__PURE__*/
3166
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 62);
3167
+
3051
3168
  /**
3052
3169
  * Invite code for user onboarding
3053
3170
  *
@@ -3112,7 +3229,7 @@ export type Invite = Message<"silvana.orderbook.v1.Invite"> & {
3112
3229
  * Use `create(InviteSchema)` to create a new message.
3113
3230
  */
3114
3231
  export const InviteSchema: GenMessage<Invite> = /*@__PURE__*/
3115
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 61);
3232
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 63);
3116
3233
 
3117
3234
  /**
3118
3235
  * Get invite by code
@@ -3131,7 +3248,7 @@ export type GetInviteRequest = Message<"silvana.orderbook.v1.GetInviteRequest">
3131
3248
  * Use `create(GetInviteRequestSchema)` to create a new message.
3132
3249
  */
3133
3250
  export const GetInviteRequestSchema: GenMessage<GetInviteRequest> = /*@__PURE__*/
3134
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 62);
3251
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 64);
3135
3252
 
3136
3253
  /**
3137
3254
  * @generated from message silvana.orderbook.v1.GetInviteResponse
@@ -3153,7 +3270,7 @@ export type GetInviteResponse = Message<"silvana.orderbook.v1.GetInviteResponse"
3153
3270
  * Use `create(GetInviteResponseSchema)` to create a new message.
3154
3271
  */
3155
3272
  export const GetInviteResponseSchema: GenMessage<GetInviteResponse> = /*@__PURE__*/
3156
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 63);
3273
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 65);
3157
3274
 
3158
3275
  /**
3159
3276
  * Use invite code (increments count, marks used if at max)
@@ -3179,7 +3296,7 @@ export type UseInviteRequest = Message<"silvana.orderbook.v1.UseInviteRequest">
3179
3296
  * Use `create(UseInviteRequestSchema)` to create a new message.
3180
3297
  */
3181
3298
  export const UseInviteRequestSchema: GenMessage<UseInviteRequest> = /*@__PURE__*/
3182
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 64);
3299
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 66);
3183
3300
 
3184
3301
  /**
3185
3302
  * @generated from message silvana.orderbook.v1.UseInviteResponse
@@ -3208,7 +3325,7 @@ export type UseInviteResponse = Message<"silvana.orderbook.v1.UseInviteResponse"
3208
3325
  * Use `create(UseInviteResponseSchema)` to create a new message.
3209
3326
  */
3210
3327
  export const UseInviteResponseSchema: GenMessage<UseInviteResponse> = /*@__PURE__*/
3211
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 65);
3328
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 67);
3212
3329
 
3213
3330
  /**
3214
3331
  * Create a new instrument
@@ -3277,7 +3394,7 @@ export type CreateInstrumentRequest = Message<"silvana.orderbook.v1.CreateInstru
3277
3394
  * Use `create(CreateInstrumentRequestSchema)` to create a new message.
3278
3395
  */
3279
3396
  export const CreateInstrumentRequestSchema: GenMessage<CreateInstrumentRequest> = /*@__PURE__*/
3280
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 66);
3397
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 68);
3281
3398
 
3282
3399
  /**
3283
3400
  * @generated from message silvana.orderbook.v1.CreateInstrumentResponse
@@ -3304,7 +3421,7 @@ export type CreateInstrumentResponse = Message<"silvana.orderbook.v1.CreateInstr
3304
3421
  * Use `create(CreateInstrumentResponseSchema)` to create a new message.
3305
3422
  */
3306
3423
  export const CreateInstrumentResponseSchema: GenMessage<CreateInstrumentResponse> = /*@__PURE__*/
3307
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 67);
3424
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 69);
3308
3425
 
3309
3426
  /**
3310
3427
  * Create a new market
@@ -3391,7 +3508,7 @@ export type CreateMarketRequest = Message<"silvana.orderbook.v1.CreateMarketRequ
3391
3508
  * Use `create(CreateMarketRequestSchema)` to create a new message.
3392
3509
  */
3393
3510
  export const CreateMarketRequestSchema: GenMessage<CreateMarketRequest> = /*@__PURE__*/
3394
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 68);
3511
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 70);
3395
3512
 
3396
3513
  /**
3397
3514
  * @generated from message silvana.orderbook.v1.CreateMarketResponse
@@ -3418,7 +3535,7 @@ export type CreateMarketResponse = Message<"silvana.orderbook.v1.CreateMarketRes
3418
3535
  * Use `create(CreateMarketResponseSchema)` to create a new message.
3419
3536
  */
3420
3537
  export const CreateMarketResponseSchema: GenMessage<CreateMarketResponse> = /*@__PURE__*/
3421
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 69);
3538
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 71);
3422
3539
 
3423
3540
  /**
3424
3541
  * Update price feeds for an existing market
@@ -3446,7 +3563,7 @@ export type UpdateMarketPriceFeedsRequest = Message<"silvana.orderbook.v1.Update
3446
3563
  * Use `create(UpdateMarketPriceFeedsRequestSchema)` to create a new message.
3447
3564
  */
3448
3565
  export const UpdateMarketPriceFeedsRequestSchema: GenMessage<UpdateMarketPriceFeedsRequest> = /*@__PURE__*/
3449
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 70);
3566
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 72);
3450
3567
 
3451
3568
  /**
3452
3569
  * @generated from message silvana.orderbook.v1.UpdateMarketPriceFeedsResponse
@@ -3475,7 +3592,7 @@ export type UpdateMarketPriceFeedsResponse = Message<"silvana.orderbook.v1.Updat
3475
3592
  * Use `create(UpdateMarketPriceFeedsResponseSchema)` to create a new message.
3476
3593
  */
3477
3594
  export const UpdateMarketPriceFeedsResponseSchema: GenMessage<UpdateMarketPriceFeedsResponse> = /*@__PURE__*/
3478
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 71);
3595
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 73);
3479
3596
 
3480
3597
  /**
3481
3598
  * Request quotes from connected liquidity providers
@@ -3524,7 +3641,7 @@ export type RequestQuotesRequest = Message<"silvana.orderbook.v1.RequestQuotesRe
3524
3641
  * Use `create(RequestQuotesRequestSchema)` to create a new message.
3525
3642
  */
3526
3643
  export const RequestQuotesRequestSchema: GenMessage<RequestQuotesRequest> = /*@__PURE__*/
3527
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 72);
3644
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 74);
3528
3645
 
3529
3646
  /**
3530
3647
  * @generated from message silvana.orderbook.v1.RequestQuotesResponse
@@ -3577,7 +3694,7 @@ export type RequestQuotesResponse = Message<"silvana.orderbook.v1.RequestQuotesR
3577
3694
  * Use `create(RequestQuotesResponseSchema)` to create a new message.
3578
3695
  */
3579
3696
  export const RequestQuotesResponseSchema: GenMessage<RequestQuotesResponse> = /*@__PURE__*/
3580
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 73);
3697
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 75);
3581
3698
 
3582
3699
  /**
3583
3700
  * Quote info returned to user
@@ -3641,7 +3758,7 @@ export type RfqQuoteInfo = Message<"silvana.orderbook.v1.RfqQuoteInfo"> & {
3641
3758
  * Use `create(RfqQuoteInfoSchema)` to create a new message.
3642
3759
  */
3643
3760
  export const RfqQuoteInfoSchema: GenMessage<RfqQuoteInfo> = /*@__PURE__*/
3644
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 74);
3761
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 76);
3645
3762
 
3646
3763
  /**
3647
3764
  * Rejection info returned to user
@@ -3681,7 +3798,7 @@ export type RfqRejectInfo = Message<"silvana.orderbook.v1.RfqRejectInfo"> & {
3681
3798
  * Use `create(RfqRejectInfoSchema)` to create a new message.
3682
3799
  */
3683
3800
  export const RfqRejectInfoSchema: GenMessage<RfqRejectInfo> = /*@__PURE__*/
3684
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 75);
3801
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 77);
3685
3802
 
3686
3803
  /**
3687
3804
  * Accept a specific quote
@@ -3711,7 +3828,7 @@ export type AcceptQuoteRequest = Message<"silvana.orderbook.v1.AcceptQuoteReques
3711
3828
  * Use `create(AcceptQuoteRequestSchema)` to create a new message.
3712
3829
  */
3713
3830
  export const AcceptQuoteRequestSchema: GenMessage<AcceptQuoteRequest> = /*@__PURE__*/
3714
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 76);
3831
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 78);
3715
3832
 
3716
3833
  /**
3717
3834
  * @generated from message silvana.orderbook.v1.AcceptQuoteResponse
@@ -3740,7 +3857,7 @@ export type AcceptQuoteResponse = Message<"silvana.orderbook.v1.AcceptQuoteRespo
3740
3857
  * Use `create(AcceptQuoteResponseSchema)` to create a new message.
3741
3858
  */
3742
3859
  export const AcceptQuoteResponseSchema: GenMessage<AcceptQuoteResponse> = /*@__PURE__*/
3743
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 77);
3860
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 79);
3744
3861
 
3745
3862
  /**
3746
3863
  * Get connected liquidity providers (replaces activity-based filter)
@@ -3763,7 +3880,7 @@ export type GetConnectedLiquidityProvidersRequest = Message<"silvana.orderbook.v
3763
3880
  * Use `create(GetConnectedLiquidityProvidersRequestSchema)` to create a new message.
3764
3881
  */
3765
3882
  export const GetConnectedLiquidityProvidersRequestSchema: GenMessage<GetConnectedLiquidityProvidersRequest> = /*@__PURE__*/
3766
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 78);
3883
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 80);
3767
3884
 
3768
3885
  /**
3769
3886
  * @generated from message silvana.orderbook.v1.GetConnectedLiquidityProvidersResponse
@@ -3790,7 +3907,7 @@ export type GetConnectedLiquidityProvidersResponse = Message<"silvana.orderbook.
3790
3907
  * Use `create(GetConnectedLiquidityProvidersResponseSchema)` to create a new message.
3791
3908
  */
3792
3909
  export const GetConnectedLiquidityProvidersResponseSchema: GenMessage<GetConnectedLiquidityProvidersResponse> = /*@__PURE__*/
3793
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 79);
3910
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 81);
3794
3911
 
3795
3912
  /**
3796
3913
  * @generated from message silvana.orderbook.v1.ConnectedLpInfo
@@ -3819,7 +3936,7 @@ export type ConnectedLpInfo = Message<"silvana.orderbook.v1.ConnectedLpInfo"> &
3819
3936
  * Use `create(ConnectedLpInfoSchema)` to create a new message.
3820
3937
  */
3821
3938
  export const ConnectedLpInfoSchema: GenMessage<ConnectedLpInfo> = /*@__PURE__*/
3822
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 80);
3939
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 82);
3823
3940
 
3824
3941
  /**
3825
3942
  * @generated from message silvana.orderbook.v1.RfqAuditLogEntry
@@ -3906,7 +4023,7 @@ export type RfqAuditLogEntry = Message<"silvana.orderbook.v1.RfqAuditLogEntry">
3906
4023
  * Use `create(RfqAuditLogEntrySchema)` to create a new message.
3907
4024
  */
3908
4025
  export const RfqAuditLogEntrySchema: GenMessage<RfqAuditLogEntry> = /*@__PURE__*/
3909
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 81);
4026
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 83);
3910
4027
 
3911
4028
  /**
3912
4029
  * @generated from message silvana.orderbook.v1.GetRfqAuditLogRequest
@@ -3961,7 +4078,7 @@ export type GetRfqAuditLogRequest = Message<"silvana.orderbook.v1.GetRfqAuditLog
3961
4078
  * Use `create(GetRfqAuditLogRequestSchema)` to create a new message.
3962
4079
  */
3963
4080
  export const GetRfqAuditLogRequestSchema: GenMessage<GetRfqAuditLogRequest> = /*@__PURE__*/
3964
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 82);
4081
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 84);
3965
4082
 
3966
4083
  /**
3967
4084
  * @generated from message silvana.orderbook.v1.GetRfqAuditLogResponse
@@ -3983,7 +4100,7 @@ export type GetRfqAuditLogResponse = Message<"silvana.orderbook.v1.GetRfqAuditLo
3983
4100
  * Use `create(GetRfqAuditLogResponseSchema)` to create a new message.
3984
4101
  */
3985
4102
  export const GetRfqAuditLogResponseSchema: GenMessage<GetRfqAuditLogResponse> = /*@__PURE__*/
3986
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 83);
4103
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 85);
3987
4104
 
3988
4105
  /**
3989
4106
  * Event streamed from StreamRequestQuotes
@@ -4026,7 +4143,7 @@ export type RfqStreamEvent = Message<"silvana.orderbook.v1.RfqStreamEvent"> & {
4026
4143
  * Use `create(RfqStreamEventSchema)` to create a new message.
4027
4144
  */
4028
4145
  export const RfqStreamEventSchema: GenMessage<RfqStreamEvent> = /*@__PURE__*/
4029
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 84);
4146
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 86);
4030
4147
 
4031
4148
  /**
4032
4149
  * @generated from message silvana.orderbook.v1.RfqStreamInitiated
@@ -4048,7 +4165,7 @@ export type RfqStreamInitiated = Message<"silvana.orderbook.v1.RfqStreamInitiate
4048
4165
  * Use `create(RfqStreamInitiatedSchema)` to create a new message.
4049
4166
  */
4050
4167
  export const RfqStreamInitiatedSchema: GenMessage<RfqStreamInitiated> = /*@__PURE__*/
4051
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 85);
4168
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 87);
4052
4169
 
4053
4170
  /**
4054
4171
  * @generated from message silvana.orderbook.v1.RfqStreamDone
@@ -4070,7 +4187,7 @@ export type RfqStreamDone = Message<"silvana.orderbook.v1.RfqStreamDone"> & {
4070
4187
  * Use `create(RfqStreamDoneSchema)` to create a new message.
4071
4188
  */
4072
4189
  export const RfqStreamDoneSchema: GenMessage<RfqStreamDone> = /*@__PURE__*/
4073
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 86);
4190
+ messageDesc(file_proto_silvana_orderbook_v1_orderbook, 88);
4074
4191
 
4075
4192
  /**
4076
4193
  * Order type enumeration
@@ -4264,6 +4381,45 @@ export enum MarketType {
4264
4381
  export const MarketTypeSchema: GenEnum<MarketType> = /*@__PURE__*/
4265
4382
  enumDesc(file_proto_silvana_orderbook_v1_orderbook, 4);
4266
4383
 
4384
+ /**
4385
+ * Issuance forecast interpretation based on predicted coefficient
4386
+ *
4387
+ * @generated from enum silvana.orderbook.v1.IssuanceForecast
4388
+ */
4389
+ export enum IssuanceForecast {
4390
+ /**
4391
+ * @generated from enum value: ISSUANCE_FORECAST_UNSPECIFIED = 0;
4392
+ */
4393
+ UNSPECIFIED = 0,
4394
+
4395
+ /**
4396
+ * Below PREDICTION_ISSUANCE_LOW threshold
4397
+ *
4398
+ * @generated from enum value: ISSUANCE_FORECAST_LOW = 1;
4399
+ */
4400
+ LOW = 1,
4401
+
4402
+ /**
4403
+ * Between LOW and HIGH thresholds
4404
+ *
4405
+ * @generated from enum value: ISSUANCE_FORECAST_MEDIUM = 2;
4406
+ */
4407
+ MEDIUM = 2,
4408
+
4409
+ /**
4410
+ * Above PREDICTION_ISSUANCE_HIGH threshold
4411
+ *
4412
+ * @generated from enum value: ISSUANCE_FORECAST_HIGH = 3;
4413
+ */
4414
+ HIGH = 3,
4415
+ }
4416
+
4417
+ /**
4418
+ * Describes the enum silvana.orderbook.v1.IssuanceForecast.
4419
+ */
4420
+ export const IssuanceForecastSchema: GenEnum<IssuanceForecast> = /*@__PURE__*/
4421
+ enumDesc(file_proto_silvana_orderbook_v1_orderbook, 5);
4422
+
4267
4423
  /**
4268
4424
  * Invite status enum
4269
4425
  *
@@ -4300,7 +4456,7 @@ export enum InviteStatus {
4300
4456
  * Describes the enum silvana.orderbook.v1.InviteStatus.
4301
4457
  */
4302
4458
  export const InviteStatusSchema: GenEnum<InviteStatus> = /*@__PURE__*/
4303
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 5);
4459
+ enumDesc(file_proto_silvana_orderbook_v1_orderbook, 6);
4304
4460
 
4305
4461
  /**
4306
4462
  * @generated from enum silvana.orderbook.v1.RfqAuditEventType
@@ -4341,7 +4497,7 @@ export enum RfqAuditEventType {
4341
4497
  * Describes the enum silvana.orderbook.v1.RfqAuditEventType.
4342
4498
  */
4343
4499
  export const RfqAuditEventTypeSchema: GenEnum<RfqAuditEventType> = /*@__PURE__*/
4344
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 6);
4500
+ enumDesc(file_proto_silvana_orderbook_v1_orderbook, 7);
4345
4501
 
4346
4502
  /**
4347
4503
  * @generated from service silvana.orderbook.v1.OrderbookService