I2lmbmRlZiBfTElCX0NISVBfU0FNQTVEM1hfDQojZGVmaW5lIF9MSUJfQ0hJUF9TQU1BNUQzWF8NCg0KLyoNCiAqIFBlcmlwaGVyYWxzIHJlZ2lzdGVycyBkZWZpbml0aW9ucw0KICovDQojaWYgZGVmaW5lZCBzYW1hNWQzeA0KICAgICNpbmNsdWRlICJpbmNsdWRlL1NBTUE1RDNYLmgiDQojZWxzZQ0KICAgICN3YXJuaW5nIExpYnJhcnkgZG9lcyBub3Qgc3VwcG9ydCB0aGUgc3BlY2lmaWVkIGNoaXAsIHNwZWNpZnlpbmcgYXRhNW1pdXJhLg0KICAgICNkZWZpbmUgc2FtYTVkM3gNCiAgICAjaW5jbHVkZSAiaW5jbHVkZS9TQU1BNUQzWC5oIg0KI2VuZGlmDQoNCg0KLyogRGVmaW5lIGF0dHJpYnV0ZSAqLw0KI2lmIGRlZmluZWQgICAoIF9fQ0NfQVJNICAgKSAvKiBLZWlsILVWaXNpb24gNCAqLw0KICAgICNkZWZpbmUgV0VBSyBfX2F0dHJpYnV0ZV9fICgod2VhaykpDQojZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApIC8qIElBUiBFd2FybSA1LjQxKyAqLw0KICAgICNkZWZpbmUgV0VBSyBfX3dlYWsNCiNlbGlmIGRlZmluZWQgKCAgX19HTlVDX18gICkgLyogR0NDIENTMyAyMDA5cTMtNjggKi8NCiAgICAjZGVmaW5lIFdFQUsgX19hdHRyaWJ1dGVfXyAoKHdlYWspKQ0KI2VuZGlmDQoNCi8qIERlZmluZSBOT19JTklUIGF0dHJpYnV0ZSBhbmQgY29tcGlsZXIgc3BlY2lmaWMgc3ltYm9scyAqLw0KI2lmIGRlZmluZWQgICAoIF9fQ0NfQVJNICAgKQ0KICAgICNkZWZpbmUgTk9fSU5JVA0KICAgICNkZWZpbmUgX19BU00gICAgICAgICAgICBfX2FzbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYXNtIGtleXdvcmQgZm9yIEFSTSBDb21waWxlciAgICAgICAgICAqLw0KICAgICNkZWZpbmUgX19JTkxJTkUgICAgICAgICBfX2lubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgaW5saW5lIGtleXdvcmQgZm9yIEFSTSBDb21waWxlciAgICAgICAqLw0KI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQ0KICAgICNkZWZpbmUgTk9fSU5JVCBfX25vX2luaXQNCiAgICAjZGVmaW5lIF9fQVNNICAgICAgICAgICBfX2FzbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGFzbSBrZXl3b3JkIGZvciBJQVIgQ29tcGlsZXIgICAgICAgICAgICovDQogICAgI2RlZmluZSBfX0lOTElORSAgICAgICAgaW5saW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBpbmxpbmUga2V5d29yZCBmb3IgSUFSIENvbXBpbGVyLiBPbmx5IGF2YWlhYmxlIGluIEhpZ2ggb3B0aW1pemF0aW9uIG1vZGUhICovDQojZWxpZiBkZWZpbmVkICggIF9fR05VQ19fICApDQogICAgI2RlZmluZSBfX0FTTSAgICAgICAgICAgIGFzbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBhc20ga2V5d29yZCBmb3IgR05VIENvbXBpbGVyICAgICAgICAgICovDQogICAgI2RlZmluZSBfX0lOTElORSAgICAgICAgIGlubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBpbmxpbmUga2V5d29yZCBmb3IgR05VIENvbXBpbGVyICAgICAgICovDQogICAgI2RlZmluZSBOT19JTklUDQojZW5kaWYNCg0KI2RlZmluZSBDUDE1X1BSRVNFTlQNCg0KLyoNCiAqIFBlcmlwaGVyYWxzDQogKi8NCiNpbmNsdWRlICJpbmNsdWRlL21tdS5oIg0KI2luY2x1ZGUgImNwMTUvY3AxNS5oIg0KI2luY2x1ZGUgImluY2x1ZGUvcnN0Yy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvYWRjLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9hc3luYy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvZW1hYy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvZ21hYy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvaHNtY2kuaCINCiNpbmNsdWRlICJpbmNsdWRlL2lycS5oIg0KI2luY2x1ZGUgImluY2x1ZGUvZnVzZS5oIg0KI2luY2x1ZGUgImluY2x1ZGUvcGlvLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9waW9faXQuaCINCiNpbmNsdWRlICJpbmNsdWRlL3BtYy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvcHdtYy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvcnRjLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9zbWNOZmMuaCINCiNpbmNsdWRlICJpbmNsdWRlL3NwaS5oIg0KI2luY2x1ZGUgImluY2x1ZGUvc3NjLmgiDQojaW5jbHVkZSAiaW5jbHVkZS90Yy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvdHdpLmgiDQojaW5jbHVkZSAiaW5jbHVkZS90d2lkLmgiDQojaW5jbHVkZSAiaW5jbHVkZS91c2FydC5oIg0KI2luY2x1ZGUgImluY2x1ZGUvcGl0LmgiIA0KI2luY2x1ZGUgImluY2x1ZGUvZG1hYy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvdWRwaHMuaCINCiNpbmNsdWRlICJpbmNsdWRlL2VtYWMuaCINCiNpbmNsdWRlICJpbmNsdWRlL2Nhbi5oIg0KI2luY2x1ZGUgImluY2x1ZGUvdHJhY2UuaCINCiNpbmNsdWRlICJpbmNsdWRlL3dkdC5oIg0KI2luY2x1ZGUgImluY2x1ZGUvdmlkZW8uaCINCiNpbmNsdWRlICJpbmNsdWRlL2lzaS5oIg0KI2luY2x1ZGUgImluY2x1ZGUvYWVzLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9zaGEuaCINCiNpbmNsdWRlICJpbmNsdWRlL3RkZXMuaCINCiNpbmNsdWRlICJpbmNsdWRlL3RybmcuaCINCiNlbmRpZiAvKiBfTElCX0NISVBfU0FNQTVEM1hfICovDQo=