@openkaiden/opnshll-sdk 0.1.5 → 0.1.6

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.
@@ -8,7 +8,7 @@ import { file_sandbox } from "./sandbox_pb.js";
8
8
  /**
9
9
  * Describes the file openshell.proto.
10
10
  */
11
- export const file_openshell = /*@__PURE__*/ fileDesc("Cg9vcGVuc2hlbGwucHJvdG8SDG9wZW5zaGVsbC52MSIaChhJc3N1ZVNhbmRib3hUb2tlblJlcXVlc3QiegoZSXNzdWVTYW5kYm94VG9rZW5SZXNwb25zZRITCgV0b2tlbhgBIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAhADUg1leHBpcmVzX2F0X21zIj0KGlJlZnJlc2hTYW5kYm94VG9rZW5SZXF1ZXN0Eh8KF2V4dGVuc2lvbl9zZXJ2aWNlX25hbWVzGAEgAygJIuoCChtSZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2USEwoFdG9rZW4YASABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJHChVleHRlbnNpb25fY3JlZGVudGlhbHMYAyADKAsyKC5vcGVuc2hlbGwudjEuRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwSGwoNc2FuZGJveF90b2tlbhgEIAEoCUIEiLUYARI7ChdzYW5kYm94X2V4cGlyYXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKc2Vzc2lvbl9pZBgGIAEoCRIYChBjcmVkZW50aWFsX2Vwb2NoGAcgASgESgQIAhADSgQIBRAGUg1leHBpcmVzX2F0X21zUhVzYW5kYm94X2V4cGlyZXNfYXRfbXMiDwoNSGVhbHRoUmVxdWVzdCJOCg5IZWFsdGhSZXNwb25zZRIrCgZzdGF0dXMYASABKA4yGy5vcGVuc2hlbGwudjEuU2VydmljZVN0YXR1cxIPCgd2ZXJzaW9uGAIgASgJIhcKFUdldEN1cnJlbnRVc2VyUmVxdWVzdCJ5ChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEg8KB3N1YmplY3QYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEg0KBXJvbGVzGAMgAygJEg4KBnNjb3BlcxgEIAMoCRIZChFpZGVudGl0eV9wcm92aWRlchgFIAEoCSIXChVHZXRHYXRld2F5SW5mb1JlcXVlc3Qi0wEKFkdldEdhdGV3YXlJbmZvUmVzcG9uc2USKwoGc3RhdHVzGAEgASgOMhsub3BlbnNoZWxsLnYxLlNlcnZpY2VTdGF0dXMSFwoPZ2F0ZXdheV92ZXJzaW9uGAIgASgJEjgKD2NvbXB1dGVfZHJpdmVycxgDIAMoCzIfLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVySW5mbxI5CgpleHRlbnNpb25zGAQgAygLMiUub3BlbnNoZWxsLnYxLk5lZ290aWF0ZWRFeHRlbnNpb25JbmZvIokCChdOZWdvdGlhdGVkRXh0ZW5zaW9uSW5mbxIpCgRraW5kGAEgASgOMhsub3BlbnNoZWxsLnYxLkV4dGVuc2lvbktpbmQSFwoPY29uZmlndXJlZF9uYW1lGAIgASgJEhsKE2ltcGxlbWVudGF0aW9uX25hbWUYAyABKAkSHgoWaW1wbGVtZW50YXRpb25fdmVyc2lvbhgEIAEoCRIWCg5wcm90b2NvbF9tYWpvchgFIAEoDRIWCg5wcm90b2NvbF9taW5vchgGIAEoDRIeChZzdXBwb3J0ZWRfY2FwYWJpbGl0aWVzGAcgAygJEh0KFXJlcXVpcmVkX2NhcGFiaWxpdGllcxgIIAMoCSJgChFDb21wdXRlRHJpdmVySW5mbxIMCgRuYW1lGAEgASgJEj0KDGNhcGFiaWxpdGllcxgCIAEoCzInLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzIosBChlDb21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzEhMKC2RyaXZlcl9uYW1lGAEgASgJEhYKDmRyaXZlcl92ZXJzaW9uGAIgASgJEkEKFXJlc291cmNlX2NhcGFiaWxpdGllcxgDIAEoCzIiLm9wZW5zaGVsbC52MS5SZXNvdXJjZUNhcGFiaWxpdGllcyK4AQoUUmVzb3VyY2VDYXBhYmlsaXRpZXMSMgoDY3B1GAEgASgLMiUub3BlbnNoZWxsLnYxLkNwdVJlc291cmNlQ2FwYWJpbGl0aWVzEjgKBm1lbW9yeRgCIAEoCzIoLm9wZW5zaGVsbC52MS5NZW1vcnlSZXNvdXJjZUNhcGFiaWxpdGllcxIyCgNncHUYAyABKAsyJS5vcGVuc2hlbGwudjEuR3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMiMgoXQ3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMSFwoPbGltaXRfc3VwcG9ydGVkGAEgASgIIjUKGk1lbW9yeVJlc291cmNlQ2FwYWJpbGl0aWVzEhcKD2xpbWl0X3N1cHBvcnRlZBgBIAEoCCJhChdHcHVSZXNvdXJjZUNhcGFiaWxpdGllcxIjChtkZWZhdWx0X3NlbGVjdGlvbl9zdXBwb3J0ZWQYASABKAgSIQoZY291bnRfc2VsZWN0aW9uX3N1cHBvcnRlZBgCIAEoCCK3AgoHU2FuZGJveBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRInCgRzcGVjGAIgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEisKBnN0YXR1cxgDIAEoCzIbLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhdHVzEhwKFGhvc3Rfa2V5X2ZpbmdlcnByaW50GAYgASgJElcKHmNyZWF0ZWRfZnJvbV93b3JrbG9hZF90ZW1wbGF0ZRgUIAEoCzIvLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZVByb3ZlbmFuY2VKBAgEEAVKBAgFEAZSBXBoYXNlUhZjdXJyZW50X3BvbGljeV92ZXJzaW9uIv4DCgtTYW5kYm94U3BlYxIRCglsb2dfbGV2ZWwYASABKAkSPwoLZW52aXJvbm1lbnQYBSADKAsyKi5vcGVuc2hlbGwudjEuU2FuZGJveFNwZWMuRW52aXJvbm1lbnRFbnRyeRIvCgh0ZW1wbGF0ZRgGIAEoCzIdLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUSMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRIRCglwcm92aWRlcnMYCCADKAkSQQoVcmVzb3VyY2VfcmVxdWlyZW1lbnRzGAkgASgLMiIub3BlbnNoZWxsLnYxLlJlc291cmNlUmVxdWlyZW1lbnRzEg8KB2NvbW1hbmQYDCADKAkSCwoDdHR5GA0gASgIEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYDiABKAkSOgoOcmVzdGFydF9wb2xpY3kYDyABKA4yIi5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3RhcnRQb2xpY3kaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIChALSgQICxAMUgpncHVfZGV2aWNlUhZwcm9wb3NhbF9hcHByb3ZhbF9tb2RlIkoKFFJlc291cmNlUmVxdWlyZW1lbnRzEjIKA2dwdRgBIAEoCzIlLm9wZW5zaGVsbC52MS5HcHVSZXNvdXJjZVJlcXVpcmVtZW50cyI3ChdHcHVSZXNvdXJjZVJlcXVpcmVtZW50cxISCgVjb3VudBgBIAEoDUgAiAEBQggKBl9jb3VudCLaBAoPU2FuZGJveFRlbXBsYXRlEg0KBWltYWdlGAEgASgJEhoKEnJ1bnRpbWVfY2xhc3NfbmFtZRgCIAEoCRIUCgxhZ2VudF9zb2NrZXQYAyABKAkSOQoGbGFiZWxzGAQgAygLMikub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZS5MYWJlbHNFbnRyeRJDCgthbm5vdGF0aW9ucxgFIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuQW5ub3RhdGlvbnNFbnRyeRJDCgtlbnZpcm9ubWVudBgGIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuRW52aXJvbm1lbnRFbnRyeRIqCglyZXNvdXJjZXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKD3VzZXJfbmFtZXNwYWNlcxgKIAEoCEgAiAEBEi4KDWRyaXZlcl9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfdXNlcl9uYW1lc3BhY2VzSgQICRAKUhZ2b2x1bWVfY2xhaW1fdGVtcGxhdGVzIogBChdTYW5kYm94V29ya2xvYWRUZW1wbGF0ZRI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRI3CgRzcGVjGAIgASgLMikub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZFRlbXBsYXRlU3BlYyLGAQobU2FuZGJveFdvcmtsb2FkVGVtcGxhdGVTcGVjEjUKCHdvcmtsb2FkGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZxIuCg1kcml2ZXJfY29uZmlnGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJAChVkZXNpcmVkX3NlcnZpY2VfbGV2ZWwYAyABKAsyIS5vcGVuc2hlbGwudjEuU2FuZGJveFNlcnZpY2VMZXZlbCLYAQoVU2FuZGJveFdvcmtsb2FkQ29uZmlnEg0KBWltYWdlGAEgASgJEkkKC2Vudmlyb25tZW50GAIgAygLMjQub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZy5FbnZpcm9ubWVudEVudHJ5EjEKCXJlc291cmNlcxgDIAEoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzb3VyY2VzGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJjChBTYW5kYm94UmVzb3VyY2VzEgsKA2NwdRgBIAEoCRIOCgZtZW1vcnkYAiABKAkSMgoDZ3B1GAMgASgLMiUub3BlbnNoZWxsLnYxLkdwdVJlc291cmNlUmVxdWlyZW1lbnRzIkQKE1NhbmRib3hTZXJ2aWNlTGV2ZWwSLQoHc3RhcnR1cBgBIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhcnR1cCJUCg5TYW5kYm94U3RhcnR1cBIvCgxyZWFkeV93aXRoaW4YASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEQoJbWF4X2J1cnN0GAIgASgNIksKIVNhbmRib3hXb3JrbG9hZFRlbXBsYXRlUHJvdmVuYW5jZRIMCgRuYW1lGAEgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YAiABKAki7AUKDVNhbmRib3hTdGF0dXMSEQoJYWdlbnRfcG9kGAIgASgJEhAKCGFnZW50X2ZkGAMgASgJEhIKCnNhbmRib3hfZmQYBCABKAkSMgoKY29uZGl0aW9ucxgFIAMoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZGl0aW9uEikKBXBoYXNlGAYgASgOMhoub3BlbnNoZWxsLnYxLlNhbmRib3hQaGFzZRIeChZjdXJyZW50X3BvbGljeV92ZXJzaW9uGAcgASgNEiAKGG1haW5fcHJvY2Vzc19pbnN0YW5jZV9pZBgIIAEoCRIWCglleGl0X2NvZGUYCSABKAVIAIgBARI3ChFlbmRwb2ludF9zdGF0dXNlcxgKIAMoCzIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFN0YXR1cxJMChdjb25maWd1cmF0aW9uX2FkbWlzc2lvbhgLIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIkChdjb25maWd1cmF0aW9uX2FjdGl2YXRlZBgMIAEoCEgBiAEBEjcKDHByb3Zpc2lvbmluZxgNIAEoCzIhLm9wZW5zaGVsbC52MS5TYW5kYm94UHJvdmlzaW9uaW5nEhUKDXJlc3RhcnRfY291bnQYDiABKA0SNQoRbmV4dF9yZXN0YXJ0X3RpbWUYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj0KGW1haW5fcHJvY2Vzc19zdGFydGVkX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkwKGGxhc3RfdG9rZW5fZ3JhbnRfZmFpbHVyZRgRIAEoCzIqLm9wZW5zaGVsbC52MS5Ub2tlbkdyYW50RmFpbHVyZU9ic2VydmF0aW9uQgwKCl9leGl0X2NvZGVCGgoYX2NvbmZpZ3VyYXRpb25fYWN0aXZhdGVkIqIBChBTYW5kYm94Q29uZGl0aW9uEgwKBHR5cGUYASABKAkSDgoGc3RhdHVzGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIPCgdtZXNzYWdlGAQgASgJEjMKD3RyYW5zaXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgFEAZSFGxhc3RfdHJhbnNpdGlvbl90aW1lIoACCg1QbGF0Zm9ybUV2ZW50Ei4KCmV2ZW50X3RpbWUYZSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnNvdXJjZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBnJlYXNvbhgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEjsKCG1ldGFkYXRhGAYgAygLMikub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnQuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSDHRpbWVzdGFtcF9tcyKVBAoUQ3JlYXRlU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAcgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchInCgRzcGVjGAEgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEgwKBG5hbWUYAiABKAkSPgoGbGFiZWxzGAMgAygLMi4ub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkxhYmVsc0VudHJ5EkgKC2Fubm90YXRpb25zGAQgAygLMjMub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSJQodYXdhaXRfbWFpbl9wcm9jZXNzX2F0dGFjaG1lbnQYBSABKAgSGQoRd29ya2xvYWRfdGVtcGxhdGUYBiABKAkSEgoKcmVxdWVzdF9pZBgIIAEoCRI/ChFzZXJ2aWNlX2V4cG9zdXJlcxgJIAMoCzIkLm9wZW5zaGVsbC52MS5TYW5kYm94U2VydmljZUV4cG9zdXJlGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIq8BChxDcmVhdGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISNwoIdGVtcGxhdGUYASABKAsyJS5vcGVuc2hlbGwudjEuU2FuZGJveFdvcmtsb2FkVGVtcGxhdGUSEgoKcmVxdWVzdF9pZBgDIAEoCSJtChlHZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCSKgAQobTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimwEKHERlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJSChdTYW5kYm94VGVtcGxhdGVSZXNwb25zZRI3Cgh0ZW1wbGF0ZRgBIAEoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZSJxChxMaXN0U2FuZGJveFRlbXBsYXRlc1Jlc3BvbnNlEjgKCXRlbXBsYXRlcxgBIAMoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiXgodRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQiiQEKHEJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglmaWxlX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBCKoAQodQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2USFQoNc3RhZ2luZ190b2tlbhgBIAEoCRITCgt1cGxvYWRfcGF0aBgCIAEoCRIRCgltYXhfYnl0ZXMYAyABKAQSMwoPZXhwaXJhdGlvbl90aW1lGGggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAQQBVINZXhwaXJlc19hdF9tcyJlChFHZXRTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkimQEKFExpc3RTYW5kYm94ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimQEKG0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkivAEKHEF0dGFjaFNhbmRib3hQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAyABKAQSEgoKcmVxdWVzdF9pZBgFIAEoCSK8AQocRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoBBISCgpyZXF1ZXN0X2lkGAUgASgJIpMBChREZWxldGVTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJInoKElN0b3BTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSJ7ChNTdGFydFNhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJIrMBCg9TYW5kYm94UmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EkQKDHNlcnZpY2VfdXJscxgCIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UuU2VydmljZVVybHNFbnRyeRoyChBTZXJ2aWNlVXJsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiWgoVTGlzdFNhbmRib3hlc1Jlc3BvbnNlEigKCXNhbmRib3hlcxgBIAMoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJsChxMaXN0U2FuZGJveFByb3ZpZGVyc1Jlc3BvbnNlEjMKCXByb3ZpZGVycxgBIAMoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIpEBCh1BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSEAoIYXR0YWNoZWQYAiABKAgSNgoHcmVjZWlwdBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdCKRAQodRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhAKCGRldGFjaGVkGAIgASgIEjYKB3JlY2VpcHQYAyABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQi3QEKF1Byb3ZpZGVyRGVzaXJlZElkZW50aXR5EhIKCnNhbmRib3hfaWQYASABKAkSDwoHc2FuZGJveBgCIAEoCRIYChBhdHRhY2htZW50X2Vwb2NoGAMgASgJEhMKC3Byb3ZpZGVyX2lkGAQgASgJEiEKGXByb3ZpZGVyX3Jlc291cmNlX3ZlcnNpb24YBSABKAQSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAYgASgEEhcKD2NvbmZpZ19yZXZpc2lvbhgHIAEoBBITCgtwb2xpY3lfaGFzaBgIIAEoCSLGAQoWQ29uZmlnU25hcHNob3RSZXZpc2lvbhI9Cg5zYW5kYm94X2NvbmZpZxgBIAEoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlnUmV2aXNpb25IABIeChRwcm92aWRlcl9lbnZpcm9ubWVudBgCIAEoBEgAEkAKD3Byb3ZpZGVyX3RhcmdldBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlckRlc2lyZWRJZGVudGl0eUgAQgsKCWNvbXBvbmVudCK9AQoVU2FuZGJveENvbmZpZ1JldmlzaW9uEhcKD2NvbmZpZ19yZXZpc2lvbhgBIAEoBBIWCg5wb2xpY3lfdmVyc2lvbhgCIAEoDRI5Cg1wb2xpY3lfc291cmNlGAMgASgOMiIub3BlbnNoZWxsLnNhbmRib3gudjEuUG9saWN5U291cmNlEh0KFWdsb2JhbF9wb2xpY3lfdmVyc2lvbhgEIAEoDRIZChFzZXR0aW5nc19yZXZpc2lvbhgFIAEoBCKQBAoVQ29uZmlnVXBkYXRlT3BlcmF0aW9uEhQKDG9wZXJhdGlvbl9pZBgBIAEoCRISCgpzYW5kYm94X2lkGAIgASgJEjAKCWNvbXBvbmVudBgDIAEoDjIdLm9wZW5zaGVsbC52MS5Db25maWdDb21wb25lbnQSPQoPdGFyZ2V0X3JldmlzaW9uGAQgASgLMiQub3BlbnNoZWxsLnYxLkNvbmZpZ1NuYXBzaG90UmV2aXNpb24SNwoFc3RhdGUYBSABKA4yKC5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlT3BlcmF0aW9uU3RhdGUSMQoHb3V0Y29tZRgGIAEoDjIgLm9wZW5zaGVsbC52MS5Db25maWdBcHBseU91dGNvbWUSFwoPc2FuaXRpemVkX2Vycm9yGAcgASgJEjAKDGNyZWF0ZWRfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMdXBkYXRlZF90aW1lGG0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5jb21wbGV0ZWRfdGltZRhuIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgIEAlKBAgJEApKBAgKEAtSDWNyZWF0ZWRfYXRfbXNSDXVwZGF0ZWRfYXRfbXNSD2NvbXBsZXRlZF9hdF9tcyKcAgoXUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSEgoKcmVjZWlwdF9pZBgBIAEoCRITCgttdXRhdGlvbl9pZBgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIRCgl3b3Jrc3BhY2UYBCABKAkSMAoEa2luZBgFIAEoDjIiLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uS2luZBI2CgdkZXNpcmVkGAYgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyRGVzaXJlZElkZW50aXR5EjIKDnBlcnNpc3RlZF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAcQCFIPcGVyc2lzdGVkX2F0X21zItsCChxQcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uEhIKCnNlc3Npb25faWQYASABKAkSEAoIc2VxdWVuY2UYAiABKAQSGAoQYXR0YWNobWVudF9lcG9jaBgDIAEoCRIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBCABKAQSFwoPY29uZmlnX3JldmlzaW9uGAUgASgEEhMKC3BvbGljeV9oYXNoGAYgASgJEh0KFWNyZWRlbnRpYWxzX2luc3RhbGxlZBgHIAEoCBIVCg1wb2xpY3lfYWN0aXZlGAggASgIEiQKHGxhdW5jaF9lbnZpcm9ubWVudF9pbnN0YWxsZWQYCSABKAgSGwoTcHJvY2Vzc19pbnN0YW5jZV9pZBgKIAEoCRI1CgZyZWFzb24YCyABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24i5AMKF1Byb3ZpZGVyUmVhZGluZXNzU3RhdHVzEjYKB3JlY2VpcHQYASABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSMwoFc3RhdGUYAiABKA4yJC5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NTdGF0ZRI1CgZyZWFzb24YAyABKA4yJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NSZWFzb24SPAoIb2JzZXJ2ZWQYBCABKAsyKi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZWFkaW5lc3NPYnNlcnZhdGlvbhIbChNuZXR3b3JrX2luc3RhbmNlX2lkGAUgASgJEjEKDW9ic2VydmVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmV2YWx1YXRlZF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI2CglvcGVyYXRpb24YCCABKAsyIy5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlT3BlcmF0aW9uSgQIBhAHSgQIBxAIUg5vYnNlcnZlZF9hdF9tc1IPZXZhbHVhdGVkX2F0X21zIpwBCh9HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRIQCghwcm92aWRlchgCIAEoCRISCgpyZWNlaXB0X2lkGAMgASgJIlkKIEdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlEjUKBnN0YXR1cxgBIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1N0YXR1cyJ1Ch5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRI/CgtvYnNlcnZhdGlvbhgCIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uIuIBCh9SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlEhkKEWFjY2VwdGVkX3NlcXVlbmNlGAEgASgEEjIKD3JlcG9ydF9pbnRlcnZhbBhmIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIyCg9vYnNlcnZhdGlvbl90dGwYZyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25KBAgCEANKBAgDEARSF3JlcG9ydF9pbnRlcnZhbF9zZWNvbmRzUhdvYnNlcnZhdGlvbl90dGxfc2Vjb25kcyJqChVEZWxldGVTYW5kYm94UmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWUSEgoKc2FuZGJveF9pZBgDIAEoCUoECAEQAlIHZGVsZXRlZCJuChdDcmVhdGVTc2hTZXNzaW9uUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAki7wEKGENyZWF0ZVNzaFNlc3Npb25SZXNwb25zZRISCgpzYW5kYm94X2lkGAEgASgJEhMKBXRva2VuGAIgASgJQgSItRgBEhQKDGdhdGV3YXlfaG9zdBgDIAEoCRIUCgxnYXRld2F5X3BvcnQYBCABKA0SFgoOZ2F0ZXdheV9zY2hlbWUYBSABKAkSHAoUaG9zdF9rZXlfZmluZ2VycHJpbnQYByABKAkSMwoPZXhwaXJhdGlvbl90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAgQCVINZXhwaXJlc19hdF9tcyL2AQoURXhwb3NlU2VydmljZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAUgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAIgASgJEhMKC3RhcmdldF9wb3J0GAMgASgNEg4KBmRvbWFpbhgEIAEoCBIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBiABKAkSQgoSYXV0aG9yaXphdGlvbl9tb2RlGAcgASgOMiYub3BlbnNoZWxsLnYxLlNlcnZpY2VBdXRob3JpemF0aW9uTW9kZSJ2ChFHZXRTZXJ2aWNlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSDwoHc2FuZGJveBgBIAEoCSKRAQoTTGlzdFNlcnZpY2VzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhEKCXBhZ2Vfc2l6ZRgCIAEoBRISCgpwYWdlX3Rva2VuGAMgASgJEg8KB3NhbmRib3gYASABKAkiaAoUTGlzdFNlcnZpY2VzUmVzcG9uc2USNwoIc2VydmljZXMYASADKAsyJS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50UmVzcG9uc2USFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIqQBChREZWxldGVTZXJ2aWNlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSDwoHc2FuZGJveBgBIAEoCRIVCg1hbGxvd19taXNzaW5nGAQgASgIEhIKCnJlcXVlc3RfaWQYBSABKAkiVgoVRGVsZXRlU2VydmljZVJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIuMBCg9TZXJ2aWNlRW5kcG9pbnQSNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESEgoKc2FuZGJveF9pZBgCIAEoCRIPCgdzYW5kYm94GAMgASgJEgwKBG5hbWUYBCABKAkSEwoLdGFyZ2V0X3BvcnQYBSABKA0SDgoGZG9tYWluGAYgASgIEkIKEmF1dGhvcml6YXRpb25fbW9kZRgHIAEoDjImLm9wZW5zaGVsbC52MS5TZXJ2aWNlQXV0aG9yaXphdGlvbk1vZGUiVwoXU2VydmljZUVuZHBvaW50UmVzcG9uc2USLwoIZW5kcG9pbnQYASABKAsyHS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50EgsKA3VybBgCIAEoCSJFChdSZXZva2VTc2hTZXNzaW9uUmVxdWVzdBITCgV0b2tlbhgBIAEoCUIEiLUYARIVCg1hbGxvd19taXNzaW5nGAIgASgIIlkKGFJldm9rZVNzaFNlc3Npb25SZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHcmV2b2tlZCK4AwoSRXhlY1NhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgMIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRIPCgdjb21tYW5kGAIgAygJEg8KB3dvcmtkaXIYAyABKAkSRgoLZW52aXJvbm1lbnQYBCADKAsyMS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0LkVudmlyb25tZW50RW50cnkSNAoRZXhlY3V0aW9uX3RpbWVvdXQYaSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SDQoFc3RkaW4YBiABKAwSCwoDdHR5GAcgASgIEgwKBGNvbHMYCCABKA0SDAoEcm93cxgJIAEoDRIWCg5ub19sb2dpbl9zaGVsbBgKIAEoCBISCgpyZXF1ZXN0X2lkGAsgASgJGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAUQBlIPdGltZW91dF9zZWNvbmRzIiEKEUV4ZWNTYW5kYm94U3Rkb3V0EgwKBGRhdGEYASABKAwiIQoRRXhlY1NhbmRib3hTdGRlcnISDAoEZGF0YRgBIAEoDCIkCg9FeGVjU2FuZGJveEV4aXQSEQoJZXhpdF9jb2RlGAEgASgFIrIBChBFeGVjU2FuZGJveEV2ZW50EjEKBnN0ZG91dBgBIAEoCzIfLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFN0ZG91dEgAEjEKBnN0ZGVychgCIAEoCzIfLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFN0ZGVyckgAEi0KBGV4aXQYAyABKAsyHS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hFeGl0SABCCQoHcGF5bG9hZCLPAQoOVGNwRm9yd2FyZEluaXQSDwoHc2FuZGJveBgBIAEoCRIRCgl3b3Jrc3BhY2UYAyABKAkSEgoKc2VydmljZV9pZBgEIAEoCRIrCgNzc2gYBSABKAsyHC5vcGVuc2hlbGwudjEuU3NoUmVsYXlUYXJnZXRIABIrCgN0Y3AYBiABKAsyHC5vcGVuc2hlbGwudjEuVGNwUmVsYXlUYXJnZXRIABIhChNhdXRob3JpemF0aW9uX3Rva2VuGAcgASgJQgSItRgBQggKBnRhcmdldCJaCg9UY3BGb3J3YXJkRnJhbWUSLAoEaW5pdBgBIAEoCzIcLm9wZW5zaGVsbC52MS5UY3BGb3J3YXJkSW5pdEgAEg4KBGRhdGEYAiABKAxIAEIJCgdwYXlsb2FkIpoBChBFeGVjU2FuZGJveElucHV0EjEKBXN0YXJ0GAEgASgLMiAub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94UmVxdWVzdEgAEg8KBXN0ZGluGAIgASgMSAASNwoGcmVzaXplGAMgASgLMiUub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94V2luZG93UmVzaXplSABCCQoHcGF5bG9hZCI1ChdFeGVjU2FuZGJveFdpbmRvd1Jlc2l6ZRIMCgRjb2xzGAEgASgNEgwKBHJvd3MYAiABKA0ixgEKClNzaFNlc3Npb24SNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESEgoKc2FuZGJveF9pZBgCIAEoCRITCgV0b2tlbhgDIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYaCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3Jldm9rZWQYBSABKAhKBAgEEAVSDWV4cGlyZXNfYXRfbXMigAMKE1dhdGNoU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAsgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhUKDWZvbGxvd19zdGF0dXMYAiABKAgSEwoLZm9sbG93X2xvZ3MYAyABKAgSFQoNZm9sbG93X2V2ZW50cxgEIAEoCBIWCg5sb2dfdGFpbF9saW5lcxgFIAEoDRISCgpldmVudF90YWlsGAYgASgNEhgKEHN0b3Bfb25fdGVybWluYWwYByABKAgSLgoKc2luY2VfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLbG9nX3NvdXJjZXMYCSADKAkSFQoNbG9nX21pbl9sZXZlbBgKIAEoCRIbChNyZXN1bWVfYWZ0ZXJfY3Vyc29yGAwgASgJSgQICBAJUgxsb2dfc2luY2VfbXMiqwIKElNhbmRib3hTdHJlYW1FdmVudBIoCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3hIABIrCgNsb2cYAiABKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmVIABIsCgVldmVudBgDIAEoCzIbLm9wZW5zaGVsbC52MS5QbGF0Zm9ybUV2ZW50SAASNQoHd2FybmluZxgEIAEoCzIiLm9wZW5zaGVsbC52MS5TYW5kYm94U3RyZWFtV2FybmluZ0gAEj4KE2RyYWZ0X3BvbGljeV91cGRhdGUYBSABKAsyHy5vcGVuc2hlbGwudjEuRHJhZnRQb2xpY3lVcGRhdGVIABIOCgZjdXJzb3IYBiABKAlCCQoHcGF5bG9hZCKRAgoOU2FuZGJveExvZ0xpbmUSEgoKc2FuZGJveF9pZBgBIAEoCRIuCgpldmVudF90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVsZXZlbBgDIAEoCRIOCgZ0YXJnZXQYBCABKAkSDwoHbWVzc2FnZRgFIAEoCRIOCgZzb3VyY2UYBiABKAkSOAoGZmllbGRzGAcgAygLMigub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lLkZpZWxkc0VudHJ5Gi0KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgCEANSDHRpbWVzdGFtcF9tcyInChRTYW5kYm94U3RyZWFtV2FybmluZxIPCgdtZXNzYWdlGAEgASgJIqMBChVDcmVhdGVQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIyCghwcm92aWRlchgBIAEoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISEgoKcmVxdWVzdF9pZBgDIAEoCSJmChJHZXRQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJIskBCh1HZXRQcm92aWRlckNyZWRlbnRpYWxzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYASABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSFwoPY3JlZGVudGlhbF9rZXlzGAMgAygJEj0KGm1pbmltdW1fcmVtYWluaW5nX2xpZmV0aW1lGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uImMKF1Byb3ZpZGVyQ3JlZGVudGlhbFZhbHVlEhMKBXZhbHVlGAEgASgJQgSItRgBEjMKD2V4cGlyYXRpb25fdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizwEKHkdldFByb3ZpZGVyQ3JlZGVudGlhbHNSZXNwb25zZRJSCgtjcmVkZW50aWFscxgBIAMoCzI9Lm9wZW5zaGVsbC52MS5HZXRQcm92aWRlckNyZWRlbnRpYWxzUmVzcG9uc2UuQ3JlZGVudGlhbHNFbnRyeRpZChBDcmVkZW50aWFsc0VudHJ5EgsKA2tleRgBIAEoCRI0CgV2YWx1ZRgCIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxWYWx1ZToCOAEimQEKFExpc3RQcm92aWRlcnNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYBCABKAkitAMKFVVwZGF0ZVByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchJnChtjcmVkZW50aWFsX2V4cGlyYXRpb25fdGltZXMYZiADKAsyQi5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJSZXF1ZXN0LkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRIoCiBjbGVhcl9jcmVkZW50aWFsX2V4cGlyYXRpb25fa2V5cxhnIAMoCRISCgpyZXF1ZXN0X2lkGAQgASgJGlwKHkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRILCgNrZXkYASABKAkSKQoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wOgI4AUoECAIQA1IYY3JlZGVudGlhbF9leHBpcmVzX2F0X21zIpQBChVEZWxldGVQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYBCABKAgSEgoKcmVxdWVzdF9pZBgFIAEoCSKbAQoQUHJvdmlkZXJSZXNwb25zZRIyCghwcm92aWRlchgBIAEoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISPgoPdGFyZ2V0X3JlY2VpcHRzGAIgAygLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyTXV0YXRpb25SZWNlaXB0EhMKC211dGF0aW9uX2lkGAMgASgJImUKFUxpc3RQcm92aWRlcnNSZXNwb25zZRIzCglwcm92aWRlcnMYASADKAsyIC5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLlByb3ZpZGVyEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKIAQobTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkiawoZR2V0UHJvdmlkZXJQcm9maWxlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgoKAmlkGAEgASgJIlsKGVByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SLgoHcHJvZmlsZRgBIAEoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUSDgoGc291cmNlGAIgASgJInEKGVByb3ZpZGVyUHJvZmlsZURpYWdub3N0aWMSDgoGc291cmNlGAEgASgJEhIKCnByb2ZpbGVfaWQYAiABKAkSDQoFZmllbGQYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRIQCghzZXZlcml0eRgFIAEoCSJ6CixQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50QXVkaWVuY2VPdmVycmlkZRIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0SDAoEcGF0aBgDIAEoCRIQCghhdWRpZW5jZRgEIAEoCRIOCgZzY29wZXMYBSADKAkiagooUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFN1YmplY3RUb2tlbhIOCgZzb3VyY2UYASABKAkSEgoKY3JlZGVudGlhbBgCIAEoCRIaChJzdWJqZWN0X3Rva2VuX3R5cGUYAyABKAki4gMKHFByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnQSFgoOdG9rZW5fZW5kcG9pbnQYASABKAkSEAoIYXVkaWVuY2UYAiABKAkSGQoRand0X3N2aWRfYXVkaWVuY2UYBiABKAkSDgoGc2NvcGVzGAMgAygJEiwKCWNhY2hlX3R0bBhoIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhJWChJhdWRpZW5jZV9vdmVycmlkZXMYBSADKAsyOi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudEF1ZGllbmNlT3ZlcnJpZGUSHQoVY2xpZW50X2Fzc2VydGlvbl90eXBlGAcgASgJEkIKCmdyYW50X3R5cGUYCCABKA4yLi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFR5cGUSTQoNc3ViamVjdF90b2tlbhgJIAEoCzI2Lm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50U3ViamVjdFRva2VuEhwKFHJlcXVlc3RlZF90b2tlbl90eXBlGAogASgJSgQIBBAFUhFjYWNoZV90dGxfc2Vjb25kcyLqAgoZUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCGVudl92YXJzGAMgAygJEhAKCHJlcXVpcmVkGAQgASgIEhIKCmF1dGhfc3R5bGUYBSABKAkSEwoLaGVhZGVyX25hbWUYBiABKAkSEwoLcXVlcnlfcGFyYW0YByABKAkSOAoHcmVmcmVzaBgIIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoEhUKDXBhdGhfdGVtcGxhdGUYCSABKAkSPwoLdG9rZW5fZ3JhbnQYCiABKAsyKi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudBIaChJ0b2tlbl9ncmFudF9vd25lcnMYCyADKAkSGgoSc3RhYmxlX3BsYWNlaG9sZGVyGAwgASgIImgKIVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hNYXRlcmlhbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCHJlcXVpcmVkGAMgASgIEg4KBnNlY3JldBgEIAEoCCJFCh9Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoT3V0cHV0Eg4KBm91dHB1dBgBIAEoCRISCgpjcmVkZW50aWFsGAIgASgJIq0DChlQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoEkEKCHN0cmF0ZWd5GAEgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRIRCgl0b2tlbl91cmwYAiABKAkSDgoGc2NvcGVzGAMgAygJEjEKDnJlZnJlc2hfYmVmb3JlGGggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEi8KDG1heF9saWZldGltZRhpIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhJBCghtYXRlcmlhbBgGIAMoCzIvLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoTWF0ZXJpYWwSSQoSYWRkaXRpb25hbF9vdXRwdXRzGAcgAygLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hPdXRwdXRKBAgEEAVKBAgFEAZSFnJlZnJlc2hfYmVmb3JlX3NlY29uZHNSFG1heF9saWZldGltZV9zZWNvbmRzIoYFCh9Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzEhAKCHByb3ZpZGVyGAEgASgJEhMKC3Byb3ZpZGVyX2lkGAIgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAMgASgJEkEKCHN0cmF0ZWd5GAQgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRIOCgZzdGF0dXMYBSABKAkSMwoPZXhwaXJhdGlvbl90aW1lGGogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1ChFuZXh0X3JlZnJlc2hfdGltZRhrIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoRbGFzdF9yZWZyZXNoX3RpbWUYbCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxhc3RfZXJyb3IYCSABKAkSTgoPcmVjb3ZlcnlfYWN0aW9uGAogASgOMjUub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hSZWNvdmVyeUFjdGlvbhIUCgxmYWlsdXJlX2NvZGUYCyABKAkSHgoWcHJvdmlkZXJfZXJyb3Jfc3VidHlwZRgMIAEoCRIzCg9sYXN0X2Vycm9yX3RpbWUYcSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIBhAHSgQIBxAISgQICBAJSgQIDRAOUg1leHBpcmVzX2F0X21zUhJuZXh0X3JlZnJlc2hfYXRfbXNSEmxhc3RfcmVmcmVzaF9hdF9tc1IQbGFzdF9lcnJvcl9hdF9tcyIvChhQcm92aWRlclByb2ZpbGVEaXNjb3ZlcnkSEwoLY3JlZGVudGlhbHMYASADKAkijwEKH0dldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghwcm92aWRlchgBIAEoCRIWCg5jcmVkZW50aWFsX2tleRgCIAEoCSJmCiBHZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXNwb25zZRJCCgtjcmVkZW50aWFscxgBIAMoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzItQDCh9Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgHIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSQQoIc3RyYXRlZ3kYAyABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5ElMKCG1hdGVyaWFsGAQgAygLMjsub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QuTWF0ZXJpYWxFbnRyeUIEiLUYARIcChRzZWNyZXRfbWF0ZXJpYWxfa2V5cxgFIAMoCRIzCg9leHBpcmF0aW9uX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnJlcXVlc3RfaWQYCCABKAkaLwoNTWF0ZXJpYWxFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIBhAHUg1leHBpcmVzX2F0X21zImEKIENvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlEj0KBnN0YXR1cxgBIAEoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzIqMBCh9Sb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSEgoKcmVxdWVzdF9pZBgEIAEoCSJhCiBSb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXNwb25zZRI9CgZzdGF0dXMYASABKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXR1cyK3AQocRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJEhUKDWFsbG93X21pc3NpbmcYBSABKAgSEgoKcmVxdWVzdF9pZBgGIAEoCSJeCh1EZWxldGVQcm92aWRlclJlZnJlc2hSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCLqBAoPUHJvdmlkZXJQcm9maWxlEgoKAmlkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRI3CghjYXRlZ29yeRgEIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDYXRlZ29yeRI8CgtjcmVkZW50aWFscxgFIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDcmVkZW50aWFsEjgKCWVuZHBvaW50cxgGIAMoCzIlLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtFbmRwb2ludBI1CghiaW5hcmllcxgHIAMoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtCaW5hcnkSGQoRaW5mZXJlbmNlX2NhcGFibGUYCCABKAgSOQoJZGlzY292ZXJ5GAkgASgLMiYub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZURpc2NvdmVyeRIYChByZXNvdXJjZV92ZXJzaW9uGAogASgEEkMKC2Fubm90YXRpb25zGAsgAygLMi4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZS5Bbm5vdGF0aW9uc0VudHJ5Eg4KBnNvdXJjZRgMIAEoCRINCgVzY29wZRgNIAEoCRIwCgVmaWxlcxgOIAMoCzIhLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVGaWxlGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJFChNQcm92aWRlclByb2ZpbGVGaWxlEgwKBHBhdGgYASABKAkSDwoHY29udGVudBgCIAEoCRIPCgdlbnZfdmFyGAMgASgJIkkKF1Byb3ZpZGVyUHJvZmlsZVJlc3BvbnNlEi4KB3Byb2ZpbGUYASABKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlImgKHExpc3RQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USLwoIcHJvZmlsZXMYASADKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKyAQodSW1wb3J0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtEhIKCnJlcXVlc3RfaWQYAyABKAkioQEKHkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRI8CgtkaWFnbm9zdGljcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEi8KCHByb2ZpbGVzGAIgAygLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIQCghpbXBvcnRlZBgDIAEoCCLgAQodVXBkYXRlUHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI4Cgdwcm9maWxlGAEgASgLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgCIAEoBBIKCgJpZBgDIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIp8BCh5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxIuCgdwcm9maWxlGAIgASgLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIPCgd1cGRhdGVkGAMgASgIIpwBChtMaW50UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtIpABChxMaW50UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlEjwKC2RpYWdub3N0aWNzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZURpYWdub3N0aWMSDQoFdmFsaWQYAiABKAgSIwobc3VwcG9ydHNfc3RhYmxlX3BsYWNlaG9sZGVyGAMgASgIIlcKFkRlbGV0ZVByb3ZpZGVyUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQimQEKHERlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIKCgJpZBgBIAEoCRIVCg1hbGxvd19taXNzaW5nGAMgASgIEhIKCnJlcXVlc3RfaWQYBCABKAkiXgodRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQinQEKJEdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEisKI3N1cHBvcnRzX3N0YXRpY19jcmVkZW50aWFsX2JpbmRpbmdzGAIgASgIEjQKLHN1cHBvcnRzX3N0YWJsZV9wbGFjZWhvbGRlcl9lbnZpcm9ubWVudF9rZXlzGAMgASgIIksKH1N0YXRpY0NyZWRlbnRpYWxFbmRwb2ludEJpbmRpbmcSDAoEaG9zdBgBIAEoCRIMCgRwb3J0GAIgASgNEgwKBHBhdGgYAyABKAkinAEKF1N0YXRpY0NyZWRlbnRpYWxCaW5kaW5nEkAKCWVuZHBvaW50cxgBIAMoCzItLm9wZW5zaGVsbC52MS5TdGF0aWNDcmVkZW50aWFsRW5kcG9pbnRCaW5kaW5nEhsKE2NyZWRlbnRpYWxfaWRlbnRpdHkYAiABKAkSIgoad29ya2xvYWRfY3JlZGVudGlhbF9oYW5kbGUYAyABKAki/QkKJUdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2USXwoLZW52aXJvbm1lbnQYASADKAsyRC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5FbnZpcm9ubWVudEVudHJ5QgSItRgBEh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgCIAEoBBJ3ChtjcmVkZW50aWFsX2V4cGlyYXRpb25fdGltZXMYZyADKAsyUi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5DcmVkZW50aWFsRXhwaXJhdGlvblRpbWVzRW50cnkSaAoTZHluYW1pY19jcmVkZW50aWFscxgEIAMoCzJLLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkR5bmFtaWNDcmVkZW50aWFsc0VudHJ5EnUKGnN0YXRpY19jcmVkZW50aWFsX2JpbmRpbmdzGAUgAygLMlEub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UuU3RhdGljQ3JlZGVudGlhbEJpbmRpbmdzRW50cnkSIwobbm9uX3NlY3JldF9lbnZpcm9ubWVudF9rZXlzGAYgAygJEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYByABKAkSEwoLcG9saWN5X2hhc2gYCCABKAkSPwoQcmVhZGluZXNzX3JlYXNvbhgJIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbhJNCgVmaWxlcxgKIAMoCzI+Lm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkZpbGVzRW50cnkSKwojc3RhYmxlX3BsYWNlaG9sZGVyX2Vudmlyb25tZW50X2tleXMYCyADKAkSNAosc3VwcG9ydHNfc3RhYmxlX3BsYWNlaG9sZGVyX2Vudmlyb25tZW50X2tleXMYDCABKAgaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGlwKHkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRILCgNrZXkYASABKAkSKQoFdmFsdWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wOgI4ARpiChdEeW5hbWljQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbDoCOAEaZgodU3RhdGljQ3JlZGVudGlhbEJpbmRpbmdzRW50cnkSCwoDa2V5GAEgASgJEjQKBXZhbHVlGAIgASgLMiUub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxCaW5kaW5nOgI4ARosCgpGaWxlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgDEARSGGNyZWRlbnRpYWxfZXhwaXJlc19hdF9tcyKmAgoYUHJvdmlkZXJFbnZpcm9ubWVudFZhbHVlEgwKBG5hbWUYASABKAkSEwoFdmFsdWUYAiABKAlCBIi1GAESTAoOY2xhc3NpZmljYXRpb24YBCABKA4yNC5vcGVuc2hlbGwudjEuUHJvdmlkZXJFbnZpcm9ubWVudFZhbHVlQ2xhc3NpZmljYXRpb24SSAoZc3RhdGljX2NyZWRlbnRpYWxfYmluZGluZxgFIAEoCzIlLm9wZW5zaGVsbC52MS5TdGF0aWNDcmVkZW50aWFsQmluZGluZxIzCg9leHBpcmF0aW9uX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhoKEnN0YWJsZV9wbGFjZWhvbGRlchgGIAEoCCKkBAobUHJvdmlkZXJFbnZpcm9ubWVudFNuYXBzaG90Eh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgBIAEoBBI2CgZ2YWx1ZXMYAiADKAsyJi5vcGVuc2hlbGwudjEuUHJvdmlkZXJFbnZpcm9ubWVudFZhbHVlEl4KE2R5bmFtaWNfY3JlZGVudGlhbHMYAyADKAsyQS5vcGVuc2hlbGwudjEuUHJvdmlkZXJFbnZpcm9ubWVudFNuYXBzaG90LkR5bmFtaWNDcmVkZW50aWFsc0VudHJ5EiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYBCABKAkSEwoLcG9saWN5X2hhc2gYBSABKAkSPwoQcmVhZGluZXNzX3JlYXNvbhgGIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbhJDCgVmaWxlcxgHIAMoCzI0Lm9wZW5zaGVsbC52MS5Qcm92aWRlckVudmlyb25tZW50U25hcHNob3QuRmlsZXNFbnRyeRpiChdEeW5hbWljQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbDoCOAEaLAoKRmlsZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIoYBCiNFeGNoYW5nZVByb3ZpZGVyU3ViamVjdFRva2VuUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAMgASgJEiEKE3N1cGVydmlzb3Jfand0X3N2aWQYBCABKAlCBIi1GAEimgEKJEV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXNwb25zZRIaCgxhY2Nlc3NfdG9rZW4YASABKAlCBIi1GAESMAoNZXhwaXJlc19hZnRlchhmIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhISCgp0b2tlbl90eXBlGAMgASgJSgQIAhADUgpleHBpcmVzX2luIokEChNVcGRhdGVDb25maWdSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgKIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISMwoGcG9saWN5GAIgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRITCgtzZXR0aW5nX2tleRgDIAEoCRI5Cg1zZXR0aW5nX3ZhbHVlGAQgASgLMiIub3BlbnNoZWxsLnNhbmRib3gudjEuU2V0dGluZ1ZhbHVlEhYKDmRlbGV0ZV9zZXR0aW5nGAUgASgIEg4KBmdsb2JhbBgGIAEoCBI8ChBtZXJnZV9vcGVyYXRpb25zGAcgAygLMiIub3BlbnNoZWxsLnYxLlBvbGljeU1lcmdlT3BlcmF0aW9uEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YCCABKAQSRwoLYW5ub3RhdGlvbnMYCSADKAsyMi5vcGVuc2hlbGwudjEuVXBkYXRlQ29uZmlnUmVxdWVzdC5Bbm5vdGF0aW9uc0VudHJ5Eg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgLIAEoCRoyChBBbm5vdGF0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi9wIKFFBvbGljeU1lcmdlT3BlcmF0aW9uEjAKCGFkZF9ydWxlGAEgASgLMhwub3BlbnNoZWxsLnYxLkFkZE5ldHdvcmtSdWxlSAASPgoPcmVtb3ZlX2VuZHBvaW50GAIgASgLMiMub3BlbnNoZWxsLnYxLlJlbW92ZU5ldHdvcmtFbmRwb2ludEgAEjYKC3JlbW92ZV9ydWxlGAMgASgLMh8ub3BlbnNoZWxsLnYxLlJlbW92ZU5ldHdvcmtSdWxlSAASNAoOYWRkX2RlbnlfcnVsZXMYBCABKAsyGi5vcGVuc2hlbGwudjEuQWRkRGVueVJ1bGVzSAASNgoPYWRkX2FsbG93X3J1bGVzGAUgASgLMhsub3BlbnNoZWxsLnYxLkFkZEFsbG93UnVsZXNIABI6Cg1yZW1vdmVfYmluYXJ5GAYgASgLMiEub3BlbnNoZWxsLnYxLlJlbW92ZU5ldHdvcmtCaW5hcnlIAEILCglvcGVyYXRpb24iWgoOQWRkTmV0d29ya1J1bGUSEQoJcnVsZV9uYW1lGAEgASgJEjUKBHJ1bGUYAiABKAsyJy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrUG9saWN5UnVsZSJGChVSZW1vdmVOZXR3b3JrRW5kcG9pbnQSEQoJcnVsZV9uYW1lGAEgASgJEgwKBGhvc3QYAiABKAkSDAoEcG9ydBgDIAEoDSImChFSZW1vdmVOZXR3b3JrUnVsZRIRCglydWxlX25hbWUYASABKAkipQEKDEw3UnVsZVRhcmdldBIRCglydWxlX25hbWUYASABKAkSDAoEaG9zdBgCIAEoCRINCgVwb3J0cxgDIAMoDRIRCgRwYXRoGAQgASgJSACIAQESNQoIYmluYXJpZXMYBSADKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrQmluYXJ5EhIKCmFueV9iaW5hcnkYBiABKAhCBwoFX3BhdGgiiAEKDEFkZERlbnlSdWxlcxI0CgpkZW55X3J1bGVzGAMgAygLMiAub3BlbnNoZWxsLnNhbmRib3gudjEuTDdEZW55UnVsZRIqCgZ0YXJnZXQYBCABKAsyGi5vcGVuc2hlbGwudjEuTDdSdWxlVGFyZ2V0SgQIARACSgQIAhADUgRob3N0UgRwb3J0IoABCg1BZGRBbGxvd1J1bGVzEisKBXJ1bGVzGAMgAygLMhwub3BlbnNoZWxsLnNhbmRib3gudjEuTDdSdWxlEioKBnRhcmdldBgEIAEoCzIaLm9wZW5zaGVsbC52MS5MN1J1bGVUYXJnZXRKBAgBEAJKBAgCEANSBGhvc3RSBHBvcnQiPQoTUmVtb3ZlTmV0d29ya0JpbmFyeRIRCglydWxlX25hbWUYASABKAkSEwoLYmluYXJ5X3BhdGgYAiABKAki5gEKFFVwZGF0ZUNvbmZpZ1Jlc3BvbnNlEg8KB3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkSGQoRc2V0dGluZ3NfcmV2aXNpb24YAyABKAQSDwoHZGVsZXRlZBgEIAEoCBJICgthbm5vdGF0aW9ucxgFIAMoCzIzLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXNwb25zZS5Bbm5vdGF0aW9uc0VudHJ5GjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKVAQodR2V0U2FuZGJveFBvbGljeVN0YXR1c1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgd2ZXJzaW9uGAIgASgNEg4KBmdsb2JhbBgDIAEoCBIPCgdzYW5kYm94GAEgASgJIm8KHkdldFNhbmRib3hQb2xpY3lTdGF0dXNSZXNwb25zZRI1CghyZXZpc2lvbhgBIAEoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94UG9saWN5UmV2aXNpb24SFgoOYWN0aXZlX3ZlcnNpb24YAiABKA0iqAEKGkxpc3RTYW5kYm94UG9saWNpZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgFIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAIgASgFEhIKCnBhZ2VfdG9rZW4YAyABKAkSDgoGZ2xvYmFsGAQgASgIEg8KB3NhbmRib3gYASABKAkibgobTGlzdFNhbmRib3hQb2xpY2llc1Jlc3BvbnNlEjYKCXJldmlzaW9ucxgBIAMoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94UG9saWN5UmV2aXNpb24SFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIoABChlSZXBvcnRQb2xpY3lTdGF0dXNSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoDRIqCgZzdGF0dXMYAyABKA4yGi5vcGVuc2hlbGwudjEuUG9saWN5U3RhdHVzEhIKCmxvYWRfZXJyb3IYBCABKAkiHAoaUmVwb3J0UG9saWN5U3RhdHVzUmVzcG9uc2Ui4gEKHVNhbmRib3hDb25maWd1cmF0aW9uQWRtaXNzaW9uEhMKC2luc3RhbmNlX2lkGAEgASgJEjgKBXN0YXRlGAIgASgOMikub3BlbnNoZWxsLnYxLkNvbmZpZ3VyYXRpb25BZG1pc3Npb25TdGF0ZRIWCg5wb2xpY3lfdmVyc2lvbhgDIAEoDRITCgtwb2xpY3lfaGFzaBgEIAEoCRIXCg9jb25maWdfcmV2aXNpb24YBSABKAQSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAYgASgEEg0KBWVycm9yGAcgASgJIpUBCiFSZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvblJlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRI+CglhZG1pc3Npb24YAiABKAsyKy5vcGVuc2hlbGwudjEuU2FuZGJveENvbmZpZ3VyYXRpb25BZG1pc3Npb24SHAoUZXhwZWN0ZWRfaW5zdGFuY2VfaWQYAyABKAkiJAoiUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb25SZXNwb25zZSK6AwoVU2FuZGJveFBvbGljeVJldmlzaW9uEg8KB3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkSKgoGc3RhdHVzGAMgASgOMhoub3BlbnNoZWxsLnYxLlBvbGljeVN0YXR1cxISCgpsb2FkX2Vycm9yGAQgASgJEjAKDGNyZWF0ZWRfdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLbG9hZGVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKBnBvbGljeRgHIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3kSRwoKcHJvdmVuYW5jZRgIIAMoCzIzLm9wZW5zaGVsbC52MS5TYW5kYm94UG9saWN5UmV2aXNpb24uUHJvdmVuYW5jZUVudHJ5GjEKD1Byb3ZlbmFuY2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIBRAGSgQIBhAHUg1jcmVhdGVkX2F0X21zUgxsb2FkZWRfYXRfbXMi3wEKFUdldFNhbmRib3hMb2dzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSDQoFbGluZXMYAiABKA0SLgoKc2luY2VfdGltZRhnIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHc291cmNlcxgEIAMoCRIRCgltaW5fbGV2ZWwYBSABKAlKBAgDEARSCHNpbmNlX21zIlgKFlB1c2hTYW5kYm94TG9nc1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRIqCgRsb2dzGAIgAygLMhwub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lIhkKF1B1c2hTYW5kYm94TG9nc1Jlc3BvbnNlIloKFkdldFNhbmRib3hMb2dzUmVzcG9uc2USKgoEbG9ncxgBIAMoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94TG9nTGluZRIUCgxidWZmZXJfdG90YWwYAiABKA0itQIKEVN1cGVydmlzb3JNZXNzYWdlEi4KBWhlbGxvGAEgASgLMh0ub3BlbnNoZWxsLnYxLlN1cGVydmlzb3JIZWxsb0gAEjYKCWhlYXJ0YmVhdBgCIAEoCzIhLm9wZW5zaGVsbC52MS5TdXBlcnZpc29ySGVhcnRiZWF0SAASOgoRcmVsYXlfb3Blbl9yZXN1bHQYAyABKAsyHS5vcGVuc2hlbGwudjEuUmVsYXlPcGVuUmVzdWx0SAASLwoLcmVsYXlfY2xvc2UYBCABKAsyGC5vcGVuc2hlbGwudjEuUmVsYXlDbG9zZUgAEkAKFGNvbmZpZ191cGRhdGVfcmVzdWx0GAUgASgLMiAub3BlbnNoZWxsLnYxLkNvbmZpZ1VwZGF0ZVJlc3VsdEgAQgkKB3BheWxvYWQilgMKDkdhdGV3YXlNZXNzYWdlEjkKEHNlc3Npb25fYWNjZXB0ZWQYASABKAsyHS5vcGVuc2hlbGwudjEuU2Vzc2lvbkFjY2VwdGVkSAASOQoQc2Vzc2lvbl9yZWplY3RlZBgCIAEoCzIdLm9wZW5zaGVsbC52MS5TZXNzaW9uUmVqZWN0ZWRIABIzCgloZWFydGJlYXQYAyABKAsyHi5vcGVuc2hlbGwudjEuR2F0ZXdheUhlYXJ0YmVhdEgAEi0KCnJlbGF5X29wZW4YBCABKAsyFy5vcGVuc2hlbGwudjEuUmVsYXlPcGVuSAASLwoLcmVsYXlfY2xvc2UYBSABKAsyGC5vcGVuc2hlbGwudjEuUmVsYXlDbG9zZUgAEjkKEHNlc3Npb25fcmVkaXJlY3QYBiABKAsyHS5vcGVuc2hlbGwudjEuU2Vzc2lvblJlZGlyZWN0SAASMwoNY29uZmlnX3VwZGF0ZRgHIAEoCzIaLm9wZW5zaGVsbC52MS5Db25maWdVcGRhdGVIAEIJCgdwYXlsb2FkIs4BCg9TdXBlcnZpc29ySGVsbG8SEgoKc2FuZGJveF9pZBgBIAEoCRITCgtpbnN0YW5jZV9pZBgCIAEoCRIYChBjb25uZWN0aW9uX2Vwb2NoGAMgASgEEiMKG3N1cHBvcnRzX3Byb3ZpZGVyX3JlYWRpbmVzcxgEIAEoCBISCgpyZWRpcmVjdGVkGAUgASgIEiEKGXN1cHBvcnRzX3Nlc3Npb25fcmVkaXJlY3QYBiABKAgSHAoUc3VwcG9ydHNfY29uZmlnX3B1c2gYByABKAgixwEKD1Nlc3Npb25BY2NlcHRlZBISCgpzZXNzaW9uX2lkGAEgASgJEi0KCWJvb3RzdHJhcBgDIAEoCzIaLm9wZW5zaGVsbC52MS5Db25maWdVcGRhdGUSGwoTY29uZmlnX3B1c2hfZW5hYmxlZBgEIAEoCBI1ChJoZWFydGJlYXRfaW50ZXJ2YWwYZiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25KBAgCEANSF2hlYXJ0YmVhdF9pbnRlcnZhbF9zZWNzIq8BCgxDb25maWdVcGRhdGUSEQoJdXBkYXRlX2lkGAEgASgJEkMKDnNhbmRib3hfY29uZmlnGAIgASgLMisub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveENvbmZpZ1NuYXBzaG90EkcKFHByb3ZpZGVyX2Vudmlyb25tZW50GAMgASgLMikub3BlbnNoZWxsLnYxLlByb3ZpZGVyRW52aXJvbm1lbnRTbmFwc2hvdCJGChJDb25maWdBcHBseUZhaWx1cmUSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhEKCXJldHJ5YWJsZRgDIAEoCCKCAgoSQ29uZmlnVXBkYXRlUmVzdWx0EhEKCXVwZGF0ZV9pZBgBIAEoCRIxCgdvdXRjb21lGAIgASgOMiAub3BlbnNoZWxsLnYxLkNvbmZpZ0FwcGx5T3V0Y29tZRIxCgdmYWlsdXJlGAMgASgLMiAub3BlbnNoZWxsLnYxLkNvbmZpZ0FwcGx5RmFpbHVyZRI+CglhZG1pc3Npb24YBCABKAsyKy5vcGVuc2hlbGwudjEuU2FuZGJveENvbmZpZ3VyYXRpb25BZG1pc3Npb24SMwoLcG9saWN5X2xvYWQYBSABKAsyHi5vcGVuc2hlbGwudjEuUG9saWN5TG9hZFJlc3VsdCJCChBQb2xpY3lMb2FkUmVzdWx0Eg8KB3ZlcnNpb24YASABKA0SDgoGbG9hZGVkGAIgASgIEg0KBWVycm9yGAMgASgJIiEKD1Nlc3Npb25SZWplY3RlZBIOCgZyZWFzb24YASABKAkiQgoPU2Vzc2lvblJlZGlyZWN0EhUKDXBlZXJfZW5kcG9pbnQYASABKAkSGAoQb3duZXJfcmVwbGljYV9pZBgCIAEoCSIVChNTdXBlcnZpc29ySGVhcnRiZWF0IhIKEEdhdGV3YXlIZWFydGJlYXQiWgocUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEhMKC2luc3RhbmNlX2lkGAIgASgJEhEKCWV4aXRfY29kZRgDIAEoBSIfCh1SZXBvcnRNYWluUHJvY2Vzc0V4aXRSZXNwb25zZSJJCh5GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRITCgtpbnN0YW5jZV9pZBgCIAEoCSIhCh9GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIpcBCglSZWxheU9wZW4SEgoKY2hhbm5lbF9pZBgBIAEoCRIrCgNzc2gYAiABKAsyHC5vcGVuc2hlbGwudjEuU3NoUmVsYXlUYXJnZXRIABIrCgN0Y3AYAyABKAsyHC5vcGVuc2hlbGwudjEuVGNwUmVsYXlUYXJnZXRIABISCgpzZXJ2aWNlX2lkGAUgASgJQggKBnRhcmdldCIQCg5Tc2hSZWxheVRhcmdldCIsCg5UY3BSZWxheVRhcmdldBIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0iHwoJUmVsYXlJbml0EhIKCmNoYW5uZWxfaWQYASABKAkiUAoKUmVsYXlGcmFtZRInCgRpbml0GAEgASgLMhcub3BlbnNoZWxsLnYxLlJlbGF5SW5pdEgAEg4KBGRhdGEYAiABKAxIAEIJCgdwYXlsb2FkIm4KDVBlZXJSZWxheUluaXQSEgoKc2FuZGJveF9pZBgBIAEoCRIrCgpyZWxheV9vcGVuGAIgASgLMhcub3BlbnNoZWxsLnYxLlJlbGF5T3BlbhIcChRyZXF1ZXN0ZXJfcmVwbGljYV9pZBgDIAEoCSJYCg5QZWVyUmVsYXlGcmFtZRIrCgRpbml0GAEgASgLMhsub3BlbnNoZWxsLnYxLlBlZXJSZWxheUluaXRIABIOCgRkYXRhGAIgASgMSABCCQoHcGF5bG9hZCJBChdQZWVyQ29uZmlnU2FuZGJveFRhcmdldBISCgpzYW5kYm94X2lkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkiOwoYUGVlckNvbmZpZ1Byb3ZpZGVyVGFyZ2V0EhEKCXdvcmtzcGFjZRgBIAEoCRIMCgRuYW1lGAIgASgJIswBCh1QZWVyTm90aWZ5Q29uZmlnVXBkYXRlUmVxdWVzdBI4CgdzYW5kYm94GAEgASgLMiUub3BlbnNoZWxsLnYxLlBlZXJDb25maWdTYW5kYm94VGFyZ2V0SAASEwoJd29ya3NwYWNlGAIgASgJSAASFwoNYWxsX2Nvbm5lY3RlZBgDIAEoCEgAEjoKCHByb3ZpZGVyGAQgASgLMiYub3BlbnNoZWxsLnYxLlBlZXJDb25maWdQcm92aWRlclRhcmdldEgAQgcKBXNjb3BlIjUKHlBlZXJOb3RpZnlDb25maWdVcGRhdGVSZXNwb25zZRITCgtzdGFsZV9vd25lchgBIAEoCCJFCg9SZWxheU9wZW5SZXN1bHQSEgoKY2hhbm5lbF9pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEg0KBWVycm9yGAMgASgJIjAKClJlbGF5Q2xvc2USEgoKY2hhbm5lbF9pZBgBIAEoCRIOCgZyZWFzb24YAiABKAkiUAoPTDdSZXF1ZXN0U2FtcGxlEg4KBm1ldGhvZBgBIAEoCRIMCgRwYXRoGAIgASgJEhAKCGRlY2lzaW9uGAMgASgJEg0KBWNvdW50GAQgASgNIvoDCg1EZW5pYWxTdW1tYXJ5EhIKCnNhbmRib3hfaWQYASABKAkSDAoEaG9zdBgCIAEoCRIMCgRwb3J0GAMgASgNEg4KBmJpbmFyeRgEIAEoCRIRCglhbmNlc3RvcnMYBSADKAkSEwoLZGVueV9yZWFzb24YBiABKAkSMwoPZmlyc3Rfc2Vlbl90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5sYXN0X3NlZW5fdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFY291bnQYCSABKA0SGAoQc3VwcHJlc3NlZF9jb3VudBgKIAEoDRITCgt0b3RhbF9jb3VudBgLIAEoDRIXCg9zYW1wbGVfY21kbGluZXMYDCADKAkSFQoNYmluYXJ5X3NoYTI1NhgNIAEoCRISCgpwZXJzaXN0ZW50GA4gASgIEhQKDGRlbmlhbF9zdGFnZRgPIAEoCRI5ChJsN19yZXF1ZXN0X3NhbXBsZXMYECADKAsyHS5vcGVuc2hlbGwudjEuTDdSZXF1ZXN0U2FtcGxlEhwKFGw3X2luc3BlY3Rpb25fYWN0aXZlGBEgASgISgQIBxAISgQICBAJUg1maXJzdF9zZWVuX21zUgxsYXN0X3NlZW5fbXMiPAoQRGVuaWFsR3JvdXBDb3VudBISCgpkZW55X2dyb3VwGAEgASgJEhQKDGRlbmllZF9jb3VudBgCIAEoDSKPAQoWTmV0d29ya0FjdGl2aXR5U3VtbWFyeRIeChZuZXR3b3JrX2FjdGl2aXR5X2NvdW50GAEgASgNEhsKE2RlbmllZF9hY3Rpb25fY291bnQYAiABKA0SOAoQZGVuaWFsc19ieV9ncm91cBgDIAMoCzIeLm9wZW5zaGVsbC52MS5EZW5pYWxHcm91cENvdW50IowHCgtQb2xpY3lDaHVuaxIKCgJpZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSEQoJcnVsZV9uYW1lGAMgASgJEj4KDXByb3Bvc2VkX3J1bGUYBCABKAsyJy5vcGVuc2hlbGwuc2FuZGJveC52MS5OZXR3b3JrUG9saWN5UnVsZRIRCglyYXRpb25hbGUYBSABKAkSFgoOc2VjdXJpdHlfbm90ZXMYBiABKAkSEgoKY29uZmlkZW5jZRgHIAEoAhIaChJkZW5pYWxfc3VtbWFyeV9pZHMYCCADKAkSMAoMY3JlYXRlZF90aW1lGG0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxkZWNpZGVkX3RpbWUYbiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXN0YWdlGAsgASgJEhsKE3N1cGVyc2VkZXNfY2h1bmtfaWQYDCABKAkSEQoJaGl0X2NvdW50GA0gASgFEjMKD2ZpcnN0X3NlZW5fdGltZRhyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoObGFzdF9zZWVuX3RpbWUYcyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmJpbmFyeRgQIAEoCRIZChF2YWxpZGF0aW9uX3Jlc3VsdBgRIAEoCRIYChByZWplY3Rpb25fcmVhc29uGBIgASgJEhkKEWFwcGxpY2F0aW9uX2Vycm9yGBMgASgJEhQKDHJldmlld190b2tlbhgUIAEoCRIlCh1jdXJyZW50X2VmZmVjdGl2ZV9wb2xpY3lfaGFzaBgVIAEoCRInCh9jYW5kaWRhdGVfZWZmZWN0aXZlX3BvbGljeV9oYXNoGBYgASgJEkUKGGN1cnJlbnRfZWZmZWN0aXZlX3BvbGljeRgXIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3kSRwoaY2FuZGlkYXRlX2VmZmVjdGl2ZV9wb2xpY3kYGCABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5SgQICRAKSgQIChALSgQIDhAPSgQIDxAQUg1jcmVhdGVkX2F0X21zUg1kZWNpZGVkX2F0X21zUg1maXJzdF9zZWVuX21zUgxsYXN0X3NlZW5fbXMiZgoRRHJhZnRQb2xpY3lVcGRhdGUSFQoNZHJhZnRfdmVyc2lvbhgBIAEoBBISCgpuZXdfY2h1bmtzGAIgASgNEhUKDXRvdGFsX3BlbmRpbmcYAyABKA0SDwoHc3VtbWFyeRgEIAEoCSK0AgobU3VibWl0UG9saWN5QW5hbHlzaXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgGIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISLgoJc3VtbWFyaWVzGAEgAygLMhsub3BlbnNoZWxsLnYxLkRlbmlhbFN1bW1hcnkSMgoPcHJvcG9zZWRfY2h1bmtzGAIgAygLMhkub3BlbnNoZWxsLnYxLlBvbGljeUNodW5rEhUKDWFuYWx5c2lzX21vZGUYAyABKAkSDAoEbmFtZRgEIAEoCRJIChpuZXR3b3JrX2FjdGl2aXR5X3N1bW1hcmllcxgFIAMoCzIkLm9wZW5zaGVsbC52MS5OZXR3b3JrQWN0aXZpdHlTdW1tYXJ5IocBChxTdWJtaXRQb2xpY3lBbmFseXNpc1Jlc3BvbnNlEhcKD2FjY2VwdGVkX2NodW5rcxgBIAEoDRIXCg9yZWplY3RlZF9jaHVua3MYAiABKA0SGQoRcmVqZWN0aW9uX3JlYXNvbnMYAyADKAkSGgoSYWNjZXB0ZWRfY2h1bmtfaWRzGAQgAygJIoMBChVHZXREcmFmdFBvbGljeVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIVCg1zdGF0dXNfZmlsdGVyGAIgASgJEg8KB3NhbmRib3gYASABKAkixgEKFkdldERyYWZ0UG9saWN5UmVzcG9uc2USKQoGY2h1bmtzGAEgAygLMhkub3BlbnNoZWxsLnYxLlBvbGljeUNodW5rEhcKD3JvbGxpbmdfc3VtbWFyeRgCIAEoCRIVCg1kcmFmdF92ZXJzaW9uGAMgASgEEjYKEmxhc3RfYW5hbHl6ZWRfdGltZRhoIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgEEAVSE2xhc3RfYW5hbHl6ZWRfYXRfbXMiqwEKGEFwcHJvdmVEcmFmdENodW5rUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCGNodW5rX2lkGAIgASgJEhQKDHJldmlld190b2tlbhgEIAEoCRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkiSAoZQXBwcm92ZURyYWZ0Q2h1bmtSZXNwb25zZRIWCg5wb2xpY3lfdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCSKkAQoXUmVqZWN0RHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRIOCgZyZWFzb24YAyABKAkSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIhoKGFJlamVjdERyYWZ0Q2h1bmtSZXNwb25zZSI8ChJEcmFmdENodW5rQXBwcm92YWwSEAoIY2h1bmtfaWQYASABKAkSFAoMcmV2aWV3X3Rva2VuGAIgASgJIt4BChxBcHByb3ZlQWxsRHJhZnRDaHVua3NSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISIAoYaW5jbHVkZV9zZWN1cml0eV9mbGFnZ2VkGAIgASgIEjMKCWFwcHJvdmFscxgDIAMoCzIgLm9wZW5zaGVsbC52MS5EcmFmdENodW5rQXBwcm92YWwSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIn0KHUFwcHJvdmVBbGxEcmFmdENodW5rc1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJEhcKD2NodW5rc19hcHByb3ZlZBgDIAEoDRIWCg5jaHVua3Nfc2tpcHBlZBgEIAEoDSLSAQoVRWRpdERyYWZ0Q2h1bmtSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIY2h1bmtfaWQYAiABKAkSPgoNcHJvcG9zZWRfcnVsZRgDIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgFIAEoCSIYChZFZGl0RHJhZnRDaHVua1Jlc3BvbnNlIpIBChVVbmRvRHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBCABKAkiRQoWVW5kb0RyYWZ0Q2h1bmtSZXNwb25zZRIWCg5wb2xpY3lfdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCSKCAQoXQ2xlYXJEcmFmdENodW5rc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYAyABKAkiMgoYQ2xlYXJEcmFmdENodW5rc1Jlc3BvbnNlEhYKDmNodW5rc19jbGVhcmVkGAEgASgNIm0KFkdldERyYWZ0SGlzdG9yeVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJIpIBChFEcmFmdEhpc3RvcnlFbnRyeRIuCgpldmVudF90aW1lGGUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpldmVudF90eXBlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhAKCGNodW5rX2lkGAQgASgJSgQIARACUgx0aW1lc3RhbXBfbXMiSwoXR2V0RHJhZnRIaXN0b3J5UmVzcG9uc2USMAoHZW50cmllcxgBIAMoCzIfLm9wZW5zaGVsbC52MS5EcmFmdEhpc3RvcnlFbnRyeSKrAQoWQ3JlYXRlV29ya3NwYWNlUmVxdWVzdBIMCgRuYW1lGAEgASgJEkAKBmxhYmVscxgCIAMoCzIwLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0LkxhYmVsc0VudHJ5EhIKCnJlcXVlc3RfaWQYAyABKAkaLQoLTGFiZWxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJPChdDcmVhdGVXb3Jrc3BhY2VSZXNwb25zZRI0Cgl3b3Jrc3BhY2UYASABKAsyIS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZSIjChNHZXRXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkiTAoUR2V0V29ya3NwYWNlUmVzcG9uc2USNAoJd29ya3NwYWNlGAEgASgLMiEub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2UiVgoVTGlzdFdvcmtzcGFjZXNSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJEhYKDmxhYmVsX3NlbGVjdG9yGAMgASgJImgKFkxpc3RXb3Jrc3BhY2VzUmVzcG9uc2USNQoKd29ya3NwYWNlcxgBIAMoCzIhLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJRChZEZWxldGVXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgCIAEoCBISCgpyZXF1ZXN0X2lkGAMgASgJIlgKF0RlbGV0ZVdvcmtzcGFjZVJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIo0BCg9Xb3Jrc3BhY2VNZW1iZXISNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSKQoEcm9sZRgDIAEoDjIbLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VSb2xlIrkBChlBZGRXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSKQoEcm9sZRgDIAEoDjIbLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VSb2xlEhIKCnJlcXVlc3RfaWQYBCABKAkiSwoaQWRkV29ya3NwYWNlTWVtYmVyUmVzcG9uc2USLQoGbWVtYmVyGAEgASgLMh0ub3BlbnNoZWxsLnYxLldvcmtzcGFjZU1lbWJlciKoAQocUmVtb3ZlV29ya3NwYWNlTWVtYmVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYASABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhkKEXByaW5jaXBhbF9zdWJqZWN0GAIgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJeCh1SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHcmVtb3ZlZCKIAQobTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAIgASgFEhIKCnBhZ2VfdG9rZW4YAyABKAkiZwocTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXNwb25zZRIuCgdtZW1iZXJzGAEgAygLMh0ub3BlbnNoZWxsLnYxLldvcmtzcGFjZU1lbWJlchIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkikQEKGkV4dGVuc2lvblNlcnZpY2VDcmVkZW50aWFsEhQKDHNlcnZpY2VfbmFtZRgBIAEoCRITCgV0b2tlbhgCIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAxAEUg1leHBpcmVzX2F0X21zIogBChNFbmRwb2ludE9ic2VydmF0aW9uEhMKC2VuZHBvaW50X2lkGAEgASgJEiwKBnJlc3VsdBgCIAEoDjIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFJlc3VsdBIuCgdmYWlsdXJlGAMgASgLMh0ub3BlbnNoZWxsLnYxLkVuZHBvaW50RmFpbHVyZSKxAgobUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEwoLcG9saWN5X2hhc2gYAiABKAkSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAMgASgEEjcKDG9ic2VydmF0aW9ucxgEIAMoCzIhLm9wZW5zaGVsbC52MS5FbmRwb2ludE9ic2VydmF0aW9uEh0KFW9ic2VydmVkX2VuZHBvaW50X2lkcxgFIAMoCRIdChVzdXBlcnZpc29yX3Nlc3Npb25faWQYBiABKAkSFwoPcmVwb3J0X3NlcXVlbmNlGAcgASgEEjoKEnRva2VuX2dyYW50X3N0YXR1cxgIIAEoCzIeLm9wZW5zaGVsbC52MS5Ub2tlbkdyYW50U3RhdHVzIlQKEFRva2VuR3JhbnRTdGF0dXMSQAoMbGFzdF9mYWlsdXJlGAEgASgLMioub3BlbnNoZWxsLnYxLlRva2VuR3JhbnRGYWlsdXJlT2JzZXJ2YXRpb24iggEKHFRva2VuR3JhbnRGYWlsdXJlT2JzZXJ2YXRpb24SGAoQZGVzdGluYXRpb25faG9zdBgBIAEoCRIYChBkZXN0aW5hdGlvbl9wb3J0GAIgASgNEi4KB2ZhaWx1cmUYAyABKAsyHS5vcGVuc2hlbGwudjEuRW5kcG9pbnRGYWlsdXJlIh4KHFJlcG9ydEVuZHBvaW50U3RhdHVzUmVzcG9uc2UiiAIKDkVuZHBvaW50U3RhdHVzEhMKC2VuZHBvaW50X2lkGAEgASgJEgwKBGhvc3QYAiABKAkSDQoFcG9ydHMYAyADKA0SDAoEcGF0aBgEIAEoCRIxCgtsYXN0X3Jlc3VsdBgFIAEoDjIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFJlc3VsdBI2ChJsYXN0X3JlcG9ydGVkX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKDGxhc3RfZmFpbHVyZRgHIAEoCzIdLm9wZW5zaGVsbC52MS5FbmRwb2ludEZhaWx1cmVKBAgGEAdSEGxhc3RfcmVwb3J0ZWRfYXQiuwUKE1NhbmRib3hQcm92aXNpb25pbmcSEgoKYXR0ZW1wdF9pZBgBIAEoCRIfChdjb25maWd1cmF0aW9uX2NoYW5nZV9pZBgCIAEoCRI9Chljb25maWd1cmF0aW9uX2NoYW5nZV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4ChRmaXJzdF9yZWplY3Rpb25fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZGVhZGxpbmUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHRpbWVvdXRfdGltZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOgoWY2xlYW51cF9jb21wbGV0ZWRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNY2xlYW51cF9lcnJvchgIIAEoCRI2ChJjbGVhbnVwX3JldHJ5X3RpbWUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKFGF0dGFjaG1lbnRfY2hhbmdlX2lkGAogASgJEjoKFmF0dGFjaG1lbnRfY2hhbmdlX3RpbWUYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKFHByZXBhcmF0aW9uX2RlYWRsaW5lGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4ChRhZG1pc3Npb25fc3RhcnRfdGltZRgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIAoYZHJpdmVyX29wZXJhdGlvbl9wZW5kaW5nGA4gASgIEhsKE2RyaXZlcl9vcGVyYXRpb25faWQYDyABKAkiggEKFlNhbmRib3hTZXJ2aWNlRXhwb3N1cmUSDwoHc2VydmljZRgBIAEoCRITCgt0YXJnZXRfcG9ydBgCIAEoDRJCChJhdXRob3JpemF0aW9uX21vZGUYAyABKA4yJi5vcGVuc2hlbGwudjEuU2VydmljZUF1dGhvcml6YXRpb25Nb2RlIq0CCg9FbmRwb2ludEZhaWx1cmUSMwoGZG9tYWluGAEgASgOMiMub3BlbnNoZWxsLnYxLkVuZHBvaW50RmFpbHVyZURvbWFpbhIMCgRjb2RlGAIgASgJEk4KD3JlY292ZXJ5X2FjdGlvbhgDIAEoDjI1Lm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoUmVjb3ZlcnlBY3Rpb24SEAoIcHJvdmlkZXIYBCABKAkSFgoOY3JlZGVudGlhbF9rZXkYBSABKAkSDQoFc3RhZ2UYBiABKAkSIQoUdXBzdHJlYW1faHR0cF9zdGF0dXMYByABKA1IAIgBARISCgpyZXF1ZXN0X2lkGAggASgJQhcKFV91cHN0cmVhbV9odHRwX3N0YXR1cyrKAQoNRXh0ZW5zaW9uS2luZBIeChpFWFRFTlNJT05fS0lORF9VTlNQRUNJRklFRBAAEiEKHUVYVEVOU0lPTl9LSU5EX0NPTVBVVEVfRFJJVkVSEAESJAogRVhURU5TSU9OX0tJTkRfQ1JFREVOVElBTF9EUklWRVIQAhImCiJFWFRFTlNJT05fS0lORF9HQVRFV0FZX0lOVEVSQ0VQVE9SEAMSKAokRVhURU5TSU9OX0tJTkRfU1VQRVJWSVNPUl9NSURETEVXQVJFEAQqxgIKDFNhbmRib3hQaGFzZRIdChlTQU5EQk9YX1BIQVNFX1VOU1BFQ0lGSUVEEAASHgoaU0FOREJPWF9QSEFTRV9QUk9WSVNJT05JTkcQARIXChNTQU5EQk9YX1BIQVNFX1JFQURZEAISFwoTU0FOREJPWF9QSEFTRV9FUlJPUhADEhoKFlNBTkRCT1hfUEhBU0VfREVMRVRJTkcQBBIZChVTQU5EQk9YX1BIQVNFX1VOS05PV04QBRIaChZTQU5EQk9YX1BIQVNFX1NUT1BQSU5HEAYSGQoVU0FOREJPWF9QSEFTRV9TVE9QUEVEEAcSGgoWU0FOREJPWF9QSEFTRV9TVEFSVElORxAIEhsKF1NBTkRCT1hfUEhBU0VfQ09NUExFVEVEEAkiBAgKEAoqGFNBTkRCT1hfUEhBU0VfUkVTVEFSVElORyrLAQoUUHJvdmlkZXJNdXRhdGlvbktpbmQSJgoiUFJPVklERVJfTVVUQVRJT05fS0lORF9VTlNQRUNJRklFRBAAEiEKHVBST1ZJREVSX01VVEFUSU9OX0tJTkRfQVRUQUNIEAESIQodUFJPVklERVJfTVVUQVRJT05fS0lORF9ERVRBQ0gQAhIhCh1QUk9WSURFUl9NVVRBVElPTl9LSU5EX1VQREFURRADEiIKHlBST1ZJREVSX01VVEFUSU9OX0tJTkRfT0JTRVJWRRAEKs8CChZQcm92aWRlclJlYWRpbmVzc1N0YXRlEigKJFBST1ZJREVSX1JFQURJTkVTU19TVEFURV9VTlNQRUNJRklFRBAAEiYKIlBST1ZJREVSX1JFQURJTkVTU19TVEFURV9QRVJTSVNURUQQARIkCiBQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfUEVORElORxACEiIKHlBST1ZJREVSX1JFQURJTkVTU19TVEFURV9SRUFEWRADEiUKIVBST1ZJREVSX1JFQURJTkVTU19TVEFURV9XSVRISEVMRBAEEiQKIFBST1ZJREVSX1JFQURJTkVTU19TVEFURV9SRVZPS0VEEAUSIwofUFJPVklERVJfUkVBRElORVNTX1NUQVRFX0ZBSUxFRBAGEicKI1BST1ZJREVSX1JFQURJTkVTU19TVEFURV9TVVBFUlNFREVEEAcq2gYKF1Byb3ZpZGVyUmVhZGluZXNzUmVhc29uEikKJVBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fVU5TUEVDSUZJRUQQABI0CjBQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1dBSVRJTkdfRk9SX1NVUEVSVklTT1IQARI1CjFQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1dBSVRJTkdfRk9SX0NSRURFTlRJQUxTEAISMAosUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9XQUlUSU5HX0ZPUl9QT0xJQ1kQAxIxCi1QUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1dBSVRJTkdfRk9SX1BST0NFU1MQBBI0CjBQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1VOU1VQUE9SVEVEX1NVUEVSVklTT1IQBRIyCi5QUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0NSRURFTlRJQUxTX1dJVEhIRUxEEAYSNwozUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9DUkVERU5USUFMX0lOU1RBTExfRkFJTEVEEAcSNgoyUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9QT0xJQ1lfQUNUSVZBVElPTl9GQUlMRUQQCBI0CjBQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1BST0NFU1NfSU5TVEFMTF9GQUlMRUQQCRI1CjFQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1NVUEVSVklTT1JfRElTQ09OTkVDVEVEEAoSNgoyUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9TVVBFUlZJU09SX0xFQVNFX0VYUElSRUQQCxIzCi9QUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0RFU0lSRURfU1RBVEVfQ0hBTkdFRBAMEjAKLFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fQ1JFREVOVElBTF9FWFBJUkVEEA0SKgomUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9MT0NBTF9QT0xJQ1kQDhIvCitQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1NOQVBTSE9UX01JU01BVENIEA8qgwEKD0NvbmZpZ0NvbXBvbmVudBIgChxDT05GSUdfQ09NUE9ORU5UX1VOU1BFQ0lGSUVEEAASIwofQ09ORklHX0NPTVBPTkVOVF9TQU5EQk9YX0NPTkZJRxABEikKJUNPTkZJR19DT01QT05FTlRfUFJPVklERVJfRU5WSVJPTk1FTlQQAiqNAwoSQ29uZmlnQXBwbHlPdXRjb21lEiQKIENPTkZJR19BUFBMWV9PVVRDT01FX1VOU1BFQ0lGSUVEEAASIAocQ09ORklHX0FQUExZX09VVENPTUVfQVBQTElFRBABEioKJkNPTkZJR19BUFBMWV9PVVRDT01FX0lHTk9SRURfRFVQTElDQVRFEAISJgoiQ09ORklHX0FQUExZX09VVENPTUVfSUdOT1JFRF9TVEFMRRADEjAKLENPTkZJR19BUFBMWV9PVVRDT01FX1JFVEFJTkVEX0xPQ0FMX09WRVJSSURFEAQSIQodQ09ORklHX0FQUExZX09VVENPTUVfREVHUkFERUQQBRI4CjRDT05GSUdfQVBQTFlfT1VUQ09NRV9GQUlMRURfUkVUQUlORURfTEFTVF9LTk9XTl9HT09EEAYSJgoiQ09ORklHX0FQUExZX09VVENPTUVfRkFJTEVEX0NMT1NFRBAHEiQKIENPTkZJR19BUFBMWV9PVVRDT01FX1VOU1VQUE9SVEVEEAgq0gIKGkNvbmZpZ1VwZGF0ZU9wZXJhdGlvblN0YXRlEi0KKUNPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASKQolQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfUEVORElORxABEikKJUNPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX0FQUExJRUQQAhIqCiZDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9JTkFDVElWRRADEigKJENPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX0ZBSUxFRBAEEiwKKENPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX1NVUEVSU0VERUQQBRIrCidDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9DQU5DRUxMRUQQBirOAQogUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudFR5cGUSNAowUFJPVklERVJfQ1JFREVOVElBTF9UT0tFTl9HUkFOVF9UWVBFX1VOU1BFQ0lGSUVEEAASOwo3UFJPVklERVJfQ1JFREVOVElBTF9UT0tFTl9HUkFOVF9UWVBFX0NMSUVOVF9DUkVERU5USUFMUxABEjcKM1BST1ZJREVSX0NSRURFTlRJQUxfVE9LRU5fR1JBTlRfVFlQRV9UT0tFTl9FWENIQU5HRRACKsMDCiFQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RyYXRlZ3kSNAowUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX1VOU1BFQ0lGSUVEEAASLworUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX1NUQVRJQxABEjEKLVBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9FWFRFUk5BTBACEj0KOVBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9PQVVUSDJfUkVGUkVTSF9UT0tFThADEkIKPlBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9PQVVUSDJfQ0xJRU5UX0NSRURFTlRJQUxTEAQSQwo/UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX0dPT0dMRV9TRVJWSUNFX0FDQ09VTlRfSldUEAUSPAo4UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX0FXU19TVFNfQVNTVU1FX1JPTEUQBirbAgoXUHJvdmlkZXJQcm9maWxlQ2F0ZWdvcnkSKQolUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9VTlNQRUNJRklFRBAAEiMKH1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfT1RIRVIQARInCiNQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX0lORkVSRU5DRRACEiMKH1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfQUdFTlQQAxIsCihQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX1NPVVJDRV9DT05UUk9MEAQSJwojUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9NRVNTQUdJTkcQBRIiCh5QUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX0RBVEEQBhInCiNQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX0tOT1dMRURHRRAHKt4BCiZQcm92aWRlckVudmlyb25tZW50VmFsdWVDbGFzc2lmaWNhdGlvbhI5CjVQUk9WSURFUl9FTlZJUk9OTUVOVF9WQUxVRV9DTEFTU0lGSUNBVElPTl9VTlNQRUNJRklFRBAAEjgKNFBST1ZJREVSX0VOVklST05NRU5UX1ZBTFVFX0NMQVNTSUZJQ0FUSU9OX05PTl9TRUNSRVQQARI/CjtQUk9WSURFUl9FTlZJUk9OTUVOVF9WQUxVRV9DTEFTU0lGSUNBVElPTl9TVEFUSUNfQ1JFREVOVElBTBACKs8BChtDb25maWd1cmF0aW9uQWRtaXNzaW9uU3RhdGUSLQopQ09ORklHVVJBVElPTl9BRE1JU1NJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIpCiVDT05GSUdVUkFUSU9OX0FETUlTU0lPTl9TVEFURV9QRU5ESU5HEAESKgomQ09ORklHVVJBVElPTl9BRE1JU1NJT05fU1RBVEVfQUNDRVBURUQQAhIqCiZDT05GSUdVUkFUSU9OX0FETUlTU0lPTl9TVEFURV9SRUpFQ1RFRBADKpoBCgxQb2xpY3lTdGF0dXMSHQoZUE9MSUNZX1NUQVRVU19VTlNQRUNJRklFRBAAEhkKFVBPTElDWV9TVEFUVVNfUEVORElORxABEhgKFFBPTElDWV9TVEFUVVNfTE9BREVEEAISGAoUUE9MSUNZX1NUQVRVU19GQUlMRUQQAxIcChhQT0xJQ1lfU1RBVFVTX1NVUEVSU0VERUQQBCqGAQoNU2VydmljZVN0YXR1cxIeChpTRVJWSUNFX1NUQVRVU19VTlNQRUNJRklFRBAAEhoKFlNFUlZJQ0VfU1RBVFVTX0hFQUxUSFkQARIbChdTRVJWSUNFX1NUQVRVU19ERUdSQURFRBACEhwKGFNFUlZJQ0VfU1RBVFVTX1VOSEVBTFRIWRADKmIKDVdvcmtzcGFjZVJvbGUSHgoaV09SS1NQQUNFX1JPTEVfVU5TUEVDSUZJRUQQABIXChNXT1JLU1BBQ0VfUk9MRV9VU0VSEAESGAoUV09SS1NQQUNFX1JPTEVfQURNSU4QAiraAgonUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFJlY292ZXJ5QWN0aW9uEjsKN1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fVU5TUEVDSUZJRUQQABI1CjFQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX1JFVFJZEAESOwo3UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9SRUFVVEhPUklaRRACEkEKPVBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fRklYX0NPTkZJR1VSQVRJT04QAxI7CjdQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX0lOVkVTVElHQVRFEAQqqgEKFFNhbmRib3hSZXN0YXJ0UG9saWN5EiYKIlNBTkRCT1hfUkVTVEFSVF9QT0xJQ1lfVU5TUEVDSUZJRUQQABIgChxTQU5EQk9YX1JFU1RBUlRfUE9MSUNZX05FVkVSEAESJQohU0FOREJPWF9SRVNUQVJUX1BPTElDWV9PTl9GQUlMVVJFEAISIQodU0FOREJPWF9SRVNUQVJUX1BPTElDWV9BTFdBWVMQAyqXAQoPRGVsZXRpb25PdXRjb21lEiAKHERFTEVUSU9OX09VVENPTUVfVU5TUEVDSUZJRUQQABIeChpERUxFVElPTl9PVVRDT01FX0NPTVBMRVRFRBABEh0KGURFTEVUSU9OX09VVENPTUVfQUNDRVBURUQQAhIjCh9ERUxFVElPTl9PVVRDT01FX0FMUkVBRFlfQUJTRU5UEAMqwwIKDkVuZHBvaW50UmVzdWx0Eh8KG0VORFBPSU5UX1JFU1VMVF9VTlNQRUNJRklFRBAAEigKJEVORFBPSU5UX1JFU1VMVF9OT19PQlNFUlZFRF9FWENIQU5HRRABEioKJkVORFBPSU5UX1JFU1VMVF9IVFRQX1JFU1BPTlNFX1JFQ0VJVkVEEAISIQodRU5EUE9JTlRfUkVTVUxUX1BPTElDWV9ERU5JRUQQAxIqCiZFTkRQT0lOVF9SRVNVTFRfQ1JFREVOVElBTF9VTkFWQUlMQUJMRRAEEh4KGkVORFBPSU5UX1JFU1VMVF9UTFNfRkFJTEVEEAUSJAogRU5EUE9JTlRfUkVTVUxUX1RSQU5TUE9SVF9GQUlMRUQQBhIlCiFFTkRQT0lOVF9SRVNVTFRfVVBTVFJFQU1fUkVKRUNURUQQByqfAQoYU2VydmljZUF1dGhvcml6YXRpb25Nb2RlEioKJlNFUlZJQ0VfQVVUSE9SSVpBVElPTl9NT0RFX1VOU1BFQ0lGSUVEEAASJAogU0VSVklDRV9BVVRIT1JJWkFUSU9OX01PREVfU1RSSVAQARIxCi1TRVJWSUNFX0FVVEhPUklaQVRJT05fTU9ERV9CRUFSRVJfUEFTU1RIUk9VR0gQAippChVFbmRwb2ludEZhaWx1cmVEb21haW4SJwojRU5EUE9JTlRfRkFJTFVSRV9ET01BSU5fVU5TUEVDSUZJRUQQABInCiNFTkRQT0lOVF9GQUlMVVJFX0RPTUFJTl9UT0tFTl9HUkFOVBABMrZXCglPcGVuU2hlbGwSWgoGSGVhbHRoEhsub3BlbnNoZWxsLnYxLkhlYWx0aFJlcXVlc3QaHC5vcGVuc2hlbGwudjEuSGVhbHRoUmVzcG9uc2UiFYK1GBEKD3VuYXV0aGVudGljYXRlZBJpCg5HZXRDdXJyZW50VXNlchIjLm9wZW5zaGVsbC52MS5HZXRDdXJyZW50VXNlclJlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0Q3VycmVudFVzZXJSZXNwb25zZSIMgrUYCAoGYmVhcmVyEoYBCg5HZXRHYXRld2F5SW5mbxIjLm9wZW5zaGVsbC52MS5HZXRHYXRld2F5SW5mb1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0R2F0ZXdheUluZm9SZXNwb25zZSIpgrUYJQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiILY29uZmlnOnJlYWQSdQoNQ3JlYXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5DcmVhdGVTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRKTAQoVQmVnaW5Sb290ZnNUYXJTdGFnaW5nEioub3BlbnNoZWxsLnYxLkJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QaKy5vcGVuc2hlbGwudjEuQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJuCgpHZXRTYW5kYm94Eh8ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hSZXF1ZXN0Gh0ub3BlbnNoZWxsLnYxLlNhbmRib3hSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSegoNTGlzdFNhbmRib3hlcxIiLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveGVzUmVxdWVzdBojLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveGVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEo4BChVDcmVhdGVTYW5kYm94VGVtcGxhdGUSKi5vcGVuc2hlbGwudjEuQ3JlYXRlU2FuZGJveFRlbXBsYXRlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGVSZXNwb25zZSIigrUYHgoGYmVhcmVyEgVhZG1pbiINc2FuZGJveDp3cml0ZRKGAQoSR2V0U2FuZGJveFRlbXBsYXRlEicub3BlbnNoZWxsLnYxLkdldFNhbmRib3hUZW1wbGF0ZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2FuZGJveFRlbXBsYXRlUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEo8BChRMaXN0U2FuZGJveFRlbXBsYXRlcxIpLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFRlbXBsYXRlc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSlAEKFURlbGV0ZVNhbmRib3hUZW1wbGF0ZRIqLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlc3BvbnNlIiKCtRgeCgZiZWFyZXISBWFkbWluIg1zYW5kYm94OndyaXRlEo8BChRMaXN0U2FuZGJveFByb3ZpZGVycxIpLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFByb3ZpZGVyc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQcm92aWRlcnNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSkwEKFUF0dGFjaFNhbmRib3hQcm92aWRlchIqLm9wZW5zaGVsbC52MS5BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkF0dGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSkwEKFURldGFjaFNhbmRib3hQcm92aWRlchIqLm9wZW5zaGVsbC52MS5EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRldGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSmwEKGEdldFNhbmRib3hQcm92aWRlclN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ7Cg1EZWxldGVTYW5kYm94EiIub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkRlbGV0ZVNhbmRib3hSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnEKC1N0b3BTYW5kYm94EiAub3BlbnNoZWxsLnYxLlN0b3BTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJzCgxTdGFydFNhbmRib3gSIS5vcGVuc2hlbGwudjEuU3RhcnRTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRKEAQoQQ3JlYXRlU3NoU2Vzc2lvbhIlLm9wZW5zaGVsbC52MS5DcmVhdGVTc2hTZXNzaW9uUmVxdWVzdBomLm9wZW5zaGVsbC52MS5DcmVhdGVTc2hTZXNzaW9uUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJ9Cg1FeHBvc2VTZXJ2aWNlEiIub3BlbnNoZWxsLnYxLkV4cG9zZVNlcnZpY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlNlcnZpY2VFbmRwb2ludFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSdgoKR2V0U2VydmljZRIfLm9wZW5zaGVsbC52MS5HZXRTZXJ2aWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSdwoMTGlzdFNlcnZpY2VzEiEub3BlbnNoZWxsLnYxLkxpc3RTZXJ2aWNlc1JlcXVlc3QaIi5vcGVuc2hlbGwudjEuTGlzdFNlcnZpY2VzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnsKDURlbGV0ZVNlcnZpY2USIi5vcGVuc2hlbGwudjEuRGVsZXRlU2VydmljZVJlcXVlc3QaIy5vcGVuc2hlbGwudjEuRGVsZXRlU2VydmljZVJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUShAEKEFJldm9rZVNzaFNlc3Npb24SJS5vcGVuc2hlbGwudjEuUmV2b2tlU3NoU2Vzc2lvblJlcXVlc3QaJi5vcGVuc2hlbGwudjEuUmV2b2tlU3NoU2Vzc2lvblJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSdAoLRXhlY1NhbmRib3gSIC5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94RXZlbnQiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZTABEnEKCkZvcndhcmRUY3ASHS5vcGVuc2hlbGwudjEuVGNwRm9yd2FyZEZyYW1lGh0ub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRGcmFtZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlKAEwARJ/ChZFeGVjU2FuZGJveEludGVyYWN0aXZlEh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94SW5wdXQaHi5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hFdmVudCIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlKAEwARJ6Cg5DcmVhdGVQcm92aWRlchIjLm9wZW5zaGVsbC52MS5DcmVhdGVQcm92aWRlclJlcXVlc3QaHi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUScgoLR2V0UHJvdmlkZXISIC5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKDAQoWR2V0UHJvdmlkZXJDcmVkZW50aWFscxIrLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlckNyZWRlbnRpYWxzUmVxdWVzdBosLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlckNyZWRlbnRpYWxzUmVzcG9uc2UiDoK1GAoKCG9wZXJhdG9yEnsKDUxpc3RQcm92aWRlcnMSIi5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyc1JlcXVlc3QaIy5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSkAEKFExpc3RQcm92aWRlclByb2ZpbGVzEikub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlclByb2ZpbGVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQShwEKEkdldFByb3ZpZGVyUHJvZmlsZRInLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlclByb2ZpbGVSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZVJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSmAEKFkltcG9ydFByb3ZpZGVyUHJvZmlsZXMSKy5vcGVuc2hlbGwudjEuSW1wb3J0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuSW1wb3J0UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKYAQoWVXBkYXRlUHJvdmlkZXJQcm9maWxlcxIrLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVxdWVzdBosLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpABChRMaW50UHJvdmlkZXJQcm9maWxlcxIpLm9wZW5zaGVsbC52MS5MaW50UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGludFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEnoKDlVwZGF0ZVByb3ZpZGVyEiMub3BlbnNoZWxsLnYxLlVwZGF0ZVByb3ZpZGVyUmVxdWVzdBoeLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKcAQoYR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzEi0ub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1JlcXVlc3QaLi5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKeAQoYQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoEi0ub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QaLi5vcGVuc2hlbGwudjEuQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEp4BChhSb3RhdGVQcm92aWRlckNyZWRlbnRpYWwSLS5vcGVuc2hlbGwudjEuUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsUmVxdWVzdBouLm9wZW5zaGVsbC52MS5Sb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSlQEKFURlbGV0ZVByb3ZpZGVyUmVmcmVzaBIqLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlZnJlc2hSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKAAQoORGVsZXRlUHJvdmlkZXISIy5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpUBChVEZWxldGVQcm92aWRlclByb2ZpbGUSKi5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclByb2ZpbGVSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSkAEKEEdldFNhbmRib3hDb25maWcSLS5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRTYW5kYm94Q29uZmlnUmVxdWVzdBouLm9wZW5zaGVsbC5zYW5kYm94LnYxLkdldFNhbmRib3hDb25maWdSZXNwb25zZSIdgrUYGQoEZHVhbBIEdXNlciILY29uZmlnOnJlYWQSjAEKEEdldEdhdGV3YXlDb25maWcSLS5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRHYXRld2F5Q29uZmlnUmVxdWVzdBouLm9wZW5zaGVsbC5zYW5kYm94LnYxLkdldEdhdGV3YXlDb25maWdSZXNwb25zZSIZgrUYFQoGYmVhcmVyIgtjb25maWc6cmVhZBJ2CgxVcGRhdGVDb25maWcSIS5vcGVuc2hlbGwudjEuVXBkYXRlQ29uZmlnUmVxdWVzdBoiLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXNwb25zZSIfgrUYGwoEZHVhbBIFYWRtaW4iDGNvbmZpZzp3cml0ZRKVAQoWR2V0U2FuZGJveFBvbGljeVN0YXR1cxIrLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVxdWVzdBosLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEowBChNMaXN0U2FuZGJveFBvbGljaWVzEigub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94UG9saWNpZXNSZXF1ZXN0Gikub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94UG9saWNpZXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSdgoSUmVwb3J0UG9saWN5U3RhdHVzEicub3BlbnNoZWxsLnYxLlJlcG9ydFBvbGljeVN0YXR1c1JlcXVlc3QaKC5vcGVuc2hlbGwudjEuUmVwb3J0UG9saWN5U3RhdHVzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSfAoUUmVwb3J0RW5kcG9pbnRTdGF0dXMSKS5vcGVuc2hlbGwudjEuUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLlJlcG9ydEVuZHBvaW50U3RhdHVzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gShQEKF1JlcG9ydFByb3ZpZGVyUmVhZGluZXNzEiwub3BlbnNoZWxsLnYxLlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVxdWVzdBotLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94Eo4BChpSZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvbhIvLm9wZW5zaGVsbC52MS5SZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvblJlcXVlc3QaMC5vcGVuc2hlbGwudjEuUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb25SZXNwb25zZSINgrUYCQoHc2FuZGJveBKXAQodR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnQSMi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXF1ZXN0GjMub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSlAEKHEV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW4SMS5vcGVuc2hlbGwudjEuRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlblJlcXVlc3QaMi5vcGVuc2hlbGwudjEuRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94En0KDkdldFNhbmRib3hMb2dzEiMub3BlbnNoZWxsLnYxLkdldFNhbmRib3hMb2dzUmVxdWVzdBokLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94TG9nc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJvCg9QdXNoU2FuZGJveExvZ3MSJC5vcGVuc2hlbGwudjEuUHVzaFNhbmRib3hMb2dzUmVxdWVzdBolLm9wZW5zaGVsbC52MS5QdXNoU2FuZGJveExvZ3NSZXNwb25zZSINgrUYCQoHc2FuZGJveCgBEmUKEUNvbm5lY3RTdXBlcnZpc29yEh8ub3BlbnNoZWxsLnYxLlN1cGVydmlzb3JNZXNzYWdlGhwub3BlbnNoZWxsLnYxLkdhdGV3YXlNZXNzYWdlIg2CtRgJCgdzYW5kYm94KAEwARJ/ChVSZXBvcnRNYWluUHJvY2Vzc0V4aXQSKi5vcGVuc2hlbGwudjEuUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVxdWVzdBorLm9wZW5zaGVsbC52MS5SZXBvcnRNYWluUHJvY2Vzc0V4aXRSZXNwb25zZSINgrUYCQoHc2FuZGJveBKFAQoXRmluYWxpemVNYWluUHJvY2Vzc0V4aXQSLC5vcGVuc2hlbGwudjEuRmluYWxpemVNYWluUHJvY2Vzc0V4aXRSZXF1ZXN0Gi0ub3BlbnNoZWxsLnYxLkZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSVAoLUmVsYXlTdHJlYW0SGC5vcGVuc2hlbGwudjEuUmVsYXlGcmFtZRoYLm9wZW5zaGVsbC52MS5SZWxheUZyYW1lIg2CtRgJCgdzYW5kYm94KAEwARJXCglQZWVyUmVsYXkSHC5vcGVuc2hlbGwudjEuUGVlclJlbGF5RnJhbWUaHC5vcGVuc2hlbGwudjEuUGVlclJlbGF5RnJhbWUiCoK1GAYKBHBlZXIoATABEoYBChtQZWVyUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3MSLC5vcGVuc2hlbGwudjEuUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3NSZXF1ZXN0Gi0ub3BlbnNoZWxsLnYxLlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVzcG9uc2UiCoK1GAYKBHBlZXISfQoYUGVlclJlcG9ydEVuZHBvaW50U3RhdHVzEikub3BlbnNoZWxsLnYxLlJlcG9ydEVuZHBvaW50U3RhdHVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1Jlc3BvbnNlIgqCtRgGCgRwZWVyEokBChxQZWVyR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzEi0ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlclN0YXR1c1JlcXVlc3QaLi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzUmVzcG9uc2UiCoK1GAYKBHBlZXISfwoWUGVlck5vdGlmeUNvbmZpZ1VwZGF0ZRIrLm9wZW5zaGVsbC52MS5QZWVyTm90aWZ5Q29uZmlnVXBkYXRlUmVxdWVzdBosLm9wZW5zaGVsbC52MS5QZWVyTm90aWZ5Q29uZmlnVXBkYXRlUmVzcG9uc2UiCoK1GAYKBHBlZXISdwoMV2F0Y2hTYW5kYm94EiEub3BlbnNoZWxsLnYxLldhdGNoU2FuZGJveFJlcXVlc3QaIC5vcGVuc2hlbGwudjEuU2FuZGJveFN0cmVhbUV2ZW50IiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZDABEnwKFFN1Ym1pdFBvbGljeUFuYWx5c2lzEikub3BlbnNoZWxsLnYxLlN1Ym1pdFBvbGljeUFuYWx5c2lzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5TdWJtaXRQb2xpY3lBbmFseXNpc1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnoKDkdldERyYWZ0UG9saWN5EiMub3BlbnNoZWxsLnYxLkdldERyYWZ0UG9saWN5UmVxdWVzdBokLm9wZW5zaGVsbC52MS5HZXREcmFmdFBvbGljeVJlc3BvbnNlIh2CtRgZCgRkdWFsEgR1c2VyIgtjb25maWc6cmVhZBKHAQoRQXBwcm92ZURyYWZ0Q2h1bmsSJi5vcGVuc2hlbGwudjEuQXBwcm92ZURyYWZ0Q2h1bmtSZXF1ZXN0Gicub3BlbnNoZWxsLnYxLkFwcHJvdmVEcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRKEAQoQUmVqZWN0RHJhZnRDaHVuaxIlLm9wZW5zaGVsbC52MS5SZWplY3REcmFmdENodW5rUmVxdWVzdBomLm9wZW5zaGVsbC52MS5SZWplY3REcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRKTAQoVQXBwcm92ZUFsbERyYWZ0Q2h1bmtzEioub3BlbnNoZWxsLnYxLkFwcHJvdmVBbGxEcmFmdENodW5rc1JlcXVlc3QaKy5vcGVuc2hlbGwudjEuQXBwcm92ZUFsbERyYWZ0Q2h1bmtzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRJ+Cg5FZGl0RHJhZnRDaHVuaxIjLm9wZW5zaGVsbC52MS5FZGl0RHJhZnRDaHVua1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuRWRpdERyYWZ0Q2h1bmtSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEn4KDlVuZG9EcmFmdENodW5rEiMub3BlbnNoZWxsLnYxLlVuZG9EcmFmdENodW5rUmVxdWVzdBokLm9wZW5zaGVsbC52MS5VbmRvRHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUShAEKEENsZWFyRHJhZnRDaHVua3MSJS5vcGVuc2hlbGwudjEuQ2xlYXJEcmFmdENodW5rc1JlcXVlc3QaJi5vcGVuc2hlbGwudjEuQ2xlYXJEcmFmdENodW5rc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSfwoPR2V0RHJhZnRIaXN0b3J5EiQub3BlbnNoZWxsLnYxLkdldERyYWZ0SGlzdG9yeVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuR2V0RHJhZnRIaXN0b3J5UmVzcG9uc2UiH4K1GBsKBmJlYXJlchIEdXNlciILY29uZmlnOnJlYWQScwoRSXNzdWVTYW5kYm94VG9rZW4SJi5vcGVuc2hlbGwudjEuSXNzdWVTYW5kYm94VG9rZW5SZXF1ZXN0Gicub3BlbnNoZWxsLnYxLklzc3VlU2FuZGJveFRva2VuUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSeQoTUmVmcmVzaFNhbmRib3hUb2tlbhIoLm9wZW5zaGVsbC52MS5SZWZyZXNoU2FuZGJveFRva2VuUmVxdWVzdBopLm9wZW5zaGVsbC52MS5SZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSjQEKD0NyZWF0ZVdvcmtzcGFjZRIkLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkNyZWF0ZVdvcmtzcGFjZVJlc3BvbnNlIi2CtRgpCgZiZWFyZXIaDnBsYXRmb3JtX2FkbWluIg93b3Jrc3BhY2U6d3JpdGUSeQoMR2V0V29ya3NwYWNlEiEub3BlbnNoZWxsLnYxLkdldFdvcmtzcGFjZVJlcXVlc3QaIi5vcGVuc2hlbGwudjEuR2V0V29ya3NwYWNlUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIEdXNlciIOd29ya3NwYWNlOnJlYWQSfwoOTGlzdFdvcmtzcGFjZXMSIy5vcGVuc2hlbGwudjEuTGlzdFdvcmtzcGFjZXNSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VzUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIEdXNlciIOd29ya3NwYWNlOnJlYWQSjQEKD0RlbGV0ZVdvcmtzcGFjZRIkLm9wZW5zaGVsbC52MS5EZWxldGVXb3Jrc3BhY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkRlbGV0ZVdvcmtzcGFjZVJlc3BvbnNlIi2CtRgpCgZiZWFyZXIaDnBsYXRmb3JtX2FkbWluIg93b3Jrc3BhY2U6d3JpdGUSjQEKEkFkZFdvcmtzcGFjZU1lbWJlchInLm9wZW5zaGVsbC52MS5BZGRXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0Gigub3BlbnNoZWxsLnYxLkFkZFdvcmtzcGFjZU1lbWJlclJlc3BvbnNlIiSCtRggCgZiZWFyZXISBWFkbWluIg93b3Jrc3BhY2U6d3JpdGUSlgEKFVJlbW92ZVdvcmtzcGFjZU1lbWJlchIqLm9wZW5zaGVsbC52MS5SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLlJlbW92ZVdvcmtzcGFjZU1lbWJlclJlc3BvbnNlIiSCtRggCgZiZWFyZXISBWFkbWluIg93b3Jrc3BhY2U6d3JpdGUSkQEKFExpc3RXb3Jrc3BhY2VNZW1iZXJzEikub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VNZW1iZXJzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlTWVtYmVyc1Jlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkYgZwcm90bzM", [file_datamodel, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_options, file_sandbox]);
11
+ export const file_openshell = /*@__PURE__*/ fileDesc("Cg9vcGVuc2hlbGwucHJvdG8SDG9wZW5zaGVsbC52MSIaChhJc3N1ZVNhbmRib3hUb2tlblJlcXVlc3QiegoZSXNzdWVTYW5kYm94VG9rZW5SZXNwb25zZRITCgV0b2tlbhgBIAEoCUIEiLUYARIzCg9leHBpcmF0aW9uX3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIAhADUg1leHBpcmVzX2F0X21zIj0KGlJlZnJlc2hTYW5kYm94VG9rZW5SZXF1ZXN0Eh8KF2V4dGVuc2lvbl9zZXJ2aWNlX25hbWVzGAEgAygJIuoCChtSZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2USEwoFdG9rZW4YASABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGGYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJHChVleHRlbnNpb25fY3JlZGVudGlhbHMYAyADKAsyKC5vcGVuc2hlbGwudjEuRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwSGwoNc2FuZGJveF90b2tlbhgEIAEoCUIEiLUYARI7ChdzYW5kYm94X2V4cGlyYXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKc2Vzc2lvbl9pZBgGIAEoCRIYChBjcmVkZW50aWFsX2Vwb2NoGAcgASgESgQIAhADSgQIBRAGUg1leHBpcmVzX2F0X21zUhVzYW5kYm94X2V4cGlyZXNfYXRfbXMiDwoNSGVhbHRoUmVxdWVzdCJOCg5IZWFsdGhSZXNwb25zZRIrCgZzdGF0dXMYASABKA4yGy5vcGVuc2hlbGwudjEuU2VydmljZVN0YXR1cxIPCgd2ZXJzaW9uGAIgASgJIhcKFUdldEN1cnJlbnRVc2VyUmVxdWVzdCJ5ChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEg8KB3N1YmplY3QYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEg0KBXJvbGVzGAMgAygJEg4KBnNjb3BlcxgEIAMoCRIZChFpZGVudGl0eV9wcm92aWRlchgFIAEoCSIXChVHZXRHYXRld2F5SW5mb1JlcXVlc3Qi0wEKFkdldEdhdGV3YXlJbmZvUmVzcG9uc2USKwoGc3RhdHVzGAEgASgOMhsub3BlbnNoZWxsLnYxLlNlcnZpY2VTdGF0dXMSFwoPZ2F0ZXdheV92ZXJzaW9uGAIgASgJEjgKD2NvbXB1dGVfZHJpdmVycxgDIAMoCzIfLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVySW5mbxI5CgpleHRlbnNpb25zGAQgAygLMiUub3BlbnNoZWxsLnYxLk5lZ290aWF0ZWRFeHRlbnNpb25JbmZvIokCChdOZWdvdGlhdGVkRXh0ZW5zaW9uSW5mbxIpCgRraW5kGAEgASgOMhsub3BlbnNoZWxsLnYxLkV4dGVuc2lvbktpbmQSFwoPY29uZmlndXJlZF9uYW1lGAIgASgJEhsKE2ltcGxlbWVudGF0aW9uX25hbWUYAyABKAkSHgoWaW1wbGVtZW50YXRpb25fdmVyc2lvbhgEIAEoCRIWCg5wcm90b2NvbF9tYWpvchgFIAEoDRIWCg5wcm90b2NvbF9taW5vchgGIAEoDRIeChZzdXBwb3J0ZWRfY2FwYWJpbGl0aWVzGAcgAygJEh0KFXJlcXVpcmVkX2NhcGFiaWxpdGllcxgIIAMoCSJgChFDb21wdXRlRHJpdmVySW5mbxIMCgRuYW1lGAEgASgJEj0KDGNhcGFiaWxpdGllcxgCIAEoCzInLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzIosBChlDb21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzEhMKC2RyaXZlcl9uYW1lGAEgASgJEhYKDmRyaXZlcl92ZXJzaW9uGAIgASgJEkEKFXJlc291cmNlX2NhcGFiaWxpdGllcxgDIAEoCzIiLm9wZW5zaGVsbC52MS5SZXNvdXJjZUNhcGFiaWxpdGllcyK4AQoUUmVzb3VyY2VDYXBhYmlsaXRpZXMSMgoDY3B1GAEgASgLMiUub3BlbnNoZWxsLnYxLkNwdVJlc291cmNlQ2FwYWJpbGl0aWVzEjgKBm1lbW9yeRgCIAEoCzIoLm9wZW5zaGVsbC52MS5NZW1vcnlSZXNvdXJjZUNhcGFiaWxpdGllcxIyCgNncHUYAyABKAsyJS5vcGVuc2hlbGwudjEuR3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMiMgoXQ3B1UmVzb3VyY2VDYXBhYmlsaXRpZXMSFwoPbGltaXRfc3VwcG9ydGVkGAEgASgIIjUKGk1lbW9yeVJlc291cmNlQ2FwYWJpbGl0aWVzEhcKD2xpbWl0X3N1cHBvcnRlZBgBIAEoCCJhChdHcHVSZXNvdXJjZUNhcGFiaWxpdGllcxIjChtkZWZhdWx0X3NlbGVjdGlvbl9zdXBwb3J0ZWQYASABKAgSIQoZY291bnRfc2VsZWN0aW9uX3N1cHBvcnRlZBgCIAEoCCK3AgoHU2FuZGJveBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRInCgRzcGVjGAIgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEisKBnN0YXR1cxgDIAEoCzIbLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhdHVzEhwKFGhvc3Rfa2V5X2ZpbmdlcnByaW50GAYgASgJElcKHmNyZWF0ZWRfZnJvbV93b3JrbG9hZF90ZW1wbGF0ZRgUIAEoCzIvLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZVByb3ZlbmFuY2VKBAgEEAVKBAgFEAZSBXBoYXNlUhZjdXJyZW50X3BvbGljeV92ZXJzaW9uIv4DCgtTYW5kYm94U3BlYxIRCglsb2dfbGV2ZWwYASABKAkSPwoLZW52aXJvbm1lbnQYBSADKAsyKi5vcGVuc2hlbGwudjEuU2FuZGJveFNwZWMuRW52aXJvbm1lbnRFbnRyeRIvCgh0ZW1wbGF0ZRgGIAEoCzIdLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUSMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRIRCglwcm92aWRlcnMYCCADKAkSQQoVcmVzb3VyY2VfcmVxdWlyZW1lbnRzGAkgASgLMiIub3BlbnNoZWxsLnYxLlJlc291cmNlUmVxdWlyZW1lbnRzEg8KB2NvbW1hbmQYDCADKAkSCwoDdHR5GA0gASgIEiEKGXByb3ZpZGVyX2F0dGFjaG1lbnRfZXBvY2gYDiABKAkSOgoOcmVzdGFydF9wb2xpY3kYDyABKA4yIi5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3RhcnRQb2xpY3kaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIChALSgQICxAMUgpncHVfZGV2aWNlUhZwcm9wb3NhbF9hcHByb3ZhbF9tb2RlIkoKFFJlc291cmNlUmVxdWlyZW1lbnRzEjIKA2dwdRgBIAEoCzIlLm9wZW5zaGVsbC52MS5HcHVSZXNvdXJjZVJlcXVpcmVtZW50cyI3ChdHcHVSZXNvdXJjZVJlcXVpcmVtZW50cxISCgVjb3VudBgBIAEoDUgAiAEBQggKBl9jb3VudCLaBAoPU2FuZGJveFRlbXBsYXRlEg0KBWltYWdlGAEgASgJEhoKEnJ1bnRpbWVfY2xhc3NfbmFtZRgCIAEoCRIUCgxhZ2VudF9zb2NrZXQYAyABKAkSOQoGbGFiZWxzGAQgAygLMikub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZS5MYWJlbHNFbnRyeRJDCgthbm5vdGF0aW9ucxgFIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuQW5ub3RhdGlvbnNFbnRyeRJDCgtlbnZpcm9ubWVudBgGIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuRW52aXJvbm1lbnRFbnRyeRIqCglyZXNvdXJjZXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKD3VzZXJfbmFtZXNwYWNlcxgKIAEoCEgAiAEBEi4KDWRyaXZlcl9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfdXNlcl9uYW1lc3BhY2VzSgQICRAKUhZ2b2x1bWVfY2xhaW1fdGVtcGxhdGVzIogBChdTYW5kYm94V29ya2xvYWRUZW1wbGF0ZRI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRI3CgRzcGVjGAIgASgLMikub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZFRlbXBsYXRlU3BlYyLGAQobU2FuZGJveFdvcmtsb2FkVGVtcGxhdGVTcGVjEjUKCHdvcmtsb2FkGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZxIuCg1kcml2ZXJfY29uZmlnGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBJAChVkZXNpcmVkX3NlcnZpY2VfbGV2ZWwYAyABKAsyIS5vcGVuc2hlbGwudjEuU2FuZGJveFNlcnZpY2VMZXZlbCLYAQoVU2FuZGJveFdvcmtsb2FkQ29uZmlnEg0KBWltYWdlGAEgASgJEkkKC2Vudmlyb25tZW50GAIgAygLMjQub3BlbnNoZWxsLnYxLlNhbmRib3hXb3JrbG9hZENvbmZpZy5FbnZpcm9ubWVudEVudHJ5EjEKCXJlc291cmNlcxgDIAEoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzb3VyY2VzGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJjChBTYW5kYm94UmVzb3VyY2VzEgsKA2NwdRgBIAEoCRIOCgZtZW1vcnkYAiABKAkSMgoDZ3B1GAMgASgLMiUub3BlbnNoZWxsLnYxLkdwdVJlc291cmNlUmVxdWlyZW1lbnRzIkQKE1NhbmRib3hTZXJ2aWNlTGV2ZWwSLQoHc3RhcnR1cBgBIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94U3RhcnR1cCJUCg5TYW5kYm94U3RhcnR1cBIvCgxyZWFkeV93aXRoaW4YASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SEQoJbWF4X2J1cnN0GAIgASgNIksKIVNhbmRib3hXb3JrbG9hZFRlbXBsYXRlUHJvdmVuYW5jZRIMCgRuYW1lGAEgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YAiABKAki7AUKDVNhbmRib3hTdGF0dXMSEQoJYWdlbnRfcG9kGAIgASgJEhAKCGFnZW50X2ZkGAMgASgJEhIKCnNhbmRib3hfZmQYBCABKAkSMgoKY29uZGl0aW9ucxgFIAMoCzIeLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZGl0aW9uEikKBXBoYXNlGAYgASgOMhoub3BlbnNoZWxsLnYxLlNhbmRib3hQaGFzZRIeChZjdXJyZW50X3BvbGljeV92ZXJzaW9uGAcgASgNEiAKGG1haW5fcHJvY2Vzc19pbnN0YW5jZV9pZBgIIAEoCRIWCglleGl0X2NvZGUYCSABKAVIAIgBARI3ChFlbmRwb2ludF9zdGF0dXNlcxgKIAMoCzIcLm9wZW5zaGVsbC52MS5FbmRwb2ludFN0YXR1cxJMChdjb25maWd1cmF0aW9uX2FkbWlzc2lvbhgLIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIkChdjb25maWd1cmF0aW9uX2FjdGl2YXRlZBgMIAEoCEgBiAEBEjcKDHByb3Zpc2lvbmluZxgNIAEoCzIhLm9wZW5zaGVsbC52MS5TYW5kYm94UHJvdmlzaW9uaW5nEhUKDXJlc3RhcnRfY291bnQYDiABKA0SNQoRbmV4dF9yZXN0YXJ0X3RpbWUYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj0KGW1haW5fcHJvY2Vzc19zdGFydGVkX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkwKGGxhc3RfdG9rZW5fZ3JhbnRfZmFpbHVyZRgRIAEoCzIqLm9wZW5zaGVsbC52MS5Ub2tlbkdyYW50RmFpbHVyZU9ic2VydmF0aW9uQgwKCl9leGl0X2NvZGVCGgoYX2NvbmZpZ3VyYXRpb25fYWN0aXZhdGVkIqIBChBTYW5kYm94Q29uZGl0aW9uEgwKBHR5cGUYASABKAkSDgoGc3RhdHVzGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIPCgdtZXNzYWdlGAQgASgJEjMKD3RyYW5zaXRpb25fdGltZRhpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgFEAZSFGxhc3RfdHJhbnNpdGlvbl90aW1lIoACCg1QbGF0Zm9ybUV2ZW50Ei4KCmV2ZW50X3RpbWUYZSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnNvdXJjZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBnJlYXNvbhgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEjsKCG1ldGFkYXRhGAYgAygLMikub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnQuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSDHRpbWVzdGFtcF9tcyKVBAoUQ3JlYXRlU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAcgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchInCgRzcGVjGAEgASgLMhkub3BlbnNoZWxsLnYxLlNhbmRib3hTcGVjEgwKBG5hbWUYAiABKAkSPgoGbGFiZWxzGAMgAygLMi4ub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkxhYmVsc0VudHJ5EkgKC2Fubm90YXRpb25zGAQgAygLMjMub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSJQodYXdhaXRfbWFpbl9wcm9jZXNzX2F0dGFjaG1lbnQYBSABKAgSGQoRd29ya2xvYWRfdGVtcGxhdGUYBiABKAkSEgoKcmVxdWVzdF9pZBgIIAEoCRI/ChFzZXJ2aWNlX2V4cG9zdXJlcxgJIAMoCzIkLm9wZW5zaGVsbC52MS5TYW5kYm94U2VydmljZUV4cG9zdXJlGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIq8BChxDcmVhdGVTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISNwoIdGVtcGxhdGUYASABKAsyJS5vcGVuc2hlbGwudjEuU2FuZGJveFdvcmtsb2FkVGVtcGxhdGUSEgoKcmVxdWVzdF9pZBgDIAEoCSJtChlHZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCSKgAQobTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimwEKHERlbGV0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAIgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIMCgRuYW1lGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJSChdTYW5kYm94VGVtcGxhdGVSZXNwb25zZRI3Cgh0ZW1wbGF0ZRgBIAEoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZSJxChxMaXN0U2FuZGJveFRlbXBsYXRlc1Jlc3BvbnNlEjgKCXRlbXBsYXRlcxgBIAMoCzIlLm9wZW5zaGVsbC52MS5TYW5kYm94V29ya2xvYWRUZW1wbGF0ZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiXgodRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQiiQEKHEJlZ2luUm9vdGZzVGFyU3RhZ2luZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglmaWxlX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBCKoAQodQmVnaW5Sb290ZnNUYXJTdGFnaW5nUmVzcG9uc2USFQoNc3RhZ2luZ190b2tlbhgBIAEoCRITCgt1cGxvYWRfcGF0aBgCIAEoCRIRCgltYXhfYnl0ZXMYAyABKAQSMwoPZXhwaXJhdGlvbl90aW1lGGggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAQQBVINZXhwaXJlc19hdF9tcyJlChFHZXRTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkimQEKFExpc3RTYW5kYm94ZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkimQEKG0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkivAEKHEF0dGFjaFNhbmRib3hQcm92aWRlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAyABKAQSEgoKcmVxdWVzdF9pZBgFIAEoCSK8AQocRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoBBISCgpyZXF1ZXN0X2lkGAUgASgJIpMBChREZWxldGVTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJInoKElN0b3BTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSJ7ChNTdGFydFNhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJImkKFVN1c3BlbmRTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkiigEKFFJlc3VtZVNhbmRib3hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgBIAEoCRIgChhyZXN0YXJ0X2lmX3Jlc3RvcmVfZmFpbHMYAyABKAgiswEKD1NhbmRib3hSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSRAoMc2VydmljZV91cmxzGAIgAygLMi4ub3BlbnNoZWxsLnYxLlNhbmRib3hSZXNwb25zZS5TZXJ2aWNlVXJsc0VudHJ5GjIKEFNlcnZpY2VVcmxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJaChVMaXN0U2FuZGJveGVzUmVzcG9uc2USKAoJc2FuZGJveGVzGAEgAygLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJImwKHExpc3RTYW5kYm94UHJvdmlkZXJzUmVzcG9uc2USMwoJcHJvdmlkZXJzGAEgAygLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkikQEKHUF0dGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlEiYKB3NhbmRib3gYASABKAsyFS5vcGVuc2hlbGwudjEuU2FuZGJveBIQCghhdHRhY2hlZBgCIAEoCBI2CgdyZWNlaXB0GAMgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyTXV0YXRpb25SZWNlaXB0IpEBCh1EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSEAoIZGV0YWNoZWQYAiABKAgSNgoHcmVjZWlwdBgDIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdCLdAQoXUHJvdmlkZXJEZXNpcmVkSWRlbnRpdHkSEgoKc2FuZGJveF9pZBgBIAEoCRIPCgdzYW5kYm94GAIgASgJEhgKEGF0dGFjaG1lbnRfZXBvY2gYAyABKAkSEwoLcHJvdmlkZXJfaWQYBCABKAkSIQoZcHJvdmlkZXJfcmVzb3VyY2VfdmVyc2lvbhgFIAEoBBIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBiABKAQSFwoPY29uZmlnX3JldmlzaW9uGAcgASgEEhMKC3BvbGljeV9oYXNoGAggASgJIsYBChZDb25maWdTbmFwc2hvdFJldmlzaW9uEj0KDnNhbmRib3hfY29uZmlnGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hDb25maWdSZXZpc2lvbkgAEh4KFHByb3ZpZGVyX2Vudmlyb25tZW50GAIgASgESAASQAoPcHJvdmlkZXJfdGFyZ2V0GAMgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyRGVzaXJlZElkZW50aXR5SABCCwoJY29tcG9uZW50Ir0BChVTYW5kYm94Q29uZmlnUmV2aXNpb24SFwoPY29uZmlnX3JldmlzaW9uGAEgASgEEhYKDnBvbGljeV92ZXJzaW9uGAIgASgNEjkKDXBvbGljeV9zb3VyY2UYAyABKA4yIi5vcGVuc2hlbGwuc2FuZGJveC52MS5Qb2xpY3lTb3VyY2USHQoVZ2xvYmFsX3BvbGljeV92ZXJzaW9uGAQgASgNEhkKEXNldHRpbmdzX3JldmlzaW9uGAUgASgEIpAEChVDb25maWdVcGRhdGVPcGVyYXRpb24SFAoMb3BlcmF0aW9uX2lkGAEgASgJEhIKCnNhbmRib3hfaWQYAiABKAkSMAoJY29tcG9uZW50GAMgASgOMh0ub3BlbnNoZWxsLnYxLkNvbmZpZ0NvbXBvbmVudBI9Cg90YXJnZXRfcmV2aXNpb24YBCABKAsyJC5vcGVuc2hlbGwudjEuQ29uZmlnU25hcHNob3RSZXZpc2lvbhI3CgVzdGF0ZRgFIAEoDjIoLm9wZW5zaGVsbC52MS5Db25maWdVcGRhdGVPcGVyYXRpb25TdGF0ZRIxCgdvdXRjb21lGAYgASgOMiAub3BlbnNoZWxsLnYxLkNvbmZpZ0FwcGx5T3V0Y29tZRIXCg9zYW5pdGl6ZWRfZXJyb3IYByABKAkSMAoMY3JlYXRlZF90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgx1cGRhdGVkX3RpbWUYbSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmNvbXBsZXRlZF90aW1lGG4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAgQCUoECAkQCkoECAoQC1INY3JlYXRlZF9hdF9tc1INdXBkYXRlZF9hdF9tc1IPY29tcGxldGVkX2F0X21zIpwCChdQcm92aWRlck11dGF0aW9uUmVjZWlwdBISCgpyZWNlaXB0X2lkGAEgASgJEhMKC211dGF0aW9uX2lkGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhEKCXdvcmtzcGFjZRgEIAEoCRIwCgRraW5kGAUgASgOMiIub3BlbnNoZWxsLnYxLlByb3ZpZGVyTXV0YXRpb25LaW5kEjYKB2Rlc2lyZWQYBiABKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJEZXNpcmVkSWRlbnRpdHkSMgoOcGVyc2lzdGVkX3RpbWUYayABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQIBxAIUg9wZXJzaXN0ZWRfYXRfbXMi2wIKHFByb3ZpZGVyUmVhZGluZXNzT2JzZXJ2YXRpb24SEgoKc2Vzc2lvbl9pZBgBIAEoCRIQCghzZXF1ZW5jZRgCIAEoBBIYChBhdHRhY2htZW50X2Vwb2NoGAMgASgJEh0KFXByb3ZpZGVyX2Vudl9yZXZpc2lvbhgEIAEoBBIXCg9jb25maWdfcmV2aXNpb24YBSABKAQSEwoLcG9saWN5X2hhc2gYBiABKAkSHQoVY3JlZGVudGlhbHNfaW5zdGFsbGVkGAcgASgIEhUKDXBvbGljeV9hY3RpdmUYCCABKAgSJAocbGF1bmNoX2Vudmlyb25tZW50X2luc3RhbGxlZBgJIAEoCBIbChNwcm9jZXNzX2luc3RhbmNlX2lkGAogASgJEjUKBnJlYXNvbhgLIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbiLkAwoXUHJvdmlkZXJSZWFkaW5lc3NTdGF0dXMSNgoHcmVjZWlwdBgBIAEoCzIlLm9wZW5zaGVsbC52MS5Qcm92aWRlck11dGF0aW9uUmVjZWlwdBIzCgVzdGF0ZRgCIAEoDjIkLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1N0YXRlEjUKBnJlYXNvbhgDIAEoDjIlLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc1JlYXNvbhI8CghvYnNlcnZlZBgEIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlYWRpbmVzc09ic2VydmF0aW9uEhsKE25ldHdvcmtfaW5zdGFuY2VfaWQYBSABKAkSMQoNb2JzZXJ2ZWRfdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoOZXZhbHVhdGVkX3RpbWUYayABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjYKCW9wZXJhdGlvbhgIIAEoCzIjLm9wZW5zaGVsbC52MS5Db25maWdVcGRhdGVPcGVyYXRpb25KBAgGEAdKBAgHEAhSDm9ic2VydmVkX2F0X21zUg9ldmFsdWF0ZWRfYXRfbXMinAEKH0dldFNhbmRib3hQcm92aWRlclN0YXR1c1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhIKCnJlY2VpcHRfaWQYAyABKAkiWQogR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzUmVzcG9uc2USNQoGc3RhdHVzGAEgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVhZGluZXNzU3RhdHVzInUKHlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEj8KC29ic2VydmF0aW9uGAIgASgLMioub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVhZGluZXNzT2JzZXJ2YXRpb24i4gEKH1JlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVzcG9uc2USGQoRYWNjZXB0ZWRfc2VxdWVuY2UYASABKAQSMgoPcmVwb3J0X2ludGVydmFsGGYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjIKD29ic2VydmF0aW9uX3R0bBhnIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkoECAIQA0oECAMQBFIXcmVwb3J0X2ludGVydmFsX3NlY29uZHNSF29ic2VydmF0aW9uX3R0bF9zZWNvbmRzImoKFURlbGV0ZVNhbmRib3hSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZRISCgpzYW5kYm94X2lkGAMgASgJSgQIARACUgdkZWxldGVkIm4KF0NyZWF0ZVNzaFNlc3Npb25SZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCSLvAQoYQ3JlYXRlU3NoU2Vzc2lvblJlc3BvbnNlEhIKCnNhbmRib3hfaWQYASABKAkSEwoFdG9rZW4YAiABKAlCBIi1GAESFAoMZ2F0ZXdheV9ob3N0GAMgASgJEhQKDGdhdGV3YXlfcG9ydBgEIAEoDRIWCg5nYXRld2F5X3NjaGVtZRgFIAEoCRIcChRob3N0X2tleV9maW5nZXJwcmludBgHIAEoCRIzCg9leHBpcmF0aW9uX3RpbWUYbCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSgQICBAJUg1leHBpcmVzX2F0X21zIvYBChRFeHBvc2VTZXJ2aWNlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBSABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYAiABKAkSEwoLdGFyZ2V0X3BvcnQYAyABKA0SDgoGZG9tYWluGAQgASgIEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgGIAEoCRJCChJhdXRob3JpemF0aW9uX21vZGUYByABKA4yJi5vcGVuc2hlbGwudjEuU2VydmljZUF1dGhvcml6YXRpb25Nb2RlInYKEUdldFNlcnZpY2VSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgCIAEoCRIPCgdzYW5kYm94GAEgASgJIpEBChNMaXN0U2VydmljZXNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEQoJcGFnZV9zaXplGAIgASgFEhIKCnBhZ2VfdG9rZW4YAyABKAkSDwoHc2FuZGJveBgBIAEoCSJoChRMaXN0U2VydmljZXNSZXNwb25zZRI3CghzZXJ2aWNlcxgBIAMoCzIlLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkipAEKFERlbGV0ZVNlcnZpY2VSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgCIAEoCRIPCgdzYW5kYm94GAEgASgJEhUKDWFsbG93X21pc3NpbmcYBCABKAgSEgoKcmVxdWVzdF9pZBgFIAEoCSJWChVEZWxldGVTZXJ2aWNlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQi4wEKD1NlcnZpY2VFbmRwb2ludBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRISCgpzYW5kYm94X2lkGAIgASgJEg8KB3NhbmRib3gYAyABKAkSDAoEbmFtZRgEIAEoCRITCgt0YXJnZXRfcG9ydBgFIAEoDRIOCgZkb21haW4YBiABKAgSQgoSYXV0aG9yaXphdGlvbl9tb2RlGAcgASgOMiYub3BlbnNoZWxsLnYxLlNlcnZpY2VBdXRob3JpemF0aW9uTW9kZSJXChdTZXJ2aWNlRW5kcG9pbnRSZXNwb25zZRIvCghlbmRwb2ludBgBIAEoCzIdLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnQSCwoDdXJsGAIgASgJIkUKF1Jldm9rZVNzaFNlc3Npb25SZXF1ZXN0EhMKBXRva2VuGAEgASgJQgSItRgBEhUKDWFsbG93X21pc3NpbmcYAiABKAgiWQoYUmV2b2tlU3NoU2Vzc2lvblJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdyZXZva2VkIrgDChJFeGVjU2FuZGJveFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAwgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIPCgdzYW5kYm94GAEgASgJEg8KB2NvbW1hbmQYAiADKAkSDwoHd29ya2RpchgDIAEoCRJGCgtlbnZpcm9ubWVudBgEIAMoCzIxLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFJlcXVlc3QuRW52aXJvbm1lbnRFbnRyeRI0ChFleGVjdXRpb25fdGltZW91dBhpIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhINCgVzdGRpbhgGIAEoDBILCgN0dHkYByABKAgSDAoEY29scxgIIAEoDRIMCgRyb3dzGAkgASgNEhYKDm5vX2xvZ2luX3NoZWxsGAogASgIEhIKCnJlcXVlc3RfaWQYCyABKAkaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIBRAGUg90aW1lb3V0X3NlY29uZHMiIQoRRXhlY1NhbmRib3hTdGRvdXQSDAoEZGF0YRgBIAEoDCIhChFFeGVjU2FuZGJveFN0ZGVychIMCgRkYXRhGAEgASgMIiQKD0V4ZWNTYW5kYm94RXhpdBIRCglleGl0X2NvZGUYASABKAUisgEKEEV4ZWNTYW5kYm94RXZlbnQSMQoGc3Rkb3V0GAEgASgLMh8ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94U3Rkb3V0SAASMQoGc3RkZXJyGAIgASgLMh8ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94U3RkZXJySAASLQoEZXhpdBgDIAEoCzIdLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveEV4aXRIAEIJCgdwYXlsb2FkIs8BCg5UY3BGb3J3YXJkSW5pdBIPCgdzYW5kYm94GAEgASgJEhEKCXdvcmtzcGFjZRgDIAEoCRISCgpzZXJ2aWNlX2lkGAQgASgJEisKA3NzaBgFIAEoCzIcLm9wZW5zaGVsbC52MS5Tc2hSZWxheVRhcmdldEgAEisKA3RjcBgGIAEoCzIcLm9wZW5zaGVsbC52MS5UY3BSZWxheVRhcmdldEgAEiEKE2F1dGhvcml6YXRpb25fdG9rZW4YByABKAlCBIi1GAFCCAoGdGFyZ2V0IloKD1RjcEZvcndhcmRGcmFtZRIsCgRpbml0GAEgASgLMhwub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRJbml0SAASDgoEZGF0YRgCIAEoDEgAQgkKB3BheWxvYWQimgEKEEV4ZWNTYW5kYm94SW5wdXQSMQoFc3RhcnQYASABKAsyIC5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hSZXF1ZXN0SAASDwoFc3RkaW4YAiABKAxIABI3CgZyZXNpemUYAyABKAsyJS5vcGVuc2hlbGwudjEuRXhlY1NhbmRib3hXaW5kb3dSZXNpemVIAEIJCgdwYXlsb2FkIjUKF0V4ZWNTYW5kYm94V2luZG93UmVzaXplEgwKBGNvbHMYASABKA0SDAoEcm93cxgCIAEoDSLGAQoKU3NoU2Vzc2lvbhI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRISCgpzYW5kYm94X2lkGAIgASgJEhMKBXRva2VuGAMgASgJQgSItRgBEjMKD2V4cGlyYXRpb25fdGltZRhoIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHcmV2b2tlZBgFIAEoCEoECAQQBVINZXhwaXJlc19hdF9tcyKAAwoTV2F0Y2hTYW5kYm94UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYCyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSFQoNZm9sbG93X3N0YXR1cxgCIAEoCBITCgtmb2xsb3dfbG9ncxgDIAEoCBIVCg1mb2xsb3dfZXZlbnRzGAQgASgIEhYKDmxvZ190YWlsX2xpbmVzGAUgASgNEhIKCmV2ZW50X3RhaWwYBiABKA0SGAoQc3RvcF9vbl90ZXJtaW5hbBgHIAEoCBIuCgpzaW5jZV90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtsb2dfc291cmNlcxgJIAMoCRIVCg1sb2dfbWluX2xldmVsGAogASgJEhsKE3Jlc3VtZV9hZnRlcl9jdXJzb3IYDCABKAlKBAgIEAlSDGxvZ19zaW5jZV9tcyKrAgoSU2FuZGJveFN0cmVhbUV2ZW50EigKB3NhbmRib3gYASABKAsyFS5vcGVuc2hlbGwudjEuU2FuZGJveEgAEisKA2xvZxgCIAEoCzIcLm9wZW5zaGVsbC52MS5TYW5kYm94TG9nTGluZUgAEiwKBWV2ZW50GAMgASgLMhsub3BlbnNoZWxsLnYxLlBsYXRmb3JtRXZlbnRIABI1Cgd3YXJuaW5nGAQgASgLMiIub3BlbnNoZWxsLnYxLlNhbmRib3hTdHJlYW1XYXJuaW5nSAASPgoTZHJhZnRfcG9saWN5X3VwZGF0ZRgFIAEoCzIfLm9wZW5zaGVsbC52MS5EcmFmdFBvbGljeVVwZGF0ZUgAEg4KBmN1cnNvchgGIAEoCUIJCgdwYXlsb2FkIpECCg5TYW5kYm94TG9nTGluZRISCgpzYW5kYm94X2lkGAEgASgJEi4KCmV2ZW50X3RpbWUYZiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBWxldmVsGAMgASgJEg4KBnRhcmdldBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEg4KBnNvdXJjZRgGIAEoCRI4CgZmaWVsZHMYByADKAsyKC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmUuRmllbGRzRW50cnkaLQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAIQA1IMdGltZXN0YW1wX21zIicKFFNhbmRib3hTdHJlYW1XYXJuaW5nEg8KB21lc3NhZ2UYASABKAkiowEKFUNyZWF0ZVByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchISCgpyZXF1ZXN0X2lkGAMgASgJImYKEkdldFByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkiyQEKHUdldFByb3ZpZGVyQ3JlZGVudGlhbHNSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDAoEbmFtZRgCIAEoCRIXCg9jcmVkZW50aWFsX2tleXMYAyADKAkSPQoabWluaW11bV9yZW1haW5pbmdfbGlmZXRpbWUYBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24iYwoXUHJvdmlkZXJDcmVkZW50aWFsVmFsdWUSEwoFdmFsdWUYASABKAlCBIi1GAESMwoPZXhwaXJhdGlvbl90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLPAQoeR2V0UHJvdmlkZXJDcmVkZW50aWFsc1Jlc3BvbnNlElIKC2NyZWRlbnRpYWxzGAEgAygLMj0ub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyQ3JlZGVudGlhbHNSZXNwb25zZS5DcmVkZW50aWFsc0VudHJ5GlkKEENyZWRlbnRpYWxzRW50cnkSCwoDa2V5GAEgASgJEjQKBXZhbHVlGAIgASgLMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFZhbHVlOgI4ASKZAQoUTGlzdFByb3ZpZGVyc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCRIWCg5sYWJlbF9zZWxlY3RvchgEIAEoCSK0AwoVVXBkYXRlUHJvdmlkZXJSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISMgoIcHJvdmlkZXIYASABKAsyIC5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLlByb3ZpZGVyEmcKG2NyZWRlbnRpYWxfZXhwaXJhdGlvbl90aW1lcxhmIAMoCzJCLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclJlcXVlc3QuQ3JlZGVudGlhbEV4cGlyYXRpb25UaW1lc0VudHJ5EigKIGNsZWFyX2NyZWRlbnRpYWxfZXhwaXJhdGlvbl9rZXlzGGcgAygJEhIKCnJlcXVlc3RfaWQYBCABKAkaXAoeQ3JlZGVudGlhbEV4cGlyYXRpb25UaW1lc0VudHJ5EgsKA2tleRgBIAEoCRIpCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXA6AjgBSgQIAhADUhhjcmVkZW50aWFsX2V4cGlyZXNfYXRfbXMilAEKFURlbGV0ZVByb3ZpZGVyUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgwKBG5hbWUYASABKAkSFQoNYWxsb3dfbWlzc2luZxgEIAEoCBISCgpyZXF1ZXN0X2lkGAUgASgJIpsBChBQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchI+Cg90YXJnZXRfcmVjZWlwdHMYAiADKAsyJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJNdXRhdGlvblJlY2VpcHQSEwoLbXV0YXRpb25faWQYAyABKAkiZQoVTGlzdFByb3ZpZGVyc1Jlc3BvbnNlEjMKCXByb3ZpZGVycxgBIAMoCzIgLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuUHJvdmlkZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIogBChtMaXN0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCSJrChlHZXRQcm92aWRlclByb2ZpbGVSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgCIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISCgoCaWQYASABKAkiWwoZUHJvdmlkZXJQcm9maWxlSW1wb3J0SXRlbRIuCgdwcm9maWxlGAEgASgLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIOCgZzb3VyY2UYAiABKAkicQoZUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxIOCgZzb3VyY2UYASABKAkSEgoKcHJvZmlsZV9pZBgCIAEoCRINCgVmaWVsZBgDIAEoCRIPCgdtZXNzYWdlGAQgASgJEhAKCHNldmVyaXR5GAUgASgJInoKLFByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRBdWRpZW5jZU92ZXJyaWRlEgwKBGhvc3QYASABKAkSDAoEcG9ydBgCIAEoDRIMCgRwYXRoGAMgASgJEhAKCGF1ZGllbmNlGAQgASgJEg4KBnNjb3BlcxgFIAMoCSJqCihQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50U3ViamVjdFRva2VuEg4KBnNvdXJjZRgBIAEoCRISCgpjcmVkZW50aWFsGAIgASgJEhoKEnN1YmplY3RfdG9rZW5fdHlwZRgDIAEoCSLiAwocUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudBIWCg50b2tlbl9lbmRwb2ludBgBIAEoCRIQCghhdWRpZW5jZRgCIAEoCRIZChFqd3Rfc3ZpZF9hdWRpZW5jZRgGIAEoCRIOCgZzY29wZXMYAyADKAkSLAoJY2FjaGVfdHRsGGggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uElYKEmF1ZGllbmNlX292ZXJyaWRlcxgFIAMoCzI6Lm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50QXVkaWVuY2VPdmVycmlkZRIdChVjbGllbnRfYXNzZXJ0aW9uX3R5cGUYByABKAkSQgoKZ3JhbnRfdHlwZRgIIAEoDjIuLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50VHlwZRJNCg1zdWJqZWN0X3Rva2VuGAkgASgLMjYub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRTdWJqZWN0VG9rZW4SHAoUcmVxdWVzdGVkX3Rva2VuX3R5cGUYCiABKAlKBAgEEAVSEWNhY2hlX3R0bF9zZWNvbmRzIuoCChlQcm92aWRlclByb2ZpbGVDcmVkZW50aWFsEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIZW52X3ZhcnMYAyADKAkSEAoIcmVxdWlyZWQYBCABKAgSEgoKYXV0aF9zdHlsZRgFIAEoCRITCgtoZWFkZXJfbmFtZRgGIAEoCRITCgtxdWVyeV9wYXJhbRgHIAEoCRI4CgdyZWZyZXNoGAggASgLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2gSFQoNcGF0aF90ZW1wbGF0ZRgJIAEoCRI/Cgt0b2tlbl9ncmFudBgKIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50EhoKEnRva2VuX2dyYW50X293bmVycxgLIAMoCRIaChJzdGFibGVfcGxhY2Vob2xkZXIYDCABKAgiaAohUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaE1hdGVyaWFsEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIcmVxdWlyZWQYAyABKAgSDgoGc2VjcmV0GAQgASgIIkUKH1Byb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hPdXRwdXQSDgoGb3V0cHV0GAEgASgJEhIKCmNyZWRlbnRpYWwYAiABKAkirQMKGVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2gSQQoIc3RyYXRlZ3kYASABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5EhEKCXRva2VuX3VybBgCIAEoCRIOCgZzY29wZXMYAyADKAkSMQoOcmVmcmVzaF9iZWZvcmUYaCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLwoMbWF4X2xpZmV0aW1lGGkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEkEKCG1hdGVyaWFsGAYgAygLMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hNYXRlcmlhbBJJChJhZGRpdGlvbmFsX291dHB1dHMYByADKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaE91dHB1dEoECAQQBUoECAUQBlIWcmVmcmVzaF9iZWZvcmVfc2Vjb25kc1IUbWF4X2xpZmV0aW1lX3NlY29uZHMihgUKH1Byb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0dXMSEAoIcHJvdmlkZXIYASABKAkSEwoLcHJvdmlkZXJfaWQYAiABKAkSFgoOY3JlZGVudGlhbF9rZXkYAyABKAkSQQoIc3RyYXRlZ3kYBCABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5Eg4KBnN0YXR1cxgFIAEoCRIzCg9leHBpcmF0aW9uX3RpbWUYaiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKEW5leHRfcmVmcmVzaF90aW1lGGsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1ChFsYXN0X3JlZnJlc2hfdGltZRhsIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKbGFzdF9lcnJvchgJIAEoCRJOCg9yZWNvdmVyeV9hY3Rpb24YCiABKA4yNS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFJlY292ZXJ5QWN0aW9uEhQKDGZhaWx1cmVfY29kZRgLIAEoCRIeChZwcm92aWRlcl9lcnJvcl9zdWJ0eXBlGAwgASgJEjMKD2xhc3RfZXJyb3JfdGltZRhxIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgGEAdKBAgHEAhKBAgIEAlKBAgNEA5SDWV4cGlyZXNfYXRfbXNSEm5leHRfcmVmcmVzaF9hdF9tc1ISbGFzdF9yZWZyZXNoX2F0X21zUhBsYXN0X2Vycm9yX2F0X21zIi8KGFByb3ZpZGVyUHJvZmlsZURpc2NvdmVyeRITCgtjcmVkZW50aWFscxgBIAMoCSKPAQofR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJImYKIEdldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1Jlc3BvbnNlEkIKC2NyZWRlbnRpYWxzGAEgAygLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0dXMi1AMKH0NvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAcgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghwcm92aWRlchgBIAEoCRIWCg5jcmVkZW50aWFsX2tleRgCIAEoCRJBCghzdHJhdGVneRgDIAEoDjIvLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RyYXRlZ3kSUwoIbWF0ZXJpYWwYBCADKAsyOy5vcGVuc2hlbGwudjEuQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdC5NYXRlcmlhbEVudHJ5QgSItRgBEhwKFHNlY3JldF9tYXRlcmlhbF9rZXlzGAUgAygJEjMKD2V4cGlyYXRpb25fdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKcmVxdWVzdF9pZBgIIAEoCRovCg1NYXRlcmlhbEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgGEAdSDWV4cGlyZXNfYXRfbXMiYQogQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVzcG9uc2USPQoGc3RhdHVzGAEgASgLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0dXMiowEKH1JvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAMgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghwcm92aWRlchgBIAEoCRIWCg5jcmVkZW50aWFsX2tleRgCIAEoCRISCgpyZXF1ZXN0X2lkGAQgASgJImEKIFJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlc3BvbnNlEj0KBnN0YXR1cxgBIAEoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzIrcBChxEZWxldGVQcm92aWRlclJlZnJlc2hSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgEIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSFQoNYWxsb3dfbWlzc2luZxgFIAEoCBISCgpyZXF1ZXN0X2lkGAYgASgJIl4KHURlbGV0ZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdkZWxldGVkIuoECg9Qcm92aWRlclByb2ZpbGUSCgoCaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjcKCGNhdGVnb3J5GAQgASgOMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUNhdGVnb3J5EjwKC2NyZWRlbnRpYWxzGAUgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUNyZWRlbnRpYWwSOAoJZW5kcG9pbnRzGAYgAygLMiUub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya0VuZHBvaW50EjUKCGJpbmFyaWVzGAcgAygLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya0JpbmFyeRIZChFpbmZlcmVuY2VfY2FwYWJsZRgIIAEoCBI5CglkaXNjb3ZlcnkYCSABKAsyJi5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlzY292ZXJ5EhgKEHJlc291cmNlX3ZlcnNpb24YCiABKAQSQwoLYW5ub3RhdGlvbnMYCyADKAsyLi5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlLkFubm90YXRpb25zRW50cnkSDgoGc291cmNlGAwgASgJEg0KBXNjb3BlGA0gASgJEjAKBWZpbGVzGA4gAygLMiEub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUZpbGUaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkUKE1Byb3ZpZGVyUHJvZmlsZUZpbGUSDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgJEg8KB2Vudl92YXIYAyABKAkiSQoXUHJvdmlkZXJQcm9maWxlUmVzcG9uc2USLgoHcHJvZmlsZRgBIAEoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUiaAocTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRIvCghwcm9maWxlcxgBIAMoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIrIBCh1JbXBvcnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjkKCHByb2ZpbGVzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0SEgoKcmVxdWVzdF9pZBgDIAEoCSKhAQoeSW1wb3J0UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlEjwKC2RpYWdub3N0aWNzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZURpYWdub3N0aWMSLwoIcHJvZmlsZXMYAiADKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEhAKCGltcG9ydGVkGAMgASgIIuABCh1VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjgKB3Byb2ZpbGUYASABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlSW1wb3J0SXRlbRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAIgASgEEgoKAmlkGAMgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkinwEKHlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRI8CgtkaWFnbm9zdGljcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEi4KB3Byb2ZpbGUYAiABKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEg8KB3VwZGF0ZWQYAyABKAginAEKG0xpbnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEjkKCHByb2ZpbGVzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUltcG9ydEl0ZW0ikAEKHExpbnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxINCgV2YWxpZBgCIAEoCBIjChtzdXBwb3J0c19zdGFibGVfcGxhY2Vob2xkZXIYAyABKAgiVwoWRGVsZXRlUHJvdmlkZXJSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCKZAQocRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEgoKAmlkGAEgASgJEhUKDWFsbG93X21pc3NpbmcYAyABKAgSEgoKcmVxdWVzdF9pZBgEIAEoCSJeCh1EZWxldGVQcm92aWRlclByb2ZpbGVSZXNwb25zZRIuCgdvdXRjb21lGAIgASgOMh0ub3BlbnNoZWxsLnYxLkRlbGV0aW9uT3V0Y29tZUoECAEQAlIHZGVsZXRlZCKdAQokR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSKwojc3VwcG9ydHNfc3RhdGljX2NyZWRlbnRpYWxfYmluZGluZ3MYAiABKAgSNAosc3VwcG9ydHNfc3RhYmxlX3BsYWNlaG9sZGVyX2Vudmlyb25tZW50X2tleXMYAyABKAgiSwofU3RhdGljQ3JlZGVudGlhbEVuZHBvaW50QmluZGluZxIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0SDAoEcGF0aBgDIAEoCSKcAQoXU3RhdGljQ3JlZGVudGlhbEJpbmRpbmcSQAoJZW5kcG9pbnRzGAEgAygLMi0ub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxFbmRwb2ludEJpbmRpbmcSGwoTY3JlZGVudGlhbF9pZGVudGl0eRgCIAEoCRIiChp3b3JrbG9hZF9jcmVkZW50aWFsX2hhbmRsZRgDIAEoCSL9CQolR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZRJfCgtlbnZpcm9ubWVudBgBIAMoCzJELm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkVudmlyb25tZW50RW50cnlCBIi1GAESHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAIgASgEEncKG2NyZWRlbnRpYWxfZXhwaXJhdGlvbl90aW1lcxhnIAMoCzJSLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkNyZWRlbnRpYWxFeHBpcmF0aW9uVGltZXNFbnRyeRJoChNkeW5hbWljX2NyZWRlbnRpYWxzGAQgAygLMksub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UuRHluYW1pY0NyZWRlbnRpYWxzRW50cnkSdQoac3RhdGljX2NyZWRlbnRpYWxfYmluZGluZ3MYBSADKAsyUS5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5TdGF0aWNDcmVkZW50aWFsQmluZGluZ3NFbnRyeRIjChtub25fc2VjcmV0X2Vudmlyb25tZW50X2tleXMYBiADKAkSIQoZcHJvdmlkZXJfYXR0YWNobWVudF9lcG9jaBgHIAEoCRITCgtwb2xpY3lfaGFzaBgIIAEoCRI/ChByZWFkaW5lc3NfcmVhc29uGAkgASgOMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVhZGluZXNzUmVhc29uEk0KBWZpbGVzGAogAygLMj4ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UuRmlsZXNFbnRyeRIrCiNzdGFibGVfcGxhY2Vob2xkZXJfZW52aXJvbm1lbnRfa2V5cxgLIAMoCRI0CixzdXBwb3J0c19zdGFibGVfcGxhY2Vob2xkZXJfZW52aXJvbm1lbnRfa2V5cxgMIAEoCBoyChBFbnZpcm9ubWVudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaXAoeQ3JlZGVudGlhbEV4cGlyYXRpb25UaW1lc0VudHJ5EgsKA2tleRgBIAEoCRIpCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXA6AjgBGmIKF0R5bmFtaWNDcmVkZW50aWFsc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDcmVkZW50aWFsOgI4ARpmCh1TdGF0aWNDcmVkZW50aWFsQmluZGluZ3NFbnRyeRILCgNrZXkYASABKAkSNAoFdmFsdWUYAiABKAsyJS5vcGVuc2hlbGwudjEuU3RhdGljQ3JlZGVudGlhbEJpbmRpbmc6AjgBGiwKCkZpbGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAMQBFIYY3JlZGVudGlhbF9leHBpcmVzX2F0X21zIqYCChhQcm92aWRlckVudmlyb25tZW50VmFsdWUSDAoEbmFtZRgBIAEoCRITCgV2YWx1ZRgCIAEoCUIEiLUYARJMCg5jbGFzc2lmaWNhdGlvbhgEIAEoDjI0Lm9wZW5zaGVsbC52MS5Qcm92aWRlckVudmlyb25tZW50VmFsdWVDbGFzc2lmaWNhdGlvbhJIChlzdGF0aWNfY3JlZGVudGlhbF9iaW5kaW5nGAUgASgLMiUub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxCaW5kaW5nEjMKD2V4cGlyYXRpb25fdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoSc3RhYmxlX3BsYWNlaG9sZGVyGAYgASgIIqQEChtQcm92aWRlckVudmlyb25tZW50U25hcHNob3QSHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAEgASgEEjYKBnZhbHVlcxgCIAMoCzImLm9wZW5zaGVsbC52MS5Qcm92aWRlckVudmlyb25tZW50VmFsdWUSXgoTZHluYW1pY19jcmVkZW50aWFscxgDIAMoCzJBLm9wZW5zaGVsbC52MS5Qcm92aWRlckVudmlyb25tZW50U25hcHNob3QuRHluYW1pY0NyZWRlbnRpYWxzRW50cnkSIQoZcHJvdmlkZXJfYXR0YWNobWVudF9lcG9jaBgEIAEoCRITCgtwb2xpY3lfaGFzaBgFIAEoCRI/ChByZWFkaW5lc3NfcmVhc29uGAYgASgOMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVhZGluZXNzUmVhc29uEkMKBWZpbGVzGAcgAygLMjQub3BlbnNoZWxsLnYxLlByb3ZpZGVyRW52aXJvbm1lbnRTbmFwc2hvdC5GaWxlc0VudHJ5GmIKF0R5bmFtaWNDcmVkZW50aWFsc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVDcmVkZW50aWFsOgI4ARosCgpGaWxlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEihgEKI0V4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSFgoOY3JlZGVudGlhbF9rZXkYAyABKAkSIQoTc3VwZXJ2aXNvcl9qd3Rfc3ZpZBgEIAEoCUIEiLUYASKaAQokRXhjaGFuZ2VQcm92aWRlclN1YmplY3RUb2tlblJlc3BvbnNlEhoKDGFjY2Vzc190b2tlbhgBIAEoCUIEiLUYARIwCg1leHBpcmVzX2FmdGVyGGYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhIKCnRva2VuX3R5cGUYAyABKAlKBAgCEANSCmV4cGlyZXNfaW4iiQQKE1VwZGF0ZUNvbmZpZ1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAogASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIzCgZwb2xpY3kYAiABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5EhMKC3NldHRpbmdfa2V5GAMgASgJEjkKDXNldHRpbmdfdmFsdWUYBCABKAsyIi5vcGVuc2hlbGwuc2FuZGJveC52MS5TZXR0aW5nVmFsdWUSFgoOZGVsZXRlX3NldHRpbmcYBSABKAgSDgoGZ2xvYmFsGAYgASgIEjwKEG1lcmdlX29wZXJhdGlvbnMYByADKAsyIi5vcGVuc2hlbGwudjEuUG9saWN5TWVyZ2VPcGVyYXRpb24SIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgIIAEoBBJHCgthbm5vdGF0aW9ucxgJIAMoCzIyLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXF1ZXN0LkFubm90YXRpb25zRW50cnkSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAsgASgJGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL3AgoUUG9saWN5TWVyZ2VPcGVyYXRpb24SMAoIYWRkX3J1bGUYASABKAsyHC5vcGVuc2hlbGwudjEuQWRkTmV0d29ya1J1bGVIABI+Cg9yZW1vdmVfZW5kcG9pbnQYAiABKAsyIy5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya0VuZHBvaW50SAASNgoLcmVtb3ZlX3J1bGUYAyABKAsyHy5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya1J1bGVIABI0Cg5hZGRfZGVueV9ydWxlcxgEIAEoCzIaLm9wZW5zaGVsbC52MS5BZGREZW55UnVsZXNIABI2Cg9hZGRfYWxsb3dfcnVsZXMYBSABKAsyGy5vcGVuc2hlbGwudjEuQWRkQWxsb3dSdWxlc0gAEjoKDXJlbW92ZV9iaW5hcnkYBiABKAsyIS5vcGVuc2hlbGwudjEuUmVtb3ZlTmV0d29ya0JpbmFyeUgAQgsKCW9wZXJhdGlvbiJaCg5BZGROZXR3b3JrUnVsZRIRCglydWxlX25hbWUYASABKAkSNQoEcnVsZRgCIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlIkYKFVJlbW92ZU5ldHdvcmtFbmRwb2ludBIRCglydWxlX25hbWUYASABKAkSDAoEaG9zdBgCIAEoCRIMCgRwb3J0GAMgASgNIiYKEVJlbW92ZU5ldHdvcmtSdWxlEhEKCXJ1bGVfbmFtZRgBIAEoCSKlAQoMTDdSdWxlVGFyZ2V0EhEKCXJ1bGVfbmFtZRgBIAEoCRIMCgRob3N0GAIgASgJEg0KBXBvcnRzGAMgAygNEhEKBHBhdGgYBCABKAlIAIgBARI1CghiaW5hcmllcxgFIAMoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtCaW5hcnkSEgoKYW55X2JpbmFyeRgGIAEoCEIHCgVfcGF0aCKIAQoMQWRkRGVueVJ1bGVzEjQKCmRlbnlfcnVsZXMYAyADKAsyIC5vcGVuc2hlbGwuc2FuZGJveC52MS5MN0RlbnlSdWxlEioKBnRhcmdldBgEIAEoCzIaLm9wZW5zaGVsbC52MS5MN1J1bGVUYXJnZXRKBAgBEAJKBAgCEANSBGhvc3RSBHBvcnQigAEKDUFkZEFsbG93UnVsZXMSKwoFcnVsZXMYAyADKAsyHC5vcGVuc2hlbGwuc2FuZGJveC52MS5MN1J1bGUSKgoGdGFyZ2V0GAQgASgLMhoub3BlbnNoZWxsLnYxLkw3UnVsZVRhcmdldEoECAEQAkoECAIQA1IEaG9zdFIEcG9ydCI9ChNSZW1vdmVOZXR3b3JrQmluYXJ5EhEKCXJ1bGVfbmFtZRgBIAEoCRITCgtiaW5hcnlfcGF0aBgCIAEoCSLmAQoUVXBkYXRlQ29uZmlnUmVzcG9uc2USDwoHdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCRIZChFzZXR0aW5nc19yZXZpc2lvbhgDIAEoBBIPCgdkZWxldGVkGAQgASgIEkgKC2Fubm90YXRpb25zGAUgAygLMjMub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1Jlc3BvbnNlLkFubm90YXRpb25zRW50cnkaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIpUBCh1HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3ZlcnNpb24YAiABKA0SDgoGZ2xvYmFsGAMgASgIEg8KB3NhbmRib3gYASABKAkibwoeR2V0U2FuZGJveFBvbGljeVN0YXR1c1Jlc3BvbnNlEjUKCHJldmlzaW9uGAEgASgLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbhIWCg5hY3RpdmVfdmVyc2lvbhgCIAEoDSKoAQoaTGlzdFNhbmRib3hQb2xpY2llc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAUgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYAiABKAUSEgoKcGFnZV90b2tlbhgDIAEoCRIOCgZnbG9iYWwYBCABKAgSDwoHc2FuZGJveBgBIAEoCSJuChtMaXN0U2FuZGJveFBvbGljaWVzUmVzcG9uc2USNgoJcmV2aXNpb25zGAEgAygLMiMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbhIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkigAEKGVJlcG9ydFBvbGljeVN0YXR1c1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRIPCgd2ZXJzaW9uGAIgASgNEioKBnN0YXR1cxgDIAEoDjIaLm9wZW5zaGVsbC52MS5Qb2xpY3lTdGF0dXMSEgoKbG9hZF9lcnJvchgEIAEoCSIcChpSZXBvcnRQb2xpY3lTdGF0dXNSZXNwb25zZSLiAQodU2FuZGJveENvbmZpZ3VyYXRpb25BZG1pc3Npb24SEwoLaW5zdGFuY2VfaWQYASABKAkSOAoFc3RhdGUYAiABKA4yKS5vcGVuc2hlbGwudjEuQ29uZmlndXJhdGlvbkFkbWlzc2lvblN0YXRlEhYKDnBvbGljeV92ZXJzaW9uGAMgASgNEhMKC3BvbGljeV9oYXNoGAQgASgJEhcKD2NvbmZpZ19yZXZpc2lvbhgFIAEoBBIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YBiABKAQSDQoFZXJyb3IYByABKAkilQEKIVJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEj4KCWFkbWlzc2lvbhgCIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIcChRleHBlY3RlZF9pbnN0YW5jZV9pZBgDIAEoCSIkCiJSZXBvcnRTYW5kYm94Q29uZmlndXJhdGlvblJlc3BvbnNlIroDChVTYW5kYm94UG9saWN5UmV2aXNpb24SDwoHdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCRIqCgZzdGF0dXMYAyABKA4yGi5vcGVuc2hlbGwudjEuUG9saWN5U3RhdHVzEhIKCmxvYWRfZXJyb3IYBCABKAkSMAoMY3JlYXRlZF90aW1lGGkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtsb2FkZWRfdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoGcG9saWN5GAcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRJHCgpwcm92ZW5hbmNlGAggAygLMjMub3BlbnNoZWxsLnYxLlNhbmRib3hQb2xpY3lSZXZpc2lvbi5Qcm92ZW5hbmNlRW50cnkaMQoPUHJvdmVuYW5jZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgFEAZKBAgGEAdSDWNyZWF0ZWRfYXRfbXNSDGxvYWRlZF9hdF9tcyLfAQoVR2V0U2FuZGJveExvZ3NSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgGIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISDwoHc2FuZGJveBgBIAEoCRINCgVsaW5lcxgCIAEoDRIuCgpzaW5jZV90aW1lGGcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdzb3VyY2VzGAQgAygJEhEKCW1pbl9sZXZlbBgFIAEoCUoECAMQBFIIc2luY2VfbXMiWAoWUHVzaFNhbmRib3hMb2dzUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEioKBGxvZ3MYAiADKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmUiGQoXUHVzaFNhbmRib3hMb2dzUmVzcG9uc2UiWgoWR2V0U2FuZGJveExvZ3NSZXNwb25zZRIqCgRsb2dzGAEgAygLMhwub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lEhQKDGJ1ZmZlcl90b3RhbBgCIAEoDSK1AgoRU3VwZXJ2aXNvck1lc3NhZ2USLgoFaGVsbG8YASABKAsyHS5vcGVuc2hlbGwudjEuU3VwZXJ2aXNvckhlbGxvSAASNgoJaGVhcnRiZWF0GAIgASgLMiEub3BlbnNoZWxsLnYxLlN1cGVydmlzb3JIZWFydGJlYXRIABI6ChFyZWxheV9vcGVuX3Jlc3VsdBgDIAEoCzIdLm9wZW5zaGVsbC52MS5SZWxheU9wZW5SZXN1bHRIABIvCgtyZWxheV9jbG9zZRgEIAEoCzIYLm9wZW5zaGVsbC52MS5SZWxheUNsb3NlSAASQAoUY29uZmlnX3VwZGF0ZV9yZXN1bHQYBSABKAsyIC5vcGVuc2hlbGwudjEuQ29uZmlnVXBkYXRlUmVzdWx0SABCCQoHcGF5bG9hZCKWAwoOR2F0ZXdheU1lc3NhZ2USOQoQc2Vzc2lvbl9hY2NlcHRlZBgBIAEoCzIdLm9wZW5zaGVsbC52MS5TZXNzaW9uQWNjZXB0ZWRIABI5ChBzZXNzaW9uX3JlamVjdGVkGAIgASgLMh0ub3BlbnNoZWxsLnYxLlNlc3Npb25SZWplY3RlZEgAEjMKCWhlYXJ0YmVhdBgDIAEoCzIeLm9wZW5zaGVsbC52MS5HYXRld2F5SGVhcnRiZWF0SAASLQoKcmVsYXlfb3BlbhgEIAEoCzIXLm9wZW5zaGVsbC52MS5SZWxheU9wZW5IABIvCgtyZWxheV9jbG9zZRgFIAEoCzIYLm9wZW5zaGVsbC52MS5SZWxheUNsb3NlSAASOQoQc2Vzc2lvbl9yZWRpcmVjdBgGIAEoCzIdLm9wZW5zaGVsbC52MS5TZXNzaW9uUmVkaXJlY3RIABIzCg1jb25maWdfdXBkYXRlGAcgASgLMhoub3BlbnNoZWxsLnYxLkNvbmZpZ1VwZGF0ZUgAQgkKB3BheWxvYWQizgEKD1N1cGVydmlzb3JIZWxsbxISCgpzYW5kYm94X2lkGAEgASgJEhMKC2luc3RhbmNlX2lkGAIgASgJEhgKEGNvbm5lY3Rpb25fZXBvY2gYAyABKAQSIwobc3VwcG9ydHNfcHJvdmlkZXJfcmVhZGluZXNzGAQgASgIEhIKCnJlZGlyZWN0ZWQYBSABKAgSIQoZc3VwcG9ydHNfc2Vzc2lvbl9yZWRpcmVjdBgGIAEoCBIcChRzdXBwb3J0c19jb25maWdfcHVzaBgHIAEoCCLHAQoPU2Vzc2lvbkFjY2VwdGVkEhIKCnNlc3Npb25faWQYASABKAkSLQoJYm9vdHN0cmFwGAMgASgLMhoub3BlbnNoZWxsLnYxLkNvbmZpZ1VwZGF0ZRIbChNjb25maWdfcHVzaF9lbmFibGVkGAQgASgIEjUKEmhlYXJ0YmVhdF9pbnRlcnZhbBhmIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkoECAIQA1IXaGVhcnRiZWF0X2ludGVydmFsX3NlY3MirwEKDENvbmZpZ1VwZGF0ZRIRCgl1cGRhdGVfaWQYASABKAkSQwoOc2FuZGJveF9jb25maWcYAiABKAsyKy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94Q29uZmlnU25hcHNob3QSRwoUcHJvdmlkZXJfZW52aXJvbm1lbnQYAyABKAsyKS5vcGVuc2hlbGwudjEuUHJvdmlkZXJFbnZpcm9ubWVudFNuYXBzaG90IkYKEkNvbmZpZ0FwcGx5RmFpbHVyZRIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEQoJcmV0cnlhYmxlGAMgASgIIoICChJDb25maWdVcGRhdGVSZXN1bHQSEQoJdXBkYXRlX2lkGAEgASgJEjEKB291dGNvbWUYAiABKA4yIC5vcGVuc2hlbGwudjEuQ29uZmlnQXBwbHlPdXRjb21lEjEKB2ZhaWx1cmUYAyABKAsyIC5vcGVuc2hlbGwudjEuQ29uZmlnQXBwbHlGYWlsdXJlEj4KCWFkbWlzc2lvbhgEIAEoCzIrLm9wZW5zaGVsbC52MS5TYW5kYm94Q29uZmlndXJhdGlvbkFkbWlzc2lvbhIzCgtwb2xpY3lfbG9hZBgFIAEoCzIeLm9wZW5zaGVsbC52MS5Qb2xpY3lMb2FkUmVzdWx0IkIKEFBvbGljeUxvYWRSZXN1bHQSDwoHdmVyc2lvbhgBIAEoDRIOCgZsb2FkZWQYAiABKAgSDQoFZXJyb3IYAyABKAkiIQoPU2Vzc2lvblJlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSJCCg9TZXNzaW9uUmVkaXJlY3QSFQoNcGVlcl9lbmRwb2ludBgBIAEoCRIYChBvd25lcl9yZXBsaWNhX2lkGAIgASgJIhUKE1N1cGVydmlzb3JIZWFydGJlYXQiEgoQR2F0ZXdheUhlYXJ0YmVhdCJaChxSZXBvcnRNYWluUHJvY2Vzc0V4aXRSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSEwoLaW5zdGFuY2VfaWQYAiABKAkSEQoJZXhpdF9jb2RlGAMgASgFIh8KHVJlcG9ydE1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIkkKHkZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEhMKC2luc3RhbmNlX2lkGAIgASgJIiEKH0ZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVzcG9uc2UilwEKCVJlbGF5T3BlbhISCgpjaGFubmVsX2lkGAEgASgJEisKA3NzaBgCIAEoCzIcLm9wZW5zaGVsbC52MS5Tc2hSZWxheVRhcmdldEgAEisKA3RjcBgDIAEoCzIcLm9wZW5zaGVsbC52MS5UY3BSZWxheVRhcmdldEgAEhIKCnNlcnZpY2VfaWQYBSABKAlCCAoGdGFyZ2V0IhAKDlNzaFJlbGF5VGFyZ2V0IiwKDlRjcFJlbGF5VGFyZ2V0EgwKBGhvc3QYASABKAkSDAoEcG9ydBgCIAEoDSIfCglSZWxheUluaXQSEgoKY2hhbm5lbF9pZBgBIAEoCSJQCgpSZWxheUZyYW1lEicKBGluaXQYASABKAsyFy5vcGVuc2hlbGwudjEuUmVsYXlJbml0SAASDgoEZGF0YRgCIAEoDEgAQgkKB3BheWxvYWQibgoNUGVlclJlbGF5SW5pdBISCgpzYW5kYm94X2lkGAEgASgJEisKCnJlbGF5X29wZW4YAiABKAsyFy5vcGVuc2hlbGwudjEuUmVsYXlPcGVuEhwKFHJlcXVlc3Rlcl9yZXBsaWNhX2lkGAMgASgJIlgKDlBlZXJSZWxheUZyYW1lEisKBGluaXQYASABKAsyGy5vcGVuc2hlbGwudjEuUGVlclJlbGF5SW5pdEgAEg4KBGRhdGEYAiABKAxIAEIJCgdwYXlsb2FkIkEKF1BlZXJDb25maWdTYW5kYm94VGFyZ2V0EhIKCnNhbmRib3hfaWQYASABKAkSEgoKc2Vzc2lvbl9pZBgCIAEoCSI7ChhQZWVyQ29uZmlnUHJvdmlkZXJUYXJnZXQSEQoJd29ya3NwYWNlGAEgASgJEgwKBG5hbWUYAiABKAkizAEKHVBlZXJOb3RpZnlDb25maWdVcGRhdGVSZXF1ZXN0EjgKB3NhbmRib3gYASABKAsyJS5vcGVuc2hlbGwudjEuUGVlckNvbmZpZ1NhbmRib3hUYXJnZXRIABITCgl3b3Jrc3BhY2UYAiABKAlIABIXCg1hbGxfY29ubmVjdGVkGAMgASgISAASOgoIcHJvdmlkZXIYBCABKAsyJi5vcGVuc2hlbGwudjEuUGVlckNvbmZpZ1Byb3ZpZGVyVGFyZ2V0SABCBwoFc2NvcGUiNQoeUGVlck5vdGlmeUNvbmZpZ1VwZGF0ZVJlc3BvbnNlEhMKC3N0YWxlX293bmVyGAEgASgIIkUKD1JlbGF5T3BlblJlc3VsdBISCgpjaGFubmVsX2lkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSDQoFZXJyb3IYAyABKAkiMAoKUmVsYXlDbG9zZRISCgpjaGFubmVsX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJQCg9MN1JlcXVlc3RTYW1wbGUSDgoGbWV0aG9kGAEgASgJEgwKBHBhdGgYAiABKAkSEAoIZGVjaXNpb24YAyABKAkSDQoFY291bnQYBCABKA0i+gMKDURlbmlhbFN1bW1hcnkSEgoKc2FuZGJveF9pZBgBIAEoCRIMCgRob3N0GAIgASgJEgwKBHBvcnQYAyABKA0SDgoGYmluYXJ5GAQgASgJEhEKCWFuY2VzdG9ycxgFIAMoCRITCgtkZW55X3JlYXNvbhgGIAEoCRIzCg9maXJzdF9zZWVuX3RpbWUYayABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmxhc3Rfc2Vlbl90aW1lGGwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVjb3VudBgJIAEoDRIYChBzdXBwcmVzc2VkX2NvdW50GAogASgNEhMKC3RvdGFsX2NvdW50GAsgASgNEhcKD3NhbXBsZV9jbWRsaW5lcxgMIAMoCRIVCg1iaW5hcnlfc2hhMjU2GA0gASgJEhIKCnBlcnNpc3RlbnQYDiABKAgSFAoMZGVuaWFsX3N0YWdlGA8gASgJEjkKEmw3X3JlcXVlc3Rfc2FtcGxlcxgQIAMoCzIdLm9wZW5zaGVsbC52MS5MN1JlcXVlc3RTYW1wbGUSHAoUbDdfaW5zcGVjdGlvbl9hY3RpdmUYESABKAhKBAgHEAhKBAgIEAlSDWZpcnN0X3NlZW5fbXNSDGxhc3Rfc2Vlbl9tcyI8ChBEZW5pYWxHcm91cENvdW50EhIKCmRlbnlfZ3JvdXAYASABKAkSFAoMZGVuaWVkX2NvdW50GAIgASgNIo8BChZOZXR3b3JrQWN0aXZpdHlTdW1tYXJ5Eh4KFm5ldHdvcmtfYWN0aXZpdHlfY291bnQYASABKA0SGwoTZGVuaWVkX2FjdGlvbl9jb3VudBgCIAEoDRI4ChBkZW5pYWxzX2J5X2dyb3VwGAMgAygLMh4ub3BlbnNoZWxsLnYxLkRlbmlhbEdyb3VwQ291bnQijAcKC1BvbGljeUNodW5rEgoKAmlkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIRCglydWxlX25hbWUYAyABKAkSPgoNcHJvcG9zZWRfcnVsZRgEIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlEhEKCXJhdGlvbmFsZRgFIAEoCRIWCg5zZWN1cml0eV9ub3RlcxgGIAEoCRISCgpjb25maWRlbmNlGAcgASgCEhoKEmRlbmlhbF9zdW1tYXJ5X2lkcxgIIAMoCRIwCgxjcmVhdGVkX3RpbWUYbSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGRlY2lkZWRfdGltZRhuIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFc3RhZ2UYCyABKAkSGwoTc3VwZXJzZWRlc19jaHVua19pZBgMIAEoCRIRCgloaXRfY291bnQYDSABKAUSMwoPZmlyc3Rfc2Vlbl90aW1lGHIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5sYXN0X3NlZW5fdGltZRhzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGYmluYXJ5GBAgASgJEhkKEXZhbGlkYXRpb25fcmVzdWx0GBEgASgJEhgKEHJlamVjdGlvbl9yZWFzb24YEiABKAkSGQoRYXBwbGljYXRpb25fZXJyb3IYEyABKAkSFAoMcmV2aWV3X3Rva2VuGBQgASgJEiUKHWN1cnJlbnRfZWZmZWN0aXZlX3BvbGljeV9oYXNoGBUgASgJEicKH2NhbmRpZGF0ZV9lZmZlY3RpdmVfcG9saWN5X2hhc2gYFiABKAkSRQoYY3VycmVudF9lZmZlY3RpdmVfcG9saWN5GBcgASgLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuU2FuZGJveFBvbGljeRJHChpjYW5kaWRhdGVfZWZmZWN0aXZlX3BvbGljeRgYIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3lKBAgJEApKBAgKEAtKBAgOEA9KBAgPEBBSDWNyZWF0ZWRfYXRfbXNSDWRlY2lkZWRfYXRfbXNSDWZpcnN0X3NlZW5fbXNSDGxhc3Rfc2Vlbl9tcyJmChFEcmFmdFBvbGljeVVwZGF0ZRIVCg1kcmFmdF92ZXJzaW9uGAEgASgEEhIKCm5ld19jaHVua3MYAiABKA0SFQoNdG90YWxfcGVuZGluZxgDIAEoDRIPCgdzdW1tYXJ5GAQgASgJIrQCChtTdWJtaXRQb2xpY3lBbmFseXNpc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAYgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIuCglzdW1tYXJpZXMYASADKAsyGy5vcGVuc2hlbGwudjEuRGVuaWFsU3VtbWFyeRIyCg9wcm9wb3NlZF9jaHVua3MYAiADKAsyGS5vcGVuc2hlbGwudjEuUG9saWN5Q2h1bmsSFQoNYW5hbHlzaXNfbW9kZRgDIAEoCRIMCgRuYW1lGAQgASgJEkgKGm5ldHdvcmtfYWN0aXZpdHlfc3VtbWFyaWVzGAUgAygLMiQub3BlbnNoZWxsLnYxLk5ldHdvcmtBY3Rpdml0eVN1bW1hcnkihwEKHFN1Ym1pdFBvbGljeUFuYWx5c2lzUmVzcG9uc2USFwoPYWNjZXB0ZWRfY2h1bmtzGAEgASgNEhcKD3JlamVjdGVkX2NodW5rcxgCIAEoDRIZChFyZWplY3Rpb25fcmVhc29ucxgDIAMoCRIaChJhY2NlcHRlZF9jaHVua19pZHMYBCADKAkigwEKFUdldERyYWZ0UG9saWN5UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhUKDXN0YXR1c19maWx0ZXIYAiABKAkSDwoHc2FuZGJveBgBIAEoCSLGAQoWR2V0RHJhZnRQb2xpY3lSZXNwb25zZRIpCgZjaHVua3MYASADKAsyGS5vcGVuc2hlbGwudjEuUG9saWN5Q2h1bmsSFwoPcm9sbGluZ19zdW1tYXJ5GAIgASgJEhUKDWRyYWZ0X3ZlcnNpb24YAyABKAQSNgoSbGFzdF9hbmFseXplZF90aW1lGGggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAQQBVITbGFzdF9hbmFseXplZF9hdF9tcyKrAQoYQXBwcm92ZURyYWZ0Q2h1bmtSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgDIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISEAoIY2h1bmtfaWQYAiABKAkSFAoMcmV2aWV3X3Rva2VuGAQgASgJEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgFIAEoCSJIChlBcHByb3ZlRHJhZnRDaHVua1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJIqQBChdSZWplY3REcmFmdENodW5rUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYBCABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCGNodW5rX2lkGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkiGgoYUmVqZWN0RHJhZnRDaHVua1Jlc3BvbnNlIjwKEkRyYWZ0Q2h1bmtBcHByb3ZhbBIQCghjaHVua19pZBgBIAEoCRIUCgxyZXZpZXdfdG9rZW4YAiABKAki3gEKHEFwcHJvdmVBbGxEcmFmdENodW5rc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIgChhpbmNsdWRlX3NlY3VyaXR5X2ZsYWdnZWQYAiABKAgSMwoJYXBwcm92YWxzGAMgAygLMiAub3BlbnNoZWxsLnYxLkRyYWZ0Q2h1bmtBcHByb3ZhbBIPCgdzYW5kYm94GAEgASgJEhIKCnJlcXVlc3RfaWQYBSABKAkifQodQXBwcm92ZUFsbERyYWZ0Q2h1bmtzUmVzcG9uc2USFgoOcG9saWN5X3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkSFwoPY2h1bmtzX2FwcHJvdmVkGAMgASgNEhYKDmNodW5rc19za2lwcGVkGAQgASgNItIBChVFZGl0RHJhZnRDaHVua1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAQgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIQCghjaHVua19pZBgCIAEoCRI+Cg1wcm9wb3NlZF9ydWxlGAMgASgLMicub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya1BvbGljeVJ1bGUSDwoHc2FuZGJveBgBIAEoCRISCgpyZXF1ZXN0X2lkGAUgASgJIhgKFkVkaXREcmFmdENodW5rUmVzcG9uc2UikgEKFVVuZG9EcmFmdENodW5rUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAyABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEhAKCGNodW5rX2lkGAIgASgJEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgEIAEoCSJFChZVbmRvRHJhZnRDaHVua1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJIoIBChdDbGVhckRyYWZ0Q2h1bmtzUmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSIyChhDbGVhckRyYWZ0Q2h1bmtzUmVzcG9uc2USFgoOY2h1bmtzX2NsZWFyZWQYASABKA0ibQoWR2V0RHJhZnRIaXN0b3J5UmVxdWVzdBJCCg93b3Jrc3BhY2Vfc2NvcGUYAiABKAsyKS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZVNlbGVjdG9yEg8KB3NhbmRib3gYASABKAkikgEKEURyYWZ0SGlzdG9yeUVudHJ5Ei4KCmV2ZW50X3RpbWUYZSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmV2ZW50X3R5cGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEAoIY2h1bmtfaWQYBCABKAlKBAgBEAJSDHRpbWVzdGFtcF9tcyJLChdHZXREcmFmdEhpc3RvcnlSZXNwb25zZRIwCgdlbnRyaWVzGAEgAygLMh8ub3BlbnNoZWxsLnYxLkRyYWZ0SGlzdG9yeUVudHJ5IqsBChZDcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSQAoGbGFiZWxzGAIgAygLMjAub3BlbnNoZWxsLnYxLkNyZWF0ZVdvcmtzcGFjZVJlcXVlc3QuTGFiZWxzRW50cnkSEgoKcmVxdWVzdF9pZBgDIAEoCRotCgtMYWJlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIk8KF0NyZWF0ZVdvcmtzcGFjZVJlc3BvbnNlEjQKCXdvcmtzcGFjZRgBIAEoCzIhLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlIiMKE0dldFdvcmtzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJMChRHZXRXb3Jrc3BhY2VSZXNwb25zZRI0Cgl3b3Jrc3BhY2UYASABKAsyIS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZSJWChVMaXN0V29ya3NwYWNlc1JlcXVlc3QSEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkSFgoObGFiZWxfc2VsZWN0b3IYAyABKAkiaAoWTGlzdFdvcmtzcGFjZXNSZXNwb25zZRI1Cgp3b3Jrc3BhY2VzGAEgAygLMiEub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2USFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIlEKFkRlbGV0ZVdvcmtzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIVCg1hbGxvd19taXNzaW5nGAIgASgIEhIKCnJlcXVlc3RfaWQYAyABKAkiWAoXRGVsZXRlV29ya3NwYWNlUmVzcG9uc2USLgoHb3V0Y29tZRgCIAEoDjIdLm9wZW5zaGVsbC52MS5EZWxldGlvbk91dGNvbWVKBAgBEAJSB2RlbGV0ZWQijQEKD1dvcmtzcGFjZU1lbWJlchI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRIZChFwcmluY2lwYWxfc3ViamVjdBgCIAEoCRIpCgRyb2xlGAMgASgOMhsub3BlbnNoZWxsLnYxLldvcmtzcGFjZVJvbGUiuQEKGUFkZFdvcmtzcGFjZU1lbWJlclJlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAEgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIZChFwcmluY2lwYWxfc3ViamVjdBgCIAEoCRIpCgRyb2xlGAMgASgOMhsub3BlbnNoZWxsLnYxLldvcmtzcGFjZVJvbGUSEgoKcmVxdWVzdF9pZBgEIAEoCSJLChpBZGRXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZRItCgZtZW1iZXIYASABKAsyHS5vcGVuc2hlbGwudjEuV29ya3NwYWNlTWVtYmVyIqgBChxSZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0EkIKD3dvcmtzcGFjZV9zY29wZRgBIAEoCzIpLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlU2VsZWN0b3ISGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSFQoNYWxsb3dfbWlzc2luZxgDIAEoCBISCgpyZXF1ZXN0X2lkGAQgASgJIl4KHVJlbW92ZVdvcmtzcGFjZU1lbWJlclJlc3BvbnNlEi4KB291dGNvbWUYAiABKA4yHS5vcGVuc2hlbGwudjEuRGVsZXRpb25PdXRjb21lSgQIARACUgdyZW1vdmVkIogBChtMaXN0V29ya3NwYWNlTWVtYmVyc1JlcXVlc3QSQgoPd29ya3NwYWNlX3Njb3BlGAEgASgLMikub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Xb3Jrc3BhY2VTZWxlY3RvchIRCglwYWdlX3NpemUYAiABKAUSEgoKcGFnZV90b2tlbhgDIAEoCSJnChxMaXN0V29ya3NwYWNlTWVtYmVyc1Jlc3BvbnNlEi4KB21lbWJlcnMYASADKAsyHS5vcGVuc2hlbGwudjEuV29ya3NwYWNlTWVtYmVyEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKRAQoaRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwSFAoMc2VydmljZV9uYW1lGAEgASgJEhMKBXRva2VuGAIgASgJQgSItRgBEjMKD2V4cGlyYXRpb25fdGltZRhnIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBKBAgDEARSDWV4cGlyZXNfYXRfbXMiiAEKE0VuZHBvaW50T2JzZXJ2YXRpb24SEwoLZW5kcG9pbnRfaWQYASABKAkSLAoGcmVzdWx0GAIgASgOMhwub3BlbnNoZWxsLnYxLkVuZHBvaW50UmVzdWx0Ei4KB2ZhaWx1cmUYAyABKAsyHS5vcGVuc2hlbGwudjEuRW5kcG9pbnRGYWlsdXJlIrECChtSZXBvcnRFbmRwb2ludFN0YXR1c1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRITCgtwb2xpY3lfaGFzaBgCIAEoCRIdChVwcm92aWRlcl9lbnZfcmV2aXNpb24YAyABKAQSNwoMb2JzZXJ2YXRpb25zGAQgAygLMiEub3BlbnNoZWxsLnYxLkVuZHBvaW50T2JzZXJ2YXRpb24SHQoVb2JzZXJ2ZWRfZW5kcG9pbnRfaWRzGAUgAygJEh0KFXN1cGVydmlzb3Jfc2Vzc2lvbl9pZBgGIAEoCRIXCg9yZXBvcnRfc2VxdWVuY2UYByABKAQSOgoSdG9rZW5fZ3JhbnRfc3RhdHVzGAggASgLMh4ub3BlbnNoZWxsLnYxLlRva2VuR3JhbnRTdGF0dXMiVAoQVG9rZW5HcmFudFN0YXR1cxJACgxsYXN0X2ZhaWx1cmUYASABKAsyKi5vcGVuc2hlbGwudjEuVG9rZW5HcmFudEZhaWx1cmVPYnNlcnZhdGlvbiKCAQocVG9rZW5HcmFudEZhaWx1cmVPYnNlcnZhdGlvbhIYChBkZXN0aW5hdGlvbl9ob3N0GAEgASgJEhgKEGRlc3RpbmF0aW9uX3BvcnQYAiABKA0SLgoHZmFpbHVyZRgDIAEoCzIdLm9wZW5zaGVsbC52MS5FbmRwb2ludEZhaWx1cmUiHgocUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXNwb25zZSKIAgoORW5kcG9pbnRTdGF0dXMSEwoLZW5kcG9pbnRfaWQYASABKAkSDAoEaG9zdBgCIAEoCRINCgVwb3J0cxgDIAMoDRIMCgRwYXRoGAQgASgJEjEKC2xhc3RfcmVzdWx0GAUgASgOMhwub3BlbnNoZWxsLnYxLkVuZHBvaW50UmVzdWx0EjYKEmxhc3RfcmVwb3J0ZWRfdGltZRhqIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoMbGFzdF9mYWlsdXJlGAcgASgLMh0ub3BlbnNoZWxsLnYxLkVuZHBvaW50RmFpbHVyZUoECAYQB1IQbGFzdF9yZXBvcnRlZF9hdCK7BQoTU2FuZGJveFByb3Zpc2lvbmluZxISCgphdHRlbXB0X2lkGAEgASgJEh8KF2NvbmZpZ3VyYXRpb25fY2hhbmdlX2lkGAIgASgJEj0KGWNvbmZpZ3VyYXRpb25fY2hhbmdlX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKFGZpcnN0X3JlamVjdGlvbl90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghkZWFkbGluZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMdGltZW91dF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI6ChZjbGVhbnVwX2NvbXBsZXRlZF90aW1lGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg1jbGVhbnVwX2Vycm9yGAggASgJEjYKEmNsZWFudXBfcmV0cnlfdGltZRgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUYXR0YWNobWVudF9jaGFuZ2VfaWQYCiABKAkSOgoWYXR0YWNobWVudF9jaGFuZ2VfdGltZRgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoUcHJlcGFyYXRpb25fZGVhZGxpbmUYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKFGFkbWlzc2lvbl9zdGFydF90aW1lGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIgChhkcml2ZXJfb3BlcmF0aW9uX3BlbmRpbmcYDiABKAgSGwoTZHJpdmVyX29wZXJhdGlvbl9pZBgPIAEoCSKCAQoWU2FuZGJveFNlcnZpY2VFeHBvc3VyZRIPCgdzZXJ2aWNlGAEgASgJEhMKC3RhcmdldF9wb3J0GAIgASgNEkIKEmF1dGhvcml6YXRpb25fbW9kZRgDIAEoDjImLm9wZW5zaGVsbC52MS5TZXJ2aWNlQXV0aG9yaXphdGlvbk1vZGUirQIKD0VuZHBvaW50RmFpbHVyZRIzCgZkb21haW4YASABKA4yIy5vcGVuc2hlbGwudjEuRW5kcG9pbnRGYWlsdXJlRG9tYWluEgwKBGNvZGUYAiABKAkSTgoPcmVjb3ZlcnlfYWN0aW9uGAMgASgOMjUub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hSZWNvdmVyeUFjdGlvbhIQCghwcm92aWRlchgEIAEoCRIWCg5jcmVkZW50aWFsX2tleRgFIAEoCRINCgVzdGFnZRgGIAEoCRIhChR1cHN0cmVhbV9odHRwX3N0YXR1cxgHIAEoDUgAiAEBEhIKCnJlcXVlc3RfaWQYCCABKAlCFwoVX3Vwc3RyZWFtX2h0dHBfc3RhdHVzKsoBCg1FeHRlbnNpb25LaW5kEh4KGkVYVEVOU0lPTl9LSU5EX1VOU1BFQ0lGSUVEEAASIQodRVhURU5TSU9OX0tJTkRfQ09NUFVURV9EUklWRVIQARIkCiBFWFRFTlNJT05fS0lORF9DUkVERU5USUFMX0RSSVZFUhACEiYKIkVYVEVOU0lPTl9LSU5EX0dBVEVXQVlfSU5URVJDRVBUT1IQAxIoCiRFWFRFTlNJT05fS0lORF9TVVBFUlZJU09SX01JRERMRVdBUkUQBCqBAwoMU2FuZGJveFBoYXNlEh0KGVNBTkRCT1hfUEhBU0VfVU5TUEVDSUZJRUQQABIeChpTQU5EQk9YX1BIQVNFX1BST1ZJU0lPTklORxABEhcKE1NBTkRCT1hfUEhBU0VfUkVBRFkQAhIXChNTQU5EQk9YX1BIQVNFX0VSUk9SEAMSGgoWU0FOREJPWF9QSEFTRV9ERUxFVElORxAEEhkKFVNBTkRCT1hfUEhBU0VfVU5LTk9XThAFEhoKFlNBTkRCT1hfUEhBU0VfU1RPUFBJTkcQBhIZChVTQU5EQk9YX1BIQVNFX1NUT1BQRUQQBxIaChZTQU5EQk9YX1BIQVNFX1NUQVJUSU5HEAgSGwoXU0FOREJPWF9QSEFTRV9DT01QTEVURUQQCRIcChhTQU5EQk9YX1BIQVNFX1NVU1BFTkRJTkcQCxIbChdTQU5EQk9YX1BIQVNFX1NVU1BFTkRFRBAMIgQIChAKKhhTQU5EQk9YX1BIQVNFX1JFU1RBUlRJTkcqywEKFFByb3ZpZGVyTXV0YXRpb25LaW5kEiYKIlBST1ZJREVSX01VVEFUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIhCh1QUk9WSURFUl9NVVRBVElPTl9LSU5EX0FUVEFDSBABEiEKHVBST1ZJREVSX01VVEFUSU9OX0tJTkRfREVUQUNIEAISIQodUFJPVklERVJfTVVUQVRJT05fS0lORF9VUERBVEUQAxIiCh5QUk9WSURFUl9NVVRBVElPTl9LSU5EX09CU0VSVkUQBCrPAgoWUHJvdmlkZXJSZWFkaW5lc3NTdGF0ZRIoCiRQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfVU5TUEVDSUZJRUQQABImCiJQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfUEVSU0lTVEVEEAESJAogUFJPVklERVJfUkVBRElORVNTX1NUQVRFX1BFTkRJTkcQAhIiCh5QUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfUkVBRFkQAxIlCiFQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfV0lUSEhFTEQQBBIkCiBQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfUkVWT0tFRBAFEiMKH1BST1ZJREVSX1JFQURJTkVTU19TVEFURV9GQUlMRUQQBhInCiNQUk9WSURFUl9SRUFESU5FU1NfU1RBVEVfU1VQRVJTRURFRBAHKtoGChdQcm92aWRlclJlYWRpbmVzc1JlYXNvbhIpCiVQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX1VOU1BFQ0lGSUVEEAASNAowUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9XQUlUSU5HX0ZPUl9TVVBFUlZJU09SEAESNQoxUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9XQUlUSU5HX0ZPUl9DUkVERU5USUFMUxACEjAKLFBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fV0FJVElOR19GT1JfUE9MSUNZEAMSMQotUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9XQUlUSU5HX0ZPUl9QUk9DRVNTEAQSNAowUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9VTlNVUFBPUlRFRF9TVVBFUlZJU09SEAUSMgouUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9DUkVERU5USUFMU19XSVRISEVMRBAGEjcKM1BST1ZJREVSX1JFQURJTkVTU19SRUFTT05fQ1JFREVOVElBTF9JTlNUQUxMX0ZBSUxFRBAHEjYKMlBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fUE9MSUNZX0FDVElWQVRJT05fRkFJTEVEEAgSNAowUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9QUk9DRVNTX0lOU1RBTExfRkFJTEVEEAkSNQoxUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9TVVBFUlZJU09SX0RJU0NPTk5FQ1RFRBAKEjYKMlBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fU1VQRVJWSVNPUl9MRUFTRV9FWFBJUkVEEAsSMwovUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9ERVNJUkVEX1NUQVRFX0NIQU5HRUQQDBIwCixQUk9WSURFUl9SRUFESU5FU1NfUkVBU09OX0NSRURFTlRJQUxfRVhQSVJFRBANEioKJlBST1ZJREVSX1JFQURJTkVTU19SRUFTT05fTE9DQUxfUE9MSUNZEA4SLworUFJPVklERVJfUkVBRElORVNTX1JFQVNPTl9TTkFQU0hPVF9NSVNNQVRDSBAPKoMBCg9Db25maWdDb21wb25lbnQSIAocQ09ORklHX0NPTVBPTkVOVF9VTlNQRUNJRklFRBAAEiMKH0NPTkZJR19DT01QT05FTlRfU0FOREJPWF9DT05GSUcQARIpCiVDT05GSUdfQ09NUE9ORU5UX1BST1ZJREVSX0VOVklST05NRU5UEAIqjQMKEkNvbmZpZ0FwcGx5T3V0Y29tZRIkCiBDT05GSUdfQVBQTFlfT1VUQ09NRV9VTlNQRUNJRklFRBAAEiAKHENPTkZJR19BUFBMWV9PVVRDT01FX0FQUExJRUQQARIqCiZDT05GSUdfQVBQTFlfT1VUQ09NRV9JR05PUkVEX0RVUExJQ0FURRACEiYKIkNPTkZJR19BUFBMWV9PVVRDT01FX0lHTk9SRURfU1RBTEUQAxIwCixDT05GSUdfQVBQTFlfT1VUQ09NRV9SRVRBSU5FRF9MT0NBTF9PVkVSUklERRAEEiEKHUNPTkZJR19BUFBMWV9PVVRDT01FX0RFR1JBREVEEAUSOAo0Q09ORklHX0FQUExZX09VVENPTUVfRkFJTEVEX1JFVEFJTkVEX0xBU1RfS05PV05fR09PRBAGEiYKIkNPTkZJR19BUFBMWV9PVVRDT01FX0ZBSUxFRF9DTE9TRUQQBxIkCiBDT05GSUdfQVBQTFlfT1VUQ09NRV9VTlNVUFBPUlRFRBAIKtICChpDb25maWdVcGRhdGVPcGVyYXRpb25TdGF0ZRItCilDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9VTlNQRUNJRklFRBAAEikKJUNPTkZJR19VUERBVEVfT1BFUkFUSU9OX1NUQVRFX1BFTkRJTkcQARIpCiVDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9BUFBMSUVEEAISKgomQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfSU5BQ1RJVkUQAxIoCiRDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9GQUlMRUQQBBIsCihDT05GSUdfVVBEQVRFX09QRVJBVElPTl9TVEFURV9TVVBFUlNFREVEEAUSKwonQ09ORklHX1VQREFURV9PUEVSQVRJT05fU1RBVEVfQ0FOQ0VMTEVEEAYqzgEKIFByb3ZpZGVyQ3JlZGVudGlhbFRva2VuR3JhbnRUeXBlEjQKMFBST1ZJREVSX0NSRURFTlRJQUxfVE9LRU5fR1JBTlRfVFlQRV9VTlNQRUNJRklFRBAAEjsKN1BST1ZJREVSX0NSRURFTlRJQUxfVE9LRU5fR1JBTlRfVFlQRV9DTElFTlRfQ1JFREVOVElBTFMQARI3CjNQUk9WSURFUl9DUkVERU5USUFMX1RPS0VOX0dSQU5UX1RZUEVfVE9LRU5fRVhDSEFOR0UQAirDAwohUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5EjQKMFBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9VTlNQRUNJRklFRBAAEi8KK1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9TVEFUSUMQARIxCi1QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfRVhURVJOQUwQAhI9CjlQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfT0FVVEgyX1JFRlJFU0hfVE9LRU4QAxJCCj5QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfT0FVVEgyX0NMSUVOVF9DUkVERU5USUFMUxAEEkMKP1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9HT09HTEVfU0VSVklDRV9BQ0NPVU5UX0pXVBAFEjwKOFBST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9TVFJBVEVHWV9BV1NfU1RTX0FTU1VNRV9ST0xFEAYq2wIKF1Byb3ZpZGVyUHJvZmlsZUNhdGVnb3J5EikKJVBST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfVU5TUEVDSUZJRUQQABIjCh9QUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX09USEVSEAESJwojUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9JTkZFUkVOQ0UQAhIjCh9QUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX0FHRU5UEAMSLAooUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9TT1VSQ0VfQ09OVFJPTBAEEicKI1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfTUVTU0FHSU5HEAUSIgoeUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9EQVRBEAYSJwojUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9LTk9XTEVER0UQByreAQomUHJvdmlkZXJFbnZpcm9ubWVudFZhbHVlQ2xhc3NpZmljYXRpb24SOQo1UFJPVklERVJfRU5WSVJPTk1FTlRfVkFMVUVfQ0xBU1NJRklDQVRJT05fVU5TUEVDSUZJRUQQABI4CjRQUk9WSURFUl9FTlZJUk9OTUVOVF9WQUxVRV9DTEFTU0lGSUNBVElPTl9OT05fU0VDUkVUEAESPwo7UFJPVklERVJfRU5WSVJPTk1FTlRfVkFMVUVfQ0xBU1NJRklDQVRJT05fU1RBVElDX0NSRURFTlRJQUwQAirPAQobQ29uZmlndXJhdGlvbkFkbWlzc2lvblN0YXRlEi0KKUNPTkZJR1VSQVRJT05fQURNSVNTSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASKQolQ09ORklHVVJBVElPTl9BRE1JU1NJT05fU1RBVEVfUEVORElORxABEioKJkNPTkZJR1VSQVRJT05fQURNSVNTSU9OX1NUQVRFX0FDQ0VQVEVEEAISKgomQ09ORklHVVJBVElPTl9BRE1JU1NJT05fU1RBVEVfUkVKRUNURUQQAyqaAQoMUG9saWN5U3RhdHVzEh0KGVBPTElDWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIZChVQT0xJQ1lfU1RBVFVTX1BFTkRJTkcQARIYChRQT0xJQ1lfU1RBVFVTX0xPQURFRBACEhgKFFBPTElDWV9TVEFUVVNfRkFJTEVEEAMSHAoYUE9MSUNZX1NUQVRVU19TVVBFUlNFREVEEAQqhgEKDVNlcnZpY2VTdGF0dXMSHgoaU0VSVklDRV9TVEFUVVNfVU5TUEVDSUZJRUQQABIaChZTRVJWSUNFX1NUQVRVU19IRUFMVEhZEAESGwoXU0VSVklDRV9TVEFUVVNfREVHUkFERUQQAhIcChhTRVJWSUNFX1NUQVRVU19VTkhFQUxUSFkQAypiCg1Xb3Jrc3BhY2VSb2xlEh4KGldPUktTUEFDRV9ST0xFX1VOU1BFQ0lGSUVEEAASFwoTV09SS1NQQUNFX1JPTEVfVVNFUhABEhgKFFdPUktTUEFDRV9ST0xFX0FETUlOEAIq2gIKJ1Byb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hSZWNvdmVyeUFjdGlvbhI7CjdQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX1VOU1BFQ0lGSUVEEAASNQoxUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9SRVRSWRABEjsKN1BST1ZJREVSX0NSRURFTlRJQUxfUkVGUkVTSF9SRUNPVkVSWV9BQ1RJT05fUkVBVVRIT1JJWkUQAhJBCj1QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfUkVDT1ZFUllfQUNUSU9OX0ZJWF9DT05GSUdVUkFUSU9OEAMSOwo3UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1JFQ09WRVJZX0FDVElPTl9JTlZFU1RJR0FURRAEKqoBChRTYW5kYm94UmVzdGFydFBvbGljeRImCiJTQU5EQk9YX1JFU1RBUlRfUE9MSUNZX1VOU1BFQ0lGSUVEEAASIAocU0FOREJPWF9SRVNUQVJUX1BPTElDWV9ORVZFUhABEiUKIVNBTkRCT1hfUkVTVEFSVF9QT0xJQ1lfT05fRkFJTFVSRRACEiEKHVNBTkRCT1hfUkVTVEFSVF9QT0xJQ1lfQUxXQVlTEAMqlwEKD0RlbGV0aW9uT3V0Y29tZRIgChxERUxFVElPTl9PVVRDT01FX1VOU1BFQ0lGSUVEEAASHgoaREVMRVRJT05fT1VUQ09NRV9DT01QTEVURUQQARIdChlERUxFVElPTl9PVVRDT01FX0FDQ0VQVEVEEAISIwofREVMRVRJT05fT1VUQ09NRV9BTFJFQURZX0FCU0VOVBADKsMCCg5FbmRwb2ludFJlc3VsdBIfChtFTkRQT0lOVF9SRVNVTFRfVU5TUEVDSUZJRUQQABIoCiRFTkRQT0lOVF9SRVNVTFRfTk9fT0JTRVJWRURfRVhDSEFOR0UQARIqCiZFTkRQT0lOVF9SRVNVTFRfSFRUUF9SRVNQT05TRV9SRUNFSVZFRBACEiEKHUVORFBPSU5UX1JFU1VMVF9QT0xJQ1lfREVOSUVEEAMSKgomRU5EUE9JTlRfUkVTVUxUX0NSRURFTlRJQUxfVU5BVkFJTEFCTEUQBBIeChpFTkRQT0lOVF9SRVNVTFRfVExTX0ZBSUxFRBAFEiQKIEVORFBPSU5UX1JFU1VMVF9UUkFOU1BPUlRfRkFJTEVEEAYSJQohRU5EUE9JTlRfUkVTVUxUX1VQU1RSRUFNX1JFSkVDVEVEEAcqnwEKGFNlcnZpY2VBdXRob3JpemF0aW9uTW9kZRIqCiZTRVJWSUNFX0FVVEhPUklaQVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEiQKIFNFUlZJQ0VfQVVUSE9SSVpBVElPTl9NT0RFX1NUUklQEAESMQotU0VSVklDRV9BVVRIT1JJWkFUSU9OX01PREVfQkVBUkVSX1BBU1NUSFJPVUdIEAIqaQoVRW5kcG9pbnRGYWlsdXJlRG9tYWluEicKI0VORFBPSU5UX0ZBSUxVUkVfRE9NQUlOX1VOU1BFQ0lGSUVEEAASJwojRU5EUE9JTlRfRkFJTFVSRV9ET01BSU5fVE9LRU5fR1JBTlQQATKmWQoJT3BlblNoZWxsEloKBkhlYWx0aBIbLm9wZW5zaGVsbC52MS5IZWFsdGhSZXF1ZXN0Ghwub3BlbnNoZWxsLnYxLkhlYWx0aFJlc3BvbnNlIhWCtRgRCg91bmF1dGhlbnRpY2F0ZWQSaQoOR2V0Q3VycmVudFVzZXISIy5vcGVuc2hlbGwudjEuR2V0Q3VycmVudFVzZXJSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiDIK1GAgKBmJlYXJlchKGAQoOR2V0R2F0ZXdheUluZm8SIy5vcGVuc2hlbGwudjEuR2V0R2F0ZXdheUluZm9SZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldEdhdGV3YXlJbmZvUmVzcG9uc2UiKYK1GCUKBmJlYXJlchoOcGxhdGZvcm1fYWRtaW4iC2NvbmZpZzpyZWFkEnUKDUNyZWF0ZVNhbmRib3gSIi5vcGVuc2hlbGwudjEuQ3JlYXRlU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSkwEKFUJlZ2luUm9vdGZzVGFyU3RhZ2luZxIqLm9wZW5zaGVsbC52MS5CZWdpblJvb3Rmc1RhclN0YWdpbmdSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkJlZ2luUm9vdGZzVGFyU3RhZ2luZ1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSbgoKR2V0U2FuZGJveBIfLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnoKDUxpc3RTYW5kYm94ZXMSIi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hlc1JlcXVlc3QaIy5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hlc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKOAQoVQ3JlYXRlU2FuZGJveFRlbXBsYXRlEioub3BlbnNoZWxsLnYxLkNyZWF0ZVNhbmRib3hUZW1wbGF0ZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2FuZGJveFRlbXBsYXRlUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIFYWRtaW4iDXNhbmRib3g6d3JpdGUShgEKEkdldFNhbmRib3hUZW1wbGF0ZRInLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94VGVtcGxhdGVSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZVJlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKPAQoUTGlzdFNhbmRib3hUZW1wbGF0ZXMSKS5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hUZW1wbGF0ZXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94VGVtcGxhdGVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEpQBChVEZWxldGVTYW5kYm94VGVtcGxhdGUSKi5vcGVuc2hlbGwudjEuRGVsZXRlU2FuZGJveFRlbXBsYXRlUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94VGVtcGxhdGVSZXNwb25zZSIigrUYHgoGYmVhcmVyEgVhZG1pbiINc2FuZGJveDp3cml0ZRKPAQoUTGlzdFNhbmRib3hQcm92aWRlcnMSKS5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQcm92aWRlcnNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RTYW5kYm94UHJvdmlkZXJzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEpMBChVBdHRhY2hTYW5kYm94UHJvdmlkZXISKi5vcGVuc2hlbGwudjEuQXR0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEpMBChVEZXRhY2hTYW5kYm94UHJvdmlkZXISKi5vcGVuc2hlbGwudjEuRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEpsBChhHZXRTYW5kYm94UHJvdmlkZXJTdGF0dXMSLS5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyU3RhdHVzUmVxdWVzdBouLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSewoNRGVsZXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94UmVxdWVzdBojLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJxCgtTdG9wU2FuZGJveBIgLm9wZW5zaGVsbC52MS5TdG9wU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUScwoMU3RhcnRTYW5kYm94EiEub3BlbnNoZWxsLnYxLlN0YXJ0U2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSdwoOU3VzcGVuZFNhbmRib3gSIy5vcGVuc2hlbGwudjEuU3VzcGVuZFNhbmRib3hSZXF1ZXN0Gh0ub3BlbnNoZWxsLnYxLlNhbmRib3hSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnUKDVJlc3VtZVNhbmRib3gSIi5vcGVuc2hlbGwudjEuUmVzdW1lU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUShAEKEENyZWF0ZVNzaFNlc3Npb24SJS5vcGVuc2hlbGwudjEuQ3JlYXRlU3NoU2Vzc2lvblJlcXVlc3QaJi5vcGVuc2hlbGwudjEuQ3JlYXRlU3NoU2Vzc2lvblJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSfQoNRXhwb3NlU2VydmljZRIiLm9wZW5zaGVsbC52MS5FeHBvc2VTZXJ2aWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnYKCkdldFNlcnZpY2USHy5vcGVuc2hlbGwudjEuR2V0U2VydmljZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50UmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEncKDExpc3RTZXJ2aWNlcxIhLm9wZW5zaGVsbC52MS5MaXN0U2VydmljZXNSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLkxpc3RTZXJ2aWNlc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ7Cg1EZWxldGVTZXJ2aWNlEiIub3BlbnNoZWxsLnYxLkRlbGV0ZVNlcnZpY2VSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkRlbGV0ZVNlcnZpY2VSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEoQBChBSZXZva2VTc2hTZXNzaW9uEiUub3BlbnNoZWxsLnYxLlJldm9rZVNzaFNlc3Npb25SZXF1ZXN0GiYub3BlbnNoZWxsLnYxLlJldm9rZVNzaFNlc3Npb25SZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnQKC0V4ZWNTYW5kYm94EiAub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94UmVxdWVzdBoeLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveEV2ZW50IiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUwARJxCgpGb3J3YXJkVGNwEh0ub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRGcmFtZRodLm9wZW5zaGVsbC52MS5UY3BGb3J3YXJkRnJhbWUiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZSgBMAESfwoWRXhlY1NhbmRib3hJbnRlcmFjdGl2ZRIeLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveElucHV0Gh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94RXZlbnQiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZSgBMAESegoOQ3JlYXRlUHJvdmlkZXISIy5vcGVuc2hlbGwudjEuQ3JlYXRlUHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEnIKC0dldFByb3ZpZGVyEiAub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVxdWVzdBoeLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSgwEKFkdldFByb3ZpZGVyQ3JlZGVudGlhbHMSKy5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJDcmVkZW50aWFsc1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJDcmVkZW50aWFsc1Jlc3BvbnNlIg6CtRgKCghvcGVyYXRvchJ7Cg1MaXN0UHJvdmlkZXJzEiIub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlcnNSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlcnNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEpABChRMaXN0UHJvdmlkZXJQcm9maWxlcxIpLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEocBChJHZXRQcm92aWRlclByb2ZpbGUSJy5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJQcm9maWxlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEpgBChZJbXBvcnRQcm92aWRlclByb2ZpbGVzEisub3BlbnNoZWxsLnYxLkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Giwub3BlbnNoZWxsLnYxLkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSmAEKFlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXMSKy5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJQcm9maWxlc1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKQAQoUTGludFByb3ZpZGVyUHJvZmlsZXMSKS5vcGVuc2hlbGwudjEuTGludFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpbnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBJ6Cg5VcGRhdGVQcm92aWRlchIjLm9wZW5zaGVsbC52MS5VcGRhdGVQcm92aWRlclJlcXVlc3QaHi5vcGVuc2hlbGwudjEuUHJvdmlkZXJSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSnAEKGEdldFByb3ZpZGVyUmVmcmVzaFN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSngEKGENvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaBItLm9wZW5zaGVsbC52MS5Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKeAQoYUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsEi0ub3BlbnNoZWxsLnYxLlJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlcXVlc3QaLi5vcGVuc2hlbGwudjEuUm90YXRlUHJvdmlkZXJDcmVkZW50aWFsUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpUBChVEZWxldGVQcm92aWRlclJlZnJlc2gSKi5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBorLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlZnJlc2hSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSgAEKDkRlbGV0ZVByb3ZpZGVyEiMub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVxdWVzdBokLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKVAQoVRGVsZXRlUHJvdmlkZXJQcm9maWxlEioub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlcXVlc3QaKy5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJQcm9maWxlUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpABChBHZXRTYW5kYm94Q29uZmlnEi0ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0U2FuZGJveENvbmZpZ1JlcXVlc3QaLi5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRTYW5kYm94Q29uZmlnUmVzcG9uc2UiHYK1GBkKBGR1YWwSBHVzZXIiC2NvbmZpZzpyZWFkEowBChBHZXRHYXRld2F5Q29uZmlnEi0ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0R2F0ZXdheUNvbmZpZ1JlcXVlc3QaLi5vcGVuc2hlbGwuc2FuZGJveC52MS5HZXRHYXRld2F5Q29uZmlnUmVzcG9uc2UiGYK1GBUKBmJlYXJlciILY29uZmlnOnJlYWQSdgoMVXBkYXRlQ29uZmlnEiEub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1JlcXVlc3QaIi5vcGVuc2hlbGwudjEuVXBkYXRlQ29uZmlnUmVzcG9uc2UiH4K1GBsKBGR1YWwSBWFkbWluIgxjb25maWc6d3JpdGUSlQEKFkdldFNhbmRib3hQb2xpY3lTdGF0dXMSKy5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFBvbGljeVN0YXR1c1JlcXVlc3QaLC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFBvbGljeVN0YXR1c1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBKMAQoTTGlzdFNhbmRib3hQb2xpY2llcxIoLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFBvbGljaWVzUmVxdWVzdBopLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFBvbGljaWVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEnYKElJlcG9ydFBvbGljeVN0YXR1cxInLm9wZW5zaGVsbC52MS5SZXBvcnRQb2xpY3lTdGF0dXNSZXF1ZXN0Gigub3BlbnNoZWxsLnYxLlJlcG9ydFBvbGljeVN0YXR1c1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnwKFFJlcG9ydEVuZHBvaW50U3RhdHVzEikub3BlbnNoZWxsLnYxLlJlcG9ydEVuZHBvaW50U3RhdHVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EoUBChdSZXBvcnRQcm92aWRlclJlYWRpbmVzcxIsLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1JlcXVlc3QaLS5vcGVuc2hlbGwudjEuUmVwb3J0UHJvdmlkZXJSZWFkaW5lc3NSZXNwb25zZSINgrUYCQoHc2FuZGJveBKOAQoaUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb24SLy5vcGVuc2hlbGwudjEuUmVwb3J0U2FuZGJveENvbmZpZ3VyYXRpb25SZXF1ZXN0GjAub3BlbnNoZWxsLnYxLlJlcG9ydFNhbmRib3hDb25maWd1cmF0aW9uUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSlwEKHUdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50EjIub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVxdWVzdBozLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlIg2CtRgJCgdzYW5kYm94EpQBChxFeGNoYW5nZVByb3ZpZGVyU3ViamVjdFRva2VuEjEub3BlbnNoZWxsLnYxLkV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXF1ZXN0GjIub3BlbnNoZWxsLnYxLkV4Y2hhbmdlUHJvdmlkZXJTdWJqZWN0VG9rZW5SZXNwb25zZSINgrUYCQoHc2FuZGJveBJ9Cg5HZXRTYW5kYm94TG9ncxIjLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94TG9nc1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0U2FuZGJveExvZ3NSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSbwoPUHVzaFNhbmRib3hMb2dzEiQub3BlbnNoZWxsLnYxLlB1c2hTYW5kYm94TG9nc1JlcXVlc3QaJS5vcGVuc2hlbGwudjEuUHVzaFNhbmRib3hMb2dzUmVzcG9uc2UiDYK1GAkKB3NhbmRib3goARJlChFDb25uZWN0U3VwZXJ2aXNvchIfLm9wZW5zaGVsbC52MS5TdXBlcnZpc29yTWVzc2FnZRocLm9wZW5zaGVsbC52MS5HYXRld2F5TWVzc2FnZSINgrUYCQoHc2FuZGJveCgBMAESfwoVUmVwb3J0TWFpblByb2Nlc3NFeGl0Eioub3BlbnNoZWxsLnYxLlJlcG9ydE1haW5Qcm9jZXNzRXhpdFJlcXVlc3QaKy5vcGVuc2hlbGwudjEuUmVwb3J0TWFpblByb2Nlc3NFeGl0UmVzcG9uc2UiDYK1GAkKB3NhbmRib3gShQEKF0ZpbmFsaXplTWFpblByb2Nlc3NFeGl0Eiwub3BlbnNoZWxsLnYxLkZpbmFsaXplTWFpblByb2Nlc3NFeGl0UmVxdWVzdBotLm9wZW5zaGVsbC52MS5GaW5hbGl6ZU1haW5Qcm9jZXNzRXhpdFJlc3BvbnNlIg2CtRgJCgdzYW5kYm94ElQKC1JlbGF5U3RyZWFtEhgub3BlbnNoZWxsLnYxLlJlbGF5RnJhbWUaGC5vcGVuc2hlbGwudjEuUmVsYXlGcmFtZSINgrUYCQoHc2FuZGJveCgBMAESVwoJUGVlclJlbGF5Ehwub3BlbnNoZWxsLnYxLlBlZXJSZWxheUZyYW1lGhwub3BlbnNoZWxsLnYxLlBlZXJSZWxheUZyYW1lIgqCtRgGCgRwZWVyKAEwARKGAQobUGVlclJlcG9ydFByb3ZpZGVyUmVhZGluZXNzEiwub3BlbnNoZWxsLnYxLlJlcG9ydFByb3ZpZGVyUmVhZGluZXNzUmVxdWVzdBotLm9wZW5zaGVsbC52MS5SZXBvcnRQcm92aWRlclJlYWRpbmVzc1Jlc3BvbnNlIgqCtRgGCgRwZWVyEn0KGFBlZXJSZXBvcnRFbmRwb2ludFN0YXR1cxIpLm9wZW5zaGVsbC52MS5SZXBvcnRFbmRwb2ludFN0YXR1c1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuUmVwb3J0RW5kcG9pbnRTdGF0dXNSZXNwb25zZSIKgrUYBgoEcGVlchKJAQocUGVlckdldFNhbmRib3hQcm92aWRlclN0YXR1cxItLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJTdGF0dXNSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlclN0YXR1c1Jlc3BvbnNlIgqCtRgGCgRwZWVyEn8KFlBlZXJOb3RpZnlDb25maWdVcGRhdGUSKy5vcGVuc2hlbGwudjEuUGVlck5vdGlmeUNvbmZpZ1VwZGF0ZVJlcXVlc3QaLC5vcGVuc2hlbGwudjEuUGVlck5vdGlmeUNvbmZpZ1VwZGF0ZVJlc3BvbnNlIgqCtRgGCgRwZWVyEncKDFdhdGNoU2FuZGJveBIhLm9wZW5zaGVsbC52MS5XYXRjaFNhbmRib3hSZXF1ZXN0GiAub3BlbnNoZWxsLnYxLlNhbmRib3hTdHJlYW1FdmVudCIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQwARJ8ChRTdWJtaXRQb2xpY3lBbmFseXNpcxIpLm9wZW5zaGVsbC52MS5TdWJtaXRQb2xpY3lBbmFseXNpc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuU3VibWl0UG9saWN5QW5hbHlzaXNSZXNwb25zZSINgrUYCQoHc2FuZGJveBJ6Cg5HZXREcmFmdFBvbGljeRIjLm9wZW5zaGVsbC52MS5HZXREcmFmdFBvbGljeVJlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0RHJhZnRQb2xpY3lSZXNwb25zZSIdgrUYGQoEZHVhbBIEdXNlciILY29uZmlnOnJlYWQShwEKEUFwcHJvdmVEcmFmdENodW5rEiYub3BlbnNoZWxsLnYxLkFwcHJvdmVEcmFmdENodW5rUmVxdWVzdBonLm9wZW5zaGVsbC52MS5BcHByb3ZlRHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUShAEKEFJlamVjdERyYWZ0Q2h1bmsSJS5vcGVuc2hlbGwudjEuUmVqZWN0RHJhZnRDaHVua1JlcXVlc3QaJi5vcGVuc2hlbGwudjEuUmVqZWN0RHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSkwEKFUFwcHJvdmVBbGxEcmFmdENodW5rcxIqLm9wZW5zaGVsbC52MS5BcHByb3ZlQWxsRHJhZnRDaHVua3NSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkFwcHJvdmVBbGxEcmFmdENodW5rc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSfgoORWRpdERyYWZ0Q2h1bmsSIy5vcGVuc2hlbGwudjEuRWRpdERyYWZ0Q2h1bmtSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkVkaXREcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRJ+Cg5VbmRvRHJhZnRDaHVuaxIjLm9wZW5zaGVsbC52MS5VbmRvRHJhZnRDaHVua1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuVW5kb0RyYWZ0Q2h1bmtSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEoQBChBDbGVhckRyYWZ0Q2h1bmtzEiUub3BlbnNoZWxsLnYxLkNsZWFyRHJhZnRDaHVua3NSZXF1ZXN0GiYub3BlbnNoZWxsLnYxLkNsZWFyRHJhZnRDaHVua3NSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEn8KD0dldERyYWZ0SGlzdG9yeRIkLm9wZW5zaGVsbC52MS5HZXREcmFmdEhpc3RvcnlSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkdldERyYWZ0SGlzdG9yeVJlc3BvbnNlIh+CtRgbCgZiZWFyZXISBHVzZXIiC2NvbmZpZzpyZWFkEnMKEUlzc3VlU2FuZGJveFRva2VuEiYub3BlbnNoZWxsLnYxLklzc3VlU2FuZGJveFRva2VuUmVxdWVzdBonLm9wZW5zaGVsbC52MS5Jc3N1ZVNhbmRib3hUb2tlblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnkKE1JlZnJlc2hTYW5kYm94VG9rZW4SKC5vcGVuc2hlbGwudjEuUmVmcmVzaFNhbmRib3hUb2tlblJlcXVlc3QaKS5vcGVuc2hlbGwudjEuUmVmcmVzaFNhbmRib3hUb2tlblJlc3BvbnNlIg2CtRgJCgdzYW5kYm94Eo0BCg9DcmVhdGVXb3Jrc3BhY2USJC5vcGVuc2hlbGwudjEuQ3JlYXRlV29ya3NwYWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXNwb25zZSItgrUYKQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiIPd29ya3NwYWNlOndyaXRlEnkKDEdldFdvcmtzcGFjZRIhLm9wZW5zaGVsbC52MS5HZXRXb3Jrc3BhY2VSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLkdldFdvcmtzcGFjZVJlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkEn8KDkxpc3RXb3Jrc3BhY2VzEiMub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VzUmVxdWVzdBokLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlc1Jlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkEo0BCg9EZWxldGVXb3Jrc3BhY2USJC5vcGVuc2hlbGwudjEuRGVsZXRlV29ya3NwYWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5EZWxldGVXb3Jrc3BhY2VSZXNwb25zZSItgrUYKQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiIPd29ya3NwYWNlOndyaXRlEo0BChJBZGRXb3Jrc3BhY2VNZW1iZXISJy5vcGVuc2hlbGwudjEuQWRkV29ya3NwYWNlTWVtYmVyUmVxdWVzdBooLm9wZW5zaGVsbC52MS5BZGRXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZSIkgrUYIAoGYmVhcmVyEgVhZG1pbiIPd29ya3NwYWNlOndyaXRlEpYBChVSZW1vdmVXb3Jrc3BhY2VNZW1iZXISKi5vcGVuc2hlbGwudjEuUmVtb3ZlV29ya3NwYWNlTWVtYmVyUmVxdWVzdBorLm9wZW5zaGVsbC52MS5SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZSIkgrUYIAoGYmVhcmVyEgVhZG1pbiIPd29ya3NwYWNlOndyaXRlEpEBChRMaXN0V29ya3NwYWNlTWVtYmVycxIpLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlTWVtYmVyc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXNwb25zZSIigrUYHgoGYmVhcmVyEgR1c2VyIg53b3Jrc3BhY2U6cmVhZGIGcHJvdG8z", [file_datamodel, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_options, file_sandbox]);
12
12
  /**
13
13
  * Describes the message openshell.v1.IssueSandboxTokenRequest.
14
14
  * Use `create(IssueSandboxTokenRequestSchema)` to create a new message.
@@ -259,1001 +259,1011 @@ export const StopSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell
259
259
  * Use `create(StartSandboxRequestSchema)` to create a new message.
260
260
  */
