IyBPcHRpUE5HIHZlcnNpb24gMC43LjQKIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxMiBDb3NtaW4gVHJ1dGEgYW5kIHRoZSBDb250cmlidXRpbmcgQXV0aG9ycy4KIyBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIGRldGFpbHMuCiMKIyBBIENvbnRyaWJ1dGluZyBBdXRob3IgaXMgYSBwZXJzb24gb3IgY29tcGFueSB3aG8gY29udHJpYnV0ZWQgY29kZSB0aGF0CiMgaXMgbm93IHBhcnQgb2YgT3B0aVBORy4KIwojIEZvciB0aGUgcHVycG9zZSBvZiBjb3B5cmlnaHQgYW5kIGxpY2Vuc2luZywgdGhpcyBpcyB0aGUgb2ZmaWNpYWwgbGlzdAojIG9mIENvbnRyaWJ1dGluZyBBdXRob3JzLCBpbiBhbHBoYWJldGljIG9yZGVyLgoKQWRhbSBDaWFyY2luc2tpCkJyaWFuIE1jUXVhZGUKRWxpYXMgUGlwcGluZwpGYWJpZW4gQmFyYmllcgpNYWNpZWogUGlsaWNob3dza2kKTWF0dGhldyBGZWFybmxleQpOZWxzb24gQS4gZGUgT2xpdmVpcmEKTmllbHMgZGUgS29uaW5nClBldHIgR2FqZG9zClBpb3RyIEJhbmR1cnNraQpSYW1vbmEgQy4gVHJ1dGEKU2ViYXN0aWFuIFBpcHBpbmcKU3RlZmFuIEJy/G5zClRpbGwgTWFhcwpWaWxsZSBTa3l0dOQK