LyoKICogV3JpdHRlbiBieSBKLlQuIENvbmtsaW4gPGp0Y0BuZXRic2Qub3JnPi4KICogUHVibGljIGRvbWFpbi4KICovCgojaW5jbHVkZSA8bWFjaGluZS9hc20uaD4KClJDU0lEKCIkTmV0QlNEOiBzX2xvZzFwZi5TLHYgMS40IDE5OTUvMDUvMDkgMDA6MTM6MDUganRjIEV4cCAkIikKCgkuc2VjdGlvbiAucm9kYXRhCgoJLmFsaWduIEFMSUdOQVJHKDQpCgkvKiBUaGUgZnlsMnhwMSBjYW4gb25seSBiZSB1c2VkIGZvciB2YWx1ZXMgaW4KCQktMSArIHNxcnQoMikgLyAyIDw9IHggPD0gMSAtIHNxcnQoMikgLyAyCgkgICAwLjI5IGlzIGEgc2FmZSB2YWx1ZS4KCSovCmxpbWl0OgkuZmxvYXQgMC4yOQpvbmU6CS5mbG9hdCAxLjAKCi8qCiAqIFVzZSB0aGUgZnlsMnhwMSBmdW5jdGlvbiB3aGVuIHRoZSBhcmd1bWVudCBpcyBpbiB0aGUgcmFuZ2UgLTAuMjkgdG8gMC4yOSwKICogb3RoZXJ3aXNlIGZ5bDJ4IHdpdGggdGhlIG5lZWRlZCBleHRyYSBjb21wdXRhdGlvbi4KICovCgkudGV4dApFTlRSWShfX2xvZzFwZikKCWZsZGxuMgoKCWZsZHMJNCglZXNwKQoKI2lmZGVmCVBJQwoJTE9BRF9QSUNfUkVHIChkeCkKI2VuZGlmCgoJZnhhbQoJZm5zdHN3CglmbGQJJXN0CglzYWhmCglqYwkzZgkJLy8gaW4gY2FzZSB4IGlzIE5hTiBvciCxSW5mCjQ6CWZhYnMKI2lmZGVmIFBJQwoJZmNvbXBzCWxpbWl0QEdPVE9GRiglZWR4KQojZWxzZQoJZmNvbXBzCWxpbWl0CiNlbmRpZgoJZm5zdHN3CglzYWhmCglqYwkyZgoKI2lmZGVmIFBJQwoJZmFkZHMJb25lQEdPVE9GRiglZWR4KQojZWxzZQoJZmFkZHMJb25lCiNlbmRpZgoJZnlsMngKCXJldAoKMjoJZnlsMnhwMQoJcmV0CgozOglqcAk0YgkJLy8gaW4gY2FzZSB4IGlzILFJbmYKCWZzdHAJJXN0KDEpCglmc3RwCSVzdCgxKQoJcmV0CgpFTkQgKF9fbG9nMXBmKQp3ZWFrX2FsaWFzIChfX2xvZzFwZiwgbG9nMXBmKQo=