261
261
  export const StartSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 49);
262
+ /**
263
+ * Describes the message openshell.v1.SuspendSandboxRequest.
264
+ * Use `create(SuspendSandboxRequestSchema)` to create a new message.
265
+ */
266
+ export const SuspendSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 50);
267
+ /**
268
+ * Describes the message openshell.v1.ResumeSandboxRequest.
269
+ * Use `create(ResumeSandboxRequestSchema)` to create a new message.
270
+ */
271
+ export const ResumeSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 51);
262
272
  /**
263
273
  * Describes the message openshell.v1.SandboxResponse.
264
274
  * Use `create(SandboxResponseSchema)` to create a new message.
265
275
  */
266
- export const SandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 50);
276
+ export const SandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 52);
267
277
  /**
268
278
  * Describes the message openshell.v1.ListSandboxesResponse.
269
279
  * Use `create(ListSandboxesResponseSchema)` to create a new message.
270
280
  */
271
- export const ListSandboxesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 51);
281
+ export const ListSandboxesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 53);
272
282
  /**
273
283
  * Describes the message openshell.v1.ListSandboxProvidersResponse.
274
284
  * Use `create(ListSandboxProvidersResponseSchema)` to create a new message.
275
285
  */
276
- export const ListSandboxProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 52);
286
+ export const ListSandboxProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 54);
277
287
  /**
278
288
  * Describes the message openshell.v1.AttachSandboxProviderResponse.
279
289
  * Use `create(AttachSandboxProviderResponseSchema)` to create a new message.
280
290
  */
