CuEsChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJvChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWiVnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvYW55ogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSoErCgcSBR4AmgEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwA8CgkKAggLEgMjADwKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQApCgkKAggIEgMlACkKCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEK5BAKAgQAEgV5AJoBARrWECBgQW55YCBjb250YWlucyBhbiBhcmJpdHJhcnkgc2VyaWFsaXplZCBwcm90b2NvbCBidWZmZXIgbWVzc2FnZSBhbG9uZyB3aXRoIGEKIFVSTCB0aGF0IGRlc2NyaWJlcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZCBtZXNzYWdlLgoKIFByb3RvYnVmIGxpYnJhcnkgcHJvdmlkZXMgc3VwcG9ydCB0byBwYWNrL3VucGFjayBBbnkgdmFsdWVzIGluIHRoZSBmb3JtCiBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBvciBhZGRpdGlvbmFsIGdlbmVyYXRlZCBtZXRob2RzIG9mIHRoZSBBbnkgdHlwZS4KCiBFeGFtcGxlIDE6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gQysrLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnk7CiAgICAgYW55LlBhY2tGcm9tKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5VbnBhY2tUbygmZm9vKSkgewogICAgICAgLi4uCiAgICAgfQoKIEV4YW1wbGUgMjogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBKYXZhLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnkgPSBBbnkucGFjayhmb28pOwogICAgIC4uLgogICAgIGlmIChhbnkuaXMoRm9vLmNsYXNzKSkgewogICAgICAgZm9vID0gYW55LnVucGFjayhGb28uY2xhc3MpOwogICAgIH0KCiAgRXhhbXBsZSAzOiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIFB5dGhvbi4KCiAgICAgZm9vID0gRm9vKC4uLikKICAgICBhbnkgPSBBbnkoKQogICAgIGFueS5QYWNrKGZvbykKICAgICAuLi4KICAgICBpZiBhbnkuSXMoRm9vLkRFU0NSSVBUT1IpOgogICAgICAgYW55LlVucGFjayhmb28pCiAgICAgICAuLi4KCiAgRXhhbXBsZSA0OiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIEdvCgogICAgICBmb28gOj0gJnBiLkZvb3suLi59CiAgICAgIGFueSwgZXJyIDo9IHB0eXBlcy5NYXJzaGFsQW55KGZvbykKICAgICAgLi4uCiAgICAgIGZvbyA6PSAmcGIuRm9ve30KICAgICAgaWYgZXJyIDo9IHB0eXBlcy5Vbm1hcnNoYWxBbnkoYW55LCBmb28pOyBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQoKIFRoZSBwYWNrIG1ldGhvZHMgcHJvdmlkZWQgYnkgcHJvdG9idWYgbGlicmFyeSB3aWxsIGJ5IGRlZmF1bHQgdXNlCiAndHlwZS5nb29nbGVhcGlzLmNvbS9mdWxsLnR5cGUubmFtZScgYXMgdGhlIHR5cGUgVVJMIGFuZCB0aGUgdW5wYWNrCiBtZXRob2RzIG9ubHkgdXNlIHRoZSBmdWxseSBxdWFsaWZpZWQgdHlwZSBuYW1lIGFmdGVyIHRoZSBsYXN0ICcvJwogaW4gdGhlIHR5cGUgVVJMLCBmb3IgZXhhbXBsZSAiZm9vLmJhci5jb20veC95LnoiIHdpbGwgeWllbGQgdHlwZQogbmFtZSAieS56Ii4KCgogSlNPTgogPT09PQogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgYW4gYEFueWAgdmFsdWUgdXNlcyB0aGUgcmVndWxhcgogcmVwcmVzZW50YXRpb24gb2YgdGhlIGRlc2VyaWFsaXplZCwgZW1iZWRkZWQgbWVzc2FnZSwgd2l0aCBhbgogYWRkaXRpb25hbCBmaWVsZCBgQHR5cGVgIHdoaWNoIGNvbnRhaW5zIHRoZSB0eXBlIFVSTC4gRXhhbXBsZToKCiAgICAgcGFja2FnZSBnb29nbGUucHJvZmlsZTsKICAgICBtZXNzYWdlIFBlcnNvbiB7CiAgICAgICBzdHJpbmcgZmlyc3RfbmFtZSA9IDE7CiAgICAgICBzdHJpbmcgbGFzdF9uYW1lID0gMjsKICAgICB9CgogICAgIHsKICAgICAgICJAdHlwZSI6ICJ0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5wcm9maWxlLlBlcnNvbiIsCiAgICAgICAiZmlyc3ROYW1lIjogPHN0cmluZz4sCiAgICAgICAibGFzdE5hbWUiOiA8c3RyaW5nPgogICAgIH0KCiBJZiB0aGUgZW1iZWRkZWQgbWVzc2FnZSB0eXBlIGlzIHdlbGwta25vd24gYW5kIGhhcyBhIGN1c3RvbSBKU09OCiByZXByZXNlbnRhdGlvbiwgdGhhdCByZXByZXNlbnRhdGlvbiB3aWxsIGJlIGVtYmVkZGVkIGFkZGluZyBhIGZpZWxkCiBgdmFsdWVgIHdoaWNoIGhvbGRzIHRoZSBjdXN0b20gSlNPTiBpbiBhZGRpdGlvbiB0byB0aGUgYEB0eXBlYAogZmllbGQuIEV4YW1wbGUgKGZvciBtZXNzYWdlIFtnb29nbGUucHJvdG9idWYuRHVyYXRpb25dW10pOgoKICAgICB7CiAgICAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucHJvdG9idWYuRHVyYXRpb24iLAogICAgICAgInZhbHVlIjogIjEuMjEycyIKICAgICB9CgoKCgoDBAABEgN5CAsK1woKBAQAAgASBJYBAhYayAogQSBVUkwvcmVzb3VyY2UgbmFtZSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgdGhlIHNlcmlhbGl6ZWQKIHByb3RvY29sIGJ1ZmZlciBtZXNzYWdlLiBUaGlzIHN0cmluZyBtdXN0IGNvbnRhaW4gYXQgbGVhc3QKIG9uZSAiLyIgY2hhcmFjdGVyLiBUaGUgbGFzdCBzZWdtZW50IG9mIHRoZSBVUkwncyBwYXRoIG11c3QgcmVwcmVzZW50CiB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIHR5cGUgKGFzIGluCiBgcGF0aC9nb29nbGUucHJvdG9idWYuRHVyYXRpb25gKS4gVGhlIG5hbWUgc2hvdWxkIGJlIGluIGEgY2Fub25pY2FsIGZvcm0KIChlLmcuLCBsZWFkaW5nICIuIiBpcyBub3QgYWNjZXB0ZWQpLgoKIEluIHByYWN0aWNlLCB0ZWFtcyB1c3VhbGx5IHByZWNvbXBpbGUgaW50byB0aGUgYmluYXJ5IGFsbCB0eXBlcyB0aGF0IHRoZXkKIGV4cGVjdCBpdCB0byB1c2UgaW4gdGhlIGNvbnRleHQgb2YgQW55LiBIb3dldmVyLCBmb3IgVVJMcyB3aGljaCB1c2UgdGhlCiBzY2hlbWUgYGh0dHBgLCBgaHR0cHNgLCBvciBubyBzY2hlbWUsIG9uZSBjYW4gb3B0aW9uYWxseSBzZXQgdXAgYSB0eXBlCiBzZXJ2ZXIgdGhhdCBtYXBzIHR5cGUgVVJMcyB0byBtZXNzYWdlIGRlZmluaXRpb25zIGFzIGZvbGxvd3M6CgogKiBJZiBubyBzY2hlbWUgaXMgcHJvdmlkZWQsIGBodHRwc2AgaXMgYXNzdW1lZC4KICogQW4gSFRUUCBHRVQgb24gdGhlIFVSTCBtdXN0IHlpZWxkIGEgW2dvb2dsZS5wcm90b2J1Zi5UeXBlXVtdCiAgIHZhbHVlIGluIGJpbmFyeSBmb3JtYXQsIG9yIHByb2R1Y2UgYW4gZXJyb3IuCiAqIEFwcGxpY2F0aW9ucyBhcmUgYWxsb3dlZCB0byBjYWNoZSBsb29rdXAgcmVzdWx0cyBiYXNlZCBvbiB0aGUKICAgVVJMLCBvciBoYXZlIHRoZW0gcHJlY29tcGlsZWQgaW50byBhIGJpbmFyeSB0byBhdm9pZCBhbnkKICAgbG9va3VwLiBUaGVyZWZvcmUsIGJpbmFyeSBjb21wYXRpYmlsaXR5IG5lZWRzIHRvIGJlIHByZXNlcnZlZAogICBvbiBjaGFuZ2VzIHRvIHR5cGVzLiAoVXNlIHZlcnNpb25lZCB0eXBlIG5hbWVzIHRvIG1hbmFnZQogICBicmVha2luZyBjaGFuZ2VzLikKCiBOb3RlOiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgaW4gdGhlIG9mZmljaWFsCiBwcm90b2J1ZiByZWxlYXNlLCBhbmQgaXQgaXMgbm90IHVzZWQgZm9yIHR5cGUgVVJMcyBiZWdpbm5pbmcgd2l0aAogdHlwZS5nb29nbGVhcGlzLmNvbS4KCiBTY2hlbWVzIG90aGVyIHRoYW4gYGh0dHBgLCBgaHR0cHNgIChvciB0aGUgZW1wdHkgc2NoZW1lKSBtaWdodCBiZQogdXNlZCB3aXRoIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHNlbWFudGljcy4KCgoOCgUEAAIABBIFlgECeQ0KDQoFBAACAAUSBJYBAggKDQoFBAACAAESBJYBCREKDQoFBAACAAMSBJYBFBUKVwoEBAACARIEmQECEhpJIE11c3QgYmUgYSB2YWxpZCBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBvZiB0aGUgYWJvdmUgc3BlY2lmaWVkIHR5cGUuCgoPCgUEAAIBBBIGmQEClgEWCg0KBQQAAgEFEgSZAQIHCg0KBQQAAgEBEgSZAQgNCg0KBQQAAgEDEgSZARARYgZwcm90bzMKxBEKG3ZvbHRoYV9wcm90b3MvYWRhcHRlci5wcm90bxIHYWRhcHRlchoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90byJSCg1BZGFwdGVyQ29uZmlnEkEKEWFkZGl0aW9uYWxfY29uZmlnGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIQYWRkaXRpb25hbENvbmZpZyKjAwoHQWRhcHRlchIOCgJpZBgBIAEoCVICaWQSFgoGdmVuZG9yGAIgASgJUgZ2ZW5kb3ISGAoHdmVyc2lvbhgDIAEoCVIHdmVyc2lvbhIuCgZjb25maWcYECABKAsyFi5hZGFwdGVyLkFkYXB0ZXJDb25maWdSBmNvbmZpZxJLChZhZGRpdGlvbmFsX2Rlc2NyaXB0aW9uGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIVYWRkaXRpb25hbERlc2NyaXB0aW9uEiwKEmxvZ2ljYWxfZGV2aWNlX2lkcxgEIAMoCVIQbG9naWNhbERldmljZUlkcxItChJsYXN0X2NvbW11bmljYXRpb24YBSABKANSEWxhc3RDb21tdW5pY2F0aW9uEiYKDmN1cnJlbnRSZXBsaWNhGAYgASgFUg5jdXJyZW50UmVwbGljYRIkCg10b3RhbFJlcGxpY2FzGAcgASgFUg10b3RhbFJlcGxpY2FzEhoKCGVuZHBvaW50GAggASgJUghlbmRwb2ludBISCgR0eXBlGAkgASgJ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dWYvcHR5cGVzL2VtcHR5+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv4QCgYSBB4AMxAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwq/awoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8SBmNvbW1vbiIXCgNLZXkSEAoDa2V5GAEgASgJUgNrZXkiFAoCSUQSDgoCaWQYASABKAlSAmlkIicKA0lEcxIgCgVpdGVtcxgBIAMoCzIKLmNvbW1vbi5JRFIFaXRlbXMiegoKQ29ubmVjdGlvbhIaCghlbmRwb2ludBgBIAEoCVIIZW5kcG9pbnQSIAoLY29udGV4dEluZm8YAiABKAlSC2NvbnRleHRJbmZvEi4KE2tlZXBfYWxpdmVfaW50ZXJ2YWwYAyABKANSEWtlZXBBbGl2ZUludGVydmFsImgKCkFkbWluU3RhdGUiWgoFVHlwZXMSCwoHVU5LTk9XThAAEhIKDlBSRVBST1ZJU0lPTkVEEAESCwoHRU5BQkxFRBACEgwKCERJU0FCTEVEEAMSFQoRRE9XTkxPQURJTkdfSU1BR0UQBCKfAQoKT3BlclN0YXR1cyKQAQoFVHlwZXMSCwoHVU5LTk9XThAAEg4KCkRJU0NPVkVSRUQQARIOCgpBQ1RJVkFUSU5HEAISCwoHVEVTVElORxADEgoKBkFDVElWRRAEEgoKBkZBSUxFRBAFEg8KC1JFQ09OQ0lMSU5HEAYSFgoSUkVDT05DSUxJTkdfRkFJTEVEEAcSDAoIUkVCT09URUQQCCJFCg1Db25uZWN0U3RhdHVzIjQKBVR5cGVzEgsKB1VOS05PV04QABIPCgtVTlJFQUNIQUJMRRABEg0KCVJFQUNIQUJMRRACIvIBCg1PcGVyYXRpb25SZXNwEj0KBGNvZGUYASABKA4yKS5jb21tb24uT3BlcmF0aW9uUmVzcC5PcGVyYXRpb25SZXR1cm5Db2RlUgRjb2RlEicKD2FkZGl0aW9uYWxfaW5mbxgCIAEoCVIOYWRkaXRpb25hbEluZm8ieQoTT3BlcmF0aW9uUmV0dXJuQ29kZRIVChFPUEVSQVRJT05fU1VDQ0VTUxAAEhUKEU9QRVJBVElPTl9GQUlMVVJFEAESGQoVT1BFUkFUSU9OX1VOU1VQUE9SVEVEEAISGQoVT1BFUkFUSU9OX0lOX1BST0dSRVNTEAMi2xYKDlBvcnRTdGF0aXN0aWNzEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIZCghyeF9ieXRlcxgCIAEoBlIHcnhCeXRlcxIhCgpyeF9wYWNrZXRzGAMgASgGQgIYAVIJcnhQYWNrZXRzEiwKEHJ4X3VjYXN0X3BhY2tldHMYBCABKAZCAhgBUg5yeFVjYXN0UGFja2V0cxIsChByeF9tY2FzdF9wYWNrZXRzGAUgASgGQgIYAVIOcnhNY2FzdFBhY2tldHMSLAoQcnhfYmNhc3RfcGFja2V0cxgGIAEoBkICGAFSDnJ4QmNhc3RQYWNrZXRzEiwKEHJ4X2Vycm9yX3BhY2tldHMYByABKAZCAhgBUg5yeEVycm9yUGFja2V0cxIbCglyeF9mcmFtZXMYESABKAZSCHJ4RnJhbWVzEiAKDHJ4X2ZyYW1lc182NBgSIAEoBlIKcnhGcmFtZXM2NBInChByeF9mcmFtZXNfNjVfMTI3GBMgASgGUg1yeEZyYW1lczY1MTI3EikKEXJ4X2ZyYW1lc18xMjhfMjU1GBQgASgGUg5yeEZyYW1lczEyODI1NRIpChFyeF9mcmFtZXNfMjU2XzUxMRgVIAEoBlIOcnhGcmFtZXMyNTY1MTESKwoScnhfZnJhbWVzXzUxMl8xMDIzGBYgASgGUg9yeEZyYW1lczUxMjEwMjMSLQoTcnhfZnJhbWVzXzEwMjRfMTUxOBgXIAEoBlIQcnhGcmFtZXMxMDI0MTUxOBItChNyeF9mcmFtZXNfMTUxOV8yMDQ3GBggASgGUhByeEZyYW1lczE1MTkyMDQ3Ei0KE3J4X2ZyYW1lc18yMDQ4XzQwOTUYGSABKAZSEHJ4RnJhbWVzMjA0ODQwOTUSLQoTcnhfZnJhbWVzXzQwOTZfOTIxNhgaIAEoBlIQcnhGcmFtZXM0MDk2OTIxNhIvChRyeF9mcmFtZXNfOTIxN18xNjM4MxgbIAEoBlIRcnhGcmFtZXM5MjE3MTYzODMSIgoNcnhfY3JjX2Vycm9ycxgOIAEoBlILcnhDcmNFcnJvcnMSLgoScnhVbmRlcnNpemVQYWNrZXRzGCcgASgGUhJyeFVuZGVyc2l6ZVBhY2tldHMSLAoRcnhPdmVyc2l6ZVBhY2tldHMYKCABKAZSEXJ4T3ZlcnNpemVQYWNrZXRzEhQKBXJ4R2VtGCsgASgGUgVyeEdlbRIiCgxyeEdlbURyb3BwZWQYLCABKAZSDHJ4R2VtRHJvcHBlZBIcCglyeEdlbUlkbGUYLSABKAZSCXJ4R2VtSWRsZRImCg5yeEdlbUNvcnJlY3RlZBguIAEoBlIOcnhHZW1Db3JyZWN0ZWQSIgoMcnhHZW1JbGxlZ2FsGC8gASgGUgxyeEdlbUlsbGVnYWwSKAoPcnhGcmFnbWVudEVycm9yGDAgASgGUg9yeEZyYWdtZW50RXJyb3ISKgoQcnhQYWNrZXRzRHJvcHBlZBgxIAEoBlIQcnhQYWNrZXRzRHJvcHBlZBI4ChdyeENwdU9tY2lQYWNrZXRzRHJvcHBlZBgyIAEoBlIXcnhDcHVPbWNpUGFja2V0c0Ryb3BwZWQSFAoFcnhDcHUYMyABKAZSBXJ4Q3B1EhYKBnJ4T21jaRg0IAEoBlIGcnhPbWNpEjQKFXJ4T21jaVBhY2tldHNDcmNFcnJvchg1IAEoBlIVcnhPbWNpUGFja2V0c0NyY0Vycm9yEiwKEXJ4RmNzRXJyb3JQYWNrZXRzGD4gASgGUhFyeEZjc0Vycm9yUGFja2V0cxIZCgh0eF9ieXRlcxgIIAEoBlIHdHhCeXRlcxIhCgp0eF9wYWNrZXRzGAkgASgGQgIYAVIJdHhQYWNrZXRzEiwKEHR4X3VjYXN0X3BhY2tldHMYCiABKAZCAhgBUg50eFVjYXN0UGFja2V0cxIsChB0eF9tY2FzdF9wYWNrZXRzGAsgASgGQgIYAVIOdHhNY2FzdFBhY2tldHMSLAoQdHhfYmNhc3RfcGFja2V0cxgMIAEoBkICGAFSDnR4QmNhc3RQYWNrZXRzEiwKEHR4X2Vycm9yX3BhY2tldHMYDSABKAZCAhgBUg50eEVycm9yUGFja2V0cxIbCgl0eF9mcmFtZXMYHCABKAZSCHR4RnJhbWVzEiAKDHR4X2ZyYW1lc182NBgdIAEoBlIKdHhGcmFtZXM2NBInChB0eF9mcmFtZXNfNjVfMTI3GB4gASgGUg10eEZyYW1lczY1MTI3EikKEXR4X2ZyYW1lc18xMjhfMjU1GB8gASgGUg50eEZyYW1lczEyODI1NRIpChF0eF9mcmFtZXNfMjU2XzUxMRggIAEoBlIOdHhGcmFtZXMyNTY1MTESKwoSdHhfZnJhbWVzXzUxMl8xMDIzGCEgASgGUg90eEZyYW1lczUxMjEwMjMSLQoTdHhfZnJhbWVzXzEwMjRfMTUxOBgiIAEoBlIQdHhGcmFtZXMxMDI0MTUxOBItChN0eF9mcmFtZXNfMTUxOV8yMDQ3GCMgASgGUhB0eEZyYW1lczE1MTkyMDQ3Ei0KE3R4X2ZyYW1lc18yMDQ4XzQwOTUYJCABKAZSEHR4RnJhbWVzMjA0ODQwOTUSLQoTdHhfZnJhbWVzXzQwOTZfOTIxNhglIAEoBlIQdHhGcmFtZXM0MDk2OTIxNhIvChR0eF9mcmFtZXNfOTIxN18xNjM4MxgmIAEoBlIRdHhGcmFtZXM5MjE3MTYzODMSLgoSdHhVbmRlcnNpemVQYWNrZXRzGCkgASgGUhJ0eFVuZGVyc2l6ZVBhY2tldHMSLAoRdHhPdmVyc2l6ZVBhY2tldHMYKiABKAZSEXR4T3ZlcnNpemVQYWNrZXRzEhQKBXR4R2VtGDYgASgGUgV0eEdlbRIUCgV0eENwdRg3IAEoBlIFdHhDcHUSFgoGdHhPbWNpGDggASgGUgZ0eE9tY2kSNgoWdHhEcm9wcGVkSWxsZWdhbExlbmd0aBg5IAEoBlIWdHhEcm9wcGVkSWxsZWdhbExlbmd0aBIsChF0eERyb3BwZWRUcGlkTWlzcxg6IAEoBlIRdHhEcm9wcGVkVHBpZE1pc3MSKgoQdHhEcm9wcGVkVmlkTWlzcxg7IAEoBlIQdHhEcm9wcGVkVmlkTWlzcxImCg50eERyb3BwZWRUb3RhbBg8IAEoBlIOdHhEcm9wcGVkVG90YWwSHQoKYmlwX2Vycm9ycxgPIAEoBlIJYmlwRXJyb3JzEhsKCWJpcF91bml0cxg9IAEoBlIIYmlwVW5pdHMSHAoJdGltZXN0YW1wGBAgASgHUgl0aW1lc3RhbXASJgoPcnhfdWNhc3RfZnJhbWVzGD8gASgGUg1yeFVjYXN0RnJhbWVzEiYKD3J4X21jYXN0X2ZyYW1lcxhAIAEoBlINcnhNY2FzdEZyYW1lcxImCg9yeF9iY2FzdF9mcmFtZXMYQSABKAZSDXJ4QmNhc3RGcmFtZXMSJgoPcnhfZXJyb3JfZnJhbWVzGEIgASgGUg1yeEVycm9yRnJhbWVzEiYKD3J4X3JpZ2h0X2ZyYW1lcxhDIAEoBlINcnhSaWdodEZyYW1lcxImCg90eF91Y2FzdF9mcmFtZXMYRCABKAZSDXR4VWNhc3RGcmFtZXMSJgoPdHhfbWNhc3RfZnJhbWVzGEUgASgGUg10eE1jYXN0RnJhbWVzEiYKD3R4X2JjYXN0X2ZyYW1lcxhGIAEoBlINdHhCY2FzdEZyYW1lcxImCg90eF9lcnJvcl9mcmFtZXMYRyABKAZSDXR4RXJyb3JGcmFtZXMSLgoTcnhfZGlzY2FyZGVkX2ZyYW1lcxhIIAEoBlIRcnhEaXNjYXJkZWRGcmFtZXMqHAoMVGVzdE1vZGVLZXlzEgwKCGFwaV90ZXN0EABCRQoTb3JnLm9wZW5jb3JkLnZvbHRoYVouZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL2NvbW1vbkqxTQoHEgUAANIBAQoICgEMEgMAABIKCAoBCBIDAgBFCgkKAggLEgMCAEUKCAoBAhIDBAAPCggKAQgSAwYALAoJCgIIARIDBgAsCiQKAgQAEgQJAAsBGhggRnVsbCBwYXRoIGZvciBLViBzdG9yZQoKCgoDBAABEgMJCAsKCwoEBAACABIDCgQTCg0KBQQAAgAEEgQKBAkNCgwKBQQAAgAFEgMKBAoKDAoFBAACAAESAwoLDgoMCgUEAAIAAxIDChESCioKAgQBEgQOABABGh4gQ29u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bGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EiMKDXJlc3BvbnNlX2JvZHkYDCABKAlSDHJlc3BvbnNlQm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJSpd0CgcSBQ8A+wIBCr4ECgEMEgMPABIyswQgQ29weXJpZ2h0IDIwMTggR29vZ2xlIExMQy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCgoICgECEgMRABMKCAoBCBIDEwAfCgkKAggfEgMTAB8KCAoBCBIDFABYCgkKAggLEgMUAFgKCAoBCBIDFQAiCgkKAggKEgMVACIKCAoBCBIDFgAqCgkKAggIEgMWACoKCAoBCBIDFwAnCgkKAggBEgMXACcKCAoBCBIDGAAiCgkKAggkEgMYACIKzQEKAgQAEgQdACoBGsABIERlZmluZXMgdGhlIEhUVFAgY29uZmlndXJhdGlvbiBmb3IgYW4gQVBJIHNlcnZpY2UuIEl0IGNvbnRhaW5zIGEgbGlzdCBvZgogW0h0dHBSdWxlXVtnb29nbGUuYXBpLkh0dHBSdWxlXSwgZWFjaCBzcGVjaWZ5aW5nIHRoZSBtYXBwaW5nIG9mIGFuIFJQQyBtZXRob2QKIHRvIG9uZSBvciBtb3JlIEhUVFAgUkVTVCBBUEkgbWV0aG9kcy4KCgoKAwQAARIDHQgMCqIBCgQEAAIAEgMhAh4alAEgQSBsaXN0IG9mIEhUVFAgY29uZmlndXJhdGlvbiBydWxlcyB0aGF0IGFwcGx5IHRvIGluZGl2aWR1YWwgQVBJIG1ldGhvZHMuCgogKipOT1RFOioqIEFsbCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24gcnVsZXMgZm9sbG93ICJsYXN0IG9uZSB3aW5zIiBvcmRlci4KCgwKBQQAAgAEEgMhAgoKDAoFBAACAAYSAyELEwoMCgUEAAIAARIDIRQZCgwKBQQAAgADEgMhHB0KkwIKBAQAAgESAykCKxqFAiBXaGVuIHNldCB0byB0cnVlLCBVUkwgcGF0aCBwYXJtZXRlcnMgd2lsbCBiZSBmdWxseSBVUkktZGVjb2RlZCBleGNlcHQgaW4KIGNhc2VzIG9mIHNpbmdsZSBzZWdtZW50IG1hdGNoZXMgaW4gcmVzZXJ2ZWQgZXhwYW5zaW9uLCB3aGVyZSAiJTJGIiB3aWxsIGJlCiBsZWZ0IGVuY29kZWQuCgogVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gbm90IGRlY29kZSBSRkMgNjU3MCByZXNlcnZlZCBjaGFyYWN0ZXJzIGluIG11bHRpCiBzZWdtZW50IG1hdGNoZXMuCgoNCgUEAAIBBBIEKQIhHgoMCgUEAAIBBRIDKQIGCgwKBQQAAgEBEgMpByYKDAoFBAACAQMSAykpKgq7UwoCBAESBrwCAPICARqsUyAjIGdSUEMgVHJhbnNjb2RpbmcKCiBnUlBDIFRyYW5zY29kaW5nIGlzIGEgZmVhdHVyZSBmb3IgbWFwcGluZyBiZXR3ZWVuIGEgZ1JQQyBtZXRob2QgYW5kIG9uZSBvcgogbW9yZSBIVFRQIFJFU1QgZW5kcG9pbnRzLiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBidWlsZCBhIHNpbmdsZSBBUEkgc2VydmljZQogdGhhdCBzdXBwb3J0cyBib3RoIGdSUEMgQVBJcyBhbmQgUkVTVCBBUElzLiBNYW55IHN5c3RlbXMsIGluY2x1ZGluZyBbR29vZ2xlCiBBUElzXShodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlYXBpcy9nb29nbGVhcGlzKSwKIFtDbG91ZCBFbmRwb2ludHNdKGh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9lbmRwb2ludHMpLCBbZ1JQQwogR2F0ZXdheV0oaHR0cHM6Ly9naXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheSksCiBhbmQgW0Vudm95XShodHRwczovL2dpdGh1Yi5jb20vZW52b3lwcm94eS9lbnZveSkgcHJveHkgc3VwcG9ydCB0aGlzIGZlYXR1cmUKIGFuZCB1c2UgaXQgZm9yIGxhcmdlIHNjYWxlIHByb2R1Y3Rpb24gc2VydmljZXMuCgogYEh0dHBSdWxlYCBkZWZpbmVzIHRoZSBzY2hlbWEgb2YgdGhlIGdSUEMvUkVTVCBtYXBwaW5nLiBUaGUgbWFwcGluZyBzcGVjaWZpZXMKIGhvdyBkaWZmZXJlbnQgcG9ydGlvbnMgb2YgdGhlIGdSUEMgcmVxdWVzdCBtZXNzYWdlIGFyZSBtYXBwZWQgdG8gdGhlIFVSTAogcGF0aCwgVVJMIHF1ZXJ5IHBhcmFtZXRlcnMsIGFuZCBIVFRQIHJlcXVlc3QgYm9keS4gSXQgYWxzbyBjb250cm9scyBob3cgdGhlCiBnUlBDIHJlc3BvbnNlIG1lc3NhZ2UgaXMgbWFwcGVkIHRvIHRoZSBIVFRQIHJlc3BvbnNlIGJvZHkuIGBIdHRwUnVsZWAgaXMKIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYW4gYGdvb2dsZS5hcGkuaHR0cGAgYW5ub3RhdGlvbiBvbiB0aGUgZ1JQQyBtZXRob2QuCgogRWFjaCBtYXBwaW5nIHNwZWNpZmllcyBhIFVSTCBwYXRoIHRlbXBsYXRlIGFuZCBhbiBIVFRQIG1ldGhvZC4gVGhlIHBhdGgKIHRlbXBsYXRlIG1heSByZWZlciB0byBvbmUgb3IgbW9yZSBmaWVsZHMgaW4gdGhlIGdSUEMgcmVxdWVzdCBtZXNzYWdlLCBhcyBsb25nCiBhcyBlYWNoIGZpZWxkIGlzIGEgbm9uLXJlcGVhdGVkIGZpZWxkIHdpdGggYSBwcmltaXRpdmUgKG5vbi1tZXNzYWdlKSB0eXBlLgogVGhlIHBhdGggdGVtcGxhdGUgY29udHJvbHMgaG93IGZpZWxkcyBvZiB0aGUgcmVxdWVzdCBtZXNzYWdlIGFyZSBtYXBwZWQgdG8KIHRoZSBVUkwgcGF0aC4KCiBFeGFtcGxlOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgR2V0TWVzc2FnZShHZXRNZXNzYWdlUmVxdWVzdCkgcmV0dXJucyAoTWVzc2FnZSkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkgPSB7CiAgICAgICAgICAgICBnZXQ6ICIvdjEve25hbWU9bWVzc2FnZXMvKn0iCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgR2V0TWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG5hbWUgPSAxOyAvLyBNYXBwZWQgdG8gVVJMIHBhdGguCiAgICAgfQogICAgIG1lc3NhZ2UgTWVzc2FnZSB7CiAgICAgICBzdHJpbmcgdGV4dCA9IDE7IC8vIFRoZSByZXNvdXJjZSBjb250ZW50LgogICAgIH0KCiBUaGlzIGVuYWJsZXMgYW4gSFRUUCBSRVNUIHRvIGdSUEMgbWFwcGluZyBhcyBiZWxvdzoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1NmAgIHwgYEdldE1lc3NhZ2UobmFtZTogIm1lc3NhZ2VzLzEyMzQ1NiIpYAoKIEFueSBmaWVsZHMgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSB3aGljaCBhcmUgbm90IGJvdW5kIGJ5IHRoZSBwYXRoIHRlbXBsYXRlCiBhdXRvbWF0aWNhbGx5IGJlY29tZSBIVFRQIHF1ZXJ5IHBhcmFtZXRlcnMgaWYgdGhlcmUgaXMgbm8gSFRUUCByZXF1ZXN0IGJvZHkuCiBGb3IgZXhhbXBsZToKCiAgICAgc2VydmljZSBNZXNzYWdpbmcgewogICAgICAgcnBjIEdldE1lc3NhZ2UoR2V0TWVzc2FnZVJlcXVlc3QpIHJldHVybnMgKE1lc3NhZ2UpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApID0gewogICAgICAgICAgICAgZ2V0OiIvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9IgogICAgICAgICB9OwogICAgICAgfQogICAgIH0KICAgICBtZXNzYWdlIEdldE1lc3NhZ2VSZXF1ZXN0IHsKICAgICAgIG1lc3NhZ2UgU3ViTWVzc2FnZSB7CiAgICAgICAgIHN0cmluZyBzdWJmaWVsZCA9IDE7CiAgICAgICB9CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7IC8vIE1hcHBlZCB0byBVUkwgcGF0aC4KICAgICAgIGludDY0IHJldmlzaW9uID0gMjsgICAgLy8gTWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXIgYHJldmlzaW9uYC4KICAgICAgIFN1Yk1lc3NhZ2Ugc3ViID0gMzsgICAgLy8gTWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXIgYHN1Yi5zdWJmaWVsZGAuCiAgICAgfQoKIFRoaXMgZW5hYmxlcyBhIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBhcyBiZWxvdzoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1Nj9yZXZpc2lvbj0yJnN1Yi5zdWJmaWVsZD1mb29gIHwKIGBHZXRNZXNzYWdlKG1lc3NhZ2VfaWQ6ICIxMjM0NTYiIHJldmlzaW9uOiAyIHN1YjogU3ViTWVzc2FnZShzdWJmaWVsZDoKICJmb28iKSlgCgogTm90ZSB0aGF0IGZpZWxkcyB3aGljaCBhcmUgbWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXJzIG11c3QgaGF2ZSBhCiBwcmltaXRpdmUgdHlwZSBvciBhIHJlcGVhdGVkIHByaW1pdGl2ZSB0eXBlIG9yIGEgbm9uLXJlcGVhdGVkIG1lc3NhZ2UgdHlwZS4KIEluIHRoZSBjYXNlIG9mIGEgcmVwZWF0ZWQgdHlwZSwgdGhlIHBhcmFtZXRlciBjYW4gYmUgcmVwZWF0ZWQgaW4gdGhlIFVSTAogYXMgYC4uLj9wYXJhbT1BJnBhcmFtPUJgLiBJbiB0aGUgY2FzZSBvZiBhIG1lc3NhZ2UgdHlwZSwgZWFjaCBmaWVsZCBvZiB0aGUKIG1lc3NhZ2UgaXMgbWFwcGVkIHRvIGEgc2VwYXJhdGUgcGFyYW1ldGVyLCBzdWNoIGFzCiBgLi4uP2Zvby5hPUEmZm9vLmI9QiZmb28uYz1DYC4KCiBGb3IgSFRUUCBtZXRob2RzIHRoYXQgYWxsb3cgYSByZXF1ZXN0IGJvZHksIHRoZSBgYm9keWAgZmllbGQKIHNwZWNpZmllcyB0aGUgbWFwcGluZy4gQ29uc2lkZXIgYSBSRVNUIHVwZGF0ZSBtZXRob2Qgb24gdGhlCiBtZXNzYWdlIHJlc291cmNlIGNvbGxlY3Rpb246CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBVcGRhdGVNZXNzYWdlKFVwZGF0ZU1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBwYXRjaDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYm9keTogIm1lc3NhZ2UiCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgVXBkYXRlTWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG1lc3NhZ2VfaWQgPSAxOyAvLyBtYXBwZWQgdG8gdGhlIFVSTAogICAgICAgTWVzc2FnZSBtZXNzYWdlID0gMjsgICAvLyBtYXBwZWQgdG8gdGhlIGJvZHkKICAgICB9CgogVGhlIGZvbGxvd2luZyBIVFRQIEpTT04gdG8gUlBDIG1hcHBpbmcgaXMgZW5hYmxlZCwgd2hlcmUgdGhlCiByZXByZXNlbnRhdGlvbiBvZiB0aGUgSlNPTiBpbiB0aGUgcmVxdWVzdCBib2R5IGlzIGRldGVybWluZWQgYnkKIHByb3RvcyBKU09OIGVuY29kaW5nOgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYFBBVENIIC92MS9tZXNzYWdlcy8xMjM0NTYgeyAidGV4dCI6ICJIaSEiIH1gIHwgYFVwZGF0ZU1lc3NhZ2UobWVzc2FnZV9pZDoKICIxMjM0NTYiIG1lc3NhZ2UgeyB0ZXh0OiAiSGkhIiB9KWAKCiBUaGUgc3BlY2lhbCBuYW1lIGAqYCBjYW4gYmUgdXNlZCBpbiB0aGUgYm9keSBtYXBwaW5nIHRvIGRlZmluZSB0aGF0CiBldmVyeSBmaWVsZCBub3QgYm91bmQgYnkgdGhlIHBhdGggdGVtcGxhdGUgc2hvdWxkIGJlIG1hcHBlZCB0byB0aGUKIHJlcXVlc3QgYm9keS4gIFRoaXMgZW5hYmxlcyB0aGUgZm9sbG93aW5nIGFsdGVybmF0aXZlIGRlZmluaXRpb24gb2YKIHRoZSB1cGRhdGUgbWV0aG9kOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgVXBkYXRlTWVzc2FnZShNZXNzYWdlKSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBwYXRjaDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYm9keTogIioiCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgTWVzc2FnZSB7CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7CiAgICAgICBzdHJpbmcgdGV4dCA9IDI7CiAgICAgfQoKCiBUaGUgZm9sbG93aW5nIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBpcyBlbmFibGVkOgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYFBBVENIIC92MS9tZXNzYWdlcy8xMjM0NTYgeyAidGV4dCI6ICJIaSEiIH1gIHwgYFVwZGF0ZU1lc3NhZ2UobWVzc2FnZV9pZDoKICIxMjM0NTYiIHRleHQ6ICJIaSEiKWAKCiBOb3RlIHRoYXQgd2hlbiB1c2luZyBgKmAgaW4gdGhlIGJvZHkgbWFwcGluZywgaXQgaXMgbm90IHBvc3NpYmxlIHRvCiBoYXZlIEhUVFAgcGFyYW1ldGVycywgYXMgYWxsIGZpZWxkcyBub3QgYm91bmQgYnkgdGhlIHBhdGggZW5kIGluCiB0aGUgYm9keS4gVGhpcyBtYWtlcyB0aGlzIG9wdGlvbiBtb3JlIHJhcmVseSB1c2VkIGluIHByYWN0aWNlIHdoZW4KIGRlZmluaW5nIFJFU1QgQVBJcy4gVGhlIGNvbW1vbiB1c2FnZSBvZiBgKmAgaXMgaW4gY3VzdG9tIG1ldGhvZHMKIHdoaWNoIGRvbid0IHVzZSB0aGUgVVJMIGF0IGFsbCBmb3IgdHJhbnNmZXJyaW5nIGRhdGEuCgogSXQgaXMgcG9zc2libGUgdG8gZGVmaW5lIG11bHRpcGxlIEhUVFAgbWV0aG9kcyBmb3Igb25lIFJQQyBieSB1c2luZwogdGhlIGBhZGRpdGlvbmFsX2JpbmRpbmdzYCBvcHRpb24uIEV4YW1wbGU6CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBHZXRNZXNzYWdlKEdldE1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBnZXQ6ICIvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9IgogICAgICAgICAgIGFkZGl0aW9uYWxfYmluZGluZ3MgewogICAgICAgICAgICAgZ2V0OiAiL3YxL3VzZXJzL3t1c2VyX2lkfS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgfQogICAgICAgICB9OwogICAgICAgfQogICAgIH0KICAgICBtZXNzYWdlIEdldE1lc3NhZ2VSZXF1ZXN0IHsKICAgICAgIHN0cmluZyBtZXNzYWdlX2lkID0gMTsKICAgICAgIHN0cmluZyB1c2VyX2lkID0gMjsKICAgICB9CgogVGhpcyBlbmFibGVzIHRoZSBmb2xsb3dpbmcgdHdvIGFsdGVybmF0aXZlIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZ3M6CgogSFRUUCB8IGdSUEMKIC0tLS0tfC0tLS0tCiBgR0VUIC92MS9tZXNzYWdlcy8xMjM0NTZgIHwgYEdldE1lc3NhZ2UobWVzc2FnZV9pZDogIjEyMzQ1NiIpYAogYEdFVCAvdjEvdXNlcnMvbWUvbWVzc2FnZXMvMTIzNDU2YCB8IGBHZXRNZXNzYWdlKHVzZXJfaWQ6ICJtZSIgbWVzc2FnZV9pZDoKICIxMjM0NTYiKWAKCiAjIyBSdWxlcyBmb3IgSFRUUCBtYXBwaW5nCgogMS4gTGVhZiByZXF1ZXN0IGZpZWxkcyAocmVjdXJzaXZlIGV4cGFuc2lvbiBuZXN0ZWQgbWVzc2FnZXMgaW4gdGhlIHJlcXVlc3QKICAgIG1lc3NhZ2UpIGFyZSBjbGFzc2lmaWVkIGludG8gdGhyZWUgY2F0ZWdvcmllczoKICAgIC0gRmllbGRzIHJlZmVycmVkIGJ5IHRoZSBwYXRoIHRlbXBsYXRlLiBUaGV5IGFyZSBwYXNzZWQgdmlhIHRoZSBVUkwgcGF0aC4KICAgIC0gRmllbGRzIHJlZmVycmVkIGJ5IHRoZSBbSHR0cFJ1bGUuYm9keV1bZ29vZ2xlLmFwaS5IdHRwUnVsZS5ib2R5XS4gVGhleQogICAgYXJlIHBhc3NlZCB2aWEgdGhlIEhUVFAKICAgICAgcmVxdWVzdCBib2R5LgogICAgLSBBbGwgb3RoZXIgZmllbGRzIGFyZSBwYXNzZWQgdmlhIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVycywgYW5kIHRoZQogICAgICBwYXJhbWV0ZXIgbmFtZSBpcyB0aGUgZmllbGQgcGF0aCBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlLiBBIHJlcGVhdGVkCiAgICAgIGZpZWxkIGNhbiBiZSByZXByZXNlbnRlZCBhcyBtdWx0aXBsZSBxdWVyeSBwYXJhbWV0ZXJzIHVuZGVyIHRoZSBzYW1lCiAgICAgIG5hbWUuCiAgMi4gSWYgW0h0dHBSdWxlLmJvZHldW2dvb2dsZS5hcGkuSHR0cFJ1bGUuYm9keV0gaXMgIioiLCB0aGVyZSBpcyBubyBVUkwKICBxdWVyeSBwYXJhbWV0ZXIsIGFsbCBmaWVsZHMKICAgICBhcmUgcGFzc2VkIHZpYSBVUkwgcGF0aCBhbmQgSFRUUCByZXF1ZXN0IGJvZHkuCiAgMy4gSWYgW0h0dHBSdWxlLmJvZHldW2dvb2dsZS5hcGkuSHR0cFJ1bGUuYm9keV0gaXMgb21pdHRlZCwgdGhlcmUgaXMgbm8gSFRUUAogIHJlcXVlc3QgYm9keSwgYWxsCiAgICAgZmllbGRzIGFyZSBwYXNzZWQgdmlhIFVSTCBwYXRoIGFuZCBVUkwgcXVlcnkgcGFyYW1ldGVycy4KCiAjIyMgUGF0aCB0ZW1wbGF0ZSBzeW50YXgKCiAgICAgVGVtcGxhdGUgPSAiLyIgU2VnbWVudHMgWyBWZXJiIF0gOwogICAgIFNlZ21lbnRzID0gU2VnbWVudCB7ICIvIiBTZWdtZW50IH0gOwogICAgIFNlZ21lbnQgID0gIioiIHwgIioqIiB8IExJVEVSQUwgfCBWYXJpYWJsZSA7CiAgICAgVmFyaWFibGUgPSAieyIgRmllbGRQYXRoIFsgIj0iIFNlZ21lbnRzIF0gIn0iIDsKICAgICBGaWVsZFBhdGggPSBJREVOVCB7ICIuIiBJREVOVCB9IDsKICAgICBWZXJiICAgICA9ICI6IiBMSVRFUkFMIDsKCiBUaGUgc3ludGF4IGAqYCBtYXRjaGVzIGEgc2luZ2xlIFVSTCBwYXRoIHNlZ21lbnQuIFRoZSBzeW50YXggYCoqYCBtYXRjaGVzCiB6ZXJvIG9yIG1vcmUgVVJMIHBhdGggc2VnbWVudHMsIHdoaWNoIG11c3QgYmUgdGhlIGxhc3QgcGFydCBvZiB0aGUgVVJMIHBhdGgKIGV4Y2VwdCB0aGUgYFZlcmJgLgoKIFRoZSBzeW50YXggYFZhcmlhYmxlYCBtYXRjaGVzIHBhcnQgb2YgdGhlIFVSTCBwYXRoIGFzIHNwZWNpZmllZCBieSBpdHMKIHRlbXBsYXRlLiBBIHZhcmlhYmxlIHRlbXBsYXRlIG11c3Qgbm90IGNvbnRhaW4gb3RoZXIgdmFyaWFibGVzLiBJZiBhIHZhcmlhYmxlCiBtYXRjaGVzIGEgc2luZ2xlIHBhdGggc2VnbWVudCwgaXRzIHRlbXBsYXRlIG1heSBiZSBvbWl0dGVkLCBlLmcuIGB7dmFyfWAKIGlzIGVxdWl2YWxlbnQgdG8gYHt2YXI9Kn1gLgoKIFRoZSBzeW50YXggYExJVEVSQUxgIG1hdGNoZXMgbGl0ZXJhbCB0ZXh0IGluIHRoZSBVUkwgcGF0aC4gSWYgdGhlIGBMSVRFUkFMYAogY29udGFpbnMgYW55IHJlc2VydmVkIGNoYXJhY3Rlciwgc3VjaCBjaGFyYWN0ZXJzIHNob3VsZCBiZSBwZXJjZW50LWVuY29kZWQKIGJlZm9yZSB0aGUgbWF0Y2hpbmcuCgogSWYgYSB2YXJpYWJsZSBjb250YWlucyBleGFjdGx5IG9uZSBwYXRoIHNlZ21lbnQsIHN1Y2ggYXMgYCJ7dmFyfSJgIG9yCiBgInt2YXI9Kn0iYCwgd2hlbiBzdWNoIGEgdmFyaWFibGUgaXMgZXhwYW5kZWQgaW50byBhIFVSTCBwYXRoIG9uIHRoZSBjbGllbnQKIHNpZGUsIGFsbCBjaGFyYWN0ZXJzIGV4Y2VwdCBgWy1fLn4wLTlhLXpBLVpdYCBhcmUgcGVyY2VudC1lbmNvZGVkLiBUaGUKIHNlcnZlciBzaWRlIGRvZXMgdGhlIHJldmVyc2UgZGVjb2RpbmcuIFN1Y2ggdmFyaWFibGVzIHNob3cgdXAgaW4gdGhlCiBbRGlzY292ZXJ5CiBEb2N1bWVudF0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vZGlzY292ZXJ5L3YxL3JlZmVyZW5jZS9hcGlzKSBhcwogYHt2YXJ9YC4KCiBJZiBhIHZhcmlhYmxlIGNvbnRhaW5zIG11bHRpcGxlIHBhdGggc2VnbWVudHMsIHN1Y2ggYXMgYCJ7dmFyPWZvby8qfSJgCiBvciBgInt2YXI9Kip9ImAsIHdoZW4gc3VjaCBhIHZhcmlhYmxlIGlzIGV4cGFuZGVkIGludG8gYSBVUkwgcGF0aCBvbiB0aGUKIGNsaWVudCBzaWRlLCBhbGwgY2hhcmFjdGVycyBleGNlcHQgYFstXy5+LzAtOWEtekEtWl1gIGFyZSBwZXJjZW50LWVuY29kZWQuCiBUaGUgc2VydmVyIHNpZGUgZG9lcyB0aGUgcmV2ZXJzZSBkZWNvZGluZywgZXhjZXB0ICIlMkYiIGFuZCAiJTJmIiBhcmUgbGVmdAogdW5jaGFuZ2VkLiBTdWNoIHZhcmlhYmxlcyBzaG93IHVwIGluIHRoZQogW0Rpc2NvdmVyeQogRG9jdW1lbnRdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2Rpc2NvdmVyeS92MS9yZWZlcmVuY2UvYXBpcykgYXMKIGB7K3Zhcn1gLgoKICMjIFVzaW5nIGdSUEMgQVBJIFNlcnZpY2UgQ29uZmlndXJhdGlvbgoKIGdSUEMgQVBJIFNlcnZpY2UgQ29uZmlndXJhdGlvbiAoc2VydmljZSBjb25maWcpIGlzIGEgY29uZmlndXJhdGlvbiBsYW5ndWFnZQogZm9yIGNvbmZpZ3VyaW5nIGEgZ1JQQyBzZXJ2aWNlIHRvIGJlY29tZSBhIHVzZXItZmFjaW5nIHByb2R1Y3QuIFRoZQogc2VydmljZSBjb25maWcgaXMgc2ltcGx5IHRoZSBZQU1MIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBgZ29vZ2xlLmFwaS5TZXJ2aWNlYAogcHJvdG8gbWVzc2FnZS4KCiBBcyBhbiBhbHRlcm5hdGl2ZSB0byBhbm5vdGF0aW5nIHlvdXIgcHJvdG8gZmlsZSwgeW91IGNhbiBjb25maWd1cmUgZ1JQQwogdHJhbnNjb2RpbmcgaW4geW91ciBzZXJ2aWNlIGNvbmZpZyBZQU1MIGZpbGVzLiBZb3UgZG8gdGhpcyBieSBzcGVjaWZ5aW5nIGEKIGBIdHRwUnVsZWAgdGhhdCBtYXBzIHRoZSBnUlBDIG1ldGhvZCB0byBhIFJFU1QgZW5kcG9pbnQsIGFjaGlldmluZyB0aGUgc2FtZQogZWZmZWN0IGFzIHRoZSBwcm90byBhbm5vdGF0aW9uLiBUaGlzIGNhbiBiZSBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIHlvdQogaGF2ZSBhIHByb3RvIHRoYXQgaXMgcmV1c2VkIGluIG11bHRpcGxlIHNlcnZpY2VzLiBOb3RlIHRoYXQgYW55IHRyYW5zY29kaW5nCiBzcGVjaWZpZWQgaW4gdGhlIHNlcnZpY2UgY29uZmlnIHdpbGwgb3ZlcnJpZGUgYW55IG1hdGNoaW5nIHRyYW5zY29kaW5nCiBjb25maWd1cmF0aW9uIGluIHRoZSBwcm90by4KCiBFeGFtcGxlOgoKICAgICBodHRwOgogICAgICAgcnVsZXM6CiAgICAgICAgICMgU2VsZWN0cyBhIGdSUEMgbWV0aG9kIGFuZCBhcHBsaWVzIEh0dHBSdWxlIHRvIGl0LgogICAgICAgICAtIHNlbGVjdG9yOiBleGFtcGxlLnYxLk1lc3NhZ2luZy5HZXRNZXNzYWdlCiAgICAgICAgICAgZ2V0OiAvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9L3tzdWIuc3ViZmllbGR9CgogIyMgU3BlY2lhbCBub3RlcwoKIFdoZW4gZ1JQQyBUcmFuc2NvZGluZyBpcyB1c2VkIHRvIG1hcCBhIGdSUEMgdG8gSlNPTiBSRVNUIGVuZHBvaW50cywgdGhlCiBwcm90byB0byBKU09OIGNvbnZlcnNpb24gbXVzdCBmb2xsb3cgdGhlIFtwcm90bzMKIHNwZWNpZmljYXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90bzMjanNvbikuCgogV2hpbGUgdGhlIHNpbmdsZSBzZWdtZW50IHZhcmlhYmxlIGZvbGxvd3MgdGhlIHNlbWFudGljcyBvZgogW1JGQyA2NTcwXShodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU3MCkgU2VjdGlvbiAzLjIuMiBTaW1wbGUgU3RyaW5nCiBFeHBhbnNpb24sIHRoZSBtdWx0aSBzZWdtZW50IHZhcmlhYmxlICoqZG9lcyBub3QqKiBmb2xsb3cgUkZDIDY1NzAgU2VjdGlvbgogMy4yLjMgUmVzZXJ2ZWQgRXhwYW5zaW9uLiBUaGUgcmVhc29uIGlzIHRoYXQgdGhlIFJlc2VydmVkIEV4cGFuc2lvbgogZG9lcyBub3QgZXhwYW5kIHNwZWNpYWwgY2hhcmFjdGVycyBsaWtlIGA/YCBhbmQgYCNgLCB3aGljaCB3b3VsZCBsZWFkCiB0byBpbnZhbGlkIFVSTHMuIEFzIHRoZSByZXN1bHQsIGdSUEMgVHJhbnNjb2RpbmcgdXNlcyBhIGN1c3RvbSBlbmNvZGluZwogZm9yIG11bHRpIHNlZ21lbnQgdmFyaWFibGVzLgoKIFRoZSBwYXRoIHZhcmlhYmxlcyAqKm11c3Qgbm90KiogcmVmZXIgdG8gYW55IHJlcGVhdGVkIG9yIG1hcHBlZCBmaWVsZCwKIGJlY2F1c2UgY2xpZW50IGxpYnJhcmllcyBhcmUgbm90IGNhcGFibGUgb2YgaGFuZGxpbmcgc3VjaCB2YXJpYWJsZSBleHBhbnNpb24uCgogVGhlIHBhdGggdmFyaWFibGVzICoqbXVzdCBub3QqKiBjYXB0dXJlIHRoZSBsZWFkaW5nICIvIiBjaGFyYWN0ZXIuIFRoZSByZWFzb24KIGlzIHRoYXQgdGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlICJ7dmFyfSIgZG9lcyBub3QgY2FwdHVyZSB0aGUgbGVhZGluZyAiLyIKIGNoYXJhY3Rlci4gRm9yIGNvbnNpc3RlbmN5LCBhbGwgcGF0aCB2YXJpYWJsZXMgbXVzdCBzaGFyZSB0aGUgc2FtZSBiZWhhdmlvci4KCiBSZXBlYXRlZCBtZXNzYWdlIGZpZWxkcyBtdXN0IG5vdCBiZSBtYXBwZWQgdG8gVVJMIHF1ZXJ5IHBhcmFtZXRlcnMsIGJlY2F1c2UKIG5vIGNsaWVudCBsaWJyYXJ5IGNhbiBzdXBwb3J0IHN1Y2ggY29tcGxpY2F0ZWQgbWFwcGluZy4KCiBJZiBhbiBBUEkgbmVlZHMgdG8gdXNlIGEgSlNPTiBhcnJheSBmb3IgcmVxdWVzdCBvciByZXNwb25zZSBib2R5LCBpdCBjYW4gbWFwCiB0aGUgcmVxdWVzdCBvciByZXNwb25zZSBib2R5IHRvIGEgcmVwZWF0ZWQgZmllbGQuIEhvd2V2ZXIs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AgIBBBIG+gIC9wISCg0KBQQCAgEFEgT6AgIICg0KBQQCAgEBEgT6AgkNCg0KBQQCAgEDEgT6AhARYgZwcm90bzMKy/kCCiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIk0KEUZpbGVEZXNjcmlwdG9yU2V0EjgKBGZpbGUYASADKAsyJC5nb29nbGUucHJvdG9idWYuRmlsZURlc2NyaXB0b3JQcm90b1IEZmlsZSLkBAoTRmlsZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3BhY2thZ2UYAiABKAlSB3BhY2thZ2USHgoKZGVwZW5kZW5jeRgDIAMoCVIKZGVwZW5kZW5jeRIrChFwdWJsaWNfZGVwZW5kZW5jeRgKIAMoBVIQcHVibGljRGVwZW5kZW5jeRInCg93ZWFrX2RlcGVuZGVuY3kYCyADKAVSDndlYWtEZXBlbmRlbmN5EkMKDG1lc3NhZ2VfdHlwZRgEIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SC21lc3NhZ2VUeXBlEkEKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJBCgdzZXJ2aWNlGAYgAygLMicuZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VEZXNjcmlwdG9yUHJvdG9SB3NlcnZpY2USQwoJZXh0ZW5zaW9uGAcgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SNgoHb3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9uc1IHb3B0aW9ucxJJChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvUg5zb3VyY2VDb2RlSW5mbxIWCgZzeW50YXgYDCABKAlSBnN5bnRheCK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCJ8ChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxBQkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyJjChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAiABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25zIuMCChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKAsyKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2CgdvcHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDnJlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIAMoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKDAQoYRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISOwoHb3B0aW9ucxgDIAEoCzIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zUgdvcHRpb25zIqcBChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGAIgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkKB29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbnMiiQIKFU1ldGhvZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEh0KCmlucHV0X3R5cGUYAiABKAlSCWlucHV0VHlwZRIfCgtvdXRwdXRfdHlwZRgDIAEoCVIKb3V0cHV0VHlwZRI4CgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnNSB29wdGlvbnMSMAoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoFZmFsc2VSD2NsaWVudFN0cmVhbWluZxIwChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxzZVIPc2VydmVyU3RyZWFtaW5nIpIJCgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFzaBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZWNrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCVIJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVyaWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdlbmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocEdlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIvChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgVmYWxzZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnItECCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAgQCUoECAkQCiLiAwoMRmllbGRPcHRpb25zEkEKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HUgVjdHlwZRIWCgZwYWNrZWQYAiABKAhSBnBhY2tlZBJHCgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMUgZqc3R5cGUSGQoEbGF6eRgFIAEoCDoFZmFsc2VSBGxhenkSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGQoEd2VhaxgKIAEoCDoFZmFsc2VSBHdlYWsSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAioJCOgHEICAgIACSgQIBBAFInMKDE9uZW9mT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIsABCgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItEBChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24abQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmRCjwEKE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVo+Z2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHJvdG9jLWdlbi1nby9kZXNjcmlwdG9yO2Rlc2NyaXB0b3L4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbkqsvgIKBxIFJwDyBgEKqg8KAQwSAycAEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KMtsCIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIFRoZSBtZXNzYWdlcyBpbiB0aGlzIGZpbGUgZGVzY3JpYmUgdGhlIGRlZmluaXRpb25zIGZvdW5kIGluIC5wcm90byBmaWxlcy4KIEEgdmFsaWQgLnByb3RvIGZpbGUgY2FuIGJlIHRyYW5zbGF0ZWQgZGlyZWN0bHkgdG8gYSBGaWxlRGVzY3JpcHRvclByb3RvCiB3aXRob3V0IGFueSBvdGhlciBpbmZvcm1hdGlvbiAoZS5nLiB3aXRob3V0IHJlYWRpbmcgaXRzIGltcG9ydHMpLgoKCAoBAhIDKQAYCggKAQgSAyoAVQoJCgIICxIDKgBVCggKAQgSAysALAoJCgIIARIDKwAsCggKAQgSAywAMQoJCgIICBIDLAAxCggKAQgSAy0ANwoJCgIIJRIDLQA3CggKAQgSAy4AIQoJCgIIJBIDLgAhCggKAQgSAy8AHwoJCgIIHxIDLwAfCggKAQgSAzMAHAp/CgIICRIDMwAcGnQgZGVzY3JpcHRvci5wcm90byBtdXN0IGJlIG9wdGltaXplZCBmb3Igc3BlZWQgYmVjYXVzZSByZWZsZWN0aW9uLWJhc2VkCiBhbGdvcml0aG1zIGRvbid0IHdvcmsgZHVyaW5nIGJvb3RzdHJhcHBpbmcu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BJYCLjMKRQoEBAkCBRIEmAICNRo3IElkZW50aWZpZXMgaWYgc2VydmVyIHN0cmVhbXMgbXVsdGlwbGUgc2VydmVyIG1lc3NhZ2VzCgoNCgUECQIFBBIEmAICCgoNCgUECQIFBRIEmAILDwoNCgUECQIFARIEmAIQIAoNCgUECQIFAxIEmAIjJAoNCgUECQIFCBIEmAIlNAoNCgUECQIFBxIEmAIuMwqvDgoCBAoSBr0CALcDATJOID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIE9wdGlvbnMKMtANIEVhY2ggb2YgdGhlIGRlZmluaXRpb25zIGFib3ZlIG1heSBoYXZlICJvcHRpb25zIiBhdHRhY2hlZC4gIFRoZXNlIGFyZQoganVzdCBhbm5vdGF0aW9ucyB3aGljaCBtYXkgY2F1c2UgY29kZSB0byBiZSBnZW5lcmF0ZWQgc2xpZ2h0bHkgZGlmZmVyZW50bHkKIG9yIG1heSBjb250YWluIGhpbnRzIGZvciBjb2RlIHRoYXQgbWFuaXB1bGF0ZXMgcHJvdG9jb2wgbWVzc2FnZXMuCgogQ2xpZW50cyBtYXkgZGVmaW5lIGN1c3RvbSBvcHRpb25zIGFzIGV4dGVuc2lvbnMgb2YgdGhlICpPcHRpb25zIG1lc3NhZ2VzLgogVGhlc2UgZXh0ZW5zaW9ucyBtYXkgbm90IHlldCBiZSBrbm93biBhdCBwYXJzaW5nIHRpbWUsIHNvIHRoZSBwYXJzZXIgY2Fubm90CiBzdG9yZSB0aGUgdmFsdWVzIGluIHRoZW0uICBJbnN0ZWFkIGl0IHN0b3JlcyB0aGVtIGluIGEgZmllbGQgaW4gdGhlICpPcHRpb25zCiBtZXNzYWdlIGNhbGxlZCB1bmludGVycHJldGVkX29wdGlvbi4gVGhpcyBmaWVsZCBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZQogYWNyb3NzIGFsbCAqT3B0aW9ucyBtZXNzYWdlcy4gV2UgdGhlbiB1c2UgdGhpcyBmaWVsZCB0byBwb3B1bGF0ZSB0aGUKIGV4dGVuc2lvbnMgd2hlbiB3ZSBidWlsZCBhIGRlc2NyaXB0b3IsIGF0IHdoaWNoIHBvaW50IGFsbCBwcm90b3MgaGF2ZSBiZWVuCiBwYXJzZWQgYW5kIHNvIGFsbCBleHRlbnNpb25zIGFyZSBrbm93bi4KCiBFeHRlbnNpb24gbnVtYmVycyBmb3IgY3VzdG9tIG9wdGlvbnMgbWF5IGJlIGNob3NlbiBhcyBmb2xsb3dzOgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBzaW5nbGUgYXBwbGljYXRpb24gb3IKICAgb3JnYW5pemF0aW9uLCBvciBmb3IgZXhwZXJpbWVudGFsIG9wdGlvbnMsIHVzZSBmaWVsZCBudW1iZXJzIDUwMDAwCiAgIHRocm91Z2ggOTk5OTkuICBJdCBpcyB1cCB0byB5b3UgdG8gZW5zdXJlIHRoYXQgeW91IGRvIG5vdCB1c2UgdGhlCiAgIHNhbWUgbnVtYmVyIGZvciBtdWx0aXBsZSBvcHRpb25zLgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIGJlIHB1Ymxpc2hlZCBhbmQgdXNlZCBwdWJsaWNseSBieSBtdWx0aXBsZQogICBpbmRlcGVuZGVudCBlbnRpdGllcywgZS1tYWlsIHByb3RvYnVmLWdsb2JhbC1leHRlbnNpb24tcmVnaXN0cnlAZ29vZ2xlLmNvbQogICB0byByZXNlcnZlIGV4dGVuc2lvbiBudW1iZXJzLiBTaW1wbHkgcHJvdmlkZSB5b3VyIHByb2plY3QgbmFtZSAoZS5nLgogICBPYmplY3RpdmUtQyBwbHVnaW4pIGFuZCB5b3VyIHByb2plY3Qgd2Vic2l0ZSAoaWYgYXZhaWxhYmxlKSAtLSB0aGVyZSdzIG5vCiAgIG5lZWQgdG8gZXhwbGFpbiBob3cgeW91IGludGVuZCB0byB1c2UgdGhlbS4gVXN1YWxseSB5b3Ugb25seSBuZWVkIG9uZQogICBleHRlbnNpb24gbnVtYmVyLiBZb3UgY2FuIGRlY2xhcmUgbXVsdGlwbGUgb3B0aW9ucyB3aXRoIG9ubHkgb25lIGV4dGVuc2lvbgogICBudW1iZXIgYnkgcHV0dGluZyB0aGVtIGluIGEgc3ViLW1lc3NhZ2UuIFNlZSB0aGUgQ3VzdG9tIE9wdGlvbnMgc2VjdGlvbiBvZgogICB0aGUgZG9jcyBmb3IgZXhhbXBsZXM6CiAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90byNvcHRpb25zCiAgIElmIHRoaXMgdHVybnMgb3V0IHRvIGJlIHBvcHVsYXIsIGEgd2ViIHNlcnZpY2Ugd2lsbCBiZSBzZXQgdXAKICAgdG8gYXV0b21hdGljYWxseSBhc3NpZ24gb3B0aW9uIG51bWJlcnMuCgoLCgMECgESBL0CCBMK9AEKBAQKAgASBMMCAiMa5QEgU2V0cyB0aGUgSmF2YSBwYWNrYWdlIHdoZXJlIGNsYXNzZXMgZ2VuZXJhdGVkIGZyb20gdGhpcyAucHJvdG8gd2lsbCBiZQogcGxhY2VkLiAgQnkgZGVmYXVsdCwgdGhlIHByb3RvIHBhY2thZ2UgaXMgdXNlZCwgYnV0IHRoaXMgaXMgb2Z0ZW4KIGluYXBwcm9wcmlhdGUgYmVjYXVzZSBwcm90byBwYWNrYWdlcyBkbyBub3Qgbm9ybWFsbHkgc3RhcnQgd2l0aCBiYWNrd2FyZHMKIGRvbWFpbiBuYW1lcy4KCg0KBQQKAgAEEgTDAgIKCg0KBQQKAgAFEgTDAgsRCg0KBQQKAgABEgTDAhIeCg0KBQQKAgADEgTDAiEiCr8CCgQECgIBEgTLAgIrGrACIElmIHNldCwgYWxsIHRoZSBjbGFzc2VzIGZyb20gdGhlIC5wcm90byBmaWxlIGFyZSB3cmFwcGVkIGluIGEgc2luZ2xlCiBvdXRlciBjbGFzcyB3aXRoIHRoZSBnaXZlbiBuYW1lLiAgVGhpcyBhcHBsaWVzIHRvIGJvdGggUHJvdG8xCiAoZXF1aXZhbGVudCB0byB0aGUgb2xkICItLW9uZV9qYXZhX2ZpbGUiIG9wdGlvbikgYW5kIFByb3RvMiAod2hlcmUKIGEgLnByb3RvIGFsd2F5cyB0cmFuc2xhdGVzIHRvIGEgc2luZ2xlIGNsYXNzLCBidXQgeW91IG1heSB3YW50IHRvCiBleHBsaWNpdGx5IGNob29zZSB0aGUgY2xhc3MgbmFtZSkuCgoNCgUECgIBBBIEywICCgoNCgUECgIBBRIEywILEQoNCgUECgIBARIEywISJgoNCgUE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b2YgdGhlIHBhY2thZ2UgaW1wb3J0IHBhdGgsIGlmIHByb3ZpZGVkLgogICAtIE90aGVyd2lzZSwgdGhlIHBhY2thZ2Ugc3RhdGVtZW50IGluIHRoZSAucHJvdG8gZmlsZSwgaWYgcHJlc2VudC4KICAgLSBPdGhlcndpc2UsIHRoZSBiYXNlbmFtZSBvZiB0aGUgLnByb3RvIGZpbGUsIHdpdGhvdXQgZXh0ZW5zaW9uLgoKDQoFBAoCBgQSBO8CAgoKDQoFBAoCBgUSBO8CCxEKDQoFBAoCBgESBO8CEhwKDQoFBAoCBgMSBO8CHyEK1AQKBAQKAgcSBP0CAjkaxQQgU2hvdWxkIGdlbmVyaWMgc2VydmljZXMgYmUgZ2VuZXJhdGVkIGluIGVhY2ggbGFuZ3VhZ2U/ICAiR2VuZXJpYyIgc2VydmljZXMKIGFyZSBub3Qgc3BlY2lmaWMgdG8gYW55IHBhcnRpY3VsYXIgUlBDIHN5c3RlbS4gIFRoZXkgYXJlIGdlbmVyYXRlZCBieSB0aGUKIG1haW4gY29kZSBnZW5lcmF0b3JzIGluIGVhY2ggbGFuZ3VhZ2UgKHdpdGhvdXQgYWRkaXRpb25hbCBwbHVnaW5zKS4KIEdlbmVyaWMgc2VydmljZXMgd2VyZSB0aGUgb25seSBraW5kIG9mIHNlcnZpY2UgZ2VuZXJhdGlvbiBzdXBwb3J0ZWQgYnkKIGVhcmx5IHZlcnNpb25zIG9mIGdvb2dsZS5wcm90b2J1Zi4KCiBHZW5lcmljIHNlcnZpY2VzIGFyZSBub3cgY29uc2lkZXJlZCBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHVzaW5nIHBsdWdpbnMKIHRoYXQgZ2VuZXJhdGUgY29kZSBzcGVjaWZpYyB0byB5b3VyIHBhcnRpY3VsYXIgUlBDIHN5c3RlbS4gIFRoZXJlZm9yZSwKIHRoZXNlIGRlZmF1bHQgdG8gZmFsc2UuICBPbGQgY29kZSB3aGljaCBkZXBlbmRzIG9uIGdlbmVyaWMgc2VydmljZXMgc2hvdWxkCiBleHBsaWNpdGx5IHNldCB0aGVtIHRvIHRydWUuCgoNCgUECgIHBBIE/QICCgoNCgUECgIHBRIE/QILDwoNCgUECgIHARIE/QIQIwoNCgUECgIHAxIE/QImKAoN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AhQBEgSwAx8zCg0KBQQKAhQDEgSwAzY5CocBCgMECgUSBLQDAhkaeiBDbGllbnRzIGNhbiBkZWZpbmUgY3VzdG9tIG9wdGlvbnMgaW4gZXh0ZW5zaW9ucyBvZiB0aGlzIG1lc3NhZ2UuCiBTZWUgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSAiT3B0aW9ucyIgc2VjdGlvbiBhYm92ZS4KCgwKBAQKBQASBLQDDRgKDQoFBAoFAAESBLQDDREKDQoFBAoFAAISBLQDFRgKCwoDBAoJEgS2AwIOCgwKBAQKCQASBLYDCw0KDQoFBAoJAAESBLYDCw0KDQoFBAoJAAISBLYDCw0KDAoCBAsSBrkDAPgDAQoLCgMECwESBLkDCBYK2AUKBAQLAgASBMwDAjwayQUgU2V0IHRydWUgdG8gdXNlIHRoZSBvbGQgcHJvdG8xIE1lc3NhZ2VTZXQgd2lyZSBmb3JtYXQgZm9yIGV4dGVuc2lvbnMuCiBUaGlzIGlzIHByb3ZpZGVkIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBNZXNzYWdlU2V0IHdpcmUKIGZvcm1hdC4gIFlvdSBzaG91bGQgbm90IHVzZSB0aGlzIGZvciBhbnkgb3RoZXIgcmVhc29uOiAgSXQncyBsZXNzCiBlZmZpY2llbnQsIGhhcyBmZXdlciBmZWF0dXJlcywgYW5kIGlzIG1vcmUgY29tcGxpY2F0ZWQuCgogVGhlIG1lc3NhZ2UgbXVzdCBiZSBkZWZpbmVkIGV4YWN0bHkgYXMgZm9sbG93czoKICAgbWVzc2FnZSBGb28gewogICAgIG9wdGlvbiBtZXNzYWdlX3NldF93aXJlX2Zvcm1hdCA9IHRydWU7CiAgICAgZXh0ZW5zaW9ucyA0IHRvIG1heDsKICAgfQogTm90ZSB0aGF0IHRoZSBtZXNzYWdlIGNhbm5vdCBoYXZlIGFueSBkZWZpbmVkIGZpZWxkczsgTWVzc2FnZVNldHMgb25seQogaGF2ZSBleHRlbnNpb25zLgoKIEFsbCBleHRlbnNpb25zIG9mIHlvdXIgdHlwZSBtdXN0IGJlIHNpbmd1bGFyIG1lc3NhZ2VzOyBlLmcuIHRoZXkgY2Fubm90CiBiZSBpbnQzMnMsIGVudW1zLCBvciByZXBlYXRlZCBtZXNzYWdlcy4KCiBCZWNhdXNlIHRoaXMgaXMgYW4gb3B0aW9uLCB0aGUgYWJvdmUgdHdvIHJlc3RyaWN0aW9ucyBhcmUgbm90IGVuZm9yY2VkIGJ5CiB0aGUgcHJvdG9jb2wgY29tcGlsZXIuCgoNCgUECwIABBIEzAMCCgoNCgUECwIABRIEzAMLDwoNCgUECwIAARIEzAMQJwoNCgUECwIAAxIEzAMqKwoNCgUECwIACBIEzAMsOwoNCgUECwIABxIEzAM1OgrrAQoEBAsCARIE0QMCRBrcASBEaXNhYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgc3RhbmRhcmQgImRlc2NyaXB0b3IoKSIgYWNjZXNzb3IsIHdoaWNoIGNhbgogY29uZmxpY3Qgd2l0aCBhIGZpZWxkIG9mIHRoZSBzYW1lIG5hbWUuICBUaGlzIGlzIG1lYW50IHRvIG1ha2UgbWlncmF0aW9uCiBmcm9tIHByb3RvMSBlYXNpZXI7IG5ldyBjb2RlIHNob3VsZCBhdm9pZCBmaWVsZHMgbmFtZWQgImRlc2NyaXB0b3IiLgoKDQoFBAsCAQQSBNEDAgoKDQoFBAsCAQUSBNEDCw8KDQoFBAsCAQESBNEDEC8KDQoFBAsCAQMSBNEDMjMKDQoFBAsCAQgSBNEDNEMKDQoFBAsCAQcSBNEDPUIK7gEKBAQLAgISBNcDAi8a3wEgSXMgdGhpcyBtZXNzYWdlIGRlcHJlY2F0ZWQ/CiBEZXBlbmRpbmcgb24gdGhlIHRhcmdldCBwbGF0Zm9ybSwgdGhpcyBjYW4gZW1pdCBEZXByZWNhdGVkIGFubm90YXRpb25zCiBmb3IgdGhlIG1lc3NhZ2UsIG9yIGl0IHdpbGwgYmUgY29tcGxldGVseSBpZ25vcmVkOyBpbiB0aGUgdmVyeSBsZWFzdCwKIHRoaXMgaXMgYSBmb3JtYWxpemF0aW9uIGZvciBkZXByZWNhdGluZyBtZXNzYWdlcy4KCg0KBQQLAgIEEgTXAwIKCg0KBQQLAgIFEgTXAwsPCg0KBQQLAgIBEgTXAxAaCg0KBQQLAgIDEgTXAx0eCg0KBQQLAgIIEgTXAx8uCg0KBQQLAgIHEgTXAygtCp4GCgQECwIDEgTuAwIeGo8GIFdoZXRoZXIgdGhlIG1lc3NhZ2UgaXMgYW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFwIGVudHJ5IHR5cGUgZm9yIHRoZQogbWFwcyBmaWVsZC4KCiBGb3IgbWFwcyBmaWVsZHM6CiAgICAgbWFwPEtleVR5cGUsIFZhbHVlVHlwZT4gbWFwX2ZpZWxkID0gMTsKIFRoZSBwYXJzZWQgZGVzY3JpcHRvciBsb29rcyBsaWtlOgogICAgIG1lc3NhZ2UgTWFwRmllbGRFbnRyeSB7CiAgICAgICAgIG9wdGlvbiBtYXBfZW50cnkgPSB0cnVlOwogICAgICAgICBvcHRpb25hbCBLZXlUeXBlIGtleSA9IDE7CiAgICAgICAgIG9wdGlvbmFsIFZhbHVlVHlwZSB2YWx1ZSA9IDI7CiAgICAgfQogICAgIHJlcGVhdGVkIE1hcEZpZWxkRW50cnkgbWFwX2ZpZWxkID0gMTsKCiBJbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gZ2VuZXJhdGUgdGhlIG1hcF9lbnRyeT10cnVlIG1lc3NhZ2UsIGJ1dAogdXNlIGEgbmF0aXZlIG1hcCBpbiB0aGUgdGFyZ2V0IGxhbmd1YWdlIHRvIGhvbGQgdGhlIGtleXMgYW5kIHZhbHVlcy4KIFRoZSByZWZsZWN0aW9uIEFQSXMgaW4gc3VjaCBpbXBsZW1lbnRpb25zIHN0aWxsIG5lZWQgdG8gd29yayBhcwogaWYgdGhlIGZpZWxkIGlzIGEgcmVwZWF0ZWQgbWVzc2FnZSBmaWVsZC4KCiBOT1RFOiBEbyBub3Qgc2V0IHRoZSBvcHRpb24gaW4gLnByb3RvIGZpbGVzLiBBbHdheXMgdXNlIHRoZSBtYXBzIHN5bnRheAogaW5zdGVhZC4gVGhlIG9wdGlvbiBzaG91bGQgb25seSBiZSBpbXBsaWNpdGx5IHNldCBieSB0aGUgcHJvdG8gY29tcGlsZXIKIHBhcnNlci4KCg0KBQQLAgMEEgTuAwIKCg0KBQQLAgMFEgTuAwsPCg0KBQQLAgMBEgTuAxAZCg0KBQQLAgMDEgTuAxwdCiQKAwQLCRIE8AMCDSIXIGphdmFsaXRlX3NlcmlhbGl6YWJsZQoKDAoEBAsJABIE8AMLDAoNCgUECwkAARIE8AMLDAoNCgUECwkAAhIE8AMLDAofCgMECwkSBPEDAg0iEiBqYXZhbmFub19hc19saXRlCgoMCgQECwkBEgTxAwsMCg0KBQQLCQEBEgTxAwsMCg0KBQQLCQECEgTxAwsMCk8KBAQLAgQSBPQDAjoaQSBUaGUgcGFyc2VyIHN0b3JlcyBvcHRpb25zIGl0IGRvZXNuJ3QgcmVjb2duaXplIGhlcmUuIFNlZSBhYm92ZS4KCg0KBQQLAgQEEgT0AwIKCg0KBQQLAgQGEgT0AwseCg0KBQQLAgQBEgT0Ax8zCg0KBQQLAgQDEgT0AzY5CloKAwQLBRIE9wMCGRpNIENsaWVudHMgY2FuIGRlZmluZSBjdXN0b20gb3B0aW9ucyBpbiBleHRlbnNpb25zIG9mIHRoaXMgbWVzc2FnZS4gU2VlIGFib3ZlLgoKDAoEBAsFABIE9wMNGAoNCgUECwUAARIE9wMNEQoNCgUECwUAAhIE9wMVGAoMCgIEDBIG+gMA1QQBCgsKAwQMARIE+gMIFAqjAgoEBAwCABIE/wMCLhqUAiBUaGUgY3R5cGUgb3B0aW9uIGluc3RydWN0cyB0aGUgQysrIGNvZGUgZ2VuZXJhdG9yIHRvIHVzZSBhIGRpZmZlcmVudAogcmVwcmVzZW50YXRpb24gb2YgdGhlIGZpZWxkIHRoYW4gaXQgbm9ybWFsbHkgd291bGQuICBTZWUgdGhlIHNwZWNpZmljCiBvcHRpb25zIGJlbG93LiAgVGhpcyBvcHRpb24gaXMgbm90IHlldCBpbXBsZW1lbnRlZCBpbiB0aGUgb3BlbiBzb3VyY2UKIHJlbGVhc2UgLS0gc29ycnksIHdlJ2xsIHRyeSB0byBpbmNsdWRlIGl0IGluIGEgZnV0dXJlIHZlcnNpb24hCgoNCgUEDAIABBIE/wMCCgoNCgUEDAIABhIE/wMLEAoNCgUEDAIAARIE/wMRFgoNCgUEDAIAAxIE/wMZGgoNCgUEDAIACBIE/wMbLQoNCgUEDAIABxIE/wMmLAoOCgQEDAQAEgaABAKHBAMKDQoFBAwEAAESBIAEBwwKHwoGBAwEAAIAEgSCBAQPGg8gRGVmYXVsdCBtb2RlLgoKDwoHBAwEAAIAARIEggQECgoPCgcEDAQAAgACEgSCBA0OCg4KBgQMBAACARIEhAQEDQoPCgcEDAQAAgEBEgSEBAQICg8KBwQMBAACAQISBIQECwwKDgoGBAwEAAICEgSGBAQVCg8KBwQMBAACAgESBIYEBBAKDwoHBAwEAAICAhIEhgQTFAraAgoEBAwCARIEjQQCGxrLAiBUaGUgcGFja2VkIG9wdGlvbiBjYW4gYmUgZW5hYmxlZCBmb3IgcmVwZWF0ZWQgcHJpbWl0aXZlIGZpZWxkcyB0byBlbmFibGUKIGEgbW9yZSBlZmZpY2llbnQgcmVwcmVzZW50YXRpb24gb24gdGhlIHdpcmUuIFJhdGhlciB0aGFuIHJlcGVhdGVkbHkKIHdyaXRpbmcgdGhlIHRhZyBhbmQgdHlwZSBmb3IgZWFjaCBlbGVtZW50LCB0aGUgZW50aXJlIGFycmF5IGlzIGVuY29kZWQgYXMKIGEgc2luZ2xlIGxlbmd0aC1kZWxpbWl0ZWQgYmxvYi4gSW4gcHJvdG8zLCBvbmx5IGV4cGxpY2l0IHNldHRpbmcgaXQgdG8KIGZhbHNlIHdpbGwgYXZvaWQgdXNpbmcgcGFja2VkIGVuY29kaW5nLgoKDQoFBAwCAQQSBI0EAgoKDQoFBAwCAQUSBI0ECw8KDQoFBAwCAQESBI0EEBYKDQoFBAwCAQMSBI0EGRoKmgUKBAQMAgISBJoEAjMaiwUgVGhlIGpzdHlwZSBvcHRpb24gZGV0ZXJtaW5lcyB0aGUgSmF2YVNjcmlwdCB0eXBlIHVzZWQgZm9yIHZhbHVlcyBvZiB0aGUKIGZpZWxkLiAgVGhlIG9wdGlvbiBpcyBwZXJtaXR0ZWQgb25seSBmb3IgNjQgYml0IGludGVncmFsIGFuZCBmaXhlZCB0eXBlcwogKGludDY0LCB1aW50NjQsIHNpbnQ2NCwgZml4ZWQ2NCwgc2ZpeGVkNjQpLiAgQSBmaWVsZCB3aXRoIGpzdHlwZSBKU19TVFJJTkcKIGlzIHJlcHJlc2VudGVkIGFzIEphdmFTY3JpcHQgc3RyaW5nLCB3aGljaCBhdm9pZHMgbG9zcyBvZiBwcmVjaXNpb24gdGhhdAogY2FuIGhhcHBlbiB3aGVuIGEgbGFyZ2UgdmFsdWUgaXMgY29udmVydGVkIHRvIGEgZmxvYXRpbmcgcG9pbnQgSmF2YVNjcmlwdC4KIFNwZWNpZnlpbmcgSlNfTlVNQkVSIGZvciB0aGUganN0eXBlIGNhdXNlcyB0aGUgZ2VuZXJhdGVkIEphdmFTY3JpcHQgY29kZSB0bwogdXNlIHRoZSBKYXZhU2NyaXB0ICJudW1iZXIiIHR5cGUuICBUaGUgYmVoYXZpb3Igb2YgdGhlIGRlZmF1bHQgb3B0aW9uCiBKU19OT1JNQUwgaXMgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50LgoKIFRoaXMgb3B0aW9uIGlzIGFuIGVudW0gdG8gcGVybWl0IGFkZGl0aW9uYWwgdHlwZXMgdG8gYmUgYWRkZWQsIGUuZy4KIGdvb2cubWF0aC5JbnRlZ2VyLgoKDQoFBAwCAgQSBJoEAgoKDQoFBAwCAgYSBJoECxEKDQoFBAwCAgESBJoEEhgKDQoFBAwCAgMSBJoEGxwKDQoFBAwCAggSBJoEHTIKDQoFBAwCAgcSBJoEKDEKDgoEBAwEARIGmwQCpAQDCg0KBQQMBAEBEgSbBAcNCicKBgQMBAECABIEnQQEEhoXIFVzZSB0aGUgZGVmYXVsdCB0eXBlLgoKDwoHBAwEAQIAARIEnQQEDQoPCgcEDAQBAgACEgSdBBARCikKBgQMBAECARIEoAQEEhoZIFVzZSBKYXZhU2NyaXB0IHN0cmluZ3MuCgoPCgcEDAQBAgEBEgSgBAQNCg8KBwQMBAECAQISBKAEEBEKKQoGBAwEAQICEgSjBAQSGhkgVXNlIEphdmFTY3JpcHQgbnVtYmVycy4KCg8KBwQMBAECAgESBKMEBA0KDwoHBAwEAQICAhIEowQQEQrvDAoEBAwCAxIEwgQCKRrgDCBTaG91bGQgdGhpcyBmaWVsZCBiZSBwYXJzZWQgbGF6aWx5PyAgTGF6eSBhcHBsaWVzIG9ubHkgdG8gbWVzc2FnZS10eXBlCiBmaWVsZHMuICBJdCBtZWFucyB0aGF0IHdoZW4gdGhlIG91dGVyIG1lc3NhZ2UgaXMgaW5pdGlhbGx5IHBhcnNlZCwgdGhlCiBpbm5lciBtZXNzYWdlJ3MgY29udGVudHMgd2lsbCBub3QgYmUgcGFyc2VkIGJ1dCBpbnN0ZWFkIHN0b3JlZCBpbiBlbmNvZGVkCiBmb3JtLiAgVGhlIGlubmVyIG1lc3NhZ2Ugd2lsbCBhY3R1YWxseSBiZSBwYXJzZWQgd2hlbiBpdCBpcyBmaXJzdCBhY2Nlc3NlZC4KCiBUaGlzIGlzIG9ubHkgYSBoaW50LiAgSW1wbGVtZW50YXRpb25zIGFyZSBmcmVlIHRvIGNob29zZSB3aGV0aGVyIHRvIHVzZQogZWFnZXIgb3IgbGF6eSBwYXJzaW5nIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9uLiAgSG93ZXZlciwKIHNldHRpbmcgdGhpcyBvcHRpb24gdHJ1ZSBzdWdnZXN0cyB0aGF0IHRoZSBwcm90b2NvbCBhdXRob3IgYmVsaWV2ZXMgdGhhdAogdXNpbmcgbGF6eSBwYXJzaW5nIG9uIHRoaXMgZmllbGQgaXMgd29ydGggdGhlIGFkZGl0aW9uYWwgYm9va2tlZXBpbmcKIG92ZXJoZWFkIHR5cGljYWxseSBuZWVkZWQgdG8gaW1wbGVtZW50IGl0LgoKIFRoaXMgb3B0aW9uIGRvZXMgbm90IGFmZmVjdCB0aGUgcHVibGljIGludGVyZmFjZSBvZiBhbnkgZ2VuZXJhdGVkIGNvZGU7CiBhbGwgbWV0aG9kIHNpZ25hdHVyZXMgcmVtYWluIHRoZSBzYW1lLiAgRnVydGhlcm1vcmUsIHRocmVhZC1zYWZldHkgb2YgdGhlCiBpbnRlcmZhY2UgaXMgbm90IGFmZmVjdGVkIGJ5IHRoaXMgb3B0aW9uOyBjb25zdCBtZXRob2RzIHJlbWFpbiBzYWZlIHRvCiBjYWxsIGZyb20gbXVsdGlwbGUgdGhyZWFkcyBjb25jdXJyZW50bHksIHdoaWxlIG5vbi1jb25zdCBtZXRob2RzIGNvbnRpbnVlCiB0byByZXF1aXJlIGV4Y2x1c2l2ZSBhY2Nlc3MuCgoKIE5vdGUgdGhhdCBpbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gY2hlY2sgcmVxdWlyZWQgZmllbGRzIHdpdGhpbgogYSBsYXp5IHN1Yi1tZXNzYWdlLiAgVGhhdCBpcywgY2FsbGluZyBJc0luaXRpYWxpemVkKCkgb24gdGhlIG91dGVyIG1lc3NhZ2UKIG1heSByZXR1cm4gdHJ1ZSBldmVuIGlmIHRoZSBpbm5lciBtZXNzYWdlIGhhcyBtaXNzaW5nIHJlcXVpcmVkIGZpZWxkcy4KIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBpbm5lciBtZXNzYWdlIHdvdWxkIGhhdmUgdG8gYmUKIHBhcnNlZCBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSBjaGVjaywgZGVmZWF0aW5nIHRoZSBwdXJwb3NlIG9mIGxhenkKIHBhcnNpbmcuICBBbiBpbXBsZW1lbnRhdGlvbiB3aGljaCBjaG9vc2VzIG5vdCB0byBjaGVjayByZXF1aXJlZCBmaWVsZHMKIG11c3QgYmUgY29uc2lzdGVudCBhYm91dCBpdC4gIFRoYXQgaXMsIGZvciBhbnkgcGFydGljdWxhciBzdWItbWVzc2FnZSwgdGhlCiBpbXBsZW1lbnRhdGlvbiBtdXN0IGVpdGhlciAqYWx3YXlzKiBjaGVjayBpdHMgcmVxdWlyZWQgZmllbGRzLCBvciAqbmV2ZXIqCiBjaGVjayBpdHMgcmVxdWlyZWQgZmllbGRzLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZSBtZXNzYWdlIGhhcwogYmVlbiBwYXJzZWQuCgoNCgUEDAIDBBIEwgQCCgoNCgUEDAIDBRIEwgQLDwoNCgUEDAIDARIEwgQQFAoNCgUEDAIDAxIEwgQXGAoNCgUEDAIDCBIEwgQZKAoNCgUEDAIDBxIEwgQiJwroAQoEBAwCBBIEyAQCLxrZASBJcyB0aGlzIGZpZWxkIGRlcHJlY2F0ZWQ/CiBEZXBlbmRpbmcgb24gdGhlIHRhcmdldCBwbGF0Zm9ybSwgdGhpcyBjYW4gZW1pdCBEZXByZWNhdGVkIGFubm90YXRpb25zCiBmb3IgYWNjZXNzb3JzLCBvciBpdCB3aWxsIGJlIGNvbXBsZXRlbHkgaWdub3JlZDsgaW4gdGhlIHZlcnkgbGVhc3QsIHRoaXMKIGlzIGEgZm9ybWFsaXphdGlvbiBmb3IgZGVwcmVjYXRpbmcgZmllbGRzLgoKDQoFBAwCBAQSBMgEAgoKDQoFBAwCBAUSBMgECw8KDQoFBAwCBAESBMgEEBoKDQoFBAwCBAMSBMgEHR4KDQoFBAwCBAgSBMgEHy4KDQoFBAwCBAcSBMgEKC0KPwoEBAwCBRIEywQCKhoxIEZvciBHb29nbGUtaW50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dG9tIG9wdGlvbnMgaW4gZXh0ZW5zaW9ucyBvZiB0aGlzIG1lc3NhZ2UuIFNlZSBhYm92ZS4KCgwKBAQRBQASBLIFDRgKDQoFBBEFAAESBLIFDREKDQoFBBEFAAISBLIFFRgKiwMKAgQSEga8BQDQBQEa/AIgQSBtZXNzYWdlIHJlcHJlc2VudGluZyBhIG9wdGlvbiB0aGUgcGFyc2VyIGRvZXMgbm90IHJlY29nbml6ZS4gVGhpcyBvbmx5CiBhcHBlYXJzIGluIG9wdGlvbnMgcHJvdG9zIGNyZWF0ZWQgYnkgdGhlIGNvbXBpbGVyOjpQYXJzZXIgY2xhc3MuCiBEZXNjcmlwdG9yUG9vbCByZXNvbHZlcyB0aGVzZSB3aGVuIGJ1aWxkaW5nIERlc2NyaXB0b3Igb2JqZWN0cy4gVGhlcmVmb3JlLAogb3B0aW9ucyBwcm90b3MgaW4gZGVzY3JpcHRvciBvYmplY3RzIChlLmcuIHJldHVybmVkIGJ5IERlc2NyaXB0b3I6Om9wdGlvbnMoKSwKIG9yIHByb2R1Y2VkIGJ5IERlc2NyaXB0b3I6OkNvcHlUbygpKSB3aWxsIG5ldmVyIGhhdmUgVW5pbnRlcnByZXRlZE9wdGlvbnMKIGluIHRoZW0uCgoLCgMEEgESBLwFCBsKywIKBAQSAwASBsIFAsUFAxq6AiBUaGUgbmFtZSBvZiB0aGUgdW5pbnRlcnByZXRlZCBvcHRpb24uICBFYWNoIHN0cmluZyByZXByZXNlbnRzIGEgc2VnbWVudCBpbgogYSBkb3Qtc2VwYXJhdGVkIG5hbWUuICBpc19leHRlbnNpb24gaXMgdHJ1ZSBpZmYgYSBzZWdtZW50IHJlcHJlc2VudHMgYW4KIGV4dGVuc2lvbiAoZGVub3RlZCB3aXRoIHBhcmVudGhlc2VzIGluIG9wdGlvbnMgc3BlY3MgaW4gLnByb3RvIGZpbGVzKS4KIEUuZy4seyBbImZvbyIsIGZhbHNlXSwgWyJiYXIuYmF6IiwgdHJ1ZV0sIFsicXV4IiwgZmFsc2VdIH0gcmVwcmVzZW50cwogImZvby4oYmFyLmJheikucXV4Ii4KCg0KBQQSAwABEgTCBQoSCg4KBgQSAwACABIEwwUEIgoPCgcEEgMAAgAEEgTDBQQMCg8KBwQSAwAC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KDEpLgoKIE5vdGVzOgogLSBBIGxvY2F0aW9uIG1heSByZWZlciB0byBhIHJlcGVhdGVkIGZpZWxkIGl0c2VsZiAoaS5lLiBub3QgdG8gYW55CiAgIHBhcnRpY3VsYXIgaW5kZXggd2l0aGluIGl0KS4gIFRoaXMgaXMgdXNlZCB3aGVuZXZlciBhIHNldCBvZiBlbGVtZW50cyBhcmUKICAgbG9naWNhbGx5IGVuY2xvc2VkIGluIGEgc2luZ2xlIGNvZGUgc2VnbWVudC4gIEZvciBleGFtcGxlLCBhbiBlbnRpcmUKICAgZXh0ZW5kIGJsb2NrIChwb3NzaWJseSBjb250YWluaW5nIG11bHRpcGxlIGV4dGVuc2lvbiBkZWZpbml0aW9ucykgd2lsbAogICBoYXZlIGFuIG91dGVyIGxvY2F0aW9uIHdob3NlIHBhdGggcmVmZXJzIHRvIHRoZSAiZXh0ZW5zaW9ucyIgcmVwZWF0ZWQKICAgZmllbGQgd2l0aG91dCBhbiBpbmRleC4KIC0gTXVsdGlwbGUgbG9jYXRpb25zIG1heSBoYXZlIHRoZSBzYW1lIHBhdGguICBUaGlzIGhhcHBlbnMgd2hlbiBhIHNpbmdsZQogICBsb2dpY2FsIGRlY2xhcmF0aW9uIGlzIHNwcmVhZCBvdXQgYWNyb3NzIG11bHRpcGxlIHBsYWNlcy4gIFRoZSBtb3N0CiAgIG9idmlvdXMgZXhhbXBsZSBpcyB0aGUgImV4dGVuZCIgYmxvY2sgYWdhaW4gLS0gdGhlcmUgbWF5IGJlIG11bHRpcGxlCiAgIGV4dGVuZCBibG9ja3MgaW4gdGhlIHNhbWUgc2NvcGUsIGVhY2ggb2Ygd2hpY2ggd2lsbCBoYXZlIHRoZSBzYW1lIHBhdGguCiAtIEEgbG9jYXRpb24ncyBzcGFuIGlzIG5vdCBhbHdheXMgYSBzdWJzZXQgb2YgaXRzIHBhcmVudCdzIHNwYW4uICBGb3IKICAgZXhhbXBsZSwgdGhlICJleHRlbmRlZSIgb2YgYW4gZXh0ZW5zaW9uIGRlY2xhcmF0aW9uIGFwcGVhcnMgYXQgdGhlCiAgIGJlZ2lubmluZyBvZiB0aGUgImV4dGVuZCIgYmxvY2sgYW5kIGlzIHNoYXJlZCBieSBhbGwgZXh0ZW5zaW9ucyB3aXRoaW4KICAgdGhlIGJsb2NrLgogLSBKdXN0IGJlY2F1c2UgYSBsb2NhdGlvbidzIHNwYW4gaXMgYSBzdWJzZXQgb2Ygc29tZSBvdGhlciBsb2NhdGlvbidzIHNwYW4KICAgZG9lcyBub3QgbWVhbiB0aGF0IGl0IGlzIGEgZGVzY2VuZGVudC4gIEZvciBleGFtcGxlLCBhICJncm91cCIgZGVmaW5lcwogICBib3RoIGEgdHlwZSBhbmQgYSBmaWVsZCBpbiBhIHNpbmdsZSBkZWNsYXJhdGlvbi4gIFRodXMsIHRoZSBsb2NhdGlvbnMKICAgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBhbmQgZmllbGQgYW5kIHRoZWlyIGNvbXBvbmVudHMgd2lsbCBvdmVybGFwLgogLSBDb2RlIHdoaWNoIHRyaWVzIHRvIGludGVycHJldCBsb2NhdGlvbnMgc2hvdWxkIHByb2JhYmx5IGJlIGRlc2lnbmVkIHRvCiAgIGlnbm9yZSB0aG9zZSB0aGF0IGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCwgYXMgbW9yZSB0eXBlcyBvZiBsb2NhdGlvbnMgY291bGQKICAgYmUgcmVjb3JkZWQgaW4gdGhlIGZ1dHVyZS4KCg0KBQQTAgAEEgSDBgIKCg0KBQQTAgAGEgSDBgsTCg0KBQQTAgABEgSDBhQcCg0KBQQTAgADEgSDBh8gCg4KBAQTAwASBoQGAtcGAwoNCgUEEwMAARIEhAYKEgqDBwoGBBMDAAIAEgScBgQqGvIGIElkZW50aWZpZXMgd2hpY2ggcGFydCBvZiB0aGUgRmlsZURlc2NyaXB0b3JQcm90byB3YXMgZGVmaW5lZCBhdCB0aGlzCiBsb2NhdGlvbi4KCiBFYWNoIGVsZW1lbnQgaXMgYSBmaWVsZCBudW1iZXIgb3IgYW4gaW5kZXguICBUaGV5IGZvcm0gYSBwYXRoIGZyb20KIHRoZSByb290IEZpbGVEZXNjcmlwdG9yUHJvdG8gdG8gdGhlIHBsYWNlIHdoZXJlIHRoZSBkZWZpbml0aW9uLiAgRm9yCiBleGFtcGxlLCB0aGlzIHBhdGg6CiAgIFsgNCwgMywgMiwgNywgMSBdCiByZWZlcnMgdG86CiAgIGZpbGUubWVzc2FnZV90eXBlKDMpICAvLyA0LCAzCiAgICAgICAuZmllbGQoNykgICAgICAgICAvLyAyLCA3CiAgICAgICAubmFtZSgpICAgICAgICAgICAvLyAxCiBUaGlzIGlzIGJlY2F1c2UgRmlsZURlc2NyaXB0b3JQcm90by5tZXNzYWdlX3R5cGUgaGFzIGZpZWxkIG51bWJlciA0OgogICByZXBlYXRlZCBEZXNjcmlwdG9yUHJvdG8gbWVzc2FnZV90eXBlID0gNDsKIGFuZCBEZXNjcmlwdG9yUHJvdG8uZmllbGQgaGFzIGZpZWxkIG51bWJlciAyOgogICByZXBlYXRlZCBGaWVsZERlc2NyaXB0b3JQcm90byBmaWVsZCA9IDI7CiBhbmQgRmllbGREZXNjcmlwdG9yUHJvdG8ubmFtZSBoYXMgZmllbGQgbnVtYmVyIDE6CiAgIG9wdGlvbmFsIHN0cmluZyBuYW1lID0gMTsKCiBUaHVzLCB0aGUgYWJvdmUgcGF0aCBnaXZlcyB0aGUgbG9jYXRpb24gb2YgYSBmaWVsZCBuYW1lLiAgSWYgd2UgcmVtb3ZlZAogdGhlIGxhc3QgZWxlbWVudDoKICAgWyA0LCAzLCAyLCA3IF0KIHRoaXMgcGF0aCByZWZlcnMgdG8gdGhlIHdob2xlIGZpZWxkIGRlY2xhcmF0aW9uIChmcm9tIHRoZSBiZWdpbm5pbmcKIG9mIHRoZSBsYWJlbCB0byB0aGUgdGVybWluYXRpbmcgc2VtaWNvbG9uKS4KCg8KBwQTAwACAAQSBJwGBAwKDwoHBBMDAAIABRIEnAYNEgoPCgcEEwMAAgABEgScBhMXCg8KBwQTAwACAAMSBJwGGhsKDwoHBBMDAAIACBIEnAYcKQoQCggEEwMAAgAIAhIEnAYdKArSAgoGBBMDAAIBEgSjBgQqGsECIEFsd2F5cyBoYXMgZXhhY3RseSB0aHJlZSBvciBmb3VyIGVsZW1lbnRzOiBzdGFydCBsaW5lLCBzdGFydCBjb2x1bW4sCiBlbmQgbGluZSAob3B0aW9uYWwsIG90aGVyd2lzZSBhc3N1bWVkIHNhbWUgYXMgc3RhcnQgbGluZSksIGVuZCBjb2x1bW4uCiBUaGVzZSBhcmUgcGFja2VkIGludG8gYSBzaW5nbGUgZmllbGQgZm9yIGVmZmljaWVuY3kuICBOb3RlIHRoYXQgbGluZQogYW5kIGNvbHVtbiBudW1iZXJzIGFyZSB6ZXJvLWJhc2VkIC0tIHR5cGljYWxseSB5b3Ugd2lsbCB3YW50IHRvIGFkZAogMSB0byBlYWNoIGJlZm9yZSBkaXNwbGF5aW5nIHRvIGEgdXNlci4KCg8KBwQTAwACAQQSBKMGBAwKDwoHBBMDAAIBBRIEowYNEgoPCgcEEwMAAgEBEgSjBhMXCg8KBwQTAwACAQMSBKMGGhsKDwoHBBMDAAIBCBIEowYcKQoQCggEEwMAAgEIAhIEowYdKAqlDAoGBBMDAAICEgTUBgQpGpQMIElmIHRoaXMgU291cmNlQ29kZUluZm8gcmVwcmVzZW50cyBhIGNvbXBsZXRlIGRlY2xhcmF0aW9uLCB0aGVzZSBhcmUgYW55CiBjb21tZW50cyBhcHBlYXJpbmcgYmVmb3JlIGFuZCBhZnRlciB0aGUgZGVjbGFyYXRpb24gd2hpY2ggYXBwZWFyIHRvIGJlCiBhdHRhY2hlZCB0byB0aGUgZGVjbGFyYXRpb24uCgogQSBzZXJpZXMgb2YgbGluZSBjb21tZW50cyBhcHBlYXJpbmcgb24gY29uc2VjdXRpdmUgbGluZXMsIHdpdGggbm8gb3RoZXIKIHRva2VucyBhcHBlYXJpbmcgb24gdGhvc2UgbGluZXMsIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBjb21tZW50LgoKIGxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMgd2lsbCBrZWVwIHBhcmFncmFwaHMgb2YgY29tbWVudHMgdGhhdCBhcHBlYXIKIGJlZm9yZSAoYnV0IG5vdCBjb25uZWN0ZWQgdG8pIHRoZSBjdXJyZW50IGVsZW1lbnQuIEVhY2ggcGFyYWdyYXBoLAogc2VwYXJhdGVkIGJ5IGVtcHR5IGxpbmVzLCB3aWxsIGJlIG9uZSBjb21tZW50IGVsZW1lbnQgaW4gdGhlIHJlcGVhdGVkCiBmaWVsZC4KCiBPbmx5IHRoZSBjb21tZW50IGNvbnRlbnQgaXMgcHJvdmlkZWQ7IGNvbW1lbnQgbWFya2VycyAoZS5nLiAvLykgYXJlCiBzdHJpcHBlZCBvdXQuICBGb3IgYmxvY2sgY29tbWVudHMsIGxlYWRpbmcgd2hpdGVzcGFjZSBhbmQgYW4gYXN0ZXJpc2sKIHdpbGwgYmUgc3RyaXBwZWQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggbGluZSBvdGhlciB0aGFuIHRoZSBmaXJzdC4KIE5ld2xpbmVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LgoKIEV4YW1wbGVzOgoKICAgb3B0aW9uYWwgaW50MzIgZm9vID0gMTsgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gZm9vLgogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhci4KICAgb3B0aW9uYWwgaW50MzIgYmFyID0gMjsKCiAgIG9wdGlvbmFsIHN0cmluZyBiYXogPSAzOwogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhei4KICAgLy8gQW5vdGhlciBsaW5lIGF0dGFjaGVkIHRvIGJhei4KCiAgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gcXV4LgogICAvLwogICAvLyBBbm90aGVyIGxpbmUgYXR0YWNoZWQgdG8gcXV4LgogICBvcHRpb25hbCBkb3VibGUgcXV4ID0gNDsKCiAgIC8vIERldGFjaGVkIGNvbW1lbnQgZm9yIGNvcmdlLiBUaGlzIGlzIG5vdCBsZWFkaW5nIG9yIHRyYWlsaW5nIGNvbW1lbnRzCiAgIC8vIHRvIHF1eCBvciBjb3JnZSBiZWNhdXNlIHRoZXJlIGFyZSBibGFuayBsaW5lcyBzZXBhcmF0aW5nIGl0IGZyb20KICAgLy8gYm90aC4KCiAgIC8vIERldGFjaGVkIGNvbW1lbnQgZm9yIGNvcmdlIHBhcmFncmFwaCAyLgoKICAgb3B0aW9uYWwgc3RyaW5nIGNvcmdlID0gNTsKICAgLyogQmxvY2sgY29tbWVudCBhdHRhY2hlZAogICAgKiB0byBjb3JnZS4gIExlYWRpbmcgYXN0ZXJpc2tzCiAgICAqIHdpbGwgYmUgcmVtb3ZlZC4gKi8KICAgLyogQmxvY2sgY29tbWVudCBhdHRhY2hlZCB0bwogICAgKiBncmF1bHQuICovCiAgIG9wdGlvbmFsIGludDMyIGdyYXVsdCA9IDY7CgogICAvLyBpZ25vcmVk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CA0KDgoHBAAEAAICAhIDERARCj4KBAQAAgASAxUEGxoxIEN1cnJlbnQgc3RhdGUgb2YgaGVhbHRoIG9mIHRoaXMgVm9sdGhhIGluc3RhbmNlCgoNCgUEAAIABBIEFQQSBQoMCgUEAAIABhIDFQQPCgwKBQQAAgABEgMVEBUKDAoFBAACAAMSAxUYGQolCgIGABIEGQAiARoZIEhlYWx0aCByZWxhdGVkIHNlcnZpY2VzCgoKCgMGAAESAxkIFQpBCgQGAAIAEgQcBCAFGjMgUmV0dXJuIGN1cnJlbnQgaGVhbHRoIHN0YXR1cyBvZiBhIFZvbHRoYSBpbnN0YW5jZQoKDAoFBgACAAESAxwIFwoMCgUGAAIAAhIDHBgtCgwKBQYAAgADEgMcOEQKDQoFBgACAAQSBB0IHwoKEQoJBgACAASwyrwiEgQdCB8KYgZwcm90bzMK8IkICh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvEgtvcGVuZmxvd18xMxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90byJjCgpvZnBfaGVhZGVyEhgKB3ZlcnNpb24YASABKA1SB3ZlcnNpb24SKQoEdHlwZRgCIAEoDjIVLm9wZW5mbG93XzEzLm9mcF90eXBlUgR0eXBlEhAKA3hpZBgDIAEoDVIDeGlkIqsBChVvZnBfaGVsbG9fZWxlbV9oZWFkZXISNAoEdHlwZRgBIAEoDjIgLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX3R5cGVSBHR5cGUSUQoNdmVyc2lvbmJpdG1hcBgCIAEoCzIpLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX3ZlcnNpb25iaXRtYXBIAFINdmVyc2lvbmJpdG1hcEIJCgdlbGVtZW50IjgKHG9mcF9oZWxsb19lbGVtX3ZlcnNpb25iaXRtYXASGAoHYml0bWFwcxgCIAMoDVIHYml0bWFwcyJLCglvZnBfaGVsbG8SPgoIZWxlbWVudHMYASADKAsyIi5vcGVuZmxvd18xMy5vZnBfaGVsbG9fZWxlbV9oZWFkZXJSCGVsZW1lbnRzIk0KEW9mcF9zd2l0Y2hfY29uZmlnEhQKBWZsYWdzGAEgASgNUgVmbGFncxIiCg1taXNzX3NlbmRfbGVuGAIgASgNUgttaXNzU2VuZExlbiJCCg1vZnBfdGFibGVfbW9kEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhYKBmNvbmZpZxgCIAEoDVIGY29uZmlnIqACCghvZnBfcG9ydBIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SFwoHaHdfYWRkchgCIAMoDVIGaHdBZGRyEhIKBG5hbWUYAyABKAlSBG5hbWUSFgoGY29uZmlnGAQgASgNUgZjb25maWcSFAoFc3RhdGUYBSABKA1SBXN0YXRlEhIKBGN1cnIYBiABKA1SBGN1cnISHgoKYWR2ZXJ0aXNlZBgHIAEoDVIKYWR2ZXJ0aXNlZBIcCglzdXBwb3J0ZWQYCCABKA1SCXN1cHBvcnRlZBISCgRwZWVyGAkgASgNUgRwZWVyEh0KCmN1cnJfc3BlZWQYCiABKA1SCWN1cnJTcGVlZBIbCgltYXhfc3BlZWQYCyABKA1SCG1heFNwZWVkIrUBChNvZnBfc3dpdGNoX2ZlYXR1cmVzEh8KC2RhdGFwYXRoX2lkGAEgASgEUgpkYXRhcGF0aElkEhsKCW5fYnVmZmVycxgCIAEoDVIIbkJ1ZmZlcnMSGQoIbl90YWJsZXMYAyABKA1SB25UYWJsZXMSIQoMYXV4aWxpYXJ5X2lkGAQgASgNUgthdXhpbGlhcnlJZBIiCgxjYXBhYmlsaXRpZXMYBSABKA1SDGNhcGFiaWxpdGllcyJyCg9vZnBfcG9ydF9zdGF0dXMSNAoGcmVhc29uGAEgASgOMhwub3BlbmZsb3dfMTMub2ZwX3BvcnRfcmVhc29uUgZyZWFzb24SKQoEZGVzYxgCIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9wb3J0UgRkZXNjIk8KEW9mcF9kZXZpY2Vfc3RhdHVzEjoKBnN0YXR1cxgBIAEoDjIiLm9wZW5mbG93XzEzLm9mcF9kZXZpY2VfY29ubmVjdGlvblIGc3RhdHVzIooBCgxvZnBfcG9ydF9tb2QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhcKB2h3X2FkZHIYAiADKA1SBmh3QWRkchIWCgZjb25maWcYAyABKA1SBmNvbmZpZxISCgRtYXNrGAQgASgNUgRtYXNrEhwKCWFkdmVydGlzZRgFIAEoDVIJYWR2ZXJ0aXNlIncKCW9mcF9tYXRjaBIvCgR0eXBlGAEgASgOMhsub3BlbmZsb3dfMTMub2ZwX21hdGNoX3R5cGVSBHR5cGUSOQoKb3htX2ZpZWxkcxgCIAMoCzIaLm9wZW5mbG93XzEzLm9mcF9veG1fZmllbGRSCW94bUZpZWxkcyLqAQoNb2ZwX294bV9maWVsZBI3CglveG1fY2xhc3MYASABKA4yGi5vcGVuZmxvd18xMy5vZnBfb3htX2NsYXNzUghveG1DbGFzcxI9CglvZmJfZmllbGQYBCABKAsyHi5vcGVuZmxvd18xMy5vZnBfb3htX29mYl9maWVsZEgAUghvZmJGaWVsZBJYChJleHBlcmltZW50ZXJfZmllbGQYBSABKAsyJy5vcGVuZmxvd18xMy5vZnBfb3htX2V4cGVyaW1lbnRlcl9maWVsZEgAUhFleHBlcmltZW50ZXJGaWVsZEIHCgVmaWVsZCLXDgoRb2ZwX294bV9vZmJfZmllbGQSNAoEdHlwZRgBIAEoDjIgLm9wZW5mbG93XzEzLm94bV9vZmJfZmllbGRfdHlwZXNSBHR5cGUSGQoIaGFzX21hc2sYAiABKAhSB2hhc01hc2sSFAoEcG9ydBgDIAEoDUgAUgRwb3J0EiUKDXBoeXNpY2FsX3BvcnQYBCABKA1IAFIMcGh5c2ljYWxQb3J0EicKDnRhYmxlX21ldGFkYXRhGAUgASgESABSDXRhYmxlTWV0YWRhdGESGQoHZXRoX2RzdBgGIAEoDEgAUgZldGhEc3QSGQoHZXRoX3NyYxgHIAEoDEgAUgZldGhTcmMSGwoIZXRoX3R5cGUYCCABKA1IAFIHZXRoVHlwZRIbCgh2bGFuX3ZpZBgJIAEoDUgAUgd2bGFuVmlkEhsKCHZsYW5fcGNwGAogASgNSABSB3ZsYW5QY3ASGQoHaXBfZHNjcBgLIAEoDUgAUgZpcERzY3ASFwoGaXBfZWNuGAwgASgNSABSBWlwRWNuEhsKCGlwX3Byb3RvGA0gASgNSABSB2lwUHJvdG8SGwoIaXB2NF9zcmMYDiABKA1IAFIHaXB2NFNyYxIbCghpcHY0X2RzdBgPIAEoDUgAUgdpcHY0RHN0EhkKB3RjcF9zcmMYECABKA1IAFIGdGNwU3JjEhkKB3RjcF9kc3QYESABKA1IAFIGdGNwRHN0EhkKB3VkcF9zcmMYEiABKA1IAFIGdWRwU3JjEhkKB3VkcF9kc3QYEyABKA1IAFIGdWRwRHN0EhsKCHNjdHBfc3JjGBQgASgNSABSB3NjdHBTcmMSGwoIc2N0cF9kc3QYFSABKA1IAFIHc2N0cERzdBIhCgtpY21wdjRfdHlwZRgWIAEoDUgAUgppY21wdjRUeXBlEiEKC2ljbXB2NF9jb2RlGBcgASgNSABSCmljbXB2NENvZGUSFwoGYXJwX29wGBggASgNSABSBWFycE9wEhkKB2FycF9zcGEYGSABKA1IAFIGYXJwU3BhEhkKB2FycF90cGEYGiABKA1IAFIGYXJwVHBhEhkKB2FycF9zaGEYGyABKAxIAFIGYXJwU2hhEhkKB2FycF90aGEYHCABKAxIAFIGYXJwVGhhEhsKCGlwdjZfc3JjGB0gASgMSABSB2lwdjZTcmMSGwoIaXB2Nl9kc3QYHiABKAxIAFIHaXB2NkRzdBIhCgtpcHY2X2ZsYWJlbBgfIAEoDUgAUgppcHY2RmxhYmVsEiEKC2ljbXB2Nl90eXBlGCAgASgNSABSCmljbXB2NlR5cGUSIQoLaWNtcHY2X2NvZGUYISABKA1IAFIKaWNtcHY2Q29kZRImCg5pcHY2X25kX3RhcmdldBgiIAEoDEgAUgxpcHY2TmRUYXJnZXQSIAoLaXB2Nl9uZF9zc2wYIyABKAxIAFIJaXB2Nk5kU3NsEiAKC2lwdjZfbmRfdGxsGCQgASgMSABSCWlwdjZOZFRsbBIfCgptcGxzX2xhYmVsGCUgASgNSABSCW1wbHNMYWJlbBIZCgdtcGxzX3RjGCYgASgNSABSBm1wbHNUYxIbCghtcGxzX2JvcxgnIAEoDUgAUgdtcGxzQm9zEhsKCHBiYl9pc2lkGCggASgNSABSB3BiYklzaWQSHQoJdHVubmVsX2lkGCkgASgESABSCHR1bm5lbElkEiEKC2lwdjZfZXh0aGRyGCogASgNSABSCmlwdjZFeHRoZHISMAoTdGFibGVfbWV0YWRhdGFfbWFzaxhpIAEoBEgBUhF0YWJsZU1ldGFkYXRhTWFzaxIiCgxldGhfZHN0X21hc2sYaiABKAxIAVIKZXRoRHN0TWFzaxIiCgxldGhfc3JjX21hc2sYayABKAxIAVIKZXRoU3JjTWFzaxIkCg12bGFuX3ZpZF9tYXNrGG0gASgNSAFSC3ZsYW5WaWRNYXNrEiQKDWlwdjRfc3JjX21hc2sYciABKA1IAVILaXB2NFNyY01hc2sSJAoNaXB2NF9kc3RfbWFzaxhzIAEoDUgBUgtpcHY0RHN0TWFzaxIiCgxhcnBfc3BhX21hc2sYfSABKA1IAVIKYXJwU3BhTWFzaxIiCgxhcnBfdHBhX21hc2sYfiABKA1IAVIKYXJwVHBhTWFzaxIlCg1pcHY2X3NyY19tYXNrGIEBIAEoDEgBUgtpcHY2U3JjTWFzaxIlCg1pcHY2X2RzdF9tYXNrGIIBIAEoDEgBUgtpcHY2RHN0TWFzaxIrChBpcHY2X2ZsYWJlbF9tYXNrGIMBIAEoDUgBUg5pcHY2RmxhYmVsTWFzaxIlCg1wYmJfaXNpZF9tYXNrGIwBIAEoDUgBUgtwYmJJc2lkTWFzaxInCg50dW5uZWxfaWRfbWFzaxiNASABKARIAVIMdHVubmVsSWRNYXNrEisKEGlwdjZfZXh0aGRyX21hc2sYjgEgASgNSAFSDmlwdjZFeHRoZHJNYXNrQgcKBXZhbHVlQgYKBG1hc2siXwoab2ZwX294bV9leHBlcmltZW50ZXJfZmllbGQSHQoKb3htX2hlYWRlchgBIAEoDVIJb3htSGVhZGVyEiIKDGV4cGVyaW1lbnRlchgCIAEoDVIMZXhwZXJpbWVudGVyIrIECgpvZnBfYWN0aW9uEjAKBHR5cGUYASABKA4yHC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3R5cGVSBHR5cGUSOAoGb3V0cHV0GAIgASgLMh4ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9vdXRwdXRIAFIGb3V0cHV0Ej0KCG1wbHNfdHRsGAMgASgLMiAub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9tcGxzX3R0bEgAUgdtcGxzVHRsEjIKBHB1c2gYBCABKAsyHC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3B1c2hIAFIEcHVzaBI9Cghwb3BfbXBscxgFIAEoCzIgLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fcG9wX21wbHNIAFIHcG9wTXBscxI1CgVncm91cBgGIAEoCzIdLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fZ3JvdXBIAFIFZ3JvdXASNwoGbndfdHRsGAcgASgLMh4ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9ud190dGxIAFIFbndUdGwSQAoJc2V0X2ZpZWxkGAggASgLMiEub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9zZXRfZmllbGRIAFIIc2V0RmllbGQSSgoMZXhwZXJpbWVudGVyGAkgASgLMiQub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQggKBmFjdGlvbiJAChFvZnBfYWN0aW9uX291dHB1dBISCgRwb3J0GAEgASgNUgRwb3J0EhcKB21heF9sZW4YAiABKA1SBm1heExlbiIwChNvZnBfYWN0aW9uX21wbHNfdHRsEhkKCG1wbHNfdHRsGAEgASgNUgdtcGxzVHRsIi8KD29mcF9hY3Rpb25fcHVzaBIcCglldGhlcnR5cGUYASABKA1SCWV0aGVydHlwZSIzChNvZnBfYWN0aW9uX3BvcF9tcGxzEhwKCWV0aGVydHlwZRgBIAEoDVIJZXRoZXJ0eXBlIi0KEG9mcF9hY3Rpb25fZ3JvdXASGQoIZ3JvdXBfaWQYASABKA1SB2dyb3VwSWQiKgoRb2ZwX2FjdGlvbl9ud190dGwSFQoGbndfdHRsGAEgASgNUgVud1R0bCJIChRvZnBfYWN0aW9uX3NldF9maWVsZBIwCgVmaWVsZBgBIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9veG1fZmllbGRSBWZpZWxkIlEKF29mcF9hY3Rpb25fZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAiABKAxSBGRhdGEinAMKD29mcF9pbnN0cnVjdGlvbhISCgR0eXBlGAEgASgNUgR0eXBlEkgKCmdvdG9fdGFibGUYAiABKAsyJy5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fZ290b190YWJsZUgAUglnb3RvVGFibGUSVAoOd3JpdGVfbWV0YWRhdGEYAyABKAsyKy5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fd3JpdGVfbWV0YWRhdGFIAFINd3JpdGVNZXRhZGF0YRJACgdhY3Rpb25zGAQgASgLMiQub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uX2FjdGlvbnNIAFIHYWN0aW9ucxI6CgVtZXRlchgFIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvbl9tZXRlckgAUgVtZXRlchJPCgxleHBlcmltZW50ZXIYBiABKAsyKS5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fZXhwZXJpbWVudGVySABSDGV4cGVyaW1lbnRlckIGCgRkYXRhIjcKGm9mcF9pbnN0cnVjdGlvbl9nb3RvX3RhYmxlEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkImEKHm9mcF9pbnN0cnVjdGlvbl93cml0ZV9tZXRhZGF0YRIaCghtZXRhZGF0YRgBIAEoBFIIbWV0YWRhdGESIwoNbWV0YWRhdGFfbWFzaxgCIAEoBFIMbWV0YWRhdGFNYXNrIkwKF29mcF9pbnN0cnVjdGlvbl9hY3Rpb25zEjEKB2FjdGlvbnMYASADKAsyFy5vcGVuZmxvd18xMy5vZnBfYWN0aW9uUgdhY3Rpb25zIjIKFW9mcF9pbnN0cnVjdGlvbl9tZXRlchIZCghtZXRlcl9pZBgBIAEoDVIHbWV0ZXJJZCJWChxvZnBfaW5zdHJ1Y3Rpb25fZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAiABKAxSBGRhdGEi3AMKDG9mcF9mbG93X21vZBIWCgZjb29raWUYASABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgCIAEoBFIKY29va2llTWFzaxIZCgh0YWJsZV9pZBgDIAEoDVIHdGFibGVJZBI7Cgdjb21tYW5kGAQgASgOMiEub3BlbmZsb3dfMTMub2ZwX2Zsb3dfbW9kX2NvbW1hbmRSB2NvbW1hbmQSIQoMaWRsZV90aW1lb3V0GAUgASgNUgtpZGxlVGltZW91dBIhCgxoYXJkX3RpbWVvdXQYBiABKA1SC2hhcmRUaW1lb3V0EhoKCHByaW9yaXR5GAcgASgNUghwcmlvcml0eRIbCglidWZmZXJfaWQYCCABKA1SCGJ1ZmZlcklkEhkKCG91dF9wb3J0GAkgASgNUgdvdXRQb3J0EhsKCW91dF9ncm91cBgKIAEoDVIIb3V0R3JvdXASFAoFZmxhZ3MYCyABKA1SBWZsYWdzEiwKBW1hdGNoGAwgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaBJACgxpbnN0cnVjdGlvbnMYDSADKAsyHC5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25SDGluc3RydWN0aW9ucyKXAQoKb2ZwX2J1Y2tldBIWCgZ3ZWlnaHQYASABKA1SBndlaWdodBIdCgp3YXRjaF9wb3J0GAIgASgNUgl3YXRjaFBvcnQSHwoLd2F0Y2hfZ3JvdXAYAyABKA1SCndhdGNoR3JvdXASMQoHYWN0aW9ucxgEIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMizAEKDW9mcF9ncm91cF9tb2QSPAoHY29tbWFuZBgBIAEoDjIiLm9wZW5mbG93XzEzLm9mcF9ncm91cF9tb2RfY29tbWFuZFIHY29tbWFuZBIvCgR0eXBlGAIgASgOMhsub3BlbmZsb3dfMTMub2ZwX2dyb3VwX3R5cGVSBHR5cGUSGQoIZ3JvdXBfaWQYAyABKA1SB2dyb3VwSWQSMQoHYnVja2V0cxgEIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9idWNrZXRSB2J1Y2tldHMijQEKDm9mcF9wYWNrZXRfb3V0EhsKCWJ1ZmZlcl9pZBgBIAEoDVIIYnVmZmVySWQSFwoHaW5fcG9ydBgCIAEoDVIGaW5Qb3J0EjEKB2FjdGlvbnMYAyADKAsyFy5vcGVuZmxvd18xMy5vZnBfYWN0aW9uUgdhY3Rpb25zEhIKBGRhdGEYBCABKAxSBGRhdGEi3AEKDW9mcF9wYWNrZXRfaW4SGwoJYnVmZmVyX2lkGAEgASgNUghidWZmZXJJZBI5CgZyZWFzb24YAiABKA4yIS5vcGVuZmxvd18xMy5vZnBfcGFja2V0X2luX3JlYXNvblIGcmVhc29uEhkKCHRhYmxlX2lkGAMgASgNUgd0YWJsZUlkEhYKBmNvb2tpZRgEIAEoBFIGY29va2llEiwKBW1hdGNoGAUgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaBISCgRkYXRhGAYgASgMUgRkYXRhIp0DChBvZnBfZmxvd19yZW1vdmVkEhYKBmNvb2tpZRgBIAEoBFIGY29va2llEhoKCHByaW9yaXR5GAIgASgNUghwcmlvcml0eRI8CgZyZWFzb24YAyABKA4yJC5vcGVuZmxvd18xMy5vZnBfZmxvd19yZW1vdmVkX3JlYXNvblIGcmVhc29uEhkKCHRhYmxlX2lkGAQgASgNUgd0YWJsZUlkEiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEiEKDGlkbGVfdGltZW91dBgHIAEoDVILaWRsZVRpbWVvdXQSIQoMaGFyZF90aW1lb3V0GAggASgNUgtoYXJkVGltZW91dBIhCgxwYWNrZXRfY291bnQYCSABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYCiABKARSCWJ5dGVDb3VudBIsCgVtYXRjaBh5IAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gi3AIKFW9mcF9tZXRlcl9iYW5kX2hlYWRlchI0CgR0eXBlGAEgASgOMiAub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfdHlwZVIEdHlwZRISCgRyYXRlGAIgASgNUgRyYXRlEh0KCmJ1cnN0X3NpemUYAyABKA1SCWJ1cnN0U2l6ZRI2CgRkcm9wGAQgASgLMiAub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfZHJvcEgAUgRkcm9wEkoKC2RzY3BfcmVtYXJrGAUgASgLMicub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfZHNjcF9yZW1hcmtIAFIKZHNjcFJlbWFyaxJOCgxleHBlcmltZW50ZXIYBiABKAsyKC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQgYKBGRhdGEiFQoTb2ZwX21ldGVyX2JhbmRfZHJvcCI7ChpvZnBfbWV0ZXJfYmFuZF9kc2NwX3JlbWFyaxIdCgpwcmVjX2xldmVsGAEgASgNUglwcmVjTGV2ZWwiQQobb2ZwX21ldGVyX2JhbmRfZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyIrgBCg1vZnBfbWV0ZXJfbW9kEjwKB2NvbW1hbmQYASABKA4yIi5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfbW9kX2NvbW1hbmRSB2NvbW1hbmQSFAoFZmxhZ3MYAiABKA1SBWZsYWdzEhkKCG1ldGVyX2lkGAMgASgNUgdtZXRlcklkEjgKBWJhbmRzGAQgAygLMiIub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfaGVhZGVyUgViYW5kcyJ8Cg1vZnBfZXJyb3JfbXNnEi8KBmhlYWRlchgBIAEoCzIXLm9wZW5mbG93XzEzLm9mcF9oZWFkZXJSBmhlYWRlchISCgR0eXBlGAIgASgNUgR0eXBlEhIKBGNvZGUYAyABKA1SBGNvZGUSEgoEZGF0YRgEIAEoDFIEZGF0YSKDAQoab2ZwX2Vycm9yX2V4cGVyaW1lbnRlcl9tc2cSEgoEdHlwZRgBIAEoDVIEdHlwZRIZCghleHBfdHlwZRgCIAEoDVIHZXhwVHlwZRIiCgxleHBlcmltZW50ZXIYAyABKA1SDGV4cGVyaW1lbnRlchISCgRkYXRhGAQgASgMUgRkYXRhInYKFW9mcF9tdWx0aXBhcnRfcmVxdWVzdBIzCgR0eXBlGAEgASgOMh8ub3BlbmZsb3dfMTMub2ZwX211bHRpcGFydF90eXBlUgR0eXBlEhQKBWZsYWdzGAIgASgNUgVmbGFncxISCgRib2R5GAMgASgMUgRib2R5InQKE29mcF9tdWx0aXBhcnRfcmVwbHkSMwoEdHlwZRgBIAEoDjIfLm9wZW5mbG93XzEzLm9mcF9tdWx0aXBhcnRfdHlwZVIEdHlwZRIUCgVmbGFncxgCIAEoDVIFZmxhZ3MSEgoEYm9keRgDIAEoDFIEYm9keSKPAQoIb2ZwX2Rlc2MSGQoIbWZyX2Rlc2MYASABKAlSB21mckRlc2MSFwoHaHdfZGVzYxgCIAEoCVIGaHdEZXNjEhcKB3N3X2Rlc2MYAyABKAlSBnN3RGVzYxIdCgpzZXJpYWxfbnVtGAQgASgJUglzZXJpYWxOdW0SFwoHZHBfZGVzYxgFIAEoCVIGZHBEZXNjItIBChZvZnBfZmxvd19zdGF0c19yZXF1ZXN0EhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhkKCG91dF9wb3J0GAIgASgNUgdvdXRQb3J0EhsKCW91dF9ncm91cBgDIAEoDVIIb3V0R3JvdXASFgoGY29va2llGAQgASgEUgZjb29raWUSHwoLY29va2llX21hc2sYBSABKARSCmNvb2tpZU1hc2sSLAoFbWF0Y2gYBiABKAsyFi5vcGVuZmxvd18xMy5vZnBfbWF0Y2hSBW1hdGNoIsUDCg5vZnBfZmxvd19zdGF0cxIOCgJpZBgOIAEoBFICaWQSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSIQoMZHVyYXRpb25fc2VjGAIgASgNUgtkdXJhdGlvblNlYxIjCg1kdXJhdGlvbl9uc2VjGAMgASgNUgxkdXJhdGlvbk5zZWMSGgoIcHJpb3JpdHkYBCABKA1SCHByaW9yaXR5EiEKDGlkbGVfdGltZW91dBgFIAEoDVILaWRsZVRpbWVvdXQSIQoMaGFyZF90aW1lb3V0GAYgASgNUgtoYXJkVGltZW91dBIUCgVmbGFncxgHIAEoDVIFZmxhZ3MSFgoGY29va2llGAggASgEUgZjb29raWUSIQoMcGFja2V0X2NvdW50GAkgASgEUgtwYWNrZXRDb3VudBIdCgpieXRlX2NvdW50GAogASgEUglieXRlQ291bnQSLAoFbWF0Y2gYDCABKAsyFi5vcGVuZmxvd18xMy5vZnBfbWF0Y2hSBW1hdGNoEkAKDGluc3RydWN0aW9ucxgNIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvblIMaW5zdHJ1Y3Rpb25zItcBChtvZnBfYWdncmVnYXRlX3N0YXRzX3JlcXVlc3QSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSGQoIb3V0X3BvcnQYAiABKA1SB291dFBvcnQSGwoJb3V0X2dyb3VwGAMgASgNUghvdXRHcm91cBIWCgZjb29raWUYBCABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgFIAEoBFIKY29va2llTWFzaxIsCgVtYXRjaBgGIAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gifAoZb2ZwX2FnZ3JlZ2F0ZV9zdGF0c19yZXBseRIhCgxwYWNrZXRfY291bnQYASABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYAiABKARSCWJ5dGVDb3VudBIdCgpmbG93X2NvdW50GAMgASgNUglmbG93Q291bnQi7QMKGm9mcF90YWJsZV9mZWF0dXJlX3Byb3BlcnR5EjwKBHR5cGUYASABKA4yKC5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX3R5cGVSBHR5cGUSVgoMaW5zdHJ1Y3Rpb25zGAIgASgLMjAub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9pbnN0cnVjdGlvbnNIAFIMaW5zdHJ1Y3Rpb25zElIKC25leHRfdGFibGVzGAMgASgLMi8ub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9uZXh0X3RhYmxlc0gAUgpuZXh0VGFibGVzEkcKB2FjdGlvbnMYBCABKAsyKy5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2FjdGlvbnNIAFIHYWN0aW9ucxI7CgNveG0YBSABKAsyJy5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX294bUgAUgNveG0SVgoMZXhwZXJpbWVudGVyGAYgASgLMjAub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQgcKBXZhbHVlImcKI29mcF90YWJsZV9mZWF0dXJlX3Byb3BfaW5zdHJ1Y3Rpb25zEkAKDGluc3RydWN0aW9ucxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvblIMaW5zdHJ1Y3Rpb25zIkoKIm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfbmV4dF90YWJsZXMSJAoObmV4dF90YWJsZV9pZHMYASADKA1SDG5leHRUYWJsZUlkcyJTCh5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2FjdGlvbnMSMQoHYWN0aW9ucxgBIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMiNQoab2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9veG0SFwoHb3htX2lkcxgDIAMoDVIGb3htSWRzIpEBCiNvZnBfdGFibGVfZmVhdHVyZV9wcm9wX2V4cGVyaW1lbnRlchIiCgxleHBlcmltZW50ZXIYAiABKA1SDGV4cGVyaW1lbnRlchIZCghleHBfdHlwZRgDIAEoDVIHZXhwVHlwZRIrChFleHBlcmltZW50ZXJfZGF0YRgEIAMoDVIQZXhwZXJpbWVudGVyRGF0YSKTAgoSb2ZwX3RhYmxlX2ZlYXR1cmVzEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhIKBG5hbWUYAiABKAlSBG5hbWUSJQoObWV0YWRhdGFfbWF0Y2gYAyABKARSDW1ldGFkYXRhTWF0Y2gSJQoObWV0YWRhdGFfd3JpdGUYBCABKARSDW1ldGFkYXRhV3JpdGUSFgoGY29uZmlnGAUgASgNUgZjb25maWcSHwoLbWF4X2VudHJpZXMYBiABKA1SCm1heEVudHJpZXMSRwoKcHJvcGVydGllcxgHIAMoCzInLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3BlcnR5Ugpwcm9wZXJ0aWVzIpcBCg9vZnBfdGFibGVfc3RhdHMSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSIQoMYWN0aXZlX2NvdW50GAIgASgNUgthY3RpdmVDb3VudBIhCgxsb29rdXBfY291bnQYAyABKARSC2xvb2t1cENvdW50EiMKDW1hdGNoZWRfY291bnQYBCABKARSDG1hdGNoZWRDb3VudCIxChZvZnBfcG9ydF9zdGF0c19yZXF1ZXN0EhcKB3BvcnRfbm8YASABKA1SBnBvcnRObyLdAwoOb2ZwX3BvcnRfc3RhdHMSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEh0KCnJ4X3BhY2tldHMYAiABKARSCXJ4UGFja2V0cxIdCgp0eF9wYWNrZXRzGAMgASgEUgl0eFBhY2tldHMSGQoIcnhfYnl0ZXMYBCABKARSB3J4Qnl0ZXMSGQoIdHhfYnl0ZXMYBSABKARSB3R4Qnl0ZXMSHQoKcnhfZHJvcHBlZBgGIAEoBFIJcnhEcm9wcGVkEh0KCnR4X2Ryb3BwZWQYByABKARSCXR4RHJvcHBlZBIbCglyeF9lcnJvcnMYCCABKARSCHJ4RXJyb3JzEhsKCXR4X2Vycm9ycxgJIAEoBFIIdHhFcnJvcnMSIAoMcnhfZnJhbWVfZXJyGAogASgEUgpyeEZyYW1lRXJyEh4KC3J4X292ZXJfZXJyGAsgASgEUglyeE92ZXJFcnISHAoKcnhfY3JjX2VychgMIAEoBFIIcnhDcmNFcnISHgoKY29sbGlzaW9ucxgNIAEoBFIKY29sbGlzaW9ucxIhCgxkdXJhdGlvbl9zZWMYDiABKA1SC2R1cmF0aW9uU2VjEiMKDWR1cmF0aW9uX25zZWMYDyABKA1SDGR1cmF0aW9uTnNlYyI0ChdvZnBfZ3JvdXBfc3RhdHNfcmVxdWVzdBIZCghncm91cF9pZBgBIAEoDVIHZ3JvdXBJZCJWChJvZnBfYnVja2V0X2NvdW50ZXISIQoMcGFja2V0X2NvdW50GAEgASgEUgtwYWNrZXRDb3VudBIdCgpieXRlX2NvdW50GAIgASgEUglieXRlQ291bnQilwIKD29mcF9ncm91cF9zdGF0cxIZCghncm91cF9pZBgBIAEoDVIHZ3JvdXBJZBIbCglyZWZfY291bnQYAiABKA1SCHJlZkNvdW50EiEKDHBhY2tldF9jb3VudBgDIAEoBFILcGFja2V0Q291bnQSHQoKYnl0ZV9jb3VudBgEIAEoBFIJYnl0ZUNvdW50EiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEkIKDGJ1Y2tldF9zdGF0cxgHIAMoCzIfLm9wZW5mbG93XzEzLm9mcF9idWNrZXRfY291bnRlclILYnVja2V0U3RhdHMijwEKDm9mcF9ncm91cF9kZXNjEi8KBHR5cGUYASABKA4yGy5vcGVuZmxvd18xMy5vZnBfZ3JvdXBfdHlwZVIEdHlwZRIZCghncm91cF9pZBgCIAEoDVIHZ3JvdXBJZBIxCgdidWNrZXRzGAMgAygLMhcub3BlbmZsb3dfMTMub2ZwX2J1Y2tldFIHYnVja2V0cyJ2Cg9vZnBfZ3JvdXBfZW50cnkSLwoEZGVzYxgBIAEoCzIbLm9wZW5mbG93XzEzLm9mcF9ncm91cF9kZXNjUgRkZXNjEjIKBXN0YXRzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX2dyb3VwX3N0YXRzUgVzdGF0cyKHAQoSb2ZwX2dyb3VwX2ZlYXR1cmVzEhQKBXR5cGVzGAEgASgNUgV0eXBlcxIiCgxjYXBhYmlsaXRpZXMYAiABKA1SDGNhcGFiaWxpdGllcxIdCgptYXhfZ3JvdXBzGAMgAygNUgltYXhHcm91cHMSGAoHYWN0aW9ucxgEIAMoDVIHYWN0aW9ucyI4ChtvZnBfbWV0ZXJfbXVsdGlwYXJ0X3JlcXVlc3QSGQoIbWV0ZXJfaWQYASABKA1SB21ldGVySWQiagoUb2ZwX21ldGVyX2JhbmRfc3RhdHMSKgoRcGFja2V0X2JhbmRfY291bnQYASABKARSD3BhY2tldEJhbmRDb3VudBImCg9ieXRlX2JhbmRfY291bnQYAiABKARSDWJ5dGVCYW5kQ291bnQioQIKD29mcF9tZXRlcl9zdGF0cxIZCghtZXRlcl9pZBgBIAEoDVIHbWV0ZXJJZBIdCgpmbG93X2NvdW50GAIgASgNUglmbG93Q291bnQSJgoPcGFja2V0X2luX2NvdW50GAMgASgEUg1wYWNrZXRJbkNvdW50EiIKDWJ5dGVfaW5fY291bnQYBCABKARSC2J5dGVJbkNvdW50EiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEkAKCmJhbmRfc3RhdHMYByADKAsyIS5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9zdGF0c1IJYmFuZFN0YXRzIn0KEG9mcF9tZXRlcl9jb25maWcSFAoFZmxhZ3MYASABKA1SBWZsYWdzEhkKCG1ldGVyX2lkGAIgASgNUgdtZXRlcklkEjgKBWJhbmRzGAMgAygLMiIub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfaGVhZGVyUgViYW5kcyKuAQoSb2ZwX21ldGVyX2ZlYXR1cmVzEhsKCW1heF9tZXRlchgBIAEoDVIIbWF4TWV0ZXISHQoKYmFuZF90eXBlcxgCIAEoDVIJYmFuZFR5cGVzEiIKDGNhcGFiaWxpdGllcxgDIAEoDVIMY2FwYWJpbGl0aWVzEhsKCW1heF9iYW5kcxgEIAEoDVIIbWF4QmFuZHMSGwoJbWF4X2NvbG9yGAUgASgNUghtYXhDb2xvciJ8Cg9vZnBfbWV0ZXJfZW50cnkSNQoGY29uZmlnGAEgASgLMh0ub3BlbmZsb3dfMTMub2ZwX21ldGVyX2NvbmZpZ1IGY29uZmlnEjIKBXN0YXRzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX21ldGVyX3N0YXRzUgVzdGF0cyJ2CiFvZnBfZXhwZXJpbWVudGVyX211bHRpcGFydF9oZWFkZXISIgoMZXhwZXJpbWVudGVyGAEgASgNUgxleHBlcmltZW50ZXISGQoIZXhwX3R5cGUYAiABKA1SB2V4cFR5cGUSEgoEZGF0YRgDIAEoDFIEZGF0YSJsChdvZnBfZXhwZXJpbWVudGVyX2hlYWRlchIiCgxleHBlcmltZW50ZXIYASABKA1SDGV4cGVyaW1lbnRlchIZCghleHBfdHlwZRgCIAEoDVIHZXhwVHlwZRISCgRkYXRhGAMgASgMUgRkYXRhIkUKFW9mcF9xdWV1ZV9wcm9wX2hlYWRlchIaCghwcm9wZXJ0eRgBIAEoDVIIcHJvcGVydHkSEAoDbGVuGAIgASgNUgNsZW4icgoXb2ZwX3F1ZXVlX3Byb3BfbWluX3JhdGUSQwoLcHJvcF9oZWFkZXIYASABKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BIZWFkZXISEgoEcmF0ZRgCIAEoDVIEcmF0ZSJyChdvZnBfcXVldWVfcHJvcF9tYXhfcmF0ZRJDCgtwcm9wX2hlYWRlchgBIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9xdWV1ZV9wcm9wX2hlYWRlclIKcHJvcEhlYWRlchISCgRyYXRlGAIgASgNUgRyYXRlIpoBChtvZnBfcXVldWVfcHJvcF9leHBlcmltZW50ZXISQwoLcHJvcF9oZWFkZXIYASABKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BIZWFkZXISIgoMZXhwZXJpbWVudGVyGAIgASgNUgxleHBlcmltZW50ZXISEgoEZGF0YRgDIAEoDFIEZGF0YSKFAQoQb2ZwX3BhY2tldF9xdWV1ZRIZCghxdWV1ZV9pZBgBIAEoDVIHcXVldWVJZBISCgRwb3J0GAIgASgNUgRwb3J0EkIKCnByb3BlcnRpZXMYBCADKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BlcnRpZXMiMgocb2ZwX3F1ZXVlX2dldF9jb25maWdfcmVxdWVzdBISCgRwb3J0GAEgASgNUgRwb3J0ImcKGm9mcF9xdWV1ZV9nZXRfY29uZmlnX3JlcGx5EhIKBHBvcnQYASABKA1SBHBvcnQSNQoGcXVldWVzGAIgAygLMh0ub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9xdWV1ZVIGcXVldWVzIkUKFG9mcF9hY3Rpb25fc2V0X3F1ZXVlEhIKBHR5cGUYASABKA1SBHR5cGUSGQoIcXVldWVfaWQYAyABKA1SB3F1ZXVlSWQiTQoXb2ZwX3F1ZXVlX3N0YXRzX3JlcXVlc3QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhkKCHF1ZXVlX2lkGAIgASgNUgdxdWV1ZUlkIuQBCg9vZnBfcXVldWVfc3RhdHMSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhkKCHF1ZXVlX2lkGAIgASgNUgdxdWV1ZUlkEhkKCHR4X2J5dGVzGAMgASgEUgd0eEJ5dGVzEh0KCnR4X3BhY2tldHMYBCABKARSCXR4UGFja2V0cxIbCgl0eF9lcnJvcnMYBSABKARSCHR4RXJyb3JzEiEKDGR1cmF0aW9uX3NlYxgGIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgHIAEoDVIMZHVyYXRpb25Oc2VjIm0KEG9mcF9yb2xlX3JlcXVlc3QSNAoEcm9sZRgBIAEoDjIgLm9wZW5mbG93XzEzLm9mcF9jb250cm9sbGVyX3JvbGVSBHJvbGUSIwoNZ2VuZXJhdGlvbl9pZBgCIAEoBFIMZ2VuZXJhdGlvbklkIo4BChBvZnBfYXN5bmNfY29uZmlnEiQKDnBhY2tldF9pbl9tYXNrGAEgAygNUgxwYWNrZXRJbk1hc2sSKAoQcG9ydF9zdGF0dXNfbWFzaxgCIAMoDVIOcG9ydFN0YXR1c01hc2sSKgoRZmxvd19yZW1vdmVkX21hc2sYAyADKA1SD2Zsb3dSZW1vdmVkTWFzayJrCg5NZXRlck1vZFVwZGF0ZRIOCgJpZBgBIAEoCVICaWQSNwoJbWV0ZXJfbW9kGAIgASgLMhoub3BlbmZsb3dfMTMub2ZwX21ldGVyX21vZFIIbWV0ZXJNb2QSEAoDeGlkGAMgASgNUgN4aWQiUAoPTWV0ZXJTdGF0c1JlcGx5Ej0KC21ldGVyX3N0YXRzGAEgAygLMhwub3BlbmZsb3dfMTMub2ZwX21ldGVyX3N0YXRzUgptZXRlclN0YXRzImkKD0Zsb3dUYWJsZVVwZGF0ZRIOCgJpZBgBIAEoCVICaWQSNAoIZmxvd19tb2QYAiABKAsyGS5vcGVuZmxvd18xMy5vZnBfZmxvd19tb2RSB2Zsb3dNb2QSEAoDeGlkGAMgASgNUgN4aWQicQoURmxvd0dyb3VwVGFibGVVcGRhdGUSDgoCaWQYASABKAlSAmlkEjcKCWdyb3VwX21vZBgCIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9ncm91cF9tb2RSCGdyb3VwTW9kEhAKA3hpZBgDIAEoDVIDeGlkIjoKBUZsb3dzEjEKBWl0ZW1zGAEgAygLMhsub3BlbmZsb3dfMTMub2ZwX2Zsb3dfc3RhdHNSBWl0ZW1zIjwKBk1ldGVycxIyCgVpdGVtcxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9lbnRyeVIFaXRlbXMiQAoKRmxvd0dyb3VwcxIyCgVpdGVtcxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9ncm91cF9lbnRyeVIFaXRlbXMiaQoLRmxvd0NoYW5nZXMSKQoGdG9fYWRkGAEgASgLMhIub3BlbmZsb3dfMTMuRmxvd3NSBXRvQWRkEi8KCXRvX3JlbW92ZRgCIAEoCzISLm9wZW5mbG93XzEzLkZsb3dzUgh0b1JlbW92ZSKuAQoQRmxvd0dyb3VwQ2hhbmdlcxIuCgZ0b19hZGQYASABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgV0b0FkZBI0Cgl0b19yZW1vdmUYAiABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgh0b1JlbW92ZRI0Cgl0b191cGRhdGUYAyABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgh0b1VwZGF0ZSJTCghQYWNrZXRJbhIOCgJpZBgBIAEoCVICaWQSNwoJcGFja2V0X2luGAIgASgLMhoub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9pblIIcGFja2V0SW4iVwoJUGFja2V0T3V0Eg4KAmlkGAEgASgJUgJpZBI6CgpwYWNrZXRfb3V0GAIgASgLMhsub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9vdXRSCXBhY2tldE91dCLiAQoLQ2hhbmdlRXZlbnQSDgoCaWQYASABKAlSAmlkEj8KC3BvcnRfc3RhdHVzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX3BvcnRfc3RhdHVzSABSCnBvcnRTdGF0dXMSMgoFZXJyb3IYAyABKAsyGi5vcGVuZmxvd18xMy5vZnBfZXJyb3JfbXNnSABSBWVycm9yEkUKDWRldmljZV9zdGF0dXMYBCABKAsyHi5vcGVuZmxvd18xMy5vZnBfZGV2aWNlX3N0YXR1c0gAUgxkZXZpY2VTdGF0dXNCBwoFZXZlbnQiRQoMRmxvd01ldGFkYXRhEjUKBm1ldGVycxgBIAMoCzIdLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9jb25maWdSBm1ldGVycyrVAQoLb2ZwX3BvcnRfbm8SEAoMT0ZQUF9JTlZBTElEEAASEAoIT0ZQUF9NQVgQgP7//wcSFAoMT0ZQUF9JTl9QT1JUEPj///8HEhIKCk9GUFBfVEFCTEUQ+f///wcSEwoLT0ZQUF9OT1JNQUwQ+v///wcSEgoKT0ZQUF9GTE9PRBD7////BxIQCghPRlBQX0FMTBD8////BxIXCg9PRlBQX0NPTlRST0xMRVIQ/f///wcSEgoKT0ZQUF9MT0NBTBD+////BxIQCghPRlBQX0FOWRD/////ByrIBQoIb2ZwX3R5cGUSDgoKT0ZQVF9IRUxMTxAAEg4KCk9GUFRfRVJST1IQARIVChFPRlBUX0VDSE9fUkVRVUVTVBACEhMKD09GUFRfRUNIT19SRVBMWRADEhUKEU9GUFRfRVhQRVJJTUVOVEVSEAQSGQoVT0ZQVF9GRUFUVVJFU19SRVFVRVNUEAUSFwoTT0ZQVF9GRUFUVVJFU19SRVBMWRAGEhsKF09GUFRfR0VUX0NPTkZJR19SRVFVRVNUEAcSGQoVT0ZQVF9HRVRfQ09ORklHX1JFUExZEAgSEwoPT0ZQVF9TRVRfQ09ORklHEAkSEgoOT0ZQVF9QQUNLRVRfSU4QChIVChFPRlBUX0ZMT1dfUkVNT1ZFRBALEhQKEE9GUFRfUE9SVF9TVEFUVVMQDBITCg9PRlBUX1BBQ0tFVF9PVVQQDRIRCg1PRlBUX0ZMT1dfTU9EEA4SEgoOT0ZQVF9HUk9VUF9NT0QQDxIRCg1PRlBUX1BPUlRfTU9EEBASEgoOT0ZQVF9UQUJMRV9NT0QQERIaChZPRlBUX01VTFRJUEFSVF9SRVFVRVNUEBISGAoUT0ZQVF9NVUxUSVBBUlRfUkVQTFkQExIYChRPRlBUX0JBUlJJRVJfUkVRVUVTVBAUEhYKEk9GUFRfQkFSUklFUl9SRVBMWRAVEiEKHU9GUFRfUVVFVUVfR0VUX0NPTkZJR19SRVFVRVNUEBYSHwobT0ZQVF9RVUVVRV9HRVRfQ09ORklHX1JFUExZEBcSFQoRT0ZQVF9ST0xFX1JFUVVFU1QQGBITCg9PRlBUX1JPTEVfUkVQTFkQGRIaChZPRlBUX0dFVF9BU1lOQ19SRVFVRVNUEBoSGAoUT0ZQVF9HRVRfQVNZTkNfUkVQTFkQGxISCg5PRlBUX1NFVF9BU1lOQxAcEhIKDk9GUFRfTUVURVJfTU9EEB0qQwoTb2ZwX2hlbGxvX2VsZW1fdHlwZRISCg5PRlBIRVRfSU5WQUxJRBAAEhgKFE9GUEhFVF9WRVJTSU9OQklUTUFQEAEqZQoQb2ZwX2NvbmZpZ19mbGFncxIUChBPRlBDX0ZSQUdfTk9STUFMEAASEgoOT0ZQQ19GUkFHX0RST1AQARITCg9PRlBDX0ZSQUdfUkVBU00QAhISCg5PRlBDX0ZSQUdfTUFTSxADKkAKEG9mcF90YWJsZV9jb25maWcSEQoNT0ZQVENfSU5WQUxJRBAAEhkKFU9GUFRDX0RFUFJFQ0FURURfTUFTSxADKj4KCW9mcF90YWJsZRIRCg1PRlBUVF9JTlZBTElEEAASDgoJT0ZQVFRfTUFYEP4BEg4KCU9GUFRUX0FMTBD/ASq7AQoQb2ZwX2NhcGFiaWxpdGllcxIQCgxPRlBDX0lOVkFMSUQQABITCg9PRlBDX0ZMT1dfU1RBVFMQARIUChBPRlBDX1RBQkxFX1NUQVRTEAISEwoPT0ZQQ19QT1JUX1NUQVRTEAQSFAoQT0ZQQ19HUk9VUF9TVEFUUxAIEhEKDU9GUENfSVBfUkVBU00QIBIUChBPRlBDX1FVRVVFX1NUQVRTEEASFgoRT0ZQQ19QT1JUX0JMT0NLRUQQgAIqdgoPb2ZwX3BvcnRfY29uZmlnEhEKDU9GUFBDX0lOVkFMSUQQABITCg9PRlBQQ19QT1JUX0RPV04QARIRCg1PRlBQQ19OT19SRUNWEAQSEAoMT0ZQUENfTk9fRldEECASFgoST0ZQUENfTk9fUEFDS0VUX0lOEEAqWwoOb2ZwX3BvcnRfc3RhdGUSEQoNT0ZQUFNfSU5WQUxJRBAAEhMKD09GUFBTX0xJTktfRE9XThABEhEKDU9GUFBTX0JMT0NLRUQQAhIOCgpPRlBQU19MSVZFEAQq3QIKEW9mcF9wb3J0X2ZlYXR1cmVzEhEKDU9GUFBGX0lOVkFMSUQQABIRCg1PRlBQRl8xME1CX0hEEAESEQoNT0ZQUEZfMTBNQl9GRBACEhIKDk9GUFBGXzEwME1CX0hEEAQSEgoOT0ZQUEZfMTAwTUJfRkQQCBIQCgxPRlBQRl8xR0JfSEQQEBIQCgxPRlBQRl8xR0JfRkQQIBIRCg1PRlBQRl8xMEdCX0ZEEEASEgoNT0ZQUEZfNDBHQl9GRBCAARITCg5PRlBQRl8xMDBHQl9GRBCAAhIRCgxPRlBQRl8xVEJfRkQQgAQSEAoLT0ZQUEZfT1RIRVIQgAgSEQoMT0ZQUEZfQ09QUEVSEIAQEhAKC09GUFBGX0ZJQkVSEIAgEhIKDU9GUFBGX0FVVE9ORUcQgEASEQoLT0ZQUEZfUEFVU0UQgIABEhYKEE9GUFBGX1BBVVNFX0FTWU0QgIACKkQKD29mcF9wb3J0X3JlYXNvbhINCglPRlBQUl9BREQQABIQCgxPRlBQUl9ERUxFVEUQARIQCgxPRlBQUl9NT0RJRlkQAipGChVvZnBfZGV2aWNlX2Nvbm5lY3Rpb24SFAoQT0ZQREVWX0NPTk5FQ1RFRBAAEhcKE09GUERFVl9ESVNDT05ORUNURUQQASozCg5vZnBfbWF0Y2hfdHlwZRISCg5PRlBNVF9TVEFOREFSRBAAEg0KCU9GUE1UX09YTRABKmsKDW9mcF9veG1fY2xhc3MSEAoMT0ZQWE1DX05YTV8wEAASEAoMT0ZQWE1DX05YTV8xEAESGwoVT0ZQWE1DX09QRU5GTE9XX0JBU0lDEICAAhIZChNPRlBYTUNfRVhQRVJJTUVOVEVSEP//AyqQCAoTb3htX29mYl9maWVsZF90eXBlcxIWChJPRlBYTVRfT0ZCX0lOX1BPUlQQABIaChZPRlBYTVRfT0ZCX0lOX1BIWV9QT1JUEAESFwoTT0ZQWE1UX09GQl9NRVRBREFUQRACEhYKEk9GUFhNVF9PRkJfRVRIX0RTVBADEhYKEk9GUFhNVF9PRkJfRVRIX1NSQxAEEhcKE09GUFhNVF9PRkJfRVRIX1RZUEUQBRIXChNPRlBYTVRfT0ZCX1ZMQU5fVklEEAYSFwoTT0ZQWE1UX09GQl9WTEFOX1BDUBAHEhYKEk9GUFhNVF9PRkJfSVBfRFNDUBAIEhUKEU9GUFhNVF9PRkJfSVBfRUNOEAkSFwoTT0ZQWE1UX09GQl9JUF9QUk9UTxAKEhcKE09GUFhNVF9PRkJfSVBWNF9TUkMQCxIXChNPRlBYTVRfT0ZCX0lQVjRfRFNUEAwSFgoST0ZQWE1UX09GQl9UQ1BfU1JDEA0SFgoST0ZQWE1UX09GQl9UQ1BfRFNUEA4SFgoST0ZQWE1UX09GQl9VRFBfU1JDEA8SFgoST0ZQWE1UX09GQl9VRFBfRFNUEBASFwoTT0ZQWE1UX09GQl9TQ1RQX1NSQxAREhcKE09GUFhNVF9PRkJfU0NUUF9EU1QQEhIaChZPRlBYTVRfT0ZCX0lDTVBWNF9UWVBFEBMSGgoWT0ZQWE1UX09GQl9JQ01QVjRfQ09ERRAUEhUKEU9GUFhNVF9PRkJfQVJQX09QEBUSFgoST0ZQWE1UX09GQl9BUlBfU1BBEBYSFgoST0ZQWE1UX09GQl9BUlBfVFBBEBcSFgoST0ZQWE1UX09GQl9BUlBfU0hBEBgSFgoST0ZQWE1UX09GQl9BUlBfVEhBEBkSFwoTT0ZQWE1UX09GQl9JUFY2X1NSQxAaEhcKE09GUFhNVF9PRkJfSVBWNl9EU1QQGxIaChZPRlBYTVRfT0ZCX0lQVjZfRkxBQkVMEBwSGgoWT0ZQWE1UX09GQl9JQ01QVjZfVFlQRRAdEhoKFk9GUFhNVF9PRkJfSUNNUFY2X0NPREUQHhIdChlPRlBYTVRfT0ZCX0lQVjZfTkRfVEFSR0VUEB8SGgoWT0ZQWE1UX09GQl9JUFY2X05EX1NMTBAgEhoKFk9GUFhNVF9PRkJfSVBWNl9ORF9UTEwQIRIZChVPRlBYTVRfT0ZCX01QTFNfTEFCRUwQIhIWChJPRlBYTVRfT0ZCX01QTFNfVEMQIxIXChNPRlBYTVRfT0ZCX01QTFNfQk9TECQSFwoTT0ZQWE1UX09GQl9QQkJfSVNJRBAlEhgKFE9GUFhNVF9PRkJfVFVOTkVMX0lEECYSGgoWT0ZQWE1UX09GQl9JUFY2X0VYVEhEUhAnKjMKC29mcF92bGFuX2lkEg8KC09GUFZJRF9OT05FEAASEwoOT0ZQVklEX1BSRVNFTlQQgCAqyQEKFG9mcF9pcHY2ZXh0aGRyX2ZsYWdzEhIKDk9GUElFSF9JTlZBTElEEAASEQoNT0ZQSUVIX05PTkVYVBABEg4KCk9GUElFSF9FU1AQAhIPCgtPRlBJRUhfQVVUSBAEEg8KC09GUElFSF9ERVNUEAgSDwoLT0ZQSUVIX0ZSQUcQEBIRCg1PRlBJRUhfUk9VVEVSECASDgoKT0ZQSUVIX0hPUBBAEhEKDE9GUElFSF9VTlJFUBCAARIRCgxPRlBJRUhfVU5TRVEQgAIq/AIKD29mcF9hY3Rpb25fdHlwZRIQCgxPRlBBVF9PVVRQVVQQABIWChJPRlBBVF9DT1BZX1RUTF9PVVQQCxIVChFPRlBBVF9DT1BZX1RUTF9JThAMEhYKEk9GUEFUX1NFVF9NUExTX1RUTBAPEhYKEk9GUEFUX0RFQ19NUExTX1RUTBAQEhMKD09GUEFUX1BVU0hfVkxBThAREhIKDk9GUEFUX1BPUF9WTEFOEBISEwoPT0ZQQVRfUFVTSF9NUExTEBMSEgoOT0ZQQVRfUE9QX01QTFMQFBITCg9PRlBBVF9TRVRfUVVFVUUQFRIPCgtPRlBBVF9HUk9VUBAWEhQKEE9GUEFUX1NFVF9OV19UVEwQFxIUChBPRlBBVF9ERUNfTldfVFRMEBgSEwoPT0ZQQVRfU0VUX0ZJRUxEEBkSEgoOT0ZQQVRfUFVTSF9QQkIQGhIRCg1PRlBBVF9QT1BfUEJCEBsSGAoST0ZQQVRfRVhQRVJJTUVOVEVSEP//AypWChZvZnBfY29udHJvbGxlcl9tYXhfbGVuEhIKDk9GUENNTF9JTlZBTElEEAASEAoKT0ZQQ01MX01BWBDl/wMSFgoQT0ZQQ01MX05PX0JVRkZFUhD//wMqzwEKFG9mcF9pbnN0cnVjdGlvbl90eXBlEhEKDU9GUElUX0lOVkFMSUQQABIUChBPRlBJVF9HT1RPX1RBQkxFEAESGAoUT0ZQSVRfV1JJVEVfTUVUQURBVEEQAhIXChNPRlBJVF9XUklURV9BQ1RJT05TEAMSFwoTT0ZQSVRfQVBQTFlfQUNUSU9OUxAEEhcKE09GUElUX0NMRUFSX0FDVElPTlMQBRIPCgtPRlBJVF9NRVRFUhAGEhgKEk9GUElUX0VYUEVSSU1FTlRFUhD//wMqewoUb2ZwX2Zsb3dfbW9kX2NvbW1hbmQSDQoJT0ZQRkNfQUREEAASEAoMT0ZQRkNfTU9ESUZZEAESFwoTT0ZQRkNfTU9ESUZZX1NUUklDVBACEhAKDE9GUEZDX0RFTEVURRADEhcKE09GUEZDX0RFTEVURV9TVFJJQ1QQBCqjAQoSb2ZwX2Zsb3dfbW9kX2ZsYWdzEhEKDU9GUEZGX0lOVkFMSUQQABIXChNPRlBGRl9TRU5EX0ZMT1dfUkVNEAESFwoTT0ZQRkZfQ0hFQ0tfT1ZFUkxBUBACEhYKEk9GUEZGX1JFU0VUX0NPVU5UUxAEEhcKE09GUEZGX05PX1BLVF9DT1VOVFMQCBIXChNPRlBGRl9OT19CWVRfQ09VTlRTEBAqUwoJb2ZwX2dyb3VwEhAKDE9GUEdfSU5WQUxJRBAAEhAKCE9GUEdfTUFYEID+//8HEhAKCE9GUEdfQUxMEPz///8HEhAKCE9GUEdfQU5ZEP////8HKkoKFW9mcF9ncm91cF9tb2RfY29tbWFuZBINCglPRlBHQ19BREQQABIQCgxPRlBHQ19NT0RJRlkQARIQCgxPRlBHQ19ERUxFVEUQAipTCg5vZnBfZ3JvdXBfdHlwZRINCglPRlBHVF9BTEwQABIQCgxPRlBHVF9TRUxFQ1QQARISCg5PRlBHVF9JTkRJUkVDVBACEgwKCE9GUEdUX0ZGEAMqUAoUb2ZwX3BhY2tldF9pbl9yZWFzb24SEQoNT0ZQUl9OT19NQVRDSBAAEg8KC09GUFJfQUNUSU9OEAESFAoQT0ZQUl9JTlZBTElEX1RUTBACKosBChdvZnBfZmxvd19yZW1vdmVkX3JlYXNvbhIWChJPRlBSUl9JRExFX1RJTUVPVVQQABIWChJPRlBSUl9IQVJEX1RJTUVPVVQQARIQCgxPRlBSUl9ERUxFVEUQAhIWChJPRlBSUl9HUk9VUF9ERUxFVEUQAxIWChJPRlBSUl9NRVRFUl9ERUxFVEUQBCpuCglvZnBfbWV0ZXISDQoJT0ZQTV9aRVJPEAASEAoIT0ZQTV9NQVgQgID8/wcSFQoNT0ZQTV9TTE9XUEFUSBD9////BxIXCg9PRlBNX0NPTlRST0xMRVIQ/v///wcSEAoIT0ZQTV9BTEwQ/////wcqbQoTb2ZwX21ldGVyX2JhbmRfdHlwZRISCg5PRlBNQlRfSU5WQUxJRBAAEg8KC09GUE1CVF9EUk9QEAESFgoST0ZQTUJUX0RTQ1BfUkVNQVJLEAISGQoTT0ZQTUJUX0VYUEVSSU1FTlRFUhD//wMqSgoVb2ZwX21ldGVyX21vZF9jb21tYW5kEg0KCU9GUE1DX0FERBAAEhAKDE9GUE1DX01PRElGWRABEhAKDE9GUE1DX0RFTEVURRACKmcKD29mcF9tZXRlcl9mbGFncxIRCg1PRlBNRl9JTlZBTElEEAASDgoKT0ZQTUZfS0JQUxABEg8KC09GUE1GX1BLVFBTEAISDwoLT0ZQTUZfQlVSU1QQBBIPCgtPRlBNRl9TVEFUUxAIKqQDCg5vZnBfZXJyb3JfdHlwZRIWChJPRlBFVF9IRUxMT19GQUlMRUQQABIVChFPRlBFVF9CQURfUkVRVUVTVBABEhQKEE9GUEVUX0JBRF9BQ1RJT04QAhIZChVPRlBFVF9CQURfSU5TVFJVQ1RJT04QAxITCg9PRlBFVF9CQURfTUFUQ0gQBBIZChVPRlBFVF9GTE9XX01PRF9GQUlMRUQQBRIaChZPRlBFVF9HUk9VUF9NT0RfRkFJTEVEEAYSGQoVT0ZQRVRfUE9SVF9NT0RfRkFJTEVEEAcSGgoWT0ZQRVRfVEFCTEVfTU9EX0ZBSUxFRBAIEhkKFU9GUEVUX1FVRVVFX09QX0ZBSUxFRBAJEh4KGk9GUEVUX1NXSVRDSF9DT05GSUdfRkFJTEVEEAoSHQoZT0ZQRVRfUk9MRV9SRVFVRVNUX0ZBSUxFRBALEhoKFk9GUEVUX01FVEVSX01PRF9GQUlMRUQQDBIfChtPRlBFVF9UQUJMRV9GRUFUVVJFU19GQUlMRUQQDRIYChJPRlBFVF9FWFBFUklNRU5URVIQ//8DKkIKFW9mcF9oZWxsb19mYWlsZWRfY29kZRIXChNPRlBIRkNfSU5DT01QQVRJQkxFEAASEAoMT0ZQSEZDX0VQRVJNEAEq7QIKFG9mcF9iYWRfcmVxdWVzdF9jb2RlEhYKEk9GUEJSQ19CQURfVkVSU0lPThAAEhMKD09GUEJSQ19CQURfVFlQRRABEhgKFE9GUEJSQ19CQURfTVVMVElQQVJUEAISGwoXT0ZQQlJDX0JBRF9FWFBFUklNRU5URVIQAxIXChNPRlBCUkNfQkFEX0VYUF9UWVBFEAQSEAoMT0ZQQlJDX0VQRVJNEAUSEgoOT0ZQQlJDX0JBRF9MRU4QBhIXChNPRlBCUkNfQlVGRkVSX0VNUFRZEAcSGQoVT0ZQQlJDX0JVRkZFUl9VTktOT1dOEAgSFwoTT0ZQQlJDX0JBRF9UQUJMRV9JRBAJEhMKD09GUEJSQ19JU19TTEFWRRAKEhMKD09GUEJSQ19CQURfUE9SVBALEhUKEU9GUEJSQ19CQURfUEFDS0VUEAwSJAogT0ZQQlJDX01VTFRJUEFSVF9CVUZGRVJfT1ZFUkZMT1cQDSqcAwoTb2ZwX2JhZF9hY3Rpb25fY29kZRITCg9PRlBCQUNfQkFEX1RZUEUQABISCg5PRlBCQUNfQkFEX0xFThABEhsKF09GUEJBQ19CQURfRVhQRVJJTUVOVEVSEAISFwoTT0ZQQkFDX0JBRF9FWFBfVFlQRRADEhcKE09GUEJBQ19CQURfT1VUX1BPUlQQBBIXChNPRlBCQUNfQkFEX0FSR1VNRU5UEAUSEAoMT0ZQQkFDX0VQRVJNEAYSEwoPT0ZQQkFDX1RPT19NQU5ZEAcSFAoQT0ZQQkFDX0JBRF9RVUVVRRAIEhgKFE9GUEJBQ19CQURfT1VUX0dST1VQEAkSHQoZT0ZQQkFDX01BVENIX0lOQ09OU0lTVEVOVBAKEhwKGE9GUEJBQ19VTlNVUFBPUlRFRF9PUkRFUhALEhIKDk9GUEJBQ19CQURfVEFHEAwSFwoTT0ZQQkFDX0JBRF9TRVRfVFlQRRANEhYKEk9GUEJBQ19CQURfU0VUX0xFThAOEhsKF09GUEJBQ19CQURfU0VUX0FSR1VNRU5UEA8q+gEKGG9mcF9iYWRfaW5zdHJ1Y3Rpb25fY29kZRIXChNPRlBCSUNfVU5LTk9XTl9JTlNUEAASFQoRT0ZQQklDX1VOU1VQX0lOU1QQARIXChNPRlBCSUNfQkFEX1RBQkxFX0lEEAISGQoVT0ZQQklDX1VOU1VQX01FVEFEQVRBEAMSHgoaT0ZQQklDX1VOU1VQX01FVEFEQVRBX01BU0sQBBIbChdPRlBCSUNfQkFEX0VYUEVSSU1FTlRFUhAFEhcKE09GUEJJQ19CQURfRVhQX1RZUEUQBhISCg5PRlBCSUNfQkFEX0xFThAHEhAKDE9GUEJJQ19FUEVSTRAIKqUCChJvZnBfYmFkX21hdGNoX2NvZGUSEwoPT0ZQQk1DX0JBRF9UWVBFEAASEgoOT0ZQQk1DX0JBRF9MRU4QARISCg5PRlBCTUNfQkFEX1RBRxACEhsKF09GUEJNQ19CQURfRExfQUREUl9NQVNLEAMSGwoXT0ZQQk1DX0JBRF9OV19BRERSX01BU0sQBBIYChRPRlBCTUNfQkFEX1dJTERDQVJEUxAFEhQKEE9GUEJNQ19CQURfRklFTEQQBhIUChBPRlBCTUNfQkFEX1ZBTFVFEAcSEwoPT0ZQQk1DX0JBRF9NQVNLEAgSFQoRT0ZQQk1DX0JBRF9QUkVSRVEQCRIUChBPRlBCTUNfRFVQX0ZJRUxEEAoSEAoMT0ZQQk1DX0VQRVJNEAsq0gEKGG9mcF9mbG93X21vZF9mYWlsZWRfY29kZRITCg9PRlBGTUZDX1VOS05PV04QABIWChJPRlBGTUZDX1RBQkxFX0ZVTEwQARIYChRPRlBGTUZDX0JBRF9UQUJMRV9JRBACEhMKD09GUEZNRkNfT1ZFUkxBUBADEhEKDU9GUEZNRkNfRVBFUk0QBBIXChNPRlBGTUZDX0JBRF9USU1FT1VUEAUSFwoTT0ZQRk1GQ19CQURfQ09NTUFORBAGEhUKEU9GUEZNRkNfQkFEX0ZMQUdTEAcqoQMKGW9mcF9ncm91cF9tb2RfZmFpbGVkX2NvZGUSGAoUT0ZQR01GQ19HUk9VUF9FWElTVFMQABIZChVPRlBHTUZDX0lOVkFMSURfR1JPVVAQARIeChpPRlBHTUZDX1dFSUdIVF9VTlNVUFBPUlRFRBACEhkKFU9GUEdNRkNfT1VUX09GX0dST1VQUxADEhoKFk9GUEdNRkNfT1VUX09GX0JVQ0tFVFMQBBIgChxPRlBHTUZDX0NIQUlOSU5HX1VOU1VQUE9SVEVEEAUSHQoZT0ZQR01GQ19XQVRDSF9VTlNVUFBPUlRFRBAGEhAKDE9GUEdNRkNfTE9PUBAHEhkKFU9GUEdNRkNfVU5LTk9XTl9HUk9VUBAIEhkKFU9GUEdNRkNfQ0hBSU5FRF9HUk9VUBAJEhQKEE9GUEdNRkNfQkFEX1RZUEUQChIXChNPRlBHTUZDX0JBRF9DT01NQU5EEAsSFgoST0ZQR01GQ19CQURfQlVDS0VUEAwSFQoRT0ZQR01GQ19CQURfV0FUQ0gQDRIRCg1PRlBHTUZDX0VQRVJNEA4qjwEKGG9mcF9wb3J0X21vZF9mYWlsZWRfY29kZRIUChBPRlBQTUZDX0JBRF9QT1JUEAASFwoTT0ZQUE1GQ19CQURfSFdfQUREUhABEhYKEk9GUFBNRkNfQkFEX0NPTkZJRxACEhkKFU9GUFBNRkNfQkFEX0FEVkVSVElTRRADEhEKDU9GUFBNRkNfRVBFUk0QBCpdChlvZnBfdGFibGVfbW9kX2ZhaWxlZF9jb2RlEhUKEU9GUFRNRkNfQkFEX1RBQkxFEAASFgoST0ZQVE1GQ19CQURfQ09ORklHEAESEQoNT0ZQVE1GQ19FUEVSTRACKloKGG9mcF9xdWV1ZV9vcF9mYWlsZWRfY29kZRIUChBPRlBRT0ZDX0JBRF9QT1JUEAASFQoRT0ZQUU9GQ19CQURfUVVFVUUQARIRCg1PRlBRT0ZDX0VQRVJNEAIqXgodb2ZwX3N3aXRjaF9jb25maWdfZmFpbGVkX2NvZGUSFQoRT0ZQU0NGQ19CQURfRkxBR1MQABITCg9PRlBTQ0ZDX0JBRF9MRU4QARIRCg1PRlBTQ0ZDX0VQRVJNEAIqWgocb2ZwX3JvbGVfcmVxdWVzdF9mYWlsZWRfY29kZRIRCg1PRlBSUkZDX1NUQUxFEAASEQoNT0ZQUlJGQ19VTlNVUBABEhQKEE9GUFJSRkNfQkFEX1JPTEUQAirFAgoZb2ZwX21ldGVyX21vZF9mYWlsZWRfY29kZRITCg9PRlBNTUZDX1VOS05PV04QABIYChRPRlBNTUZDX01FVEVSX0VYSVNUUxABEhkKFU9GUE1NRkNfSU5WQUxJRF9NRVRFUhACEhkKFU9GUE1NRkNfVU5LTk9XTl9NRVRFUhADEhcKE09GUE1NRkNfQkFEX0NPTU1BTkQQBBIVChFPRlBNTUZDX0JBRF9GTEFHUxAFEhQKEE9GUE1NRkNfQkFEX1JBVEUQBhIVChFPRlBNTUZDX0JBRF9CVVJTVBAHEhQKEE9GUE1NRkNfQkFEX0JBTkQQCBIbChdPRlBNTUZDX0JBRF9CQU5EX0RFVEFJTBAJEhkKFU9GUE1NRkNfT1VUX09GX01FVEVSUxAKEhgKFE9GUE1NRkNfT1VUX09GX0JBTkRTEAsqqQEKHm9mcF90YWJsZV9mZWF0dXJlc19mYWlsZWRfY29kZRIVChFPRlBURkZDX0JBRF9UQUJMRRAAEhgKFE9GUFRGRkNfQkFEX01FVEFEQVRBEAESFAoQT0ZQVEZGQ19CQURfVFlQRRACEhMKD09GUFRGRkNfQkFEX0xFThADEhgKFE9GUFRGRkNfQkFEX0FSR1VNRU5UEAQSEQoNT0ZQVEZGQ19FUEVSTRAFKs4CChJvZnBfbXVsdGlwYXJ0X3R5cGUSDgoKT0ZQTVBfREVTQxAAEg4KCk9GUE1QX0ZMT1cQARITCg9PRlBNUF9BR0dSRUdBVEUQAhIPCgtPRlBNUF9UQUJMRRADEhQKEE9GUE1QX1BPUlRfU1RBVFMQBBIPCgtPRlBNUF9RVUVVRRAFEg8KC09GUE1QX0dST1VQEAYSFAoQT0ZQTVBfR1JPVVBfREVTQxAHEhgKFE9GUE1QX0dST1VQX0ZFQVRVUkVTEAgSDwoLT0ZQTVBfTUVURVIQCRIWChJPRlBNUF9NRVRFUl9DT05GSUcQChIYChRPRlBNUF9NRVRFUl9GRUFUVVJFUxALEhgKFE9GUE1QX1RBQkxFX0ZFQVRVUkVTEAwSEwoPT0ZQTVBfUE9SVF9ERVNDEA0SGAoST0ZQTVBfRVhQRVJJTUVOVEVSEP//AypKChtvZnBfbXVsdGlwYXJ0X3JlcXVlc3RfZmxhZ3MSFgoST0ZQTVBGX1JFUV9JTlZBTElEEAASEwoPT0ZQTVBGX1JFUV9NT1JFEAEqTAoZb2ZwX211bHRpcGFydF9yZXBseV9mbGFncxIYChRPRlBNUEZfUkVQTFlfSU5WQUxJRBAAEhUKEU9GUE1QRl9SRVBMWV9NT1JFEAEq5AMKG29mcF90YWJsZV9mZWF0dXJlX3Byb3BfdHlwZRIYChRPRlBURlBUX0lOU1RSVUNUSU9OUxAAEh0KGU9GUFRGUFRfSU5TVFJVQ1RJT05TX01JU1MQARIXChNPRlBURlBUX05FWFRfVEFCTEVTEAISHAoYT0ZQVEZQVF9ORVhUX1RBQkxFU19NSVNTEAMSGQoVT0ZQVEZQVF9XUklURV9BQ1RJT05TEAQSHgoaT0ZQVEZQVF9XUklURV9BQ1RJT05TX01JU1MQBRIZChVPRlBURlBUX0FQUExZX0FDVElPTlMQBhIeChpPRlBURlBUX0FQUExZX0FDVElPTlNfTUlTUxAHEhEKDU9GUFRGUFRfTUFUQ0gQCBIVChFPRlBURlBUX1dJTERDQVJEUxAKEhoKFk9GUFRGUFRfV1JJVEVfU0VURklFTEQQDBIfChtPRlBURlBUX1dSSVRFX1NFVEZJRUxEX01JU1MQDRIaChZPRlBURlBUX0FQUExZX1NFVEZJRUxEEA4SHwobT0ZQVEZQVF9BUFBMWV9TRVRGSUVMRF9NSVNTEA8SGgoUT0ZQVEZQVF9FWFBFUklNRU5URVIQ/v8DEh8KGU9GUFRGUFRfRVhQRVJJTUVOVEVSX01JU1MQ//8DKpMBChZvZnBfZ3JvdXBfY2FwYWJpbGl0aWVzEhIKDk9GUEdGQ19JTlZBTElEEAASGAoUT0ZQR0ZDX1NFTEVDVF9XRUlHSFQQARIaChZPRlBHRkNfU0VMRUNUX0xJVkVORVNTEAISEwoPT0ZQR0ZDX0NIQUlOSU5HEAQSGgoWT0ZQR0ZDX0NIQUlOSU5HX0NIRUNLUxAIKmsKFG9mcF9xdWV1ZV9wcm9wZXJ0aWVzEhEKDU9GUFFUX0lOVkFMSUQQABISCg5PRlBRVF9NSU5fUkFURRABEhIKDk9GUFFUX01BWF9SQVRFEAISGAoST0ZQUVRfRVhQRVJJTUVOVEVSEP//AypxChNvZnBfY29udHJvbGxlcl9yb2xlEhcKE09GUENSX1JPTEVfTk9DSEFOR0UQABIUChBPRlBDUl9ST0xFX0VRVUFMEAESFQoRT0ZQQ1JfUk9MRV9NQVNURVIQAhIUChBPRlBDUl9ST0xFX1NMQVZFEANCVQoeb3JnLm9wZW5jb3JkLnZvbHRoYS5vcGVuZmxvdzEzWjNnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vb3BlbmZsb3dfMTNKr7oGCgcSBTkAmRIBCv4UCgEMEgM5ABIa+QYKIFRoaXMgaXMgYSByZWxhdGl2ZWx5IHN0cmFpZ2h0Zm9yd2FyZCByZW5kZXJpbmcgb2YgT3BlbkZsb3cgbWVzc2FnZQogZGVmaW5pdGlvbnMgaW50byBwcm90b2NvbCBidWZmZXIgbWVzc2FnZXMuIFdlIHByZXNlcnZlZCB0aGUgc25ha2UKIGNhc2Ugc3ludGF4LCBhbmQgbWFkZSB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CiAtIGFsbCBwYWQgZmllbGRzIGRyb3BwZWQKIC0gZm9yIGVhY2ggZW51bSB2YWx1ZSBhYm92ZSAweDdmZmZmZmZmIHRoZSBNU0IgaXMgZHJvcHBlZC4gRm9yIGV4YW1wbGUsCiAgIDB4ZmZmZmZmZmYgaXMgbm93IDB4N2ZmZmZmZmYuCiAtICc8dHlwZT4gdGhpbmdbLi4uXScgaXMgcmVwbGFjZWQgd2l0aCAncmVwZWF0ZWQgPHR5cGU+IHRoaW5nJwogLSAnY2hhciB0aGluZ1suLi5dJyBpcyByZXBsYWNlZCB3aXRoICdzdHJpbmcgdGhpbmcnCiAtICd1aW50OF90IGRhdGFbLi4uXScgaXMgcmVwbGFjZWQgd2l0aCAnYnl0ZXMgZGF0YScKIC0gdGhlIGZvbGxvd2luZyBzeXN0ZW1hdGljIGNoYW5nZXMgYXJlIGRvbmUgdG8gdmFyaW91cyBpbnRlZ2VyIHR5cGVzOgogICB1aW50OF90ICAtPiB1aW50MzIKICAgdWludDE2X3QgLT4gdWludDMyCiAgIHVpbnQzMl90IC0+IHVpbnQzMgogICB1aW50NjRfdCAtPiB1aW50NjQKIC0gcmVtb3ZlZCBtb3N0IGxlbmd0aCwgbGVuLCBzaXplIGZpZWxkcyB3aGVyZSB0aGVzZSB2YWx1ZXMgY2FuIGJlIGRldGVybWluZWQKICAgZnJvbSB0aGUgZXhwbGljaXRseSBlbmNvZGVkIGxlbmd0aCBvZiAicmVwZWF0ZWQiIHByb3RvYnVmIGZpZWxkcy4KIC0gZXhwbGljaXQgdXNlIG9mIGVudW0gdHlwZXMgd2hlcmVldmVyIGl0IGlzIHVuYW1iaWdvdXMgKGFuZCBub3QgdXNlZCBhcwogICBiaXRtYXNrL2ZsYWdzIHZhbHVlLgoKMsANIENvcHlyaWdodCAoYykgMjAwOCBUaGUgQm9hcmQgb2YgVHJ1c3RlZXMgb2YgVGhlIExlbGFuZCBTdGFuZm9yZAogSnVuaW9yIFVuaXZlcnNpdHkKIENvcHlyaWdodCAyMDExLTIwMjQgT3BlbiBOZXR3b3JraW5nIEZvdW5kYXRpb24gKE9ORikgYW5kIHRoZSBPTkYgQ29udHJpYnV0b3JzCgogV2UgYXJlIG1ha2luZyB0aGUgT3BlbkZsb3cgc3BlY2lmaWNhdGlvbiBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uCiAoU29mdHdhcmUpIGF2YWlsYWJsZSBmb3IgcHVibGljIHVzZSBhbmQgYmVuZWZpdCB3aXRoIHRoZSBleHBlY3RhdGlvbgogdGhhdCBvdGhlcnMgd2lsbCB1c2UsIG1vZGlmeSBhbmQgZW5oYW5jZSB0aGUgU29mdHdhcmUgYW5kIGNvbnRyaWJ1dGUKIHRob3NlIGVuaGFuY2VtZW50cyBiYWNrIHRvIHRoZSBjb21tdW5pdHkuIEhvd2V2ZXIsIHNpbmNlIHdlIHdvdWxkCiBsaWtlIHRvIG1ha2UgdGhlIFNvZnR3YXJlIGF2YWlsYWJsZSBmb3IgYnJvYWRlc3QgdXNlLCB3aXRoIGFzIGZldwogcmVzdHJpY3Rpb25zIGFzIHBvc3NpYmxlIHBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YKIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgU29mdHdhcmUgdG8gZGVhbCBpbgogdGhlIFNvZnR3YXJlIHVuZGVyIHRoZSBjb3B5cmlnaHRzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQogaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECiBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUwogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogU09GVFdBUkUuCgogVGhlIG5hbWUgYW5kIHRyYWRlbWFya3Mgb2YgY29weXJpZ2h0IGhvbGRlcihzKSBtYXkgTk9UIGJlIHVzZWQgaW4KIGFkdmVydGlzaW5nIG9yIHB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvIHRoZSBTb2Z0d2FyZSBvciBhbnkKIGRlcml2YXRpdmVzIHdpdGhvdXQgc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4KMjUgT3BlbkZsb3c6IHByb3RvY29sIGJldHdlZW4gY29udHJvbGxlciBhbmQgZGF0YXBhdGguIAoICgEIEgM7AEoKCQoCCAsSAzsASgoICgEIEgM8ADcKCQoCCAESAzwANwoICgECEgM+ABQKCQoCAwASA0AAJgqmBAoCBQASBFQAaQEaNSBQb3J0IG51bWJlcmluZy4gUG9ydHMgYXJlIG51bWJlcmVkIHN0YXJ0aW5nIGZyb20gMS4gMmMgVmVyc2lvbiBudW1iZXI6CiBPcGVuRmxvdyB2ZXJzaW9ucyByZWxlYXNlZDogMHgwMSA9IDEuMCA7IDB4MDIgPSAxLjEgOyAweDAzID0gMS4yCiAgICAgMHgwNCA9IDEuMwoyVSBUaGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIHZlcnNpb24gZmllbGQgaXMgcmVzZXJ2ZWQgYW5kIG11c3QKIGJlIHNldCB0byB6ZXJvLgoyeiNkZWZpbmUgT0ZQX1ZFUlNJT04gICAweDA0CiNkZWZpbmUgUElQRUxJTkVfVEFCTEVTIDY0CiNkZWZpbmUgT0ZQX01BWF9UQUJMRV9OQU1FX0xFTiAzMgojZGVmaW5lIE9GUF9NQVhfUE9SVF9OQU1FX0xFTiAgMTYKMi0gT2ZmaWNpYWwgSUFOQSByZWdpc3RlcmVkIHBvcnQgZm9yIE9wZW5GbG93LiAyNiNkZWZpbmUgT0ZQX1RDUF9QT1JUICA2NjUzCiNkZWZpbmUgT0ZQX1NTTF9QT1JUICA2NjUzCjJEI2RlZmluZSBPRlBfRVRIX0FMRU4gNiAgICAgICAgICAvKiBCeXRlcyBpbiBhbiBFdGhlcm5ldCBhZGRyZXNzLiAqLwoKCgoDBQABEgNUBRAKCwoEBQACABIDVQQYCgwKBQUAAgABEgNVBBAKDAoFBQACAAISA1UWFwpDCgQFAAIBEgNYBCEaNiBNYXhpbXVtIG51bWJlciBvZiBwaHlzaWNhbCBhbmQgbG9naWNhbCBzd2l0Y2ggcG9ydHMuIAoMCgUFAAIBARIDWAQMCgwKBQUAAgECEgNYFiAKvAEKBAUAAgISA1sEIRovIFJlc2VydmVkIE9wZW5GbG93IFBvcnQgKGZha2Ugb3V0cHV0ICJwb3J0cyIpLiAifiBTZW5kIHRoZSBwYWNrZXQgb3V0IHRoZSBpbnB1dCBwb3J0LiAgVGhpcwpyZXNlcnZlZCBwb3J0IG11c3QgYmUgZXhwbGljaXRseSB1c2VkCmluIG9yZGVyIHRvIHNlbmQgYmFjayBvdXQgb2YgdGhlIGlucHV0CnBvcnQuIAoMCgUFAAICARIDWwQQCgwKBQUAAgICEgNbFiAKewoEBQACAxIDXwQhIm4gU3Vi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GhsKGQoEBAsCARIEjgMEKiILIDAgb3IgbW9yZSAKDQoFBAsCAQQSBI4DBAwKDQoFBAsCAQYSBI4DDRoKDQoFBAsCAQESBI4DGyUKDQoFBAsCAQMSBI4DKCkKtwgKAgUNEgaoAwCtAwEa5gEgT1hNIENsYXNzIElEcy4KIFRoZSBoaWdoIG9yZGVyIGJpdCBkaWZmZXJlbnRpYXRlIHJlc2VydmVkIGNsYXNzZXMgZnJvbSBtZW1iZXIgY2xhc3Nlcy4KIENsYXNzZXMgMHgwMDAwIHRvIDB4N0ZGRiBhcmUgbWVtYmVyIGNsYXNzZXMsIGFsbG9jYXRlZCBieSBPTkYuCiBDbGFzc2VzIDB4ODAwMCB0byAweEZGRkUgYXJlIHJlc2VydmVkIGNsYXNzZXMsIHJlc2VydmVkIGZvciBzdGFuZGFyZGlzYXRpb24uCjKpASBDb21wb25lbnRzIG9mIGEgT1hNIFRMViBoZWFkZXIuCiBUaG9zZSBtYWNyb3MgYXJlIG5vdCB2YWxpZCBmb3IgdGhlIGV4cGVyaW1lbnRlciBjbGFzcywgbWFjcm9zIGZvciB0aGUKIGV4cGVyaW1lbnRlciBjbGFzcyB3aWxsIGRlcGVuZCBvbiB0aGUgZXhwZXJpbWVudGVyIGhlYWRlciB1c2VkLiAykwUjZGVmaW5lIE9YTV9IRUFERVJfXyhDTEFTUywgRklFTEQsIEhBU01BU0ssIExFTkdUSCkgXAogICAgKCgoQ0xBU1MpIDw8IDE2KSB8ICgoRklFTEQpIDw8IDkpIHwgKChIQVNNQVNLKSA8PCA4KSB8IChMRU5HVEgpKQojZGVmaW5lIE9YTV9IRUFERVIoQ0xBU1MsIEZJRUxELCBMRU5HVEgpIFwKICAgIE9YTV9IRUFERVJfXyhDTEFTUywgRklFTEQsIDAsIExFTkdUSCkKI2RlZmluZSBPWE1fSEVBREVSX1coQ0xBU1MsIEZJRUxELCBMRU5HVEgpIFwKICAgIE9YTV9IRUFERVJfXyhDTEFTUywgRklFTEQsIDEsIChMRU5HVEgpICogMikKI2RlZmluZSBPWE1fQ0xBU1MoSEVBREVSKSAoKEhFQURFUikgPj4gMTYpCiNkZWZpbmUgT1hNX0ZJRUxEKEhFQURFUikgKCgoSEVBREVSKSA+PiA5KSAm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c2lkZXIgYSBwYWNrZXQgcmVjZWl2ZWQgb24gYSB0dW5uZWwgaW50ZXJmYWNlIGRlZmluZWQgb3ZlciBhIGxpbmsKIGFnZ3JlZ2F0aW9uIGdyb3VwIChMQUcpIHdpdGggdHdvIHBoeXNpY2FsIHBvcnQgbWVtYmVycy4gIElmIHRoZSB0dW5uZWwKIGludGVyZmFjZSBpcyB0aGUgbG9naWNhbCBwb3J0IGJvdW5kIHRvIE9wZW5GbG93LiAgSW4gdGhpcyBjYXNlLAogT0ZQWE1UX09GX0lOX1BPUlQgaXMgdGhlIHR1bm5lbCdzIHBvcnQgbnVtYmVyIGFuZCBPRlBYTVRfT0ZfSU5fUEhZX1BPUlQgaXMKIHRoZSBwaHlzaWNhbCBwb3J0IG51bWJlciBvZiB0aGUgTEFHIG9uIHdoaWNoIHRoZSB0dW5uZWwgaXMgY29uZmlndXJlZC4KCiBXaGVuIGEgcGFja2V0IGlzIHJlY2VpdmVkIGRpcmVjdGx5IG9uIGEgcGh5c2ljYWwgcG9ydCBhbmQgbm90IHByb2Nlc3NlZCBieSBhCiBsb2dpY2FsIHBvcnQsIE9GUFhNVF9PRl9JTl9QT1JUIGFuZCBPRlBYTVRfT0ZfSU5fUEhZX1BPUlQgaGF2ZSB0aGUgc2FtZQogdmFsdWUuCgogVGhpcyBmaWVsZCBpcyB1c3VhbGx5IG5vdCBhdmFpbGFibGUgaW4gYSByZWd1bGFyIG1hdGNoIGFuZCBvbmx5IGF2YWlsYWJsZQogaW4gb2ZwX3BhY2tldF9pbiBtZXNzYWdlcyB3aGVuIGl0J3MgZGlmZmVyZW50IGZyb20gT1hNX09GX0lOX1BPUlQuCgogUHJlcmVxczogT1hNX09GX0lOX1BPUlQgbXVzdCBiZSBwcmVzZW50LgoKIEZvcm1hdDogMzItYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAgMFEgSLBAgOCg0KBQQNAgMBEgSLBA8cCg0KBQQNAgMDEgSLBB8gCq0CCgQEDQIEEgSXBAgiGo4BI2RlZmluZSBPWE1fT0ZfTUVUQURBVEEgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX01FVEFEQVRBLCA4KQojZGVmaW5lIE9YTV9PRl9NRVRBREFUQV9XIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfTUVUQURBVEEsIDgpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfTUVUQURBVEEgMm4gVGFibGUgbWV0YWRhdGEuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDY0LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDQIEBRIElwQIDgoNCgUEDQIEARIElwQPHQoNCgUEDQIEAxIElwQgIQriAwoEBA0CBRIEpAQIGhqYAiNkZWZpbmUgT1hNX09GX0VUSF9EU1QgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfRFNULCA2KQojZGVmaW5lIE9YTV9PRl9FVEhfRFNUX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfRVRIX0RTVCwgNikKI2RlZmluZSBPWE1fT0ZfRVRIX1NSQyAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0VUSF9TUkMsIDYpCiNkZWZpbmUgT1hNX09GX0VUSF9TUkNfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfU1JDLCA2KQoiLyBVc2VkIGZvciBPRlBYTVRfT0ZCX0VUSF9EU1QgKGV4YWN0bHkgNiBieXRlcykgMocBIFNvdXJjZSBvciBkZXN0aW5hdGlvbiBhZGRyZXNzIGluIEV0aGVybmV0IGhlYWRlci4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogNDgtYml0IEV0aGVybmV0IE1BQyBhZGRyZXNzLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4gCg0KBQQNAgUFEgSkBAgNCg0KBQQNAgUBEgSkBA4VCg0KBQQNAgUDEgSkBBgZCj0KBAQNAgYSBKUECBoiLyBVc2VkIGZvciBPRlBYTVRfT0ZCX0VUSF9TUkMgKGV4YWN0bHkgNiBieXRlcykgCg0KBQQNAgYFEgSlBAgNCg0KBQQNAgYBEgSlBA4VCg0KBQQNAgYDEgSlBBgZCukBCgQEDQIHEgSvBAgcGkYjZGVmaW5lIE9YTV9PRl9FVEhfVFlQRSAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfRVRIX1RZUEUsMikKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9FVEhfVFlQRSAycyBQYWNrZXQncyBFdGhlcm5ldCB0eXBlLgoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CBwUSBK8ECA4KDQoFBA0CBwESBK8EDxcKDQoFBA0CBwMSBK8EGhsKgwsKBAQNAggSBNUECBwajgEjZGVmaW5lIE9YTV9PRl9WTEFOX1ZJRCAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVkxBTl9WSUQsIDIpCiNkZWZpbmUgT1hNX09GX1ZMQU5fVklEX1cgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9WTEFOX1ZJRCwgMikKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9WTEFOX1ZJRCAywwkgODAyLjFRIFZJRC4KCiBGb3IgYSBwYWNrZXQgd2l0aCBhbiA4MDIuMVEgaGVhZGVyLCB0aGlzIGlzIHRoZSBWTEFOLUlEIChWSUQpIGZyb20gdGhlCiBvdXRlcm1vc3QgdGFnLCB3aXRoIHRoZSBDRkkgYml0IGZvcmNlZCB0byAxLiBGb3IgYSBwYWNrZXQgd2l0aCBubyA4MDIuMVEKIGhlYWRlciwgdGhpcyBoYXMgdmFsdWUgT0ZQVklEX05PTkUuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlciB3aXRoIGJpdCAxMyBpbmRpY2F0aW5nCiBwcmVzZW5jZSBvZiBWTEFOIGhlYWRlciBhbmQgMyBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciAxMyBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgogVGhpcyBmaWVsZCBjYW4gYmUgdXNlZCBpbiB2YXJpb3VzIHdheXM6CgogICAtIElmIGl0IGlzIG5vdCBjb25zdHJhaW5lZCBhdCBhbGwsIHRoZSBueF9tYXRjaCBtYXRjaGVzIHBhY2tldHMgd2l0aG91dAogICAgIGFuIDgwMi4xUSBoZWFkZXIgb3Igd2l0aCBhbiA4MDIuMVEgaGVhZGVyIHRoYXQgaGFzIGFueSBWSUQgdmFsdWUuCgogICAtIFRlc3RpbmcgZm9yIGFuIGV4YWN0IG1hdGNoIHdpdGggMHgwIG1hdGNoZXMgb25seSBwYWNrZXRzIHdpdGhvdXQKICAgICBhbiA4MDIuMVEgaGVhZGVyLgoKICAgLSBUZXN0aW5nIGZvciBhbiBleGFjdCBtYXRjaCB3aXRoIGEgVklEIHZhbHVlIHdpdGggQ0ZJPTEgbWF0Y2hlcyBwYWNrZXRzCiAgICAgdGhhdCBoYXZlIGFuIDgwMi4xUSBoZWFkZXIgd2l0aCBhIHNwZWNpZmllZCBWSUQuCgogICAtIFRlc3RpbmcgZm9yIGFuIGV4YWN0IG1hdGNoIHdpdGggYSBub256ZXJvIFZJRCB2YWx1ZSB3aXRoIENGST0wIGRvZXMKICAgICBub3QgbWFrZSBzZW5zZS4gIFRoZSBzd2l0Y2ggbWF5IHJlamVjdCB0aGlzIGNvbWJpbmF0aW9uLgoKICAgLSBUZXN0aW5nIHdpdGggbnhtX3ZhbHVlPTAsIG54bV9tYXNrPTB4MGZmZiBtYXRjaGVzIHBhY2tldHMgd2l0aCBubyA4MDIuMVEKICAgICBoZWFkZXIgb3Igd2l0aCBhbiA4MDIuMVEgaGVhZGVyIHdpdGggYSBWSUQgb2YgMC4KCiAgIC0gVGVzdGluZyB3aXRoIG54bV92YWx1ZT0weDEwMDAsIG54bV9tYXNrPTB4MTAwMCBtYXRjaGVzIHBhY2tldHMgd2l0aAogICAgIGFuIDgwMi4xUSBoZWFkZXIgdGhhdCBoYXMgYW55IFZJRCB2YWx1ZS4KCg0KBQQNAggFEgTVBAgOCg0KBQQNAggBEgTVBA8XCg0KBQQNAggDEgTVBBobCtADCgQEDQIJEgTlBAgdGkcjZGVmaW5lIE9YTV9PRl9WTEFOX1BDUCAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVkxBTl9QQ1AsIDEpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfVkxBTl9QQ1AgMtgCIDgwMi4xUSBQQ1AuCgogRm9yIGEgcGFja2V0IHdpdGggYW4gODAyLjFRIGhlYWRlciwgdGhpcyBpcyB0aGUgVkxBTi1QQ1AgZnJvbSB0aGUKIG91dGVybW9zdCB0YWcuICBGb3IgYSBwYWNrZXQgd2l0aCBubyA4MDIuMVEgaGVhZGVyLCB0aGlzIGhhcyB2YWx1ZQogMC4KCiBQcmVyZXFzOiBPWE1fT0ZfVkxBTl9WSUQgbXVzdCBiZSBkaWZmZXJlbnQgZnJvbSBPRlBWSURfTk9ORS4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIgd2l0aCA1IG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDMgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLgoKDQoFBA0CCQUSBOUECA4KDQoFBA0CCQESBOUEDxcKDQoFBA0CCQMSBOUEGhwKqAMKBAQNAgoSBPEECBwaRyNkZWZpbmUgT1hNX09GX0lQX0RTQ1AgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBfRFNDUCwgMSkKIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9JUF9EU0NQIDKxAiBUaGUgRGlmZiBTZXJ2IENvZGUgUG9pbnQgKERTQ1ApIGJpdHMgb2YgdGhlIElQIGhlYWRlci4KIFBhcnQgb2YgdGhlIElQdjQgVG9TIGZpZWxkIG9yIHRoZSBJUHY2IFRyYWZmaWMgQ2xhc3MgZmllbGQuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgYmUgZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyIHdpdGggMiBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciA2IGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAgoFEgTxBAgOCg0KBQQNAgoBEgTxBA8WCg0KBQQNAgoDEgTxBBkbCo0DCgQEDQILEgT9BAgbGkUjZGVmaW5lIE9YTV9PRl9JUF9FQ04gICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBfRUNOLCAxKQoiHCBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQX0VDTiAymQIgVGhlIEVDTiBiaXRzIG9mIHRoZSBJUCBoZWFkZXIuCiBQYXJ0IG9mIHRoZSBJUHY0IFRvUyBmaWVsZCBvciB0aGUgSVB2NiBUcmFmZmljIENsYXNzIGZpZWxkLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IGJlIGVpdGhlciAweDA4MDAgb3IgMHg4NmRkLgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDYgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMiBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQILBRIE/QQIDgoNCgUEDQILARIE/QQPFQoNCgUEDQILAxIE/QQYGgqNAgoEBA0CDBIEhwUIHRpHI2RlZmluZSBPWE1fT0ZfSVBfUFJPVE8gICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQX1BST1RPLCAxKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQX1BST1RPIDKVASBUaGUgInByb3RvY29sIiBieXRlIGluIHRoZSBJUCBoZWFkZXIuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgYmUgZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAgwFEgSHBQgOCg0KBQQNAgwBEgSHBQ8XCg0KBQQNAgwDEgSHBRocCo0ECgQEDQINEgSVBQgdGqQCI2RlZmluZSBPWE1fT0ZfSVBWNF9TUkMgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNF9TUkMsIDQpCiNkZWZpbmUgT1hNX09GX0lQVjRfU1JDX1cgICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjRfU1JDLCA0KQojZGVmaW5lIE9YTV9PRl9JUFY0X0RTVCAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY0X0RTVCwgNCkKI2RlZmluZSBPWE1fT0ZfSVBWNF9EU1RfVyAgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNF9EU1QsIDQpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBWNF9TUkMgMrcBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gYWRkcmVzcyBpbiB0aGUgSVAgaGVhZGVyLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwMCBleGFjdGx5LgoKIEZvcm1hdDogMzItYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCg0KBQQNAg0FEgSVBQgOCg0KBQQNAg0BEgSVBQ8XCg0KBQQNAg0DEgSVBRocCiwKBAQNAg4SBJYFCB0iHiBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQVjRfRFNUIAoNCgUEDQIOBRIElgUIDgoNCgUEDQIOARIElgUPFwoNCgUEDQIOAxIElgUaHAqhAwoEBA0CDxIEowUIHBqMASNkZWZpbmUgT1hNX09GX1RDUF9TUkMgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9UQ1BfU1JDLCAyKQojZGVmaW5lIE9YTV9PRl9UQ1BfRFNUICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVENQX0RTVCwgMikKIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9UQ1BfU1JDIDLkASBUaGUgc291cmNlIG9yIGRlc3RpbmF0aW9uIHBvcnQgaW4gdGhlIFRDUCBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgYmUgZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDYgZXhhY3RseS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIPBRIEowUIDgoNCgUEDQIPARIEowUPFgoNCgUEDQIPAxIEowUZGworCgQEDQIQEgSkBQgcIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9UQ1BfRFNUIAoNCgUEDQIQBRIEpAUIDgoNCgUEDQIQARIEpAUPFgoNCgUEDQIQAxIEpAUZGwqlAwoEBA0CERIEsQUIHBqMASNkZWZpbmUgT1hNX09GX1VEUF9TUkMgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9VRFBfU1JDLCAyKQojZGVmaW5lIE9YTV9PRl9VRFBfRFNUICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVURQX0RTVCwgMikKIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9VRFBfU1JDIDLoASBUaGUgc291cmNlIG9yIGRlc3RpbmF0aW9uIHBvcnQgaW4gdGhlIFVEUCBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDE3IGV4YWN0bHkuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CEQUSBLEFCA4KDQoFBA0CEQESBLEFDxYKDQoFBA0CEQMSBLEFGRsKKwoEBA0CEhIEsgUIHCIdIFVzZWQgZm9yIE9GUFhNVF9PRkJfVURQX0RTVCAKDQoFBA0CEgUSBLIFCA4KDQoFBA0CEgESBLIFDxYKDQoFBA0CEgMSBLIFGRsKqgMKBAQNAhMSBL8FCB0ajgEjZGVmaW5lIE9YTV9PRl9TQ1RQX1NSQyAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfU0NUUF9TUkMsIDIpCiNkZWZpbmUgT1hNX09GX1NDVFBfRFNUICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9TQ1RQX0RTVCwgMikKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9TQ1RQX1NSQyAy6gEgVGhlIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBwb3J0IGluIHRoZSBTQ1RQIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggMTMyIGV4YWN0bHkuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CEwUSBL8FCA4KDQoFBA0CEwESBL8FDxcKDQoFBA0CEwMSBL8FGhwKLAoEBA0CFBIEwAUIHSIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfU0NUUF9EU1QgCg0KBQQNAhQFEgTABQgOCg0KBQQNAhQBEgTABQ8XCg0KBQQNAhQDEgTABRocCocDCgQEDQIVEgTNBQggGpgBI2RlZmluZSBPWE1fT0ZfSUNNUFY0X1RZUEUgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSUNNUFY0X1RZUEUsIDEpCiNkZWZpbmUgT1hNX09GX0lDTVBWNF9DT0RFICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lDTVBWNF9DT0RFLCAxKQoiISBVc2VkIGZvciBPRlBYTVRfT0ZCX0lDTVBWNF9UWVBFIDK6ASBUaGUgdHlwZSBvciBjb2RlIGluIHRoZSBJQ01QIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDA4MDAgZXhhY3RseS4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggMSBleGFjdGx5LgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIVBRIEzQUIDgoNCgUEDQIVARIEzQUPGgoNCgUEDQIVAxIEzQUdHwovCgQEDQIWEgTOBQggIiEgVXNlZCBmb3IgT0ZQWE1UX09GQl9JQ01QVjRfQ09ERSAKDQoFBA0CFgUSBM4FCA4KDQoFBA0CFgESBM4FDxoKDQoFBA0CFgMSBM4FHR8K1QIKBAQNAhcSBNsFCBsaRSNkZWZpbmUgT1hNX09GX0FSUF9PUCAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfT1AsIDIpCiIcIFVzZWQgZm9yIE9GUFhNVF9PRkJfQVJQX09QIDLhASBBUlAgb3Bjb2RlLgoKIEZvciBhbiBFdGhlcm5ldCtJUCBBUlAgcGFja2V0LCB0aGUgb3Bjb2RlIGluIHRoZSBBUlAgaGVhZGVyLiAgQWx3YXlzIDAKIG90aGVyd2lzZS4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDA4MDYgZXhhY3RseS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIXBRIE2wUIDgoNCgUEDQIXARIE2wUPFQoNCgUEDQIXAxIE2wUYGgq1BAoEBA0CGBIE6gUIHBqYAiNkZWZpbmUgT1hNX09GX0FSUF9TUEEgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfU1BBLCA0KQojZGVmaW5lIE9YTV9PRl9BUlBfU1BBX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1NQQSwgNCkKI2RlZmluZSBPWE1fT0ZfQVJQX1RQQSAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9UUEEsIDQpCiNkZWZpbmUgT1hNX09GX0FSUF9UUEFfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfVFBBLCA0KQoiGCBGb3IgT0ZQWE1UX09GQl9BUlBfU1BBIDLxASBGb3IgYW4gRXRoZXJuZXQrSVAgQVJQIHBhY2tldCwgdGhlIHNvdXJjZSBvciB0YXJnZXQgcHJvdG9jb2wgYWRkcmVzcwogaW4gdGhlIEFSUCBoZWFkZXIuICBBbHdheXMgMCBvdGhlcndpc2UuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHgwODA2IGV4YWN0bHkuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKDQoFBA0CGAUSBOoFCA4KDQoFBA0CGAESBOoFDxYKDQoFBA0CGAMSBOoFGRsKJgoEBA0CGRIE6wUIHCIYIEZvciBPRlBYTVRfT0ZCX0FSUF9UUEEgCg0KBQQNAhkFEgTrBQgOCg0KBQQNAhkBEgTrBQ8WCg0KBQQNAhkDEgTrBRkbCrcECgQEDQIaEgT5BQgbGpwCI2RlZmluZSBPWE1fT0ZfQVJQX1NIQSAgICBPWE1fSEVBREVSICAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfU0hBLCA2KQojZGVmaW5lIE9YTV9PRl9BUlBfU0hBX1cgIE9YTV9IRUFERVJfVyAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9TSEEsIDYpCiNkZWZpbmUgT1hNX09GX0FSUF9USEEgICAgT1hNX0hFQURFUiAgICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1RIQSwgNikKI2RlZmluZSBPWE1fT0ZfQVJQX1RIQV9XICBPWE1fSEVBREVSX1cgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfVEhBLCA2KQoiIiBGb3IgT0ZQWE1UX09GQl9BUlBfU0hBICg2IGJ5dGVzKSAy5QEgRm9yIGFuIEV0aGVybmV0K0lQIEFSUCBwYWNrZXQsIHRoZSBzb3VyY2Ugb3IgdGFyZ2V0IGhhcmR3YXJlIGFkZHJlc3MKIGluIHRoZSBBUlAgaGVhZGVyLiAgQWx3YXlzIDAgb3RoZXJ3aXNlLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwNiBleGFjdGx5LgoKIEZvcm1hdDogNDgtYml0IEV0aGVybmV0IE1BQyBhZGRyZXNzLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAhoFEgT5BQgNCg0KBQQNAhoBEgT5BQ4VCg0KBQQNAhoDEgT5BRgaCjAKBAQNAhsSBPoFCBsiIiBGb3IgT0ZQWE1UX09GQl9BUlBfVEhBICg2IGJ5dGVzKSAKDQoFBA0CGwUSBPoFCA0KDQoFBA0CGwESBPoFDhUKDQoFBA0CGwMSBPoFGBoK+gMKBAQNAhwSBIgGCBwapAIjZGVmaW5lIE9YTV9PRl9JUFY2X1NSQyAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfU1JDLCAxNikKI2RlZmluZSBPWE1fT0ZfSVBWNl9TUkNfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X1NSQywgMTYpCiNkZWZpbmUgT1hNX09GX0lQVjZfRFNUICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9EU1QsIDE2KQojZGVmaW5lIE9YTV9PRl9JUFY2X0RTVF9XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRFNULCAxNikKIhkgRm9yIE9GUFhNVF9PRkJfSVBWNl9TUkMgMqkBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gYWRkcmVzcyBpbiB0aGUgSVB2NiBoZWFkZXIuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkuCgogRm9ybWF0OiAxMjgtYml0IElQdjYgYWRkcmVzcy4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDQIcBRIEiAYIDQoNCgUEDQIcARIEiAYOFgoNCgUEDQIcAxIEiAYZGwonCgQEDQIdEgSJBggcIhkgRm9yIE9GUFhNVF9PRkJfSVBWNl9EU1QgCg0KBQQNAh0FEgSJBggNCg0KBQQNAh0BEgSJBg4WCg0KBQQNAh0DEgSJBhkbCp0DCgQEDQIeEgSXBgggGpoBI2RlZmluZSBPWE1fT0ZfSVBWNl9GTEFCRUwgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRkxBQkVMLCA0KQojZGVmaW5lIE9YTV9PRl9JUFY2X0ZMQUJFTF9XIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9GTEFCRUwsIDQpCiIcIEZvciBPRlBYTVRfT0ZCX0lQVjZfRkxBQkVMIDLTASBUaGUgSVB2NiBGbG93IExhYmVsCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkKCiBGb3JtYXQ6IDMyLWJpdCBpbnRlZ2VyIHdpdGggMTIgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMjAgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKDQoFBA0CHgUSBJcGCA4KDQoFBA0CHgESBJcGDxoKDQoFBA0CHgMSBJcGHR8KgwMKBAQNAh8SBKQGCCAalgEjZGVmaW5lIE9YTV9PRl9JQ01QVjZfVFlQRSBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lDTVBWNl9UWVBFLCAxKQojZGVmaW5lIE9YTV9PRl9JQ01QVjZfQ09ERSBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lDTVBWNl9DT0RFLCAxKQoiHCBGb3IgT0ZQWE1UX09GQl9JQ01QVjZfVFlQRSAyvQEgVGhlIHR5cGUgb3IgY29kZSBpbiB0aGUgSUNNUHY2IGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseS4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggNTggZXhhY3RseS4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CHwUSBKQGCA4KDQoFBA0CHwESBKQGDxoKDQoFBA0CHwMSBKQGHR8KKgoEBA0CIBIEpQYIICIcIEZvciBPRlBYTVRfT0ZCX0lDTVBWNl9DT0RFIAoNCgUEDQIgBRIEpQYIDgoNCgUEDQIgARIEpQYPGgoNCgUEDQIgAxIEpQYdHwqRAwoEBA0CIRIEswYIIhpXI2RlZmluZSBPWE1fT0ZfSVBWNl9ORF9UQVJHRVQgT1hNX0hFQURFUiBcCiAgICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfTkRfVEFSR0VULCAxNikKIh8gRm9yIE9GUFhNVF9PRkJfSVBWNl9ORF9UQVJHRVQgMogCIFRoZSB0YXJnZXQgYWRkcmVzcyBpbiBhbiBJUHY2IE5laWdoYm9yIERpc2NvdmVyeSBtZXNzYWdlLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA1OCBleGFjdGx5LgogICBPWE1fT0ZfSUNNUFY2X1RZUEUgbXVzdCBiZSBlaXRoZXIgMTM1IG9yIDEzNi4KCiBGb3JtYXQ6IDEyOC1iaXQgSVB2NiBhZGRyZXNzLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAiEFEgSzBggNCg0KBQQNAiEBEgSzBg4cCg0KBQQNAiEDEgSzBh8hCpcDCgQEDQIiEgTBBggfGkwjZGVmaW5lIE9YTV9PRl9JUFY2X05EX1NMTCAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X05EX1NMTCwgNikKIhwgRm9yIE9GUFhNVF9PRkJfSVBWNl9ORF9TTEwgMpwCIFRoZSBzb3VyY2UgbGluay1sYXllciBhZGRyZXNzIG9wdGlvbiBpbiBhbiBJUHY2IE5laWdoYm9yIERpc2NvdmVyeQogbWVzc2FnZS4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseS4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggNTggZXhhY3RseS4KICAgT1hNX09GX0lDTVBWNl9UWVBFIG11c3QgYmUgZXhhY3RseSAxMzUuCgogRm9ybWF0OiA0OC1iaXQgRXRoZXJuZXQgTUFDIGFkZHJlc3MuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CIgUSBMEGCA0KDQoFBA0CIgESBMEGDhkKDQoFBA0CIgMSBMEGHB4KlwMKBAQNAiMSBM8GCB8aTCNkZWZpbmUgT1hNX09GX0lQVjZfTkRfVExMICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfTkRfVExMLCA2KQoiHCBGb3IgT0ZQWE1UX09GQl9JUFY2X05EX1RMTCAynAIgVGhlIHRhcmdldCBsaW5rLWxheWVyIGFkZHJlc3Mgb3B0aW9uIGluIGFuIElQdjYgTmVpZ2hib3IgRGlzY292ZXJ5CiBtZXNzYWdlLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA1OCBleGFjdGx5LgogICBPWE1fT0ZfSUNNUFY2X1RZUEUgbXVzdCBiZSBleGFjdGx5IDEzNi4KCiBGb3JtYXQ6IDQ4LWJpdCBFdGhlcm5ldCBNQUMgYWRkcmVzcy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIjBRIEzwYIDQoNCgUEDQIjARIEzwYOGQoNCgUEDQIjAxIEzwYcHgr+AgoEBA0CJBIE2wYIHxpKI2RlZmluZSBPWE1fT0ZfTVBMU19MQUJFTCAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9NUExTX0xBQkVMLCA0KQoiGyBGb3IgT0ZQWE1UX09GQl9NUExTX0xBQkVMIDKGAiBUaGUgTEFCRUwgaW4gdGhlIGZpcnN0IE1QTFMgc2hpbSBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4ODQ3IG9yIDB4ODg0OCBleGFjdGx5LgoKIEZvcm1hdDogMzItYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyIHdpdGggMTIgbW9zdC1zaWduaWZpY2FudAogYml0cyBmb3JjZWQgdG8gMC4gT25seSB0aGUgbG93ZXIgMjAgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CJAUSBNsGCA4KDQoFBA0CJAESBNsGDxkKDQoFBA0CJAMSBNsGHB4K3AIKBAQNAiUSBOcGCBwaRyNkZWZpbmUgT1hNX09GX01QTFNfVEMgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfTVBMU19UQywgMSkKIhggRm9yIE9GUFhNVF9PRkJfTVBMU19UQyAy6gEgVGhlIFRDIGluIHRoZSBmaXJzdCBNUExTIHNoaW0gaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODg0NyBvciAweDg4NDggZXhhY3RseS4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIgd2l0aCA1IG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDMgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CJQUSBOcGCA4KDQoFBA0CJQESBOcGDxYKDQoFBA0CJQMSBOcGGRsK5AIKBAQNAiYSBPMGCB0aSSNkZWZpbmUgT1hNX09GX01QTFNfQk9TICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX01QTFNfQk9TLCAxKQoiGSBGb3IgT0ZQWE1UX09GQl9NUExTX0JPUyAy7wEgVGhlIEJvUyBiaXQgaW4gdGhlIGZpcnN0IE1QTFMgc2hpbSBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4ODQ3IG9yIDB4ODg0OCBleGFjdGx5LgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDcgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXN0IGJpdCBoYXZlIGEgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQImBRIE8wYIDgoNCgUEDQImARIE8wYPFwoNCgUEDQImAxIE8wYaHAqqAwoEBA0CJxIEggcIHRqOASNkZWZpbmUgT1hNX09GX1BCQl9JU0lEICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9QQkJfSVNJRCwgMykKI2RlZmluZSBPWE1fT0ZfUEJCX0lTSURfVyBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX1BCQl9JU0lELCAzKQoiGSBGb3IgT0ZQWE1UX09GQl9QQkJfSVNJRCAy7wEgSUVFRSA4MDIuMWFoIEktU0lELgoKIEZvciBhIHBhY2tldCB3aXRoIGEgUEJCIGhlYWRlciwgdGhpcyBpcyB0aGUgSS1TSUQgZnJvbSB0aGUKIG91dGVybW9zdCBzZXJ2aWNlIHRhZy4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg4RTcgZXhhY3RseS4KCiBGb3JtYXQ6IDI0LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuIAoNCgUEDQInBRIEggcIDgoNCgUEDQInARIEggcPFwoNCgUEDQInAxIEggcaHAq8BgoEBA0CKBIElgcIHhqUASNkZWZpbmUgT1hNX09GX1RVTk5FTF9JRCAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1RVTk5FTF9JRCwgOCkKI2RlZmluZSBPWE1fT0ZfVFVOTkVMX0lEX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfVFVOTkVMX0lELCA4KQoiGiBGb3IgT0ZQWE1UX09GQl9UVU5ORUxfSUQgMvoEIExvZ2ljYWwgUG9ydCBNZXRhZGF0YS4KCiBNZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBsb2dpY2FsIHBvcnQuCiBJZiB0aGUgbG9naWNhbCBwb3J0IHBlcmZvcm1zIGVuY2Fwc3VsYXRpb24gYW5kIGRlY2Fwc3VsYXRpb24sIHRoaXMKIGlzIHRoZSBkZW11bHRpcGxleGluZyBmaWVsZCBmcm9tIHRoZSBlbmNhcHN1bGF0aW9uIGhlYWRlci4KIEZvciBleGFtcGxlLCBmb3IgYSBwYWNrZXQgcmVjZWl2ZWQgdmlhIEdSRSB0dW5uZWwgaW5jbHVkaW5nIGEgKDMyLWJpdCkga2V5LAogdGhlIGtleSBpcyBzdG9yZWQgaW4gdGhlIGxvdyAzMi1iaXRzIGFuZCB0aGUgaGlnaCBiaXRzIGFyZSB6ZXJvZWQuCiBGb3IgYSBNUExTIGxvZ2ljYWwgcG9ydCwgdGhlIGxvdyAyMCBiaXRzIHJlcHJlc2VudCB0aGUgTVBMUyBMYWJlbC4KIEZvciBhIFZ4TEFOIGxvZ2ljYWwgcG9ydCwgdGhlIGxvdyAyNCBiaXRzIHJlcHJlc2VudCB0aGUgVk5JLgogSWYgdGhlIHBhY2tldCBpcyBub3QgcmVjZWl2ZWQgdGhyb3VnaCBhIGxvZ2ljYWwgcG9ydCwgdGhlIHZhbHVlIGlzIDAuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDY0LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuIAoNCgUEDQIoBRIElgcIDgoNCgUEDQIoARIElgcPGAoNCgUEDQIoAxIElgcbHQqoAwoEBA0CKRIEowcIIBqaASNkZWZpbmUgT1hNX09GX0lQVjZfRVhUSERSICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0VYVEhEUiwgMikKI2RlZmluZSBPWE1fT0ZfSVBWNl9FWFRIRFJfVyBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRVhUSERSLCAyKQoiHCBGb3IgT0ZQWE1UX09GQl9JUFY2X0VYVEhEUiAy3gEgVGhlIElQdjYgRXh0ZW5zaW9uIEhlYWRlciBwc2V1ZG8tZmllbGQuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkKCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIHdpdGggNyBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciA5IGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE1hc2thYmxlLiAKDQoFBA0CKQUSBKMHCA4KDQoFBA0CKQESBKMHDxoKDQoFBA0CKQMSBKMHHR8KTQoEBA0IARIGqAcEwAcFGj0gT3B0aW9uYWwgbWFzayB2YWx1ZXMgKG11c3QgYmUgcHJlc2VudCB3aGVuIGhhc19tYXNrIGlzIHRydWUgCg0KBQQNCAEBEgSoBwoOCicKBAQNAioSBKkHCCkiGSBGb3IgT0ZQWE1UX09GQl9NRVRBREFUQSAKDQoFBA0CKgUSBKkHCA4KDQoFBA0CKgESBKkHDyIKDQoFBA0CKgMSBKkHJSgKNwoEBA0CKxIEqwcIISIpIEZvciBP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ZHVhbCBmbG93IHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfZmxvd19zdGF0c19yZXF1ZXN0LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9mbG93X3N0YXRzLiAKDQoFBS4CAQESBJoNBA4KDQoFBS4CAQISBJoNERIKmQEKBAUuAgISBJ8NBBgaigEgQWdncmVnYXRlIGZsb3cgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9hZ2dyZWdhdGVfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBib2R5IGlzIHN0cnVjdCBvZnBfYWdncmVnYXRlX3N0YXRzX3JlcGx5LiAKDQoFBS4CAgESBJ8NBBMKDQoFBS4CAgISBJ8NFhcKeQoEBS4CAxIEpA0EFBprIEZsb3cgdGFibGUgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZW1wdHkuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX3RhYmxlX3N0YXRzLiAKDQoFBS4CAwESBKQNBA8KDQoFBS4CAwISBKQNEhMKigEKBAUuAgQSBKkNBBkafCBQb3J0IHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfcG9ydF9zdGF0c19yZXF1ZXN0LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9wb3J0X3N0YXRzLiAKDQoFBS4CBAESBKkNBBQKDQoFBS4CBAISBKkNFxgKlwEKBAUuAgUSBK4NBBQaiAEgUXVldWUgc3RhdGlzdGljcyBmb3IgYSBwb3J0CiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfcXVldWVfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfcXVldWVfc3RhdHMgCg0KBQUuAgUBEgSuDQQPCg0KBQUuAgUCEgSuDRITCpEBCgQFLgIGEgSzDQQUGoIBIEdyb3VwIGNvdW50ZXIgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9ncm91cF9zdGF0c19yZXF1ZXN0LgogVGhlIHJlcGx5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfZ3JvdXBfc3RhdHMuIAoNCgUFLgIGARIEsw0EDwoNCgUFLgIGAhIEsw0SEwp0CgQFLgIHEgS4DQQZGmYgR3JvdXAgZGVzY3JpcHRpb24uCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVtcHR5LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9ncm91cF9kZXNjLiAKDQoFBS4CBwESBLgNBBQKDQoFBS4CBwISBLgNFxgKaQoEBS4CCBIEvQ0EHRpbIEdyb3VwIGZlYXR1cmVzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIHN0cnVjdCBvZnBfZ3JvdXBfZmVhdHVyZXMuIAoNCgUFLgIIARIEvQ0EGAoNCgUFLgIIAhIEvQ0bHAqTAQoEBS4CCRIEwg0EFBqEASBNZXRlciBzdGF0aXN0aWNzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX21ldGVyX211bHRpcGFydF9yZXF1ZXN0cy4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfbWV0ZXJfc3RhdHMuIAoNCgUFLgIJARIEwg0EDwoNCgUFLgIJAhIEwg0SEwqXAQoEBS4CChIExw0EHBqIASBNZXRlciBjb25maWd1cmF0aW9uLgogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX21ldGVyX211bHRpcGFydF9yZXF1ZXN0cy4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfbWV0ZXJfY29uZmlnLiAKDQoFBS4CCgESBMcNBBYKDQoFBS4CCgISBMcNGRsKaQoEBS4CCxIEzA0EHhpbIE1ldGVyIGZlYXR1cmVzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIHN0cnVjdCBvZnBfbWV0ZXJfZmVhdHVyZXMuIAoNCgUFLgILARIEzA0EGAoNCgUFLgILAhIEzA0bHQqxAgoEBS4CDBIE1A0EHhqiAiBUYWJsZSBmZWF0dXJlcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZWl0aGVyIGVtcHR5IG9yIGNvbnRhaW5zIGFuIGFycmF5IG9mCiBzdHJ1Y3Qgb2ZwX3RhYmxlX2ZlYXR1cmVzIGNvbnRhaW5pbmcgdGhlIGNvbnRyb2xsZXIncwogZGVzaXJlZCB2aWV3IG9mIHRoZSBzd2l0Y2guIElmIHRoZSBzd2l0Y2ggaXMgdW5hYmxlIHRvCiBzZXQgdGhlIHNwZWNpZmllZCB2aWV3IGFuIGVycm9yIGlzIHJldHVybmVkLgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF90YWJsZV9mZWF0dXJlcy4gCg0KBQUuAgwBEgTUDQQYCg0KBQUuAgwCEgTUDRsdCm0KBAUuAg0SBNkNBBkaXyBQb3J0IGRlc2NyaXB0aW9uLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfcG9ydC4gCg0KBQUuAg0BEgTZDQQTCg0KBQUuAg0CEgTZDRYYCr4BCgQFLgIOEgTfDQQgGq8BIEV4cGVyaW1lbnRlciBleHRlbnNpb24uCiBUaGUgcmVxdWVzdCBhbmQgcmVwbHkgYm9kaWVzIGJlZ2luIHdpdGgKIHN0cnVjdCBvZnBfZXhwZXJpbWVudGVyX211bHRpcGFydF9oZWFkZXIuCiBUaGUgcmVxdWVzdCBhbmQgcmVwbHkgYm9kaWVzIGFyZSBvdGhlcndpc2UgZXhwZXJpbWVudGVyLWRlZmluZWQuIAoNCgUFLgIOARIE3w0EFgoNCgUFLgIOAhIE3w0ZHwp8CgIFLxIG5Q0A6A0BMj0gQmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIDEuMy4xIC0gYXZvaWQgYnJlYWtpbmcgdGhlIEFQSS4gMi8jZGVmaW5lIG9mcF9tdWx0aXBhcnRfdHlwZXMgb2ZwX211bHRpcGFydF90eXBlCgoLCgMFLwESBOUNBSAKDAoEBS8CABIE5g0EGwoNCgUFLwIAARIE5g0EFgoNCgUFLwIAAhIE5g0Z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UwIGBRIEoxEECgoNCgUEUwIGARIEoxELGAoNCgUEUwIGAxIEoxEbHArrBgoCBTQSBrwRAMERARoTIENvbnRyb2xsZXIgcm9sZXMuIDLHBiBDb25maWd1cmVzIHRoZSAicm9sZSIgb2YgdGhlIHNlbmRpbmcgY29udHJvbGxlci4gIFRoZSBkZWZhdWx0IHJvbGUgaXM6CgogICAgLSBFcXVhbCAoT0ZQQ1JfUk9MRV9FUVVBTCksIHdoaWNoIGFsbG93cyB0aGUgY29udHJvbGxlciBhY2Nlc3MgdG8gYWxsCiAgICAgIE9wZW5GbG93IGZlYXR1cmVzLiBBbGwgY29udHJvbGxlcnMgaGF2ZSBlcXVhbCByZXNwb25zaWJpbGl0eS4KCiBUaGUgb3RoZXIgcG9zc2libGUgcm9sZXMgYXJlIGEgcmVsYXRlZCBwYWlyOgoKICAgIC0gTWFzdGVyIChPRlBDUl9ST0xFX01BU1RFUikgaXMgZXF1aXZhbGVudCB0byBFcXVhbCwgZXhjZXB0IHRoYXQgdGhlcmUKICAgICAgbWF5IGJlIGF0IG1vc3Qgb25lIE1hc3RlciBjb250cm9sbGVyIGF0IGEgdGltZTogd2hlbiBhIGNvbnRyb2xsZXIKICAgICAgY29uZmlndXJlcyBpdHNlbGYgYXMgTWFzdGVyLCBhbnkgZXhpc3RpbmcgTWFzdGVyIGlzIGRlbW90ZWQgdG8gdGhlCiAgICAgIFNsYXZlIHJvbGUuCgogICAgLSBTbGF2ZSAoT0ZQQ1JfUk9MRV9TTEFWRSkgYWxsb3dzIHRoZSBjb250cm9sbGVyIHJlYWQtb25seSBhY2Nlc3MgdG8KICAgICAgT3BlbkZsb3cgZmVhdHVyZXMuICBJbiBwYXJ0aWN1bGFyIGF0dGVtcHRzIHRvIG1vZGlmeSB0aGUgZmxvdyB0YWJsZQogICAgICB3aWxsIGJlIHJlamVjdGVkIHdpdGggYW4gT0ZQQlJDX0VQRVJNIGVycm9yLgoKICAgICAgU2xhdmUgY29udHJvbGxlcnMgZG8gbm90IHJlY2VpdmUgT0ZQVF9QQUNLRVRfSU4gb3IgT0ZQVF9GTE9XX1JFTU9WRUQKICAgICAgbWVzc2FnZXMsIGJ1dCB0aGV5IGRvIHJlY2VpdmUgT0ZQVF9QT1JU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BI8SCBcKDQoFBGECAQESBI8SGCMKDQoFBGECAQMSBI8SJicKDAoEBGECAhIEkBIIIAoNCgUEYQICBhIEkBIIFQoNCgUEYQICARIEkBIWGwoNCgUEYQICAxIEkBIeHwoMCgQEYQIDEgSREggsCg0KBQRhAgMGEgSREggZCg0KBQRhAgMBEgSREhonCg0KBQRhAgMDEgSREiorClIKAgRiEgaWEgCZEgEaRCBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIHByb2Nlc3MgZmxvdyBhdCBkZXZpY2UgYWRhcHRlcnMKCgsKAwRiARIElhIIFAo9CgQEYgIAEgSYEgQ1Gi8gTWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCBmbG93LXVwZGF0ZSB0byBhZGFwdGVyCgoNCgUEYgIABBIEmBIEDAoNCgUEYgIABhIEmBINKQoNCgUEYgIAARIEmBIqMAoNCgUEYgIAAxIEmBIzNGIGcHJvdG8zCosTCiJ2b2x0aGFfcHJvdG9zL2xvZ2ljYWxfZGV2aWNlLnByb3RvEg5sb2dpY2FsX2RldmljZRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofdm9sdGhhX3Byb3Rvcy9vcGVuZmxvd18xMy5wcm90byI4Cg1Mb2dpY2FsUG9ydElkEg4KAmlkGAEgASgJUgJpZBIXCgdwb3J0X2lkGAIgASgJUgZwb3J0SWQi8gEKC0xvZ2ljYWxQb3J0Eg4KAmlkGAEgASgJUgJpZBIwCghvZnBfcG9ydBgCIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9wb3J0UgdvZnBQb3J0EhsKCWRldmljZV9pZBgDIAEoCVIIZGV2aWNlSWQSJAoOZGV2aWNlX3BvcnRfbm8YBCABKA1SDGRldmljZVBvcnRObxIbCglyb290X3BvcnQYBSABKAhSCHJvb3RQb3J0EkEKDm9mcF9wb3J0X3N0YXRzGAYgASgLMhsub3BlbmZsb3dfMTMub2ZwX3BvcnRfc3RhdHNSDG9mcFBvcnRTdGF0cyJBCgxMb2dpY2FsUG9ydHMSMQoFaXRlbXMYASADKAsyGy5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydFIFaXRlbXMi3AEKDUxvZ2ljYWxEZXZpY2USDgoCaWQYASABKAlS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CgUEAwIEARIDLwsZCgwKBQQDAgQDEgMvHB0KCgoCBAQSBDIANAEKCgoDBAQBEgMyCBYKCwoEBAQCABIDMwQlCgwKBQQEAgAEEgMzBAwKDAoFBAQCAAYSAzMNGgoMCgUEBAIAARIDMxsgCgwKBQQEAgADEgMzIyRiBnByb3RvMwqb4wEKGnZvbHRoYV9wcm90b3MvZGV2aWNlLnByb3RvEgZkZXZpY2UaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvGh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvIuICCgpEZXZpY2VUeXBlEg4KAmlkGAEgASgJUgJpZBIbCgl2ZW5kb3JfaWQYBSABKAlSCHZlbmRvcklkEh0KCnZlbmRvcl9pZHMYBiADKAlSCXZlbmRvcklkcxIYCgdhZGFwdGVyGAIgASgJUgdhZGFwdGVyEjcKGGFjY2VwdHNfYnVsa19mbG93X3VwZGF0ZRgDIAEoCFIVYWNjZXB0c0J1bGtGbG93VXBkYXRlEkQKH2FjY2VwdHNfYWRkX3JlbW92ZV9mbG93X3VwZGF0ZXMYBCABKAhSG2FjY2VwdHNBZGRSZW1vdmVGbG93VXBkYXRlcxJMCiNhY2NlcHRzX2RpcmVjdF9sb2dpY2FsX2Zsb3dzX3VwZGF0ZRgHIAEoCFIfYWNjZXB0c0RpcmVjdExvZ2ljYWxGbG93c1VwZGF0ZRIhCgxhZGFwdGVyX3R5cGUYCCABKAlSC2FkYXB0ZXJUeXBlIjcKC0RldmljZVR5cGVzEigKBWl0ZW1zGAEgAygLMhIuZGV2aWNlLkRldmljZVR5cGVSBWl0ZW1zIsABCghQbUNvbmZpZxISCgRuYW1lGAEgASgJUgRuYW1lEisKBHR5cGUYAiABKA4yFy5kZXZpY2UuUG1Db25maWcuUG1UeXBlUgR0eXBlEhgKB2VuYWJsZWQYAyABKAhSB2VuYWJsZWQSHwoLc2FtcGxlX2ZyZXEYBCABKA1SCnNhbXBsZUZyZXEiOAoGUG1UeXBlEgsKB0NPVU5URVIQABIJCgVHQVVHRRABEgkKBVNUQVRFEAISCwoHQ09OVEVYVBADIpMBCg1QbUdyb3VwQ29uZmlnEh0KCmdyb3VwX25hbWUYASABKAlSCWdyb3VwTmFtZRIdCgpncm91cF9mcmVxGAIgASgNUglncm91cEZyZXESGAoHZW5hYmxlZBgDIAEoCFIHZW5hYmxlZBIqCgdtZXRyaWNzGAQgAygLMhAuZGV2aWNlLlBtQ29uZmlnUgdtZXRyaWNzIvMBCglQbUNvbmZpZ3MSDgoCaWQYASABKAlSAmlkEiEKDGRlZmF1bHRfZnJlcRgCIAEoDVILZGVmYXVsdEZyZXESGAoHZ3JvdXBlZBgDIAEoCFIHZ3JvdXBlZBIjCg1mcmVxX292ZXJyaWRlGAQgASgIUgxmcmVxT3ZlcnJpZGUSLQoGZ3JvdXBzGAUgAygLMhUuZGV2aWNlLlBtR3JvdXBDb25maWdSBmdyb3VwcxIqCgdtZXRyaWNzGAYgAygLMhAuZGV2aWNlLlBtQ29uZmlnUgdtZXRyaWNzEhkKCG1heF9za2V3GAcgASgNUgdtYXhTa2V3Io8CCgVJbWFnZRISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24SEgoEaGFzaBgDIAEoDVIEaGFzaBIpChBpbnN0YWxsX2RhdGV0aW1lGAQgASgJUg9pbnN0YWxsRGF0ZXRpbWUSGwoJaXNfYWN0aXZlGAUgASgIUghpc0FjdGl2ZRIhCgxpc19jb21taXR0ZWQYBiABKAhSC2lzQ29tbWl0dGVkEhkKCGlzX3ZhbGlkGAcgASgIUgdpc1ZhbGlkEhAKA3VybBgIIAEoCVIDdXJsEhYKBnZlbmRvchgJIAEoCVIGdmVuZG9yEhQKBWNyYzMyGAogASgNUgVjcmMzMiLnBwoNSW1hZ2VEb3dubG9hZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIQCgN1cmwYAyABKAlSA3VybBIQCgNjcmMYBCABKA1SA2NyYxJPCg5kb3dubG9hZF9zdGF0ZRgFIAEoDjIoLmRldmljZS5JbWFnZURvd25sb2FkLkltYWdlRG93bmxvYWRTdGF0ZVINZG93bmxvYWRTdGF0ZRIjCg1pbWFnZV92ZXJzaW9uGAYgASgJUgxpbWFnZVZlcnNpb24SKQoQZG93bmxvYWRlZF9ieXRlcxgHIAEoDVIPZG93bmxvYWRlZEJ5dGVzEkgKBnJlYXNvbhgIIAEoDjIwLmRldmljZS5JbWFnZURvd25sb2FkLkltYWdlRG93bmxvYWRGYWlsdXJlUmVhc29uUgZyZWFzb24SJwoPYWRkaXRpb25hbF9pbmZvGAkgASgJUg5hZGRpdGlvbmFsSW5mbxIfCgtzYXZlX2NvbmZpZxgKIAEoCFIKc2F2ZUNvbmZpZxIbCglsb2NhbF9kaXIYCyABKAlSCGxvY2FsRGlyEkkKC2ltYWdlX3N0YXRlGAwgASgOMiguZGV2aWNlLkltYWdlRG93bmxvYWQuSW1hZ2VBY3RpdmF0ZVN0YXRlUgppbWFnZVN0YXRlEhsKCWZpbGVfc2l6ZRgNIAEoDVIIZmlsZVNpemUitwEKEkltYWdlRG93bmxvYWRTdGF0ZRIUChBET1dOTE9BRF9VTktOT1dOEAASFgoSRE9XTkxPQURfU1VDQ0VFREVEEAESFgoSRE9XTkxPQURfUkVRVUVTVEVEEAISFAoQRE9XTkxPQURfU1RBUlRFRBADEhMKD0RPV05MT0FEX0ZBSUxFRBAEEhgKFERPV05MT0FEX1VOU1VQUE9SVEVEEAUSFgoSRE9XTkxPQURfQ0FOQ0VMTEVEEAYihgEKGkltYWdlRG93bmxvYWRGYWlsdXJlUmVhc29uEgwKCE5PX0VSUk9SEAASDwoLSU5WQUxJRF9VUkwQARIPCgtERVZJQ0VfQlVTWRACEhYKEklOU1VGRklDSUVOVF9TUEFDRRADEhEKDVVOS05PV05fRVJST1IQBBINCglDQU5DRUxMRUQQBSKMAQoSSW1hZ2VBY3RpdmF0ZVN0YXRlEhEKDUlNQUdFX1VOS05PV04QABISCg5JTUFHRV9JTkFDVElWRRABEhQKEElNQUdFX0FDVElWQVRJTkcQAhIQCgxJTUFHRV9BQ1RJVkUQAxITCg9JTUFHRV9SRVZFUlRJTkcQBBISCg5JTUFHRV9SRVZFUlRFRBAFOgIYASJBCg5JbWFnZURvd25sb2FkcxIrCgVpdGVtcxgCIAMoCzIVLmRldmljZS5JbWFnZURvd25sb2FkUgVpdGVtczoCGAEiLQoGSW1hZ2VzEiMKBWltYWdlGAEgAygLMg0uZGV2aWNlLkltYWdlUgVpbWFnZSKwAQoIT251SW1hZ2USGAoHdmVyc2lvbhgBIAEoCVIHdmVyc2lvbhIeCgppc0NvbW1pdGVkGAIgASgIUgppc0NvbW1pdGVkEhoKCGlzQWN0aXZlGAMgASgIUghpc0FjdGl2ZRIYCgdpc1ZhbGlkGAQgASgIUgdpc1ZhbGlkEiAKC3Byb2R1Y3RDb2RlGAUgASgJUgtwcm9kdWN0Q29kZRISCgRoYXNoGAYgASgJUgRoYXNoIjMKCU9udUltYWdlcxImCgVpdGVtcxgBIAMoCzIQLmRldmljZS5PbnVJbWFnZVIFaXRlbXMiYwoQRGV2aWNlSW1hZ2VTdGF0ZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEjIKCmltYWdlU3RhdGUYAiABKAsyEi5kZXZpY2UuSW1hZ2VTdGF0ZVIKaW1hZ2VTdGF0ZSKCCAoKSW1hZ2VTdGF0ZRIYCgd2ZXJzaW9uGAEgASgJUgd2ZXJzaW9uEkwKDmRvd25sb2FkX3N0YXRlGAIgASgOMiUuZGV2aWNlLkltYWdlU3RhdGUuSW1hZ2VEb3dubG9hZFN0YXRlUg1kb3dubG9hZFN0YXRlEj0KBnJlYXNvbhgDIAEoDjIlLmRldmljZS5JbWFnZVN0YXRlLkltYWdlRmFpbHVyZVJlYXNvblIGcmVhc29uEkgKC2ltYWdlX3N0YXRlGAQgASgOMicuZGV2aWNlLkltYWdlU3RhdGUuSW1hZ2VBY3RpdmF0aW9uU3RhdGVSCmltYWdlU3RhdGUi0AEKEkltYWdlRG93bmxvYWRTdGF0ZRIUChBET1dOTE9BRF9VTktOT1dOEAASFgoSRE9XTkxPQURfU1VDQ0VFREVEEAESFgoSRE9XTkxPQURfUkVRVUVTVEVEEAISFAoQRE9XTkxPQURfU1RBUlRFRBADEhMKD0RPV05MT0FEX0ZBSUxFRBAEEhgKFERPV05MT0FEX1VOU1VQUE9SVEVEEAUSFwoTRE9XTkxPQURfQ0FOQ0VMTElORxAGEhYKEkRPV05MT0FEX0NBTkNFTExFRBAHIvQBChJJbWFnZUZhaWx1cmVSZWFzb24SDAoITk9fRVJST1IQABIPCgtJTlZBTElEX1VSTBABEg8KC0RFVklDRV9CVVNZEAISFgoSSU5TVUZGSUNJRU5UX1NQQUNFEAMSEQoNVU5LTk9XTl9FUlJPUhAEEhgKFENBTkNFTExFRF9PTl9SRVFVRVNUEAUSGgoWQ0FOQ0VMTEVEX09OX09OVV9TVEFURRAGEhoKFlZFTkRPUl9ERVZJQ0VfTUlTTUFUQ0gQBxIXChNPTUNJX1RSQU5TRkVSX0VSUk9SEAgSGAoUSU1BR0VfUkVGVVNFRF9CWV9PTlUQCSK4AgoUSW1hZ2VBY3RpdmF0aW9uU3RhdGUSEQoNSU1BR0VfVU5LTk9XThAAEhIKDklNQUdFX0lOQUNUSVZFEAESFAoQSU1BR0VfQUNUSVZBVElORxACEhAKDElNQUdFX0FDVElWRRADEhQKEElNQUdFX0NPTU1JVFRJTkcQBBITCg9JTUFHRV9DT01NSVRURUQQBRIdChlJTUFHRV9BQ1RJVkFUSU9OX0FCT1JUSU5HEAYSHAoYSU1BR0VfQUNUSVZBVElPTl9BQk9SVEVEEAcSGQoVSU1BR0VfQ09NTUlUX0FCT1JUSU5HEAgSGAoUSU1BR0VfQ09NTUlUX0FCT1JURUQQCRIVChFJTUFHRV9ET1dOTE9BRElORxAKEh0KGUlNQUdFX0RPV05MT0FESU5HX0FCT1JURUQQCyK3BQoEUG9ydBIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SFAoFbGFiZWwYAiABKAlSBWxhYmVsEikKBHR5cGUYAyABKA4yFS5kZXZpY2UuUG9ydC5Qb3J0VHlwZVIEdHlwZRI5CgthZG1pbl9zdGF0ZRgFIAEoDjIYLmNvbW1vbi5BZG1pblN0YXRlLlR5cGVzUgphZG1pblN0YXRlEjkKC29wZXJfc3RhdHVzGAYgASgOMhguY29tbW9uLk9wZXJTdGF0dXMuVHlwZXNSCm9wZXJTdGF0dXMSGwoJZGV2aWNlX2lkGAcgASgJUghkZXZpY2VJZBIrCgVwZWVycxgIIAMoCzIVLmRldmljZS5Qb3J0LlBlZXJQb3J0UgVwZWVycxIdCgpyeF9wYWNrZXRzGAkgASgGUglyeFBhY2tldHMSGQoIcnhfYnl0ZXMYCiABKAZSB3J4Qnl0ZXMSGwoJcnhfZXJyb3JzGAsgASgGUghyeEVycm9ycxIdCgp0eF9wYWNrZXRzGAwgASgGUgl0eFBhY2tldHMSGQoIdHhfYnl0ZXMYDSABKAZSB3R4Qnl0ZXMSGwoJdHhfZXJyb3JzGA4gASgGUgh0eEVycm9ycxIwCghvZnBfcG9ydBgPIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9wb3J0UgdvZnBQb3J0GkAKCFBlZXJQb3J0EhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFwoHcG9ydF9ubxgCIAEoDVIGcG9ydE5vInMKCFBvcnRUeXBlEgsKB1VOS05PV04QABIQCgxFVEhFUk5FVF9OTkkQARIQCgxFVEhFUk5FVF9VTkkQAhILCgdQT05fT0xUEAMSCwoHUE9OX09OVRAEEg0KCVZFTkVUX09MVBAFEg0KCVZFTkVUX09OVRAGIisKBVBvcnRzEiIKBWl0ZW1zGAEgAygLMgwuZGV2aWNlLlBvcnRSBWl0ZW1zItgKCgZEZXZpY2USDgoCaWQYASABKAlSAmlkEhIKBHR5cGUYAiABKAlSBHR5cGUSEgoEcm9vdBgDIAEoCFIEcm9vdBIbCglwYXJlbnRfaWQYBCABKAlSCHBhcmVudElkEiQKDnBhcmVudF9wb3J0X25vGBQgASgNUgxwYXJlbnRQb3J0Tm8SFgoGdmVuZG9yGAUgASgJUgZ2ZW5kb3ISFAoFbW9kZWwYBiABKAlSBW1vZGVsEikKEGhhcmR3YXJlX3ZlcnNpb24YByABKAlSD2hhcmR3YXJlVmVyc2lvbhIpChBmaXJtd2FyZV92ZXJzaW9uGAggASgJUg9maXJtd2FyZVZlcnNpb24SJgoGaW1hZ2VzGAkgASgLMg4uZGV2aWNlLkltYWdlc1IGaW1hZ2VzEiMKDXNlcmlhbF9udW1iZXIYCiABKAlSDHNlcmlhbE51bWJlchIbCgl2ZW5kb3JfaWQYGCABKAlSCHZlbmRvcklkEikKEGFkYXB0ZXJfZW5kcG9pbnQYGSABKAlSD2FkYXB0ZXJFbmRwb2ludBISCgR2bGFuGAwgASgNUgR2bGFuEh8KC21hY19hZGRyZXNzGA0gASgJUgptYWNBZGRyZXNzEiMKDGlwdjRfYWRkcmVzcxgOIAEoCUgAUgtpcHY0QWRkcmVzcxIjCgxpcHY2X2FkZHJlc3MYDyABKAlIAFILaXB2NkFkZHJlc3MSJAoNaG9zdF9hbmRfcG9ydBgVIAEoCUgAUgtob3N0QW5kUG9ydBIdCgpleHRyYV9hcmdzGBcgASgJUglleHRyYUFyZ3MSQAoNcHJveHlfYWRkcmVzcxgTIAEoCzIbLmRldmljZS5EZXZpY2UuUHJveHlBZGRyZXNzUgxwcm94eUFkZHJlc3MSOQoLYWRtaW5fc3RhdGUYECABKA4yGC5jb21tb24uQWRtaW5TdGF0ZS5UeXBlc1IKYWRtaW5TdGF0ZRI5CgtvcGVyX3N0YXR1cxgRIAEoDjIYLmNvbW1vbi5PcGVyU3RhdHVzLlR5cGVzUgpvcGVyU3RhdHVzEhYKBnJlYXNvbhgWIAEoCVIGcmVhc29uEkIKDmNvbm5lY3Rfc3RhdHVzGBIgASgOMhsuY29tbW9uLkNvbm5lY3RTdGF0dXMuVHlwZXNSDWNvbm5lY3RTdGF0dXMSLAoGY3VzdG9tGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY3VzdG9tEjEKCnBtX2NvbmZpZ3MYgwEgASgLMhEuZGV2aWNlLlBtQ29uZmlnc1IJcG1Db25maWdzEj8KD2ltYWdlX2Rvd25sb2FkcxiFASADKAsyFS5kZXZpY2UuSW1hZ2VEb3dubG9hZFIOaW1hZ2VEb3dubG9hZHMargIKDFByb3h5QWRkcmVzcxIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEh8KC2RldmljZV90eXBlGAIgASgJUgpkZXZpY2VUeXBlEh0KCmNoYW5uZWxfaWQYAyABKA1SCWNoYW5uZWxJZBIoChBjaGFubmVsX2dyb3VwX2lkGAQgASgNUg5jaGFubmVsR3JvdXBJZBIvChNjaGFubmVsX3Rlcm1pbmF0aW9uGAUgASgJUhJjaGFubmVsVGVybWluYXRpb24SFQoGb251X2lkGAYgASgNUgVvbnVJZBIkCg5vbnVfc2Vzc2lvbl9pZBgHIAEoDVIMb251U2Vzc2lvbklkEikKEGFkYXB0ZXJfZW5kcG9pbnQYCCABKAlSD2FkYXB0ZXJFbmRwb2ludEIJCgdhZGRyZXNzSgQICxAMIsIBChpEZXZpY2VJbWFnZURvd25sb2FkUmVxdWVzdBInCglkZXZpY2VfaWQYASADKAsyCi5jb21tb24uSURSCGRldmljZUlkEiMKBWltYWdlGAIgASgLMg0uZGV2aWNlLkltYWdlUgVpbWFnZRIsChFhY3RpdmF0ZU9uU3VjY2VzcxgDIAEoCFIRYWN0aXZhdGVPblN1Y2Nlc3MSKAoPY29tbWl0T25TdWNjZXNzGAQgASgIUg9jb21taXRPblN1Y2Nlc3MigQEKEkRldmljZUltYWdlUmVxdWVzdBInCglkZXZpY2VfaWQYASADKAsyCi5jb21tb24uSURSCGRldmljZUlkEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24SKAoPY29tbWl0T25TdWNjZXNzGAMgASgIUg9jb21taXRPblN1Y2Nlc3MiXwoTRGV2aWNlSW1hZ2VSZXNwb25zZRJIChNkZXZpY2VfaW1hZ2Vfc3RhdGVzGAEgAygLMhguZGV2aWNlLkRldmljZUltYWdlU3RhdGVSEWRldmljZUltYWdlU3RhdGVzIqUBChBTZWxmVGVzdFJlc3BvbnNlEj8KBnJlc3VsdBgBIAEoDjInLmRldmljZS5TZWxmVGVzdFJlc3BvbnNlLlNlbGZUZXN0UmVzdWx0UgZyZXN1bHQiUAoOU2VsZlRlc3RSZXN1bHQSCwoHU1VDQ0VTUxAAEgsKB0ZBSUxVUkUQARIRCg1OT1RfU1VQUE9SVEVEEAISEQoNVU5LTk9XTl9FUlJPUhADIi8KB0RldmljZXMSJAoFaXRlbXMYASADKAsyDi5kZXZpY2UuRGV2aWNlUgVpdGVtcyKoAwoUU2ltdWxhdGVBbGFybVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEhwKCWluZGljYXRvchgCIAEoCVIJaW5kaWNhdG9yEhcKB2ludGZfaWQYAyABKAlSBmludGZJZBIkCg5wb3J0X3R5cGVfbmFtZRgEIAEoCVIMcG9ydFR5cGVOYW1lEiIKDW9udV9kZXZpY2VfaWQYBSABKAlSC29udURldmljZUlkEjMKFmludmVyc2VfYml0X2Vycm9yX3JhdGUYBiABKAVSE2ludmVyc2VCaXRFcnJvclJhdGUSFAoFZHJpZnQYByABKAVSBWRyaWZ0EhcKB25ld19lcWQYCCABKAVSBm5ld0VxZBIqChFvbnVfc2VyaWFsX251bWJlchgJIAEoCVIPb251U2VyaWFsTnVtYmVyEkgKCW9wZXJhdGlvbhgKIAEoDjIqLmRldmljZS5TaW11bGF0ZUFsYXJtUmVxdWVzdC5PcGVyYXRpb25UeXBlUglvcGVyYXRpb24iJQoNT3BlcmF0aW9uVHlwZRIJCgVSQUlTRRAAEgkKBUNMRUFSEAEikAEK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b3dubG9hZCwgYWN0aXZhdGUsIGNvbW1pdCBpbWFnZSBvbiBhbiBvbnUuCgoNCgUEBQIBBBIEUwRPFAoMCgUEBQIBBRIDUwQKCgwKBQQFAgEBEgNTCxIKDAoFBAUCAQMSA1MVFgpiCgQEBQICEgNXBBQaVSBoYXNoIG9mIHRoZSBpbWFnZSB0byBiZSB2ZXJpZmllZCBhZ2FpbnN0CiBEZXByZWNhdGVkIGluIHZvbHRoYSAyLjgsIHdpbGwgYmUgcmVtb3ZlZAoKDQoFBAUCAgQSBFcEUxcKDAoFBAUCAgUSA1cECgoMCgUEBQICARIDVwsPCgwKBQQFAgIDEgNXEhMKZAoEBAUCAxIDWgQgGisgRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKIiogY29tYmluZWQgZGF0ZSBhbmQgdGltZSBleHByZXNzZWQgaW4gVVRDLgoKDQoFBAUCAwQSBFoEVxQKDAoFBAUCAwUSA1oECgoMCgUEBQIDARIDWgsbCgwKBQQFAgMDEgNaHh8KmAMKBAQFAgQSA2IEFxrCAiBUaGUgYWN0aXZlIHNvZnR3YXJlIGltYWdlIGlzIG9uZSB0aGF0IGlzIGN1cnJlbnRseSBsb2FkZWQgYW5kIGV4ZWN1dGluZwogaW4gdGhlIE9OVSBvciBjaXJjdWl0IHBhY2suIFVuZGVyIG5vcm1hbCBvcGVyYXRpb24sIG9uZSBzb2Z0d2FyZSBpbWFnZQogaXMgYWx3YXlzIGFjdGl2ZSB3aGlsZSB0aGUgb3RoZXIgaXMgaW5hY3RpdmUuIFVuZGVyIG5vIGNpcmN1bXN0YW5jZXMgYXJlCiBib3RoIHNvZnR3YXJlIGltYWdlcyBhbGxvd2VkIHRvIGJlIGFjdGl2ZSBhdCB0aGUgc2FtZSB0aW1lCiBEZXByZWNhdGVkIGluIHZvbHRoYSAyLjgsIHdpbGwgYmUgcmVtb3ZlZAoiHSBUcnVlIGlmIHRoZSBpbWFnZSBpcyBhY3RpdmUKMicgdXNlIElTTyA4NjAxIGZvcm1hdCBmb3IgZGF0ZSBhbmQgdGltZQoKDQoFBAUCBAQSBGIEWiAKDAoFBAUCBAUSA2IECAoMCgUEBQIEARIDYgkSCgwKBQQFAgQDEgNiFRYKnwIKBAQFAgUSA2gEGhrvASBUaGUgY29tbWl0dGVkIHNvZnR3YXJlIGltYWdlIGlzIGxvYWRlZCBhbmQgZXhlY3V0ZWQgdXBvbiByZWJvb3Qgb2YgdGhlCiBPTlUgYW5kL29yIGNpcmN1aXQgcGFjay4gRHVyaW5nIG5vcm1hbCBvcGVyYXRpb24sIG9uZSBzb2Z0d2FyZSBpbWFnZSBpcwogYWx3YXlzIGNvbW1pdHRlZCwgd2hpbGUgdGhlIG90aGVyIGlzIHVuY29tbWl0dGVkLgogRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKIiAgVHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgY29tbWl0dGVkCgoNCgUEBQIFBBIEaARiFwoMCgUEBQIFBRIDaAQICgwKBQQFAgUBEgNoCRUKDAoFBAUCBQMSA2gYGQrMAgoEBAUCBhIDbwQWGqACIEEgc29mdHdhcmUgaW1hZ2UgaXMgdmFsaWQgaWYgaXQgaGFzIGJlZW4gdmVyaWZpZWQgdG8gYmUgYW4gZXhlY3V0YWJsZQogY29kZSBpbWFnZS4gVGhlIHZlcmlmaWNhdGlvbiBtZWNoYW5pc20gaXMgbm90IHN1YmplY3QgdG8gc3RhbmRhcmRpemF0aW9uOwogaG93ZXZlciwgaXQgc2hvdWxkIGluY2x1ZGUgYXQgbGVhc3QgYSBkYXRhIGludGVncml0eSAoZS5nLiwgQ1JDKSBjaGVjayBvZgogdGhlIGVudGlyZSBjb2RlIGltYWdlLgogRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKIhwgVHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgdmFsaWQKCg0KBQQFAgYEEgRvBGgaCgwKBQQFAgYFEgNvBAgKDAoFBAUCBgESA28JEQoMCgUEBQIGAxIDbxQVCngKBAQFAgcSA3QEExprIFVSTCB3aGVyZSB0aGUgaW1hZ2UgaXMgYXZhaWxhYmxlCiBVUkwgTVVTVCBiZSBmdWxseSBxdWFsaWZpZWQsCiBpbmNsdWRpbmcgZmlsZW5hbWUsIHVzZXJuYW1lIGFuZCBwYXNzd29yZAoKDQoFBAUCBwQSBHQEbxYKDAoFBAUCBwUSA3QECgoMCgUEBQIHARIDdAsOCgwKBQQFAgcDEgN0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Cg0KBQQXAgADEgT4AxARCg4KBAQXCAASBvkDBIQEBQoNCgUEFwgAARIE+QMKEQpXCgQEFwIBEgT8AwggGkkgRGV2aWNlIGNvbnRhY3QgSVB2NCBhZGRyZXNzIChmb3JtYXQ6ICJhLmIuYy5kIiBvciBjYW4gdXNlIGhvc3RuYW1lIHRvbykKCg0KBQQXAgEFEgT8AwgOCg0KBQQXAgEBEgT8Aw8bCg0KBQQXAgEDEgT8Ax4fCngKBAQXAgISBIAECCAaaiBEZXZpY2UgY29udGFjdCBJUHY2IGFkZHJlc3MgdXNpbmcgdGhlIGNhbm9uaWNhbCBzdHJpbmcgZm9ybQogKCJ4eHh4Onh4eHg6eHh4eDp4eHh4Onh4eHg6eHh4eDp4eHh4Onh4eHgiKQoKDQoFBBcCAgUSBIAECA4KDQoFBBcCAgESBIAEDxsKDQoFBBcCAgMSBIAEHh8KDAoEBBcCAxIEggQIIQoNCgUEFwIDBRIEggQIDgoNCgUEFwIDARIEggQPHAoNCgUEFwIDAxIEggQfIGIGcHJvdG8zCvIvCh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiOwoJVGltZXN0YW1wEhgKB3NlY29uZHMYASABKANSB3NlY29uZHMSFAoFbmFub3MYAiABKAVSBW5hbm9zQn4KE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaK2dpdGh1Yi5jb20vZ29sYW5nL3Byb3RvYnVmL3B0eXBlcy90aW1lc3RhbXD4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNK+C0KBxIFHgCIAQEKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAB8KCQoCCB8SAyMAHwoICgEIEgMkAEIKCQoCCAsSAyQAQgoICgEIEgMlACwKCQoCCAESAyUALAoICgEIEgMmAC8KCQoCCAgSAyYALwoICgEIEgMnACIKCQoCCAoSAycAIgoICgEIEgMoACEKCQoCCCQSAygAIQrxGwoCBAASBXwAiAEBGuMbIEEgVGltZXN0YW1wIHJlcHJlc2VudHMgYSBwb2ludCBpbiB0aW1lIGluZGVwZW5kZW50IG9mIGFueSB0aW1lIHpvbmUgb3IgbG9jYWwKIGNhbGVuZGFyLCBlbmNvZGVkIGFzIGEgY291bnQgb2Ygc2Vjb25kcyBhbmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgYXQKIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gVGhlIGNvdW50IGlzIHJlbGF0aXZlIHRvIGFuIGVwb2NoIGF0IFVUQyBtaWRuaWdodCBvbgogSmFudWFyeSAxLCAxOTcwLCBpbiB0aGUgcHJvbGVwdGljIEdyZWdvcmlhbiBjYWxlbmRhciB3aGljaCBleHRlbmRzIHRoZQogR3JlZ29yaWFuIGNhbGVuZGFyIGJhY2t3YXJkcyB0byB5ZWFyIG9uZS4KCiBBbGwgbWludXRlcyBhcmUgNjAgc2Vjb25kcyBsb25nLiBMZWFwIHNlY29uZHMgYXJlICJzbWVhcmVkIiBzbyB0aGF0IG5vIGxlYXAKIHNlY29uZCB0YWJsZSBpcyBuZWVkZWQgZm9yIGludGVycHJldGF0aW9uLCB1c2luZyBhIFsyNC1ob3VyIGxpbmVhcgogc21lYXJdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3RpbWUvc21lYXIpLgoKIFRoZSByYW5nZSBpcyBmcm9tIDAwMDEtMDEtMDFUMDA6MDA6MDBaIHRvIDk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OTk5Wi4gQnkKIHJlc3RyaWN0aW5nIHRvIHRoYXQgcmFuZ2UsIHdlIGVuc3VyZSB0aGF0IHdlIGNhbiBjb252ZXJ0IHRvIGFuZCBmcm9tIFtSRkMKIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZGF0ZSBzdHJpbmdzLgoKICMgRXhhbXBsZXMKCiBFeGFtcGxlIDE6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYHRpbWUoKWAuCgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHRpbWUoTlVMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoMCk7CgogRXhhbXBsZSAyOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFBPU0lYIGBnZXR0aW1lb2ZkYXkoKWAuCgogICAgIHN0cnVjdCB0aW1ldmFsIHR2OwogICAgIGdldHRpbWVvZmRheSgmdHYsIE5VTEwpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcyh0di50dl9zZWMpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3ModHYudHZfdXNlYyAqIDEwMDApOwoKIEV4YW1wbGUgMzogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBXaW4zMiBgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKWAuCgogICAgIEZJTEVUSU1FIGZ0OwogICAgIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZmdCk7CiAgICAgVUlOVDY0IHRpY2tzID0gKCgoVUlOVDY0KWZ0LmR3SGlnaERhdGVUaW1lKSA8PCAzMikgfCBmdC5kd0xvd0RhdGVUaW1lOwoKICAgICAvLyBBIFdpbmRvd3MgdGljayBpcyAxMDAgbmFub3NlY29uZHMuIFdpbmRvd3MgZXBvY2ggMTYwMS0wMS0wMVQwMDowMDowMFoKICAgICAvLyBpcyAxMTY0NDQ3MzYwMCBzZWNvbmRzIGJlZm9yZSBVbml4IGVwb2NoIDE5NzAtMDEtMDFUMDA6MDA6MDBaLgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKChJTlQ2NCkgKCh0aWNrcyAvIDEwMDAwMDAwKSAtIDExNjQ0NDczNjAwTEwpKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKChJTlQzMikgKCh0aWNrcyAlIDEwMDAwMDAwKSAqIDEwMCkpOwoKIEV4YW1wbGUgNDogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBKYXZhIGBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKWAuCgogICAgIGxvbmcgbWlsbGlzID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXAgPSBUaW1lc3RhbXAubmV3QnVpbGRlcigpLnNldFNlY29uZHMobWlsbGlzIC8gMTAwMCkKICAgICAgICAgLnNldE5hbm9zKChpbnQpICgobWlsbGlzICUgMTAwMCkgKiAxMDAwMDAwKSkuYnVpbGQoKTsKCgogRXhhbXBsZSA1OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIGN1cnJlbnQgdGltZSBpbiBQeXRob24uCgogICAgIHRpbWVzdGFtcCA9IFRpbWVzdGFtcCgpCiAgICAgdGltZXN0YW1wLkdldEN1cnJlbnRUaW1lKCkKCiAjIEpTT04gTWFwcGluZwoKIEluIEpTT04gZm9ybWF0LCB0aGUgVGltZXN0YW1wIHR5cGUgaXMgZW5jb2RlZCBhcyBhIHN0cmluZyBpbiB0aGUKIFtSRkMgMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBmb3JtYXQuIFRoYXQgaXMsIHRoZQogZm9ybWF0IGlzICJ7eWVhcn0te21vbnRofS17ZGF5fVR7aG91cn06e21pbn06e3NlY31bLntmcmFjX3NlY31dWiIKIHdoZXJlIHt5ZWFyfSBpcyBhbHdheXMgZXhwcmVzc2VkIHVzaW5nIGZvdXIgZGlnaXRzIHdoaWxlIHttb250aH0sIHtkYXl9LAoge2hvdXJ9LCB7bWlufSwgYW5kIHtzZWN9IGFyZSB6ZXJvLXBhZGRlZCB0byB0d28gZGlnaXRzIGVhY2guIFRoZSBmcmFjdGlvbmFsCiBzZWNvbmRzLCB3aGljaCBjYW4gZ28gdXAgdG8gOSBkaWdpdHMgKGkuZS4gdXAgdG8gMSBuYW5vc2Vjb25kIHJlc29sdXRpb24pLAogYXJlIG9wdGlvbmFsLiBUaGUgIloiIHN1ZmZpeCBpbmRpY2F0ZXMgdGhlIHRpbWV6b25lICgiVVRDIik7IHRoZSB0aW1lem9uZQogaXMgcmVxdWlyZWQuIEEgcHJvdG8zIEpTT04gc2VyaWFsaXplciBzaG91bGQgYWx3YXlzIHVzZSBVVEMgKGFzIGluZGljYXRlZCBieQogIloiKSB3aGVuIHByaW50aW5nIHRoZSBUaW1lc3RhbXAgdHlwZSBhbmQgYSBwcm90bzMgSlNPTiBwYXJzZXIgc2hvdWxkIGJlCiBhYmxlIHRvIGFjY2VwdCBib3RoIFVUQyBhbmQgb3RoZXIgdGltZXpvbmVzIChhcyBpbmRpY2F0ZWQgYnkgYW4gb2Zmc2V0KS4KCiBGb3IgZXhhbXBsZSwgIjIwMTctMDEtMTVUMDE6MzA6MTUuMDFaIiBlbmNvZGVzIDE1LjAxIHNlY29uZHMgcGFzdAogMDE6MzAgVVRDIG9uIEphbnVhcnkgMTUsIDIwMTcuCgogSW4gSmF2YVNjcmlwdCwgb25lIGNhbiBjb252ZXJ0IGEgRGF0ZSBvYmplY3QgdG8gdGhpcyBmb3JtYXQgdXNpbmcgdGhlCiBzdGFuZGFyZCBbdG9JU09TdHJpbmcoKV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZS90b0lTT1N0cmluZykKIG1ldGhvZC4gSW4gUHl0aG9uLCBhIHN0YW5kYXJkIGBkYXRldGltZS5kYXRldGltZWAgb2JqZWN0IGNhbiBiZSBjb252ZXJ0ZWQKIHRvIHRoaXMgZm9ybWF0IHVzaW5nIFtgc3RyZnRpbWVgXShodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvdGltZS5odG1sI3RpbWUuc3RyZnRpbWUpCiB3aXRoIHRoZSB0aW1lIGZvcm1hdCBzcGVjICclWS0lbS0lZFQlSDolTTolUy4lZlonLiBMaWtld2lzZSwgaW4gSmF2YSwgb25lCiBjYW4gdXNlIHRoZSBKb2RhIFRpbWUncyBbYElTT0RhdGVUaW1lRm9ybWF0LmRhdGVUaW1lKClgXSgKIGh0dHA6Ly93d3cuam9kYS5vcmcvam9kYS10aW1lL2FwaWRvY3Mvb3JnL2pvZGEvdGltZS9mb3JtYXQvSVNPRGF0ZVRpbWVGb3JtYXQuaHRtbCNkYXRlVGltZSUyRCUyRAogKSB0byBvYnRhaW4gYSBmb3JtYXR0ZXIgY2FwYWJsZSBvZiBnZW5lcmF0aW5nIHRpbWVzdGFtcHMgaW4gdGhpcyBmb3JtYXQuCgoKCgoKAwQAARIDfAgRCp0BCgQEAAIAEgSBAQIUGo4BIFJlcHJlc2VudHMgc2Vjb25kcyBvZiBVVEMgdGltZSBzaW5jZSBVbml4IGVwb2NoCiAxOTcwLTAxLTAxVDAwOjAwOjAwWi4gTXVzdCBiZSBmcm9tIDAwMDEtMDEtMDFUMDA6MDA6MDBaIHRvCiA5OTk5LTEyLTMxVDIzOjU5OjU5WiBpbmNsdXNpdmUuCgoOCgUEAAIABBIFgQECfBMKDQoFBAACAAUSBIEBAgcKDQoFBAACAAESBIEBCA8KDQoFBAACAAMSBIEBEhMK5QEKBAQAAgESBIcBAhIa1gEgTm9uLW5lZ2F0aXZlIGZyYWN0aW9ucyBvZiBhIHNlY29uZCBhdCBuYW5vc2Vjb25kIHJlc29sdXRpb24uIE5lZ2F0aXZlCiBzZWNvbmQgdmFsdWVzIHdpdGggZnJhY3Rpb25zIG11c3Qgc3RpbGwgaGF2ZSBub24tbmVnYXRpdmUgbmFub3MgdmFsdWVzCiB0aGF0IGNvdW50IGZvcndhcmQgaW4gdGltZS4gTXVzdCBiZSBmcm9tIDAgdG8gOTk5LDk5OSw5OTkKIGluY2x1c2l2ZS4KCg8KBQQAAgEEEgaHAQKBARQKDQoFBAACAQUSBIcBAgcKDQoFBAACAQESBIcBCA0KDQoFBAACAQMSBIcBEBFiBnByb3RvMwrQdAoadm9sdGhhX3Byb3Rvcy9ldmVudHMucHJvdG8SBWV2ZW50Ghxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvGhp2b2x0aGFfcHJvdG9zL2NvbW1vbi5wcm90byKeAQoSRXZlbnRGaWx0ZXJSdWxlS2V5IocBChNFdmVudEZpbHRlclJ1bGVUeXBlEg4KCmZpbHRlcl9hbGwQABIMCghjYXRlZ29yeRABEhAKDHN1Yl9jYXRlZ29yeRACEhIKDmtwaV9ldmVudF90eXBlEAMSFQoRY29uZmlnX2V2ZW50X3R5cGUQBBIVChFkZXZpY2VfZXZlbnRfdHlwZRAFImgKD0V2ZW50RmlsdGVyUnVsZRI/CgNrZXkYASABKA4yLS5ldmVudC5FdmVudEZpbHRlclJ1bGVLZXkuRXZlbnRGaWx0ZXJSdWxlVHlwZVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZSKfAQoLRXZlbnRGaWx0ZXISDgoCaWQYASABKAlSAmlkEhYKBmVuYWJsZRgCIAEoCFIGZW5hYmxlEhsKCWRldmljZV9pZBgDIAEoCVIIZGV2aWNlSWQSHQoKZXZlbnRfdHlwZRgEIAEoCVIJZXZlbnRUeXBlEiwKBXJ1bGVzGAUgAygLMhYuZXZlbnQuRXZlbnRGaWx0ZXJSdWxlUgVydWxlcyI8CgxFdmVudEZpbHRlcnMSLAoHZmlsdGVycxgBIAMoCzISLmV2ZW50LkV2ZW50RmlsdGVyUgdmaWx0ZXJzIjsKD0NvbmZpZ0V2ZW50VHlwZSIoCgVUeXBlcxIHCgNhZGQQABIKCgZyZW1vdmUQARIKCgZ1cGRhdGUQAiJnCgtDb25maWdFdmVudBIwCgR0eXBlGAEgASgOMhwuZXZlbnQuQ29uZmlnRXZlbnRUeXBlLlR5cGVzUgR0eXBlEhIKBGhhc2gYAiABKAlSBGhhc2gSEgoEZGF0YRgDIAEoCVIEZGF0YSIqCgxLcGlFdmVudFR5cGUiGgoFVHlwZXMSCQoFc2xpY2UQABIGCgJ0cxABIqoCCg5NZXRyaWNNZXRhRGF0YRIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSDgoCdHMYAiABKAFSAnRzEioKEWxvZ2ljYWxfZGV2aWNlX2lkGAMgASgJUg9sb2dpY2FsRGV2aWNlSWQSGwoJc2VyaWFsX25vGAQgASgJUghzZXJpYWxObxIbCglkZXZpY2VfaWQYBSABKAlSCGRldmljZUlkEjwKB2NvbnRleHQYBiADKAsyIi5ldmVudC5NZXRyaWNNZXRhRGF0YS5Db250ZXh0RW50cnlSB2NvbnRleHQSEgoEdXVpZBgHIAEoCVIEdXVpZBo6CgxDb250ZXh0RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASKOAQoQTWV0cmljVmFsdWVQYWlycxI+CgdtZXRyaWNzGAEgAygLMiQuZXZlbnQuTWV0cmljVmFsdWVQYWlycy5NZXRyaWNzRW50cnlSB21ldHJpY3MaOgoMTWV0cmljc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEiwwEKEU1ldHJpY0luZm9ybWF0aW9uEjEKCG1ldGFkYXRhGAEgASgLMhUuZXZlbnQuTWV0cmljTWV0YURhdGFSCG1ldGFkYXRhEj8KB21ldHJpY3MYAiADKAsyJS5ldmVudC5NZXRyaWNJbmZvcm1hdGlvbi5NZXRyaWNzRW50cnlSB21ldHJpY3MaOgoMTWV0cmljc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEixwEKE01ldHJpY0luZm9ybWF0aW9uNjQSMQoIbWV0YWRhdGEYASABKAsyFS5ldmVudC5NZXRyaWNNZXRhRGF0YVIIbWV0YWRhdGESQQoHbWV0cmljcxgCIAMoCzInLmV2ZW50Lk1ldHJpY0luZm9ybWF0aW9uNjQuTWV0cmljc0VudHJ5UgdtZXRyaWNzGjoKDE1ldHJpY3NFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoBFIFdmFsdWU6AjgBItoBCghLcGlFdmVudBItCgR0eXBlGAEgASgOMhkuZXZlbnQuS3BpRXZlbnRUeXBlLlR5cGVzUgR0eXBlEg4KAnRzGAIgASgCUgJ0cxI5CghwcmVmaXhlcxgDIAMoCzIdLmV2ZW50LktwaUV2ZW50LlByZWZpeGVzRW50cnlSCHByZWZpeGVzGlQKDVByZWZpeGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLQoFdmFsdWUYAiABKAsyFy5ldmVudC5NZXRyaWNWYWx1ZVBhaXJzUgV2YWx1ZToCOAEigwEKCUtwaUV2ZW50MhItCgR0eXBlGAEgASgOMhkuZXZlbnQuS3BpRXZlbnRUeXBlLlR5cGVzUgR0eXBlEg4KAnRzGAIgASgBUgJ0cxI3CgpzbGljZV9kYXRhGAMgAygLMhguZXZlbnQuTWV0cmljSW5mb3JtYXRpb25SCXNsaWNlRGF0YSKFAQoJS3BpRXZlbnQzEi0KBHR5cGUYASABKA4yGS5ldmVudC5LcGlFdmVudFR5cGUuVHlwZXNSBHR5cGUSDgoCdHMYAiABKAFSAnRzEjkKCnNsaWNlX2RhdGEYAyADKAsyGi5ldmVudC5NZXRyaWNJbmZvcm1hdGlvbjY0UglzbGljZURhdGEi8wEKC0RldmljZUV2ZW50Eh8KC3Jlc291cmNlX2lkGAEgASgJUgpyZXNvdXJjZUlkEioKEWRldmljZV9ldmVudF9uYW1lGAIgASgJUg9kZXZpY2VFdmVudE5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjkKB2NvbnRleHQYBCADKAsyHy5ldmVudC5EZXZpY2VFdmVudC5Db250ZXh0RW50cnlSB2NvbnRleHQaOgoMQ29udGV4dEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi2gIKCFJQQ0V2ZW50EhAKA3JwYxgBIAEoCVIDcnBjEiEKDG9wZXJhdGlvbl9pZBgCIAEoCVILb3BlcmF0aW9uSWQSGAoHc2VydmljZRgDIAEoCVIHc2VydmljZRIZCghzdGFja19pZBgEIAEoCVIHc3RhY2tJZBIfCgtyZXNvdXJjZV9pZBgFIAEoCVIKcmVzb3VyY2VJZBIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SNgoHY29udGV4dBgHIAMoCzIcLmV2ZW50LlJQQ0V2ZW50LkNvbnRleHRFbnRyeVIHY29udGV4dBItCgZzdGF0dXMYCCABKAsyFS5jb21tb24uT3BlcmF0aW9uUmVzcFIGc3RhdHVzGjoKDENvbnRleHRFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBInYKDUV2ZW50Q2F0ZWdvcnkiZQoFVHlwZXMSEQoNQ09NTVVOSUNBVElPThAAEg8KC0VOVklST05NRU5UEAESDQoJRVFVSVBNRU5UEAISCwoHU0VSVklDRRADEg4KClBST0NFU1NJTkcQBBIMCghTRUNVUklUWRAFIlIKEEV2ZW50U3ViQ2F0ZWdvcnkiPgoFVHlwZXMSBwoDUE9OEAASBwoDT0xUEAESBwoDT05UEAISBwoDT05VEAMSBwoDTk5JEAQSCAoETk9ORRAFInYKCUV2ZW50VHlwZSJpCgVUeXBlcxIQCgxDT05GSUdfRVZFTlQQABINCglLUElfRVZFTlQQARIOCgpLUElfRVZFTlQyEAISEAoMREVWSUNFX0VWRU5UEAMSDQoJUlBDX0VWRU5UEAQSDgoKS1BJX0VWRU5UMxAFItwCCgtFdmVudEhlYWRlchIOCgJpZBgBIAEoCVICaWQSNgoIY2F0ZWdvcnkYAiABKA4yGi5ldmVudC5FdmVudENhdGVnb3J5LlR5cGVzUghjYXRlZ29yeRJACgxzdWJfY2F0ZWdvcnkYAyABKA4yHS5ldmVudC5FdmVudFN1YkNhdGVnb3J5LlR5cGVzUgtzdWJDYXRlZ29yeRIqCgR0eXBlGAQgASgOMhYuZXZlbnQuRXZlbnRUeXBlLlR5cGVzUgR0eXBlEiEKDHR5cGVfdmVyc2lvbhgFIAEoCVILdHlwZVZlcnNpb24SNwoJcmFpc2VkX3RzGAYgASgLMhouZ29vZ2xlLnByb3Rv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dUl0dVBvbkFsYXJtQ29uZmlnQggKBmNvbmZpZyK+CQoOT251SXR1UG9uQWxhcm0SFQoGcG9uX25pGAEgASgHUgVwb25OaRIVCgZvbnVfaWQYAiABKAdSBW9udUlkEjkKCGFsYXJtX2lkGAMgASgOMh4uY29uZmlnLk9udUl0dVBvbkFsYXJtLkFsYXJtSURSB2FsYXJtSWQSagoZYWxhcm1fcmVwb3J0aW5nX2NvbmRpdGlvbhgEIAEoDjIuLmNvbmZpZy5PbnVJdHVQb25BbGFybS5BbGFybVJlcG9ydGluZ0NvbmRpdGlvblIXYWxhcm1SZXBvcnRpbmdDb25kaXRpb24SYAoVcmF0ZV90aHJlc2hvbGRfY29uZmlnGAUgASgLMiouY29uZmlnLk9udUl0dVBvbkFsYXJtLlJhdGVUaHJlc2hvbGRDb25maWdIAFITcmF0ZVRocmVzaG9sZENvbmZpZxJUChFyYXRlX3JhbmdlX2NvbmZpZxgGIAEoCzImLmNvbmZpZy5PbnVJdHVQb25BbGFybS5SYXRlUmFuZ2VDb25maWdIAFIPcmF0ZVJhbmdlQ29uZmlnEmMKFnZhbHVlX3RocmVzaG9sZF9jb25maWcYByABKAsyKy5jb25maWcuT251SXR1UG9uQWxhcm0uVmFsdWVUaHJlc2hvbGRDb25maWdIAFIUdmFsdWVUaHJlc2hvbGRDb25maWcaXAoIU29ha1RpbWUSKAoQYWN0aXZlX3NvYWtfdGltZRgBIAEoB1IOYWN0aXZlU29ha1RpbWUSJgoPY2xlYXJfc29ha190aW1lGAIgASgHUg1jbGVhclNvYWtUaW1lGr0BChNSYXRlVGhyZXNob2xkQ29uZmlnEjIKFXJhdGVfdGhyZXNob2xkX3Jpc2luZxgBIAEoBlITcmF0ZVRocmVzaG9sZFJpc2luZxI0ChZyYXRlX3RocmVzaG9sZF9mYWxsaW5nGAIgASgGUhRyYXRlVGhyZXNob2xkRmFsbGluZxI8Cglzb2FrX3RpbWUYAyABKAsyHy5jb25maWcuT251SXR1UG9uQWxhcm0uU29ha1RpbWVSCHNvYWtUaW1lGqMBCg9SYXRlUmFuZ2VDb25maWcSKAoQcmF0ZV9yYW5nZV9sb3dlchgBIAEoBlIOcmF0ZVJhbmdlTG93ZXISKAoQcmF0ZV9yYW5nZV91cHBlchgCIAEoBlIOcmF0ZVJhbmdlVXBwZXISPAoJc29ha190aW1lGAMgASgLMh8uY29uZmlnLk9udUl0dVBvbkFsYXJtLlNvYWtUaW1lUghzb2FrVGltZRp9ChRWYWx1ZVRocmVzaG9sZENvbmZpZxInCg90aHJlc2hvbGRfbGltaXQYASABKAZSDnRocmVzaG9sZExpbWl0EjwKCXNvYWtfdGltZRgCIAEoCzIfLmNvbmZpZy5PbnVJdHVQb25BbGFybS5Tb2FrVGltZVIIc29ha1RpbWUiGQoHQWxhcm1JRBIOCgpSRElfRVJST1JTEAAiUgoXQWxhcm1SZXBvcnRpbmdDb25kaXRpb24SEgoOUkFURV9USFJFU0hPTEQQABIOCgpSQVRFX1JBTkdFEAESEwoPVkFMVUVfVEhSRVNIT0xEEAJCCAoGY29uZmlnQkkKE29yZy5vcGVuY29yZC52b2x0aGFaMmdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9leHQvY29uZmlnSvgVCgYSBA0ARQEK8QQKAQwSAw0AEhrmBCBDb3B5cmlnaHQgMjAyMC0yMDI0IE9wZW4gTmV0d29ya2luZyBGb3VuZGF0aW9uIChPTkYpIGFuZCB0aGUgT05GIENvbnRyaWJ1dG9ycwoKIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgoKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCggKAQgSAw8ASQoJCgIICxIDDwBJCggKAQISAxEADwoICgEIEgMTACwKCQoCCAESAxMALAoKCgIEABIEFQAZAQoKCgMEAAESAxUIEwoMCgQEAAgAEgQWBBgFCgwKBQQACAABEgMWChAKCwoEBAACABIDFwczCgwKBQQAAgAGEgMXBxUKDAoFBAACAAESAxcWLgoMCgUEAAIAAxIDFzEyCgoKAgQBEgQbAEUBCgoKAwQBARIDGwgWCgwKBAQBBAASBBwDHgQKDAoFBAEEAAESAxwIDwobCgYEAQQAAgASAx0HFiIMIFJESSBlcnJvcnMKCg4KBwQBBAACAAESAx0HEQoOCgcEAQQAAgACEgMdFBUKDAoEBAEEARIEIAMkBAoMCgUEAQQBARIDIAgfCnoKBgQBBAECABIDIQcaImsgVGhlIGFsYXJtIGlzIHRyaWdnZXJlZCBpZiB0aGUgc3RhdHMgZGVsdGEgdmFsdWUgYmV0d2VlbiBzYW1wbGVzIGNyb3NzZXMgdGhlIGNvbmZpZ3VyZWQgdGhyZXNob2xkIGJvdW5kYXJ5CgoOCgcEAQQBAgABEgMhBxUKDgoHBAEEAQIAAhIDIRgZCnMKBgQBBAECARIDIgcWImQgVGhlIGFsYXJtIGlzIHRyaWdnZXJlZCBpZiB0aGUgc3RhdHMgZGVsdGEgdmFsdWUgYmV0d2VlbiBzYW1wbGVzIGRldmlhdGVzIGZyb20gdGhlIGNvbmZpZ3VyZWQgcmFuZ2UKCg4KBwQBBAECAQESAyIHEQoOCgcEAQQBAgECEgMiFBUKkwEKBgQBBAECAhIDIwcbIoMBIFRoZSBhbGFybSBpcyByYWlzZWQgaWYgdGhlIHN0YXRzIHNhbXBsZSB2YWx1ZSBiZWNvbWVzIGdyZWF0ZXIgdGhhbiB0aGlzIGxldmVsLiAgVGhlIGFsYXJtIGlzIGNsZWFyZWQgd2hlbiB0aGUgaG9zdCByZWFkIHRoZSBzdGF0cwoKDgoHBAEEAQICARIDIwcWCg4KBwQBBAECAgISAyMZGgoMCgQEAQMAEgQmAykECgwKBQQBAwABEgMmCxMKDQoGBAEDAAIAEgMnByQKDwoHBAEDAAIABBIEJwcmFQoOCgcEAQMAAgAFEgMnBw4KDgoHBAEDAAIAARIDJw8fCg4KBwQBAwACAAMSAyciIwoNCgYEAQMAAgESAygHIwoPCgcEAQMAAgEEEgQoByckCg4KBwQBAwACAQUSAygHDgoOCgcEAQMAAgEBEgMoDx4KDgoHBAEDAAIBAxIDKCEiCgwKBAQBAwESBCsDLwQKDAoFBAEDAQESAysLHgoNCgYEAQMBAgASAywHKQoPCgcEAQMBAgAEEgQsBysgCg4KBwQBAwECAAUSAywHDgoOCgcEAQMBAgABEgMsDyQKDgoHBAEDAQIAAxIDLCcoCg0KBgQBAwECARIDLQcqCg8KBwQBAwECAQQSBC0HLCkKDgoHBAEDAQIBBRIDLQcOCg4KBwQBAwECAQESAy0PJQoOCgcEAQMBAgEDEgMtKCkKDQoGBAEDAQICEgMuBx4KDwoHBAEDAQICBBIELgctKgoOCgcEAQMBAgIGEgMuBw8KDgoHBAEDAQICARIDLhAZCg4KBwQBAwECAgMSAy4cHQoMCgQEAQMCEgQxAzUECgwKBQQBAwIBEgMxCxoKDQoGBAEDAgIAEgMyByQKDwoHBAEDAgIABBIEMgcxHAoOCgcEAQMCAgAFEgMyBw4KDgoHBAEDAgIAARIDMg8fCg4KBwQBAwICAAMSAzIiIwoNCgYEAQMCAgESAzMHJAoPCgcEAQMCAgEEEgQzBzIkCg4KBwQBAwICAQUSAzMHDgoOCgcEAQMCAgEBEgMzDx8KDgoHBAEDAgIBAxIDMyIjCg0KBgQBAwICAhIDNAceCg8KBwQBAwICAgQSBDQHMyQKDgoHBAEDAgICBhIDNAcPCg4KBwQBAwICAgESAzQQGQoOCgcEAQMCAgIDEgM0HB0KDAoEBAEDAxIENwM6BAoMCgUEAQMDARIDNwsfCg0KBgQBAwMCABIDOAcjCg8KBwQBAwMCAAQSBDgHNyEKDgoHBAEDAwIABRIDOAcOCg4KBwQBAwMCAAESAzgPHgoOCgcEAQMDAgADEgM4ISIKDQoGBAEDAwIBEgM5Bx4KDwoHBAEDAwIBBBIEOQc4IwoOCgcEAQMDAgEGEgM5Bw8KDgoHBAEDAwIBARIDORAZCg4KBwQBAwMCAQMSAzkcHQoLCgQEAQIAEgM8AxYKDQoFBAECAAQSBDwDOgQKDAoFBAECAAUSAzwDCgoMCgUEAQIAARIDPAsRCgwKBQQBAgADEgM8FBUKCwoEBAECARIDPQMWCg0KBQQBAgEEEgQ9AzwWCgwKBQQBAgEFEgM9AwoKDAoFBAECAQESAz0LEQoMCgUEAQIBAxIDPRQVCgsKBAQBAgISAz4DGAoNCgUEAQICBBIEPgM9FgoMCgUEAQICBhIDPgMKCgwKBQQBAgIBEgM+CxMKDAoFBAECAgMSAz4WFwoLCgQEAQIDEgM/AzkKDQoFBAECAwQSBD8DPhgKDAoFBAECAwYSAz8DGgoMCgUEAQIDARIDPxs0CgwKBQQBAgMDEgM/NzgKDAoEBAEIABIEQANEBAoMCgUEAQgAARIDQAkPCgsKBAQBAgQSA0EHNQoMCgUEAQIEBhIDQQcaCgwKBQQBAgQBEgNBGzAKDAoFBAECBAMSA0EzNAoLCgQEAQIFEgNCBy0KDAoFBAECBQYSA0IHFgoMCgUEAQIFARIDQhcoCgwKBQQBAgUDEgNCKywKCwoEBAECBhIDQwc3CgwKBQQBAgYGEgNDBxsKDAoFBAECBgESA0McMgoMCgUEAQIGAxIDQzU2YgZwcm90bzMK1fQCCh52b2x0aGFfcHJvdG9zL2V4dGVuc2lvbnMucHJvdG8SCWV4dGVuc2lvbhoedm9sdGhhX3Byb3Rvcy9leHRfY29uZmlnLnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8aGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvIl0KCFZhbHVlU2V0Eg4KAmlkGAEgASgJUgJpZBI4CgxhbGFybV9jb25maWcYAiABKAsyEy5jb25maWcuQWxhcm1Db25maWdIAFILYWxhcm1Db25maWdCBwoFdmFsdWUiLAoJVmFsdWVUeXBlIh8KBFR5cGUSCQoFRU1QVFkQABIMCghESVNUQU5DRRABIlEKDlZhbHVlU3BlY2lmaWVyEg4KAmlkGAEgASgJUgJpZBIvCgV2YWx1ZRgCIAEoDjIZLmV4dGVuc2lvbi5WYWx1ZVR5cGUuVHlwZVIFdmFsdWUidAoMUmV0dXJuVmFsdWVzEhAKA1NldBgBIAEoDVIDU2V0EiAKC1Vuc3VwcG9ydGVkGAIgASgNUgtVbnN1cHBvcnRlZBIUCgVFcnJvchgDIAEoDVIFRXJyb3ISGgoIRGlzdGFuY2UYBCABKA1SCERpc3RhbmNlIjYKEkdldERpc3RhbmNlUmVxdWVzdBIgCgtvbnVEZXZpY2VJZBgBIAEoCVILb251RGV2aWNlSWQiMQoTR2V0RGlzdGFuY2VSZXNwb25zZRIaCghkaXN0YW5jZRgBIAEoDVIIZGlzdGFuY2UiMgoUR2V0T251VW5pSW5mb1JlcXVlc3QSGgoIdW5pSW5kZXgYASABKA1SCHVuaUluZGV4IuEEChVHZXRPbnVVbmlJbmZvUmVzcG9uc2USUAoIYWRtU3RhdGUYASABKA4yNC5leHRlbnNpb24uR2V0T251VW5pSW5mb1Jlc3BvbnNlLkFkbWluaXN0cmF0aXZlU3RhdGVSCGFkbVN0YXRlEk8KCW9wZXJTdGF0ZRgCIAEoDjIxLmV4dGVuc2lvbi5HZXRPbnVVbmlJbmZvUmVzcG9uc2UuT3BlcmF0aW9uYWxTdGF0ZVIJb3BlclN0YXRlEk8KCWNvbmZpZ0luZBgDIAEoDjIxLmV4dGVuc2lvbi5HZXRPbnVVbmlJbmZvUmVzcG9uc2UuQ29uZmlndXJhdGlvbkluZFIJY29uZmlnSW5kIsIBChBDb25maWd1cmF0aW9uSW5kEgoKBlVOS09XThAAEhIKDlRFTl9CQVNFX1RfRkRYEAESFgoSSFVORFJFRF9CQVNFX1RfRkRYEAISGAoUR0lHQUJJVF9FVEhFUk5FVF9GRFgQAxIWChJURU5fR19FVEhFUk5FVF9GRFgQBBISCg5URU5fQkFTRV9UX0hEWBAFEhYKEkhVTkRSRURfQkFTRV9UX0hEWBAGEhgKFEdJR0FCSVRfRVRIRVJORVRfSERYEAciRwoTQWRtaW5pc3RyYXRpdmVTdGF0ZRIWChJBRE1TVEFURV9VTkRFRklORUQQABIKCgZMT0NLRUQQARIMCghVTkxPQ0tFRBACIkYKEE9wZXJhdGlvbmFsU3RhdGUSFwoTT1BFUlNUQVRFX1VOREVGSU5FRBAAEgsKB0VOQUJMRUQQARIMCghESVNBQkxFRBACIrcBChJHZXRPbHRQb3J0Q291bnRlcnMSFgoGcG9ydE5vGAEgASgNUgZwb3J0Tm8SQgoIcG9ydFR5cGUYAiABKA4yJi5leHRlbnNpb24uR2V0T2x0UG9ydENvdW50ZXJzLlBvcnRUeXBlUghwb3J0VHlwZSJFCghQb3J0VHlwZRIQCgxQb3J0X1VOS05PV04QABIVChFQb3J0X0VUSEVSTkVUX05OSRABEhAKDFBvcnRfUE9OX09MVBACIswDChpHZXRPbHRQb3J0Q291bnRlcnNSZXNwb25zZRIYCgd0eEJ5dGVzGAEgASgEUgd0eEJ5dGVzEhgKB3J4Qnl0ZXMYAiABKARSB3J4Qnl0ZXMSHAoJdHhQYWNrZXRzGAMgASgEUgl0eFBhY2tldHMSHAoJcnhQYWNrZXRzGAQgASgEUglyeFBhY2tldHMSJgoOdHhFcnJvclBhY2tldHMYBSABKARSDnR4RXJyb3JQYWNrZXRzEiYKDnJ4RXJyb3JQYWNrZXRzGAYgASgEUg5yeEVycm9yUGFja2V0cxImCg50eEJjYXN0UGFja2V0cxgHIAEoBFIOdHhCY2FzdFBhY2tldHMSJgoOcnhCY2FzdFBhY2tldHMYCCABKARSDnJ4QmNhc3RQYWNrZXRzEiYKDnR4VWNhc3RQYWNrZXRzGAkgASgEUg50eFVjYXN0UGFja2V0cxImCg5yeFVjYXN0UGFja2V0cxgKIAEoBFIOcnhVY2FzdFBhY2tldHMSJgoOdHhNY2FzdFBhY2tldHMYCyABKARSDnR4TWNhc3RQYWNrZXRzEiYKDnJ4TWNhc3RQYWNrZXRzGAwgASgEUg5yeE1jYXN0UGFja2V0cyJEChRHZXRPbnVQb25PcHRpY2FsSW5mbxIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHkihAIKHEdldE9udVBvbk9wdGljYWxJbmZvUmVzcG9uc2USKgoQcG93ZXJGZWVkVm9sdGFnZRgBIAEoAlIQcG93ZXJGZWVkVm9sdGFnZRIyChRyZWNlaXZlZE9wdGljYWxQb3dlchgCIAEoAlIUcmVjZWl2ZWRPcHRpY2FsUG93ZXISNgoWbWVhbk9wdGljYWxMYXVuY2hQb3dlchgDIAEoAlIWbWVhbk9wdGljYWxMYXVuY2hQb3dlchIqChBsYXNlckJpYXNDdXJyZW50GAQgASgCUhBsYXNlckJpYXNDdXJyZW50EiAKC3RlbXBlcmF0dXJlGAUgASgCUgt0ZW1wZXJhdHVyZSKvAQofR2V0T251RXRoZXJuZXRCcmlkZ2VQb3J0SGlzdG9yeRJSCglkaXJlY3Rpb24YASABKA4yNC5leHRlbnNpb24uR2V0T251RXRoZXJuZXRCcmlkZ2VQb3J0SGlzdG9yeS5EaXJlY3Rpb25SCWRpcmVjdGlvbiI4CglEaXJlY3Rpb24SDQoJVU5ERUZJTkVEEAASDAoIVVBTVFJFQU0QARIOCgpET1dOU1RSRUFNEAIikwUKJ0dldE9udUV0aGVybmV0QnJpZGdlUG9ydEhpc3RvcnlSZXNwb25zZRIeCgpkcm9wRXZlbnRzGAEgASgNUgpkcm9wRXZlbnRzEhYKBm9jdGV0cxgCIAEoDVIGb2N0ZXRzEhgKB3BhY2tldHMYAyABKA1SB3BhY2tldHMSKgoQYnJvYWRjYXN0UGFja2V0cxgEIAEoDVIQYnJvYWRjYXN0UGFja2V0cxIqChBtdWx0aWNhc3RQYWNrZXRzGAUgASgNUhBtdWx0aWNhc3RQYWNrZXRzEiwKEWNyY0Vycm9yZWRQYWNrZXRzGAYgASgNUhFjcmNFcnJvcmVkUGFja2V0cxIqChB1bmRlcnNpemVQYWNrZXRzGAcgASgNUhB1bmRlcnNpemVQYWNrZXRzEigKD292ZXJzaXplUGFja2V0cxgIIAEoDVIPb3ZlcnNpemVQYWNrZXRzEigKD3BhY2tldHM2NG9jdGV0cxgJIAEoDVIPcGFja2V0czY0b2N0ZXRzEjIKFHBhY2tldHM2NVRvMTI3b2N0ZXRzGAogASgNUhRwYWNrZXRzNjVUbzEyN29jdGV0cxI0ChVwYWNrZXRzMTI4VG8yNTVPY3RldHMYCyABKA1SFXBhY2tldHMxMjhUbzI1NU9jdGV0cxI0ChVwYWNrZXRzMjU2VG81MTFvY3RldHMYDCABKA1SFXBhY2tldHMyNTZUbzUxMW9jdGV0cxI2ChZwYWNrZXRzNTEyVG8xMDIzb2N0ZXRzGA0gASgNUhZwYWNrZXRzNTEyVG8xMDIzb2N0ZXRzEjgKF3BhY2tldHMxMDI0VG8xNTE4b2N0ZXRzGA4gASgNUhdwYWNrZXRzMTAyNFRvMTUxOG9jdGV0cyJMChxHZXRPbnVBbGxvY0dlbUhpc3RvcnlSZXF1ZXN0EiwKBWVtcHR5GAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5UgVlbXB0eSKzAwoVT251R2VtUG9ydEhpc3RvcnlEYXRhEhQKBWdlbUlkGAEgASgNUgVnZW1JZBIyChR0cmFuc21pdHRlZEdFTUZyYW1lcxgCIAEoDVIUdHJhbnNtaXR0ZWRHRU1GcmFtZXMSLAoRcmVjZWl2ZWRHRU1GcmFtZXMYAyABKA1SEXJlY2VpdmVkR0VNRnJhbWVzEjYKFHJlY2VpdmVkUGF5bG9hZEJ5dGVzGAQgASgNQgIYAVIUcmVjZWl2ZWRQYXlsb2FkQnl0ZXMSPAoXdHJhbnNtaXR0ZWRQYXlsb2FkQnl0ZXMYBSABKA1CAhgBUhd0cmFuc21pdHRlZFBheWxvYWRCeXRlcxIwChNlbmNyeXB0aW9uS2V5RXJyb3JzGAYgASgNUhNlbmNyeXB0aW9uS2V5RXJyb3JzEjkKGXJlY2VpdmVkX3BheWxvYWRfYnl0ZXNfNjQYByABKAZSFnJlY2VpdmVkUGF5bG9hZEJ5dGVzNjQSPwocdHJhbnNtaXR0ZWRfcGF5bG9hZF9ieXRlc182NBgIIAEoBlIZdHJhbnNtaXR0ZWRQYXlsb2FkQnl0ZXM2NCJJChNPbnVBbGxvY0hpc3RvcnlEYXRhEhgKB2FsbG9jSWQYASABKA1SB2FsbG9jSWQSGAoHcnhCeXRlcxgCIAEoDVIHcnhCeXRlcyKkAQoWT251QWxsb2NHZW1IaXN0b3J5RGF0YRJGCg5vbnVBbGxvY0lkSW5mbxgBIAEoCzIeLmV4dGVuc2lvbi5PbnVBbGxvY0hpc3RvcnlEYXRhUg5vbnVBbGxvY0lkSW5mbxJCCgtnZW1Qb3J0SW5mbxgCIAMoCzIgLmV4dGVuc2lvbi5PbnVHZW1Qb3J0SGlzdG9yeURhdGFSC2dlbVBvcnRJbmZvInoKHUdldE9udUFsbG9jR2VtSGlzdG9yeVJlc3BvbnNlElkKFm9udUFsbG9jR2VtSGlzdG9yeURhdGEYASADKAsyIS5leHRlbnNpb24uT251QWxsb2NHZW1IaXN0b3J5RGF0YVIWb251QWxsb2NHZW1IaXN0b3J5RGF0YSJAChBHZXRPbnVGZWNIaXN0b3J5EiwKBWVtcHR5GAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5UgVlbXB0eSLjAwoYR2V0T251RmVjSGlzdG9yeVJlc3BvbnNlEioKDmNvcnJlY3RlZEJ5dGVzGAEgASgNQgIYAVIOY29ycmVjdGVkQnl0ZXMSMgoSY29ycmVjdGVkQ29kZVdvcmRzGAIgASgNQgIYAVISY29ycmVjdGVkQ29kZVdvcmRzEh4KCmZlY1NlY29uZHMYAyABKA1SCmZlY1NlY29uZHMSKgoOdG90YWxDb2RlV29yZHMYBCABKA1CAhgBUg50b3RhbENvZGVXb3JkcxI6ChZ1bmNvcnJlY3RhYmxlQ29kZVdvcmRzGAUgASgNQgIYAVIWdW5jb3JyZWN0YWJsZUNvZGVXb3JkcxIzChZmZWNfY29ycmVjdGVkX2J5dGVzXzY0GAYgASgGUhNmZWNDb3JyZWN0ZWRCeXRlczY0EjwKG2ZlY19jb3JyZWN0ZWRfY29kZV93b3Jkc182NBgHIAEoBlIXZmVjQ29ycmVjdGVkQ29kZVdvcmRzNjQSLQoTdG90YWxfY29kZV93b3Jkc182NBgIIAEoBlIQdG90YWxDb2RlV29yZHM2NBI9Cht1bmNvcnJlY3RhYmxlX2NvZGVfd29yZHNfNjQYCSABKAZSGHVuY29ycmVjdGFibGVDb2RlV29yZHM2NCJHChVHZXRPbnVDb3VudGVyc1JlcXVlc3QSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQijQEKJUdldE9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVJlcXVlc3QSIAoLb251RGV2aWNlSWQYASABKAlSC29udURldmljZUlkEhwKCHVuaUluZGV4GAIgASgNSABSCHVuaUluZGV4EhQKBXJlc2V0GAMgASgIUgVyZXNldEIOCgxpc191bmlfaW5kZXgiQwoRR2V0UnhQb3dlclJlcXVlc3QSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQiTAoUR2V0T2x0UnhQb3dlclJlcXVlc3QSHQoKcG9ydF9sYWJlbBgBIAEoCVIJcG9ydExhYmVsEhUKBm9udV9zbhgCIAEoCVIFb251U24iWgoSR2V0UG9uU3RhdHNSZXF1ZXN0Eh4KCXBvcnRMYWJlbBgBIAEoCUgAUglwb3J0TGFiZWwSGAoGcG9ydElkGAIgASgHSABSBnBvcnRJZEIKCghwb3J0SW5mbyJvChNHZXRQb25TdGF0c1Jlc3BvbnNlEhgKB3BvblBvcnQYASABKA1SB3BvblBvcnQSPgoOcG9ydFN0YXRpc3RpY3MYAiABKAsyFi5jb21tb24uUG9ydFN0YXRpc3RpY3NSDnBvcnRTdGF0aXN0aWNzIloKEkdldE5OSVN0YXRzUmVxdWVzdBIeCglwb3J0TGFiZWwYASABKAlIAFIJcG9ydExhYmVsEhgKBnBvcnRJZBgCIAEoB0gAUgZwb3J0SWRCCgoIcG9ydEluZm8ibwoTR2V0Tk5JU3RhdHNSZXNwb25zZRIYCgdubmlQb3J0GAEgASgNUgdubmlQb3J0Ej4KDnBvcnRTdGF0aXN0aWNzGAIgASgLMhYuY29tbW9uLlBvcnRTdGF0aXN0aWNzUg5wb3J0U3RhdGlzdGljcyJJChlHZXRPbnVTdGF0c0Zyb21PbHRSZXF1ZXN0EhYKBmludGZJZBgBIAEoB1IGaW50ZklkEhQKBW9udUlkGAIgASgHUgVvbnVJZCKdAQoVT251R2VtUG9ydEluZm9Gcm9tT2x0EhQKBWdlbUlkGAEgASgNUgVnZW1JZBIcCglyeFBhY2tldHMYAiABKARSCXJ4UGFja2V0cxIYCgdyeEJ5dGVzGAMgASgEUgdyeEJ5dGVzEhwKCXR4UGFja2V0cxgEIAEoBFIJdHhQYWNrZXRzEhgKB3R4Qnl0ZXMYBSABKARSB3R4Qnl0ZXMiSwoVT251QWxsb2NJZEluZm9Gcm9tT2x0EhgKB2FsbG9jSWQYASABKA1SB2FsbG9jSWQSGAoHcnhCeXRlcxgCIAEoBFIHcnhCeXRlcyKpAQofT251QWxsb2NHZW1TdGF0c0Zyb21PbHRSZXNwb25zZRJCCgthbGxvY0lkSW5mbxgBIAEoCzIgLmV4dGVuc2lvbi5PbnVBbGxvY0lkSW5mb0Zyb21PbHRSC2FsbG9jSWRJbmZvEkIKC2dlbVBvcnRJbmZvGAIgAygLMiAuZXh0ZW5zaW9uLk9udUdlbVBvcnRJbmZvRnJvbU9sdFILZ2VtUG9ydEluZm8idgoaR2V0T251U3RhdHNGcm9tT2x0UmVzcG9uc2USWAoRYWxsb2NHZW1TdGF0c0luZm8YASADKAsyKi5leHRlbnNpb24uT251QWxsb2NHZW1TdGF0c0Zyb21PbHRSZXNwb25zZVIRYWxsb2NHZW1TdGF0c0luZm8ilg0KFkdldE9udUNvdW50ZXJzUmVzcG9uc2USGQoHaW50Zl9pZBgBIAEoB0gAUgZpbnRmSWQSFwoGb251X2lkGAIgASgHSAFSBW9udUlkEicKDnBvc2l0aXZlX2RyaWZ0GAMgASgGSAJSDXBvc2l0aXZlRHJpZnQSJwoObmVnYXRpdmVfZHJpZnQYBCABKAZIA1INbmVnYXRpdmVEcmlmdBI6ChhkZWxpbWl0ZXJfbWlzc19kZXRlY3Rpb24YBSABKAZIBFIWZGVsaW1pdGVyTWlzc0RldGVjdGlvbhIfCgpiaXBfZXJyb3JzGAYgASgGSAVSCWJpcEVycm9ycxIdCgliaXBfdW5pdHMYByABKAZIBlIIYmlwVW5pdHMSNAoVZmVjX2NvcnJlY3RlZF9zeW1ib2xzGAggASgGSAdSE2ZlY0NvcnJlY3RlZFN5bWJvbHMSOAoXZmVjX2NvZGV3b3Jkc19jb3JyZWN0ZWQYCSABKAZICFIVZmVjQ29kZXdvcmRzQ29ycmVjdGVkEkAKG2ZlY19jb2Rld29yZHNfdW5jb3JyZWN0YWJsZRgKIAEoBkgJUhlmZWNDb2Rld29yZHNVbmNvcnJlY3RhYmxlEiUKDWZlY19jb2Rld29yZHMYCyABKAZIClIMZmVjQ29kZXdvcmRzEjAKE2ZlY19jb3JyZWN0ZWRfdW5pdHMYDCABKAZIC1IRZmVjQ29ycmVjdGVkVW5pdHMSKAoPeGdlbV9rZXlfZXJyb3JzGA0gASgGSAxSDXhnZW1LZXlFcnJvcnMSHQoJeGdlbV9sb3NzGA4gASgGSA1SCHhnZW1Mb3NzEigKD3J4X3Bsb2Ftc19lcnJvchgPIAEoBkgOUg1yeFBsb2Ftc0Vycm9yEi0KEnJ4X3Bsb2Ftc19ub25faWRsZRgQIAEoBkgPUg9yeFBsb2Ftc05vbklkbGUSGQoHcnhfb21jaRgRIAEoBkgQUgZyeE9tY2kSGQoHdHhfb21jaRgSIAEoBkgRUgZ0eE9tY2kSOgoZcnhfb21jaV9wYWNrZXRzX2NyY19lcnJvchgTIAEoBkgSUhVyeE9tY2lQYWNrZXRzQ3JjRXJyb3ISGwoIcnhfYnl0ZXMYFCABKAZIE1IHcnhCeXRlcxIfCgpyeF9wYWNrZXRzGBUgASgGSBRSCXJ4UGFja2V0cxIbCgh0eF9ieXRlcxgWIAEoBkgVUgd0eEJ5dGVzEh8KCnR4X3BhY2tldHMYFyABKAZIFlIJdHhQYWNrZXRzEiMKDGJlcl9yZXBvcnRlZBgYIAEoBkgXUgtiZXJSZXBvcnRlZBIhCgtsY2RnX2Vycm9ycxgZIAEoBkgYUgpsY2RnRXJyb3JzEh8KCnJkaV9lcnJvcnMYGiABKAZIGVIJcmRpRXJyb3JzEh4KCXRpbWVzdGFtcBgbIAEoB0gaUgl0aW1lc3RhbXASHwoKaGVjX2Vycm9ycxgcIAEoBkgbUgloZWNFcnJvcnNCDAoKaXNfaW50Zl9pZEILCglpc19vbnVfaWRCEwoRaXNfcG9zaXRpdmVfZHJpZnRCEwoRaXNfbmVnYXRpdmVfZHJpZnRCHQobaXNfZGVsaW1pdGVyX21pc3NfZGV0ZWN0aW9uQg8KDWlzX2JpcF9lcnJvcnNCDgoMaXNfYmlwX3VuaXRzQhoKGGlzX2ZlY19jb3JyZWN0ZWRfc3ltYm9sc0IcChppc19mZWNfY29kZXdvcmRzX2NvcnJlY3RlZEIgCh5pc19mZWNfY29kZXdvcmRzX3VuY29ycmVjdGFibGVCEgoQaXNfZmVjX2NvZGV3b3Jkc0IYChZpc19mZWNfY29ycmVjdGVkX3VuaXRzQhQKEmlzX3hnZW1fa2V5X2Vycm9yc0IOCgxpc194Z2VtX2xvc3NCFAoSaXNfcnhfcGxvYW1zX2Vycm9yQhcKFWlzX3J4X3Bsb2Ftc19ub25faWRsZUIMCgppc19yeF9vbWNpQgwKCmlzX3R4X29tY2lCHgocaXNfcnhfb21jaV9wYWNrZXRzX2NyY19lcnJvckINCgtpc19yeF9ieXRlc0IPCg1pc19yeF9wYWNrZXRzQg0KC2lzX3R4X2J5dGVzQg8KDWlzX3R4X3BhY2tldHNCEQoPaXNfYmVyX3JlcG9ydGVkQhAKDmlzX2xjZGdfZXJyb3JzQg8KDWlzX3JkaV9lcnJvcnNCDgoMaXNfdGltZXN0YW1wQg8KDWlzX2hlY19lcnJvcnMijAUKG09tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbRIfCgtkcm9wX2V2ZW50cxgBIAEoBlIKZHJvcEV2ZW50cxIWCgZvY3RldHMYAiABKAZSBm9jdGV0cxIWCgZmcmFtZXMYAyABKAZSBmZyYW1lcxIpChBicm9hZGNhc3RfZnJhbWVzGAQgASgGUg9icm9hZGNhc3RGcmFtZXMSKQoQbXVsdGljYXN0X2ZyYW1lcxgFIAEoBlIPbXVsdGljYXN0RnJhbWVzEiwKEmNyY19lcnJvcmVkX2ZyYW1lcxgGIAEoBlIQY3JjRXJyb3JlZEZyYW1lcxIpChB1bmRlcnNpemVfZnJhbWVzGAcgASgGUg91bmRlcnNpemVGcmFtZXMSJwoPb3ZlcnNpemVfZnJhbWVzGAggASgGUg5vdmVyc2l6ZUZyYW1lcxIoChBmcmFtZXNfNjRfb2N0ZXRzGAkgASgGUg5mcmFtZXM2NE9jdGV0cxI0ChdmcmFtZXNfNjVfdG9fMTI3X29jdGV0cxgKIAEoBlITZnJhbWVzNjVUbzEyN09jdGV0cxI2ChhmcmFtZXNfMTI4X3RvXzI1NV9vY3RldHMYCyABKAZSFGZyYW1lczEyOFRvMjU1T2N0ZXRzEjYKGGZyYW1lc18yNTZfdG9fNTExX29jdGV0cxgMIAEoBlIUZnJhbWVzMjU2VG81MTFPY3RldHMSOAoZZnJhbWVzXzUxMl90b18xMDIzX29jdGV0cxgNIAEoBlIVZnJhbWVzNTEyVG8xMDIzT2N0ZXRzEjoKGmZyYW1lc18xMDI0X3RvXzE1MThfb2N0ZXRzGA4gASgGUhZmcmFtZXMxMDI0VG8xNTE4T2N0ZXRzIvQCCiZHZXRPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SZXNwb25zZRJCCgh1cHN0cmVhbRgBIAEoCzImLmV4dGVuc2lvbi5PbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SCHVwc3RyZWFtEkYKCmRvd25zdHJlYW0YAiABKAsyJi5leHRlbnNpb24uT21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUgpkb3duc3RyZWFtEosBCiZvbWNpX2V0aGVybmV0X2ZyYW1lX2V4dGVuZGVkX3BtX2Zvcm1hdBgDIAEoDjI4LmV4dGVuc2lvbi5HZXRPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SZXNwb25zZS5Gb3JtYXRSIW9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbUZvcm1hdCIwCgZGb3JtYXQSEgoOVEhJUlRZX1RXT19CSVQQABISCg5TSVhUWV9GT1VSX0JJVBABInQKB1J4UG93ZXISFQoGb251X3NuGAEgASgJUgVvbnVTbhIWCgZzdGF0dXMYAiABKAlSBnN0YXR1cxIfCgtmYWlsX3JlYXNvbhgDIAEoCVIKZmFpbFJlYXNvbhIZCghyeF9wb3dlchgEIAEoAVIHcnhQb3dlciJlChVHZXRPbHRSeFBvd2VyUmVzcG9uc2USHQoKcG9ydF9sYWJlbBgBIAEoCVIJcG9ydExhYmVsEi0KCHJ4X3Bvd2VyGAIgAygLMhIuZXh0ZW5zaW9uLlJ4UG93ZXJSB3J4UG93ZXIimAEKEkdldFJ4UG93ZXJSZXNwb25zZRIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxIfCgtmYWlsX3JlYXNvbhgEIAEoCVIKZmFpbFJlYXNvbhIZCghyeF9wb3dlchgFIAEoAVIHcnhQb3dlciJKChpHZXRPbnVPbWNpVHhSeFN0YXRzUmVxdWVzdBIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHki8QMKG0dldE9udU9tY2lUeFJ4U3RhdHNSZXNwb25zZRIpChFiYXNlX3R4X2FyX2ZyYW1lcxgBIAEoDVIOYmFzZVR4QXJGcmFtZXMSKQoRYmFzZV9yeF9ha19mcmFtZXMYAiABKA1SDmJhc2VSeEFrRnJhbWVzEi4KFGJhc2VfdHhfbm9fYXJfZnJhbWVzGAMgASgNUhBiYXNlVHhOb0FyRnJhbWVzEi4KFGJhc2Vfcnhfbm9fYWtfZnJhbWVzGAQgASgNUhBiYXNlUnhOb0FrRnJhbWVzEicKEGV4dF90eF9hcl9mcmFtZXMYBSABKA1SDWV4dFR4QXJGcmFtZXMSJwoQZXh0X3J4X2FrX2ZyYW1lcxgGIAEoDVINZXh0UnhBa0ZyYW1lcxIsChNleHRfdHhfbm9fYXJfZnJhbWVzGAcgASgNUg9leHRUeE5vQXJGcmFtZXMSLAoTZXh0X3J4X25vX2FrX2ZyYW1lcxgIIAEoDVIPZXh0UnhOb0FrRnJhbWVzEjUKF3R4X29tY2lfY291bnRlcl9yZXRyaWVzGAkgASgNUhR0eE9tY2lDb3VudGVyUmV0cmllcxI3Chh0eF9vbWNpX2NvdW50ZXJfdGltZW91dHMYCiABKA1SFXR4T21jaUNvdW50ZXJUaW1lb3V0cyJNCh1HZXRPbnVPbWNpQWN0aXZlQWxhcm1zUmVxdWVzdBIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHkifQoJQWxhcm1EYXRhEhkKCGNsYXNzX2lkGAEgASgNUgdjbGFzc0lkEh8KC2luc3RhbmNlX2lkGAIgASgNUgppbnN0YW5jZUlkEhIKBG5hbWUYAyABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIlsKHkdldE9udU9tY2lBY3RpdmVBbGFybXNSZXNwb25zZRI5Cg1hY3RpdmVfYWxhcm1zGAEgAygLMhQuZXh0ZW5zaW9uLkFsYXJtRGF0YVIMYWN0aXZlQWxhcm1zIsIBCiFHZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1JlcXVlc3QSVQoIc3RhdHNGb3IYASABKA4yOS5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXF1ZXN0Lk9mZmxvYWRlZEFwcFIIc3RhdHNGb3IiRgoMT2ZmbG9hZGVkQXBwEg0KCVVOREVGSU5FRBAAEgsKB1BQUG9lSUEQARIMCghESENQdjRSQRACEgwKCERIQ1B2NlJBEAMiixYKIkdldE9mZmxvYWRlZEFwcHNTdGF0aXN0aWNzUmVzcG9uc2USYwoNZGhjcHY0UmFTdGF0cxgBIAEoCzI7LmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLkRIQ1B2NFJBU3RhdHNIAFINZGhjcHY0UmFTdGF0cxJjCg1kaGNwdjZSYVN0YXRzGAIgASgLMjsuZXh0ZW5zaW9uLkdldE9mZmxvYWRlZEFwcHNTdGF0aXN0aWNzUmVzcG9uc2UuREhDUHY2UkFTdGF0c0gAUg1kaGNwdjZSYVN0YXRzEmAKDHBwcG9lSWFTdGF0cxgDIAEoCzI6LmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLlBQUG9lSUFTdGF0c0gAUgxwcHBvZUlhU3RhdHMa+wUKDURIQ1B2NFJBU3RhdHMSOgoaaW5fYmFkX3BhY2tldHNfZnJvbV9jbGllbnQYASABKA1SFmluQmFkUGFja2V0c0Zyb21DbGllbnQSOgoaaW5fYmFkX3BhY2tldHNfZnJvbV9zZXJ2ZXIYAiABKA1SFmluQmFkUGFja2V0c0Zyb21TZXJ2ZXISMwoWaW5fcGFja2V0c19mcm9tX2NsaWVudBgDIAEoDVITaW5QYWNrZXRzRnJvbUNsaWVudBIzChZpbl9wYWNrZXRzX2Zyb21fc2VydmVyGAQgASgNUhNpblBhY2tldHNGcm9tU2VydmVyEjEKFW91dF9wYWNrZXRzX3RvX3NlcnZlchgFIAEoDVISb3V0UGFja2V0c1RvU2VydmVyEjEKFW91dF9wYWNrZXRzX3RvX2NsaWVudBgGIAEoDVISb3V0UGFja2V0c1RvQ2xpZW50Ek0KJG9wdGlvbl84Ml9pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgHIAEoDVIfb3B0aW9uODJJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJLCiNvcHRpb25fODJfcmVtb3ZlZF9wYWNrZXRzX3RvX2NsaWVudBgIIAEoDVIeb3B0aW9uODJSZW1vdmVkUGFja2V0c1RvQ2xpZW50EkUKIG9wdGlvbl84Ml9ub3RfaW5zZXJ0ZWRfdG9fc2VydmVyGAkgASgNUhtvcHRpb244Mk5vdEluc2VydGVkVG9TZXJ2ZXISewoQYWRkaXRpb25hbF9zdGF0cxgKIAMoCzJQLmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLkRIQ1B2NFJBU3RhdHMuQWRkaXRpb25hbFN0YXRzRW50cnlSD2FkZGl0aW9uYWxTdGF0cxpCChRBZGRpdGlvbmFsU3RhdHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGvUGCg1ESENQdjZSQVN0YXRzEjoKGmluX2JhZF9wYWNrZXRzX2Zyb21fY2xpZW50GAEgASgNUhZpbkJhZFBhY2tldHNGcm9tQ2xpZW50EjoKGmluX2JhZF9wYWNrZXRzX2Zyb21fc2VydmVyGAIgASgNUhZpbkJhZFBhY2tldHNGcm9tU2VydmVyEk0KJG9wdGlvbl8xN19pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgDIAEoDVIfb3B0aW9uMTdJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJLCiNvcHRpb25fMTdfcmVtb3ZlZF9wYWNrZXRzX3RvX2NsaWVudBgEIAEoDVIeb3B0aW9uMTdSZW1vdmVkUGFja2V0c1RvQ2xpZW50Ek0KJG9wdGlvbl8xOF9pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgFIAEoDVIfb3B0aW9uMThJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJLCiNvcHRpb25fMThfcmVtb3ZlZF9wYWNrZXRzX3RvX2NsaWVudBgGIAEoDVIeb3B0aW9uMThSZW1vdmVkUGFja2V0c1RvQ2xpZW50Ek0KJG9wdGlvbl8zN19pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgHIAEoDVIfb3B0aW9uMzdJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJLCiNvcHRpb25fMzdfcmVtb3ZlZF9wYWNrZXRzX3RvX2NsaWVudBgIIAEoDVIeb3B0aW9uMzdSZW1vdmVkUGFja2V0c1RvQ2xpZW50ElcKKW91dGdvaW5nX210dV9leGNlZWRlZF9wYWNrZXRzX2Zyb21fY2xpZW50GAkgASgNUiRvdXRnb2luZ010dUV4Y2VlZGVkUGFja2V0c0Zyb21DbGllbnQSewoQYWRkaXRpb25hbF9zdGF0cxgKIAMoCzJQLmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLkRIQ1B2NlJBU3RhdHMuQWRkaXRpb25hbFN0YXRzRW50cnlSD2FkZGl0aW9uYWxTdGF0cxpCChRBZGRpdGlvbmFsU3RhdHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGrkGCgxQUFBvZUlBU3RhdHMSPgocaW5fZXJyb3JfcGFja2V0c19mcm9tX2NsaWVudBgBIAEoDVIYaW5FcnJvclBhY2tldHNGcm9tQ2xpZW50Ej4KHGluX2Vycm9yX3BhY2tldHNfZnJvbV9zZXJ2ZXIYAiABKA1SGGluRXJyb3JQYWNrZXRzRnJvbVNlcnZlchIzChZpbl9wYWNrZXRzX2Zyb21fY2xpZW50GAMgASgNUhNpblBhY2tldHNGcm9tQ2xpZW50EjMKFmluX3BhY2tldHNfZnJvbV9zZXJ2ZXIYBCABKA1SE2luUGFja2V0c0Zyb21TZXJ2ZXISMQoVb3V0X3BhY2tldHNfdG9fc2VydmVyGAUgASgNUhJvdXRQYWNrZXRzVG9TZXJ2ZXISMQoVb3V0X3BhY2tldHNfdG9fY2xpZW50GAYgASgNUhJvdXRQYWNrZXRzVG9DbGllbnQSYAoudmVuZG9yX3NwZWNpZmljX3RhZ19pbnNlcnRlZF9wYWNrZXRzX3RvX3NlcnZlchgHIAEoDVIodmVuZG9yU3BlY2lmaWNUYWdJbnNlcnRlZFBhY2tldHNUb1NlcnZlchJeCi12ZW5kb3Jfc3BlY2lmaWNfdGFnX3JlbW92ZWRfcGFja2V0c190b19jbGllbnQYCCABKA1SJ3ZlbmRvclNwZWNpZmljVGFnUmVtb3ZlZFBhY2tldHNUb0NsaWVudBJXCilvdXRnb2luZ19tdHVfZXhjZWVkZWRfcGFja2V0c19mcm9tX2NsaWVudBgJIAEoDVIkb3V0Z29pbmdNdHVFeGNlZWRlZFBhY2tldHNGcm9tQ2xpZW50EnoKEGFkZGl0aW9uYWxfc3RhdHMYCiADKAsyTy5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXNwb25zZS5QUFBvZUlBU3RhdHMuQWRkaXRpb25hbFN0YXRzRW50cnlSD2FkZGl0aW9uYWxTdGF0cxpCChRBZGRpdGlvbmFsU3RhdHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBQgcKBXN0YXRzIvgJCg9HZXRWYWx1ZVJlcXVlc3QSOwoIZGlzdGFuY2UYASABKAsyHS5leHRlbnNpb24uR2V0RGlzdGFuY2VSZXF1ZXN0SABSCGRpc3RhbmNlEjsKB3VuaUluZm8YAiABKAsyHy5leHRlbnNpb24uR2V0T251VW5pSW5mb1JlcXVlc3RIAFIHdW5pSW5mbxJBCgtvbHRQb3J0SW5mbxgDIAEoCzIdLmV4dGVuc2lvbi5HZXRPbHRQb3J0Q291bnRlcnNIAFILb2x0UG9ydEluZm8SSQoOb251T3B0aWNhbEluZm8YBCABKAsyHy5leHRlbnNpb24uR2V0T251UG9uT3B0aWNhbEluZm9IAFIOb251T3B0aWNhbEluZm8SUgoNZXRoQnJpZGdlUG9ydBgFIAEoCzIqLmV4dGVuc2lvbi5HZXRPbnVFdGhlcm5ldEJyaWRnZVBvcnRIaXN0b3J5SABSDWV0aEJyaWRnZVBvcnQSPQoKZmVjSGlzdG9yeRgGIAEoCzIbLmV4dGVuc2lvbi5HZXRPbnVGZWNIaXN0b3J5SABSCmZlY0hpc3RvcnkSQgoKb251UG9uSW5mbxgHIAEoCzIgLmV4dGVuc2lvbi5HZXRPbnVDb3VudGVyc1JlcXVlc3RIAFIKb251UG9uSW5mbxJMCgdvbnVJbmZvGAggASgLMjAuZXh0ZW5zaW9uLkdldE9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVJlcXVlc3RIAFIHb251SW5mbxI4CgdyeFBvd2VyGAkgASgLMhwuZXh0ZW5zaW9uLkdldFJ4UG93ZXJSZXF1ZXN0SABSB3J4UG93ZXISSwoMb251T21jaVN0YXRzGAogASgLMiUuZXh0ZW5zaW9uLkdldE9udU9tY2lUeFJ4U3RhdHNSZXF1ZXN0SABSDG9udU9tY2lTdGF0cxJBCgpvbHRSeFBvd2VyGAsgASgLMh8uZXh0ZW5zaW9uLkdldE9sdFJ4UG93ZXJSZXF1ZXN0SABSCm9sdFJ4UG93ZXISVAoPb251QWN0aXZlQWxhcm1zGAwgASgLMiguZXh0ZW5zaW9uLkdldE9udU9tY2lBY3RpdmVBbGFybXNSZXF1ZXN0SABSD29udUFjdGl2ZUFsYXJtcxJeChJvZmZsb2FkZWRBcHBzU3RhdHMYDSABKAsyLC5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXF1ZXN0SABSEm9mZmxvYWRlZEFwcHNTdGF0cxJVChBvbnVBbGxvY0dlbVN0YXRzGA4gASgLMicuZXh0ZW5zaW9uLkdldE9udUFsbG9jR2VtSGlzdG9yeVJlcXVlc3RIAFIQb251QWxsb2NHZW1TdGF0cxJQCg9vbnVTdGF0c0Zyb21PbHQYDyABKAsyJC5leHRlbnNpb24uR2V0T251U3RhdHNGcm9tT2x0UmVxdWVzdEgAUg9vbnVTdGF0c0Zyb21PbHQSQQoLb2x0UG9uU3RhdHMYECABKAsyHS5leHRlbnNpb24uR2V0UG9uU3RhdHNSZXF1ZXN0SABSC29sdFBvblN0YXRzEkEKC29sdE5uaVN0YXRzGBEgASgLMh0uZXh0ZW5zaW9uLkdldE5OSVN0YXRzUmVxdWVzdEgAUgtvbHRObmlTdGF0c0IJCgdyZXF1ZXN0IucNChBHZXRWYWx1ZVJlc3BvbnNlEjoKBnN0YXR1cxgBIAEoDjIiLmV4dGVuc2lvbi5HZXRWYWx1ZVJlc3BvbnNlLlN0YXR1c1IGc3RhdHVzEkUKCWVyclJlYXNvbhgCIAEoDjInLmV4dGVuc2lvbi5HZXRWYWx1ZVJlc3BvbnNlLkVycm9yUmVhc29uUgllcnJSZWFzb24SPAoIZGlzdGFuY2UYAyABKAsyHi5leHRlbnNpb24uR2V0RGlzdGFuY2VSZXNwb25zZUgAUghkaXN0YW5jZRI8Cgd1bmlJbmZvGAQgASgLMiAuZXh0ZW5zaW9uLkdldE9udVVuaUluZm9SZXNwb25zZUgAUgd1bmlJbmZvEksKDHBvcnRDb3V0bmVycxgFIAEoCzIlLmV4dGVuc2lvbi5HZXRPbHRQb3J0Q291bnRlcnNSZXNwb25zZUgAUgxwb3J0Q291dG5lcnMSUQoOb251T3B0aWNhbEluZm8YBiABKAsyJy5leHRlbnNpb24uR2V0T251UG9uT3B0aWNhbEluZm9SZXNwb25zZUgAUg5vbnVPcHRpY2FsSW5mbxJiChFldGhCcmlkZ2VQb3J0SW5mbxgHIAEoCzIyLmV4dGVuc2lvbi5HZXRPbnVFdGhlcm5ldEJyaWRnZVBvcnRIaXN0b3J5UmVzcG9uc2VIAFIRZXRoQnJpZGdlUG9ydEluZm8SRQoKZmVjSGlzdG9yeRgIIAEoCzIjLmV4dGVuc2lvbi5HZXRPbnVGZWNIaXN0b3J5UmVzcG9uc2VIAFIKZmVjSGlzdG9yeRJLCg5vbnVQb25Db3VudGVycxgJIAEoCzIhLmV4dGVuc2lvbi5HZXRPbnVDb3VudGVyc1Jlc3BvbnNlSABSDm9udVBvbkNvdW50ZXJzElUKC29udUNvdW50ZXJzGAogASgLMjEuZXh0ZW5zaW9uLkdldE9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVJlc3BvbnNlSABSC29udUNvdW50ZXJzEjkKB3J4UG93ZXIYCyABKAsyHS5leHRlbnNpb24uR2V0UnhQb3dlclJlc3BvbnNlSABSB3J4UG93ZXISTAoMb251T21jaVN0YXRzGAwgASgLMiYuZXh0ZW5zaW9uLkdldE9udU9tY2lUeFJ4U3RhdHNSZXNwb25zZUgAUgxvbnVPbWNpU3RhdHMSQgoKb2x0UnhQb3dlchgNIAEoCzIgLmV4dGVuc2lvbi5HZXRPbHRSeFBvd2VyUmVzcG9uc2VIAFIKb2x0UnhQb3dlchJVCg9vbnVBY3RpdmVBbGFybXMYDiABKAsyKS5leHRlbnNpb24uR2V0T251T21jaUFjdGl2ZUFsYXJtc1Jlc3BvbnNlSABSD29udUFjdGl2ZUFsYXJtcxJfChJvZmZsb2FkZWRBcHBzU3RhdHMYDyABKAsyLS5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXNwb25zZUgAUhJvZmZsb2FkZWRBcHBzU3RhdHMSZgoYb251QWxsb2NHZW1TdGF0c1Jlc3BvbnNlGBAgASgLMiguZXh0ZW5zaW9uLkdldE9udUFsbG9jR2VtSGlzdG9yeVJlc3BvbnNlSABSGG9udUFsbG9jR2VtU3RhdHNSZXNwb25zZRJhChdvbnVTdGF0c0Zyb21PbHRSZXNwb25zZRgRIAEoCzIlLmV4dGVuc2lvbi5HZXRPbnVTdGF0c0Zyb21PbHRSZXNwb25zZUgAUhdvbnVTdGF0c0Zyb21PbHRSZXNwb25zZRJSChNvbHRQb25TdGF0c1Jlc3BvbnNlGBIgASgLMh4uZXh0ZW5zaW9uLkdldFBvblN0YXRzUmVzcG9uc2VIAFITb2x0UG9uU3RhdHNSZXNwb25zZRJSChNvbHRObmlTdGF0c1Jlc3BvbnNlGBMgASgLMh4uZXh0ZW5zaW9uLkdldE5OSVN0YXRzUmVzcG9uc2VIAFITb2x0Tm5pU3RhdHNSZXNwb25zZSIxCgZTdGF0dXMSFAoQU1RBVFVTX1VOREVGSU5FRBAAEgYKAk9LEAESCQoFRVJST1IQAiKtAQoLRXJyb3JSZWFzb24SFAoQUkVBU09OX1VOREVGSU5FRBAAEg8KC1VOU1VQUE9SVEVEEAESFQoRSU5WQUxJRF9ERVZJQ0VfSUQQAhIVChFJTlZBTElEX1BPUlRfVFlQRRADEgsKB1RJTUVPVVQQBBIUChBJTlZBTElEX1JFUV9UWVBFEAUSEgoOSU5URVJOQUxfRVJST1IQBhISCg5JTlZBTElEX0RFVklDRRAHQgoKCHJlc3BvbnNlIqwBChBBcHBPZmZsb2FkQ29uZmlnEiYKDmVuYWJsZURIQ1B2NFJBGAEgASgIUg5lbmFibGVESENQdjRSQRImCg5lbmFibGVESENQdjZSQRgCIAEoCFIOZW5hYmxlREhDUHY2UkESJAoNZW5hYmxlUFBQb0VJQRgDIAEoCFINZW5hYmxlUFBQb0VJQRIiCgxhY2Nlc3NOb2RlSUQYBCABKAlSDGFjY2Vzc05vZGVJRCL+AQoTQXBwT2ZmbG9hZE9udUNvbmZpZxIgCgtvbnVEZXZpY2VJZBgBIAEoCVILb251RGV2aWNlSWQSSwoKcGVyVW5pSW5mbxgFIAMoCzIrLmV4dGVuc2lvbi5BcHBPZmZsb2FkT251Q29uZmlnLlBlclVuaUNvbmZpZ1IKcGVyVW5pSW5mbxp4CgxQZXJVbmlDb25maWcSJAoNYWdlbnRSZW1vdGVJRBgCIAEoCVINYWdlbnRSZW1vdGVJRBImCg5hZ2VudENpcmN1aXRJRBgDIAEoCVIOYWdlbnRDaXJjdWl0SUQSGgoIb251VW5pSWQYBCABKA1SCG9udVVuaUlkIvoBCg9TZXRWYWx1ZVJlcXVlc3QSOAoMYWxhcm1fY29uZmlnGAEgASgLMhMuY29uZmlnLkFsYXJtQ29uZmlnSABSC2FsYXJtQ29uZmlnEksKEmFwcF9vZmZsb2FkX2NvbmZpZxgCIAEoCzIbLmV4dGVuc2lvbi5BcHBPZmZsb2FkQ29uZmlnSABSEGFwcE9mZmxvYWRDb25maWcSVQoWYXBwX29mZmxvYWRfb251X2NvbmZpZxgDIAEoCzIeLmV4dGVuc2lvbi5BcHBPZmZsb2FkT251Q29uZmlnSABSE2FwcE9mZmxvYWRPbnVDb25maWdCCQoHcmVxdWVzdCLEAgoQU2V0VmFsdWVSZXNwb25zZRI6CgZzdGF0dXMYASABKA4yIi5leHRlbnNpb24uU2V0VmFsdWVSZXNwb25zZS5TdGF0dXNSBnN0YXR1cxJFCgllcnJSZWFzb24YAiABKA4yJy5leHRlbnNpb24uU2V0VmFsdWVSZXNwb25zZS5FcnJvclJlYXNvblIJZXJyUmVhc29uIjEKBlN0YXR1cxIUChBTVEFUVVNfVU5ERUZJTkVEEAASBgoCT0sQARIJCgVFUlJPUhACInoKC0Vycm9yUmVhc29uEhQKEFJFQVNPTl9VTkRFRklORUQQABIPCgtVTlNVUFBPUlRFRBABEhUKEUlOVkFMSURfREVWSUNFX0lEEAISGQoVSU5WQUxJRF9PTlVfREVWSUNFX0lEEAMSEgoOSU5WQUxJRF9VTklfSUQQBCJpChVTaW5nbGVHZXRWYWx1ZVJlcXVlc3QSGgoIdGFyZ2V0SWQYASABKAlSCHRhcmdldElkEjQKB3JlcXVlc3QYAiABKAsyGi5leHRlbnNpb24uR2V0VmFsdWVSZXF1ZXN0UgdyZXF1ZXN0IlEKFlNpbmdsZUdldFZhbHVlUmVzcG9uc2USNwoIcmVzcG9uc2UYASABKAsyGy5leHRlbnNpb24uR2V0VmFsdWVSZXNwb25zZVIIcmVzcG9uc2UiaQoVU2luZ2xlU2V0VmFsdWVSZXF1ZXN0EhoKCHRhcmdldElkGAEgASgJUgh0YXJnZXRJZBI0CgdyZXF1ZXN0GAIgASgLMhouZXh0ZW5zaW9uLlNldFZhbHVlUmVxdWVzdFIHcmVxdWVzdCJRChZTaW5nbGVTZXRWYWx1ZVJlc3BvbnNlEjcKCHJlc3BvbnNlGAEgASgLMhsuZXh0ZW5zaW9uLlNldFZhbHVlUmVzcG9uc2VSCHJlc3BvbnNlMrMBCglFeHRlbnNpb24SUgoLR2V0RXh0VmFsdWUSIC5leHRlbnNpb24uU2luZ2xlR2V0VmFsdWVSZXF1ZXN0GiEuZXh0ZW5zaW9uLlNpbmdsZUdldFZhbHVlUmVzcG9uc2USUgoLU2V0RXh0VmFsdWUSIC5leHRlbnNpb24uU2luZ2xlU2V0VmFsdWVSZXF1ZXN0GiEuZXh0ZW5zaW9uLlNpbmdsZVNldFZhbHVlUmVzcG9uc2VCUgodb3JnLm9wZW5jb3JkLnZvbHRoYS5leHRlbnNpb25aMWdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9leHRlbnNpb25KnusBCgcSBQ4AwQUBCvEECgEMEgMOABIy5gQgQ29weXJpZ2h0IDIwMTgtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgoICgEIEgMQAEgKCQoCCAsSAxAASAoICgEIEgMRADYKCQoCCAESAxEANgoICgECEgMTABIKCQoCAwASAxUAKAoJCgIDARIDFgAlCgkKAgMCEgMXACQKCgoCBAASBBkAHgEKCgoDBAABEgMZCBAKCwoEBAACABIDGgQSCg0KBQQAAgAEEgQaBBkS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b2lwQ29uZmlnUgp2b2lwQ29uZmlnIpUECgpWb2lwQ29uZmlnEkUKDGlwSG9zdENvbmZpZxgBIAEoCzIhLnZvaXBfc3lzdGVtX3Byb2ZpbGUuSXBIb3N0Q29uZmlnUgxpcEhvc3RDb25maWcSRQoMdGNwVWRwQ29uZmlnGAIgASgLMiEudm9pcF9zeXN0ZW1fcHJvZmlsZS5UY3BVZHBDb25maWdSDHRjcFVkcENvbmZpZxJFCgx2b2lwVm9pY2VDdHAYAyABKAsyIS52b2lwX3N5c3RlbV9wcm9maWxlLlZvaXBWb2ljZUN0cFIMdm9pcFZvaWNlQ3RwElEKEHZvaXBNZWRpYVByb2ZpbGUYBCABKAsyJS52b2lwX3N5c3RlbV9wcm9maWxlLlZvaXBNZWRpYVByb2ZpbGVSEHZvaXBNZWRpYVByb2ZpbGUSWgoTdm9pY2VTZXJ2aWNlUHJvZmlsZRgFIAEoCzIoLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVm9pY2VTZXJ2aWNlUHJvZmlsZVITdm9pY2VTZXJ2aWNlUHJvZmlsZRI/CgpydHBQcm9maWxlGAYgASgLMh8udm9pcF9zeXN0ZW1fcHJvZmlsZS5SdHBQcm9maWxlUgpydHBQcm9maWxlEkIKC3BwdHBQb3RzVW5pGAcgASgLMiAudm9pcF9zeXN0ZW1fcHJvZmlsZS5QcHRwUG90c1VuaVILcHB0cFBvdHNVbmkikAIKDElwSG9zdENvbmZpZxIcCglpcE9wdGlvbnMYASABKA1SCWlwT3B0aW9ucxIkCg1vbnVJZGVudGlmaWVyGAIgASgJUg1vbnVJZGVudGlmaWVyEhwKCWlwQWRkcmVzcxgDIAEoCVIJaXBBZGRyZXNzEhIKBG1hc2sYBCABKAlSBG1hc2sSGAoHZ2F0ZXdheRgFIAEoCVIHZ2F0ZXdheRIeCgpwcmltYXJ5RG5zGAYgASgJUgpwcmltYXJ5RG5zEiIKDHNlY29uZGFyeURucxgHIAEoCVIMc2Vjb25kYXJ5RG5zEiwKEXJlbGF5QWdlbnRPcHRpb25zGAggASgJUhFyZWxheUFnZW50T3B0aW9ucyJGCgxUY3BVZHBDb25maWcSGgoIcHJvdG9jb2wYASABKA1SCHByb3RvY29sEhoKCHRvc0ZpZWxkGAIgASgJUgh0b3NGaWVsZCI2CgxWb2lwVm9pY2VDdHASJgoOc2lnbmFsbGluZ0NvZGUYASABKA1SDnNpZ25hbGxpbmdDb2RlIpYFChBWb2lwTWVkaWFQcm9maWxlEhgKB2ZheE1vZGUYASABKA1SB2ZheE1vZGUSKAoPY29kZWNTZWxlY3Rpb24xGAIgASgNUg9jb2RlY1NlbGVjdGlvbjESNgoWcGFja2V0UGVyaW9kU2VsZWN0aW9uMRgDIAEoDVIWcGFja2V0UGVyaW9kU2VsZWN0aW9uMRIwChNzaWxlbmNlU3VwcHJlc3Npb24xGAQgASgNUhNzaWxlbmNlU3VwcHJlc3Npb24xEigKD2NvZGVjU2VsZWN0aW9uMhgFIAEoDVIPY29kZWNTZWxlY3Rpb24yEjYKFnBhY2tldFBlcmlvZFNlbGVjdGlvbjIYBiABKA1SFnBhY2tldFBlcmlvZFNlbGVjdGlvbjISMAoTc2lsZW5jZVN1cHByZXNzaW9uMhgHIAEoDVITc2lsZW5jZVN1cHByZXNzaW9uMhIoCg9jb2RlY1NlbGVjdGlvbjMYCCABKA1SD2NvZGVjU2VsZWN0aW9uMxI2ChZwYWNrZXRQZXJpb2RTZWxlY3Rpb24zGAkgASgNUhZwYWNrZXRQZXJpb2RTZWxlY3Rpb24zEjAKE3NpbGVuY2VTdXBwcmVzc2lvbjMYCiABKA1SE3NpbGVuY2VTdXBwcmVzc2lvbjMSKAoPY29kZWNTZWxlY3Rpb240GAsgASgNUg9jb2RlY1NlbGVjdGlvbjQSNgoWcGFja2V0UGVyaW9kU2VsZWN0aW9uNBgMIAEoDVIWcGFja2V0UGVyaW9kU2VsZWN0aW9uNBIwChNzaWxlbmNlU3VwcHJlc3Npb240GA0gASgNUhNzaWxlbmNlU3VwcHJlc3Npb240EhgKB29vYkR0bWYYDiABKA1SB29vYkR0bWYi8wIKE1ZvaWNlU2VydmljZVByb2ZpbGUSKgoQYW5ub3VuY2VtZW50VHlwZRgBIAEoDVIQYW5ub3VuY2VtZW50VHlwZRIiCgxqaXR0ZXJUYXJnZXQYAiABKA1SDGppdHRlclRhcmdldBIoCg9qaXR0ZXJCdWZmZXJNYXgYAyABKA1SD2ppdHRlckJ1ZmZlck1heBIkCg1lY2hvQ2FuY2VsSW5kGAQgASgIUg1lY2hvQ2FuY2VsSW5kEjAKE3BzdG5Qcm90b2NvbFZhcmlhbnQYBSABKA1SE3BzdG5Qcm90b2NvbFZhcmlhbnQSKAoPZHRtZkRpZ2l0TGV2ZWxzGAYgASgNUg9kdG1mRGlnaXRMZXZlbHMSLAoRZHRtZkRpZ2l0RHVyYXRpb24YByABKA1SEWR0bWZEaWdpdER1cmF0aW9uEjIKFGhvb2tGbGFzaE1pbmltdW1UaW1lGAggASgNUhRob29rRmxhc2hNaW5pbXVtVGltZSL4AQoKUnRwUHJvZmlsZRIiCgxsb2NhbFBvcnRNaW4YASABKA1SDGxvY2FsUG9ydE1pbhIiCgxsb2NhbFBvcnRNYXgYAiABKA1SDGxvY2FsUG9ydE1heBIaCghkc2NwTWFyaxgDIAEoCVIIZHNjcE1hcmsSKAoPcGlnZ3lCYWNrRXZlbnRzGAQgASgNUg9waWdneUJhY2tFdmVudHMSHgoKdG9uZUV2ZW50cxgFIAEoDVIKdG9uZUV2ZW50cxIeCgpkdG1mRXZlbnRzGAYgASgNUgpkdG1mRXZlbnRzEhwKCWNhc0V2ZW50cxgHIAEoDVIJY2FzRXZlbnRzIsMCCgtQcHRwUG90c1VuaRIQCgNhcmMYASABKAlSA2FyYxIgCgthcmNJbnRlcnZhbBgCIAEoCVILYXJjSW50ZXJ2YWwSHAoJaW1wZWRhbmNlGAMgASgNUglpbXBlZGFuY2USKgoQdHJhbnNtaXNzaW9uUGF0aBgEIAEoDVIQdHJhbnNtaXNzaW9uUGF0aBIWCgZyeEdhaW4YBSABKBFSBnJ4R2FpbhIWCgZ0eEdhaW4YBiABKBFSBnR4R2FpbhIqChBwb3RzSG9sZE92ZXJUaW1lGAcgASgNUhBwb3RzSG9sZE92ZXJUaW1lEi4KEm5vbWluYWxGZWVkVm9sdGFnZRgIIAEoDVISbm9taW5hbEZlZWRWb2x0YWdlEioKEGxvc3NPZlNvZnRTd2l0Y2gYCSABKA1SEGxvc3NPZlNvZnRTd2l0Y2giywMKCVNpcENvbmZpZxJCCgtzaXBVc2VyRGF0YRgBIAEoCzIgLnZvaXBfc3lzdGVtX3Byb2ZpbGUuU2lwVXNlckRhdGFSC3NpcFVzZXJEYXRhEksKDnNpcEFnZW50Q29uZmlnGAIgASgLMiMudm9pcF9zeXN0ZW1fcHJvZmlsZS5TaXBBZ2VudENvbmZpZ1IOc2lwQWdlbnRDb25maWcSTgoPbmV0d29ya0RpYWxQbGFuGAMgASgLMiQudm9pcF9zeXN0ZW1fcHJvZmlsZS5OZXR3b3JrRGlhbFBsYW5SD25ldHdvcmtEaWFsUGxhbhJjChZ2b2lwRmVhdHVyZUFjY2Vzc0NvZGVzGAQgASgLMisudm9pcF9zeXN0ZW1fcHJvZmlsZS5Wb2lwRmVhdHVyZUFjY2Vzc0NvZGVzUhZ2b2lwRmVhdHVyZUFjY2Vzc0NvZGVzEngKHXZvaXBBcHBsaWNhdGlvblNlcnZpY2VQcm9maWxlGAUgASgLMjIudm9pcF9zeXN0ZW1fcHJvZmlsZS5Wb2lwQXBwbGljYXRpb25TZXJ2aWNlUHJvZmlsZVIddm9pcEFwcGxpY2F0aW9uU2VydmljZVByb2ZpbGUi0wIKC1NpcFVzZXJEYXRhEiAKC3VzZXJQYXJ0QW9yGAEgASgJUgt1c2VyUGFydEFvchJaChN1c2VybmFtZUFuZFBhc3N3b3JkGAIgASgLMigudm9pcF9zeXN0ZW1fcHJvZmlsZS5Vc2VybmFtZUFuZFBhc3N3b3JkUhN1c2VybmFtZUFuZFBhc3N3b3JkEjQKFXZvaWNlbWFpbFNlcnZlclNpcFVyaRgDIAEoCVIVdm9pY2VtYWlsU2VydmVyU2lwVXJpElAKI3ZvaWNlbWFpbFN1YnNjcmlwdGlvbkV4cGlyYXRpb25UaW1lGAQgASgFUiN2b2ljZW1haWxTdWJzY3JpcHRpb25FeHBpcmF0aW9uVGltZRIiCgxyZWxlYXNlVGltZXIYBSABKAVSDHJlbGVhc2VUaW1lchIaCghyb2hUaW1lchgGIAEoBVIIcm9oVGltZXIiowQKDlNpcEFnZW50Q29uZmlnEjIKFG91dGJvdW5kUHJveHlBZGRyZXNzGAEgASgJUhRvdXRib3VuZFByb3h5QWRkcmVzcxIkCg1wcmltYXJ5U2lwRG5zGAIgASgJUg1wcmltYXJ5U2lwRG5zEigKD3NlY29uZGFyeVNpcERucxgDIAEoCVIPc2Vjb25kYXJ5U2lwRG5zEiQKDXNpcFJlZ0V4cFRpbWUYBCABKAVSDXNpcFJlZ0V4cFRpbWUSNAoVc2lwUmVyZWdIZWFkU3RhcnRUaW1lGAUgASgFUhVzaXBSZXJlZ0hlYWRTdGFydFRpbWUSIgoMU2lwUmVnaXN0cmFyGAYgASgJUgxTaXBSZWdpc3RyYXISHgoKc29mdFN3aXRjaBgHIAEoCVIKc29mdFN3aXRjaBJRChBzaXBSZXNwb25zZVRhYmxlGAggASgLMiUudm9pcF9zeXN0ZW1fcHJvZmlsZS5TaXBSZXNwb25zZVRhYmxlUhBzaXBSZXNwb25zZVRhYmxlEjoKGHNpcE9wdGlvblRyYW5zbWl0Q29udHJvbBgJIAEoCFIYc2lwT3B0aW9uVHJhbnNtaXRDb250cm9sEiIKDHNpcFVyaUZvcm1hdBgKIAEoCVIMc2lwVXJpRm9ybWF0EjoKGHJlZHVuZGFudFNpcEFnZW50UG9pbnRlchgLIAEoCVIYcmVkdW5kYW50U2lwQWdlbnRQb2ludGVyIuUBCg9OZXR3b3JrRGlhbFBsYW4SMAoTY3JpdGljYWxEaWFsVGltZW91dBgBIAEoDVITY3JpdGljYWxEaWFsVGltZW91dBIuChJwYXJ0aWFsRGlhbFRpbWVvdXQYAiABKA1SEnBhcnRpYWxEaWFsVGltZW91dBImCg5kaWFsUGxhbkZvcm1hdBgDIAEoDVIOZGlhbFBsYW5Gb3JtYXQSSAoNZGlhbFBsYW5UYWJsZRgEIAEoCzIiLnZvaXBfc3lzdGVtX3Byb2ZpbGUuRGlhbFBsYW5UYWJsZVINZGlhbFBsYW5UYWJsZSJBChNVc2VybmFtZUFuZFBhc3N3b3JkEioKEHZhbGlkYXRpb25TY2hlbWUYASABKAVSEHZhbGlkYXRpb25TY2hlbWUicgoQU2lwUmVzcG9uc2VUYWJsZRIoCg9zaXBSZXNwb25zZUNvZGUYASABKAlSD3NpcFJlc3BvbnNlQ29kZRISCgR0b25lGAIgASgJUgR0b25lEiAKC3RleHRNZXNzYWdlGAMgASgJUgt0ZXh0TWVzc2FnZSKhAQoNRGlhbFBsYW5UYWJsZRIeCgpkaWFsUGxhbklkGAEgASgNUgpkaWFsUGxhbklkEhYKBmFjdGlvbhgCIAEoDVIGYWN0aW9uEiQKDWRpYWxQbGFuVG9rZW4YAyABKAlSDWRpYWxQbGFuVG9rZW4SMgoUZGlhbFBsYW5UYWJsZU1heFNpemUYBCABKA1SFGRpYWxQbGFuVGFibGVNYXhTaXplItIEChZWb2lwRmVhdHVyZUFjY2Vzc0NvZGVzEiwKEWNhbmNlbENhbGxXYWl0aW5nGAEgASgJUhFjYW5jZWxDYWxsV2FpdGluZxIaCghjYWxsSG9sZBgCIAEoCVIIY2FsbEhvbGQSGgoIY2FsbFBhcmsYAyABKAlSCGNhbGxQYXJrEioKEGNhbGxlcklkQWN0aXZhdGUYBCABKAlSEGNhbGxlcklkQWN0aXZhdGUSLgoSY2FsbGVySWREZWFjdGl2YXRlGAUgASgJUhJjYWxsZXJJZERlYWN0aXZhdGUSNgoWZG9Ob3REaXN0dXJiQWN0aXZhdGlvbhgGIAEoCVIWZG9Ob3REaXN0dXJiQWN0aXZhdGlvbhI6Chhkb05vdERpc3R1cmJEZWFjdGl2YXRpb24YByABKAlSGGRvTm90RGlzdHVyYkRlYWN0aXZhdGlvbhI0ChVkb05vdERpc3R1cmJQaW5DaGFuZ2UYCCABKAlSFWRvTm90RGlzdHVyYlBpbkNoYW5nZRI2ChZlbWVyZ2VuY3lTZXJ2aWNlTnVtYmVyGAkgASgJUhZlbWVyZ2VuY3lTZXJ2aWNlTnVtYmVyEigKD2ludGVyY29tU2VydmljZRgKIAEoCVIPaW50ZXJjb21TZXJ2aWNlEjYKFnVuYXR0ZW5kZWRDYWxsVHJhbnNmZXIYCyABKAlSFnVuYXR0ZW5kZWRDYWxsVHJhbnNmZXISMgoUYXR0ZW5kZWRDYWxsVHJhbnNmZXIYDCABKAlSFGF0dGVuZGVkQ2FsbFRyYW5zZmVyIpcECh1Wb2lwQXBwbGljYXRpb25TZXJ2aWNlUHJvZmlsZRIgCgtjaWRGZWF0dXJlcxgBIAEoDVILY2lkRmVhdHVyZXMSMAoTY2FsbFdhaXRpbmdGZWF0dXJlcxgCIAEoDVITY2FsbFdhaXRpbmdGZWF0dXJlcxJGCh5jYWxsUHJvZ3Jlc3NPclRyYW5zZmVyRmVhdHVyZXMYAyABKA1SHmNhbGxQcm9ncmVzc09yVHJhbnNmZXJGZWF0dXJlcxI6ChhjYWxsUHJlc2VudGF0aW9uRmVhdHVyZXMYBCABKA1SGGNhbGxQcmVzZW50YXRpb25GZWF0dXJlcxIyChRkaXJlY3RDb25uZWN0RmVhdHVyZRgFIAEoDVIUZGlyZWN0Q29ubmVjdEZlYXR1cmUSOAoXZGlyZWN0Q29ubmVjdFVyaVBvaW50ZXIYBiABKAlSF2RpcmVjdENvbm5lY3RVcmlQb2ludGVyEj4KGmJyaWRnZWRMaW5lQWdlbnRVcmlQb2ludGVyGAcgASgJUhpicmlkZ2VkTGluZUFnZW50VXJpUG9pbnRlchJAChtjb25mZXJlbmNlRmFjdG9yeVVyaVBvaW50ZXIYCCABKAlSG2NvbmZlcmVuY2VGYWN0b3J5VXJpUG9pbnRlchIuChJkaWFsVG9uZURlbGF5VGltZXIYCSABKA1SEmRpYWxUb25lRGVsYXlUaW1lckJmCidvcmcub3BlbmNvcmQudm9sdGhhLnZvaXBfc3lzdGVtX3Byb2ZpbGVaO2dpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby92b2lwX3N5c3RlbV9wcm9maWxlSqRMCgcSBQ4AxAEBCvEECgEMEgMOABIy5gQgQ29weXJpZ2h0IDIwMTgtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNl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KAoPCgUEEgIGBBIGwQECwAElCg0KBQQSAgYFEgTBAQIICg0KBQQSAgYBEgTBAQkjCg0KBQQSAgYDEgTBASYnCgwKBAQSAgcSBMIBAikKDwoFBBICBwQSBsIBAsEBKAoNCgUEEgIHBRIEwgECCAoNCgUEEgIHARIEwgEJJAoNCgUEEgIHAxIEwgEnKAoMCgQEEgIIEgTDAQIgCg8KBQQSAggEEgbDAQLCASkKDQoFBBICCAUSBMMBAggKDQoFBBICCAESBMMBCRsKDQoFBBICCAMSBMMBHh9iBnByb3RvMwqwEAoldm9sdGhhX3Byb3Rvcy92b2lwX3VzZXJfcHJvZmlsZS5wcm90bxIRdm9pcF91c2VyX3Byb2ZpbGUaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8ieAoWVm9pcFVzZXJQcm9maWxlUmVxdWVzdBIQCgNrZXkYASABKAlSA2tleRJMCg92b2lwVXNlclByb2ZpbGUYAiABKAsyIi52b2lwX3VzZXJfcHJvZmlsZS5Wb2lwVXNlclByb2ZpbGVSD3ZvaXBVc2VyUHJvZmlsZSL9AQoPVm9pcFVzZXJQcm9maWxlEjIKFHZvaXBTeXN0ZW1Qcm9maWxlS2V5GAEgASgJUhR2b2lwU3lzdGVtUHJvZmlsZUtleRIaCgh1c2VybmFtZRgCIAEoCVIIdXNlcm5hbWUSGgoIcGFzc3dvcmQYAyABKAlSCHBhc3N3b3JkEhYKBmRvbWFpbhgEIAEoCVIGZG9tYWluEhQKBXByb3h5GAUgASgJUgVwcm94eRISCgRwb3J0GAYgASgNUgRwb3J0EiYKDnNpcERpc3BsYXlOYW1lGAcgASgJUg5zaXBEaXNwbGF5TmFtZRIUCgVyZWFsbRgIIAEoCVIFcmVhbG1CYgolb3JnLm9wZW5jb3JkLnZvbHRoYS52b2lwX3VzZXJfcHJvZmlsZVo5Z2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL3ZvaXBfdXNlcl9wcm9maWxlSu8LCgYSBA4AJgEK8QQKAQwSAw4AEjLmBCBDb3B5cmlnaHQgMjAxOC0yMDI0IE9wZW4gTmV0d29ya2luZyBGb3VuZGF0aW9uIChPTkYpIGFuZCB0aGUgT05GIENvbnRyaWJ1dG9ycwoKIExp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dHkSGQoIY2xhc3NfaWQYASABKA1SB2NsYXNzSWQSEgoEbmFtZRgCIAEoCVIEbmFtZSIwCgtNZXNzYWdlVHlwZRIhCgxtZXNzYWdlX3R5cGUYASABKA1SC21lc3NhZ2VUeXBlItACCg1NaWJEZXZpY2VEYXRhEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSGAoHY3JlYXRlZBgCIAEoCVIHY3JlYXRlZBIkCg5sYXN0X3N5bmNfdGltZRgDIAEoCVIMbGFzdFN5bmNUaW1lEiIKDW1pYl9kYXRhX3N5bmMYBCABKA1SC21pYkRhdGFTeW5jEhgKB3ZlcnNpb24YBSABKA1SB3ZlcnNpb24SLAoHY2xhc3NlcxgGIAMoCzISLm9tY2kuTWliQ2xhc3NEYXRhUgdjbGFzc2VzEj4KEG1hbmFnZWRfZW50aXRpZXMYByADKAsyEy5vbWNpLk1hbmFnZWRFbnRpdHlSD21hbmFnZWRFbnRpdGllcxI2Cg1tZXNzYWdlX3R5cGVzGAggAygLMhEub21jaS5NZXNzYWdlVHlwZVIMbWVzc2FnZVR5cGVzIi4KEU9wZW5PbWNpRXZlbnRUeXBlIhkKBVR5cGVzEhAKDHN0YXRlX2NoYW5nZRAAIlYKDU9wZW5PbWNpRXZlbnQSMQoEdHlwZRgBIAEoDjIdLm9tY2kuT3Blbk9tY2lFdmVudFR5cGUuVHlwZXNSBHR5cGUSEgoEZGF0YRgCIAEoCVIEZGF0YUJIChhvcmcub3BlbmNvcmQudm9sdGhhLm9tY2laLGdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9vbWNpSrcTCgYSBA8ASQEK3gQKAQwSAw8AEhrTBAogQ29weXJpZ2h0IDIwMTggLSBwcmVzZW50IHRoZSBvcmlnaW5hbCBhdXRob3Igb3IgYXV0aG9ycy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5z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ZXNzYWdlVHlwZRIhCgxtZXNzYWdlX3R5cGUYASABKA1SC21lc3NhZ2VUeXBlIuoCCg9BbGFybURldmljZURhdGESGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIYCgdjcmVhdGVkGAIgASgJUgdjcmVhdGVkEi4KE2xhc3RfYWxhcm1fc2VxdWVuY2UYAyABKA1SEWxhc3RBbGFybVNlcXVlbmNlEiQKDmxhc3Rfc3luY190aW1lGAQgASgJUgxsYXN0U3luY1RpbWUSGAoHdmVyc2lvbhgFIAEoDVIHdmVyc2lvbhIuCgdjbGFzc2VzGAYgAygLMhQub21jaS5BbGFybUNsYXNzRGF0YVIHY2xhc3NlcxJDChBtYW5hZ2VkX2VudGl0aWVzGAcgAygLMhgub21jaS5BbGFybU1hbmFnZWRFbnRpdHlSD21hbmFnZWRFbnRpdGllcxI7Cg1tZXNzYWdlX3R5cGVzGAggAygLMhYub21jaS5BbGFybU1lc3NhZ2VUeXBlUgxtZXNzYWdlVHlwZXMiPwoWQWxhcm1PcGVuT21jaUV2ZW50VHlwZSIlChFPcGVuT21jaUV2ZW50VHlwZRIQCgxzdGF0ZV9jaGFuZ2UQACJsChJBbGFybU9wZW5PbWNpRXZlbnQSQgoEdHlwZRgBIAEoDjIuLm9tY2kuQWxhcm1PcGVuT21jaUV2ZW50VHlwZS5PcGVuT21jaUV2ZW50VHlwZVIEdHlwZRISCgRkYXRhGAIgASgJUgRkYXRhQkgKGG9yZy5vcGVuY29yZC52b2x0aGEub21jaVosZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL29tY2lKtxMKBhIEDwBLAQreBAoBDBIDDwASGtMECiBDb3B5cmlnaHQgMjAxOCAtIHByZXNlbnQgdGhlIG9yaWdpbmFsIGF1dGhvciBvciBhdXRob3JzLgoKIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m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ARIDCQsNCgwKBQQAAgADEgMJEBEKCwoEBAACARIDCgQUCg0KBQQAAgEEEgQKBAkSCgwKBQQAAgEFEgMKBAoKDAoFBAACAQESAwoLDwoMCgUEAAIBAxIDChITCgoKAgQBEgQNABMBCgoKAwQBARIDDQgUCgwKBAQBBAASBA4EEQUKDAoFBAEEAAESAw4JGwoNCgYEAQQAAgASAw8IFAoOCgcEAQQAAgABEgMPCA8KDgoHBAEEAAIAAhIDDxITCg0KBgQBBAACARIDEAgUCg4KBwQBBAACAQESAxAIDwoOCgcEAQQAAgECEgMQEhMKCwoEBAECABIDEgQiCg0KBQQBAgAEEgQSBBEFCgwKBQQBAgAGEgMSBBYKDAoFBAECAAESAxIXHQoMCgUEAQIAAxIDEiAhYgZwcm90bzMKqbMBChp2b2x0aGFfcHJvdG9zL3ZvbHRoYS5wcm90bxIGdm9sdGhhGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8aGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvGhp2b2x0aGFfcHJvdG9zL2hlYWx0aC5wcm90bxoidm9sdGhhX3Byb3Rvcy9sb2dpY2FsX2RldmljZS5wcm90bxoadm9sdGhhX3Byb3Rvcy9kZXZpY2UucHJvdG8aG3ZvbHRoYV9wcm90b3MvYWRhcHRlci5wcm90bxofdm9sdGhhX3Byb3Rvcy9vcGVuZmxvd18xMy5wcm90bxoadm9sdGhhX3Byb3Rvcy9ldmVudHMucHJvdG8aHnZvbHRoYV9wcm90b3MvZXh0ZW5zaW9ucy5wcm90bxondm9sdGhhX3Byb3Rvcy92b2lwX3N5c3RlbV9wcm9maWxlLnByb3RvGiV2b2x0aGFfcHJvdG9zL3ZvaXBfdXNlcl9wcm9maWxlLnByb3RvGh92b2x0aGFfcHJvdG9zL29tY2lfbWliX2RiLnByb3RvGiF2b2x0aGFfcHJvdG9zL29tY2lfYWxhcm1fZGIucHJvdG8aHXZvbHRoYV9wcm90b3Mvb21jaV90ZXN0LnByb3RvIl0KDENvcmVJbnN0YW5jZRIfCgtpbnN0YW5jZV9pZBgBIAEoCVIKaW5zdGFuY2VJZBIsCgZoZWFsdGgYAiABKAsyFC5oZWFsdGguSGVhbHRoU3RhdHVzUgZoZWFsdGgiOwoNQ29yZUluc3RhbmNlcxIqCgVpdGVtcxgBIAMoCzIULnZvbHRoYS5Db3JlSW5zdGFuY2VSBWl0ZW1zIsADCgZWb2x0aGESGAoHdmVyc2lvbhgBIAEoCVIHdmVyc2lvbhIsCghhZGFwdGVycxgCIAMoCzIQLmFkYXB0ZXIuQWRhcHRlclIIYWRhcHRlcnMSRgoPbG9naWNhbF9kZXZpY2VzGAMgAygLMh0ubG9naWNhbF9kZXZpY2UuTG9naWNhbERldmljZVIObG9naWNhbERldmljZXMSKAoHZGV2aWNlcxgEIAMoCzIOLmRldmljZS5EZXZpY2VSB2RldmljZXMSNQoMZGV2aWNlX3R5cGVzGAUgAygLMhIuZGV2aWNlLkRldmljZVR5cGVSC2RldmljZVR5cGVzEjcKDWV2ZW50X2ZpbHRlcnMYByADKAsyEi5ldmVudC5FdmVudEZpbHRlclIMZXZlbnRGaWx0ZXJzEj8KEW9tY2lfbWliX2RhdGFiYXNlGBwgAygLMhMub21jaS5NaWJEZXZpY2VEYXRhUg9vbWNpTWliRGF0YWJhc2USRQoTb21jaV9hbGFybV9kYXRhYmFzZRgdIAMoCzIVLm9tY2kuQWxhcm1EZXZpY2VEYXRhUhFvbWNpQWxhcm1EYXRhYmFzZUoECAYQBzK7OwoNVm9sdGhhU2VydmljZRJECglHZXRWb2x0aGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaDi52b2x0aGEuVm9sdGhhIg+C0+STAgkSBy9hcGkvdjESXQoRTGlzdENvcmVJbnN0YW5jZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFS52b2x0aGEuQ29yZUluc3RhbmNlcyIZgtPkkwITEhEvYXBpL3YxL2luc3RhbmNlcxJTCg9HZXRDb3JlSW5zdGFuY2USCi5jb21tb24uSUQaFC52b2x0aGEuQ29yZUluc3RhbmNlIh6C0+STAhgSFi9hcGkvdjEvaW5zdGFuY2VzL3tpZH0SUwoMTGlzdEFkYXB0ZXJzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhEuYWRhcHRlci5BZGFwdGVycyIYgtPkkwISEhAvYXBpL3YxL2FkYXB0ZXJzEm0KEkxpc3RMb2dpY2FsRGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoeLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxEZXZpY2VzIh+C0+STAhkSFy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzEmMKEEdldExvZ2ljYWxEZXZpY2USCi5jb21tb24uSUQaHS5sb2dpY2FsX2RldmljZS5Mb2dpY2FsRGV2aWNlIiSC0+STAh4SHC9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0SbgoWTGlzdExvZ2ljYWxEZXZpY2VQb3J0cxIKLmNvbW1vbi5JRBocLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxQb3J0cyIqgtPkkwIkEiIvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzEogBChRHZXRMb2dpY2FsRGV2aWNlUG9ydBIdLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxQb3J0SWQaGy5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydCI0gtPkkwIuEiwvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzL3twb3J0X2lkfRKNAQoXRW5hYmxlTG9naWNhbERldmljZVBvcnQSHS5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydElkGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjuC0+STAjUiMy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vcG9ydHMve3BvcnRfaWR9L2VuYWJsZRKPAQoYRGlzYWJsZUxvZ2ljYWxEZXZpY2VQb3J0Eh0ubG9naWNhbF9kZXZpY2UuTG9naWNhbFBvcnRJZBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI8gtPkkwI2IjQvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzL3twb3J0X2lkfS9kaXNhYmxlEmQKFkxpc3RMb2dpY2FsRGV2aWNlRmxvd3MSCi5jb21tb24uSUQaEi5vcGVuZmxvd18xMy5GbG93cyIqgtPkkwIkEiIvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dzEoMBChxVcGRhdGVMb2dpY2FsRGV2aWNlRmxvd1RhYmxlEhwub3BlbmZsb3dfMTMuRmxvd1RhYmxlVXBkYXRlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii2C0+STAiciIi9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vZmxvd3M6ASoShAEKHVVwZGF0ZUxvZ2ljYWxEZXZpY2VNZXRlclRhYmxlEhsub3BlbmZsb3dfMTMuTWV0ZXJNb2RVcGRhdGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKCIjL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9tZXRlcnM6ASoSZwoXTGlzdExvZ2ljYWxEZXZpY2VNZXRlcnMSCi5jb21tb24uSUQaEy5vcGVuZmxvd18xMy5NZXRlcnMiK4LT5JMCJRIjL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9tZXRlcnMSdAobTGlzdExvZ2ljYWxEZXZpY2VGbG93R3JvdXBzEgouY29tbW9uLklEGhcub3BlbmZsb3dfMTMuRmxvd0dyb3VwcyIwgtPkkwIqEigvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzEpMBCiFVcGRhdGVMb2dpY2FsRGV2aWNlRmxvd0dyb3VwVGFibGUSIS5vcGVuZmxvd18xMy5GbG93R3JvdXBUYWJsZVVwZGF0ZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItIigvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzOgEqEk8KC0xpc3REZXZpY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg8uZGV2aWNlLkRldmljZXMiF4LT5JMCERIPL2FwaS92MS9kZXZpY2VzEk8KDUxpc3REZXZpY2VJZHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaCy5jb21tb24uSURzIhmC0+STAhMSES9hcGkvdjEvZGV2aWNlaWRzElUKEFJlY29uY2lsZURldmljZXMSCy5jb21tb24uSURzGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhyC0+STAhYiES9hcGkvdjEvZGV2aWNlaWRzOgEqEkUKCUdldERldmljZRIKLmNvbW1vbi5JRBoOLmRldmljZS5EZXZpY2UiHILT5JMCFhIUL2FwaS92MS9kZXZpY2VzL3tpZH0SSgoMQ3JlYXRlRGV2aWNlEg4uZGV2aWNlLkRldmljZRoOLmRldmljZS5EZXZpY2UiGoLT5JMCFCIPL2FwaS92MS9kZXZpY2VzOgEqElcKDEVuYWJsZURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIjgtPkkwIdIhsvYXBpL3YxL2RldmljZXMve2lkfS9lbmFibGUSWQoNRGlzYWJsZURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeIhwvYXBpL3YxL2RldmljZXMve2lkfS9kaXNhYmxlElcKDFJlYm9vdERldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIjgtPkkwIdIhsvYXBpL3YxL2RldmljZXMve2lkfS9yZWJvb3QSVwoMRGVsZXRlRGV2aWNlEgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiOC0+STAh0qGy9hcGkvdjEvZGV2aWNlcy97aWR9L2RlbGV0ZRJiChFGb3JjZURlbGV0ZURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjKiEvYXBpL3YxL2RldmljZXMve2lkfS9mb3JjZV9kZWxldGUSeAoNRG93bmxvYWRJbWFnZRIVLmRldmljZS5JbWFnZURvd25sb2FkGhUuY29tbW9uLk9wZXJhdGlvblJlc3AiOYgCAYLT5JMCMCIrL2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfToBKhKFAQoWR2V0SW1hZ2VEb3dubG9hZFN0YXR1cxIVLmRldmljZS5JbWFnZURvd25sb2FkGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiPYgCAYLT5JMCNBIyL2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfS9zdGF0dXMSeAoQR2V0SW1hZ2VEb3dubG9hZBIVLmRldmljZS5JbWFnZURvd25sb2FkGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiNogCAYLT5JMCLRIrL2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfRJpChJMaXN0SW1hZ2VEb3dubG9hZHMSCi5jb21tb24uSUQaFi5kZXZpY2UuSW1hZ2VEb3dubG9hZHMiL4gCAYLT5JMCJhIkL2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzEnsKE0NhbmNlbEltYWdlRG93bmxvYWQSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmNvbW1vbi5PcGVyYXRpb25SZXNwIjaIAgGC0+STAi0qKy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0SiwEKE0FjdGl2YXRlSW1hZ2VVcGRhdGUSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmNvbW1vbi5PcGVyYXRpb25SZXNwIkaIAgGC0+STAj0iOC9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vaW1hZ2VfdXBkYXRlOgEqEokBChFSZXZlcnRJbWFnZVVwZGF0ZRIVLmRldmljZS5JbWFnZURvd25sb2FkGhUuY29tbW9uLk9wZXJhdGlvblJlc3AiRogCAYLT5JMCPSI4L2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfS9pbWFnZV9yZXZlcnQ6ASoSiAEKFURvd25sb2FkSW1hZ2VUb0RldmljZRIiLmRldmljZS5EZXZpY2VJbWFnZURvd25sb2FkUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlIi6C0+STAigSJi9hcGkvdjEvZGV2aWNlcy9pbWFnZXMvZG93bmxvYWRfaW1hZ2VzEncKDkdldEltYWdlU3RhdHVzEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlIiyC0+STAiYSJC9hcGkvdjEvZGV2aWNlcy9pbWFnZXMvaW1hZ2VzX3N0YXR1cxKJAQoZQWJvcnRJbWFnZVVwZ3JhZGVUb0RldmljZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIzgtPkkwItEisvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2Fib3J0X3VwZ3JhZGVfaW1hZ2VzElYKDEdldE9udUltYWdlcxIKLmNvbW1vbi5JRBoRLmRldmljZS5PbnVJbWFnZXMiJ4LT5JMCIRIfL2FwaS92MS9kZXZpY2VzL3tpZH0vb251X2ltYWdlcxJ7Cg1BY3RpdmF0ZUltYWdlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlIjGC0+STAisiJi9hcGkvdjEvZGV2aWNlcy9pbWFnZXMvYWN0aXZhdGVfaW1hZ2VzOgEqEncKC0NvbW1pdEltYWdlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlIi+C0+STAikiJC9hcGkvdjEvZGV2aWNlcy9pbWFnZXMvY29tbWl0X2ltYWdlczoBKhJQCg9MaXN0RGV2aWNlUG9ydHMSCi5jb21tb24uSUQaDS5kZXZpY2UuUG9ydHMiIoLT5JMCHBIaL2FwaS92MS9kZXZpY2VzL3tpZH0vcG9ydHMSXQoTTGlzdERldmljZVBtQ29uZmlncxIKLmNvbW1vbi5JRBoRLmRldmljZS5QbUNvbmZpZ3MiJ4LT5JMCIRIfL2FwaS92MS9kZXZpY2VzL3tpZH0vcG1fY29uZmlncxJuChVVcGRhdGVEZXZpY2VQbUNvbmZpZ3MSES5kZXZpY2UuUG1Db25maWdzGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQiHy9hcGkvdjEvZGV2aWNlcy97aWR9L3BtX2NvbmZpZ3M6ASoSVQoPTGlzdERldmljZUZsb3dzEgouY29tbW9uLklEGhIub3BlbmZsb3dfMTMuRmxvd3MiIoLT5JMCHBIaL2FwaS92MS9kZXZpY2VzL3tpZH0vZmxvd3MSZQoUTGlzdERldmljZUZsb3dHcm91cHMSCi5jb21tb24uSUQaFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzIiiC0+STAiISIC9hcGkvdjEvZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzElwKD0xpc3REZXZpY2VUeXBlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoTLmRldmljZS5EZXZpY2VUeXBlcyIcgtPkkwIWEhQvYXBpL3YxL2RldmljZV90eXBlcxJSCg1HZXREZXZpY2VUeXBlEgouY29tbW9uLklEGhIuZGV2aWNlLkRldmljZVR5cGUiIYLT5JMCGxIZL2FwaS92MS9kZXZpY2VfdHlwZXMve2lkfRJGChBTdHJlYW1QYWNrZXRzT3V0EhYub3BlbmZsb3dfMTMuUGFja2V0T3V0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IgAoARJFChBSZWNlaXZlUGFja2V0c0luEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhUub3BlbmZsb3dfMTMuUGFja2V0SW4iADABEksKE1JlY2VpdmVDaGFuZ2VFdmVudHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaGC5vcGVuZmxvd18xMy5DaGFuZ2VFdmVudCIAMAESXQoRQ3JlYXRlRXZlbnRGaWx0ZXISEi5ldmVudC5FdmVudEZpbHRlchoSLmV2ZW50LkV2ZW50RmlsdGVyIiCC0+STAhoiFS9hcGkvdjEvZXZlbnRfZmlsdGVyczoBKhJVCg5HZXRFdmVudEZpbHRlchIKLmNvbW1vbi5JRBoTLmV2ZW50LkV2ZW50RmlsdGVycyIigtPkkwIcEhovYXBpL3YxL2V2ZW50X2ZpbHRlcnMve2lkfRJiChFVcGRhdGVFdmVudEZpbHRlchISLmV2ZW50LkV2ZW50RmlsdGVyGhIuZXZlbnQuRXZlbnRGaWx0ZXIiJYLT5JMCHxoaL2FwaS92MS9ldmVudF9maWx0ZXJzL3tpZH06ASoSYwoRRGVsZXRlRXZlbnRGaWx0ZXISEi5ldmVudC5FdmVudEZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIigtPkkwIcKhovYXBpL3YxL2V2ZW50X2ZpbHRlcnMve2lkfRJeChBMaXN0RXZlbnRGaWx0ZXJzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhMuZXZlbnQuRXZlbnRGaWx0ZXJzIh2C0+STAhcSFS9hcGkvdjEvZXZlbnRfZmlsdGVycxJMCglHZXRJbWFnZXMSCi5jb21tb24uSUQaDi5kZXZpY2UuSW1hZ2VzIiOC0+STAh0SGy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlcxJYCghTZWxmVGVzdBIKLmNvbW1vbi5JRBoYLmRldmljZS5TZWxmVGVzdFJlc3BvbnNlIiaC0+STAiAiHi9hcGkvdjEvZGV2aWNlcy97aWR9L3NlbGZfdGVzdBJWChBHZXRNaWJEZXZpY2VEYXRhEgouY29tbW9uLklEGhMub21jaS5NaWJEZXZpY2VEYXRhIiGC0+STAhsSGS9hcGkvdjEvb3Blbm9tY2kve2lkfS9taWISXAoSR2V0QWxhcm1EZXZpY2VEYXRhEgouY29tbW9uLklEGhUub21jaS5BbGFybURldmljZURhdGEiI4LT5JMCHRIbL2FwaS92MS9vcGVub21jaS97aWR9L2FsYXJtEnMKDVNpbXVsYXRlQWxhcm0SHC5kZXZpY2UuU2ltdWxhdGVBbGFybVJlcXVlc3QaFS5jb21tb24uT3BlcmF0aW9uUmVzcCItgtPkkwInIiIvYXBpL3YxL2RldmljZXMve2lkfS9zaW11bGF0ZV9sYXJtOgEqEk0KCkVuYWJsZVBvcnQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIZgtPkkwITIg4vdjEvRW5hYmxlUG9ydDoBKhJPCgtEaXNhYmxlUG9ydBIMLmRldmljZS5Qb3J0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhqC0+STAhQiDy92MS9EaXNhYmxlUG9ydDoBKhJeCgtHZXRFeHRWYWx1ZRIZLmV4dGVuc2lvbi5WYWx1ZVNwZWNpZmllchoXLmV4dGVuc2lvbi5SZXR1cm5WYWx1ZXMiG4LT5JMCFRITL2FwaS92MS9HZXRFeHRWYWx1ZRJXCgtTZXRFeHRWYWx1ZRITLmV4dGVuc2lvbi5WYWx1ZVNldBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIbgtPkkwIVEhMvYXBpL3YxL1NldEV4dFZhbHVlEmQKE1N0YXJ0T21jaVRlc3RBY3Rpb24SFS5vbWNpLk9tY2lUZXN0UmVxdWVzdBoSLm9tY2kuVGVzdFJlc3BvbnNlIiKC0+STAhwiFy9hcGkvdjEvc3RhcnRfb21jaV90ZXN0OgEqEoUBChRQdXRWb2lwU3lzdGVtUHJvZmlsZRItLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVm9pcFN5c3RlbVByb2ZpbGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiAiGy9hcGkvdjEvdm9pcF9zeXN0ZW1fcHJvZmlsZToBKhJwChdEZWxldGVWb2lwU3lzdGVtUHJvZmlsZRILLmNvbW1vbi5LZXkaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKiooL2FwaS92MS92b2lwX3N5c3RlbV9wcm9maWxlL3trZXl9L2RlbGV0ZRJ9ChJQdXRWb2lwVXNlclByb2ZpbGUSKS52b2lwX3VzZXJfcHJvZmlsZS5Wb2lwVXNlclByb2ZpbGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiSC0+STAh4iGS9hcGkvdjEvdm9pcF91c2VyX3Byb2ZpbGU6ASoSbAoVRGVsZXRlVm9pcFVzZXJQcm9maWxlEgsuY29tbW9uLktleRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoKiYvYXBpL3YxL3ZvaXBfdXNlcl9wcm9maWxlL3trZXl9L2RlbGV0ZRJaChBEaXNhYmxlT251RGV2aWNlEgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhwiGi9hcGkvdjEvZGlzYWJsZV9vbnVfZGV2aWNlElgKD0VuYWJsZU9udURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIhgtPkkwIbIhkvYXBpL3YxL2VuYWJsZV9vbnVfZGV2aWNlEnwKFkRpc2FibGVPbnVTZXJpYWxOdW1iZXISHy5kZXZpY2UuT251U2VyaWFsTnVtYmVyT25PTFRQb24aFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIyIhL2FwaS92MS9kaXNhYmxlX29udV9zZXJpYWxfbnVtYmVyEnoKFUVuYWJsZU9udVNlcmlhbE51bWJlchIfLmRldmljZS5PbnVTZXJpYWxOdW1iZXJPbk9MVFBvbhoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIogtPkkwIiIiAvYXBpL3YxL2VuYWJsZV9vbnVfc2VyaWFsX251bWJlchJbCgxVcGRhdGVEZXZpY2USFC5kZXZpY2UuVXBkYXRlRGV2aWNl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b3dfMTMucHJvdG8aG3ZvbHRoYV9wcm90b3MvYWRhcHRlci5wcm90bxoadm9sdGhhX3Byb3Rvcy9kZXZpY2UucHJvdG8aHnZvbHRoYV9wcm90b3MvZXh0ZW5zaW9ucy5wcm90bxoddm9sdGhhX3Byb3Rvcy9vbWNpX3Rlc3QucHJvdG8ibgoTQWRhcHRlclJlZ2lzdHJhdGlvbhIqCgdhZGFwdGVyGAEgASgLMhAuYWRhcHRlci5BZGFwdGVyUgdhZGFwdGVyEisKBmRUeXBlcxgCIAEoCzITLmRldmljZS5EZXZpY2VUeXBlc1IGZFR5cGVzIpIBChFDaGlsZERldmljZUZpbHRlchIbCglwYXJlbnRfaWQYASABKAlSCHBhcmVudElkEiMKDXNlcmlhbF9udW1iZXIYAiABKAlSDHNlcmlhbE51bWJlchIVCgZvbnVfaWQYAyABKA1SBW9udUlkEiQKDnBhcmVudF9wb3J0X25vGAQgASgNUgxwYXJlbnRQb3J0Tm8icQoKUG9ydEZpbHRlchIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhIKBHBvcnQYAiABKA1SBHBvcnQSMgoJcG9ydF90eXBlGAMgASgOMhUuZGV2aWNlLlBvcnQuUG9ydFR5cGVSCHBvcnRUeXBlIvgBCg9EZXZpY2VEaXNjb3ZlcnkSGwoJcGFyZW50X2lkGAEgASgJUghwYXJlbnRJZBIkCg5wYXJlbnRfcG9ydF9ubxgCIAEoDVIMcGFyZW50UG9ydE5vEioKEWNoaWxkX2RldmljZV90eXBlGAMgASgJUg9jaGlsZERldmljZVR5cGUSHQoKY2hhbm5lbF9pZBgEIAEoDVIJY2hhbm5lbElkEhsKCXZlbmRvcl9pZBgFIAEoCVIIdmVuZG9ySWQSIwoNc2VyaWFsX251bWJlchgGIAEoCVIMc2VyaWFsTnVtYmVyEhUKBm9udV9pZBgHIAEoDVIFb251SWQi0wEKEURldmljZVN0YXRlRmlsdGVyEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSKAoQcGFyZW50X2RldmljZV9pZBgCIAEoCVIOcGFyZW50RGV2aWNlSWQSOQoLb3Blcl9zdGF0dXMYAyABKA4yGC5jb21tb24uT3BlclN0YXR1cy5UeXBlc1IKb3BlclN0YXR1cxI8Cgtjb25uX3N0YXR1cxgEIAEoDjIbLmNvbW1vbi5Db25uZWN0U3RhdHVzLlR5cGVzUgpjb25uU3RhdHVzIrABCglQb3J0U3RhdGUSGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIyCglwb3J0X3R5cGUYAiABKA4yFS5kZXZpY2UuUG9ydC5Qb3J0VHlwZVIIcG9ydFR5cGUSFwoHcG9ydF9ubxgDIAEoDVIGcG9ydE5vEjkKC29wZXJfc3RhdHVzGAQgASgOMhguY29tbW9uLk9wZXJTdGF0dXMuVHlwZXNSCm9wZXJTdGF0dXMikwEKD1BvcnRTdGF0ZUZpbHRlchIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEigKEHBvcnRfdHlwZV9maWx0ZXIYAiABKA1SDnBvcnRUeXBlRmlsdGVyEjkKC29wZXJfc3RhdHVzGAQgASgOMhguY29tbW9uLk9wZXJTdGF0dXMuVHlwZXNSCm9wZXJTdGF0dXMiUwoIUGFja2V0SW4SGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBISCgRwb3J0GAIgASgNUgRwb3J0EhYKBnBhY2tldBgDIAEoDFIGcGFja2V0IoMBCglQYWNrZXRPdXQSGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIkCg5lZ3Jlc3NfcG9ydF9ubxgCIAEoDVIMZWdyZXNzUG9ydE5vEjMKBnBhY2tldBgDIAEoCzIbLm9wZW5mbG93XzEzLm9mcF9wYWNrZXRfb3V0UgZwYWNrZXQiQwoMRGV2aWNlUmVhc29uEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFgoGcmVhc29uGAIgASgJUgZyZWFzb24izgEKCUJ1bGtGbG93cxImCgZkZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgZkZXZpY2USKAoFZmxvd3MYAiABKAsyEi5vcGVuZmxvd18xMy5GbG93c1IFZmxvd3MSLwoGZ3JvdXBzGAMgASgLMhcub3BlbmZsb3dfMTMuRmxvd0dyb3Vwc1IGZ3JvdXBzEj4KDWZsb3dfbWV0YWRhdGEYBCABKAsyGS5vcGVuZmxvd18xMy5GbG93TWV0YWRhdGFSDGZsb3dNZXRhZGF0YSLhAQoQSW5jcmVtZW50YWxGbG93cxImCgZkZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgZkZXZpY2USLgoFZmxvd3MYAiABKAsyGC5vcGVuZmxvd18xMy5GbG93Q2hhbmdlc1IFZmxvd3MSNQoGZ3JvdXBzGAMgASgLMh0ub3BlbmZsb3dfMTMuRmxvd0dyb3VwQ2hhbmdlc1IGZ3JvdXBzEj4KDWZsb3dfbWV0YWRhdGEYBCABKAsyGS5vcGVuZmxvd18xMy5GbG93TWV0YWRhdGFSDGZsb3dNZXRhZGF0YSJeCg1QbUNvbmZpZ3NJbmZvEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSMAoKcG1fY29uZmlncxgCIAEoCzIRLmRldmljZS5QbUNvbmZpZ3NSCXBtQ29uZmlncyKIAQoQU3dpdGNoQ2FwYWJpbGl0eRIpCgRkZXNjGAEgASgLMhUub3BlbmZsb3dfMTMub2ZwX2Rlc2NSBGRlc2MSSQoPc3dpdGNoX2ZlYXR1cmVzGAIgASgLMiAub3BlbmZsb3dfMTMub2ZwX3N3aXRjaF9mZWF0dXJlc1IOc3dpdGNoRmVhdHVyZXMiawoUSW1hZ2VEb3dubG9hZE1lc3NhZ2USJgoGZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIGZGV2aWNlEisKBWltYWdlGAIgASgLMhUuZGV2aWNlLkltYWdlRG93bmxvYWRSBWltYWdlImMKCE9NQ0lUZXN0EiYKBmRldmljZRgBIAEoCzIOLmRldmljZS5EZXZpY2VSBmRldmljZRIvCgdyZXF1ZXN0GAIgASgLMhUub21jaS5PbWNpVGVzdFJlcXVlc3RSB3JlcXVlc3QidgoUU2ltdWxhdGVBbGFybU1lc3NhZ2USJgoGZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIGZGV2aWNlEjYKB3JlcXVlc3QYAiABKAsyHC5kZXZpY2UuU2ltdWxhdGVBbGFybVJlcXVlc3RSB3JlcXVlc3QitgEKEkdldEV4dFZhbHVlTWVzc2FnZRIzCg1wYXJlbnRfZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIMcGFyZW50RGV2aWNlEjEKDGNoaWxkX2RldmljZRgCIAEoCzIOLmRldmljZS5E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ZXZpY2USDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjkKD1JlY29uY2lsZURldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNgoMRGVsZXRlRGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI3Cg1EaXNhYmxlRGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI4Cg5SZUVuYWJsZURldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNgoMUmVib290RGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI4Cg5TZWxmVGVzdERldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQgoQR2V0T2ZwRGV2aWNlSW5mbxIOLmRldmljZS5EZXZpY2UaHi5jb3JlX2FkYXB0ZXIuU3dpdGNoQ2FwYWJpbGl0eRI5Cg9DaGlsZERldmljZUxvc3QSDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjIKCkVuYWJsZVBvcnQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRIzCgtEaXNhYmxlUG9ydBIMLmRldmljZS5Qb3J0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkIKD1VwZGF0ZUZsb3dzQnVsaxIXLmNvcmVfYWRhcHRlci5CdWxrRmxvd3MaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSUgoYVXBkYXRlRmxvd3NJbmNyZW1lbnRhbGx5Eh4uY29yZV9hZGFwdGVyLkluY3JlbWVudGFsRmxvd3MaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQAoNU2VuZFBhY2tldE91dBIXLmNvcmVfYWRhcHRlci5QYWNrZXRPdXQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRQoOVXBkYXRlUG1Db25maWcSGy5jb3JlX2FkYXB0ZXIuUG1Db25maWdzSW5mbxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJTChBEb3dubG9hZE9udUltYWdlEiIuZGV2aWNlLkRldmljZUltYWdlRG93bmxvYWRSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2USTAoRR2V0T251SW1hZ2VTdGF0dXMSGi5kZXZpY2UuRGV2aWNlSW1hZ2VSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2USTwoUQWJvcnRPbnVJbWFnZVVwZ3JhZGUSGi5kZXZpY2UuRGV2aWNlSW1hZ2VSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2USLQoMR2V0T251SW1hZ2VzEgouY29tbW9uLklEGhEuZGV2aWNlLk9udUltYWdlcxJLChBBY3RpdmF0ZU9udUltYWdlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlEkkKDkNvbW1pdE9udUltYWdlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlEk8KDURvd25sb2FkSW1hZ2USIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBElgKFkdldEltYWdlRG93bmxvYWRTdGF0dXMSIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBElUKE0NhbmNlbEltYWdlRG93bmxvYWQSIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBElUKE0FjdGl2YXRlSW1hZ2VVcGRhdGUSIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBElMKEVJldmVydEltYWdlVXBkYXRlEiIuY29yZV9hZGFwdGVyLkltYWdlRG93bmxvYWRNZXNzYWdlGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiA4gCARI7Cg1TdGFydE9tY2lUZXN0EhYuY29yZV9hZGFwdGVyLk9NQ0lUZXN0GhIub21jaS5UZXN0UmVzcG9uc2USSgoNU2ltdWxhdGVBbGFybRIiLmNvcmVfYWRhcHRlci5TaW11bGF0ZUFsYXJtTWVzc2FnZRoVLmNvbW1vbi5PcGVyYXRpb25SZXNwEjsKDVN1cHByZXNzRXZlbnQSEi5ldmVudC5FdmVudEZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI9Cg9VblN1cHByZXNzRXZlbnQSEi5ldmVudC5FdmVudEZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJICgtHZXRFeHRWYWx1ZRIgLmNvcmVfYWRhcHRlci5HZXRFeHRWYWx1ZU1lc3NhZ2UaFy5leHRlbnNpb24uUmV0dXJuVmFsdWVzEkcKC1NldEV4dFZhbHVlEiAuY29yZV9hZGFwdGVyLlNldEV4dFZhbHVlTWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJVCg5HZXRTaW5nbGVWYWx1ZRIgLmV4dGVuc2lvbi5TaW5nbGVHZXRWYWx1ZVJlcXVlc3QaIS5leHRlbnNpb24uU2luZ2xlR2V0VmFsdWVSZXNwb25zZRJVCg5TZXRTaW5nbGVWYWx1ZRIgLmV4dGVuc2lvbi5TaW5nbGVTZXRWYWx1ZVJlcXVlc3QaIS5leHRlbnNpb24uU2luZ2xlU2V0VmFsdWVSZXNwb25zZRI6ChBEaXNhYmxlT251RGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI5Cg9FbmFibGVPbnVEZXZpY2USDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElEKFkRpc2FibGVPbnVTZXJpYWxOdW1iZXISHy5kZXZpY2UuT251U2VyaWFsTnVtYmVyT25PTFRQb24aFi5nb29nbGUucHJvdG9idWYuRW1wdHkSUAoVRW5hYmxlT251U2VyaWFsTnVtYmVyEh8uZGV2aWNlLk9udVNlcmlhbE51bWJlck9uT0xUUG9uGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjwKDFVwZGF0ZURldmljZRIULmRldmljZS5VcGRhdGVEZXZpY2UaFi5nb29nbGUucHJv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BBIEHAQbBQoMCgUEAAIABhIDHAQJCgwKBQQAAgABEgMcChkKDAoFBAACAAMSAxwcHWIGcHJvdG8zCu0cCiF2b2x0aGFfcHJvdG9zL2NvcmVfc2VydmljZXMucHJvdG8SDGNvcmVfc2VydmljZRobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGiB2b2x0aGFfcHJvdG9zL2NvcmVfYWRhcHRlci5wcm90bxoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8aGnZvbHRoYV9wcm90b3MvZGV2aWNlLnByb3RvGhp2b2x0aGFfcHJvdG9zL2hlYWx0aC5wcm90bzL9CwoLQ29yZVNlcnZpY2USPwoPR2V0SGVhbHRoU3RhdHVzEhIuY29tbW9uLkNvbm5lY3Rpb24aFC5oZWFsdGguSGVhbHRoU3RhdHVzKAEwARJMCg9SZWdpc3RlckFkYXB0ZXISIS5jb3JlX2FkYXB0ZXIuQWRhcHRlclJlZ2lzdHJhdGlvbhoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI2CgxEZXZpY2VVcGRhdGUSDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjMKC1BvcnRDcmVhdGVkEgwuZGV2aWNlLlBvcnQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSQoQUG9ydHNTdGF0ZVVwZGF0ZRIdLmNvcmVfYWRhcHRlci5Qb3J0U3RhdGVGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNAoORGVsZXRlQWxsUG9ydHMSCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNwoNR2V0RGV2aWNlUG9ydBIYLmNvcmVfYWRhcHRlci5Qb3J0RmlsdGVyGgwuZGV2aWNlLlBvcnQSLAoPTGlzdERldmljZVBvcnRzEgouY29tbW9uLklEGg0uZGV2aWNlLlBvcnRzEkwKEURldmljZVN0YXRlVXBkYXRlEh8uY29yZV9hZGFwdGVyLkRldmljZVN0YXRlRmlsdGVyGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkEKFERldmljZVBNQ29uZmlnVXBkYXRlEhEuZGV2aWNlLlBtQ29uZmlncxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJEChNDaGlsZERldmljZURldGVjdGVkEh0uY29yZV9hZGFwdGVyLkRldmljZURpc2NvdmVyeRoOLmRldmljZS5EZXZpY2USNgoQQ2hpbGREZXZpY2VzTG9zdBIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI6ChRDaGlsZERldmljZXNEZXRlY3RlZBIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRInCglHZXREZXZpY2USCi5jb21tb24uSUQaDi5kZXZpY2UuRGV2aWNlEkEKDkdldENoaWxkRGV2aWNlEh8uY29yZV9hZGFwdGVyLkNoaWxkRGV2aWNlRmlsdGVyGg4uZGV2aWNlLkRldmljZRIuCg9HZXRDaGlsZERldmljZXMSCi5jb21tb24uSUQaDy5kZXZpY2UuRGV2aWNlcxI+CgxTZW5kUGFja2V0SW4SFi5jb3JlX2FkYXB0ZXIuUGFja2V0SW4aFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSAoSRGV2aWNlUmVhc29uVXBkYXRlEhouY29yZV9hZGFwdGVyLkRldmljZVJlYXNvbhoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJCCg9Qb3J0U3RhdGVVcGRhdGUSFy5jb3JlX2FkYXB0ZXIuUG9ydFN0YXRlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjsKFVJlY29uY2lsZUNoaWxkRGV2aWNlcxIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJNCh5HZXRDaGlsZERldmljZVdpdGhQcm94eUFkZHJlc3MSGy5kZXZpY2UuRGV2aWNlLlByb3h5QWRkcmVzcxoOLmRldmljZS5EZXZpY2USMwoIR2V0UG9ydHMSGC5jb3JlX2FkYXB0ZXIuUG9ydEZpbHRlchoNLmRldmljZS5Qb3J0cxJOChNDaGlsZHJlblN0YXRlVXBkYXRlEh8uY29yZV9hZGFwdGVyLkRldmljZVN0YXRlRmlsdGVyGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKE1VwZGF0ZUltYWdlRG93bmxvYWQSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUJrCiBvcmcu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FQESAysMFAoMCgUGAAIVAhIDKxYtCgwKBQYAAhUDEgMrOEQKCwoEBgACFhIDLAhhCgwKBQYAAhYBEgMsDB8KDAoFBgACFgISAywhPwoMCgUGAAIWAxIDLEpfCgsKBAYAAhcSAy0IVwoMCgUGAAIXARIDLQwfCgwKBQYAAhcCEgMtITUKDAoFBgACFwMSAy1AVWIGcHJvdG8zCrwYCiN2b2x0aGFfcHJvdG9zL2lldGZfaW50ZXJmYWNlcy5wcm90bxIEaWV0ZiJECgpJbnRlcmZhY2VzEjYKDmFsbF9pbnRlcmZhY2VzGAEgAygLMg8uaWV0Zi5JbnRlcmZhY2VSDWFsbEludGVyZmFjZXMikgIKCUludGVyZmFjZRISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAMgASgJUgR0eXBlEhgKB2VuYWJsZWQYBCABKAhSB2VuYWJsZWQSYAoYbGlua191cF9kb3duX3RyYXBfZW5hYmxlGAUgASgOMiguaWV0Zi5JbnRlcmZhY2UuTGlua1VwRG93blRyYXBFbmFibGVUeXBlUhRsaW5rVXBEb3duVHJhcEVuYWJsZSI/ChhMaW5rVXBEb3duVHJhcEVuYWJsZVR5cGUSEQoNVFJBUF9ESVNBQkxFRBAAEhAKDFRSQVBfRU5BQkxFRBABIkwKD0ludGVyZmFjZXNTdGF0ZRI5Cg1hbGxfaW50ZXJmYWNzGAEgAygLMhQuaWV0Zi5JbnRlcmZhY2VTdGF0ZVIMYWxsSW50ZXJmYWNzIsAECg5JbnRlcmZhY2VTdGF0ZRISCgRuYW1lGAEgASgJUgRuYW1lEhIKBHR5cGUYAiABKAlSBHR5cGUSRwoMYWRtaW5fc3RhdHVzGAMgASgOMiQuaWV0Zi5JbnRlcmZhY2VTdGF0ZS5BZG1pblN0YXR1c1R5cGVSC2FkbWluU3RhdHVzEkQKC29wZXJfc3RhdHVzGAQgASgOMiMuaWV0Zi5JbnRlcmZhY2VTdGF0ZS5PcGVyU3RhdHVzVHlwZVIKb3BlclN0YXR1cxIfCgtsYXN0X2NoYW5nZRgFIAEoCVIKbGFzdENoYW5nZRIZCghpZl9pbmRleBgGIAEoBVIHaWZJbmRleBIhCgxwaHlzX2FkZHJl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U2NoZWR1bGluZ1BvbGljeVILc2NoZWRQb2xpY3kiuAEKElRyYWZmaWNTaGFwaW5nSW5mbxIQCgNjaXIYASABKAdSA2NpchIQCgNjYnMYAiABKAdSA2NicxIQCgNwaXIYAyABKAdSA3BpchIQCgNwYnMYBCABKAdSA3BicxIQCgNnaXIYBSABKAdSA2dpchJICgphZGRfYndfaW5kGAYgASgOMioudGVjaF9wcm9maWxlLkluZmVycmVkQWRkaXRpb25CV0luZGljYXRpb25SCGFkZEJ3SW5kIp0CChBUcmFmZmljU2NoZWR1bGVyEjUKCWRpcmVjdGlvbhgBIAEoDjIXLnRlY2hfcHJvZmlsZS5EaXJlY3Rpb25SCWRpcmVjdGlvbhIZCghhbGxvY19pZBgCIAEoB1IHYWxsb2NJZBI7CglzY2hlZHVsZXIYAyABKAsyHS50ZWNoX3Byb2ZpbGUuU2NoZWR1bGVyQ29uZmlnUglzY2hlZHVsZXISUgoUdHJhZmZpY19zaGFwaW5nX2luZm8YBCABKAsyIC50ZWNoX3Byb2ZpbGUuVHJhZmZpY1NoYXBpbmdJbmZvUhJ0cmFmZmljU2hhcGluZ0luZm8SJgoPdGVjaF9wcm9maWxlX2lkGAUgASgHUg10ZWNoUHJvZmlsZUlkIroBChFUcmFmZmljU2NoZWR1bGVycxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIVCgZ1bmlfaWQYBCABKAdSBXVuaUlkEhcKB3BvcnRfbm8YBSABKAdSBnBvcnRObxJFCg50cmFmZmljX3NjaGVkcxgDIAMoCzIeLnRlY2hfcHJvZmlsZS5UcmFmZmljU2NoZWR1bGVyUg10cmFmZmljU2NoZWRzIjYKFVRhaWxEcm9wRGlzY2FyZENvbmZpZxIdCgpxdWV1ZV9zaXplGAEgASgHUglxdWV1ZVNpemUihQEKEFJlZERpc2NhcmRDb25maWcSIwoNbWluX3RocmVzaG9sZBgBIAEoB1IMbWluVGhyZXNob2xkEiMKDW1heF90aHJlc2hvbGQYAiABKAdSDG1heFRocmVzaG9sZBInCg9tYXhfcHJvYmFiaWxpdHkYAyABKAdSDm1heFByb2JhYmlsaXR5IrMBChFXUmVkRGlzY2FyZENvbmZpZxI0CgVncmVlbhgBIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUgVncmVlbhI2CgZ5ZWxsb3cYAiABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ1IGeWVsbG93EjAKA3JlZBgDIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUgNyZWQi6AIKDURpc2NhcmRDb25maWcSQgoOZGlzY2FyZF9wb2xpY3kYASABKA4yGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZFBvbGljeVINZGlzY2FyZFBvbGljeRJeChh0YWlsX2Ryb3BfZGlzY2FyZF9jb25maWcYAiABKAsyIy50ZWNoX3Byb2ZpbGUuVGFpbERyb3BEaXNjYXJkQ29uZmlnSABSFXRhaWxEcm9wRGlzY2FyZENvbmZpZxJOChJyZWRfZGlzY2FyZF9jb25maWcYAyABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ0gAUhByZWREaXNjYXJkQ29uZmlnElEKE3dyZWRfZGlzY2FyZF9jb25maWcYBCABKAsyHy50ZWNoX3Byb2ZpbGUuV1JlZERpc2NhcmRDb25maWdIAFIRd3JlZERpc2NhcmRDb25maWdCEAoOZGlzY2FyZF9jb25maWcipQMKDFRyYWZmaWNRdWV1ZRI1CglkaXJlY3Rpb24YASABKA4yFy50ZWNoX3Byb2ZpbGUuRGlyZWN0aW9uUglkaXJlY3Rpb24SHQoKZ2VtcG9ydF9pZBgCIAEoB1IJZ2VtcG9ydElkEhkKCHBiaXRfbWFwGAMgASgJUgdwYml0TWFwEiUKDmFlc19lbmNyeXB0aW9uGAQgASgIUg1hZXNFbmNyeXB0aW9uEkEKDHNjaGVkX3BvbGljeRgFIAEoDjIeLnRlY2hfcHJvZmlsZS5TY2hlZHVsaW5nUG9saWN5UgtzY2hlZFBvbGljeRIaCghwcmlvcml0eRgGIAEoB1IIcHJpb3JpdHkSFgoGd2VpZ2h0GAcgASgHUgZ3ZWlnaHQSQgoOZGlzY2FyZF9wb2xpY3kYCCABKA4yGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZFBvbGljeVINZGlzY2FyZFBvbGljeRJCCg5kaXNjYXJkX2NvbmZpZxgJIAEoCzIbLnRlY2hfcHJvZmlsZS5EaXNjYXJkQ29uZmlnUg1kaXNjYXJkQ29uZmlnIoICCg1UcmFmZmljUXVldWVzEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhUKBnVuaV9pZBgEIAEoB1IFdW5pSWQSFwoHcG9ydF9ubxgFIAEoB1IGcG9ydE5vEkEKDnRyYWZmaWNfcXVldWVzGAYgAygLMhoudGVjaF9wcm9maWxlLlRyYWZmaWNRdWV1ZVINdHJhZmZpY1F1ZXVlcxImCg90ZWNoX3Byb2ZpbGVfaWQYByABKAdSDXRlY2hQcm9maWxlSWQSJgoPbmV0d29ya19pbnRmX2lkGAggASgHUg1uZXR3b3JrSW50ZklkImYKD0luc3RhbmNlQ29udHJvbBIQCgNvbnUYASABKAlSA29udRIQCgN1bmkYAiABKAlSA3VuaRIvChRtYXhfZ2VtX3BheWxvYWRfc2l6ZRgDIAEoCVIRbWF4R2VtUGF5bG9hZFNpemUiggIKC1FUaHJlc2hvbGRzEiEKDHFfdGhyZXNob2xkMRgBIAEoDVILcVRocmVzaG9sZDESIQoMcV90aHJlc2hvbGQyGAIgASgNUgtxVGhyZXNob2xkMhIhCgxxX3RocmVzaG9sZDMYAyABKA1SC3FUaHJlc2hvbGQzEiEKDHFfdGhyZXNob2xkNBgEIAEoDVILcVRocmVzaG9sZDQSIQoMcV90aHJlc2hvbGQ1GAUgASgNUgtxVGhyZXNob2xkNRIhCgxxX3RocmVzaG9sZDYYBiABKA1SC3FUaHJlc2hvbGQ2EiEKDHFfdGhyZXNob2xkNxgHIAEoDVILcVRocmVzaG9sZDciswUKEUdlbVBvcnRBdHRyaWJ1dGVzEh0KCmdlbXBvcnRfaWQYASABKAdSCWdlbXBvcnRJZBIcCgptYXhfcV9zaXplGAIgASgJUghtYXhRU2l6ZRIZCghwYml0X21hcBgDIAEoCVIHcGJpdE1hcBIlCg5hZXNfZW5jcnlwdGlvbhgEIAEoCVINYWVzRW5jcnlwdGlvbhJLChFzY2hlZHVsaW5nX3BvbGljeRgFIAEoDjIeLnRlY2hfcHJvZmlsZS5TY2hlZHVsaW5nUG9saWN5UhBzY2hlZHVsaW5nUG9saWN5Eh0KCnByaW9yaXR5X3EYBiABKAdSCXByaW9yaXR5URIWCgZ3ZWlnaHQYByABKAdSBndlaWdodBJCCg5kaXNjYXJkX3BvbGljeRgIIAEoDjIbLnRlY2hfcHJvZmlsZS5EaXNjYXJkUG9saWN5Ug1kaXNjYXJkUG9saWN5EkUKDmRpc2NhcmRfY29uZmlnGAkgASgLMh4udGVjaF9wcm9maWxlLlJlZERpc2NhcmRDb25maWdSDWRpc2NhcmRDb25maWcSRwoRZGlzY2FyZF9jb25maWdfdjIYDiABKAsyGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZENvbmZpZ1IPZGlzY2FyZENvbmZpZ1YyEiEKDGlzX211bHRpY2FzdBgKIAEoCVILaXNNdWx0aWNhc3QSKAoQbXVsdGljYXN0X2dlbV9pZBgLIAEoB1IObXVsdGljYXN0R2VtSWQSPQobZHluYW1pY19hY2Nlc3NfY29udHJvbF9saXN0GAwgASgJUhhkeW5hbWljQWNjZXNzQ29udHJvbExpc3QSOwoac3RhdGljX2FjY2Vzc19jb250cm9sX2xpc3QYDSABKAlSF3N0YXRpY0FjY2Vzc0NvbnRyb2xMaXN0IqICChNTY2hlZHVsZXJBdHRyaWJ1dGVzEjUKCWRpcmVjdGlvbhgBIAEoDjIXLnRlY2hfcHJvZmlsZS5EaXJlY3Rpb25SCWRpcmVjdGlvbhIZCghhbGxvY19pZBgCIAEoDVIHYWxsb2NJZBI/Cg1hZGRpdGlvbmFsX2J3GAMgASgOMhoudGVjaF9wcm9maWxlLkFkZGl0aW9uYWxCV1IMYWRkaXRpb25hbEJ3EhoKCHByaW9yaXR5GAQgASgHUghwcmlvcml0eRIWCgZ3ZWlnaHQYBSABKAdSBndlaWdodBJECg5xX3NjaGVkX3BvbGljeRgGIAEoDjIeLnRlY2hfcHJvZmlsZS5TY2hlZHVsaW5nUG9saWN5UgxxU2NoZWRQb2xpY3kiwAYKE0VQT05RdWV1ZUF0dHJpYnV0ZXMSHAoKbWF4X3Ffc2l6ZRgBIAEoCVIIbWF4UVNpemUSGQoIcGJpdF9tYXAYAiABKAlSB3BiaXRNYXASHQoKZ2VtcG9ydF9pZBgDIAEoDVIJZ2VtcG9ydElkEiUKDmFlc19lbmNyeXB0aW9uGAQgASgJUg1hZXNFbmNyeXB0aW9uEiEKDHRyYWZmaWNfdHlwZRgFIAEoCVILdHJhZmZpY1R5cGUSNAoWdW5zb2xpY2l0ZWRfZ3JhbnRfc2l6ZRgGIAEoDVIUdW5zb2xpY2l0ZWRHcmFudFNpemUSKQoQbm9taW5hbF9pbnRlcnZhbBgHIAEoDVIPbm9taW5hbEludGVydmFsEjIKFXRvbGVyYXRlZF9wb2xsX2ppdHRlchgIIAEoDVITdG9sZXJhdGVkUG9sbEppdHRlchI+ChtyZXF1ZXN0X3RyYW5zbWlzc2lvbl9wb2xpY3kYCSABKA1SGXJlcXVlc3RUcmFuc21pc3Npb25Qb2xpY3kSHAoKbnVtX3Ffc2V0cxgKIAEoDVIIbnVtUVNldHMSPAoMcV90aHJlc2hvbGRzGAsgASgLMhkudGVjaF9wcm9maWxlLlFUaHJlc2hvbGRzUgtxVGhyZXNob2xkcxJLChFzY2hlZHVsaW5nX3BvbGljeRgMIAEoDjIeLnRlY2hfcHJvZmlsZS5TY2hlZHVsaW5nUG9saWN5UhBzY2hlZHVsaW5nUG9saWN5Eh0KCnByaW9yaXR5X3EYDSABKA1SCXByaW9yaXR5URIWCgZ3ZWlnaHQYDiABKA1SBndlaWdodBJCCg5kaXNjYXJkX3BvbGljeRgPIAEoDjIbLnRlY2hfcHJvZmlsZS5EaXNjYXJkUG9saWN5Ug1kaXNjYXJkUG9saWN5EkUKDmRpc2NhcmRfY29uZmlnGBAgASgLMh4udGVjaF9wcm9maWxlLlJlZERpc2NhcmRDb25maWdSDWRpc2NhcmRDb25maWcSRwoRZGlzY2FyZF9jb25maWdfdjIYESABKAsyGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZENvbmZpZ1IPZGlzY2FyZENvbmZpZ1YyIq4ECgtUZWNoUHJvZmlsZRISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3ZlcnNpb24YAiABKA1SB3ZlcnNpb24SIQoMcHJvZmlsZV90eXBlGAMgASgJUgtwcm9maWxlVHlwZRIiCg1udW1fZ2VtX3BvcnRzGAQgASgNUgtudW1HZW1Qb3J0cxJIChBpbnN0YW5jZV9jb250cm9sGAUgASgLMh0udGVjaF9wcm9maWxlLkluc3RhbmNlQ29udHJvbFIPaW5zdGFuY2VDb250cm9sEkQKDHVzX3NjaGVkdWxlchgGIAEoCzIhLnRlY2hfcHJvZmlsZS5TY2hlZHVsZXJBdHRyaWJ1dGVzUgt1c1NjaGVkdWxlchJECgxkc19zY2hlZHVsZXIYByABKAsyIS50ZWNoX3Byb2ZpbGUuU2NoZWR1bGVyQXR0cmlidXRlc1ILZHNTY2hlZHVsZXISZwogdXBzdHJlYW1fZ2VtX3BvcnRfYXR0cmlidXRlX2xpc3QYCCADKAsyHy50ZWNoX3Byb2ZpbGUuR2VtUG9ydEF0dHJpYnV0ZXNSHHVwc3RyZWFtR2VtUG9ydEF0dHJpYnV0ZUxpc3QSawoiZG93bnN0cmVhbV9nZW1fcG9ydF9hdHRyaWJ1dGVfbGlzdBgJIAMoCzIfLnRlY2hfcHJvZmlsZS5HZW1Qb3J0QXR0cmlidXRlc1IeZG93bnN0cmVhbUdlbVBvcnRBdHRyaWJ1dGVMaXN0IsMDCg9FcG9uVGVjaFByb2ZpbGUSEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgd2ZXJzaW9uGAIgASgNUgd2ZXJzaW9uEiEKDHByb2ZpbGVfdHlwZRgDIAEoCVILcHJvZmlsZVR5cGUSIgoNbnVtX2dlbV9wb3J0cxgEIAEoDVILbnVtR2VtUG9ydHMSSAoQaW5zdGFuY2VfY29udHJvbBgFIAEoCzIdLnRlY2hfcHJvZmlsZS5JbnN0YW5jZUNvbnRyb2xSD2luc3RhbmNlQ29udHJvbBIhCgxwYWNrYWdlX3R5cGUYBiABKAlSC3BhY2thZ2VUeXBlEmQKHXVwc3RyZWFtX3F1ZXVlX2F0dHJpYnV0ZV9saXN0GAcgAygLMiEudGVjaF9wcm9maWxlLkVQT05RdWV1ZUF0dHJpYnV0ZXNSGnVwc3RyZWFtUXVldWVBdHRyaWJ1dGVMaXN0EmgKH2Rvd25zdHJlYW1fcXVldWVfYXR0cmlidXRlX2xpc3QYCCADKAsyIS50ZWNoX3Byb2ZpbGUuRVBPTlF1ZXVlQXR0cmlidXRlc1IcZG93bnN0cmVhbVF1ZXVlQXR0cmlidXRlTGlzdCLrBAoTVGVjaFByb2ZpbGVJbnN0YW5jZRISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3ZlcnNpb24YAiABKA1SB3ZlcnNpb24SMwoVc3Vic2NyaWJlcl9pZGVudGlmaWVyGAMgASgJUhRzdWJzY3JpYmVySWRlbnRpZmllchIhCgxwcm9maWxlX3R5cGUYBCABKAlSC3Byb2ZpbGVUeXBlEiIKDW51bV9nZW1fcG9ydHMYBSABKA1SC251bUdlbVBvcnRzEkgKEGluc3RhbmNlX2NvbnRyb2wYBiABKAsyHS50ZWNoX3Byb2ZpbGUuSW5zdGFuY2VDb250cm9sUg9pbnN0YW5jZUNvbnRyb2wSRAoMdXNfc2NoZWR1bGVyGAcgASgLMiEudGVjaF9wcm9maWxlLlNjaGVkdWxlckF0dHJpYnV0ZXNSC3VzU2NoZWR1bGVyEkQKDGRzX3NjaGVkdWxlchgIIAEoCzIhLnRlY2hfcHJvZmlsZS5TY2hlZHVsZXJBdHRyaWJ1dGVzUgtkc1NjaGVkdWxlchJnCiB1cHN0cmVhbV9nZW1fcG9ydF9hdHRyaWJ1dGVfbGlzdBgJIAMoCzIfLnRlY2hfcHJvZmlsZS5HZW1Qb3J0QXR0cmlidXRlc1IcdXBzdHJlYW1HZW1Qb3J0QXR0cmlidXRlTGlzdBJrCiJkb3duc3RyZWFtX2dlbV9wb3J0X2F0dHJpYnV0ZV9saXN0GAogAygLMh8udGVjaF9wcm9maWxlLkdlbVBvcnRBdHRyaWJ1dGVzUh5kb3duc3RyZWFtR2VtUG9ydEF0dHJpYnV0ZUxpc3QimwQKF0Vwb25UZWNoUHJvZmlsZUluc3RhbmNlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoDVIHdmVyc2lvbhIzChVzdWJzY3JpYmVyX2lkZW50aWZpZXIYAyABKAlSFHN1YnNjcmliZXJJZGVudGlmaWVyEiEKDHByb2ZpbGVfdHlwZRgEIAEoCVILcHJvZmlsZVR5cGUSIgoNbnVtX2dlbV9wb3J0cxgFIAEoDVILbnVtR2VtUG9ydHMSGQoIYWxsb2NfaWQYBiABKA1SB2FsbG9jSWQSSAoQaW5zdGFuY2VfY29udHJvbBgHIAEoCzIdLnRlY2hfcHJvZmlsZS5JbnN0YW5jZUNvbnRyb2xSD2luc3RhbmNlQ29udHJvbBIhCgxwYWNrYWdlX3R5cGUYCCABKAlSC3BhY2thZ2VUeXBlEmQKHXVwc3RyZWFtX3F1ZXVlX2F0dHJpYnV0ZV9saXN0GAkgAygLMiEudGVjaF9wcm9maWxlLkVQT05RdWV1ZUF0dHJpYnV0ZXNSGnVwc3RyZWFtUXVldWVBdHRyaWJ1dGVMaXN0EmgKH2Rvd25zdHJlYW1fcXVldWVfYXR0cmlidXRlX2xpc3QYCiADKAsyIS50ZWNoX3Byb2ZpbGUuRVBPTlF1ZXVlQXR0cmlidXRlc1IcZG93bnN0cmVhbVF1ZXVlQXR0cmlidXRlTGlzdCK7AQoQUmVzb3VyY2VJbnN0YW5jZRITCgV0cF9pZBgBIAEoDVIEdHBJZBIhCgxwcm9maWxlX3R5cGUYAiABKAlSC3Byb2ZpbGVUeXBlEjMKFXN1YnNjcmliZXJfaWRlbnRpZmllchgDIAEoCVIUc3Vic2NyaWJlcklkZW50aWZpZXISGQoIYWxsb2NfaWQYBCABKA1SB2FsbG9jSWQSHwoLZ2VtcG9ydF9pZHMYBSADKA1SCmdlbXBvcnRJZHMqPAoJRGlyZWN0aW9uEgwKCFVQU1RSRUFNEAASDgoKRE9XTlNUUkVBTRABEhEKDUJJRElSRUNUSU9OQUwQAio7ChBTY2hlZHVsaW5nUG9saWN5EgcKA1dSUhAAEhIKDlN0cmljdFByaW9yaXR5EAESCgoGSHlicmlkEAIqbgoMQWRkaXRpb25hbEJXEhUKEUFkZGl0aW9uYWxCV19Ob25lEAASEwoPQWRkaXRpb25hbEJXX05BEAESGwoXQWRkaXRpb25hbEJXX0Jlc3RFZmZvcnQQAhIVChFBZGRpdGlvbmFsQldfQXV0bxADKj8KDURpc2NhcmRQb2xpY3kSDAoIVGFpbERyb3AQABINCglXVGFpbERyb3AQARIHCgNSZWQQAhIICgRXUmVkEAMqnAEKHEluZmVycmVkQWRkaXRpb25CV0luZGljYXRpb24SJQohSW5mZXJyZWRBZGRpdGlvbkJXSW5kaWNhdGlvbl9Ob25lEAASKAokSW5mZXJyZWRBZGRpdGlvbkJXSW5kaWNhdGlvbl9Bc3N1cmVkEAESKwonSW5mZXJyZWRBZGRpdGlvbkJXSW5kaWNhdGlvbl9CZXN0RWZmb3J0EAJCWAogb3JnLm9wZW5jb3JkLnZvbHRoYS50ZWNoX3Byb2ZpbGVaNGdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rv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bkgAUgZvbnVJbmQSNAoIb21jaV9pbmQYBiABKAsyFy5vcGVub2x0Lk9tY2lJbmRpY2F0aW9uSABSB29tY2lJbmQSNAoHcGt0X2luZBgHIAEoCzIZLm9wZW5vbHQuUGFja2V0SW5kaWNhdGlvbkgAUgZwa3RJbmQSNwoKcG9ydF9zdGF0cxgIIAEoCzIWLmNvbW1vbi5Qb3J0U3RhdGlzdGljc0gAUglwb3J0U3RhdHMSOAoKZmxvd19zdGF0cxgJIAEoCzIXLm9wZW5vbHQuRmxvd1N0YXRpc3RpY3NIAFIJZmxvd1N0YXRzEjcKCWFsYXJtX2luZBgKIAEoCzIYLm9wZW5vbHQuQWxhcm1JbmRpY2F0aW9uSABSCGFsYXJtSW5kEkoKEG9udV9kaXNhYmxlZF9pbmQYCyABKAsyHi5vcGVub2x0Lk9udURpc2FibGVkSW5kaWNhdGlvbkgAUg5vbnVEaXNhYmxlZEluZBJHCg9vbnVfZW5hYmxlZF9pbmQYDCABKAsyHS5vcGVub2x0Lk9udUVuYWJsZWRJbmRpY2F0aW9uSABSDW9udUVuYWJsZWRJbmRCBgoEZGF0YSLrDQoPQWxhcm1JbmRpY2F0aW9uEjEKB2xvc19pbmQYASABKAsyFi5vcGVub2x0Lkxvc0luZGljYXRpb25IAFIGbG9zSW5kEkQKDmR5aW5nX2dhc3BfaW5kGAIgASgLMhwub3Blbm9sdC5EeWluZ0dhc3BJbmRpY2F0aW9uSABSDGR5aW5nR2FzcEluZBJBCg1vbnVfYWxhcm1faW5kGAMgASgLMhsub3Blbm9sdC5PbnVBbGFybUluZGljYXRpb25IAFILb251QWxhcm1JbmQSVwoUb251X3N0YXJ0dXBfZmFpbF9pbmQYBCABKAsyJC5vcGVub2x0Lk9udVN0YXJ0dXBGYWlsdXJlSW5kaWNhdGlvbkgAUhFvbnVTdGFydHVwRmFpbEluZBJaChZvbnVfc2lnbmFsX2RlZ3JhZGVfaW5kGAUgASgLMiMub3Blbm9sdC5PbnVTaWduYWxEZWdyYWRlSW5kaWNhdGlvbkgAUhNvbnVTaWduYWxEZWdyYWRlSW5kElsKF29udV9kcmlmdF9vZl93aW5kb3dfaW5kGAYgASgLMiMub3Blbm9sdC5PbnVEcmlmdE9mV2luZG93SW5kaWNhdGlvbkgAUhNvbnVEcmlmdE9mV2luZG93SW5kElQKEW9udV9sb3NzX29tY2lfaW5kGAcgASgLMicub3Blbm9sdC5PbnVMb3NzT2ZPbWNpQ2hhbm5lbEluZGljYXRpb25IAFIOb251TG9zc09tY2lJbmQSVwoUb251X3NpZ25hbHNfZmFpbF9pbmQYCCABKAsyJC5vcGVub2x0Lk9udVNpZ25hbHNGYWlsdXJlSW5kaWNhdGlvbkgAUhFvbnVTaWduYWxzRmFpbEluZBJPCgxvbnVfdGl3aV9pbmQYCSABKAsyKy5vcGVub2x0Lk9udVRyYW5zbWlzc2lvbkludGVyZmVyZW5jZVdhcm5pbmdIAFIKb251VGl3aUluZBJgChdvbnVfYWN0aXZhdGlvbl9mYWlsX2luZBgKIAEoCzInLm9wZW5vbHQuT251QWN0aXZhdGlvbkZhaWx1cmVJbmRpY2F0aW9uSABSFG9udUFjdGl2YXRpb25GYWlsSW5kEmAKGG9udV9wcm9jZXNzaW5nX2Vycm9yX2luZBgLIAEoCzIlLm9wZW5vbHQuT251UHJvY2Vzc2luZ0Vycm9ySW5kaWNhdGlvbkgAUhVvbnVQcm9jZXNzaW5nRXJyb3JJbmQSZQoZb251X2xvc3Nfb2Zfc3luY19mYWlsX2luZBgMIAEoCzIqLm9wZW5vbHQuT251TG9zc09mS2V5U3luY0ZhaWx1cmVJbmRpY2F0aW9uSABSFG9udUxvc3NPZlN5bmNGYWlsSW5kElUKFW9udV9pdHVfcG9uX3N0YXRzX2luZBgNIAEoCzIhLm9wZW5vbHQuT251SXR1UG9uU3RhdHNJbmRpY2F0aW9uSABSEW9udUl0dVBvblN0YXRzSW5kEmwKHG9udV9kZWFjdGl2YXRpb25fZmFpbHVyZV9pbmQYDiABKAsyKS5vcGVub2x0Lk9udURlYWN0aXZhdGlvbkZhaWx1cmVJbmRpY2F0aW9uSABSGW9udURlYWN0aXZhdGlvbkZhaWx1cmVJbmQSVwoVb251X3JlbW90ZV9kZWZlY3RfaW5kGA8gASgLMiIub3Blbm9sdC5PbnVSZW1vdGVEZWZlY3RJbmRpY2F0aW9uSABSEm9udVJlbW90ZURlZmVjdEluZBJzChxvbnVfbG9zc19nZW1fZGVsaW5lYXRpb25faW5kGBAgASgLMjEub3Blbm9sdC5PbnVMb3NzT2ZHRU1DaGFubmVsRGVsaW5lYXRpb25JbmRpY2F0aW9uSABSGG9udUxvc3NHZW1EZWxpbmVhdGlvbkluZBJ2CiBvbnVfcGh5c2ljYWxfZXF1aXBtZW50X2Vycm9yX2luZBgRIAEoCzIsLm9wZW5vbHQuT251UGh5c2ljYWxFcXVpcG1lbnRFcnJvckluZGljYXRpb25IAFIcb251UGh5c2ljYWxFcXVpcG1lbnRFcnJvckluZBJbChNvbnVfbG9zc19vZl9hY2tfaW5kGBIgASgLMisub3Blbm9sdC5PbnVMb3NzT2ZBY2tub3dsZWRnZW1lbnRJbmRpY2F0aW9uSABSD29udUxvc3NPZkFja0luZBJvChtvbnVfZGlmZl9yZWFjaF9leGNlZWRlZF9pbmQYEyABKAsyLy5vcGVub2x0Lk9udURpZmZlcmVudGlhbFJlYWNoRXhjZWVkZWRJbmRpY2F0aW9uSABSF29udURpZmZSZWFjaEV4Y2VlZGVkSW5kQgYKBGRhdGEiLgoNT2x0SW5kaWNhdGlvbhIdCgpvcGVyX3N0YXRlGAEgASgJUglvcGVyU3RhdGUiSAoOSW50ZkluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEh0KCm9wZXJfc3RhdGUYAiABKAlSCW9wZXJTdGF0ZSJoChFPbnVEaXNjSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSOgoNc2VyaWFsX251bWJlchgCIAEoCzIVLm9wZW5vbHQuU2VyaWFsTnVtYmVyUgxzZXJpYWxOdW1iZXIikwQKDU9udUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSHQoKb3Blcl9zdGF0ZRgDIAEoCVIJb3BlclN0YXRlEh8KC2FkbWluX3N0YXRlGAUgASgJUgphZG1pblN0YXRlEjoKDXNlcmlhbF9udW1iZXIYBCABKAsyFS5vcGVub2x0LlNlcmlhbE51bWJlclIMc2VyaWFsTnVtYmVyEkwKC2ZhaWxfcmVhc29uGAYgASgOMisub3Blbm9sdC5PbnVJbmRpY2F0aW9uLkFjdGl2YXRpb25GYWlsUmVhc29uUgpmYWlsUmVhc29uIocCChRBY3RpdmF0aW9uRmFpbFJlYXNvbhIjCh9PTlVfQUNUSVZBVElPTl9GQUlMX1JFQVNPTl9OT05FEAASJgoiT05VX0FDVElWQVRJT05fRkFJTF9SRUFTT05fUkFOR0lORxABEjYKMk9OVV9BQ1RJVkFUSU9OX0ZBSUxfUkVBU09OX1BBU1NXT1JEX0FVVEhFTlRJQ0FUSU9OEAISIgoeT05VX0FDVElWQVRJT05fRkFJTF9SRUFTT05fTE9TEAMSIQodT05VX0FDVElWQVRJT05fRkFJTF9PTlVfQUxBUk0QBBIjCh9PTlVfQUNUSVZBVElPTl9GQUlMX1NXSVRDSF9PVkVSEAUigwEKFU9udURpc2FibGVkSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBI6Cg1zZXJpYWxfbnVtYmVyGAQgASgLMhUub3Blbm9sdC5TZXJpYWxOdW1iZXJSDHNlcmlhbE51bWJlciKCAQoUT251RW5hYmxlZEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSOgoNc2VyaWFsX251bWJlchgEIAEoCzIVLm9wZW5vbHQuU2VyaWFsTnVtYmVyUgxzZXJpYWxOdW1iZXIiggQKEkludGZPcGVySW5kaWNhdGlvbhISCgR0eXBlGAEgASgJUgR0eXBlEhcKB2ludGZfaWQYAiABKAdSBmludGZJZBIdCgpvcGVyX3N0YXRlGAMgASgJUglvcGVyU3RhdGUSFAoFc3BlZWQYBCABKAdSBXNwZWVkEh4KCnRlY2hub2xvZ3kYBSABKAlSCnRlY2hub2xvZ3kSRQoGcmFuZ2VzGAYgASgLMi0ub3Blbm9sdC5JbnRmT3BlckluZGljYXRpb24uUE9OUmVzb3VyY2VSYW5nZXNSBnJhbmdlcxqiAgoRUE9OUmVzb3VyY2VSYW5nZXMSSAoFcG9vbHMYAyADKAsyMi5vcGVub2x0LkludGZPcGVySW5kaWNhdGlvbi5QT05SZXNvdXJjZVJhbmdlcy5Qb29sUgVwb29scxrCAQoEUG9vbBJPCgR0eXBlGAEgASgOMjsub3Blbm9sdC5JbnRmT3BlckluZGljYXRpb24uUE9OUmVzb3VyY2VSYW5nZXMuUG9vbC5Qb29sVHlwZVIEdHlwZRIUCgVzdGFydBgDIAEoB1IFc3RhcnQSEAoDZW5kGAQgASgHUgNlbmQiQQoIUG9vbFR5cGUSCgoGT05VX0lEEAASDAoIQUxMT0NfSUQQARIOCgpHRU1QT1JUX0lEEAISCwoHRkxPV19JRBADIlIKDk9tY2lJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhAKA3BrdBgDIAEoDFIDcGt0IvEBChBQYWNrZXRJbmRpY2F0aW9uEhsKCWludGZfdHlwZRgFIAEoCVIIaW50ZlR5cGUSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgIIAEoB1IFb251SWQSFQoGdW5pX2lkGAkgASgHUgV1bmlJZBIdCgpnZW1wb3J0X2lkGAIgASgHUglnZW1wb3J0SWQSFwoHZmxvd19pZBgDIAEoB1IGZmxvd0lkEhcKB3BvcnRfbm8YBiABKAdSBnBvcnRObxIWCgZjb29raWUYByABKAZSBmNvb2tpZRIQCgNwa3QYBCABKAxSA3BrdCJBCglJbnRlcmZhY2USFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhsKCWludGZfdHlwZRgCIAEoB1IIaW50ZlR5cGUiPAoJSGVhcnRiZWF0Ei8KE2hlYXJ0YmVhdF9zaWduYXR1cmUYASABKAdSEmhlYXJ0YmVhdFNpZ25hdHVyZSKsAQoDT251EhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEjoKDXNlcmlhbF9udW1iZXIYAyABKAsyFS5vcGVub2x0LlNlcmlhbE51bWJlclIMc2VyaWFsTnVtYmVyEhAKA3BpchgEIAEoB1IDcGlyEicKD29tY2NfZW5jcnlwdGlvbhgFIAEoCFIOb21jY0VuY3J5cHRpb24isQEKEk9udUxvZ2ljYWxEaXN0YW5jZRIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBI5Chlsb2dpY2FsX29udV9kaXN0YW5jZV96ZXJvGAMgASgHUhZsb2dpY2FsT251RGlzdGFuY2VaZXJvEjAKFGxvZ2ljYWxfb251X2Rpc3RhbmNlGAQgASgHUhJsb2dpY2FsT251RGlzdGFuY2UiSwoHT21jaU1zZxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIQCgNwa3QYAyABKAxSA3BrdCKgAQoJT251UGFja2V0EhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhcKB3BvcnRfbm8YBCABKAdSBnBvcnRObxIdCgpnZW1wb3J0X2lkGAUgASgHUglnZW1wb3J0SWQSGQoIYWxsb2NfaWQYBiABKAdSB2FsbG9jSWQSEAoDcGt0GAMgASgMUgNwa3QiOQoMVXBsaW5rUGFja2V0EhcKB2ludGZfaWQYASABKAdSBmludGZJZBIQCgNwa3QYAiABKAxSA3BrdCK4BwoKRGV2aWNlSW5mbxIWCgZ2ZW5kb3IYASABKAlSBnZlbmRvchIUCgVtb2RlbBgCIAEoCVIFbW9kZWwSKQoQaGFyZHdhcmVfdmVyc2lvbhgDIAEoCVIPaGFyZHdhcmVWZXJzaW9uEikKEGZpcm13YXJlX3ZlcnNpb24YBCABKAlSD2Zpcm13YXJlVmVyc2lvbhIbCglkZXZpY2VfaWQYECABKAlSCGRldmljZUlkEjAKFGRldmljZV9zZXJpYWxfbnVtYmVyGBEgASgJUhJkZXZpY2VTZXJpYWxOdW1iZXISMQoUcHJldmlvdXNseV9jb25uZWN0ZWQYEyABKAhSE3ByZXZpb3VzbHlDb25uZWN0ZWQSGwoJcG9uX3BvcnRzGAwgASgHUghwb25Qb3J0cxIbCglubmlfcG9ydHMYFCABKAdSCG5uaVBvcnRzEkAKBnJhbmdlcxgPIAMoCzIoLm9wZW5vbHQuRGV2aWNlSW5mby5EZXZpY2VSZXNvdXJjZVJhbmdlc1IGcmFuZ2VzGpUEChREZXZpY2VSZXNvdXJjZVJhbmdlcxIZCghpbnRmX2lkcxgBIAMoB1IHaW50ZklkcxIeCgp0ZWNobm9sb2d5GAIgASgJUgp0ZWNobm9sb2d5EkMKBXBvb2xzGAMgAygLMi0ub3Blbm9sdC5EZXZpY2VJbmZvLkRldmljZVJlc291cmNlUmFuZ2VzLlBvb2xSBXBvb2xzGvwCCgRQb29sEkoKBHR5cGUYASABKA4yNi5vcGVub2x0LkRldmljZUluZm8uRGV2aWNlUmVzb3VyY2VSYW5nZXMuUG9vbC5Qb29sVHlwZVIEdHlwZRJTCgdzaGFyaW5nGAIgASgOMjkub3Blbm9sdC5EZXZpY2VJbmZvLkRldmljZVJlc291cmNlUmFuZ2VzLlBvb2wuU2hhcmluZ1R5cGVSB3NoYXJpbmcSFAoFc3RhcnQYAyABKAdSBXN0YXJ0EhAKA2VuZBgEIAEoB1IDZW5kIkEKCFBvb2xUeXBlEgoKBk9OVV9JRBAAEgwKCEFMTE9DX0lEEAESDgoKR0VNUE9SVF9JRBACEgsKB0ZMT1dfSUQQAyJoCgtTaGFyaW5nVHlwZRIWChJERURJQ0FURURfUEVSX0lOVEYQABIfChtTSEFSRURfQllfQUxMX0lOVEZfQUxMX1RFQ0gQARIgChxTSEFSRURfQllfQUxMX0lOVEZfU0FNRV9URUNIEAJKBAgFEAxKBAgNEA5KBAgOEA8ihAMKCkNsYXNzaWZpZXISFQoGb190cGlkGAEgASgHUgVvVHBpZBITCgVvX3ZpZBgCIAEoB1IEb1ZpZBIVCgZpX3RwaWQYAyABKAdSBWlUcGlkEhMKBWlfdmlkGAQgASgHUgRpVmlkEhcKB29fcGJpdHMYBSABKAdSBm9QYml0cxIXCgdpX3BiaXRzGAYgASgHUgZpUGJpdHMSGQoIZXRoX3R5cGUYByABKAdSB2V0aFR5cGUSFwoHZHN0X21hYxgIIAEoDFIGZHN0TWFjEhcKB3NyY19tYWMYCSABKAxSBnNyY01hYxIZCghpcF9wcm90bxgKIAEoB1IHaXBQcm90bxIVCgZkc3RfaXAYCyABKAdSBWRzdElwEhUKBnNyY19pcBgMIAEoB1IFc3JjSXASGQoIc3JjX3BvcnQYDSABKAdSB3NyY1BvcnQSGQoIZHN0X3BvcnQYDiABKAdSB2RzdFBvcnQSIAoMcGt0X3RhZ190eXBlGA8gASgJUgpwa3RUYWdUeXBlIoUDCglBY3Rpb25DbWQSIgoNYWRkX291dGVyX3RhZxgBIAEoCFILYWRkT3V0ZXJUYWcSKAoQcmVtb3ZlX291dGVyX3RhZxgCIAEoCFIOcmVtb3ZlT3V0ZXJUYWcSIAoMdHJhcF90b19ob3N0GAMgASgIUgp0cmFwVG9Ib3N0EiwKEnJlbWFya19vdXRlcl9wYml0cxgEIAEoCFIQcmVtYXJrT3V0ZXJQYml0cxIsChJyZW1hcmtfaW5uZXJfcGJpdHMYBSABKAhSEHJlbWFya0lubmVyUGJpdHMSIgoNYWRkX2lubmVyX3RhZxgGIAEoCFILYWRkSW5uZXJUYWcSKAoQcmVtb3ZlX2lubmVyX3RhZxgHIAEoCFIOcmVtb3ZlSW5uZXJUYWcSLgoTdHJhbnNsYXRlX2lubmVyX3RhZxgIIAEoCFIRdHJhbnNsYXRlSW5uZXJUYWcSLgoTdHJhbnNsYXRlX291dGVyX3RhZxgJIAEoCFIRdHJhbnNsYXRlT3V0ZXJUYWciuAEKBkFjdGlvbhIkCgNjbWQYASABKAsyEi5vcGVub2x0LkFjdGlvbkNtZFIDY21kEhMKBW9fdmlkGAIgASgHUgRvVmlkEhcKB29fcGJpdHMYAyABKAdSBm9QYml0cxIVCgZvX3RwaWQYBCABKAdSBW9UcGlkEhMKBWlfdmlkGAUgASgHUgRpVmlkEhcKB2lfcGJpdHMYBiABKAdSBmlQYml0cxIVCgZpX3RwaWQYByABKAdSBWlUcGlkIscGCgRGbG93EiQKDmFjY2Vzc19pbnRmX2lkGAEgASgPUgxhY2Nlc3NJbnRmSWQSFQoGb251X2lkGAIgASgPUgVvbnVJZBIVCgZ1bmlfaWQYCyABKA9SBXVuaUlkEhcKB2Zsb3dfaWQYAyABKAZSBmZsb3dJZBIqChFzeW1tZXRyaWNfZmxvd19pZBgSIAEoBlIPc3ltbWV0cmljRmxvd0lkEhsKCWZsb3dfdHlwZRgEIAEoCVIIZmxvd1R5cGUSGQoIYWxsb2NfaWQYCiABKA9SB2FsbG9jSWQSJgoPbmV0d29ya19pbnRmX2lkGAUgASgPUg1uZXR3b3JrSW50ZklkEh0KCmdlbXBvcnRfaWQYBiABKA9SCWdlbXBvcnRJZBIzCgpjbGFzc2lmaWVyGAcgASgLMhMub3Blbm9sdC5DbGFzc2lmaWVyUgpjbGFzc2lmaWVyEicKBmFjdGlvbhgIIAEoCzIPLm9wZW5vbHQuQWN0aW9uUgZhY3Rpb24SGgoIcHJpb3JpdHkYCSABKA9SCHByaW9yaXR5EhYKBmNvb2tpZRgMIAEoBlIGY29va2llEhcKB3BvcnRfbm8YDSABKAdSBnBvcnRObxIZCghncm91cF9pZBgOIAEoB1IHZ3JvdXBJZBImCg90ZWNoX3Byb2ZpbGVfaWQYDyABKAdSDXRlY2hQcm9maWxlSWQSJQoOcmVwbGljYXRlX2Zsb3cYECABKAhSDXJlcGxpY2F0ZUZsb3cSSAoPcGJpdF90b19nZW1wb3J0GBEgAygLMiAub3Blbm9sdC5GbG93LlBiaXRUb0dlbXBvcnRFbnRyeVINcGJpdFRvR2VtcG9ydBJFCg5nZW1wb3J0X3RvX2FlcxgTIAMoCzIfLm9wZW5vbHQuRmxvdy5HZW1wb3J0VG9BZXNFbnRyeVIMZ2VtcG9ydFRvQWVzGkAKElBiaXRUb0dlbXBvcnRFbnRyeRIQCgNrZXkYASABKAdSA2tleRIUCgV2YWx1ZRgCIAEoB1IFdmFsdWU6AjgBGj8KEUdlbXBvcnRUb0Flc0VudHJ5EhAKA2tleRgBIAEoB1IDa2V5EhQKBXZhbHVlGAIgASgIUgV2YWx1ZToCOAEiVAoMU2VyaWFsTnVtYmVyEhsKCXZlbmRvcl9pZBgBIAEoDFIIdmVuZG9ySWQSJwoPdmVuZG9yX3NwZWNpZmljGAIgASgMUg52ZW5kb3JTcGVjaWZpYyLmBwoNT251U3RhdGlzdGljcxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIlCg5wb3NpdGl2ZV9kcmlmdBgDIAEoBlINcG9zaXRpdmVEcmlmdBIlCg5uZWdhdGl2ZV9kcmlmdBgEIAEoBlINbmVnYXRpdmVEcmlmdBI4ChhkZWxpbWl0ZXJfbWlzc19kZXRlY3Rpb24YBSABKAZSFmRlbGltaXRlck1pc3NEZXRlY3Rpb24SHQoKYmlwX2Vycm9ycxgGIAEoBlIJYmlwRXJyb3JzEhsKCWJpcF91bml0cxgHIAEoBlIIYmlwVW5pdHMSMgoVZmVjX2NvcnJlY3RlZF9zeW1ib2xzGAggASgGUhNmZWNDb3JyZWN0ZWRTeW1ib2xzEjYKF2ZlY19jb2Rld29yZHNfY29ycmVjdGVkGAkgASgGUhVmZWNDb2Rld29yZHNDb3JyZWN0ZWQSPgobZmVjX2NvZGV3b3Jkc191bmNvcnJlY3RhYmxlGAogASgGUhlmZWNDb2Rld29yZHNVbmNvcnJlY3RhYmxlEiMKDWZlY19jb2Rld29yZHMYCyABKAZSDGZlY0NvZGV3b3JkcxIuChNmZWNfY29ycmVjdGVkX3VuaXRzGAwgASgGUhFmZWNDb3JyZWN0ZWRVbml0cxImCg94Z2VtX2tleV9lcnJvcnMYDSABKAZSDXhnZW1LZXlFcnJvcnMSGwoJeGdlbV9sb3NzGA4gASgGUgh4Z2VtTG9zcxImCg9yeF9wbG9hbXNfZXJyb3IYDyABKAZSDXJ4UGxvYW1zRXJyb3ISKwoScnhfcGxvYW1zX25vbl9pZGxlGBAgASgGUg9yeFBsb2Ftc05vbklkbGUSFwoHcnhfb21jaRgRIAEoBlIGcnhPbWNpEjgKGXJ4X29tY2lfcGFja2V0c19jcmNfZXJyb3IYEiABKAZSFXJ4T21jaVBhY2tldHNDcmNFcnJvchIZCghyeF9ieXRlcxgTIAEoBlIHcnhCeXRlcxIdCgpyeF9wYWNrZXRzGBQgASgGUglyeFBhY2tldHMSGQoIdHhfYnl0ZXMYFSABKAZSB3R4Qnl0ZXMSHQoKdHhfcGFja2V0cxgWIAEoBlIJdHhQYWNrZXRzEiEKDGJlcl9yZXBvcnRlZBgXIAEoBlILYmVyUmVwb3J0ZWQSHwoLbGNkZ19lcnJvcnMYGCABKAZSCmxjZGdFcnJvcnMSHQoKcmRpX2Vycm9ycxgZIAEoBlIJcmRpRXJyb3JzEhwKCXRpbWVzdGFtcBgaIAEoB1IJdGltZXN0YW1wIt0BChFHZW1Qb3J0U3RhdGlzdGljcxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSHQoKZ2VtcG9ydF9pZBgCIAEoB1IJZ2VtcG9ydElkEh0KCnJ4X3BhY2tldHMYAyABKAZSCXJ4UGFja2V0cxIZCghyeF9ieXRlcxgEIAEoBlIHcnhCeXRlcxIdCgp0eF9wYWNrZXRzGAUgASgGUgl0eFBhY2tldHMSGQoIdHhfYnl0ZXMYBiABKAZSB3R4Qnl0ZXMSHAoJdGltZXN0YW1wGBogASgHUgl0aW1lc3RhbXAiuwEKDkZsb3dTdGF0aXN0aWNzEhcKB2Zsb3dfaWQYASABKAdSBmZsb3dJZBIZCghyeF9ieXRlcxgCIAEoBlIHcnhCeXRlcxIdCgpyeF9wYWNrZXRzGAMgASgGUglyeFBhY2tldHMSGQoIdHhfYnl0ZXMYCCABKAZSB3R4Qnl0ZXMSHQoKdHhfcGFja2V0cxgJIAEoBlIJdHhQYWNrZXRzEhwKCXRpbWVzdGFtcBgQIAEoB1IJdGltZXN0YW1wIkAKDUxvc0luZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhYKBnN0YXR1cxgCIAEoCVIGc3RhdHVzIl0KE0R5aW5nR2FzcEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMiowIKEk9udUFsYXJtSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIdCgpsb3Nfc3RhdHVzGAMgASgJUglsb3NTdGF0dXMSHQoKbG9iX3N0YXR1cxgEIAEoCVIJbG9iU3RhdHVzEigKEGxvcGNfbWlzc19zdGF0dXMYBSABKAlSDmxvcGNNaXNzU3RhdHVzEjEKFWxvcGNfbWljX2Vycm9yX3N0YXR1cxgGIAEoCVISbG9wY01pY0Vycm9yU3RhdHVzEh8KC2xvZmlfc3RhdHVzGAcgASgJUgpsb2ZpU3RhdHVzEiEKDGxvYW1pX3N0YXR1cxgIIAEoCVILbG9hbWlTdGF0dXMiZQobT251U3RhcnR1cEZhaWx1cmVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzIpkBChpPbnVTaWduYWxEZWdyYWRlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxIzChZpbnZlcnNlX2JpdF9lcnJvcl9yYXRlGAQgASgHUhNpbnZlcnNlQml0RXJyb3JSYXRlIpMBChpPbnVEcmlmdE9mV2luZG93SW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxIUCgVkcmlmdBgEIAEoB1IFZHJpZnQSFwoHbmV3X2VxZBgFIAEoB1IGbmV3RXFkImgKHk9udUxvc3NPZk9tY2lDaGFubmVsSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyKaAQobT251U2lnbmFsc0ZhaWx1cmVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEjMKFmludmVyc2VfYml0X2Vycm9yX3JhdGUYBCABKAdSE2ludmVyc2VCaXRFcnJvclJhdGUiggEKIk9udVRyYW5zbWlzc2lvbkludGVyZmVyZW5jZVdhcm5pbmcSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSFAoFZHJpZnQYBCABKAdSBWRyaWZ0InEKHk9udUFjdGl2YXRpb25GYWlsdXJlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIfCgtmYWlsX3JlYXNvbhgDIAEoB1IKZmFpbFJlYXNvbiJrCiFPbnVMb3NzT2ZLZXlTeW5jRmFpbHVyZUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMiVAoSUmRpRXJyb3JJbmRpY2F0aW9uEiYKD3JkaV9lcnJvcl9jb3VudBgBIAEoBlINcmRpRXJyb3JDb3VudBIWCgZzdGF0dXMYAiABKAlSBnN0YXR1cyKWAQoYT251SXR1UG9uU3RhdHNJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEkEKDXJkaV9lcnJvcl9pbmQYAyABKAsyGy5vcGVub2x0LlJkaUVycm9ySW5kaWNhdGlvbkgAUgtyZGlFcnJvckluZEIHCgVzdGF0cyJOChxPbnVQcm9jZXNzaW5nRXJyb3JJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkImoKIE9udURlYWN0aXZhdGlvbkZhaWx1cmVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzImoKGU9udVJlbW90ZURlZmVjdEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSHQoKcmRpX2Vycm9ycxgDIAEoBlIJcmRpRXJyb3JzIqEBCihPbnVMb3NzT2ZHRU1DaGFubmVsRGVsaW5lYXRpb25JbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEi0KEmRlbGluZWF0aW9uX2Vycm9ycxgEIAEoB1IRZGVsaW5lYXRpb25FcnJvcnMibQojT251UGh5c2ljYWxFcXVpcG1lbnRFcnJvckluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMibAoiT251TG9zc09mQWNrbm93bGVkZ2VtZW50SW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyKMAQomT251RGlmZmVyZW50aWFsUmVhY2hFeGNlZWRlZEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSGgoIZGlzdGFuY2UYBCABKAdSCGRpc3RhbmNlIvYBCgtHcm91cE1lbWJlchIhCgxpbnRlcmZhY2VfaWQYASABKA1SC2ludGVyZmFjZUlkEkkKDmludGVyZmFjZV90eXBlGAIgASgOMiIub3Blbm9sdC5Hcm91cE1lbWJlci5JbnRlcmZhY2VUeXBlUg1pbnRlcmZhY2VUeXBlEh4KC2dlbV9wb3J0X2lkGAMgASgNUglnZW1Qb3J0SWQSGgoIcHJpb3JpdHkYBCABKA1SCHByaW9yaXR5Ij0KDUludGVyZmFjZVR5cGUSBwoDUE9OEAASEAoMRVBPTl8xR19QQVRIEAESEQoNRVBPTl8xMEdfUEFUSBACIoYCCgVHcm91cBIZCghncm91cF9pZBgBIAEoDVIHZ3JvdXBJZBI8Cgdjb21tYW5kGAIgASgOMiIub3Blbm9sdC5Hcm91cC5Hcm91cE1lbWJlcnNDb21tYW5kUgdjb21tYW5kEi4KB21lbWJlcnMYAyADKAsyFC5vcGVub2x0Lkdyb3VwTWVtYmVyUgdtZW1iZXJzEicKBmFjdGlvbhgEIAEoCzIPLm9wZW5vbHQuQWN0aW9uUgZhY3Rpb24iSwoTR3JvdXBNZW1iZXJzQ29tbWFuZBIPCgtBRERfTUVNQkVSUxAAEhIKDlJFTU9WRV9NRU1CRVJTEAESDwoLU0VUX01FTUJFUlMQAiJdCgpWYWx1ZVBhcmFtEh4KA29udRgBIAEoCzIMLm9wZW5vbHQuT251UgNvbnUSLwoFdmFsdWUYAiABKA4yGS5leHRlbnNpb24uVmFsdWVUeXBlLlR5cGVSBXZhbHVlIsMCCg5Qb25SeFBvd2VyRGF0YRIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxJSCgtmYWlsX3JlYXNvbhgEIAEoDjIxLm9wZW5vbHQuUG9uUnhQb3dlckRhdGEuUnNzaU1lYXN1cmVtZW50RmFpbFJlYXNvblIKZmFpbFJlYXNvbhIpChFyeF9wb3dlcl9tZWFuX2RibRgFIAEoAVIOcnhQb3dlck1lYW5EYm0iagoZUnNzaU1lYXN1cmVtZW50RmFpbFJlYXNvbhIUChBGQUlMX1JFQVNPTl9OT05FEAASHAoYRkFJTF9SRUFTT05fTk9fREVMSU1JVEVSEAESGQoVRkFJTF9SRUFTT05fTk9fQUNDRVNTEAIiYgoUT251QWxsb2NJZFN0YXRpc3RpY3MSFgoGaW50ZklkGAEgASgHUgZpbnRmSWQSGAoHYWxsb2NJZBgCIAEoB1IHYWxsb2NJZBIYCgdyeEJ5dGVzGAMgASgGUgdyeEJ5dGVzIqMCCgdPbnVJbmZvEhUKBm9udV9pZBgBIAEoB1IFb251SWQSLwoFc3RhdGUYAiABKA4yGS5vcGVub2x0Lk9udUluZm8uT251U3RhdGVSBXN0YXRlEicKBGxvc2kYAyABKA4yEy5vcGVub2x0LkFsYXJtU3RhdGVSBGxvc2kSJwoEbG9maRgEIAEoDjITLm9wZW5vbHQuQWxhcm1TdGF0ZVIEbG9maRIpCgVsb2FtaRgFIAEoDjITLm9wZW5vbHQuQWxhcm1TdGF0ZVIFbG9hbWkiUwoIT251U3RhdGUSCwoHVU5LTk9XThAAEhIKDk5PVF9DT05GSUdVUkVEEAESCgoGQUNUSVZFEAISDAoISU5BQ1RJVkUQAxIMCghESVNBQkxFRBAEIucBCgtQb25JbnRmSW5mbxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSNwoFc3RhdGUYAyABKA4yIS5vcGVub2x0LlBvbkludGZJbmZvLlBvbkludGZTdGF0ZVIFc3RhdGUSJQoDbG9zGAQgASgOMhMub3Blbm9sdC5BbGFybVN0YXRlUgNsb3MiXwoMUG9uSW50ZlN0YXRlEgsKB1VOS05PV04QABISCg5BQ1RJVkVfV09SS0lORxABEhIKDkFDVElWRV9TVEFOREJZEAISDAoISU5BQ1RJVkUQAxIMCghESVNBQkxFRBAEIoYBCh1JbnRlcmZhY2VPbnVTZXJpYWxOdW1iZXJPbnVJZBJOChJpbnRmX2lkX3NlcmlhbF9udW0YASABKAsyIS5vcGVub2x0LkludGVyZmFjZU9udVNlcmlhbE51bWJlclIPaW50ZklkU2VyaWFsTnVtEhUKBm9udV9pZBgCIAEoB1IFb251SWQidgoYSW50ZXJmYWNlT251U2VyaWFsTnVtYmVyEhcKB2ludGZfaWQYASABKAdSBmludGZJZBJBChFvbnVfc2VyaWFsX251bWJlchgCIAEoCzIVLm9wZW5vbHQuU2VyaWFsTnVtYmVyUg9vbnVTZXJpYWxOdW1iZXIiBwoFRW1wdHkqHQoKQWxhcm1TdGF0ZRIHCgNPRkYQABIGCgJPThABMqYbCgdPcGVub2x0EkQKCkRpc2FibGVPbHQSDi5vcGVub2x0LkVtcHR5Gg4ub3Blbm9sdC5FbXB0eSIWgtPkkwIQIgsvdjEvRGlzYWJsZToBKhJGCgtSZWVuYWJsZU9sdBIOLm9wZW5vbHQuRW1wdHkaDi5vcGVub2x0LkVtcHR5IheC0+STAhEiDC92MS9SZWVuYWJsZToBKhJFCgtBY3RpdmF0ZU9udRIMLm9wZW5vbHQuT251Gg4ub3Blbm9sdC5FbXB0eSIYgtPkkwISIg0vdjEvRW5hYmxlT251OgEqEkgKDURlYWN0aXZhdGVPbnUSDC5vcGVub2x0Lk9udRoOLm9wZW5vbHQuRW1wdHkiGYLT5JMCEyIOL3YxL0Rpc2FibGVPbnU6ASoSQwoJRGVsZXRlT251Egwub3Blbm9sdC5PbnUaDi5vcGVub2x0LkVtcHR5IhiC0+STAhIiDS92MS9EZWxldGVPbnU6ASoSSQoKT21jaU1zZ091dBIQLm9wZW5vbHQuT21jaU1zZxoOLm9wZW5vbHQuRW1wdHkiGYLT5JMCEyIOL3YxL09tY2lNc2dPdXQ6ASoSTwoMT251UGFja2V0T3V0EhIub3Blbm9sdC5PbnVQYWNrZXQaDi5vcGVub2x0LkVtcHR5IhuC0+STAhUiEC92MS9PbnVQYWNrZXRPdXQ6ASoSWAoPVXBsaW5rUGFja2V0T3V0EhUub3Blbm9sdC5VcGxpbmtQYWNrZXQaDi5vcGVub2x0LkVtcHR5Ih6C0+STAhgiEy92MS9VcGxpbmtQYWNrZXRPdXQ6ASoSQAoHRmxvd0FkZBINLm9wZW5vbHQuRmxvdxoOLm9wZW5vbHQuRW1wdHkiFoLT5JMCECILL3YxL0Zsb3dBZGQ6ASoSRgoKRmxvd1JlbW92ZRINLm9wZW5vbHQuRmxvdxoOLm9wZW5vbHQuRW1wdHkiGYLT5JMCEyIOL3YxL0Zsb3dSZW1vdmU6ASoSUwoOSGVhcnRiZWF0Q2hlY2sSDi5vcGVub2x0LkVtcHR5GhIub3Blbm9sdC5IZWFydGJlYXQiHYLT5JMCFyISL3YxL0hlYXJ0YmVhdENoZWNrOgEqEk0KC0VuYWJsZVBvbklmEhIub3Blbm9sdC5JbnRlcmZhY2UaDi5vcGVub2x0LkVtcHR5IhqC0+STAhQiDy92MS9FbmFibGVQb25JZjoBKhJPCgxEaXNhYmxlUG9uSWYSEi5vcGVub2x0LkludGVyZmFjZRoOLm9wZW5vbHQuRW1wdHkiG4LT5JMCFSIQL3YxL0Rpc2FibGVQb25JZjoBKhJSCg1HZXREZXZpY2VJbmZvEg4ub3Blbm9sdC5FbXB0eRoTLm9wZW5vbHQuRGV2aWNlSW5mbyIcgtPkkwIWIhEvdjEvR2V0RGV2aWNlSW5mbzoBKhI/CgZSZWJvb3QSDi5vcGVub2x0LkVtcHR5Gg4ub3Blbm9sdC5FbXB0eSIVgtPkkwIPIgovdjEvUmVib290OgEqElUKEUNvbGxlY3RTdGF0aXN0aWNzEg4ub3Blbm9sdC5FbXB0eRoOLm9wZW5vbHQuRW1wdHkiIILT5JMCGiIVL3YxL0NvbGxlY3RTdGF0aXN0aWNzOgEqElkKEEdldE9udVN0YXRpc3RpY3MSDC5vcGVub2x0Lk9udRoWLm9wZW5vbHQuT251U3RhdGlzdGljcyIfgtPkkwIZIhQvdjEvR2V0T251U3RhdGlzdGljczoBKhJrChRHZXRHZW1Qb3J0U3RhdGlzdGljcxISLm9wZW5vbHQuT251UGFja2V0Ghoub3Blbm9sdC5HZW1Qb3J0U3RhdGlzdGljcyIjgtPkkwIdIhgvdjEvR2V0R2VtUG9ydFN0YXRpc3RpY3M6ASoScgoXQ3JlYXRlVHJhZmZpY1NjaGVkdWxlcnMSHy50ZWNoX3Byb2ZpbGUuVHJhZmZpY1NjaGVkdWxlcnMaDi5vcGVub2x0LkVtcHR5IiaC0+STAiAiGy92MS9DcmVhdGVUcmFmZmljU2NoZWR1bGVyczoBKhJyChdSZW1vdmVUcmFmZmljU2NoZWR1bGVycxIfLnRlY2hfcHJvZmlsZS5UcmFmZmljU2NoZWR1bGVycxoOLm9wZW5vbHQuRW1wdHkiJoLT5JMCICIbL3YxL1JlbW92ZVRyYWZmaWNTY2hlZHVsZXJzOgEqEmYKE0NyZWF0ZVRyYWZmaWNRdWV1ZXMSGy50ZWNoX3Byb2ZpbGUuVHJhZmZpY1F1ZXVlcxoOLm9wZW5vbHQuRW1wdHkiIoLT5JMCHCIXL3YxL0NyZWF0ZVRyYWZmaWNRdWV1ZXM6ASoSZgoTUmVtb3ZlVHJhZmZpY1F1ZXVlcxIbLnRlY2hfcHJvZmlsZS5UcmFmZmljUXVldWVzGg4ub3Blbm9sdC5FbXB0eSIigtPkkwIcIhcvdjEvUmVtb3ZlVHJhZmZpY1F1ZXVlczoBKhI7ChBFbmFibGVJbmRpY2F0aW9uEg4ub3Blbm9sdC5FbXB0eRoTLm9wZW5vbHQuSW5kaWNhdGlvbiIAMAESXQoVUGVyZm9ybUdyb3VwT3BlcmF0aW9uEg4ub3Blbm9sdC5Hcm91cBoOLm9wZW5vbHQuRW1wdHkiJILT5JMCHiIZL3YxL1BlcmZvcm1Hcm91cE9wZXJhdGlvbjoBKhJJCgtEZWxldGVHcm91cBIOLm9wZW5vbHQuR3JvdXAaDi5vcGVub2x0LkVtcHR5IhqC0+STAhQiDy92MS9EZWxldGVHcm91cDoBKhJXCgtHZXRFeHRWYWx1ZRITLm9wZW5vbHQuVmFsdWVQYXJhbRoXLmV4dGVuc2lvbi5SZXR1cm5WYWx1ZXMiGoLT5JMCFCIPL3YxL0dldEV4dFZhbHVlOgEqEl0KEU9udUl0dVBvbkFsYXJtU2V0EhYuY29uZmlnLk9udUl0dVBvbkFsYXJtGg4ub3Blbm9sdC5FbXB0eSIggtPkkwIaIhUvdjEvT251SXR1UG9uQWxhcm1TZXQ6ASoScAoZR2V0TG9naWNhbE9udURpc3RhbmNlWmVybxIMLm9wZW5vbHQuT251Ghsub3Blbm9sdC5PbnVMb2dpY2FsRGlzdGFuY2UiKILT5JMCIiIdL3YxL0dldExvZ2ljYWxPbnVEaXN0YW5jZVplcm86ASoSaAoVR2V0TG9naWNhbE9udURpc3RhbmNlEgwub3Blbm9sdC5PbnUaGy5vcGVub2x0Lk9udUxvZ2ljYWxEaXN0YW5jZSIkgtPkkwIeIhkvdjEvR2V0TG9naWNhbE9udURpc3RhbmNlOgEqElQKDUdldFBvblJ4UG93ZXISDC5vcGVub2x0Lk9udRoXLm9wZW5vbHQuUG9uUnhQb3dlckRhdGEiHILT5JMCFiIRL3YxL0dldFBvblJ4UG93ZXI6ASoSRwoKR2V0T251SW5mbxIMLm9wZW5vbHQuT251GhAub3Blbm9sdC5PbnVJbmZvIhmC0+STAhMiDi92MS9HZXRPbnVJbmZvOgEqEmAKE0dldFBvbkludGVyZmFjZUluZm8SEi5vcGVub2x0LkludGVyZmFjZRoULm9wZW5vbHQuUG9uSW50ZkluZm8iH4LT5JMCGSIUL3YxL0dldEludGVyZmFjZUluZm86ASoSbgoUR2V0QWxsb2NJZFN0YXRpc3RpY3MSEi5vcGVub2x0Lk9udVBhY2tldBodLm9wZW5vbHQuT251QWxsb2NJZFN0YXRpc3RpY3MiI4LT5JMCHSIYL3YxL0dldEFsbG9jSWRTdGF0aXN0aWNzOgEqEmcKFEdldFBvblBvcnRTdGF0aXN0aWNzEhIub3Blbm9sdC5JbnRlcmZhY2UaFi5jb21tb24uUG9ydFN0YXRpc3RpY3MiI4LT5JMCHSIYL3YxL0dldFBvblBvcnRTdGF0aXN0aWNzOgEqEmcKFEdldE5uaVBvcnRTdGF0aXN0aWNzEhIub3Blbm9sdC5JbnRlcmZhY2UaFi5jb21tb24uUG9ydFN0YXRpc3RpY3MiI4LT5JMCHSIYL3YxL0dldE5uaVBvcnRTdGF0aXN0aWNzOgEqElwKCkRpc2FibGVPbnUSJi5vcGVub2x0LkludGVyZmFjZU9udVNlcmlhbE51bWJlck9udUlkGg4ub3Blbm9sdC5FbXB0eSIWgtPkkwIQIg4vdjEvRGlzYWJsZU9udRJaCglFbmFibGVPbnUSJi5vcGVub2x0LkludGVyZmFjZU9udVNlcmlhbE51bWJlck9udUlkGg4ub3Blbm9sdC5FbXB0eSIVgtPkkwIPIg0vdjEvRW5hYmxlT251Em8KFkRpc2FibGVPbnVTZXJpYWxOdW1iZXISIS5vcGVub2x0LkludGVyZmFjZU9udVNlcmlhbE51bWJlchoOLm9wZW5vbHQuRW1wdHkiIoLT5JMCHCIaL3YxL0Rpc2FibGVPbnVTZXJpYWxOdW1iZXISbQoVRW5hYmxlT251U2VyaWFsTnVtYmVyEiEub3Blbm9sdC5JbnRlcmZhY2VPbnVTZXJpYWxOdW1iZXIaDi5vcGVub2x0LkVtcHR5IiGC0+STAhsiGS92MS9FbmFibGVPbnVTZXJpYWxOdW1iZXJCXQobb3JnLm9wZW5jb3JkLnZvbHRoYS5vcGVub2x0Qg1Wb2x0aGFPcGVuT0xUWi9n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YWdlEhgKB21lc3NhZ2UYASABKAxSB21lc3NhZ2USQgoOY29ubmVjdF9zdGF0dXMYAiABKA4yGy5jb21tb24uQ29ubmVjdFN0YXR1cy5UeXBlc1INY29ubmVjdFN0YXR1cxJACg1wcm94eV9hZGRyZXNzGAMgASgLMhsuZGV2aWNlLkRldmljZS5Qcm94eUFkZHJlc3NSDHByb3h5QWRkcmVzcxIoChBwYXJlbnRfZGV2aWNlX2lkGAQgASgJUg5wYXJlbnREZXZpY2VJZBImCg9jaGlsZF9kZXZpY2VfaWQYBSABKAlSDWNoaWxkRGV2aWNlSWQiggIKDE9tY2lNZXNzYWdlcxIaCghtZXNzYWdlcxgBIAMoDFIIbWVzc2FnZXMSQgoOY29ubmVjdF9zdGF0dXMYAiABKA4yGy5jb21tb24uQ29ubmVjdFN0YXR1cy5UeXBlc1INY29ubmVjdFN0YXR1cxJACg1wcm94eV9hZGRyZXNzGAMgASgLMhsuZGV2aWNlLkRldmljZS5Qcm94eUFkZHJlc3NSDHByb3h5QWRkcmVzcxIoChBwYXJlbnRfZGV2aWNlX2lkGAQgASgJUg5wYXJlbnREZXZpY2VJZBImCg9jaGlsZF9kZXZpY2VfaWQYBSABKAlSDWNoaWxkRGV2aWNlSWQipwIKGlRlY2hQcm9maWxlRG93bmxvYWRNZXNzYWdlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFQoGdW5pX2lkGAIgASgNUgV1bmlJZBIoChB0cF9pbnN0YW5jZV9wYXRoGAMgASgJUg50cEluc3RhbmNlUGF0aBJECgt0cF9pbnN0YW5jZRgEIAEoCzIhLnRlY2hfcHJvZmlsZS5UZWNoUHJvZmlsZUluc3RhbmNlSABSCnRwSW5zdGFuY2USUQoQZXBvbl90cF9pbnN0YW5jZRgFIAEoCzIlLnRlY2hfcHJvZmlsZS5FcG9uVGVjaFByb2ZpbGVJbnN0YW5jZUgAUg5lcG9uVHBJbnN0YW5jZUISChB0ZWNoX3RwX2luc3RhbmNlIpQBChREZWxldGVHZW1Qb3J0TWVzc2FnZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhUKBnVuaV9pZBgCIAEoDVIFdW5pSWQSKAoQdHBfaW5zdGFuY2VfcGF0aBgDIAEoCVIOdHBJbnN0YW5jZVBhdGgSHgoLZ2VtX3BvcnRfaWQYBCABKA1SCWdlbVBvcnRJZCKNAQoSRGVsZXRlVGNvbnRNZXNzYWdlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFQoGdW5pX2lkGAIgASgNUgV1bmlJZBIoChB0cF9pbnN0YW5jZV9wYXRoGAMgASgJUg50cEluc3RhbmNlUGF0aBIZCghhbGxvY19pZBgEIAEoDVIHYWxsb2NJZCJyChRPbnVJbmRpY2F0aW9uTWVzc2FnZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEj0KDm9udV9pbmRpY2F0aW9uGAIgASgLMhYub3Blbm9sdC5PbnVJbmRpY2F0aW9uUg1vbnVJbmRpY2F0aW9uIuoBCiFUZWNoUHJvZmlsZUluc3RhbmNlUmVxdWVzdE1lc3NhZ2USGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIoChB0cF9pbnN0YW5jZV9wYXRoGAIgASgJUg50cEluc3RhbmNlUGF0aBIoChBwYXJlbnRfZGV2aWNlX2lkGAMgASgJUg5wYXJlbnREZXZpY2VJZBImCg9wYXJlbnRfcG9uX3BvcnQYBCABKA1SDXBhcmVudFBvblBvcnQSFQoGb251X2lkGAUgASgNUgVvbnVJZBIVCgZ1bmlfaWQYBiABKA1SBXVuaUlkQloKIW9yZy5vcGVuY29yZC52b2x0aGEuaW50ZXJfYWRhcHRlclo1Z2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL2ludGVyX2FkYXB0ZXJKrxQKBhIEAABEAQoICgEMEgMAABIKCAoBCBIDAgBMCgkKAggLEgMCAEwKCAoBCBIDAwA6CgkKAggBEgMDADoKCQoCAwASAwUAJAoJCgIDARIDBgAkCgkKAgMCEgMHACoKCQoCAwMSAwgAJQoJCgIDBBIDCQAkCggKAQISAwsAFgokCgIEABIEEAAWATIYIEludGVyLUFkYXB0ZXIgbWVzc2FnZXMKCgoKAwQAARIDEAgTCgsKBAQAAgASAxEEFgoNCgUEAAIABBIEEQQQFQoMCgUEAAIABRIDEQQJCgwKBQQAAgABEgMRChEKDAoFBAACAAMSAxEUFQoLCgQEAAIB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Fi5nb29nbGUucHJvdG9idWYuRW1wdHkSSAoRUHJveHlPbWNpUmVxdWVzdHMSGy5pbnRlcl9hZGFwdGVyLk9tY2lNZXNzYWdlcxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJ1ChZHZXRUZWNoUHJvZmlsZUluc3RhbmNlEjAuaW50ZXJfYWRhcHRlci5UZWNoUHJvZmlsZUluc3RhbmNlUmVxdWVzdE1lc3NhZ2UaKS5pbnRlcl9hZGFwdGVyLlRlY2hQcm9maWxlRG93bmxvYWRNZXNzYWdlQpABCi1vcmcub3BlbmNvcmQudm9sdGhhLm9sdF9pbnRlcl9hZGFwdGVyX3NlcnZpY2VCHFZvbHRoYU9sdEludGVyQWRhcHRlclNlcnZpY2VaQWdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9vbHRfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlSrYECgYSBAAAFgEKCAoBDBIDAAASCggKAQgSAwIAWAoJCgIICxIDAgBYCggKAQgSAwMARgoJCgIIARIDAwBGCggKAQgSAwQAPQoJCgIICBIDBAA9CggKAQISAwYAIgoJCgIDABIDCAAkCgkKAgMBEgMJACUKCQoCAwISAwoAKwoJCgIDAxIDCwAkCgoKAgYAEgQNABYBCgoKAwYAARIDDQgeCqcBCgQGAAIAEgMQBFcamQEgR2V0SGVhbHRoU3RhdHVzIGlzIHVzZWQgYnkgYSBPbHRJbnRlckFkYXB0ZXJTZXJ2aWNlIGNsaWVudCB0byBkZXRlY3QgYSBjb25uZWN0aW9uCiBsb3N0IHdpdGggdGhlIGdSUEMgc2VydmVyIGhvc3RpbmcgdGhlIE9sdEludGVyQWRhcHRlclNlcnZpY2Ugc2VydmljZQoKDAoFBgACAAESAxAIFwoMCgUGAAIABRIDEBgeCgwKBQYAAgACEgMQHzAKDAoFBgACAAYSAxA7QQoMCgUGAAIAAxIDEEJVCgsKBAYAAgESAxMEVAoMCgUGAAIBARIDEwgYCgwKBQYAAgECEgMTGTIKDAoFBgACAQMSAxM9UgoLCgQGAAICEgMUBFYKDAoFBgACAgESAxQIGQoMCgUGAAICAhIDFBo0CgwKBQYAAgIDEgMUP1QKDAoEBgACAxIEFQSDAQoMCgUGAAIDARIDFQgeCgwKBQYAAgMCEgMVH04KDQoFBgACAwMSBBVZgQFiBnByb3RvMwrkCwotdm9sdGhhX3Byb3Rvcy9vbnVfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlLnByb3RvEhlvbnVfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlGhp2b2x0aGFfcHJvdG9zL2NvbW1vbi5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGiF2b2x0aGFfcHJvdG9zL2ludGVyX2FkYXB0ZXIucHJvdG8aGnZvbHRoYV9wcm90b3MvaGVhbHRoLnByb3RvMt8DChZPbnVJbnRlckFkYXB0ZXJTZXJ2aWNlEj8KD0dldEhlYWx0aFN0YXR1cxISLmNvbW1vbi5Db25uZWN0aW9uGhQuaGVhbHRoLkhlYWx0aFN0YXR1cygBMAESTAoNT251SW5kaWNhdGlvbhIjLmludGVyX2FkYXB0ZXIuT251SW5kaWNhdGlvbk1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRAoOT21jaUluZGljYXRpb24SGi5pbnRlcl9hZGFwdGVyLk9tY2lNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElgKE0Rvd25sb2FkVGVjaFByb2ZpbGUSKS5pbnRlcl9hZGFwdGVyLlRlY2hQcm9maWxlRG93bmxvYWRNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkwKDURlbGV0ZUdlbVBvcnQSIy5pbnRlcl9hZGFwdGVyLkRlbGV0ZUdlbVBvcnRNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkgKC0RlbGV0ZVRDb250EiEuaW50ZXJfYWRhcHRlci5EZWxldGVUY29udE1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHlCkAEKLW9yZy5vcGVuY29yZC52b2x0aGEub251X2ludGVyX2FkYXB0ZXJfc2VydmljZUIcVm9sdGhhT251SW50ZXJBZGFwdGVyU2VydmljZVpBZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL29udV9pbnRlcl9hZGFwdGVyX3NlcnZpY2VKogUKBhIEAAAXAQoICgEMEgMAABIKCAoBCBIDAgBYCgkKAggLEgMCAFgKCAoBCBIDAwBGCgkKAggBEgMDAEYKCAoBCBIDBAA9CgkKAggIEgMEAD0KCAoBAhIDBgAiCgkKAgMAEgMIACQKCQoCAwESAwkAJQoJCgIDAhIDCgArCgkKAgMDEgMLACQKCgoCBgASBA0AFwEKCgoDBgABEgMNCB4KpwEKBAYAAgASAxAEVxqZASBHZXRIZWFsdGhTdGF0dXMgaXMgdXNlZCBieSBhIE9udUludGVyQWRhcHRlclNlcnZpY2UgY2xpZW50IHRvIGRldGVjdCBhIGNvbm5lY3Rpb24KIGxvc3Qgd2l0aCB0aGUgZ1JQQyBzZXJ2ZXIgaG9zdGluZyB0aGUgT251SW50ZXJBZGFwdGVyU2VydmljZSBzZXJ2aWNlCgoMCgUGAAIAARIDEAgXCgwKBQYAAgAFEgMQGB4KDAoFBgACAAISAxAfMAoMCgUGAAIABhIDEDtBCgwKBQYAAgADEgMQQlUKCwoEBgACARIDEgRaCgwKBQYAAgEBEgMSCBUKDAoFBgACAQISAxIWOAoMCgUGAAIBAxIDEkNYCgsKBAYAAgISAxMEUgoMCgUGAAICARIDEwgWCgwKBQYAAgICEgMTFzAKDAoFBgACAgMSAxM7UAoLCgQGAAIDEgMUBGYKDAoFBgACAwESAxQIGwoMCgUGAAIDAhIDFBxECgwKBQYAAgMDEgMUT2QKCwoEBgACBBIDFQRaCgwKBQYAAgQBEgMVCBUKDAoFBgACBAISAxUWOAoMCgUGAAIEAxIDFUNYCgsKBAYAAgUSAxYEVgoMCgUGAAIFARIDFggTCgwKBQYAAgUCEgMWFDQKDAoFBgACBQMSAxY/VGIGcHJvdG8z