LyoKICogV3JpdHRlbiBieSBKLlQuIENvbmtsaW4gPGp0Y0BuZXRic2Qub3JnPi4KICogUHVibGljIGRvbWFpbi4KICovCgojaW5jbHVkZSA8bWFjaGluZS9hc20uaD4KClJDU0lEKCIkTmV0QlNEOiBzX2xvZzFwLlMsdiAxLjcgMTk5NS8wNS8wOSAwMDoxMDo1OCBqdGMgRXhwICQiKQoKCS5zZWN0aW9uIC5yb2RhdGEKCgkuYWxpZ24gQUxJR05BUkcoNCkKCS8qIFRoZSBmeWwyeHAxIGNhbiBvbmx5IGJlIHVzZWQgZm9yIHZhbHVlcyBpbgoJCS0xICsgc3FydCgyKSAvIDIgPD0geCA8PSAxIC0gc3FydCgyKSAvIDIKCSAgIDAuMjkgaXMgYSBzYWZlIHZhbHVlLgoJKi8KbGltaXQ6CS5kb3VibGUgMC4yOQpvbmU6CS5kb3VibGUgMS4wCgovKgogKiBVc2UgdGhlIGZ5bDJ4cDEgZnVuY3Rpb24gd2hlbiB0aGUgYXJndW1lbnQgaXMgaW4gdGhlIHJhbmdlIC0wLjI5IHRvIDAuMjksCiAqIG90aGVyd2lzZSBmeWwyeCB3aXRoIHRoZSBuZWVkZWQgZXh0cmEgY29tcHV0YXRpb24uCiAqLwoJLnRleHQKRU5UUlkoX19sb2cxcCkKCWZsZGxuMgoKCWZsZGwJNCglZXNwKQoKI2lmZGVmCVBJQwoJTE9BRF9QSUNfUkVHIChkeCkKI2VuZGlmCgoJZnhhbQoJZm5zdHN3CglmbGQJJXN0CglzYWhmCglqYwkzZgkJLy8gaW4gY2FzZSB4IGlzIE5hTiBvciCxSW5mCjQ6CWZhYnMKI2lmZGVmIFBJQwoJZmNvbXBsCWxpbWl0QEdPVE9GRiglZWR4KQojZWxzZQoJZmNvbXBsCWxpbWl0CiNlbmRpZgoJZm5zdHN3CglzYWhmCglqYwkyZgoKI2lmZGVmIFBJQwoJZmFkZGwJb25lQEdPVE9GRiglZWR4KQojZWxzZQoJZmFkZGwJb25lCiNlbmRpZgoJZnlsMngKCXJldAoKMjoJZnlsMnhwMQoJcmV0CgozOglqcAk0YgkJLy8gaW4gY2FzZSB4IGlzILFJbmYKCWZzdHAJJXN0KDEpCglmc3RwCSVzdCgxKQoJcmV0CgpFTkQgKF9fbG9nMXApCndlYWtfYWxpYXMgKF9fbG9nMXAsIGxvZzFwKQo=