281
- export const AttachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 53);
291
+ export const AttachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 55);
282
292
  /**
283
293
  * Describes the message openshell.v1.DetachSandboxProviderResponse.
284
294
  * Use `create(DetachSandboxProviderResponseSchema)` to create a new message.
285
295
  */
286
- export const DetachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 54);
296
+ export const DetachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 56);
287
297
  /**
288
298
  * Describes the message openshell.v1.ProviderDesiredIdentity.
289
299
  * Use `create(ProviderDesiredIdentitySchema)` to create a new message.
290
300
  */
291
- export const ProviderDesiredIdentitySchema = /*@__PURE__*/ messageDesc(file_openshell, 55);
301
+ export const ProviderDesiredIdentitySchema = /*@__PURE__*/ messageDesc(file_openshell, 57);
292
302
  /**
293
303
  * Describes the message openshell.v1.ConfigSnapshotRevision.
294
304
  * Use `create(ConfigSnapshotRevisionSchema)` to create a new message.
295
305
  */
296
- export const ConfigSnapshotRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 56);
306
+ export const ConfigSnapshotRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 58);
297
307
  /**
298
308
  * Describes the message openshell.v1.SandboxConfigRevision.
299
309
  * Use `create(SandboxConfigRevisionSchema)` to create a new message.
300
310
  */
