CuEsChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJvChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWiVnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvYW55ogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSoErCgcSBR4AmgEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwA8CgkKAggLEgMjADwKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQApCgkKAggIEgMlACkKCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEK5BAKAgQAEgV5AJoBARrWECBgQW55YCBjb250YWlucyBhbiBhcmJpdHJhcnkgc2VyaWFsaXplZCBwcm90b2NvbCBidWZmZXIgbWVzc2FnZSBhbG9uZyB3aXRoIGEKIFVSTCB0aGF0IGRlc2NyaWJlcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZCBtZXNzYWdlLgoKIFByb3RvYnVmIGxpYnJhcnkgcHJvdmlkZXMgc3VwcG9ydCB0byBwYWNrL3VucGFjayBBbnkgdmFsdWVzIGluIHRoZSBmb3JtCiBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBvciBhZGRpdGlvbmFsIGdlbmVyYXRlZCBtZXRob2RzIG9mIHRoZSBBbnkgdHlwZS4KCiBFeGFtcGxlIDE6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gQysrLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnk7CiAgICAgYW55LlBhY2tGcm9tKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5VbnBhY2tUbygmZm9vKSkgewogICAgICAgLi4uCiAgICAgfQoKIEV4YW1wbGUgMjogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBKYXZhLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnkgPSBBbnkucGFjayhmb28pOwogICAgIC4uLgogICAgIGlmIChhbnkuaXMoRm9vLmNsYXNzKSkgewogICAgICAgZm9vID0gYW55LnVucGFjayhGb28uY2xhc3MpOwogICAgIH0KCiAgRXhhbXBsZSAzOiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIFB5dGhvbi4KCiAgICAgZm9vID0gRm9vKC4uLikKICAgICBhbnkgPSBBbnkoKQogICAgIGFueS5QYWNrKGZvbykKICAgICAuLi4KICAgICBpZiBhbnkuSXMoRm9vLkRFU0NSSVBUT1IpOgogICAgICAgYW55LlVucGFjayhmb28pCiAgICAgICAuLi4KCiAgRXhhbXBsZSA0OiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIEdvCgogICAgICBmb28gOj0gJnBiLkZvb3suLi59CiAgICAgIGFueSwgZXJyIDo9IHB0eXBlcy5NYXJzaGFsQW55KGZvbykKICAgICAgLi4uCiAgICAgIGZvbyA6PSAmcGIuRm9ve30KICAgICAgaWYgZXJyIDo9IHB0eXBlcy5Vbm1hcnNoYWxBbnkoYW55LCBmb28pOyBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQoKIFRoZSBwYWNrIG1ldGhvZHMgcHJvdmlkZWQgYnkgcHJvdG9idWYgbGlicmFyeSB3aWxsIGJ5IGRlZmF1bHQgdXNlCiAndHlwZS5nb29nbGVhcGlzLmNvbS9mdWxsLnR5cGUubmFtZScgYXMgdGhlIHR5cGUgVVJMIGFuZCB0aGUgdW5wYWNrCiBtZXRob2RzIG9ubHkgdXNlIHRoZSBmdWxseSBxdWFsaWZpZWQgdHlwZSBuYW1lIGFmdGVyIHRoZSBsYXN0ICcvJwogaW4gdGhlIHR5cGUgVVJMLCBmb3IgZXhhbXBsZSAiZm9vLmJhci5jb20veC95LnoiIHdpbGwgeWllbGQgdHlwZQogbmFtZSAieS56Ii4KCgogSlNPTgogPT09PQogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgYW4gYEFueWAgdmFsdWUgdXNlcyB0aGUgcmVndWxhcgogcmVwcmVzZW50YXRpb24gb2YgdGhlIGRlc2VyaWFsaXplZCwgZW1iZWRkZWQgbWVzc2FnZSwgd2l0aCBhbgogYWRkaXRpb25hbCBmaWVsZCBgQHR5cGVgIHdoaWNoIGNvbnRhaW5zIHRoZSB0eXBlIFVSTC4gRXhhbXBsZToKCiAgICAgcGFja2FnZSBnb29nbGUucHJvZmlsZTsKICAgICBtZXNzYWdlIFBlcnNvbiB7CiAgICAgICBzdHJpbmcgZmlyc3RfbmFtZSA9IDE7CiAgICAgICBzdHJpbmcgbGFzdF9uYW1lID0gMjsKICAgICB9CgogICAgIHsKICAgICAgICJAdHlwZSI6ICJ0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5wcm9maWxlLlBlcnNvbiIsCiAgICAgICAiZmlyc3ROYW1lIjogPHN0cmluZz4sCiAgICAgICAibGFzdE5hbWUiOiA8c3RyaW5nPgogICAgIH0KCiBJZiB0aGUgZW1iZWRkZWQgbWVzc2FnZSB0eXBlIGlzIHdlbGwta25vd24gYW5kIGhhcyBhIGN1c3RvbSBKU09OCiByZXByZXNlbnRhdGlvbiwgdGhhdCByZXByZXNlbnRhdGlvbiB3aWxsIGJlIGVtYmVkZGVkIGFkZGluZyBhIGZpZWxkCiBgdmFsdWVgIHdoaWNoIGhvbGRzIHRoZSBjdXN0b20gSlNPTiBpbiBhZGRpdGlvbiB0byB0aGUgYEB0eXBlYAogZmllbGQuIEV4YW1wbGUgKGZvciBtZXNzYWdlIFtnb29nbGUucHJvdG9idWYuRHVyYXRpb25dW10pOgoKICAgICB7CiAgICAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucHJvdG9idWYuRHVyYXRpb24iLAogICAgICAgInZhbHVlIjogIjEuMjEycyIKICAgICB9CgoKCgoDBAABEgN5CAsK1woKBAQAAgASBJYBAhYayAogQSBVUkwvcmVzb3VyY2UgbmFtZSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgdGhlIHNlcmlhbGl6ZWQKIHByb3RvY29sIGJ1ZmZlciBtZXNzYWdlLiBUaGlzIHN0cmluZyBtdXN0IGNvbnRhaW4gYXQgbGVhc3QKIG9uZSAiLyIgY2hhcmFjdGVyLiBUaGUgbGFzdCBzZWdtZW50IG9mIHRoZSBVUkwncyBwYXRoIG11c3QgcmVwcmVzZW50CiB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIHR5cGUgKGFzIGluCiBgcGF0aC9nb29nbGUucHJvdG9idWYuRHVyYXRpb25gKS4gVGhlIG5hbWUgc2hvdWxkIGJlIGluIGEgY2Fub25pY2FsIGZvcm0KIChlLmcuLCBsZWFkaW5nICIuIiBpcyBub3QgYWNjZXB0ZWQpLgoKIEluIHByYWN0aWNlLCB0ZWFtcyB1c3VhbGx5IHByZWNvbXBpbGUgaW50byB0aGUgYmluYXJ5IGFsbCB0eXBlcyB0aGF0IHRoZXkKIGV4cGVjdCBpdCB0byB1c2UgaW4gdGhlIGNvbnRleHQgb2YgQW55LiBIb3dldmVyLCBmb3IgVVJMcyB3aGljaCB1c2UgdGhlCiBzY2hlbWUgYGh0dHBgLCBgaHR0cHNgLCBvciBubyBzY2hlbWUsIG9uZSBjYW4gb3B0aW9uYWxseSBzZXQgdXAgYSB0eXBlCiBzZXJ2ZXIgdGhhdCBtYXBzIHR5cGUgVVJMcyB0byBtZXNzYWdlIGRlZmluaXRpb25zIGFzIGZvbGxvd3M6CgogKiBJZiBubyBzY2hlbWUgaXMgcHJvdmlkZWQsIGBodHRwc2AgaXMgYXNzdW1lZC4KICogQW4gSFRUUCBHRVQgb24gdGhlIFVSTCBtdXN0IHlpZWxkIGEgW2dvb2dsZS5wcm90b2J1Zi5UeXBlXVtdCiAgIHZhbHVlIGluIGJpbmFyeSBmb3JtYXQsIG9yIHByb2R1Y2UgYW4gZXJyb3IuCiAqIEFwcGxpY2F0aW9ucyBhcmUgYWxsb3dlZCB0byBjYWNoZSBsb29rdXAgcmVzdWx0cyBiYXNlZCBvbiB0aGUKICAgVVJMLCBvciBoYXZlIHRoZW0gcHJlY29tcGlsZWQgaW50byBhIGJpbmFyeSB0byBhdm9pZCBhbnkKICAgbG9va3VwLiBUaGVyZWZvcmUsIGJpbmFyeSBjb21wYXRpYmlsaXR5IG5lZWRzIHRvIGJlIHByZXNlcnZlZAogICBvbiBjaGFuZ2VzIHRvIHR5cGVzLiAoVXNlIHZlcnNpb25lZCB0eXBlIG5hbWVzIHRvIG1hbmFnZQogICBicmVha2luZyBjaGFuZ2VzLikKCiBOb3RlOiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgaW4gdGhlIG9mZmljaWFsCiBwcm90b2J1ZiByZWxlYXNlLCBhbmQgaXQgaXMgbm90IHVzZWQgZm9yIHR5cGUgVVJMcyBiZWdpbm5pbmcgd2l0aAogdHlwZS5nb29nbGVhcGlzLmNvbS4KCiBTY2hlbWVzIG90aGVyIHRoYW4gYGh0dHBgLCBgaHR0cHNgIChvciB0aGUgZW1wdHkgc2NoZW1lKSBtaWdodCBiZQogdXNlZCB3aXRoIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHNlbWFudGljcy4KCgoOCgUEAAIABBIFlgECeQ0KDQoFBAACAAUSBJYBAggKDQoFBAACAAESBJYBCREKDQoFBAACAAMSBJYBFBUKVwoEBAACARIEmQECEhpJIE11c3QgYmUgYSB2YWxpZCBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBvZiB0aGUgYWJvdmUgc3BlY2lmaWVkIHR5cGUuCgoPCgUEAAIBBBIGmQEClgEWCg0KBQQAAgEFEgSZAQIHCg0KBQQAAgEBEgSZAQgNCg0KBQQAAgEDEgSZARARYgZwcm90bzMKy/kCCiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIk0KEUZpbGVEZXNjcmlwdG9yU2V0EjgKBGZpbGUYASADKAsyJC5nb29nbGUucHJvdG9idWYuRmlsZURlc2NyaXB0b3JQcm90b1IEZmlsZSLkBAoTRmlsZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3BhY2thZ2UYAiABKAlSB3BhY2thZ2USHgoKZGVwZW5kZW5jeRgDIAMoCVIKZGVwZW5kZW5jeRIrChFwdWJsaWNfZGVwZW5kZW5jeRgKIAMoBVIQcHVibGljRGVwZW5kZW5jeRInCg93ZWFrX2RlcGVuZGVuY3kYCyADKAVSDndlYWtEZXBlbmRlbmN5EkMKDG1lc3NhZ2VfdHlwZRgEIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SC21lc3NhZ2VUeXBlEkEKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJBCgdzZXJ2aWNlGAYgAygLMicuZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VEZXNjcmlwdG9yUHJvdG9SB3NlcnZpY2USQwoJZXh0ZW5zaW9uGAcgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SNgoHb3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9uc1IHb3B0aW9ucxJJChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvUg5zb3VyY2VDb2RlSW5mbxIWCgZzeW50YXgYDCABKAlSBnN5bnRheCK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCJ8ChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxBQkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyJjChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAiABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25zIuMCChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKAsyKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2CgdvcHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDnJlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIAMoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKDAQoYRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISOwoHb3B0aW9ucxgDIAEoCzIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zUgdvcHRpb25zIqcBChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGAIgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkKB29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbnMiiQIKFU1ldGhvZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEh0KCmlucHV0X3R5cGUYAiABKAlSCWlucHV0VHlwZRIfCgtvdXRwdXRfdHlwZRgDIAEoCVIKb3V0cHV0VHlwZRI4CgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnNSB29wdGlvbnMSMAoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoFZmFsc2VSD2NsaWVudFN0cmVhbWluZxIwChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxzZVIPc2VydmVyU3RyZWFtaW5nIpIJCgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFzaBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZWNrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCVIJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVyaWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdlbmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocEdlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIvChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgVmYWxzZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnItECCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAgQCUoECAkQCiLiAwoMRmllbGRPcHRpb25zEkEKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HUgVjdHlwZRIWCgZwYWNrZWQYAiABKAhSBnBhY2tlZBJHCgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMUgZqc3R5cGUSGQoEbGF6eRgFIAEoCDoFZmFsc2VSBGxhenkSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGQoEd2VhaxgKIAEoCDoFZmFsc2VSBHdlYWsSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAioJCOgHEICAgIACSgQIBBAFInMKDE9uZW9mT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIsABCgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItEBChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24abQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmRCjwEKE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVo+Z2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHJvdG9jLWdlbi1nby9kZXNjcmlwdG9yO2Rlc2NyaXB0b3L4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbkqsvgIKBxIFJwDyBgEKqg8KAQwSAycAEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KMtsCIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIFRoZSBtZXNzYWdlcyBpbiB0aGlzIGZpbGUgZGVzY3JpYmUgdGhlIGRlZmluaXRpb25zIGZvdW5kIGluIC5wcm90byBmaWxlcy4KIEEgdmFsaWQgLnByb3RvIGZpbGUgY2FuIGJlIHRyYW5zbGF0ZWQgZGlyZWN0bHkgdG8gYSBGaWxlRGVzY3JpcHRvclByb3RvCiB3aXRob3V0IGFueSBvdGhlciBpbmZvcm1hdGlvbiAoZS5nLiB3aXRob3V0IHJlYWRpbmcgaXRzIGltcG9ydHMpLgoKCAoBAhID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dG9yZSB0aGUgdmFsdWVzIGluIHRoZW0uICBJbnN0ZWFkIGl0IHN0b3JlcyB0aGVtIGluIGEgZmllbGQgaW4gdGhlICpPcHRpb25zCiBtZXNzYWdlIGNhbGxlZCB1bmludGVycHJldGVkX29wdGlvbi4gVGhpcyBmaWVsZCBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZQogYWNyb3NzIGFsbCAqT3B0aW9ucyBtZXNzYWdlcy4gV2UgdGhlbiB1c2UgdGhpcyBmaWVsZCB0byBwb3B1bGF0ZSB0aGUKIGV4dGVuc2lvbnMgd2hlbiB3ZSBidWlsZCBhIGRlc2NyaXB0b3IsIGF0IHdoaWNoIHBvaW50IGFsbCBwcm90b3MgaGF2ZSBiZWVuCiBwYXJzZWQgYW5kIHNvIGFsbCBleHRlbnNpb25zIGFyZSBrbm93bi4KCiBFeHRlbnNpb24gbnVtYmVycyBmb3IgY3VzdG9tIG9wdGlvbnMgbWF5IGJlIGNob3NlbiBhcyBmb2xsb3dzOgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBzaW5nbGUgYXBwbGljYXRpb24gb3IKICAgb3JnYW5pemF0aW9uLCBvciBmb3IgZXhwZXJpbWVudGFsIG9wdGlvbnMsIHVzZSBmaWVsZCBudW1iZXJzIDUwMDAwCiAgIHRocm91Z2ggOTk5OTkuICBJdCBpcyB1cCB0byB5b3UgdG8gZW5zdXJlIHRoYXQgeW91IGRvIG5vdCB1c2UgdGhlCiAgIHNhbWUgbnVtYmVyIGZvciBtdWx0aXBsZSBvcHRpb25zLgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIGJlIHB1Ymxpc2hlZCBhbmQgdXNlZCBwdWJsaWNseSBieSBtdWx0aXBsZQogICBpbmRlcGVuZGVudCBlbnRpdGllcywgZS1tYWlsIHByb3RvYnVmLWdsb2JhbC1leHRlbnNpb24tcmVnaXN0cnlAZ29vZ2xlLmNvbQogICB0byByZXNlcnZlIGV4dGVuc2lvbiBudW1iZXJzLiBTaW1wbHkgcHJvdmlkZSB5b3VyIHByb2plY3QgbmFtZSAoZS5nLgogICBPYmplY3RpdmUtQyBwbHVnaW4pIGFuZCB5b3VyIHByb2plY3Qgd2Vic2l0ZSAoaWYgYXZhaWxhYmxlKSAtLSB0aGVyZSdzIG5vCiAgIG5lZWQgdG8gZXhwbGFpbiBob3cgeW91IGludGVuZCB0byB1c2UgdGhlbS4gVXN1YWxseSB5b3Ugb25seSBuZWVkIG9uZQogICBleHRlbnNpb24gbnVtYmVyLiBZb3UgY2FuIGRlY2xhcmUgbXVsdGlwbGUgb3B0aW9ucyB3aXRoIG9ubHkgb25lIGV4dGVuc2lvbgogICBudW1iZXIgYnkgcHV0dGluZyB0aGVtIGluIGEgc3ViLW1lc3NhZ2UuIFNlZSB0aGUgQ3VzdG9tIE9wdGlvbnMgc2VjdGlvbiBvZgogICB0aGUgZG9jcyBmb3IgZXhhbXBsZXM6CiAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90byNvcHRpb25zCiAgIElmIHRoaXMgdHVybnMgb3V0IHRvIGJlIHBvcHVsYXIsIGEgd2ViIHNlcnZpY2Ugd2lsbCBiZSBzZXQgdXAKICAgdG8gYXV0b21hdGljYWxseSBhc3NpZ24gb3B0aW9uIG51bWJlcnMuCgoLCgMECgESBL0CCBMK9AEKBAQKAgASBMMCAiMa5QEgU2V0cyB0aGUgSmF2YSBwYWNrYWdlIHdoZXJlIGNsYXNzZXMgZ2VuZXJhdGVkIGZyb20gdGhpcyAucHJvdG8gd2lsbCBiZQogcGxhY2VkLiAgQnkgZGVmYXVsdCwgdGhlIHByb3RvIHBhY2thZ2UgaXMgdXNlZCwgYnV0IHRoaXMgaXMgb2Z0ZW4KIGluYXBwcm9wcmlhdGUgYmVjYXVzZSBwcm90byBwYWNrYWdlcyBkbyBub3Qgbm9ybWFsbHkgc3RhcnQgd2l0aCBiYWNrd2FyZHMKIGRvbWFpbiBuYW1lcy4KCg0KBQQKAgAEEgTDAgIKCg0KBQQKAgAFEgTDAgsRCg0KBQQKAgABEgTDAhIeCg0KBQQKAgADEgTDAiEiCr8CCgQECgIBEgTLAgIrGrACIElmIHNldCwgYWxsIHRoZSBjbGFzc2VzIGZyb20gdGhlIC5wcm90byBmaWxlIGFyZSB3cmFwcGVkIGluIGEgc2luZ2xlCiBvdXRlciBjbGFzcyB3aXRoIHRoZSBnaXZlbiBuYW1lLiAgVGhpcyBhcHBsaWVzIHRvIGJvdGggUHJvdG8xCiAoZXF1aXZhbGVudCB0byB0aGUgb2xkICItLW9uZV9qYXZhX2ZpbGUiIG9wdGlvbikgYW5kIFByb3RvMiAod2hlcmUKIGEgLnByb3RvIGFsd2F5cyB0cmFuc2xhdGVzIHRvIGEgc2luZ2xlIGNsYXNzLCBidXQgeW91IG1heSB3YW50IHRvCiBleHBsaWNpdGx5IGNob29zZSB0aGUgY2xhc3MgbmFtZSkuCgoNCgUECgIBBBIEywICCgoNCgUECgIBBRIEywILEQoNCgUECgIBARIEywISJgoNCgUECgIBAxIEywIpKgqjAwoEBAoCAhIE0wICORqUAyBJZiBzZXQgdHJ1ZSwgdGhlbiB0aGUgSmF2YSBjb2RlIGdlbmVyYXRvciB3aWxsIGdlbmVyYXRlIGEgc2VwYXJhdGUgLmphdmEKIGZpbGUgZm9yIGVhY2ggdG9wLWxldmVsIG1lc3NhZ2UsIGVudW0sIGFuZCBzZXJ2aWNlIGRlZmluZWQgaW4gdGhlIC5wcm90bwogZmlsZS4gIFRodXMsIHRoZXNlIHR5cGVzIHdpbGwgKm5vdCogYmUgbmVzdGVkIGluc2lkZSB0aGUgb3V0ZXIgY2xhc3MKIG5hbWVkIGJ5IGphdmFfb3V0ZXJfY2xhc3NuYW1lLiAgSG93ZXZlciwgdGhlIG91dGVyIGNsYXNzIHdpbGwgc3RpbGwgYmUKIGdlbmVyYXRlZCB0byBjb250YWluIHRoZSBmaWxlJ3MgZ2V0RGVzY3JpcHRvcigpIG1ldGhvZCBhcyB3ZWxsIGFzIGFueQogdG9wLWxldmVsIGV4dGVuc2lvbnMgZGVmaW5lZCBpbiB0aGUgZmlsZS4KCg0KBQQKAgIEEgTTAgIKCg0KBQQKAgIFEgTTAgsPCg0KBQQKAgIBEgTTAhAjCg0KBQQKAgIDEgTTAiYoCg0KBQQKAgIIEgTTAik4Cg0KBQQKAgIHEgTTAjI3CikKBAQKAgMSBNYCAkUaGyBUaGlzIG9wdGlvbiBkb2VzIG5vdGhpbmcuCgoNCgUECgIDBBIE1gICCgoNCgUECgIDBRIE1gILDwoNCgUECgIDARIE1gIQLQoNCgUECgIDAxIE1gIwMgoNCgUECgIDCBIE1gIzRAoOCgYECgIDCAMSBNYCNEMK5gIKBAQKAgQSBN4CAjwa1wIgSWYgc2V0IHRydWUsIHRoZW4gdGhlIEphdmEyIGNvZGUgZ2VuZXJhdG9yIHdpbGwgZ2VuZXJhdGUgY29kZSB0aGF0CiB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoZW5ldmVyIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBhc3NpZ24gYSBub24tVVRGLTgKIGJ5dGUgc2VxdWVuY2UgdG8gYSBzdHJpbmcgZmllbGQuCiBNZXNzYWdlIHJlZmxlY3Rpb24gd2lsbCBkbyB0aGUgc2FtZS4KIEhvd2V2ZXIsIGFuIGV4dGVuc2lvbiBmaWVsZCBzdGlsbCBhY2NlcHRzIG5vbi1VVEYtOCBieXRlIHNlcXVlbmNlcy4KIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gd2hlbiB1c2VkIHdpdGggdGhlIGxpdGUgcnVudGltZS4KCg0KBQQKAgQEEgTeAgIKCg0KBQQKAgQFEgTeAgsPCg0KBQQKAgQBEgTeAhAmCg0KBQQKAgQDEgTeAikrCg0KBQQKAgQIEgTeAiw7Cg0KBQQKAgQHEgTeAjU6CkwKBAQKBAASBuICAucCAxo8IEdlbmVyYXRlZCBjbGFzc2VzIGNhbiBiZSBvcHRpbWl6ZWQgZm9yIHNwZWVkIG9yIGNvZGUgc2l6ZS4KCg0KBQQKBAABEgTiAgcTCkQKBgQKBAACABIE4wIEDiI0IEdlbmVyYXRlIGNvbXBsZXRlIGNvZGUgZm9yIHBhcnNpbmcsIHNlcmlhbGl6YXRpb24sCgoPCgcECgQAAgABEgTjAgQJCg8KBwQKBAACAAISBOMCDA0KRwoGBAoEAAIBEgTlAgQSGgYgZXRjLgoiLyBVc2UgUmVmbGVjdGlvbk9wcyB0byBpbXBsZW1lbnQgdGhlc2UgbWV0aG9kcy4KCg8KBwQKBAACAQESBOUCBA0KDwoHBAoEAAIBAhIE5QIQEQpHCgYECgQAAgISBOYCBBUiNyBHZW5lcmF0ZSBjb2RlIHVzaW5nIE1lc3NhZ2VMaXRlIGFuZCB0aGUgbGl0ZSBydW50aW1lLgoKDwoHBAoEAAICARIE5gIEEAoPCgcECgQAAgICEgTmAhMUCgwKBAQKAgUSBOgCAjkKDQoFBAoCBQQSBOgCAgoKDQoFBAoCBQYSBOgCCxcKDQoFBAoCBQESBOgCGCQKDQoFBAoCBQMSBOgCJygKDQoFBAoCBQgSBOgCKTgKDQoFBAoCBQcSBOgCMjcK4gIKBAQKAgYSBO8CAiIa0wIgU2V0cyB0aGUgR28gcGFja2FnZSB3aGVyZSBzdHJ1Y3RzIGdlbmVyYXRlZCBmcm9tIHRoaXMgLnByb3RvIHdpbGwgYmUKIHBsYWNlZC4gSWYgb21pdHRlZCwgdGhlIEdvIHBhY2thZ2Ugd2lsbCBiZSBkZXJpdmVkIGZyb20gdGhlIGZvbGxvd2luZzoKICAgLSBUaGUgYmFzZW5hbWUgb2YgdGhlIHBhY2thZ2UgaW1wb3J0IHBhdGgsIGlmIHByb3ZpZGVkLgogICAtIE90aGVyd2lzZSwgdGhlIHBhY2thZ2Ugc3RhdGVtZW50IGluIHRoZSAucHJvdG8gZmlsZSwgaWYgcHJlc2VudC4KICAgLSBPdGhlcndpc2UsIHRoZSBiYXNlbmFtZSBvZiB0aGUgLnByb3RvIGZpbGUsIHdpdGhvdXQgZXh0ZW5zaW9uLgoKDQoFBAoCBgQSBO8CAgoKDQoFBAoCBgUSBO8CCxEKDQoFBAoCBgESBO8CEhwKDQoFBAoCBgMSBO8CHyEK1AQKBAQKAgcSBP0CAjkaxQQgU2hvdWxkIGdlbmVyaWMgc2VydmljZXMgYmUgZ2VuZXJhdGVkIGluIGVhY2ggbGFuZ3VhZ2U/ICAiR2VuZXJpYyIgc2VydmljZXMKIGFyZSBub3Qgc3BlY2lmaWMgdG8gYW55IHBhcnRpY3VsYXIgUlBDIHN5c3RlbS4gIFRoZXkgYXJlIGdlbmVyYXRlZCBieSB0aGUKIG1haW4gY29kZSBnZW5lcmF0b3JzIGluIGVhY2ggbGFuZ3VhZ2UgKHdpdGhvdXQgYWRkaXRpb25hbCBwbHVnaW5zKS4KIEdlbmVyaWMgc2VydmljZXMgd2VyZSB0aGUgb25seSBraW5kIG9mIHNlcnZpY2UgZ2VuZXJhdGlvbiBzdXBwb3J0ZWQgYnkKIGVhcmx5IHZlcnNpb25zIG9mIGdvb2dsZS5wcm90b2J1Zi4KCiBHZW5lcmljIHNlcnZpY2VzIGFyZSBub3cgY29uc2lkZXJlZCBkZXByZWNhdGVk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dCBEZXByZWNhdGVkIGFubm90YXRpb25zCiBmb3IgdGhlIG1lc3NhZ2UsIG9yIGl0IHdpbGwgYmUgY29tcGxldGVseSBpZ25vcmVkOyBpbiB0aGUgdmVyeSBsZWFzdCwKIHRoaXMgaXMgYSBmb3JtYWxpemF0aW9uIGZvciBkZXByZWNhdGluZyBtZXNzYWdlcy4KCg0KBQQLAgIEEgTXAwIKCg0KBQQLAgIFEgTXAwsPCg0KBQQLAgIBEgTXAxAaCg0KBQQLAgIDEgTXAx0eCg0KBQQLAgIIEgTXAx8uCg0KBQQLAgIHEgTXAygtCp4GCgQECwIDEgTuAwIeGo8GIFdoZXRoZXIgdGhlIG1lc3NhZ2UgaXMgYW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFwIGVudHJ5IHR5cGUgZm9yIHRoZQogbWFwcyBmaWVsZC4KCiBGb3IgbWFwcyBmaWVsZHM6CiAgICAgbWFwPEtleVR5cGUsIFZhbHVlVHlwZT4gbWFwX2ZpZWxkID0gMTsKIFRoZSBwYXJzZWQgZGVzY3JpcHRvciBsb29rcyBsaWtlOgogICAgIG1lc3NhZ2UgTWFwRmllbGRFbnRyeSB7CiAgICAgICAgIG9wdGlvbiBtYXBfZW50cnkgPSB0cnVlOwogICAgICAgICBvcHRpb25hbCBLZXlUeXBlIGtleSA9IDE7CiAgICAgICAgIG9wdGlvbmFsIFZhbHVlVHlwZSB2YWx1ZSA9IDI7CiAgICAgfQogICAgIHJlcGVhdGVkIE1hcEZpZWxkRW50cnkgbWFwX2ZpZWxkID0gMTsKCiBJbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gZ2VuZXJhdGUgdGhlIG1hcF9lbnRyeT10cnVlIG1lc3NhZ2UsIGJ1dAogdXNlIGEgbmF0aXZlIG1hcCBpbiB0aGUgdGFyZ2V0IGxhbmd1YWdlIHRvIGhvbGQgdGhlIGtleXMgYW5kIHZhbHVlcy4KIFRoZSByZWZsZWN0aW9uIEFQSXMgaW4gc3VjaCBpbXBsZW1lbnRpb25zIHN0aWxsIG5lZWQgdG8gd29yayBhcwogaWYgdGhlIGZpZWxkIGlzIGEgcmVwZWF0ZWQgbWVzc2FnZSBmaWVsZC4KCiBOT1RFOiBEbyBub3Qgc2V0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cyBmaWVsZCBiZSBwYXJzZWQgbGF6aWx5PyAgTGF6eSBhcHBsaWVzIG9ubHkgdG8gbWVzc2FnZS10eXBlCiBmaWVsZHMuICBJdCBtZWFucyB0aGF0IHdoZW4gdGhlIG91dGVyIG1lc3NhZ2UgaXMgaW5pdGlhbGx5IHBhcnNlZCwgdGhlCiBpbm5lciBtZXNzYWdlJ3MgY29udGVudHMgd2lsbCBub3QgYmUgcGFyc2VkIGJ1dCBpbnN0ZWFkIHN0b3JlZCBpbiBlbmNvZGVkCiBmb3JtLiAgVGhlIGlubmVyIG1lc3NhZ2Ugd2lsbCBhY3R1YWxseSBiZSBwYXJzZWQgd2hlbiBpdCBpcyBmaXJzdCBhY2Nlc3NlZC4KCiBUaGlzIGlzIG9ubHkgYSBoaW50LiAgSW1wbGVtZW50YXRpb25zIGFyZSBmcmVlIHRvIGNob29zZSB3aGV0aGVyIHRvIHVzZQogZWFnZXIgb3IgbGF6eSBwYXJzaW5nIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9uLiAgSG93ZXZlciwKIHNldHRpbmcgdGhpcyBvcHRpb24gdHJ1ZSBzdWdnZXN0cyB0aGF0IHRoZSBwcm90b2NvbCBhdXRob3IgYmVsaWV2ZXMgdGhhdAogdXNpbmcgbGF6eSBwYXJzaW5nIG9uIHRoaXMgZmllbGQgaXMgd29ydGggdGhlIGFkZGl0aW9uYWwgYm9va2tlZXBpbmcKIG92ZXJoZWFkIHR5cGljYWxseSBuZWVkZWQgdG8gaW1wbGVtZW50IGl0LgoKIFRoaXMgb3B0aW9uIGRvZXMgbm90IGFmZmVjdCB0aGUgcHVibGljIGludGVyZmFjZSBvZiBhbnkgZ2VuZXJhdGVkIGNvZGU7CiBhbGwgbWV0aG9kIHNpZ25hdHVyZXMgcmVtYWluIHRoZSBzYW1lLiAgRnVydGhlcm1vcmUsIHRocmVhZC1zYWZldHkgb2YgdGhlCiBpbnRlcmZhY2UgaXMgbm90IGFmZmVjdGVkIGJ5IHRoaXMgb3B0aW9uOyBjb25zdCBtZXRob2RzIHJlbWFpbiBzYWZlIHRvCiBjYWxsIGZyb20gbXVsdGlwbGUgdGhyZWFkcyBjb25jdXJyZW50bHksIHdoaWxlIG5vbi1jb25zdCBtZXRob2RzIGNvbnRpbnVlCiB0byByZXF1aXJlIGV4Y2x1c2l2ZSBhY2Nlc3MuCgoKIE5vdGUgdGhhdCBpbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gY2hlY2sgcmVxdWlyZWQgZmllbGRzIHdpdGhpbgogYSBsYXp5IHN1Yi1tZXNzYWdlLiAgVGhhdCBpcywgY2FsbGluZyBJc0luaXRpYWxpemVkKCkgb24gdGhlIG91dGVyIG1lc3NhZ2UKIG1heSByZXR1cm4gdHJ1ZSBldmVuIGlmIHRoZSBpbm5lciBtZXNzYWdlIGhhcyBtaXNzaW5nIHJlcXVpcmVkIGZpZWxkcy4KIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBpbm5lciBtZXNzYWdlIHdvdWxkIGhhdmUgdG8gYmUKIHBhcnNlZCBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSBjaGVjaywgZGVmZWF0aW5nIHRoZSBwdXJwb3NlIG9mIGxhenkKIHBhcnNpbmcuICBBbiBpbXBsZW1lbnRhdGlvbiB3aGljaCBjaG9vc2VzIG5vdCB0byBjaGVjayByZXF1aXJlZCBmaWVsZHMKIG11c3QgYmUgY29uc2lzdGVudCBhYm91dCBpdC4gIFRoYXQgaXMsIGZvciBhbnkgcGFydGljdWxhciBzdWItbWVzc2FnZSwgdGhlCiBpbXBsZW1lbnRhdGlvbiBtdXN0IGVpdGhlciAqYWx3YXlzKiBjaGVjayBpdHMgcmVxdWlyZWQgZmllbGRzLCBvciAqbmV2ZXIqCiBjaGVjayBpdHMgcmVxdWlyZWQgZmllbGRzLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZSBtZXNzYWdlIGhhcwogYmVlbiBwYXJzZWQuCgoNCgUEDAIDBBIEwgQCCgoNCgUEDAIDBRIEwgQLDwoNCgUEDAIDARIEwgQQFAoNCgUEDAIDAxIEwgQXGAoNCgUEDAIDCBIEwgQZKAoNCgUEDAIDBxIEwgQiJwroAQoEBAwCBBIEyAQCLxrZASBJcyB0aGlzIGZpZWxkIGRlcHJlY2F0ZWQ/CiBEZXBlbmRpbmcgb24gdGhlIHRhcmdldCBwbGF0Zm9ybSwgdGhpcyBjYW4g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CgUEEQIBBBIEqwUCCgoNCgUEEQIBBhIEqwULGwoNCgUEEQIBARIEqwUcLQoNCgUEEQIBAxIErAUGCAoNCgUEEQIBCBIErAUJJgoNCgUEEQIBBxIErAUSJQpPCgQEEQICEgSvBQI6GkEgVGhlIHBhcnNlciBzdG9yZXMgb3B0aW9ucyBpdCBkb2Vzbid0IHJlY29nbml6ZSBoZXJlLiBTZWUgYWJvdmUuCgoNCgUEEQICBBIErwUCCgoNCgUEEQICBhIErwULHgoNCgUEEQICARIErwUfMwoNCgUEEQICAxIErwU2OQpaCgMEEQUSBLIFAhkaTSBDbGllbnRzIGNhbiBkZWZpbmUgY3VzdG9tIG9wdGlvbnMgaW4gZXh0ZW5zaW9ucyBvZiB0aGlzIG1lc3NhZ2UuIFNlZSBhYm92ZS4KCgwKBAQRBQASBLIFDRgKDQoFBBEFAAESBLIFDREKDQoFBBEFAAISBLIFFRgKiwMKAgQSEga8BQDQBQEa/AIgQSBtZXNzYWdlIHJlcHJlc2VudGluZyBhIG9wdGlvbiB0aGUgcGFyc2VyIGRvZXMgbm90IHJlY29nbml6ZS4gVGhpcyBvbmx5CiBhcHBlYXJzIGluIG9wdGlvbnMgcHJvdG9zIGNyZWF0ZWQgYnkgdGhlIGNvbXBpbGVyOjpQYXJzZXIgY2xhc3MuCiBEZXNjcmlwdG9yUG9vbCByZXNvbHZlcyB0aGVzZSB3aGVuIGJ1aWxkaW5nIERlc2NyaXB0b3Igb2JqZWN0cy4gVGhlcmVmb3JlLAogb3B0aW9ucyBwcm90b3MgaW4gZGVzY3JpcHRvciBvYmplY3RzIChlLmcuIHJldHVybmVkIGJ5IERlc2NyaXB0b3I6Om9wdGlvbnMoKSwKIG9yIHByb2R1Y2VkIGJ5IERlc2NyaXB0b3I6OkNvcHlUbygpKSB3aWxsIG5ldmVyIGhhdmUgVW5pbnRlcnByZXRlZE9wdGlvbnMKIGluIHRoZW0uCgoLCgMEEgESBLwFCBsKywIKBAQSAwASBsIFAsUFAxq6AiBUaGUgbmFtZSBvZiB0aGUgdW5pbnRlcnByZXRlZCBvcHRpb24uICBFYWNoIHN0cmluZyByZXByZXNlbnRzIGEgc2VnbWVudCBpbgogYSBkb3Qtc2VwYXJhdGVkIG5hbWUuICBpc19l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ICAgICAgICAgICAgICAgcmVwcmVzZW50cwogICBbYSxpKSAgWyA0LCAwLCAyLCAwIF0gICAgIFRoZSB3aG9sZSBmaWVsZCBkZWZpbml0aW9uLgogICBbYSxiKSAgWyA0LCAwLCAyLCAwLCA0IF0gIFRoZSBsYWJlbCAob3B0aW9uYWwpLgogICBbYyxkKSAgWyA0LCAwLCAyLCAwLCA1IF0gIFRoZSB0eXBlIChzdHJpbmcpLgogICBbZSxmKSAgWyA0LCAwLCAyLCAwLCAxIF0gIFRoZSBuYW1lIChmb28pLgogICBbZyxoKSAgWyA0LCAwLCAyLCAwLCAzIF0gIFRoZSBudW1iZXIgKDEpLgoKIE5vdGVzOgogLSBBIGxvY2F0aW9uIG1heSByZWZlciB0byBhIHJlcGVhdGVkIGZpZWxkIGl0c2VsZiAoaS5lLiBub3QgdG8gYW55CiAgIHBhcnRpY3VsYXIgaW5kZXggd2l0aGluIGl0KS4gIFRoaXMgaXMgdXNlZCB3aGVuZXZlciBhIHNldCBvZiBlbGVtZW50cyBhcmUKICAgbG9naWNhbGx5IGVuY2xvc2VkIGluIGEgc2luZ2xlIGNvZGUgc2VnbWVudC4gIEZvciBleGFtcGxlLCBhbiBlbnRpcmUKICAgZXh0ZW5kIGJsb2NrIChwb3NzaWJseSBjb250YWluaW5nIG11bHRpcGxlIGV4dGVuc2lvbiBkZWZpbml0aW9ucykgd2lsbAogICBoYXZlIGFuIG91dGVyIGxvY2F0aW9uIHdob3NlIHBhdGggcmVmZXJzIHRvIHRoZSAiZXh0ZW5zaW9ucyIgcmVwZWF0ZWQKICAgZmllbGQgd2l0aG91dCBhbiBpbmRleC4KIC0gTXVsdGlwbGUgbG9jYXRpb25zIG1heSBoYXZlIHRoZSBzYW1lIHBhdGguICBUaGlzIGhhcHBlbnMgd2hlbiBhIHNpbmdsZQogICBsb2dpY2FsIGRlY2xhcmF0aW9uIGlzIHNwcmVhZCBvdXQgYWNyb3NzIG11bHRpcGxlIHBsYWNlcy4gIFRoZSBtb3N0CiAgIG9idmlvdXMgZXhhbXBsZSBpcyB0aGUgImV4dGVuZCIgYmxvY2sgYWdhaW4gLS0gdGhlcmUgbWF5IGJlIG11bHRpcGxlCiAgIGV4dGVuZCBibG9ja3MgaW4gdGhlIHNhbWUgc2NvcGUsIGVhY2ggb2Ygd2hpY2ggd2lsbCBoYXZlIHRoZSBzYW1lIHBhdGguCiAtIEEgbG9jYXRpb24ncyBzcGFuIGlzIG5vdCBhbHdheXMgYSBzdWJzZXQgb2YgaXRzIHBhcmVudCdzIHNwYW4uICBGb3IKICAgZXhhbXBsZSwgdGhlICJleHRlbmRlZSIgb2YgYW4gZXh0ZW5zaW9uIGRlY2xhcmF0aW9uIGFwcGVhcnMgYXQgdGhlCiAgIGJlZ2lubmluZyBvZiB0aGUgImV4dGVuZCIgYmxvY2sgYW5kIGlzIHNoYXJlZCBieSBhbGwgZXh0ZW5zaW9ucyB3aXRoaW4KICAgdGhlIGJsb2NrLgogLSBKdXN0IGJlY2F1c2UgYSBsb2NhdGlvbidzIHNwYW4gaXMgYSBzdWJzZXQgb2Ygc29tZSBvdGhlciBsb2NhdGlvbidzIHNwYW4KICAgZG9lcyBub3QgbWVhbiB0aGF0IGl0IGlzIGEgZGVzY2VuZGVudC4gIEZvciBleGFtcGxlLCBhICJncm91cCIgZGVmaW5lcwogICBib3RoIGEgdHlwZSBhbmQgYSBmaWVsZCBpbiBhIHNpbmdsZSBkZWNsYXJhdGlvbi4gIFRodXMsIHRoZSBsb2NhdGlvbnMKICAgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBhbmQgZmllbGQgYW5kIHRoZWlyIGNvbXBvbmVudHMgd2lsbCBvdmVybGFwLgogLSBDb2RlIHdoaWNoIHRyaWVzIHRvIGludGVycHJldCBsb2NhdGlvbnMgc2hvdWxkIHByb2JhYmx5IGJlIGRlc2lnbmVkIHRvCiAgIGlnbm9yZSB0aG9zZSB0aGF0IGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCwgYXMgbW9yZSB0eXBlcyBvZiBsb2NhdGlvbnMgY291bGQKICAgYmUgcmVjb3JkZWQgaW4gdGhlIGZ1dHVyZS4KCg0KBQQTAgAEEgSDBgIKCg0KBQQTAgAGEgSDBgsTCg0KBQQTAgABEgSDBhQcCg0KBQQTAgADEgSDBh8gCg4KBAQTAwASBoQGAtcGAwoNCgUEEwMAARIEhAYKEgqDBwoGBBMDAAIAEgScBgQqGvIGIElkZW50aWZpZXMgd2hpY2ggcGFydCBvZiB0aGUgRmlsZURlc2NyaXB0b3JQcm90byB3YXMgZGVmaW5lZCBhdCB0aGlzCiBsb2NhdGlvbi4KCiBFYWNoIGVsZW1lbnQgaXMgYSBmaWVsZCBudW1iZXIgb3IgYW4gaW5kZXguICBUaGV5IGZvcm0gYSBwYXRoIGZyb20KIHRoZSByb290IEZpbGVEZXNjcmlwdG9yUHJvdG8gdG8gdGhlIHBsYWNlIHdoZXJlIHRoZSBkZWZpbml0aW9uLiAgRm9yCiBleGFtcGxlLCB0aGlzIHBhdGg6CiAgIFsgNCwgMywgMiwgNywgMSBdCiByZWZlcnMgdG86CiAgIGZpbGUubWVzc2FnZV90eXBlKDMpICAvLyA0LCAzCiAgICAgICAuZmllbGQoNykgICAgICAgICAvLyAyLCA3CiAgICAgICAubmFtZSgpICAgICAgICAgICAvLyAxCiBUaGlzIGlzIGJlY2F1c2UgRmlsZURlc2NyaXB0b3JQcm90by5tZXNzYWdlX3R5cGUgaGFzIGZpZWxkIG51bWJlciA0OgogICByZXBlYXRlZCBEZXNjcmlwdG9yUHJvdG8gbWVzc2FnZV90eXBlID0gNDsKIGFuZCBEZXNjcmlwdG9yUHJvdG8uZmllbGQgaGFzIGZpZWxkIG51bWJlciAyOgogICByZXBlYXRlZCBGaWVsZERlc2NyaXB0b3JQcm90byBmaWVsZCA9IDI7CiBhbmQgRmllbGREZXNjcmlwdG9yUHJvdG8ubmFtZSBoYXMgZmllbGQgbnVtYmVyIDE6CiAgIG9wdGlvbmFsIHN0cmluZyBuYW1lID0gMTsKCiBUaHVzLCB0aGUgYWJvdmUgcGF0aCBnaXZlcyB0aGUgbG9jYXRpb24gb2YgYSBmaWVsZCBuYW1lLiAgSWYgd2UgcmVtb3ZlZAogdGhlIGxhc3QgZWxlbWVudDoKICAgWyA0LCAzLCAyLCA3IF0KIHRoaXMgcGF0aCByZWZlcnMgdG8gdGhlIHdob2xlIGZpZWxkIGRlY2xhcmF0aW9uIChmcm9tIHRoZSBiZWdpbm5pbmcKIG9mIHRoZSBsYWJlbCB0byB0aGUgdGVybWluYXRpbmcgc2VtaWNvbG9uKS4KCg8KBwQTAwACAAQSBJwGBAwKDwoHBBMDAAIABRIEnAYNEgoPCgcEEwMAAgABEgScBhMXCg8KBwQTAwACAAMSBJwGGhsKDwoHBBMDAAIACBIEnAYcKQoQCggEEwMAAgAIAhIEnAYdKArSAgoGBBMDAAIBEgSjBgQqGsECIEFsd2F5cyBoYXMgZXhhY3RseSB0aHJlZSBvciBmb3VyIGVsZW1lbnRzOiBzdGFydCBsaW5lLCBzdGFydCBjb2x1bW4sCiBlbmQgbGluZSAob3B0aW9uYWwsIG90aGVyd2lzZSBhc3N1bWVkIHNhbWUgYXMgc3RhcnQgbGluZSksIGVuZCBjb2x1bW4uCiBUaGVzZSBhcmUgcGFja2VkIGludG8gYSBzaW5nbGUgZmllbGQgZm9yIGVmZmljaWVuY3kuICBOb3RlIHRoYXQgbGluZQogYW5kIGNvbHVtbiBudW1iZXJzIGFyZSB6ZXJvLWJhc2VkIC0tIHR5cGljYWxseSB5b3Ugd2lsbCB3YW50IHRvIGFkZAogMSB0byBlYWNoIGJlZm9yZSBkaXNwbGF5aW5nIHRvIGEgdXNlci4KCg8KBwQTAwACAQQSBKMGBAwKDwoHBBMDAAIBBRIEowYNEgoPCgcEEwMAAgEBEgSjBhMXCg8KBwQTAwACAQMSBKMGGhsKDwoHBBMDAAIBCBIEowYcKQoQCggEEwMAAgEIAhIEowYdKAqlDAoGBBMDAAICEgTUBgQpGpQMIElmIHRoaXMgU291cmNlQ29kZUluZm8gcmVwcmVzZW50cyBhIGNvbXBsZXRlIGRlY2xhcmF0aW9uLCB0aGVzZSBhcmUgYW55CiBjb21tZW50cyBhcHBlYXJpbmcgYmVmb3JlIGFuZCBhZnRlciB0aGUgZGVjbGFyYXRpb24gd2hpY2ggYXBwZWFyIHRvIGJlCiBhdHRhY2hlZCB0byB0aGUgZGVjbGFyYXRpb24uCgogQSBzZXJpZXMgb2YgbGluZSBjb21tZW50cyBhcHBlYXJpbmcgb24gY29uc2VjdXRpdmUgbGluZXMsIHdpdGggbm8gb3RoZXIKIHRva2VucyBhcHBlYXJpbmcgb24gdGhvc2UgbGluZXMsIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBjb21tZW50LgoKIGxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMgd2lsbCBrZWVwIHBhcmFncmFwaHMgb2YgY29tbWVudHMgdGhhdCBhcHBlYXIKIGJlZm9yZSAoYnV0IG5vdCBjb25uZWN0ZWQgdG8pIHRoZSBjdXJyZW50IGVsZW1lbnQuIEVhY2ggcGFyYWdyYXBoLAogc2VwYXJhdGVkIGJ5IGVtcHR5IGxpbmVzLCB3aWxsIGJlIG9uZSBjb21tZW50IGVsZW1lbnQgaW4gdGhlIHJlcGVhdGVkCiBmaWVsZC4KCiBPbmx5IHRoZSBjb21tZW50IGNvbnRlbnQgaXMgcHJvdmlkZWQ7IGNvbW1lbnQgbWFya2VycyAoZS5nLiAvLykgYXJlCiBzdHJpcHBlZCBvdXQuICBGb3IgYmxvY2sgY29tbWVudHMsIGxlYWRpbmcgd2hpdGVzcGFjZSBhbmQgYW4gYXN0ZXJpc2sKIHdpbGwgYmUgc3RyaXBwZWQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggbGluZSBvdGhlciB0aGFuIHRoZSBmaXJzdC4KIE5ld2xpbmVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LgoKIEV4YW1wbGVzOgoKICAgb3B0aW9uYWwgaW50MzIgZm9vID0gMTsgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gZm9vLgogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhci4KICAgb3B0aW9uYWwgaW50MzIgYmFyID0gMjsKCiAgIG9wdGlvbmFsIHN0cmluZyBiYXogPSAzOwogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhei4KICAgLy8gQW5vdGhlciBsaW5lIGF0dGFjaGVkIHRvIGJhei4KCiAgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gcXV4LgogICAvLwogICAvLyBBbm90aGVyIGxpbmUgYXR0YWNoZWQgdG8gcXV4LgogICBvcHRpb25hbCBkb3VibGUgcXV4ID0gNDsKCiAgIC8vIERldGFjaGVkIGNvbW1lbnQgZm9yIGNvcmdlLiBUaGlzIGlzIG5vdCBsZWFkaW5nIG9yIHRyYWlsaW5nIGNvbW1lbnRzCiAgIC8vIHRvIHF1eCBvciBjb3JnZSBiZWNhdXNlIHRoZXJlIGFyZSBibGFuayBsaW5lcyBzZXBhcmF0aW5nIGl0IGZyb20KICAgLy8g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DwoHBBQDAAIDBBIE8AYEDAoPCgcEFAMAAgMFEgTwBg0SCg8KBwQUAwACAwESBPAGExYKDwoHBBQDAAIDAxIE8AYZGgrQGgogdm9sdGhhX3Byb3Rvcy95YW5nX29wdGlvbnMucHJvdG8SBnZvbHRoYRogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8iMAoKSW5saW5lTm9kZRIOCgJpZBgBIAEoCVICaWQSEgoEdHlwZRgCIAEoCVIEdHlwZSJPCgxScGNSZXR1cm5EZWYSFwoHeG1sX3RhZxgBIAEoCVIGeG1sVGFnEiYKD2xpc3RfaXRlbXNfbmFtZRgCIAEoCVINbGlzdEl0ZW1zTmFtZSpXChNNZXNzYWdlUGFyc2VyT3B0aW9uEhgKFE1PVkVfVE9fUEFSRU5UX0xFVkVMEAASJgoiQ1JFQVRFX0JPVEhfR1JPVVBJTkdfQU5EX0NPTlRBSU5FUhABOmcKD3lhbmdfY2hpbGRfcnVsZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxju3tkDIAEoDjIbLnZvbHRoYS5NZXNzYWdlUGFyc2VyT3B0aW9uUg15YW5nQ2hpbGRSdWxlOmsKEXlhbmdfbWVzc2FnZV9ydWxlEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGO/e2QMgASgOMhsudm9sdGhhLk1lc3NhZ2VQYXJzZXJPcHRpb25SD3lhbmdNZXNzYWdlUnVsZTpeChB5YW5nX2lubGluZV9ub2RlEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjw3tkDIAEoCzISLnZvbHRoYS5JbmxpbmVOb2RlUg55YW5nSW5saW5lTm9kZTpZCgx5YW5nX3htbF90YWcSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjx3tkDIAEoCzIULnZvbHRoYS5ScGNSZXR1cm5EZWZSCnlhbmdYbWxUYWdCNFoyZ29wa2cuaW4vZGJhaW5icmktY2llbmEvdm9sdGhhLXByb3Rvcy52MS9nby9jb21tb25K1hQKBhIEEQBJAQqjBQoBDBIDEQASMrcEIENvcHlyaWdodCAoYykgMjAxNSwgR29vZ2xlIEluYy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KMl8gVGhpcyBmaWxlIGNvbnRhaW5zIGFubm90YXRpb24gZGVmaW5pdGlvbnMgdGhhdCBjYW4gYmUgdXNlZCB0byBkZXNjcmliZQogYSBjb25maWd1cmF0aW9uIHRyZWUuCgoICgEIEgMTAEkKCQoCCAsSAxMASQoICgECEgMVAA8KCQoCAwASAxcAKgoKCgIFABIEGQAiAQoKCgMFAAESAxkFGAqKAQoEBQACABIDHAQcGn0gTW92ZSBhbnkgZW5jbG9zaW5nIGNoaWxkIGVudW0vbWVzc2FnZSBkZWZpbml0aW9uIHRvIHRoZSBzYW1lIGxldmVsCiBhcyB0aGUgcGFyZW50ICh0aGlzIG1lc3NhZ2UpIGluIHRoZSB5YW5nIGdlbmVyYXRlZCBmaWxlCgoMCgUFAAIAARIDHAQYCgwKBQUAAgACEgMcGhsKvgEKBAUAAgESAyEEKxqwASBDcmVhdGUgYm90aCBhIGdyb3VwaW5nIGFuZCBhIGNvbnRhaW5l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BURFQlVHEAASCAoESU5GTxABEgsKB1dBUk5JTkcQAhIJCgVFUlJPUhADEgwKCENSSVRJQ0FMEAQ6BfD2zR0AInQKCkFkbWluU3RhdGUiXwoKQWRtaW5TdGF0ZRILCgdVTktOT1dOEAASEgoOUFJFUFJPVklTSU9ORUQQARILCgdFTkFCTEVEEAMSDAoIRElTQUJMRUQQAhIVChFET1dOTE9BRElOR19JTUFHRRAEOgXw9s0dACJzCgpPcGVyU3RhdHVzIl4KCk9wZXJTdGF0dXMSCwoHVU5LTk9XThAAEg4KCkRJU0NPVkVSRUQQARIOCgpBQ1RJVkFUSU5HEAISCwoHVEVTVElORxADEgoKBkFDVElWRRAEEgoKBkZBSUxFRBAFOgXw9s0dACJUCg1Db25uZWN0U3RhdHVzIjwKDUNvbm5lY3RTdGF0dXMSCwoHVU5LTk9XThAAEg8KC1VOUkVBQ0hBQkxFEAESDQoJUkVBQ0hBQkxFEAI6BfD2zR0AIt4BCg1PcGVyYXRpb25SZXNwEj0KBGNvZGUYASABKA4yKS52b2x0aGEuT3BlcmF0aW9uUmVzcC5PcGVyYXRpb25SZXR1cm5Db2RlUgRjb2RlEicKD2FkZGl0aW9uYWxfaW5mbxgCIAEoCVIOYWRkaXRpb25hbEluZm8iXgoTT3BlcmF0aW9uUmV0dXJuQ29kZRIVChFPUEVSQVRJT05fU1VDQ0VTUxAAEhUKEU9QRVJBVElPTl9GQUlMVVJFEAESGQoVT1BFUkFUSU9OX1VOU1VQUE9SVEVEEAI6BfD2zR0AQjRaMmdvcGtnLmluL2RiYWluYnJpLWNpZW5hL3ZvbHRoYS1wcm90b3MudjEvZ28vY29tbW9uSpIVCgYSBAAAawEKCAoBDBIDAAASCggKAQgSAwIASQoJCgIICxIDAgBJCggKAQISAwQADwoJCgIDABIDBgAqCioKAgQAEgQJAAsBGh4gQ29udmV5IGEgcmVzb3VyY2UgaWRlbnRpZmllcgoKCgoDBAABEgMJCAoKCwoEBAACABIDCgQSCg0KBQQAAgAEEgQKBAkMCgwKBQQAAgAFEgMKBAoKDAoFBAACAAESAwoLDQoMCgUEAAIAAxIDChARCgoKAgQBEgQNABgBCgoKAwQBARIDDQgQCgoKAwQBBxIDDgQ0Cg4KBwQBB+7e2QMS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aWxkTm9kZVIJY2hpbGROb2RlOkgKBmFjY2VzcxIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMY7d7ZAyABKA4yDi52b2x0aGEuQWNjZXNzUgZhY2Nlc3NCNFoyZ29wa2cuaW4vZGJhaW5icmktY2llbmEvdm9sdGhhLXByb3Rvcy52MS9nby9jb21tb25K4g4KBhIEEQA4AQqjBQoBDBIDEQASMrcEIENvcHlyaWdodCAoYykgMjAxNSwgR29vZ2xlIEluYy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KMl8gVGhpcyBmaWxlIGNvbnRhaW5zIGFubm90YXRpb24gZGVmaW5pdGlvbnMgdGhhdCBjYW4gYmUgdXNlZCB0byBkZXNjcmliZQogYSBjb25maWd1cmF0aW9uIHRyZWUuCgoICgEIEgMTAEkKCQoCCAsSAxMASQoICgECEgMVAA8KCQoCAwASAxcAKgoKCgIEABIEGQAbAQoKCgMEAAESAxkIEQoLCgQEAAIAEgMaBBMKDQoFBAACAAQSBBoEGRMKDAoFBAACAAUSAxoECgoMCgUEAAIAARIDGgsOCgwKBQQAAgADEgMaERIKCgoCBQASBB0AKQEKCgoDBQABEgMdBQsKKwoEBQACABIDIAQPGh4gcmVhZC13cml0ZSwgc3RvcmVkIGF0dHJpYnV0ZQoKDAoFBQACAAESAyAECgoMCgUFAAIAAhIDIA0OCkoKBAUAAgESAyMEEho9IHJlYWQtb25seSBmaWVsZCwgc3RvcmVkIHdpdGggdGhlIG1vZGVsLCBjb3ZlcmVkIGJ5IGl0cyBoYXNoCgoMCgUFAAIBARIDIwQNCgwKBQUAAgECEgMjEBEKkQEKBAUAAgISAycEEhqDASBBIHJlYWQtb25seSBhdHRyaWJ1dGUgdGhhdCBpcyBub3Qgc3RvcmVkIGluIHRoZSBtb2RlbCwgbm90IGNvdmVyZWQKIGJ5IGl0cyBoYXNoLCBpdHMgdmFsdWUgaXMgZmlsbGVkIHJlYWwtdGltZSB1cG9uIGVhY2ggcmVxdWVzdC4KCgwKBQUAAgIBEgMnBA0KDAoFBQACAgISAycQEQoJCgEHEgQrADgBCowCCgIHABIDMQQjGoACIElmIHByZXNlbnQsIGl0IGluZGljYXRlcyB0aGF0IHRoaXMgZmllbGQgaXMgc3RvcmVkIGFzIGV4dGVybmFsIGNoaWxkIG5vZGUKIG9yIGNoaWxkcmVuIG5vZGVzIGluIFZvbHRoYSdzIGludGVybmFsIGNvbmZpZ3VyYXRpb24gdHJlZS4KIElmIHRoZSBmaWVsZCBpcyBhIGNvbnRhaW5lciBmaWVsZCBhbmQgaWYgdGhlIG9wdGlvbiBzcGVjaWZpZXMgYSBrZXkKIHRoZSBjaGlsZCBvYmplY3RzIHdpbGwgYmUgYWRkcmVzc2libGUgYnkgdGhhdCBrZXkuCgoKCgMHAAISAysHIwoLCgMHAAQSBDEEKyUKCgoDBwAGEgMxBA0KCgoDBwABEgMxDhgKCgoDBwADEgMxGyIKnAIKAgcBEgM3BBwakAIgVGhpcyBhbm5vdGF0aW9uIGNhbiBiZSB1c2VkIHRvIGluZGljYXRlIHRoYXQgYSBmaWVsZCBpcyByZWFkLW9ubHksCiBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBOQkkgYWNjZXNzLiBCYWNrZW5kIHBsdWdpbnMgYW5kIHN5c3RlbQogaW50ZXJuYWxzIGNhbiB1cGRhdGUgdGhlIGZpZWxkIGJ1dCB0aGUgdXBkYXRlIHJlcXVlc3RzIHRocm91Z2ggdGhlCiBOQkkgd2lsbCBpZ25vcmUgZm9yIGluc3RhbmNlIGEgZmllbGQgdGhhdCBpcyBtYXJrZWQgYXMgcmVhZC1vbmx5IChSTykuCgoKCgMHAQISAysHIwoLCgMHAQQSBDcEMSMKCgoDBwEGEgM3BAoKCgoDBwEBEgM3CxEKCgoDBwEDEgM3FBtiBnByb3RvMwrLDgobdm9sdGhhX3Byb3Rvcy9hZGFwdGVyLnByb3RvEgZ2b2x0aGEaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvGhh2b2x0aGFfcHJvdG9zL21ldGEucHJvdG8iigEKDUFkYXB0ZXJDb25maWcSNgoJbG9nX2xldmVsGAEgASgOMhkudm9sdGhhLkxvZ0xldmVsLkxvZ0xldmVsUghsb2dMZXZlbBJBChFhZGRpdGlvbmFsX2NvbmZpZxhAIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSEGFkZGl0aW9uYWxDb25maWcikQIKB0FkYXB0ZXISFQoCaWQYASABKAlCBej2zR0BUgJpZBIdCgZ2ZW5kb3IYAiABKAlCBej2zR0BUgZ2ZW5kb3ISHwoHdmVyc2lvbhgDIAEoCUIF6PbNHQFSB3ZlcnNpb24SLQoGY29uZmlnGBAgASgLMhUudm9sdGhhLkFkYXB0ZXJDb25maWdSBmNvbmZpZxJSChZhZGRpdGlvbmFsX2Rlc2NyaXB0aW9uGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueUIF6PbNHQFSFWFkZGl0aW9uYWxEZXNjcmlwdGlvbhIsChJsb2dpY2FsX2RldmljZV9pZHMYBCADKAlSEGxvZ2ljYWxEZXZpY2VJZHMiMQoIQWRhcHRlcnMSJQoFaXRlbXMYASADKAsyDy52b2x0aGEuQWRhcHRlclIFaXRlbXNCNFoyZ29wa2cuaW4vZGJhaW5icmktY2llbmEvdm9sdGhhLXByb3Rvcy52MS9nby92b2x0aGFKwAkKBhIEAAAqAQoICgEMEgMAABIKCAoBCBIDAgBJCgkKAggLEgMCAEkKCAoBAhIDBAAPCgkKAgMAEgMGACMKCQoCAwESAwcAJAoJCgIDAhIDCAAiCgoKAgQAEgQLABMBCgoKAwQAARIDCwgVCjQKBAQAAgASAw4EJBonIENvbW1vbiBhZGFwdGVyIGNvbmZpZyBhdHRyaWJ1dGVzIGhlcmUKCg0KBQQAAgAEEgQOBAsXCgwKBQQAAgAGEgMOBBUKDAoFBAACAAESAw4WHwoMCgUEAAIAAxIDDiIjCkAKBAQAAgESAxEELxozIEN1c3RvbSAodmVuZG9yLXNwZWNpZmljKSBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZXMKCg0KBQQAAgEEEgQRBA4kCgwKBQQAAgEGEgMRBBcKDAoFBAACAQESAxEYKQoMCgUEAAIBAxIDESwuCicKAgQBEgQWACYBGhsgQWRhcHRlciAoc29mdHdhcmUgcGx1Z2luKQoKCgoDBAEBEgMWCA8KXwoEBAECABIDGgQpGlIgVW5pcXVlIG5hbWUgb2YgYWRhcHRlciwgbWF0Y2hpbmcgdGhlIHB5dGhvbiBwYWNrYWdlIG5hbWUgdW5kZXIKIHZvbHRoYS9hZGFwdGVycy4KCg0KBQQBAgAEEgQaBBYRCgwKBQQBAgAFEgMaBAoKDAoFBAECAAESAxoLDQoMCgUEAQIAAxIDGhARCgwKBQQBAgAIEgMaEigKEAoJBAECAAjt3tkDEgMaEycKCwoEBAECARIDGwQtCg0KBQQBAgEEEgQbBBopCgwKBQQBAgEFEgMbBAoKDAoFBAECAQESAxsLEQoMCgUEAQIBAxIDGxQVCgwKBQQBAgEIEgMbFiwKEAoJBAECAQjt3tkDEgMbFysKCwoEBAECAhIDHAQuCg0KBQQBAgIEEgQcBBstCgwKBQQBAgIFEgMcBAoKDAoFBAECAgESAxwLEgoMCgUEAQICAxIDHBUWCgwKBQQBAgIIEgMcFy0KEAoJBAECAgjt3tkDEgMcGCwKJAoEBAECAxIDHwQeGhcgQWRhcHRlciBjb25maWd1cmF0aW9uCgoNCgUEAQIDBBIEHwQcLgoMCgUEAQIDBhIDHwQRCgwKBQQBAgMBEgMfEhgKDAoFBAECAwMSAx8bHQo6CgQEAQIEEgMiBEsaLSBDdXN0b20gZGVzY3JpcHRvcnMgYW5kIGN1c3RvbSBjb25maWd1cmF0aW9uCgoNCgUEAQIEBBIEIgQfHgoMCgUEAQIEBhIDIgQXCgwKBQQBAgQBEgMiGC4KDAoFBAECBAMSAyIxMwoMCgUEAQIECBIDIjRKChAKCQQBAgQI7d7ZAxIDIjVJCiYKBAQBAgUSAyQEKyIZIExvZ2ljYWwgZGV2aWNlcyAib3duZWQiCgoMCgUEAQIFBBIDJAQMCgwKBQQBAgUFEgMkDRMKDAoFBAECBQESAyQUJgoMCgUEAQIFAxIDJCkqCgoKAgQCEgQoACoBCgoKAwQCARIDKAgQCgsKBAQCAgASAykEHwoMCgUEAgIABBIDKQQMCgwKBQQCAgAGEgMpDRQKDAoFBAICAAESAykVGgoMCgUEAgIAAxIDKR0eYgZwcm90bzMK0xgKI3ZvbHRoYV9wcm90b3MvaWV0Zl9pbnRlcmZhY2VzLnByb3RvEg9pZXRmX2ludGVyZmFjZXMiTwoKSW50ZXJmYWNlcxJBCg5hbGxfaW50ZXJmYWNlcxgBIAMoCzIaLmlldGZfaW50ZXJmYWNlcy5JbnRlcmZhY2VSDWFsbEludGVyZmFjZXMinQIKCUludGVyZmFjZRISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAMgASgJUgR0eXBlEhgKB2VuYWJsZWQYBCABKAhSB2VuYWJsZWQSawoYbGlua191cF9kb3duX3RyYXBfZW5hYmxlGAUgASgOMjMuaWV0Zl9pbnRlcmZhY2VzLkludGVyZmFjZS5MaW5rVXBEb3duVHJhcEVuYWJsZVR5cGVSFGxpbmtVcERvd25UcmFwRW5hYmxlIj8KGExpbmtVcERvd25UcmFwRW5hYmxlVHlwZRIRCg1UUkFQX0RJU0FCTEVEEAASEAoMVFJBUF9FTkFCTEVEEAEiVwoPSW50ZXJmYWNlc1N0YXRlEkQKDWFsbF9pbnRlcmZhY3MYASADKAsyHy5pZXRmX2ludGVyZmFjZXMuSW50ZXJmYWNlU3RhdGVSDGFsbEludGVyZmFjcyLWBAoOSW50ZXJmYWNlU3RhdGUSEgoEbmFtZRgBIAEoCVIEbmFtZRISCgR0eXBlGAIgASgJUgR0eXBlElIKDGFkbWlu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YmVyGhh2b2x0aGFfcHJvdG9zL21ldGEucHJvdG8aI3ZvbHRoYV9wcm90b3MvYmJmX2ZpYmVyX3R5cGVzLnByb3RvIq0BChZDaGFubmVsZ3JvdXBDb25maWdEYXRhEiUKDnBvbGxpbmdfcGVyaW9kGAEgASgNUg1wb2xsaW5nUGVyaW9kEk8KEHJhbWFuX21pdGlnYXRpb24YAiABKA4yJC5iYmZfZmliZXJfdHlwZXMuUmFtYW5NaXRpZ2F0aW9uVHlwZVIPcmFtYW5NaXRpZ2F0aW9uEhsKCXN5c3RlbV9pZBgDIAEoCVIIc3lzdGVtSWRCN1o1Z29wa2cuaW4vZGJhaW5icmktY2llbmEvdm9sdGhhLXByb3Rvcy52MS9nby9iYmZfZmliZXJKsQIKBhIEAAAMAQoICgEMEgMAABIKCAoBCBIDAgBMCgkKAggLEgMCAEwKCAoBAhIDBAASCgkKAgMAEgMFACIKCQoCAwESAwYALQoKCgIEABIECAAMAQoKCgMEAAESAwgIHgoLCgQEAAIAEgMJBB4KDQoFBAACAAQSBAkECCAKDAoFBAACAAUSAwkECgoMCgUEAAIAARIDCQsZCgwKBQQAAgADEgMJHB0KCwoEBAACARIDCgQ9Cg0KBQQAAgEEEgQKBAkeCgwKBQQAAgEGEgMKBCcKDAoFBAACAQESAwooOAoMCgUEAAIBAxIDCjs8CgsKBAQAAgISAwsEGQoNCgUEAAICBBIECwQKPQoMCgUEAAICBRIDCwQKCgwKBQQAAgIBEgMLCxQKDAoFBAACAgMSAwsXGGIGcHJvdG8zCpIICjN2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9jaGFubmVscGFydGl0aW9uX2JvZHkucHJvdG8SCWJiZl9maWJlchojdm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfdHlwZXMucHJvdG8i7gIKGkNoYW5uZWxwYXJ0aXRpb25Db25maWdEYXRhEikKEGNoYW5uZWxncm91cF9yZWYYASABKAlSD2NoYW5uZWxncm91cFJlZhIlCg5mZWNfZG93bnN0cmVhbRgCIAEoCFINZmVjRG93bnN0cmVhbRIwChRjbG9zZXN0X29udF9kaXN0YW5jZRgDIAEoDVISY2xvc2VzdE9udERpc3RhbmNlEj4KG2RpZmZlcmVudGlhbF9m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AgEFEgMJBAoKDAoFBAACAQESAwkLDwoMCgUEAAIBAxIDCRITCgsKBAQAAgISAwoEGgoNCgUEAAICBBIECgQJFAoMCgUEAAICBRIDCgQKCgwKBQQAAgIBEgMKCxUKDAoFBAACAgMSAwoYGQoLCgQEAAIDEgMLBBcKDQoFBAACAwQSBAsEChoKDAoFBAACAwUSAwsECgoMCgUEAAIDARIDCwsSCgwKBQQAAgMDEgMLFRYKCwoEBAACBBIDDAQdCg0KBQQAAgQEEgQMBAsXCgwKBQQAAgQFEgMMBAoKDAoFBAACBAESAwwLGAoMCgUEAAIEAxIDDBscCgsKBAQAAgUSAw0EGgoNCgUEAAIFBBIEDQQMHQoMCgUEAAIFBRIDDQQICgwKBQQAAgUBEgMNCRUKDAoFBAACBQMSAw0YGWIGcHJvdG8zCtQJCj12b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9tdWx0aWNhc3RfZGlzdHJpYnV0aW9uX3NldF9ib2R5LnByb3RvEgliYmZfZmliZXIaGHZvbHRoYV9wcm90b3MvbWV0YS5wcm90bxo0dm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfbXVsdGljYXN0X2dlbXBvcnRfYm9keS5wcm90byI2CghWbGFuTGlzdBIqChFtdWx0aWNhc3Rfdmxhbl9pZBgBIAMoDVIPbXVsdGljYXN0VmxhbklkIpQCChxNdWx0aWNhc3REaXN0cmlidXRpb25TZXREYXRhEhUKAmlkGAEgASgJQgXo9s0dAVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIyChVtdWx0aWNhc3RfZ2VtcG9ydF9yZWYYAyABKAlSE211bHRpY2FzdEdlbXBvcnRSZWYSTgoTYWxsX211bHRpY2FzdF92bGFucxgEIAEoDjIcLmJiZl9maWJlci5BbGxNdWx0aWNhc3RWbGFuc0gAUhFhbGxNdWx0aWNhc3RWbGFucxIyCgl2bGFuX2xpc3QYBSABKAsyEy5iYmZfZmliZXIuVmxhbkxpc3RIAFIIdmxhbkxpc3RCEQoPbXVsdGljYXN0X3ZsYW5zKiwKEUFsbE11bHRpY2FzdFZsYW5zEhcKE0FMTF9NVUxUSUNBU1RfVkxBTlMQAEI3WjVnb3BrZy5pbi9kYmFpbmJyaS1jaWVuYS92b2x0aGEtcHJvdG9zLnYxL2dvL2JiZl9maWJlckr5BAoGEgQAABoBCggKAQwSAwAAEgoICgEIEgMCAEwKCQoCCAsSAwIATAoICgECEgMEABIKCQoCAwASAwUAIgoJCgIDARIDBgA+CgoKAgUAEgQIAAsBCgoKAwUAARIDCAUWCgsKBAUAAgASAwoEHAoMCgUFAAIAARIDCgQXCgwKBQUAAgACEgMKGhsKCgoCBAASBA0ADwEKCgoDBAABEgMNCBAKCwoEBAACABIDDgQqCgwKBQQAAgAEEgMOBAwKDAoFBAACAAUSAw4NEwoMCgUEAAIAARIDDhQlCgwKBQQAAgADEgMOKCkKCgoCBAESBBEAGgEKCgoDBAEBEgMRCCQKCwoEBAECABIDEgQwCg0KBQQBAgAEEgQSBBEmCgwKBQQBAgAFEgMSBAoKDAoFBAECAAESAxILDQoMCgUEAQIAAxIDEhARCgwKBQQBAgAIEgMSEi8KEAoJBAECAAjt3tkDEgMSEy4KCwoEBAECARIDEwQUCg0KBQQBAgEEEgQTBBIwCgwKBQQBAgEFEgMTBAoKDAoFBAECAQESAxMLDwoMCgUEAQIBAxIDExITCgsKBAQBAgISAxQEJQoNCgUEAQICBBIEFAQTFAoMCgUEAQICBRIDFAQKCgwKBQQBAgIBEgMUCyAKDAoFBAECAgMSAxQjJAoMCgQEAQgAEgQVBBkFCgwKBQQBCAABEgMVChkKCwoEBAECAxIDFwgyCgwKBQQBAgMGEgMXCBkKDAoFBAECAwESAxcaLQoMCgUEAQIDAxIDFzAxCgsKBAQBAgQSAxgIHwoMCgUEAQIEBhIDGAgQCgwKBQQBAgQBEgMYERoKDAoFBAECBAMSAxgdHmIGcHJvdG8zCtpFCiJ2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9iYXNlLnByb3RvEgliYmZfZmliZXIaGHZvbHRoYV9wcm90b3MvbWV0YS5wcm90bxojdm9sdGhhX3Byb3Rvcy9pZXRmX2ludGVyZmFjZXMucHJvdG8aL3ZvbHRoYV9wcm90b3MvYmJmX2ZpYmVyX2NoYW5uZWxncm91cF9ib2R5LnByb3RvGjN2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9jaGFubmVscGFydGl0aW9uX2JvZHkucHJvdG8aLnZvbHRoYV9wcm90b3MvYmJmX2ZpYmVyX2NoYW5uZWxwYWlyX2JvZHkucHJvdG8aNXZvbHRoYV9wcm90b3MvYmJmX2ZpYmVyX2NoYW5uZWx0ZXJtaW5hdGlvbl9ib2R5LnByb3RvGil2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9vbnRhbmlfYm9keS5wcm90bxordm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfdl9vbnRhbmlfYm9keS5wcm90bxopdm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfdl9lbmV0X2JvZHkucHJvdG8aKnZvbHRoYV9wcm90b3MvYmJmX2ZpYmVyX2dlbXBvcnRfYm9keS5wcm90bxo9dm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfbXVsdGljYXN0X2Rpc3RyaWJ1dGlvbl9zZXRfYm9keS5wcm90bxo0dm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfbXVsdGljYXN0X2dlbXBvcnRfYm9keS5wcm90bxoodm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfdGNvbnRfYm9keS5wcm90bxo9dm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfdHJhZmZpY19kZXNjcmlwdG9yX3Byb2ZpbGVfYm9keS5wcm90byLSAQoSQ2hhbm5lbGdyb3VwQ29uZmlnEhUKAmlkGAEgASgJQgXo9s0dAVICaWQSOAoJaW50ZXJmYWNlGAIgASgLMhouaWV0Zl9pbnRlcmZhY2VzLkludGVyZmFjZVIJaW50ZXJmYWNlEjUKBGRhdGEYAyABKAsyIS5iYmZfZmliZXIuQ2hhbm5lbGdyb3VwQ29uZmlnRGF0YVIEZGF0YRISCgRuYW1lGAQgASgJUgRuYW1lEiAKCGNnX2luZGV4GAUgASgNQgXo9s0dAVIHY2dJbmRleCK4AQoWQ2hhbm5lbHBhcnRpdGlvbkNvbmZpZxIVCgJpZBgBIAEoCUIF6PbNHQFSAmlkEjgKCWludGVyZmFjZRgCIAEoCzIaLmlldGZfaW50ZXJmYWNlcy5JbnRlcmZhY2VSCWludGVyZmFjZRI5CgRkYXRhGAMgASgLMiUuYmJmX2ZpYmVyLkNoYW5uZWxwYXJ0aXRpb25Db25maWdEYXRhUgRkYXRhEhIKBG5hbWUYBCABKAlSBG5hbWUirgEKEUNoYW5uZWxwYWlyQ29uZmlnEhUKAmlkGAEgASgJQgXo9s0dAVICaWQSOAoJaW50ZXJmYWNlGAIgASgLMhouaWV0Zl9pbnRlcmZhY2VzLkludGVyZmFjZVIJaW50ZXJmYWNlEjQKBGRhdGEYAyABKAsyIC5iYmZfZmliZXIuQ2hhbm5lbHBhaXJDb25maWdEYXRhUgRkYXRhEhIKBG5hbWUYBCABKAlSBG5hbWUimwEKD0NoYW5uZWxwYWlyT3BlchI4CglpbnRlcmZhY2UYASABKAsyGi5pZXRmX2ludGVyZmFjZXMuSW50ZXJmYWNlUglpbnRlcmZhY2USOgoIb3BlcmRhdGEYAiABKAsyHi5iYmZfZmliZXIuQ2hhbm5lbHBhaXJPcGVyRGF0YVIIb3BlcmRhdGESEgoEbmFtZRgDIAEoCVIEbmFtZSK1AQoYQ2hhbm5lbHRlcm1pbmF0aW9uQ29uZmlnEg4KAmlkGAEgASgJUgJpZBI4CglpbnRlcmZhY2UYAiABKAsyGi5pZXRmX2ludGVyZmFjZXMuSW50ZXJmYWNlUglpbnRlcmZhY2USOwoEZGF0YRgDIAEoCzInLmJiZl9maWJlci5DaGFubmVsdGVybWluYXRpb25Db25maWdEYXRhUgRkYXRhEhIKBG5hbWUYBCABKAlSBG5hbWUioQEKFkNoYW5uZWx0ZXJtaW5hdGlvbk9wZXISOAoJaW50ZXJmYWNlGAEgASgLMhouaWV0Zl9pbnRlcmZhY2VzLkludGVyZmFjZVIJaW50ZXJmYWNlEjkKBGRhdGEYAiABKAsyJS5iYmZfZmliZXIuQ2hhbm5lbHRlcm1pbmF0aW9uT3BlckRhdGFSBGRhdGESEgoEbmFtZRgDIAEoCVIEbmFtZSKkAQoMT250YW5pQ29uZmlnEhUKAmlkGAEgASgJQgXo9s0dAVICaWQSOAoJaW50ZXJmYWNlGAIgASgLMhouaWV0Zl9pbnRlcmZhY2VzLkludGVyZmFjZVIJaW50ZXJmYWNlEi8KBGRhdGEYAyABKAsyGy5iYmZfZmliZXIuT250YW5pQ29uZmlnRGF0YVIEZGF0YRISCgRuYW1lGAQgASgJUgRuYW1lIokBCgpPbnRhbmlPcGVyEjgKCWludGVyZmFjZRgBIAEoCzIaLmlldGZfaW50ZXJmYWNlcy5JbnRlcmZhY2VSCWludGVyZmFjZRItCgRkYXRhGAIgASgLMhkuYmJmX2ZpYmVyLk9udGFuaU9wZXJEYXRhUgRkYXRhEhIKBG5hbWUYAyABKAlSBG5hbWUipgEKDVZPbnRhbmlDb25maWcSFQoCaWQYASABKAlCBej2zR0BUgJpZBI4CglpbnRlcmZhY2UYAiABKAsyGi5pZXRmX2ludGVyZmFjZXMuSW50ZXJmYWNlUglpbnRlcmZhY2USMAoEZGF0YRgDIAEoCzIcLmJiZl9maWJlci5WT250YW5pQ29uZmlnRGF0YVIEZGF0YRISCgRuYW1lGAQgASgJUgRuYW1lIqIBCgtWRW5ldENvbmZpZxIVCgJpZBgBIAEoCUIF6PbNHQFSAmlkEjgKCWludGVyZmFjZRgCIAEoCzIaLmlldGZfaW50ZXJmYWNlcy5JbnRlcmZhY2VSCWludGVyZmFjZRIuCgRkYXRhGAMgASgLMhouYmJmX2ZpYmVyLlZFbmV0Q29uZmlnRGF0YVIEZGF0YRISCgRuYW1lGAQgASgJUgRuYW1lInQKFUFsbENoYW5uZWxncm91cENvbmZpZxJbChNjaGFubmVsZ3JvdXBfY29uZmlnGAEgAygLMh0uYmJmX2ZpYmVyLkNoYW5uZWxncm91cENvbmZpZ0IL4vbNHQYKBG5hbWVSEmNoYW5uZWxncm91cENvbmZpZyKEAQoZQWxsQ2hhbm5lbHBhcnRpdGlvbkNvbmZpZxJnChdjaGFubmVscGFydGl0aW9uX2NvbmZpZxgBIAMoCzIhLmJiZl9maWJlci5DaGFubmVscGFydGl0aW9uQ29uZmlnQgvi9s0dBgoEbmFtZVIWY2hhbm5lbHBhcnRpdGlvbkNvbmZpZyJwChRBbGxDaGFubmVscGFpckNvbmZpZxJYChJjaGFubmVscGFpcl9jb25maWcYASADKAsyHC5iYmZfZmliZXIuQ2hhbm5lbHBhaXJDb25maWdCC+L2zR0GCgRuYW1lUhFjaGFubmVscGFpckNvbmZpZyKMAQobQWxsQ2hhbm5lbHRlcm1pbmF0aW9uQ29uZmlnEm0KGWNoYW5uZWx0ZXJtaW5hdGlvbl9jb25maWcYASADKAsyIy5iYmZfZmliZXIuQ2hhbm5lbHRlcm1pbmF0aW9uQ29uZmlnQgvi9s0dBgoEbmFtZVIYY2hhbm5lbHRlcm1pbmF0aW9uQ29uZmlnIlwKD0FsbE9udGFuaUNvbmZpZxJJCg1vbnRhbmlfY29uZmlnGAEgAygLMhcuYmJmX2ZpYmVyLk9udGFuaUNvbmZpZ0IL4vbNHQYKBG5hbWVSDG9udGFuaUNvbmZpZyJhChBBbGxWT250YW5pQ29uZmlnEk0KD3Zfb250YW5pX2NvbmZpZxgBIAMoCzIYLmJiZl9maWJlci5WT250YW5pQ29uZmlnQgvi9s0dBgoEbmFtZVINdk9udGFuaUNvbmZpZyJZCg5BbGxWRW5ldENvbmZpZxJHCg12X2VuZXRfY29uZmlnGAEgAygLMhYuYmJmX2ZpYmVyLlZFbmV0Q29uZmlnQgvi9s0dBgoEbmFtZVILdkVuZXRDb25maWcilwEKH0FsbFRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGESdAobdHJhZmZpY19kZXNjcmlwdG9yX3Byb2ZpbGVzGAEgAygLMicuYmJmX2ZpYmVyLlRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGFCC+L2zR0GCgRuYW1lUhl0cmFmZmljRGVzY3JpcHRvclByb2ZpbGVzImQKE0FsbFRjb250c0NvbmZpZ0RhdGESTQoNdGNvbnRzX2NvbmZpZxgBIAMoCzIbLmJiZl9maWJlci5UY29udHNDb25maWdEYXRhQgvi9s0dBgoEbmFtZVIMdGNvbnRzQ29uZmlnImwKFUFsbEdlbXBvcnRzQ29uZmlnRGF0YRJTCg9nZW1wb3J0c19jb25maWcYASADKAsyHS5iYmZfZmliZXIuR2VtcG9ydHNDb25maWdEYXRhQgvi9s0dBgoEbmFtZVIOZ2VtcG9ydHNDb25maWcikQEKHkFsbE11bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YRJvChltdWx0aWNhc3RfZ2VtcG9ydHNfY29uZmlnGAEgAygLMiYuYmJmX2ZpYmVyLk11bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YUIL4vbNHQYKBG5hbWVSF211bHRpY2FzdEdlbXBvcnRzQ29uZmlnIpcBCh9BbGxNdWx0aWNhc3REaXN0cmlidXRpb25TZXREYXRhEnQKG211bHRpY2FzdF9kaXN0cmlidXRpb25fc2V0cxgBIAMoCzInLmJiZl9maWJlci5NdWx0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Gi52b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9jaGFubmVscGFpcl9ib2R5LnByb3RvGjV2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9jaGFubmVsdGVybWluYXRpb25fYm9keS5wcm90bxopdm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfb250YW5pX2JvZHkucHJvdG8aK3ZvbHRoYV9wcm90b3MvYmJmX2ZpYmVyX3Zfb250YW5pX2JvZHkucHJvdG9CN1o1Z29wa2cuaW4vZGJhaW5icmktY2llbmEvdm9sdGhhLXByb3Rvcy52MS9nby9iYmZfZmliZXJKpgEKBhIEBAAQNQolCgEMEgMEABIyGwpUT1AgTGV2ZWwgQkJGIEZpYmVyIHByb3RvCgoICgEIEgMGAEwKCQoCCAsSAwYATAoICgECEgMIABIKCQoCAwASAwkALAoJCgIDARIDCgA/CgkKAgMCEgMLADkKCQoCAwMSAwwAPQoJCgIDBBIDDQA4CgkKAgMFEgMOAD8KCQoCAwYSAw8AMwoJCgIDBxIDEAA1YgZwcm90bzMKxnkKFWdvb2dsZS9hcGkvaHR0cC5wcm90bxIKZ29vZ2xlLmFwaSJ5CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZlZEV4cGFuc2lvbiLaAgoISHR0cFJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EiMKDXJlc3BvbnNlX2JvZHkYDCABKAlSDHJlc3BvbnNlQm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJSpd0CgcSBQ8A+wIBCr4ECgEMEgMPABIyswQgQ29weXJpZ2h0IDIwMTggR29vZ2xlIExMQy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCgoICgECEgMRABMKCAoBCBIDEwAfCgkKAggfEgMTAB8KCAoBCBIDFABYCgkKAggLEgMUAFgKCAoBCBIDFQAiCgkKAggKEgMVACIKCAoBCBIDFgAqCgkKAggIEgMWACoKCAoBCBIDFwAnCgkKAggBEgMXACcKCAoBCBIDGAAiCgkKAggkEgMYACIKzQEKAgQAEgQdACoBGsABIERlZmluZXMgdGhlIEhUVFAgY29uZmlndXJhdGlvbiBmb3IgYW4gQVBJIHNlcnZpY2UuIEl0IGNvbnRhaW5zIGEgbGlzdCBvZgogW0h0dHBSdWxlXVtnb29nbGUuYXBpLkh0dHBSdWxlXSwgZWFjaCBzcGVjaWZ5aW5nIHRoZSBtYXBwaW5nIG9mIGFuIFJQQyBtZXRob2QKIHRvIG9uZSBvciBtb3JlIEhUVFAgUkVTVCBBUEkgbWV0aG9kcy4KCgoKAwQAARIDHQgMCqIBCgQEAAIAEgMhAh4alAEgQSBsaXN0IG9mIEhUVFAgY29uZmlndXJhdGlvbiBydWxlcyB0aGF0IGFwcGx5IHRvIGluZGl2aWR1YWwgQVBJIG1ldGhvZHMuCgogKipOT1RFOioqIEFsbCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24gcnVsZXMgZm9sbG93ICJsYXN0IG9uZSB3aW5zIiBvcmRlci4KCgwKBQQAAgAEEgMhAgoKDAoFBAACAAYSAyELEwoMCgUEAAIAARIDIRQZCgwKBQQAAgADEgMhHB0KkwIKBAQAAgESAykCKxqFAiBXaGVuIHNldCB0byB0cnVlLCBVUkwgcGF0aCBwYXJtZXRlcnMgd2lsbCBiZSBmdWxseSBVUkktZGVjb2RlZCBleGNlcHQgaW4KIGNhc2VzIG9mIHNpbmdsZSBzZWdtZW50IG1hdGNoZXMgaW4gcmVzZXJ2ZWQgZXhwYW5zaW9uLCB3aGVyZSAiJTJGIiB3aWxsIGJlCiBsZWZ0IGVuY29kZWQuCgogVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gbm90IGRlY29kZSBSRkMgNjU3MCByZXNlcnZlZCBjaGFyYWN0ZXJzIGluIG11bHRpCiBzZWdtZW50IG1hdGNoZXMuCgoNCgUEAAIBBBIEKQIhHgoMCgUEAAIBBRIDKQIGCgwKBQQAAgEBEgMpByYKDAoFBAACAQMSAykpKgq7UwoCBAESBrwCAPICARqsUyAjIGdSUEMgVHJhbnNjb2RpbmcKCiBnUlBDIFRyYW5zY29kaW5nIGlzIGEgZmVhdHVyZSBmb3IgbWFwcGluZyBiZXR3ZWVuIGEgZ1JQQyBtZXRob2QgYW5kIG9uZSBvcgogbW9yZSBIVFRQIFJFU1QgZW5kcG9pbnRzLiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBidWlsZCBhIHNpbmdsZSBBUEkgc2VydmljZQogdGhhdCBzdXBwb3J0cyBib3RoIGdSUEMgQVBJcyBhbmQgUkVTVCBBUElzLiBNYW55IHN5c3RlbXMsIGluY2x1ZGluZyBbR29vZ2xlCiBBUElzXShodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlYXBpcy9nb29nbGVhcGlzKSwKIFtDbG91ZCBFbmRwb2ludHNdKGh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9lbmRwb2ludHMpLCBbZ1JQQwogR2F0ZXdheV0oaHR0cHM6Ly9naXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheSksCiBhbmQgW0Vudm95XShodHRwczovL2dpdGh1Yi5jb20vZW52b3lwcm94eS9lbnZveSkgcHJveHkgc3VwcG9ydCB0aGlzIGZlYXR1cmUKIGFuZCB1c2UgaXQgZm9yIGxhcmdlIHNjYWxlIHByb2R1Y3Rpb24gc2VydmljZXMuCgogYEh0dHBSdWxlYCBkZWZpbmVzIHRoZSBzY2hlbWEgb2YgdGhlIGdSUEMvUkVTVCBtYXBwaW5nLiBUaGUgbWFwcGluZyBzcGVjaWZpZXMKIGhvdyBkaWZmZXJlbnQgcG9ydGlvbnMgb2YgdGhlIGdSUEMgcmVxdWVzdCBtZXNzYWdlIGFyZSBtYXBwZWQgdG8gdGhlIFVSTAogcGF0aCwgVVJMIHF1ZXJ5IHBhcmFtZXRlcnMsIGFuZCBIVFRQIHJlcXVlc3QgYm9keS4gSXQgYWxzbyBjb250cm9scyBob3cgdGhlCiBnUlBDIHJlc3BvbnNlIG1lc3NhZ2UgaXMgbWFwcGVkIHRvIHRoZSBIVFRQIHJlc3BvbnNlIGJvZHkuIGBIdHRwUnVsZWAgaXMKIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYW4gYGdvb2dsZS5hcGkuaHR0cGAgYW5ub3RhdGlvbiBvbiB0aGUgZ1JQQyBtZXRob2QuCgogRWFjaCBtYXBwaW5nIHNwZWNpZmllcyBhIFVSTCBwYXRoIHRlbXBsYXRlIGFuZCBhbiBIVFRQIG1ldGhvZC4gVGhlIHBhdGgKIHRlbXBsYXRlIG1heSByZWZlciB0byBvbmUgb3IgbW9yZSBmaWVsZHMgaW4gdGhlIGdSUEMgcmVxdWVzdCBtZXNzYWdlLCBhcyBsb25nCiBhcyBlYWNoIGZpZWxkIGlzIGEgbm9uLXJlcGVhdGVkIGZpZWxkIHdpdGggYSBwcmltaXRpdmUgKG5vbi1tZXNzYWdlKSB0eXBlLgogVGhlIHBhdGggdGVtcGxhdGUgY29udHJvbHMgaG93IGZpZWxkcyBvZiB0aGUgcmVxdWVzdCBtZXNzYWdlIGFyZSBtYXBwZWQgdG8KIHRoZSBVUkwgcGF0aC4KCiBFeGFtcGxlOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgR2V0TWVzc2FnZShHZXRNZXNzYWdlUmVxdWVzdCkgcmV0dXJucyAoTWVzc2FnZSkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkgPSB7CiAgICAgICAgICAgICBnZXQ6ICIvdjEve25hbWU9bWVzc2FnZXMvKn0iCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgR2V0TWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG5hbWUgPSAxOyAvLyBNYXBwZWQgdG8gVVJMIHBhdGguCiAgICAgfQogICAgIG1lc3NhZ2UgTWVzc2FnZSB7CiAgICAgICBzdHJpbmcgdGV4dCA9IDE7IC8vIFRoZSByZXNvdXJjZSBjb250ZW50LgogICAgIH0KCiBUaGlzIGVuYWJsZXMgYW4gSFRUUCBSRVNUIHRvIGdSUEMgbWFwcGluZyBhcyBiZWxvdzoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1NmAgIHwgYEdldE1lc3NhZ2UobmFtZTogIm1lc3NhZ2VzLzEyMzQ1NiIpYAoKIEFueSBmaWVsZHMgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSB3aGljaCBhcmUgbm90IGJvdW5kIGJ5IHRoZSBwYXRoIHRlbXBsYXRlCiBhdXRvbWF0aWNhbGx5IGJlY29tZSBIVFRQIHF1ZXJ5IHBhcmFtZXRlcnMgaWYgdGhlcmUgaXMgbm8gSFRUUCByZXF1ZXN0IGJvZHkuCiBGb3IgZXhhbXBsZToKCiAgICAgc2VydmljZSBNZXNzYWdpbmcgewogICAgICAgcnBjIEdldE1lc3NhZ2UoR2V0TWVzc2FnZVJlcXVlc3QpIHJldHVybnMgKE1lc3NhZ2UpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApID0gewogICAgICAgICAgICAgZ2V0OiIvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9IgogICAgICAgICB9OwogICAgICAgfQogICAgIH0KICAgICBtZXNzYWdlIEdldE1lc3NhZ2VSZXF1ZXN0IHsKICAgICAgIG1lc3NhZ2UgU3ViTWVzc2FnZSB7CiAgICAgICAgIHN0cmluZyBzdWJmaWVsZCA9IDE7CiAgICAgICB9CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7IC8vIE1hcHBlZCB0byBVUkwgcGF0aC4KICAgICAgIGludDY0IHJldmlzaW9uID0gMjsgICAgLy8gTWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXIgYHJldmlzaW9uYC4KICAgICAgIFN1Yk1lc3NhZ2Ugc3ViID0gMzsgICAgLy8gTWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXIgYHN1Yi5zdWJmaWVsZGAuCiAgICAgfQoKIFRoaXMgZW5hYmxlcyBhIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBhcyBiZWxvdzoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1Nj9yZXZpc2lvbj0yJnN1Yi5zdWJmaWVsZD1mb29gIHwKIGBHZXRNZXNzYWdlKG1lc3NhZ2VfaWQ6ICIxMjM0NTYiIHJldmlzaW9uOiAyIHN1YjogU3ViTWVzc2FnZShzdWJmaWVsZDoKICJmb28iKSlgCgogTm90ZSB0aGF0IGZpZWxkcyB3aGljaCBhcmUgbWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXJzIG11c3QgaGF2ZSBhCiBwcmltaXRpdmUgdHlwZSBvciBhIHJlcGVhdGVkIHByaW1pdGl2ZSB0eXBlIG9yIGEgbm9uLXJlcGVhdGVkIG1lc3NhZ2UgdHlwZS4KIEluIHRoZSBjYXNlIG9mIGEgcmVwZWF0ZWQgdHlwZSwgdGhlIHBhcmFtZXRlciBjYW4gYmUgcmVwZWF0ZWQgaW4gdGhlIFVSTAogYXMgYC4uLj9wYXJhbT1BJnBhcmFtPUJgLiBJbiB0aGUgY2FzZSBvZiBhIG1lc3NhZ2UgdHlwZSwgZWFjaCBmaWVsZCBvZiB0aGUKIG1lc3NhZ2UgaXMgbWFwcGVkIHRvIGEgc2VwYXJhdGUgcGFyYW1ldGVyLCBzdWNoIGFzCiBgLi4uP2Zvby5hPUEmZm9vLmI9QiZmb28uYz1DYC4KCiBGb3IgSFRUUCBtZXRob2RzIHRoYXQgYWxsb3cgYSByZXF1ZXN0IGJvZHksIHRoZSBgYm9keWAgZmllbGQKIHNwZWNpZmllcyB0aGUgbWFwcGluZy4gQ29uc2lkZXIgYSBSRVNUIHVwZGF0ZSBtZXRob2Qgb24gdGhlCiBtZXNzYWdlIHJlc291cmNlIGNvbGxlY3Rpb246CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBVcGRhdGVNZXNzYWdlKFVwZGF0ZU1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBwYXRjaDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYm9keTogIm1lc3NhZ2UiCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgVXBkYXRlTWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG1lc3NhZ2VfaWQgPSAxOyAvLyBtYXBwZWQgdG8gdGhlIFVSTAogICAgICAgTWVzc2FnZSBtZXNzYWdlID0gMjsgICAvLyBtYXBwZWQgdG8gdGhlIGJvZHkKICAgICB9CgogVGhlIGZvbGxvd2luZyBIVFRQIEpTT04gdG8gUlBDIG1hcHBpbmcgaXMgZW5hYmxlZCwgd2hlcmUgdGhlCiByZXByZXNlbnRhdGlvbiBvZiB0aGUgSlNPTiBpbiB0aGUgcmVxdWVzdCBib2R5IGlzIGRldGVybWluZWQgYnkKIHByb3RvcyBKU09OIGVuY29kaW5nOgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYFBBVENIIC92MS9tZXNzYWdlcy8xMjM0NTYgeyAidGV4dCI6ICJIaSEiIH1gIHwgYFVwZGF0ZU1lc3NhZ2UobWVzc2FnZV9pZDoKICIxMjM0NTYiIG1lc3NhZ2UgeyB0ZXh0OiAiSGkhIiB9KWAKCiBUaGUgc3BlY2lhbCBuYW1lIGAqYCBjYW4gYmUgdXNlZCBpbiB0aGUgYm9keSBtYXBwaW5nIHRvIGRlZmluZSB0aGF0CiBldmVyeSBmaWVsZCBub3QgYm91bmQgYnkgdGhlIHBhdGggdGVtcGxhdGUgc2hvdWxkIGJlIG1hcHBlZCB0byB0aGUKIHJlcXVlc3QgYm9keS4gIFRoaXMgZW5hYmxlcyB0aGUgZm9sbG93aW5nIGFsdGVybmF0aXZlIGRlZmluaXRpb24gb2YKIHRoZSB1cGRhdGUgbWV0aG9kOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgVXBkYXRlTWVzc2FnZShNZXNzYWdlKSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBwYXRjaDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYm9keTogIioiCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgTWVzc2FnZSB7CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7CiAgICAgICBzdHJpbmcgdGV4dCA9IDI7CiAgICAgfQoKCiBUaGUgZm9sbG93aW5nIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBpcyBlbmFibGVkOgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYFBBVENIIC92MS9tZXNzYWdlcy8xMjM0NTYgeyAidGV4dCI6ICJIaSEiIH1gIHwgYFVwZGF0ZU1lc3NhZ2UobWVzc2FnZV9pZDoKICIxMjM0NTYiIHRleHQ6ICJIaSEiKWAKCiBOb3RlIHRoYXQgd2hlbiB1c2luZyBgKmAgaW4gdGhlIGJvZHkgbWFwcGluZywgaXQgaXMgbm90IHBvc3NpYmxlIHRvCiBoYXZlIEhUVFAgcGFyYW1ldGVycywgYXMgYWxsIGZpZWxkcyBub3QgYm91bmQgYnkgdGhlIHBhdGggZW5kIGluCiB0aGUgYm9keS4gVGhpcyBtYWtlcyB0aGlzIG9wdGlvbiBtb3JlIHJhcmVseSB1c2VkIGluIHByYWN0aWNlIHdoZW4KIGRlZmluaW5nIFJFU1QgQVBJcy4gVGhlIGNvbW1vbiB1c2FnZSBvZiBgKmAgaXMgaW4gY3VzdG9tIG1ldGhvZHMKIHdoaWNoIGRvbid0IHVzZSB0aGUgVVJMIGF0IGFsbCBmb3IgdHJhbnNmZXJyaW5nIGRhdGEuCgogSXQgaXMgcG9zc2libGUgdG8gZGVmaW5lIG11bHRpcGxlIEhUVFAgbWV0aG9kcyBmb3Igb25lIFJQQyBieSB1c2luZwogdGhlIGBhZGRpdGlvbmFsX2JpbmRpbmdzYCBvcHRpb24uIEV4YW1wbGU6CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBHZXRNZXNzYWdlKEdldE1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBnZXQ6ICIvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9IgogICAgICAgICAgIGFkZGl0aW9uYWxfYmluZGluZ3MgewogICAgICAgICAgICAgZ2V0OiAiL3YxL3VzZXJzL3t1c2VyX2lkfS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgfQogICAgICAgICB9OwogICAgICAgfQogICAgIH0KICAgICBtZXNzYWdlIEdldE1lc3NhZ2VSZXF1ZXN0IHsKICAgICAgIHN0cmluZyBtZXNzYWdlX2lkID0gMTsKICAgICAgIHN0cmluZyB1c2VyX2lkID0gMjsKICAgICB9CgogVGhpcyBlbmFibGVzIHRoZSBmb2xsb3dpbmcgdHdvIGFsdGVybmF0aXZlIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZ3M6CgogSFRUUCB8IGdSUEMKIC0tLS0tfC0tLS0tCiBgR0VUIC92MS9tZXNzYWdlcy8xMjM0NTZgIHwgYEdldE1lc3NhZ2UobWVzc2FnZV9pZDogIjEyMzQ1NiIpYAogYEdFVCAvdjEvdXNlcnMvbWUvbWVzc2FnZXMvMTIzNDU2YCB8IGBHZXRNZXNzYWdlKHVzZXJfaWQ6ICJtZSIgbWVzc2FnZV9pZDoKICIxMjM0NTYiKWAKCiAjIyBSdWxlcyBmb3IgSFRUUCBtYXBwaW5nCgogMS4gTGVhZiByZXF1ZXN0IGZpZWxkcyAocmVjdXJzaXZlIGV4cGFuc2lvbiBuZXN0ZWQgbWVzc2FnZXMgaW4gdGhlIHJlcXVlc3QKICAgIG1lc3NhZ2UpIGFyZSBjbGFzc2lmaWVkIGludG8gdGhyZWUgY2F0ZWdvcmllczoKICAgIC0gRmllbGRzIHJlZmVycmVkIGJ5IHRoZSBwYXRoIHRlbXBsYXRlLiBUaGV5IGFyZSBwYXNzZWQgdmlhIHRoZSBVUkwgcGF0aC4KICAgIC0gRmllbGRzIHJlZmVycmVkIGJ5IHRoZSBbSHR0cFJ1bGUuYm9keV1bZ29vZ2xlLmFwaS5IdHRwUnVsZS5ib2R5XS4gVGhleQogICAgYXJlIHBhc3NlZCB2aWEgdGhlIEhUVFAKICAgICAgcmVxdWVzdCBib2R5LgogICAgLSBBbGwgb3RoZXIgZmllbGRzIGFyZSBwYXNzZWQgdmlhIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVycywgYW5kIHRoZQogICAgICBwYXJhbWV0ZXIgbmFtZSBpcyB0aGUgZmllbGQgcGF0aCBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlLiBBIHJlcGVhdGVkCiAgICAgIGZpZWxkIGNhbiBiZSByZXByZXNlbnRlZCBhcyBtdWx0aXBsZSBxdWVyeSBwYXJhbWV0ZXJzIHVuZGVyIHRoZSBzYW1lCiAgICAgIG5hbWUuCiAgMi4gSWYgW0h0dHBSdWxlLmJvZHldW2dvb2dsZS5hcGkuSHR0cFJ1bGUuYm9keV0gaXMgIioiLCB0aGVyZSBpcyBubyBVUkwKICBxdWVyeSBwYXJhbWV0ZXIsIGFsbCBmaWVsZHMKICAgICBhcmUgcGFzc2VkIHZpYSBVUkwgcGF0aCBhbmQgSFRUUCByZXF1ZXN0IGJvZHkuCiAgMy4gSWYgW0h0dHBSdWxlLmJvZHldW2dvb2dsZS5hcGkuSHR0cFJ1bGUuYm9keV0gaXMgb21pdHRlZCwgdGhlcmUgaXMgbm8gSFRUUAogIHJlcXVlc3QgYm9keSwgYWxsCiAgICAgZmllbGRzIGFyZSBwYXNzZWQgdmlhIFVSTCBwYXRoIGFuZCBVUkwgcXVlcnkgcGFyYW1ldGVycy4KCiAjIyMgUGF0aCB0ZW1wbGF0ZSBzeW50YXgKCiAgICAgVGVtcGxhdGUgPSAiLyIgU2VnbWVudHMgWyBWZXJiIF0gOwogICAgIFNlZ21lbnRzID0gU2VnbWVudCB7ICIvIiBTZWdtZW50IH0gOwogICAgIFNlZ21lbnQgID0gIioiIHwgIioqIiB8IExJVEVSQUwgfCBWYXJpYWJsZSA7CiAgICAgVmFyaWFibGUgPSAieyIgRmllbGRQYXRoIFsgIj0iIFNlZ21lbnRzIF0gIn0iIDsKICAgICBGaWVsZFBhdGggPSBJREVOVCB7ICIuIiBJREVOVCB9IDsKICAgICBWZXJiICAgICA9ICI6IiBMSVRFUkFMIDsKCiBUaGUgc3ludGF4IGAqYCBtYXRjaGVzIGEgc2luZ2xlIFVSTCBwYXRoIHNlZ21lbnQuIFRoZSBzeW50YXggYCoqYCBtYXRjaGVzCiB6ZXJvIG9yIG1vcmUgVVJMIHBhdGggc2VnbWVudHMsIHdoaWNoIG11c3QgYmUgdGhlIGxhc3QgcGFydCBvZiB0aGUgVVJMIHBhdGgKIGV4Y2VwdCB0aGUgYFZlcmJgLgoKIFRoZSBzeW50YXggYFZhcmlhYmxlYCBtYXRjaGVzIHBhcnQgb2YgdGhlIFVSTCBwYXRoIGFzIHNwZWNpZmllZCBieSBpdHMKIHRlbXBsYXRlLiBBIHZhcmlhYmxlIHRlbXBsYXRlIG11c3Qgbm90IGNvbnRhaW4gb3RoZXIgdmFyaWFibGVzLiBJZiBhIHZhcmlhYmxlCiBtYXRjaGVzIGEgc2luZ2xlIHBhdGggc2VnbWVudCwgaXRzIHRlbXBsYXRlIG1heSBiZSBvbWl0dGVkLCBlLmcuIGB7dmFyfWAKIGlzIGVxdWl2YWxlbnQgdG8gYHt2YXI9Kn1gLgoKIFRoZSBzeW50YXggYExJVEVSQUxgIG1hdGNoZXMgbGl0ZXJhbCB0ZXh0IGluIHRoZSBVUkwgcGF0aC4gSWYgdGhlIGBMSVRFUkFMYAogY29udGFpbnMgYW55IHJlc2VydmVkIGNoYXJhY3Rlciwgc3VjaCBjaGFyYWN0ZXJzIHNob3VsZCBiZSBwZXJjZW50LWVuY29kZWQKIGJlZm9yZSB0aGUgbWF0Y2hpbmcuCgogSWYgYSB2YXJpYWJsZSBjb250YWlucyBleGFjdGx5IG9uZSBwYXRoIHNlZ21lbnQsIHN1Y2ggYXMgYCJ7dmFyfSJgIG9yCiBgInt2YXI9Kn0iYCwgd2hlbiBzdWNoIGEgdmFyaWFibGUgaXMgZXhwYW5kZWQgaW50byBhIFVSTCBwYXRoIG9uIHRoZSBjbGllbnQKIHNpZGUsIGFsbCBjaGFyYWN0ZXJzIGV4Y2VwdCBgWy1fLn4wLTlhLXpBLVpdYCBhcmUgcGVyY2VudC1lbmNvZGVkLiBUaGUKIHNlcnZlciBzaWRlIGRvZXMgdGhlIHJldmVyc2UgZGVjb2RpbmcuIFN1Y2ggdmFyaWFibGVzIHNob3cgdXAgaW4gdGhlCiBbRGlzY292ZXJ5CiBEb2N1bWVudF0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vZGlzY292ZXJ5L3YxL3JlZmVyZW5jZS9hcGlzKSBhcwogYHt2YXJ9YC4KCiBJZiBhIHZhcmlhYmxlIGNvbnRhaW5zIG11bHRpcGxlIHBhdGggc2VnbWVudHMsIHN1Y2ggYXMgYCJ7dmFyPWZvby8qfSJgCiBvciBgInt2YXI9Kip9ImAsIHdoZW4gc3VjaCBhIHZhcmlhYmxlIGlzIGV4cGFuZGVkIGludG8gYSBVUkwgcGF0aCBvbiB0aGUKIGNsaWVudCBzaWRlLCBhbGwgY2hhcmFjdGVycyBleGNlcHQgYFstXy5+LzAtOWEtekEtWl1gIGFyZSBwZXJjZW50LWVuY29kZWQuCiBUaGUgc2VydmVyIHNpZGUgZG9lcyB0aGUgcmV2ZXJzZSBkZWNvZGluZywgZXhjZXB0ICIlMkYiIGFuZCAiJTJmIiBhcmUgbGVmdAogdW5jaGFuZ2VkLiBTdWNoIHZhcmlhYmxlcyBzaG93IHVwIGluIHRoZQogW0Rpc2NvdmVyeQogRG9jdW1lbnRdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2Rpc2NvdmVyeS92MS9yZWZlcmVuY2UvYXBpcykgYXMKIGB7K3Zhcn1gLgoKICMjIFVzaW5nIGdSUEMgQVBJIFNlcnZpY2UgQ29uZmlndXJhdGlvbgoKIGdSUEMgQVBJIFNlcnZpY2UgQ29uZmlndXJhdGlvbiAoc2VydmljZSBjb25maWcpIGlzIGEgY29uZmlndXJhdGlvbiBsYW5ndWFnZQogZm9yIGNvbmZpZ3VyaW5nIGEgZ1JQQyBzZXJ2aWNlIHRvIGJlY29tZSBhIHVzZXItZmFjaW5nIHByb2R1Y3QuIFRoZQogc2VydmljZSBjb25maWcgaXMgc2ltcGx5IHRoZSBZQU1MIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBgZ29vZ2xlLmFwaS5TZXJ2aWNlYAogcHJvdG8gbWVzc2FnZS4KCiBBcyBhbiBhbHRlcm5hdGl2ZSB0byBhbm5vdGF0aW5nIHlvdXIgcHJvdG8gZmlsZSwgeW91IGNhbiBjb25maWd1cmUgZ1JQQwogdHJhbnNjb2RpbmcgaW4geW91ciBzZXJ2aWNlIGNvbmZpZyBZQU1MIGZpbGVzLiBZb3UgZG8gdGhpcyBieSBzcGVjaWZ5aW5nIGEKIGBIdHRwUnVsZWAgdGhhdCBtYXBzIHRoZSBnUlBDIG1ldGhvZCB0byBhIFJFU1QgZW5kcG9pbnQsIGFjaGlldmluZyB0aGUgc2FtZQogZWZmZWN0IGFzIHRoZSBwcm90byBhbm5vdGF0aW9uLiBUaGlzIGNhbiBiZSBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIHlvdQogaGF2ZSBhIHByb3RvIHRoYXQgaXMgcmV1c2VkIGluIG11bHRpcGxlIHNlcnZpY2VzLiBOb3RlIHRoYXQgYW55IHRyYW5zY29kaW5nCiBzcGVjaWZpZWQgaW4gdGhlIHNlcnZpY2UgY29uZmlnIHdpbGwgb3ZlcnJpZGUgYW55IG1hdGNoaW5nIHRyYW5zY29kaW5nCiBjb25maWd1cmF0aW9uIGluIHRoZSBwcm90by4KCiBFeGFtcGxlOgoKICAgICBodHRwOgogICAgICAgcnVsZXM6CiAgICAgICAgICMgU2VsZWN0cyBhIGdSUEMgbWV0aG9kIGFuZCBhcHBsaWVzIEh0dHBSdWxlIHRvIGl0LgogICAgICAgICAtIHNlbGVjdG9yOiBleGFtcGxlLnYxLk1lc3NhZ2luZy5HZXRNZXNzYWdlCiAgICAgICAgICAgZ2V0OiAvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9L3tzdWIuc3ViZmllbGR9CgogIyMgU3BlY2lhbCBub3RlcwoKIFdoZW4gZ1JQQyBUcmFuc2NvZGluZyBpcyB1c2VkIHRvIG1hcCBhIGdSUEMgdG8gSlNPTiBSRVNUIGVuZHBvaW50cywgdGhlCiBwcm90byB0byBKU09OIGNvbnZlcnNpb24gbXVzdCBmb2xsb3cgdGhlIFtwcm90bzMKIHNwZWNpZmljYXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90bzMjanNvbikuCgogV2hpbGUgdGhlIHNpbmdsZSBzZWdtZW50IHZhcmlhYmxlIGZvbGxvd3MgdGhlIHNlbWFudGljcyBvZgogW1JGQyA2NTcwXShodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU3MCkgU2VjdGlvbiAzLjIuMiBTaW1wbGUgU3RyaW5nCiBFeHBhbnNpb24sIHRoZSBtdWx0aSBzZWdtZW50IHZhcmlhYmxlICoqZG9lcyBub3QqKiBmb2xsb3cgUkZDIDY1NzAgU2VjdGlvbgogMy4yLjMgUmVzZXJ2ZWQgRXhwYW5zaW9uLiBUaGUgcmVhc29uIGlzIHRoYXQgdGhlIFJlc2VydmVkIEV4cGFuc2lvbgogZG9lcyBub3QgZXhwYW5kIHNwZWNpYWwgY2hhcmFjdGVycyBsaWtlIGA/YCBhbmQgYCNgLCB3aGljaCB3b3VsZCBsZWFkCiB0byBpbnZhbGlkIFVSTHMuIEFzIHRoZSByZXN1bHQsIGdSUEMgVHJhbnNjb2RpbmcgdXNlcyBhIGN1c3RvbSBlbmNvZGluZwogZm9yIG11bHRpIHNlZ21lbnQgdmFyaWFibGVzLgoKIFRoZSBwYXRoIHZhcmlhYmxlcyAqKm11c3Qgbm90KiogcmVmZXIgdG8gYW55IHJlcGVhdGVkIG9yIG1hcHBlZCBmaWVsZCwKIGJlY2F1c2UgY2xpZW50IGxpYnJhcmllcyBhcmUgbm90IGNhcGFibGUgb2YgaGFuZGxpbmcgc3VjaCB2YXJpYWJsZSBleHBhbnNpb24uCgogVGhlIHBhdGggdmFyaWFibGVzICoqbXVzdCBub3QqKiBjYXB0dXJlIHRoZSBsZWFkaW5nICIvIiBjaGFyYWN0ZXIuIFRoZSByZWFzb24KIGlzIHRoYXQgdGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlICJ7dmFyfSIgZG9lcyBub3QgY2FwdHVyZSB0aGUgbGVhZGluZyAiLyIKIGNoYXJhY3Rlci4gRm9yIGNvbnNpc3RlbmN5LCBhbGwgcGF0aCB2YXJpYWJsZXMgbXVzdCBzaGFyZSB0aGUgc2FtZSBiZWhhdmlvci4KCiBSZXBlYXRlZCBtZXNzYWdlIGZpZWxkcyBtdXN0IG5vdCBiZSBtYXBwZWQgdG8gVVJMIHF1ZXJ5IHBhcmFtZXRlcnMsIGJlY2F1c2UKIG5vIGNsaWVudCBsaWJyYXJ5IGNhbiBzdXBwb3J0IHN1Y2ggY29tcGxpY2F0ZWQgbWFwcGluZy4KCiBJZiBhbiBBUEkgbmVlZHMgdG8gdXNlIGEgSlNPTiBhcnJheSBmb3IgcmVxdWVzdCBvciByZXNwb25zZSBib2R5LCBpdCBjYW4gbWFwCiB0aGUgcmVxdWVzdCBvciByZXNwb25zZSBib2R5IHRvIGEgcmVwZWF0ZWQgZmllbGQuIEhvd2V2ZXIsIHNvbWUgZ1JQQwogVHJhbnNjb2RpbmcgaW1wbGVtZW50YXRpb25zIG1heSBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuCgoLCgMEAQESBLwCCBAKjwEKBAQBAgASBMECAhYagAEgU2VsZWN0cyBhIG1ldGhvZCB0byB3aGljaCB0aGlzIHJ1bGUgYXBwbGllcy4KCiBSZWZlciB0byBbc2VsZWN0b3JdW2dvb2dsZS5hcGkuRG9jdW1lbnRhdGlvblJ1bGUuc2VsZWN0b3JdIGZvciBzeW50YXgKIGRldGFpbHMuCgoPCgUEAQIABBIGwQICvAISCg0KBQQBAgAFEgTBAgIICg0KBQQBAgABEgTBAgkRCg0KBQQBAgADEgTBAhQVCtABCgQEAQgAEgbGAgLcAgMavwEgRGV0ZXJtaW5lcyB0aGUgVVJMIHBhdHRlcm4gaXMgbWF0Y2hlZCBieSB0aGlzIHJ1bGVzLiBUaGlzIHBhdHRlcm4gY2FuIGJlCiB1c2VkIHdpdGggYW55IG9mIHRoZSB7Z2V0fHB1dHxwb3N0fGRlbGV0ZXxwYXRjaH0gbWV0aG9kcy4gQSBjdXN0b20gbWV0aG9kCiBjYW4gYmUgZGVmaW5lZCB1c2luZyB0aGUgJ2N1c3RvbScgZmllbGQuCgoNCgUEAQgAARIExgIIDwpcCgQEAQIBEgTJAgQTGk4gTWFwcyB0byBIVFRQIEdFVC4gVXNlZCBmb3IgbGlzdGluZyBhbmQgZ2V0dGluZyBpbmZvcm1hdGlvbiBhYm91dAogcmVzb3VyY2VzLgoKDQoFBAECAQUSBMkCBAoKDQoFBAECAQESBMkCCw4KDQoFBAECAQMSBMkCERIKQAoEBAECAhIEzAIEExoyIE1hcHMgdG8gSFRUUCBQVVQuIFVzZWQgZm9yIHJlcGxhY2luZyBhIHJlc291cmNlLgoKDQoFBAECAgUSBMwCBAoKDQoFBAECAgESBMwCCw4KDQoFBAECAgMSBMwCERIKWAoEBAECAxIEzwIEFBpKIE1hcHMgdG8gSFRUUCBQT1NULiBVc2VkIGZvciBjcmVhdGluZyBhIHJlc291cmNlIG9yIHBlcmZvcm1pbmcgYW4gYWN0aW9uLgoKDQoFBAECAwUSBM8CBAoKDQoFBAECAwESBM8CCw8KDQoFBAECAwMSBM8CEhMKQgoEBAECBBIE0gIEFho0IE1hcHMgdG8gSFRUUCBERUxFVEUuIFVzZWQgZm9yIGRlbGV0aW5nIGEgcmVzb3VyY2UuCgoNCgUEAQIEBRIE0gIECgoNCgUEAQIEARIE0gILEQoNCgUEAQIEAxIE0gIUFQpBCgQEAQIFEgTVAgQVGjMgTWFwcyB0byBIVFRQIFBBVENILiBVc2VkIGZvciB1cGRhdGluZyBhIHJlc291cmNlLgoKDQoFBAECBQUSBNUCBAoKDQoFBAECBQESBNUCCxAKDQoFBAECBQMSBNUCExQKmAIKBAQBAgYSBNsCBCEaiQIgVGhlIGN1c3RvbSBwYXR0ZXJuIGlzIHVzZWQgZm9yIHNwZWNpZnlpbmcgYW4gSFRUUCBtZXRob2QgdGhhdCBpcyBub3QKIGluY2x1ZGVkIGluIHRoZSBgcGF0dGVybmAgZmllbGQsIHN1Y2ggYXMgSEVBRCwgb3IgIioiIHRvIGxlYXZlIHRoZQogSFRUUCBtZXRob2QgdW5zcGVjaWZpZWQgZm9yIHRoaXMgcnVsZS4gVGhlIHdpbGQtY2FyZCBydWxlIGlzIHVzZWZ1bAogZm9yIHNlcnZpY2VzIHRoYXQgcHJvdmlkZSBjb250ZW50IHRvIFdlYiAoSFRNTCkgY2xpZW50cy4KCg0KBQQBAgYGEgTbAgQVCg0KBQQBAgYBEgTbAhYcCg0KBQQBAgYDEgTbAh8gCsQCCgQEAQIHEgTkAgISGrUCIFRoZSBuYW1lIG9mIHRoZSByZXF1ZXN0IGZpZWxkIHdob3NlIHZhbHVlIGlzIG1hcHBlZCB0byB0aGUgSFRUUCByZXF1ZXN0CiBib2R5LCBvciBgKmAgZm9yIG1hcHBpbmcgYWxsIHJlcXVlc3QgZmllbGRzIG5vdCBjYXB0dXJlZCBieSB0aGUgcGF0aAogcGF0dGVybiB0byB0aGUgSFRUUCBib2R5LCBvciBvbWl0dGVkIGZvciBub3QgaGF2aW5nIGFueSBIVFRQIHJlcXVlc3QgYm9keS4KCiBOT1RFOiB0aGUgcmVmZXJyZWQgZmllbGQgbXVzdCBiZSBwcmVzZW50IGF0IHRoZSB0b3AtbGV2ZWwgb2YgdGhlIHJlcXVlc3QKIG1lc3NhZ2UgdHlwZS4KCg8KBQQBAgcEEgbkAgLcAgMKDQoFBAECBwUSBOQCAggKDQoFBAECBwESBOQCCQ0KDQoFBAECBwMSBOQCEBEKmQIKBAQBAggSBOwCAhwaigIgT3B0aW9uYWwuIFRoZSBuYW1lIG9mIHRoZSByZXNwb25zZSBmaWVsZCB3aG9zZSB2YWx1ZSBpcyBtYXBwZWQgdG8gdGhlIEhUVFAKIHJlc3BvbnNlIGJvZHkuIFdoZW4gb21pdHRlZCwgdGhlIGVudGlyZSByZXNwb25zZSBtZXNzYWdlIHdpbGwgYmUgdXNlZAogYXMgdGhlIEhUVFAgcmVzcG9uc2UgYm9keS4KCiBOT1RFOiBUaGUgcmVmZXJyZWQgZmllbGQgbXVzdCBiZSBwcmVzZW50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BwADEgMdEhpiBnByb3RvMwrj/gcKH3ZvbHRoYV9wcm90b3Mvb3BlbmZsb3dfMTMucHJvdG8SC29wZW5mbG93XzEzGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGiB2b2x0aGFfcHJvdG9zL3lhbmdfb3B0aW9ucy5wcm90byJjCgpvZnBfaGVhZGVyEhgKB3ZlcnNpb24YASABKA1SB3ZlcnNpb24SKQoEdHlwZRgCIAEoDjIVLm9wZW5mbG93XzEzLm9mcF90eXBlUgR0eXBlEhAKA3hpZBgDIAEoDVIDeGlkIqsBChVvZnBfaGVsbG9fZWxlbV9oZWFkZXISNAoEdHlwZRgBIAEoDjIgLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX3R5cGVSBHR5cGUSUQoNdmVyc2lvbmJpdG1hcBgCIAEoCzIpLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX3ZlcnNpb25iaXRtYXBIAFINdmVyc2lvbmJpdG1hcEIJCgdlbGVtZW50IjgKHG9mcF9oZWxsb19lbGVtX3ZlcnNpb25iaXRtYXASGAoHYml0bWFwcxgCIAMoDVIHYml0bWFwcyJLCglvZnBfaGVsbG8SPgoIZWxlbWVudHMYASADKAsyIi5vcGVuZmxvd18xMy5vZnBfaGVsbG9fZWxlbV9oZWFkZXJSCGVsZW1lbnRzIk0KEW9mcF9zd2l0Y2hfY29uZmlnEhQKBWZsYWdzGAEgASgNUgVmbGFncxIiCg1taXNzX3NlbmRfbGVuGAIgASgNUgttaXNzU2VuZExlbiJCCg1vZnBfdGFibGVfbW9kEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhYKBmNvbmZpZxgCIAEoDVIGY29uZmlnIqACCghvZnBfcG9ydBIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SFwoHaHdfYWRkchgCIAMoDVIGaHdBZGRyEhIKBG5hbWUYAyABKAlSBG5hbWUSFgoGY29uZmlnGAQgASgNUgZjb25maWcSFAoFc3RhdGUYBSABKA1SBXN0YXRlEhIKBGN1cnIYBiABKA1SBGN1cnISHgoKYWR2ZXJ0aXNlZBgHIAEoDVIKYWR2ZXJ0aXNlZBIcCglzdXBwb3J0ZWQYCCABKA1SCXN1cHBvcnRlZBISCgRwZWVyGAkgASgNUgRwZWVyEh0KCmN1cnJfc3BlZWQYCiABKA1SCWN1cnJTcGVlZBIbCgltYXhfc3BlZWQYCyABKA1SCG1heFNwZWVkIrUBChNvZnBfc3dpdGNoX2ZlYXR1cmVzEh8KC2RhdGFwYXRoX2lkGAEgASgEUgpkYXRhcGF0aElkEhsKCW5fYnVmZmVycxgCIAEoDVIIbkJ1ZmZlcnMSGQoIbl90YWJsZXMYAyABKA1SB25UYWJsZXMSIQoMYXV4aWxpYXJ5X2lkGAQgASgNUgthdXhpbGlhcnlJZBIiCgxjYXBhYmlsaXRpZXMYBSABKA1SDGNhcGFiaWxpdGllcyJyCg9vZnBfcG9ydF9zdGF0dXMSNAoGcmVhc29uGAEgASgOMhwub3BlbmZsb3dfMTMub2ZwX3BvcnRfcmVhc29uUgZyZWFzb24SKQoEZGVzYxgCIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9wb3J0UgRkZXNjIooBCgxvZnBfcG9ydF9tb2QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhcKB2h3X2FkZHIYAiADKA1SBmh3QWRkchIWCgZjb25maWcYAyABKA1SBmNvbmZpZxISCgRtYXNrGAQgASgNUgRtYXNrEhwKCWFkdmVydGlzZRgFIAEoDVIJYWR2ZXJ0aXNlIncKCW9mcF9tYXRjaBIvCgR0eXBlGAEgASgOMhsub3BlbmZsb3dfMTMub2ZwX21hdGNoX3R5cGVSBHR5cGUSOQoKb3htX2ZpZWxkcxgCIAMoCzIaLm9wZW5mbG93XzEzLm9mcF9veG1fZmllbGRSCW94bUZpZWxkcyLqAQoNb2ZwX294bV9maWVsZBI3CglveG1fY2xhc3MYASABKA4yGi5vcGVuZmxvd18xMy5vZnBfb3htX2NsYXNzUghveG1DbGFzcxI9CglvZmJfZmllbGQYBCABKAsyHi5vcGVuZmxvd18xMy5vZnBfb3htX29mYl9maWVsZEgAUghvZmJGaWVsZBJYChJleHBlcmltZW50ZXJfZmllbGQYBSABKAsyJy5vcGVuZmxvd18xMy5vZnBfb3htX2V4cGVyaW1lbnRlcl9maWVsZEgAUhFleHBlcmltZW50ZXJGaWVsZEIHCgVmaWVsZCLXDgoRb2ZwX294bV9vZmJfZmllbGQSNAoEdHlwZRgBIAEoDjIgLm9wZW5mbG93XzEzLm94bV9vZmJfZmllbGRfdHlwZXNSBHR5cGUSGQoIaGFzX21hc2sYAiABKAhSB2hhc01hc2sSFAoEcG9ydBgDIAEoDUgAUgRwb3J0EiUKDXBoeXNpY2FsX3BvcnQYBCABKA1IAFIMcGh5c2ljYWxQb3J0EicKDnRhYmxlX21ldGFkYXRhGAUgASgESABSDXRhYmxlTWV0YWRhdGESGQoHZXRoX2RzdBgGIAEoDEgAUgZldGhEc3QSGQoHZXRoX3NyYxgHIAEoDEgAUgZldGhTcmMSGwoIZXRoX3R5cGUYCCABKA1IAFIHZXRoVHlwZRIbCgh2bGFuX3ZpZBgJIAEoDUgAUgd2bGFuVmlkEhsKCHZsYW5fcGNwGAogASgNSABSB3ZsYW5QY3ASGQoHaXBfZHNjcBgLIAEoDUgAUgZpcERzY3ASFwoGaXBfZWNuGAwgASgNSABSBWlwRWNuEhsKCGlwX3Byb3RvGA0gASgNSABSB2lwUHJvdG8SGwoIaXB2NF9zcmMYDiABKA1IAFIHaXB2NFNyYxIbCghpcHY0X2RzdBgPIAEoDUgAUgdpcHY0RHN0EhkKB3RjcF9zcmMYECABKA1IAFIGdGNwU3JjEhkKB3RjcF9kc3QYESABKA1IAFIGdGNwRHN0EhkKB3VkcF9zcmMYEiABKA1IAFIGdWRwU3JjEhkKB3VkcF9kc3QYEyABKA1IAFIGdWRwRHN0EhsKCHNjdHBfc3JjGBQgASgNSABSB3NjdHBTcmMSGwoIc2N0cF9kc3QYFSABKA1IAFIHc2N0cERzdBIhCgtpY21wdjRfdHlwZRgWIAEoDUgAUgppY21wdjRUeXBlEiEKC2ljbXB2NF9jb2RlGBcgASgNSABSCmljbXB2NENvZGUSFwoGYXJwX29wGBggASgNSABSBWFycE9wEhkKB2FycF9zcGEYGSABKA1IAFIGYXJwU3BhEhkKB2FycF90cGEYGiABKA1IAFIGYXJwVHBhEhkKB2FycF9zaGEYGyABKAxIAFIGYXJwU2hhEhkKB2FycF90aGEYHCABKAxIAFIGYXJwVGhhEhsKCGlwdjZfc3JjGB0gASgMSABSB2lwdjZTcmMSGwoIaXB2Nl9kc3QYHiABKAxIAFIHaXB2NkRzdBIhCgtpcHY2X2ZsYWJlbBgfIAEoDUgAUgppcHY2RmxhYmVsEiEKC2ljbXB2Nl90eXBlGCAgASgNSABSCmljbXB2NlR5cGUSIQoLaWNtcHY2X2NvZGUYISABKA1IAFIKaWNtcHY2Q29kZRImCg5pcHY2X25kX3RhcmdldBgiIAEoDEgAUgxpcHY2TmRUYXJnZXQSIAoLaXB2Nl9uZF9zc2wYIyABKAxIAFIJaXB2Nk5kU3NsEiAKC2lwdjZfbmRfdGxsGCQgASgMSABSCWlwdjZOZFRsbBIfCgptcGxzX2xhYmVsGCUgASgNSABSCW1wbHNMYWJlbBIZCgdtcGxzX3RjGCYgASgNSABSBm1wbHNUYxIbCghtcGxzX2JvcxgnIAEoDUgAUgdtcGxzQm9zEhsKCHBiYl9pc2lkGCggASgNSABSB3BiYklzaWQSHQoJdHVubmVsX2lkGCkgASgESABSCHR1bm5lbElkEiEKC2lwdjZfZXh0aGRyGCogASgNSABSCmlwdjZFeHRoZHISMAoTdGFibGVfbWV0YWRhdGFfbWFzaxhpIAEoBEgBUhF0YWJsZU1ldGFkYXRhTWFzaxIiCgxldGhfZHN0X21hc2sYaiABKAxIAVIKZXRoRHN0TWFzaxIiCgxldGhfc3JjX21hc2sYayABKAxIAVIKZXRoU3JjTWFzaxIkCg12bGFuX3ZpZF9tYXNrGG0gASgNSAFSC3ZsYW5WaWRNYXNrEiQKDWlwdjRfc3JjX21hc2sYciABKA1IAVILaXB2NFNyY01hc2sSJAoNaXB2NF9kc3RfbWFzaxhzIAEoDUgBUgtpcHY0RHN0TWFzaxIiCgxhcnBfc3BhX21hc2sYfSABKA1IAVIKYXJwU3BhTWFzaxIiCgxhcnBfdHBhX21hc2sYfiABKA1IAVIKYXJwVHBhTWFzaxIlCg1pcHY2X3NyY19tYXNrGIEBIAEoDEgBUgtpcHY2U3JjTWFzaxIlCg1pcHY2X2RzdF9tYXNrGIIBIAEoDEgBUgtpcHY2RHN0TWFzaxIrChBpcHY2X2ZsYWJlbF9tYXNrGIMBIAEoDUgBUg5pcHY2RmxhYmVsTWFzaxIlCg1wYmJfaXNpZF9tYXNrGIwBIAEoDUgBUgtwYmJJc2lkTWFzaxInCg50dW5uZWxfaWRfbWFzaxiNASABKARIAVIMdHVubmVsSWRNYXNrEisKEGlwdjZfZXh0aGRyX21hc2sYjgEgASgNSAFSDmlwdjZFeHRoZHJNYXNrQgcKBXZhbHVlQgYKBG1hc2siXwoab2ZwX294bV9leHBlcmltZW50ZXJfZmllbGQSHQoKb3htX2hlYWRlchgBIAEoDVIJb3htSGVhZGVyEiIKDGV4cGVyaW1lbnRlchgCIAEoDVIMZXhwZXJpbWVudGVyIrIECgpvZnBfYWN0aW9uEjAKBHR5cGUYASABKA4yHC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3R5cGVSBHR5cGUSOAoGb3V0cHV0GAIgASgLMh4ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9vdXRwdXRIAFIGb3V0cHV0Ej0KCG1wbHNfdHRsGAMgASgLMiAub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9tcGxzX3R0bEgAUgdtcGxzVHRsEjIKBHB1c2gYBCABKAsyHC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3B1c2hIAFIEcHVzaBI9Cghwb3BfbXBscxgFIAEoCzIgLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fcG9wX21wbHNIAFIHcG9wTXBscxI1CgVncm91cBgGIAEoCzIdLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fZ3JvdXBIAFIFZ3JvdXASNwoGbndfdHRsGAcgASgLMh4ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9ud190dGxIAFIFbndUdGwSQAoJc2V0X2ZpZWxkGAggASgLMiEub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9zZXRfZmllbGRIAFIIc2V0RmllbGQSSgoMZXhwZXJpbWVudGVyGAkgASgLMiQub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQggKBmFjdGlvbiJAChFvZnBfYWN0aW9uX291dHB1dBISCgRwb3J0GAEgASgNUgRwb3J0EhcKB21heF9sZW4YAiABKA1SBm1heExlbiIwChNvZnBfYWN0aW9uX21wbHNfdHRsEhkKCG1wbHNfdHRsGAEgASgNUgdtcGxzVHRsIi8KD29mcF9hY3Rpb25fcHVzaBIcCglldGhlcnR5cGUYASABKA1SCWV0aGVydHlwZSIzChNvZnBfYWN0aW9uX3BvcF9tcGxzEhwKCWV0aGVydHlwZRgBIAEoDVIJZXRoZXJ0eXBlIi0KEG9mcF9hY3Rpb25fZ3JvdXASGQoIZ3JvdXBfaWQYASABKA1SB2dyb3VwSWQiKgoRb2ZwX2FjdGlvbl9ud190dGwSFQoGbndfdHRsGAEgASgNUgVud1R0bCJIChRvZnBfYWN0aW9uX3NldF9maWVsZBIwCgVmaWVsZBgBIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9veG1fZmllbGRSBWZpZWxkIlEKF29mcF9hY3Rpb25fZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAiABKAxSBGRhdGEinAMKD29mcF9pbnN0cnVjdGlvbhISCgR0eXBlGAEgASgNUgR0eXBlEkgKCmdvdG9fdGFibGUYAiABKAsyJy5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fZ290b190YWJsZUgAUglnb3RvVGFibGUSVAoOd3JpdGVfbWV0YWRhdGEYAyABKAsyKy5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fd3JpdGVfbWV0YWRhdGFIAFINd3JpdGVNZXRhZGF0YRJACgdhY3Rpb25zGAQgASgLMiQub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uX2FjdGlvbnNIAFIHYWN0aW9ucxI6CgVtZXRlchgFIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvbl9tZXRlckgAUgVtZXRlchJPCgxleHBlcmltZW50ZXIYBiABKAsyKS5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fZXhwZXJpbWVudGVySABSDGV4cGVyaW1lbnRlckIGCgRkYXRhIjcKGm9mcF9pbnN0cnVjdGlvbl9nb3RvX3RhYmxlEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkImEKHm9mcF9pbnN0cnVjdGlvbl93cml0ZV9tZXRhZGF0YRIaCghtZXRhZGF0YRgBIAEoBFIIbWV0YWRhdGESIwoNbWV0YWRhdGFfbWFzaxgCIAEoBFIMbWV0YWRhdGFNYXNrIkwKF29mcF9pbnN0cnVjdGlvbl9hY3Rpb25zEjEKB2FjdGlvbnMYASADKAsyFy5vcGVuZmxvd18xMy5vZnBfYWN0aW9uUgdhY3Rpb25zIjIKFW9mcF9pbnN0cnVjdGlvbl9tZXRlchIZCghtZXRlcl9pZBgBIAEoDVIHbWV0ZXJJZCJWChxvZnBfaW5zdHJ1Y3Rpb25fZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAiABKAxSBGRhdGEi3AMKDG9mcF9mbG93X21vZBIWCgZjb29raWUYASABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgCIAEoBFIKY29va2llTWFzaxIZCgh0YWJsZV9pZBgDIAEoDVIHdGFibGVJZBI7Cgdjb21tYW5kGAQgASgOMiEub3BlbmZsb3dfMTMub2ZwX2Zsb3dfbW9kX2NvbW1hbmRSB2NvbW1hbmQSIQoMaWRsZV90aW1lb3V0GAUgASgNUgtpZGxlVGltZW91dBIhCgxoYXJkX3RpbWVvdXQYBiABKA1SC2hhcmRUaW1lb3V0EhoKCHByaW9yaXR5GAcgASgNUghwcmlvcml0eRIbCglidWZmZXJfaWQYCCABKA1SCGJ1ZmZlcklkEhkKCG91dF9wb3J0GAkgASgNUgdvdXRQb3J0EhsKCW91dF9ncm91cBgKIAEoDVIIb3V0R3JvdXASFAoFZmxhZ3MYCyABKA1SBWZsYWdzEiwKBW1hdGNoGAwgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaBJACgxpbnN0cnVjdGlvbnMYDSADKAsyHC5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25SDGluc3RydWN0aW9ucyKXAQoKb2ZwX2J1Y2tldBIWCgZ3ZWlnaHQYASABKA1SBndlaWdodBIdCgp3YXRjaF9wb3J0GAIgASgNUgl3YXRjaFBvcnQSHwoLd2F0Y2hfZ3JvdXAYAyABKA1SCndhdGNoR3JvdXASMQoHYWN0aW9ucxgEIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMizAEKDW9mcF9ncm91cF9tb2QSPAoHY29tbWFuZBgBIAEoDjIiLm9wZW5mbG93XzEzLm9mcF9ncm91cF9tb2RfY29tbWFuZFIHY29tbWFuZBIvCgR0eXBlGAIgASgOMhsub3BlbmZsb3dfMTMub2ZwX2dyb3VwX3R5cGVSBHR5cGUSGQoIZ3JvdXBfaWQYAyABKA1SB2dyb3VwSWQSMQoHYnVja2V0cxgEIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9idWNrZXRSB2J1Y2tldHMijQEKDm9mcF9wYWNrZXRfb3V0EhsKCWJ1ZmZlcl9pZBgBIAEoDVIIYnVmZmVySWQSFwoHaW5fcG9ydBgCIAEoDVIGaW5Qb3J0EjEKB2FjdGlvbnMYAyADKAsyFy5vcGVuZmxvd18xMy5vZnBfYWN0aW9uUgdhY3Rpb25zEhIKBGRhdGEYBCABKAxSBGRhdGEi3AEKDW9mcF9wYWNrZXRfaW4SGwoJYnVmZmVyX2lkGAEgASgNUghidWZmZXJJZBI5CgZyZWFzb24YAiABKA4yIS5vcGVuZmxvd18xMy5vZnBfcGFja2V0X2luX3JlYXNvblIGcmVhc29uEhkKCHRhYmxlX2lkGAMgASgNUgd0YWJsZUlkEhYKBmNvb2tpZRgEIAEoBFIGY29va2llEiwKBW1hdGNoGAUgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaBISCgRkYXRhGAYgASgMUgRkYXRhIp0DChBvZnBfZmxvd19yZW1vdmVkEhYKBmNvb2tpZRgBIAEoBFIGY29va2llEhoKCHByaW9yaXR5GAIgASgNUghwcmlvcml0eRI8CgZyZWFzb24YAyABKA4yJC5vcGVuZmxvd18xMy5vZnBfZmxvd19yZW1vdmVkX3JlYXNvblIGcmVhc29uEhkKCHRhYmxlX2lkGAQgASgNUgd0YWJsZUlkEiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEiEKDGlkbGVfdGltZW91dBgHIAEoDVILaWRsZVRpbWVvdXQSIQoMaGFyZF90aW1lb3V0GAggASgNUgtoYXJkVGltZW91dBIhCgxwYWNrZXRfY291bnQYCSABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYCiABKARSCWJ5dGVDb3VudBIsCgVtYXRjaBh5IAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gi3AIKFW9mcF9tZXRlcl9iYW5kX2hlYWRlchI0CgR0eXBlGAEgASgOMiAub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfdHlwZVIEdHlwZRISCgRyYXRlGAIgASgNUgRyYXRlEh0KCmJ1cnN0X3NpemUYAyABKA1SCWJ1cnN0U2l6ZRI2CgRkcm9wGAQgASgLMiAub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfZHJvcEgAUgRkcm9wEkoKC2RzY3BfcmVtYXJrGAUgASgLMicub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfZHNjcF9yZW1hcmtIAFIKZHNjcFJlbWFyaxJOCgxleHBlcmltZW50ZXIYBiABKAsyKC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQgYKBGRhdGEiFQoTb2ZwX21ldGVyX2JhbmRfZHJvcCI7ChpvZnBfbWV0ZXJfYmFuZF9kc2NwX3JlbWFyaxIdCgpwcmVjX2xldmVsGAEgASgNUglwcmVjTGV2ZWwiQQobb2ZwX21ldGVyX2JhbmRfZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyIrgBCg1vZnBfbWV0ZXJfbW9kEjwKB2NvbW1hbmQYASABKA4yIi5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfbW9kX2NvbW1hbmRSB2NvbW1hbmQSFAoFZmxhZ3MYAiABKA1SBWZsYWdzEhkKCG1ldGVyX2lkGAMgASgNUgdtZXRlcklkEjgKBWJhbmRzGAQgAygLMiIub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfaGVhZGVyUgViYW5kcyJLCg1vZnBfZXJyb3JfbXNnEhIKBHR5cGUYASABKA1SBHR5cGUSEgoEY29kZRgCIAEoDVIEY29kZRISCgRkYXRhGAMgASgMUgRkYXRhIoMBChpvZnBfZXJyb3JfZXhwZXJpbWVudGVyX21zZxISCgR0eXBlGAEgASgNUgR0eXBlEhkKCGV4cF90eXBlGAIgASgNUgdleHBUeXBlEiIKDGV4cGVyaW1lbnRlchgDIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYBCABKAxSBGRhdGEidgoVb2ZwX211bHRpcGFydF9yZXF1ZXN0EjMKBHR5cGUYASABKA4yHy5vcGVuZmxvd18xMy5vZnBfbXVsdGlwYXJ0X3R5cGVSBHR5cGUSFAoFZmxhZ3MYAiABKA1SBWZsYWdzEhIKBGJvZHkYAyABKAxSBGJvZHkidAoTb2ZwX211bHRpcGFydF9yZXBseRIzCgR0eXBlGAEgASgOMh8ub3BlbmZsb3dfMTMub2ZwX211bHRpcGFydF90eXBlUgR0eXBlEhQKBWZsYWdzGAIgASgNUgVmbGFncxISCgRib2R5GAMgASgMUgRib2R5Io8BCghvZnBfZGVzYxIZCghtZnJfZGVzYxgBIAEoCVIHbWZyRGVzYxIXCgdod19kZXNjGAIgASgJUgZod0Rlc2MSFwoHc3dfZGVzYxgDIAEoCVIGc3dEZXNjEh0KCnNlcmlhbF9udW0YBCABKAlSCXNlcmlhbE51bRIXCgdkcF9kZXNjGAUgASgJUgZkcERlc2Mi0gEKFm9mcF9mbG93X3N0YXRzX3JlcXVlc3QSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSGQoIb3V0X3BvcnQYAiABKA1SB291dFBvcnQSGwoJb3V0X2dyb3VwGAMgASgNUghvdXRHcm91cBIWCgZjb29raWUYBCABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgFIAEoBFIKY29va2llTWFzaxIsCgVtYXRjaBgGIAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gixQMKDm9mcF9mbG93X3N0YXRzEg4KAmlkGA4gASgEUgJpZBIZCgh0YWJsZV9pZBgBIAEoDVIHdGFibGVJZBIhCgxkdXJhdGlvbl9zZWMYAiABKA1SC2R1cmF0aW9uU2VjEiMKDWR1cmF0aW9uX25zZWMYAyABKA1SDGR1cmF0aW9uTnNlYxIaCghwcmlvcml0eRgEIAEoDVIIcHJpb3JpdHkSIQoMaWRsZV90aW1lb3V0GAUgASgNUgtpZGxlVGltZW91dBIhCgxoYXJkX3RpbWVvdXQYBiABKA1SC2hhcmRUaW1lb3V0EhQKBWZsYWdzGAcgASgNUgVmbGFncxIWCgZjb29raWUYCCABKARSBmNvb2tpZRIhCgxwYWNrZXRfY291bnQYCSABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYCiABKARSCWJ5dGVDb3VudBIsCgVtYXRjaBgMIAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gSQAoMaW5zdHJ1Y3Rpb25zGA0gAygLMhwub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uUgxpbnN0cnVjdGlvbnMi1wEKG29mcF9hZ2dyZWdhdGVfc3RhdHNfcmVxdWVzdBIZCgh0YWJsZV9pZBgBIAEoDVIHdGFibGVJZBIZCghvdXRfcG9ydBgCIAEoDVIHb3V0UG9ydBIbCglvdXRfZ3JvdXAYAyABKA1SCG91dEdyb3VwEhYKBmNvb2tpZRgEIAEoBFIGY29va2llEh8KC2Nvb2tpZV9tYXNrGAUgASgEUgpjb29raWVNYXNrEiwKBW1hdGNoGAYgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaCJ8ChlvZnBfYWdncmVnYXRlX3N0YXRzX3JlcGx5EiEKDHBhY2tldF9jb3VudBgBIAEoBFILcGFja2V0Q291bnQSHQoKYnl0ZV9jb3VudBgCIAEoBFIJYnl0ZUNvdW50Eh0KCmZsb3dfY291bnQYAyABKA1SCWZsb3dDb3VudCLtAwoab2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcGVydHkSPAoEdHlwZRgBIAEoDjIoLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfdHlwZVIEdHlwZRJWCgxpbnN0cnVjdGlvbnMYAiABKAsyMC5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2luc3RydWN0aW9uc0gAUgxpbnN0cnVjdGlvbnMSUgoLbmV4dF90YWJsZXMYAyABKAsyLy5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX25leHRfdGFibGVzSABSCm5leHRUYWJsZXMSRwoHYWN0aW9ucxgEIAEoCzIrLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfYWN0aW9uc0gAUgdhY3Rpb25zEjsKA294bRgFIAEoCzInLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3Bfb3htSABSA294bRJWCgxleHBlcmltZW50ZXIYBiABKAsyMC5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2V4cGVyaW1lbnRlckgAUgxleHBlcmltZW50ZXJCBwoFdmFsdWUiZwojb2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9pbnN0cnVjdGlvbnMSQAoMaW5zdHJ1Y3Rpb25zGAEgAygLMhwub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uUgxpbnN0cnVjdGlvbnMiSgoib2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9uZXh0X3RhYmxlcxIkCg5uZXh0X3RhYmxlX2lkcxgBIAMoDVIMbmV4dFRhYmxlSWRzIlMKHm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfYWN0aW9ucxIxCgdhY3Rpb25zGAEgAygLMhcub3BlbmZsb3dfMTMub2ZwX2FjdGlvblIHYWN0aW9ucyI1ChpvZnBfdGFibGVfZmVhdHVyZV9wcm9wX294bRIXCgdveG1faWRzGAMgAygNUgZveG1JZHMikQEKI29mcF90YWJsZV9mZWF0dXJlX3Byb3BfZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgCIAEoDVIMZXhwZXJpbWVudGVyEhkKCGV4cF90eXBlGAMgASgNUgdleHBUeXBlEisKEWV4cGVyaW1lbnRlcl9kYXRhGAQgAygNUhBleHBlcmltZW50ZXJEYXRhIpMCChJvZnBfdGFibGVfZmVhdHVyZXMSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIlCg5tZXRhZGF0YV9tYXRjaBgDIAEoBFINbWV0YWRhdGFNYXRjaBIlCg5tZXRhZGF0YV93cml0ZRgEIAEoBFINbWV0YWRhdGFXcml0ZRIWCgZjb25maWcYBSABKA1SBmNvbmZpZxIfCgttYXhfZW50cmllcxgGIAEoDVIKbWF4RW50cmllcxJHCgpwcm9wZXJ0aWVzGAcgAygLMicub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcGVydHlSCnByb3BlcnRpZXMilwEKD29mcF90YWJsZV9zdGF0cxIZCgh0YWJsZV9pZBgBIAEoDVIHdGFibGVJZBIhCgxhY3RpdmVfY291bnQYAiABKA1SC2FjdGl2ZUNvdW50EiEKDGxvb2t1cF9jb3VudBgDIAEoBFILbG9va3VwQ291bnQSIwoNbWF0Y2hlZF9jb3VudBgEIAEoBFIMbWF0Y2hlZENvdW50IjEKFm9mcF9wb3J0X3N0YXRzX3JlcXVlc3QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vIt0DCg5vZnBfcG9ydF9zdGF0cxIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SHQoKcnhfcGFja2V0cxgCIAEoBFIJcnhQYWNrZXRzEh0KCnR4X3BhY2tldHMYAyABKARSCXR4UGFja2V0cxIZCghyeF9ieXRlcxgEIAEoBFIHcnhCeXRlcxIZCgh0eF9ieXRlcxgFIAEoBFIHdHhCeXRlcxIdCgpyeF9kcm9wcGVkGAYgASgEUglyeERyb3BwZWQSHQoKdHhfZHJvcHBlZBgHIAEoBFIJdHhEcm9wcGVkEhsKCXJ4X2Vycm9ycxgIIAEoBFIIcnhFcnJvcnMSGwoJdHhfZXJyb3JzGAkgASgEUgh0eEVycm9ycxIgCgxyeF9mcmFtZV9lcnIYCiABKARSCnJ4RnJhbWVFcnISHgoLcnhfb3Zlcl9lcnIYCyABKARSCXJ4T3ZlckVychIcCgpyeF9jcmNfZXJyGAwgASgEUghyeENyY0VychIeCgpjb2xsaXNpb25zGA0gASgEUgpjb2xsaXNpb25zEiEKDGR1cmF0aW9uX3NlYxgOIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgPIAEoDVIMZHVyYXRpb25Oc2VjIjQKF29mcF9ncm91cF9zdGF0c19yZXF1ZXN0EhkKCGdyb3VwX2lkGAEgASgNUgdncm91cElkIlYKEm9mcF9idWNrZXRfY291bnRlchIhCgxwYWNrZXRfY291bnQYASABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYAiABKARSCWJ5dGVDb3VudCKXAgoPb2ZwX2dyb3VwX3N0YXRzEhkKCGdyb3VwX2lkGAEgASgNUgdncm91cElkEhsKCXJlZl9jb3VudBgCIAEoDVIIcmVmQ291bnQSIQoMcGFja2V0X2NvdW50GAMgASgEUgtwYWNrZXRDb3VudBIdCgpieXRlX2NvdW50GAQgASgEUglieXRlQ291bnQSIQoMZHVyYXRpb25fc2VjGAUgASgNUgtkdXJhdGlvblNlYxIjCg1kdXJhdGlvbl9uc2VjGAYgASgNUgxkdXJhdGlvbk5zZWMSQgoMYnVja2V0X3N0YXRzGAcgAygLMh8ub3BlbmZsb3dfMTMub2ZwX2J1Y2tldF9jb3VudGVyUgtidWNrZXRTdGF0cyKPAQoOb2ZwX2dyb3VwX2Rlc2MSLwoEdHlwZRgBIAEoDjIbLm9wZW5mbG93XzEzLm9mcF9ncm91cF90eXBlUgR0eXBlEhkKCGdyb3VwX2lkGAIgASgNUgdncm91cElkEjEKB2J1Y2tldHMYAyADKAsyFy5vcGVuZmxvd18xMy5vZnBfYnVja2V0UgdidWNrZXRzIqQBCg9vZnBfZ3JvdXBfZW50cnkSXQoEZGVzYxgBIAEoCzIbLm9wZW5mbG93XzEzLm9mcF9ncm91cF9kZXNjQiyC980dBgoEZGVzY4L3zR0cEhpvcGVuZmxvd18xMy1vZnBfZ3JvdXBfZGVzY1IEZGVzYxIyCgVzdGF0cxgCIAEoCzIcLm9wZW5mbG93XzEzLm9mcF9ncm91cF9zdGF0c1IFc3RhdHMihwEKEm9mcF9ncm91cF9mZWF0dXJlcxIUCgV0eXBlcxgBIAEoDVIFdHlwZXMSIgoMY2FwYWJpbGl0aWVzGAIgASgNUgxjYXBhYmlsaXRpZXMSHQoKbWF4X2dyb3VwcxgDIAMoDVIJbWF4R3JvdXBzEhgKB2FjdGlvbnMYBCADKA1SB2FjdGlvbnMiOAobb2ZwX21ldGVyX211bHRpcGFydF9yZXF1ZXN0EhkKCG1ldGVyX2lkGAEgASgNUgdtZXRlcklkImoKFG9mcF9tZXRlcl9iYW5kX3N0YXRzEioKEXBhY2tldF9iYW5kX2NvdW50GAEgASgEUg9wYWNrZXRCYW5kQ291bnQSJgoPYnl0ZV9iYW5kX2NvdW50GAIgASgEUg1ieXRlQmFuZENvdW50IqECCg9vZnBfbWV0ZXJfc3RhdHMSGQoIbWV0ZXJfaWQYASABKA1SB21ldGVySWQSHQoKZmxvd19jb3VudBgCIAEoDVIJZmxvd0NvdW50EiYKD3BhY2tldF9pbl9jb3VudBgDIAEoBFINcGFja2V0SW5Db3VudBIiCg1ieXRlX2luX2NvdW50GAQgASgEUgtieXRlSW5Db3VudBIhCgxkdXJhdGlvbl9zZWMYBSABKA1SC2R1cmF0aW9uU2VjEiMKDWR1cmF0aW9uX25zZWMYBiABKA1SDGR1cmF0aW9uTnNlYxJACgpiYW5kX3N0YXRzGAcgAygLMiEub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfc3RhdHNSCWJhbmRTdGF0cyJ9ChBvZnBfbWV0ZXJfY29uZmlnEhQKBWZsYWdzGAEgASgNUgVmbGFncxIZCghtZXRlcl9pZBgCIAEoDVIHbWV0ZXJJZBI4CgViYW5kcxgDIAMoCzIiLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9iYW5kX2hlYWRlclIFYmFuZHMirgEKEm9mcF9tZXRlcl9mZWF0dXJlcxIbCgltYXhfbWV0ZXIYASABKA1SCG1heE1ldGVyEh0KCmJhbmRfdHlwZXMYAiABKA1SCWJhbmRUeXBlcxIiCgxjYXBhYmlsaXRpZXMYAyABKA1SDGNhcGFiaWxpdGllcxIbCgltYXhfYmFuZHMYBCABKA1SCG1heEJhbmRzEhsKCW1heF9jb2xvchgFIAEoDVIIbWF4Q29sb3IirgEKD29mcF9tZXRlcl9lbnRyeRJnCgZjb25maWcYASABKAsyHS5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfY29uZmlnQjCC980dCAoGY29uZmlngvfNHR4SHG9wZW5mbG93XzEzLW9mcF9tZXRlcl9jb25maWdSBmNvbmZpZxIyCgVzdGF0cxgCIAEoCzIcLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9zdGF0c1IFc3RhdHMidgohb2ZwX2V4cGVyaW1lbnRlcl9tdWx0aXBhcnRfaGVhZGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhkKCGV4cF90eXBlGAIgASgNUgdleHBUeXBlEhIKBGRhdGEYAyABKAxSBGRhdGEibAoXb2ZwX2V4cGVyaW1lbnRlcl9oZWFkZXISIgoMZXhwZXJpbWVudGVyGAEgASgNUgxleHBlcmltZW50ZXISGQoIZXhwX3R5cGUYAiABKA1SB2V4cFR5cGUSEgoEZGF0YRgDIAEoDFIEZGF0YSJFChVvZnBfcXVldWVfcHJvcF9oZWFkZXISGgoIcHJvcGVydHkYASABKA1SCHByb3BlcnR5EhAKA2xlbhgCIAEoDVIDbGVuInIKF29mcF9xdWV1ZV9wcm9wX21pbl9yYXRlEkMKC3Byb3BfaGVhZGVyGAEgASgLMiIub3BlbmZsb3dfMTMub2ZwX3F1ZXVlX3Byb3BfaGVhZGVyUgpwcm9wSGVhZGVyEhIKBHJhdGUYAiABKA1SBHJhdGUicgoXb2ZwX3F1ZXVlX3Byb3BfbWF4X3JhdGUSQwoLcHJvcF9oZWFkZXIYASABKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BIZWFkZXISEgoEcmF0ZRgCIAEoDVIEcmF0ZSKaAQobb2ZwX3F1ZXVlX3Byb3BfZXhwZXJpbWVudGVyEkMKC3Byb3BfaGVhZGVyGAEgASgLMiIub3BlbmZsb3dfMTMub2ZwX3F1ZXVlX3Byb3BfaGVhZGVyUgpwcm9wSGVhZGVyEiIKDGV4cGVyaW1lbnRlchgCIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAyABKAxSBGRhdGEihQEKEG9mcF9wYWNrZXRfcXVldWUSGQoIcXVldWVfaWQYASABKA1SB3F1ZXVlSWQSEgoEcG9ydBgCIAEoDVIEcG9ydBJCCgpwcm9wZXJ0aWVzGAQgAygLMiIub3BlbmZsb3dfMTMub2ZwX3F1ZXVlX3Byb3BfaGVhZGVyUgpwcm9wZXJ0aWVzIjIKHG9mcF9xdWV1ZV9nZXRfY29uZmlnX3JlcXVlc3QSEgoEcG9ydBgBIAEoDVIEcG9ydCJnChpvZnBfcXVldWVfZ2V0X2NvbmZpZ19yZXBseRISCgRwb3J0GAEgASgNUgRwb3J0EjUKBnF1ZXVlcxgCIAMoCzIdLm9wZW5mbG93XzEzLm9mcF9wYWNrZXRfcXVldWVSBnF1ZXVlcyJFChRvZnBfYWN0aW9uX3NldF9xdWV1ZRISCgR0eXBlGAEgASgNUgR0eXBlEhkKCHF1ZXVlX2lkGAMgASgNUgdxdWV1ZUlkIk0KF29mcF9xdWV1ZV9zdGF0c19yZXF1ZXN0EhcKB3BvcnRfbm8YASABKA1SBnBvcnRObxIZCghxdWV1ZV9pZBgCIAEoDVIHcXVldWVJZCLkAQoPb2ZwX3F1ZXVlX3N0YXRzEhcKB3BvcnRfbm8YASABKA1SBnBvcnRObxIZCghxdWV1ZV9pZBgCIAEoDVIHcXVldWVJZBIZCgh0eF9ieXRlcxgDIAEoBFIHdHhCeXRlcxIdCgp0eF9wYWNrZXRzGAQgASgEUgl0eFBhY2tldHMSGwoJdHhfZXJyb3JzGAUgASgEUgh0eEVycm9ycxIhCgxkdXJhdGlvbl9zZWMYBiABKA1SC2R1cmF0aW9uU2VjEiMKDWR1cmF0aW9uX25zZWMYByABKA1SDGR1cmF0aW9uTnNlYyJtChBvZnBfcm9sZV9yZXF1ZXN0EjQKBHJvbGUYASABKA4yIC5vcGVuZmxvd18xMy5vZnBfY29udHJvbGxlcl9yb2xlUgRyb2xlEiMKDWdlbmVyYXRpb25faWQYAiABKARSDGdlbmVyYXRpb25JZCKOAQoQb2ZwX2FzeW5jX2NvbmZpZxIkCg5wYWNrZXRfaW5fbWFzaxgBIAMoDVIMcGFja2V0SW5NYXNrEigKEHBvcnRfc3RhdHVzX21hc2sYAiADKA1SDnBvcnRTdGF0dXNNYXNrEioKEWZsb3dfcmVtb3ZlZF9tYXNrGAMgAygNUg9mbG93UmVtb3ZlZE1hc2siWQoOTWV0ZXJNb2RVcGRhdGUSDgoCaWQYASABKAlSAmlkEjcKCW1ldGVyX21vZBgCIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9tb2RSCG1ldGVyTW9kIlAKD01ldGVyU3RhdHNSZXBseRI9CgttZXRlcl9zdGF0cxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9zdGF0c1IKbWV0ZXJTdGF0cyJXCg9GbG93VGFibGVVcGRhdGUSDgoCaWQYASABKAlSAmlkEjQKCGZsb3dfbW9kGAIgASgLMhkub3BlbmZsb3dfMTMub2ZwX2Zsb3dfbW9kUgdmbG93TW9kIl8KFEZsb3dHcm91cFRhYmxlVXBkYXRlEg4KAmlkGAEgASgJUgJpZBI3Cglncm91cF9tb2QYAiABKAsyGi5vcGVuZmxvd18xMy5vZnBfZ3JvdXBfbW9kUghncm91cE1vZCI6CgVGbG93cxIxCgVpdGVtcxgBIAMoCzIbLm9wZW5mbG93XzEzLm9mcF9mbG93X3N0YXRzUgVpdGVtcyI8CgZNZXRlcnMSMgoFaXRlbXMYASADKAsyHC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfZW50cnlSBWl0ZW1zIkAKCkZsb3dHcm91cHMSMgoFaXRlbXMYASADKAsyHC5vcGVuZmxvd18xMy5vZnBfZ3JvdXBfZW50cnlSBWl0ZW1zImkKC0Zsb3dDaGFuZ2VzEikKBnRvX2FkZBgBIAEoCzISLm9wZW5mbG93XzEzLkZsb3dzUgV0b0FkZBIvCgl0b19yZW1vdmUYAiABKAsyEi5vcGVuZmxvd18xMy5GbG93c1IIdG9SZW1vdmUieAoQRmxvd0dyb3VwQ2hhbmdlcxIuCgZ0b19hZGQYASABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgV0b0FkZBI0Cgl0b19yZW1vdmUYAiABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgh0b1JlbW92ZSJTCghQYWNrZXRJbhIOCgJpZBgBIAEoCVICaWQSNwoJcGFja2V0X2luGAIgASgLMhoub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9pblIIcGFja2V0SW4iVwoJUGFja2V0T3V0Eg4KAmlkGAEgASgJUgJpZBI6CgpwYWNrZXRfb3V0GAIgASgLMhsub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9vdXRSCXBhY2tldE91dCKrAQoLQ2hhbmdlRXZlbnQSDgoCaWQYASABKAlSAmlkEj8KC3BvcnRfc3RhdHVzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX3BvcnRfc3RhdHVzSABSCnBvcnRTdGF0dXMSQgoMZmxvd19yZW1vdmVkGAMgASgLMh0ub3BlbmZsb3dfMTMub2ZwX2Zsb3dfcmVtb3ZlZEgAUgtmbG93UmVtb3ZlZEIHCgVldmVudCrVAQoLb2ZwX3BvcnRfbm8SEAoMT0ZQUF9JTlZBTElEEAASEAoIT0ZQUF9NQVgQgP7//wcSFAoMT0ZQUF9JTl9QT1JUEPj///8HEhIKCk9GUFBfVEFCTEUQ+f///wcSEwoLT0ZQUF9OT1JNQUwQ+v///wcSEgoKT0ZQUF9GTE9PRBD7////BxIQCghPRlBQX0FMTBD8////BxIXCg9PRlBQX0NPTlRST0xMRVIQ/f///wcSEgoKT0ZQUF9MT0NBTBD+////BxIQCghPRlBQX0FOWRD/////ByrIBQoIb2ZwX3R5cGUSDgoKT0ZQVF9IRUxMTxAAEg4KCk9GUFRfRVJST1IQARIVChFPRlBUX0VDSE9fUkVRVUVTVBACEhMKD09GUFRfRUNIT19SRVBMWRADEhUKEU9GUFRfRVhQRVJJTUVOVEVSEAQSGQoVT0ZQVF9GRUFUVVJFU19SRVFVRVNUEAUSFwoTT0ZQVF9GRUFUVVJFU19SRVBMWRAGEhsKF09GUFRfR0VUX0NPTkZJR19SRVFVRVNUEAcSGQoVT0ZQVF9HRVRfQ09ORklHX1JFUExZEAgSEwoPT0ZQVF9TRVRfQ09ORklHEAkSEgoOT0ZQVF9QQUNLRVRfSU4QChIVChFPRlBUX0ZMT1dfUkVNT1ZFRBALEhQKEE9GUFRfUE9SVF9TVEFUVVMQDBITCg9PRlBUX1BBQ0tFVF9PVVQQDRIRCg1PRlBUX0ZMT1dfTU9EEA4SEgoOT0ZQVF9HUk9VUF9NT0QQDxIRCg1PRlBUX1BPUlRfTU9EEBASEgoOT0ZQVF9UQUJMRV9NT0QQERIaChZPRlBUX01VTFRJUEFSVF9SRVFVRVNUEBISGAoUT0ZQVF9NVUxUSVBBUlRfUkVQTFkQExIYChRPRlBUX0JBUlJJRVJfUkVRVUVTVBAUEhYKEk9GUFRfQkFSUklFUl9SRVBMWRAVEiEKHU9GUFRfUVVFVUVfR0VUX0NPTkZJR19SRVFVRVNUEBYSHwobT0ZQVF9RVUVVRV9HRVRfQ09ORklHX1JFUExZEBcSFQoRT0ZQVF9ST0xFX1JFUVVFU1QQGBITCg9PRlBUX1JPTEVfUkVQTFkQGRIaChZPRlBUX0dFVF9BU1lOQ19SRVFVRVNUEBoSGAoUT0ZQVF9HRVRfQVNZTkNfUkVQTFkQGxISCg5PRlBUX1NFVF9BU1lOQxAcEhIKDk9GUFRfTUVURVJfTU9EEB0qQwoTb2ZwX2hlbGxvX2VsZW1fdHlwZRISCg5PRlBIRVRfSU5WQUxJRBAAEhgKFE9GUEhFVF9WRVJTSU9OQklUTUFQEAEqZQoQb2ZwX2NvbmZpZ19mbGFncxIUChBPRlBDX0ZSQUdfTk9STUFMEAASEgoOT0ZQQ19GUkFHX0RST1AQARITCg9PRlBDX0ZSQUdfUkVBU00QAhISCg5PRlBDX0ZSQUdfTUFTSxADKkAKEG9mcF90YWJsZV9jb25maWcSEQoNT0ZQVENfSU5WQUxJRBAAEhkKFU9GUFRDX0RFUFJFQ0FURURfTUFTSxADKj4KCW9mcF90YWJsZRIRCg1PRlBUVF9JTlZBTElEEAASDgoJT0ZQVFRfTUFYEP4BEg4KCU9GUFRUX0FMTBD/ASq7AQoQb2ZwX2NhcGFiaWxpdGllcxIQCgxPRlBDX0lOVkFMSUQQABITCg9PRlBDX0ZMT1dfU1RBVFMQARIUChBPRlBDX1RBQkxFX1NUQVRTEAISEwoPT0ZQQ19QT1JUX1NUQVRTEAQSFAoQT0ZQQ19HUk9VUF9TVEFUUxAIEhEKDU9GUENfSVBfUkVBU00QIBIUChBPRlBDX1FVRVVFX1NUQVRTEEASFgoRT0ZQQ19QT1JUX0JMT0NLRUQQgAIqdgoPb2ZwX3BvcnRfY29uZmlnEhEKDU9GUFBDX0lOVkFMSUQQABITCg9PRlBQQ19QT1JUX0RPV04QARIRCg1PRlBQQ19OT19SRUNWEAQSEAoMT0ZQUENfTk9fRldEECASFgoST0ZQUENfTk9fUEFDS0VUX0lOEEAqWwoOb2ZwX3BvcnRfc3RhdGUSEQoNT0ZQUFNfSU5WQUxJRBAAEhMKD09GUFBTX0xJTktfRE9XThABEhEKDU9GUFBTX0JMT0NLRUQQAhIOCgpPRlBQU19MSVZFEAQq3QIKEW9mcF9wb3J0X2ZlYXR1cmVzEhEKDU9GUFBGX0lOVkFMSUQQABIRCg1PRlBQRl8xME1CX0hEEAESEQoNT0ZQUEZfMTBNQl9GRBACEhIKDk9GUFBGXzEwME1CX0hEEAQSEgoOT0ZQUEZfMTAwTUJfRkQQCBIQCgxPRlBQRl8xR0JfSEQQEBIQCgxPRlBQRl8xR0JfRkQQIBIRCg1PRlBQRl8xMEdCX0ZEEEASEgoNT0ZQUEZfNDBHQl9GRBCAARITCg5PRlBQRl8xMDBHQl9GRBCAAhIRCgxPRlBQRl8xVEJfRkQQgAQSEAoLT0ZQUEZfT1RIRVIQgAgSEQoMT0ZQUEZfQ09QUEVSEIAQEhAKC09GUFBGX0ZJQkVSEIAgEhIKDU9GUFBGX0FVVE9ORUcQgEASEQoLT0ZQUEZfUEFVU0UQgIABEhYKEE9GUFBGX1BBVVNFX0FTWU0QgIACKkQKD29mcF9wb3J0X3JlYXNvbhINCglPRlBQUl9BREQQABIQCgxPRlBQUl9ERUxFVEUQARIQCgxPRlBQUl9NT0RJRlkQAiozCg5vZnBfbWF0Y2hfdHlwZRISCg5PRlBNVF9TVEFOREFSRBAAEg0KCU9GUE1UX09YTRABKmsKDW9mcF9veG1fY2xhc3MSEAoMT0ZQWE1DX05YTV8wEAASEAoMT0ZQWE1DX05YTV8xEAESGwoVT0ZQWE1DX09QRU5GTE9XX0JBU0lDEICAAhIZChNPRlBYTUNfRVhQRVJJTUVOVEVSEP//AyqQCAoTb3htX29mYl9maWVsZF90eXBlcxIWChJPRlBYTVRfT0ZCX0lOX1BPUlQQABIaChZPRlBYTVRfT0ZCX0lOX1BIWV9QT1JUEAESFwoTT0ZQWE1UX09GQl9NRVRBREFUQRACEhYKEk9GUFhNVF9PRkJfRVRIX0RTVBADEhYKEk9GUFhNVF9PRkJfRVRIX1NSQxAEEhcKE09GUFhNVF9PRkJfRVRIX1RZUEUQBRIXChNPRlBYTVRfT0ZCX1ZMQU5fVklEEAYSFwoTT0ZQWE1UX09GQl9WTEFOX1BDUBAHEhYKEk9GUFhNVF9PRkJfSVBfRFNDUBAIEhUKEU9GUFhNVF9PRkJfSVBfRUNOEAkSFwoTT0ZQWE1UX09GQl9JUF9QUk9UTxAKEhcKE09GUFhNVF9PRkJfSVBWNF9TUkMQCxIXChNPRlBYTVRfT0ZCX0lQVjRfRFNUEAwSFgoST0ZQWE1UX09GQl9UQ1BfU1JDEA0SFgoST0ZQWE1UX09GQl9UQ1BfRFNUEA4SFgoST0ZQWE1UX09GQl9VRFBfU1JDEA8SFgoST0ZQWE1UX09GQl9VRFBfRFNUEBASFwoTT0ZQWE1UX09GQl9TQ1RQX1NSQxAREhcKE09GUFhNVF9PRkJfU0NUUF9EU1QQEhIaChZPRlBYTVRfT0ZCX0lDTVBWNF9UWVBFEBMSGgoWT0ZQWE1UX09GQl9JQ01QVjRfQ09ERRAUEhUKEU9GUFhNVF9PRkJfQVJQX09QEBUSFgoST0ZQWE1UX09GQl9BUlBfU1BBEBYSFgoST0ZQWE1UX09GQl9BUlBfVFBBEBcSFgoST0ZQWE1UX09GQl9BUlBfU0hBEBgSFgoST0ZQWE1UX09GQl9BUlBfVEhBEBkSFwoTT0ZQWE1UX09GQl9JUFY2X1NSQxAaEhcKE09GUFhNVF9PRkJfSVBWNl9EU1QQGxIaChZPRlBYTVRfT0ZCX0lQVjZfRkxBQkVMEBwSGgoWT0ZQWE1UX09GQl9JQ01QVjZfVFlQRRAdEhoKFk9GUFhNVF9PRkJfSUNNUFY2X0NPREUQHhIdChlPRlBYTVRfT0ZCX0lQVjZfTkRfVEFSR0VUEB8SGgoWT0ZQWE1UX09GQl9JUFY2X05EX1NMTBAgEhoKFk9GUFhNVF9PRkJfSVBWNl9ORF9UTEwQIRIZChVPRlBYTVRfT0ZCX01QTFNfTEFCRUwQIhIWChJPRlBYTVRfT0ZCX01QTFNfVEMQIxIXChNPRlBYTVRfT0ZCX01QTFNfQk9TECQSFwoTT0ZQWE1UX09GQl9QQkJfSVNJRBAlEhgKFE9GUFhNVF9PRkJfVFVOTkVMX0lEECYSGgoWT0ZQWE1UX09GQl9JUFY2X0VYVEhEUhAnKjMKC29mcF92bGFuX2lkEg8KC09GUFZJRF9OT05FEAASEwoOT0ZQVklEX1BSRVNFTlQQgCAqyQEKFG9mcF9pcHY2ZXh0aGRyX2ZsYWdzEhIKDk9GUElFSF9JTlZBTElEEAASEQoNT0ZQSUVIX05PTkVYVBABEg4KCk9GUElFSF9FU1AQAhIPCgtPRlBJRUhfQVVUSBAEEg8KC09GUElFSF9ERVNUEAgSDwoLT0ZQSUVIX0ZSQUcQEBIRCg1PRlBJRUhfUk9VVEVSECASDgoKT0ZQSUVIX0hPUBBAEhEKDE9GUElFSF9VTlJFUBCAARIRCgxPRlBJRUhfVU5TRVEQgAIq/AIKD29mcF9hY3Rpb25fdHlwZRIQCgxPRlBBVF9PVVRQVVQQABIWChJPRlBBVF9DT1BZX1RUTF9PVVQQCxIVChFPRlBBVF9DT1BZX1RUTF9JThAMEhYKEk9GUEFUX1NFVF9NUExTX1RUTBAPEhYKEk9GUEFUX0RFQ19NUExTX1RUTBAQEhMKD09GUEFUX1BVU0hfVkxBThAREhIKDk9GUEFUX1BPUF9WTEFOEBISEwoPT0ZQQVRfUFVTSF9NUExTEBMSEgoOT0ZQQVRfUE9QX01QTFMQFBITCg9PRlBBVF9TRVRfUVVFVUUQFRIPCgtPRlBBVF9HUk9VUBAWEhQKEE9GUEFUX1NFVF9OV19UVEwQFxIUChBPRlBBVF9ERUNfTldfVFRMEBgSEwoPT0ZQQVRfU0VUX0ZJRUxEEBkSEgoOT0ZQQVRfUFVTSF9QQkIQGhIRCg1PRlBBVF9QT1BfUEJCEBsSGAoST0ZQQVRfRVhQRVJJTUVOVEVSEP//AypWChZvZnBfY29udHJvbGxlcl9tYXhfbGVuEhIKDk9GUENNTF9JTlZBTElEEAASEAoKT0ZQQ01MX01BWBDl/wMSFgoQT0ZQQ01MX05PX0JVRkZFUhD//wMqzwEKFG9mcF9pbnN0cnVjdGlvbl90eXBlEhEKDU9GUElUX0lOVkFMSUQQABIUChBPRlBJVF9HT1RPX1RBQkxFEAESGAoUT0ZQSVRfV1JJVEVfTUVUQURBVEEQAhIXChNPRlBJVF9XUklURV9BQ1RJT05TEAMSFwoTT0ZQSVRfQVBQTFlfQUNUSU9OUxAEEhcKE09GUElUX0NMRUFSX0FDVElPTlMQBRIPCgtPRlBJVF9NRVRFUhAGEhgKEk9GUElUX0VYUEVSSU1FTlRFUhD//wMqewoUb2ZwX2Zsb3dfbW9kX2NvbW1hbmQSDQoJT0ZQRkNfQUREEAASEAoMT0ZQRkNfTU9ESUZZEAESFwoTT0ZQRkNfTU9ESUZZX1NUUklDVBACEhAKDE9GUEZDX0RFTEVURRADEhcKE09GUEZDX0RFTEVURV9TVFJJQ1QQBCqjAQoSb2ZwX2Zsb3dfbW9kX2ZsYWdzEhEKDU9GUEZGX0lOVkFMSUQQABIXChNPRlBGRl9TRU5EX0ZMT1dfUkVNEAESFwoTT0ZQRkZfQ0hFQ0tfT1ZFUkxBUBACEhYKEk9GUEZGX1JFU0VUX0NPVU5UUxAEEhcKE09GUEZGX05PX1BLVF9DT1VOVFMQCBIXChNPRlBGRl9OT19CWVRfQ09VTlRTEBAqUwoJb2ZwX2dyb3VwEhAKDE9GUEdfSU5WQUxJRBAAEhAKCE9GUEdfTUFYEID+//8HEhAKCE9GUEdfQUxMEPz///8HEhAKCE9GUEdfQU5ZEP////8HKkoKFW9mcF9ncm91cF9tb2RfY29tbWFuZBINCglPRlBHQ19BREQQABIQCgxPRlBHQ19NT0RJRlkQARIQCgxPRlBHQ19ERUxFVEUQAipTCg5vZnBfZ3JvdXBfdHlwZRINCglPRlBHVF9BTEwQABIQCgxPRlBHVF9TRUxFQ1QQARISCg5PRlBHVF9JTkRJUkVDVBACEgwKCE9GUEdUX0ZGEAMqUAoUb2ZwX3BhY2tldF9pbl9yZWFzb24SEQoNT0ZQUl9OT19NQVRDSBAAEg8KC09GUFJfQUNUSU9OEAESFAoQT0ZQUl9JTlZBTElEX1RUTBACKosBChdvZnBfZmxvd19yZW1vdmVkX3JlYXNvbhIWChJPRlBSUl9JRExFX1RJTUVPVVQQABIWChJPRlBSUl9IQVJEX1RJTUVPVVQQARIQCgxPRlBSUl9ERUxFVEUQAhIWChJPRlBSUl9HUk9VUF9ERUxFVEUQAxIWChJPRlBSUl9NRVRFUl9ERUxFVEUQBCpuCglvZnBfbWV0ZXISDQoJT0ZQTV9aRVJPEAASEAoIT0ZQTV9NQVgQgID8/wcSFQoNT0ZQTV9TTE9XUEFUSBD9////BxIXCg9PRlBNX0NPTlRST0xMRVIQ/v///wcSEAoIT0ZQTV9BTEwQ/////wcqbQoTb2ZwX21ldGVyX2JhbmRfdHlwZRISCg5PRlBNQlRfSU5WQUxJRBAAEg8KC09GUE1CVF9EUk9QEAESFgoST0ZQTUJUX0RTQ1BfUkVNQVJLEAISGQoTT0ZQTUJUX0VYUEVSSU1FTlRFUhD//wMqSgoVb2ZwX21ldGVyX21vZF9jb21tYW5kEg0KCU9GUE1DX0FERBAAEhAKDE9GUE1DX01PRElGWRABEhAKDE9GUE1DX0RFTEVURRACKmcKD29mcF9tZXRlcl9mbGFncxIRCg1PRlBNRl9JTlZBTElEEAASDgoKT0ZQTUZfS0JQUxABEg8KC09GUE1GX1BLVFBTEAISDwoLT0ZQTUZfQlVSU1QQBBIPCgtPRlBNRl9TVEFUUxAIKqQDCg5vZnBfZXJyb3JfdHlwZRIWChJPRlBFVF9IRUxMT19GQUlMRUQQABIVChFPRlBFVF9CQURfUkVRVUVTVBABEhQKEE9GUEVUX0JBRF9BQ1RJT04QAhIZChVPRlBFVF9CQURfSU5TVFJVQ1RJT04QAxITCg9PRlBFVF9CQURfTUFUQ0gQBBIZChVPRlBFVF9GTE9XX01PRF9GQUlMRUQQBRIaChZPRlBFVF9HUk9VUF9NT0RfRkFJTEVEEAYSGQoVT0ZQRVRfUE9SVF9NT0RfRkFJTEVEEAcSGgoWT0ZQRVRfVEFCTEVfTU9EX0ZBSUxFRBAIEhkKFU9GUEVUX1FVRVVFX09QX0ZBSUxFRBAJEh4KGk9GUEVUX1NXSVRDSF9DT05GSUdfRkFJTEVEEAoSHQoZT0ZQRVRfUk9MRV9SRVFVRVNUX0ZBSUxFRBALEhoKFk9GUEVUX01FVEVSX01PRF9GQUlMRUQQDBIfChtPRlBFVF9UQUJMRV9GRUFUVVJFU19GQUlMRUQQDRIYChJPRlBFVF9FWFBFUklNRU5URVIQ//8DKkIKFW9mcF9oZWxsb19mYWlsZWRfY29kZRIXChNPRlBIRkNfSU5DT01QQVRJQkxFEAASEAoMT0ZQSEZDX0VQRVJNEAEq7QIKFG9mcF9iYWRfcmVxdWVzdF9jb2RlEhYKEk9GUEJSQ19CQURfVkVSU0lPThAAEhMKD09GUEJSQ19CQURfVFlQRRABEhgKFE9GUEJSQ19CQURfTVVMVElQQVJUEAISGwoXT0ZQQlJDX0JBRF9FWFBFUklNRU5URVIQAxIXChNPRlBCUkNfQkFEX0VYUF9UWVBFEAQSEAoMT0ZQQlJDX0VQRVJNEAUSEgoOT0ZQQlJDX0JBRF9MRU4QBhIXChNPRlBCUkNfQlVGRkVSX0VNUFRZEAcSGQoVT0ZQQlJDX0JVRkZFUl9VTktOT1dOEAgSFwoTT0ZQQlJDX0JBRF9UQUJMRV9JRBAJEhMKD09GUEJSQ19JU19TTEFWRRAKEhMKD09GUEJSQ19CQURfUE9SVBALEhUKEU9GUEJSQ19CQURfUEFDS0VUEAwSJAogT0ZQQlJDX01VTFRJUEFSVF9CVUZGRVJfT1ZFUkZMT1cQDSqcAwoTb2ZwX2JhZF9hY3Rpb25fY29kZRITCg9PRlBCQUNfQkFEX1RZUEUQABISCg5PRlBCQUNfQkFEX0xFThABEhsKF09GUEJBQ19CQURfRVhQRVJJTUVOVEVSEAISFwoTT0ZQQkFDX0JBRF9FWFBfVFlQRRADEhcKE09GUEJBQ19CQURfT1VUX1BPUlQQBBIXChNPRlBCQUNfQkFEX0FSR1VNRU5UEAUSEAoMT0ZQQkFDX0VQRVJNEAYSEwoPT0ZQQkFDX1RPT19NQU5ZEAcSFAoQT0ZQQkFDX0JBRF9RVUVVRRAIEhgKFE9GUEJBQ19CQURfT1VUX0dST1VQEAkSHQoZT0ZQQkFDX01BVENIX0lOQ09OU0lTVEVOVBAKEhwKGE9GUEJBQ19VTlNVUFBPUlRFRF9PUkRFUhALEhIKDk9GUEJBQ19CQURfVEFHEAwSFwoTT0ZQQkFDX0JBRF9TRVRfVFlQRRANEhYKEk9GUEJBQ19CQURfU0VUX0xFThAOEhsKF09GUEJBQ19CQURfU0VUX0FSR1VNRU5UEA8q+gEKGG9mcF9iYWRfaW5zdHJ1Y3Rpb25fY29kZRIXChNPRlBCSUNfVU5LTk9XTl9JTlNUEAASFQoRT0ZQQklDX1VOU1VQX0lOU1QQARIXChNPRlBCSUNfQkFEX1RBQkxFX0lEEAISGQoVT0ZQQklDX1VOU1VQX01FVEFEQVRBEAMSHgoaT0ZQQklDX1VOU1VQX01FVEFEQVRBX01BU0sQBBIbChdPRlBCSUNfQkFEX0VYUEVSSU1FTlRFUhAFEhcKE09GUEJJQ19CQURfRVhQX1RZUEUQBhISCg5PRlBCSUNfQkFEX0xFThAHEhAKDE9GUEJJQ19FUEVSTRAIKqUCChJvZnBfYmFkX21hdGNoX2NvZGUSEwoPT0ZQQk1DX0JBRF9UWVBFEAASEgoOT0ZQQk1DX0JBRF9MRU4QARISCg5PRlBCTUNfQkFEX1RBRxACEhsKF09GUEJNQ19CQURfRExfQUREUl9NQVNLEAMSGwoXT0ZQQk1DX0JBRF9OV19BRERSX01BU0sQBBIYChRPRlBCTUNfQkFEX1dJTERDQVJEUxAFEhQKEE9GUEJNQ19CQURfRklFTEQQBhIUChBPRlBCTUNfQkFEX1ZBTFVFEAcSEwoPT0ZQQk1DX0JBRF9NQVNLEAgSFQoRT0ZQQk1DX0JBRF9QUkVSRVEQCRIUChBPRlBCTUNfRFVQX0ZJRUxEEAoSEAoMT0ZQQk1DX0VQRVJNEAsq0gEKGG9mcF9mbG93X21vZF9mYWlsZWRfY29kZRITCg9PRlBGTUZDX1VOS05PV04QABIWChJPRlBGTUZDX1RBQkxFX0ZVTEwQARIYChRPRlBGTUZDX0JBRF9UQUJMRV9JRBACEhMKD09GUEZNRkNfT1ZFUkxBUBADEhEKDU9GUEZNRkNfRVBFUk0QBBIXChNPRlBGTUZDX0JBRF9USU1FT1VUEAUSFwoTT0ZQRk1GQ19CQURfQ09NTUFORBAGEhUKEU9GUEZNRkNfQkFEX0ZMQUdTEAcqoQMKGW9mcF9ncm91cF9tb2RfZmFpbGVkX2NvZGUSGAoUT0ZQR01GQ19HUk9VUF9FWElTVFMQABIZChVPRlBHTUZDX0lOVkFMSURfR1JPVVAQARIeChpPRlBHTUZDX1dFSUdIVF9VTlNVUFBPUlRFRBACEhkKFU9GUEdNRkNfT1VUX09GX0dST1VQUxADEhoKFk9GUEdNRkNfT1VUX09GX0JVQ0tFVFMQBBIgChxPRlBHTUZDX0NIQUlOSU5HX1VOU1VQUE9SVEVEEAUSHQoZT0ZQR01GQ19XQVRDSF9VTlNVUFBPUlRFRBAGEhAKDE9GUEdNRkNfTE9PUBAHEhkKFU9GUEdNRkNfVU5LTk9XTl9HUk9VUBAIEhkKFU9GUEdNRkNfQ0hBSU5FRF9HUk9VUBAJEhQKEE9GUEdNRkNfQkFEX1RZUEUQChIXChNPRlBHTUZDX0JBRF9DT01NQU5EEAsSFgoST0ZQR01GQ19CQURfQlVDS0VUEAwSFQoRT0ZQR01GQ19CQURfV0FUQ0gQDRIRCg1PRlBHTUZDX0VQRVJNEA4qjwEKGG9mcF9wb3J0X21vZF9mYWlsZWRfY29kZRIUChBPRlBQTUZDX0JBRF9QT1JUEAASFwoTT0ZQUE1GQ19CQURfSFdfQUREUhABEhYKEk9GUFBNRkNfQkFEX0NPTkZJRxACEhkKFU9GUFBNRkNfQkFEX0FEVkVSVElTRRADEhEKDU9GUFBNRkNfRVBFUk0QBCpdChlvZnBfdGFibGVfbW9kX2ZhaWxlZF9jb2RlEhUKEU9GUFRNRkNfQkFEX1RBQkxFEAASFgoST0ZQVE1GQ19CQURfQ09ORklHEAESEQoNT0ZQVE1GQ19FUEVSTRACKloKGG9mcF9xdWV1ZV9vcF9mYWlsZWRfY29kZRIUChBPRlBRT0ZDX0JBRF9QT1JUEAASFQoRT0ZQUU9GQ19CQURfUVVFVUUQARIRCg1PRlBRT0ZDX0VQRVJNEAIqXgodb2ZwX3N3aXRjaF9jb25maWdfZmFpbGVkX2NvZGUSFQoRT0ZQU0NGQ19CQURfRkxBR1MQABITCg9PRlBTQ0ZDX0JBRF9MRU4QARIRCg1PRlBTQ0ZDX0VQRVJNEAIqWgocb2ZwX3JvbGVfcmVxdWVzdF9mYWlsZWRfY29kZRIRCg1PRlBSUkZDX1NUQUxFEAASEQoNT0ZQUlJGQ19VTlNVUBABEhQKEE9GUFJSRkNfQkFEX1JPTEUQAirEAgoZb2ZwX21ldGVyX21vZF9mYWlsZWRfY29kZRITCg9PRlBNTUZDX1VOS05PV04QABIYChRPRlBNTUZDX01FVEVSX0VYSVNUUxABEhkKFU9GUE1NRkNfSU5WQUxJRF9NRVRFUhACEhkKFU9GUE1NRkNfVU5LTk9XTl9NRVRFUhADEhcKE09GUE1NRkNfQkFEX0NPTU1BTkQQBBIVChFPRlBNTUZDX0JBRF9GTEFHUxAFEhQKEE9GUE1NRkNfQkFEX1JBVEUQBhIVChFPRlBNTUZDX0JBRF9CVVJTVBAHEhQKEE9GUE1NRkNfQkFEX0JBTkQQCBIaChZPRlBNTUZDX0JBRF9CQU5EX1ZBTFVFEAkSGQoVT0ZQTU1GQ19PVVRfT0ZfTUVURVJTEAoSGAoUT0ZQTU1GQ19PVVRfT0ZfQkFORFMQCyqpAQoeb2ZwX3RhYmxlX2ZlYXR1cmVzX2ZhaWxlZF9jb2RlEhUKEU9GUFRGRkNfQkFEX1RBQkxFEAASGAoUT0ZQVEZGQ19CQURfTUVUQURBVEEQARIUChBPRlBURkZDX0JBRF9UWVBFEAISEwoPT0ZQVEZGQ19CQURfTEVOEAMSGAoUT0ZQVEZGQ19CQURfQVJHVU1FTlQQBBIRCg1PRlBURkZDX0VQRVJNEAUqzgIKEm9mcF9tdWx0aXBhcnRfdHlwZRIOCgpPRlBNUF9ERVNDEAASDgoKT0ZQTVBfRkxPVxABEhMKD09GUE1QX0FHR1JFR0FURRACEg8KC09GUE1QX1RBQkxFEAMSFAoQT0ZQTVBfUE9SVF9TVEFUUxAEEg8KC09GUE1QX1FVRVVFEAUSDwoLT0ZQTVBfR1JPVVAQBhIUChBPRlBNUF9HUk9VUF9ERVNDEAcSGAoUT0ZQTVBfR1JPVVBfRkVBVFVSRVMQCBIPCgtPRlBNUF9NRVRFUhAJEhYKEk9GUE1QX01FVEVSX0NPTkZJRxAKEhgKFE9GUE1QX01FVEVSX0ZFQVRVUkVTEAsSGAoUT0ZQTVBfVEFCTEVfRkVBVFVSRVMQDBITCg9PRlBNUF9QT1JUX0RFU0MQDRIYChJPRlBNUF9FWFBFUklNRU5URVIQ//8DKkoKG29mcF9tdWx0aXBhcnRfcmVxdWVzdF9mbGFncxIWChJPRlBNUEZfUkVRX0lOVkFMSUQQABITCg9PRlBNUEZfUkVRX01PUkUQASpMChlvZnBfbXVsdGlwYXJ0X3JlcGx5X2ZsYWdzEhgKFE9GUE1QRl9SRVBMWV9JTlZBTElEEAASFQoRT0ZQTVBGX1JFUExZX01PUkUQASrkAwobb2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF90eXBlEhgKFE9GUFRGUFRfSU5TVFJVQ1RJT05TEAASHQoZT0ZQVEZQVF9JTlNUUlVDVElPTlNfTUlTUxABEhcKE09GUFRGUFRfTkVYVF9UQUJMRVMQAhIcChhPRlBURlBUX05FWFRfVEFCTEVTX01JU1MQAxIZChVPRlBURlBUX1dSSVRFX0FDVElPTlMQBBIeChpPRlBURlBUX1dSSVRFX0FDVElPTlNfTUlTUxAFEhkKFU9GUFRGUFRfQVBQTFlfQUNUSU9OUxAGEh4KGk9GUFRGUFRfQVBQTFlfQUNUSU9OU19NSVNTEAcSEQoNT0ZQVEZQVF9NQVRDSBAIEhUKEU9GUFRGUFRfV0lMRENBUkRTEAoSGgoWT0ZQVEZQVF9XUklURV9TRVRGSUVMRBAMEh8KG09GUFRGUFRfV1JJVEVfU0VURklFTERfTUlTUxANEhoKFk9GUFRGUFRfQVBQTFlfU0VURklFTEQQDhIfChtPRlBURlBUX0FQUExZX1NFVEZJRUxEX01JU1MQDxIaChRPRlBURlBUX0VYUEVSSU1FTlRFUhD+/wMSHwoZT0ZQVEZQVF9FWFBFUklNRU5URVJfTUlTUxD//wMqkwEKFm9mcF9ncm91cF9jYXBhYmlsaXRpZXMSEgoOT0ZQR0ZDX0lOVkFMSUQQABIYChRPRlBHRkNfU0VMRUNUX1dFSUdIVBABEhoKFk9GUEdGQ19TRUxFQ1RfTElWRU5FU1MQAhITCg9PRlBHRkNfQ0hBSU5JTkcQBBIaChZPRlBHRkNfQ0hBSU5JTkdfQ0hFQ0tTEAgqawoUb2ZwX3F1ZXVlX3Byb3BlcnRpZXMSEQoNT0ZQUVRfSU5WQUxJRBAAEhIKDk9GUFFUX01JTl9SQVRFEAESEgoOT0ZQUVRfTUFYX1JBVEUQAhIYChJPRlBRVF9FWFBFUklNRU5URVIQ//8DKnEKE29mcF9jb250cm9sbGVyX3JvbGUSFwoTT0ZQQ1JfUk9MRV9OT0NIQU5HRRAAEhQKEE9GUENSX1JPTEVfRVFVQUwQARIVChFPRlBDUl9ST0xFX01BU1RFUhACEhQKEE9GUENSX1JPTEVfU0xBVkUQA0I5Wjdnb3BrZy5pbi9kYmFpbmJyaS1jaWVuYS92b2x0aGEtcHJvdG9zLnYxL2dvL29wZW5mbG93XzEzSu6xBgoHEgU5AIUSAQrkFAoBDBIDOQASGvkGCiBUaGlzIGlzIGEgcmVsYXRpdmVseSBzdHJhaWdodGZvcndhcmQgcmVuZGVyaW5nIG9mIE9wZW5GbG93IG1lc3NhZ2UKIGRlZmluaXRpb25zIGludG8gcHJvdG9jb2wgYnVmZmVyIG1lc3NhZ2VzLiBXZSBwcmVzZXJ2ZWQgdGhlIHNuYWtlCiBjYXNlIHN5bnRheCwgYW5kIG1hZGUgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgogLSBhbGwgcGFkIGZpZWxkcyBkcm9wcGVkCiAtIGZvciBlYWNoIGVudW0gdmFsdWUgYWJvdmUgMHg3ZmZmZmZmZiB0aGUgTVNCIGlzIGRyb3BwZWQuIEZvciBleGFtcGxlLAogICAweGZmZmZmZmZmIGlzIG5vdyAweDdmZmZmZmZmLgogLSAnPHR5cGU+IHRoaW5nWy4uLl0nIGlzIHJlcGxhY2VkIHdpdGggJ3JlcGVhdGVkIDx0eXBlPiB0aGluZycKIC0gJ2NoYXIgdGhpbmdbLi4uXScgaXMgcmVwbGFjZWQgd2l0aCAnc3RyaW5nIHRoaW5nJwogLSAndWludDhfdCBkYXRhWy4uLl0nIGlzIHJlcGxhY2VkIHdpdGggJ2J5dGVzIGRhdGEnCiAtIHRoZSBmb2xsb3dpbmcgc3lzdGVtYXRpYyBjaGFuZ2VzIGFyZSBkb25lIHRvIHZhcmlvdXMgaW50ZWdlciB0eXBlczoKICAgdWludDhfdCAgLT4gdWludDMyCiAgIHVpbnQxNl90IC0+IHVpbnQzMgogICB1aW50MzJfdCAtPiB1aW50MzIKICAgdWludDY0X3QgLT4gdWludDY0CiAtIHJlbW92ZWQgbW9zdCBsZW5ndGgsIGxlbiwgc2l6ZSBmaWVsZHMgd2hlcmUgdGhlc2UgdmFsdWVzIGNhbiBiZSBkZXRlcm1pbmVkCiAgIGZyb20gdGhlIGV4cGxpY2l0bHkgZW5jb2RlZCBsZW5ndGggb2YgInJlcGVhdGVkIiBwcm90b2J1ZiBmaWVsZHMuCiAtIGV4cGxpY2l0IHVzZSBvZiBlbnVtIHR5cGVzIHdoZXJlZXZlciBpdCBpcyB1bmFtYmlnb3VzIChhbmQgbm90IHVzZWQgYXMKICAgYml0bWFzay9mbGFncyB2YWx1ZS4KCjKmDSBDb3B5cmlnaHQgKGMpIDIwMDggVGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIFRoZSBMZWxhbmQgU3RhbmZvcmQKIEp1bmlvciBVbml2ZXJzaXR5CiBDb3B5cmlnaHQgKGMpIDIwMTEsIDIwMTIgT3BlbiBOZXR3b3JraW5nIEZvdW5kYXRpb24KCiBXZSBhcmUgbWFraW5nIHRoZSBPcGVuRmxvdyBzcGVjaWZpY2F0aW9uIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KIChTb2Z0d2FyZSkgYXZhaWxhYmxlIGZvciBwdWJsaWMgdXNlIGFuZCBiZW5lZml0IHdpdGggdGhlIGV4cGVjdGF0aW9uCiB0aGF0IG90aGVycyB3aWxsIHVzZSwgbW9kaWZ5IGFuZCBlbmhhbmNlIHRoZSBTb2Z0d2FyZSBhbmQgY29udHJpYnV0ZQogdGhvc2UgZW5oYW5jZW1lbnRzIGJhY2sgdG8gdGhlIGNvbW11bml0eS4gSG93ZXZlciwgc2luY2Ugd2Ugd291bGQKIGxpa2UgdG8gbWFrZSB0aGUgU29mdHdhcmUgYXZhaWxhYmxlIGZvciBicm9hZGVzdCB1c2UsIHdpdGggYXMgZmV3CiByZXN0cmljdGlvbnMgYXMgcG9zc2libGUgcGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZgogY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBTb2Z0d2FyZSB0byBkZWFsIGluCiB0aGUgU29mdHdhcmUgdW5kZXIgdGhlIGNvcHlyaWdodHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiBTT0ZUV0FSRS4KCiBUaGUgbmFtZSBhbmQgdHJhZGVtYXJrcyBvZiBjb3B5cmlnaHQgaG9sZGVyKHMpIG1heSBOT1QgYmUgdXNlZCBpbgogYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gdGhlIFNvZnR3YXJlIG9yIGFueQogZGVyaXZhdGl2ZXMgd2l0aG91dCBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLgoyNSBPcGVuRmxvdzogcHJvdG9jb2wgYmV0d2VlbiBjb250cm9sbGVyIGFuZCBkYXRhcGF0aC4gCggKAQgSAzsATgoJCgIICxIDOwBOCggKAQISAz0AFAoJCgIDABIDPwAmCgkKAgMBEgNAADEKCQoCCgASA0AHDQqmBAoCBQASBFUAagEaNSBQb3J0IG51bWJlcmluZy4gUG9ydHMgYXJlIG51bWJlcmVkIHN0YXJ0aW5nIGZyb20gMS4gMmMgVmVyc2lvbiBudW1iZXI6CiBPcGVuRmxvdyB2ZXJzaW9ucyByZWxlYXNlZDogMHgwMSA9IDEuMCA7IDB4MDIgPSAxLjEgOyAweDAzID0gMS4yCiAgICAgMHgwNCA9IDEuMwoyVSBUaGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIHZlcnNpb24gZmllbGQgaXMgcmVzZXJ2ZWQgYW5kIG11c3QKIGJlIHNldCB0byB6ZXJvLgoyeiNkZWZpbmUgT0ZQX1ZFUlNJT04gICAweDA0CiNkZWZpbmUgUElQRUxJTkVfVEFCTEVTIDY0CiNkZWZpbmUgT0ZQX01BWF9UQUJMRV9OQU1FX0xFTiAzMgojZGVmaW5lIE9GUF9NQVhfUE9SVF9OQU1FX0xFTiAgMTYKMi0gT2ZmaWNpYWwgSUFOQSByZWdpc3RlcmVkIHBvcnQgZm9yIE9wZW5GbG93LiAyNiNkZWZpbmUgT0ZQX1RDUF9QT1JUICA2NjUzCiNkZWZpbmUgT0ZQX1NTTF9QT1JUICA2NjUzCjJEI2RlZmluZSBPRlBfRVRIX0FMRU4gNiAgICAgICAgICAvKiBCeXRlcyBpbiBhbiBFdGhlcm5ldCBhZGRyZXNzLiAqLwoKCgoDBQABEgNVBRAKCwoEBQACABIDVgQYCgwKBQUAAgABEgNWBBAKDAoFBQACAAISA1YWFwpDCgQFAAIBEgNZBCEaNiBNYXhpbXVtIG51bWJlciBvZiBwaHlzaWNhbCBhbmQgbG9naWNhbCBzd2l0Y2ggcG9ydHMuIAoMCgUFAAIBARIDWQQMCgwKBQUAAgECEgNZFiAKvAEKBAUAAgISA1wEIRovIFJlc2Vy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bGFzc2VzLgogQ2xhc3NlcyAweDAwMDAgdG8gMHg3RkZGIGFyZSBtZW1iZXIgY2xhc3NlcywgYWxsb2NhdGVkIGJ5IE9ORi4KIENsYXNzZXMgMHg4MDAwIHRvIDB4RkZGRSBhcmUgcmVzZXJ2ZWQgY2xhc3NlcywgcmVzZXJ2ZWQgZm9yIHN0YW5kYXJkaXNhdGlvbi4KMqkBIENvbXBvbmVudHMgb2YgYSBPWE0gVExWIGhlYWRlci4KIFRob3NlIG1hY3JvcyBhcmUgbm90IHZhbGlkIGZvciB0aGUgZXhwZXJpbWVudGVyIGNsYXNzLCBtYWNyb3MgZm9yIHRoZQogZXhwZXJpbWVudGVyIGNsYXNzIHdpbGwgZGVwZW5kIG9uIHRoZSBleHBlcmltZW50ZXIgaGVhZGVyIHVzZWQuIDKTBSNkZWZpbmUgT1hNX0hFQURFUl9fKENMQVNTLCBGSUVMRCwgSEFTTUFTSywgTEVOR1RIKSBcCiAgICAoKChDTEFTUykgPDwgMTYpIHwgKChGSUVMRCkgPDwgOSkgfCAoKEhBU01BU0spIDw8IDgpIHwgKExFTkdUSCkpCiNkZWZpbmUgT1hNX0hFQURFUihDTEFTUywgRklFTEQsIExFTkdUSCkgXAogICAgT1hNX0hFQURFUl9fKENMQVNTLCBGSUVMRCwgMCwgTEVOR1RIKQojZGVmaW5lIE9YTV9IRUFERVJfVyhDTEFTUywgRklFTEQsIExFTkdUSCkgXAogICAgT1hNX0hFQURFUl9fKENMQVNTLCBGSUVMRCwgMSwgKExFTkdUSCkgKiAyKQojZGVmaW5lIE9YTV9DTEFTUyhIRUFERVIpICgoSEVBREVSKSA+PiAxNikKI2RlZmluZSBPWE1fRklFTEQoSEVBREVSKSAoKChIRUFERVIpID4+IDkpICYgMHg3ZikKI2RlZmluZSBPWE1fVFlQRShIRUFERVIpICgoKEhFQURFUikgPj4gOSkgJiAweDdmZmZmZikKI2RlZmluZSBPWE1fSEFTTUFTSyhIRUFERVIpICgoKEhFQURFUikgPj4gOCkgJiAxKQojZGVmaW5lIE9YTV9MRU5HVEgoSEVBREVSKSAoKEhFQURFUikgJiAweGZmKQoKI2RlZmluZSBPWE1fTUFLRV9XSUxEX0hFQURFUihI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Cg0KBQQMAgAGEgTcAwQXCg0KBQQMAgABEgTcAxgcCg0KBQQMAgADEgTcAx8gCgwKBAQMAgESBN0DBBYKDwoFBAwCAQQSBt0DBNwDIQoNCgUEDAIBBRIE3QMECAoNCgUEDAIBARIE3QMJEQoNCgUEDAIBAxIE3QMUFQoOCgQEDAgAEgbeAwSaBwUKDQoFBAwIAAESBN4DCg8KygIKBAQMAgISBOkDCBgaRiNkZWZpbmUgT1hNX09GX0lOX1BPUlQgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JTl9QT1JULCA0KQoiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX0lOX1BPUlQgMtQBIE9wZW5GbG93IHBvcnQgb24gd2hpY2ggdGhlIHBhY2tldCB3YXMgcmVjZWl2ZWQuCiBNYXkgYmUgYSBwaHlzaWNhbCBwb3J0LCBhIGxvZ2ljYWwgcG9ydCwgb3IgdGhlIHJlc2VydmVkIHBvcnQgT0ZQUF9MT0NBTAoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCAgUSBOkDCA4KDQoFBAwCAgESBOkDDxMKDQoFBAwCAgMSBOkDFhcKtwcKBAQMAgMSBIAECCEaSyNkZWZpbmUgT1hNX09GX0lOX1BIWV9QT1JUIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSU5fUEhZX1BPUlQsIDQpCiIgIFVzZWQgZm9yIE9GUFhNVF9PRl9JTl9QSFlfUE9SVCAyuQYgUGh5c2ljYWwgcG9ydCBvbiB3aGljaCB0aGUgcGFja2V0IHdhcyByZWNlaXZlZC4KCiBDb25zaWRlciBhIHBhY2tldCByZWNlaXZlZCBvbiBhIHR1bm5lbCBpbnRlcmZhY2UgZGVmaW5lZCBvdmVyIGEgbGluawogYWdncmVnYXRpb24gZ3JvdXAgKExBRykgd2l0aCB0d28gcGh5c2ljYWwgcG9ydCBtZW1iZXJzLiAgSWYgdGhlIHR1bm5lbAogaW50ZXJmYWNlIGlzIHRoZSBsb2dpY2FsIHBvcnQgYm91bmQgdG8gT3BlbkZsb3cuICBJbiB0aGlzIGNhc2UsCiBPRlBYTVRfT0ZfSU5fUE9SVCBpcyB0aGUgdHVubmVsJ3MgcG9ydCBudW1iZXIgYW5kIE9GUFhNVF9PRl9JTl9QSFlfUE9SVCBpcwogdGhlIHBoeXNpY2FsIHBvcnQgbnVtYmVyIG9mIHRoZSBMQUcgb24gd2hpY2ggdGhlIHR1bm5lbCBpcyBjb25maWd1cmVkLgoKIFdoZW4gYSBwYWNrZXQgaXMgcmVjZWl2ZWQgZGlyZWN0bHkgb24gYSBwaHlzaWNhbCBwb3J0IGFuZCBub3QgcHJvY2Vzc2VkIGJ5IGEKIGxvZ2ljYWwgcG9ydCwgT0ZQWE1UX09GX0lOX1BPUlQgYW5kIE9GUFhNVF9PRl9JTl9QSFlfUE9SVCBoYXZlIHRoZSBzYW1lCiB2YWx1ZS4KCiBUaGlzIGZpZWxkIGlzIHVzdWFsbHkgbm90IGF2YWlsYWJsZSBpbiBhIHJlZ3VsYXIgbWF0Y2ggYW5kIG9ubHkgYXZhaWxhYmxlCiBpbiBvZnBfcGFja2V0X2luIG1lc3NhZ2VzIHdoZW4gaXQncyBkaWZmZXJlbnQgZnJvbSBPWE1fT0ZfSU5fUE9SVC4KCiBQcmVyZXFzOiBPWE1fT0ZfSU5fUE9SVCBtdXN0IGJlIHByZXNlbnQuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCAwUSBIAECA4KDQoFBAwCAwESBIAEDxwKDQoFBAwCAwMSBIAEHyAKrQIKBAQMAgQSBIwECCIajgEjZGVmaW5lIE9YTV9PRl9NRVRBREFUQSAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfTUVUQURBVEEsIDgpCiNkZWZpbmUgT1hNX09GX01FVEFEQVRBX1cgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9NRVRBREFUQSwgOCkKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9NRVRBREFUQSAybiBUYWJsZSBtZXRhZGF0YS4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogNjQtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCg0KBQQMAgQFEgSMBAgOCg0KBQQMAgQBEgSMBA8dCg0KBQQMAgQDEgSMBCAhCuIDCgQEDAIFEgSZBAgaGpgCI2RlZmluZSBPWE1fT0ZfRVRIX0RTVCAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0VUSF9EU1QsIDYpCiNkZWZpbmUgT1hNX09GX0VUSF9EU1RfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfRFNULCA2KQojZGVmaW5lIE9YTV9PRl9FVEhfU1JDICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfRVRIX1NSQywgNikKI2RlZmluZSBPWE1fT0ZfRVRIX1NSQ19XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0VUSF9TUkMsIDYpCiIvIFVzZWQgZm9yIE9GUFhNVF9PRkJfRVRIX0RTVCAoZXhhY3RseSA2IGJ5dGVzKSAyhwEgU291cmNlIG9yIGRlc3RpbmF0aW9uIGFkZHJlc3MgaW4gRXRoZXJuZXQgaGVhZGVyLgoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiA0OC1iaXQgRXRoZXJuZXQgTUFDIGFkZHJlc3MuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLiAKDQoFBAwCBQUSBJkECA0KDQoFBAwCBQESBJkEDhUKDQoFBAwCBQMSBJkEGBkKPQoEBAwCBhIEmgQIGiIvIFVzZWQgZm9yIE9GUFhNVF9PRkJfRVRIX1NSQyAoZXhhY3RseSA2IGJ5dGVzKSAKDQoFBAwCBgUSBJoECA0KDQoFBAwCBgESBJoEDhUKDQoFBAwCBgMSBJoEGBkK6QEKBAQMAgcSBKQECBwaRiNkZWZpbmUgT1hNX09GX0VUSF9UWVBFICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfVFlQRSwyKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX0VUSF9UWVBFIDJzIFBhY2tldCdzIEV0aGVybmV0IHR5cGUuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIHBRIEpAQIDgoNCgUEDAIHARIEpAQPFwoNCgUEDAIHAxIEpAQaGwqDCwoEBAwCCBIEygQIHBqOASNkZWZpbmUgT1hNX09GX1ZMQU5fVklEICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9WTEFOX1ZJRCwgMikKI2RlZmluZSBPWE1fT0ZfVkxBTl9WSURfVyBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX1ZMQU5fVklELCAyKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX1ZMQU5fVklEIDLDCSA4MDIuMVEgVklELgoKIEZvciBhIHBhY2tldCB3aXRoIGFuIDgwMi4xUSBoZWFkZXIsIHRoaXMgaXMgdGhlIFZMQU4tSUQgKFZJRCkgZnJvbSB0aGUKIG91dGVybW9zdCB0YWcsIHdpdGggdGhlIENGSSBiaXQgZm9yY2VkIHRvIDEuIEZvciBhIHBhY2tldCB3aXRoIG5vIDgwMi4xUQogaGVhZGVyLCB0aGlzIGhhcyB2YWx1ZSBPRlBWSURfTk9ORS4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyIHdpdGggYml0IDEzIGluZGljYXRpbmcKIHByZXNlbmNlIG9mIFZMQU4gaGVhZGVyIGFuZCAzIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDEzIGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCiBUaGlzIGZpZWxkIGNhbiBiZSB1c2VkIGluIHZhcmlvdXMgd2F5czoKCiAgIC0gSWYgaXQgaXMgbm90IGNvbnN0cmFpbmVkIGF0IGFsbCwgdGhlIG54X21hdGNoIG1hdGNoZXMgcGFja2V0cyB3aXRob3V0CiAgICAgYW4gODAyLjFRIGhlYWRlciBvciB3aXRoIGFuIDgwMi4xUSBoZWFkZXIgdGhhdCBoYXMgYW55IFZJRCB2YWx1ZS4KCiAgIC0gVGVzdGluZyBmb3IgYW4gZXhhY3QgbWF0Y2ggd2l0aCAweDAgbWF0Y2hlcyBvbmx5IHBhY2tldHMgd2l0aG91dAogICAgIGFuIDgwMi4xUSBoZWFkZXIuCgogICAtIFRlc3RpbmcgZm9yIGFuIGV4YWN0IG1hdGNoIHdpdGggYSBWSUQgdmFsdWUgd2l0aCBDRkk9MSBtYXRjaGVzIHBhY2tldHMKICAgICB0aGF0IGhhdmUgYW4gODAyLjFRIGhlYWRlciB3aXRoIGEgc3BlY2lmaWVkIFZJRC4KCiAgIC0gVGVzdGluZyBmb3IgYW4gZXhhY3QgbWF0Y2ggd2l0aCBhIG5vbnplcm8gVklEIHZhbHVlIHdpdGggQ0ZJPTAgZG9lcwogICAgIG5vdCBtYWtlIHNlbnNlLiAgVGhlIHN3aXRjaCBtYXkgcmVqZWN0IHRoaXMgY29tYmluYXRpb24uCgogICAtIFRlc3Rpbmcgd2l0aCBueG1fdmFsdWU9MCwgbnhtX21hc2s9MHgwZmZmIG1hdGNoZXMgcGFja2V0cyB3aXRoIG5vIDgwMi4xUQogICAgIGhlYWRlciBvciB3aXRoIGFuIDgwMi4xUSBoZWFkZXIgd2l0aCBhIFZJRCBvZiAwLgoKICAgLSBUZXN0aW5nIHdpdGggbnhtX3ZhbHVlPTB4MTAwMCwgbnhtX21hc2s9MHgxMDAwIG1hdGNoZXMgcGFja2V0cyB3aXRoCiAgICAgYW4gODAyLjFRIGhlYWRlciB0aGF0IGhhcyBhbnkgVklEIHZhbHVlLgoKDQoFBAwCCAUSBMoECA4KDQoFBAwCCAESBMoEDxcKDQoFBAwCCAMSBMoEGhsK0AMKBAQMAgkSBNoECB0aRyNkZWZpbmUgT1hNX09GX1ZMQU5fUENQICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9WTEFOX1BDUCwgMSkKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9WTEFOX1BDUCAy2AIgODAyLjFRIFBDUC4KCiBGb3IgYSBwYWNrZXQgd2l0aCBhbiA4MDIuMVEgaGVhZGVyLCB0aGlzIGlzIHRoZSBWTEFOLVBDUCBmcm9tIHRoZQogb3V0ZXJtb3N0IHRhZy4gIEZvciBhIHBhY2tldCB3aXRoIG5vIDgwMi4xUSBoZWFkZXIsIHRoaXMgaGFzIHZhbHVlCiAwLgoKIFByZXJlcXM6IE9YTV9PRl9WTEFOX1ZJRCBtdXN0IGJlIGRpZmZlcmVudCBmcm9tIE9GUFZJRF9OT05FLgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDUgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMyBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuCgoNCgUEDAIJBRIE2gQIDgoNCgUEDAIJARIE2gQPFwoNCgUEDAIJAxIE2gQaHAqoAwoEBAwCChIE5gQIHBpHI2RlZmluZSBPWE1fT0ZfSVBfRFNDUCAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUF9EU0NQLCAxKQoiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQX0RTQ1AgMrECIFRoZSBEaWZmIFNlcnYgQ29kZSBQb2ludCAoRFNDUCkgYml0cyBvZiB0aGUgSVAgaGVhZGVyLgogUGFydCBvZiB0aGUgSVB2NCBUb1MgZmllbGQgb3IgdGhlIElQdjYgVHJhZmZpYyBDbGFzcyBmaWVsZC4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBiZSBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIgd2l0aCAyIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDYgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCCgUSBOYECA4KDQoFBAwCCgESBOYEDxYKDQoFBAwCCgMSBOYEGRsKjQMKBAQMAgsSBPIECBsaRSNkZWZpbmUgT1hNX09GX0lQX0VDTiAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUF9FQ04sIDEpCiIcIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBfRUNOIDKZAiBUaGUgRUNOIGJpdHMgb2YgdGhlIElQIGhlYWRlci4KIFBhcnQgb2YgdGhlIElQdjQgVG9TIGZpZWxkIG9yIHRoZSBJUHY2IFRyYWZmaWMgQ2xhc3MgZmllbGQuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgYmUgZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyIHdpdGggNiBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciAyIGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAgsFEgTyBAgOCg0KBQQMAgsBEgTyBA8VCg0KBQQMAgsDEgTyBBgaCo0CCgQEDAIMEgT8BAgdGkcjZGVmaW5lIE9YTV9PRl9JUF9QUk9UTyAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBfUFJPVE8sIDEpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBfUFJPVE8gMpUBIFRoZSAicHJvdG9jb2wiIGJ5dGUgaW4gdGhlIElQIGhlYWRlci4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBiZSBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCDAUSBPwECA4KDQoFBAwCDAESBPwEDxcKDQoFBAwCDAMSBPwEGhwKjQQKBAQMAg0SBIoFCB0apAIjZGVmaW5lIE9YTV9PRl9JUFY0X1NSQyAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY0X1NSQywgNCkKI2RlZmluZSBPWE1fT0ZfSVBWNF9TUkNfVyAgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNF9TUkMsIDQpCiNkZWZpbmUgT1hNX09GX0lQVjRfRFNUICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjRfRFNULCA0KQojZGVmaW5lIE9YTV9PRl9JUFY0X0RTVF9XICAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY0X0RTVCwgNCkKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9JUFY0X1NSQyAytwEgVGhlIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBhZGRyZXNzIGluIHRoZSBJUCBoZWFkZXIuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHgwODAwIGV4YWN0bHkuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKDQoFBAwCDQUSBIoFCA4KDQoFBAwCDQESBIoFDxcKDQoFBAwCDQMSBIoFGhwKLAoEBAwCDhIEiwUIHSIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBWNF9EU1QgCg0KBQQMAg4FEgSLBQgOCg0KBQQMAg4BEgSLBQ8XCg0KBQQMAg4DEgSLBRocCqEDCgQEDAIPEgSYBQgcGowBI2RlZmluZSBPWE1fT0ZfVENQX1NSQyAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1RDUF9TUkMsIDIpCiNkZWZpbmUgT1hNX09GX1RDUF9EU1QgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9UQ1BfRFNULCAyKQoiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX1RDUF9TUkMgMuQBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcG9ydCBpbiB0aGUgVENQIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBiZSBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggNiBleGFjdGx5LgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAg8FEgSYBQgOCg0KBQQMAg8BEgSYBQ8WCg0KBQQMAg8DEgSYBRkbCisKBAQMAhASBJkFCBwiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX1RDUF9EU1QgCg0KBQQMAhAFEgSZBQgOCg0KBQQMAhABEgSZBQ8WCg0KBQQMAhADEgSZBRkbCqUDCgQEDAIREgSmBQgcGowBI2RlZmluZSBPWE1fT0ZfVURQX1NSQyAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1VEUF9TUkMsIDIpCiNkZWZpbmUgT1hNX09GX1VEUF9EU1QgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9VRFBfRFNULCAyKQoiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX1VEUF9TUkMgMugBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcG9ydCBpbiB0aGUgVURQIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggMTcgZXhhY3RseS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIRBRIEpgUIDgoNCgUEDAIRARIEpgUPFgoNCgUEDAIRAxIEpgUZGworCgQEDAISEgSnBQgcIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9VRFBfRFNUIAoNCgUEDAISBRIEpwUIDgoNCgUEDAISARIEpwUPFgoNCgUEDAISAxIEpwUZGwqqAwoEBAwCExIEtAUIHRqOASNkZWZpbmUgT1hNX09GX1NDVFBfU1JDICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9TQ1RQX1NSQywgMikKI2RlZmluZSBPWE1fT0ZfU0NUUF9EU1QgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1NDVFBfRFNULCAyKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX1NDVFBfU1JDIDLqASBUaGUgc291cmNlIG9yIGRlc3RpbmF0aW9uIHBvcnQgaW4gdGhlIFNDVFAgaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIGVpdGhlciAweDA4MDAgb3IgMHg4NmRkLgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCAxMzIgZXhhY3RseS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAITBRIEtAUIDgoNCgUEDAITARIEtAUPFwoNCgUEDAITAxIEtAUaHAosCgQEDAIUEgS1BQgdIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9TQ1RQX0RTVCAKDQoFBAwCFAUSBLUFCA4KDQoFBAwCFAESBLUFDxcKDQoFBAwCFAMSBLUFGhwKhwMKBAQMAhUSBMIFCCAamAEjZGVmaW5lIE9YTV9PRl9JQ01QVjRfVFlQRSAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JQ01QVjRfVFlQRSwgMSkKI2RlZmluZSBPWE1fT0ZfSUNNUFY0X0NPREUgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSUNNUFY0X0NPREUsIDEpCiIhIFVzZWQgZm9yIE9GUFhNVF9PRkJfSUNNUFY0X1RZUEUgMroBIFRoZSB0eXBlIG9yIGNvZGUgaW4gdGhlIElDTVAgaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwMCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCAxIGV4YWN0bHkuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAhUFEgTCBQgOCg0KBQQMAhUBEgTCBQ8aCg0KBQQMAhUDEgTCBR0fCi8KBAQMAhYSBMMFCCAiISBVc2VkIGZvciBPRlBYTVRfT0ZCX0lDTVBWNF9DT0RFIAoNCgUEDAIWBRIEwwUIDgoNCgUEDAIWARIEwwUPGgoNCgUEDAIWAxIEwwUdHwrVAgoEBAwCFxIE0AUIGxpFI2RlZmluZSBPWE1fT0ZfQVJQX09QICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9PUCwgMikKIhwgVXNlZCBmb3IgT0ZQWE1UX09GQl9BUlBfT1AgMuEBIEFSUCBvcGNvZGUuCgogRm9yIGFuIEV0aGVybmV0K0lQIEFSUCBwYWNrZXQsIHRoZSBvcGNvZGUgaW4gdGhlIEFSUCBoZWFkZXIuICBBbHdheXMgMAogb3RoZXJ3aXNlLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwNiBleGFjdGx5LgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAhcFEgTQBQgOCg0KBQQMAhcBEgTQBQ8VCg0KBQQMAhcDEgTQBRgaCrUECgQEDAIYEgTfBQgcGpgCI2RlZmluZSBPWE1fT0ZfQVJQX1NQQSAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9TUEEsIDQpCiNkZWZpbmUgT1hNX09GX0FSUF9TUEFfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfU1BBLCA0KQojZGVmaW5lIE9YTV9PRl9BUlBfVFBBICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1RQQSwgNCkKI2RlZmluZSBPWE1fT0ZfQVJQX1RQQV9XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9UUEEsIDQpCiIYIEZvciBPRlBYTVRfT0ZCX0FSUF9TUEEgMvEBIEZvciBhbiBFdGhlcm5ldCtJUCBBUlAgcGFja2V0LCB0aGUgc291cmNlIG9yIHRhcmdldCBwcm90b2NvbCBhZGRyZXNzCiBpbiB0aGUgQVJQIGhlYWRlci4gIEFsd2F5cyAwIG90aGVyd2lzZS4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDA4MDYgZXhhY3RseS4KCiBGb3JtYXQ6IDMyLWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDAIYBRIE3wUIDgoNCgUEDAIYARIE3wUPFgoNCgUEDAIYAxIE3wUZGwomCgQEDAIZEgTgBQgcIhggRm9yIE9GUFhNVF9PRkJfQVJQX1RQQSAKDQoFBAwCGQUSBOAFCA4KDQoFBAwCGQESBOAFDxYKDQoFBAwCGQMSBOAFGRsKtwQKBAQMAhoSBO4FCBsanAIjZGVmaW5lIE9YTV9PRl9BUlBfU0hBICAgIE9YTV9IRUFERVIgICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9TSEEsIDYpCiNkZWZpbmUgT1hNX09GX0FSUF9TSEFfVyAgT1hNX0hFQURFUl9XICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1NIQSwgNikKI2RlZmluZSBPWE1fT0ZfQVJQX1RIQSAgICBPWE1fSEVBREVSICAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfVEhBLCA2KQojZGVmaW5lIE9YTV9PRl9BUlBfVEhBX1cgIE9YTV9IRUFERVJfVyAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9USEEsIDYpCiIiIEZvciBPRlBYTVRfT0ZCX0FSUF9TSEEgKDYgYnl0ZXMpIDLlASBGb3IgYW4gRXRoZXJuZXQrSVAgQVJQIHBhY2tldCwgdGhlIHNvdXJjZSBvciB0YXJnZXQgaGFyZHdhcmUgYWRkcmVzcwogaW4gdGhlIEFSUCBoZWFkZXIuICBBbHdheXMgMCBvdGhlcndpc2UuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHgwODA2IGV4YWN0bHkuCgogRm9ybWF0OiA0OC1iaXQgRXRoZXJuZXQgTUFDIGFkZHJlc3MuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCGgUSBO4FCA0KDQoFBAwCGgESBO4FDhUKDQoFBAwCGgMSBO4FGBoKMAoEBAwCGxIE7wUIGyIiIEZvciBPRlBYTVRfT0ZCX0FSUF9USEEgKDYgYnl0ZXMpIAoNCgUEDAIbBRIE7wUIDQoNCgUEDAIbARIE7wUOFQoNCgUEDAIbAxIE7wUYGgr6AwoEBAwCHBIE/QUIHBqkAiNkZWZpbmUgT1hNX09GX0lQVjZfU1JDICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9TUkMsIDE2KQojZGVmaW5lIE9YTV9PRl9JUFY2X1NSQ19XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfU1JDLCAxNikKI2RlZmluZSBPWE1fT0ZfSVBWNl9EU1QgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0RTVCwgMTYpCiNkZWZpbmUgT1hNX09GX0lQVjZfRFNUX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9EU1QsIDE2KQoiGSBGb3IgT0ZQWE1UX09GQl9JUFY2X1NSQyAyqQEgVGhlIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBhZGRyZXNzIGluIHRoZSBJUHY2IGhlYWRlci4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseS4KCiBGb3JtYXQ6IDEyOC1iaXQgSVB2NiBhZGRyZXNzLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCg0KBQQMAhwFEgT9BQgNCg0KBQQMAhwBEgT9BQ4WCg0KBQQMAhwDEgT9BRkbCicKBAQMAh0SBP4FCBwiGSBGb3IgT0ZQWE1UX09GQl9JUFY2X0RTVCAKDQoFBAwCHQUSBP4FCA0KDQoFBAwCHQESBP4FDhYKDQoFBAwCHQMSBP4FGRsKnQMKBAQMAh4SBIwGCCAamgEjZGVmaW5lIE9YTV9PRl9JUFY2X0ZMQUJFTCAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9GTEFCRUwsIDQpCiNkZWZpbmUgT1hNX09GX0lQVjZfRkxBQkVMX1cgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0ZMQUJFTCwgNCkKIhwgRm9yIE9GUFhNVF9PRkJfSVBWNl9GTEFCRUwgMtMBIFRoZSBJUHY2IEZsb3cgTGFiZWwKCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseQoKIEZvcm1hdDogMzItYml0IGludGVnZXIgd2l0aCAxMiBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciAyMCBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDAIeBRIEjAYIDgoNCgUEDAIeARIEjAYPGgoNCgUEDAIeAxIEjAYdHwqDAwoEBAwCHxIEmQYIIBqWASNkZWZpbmUgT1hNX09GX0lDTVBWNl9UWVBFIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSUNNUFY2X1RZUEUsIDEpCiNkZWZpbmUgT1hNX09GX0lDTVBWNl9DT0RFIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSUNNUFY2X0NPREUsIDEpCiIcIEZvciBPRlBYTVRfT0ZCX0lDTVBWNl9UWVBFIDK9ASBUaGUgdHlwZSBvciBjb2RlIGluIHRoZSBJQ01QdjYgaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA1OCBleGFjdGx5LgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIfBRIEmQYIDgoNCgUEDAIfARIEmQYPGgoNCgUEDAIfAxIEmQYdHwoqCgQEDAIgEgSaBgggIhwgRm9yIE9GUFhNVF9PRkJfSUNNUFY2X0NPREUgCg0KBQQMAiAFEgSaBggOCg0KBQQMAiABEgSaBg8aCg0KBQQMAiADEgSaBh0fCpEDCgQEDAIhEgSoBggiGlcjZGVmaW5lIE9YTV9PRl9JUFY2X05EX1RBUkdFVCBPWE1fSEVBREVSIFwKICAgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9ORF9UQVJHRVQsIDE2KQoiHyBGb3IgT0ZQWE1UX09GQl9JUFY2X05EX1RBUkdFVCAyiAIgVGhlIHRhcmdldCBhZGRyZXNzIGluIGFuIElQdjYgTmVpZ2hib3IgRGlzY292ZXJ5IG1lc3NhZ2UuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDU4IGV4YWN0bHkuCiAgIE9YTV9PRl9JQ01QVjZfVFlQRSBtdXN0IGJlIGVpdGhlciAxMzUgb3IgMTM2LgoKIEZvcm1hdDogMTI4LWJpdCBJUHY2IGFkZHJlc3MuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCIQUSBKgGCA0KDQoFBAwCIQESBKgGDhwKDQoFBAwCIQMSBKgGHyEKlwMKBAQMAiISBLYGCB8aTCNkZWZpbmUgT1hNX09GX0lQVjZfTkRfU0xMICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfTkRfU0xMLCA2KQoiHCBGb3IgT0ZQWE1UX09GQl9JUFY2X05EX1NMTCAynAIgVGhlIHNvdXJjZSBsaW5rLWxheWVyIGFkZHJlc3Mgb3B0aW9uIGluIGFuIElQdjYgTmVpZ2hib3IgRGlzY292ZXJ5CiBtZXNzYWdlLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA1OCBleGFjdGx5LgogICBPWE1fT0ZfSUNNUFY2X1RZUEUgbXVzdCBiZSBleGFjdGx5IDEzNS4KCiBGb3JtYXQ6IDQ4LWJpdCBFdGhlcm5ldCBNQUMgYWRkcmVzcy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIiBRIEtgYIDQoNCgUEDAIiARIEtgYOGQoNCgUEDAIiAxIEtgYcHgqXAwoEBAwCIxIExAYIHxpMI2RlZmluZSBPWE1fT0ZfSVBWNl9ORF9UTEwgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9ORF9UTEwsIDYpCiIcIEZvciBPRlBYTVRfT0ZCX0lQVjZfTkRfVExMIDKcAiBUaGUgdGFyZ2V0IGxpbmstbGF5ZXIgYWRkcmVzcyBvcHRpb24gaW4gYW4gSVB2NiBOZWlnaGJvciBEaXNjb3ZlcnkKIG1lc3NhZ2UuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDU4IGV4YWN0bHkuCiAgIE9YTV9PRl9JQ01QVjZfVFlQRSBtdXN0IGJlIGV4YWN0bHkgMTM2LgoKIEZvcm1hdDogNDgtYml0IEV0aGVybmV0IE1BQyBhZGRyZXNzLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAiMFEgTEBggNCg0KBQQMAiMBEgTEBg4ZCg0KBQQMAiMDEgTEBhweCv4CCgQEDAIkEgTQBggfGkojZGVmaW5lIE9YTV9PRl9NUExTX0xBQkVMICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX01QTFNfTEFCRUwsIDQpCiIbIEZvciBPRlBYTVRfT0ZCX01QTFNfTEFCRUwgMoYCIFRoZSBMQUJFTCBpbiB0aGUgZmlyc3QgTVBMUyBzaGltIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg4NDcgb3IgMHg4ODQ4IGV4YWN0bHkuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIgd2l0aCAxMiBtb3N0LXNpZ25pZmljYW50CiBiaXRzIGZvcmNlZCB0byAwLiBPbmx5IHRoZSBsb3dlciAyMCBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIkBRIE0AYIDgoNCgUEDAIkARIE0AYPGQoNCgUEDAIkAxIE0AYcHgrcAgoEBAwCJRIE3AYIHBpHI2RlZmluZSBPWE1fT0ZfTVBMU19UQyAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9NUExTX1RDLCAxKQoiGCBGb3IgT0ZQWE1UX09GQl9NUExTX1RDIDLqASBUaGUgVEMgaW4gdGhlIGZpcnN0IE1QTFMgc2hpbSBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4ODQ3IG9yIDB4ODg0OCBleGFjdGx5LgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDUgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMyBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIlBRIE3AYIDgoNCgUEDAIlARIE3AYPFgoNCgUEDAIlAxIE3AYZGwrkAgoEBAwCJhIE6AYIHRpJI2RlZmluZSBPWE1fT0ZfTVBMU19CT1MgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfTVBMU19CT1MsIDEpCiIZIEZvciBPRlBYTVRfT0ZCX01QTFNfQk9TIDLvASBUaGUgQm9TIGJpdCBpbiB0aGUgZmlyc3QgTVBMUyBzaGltIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg4NDcgb3IgMHg4ODQ4IGV4YWN0bHkuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyIHdpdGggNyBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlc3QgYml0IGhhdmUgYSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAiYFEgToBggOCg0KBQQMAiYBEgToBg8XCg0KBQQMAiYDEgToBhocCqoDCgQEDAInEgT3BggdGo4BI2RlZmluZSBPWE1fT0ZfUEJCX0lTSUQgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1BCQl9JU0lELCAzKQojZGVmaW5lIE9YTV9PRl9QQkJfSVNJRF9XIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfUEJCX0lTSUQsIDMpCiIZIEZvciBPRlBYTVRfT0ZCX1BCQl9JU0lEIDLvASBJRUVFIDgwMi4xYWggSS1TSUQuCgogRm9yIGEgcGFja2V0IHdpdGggYSBQQkIgaGVhZGVyLCB0aGlzIGlzIHRoZSBJLVNJRCBmcm9tIHRoZQogb3V0ZXJtb3N0IHNlcnZpY2UgdGFnLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODhFNyBleGFjdGx5LgoKIEZvcm1hdDogMjQtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4gCg0KBQQMAicFEgT3BggOCg0KBQQMAicBEgT3Bg8XCg0KBQQMAicDEgT3BhocCrwGCgQEDAIoEgSLBwgeGpQBI2RlZmluZSBPWE1fT0ZfVFVOTkVMX0lEICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVFVOTkVMX0lELCA4KQojZGVmaW5lIE9YTV9PRl9UVU5ORUxfSURfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9UVU5ORUxfSUQsIDgpCiIaIEZvciBPRlBYTVRfT0ZCX1RVTk5FTF9JRCAy+gQgTG9naWNhbCBQb3J0IE1ldGFkYXRhLgoKIE1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCBhIGxvZ2ljYWwgcG9ydC4KIElmIHRoZSBsb2dpY2FsIHBvcnQgcGVyZm9ybXMgZW5jYXBzdWxhdGlvbiBhbmQgZGVjYXBzdWxhdGlvbiwgdGhpcwogaXMgdGhlIGRlbXVsdGlwbGV4aW5nIGZpZWxkIGZyb20gdGhlIGVuY2Fwc3VsYXRpb24gaGVhZGVyLgogRm9yIGV4YW1wbGUsIGZvciBhIHBhY2tldCByZWNlaXZlZCB2aWEgR1JFIHR1bm5lbCBpbmNsdWRpbmcgYSAoMzItYml0KSBrZXksCiB0aGUga2V5IGlzIHN0b3JlZCBpbiB0aGUgbG93IDMyLWJpdHMgYW5kIHRoZSBoaWdoIGJpdHMgYXJlIHplcm9lZC4KIEZvciBhIE1QTFMgbG9naWNhbCBwb3J0LCB0aGUgbG93IDIwIGJpdHMgcmVwcmVzZW50IHRoZSBNUExTIExhYmVsLgogRm9yIGEgVnhMQU4gbG9naWNhbCBwb3J0LCB0aGUgbG93IDI0IGJpdHMgcmVwcmVzZW50IHRoZSBWTkkuCiBJZiB0aGUgcGFja2V0IGlzIG5vdCByZWNlaXZlZCB0aHJvdWdoIGEgbG9naWNhbCBwb3J0LCB0aGUgdmFsdWUgaXMgMC4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogNjQtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4gCg0KBQQM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YXRlX3N0YXRzX3JlcXVlc3QuCiBUaGUgcmVwbHkgYm9keSBpcyBzdHJ1Y3Qgb2ZwX2FnZ3JlZ2F0ZV9zdGF0c19yZXBseS4gCg0KBQUtAgIBEgSUDQQTCg0KBQUtAgICEgSUDRYXCnkKBAUtAgMSBJkNBBQaayBGbG93IHRhYmxlIHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVtcHR5LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF90YWJsZV9zdGF0cy4gCg0KBQUtAgMBEgSZDQQPCg0KBQUtAgMCEgSZDRITCooBCgQFLQIEEgSeDQQZGnwgUG9ydCBzdGF0aXN0aWNzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX3BvcnRfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfcG9ydF9zdGF0cy4gCg0KBQUtAgQBEgSeDQQUCg0KBQUtAgQCEgSeDRcYCpcBCgQFLQIFEgSjDQQUGogBIFF1ZXVlIHN0YXRpc3RpY3MgZm9yIGEgcG9ydAogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX3F1ZXVlX3N0YXRzX3JlcXVlc3QuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX3F1ZXVlX3N0YXRzIAoNCgUFLQIFARIEow0EDwoNCgUFLQIFAhIEow0SEwqRAQoEBS0CBhIEqA0EFBqCASBHcm91cCBjb3VudGVyIHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfZ3JvdXBfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX2dyb3VwX3N0YXRzLiAKDQoFBS0CBgESBKgNBA8KDQoFBS0CBgISBKgNEhMKdAoEBS0CBxIErQ0EGRpmIEdyb3VwIGRlc2NyaXB0aW9uLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfZ3JvdXBfZGVzYy4gCg0KBQUtAgcBEgStDQQUCg0KBQUtAgcCEgStDRcYCmkKBAUtAggSBLINBB0aWyBHcm91cCBmZWF0dXJlcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZW1wdHkuCiBUaGUgcmVwbHkgYm9keSBpcyBzdHJ1Y3Qgb2ZwX2dyb3VwX2ZlYXR1cmVzLiAKDQoFBS0CCAESBLINBBgKDQoFBS0CCAISBLINGxwKkwEKBAUtAgkSBLcNBBQahAEgTWV0ZXIgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9tZXRlcl9tdWx0aXBhcnRfcmVxdWVzdHMuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX21ldGVyX3N0YXRzLiAKDQoFBS0CCQESBLcNBA8KDQoFBS0CCQISBLcNEhMKlwEKBAUtAgoSBLwNBBwaiAEgTWV0ZXIgY29uZmlndXJhdGlvbi4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9tZXRlcl9tdWx0aXBhcnRfcmVxdWVzdHMuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX21ldGVyX2NvbmZpZy4gCg0KBQUtAgoBEgS8DQQWCg0KBQUtAgoCEgS8DRkbCmkKBAUtAgsSBMENBB4aWyBNZXRlciBmZWF0dXJlcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZW1wdHkuCiBUaGUgcmVwbHkgYm9keSBpcyBzdHJ1Y3Qgb2ZwX21ldGVyX2ZlYXR1cmVzLiAKDQoFBS0CCwESBMENBBgKDQoFBS0CCwISBMENGx0KsQIKBAUtAgwSBMkNBB4aogIgVGFibGUgZmVhdHVyZXMuCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVpdGhlciBlbXB0eSBvciBjb250YWlucyBhbiBhcnJheSBvZgogc3RydWN0IG9mcF90YWJsZV9mZWF0dXJlcyBjb250YWluaW5nIHRoZSBjb250cm9sbGVyJ3MKIGRlc2lyZWQgdmlldyBvZiB0aGUgc3dpdGNoLiBJZiB0aGUgc3dpdGNoIGlzIHVuYWJsZSB0bwogc2V0IHRoZSBzcGVjaWZpZWQgdmll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bGVyLiAgVGhlIGRlZmF1bHQgcm9sZSBpczoKCiAgICAtIEVxdWFsIChPRlBDUl9ST0xFX0VRVUFMKSwgd2hpY2ggYWxsb3dzIHRoZSBjb250cm9sbGVyIGFjY2VzcyB0byBhbGwKICAgICAgT3BlbkZsb3cgZmVhdHVyZXMuIEFsbCBjb250cm9sbGVycyBoYXZlIGVxdWFsIHJlc3BvbnNpYmlsaXR5LgoKIFRoZSBvdGhlciBwb3NzaWJsZSByb2xlcyBhcmUgYSByZWxhdGVkIHBhaXI6CgogICAgLSBNYXN0ZXIgKE9GUENSX1JPTEVfTUFTVEVSKSBpcyBlcXVpdmFsZW50IHRvIEVxdWFsLCBleGNlcHQgdGhhdCB0aGVyZQogICAgICBtYXkgYmUgYXQgbW9zdCBvbmUgTWFzdGVyIGNvbnRyb2xsZXIgYXQgYSB0aW1lOiB3aGVuIGEgY29udHJvbGxlcgogICAgICBjb25maWd1cmVzIGl0c2VsZiBhcyBNYXN0ZXIsIGFueSBleGlzdGluZyBNYXN0ZXIgaXMgZGVtb3RlZCB0byB0aGUKICAgICAgU2xhdmUgcm9sZS4KCiAgICAtIFNsYXZlIChPRlBDUl9ST0xFX1NMQVZFKSBhbGxvd3MgdGhlIGNvbnRyb2xsZXIgcmVhZC1vbmx5IGFjY2VzcyB0bwogICAgICBPcGVuRmxvdyBmZWF0dXJlcy4gIEluIHBhcnRpY3VsYXIgYXR0ZW1wdHMgdG8gbW9kaWZ5IHRoZSBmbG93IHRhYmxlCiAgICAgIHdpbGwgYmUgcmVqZWN0ZWQgd2l0aCBhbiBPRlBCUkNfRVBFUk0gZXJyb3IuCgogICAgICBTbGF2ZSBjb250cm9sbGVycyBkbyBub3QgcmVjZWl2ZSBPRlBUX1BBQ0tFVF9JTiBvciBPRlBUX0ZMT1dfUkVNT1ZFRAogICAgICBtZXNzYWdlcywgYnV0IHRoZXkgZG8gcmVjZWl2ZSBPRlBUX1BPUlRfU1RBVFVTIG1lc3NhZ2VzLgoKCwoDBTMBEgSzEQUYCioKBAUzAgASBLQRBBwiHCBEb24ndCBjaGFuZ2UgY3VycmVudCByb2xlLiAKDQoFBTMCAAESBLQRBBcKDQoFBTMCAAISBLQRGhsKKgoEBTMCARIEtREEHCIcIERl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dGVzEkwKI2FjY2VwdHNfZGlyZWN0X2xvZ2ljYWxfZmxvd3NfdXBkYXRlGAcgASgIUh9hY2NlcHRzRGlyZWN0TG9naWNhbEZsb3dzVXBkYXRlIjcKC0RldmljZVR5cGVzEigKBWl0ZW1zGAEgAygLMhIudm9sdGhhLkRldmljZVR5cGVSBWl0ZW1zIsABCghQbUNvbmZpZxISCgRuYW1lGAEgASgJUgRuYW1lEisKBHR5cGUYAiABKA4yFy52b2x0aGEuUG1Db25maWcuUG1UeXBlUgR0eXBlEhgKB2VuYWJsZWQYAyABKAhSB2VuYWJsZWQSHwoLc2FtcGxlX2ZyZXEYBCABKA1SCnNhbXBsZUZyZXEiOAoGUG1UeXBlEgsKB0NPVU5URVIQABIJCgVHQVVHRRABEgkKBVNUQVRFEAISCwoHQ09OVEVYVBADIpMBCg1QbUdyb3VwQ29uZmlnEh0KCmdyb3VwX25hbWUYASABKAlSCWdyb3VwTmFtZRIdCgpncm91cF9mcmVxGAIgASgNUglncm91cEZyZXESGAoHZW5hYmxlZBgDIAEoCFIHZW5hYmxlZBIqCgdtZXRyaWNzGAQgAygLMhAudm9sdGhhLlBtQ29uZmlnUgdtZXRyaWNzIuYBCglQbUNvbmZpZ3MSDgoCaWQYASABKAlSAmlkEiEKDGRlZmF1bHRfZnJlcRgCIAEoDVILZGVmYXVsdEZyZXESHwoHZ3JvdXBlZBgDIAEoCEIF6PbNHQFSB2dyb3VwZWQSKgoNZnJlcV9vdmVycmlkZRgEIAEoCEIF6PbNHQFSDGZyZXFPdmVycmlkZRItCgZncm91cHMYBSADKAsyFS52b2x0aGEuUG1Hcm91cENvbmZpZ1IGZ3JvdXBzEioKB21ldHJpY3MYBiADKAsyEC52b2x0aGEuUG1Db25maWdSB21ldHJpY3MizwEKBUltYWdlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbhISCgRoYXNoGAMgASgJUgRoYXNoEikKEGluc3RhbGxfZGF0ZXRpbWUYBCABKAlSD2luc3RhbGxEYXRldGltZRIbCglpc19hY3RpdmUYBSABKAhSCGlzQWN0aXZlEiEKDGlzX2NvbW1pdHRlZBgGIAEoCFILaXNDb21taXR0ZWQSGQoIaXNfdmFsaWQYByABKAhSB2lzVmFsaWQiLQoGSW1hZ2VzEiMKBWltYWdlGAEgAygLMg0udm9sdGhhLkltYWdlUgVpbWFnZSKnBwoNSW1hZ2VEb3dubG9hZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIQCgN1cmwYAyABKAlSA3VybBIQCgNjcmMYBCABKA1SA2NyYxI+CgVzdGF0ZRgFIAEoDjIoLnZvbHRoYS5JbWFnZURvd25sb2FkLkltYWdlRG93bmxvYWRTdGF0ZVIFc3RhdGUSIwoNaW1hZ2VfdmVyc2lvbhgGIAEoCVIMaW1hZ2VWZXJzaW9uEikKEGRvd25sb2FkZWRfYnl0ZXMYByABKA1SD2Rvd25sb2FkZWRCeXRlcxJICgZyZWFzb24YCCABKA4yMC52b2x0aGEuSW1hZ2VEb3dubG9hZC5JbWFnZURvd25sb2FkRmFpbHVyZVJlYXNvblIGcmVhc29uEicKD2FkZGl0aW9uYWxfaW5mbxgJIAEoCVIOYWRkaXRpb25hbEluZm8SHwoLc2F2ZV9jb25maWcYCiABKAhSCnNhdmVDb25maWcSGwoJbG9jYWxfZGlyGAsgASgJUghsb2NhbERpchJJCgtpbWFnZV9zdGF0ZRgMIAEoDjIoLnZvbHRoYS5JbWFnZURvd25sb2FkLkltYWdlQWN0aXZhdGVTdGF0ZVIKaW1hZ2VTdGF0ZRIbCglmaWxlX3NpemUYDSABKA1SCGZpbGVTaXplIp8BChJJbWFnZURvd25sb2FkU3RhdGUSFAoQRE9XTkxPQURfVU5LTk9XThAAEhYKEkRPV05MT0FEX1NVQ0NFRURFRBABEhYKEkRPV05MT0FEX1JFUVVFU1RFRBACEhQKEERPV05MT0FEX1NUQVJURUQQAxITCg9ET1dOTE9BRF9GQUlMRUQQBBIYChRET1dOTE9BRF9VTlNVUFBPUlRFRBAFIoYBChpJbWFnZURvd25sb2FkRmFpbHVyZVJlYXNvbhIMCghOT19FUlJPUhAAEg8KC0lOVkFMSURfVVJMEAESDwoLREVWSUNFX0JVU1kQAhIWChJJTlNVRkZJQ0lFTlRfU1BBQ0UQAxIRCg1VTktOT1dOX0VSUk9SEAQSDQoJQ0FOQ0VMTEVEEAUicwoSSW1hZ2VBY3RpdmF0ZVN0YXRlEhEKDUlNQUdFX1VOS05PV04QABISCg5JTUFHRV9JTkFDVElWRRABEhIKDklNQUdFX0FDVElWQVRFEAISEAoMSU1BR0VfQUNUSVZFEAMSEAoMSU1BR0VfUkVWRVJUEAQ6BfD2zR0AIj0KDkltYWdlRG93bmxvYWRzEisKBWl0ZW1zGAIgAygLMhUudm9sdGhhLkltYWdlRG93bmxvYWRSBWl0ZW1zIpYFCgRQb3J0EhcKB3BvcnRfbm8YASABKA1SBnBvcnRObxIUCgVsYWJlbBgCIAEoCVIFbGFiZWwSKQoEdHlwZRgDIAEoDjIVLnZvbHRoYS5Qb3J0LlBvcnRUeXBlUgR0eXBlEj4KC2FkbWluX3N0YXRlGAUgASgOMh0udm9sdGhhLkFkbWluU3RhdGUuQWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZRI+CgtvcGVyX3N0YXR1cxgGIAEoDjIdLnZvbHRoYS5PcGVyU3RhdHVzLk9wZXJTdGF0dXNSCm9wZXJTdGF0dXMSGwoJZGV2aWNlX2lkGAcgASgJUghkZXZpY2VJZBIrCgVwZWVycxgIIAMoCzIVLnZvbHRoYS5Qb3J0LlBlZXJQb3J0UgVwZWVycxIdCgpyeF9wYWNrZXRzGAkgASgGUglyeFBhY2tldHMSGQoIcnhfYnl0ZXMYCiABKAZSB3J4Qnl0ZXMSGwoJcnhfZXJyb3JzGAsgASgGUghyeEVycm9ycxIdCgp0eF9wYWNrZXRzGAwgASgGUgl0eFBhY2tldHMSGQoIdHhfYnl0ZXMYDSABKAZSB3R4Qnl0ZXMSGwoJdHhfZXJyb3JzGA4gASgGUgh0eEVycm9ycxpACghQZWVyUG9ydBIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhcKB3BvcnRfbm8YAiABKA1SBnBvcnRObyJzCghQb3J0VHlwZRILCgdVTktOT1dOEAASEAoMRVRIRVJORVRfTk5JEAESEAoMRVRIRVJORVRfVU5JEAISCwoHUE9OX09MVBADEgsKB1BPTl9PTlUQBBINCglWRU5FVF9PTFQQBRINCglWRU5FVF9PTlUQBjoF8PbNHQAiKwoFUG9ydHMSIgoFaXRlbXMYASADKAsyDC52b2x0aGEuUG9ydFIFaXRlbXMiow0KBkRldmljZRIVCgJpZBgBIAEoCUIF6PbNHQFSAmlkEhkKBHR5cGUYAiABKAlCBej2zR0BUgR0eXBlEhkKBHJvb3QYAyABKAhCBej2zR0BUgRyb290EiIKCXBhcmVudF9pZBgEIAEoCUIF6PbNHQFSCHBhcmVudElkEisKDnBhcmVudF9wb3J0X25vGBQgASgNQgXo9s0dAVIMcGFyZW50UG9ydE5vEh0KBnZlbmRvchgFIAEoCUIF6PbNHQFSBnZlbmRvchIbCgVtb2RlbBgGIAEoCUIF6PbNHQFSBW1vZGVsEjAKEGhhcmR3YXJlX3ZlcnNpb24YByABKAlCBej2zR0BUg9oYXJkd2FyZVZlcnNpb24SMAoQZmlybXdhcmVfdmVyc2lvbhgIIAEoCUIF6PbNHQFSD2Zpcm13YXJlVmVyc2lvbhItCgZpbWFnZXMYCSABKAsyDi52b2x0aGEuSW1hZ2VzQgXo9s0dAVIGaW1hZ2VzEioKDXNlcmlhbF9udW1iZXIYCiABKAlCBej2zR0BUgxzZXJpYWxOdW1iZXISIgoJdmVuZG9yX2lkGBggASgJQgXo9s0dAVIIdmVuZG9ySWQSHwoHYWRhcHRlchgLIAEoCUIF6PbNHQFSB2FkYXB0ZXISEgoEdmxhbhgMIAEoDVIEdmxhbhIhCgttYWNfYWRkcmVzcxgNIAEoCUgAUgptYWNBZGRyZXNzEiMKDGlwdjRfYWRkcmVzcxgOIAEoCUgAUgtpcHY0QWRkcmVzcxIjCgxpcHY2X2FkZHJlc3MYDyABKAlIAFILaXB2NkFkZHJlc3MSJAoNaG9zdF9hbmRfcG9ydBgVIAEoCUgAUgtob3N0QW5kUG9ydBIdCgpleHRyYV9hcmdzGBcgASgJUglleHRyYUFyZ3MSQAoNcHJveHlfYWRkcmVzcxgTIAEoCzIbLnZvbHRoYS5EZXZpY2UuUHJveHlBZGRyZXNzUgxwcm94eUFkZHJlc3MSPgoLYWRtaW5fc3RhdGUYECABKA4yHS52b2x0aGEuQWRtaW5TdGF0ZS5BZG1pblN0YXRlUgphZG1pblN0YXRlEkUKC29wZXJfc3RhdHVzGBEgASgOMh0udm9sdGhhLk9wZXJTdGF0dXMuT3BlclN0YXR1c0IF6PbNHQFSCm9wZXJTdGF0dXMSHQoGcmVhc29uGBYgASgJQgXo9s0dAVIGcmVhc29uElEKDmNvbm5lY3Rfc3RhdHVzGBIgASgOMiMudm9sdGhhLkNvbm5lY3RTdGF0dXMuQ29ubmVjdFN0YXR1c0IF6PbNHQFSDWNvbm5lY3RTdGF0dXMSLAoGY3VzdG9tGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY3VzdG9tEjMKBXBvcnRzGIABIAMoCzIMLnZvbHRoYS5Qb3J0Qg7i9s0dCQoHcG9ydF9ub1IFcG9ydHMSMAoFZmxvd3MYgQEgASgLMhIub3BlbmZsb3dfMTMuRmxvd3NCBeL2zR0AUgVmbG93cxJACgtmbG93X2dyb3VwcxiCASABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzQgXi9s0dAFIKZmxvd0dyb3VwcxI4CgpwbV9jb25maWdzGIMBIAEoCzIRLnZvbHRoYS5QbUNvbmZpZ3NCBeL2zR0AUglwbUNvbmZpZ3MSZAoUY2hhbm5lbF90ZXJtaW5hdGlvbnMYhAEgAygLMiMuYmJmX2ZpYmVyLkNoYW5uZWx0ZXJtaW5hdGlvbkNvbmZpZ0IL4vbNHQYKBG5hbWVSE2NoYW5uZWxUZXJtaW5hdGlvbnMSTAoPaW1hZ2VfZG93bmxvYWRzGIUBIAMoCzIVLnZvbHRoYS5JbWFnZURvd25sb2FkQgvi9s0dBgoEbmFtZVIOaW1hZ2VEb3dubG9hZHMa4gEKDFByb3h5QWRkcmVzcxIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEh0KCmNoYW5uZWxfaWQYAiABKA1SCWNoYW5uZWxJZBIoChBjaGFubmVsX2dyb3VwX2lkGAUgASgNUg5jaGFubmVsR3JvdXBJZBIvChNjaGFubmVsX3Rlcm1pbmF0aW9uGAYgASgJUhJjaGFubmVsVGVybWluYXRpb24SFQoGb251X2lkGAMgASgNUgVvbnVJZBIkCg5vbnVfc2Vzc2lvbl9pZBgEIAEoDVIMb251U2Vzc2lvbklkOgXw9s0dAEIJCgdhZGRyZXNzIi8KB0RldmljZXMSJAoFaXRlbXMYASADKAsyDi52b2x0aGEuRGV2aWNlUgVpdGVtcyKoAwoUU2ltdWxhdGVBbGFybVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEhwKCWluZGljYXRvchgCIAEoCVIJaW5k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c29mdHdhcmUgaW1hZ2UgaXMgb25lIHRoYXQgaXMgY3VycmVudGx5IGxvYWRlZCBhbmQgZXhlY3V0aW5nCiBpbiB0aGUgT05VIG9yIGNpcmN1aXQgcGFjay4gVW5kZXIgbm9ybWFsIG9wZXJhdGlvbiwgb25lIHNvZnR3YXJlIGltYWdlCiBpcyBhbHdheXMgYWN0aXZlIHdoaWxlIHRoZSBvdGhlciBpcyBpbmFjdGl2ZS4gVW5kZXIgbm8gY2lyY3Vtc3RhbmNlcyBhcmUKIGJvdGggc29mdHdhcmUgaW1hZ2VzIGFsbG93ZWQgdG8gYmUgYWN0aXZlIGF0IHRoZSBzYW1lIHRpbWUKIh0gVHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgYWN0aXZlCjInIHVzZSBJU08gODYwMSBmb3JtYXQgZm9yIGRhdGUgYW5kIHRpbWUKCg0KBQQFAgQEEgRUBE0gCgwKBQQFAgQFEgNUBAgKDAoFBAUCBAESA1QJEgoMCgUEBQIEAxIDVBUWCvQBCgQEBQIFEgNZBBoaxAEgVGhlIGNvbW1pdHRlZCBzb2Z0d2FyZSBpbWFnZSBpcyBsb2FkZWQgYW5kIGV4ZWN1dGVkIHVwb24gcmVib290IG9mIHRoZQogT05VIGFuZC9vciBjaXJjdWl0IHBhY2suIER1cmluZyBub3JtYWwgb3BlcmF0aW9uLCBvbmUgc29mdHdhcmUgaW1hZ2UgaXMKIGFsd2F5cyBjb21taXR0ZWQsIHdoaWxlIHRoZSBvdGhlciBpcyB1bmNvbW1pdHRlZC4KIiAgVHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgY29tbWl0dGVkCgoNCgUEBQIFBBIEWQRUFwoMCgUEBQIFBRIDWQQICgwKBQQFAgUBEgNZCRUKDAoFBAUCBQMSA1kYGQqhAgoEBAUCBhIDXwQWGvUBIEEgc29mdHdhcmUgaW1hZ2UgaXMgdmFsaWQgaWYgaXQgaGFzIGJlZW4gdmVyaWZpZWQgdG8gYmUgYW4gZXhlY3V0YWJsZQogY29kZSBpbWFnZS4gVGhlIHZlcmlmaWNhdGlvbiBtZWNoYW5pc20gaXMgbm90IHN1YmplY3QgdG8gc3RhbmRhcmRpemF0aW9uOwogaG93ZXZlciwgaXQgc2hvdWxkIGluY2x1ZGUgYXQgbGVhc3Qg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dFR5cGUSCQoFc2xpY2UQABIGCgJ0cxABIpcCCg5NZXRyaWNNZXRhRGF0YRIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSDgoCdHMYAiABKAFSAnRzEioKEWxvZ2ljYWxfZGV2aWNlX2lkGAMgASgJUg9sb2dpY2FsRGV2aWNlSWQSGwoJc2VyaWFsX25vGAQgASgJUghzZXJpYWxObxIbCglkZXZpY2VfaWQYBSABKAlSCGRldmljZUlkEj0KB2NvbnRleHQYBiADKAsyIy52b2x0aGEuTWV0cmljTWV0YURhdGEuQ29udGV4dEVudHJ5Ugdjb250ZXh0GjoKDENvbnRleHRFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIo8BChBNZXRyaWNWYWx1ZVBhaXJzEj8KB21ldHJpY3MYASADKAsyJS52b2x0aGEuTWV0cmljVmFsdWVQYWlycy5NZXRyaWNzRW50cnlSB21ldHJpY3MaOgoMTWV0cmljc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEixQEKEU1ldHJpY0luZm9ybWF0aW9uEjIKCG1ldGFkYXRhGAEgASgLMhYudm9sdGhhLk1ldHJpY01ldGFEYXRhUghtZXRhZGF0YRJACgdtZXRyaWNzGAIgAygLMiYudm9sdGhhLk1ldHJpY0luZm9ybWF0aW9uLk1ldHJpY3NFbnRyeVIHbWV0cmljcxo6CgxNZXRyaWNzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAJSBXZhbHVlOgI4ASLkAQoIS3BpRXZlbnQSNQoEdHlwZRgBIAEoDjIhLnZvbHRoYS5LcGlFdmVudFR5cGUuS3BpRXZlbnRUeXBlUgR0eXBlEg4KAnRzGAIgASgCUgJ0cxI6CghwcmVmaXhlcxgDIAMoCzIeLnZvbHRoYS5LcGlFdmVudC5QcmVmaXhlc0VudHJ5UghwcmVmaXhlcxpVCg1QcmVmaXhlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei4KBXZhbHVlGAIgASgLMhgudm9sdGhhLk1ldHJpY1ZhbHVlUGFpcnNSBXZhbHVlOgI4ASKMAQoJS3BpRXZlbnQyEjUKBHR5cGUYASABKA4yIS52b2x0aGEuS3BpRXZlbnRUeXBlLktwaUV2ZW50VHlwZVIEdHlwZRIOCgJ0cxgCIAEoAVICdHMSOAoKc2xpY2VfZGF0YRgDIAMoCzIZLnZvbHRoYS5NZXRyaWNJbmZvcm1hdGlvblIJc2xpY2VEYXRhIoABCg5BbGFybUV2ZW50VHlwZSJuCg5BbGFybUV2ZW50VHlwZRIRCg1DT01NVU5JQ0FUSU9OEAASDwoLRU5WSVJPTk1FTlQQARINCglFUVVJUE1FTlQQAhILCgdTRVJWSUNFEAMSDgoKUFJPQ0VTU0lORxAEEgwKCFNFQ1VSSVRZEAUiVwoSQWxhcm1FdmVudENhdGVnb3J5IkEKEkFsYXJtRXZlbnRDYXRlZ29yeRIHCgNQT04QABIHCgNPTFQQARIHCgNPTlQQAhIHCgNPTlUQAxIHCgNOTkkQBCI9Cg9BbGFybUV2ZW50U3RhdGUiKgoPQWxhcm1FdmVudFN0YXRlEgoKBlJBSVNFRBAAEgsKB0NMRUFSRUQQASJuChJBbGFybUV2ZW50U2V2ZXJpdHkiWAoSQWxhcm1FdmVudFNldmVyaXR5EhEKDUlOREVURVJNSU5BVEUQABILCgdXQVJOSU5HEAESCQoFTUlOT1IQAhIJCgVNQUpPUhADEgwKCENSSVRJQ0FMEAQilwUKCkFsYXJtRXZlbnQSDgoCaWQYASABKAlSAmlkEjkKBHR5cGUYAiABKA4yJS52b2x0aGEuQWxhcm1FdmVudFR5cGUuQWxhcm1FdmVudFR5cGVSBHR5cGUSSQoIY2F0ZWdvcnkYAyABKA4yLS52b2x0aGEuQWxhcm1FdmVudENhdGVnb3J5LkFsYXJtRXZlbnRDYXRlZ29yeVIIY2F0ZWdvcnkSPQoFc3RhdGUYBCABKA4yJy52b2x0aGEuQWxhcm1FdmVudFN0YXRlLkFsYXJtRXZlbnRTdGF0ZVIFc3RhdGUSSQoIc2V2ZXJpdHkYBSABKA4yLS52b2x0aGEuQWxhcm1FdmVudFNldmVyaXR5LkFsYXJtRXZlbnRTZXZlcml0eVIIc2V2ZXJpdHkSGwoJcmFpc2VkX3RzGAYgASgCUghyYWlzZWRUcxIfCgtyZXBvcnRlZF90cxgHIAEoAlIKcmVwb3J0ZWRUcxIdCgpjaGFuZ2VkX3Rz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LCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwrYCQoadm9sdGhhX3Byb3Rvcy9oZWFsdGgucHJvdG8SBnZvbHRoYRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGhh2b2x0aGFfcHJvdG9zL21ldGEucHJvdG8ihAEKDEhlYWx0aFN0YXR1cxI9CgVzdGF0ZRgBIAEoDjIgLnZvbHRoYS5IZWFsdGhTdGF0dXMuSGVhbHRoU3RhdGVCBej2zR0BUgVzdGF0ZSI1CgtIZWFsdGhTdGF0ZRILCgdIRUFMVEhZEAASDgoKT1ZFUkxPQURFRBABEgkKBURZSU5HEAIyYQoNSGVhbHRoU2VydmljZRJQCg9HZXRIZWFsdGhTdGF0dXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFC52b2x0aGEuSGVhbHRoU3RhdHVzIg+C0+STAgkSBy9oZWFsdGhCNFoyZ29wa2cuaW4vZGJhaW5icmktY2llbmEvdm9sdGhhLXByb3Rvcy52MS9nby92b2x0aGFKtAYKBhIEAAAiAQoICgEMEgMAABIKCAoBCBIDAgBJCgkKAggLEgMCAEkKCAoBAhIDBAAPCgkKAgMAEgMGACYKCQoCAwESAwcAJQoJCgIDAhIDCAAiCjcKAgQAEgQLABYBGisgRW5jb2RlIGhlYWx0aCBzdGF0dXMgb2YgYSBWb2x0aGEgaW5zdGFuY2UKCgoKAwQAARIDCwgUCh0KBAQABAASBA4EEgUaDyBIZWFsdGggc3RhdGVzCgoMCgUEAAQAARIDDgkUCigKBgQABAACABIDDwgUIhkgVGhlIGluc3RhbmNlIGlzIGhlYWx0aHkKCg4KBwQABAACAAESAw8IDwoOCgcEAAQAAgACEgMPEhMKQAoGBAAEAAIBEgMQCBciMSBUaGUgaW5zdGFuY2UgaXMgb3ZlcmxvYWRlZCwgZGVjcmVhc2UgcXVlcnkgcmF0ZQoKDgoHBAAEAAIBARIDEAgSCg4KBwQABAACAQISAxAVFgpHCgYEAAQAAgISAxEIEiI4IFRoZSBpbnN0YW5jZSBpcyBpbiBhIGNyaXRpY2FsIGNvbmRpdGlvbiwgZG8gbm90IHVzZSBpdAoKDgoHBAAEAAICARIDEQgNCg4KBwQABAACAgISAxEQEQo+CgQEAAIAEgMVBDEaMSBDdXJyZW50IHN0YXRlIG9mIGhlYWx0aCBvZiB0aGlzIFZvbHRoYSBpbnN0YW5jZQoKDQoFBAACAAQSBBUEEgUKDAoFBAACAAYSAxUEDwoMCgUEAAIAARIDFRAVCgwKBQQAAgADEgMVGBkKDAoFBAACAAgSAxUaMAoQCgkEAAIACO3e2QMSAxUbLwolCgIGABIEGQAiARoZIEhlYWx0aCByZWxhdGVkIHNlcnZpY2VzCgoKCgMGAAESAxkIFQpBCgQGAAIAEgQcBCAFGjMgUmV0dXJuIGN1cnJlbnQgaGVhbHRoIHN0YXR1cyBvZiBhIFZvbHRoYSBpbnN0YW5jZQoKDAoFBgACAAESAxwIFwoMCgUGAAIAAhIDHBgtCgwKBQYAAgADEgMcOEQKDQoFBgACAAQSBB0IHwoKEQoJBgACAASwyrwiEgQdCB8KYgZwcm90bzMK0RgKInZvbHRoYV9wcm90b3MvbG9naWNhbF9kZXZpY2UucHJvdG8SBnZvbHRoYRoYdm9sdGhhX3Byb3Rvcy9tZXRhLnByb3RvGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvIjgKDUxvZ2ljYWxQb3J0SWQSDgoCaWQYASABKAlSAmlkEhcKB3BvcnRfaWQYAiABKAlSBnBvcnRJZCLyAQoLTG9naWNhbFBvcnQSDgoCaWQYASABKAlSAmlkEjAKCG9mcF9wb3J0GAIgASgLMhUub3BlbmZsb3dfMTMub2ZwX3BvcnRSB29mcFBvcnQSGwoJZGV2aWNlX2lkGAMgASgJUghkZXZpY2VJZBIkCg5kZXZpY2VfcG9ydF9ubxgEIAEoDVIMZGV2aWNlUG9ydE5vEhsKCXJvb3RfcG9ydBgFIAEoCFIIcm9vdFBvcnQSQQoOb2ZwX3BvcnRfc3RhdHMYBiABKAsyGy5vcGVuZmxvd18xMy5vZnBfcG9ydF9zdGF0c1IMb2ZwUG9ydFN0YXRzIjkKDExvZ2ljYWxQb3J0cxIpCgVpdGVtcxgBIAMoCzITLnZvbHRoYS5Mb2dpY2FsUG9ydFIFaXRlbXMivAMKDUxvZ2ljYWxEZXZpY2USDgoCaWQYASABKAlSAmlkEh8KC2RhdGFwYXRoX2lkGAIgASgEUgpkYXRhcGF0aElkEikKBGRlc2MYAyABKAsyFS5vcGVuZmxvd18xMy5vZnBfZGVzY1IEZGVzYxJJCg9zd2l0Y2hfZmVhdHVyZXMYBCABKAsyIC5vcGVuZmxvd18xMy5vZnBfc3dpdGNoX2ZlYXR1cmVzUg5zd2l0Y2hGZWF0dXJlcxIkCg5yb290X2RldmljZV9pZBgFIAEoCVIMcm9vdERldmljZUlkEjUKBXBvcnRzGIABIAMoCzITLnZvbHRoYS5Mb2dpY2FsUG9ydEIJ4vbNHQQKAmlkUgVwb3J0cxIwCgVmbG93cxiBASABKAsyEi5vcGVuZmxvd18xMy5GbG93c0IF4vbNHQBSBWZsb3dzEjMKBm1ldGVycxiCASABKAsyEy5vcGVuZmxvd18xMy5NZXRlcnNCBeL2zR0AUgZtZXRlcnMSQAoLZmxvd19ncm91cHMYgwEgASgLMhcub3BlbmZsb3dfMTMuRmxvd0dyb3Vwc0IF4vbNHQBSCmZsb3dHcm91cHMiPQoOTG9naWNhbERldmljZXMSKwoFaXRlbXMYASADKAsyFS52b2x0aGEuTG9naWNhbERldmljZVIFaXRlbXNCNFoyZ29wa2cuaW4vZGJhaW5icmktY2llbmEvdm9sdGhhLXByb3Rvcy52MS9nby92b2x0aGFKoxAKBhIEAABAAQoICgEMEgMAABIKCAoBCBIDAgBJCgkKAggLEgMCAEkKCAoBAhIDBAAPCgkKAgMAEgMGACIKCQoCAwESAwcAJgoJCgIDAhIDCAApCgoKAgQAEgQKABABCgoKAwQAARIDCggVCioKBAQAAgASAwwEEhodIHVuaXF1ZSBpZCBvZiBsb2dpY2FsIGRldmljZQoKDQoFBAACAAQSBAwEChcKDAoFBAACAAUSAwwECgoMCgUEAAIAARIDDAsNCgwKBQQAAgADEgMMEBEKMwoEBAACARIDDwQXGiYgaWQgb2YgdGhlIHBv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BBIDPwQMCgwKBQQEAgAGEgM/DRoKDAoFBAQCAAESAz8bIAoMCgUEBAIAAxIDPyMkYgZwcm90bzMKvx8KIXZvbHRoYV9wcm90b3Mvb21jaV9hbGFybV9kYi5wcm90bxIFYWxhcm0aGHZvbHRoYV9wcm90b3MvbWV0YS5wcm90byJFChJBbGFybUF0dHJpYnV0ZURhdGESGQoEbmFtZRgBIAEoCUIF6PbNHQFSBG5hbWUSFAoFdmFsdWUYAiABKAlSBXZhbHVlIrkBChFBbGFybUluc3RhbmNlRGF0YRImCgtpbnN0YW5jZV9pZBgBIAEoDUIF6PbNHQFSCmluc3RhbmNlSWQSGAoHY3JlYXRlZBgCIAEoCVIHY3JlYXRlZBIaCghtb2RpZmllZBgDIAEoCVIIbW9kaWZpZWQSRgoKYXR0cmlidXRlcxgEIAMoCzIZLmFsYXJtLkFsYXJtQXR0cmlidXRlRGF0YUIL4vbNHQYKBG5hbWVSCmF0dHJpYnV0ZXMifgoOQWxhcm1DbGFzc0RhdGESIAoIY2xhc3NfaWQYASABKA1CBej2zR0BUgdjbGFzc0lkEkoKCWluc3RhbmNlcxgCIAMoCzIYLmFsYXJtLkFsYXJtSW5zdGFuY2VEYXRhQhLi9s0dDQoLaW5zdGFuY2VfaWRSCWluc3RhbmNlcyJRChJBbGFybU1hbmFnZWRFbnRpdHkSIAoIY2xhc3NfaWQYASABKA1CBej2zR0BUgdjbGFzc0lkEhkKBG5hbWUYAiABKAlCBej2zR0BUgRuYW1lIjwKEEFsYXJtTWVzc2FnZVR5cGUSKAoMbWVzc2FnZV90eXBlGAEgASgNQgXo9s0dAVILbWVzc2FnZVR5cGUihQMKD0FsYXJtRGV2aWNlRGF0YRIiCglkZXZpY2VfaWQYASABKAlCBej2zR0BUghkZXZpY2VJZBIYCgdjcmVhdGVkGAIgASgJUgdjcmVhdGVkEi4KE2xhc3RfYWxhcm1fc2VxdWVuY2UYAyABKA1SEWxhc3RBbGFybVNlcXVlbmNlEiQKDmxhc3Rfc3luY190aW1lGAQgASgJUgxsYXN0U3luY1RpbWUSGAoHdmVyc2lvbhgFIAEoDVIHdmVyc2lvbhJACgdjbGFzc2VzGAYgAygLMhUuYWxhcm0uQWxhcm1DbGFzc0RhdGFCD+L2zR0KCghjbGFzc19pZFIHY2xhc3NlcxJEChBtYW5hZ2VkX2VudGl0aWVzGAcgAygLMhkuYWxhcm0uQWxhcm1NYW5hZ2VkRW50aXR5Ug9tYW5hZ2VkRW50aXRpZXMSPAoNbWVzc2FnZV90eXBlcxgIIAMoCzIXLmFsYXJtLkFsYXJtTWVzc2FnZVR5cGVSDG1lc3NhZ2VUeXBlcyI/ChZBbGFybU9wZW5PbWNpRXZlbnRUeXBlIiUKEU9wZW5PbWNpRXZlbnRUeXBlEhAKDHN0YXRlX2NoYW5nZRAAIm0KEkFsYXJtT3Blbk9tY2lFdmVudBJDCgR0eXBlGAEgASgOMi8uYWxhcm0uQWxhcm1PcGVuT21jaUV2ZW50VHlwZS5PcGVuT21jaUV2ZW50VHlwZVIEdHlwZRISCgRkYXRhGAIgASgJUgRkYXRhQjJaMGdvcGtnLmluL2RiYWluYnJpLWNpZW5hL3ZvbHRoYS1wcm90b3MudjEvZ28vb21jaUrwFQoGEgQPAE8BCt4ECgEMEgMPABIa0wQKIENvcHlyaWdodCAyMDE4IC0gcHJlc2VudCB0aGUgb3JpZ2luYWwgYXV0aG9yIG9yIGF1dGhvcnMuCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNl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dGFCEuL2zR0NCgtpbnN0YW5jZV9pZFIJaW5zdGFuY2VzIkwKDU1hbmFnZWRFbnRpdHkSIAoIY2xhc3NfaWQYASABKA1CBej2zR0BUgdjbGFzc0lkEhkKBG5hbWUYAiABKAlCBej2zR0BUgRuYW1lIjcKC01lc3NhZ2VUeXBlEigKDG1lc3NhZ2VfdHlwZRgBIAEoDUIF6PbNHQFSC21lc3NhZ2VUeXBlIugCCg1NaWJEZXZpY2VEYXRhEiIKCWRldmljZV9pZBgBIAEoCUIF6PbNHQFSCGRldmljZUlkEhgKB2NyZWF0ZWQYAiABKAlSB2NyZWF0ZWQSJAoObGFzdF9zeW5jX3RpbWUYAyABKAlSDGxhc3RTeW5jVGltZRIiCg1taWJfZGF0YV9zeW5jGAQgASgNUgttaWJEYXRhU3luYxIYCgd2ZXJzaW9uGAUgASgNUgd2ZXJzaW9uEj0KB2NsYXNzZXMYBiADKAsyEi5vbWNpLk1pYkNsYXNzRGF0YUIP4vbNHQoKCGNsYXNzX2lkUgdjbGFzc2VzEj4KEG1hbmFnZWRfZW50aXRpZXMYByADKAsyEy5vbWNpLk1hbmFnZWRFbnRpdHlSD21hbmFnZWRFbnRpdGllcxI2Cg1tZXNzYWdlX3R5cGVzGAggAygLMhEub21jaS5NZXNzYWdlVHlwZVIMbWVzc2FnZVR5cGVzIjoKEU9wZW5PbWNpRXZlbnRUeXBlIiUKEU9wZW5PbWNpRXZlbnRUeXBlEhAKDHN0YXRlX2NoYW5nZRAAImIKDU9wZW5PbWNpRXZlbnQSPQoEdHlwZRgBIAEoDjIpLm9tY2kuT3Blbk9tY2lFdmVudFR5cGUuT3Blbk9tY2lFdmVudFR5cGVSBHR5cGUSEgoEZGF0YRgCIAEoCVIEZGF0YUIyWjBnb3BrZy5pbi9kYmFpbmJyaS1jaWVuYS92b2x0aGEtcHJvdG9zLnYxL2dvL29tY2lK8BUKBhIEDwBOAQreBAoBDBIDDwASGtMECiBDb3B5cmlnaHQgMjAxOCAtIHByZXNlbnQgdGhlIG9yaWdpbmFsIGF1dGhvciBvciBhdXRob3JzLgoKIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogeW91IG1h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ZS9wcm90b2J1Zi9lbXB0eS5wcm90bxofdm9sdGhhX3Byb3Rvcy9vcGVuZmxvd18xMy5wcm90bxoidm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfYmFzZS5wcm90bxoqdm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfZ2VtcG9ydF9ib2R5LnByb3RvGj12b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9tdWx0aWNhc3RfZGlzdHJpYnV0aW9uX3NldF9ib2R5LnByb3RvGjR2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9tdWx0aWNhc3RfZ2VtcG9ydF9ib2R5LnByb3RvGih2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl90Y29udF9ib2R5LnByb3RvGj12b2x0aGFfcHJvdG9zL2JiZl9maWJlcl90cmFmZmljX2Rlc2NyaXB0b3JfcHJvZmlsZV9ib2R5LnByb3RvIlUKE1BvblNpbU9udURldmljZUluZm8SGQoIdW5pX3BvcnQYASABKAVSB3VuaVBvcnQSIwoNc2VyaWFsX251bWJlchgCIAEoCVIMc2VyaWFsTnVtYmVyIl4KEFBvblNpbURldmljZUluZm8SGQoIbm5pX3BvcnQYASABKAVSB25uaVBvcnQSLwoEb251cxgCIAMoCzIbLnZvbHRoYS5Qb25TaW1PbnVEZXZpY2VJbmZvUgRvbnVzIlIKCUZsb3dUYWJsZRISCgRwb3J0GAEgASgFUgRwb3J0EjEKBWZsb3dzGAIgAygLMhsub3BlbmZsb3dfMTMub2ZwX2Zsb3dfc3RhdHNSBWZsb3dzIlIKC1BvblNpbUZyYW1lEg4KAmlkGAEgASgJUgJpZBIYCgdwYXlsb2FkGAIgASgMUgdwYXlsb2FkEhkKCG91dF9wb3J0GAMgASgFUgdvdXRQb3J0Ij8KE1BvblNpbVBhY2tldENvdW50ZXISEgoEbmFtZRgBIAEoCVIEbmFtZRIUCgV2YWx1ZRgCIAEoA1IFdmFsdWUiZwoRUG9uU2ltUG9ydE1ldHJpY3MSGwoJcG9ydF9uYW1lGAEgASgJUghwb3J0TmFtZRI1CgdwYWNrZXRzGAIgAygLMhsudm9sdGhhLlBvblNpbVBhY2tldENvdW50ZXJSB3BhY2tldHMiXAoNUG9uU2ltTWV0cmljcxIWCgZkZXZpY2UYASABKAlSBmRldmljZRIzCgdtZXRyaWNzGAIgAygLMhkudm9sdGhhLlBvblNpbVBvcnRNZXRyaWNzUgdtZXRyaWNzIioKFFBvblNpbU1ldHJpY3NSZXF1ZXN0EhIKBHBvcnQYASABKAVSBHBvcnQi3gEKFFRjb250SW50ZXJmYWNlQ29uZmlnEnsKJnRyYWZmaWNfZGVzY3JpcHRvcl9wcm9maWxlX2NvbmZpZ19kYXRhGAEgASgLMicuYmJmX2ZpYmVyLlRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGFSInRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZUNvbmZpZ0RhdGESSQoSdGNvbnRzX2NvbmZpZ19kYXRhGAIgASgLMhsuYmJmX2ZpYmVyLlRjb250c0NvbmZpZ0RhdGFSEHRjb250c0NvbmZpZ0RhdGEizAgKD0ludGVyZmFjZUNvbmZpZxJRChRjaGFubmVsX2dyb3VwX2NvbmZpZxgBIAEoCzIdLmJiZl9maWJlci5DaGFubmVsZ3JvdXBDb25maWdIAFISY2hhbm5lbEdyb3VwQ29uZmlnEl0KGGNoYW5uZWxfcGFydGl0aW9uX2NvbmZpZxgCIAEoCzIhLmJiZl9maWJlci5DaGFubmVscGFydGl0aW9uQ29uZmlnSABSFmNoYW5uZWxQYXJ0aXRpb25Db25maWcSTgoTY2hhbm5lbF9wYWlyX2NvbmZpZxgDIAEoCzIcLmJiZl9maWJlci5DaGFubmVscGFpckNvbmZpZ0gAUhFjaGFubmVsUGFpckNvbmZpZxJjChpjaGFubmVsX3Rlcm1pbmF0aW9uX2NvbmZpZxgEIAEoCzIjLmJiZl9maWJlci5DaGFubmVsdGVybWluYXRpb25Db25maWdIAFIYY2hhbm5lbFRlcm1pbmF0aW9uQ29uZmlnEj8KDm9udF9hbmlfY29uZmlnGAUgASgLMhcuYmJmX2ZpYmVyLk9udGFuaUNvbmZpZ0gAUgxvbnRBbmlDb25maWcSQgoPdm9udF9hbmlfY29uZmlnGAYgASgLMhguYmJmX2ZpYmVyLlZPbnRhbmlDb25maWdIAFINdm9udEFuaUNvbmZpZxI7Cgx2ZW5ldF9jb25maWcYByABKAsyFi5iYmZfZmliZXIuVkVuZXRDb25maWdIAFILdmVuZXRDb25maWcSfQomdHJhZmZpY19kZXNjcmlwdG9yX3Byb2ZpbGVfY29uZmlnX2RhdGEYCCABKAsyJy5iYmZfZmliZXIuVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YUgAUiJ0cmFmZmljRGVzY3JpcHRvclByb2ZpbGVDb25maWdEYXRhEksKEnRjb250c19jb25maWdfZGF0YRgJIAEoCzIbLmJiZl9maWJlci5UY29udHNDb25maWdEYXRhSABSEHRjb250c0NvbmZpZ0RhdGESUQoUZ2VtcG9ydHNfY29uZmlnX2RhdGEYCiABKAsyHS5iYmZfZmliZXIuR2VtcG9ydHNDb25maWdEYXRhSABSEmdlbXBvcnRzQ29uZmlnRGF0YRJtCh5tdWx0aWNhc3RfZ2VtcG9ydHNfY29uZmlnX2RhdGEYCyABKAsyJi5iYmZfZmliZXIuTXVsdGljYXN0R2VtcG9ydHNDb25maWdEYXRhSABSG211bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YRJwCh9tdWx0aWNhc3RfZGlzdHJpYnV0aW9uX3NldF9kYXRhGAwgASgLMicuYmJmX2ZpYmVyLk11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGFIAFIcbXVsdGljYXN0RGlzdHJpYnV0aW9uU2V0RGF0YUIQCg5pbnRlcmZhY2VfdHlwZTLOAgoGUG9uU2ltEjoKCVNlbmRGcmFtZRITLnZvbHRoYS5Qb25TaW1GcmFtZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIAEkAKDVJlY2VpdmVGcmFtZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaEy52b2x0aGEuUG9uU2ltRnJhbWUiADABEkMKDUdldERldmljZUluZm8SFi5nb29nbGUucHJvdG9idWYuRW1wdHkaGC52b2x0aGEuUG9uU2ltRGV2aWNlSW5mbyIAEj4KD1VwZGF0ZUZsb3dUYWJsZRIRLnZvbHRoYS5GbG93VGFibGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiABJBCghHZXRTdGF0cxIcLnZvbHRoYS5Qb25TaW1NZXRyaWNzUmVxdWVzdBoVLnZvbHRoYS5Qb25TaW1NZXRyaWNzIgAy4ggKB1hQb25TaW0SRAoPQ3JlYXRlSW50ZXJmYWNlEhcudm9sdGhhLkludGVyZmFjZUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIAEkQKD1VwZGF0ZUludGVyZmFjZRIXLnZvbHRoYS5JbnRlcmZhY2VDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiABJECg9SZW1vdmVJbnRlcmZhY2USFy52b2x0aGEuSW50ZXJmYWNlQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IgASRQoLQ3JlYXRlVGNvbnQSHC52b2x0aGEuVGNvbnRJbnRlcmZhY2VDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiABJFCgtVcGRhdGVUY29udBIcLnZvbHRoYS5UY29udEludGVyZmFjZUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIAEkUKC1JlbW92ZVRjb250Ehwudm9sdGhhLlRjb250SW50ZXJmYWNlQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IgASQgoNQ3JlYXRlR2VtcG9ydBIXLnZvbHRoYS5JbnRlcmZhY2VDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiABJCCg1VcGRhdGVHZW1wb3J0Ehcudm9sdGhhLkludGVyZmFjZUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIAEkIKDVJlbW92ZUdlbXBvcnQSFy52b2x0aGEuSW50ZXJmYWNlQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IgASSwoWQ3JlYXRlTXVsdGljYXN0R2VtcG9ydBIXLnZvbHRoYS5JbnRlcmZhY2VDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiABJLChZVcGRhdGVNdWx0aWNhc3RHZW1wb3J0Ehcudm9sdGhhLkludGVyZmFjZUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIAEksKFlJlbW92ZU11bHRpY2FzdEdlbXBvcnQSFy52b2x0aGEuSW50ZXJmYWNlQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IgASUwoeQ3JlYXRlTXVsdGljYXN0RGlzdHJpYnV0aW9uU2V0Ehcudm9sdGhhLkludGVy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cm9maWxlGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvIoACCg9TY2hlZHVsZXJDb25maWcSNQoJZGlyZWN0aW9uGAEgASgOMhcudGVjaF9wcm9maWxlLkRpcmVjdGlvblIJZGlyZWN0aW9uEj8KDWFkZGl0aW9uYWxfYncYAiABKA4yGi50ZWNoX3Byb2ZpbGUuQWRkaXRpb25hbEJXUgxhZGRpdGlvbmFsQncSGgoIcHJpb3JpdHkYAyABKAdSCHByaW9yaXR5EhYKBndlaWdodBgEIAEoB1IGd2VpZ2h0EkEKDHNjaGVkX3BvbGljeRgFIAEoDjIeLnRlY2hfcHJvZmlsZS5TY2hlZHVsaW5nUG9saWN5UgtzY2hlZFBvbGljeSK4AQoSVHJhZmZpY1NoYXBpbmdJbmZvEhAKA2NpchgBIAEoB1IDY2lyEhAKA2NicxgCIAEoB1IDY2JzEhAKA3BpchgDIAEoB1IDcGlyEhAKA3BicxgEIAEoB1IDcGJzEhAKA2dpchgFIAEoB1IDZ2lyEkgKCmFkZF9id19pbmQYBiABKA4yKi50ZWNoX3Byb2ZpbGUuSW5mZXJyZWRBZGRpdGlvbkJXSW5kaWNhdGlvblIIYWRkQndJbmQi9QEKEFRyYWZmaWNTY2hlZHVsZXISNQoJZGlyZWN0aW9uGAEgASgOMhcudGVjaF9wcm9maWxlLkRpcmVjdGlvblIJZGlyZWN0aW9uEhkKCGFsbG9jX2lkGAIgASgHUgdhbGxvY0lkEjsKCXNjaGVkdWxlchgDIAEoCzIdLnRlY2hfcHJvZmlsZS5TY2hlZHVsZXJDb25maWdSCXNjaGVkdWxlchJSChR0cmFmZmljX3NoYXBpbmdfaW5mbxgEIAEoCzIgLnRlY2hfcHJvZmlsZS5UcmFmZmljU2hhcGluZ0luZm9SEnRyYWZmaWNTaGFwaW5nSW5mbyK6AQoRVHJhZmZpY1NjaGVkdWxlcnMSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFQoGdW5pX2lkGAQgASgHUgV1bmlJZBIXCgdwb3J0X25vGAUgASgHUgZwb3J0Tm8SRQoOdHJhZmZpY19zY2hlZHMYAyADKAsyHi50ZWNoX3Byb2ZpbGUuVHJhZmZpY1NjaGVkdWxlclINdHJhZmZpY1NjaGVkcyI2ChVUYWlsRHJvcERpc2NhcmRDb25maWcSHQoKcXVldWVfc2l6ZRgBIAEoB1IJcXVldWVTaXplIoUBChBSZWREaXNjYXJkQ29uZmlnEiMKDW1pbl90aHJlc2hvbGQYASABKAdSDG1pblRocmVzaG9sZBIjCg1tYXhfdGhyZXNob2xkGAIgASgHUgxtYXhUaHJlc2hvbGQSJwoPbWF4X3Byb2JhYmlsaXR5GAMgASgHUg5tYXhQcm9iYWJpbGl0eSKzAQoRV1JlZERpc2NhcmRDb25maWcSNAoFZ3JlZW4YASABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ1IFZ3JlZW4SNgoGeWVsbG93GAIgASgLMh4udGVjaF9wcm9maWxlLlJlZERpc2NhcmRDb25maWdSBnllbGxvdxIwCgNyZWQYAyABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ1IDcmVkIugCCg1EaXNjYXJkQ29uZmlnEkIKDmRpc2NhcmRfcG9saWN5GAEgASgOMhsudGVjaF9wcm9maWxlLkRpc2NhcmRQb2xpY3lSDWRpc2NhcmRQb2xpY3kSXgoYdGFpbF9kcm9wX2Rpc2NhcmRfY29uZmlnGAIgASgLMiMudGVjaF9wcm9maWxlLlRhaWxEcm9wRGlzY2FyZENvbmZpZ0gAUhV0YWlsRHJvcERpc2NhcmRDb25maWcSTgoScmVkX2Rpc2NhcmRfY29uZmlnGAMgASgLMh4udGVjaF9wcm9maWxlLlJlZERpc2NhcmRDb25maWdIAFIQcmVkRGlzY2FyZENvbmZpZxJRChN3cmVkX2Rpc2NhcmRfY29uZmlnGAQgASgLMh8udGVjaF9wcm9maWxlLldSZWREaXNjYXJkQ29uZmlnSABSEXdyZWREaXNjYXJkQ29uZmlnQhAKDmRpc2NhcmRfY29uZmlnIqUDCgxUcmFmZmljUXVldWUSNQoJZGlyZWN0aW9uGAEgASgOMhcudGVjaF9wcm9maWxlLkRpcmVjdGlvblIJZGlyZWN0aW9uEh0KCmdlbXBvcnRfaWQYAiABKAdSCWdlbXBvcnRJZBIZCghwYml0X21hcBgDIAEoCVIHcGJpdE1hcBIlCg5hZXNfZW5jcnlwdGlvbhgEIAEoCFINYWVzRW5jcnlwdGlvbhJBCgxzY2hlZF9wb2xpY3kYBSABKA4yHi50ZWNoX3Byb2ZpbGUuU2NoZWR1bGluZ1BvbGljeVILc2NoZWRQb2xpY3kSGgoIcHJpb3JpdHkYBiABKAdSCHByaW9yaXR5EhYKBndlaWdodBgHIAEoB1IGd2VpZ2h0EkIKDmRpc2NhcmRfcG9saWN5GAggASgOMhsudGVjaF9wcm9maWxlLkRpc2NhcmRQb2xpY3lSDWRpc2NhcmRQb2xpY3kSQgoOZGlzY2FyZF9jb25maWcYCSABKAsyGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZENvbmZpZ1INZGlzY2FyZENvbmZpZyKyAQoNVHJhZmZpY1F1ZXVlcxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIVCgZ1bmlfaWQYBCABKAdSBXVuaUlkEhcKB3BvcnRfbm8YBSABKAdSBnBvcnRObxJBCg50cmFmZmljX3F1ZXVlcxgGIAMoCzIaLnRlY2hfcHJvZmlsZS5UcmFmZmljUXVldWVSDXRyYWZmaWNRdWV1ZXMqPAoJRGlyZWN0aW9uEgwKCFVQU1RSRUFNEAASDgoKRE9XTlNUUkVBTRABEhEKDUJJRElSRUNUSU9OQUwQAio7ChBTY2hlZHVsaW5nUG9saWN5EgcKA1dSUhAAEhIKDlN0cmljdFByaW9yaXR5EAESCgoGSHlicmlkEAIqbgoMQWRkaXRpb25hbEJXEhUKEUFkZGl0aW9uYWxCV19Ob25lEAASEwoPQWRkaXRpb25hbEJXX05BEAESGwoXQWRkaXRpb25hbEJXX0Jlc3RFZmZvcnQQAhIVChFBZGRpdGlvbmFsQldfQXV0bxADKj8KDURpc2NhcmRQb2xpY3kSDAoIVGFpbERyb3AQABINCglXVGFpbERyb3AQARIHCgNSZWQQAhIICgRXUmVkEAMqnAEKHEluZmVycmVkQWRkaXRpb25CV0luZGljYXRpb24SJQohSW5mZXJyZWRBZGRpdGlvbkJXSW5kaWNhdGlvbl9Ob25lEAASKAokSW5mZXJyZWRBZGRpdGlvbkJXSW5kaWNhdGlvbl9Bc3N1cmVkEAESKwonSW5mZXJyZWRBZGRpdGlvbkJXSW5k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Zl9maWJlci5wcm90bxoidm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfYmFzZS5wcm90bxoqdm9sdGhhX3Byb3Rvcy9iYmZfZmliZXJfZ2VtcG9ydF9ib2R5LnByb3RvGj12b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9tdWx0aWNhc3RfZGlzdHJpYnV0aW9uX3NldF9ib2R5LnByb3RvGjR2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl9tdWx0aWNhc3RfZ2VtcG9ydF9ib2R5LnByb3RvGih2b2x0aGFfcHJvdG9zL2JiZl9maWJlcl90Y29udF9ib2R5LnByb3RvGj12b2x0aGFfcHJvdG9zL2JiZl9maWJlcl90cmFmZmljX2Rlc2NyaXB0b3JfcHJvZmlsZV9ib2R5LnByb3RvGh92b2x0aGFfcHJvdG9zL29tY2lfbWliX2RiLnByb3RvGiF2b2x0aGFfcHJvdG9zL29tY2lfYWxhcm1fZGIucHJvdG8ipAEKC0RldmljZUdyb3VwEhUKAmlkGAEgASgJQgXo9s0dAVICaWQSSQoPbG9naWNhbF9kZXZpY2VzGAIgAygLMhUudm9sdGhhLkxvZ2ljYWxEZXZpY2VCCeL2zR0ECgJpZFIObG9naWNhbERldmljZXMSMwoHZGV2aWNlcxgDIAMoCzIOLnZvbHRoYS5EZXZpY2VCCeL2zR0ECgJpZFIHZGV2aWNlcyI5CgxEZXZpY2VHcm91cHMSKQoFaXRlbXMYASADKAsyEy52b2x0aGEuRGV2aWNlR3JvdXBSBWl0ZW1zIn8KEkFsYXJtRmlsdGVyUnVsZUtleSJiChJBbGFybUZpbHRlclJ1bGVLZXkSBgoCaWQQABIICgR0eXBlEAESDAoIc2V2ZXJpdHkQAhIPCgtyZXNvdXJjZV9pZBADEgwKCGNhdGVnb3J5EAQSDQoJZGV2aWNlX2lkEAU6BfD2zR0AImgKD0FsYXJtRmlsdGVyUnVsZRI/CgNrZXkYASABKA4yLS52b2x0aGEuQWxhcm1GaWx0ZXJSdWxlS2V5LkFsYXJtRmlsdGVyUnVsZUtleVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZSJTCgtBbGFybUZpbHRlchIVCgJpZBgBIAEoCUIF6PbNHQFSAmlkEi0KBXJ1bGVzGAIgAygLMhcudm9sdGhhLkFsYXJtRmlsdGVyUnVsZVIFcnVsZXMiPQoMQWxhcm1GaWx0ZXJzEi0KB2ZpbHRlcnMYASADKAsyEy52b2x0aGEuQWxhcm1GaWx0ZXJSB2ZpbHRlcnMi/gwKDlZvbHRoYUluc3RhbmNlEiYKC2luc3RhbmNlX2lkGAEgASgJQgXo9s0dAVIKaW5zdGFuY2VJZBIfCgd2ZXJzaW9uGAIgASgJQgXo9s0dAVIHdmVyc2lvbhI2Cglsb2dfbGV2ZWwYAyABKA4yGS52b2x0aGEuTG9nTGV2ZWwuTG9nTGV2ZWxSCGxvZ0xldmVsEjMKBmhlYWx0aBgKIAEoCzIULnZvbHRoYS5IZWFsdGhTdGF0dXNCBeL2zR0AUgZoZWFsdGgSNgoIYWRhcHRlcnMYCyADKAsyDy52b2x0aGEuQWRhcHRlckIJ4vbNHQQKAmlkUghhZGFwdGVycxJJCg9sb2dpY2FsX2RldmljZXMYDCADKAsyFS52b2x0aGEuTG9naWNhbERldmljZUIJ4vbNHQQKAmlkUg5sb2dpY2FsRGV2aWNlcxIzCgdkZXZpY2VzGA0gAygLMg4udm9sdGhhLkRldmljZUIJ4vbNHQQKAmlkUgdkZXZpY2VzEkAKDGRldmljZV90eXBlcxgOIAMoCzISLnZvbHRoYS5EZXZpY2VUeXBlQgni9s0dBAoCaWRSC2RldmljZVR5cGVzEkMKDWRldmljZV9ncm91cHMYDyADKAsyEy52b2x0aGEuRGV2aWNlR3JvdXBCCeL2zR0ECgJpZFIMZGV2aWNlR3JvdXBzEkMKDWFsYXJtX2ZpbHRlcnMYECADKAsyEy52b2x0aGEuQWxhcm1GaWx0ZXJCCeL2zR0ECgJpZFIMYWxhcm1GaWx0ZXJzElEKDmNoYW5uZWxfZ3JvdXBzGBEgAygLMh0uYmJmX2ZpYmVyLkNoYW5uZWxncm91cENvbmZpZ0IL4vbNHQYKBG5hbWVSDWNoYW5uZWxHcm91cHMSXQoSY2hhbm5lbF9wYXJ0aXRpb25zGBIgAygLMiEuYmJmX2ZpYmVyLkNoYW5uZWxwYXJ0aXRpb25Db25maWdCC+L2zR0GCgRuYW1lUhFjaGFubmVsUGFydGl0aW9ucxJOCg1jaGFubmVsX3BhaXJzGBMgAygLMhwuYmJmX2ZpYmVyLkNoYW5uZWxwYWlyQ29uZmlnQgvi9s0dBgoEbmFtZVIMY2hhbm5lbFBhaXJzEj8KCG9udF9hbmlzGBQgAygLMhcuYmJmX2ZpYmVyLk9udGFuaUNvbmZpZ0IL4vbNHQYKBG5hbWVSB29udEFuaXMSQwoKdl9vbnRfYW5pcxgVIAMoCzIYLmJiZl9maWJlci5WT250YW5pQ29uZmlnQgvi9s0dBgoEbmFtZVIIdk9udEFuaXMSPAoHdl9lbmV0cxgWIAMoCzIWLmJiZl9maWJlci5WRW5ldENvbmZpZ0IL4vbNHQYKBG5hbWVSBnZFbmV0cxJ0Cht0cmFmZmljX2Rlc2NyaXB0b3JfcHJvZmlsZXMYFyADKAsyJy5iYmZfZmliZXIuVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YUIL4vbNHQYKBG5hbWVSGXRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZXMSQAoGdGNvbnRzGBggAygLMhsuYmJmX2ZpYmVyLlRjb250c0NvbmZpZ0RhdGFCC+L2zR0GCgRuYW1lUgZ0Y29udHMSRgoIZ2VtcG9ydHMYGSADKAsyHS5iYmZfZmliZXIuR2VtcG9ydHNDb25maWdEYXRhQgvi9s0dBgoEbmFtZVIIZ2VtcG9ydHMSYgoSbXVsdGljYXN0X2dlbXBvcnRzGBogAygLMiYuYmJmX2ZpYmVyLk11bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YUIL4vbNHQYKBG5hbWVSEW11bHRpY2FzdEdlbXBvcnRzEnIKGm11bHRpY2FzdF9kaXN0aWJ1dGlvbl9zZXRzGBsgAygLMicuYmJmX2ZpYmVyLk11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGFCC+L2zR0GCgRuYW1lUhhtdWx0aWNhc3REaXN0aWJ1dGlvblNldHMSQgoJb21jaV9taWJzGBwgAygLMhMub21jaS5NaWJEZXZpY2VEYXRhQhDi9s0dCwoJZGV2aWNlX2lkUghvbWNpTWlicxJJCgtvbWNpX2FsYXJtcxgdIAMoCzIWLmFsYXJtLkFsYXJtRGV2aWNlRGF0YUIQ4vbNHQsKCWRldmljZV9pZFIKb21jaUFsYXJtczoF+PbNHQEiLgoPVm9sdGhhSW5zdGFuY2VzEhQKBWl0ZW1zGAEgAygJUgVpdGVtczoF+PbNHQEi+gsKBlZvbHRoYRIfCgd2ZXJzaW9uGAEgASgJQgXo9s0dAVIHdmVyc2lvbhI2Cglsb2dfbGV2ZWwYAiABKA4yGS52b2x0aGEuTG9nTGV2ZWwuTG9nTGV2ZWxSCGxvZ0xldmVsEkgKCWluc3RhbmNlcxgDIAMoCzIWLnZvbHRoYS5Wb2x0aGFJbnN0YW5jZUIS4vbNHQ0KC2luc3RhbmNlX2lkUglpbnN0YW5jZXMSNgoIYWRhcHRlcnMYCyADKAsyDy52b2x0aGEuQWRhcHRlckIJ4vbNHQQKAmlkUghhZGFwdGVycxJJCg9sb2dpY2FsX2RldmljZXMYDCADKAsyFS52b2x0aGEuTG9naWNhbERldmljZUIJ4vbNHQQKAmlkUg5sb2dpY2FsRGV2aWNlcxIzCgdkZXZpY2VzGA0gAygLMg4udm9sdGhhLkRldmljZUIJ4vbNHQQKAmlkUgdkZXZpY2VzEkMKDWRldmljZV9ncm91cHMYDyADKAsyEy52b2x0aGEuRGV2aWNlR3JvdXBCCeL2zR0ECgJpZFIMZGV2aWNlR3JvdXBzElEKDmNoYW5uZWxfZ3JvdXBzGBAgAygLMh0uYmJmX2ZpYmVyLkNoYW5uZWxncm91cENvbmZpZ0IL4vbNHQYKBG5hbWVSDWNoYW5uZWxHcm91cHMSXQoSY2hhbm5lbF9wYXJ0aXRpb25zGBEgAygLMiEuYmJmX2ZpYmVyLkNoYW5uZWxwYXJ0aXRpb25Db25maWdCC+L2zR0GCgRuYW1lUhFjaGFubmVsUGFydGl0aW9ucxJOCg1jaGFubmVsX3BhaXJzGBIgAygLMhwuYmJmX2ZpYmVyLkNoYW5uZWxwYWlyQ29uZmlnQgvi9s0dBgoEbmFtZVIMY2hhbm5lbFBhaXJzEj8KCG9udF9hbmlzGBMgAygLMhcuYmJmX2ZpYmVyLk9udGFuaUNvbmZpZ0IL4vbNHQYKBG5hbWVSB29udEFuaXMSQwoKdl9vbnRfYW5pcxgUIAMoCzIYLmJiZl9maWJlci5WT250YW5pQ29uZmlnQgvi9s0dBgoEbmFtZVIIdk9udEFuaXMSPAoHdl9lbmV0cxgVIAMoCzIWLmJiZl9maWJlci5WRW5ldENvbmZpZ0IL4vbNHQYKBG5hbWVSBnZFbmV0cxJ0Cht0cmFmZmljX2Rlc2NyaXB0b3JfcHJvZmlsZXMYFyADKAsyJy5iYmZfZmliZXIuVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YUIL4vbNHQYKBG5hbWVSGXRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZXMSQAoGdGNvbnRzGBggAygLMhsuYmJmX2ZpYmVyLlRjb250c0NvbmZpZ0RhdGFCC+L2zR0GCgRuYW1lUgZ0Y29udHMSRgoIZ2VtcG9ydHMYGSADKAsyHS5iYmZfZmliZXIuR2VtcG9ydHNDb25maWdEYXRhQgvi9s0dBgoEbmFtZVIIZ2VtcG9ydHMSYgoSbXVsdGljYXN0X2dlbXBvcnRzGBogAygLMiYuYmJmX2ZpYmVyLk11bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YUIL4vbNHQYKBG5hbWVSEW11bHRpY2FzdEdlbXBvcnRzEnIKGm11bHRpY2FzdF9kaXN0aWJ1dGlvbl9zZXRzGBsgAygLMicuYmJmX2ZpYmVyLk11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGFCC+L2zR0GCgRuYW1lUhhtdWx0aWNhc3REaXN0aWJ1dGlvblNldHMSUQoRb21jaV9taWJfZGF0YWJhc2UYHCADKAsyEy5vbWNpLk1pYkRldmljZURhdGFCEOL2zR0LCglkZXZpY2VfaWRSD29tY2lNaWJEYXRhYmFzZRJYChNvbWNpX2FsYXJtX2RhdGFiYXNlGB0gAygLMhYuYWxhcm0uQWxhcm1EZXZpY2VEYXRhQhDi9s0dCwoJZGV2aWNlX2lkUhFvbWNpQWxhcm1EYXRhYmFzZToF+PbNHQEirAEKEFNlbGZUZXN0UmVzcG9uc2USPwoGcmVzdWx0GAEgASgOMicudm9sdGhhLlNlbGZUZXN0UmVzcG9uc2UuU2VsZlRlc3RSZXN1bHRSBnJlc3VsdCJQCg5TZWxmVGVzdFJlc3VsdBILCgdTVUNDRVNTEAASCwoHRkFJTFVSRRABEhEKDU5PVF9TVVBQT1JURUQQAhIRCg1VTktOT1dOX0VSUk9SEAM6BfD2zR0AIk8KEU9mQWdlbnRTdWJzY3JpYmVyEh0KCm9mYWdlbnRfaWQYASABKAlSCW9mYWdlbnRJZBIbCgl2b2x0aGFfaWQYAiABKAlSCHZvbHRoYUlkMtxaChNWb2x0aGFHbG9iYWxTZXJ2aWNlEkQKCUdldFZvbHRoYRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoOLnZvbHRoYS5Wb2x0aGEiD4LT5JMCCRIHL2FwaS92MRJ5ChNMaXN0Vm9sdGhhSW5zdGFuY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ghcudm9sdGhhLlZvbHRoYUluc3RhbmNlcyIxgtPkkwITEhEvYXBpL3YxL2luc3RhbmNlc4r3zR0HCgVpdGVtc4r3zR0HEgVpdGVtcxJXChFHZXRWb2x0aGFJbnN0YW5jZRIKLnZvbHRoYS5JRBoWLnZvbHRoYS5Wb2x0aGFJbnN0YW5jZSIegtPkkwIYEhYvYXBpL3YxL2luc3RhbmNlcy97aWR9EmEKDExpc3RBZGFwdGVycxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoQLnZvbHRoYS5BZGFwdGVycyIngtPkkwISEhAvYXBpL3YxL2FkYXB0ZXJzivfNHQoKCGFkYXB0ZXJzEnsKEkxpc3RMb2dpY2FsRGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoWLnZvbHRoYS5Mb2dpY2FsRGV2aWNlcyI1gtPkkwIZEhcvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlc4r3zR0RCg9sb2dpY2FsX2RldmljZXMSeAobTGlzdFJlYWNoYWJsZUxvZ2ljYWxEZXZpY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhYudm9sdGhhLkxvZ2ljYWxEZXZpY2VzIimC0+STAiMSIS9hcGkvdjEvcmVhY2hhYmxlX2xvZ2ljYWxfZGV2aWNlcxJbChBHZXRMb2dpY2FsRGV2aWNlEgoudm9sdGhhLklEGhUudm9sdGhhLkxvZ2ljYWxEZXZpY2UiJILT5JMCHhIcL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfRJyChZMaXN0TG9naWNhbERldmljZVBvcnRzEgoudm9sdGhhLklEGhQudm9sdGhhLkxvZ2ljYWxQb3J0cyI2gtPkkwIkEiIvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzivfNHQcKBXBvcnRzEoMBChRHZXRMb2dpY2FsRGV2aWNlUG9ydBIVLnZvbHRoYS5Mb2dpY2FsUG9ydElkGhMudm9sdGhhLkxvZ2ljYWxQb3J0Ij+C0+STAi4SLC9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vcG9ydHMve3BvcnRfaWR9ivfNHQYKBHBvcnQShQEKF0VuYWJsZUxvZ2ljYWxEZXZpY2VQb3J0EhUudm9sdGhhLkxvZ2ljYWxQb3J0SWQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiO4LT5JMCNSIzL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0cy97cG9ydF9pZH0vZW5hYmxlEocBChhEaXNhYmxlTG9naWNhbERldmljZVBvcnQSFS52b2x0aGEuTG9naWNhbFBvcnRJZBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI8gtPkkwI2IjQvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzL3twb3J0X2lkfS9kaXNhYmxlEnwKFkxpc3RMb2dpY2FsRGV2aWNlRmxvd3MSCi52b2x0aGEuSUQaEi5vcGVuZmxvd18xMy5GbG93cyJCgtPkkwIkEiIvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dzivfNHQcKBWZsb3dzivfNHQcSBWl0ZW1zEoMBChxVcGRhdGVMb2dpY2FsRGV2aWNlRmxvd1RhYmxlEhwub3BlbmZsb3dfMTMuRmxvd1RhYmxlVXBkYXRlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii2C0+STAiciIi9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vZmxvd3M6ASoShAEKHVVwZGF0ZUxvZ2ljYWxEZXZpY2VNZXRlclRhYmxlEhsub3BlbmZsb3dfMTMuTWV0ZXJNb2RVcGRhdGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKCIjL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9tZXRlcnM6ASoSgAEKF0xpc3RMb2dpY2FsRGV2aWNlTWV0ZXJzEgoudm9sdGhhLklEGhMub3BlbmZsb3dfMTMuTWV0ZXJzIkSC0+STAiUSIy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vbWV0ZXJzivfNHQgKBm1ldGVyc4r3zR0HEgVpdGVtcxKSAQobTGlzdExvZ2ljYWxEZXZpY2VGbG93R3JvdXBzEgoudm9sdGhhLklEGhcub3BlbmZsb3dfMTMuRmxvd0dyb3VwcyJOgtPkkwIqEigvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzivfNHQ0KC2Zsb3dfZ3JvdXBzivfNHQcSBWl0ZW1zEpMBCiFVcGRhdGVMb2dpY2FsRGV2aWNlRmxvd0dyb3VwVGFibGUSIS5vcGVuZmxvd18xMy5GbG93R3JvdXBUYWJsZVVwZGF0ZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItIigvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzOgEqEl0KC0xpc3REZXZpY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg8udm9sdGhhLkRldmljZXMiJYLT5JMCERIPL2FwaS92MS9kZXZpY2VzivfNHQkKB2RldmljZXMSRQoJR2V0RGV2aWNlEgoudm9sdGhhLklEGg4udm9sdGhhLkRldmljZSIcgtPkkwIWEhQvYXBpL3YxL2RldmljZXMve2lkfRJKCgxDcmVhdGVEZXZpY2USDi52b2x0aGEuRGV2aWNlGg4udm9sdGhhLkRldmljZSIagtPkkwIUIg8vYXBpL3YxL2RldmljZXM6ASoSVwoMRW5hYmxlRGV2aWNlEgoudm9sdGhhLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiOC0+STAh0iGy9hcGkvdjEvZGV2aWNlcy97aWR9L2VuYWJsZRJZCg1EaXNhYmxlRGV2aWNlEgoudm9sdGhhLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiSC0+STAh4iHC9hcGkvdjEvZGV2aWNlcy97aWR9L2Rpc2FibGUSVwoMUmVib290RGV2aWNlEgoudm9sdGhhLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiOC0+STAh0iGy9hcGkvdjEvZGV2aWNlcy97aWR9L3JlYm9vdBJXCgxEZWxldGVEZXZpY2USCi52b2x0aGEuSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiI4LT5JMCHSobL2FwaS92MS9kZXZpY2VzL3tpZH0vZGVsZXRlEnUKDURvd25sb2FkSW1hZ2USFS52b2x0aGEuSW1hZ2VEb3dubG9hZBoVLnZvbHRoYS5PcGVyYXRpb25SZXNwIjaC0+STAjAiKy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX06ASoSggEKFkdldEltYWdlRG93bmxvYWRTdGF0dXMSFS52b2x0aGEuSW1hZ2VEb3dubG9hZBoVLnZvbHRoYS5JbWFnZURvd25sb2FkIjqC0+STAjQSMi9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vc3RhdHVzEnUKEEdldEltYWdlRG93bmxvYWQSFS52b2x0aGEuSW1hZ2VEb3dubG9hZBoVLnZvbHRoYS5JbWFnZURvd25sb2FkIjOC0+STAi0SKy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0SZgoSTGlzdEltYWdlRG93bmxvYWRzEgoudm9sdGhhLklEGhYudm9sdGhhLkltYWdlRG93bmxvYWRzIiyC0+STAiYSJC9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2FkcxJ4ChNDYW5jZWxJbWFnZURvd25sb2FkEhUudm9sdGhhLkltYWdlRG93bmxvYWQaFS52b2x0aGEuT3BlcmF0aW9uUmVzcCIzgtPkkwItKisvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZV9kb3dubG9hZHMve25hbWV9EogBChNBY3RpdmF0ZUltYWdlVXBkYXRlEhUudm9sdGhhLkltYWdlRG93bmxvYWQaFS52b2x0aGEuT3BlcmF0aW9uUmVzcCJDgtPkkwI9IjgvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZV9kb3dubG9hZHMve25hbWV9L2ltYWdlX3VwZGF0ZToBKhKGAQoRUmV2ZXJ0SW1hZ2VVcGRhdGUSFS52b2x0aGEuSW1hZ2VEb3dubG9hZBoVLnZvbHRoYS5PcGVyYXRpb25SZXNwIkOC0+STAj0iOC9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vaW1hZ2VfcmV2ZXJ0OgEqElwKD0xpc3REZXZpY2VQb3J0cxIKLnZvbHRoYS5JRBoNLnZvbHRoYS5Qb3J0cyIugtPkkwIcEhovYXBpL3YxL2RldmljZXMve2lkfS9wb3J0c4r3zR0HCgVwb3J0cxJdChNMaXN0RGV2aWNlUG1Db25maWdzEgoudm9sdGhhLklEGhEudm9sdGhhLlBtQ29uZmlncyIngtPkkwIhEh8vYXBpL3YxL2RldmljZXMve2lkfS9wbV9jb25maWdzEm4KFVVwZGF0ZURldmljZVBtQ29uZmlncxIRLnZvbHRoYS5QbUNvbmZpZ3MaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJCIfL2FwaS92MS9kZXZpY2VzL3tpZH0vcG1fY29uZmlnczoBKhJtCg9MaXN0RGV2aWNlRmxvd3MSCi52b2x0aGEuSUQaEi5vcGVuZmxvd18xMy5GbG93cyI6gtPkkwIcEhovYXBpL3YxL2RldmljZXMve2lkfS9mbG93c4r3zR0HCgVmbG93c4r3zR0HEgVpdGVtcxKDAQoUTGlzdERldmljZUZsb3dHcm91cHMSCi52b2x0aGEuSUQaFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzIkaC0+STAiISIC9hcGkvdjEvZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzivfNHQ0KC2Zsb3dfZ3JvdXBzivfNHQcSBWl0ZW1zEm8KD0xpc3REZXZpY2VUeXBlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoTLnZvbHRoYS5EZXZpY2VUeXBlcyIvgtPkkwIWEhQvYXBpL3YxL2RldmljZV90eXBlc4r3zR0OCgxkZXZpY2VfdHlwZXMSUgoNR2V0RGV2aWNlVHlwZRIKLnZvbHRoYS5JRBoSLnZvbHRoYS5EZXZpY2VUeXBlIiGC0+STAhsSGS9hcGkvdjEvZGV2aWNlX3R5cGVzL3tpZH0ScwoQTGlzdERldmljZUdyb3VwcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoULnZvbHRoYS5EZXZpY2VHcm91cHMiMYLT5JMCFxIVL2FwaS92MS9kZXZpY2VfZ3JvdXBzivfNHQ8KDWRldmljZV9ncm91cHMSVQoOR2V0RGV2aWNlR3JvdXASCi52b2x0aGEuSUQaEy52b2x0aGEuRGV2aWNlR3JvdXAiIoLT5JMCHBIaL2FwaS92MS9kZXZpY2VfZ3JvdXBzL3tpZH0SXwoRQ3JlYXRlQWxhcm1GaWx0ZXISEy52b2x0aGEuQWxhcm1GaWx0ZXIaEy52b2x0aGEuQWxhcm1GaWx0ZXIiIILT5JMCGiIVL2FwaS92MS9hbGFybV9maWx0ZXJzOgEqElUKDkdldEFsYXJtRmlsdGVyEgoudm9sdGhhLklEGhMudm9sdGhhLkFsYXJtRmlsdGVyIiKC0+STAhwSGi9hcGkvdjEvYWxhcm1fZmlsdGVycy97aWR9EmQKEVVwZGF0ZUFsYXJtRmlsdGVyEhMudm9sdGhhLkFsYXJtRmlsdGVyGhMudm9sdGhhLkFsYXJtRmlsdGVyIiWC0+STAh8aGi9hcGkvdjEvYWxhcm1fZmlsdGVycy97aWR9OgEqElsKEURlbGV0ZUFsYXJtRmlsdGVyEgoudm9sdGhhLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhwqGi9hcGkvdjEvYWxhcm1fZmlsdGVycy97aWR9El8KEExpc3RBbGFybUZpbHRlcnMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFC52b2x0aGEuQWxhcm1GaWx0ZXJzIh2C0+STAhcSFS9hcGkvdjEvYWxhcm1fZmlsdGVycxJ0ChhHZXRBbGxDaGFubmVsZ3JvdXBDb25maWcSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIC5iYmZfZmliZXIuQWxsQ2hhbm5lbGdyb3VwQ29uZmlnIh6C0+STAhgSFi9hcGkvdjEvY2hhbm5lbF9ncm91cHMSdQoSQ3JlYXRlQ2hhbm5lbGdyb3VwEh0uYmJmX2ZpYmVyLkNoYW5uZWxncm91cENvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIogtPkkwIiIh0vYXBpL3YxL2NoYW5uZWxfZ3JvdXBzL3tuYW1lfToBKhJ8ChJVcGRhdGVDaGFubmVsZ3JvdXASHS5iYmZfZmliZXIuQ2hhbm5lbGdyb3VwQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii+C0+STAikiJC9hcGkvdjEvY2hhbm5lbF9ncm91cHMve25hbWV9L21vZGlmeToBKhJ5ChJEZWxldGVDaGFubmVsZ3JvdXASHS5iYmZfZmliZXIuQ2hhbm5lbGdyb3VwQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiyC0+STAiYqJC9hcGkvdjEvY2hhbm5lbF9ncm91cHMve25hbWV9L2RlbGV0ZRKAAQocR2V0QWxsQ2hhbm5lbHBhcnRpdGlvbkNvbmZpZxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRokLmJiZl9maWJlci5BbGxDaGFubmVscGFydGl0aW9uQ29uZmlnIiKC0+STAhwSGi9hcGkvdjEvY2hhbm5lbF9wYXJ0aXRpb25zEoEBChZDcmVhdGVDaGFubmVscGFydGl0aW9uEiEuYmJmX2ZpYmVyLkNoYW5uZWxwYXJ0aXRpb25Db25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLILT5JMCJiIhL2FwaS92MS9jaGFubmVsX3BhcnRpdGlvbnMve25hbWV9OgEqEogBChZVcGRhdGVDaGFubmVscGFydGl0aW9uEiEuYmJmX2ZpYmVyLkNoYW5uZWxwYXJ0aXRpb25Db25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLSIoL2FwaS92MS9jaGFubmVsX3BhcnRpdGlvbnMve25hbWV9L21vZGlmeToBKhKFAQoWRGVsZXRlQ2hhbm5lbHBhcnRpdGlvbhIhLmJiZl9maWJlci5DaGFubmVscGFydGl0aW9uQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAioqKC9hcGkvdjEvY2hhbm5lbF9wYXJ0aXRpb25zL3tuYW1lfS9kZWxldGUScQoXR2V0QWxsQ2hhbm5lbHBhaXJDb25maWcSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHy5iYmZfZmliZXIuQWxsQ2hhbm5lbHBhaXJDb25maWciHYLT5JMCFxIVL2FwaS92MS9jaGFubmVsX3BhaXJzEnIKEUNyZWF0ZUNoYW5uZWxwYWlyEhwuYmJmX2ZpYmVyLkNoYW5uZWxwYWlyQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IieC0+STAiEiHC9hcGkvdjEvY2hhbm5lbF9wYWlycy97bmFtZX06ASoSeQoRVXBkYXRlQ2hhbm5lbHBhaXISHC5iYmZfZmliZXIuQ2hhbm5lbHBhaXJDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKCIjL2FwaS92MS9jaGFubmVsX3BhaXJzL3tuYW1lfS9tb2RpZnk6ASoSdgoRRGVsZXRlQ2hhbm5lbHBhaXISHC5iYmZfZmliZXIuQ2hhbm5lbHBhaXJDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJSojL2FwaS92MS9jaGFubmVsX3BhaXJzL3tuYW1lfS9kZWxldGUShwEKHkdldEFsbENoYW5uZWx0ZXJtaW5hdGlvbkNvbmZpZxIKLnZvbHRoYS5JRBomLmJiZl9maWJlci5BbGxDaGFubmVsdGVybWluYXRpb25Db25maWciMYLT5JMCKxIpL2FwaS92MS9kZXZpY2VzL3tpZH0vY2hhbm5lbF90ZXJtaW5hdGlvbnMSlAEKGENyZWF0ZUNoYW5uZWx0ZXJtaW5hdGlvbhIjLmJiZl9maWJlci5DaGFubmVsdGVybWluYXRpb25Db25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiO4LT5JMCNSIwL2FwaS92MS9kZXZpY2VzL3tpZH0vY2hhbm5lbF90ZXJtaW5hdGlvbnMve25hbWV9OgEqEpsBChhVcGRhdGVDaGFubmVsdGVybWluYXRpb24SIy5iYmZfZmliZXIuQ2hhbm5lbHRlcm1pbmF0aW9uQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkKC0+STAjwiNy9hcGkvdjEvZGV2aWNlcy97aWR9L2NoYW5uZWxfdGVybWluYXRpb25zL3tuYW1lfS9tb2RpZnk6ASoSmAEKGERlbGV0ZUNoYW5uZWx0ZXJtaW5hdGlvbhIjLmJiZl9maWJlci5DaGFubmVsdGVybWluYXRpb25Db25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiP4LT5JMCOSo3L2FwaS92MS9kZXZpY2VzL3tpZH0vY2hhbm5lbF90ZXJtaW5hdGlvbnMve25hbWV9L2RlbGV0ZRJiChJHZXRBbGxPbnRhbmlDb25maWcSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaGi5iYmZfZmliZXIuQWxsT250YW5pQ29uZmlnIhiC0+STAhISEC9hcGkvdjEvb250X2FuaXMSYwoMQ3JlYXRlT250YW5pEhcuYmJmX2ZpYmVyLk9udGFuaUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIigtPkkwIcIhcvYXBpL3YxL29udF9hbmlzL3tuYW1lfToBKhJqCgxVcGRhdGVPbnRhbmkSFy5iYmZfZmliZXIuT250YW5pQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IimC0+STAiMiHi9hcGkvdjEvb250X2FuaXMve25hbWV9L21vZGlmeToBKhJnCgxEZWxldGVPbnRhbmkSFy5iYmZfZmliZXIuT250YW5pQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiAqHi9hcGkvdjEvb250X2FuaXMve25hbWV9L2RlbGV0ZRJmChNHZXRBbGxWT250YW5pQ29uZmlnEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhsuYmJmX2ZpYmVyLkFsbFZPbnRhbmlDb25maWciGoLT5JMCFBISL2FwaS92MS92X29udF9hbmlzEmcKDUNyZWF0ZVZPbnRhbmkSGC5iYmZfZmliZXIuVk9udGFuaUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeIhkvYXBpL3YxL3Zfb250X2FuaXMve25hbWV9OgEqEm4KDVVwZGF0ZVZPbnRhbmkSGC5iYmZfZmliZXIuVk9udGFuaUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIrgtPkkwIlIiAvYXBpL3YxL3Zfb250X2FuaXMve25hbWV9L21vZGlmeToBKhJrCg1EZWxldGVWT250YW5pEhguYmJmX2ZpYmVyLlZPbnRhbmlDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKILT5JMCIiogL2FwaS92MS92X29udF9hbmlzL3tuYW1lfS9kZWxldGUSXwoRR2V0QWxsVkVuZXRDb25maWcSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaGS5iYmZfZmliZXIuQWxsVkVuZXRDb25maWciF4LT5JMCERIPL2FwaS92MS92X2VuZXRzEmAKC0NyZWF0ZVZFbmV0EhYuYmJmX2ZpYmVyLlZFbmV0Q29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiGC0+STAhsiFi9hcGkvdjEvdl9lbmV0cy97bmFtZX06ASoSZwoLVXBkYXRlVkVuZXQSFi5iYmZfZmliZXIuVkVuZXRDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKILT5JMCIiIdL2FwaS92MS92X2VuZXRzL3tuYW1lfS9tb2RpZnk6ASoSZAoLRGVsZXRlVkVuZXQSFi5iYmZfZmliZXIuVkVuZXRDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJYLT5JMCHyodL2FwaS92MS92X2VuZXRzL3tuYW1lfS9kZWxldGUSlQEKIkdldEFsbFRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKi5iYmZfZmliZXIuQWxsVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YSIrgtPkkwIlEiMvYXBpL3YxL3RyYWZmaWNfZGVzY3JpcHRvcl9wcm9maWxlcxKcAQoiQ3JlYXRlVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YRInLmJiZl9maWJlci5UcmFmZmljRGVzY3JpcHRvclByb2ZpbGVEYXRhGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjWC0+STAi8iKi9hcGkvdjEvdHJhZmZpY19kZXNjcmlwdG9yX3Byb2ZpbGVzL3tuYW1lfToBKhKjAQoiVXBkYXRlVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YRInLmJiZl9maWJlci5UcmFmZmljRGVzY3JpcHRvclByb2ZpbGVEYXRhGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjyC0+STAjYiMS9hcGkvdjEvdHJhZmZpY19kZXNjcmlwdG9yX3Byb2ZpbGVzL3tuYW1lfS9tb2RpZnk6ASoSoAEKIkRlbGV0ZVRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGESJy5iYmZfZmliZXIuVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI5gtPkkwIzKjEvYXBpL3YxL3RyYWZmaWNfZGVzY3JpcHRvcl9wcm9maWxlcy97bmFtZX0vZGVsZXRlEmgKFkdldEFsbFRjb250c0NvbmZpZ0RhdGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5iYmZfZmliZXIuQWxsVGNvbnRzQ29uZmlnRGF0YSIWgtPkkwIQEg4vYXBpL3YxL3Rjb250cxJvChZDcmVhdGVUY29udHNDb25maWdEYXRhEhsuYmJmX2ZpYmVyLlRjb250c0NvbmZpZ0RhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIILT5JMCGiIVL2FwaS92MS90Y29udHMve25hbWV9OgEqEnYKFlVwZGF0ZVRjb250c0NvbmZpZ0RhdGESGy5iYmZfZmliZXIuVGNvbnRzQ29uZmlnRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhIhwvYXBpL3YxL3Rjb250cy97bmFtZX0vbW9kaWZ5OgEqEnMKFkRlbGV0ZVRjb250c0NvbmZpZ0RhdGESGy5iYmZfZmliZXIuVGNvbnRzQ29uZmlnRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeKhwvYXBpL3YxL3Rjb250cy97bmFtZX0vZGVsZXRlEm4KGEdldEFsbEdlbXBvcnRzQ29uZmlnRGF0YRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRogLmJiZl9maWJlci5BbGxHZW1wb3J0c0NvbmZpZ0RhdGEiGILT5JMCEhIQL2FwaS92MS9nZW1wb3J0cxJ1ChhDcmVhdGVHZW1wb3J0c0NvbmZpZ0RhdGESHS5iYmZfZmliZXIuR2VtcG9ydHNDb25maWdEYXRhGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhwiFy9hcGkvdjEvZ2VtcG9ydHMve25hbWV9OgEqEnwKGFVwZGF0ZUdlbXBvcnRzQ29uZmlnRGF0YRIdLmJiZl9maWJlci5HZW1wb3J0c0NvbmZpZ0RhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIyIeL2FwaS92MS9nZW1wb3J0cy97bmFtZX0vbW9kaWZ5OgEqEnkKGERlbGV0ZUdlbXBvcnRzQ29uZmlnRGF0YRIdLmJiZl9maWJlci5HZW1wb3J0c0NvbmZpZ0RhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCICoeL2FwaS92MS9nZW1wb3J0cy97bmFtZX0vZGVsZXRlEooBCiFHZXRBbGxNdWx0aWNhc3RHZW1wb3J0c0NvbmZpZ0RhdGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKS5iYmZfZmliZXIuQWxsTXVsdGljYXN0R2VtcG9ydHNDb25maWdEYXRhIiKC0+STAhwSGi9hcGkvdjEvbXVsdGljYXN0X2dlbXBvcnRzEpEBCiFDcmVhdGVNdWx0aWNhc3RHZW1wb3J0c0NvbmZpZ0RhdGESJi5iYmZfZmliZXIuTXVsdGljYXN0R2VtcG9ydHNDb25maWdEYXRhGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiyC0+STAiYiIS9hcGkvdjEvbXVsdGljYXN0X2dlbXBvcnRzL3tuYW1lfToBKhKYAQohVXBkYXRlTXVsdGljYXN0R2VtcG9ydHNDb25maWdEYXRhEiYuYmJmX2ZpYmVyLk11bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItIigvYXBpL3YxL211bHRpY2FzdF9nZW1wb3J0cy97bmFtZX0vbW9kaWZ5OgEqEpUBCiFEZWxldGVNdWx0aWNhc3RHZW1wb3J0c0NvbmZpZ0RhdGESJi5iYmZfZmliZXIuTXVsdGljYXN0R2VtcG9ydHNDb25maWdEYXRhGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAioqKC9hcGkvdjEvbXVsdGljYXN0X2dlbXBvcnRzL3tuYW1lfS9kZWxldGUSlAEKIkdldEFsbE11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKi5iYmZfZmliZXIuQWxsTXVsdGljYXN0RGlzdHJpYnV0aW9uU2V0RGF0YSIqgtPkkwIkEiIvYXBpL3YxL211bHRpY2FzdF9kaXN0aWJ1dGlvbl9zZXRzEpwBCiJDcmVhdGVNdWx0aWNhc3REaXN0cmlidXRpb25TZXREYXRhEicuYmJmX2ZpYmVyLk11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNYLT5JMCLyIqL2FwaS92MS9tdWx0aWNhc3RfZGlzdHJpYnV0aW9uX3NldHMve25hbWV9OgEqEqMBCiJVcGRhdGVNdWx0aWNhc3REaXN0cmlidXRpb25TZXREYXRhEicuYmJmX2ZpYmVyLk11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPILT5JMCNiIxL2FwaS92MS9tdWx0aWNhc3RfZGlzdHJpYnV0aW9uX3NldHMve25hbWV9L21vZGlmeToBKhKgAQoiRGVsZXRlTXVsdGljYXN0RGlzdHJpYnV0aW9uU2V0RGF0YRInLmJiZl9maWJlci5NdWx0aWNhc3REaXN0cmlidXRpb25TZXREYXRhGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjmC0+STAjMqMS9hcGkvdjEvbXVsdGljYXN0X2Rpc3RyaWJ1dGlvbl9zZXRzL3tuYW1lfS9kZWxldGUSTAoJR2V0SW1hZ2VzEgoudm9sdGhhLklEGg4udm9sdGhhLkltYWdlcyIjgtPkkwIdEhsvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZXMSWAoIU2VsZlRlc3QSCi52b2x0aGEuSUQaGC52b2x0aGEuU2VsZlRlc3RSZXNwb25zZSImgtPkkwIgIh4vYXBpL3YxL2RldmljZXMve2lkfS9zZWxmX3Rlc3QSVgoQR2V0TWliRGV2aWNlRGF0YRIKLnZvbHRoYS5JRBoTLm9tY2kuTWliRGV2aWNlRGF0YSIhgtPkkwIbEhkvYXBpL3YxL29wZW5vbWNpL3tpZH0vbWliEl0KEkdldEFsYXJtRGV2aWNlRGF0YRIKLnZvbHRoYS5JRBoWLmFsYXJtLkFsYXJtRGV2aWNlRGF0YSIjgtPkkwIdEhsvYXBpL3YxL29wZW5vbWNpL3tpZH0vYWxhcm0ScwoNU2ltdWxhdGVBbGFybRIcLnZvbHRoYS5TaW11bGF0ZUFsYXJtUmVxdWVzdBoVLnZvbHRoYS5PcGVyYXRpb25SZXNwIi2C0+STAiciIi9hcGkvdjEvZGV2aWNlcy97aWR9L3NpbXVsYXRlX2xhcm06ASoyuWAKElZvbHRoYUxvY2FsU2VydmljZRJaChFHZXRWb2x0aGFJbnN0YW5jZRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoWLnZvbHRoYS5Wb2x0aGFJbnN0YW5jZSIVgtPkkwIPEg0vYXBpL3YxL2xvY2FsEmQKCUdldEhlYWx0aBIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoULnZvbHRoYS5IZWFsdGhTdGF0dXMiKYLT5JMCFhIUL2FwaS92MS9sb2NhbC9oZWFsdGiK980dCAoGaGVhbHRoEmcKDExpc3RBZGFwdGVycxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoQLnZvbHRoYS5BZGFwdGVycyItgtPkkwIYEhYvYXBpL3YxL2xvY2FsL2FkYXB0ZXJzivfNHQoKCGFkYXB0ZXJzEoEBChJMaXN0TG9naWNhbERldmljZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFi52b2x0aGEuTG9naWNhbERldmljZXMiO4LT5JMCHxIdL2FwaS92MS9sb2NhbC9sb2dpY2FsX2RldmljZXOK980dEQoPbG9naWNhbF9kZXZpY2VzEn4KG0xpc3RSZWFjaGFibGVMb2dpY2FsRGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoWLnZvbHRoYS5Mb2dpY2FsRGV2aWNlcyIvgtPkkwIpEicvYXBpL3YxL2xvY2FsL3JlYWNoYWJsZV9sb2dpY2FsX2RldmljZXMSYQoQR2V0TG9naWNhbERldmljZRIKLnZvbHRoYS5JRBoVLnZvbHRoYS5Mb2dpY2FsRGV2aWNlIiqC0+STAiQSIi9hcGkvdjEvbG9jYWwvbG9naWNhbF9kZXZpY2VzL3tpZH0SeAoWTGlzdExvZ2ljYWxEZXZpY2VQb3J0cxIKLnZvbHRoYS5JRBoULnZvbHRoYS5Mb2dpY2FsUG9ydHMiPILT5JMCKhIoL2FwaS92MS9sb2NhbC9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0c4r3zR0HCgVwb3J0cxKDAQoUR2V0TG9naWNhbERldmljZVBvcnQSFS52b2x0aGEuTG9naWNhbFBvcnRJZBoTLnZvbHRoYS5Mb2dpY2FsUG9ydCI/gtPkkwIuEiwvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzL3twb3J0X2lkfYr3zR0GCgRwb3J0EoUBChdFbmFibGVMb2dpY2FsRGV2aWNlUG9ydBIVLnZvbHRoYS5Mb2dpY2FsUG9ydElkGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjuC0+STAjUiMy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vcG9ydHMve3BvcnRfaWR9L2VuYWJsZRKHAQoYRGlzYWJsZUxvZ2ljYWxEZXZpY2VQb3J0EhUudm9sdGhhLkxvZ2ljYWxQb3J0SWQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPILT5JMCNiI0L2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0cy97cG9ydF9pZH0vZGlzYWJsZRKCAQoWTGlzdExvZ2ljYWxEZXZpY2VGbG93cxIKLnZvbHRoYS5JRBoSLm9wZW5mbG93XzEzLkZsb3dzIkiC0+STAioSKC9hcGkvdjEvbG9jYWwvbG9naWNhbF9kZXZpY2VzL3tpZH0vZmxvd3OK980dBwoFZmxvd3OK980dBxIFaXRlbXMSiQEKHFVwZGF0ZUxvZ2ljYWxEZXZpY2VGbG93VGFibGUSHC5vcGVuZmxvd18xMy5GbG93VGFibGVVcGRhdGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLSIoL2FwaS92MS9sb2NhbC9sb2dpY2FsX2RldmljZXMve2lkfS9mbG93czoBKhKEAQodVXBkYXRlTG9naWNhbERldmljZU1ldGVyVGFibGUSGy5vcGVuZmxvd18xMy5NZXRlck1vZFVwZGF0ZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoIiMvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L21ldGVyczoBKhKYAQobTGlzdExvZ2ljYWxEZXZpY2VGbG93R3JvdXBzEgoudm9sdGhhLklEGhcub3BlbmZsb3dfMTMuRmxvd0dyb3VwcyJUgtPkkwIwEi4vYXBpL3YxL2xvY2FsL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzivfNHQ0KC2Zsb3dfZ3JvdXBzivfNHQcSBWl0ZW1zEoYBChdMaXN0TG9naWNhbERldmljZU1ldGVycxIKLnZvbHRoYS5JRBoTLm9wZW5mbG93XzEzLk1ldGVycyJKgtPkkwIrEikvYXBpL3YxL2xvY2FsL2xvZ2ljYWxfZGV2aWNlcy97aWR9L21ldGVyc4r3zR0ICgZtZXRlcnOK980dBxIFaXRlbXMSmQEKIVVwZGF0ZUxvZ2ljYWxEZXZpY2VGbG93R3JvdXBUYWJsZRIhLm9wZW5mbG93XzEzLkZsb3dHcm91cFRhYmxlVXBkYXRlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjmC0+STAjMiLi9hcGkvdjEvbG9jYWwvbG9naWNhbF9kZXZpY2VzL3tpZH0vZmxvd19ncm91cHM6ASoSYwoLTGlzdERldmljZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaDy52b2x0aGEuRGV2aWNlcyIrgtPkkwIXEhUvYXBpL3YxL2xvY2FsL2RldmljZXOK980dCQoHZGV2aWNlcxJLCglHZXREZXZpY2USCi52b2x0aGEuSUQaDi52b2x0aGEuRGV2aWNlIiKC0+STAhwSGi9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9ElAKDENyZWF0ZURldmljZRIOLnZvbHRoYS5EZXZpY2UaDi52b2x0aGEuRGV2aWNlIiCC0+STAhoiFS9hcGkvdjEvbG9jYWwvZGV2aWNlczoBKhJdCgxFbmFibGVEZXZpY2USCi52b2x0aGEuSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIyIhL2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vZW5hYmxlEl8KDURpc2FibGVEZXZpY2USCi52b2x0aGEuSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJCIiL2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vZGlzYWJsZRJdCgxSZWJvb3REZXZpY2USCi52b2x0aGEuSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIyIhL2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vcmVib290El0KDERlbGV0ZURldmljZRIKLnZvbHRoYS5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjKiEvYXBpL3YxL2xvY2FsL2RldmljZXMve2lkfS9kZWxldGUSewoNRG93bmxvYWRJbWFnZRIVLnZvbHRoYS5JbWFnZURvd25sb2FkGhUudm9sdGhhLk9wZXJhdGlvblJlc3AiPILT5JMCNiIxL2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfToBKhKIAQoWR2V0SW1hZ2VEb3dubG9hZFN0YXR1cxIVLnZvbHRoYS5JbWFnZURvd25sb2FkGhUudm9sdGhhLkltYWdlRG93bmxvYWQiQILT5JMCOhI4L2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfS9zdGF0dXMSewoQR2V0SW1hZ2VEb3dubG9hZBIVLnZvbHRoYS5JbWFnZURvd25sb2FkGhUudm9sdGhhLkltYWdlRG93bmxvYWQiOYLT5JMCMxIxL2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfRJsChJMaXN0SW1hZ2VEb3dubG9hZHMSCi52b2x0aGEuSUQaFi52b2x0aGEuSW1hZ2VEb3dubG9hZHMiMoLT5JMCLBIqL2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzEn4KE0NhbmNlbEltYWdlRG93bmxvYWQSFS52b2x0aGEuSW1hZ2VEb3dubG9hZBoVLnZvbHRoYS5PcGVyYXRpb25SZXNwIjmC0+STAjMqMS9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0SjgEKE0FjdGl2YXRlSW1hZ2VVcGRhdGUSFS52b2x0aGEuSW1hZ2VEb3dubG9hZBoVLnZvbHRoYS5PcGVyYXRpb25SZXNwIkmC0+STAkMiPi9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vaW1hZ2VfdXBkYXRlOgEqEowBChFSZXZlcnRJbWFnZVVwZGF0ZRIVLnZvbHRoYS5JbWFnZURvd25sb2FkGhUudm9sdGhhLk9wZXJhdGlvblJlc3AiSYLT5JMCQyI+L2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfS9pbWFnZV9yZXZlcnQ6ASoSYgoPTGlzdERldmljZVBvcnRzEgoudm9sdGhhLklEGg0udm9sdGhhLlBvcnRzIjSC0+STAiISIC9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L3BvcnRzivfNHQcKBXBvcnRzEmMKE0xpc3REZXZpY2VQbUNvbmZpZ3MSCi52b2x0aGEuSUQaES52b2x0aGEuUG1Db25maWdzIi2C0+STAicSJS9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L3BtX2NvbmZpZ3MSdAoVVXBkYXRlRGV2aWNlUG1Db25maWdzEhEudm9sdGhhLlBtQ29uZmlncxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIwgtPkkwIqIiUvYXBpL3YxL2xvY2FsL2RldmljZXMve2lkfS9wbV9jb25maWdzOgEqEnMKD0xpc3REZXZpY2VGbG93cxIKLnZvbHRoYS5JRBoSLm9wZW5mbG93XzEzLkZsb3dzIkCC0+STAiISIC9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L2Zsb3dzivfNHQcKBWZsb3dzivfNHQcSBWl0ZW1zEokBChRMaXN0RGV2aWNlRmxvd0dyb3VwcxIKLnZvbHRoYS5JRBoXLm9wZW5mbG93XzEzLkZsb3dHcm91cHMiTILT5JMCKBImL2FwaS92MS9sb2NhbC9kZXZpY2VzL3tpZH0vZmxvd19ncm91cHOK980dDQoLZmxvd19ncm91cHOK980dBxIFaXRlbXMSdQoPTGlzdERldmljZVR5cGVzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhMudm9sdGhhLkRldmljZVR5cGVzIjWC0+STAhwSGi9hcGkvdjEvbG9jYWwvZGV2aWNlX3R5cGVzivfNHQ4KDGRldmljZV90eXBlcxJYCg1HZXREZXZpY2VUeXBlEgoudm9sdGhhLklEGhIudm9sdGhhLkRldmljZVR5cGUiJ4LT5JMCIRIfL2FwaS92MS9sb2NhbC9kZXZpY2VfdHlwZXMve2lkfRJ5ChBMaXN0RGV2aWNlR3JvdXBzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhQudm9sdGhhLkRldmljZUdyb3VwcyI3gtPkkwIdEhsvYXBpL3YxL2xvY2FsL2RldmljZV9ncm91cHOK980dDwoNZGV2aWNlX2dyb3VwcxJbCg5HZXREZXZpY2VHcm91cBIKLnZvbHRoYS5JRBoTLnZvbHRoYS5EZXZpY2VHcm91cCIogtPkkwIiEiAvYXBpL3YxL2xvY2FsL2RldmljZV9ncm91cHMve2lkfRJ6ChhHZXRBbGxDaGFubmVsZ3JvdXBDb25maWcSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIC5iYmZfZmliZXIuQWxsQ2hhbm5lbGdyb3VwQ29uZmlnIiSC0+STAh4SHC9hcGkvdjEvbG9jYWwvY2hhbm5lbF9ncm91cHMSewoSQ3JlYXRlQ2hhbm5lbGdyb3VwEh0uYmJmX2ZpYmVyLkNoYW5uZWxncm91cENvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoIiMvYXBpL3YxL2xvY2FsL2NoYW5uZWxfZ3JvdXBzL3tuYW1lfToBKhKCAQoSVXBkYXRlQ2hhbm5lbGdyb3VwEh0uYmJmX2ZpYmVyLkNoYW5uZWxncm91cENvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI1gtPkkwIvIiovYXBpL3YxL2xvY2FsL2NoYW5uZWxfZ3JvdXBzL3tuYW1lfS9tb2RpZnk6ASoSfwoSRGVsZXRlQ2hhbm5lbGdyb3VwEh0uYmJmX2ZpYmVyLkNoYW5uZWxncm91cENvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIygtPkkwIsKiovYXBpL3YxL2xvY2FsL2NoYW5uZWxfZ3JvdXBzL3tuYW1lfS9kZWxldGUShgEKHEdldEFsbENoYW5uZWxwYXJ0aXRpb25Db25maWcSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaJC5iYmZfZmliZXIuQWxsQ2hhbm5lbHBhcnRpdGlvbkNvbmZpZyIogtPkkwIiEiAvYXBpL3YxL2xvY2FsL2NoYW5uZWxfcGFydGl0aW9ucxKHAQoWQ3JlYXRlQ2hhbm5lbHBhcnRpdGlvbhIhLmJiZl9maWJlci5DaGFubmVscGFydGl0aW9uQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjKC0+STAiwiJy9hcGkvdjEvbG9jYWwvY2hhbm5lbF9wYXJ0aXRpb25zL3tuYW1lfToBKhKOAQoWVXBkYXRlQ2hhbm5lbHBhcnRpdGlvbhIhLmJiZl9maWJlci5DaGFubmVscGFydGl0aW9uQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjmC0+STAjMiLi9hcGkvdjEvbG9jYWwvY2hhbm5lbF9wYXJ0aXRpb25zL3tuYW1lfS9tb2RpZnk6ASoSiwEKFkRlbGV0ZUNoYW5uZWxwYXJ0aXRpb24SIS5iYmZfZmliZXIuQ2hhbm5lbHBhcnRpdGlvbkNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI2gtPkkwIwKi4vYXBpL3YxL2xvY2FsL2NoYW5uZWxfcGFydGl0aW9ucy97bmFtZX0vZGVsZXRlEncKF0dldEFsbENoYW5uZWxwYWlyQ29uZmlnEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gh8uYmJmX2ZpYmVyLkFsbENoYW5uZWxwYWlyQ29uZmlnIiOC0+STAh0SGy9hcGkvdjEvbG9jYWwvY2hhbm5lbF9wYWlycxJ4ChFDcmVhdGVDaGFubmVscGFpchIcLmJiZl9maWJlci5DaGFubmVscGFpckNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSItgtPkkwInIiIvYXBpL3YxL2xvY2FsL2NoYW5uZWxfcGFpcnMve25hbWV9OgEqEn8KEVVwZGF0ZUNoYW5uZWxwYWlyEhwuYmJmX2ZpYmVyLkNoYW5uZWxwYWlyQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjSC0+STAi4iKS9hcGkvdjEvbG9jYWwvY2hhbm5lbF9wYWlycy97bmFtZX0vbW9kaWZ5OgEqEnwKEURlbGV0ZUNoYW5uZWxwYWlyEhwuYmJmX2ZpYmVyLkNoYW5uZWxwYWlyQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjGC0+STAisqKS9hcGkvdjEvbG9jYWwvY2hhbm5lbF9wYWlycy97bmFtZX0vZGVsZXRlEo0BCh5HZXRBbGxDaGFubmVsdGVybWluYXRpb25Db25maWcSCi52b2x0aGEuSUQaJi5iYmZfZmliZXIuQWxsQ2hhbm5lbHRlcm1pbmF0aW9uQ29uZmlnIjeC0+STAjESLy9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L2NoYW5uZWxfdGVybWluYXRpb25zEpoBChhDcmVhdGVDaGFubmVsdGVybWluYXRpb24SIy5iYmZfZmliZXIuQ2hhbm5lbHRlcm1pbmF0aW9uQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkGC0+STAjsiNi9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L2NoYW5uZWxfdGVybWluYXRpb25zL3tuYW1lfToBKhKhAQoYVXBkYXRlQ2hhbm5lbHRlcm1pbmF0aW9uEiMuYmJmX2ZpYmVyLkNoYW5uZWx0ZXJtaW5hdGlvbkNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJIgtPkkwJCIj0vYXBpL3YxL2xvY2FsL2RldmljZXMve2lkfS9jaGFubmVsX3Rlcm1pbmF0aW9ucy97bmFtZX0vbW9kaWZ5OgEqEp4BChhEZWxldGVDaGFubmVsdGVybWluYXRpb24SIy5iYmZfZmliZXIuQ2hhbm5lbHRlcm1pbmF0aW9uQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkWC0+STAj8qPS9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L2NoYW5uZWxfdGVybWluYXRpb25zL3tuYW1lfS9kZWxldGUSaAoSR2V0QWxsT250YW5pQ29uZmlnEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhouYmJmX2ZpYmVyLkFsbE9udGFuaUNvbmZpZyIegtPkkwIYEhYvYXBpL3YxL2xvY2FsL29udF9hbmlzEmkKDENyZWF0ZU9udGFuaRIXLmJiZl9maWJlci5PbnRhbmlDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKILT5JMCIiIdL2FwaS92MS9sb2NhbC9vbnRfYW5pcy97bmFtZX06ASoScAoMVXBkYXRlT250YW5pEhcuYmJmX2ZpYmVyLk9udGFuaUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIvgtPkkwIpIiQvYXBpL3YxL2xvY2FsL29udF9hbmlzL3tuYW1lfS9tb2RpZnk6ASoSbQoMRGVsZXRlT250YW5pEhcuYmJmX2ZpYmVyLk9udGFuaUNvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIsgtPkkwImKiQvYXBpL3YxL2xvY2FsL29udF9hbmlzL3tuYW1lfS9kZWxldGUSbAoTR2V0QWxsVk9udGFuaUNvbmZpZxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRobLmJiZl9maWJlci5BbGxWT250YW5pQ29uZmlnIiCC0+STAhoSGC9hcGkvdjEvbG9jYWwvdl9vbnRfYW5pcxJtCg1DcmVhdGVWT250YW5pEhguYmJmX2ZpYmVyLlZPbnRhbmlDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJCIfL2FwaS92MS9sb2NhbC92X29udF9hbmlzL3tuYW1lfToBKhJ0Cg1VcGRhdGVWT250YW5pEhguYmJmX2ZpYmVyLlZPbnRhbmlDb25maWcaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMYLT5JMCKyImL2FwaS92MS9sb2NhbC92X29udF9hbmlzL3tuYW1lfS9tb2RpZnk6ASoScQoNRGVsZXRlVk9udGFuaRIYLmJiZl9maWJlci5WT250YW5pQ29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAigqJi9hcGkvdjEvbG9jYWwvdl9vbnRfYW5pcy97bmFtZX0vZGVsZXRlEmUKEUdldEFsbFZFbmV0Q29uZmlnEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhkuYmJmX2ZpYmVyLkFsbFZFbmV0Q29uZmlnIh2C0+STAhcSFS9hcGkvdjEvbG9jYWwvdl9lbmV0cxJmCgtDcmVhdGVWRW5ldBIWLmJiZl9maWJlci5WRW5ldENvbmZpZxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhIhwvYXBpL3YxL2xvY2FsL3ZfZW5ldHMve25hbWV9OgEqEm0KC1VwZGF0ZVZFbmV0EhYuYmJmX2ZpYmVyLlZFbmV0Q29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAigiIy9hcGkvdjEvbG9jYWwvdl9lbmV0cy97bmFtZX0vbW9kaWZ5OgEqEmoKC0RlbGV0ZVZFbmV0EhYuYmJmX2ZpYmVyLlZFbmV0Q29uZmlnGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiUqIy9hcGkvdjEvbG9jYWwvdl9lbmV0cy97bmFtZX0vZGVsZXRlEpsBCiJHZXRBbGxUcmFmZmljRGVzY3JpcHRvclByb2ZpbGVEYXRhEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GiouYmJmX2ZpYmVyLkFsbFRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGEiMYLT5JMCKxIpL2FwaS92MS9sb2NhbC90cmFmZmljX2Rlc2NyaXB0b3JfcHJvZmlsZXMSogEKIkNyZWF0ZVRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGESJy5iYmZfZmliZXIuVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI7gtPkkwI1IjAvYXBpL3YxL2xvY2FsL3RyYWZmaWNfZGVzY3JpcHRvcl9wcm9maWxlcy97bmFtZX06ASoSqQEKIlVwZGF0ZVRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGESJy5iYmZfZmliZXIuVHJhZmZpY0Rlc2NyaXB0b3JQcm9maWxlRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJCgtPkkwI8IjcvYXBpL3YxL2xvY2FsL3RyYWZmaWNfZGVzY3JpcHRvcl9wcm9maWxlcy97bmFtZX0vbW9kaWZ5OgEqEqYBCiJEZWxldGVUcmFmZmljRGVzY3JpcHRvclByb2ZpbGVEYXRhEicuYmJmX2ZpYmVyLlRyYWZmaWNEZXNjcmlwdG9yUHJvZmlsZURhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiP4LT5JMCOSo3L2FwaS92MS9sb2NhbC90cmFmZmljX2Rlc2NyaXB0b3JfcHJvZmlsZXMve25hbWV9L2RlbGV0ZRJuChZHZXRBbGxUY29udHNDb25maWdEYXRhEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gh4uYmJmX2ZpYmVyLkFsbFRjb250c0NvbmZpZ0RhdGEiHILT5JMCFhIUL2FwaS92MS9sb2NhbC90Y29udHMSdQoWQ3JlYXRlVGNvbnRzQ29uZmlnRGF0YRIbLmJiZl9maWJlci5UY29udHNDb25maWdEYXRhGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiAiGy9hcGkvdjEvbG9jYWwvdGNvbnRzL3tuYW1lfToBKhJ8ChZVcGRhdGVUY29udHNDb25maWdEYXRhEhsuYmJmX2ZpYmVyLlRjb250c0NvbmZpZ0RhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLYLT5JMCJyIiL2FwaS92MS9sb2NhbC90Y29udHMve25hbWV9L21vZGlmeToBKhJ5ChZEZWxldGVUY29udHNDb25maWdEYXRhEhsuYmJmX2ZpYmVyLlRjb250c0NvbmZpZ0RhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJCoiL2FwaS92MS9sb2NhbC90Y29udHMve25hbWV9L2RlbGV0ZRJ0ChhHZXRBbGxHZW1wb3J0c0NvbmZpZ0RhdGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIC5iYmZfZmliZXIuQWxsR2VtcG9ydHNDb25maWdEYXRhIh6C0+STAhgSFi9hcGkvdjEvbG9jYWwvZ2VtcG9ydHMSewoYQ3JlYXRlR2VtcG9ydHNDb25maWdEYXRhEh0uYmJmX2ZpYmVyLkdlbXBvcnRzQ29uZmlnRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIogtPkkwIiIh0vYXBpL3YxL2xvY2FsL2dlbXBvcnRzL3tuYW1lfToBKhKCAQoYVXBkYXRlR2VtcG9ydHNDb25maWdEYXRhEh0uYmJmX2ZpYmVyLkdlbXBvcnRzQ29uZmlnRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIvgtPkkwIpIiQvYXBpL3YxL2xvY2FsL2dlbXBvcnRzL3tuYW1lfS9tb2RpZnk6ASoSfwoYRGVsZXRlR2VtcG9ydHNDb25maWdEYXRhEh0uYmJmX2ZpYmVyLkdlbXBvcnRzQ29uZmlnRGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIsgtPkkwImKiQvYXBpL3YxL2xvY2FsL2dlbXBvcnRzL3tuYW1lfS9kZWxldGUSkAEKIUdldEFsbE11bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRopLmJiZl9maWJlci5BbGxNdWx0aWNhc3RHZW1wb3J0c0NvbmZpZ0RhdGEiKILT5JMCIhIgL2FwaS92MS9sb2NhbC9tdWx0aWNhc3RfZ2VtcG9ydHMSlwEKIUNyZWF0ZU11bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YRImLmJiZl9maWJlci5NdWx0aWNhc3RHZW1wb3J0c0NvbmZpZ0RhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMoLT5JMCLCInL2FwaS92MS9sb2NhbC9tdWx0aWNhc3RfZ2VtcG9ydHMve25hbWV9OgEqEp4BCiFVcGRhdGVNdWx0aWNhc3RHZW1wb3J0c0NvbmZpZ0RhdGESJi5iYmZfZmliZXIuTXVsdGljYXN0R2VtcG9ydHNDb25maWdEYXRhGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjmC0+STAjMiLi9hcGkvdjEvbG9jYWwvbXVsdGljYXN0X2dlbXBvcnRzL3tuYW1lfS9tb2RpZnk6ASoSmwEKIURlbGV0ZU11bHRpY2FzdEdlbXBvcnRzQ29uZmlnRGF0YRImLmJiZl9maWJlci5NdWx0aWNhc3RHZW1wb3J0c0NvbmZpZ0RhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNoLT5JMCMCouL2FwaS92MS9sb2NhbC9tdWx0aWNhc3RfZ2VtcG9ydHMve25hbWV9L2RlbGV0ZRKaAQoiR2V0QWxsTXVsdGljYXN0RGlzdHJpYnV0aW9uU2V0RGF0YRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoqLmJiZl9maWJlci5BbGxNdWx0aWNhc3REaXN0cmlidXRpb25TZXREYXRhIjCC0+STAioSKC9hcGkvdjEvbG9jYWwvbXVsdGljYXN0X2Rpc3RpYnV0aW9uX3NldHMSogEKIkNyZWF0ZU11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGESJy5iYmZfZmliZXIuTXVsdGljYXN0RGlzdHJpYnV0aW9uU2V0RGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI7gtPkkwI1IjAvYXBpL3YxL2xvY2FsL211bHRpY2FzdF9kaXN0cmlidXRpb25fc2V0cy97bmFtZX06ASoSqQEKIlVwZGF0ZU11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGESJy5iYmZfZmliZXIuTXVsdGljYXN0RGlzdHJpYnV0aW9uU2V0RGF0YRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJCgtPkkwI8IjcvYXBpL3YxL2xvY2FsL211bHRpY2FzdF9kaXN0cmlidXRpb25fc2V0cy97bmFtZX0vbW9kaWZ5OgEqEqYBCiJEZWxldGVNdWx0aWNhc3REaXN0cmlidXRpb25TZXREYXRhEicuYmJmX2ZpYmVyLk11bHRpY2FzdERpc3RyaWJ1dGlvblNldERhdGEaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiP4LT5JMCOSo3L2FwaS92MS9sb2NhbC9tdWx0aWNhc3RfZGlzdHJpYnV0aW9uX3NldHMve25hbWV9L2RlbGV0ZRJGChBTdHJlYW1QYWNrZXRzT3V0EhYub3BlbmZsb3dfMTMuUGFja2V0T3V0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IgAoARJFChBSZWNlaXZlUGFja2V0c0luEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhUub3BlbmZsb3dfMTMuUGFja2V0SW4iADABEksKE1JlY2VpdmVDaGFuZ2VFdmVudHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaGC5vcGVuZmxvd18xMy5DaGFuZ2VFdmVudCIAMAESZQoRQ3JlYXRlQWxhcm1GaWx0ZXISEy52b2x0aGEuQWxhcm1GaWx0ZXIaEy52b2x0aGEuQWxhcm1GaWx0ZXIiJoLT5JMCICIbL2FwaS92MS9sb2NhbC9hbGFybV9maWx0ZXJzOgEqElsKDkdldEFsYXJtRmlsdGVyEgoudm9sdGhhLklEGhMudm9sdGhhLkFsYXJtRmlsdGVyIiiC0+STAiISIC9hcGkvdjEvbG9jYWwvYWxhcm1fZmlsdGVycy97aWR9EmoKEVVwZGF0ZUFsYXJtRmlsdGVyEhMudm9sdGhhLkFsYXJtRmlsdGVyGhMudm9sdGhhLkFsYXJtRmlsdGVyIiuC0+STAiUaIC9hcGkvdjEvbG9jYWwvYWxhcm1fZmlsdGVycy97aWR9OgEqEmEKEURlbGV0ZUFsYXJtRmlsdGVyEgoudm9sdGhhLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiiC0+STAiIqIC9hcGkvdjEvbG9jYWwvYWxhcm1fZmlsdGVycy97aWR9EmUKEExpc3RBbGFybUZpbHRlcnMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFC52b2x0aGEuQWxhcm1GaWx0ZXJzIiOC0+STAh0SGy9hcGkvdjEvbG9jYWwvYWxhcm1fZmlsdGVycxJSCglHZXRJbWFnZXMSCi52b2x0aGEuSUQaDi52b2x0aGEuSW1hZ2VzIimC0+STAiMSIS9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L2ltYWdlcxJeCghTZWxmVGVzdBIKLnZvbHRoYS5JRBoYLnZvbHRoYS5TZWxmVGVzdFJlc3BvbnNlIiyC0+STAiYiJC9hcGkvdjEvbG9jYWwvZGV2aWNlcy97aWR9L3NlbGZfdGVzdBJDCglTdWJzY3JpYmUSGS52b2x0aGEuT2ZBZ2VudFN1YnNjcmliZXIaGS52b2x0aGEuT2ZBZ2VudFN1YnNjcmliZXIiABJWChBHZXRNaWJEZXZpY2VEYXRhEgoudm9sdGhhLklEGhMub21jaS5NaWJEZXZpY2VEYXRhIiGC0+STAhsSGS9hcGkvdjEvb3Blbm9tY2kve2lkfS9taWISXQoSR2V0QWxhcm1EZXZpY2VEYXRhEgoudm9sdGhhLklEGhYuYWxhcm0uQWxhcm1EZXZpY2VEYXRhIiOC0+STAh0SGy9hcGkvdjEvb3Blbm9tY2kve2lkfS9hbGFybRJ0Cg1TaW11bGF0ZUFsYXJtEhwudm9sdGhhLlNpbXVsYXRlQWxhcm1SZXF1ZXN0GhUudm9sdGhhLk9wZXJhdGlvblJlc3AiLoLT5JMCKCIjL2FwaS92MS9kZXZpY2VzL3tpZH0vc2ltdWxhdGVfYWxhcm06ASpCcAoTb3JnLm9wZW5jb3JkLnZvbHRoYUIMVm9sdGhhUHJvdG9zWjJnb3BrZy5pbi9kYmFpbmJyaS1jaWVuYS92b2x0aGEtcHJvdG9zLnYxL2dvL3ZvbHRoYaoCFk9wZW5jb3JkLlZvbHRoYS5Wb2x0aGFKrp4CCgcSBQYA+Q0BClwKAQwSAwYAEjJSCiBUb3AtbGV2ZWwgVm9sdGhhIEFQSSBkZWZpbml0aW9uCgogRm9yIGRldGFpbHMsIHNlZSBpbmRpdmlkdWFsIGRlZmluaXRpb24gZmlsZXMuCgoICgEIEgMIAEkKCQoCCAsSAwgASQoICgECEgMKAA8KCQoCAwASAwwAJQoJCgIDARIDDQAjCgkKAgMCEgMOACYKCQoCAwMSAxAAKgoJCgIDBBIDEgApCgkKAgoAEgMSBw0KCQoCAwUSAxMAKwoJCgIKARIDEwcNCgkK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