@evalops/sdk-ts 0.1.99 → 0.1.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agentruntime/v1/runtime_pb.d.ts +47 -0
- package/dist/agentruntime/v1/runtime_pb.js +93 -88
- package/dist/fermata/v1/fermata_pb.d.ts +5325 -685
- package/dist/fermata/v1/fermata_pb.js +912 -141
- package/dist/fermata/v1/worker_pb.d.ts +334 -1
- package/dist/fermata/v1/worker_pb.js +39 -8
- package/dist/identity/v1/organizations_pb.d.ts +44 -0
- package/dist/identity/v1/organizations_pb.js +38 -1
- package/dist/identity/v1/tokens_pb.d.ts +9 -1
- package/dist/identity/v1/tokens_pb.js +1 -1
- package/dist/objectives/v1/objectives_pb.d.ts +12 -0
- package/dist/objectives/v1/objectives_pb.js +1 -1
- package/dist/pipeline/v1/pipeline_pb.d.ts +3535 -0
- package/dist/pipeline/v1/pipeline_pb.js +631 -0
- package/dist/toolexecution/v1/toolexecution_pb.d.ts +42 -0
- package/dist/toolexecution/v1/toolexecution_pb.js +25 -20
- package/dist/vfs/v1/filesystem_pb.js +2 -1
- package/package.json +6 -2
|
@@ -11,7 +11,7 @@ import { file_traces_v1_traces } from "../../traces/v1/traces_pb.js";
|
|
|
11
11
|
/**
|
|
12
12
|
* Describes the file fermata/v1/fermata.proto.
|
|
13
13
|
*/
|
|
14
|
-
export const file_fermata_v1_fermata = /*@__PURE__*/ fileDesc("ChhmZXJtYXRhL3YxL2Zlcm1hdGEucHJvdG8SCmZlcm1hdGEudjEiqwIKCVRlc3RTdWl0ZRIKCgJpZBgBIAEoCRIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSHQoMd29ya3NwYWNlX2lkGAMgASgJQge6SARyAhABEhUKBG5hbWUYBCABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBSABKAkSIwoFY2FzZXMYBiADKAsyFC5mZXJtYXRhLnYxLlRlc3RDYXNlEikKCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKrAQoIVGVzdENhc2USCgoCaWQYASABKAkSFQoEbmFtZRgCIAEoCUIHukgEcgIQARINCgVpbnB1dBgDIAEoCRIXCg9leHBlY3RlZF9vdXRwdXQYBCABKAkSKQoKYXNzZXJ0aW9ucxgFIAMoCzIVLmZlcm1hdGEudjEuQXNzZXJ0aW9uEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKsAQoJQXNzZXJ0aW9uEgoKAmlkGAEgASgJEjEKBGtpbmQYAiABKA4yGS5mZXJtYXRhLnYxLkFzc2VydGlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi0AEKD0N1c3RvbUV2YWx1YXRvchIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKBnNvdXJjZRgCIAEoCUIHukgEcgIQARIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9vcmdhbml6YXRpb25faWQYBSABKAkSFAoMd29ya3NwYWNlX2lkGAYgASgJIqMDCgVKdWRnZRIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD29yZ2FuaXphdGlvbl9pZBgMIAEoCRIUCgx3b3Jrc3BhY2VfaWQYDSABKAkiugYKCFNjZW5hcmlvEgoKAmlkGAEgASgJEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAyABKAlCB7pIBHICEAESFQoEbmFtZRgEIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgFIAEoCRIoCglvYmplY3RpdmUYBiABKAsyFS5mZXJtYXRhLnYxLk9iamVjdGl2ZRItCgxhZ2VudF9jb25maWcYByABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAggASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAkgASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAogASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgLIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYDCABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGA0gASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDiADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA8gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgQIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYESABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYEiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIu8BCglPYmplY3RpdmUSHAoLZGVzY3JpcHRpb24YASABKAlCB7pIBHICEAESNgoQc3VjY2Vzc19jcml0ZXJpYRgCIAMoCzIcLmZlcm1hdGEudjEuU3VjY2Vzc0NyaXRlcmlvbhJACg5leHBlY3RlZF9zdGF0ZRgDIAMoCzIoLmZlcm1hdGEudjEuT2JqZWN0aXZlLkV4cGVjdGVkU3RhdGVFbnRyeRIUCgxvYmplY3RpdmVfaWQYBCABKAkaNAoSRXhwZWN0ZWRTdGF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEirwEKEFN1Y2Nlc3NDcml0ZXJpb24SCgoCaWQYASABKAkSHAoLZGVzY3JpcHRpb24YAiABKAlCB7pIBHICEAESDgoGbWV0cmljGAMgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAQgASgJEh4KBndlaWdodBgFIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqUBCgtBZ2VudENvbmZpZxIQCghhZ2VudF9pZBgBIAEoCRINCgVtb2RlbBgCIAEoCRIRCgl0b29sX3JlZnMYAyADKAkSGQoRcGVybWlzc2lvbl9zY29wZXMYBCADKAkSHAoUZ292ZXJuYW5jZV9wb2xpY3lfaWQYBSABKAkSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IvcBChNTY2VuYXJpb0Vudmlyb25tZW50EjsKBGtpbmQYASABKA4yIy5mZXJtYXRhLnYxLlNjZW5hcmlvRW52aXJvbm1lbnRLaW5kQgi6SAWCAQIQARIjCgV0b29scxgCIAMoCzIULmZlcm1hdGEudjEuTW9ja1Rvb2wSKwoJZW5kcG9pbnRzGAMgAygLMhguZmVybWF0YS52MS5Nb2NrRW5kcG9pbnQSFQoNc2VlZF9kYXRhX3JlZhgEIAEoCRIPCgdzYW5kYm94GAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCK7AQoITW9ja1Rvb2wSFQoEbmFtZRgBIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgCIAEoCRItCgxpbnB1dF9zY2hlbWEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCHJlc3BvbnNlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiqQEKDE1vY2tFbmRwb2ludBIOCgZtZXRob2QYASABKAkSFQoEcGF0aBgCIAEoCUIHukgEcgIQARIcCgtzdGF0dXNfY29kZRgDIAEoBUIHukgEGgIoABIpCghyZXNwb25zZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IocCCg1Vc2VyU2ltdWxhdG9yEg8KB3BlcnNvbmEYASABKAkSFAoMaW5zdHJ1Y3Rpb25zGAIgASgJEj0KCHN0cmF0ZWd5GAMgASgOMiEuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yU3RyYXRlZ3lCCLpIBYIBAhABEg0KBW1vZGVsGAQgASgJEhoKCW1heF90dXJucxgFIAEoBUIHukgEGgIoABIbChN2ZXJpZnlfYWdlbnRfY2xhaW1zGAYgASgIEh0KFXJlcXVlc3RfY2xhcmlmaWNhdGlvbhgHIAEoCBIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QixQEKEE91dGNvbWVDcml0ZXJpb24SCgoCaWQYASABKAkSOAoEa2luZBgCIAEoDjIgLmZlcm1hdGEudjEuT3V0Y29tZUNyaXRlcmlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRIeCgZ3ZWlnaHQYBSABKAFCDrpICxIJKQAAAAAAAAAAEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLcAgoTR292ZXJuYW5jZUFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uVHlwZUIIukgFggECEAESOwoTZXhwZWN0ZWRfcmlza19sZXZlbBgDIAEoDjIULmNvbW1vbi52MS5SaXNrTGV2ZWxCCLpIBYIBAhABEhcKD3Nob3VsZF9lc2NhbGF0ZRgEIAEoCBIhChlleHBlY3RlZF9hcHByb3ZhbF9vdXRjb21lGAUgASgJEhsKE2FsbG93ZWRfZGF0YV9zY29wZXMYBiADKAkSGgoSZGVuaWVkX2RhdGFfc2NvcGVzGAcgAygJEh8KF2V4cGVjdGVkX3BpaV9jYXRlZ29yaWVzGAggAygJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLqAQoTRGVsZWdhdGlvbkFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5EZWxlZ2F0aW9uQXNzZXJ0aW9uVHlwZUIIukgFggECEAESGQoRZXhwZWN0ZWRfYWdlbnRfaWQYAyABKAkSIAoPbWF4X2NoYWluX2RlcHRoGAQgASgFQge6SAQaAigAEiIKCG1heF9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKIBAoLU2NlbmFyaW9SdW4SCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDiABKAkisQYKDlNjZW5hcmlvUmVzdWx0EhoKEm9iamVjdGl2ZV9hY2hpZXZlZBgBIAEoCBIZChFvYmplY3RpdmVfc3VtbWFyeRgCIAEoCRIcCgt0b3RhbF9zdGVwcxgDIAEoBUIHukgEGgIoABIcCgttb2RlbF9jYWxscxgEIAEoBUIHukgEGgIoABIbCgp0b29sX2NhbGxzGAUgASgFQge6SAQaAigAEiIKEWFwcHJvdmFsX3JlcXVlc3RzGAYgASgFQge6SAQaAigAEiIKEWRlbGVnYXRpb25fZXZlbnRzGAcgASgFQge6SAQaAigAEiAKD3JlY292ZXJ5X2V2ZW50cxgIIAEoBUIHukgEGgIoABI+ChFhc3NlcnRpb25fcmVzdWx0cxgJIAMoCzIjLmZlcm1hdGEudjEuU2NlbmFyaW9Bc3NlcnRpb25SZXN1bHQSLwoKZ292ZXJuYW5jZRgKIAEoCzIbLmZlcm1hdGEudjEuR292ZXJuYW5jZVNjb3JlEiwKCWVjb25vbWljcxgLIAEoCzIZLmZlcm1hdGEudjEuRWNvbm9taWNTY29yZRIhCglwYXNzX2F0X2sYDCABKAFCDrpICxIJKQAAAAAAAAAAEi8KCmRlbGVnYXRpb24YDSABKAsyGy5mZXJtYXRhLnYxLkRlbGVnYXRpb25TY29yZRIkCgp0b3RhbF9jb3N0GA4gASgLMhAuY29tbW9uLnYxLk1vbmV5EjEKDnRvdGFsX2R1cmF0aW9uGA8gASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEikKCG1ldGFkYXRhGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIjCgp0cmFqZWN0b3J5GBEgAygLMg8udHJhY2VzLnYxLlNwYW4SJQoNdHJhamVjdG9yeV9mMRgSIAEoAUIOukgLEgkpAAAAAAAAAAASNgoedHJhamVjdG9yeV9lZGl0X2Rpc3RhbmNlX3Njb3JlGBMgASgBQg66SAsSCSkAAAAAAAAAABIqCgVkcmlmdBgUIAEoCzIbLmZlcm1hdGEudjEuRHJpZnRDb21wYXJpc29uIpoBChdTY2VuYXJpb0Fzc2VydGlvblJlc3VsdBIUCgxhc3NlcnRpb25faWQYASABKAkSDgoGcGFzc2VkGAIgASgIEg0KBXNjb3JlGAMgASgBEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKPAgoPR292ZXJuYW5jZVNjb3JlEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAEgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgCIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRcG9saWN5X2NvbXBsaWFuY2UYAyABKAFCDrpICxIJKQAAAAAAAAAAEisKE2FwcHJvdmFsX2VmZmljaWVuY3kYBCABKAFCDrpICxIJKQAAAAAAAAAAEiEKCWNvbXBvc2l0ZRgFIAEoAUIOukgLEgkpAAAAAAAAAAASKAoIZXZpZGVuY2UYBiADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYigAIKDUVjb25vbWljU2NvcmUSMgoYY29zdF9wZXJfc3VjY2Vzc2Z1bF90YXNrGAEgASgLMhAuY29tbW9uLnYxLk1vbmV5EiIKCGxsbV9jb3N0GAIgASgLMhAuY29tbW9uLnYxLk1vbmV5EiMKCXRvb2xfY29zdBgDIAEoCzIQLmNvbW1vbi52MS5Nb25leRIqChBzdXBlcnZpc2lvbl9jb3N0GAQgASgLMhAuY29tbW9uLnYxLk1vbmV5EhoKEm9uX3BhcmV0b19mcm9udGllchgFIAEoCBIqChJxdWFsaXR5X3Blcl9kb2xsYXIYBiABKAFCDrpICxIJKQAAAAAAAAAAIsoBCg9EZWxlZ2F0aW9uU2NvcmUSKwoTZGVsZWdhdGlvbl9hY2N1cmFjeRgBIAEoAUIOukgLEgkpAAAAAAAAAAASKAoQY29udGV4dF9maWRlbGl0eRgCIAEoAUIOukgLEgkpAAAAAAAAAAASFwoPZWZmaWNpZW5jeV9nYWluGAMgASgBEikKEWZhaWx1cmVfaXNvbGF0aW9uGAQgASgBQg66SAsSCSkAAAAAAAAAABIcCgtjaGFpbl9kZXB0aBgFIAEoBUIHukgEGgIoACLeAwoPRHJpZnRDb21wYXJpc29uEhAKCGRldGVjdGVkGAEgASgIEi4KFmJhc2VsaW5lX3F1YWxpdHlfc2NvcmUYAiABKAFCDrpICxIJKQAAAAAAAAAAEi0KFWN1cnJlbnRfcXVhbGl0eV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASFQoNcXVhbGl0eV9kZWx0YRgEIAEoARInCg1iYXNlbGluZV9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EiYKDGN1cnJlbnRfY29zdBgGIAEoCzIQLmNvbW1vbi52MS5Nb25leRIkCgpjb3N0X2RlbHRhGAcgASgLMhAuY29tbW9uLnYxLk1vbmV5EjAKGGJhc2VsaW5lX2VzY2FsYXRpb25fcmF0ZRgIIAEoAUIOukgLEgkpAAAAAAAAAAASLwoXY3VycmVudF9lc2NhbGF0aW9uX3JhdGUYCSABKAFCDrpICxIJKQAAAAAAAAAAEh0KFWVzY2FsYXRpb25fcmF0ZV9kZWx0YRgKIAEoARIgChhnZW5lcmF0ZWRfc3VpdGVfc3RyYXRlZ3kYCyABKAkSKAoIZXZpZGVuY2UYDCADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYi1QEKFkNyZWF0ZVRlc3RTdWl0ZVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIVCgRuYW1lGAMgASgJQge6SARyAhABEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiMKBWNhc2VzGAUgAygLMhQuZmVybWF0YS52MS5UZXN0Q2FzZRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPwoXQ3JlYXRlVGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSJfChNHZXRUZXN0U3VpdGVSZXF1ZXN0EhkKCHN1aXRlX2lkGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiPAoUR2V0VGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSKAAQoVTGlzdFRlc3RTdWl0ZXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlEKFkxpc3RUZXN0U3VpdGVzUmVzcG9uc2USJQoGc3VpdGVzGAEgAygLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUSEAoIaGFzX21vcmUYAiABKAgi4wUKFUNyZWF0ZVNjZW5hcmlvUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhUKBG5hbWUYAyABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBCABKAkSMAoJb2JqZWN0aXZlGAUgASgLMhUuZmVybWF0YS52MS5PYmplY3RpdmVCBrpIA8gBARItCgxhZ2VudF9jb25maWcYBiABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAcgASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAggASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgKIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYCyABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGAwgASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDSADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA4gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgPIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYECABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkAKFkNyZWF0ZVNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvImEKEkdldFNjZW5hcmlvUmVxdWVzdBIcCgtzY2VuYXJpb19pZBgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIj0KE0dldFNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvIn8KFExpc3RTY2VuYXJpb3NSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlIKFUxpc3RTY2VuYXJpb3NSZXNwb25zZRInCglzY2VuYXJpb3MYASADKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvEhAKCGhhc19tb3JlGAIgASgIIsYGChFBZ2VudFRhc2tFdmFsU3BlYxIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhUKBG5hbWUYAyABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBCABKAkSFQoEdGFzaxgFIAEoCUIHukgEcgIQARISCgpyZXBvc2l0b3J5GAYgASgJEg4KBmJyYW5jaBgHIAEoCRIQCghhZ2VudF9pZBgIIAEoCRINCgVtb2RlbBgJIAEoCRIWCg5yZXF1aXJlZF90b29scxgKIAMoCRIXCg9mb3JiaWRkZW5fdG9vbHMYCyADKAkSGQoRcmVxdWlyZWRfY29tbWFuZHMYDCADKAkSGgoSZm9yYmlkZGVuX2NvbW1hbmRzGA0gAygJEhoKEnJlcXVpcmVkX2FydGlmYWN0cxgOIAMoCRIZChFyZXF1aXJlZF9ldmlkZW5jZRgPIAMoCRIZChFwZXJtaXNzaW9uX3Njb3BlcxgQIAMoCRIpChFxdWFsaXR5X3RocmVzaG9sZBgRIAEoAUIOukgLEgkpAAAAAAAAAAASGgoJbWF4X3N0ZXBzGBIgASgFQge6SAQaAigAEiYKFW1heF9hcHByb3ZhbF9yZXF1ZXN0cxgTIAEoBUIHukgEGgIoABIrChptYXhfZGVsZWdhdGlvbl9jaGFpbl9kZXB0aBgUIAEoBUIHukgEGgIoABIkCgxtYXhfY29zdF91c2QYFSABKAFCDrpICxIJKQAAAAAAAAAAEiUKFG1heF9kdXJhdGlvbl9zZWNvbmRzGBYgASgDQge6SAQiAigAEhcKBmVwb2NocxgXIAEoBUIHukgEGgIoABIZChFyZXF1aXJlc19hcHByb3ZhbBgYIAEoCBI7ChNleHBlY3RlZF9yaXNrX2xldmVsGBkgASgOMhQuY29tbW9uLnYxLlJpc2tMZXZlbEIIukgFggECEAESKQoIZml4dHVyZXMYGiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGBsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJRChpDcmVhdGVBZ2VudFRhc2tFdmFsUmVxdWVzdBIzCgRldmFsGAEgASgLMh0uZmVybWF0YS52MS5BZ2VudFRhc2tFdmFsU3BlY0IGukgDyAEBIkUKG0NyZWF0ZUFnZW50VGFza0V2YWxSZXNwb25zZRImCghzY2VuYXJpbxgBIAEoCzIULmZlcm1hdGEudjEuU2NlbmFyaW8i6QEKF1J1bkFnZW50VGFza0V2YWxSZXF1ZXN0EjMKBGV2YWwYASABKAsyHS5mZXJtYXRhLnYxLkFnZW50VGFza0V2YWxTcGVjQga6SAPIAQESDgoGcnVuX2lkGAIgASgJEhAKCHRyYWNlX2lkGAMgASgJEhYKBWVwb2NoGAQgASgFQge6SAQaAigAEjAKB2FjdHVhbHMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qga6SAPIAQESLQoMcnVuX21ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJ4ChhSdW5BZ2VudFRhc2tFdmFsUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvEiQKA3J1bhgCIAEoCzIXLmZlcm1hdGEudjEuU2NlbmFyaW9SdW4SDgoGcGFzc2VkGAMgASgIIn0KHFVwc2VydEN1c3RvbUV2YWx1YXRvclJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCgZzb3VyY2UYAiABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJPCh1VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJhChlHZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSJMChpHZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJ9ChtMaXN0Q3VzdG9tRXZhbHVhdG9yc1JlcXVlc3QSFgoFbGltaXQYASABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAIgASgFQge6SAQaAigAEhcKD29yZ2FuaXphdGlvbl9pZBgDIAEoCRIUCgx3b3Jrc3BhY2VfaWQYBCABKAkiYQocTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXNwb25zZRIvCgpldmFsdWF0b3JzGAEgAygLMhsuZmVybWF0YS52MS5DdXN0b21FdmFsdWF0b3ISEAoIaGFzX21vcmUYAiABKAgiZAocRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiHwodRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2Ui0AIKElVwc2VydEp1ZGdlUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKD29yZ2FuaXphdGlvbl9pZBgKIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCyABKAkiNwoTVXBzZXJ0SnVkZ2VSZXNwb25zZRIgCgVqdWRnZRgBIAEoCzIRLmZlcm1hdGEudjEuSnVkZ2UiVwoPR2V0SnVkZ2VSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI0ChBHZXRKdWRnZVJlc3BvbnNlEiAKBWp1ZGdlGAEgASgLMhEuZmVybWF0YS52MS5KdWRnZSJzChFMaXN0SnVkZ2VzUmVxdWVzdBIWCgVsaW1pdBgBIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYAiABKAVCB7pIBBoCKAASFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJJChJMaXN0SnVkZ2VzUmVzcG9uc2USIQoGanVkZ2VzGAEgAygLMhEuZmVybWF0YS52MS5KdWRnZRIQCghoYXNfbW9yZRgCIAEoCCJaChJEZWxldGVKdWRnZVJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIhUKE0RlbGV0ZUp1ZGdlUmVzcG9uc2UivgIKFFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EhwKC3NjZW5hcmlvX2lkGAEgASgJQge6SARyAhABEhUKDXJ1bl9pZF9wcmVmaXgYAiABKAkSEAoIdHJhY2VfaWQYAyABKAkSKAoHYWN0dWFscxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoNZXBvY2hfYWN0dWFscxgFIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKBmVwb2NocxgHIAEoBUIHukgEGgIoABISCgpsaW5lYWdlX2lkGAggASgJEhcKD29yZ2FuaXphdGlvbl9pZBgJIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCiABKAkiYQoVU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiUKBHJ1bnMYASADKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuEiEKEHB1Ymxpc2hlZF9ldmVudHMYAiABKAVCB7pIBBoCKAAivQIKHUNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EjsKCHNjZW5hcmlvGAEgASgLMiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3RCBrpIA8gBARIVCg1ydW5faWRfcHJlZml4GAIgASgJEhAKCHRyYWNlX2lkGAMgASgJEigKB2FjdHVhbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KDWVwb2NoX2FjdHVhbHMYBSADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei8KDnN0YXJ0X21ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgZlcG9jaHMYByABKAVCB7pIBBoCKAASEgoKbGluZWFnZV9pZBgIIAEoCSKSAQoeQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbxIlCgRydW5zGAIgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIhChBwdWJsaXNoZWRfZXZlbnRzGAMgASgFQge6SAQaAigAIrUDChhSZWNvcmRTY2VuYXJpb1J1blJlcXVlc3QSCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDCABKAkiQQoZUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZRIkCgNydW4YASABKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuIl8KFUdldFNjZW5hcmlvUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI+ChZHZXRTY2VuYXJpb1J1blJlc3BvbnNlEiQKA3J1bhgBIAEoCzIXLmZlcm1hdGEudjEuU2NlbmFyaW9SdW4ilwEKF0xpc3RTY2VuYXJpb1J1bnNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLc2NlbmFyaW9faWQYAyABKAkSFgoFbGltaXQYBCABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAUgASgFQge6SAQaAigAIlMKGExpc3RTY2VuYXJpb1J1bnNSZXNwb25zZRIlCgRydW5zGAEgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIQCghoYXNfbW9yZRgCIAEoCCKZAQoqR2V0RXZhbHVhdGlvbk9ic2VydmFiaWxpdHlEYXNoYm9hcmRSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGAoEZGF5cxgDIAEoBUIKukgHGgUY7QIoABIZCgVsaW1pdBgEIAEoBUIKukgHGgUY9AMoACKVAwoeRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EhsKCnRvdGFsX3J1bnMYASABKAVCB7pIBBoCKAASHgoNdG90YWxfcmVzdWx0cxgCIAEoBUIHukgEGgIoABIfCg5mYWlsZWRfcmVzdWx0cxgDIAEoBUIHukgEGgIoABIlCg1hdmVyYWdlX3Njb3JlGAQgASgBQg66SAsSCSkAAAAAAAAAABIhCglwYXNzX3JhdGUYBSABKAFCDrpICxIJKQAAAAAAAAAAEiQKCnRvdGFsX2Nvc3QYBiABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAcgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAASJwoWcmVncmVzc2lvbl9hbGVydF9jb3VudBgJIAEoBUIHukgEGgIoABIxChd0b3RhbF9jb3N0c19ieV9jdXJyZW5jeRgKIAMoCzIQLmNvbW1vbi52MS5Nb25leSKIBAoaRXZhbHVhdGlvblJlY2VudFJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAIgASgJEh4KDXRvdGFsX3Jlc3VsdHMYAyABKAVCB7pIBBoCKAASIgoRY29tcGxldGVkX3Jlc3VsdHMYBCABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYBSABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgGIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgHIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYCCABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAkgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCiABKANCB7pIBCICKAASLgoKc3RhcnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCgh0cmFjZV9pZBgNIAEoCRIaChJvYmplY3RpdmVfYWNoaWV2ZWQYDiABKAgi0QMKGUV2YWx1YXRpb25SZWdyZXNzaW9uQWxlcnQSEwoCaWQYASABKAlCB7pIBHICEAESEwoLc2NlbmFyaW9faWQYAiABKAkSIAoPc2NlbmFyaW9fcnVuX2lkGAMgASgJQge6SARyAhABEhAKCHNldmVyaXR5GAQgASgJEg8KB21lc3NhZ2UYBSABKAkSLQoVcmVncmVzc2lvbl9wZXJjZW50YWdlGAYgASgBQg66SAsSCSkAAAAAAAAAABIgChhiYXNlbGluZV9zY2VuYXJpb19ydW5faWQYByABKAkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAggASgBQg66SAsSCSkAAAAAAAAAABIkCgp0b3RhbF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5EhMKC2Vudmlyb25tZW50GAogASgJEiEKGXN0YXRpc3RpY2FsbHlfc2lnbmlmaWNhbnQYCyABKAgSHwoHcF92YWx1ZRgMIAEoAUIOukgLEgkpAAAAAAAAAAASGAoQZGVncmFkZWRfbWV0cmljcxgNIAMoCRIvCgtyZWNvcmRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi6QEKK0dldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkUmVzcG9uc2USOwoHc3VtbWFyeRgBIAEoCzIqLmZlcm1hdGEudjEuRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EjsKC3JlY2VudF9ydW5zGAIgAygLMiYuZmVybWF0YS52MS5FdmFsdWF0aW9uUmVjZW50UnVuU3VtbWFyeRJAChFyZWdyZXNzaW9uX2FsZXJ0cxgDIAMoCzIlLmZlcm1hdGEudjEuRXZhbHVhdGlvblJlZ3Jlc3Npb25BbGVydCJxCh5HZXRFdmFsdWF0aW9uUnVuTWV0cmljc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAEivgIKG0V2YWx1YXRpb25SdW5NZXRyaWNzU3VtbWFyeRIdCgxyZXN1bHRfY291bnQYASABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYAiABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgEIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYBSABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAYgASgBQg66SAsSCSkAAAAAAAAAABIfCg5wOTVfbGF0ZW5jeV9tcxgHIAEoA0IHukgEIgIoABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAAi3QEKGkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzEhQKDGFzc2VydGlvbl9pZBgBIAEoCRIOCgZwYXNzZWQYAiABKAgSHQoFc2NvcmUYAyABKAFCDrpICxIJKQAAAAAAAAAAEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK2AQofR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3NSZXNwb25zZRIgCg9zY2VuYXJpb19ydW5faWQYASABKAlCB7pIBHICEAESOAoHc3VtbWFyeRgCIAEoCzInLmZlcm1hdGEudjEuRXZhbHVhdGlvblJ1bk1ldHJpY3NTdW1tYXJ5EjcKB3Jlc3VsdHMYAyADKAsyJi5mZXJtYXRhLnYxLkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzIqgBCiRHZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydFJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRITCgtzY2VuYXJpb19pZBgDIAEoCRIYCgRkYXlzGAQgASgFQgq6SAcaBRjtAigAEhkKBWxpbWl0GAUgASgFQgq6SAcaBRj0AygAItEBChxHb3Zlcm5hbmNlQXNzZXJ0aW9uQWdncmVnYXRlEh0KDGFzc2VydGlvbl9pZBgBIAEoCUIHukgEcgIQARIWCgV0b3RhbBgCIAEoBUIHukgEGgIoABIXCgZwYXNzZWQYAyABKAVCB7pIBBoCKAASFwoGZmFpbGVkGAQgASgFQge6SAQaAigAEiEKCXBhc3NfcmF0ZRgFIAEoAUIOukgLEgkpAAAAAAAAAAASJQoNYXZlcmFnZV9zY29yZRgGIAEoAUIOukgLEgkpAAAAAAAAAAAizgQKF0dvdmVybmFuY2VSZXBvcnRTdW1tYXJ5EhsKCnRvdGFsX3J1bnMYASABKAVCB7pIBBoCKAASHgoNZ292ZXJuZWRfcnVucxgCIAEoBUIHukgEGgIoABInChZwYXNzZWRfZ292ZXJuYW5jZV9ydW5zGAMgASgFQge6SAQaAigAEicKFmZhaWxlZF9nb3Zlcm5hbmNlX3J1bnMYBCABKAVCB7pIBBoCKAASLwoXYXZlcmFnZV9jb21wb3NpdGVfc2NvcmUYBSABKAFCDrpICxIJKQAAAAAAAAAAEi4KFnBvbGljeV9jb21wbGlhbmNlX3JhdGUYBiABKAFCDrpICxIJKQAAAAAAAAAAEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAcgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKwoTYXBwcm92YWxfZWZmaWNpZW5jeRgJIAEoAUIOukgLEgkpAAAAAAAAAAASKAoXdG90YWxfYXBwcm92YWxfcmVxdWVzdHMYCiABKAVCB7pIBBoCKAASMQoZYXZlcmFnZV9hcHByb3ZhbF9yZXF1ZXN0cxgLIAEoAUIOukgLEgkpAAAAAAAAAAASIgoRcmlza19zaWduYWxfY291bnQYDCABKAVCB7pIBBoCKAASPAoKYXNzZXJ0aW9ucxgNIAMoCzIoLmZlcm1hdGEudjEuR292ZXJuYW5jZUFzc2VydGlvbkFnZ3JlZ2F0ZSLmAwoUR292ZXJuYW5jZVJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAIgASgJEjcKBnN0YXR1cxgDIAEoDjIdLmZlcm1hdGEudjEuU2NlbmFyaW9SdW5TdGF0dXNCCLpIBYIBAhABEicKD2NvbXBvc2l0ZV9zY29yZRgEIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRcG9saWN5X2NvbXBsaWFuY2UYBSABKAFCDrpICxIJKQAAAAAAAAAAEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAYgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgHIAEoAUIOukgLEgkpAAAAAAAAAAASKwoTYXBwcm92YWxfZWZmaWNpZW5jeRgIIAEoAUIOukgLEgkpAAAAAAAAAAASIgoRYXBwcm92YWxfcmVxdWVzdHMYCSABKAVCB7pIBBoCKAASHAoUZmFpbGVkX2Fzc2VydGlvbl9pZHMYCiADKAkSEAoIdHJhY2VfaWQYCyABKAkSMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKMAgoUR292ZXJuYW5jZVJpc2tTaWduYWwSEwoCaWQYASABKAlCB7pIBHICEAESIAoPc2NlbmFyaW9fcnVuX2lkGAIgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAMgASgJEhAKCHNldmVyaXR5GAQgASgJEg8KB21lc3NhZ2UYBSABKAkSGAoQZGVncmFkZWRfbWV0cmljcxgGIAMoCRIoCghldmlkZW5jZRgHIAMoCzIWLmNvbW1vbi52MS5FdmlkZW5jZVJlZhIQCgh0cmFjZV9pZBgIIAEoCRIvCgtyZWNvcmRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizAEKJUdldEV2YWx1YXRpb25Hb3Zlcm5hbmNlUmVwb3J0UmVzcG9uc2USNAoHc3VtbWFyeRgBIAEoCzIjLmZlcm1hdGEudjEuR292ZXJuYW5jZVJlcG9ydFN1bW1hcnkSNQoLcmVjZW50X3J1bnMYAiADKAsyIC5mZXJtYXRhLnYxLkdvdmVybmFuY2VSdW5TdW1tYXJ5EjYKDHJpc2tfc2lnbmFscxgDIAMoCzIgLmZlcm1hdGEudjEuR292ZXJuYW5jZVJpc2tTaWduYWwi3wEKEURpYWdub3N0aWNGaW5kaW5nEgoKAmlkGAEgASgJEkEKCHNldmVyaXR5GAIgASgOMiUuZmVybWF0YS52MS5EaWFnbm9zdGljRmluZGluZ1NldmVyaXR5Qgi6SAWCAQIQARIWCgV0aXRsZRgDIAEoCUIHukgEcgIQARIOCgZkZXRhaWwYBCABKAkSKAoIZXZpZGVuY2UYBSADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Iu8EChxFdmFsdWF0aW9uRGlhZ25vc3RpY0FydGlmYWN0EhMKAmlkGAEgASgJQge6SARyAhABEjoKBGtpbmQYAiABKA4yIi5mZXJtYXRhLnYxLkRpYWdub3N0aWNBcnRpZmFjdEtpbmRCCLpIBYIBAhABEiAKD29yZ2FuaXphdGlvbl9pZBgDIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYBCABKAkSEwoLc2NlbmFyaW9faWQYBSABKAkSIAoPc2NlbmFyaW9fcnVuX2lkGAYgASgJQge6SARyAhABEhAKCHRyYWNlX2lkGAcgASgJEhYKBXRpdGxlGAggASgJQge6SARyAhABEg8KB3N1bW1hcnkYCSABKAkSLwoIZmluZGluZ3MYCiADKAsyHS5mZXJtYXRhLnYxLkRpYWdub3N0aWNGaW5kaW5nEigKCGV2aWRlbmNlGAsgAygLMhYuY29tbW9uLnYxLkV2aWRlbmNlUmVmEi4KDWlucHV0X2NvbnRleHQYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKB3BheWxvYWQYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGFydGlmYWN0X3VyaRgOIAEoCRIWCg5jb250ZW50X3NoYTI1NhgPIAEoCRIRCglwZXJzaXN0ZWQYECABKAgSLgoKY3JlYXRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAixwEKGUV4cGxhaW5TY2VuYXJpb1J1blJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAESFQoNaW5jbHVkZV90cmFjZRgEIAEoCBIYChBwZXJzaXN0X2FydGlmYWN0GAUgASgIEigKB2NvbnRleHQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IlgKGkV4cGxhaW5TY2VuYXJpb1J1blJlc3BvbnNlEjoKCGFydGlmYWN0GAEgASgLMiguZmVybWF0YS52MS5FdmFsdWF0aW9uRGlhZ25vc3RpY0FydGlmYWN0IvEBCiJBbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFwoGcnVuX2lkGAMgASgJQge6SARyAhABEh8KF3N1c3BlY3RlZF9mYWlsdXJlX21vZGVzGAQgAygJEhUKDWluY2x1ZGVfdHJhY2UYBSABKAgSGAoQcGVyc2lzdF9hcnRpZmFjdBgGIAEoCBIoCgdjb250ZXh0GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJhCiNBbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXNwb25zZRI6CghhcnRpZmFjdBgBIAEoCzIoLmZlcm1hdGEudjEuRXZhbHVhdGlvbkRpYWdub3N0aWNBcnRpZmFjdCKRAgoeSnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lNZXRyaWNzEhEKCXByZWNpc2lvbhgBIAEoARIOCgZyZWNhbGwYAiABKAESEAoIZjFfc2NvcmUYAyABKAESEAoIYWNjdXJhY3kYBCABKAESIgoRdG90YWxfdmFsaWRhdGlvbnMYBSABKAVCB7pIBBoCKAASHwoOdHJ1ZV9wb3NpdGl2ZXMYBiABKAVCB7pIBBoCKAASIAoPZmFsc2VfcG9zaXRpdmVzGAcgASgFQge6SAQaAigAEh8KDnRydWVfbmVnYXRpdmVzGAggASgFQge6SAQaAigAEiAKD2ZhbHNlX25lZ2F0aXZlcxgJIAEoBUIHukgEGgIoACLAAQoeSnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4EiYKFWp1ZGdlX3Bhc3NfaHVtYW5fcGFzcxgBIAEoBUIHukgEGgIoABImChVqdWRnZV9wYXNzX2h1bWFuX2ZhaWwYAiABKAVCB7pIBBoCKAASJgoVanVkZ2VfZmFpbF9odW1hbl9wYXNzGAMgASgFQge6SAQaAigAEiYKFWp1ZGdlX2ZhaWxfaHVtYW5fZmFpbBgEIAEoBUIHukgEGgIoACLRAQoaSnVkZ2VWYWxpZGF0aW9uQmlhc01ldHJpY3MSFAoMb3Zlcl9zY29yaW5nGAEgASgIEhUKDXVuZGVyX3Njb3JpbmcYAiABKAgSEwoLc2NvcmVfZHJpZnQYAyABKAESGwoTYXZlcmFnZV9qdWRnZV9zY29yZRgEIAEoARIbChNhdmVyYWdlX2h1bWFuX3Njb3JlGAUgASgBEhkKEXNjb3JlX2NvcnJlbGF0aW9uGAYgASgBEhwKC3NhbXBsZV9zaXplGAcgASgFQge6SAQaAigAIpwBChpKdWRnZVZhbGlkYXRpb25DYWxpYnJhdGlvbhIZCghqdWRnZV9pZBgBIAEoCUIHukgEcgIQARIbChN2YWxpZGF0aW9uX2FjY3VyYWN5GAIgASgBEhEKCXZhbGlkYXRlZBgDIAEoCBIzCg9sYXN0X3ZhbGlkYXRpb24YBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpkEChlKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uEh4KDWV2YWx1YXRpb25faWQYASABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgDIAEoCRIZCghqdWRnZV9pZBgEIAEoCUIHukgEcgIQARIXCg9zY2VuYXJpb19ydW5faWQYBSABKAkSFAoMYXNzZXJ0aW9uX2lkGAYgASgJEiwKC2p1ZGdlX3Njb3JlGAcgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAABIUCgxqdWRnZV9wYXNzZWQYCCABKAgSFwoPaHVtYW5fdmFsaWRhdGVkGAkgASgIEjEKC2h1bWFuX3Njb3JlGAogASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYCyABKAkSDgoGc291cmNlGAwgASgJEjAKDGV2YWx1YXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2h1bWFuX3Njb3JlIkgKGUp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGUSGQoIanVkZ2VfaWQYASABKAlCB7pIBHICEAESEAoIYWNjdXJhY3kYAiABKAEiYAohR2V0SnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJhCiJHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlc3BvbnNlEjsKB21ldHJpY3MYASABKAsyKi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5TWV0cmljcyJnCihHZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJnCilHZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXNwb25zZRI6CgZtYXRyaXgYASABKAsyKi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeCJcCh1HZXRKdWRnZVZhbGlkYXRpb25CaWFzUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESGQoIanVkZ2VfaWQYAiABKAlCB7pIBHICEAEiWQoeR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1Jlc3BvbnNlEjcKB21ldHJpY3MYASABKAsyJi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkJpYXNNZXRyaWNzImAKIVJlY2FsaWJyYXRlSnVkZ2VWYWxpZGF0aW9uUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESGQoIanVkZ2VfaWQYAiABKAlCB7pIBHICEAEiYQoiUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXNwb25zZRI7CgtjYWxpYnJhdGlvbhgBIAEoCzImLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQ2FsaWJyYXRpb24ivQMKJlJlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXF1ZXN0EhUKDWV2YWx1YXRpb25faWQYASABKAkSIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgDIAEoCRIZCghqdWRnZV9pZBgEIAEoCUIHukgEcgIQARIXCg9zY2VuYXJpb19ydW5faWQYBSABKAkSFAoMYXNzZXJ0aW9uX2lkGAYgASgJEiwKC2p1ZGdlX3Njb3JlGAcgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAABIUCgxqdWRnZV9wYXNzZWQYCCABKAgSFwoPaHVtYW5fdmFsaWRhdGVkGAkgASgIEjEKC2h1bWFuX3Njb3JlGAogASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYCyABKAkSDgoGc291cmNlGAwgASgJEjAKDGV2YWx1YXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2h1bWFuX3Njb3JlImQKJ1JlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXNwb25zZRI5CgpldmFsdWF0aW9uGAEgASgLMiUuZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uIskBCihWYWxpZGF0ZUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXF1ZXN0Eh4KDWV2YWx1YXRpb25faWQYASABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEjEKC2h1bWFuX3Njb3JlGAMgASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYBCABKAlCDgoMX2h1bWFuX3Njb3JlImYKKVZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlEjkKCmV2YWx1YXRpb24YASABKAsyJS5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24ioAEKJUxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEiAKD21pbl92YWxpZGF0aW9ucxgCIAEoBUIHukgEGgIoABIzChJhY2N1cmFjeV90aHJlc2hvbGQYAyABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAIr8BCiZMaXN0SnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZXNSZXNwb25zZRI5CgpjYW5kaWRhdGVzGAEgAygLMiUuZmVybWF0YS52MS5KdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlEhwKC3RvdGFsX2NvdW50GAIgASgFQge6SAQaAigAEiAKD21pbl92YWxpZGF0aW9ucxgDIAEoBUIHukgEGgIoABIaChJhY2N1cmFjeV90aHJlc2hvbGQYBCABKAEi3QQKEVF1YWxpdHlHYXRlQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBARIzCg1taW5fcGFzc19yYXRlGAIgASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgBiAEBEjcKEW1pbl9hdmVyYWdlX3Njb3JlGAMgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAAEgCiAEBEiYKEG1heF9mYWlsZWRfdGVzdHMYBCABKAVCB7pIBBoCKABIA4gBARIxChRyZWdyZXNzaW9uX3RocmVzaG9sZBgFIAEoAUIOukgLEgkpAAAAAAAAAABIBIgBARIhChRibG9ja19vbl9hbnlfZmFpbHVyZRgGIAEoCEgFiAEBEi4KEW1heF9jb3N0X2luY3JlYXNlGAcgASgBQg66SAsSCSkAAAAAAAAAAEgGiAEBEjEKFG1heF9sYXRlbmN5X2luY3JlYXNlGAggASgBQg66SAsSCSkAAAAAAAAAAEgHiAEBEjkKD2N1c3RvbV9jcml0ZXJpYRgJIAMoCzIgLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVDcml0ZXJpb25CCgoIX2VuYWJsZWRCEAoOX21pbl9wYXNzX3JhdGVCFAoSX21pbl9hdmVyYWdlX3Njb3JlQhMKEV9tYXhfZmFpbGVkX3Rlc3RzQhcKFV9yZWdyZXNzaW9uX3RocmVzaG9sZEIXChVfYmxvY2tfb25fYW55X2ZhaWx1cmVCFAoSX21heF9jb3N0X2luY3JlYXNlQhcKFV9tYXhfbGF0ZW5jeV9pbmNyZWFzZSJhChRRdWFsaXR5R2F0ZUNyaXRlcmlvbhIMCgRuYW1lGAEgASgJEgwKBHR5cGUYAiABKAkSEAoIb3BlcmF0b3IYAyABKAkSDQoFdmFsdWUYBCABKAESDAoEdW5pdBgFIAEoCSJpChRRdWFsaXR5R2F0ZVZpb2xhdGlvbhIMCgRydWxlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEAoIc2V2ZXJpdHkYAyABKAkSDgoGYWN0dWFsGAQgASgBEhAKCGV4cGVjdGVkGAUgASgBInMKElF1YWxpdHlHYXRlU3VtbWFyeRIdCgx0b3RhbF9jaGVja3MYASABKAVCB7pIBBoCKAASHgoNcGFzc2VkX2NoZWNrcxgCIAEoBUIHukgEGgIoABIeCg1mYWlsZWRfY2hlY2tzGAMgASgFQge6SAQaAigAIpgFChFRdWFsaXR5R2F0ZVJlc3VsdBIKCgJpZBgBIAEoCRIcCgt0ZXN0X3J1bl9pZBgCIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAyABKAkSFAoMd29ya3NwYWNlX2lkGAQgASgJEhMKC2Vudmlyb25tZW50GAUgASgJEhYKDm92ZXJhbGxfc3RhdHVzGAYgASgJEhYKDm92ZXJhbGxfcGFzc2VkGAcgASgIEjAKDGV2YWx1YXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoQY3JpdGVyaWFfcmVzdWx0cxgJIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHwoOdG90YWxfY3JpdGVyaWEYCiABKAVCB7pIBBoCKAASIAoPcGFzc2VkX2NyaXRlcmlhGAsgASgFQge6SAQaAigAEiAKD2ZhaWxlZF9jcml0ZXJpYRgMIAEoBUIHukgEGgIoABIhChB3YXJuaW5nX2NyaXRlcmlhGA0gASgFQge6SAQaAigAEi0KDHRlc3RfbWV0cmljcxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMgoLY29uZmlnX3VzZWQYDyABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnEg4KBnBhc3NlZBgQIAEoCBINCgVzY29yZRgRIAEoARI0Cgp2aW9sYXRpb25zGBIgAygLMiAuZmVybWF0YS52MS5RdWFsaXR5R2F0ZVZpb2xhdGlvbhIvCgdzdW1tYXJ5GBMgASgLMh4uZmVybWF0YS52MS5RdWFsaXR5R2F0ZVN1bW1hcnkSDwoHZGV0YWlscxgUIAEoCSJBChVRdWFsaXR5R2F0ZVBhZ2luYXRpb24SFgoFdG90YWwYASABKAVCB7pIBBoCKAASEAoIaGFzX21vcmUYAiABKAgiHwodR2V0UXVhbGl0eUdhdGVEZWZhdWx0c1JlcXVlc3Qi7gEKHkdldFF1YWxpdHlHYXRlRGVmYXVsdHNSZXNwb25zZRJICgdjb25maWdzGAEgAygLMjcuZmVybWF0YS52MS5HZXRRdWFsaXR5R2F0ZURlZmF1bHRzUmVzcG9uc2UuQ29uZmlnc0VudHJ5EjMKEmF2YWlsYWJsZV9jcml0ZXJpYRgCIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QaTQoMQ29uZmlnc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVDb25maWc6AjgBIjgKHUxpc3RRdWFsaXR5R2F0ZUNvbmZpZ3NSZXF1ZXN0EhcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCSK5AQoeTGlzdFF1YWxpdHlHYXRlQ29uZmlnc1Jlc3BvbnNlEkgKB2NvbmZpZ3MYASADKAsyNy5mZXJtYXRhLnYxLkxpc3RRdWFsaXR5R2F0ZUNvbmZpZ3NSZXNwb25zZS5Db25maWdzRW50cnkaTQoMQ29uZmlnc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVDb25maWc6AjgBIksKG0dldFF1YWxpdHlHYXRlQ29uZmlnUmVxdWVzdBIXCg9vcmdhbml6YXRpb25faWQYASABKAkSEwoLZW52aXJvbm1lbnQYAiABKAkiYgocR2V0UXVhbGl0eUdhdGVDb25maWdSZXNwb25zZRITCgtlbnZpcm9ubWVudBgBIAEoCRItCgZjb25maWcYAiABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnIo4BCh5VcHNlcnRRdWFsaXR5R2F0ZUNvbmZpZ1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhMKC2Vudmlyb25tZW50GAIgASgJEjUKBmNvbmZpZxgDIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVDb25maWdCBrpIA8gBASJlCh9VcHNlcnRRdWFsaXR5R2F0ZUNvbmZpZ1Jlc3BvbnNlEhMKC2Vudmlyb25tZW50GAEgASgJEi0KBmNvbmZpZxgCIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVDb25maWciVgodUmVzZXRRdWFsaXR5R2F0ZUNvbmZpZ1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhMKC2Vudmlyb25tZW50GAIgASgJIpIBCh5SZXNldFF1YWxpdHlHYXRlQ29uZmlnUmVzcG9uc2USEwoLZW52aXJvbm1lbnQYASABKAkSLAoIcmVzZXRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KBmNvbmZpZxgDIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVDb25maWci+QEKGkV2YWx1YXRlUXVhbGl0eUdhdGVSZXF1ZXN0EhcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLZW52aXJvbm1lbnQYAyABKAkSHAoLdGVzdF9ydW5faWQYBCABKAlCB7pIBHICEAESKAoHbWV0cmljcxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLQoGY29uZmlnGAYgASgLMh0uZmVybWF0YS52MS5RdWFsaXR5R2F0ZUNvbmZpZxIUCgdwZXJzaXN0GAcgASgISACIAQFCCgoIX3BlcnNpc3QiTAobRXZhbHVhdGVRdWFsaXR5R2F0ZVJlc3BvbnNlEi0KBnJlc3VsdBgBIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVSZXN1bHQi8wIKIEJhdGNoRXZhbHVhdGVRdWFsaXR5R2F0ZXNSZXF1ZXN0EhcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLZW52aXJvbm1lbnQYAyABKAkSFAoMdGVzdF9ydW5faWRzGAQgAygJElYKDm1ldHJpY3NfYnlfcnVuGAUgAygLMj4uZmVybWF0YS52MS5CYXRjaEV2YWx1YXRlUXVhbGl0eUdhdGVzUmVxdWVzdC5NZXRyaWNzQnlSdW5FbnRyeRItCgZjb25maWcYBiABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnEhQKB3BlcnNpc3QYByABKAhIAIgBARpMChFNZXRyaWNzQnlSdW5FbnRyeRILCgNrZXkYASABKAkSJgoFdmFsdWUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0OgI4AUIKCghfcGVyc2lzdCLBAQohQmF0Y2hFdmFsdWF0ZVF1YWxpdHlHYXRlc1Jlc3BvbnNlEiAKD3RvdGFsX3Byb2Nlc3NlZBgBIAEoBUIHukgEGgIoABIbCgpzdWNjZXNzZnVsGAIgASgFQge6SAQaAigAEhcKBmZhaWxlZBgDIAEoBUIHukgEGgIoABIuCgdyZXN1bHRzGAQgAygLMh0uZmVybWF0YS52MS5RdWFsaXR5R2F0ZVJlc3VsdBIUCgxuZXh0X2FjdGlvbnMYBSADKAkiYwofR2V0UXVhbGl0eUdhdGVFdmFsdWF0aW9uUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHgoNZXZhbHVhdGlvbl9pZBgCIAEoCUIHukgEcgIQASJVCiBHZXRRdWFsaXR5R2F0ZUV2YWx1YXRpb25SZXNwb25zZRIxCgpldmFsdWF0aW9uGAEgASgLMh0uZmVybWF0YS52MS5RdWFsaXR5R2F0ZVJlc3VsdCLCAQodTGlzdFF1YWxpdHlHYXRlUmVzdWx0c1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRITCgtlbnZpcm9ubWVudBgDIAEoCRIOCgZzdGF0dXMYBCABKAkSEwoLdGVzdF9ydW5faWQYBSABKAkSFgoFbGltaXQYBiABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAcgASgFQge6SAQaAigAIocBCh5MaXN0UXVhbGl0eUdhdGVSZXN1bHRzUmVzcG9uc2USLgoHcmVzdWx0cxgBIAMoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVSZXN1bHQSNQoKcGFnaW5hdGlvbhgCIAEoCzIhLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVQYWdpbmF0aW9uIm0KHEdldFF1YWxpdHlHYXRlTWV0cmljc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIVCgRkYXlzGAMgASgFQge6SAQaAigAIrsBCh1HZXRRdWFsaXR5R2F0ZU1ldHJpY3NSZXNwb25zZRIOCgZwZXJpb2QYASABKAkSLQoMdGVzdF9tZXRyaWNzGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIxChBjcml0ZXJpYV9yZXN1bHRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIoCgdzdW1tYXJ5GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKAAQoaR2V0UXVhbGl0eUdhdGVTdGF0c1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRITCgtlbnZpcm9ubWVudBgDIAEoCRIVCgRkYXlzGAQgASgFQge6SAQaAigAItwBChtHZXRRdWFsaXR5R2F0ZVN0YXRzUmVzcG9uc2USDgoGcGVyaW9kGAEgASgJEigKB3N1bW1hcnkYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EicKBnRyZW5kcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLwoOYnlfZW52aXJvbm1lbnQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCHRpbWVsaW5lGAUgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJmCiBWYWxpZGF0ZVF1YWxpdHlHYXRlQ29uZmlnUmVxdWVzdBITCgtlbnZpcm9ubWVudBgBIAEoCRItCgZjb25maWcYAiABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnIrwBCiFWYWxpZGF0ZVF1YWxpdHlHYXRlQ29uZmlnUmVzcG9uc2USDQoFdmFsaWQYASABKAgSDgoGZXJyb3JzGAIgAygJEhAKCHdhcm5pbmdzGAMgAygJEhcKD3JlY29tbWVuZGF0aW9ucxgEIAMoCRITCgtlbnZpcm9ubWVudBgFIAEoCRI4ChFub3JtYWxpemVkX2NvbmZpZxgGIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVDb25maWcicwohUXVhbGl0eUdhdGVSZWdyZXNzaW9uQnVkZ2V0V2FpdmVyEg4KBm1ldHJpYxgBIAEoCRIOCgZyZWFzb24YAiABKAkSLgoKZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiuQIKKkV2YWx1YXRlUXVhbGl0eUdhdGVSZWdyZXNzaW9uQnVkZ2V0UmVxdWVzdBIXCg9vcmdhbml6YXRpb25faWQYASABKAkSKQoIYmFzZWxpbmUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EioKCWNhbmRpZGF0ZRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKAoHYnVkZ2V0cxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoQaGlnaGVyX2lzX2JldHRlchgFIAMoCRIXCg9sb3dlcl9pc19iZXR0ZXIYBiADKAkSPgoHd2FpdmVycxgHIAMoCzItLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVSZWdyZXNzaW9uQnVkZ2V0V2FpdmVyIugBCitFdmFsdWF0ZVF1YWxpdHlHYXRlUmVncmVzc2lvbkJ1ZGdldFJlc3BvbnNlEhAKCGRlY2lzaW9uGAEgASgJEhEKCXBhc3NfZ2F0ZRgCIAEoCBIPCgdibG9ja2VkGAMgASgIEigKF3RvdGFsX21ldHJpY3NfZXZhbHVhdGVkGAQgASgFQge6SAQaAigAEh8KDnRvdGFsX2JyZWFjaGVzGAUgASgFQge6SAQaAigAEikKCGJyZWFjaGVzGAYgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVub3RlcxgHIAMoCSIbChlHZXRNaWdyYXRpb25TdGF0dXNSZXF1ZXN0IlwKFFJvdXRlTWlncmF0aW9uU3RhdHVzEhMKC3BhdGhfcHJlZml4GAEgASgJEhAKCG1pZ3JhdGVkGAIgASgIEh0KFXByb3hpZWRfcmVxdWVzdF9jb3VudBgDIAEoAyJOChpHZXRNaWdyYXRpb25TdGF0dXNSZXNwb25zZRIwCgZyb3V0ZXMYASADKAsyIC5mZXJtYXRhLnYxLlJvdXRlTWlncmF0aW9uU3RhdHVzKucBCg1Bc3NlcnRpb25LaW5kEh4KGkFTU0VSVElPTl9LSU5EX1VOU1BFQ0lGSUVEEAASGwoXQVNTRVJUSU9OX0tJTkRfQ09OVEFJTlMQARIfChtBU1NFUlRJT05fS0lORF9OT1RfQ09OVEFJTlMQAhIYChRBU1NFUlRJT05fS0lORF9SRUdFWBADEh0KGUFTU0VSVElPTl9LSU5EX1NJTUlMQVJJVFkQBBIfChtBU1NFUlRJT05fS0lORF9DVVNUT01fSlVER0UQBRIeChpBU1NFUlRJT05fS0lORF9KU09OX1NDSEVNQRAGKogBCglKdWRnZUtpbmQSGgoWSlVER0VfS0lORF9VTlNQRUNJRklFRBAAEhIKDkpVREdFX0tJTkRfTExNEAESGQoVSlVER0VfS0lORF9SVUxFX0JBU0VEEAISGQoVSlVER0VfS0lORF9TSU1JTEFSSVRZEAMSFQoRSlVER0VfS0lORF9DVVNUT00QBCqTAgoXU2NlbmFyaW9FbnZpcm9ubWVudEtpbmQSKQolU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9VTlNQRUNJRklFRBAAEiQKIFNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfUkVQTEFZEAESJgoiU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9TVEFSTEFSSxACEicKI1NDRU5BUklPX0VOVklST05NRU5UX0tJTkRfTU9DS19IVFRQEAMSJQohU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9TQU5EQk9YEAQSLworU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9QUk9EVUNUSU9OX1NIQURPVxAFKqcCChVVc2VyU2ltdWxhdG9yU3RyYXRlZ3kSJwojVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABInCiNVU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9DT09QRVJBVElWRRABEiEKHVVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1JFQUNUEAISIgoeVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfVkVSSUZZEAMSJgoiVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfUkVGTEVDVElPThAEEicKI1VTRVJfU0lNVUxBVE9SX1NUUkFURUdZX0FEVkVSU0FSSUFMEAUSJAogVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfQ09ORlVTRUQQBiq2AgoUT3V0Y29tZUNyaXRlcmlvbktpbmQSJgoiT1VUQ09NRV9DUklURVJJT05fS0lORF9VTlNQRUNJRklFRBAAEiYKIk9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfRklOQUxfU1RBVEUQARIqCiZPVVRDT01FX0NSSVRFUklPTl9LSU5EX1RBU0tfQ09NUExFVElPThACEiUKIU9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfVFJBSkVDVE9SWRADEiYKIk9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfQ09TVF9CVURHRVQQBBIpCiVPVVRDT01FX0NSSVRFUklPTl9LSU5EX0xBVEVOQ1lfQlVER0VUEAUSKAokT1VUQ09NRV9DUklURVJJT05fS0lORF9RVUFMSVRZX1NDT1JFEAYqugMKF0dvdmVybmFuY2VBc3NlcnRpb25UeXBlEikKJUdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIxCi1HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0VTQ0FMQVRJT05fUkVRVUlSRUQQARIzCi9HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0FVVE9fUFJPQ0VFRF9FWFBFQ1RFRBACEjEKLUdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfUklTS19DTEFTU0lGSUNBVElPThADEjIKLkdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfREFUQV9BQ0NFU1NfQk9VTkRBUlkQBBI4CjRHT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0dPVkVSTkFOQ0VfQkxPQ0tfUkVTUEVDVEVEEAUSMwovR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9TRUxGX0FQUFJPVkFMX0JMT0NLRUQQBhI2CjJHT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1BJSV9ERVRFQ1RFRF9BTkRfSEFORExFRBAHKoADChdEZWxlZ2F0aW9uQXNzZXJ0aW9uVHlwZRIpCiVERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASNwozREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9ERUxFR0FUSU9OX1RBUkdFVF9DT1JSRUNUEAESMgouREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9DT05URVhUX1BSRVNFUlZBVElPThACEjIKLkRFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfREVMRUdBVElPTl9WQUxVRV9BREQQAxI1CjFERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0RFTEVHQVRJT05fQ09TVF9CT1VOREVEEAQSMQotREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9DSEFJTl9ERVBUSF9CT1VOREVEEAUSLworREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9GQUlMVVJFX0lTT0xBVElPThAGKvwBChFTY2VuYXJpb1J1blN0YXR1cxIjCh9TQ0VOQVJJT19SVU5fU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobU0NFTkFSSU9fUlVOX1NUQVRVU19QRU5ESU5HEAESHwobU0NFTkFSSU9fUlVOX1NUQVRVU19SVU5OSU5HEAISHgoaU0NFTkFSSU9fUlVOX1NUQVRVU19QQVNTRUQQAxIeChpTQ0VOQVJJT19SVU5fU1RBVFVTX0ZBSUxFRBAEEh0KGVNDRU5BUklPX1JVTl9TVEFUVVNfRVJST1IQBRIhCh1TQ0VOQVJJT19SVU5fU1RBVFVTX0NBTkNFTExFRBAGKpUBChZEaWFnbm9zdGljQXJ0aWZhY3RLaW5kEigKJERJQUdOT1NUSUNfQVJUSUZBQ1RfS0lORF9VTlNQRUNJRklFRBAAEigKJERJQUdOT1NUSUNfQVJUSUZBQ1RfS0lORF9FWFBMQU5BVElPThABEicKI0RJQUdOT1NUSUNfQVJUSUZBQ1RfS0lORF9ST09UX0NBVVNFEAIqvgEKGURpYWdub3N0aWNGaW5kaW5nU2V2ZXJpdHkSKwonRElBR05PU1RJQ19GSU5ESU5HX1NFVkVSSVRZX1VOU1BFQ0lGSUVEEAASJAogRElBR05PU1RJQ19GSU5ESU5HX1NFVkVSSVRZX0lORk8QARInCiNESUFHTk9TVElDX0ZJTkRJTkdfU0VWRVJJVFlfV0FSTklORxACEiUKIURJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9FUlJPUhADMqwnCg5GZXJtYXRhU2VydmljZRKEAQoPQ3JlYXRlVGVzdFN1aXRlEiIuZmVybWF0YS52MS5DcmVhdGVUZXN0U3VpdGVSZXF1ZXN0GiMuZmVybWF0YS52MS5DcmVhdGVUZXN0U3VpdGVSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJ6CgxHZXRUZXN0U3VpdGUSHy5mZXJtYXRhLnYxLkdldFRlc3RTdWl0ZVJlcXVlc3QaIC5mZXJtYXRhLnYxLkdldFRlc3RTdWl0ZVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSgAEKDkxpc3RUZXN0U3VpdGVzEiEuZmVybWF0YS52MS5MaXN0VGVzdFN1aXRlc1JlcXVlc3QaIi5mZXJtYXRhLnYxLkxpc3RUZXN0U3VpdGVzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKBAQoOQ3JlYXRlU2NlbmFyaW8SIS5mZXJtYXRhLnYxLkNyZWF0ZVNjZW5hcmlvUmVxdWVzdBoiLmZlcm1hdGEudjEuQ3JlYXRlU2NlbmFyaW9SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJ3CgtHZXRTY2VuYXJpbxIeLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SZXF1ZXN0Gh8uZmVybWF0YS52MS5HZXRTY2VuYXJpb1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSfQoNTGlzdFNjZW5hcmlvcxIgLmZlcm1hdGEudjEuTGlzdFNjZW5hcmlvc1JlcXVlc3QaIS5mZXJtYXRhLnYxLkxpc3RTY2VuYXJpb3NSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpUBChNDcmVhdGVBZ2VudFRhc2tFdmFsEiYuZmVybWF0YS52MS5DcmVhdGVBZ2VudFRhc2tFdmFsUmVxdWVzdBonLmZlcm1hdGEudjEuQ3JlYXRlQWdlbnRUYXNrRXZhbFJlc3BvbnNlIi3K8xgNZmVybWF0YTp3cml0ZdjzGALq8xgUZXZhbC5vcmdhbml6YXRpb25faWQSjAEKEFJ1bkFnZW50VGFza0V2YWwSIy5mZXJtYXRhLnYxLlJ1bkFnZW50VGFza0V2YWxSZXF1ZXN0GiQuZmVybWF0YS52MS5SdW5BZ2VudFRhc2tFdmFsUmVzcG9uc2UiLcrzGA1mZXJtYXRhOndyaXRl2PMYAurzGBRldmFsLm9yZ2FuaXphdGlvbl9pZBKWAQoVVXBzZXJ0Q3VzdG9tRXZhbHVhdG9yEiguZmVybWF0YS52MS5VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0GikuZmVybWF0YS52MS5VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKMAQoSR2V0Q3VzdG9tRXZhbHVhdG9yEiUuZmVybWF0YS52MS5HZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0GiYuZmVybWF0YS52MS5HZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpIBChRMaXN0Q3VzdG9tRXZhbHVhdG9ycxInLmZlcm1hdGEudjEuTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXF1ZXN0GiguZmVybWF0YS52MS5MaXN0Q3VzdG9tRXZhbHVhdG9yc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSlgEKFURlbGV0ZUN1c3RvbUV2YWx1YXRvchIoLmZlcm1hdGEudjEuRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBopLmZlcm1hdGEudjEuRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSeAoLVXBzZXJ0SnVkZ2USHi5mZXJtYXRhLnYxLlVwc2VydEp1ZGdlUmVxdWVzdBofLmZlcm1hdGEudjEuVXBzZXJ0SnVkZ2VSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJuCghHZXRKdWRnZRIbLmZlcm1hdGEudjEuR2V0SnVkZ2VSZXF1ZXN0GhwuZmVybWF0YS52MS5HZXRKdWRnZVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSdAoKTGlzdEp1ZGdlcxIdLmZlcm1hdGEudjEuTGlzdEp1ZGdlc1JlcXVlc3QaHi5mZXJtYXRhLnYxLkxpc3RKdWRnZXNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEngKC0RlbGV0ZUp1ZGdlEh4uZmVybWF0YS52MS5EZWxldGVKdWRnZVJlcXVlc3QaHy5mZXJtYXRhLnYxLkRlbGV0ZUp1ZGdlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSfgoNU3RhcnRTY2VuYXJpbxIgLmZlcm1hdGEudjEuU3RhcnRTY2VuYXJpb1JlcXVlc3QaIS5mZXJtYXRhLnYxLlN0YXJ0U2NlbmFyaW9SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgD6vMYD29yZ2FuaXphdGlvbl9pZBKiAQoWQ3JlYXRlQW5kU3RhcnRTY2VuYXJpbxIpLmZlcm1hdGEudjEuQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1JlcXVlc3QaKi5mZXJtYXRhLnYxLkNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXNwb25zZSIxyvMYDWZlcm1hdGE6d3JpdGXY8xgD6vMYGHNjZW5hcmlvLm9yZ2FuaXphdGlvbl9pZBKKAQoRUmVjb3JkU2NlbmFyaW9SdW4SJC5mZXJtYXRhLnYxLlJlY29yZFNjZW5hcmlvUnVuUmVxdWVzdBolLmZlcm1hdGEudjEuUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKAAQoOR2V0U2NlbmFyaW9SdW4SIS5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUnVuUmVxdWVzdBoiLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SdW5SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEoYBChBMaXN0U2NlbmFyaW9SdW5zEiMuZmVybWF0YS52MS5MaXN0U2NlbmFyaW9SdW5zUmVxdWVzdBokLmZlcm1hdGEudjEuTGlzdFNjZW5hcmlvUnVuc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSvwEKI0dldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkEjYuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uT2JzZXJ2YWJpbGl0eURhc2hib2FyZFJlcXVlc3QaNy5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKbAQoXR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3MSKi5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25SdW5NZXRyaWNzUmVxdWVzdBorLmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3NSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEq0BCh1HZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydBIwLmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvbkdvdmVybmFuY2VSZXBvcnRSZXF1ZXN0GjEuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydFJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSjAEKEkV4cGxhaW5TY2VuYXJpb1J1bhIlLmZlcm1hdGEudjEuRXhwbGFpblNjZW5hcmlvUnVuUmVxdWVzdBomLmZlcm1hdGEudjEuRXhwbGFpblNjZW5hcmlvUnVuUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKnAQobQW5hbHl6ZVNjZW5hcmlvUnVuUm9vdENhdXNlEi4uZmVybWF0YS52MS5BbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXF1ZXN0Gi8uZmVybWF0YS52MS5BbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGALq8xgPb3JnYW5pemF0aW9uX2lkEqQBChpHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeRItLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lSZXF1ZXN0Gi4uZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSuQEKIUdldEp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeBI0LmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVxdWVzdBo1LmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKYAQoWR2V0SnVkZ2VWYWxpZGF0aW9uQmlhcxIpLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1JlcXVlc3QaKi5mZXJtYXRhLnYxLkdldEp1ZGdlVmFsaWRhdGlvbkJpYXNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEqUBChpSZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvbhItLmZlcm1hdGEudjEuUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXF1ZXN0Gi4uZmVybWF0YS52MS5SZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkErQBCh9SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uEjIuZmVybWF0YS52MS5SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVxdWVzdBozLmZlcm1hdGEudjEuUmVjb3JkSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEroBCiFWYWxpZGF0ZUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24SNC5mZXJtYXRhLnYxLlZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlcXVlc3QaNS5mZXJtYXRhLnYxLlZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkErABCh5MaXN0SnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZXMSMS5mZXJtYXRhLnYxLkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1JlcXVlc3QaMi5mZXJtYXRhLnYxLkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSbQoSR2V0TWlncmF0aW9uU3RhdHVzEiUuZmVybWF0YS52MS5HZXRNaWdyYXRpb25TdGF0dXNSZXF1ZXN0GiYuZmVybWF0YS52MS5HZXRNaWdyYXRpb25TdGF0dXNSZXNwb25zZSII2PMYAeDzGAEygBAKGUZlcm1hdGFRdWFsaXR5R2F0ZVNlcnZpY2UShQEKFkdldFF1YWxpdHlHYXRlRGVmYXVsdHMSKS5mZXJtYXRhLnYxLkdldFF1YWxpdHlHYXRlRGVmYXVsdHNSZXF1ZXN0GiouZmVybWF0YS52MS5HZXRRdWFsaXR5R2F0ZURlZmF1bHRzUmVzcG9uc2UiFMrzGAxmZXJtYXRhOnJlYWTY8xgBEpgBChZMaXN0UXVhbGl0eUdhdGVDb25maWdzEikuZmVybWF0YS52MS5MaXN0UXVhbGl0eUdhdGVDb25maWdzUmVxdWVzdBoqLmZlcm1hdGEudjEuTGlzdFF1YWxpdHlHYXRlQ29uZmlnc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSkgEKFEdldFF1YWxpdHlHYXRlQ29uZmlnEicuZmVybWF0YS52MS5HZXRRdWFsaXR5R2F0ZUNvbmZpZ1JlcXVlc3QaKC5mZXJtYXRhLnYxLkdldFF1YWxpdHlHYXRlQ29uZmlnUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKcAQoXVXBzZXJ0UXVhbGl0eUdhdGVDb25maWcSKi5mZXJtYXRhLnYxLlVwc2VydFF1YWxpdHlHYXRlQ29uZmlnUmVxdWVzdBorLmZlcm1hdGEudjEuVXBzZXJ0UXVhbGl0eUdhdGVDb25maWdSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKZAQoWUmVzZXRRdWFsaXR5R2F0ZUNvbmZpZxIpLmZlcm1hdGEudjEuUmVzZXRRdWFsaXR5R2F0ZUNvbmZpZ1JlcXVlc3QaKi5mZXJtYXRhLnYxLlJlc2V0UXVhbGl0eUdhdGVDb25maWdSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKQAQoTRXZhbHVhdGVRdWFsaXR5R2F0ZRImLmZlcm1hdGEudjEuRXZhbHVhdGVRdWFsaXR5R2F0ZVJlcXVlc3QaJy5mZXJtYXRhLnYxLkV2YWx1YXRlUXVhbGl0eUdhdGVSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKiAQoZQmF0Y2hFdmFsdWF0ZVF1YWxpdHlHYXRlcxIsLmZlcm1hdGEudjEuQmF0Y2hFdmFsdWF0ZVF1YWxpdHlHYXRlc1JlcXVlc3QaLS5mZXJtYXRhLnYxLkJhdGNoRXZhbHVhdGVRdWFsaXR5R2F0ZXNSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKeAQoYR2V0UXVhbGl0eUdhdGVFdmFsdWF0aW9uEisuZmVybWF0YS52MS5HZXRRdWFsaXR5R2F0ZUV2YWx1YXRpb25SZXF1ZXN0GiwuZmVybWF0YS52MS5HZXRRdWFsaXR5R2F0ZUV2YWx1YXRpb25SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpgBChZMaXN0UXVhbGl0eUdhdGVSZXN1bHRzEikuZmVybWF0YS52MS5MaXN0UXVhbGl0eUdhdGVSZXN1bHRzUmVxdWVzdBoqLmZlcm1hdGEudjEuTGlzdFF1YWxpdHlHYXRlUmVzdWx0c1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSlQEKFUdldFF1YWxpdHlHYXRlTWV0cmljcxIoLmZlcm1hdGEudjEuR2V0UXVhbGl0eUdhdGVNZXRyaWNzUmVxdWVzdBopLmZlcm1hdGEudjEuR2V0UXVhbGl0eUdhdGVNZXRyaWNzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKPAQoTR2V0UXVhbGl0eUdhdGVTdGF0cxImLmZlcm1hdGEudjEuR2V0UXVhbGl0eUdhdGVTdGF0c1JlcXVlc3QaJy5mZXJtYXRhLnYxLkdldFF1YWxpdHlHYXRlU3RhdHNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEo4BChlWYWxpZGF0ZVF1YWxpdHlHYXRlQ29uZmlnEiwuZmVybWF0YS52MS5WYWxpZGF0ZVF1YWxpdHlHYXRlQ29uZmlnUmVxdWVzdBotLmZlcm1hdGEudjEuVmFsaWRhdGVRdWFsaXR5R2F0ZUNvbmZpZ1Jlc3BvbnNlIhTK8xgMZmVybWF0YTpyZWFk2PMYARLAAQojRXZhbHVhdGVRdWFsaXR5R2F0ZVJlZ3Jlc3Npb25CdWRnZXQSNi5mZXJtYXRhLnYxLkV2YWx1YXRlUXVhbGl0eUdhdGVSZWdyZXNzaW9uQnVkZ2V0UmVxdWVzdBo3LmZlcm1hdGEudjEuRXZhbHVhdGVRdWFsaXR5R2F0ZVJlZ3Jlc3Npb25CdWRnZXRSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZEI5WjdnaXRodWIuY29tL2V2YWxvcHMvcGxhdGZvcm0vZ2VuL2dvL2Zlcm1hdGEvdjE7ZmVybWF0YXYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_analytics, file_common_v1_authz, file_common_v1_risk, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_traces_v1_traces]);
|
|
14
|
+
export const file_fermata_v1_fermata = /*@__PURE__*/ fileDesc("ChhmZXJtYXRhL3YxL2Zlcm1hdGEucHJvdG8SCmZlcm1hdGEudjEiqwIKCVRlc3RTdWl0ZRIKCgJpZBgBIAEoCRIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSHQoMd29ya3NwYWNlX2lkGAMgASgJQge6SARyAhABEhUKBG5hbWUYBCABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBSABKAkSIwoFY2FzZXMYBiADKAsyFC5mZXJtYXRhLnYxLlRlc3RDYXNlEikKCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKrAQoIVGVzdENhc2USCgoCaWQYASABKAkSFQoEbmFtZRgCIAEoCUIHukgEcgIQARINCgVpbnB1dBgDIAEoCRIXCg9leHBlY3RlZF9vdXRwdXQYBCABKAkSKQoKYXNzZXJ0aW9ucxgFIAMoCzIVLmZlcm1hdGEudjEuQXNzZXJ0aW9uEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKsAQoJQXNzZXJ0aW9uEgoKAmlkGAEgASgJEjEKBGtpbmQYAiABKA4yGS5mZXJtYXRhLnYxLkFzc2VydGlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QigwIKF1ByZXZpZXdBc3NlcnRpb25SZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFQoNZXZhbHVhdGlvbl9pZBgDIAEoCRIwCglhc3NlcnRpb24YBCABKAsyFS5mZXJtYXRhLnYxLkFzc2VydGlvbkIGukgDyAEBEg0KBWlucHV0GAUgASgJEhcKD2V4cGVjdGVkX291dHB1dBgGIAEoCRIVCg1hY3R1YWxfb3V0cHV0GAcgASgJEigKB2NvbnRleHQYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ik8KGFByZXZpZXdBc3NlcnRpb25SZXNwb25zZRIzCgZyZXN1bHQYASABKAsyIy5mZXJtYXRhLnYxLlNjZW5hcmlvQXNzZXJ0aW9uUmVzdWx0IqsBCiNQcmV2aWV3U2NlbmFyaW9SdW5Bc3NlcnRpb25zUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEhcKBnJ1bl9pZBgDIAEoCUIHukgEcgIQARIzCgphc3NlcnRpb25zGAQgAygLMhUuZmVybWF0YS52MS5Bc3NlcnRpb25CCLpIBZIBAggBIrsCCiRQcmV2aWV3U2NlbmFyaW9SdW5Bc3NlcnRpb25zUmVzcG9uc2USFwoPc2NlbmFyaW9fcnVuX2lkGAEgASgJEhMKC3NjZW5hcmlvX2lkGAIgASgJEjQKB3Jlc3VsdHMYAyADKAsyIy5mZXJtYXRhLnYxLlNjZW5hcmlvQXNzZXJ0aW9uUmVzdWx0EiEKEHRvdGFsX2Fzc2VydGlvbnMYBCABKAVCB7pIBBoCKAASIgoRcGFzc2VkX2Fzc2VydGlvbnMYBSABKAVCB7pIBBoCKAASIgoRZmFpbGVkX2Fzc2VydGlvbnMYBiABKAVCB7pIBBoCKAASDgoGcGFzc2VkGAcgASgIEh0KBXNjb3JlGAggASgBQg66SAsSCSkAAAAAAAAAABIVCg1hY3R1YWxfb3V0cHV0GAkgASgJItABCg9DdXN0b21FdmFsdWF0b3ISFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCgZzb3VyY2UYAiABKAlCB7pIBHICEAESLgoKY3JlYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPb3JnYW5pemF0aW9uX2lkGAUgASgJEhQKDHdvcmtzcGFjZV9pZBgGIAEoCSKjAwoFSnVkZ2USFQoEbmFtZRgBIAEoCUIHukgEcgIQARItCgRraW5kGAIgASgOMhUuZmVybWF0YS52MS5KdWRnZUtpbmRCCLpIBYIBAhABEg4KBnByb21wdBgDIAEoCRINCgVtb2RlbBgEIAEoCRIsCgt0ZW1wZXJhdHVyZRgFIAEoAUIXukgUEhIZAAAAAAAAAEApAAAAAAAAAAASGwoKbWF4X3Rva2VucxgGIAEoBUIHukgEGgIoABIQCghjcml0ZXJpYRgHIAMoCRIeCgZ3ZWlnaHQYCCABKAFCDrpICxIJKQAAAAAAAAAAEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9vcmdhbml6YXRpb25faWQYDCABKAkSFAoMd29ya3NwYWNlX2lkGA0gASgJIroGCghTY2VuYXJpbxIKCgJpZBgBIAEoCRIgCg9vcmdhbml6YXRpb25faWQYAiABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAMgASgJQge6SARyAhABEhUKBG5hbWUYBCABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBSABKAkSKAoJb2JqZWN0aXZlGAYgASgLMhUuZmVybWF0YS52MS5PYmplY3RpdmUSLQoMYWdlbnRfY29uZmlnGAcgASgLMhcuZmVybWF0YS52MS5BZ2VudENvbmZpZxI0CgtlbnZpcm9ubWVudBgIIAEoCzIfLmZlcm1hdGEudjEuU2NlbmFyaW9FbnZpcm9ubWVudBIxCg51c2VyX3NpbXVsYXRvchgJIAEoCzIZLmZlcm1hdGEudjEuVXNlclNpbXVsYXRvchIiCghtYXhfY29zdBgKIAEoCzIQLmNvbW1vbi52MS5Nb25leRIvCgxtYXhfZHVyYXRpb24YCyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SGgoJbWF4X3N0ZXBzGAwgASgFQge6SAQaAigAEiYKFW1heF9hcHByb3ZhbF9yZXF1ZXN0cxgNIAEoBUIHukgEGgIoABI2ChBvdXRjb21lX2NyaXRlcmlhGA4gAygLMhwuZmVybWF0YS52MS5PdXRjb21lQ3JpdGVyaW9uEj4KFWdvdmVybmFuY2VfYXNzZXJ0aW9ucxgPIAMoCzIfLmZlcm1hdGEudjEuR292ZXJuYW5jZUFzc2VydGlvbhI+ChVkZWxlZ2F0aW9uX2Fzc2VydGlvbnMYECADKAsyHy5mZXJtYXRhLnYxLkRlbGVnYXRpb25Bc3NlcnRpb24SFwoGZXBvY2hzGBEgASgFQge6SAQaAigAEikKCG1ldGFkYXRhGBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLvAQoJT2JqZWN0aXZlEhwKC2Rlc2NyaXB0aW9uGAEgASgJQge6SARyAhABEjYKEHN1Y2Nlc3NfY3JpdGVyaWEYAiADKAsyHC5mZXJtYXRhLnYxLlN1Y2Nlc3NDcml0ZXJpb24SQAoOZXhwZWN0ZWRfc3RhdGUYAyADKAsyKC5mZXJtYXRhLnYxLk9iamVjdGl2ZS5FeHBlY3RlZFN0YXRlRW50cnkSFAoMb2JqZWN0aXZlX2lkGAQgASgJGjQKEkV4cGVjdGVkU3RhdGVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIq8BChBTdWNjZXNzQ3JpdGVyaW9uEgoKAmlkGAEgASgJEhwKC2Rlc2NyaXB0aW9uGAIgASgJQge6SARyAhABEg4KBm1ldHJpYxgDIAEoCRIWCg5leHBlY3RlZF92YWx1ZRgEIAEoCRIeCgZ3ZWlnaHQYBSABKAFCDrpICxIJKQAAAAAAAAAAEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKlAQoLQWdlbnRDb25maWcSEAoIYWdlbnRfaWQYASABKAkSDQoFbW9kZWwYAiABKAkSEQoJdG9vbF9yZWZzGAMgAygJEhkKEXBlcm1pc3Npb25fc2NvcGVzGAQgAygJEhwKFGdvdmVybmFuY2VfcG9saWN5X2lkGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCL3AQoTU2NlbmFyaW9FbnZpcm9ubWVudBI7CgRraW5kGAEgASgOMiMuZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50S2luZEIIukgFggECEAESIwoFdG9vbHMYAiADKAsyFC5mZXJtYXRhLnYxLk1vY2tUb29sEisKCWVuZHBvaW50cxgDIAMoCzIYLmZlcm1hdGEudjEuTW9ja0VuZHBvaW50EhUKDXNlZWRfZGF0YV9yZWYYBCABKAkSDwoHc2FuZGJveBgFIAEoCRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiuwEKCE1vY2tUb29sEhUKBG5hbWUYASABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YAiABKAkSLQoMaW5wdXRfc2NoZW1hGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghyZXNwb25zZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqkBCgxNb2NrRW5kcG9pbnQSDgoGbWV0aG9kGAEgASgJEhUKBHBhdGgYAiABKAlCB7pIBHICEAESHAoLc3RhdHVzX2NvZGUYAyABKAVCB7pIBBoCKAASKQoIcmVzcG9uc2UYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKHAgoNVXNlclNpbXVsYXRvchIPCgdwZXJzb25hGAEgASgJEhQKDGluc3RydWN0aW9ucxgCIAEoCRI9CghzdHJhdGVneRgDIAEoDjIhLmZlcm1hdGEudjEuVXNlclNpbXVsYXRvclN0cmF0ZWd5Qgi6SAWCAQIQARINCgVtb2RlbBgEIAEoCRIaCgltYXhfdHVybnMYBSABKAVCB7pIBBoCKAASGwoTdmVyaWZ5X2FnZW50X2NsYWltcxgGIAEoCBIdChVyZXF1ZXN0X2NsYXJpZmljYXRpb24YByABKAgSKQoIbWV0YWRhdGEYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IsUBChBPdXRjb21lQ3JpdGVyaW9uEgoKAmlkGAEgASgJEjgKBGtpbmQYAiABKA4yIC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb25LaW5kQgi6SAWCAQIQARIOCgZ0YXJnZXQYAyABKAkSEAoIZXhwZWN0ZWQYBCABKAkSHgoGd2VpZ2h0GAUgASgBQg66SAsSCSkAAAAAAAAAABIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi3AIKE0dvdmVybmFuY2VBc3NlcnRpb24SCgoCaWQYASABKAkSOwoEdHlwZRgCIAEoDjIjLmZlcm1hdGEudjEuR292ZXJuYW5jZUFzc2VydGlvblR5cGVCCLpIBYIBAhABEjsKE2V4cGVjdGVkX3Jpc2tfbGV2ZWwYAyABKA4yFC5jb21tb24udjEuUmlza0xldmVsQgi6SAWCAQIQARIXCg9zaG91bGRfZXNjYWxhdGUYBCABKAgSIQoZZXhwZWN0ZWRfYXBwcm92YWxfb3V0Y29tZRgFIAEoCRIbChNhbGxvd2VkX2RhdGFfc2NvcGVzGAYgAygJEhoKEmRlbmllZF9kYXRhX3Njb3BlcxgHIAMoCRIfChdleHBlY3RlZF9waWlfY2F0ZWdvcmllcxgIIAMoCRIpCghtZXRhZGF0YRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi6gEKE0RlbGVnYXRpb25Bc3NlcnRpb24SCgoCaWQYASABKAkSOwoEdHlwZRgCIAEoDjIjLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvblR5cGVCCLpIBYIBAhABEhkKEWV4cGVjdGVkX2FnZW50X2lkGAMgASgJEiAKD21heF9jaGFpbl9kZXB0aBgEIAEoBUIHukgEGgIoABIiCghtYXhfY29zdBgFIAEoCzIQLmNvbW1vbi52MS5Nb25leRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiiAQKC1NjZW5hcmlvUnVuEgoKAmlkGAEgASgJEhwKC3NjZW5hcmlvX2lkGAIgASgJQge6SARyAhABEiAKD29yZ2FuaXphdGlvbl9pZBgDIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYBCABKAlCB7pIBHICEAESFgoFZXBvY2gYBSABKAVCB7pIBBoCKAASNwoGc3RhdHVzGAYgASgOMh0uZmVybWF0YS52MS5TY2VuYXJpb1J1blN0YXR1c0IIukgFggECEAESKgoGcmVzdWx0GAcgASgLMhouZmVybWF0YS52MS5TY2VuYXJpb1Jlc3VsdBIQCgh0cmFjZV9pZBgIIAEoCRIpCghtZXRhZGF0YRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKc3RhcnRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpsaW5lYWdlX2lkGA4gASgJIrEGCg5TY2VuYXJpb1Jlc3VsdBIaChJvYmplY3RpdmVfYWNoaWV2ZWQYASABKAgSGQoRb2JqZWN0aXZlX3N1bW1hcnkYAiABKAkSHAoLdG90YWxfc3RlcHMYAyABKAVCB7pIBBoCKAASHAoLbW9kZWxfY2FsbHMYBCABKAVCB7pIBBoCKAASGwoKdG9vbF9jYWxscxgFIAEoBUIHukgEGgIoABIiChFhcHByb3ZhbF9yZXF1ZXN0cxgGIAEoBUIHukgEGgIoABIiChFkZWxlZ2F0aW9uX2V2ZW50cxgHIAEoBUIHukgEGgIoABIgCg9yZWNvdmVyeV9ldmVudHMYCCABKAVCB7pIBBoCKAASPgoRYXNzZXJ0aW9uX3Jlc3VsdHMYCSADKAsyIy5mZXJtYXRhLnYxLlNjZW5hcmlvQXNzZXJ0aW9uUmVzdWx0Ei8KCmdvdmVybmFuY2UYCiABKAsyGy5mZXJtYXRhLnYxLkdvdmVybmFuY2VTY29yZRIsCgllY29ub21pY3MYCyABKAsyGS5mZXJtYXRhLnYxLkVjb25vbWljU2NvcmUSIQoJcGFzc19hdF9rGAwgASgBQg66SAsSCSkAAAAAAAAAABIvCgpkZWxlZ2F0aW9uGA0gASgLMhsuZmVybWF0YS52MS5EZWxlZ2F0aW9uU2NvcmUSJAoKdG90YWxfY29zdBgOIAEoCzIQLmNvbW1vbi52MS5Nb25leRIxCg50b3RhbF9kdXJhdGlvbhgPIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIpCghtZXRhZGF0YRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSIwoKdHJhamVjdG9yeRgRIAMoCzIPLnRyYWNlcy52MS5TcGFuEiUKDXRyYWplY3RvcnlfZjEYEiABKAFCDrpICxIJKQAAAAAAAAAAEjYKHnRyYWplY3RvcnlfZWRpdF9kaXN0YW5jZV9zY29yZRgTIAEoAUIOukgLEgkpAAAAAAAAAAASKgoFZHJpZnQYFCABKAsyGy5mZXJtYXRhLnYxLkRyaWZ0Q29tcGFyaXNvbiKaAQoXU2NlbmFyaW9Bc3NlcnRpb25SZXN1bHQSFAoMYXNzZXJ0aW9uX2lkGAEgASgJEg4KBnBhc3NlZBgCIAEoCBINCgVzY29yZRgDIAEoARIOCgZhY3R1YWwYBCABKAkSDwoHbWVzc2FnZRgFIAEoCRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QijwIKD0dvdmVybmFuY2VTY29yZRIsChRlc2NhbGF0aW9uX3ByZWNpc2lvbhgBIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRZXNjYWxhdGlvbl9yZWNhbGwYAiABKAFCDrpICxIJKQAAAAAAAAAAEikKEXBvbGljeV9jb21wbGlhbmNlGAMgASgBQg66SAsSCSkAAAAAAAAAABIrChNhcHByb3ZhbF9lZmZpY2llbmN5GAQgASgBQg66SAsSCSkAAAAAAAAAABIhCgljb21wb3NpdGUYBSABKAFCDrpICxIJKQAAAAAAAAAAEigKCGV2aWRlbmNlGAYgAygLMhYuY29tbW9uLnYxLkV2aWRlbmNlUmVmIoACCg1FY29ub21pY1Njb3JlEjIKGGNvc3RfcGVyX3N1Y2Nlc3NmdWxfdGFzaxgBIAEoCzIQLmNvbW1vbi52MS5Nb25leRIiCghsbG1fY29zdBgCIAEoCzIQLmNvbW1vbi52MS5Nb25leRIjCgl0b29sX2Nvc3QYAyABKAsyEC5jb21tb24udjEuTW9uZXkSKgoQc3VwZXJ2aXNpb25fY29zdBgEIAEoCzIQLmNvbW1vbi52MS5Nb25leRIaChJvbl9wYXJldG9fZnJvbnRpZXIYBSABKAgSKgoScXVhbGl0eV9wZXJfZG9sbGFyGAYgASgBQg66SAsSCSkAAAAAAAAAACLKAQoPRGVsZWdhdGlvblNjb3JlEisKE2RlbGVnYXRpb25fYWNjdXJhY3kYASABKAFCDrpICxIJKQAAAAAAAAAAEigKEGNvbnRleHRfZmlkZWxpdHkYAiABKAFCDrpICxIJKQAAAAAAAAAAEhcKD2VmZmljaWVuY3lfZ2FpbhgDIAEoARIpChFmYWlsdXJlX2lzb2xhdGlvbhgEIAEoAUIOukgLEgkpAAAAAAAAAAASHAoLY2hhaW5fZGVwdGgYBSABKAVCB7pIBBoCKAAi3gMKD0RyaWZ0Q29tcGFyaXNvbhIQCghkZXRlY3RlZBgBIAEoCBIuChZiYXNlbGluZV9xdWFsaXR5X3Njb3JlGAIgASgBQg66SAsSCSkAAAAAAAAAABItChVjdXJyZW50X3F1YWxpdHlfc2NvcmUYAyABKAFCDrpICxIJKQAAAAAAAAAAEhUKDXF1YWxpdHlfZGVsdGEYBCABKAESJwoNYmFzZWxpbmVfY29zdBgFIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxjdXJyZW50X2Nvc3QYBiABKAsyEC5jb21tb24udjEuTW9uZXkSJAoKY29zdF9kZWx0YRgHIAEoCzIQLmNvbW1vbi52MS5Nb25leRIwChhiYXNlbGluZV9lc2NhbGF0aW9uX3JhdGUYCCABKAFCDrpICxIJKQAAAAAAAAAAEi8KF2N1cnJlbnRfZXNjYWxhdGlvbl9yYXRlGAkgASgBQg66SAsSCSkAAAAAAAAAABIdChVlc2NhbGF0aW9uX3JhdGVfZGVsdGEYCiABKAESIAoYZ2VuZXJhdGVkX3N1aXRlX3N0cmF0ZWd5GAsgASgJEigKCGV2aWRlbmNlGAwgAygLMhYuY29tbW9uLnYxLkV2aWRlbmNlUmVmItUBChZDcmVhdGVUZXN0U3VpdGVSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAiABKAlCB7pIBHICEAESFQoEbmFtZRgDIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgEIAEoCRIjCgVjYXNlcxgFIAMoCzIULmZlcm1hdGEudjEuVGVzdENhc2USKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ij8KF0NyZWF0ZVRlc3RTdWl0ZVJlc3BvbnNlEiQKBXN1aXRlGAEgASgLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUiXwoTR2V0VGVzdFN1aXRlUmVxdWVzdBIZCghzdWl0ZV9pZBgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIjwKFEdldFRlc3RTdWl0ZVJlc3BvbnNlEiQKBXN1aXRlGAEgASgLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUigAEKFUxpc3RUZXN0U3VpdGVzUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEhYKBWxpbWl0GAMgASgFQge6SAQaAigAEhcKBm9mZnNldBgEIAEoBUIHukgEGgIoACJRChZMaXN0VGVzdFN1aXRlc1Jlc3BvbnNlEiUKBnN1aXRlcxgBIAMoCzIVLmZlcm1hdGEudjEuVGVzdFN1aXRlEhAKCGhhc19tb3JlGAIgASgIIuMFChVDcmVhdGVTY2VuYXJpb1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIVCgRuYW1lGAMgASgJQge6SARyAhABEhMKC2Rlc2NyaXB0aW9uGAQgASgJEjAKCW9iamVjdGl2ZRgFIAEoCzIVLmZlcm1hdGEudjEuT2JqZWN0aXZlQga6SAPIAQESLQoMYWdlbnRfY29uZmlnGAYgASgLMhcuZmVybWF0YS52MS5BZ2VudENvbmZpZxI0CgtlbnZpcm9ubWVudBgHIAEoCzIfLmZlcm1hdGEudjEuU2NlbmFyaW9FbnZpcm9ubWVudBIxCg51c2VyX3NpbXVsYXRvchgIIAEoCzIZLmZlcm1hdGEudjEuVXNlclNpbXVsYXRvchIiCghtYXhfY29zdBgJIAEoCzIQLmNvbW1vbi52MS5Nb25leRIvCgxtYXhfZHVyYXRpb24YCiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SGgoJbWF4X3N0ZXBzGAsgASgFQge6SAQaAigAEiYKFW1heF9hcHByb3ZhbF9yZXF1ZXN0cxgMIAEoBUIHukgEGgIoABI2ChBvdXRjb21lX2NyaXRlcmlhGA0gAygLMhwuZmVybWF0YS52MS5PdXRjb21lQ3JpdGVyaW9uEj4KFWdvdmVybmFuY2VfYXNzZXJ0aW9ucxgOIAMoCzIfLmZlcm1hdGEudjEuR292ZXJuYW5jZUFzc2VydGlvbhI+ChVkZWxlZ2F0aW9uX2Fzc2VydGlvbnMYDyADKAsyHy5mZXJtYXRhLnYxLkRlbGVnYXRpb25Bc3NlcnRpb24SFwoGZXBvY2hzGBAgASgFQge6SAQaAigAEikKCG1ldGFkYXRhGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJAChZDcmVhdGVTY2VuYXJpb1Jlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbyJhChJHZXRTY2VuYXJpb1JlcXVlc3QSHAoLc2NlbmFyaW9faWQYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI9ChNHZXRTY2VuYXJpb1Jlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbyJ/ChRMaXN0U2NlbmFyaW9zUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEhYKBWxpbWl0GAMgASgFQge6SAQaAigAEhcKBm9mZnNldBgEIAEoBUIHukgEGgIoACJSChVMaXN0U2NlbmFyaW9zUmVzcG9uc2USJwoJc2NlbmFyaW9zGAEgAygLMhQuZmVybWF0YS52MS5TY2VuYXJpbxIQCghoYXNfbW9yZRgCIAEoCCLGBgoRQWdlbnRUYXNrRXZhbFNwZWMSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIVCgRuYW1lGAMgASgJQge6SARyAhABEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhUKBHRhc2sYBSABKAlCB7pIBHICEAESEgoKcmVwb3NpdG9yeRgGIAEoCRIOCgZicmFuY2gYByABKAkSEAoIYWdlbnRfaWQYCCABKAkSDQoFbW9kZWwYCSABKAkSFgoOcmVxdWlyZWRfdG9vbHMYCiADKAkSFwoPZm9yYmlkZGVuX3Rvb2xzGAsgAygJEhkKEXJlcXVpcmVkX2NvbW1hbmRzGAwgAygJEhoKEmZvcmJpZGRlbl9jb21tYW5kcxgNIAMoCRIaChJyZXF1aXJlZF9hcnRpZmFjdHMYDiADKAkSGQoRcmVxdWlyZWRfZXZpZGVuY2UYDyADKAkSGQoRcGVybWlzc2lvbl9zY29wZXMYECADKAkSKQoRcXVhbGl0eV90aHJlc2hvbGQYESABKAFCDrpICxIJKQAAAAAAAAAAEhoKCW1heF9zdGVwcxgSIAEoBUIHukgEGgIoABImChVtYXhfYXBwcm92YWxfcmVxdWVzdHMYEyABKAVCB7pIBBoCKAASKwoabWF4X2RlbGVnYXRpb25fY2hhaW5fZGVwdGgYFCABKAVCB7pIBBoCKAASJAoMbWF4X2Nvc3RfdXNkGBUgASgBQg66SAsSCSkAAAAAAAAAABIlChRtYXhfZHVyYXRpb25fc2Vjb25kcxgWIAEoA0IHukgEIgIoABIXCgZlcG9jaHMYFyABKAVCB7pIBBoCKAASGQoRcmVxdWlyZXNfYXBwcm92YWwYGCABKAgSOwoTZXhwZWN0ZWRfcmlza19sZXZlbBgZIAEoDjIULmNvbW1vbi52MS5SaXNrTGV2ZWxCCLpIBYIBAhABEikKCGZpeHR1cmVzGBogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgbIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiUQoaQ3JlYXRlQWdlbnRUYXNrRXZhbFJlcXVlc3QSMwoEZXZhbBgBIAEoCzIdLmZlcm1hdGEudjEuQWdlbnRUYXNrRXZhbFNwZWNCBrpIA8gBASJFChtDcmVhdGVBZ2VudFRhc2tFdmFsUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvIukBChdSdW5BZ2VudFRhc2tFdmFsUmVxdWVzdBIzCgRldmFsGAEgASgLMh0uZmVybWF0YS52MS5BZ2VudFRhc2tFdmFsU3BlY0IGukgDyAEBEg4KBnJ1bl9pZBgCIAEoCRIQCgh0cmFjZV9pZBgDIAEoCRIWCgVlcG9jaBgEIAEoBUIHukgEGgIoABIwCgdhY3R1YWxzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIGukgDyAEBEi0KDHJ1bl9tZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QieAoYUnVuQWdlbnRUYXNrRXZhbFJlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbxIkCgNydW4YAiABKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuEg4KBnBhc3NlZBgDIAEoCCLEAQoUQWdlbnRUb29sQ2F0YWxvZ0l0ZW0SFQoEbmFtZRgBIAEoCUIHukgEcgIQARIQCghjYXRlZ29yeRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRILCgNycGMYBCABKAkSFwoPcmVxdWlyZWRfc2NvcGVzGAUgAygJEhkKEWFnZW50X2Nhbl9leGVjdXRlGAYgASgIEhkKEXJlcXVpcmVzX2FwcHJvdmFsGAcgASgIEhIKCnJpc2tfbGV2ZWwYCCABKAki/QEKF0FnZW50VG9vbENhdGFsb2dTdW1tYXJ5EhwKC3RvdGFsX3Rvb2xzGAEgASgFQge6SAQaAigAEiEKEGFnZW50X2V4ZWN1dGFibGUYAiABKAVCB7pIBBoCKAASIgoRcmVxdWlyZXNfYXBwcm92YWwYAyABKAVCB7pIBBoCKAASTgoHYnlfcmlzaxgEIAMoCzIvLmZlcm1hdGEudjEuQWdlbnRUb29sQ2F0YWxvZ1N1bW1hcnkuQnlSaXNrRW50cnlCDLpICZoBBioEGgIoABotCgtCeVJpc2tFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBIqkHCg1BZ2VudFdvcmtmbG93EgoKAmlkGAEgASgJEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkSFQoEbmFtZRgEIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgFIAEoCRInCgZhZ2VudHMYBiADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKFGNvb3JkaW5hdGlvbl9wYXR0ZXJuGAcgASgJEi4KDWhhbmRvZmZfcnVsZXMYCCADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh4KDXN5c3RlbV9wcm9tcHQYCSABKAlCB7pIBHICEAESFQoNcHJvdmlkZXJfdHlwZRgKIAEoCRIWCgVtb2RlbBgLIAEoCUIHukgEcgIQARINCgV0b29scxgMIAMoCRIxChB0b29sX2RlZmluaXRpb25zGA0gAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIaCgltYXhfc3RlcHMYDiABKAVCB7pIBBoCKAASGAoLdGVtcGVyYXR1cmUYDyABKAFIAIgBARIgCgptYXhfdG9rZW5zGBAgASgFQge6SAQaAigASAGIAQESFgoOc3RvcF9zZXF1ZW5jZXMYESADKAkSMAoPc3RvcF9jb25kaXRpb25zGBIgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgd0ZWFtX2lkGBMgASgJEjEKEGlucHV0X2d1YXJkcmFpbHMYFCADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjIKEW91dHB1dF9ndWFyZHJhaWxzGBUgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCg1vdXRwdXRfY29uZmlnGBYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSIAoPdGltZW91dF9taW51dGVzGBggASgFQge6SAQaAigAEhoKEnNvdXJjZV90ZW1wbGF0ZV9pZBgZIAEoCRIXCg90ZW1wbGF0ZV9iYWNrZWQYGiABKAgSEAoIY2F0ZWdvcnkYGyABKAkSLAoFc3RlcHMYHCADKAsyHS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3dTdGVwQg4KDF90ZW1wZXJhdHVyZUINCgtfbWF4X3Rva2VucyLcAQoRQWdlbnRXb3JrZmxvd1N0ZXASCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIRCgl0b29sX25hbWUYBCABKAkSCwoDcnBjGAUgASgJEhkKEWFnZW50X2Nhbl9leGVjdXRlGAYgASgIEhkKEXJlcXVpcmVzX2FwcHJvdmFsGAcgASgIEhkKEWJsb2Nrc19vbl9mYWlsdXJlGAggASgIEicKBmlucHV0cxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiRgoPQWdlbnRXb3JrZmxvd0lPEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIcmVxdWlyZWQYAyABKAgipQIKFUFnZW50V29ya2Zsb3dUZW1wbGF0ZRITCgJpZBgBIAEoCUIHukgEcgIQARIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhAKCGNhdGVnb3J5GAQgASgJEgwKBHRhZ3MYBSADKAkSKwoId29ya2Zsb3cYBiABKAsyGS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3cSLAoFc3RlcHMYByADKAsyHS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3dTdGVwEisKBmlucHV0cxgIIAMoCzIbLmZlcm1hdGEudjEuQWdlbnRXb3JrZmxvd0lPEiwKB291dHB1dHMYCSADKAsyGy5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3dJTyKdAgoSQWdlbnRSdW50aW1lUmVjb3JkEhMKAmlkGAEgASgJQge6SARyAhABEhUKBGtpbmQYAiABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCRISCgpzZXNzaW9uX2lkGAUgASgJEg4KBnN0YXR1cxgGIAEoCRIoCgdwYXlsb2FkGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKrAQoUQWdlbnRUaW1lbGluZVN1bW1hcnkSHAoLZXZlbnRfY291bnQYASABKAVCB7pIBBoCKAASJQoUdG9vbF9leGVjdXRpb25fY291bnQYAiABKAVCB7pIBBoCKAASJQoUdGltZWxpbmVfZW50cnlfY291bnQYAyABKAVCB7pIBBoCKAASJwoWZXJyb3JfbGlrZV9lbnRyeV9jb3VudBgEIAEoBUIHukgEGgIoACJGChVMaXN0QWdlbnRUb29sc1JlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCSJ/ChZMaXN0QWdlbnRUb29sc1Jlc3BvbnNlEi8KBXRvb2xzGAEgAygLMiAuZmVybWF0YS52MS5BZ2VudFRvb2xDYXRhbG9nSXRlbRI0CgdzdW1tYXJ5GAIgASgLMiMuZmVybWF0YS52MS5BZ2VudFRvb2xDYXRhbG9nU3VtbWFyeSK3AQoaQW5hbHl6ZUFnZW50QWN0aW9uc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZwcm9tcHQYAyABKAlCB7pIBHICEAESMQoQcHJvcG9zZWRfYWN0aW9ucxgEIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFQoNYWxsb3dlZF90b29scxgFIAMoCSL2AQobQW5hbHl6ZUFnZW50QWN0aW9uc1Jlc3BvbnNlEg4KBnBhc3NlZBgBIAEoCBIbCgpyaXNrX3Njb3JlGAIgASgFQge6SAQaAigAEicKBmlzc3VlcxgDIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHQoMYWN0aW9uX2NvdW50GAQgASgFQge6SAQaAigAEiAKD2Jsb2NrZWRfYWN0aW9ucxgFIAEoBUIHukgEGgIoABIXCg9yZWNvbW1lbmRhdGlvbnMYBiADKAkSJwoGcmVwb3J0GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLSAQogQnVpbGRBZ2VudFNlc3Npb25UaW1lbGluZVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIbCgpzZXNzaW9uX2lkGAMgASgJQge6SARyAhABEicKBmV2ZW50cxgEIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMAoPdG9vbF9leGVjdXRpb25zGAUgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCK0AQohQnVpbGRBZ2VudFNlc3Npb25UaW1lbGluZVJlc3BvbnNlEhsKCnNlc3Npb25faWQYASABKAlCB7pIBHICEAESMQoHc3VtbWFyeRgCIAEoCzIgLmZlcm1hdGEudjEuQWdlbnRUaW1lbGluZVN1bW1hcnkSKQoIdGltZWxpbmUYAyADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDG5leHRfYWN0aW9ucxgEIAMoCSJSCiFMaXN0QWdlbnRXb3JrZmxvd1RlbXBsYXRlc1JlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCSJaCiJMaXN0QWdlbnRXb3JrZmxvd1RlbXBsYXRlc1Jlc3BvbnNlEjQKCXRlbXBsYXRlcxgBIAMoCzIhLmZlcm1hdGEudjEuQWdlbnRXb3JrZmxvd1RlbXBsYXRlItYBCiZDcmVhdGVBZ2VudFdvcmtmbG93RnJvbVRlbXBsYXRlUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhwKC3RlbXBsYXRlX2lkGAMgASgJQge6SARyAhABEgwKBG5hbWUYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSKgoJb3ZlcnJpZGVzGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJWCidDcmVhdGVBZ2VudFdvcmtmbG93RnJvbVRlbXBsYXRlUmVzcG9uc2USKwoId29ya2Zsb3cYASABKAsyGS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3civwEKGkNyZWF0ZUFnZW50V29ya2Zsb3dSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAiABKAlCB7pIBHICEAESOQoOYWdlbnRfd29ya2Zsb3cYAyABKAsyGS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3dCBrpIA8gBARITCgt0ZW1wbGF0ZV9pZBgEIAEoCRIQCghjYXRlZ29yeRgFIAEoCSJKChtDcmVhdGVBZ2VudFdvcmtmbG93UmVzcG9uc2USKwoId29ya2Zsb3cYASABKAsyGS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3ciZgoXR2V0QWdlbnRXb3JrZmxvd1JlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIcCgt3b3JrZmxvd19pZBgDIAEoCUIHukgEcgIQASJHChhHZXRBZ2VudFdvcmtmbG93UmVzcG9uc2USKwoId29ya2Zsb3cYASABKAsyGS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3ciewoZTGlzdEFnZW50V29ya2Zsb3dzUmVxdWVzdBIXCg9vcmdhbml6YXRpb25faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEhYKBWxpbWl0GAMgASgFQge6SAQaAigAEhcKBm9mZnNldBgEIAEoBUIHukgEGgIoACJcChpMaXN0QWdlbnRXb3JrZmxvd3NSZXNwb25zZRIsCgl3b3JrZmxvd3MYASADKAsyGS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3cSEAoIaGFzX21vcmUYAiABKAgi4wEKGlVwZGF0ZUFnZW50V29ya2Zsb3dSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAiABKAlCB7pIBHICEAESHAoLd29ya2Zsb3dfaWQYAyABKAlCB7pIBHICEAESOQoOYWdlbnRfd29ya2Zsb3cYBCABKAsyGS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3dCBrpIA8gBARIUCgxjbGVhcl9maWVsZHMYBSADKAkSFQoNcmVwbGFjZV9zdGVwcxgGIAEoCCJKChtVcGRhdGVBZ2VudFdvcmtmbG93UmVzcG9uc2USKwoId29ya2Zsb3cYASABKAsyGS5mZXJtYXRhLnYxLkFnZW50V29ya2Zsb3ciewoaRGVsZXRlQWdlbnRXb3JrZmxvd1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIcCgt3b3JrZmxvd19pZBgDIAEoCUIHukgEcgIQASIyChtEZWxldGVBZ2VudFdvcmtmbG93UmVzcG9uc2USEwoLd29ya2Zsb3dfaWQYASABKAkivQIKF1J1bkFnZW50V29ya2Zsb3dSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSHAoLd29ya2Zsb3dfaWQYAyABKAlCB7pIBHICEAESFgoFaW5wdXQYBCABKAlCB7pIBHICEAESFQoNYWxsb3dlZF90b29scxgFIAMoCRIbChNhbGxvd19yaXNreV9hY3Rpb25zGAYgASgIEigKB2NvbnRleHQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjEKEHByb3Bvc2VkX2FjdGlvbnMYCCADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhIKCnNlc3Npb25faWQYCSABKAkSDwoHc3VyZmFjZRgKIAEoCSK0AgoYUnVuQWdlbnRXb3JrZmxvd1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRITCgt3b3JrZmxvd19pZBgDIAEoCRISCgpzZXNzaW9uX2lkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRINCgVpbnB1dBgGIAEoCRIPCgdjb250ZW50GAcgASgJEg0KBWVycm9yGAggASgJEikKCHJlZF90ZWFtGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVzdGVwcxgKIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMbmV4dF9hY3Rpb25zGAsgAygJEiUKBGRhdGEYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0ItsBChZDcmVhdGVBZ2VudEhvb2tSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSDwoHaG9va19pZBgDIAEoCRIVCgRuYW1lGAQgASgJQge6SARyAhABEhEKCWhvb2tfdHlwZRgFIAEoCRIUCgdlbmFibGVkGAYgASgISACIAQESLAoLY29uZmlnX2pzb24YByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QgoKCF9lbmFibGVkIkcKF0NyZWF0ZUFnZW50SG9va1Jlc3BvbnNlEiwKBGhvb2sYASABKAsyHi5mZXJtYXRhLnYxLkFnZW50UnVudGltZVJlY29yZCJ3ChVMaXN0QWdlbnRIb29rc1JlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIWCgVsaW1pdBgDIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYBCABKAVCB7pIBBoCKAAiWQoWTGlzdEFnZW50SG9va3NSZXNwb25zZRItCgVob29rcxgBIAMoCzIeLmZlcm1hdGEudjEuQWdlbnRSdW50aW1lUmVjb3JkEhAKCGhhc19tb3JlGAIgASgIIvwBChZVcGRhdGVBZ2VudEhvb2tSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGAoHaG9va19pZBgDIAEoCUIHukgEcgIQARIRCgRuYW1lGAQgASgJSACIAQESFgoJaG9va190eXBlGAUgASgJSAGIAQESFAoHZW5hYmxlZBgGIAEoCEgCiAEBEiwKC2NvbmZpZ19qc29uGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIHCgVfbmFtZUIMCgpfaG9va190eXBlQgoKCF9lbmFibGVkIkcKF1VwZGF0ZUFnZW50SG9va1Jlc3BvbnNlEiwKBGhvb2sYASABKAsyHi5mZXJtYXRhLnYxLkFnZW50UnVudGltZVJlY29yZCJqChZEZWxldGVBZ2VudEhvb2tSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGAoHaG9va19pZBgDIAEoCUIHukgEcgIQASIqChdEZWxldGVBZ2VudEhvb2tSZXNwb25zZRIPCgdob29rX2lkGAEgASgJImQKFkdldEFnZW50U2Vzc2lvblJlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIbCgpzZXNzaW9uX2lkGAMgASgJQge6SARyAhABIkoKF0dldEFnZW50U2Vzc2lvblJlc3BvbnNlEi8KB3Nlc3Npb24YASABKAsyHi5mZXJtYXRhLnYxLkFnZW50UnVudGltZVJlY29yZCKKAQoYTGlzdEFnZW50U2Vzc2lvbnNSZXF1ZXN0EhcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSDgoGc3RhdHVzGAMgASgJEhYKBWxpbWl0GAQgASgFQge6SAQaAigAEhcKBm9mZnNldBgFIAEoBUIHukgEGgIoACJfChlMaXN0QWdlbnRTZXNzaW9uc1Jlc3BvbnNlEjAKCHNlc3Npb25zGAEgAygLMh4uZmVybWF0YS52MS5BZ2VudFJ1bnRpbWVSZWNvcmQSEAoIaGFzX21vcmUYAiABKAgi2AEKGkNvbnRyb2xBZ2VudFNlc3Npb25SZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGwoKc2Vzc2lvbl9pZBgDIAEoCUIHukgEcgIQARI/CgZhY3Rpb24YBCABKA4yJS5mZXJtYXRhLnYxLkFnZW50U2Vzc2lvbkNvbnRyb2xBY3Rpb25CCLpIBYIBAhABEg4KBnJlYXNvbhgFIAEoCRIUCgxyZXF1ZXN0ZWRfYnkYBiABKAkiTgobQ29udHJvbEFnZW50U2Vzc2lvblJlc3BvbnNlEi8KB3Nlc3Npb24YASABKAsyHi5mZXJtYXRhLnYxLkFnZW50UnVudGltZVJlY29yZCLYAgoeQ3JlYXRlQWdlbnRTZXNzaW9uRXZlbnRSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGwoKc2Vzc2lvbl9pZBgDIAEoCUIHukgEcgIQARIQCghldmVudF9pZBgEIAEoCRISCgpldmVudF90eXBlGAUgASgJEg8KB3N1bW1hcnkYBiABKAkSLQoJdGltZXN0YW1wGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIoCgdwYXlsb2FkGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghldmlkZW5jZRgJIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJgoGb3V0cHV0GAogASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlIlAKH0NyZWF0ZUFnZW50U2Vzc2lvbkV2ZW50UmVzcG9uc2USLQoFZXZlbnQYASABKAsyHi5mZXJtYXRhLnYxLkFnZW50UnVudGltZVJlY29yZCKsAQodTGlzdEFnZW50U2Vzc2lvbkV2ZW50c1JlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIbCgpzZXNzaW9uX2lkGAMgASgJQge6SARyAhABEg4KBnN0YXR1cxgEIAEoCRIWCgVsaW1pdBgFIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYBiABKAVCB7pIBBoCKAAiYgoeTGlzdEFnZW50U2Vzc2lvbkV2ZW50c1Jlc3BvbnNlEi4KBmV2ZW50cxgBIAMoCzIeLmZlcm1hdGEudjEuQWdlbnRSdW50aW1lUmVjb3JkEhAKCGhhc19tb3JlGAIgASgIIqUDCh9DcmVhdGVBZ2VudFRvb2xFeGVjdXRpb25SZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGwoKc2Vzc2lvbl9pZBgDIAEoCUIHukgEcgIQARIZChF0b29sX2V4ZWN1dGlvbl9pZBgEIAEoCRIaCgl0b29sX25hbWUYBSABKAlCB7pIBHICEAESDgoGc3RhdHVzGAYgASgJEgsKA3JwYxgHIAEoCRIoCgdyZXF1ZXN0GAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVpbnB1dBgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKc3RhcnRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKQoIZXZpZGVuY2UYCyADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiwKC2Fubm90YXRpb25zGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJaCiBDcmVhdGVBZ2VudFRvb2xFeGVjdXRpb25SZXNwb25zZRI2Cg50b29sX2V4ZWN1dGlvbhgBIAEoCzIeLmZlcm1hdGEudjEuQWdlbnRSdW50aW1lUmVjb3JkItYDCh9VcGRhdGVBZ2VudFRvb2xFeGVjdXRpb25SZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGwoKc2Vzc2lvbl9pZBgDIAEoCUIHukgEcgIQARIiChF0b29sX2V4ZWN1dGlvbl9pZBgEIAEoCUIHukgEcgIQARITCgZzdGF0dXMYBSABKAlIAIgBARIWCglleGl0X2NvZGUYBiABKAVIAYgBARIdChBkdXJhdGlvbl9zZWNvbmRzGAcgASgBSAKIAQESJgoGb3V0cHV0GAggASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg0KBWVycm9yGAkgASgJEikKCGV2aWRlbmNlGAogAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIsCgthbm5vdGF0aW9ucxgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdfc3RhdHVzQgwKCl9leGl0X2NvZGVCEwoRX2R1cmF0aW9uX3NlY29uZHMiWgogVXBkYXRlQWdlbnRUb29sRXhlY3V0aW9uUmVzcG9uc2USNgoOdG9vbF9leGVjdXRpb24YASABKAsyHi5mZXJtYXRhLnYxLkFnZW50UnVudGltZVJlY29yZCKtAQoeTGlzdEFnZW50VG9vbEV4ZWN1dGlvbnNSZXF1ZXN0EhcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGwoKc2Vzc2lvbl9pZBgDIAEoCUIHukgEcgIQARIOCgZzdGF0dXMYBCABKAkSFgoFbGltaXQYBSABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAYgASgFQge6SAQaAigAImwKH0xpc3RBZ2VudFRvb2xFeGVjdXRpb25zUmVzcG9uc2USNwoPdG9vbF9leGVjdXRpb25zGAEgAygLMh4uZmVybWF0YS52MS5BZ2VudFJ1bnRpbWVSZWNvcmQSEAoIaGFzX21vcmUYAiABKAgi3gEKGkRlY2lkZUFnZW50QXBwcm92YWxSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGwoKc2Vzc2lvbl9pZBgDIAEoCUIHukgEcgIQARIcCgthcHByb3ZhbF9pZBgEIAEoCUIHukgEcgIQARI9CghkZWNpc2lvbhgFIAEoDjIhLmZlcm1hdGEudjEuQWdlbnRBcHByb3ZhbERlY2lzaW9uQgi6SAWCAQIQARIOCgZyZWFzb24YBiABKAkiTwobRGVjaWRlQWdlbnRBcHByb3ZhbFJlc3BvbnNlEjAKCGFwcHJvdmFsGAEgASgLMh4uZmVybWF0YS52MS5BZ2VudFJ1bnRpbWVSZWNvcmQiqAEKGUxpc3RBZ2VudEFwcHJvdmFsc1JlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIbCgpzZXNzaW9uX2lkGAMgASgJQge6SARyAhABEg4KBnN0YXR1cxgEIAEoCRIWCgVsaW1pdBgFIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYBiABKAVCB7pIBBoCKAAiYQoaTGlzdEFnZW50QXBwcm92YWxzUmVzcG9uc2USMQoJYXBwcm92YWxzGAEgAygLMh4uZmVybWF0YS52MS5BZ2VudFJ1bnRpbWVSZWNvcmQSEAoIaGFzX21vcmUYAiABKAgihAEKHkdldEFnZW50U2Vzc2lvblRpbWVsaW5lUmVxdWVzdBIXCg9vcmdhbml6YXRpb25faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEhsKCnNlc3Npb25faWQYAyABKAlCB7pIBHICEAESFgoFbGltaXQYBCABKAVCB7pIBBoCKAAisgEKH0dldEFnZW50U2Vzc2lvblRpbWVsaW5lUmVzcG9uc2USGwoKc2Vzc2lvbl9pZBgBIAEoCUIHukgEcgIQARIxCgdzdW1tYXJ5GAIgASgLMiAuZmVybWF0YS52MS5BZ2VudFRpbWVsaW5lU3VtbWFyeRIpCgh0aW1lbGluZRgDIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMbmV4dF9hY3Rpb25zGAQgAygJIn0KHFVwc2VydEN1c3RvbUV2YWx1YXRvclJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCgZzb3VyY2UYAiABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJPCh1VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJhChlHZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSJMChpHZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJ9ChtMaXN0Q3VzdG9tRXZhbHVhdG9yc1JlcXVlc3QSFgoFbGltaXQYASABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAIgASgFQge6SAQaAigAEhcKD29yZ2FuaXphdGlvbl9pZBgDIAEoCRIUCgx3b3Jrc3BhY2VfaWQYBCABKAkiYQocTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXNwb25zZRIvCgpldmFsdWF0b3JzGAEgAygLMhsuZmVybWF0YS52MS5DdXN0b21FdmFsdWF0b3ISEAoIaGFzX21vcmUYAiABKAgiZAocRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiHwodRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2Ui0AIKElVwc2VydEp1ZGdlUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKD29yZ2FuaXphdGlvbl9pZBgKIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCyABKAkiNwoTVXBzZXJ0SnVkZ2VSZXNwb25zZRIgCgVqdWRnZRgBIAEoCzIRLmZlcm1hdGEudjEuSnVkZ2UiVwoPR2V0SnVkZ2VSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI0ChBHZXRKdWRnZVJlc3BvbnNlEiAKBWp1ZGdlGAEgASgLMhEuZmVybWF0YS52MS5KdWRnZSJzChFMaXN0SnVkZ2VzUmVxdWVzdBIWCgVsaW1pdBgBIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYAiABKAVCB7pIBBoCKAASFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJJChJMaXN0SnVkZ2VzUmVzcG9uc2USIQoGanVkZ2VzGAEgAygLMhEuZmVybWF0YS52MS5KdWRnZRIQCghoYXNfbW9yZRgCIAEoCCJaChJEZWxldGVKdWRnZVJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIhUKE0RlbGV0ZUp1ZGdlUmVzcG9uc2UivgIKFFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EhwKC3NjZW5hcmlvX2lkGAEgASgJQge6SARyAhABEhUKDXJ1bl9pZF9wcmVmaXgYAiABKAkSEAoIdHJhY2VfaWQYAyABKAkSKAoHYWN0dWFscxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoNZXBvY2hfYWN0dWFscxgFIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKBmVwb2NocxgHIAEoBUIHukgEGgIoABISCgpsaW5lYWdlX2lkGAggASgJEhcKD29yZ2FuaXphdGlvbl9pZBgJIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCiABKAkiYQoVU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiUKBHJ1bnMYASADKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuEiEKEHB1Ymxpc2hlZF9ldmVudHMYAiABKAVCB7pIBBoCKAAivQIKHUNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EjsKCHNjZW5hcmlvGAEgASgLMiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3RCBrpIA8gBARIVCg1ydW5faWRfcHJlZml4GAIgASgJEhAKCHRyYWNlX2lkGAMgASgJEigKB2FjdHVhbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KDWVwb2NoX2FjdHVhbHMYBSADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei8KDnN0YXJ0X21ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgZlcG9jaHMYByABKAVCB7pIBBoCKAASEgoKbGluZWFnZV9pZBgIIAEoCSKSAQoeQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbxIlCgRydW5zGAIgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIhChBwdWJsaXNoZWRfZXZlbnRzGAMgASgFQge6SAQaAigAIrUDChhSZWNvcmRTY2VuYXJpb1J1blJlcXVlc3QSCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDCABKAkiQQoZUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZRIkCgNydW4YASABKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuIl8KFUdldFNjZW5hcmlvUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI+ChZHZXRTY2VuYXJpb1J1blJlc3BvbnNlEiQKA3J1bhgBIAEoCzIXLmZlcm1hdGEudjEuU2NlbmFyaW9SdW4ilwEKF0xpc3RTY2VuYXJpb1J1bnNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLc2NlbmFyaW9faWQYAyABKAkSFgoFbGltaXQYBCABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAUgASgFQge6SAQaAigAIlMKGExpc3RTY2VuYXJpb1J1bnNSZXNwb25zZRIlCgRydW5zGAEgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIQCghoYXNfbW9yZRgCIAEoCCKZAQoqR2V0RXZhbHVhdGlvbk9ic2VydmFiaWxpdHlEYXNoYm9hcmRSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGAoEZGF5cxgDIAEoBUIKukgHGgUY7QIoABIZCgVsaW1pdBgEIAEoBUIKukgHGgUY9AMoACKVAwoeRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EhsKCnRvdGFsX3J1bnMYASABKAVCB7pIBBoCKAASHgoNdG90YWxfcmVzdWx0cxgCIAEoBUIHukgEGgIoABIfCg5mYWlsZWRfcmVzdWx0cxgDIAEoBUIHukgEGgIoABIlCg1hdmVyYWdlX3Njb3JlGAQgASgBQg66SAsSCSkAAAAAAAAAABIhCglwYXNzX3JhdGUYBSABKAFCDrpICxIJKQAAAAAAAAAAEiQKCnRvdGFsX2Nvc3QYBiABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAcgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAASJwoWcmVncmVzc2lvbl9hbGVydF9jb3VudBgJIAEoBUIHukgEGgIoABIxChd0b3RhbF9jb3N0c19ieV9jdXJyZW5jeRgKIAMoCzIQLmNvbW1vbi52MS5Nb25leSKIBAoaRXZhbHVhdGlvblJlY2VudFJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAIgASgJEh4KDXRvdGFsX3Jlc3VsdHMYAyABKAVCB7pIBBoCKAASIgoRY29tcGxldGVkX3Jlc3VsdHMYBCABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYBSABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgGIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgHIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYCCABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAkgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCiABKANCB7pIBCICKAASLgoKc3RhcnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCgh0cmFjZV9pZBgNIAEoCRIaChJvYmplY3RpdmVfYWNoaWV2ZWQYDiABKAgi0QMKGUV2YWx1YXRpb25SZWdyZXNzaW9uQWxlcnQSEwoCaWQYASABKAlCB7pIBHICEAESEwoLc2NlbmFyaW9faWQYAiABKAkSIAoPc2NlbmFyaW9fcnVuX2lkGAMgASgJQge6SARyAhABEhAKCHNldmVyaXR5GAQgASgJEg8KB21lc3NhZ2UYBSABKAkSLQoVcmVncmVzc2lvbl9wZXJjZW50YWdlGAYgASgBQg66SAsSCSkAAAAAAAAAABIgChhiYXNlbGluZV9zY2VuYXJpb19ydW5faWQYByABKAkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAggASgBQg66SAsSCSkAAAAAAAAAABIkCgp0b3RhbF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5EhMKC2Vudmlyb25tZW50GAogASgJEiEKGXN0YXRpc3RpY2FsbHlfc2lnbmlmaWNhbnQYCyABKAgSHwoHcF92YWx1ZRgMIAEoAUIOukgLEgkpAAAAAAAAAAASGAoQZGVncmFkZWRfbWV0cmljcxgNIAMoCRIvCgtyZWNvcmRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi6QEKK0dldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkUmVzcG9uc2USOwoHc3VtbWFyeRgBIAEoCzIqLmZlcm1hdGEudjEuRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EjsKC3JlY2VudF9ydW5zGAIgAygLMiYuZmVybWF0YS52MS5FdmFsdWF0aW9uUmVjZW50UnVuU3VtbWFyeRJAChFyZWdyZXNzaW9uX2FsZXJ0cxgDIAMoCzIlLmZlcm1hdGEudjEuRXZhbHVhdGlvblJlZ3Jlc3Npb25BbGVydCJxCh5HZXRFdmFsdWF0aW9uUnVuTWV0cmljc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAEivgIKG0V2YWx1YXRpb25SdW5NZXRyaWNzU3VtbWFyeRIdCgxyZXN1bHRfY291bnQYASABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYAiABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgEIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYBSABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAYgASgBQg66SAsSCSkAAAAAAAAAABIfCg5wOTVfbGF0ZW5jeV9tcxgHIAEoA0IHukgEIgIoABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAAi3QEKGkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzEhQKDGFzc2VydGlvbl9pZBgBIAEoCRIOCgZwYXNzZWQYAiABKAgSHQoFc2NvcmUYAyABKAFCDrpICxIJKQAAAAAAAAAAEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK2AQofR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3NSZXNwb25zZRIgCg9zY2VuYXJpb19ydW5faWQYASABKAlCB7pIBHICEAESOAoHc3VtbWFyeRgCIAEoCzInLmZlcm1hdGEudjEuRXZhbHVhdGlvblJ1bk1ldHJpY3NTdW1tYXJ5EjcKB3Jlc3VsdHMYAyADKAsyJi5mZXJtYXRhLnYxLkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzIpYCCiFDcmVhdGVFdmFsdWF0aW9uQ29tcGFyaXNvblJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiAKD2Jhc2VsaW5lX3J1bl9pZBgFIAEoCUIHukgEcgIQARIaChJjb21wYXJpc29uX3J1bl9pZHMYBiADKAkSGAoQY29uZmlkZW5jZV9sZXZlbBgHIAEoARIcChRzdGF0aXN0aWNhbF9hbmFseXNpcxgIIAEoCBIgChhpbmNsdWRlX2RldGFpbGVkX3Jlc3VsdHMYCSABKAgiWgoiQ3JlYXRlRXZhbHVhdGlvbkNvbXBhcmlzb25SZXNwb25zZRI0Cgpjb21wYXJpc29uGAEgASgLMiAuZmVybWF0YS52MS5FdmFsdWF0aW9uQ29tcGFyaXNvbiJ4Ch5HZXRFdmFsdWF0aW9uQ29tcGFyaXNvblJlcXVlc3QSHgoNY29tcGFyaXNvbl9pZBgBIAEoCUIHukgEcgIQARIgCg9vcmdhbml6YXRpb25faWQYAiABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAMgASgJIlcKH0dldEV2YWx1YXRpb25Db21wYXJpc29uUmVzcG9uc2USNAoKY29tcGFyaXNvbhgBIAEoCzIgLmZlcm1hdGEudjEuRXZhbHVhdGlvbkNvbXBhcmlzb24iiwEKIExpc3RFdmFsdWF0aW9uQ29tcGFyaXNvbnNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAImwKIUxpc3RFdmFsdWF0aW9uQ29tcGFyaXNvbnNSZXNwb25zZRI1Cgtjb21wYXJpc29ucxgBIAMoCzIgLmZlcm1hdGEudjEuRXZhbHVhdGlvbkNvbXBhcmlzb24SEAoIaGFzX21vcmUYAiABKAgiwQEKIVVwZGF0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVxdWVzdBIeCg1jb21wYXJpc29uX2lkGAEgASgJQge6SARyAhABEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAyABKAkSEQoEbmFtZRgEIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAUgASgJSAGIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uIloKIlVwZGF0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVzcG9uc2USNAoKY29tcGFyaXNvbhgBIAEoCzIgLmZlcm1hdGEudjEuRXZhbHVhdGlvbkNvbXBhcmlzb24iewohRGVsZXRlRXZhbHVhdGlvbkNvbXBhcmlzb25SZXF1ZXN0Eh4KDWNvbXBhcmlzb25faWQYASABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI7CiJEZWxldGVFdmFsdWF0aW9uQ29tcGFyaXNvblJlc3BvbnNlEhUKDWNvbXBhcmlzb25faWQYASABKAkifwolUmVnZW5lcmF0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVxdWVzdBIeCg1jb21wYXJpc29uX2lkGAEgASgJQge6SARyAhABEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiXgomUmVnZW5lcmF0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVzcG9uc2USNAoKY29tcGFyaXNvbhgBIAEoCzIgLmZlcm1hdGEudjEuRXZhbHVhdGlvbkNvbXBhcmlzb24i4wUKFEV2YWx1YXRpb25Db21wYXJpc29uEh4KDWNvbXBhcmlzb25faWQYASABKAlCB7pIBHICEAESDgoGc3RhdHVzGAIgASgJEgwKBG5hbWUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSIAoPYmFzZWxpbmVfcnVuX2lkGAUgASgJQge6SARyAhABEhoKEmNvbXBhcmlzb25fcnVuX2lkcxgGIAMoCRJHChNiYXNlbGluZV9ldmFsdWF0aW9uGAcgASgLMiouZmVybWF0YS52MS5FdmFsdWF0aW9uQ29tcGFyaXNvblJ1blN1bW1hcnkSSgoWY29tcGFyaXNvbl9ldmFsdWF0aW9ucxgIIAMoCzIqLmZlcm1hdGEudjEuRXZhbHVhdGlvbkNvbXBhcmlzb25SdW5TdW1tYXJ5EkIKEm1ldHJpY19jb21wYXJpc29ucxgJIAMoCzImLmZlcm1hdGEudjEuRXZhbHVhdGlvbkNvbXBhcmlzb25NZXRyaWMSFgoOb3ZlcmFsbF93aW5uZXIYCiABKAkSRwoTc3RhdGlzdGljYWxfc3VtbWFyeRgLIAEoCzIqLmZlcm1hdGEudjEuRXZhbHVhdGlvbkNvbXBhcmlzb25TdGF0aXN0aWNzEhcKD3JlY29tbWVuZGF0aW9ucxgMIAMoCRIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpjcmVhdGVkX2J5GA4gASgJEiAKD29yZ2FuaXphdGlvbl9pZBgPIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYECABKAkSIAoYaW5jbHVkZV9kZXRhaWxlZF9yZXN1bHRzGBEgASgIEhkKEXJlcXVlc3RlZF9ydW5faWRzGBIgAygJEi4KCnVwZGF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIo8ECh5FdmFsdWF0aW9uQ29tcGFyaXNvblJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhIKCm1vZGVsX25hbWUYAiABKAkSFwoPdGVzdF9zdWl0ZV9uYW1lGAMgASgJEhwKC3RvdGFsX3Rlc3RzGAQgASgFQge6SAQaAigAEh0KDHBhc3NlZF90ZXN0cxgFIAEoBUIHukgEGgIoABIdCgxmYWlsZWRfdGVzdHMYBiABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgHIAEoAUIOukgLEgkpAAAAAAAAAAASIQoJcGFzc19yYXRlGAggASgBQg66SAsSCSkAAAAAAAAAABIkCgp0b3RhbF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5Eh0KDHRvdGFsX3Rva2VucxgKIAEoA0IHukgEIgIoABIuChZleGVjdXRpb25fdGltZV9zZWNvbmRzGAsgASgBQg66SAsSCSkAAAAAAAAAABIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIaChJvYmplY3RpdmVfYWNoaWV2ZWQYDSABKAgSNwoGc3RhdHVzGA4gASgOMh0uZmVybWF0YS52MS5TY2VuYXJpb1J1blN0YXR1c0IIukgFggECEAEi0AIKGkV2YWx1YXRpb25Db21wYXJpc29uTWV0cmljEhwKC21ldHJpY19uYW1lGAEgASgJQge6SARyAhABEhYKDmJhc2VsaW5lX3ZhbHVlGAIgASgBEhgKEGNvbXBhcmlzb25fdmFsdWUYAyABKAESEgoKZGlmZmVyZW5jZRgEIAEoARIZChFwZXJjZW50YWdlX2NoYW5nZRgFIAEoARIWCg5pc19zaWduaWZpY2FudBgGIAEoCBIYChBjb25maWRlbmNlX2xldmVsGAcgASgBEiIKEWNvbXBhcmlzb25fcnVuX2lkGAggASgJQge6SARyAhABEhgKEGhpZ2hlcl9pc19iZXR0ZXIYCSABKAgSDwoHcF92YWx1ZRgKIAEoARITCgtlZmZlY3Rfc2l6ZRgLIAEoARIdChVzdGF0aXN0aWNhbF90ZXN0X3VzZWQYDCABKAki6QEKHkV2YWx1YXRpb25Db21wYXJpc29uU3RhdGlzdGljcxIgCg9iYXNlbGluZV9ydW5faWQYASABKAlCB7pIBHICEAESIwoSY29tcGFyZWRfcnVuX2NvdW50GAIgASgFQge6SAQaAigAEh0KDG1ldHJpY19jb3VudBgDIAEoBUIHukgEGgIoABIpChhzaWduaWZpY2FudF9tZXRyaWNfY291bnQYBCABKAVCB7pIBBoCKAASGAoQY29uZmlkZW5jZV9sZXZlbBgFIAEoARIcChRzdGF0aXN0aWNhbF9hbmFseXNpcxgGIAEoCCKoAQokR2V0RXZhbHVhdGlvbkdvdmVybmFuY2VSZXBvcnRSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLc2NlbmFyaW9faWQYAyABKAkSGAoEZGF5cxgEIAEoBUIKukgHGgUY7QIoABIZCgVsaW1pdBgFIAEoBUIKukgHGgUY9AMoACLRAQocR292ZXJuYW5jZUFzc2VydGlvbkFnZ3JlZ2F0ZRIdCgxhc3NlcnRpb25faWQYASABKAlCB7pIBHICEAESFgoFdG90YWwYAiABKAVCB7pIBBoCKAASFwoGcGFzc2VkGAMgASgFQge6SAQaAigAEhcKBmZhaWxlZBgEIAEoBUIHukgEGgIoABIhCglwYXNzX3JhdGUYBSABKAFCDrpICxIJKQAAAAAAAAAAEiUKDWF2ZXJhZ2Vfc2NvcmUYBiABKAFCDrpICxIJKQAAAAAAAAAAIs4EChdHb3Zlcm5hbmNlUmVwb3J0U3VtbWFyeRIbCgp0b3RhbF9ydW5zGAEgASgFQge6SAQaAigAEh4KDWdvdmVybmVkX3J1bnMYAiABKAVCB7pIBBoCKAASJwoWcGFzc2VkX2dvdmVybmFuY2VfcnVucxgDIAEoBUIHukgEGgIoABInChZmYWlsZWRfZ292ZXJuYW5jZV9ydW5zGAQgASgFQge6SAQaAigAEi8KF2F2ZXJhZ2VfY29tcG9zaXRlX3Njb3JlGAUgASgBQg66SAsSCSkAAAAAAAAAABIuChZwb2xpY3lfY29tcGxpYW5jZV9yYXRlGAYgASgBQg66SAsSCSkAAAAAAAAAABIsChRlc2NhbGF0aW9uX3ByZWNpc2lvbhgHIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRZXNjYWxhdGlvbl9yZWNhbGwYCCABKAFCDrpICxIJKQAAAAAAAAAAEisKE2FwcHJvdmFsX2VmZmljaWVuY3kYCSABKAFCDrpICxIJKQAAAAAAAAAAEigKF3RvdGFsX2FwcHJvdmFsX3JlcXVlc3RzGAogASgFQge6SAQaAigAEjEKGWF2ZXJhZ2VfYXBwcm92YWxfcmVxdWVzdHMYCyABKAFCDrpICxIJKQAAAAAAAAAAEiIKEXJpc2tfc2lnbmFsX2NvdW50GAwgASgFQge6SAQaAigAEjwKCmFzc2VydGlvbnMYDSADKAsyKC5mZXJtYXRhLnYxLkdvdmVybmFuY2VBc3NlcnRpb25BZ2dyZWdhdGUi5gMKFEdvdmVybmFuY2VSdW5TdW1tYXJ5EiAKD3NjZW5hcmlvX3J1bl9pZBgBIAEoCUIHukgEcgIQARITCgtzY2VuYXJpb19pZBgCIAEoCRI3CgZzdGF0dXMYAyABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARInCg9jb21wb3NpdGVfc2NvcmUYBCABKAFCDrpICxIJKQAAAAAAAAAAEikKEXBvbGljeV9jb21wbGlhbmNlGAUgASgBQg66SAsSCSkAAAAAAAAAABIsChRlc2NhbGF0aW9uX3ByZWNpc2lvbhgGIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRZXNjYWxhdGlvbl9yZWNhbGwYByABKAFCDrpICxIJKQAAAAAAAAAAEisKE2FwcHJvdmFsX2VmZmljaWVuY3kYCCABKAFCDrpICxIJKQAAAAAAAAAAEiIKEWFwcHJvdmFsX3JlcXVlc3RzGAkgASgFQge6SAQaAigAEhwKFGZhaWxlZF9hc3NlcnRpb25faWRzGAogAygJEhAKCHRyYWNlX2lkGAsgASgJEjAKDGNvbXBsZXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAijAIKFEdvdmVybmFuY2VSaXNrU2lnbmFsEhMKAmlkGAEgASgJQge6SARyAhABEiAKD3NjZW5hcmlvX3J1bl9pZBgCIAEoCUIHukgEcgIQARITCgtzY2VuYXJpb19pZBgDIAEoCRIQCghzZXZlcml0eRgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEhgKEGRlZ3JhZGVkX21ldHJpY3MYBiADKAkSKAoIZXZpZGVuY2UYByADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYSEAoIdHJhY2VfaWQYCCABKAkSLwoLcmVjb3JkZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIswBCiVHZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydFJlc3BvbnNlEjQKB3N1bW1hcnkYASABKAsyIy5mZXJtYXRhLnYxLkdvdmVybmFuY2VSZXBvcnRTdW1tYXJ5EjUKC3JlY2VudF9ydW5zGAIgAygLMiAuZmVybWF0YS52MS5Hb3Zlcm5hbmNlUnVuU3VtbWFyeRI2CgxyaXNrX3NpZ25hbHMYAyADKAsyIC5mZXJtYXRhLnYxLkdvdmVybmFuY2VSaXNrU2lnbmFsIlgKFlJlZFRlYW1DYXRhbG9nVGVtcGxhdGUSFwoGcHJvbXB0GAEgASgJQge6SARyAhABEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCHNldmVyaXR5GAMgASgJIlIKGVJlZFRlYW1DYXRhbG9nVGVtcGxhdGVTZXQSNQoJdGVtcGxhdGVzGAEgAygLMiIuZmVybWF0YS52MS5SZWRUZWFtQ2F0YWxvZ1RlbXBsYXRlIokCChdCdWlsZFJlZFRlYW1QbGFuUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEhwKC2NvbmZpZ195YW1sGAMgASgJQge6SARyAhABEkEKB2NhdGFsb2cYBCADKAsyMC5mZXJtYXRhLnYxLkJ1aWxkUmVkVGVhbVBsYW5SZXF1ZXN0LkNhdGFsb2dFbnRyeRpVCgxDYXRhbG9nRW50cnkSCwoDa2V5GAEgASgJEjQKBXZhbHVlGAIgASgLMiUuZmVybWF0YS52MS5SZWRUZWFtQ2F0YWxvZ1RlbXBsYXRlU2V0OgI4ASLuAQoLUmVkVGVhbVBsYW4SDgoGcGx1Z2luGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEhAKCHN0cmF0ZWd5GAMgASgJEhUKDXN0cmF0ZWd5X21vZGUYBCABKAkSDgoGcHJvbXB0GAUgASgJEhoKEnRyYW5zZm9ybWVkX3Byb21wdBgGIAEoCRITCgtkZXNjcmlwdGlvbhgHIAEoCRIQCghzZXZlcml0eRgIIAEoCRIWCg5vd2FzcF9jYXRlZ29yeRgJIAEoCRIpCghtZXRhZGF0YRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QinAEKGEJ1aWxkUmVkVGVhbVBsYW5SZXNwb25zZRIbCgpwbGFuX2NvdW50GAEgASgFQge6SAQaAigAEg8KB3BsdWdpbnMYAiADKAkSEgoKc3RyYXRlZ2llcxgDIAMoCRIWCg5vd2FzcF9jb3ZlcmFnZRgEIAMoCRImCgVwbGFucxgFIAMoCzIXLmZlcm1hdGEudjEuUmVkVGVhbVBsYW4iVAoaTGlzdFJlZFRlYW1EYXRhc2V0c1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCSJmChVSZWRUZWFtRGF0YXNldFByZXZpZXcSEAoIY2F0ZWdvcnkYASABKAkSDgoGcHJvbXB0GAIgASgJEhAKCHNldmVyaXR5GAMgASgJEhkKEWV4cGVjdGVkX2JlaGF2aW9yGAQgASgJIvEBCg5SZWRUZWFtRGF0YXNldBIVCgRuYW1lGAEgASgJQge6SARyAhABEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRISCgpzb3VyY2VfdXJsGAMgASgJEg8KB2xpY2Vuc2UYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSEgoKY2F0ZWdvcmllcxgGIAMoCRIfCg50b3RhbF9leGFtcGxlcxgHIAEoBUIHukgEGgIoABIOCgZmb3JtYXQYCCABKAkSMwoIcHJldmlld3MYCSADKAsyIS5mZXJtYXRhLnYxLlJlZFRlYW1EYXRhc2V0UHJldmlldyJLChtMaXN0UmVkVGVhbURhdGFzZXRzUmVzcG9uc2USLAoIZGF0YXNldHMYASADKAsyGi5mZXJtYXRhLnYxLlJlZFRlYW1EYXRhc2V0It8CChBSZWRUZWFtRXhlY3V0aW9uEg4KBnBsdWdpbhgBIAEoCRIQCghjYXRlZ29yeRgCIAEoCRIQCghzdHJhdGVneRgDIAEoCRIOCgZwcm9tcHQYBCABKAkSGgoSdHJhbnNmb3JtZWRfcHJvbXB0GAUgASgJEhAKCHJlc3BvbnNlGAYgASgJEhgKEGF0dGFja19zdWNjZWVkZWQYByABKAgSJgoFc2NvcmUYCCABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAEhEKCXJlYXNvbmluZxgJIAEoCRIWCg5vd2FzcF9jYXRlZ29yeRgKIAEoCRIdChBleHBlY3RlZF9ibG9ja2VkGAsgASgISACIAQESIAoTZ3VhcmRyYWlsX3RyaWdnZXJlZBgMIAEoCEgBiAEBQhMKEV9leHBlY3RlZF9ibG9ja2VkQhYKFF9ndWFyZHJhaWxfdHJpZ2dlcmVkIrsDChhSZWRUZWFtUXVhbGl0eUdhdGVDb25maWcSPQoXbWF4X2F0dGFja19zdWNjZXNzX3JhdGUYASABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAASACIAQESPgoYbWluX3NhZmV0eV9wb3N0dXJlX3Njb3JlGAIgASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgBiAEBEi4KGG1heF9yZWdyZXNzZWRfY2F0ZWdvcmllcxgDIAEoBUIHukgEGgIoAEgCiAEBEigKEm1pbl9vd2FzcF9jb3ZlcmFnZRgEIAEoBUIHukgEGgIoAEgDiAEBEj0KF21heF9mYWxzZV9uZWdhdGl2ZV9yYXRlGAUgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAAEgEiAEBQhoKGF9tYXhfYXR0YWNrX3N1Y2Nlc3NfcmF0ZUIbChlfbWluX3NhZmV0eV9wb3N0dXJlX3Njb3JlQhsKGV9tYXhfcmVncmVzc2VkX2NhdGVnb3JpZXNCFQoTX21pbl9vd2FzcF9jb3ZlcmFnZUIaChhfbWF4X2ZhbHNlX25lZ2F0aXZlX3JhdGUiwwIKGUJ1aWxkUmVkVGVhbVJlcG9ydFJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIwCgpleGVjdXRpb25zGAMgAygLMhwuZmVybWF0YS52MS5SZWRUZWFtRXhlY3V0aW9uEkwKDGJhc2VsaW5lX2FzchgEIAMoCzI2LmZlcm1hdGEudjEuQnVpbGRSZWRUZWFtUmVwb3J0UmVxdWVzdC5CYXNlbGluZUFzckVudHJ5EjoKDHF1YWxpdHlfZ2F0ZRgFIAEoCzIkLmZlcm1hdGEudjEuUmVkVGVhbVF1YWxpdHlHYXRlQ29uZmlnGjIKEEJhc2VsaW5lQXNyRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASLLAQoXUmVkVGVhbUFnZ3JlZ2F0ZVN1bW1hcnkSFgoFdGVzdHMYASABKAVCB7pIBBoCKAASKwoTYXR0YWNrX3N1Y2Nlc3NfcmF0ZRgCIAEoAUIOukgLEgkpAAAAAAAAAAASLAoUc2FmZXR5X3Bvc3R1cmVfc2NvcmUYAyABKAFCDrpICxIJKQAAAAAAAAAAEh8KDm93YXNwX2NvdmVyYWdlGAQgASgFQge6SAQaAigAEhwKFHJlZ3Jlc3NlZF9jYXRlZ29yaWVzGAUgAygJIuIBChZSZWRUZWFtQ2F0ZWdvcnlTdW1tYXJ5Eg4KBnBsdWdpbhgBIAEoCRIWCgV0ZXN0cxgCIAEoBUIHukgEGgIoABIhChBhdHRhY2tfc3VjY2Vzc2VzGAMgASgFQge6SAQaAigAEiUKDWF2ZXJhZ2Vfc2NvcmUYBCABKAFCDrpICxIJKQAAAAAAAAAAEhYKDm93YXNwX2NhdGVnb3J5GAUgASgJEisKE2F0dGFja19zdWNjZXNzX3JhdGUYBiABKAFCDrpICxIJKQAAAAAAAAAAEhEKCXJlZ3Jlc3NlZBgHIAEoCCL+AQoXUmVkVGVhbUd1YXJkcmFpbFN1bW1hcnkSHwoOdHJ1ZV9wb3NpdGl2ZXMYASABKAVCB7pIBBoCKAASIAoPZmFsc2VfcG9zaXRpdmVzGAIgASgFQge6SAQaAigAEiAKD2ZhbHNlX25lZ2F0aXZlcxgDIAEoBUIHukgEGgIoABIfCg50cnVlX25lZ2F0aXZlcxgEIAEoBUIHukgEGgIoABIhCglwcmVjaXNpb24YBSABKAFCDrpICxIJKQAAAAAAAAAAEh4KBnJlY2FsbBgGIAEoAUIOukgLEgkpAAAAAAAAAAASGgoCZjEYByABKAFCDrpICxIJKQAAAAAAAAAAImgKGFJlZFRlYW1Db21wbGlhbmNlU3VtbWFyeRIYChBvd2FzcF9jYXRlZ29yaWVzGAEgAygJEhYKDm5pc3RfZnVuY3Rpb25zGAIgAygJEhoKEmV1X2FpX2FjdF9hcnRpY2xlcxgDIAMoCSKbAQoXUmVkVGVhbVF1YWxpdHlHYXRlQ2hlY2sSDAoEbmFtZRgBIAEoCRIOCgZwYXNzZWQYAiABKAgSJgoGYWN0dWFsGAMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEigKCGV4cGVjdGVkGAQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhAKCG9wZXJhdG9yGAUgASgJIpICChhSZWRUZWFtUXVhbGl0eUdhdGVSZXN1bHQSDgoGcGFzc2VkGAEgASgIEg4KBnN0YXR1cxgCIAEoCRIVCg1jaV9jb25jbHVzaW9uGAMgASgJEjMKBmNoZWNrcxgEIAMoCzIjLmZlcm1hdGEudjEuUmVkVGVhbVF1YWxpdHlHYXRlQ2hlY2sSQgoHbWV0cmljcxgFIAMoCzIxLmZlcm1hdGEudjEuUmVkVGVhbVF1YWxpdHlHYXRlUmVzdWx0Lk1ldHJpY3NFbnRyeRpGCgxNZXRyaWNzRW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlOgI4ASKlAwoaQnVpbGRSZWRUZWFtUmVwb3J0UmVzcG9uc2USNgoJYWdncmVnYXRlGAEgASgLMiMuZmVybWF0YS52MS5SZWRUZWFtQWdncmVnYXRlU3VtbWFyeRJKCgpjYXRlZ29yaWVzGAIgAygLMjYuZmVybWF0YS52MS5CdWlsZFJlZFRlYW1SZXBvcnRSZXNwb25zZS5DYXRlZ29yaWVzRW50cnkSNgoJZ3VhcmRyYWlsGAMgASgLMiMuZmVybWF0YS52MS5SZWRUZWFtR3VhcmRyYWlsU3VtbWFyeRI4Cgpjb21wbGlhbmNlGAQgASgLMiQuZmVybWF0YS52MS5SZWRUZWFtQ29tcGxpYW5jZVN1bW1hcnkSOgoMcXVhbGl0eV9nYXRlGAUgASgLMiQuZmVybWF0YS52MS5SZWRUZWFtUXVhbGl0eUdhdGVSZXN1bHQaVQoPQ2F0ZWdvcmllc0VudHJ5EgsKA2tleRgBIAEoCRIxCgV2YWx1ZRgCIAEoCzIiLmZlcm1hdGEudjEuUmVkVGVhbUNhdGVnb3J5U3VtbWFyeToCOAEivgMKFERhdGFzZXRQcm9tb3Rpb25JdGVtEg8KB2Nhc2VfaWQYASABKAkSDAoEbmFtZRgCIAEoCRISCgppbnB1dF9kYXRhGAMgASgJEhcKD2V4cGVjdGVkX291dHB1dBgEIAEoCRIYChBzdWdnZXN0ZWRfb3V0cHV0GAUgASgJEhMKC291dHB1dF9kYXRhGAYgASgJEhoKEmFkanVkaWNhdGVkX291dHB1dBgHIAEoCRI0ChNhZGp1ZGljYXRpb25fcmVzdWx0GAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIqCg1xdWFsaXR5X3Njb3JlGAkgASgBQg66SAsSCSkAAAAAAAAAAEgAiAEBEh8KDnJldmlld2VyX2NvdW50GAogASgFQge6SAQaAigAEgwKBHRhZ3MYCyADKAkSEgoKY3JlYXRlZF9ieRgMIAEoCRIVCg1xdWV1ZV9pdGVtX2lkGA0gASgJEhYKDmZpbmFsX2RlY2lzaW9uGA4gASgJEikKCG1ldGFkYXRhGA8gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIQCg5fcXVhbGl0eV9zY29yZSL5AQoTUHJvbW90ZWREYXRhc2V0SXRlbRIKCgJpZBgBIAEoCRISCgpkYXRhc2V0X2lkGAIgASgJEhIKCmlucHV0X2RhdGEYAyABKAkSFwoPZXhwZWN0ZWRfb3V0cHV0GAQgASgJEikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIMCgR0YWdzGAYgAygJEiUKDXF1YWxpdHlfc2NvcmUYByABKAFCDrpICxIJKQAAAAAAAAAAEhIKCmNyZWF0ZWRfYnkYCCABKAkSEAoIc3VpdGVfaWQYCSABKAkSDwoHY2FzZV9pZBgKIAEoCSK1AgoZUHJvbW90ZURhdGFzZXRJdGVtUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhIKCmRhdGFzZXRfaWQYAyABKAkSFAoMZGF0YXNldF9uYW1lGAQgASgJEhUKDXF1ZXVlX2l0ZW1faWQYBSABKAkSHwoXdXNlX2FkanVkaWNhdGlvbl9yZXN1bHQYBiABKAgSNgoEaXRlbRgHIAEoCzIgLmZlcm1hdGEudjEuRGF0YXNldFByb21vdGlvbkl0ZW1CBrpIA8gBARIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEgoKY3JlYXRlZF9ieRgJIAEoCSJxChpQcm9tb3RlRGF0YXNldEl0ZW1SZXNwb25zZRItCgRpdGVtGAEgASgLMh8uZmVybWF0YS52MS5Qcm9tb3RlZERhdGFzZXRJdGVtEiQKBXN1aXRlGAIgASgLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUi0wIKGlByb21vdGVEYXRhc2V0SXRlbXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAiABKAlCB7pIBHICEAESEgoKZGF0YXNldF9pZBgDIAEoCRIUCgxkYXRhc2V0X25hbWUYBCABKAkSHwoXdXNlX2FkanVkaWNhdGlvbl9yZXN1bHQYBSABKAgSIQoJbWluX3Njb3JlGAYgASgBQg66SAsSCSkAAAAAAAAAABIWCgVsaW1pdBgHIAEoBUIHukgEGgIoABIvCgVpdGVtcxgIIAMoCzIgLmZlcm1hdGEudjEuRGF0YXNldFByb21vdGlvbkl0ZW0SKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhIKCmNyZWF0ZWRfYnkYCiABKAkiugEKG1Byb21vdGVEYXRhc2V0SXRlbXNSZXNwb25zZRISCgpkYXRhc2V0X2lkGAEgASgJEhQKDGRhdGFzZXRfbmFtZRgCIAEoCRIbCgppdGVtX2NvdW50GAMgASgFQge6SAQaAigAEi4KBWl0ZW1zGAQgAygLMh8uZmVybWF0YS52MS5Qcm9tb3RlZERhdGFzZXRJdGVtEiQKBXN1aXRlGAUgASgLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUi3AIKGUJ1aWxkR29sZGVuRGF0YXNldFJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARISCgpkYXRhc2V0X2lkGAMgASgJEhQKDGRhdGFzZXRfbmFtZRgEIAEoCRIfChd1c2VfYWRqdWRpY2F0aW9uX3Jlc3VsdBgFIAEoCBIjChJtaW5fcmV2aWV3ZXJfY291bnQYBiABKAVCB7pIBBoCKAASFgoFbGltaXQYByABKAVCB7pIBBoCKAASNwoNYWRqdWRpY2F0aW9ucxgIIAMoCzIgLmZlcm1hdGEudjEuRGF0YXNldFByb21vdGlvbkl0ZW0SKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhIKCmNyZWF0ZWRfYnkYCiABKAkiuQEKGkJ1aWxkR29sZGVuRGF0YXNldFJlc3BvbnNlEhIKCmRhdGFzZXRfaWQYASABKAkSFAoMZGF0YXNldF9uYW1lGAIgASgJEhsKCml0ZW1fY291bnQYAyABKAVCB7pIBBoCKAASLgoFaXRlbXMYBCADKAsyHy5mZXJtYXRhLnYxLlByb21vdGVkRGF0YXNldEl0ZW0SJAoFc3VpdGUYBSABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSJiChZQcm9kdWN0aW9uVHJhY2VNZXNzYWdlEgwKBHJvbGUYASABKAkSDwoHY29udGVudBgCIAEoCRIpCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QizgMKFVByb2R1Y3Rpb25UcmFjZVJlY29yZBIPCgdjYXNlX2lkGAEgASgJEgwKBG5hbWUYAiABKAkSEgoKc2Vzc2lvbl9pZBgDIAEoCRIQCghldmVudF9pZBgEIAEoCRIOCgZzb3VyY2UYBSABKAkSEgoKaW5wdXRfZGF0YRgGIAEoCRIXCg9leHBlY3RlZF9vdXRwdXQYByABKAkSDgoGcHJvbXB0GAggASgJEg0KBXF1ZXJ5GAkgASgJEg4KBm91dHB1dBgKIAEoCRIQCghyZXNwb25zZRgLIAEoCRISCgpjb21wbGV0aW9uGAwgASgJEjQKCG1lc3NhZ2VzGA0gAygLMiIuZmVybWF0YS52MS5Qcm9kdWN0aW9uVHJhY2VNZXNzYWdlEgwKBHRhZ3MYDiADKAkSKQoIbWV0YWRhdGEYDyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiEKC3Rva2VuX2NvdW50GBAgASgDQge6SAQiAigASACIAQESKgoNcHJvdmlkZXJfY29zdBgRIAEoAUIOukgLEgkpAAAAAAAAAABIAYgBAUIOCgxfdG9rZW5fY291bnRCEAoOX3Byb3ZpZGVyX2Nvc3QizQEKG01hdGVyaWFsaXplZFByb2R1Y3Rpb25UcmFjZRIKCgJpZBgBIAEoCRIQCghzdWl0ZV9pZBgCIAEoCRIPCgdjYXNlX2lkGAMgASgJEhIKCnNlc3Npb25faWQYBCABKAkSEAoIZXZlbnRfaWQYBSABKAkSDgoGc3RhdHVzGAYgASgJEg4KBnNvdXJjZRgHIAEoCRIMCgR0YWdzGAggAygJEhIKCmlucHV0X2RhdGEYCSABKAkSFwoPZXhwZWN0ZWRfb3V0cHV0GAogASgJItMBCh1Jbmdlc3RQcm9kdWN0aW9uVHJhY2VzUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhIKCnN1aXRlX25hbWUYAyABKAkSEgoKY3JlYXRlZF9ieRgEIAEoCRIWCgVsaW1pdBgFIAEoBUIHukgEGgIoABIxCgZ0cmFjZXMYBiADKAsyIS5mZXJtYXRhLnYxLlByb2R1Y3Rpb25UcmFjZVJlY29yZCLgAQoqQnVpbGRQcm9kdWN0aW9uVHJhY2VSZWdyZXNzaW9uU3VpdGVSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAiABKAlCB7pIBHICEAESEgoKc3VpdGVfbmFtZRgDIAEoCRISCgpjcmVhdGVkX2J5GAQgASgJEhYKBWxpbWl0GAUgASgFQge6SAQaAigAEjEKBnRyYWNlcxgGIAMoCzIhLmZlcm1hdGEudjEuUHJvZHVjdGlvblRyYWNlUmVjb3JkIuUBCh5Jbmdlc3RQcm9kdWN0aW9uVHJhY2VzUmVzcG9uc2USEAoIc3VpdGVfaWQYASABKAkSEgoKc3VpdGVfbmFtZRgCIAEoCRIfCg5pbmdlc3RlZF9jb3VudBgDIAEoBUIHukgEGgIoABIbCgpjYXNlX2NvdW50GAQgASgFQge6SAQaAigAEjkKCGluZ2VzdGVkGAUgAygLMicuZmVybWF0YS52MS5NYXRlcmlhbGl6ZWRQcm9kdWN0aW9uVHJhY2USJAoFc3VpdGUYBiABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSLyAQorQnVpbGRQcm9kdWN0aW9uVHJhY2VSZWdyZXNzaW9uU3VpdGVSZXNwb25zZRIQCghzdWl0ZV9pZBgBIAEoCRISCgpzdWl0ZV9uYW1lGAIgASgJEh8KDmluZ2VzdGVkX2NvdW50GAMgASgFQge6SAQaAigAEhsKCmNhc2VfY291bnQYBCABKAVCB7pIBBoCKAASOQoIaW5nZXN0ZWQYBSADKAsyJy5mZXJtYXRhLnYxLk1hdGVyaWFsaXplZFByb2R1Y3Rpb25UcmFjZRIkCgVzdWl0ZRgGIAEoCzIVLmZlcm1hdGEudjEuVGVzdFN1aXRlIowBCiFMaXN0UHJvZHVjdGlvblRyYWNlU2FtcGxlc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIWCgVsaW1pdBgDIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYBCABKAVCB7pIBBoCKAAi1AIKFVByb2R1Y3Rpb25UcmFjZVNhbXBsZRIKCgJpZBgBIAEoCRIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSEAoIc3VpdGVfaWQYAyABKAkSEgoKY2x1c3Rlcl9pZBgEIAEoCRIOCgZzdGF0dXMYBSABKAkSDgoGc291cmNlGAYgASgJEgwKBHRhZ3MYByADKAkSIQoLdG9rZW5fY291bnQYCCABKANCB7pIBCICKABIAIgBARIqCg1wcm92aWRlcl9jb3N0GAkgASgBQg66SAsSCSkAAAAAAAAAAEgBiAEBEhwKFHNhbml0aXplZF90cmFuc2NyaXB0GAogASgJEjMKEnNhbml0aXplZF9tZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCDgoMX3Rva2VuX2NvdW50QhAKDl9wcm92aWRlcl9jb3N0ImoKIkxpc3RQcm9kdWN0aW9uVHJhY2VTYW1wbGVzUmVzcG9uc2USMgoHc2FtcGxlcxgBIAMoCzIhLmZlcm1hdGEudjEuUHJvZHVjdGlvblRyYWNlU2FtcGxlEhAKCGhhc19tb3JlGAIgASgIIo8BChlQcm9kdWN0aW9uVHJhY2VSZXBsYXlDYXNlEg8KB2Nhc2VfaWQYASABKAkSFwoPYmFzZWxpbmVfb3V0cHV0GAIgASgJEhgKEGNhbmRpZGF0ZV9vdXRwdXQYAyABKAkSFAoMbXVzdF9jb250YWluGAQgAygJEhgKEG11c3Rfbm90X2NvbnRhaW4YBSADKAkisgEKH1Byb2R1Y3Rpb25UcmFjZVJlcGxheVJlZ3Jlc3Npb24SDwoHY2FzZV9pZBgBIAEoCRIrCgpzaW1pbGFyaXR5GAIgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAABIgChhtaXNzaW5nX3JlcXVpcmVkX21hcmtlcnMYAyADKAkSIQoZZm9yYmlkZGVuX21hcmtlcnNfcHJlc2VudBgEIAMoCRIMCgRkaWZmGAUgASgJIvIBChxQcm9kdWN0aW9uVHJhY2VSZXBsYXlTdW1tYXJ5EhwKC3RvdGFsX2Nhc2VzGAEgASgFQge6SAQaAigAEh4KDXBhc3NpbmdfY2FzZXMYAiABKAVCB7pIBBoCKAASHQoMZmFpbGVkX2Nhc2VzGAMgASgFQge6SAQaAigAEiEKCXBhc3NfcmF0ZRgEIAEoAUIOukgLEgkpAAAAAAAAAAASJgoObWluX3NpbWlsYXJpdHkYBSABKAFCDrpICxIJKQAAAAAAAAAAEioKEmF2ZXJhZ2Vfc2ltaWxhcml0eRgGIAEoAUIOukgLEgkpAAAAAAAAAAAijAIKI0NvbXBhcmVQcm9kdWN0aW9uVHJhY2VSZXBsYXlSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSNAoFY2FzZXMYAyADKAsyJS5mZXJtYXRhLnYxLlByb2R1Y3Rpb25UcmFjZVJlcGxheUNhc2USKwoObWluX3NpbWlsYXJpdHkYBCABKAFCDrpICxIJKQAAAAAAAAAASACIAQESJAoObWF4X2RpZmZfbGluZXMYBSABKAVCB7pIBBoCKABIAYgBAUIRCg9fbWluX3NpbWlsYXJpdHlCEQoPX21heF9kaWZmX2xpbmVzIrUBCiRDb21wYXJlUHJvZHVjdGlvblRyYWNlUmVwbGF5UmVzcG9uc2USEAoIZGVjaXNpb24YASABKAkSOQoHc3VtbWFyeRgCIAEoCzIoLmZlcm1hdGEudjEuUHJvZHVjdGlvblRyYWNlUmVwbGF5U3VtbWFyeRJACgtyZWdyZXNzaW9ucxgDIAMoCzIrLmZlcm1hdGEudjEuUHJvZHVjdGlvblRyYWNlUmVwbGF5UmVncmVzc2lvbiLjBAoSR3VhcmRyYWlsUHJvbW90aW9uEhMKAmlkGAEgASgJQge6SARyAhABEg4KBnN0YXR1cxgCIAEoCRIVCg1ldmFsdWF0aW9uX2lkGAMgASgJEhMKC3Rlc3RfcnVuX2lkGAQgASgJEiAKD29yZ2FuaXphdGlvbl9pZBgFIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYBiABKAkSEgoKY3JlYXRlZF9ieRgHIAEoCRIaChJzb3VyY2VfZW52aXJvbm1lbnQYCCABKAkSGgoSdGFyZ2V0X2Vudmlyb25tZW50GAkgASgJEhMKC21ldHJpY19uYW1lGAogASgJEhsKE2NvbXBhcmlzb25fb3BlcmF0b3IYCyABKAkSEQoJdGhyZXNob2xkGAwgASgBEhYKDmJhc2VsaW5lX3ZhbHVlGA0gASgBEhcKD2FsZXJ0X3RocmVzaG9sZBgOIAEoARIgCg1zYW1wbGluZ19yYXRlGA8gASgFQgm6SAYaBBhkKAASKgoZbW9uaXRvcmluZ193aW5kb3dfbWludXRlcxgQIAEoBUIHukgEGgIoABIRCglzY29yZV9ycGMYESABKAkSMgoRbW9uaXRvcmluZ19jb25maWcYEiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg0KBW5vdGVzGBMgASgJEi4KCmNyZWF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIqADCiNQcm9tb3RlRXZhbHVhdGlvblRvR3VhcmRyYWlsUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEh4KDWV2YWx1YXRpb25faWQYAyABKAlCB7pIBHICEAESHAoLbWV0cmljX25hbWUYBCABKAlCB7pIBHICEAESGwoTY29tcGFyaXNvbl9vcGVyYXRvchgFIAEoCRIWCgl0aHJlc2hvbGQYBiABKAFIAIgBARIcCg9hbGVydF90aHJlc2hvbGQYByABKAFIAYgBARIgCg1zYW1wbGluZ19yYXRlGAggASgFQgm6SAYaBBhkKAASLQoZbW9uaXRvcmluZ193aW5kb3dfbWludXRlcxgJIAEoBUIKukgHGgUYoAsoABIaChJ0YXJnZXRfZW52aXJvbm1lbnQYCiABKAkSEgoKY3JlYXRlZF9ieRgLIAEoCRINCgVub3RlcxgMIAEoCUIMCgpfdGhyZXNob2xkQhIKEF9hbGVydF90aHJlc2hvbGQiWQokUHJvbW90ZUV2YWx1YXRpb25Ub0d1YXJkcmFpbFJlc3BvbnNlEjEKCXByb21vdGlvbhgBIAEoCzIeLmZlcm1hdGEudjEuR3VhcmRyYWlsUHJvbW90aW9uInUKHEdldEd1YXJkcmFpbFByb21vdGlvblJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIdCgxwcm9tb3Rpb25faWQYAyABKAlCB7pIBHICEAEiUgodR2V0R3VhcmRyYWlsUHJvbW90aW9uUmVzcG9uc2USMQoJcHJvbW90aW9uGAEgASgLMh4uZmVybWF0YS52MS5HdWFyZHJhaWxQcm9tb3Rpb24i4gEKHlNjb3JlR3VhcmRyYWlsUHJvbW90aW9uUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEh0KDHByb21vdGlvbl9pZBgDIAEoCUIHukgEcgIQARIZCgxtZXRyaWNfdmFsdWUYBCABKAFIAIgBARISCgpzYW1wbGVfa2V5GAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIPCg1fbWV0cmljX3ZhbHVlIqQCCh9TY29yZUd1YXJkcmFpbFByb21vdGlvblJlc3BvbnNlEhQKDHByb21vdGlvbl9pZBgBIAEoCRITCgttZXRyaWNfbmFtZRgCIAEoCRIPCgdzYW1wbGVkGAMgASgIEg4KBnBhc3NlZBgEIAEoCBINCgVhbGVydBgFIAEoCBIbChNjb21wYXJpc29uX29wZXJhdG9yGAYgASgJEhEKCXRocmVzaG9sZBgHIAEoARIXCg9hbGVydF90aHJlc2hvbGQYCCABKAESFgoOb2JzZXJ2ZWRfdmFsdWUYCSABKAESGgoSdGFyZ2V0X2Vudmlyb25tZW50GAogASgJEikKCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLfAQoRRGlhZ25vc3RpY0ZpbmRpbmcSCgoCaWQYASABKAkSQQoIc2V2ZXJpdHkYAiABKA4yJS5mZXJtYXRhLnYxLkRpYWdub3N0aWNGaW5kaW5nU2V2ZXJpdHlCCLpIBYIBAhABEhYKBXRpdGxlGAMgASgJQge6SARyAhABEg4KBmRldGFpbBgEIAEoCRIoCghldmlkZW5jZRgFIAMoCzIWLmNvbW1vbi52MS5FdmlkZW5jZVJlZhIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi7wQKHEV2YWx1YXRpb25EaWFnbm9zdGljQXJ0aWZhY3QSEwoCaWQYASABKAlCB7pIBHICEAESOgoEa2luZBgCIAEoDjIiLmZlcm1hdGEudjEuRGlhZ25vc3RpY0FydGlmYWN0S2luZEIIukgFggECEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgEIAEoCRITCgtzY2VuYXJpb19pZBgFIAEoCRIgCg9zY2VuYXJpb19ydW5faWQYBiABKAlCB7pIBHICEAESEAoIdHJhY2VfaWQYByABKAkSFgoFdGl0bGUYCCABKAlCB7pIBHICEAESDwoHc3VtbWFyeRgJIAEoCRIvCghmaW5kaW5ncxgKIAMoCzIdLmZlcm1hdGEudjEuRGlhZ25vc3RpY0ZpbmRpbmcSKAoIZXZpZGVuY2UYCyADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYSLgoNaW5wdXRfY29udGV4dBgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKAoHcGF5bG9hZBgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMYXJ0aWZhY3RfdXJpGA4gASgJEhYKDmNvbnRlbnRfc2hhMjU2GA8gASgJEhEKCXBlcnNpc3RlZBgQIAEoCBIuCgpjcmVhdGVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAQoZRXhwbGFpblNjZW5hcmlvUnVuUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEhcKBnJ1bl9pZBgDIAEoCUIHukgEcgIQARIVCg1pbmNsdWRlX3RyYWNlGAQgASgIEhgKEHBlcnNpc3RfYXJ0aWZhY3QYBSABKAgSKAoHY29udGV4dBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiWAoaRXhwbGFpblNjZW5hcmlvUnVuUmVzcG9uc2USOgoIYXJ0aWZhY3QYASABKAsyKC5mZXJtYXRhLnYxLkV2YWx1YXRpb25EaWFnbm9zdGljQXJ0aWZhY3Qi8QEKIkFuYWx5emVTY2VuYXJpb1J1blJvb3RDYXVzZVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAESHwoXc3VzcGVjdGVkX2ZhaWx1cmVfbW9kZXMYBCADKAkSFQoNaW5jbHVkZV90cmFjZRgFIAEoCBIYChBwZXJzaXN0X2FydGlmYWN0GAYgASgIEigKB2NvbnRleHQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0ImEKI0FuYWx5emVTY2VuYXJpb1J1blJvb3RDYXVzZVJlc3BvbnNlEjoKCGFydGlmYWN0GAEgASgLMiguZmVybWF0YS52MS5FdmFsdWF0aW9uRGlhZ25vc3RpY0FydGlmYWN0IpECCh5KdWRnZVZhbGlkYXRpb25BY2N1cmFjeU1ldHJpY3MSEQoJcHJlY2lzaW9uGAEgASgBEg4KBnJlY2FsbBgCIAEoARIQCghmMV9zY29yZRgDIAEoARIQCghhY2N1cmFjeRgEIAEoARIiChF0b3RhbF92YWxpZGF0aW9ucxgFIAEoBUIHukgEGgIoABIfCg50cnVlX3Bvc2l0aXZlcxgGIAEoBUIHukgEGgIoABIgCg9mYWxzZV9wb3NpdGl2ZXMYByABKAVCB7pIBBoCKAASHwoOdHJ1ZV9uZWdhdGl2ZXMYCCABKAVCB7pIBBoCKAASIAoPZmFsc2VfbmVnYXRpdmVzGAkgASgFQge6SAQaAigAIsABCh5KdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXgSJgoVanVkZ2VfcGFzc19odW1hbl9wYXNzGAEgASgFQge6SAQaAigAEiYKFWp1ZGdlX3Bhc3NfaHVtYW5fZmFpbBgCIAEoBUIHukgEGgIoABImChVqdWRnZV9mYWlsX2h1bWFuX3Bhc3MYAyABKAVCB7pIBBoCKAASJgoVanVkZ2VfZmFpbF9odW1hbl9mYWlsGAQgASgFQge6SAQaAigAItEBChpKdWRnZVZhbGlkYXRpb25CaWFzTWV0cmljcxIUCgxvdmVyX3Njb3JpbmcYASABKAgSFQoNdW5kZXJfc2NvcmluZxgCIAEoCBITCgtzY29yZV9kcmlmdBgDIAEoARIbChNhdmVyYWdlX2p1ZGdlX3Njb3JlGAQgASgBEhsKE2F2ZXJhZ2VfaHVtYW5fc2NvcmUYBSABKAESGQoRc2NvcmVfY29ycmVsYXRpb24YBiABKAESHAoLc2FtcGxlX3NpemUYByABKAVCB7pIBBoCKAAinAEKGkp1ZGdlVmFsaWRhdGlvbkNhbGlicmF0aW9uEhkKCGp1ZGdlX2lkGAEgASgJQge6SARyAhABEhsKE3ZhbGlkYXRpb25fYWNjdXJhY3kYAiABKAESEQoJdmFsaWRhdGVkGAMgASgIEjMKD2xhc3RfdmFsaWRhdGlvbhgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimQQKGUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24SHgoNZXZhbHVhdGlvbl9pZBgBIAEoCUIHukgEcgIQARIgCg9vcmdhbml6YXRpb25faWQYAiABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAMgASgJEhkKCGp1ZGdlX2lkGAQgASgJQge6SARyAhABEhcKD3NjZW5hcmlvX3J1bl9pZBgFIAEoCRIUCgxhc3NlcnRpb25faWQYBiABKAkSLAoLanVkZ2Vfc2NvcmUYByABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAEhQKDGp1ZGdlX3Bhc3NlZBgIIAEoCBIXCg9odW1hbl92YWxpZGF0ZWQYCSABKAgSMQoLaHVtYW5fc2NvcmUYCiABKAFCF7pIFBISGQAAAAAAAFlAKQAAAAAAAAAASACIAQESGAoQdmFsaWRhdGlvbl9ub3RlcxgLIAEoCRIOCgZzb3VyY2UYDCABKAkSMAoMZXZhbHVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfaHVtYW5fc2NvcmUiSAoZSnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZRIZCghqdWRnZV9pZBgBIAEoCUIHukgEcgIQARIQCghhY2N1cmFjeRgCIAEoASJgCiFHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhkKCGp1ZGdlX2lkGAIgASgJQge6SARyAhABImEKIkdldEp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5UmVzcG9uc2USOwoHbWV0cmljcxgBIAEoCzIqLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lNZXRyaWNzImcKKEdldEp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeFJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhkKCGp1ZGdlX2lkGAIgASgJQge6SARyAhABImcKKUdldEp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeFJlc3BvbnNlEjoKBm1hdHJpeBgBIAEoCzIqLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4IlwKHUdldEp1ZGdlVmFsaWRhdGlvbkJpYXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJZCh5HZXRKdWRnZVZhbGlkYXRpb25CaWFzUmVzcG9uc2USNwoHbWV0cmljcxgBIAEoCzImLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQmlhc01ldHJpY3MiYAohUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJhCiJSZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlc3BvbnNlEjsKC2NhbGlicmF0aW9uGAEgASgLMiYuZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25DYWxpYnJhdGlvbiK9AwomUmVjb3JkSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlcXVlc3QSFQoNZXZhbHVhdGlvbl9pZBgBIAEoCRIgCg9vcmdhbml6YXRpb25faWQYAiABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAMgASgJEhkKCGp1ZGdlX2lkGAQgASgJQge6SARyAhABEhcKD3NjZW5hcmlvX3J1bl9pZBgFIAEoCRIUCgxhc3NlcnRpb25faWQYBiABKAkSLAoLanVkZ2Vfc2NvcmUYByABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAEhQKDGp1ZGdlX3Bhc3NlZBgIIAEoCBIXCg9odW1hbl92YWxpZGF0ZWQYCSABKAgSMQoLaHVtYW5fc2NvcmUYCiABKAFCF7pIFBISGQAAAAAAAFlAKQAAAAAAAAAASACIAQESGAoQdmFsaWRhdGlvbl9ub3RlcxgLIAEoCRIOCgZzb3VyY2UYDCABKAkSMAoMZXZhbHVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfaHVtYW5fc2NvcmUiZAonUmVjb3JkSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlEjkKCmV2YWx1YXRpb24YASABKAsyJS5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24iyQEKKFZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlcXVlc3QSHgoNZXZhbHVhdGlvbl9pZBgBIAEoCUIHukgEcgIQARIgCg9vcmdhbml6YXRpb25faWQYAiABKAlCB7pIBHICEAESMQoLaHVtYW5fc2NvcmUYAyABKAFCF7pIFBISGQAAAAAAAFlAKQAAAAAAAAAASACIAQESGAoQdmFsaWRhdGlvbl9ub3RlcxgEIAEoCUIOCgxfaHVtYW5fc2NvcmUiZgopVmFsaWRhdGVKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVzcG9uc2USOQoKZXZhbHVhdGlvbhgBIAEoCzIlLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvbiKgAQolTGlzdEp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGVzUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESIAoPbWluX3ZhbGlkYXRpb25zGAIgASgFQge6SAQaAigAEjMKEmFjY3VyYWN5X3RocmVzaG9sZBgDIAEoAUIXukgUEhIZAAAAAAAA8D8pAAAAAAAAAAAivwEKJkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1Jlc3BvbnNlEjkKCmNhbmRpZGF0ZXMYASADKAsyJS5mZXJtYXRhLnYxLkp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGUSHAoLdG90YWxfY291bnQYAiABKAVCB7pIBBoCKAASIAoPbWluX3ZhbGlkYXRpb25zGAMgASgFQge6SAQaAigAEhoKEmFjY3VyYWN5X3RocmVzaG9sZBgEIAEoASKLBwoRUXVhbGl0eUdhdGVDb25maWcSFAoHZW5hYmxlZBgBIAEoCEgAiAEBEjMKDW1pbl9wYXNzX3JhdGUYAiABKAFCF7pIFBISGQAAAAAAAFlAKQAAAAAAAAAASAGIAQESNwoRbWluX2F2ZXJhZ2Vfc2NvcmUYAyABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAASAKIAQESJgoQbWF4X2ZhaWxlZF90ZXN0cxgEIAEoBUIHukgEGgIoAEgDiAEBEjEKFHJlZ3Jlc3Npb25fdGhyZXNob2xkGAUgASgBQg66SAsSCSkAAAAAAAAAAEgEiAEBEiEKFGJsb2NrX29uX2FueV9mYWlsdXJlGAYgASgISAWIAQESLgoRbWF4X2Nvc3RfaW5jcmVhc2UYByABKAFCDrpICxIJKQAAAAAAAAAASAaIAQESMQoUbWF4X2xhdGVuY3lfaW5jcmVhc2UYCCABKAFCDrpICxIJKQAAAAAAAAAASAeIAQESOQoPY3VzdG9tX2NyaXRlcmlhGAkgAygLMiAuZmVybWF0YS52MS5RdWFsaXR5R2F0ZUNyaXRlcmlvbhJDCh1taW5fanVkZ2VfdmFsaWRhdGlvbl9hY2N1cmFjeRgKIAEoAUIXukgUEhIZAAAAAAAA8D8pAAAAAAAAAABICIgBARIwChptaW5fanVkZ2VfdmFsaWRhdGlvbl9jb3VudBgLIAEoBUIHukgEGgIoAEgJiAEBEhoKEnJlcXVpcmVkX2p1ZGdlX2lkcxgMIAMoCRIwCiNibG9ja19vbl9qdWRnZXNfbmVlZGluZ19jYWxpYnJhdGlvbhgNIAEoCEgKiAEBQgoKCF9lbmFibGVkQhAKDl9taW5fcGFzc19yYXRlQhQKEl9taW5fYXZlcmFnZV9zY29yZUITChFfbWF4X2ZhaWxlZF90ZXN0c0IXChVfcmVncmVzc2lvbl90aHJlc2hvbGRCFwoVX2Jsb2NrX29uX2FueV9mYWlsdXJlQhQKEl9tYXhfY29zdF9pbmNyZWFzZUIXChVfbWF4X2xhdGVuY3lfaW5jcmVhc2VCIAoeX21pbl9qdWRnZV92YWxpZGF0aW9uX2FjY3VyYWN5Qh0KG19taW5fanVkZ2VfdmFsaWRhdGlvbl9jb3VudEImCiRfYmxvY2tfb25fanVkZ2VzX25lZWRpbmdfY2FsaWJyYXRpb24iYQoUUXVhbGl0eUdhdGVDcml0ZXJpb24SDAoEbmFtZRgBIAEoCRIMCgR0eXBlGAIgASgJEhAKCG9wZXJhdG9yGAMgASgJEg0KBXZhbHVlGAQgASgBEgwKBHVuaXQYBSABKAkiaQoUUXVhbGl0eUdhdGVWaW9sYXRpb24SDAoEcnVsZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhAKCHNldmVyaXR5GAMgASgJEg4KBmFjdHVhbBgEIAEoARIQCghleHBlY3RlZBgFIAEoASJzChJRdWFsaXR5R2F0ZVN1bW1hcnkSHQoMdG90YWxfY2hlY2tzGAEgASgFQge6SAQaAigAEh4KDXBhc3NlZF9jaGVja3MYAiABKAVCB7pIBBoCKAASHgoNZmFpbGVkX2NoZWNrcxgDIAEoBUIHukgEGgIoACKYBQoRUXVhbGl0eUdhdGVSZXN1bHQSCgoCaWQYASABKAkSHAoLdGVzdF9ydW5faWQYAiABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCRITCgtlbnZpcm9ubWVudBgFIAEoCRIWCg5vdmVyYWxsX3N0YXR1cxgGIAEoCRIWCg5vdmVyYWxsX3Bhc3NlZBgHIAEoCBIwCgxldmFsdWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKEGNyaXRlcmlhX3Jlc3VsdHMYCSADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh8KDnRvdGFsX2NyaXRlcmlhGAogASgFQge6SAQaAigAEiAKD3Bhc3NlZF9jcml0ZXJpYRgLIAEoBUIHukgEGgIoABIgCg9mYWlsZWRfY3JpdGVyaWEYDCABKAVCB7pIBBoCKAASIQoQd2FybmluZ19jcml0ZXJpYRgNIAEoBUIHukgEGgIoABItCgx0ZXN0X21ldHJpY3MYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjIKC2NvbmZpZ191c2VkGA8gASgLMh0uZmVybWF0YS52MS5RdWFsaXR5R2F0ZUNvbmZpZxIOCgZwYXNzZWQYECABKAgSDQoFc2NvcmUYESABKAESNAoKdmlvbGF0aW9ucxgSIAMoCzIgLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVWaW9sYXRpb24SLwoHc3VtbWFyeRgTIAEoCzIeLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVTdW1tYXJ5Eg8KB2RldGFpbHMYFCABKAkiQQoVUXVhbGl0eUdhdGVQYWdpbmF0aW9uEhYKBXRvdGFsGAEgASgFQge6SAQaAigAEhAKCGhhc19tb3JlGAIgASgIIh8KHUdldFF1YWxpdHlHYXRlRGVmYXVsdHNSZXF1ZXN0Iu4BCh5HZXRRdWFsaXR5R2F0ZURlZmF1bHRzUmVzcG9uc2USSAoHY29uZmlncxgBIAMoCzI3LmZlcm1hdGEudjEuR2V0UXVhbGl0eUdhdGVEZWZhdWx0c1Jlc3BvbnNlLkNvbmZpZ3NFbnRyeRIzChJhdmFpbGFibGVfY3JpdGVyaWEYAiADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Gk0KDENvbmZpZ3NFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnOgI4ASI4Ch1MaXN0UXVhbGl0eUdhdGVDb25maWdzUmVxdWVzdBIXCg9vcmdhbml6YXRpb25faWQYASABKAkiuQEKHkxpc3RRdWFsaXR5R2F0ZUNvbmZpZ3NSZXNwb25zZRJICgdjb25maWdzGAEgAygLMjcuZmVybWF0YS52MS5MaXN0UXVhbGl0eUdhdGVDb25maWdzUmVzcG9uc2UuQ29uZmlnc0VudHJ5Gk0KDENvbmZpZ3NFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnOgI4ASJLChtHZXRRdWFsaXR5R2F0ZUNvbmZpZ1JlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEhMKC2Vudmlyb25tZW50GAIgASgJImIKHEdldFF1YWxpdHlHYXRlQ29uZmlnUmVzcG9uc2USEwoLZW52aXJvbm1lbnQYASABKAkSLQoGY29uZmlnGAIgASgLMh0uZmVybWF0YS52MS5RdWFsaXR5R2F0ZUNvbmZpZyKOAQoeVXBzZXJ0UXVhbGl0eUdhdGVDb25maWdSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARITCgtlbnZpcm9ubWVudBgCIAEoCRI1CgZjb25maWcYAyABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnQga6SAPIAQEiZQofVXBzZXJ0UXVhbGl0eUdhdGVDb25maWdSZXNwb25zZRITCgtlbnZpcm9ubWVudBgBIAEoCRItCgZjb25maWcYAiABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnIlYKHVJlc2V0UXVhbGl0eUdhdGVDb25maWdSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARITCgtlbnZpcm9ubWVudBgCIAEoCSKSAQoeUmVzZXRRdWFsaXR5R2F0ZUNvbmZpZ1Jlc3BvbnNlEhMKC2Vudmlyb25tZW50GAEgASgJEiwKCHJlc2V0X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCgZjb25maWcYAyABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnIvkBChpFdmFsdWF0ZVF1YWxpdHlHYXRlUmVxdWVzdBIXCg9vcmdhbml6YXRpb25faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEhMKC2Vudmlyb25tZW50GAMgASgJEhwKC3Rlc3RfcnVuX2lkGAQgASgJQge6SARyAhABEigKB21ldHJpY3MYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei0KBmNvbmZpZxgGIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVDb25maWcSFAoHcGVyc2lzdBgHIAEoCEgAiAEBQgoKCF9wZXJzaXN0IkwKG0V2YWx1YXRlUXVhbGl0eUdhdGVSZXNwb25zZRItCgZyZXN1bHQYASABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlUmVzdWx0IvMCCiBCYXRjaEV2YWx1YXRlUXVhbGl0eUdhdGVzUmVxdWVzdBIXCg9vcmdhbml6YXRpb25faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEhMKC2Vudmlyb25tZW50GAMgASgJEhQKDHRlc3RfcnVuX2lkcxgEIAMoCRJWCg5tZXRyaWNzX2J5X3J1bhgFIAMoCzI+LmZlcm1hdGEudjEuQmF0Y2hFdmFsdWF0ZVF1YWxpdHlHYXRlc1JlcXVlc3QuTWV0cmljc0J5UnVuRW50cnkSLQoGY29uZmlnGAYgASgLMh0uZmVybWF0YS52MS5RdWFsaXR5R2F0ZUNvbmZpZxIUCgdwZXJzaXN0GAcgASgISACIAQEaTAoRTWV0cmljc0J5UnVuRW50cnkSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdDoCOAFCCgoIX3BlcnNpc3QiwQEKIUJhdGNoRXZhbHVhdGVRdWFsaXR5R2F0ZXNSZXNwb25zZRIgCg90b3RhbF9wcm9jZXNzZWQYASABKAVCB7pIBBoCKAASGwoKc3VjY2Vzc2Z1bBgCIAEoBUIHukgEGgIoABIXCgZmYWlsZWQYAyABKAVCB7pIBBoCKAASLgoHcmVzdWx0cxgEIAMoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVSZXN1bHQSFAoMbmV4dF9hY3Rpb25zGAUgAygJImMKH0dldFF1YWxpdHlHYXRlRXZhbHVhdGlvblJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh4KDWV2YWx1YXRpb25faWQYAiABKAlCB7pIBHICEAEiVQogR2V0UXVhbGl0eUdhdGVFdmFsdWF0aW9uUmVzcG9uc2USMQoKZXZhbHVhdGlvbhgBIAEoCzIdLmZlcm1hdGEudjEuUXVhbGl0eUdhdGVSZXN1bHQiwgEKHUxpc3RRdWFsaXR5R2F0ZVJlc3VsdHNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLZW52aXJvbm1lbnQYAyABKAkSDgoGc3RhdHVzGAQgASgJEhMKC3Rlc3RfcnVuX2lkGAUgASgJEhYKBWxpbWl0GAYgASgFQge6SAQaAigAEhcKBm9mZnNldBgHIAEoBUIHukgEGgIoACKHAQoeTGlzdFF1YWxpdHlHYXRlUmVzdWx0c1Jlc3BvbnNlEi4KB3Jlc3VsdHMYASADKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlUmVzdWx0EjUKCnBhZ2luYXRpb24YAiABKAsyIS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlUGFnaW5hdGlvbiJtChxHZXRRdWFsaXR5R2F0ZU1ldHJpY3NSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFQoEZGF5cxgDIAEoBUIHukgEGgIoACK7AQodR2V0UXVhbGl0eUdhdGVNZXRyaWNzUmVzcG9uc2USDgoGcGVyaW9kGAEgASgJEi0KDHRlc3RfbWV0cmljcxgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMQoQY3JpdGVyaWFfcmVzdWx0cxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKAoHc3VtbWFyeRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QigAEKGkdldFF1YWxpdHlHYXRlU3RhdHNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLZW52aXJvbm1lbnQYAyABKAkSFQoEZGF5cxgEIAEoBUIHukgEGgIoACLcAQobR2V0UXVhbGl0eUdhdGVTdGF0c1Jlc3BvbnNlEg4KBnBlcmlvZBgBIAEoCRIoCgdzdW1tYXJ5GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBInCgZ0cmVuZHMYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei8KDmJ5X2Vudmlyb25tZW50GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCgh0aW1lbGluZRgFIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiZgogVmFsaWRhdGVRdWFsaXR5R2F0ZUNvbmZpZ1JlcXVlc3QSEwoLZW52aXJvbm1lbnQYASABKAkSLQoGY29uZmlnGAIgASgLMh0uZmVybWF0YS52MS5RdWFsaXR5R2F0ZUNvbmZpZyK8AQohVmFsaWRhdGVRdWFsaXR5R2F0ZUNvbmZpZ1Jlc3BvbnNlEg0KBXZhbGlkGAEgASgIEg4KBmVycm9ycxgCIAMoCRIQCgh3YXJuaW5ncxgDIAMoCRIXCg9yZWNvbW1lbmRhdGlvbnMYBCADKAkSEwoLZW52aXJvbm1lbnQYBSABKAkSOAoRbm9ybWFsaXplZF9jb25maWcYBiABKAsyHS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlQ29uZmlnInMKIVF1YWxpdHlHYXRlUmVncmVzc2lvbkJ1ZGdldFdhaXZlchIOCgZtZXRyaWMYASABKAkSDgoGcmVhc29uGAIgASgJEi4KCmV4cGlyZXNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrkCCipFdmFsdWF0ZVF1YWxpdHlHYXRlUmVncmVzc2lvbkJ1ZGdldFJlcXVlc3QSFwoPb3JnYW5pemF0aW9uX2lkGAEgASgJEikKCGJhc2VsaW5lGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIqCgljYW5kaWRhdGUYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKB2J1ZGdldHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhgKEGhpZ2hlcl9pc19iZXR0ZXIYBSADKAkSFwoPbG93ZXJfaXNfYmV0dGVyGAYgAygJEj4KB3dhaXZlcnMYByADKAsyLS5mZXJtYXRhLnYxLlF1YWxpdHlHYXRlUmVncmVzc2lvbkJ1ZGdldFdhaXZlciLoAQorRXZhbHVhdGVRdWFsaXR5R2F0ZVJlZ3Jlc3Npb25CdWRnZXRSZXNwb25zZRIQCghkZWNpc2lvbhgBIAEoCRIRCglwYXNzX2dhdGUYAiABKAgSDwoHYmxvY2tlZBgDIAEoCBIoChd0b3RhbF9tZXRyaWNzX2V2YWx1YXRlZBgEIAEoBUIHukgEGgIoABIfCg50b3RhbF9icmVhY2hlcxgFIAEoBUIHukgEGgIoABIpCghicmVhY2hlcxgGIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDQoFbm90ZXMYByADKAkiMQohRXZhbHVhdGVQdWJsaWNGZWF0dXJlRmxhZ3NSZXF1ZXN0EgwKBGtleXMYASADKAkinAEKIkV2YWx1YXRlUHVibGljRmVhdHVyZUZsYWdzUmVzcG9uc2USSAoFZmxhZ3MYASADKAsyOS5mZXJtYXRhLnYxLkV2YWx1YXRlUHVibGljRmVhdHVyZUZsYWdzUmVzcG9uc2UuRmxhZ3NFbnRyeRosCgpGbGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEiGwoZR2V0TWlncmF0aW9uU3RhdHVzUmVxdWVzdCJcChRSb3V0ZU1pZ3JhdGlvblN0YXR1cxITCgtwYXRoX3ByZWZpeBgBIAEoCRIQCghtaWdyYXRlZBgCIAEoCBIdChVwcm94aWVkX3JlcXVlc3RfY291bnQYAyABKAMiTgoaR2V0TWlncmF0aW9uU3RhdHVzUmVzcG9uc2USMAoGcm91dGVzGAEgAygLMiAuZmVybWF0YS52MS5Sb3V0ZU1pZ3JhdGlvblN0YXR1cyqGBgoNQXNzZXJ0aW9uS2luZBIeChpBU1NFUlRJT05fS0lORF9VTlNQRUNJRklFRBAAEhsKF0FTU0VSVElPTl9LSU5EX0NPTlRBSU5TEAESHwobQVNTRVJUSU9OX0tJTkRfTk9UX0NPTlRBSU5TEAISGAoUQVNTRVJUSU9OX0tJTkRfUkVHRVgQAxIdChlBU1NFUlRJT05fS0lORF9TSU1JTEFSSVRZEAQSHwobQVNTRVJUSU9OX0tJTkRfQ1VTVE9NX0pVREdFEAUSHgoaQVNTRVJUSU9OX0tJTkRfSlNPTl9TQ0hFTUEQBhIZChVBU1NFUlRJT05fS0lORF9FUVVBTFMQBxIeChpBU1NFUlRJT05fS0lORF9TVEFSVFNfV0lUSBAIEh8KG0FTU0VSVElPTl9LSU5EX0NPTlRBSU5TX0FOWRAJEh8KG0FTU0VSVElPTl9LSU5EX0NPTlRBSU5TX0FMTBAKEh0KGUFTU0VSVElPTl9LSU5EX1dPUkRfQ09VTlQQCxIeChpBU1NFUlRJT05fS0lORF9OVU1FUklDX0dURRAMEh4KGkFTU0VSVElPTl9LSU5EX05VTUVSSUNfTFRFEA0SHgoaQVNTRVJUSU9OX0tJTkRfVE9PTF9DQUxMRUQQDhIiCh5BU1NFUlRJT05fS0lORF9UT09MX05PVF9DQUxMRUQQDxIgChxBU1NFUlRJT05fS0lORF9UT09MX1NFUVVFTkNFEBASIwofQVNTRVJUSU9OX0tJTkRfVFJBQ0VfU1BBTl9DT1VOVBAREiIKHkFTU0VSVElPTl9LSU5EX1RPT0xfQVJHU19NQVRDSBASEiQKIEFTU0VSVElPTl9LSU5EX1RSQUNFX0VSUk9SX1NQQU5TEBMSJgoiQVNTRVJUSU9OX0tJTkRfVFJBQ0VfU1BBTl9EVVJBVElPThAUEiMKH0FTU0VSVElPTl9LSU5EX1RSQUNFX1NURVBfQ09VTlQQFRIfChtBU1NFUlRJT05fS0lORF9UT09MX0NBTExfRjEQFiqIAQoJSnVkZ2VLaW5kEhoKFkpVREdFX0tJTkRfVU5TUEVDSUZJRUQQABISCg5KVURHRV9LSU5EX0xMTRABEhkKFUpVREdFX0tJTkRfUlVMRV9CQVNFRBACEhkKFUpVREdFX0tJTkRfU0lNSUxBUklUWRADEhUKEUpVREdFX0tJTkRfQ1VTVE9NEAQqkwIKF1NjZW5hcmlvRW52aXJvbm1lbnRLaW5kEikKJVNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfVU5TUEVDSUZJRUQQABIkCiBTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX1JFUExBWRABEiYKIlNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfU1RBUkxBUksQAhInCiNTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX01PQ0tfSFRUUBADEiUKIVNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfU0FOREJPWBAEEi8KK1NDRU5BUklPX0VOVklST05NRU5UX0tJTkRfUFJPRFVDVElPTl9TSEFET1cQBSqnAgoVVXNlclNpbXVsYXRvclN0cmF0ZWd5EicKI1VTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1VOU1BFQ0lGSUVEEAASJwojVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfQ09PUEVSQVRJVkUQARIhCh1VU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9SRUFDVBACEiIKHlVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1ZFUklGWRADEiYKIlVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1JFRkxFQ1RJT04QBBInCiNVU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9BRFZFUlNBUklBTBAFEiQKIFVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX0NPTkZVU0VEEAYqtgIKFE91dGNvbWVDcml0ZXJpb25LaW5kEiYKIk9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfVU5TUEVDSUZJRUQQABImCiJPVVRDT01FX0NSSVRFUklPTl9LSU5EX0ZJTkFMX1NUQVRFEAESKgomT1VUQ09NRV9DUklURVJJT05fS0lORF9UQVNLX0NPTVBMRVRJT04QAhIlCiFPVVRDT01FX0NSSVRFUklPTl9LSU5EX1RSQUpFQ1RPUlkQAxImCiJPVVRDT01FX0NSSVRFUklPTl9LSU5EX0NPU1RfQlVER0VUEAQSKQolT1VUQ09NRV9DUklURVJJT05fS0lORF9MQVRFTkNZX0JVREdFVBAFEigKJE9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfUVVBTElUWV9TQ09SRRAGKroDChdHb3Zlcm5hbmNlQXNzZXJ0aW9uVHlwZRIpCiVHT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASMQotR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9FU0NBTEFUSU9OX1JFUVVJUkVEEAESMwovR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9BVVRPX1BST0NFRURfRVhQRUNURUQQAhIxCi1HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1JJU0tfQ0xBU1NJRklDQVRJT04QAxIyCi5HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0RBVEFfQUNDRVNTX0JPVU5EQVJZEAQSOAo0R09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9HT1ZFUk5BTkNFX0JMT0NLX1JFU1BFQ1RFRBAFEjMKL0dPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfU0VMRl9BUFBST1ZBTF9CTE9DS0VEEAYSNgoyR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9QSUlfREVURUNURURfQU5EX0hBTkRMRUQQByqAAwoXRGVsZWdhdGlvbkFzc2VydGlvblR5cGUSKQolREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9VTlNQRUNJRklFRBAAEjcKM0RFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfREVMRUdBVElPTl9UQVJHRVRfQ09SUkVDVBABEjIKLkRFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfQ09OVEVYVF9QUkVTRVJWQVRJT04QAhIyCi5ERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0RFTEVHQVRJT05fVkFMVUVfQUREEAMSNQoxREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9ERUxFR0FUSU9OX0NPU1RfQk9VTkRFRBAEEjEKLURFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfQ0hBSU5fREVQVEhfQk9VTkRFRBAFEi8KK0RFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfRkFJTFVSRV9JU09MQVRJT04QBir8AQoRU2NlbmFyaW9SdW5TdGF0dXMSIwofU0NFTkFSSU9fUlVOX1NUQVRVU19VTlNQRUNJRklFRBAAEh8KG1NDRU5BUklPX1JVTl9TVEFUVVNfUEVORElORxABEh8KG1NDRU5BUklPX1JVTl9TVEFUVVNfUlVOTklORxACEh4KGlNDRU5BUklPX1JVTl9TVEFUVVNfUEFTU0VEEAMSHgoaU0NFTkFSSU9fUlVOX1NUQVRVU19GQUlMRUQQBBIdChlTQ0VOQVJJT19SVU5fU1RBVFVTX0VSUk9SEAUSIQodU0NFTkFSSU9fUlVOX1NUQVRVU19DQU5DRUxMRUQQBiqVAQoWRGlhZ25vc3RpY0FydGlmYWN0S2luZBIoCiRESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfVU5TUEVDSUZJRUQQABIoCiRESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfRVhQTEFOQVRJT04QARInCiNESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfUk9PVF9DQVVTRRACKr4BChlEaWFnbm9zdGljRmluZGluZ1NldmVyaXR5EisKJ0RJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9VTlNQRUNJRklFRBAAEiQKIERJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9JTkZPEAESJwojRElBR05PU1RJQ19GSU5ESU5HX1NFVkVSSVRZX1dBUk5JTkcQAhIlCiFESUFHTk9TVElDX0ZJTkRJTkdfU0VWRVJJVFlfRVJST1IQAyrrAQoZQWdlbnRTZXNzaW9uQ29udHJvbEFjdGlvbhIsCihBR0VOVF9TRVNTSU9OX0NPTlRST0xfQUNUSU9OX1VOU1BFQ0lGSUVEEAASJgoiQUdFTlRfU0VTU0lPTl9DT05UUk9MX0FDVElPTl9QQVVTRRABEicKI0FHRU5UX1NFU1NJT05fQ09OVFJPTF9BQ1RJT05fUkVTVU1FEAISJwojQUdFTlRfU0VTU0lPTl9DT05UUk9MX0FDVElPTl9DQU5DRUwQAxImCiJBR0VOVF9TRVNTSU9OX0NPTlRST0xfQUNUSU9OX1JFVFJZEAQqiQEKFUFnZW50QXBwcm92YWxEZWNpc2lvbhInCiNBR0VOVF9BUFBST1ZBTF9ERUNJU0lPTl9VTlNQRUNJRklFRBAAEiMKH0FHRU5UX0FQUFJPVkFMX0RFQ0lTSU9OX0FQUFJPVkUQARIiCh5BR0VOVF9BUFBST1ZBTF9ERUNJU0lPTl9SRUpFQ1QQAjLcYAoORmVybWF0YVNlcnZpY2UShAEKD0NyZWF0ZVRlc3RTdWl0ZRIiLmZlcm1hdGEudjEuQ3JlYXRlVGVzdFN1aXRlUmVxdWVzdBojLmZlcm1hdGEudjEuQ3JlYXRlVGVzdFN1aXRlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSegoMR2V0VGVzdFN1aXRlEh8uZmVybWF0YS52MS5HZXRUZXN0U3VpdGVSZXF1ZXN0GiAuZmVybWF0YS52MS5HZXRUZXN0U3VpdGVSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEoABCg5MaXN0VGVzdFN1aXRlcxIhLmZlcm1hdGEudjEuTGlzdFRlc3RTdWl0ZXNSZXF1ZXN0GiIuZmVybWF0YS52MS5MaXN0VGVzdFN1aXRlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSgQEKDkNyZWF0ZVNjZW5hcmlvEiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3QaIi5mZXJtYXRhLnYxLkNyZWF0ZVNjZW5hcmlvUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSdwoLR2V0U2NlbmFyaW8SHi5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUmVxdWVzdBofLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEn0KDUxpc3RTY2VuYXJpb3MSIC5mZXJtYXRhLnYxLkxpc3RTY2VuYXJpb3NSZXF1ZXN0GiEuZmVybWF0YS52MS5MaXN0U2NlbmFyaW9zUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKVAQoTQ3JlYXRlQWdlbnRUYXNrRXZhbBImLmZlcm1hdGEudjEuQ3JlYXRlQWdlbnRUYXNrRXZhbFJlcXVlc3QaJy5mZXJtYXRhLnYxLkNyZWF0ZUFnZW50VGFza0V2YWxSZXNwb25zZSItyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYFGV2YWwub3JnYW5pemF0aW9uX2lkEowBChBSdW5BZ2VudFRhc2tFdmFsEiMuZmVybWF0YS52MS5SdW5BZ2VudFRhc2tFdmFsUmVxdWVzdBokLmZlcm1hdGEudjEuUnVuQWdlbnRUYXNrRXZhbFJlc3BvbnNlIi3K8xgNZmVybWF0YTp3cml0ZdjzGALq8xgUZXZhbC5vcmdhbml6YXRpb25faWQSgAEKDkxpc3RBZ2VudFRvb2xzEiEuZmVybWF0YS52MS5MaXN0QWdlbnRUb29sc1JlcXVlc3QaIi5mZXJtYXRhLnYxLkxpc3RBZ2VudFRvb2xzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKQAQoTQW5hbHl6ZUFnZW50QWN0aW9ucxImLmZlcm1hdGEudjEuQW5hbHl6ZUFnZW50QWN0aW9uc1JlcXVlc3QaJy5mZXJtYXRhLnYxLkFuYWx5emVBZ2VudEFjdGlvbnNSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKhAQoZQnVpbGRBZ2VudFNlc3Npb25UaW1lbGluZRIsLmZlcm1hdGEudjEuQnVpbGRBZ2VudFNlc3Npb25UaW1lbGluZVJlcXVlc3QaLS5mZXJtYXRhLnYxLkJ1aWxkQWdlbnRTZXNzaW9uVGltZWxpbmVSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEqQBChpMaXN0QWdlbnRXb3JrZmxvd1RlbXBsYXRlcxItLmZlcm1hdGEudjEuTGlzdEFnZW50V29ya2Zsb3dUZW1wbGF0ZXNSZXF1ZXN0Gi4uZmVybWF0YS52MS5MaXN0QWdlbnRXb3JrZmxvd1RlbXBsYXRlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQStAEKH0NyZWF0ZUFnZW50V29ya2Zsb3dGcm9tVGVtcGxhdGUSMi5mZXJtYXRhLnYxLkNyZWF0ZUFnZW50V29ya2Zsb3dGcm9tVGVtcGxhdGVSZXF1ZXN0GjMuZmVybWF0YS52MS5DcmVhdGVBZ2VudFdvcmtmbG93RnJvbVRlbXBsYXRlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSkAEKE0NyZWF0ZUFnZW50V29ya2Zsb3cSJi5mZXJtYXRhLnYxLkNyZWF0ZUFnZW50V29ya2Zsb3dSZXF1ZXN0GicuZmVybWF0YS52MS5DcmVhdGVBZ2VudFdvcmtmbG93UmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQShgEKEEdldEFnZW50V29ya2Zsb3cSIy5mZXJtYXRhLnYxLkdldEFnZW50V29ya2Zsb3dSZXF1ZXN0GiQuZmVybWF0YS52MS5HZXRBZ2VudFdvcmtmbG93UmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKMAQoSTGlzdEFnZW50V29ya2Zsb3dzEiUuZmVybWF0YS52MS5MaXN0QWdlbnRXb3JrZmxvd3NSZXF1ZXN0GiYuZmVybWF0YS52MS5MaXN0QWdlbnRXb3JrZmxvd3NSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpABChNVcGRhdGVBZ2VudFdvcmtmbG93EiYuZmVybWF0YS52MS5VcGRhdGVBZ2VudFdvcmtmbG93UmVxdWVzdBonLmZlcm1hdGEudjEuVXBkYXRlQWdlbnRXb3JrZmxvd1Jlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEpABChNEZWxldGVBZ2VudFdvcmtmbG93EiYuZmVybWF0YS52MS5EZWxldGVBZ2VudFdvcmtmbG93UmVxdWVzdBonLmZlcm1hdGEudjEuRGVsZXRlQWdlbnRXb3JrZmxvd1Jlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEocBChBSdW5BZ2VudFdvcmtmbG93EiMuZmVybWF0YS52MS5SdW5BZ2VudFdvcmtmbG93UmVxdWVzdBokLmZlcm1hdGEudjEuUnVuQWdlbnRXb3JrZmxvd1Jlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGAPq8xgPb3JnYW5pemF0aW9uX2lkEoQBCg9DcmVhdGVBZ2VudEhvb2sSIi5mZXJtYXRhLnYxLkNyZWF0ZUFnZW50SG9va1JlcXVlc3QaIy5mZXJtYXRhLnYxLkNyZWF0ZUFnZW50SG9va1Jlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEoABCg5MaXN0QWdlbnRIb29rcxIhLmZlcm1hdGEudjEuTGlzdEFnZW50SG9va3NSZXF1ZXN0GiIuZmVybWF0YS52MS5MaXN0QWdlbnRIb29rc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQShAEKD1VwZGF0ZUFnZW50SG9vaxIiLmZlcm1hdGEudjEuVXBkYXRlQWdlbnRIb29rUmVxdWVzdBojLmZlcm1hdGEudjEuVXBkYXRlQWdlbnRIb29rUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQShAEKD0RlbGV0ZUFnZW50SG9vaxIiLmZlcm1hdGEudjEuRGVsZXRlQWdlbnRIb29rUmVxdWVzdBojLmZlcm1hdGEudjEuRGVsZXRlQWdlbnRIb29rUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSgwEKD0dldEFnZW50U2Vzc2lvbhIiLmZlcm1hdGEudjEuR2V0QWdlbnRTZXNzaW9uUmVxdWVzdBojLmZlcm1hdGEudjEuR2V0QWdlbnRTZXNzaW9uUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKJAQoRTGlzdEFnZW50U2Vzc2lvbnMSJC5mZXJtYXRhLnYxLkxpc3RBZ2VudFNlc3Npb25zUmVxdWVzdBolLmZlcm1hdGEudjEuTGlzdEFnZW50U2Vzc2lvbnNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpABChNDb250cm9sQWdlbnRTZXNzaW9uEiYuZmVybWF0YS52MS5Db250cm9sQWdlbnRTZXNzaW9uUmVxdWVzdBonLmZlcm1hdGEudjEuQ29udHJvbEFnZW50U2Vzc2lvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGAPq8xgPb3JnYW5pemF0aW9uX2lkEpwBChdDcmVhdGVBZ2VudFNlc3Npb25FdmVudBIqLmZlcm1hdGEudjEuQ3JlYXRlQWdlbnRTZXNzaW9uRXZlbnRSZXF1ZXN0GisuZmVybWF0YS52MS5DcmVhdGVBZ2VudFNlc3Npb25FdmVudFJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEpgBChZMaXN0QWdlbnRTZXNzaW9uRXZlbnRzEikuZmVybWF0YS52MS5MaXN0QWdlbnRTZXNzaW9uRXZlbnRzUmVxdWVzdBoqLmZlcm1hdGEudjEuTGlzdEFnZW50U2Vzc2lvbkV2ZW50c1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSnwEKGENyZWF0ZUFnZW50VG9vbEV4ZWN1dGlvbhIrLmZlcm1hdGEudjEuQ3JlYXRlQWdlbnRUb29sRXhlY3V0aW9uUmVxdWVzdBosLmZlcm1hdGEudjEuQ3JlYXRlQWdlbnRUb29sRXhlY3V0aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYA+rzGA9vcmdhbml6YXRpb25faWQSnwEKGFVwZGF0ZUFnZW50VG9vbEV4ZWN1dGlvbhIrLmZlcm1hdGEudjEuVXBkYXRlQWdlbnRUb29sRXhlY3V0aW9uUmVxdWVzdBosLmZlcm1hdGEudjEuVXBkYXRlQWdlbnRUb29sRXhlY3V0aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYA+rzGA9vcmdhbml6YXRpb25faWQSmwEKF0xpc3RBZ2VudFRvb2xFeGVjdXRpb25zEiouZmVybWF0YS52MS5MaXN0QWdlbnRUb29sRXhlY3V0aW9uc1JlcXVlc3QaKy5mZXJtYXRhLnYxLkxpc3RBZ2VudFRvb2xFeGVjdXRpb25zUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKQAQoTRGVjaWRlQWdlbnRBcHByb3ZhbBImLmZlcm1hdGEudjEuRGVjaWRlQWdlbnRBcHByb3ZhbFJlcXVlc3QaJy5mZXJtYXRhLnYxLkRlY2lkZUFnZW50QXBwcm92YWxSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgD6vMYD29yZ2FuaXphdGlvbl9pZBKMAQoSTGlzdEFnZW50QXBwcm92YWxzEiUuZmVybWF0YS52MS5MaXN0QWdlbnRBcHByb3ZhbHNSZXF1ZXN0GiYuZmVybWF0YS52MS5MaXN0QWdlbnRBcHByb3ZhbHNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpsBChdHZXRBZ2VudFNlc3Npb25UaW1lbGluZRIqLmZlcm1hdGEudjEuR2V0QWdlbnRTZXNzaW9uVGltZWxpbmVSZXF1ZXN0GisuZmVybWF0YS52MS5HZXRBZ2VudFNlc3Npb25UaW1lbGluZVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSlgEKFVVwc2VydEN1c3RvbUV2YWx1YXRvchIoLmZlcm1hdGEudjEuVXBzZXJ0Q3VzdG9tRXZhbHVhdG9yUmVxdWVzdBopLmZlcm1hdGEudjEuVXBzZXJ0Q3VzdG9tRXZhbHVhdG9yUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSjAEKEkdldEN1c3RvbUV2YWx1YXRvchIlLmZlcm1hdGEudjEuR2V0Q3VzdG9tRXZhbHVhdG9yUmVxdWVzdBomLmZlcm1hdGEudjEuR2V0Q3VzdG9tRXZhbHVhdG9yUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKSAQoUTGlzdEN1c3RvbUV2YWx1YXRvcnMSJy5mZXJtYXRhLnYxLkxpc3RDdXN0b21FdmFsdWF0b3JzUmVxdWVzdBooLmZlcm1hdGEudjEuTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpYBChVEZWxldGVDdXN0b21FdmFsdWF0b3ISKC5mZXJtYXRhLnYxLkRlbGV0ZUN1c3RvbUV2YWx1YXRvclJlcXVlc3QaKS5mZXJtYXRhLnYxLkRlbGV0ZUN1c3RvbUV2YWx1YXRvclJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEngKC1Vwc2VydEp1ZGdlEh4uZmVybWF0YS52MS5VcHNlcnRKdWRnZVJlcXVlc3QaHy5mZXJtYXRhLnYxLlVwc2VydEp1ZGdlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSbgoIR2V0SnVkZ2USGy5mZXJtYXRhLnYxLkdldEp1ZGdlUmVxdWVzdBocLmZlcm1hdGEudjEuR2V0SnVkZ2VSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEnQKCkxpc3RKdWRnZXMSHS5mZXJtYXRhLnYxLkxpc3RKdWRnZXNSZXF1ZXN0Gh4uZmVybWF0YS52MS5MaXN0SnVkZ2VzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBJ4CgtEZWxldGVKdWRnZRIeLmZlcm1hdGEudjEuRGVsZXRlSnVkZ2VSZXF1ZXN0Gh8uZmVybWF0YS52MS5EZWxldGVKdWRnZVJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEn4KDVN0YXJ0U2NlbmFyaW8SIC5mZXJtYXRhLnYxLlN0YXJ0U2NlbmFyaW9SZXF1ZXN0GiEuZmVybWF0YS52MS5TdGFydFNjZW5hcmlvUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYA+rzGA9vcmdhbml6YXRpb25faWQSogEKFkNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW8SKS5mZXJtYXRhLnYxLkNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXF1ZXN0GiouZmVybWF0YS52MS5DcmVhdGVBbmRTdGFydFNjZW5hcmlvUmVzcG9uc2UiMcrzGA1mZXJtYXRhOndyaXRl2PMYA+rzGBhzY2VuYXJpby5vcmdhbml6YXRpb25faWQSigEKEVJlY29yZFNjZW5hcmlvUnVuEiQuZmVybWF0YS52MS5SZWNvcmRTY2VuYXJpb1J1blJlcXVlc3QaJS5mZXJtYXRhLnYxLlJlY29yZFNjZW5hcmlvUnVuUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSgAEKDkdldFNjZW5hcmlvUnVuEiEuZmVybWF0YS52MS5HZXRTY2VuYXJpb1J1blJlcXVlc3QaIi5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUnVuUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKGAQoQTGlzdFNjZW5hcmlvUnVucxIjLmZlcm1hdGEudjEuTGlzdFNjZW5hcmlvUnVuc1JlcXVlc3QaJC5mZXJtYXRhLnYxLkxpc3RTY2VuYXJpb1J1bnNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEr8BCiNHZXRFdmFsdWF0aW9uT2JzZXJ2YWJpbGl0eURhc2hib2FyZBI2LmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvbk9ic2VydmFiaWxpdHlEYXNoYm9hcmRSZXF1ZXN0GjcuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uT2JzZXJ2YWJpbGl0eURhc2hib2FyZFJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSmwEKF0dldEV2YWx1YXRpb25SdW5NZXRyaWNzEiouZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uUnVuTWV0cmljc1JlcXVlc3QaKy5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25SdW5NZXRyaWNzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKlAQoaQ3JlYXRlRXZhbHVhdGlvbkNvbXBhcmlzb24SLS5mZXJtYXRhLnYxLkNyZWF0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVxdWVzdBouLmZlcm1hdGEudjEuQ3JlYXRlRXZhbHVhdGlvbkNvbXBhcmlzb25SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKbAQoXR2V0RXZhbHVhdGlvbkNvbXBhcmlzb24SKi5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25Db21wYXJpc29uUmVxdWVzdBorLmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvbkNvbXBhcmlzb25SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEqEBChlMaXN0RXZhbHVhdGlvbkNvbXBhcmlzb25zEiwuZmVybWF0YS52MS5MaXN0RXZhbHVhdGlvbkNvbXBhcmlzb25zUmVxdWVzdBotLmZlcm1hdGEudjEuTGlzdEV2YWx1YXRpb25Db21wYXJpc29uc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSpQEKGlVwZGF0ZUV2YWx1YXRpb25Db21wYXJpc29uEi0uZmVybWF0YS52MS5VcGRhdGVFdmFsdWF0aW9uQ29tcGFyaXNvblJlcXVlc3QaLi5mZXJtYXRhLnYxLlVwZGF0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSpQEKGkRlbGV0ZUV2YWx1YXRpb25Db21wYXJpc29uEi0uZmVybWF0YS52MS5EZWxldGVFdmFsdWF0aW9uQ29tcGFyaXNvblJlcXVlc3QaLi5mZXJtYXRhLnYxLkRlbGV0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSsQEKHlJlZ2VuZXJhdGVFdmFsdWF0aW9uQ29tcGFyaXNvbhIxLmZlcm1hdGEudjEuUmVnZW5lcmF0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVxdWVzdBoyLmZlcm1hdGEudjEuUmVnZW5lcmF0ZUV2YWx1YXRpb25Db21wYXJpc29uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSrQEKHUdldEV2YWx1YXRpb25Hb3Zlcm5hbmNlUmVwb3J0EjAuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydFJlcXVlc3QaMS5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25Hb3Zlcm5hbmNlUmVwb3J0UmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKHAQoQQnVpbGRSZWRUZWFtUGxhbhIjLmZlcm1hdGEudjEuQnVpbGRSZWRUZWFtUGxhblJlcXVlc3QaJC5mZXJtYXRhLnYxLkJ1aWxkUmVkVGVhbVBsYW5SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKPAQoTTGlzdFJlZFRlYW1EYXRhc2V0cxImLmZlcm1hdGEudjEuTGlzdFJlZFRlYW1EYXRhc2V0c1JlcXVlc3QaJy5mZXJtYXRhLnYxLkxpc3RSZWRUZWFtRGF0YXNldHNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEo0BChJCdWlsZFJlZFRlYW1SZXBvcnQSJS5mZXJtYXRhLnYxLkJ1aWxkUmVkVGVhbVJlcG9ydFJlcXVlc3QaJi5mZXJtYXRhLnYxLkJ1aWxkUmVkVGVhbVJlcG9ydFJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEo0BChJQcm9tb3RlRGF0YXNldEl0ZW0SJS5mZXJtYXRhLnYxLlByb21vdGVEYXRhc2V0SXRlbVJlcXVlc3QaJi5mZXJtYXRhLnYxLlByb21vdGVEYXRhc2V0SXRlbVJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEpABChNQcm9tb3RlRGF0YXNldEl0ZW1zEiYuZmVybWF0YS52MS5Qcm9tb3RlRGF0YXNldEl0ZW1zUmVxdWVzdBonLmZlcm1hdGEudjEuUHJvbW90ZURhdGFzZXRJdGVtc1Jlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEo0BChJCdWlsZEdvbGRlbkRhdGFzZXQSJS5mZXJtYXRhLnYxLkJ1aWxkR29sZGVuRGF0YXNldFJlcXVlc3QaJi5mZXJtYXRhLnYxLkJ1aWxkR29sZGVuRGF0YXNldFJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEpkBChZJbmdlc3RQcm9kdWN0aW9uVHJhY2VzEikuZmVybWF0YS52MS5Jbmdlc3RQcm9kdWN0aW9uVHJhY2VzUmVxdWVzdBoqLmZlcm1hdGEudjEuSW5nZXN0UHJvZHVjdGlvblRyYWNlc1Jlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEsABCiNCdWlsZFByb2R1Y3Rpb25UcmFjZVJlZ3Jlc3Npb25TdWl0ZRI2LmZlcm1hdGEudjEuQnVpbGRQcm9kdWN0aW9uVHJhY2VSZWdyZXNzaW9uU3VpdGVSZXF1ZXN0GjcuZmVybWF0YS52MS5CdWlsZFByb2R1Y3Rpb25UcmFjZVJlZ3Jlc3Npb25TdWl0ZVJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEqQBChpMaXN0UHJvZHVjdGlvblRyYWNlU2FtcGxlcxItLmZlcm1hdGEudjEuTGlzdFByb2R1Y3Rpb25UcmFjZVNhbXBsZXNSZXF1ZXN0Gi4uZmVybWF0YS52MS5MaXN0UHJvZHVjdGlvblRyYWNlU2FtcGxlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSqwEKHENvbXBhcmVQcm9kdWN0aW9uVHJhY2VSZXBsYXkSLy5mZXJtYXRhLnYxLkNvbXBhcmVQcm9kdWN0aW9uVHJhY2VSZXBsYXlSZXF1ZXN0GjAuZmVybWF0YS52MS5Db21wYXJlUHJvZHVjdGlvblRyYWNlUmVwbGF5UmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQShgEKEFByZXZpZXdBc3NlcnRpb24SIy5mZXJtYXRhLnYxLlByZXZpZXdBc3NlcnRpb25SZXF1ZXN0GiQuZmVybWF0YS52MS5QcmV2aWV3QXNzZXJ0aW9uUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKqAQocUHJldmlld1NjZW5hcmlvUnVuQXNzZXJ0aW9ucxIvLmZlcm1hdGEudjEuUHJldmlld1NjZW5hcmlvUnVuQXNzZXJ0aW9uc1JlcXVlc3QaMC5mZXJtYXRhLnYxLlByZXZpZXdTY2VuYXJpb1J1bkFzc2VydGlvbnNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEqsBChxQcm9tb3RlRXZhbHVhdGlvblRvR3VhcmRyYWlsEi8uZmVybWF0YS52MS5Qcm9tb3RlRXZhbHVhdGlvblRvR3VhcmRyYWlsUmVxdWVzdBowLmZlcm1hdGEudjEuUHJvbW90ZUV2YWx1YXRpb25Ub0d1YXJkcmFpbFJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGAPq8xgPb3JnYW5pemF0aW9uX2lkEpUBChVHZXRHdWFyZHJhaWxQcm9tb3Rpb24SKC5mZXJtYXRhLnYxLkdldEd1YXJkcmFpbFByb21vdGlvblJlcXVlc3QaKS5mZXJtYXRhLnYxLkdldEd1YXJkcmFpbFByb21vdGlvblJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSnAEKF1Njb3JlR3VhcmRyYWlsUHJvbW90aW9uEiouZmVybWF0YS52MS5TY29yZUd1YXJkcmFpbFByb21vdGlvblJlcXVlc3QaKy5mZXJtYXRhLnYxLlNjb3JlR3VhcmRyYWlsUHJvbW90aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSjAEKEkV4cGxhaW5TY2VuYXJpb1J1bhIlLmZlcm1hdGEudjEuRXhwbGFpblNjZW5hcmlvUnVuUmVxdWVzdBomLmZlcm1hdGEudjEuRXhwbGFpblNjZW5hcmlvUnVuUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKnAQobQW5hbHl6ZVNjZW5hcmlvUnVuUm9vdENhdXNlEi4uZmVybWF0YS52MS5BbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXF1ZXN0Gi8uZmVybWF0YS52MS5BbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGALq8xgPb3JnYW5pemF0aW9uX2lkEqQBChpHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeRItLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lSZXF1ZXN0Gi4uZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSuQEKIUdldEp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeBI0LmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVxdWVzdBo1LmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKYAQoWR2V0SnVkZ2VWYWxpZGF0aW9uQmlhcxIpLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1JlcXVlc3QaKi5mZXJtYXRhLnYxLkdldEp1ZGdlVmFsaWRhdGlvbkJpYXNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEqUBChpSZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvbhItLmZlcm1hdGEudjEuUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXF1ZXN0Gi4uZmVybWF0YS52MS5SZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkErQBCh9SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uEjIuZmVybWF0YS52MS5SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVxdWVzdBozLmZlcm1hdGEudjEuUmVjb3JkSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEroBCiFWYWxpZGF0ZUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24SNC5mZXJtYXRhLnYxLlZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlcXVlc3QaNS5mZXJtYXRhLnYxLlZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkErABCh5MaXN0SnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZXMSMS5mZXJtYXRhLnYxLkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1JlcXVlc3QaMi5mZXJtYXRhLnYxLkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQShQEKGkV2YWx1YXRlUHVibGljRmVhdHVyZUZsYWdzEi0uZmVybWF0YS52MS5FdmFsdWF0ZVB1YmxpY0ZlYXR1cmVGbGFnc1JlcXVlc3QaLi5mZXJtYXRhLnYxLkV2YWx1YXRlUHVibGljRmVhdHVyZUZsYWdzUmVzcG9uc2UiCNjzGAHg8xgBEm0KEkdldE1pZ3JhdGlvblN0YXR1cxIlLmZlcm1hdGEudjEuR2V0TWlncmF0aW9uU3RhdHVzUmVxdWVzdBomLmZlcm1hdGEudjEuR2V0TWlncmF0aW9uU3RhdHVzUmVzcG9uc2UiCNjzGAHg8xgBMoAQChlGZXJtYXRhUXVhbGl0eUdhdGVTZXJ2aWNlEoUBChZHZXRRdWFsaXR5R2F0ZURlZmF1bHRzEikuZmVybWF0YS52MS5HZXRRdWFsaXR5R2F0ZURlZmF1bHRzUmVxdWVzdBoqLmZlcm1hdGEudjEuR2V0UXVhbGl0eUdhdGVEZWZhdWx0c1Jlc3BvbnNlIhTK8xgMZmVybWF0YTpyZWFk2PMYARKYAQoWTGlzdFF1YWxpdHlHYXRlQ29uZmlncxIpLmZlcm1hdGEudjEuTGlzdFF1YWxpdHlHYXRlQ29uZmlnc1JlcXVlc3QaKi5mZXJtYXRhLnYxLkxpc3RRdWFsaXR5R2F0ZUNvbmZpZ3NSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpIBChRHZXRRdWFsaXR5R2F0ZUNvbmZpZxInLmZlcm1hdGEudjEuR2V0UXVhbGl0eUdhdGVDb25maWdSZXF1ZXN0GiguZmVybWF0YS52MS5HZXRRdWFsaXR5R2F0ZUNvbmZpZ1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSnAEKF1Vwc2VydFF1YWxpdHlHYXRlQ29uZmlnEiouZmVybWF0YS52MS5VcHNlcnRRdWFsaXR5R2F0ZUNvbmZpZ1JlcXVlc3QaKy5mZXJtYXRhLnYxLlVwc2VydFF1YWxpdHlHYXRlQ29uZmlnUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSmQEKFlJlc2V0UXVhbGl0eUdhdGVDb25maWcSKS5mZXJtYXRhLnYxLlJlc2V0UXVhbGl0eUdhdGVDb25maWdSZXF1ZXN0GiouZmVybWF0YS52MS5SZXNldFF1YWxpdHlHYXRlQ29uZmlnUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSkAEKE0V2YWx1YXRlUXVhbGl0eUdhdGUSJi5mZXJtYXRhLnYxLkV2YWx1YXRlUXVhbGl0eUdhdGVSZXF1ZXN0GicuZmVybWF0YS52MS5FdmFsdWF0ZVF1YWxpdHlHYXRlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSogEKGUJhdGNoRXZhbHVhdGVRdWFsaXR5R2F0ZXMSLC5mZXJtYXRhLnYxLkJhdGNoRXZhbHVhdGVRdWFsaXR5R2F0ZXNSZXF1ZXN0Gi0uZmVybWF0YS52MS5CYXRjaEV2YWx1YXRlUXVhbGl0eUdhdGVzUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSngEKGEdldFF1YWxpdHlHYXRlRXZhbHVhdGlvbhIrLmZlcm1hdGEudjEuR2V0UXVhbGl0eUdhdGVFdmFsdWF0aW9uUmVxdWVzdBosLmZlcm1hdGEudjEuR2V0UXVhbGl0eUdhdGVFdmFsdWF0aW9uUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKYAQoWTGlzdFF1YWxpdHlHYXRlUmVzdWx0cxIpLmZlcm1hdGEudjEuTGlzdFF1YWxpdHlHYXRlUmVzdWx0c1JlcXVlc3QaKi5mZXJtYXRhLnYxLkxpc3RRdWFsaXR5R2F0ZVJlc3VsdHNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpUBChVHZXRRdWFsaXR5R2F0ZU1ldHJpY3MSKC5mZXJtYXRhLnYxLkdldFF1YWxpdHlHYXRlTWV0cmljc1JlcXVlc3QaKS5mZXJtYXRhLnYxLkdldFF1YWxpdHlHYXRlTWV0cmljc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSjwEKE0dldFF1YWxpdHlHYXRlU3RhdHMSJi5mZXJtYXRhLnYxLkdldFF1YWxpdHlHYXRlU3RhdHNSZXF1ZXN0GicuZmVybWF0YS52MS5HZXRRdWFsaXR5R2F0ZVN0YXRzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKOAQoZVmFsaWRhdGVRdWFsaXR5R2F0ZUNvbmZpZxIsLmZlcm1hdGEudjEuVmFsaWRhdGVRdWFsaXR5R2F0ZUNvbmZpZ1JlcXVlc3QaLS5mZXJtYXRhLnYxLlZhbGlkYXRlUXVhbGl0eUdhdGVDb25maWdSZXNwb25zZSIUyvMYDGZlcm1hdGE6cmVhZNjzGAESwAEKI0V2YWx1YXRlUXVhbGl0eUdhdGVSZWdyZXNzaW9uQnVkZ2V0EjYuZmVybWF0YS52MS5FdmFsdWF0ZVF1YWxpdHlHYXRlUmVncmVzc2lvbkJ1ZGdldFJlcXVlc3QaNy5mZXJtYXRhLnYxLkV2YWx1YXRlUXVhbGl0eUdhdGVSZWdyZXNzaW9uQnVkZ2V0UmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWRCOVo3Z2l0aHViLmNvbS9ldmFsb3BzL3BsYXRmb3JtL2dlbi9nby9mZXJtYXRhL3YxO2Zlcm1hdGF2MWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_analytics, file_common_v1_authz, file_common_v1_risk, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_traces_v1_traces]);
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message fermata.v1.TestSuite.
|
|
17
17
|
* Use `create(TestSuiteSchema)` to create a new message.
|
|
@@ -27,706 +27,1361 @@ export const TestCaseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
|
27
27
|
* Use `create(AssertionSchema)` to create a new message.
|
|
28
28
|
*/
|
|
29
29
|
export const AssertionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 2);
|
|
30
|
+
/**
|
|
31
|
+
* Describes the message fermata.v1.PreviewAssertionRequest.
|
|
32
|
+
* Use `create(PreviewAssertionRequestSchema)` to create a new message.
|
|
33
|
+
*/
|
|
34
|
+
export const PreviewAssertionRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 3);
|
|
35
|
+
/**
|
|
36
|
+
* Describes the message fermata.v1.PreviewAssertionResponse.
|
|
37
|
+
* Use `create(PreviewAssertionResponseSchema)` to create a new message.
|
|
38
|
+
*/
|
|
39
|
+
export const PreviewAssertionResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 4);
|
|
40
|
+
/**
|
|
41
|
+
* Describes the message fermata.v1.PreviewScenarioRunAssertionsRequest.
|
|
42
|
+
* Use `create(PreviewScenarioRunAssertionsRequestSchema)` to create a new message.
|
|
43
|
+
*/
|
|
44
|
+
export const PreviewScenarioRunAssertionsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 5);
|
|
45
|
+
/**
|
|
46
|
+
* Describes the message fermata.v1.PreviewScenarioRunAssertionsResponse.
|
|
47
|
+
* Use `create(PreviewScenarioRunAssertionsResponseSchema)` to create a new message.
|
|
48
|
+
*/
|
|
49
|
+
export const PreviewScenarioRunAssertionsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 6);
|
|
30
50
|
/**
|
|
31
51
|
* Describes the message fermata.v1.CustomEvaluator.
|
|
32
52
|
* Use `create(CustomEvaluatorSchema)` to create a new message.
|
|
33
53
|
*/
|
|
34
|
-
export const CustomEvaluatorSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
54
|
+
export const CustomEvaluatorSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 7);
|
|
35
55
|
/**
|
|
36
56
|
* Describes the message fermata.v1.Judge.
|
|
37
57
|
* Use `create(JudgeSchema)` to create a new message.
|
|
38
58
|
*/
|
|
39
|
-
export const JudgeSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
59
|
+
export const JudgeSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 8);
|
|
40
60
|
/**
|
|
41
61
|
* Describes the message fermata.v1.Scenario.
|
|
42
62
|
* Use `create(ScenarioSchema)` to create a new message.
|
|
43
63
|
*/
|
|
44
|
-
export const ScenarioSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
64
|
+
export const ScenarioSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 9);
|
|
45
65
|
/**
|
|
46
66
|
* Describes the message fermata.v1.Objective.
|
|
47
67
|
* Use `create(ObjectiveSchema)` to create a new message.
|
|
48
68
|
*/
|
|
49
|
-
export const ObjectiveSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
69
|
+
export const ObjectiveSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 10);
|
|
50
70
|
/**
|
|
51
71
|
* Describes the message fermata.v1.SuccessCriterion.
|
|
52
72
|
* Use `create(SuccessCriterionSchema)` to create a new message.
|
|
53
73
|
*/
|
|
54
|
-
export const SuccessCriterionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
74
|
+
export const SuccessCriterionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 11);
|
|
55
75
|
/**
|
|
56
76
|
* Describes the message fermata.v1.AgentConfig.
|
|
57
77
|
* Use `create(AgentConfigSchema)` to create a new message.
|
|
58
78
|
*/
|
|
59
|
-
export const AgentConfigSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
79
|
+
export const AgentConfigSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 12);
|
|
60
80
|
/**
|
|
61
81
|
* Describes the message fermata.v1.ScenarioEnvironment.
|
|
62
82
|
* Use `create(ScenarioEnvironmentSchema)` to create a new message.
|
|
63
83
|
*/
|
|
64
|
-
export const ScenarioEnvironmentSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
84
|
+
export const ScenarioEnvironmentSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 13);
|
|
65
85
|
/**
|
|
66
86
|
* Describes the message fermata.v1.MockTool.
|
|
67
87
|
* Use `create(MockToolSchema)` to create a new message.
|
|
68
88
|
*/
|
|
69
|
-
export const MockToolSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
89
|
+
export const MockToolSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 14);
|
|
70
90
|
/**
|
|
71
91
|
* Describes the message fermata.v1.MockEndpoint.
|
|
72
92
|
* Use `create(MockEndpointSchema)` to create a new message.
|
|
73
93
|
*/
|
|
74
|
-
export const MockEndpointSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
94
|
+
export const MockEndpointSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 15);
|
|
75
95
|
/**
|
|
76
96
|
* Describes the message fermata.v1.UserSimulator.
|
|
77
97
|
* Use `create(UserSimulatorSchema)` to create a new message.
|
|
78
98
|
*/
|
|
79
|
-
export const UserSimulatorSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
99
|
+
export const UserSimulatorSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 16);
|
|
80
100
|
/**
|
|
81
101
|
* Describes the message fermata.v1.OutcomeCriterion.
|
|
82
102
|
* Use `create(OutcomeCriterionSchema)` to create a new message.
|
|
83
103
|
*/
|
|
84
|
-
export const OutcomeCriterionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
104
|
+
export const OutcomeCriterionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 17);
|
|
85
105
|
/**
|
|
86
106
|
* Describes the message fermata.v1.GovernanceAssertion.
|
|
87
107
|
* Use `create(GovernanceAssertionSchema)` to create a new message.
|
|
88
108
|
*/
|
|
89
|
-
export const GovernanceAssertionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
109
|
+
export const GovernanceAssertionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 18);
|
|
90
110
|
/**
|
|
91
111
|
* Describes the message fermata.v1.DelegationAssertion.
|
|
92
112
|
* Use `create(DelegationAssertionSchema)` to create a new message.
|
|
93
113
|
*/
|
|
94
|
-
export const DelegationAssertionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
114
|
+
export const DelegationAssertionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 19);
|
|
95
115
|
/**
|
|
96
116
|
* Describes the message fermata.v1.ScenarioRun.
|
|
97
117
|
* Use `create(ScenarioRunSchema)` to create a new message.
|
|
98
118
|
*/
|
|
99
|
-
export const ScenarioRunSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
119
|
+
export const ScenarioRunSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 20);
|
|
100
120
|
/**
|
|
101
121
|
* Describes the message fermata.v1.ScenarioResult.
|
|
102
122
|
* Use `create(ScenarioResultSchema)` to create a new message.
|
|
103
123
|
*/
|
|
104
|
-
export const ScenarioResultSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
124
|
+
export const ScenarioResultSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 21);
|
|
105
125
|
/**
|
|
106
126
|
* Describes the message fermata.v1.ScenarioAssertionResult.
|
|
107
127
|
* Use `create(ScenarioAssertionResultSchema)` to create a new message.
|
|
108
128
|
*/
|
|
109
|
-
export const ScenarioAssertionResultSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
129
|
+
export const ScenarioAssertionResultSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 22);
|
|
110
130
|
/**
|
|
111
131
|
* Describes the message fermata.v1.GovernanceScore.
|
|
112
132
|
* Use `create(GovernanceScoreSchema)` to create a new message.
|
|
113
133
|
*/
|
|
114
|
-
export const GovernanceScoreSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
134
|
+
export const GovernanceScoreSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 23);
|
|
115
135
|
/**
|
|
116
136
|
* Describes the message fermata.v1.EconomicScore.
|
|
117
137
|
* Use `create(EconomicScoreSchema)` to create a new message.
|
|
118
138
|
*/
|
|
119
|
-
export const EconomicScoreSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
139
|
+
export const EconomicScoreSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 24);
|
|
120
140
|
/**
|
|
121
141
|
* Describes the message fermata.v1.DelegationScore.
|
|
122
142
|
* Use `create(DelegationScoreSchema)` to create a new message.
|
|
123
143
|
*/
|
|
124
|
-
export const DelegationScoreSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
144
|
+
export const DelegationScoreSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 25);
|
|
125
145
|
/**
|
|
126
146
|
* Describes the message fermata.v1.DriftComparison.
|
|
127
147
|
* Use `create(DriftComparisonSchema)` to create a new message.
|
|
128
148
|
*/
|
|
129
|
-
export const DriftComparisonSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
149
|
+
export const DriftComparisonSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 26);
|
|
130
150
|
/**
|
|
131
151
|
* Describes the message fermata.v1.CreateTestSuiteRequest.
|
|
132
152
|
* Use `create(CreateTestSuiteRequestSchema)` to create a new message.
|
|
133
153
|
*/
|
|
134
|
-
export const CreateTestSuiteRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
154
|
+
export const CreateTestSuiteRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 27);
|
|
135
155
|
/**
|
|
136
156
|
* Describes the message fermata.v1.CreateTestSuiteResponse.
|
|
137
157
|
* Use `create(CreateTestSuiteResponseSchema)` to create a new message.
|
|
138
158
|
*/
|
|
139
|
-
export const CreateTestSuiteResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
159
|
+
export const CreateTestSuiteResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 28);
|
|
140
160
|
/**
|
|
141
161
|
* Describes the message fermata.v1.GetTestSuiteRequest.
|
|
142
162
|
* Use `create(GetTestSuiteRequestSchema)` to create a new message.
|
|
143
163
|
*/
|
|
144
|
-
export const GetTestSuiteRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
164
|
+
export const GetTestSuiteRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 29);
|
|
145
165
|
/**
|
|
146
166
|
* Describes the message fermata.v1.GetTestSuiteResponse.
|
|
147
167
|
* Use `create(GetTestSuiteResponseSchema)` to create a new message.
|
|
148
168
|
*/
|
|
149
|
-
export const GetTestSuiteResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
169
|
+
export const GetTestSuiteResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 30);
|
|
150
170
|
/**
|
|
151
171
|
* Describes the message fermata.v1.ListTestSuitesRequest.
|
|
152
172
|
* Use `create(ListTestSuitesRequestSchema)` to create a new message.
|
|
153
173
|
*/
|
|
154
|
-
export const ListTestSuitesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
174
|
+
export const ListTestSuitesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 31);
|
|
155
175
|
/**
|
|
156
176
|
* Describes the message fermata.v1.ListTestSuitesResponse.
|
|
157
177
|
* Use `create(ListTestSuitesResponseSchema)` to create a new message.
|
|
158
178
|
*/
|
|
159
|
-
export const ListTestSuitesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
179
|
+
export const ListTestSuitesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 32);
|
|
160
180
|
/**
|
|
161
181
|
* Describes the message fermata.v1.CreateScenarioRequest.
|
|
162
182
|
* Use `create(CreateScenarioRequestSchema)` to create a new message.
|
|
163
183
|
*/
|
|
164
|
-
export const CreateScenarioRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
184
|
+
export const CreateScenarioRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 33);
|
|
165
185
|
/**
|
|
166
186
|
* Describes the message fermata.v1.CreateScenarioResponse.
|
|
167
187
|
* Use `create(CreateScenarioResponseSchema)` to create a new message.
|
|
168
188
|
*/
|
|
169
|
-
export const CreateScenarioResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
189
|
+
export const CreateScenarioResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 34);
|
|
170
190
|
/**
|
|
171
191
|
* Describes the message fermata.v1.GetScenarioRequest.
|
|
172
192
|
* Use `create(GetScenarioRequestSchema)` to create a new message.
|
|
173
193
|
*/
|
|
174
|
-
export const GetScenarioRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
194
|
+
export const GetScenarioRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 35);
|
|
175
195
|
/**
|
|
176
196
|
* Describes the message fermata.v1.GetScenarioResponse.
|
|
177
197
|
* Use `create(GetScenarioResponseSchema)` to create a new message.
|
|
178
198
|
*/
|
|
179
|
-
export const GetScenarioResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
199
|
+
export const GetScenarioResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 36);
|
|
180
200
|
/**
|
|
181
201
|
* Describes the message fermata.v1.ListScenariosRequest.
|
|
182
202
|
* Use `create(ListScenariosRequestSchema)` to create a new message.
|
|
183
203
|
*/
|
|
184
|
-
export const ListScenariosRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
204
|
+
export const ListScenariosRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 37);
|
|
185
205
|
/**
|
|
186
206
|
* Describes the message fermata.v1.ListScenariosResponse.
|
|
187
207
|
* Use `create(ListScenariosResponseSchema)` to create a new message.
|
|
188
208
|
*/
|
|
189
|
-
export const ListScenariosResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
209
|
+
export const ListScenariosResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 38);
|
|
190
210
|
/**
|
|
191
211
|
* Describes the message fermata.v1.AgentTaskEvalSpec.
|
|
192
212
|
* Use `create(AgentTaskEvalSpecSchema)` to create a new message.
|
|
193
213
|
*/
|
|
194
|
-
export const AgentTaskEvalSpecSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
214
|
+
export const AgentTaskEvalSpecSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 39);
|
|
195
215
|
/**
|
|
196
216
|
* Describes the message fermata.v1.CreateAgentTaskEvalRequest.
|
|
197
217
|
* Use `create(CreateAgentTaskEvalRequestSchema)` to create a new message.
|
|
198
218
|
*/
|
|
199
|
-
export const CreateAgentTaskEvalRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
219
|
+
export const CreateAgentTaskEvalRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 40);
|
|
200
220
|
/**
|
|
201
221
|
* Describes the message fermata.v1.CreateAgentTaskEvalResponse.
|
|
202
222
|
* Use `create(CreateAgentTaskEvalResponseSchema)` to create a new message.
|
|
203
223
|
*/
|
|
204
|
-
export const CreateAgentTaskEvalResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
224
|
+
export const CreateAgentTaskEvalResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 41);
|
|
205
225
|
/**
|
|
206
226
|
* Describes the message fermata.v1.RunAgentTaskEvalRequest.
|
|
207
227
|
* Use `create(RunAgentTaskEvalRequestSchema)` to create a new message.
|
|
208
228
|
*/
|
|
209
|
-
export const RunAgentTaskEvalRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
229
|
+
export const RunAgentTaskEvalRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 42);
|
|
210
230
|
/**
|
|
211
231
|
* Describes the message fermata.v1.RunAgentTaskEvalResponse.
|
|
212
232
|
* Use `create(RunAgentTaskEvalResponseSchema)` to create a new message.
|
|
213
233
|
*/
|
|
214
|
-
export const RunAgentTaskEvalResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
234
|
+
export const RunAgentTaskEvalResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 43);
|
|
235
|
+
/**
|
|
236
|
+
* Describes the message fermata.v1.AgentToolCatalogItem.
|
|
237
|
+
* Use `create(AgentToolCatalogItemSchema)` to create a new message.
|
|
238
|
+
*/
|
|
239
|
+
export const AgentToolCatalogItemSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 44);
|
|
240
|
+
/**
|
|
241
|
+
* Describes the message fermata.v1.AgentToolCatalogSummary.
|
|
242
|
+
* Use `create(AgentToolCatalogSummarySchema)` to create a new message.
|
|
243
|
+
*/
|
|
244
|
+
export const AgentToolCatalogSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 45);
|
|
245
|
+
/**
|
|
246
|
+
* Describes the message fermata.v1.AgentWorkflow.
|
|
247
|
+
* Use `create(AgentWorkflowSchema)` to create a new message.
|
|
248
|
+
*/
|
|
249
|
+
export const AgentWorkflowSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 46);
|
|
250
|
+
/**
|
|
251
|
+
* Describes the message fermata.v1.AgentWorkflowStep.
|
|
252
|
+
* Use `create(AgentWorkflowStepSchema)` to create a new message.
|
|
253
|
+
*/
|
|
254
|
+
export const AgentWorkflowStepSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 47);
|
|
255
|
+
/**
|
|
256
|
+
* Describes the message fermata.v1.AgentWorkflowIO.
|
|
257
|
+
* Use `create(AgentWorkflowIOSchema)` to create a new message.
|
|
258
|
+
*/
|
|
259
|
+
export const AgentWorkflowIOSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 48);
|
|
260
|
+
/**
|
|
261
|
+
* Describes the message fermata.v1.AgentWorkflowTemplate.
|
|
262
|
+
* Use `create(AgentWorkflowTemplateSchema)` to create a new message.
|
|
263
|
+
*/
|
|
264
|
+
export const AgentWorkflowTemplateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 49);
|
|
265
|
+
/**
|
|
266
|
+
* Describes the message fermata.v1.AgentRuntimeRecord.
|
|
267
|
+
* Use `create(AgentRuntimeRecordSchema)` to create a new message.
|
|
268
|
+
*/
|
|
269
|
+
export const AgentRuntimeRecordSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 50);
|
|
270
|
+
/**
|
|
271
|
+
* Describes the message fermata.v1.AgentTimelineSummary.
|
|
272
|
+
* Use `create(AgentTimelineSummarySchema)` to create a new message.
|
|
273
|
+
*/
|
|
274
|
+
export const AgentTimelineSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 51);
|
|
275
|
+
/**
|
|
276
|
+
* Describes the message fermata.v1.ListAgentToolsRequest.
|
|
277
|
+
* Use `create(ListAgentToolsRequestSchema)` to create a new message.
|
|
278
|
+
*/
|
|
279
|
+
export const ListAgentToolsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 52);
|
|
280
|
+
/**
|
|
281
|
+
* Describes the message fermata.v1.ListAgentToolsResponse.
|
|
282
|
+
* Use `create(ListAgentToolsResponseSchema)` to create a new message.
|
|
283
|
+
*/
|
|
284
|
+
export const ListAgentToolsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 53);
|
|
285
|
+
/**
|
|
286
|
+
* Describes the message fermata.v1.AnalyzeAgentActionsRequest.
|
|
287
|
+
* Use `create(AnalyzeAgentActionsRequestSchema)` to create a new message.
|
|
288
|
+
*/
|
|
289
|
+
export const AnalyzeAgentActionsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 54);
|
|
290
|
+
/**
|
|
291
|
+
* Describes the message fermata.v1.AnalyzeAgentActionsResponse.
|
|
292
|
+
* Use `create(AnalyzeAgentActionsResponseSchema)` to create a new message.
|
|
293
|
+
*/
|
|
294
|
+
export const AnalyzeAgentActionsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 55);
|
|
295
|
+
/**
|
|
296
|
+
* Describes the message fermata.v1.BuildAgentSessionTimelineRequest.
|
|
297
|
+
* Use `create(BuildAgentSessionTimelineRequestSchema)` to create a new message.
|
|
298
|
+
*/
|
|
299
|
+
export const BuildAgentSessionTimelineRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 56);
|
|
300
|
+
/**
|
|
301
|
+
* Describes the message fermata.v1.BuildAgentSessionTimelineResponse.
|
|
302
|
+
* Use `create(BuildAgentSessionTimelineResponseSchema)` to create a new message.
|
|
303
|
+
*/
|
|
304
|
+
export const BuildAgentSessionTimelineResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 57);
|
|
305
|
+
/**
|
|
306
|
+
* Describes the message fermata.v1.ListAgentWorkflowTemplatesRequest.
|
|
307
|
+
* Use `create(ListAgentWorkflowTemplatesRequestSchema)` to create a new message.
|
|
308
|
+
*/
|
|
309
|
+
export const ListAgentWorkflowTemplatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 58);
|
|
310
|
+
/**
|
|
311
|
+
* Describes the message fermata.v1.ListAgentWorkflowTemplatesResponse.
|
|
312
|
+
* Use `create(ListAgentWorkflowTemplatesResponseSchema)` to create a new message.
|
|
313
|
+
*/
|
|
314
|
+
export const ListAgentWorkflowTemplatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 59);
|
|
315
|
+
/**
|
|
316
|
+
* Describes the message fermata.v1.CreateAgentWorkflowFromTemplateRequest.
|
|
317
|
+
* Use `create(CreateAgentWorkflowFromTemplateRequestSchema)` to create a new message.
|
|
318
|
+
*/
|
|
319
|
+
export const CreateAgentWorkflowFromTemplateRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 60);
|
|
320
|
+
/**
|
|
321
|
+
* Describes the message fermata.v1.CreateAgentWorkflowFromTemplateResponse.
|
|
322
|
+
* Use `create(CreateAgentWorkflowFromTemplateResponseSchema)` to create a new message.
|
|
323
|
+
*/
|
|
324
|
+
export const CreateAgentWorkflowFromTemplateResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 61);
|
|
325
|
+
/**
|
|
326
|
+
* Describes the message fermata.v1.CreateAgentWorkflowRequest.
|
|
327
|
+
* Use `create(CreateAgentWorkflowRequestSchema)` to create a new message.
|
|
328
|
+
*/
|
|
329
|
+
export const CreateAgentWorkflowRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 62);
|
|
330
|
+
/**
|
|
331
|
+
* Describes the message fermata.v1.CreateAgentWorkflowResponse.
|
|
332
|
+
* Use `create(CreateAgentWorkflowResponseSchema)` to create a new message.
|
|
333
|
+
*/
|
|
334
|
+
export const CreateAgentWorkflowResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 63);
|
|
335
|
+
/**
|
|
336
|
+
* Describes the message fermata.v1.GetAgentWorkflowRequest.
|
|
337
|
+
* Use `create(GetAgentWorkflowRequestSchema)` to create a new message.
|
|
338
|
+
*/
|
|
339
|
+
export const GetAgentWorkflowRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 64);
|
|
340
|
+
/**
|
|
341
|
+
* Describes the message fermata.v1.GetAgentWorkflowResponse.
|
|
342
|
+
* Use `create(GetAgentWorkflowResponseSchema)` to create a new message.
|
|
343
|
+
*/
|
|
344
|
+
export const GetAgentWorkflowResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 65);
|
|
345
|
+
/**
|
|
346
|
+
* Describes the message fermata.v1.ListAgentWorkflowsRequest.
|
|
347
|
+
* Use `create(ListAgentWorkflowsRequestSchema)` to create a new message.
|
|
348
|
+
*/
|
|
349
|
+
export const ListAgentWorkflowsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 66);
|
|
350
|
+
/**
|
|
351
|
+
* Describes the message fermata.v1.ListAgentWorkflowsResponse.
|
|
352
|
+
* Use `create(ListAgentWorkflowsResponseSchema)` to create a new message.
|
|
353
|
+
*/
|
|
354
|
+
export const ListAgentWorkflowsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 67);
|
|
355
|
+
/**
|
|
356
|
+
* Describes the message fermata.v1.UpdateAgentWorkflowRequest.
|
|
357
|
+
* Use `create(UpdateAgentWorkflowRequestSchema)` to create a new message.
|
|
358
|
+
*/
|
|
359
|
+
export const UpdateAgentWorkflowRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 68);
|
|
360
|
+
/**
|
|
361
|
+
* Describes the message fermata.v1.UpdateAgentWorkflowResponse.
|
|
362
|
+
* Use `create(UpdateAgentWorkflowResponseSchema)` to create a new message.
|
|
363
|
+
*/
|
|
364
|
+
export const UpdateAgentWorkflowResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 69);
|
|
365
|
+
/**
|
|
366
|
+
* Describes the message fermata.v1.DeleteAgentWorkflowRequest.
|
|
367
|
+
* Use `create(DeleteAgentWorkflowRequestSchema)` to create a new message.
|
|
368
|
+
*/
|
|
369
|
+
export const DeleteAgentWorkflowRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 70);
|
|
370
|
+
/**
|
|
371
|
+
* Describes the message fermata.v1.DeleteAgentWorkflowResponse.
|
|
372
|
+
* Use `create(DeleteAgentWorkflowResponseSchema)` to create a new message.
|
|
373
|
+
*/
|
|
374
|
+
export const DeleteAgentWorkflowResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 71);
|
|
375
|
+
/**
|
|
376
|
+
* Describes the message fermata.v1.RunAgentWorkflowRequest.
|
|
377
|
+
* Use `create(RunAgentWorkflowRequestSchema)` to create a new message.
|
|
378
|
+
*/
|
|
379
|
+
export const RunAgentWorkflowRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 72);
|
|
380
|
+
/**
|
|
381
|
+
* Describes the message fermata.v1.RunAgentWorkflowResponse.
|
|
382
|
+
* Use `create(RunAgentWorkflowResponseSchema)` to create a new message.
|
|
383
|
+
*/
|
|
384
|
+
export const RunAgentWorkflowResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 73);
|
|
385
|
+
/**
|
|
386
|
+
* Describes the message fermata.v1.CreateAgentHookRequest.
|
|
387
|
+
* Use `create(CreateAgentHookRequestSchema)` to create a new message.
|
|
388
|
+
*/
|
|
389
|
+
export const CreateAgentHookRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 74);
|
|
390
|
+
/**
|
|
391
|
+
* Describes the message fermata.v1.CreateAgentHookResponse.
|
|
392
|
+
* Use `create(CreateAgentHookResponseSchema)` to create a new message.
|
|
393
|
+
*/
|
|
394
|
+
export const CreateAgentHookResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 75);
|
|
395
|
+
/**
|
|
396
|
+
* Describes the message fermata.v1.ListAgentHooksRequest.
|
|
397
|
+
* Use `create(ListAgentHooksRequestSchema)` to create a new message.
|
|
398
|
+
*/
|
|
399
|
+
export const ListAgentHooksRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 76);
|
|
400
|
+
/**
|
|
401
|
+
* Describes the message fermata.v1.ListAgentHooksResponse.
|
|
402
|
+
* Use `create(ListAgentHooksResponseSchema)` to create a new message.
|
|
403
|
+
*/
|
|
404
|
+
export const ListAgentHooksResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 77);
|
|
405
|
+
/**
|
|
406
|
+
* Describes the message fermata.v1.UpdateAgentHookRequest.
|
|
407
|
+
* Use `create(UpdateAgentHookRequestSchema)` to create a new message.
|
|
408
|
+
*/
|
|
409
|
+
export const UpdateAgentHookRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 78);
|
|
410
|
+
/**
|
|
411
|
+
* Describes the message fermata.v1.UpdateAgentHookResponse.
|
|
412
|
+
* Use `create(UpdateAgentHookResponseSchema)` to create a new message.
|
|
413
|
+
*/
|
|
414
|
+
export const UpdateAgentHookResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 79);
|
|
415
|
+
/**
|
|
416
|
+
* Describes the message fermata.v1.DeleteAgentHookRequest.
|
|
417
|
+
* Use `create(DeleteAgentHookRequestSchema)` to create a new message.
|
|
418
|
+
*/
|
|
419
|
+
export const DeleteAgentHookRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 80);
|
|
420
|
+
/**
|
|
421
|
+
* Describes the message fermata.v1.DeleteAgentHookResponse.
|
|
422
|
+
* Use `create(DeleteAgentHookResponseSchema)` to create a new message.
|
|
423
|
+
*/
|
|
424
|
+
export const DeleteAgentHookResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 81);
|
|
425
|
+
/**
|
|
426
|
+
* Describes the message fermata.v1.GetAgentSessionRequest.
|
|
427
|
+
* Use `create(GetAgentSessionRequestSchema)` to create a new message.
|
|
428
|
+
*/
|
|
429
|
+
export const GetAgentSessionRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 82);
|
|
430
|
+
/**
|
|
431
|
+
* Describes the message fermata.v1.GetAgentSessionResponse.
|
|
432
|
+
* Use `create(GetAgentSessionResponseSchema)` to create a new message.
|
|
433
|
+
*/
|
|
434
|
+
export const GetAgentSessionResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 83);
|
|
435
|
+
/**
|
|
436
|
+
* Describes the message fermata.v1.ListAgentSessionsRequest.
|
|
437
|
+
* Use `create(ListAgentSessionsRequestSchema)` to create a new message.
|
|
438
|
+
*/
|
|
439
|
+
export const ListAgentSessionsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 84);
|
|
440
|
+
/**
|
|
441
|
+
* Describes the message fermata.v1.ListAgentSessionsResponse.
|
|
442
|
+
* Use `create(ListAgentSessionsResponseSchema)` to create a new message.
|
|
443
|
+
*/
|
|
444
|
+
export const ListAgentSessionsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 85);
|
|
445
|
+
/**
|
|
446
|
+
* Describes the message fermata.v1.ControlAgentSessionRequest.
|
|
447
|
+
* Use `create(ControlAgentSessionRequestSchema)` to create a new message.
|
|
448
|
+
*/
|
|
449
|
+
export const ControlAgentSessionRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 86);
|
|
450
|
+
/**
|
|
451
|
+
* Describes the message fermata.v1.ControlAgentSessionResponse.
|
|
452
|
+
* Use `create(ControlAgentSessionResponseSchema)` to create a new message.
|
|
453
|
+
*/
|
|
454
|
+
export const ControlAgentSessionResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 87);
|
|
455
|
+
/**
|
|
456
|
+
* Describes the message fermata.v1.CreateAgentSessionEventRequest.
|
|
457
|
+
* Use `create(CreateAgentSessionEventRequestSchema)` to create a new message.
|
|
458
|
+
*/
|
|
459
|
+
export const CreateAgentSessionEventRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 88);
|
|
460
|
+
/**
|
|
461
|
+
* Describes the message fermata.v1.CreateAgentSessionEventResponse.
|
|
462
|
+
* Use `create(CreateAgentSessionEventResponseSchema)` to create a new message.
|
|
463
|
+
*/
|
|
464
|
+
export const CreateAgentSessionEventResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 89);
|
|
465
|
+
/**
|
|
466
|
+
* Describes the message fermata.v1.ListAgentSessionEventsRequest.
|
|
467
|
+
* Use `create(ListAgentSessionEventsRequestSchema)` to create a new message.
|
|
468
|
+
*/
|
|
469
|
+
export const ListAgentSessionEventsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 90);
|
|
470
|
+
/**
|
|
471
|
+
* Describes the message fermata.v1.ListAgentSessionEventsResponse.
|
|
472
|
+
* Use `create(ListAgentSessionEventsResponseSchema)` to create a new message.
|
|
473
|
+
*/
|
|
474
|
+
export const ListAgentSessionEventsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 91);
|
|
475
|
+
/**
|
|
476
|
+
* Describes the message fermata.v1.CreateAgentToolExecutionRequest.
|
|
477
|
+
* Use `create(CreateAgentToolExecutionRequestSchema)` to create a new message.
|
|
478
|
+
*/
|
|
479
|
+
export const CreateAgentToolExecutionRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 92);
|
|
480
|
+
/**
|
|
481
|
+
* Describes the message fermata.v1.CreateAgentToolExecutionResponse.
|
|
482
|
+
* Use `create(CreateAgentToolExecutionResponseSchema)` to create a new message.
|
|
483
|
+
*/
|
|
484
|
+
export const CreateAgentToolExecutionResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 93);
|
|
485
|
+
/**
|
|
486
|
+
* Describes the message fermata.v1.UpdateAgentToolExecutionRequest.
|
|
487
|
+
* Use `create(UpdateAgentToolExecutionRequestSchema)` to create a new message.
|
|
488
|
+
*/
|
|
489
|
+
export const UpdateAgentToolExecutionRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 94);
|
|
490
|
+
/**
|
|
491
|
+
* Describes the message fermata.v1.UpdateAgentToolExecutionResponse.
|
|
492
|
+
* Use `create(UpdateAgentToolExecutionResponseSchema)` to create a new message.
|
|
493
|
+
*/
|
|
494
|
+
export const UpdateAgentToolExecutionResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 95);
|
|
495
|
+
/**
|
|
496
|
+
* Describes the message fermata.v1.ListAgentToolExecutionsRequest.
|
|
497
|
+
* Use `create(ListAgentToolExecutionsRequestSchema)` to create a new message.
|
|
498
|
+
*/
|
|
499
|
+
export const ListAgentToolExecutionsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 96);
|
|
500
|
+
/**
|
|
501
|
+
* Describes the message fermata.v1.ListAgentToolExecutionsResponse.
|
|
502
|
+
* Use `create(ListAgentToolExecutionsResponseSchema)` to create a new message.
|
|
503
|
+
*/
|
|
504
|
+
export const ListAgentToolExecutionsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 97);
|
|
505
|
+
/**
|
|
506
|
+
* Describes the message fermata.v1.DecideAgentApprovalRequest.
|
|
507
|
+
* Use `create(DecideAgentApprovalRequestSchema)` to create a new message.
|
|
508
|
+
*/
|
|
509
|
+
export const DecideAgentApprovalRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 98);
|
|
510
|
+
/**
|
|
511
|
+
* Describes the message fermata.v1.DecideAgentApprovalResponse.
|
|
512
|
+
* Use `create(DecideAgentApprovalResponseSchema)` to create a new message.
|
|
513
|
+
*/
|
|
514
|
+
export const DecideAgentApprovalResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 99);
|
|
515
|
+
/**
|
|
516
|
+
* Describes the message fermata.v1.ListAgentApprovalsRequest.
|
|
517
|
+
* Use `create(ListAgentApprovalsRequestSchema)` to create a new message.
|
|
518
|
+
*/
|
|
519
|
+
export const ListAgentApprovalsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 100);
|
|
520
|
+
/**
|
|
521
|
+
* Describes the message fermata.v1.ListAgentApprovalsResponse.
|
|
522
|
+
* Use `create(ListAgentApprovalsResponseSchema)` to create a new message.
|
|
523
|
+
*/
|
|
524
|
+
export const ListAgentApprovalsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 101);
|
|
525
|
+
/**
|
|
526
|
+
* Describes the message fermata.v1.GetAgentSessionTimelineRequest.
|
|
527
|
+
* Use `create(GetAgentSessionTimelineRequestSchema)` to create a new message.
|
|
528
|
+
*/
|
|
529
|
+
export const GetAgentSessionTimelineRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 102);
|
|
530
|
+
/**
|
|
531
|
+
* Describes the message fermata.v1.GetAgentSessionTimelineResponse.
|
|
532
|
+
* Use `create(GetAgentSessionTimelineResponseSchema)` to create a new message.
|
|
533
|
+
*/
|
|
534
|
+
export const GetAgentSessionTimelineResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 103);
|
|
215
535
|
/**
|
|
216
536
|
* Describes the message fermata.v1.UpsertCustomEvaluatorRequest.
|
|
217
537
|
* Use `create(UpsertCustomEvaluatorRequestSchema)` to create a new message.
|
|
218
538
|
*/
|
|
219
|
-
export const UpsertCustomEvaluatorRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
539
|
+
export const UpsertCustomEvaluatorRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 104);
|
|
220
540
|
/**
|
|
221
541
|
* Describes the message fermata.v1.UpsertCustomEvaluatorResponse.
|
|
222
542
|
* Use `create(UpsertCustomEvaluatorResponseSchema)` to create a new message.
|
|
223
543
|
*/
|
|
224
|
-
export const UpsertCustomEvaluatorResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
544
|
+
export const UpsertCustomEvaluatorResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 105);
|
|
225
545
|
/**
|
|
226
546
|
* Describes the message fermata.v1.GetCustomEvaluatorRequest.
|
|
227
547
|
* Use `create(GetCustomEvaluatorRequestSchema)` to create a new message.
|
|
228
548
|
*/
|
|
229
|
-
export const GetCustomEvaluatorRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
549
|
+
export const GetCustomEvaluatorRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 106);
|
|
230
550
|
/**
|
|
231
551
|
* Describes the message fermata.v1.GetCustomEvaluatorResponse.
|
|
232
552
|
* Use `create(GetCustomEvaluatorResponseSchema)` to create a new message.
|
|
233
553
|
*/
|
|
234
|
-
export const GetCustomEvaluatorResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
554
|
+
export const GetCustomEvaluatorResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 107);
|
|
235
555
|
/**
|
|
236
556
|
* Describes the message fermata.v1.ListCustomEvaluatorsRequest.
|
|
237
557
|
* Use `create(ListCustomEvaluatorsRequestSchema)` to create a new message.
|
|
238
558
|
*/
|
|
239
|
-
export const ListCustomEvaluatorsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
559
|
+
export const ListCustomEvaluatorsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 108);
|
|
240
560
|
/**
|
|
241
561
|
* Describes the message fermata.v1.ListCustomEvaluatorsResponse.
|
|
242
562
|
* Use `create(ListCustomEvaluatorsResponseSchema)` to create a new message.
|
|
243
563
|
*/
|
|
244
|
-
export const ListCustomEvaluatorsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
564
|
+
export const ListCustomEvaluatorsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 109);
|
|
245
565
|
/**
|
|
246
566
|
* Describes the message fermata.v1.DeleteCustomEvaluatorRequest.
|
|
247
567
|
* Use `create(DeleteCustomEvaluatorRequestSchema)` to create a new message.
|
|
248
568
|
*/
|
|
249
|
-
export const DeleteCustomEvaluatorRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
569
|
+
export const DeleteCustomEvaluatorRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 110);
|
|
250
570
|
/**
|
|
251
571
|
* Describes the message fermata.v1.DeleteCustomEvaluatorResponse.
|
|
252
572
|
* Use `create(DeleteCustomEvaluatorResponseSchema)` to create a new message.
|
|
253
573
|
*/
|
|
254
|
-
export const DeleteCustomEvaluatorResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
574
|
+
export const DeleteCustomEvaluatorResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 111);
|
|
255
575
|
/**
|
|
256
576
|
* Describes the message fermata.v1.UpsertJudgeRequest.
|
|
257
577
|
* Use `create(UpsertJudgeRequestSchema)` to create a new message.
|
|
258
578
|
*/
|
|
259
|
-
export const UpsertJudgeRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
579
|
+
export const UpsertJudgeRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 112);
|
|
260
580
|
/**
|
|
261
581
|
* Describes the message fermata.v1.UpsertJudgeResponse.
|
|
262
582
|
* Use `create(UpsertJudgeResponseSchema)` to create a new message.
|
|
263
583
|
*/
|
|
264
|
-
export const UpsertJudgeResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
584
|
+
export const UpsertJudgeResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 113);
|
|
265
585
|
/**
|
|
266
586
|
* Describes the message fermata.v1.GetJudgeRequest.
|
|
267
587
|
* Use `create(GetJudgeRequestSchema)` to create a new message.
|
|
268
588
|
*/
|
|
269
|
-
export const GetJudgeRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
589
|
+
export const GetJudgeRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 114);
|
|
270
590
|
/**
|
|
271
591
|
* Describes the message fermata.v1.GetJudgeResponse.
|
|
272
592
|
* Use `create(GetJudgeResponseSchema)` to create a new message.
|
|
273
593
|
*/
|
|
274
|
-
export const GetJudgeResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
594
|
+
export const GetJudgeResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 115);
|
|
275
595
|
/**
|
|
276
596
|
* Describes the message fermata.v1.ListJudgesRequest.
|
|
277
597
|
* Use `create(ListJudgesRequestSchema)` to create a new message.
|
|
278
598
|
*/
|
|
279
|
-
export const ListJudgesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
599
|
+
export const ListJudgesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 116);
|
|
280
600
|
/**
|
|
281
601
|
* Describes the message fermata.v1.ListJudgesResponse.
|
|
282
602
|
* Use `create(ListJudgesResponseSchema)` to create a new message.
|
|
283
603
|
*/
|
|
284
|
-
export const ListJudgesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
604
|
+
export const ListJudgesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 117);
|
|
285
605
|
/**
|
|
286
606
|
* Describes the message fermata.v1.DeleteJudgeRequest.
|
|
287
607
|
* Use `create(DeleteJudgeRequestSchema)` to create a new message.
|
|
288
608
|
*/
|
|
289
|
-
export const DeleteJudgeRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
609
|
+
export const DeleteJudgeRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 118);
|
|
290
610
|
/**
|
|
291
611
|
* Describes the message fermata.v1.DeleteJudgeResponse.
|
|
292
612
|
* Use `create(DeleteJudgeResponseSchema)` to create a new message.
|
|
293
613
|
*/
|
|
294
|
-
export const DeleteJudgeResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
614
|
+
export const DeleteJudgeResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 119);
|
|
295
615
|
/**
|
|
296
616
|
* Describes the message fermata.v1.StartScenarioRequest.
|
|
297
617
|
* Use `create(StartScenarioRequestSchema)` to create a new message.
|
|
298
618
|
*/
|
|
299
|
-
export const StartScenarioRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
619
|
+
export const StartScenarioRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 120);
|
|
300
620
|
/**
|
|
301
621
|
* Describes the message fermata.v1.StartScenarioResponse.
|
|
302
622
|
* Use `create(StartScenarioResponseSchema)` to create a new message.
|
|
303
623
|
*/
|
|
304
|
-
export const StartScenarioResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
624
|
+
export const StartScenarioResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 121);
|
|
305
625
|
/**
|
|
306
626
|
* Describes the message fermata.v1.CreateAndStartScenarioRequest.
|
|
307
627
|
* Use `create(CreateAndStartScenarioRequestSchema)` to create a new message.
|
|
308
628
|
*/
|
|
309
|
-
export const CreateAndStartScenarioRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
629
|
+
export const CreateAndStartScenarioRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 122);
|
|
310
630
|
/**
|
|
311
631
|
* Describes the message fermata.v1.CreateAndStartScenarioResponse.
|
|
312
632
|
* Use `create(CreateAndStartScenarioResponseSchema)` to create a new message.
|
|
313
633
|
*/
|
|
314
|
-
export const CreateAndStartScenarioResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
634
|
+
export const CreateAndStartScenarioResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 123);
|
|
315
635
|
/**
|
|
316
636
|
* Describes the message fermata.v1.RecordScenarioRunRequest.
|
|
317
637
|
* Use `create(RecordScenarioRunRequestSchema)` to create a new message.
|
|
318
638
|
*/
|
|
319
|
-
export const RecordScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
639
|
+
export const RecordScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 124);
|
|
320
640
|
/**
|
|
321
641
|
* Describes the message fermata.v1.RecordScenarioRunResponse.
|
|
322
642
|
* Use `create(RecordScenarioRunResponseSchema)` to create a new message.
|
|
323
643
|
*/
|
|
324
|
-
export const RecordScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
644
|
+
export const RecordScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 125);
|
|
325
645
|
/**
|
|
326
646
|
* Describes the message fermata.v1.GetScenarioRunRequest.
|
|
327
647
|
* Use `create(GetScenarioRunRequestSchema)` to create a new message.
|
|
328
648
|
*/
|
|
329
|
-
export const GetScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
649
|
+
export const GetScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 126);
|
|
330
650
|
/**
|
|
331
651
|
* Describes the message fermata.v1.GetScenarioRunResponse.
|
|
332
652
|
* Use `create(GetScenarioRunResponseSchema)` to create a new message.
|
|
333
653
|
*/
|
|
334
|
-
export const GetScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
654
|
+
export const GetScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 127);
|
|
335
655
|
/**
|
|
336
656
|
* Describes the message fermata.v1.ListScenarioRunsRequest.
|
|
337
657
|
* Use `create(ListScenarioRunsRequestSchema)` to create a new message.
|
|
338
658
|
*/
|
|
339
|
-
export const ListScenarioRunsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
659
|
+
export const ListScenarioRunsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 128);
|
|
340
660
|
/**
|
|
341
661
|
* Describes the message fermata.v1.ListScenarioRunsResponse.
|
|
342
662
|
* Use `create(ListScenarioRunsResponseSchema)` to create a new message.
|
|
343
663
|
*/
|
|
344
|
-
export const ListScenarioRunsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
664
|
+
export const ListScenarioRunsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 129);
|
|
345
665
|
/**
|
|
346
666
|
* Describes the message fermata.v1.GetEvaluationObservabilityDashboardRequest.
|
|
347
667
|
* Use `create(GetEvaluationObservabilityDashboardRequestSchema)` to create a new message.
|
|
348
668
|
*/
|
|
349
|
-
export const GetEvaluationObservabilityDashboardRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
669
|
+
export const GetEvaluationObservabilityDashboardRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 130);
|
|
350
670
|
/**
|
|
351
671
|
* Describes the message fermata.v1.EvaluationObservabilitySummary.
|
|
352
672
|
* Use `create(EvaluationObservabilitySummarySchema)` to create a new message.
|
|
353
673
|
*/
|
|
354
|
-
export const EvaluationObservabilitySummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
674
|
+
export const EvaluationObservabilitySummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 131);
|
|
355
675
|
/**
|
|
356
676
|
* Describes the message fermata.v1.EvaluationRecentRunSummary.
|
|
357
677
|
* Use `create(EvaluationRecentRunSummarySchema)` to create a new message.
|
|
358
678
|
*/
|
|
359
|
-
export const EvaluationRecentRunSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
679
|
+
export const EvaluationRecentRunSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 132);
|
|
360
680
|
/**
|
|
361
681
|
* Describes the message fermata.v1.EvaluationRegressionAlert.
|
|
362
682
|
* Use `create(EvaluationRegressionAlertSchema)` to create a new message.
|
|
363
683
|
*/
|
|
364
|
-
export const EvaluationRegressionAlertSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
684
|
+
export const EvaluationRegressionAlertSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 133);
|
|
365
685
|
/**
|
|
366
686
|
* Describes the message fermata.v1.GetEvaluationObservabilityDashboardResponse.
|
|
367
687
|
* Use `create(GetEvaluationObservabilityDashboardResponseSchema)` to create a new message.
|
|
368
688
|
*/
|
|
369
|
-
export const GetEvaluationObservabilityDashboardResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
689
|
+
export const GetEvaluationObservabilityDashboardResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 134);
|
|
370
690
|
/**
|
|
371
691
|
* Describes the message fermata.v1.GetEvaluationRunMetricsRequest.
|
|
372
692
|
* Use `create(GetEvaluationRunMetricsRequestSchema)` to create a new message.
|
|
373
693
|
*/
|
|
374
|
-
export const GetEvaluationRunMetricsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
694
|
+
export const GetEvaluationRunMetricsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 135);
|
|
375
695
|
/**
|
|
376
696
|
* Describes the message fermata.v1.EvaluationRunMetricsSummary.
|
|
377
697
|
* Use `create(EvaluationRunMetricsSummarySchema)` to create a new message.
|
|
378
698
|
*/
|
|
379
|
-
export const EvaluationRunMetricsSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
699
|
+
export const EvaluationRunMetricsSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 136);
|
|
380
700
|
/**
|
|
381
701
|
* Describes the message fermata.v1.EvaluationRunResultMetrics.
|
|
382
702
|
* Use `create(EvaluationRunResultMetricsSchema)` to create a new message.
|
|
383
703
|
*/
|
|
384
|
-
export const EvaluationRunResultMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
704
|
+
export const EvaluationRunResultMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 137);
|
|
385
705
|
/**
|
|
386
706
|
* Describes the message fermata.v1.GetEvaluationRunMetricsResponse.
|
|
387
707
|
* Use `create(GetEvaluationRunMetricsResponseSchema)` to create a new message.
|
|
388
708
|
*/
|
|
389
|
-
export const GetEvaluationRunMetricsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
709
|
+
export const GetEvaluationRunMetricsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 138);
|
|
710
|
+
/**
|
|
711
|
+
* Describes the message fermata.v1.CreateEvaluationComparisonRequest.
|
|
712
|
+
* Use `create(CreateEvaluationComparisonRequestSchema)` to create a new message.
|
|
713
|
+
*/
|
|
714
|
+
export const CreateEvaluationComparisonRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 139);
|
|
715
|
+
/**
|
|
716
|
+
* Describes the message fermata.v1.CreateEvaluationComparisonResponse.
|
|
717
|
+
* Use `create(CreateEvaluationComparisonResponseSchema)` to create a new message.
|
|
718
|
+
*/
|
|
719
|
+
export const CreateEvaluationComparisonResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 140);
|
|
720
|
+
/**
|
|
721
|
+
* Describes the message fermata.v1.GetEvaluationComparisonRequest.
|
|
722
|
+
* Use `create(GetEvaluationComparisonRequestSchema)` to create a new message.
|
|
723
|
+
*/
|
|
724
|
+
export const GetEvaluationComparisonRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 141);
|
|
725
|
+
/**
|
|
726
|
+
* Describes the message fermata.v1.GetEvaluationComparisonResponse.
|
|
727
|
+
* Use `create(GetEvaluationComparisonResponseSchema)` to create a new message.
|
|
728
|
+
*/
|
|
729
|
+
export const GetEvaluationComparisonResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 142);
|
|
730
|
+
/**
|
|
731
|
+
* Describes the message fermata.v1.ListEvaluationComparisonsRequest.
|
|
732
|
+
* Use `create(ListEvaluationComparisonsRequestSchema)` to create a new message.
|
|
733
|
+
*/
|
|
734
|
+
export const ListEvaluationComparisonsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 143);
|
|
735
|
+
/**
|
|
736
|
+
* Describes the message fermata.v1.ListEvaluationComparisonsResponse.
|
|
737
|
+
* Use `create(ListEvaluationComparisonsResponseSchema)` to create a new message.
|
|
738
|
+
*/
|
|
739
|
+
export const ListEvaluationComparisonsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 144);
|
|
740
|
+
/**
|
|
741
|
+
* Describes the message fermata.v1.UpdateEvaluationComparisonRequest.
|
|
742
|
+
* Use `create(UpdateEvaluationComparisonRequestSchema)` to create a new message.
|
|
743
|
+
*/
|
|
744
|
+
export const UpdateEvaluationComparisonRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 145);
|
|
745
|
+
/**
|
|
746
|
+
* Describes the message fermata.v1.UpdateEvaluationComparisonResponse.
|
|
747
|
+
* Use `create(UpdateEvaluationComparisonResponseSchema)` to create a new message.
|
|
748
|
+
*/
|
|
749
|
+
export const UpdateEvaluationComparisonResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 146);
|
|
750
|
+
/**
|
|
751
|
+
* Describes the message fermata.v1.DeleteEvaluationComparisonRequest.
|
|
752
|
+
* Use `create(DeleteEvaluationComparisonRequestSchema)` to create a new message.
|
|
753
|
+
*/
|
|
754
|
+
export const DeleteEvaluationComparisonRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 147);
|
|
755
|
+
/**
|
|
756
|
+
* Describes the message fermata.v1.DeleteEvaluationComparisonResponse.
|
|
757
|
+
* Use `create(DeleteEvaluationComparisonResponseSchema)` to create a new message.
|
|
758
|
+
*/
|
|
759
|
+
export const DeleteEvaluationComparisonResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 148);
|
|
760
|
+
/**
|
|
761
|
+
* Describes the message fermata.v1.RegenerateEvaluationComparisonRequest.
|
|
762
|
+
* Use `create(RegenerateEvaluationComparisonRequestSchema)` to create a new message.
|
|
763
|
+
*/
|
|
764
|
+
export const RegenerateEvaluationComparisonRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 149);
|
|
765
|
+
/**
|
|
766
|
+
* Describes the message fermata.v1.RegenerateEvaluationComparisonResponse.
|
|
767
|
+
* Use `create(RegenerateEvaluationComparisonResponseSchema)` to create a new message.
|
|
768
|
+
*/
|
|
769
|
+
export const RegenerateEvaluationComparisonResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 150);
|
|
770
|
+
/**
|
|
771
|
+
* Describes the message fermata.v1.EvaluationComparison.
|
|
772
|
+
* Use `create(EvaluationComparisonSchema)` to create a new message.
|
|
773
|
+
*/
|
|
774
|
+
export const EvaluationComparisonSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 151);
|
|
775
|
+
/**
|
|
776
|
+
* Describes the message fermata.v1.EvaluationComparisonRunSummary.
|
|
777
|
+
* Use `create(EvaluationComparisonRunSummarySchema)` to create a new message.
|
|
778
|
+
*/
|
|
779
|
+
export const EvaluationComparisonRunSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 152);
|
|
780
|
+
/**
|
|
781
|
+
* Describes the message fermata.v1.EvaluationComparisonMetric.
|
|
782
|
+
* Use `create(EvaluationComparisonMetricSchema)` to create a new message.
|
|
783
|
+
*/
|
|
784
|
+
export const EvaluationComparisonMetricSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 153);
|
|
785
|
+
/**
|
|
786
|
+
* Describes the message fermata.v1.EvaluationComparisonStatistics.
|
|
787
|
+
* Use `create(EvaluationComparisonStatisticsSchema)` to create a new message.
|
|
788
|
+
*/
|
|
789
|
+
export const EvaluationComparisonStatisticsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 154);
|
|
390
790
|
/**
|
|
391
791
|
* Describes the message fermata.v1.GetEvaluationGovernanceReportRequest.
|
|
392
792
|
* Use `create(GetEvaluationGovernanceReportRequestSchema)` to create a new message.
|
|
393
793
|
*/
|
|
394
|
-
export const GetEvaluationGovernanceReportRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
794
|
+
export const GetEvaluationGovernanceReportRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 155);
|
|
395
795
|
/**
|
|
396
796
|
* Describes the message fermata.v1.GovernanceAssertionAggregate.
|
|
397
797
|
* Use `create(GovernanceAssertionAggregateSchema)` to create a new message.
|
|
398
798
|
*/
|
|
399
|
-
export const GovernanceAssertionAggregateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
799
|
+
export const GovernanceAssertionAggregateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 156);
|
|
400
800
|
/**
|
|
401
801
|
* Describes the message fermata.v1.GovernanceReportSummary.
|
|
402
802
|
* Use `create(GovernanceReportSummarySchema)` to create a new message.
|
|
403
803
|
*/
|
|
404
|
-
export const GovernanceReportSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
804
|
+
export const GovernanceReportSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 157);
|
|
405
805
|
/**
|
|
406
806
|
* Describes the message fermata.v1.GovernanceRunSummary.
|
|
407
807
|
* Use `create(GovernanceRunSummarySchema)` to create a new message.
|
|
408
808
|
*/
|
|
409
|
-
export const GovernanceRunSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
809
|
+
export const GovernanceRunSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 158);
|
|
410
810
|
/**
|
|
411
811
|
* Describes the message fermata.v1.GovernanceRiskSignal.
|
|
412
812
|
* Use `create(GovernanceRiskSignalSchema)` to create a new message.
|
|
413
813
|
*/
|
|
414
|
-
export const GovernanceRiskSignalSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
814
|
+
export const GovernanceRiskSignalSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 159);
|
|
415
815
|
/**
|
|
416
816
|
* Describes the message fermata.v1.GetEvaluationGovernanceReportResponse.
|
|
417
817
|
* Use `create(GetEvaluationGovernanceReportResponseSchema)` to create a new message.
|
|
418
818
|
*/
|
|
419
|
-
export const GetEvaluationGovernanceReportResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
819
|
+
export const GetEvaluationGovernanceReportResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 160);
|
|
820
|
+
/**
|
|
821
|
+
* Describes the message fermata.v1.RedTeamCatalogTemplate.
|
|
822
|
+
* Use `create(RedTeamCatalogTemplateSchema)` to create a new message.
|
|
823
|
+
*/
|
|
824
|
+
export const RedTeamCatalogTemplateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 161);
|
|
825
|
+
/**
|
|
826
|
+
* Describes the message fermata.v1.RedTeamCatalogTemplateSet.
|
|
827
|
+
* Use `create(RedTeamCatalogTemplateSetSchema)` to create a new message.
|
|
828
|
+
*/
|
|
829
|
+
export const RedTeamCatalogTemplateSetSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 162);
|
|
830
|
+
/**
|
|
831
|
+
* Describes the message fermata.v1.BuildRedTeamPlanRequest.
|
|
832
|
+
* Use `create(BuildRedTeamPlanRequestSchema)` to create a new message.
|
|
833
|
+
*/
|
|
834
|
+
export const BuildRedTeamPlanRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 163);
|
|
835
|
+
/**
|
|
836
|
+
* Describes the message fermata.v1.RedTeamPlan.
|
|
837
|
+
* Use `create(RedTeamPlanSchema)` to create a new message.
|
|
838
|
+
*/
|
|
839
|
+
export const RedTeamPlanSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 164);
|
|
840
|
+
/**
|
|
841
|
+
* Describes the message fermata.v1.BuildRedTeamPlanResponse.
|
|
842
|
+
* Use `create(BuildRedTeamPlanResponseSchema)` to create a new message.
|
|
843
|
+
*/
|
|
844
|
+
export const BuildRedTeamPlanResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 165);
|
|
845
|
+
/**
|
|
846
|
+
* Describes the message fermata.v1.ListRedTeamDatasetsRequest.
|
|
847
|
+
* Use `create(ListRedTeamDatasetsRequestSchema)` to create a new message.
|
|
848
|
+
*/
|
|
849
|
+
export const ListRedTeamDatasetsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 166);
|
|
850
|
+
/**
|
|
851
|
+
* Describes the message fermata.v1.RedTeamDatasetPreview.
|
|
852
|
+
* Use `create(RedTeamDatasetPreviewSchema)` to create a new message.
|
|
853
|
+
*/
|
|
854
|
+
export const RedTeamDatasetPreviewSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 167);
|
|
855
|
+
/**
|
|
856
|
+
* Describes the message fermata.v1.RedTeamDataset.
|
|
857
|
+
* Use `create(RedTeamDatasetSchema)` to create a new message.
|
|
858
|
+
*/
|
|
859
|
+
export const RedTeamDatasetSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 168);
|
|
860
|
+
/**
|
|
861
|
+
* Describes the message fermata.v1.ListRedTeamDatasetsResponse.
|
|
862
|
+
* Use `create(ListRedTeamDatasetsResponseSchema)` to create a new message.
|
|
863
|
+
*/
|
|
864
|
+
export const ListRedTeamDatasetsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 169);
|
|
865
|
+
/**
|
|
866
|
+
* Describes the message fermata.v1.RedTeamExecution.
|
|
867
|
+
* Use `create(RedTeamExecutionSchema)` to create a new message.
|
|
868
|
+
*/
|
|
869
|
+
export const RedTeamExecutionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 170);
|
|
870
|
+
/**
|
|
871
|
+
* Describes the message fermata.v1.RedTeamQualityGateConfig.
|
|
872
|
+
* Use `create(RedTeamQualityGateConfigSchema)` to create a new message.
|
|
873
|
+
*/
|
|
874
|
+
export const RedTeamQualityGateConfigSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 171);
|
|
875
|
+
/**
|
|
876
|
+
* Describes the message fermata.v1.BuildRedTeamReportRequest.
|
|
877
|
+
* Use `create(BuildRedTeamReportRequestSchema)` to create a new message.
|
|
878
|
+
*/
|
|
879
|
+
export const BuildRedTeamReportRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 172);
|
|
880
|
+
/**
|
|
881
|
+
* Describes the message fermata.v1.RedTeamAggregateSummary.
|
|
882
|
+
* Use `create(RedTeamAggregateSummarySchema)` to create a new message.
|
|
883
|
+
*/
|
|
884
|
+
export const RedTeamAggregateSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 173);
|
|
885
|
+
/**
|
|
886
|
+
* Describes the message fermata.v1.RedTeamCategorySummary.
|
|
887
|
+
* Use `create(RedTeamCategorySummarySchema)` to create a new message.
|
|
888
|
+
*/
|
|
889
|
+
export const RedTeamCategorySummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 174);
|
|
890
|
+
/**
|
|
891
|
+
* Describes the message fermata.v1.RedTeamGuardrailSummary.
|
|
892
|
+
* Use `create(RedTeamGuardrailSummarySchema)` to create a new message.
|
|
893
|
+
*/
|
|
894
|
+
export const RedTeamGuardrailSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 175);
|
|
895
|
+
/**
|
|
896
|
+
* Describes the message fermata.v1.RedTeamComplianceSummary.
|
|
897
|
+
* Use `create(RedTeamComplianceSummarySchema)` to create a new message.
|
|
898
|
+
*/
|
|
899
|
+
export const RedTeamComplianceSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 176);
|
|
900
|
+
/**
|
|
901
|
+
* Describes the message fermata.v1.RedTeamQualityGateCheck.
|
|
902
|
+
* Use `create(RedTeamQualityGateCheckSchema)` to create a new message.
|
|
903
|
+
*/
|
|
904
|
+
export const RedTeamQualityGateCheckSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 177);
|
|
905
|
+
/**
|
|
906
|
+
* Describes the message fermata.v1.RedTeamQualityGateResult.
|
|
907
|
+
* Use `create(RedTeamQualityGateResultSchema)` to create a new message.
|
|
908
|
+
*/
|
|
909
|
+
export const RedTeamQualityGateResultSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 178);
|
|
910
|
+
/**
|
|
911
|
+
* Describes the message fermata.v1.BuildRedTeamReportResponse.
|
|
912
|
+
* Use `create(BuildRedTeamReportResponseSchema)` to create a new message.
|
|
913
|
+
*/
|
|
914
|
+
export const BuildRedTeamReportResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 179);
|
|
915
|
+
/**
|
|
916
|
+
* Describes the message fermata.v1.DatasetPromotionItem.
|
|
917
|
+
* Use `create(DatasetPromotionItemSchema)` to create a new message.
|
|
918
|
+
*/
|
|
919
|
+
export const DatasetPromotionItemSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 180);
|
|
920
|
+
/**
|
|
921
|
+
* Describes the message fermata.v1.PromotedDatasetItem.
|
|
922
|
+
* Use `create(PromotedDatasetItemSchema)` to create a new message.
|
|
923
|
+
*/
|
|
924
|
+
export const PromotedDatasetItemSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 181);
|
|
925
|
+
/**
|
|
926
|
+
* Describes the message fermata.v1.PromoteDatasetItemRequest.
|
|
927
|
+
* Use `create(PromoteDatasetItemRequestSchema)` to create a new message.
|
|
928
|
+
*/
|
|
929
|
+
export const PromoteDatasetItemRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 182);
|
|
930
|
+
/**
|
|
931
|
+
* Describes the message fermata.v1.PromoteDatasetItemResponse.
|
|
932
|
+
* Use `create(PromoteDatasetItemResponseSchema)` to create a new message.
|
|
933
|
+
*/
|
|
934
|
+
export const PromoteDatasetItemResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 183);
|
|
935
|
+
/**
|
|
936
|
+
* Describes the message fermata.v1.PromoteDatasetItemsRequest.
|
|
937
|
+
* Use `create(PromoteDatasetItemsRequestSchema)` to create a new message.
|
|
938
|
+
*/
|
|
939
|
+
export const PromoteDatasetItemsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 184);
|
|
940
|
+
/**
|
|
941
|
+
* Describes the message fermata.v1.PromoteDatasetItemsResponse.
|
|
942
|
+
* Use `create(PromoteDatasetItemsResponseSchema)` to create a new message.
|
|
943
|
+
*/
|
|
944
|
+
export const PromoteDatasetItemsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 185);
|
|
945
|
+
/**
|
|
946
|
+
* Describes the message fermata.v1.BuildGoldenDatasetRequest.
|
|
947
|
+
* Use `create(BuildGoldenDatasetRequestSchema)` to create a new message.
|
|
948
|
+
*/
|
|
949
|
+
export const BuildGoldenDatasetRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 186);
|
|
950
|
+
/**
|
|
951
|
+
* Describes the message fermata.v1.BuildGoldenDatasetResponse.
|
|
952
|
+
* Use `create(BuildGoldenDatasetResponseSchema)` to create a new message.
|
|
953
|
+
*/
|
|
954
|
+
export const BuildGoldenDatasetResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 187);
|
|
955
|
+
/**
|
|
956
|
+
* Describes the message fermata.v1.ProductionTraceMessage.
|
|
957
|
+
* Use `create(ProductionTraceMessageSchema)` to create a new message.
|
|
958
|
+
*/
|
|
959
|
+
export const ProductionTraceMessageSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 188);
|
|
960
|
+
/**
|
|
961
|
+
* Describes the message fermata.v1.ProductionTraceRecord.
|
|
962
|
+
* Use `create(ProductionTraceRecordSchema)` to create a new message.
|
|
963
|
+
*/
|
|
964
|
+
export const ProductionTraceRecordSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 189);
|
|
965
|
+
/**
|
|
966
|
+
* Describes the message fermata.v1.MaterializedProductionTrace.
|
|
967
|
+
* Use `create(MaterializedProductionTraceSchema)` to create a new message.
|
|
968
|
+
*/
|
|
969
|
+
export const MaterializedProductionTraceSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 190);
|
|
970
|
+
/**
|
|
971
|
+
* Describes the message fermata.v1.IngestProductionTracesRequest.
|
|
972
|
+
* Use `create(IngestProductionTracesRequestSchema)` to create a new message.
|
|
973
|
+
*/
|
|
974
|
+
export const IngestProductionTracesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 191);
|
|
975
|
+
/**
|
|
976
|
+
* Describes the message fermata.v1.BuildProductionTraceRegressionSuiteRequest.
|
|
977
|
+
* Use `create(BuildProductionTraceRegressionSuiteRequestSchema)` to create a new message.
|
|
978
|
+
*/
|
|
979
|
+
export const BuildProductionTraceRegressionSuiteRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 192);
|
|
980
|
+
/**
|
|
981
|
+
* Describes the message fermata.v1.IngestProductionTracesResponse.
|
|
982
|
+
* Use `create(IngestProductionTracesResponseSchema)` to create a new message.
|
|
983
|
+
*/
|
|
984
|
+
export const IngestProductionTracesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 193);
|
|
985
|
+
/**
|
|
986
|
+
* Describes the message fermata.v1.BuildProductionTraceRegressionSuiteResponse.
|
|
987
|
+
* Use `create(BuildProductionTraceRegressionSuiteResponseSchema)` to create a new message.
|
|
988
|
+
*/
|
|
989
|
+
export const BuildProductionTraceRegressionSuiteResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 194);
|
|
990
|
+
/**
|
|
991
|
+
* Describes the message fermata.v1.ListProductionTraceSamplesRequest.
|
|
992
|
+
* Use `create(ListProductionTraceSamplesRequestSchema)` to create a new message.
|
|
993
|
+
*/
|
|
994
|
+
export const ListProductionTraceSamplesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 195);
|
|
995
|
+
/**
|
|
996
|
+
* Describes the message fermata.v1.ProductionTraceSample.
|
|
997
|
+
* Use `create(ProductionTraceSampleSchema)` to create a new message.
|
|
998
|
+
*/
|
|
999
|
+
export const ProductionTraceSampleSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 196);
|
|
1000
|
+
/**
|
|
1001
|
+
* Describes the message fermata.v1.ListProductionTraceSamplesResponse.
|
|
1002
|
+
* Use `create(ListProductionTraceSamplesResponseSchema)` to create a new message.
|
|
1003
|
+
*/
|
|
1004
|
+
export const ListProductionTraceSamplesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 197);
|
|
1005
|
+
/**
|
|
1006
|
+
* Describes the message fermata.v1.ProductionTraceReplayCase.
|
|
1007
|
+
* Use `create(ProductionTraceReplayCaseSchema)` to create a new message.
|
|
1008
|
+
*/
|
|
1009
|
+
export const ProductionTraceReplayCaseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 198);
|
|
1010
|
+
/**
|
|
1011
|
+
* Describes the message fermata.v1.ProductionTraceReplayRegression.
|
|
1012
|
+
* Use `create(ProductionTraceReplayRegressionSchema)` to create a new message.
|
|
1013
|
+
*/
|
|
1014
|
+
export const ProductionTraceReplayRegressionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 199);
|
|
1015
|
+
/**
|
|
1016
|
+
* Describes the message fermata.v1.ProductionTraceReplaySummary.
|
|
1017
|
+
* Use `create(ProductionTraceReplaySummarySchema)` to create a new message.
|
|
1018
|
+
*/
|
|
1019
|
+
export const ProductionTraceReplaySummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 200);
|
|
1020
|
+
/**
|
|
1021
|
+
* Describes the message fermata.v1.CompareProductionTraceReplayRequest.
|
|
1022
|
+
* Use `create(CompareProductionTraceReplayRequestSchema)` to create a new message.
|
|
1023
|
+
*/
|
|
1024
|
+
export const CompareProductionTraceReplayRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 201);
|
|
1025
|
+
/**
|
|
1026
|
+
* Describes the message fermata.v1.CompareProductionTraceReplayResponse.
|
|
1027
|
+
* Use `create(CompareProductionTraceReplayResponseSchema)` to create a new message.
|
|
1028
|
+
*/
|
|
1029
|
+
export const CompareProductionTraceReplayResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 202);
|
|
1030
|
+
/**
|
|
1031
|
+
* Describes the message fermata.v1.GuardrailPromotion.
|
|
1032
|
+
* Use `create(GuardrailPromotionSchema)` to create a new message.
|
|
1033
|
+
*/
|
|
1034
|
+
export const GuardrailPromotionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 203);
|
|
1035
|
+
/**
|
|
1036
|
+
* Describes the message fermata.v1.PromoteEvaluationToGuardrailRequest.
|
|
1037
|
+
* Use `create(PromoteEvaluationToGuardrailRequestSchema)` to create a new message.
|
|
1038
|
+
*/
|
|
1039
|
+
export const PromoteEvaluationToGuardrailRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 204);
|
|
1040
|
+
/**
|
|
1041
|
+
* Describes the message fermata.v1.PromoteEvaluationToGuardrailResponse.
|
|
1042
|
+
* Use `create(PromoteEvaluationToGuardrailResponseSchema)` to create a new message.
|
|
1043
|
+
*/
|
|
1044
|
+
export const PromoteEvaluationToGuardrailResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 205);
|
|
1045
|
+
/**
|
|
1046
|
+
* Describes the message fermata.v1.GetGuardrailPromotionRequest.
|
|
1047
|
+
* Use `create(GetGuardrailPromotionRequestSchema)` to create a new message.
|
|
1048
|
+
*/
|
|
1049
|
+
export const GetGuardrailPromotionRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 206);
|
|
1050
|
+
/**
|
|
1051
|
+
* Describes the message fermata.v1.GetGuardrailPromotionResponse.
|
|
1052
|
+
* Use `create(GetGuardrailPromotionResponseSchema)` to create a new message.
|
|
1053
|
+
*/
|
|
1054
|
+
export const GetGuardrailPromotionResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 207);
|
|
1055
|
+
/**
|
|
1056
|
+
* Describes the message fermata.v1.ScoreGuardrailPromotionRequest.
|
|
1057
|
+
* Use `create(ScoreGuardrailPromotionRequestSchema)` to create a new message.
|
|
1058
|
+
*/
|
|
1059
|
+
export const ScoreGuardrailPromotionRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 208);
|
|
1060
|
+
/**
|
|
1061
|
+
* Describes the message fermata.v1.ScoreGuardrailPromotionResponse.
|
|
1062
|
+
* Use `create(ScoreGuardrailPromotionResponseSchema)` to create a new message.
|
|
1063
|
+
*/
|
|
1064
|
+
export const ScoreGuardrailPromotionResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 209);
|
|
420
1065
|
/**
|
|
421
1066
|
* Describes the message fermata.v1.DiagnosticFinding.
|
|
422
1067
|
* Use `create(DiagnosticFindingSchema)` to create a new message.
|
|
423
1068
|
*/
|
|
424
|
-
export const DiagnosticFindingSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1069
|
+
export const DiagnosticFindingSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 210);
|
|
425
1070
|
/**
|
|
426
1071
|
* Describes the message fermata.v1.EvaluationDiagnosticArtifact.
|
|
427
1072
|
* Use `create(EvaluationDiagnosticArtifactSchema)` to create a new message.
|
|
428
1073
|
*/
|
|
429
|
-
export const EvaluationDiagnosticArtifactSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1074
|
+
export const EvaluationDiagnosticArtifactSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 211);
|
|
430
1075
|
/**
|
|
431
1076
|
* Describes the message fermata.v1.ExplainScenarioRunRequest.
|
|
432
1077
|
* Use `create(ExplainScenarioRunRequestSchema)` to create a new message.
|
|
433
1078
|
*/
|
|
434
|
-
export const ExplainScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1079
|
+
export const ExplainScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 212);
|
|
435
1080
|
/**
|
|
436
1081
|
* Describes the message fermata.v1.ExplainScenarioRunResponse.
|
|
437
1082
|
* Use `create(ExplainScenarioRunResponseSchema)` to create a new message.
|
|
438
1083
|
*/
|
|
439
|
-
export const ExplainScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1084
|
+
export const ExplainScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 213);
|
|
440
1085
|
/**
|
|
441
1086
|
* Describes the message fermata.v1.AnalyzeScenarioRunRootCauseRequest.
|
|
442
1087
|
* Use `create(AnalyzeScenarioRunRootCauseRequestSchema)` to create a new message.
|
|
443
1088
|
*/
|
|
444
|
-
export const AnalyzeScenarioRunRootCauseRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1089
|
+
export const AnalyzeScenarioRunRootCauseRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 214);
|
|
445
1090
|
/**
|
|
446
1091
|
* Describes the message fermata.v1.AnalyzeScenarioRunRootCauseResponse.
|
|
447
1092
|
* Use `create(AnalyzeScenarioRunRootCauseResponseSchema)` to create a new message.
|
|
448
1093
|
*/
|
|
449
|
-
export const AnalyzeScenarioRunRootCauseResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1094
|
+
export const AnalyzeScenarioRunRootCauseResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 215);
|
|
450
1095
|
/**
|
|
451
1096
|
* Describes the message fermata.v1.JudgeValidationAccuracyMetrics.
|
|
452
1097
|
* Use `create(JudgeValidationAccuracyMetricsSchema)` to create a new message.
|
|
453
1098
|
*/
|
|
454
|
-
export const JudgeValidationAccuracyMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1099
|
+
export const JudgeValidationAccuracyMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 216);
|
|
455
1100
|
/**
|
|
456
1101
|
* Describes the message fermata.v1.JudgeValidationConfusionMatrix.
|
|
457
1102
|
* Use `create(JudgeValidationConfusionMatrixSchema)` to create a new message.
|
|
458
1103
|
*/
|
|
459
|
-
export const JudgeValidationConfusionMatrixSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1104
|
+
export const JudgeValidationConfusionMatrixSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 217);
|
|
460
1105
|
/**
|
|
461
1106
|
* Describes the message fermata.v1.JudgeValidationBiasMetrics.
|
|
462
1107
|
* Use `create(JudgeValidationBiasMetricsSchema)` to create a new message.
|
|
463
1108
|
*/
|
|
464
|
-
export const JudgeValidationBiasMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1109
|
+
export const JudgeValidationBiasMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 218);
|
|
465
1110
|
/**
|
|
466
1111
|
* Describes the message fermata.v1.JudgeValidationCalibration.
|
|
467
1112
|
* Use `create(JudgeValidationCalibrationSchema)` to create a new message.
|
|
468
1113
|
*/
|
|
469
|
-
export const JudgeValidationCalibrationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1114
|
+
export const JudgeValidationCalibrationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 219);
|
|
470
1115
|
/**
|
|
471
1116
|
* Describes the message fermata.v1.JudgeValidationEvaluation.
|
|
472
1117
|
* Use `create(JudgeValidationEvaluationSchema)` to create a new message.
|
|
473
1118
|
*/
|
|
474
|
-
export const JudgeValidationEvaluationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1119
|
+
export const JudgeValidationEvaluationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 220);
|
|
475
1120
|
/**
|
|
476
1121
|
* Describes the message fermata.v1.JudgeCalibrationCandidate.
|
|
477
1122
|
* Use `create(JudgeCalibrationCandidateSchema)` to create a new message.
|
|
478
1123
|
*/
|
|
479
|
-
export const JudgeCalibrationCandidateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1124
|
+
export const JudgeCalibrationCandidateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 221);
|
|
480
1125
|
/**
|
|
481
1126
|
* Describes the message fermata.v1.GetJudgeValidationAccuracyRequest.
|
|
482
1127
|
* Use `create(GetJudgeValidationAccuracyRequestSchema)` to create a new message.
|
|
483
1128
|
*/
|
|
484
|
-
export const GetJudgeValidationAccuracyRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1129
|
+
export const GetJudgeValidationAccuracyRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 222);
|
|
485
1130
|
/**
|
|
486
1131
|
* Describes the message fermata.v1.GetJudgeValidationAccuracyResponse.
|
|
487
1132
|
* Use `create(GetJudgeValidationAccuracyResponseSchema)` to create a new message.
|
|
488
1133
|
*/
|
|
489
|
-
export const GetJudgeValidationAccuracyResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1134
|
+
export const GetJudgeValidationAccuracyResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 223);
|
|
490
1135
|
/**
|
|
491
1136
|
* Describes the message fermata.v1.GetJudgeValidationConfusionMatrixRequest.
|
|
492
1137
|
* Use `create(GetJudgeValidationConfusionMatrixRequestSchema)` to create a new message.
|
|
493
1138
|
*/
|
|
494
|
-
export const GetJudgeValidationConfusionMatrixRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1139
|
+
export const GetJudgeValidationConfusionMatrixRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 224);
|
|
495
1140
|
/**
|
|
496
1141
|
* Describes the message fermata.v1.GetJudgeValidationConfusionMatrixResponse.
|
|
497
1142
|
* Use `create(GetJudgeValidationConfusionMatrixResponseSchema)` to create a new message.
|
|
498
1143
|
*/
|
|
499
|
-
export const GetJudgeValidationConfusionMatrixResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1144
|
+
export const GetJudgeValidationConfusionMatrixResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 225);
|
|
500
1145
|
/**
|
|
501
1146
|
* Describes the message fermata.v1.GetJudgeValidationBiasRequest.
|
|
502
1147
|
* Use `create(GetJudgeValidationBiasRequestSchema)` to create a new message.
|
|
503
1148
|
*/
|
|
504
|
-
export const GetJudgeValidationBiasRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1149
|
+
export const GetJudgeValidationBiasRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 226);
|
|
505
1150
|
/**
|
|
506
1151
|
* Describes the message fermata.v1.GetJudgeValidationBiasResponse.
|
|
507
1152
|
* Use `create(GetJudgeValidationBiasResponseSchema)` to create a new message.
|
|
508
1153
|
*/
|
|
509
|
-
export const GetJudgeValidationBiasResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1154
|
+
export const GetJudgeValidationBiasResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 227);
|
|
510
1155
|
/**
|
|
511
1156
|
* Describes the message fermata.v1.RecalibrateJudgeValidationRequest.
|
|
512
1157
|
* Use `create(RecalibrateJudgeValidationRequestSchema)` to create a new message.
|
|
513
1158
|
*/
|
|
514
|
-
export const RecalibrateJudgeValidationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1159
|
+
export const RecalibrateJudgeValidationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 228);
|
|
515
1160
|
/**
|
|
516
1161
|
* Describes the message fermata.v1.RecalibrateJudgeValidationResponse.
|
|
517
1162
|
* Use `create(RecalibrateJudgeValidationResponseSchema)` to create a new message.
|
|
518
1163
|
*/
|
|
519
|
-
export const RecalibrateJudgeValidationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1164
|
+
export const RecalibrateJudgeValidationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 229);
|
|
520
1165
|
/**
|
|
521
1166
|
* Describes the message fermata.v1.RecordJudgeValidationEvaluationRequest.
|
|
522
1167
|
* Use `create(RecordJudgeValidationEvaluationRequestSchema)` to create a new message.
|
|
523
1168
|
*/
|
|
524
|
-
export const RecordJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1169
|
+
export const RecordJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 230);
|
|
525
1170
|
/**
|
|
526
1171
|
* Describes the message fermata.v1.RecordJudgeValidationEvaluationResponse.
|
|
527
1172
|
* Use `create(RecordJudgeValidationEvaluationResponseSchema)` to create a new message.
|
|
528
1173
|
*/
|
|
529
|
-
export const RecordJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1174
|
+
export const RecordJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 231);
|
|
530
1175
|
/**
|
|
531
1176
|
* Describes the message fermata.v1.ValidateJudgeValidationEvaluationRequest.
|
|
532
1177
|
* Use `create(ValidateJudgeValidationEvaluationRequestSchema)` to create a new message.
|
|
533
1178
|
*/
|
|
534
|
-
export const ValidateJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1179
|
+
export const ValidateJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 232);
|
|
535
1180
|
/**
|
|
536
1181
|
* Describes the message fermata.v1.ValidateJudgeValidationEvaluationResponse.
|
|
537
1182
|
* Use `create(ValidateJudgeValidationEvaluationResponseSchema)` to create a new message.
|
|
538
1183
|
*/
|
|
539
|
-
export const ValidateJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1184
|
+
export const ValidateJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 233);
|
|
540
1185
|
/**
|
|
541
1186
|
* Describes the message fermata.v1.ListJudgeCalibrationCandidatesRequest.
|
|
542
1187
|
* Use `create(ListJudgeCalibrationCandidatesRequestSchema)` to create a new message.
|
|
543
1188
|
*/
|
|
544
|
-
export const ListJudgeCalibrationCandidatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1189
|
+
export const ListJudgeCalibrationCandidatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 234);
|
|
545
1190
|
/**
|
|
546
1191
|
* Describes the message fermata.v1.ListJudgeCalibrationCandidatesResponse.
|
|
547
1192
|
* Use `create(ListJudgeCalibrationCandidatesResponseSchema)` to create a new message.
|
|
548
1193
|
*/
|
|
549
|
-
export const ListJudgeCalibrationCandidatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1194
|
+
export const ListJudgeCalibrationCandidatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 235);
|
|
550
1195
|
/**
|
|
551
1196
|
* Describes the message fermata.v1.QualityGateConfig.
|
|
552
1197
|
* Use `create(QualityGateConfigSchema)` to create a new message.
|
|
553
1198
|
*/
|
|
554
|
-
export const QualityGateConfigSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1199
|
+
export const QualityGateConfigSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 236);
|
|
555
1200
|
/**
|
|
556
1201
|
* Describes the message fermata.v1.QualityGateCriterion.
|
|
557
1202
|
* Use `create(QualityGateCriterionSchema)` to create a new message.
|
|
558
1203
|
*/
|
|
559
|
-
export const QualityGateCriterionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1204
|
+
export const QualityGateCriterionSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 237);
|
|
560
1205
|
/**
|
|
561
1206
|
* Describes the message fermata.v1.QualityGateViolation.
|
|
562
1207
|
* Use `create(QualityGateViolationSchema)` to create a new message.
|
|
563
1208
|
*/
|
|
564
|
-
export const QualityGateViolationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1209
|
+
export const QualityGateViolationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 238);
|
|
565
1210
|
/**
|
|
566
1211
|
* Describes the message fermata.v1.QualityGateSummary.
|
|
567
1212
|
* Use `create(QualityGateSummarySchema)` to create a new message.
|
|
568
1213
|
*/
|
|
569
|
-
export const QualityGateSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1214
|
+
export const QualityGateSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 239);
|
|
570
1215
|
/**
|
|
571
1216
|
* Describes the message fermata.v1.QualityGateResult.
|
|
572
1217
|
* Use `create(QualityGateResultSchema)` to create a new message.
|
|
573
1218
|
*/
|
|
574
|
-
export const QualityGateResultSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1219
|
+
export const QualityGateResultSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 240);
|
|
575
1220
|
/**
|
|
576
1221
|
* Describes the message fermata.v1.QualityGatePagination.
|
|
577
1222
|
* Use `create(QualityGatePaginationSchema)` to create a new message.
|
|
578
1223
|
*/
|
|
579
|
-
export const QualityGatePaginationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1224
|
+
export const QualityGatePaginationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 241);
|
|
580
1225
|
/**
|
|
581
1226
|
* Describes the message fermata.v1.GetQualityGateDefaultsRequest.
|
|
582
1227
|
* Use `create(GetQualityGateDefaultsRequestSchema)` to create a new message.
|
|
583
1228
|
*/
|
|
584
|
-
export const GetQualityGateDefaultsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1229
|
+
export const GetQualityGateDefaultsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 242);
|
|
585
1230
|
/**
|
|
586
1231
|
* Describes the message fermata.v1.GetQualityGateDefaultsResponse.
|
|
587
1232
|
* Use `create(GetQualityGateDefaultsResponseSchema)` to create a new message.
|
|
588
1233
|
*/
|
|
589
|
-
export const GetQualityGateDefaultsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1234
|
+
export const GetQualityGateDefaultsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 243);
|
|
590
1235
|
/**
|
|
591
1236
|
* Describes the message fermata.v1.ListQualityGateConfigsRequest.
|
|
592
1237
|
* Use `create(ListQualityGateConfigsRequestSchema)` to create a new message.
|
|
593
1238
|
*/
|
|
594
|
-
export const ListQualityGateConfigsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1239
|
+
export const ListQualityGateConfigsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 244);
|
|
595
1240
|
/**
|
|
596
1241
|
* Describes the message fermata.v1.ListQualityGateConfigsResponse.
|
|
597
1242
|
* Use `create(ListQualityGateConfigsResponseSchema)` to create a new message.
|
|
598
1243
|
*/
|
|
599
|
-
export const ListQualityGateConfigsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1244
|
+
export const ListQualityGateConfigsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 245);
|
|
600
1245
|
/**
|
|
601
1246
|
* Describes the message fermata.v1.GetQualityGateConfigRequest.
|
|
602
1247
|
* Use `create(GetQualityGateConfigRequestSchema)` to create a new message.
|
|
603
1248
|
*/
|
|
604
|
-
export const GetQualityGateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1249
|
+
export const GetQualityGateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 246);
|
|
605
1250
|
/**
|
|
606
1251
|
* Describes the message fermata.v1.GetQualityGateConfigResponse.
|
|
607
1252
|
* Use `create(GetQualityGateConfigResponseSchema)` to create a new message.
|
|
608
1253
|
*/
|
|
609
|
-
export const GetQualityGateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1254
|
+
export const GetQualityGateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 247);
|
|
610
1255
|
/**
|
|
611
1256
|
* Describes the message fermata.v1.UpsertQualityGateConfigRequest.
|
|
612
1257
|
* Use `create(UpsertQualityGateConfigRequestSchema)` to create a new message.
|
|
613
1258
|
*/
|
|
614
|
-
export const UpsertQualityGateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1259
|
+
export const UpsertQualityGateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 248);
|
|
615
1260
|
/**
|
|
616
1261
|
* Describes the message fermata.v1.UpsertQualityGateConfigResponse.
|
|
617
1262
|
* Use `create(UpsertQualityGateConfigResponseSchema)` to create a new message.
|
|
618
1263
|
*/
|
|
619
|
-
export const UpsertQualityGateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1264
|
+
export const UpsertQualityGateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 249);
|
|
620
1265
|
/**
|
|
621
1266
|
* Describes the message fermata.v1.ResetQualityGateConfigRequest.
|
|
622
1267
|
* Use `create(ResetQualityGateConfigRequestSchema)` to create a new message.
|
|
623
1268
|
*/
|
|
624
|
-
export const ResetQualityGateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1269
|
+
export const ResetQualityGateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 250);
|
|
625
1270
|
/**
|
|
626
1271
|
* Describes the message fermata.v1.ResetQualityGateConfigResponse.
|
|
627
1272
|
* Use `create(ResetQualityGateConfigResponseSchema)` to create a new message.
|
|
628
1273
|
*/
|
|
629
|
-
export const ResetQualityGateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1274
|
+
export const ResetQualityGateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 251);
|
|
630
1275
|
/**
|
|
631
1276
|
* Describes the message fermata.v1.EvaluateQualityGateRequest.
|
|
632
1277
|
* Use `create(EvaluateQualityGateRequestSchema)` to create a new message.
|
|
633
1278
|
*/
|
|
634
|
-
export const EvaluateQualityGateRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1279
|
+
export const EvaluateQualityGateRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 252);
|
|
635
1280
|
/**
|
|
636
1281
|
* Describes the message fermata.v1.EvaluateQualityGateResponse.
|
|
637
1282
|
* Use `create(EvaluateQualityGateResponseSchema)` to create a new message.
|
|
638
1283
|
*/
|
|
639
|
-
export const EvaluateQualityGateResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1284
|
+
export const EvaluateQualityGateResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 253);
|
|
640
1285
|
/**
|
|
641
1286
|
* Describes the message fermata.v1.BatchEvaluateQualityGatesRequest.
|
|
642
1287
|
* Use `create(BatchEvaluateQualityGatesRequestSchema)` to create a new message.
|
|
643
1288
|
*/
|
|
644
|
-
export const BatchEvaluateQualityGatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1289
|
+
export const BatchEvaluateQualityGatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 254);
|
|
645
1290
|
/**
|
|
646
1291
|
* Describes the message fermata.v1.BatchEvaluateQualityGatesResponse.
|
|
647
1292
|
* Use `create(BatchEvaluateQualityGatesResponseSchema)` to create a new message.
|
|
648
1293
|
*/
|
|
649
|
-
export const BatchEvaluateQualityGatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1294
|
+
export const BatchEvaluateQualityGatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 255);
|
|
650
1295
|
/**
|
|
651
1296
|
* Describes the message fermata.v1.GetQualityGateEvaluationRequest.
|
|
652
1297
|
* Use `create(GetQualityGateEvaluationRequestSchema)` to create a new message.
|
|
653
1298
|
*/
|
|
654
|
-
export const GetQualityGateEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1299
|
+
export const GetQualityGateEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 256);
|
|
655
1300
|
/**
|
|
656
1301
|
* Describes the message fermata.v1.GetQualityGateEvaluationResponse.
|
|
657
1302
|
* Use `create(GetQualityGateEvaluationResponseSchema)` to create a new message.
|
|
658
1303
|
*/
|
|
659
|
-
export const GetQualityGateEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1304
|
+
export const GetQualityGateEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 257);
|
|
660
1305
|
/**
|
|
661
1306
|
* Describes the message fermata.v1.ListQualityGateResultsRequest.
|
|
662
1307
|
* Use `create(ListQualityGateResultsRequestSchema)` to create a new message.
|
|
663
1308
|
*/
|
|
664
|
-
export const ListQualityGateResultsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1309
|
+
export const ListQualityGateResultsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 258);
|
|
665
1310
|
/**
|
|
666
1311
|
* Describes the message fermata.v1.ListQualityGateResultsResponse.
|
|
667
1312
|
* Use `create(ListQualityGateResultsResponseSchema)` to create a new message.
|
|
668
1313
|
*/
|
|
669
|
-
export const ListQualityGateResultsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1314
|
+
export const ListQualityGateResultsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 259);
|
|
670
1315
|
/**
|
|
671
1316
|
* Describes the message fermata.v1.GetQualityGateMetricsRequest.
|
|
672
1317
|
* Use `create(GetQualityGateMetricsRequestSchema)` to create a new message.
|
|
673
1318
|
*/
|
|
674
|
-
export const GetQualityGateMetricsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1319
|
+
export const GetQualityGateMetricsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 260);
|
|
675
1320
|
/**
|
|
676
1321
|
* Describes the message fermata.v1.GetQualityGateMetricsResponse.
|
|
677
1322
|
* Use `create(GetQualityGateMetricsResponseSchema)` to create a new message.
|
|
678
1323
|
*/
|
|
679
|
-
export const GetQualityGateMetricsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1324
|
+
export const GetQualityGateMetricsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 261);
|
|
680
1325
|
/**
|
|
681
1326
|
* Describes the message fermata.v1.GetQualityGateStatsRequest.
|
|
682
1327
|
* Use `create(GetQualityGateStatsRequestSchema)` to create a new message.
|
|
683
1328
|
*/
|
|
684
|
-
export const GetQualityGateStatsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1329
|
+
export const GetQualityGateStatsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 262);
|
|
685
1330
|
/**
|
|
686
1331
|
* Describes the message fermata.v1.GetQualityGateStatsResponse.
|
|
687
1332
|
* Use `create(GetQualityGateStatsResponseSchema)` to create a new message.
|
|
688
1333
|
*/
|
|
689
|
-
export const GetQualityGateStatsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1334
|
+
export const GetQualityGateStatsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 263);
|
|
690
1335
|
/**
|
|
691
1336
|
* Describes the message fermata.v1.ValidateQualityGateConfigRequest.
|
|
692
1337
|
* Use `create(ValidateQualityGateConfigRequestSchema)` to create a new message.
|
|
693
1338
|
*/
|
|
694
|
-
export const ValidateQualityGateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1339
|
+
export const ValidateQualityGateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 264);
|
|
695
1340
|
/**
|
|
696
1341
|
* Describes the message fermata.v1.ValidateQualityGateConfigResponse.
|
|
697
1342
|
* Use `create(ValidateQualityGateConfigResponseSchema)` to create a new message.
|
|
698
1343
|
*/
|
|
699
|
-
export const ValidateQualityGateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1344
|
+
export const ValidateQualityGateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 265);
|
|
700
1345
|
/**
|
|
701
1346
|
* Describes the message fermata.v1.QualityGateRegressionBudgetWaiver.
|
|
702
1347
|
* Use `create(QualityGateRegressionBudgetWaiverSchema)` to create a new message.
|
|
703
1348
|
*/
|
|
704
|
-
export const QualityGateRegressionBudgetWaiverSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1349
|
+
export const QualityGateRegressionBudgetWaiverSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 266);
|
|
705
1350
|
/**
|
|
706
1351
|
* Describes the message fermata.v1.EvaluateQualityGateRegressionBudgetRequest.
|
|
707
1352
|
* Use `create(EvaluateQualityGateRegressionBudgetRequestSchema)` to create a new message.
|
|
708
1353
|
*/
|
|
709
|
-
export const EvaluateQualityGateRegressionBudgetRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1354
|
+
export const EvaluateQualityGateRegressionBudgetRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 267);
|
|
710
1355
|
/**
|
|
711
1356
|
* Describes the message fermata.v1.EvaluateQualityGateRegressionBudgetResponse.
|
|
712
1357
|
* Use `create(EvaluateQualityGateRegressionBudgetResponseSchema)` to create a new message.
|
|
713
1358
|
*/
|
|
714
|
-
export const EvaluateQualityGateRegressionBudgetResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1359
|
+
export const EvaluateQualityGateRegressionBudgetResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 268);
|
|
1360
|
+
/**
|
|
1361
|
+
* Describes the message fermata.v1.EvaluatePublicFeatureFlagsRequest.
|
|
1362
|
+
* Use `create(EvaluatePublicFeatureFlagsRequestSchema)` to create a new message.
|
|
1363
|
+
*/
|
|
1364
|
+
export const EvaluatePublicFeatureFlagsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 269);
|
|
1365
|
+
/**
|
|
1366
|
+
* Describes the message fermata.v1.EvaluatePublicFeatureFlagsResponse.
|
|
1367
|
+
* Use `create(EvaluatePublicFeatureFlagsResponseSchema)` to create a new message.
|
|
1368
|
+
*/
|
|
1369
|
+
export const EvaluatePublicFeatureFlagsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 270);
|
|
715
1370
|
/**
|
|
716
1371
|
* Describes the message fermata.v1.GetMigrationStatusRequest.
|
|
717
1372
|
* Use `create(GetMigrationStatusRequestSchema)` to create a new message.
|
|
718
1373
|
*/
|
|
719
|
-
export const GetMigrationStatusRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1374
|
+
export const GetMigrationStatusRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 271);
|
|
720
1375
|
/**
|
|
721
1376
|
* Describes the message fermata.v1.RouteMigrationStatus.
|
|
722
1377
|
* Use `create(RouteMigrationStatusSchema)` to create a new message.
|
|
723
1378
|
*/
|
|
724
|
-
export const RouteMigrationStatusSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1379
|
+
export const RouteMigrationStatusSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 272);
|
|
725
1380
|
/**
|
|
726
1381
|
* Describes the message fermata.v1.GetMigrationStatusResponse.
|
|
727
1382
|
* Use `create(GetMigrationStatusResponseSchema)` to create a new message.
|
|
728
1383
|
*/
|
|
729
|
-
export const GetMigrationStatusResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata,
|
|
1384
|
+
export const GetMigrationStatusResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 273);
|
|
730
1385
|
/**
|
|
731
1386
|
* @generated from enum fermata.v1.AssertionKind
|
|
732
1387
|
*/
|
|
@@ -760,6 +1415,70 @@ export var AssertionKind;
|
|
|
760
1415
|
* @generated from enum value: ASSERTION_KIND_JSON_SCHEMA = 6;
|
|
761
1416
|
*/
|
|
762
1417
|
AssertionKind[AssertionKind["JSON_SCHEMA"] = 6] = "JSON_SCHEMA";
|
|
1418
|
+
/**
|
|
1419
|
+
* @generated from enum value: ASSERTION_KIND_EQUALS = 7;
|
|
1420
|
+
*/
|
|
1421
|
+
AssertionKind[AssertionKind["EQUALS"] = 7] = "EQUALS";
|
|
1422
|
+
/**
|
|
1423
|
+
* @generated from enum value: ASSERTION_KIND_STARTS_WITH = 8;
|
|
1424
|
+
*/
|
|
1425
|
+
AssertionKind[AssertionKind["STARTS_WITH"] = 8] = "STARTS_WITH";
|
|
1426
|
+
/**
|
|
1427
|
+
* @generated from enum value: ASSERTION_KIND_CONTAINS_ANY = 9;
|
|
1428
|
+
*/
|
|
1429
|
+
AssertionKind[AssertionKind["CONTAINS_ANY"] = 9] = "CONTAINS_ANY";
|
|
1430
|
+
/**
|
|
1431
|
+
* @generated from enum value: ASSERTION_KIND_CONTAINS_ALL = 10;
|
|
1432
|
+
*/
|
|
1433
|
+
AssertionKind[AssertionKind["CONTAINS_ALL"] = 10] = "CONTAINS_ALL";
|
|
1434
|
+
/**
|
|
1435
|
+
* @generated from enum value: ASSERTION_KIND_WORD_COUNT = 11;
|
|
1436
|
+
*/
|
|
1437
|
+
AssertionKind[AssertionKind["WORD_COUNT"] = 11] = "WORD_COUNT";
|
|
1438
|
+
/**
|
|
1439
|
+
* @generated from enum value: ASSERTION_KIND_NUMERIC_GTE = 12;
|
|
1440
|
+
*/
|
|
1441
|
+
AssertionKind[AssertionKind["NUMERIC_GTE"] = 12] = "NUMERIC_GTE";
|
|
1442
|
+
/**
|
|
1443
|
+
* @generated from enum value: ASSERTION_KIND_NUMERIC_LTE = 13;
|
|
1444
|
+
*/
|
|
1445
|
+
AssertionKind[AssertionKind["NUMERIC_LTE"] = 13] = "NUMERIC_LTE";
|
|
1446
|
+
/**
|
|
1447
|
+
* @generated from enum value: ASSERTION_KIND_TOOL_CALLED = 14;
|
|
1448
|
+
*/
|
|
1449
|
+
AssertionKind[AssertionKind["TOOL_CALLED"] = 14] = "TOOL_CALLED";
|
|
1450
|
+
/**
|
|
1451
|
+
* @generated from enum value: ASSERTION_KIND_TOOL_NOT_CALLED = 15;
|
|
1452
|
+
*/
|
|
1453
|
+
AssertionKind[AssertionKind["TOOL_NOT_CALLED"] = 15] = "TOOL_NOT_CALLED";
|
|
1454
|
+
/**
|
|
1455
|
+
* @generated from enum value: ASSERTION_KIND_TOOL_SEQUENCE = 16;
|
|
1456
|
+
*/
|
|
1457
|
+
AssertionKind[AssertionKind["TOOL_SEQUENCE"] = 16] = "TOOL_SEQUENCE";
|
|
1458
|
+
/**
|
|
1459
|
+
* @generated from enum value: ASSERTION_KIND_TRACE_SPAN_COUNT = 17;
|
|
1460
|
+
*/
|
|
1461
|
+
AssertionKind[AssertionKind["TRACE_SPAN_COUNT"] = 17] = "TRACE_SPAN_COUNT";
|
|
1462
|
+
/**
|
|
1463
|
+
* @generated from enum value: ASSERTION_KIND_TOOL_ARGS_MATCH = 18;
|
|
1464
|
+
*/
|
|
1465
|
+
AssertionKind[AssertionKind["TOOL_ARGS_MATCH"] = 18] = "TOOL_ARGS_MATCH";
|
|
1466
|
+
/**
|
|
1467
|
+
* @generated from enum value: ASSERTION_KIND_TRACE_ERROR_SPANS = 19;
|
|
1468
|
+
*/
|
|
1469
|
+
AssertionKind[AssertionKind["TRACE_ERROR_SPANS"] = 19] = "TRACE_ERROR_SPANS";
|
|
1470
|
+
/**
|
|
1471
|
+
* @generated from enum value: ASSERTION_KIND_TRACE_SPAN_DURATION = 20;
|
|
1472
|
+
*/
|
|
1473
|
+
AssertionKind[AssertionKind["TRACE_SPAN_DURATION"] = 20] = "TRACE_SPAN_DURATION";
|
|
1474
|
+
/**
|
|
1475
|
+
* @generated from enum value: ASSERTION_KIND_TRACE_STEP_COUNT = 21;
|
|
1476
|
+
*/
|
|
1477
|
+
AssertionKind[AssertionKind["TRACE_STEP_COUNT"] = 21] = "TRACE_STEP_COUNT";
|
|
1478
|
+
/**
|
|
1479
|
+
* @generated from enum value: ASSERTION_KIND_TOOL_CALL_F1 = 22;
|
|
1480
|
+
*/
|
|
1481
|
+
AssertionKind[AssertionKind["TOOL_CALL_F1"] = 22] = "TOOL_CALL_F1";
|
|
763
1482
|
})(AssertionKind || (AssertionKind = {}));
|
|
764
1483
|
/**
|
|
765
1484
|
* Describes the enum fermata.v1.AssertionKind.
|
|
@@ -1071,6 +1790,58 @@ export var DiagnosticFindingSeverity;
|
|
|
1071
1790
|
* Describes the enum fermata.v1.DiagnosticFindingSeverity.
|
|
1072
1791
|
*/
|
|
1073
1792
|
export const DiagnosticFindingSeveritySchema = /*@__PURE__*/ enumDesc(file_fermata_v1_fermata, 9);
|
|
1793
|
+
/**
|
|
1794
|
+
* @generated from enum fermata.v1.AgentSessionControlAction
|
|
1795
|
+
*/
|
|
1796
|
+
export var AgentSessionControlAction;
|
|
1797
|
+
(function (AgentSessionControlAction) {
|
|
1798
|
+
/**
|
|
1799
|
+
* @generated from enum value: AGENT_SESSION_CONTROL_ACTION_UNSPECIFIED = 0;
|
|
1800
|
+
*/
|
|
1801
|
+
AgentSessionControlAction[AgentSessionControlAction["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
1802
|
+
/**
|
|
1803
|
+
* @generated from enum value: AGENT_SESSION_CONTROL_ACTION_PAUSE = 1;
|
|
1804
|
+
*/
|
|
1805
|
+
AgentSessionControlAction[AgentSessionControlAction["PAUSE"] = 1] = "PAUSE";
|
|
1806
|
+
/**
|
|
1807
|
+
* @generated from enum value: AGENT_SESSION_CONTROL_ACTION_RESUME = 2;
|
|
1808
|
+
*/
|
|
1809
|
+
AgentSessionControlAction[AgentSessionControlAction["RESUME"] = 2] = "RESUME";
|
|
1810
|
+
/**
|
|
1811
|
+
* @generated from enum value: AGENT_SESSION_CONTROL_ACTION_CANCEL = 3;
|
|
1812
|
+
*/
|
|
1813
|
+
AgentSessionControlAction[AgentSessionControlAction["CANCEL"] = 3] = "CANCEL";
|
|
1814
|
+
/**
|
|
1815
|
+
* @generated from enum value: AGENT_SESSION_CONTROL_ACTION_RETRY = 4;
|
|
1816
|
+
*/
|
|
1817
|
+
AgentSessionControlAction[AgentSessionControlAction["RETRY"] = 4] = "RETRY";
|
|
1818
|
+
})(AgentSessionControlAction || (AgentSessionControlAction = {}));
|
|
1819
|
+
/**
|
|
1820
|
+
* Describes the enum fermata.v1.AgentSessionControlAction.
|
|
1821
|
+
*/
|
|
1822
|
+
export const AgentSessionControlActionSchema = /*@__PURE__*/ enumDesc(file_fermata_v1_fermata, 10);
|
|
1823
|
+
/**
|
|
1824
|
+
* @generated from enum fermata.v1.AgentApprovalDecision
|
|
1825
|
+
*/
|
|
1826
|
+
export var AgentApprovalDecision;
|
|
1827
|
+
(function (AgentApprovalDecision) {
|
|
1828
|
+
/**
|
|
1829
|
+
* @generated from enum value: AGENT_APPROVAL_DECISION_UNSPECIFIED = 0;
|
|
1830
|
+
*/
|
|
1831
|
+
AgentApprovalDecision[AgentApprovalDecision["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
1832
|
+
/**
|
|
1833
|
+
* @generated from enum value: AGENT_APPROVAL_DECISION_APPROVE = 1;
|
|
1834
|
+
*/
|
|
1835
|
+
AgentApprovalDecision[AgentApprovalDecision["APPROVE"] = 1] = "APPROVE";
|
|
1836
|
+
/**
|
|
1837
|
+
* @generated from enum value: AGENT_APPROVAL_DECISION_REJECT = 2;
|
|
1838
|
+
*/
|
|
1839
|
+
AgentApprovalDecision[AgentApprovalDecision["REJECT"] = 2] = "REJECT";
|
|
1840
|
+
})(AgentApprovalDecision || (AgentApprovalDecision = {}));
|
|
1841
|
+
/**
|
|
1842
|
+
* Describes the enum fermata.v1.AgentApprovalDecision.
|
|
1843
|
+
*/
|
|
1844
|
+
export const AgentApprovalDecisionSchema = /*@__PURE__*/ enumDesc(file_fermata_v1_fermata, 11);
|
|
1074
1845
|
/**
|
|
1075
1846
|
* FermataService is the Go control-plane surface for migrated Fermata routes.
|
|
1076
1847
|
*
|