301
- export const SandboxConfigRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 57);
311
+ export const SandboxConfigRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 59);
302
312
  /**
303
313
  * Describes the message openshell.v1.ConfigUpdateOperation.
304
314
  * Use `create(ConfigUpdateOperationSchema)` to create a new message.
305
315
  */
306
- export const ConfigUpdateOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 58);
316
+ export const ConfigUpdateOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 60);
307
317
  /**
308
318
  * Describes the message openshell.v1.ProviderMutationReceipt.
309
319
  * Use `create(ProviderMutationReceiptSchema)` to create a new message.
310
320
  */
311
- export const ProviderMutationReceiptSchema = /*@__PURE__*/ messageDesc(file_openshell, 59);
321
+ export const ProviderMutationReceiptSchema = /*@__PURE__*/ messageDesc(file_openshell, 61);
312
322
  /**
313
323
  * Describes the message openshell.v1.ProviderReadinessObservation.
314
324
  * Use `create(ProviderReadinessObservationSchema)` to create a new message.
315
325
  */
316
- export const ProviderReadinessObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 60);
326
+ export const ProviderReadinessObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 62);
317
327
  /**
318
328
  * Describes the message openshell.v1.ProviderReadinessStatus.
319
329
  * Use `create(ProviderReadinessStatusSchema)` to create a new message.
320
330
  */
