IyEvYmluL3NoCiMKIyBDb3B5cmlnaHQgKGMpIDIwMDYgSm9oYW5uZXMgRS4gU2NoaW5kZWxpbgojCgp0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQtc2hvcnRsb2cKJwoKLiAuL3Rlc3QtbGliLnNoCgplY2hvIDEgPiBhMQpnaXQgYWRkIGExCnRyZWU9JChnaXQgd3JpdGUtdHJlZSkKY29tbWl0PSQoIChlY2hvICJUZXN0IjsgZWNobykgfCBnaXQgY29tbWl0LXRyZWUgJHRyZWUgKQpnaXQgdXBkYXRlLXJlZiBIRUFEICRjb21taXQKCmVjaG8gMiA+IGExCmdpdCBjb21taXQgLW0gIlRoaXMgaXMgYSB2ZXJ5LCB2ZXJ5IGxvbmcgZmlyc3QgbGluZSBmb3IgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIHNlZSBpZiBpdCBpcyB3cmFwcGVkIGNvcnJlY3RseSIgYTEKCiMgdGVzdCBpZiB0aGUgd3JhcHBpbmcgaXMgc3RpbGwgdmFsaWQgd2hlbiByZXBsYWNpbmcgYWxsIGkncyBieSB0cmVibGUgY2xlZnMuCmVjaG8gMyA+IGExCmdpdCBjb21taXQgLW0gIiQoZWNobyAiVGhpcyBpcyBhIHZlcnksIHZlcnkgbG9uZyBmaXJzdCBsaW5lIGZvciB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gc2VlIGlmIGl0IGlzIHdyYXBwZWQgY29ycmVjdGx5IiB8IHNlZCAicy9pLzEyMzQvZyIgfCB0ciAxMjM0ICdcMzYwXDIzNVwyMDRcMjM2JykiIGExCgojIG5vdyBmc2NrIHVwIHRoZSB1dGY4CmdpdCByZXBvLWNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIG5vbi11dGYtOAplY2hvIDQgPiBhMQpnaXQgY29tbWl0IC1tICIkKGVjaG8gIlRoaXMgaXMgYSB2ZXJ5LCB2ZXJ5IGxvbmcgZmlyc3QgbGluZSBmb3IgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIHNlZSBpZiBpdCBpcyB3cmFwcGVkIGNvcnJlY3RseSIgfCBzZWQgInMvaS8xMjM0L2ciIHwgdHIgMTIzNCAnXDM3MFwyMzVcMjA0XDIzNicpIiBhMQoKZWNobyA1ID4gYTEKZ2l0IGNvbW1pdCAtbSAiYQkJCQkJCQkJMTIJMzQJNTYJNzgiIGExCgpnaXQgc2hvcnRsb2cgLXcgSEVBRCA+IG91dAoKY2F0ID4gZXhwZWN0IDw8IEVPRgpBIFUgVGhvciAoNSk6CiAgICAgIFRlc3QKICAgICAgVGhpcyBpcyBhIHZlcnksIHZlcnkgbG9uZyBmaXJzdCBsaW5lIGZvciB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gc2VlIGlmCiAgICAgICAgIGl0IGlzIHdyYXBwZWQgY29ycmVjdGx5CiAgICAgIFRo8J2EnnMg8J2EnnMgYSB2ZXJ5LCB2ZXJ5IGxvbmcgZvCdhJ5yc3QgbPCdhJ5uZSBmb3IgdGhlIGNvbW3wnYSedCBtZXNzYWdlIHRvIHNlZSDwnYSeZgogICAgICAgICDwnYSedCDwnYSecyB3cmFwcGVkIGNvcnJlY3RseQogICAgICBUaPidhJ5zIPidhJ5zIGEgdmVyeSwgdmVyeSBsb25nIGb4nYSecnN0IGz4nYSebmUgZm9yIHRoZSBjb21t+J2EnnQKICAgICAgICAgbWVzc2FnZSB0byBzZWUg+J2EnmYg+J2EnnQg+J2EnnMgd3JhcHBlZCBjb3JyZWN0bHkKICAgICAgYQkJCQkJCQkJMTIJMzQKICAgICAgICAgNTYJNzgKCkVPRgoKdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvcnRsb2cgd3JhcHBpbmcnICdkaWZmIC11IGV4cGVjdCBvdXQnCgp0ZXN0X2RvbmUK