ZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWkzODYvaWMvc2M1MjAuaCBiL2luY2x1ZGUvYXNtLWkzODYvaWMvc2M1MjAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzA4NTA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20taTM4Ni9pYy9zYzUyMC5oCkBAIC0wLDAgKzEsMjQ5IEBACisvKgorICogKEMpIENvcHlyaWdodCAyMDAyCisgKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiA8ZGFuaWVsQG9taWNyb24uc2U+LgorICoKKyAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKyNpZm5kZWYgX0FTTV9JQ19TQzUyMF9IXworI2RlZmluZSBfQVNNX0lDX1NDNTIwX0hfIDEKKworLyogTWVtb3J5IG1hcHBlZCBjb25maWd1cmF0aW9uIHJlZ2lzdGVycywgTU1DUiAqLworI2RlZmluZSBTQzUyMF9SRVZJRAkJMHgwMDAwCQkvKiBFbGFuU0M1MjAgTWljcm9jb250cm9sbGVyIFJldmlzaW9uIElEIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0NQVUNUTAkJMHgwMDAyCQkvKiBBbTV4ODYgQ1BVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfRFJDQ1RMICAgICAgICAgICAgMHgwMDEwICAgICAgICAgIC8qIFNEUkFNIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfRFJDVE1DVEwJCTB4MDAxMgkJLyogU0RSQU0gVGltaW5nIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfRFJDQ0ZHCQkweDAwMTQJCS8qIFNEUkFNIEJhbmsgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisjZGVmaW5lIFNDNTIwX0RSQ0JFTkRBRFIJMHgwMDE4CQkvKiBTRFJBTSBCYW5rIDAtMyBFbmRpbmcgQWRkcmVzcyBSZWdpc3RlciovCisjZGVmaW5lIFNDNTIwX0VDQ0NUTAkJMHgwMDIwCQkvKiBFQ0MgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9FQ0NTVEEJCTB4MDAyMQkJLyogRUNDIFN0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9FQ0NDS0JQT1MJCTB4MDAyMgkJLyogRUNDIENoZWNrIEJpdCBQb3NpdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9FQ0NTQkFERAkJMHgwMDI0CQkvKiBFQ0MgU2luZ2xlLUJpdCBFcnJvciBBZGRyZXNzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0RCQ1RMCQkweDAwNDAJCS8qIFNEUkFNIEJ1ZmZlciBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0JPT1RDU0NUTAkJMHgwMDUwCQkvKiAvQk9PVENTIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfUk9NQ1MxQ1RMCQkweDAwNTQJCS8qIC9ST01DUzEgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9ST01DUzJDVEwJCTB4MDA1NgkJLyogL1JPTUNTMiBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0hCQ1RMCQkweDAwNjAgCQkvKiBIb3N0IEJyaWRnZSBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0hCVEdUSVJRQ1RMCTB4MDA2MgkJLyogSG9zdCBCcmlkZ2UgVGFyZ2V0IEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0hCVEdUSVJRU1RBCTB4MDA2NAkJLyogSG9zdCBCcmlkZ2UgVGFyZ2V0IEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfSEJNU1RJUlFDVEwJMHgwMDY2CQkvKiBIb3N0IEJyaWRnZSBUYXJnZXQgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfSEJNU1RJUlFTVEEJMHgwMDY4CQkvKiBIb3N0IEJyaWRnZSBNYXN0ZXIgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9NU1RJTlRBREQJCTB4MDA2YwkJLyogSG9zdCBCcmlkZ2UgTWFzdGVyIEludGVycnVwdCBBZGRyZXNzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1NZU0FSQkNUTAkJMHgwMDcwCQkvKiBTeXN0ZW0gQXJiaXRlciBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BDSUFSQlNUQQkJMHgwMDcxCQkvKiBQQ0kgQnVzIEFyYml0ZXIgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1NZU0FSQk1FTkIJMHgwMDcyCQkvKiBTeXN0ZW0gQXJiaXRlciBNYXN0ZXIgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0FSQlBSSUNUTAkJMHgwMDc0CQkvKiBBcmJpdGVyIFByaW9yaXR5IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfQUREREVDQ1RMICAgICAJMHgwMDgwIAkJLyogQWRkcmVzcyBEZWNvZGUgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9XUFZTVEEgICAgICAgIAkweDAwODIJCS8qIFdyaXRlLVByb3RlY3QgVmlvbGF0aW9uIFN0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9QQVIwICAgICAgICAgIAkweDAwODgJCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiAwIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjEgICAgICAgICAgCTB4MDA4YyAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfUEFSMiAgICAgICAgICAJMHgwMDkwICAgICAgIAkvKiBQcm9ncmFtbWFibGUgQWRkcmVzcyBSZWdpb24gMiBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9QQVIzICAgICAgICAgIAkweDAwOTQgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfUEFSNCAgICAgICAgICAJMHgwMDk4ICAgICAgIAkvKiBQcm9ncmFtbWFibGUgQWRkcmVzcyBSZWdpb24gNCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9QQVI1ICAgICAgICAgIAkweDAwOWMgICAgICAgCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiA1IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjYgICAgICAgICAJMHgwMGEwICAgICAgCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiA2IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjcgICAgICAgICAgCTB4MDBhNCAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfUEFSOCAgICAgICAgICAJMHgwMGE4ICAgICAgIAkvKiBQcm9ncmFtbWFibGUgQWRkcmVzcyBSZWdpb24gOCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9QQVI5ICAgICAgICAgIAkweDAwYWMgICAgICAgCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiA5IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjEwICAgICAgICAgCTB4MDBiMCAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDEwIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjExICAgICAgICAgCTB4MDBiNCAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDExIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjEyICAgICAgICAgCTB4MDBiOCAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDEyIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjEzICAgICAgICAgCTB4MDBiYyAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDEzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjE0ICAgICAgICAgCTB4MDBjMCAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDE0IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BBUjE1CQkweDAwYzQJCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiAxNSBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUEVDSE8JCTB4MGMwMAkJLyogR1AgRWNobyBNb2RlIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQQ1NEVwkJMHgwYzAxCQkvKiBHUCBDaGlwIFNlbGVjdCBEYXRhIFdpZHRoIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQQ1NRVUFMCQkweDBjMDIJCS8qIEdQIENoaXAgU2VsZWN0IFF1YWxpZmljYXRpb24gUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1BDU1JUCQkweDBjMDgJCS8qIEdQIENoaXAgU2VsZWN0IFJlY292ZXJ5IFRpbWUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1BDU1BXCQkweDBjMDkJCS8qIEdQIENoaXAgU2VsZWN0IFB1bHNlIFdpZHRoIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQQ1NPRkYJCTB4MGMwYQkJLyogR1AgQ2hpcCBTZWxlY3QgT2Zmc2V0IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQUkRXCQkweDBjMGIJCS8qIEdQIFJlYWQgUHVsc2UgV2lkdGggUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1BSRE9GRgkJMHgwYzBjCQkvKiBHUCBSZWFkIE9mZnNldCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFdSVwkJMHgwYzBkCQkvKiBHUCBXcml0ZSBQdWxzZSBXaWR0aCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFdST0ZGCQkweDBjMGUJCS8qIEdQIFdyaXRlIE9mZnNldCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUEFMRVcJCTB4MGMwZgkJLyogR1AgQUxFIFB1bHNlIFdpZHRoIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQQUxFT0ZGCQkweDBjMTAJCS8qIEdQIEFMRSBPZmZzZXQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfUElPUEZTMTVfMAkweDBjMjAJCS8qIFBJTzE1LVBJTzAgUGluIEZ1bmN0aW9uIFNlbGVjdCAqLworI2RlZmluZSBTQzUyMF9QSU9QRlMzMV8xNgkweDBjMjIJCS8qIFBJTzMxLVBJTzE2IFBpbiBGdW5jdGlvbiBTZWxlY3QgKi8KKyNkZWZpbmUgU0M1MjBfQ1NQRlMJCTB4MGMyNAkJLyogQ2hpcCBTZWxlY3QgUGluIEZ1bmN0aW9uIFNlbGVjdCAqLworI2RlZmluZSBTQzUyMF9DTEtTRUwJCTB4MGMyNgkJLyogQ2xvY2sgU2VsZWN0ICovCisjZGVmaW5lIFNDNTIwX0RTQ1RMCQkweDBjMjgJCS8qIERyaXZlIFN0cmVuZ3RoIENvbnRyb2wgKi8KKyNkZWZpbmUgU0M1MjBfUElPRElSMTVfMAkweDBjMmEJCS8qIFBJTzE1LVBJTzAgRGlyZWN0aW9uICovCisjZGVmaW5lIFNDNTIwX1BJT0RJUjMxXzE2CTB4MGMyYwkJLyogUElPMzEtUElPMTYgRGlyZWN0aW9uICovCisjZGVmaW5lIFNDNTIwX1BJT0RBVEExNV8wCTB4MGMzMAkJLyogUElPMTUtUElPMCBEYXRhICovCisjZGVmaW5lIFNDNTIwX1BJT0RBVEEzMV8xNgkweDBjMzIJCS8qIFBJTzMxLVBJTzE2IERhdGEgKi8KKyNkZWZpbmUgU0M1MjBfUElPU0VUMTVfMAkweDBjMzQJCS8qIFBJTzE1LVBJTzAgU2V0ICovCisjZGVmaW5lIFNDNTIwX1BJT1NFVDMxXzE2CTB4MGMzNgkJLyogUElPMzEtUElPMTYgU2V0ICovCisjZGVmaW5lIFNDNTIwX1BJT0NMUjE1XzAJMHgwYzM4CQkvKiBQSU8xNS1QSU8wIENsZWFyICovCisjZGVmaW5lIFNDNTIwX1BJT0NMUjMxXzE2CTB4MGMzYQkJLyogUElPMzEtUElPMTYgQ2xlYXIgKi8KKyNkZWZpbmUgU0M1MjBfU1dUTVJNSUxMSSAJMHgwYzYwCQkvKiBTb2Z0d2FyZSBUaW1lciBNaWxsaXNlY29uZCBDb3VudCAqLworI2RlZmluZSBTQzUyMF9TV1RNUk1JQ1JPIAkweDBjNjIJCS8qIFNvZnR3YXJlIFRpbWVyIE1pY3Jvc2Vjb25kIENvdW50ICovCisjZGVmaW5lIFNDNTIwX1NXVE1SQ0ZHICAgCTB4MGM2NAkJLyogU29mdHdhcmUgVGltZXIgQ29uZmlndXJhdGlvbiAqLworI2RlZmluZSBTQzUyMF9HUFRNUlNUQQkJMHgwYzcwCQkvKiBHUCBUaW1lcnMgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQVE1SMENUTAkJMHgwYzcyCQkvKiBHUCBUaW1lciAwIE1vZGUvQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjBDTlQJCTB4MGM3NAkJLyogR1AgVGltZXIgMCBDb3VudCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjBNQVhDTVBBCTB4MGM3NgkJLyogR1AgVGltZXIgMCBNYXhjb3VudCBDb21wYXJlIEEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1BUTVIwTUFYQ01QQgkweDBjNzgJCS8qIEdQIFRpbWVyIDAgTWF4Y291bnQgQ29tcGFyZSBCIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQVE1SMUNUTAkJMHgwYzdhCQkvKiBHUCBUaW1lciAxIE1vZGUvQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjFDTlQJCTB4MGM3YwkJLyogR1AgVGltZXIgMSBDb3VudCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjFNQVhDTVBBCTB4MGM3ZQkJLyogR1AgVGltZXIgMSBNYXhjb3VudCBDb21wYXJlIFJlZ2lzdGVyIEEgKi8KKyNkZWZpbmUgU0M1MjBfR1BUTVIxTUFYQ01QQgkweDBjODAJCS8qIEdQIFRpbWVyIDEgTWF4Y291bnQgQ29tcGFyZSBCIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQVE1SMkNUTAkJMHgwYzgyCQkvKiBHUCBUaW1lciAyIE1vZGUvQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjJDTlQJCTB4MGM4NAkJLyogR1AgVGltZXIgMiBDb3VudCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjJNQVhDTVBBCTB4MGM4ZQkJLyogR1AgVGltZXIgMiBNYXhjb3VudCBDb21wYXJlIEEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfV0RUTVJDVEwJCTB4MGNiMAkJLyogV2F0Y2hkb2cgVGltZXIgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9XRFRNUkNOVEwJCTB4MGNiMgkJLyogV2F0Y2hkb2cgVGltZXIgQ291bnQgTG93IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1dEVE1SQ05USAkJMHgwY2I0CQkvKiBXYXRjaGRvZyBUaW1lciBDb3VudCBIaWdoIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1VBUlQxQ1RMCQkweDBjYzAJICAgICAgICAvKiBVQVJUIDEgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1VBUlQxU1RBCQkweDBjYzEJICAgICAgICAvKiBVQVJUIDEgR2VuZXJhbCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfVUFSVDFGQ1JTSEFECTB4MGNjMgkgICAgICAgIC8qIFVBUlQgMSBGSUZPIENvbnRyb2wgU2hhZG93IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1VBUlQyQ1RMCQkweDBjYzQJICAgICAgICAvKiBVQVJUIDIgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1VBUlQyU1RBCQkweDBjYzUJICAgICAgICAvKiBVQVJUIDIgR2VuZXJhbCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfVUFSVDJGQ1JTSEFECTB4MGNjNgkgICAgICAgIC8qIFVBUlQgMiBGSUZPIENvbnRyb2wgU2hhZG93IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BJQ0lDUgkJMHgwZDAwCQkvKiBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9NUElDTU9ERQkJMHgwZDAyCQkvKiBNYXN0ZXIgUElDIEludGVycnVwdCBNb2RlIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1NMMVBJQ01PREUJMHgwZDAzCQkvKiBTbGF2ZSAxIFBJQyBJbnRlcnJ1cHQgTW9kZSBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9TTDJQSUNNT0RFCTB4MGQwNAkJLyogU2xhdmUgMiBQSUMgSW50ZXJydXB0IE1vZGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfU1dJTlQxNl8xCQkweDBkMDgJCS8qIFNvZnR3YXJlIEludGVycnVwdCAxNi0xIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfU1dJTlQyMl8xNwkweDBkMGEJCS8qIFNvZnR3YXJlIEludGVycnVwdCAyMi0xNy9OTUkgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9JTlRQSU5QT0wJCTB4MGQxMAkJLyogSW50ZXJydXB0IFBpbiBQb2xhcml0eSBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9QQ0lIT1NUTUFQCTB4MGQxNAkJLyogUENJIEhvc3QgQnJpZGdlIEludGVycnVwdCBNYXBwaW4gUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfRUNDTUFQCQkweDBkMTgJCS8qIEVDQyBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjBNQVAJCTB4MGQxYQkJLyogR1AgVGltZXIgMCBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjFNQVAJCTB4MGQxYgkJLyogR1AgVGltZXIgMSBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9HUFRNUjJNQVAJCTB4MGQxYwkJLyogR1AgVGltZXIgMiBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9QSVQwTUFQCQkweDBkMjAJCS8qIFBJVDAgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfUElUMU1BUAkJMHgwZDIxCQkvKiBQSVQxIEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BJVDJNQVAJCTB4MGQyMgkJLyogUElUMiBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9VQVJUMU1BUAkJMHgwZDI4CQkvKiBVQVJUIDEgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfVUFSVDJNQVAJCTB4MGQyOQkJLyogVUFSVCAyIEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BDSUlOVEFNQVAJMHgwZDMwCQkvKiBQQ0kgSW50ZXJydXB0IEEgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9QQ0lJTlRCTUFQCTB4MGQzMQkJLyogUENJIEludGVycnVwdCBCIE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfUENJSU5UQ01BUAkweDBkMzIJCS8qIFBDSSBJbnRlcnJ1cHQgQyBNYXBwaW5nIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1BDSUlOVERNQVAJMHgwZDMzCQkvKiBQQ0kgSW50ZXJydXB0IEQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9ETUFCQ0lOVE1BUAkweDBkNDAJCS8qIERNQSBCdWZmZXIgQ2hhaW5pbmcgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfU1NJTUFQCQkweDBkNDEJCS8qIFNTSSBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9XRFRNQVAJCTB4MGQ0MgkJLyogV2F0Y2hkb2cgVGltZXIgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfUlRDTUFQCQkweDBkNDMJCS8qIFJUQyBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9XUFZNQVAJCTB4MGQ0NAkJLyogV3JpdGUtUHJvdGVjdCBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9JQ0VNQVAJCTB4MGQ0NQkJLyogQU1EZWJ1ZyBKVEFHIFJYL1RYIEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0ZFUlJNQVAJCTB4MGQ0NgkJLyogRmxvYXRpbmcgUG9pbnQgRXJyb3IgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1AwSU1BUAkJMHgwZDUwCQkvKiBHUElSUTAgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1AxSU1BUAkJMHgwZDUxCQkvKiBHUElSUTEgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1AySU1BUAkJMHgwZDUyCQkvKiBHUElSUTIgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1AzSU1BUAkJMHgwZDUzCQkvKiBHUElSUTMgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1A0SU1BUAkJMHgwZDU0CQkvKiBHUElSUTQgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1A1SU1BUAkJMHgwZDU1CQkvKiBHUElSUTUgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1A2SU1BUAkJMHgwZDU2CQkvKiBHUElSUTYgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1A3SU1BUAkJMHgwZDU3CQkvKiBHUElSUTcgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1A4SU1BUAkJMHgwZDU4CQkvKiBHUElSUTggSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1A5SU1BUAkJMHgwZDU5CQkvKiBHUElSUTkgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1AxMElNQVAJCTB4MGQ1YQkJLyogR1BJUlExMCBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9TWVNJTkZPCQkweDBkNzAJCS8qIFN5c3RlbSBCb2FyZCBJbmZvcm1hdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9SRVNDRkcJCTB4MGQ3MgkJLyogUmVzZXQgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBTQzUyMF9SRVNTVEEJCTB4MGQ3NAkJLyogUmVzZXQgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX0dQRE1BTU1JTwkJMHgwZDgxCQkvKiBHUC1ETUEgTWVtb3J5LU1hcHBlZCBJL08gUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFFWFRDSE1BUEEJMHgwZDgyCQkvKiBHUC1ETUEgUmVzb3VyY2UgQ2hhbm5lbCBNYXAgQSAqLworI2RlZmluZSBTQzUyMF9HUERNQUVYVENITUFQQgkweDBkODQJCS8qIEdQLURNQSBSZXNvdXJjZSBDaGFubmVsIE1hcCBCICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEcwCTB4MGQ4NgkJLyogR1AtRE1BIENoYW5uZWwgMCBFeHRlbmRlZCBQYWdlICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEcxCTB4MGQ4NwkJLyogR1AtRE1BIENoYW5uZWwgMSBFeHRlbmRlZCBQYWdlICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEcyCTB4MGQ4OAkJLyogR1AtRE1BIENoYW5uZWwgMiBFeHRlbmRlZCBQYWdlICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEczCTB4MGQ4OQkJLyogR1AtRE1BIENoYW5uZWwgMyBFeHRlbmRlZCBQYWdlICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEc1CTB4MGQ4YQkJLyogR1AtRE1BIENoYW5uZWwgNSBFeHRlbmRlZCBQYWdlICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEc2CTB4MGQ4YgkJLyogR1AtRE1BIENoYW5uZWwgNiBFeHRlbmRlZCBQYWdlICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEc3CTB4MGQ4YwkJLyogR1AtRE1BIENoYW5uZWwgNyBFeHRlbmRlZCBQYWdlICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUVEMzCTB4MGQ5MAkJLyogR1AtRE1BIENoYW5uZWwgMyBFeHRlbmRlciBUcmFuc2ZlciBjb3VudCAqLworI2RlZmluZSBTQzUyMF9HUERNQUVYVFRDNQkweDBkOTEJCS8qIEdQLURNQSBDaGFubmVsIDUgRXh0ZW5kZXIgVHJhbnNmZXIgY291bnQgKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFFWFRUQzYJMHgwZDkyCQkvKiBHUC1ETUEgQ2hhbm5lbCA2IEV4dGVuZGVyIFRyYW5zZmVyIGNvdW50ICovCisjZGVmaW5lIFNDNTIwX0dQRE1BRVhUVEM3CTB4MGQ5MwkJLyogR1AtRE1BIENoYW5uZWwgNyBFeHRlbmRlciBUcmFuc2ZlciBjb3VudCAqLworI2RlZmluZSBTQzUyMF9HUERNQUJDQ1RMCTB4MGQ5OAkJLyogQnVmZmVyIENoYWluaW5nIENvbnRyb2wgKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFCQ1NUQQkweDBkOTkJCS8qIEJ1ZmZlciBDaGFpbmluZyBTdGF0dXMgKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFCU0lOVEVOQgkweDBkOWEJCS8qIEJ1ZmZlciBDaGFpbmluZyBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFNDNTIwX0dQRE1BQkNWQUwJMHgwZDliCQkvKiBCdWZmZXIgQ2hhaW5pbmcgVmFsaWQgKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFOWFRBRERMMwkweDBkYTAJCS8qIEdQLURNQSBDaGFubmVsIDMgTmV4dCBBZGRyZXNzIExvdyAqLworI2RlZmluZSBTQzUyMF9HUERNQU5YVEFEREgzCTB4MGRhMgkJLyogR1AtRE1BIENoYW5uZWwgMyBOZXh0IEFkZHJlc3MgSGlnaCAqLworI2RlZmluZSBTQzUyMF9HUERNQU5YVEFEREw1CTB4MGRhNAkJLyogR1AtRE1BIENoYW5uZWwgNSBOZXh0IEFkZHJlc3MgTG93ICovCisjZGVmaW5lIFNDNTIwX0dQRE1BTlhUQURESDUJMHgwZGE2CQkvKiBHUC1ETUEgQ2hhbm5lbCA1IE5leHQgQWRkcmVzcyBIaWdoICovCisjZGVmaW5lIFNDNTIwX0dQRE1BTlhUQURETDYJMHgwZGE4CQkvKiBHUC1ETUEgQ2hhbm5lbCA2IE5leHQgQWRkcmVzcyBMb3cgKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFOWFRBRERINgkweDBkYWEJCS8qIEdQLURNQSBDaGFubmVsIDYgTmV4dCBBZGRyZXNzIEhpZ2ggKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFOWFRBRERMNwkweDBkYWMJCS8qIEdQLURNQSBDaGFubmVsIDcgTmV4dCBBZGRyZXNzIExvdyAqLworI2RlZmluZSBTQzUyMF9HUERNQU5YVEFEREg3CTB4MGRhZQkJLyogR1AtRE1BIENoYW5uZWwgNyBOZXh0IEFkZHJlc3MgSGlnaCAqLworI2RlZmluZSBTQzUyMF9HUERNQU5YVFRDTDMJMHgwZGIwCQkvKiBHUC1ETUEgQ2hhbm5lbCAzIE5leHQgVHJhbnNmZXIgQ291bnQgTG93ICovCisjZGVmaW5lIFNDNTIwX0dQRE1BTlhUVENIMwkweDBkYjIJCS8qIEdQLURNQSBDaGFubmVsIDMgTmV4dCBUcmFuc2ZlciBDb3VudCBIaWdoICovCisjZGVmaW5lIFNDNTIwX0dQRE1BTlhUVENMNQkweDBkYjQJCS8qIEdQLURNQSBDaGFubmVsIDUgTmV4dCBUcmFuc2ZlciBDb3VudCBMb3cgKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFOWFRUQ0g1CTB4MGRiNgkJLyogR1AtRE1BIENoYW5uZWwgNSBOZXh0IFRyYW5zZmVyIENvdW50IEhpZ2ggKi8KKyNkZWZpbmUgU0M1MjBfR1BETUFOWFRUQ0w2CTB4MGRiOAkJLyogR1AtRE1BIENoYW5uZWwgNiBOZXh0IFRyYW5zZmVyIENvdW50IExvdyAqLworI2RlZmluZSBTQzUyMF9HUERNQU5YVFRDSDYJMHgwZGJhCQkvKiBHUC1ETUEgQ2hhbm5lbCA2IE5leHQgVHJhbnNmZXIgQ291bnQgSGlnaCAqLworI2RlZmluZSBTQzUyMF9HUERNQU5YVFRDTDcJMHgwZGJjCQkvKiBHUC1ETUEgQ2hhbm5lbCA3IE5leHQgVHJhbnNmZXIgQ291bnQgTG93ICovCisjZGVmaW5lIFNDNTIwX0dQRE1BTlhUVENINwkweDBkYmUJCS8qIEdQLURNQSBDaGFubmVsIDcgTmV4dCBUcmFuc2ZlciBDb3VudCBIaWdoICovCisKKy8qIE1NQ1IgUmVnaXN0ZXIgYml0cyAobm90IGFsbCBvZiB0aGVtIDopICkgKi8KKworLyogQklUUyBmb3IgU0M1MjBfQUREREVDQ1RMOiAqLworI2RlZmluZSBXUFZfSU5UX0VOQgkJMHg4MAkJLyogV3JpdGUtUHJvdGVjdCBWaW9sYXRpb24gSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBJT19IT0xFX0RFU1QJCTB4MTAJCS8qIEkvTyBIb2xlIEFjY2VzcyBEZXN0aW5hdGlvbiAqLworI2RlZmluZSBSVENfRElTCQkJMHgwNAkJLyogUlRDIERpc2FibGUgKi8KKyNkZWZpbmUgVUFSVDJfRElTCQkweDAyCQkvKiBVQVJUMiBEaXNhYmxlICovCisjZGVmaW5lIFVBUlQxX0RJUwkJMHgwMQkJLyogVUFSVDEgRGlzYWJsZSAqLworCisvKiBidXMgbWFwcGluZyBjb25zdGFudHMgKHVzZWQgZm9yIFBDSSBjb3JlIGluaXRpYWxpemF0aW9uKSAqLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSAvKiBidXMgbWFwcGluZyBjb25zdGFudHMgKi8KKyNkZWZpbmUgU0M1MjBfUkVHX0FERFIJCTB4MDAwMDBjZjggICAgIAorI2RlZmluZSBTQzUyMF9SRUdfREFUQQkJMHgwMDAwMGNmYworCisKKyNkZWZpbmUgU0M1MjBfSVNBX01FTV9QSFlTCTB4MDAwMDAwMDAKKyNkZWZpbmUgU0M1MjBfSVNBX01FTV9CVVMJMHgwMDAwMDAwMAorI2RlZmluZSBTQzUyMF9JU0FfTUVNX1NJWkUJMHgwMTAwMDAwMAorCisjZGVmaW5lIFNDNTIwX0lTQV9JT19QSFlTCTB4MDAwMDAwMDAKKyNkZWZpbmUgU0M1MjBfSVNBX0lPX0JVUwkweDAwMDAwMDAwCisjZGVmaW5lIFNDNTIwX0lTQV9JT19TSVpFCTB4MDAwMDEwMDAKKworLyogUENJIEkvTyBzcGFjZSBmcm9tIDB4MTAwMCB0byAweGZkZmYgKi8KKyNkZWZpbmUgU0M1MjBfUENJX0lPX1BIWVMJMHgwMDAwMTAwMAorI2RlZmluZSBTQzUyMF9QQ0lfSU9fQlVTCTB4MDAwMDEwMDAKKyNkZWZpbmUgU0M1MjBfUENJX0lPX1NJWkUJMHgwMDAwZWUwMAorCisvKiBzeXN0ZW0gbWVtb3J5IGZyb20gMHgwMDAwMDAwMCB0byAweDBmZmZmZmZmICovCisjZGVmaW5lCVNDNTIwX1BDSV9NRU1PUllfUEhZUwkweDAwMDAwMDAwCisjZGVmaW5lCVNDNTIwX1BDSV9NRU1PUllfQlVTCTB4MDAwMDAwMDAKKyNkZWZpbmUgU0M1MjBfUENJX01FTU9SWV9TSVpFCTB4MTAwMDAwMDAKKworLyogUENJIGJ1cyBtZW1vcnkgZnJvbSAweDEwMDAwMDAwIHRvIDB4MjdmZmZmZmYgKi8KKyNkZWZpbmUgU0M1MjBfUENJX01FTV9QSFlTCTB4MTAwMDAwMDAKKyNkZWZpbmUgU0M1MjBfUENJX01FTV9CVVMgICAgICAgMHgxMDAwMDAwMAorI2RlZmluZSBTQzUyMF9QQ0lfTUVNX1NJWkUJMHgxODAwMDAwMAorCisvKiAweDI4MDAwMDAwIC0gMHgzZmZmZmZmZiBpcyB1c2VkIGJ5IHRoZSBmbGFzaCBiYW5rcyAqLworCisvKiAweDQwMDAwMDAwIC0gMHhmZmZmZmZmZiBpcyBub3QgYWRyZXNzYWJsZSBieSB0aGUgU0M1MjAgKi8KKworLyogdXRpbGl0eSBmdW5jdGlvbnMgKi8KK3ZvaWQgd3JpdGVfbW1jcl9ieXRlKHUxNiBtbWNyLCB1OCBkYXRhKTsKK3ZvaWQgd3JpdGVfbW1jcl93b3JkKHUxNiBtbWNyLCB1MTYgZGF0YSk7Cit2b2lkIHdyaXRlX21tY3JfbG9uZyh1MTYgbW1jciwgdTMyIGRhdGEpOwordTggcmVhZF9tbWNyX2J5dGUodTE2IG1tY3IpOwordTE2IHJlYWRfbW1jcl93b3JkKHUxNiBtbWNyKTsKK3UzMiByZWFkX21tY3JfbG9uZyh1MTYgbW1jcik7CisKK3ZvaWQgaW5pdF9zYzUyMCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgaW5pdF9zYzUyMF9kcmFtKHZvaWQpOwordm9pZCBwY2lfc2M1MjBfaW5pdChzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgKmhvc2UpOworCisjZW5kaWYK