321
- export const ProviderReadinessStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 61);
331
+ export const ProviderReadinessStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 63);
322
332
  /**
323
333
  * Describes the message openshell.v1.GetSandboxProviderStatusRequest.
324
334
  * Use `create(GetSandboxProviderStatusRequestSchema)` to create a new message.
325
335
  */
326
- export const GetSandboxProviderStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 62);
336
+ export const GetSandboxProviderStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 64);
327
337
  /**
328
338
  * Describes the message openshell.v1.GetSandboxProviderStatusResponse.
329
339
  * Use `create(GetSandboxProviderStatusResponseSchema)` to create a new message.
330
340
  */
331
- export const GetSandboxProviderStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 63);
341
+ export const GetSandboxProviderStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 65);
332
342
  /**
333
343
  * Describes the message openshell.v1.ReportProviderReadinessRequest.
334
344
  * Use `create(ReportProviderReadinessRequestSchema)` to create a new message.
335
345
  */
336
- export const ReportProviderReadinessRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 64);
346
+ export const ReportProviderReadinessRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 66);
337
347
  /**
338
348
  * Describes the message openshell.v1.ReportProviderReadinessResponse.
339
349
  * Use `create(ReportProviderReadinessResponseSchema)` to create a new message.
340
350
  */
