LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgKGMpIFNZU1RFQyBlbGVjdHJvbmljIEdtYkgsIEQtMDc5NzMgR3JlaXosIEF1Z3VzdC1CZWJlbC1TdHIuIDI5CiAgICAgIHd3dy5zeXN0ZWMtZWxlY3Ryb25pYy5jb20KCiAgUHJvamVjdDogICAgICBvcGVuUE9XRVJMSU5LCgogIERlc2NyaXB0aW9uOiAgaW5jbHVkZSBmaWxlIGZvciBFUEwgZGVmYXVsdCBjb25zdGFudHMKCiAgTGljZW5zZToKCiAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogICAgYXJlIG1ldDoKCiAgICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgoKICAgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgoKICAgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgU1lTVEVDIGVsZWN0cm9uaWMgR21iSCBub3IgdGhlIG5hbWVzIG9mIGl0cwogICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCiAgICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIEZvciB3cml0dGVuCiAgICAgICBwZXJtaXNzaW9uLCBwbGVhc2UgY29udGFjdCBpbmZvQHN5c3RlYy1lbGVjdHJvbmljLmNvbS4KCiAgICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgICAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICAgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKICAgIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiAgICBDT1BZUklHSFQgSE9MREVSUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKICAgIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCiAgICBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CiAgICBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCiAgICBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKICAgIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCiAgICBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKICAgIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKICAgIFNldmVyYWJpbGl0eSBDbGF1c2U6CgogICAgICAgIElmIGEgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSBpcyBvciBiZWNvbWVzIGlsbGVnYWwsIGludmFsaWQgb3IKICAgICAgICB1bmVuZm9yY2VhYmxlIGluIGFueSBqdXJpc2RpY3Rpb24sIHRoYXQgc2hhbGwgbm90IGFmZmVjdDoKICAgICAgICAxLiB0aGUgdmFsaWRpdHkgb3IgZW5mb3JjZWFiaWxpdHkgaW4gdGhhdCBqdXJpc2RpY3Rpb24gb2YgYW55IG90aGVyCiAgICAgICAgICAgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZTsgb3IKICAgICAgICAyLiB0aGUgdmFsaWRpdHkgb3IgZW5mb3JjZWFiaWxpdHkgaW4gb3RoZXIganVyaXNkaWN0aW9ucyBvZiB0aGF0IG9yCiAgICAgICAgICAgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UuCgogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAgICAgICAgICAgICAkUkNTZmlsZTogRXBsRGVmLmgsdiAkCgogICAgICAgICAgICAgICAgJEF1dGhvcjogRC5LcnVlZ2VyICQKCiAgICAgICAgICAgICAgICAkUmV2aXNpb246IDEuMTUgJCAgJERhdGU6IDIwMDgvMTAvMTcgMTU6MzI6MzIgJAoKICAgICAgICAgICAgICAgICRTdGF0ZTogRXhwICQKCiAgICAgICAgICAgICAgICBCdWlsZCBFbnZpcm9ubWVudDoKICAgICAgICAgICAgICAgICAgICBHQ0MgVjMuNAoKICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogIFJldmlzaW9uIEhpc3Rvcnk6CgogIDIwMDYvMDUvMjIgZC5rLjogICBzdGFydCBvZiB0aGUgaW1wbGVtZW50YXRpb24sIHZlcnNpb24gMS4wMAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpZm5kZWYgX0VQTF9ERUZfSF8KI2RlZmluZSBfRVBMX0RFRl9IXwoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8gY29uc3QgZGVmaW5lcwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKI2RlZmluZSBFUExfQ19BRFJfQlJPQURDQVNUICAgICAgICAgMHhGRgkvLyBFUEwgYnJvYWRjYXN0IGFkZHJlc3MKI2RlZmluZSBFUExfQ19BRFJfRElBR19ERUZfTk9ERV9JRCAgMHhGRAkvLyBFUEwgZGVmYXVsdCBhZGRyZXNzIG9mIGRpZ25vc3RpYyBkZXZpY2UKI2RlZmluZSBFUExfQ19BRFJfRFVNTVlfTk9ERV9JRCAgICAgMHhGQwkvLyBFUEwgZHVtbXkgbm9kZSBhZGRyZXNzCiNkZWZpbmUgRVBMX0NfQURSX0lOVkFMSUQgICAgICAgICAgIDB4MDAJLy8gaW52YWxpZCBFUEwgYWRkcmVzcwojZGVmaW5lIEVQTF9DX0FEUl9NTl9ERUZfTk9ERV9JRCAgICAweEYwCS8vIEVQTCBkZWZhdWx0IGFkZHJlc3Mgb2YgTU4KI2RlZmluZSBFUExfQ19BRFJfUlQxX0RFRl9OT0RFX0lEICAgMHhGRQkvLyBFUEwgZGVmYXVsdCBhZGRyZXNzIG9mIHJvdXRlciB0eXBlIDEKI2RlZmluZSBFUExfQ19ETExfQVNORF9QUklPX05NVFJRU1QgNwkvLyBpbmNyZWFzZWQgQVNuZCByZXF1ZXN0IHByaW9yaXR5IHRvIGJlIHVzZWQgYnkgTk1UIFJlcXVlc3RzCiNkZWZpbmUgRVBMX0NfRExMX0FTTkRfUFJJT19TVEQgICAgIDAJLy8gc3RhbmRhcmQgQVNuZCByZXF1ZXN0IHByaW9yaXR5CiNkZWZpbmUgRVBMX0NfRExMX0VUSEVSVFlQRV9FUEwgICAgIDB4ODhBQgojZGVmaW5lIEVQTF9DX0RMTF9JU09DSFJfTUFYX1BBWUwgICAxNDkwCS8vIEJ5dGU6IG1heGltdW0gc2l6ZSBvZiBQUmVxIGFuZCBQUmVzIHBheWxvYWQgZGF0YSwgcmVxdWlyZXMgQ19JUF9NQVhfTVRVCiNkZWZpbmUgRVBMX0NfRExMX01BWF9BU1lOQ19NVFUgICAgIDE1MDAJLy8gQnl0ZTogbWF4aW11bSBhc3luY2hyb25vdXMgcGF5bG9hZCBpbiBieXRlcwojZGVmaW5lIEVQTF9DX0RMTF9NQVhfUEFZTF9PRkZTRVQgICAxNDk5CS8vIEJ5dGU6IG1heGltdW0gb2Zmc2V0IG9mIEV0aGVybmV0IGZyYW1lIHBheWxvYWQsIHJlcXVpcmVzIENfSVBfTUFYX01UVQojZGVmaW5lIEVQTF9DX0RMTF9NQVhfUlMgICAgICAgICAgICA3CiNkZWZpbmUgRVBMX0NfRExMX01JTl9BU1lOQ19NVFUgICAgIDI4MgkvLyBCeXRlOiBtaW5pbXVtIGFzeW5jaHJvbm91cyBwYXlsb2FkIGluIGJ5dGVzLgojZGVmaW5lIEVQTF9DX0RMTF9NSU5fUEFZTF9PRkZTRVQgICA0NQkvLyBCeXRlOiBtaW5pbXVtIG9mZnNldCBvZiBFdGhlcm5ldCBmcmFtZSBwYXlsb2FkCiNkZWZpbmUgRVBMX0NfRExMX01VTFRJQ0FTVF9BU05EICAgIDB4MDExMTFFMDAwMDA0TEwJLy8gRVBMIEFTbmQgbXVsdGljYXN0IE1BQyBhZGRyZXNzLCBjYW5vbmljYWwgZm9ybQojZGVmaW5lIEVQTF9DX0RMTF9NVUxUSUNBU1RfUFJFUyAgICAweDAxMTExRTAwMDAwMkxMCS8vIEVQTCBQUmVzIG11bHRpY2FzdCBNQUMgYWRkcmVzcywgY2Fub25pY2FsIGZvcm0KI2RlZmluZSBFUExfQ19ETExfTVVMVElDQVNUX1NPQSAgICAgMHgwMTExMUUwMDAwMDNMTAkvLyBFUEwgU29BIG11bHRpY2FzdCBNQUMgYWRkcmVzcywgY2Fub25pY2FsIGZvcm0KI2RlZmluZSBFUExfQ19ETExfTVVMVElDQVNUX1NPQyAgICAgMHgwMTExMUUwMDAwMDFMTAkvLyBFUEwgU29jIG11bHRpY2FzdCBNQUMgYWRkcmVzcywgY2Fub25pY2FsIGZvcm0KI2RlZmluZSBFUExfQ19ETExfUFJFT1AxX1NUQVJUX0NZQ0xFUyAxMAkvLyBudW1iZXIgb2YgdW5hc3NpZ25pbmcgU29BIGZyYW1lcyBhdCBzdGFydCBvZiBOTVRfTVNfUFJFX09QRVJBVElPTkFMXzEKI2RlZmluZSBFUExfQ19ETExfVF9CSVRUSU1FICAgICAgICAgMTAJLy8gbnM6IFRyYW5zbWlzc2lvbiB0aW1lIHBlciBiaXQgb24gMTAwIE1iaXQvcyBuZXR3b3JrCiNkZWZpbmUgRVBMX0NfRExMX1RfRVBMX1BET19IRUFERVIgIDEwCS8vIEJ5dGU6IHNpemUgb2YgUFJlcSBhbmQgUFJlcyBFUEwgUERPIG1lc3NhZ2UgaGVhZGVyCiNkZWZpbmUgRVBMX0NfRExMX1RfRVRIMl9XUkFQUEVSICAgIDE4CS8vIEJ5dGU6IHNpemUgb2YgRXRoZXJuZXQgdHlwZSBJSSB3cmFwcGVyIGNvbnNpc3Rpbmcgb2YgaGVhZGVyIGFuZCBjaGVja3N1bQojZGVmaW5lIEVQTF9DX0RMTF9UX0lGRyAgICAgICAgICAgICA2NDAJLy8gbnM6IEV0aGVybmV0IEludGVyZnJhbWUgR2FwCiNkZWZpbmUgRVBMX0NfRExMX1RfTUlOX0ZSQU1FICAgICAgIDUxMjAJLy8gbnM6IFNpemUgb2YgbWluaW11bSBFdGhlcm5ldCBmcmFtZSAod2l0aG91dCBwcmVhbWJsZSkKI2RlZmluZSBFUExfQ19ETExfVF9QUkVBTUJMRSAgICAgICAgOTYwCS8vIG5zOiBTaXplIG9mIEV0aGVybmV0IGZyYW1lIHByZWFtYmxlCgojZGVmaW5lIEVQTF9DX0RMTF9NSU5TSVpFX1NPQyAgICAgICAzNgkvLyBtaW5pbXVtIHNpemUgb2YgU29DIHdpdGhvdXQgcGFkZGluZyBhbmQgQ1JDCiNkZWZpbmUgRVBMX0NfRExMX01JTlNJWkVfUFJFUSAgICAgIDYwCS8vIG1pbmltdW0gc2l6ZSBvZiBQUmVjIHdpdGhvdXQgQ1JDCiNkZWZpbmUgRVBMX0NfRExMX01JTlNJWkVfUFJFUyAgICAgIDYwCS8vIG1pbmltdW0gc2l6ZSBvZiBQUmVzIHdpdGhvdXQgQ1JDCiNkZWZpbmUgRVBMX0NfRExMX01JTlNJWkVfU09BICAgICAgIDI0CS8vIG1pbmltdW0gc2l6ZSBvZiBTb0Egd2l0aG91dCBwYWRkaW5nIGFuZCBDUkMKI2RlZmluZSBFUExfQ19ETExfTUlOU0laRV9JREVOVFJFUyAgMTc2CS8vIG1pbmltdW0gc2l6ZSBvZiBJZGVudFJlc3BvbnNlIHdpdGhvdXQgQ1JDCiNkZWZpbmUgRVBMX0NfRExMX01JTlNJWkVfU1RBVFVTUkVTIDcyCS8vIG1pbmltdW0gc2l6ZSBvZiBTdGF0dXNSZXNwb25zZSB3aXRob3V0IENSQwojZGVmaW5lIEVQTF9DX0RMTF9NSU5TSVpFX05NVENNRCAgICAyMAkvLyBtaW5pbXVtIHNpemUgb2YgTm10Q29tbWFuZCB3aXRob3V0IENvbW1hbmREYXRhLCBwYWRkaW5nIGFuZCBDUkMKI2RlZmluZSBFUExfQ19ETExfTUlOU0laRV9OTVRDTURFWFQgNTIJLy8gbWluaW11bSBzaXplIG9mIE5tdENvbW1hbmQgd2l0aG91dCBwYWRkaW5nIGFuZCBDUkMKI2RlZmluZSBFUExfQ19ETExfTUlOU0laRV9OTVRSRVEgICAgMjAJLy8gbWluaW11bSBzaXplIG9mIE5tdFJlcXVlc3Qgd2l0aG91dCBDb21tYW5kRGF0YSwgcGFkZGluZyBhbmQgQ1JDCiNkZWZpbmUgRVBMX0NfRExMX01JTlNJWkVfTk1UUkVRRVhUIDUyCS8vIG1pbmltdW0gc2l6ZSBvZiBObXRSZXF1ZXN0IHdpdGhvdXQgcGFkZGluZyBhbmQgQ1JDCgojZGVmaW5lIEVQTF9DX0VSUl9NT05JVE9SX0RFTEFZICAgICAxMAkvLyBFcnJvciBtb25pdG9yaW5nIHN0YXJ0IGRlbGF5IChub3QgdXNlZCBpbiBEUyAxLjAuMCkKI2RlZmluZSBFUExfQ19JUF9BRFJfSU5WQUxJRCAgICAgICAgMHgwMDAwMDAwMEwJLy8gaW52YWxpZCBJUCBhZGRyZXNzICgwLjAuMC4wKSB1c2VkIHRvIGluZGljYXRlIG5vIGNoYW5nZQojZGVmaW5lIEVQTF9DX0lQX0lOVkFMSURfTVRVICAgICAgICAwCS8vIEJ5dGU6IGludmFsaWQgTVRVIHNpemUgdXNlZCB0byBpbmRpY2F0ZSBubyBjaGFuZ2UKI2RlZmluZSBFUExfQ19JUF9NQVhfTVRVICAgICAgICAgICAgMTUxOAkvLyBCeXRlOiBtYXhpbXVtIHNpemUgaW4gYnl0ZXMgb2YgdGhlIElQIHN0YWNrIHdoaWNoIG11c3QgYmUgcHJvY2Vzc2VkLgojZGVmaW5lIEVQTF9DX0lQX01JTl9NVFUgICAgICAgICAgICAzMDAJLy8gQnl0ZTogbWluaW11bSBzaXplIGluIGJ5dGVzIG9mIHRoZSBJUCBzdGFjayB3aGljaCBtdXN0IGJlIHByb2Nlc3NlZC4KI2RlZmluZSBFUExfQ19OTVRfU1RBVEVfVE9MRVJBTkNFICAgNQkvLyBDeWNsZXM6IG1heGltdW0gcmVhY3Rpb24gdGltZSB0byBOTVQgc3RhdGUgY29tbWFuZHMKI2RlZmluZSBFUExfQ19OTVRfU1RBVFJFUV9DWUNMRSAgICAgNQkvLyBzZWM6IFN0YXR1c1JlcXVlc3QgY3ljbGUgdGltZSB0byBiZSBhcHBsaWVkIHRvIEFzeW5jT25seSBDTnMKI2RlZmluZSBFUExfQ19TRE9fRVBMX1BPUlQgICAgICAgICAgMzgxOQoKI2RlZmluZSBFUExfQ19ETExfTUFYX0FTTkRfU0VSVklDRV9JRFMgIDUJLy8gc2VlIHRFcGxEbGxBc25kU2VydmljZUlkIGluIEVwbERsbC5oCgovLyBEZWZhdWx0IGNvbmZpZ3VyYXRpb24KLy8gPT09PT09PT09PT09PT09PT09PT09PQoKI2lmbmRlZiBFUExfRF9QRE9fR3JhbnVsYXJpdHlfVTgKI2RlZmluZSBFUExfRF9QRE9fR3JhbnVsYXJpdHlfVTggICAgOAkvLyBtaW5pbXVtIHNpemUgb2Ygb2JqZWN0cyB0byBiZSBtYXBwZWQgaW4gYml0cyBVTlNJR05FRDggTyBPIDEgMQojZW5kaWYKCiNpZm5kZWYgRVBMX05NVF9NQVhfTk9ERV9JRAojZGVmaW5lIEVQTF9OTVRfTUFYX05PREVfSUQgICAgICAgICAyNTQJLy8gbWF4aW11bSBub2RlLUlECiNlbmRpZgoKI2lmbmRlZiBFUExfRF9OTVRfTWF4Q05OdW1iZXJfVTgKI2RlZmluZSBFUExfRF9OTVRfTWF4Q05OdW1iZXJfVTggICAgMjM5CS8vIG1heGltdW0gbnVtYmVyIG9mIHN1cHBvcnRlZCByZWd1bGFyIENOcyBpbiB0aGUgTm9kZSBJRCByYW5nZSAxIC4uIDIzOSBVTlNJR05FRDggTyBPIDIzOSAyMzkKI2VuZGlmCgovLyBkZWZpbmVzIGZvciBFUEwgQVBJIGxheWVyIHN0YXRpYyBwcm9jZXNzIGltYWdlCiNpZm5kZWYgRVBMX0FQSV9QUk9DRVNTX0lNQUdFX1NJWkVfSU4KI2RlZmluZSBFUExfQVBJX1BST0NFU1NfSU1BR0VfU0laRV9JTiAgIDAKI2VuZGlmCgojaWZuZGVmIEVQTF9BUElfUFJPQ0VTU19JTUFHRV9TSVpFX09VVAojZGVmaW5lIEVQTF9BUElfUFJPQ0VTU19JTUFHRV9TSVpFX09VVCAgMAojZW5kaWYKCi8vIGNvbmZpZ3VyZSB3aGV0aGVyIE9EIGFjY2VzcyBldmVudHMgc2hhbGwgYmUgZm9yd2FyZGVkCi8vIHRvIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCi8vIEJlY2F1c2Ugb2YgcmVlbnRyYW5jeSBmb3IgbG9jYWwgT0QgYWNjZXNzZXMsIHRoaXMgaGFzIHRvIGJlIGRpc2FibGVkCi8vIHdoZW4gYXBwbGljYXRpb24gcmVzaWRlcyBpbiBvdGhlciBhZGRyZXNzIHNwYWNlIGFzIHRoZSBzdGFjayAoZS5nLiBpZgovLyBFcGxBcGlMaW51eFVzZXIuYyBhbmQgRXBsQXBpTGludXhLZXJuZWwuYyBhcmUgdXNlZCkKI2lmbmRlZiBFUExfQVBJX09CRF9GT1JXQVJEX0VWRU5UCiNkZWZpbmUgRVBMX0FQSV9PQkRfRk9SV0FSRF9FVkVOVCAgICAgICBUUlVFCiNlbmRpZgoKI2lmbmRlZiBFUExfT0JEX01BWF9TVFJJTkdfU0laRQojZGVmaW5lIEVQTF9PQkRfTUFYX1NUUklOR19TSVpFICAgICAgICAzMgkvLyBpcyB1c2VkIGZvciBvYmplY3RzIDB4MTAwOC8weDEwMDkvMHgxMDBBCiNlbmRpZgoKI2lmbmRlZiBFUExfT0JEX1VTRV9TVE9SRV9SRVNUT1JFCiNkZWZpbmUgRVBMX09CRF9VU0VfU1RPUkVfUkVTVE9SRSAgICAgICBGQUxTRQojZW5kaWYKCiNpZm5kZWYgRVBMX09CRF9DSEVDS19PQkpFQ1RfUkFOR0UKI2RlZmluZSBFUExfT0JEX0NIRUNLX09CSkVDVF9SQU5HRSAgICAgIFRSVUUKI2VuZGlmCgojaWZuZGVmIEVQTF9PQkRfVVNFX1NUUklOR19ET01BSU5fSU5fUkFNCiNkZWZpbmUgRVBMX09CRF9VU0VfU1RSSU5HX0RPTUFJTl9JTl9SQU0gICAgVFJVRQojZW5kaWYKCiNpZm5kZWYgRVBMX09CRF9VU0VfVkFSSUFCTEVfU1VCSU5ERVhfVEFCCiNkZWZpbmUgRVBMX09CRF9VU0VfVkFSSUFCTEVfU1VCSU5ERVhfVEFCICAgVFJVRQojZW5kaWYKCiNpZm5kZWYgRVBMX09CRF9VU0VfS0VSTkVMCiNpZiAoKChFUExfTU9EVUxFX0lOVEVHUkFUSU9OKSAmIChFUExfTU9EVUxFX09CRFUpKSA9PSAwKQojZGVmaW5lIEVQTF9PQkRfVVNFX0tFUk5FTCAgICAgICAgICAgICAgICAgIFRSVUUKI2Vsc2UKI2RlZmluZSBFUExfT0JEX1VTRV9LRVJORUwgICAgICAgICAgICAgICAgICBGQUxTRQojZW5kaWYKI2VuZGlmCgojaWZuZGVmIEVQTF9PQkRfSU5DTFVERV9BMDAwX1RPX0RFVklDRV9QQVJUCiNkZWZpbmUgRVBMX09CRF9JTkNMVURFX0EwMDBfVE9fREVWSUNFX1BBUlQgRkFMU0UKI2VuZGlmCgojaWZuZGVmIEVQTF9WRVRIX05BTUUKI2RlZmluZSBFUExfVkVUSF9OQU1FICAgICAgICJlcGwiCS8vIG5hbWUgb2YgbmV0IGRldmljZSBpbiBMaW51eAojZW5kaWYKCi8qCiNkZWZpbmUgRVBMX0RfQ0ZHX0NvbmZpZ01hbmFnZXJfQk9PTCAvLyBBYmlsaXR5IG9mIGEgTU4gbm9kZSB0byBwZXJmb3JtIENvbmZpZ3VyYXRpb24gTWFuYWdlciBmdW5jdGlvbnMgQk9PTEVBTiBPIC0gTiAtCiNkZWZpbmUgRVBMX0RfQ0ZNX1ZlcmlmeUNvbmZfQk9PTCAgIC8vIFN1cHBvcnQgb2Ygb2JqZWN0cyBDRk1fVmVyaWZ5Q29uZmlndXJhdGlvbl9SRUMsIENGTV9FeHBDb25mRGF0ZUxpc3RfQVUzMiwgQ0ZNX0V4cENvbmZUaW1lTGlzdF9BVTMyIEJPT0xFQU4gTyBPIE4gTgojZGVmaW5lIEVQTF9EX0NGTV9WZXJpZnlDb25mSWRfQk9PTCAvLyBTdXBwb3J0IG9mIG9iamVjdHMgQ0ZNX1ZlcmlmeUNvbmZpZ3VyYXRpb25fUkVDLkNvbmZJZF9VMzIgYW5kIENGTV9FeHBDb25mSWRMaXN0X0FVMzIgQk9PTEVBTiBPIE8gTiBOCiNkZWZpbmUgRVBMX0RfRExMX0NORmVhdHVyZUlzb2Nocl9CT09MIC8vIENOknMgYWJpbGl0eSB0byBwZXJmb3JtIGlzb2Nocm9ub3VzIGZ1bmN0aW9ucyBCT09MRUFOIC0gTyAtIFkKI2RlZmluZSBFUExfRF9ETExfQ05GZWF0dXJlTXVsdGlwbGV4X0JPT0wgLy8gbm9kZZJzIGFiaWxpdHkgdG8gcGVyZm9ybSBjb250cm9sIG9mIG11bHRpcGxleGVkIGlzb2Nocm9ub3VzIGNvbW11bmljYXRpb24gQk9PTEVBTiAtIE8gLSBOCiNkZWZpbmUgRVBMX0RfRExMX0ZlYXR1cmVDTl9CT09MIC8vIG5vZGWScyBhYmlsaXR5IHRvIHBlcmZvcm0gQ04gZnVuY3Rpb25zIEJPT0xFQU4gTyBPIFkgWQojZGVmaW5lIEVQTF9EX0RMTF9GZWF0dXJlTU5fQk9PTCAvLyBub2RlknMgYWJpbGl0eSB0byBwZXJmb3JtIE1OIGZ1bmN0aW9ucyBCT09MRUFOIE0gTyAtIE4KI2RlZmluZSBFUExfRF9ETExfTU5GZWF0dXJlTXVsdGlwbGV4X0JPT0wgLy8gTU6ScyBhYmlsaXR5IHRvIHBlcmZvcm0gY29udHJvbCBvZiBtdWx0aXBsZXhlZCBpc29jaHJvbm91cyBjb21tdW5pY2F0aW9uIEJPT0xFQU4gTyAtIFkgLQojZGVmaW5lIEVQTF9EX0RMTF9NTkZlYXR1cmVQUmVzVHhfQk9PTCAvLyBNTpJzIGFiaWxpdHkgdG8gdHJhbnNtaXQgUFJlcyBCT09MRUFOIE8gLSBZIC0KI2RlZmluZSBFUExfRF9OTVRfQVNuZFJ4TWF4UGF5bG9hZF9VMTYgLy8gc2l6ZSBvZiBBU25kIGZyYW1lIHJlY2VpdmUgYnVmZmVyIFVOU0lHTkVEMTYgTSBNIC0gLQojZGVmaW5lIEVQTF9EX05NVF9BU25kVHhNYXhQYXlsb2FkX1UxNiAvLyBzaXplIG9mIEFTbmQgZnJhbWUgdHJhbnNtaXQgYnVmZmVyIFVOU0lHTkVEMTYgTSBNIC0gLQojZGVmaW5lIEVQTF9EX05NVF9DTkFTbmQyU29DX1UzMiAvLyBtaW5pbXVtIGRlbGF5IGJldHdlZW4gZW5kIG9mIHJlY2VwdGlvbiBvZiBBU25kIGFuZCBzdGFydCBvZiByZWNlcHRpb24gb2YgU29DIFVOU0lHTkVEMzIgLSBNIC0gLQojZGVmaW5lIEVQTF9EX05NVF9DTkFTbmRNYXhMYXRlbmN5X1UzMiAvLyBkZWxheSBiZXR3ZWVuIGVuZCBvZiBTb0EgcmVjZXB0aW9uIGFuZCBzdGFydCBvZiBBU25kIHRyYW5zbWlzc2lvbiBVTlNJR05FRDMyIC0gTSAtIC0KI2RlZmluZSBFUExfRF9OTVRfQ05QUmVzTWF4TGF0ZW5jeV9VMzIgLy8gZGVsYXkgYmV0d2VlbiBlbmQgb2YgUFJlcSByZWNlcHRpb24gYW5kIHN0YXJ0IG9mIFBSZXMgdHJhbnNtaXNzaW9uIFVOU0lHTkVEMzIgLSBNIC0gLQojZGVmaW5lIEVQTF9EX05NVF9DTlNvQzJQUmVxX1UzMiAvLyBDTiBTb0MgaGFuZGxpbmcgbWF4aW11bSB0aW1lLCBhIHN1YnNlcXVlbnQgUFJlcSB3b26SdCBiZSBoYW5kbGVkIGJlZm9yZSBTb0MgaGFuZGxpbmcgd2FzIGZpbmlzaGVkIFVOU0lHTkVEMzIgLSBNIC0gLQojZGVmaW5lIEVQTF9EX05NVF9EZXZpY2VUeXBlX1UzMiAvLyBEZXZpY2UgVHlwZSBJRCBVTlNJR05FRDMyIE0gTSAtIC0KI2RlZmluZSBFUExfRF9OTVRfRVBMVmVyc19VOCBFUEwgLy8gVmVyc2lvbiBpbXBsZW1lbnRlZCBieSB0aGUgZGV2aWNlIFVOU0lHTkVEOCBNIE0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX0V4dFN0YXRlQ21kX0JPT0wgLy8gYWJpdGlsdHkgdG8gc3VwcG9ydCBFeHRlbmRlZCBOTVQgU3RhdGUgQ29tbWFuZHMgQk9PTEVBTiBPIE8gWSBZCiNkZWZpbmUgRVBMX0RfTk1UX0luZm9TdmNfQk9PTCAvLyBhYmlsaXR5IHRvIHN1cHBvcnQgTk1UIEluZm8gU2VydmljZXMgQk9PTEVBTiBPIC0gWSAtCiNkZWZpbmUgRVBMX0RfTk1UX0ludGVyZmFjZUFkZHJfWGhfT1NUUiAvLyBQaHlzaWNhbCBBZGRyZXNzIG9mIEludGVyZmFjZSBOby4gWGggT0NURVRfU1RSSU5HIE0gTSAtIC0KI2RlZmluZSBFUExfRF9OTVRfSW50ZXJmYWNlRGVzY3JfWGhfVlNUUiAvLyBEZXNjcmlwdGlvbiB0ZXh0IG9mIEludGVyZmFjZSBOby4gWGggVklTSUJMRV9TVFJJTkdNIE0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX0ludGVyZmFjZU10dV9YaF9VMzIgLy8gTVRVIG9mIEludGVyZmFjZSBOby4gWGggVU5TSUdORUQzMiBNIE0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX0ludGVyZmFjZVR5cGVfWGhfVTggLy8gVHlwZSBvZiBJbnRlcmZhY2UgTm8uIFhoIFVOU0lHTkVEOCBNIE0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX0lzb2NoclJ4TWF4UGF5bG9hZF9VMTYgLy8gc2l6ZSBvZiBpc29jaHJvbm91cyBmcmFtZSByZWNlaXZlIGJ1ZmZlciBVTlNJR05FRDE2IE0gTSAtIC0KI2RlZmluZSBFUExfRF9OTVRfSXNvY2hyVHhNYXhQYXlsb2FkX1UxNiAvLyBzaXplIG9mIGlzb2Nocm9ub3VzIGZyYW1lIHRyYW5zbWl0IGJ1ZmZlciBVTlNJR05FRDE2IE0gTSAtIC0KI2RlZmluZSBFUExfRF9OTVRfTWFudWZhY3REZXZOYW1lX1ZTIC8vIE1hbnVmYWN0dXJlciBEZXZpY2UgTmFtZSBWSVNJQkxFX1NUUklORyBPIE8gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX01hbnVmYWN0SHdWZXJzX1ZTIC8vIE1hbnVmYWN0dXJlciBIVyB2ZXJzaW9uIFZJU0lCTEVfU1RSSU5HIE8gTyAtIC0KI2RlZmluZSBFUExfRF9OTVRfTWFudWZhY3RTd1ZlcnNfVlMgLy8gTWFudWZhY3R1cmVyIFNXIHZlcnNpb24gVklTSUJMRV9TVFJJTkcgTyBPIC0gLQojZGVmaW5lIEVQTF9EX05NVF9NYXhDTk5vZGVJRF9VOCAvLyBtYXhpbXVtIE5vZGUgSUQgYXZhaWxhYmxlIGZvciByZWd1bGFyIENOcyB0aGUgZW50cnkgcHJvdmlkZXMgYW4gdXBwZXIgbGltaXQgdG8gdGhlIE5vZGVJRCBhdmFpbGFibGUgZm9yIGNyb3NzIHRyYWZmaWMgUERPIHJlY2VwdGlvbiBmcm9tIGEgcmVndWxhciBDTiBVTlNJR05FRDggTyBPIDIzOSAyMzkKI2RlZmluZSBFUExfRF9OTVRfTWF4Q05OdW1iZXJfVTggLy8gbWF4aW11bSBudW1iZXIgb2Ygc3VwcG9ydGVkIHJlZ3VsYXIgQ05zIGluIHRoZSBOb2RlIElEIHJhbmdlIDEgLi4gMjM5IFVOU0lHTkVEOCBPIE8gMjM5IDIzOQojZGVmaW5lIEVQTF9EX05NVF9NYXhIZWFydGJlYXRzX1U4IC8vIG51bWJlciBvZiBndWFyZCBjaGFubmVscyBVTlNJR05FRDggTyBPIDI1NCAyNTQKI2RlZmluZSBFUExfRF9OTVRfTU5BU25kMlNvQ19VMzIgLy8gbWluaW11bSBkZWxheSBiZXR3ZWVuIGVuZCBvZiByZWNlcHRpb24gb2YgQVNuZCBhbmQgc3RhcnQgb2YgdHJhbnNtaXNzaW9uIG9mIFNvQyBVTlNJR05FRDMyIE0gLSAtIC0KI2RlZmluZSBFUExfRF9OTVRfTU5NdWx0aXBsQ3ljTWF4X1U4IC8vIG1heGltdW0gbnVtYmVyIG9mIEVQTCBjeWNsZXMgcGVyIG11bHRpcGxleGVkIGN5Y2xlIFVOU0lHTkVEOCBPIC0gMCAtCiNkZWZpbmUgRVBMX0RfTk1UX01OUFJlczJQUmVxX1UzMiAvLyBkZWxheSBiZXR3ZWVuIGVuZCBvZiBQUmVzIHJlY2VwdGlvbiBhbmQgc3RhcnQgb2YgUFJlcSB0cmFuc21pc3Npb24gVU5TSUdORUQzMiBNIC0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX01OUFJlczJQUmVzX1UzMiAvLyBkZWxheSBiZXR3ZWVuIGVuZCBvZiByZWNlcHRpb24gb2YgUFJlcyBmcm9tIENObiBhbmQgc3RhcnQgb2YgdHJhbnNtaXNzaW9uIG9mIFBSZXMgYnkgTU4gVU5TSUdORUQzMiBNIC0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX01OUFJlc1J4MlNvQV9VMzIgLy8gZGVsYXkgYmV0d2VlbiBlbmQgb2YgcmVjZXB0aW9uIG9mIFBSZXMgZnJvbSBDTm4gYW5kIHN0YXJ0IG9mIHRyYW5zbWlzc2lvbiBvZiBTb0EgYnkgTU4gVU5TSUdORUQzMiBNIC0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX01OUFJlc1R4MlNvQV9VMzIgLy8gZGVsYXkgYmV0d2VlbiBlbmQgb2YgUFJlcyB0cmFuc21pc3Npb24gYnkgTU4gYW5kIHN0YXJ0IG9mIHRyYW5zbWlzc2lvbiBvZiBTb0EgYnkgTU4gVU5TSUdORUQzMiBNIC0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX01OU29BMkFTbmRUeF9VMzIgLy8gZGVsYXkgYmV0d2VlbiBlbmQgb2YgdHJhbnNtaXNzaW9uIG9mIFNvQSBhbmQgc3RhcnQgb2YgdHJhbnNtaXNzaW9uIG9mIEFTbmQgYnkgTU4gVU5TSUdORUQzMiBNIC0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX01OU29DMlBSZXFfVTMyIC8vIE1OIG1pbmltdW0gZGVsYXkgYmV0d2VlbiBlbmQgb2YgU29DIHRyYW5zbWlzc2lvbiBhbmQgc3RhcnQgb2YgUFJlcSB0cmFuc21pc3Npb24gVU5TSUdORUQzMiBNIC0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX05NVFN2Y1ZpYVVEUElQX0JPT0wgLy8gQWJpbGl0eSBvZiBhIG5vZGUgdG8gcGVyZm9ybSBOTVQgc2VydmljZXMgdmlhIFVEUC9JUCBCT09MRUFOIE8gLSBZIC0KI2RlZmluZSBFUExfRF9OTVRfTm9kZUlEQnlIV19CT09MIC8vIEFiaWxpdHkgb2YgYSBub2RlIHRvIHN1cHBvcnQgTm9kZUlEIHNldHVwIGJ5IEhXIEJPT0xFQU4gTyBPIFkgWQojZGVmaW5lIEVQTF9EX05NVF9Ob2RlSURCeVNXX0JPT0wgLy8gQWJpbGl0eSBvZiBhIG5vZGUgdG8gc3VwcG9ydCBOb2RlSUQgc2V0dXAgYnkgU1cgQk9PTEVBTiBPIE8gTiBOCiNkZWZpbmUgRVBMX0RfTk1UX1Byb2R1Y3RDb2RlX1UzMiAvLyBJZGVudGl0eSBPYmplY3QgUHJvZHVjdCBDb2RlIFVOU0lHTkVEMzIgTSBNIC0gLQojZGVmaW5lIEVQTF9EX05NVF9SZXZpc2lvbk5vX1UzMiAvLyBJZGVudGl0eSBPYmplY3QgUmV2aXNpb24gTnVtYmVyIFVOU0lHTkVEMzIgTSBNIC0gLQojZGVmaW5lIEVQTF9EX05NVF9TZXJpYWxOb19VMzIgLy8gSWRlbnRpdHkgT2JqZWN0IFNlcmlhbCBOdW1iZXIgVU5TSUdORUQzMiBNIE0gLSAtCiNkZWZpbmUgRVBMX0RfTk1UX1NpbXBsZUJvb3RfQk9PTCAvLyBBYmlsaXR5IG9mIGEgTU4gbm9kZSB0byBwZXJmb3JtIFNpbXBsZSBCb290IFByb2Nlc3MsIGlmIG5vdCBzZXQgSW5kaXZ1YWwgQm9vdCBQcm9jZXNzIHNoYWxsIGJlIHByb3ZpY2VkIEJPT0xFQU4gTSAtIC0gLQojZGVmaW5lIEVQTF9EX05NVF9WZW5kb3JJRF9VMzIgLy8gSWRlbnRpdHkgT2JqZWN0IFZlbmRvciBJRCBVTlNJR05FRDMyIE0gTSAtIC0KI2RlZmluZSBFUExfRF9OV0xfRm9yd2FyZF9CT09MIC8vIEFiaWxpdHkgb2Ygbm9kZSB0byBmb3J3YXJkIGRhdGFncmFtcyBCT09MRUFOIE8gTyBOIE4KI2RlZmluZSBFUExfRF9OV0xfSVBTdXBwb3J0X0JPT0wgLy8gQWJpbGl0eSBvZiB0aGUgbm9kZSBjdW1tdW5pY2F0ZSB2aWEgSVAgQk9PTEVBTiAtIC0gWSBZCiNkZWZpbmUgRVBMX0RfUERPX0R5bmFtaWNNYXBwaW5nX0JPT0wgLy8gQWJpbGl0eSBvZiBhIG5vZGUgdG8gcGVyZm9ybSBkeW5hbWljIFBETyBtYXBwaW5nIEJPT0xFQU4gTyBPIFkgWQojZGVmaW5lIEVQTF9EX1BET19NYXhEZXNjck1lbV9VMzIgLy8gbWF4aW11bSBjdW11bGF0aXZlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiBUUERPIGFuZCBSUERPIGRlc2NyaWJpbmcgb2JqZWN0cyBpbiBieXRlIFVOU0lHTkVEMzIgTyBPIE1BWF9VMzIgTUFYX1UzMgojZGVmaW5lIEVQTF9EX1BET19SUERPQ2hhbm5lbHNfVTggLy8gbnVtYmVyIG9mIHN1cHBvcnRlZCBSUERPIGNoYW5uZWxzIFVOU0lHTkVEOCBPIE8gMjU2IDI1NgojZGVmaW5lIEVQTF9EX1BET19SUERPTWF4TWVtX1UzMiAvLyBNYXhpbXVtIG1lbW9yeSBhdmFpbGFibGUgZm9yIFJQRE8gZGF0YSBwZXIgRVBMIGN5Y2xlIGluIGJ5dGUgVU5TSUdORUQzMiBPIE8gTUFYX1UzMiBNQVhfVTMyCiNkZWZpbmUgRVBMX0RfUERPX1JQRE9PYmplY3RzX1U4IC8vIE51bWJlciBvZiBzdXBwb3J0ZWQgbWFwcGVkIG9iamVjdHMgcGVyIFJQRE8gY2hhbm5lbCBVTlNJR05FRDggTyBPIDI1NCAyNTQKI2RlZmluZSBFUExfRF9QRE9fVFBET0NoYW5uZWxzX1U4IC8vIG51bWJlciBvZiBzdXBwb3J0ZWQgVFBETyBjaGFubmVscyBVTlNJR05FRDggTyAtIDI1NiAtCiNkZWZpbmUgRVBMX0RfUERPX1RQRE9NYXhNZW1fVTMyIC8vIE1heGltdW0gbWVtb3J5IGF2YWlsYWJsZSBmb3IgVFBETyBkYXRhIHBlciBFUEwgY3ljbGUgaW4gYnl0ZSBVTlNJR05FRDMyIE8gTyBNQVhfVTMyIE1BWF9VMzIKI2RlZmluZSBFUExfRF9QRE9fVFBET09iamVjdHNfVTggLy8gTnVtYmVyIG9mIHN1cHBvcnRlZCBtYXBwZWQgb2JqZWN0cyBwZXIgVFBETyBjaGFubmVsIFVOU0lHTkVEOCBPIE8gMjU0IDI1NAojZGVmaW5lIEVQTF9EX1NET19WaWFBU25kX0JPT0wgLy8gQWJpbGl0eSBvZiBhIENOIHRvIHBlcmZvcm0gU0RPIHRyYW5zZmVyIGJ5IEVQTCBBU25kIEJPT0xFQU4gLSBNIC0gLQojZGVmaW5lIEVQTF9EX1NET19WaWFQRE9fQk9PTCAvLyBBYmlsaXR5IG9mIGEgbm9kZSB0byBwZXJmb3JtIFNETyB0cmFuc2ZlciBieSBQRE8gQk9PTEVBTiBPIE8gTiBOCiNkZWZpbmUgRVBMX0RfU0RPX1ZpYVVEUElQX0JPT0wgLy8gQWJpbGl0eSBvZiBhIENOIHRvIHBlcmZvcm0gU0RPIHRyYW5zZmVyIGJ5IFVEUC9JUCBCT09MRUFOIC0gTSAtIC0KI2RlZmluZSBFUExfRF9TWU5fT3B0aW1pemVkU3luY19CT09MIC8vIEFiaWxpdHkgb2Ygbm9kZSB0byBwZXJmb3JtIG9wdGltaXplZCBzeW5jaHJvbmlzYXRpb24gQk9PTEVBTiBPIE8gTiBOCiovCgovLyBFbWVyZ2VuY3kgZXJyb3IgY29kZXMKLy8gPT09PT09PT09PT09PT09PT09PT09PQojZGVmaW5lIEVQTF9FX05PX0VSUk9SICAgICAgICAgICAgICAgICAgMHgwMDAwCi8vIDB4Rnh4eCBtYW51ZmFjdHVyZXIgc3BlY2lmaWMgZXJyb3IgY29kZXMKI2RlZmluZSBFUExfRV9OTVRfTk9fSURFTlRfUkVTICAgICAgICAgIDB4RjAwMQojZGVmaW5lIEVQTF9FX05NVF9OT19TVEFUVVNfUkVTICAgICAgICAgMHhGMDAyCgovLyAweDgxNnggSFcgZXJyb3JzCiNkZWZpbmUgRVBMX0VfRExMX0JBRF9QSFlTX01PREUgICAgICAgICAweDgxNjEKI2RlZmluZSBFUExfRV9ETExfQ09MTElTSU9OICAgICAgICAgICAgIDB4ODE2MgojZGVmaW5lIEVQTF9FX0RMTF9DT0xMSVNJT05fVEggICAgICAgICAgMHg4MTYzCiNkZWZpbmUgRVBMX0VfRExMX0NSQ19USCAgICAgICAgICAgICAgICAweDgxNjQKI2RlZmluZSBFUExfRV9ETExfTE9TU19PRl9MSU5LICAgICAgICAgIDB4ODE2NQojZGVmaW5lIEVQTF9FX0RMTF9NQUNfQlVGRkVSICAgICAgICAgICAgMHg4MTY2Ci8vIDB4ODJ4eCBQcm90b2NvbCBlcnJvcnMKI2RlZmluZSBFUExfRV9ETExfQUREUkVTU19DT05GTElDVCAgICAgIDB4ODIwMQojZGVmaW5lIEVQTF9FX0RMTF9NVUxUSVBMRV9NTiAgICAgICAgICAgMHg4MjAyCi8vIDB4ODIxeCBGcmFtZSBzaXplIGVycm9ycwojZGVmaW5lIEVQTF9FX1BET19TSE9SVF9SWCAgICAgICAgICAgICAgMHg4MjEwCiNkZWZpbmUgRVBMX0VfUERPX01BUF9WRVJTICAgICAgICAgICAgICAweDgyMTEKI2RlZmluZSBFUExfRV9OTVRfQVNORF9NVFVfRElGICAgICAgICAgIDB4ODIxMgojZGVmaW5lIEVQTF9FX05NVF9BU05EX01UVV9MSU0gICAgICAgICAgMHg4MjEzCiNkZWZpbmUgRVBMX0VfTk1UX0FTTkRfVFhfTElNICAgICAgICAgICAweDgyMTQKLy8gMHg4MjN4IFRpbWluZyBlcnJvcnMKI2RlZmluZSBFUExfRV9OTVRfQ1lDTEVfTEVOICAgICAgICAgICAgIDB4ODIzMQojZGVmaW5lIEVQTF9FX0RMTF9DWUNMRV9FWENFRUQgICAgICAgICAgMHg4MjMyCiNkZWZpbmUgRVBMX0VfRExMX0NZQ0xFX0VYQ0VFRF9USCAgICAgICAweDgyMzMKI2RlZmluZSBFUExfRV9OTVRfSURMRV9MSU0gICAgICAgICAgICAgIDB4ODIzNAojZGVmaW5lIEVQTF9FX0RMTF9KSVRURVJfVEggICAgICAgICAgICAgMHg4MjM1CiNkZWZpbmUgRVBMX0VfRExMX0xBVEVfUFJFU19USCAgICAgICAgICAweDgyMzYKI2RlZmluZSBFUExfRV9OTVRfUFJFUV9DTiAgICAgICAgICAgICAgIDB4ODIzNwojZGVmaW5lIEVQTF9FX05NVF9QUkVRX0xJTSAgICAgICAgICAgICAgMHg4MjM4CiNkZWZpbmUgRVBMX0VfTk1UX1BSRVNfQ04gICAgICAgICAgICAgICAweDgyMzkKI2RlZmluZSBFUExfRV9OTVRfUFJFU19SWF9MSU0gICAgICAgICAgIDB4ODIzQQojZGVmaW5lIEVQTF9FX05NVF9QUkVTX1RYX0xJTSAgICAgICAgICAgMHg4MjNCCi8vIDB4ODI0eCBGcmFtZSBlcnJvcnMKI2RlZmluZSBFUExfRV9ETExfSU5WQUxJRF9GT1JNQVQgICAgICAgIDB4ODI0MQojZGVmaW5lIEVQTF9FX0RMTF9MT1NTX1BSRVFfVEggICAgICAgICAgMHg4MjQyCiNkZWZpbmUgRVBMX0VfRExMX0xPU1NfUFJFU19USCAgICAgICAgICAweDgyNDMKI2RlZmluZSBFUExfRV9ETExfTE9TU19TT0FfVEggICAgICAgICAgIDB4ODI0NAojZGVmaW5lIEVQTF9FX0RMTF9MT1NTX1NPQ19USCAgICAgICAgICAgMHg4MjQ1Ci8vIDB4ODR4eCBCb290VXAgRXJyb3JzCiNkZWZpbmUgRVBMX0VfTk1UX0JBMSAgICAgICAgICAgICAgICAgICAweDg0MTAJLy8gb3RoZXIgTU4gaW4gTXNOb3RBY3RpdmUgYWN0aXZlCiNkZWZpbmUgRVBMX0VfTk1UX0JBMV9OT19NTl9TVVBQT1JUICAgICAweDg0MTEJLy8gTU4gaXMgbm90IHN1cHBvcnRlZAojZGVmaW5lIEVQTF9FX05NVF9CUE8xICAgICAgICAgICAgICAgICAgMHg4NDIwCS8vIG1hbmRhdG9yeSBDTiB3YXMgbm90IGZvdW5kIG9yIGZhaWxlZCBpbiBCb290U3RlcDEKI2RlZmluZSBFUExfRV9OTVRfQlBPMV9HRVRfSURFTlQgICAgICAgIDB4ODQyMQkvLyBJZGVudFJlcyB3YXMgbm90IHJlY2VpdmVkCiNkZWZpbmUgRVBMX0VfTk1UX0JQTzFfREVWSUNFX1RZUEUgICAgICAweDg0MjIJLy8gd3JvbmcgZGV2aWNlIHR5cGUKI2RlZmluZSBFUExfRV9OTVRfQlBPMV9WRU5ET1JfSUQgICAgICAgIDB4ODQyMwkvLyB3cm9uZyB2ZW5kb3IgSUQKI2RlZmluZSBFUExfRV9OTVRfQlBPMV9QUk9EVUNUX0NPREUgICAgIDB4ODQyNAkvLyB3cm9uZyBwcm9kdWN0IGNvZGUKI2RlZmluZSBFUExfRV9OTVRfQlBPMV9SRVZJU0lPTl9OTyAgICAgIDB4ODQyNQkvLyB3cm9uZyByZXZpc2lvbiBudW1iZXIKI2RlZmluZSBFUExfRV9OTVRfQlBPMV9TRVJJQUxfTk8gICAgICAgIDB4ODQyNgkvLyB3cm9uZyBzZXJpYWwgbnVtYmVyCiNkZWZpbmUgRVBMX0VfTk1UX0JQTzFfQ0ZfVkVSSUZZICAgICAgICAweDg0MjgJLy8gdmVyaWZpY2F0aW9uIG9mIGNvbmZpZ3VyYXRpb24gZmFpbGVkCiNkZWZpbmUgRVBMX0VfTk1UX0JQTzIgICAgICAgICAgICAgICAgICAweDg0MzAJLy8gbWFuZGF0b3J5IENOIGZhaWxlZCBpbiBCb290U3RlcDIKI2RlZmluZSBFUExfRV9OTVRfQlJPICAgICAgICAgICAgICAgICAgIDB4ODQ0MAkvLyBDaGVja0NvbW11bmljYXRpb24gZmFpbGVkIGZvciBtYW5kYXRvcnkgQ04KI2RlZmluZSBFUExfRV9OTVRfV1JPTkdfU1RBVEUgICAgICAgICAgIDB4ODQ4MAkvLyBtYW5kYXRvcnkgQ04gaGFzIHdyb25nIE5NVCBzdGF0ZQoKLy8gRGVmaW5lcyBmb3Igb2JqZWN0IDB4MUY4MCBOTVRfU3RhcnRVcF9VMzIKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiNkZWZpbmUgRVBMX05NVFNUX1NUQVJUQUxMTk9ERVMgICAgICAgICAweDAwMDAwMDAyTAkvLyBCaXQgMQojZGVmaW5lIEVQTF9OTVRTVF9OT19BVVRPU1RBUlQgICAgICAgICAgMHgwMDAwMDAwNEwJLy8gQml0IDIKI2RlZmluZSBFUExfTk1UU1RfTk9fU1RBUlROT0RFICAgICAgICAgIDB4MDAwMDAwMDhMCS8vIEJpdCAzCiNkZWZpbmUgRVBMX05NVFNUX1JFU0VUQUxMX01BTkRfQ04gICAgICAweDAwMDAwMDEwTAkvLyBCaXQgNAojZGVmaW5lIEVQTF9OTVRTVF9TVE9QQUxMX01BTkRfQ04gICAgICAgMHgwMDAwMDA0MEwJLy8gQml0IDYKI2RlZmluZSBFUExfTk1UU1RfTk9fQVVUT1BSRU9QMiAgICAgICAgIDB4MDAwMDAwODBMCS8vIEJpdCA3CiNkZWZpbmUgRVBMX05NVFNUX05PX0FVVE9SRUFEWVRPT1AgICAgICAweDAwMDAwMTAwTAkvLyBCaXQgOAojZGVmaW5lIEVQTF9OTVRTVF9FWFRfQ05JREVOVENIRUNLICAgICAgMHgwMDAwMDIwMEwJLy8gQml0IDkKI2RlZmluZSBFUExfTk1UU1RfU1dWRVJTSU9OQ0hFQ0sgICAgICAgIDB4MDAwMDA0MDBMCS8vIEJpdCAxMAojZGVmaW5lIEVQTF9OTVRTVF9DT05GQ0hFQ0sgICAgICAgICAgICAgMHgwMDAwMDgwMEwJLy8gQml0IDExCiNkZWZpbmUgRVBMX05NVFNUX05PX1JFVFVSTl9QUkVPUDEgICAgICAweDAwMDAxMDAwTAkvLyBCaXQgMTIKI2RlZmluZSBFUExfTk1UU1RfQkFTSUNFVEhFUk5FVCAgICAgICAgIDB4MDAwMDIwMDBMCS8vIEJpdCAxMwoKLy8gRGVmaW5lcyBmb3Igb2JqZWN0IDB4MUY4MSBOTVRfTm9kZUFzc2lnbm1lbnRfQVUzMgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQojZGVmaW5lIEVQTF9OT0RFQVNTSUdOX05PREVfRVhJU1RTICAgICAgMHgwMDAwMDAwMUwJLy8gQml0IDAKI2RlZmluZSBFUExfTk9ERUFTU0lHTl9OT0RFX0lTX0NOICAgICAgIDB4MDAwMDAwMDJMCS8vIEJpdCAxCiNkZWZpbmUgRVBMX05PREVBU1NJR05fU1RBUlRfQ04gICAgICAgICAweDAwMDAwMDA0TAkvLyBCaXQgMgojZGVmaW5lIEVQTF9OT0RFQVNTSUdOX01BTkRBVE9SWV9DTiAgICAgMHgwMDAwMDAwOEwJLy8gQml0IDMKI2RlZmluZSBFUExfTk9ERUFTU0lHTl9LRUVQQUxJVkUgICAgICAgIDB4MDAwMDAwMTBMCS8vY3VycmVudGx5IG5vdCB1c2VkIGluIEVQTCBWMiBzdGFuZGFyZAojZGVmaW5lIEVQTF9OT0RFQVNTSUdOX1NXVkVSU0lPTkNIRUNLICAgMHgwMDAwMDAyMEwJLy8gQml0IDUKI2RlZmluZSBFUExfTk9ERUFTU0lHTl9TV1VQREFURSAgICAgICAgIDB4MDAwMDAwNDBMCS8vIEJpdCA2CiNkZWZpbmUgRVBMX05PREVBU1NJR05fQVNZTkNPTkxZX05PREUgICAweDAwMDAwMTAwTAkvLyBCaXQgOAojZGVmaW5lIEVQTF9OT0RFQVNTSUdOX01VTFRJUExFWEVEX0NOICAgMHgwMDAwMDIwMEwJLy8gQml0IDkKI2RlZmluZSBFUExfTk9ERUFTU0lHTl9SVDEgICAgICAgICAgICAgIDB4MDAwMDA0MDBMCS8vIEJpdCAxMAojZGVmaW5lIEVQTF9OT0RFQVNTSUdOX1JUMiAgICAgICAgICAgICAgMHgwMDAwMDgwMEwJLy8gQml0IDExCiNkZWZpbmUgRVBMX05PREVBU1NJR05fTU5fUFJFUyAgICAgICAgICAweDAwMDAxMDAwTAkvLyBCaXQgMTIKI2RlZmluZSBFUExfTk9ERUFTU0lHTl9WQUxJRCAgICAgICAgICAgIDB4ODAwMDAwMDBMCS8vIEJpdCAzMQoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8gdHlwZWRlZgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8gZnVuY3Rpb24gcHJvdG90eXBlcwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKI2VuZGlmIC8vICNpZm5kZWYgX0VQTF9ERUZfSF8K