341
- export const ReportProviderReadinessResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 65);
351
+ export const ReportProviderReadinessResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 67);
342
352
  /**
343
353
  * Describes the message openshell.v1.DeleteSandboxResponse.
344
354
  * Use `create(DeleteSandboxResponseSchema)` to create a new message.
345
355
  */
346
- export const DeleteSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 66);
356
+ export const DeleteSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 68);
347
357
  /**
348
358
  * Describes the message openshell.v1.CreateSshSessionRequest.
349
359
  * Use `create(CreateSshSessionRequestSchema)` to create a new message.
350
360
  */
351
- export const CreateSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 67);
361
+ export const CreateSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 69);
352
362
  /**
353
363
  * Describes the message openshell.v1.CreateSshSessionResponse.
354
364
  * Use `create(CreateSshSessionResponseSchema)` to create a new message.
355
365
  */
356
- export const CreateSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 68);
366
+ export const CreateSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 70);
357
367
  /**
358
368
  * Describes the message openshell.v1.ExposeServiceRequest.
359
369
  * Use `create(ExposeServiceRequestSchema)` to create a new message.
360
370
  */
361
- export const ExposeServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 69);
371
+ export const ExposeServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 71);
362
372
  /**
363
373
  * Describes the message openshell.v1.GetServiceRequest.
364
374
  * Use `create(GetServiceRequestSchema)` to create a new message.
365
375
  */
366
- export const GetServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 70);
376
+ export const GetServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 72);
367
377
  /**
368
378
  * Describes the message openshell.v1.ListServicesRequest.
369
379
  * Use `create(ListServicesRequestSchema)` to create a new message.
370
380
  */
371
- export const ListServicesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 71);
381
+ export const ListServicesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 73);
372
382
  /**
373
383
  * Describes the message openshell.v1.ListServicesResponse.
374
384
  * Use `create(ListServicesResponseSchema)` to create a new message.
375
385
  */
376
- export const ListServicesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 72);
386
+ export const ListServicesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 74);
377
387
  /**
378
388
  * Describes the message openshell.v1.DeleteServiceRequest.
379
389
  * Use `create(DeleteServiceRequestSchema)` to create a new message.
380
390
  */
381
- export const DeleteServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 73);
391
+ export const DeleteServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 75);
382
392
  /**
383
393
  * Describes the message openshell.v1.DeleteServiceResponse.
384
394
  * Use `create(DeleteServiceResponseSchema)` to create a new message.
385
395
  */
386
- export const DeleteServiceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 74);
396
+ export const DeleteServiceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 76);
387
397
  /**
388
398
  * Describes the message openshell.v1.ServiceEndpoint.
389
399
  * Use `create(ServiceEndpointSchema)` to create a new message.
390
400
  */
391
- export const ServiceEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 75);
401
+ export const ServiceEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 77);
392
402
  /**
393
403
  * Describes the message openshell.v1.ServiceEndpointResponse.
394
404
  * Use `create(ServiceEndpointResponseSchema)` to create a new message.
395
405
  */
396
- export const ServiceEndpointResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 76);
406
+ export const ServiceEndpointResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 78);
397
407
  /**
398
408
  * Describes the message openshell.v1.RevokeSshSessionRequest.
399
409
  * Use `create(RevokeSshSessionRequestSchema)` to create a new message.
400
410
  */
401
- export const RevokeSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 77);
411
+ export const RevokeSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 79);
402
412
  /**
403
413
  * Describes the message openshell.v1.RevokeSshSessionResponse.
404
414
  * Use `create(RevokeSshSessionResponseSchema)` to create a new message.
405
415
  */
406
- export const RevokeSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 78);
416
+ export const RevokeSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 80);
407
417
  /**
408
418
  * Describes the message openshell.v1.ExecSandboxRequest.
409
419
  * Use `create(ExecSandboxRequestSchema)` to create a new message.
410
420
  */
411
- export const ExecSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 79);
421
+ export const ExecSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 81);
412
422
  /**
413
423
  * Describes the message openshell.v1.ExecSandboxStdout.
414
424
  * Use `create(ExecSandboxStdoutSchema)` to create a new message.
415
425
  */
416
- export const ExecSandboxStdoutSchema = /*@__PURE__*/ messageDesc(file_openshell, 80);
426
+ export const ExecSandboxStdoutSchema = /*@__PURE__*/ messageDesc(file_openshell, 82);
417
427
  /**
418
428
  * Describes the message openshell.v1.ExecSandboxStderr.
419
429
  * Use `create(ExecSandboxStderrSchema)` to create a new message.
420
430
  */
421
- export const ExecSandboxStderrSchema = /*@__PURE__*/ messageDesc(file_openshell, 81);
431
+ export const ExecSandboxStderrSchema = /*@__PURE__*/ messageDesc(file_openshell, 83);
422
432
  /**
423
433
  * Describes the message openshell.v1.ExecSandboxExit.
424
434
  * Use `create(ExecSandboxExitSchema)` to create a new message.
425
435
  */
426
- export const ExecSandboxExitSchema = /*@__PURE__*/ messageDesc(file_openshell, 82);
436
+ export const ExecSandboxExitSchema = /*@__PURE__*/ messageDesc(file_openshell, 84);
427
437
  /**
428
438
  * Describes the message openshell.v1.ExecSandboxEvent.
429
439
  * Use `create(ExecSandboxEventSchema)` to create a new message.
430
440
  */
431
- export const ExecSandboxEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 83);
441
+ export const ExecSandboxEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 85);
432
442
  /**
433
443
  * Describes the message openshell.v1.TcpForwardInit.
434
444
  * Use `create(TcpForwardInitSchema)` to create a new message.
435
445
  */
436
- export const TcpForwardInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 84);
446
+ export const TcpForwardInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 86);
437
447
  /**
438
448
  * Describes the message openshell.v1.TcpForwardFrame.
439
449
  * Use `create(TcpForwardFrameSchema)` to create a new message.
440
450
  */
441
- export const TcpForwardFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 85);
451
+ export const TcpForwardFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 87);
442
452
  /**
443
453
  * Describes the message openshell.v1.ExecSandboxInput.
444
454
  * Use `create(ExecSandboxInputSchema)` to create a new message.
445
455
  */
446
- export const ExecSandboxInputSchema = /*@__PURE__*/ messageDesc(file_openshell, 86);
456
+ export const ExecSandboxInputSchema = /*@__PURE__*/ messageDesc(file_openshell, 88);
447
457
  /**
448
458
  * Describes the message openshell.v1.ExecSandboxWindowResize.
449
459
  * Use `create(ExecSandboxWindowResizeSchema)` to create a new message.
450
460
  */
451
- export const ExecSandboxWindowResizeSchema = /*@__PURE__*/ messageDesc(file_openshell, 87);
461
+ export const ExecSandboxWindowResizeSchema = /*@__PURE__*/ messageDesc(file_openshell, 89);
452
462
  /**
453
463
  * Describes the message openshell.v1.SshSession.
454
464
  * Use `create(SshSessionSchema)` to create a new message.
455
465
  */
456
- export const SshSessionSchema = /*@__PURE__*/ messageDesc(file_openshell, 88);
466
+ export const SshSessionSchema = /*@__PURE__*/ messageDesc(file_openshell, 90);
457
467
  /**
458
468
  * Describes the message openshell.v1.WatchSandboxRequest.
459
469
  * Use `create(WatchSandboxRequestSchema)` to create a new message.
460
470
  */
461
- export const WatchSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 89);
471
+ export const WatchSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 91);
462
472
  /**
463
473
  * Describes the message openshell.v1.SandboxStreamEvent.
464
474
  * Use `create(SandboxStreamEventSchema)` to create a new message.
465
475
  */
466
- export const SandboxStreamEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 90);
476
+ export const SandboxStreamEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 92);
467
477
  /**
468
478
  * Describes the message openshell.v1.SandboxLogLine.
469
479
  * Use `create(SandboxLogLineSchema)` to create a new message.
470
480
  */
471
- export const SandboxLogLineSchema = /*@__PURE__*/ messageDesc(file_openshell, 91);
481
+ export const SandboxLogLineSchema = /*@__PURE__*/ messageDesc(file_openshell, 93);
472
482
  /**
473
483
  * Describes the message openshell.v1.SandboxStreamWarning.
474
484
  * Use `create(SandboxStreamWarningSchema)` to create a new message.
475
485
  */
476
- export const SandboxStreamWarningSchema = /*@__PURE__*/ messageDesc(file_openshell, 92);
486
+ export const SandboxStreamWarningSchema = /*@__PURE__*/ messageDesc(file_openshell, 94);
477
487
  /**
478
488
  * Describes the message openshell.v1.CreateProviderRequest.
479
489
  * Use `create(CreateProviderRequestSchema)` to create a new message.
480
490
  */
481
- export const CreateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 93);
491
+ export const CreateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 95);
482
492
  /**
483
493
  * Describes the message openshell.v1.GetProviderRequest.
484
494
  * Use `create(GetProviderRequestSchema)` to create a new message.
485
495
  */
486
- export const GetProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 94);
496
+ export const GetProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 96);
487
497
  /**
488
498
  * Describes the message openshell.v1.GetProviderCredentialsRequest.
489
499
  * Use `create(GetProviderCredentialsRequestSchema)` to create a new message.
490
500
  */
491
- export const GetProviderCredentialsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 95);
501
+ export const GetProviderCredentialsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 97);
492
502
  /**
493
503
  * Describes the message openshell.v1.ProviderCredentialValue.
494
504
  * Use `create(ProviderCredentialValueSchema)` to create a new message.
495
505
  */
496
- export const ProviderCredentialValueSchema = /*@__PURE__*/ messageDesc(file_openshell, 96);
506
+ export const ProviderCredentialValueSchema = /*@__PURE__*/ messageDesc(file_openshell, 98);
497
507
  /**
498
508
  * Describes the message openshell.v1.GetProviderCredentialsResponse.
499
509
  * Use `create(GetProviderCredentialsResponseSchema)` to create a new message.
500
510
  */
501
- export const GetProviderCredentialsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 97);
511
+ export const GetProviderCredentialsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 99);
502
512
  /**
503
513
  * Describes the message openshell.v1.ListProvidersRequest.
504
514
  * Use `create(ListProvidersRequestSchema)` to create a new message.
505
515
  */
506
- export const ListProvidersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 98);
516
+ export const ListProvidersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 100);
507
517
  /**
508
518
  * Describes the message openshell.v1.UpdateProviderRequest.
509
519
  * Use `create(UpdateProviderRequestSchema)` to create a new message.
510
520
  */
511
- export const UpdateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 99);
521
+ export const UpdateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 101);
512
522
  /**
513
523
  * Describes the message openshell.v1.DeleteProviderRequest.
514
524
  * Use `create(DeleteProviderRequestSchema)` to create a new message.
515
525
  */
516
- export const DeleteProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 100);
526
+ export const DeleteProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 102);
517
527
  /**
518
528
  * Describes the message openshell.v1.ProviderResponse.
519
529
  * Use `create(ProviderResponseSchema)` to create a new message.
520
530
  */
521
- export const ProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 101);
531
+ export const ProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 103);
522
532
  /**
523
533
  * Describes the message openshell.v1.ListProvidersResponse.
524
534
  * Use `create(ListProvidersResponseSchema)` to create a new message.
525
535
  */
526
- export const ListProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 102);
536
+ export const ListProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 104);
527
537
  /**
528
538
  * Describes the message openshell.v1.ListProviderProfilesRequest.
529
539
  * Use `create(ListProviderProfilesRequestSchema)` to create a new message.
530
540
  */
531
- export const ListProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 103);
541
+ export const ListProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 105);
532
542
  /**
533
543
  * Describes the message openshell.v1.GetProviderProfileRequest.
534
544
  * Use `create(GetProviderProfileRequestSchema)` to create a new message.
535
545
  */
536
- export const GetProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 104);
546
+ export const GetProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 106);
537
547
  /**
538
548
  * Describes the message openshell.v1.ProviderProfileImportItem.
539
549
  * Use `create(ProviderProfileImportItemSchema)` to create a new message.
540
550
  */
541
- export const ProviderProfileImportItemSchema = /*@__PURE__*/ messageDesc(file_openshell, 105);
551
+ export const ProviderProfileImportItemSchema = /*@__PURE__*/ messageDesc(file_openshell, 107);
542
552
  /**
543
553
  * Describes the message openshell.v1.ProviderProfileDiagnostic.
544
554
  * Use `create(ProviderProfileDiagnosticSchema)` to create a new message.
545
555
  */
546
- export const ProviderProfileDiagnosticSchema = /*@__PURE__*/ messageDesc(file_openshell, 106);
556
+ export const ProviderProfileDiagnosticSchema = /*@__PURE__*/ messageDesc(file_openshell, 108);
547
557
  /**
548
558
  * Describes the message openshell.v1.ProviderCredentialTokenGrantAudienceOverride.
549
559
  * Use `create(ProviderCredentialTokenGrantAudienceOverrideSchema)` to create a new message.
550
560
  */
551
- export const ProviderCredentialTokenGrantAudienceOverrideSchema = /*@__PURE__*/ messageDesc(file_openshell, 107);
561
+ export const ProviderCredentialTokenGrantAudienceOverrideSchema = /*@__PURE__*/ messageDesc(file_openshell, 109);
552
562
  /**
553
563
  * Describes the message openshell.v1.ProviderCredentialTokenGrantSubjectToken.
554
564
  * Use `create(ProviderCredentialTokenGrantSubjectTokenSchema)` to create a new message.
555
565
  */
556
- export const ProviderCredentialTokenGrantSubjectTokenSchema = /*@__PURE__*/ messageDesc(file_openshell, 108);
566
+ export const ProviderCredentialTokenGrantSubjectTokenSchema = /*@__PURE__*/ messageDesc(file_openshell, 110);
557
567
  /**
558
568
  * Describes the message openshell.v1.ProviderCredentialTokenGrant.
559
569
  * Use `create(ProviderCredentialTokenGrantSchema)` to create a new message.
560
570
  */
561
- export const ProviderCredentialTokenGrantSchema = /*@__PURE__*/ messageDesc(file_openshell, 109);
571
+ export const ProviderCredentialTokenGrantSchema = /*@__PURE__*/ messageDesc(file_openshell, 111);
562
572
  /**
563
573
  * Describes the message openshell.v1.ProviderProfileCredential.
564
574
  * Use `create(ProviderProfileCredentialSchema)` to create a new message.
565
575
  */
566
- export const ProviderProfileCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 110);
576
+ export const ProviderProfileCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 112);
567
577
  /**
568
578
  * Describes the message openshell.v1.ProviderCredentialRefreshMaterial.
569
579
  * Use `create(ProviderCredentialRefreshMaterialSchema)` to create a new message.
570
580
  */
571
- export const ProviderCredentialRefreshMaterialSchema = /*@__PURE__*/ messageDesc(file_openshell, 111);
581
+ export const ProviderCredentialRefreshMaterialSchema = /*@__PURE__*/ messageDesc(file_openshell, 113);
572
582
  /**
573
583
  * Describes the message openshell.v1.ProviderCredentialRefreshOutput.
574
584
  * Use `create(ProviderCredentialRefreshOutputSchema)` to create a new message.
575
585
  */
576
- export const ProviderCredentialRefreshOutputSchema = /*@__PURE__*/ messageDesc(file_openshell, 112);
586
+ export const ProviderCredentialRefreshOutputSchema = /*@__PURE__*/ messageDesc(file_openshell, 114);
577
587
  /**
578
588
  * Describes the message openshell.v1.ProviderCredentialRefresh.
579
589
  * Use `create(ProviderCredentialRefreshSchema)` to create a new message.
580
590
  */
581
- export const ProviderCredentialRefreshSchema = /*@__PURE__*/ messageDesc(file_openshell, 113);
591
+ export const ProviderCredentialRefreshSchema = /*@__PURE__*/ messageDesc(file_openshell, 115);
582
592
  /**
583
593
  * Describes the message openshell.v1.ProviderCredentialRefreshStatus.
584
594
  * Use `create(ProviderCredentialRefreshStatusSchema)` to create a new message.
585
595
  */
586
- export const ProviderCredentialRefreshStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 114);
596
+ export const ProviderCredentialRefreshStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 116);
587
597
  /**
588
598
  * Describes the message openshell.v1.ProviderProfileDiscovery.
589
599
  * Use `create(ProviderProfileDiscoverySchema)` to create a new message.
590
600
  */
591
- export const ProviderProfileDiscoverySchema = /*@__PURE__*/ messageDesc(file_openshell, 115);
601
+ export const ProviderProfileDiscoverySchema = /*@__PURE__*/ messageDesc(file_openshell, 117);
592
602
  /**
593
603
  * Describes the message openshell.v1.GetProviderRefreshStatusRequest.
594
604
  * Use `create(GetProviderRefreshStatusRequestSchema)` to create a new message.
595
605
  */
596
- export const GetProviderRefreshStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 116);
606
+ export const GetProviderRefreshStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 118);
597
607
  /**
598
608
  * Describes the message openshell.v1.GetProviderRefreshStatusResponse.
599
609
  * Use `create(GetProviderRefreshStatusResponseSchema)` to create a new message.
600
610
  */
601
- export const GetProviderRefreshStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 117);
611
+ export const GetProviderRefreshStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 119);
602
612
  /**
603
613
  * Describes the message openshell.v1.ConfigureProviderRefreshRequest.
604
614
  * Use `create(ConfigureProviderRefreshRequestSchema)` to create a new message.
605
615
  */
606
- export const ConfigureProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 118);
616
+ export const ConfigureProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 120);
607
617
  /**
608
618
  * Describes the message openshell.v1.ConfigureProviderRefreshResponse.
609
619
  * Use `create(ConfigureProviderRefreshResponseSchema)` to create a new message.
610
620
  */
611
- export const ConfigureProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 119);
621
+ export const ConfigureProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 121);
612
622
  /**
613
623
  * Describes the message openshell.v1.RotateProviderCredentialRequest.
614
624
  * Use `create(RotateProviderCredentialRequestSchema)` to create a new message.
615
625
  */
616
- export const RotateProviderCredentialRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 120);
626
+ export const RotateProviderCredentialRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 122);
617
627
  /**
618
628
  * Describes the message openshell.v1.RotateProviderCredentialResponse.
619
629
  * Use `create(RotateProviderCredentialResponseSchema)` to create a new message.
620
630
  */
621
- export const RotateProviderCredentialResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 121);
631
+ export const RotateProviderCredentialResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 123);
622
632
  /**
623
633
  * Describes the message openshell.v1.DeleteProviderRefreshRequest.
624
634
  * Use `create(DeleteProviderRefreshRequestSchema)` to create a new message.
625
635
  */
626
- export const DeleteProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 122);
636
+ export const DeleteProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 124);
627
637
  /**
628
638
  * Describes the message openshell.v1.DeleteProviderRefreshResponse.
629
639
  * Use `create(DeleteProviderRefreshResponseSchema)` to create a new message.
630
640
  */
631
- export const DeleteProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 123);
641
+ export const DeleteProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 125);
632
642
  /**
633
643
  * Describes the message openshell.v1.ProviderProfile.
634
644
  * Use `create(ProviderProfileSchema)` to create a new message.
635
645
  */
636
- export const ProviderProfileSchema = /*@__PURE__*/ messageDesc(file_openshell, 124);
646
+ export const ProviderProfileSchema = /*@__PURE__*/ messageDesc(file_openshell, 126);
637
647
  /**
638
648
  * Describes the message openshell.v1.ProviderProfileFile.
639
649
  * Use `create(ProviderProfileFileSchema)` to create a new message.
640
650
  */
641
- export const ProviderProfileFileSchema = /*@__PURE__*/ messageDesc(file_openshell, 125);
651
+ export const ProviderProfileFileSchema = /*@__PURE__*/ messageDesc(file_openshell, 127);
642
652
  /**
643
653
  * Describes the message openshell.v1.ProviderProfileResponse.
644
654
  * Use `create(ProviderProfileResponseSchema)` to create a new message.
645
655
  */
646
- export const ProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 126);
656
+ export const ProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 128);
647
657
  /**
648
658
  * Describes the message openshell.v1.ListProviderProfilesResponse.
649
659
  * Use `create(ListProviderProfilesResponseSchema)` to create a new message.
650
660
  */
651
- export const ListProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 127);
661
+ export const ListProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 129);
652
662
  /**
653
663
  * Describes the message openshell.v1.ImportProviderProfilesRequest.
654
664
  * Use `create(ImportProviderProfilesRequestSchema)` to create a new message.
655
665
  */
656
- export const ImportProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 128);
666
+ export const ImportProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 130);
657
667
  /**
658
668
  * Describes the message openshell.v1.ImportProviderProfilesResponse.
659
669
  * Use `create(ImportProviderProfilesResponseSchema)` to create a new message.
660
670
  */
661
- export const ImportProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 129);
671
+ export const ImportProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 131);
662
672
  /**
663
673
  * Describes the message openshell.v1.UpdateProviderProfilesRequest.
664
674
  * Use `create(UpdateProviderProfilesRequestSchema)` to create a new message.
665
675
  */
666
- export const UpdateProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 130);
676
+ export const UpdateProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 132);
667
677
  /**
668
678
  * Describes the message openshell.v1.UpdateProviderProfilesResponse.
669
679
  * Use `create(UpdateProviderProfilesResponseSchema)` to create a new message.
670
680
  */
671
- export const UpdateProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 131);
681
+ export const UpdateProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 133);
672
682
  /**
673
683
  * Describes the message openshell.v1.LintProviderProfilesRequest.
674
684
  * Use `create(LintProviderProfilesRequestSchema)` to create a new message.
675
685
  */
676
- export const LintProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 132);
686
+ export const LintProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 134);
677
687
  /**
678
688
  * Describes the message openshell.v1.LintProviderProfilesResponse.
679
689
  * Use `create(LintProviderProfilesResponseSchema)` to create a new message.
680
690
  */
681
- export const LintProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 133);
691
+ export const LintProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 135);
682
692
  /**
683
693
  * Describes the message openshell.v1.DeleteProviderResponse.
684
694
  * Use `create(DeleteProviderResponseSchema)` to create a new message.
685
695
  */
686
- export const DeleteProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 134);
696
+ export const DeleteProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 136);
687
697
  /**
688
698
  * Describes the message openshell.v1.DeleteProviderProfileRequest.
689
699
  * Use `create(DeleteProviderProfileRequestSchema)` to create a new message.
690
700
  */
691
- export const DeleteProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 135);
701
+ export const DeleteProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 137);
692
702
  /**
693
703
  * Describes the message openshell.v1.DeleteProviderProfileResponse.
694
704
  * Use `create(DeleteProviderProfileResponseSchema)` to create a new message.
695
705
  */
696
- export const DeleteProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 136);
706
+ export const DeleteProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 138);
697
707
  /**
698
708
  * Describes the message openshell.v1.GetSandboxProviderEnvironmentRequest.
699
709
  * Use `create(GetSandboxProviderEnvironmentRequestSchema)` to create a new message.
700
710
  */
701
- export const GetSandboxProviderEnvironmentRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 137);
711
+ export const GetSandboxProviderEnvironmentRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 139);
702
712
  /**
703
713
  * Describes the message openshell.v1.StaticCredentialEndpointBinding.
704
714
  * Use `create(StaticCredentialEndpointBindingSchema)` to create a new message.
705
715
  */
706
- export const StaticCredentialEndpointBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 138);
716
+ export const StaticCredentialEndpointBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 140);
707
717
  /**
708
718
  * Describes the message openshell.v1.StaticCredentialBinding.
709
719
  * Use `create(StaticCredentialBindingSchema)` to create a new message.
710
720
  */
711
- export const StaticCredentialBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 139);
721
+ export const StaticCredentialBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 141);
712
722
  /**
713
723
  * Describes the message openshell.v1.GetSandboxProviderEnvironmentResponse.
714
724
  * Use `create(GetSandboxProviderEnvironmentResponseSchema)` to create a new message.
715
725
  */
716
- export const GetSandboxProviderEnvironmentResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 140);
726
+ export const GetSandboxProviderEnvironmentResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 142);
717
727
  /**
718
728
  * Describes the message openshell.v1.ProviderEnvironmentValue.
719
729
  * Use `create(ProviderEnvironmentValueSchema)` to create a new message.
720
730
  */
721
- export const ProviderEnvironmentValueSchema = /*@__PURE__*/ messageDesc(file_openshell, 141);
731
+ export const ProviderEnvironmentValueSchema = /*@__PURE__*/ messageDesc(file_openshell, 143);
722
732
  /**
723
733
  * Describes the message openshell.v1.ProviderEnvironmentSnapshot.
724
734
  * Use `create(ProviderEnvironmentSnapshotSchema)` to create a new message.
725
735
  */
726
- export const ProviderEnvironmentSnapshotSchema = /*@__PURE__*/ messageDesc(file_openshell, 142);
736
+ export const ProviderEnvironmentSnapshotSchema = /*@__PURE__*/ messageDesc(file_openshell, 144);
727
737
  /**
728
738
  * Describes the message openshell.v1.ExchangeProviderSubjectTokenRequest.
729
739
  * Use `create(ExchangeProviderSubjectTokenRequestSchema)` to create a new message.
730
740
  */
731
- export const ExchangeProviderSubjectTokenRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 143);
741
+ export const ExchangeProviderSubjectTokenRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 145);
732
742
  /**
733
743
  * Describes the message openshell.v1.ExchangeProviderSubjectTokenResponse.
734
744
  * Use `create(ExchangeProviderSubjectTokenResponseSchema)` to create a new message.
735
745
  */
736
- export const ExchangeProviderSubjectTokenResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 144);
746
+ export const ExchangeProviderSubjectTokenResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 146);
737
747
  /**
738
748
  * Describes the message openshell.v1.UpdateConfigRequest.
739
749
  * Use `create(UpdateConfigRequestSchema)` to create a new message.
740
750
  */
741
- export const UpdateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 145);
751
+ export const UpdateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 147);
742
752
  /**
743
753
  * Describes the message openshell.v1.PolicyMergeOperation.
744
754
  * Use `create(PolicyMergeOperationSchema)` to create a new message.
745
755
  */
746
- export const PolicyMergeOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 146);
756
+ export const PolicyMergeOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 148);
747
757
  /**
748
758
  * Describes the message openshell.v1.AddNetworkRule.
749
759
  * Use `create(AddNetworkRuleSchema)` to create a new message.
750
760
  */
751
- export const AddNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 147);
761
+ export const AddNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 149);
752
762
  /**
753
763
  * Describes the message openshell.v1.RemoveNetworkEndpoint.
754
764
  * Use `create(RemoveNetworkEndpointSchema)` to create a new message.
755
765
  */
756
- export const RemoveNetworkEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 148);
766
+ export const RemoveNetworkEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 150);
757
767
  /**
758
768
  * Describes the message openshell.v1.RemoveNetworkRule.
759
769
  * Use `create(RemoveNetworkRuleSchema)` to create a new message.
760
770
  */
761
- export const RemoveNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 149);
771
+ export const RemoveNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 151);
762
772
  /**
763
773
  * Describes the message openshell.v1.L7RuleTarget.
764
774
  * Use `create(L7RuleTargetSchema)` to create a new message.
765
775
  */
766
- export const L7RuleTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 150);
776
+ export const L7RuleTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 152);
767
777
  /**
768
778
  * Describes the message openshell.v1.AddDenyRules.
769
779
  * Use `create(AddDenyRulesSchema)` to create a new message.
770
780
  */
771
- export const AddDenyRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 151);
781
+ export const AddDenyRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 153);
772
782
  /**
773
783
  * Describes the message openshell.v1.AddAllowRules.
774
784
  * Use `create(AddAllowRulesSchema)` to create a new message.
775
785
  */
776
- export const AddAllowRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 152);
786
+ export const AddAllowRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 154);
777
787
  /**
778
788
  * Describes the message openshell.v1.RemoveNetworkBinary.
779
789
  * Use `create(RemoveNetworkBinarySchema)` to create a new message.
780
790
  */
781
- export const RemoveNetworkBinarySchema = /*@__PURE__*/ messageDesc(file_openshell, 153);
791
+ export const RemoveNetworkBinarySchema = /*@__PURE__*/ messageDesc(file_openshell, 155);
782
792
  /**
783
793
  * Describes the message openshell.v1.UpdateConfigResponse.
784
794
  * Use `create(UpdateConfigResponseSchema)` to create a new message.
785
795
  */
786
- export const UpdateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 154);
796
+ export const UpdateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 156);
787
797
  /**
788
798
  * Describes the message openshell.v1.GetSandboxPolicyStatusRequest.
789
799
  * Use `create(GetSandboxPolicyStatusRequestSchema)` to create a new message.
790
800
  */
791
- export const GetSandboxPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 155);
801
+ export const GetSandboxPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 157);
792
802
  /**
793
803
  * Describes the message openshell.v1.GetSandboxPolicyStatusResponse.
794
804
  * Use `create(GetSandboxPolicyStatusResponseSchema)` to create a new message.
795
805
  */
796
- export const GetSandboxPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 156);
806
+ export const GetSandboxPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 158);
797
807
  /**
798
808
  * Describes the message openshell.v1.ListSandboxPoliciesRequest.
799
809
  * Use `create(ListSandboxPoliciesRequestSchema)` to create a new message.
800
810
  */
801
- export const ListSandboxPoliciesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 157);
811
+ export const ListSandboxPoliciesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 159);
802
812
  /**
803
813
  * Describes the message openshell.v1.ListSandboxPoliciesResponse.
804
814
  * Use `create(ListSandboxPoliciesResponseSchema)` to create a new message.
805
815
  */
806
- export const ListSandboxPoliciesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 158);
816
+ export const ListSandboxPoliciesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 160);
807
817
  /**
808
818
  * Describes the message openshell.v1.ReportPolicyStatusRequest.
809
819
  * Use `create(ReportPolicyStatusRequestSchema)` to create a new message.
810
820
  */
811
- export const ReportPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 159);
821
+ export const ReportPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 161);
812
822
  /**
813
823
  * Describes the message openshell.v1.ReportPolicyStatusResponse.
814
824
  * Use `create(ReportPolicyStatusResponseSchema)` to create a new message.
815
825
  */
816
- export const ReportPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 160);
826
+ export const ReportPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 162);
817
827
  /**
818
828
  * Describes the message openshell.v1.SandboxConfigurationAdmission.
819
829
  * Use `create(SandboxConfigurationAdmissionSchema)` to create a new message.
820
830
  */
821
- export const SandboxConfigurationAdmissionSchema = /*@__PURE__*/ messageDesc(file_openshell, 161);
831
+ export const SandboxConfigurationAdmissionSchema = /*@__PURE__*/ messageDesc(file_openshell, 163);
822
832
  /**
823
833
  * Describes the message openshell.v1.ReportSandboxConfigurationRequest.
824
834
  * Use `create(ReportSandboxConfigurationRequestSchema)` to create a new message.
825
835
  */
826
- export const ReportSandboxConfigurationRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 162);
836
+ export const ReportSandboxConfigurationRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 164);
827
837
  /**
828
838
  * Describes the message openshell.v1.ReportSandboxConfigurationResponse.
829
839
  * Use `create(ReportSandboxConfigurationResponseSchema)` to create a new message.
830
840
  */
831
- export const ReportSandboxConfigurationResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 163);
841
+ export const ReportSandboxConfigurationResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 165);
832
842
  /**
833
843
  * Describes the message openshell.v1.SandboxPolicyRevision.
834
844
  * Use `create(SandboxPolicyRevisionSchema)` to create a new message.
835
845
  */
836
- export const SandboxPolicyRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 164);
846
+ export const SandboxPolicyRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 166);
837
847
  /**
838
848
  * Describes the message openshell.v1.GetSandboxLogsRequest.
839
849
  * Use `create(GetSandboxLogsRequestSchema)` to create a new message.
840
850
  */
841
- export const GetSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 165);
851
+ export const GetSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 167);
842
852
  /**
843
853
  * Describes the message openshell.v1.PushSandboxLogsRequest.
844
854
  * Use `create(PushSandboxLogsRequestSchema)` to create a new message.
845
855
  */
846
- export const PushSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 166);
856
+ export const PushSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 168);
847
857
  /**
848
858
  * Describes the message openshell.v1.PushSandboxLogsResponse.
849
859
  * Use `create(PushSandboxLogsResponseSchema)` to create a new message.
850
860
  */
851
- export const PushSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 167);
861
+ export const PushSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 169);
852
862
  /**
853
863
  * Describes the message openshell.v1.GetSandboxLogsResponse.
854
864
  * Use `create(GetSandboxLogsResponseSchema)` to create a new message.
855
865
  */
856
- export const GetSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 168);
866
+ export const GetSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 170);
857
867
  /**
858
868
  * Describes the message openshell.v1.SupervisorMessage.
859
869
  * Use `create(SupervisorMessageSchema)` to create a new message.
860
870
  */
861
- export const SupervisorMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 169);
871
+ export const SupervisorMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 171);
862
872
  /**
863
873
  * Describes the message openshell.v1.GatewayMessage.
864
874
  * Use `create(GatewayMessageSchema)` to create a new message.
865
875
  */
866
- export const GatewayMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 170);
876
+ export const GatewayMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 172);
867
877
  /**
868
878
  * Describes the message openshell.v1.SupervisorHello.
869
879
  * Use `create(SupervisorHelloSchema)` to create a new message.
870
880
  */
871
- export const SupervisorHelloSchema = /*@__PURE__*/ messageDesc(file_openshell, 171);
881
+ export const SupervisorHelloSchema = /*@__PURE__*/ messageDesc(file_openshell, 173);
872
882
  /**
873
883
  * Describes the message openshell.v1.SessionAccepted.
874
884
  * Use `create(SessionAcceptedSchema)` to create a new message.
875
885
  */
876
- export const SessionAcceptedSchema = /*@__PURE__*/ messageDesc(file_openshell, 172);
886
+ export const SessionAcceptedSchema = /*@__PURE__*/ messageDesc(file_openshell, 174);
877
887
  /**
878
888
  * Describes the message openshell.v1.ConfigUpdate.
879
889
  * Use `create(ConfigUpdateSchema)` to create a new message.
880
890
  */
881
- export const ConfigUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 173);
891
+ export const ConfigUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 175);
882
892
  /**
883
893
  * Describes the message openshell.v1.ConfigApplyFailure.
884
894
  * Use `create(ConfigApplyFailureSchema)` to create a new message.
885
895
  */
886
- export const ConfigApplyFailureSchema = /*@__PURE__*/ messageDesc(file_openshell, 174);
896
+ export const ConfigApplyFailureSchema = /*@__PURE__*/ messageDesc(file_openshell, 176);
887
897
  /**
888
898
  * Describes the message openshell.v1.ConfigUpdateResult.
889
899
  * Use `create(ConfigUpdateResultSchema)` to create a new message.
890
900
  */
891
- export const ConfigUpdateResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 175);
901
+ export const ConfigUpdateResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 177);
892
902
  /**
893
903
  * Describes the message openshell.v1.PolicyLoadResult.
894
904
  * Use `create(PolicyLoadResultSchema)` to create a new message.
895
905
  */
896
- export const PolicyLoadResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 176);
906
+ export const PolicyLoadResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 178);
897
907
  /**
898
908
  * Describes the message openshell.v1.SessionRejected.
899
909
  * Use `create(SessionRejectedSchema)` to create a new message.
900
910
  */
901
- export const SessionRejectedSchema = /*@__PURE__*/ messageDesc(file_openshell, 177);
911
+ export const SessionRejectedSchema = /*@__PURE__*/ messageDesc(file_openshell, 179);
902
912
  /**
903
913
  * Describes the message openshell.v1.SessionRedirect.
904
914
  * Use `create(SessionRedirectSchema)` to create a new message.
905
915
  */
906
- export const SessionRedirectSchema = /*@__PURE__*/ messageDesc(file_openshell, 178);
916
+ export const SessionRedirectSchema = /*@__PURE__*/ messageDesc(file_openshell, 180);
907
917
  /**
908
918
  * Describes the message openshell.v1.SupervisorHeartbeat.
909
919
  * Use `create(SupervisorHeartbeatSchema)` to create a new message.
910
920
  */
911
- export const SupervisorHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 179);
921
+ export const SupervisorHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 181);
912
922
  /**
913
923
  * Describes the message openshell.v1.GatewayHeartbeat.
914
924
  * Use `create(GatewayHeartbeatSchema)` to create a new message.
915
925
  */
916
- export const GatewayHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 180);
926
+ export const GatewayHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 182);
917
927
  /**
918
928
  * Describes the message openshell.v1.ReportMainProcessExitRequest.
919
929
  * Use `create(ReportMainProcessExitRequestSchema)` to create a new message.
920
930
  */
921
- export const ReportMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 181);
931
+ export const ReportMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 183);
922
932
  /**
923
933
  * Describes the message openshell.v1.ReportMainProcessExitResponse.
924
934
  * Use `create(ReportMainProcessExitResponseSchema)` to create a new message.
925
935
  */
926
- export const ReportMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 182);
936
+ export const ReportMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 184);
927
937
  /**
928
938
  * Describes the message openshell.v1.FinalizeMainProcessExitRequest.
929
939
  * Use `create(FinalizeMainProcessExitRequestSchema)` to create a new message.
930
940
  */
931
- export const FinalizeMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 183);
941
+ export const FinalizeMainProcessExitRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 185);
932
942
  /**
933
943
  * Describes the message openshell.v1.FinalizeMainProcessExitResponse.
934
944
  * Use `create(FinalizeMainProcessExitResponseSchema)` to create a new message.
935
945
  */
936
- export const FinalizeMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 184);
946
+ export const FinalizeMainProcessExitResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 186);
937
947
  /**
938
948
  * Describes the message openshell.v1.RelayOpen.
939
949
  * Use `create(RelayOpenSchema)` to create a new message.
940
950
  */
941
- export const RelayOpenSchema = /*@__PURE__*/ messageDesc(file_openshell, 185);
951
+ export const RelayOpenSchema = /*@__PURE__*/ messageDesc(file_openshell, 187);
942
952
  /**
943
953
  * Describes the message openshell.v1.SshRelayTarget.
944
954
  * Use `create(SshRelayTargetSchema)` to create a new message.
945
955
  */
946
- export const SshRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 186);
956
+ export const SshRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 188);
947
957
  /**
948
958
  * Describes the message openshell.v1.TcpRelayTarget.
949
959
  * Use `create(TcpRelayTargetSchema)` to create a new message.
950
960
  */
951
- export const TcpRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 187);
961
+ export const TcpRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 189);
952
962
  /**
953
963
  * Describes the message openshell.v1.RelayInit.
954
964
  * Use `create(RelayInitSchema)` to create a new message.
955
965
  */
956
- export const RelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 188);
966
+ export const RelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 190);
957
967
  /**
958
968
  * Describes the message openshell.v1.RelayFrame.
959
969
  * Use `create(RelayFrameSchema)` to create a new message.
960
970
  */
961
- export const RelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 189);
971
+ export const RelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 191);
962
972
  /**
963
973
  * Describes the message openshell.v1.PeerRelayInit.
964
974
  * Use `create(PeerRelayInitSchema)` to create a new message.
965
975
  */
966
- export const PeerRelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 190);
976
+ export const PeerRelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 192);
967
977
  /**
968
978
  * Describes the message openshell.v1.PeerRelayFrame.
969
979
  * Use `create(PeerRelayFrameSchema)` to create a new message.
970
980
  */
971
- export const PeerRelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 191);
981
+ export const PeerRelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 193);
972
982
  /**
973
983
  * Describes the message openshell.v1.PeerConfigSandboxTarget.
974
984
  * Use `create(PeerConfigSandboxTargetSchema)` to create a new message.
975
985
  */
976
- export const PeerConfigSandboxTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 192);
986
+ export const PeerConfigSandboxTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 194);
977
987
  /**
978
988
  * Describes the message openshell.v1.PeerConfigProviderTarget.
979
989
  * Use `create(PeerConfigProviderTargetSchema)` to create a new message.
980
990
  */
981
- export const PeerConfigProviderTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 193);
991
+ export const PeerConfigProviderTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 195);
982
992
  /**
983
993
  * Describes the message openshell.v1.PeerNotifyConfigUpdateRequest.
984
994
  * Use `create(PeerNotifyConfigUpdateRequestSchema)` to create a new message.
985
995
  */
986
- export const PeerNotifyConfigUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 194);
996
+ export const PeerNotifyConfigUpdateRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 196);
987
997
  /**
988
998
  * Describes the message openshell.v1.PeerNotifyConfigUpdateResponse.
989
999
  * Use `create(PeerNotifyConfigUpdateResponseSchema)` to create a new message.
990
1000
  */
991
- export const PeerNotifyConfigUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 195);
1001
+ export const PeerNotifyConfigUpdateResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 197);
992
1002
  /**
993
1003
  * Describes the message openshell.v1.RelayOpenResult.
994
1004
  * Use `create(RelayOpenResultSchema)` to create a new message.
995
1005
  */
996
- export const RelayOpenResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 196);
1006
+ export const RelayOpenResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 198);
997
1007
  /**
998
1008
  * Describes the message openshell.v1.RelayClose.
999
1009
  * Use `create(RelayCloseSchema)` to create a new message.
1000
1010
  */
1001
- export const RelayCloseSchema = /*@__PURE__*/ messageDesc(file_openshell, 197);
1011
+ export const RelayCloseSchema = /*@__PURE__*/ messageDesc(file_openshell, 199);
1002
1012
  /**
1003
1013
  * Describes the message openshell.v1.L7RequestSample.
1004
1014
  * Use `create(L7RequestSampleSchema)` to create a new message.
1005
1015
  */
1006
- export const L7RequestSampleSchema = /*@__PURE__*/ messageDesc(file_openshell, 198);
1016
+ export const L7RequestSampleSchema = /*@__PURE__*/ messageDesc(file_openshell, 200);
1007
1017
  /**
1008
1018
  * Describes the message openshell.v1.DenialSummary.
1009
1019
  * Use `create(DenialSummarySchema)` to create a new message.
1010
1020
  */
1011
- export const DenialSummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 199);
1021
+ export const DenialSummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 201);
1012
1022
  /**
1013
1023
  * Describes the message openshell.v1.DenialGroupCount.
1014
1024
  * Use `create(DenialGroupCountSchema)` to create a new message.
1015
1025
  */
1016
- export const DenialGroupCountSchema = /*@__PURE__*/ messageDesc(file_openshell, 200);
1026
+ export const DenialGroupCountSchema = /*@__PURE__*/ messageDesc(file_openshell, 202);
1017
1027
  /**
1018
1028
  * Describes the message openshell.v1.NetworkActivitySummary.
1019
1029
  * Use `create(NetworkActivitySummarySchema)` to create a new message.
1020
1030
  */
1021
- export const NetworkActivitySummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 201);
1031
+ export const NetworkActivitySummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 203);
1022
1032
  /**
1023
1033
  * Describes the message openshell.v1.PolicyChunk.
1024
1034
  * Use `create(PolicyChunkSchema)` to create a new message.
1025
1035
  */
1026
- export const PolicyChunkSchema = /*@__PURE__*/ messageDesc(file_openshell, 202);
1036
+ export const PolicyChunkSchema = /*@__PURE__*/ messageDesc(file_openshell, 204);
1027
1037
  /**
1028
1038
  * Describes the message openshell.v1.DraftPolicyUpdate.
1029
1039
  * Use `create(DraftPolicyUpdateSchema)` to create a new message.
1030
1040
  */
1031
- export const DraftPolicyUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 203);
1041
+ export const DraftPolicyUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 205);
1032
1042
  /**
1033
1043
  * Describes the message openshell.v1.SubmitPolicyAnalysisRequest.
1034
1044
  * Use `create(SubmitPolicyAnalysisRequestSchema)` to create a new message.
1035
1045
  */
1036
- export const SubmitPolicyAnalysisRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 204);
1046
+ export const SubmitPolicyAnalysisRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 206);
1037
1047
  /**
1038
1048
  * Describes the message openshell.v1.SubmitPolicyAnalysisResponse.
1039
1049
  * Use `create(SubmitPolicyAnalysisResponseSchema)` to create a new message.
1040
1050
  */
1041
- export const SubmitPolicyAnalysisResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 205);
1051
+ export const SubmitPolicyAnalysisResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 207);
1042
1052
  /**
1043
1053
  * Describes the message openshell.v1.GetDraftPolicyRequest.
1044
1054
  * Use `create(GetDraftPolicyRequestSchema)` to create a new message.
1045
1055
  */
1046
- export const GetDraftPolicyRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 206);
1056
+ export const GetDraftPolicyRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 208);
1047
1057
  /**
1048
1058
  * Describes the message openshell.v1.GetDraftPolicyResponse.
1049
1059
  * Use `create(GetDraftPolicyResponseSchema)` to create a new message.
1050
1060
  */
1051
- export const GetDraftPolicyResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 207);
1061
+ export const GetDraftPolicyResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 209);
1052
1062
  /**
1053
1063
  * Describes the message openshell.v1.ApproveDraftChunkRequest.
1054
1064
  * Use `create(ApproveDraftChunkRequestSchema)` to create a new message.
1055
1065
  */
1056
- export const ApproveDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 208);
1066
+ export const ApproveDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 210);
1057
1067
  /**
1058
1068
  * Describes the message openshell.v1.ApproveDraftChunkResponse.
1059
1069
  * Use `create(ApproveDraftChunkResponseSchema)` to create a new message.
1060
1070
  */
1061
- export const ApproveDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 209);
1071
+ export const ApproveDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 211);
1062
1072
  /**
1063
1073
  * Describes the message openshell.v1.RejectDraftChunkRequest.
1064
1074
  * Use `create(RejectDraftChunkRequestSchema)` to create a new message.
1065
1075
  */
1066
- export const RejectDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 210);
1076
+ export const RejectDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 212);
1067
1077
  /**
1068
1078
  * Describes the message openshell.v1.RejectDraftChunkResponse.
1069
1079
  * Use `create(RejectDraftChunkResponseSchema)` to create a new message.
1070
1080
  */
1071
- export const RejectDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 211);
1081
+ export const RejectDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 213);
1072
1082
  /**
1073
1083
  * Describes the message openshell.v1.DraftChunkApproval.
1074
1084
  * Use `create(DraftChunkApprovalSchema)` to create a new message.
1075
1085
  */
1076
- export const DraftChunkApprovalSchema = /*@__PURE__*/ messageDesc(file_openshell, 212);
1086
+ export const DraftChunkApprovalSchema = /*@__PURE__*/ messageDesc(file_openshell, 214);
1077
1087
  /**
1078
1088
  * Describes the message openshell.v1.ApproveAllDraftChunksRequest.
1079
1089
  * Use `create(ApproveAllDraftChunksRequestSchema)` to create a new message.
1080
1090
  */
1081
- export const ApproveAllDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 213);
1091
+ export const ApproveAllDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 215);
1082
1092
  /**
1083
1093
  * Describes the message openshell.v1.ApproveAllDraftChunksResponse.
1084
1094
  * Use `create(ApproveAllDraftChunksResponseSchema)` to create a new message.
1085
1095
  */
1086
- export const ApproveAllDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 214);
1096
+ export const ApproveAllDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 216);
1087
1097
  /**
1088
1098
  * Describes the message openshell.v1.EditDraftChunkRequest.
1089
1099
  * Use `create(EditDraftChunkRequestSchema)` to create a new message.
1090
1100
  */
1091
- export const EditDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 215);
1101
+ export const EditDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 217);
1092
1102
  /**
1093
1103
  * Describes the message openshell.v1.EditDraftChunkResponse.
1094
1104
  * Use `create(EditDraftChunkResponseSchema)` to create a new message.
1095
1105
  */
1096
- export const EditDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 216);
1106
+ export const EditDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 218);
1097
1107
  /**
1098
1108
  * Describes the message openshell.v1.UndoDraftChunkRequest.
1099
1109
  * Use `create(UndoDraftChunkRequestSchema)` to create a new message.
1100
1110
  */
1101
- export const UndoDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 217);
1111
+ export const UndoDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 219);
1102
1112
  /**
1103
1113
  * Describes the message openshell.v1.UndoDraftChunkResponse.
1104
1114
  * Use `create(UndoDraftChunkResponseSchema)` to create a new message.
1105
1115
  */
1106
- export const UndoDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 218);
1116
+ export const UndoDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 220);
1107
1117
  /**
1108
1118
  * Describes the message openshell.v1.ClearDraftChunksRequest.
1109
1119
  * Use `create(ClearDraftChunksRequestSchema)` to create a new message.
1110
1120
  */
1111
- export const ClearDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 219);
1121
+ export const ClearDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 221);
1112
1122
  /**
1113
1123
  * Describes the message openshell.v1.ClearDraftChunksResponse.
1114
1124
  * Use `create(ClearDraftChunksResponseSchema)` to create a new message.
1115
1125
  */
1116
- export const ClearDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 220);
1126
+ export const ClearDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 222);
1117
1127
  /**
1118
1128
  * Describes the message openshell.v1.GetDraftHistoryRequest.
1119
1129
  * Use `create(GetDraftHistoryRequestSchema)` to create a new message.
1120
1130
  */
1121
- export const GetDraftHistoryRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 221);
1131
+ export const GetDraftHistoryRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 223);
1122
1132
  /**
1123
1133
  * Describes the message openshell.v1.DraftHistoryEntry.
1124
1134
  * Use `create(DraftHistoryEntrySchema)` to create a new message.
1125
1135
  */
1126
- export const DraftHistoryEntrySchema = /*@__PURE__*/ messageDesc(file_openshell, 222);
1136
+ export const DraftHistoryEntrySchema = /*@__PURE__*/ messageDesc(file_openshell, 224);
1127
1137
  /**
1128
1138
  * Describes the message openshell.v1.GetDraftHistoryResponse.
1129
1139
  * Use `create(GetDraftHistoryResponseSchema)` to create a new message.
1130
1140
  */
1131
- export const GetDraftHistoryResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 223);
1141
+ export const GetDraftHistoryResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 225);
1132
1142
  /**
1133
1143
  * Describes the message openshell.v1.CreateWorkspaceRequest.
1134
1144
  * Use `create(CreateWorkspaceRequestSchema)` to create a new message.
1135
1145
  */
1136
- export const CreateWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 224);
1146
+ export const CreateWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 226);
1137
1147
  /**
1138
1148
  * Describes the message openshell.v1.CreateWorkspaceResponse.
1139
1149
  * Use `create(CreateWorkspaceResponseSchema)` to create a new message.
1140
1150
  */
1141
- export const CreateWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 225);
1151
+ export const CreateWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 227);
1142
1152
  /**
1143
1153
  * Describes the message openshell.v1.GetWorkspaceRequest.
1144
1154
  * Use `create(GetWorkspaceRequestSchema)` to create a new message.
1145
1155
  */
1146
- export const GetWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 226);
1156
+ export const GetWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 228);
1147
1157
  /**
1148
1158
  * Describes the message openshell.v1.GetWorkspaceResponse.
1149
1159
  * Use `create(GetWorkspaceResponseSchema)` to create a new message.
1150
1160
  */
1151
- export const GetWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 227);
1161
+ export const GetWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 229);
1152
1162
  /**
1153
1163
  * Describes the message openshell.v1.ListWorkspacesRequest.
1154
1164
  * Use `create(ListWorkspacesRequestSchema)` to create a new message.
1155
1165
  */
1156
- export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 228);
1166
+ export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 230);
1157
1167
  /**
1158
1168
  * Describes the message openshell.v1.ListWorkspacesResponse.
1159
1169
  * Use `create(ListWorkspacesResponseSchema)` to create a new message.
1160
1170
  */
1161
- export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 229);
1171
+ export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 231);
1162
1172
  /**
1163
1173
  * Describes the message openshell.v1.DeleteWorkspaceRequest.
1164
1174
  * Use `create(DeleteWorkspaceRequestSchema)` to create a new message.
1165
1175
  */
1166
- export const DeleteWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 230);
1176
+ export const DeleteWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 232);
1167
1177
  /**
1168
1178
  * Describes the message openshell.v1.DeleteWorkspaceResponse.
1169
1179
  * Use `create(DeleteWorkspaceResponseSchema)` to create a new message.
1170
1180
  */
1171
- export const DeleteWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 231);
1181
+ export const DeleteWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 233);
1172
1182
  /**
1173
1183
  * Describes the message openshell.v1.WorkspaceMember.
1174
1184
  * Use `create(WorkspaceMemberSchema)` to create a new message.
1175
1185
  */
1176
- export const WorkspaceMemberSchema = /*@__PURE__*/ messageDesc(file_openshell, 232);
1186
+ export const WorkspaceMemberSchema = /*@__PURE__*/ messageDesc(file_openshell, 234);
1177
1187
  /**
1178
1188
  * Describes the message openshell.v1.AddWorkspaceMemberRequest.
1179
1189
  * Use `create(AddWorkspaceMemberRequestSchema)` to create a new message.
1180
1190
  */
1181
- export const AddWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 233);
1191
+ export const AddWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 235);
1182
1192
  /**
1183
1193
  * Describes the message openshell.v1.AddWorkspaceMemberResponse.
1184
1194
  * Use `create(AddWorkspaceMemberResponseSchema)` to create a new message.
1185
1195
  */
1186
- export const AddWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 234);
1196
+ export const AddWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 236);
1187
1197
  /**
1188
1198
  * Describes the message openshell.v1.RemoveWorkspaceMemberRequest.
1189
1199
  * Use `create(RemoveWorkspaceMemberRequestSchema)` to create a new message.
1190
1200
  */
1191
- export const RemoveWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 235);
1201
+ export const RemoveWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 237);
1192
1202
  /**
1193
1203
  * Describes the message openshell.v1.RemoveWorkspaceMemberResponse.
1194
1204
  * Use `create(RemoveWorkspaceMemberResponseSchema)` to create a new message.
1195
1205
  */
1196
- export const RemoveWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 236);
1206
+ export const RemoveWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 238);
1197
1207
  /**
1198
1208
  * Describes the message openshell.v1.ListWorkspaceMembersRequest.
1199
1209
  * Use `create(ListWorkspaceMembersRequestSchema)` to create a new message.
1200
1210
  */
1201
- export const ListWorkspaceMembersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 237);
1211
+ export const ListWorkspaceMembersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 239);
1202
1212
  /**
1203
1213
  * Describes the message openshell.v1.ListWorkspaceMembersResponse.
1204
1214
  * Use `create(ListWorkspaceMembersResponseSchema)` to create a new message.
1205
1215
  */
1206
- export const ListWorkspaceMembersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 238);
1216
+ export const ListWorkspaceMembersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 240);
1207
1217
  /**
1208
1218
  * Describes the message openshell.v1.ExtensionServiceCredential.
1209
1219
  * Use `create(ExtensionServiceCredentialSchema)` to create a new message.
1210
1220
  */
1211
- export const ExtensionServiceCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 239);
1221
+ export const ExtensionServiceCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 241);
1212
1222
  /**
1213
1223
  * Describes the message openshell.v1.EndpointObservation.
1214
1224
  * Use `create(EndpointObservationSchema)` to create a new message.
1215
1225
  */
1216
- export const EndpointObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 240);
1226
+ export const EndpointObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 242);
1217
1227
  /**
1218
1228
  * Describes the message openshell.v1.ReportEndpointStatusRequest.
1219
1229
  * Use `create(ReportEndpointStatusRequestSchema)` to create a new message.
1220
1230
  */
1221
- export const ReportEndpointStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 241);
1231
+ export const ReportEndpointStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 243);
1222
1232
  /**
1223
1233
  * Describes the message openshell.v1.TokenGrantStatus.
1224
1234
  * Use `create(TokenGrantStatusSchema)` to create a new message.
1225
1235
  */
1226
- export const TokenGrantStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 242);
1236
+ export const TokenGrantStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 244);
1227
1237
  /**
1228
1238
  * Describes the message openshell.v1.TokenGrantFailureObservation.
1229
1239
  * Use `create(TokenGrantFailureObservationSchema)` to create a new message.
1230
1240
  */
1231
- export const TokenGrantFailureObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 243);
1241
+ export const TokenGrantFailureObservationSchema = /*@__PURE__*/ messageDesc(file_openshell, 245);
1232
1242
  /**
1233
1243
  * Describes the message openshell.v1.ReportEndpointStatusResponse.
1234
1244
  * Use `create(ReportEndpointStatusResponseSchema)` to create a new message.
1235
1245
  */
1236
- export const ReportEndpointStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 244);
1246
+ export const ReportEndpointStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 246);
1237
1247
  /**
1238
1248
  * Describes the message openshell.v1.EndpointStatus.
1239
1249
  * Use `create(EndpointStatusSchema)` to create a new message.
1240
1250
  */
1241
- export const EndpointStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 245);
1251
+ export const EndpointStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 247);
1242
1252
  /**
1243
1253
  * Describes the message openshell.v1.SandboxProvisioning.
1244
1254
  * Use `create(SandboxProvisioningSchema)` to create a new message.
1245
1255
  */
1246
- export const SandboxProvisioningSchema = /*@__PURE__*/ messageDesc(file_openshell, 246);
1256
+ export const SandboxProvisioningSchema = /*@__PURE__*/ messageDesc(file_openshell, 248);
1247
1257
  /**
1248
1258
  * Describes the message openshell.v1.SandboxServiceExposure.
1249
1259
  * Use `create(SandboxServiceExposureSchema)` to create a new message.
1250
1260
  */
1251
- export const SandboxServiceExposureSchema = /*@__PURE__*/ messageDesc(file_openshell, 247);
1261
+ export const SandboxServiceExposureSchema = /*@__PURE__*/ messageDesc(file_openshell, 249);
1252
1262
  /**
1253
1263
  * Describes the message openshell.v1.EndpointFailure.
1254
1264
  * Use `create(EndpointFailureSchema)` to create a new message.
1255
1265
  */
1256
- export const EndpointFailureSchema = /*@__PURE__*/ messageDesc(file_openshell, 248);
1266
+ export const EndpointFailureSchema = /*@__PURE__*/ messageDesc(file_openshell, 250);
1257
1267
  /**
1258
1268
  * @generated from enum openshell.v1.ExtensionKind
1259
1269
  */
@@ -1336,6 +1346,19 @@ export var SandboxPhase;
1336
1346
  * @generated from enum value: SANDBOX_PHASE_COMPLETED = 9;
1337
1347
  */
1338
1348
  SandboxPhase[SandboxPhase["COMPLETED"] = 9] = "COMPLETED";
1349
+ /**
1350
+ * The gateway requested suspension and the driver has not confirmed it.
1351
+ *
1352
+ * @generated from enum value: SANDBOX_PHASE_SUSPENDING = 11;
1353
+ */
1354
+ SandboxPhase[SandboxPhase["SUSPENDING"] = 11] = "SUSPENDING";
1355
+ /**
1356
+ * The workload is frozen and its memory state is retained by the isolation
1357
+ * backend. ResumeSandbox restores it; StartSandbox discards it.
1358
+ *
1359
+ * @generated from enum value: SANDBOX_PHASE_SUSPENDED = 12;
1360
+ */
1361
+ SandboxPhase[SandboxPhase["SUSPENDED"] = 12] = "SUSPENDED";
1339
1362
  })(SandboxPhase || (SandboxPhase = {}));
1340
1363
  /**
1341
1364
  * Describes the enum openshell.v1.SandboxPhase.