LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMyZjEwMHhlLmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEB2ZXJzaW9uIFY0LjIuMA0KICAqIEBkYXRlICAgIDMxLU1hcmNoLTIwMTcNCiAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTMgRGV2aWNlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlLiANCiAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHRoZSBwZXJpcGhlcmFsIHJlZ2lzdGVyJ3MgZGVmaW5pdGlvbnMsIGJpdHMgDQogICogICAgICAgICAgZGVmaW5pdGlvbnMgYW5kIG1lbW9yeSBtYXBwaW5nIGZvciBTVE0zMkYxeHggZGV2aWNlcy4gICAgICAgICAgICANCiAgKiAgICAgICAgICAgIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoNCiAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscw0KICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24NCiAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUNCiAgKiAgDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBhdHRlbnRpb24NCiAgKg0KICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDT1BZUklHSFQoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3M8L2NlbnRlcj48L2gyPg0KICAqDQogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwNCiAgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQogICogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KICAqICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KICAqICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbg0KICAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQogICogICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMNCiAgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQ0KICAqICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQogICoNCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQogICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCiAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUg0KICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQogICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KICAqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqLw0KDQoNCi8qKiBAYWRkdG9ncm91cCBDTVNJUw0KICAqIEB7DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBzdG0zMmYxMDB4ZQ0KICAqIEB7DQogICovDQogICAgDQojaWZuZGVmIF9fU1RNMzJGMTAweEVfSA0KI2RlZmluZSBfX1NUTTMyRjEwMHhFX0gNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQogZXh0ZXJuICJDIiB7DQojZW5kaWYgDQoNCi8qKiBAYWRkdG9ncm91cCBDb25maWd1cmF0aW9uX3NlY3Rpb25fZm9yX0NNU0lTDQogICogQHsNCiAgKi8NCi8qKg0KICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTMgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzIA0KICovDQojZGVmaW5lIF9fQ00zX1JFViAgICAgICAgICAgICAgICAgIDB4MDIwMFUgIC8qITwgQ29yZSBSZXZpc2lvbiByMnAwICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUgICAgICAgLyohPCBPdGhlciBTVE0zMiBkZXZpY2VzIGRvZXMgbm90IHByb3ZpZGUgYW4gTVBVICAqLw0KI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgICA0VSAgICAgICAvKiE8IFNUTTMyIHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICovDQojZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgIDBVICAgICAgIC8qITwgU2V0IHRvIDEgaWYgZGlmZmVyZW50IFN5c1RpY2sgQ29uZmlnIGlzIHVzZWQgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfaW50ZXJydXB0X251bWJlcl9kZWZpbml0aW9uDQogICogQHsNCiAgKi8NCg0KLyoqDQogKiBAYnJpZWYgU1RNMzJGMTB4IEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiwgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCBkZXZpY2UgDQogKiAgICAgICAgaW4gQHJlZiBMaWJyYXJ5X2NvbmZpZ3VyYXRpb25fc2VjdGlvbiANCiAqLw0KDQogLyohPCBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb24gKi8NCnR5cGVkZWYgZW51bQ0Kew0KLyoqKioqKiAgQ29ydGV4LU0zIFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICBOb25NYXNrYWJsZUludF9JUlFuICAgICAgICAgPSAtMTQsICAgIC8qITwgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBIYXJkRmF1bHRfSVJRbiAgICAgICAgICAgICAgPSAtMTMsICAgIC8qITwgMyBDb3J0ZXgtTTMgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAqLw0KICBNZW1vcnlNYW5hZ2VtZW50X0lSUW4gICAgICAgPSAtMTIsICAgIC8qITwgNCBDb3J0ZXgtTTMgTWVtb3J5IE1hbmFnZW1lbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAqLw0KICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgPSAtMTEsICAgIC8qITwgNSBDb3J0ZXgtTTMgQnVzIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVc2FnZUZhdWx0X0lSUW4gICAgICAgICAgICAgPSAtMTAsICAgIC8qITwgNiBDb3J0ZXgtTTMgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAqLw0KICBTVkNhbGxfSVJRbiAgICAgICAgICAgICAgICAgPSAtNSwgICAgIC8qITwgMTEgQ29ydGV4LU0zIFNWIENhbGwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgPSAtNCwgICAgIC8qITwgMTIgQ29ydGV4LU0zIERlYnVnIE1vbml0b3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qITwgMTQgQ29ydGV4LU0zIFBlbmQgU1YgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBTeXNUaWNrX0lSUW4gICAgICAgICAgICAgICAgPSAtMSwgICAgIC8qITwgMTUgQ29ydGV4LU0zIFN5c3RlbSBUaWNrIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLw0KDQovKioqKioqICBTVE0zMiBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIFdXREdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgLyohPCBXaW5kb3cgV2F0Y2hEb2cgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFBWRF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgLyohPCBQVkQgdGhyb3VnaCBFWFRJIExpbmUgZGV0ZWN0aW9uIEludGVycnVwdCAgICAgICAgICAgICovDQogIFRBTVBFUl9JUlFuICAgICAgICAgICAgICAgICA9IDIsICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgLyohPCBSVEMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEZMQVNIX0lSUW4gICAgICAgICAgICAgICAgICA9IDQsICAgICAgLyohPCBGTEFTSCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJDQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgLyohPCBSQ0MgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkwX0lSUW4gICAgICAgICAgICAgICAgICA9IDYsICAgICAgLyohPCBFWFRJIExpbmUwIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxX0lSUW4gICAgICAgICAgICAgICAgICA9IDcsICAgICAgLyohPCBFWFRJIExpbmUxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkyX0lSUW4gICAgICAgICAgICAgICAgICA9IDgsICAgICAgLyohPCBFWFRJIExpbmUyIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkzX0lSUW4gICAgICAgICAgICAgICAgICA9IDksICAgICAgLyohPCBFWFRJIExpbmUzIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk0X0lSUW4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgLyohPCBFWFRJIExpbmU0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDExLCAgICAgLyohPCBETUExIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDEyLCAgICAgLyohPCBETUExIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDEzLCAgICAgLyohPCBETUExIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDRfSVJRbiAgICAgICAgICA9IDE0LCAgICAgLyohPCBETUExIENoYW5uZWwgNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDVfSVJRbiAgICAgICAgICA9IDE1LCAgICAgLyohPCBETUExIENoYW5uZWwgNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDZfSVJRbiAgICAgICAgICA9IDE2LCAgICAgLyohPCBETUExIENoYW5uZWwgNiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDdfSVJRbiAgICAgICAgICA9IDE3LCAgICAgLyohPCBETUExIENoYW5uZWwgNyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIEFEQzFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDE4LCAgICAgLyohPCBBREMxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk5XzVfSVJRbiAgICAgICAgICAgICAgICA9IDIzLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzk6NV0gSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTFfQlJLX1RJTTE1X0lSUW4gICAgICAgICA9IDI0LCAgICAgLyohPCBUSU0xIEJyZWFrIGFuZCBUSU0xNSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTFfVVBfVElNMTZfSVJRbiAgICAgICAgICA9IDI1LCAgICAgLyohPCBUSU0xIFVwZGF0ZSBhbmQgVElNMTYgSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuICAgICA9IDI2LCAgICAgLyohPCBUSU0xIFRyaWdnZXIgYW5kIENvbW11dGF0aW9uIGFuZCBUSU0xNyBJbnRlcnJ1cHQgICAgICovDQogIFRJTTFfQ0NfSVJRbiAgICAgICAgICAgICAgICA9IDI3LCAgICAgLyohPCBUSU0xIENhcHR1cmUgQ29tcGFyZSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI4LCAgICAgLyohPCBUSU0yIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI5LCAgICAgLyohPCBUSU0zIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTRfSVJRbiAgICAgICAgICAgICAgICAgICA9IDMwLCAgICAgLyohPCBUSU00IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMxLCAgICAgLyohPCBJMkMxIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDMyLCAgICAgLyohPCBJMkMxIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMzLCAgICAgLyohPCBJMkMyIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDM0LCAgICAgLyohPCBJMkMyIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM1LCAgICAgLyohPCBTUEkxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM2LCAgICAgLyohPCBTUEkyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMV9JUlFuICAgICAgICAgICAgICAgICA9IDM3LCAgICAgLyohPCBVU0FSVDEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMl9JUlFuICAgICAgICAgICAgICAgICA9IDM4LCAgICAgLyohPCBVU0FSVDIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUM19JUlFuICAgICAgICAgICAgICAgICA9IDM5LCAgICAgLyohPCBVU0FSVDMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxNV8xMF9JUlFuICAgICAgICAgICAgICA9IDQwLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzE1OjEwXSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19BbGFybV9JUlFuICAgICAgICAgICAgICA9IDQxLCAgICAgLyohPCBSVEMgQWxhcm0gdGhyb3VnaCBFWFRJIExpbmUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICovDQogIENFQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDQyLCAgICAgLyohPCBIRE1JLUNFQyBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTEyX0lSUW4gICAgICAgICAgICAgICAgICA9IDQzLCAgICAgLyohPCBUSU0xMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTEzX0lSUW4gICAgICAgICAgICAgICAgICA9IDQ0LCAgICAgLyohPCBUSU0xMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTE0X0lSUW4gICAgICAgICAgICAgICAgICA9IDQ1LCAgICAgLyohPCBUSU0xNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTVfSVJRbiAgICAgICAgICAgICAgICAgICA9IDUwLCAgICAgLyohPCBUSU01IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDUxLCAgICAgLyohPCBTUEkzIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVBUlQ0X0lSUW4gICAgICAgICAgICAgICAgICA9IDUyLCAgICAgLyohPCBVQVJUNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVBUlQ1X0lSUW4gICAgICAgICAgICAgICAgICA9IDUzLCAgICAgLyohPCBVQVJUNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTZfREFDX0lSUW4gICAgICAgICAgICAgICA9IDU0LCAgICAgLyohPCBUSU02IGFuZCBEQUMgdW5kZXJydW4gSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDU1LCAgICAgLyohPCBUSU03IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDU2LCAgICAgLyohPCBETUEyIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDU3LCAgICAgLyohPCBETUEyIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDU4LCAgICAgLyohPCBETUEyIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDRfNV9JUlFuICAgICAgICA9IDU5LCAgICAgLyohPCBETUEyIENoYW5uZWwgNCBhbmQgQ2hhbm5lbCA1IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDRfSVJRbiAgICAgICAgICA9IDU5LCAgICAgLyohPCBETUEyIENoYW5uZWwgNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDVfSVJRbiAgICAgICAgICA9IDYwICAgICAgLyohPCBETUEyIENoYW5uZWwgNSBnbG9iYWwgSW50ZXJydXB0IChETUEyIENoYW5uZWwgNSBpcyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBlZCBhdCBwb3NpdGlvbiA2MCBvbmx5IGlmIHRoZSBNSVNDX1JFTUFQIGJpdCBpbiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBBRklPX01BUFIyIHJlZ2lzdGVyIGlzIHNldCkgICAgICAgICAgICAgICAgICAgICAgKi8NCn0gSVJRbl9UeXBlOw0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQojaW5jbHVkZSAiY29yZV9jbTMuaCINCiNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmMXh4LmgiDQojaW5jbHVkZSA8c3RkaW50Lmg+DQoNCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX3JlZ2lzdGVyc19zdHJ1Y3R1cmVzDQogICogQHsNCiAgKi8gICANCg0KLyoqIA0KICAqIEBicmllZiBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXIgIA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFNSOw0KICBfX0lPIHVpbnQzMl90IENSMTsNCiAgX19JTyB1aW50MzJfdCBDUjI7DQogIF9fSU8gdWludDMyX3QgU01QUjE7DQogIF9fSU8gdWludDMyX3QgU01QUjI7DQogIF9fSU8gdWludDMyX3QgSk9GUjE7DQogIF9fSU8gdWludDMyX3QgSk9GUjI7DQogIF9fSU8gdWludDMyX3QgSk9GUjM7DQogIF9fSU8gdWludDMyX3QgSk9GUjQ7DQogIF9fSU8gdWludDMyX3QgSFRSOw0KICBfX0lPIHVpbnQzMl90IExUUjsNCiAgX19JTyB1aW50MzJfdCBTUVIxOw0KICBfX0lPIHVpbnQzMl90IFNRUjI7DQogIF9fSU8gdWludDMyX3QgU1FSMzsNCiAgX19JTyB1aW50MzJfdCBKU1FSOw0KICBfX0lPIHVpbnQzMl90IEpEUjE7DQogIF9fSU8gdWludDMyX3QgSkRSMjsNCiAgX19JTyB1aW50MzJfdCBKRFIzOw0KICBfX0lPIHVpbnQzMl90IEpEUjQ7DQogIF9fSU8gdWludDMyX3QgRFI7DQp9IEFEQ19UeXBlRGVmOw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgICAgICAgIC8qITwgQURDIHN0YXR1cyByZWdpc3RlciwgICAgdXNlZCBmb3IgQURDIG11bHRpbW9kZSAoYml0cyBjb21tb24gdG8gc2V2ZXJhbCBBREMgaW5zdGFuY2VzKS4gQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICAgICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBDUjE7ICAgICAgICAgICAgICAvKiE8IEFEQyBjb250cm9sIHJlZ2lzdGVyIDEsIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4MDQgICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciAyLCB1c2VkIGZvciBBREMgbXVsdGltb2RlIChiaXRzIGNvbW1vbiB0byBzZXZlcmFsIEFEQyBpbnN0YW5jZXMpLiBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDA4ICAqLw0KICB1aW50MzJfdCAgUkVTRVJWRURbMTZdOw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgcmVnaXN0ZXIsICAgICAgdXNlZCBmb3IgQURDIG11bHRpbW9kZSAoYml0cyBjb21tb24gdG8gc2V2ZXJhbCBBREMgaW5zdGFuY2VzKS4gQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICsgMHg0QyAgKi8NCn0gQURDX0NvbW1vbl9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEJhY2t1cCBSZWdpc3RlcnMgIA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICB1aW50MzJfdCAgUkVTRVJWRUQwOw0KICBfX0lPIHVpbnQzMl90IERSMTsNCiAgX19JTyB1aW50MzJfdCBEUjI7DQogIF9fSU8gdWludDMyX3QgRFIzOw0KICBfX0lPIHVpbnQzMl90IERSNDsNCiAgX19JTyB1aW50MzJfdCBEUjU7DQogIF9fSU8gdWludDMyX3QgRFI2Ow0KICBfX0lPIHVpbnQzMl90IERSNzsNCiAgX19JTyB1aW50MzJfdCBEUjg7DQogIF9fSU8gdWludDMyX3QgRFI5Ow0KICBfX0lPIHVpbnQzMl90IERSMTA7DQogIF9fSU8gdWludDMyX3QgUlRDQ1I7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KICB1aW50MzJfdCAgUkVTRVJWRUQxM1syXTsNCiAgX19JTyB1aW50MzJfdCBEUjExOw0KICBfX0lPIHVpbnQzMl90IERSMTI7DQogIF9fSU8gdWludDMyX3QgRFIxMzsNCiAgX19JTyB1aW50MzJfdCBEUjE0Ow0KICBfX0lPIHVpbnQzMl90IERSMTU7DQogIF9fSU8gdWludDMyX3QgRFIxNjsNCiAgX19JTyB1aW50MzJfdCBEUjE3Ow0KICBfX0lPIHVpbnQzMl90IERSMTg7DQogIF9fSU8gdWludDMyX3QgRFIxOTsNCiAgX19JTyB1aW50MzJfdCBEUjIwOw0KICBfX0lPIHVpbnQzMl90IERSMjE7DQogIF9fSU8gdWludDMyX3QgRFIyMjsNCiAgX19JTyB1aW50MzJfdCBEUjIzOw0KICBfX0lPIHVpbnQzMl90IERSMjQ7DQogIF9fSU8gdWludDMyX3QgRFIyNTsNCiAgX19JTyB1aW50MzJfdCBEUjI2Ow0KICBfX0lPIHVpbnQzMl90IERSMjc7DQogIF9fSU8gdWludDMyX3QgRFIyODsNCiAgX19JTyB1aW50MzJfdCBEUjI5Ow0KICBfX0lPIHVpbnQzMl90IERSMzA7DQogIF9fSU8gdWludDMyX3QgRFIzMTsNCiAgX19JTyB1aW50MzJfdCBEUjMyOw0KICBfX0lPIHVpbnQzMl90IERSMzM7DQogIF9fSU8gdWludDMyX3QgRFIzNDsNCiAgX19JTyB1aW50MzJfdCBEUjM1Ow0KICBfX0lPIHVpbnQzMl90IERSMzY7DQogIF9fSU8gdWludDMyX3QgRFIzNzsNCiAgX19JTyB1aW50MzJfdCBEUjM4Ow0KICBfX0lPIHVpbnQzMl90IERSMzk7DQogIF9fSU8gdWludDMyX3QgRFI0MDsNCiAgX19JTyB1aW50MzJfdCBEUjQxOw0KICBfX0lPIHVpbnQzMl90IERSNDI7DQp9IEJLUF9UeXBlRGVmOw0KICANCg0KLyoqIA0KICAqIEBicmllZiBDb25zdW1lciBFbGVjdHJvbmljcyBDb250cm9sIChDRUMpDQogICovDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENGR1I7DQogIF9fSU8gdWludDMyX3QgT0FSOw0KICBfX0lPIHVpbnQzMl90IFBSRVM7DQogIF9fSU8gdWludDMyX3QgRVNSOw0KICBfX0lPIHVpbnQzMl90IENTUjsNCiAgX19JTyB1aW50MzJfdCBUWEQ7DQogIF9fSU8gdWludDMyX3QgUlhEOyAgDQp9IENFQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIENSQyBjYWxjdWxhdGlvbiB1bml0IA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgICAgLyohPCBDUkMgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQ4X3QgIElEUjsgICAgICAgICAgLyohPCBDUkMgSW5kZXBlbmRlbnQgZGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICB1aW50OF90ICAgICAgIFJFU0VSVkVEMDsgICAgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNSAqLw0KICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTsgICAgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNiAqLyAgDQogIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAgICAvKiE8IENSQyBDb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovIA0KfSBDUkNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBEaWdpdGFsIHRvIEFuYWxvZyBDb252ZXJ0ZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsNCiAgX19JTyB1aW50MzJfdCBTV1RSSUdSOw0KICBfX0lPIHVpbnQzMl90IERIUjEyUjE7DQogIF9fSU8gdWludDMyX3QgREhSMTJMMTsNCiAgX19JTyB1aW50MzJfdCBESFI4UjE7DQogIF9fSU8gdWludDMyX3QgREhSMTJSMjsNCiAgX19JTyB1aW50MzJfdCBESFIxMkwyOw0KICBfX0lPIHVpbnQzMl90IERIUjhSMjsNCiAgX19JTyB1aW50MzJfdCBESFIxMlJEOw0KICBfX0lPIHVpbnQzMl90IERIUjEyTEQ7DQogIF9fSU8gdWludDMyX3QgREhSOFJEOw0KICBfX0lPIHVpbnQzMl90IERPUjE7DQogIF9fSU8gdWludDMyX3QgRE9SMjsNCiAgX19JTyB1aW50MzJfdCBTUjsNCn0gREFDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRGVidWcgTUNVDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgSURDT0RFOw0KICBfX0lPIHVpbnQzMl90IENSOw0KfURCR01DVV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIERNQSBDb250cm9sbGVyDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ0NSOw0KICBfX0lPIHVpbnQzMl90IENORFRSOw0KICBfX0lPIHVpbnQzMl90IENQQVI7DQogIF9fSU8gdWludDMyX3QgQ01BUjsNCn0gRE1BX0NoYW5uZWxfVHlwZURlZjsNCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJU1I7DQogIF9fSU8gdWludDMyX3QgSUZDUjsNCn0gRE1BX1R5cGVEZWY7DQoNCg0KDQovKiogDQogICogQGJyaWVmIEV4dGVybmFsIEludGVycnVwdC9FdmVudCBDb250cm9sbGVyDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgSU1SOw0KICBfX0lPIHVpbnQzMl90IEVNUjsNCiAgX19JTyB1aW50MzJfdCBSVFNSOw0KICBfX0lPIHVpbnQzMl90IEZUU1I7DQogIF9fSU8gdWludDMyX3QgU1dJRVI7DQogIF9fSU8gdWludDMyX3QgUFI7DQp9IEVYVElfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBGTEFTSCBSZWdpc3RlcnMNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBBQ1I7DQogIF9fSU8gdWludDMyX3QgS0VZUjsNCiAgX19JTyB1aW50MzJfdCBPUFRLRVlSOw0KICBfX0lPIHVpbnQzMl90IFNSOw0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IEFSOw0KICBfX0lPIHVpbnQzMl90IFJFU0VSVkVEOw0KICBfX0lPIHVpbnQzMl90IE9CUjsNCiAgX19JTyB1aW50MzJfdCBXUlBSOw0KfSBGTEFTSF9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIE9wdGlvbiBCeXRlcyBSZWdpc3RlcnMNCiAgKi8NCiAgDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQxNl90IFJEUDsNCiAgX19JTyB1aW50MTZfdCBVU0VSOw0KICBfX0lPIHVpbnQxNl90IERhdGEwOw0KICBfX0lPIHVpbnQxNl90IERhdGExOw0KICBfX0lPIHVpbnQxNl90IFdSUDA7DQogIF9fSU8gdWludDE2X3QgV1JQMTsNCiAgX19JTyB1aW50MTZfdCBXUlAyOw0KICBfX0lPIHVpbnQxNl90IFdSUDM7DQp9IE9CX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRmxleGlibGUgU3RhdGljIE1lbW9yeSBDb250cm9sbGVyDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQlRDUls4XTsgICANCn0gRlNNQ19CYW5rMV9UeXBlRGVmOyANCg0KLyoqIA0KICAqIEBicmllZiBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXIgQmFuazFFDQogICovDQogIA0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBCV1RSWzddOw0KfSBGU01DX0JhbmsxRV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEdlbmVyYWwgUHVycG9zZSBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkw7DQogIF9fSU8gdWludDMyX3QgQ1JIOw0KICBfX0lPIHVpbnQzMl90IElEUjsNCiAgX19JTyB1aW50MzJfdCBPRFI7DQogIF9fSU8gdWludDMyX3QgQlNSUjsNCiAgX19JTyB1aW50MzJfdCBCUlI7DQogIF9fSU8gdWludDMyX3QgTENLUjsNCn0gR1BJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEFsdGVybmF0ZSBGdW5jdGlvbiBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBFVkNSOw0KICBfX0lPIHVpbnQzMl90IE1BUFI7DQogIF9fSU8gdWludDMyX3QgRVhUSUNSWzRdOw0KICB1aW50MzJfdCBSRVNFUlZFRDA7DQogIF9fSU8gdWludDMyX3QgTUFQUjI7ICANCn0gQUZJT19UeXBlRGVmOw0KLyoqIA0KICAqIEBicmllZiBJbnRlciBJbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOw0KICBfX0lPIHVpbnQzMl90IENSMjsNCiAgX19JTyB1aW50MzJfdCBPQVIxOw0KICBfX0lPIHVpbnQzMl90IE9BUjI7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgU1IxOw0KICBfX0lPIHVpbnQzMl90IFNSMjsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgVFJJU0U7DQp9IEkyQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEluZGVwZW5kZW50IFdBVENIRE9HDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgS1I7ICAgICAgICAgICAvKiE8IEtleSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgUFI7ICAgICAgICAgICAvKiE8IFByZXNjYWxlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgUkxSOyAgICAgICAgICAvKiE8IFJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IFN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQp9IElXREdfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBQb3dlciBDb250cm9sDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KfSBQV1JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENGR1I7DQogIF9fSU8gdWludDMyX3QgQ0lSOw0KICBfX0lPIHVpbnQzMl90IEFQQjJSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFQQjFSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFIQkVOUjsNCiAgX19JTyB1aW50MzJfdCBBUEIyRU5SOw0KICBfX0lPIHVpbnQzMl90IEFQQjFFTlI7DQogIF9fSU8gdWludDMyX3QgQkRDUjsNCiAgX19JTyB1aW50MzJfdCBDU1I7DQoNCg0KICB1aW50MzJfdCBSRVNFUlZFRDA7DQogIF9fSU8gdWludDMyX3QgQ0ZHUjI7DQp9IFJDQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFJlYWwtVGltZSBDbG9jaw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSSDsNCiAgX19JTyB1aW50MzJfdCBDUkw7DQogIF9fSU8gdWludDMyX3QgUFJMSDsNCiAgX19JTyB1aW50MzJfdCBQUkxMOw0KICBfX0lPIHVpbnQzMl90IERJVkg7DQogIF9fSU8gdWludDMyX3QgRElWTDsNCiAgX19JTyB1aW50MzJfdCBDTlRIOw0KICBfX0lPIHVpbnQzMl90IENOVEw7DQogIF9fSU8gdWludDMyX3QgQUxSSDsNCiAgX19JTyB1aW50MzJfdCBBTFJMOw0KfSBSVENfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBTRCBob3N0IEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFBPV0VSOw0KICBfX0lPIHVpbnQzMl90IENMS0NSOw0KICBfX0lPIHVpbnQzMl90IEFSRzsNCiAgX19JTyB1aW50MzJfdCBDTUQ7DQogIF9fSSB1aW50MzJfdCBSRVNQQ01EOw0KICBfX0kgdWludDMyX3QgUkVTUDE7DQogIF9fSSB1aW50MzJfdCBSRVNQMjsNCiAgX19JIHVpbnQzMl90IFJFU1AzOw0KICBfX0kgdWludDMyX3QgUkVTUDQ7DQogIF9fSU8gdWludDMyX3QgRFRJTUVSOw0KICBfX0lPIHVpbnQzMl90IERMRU47DQogIF9fSU8gdWludDMyX3QgRENUUkw7DQogIF9fSSB1aW50MzJfdCBEQ09VTlQ7DQogIF9fSSB1aW50MzJfdCBTVEE7DQogIF9fSU8gdWludDMyX3QgSUNSOw0KICBfX0lPIHVpbnQzMl90IE1BU0s7DQogIHVpbnQzMl90ICBSRVNFUlZFRDBbMl07DQogIF9fSSB1aW50MzJfdCBGSUZPQ05UOw0KICB1aW50MzJfdCAgUkVTRVJWRUQxWzEzXTsNCiAgX19JTyB1aW50MzJfdCBGSUZPOw0KfSBTRElPX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgU2VyaWFsIFBlcmlwaGVyYWwgSW50ZXJmYWNlDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOw0KICBfX0lPIHVpbnQzMl90IENSMjsNCiAgX19JTyB1aW50MzJfdCBTUjsNCiAgX19JTyB1aW50MzJfdCBEUjsNCiAgX19JTyB1aW50MzJfdCBDUkNQUjsNCiAgX19JTyB1aW50MzJfdCBSWENSQ1I7DQogIF9fSU8gdWludDMyX3QgVFhDUkNSOw0KfSBTUElfVHlwZURlZjsNCg0KLyoqDQogICogQGJyaWVmIFRJTSBUaW1lcnMNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU01DUjsgICAgICAgICAgICAvKiE8IFRJTSBzbGF2ZSBNb2RlIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgRElFUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEvaW50ZXJydXB0IGVuYWJsZSByZWdpc3RlciwgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgRUdSOyAgICAgICAgICAgICAvKiE8IFRJTSBldmVudCBnZW5lcmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjE7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMSwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjI7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMiwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgQ0NFUjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgZW5hYmxlIHJlZ2lzdGVyLCAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovDQogIF9fSU8gdWludDMyX3QgQ05UOyAgICAgICAgICAgICAvKiE8IFRJTSBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIF9fSU8gdWludDMyX3QgUFNDOyAgICAgICAgICAgICAvKiE8IFRJTSBwcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI4ICovDQogIF9fSU8gdWludDMyX3QgQVJSOyAgICAgICAgICAgICAvKiE8IFRJTSBhdXRvLXJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDJDICovDQogIF9fSU8gdWludDMyX3QgUkNSOyAgICAgICAgICAgICAvKiE8IFRJTSAgcmVwZXRpdGlvbiBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovDQogIF9fSU8gdWludDMyX3QgQ0NSMTsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM0ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM4ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMzsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMywgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovDQogIF9fSU8gdWludDMyX3QgQ0NSNDsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgNCwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQwICovDQogIF9fSU8gdWludDMyX3QgQkRUUjsgICAgICAgICAgICAvKiE8IFRJTSBicmVhayBhbmQgZGVhZC10aW1lIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ0ICovDQogIF9fSU8gdWludDMyX3QgRENSOyAgICAgICAgICAgICAvKiE8IFRJTSBETUEgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovDQogIF9fSU8gdWludDMyX3QgRE1BUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEgYWRkcmVzcyBmb3IgZnVsbCB0cmFuc2ZlciByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDRDICovDQogIF9fSU8gdWludDMyX3QgT1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBvcHRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDUwICovDQp9VElNX1R5cGVEZWY7DQoNCg0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyDQogICovDQogDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgIC8qITwgVVNBUlQgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgVVNBUlQgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IEJSUjsgICAgICAgIC8qITwgVVNBUlQgQmF1ZCByYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMzsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IEdUUFI7ICAgICAgIC8qITwgVVNBUlQgR3VhcmQgdGltZSBhbmQgcHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KfSBVU0FSVF9UeXBlRGVmOw0KDQoNCg0KLyoqIA0KICAqIEBicmllZiBXaW5kb3cgV0FUQ0hET0cNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsgICAvKiE8IFdXREcgQ29udHJvbCByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBDRlI7ICAvKiE8IFdXREcgQ29uZmlndXJhdGlvbiByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBTUjsgICAvKiE8IFdXREcgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCn0gV1dER19UeXBlRGVmOw0KDQovKioNCiAgKiBAfQ0KICAqLw0KICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX21lbW9yeV9tYXANCiAgKiBAew0KICAqLw0KDQoNCiNkZWZpbmUgRkxBU0hfQkFTRSAgICAgICAgICAgIDB4MDgwMDAwMDBVIC8qITwgRkxBU0ggYmFzZSBhZGRyZXNzIGluIHRoZSBhbGlhcyByZWdpb24gKi8NCiNkZWZpbmUgRkxBU0hfQkFOSzFfRU5EICAgICAgIDB4MDgwN0ZGRkZVIC8qITwgRkxBU0ggRU5EIGFkZHJlc3Mgb2YgYmFuazEgKi8NCiNkZWZpbmUgU1JBTV9CQVNFICAgICAgICAgICAgIDB4MjAwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkFTRSAgICAgICAgICAgMHg0MDAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQoNCiNkZWZpbmUgU1JBTV9CQl9CQVNFICAgICAgICAgIDB4MjIwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGJpdC1iYW5kIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkJfQkFTRSAgICAgICAgMHg0MjAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovDQoNCiNkZWZpbmUgRlNNQ19CQVNFICAgICAgICAgICAgIDB4NjAwMDAwMDBVIC8qITwgRlNNQyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19SX0JBU0UgICAgICAgICAgIDB4QTAwMDAwMDBVIC8qITwgRlNNQyByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQoNCi8qITwgUGVyaXBoZXJhbCBtZW1vcnkgbWFwICovDQojZGVmaW5lIEFQQjFQRVJJUEhfQkFTRSAgICAgICBQRVJJUEhfQkFTRQ0KI2RlZmluZSBBUEIyUEVSSVBIX0JBU0UgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxMDAwMFUpDQojZGVmaW5lIEFIQlBFUklQSF9CQVNFICAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDIwMDAwVSkNCg0KI2RlZmluZSBUSU0yX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBUSU0zX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDBVKQ0KI2RlZmluZSBUSU00X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDA4MDBVKQ0KI2RlZmluZSBUSU01X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDBDMDBVKQ0KI2RlZmluZSBUSU02X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDEwMDBVKQ0KI2RlZmluZSBUSU03X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDE0MDBVKQ0KI2RlZmluZSBUSU0xMl9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDE4MDBVKQ0KI2RlZmluZSBUSU0xM19CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDFDMDBVKQ0KI2RlZmluZSBUSU0xNF9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDIwMDBVKQ0KI2RlZmluZSBSVENfQkFTRSAgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDI4MDBVKQ0KI2RlZmluZSBXV0RHX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDJDMDBVKQ0KI2RlZmluZSBJV0RHX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KI2RlZmluZSBTUEkyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDM4MDBVKQ0KI2RlZmluZSBTUEkzX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDNDMDBVKQ0KI2RlZmluZSBVU0FSVDJfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDQ0MDBVKQ0KI2RlZmluZSBVU0FSVDNfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDQ4MDBVKQ0KI2RlZmluZSBVQVJUNF9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDRDMDBVKQ0KI2RlZmluZSBVQVJUNV9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDUwMDBVKQ0KI2RlZmluZSBJMkMxX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDU0MDBVKQ0KI2RlZmluZSBJMkMyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4NTgwMCkNCiNkZWZpbmUgQktQX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA2QzAwVSkNCiNkZWZpbmUgUFdSX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3MDAwVSkNCiNkZWZpbmUgREFDX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3NDAwVSkNCiNkZWZpbmUgQ0VDX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3ODAwVSkNCiNkZWZpbmUgQUZJT19CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwMDAwVSkNCiNkZWZpbmUgRVhUSV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgR1BJT0FfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwODAwVSkNCiNkZWZpbmUgR1BJT0JfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwQzAwVSkNCiNkZWZpbmUgR1BJT0NfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgR1BJT0RfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxNDAwVSkNCiNkZWZpbmUgR1BJT0VfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxODAwVSkNCiNkZWZpbmUgR1BJT0ZfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxQzAwVSkNCiNkZWZpbmUgR1BJT0dfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyMDAwVSkNCiNkZWZpbmUgQURDMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyNDAwVSkNCiNkZWZpbmUgVElNMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyQzAwVSkNCiNkZWZpbmUgU1BJMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzMDAwVSkNCiNkZWZpbmUgVVNBUlQxX0JBU0UgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzODAwVSkNCiNkZWZpbmUgVElNMTVfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA0MDAwVSkNCiNkZWZpbmUgVElNMTZfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA0NDAwVSkNCiNkZWZpbmUgVElNMTdfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA0ODAwVSkNCg0KI2RlZmluZSBTRElPX0JBU0UgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxODAwMFUpDQoNCiNkZWZpbmUgRE1BMV9CQVNFICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWwxX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAwOFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDJfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDFDVSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsM19CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMzBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw0X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA0NFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDVfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDU4VSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNl9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwNkNVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw3X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA4MFUpDQojZGVmaW5lIERNQTJfQkFTRSAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsMV9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDhVKQ0KI2RlZmluZSBETUEyX0NoYW5uZWwyX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDQxQ1UpDQojZGVmaW5lIERNQTJfQ2hhbm5lbDNfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwNDMwVSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsNF9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDA0NDRVKQ0KI2RlZmluZSBETUEyX0NoYW5uZWw1X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDQ1OFUpDQojZGVmaW5lIFJDQ19CQVNFICAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgQ1JDX0JBU0UgICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KDQojZGVmaW5lIEZMQVNIX1JfQkFTRSAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAyMDAwVSkgLyohPCBGbGFzaCByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZMQVNIU0laRV9CQVNFICAgICAgICAweDFGRkZGN0UwVSAgICAvKiE8IEZMQVNIIFNpemUgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIFVJRF9CQVNFICAgICAgICAgICAgICAweDFGRkZGN0U4VSAgICAvKiE8IFVuaXF1ZSBkZXZpY2UgSUQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIE9CX0JBU0UgICAgICAgICAgICAgICAweDFGRkZGODAwVSAgICAvKiE8IEZsYXNoIE9wdGlvbiBCeXRlcyBiYXNlIGFkZHJlc3MgKi8NCg0KDQojZGVmaW5lIEZTTUNfQkFOSzEgICAgICAgICAgICAoRlNNQ19CQVNFKSAgICAgICAgICAgICAgIC8qITwgRlNNQyBCYW5rMSBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LMV8xICAgICAgICAgIChGU01DX0JBTksxKSAgICAgICAgICAgICAgLyohPCBGU01DIEJhbmsxXzEgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZTTUNfQkFOSzFfMiAgICAgICAgICAoRlNNQ19CQU5LMSArIDB4MDQwMDAwMDBVKSAvKiE8IEZTTUMgQmFuazFfMiBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LMV8zICAgICAgICAgIChGU01DX0JBTksxICsgMHgwODAwMDAwMFUpIC8qITwgRlNNQyBCYW5rMV8zIGJhc2UgYWRkcmVzcyAqLw0KI2RlZmluZSBGU01DX0JBTksxXzQgICAgICAgICAgKEZTTUNfQkFOSzEgKyAweDBDMDAwMDAwVSkgLyohPCBGU01DIEJhbmsxXzQgYmFzZSBhZGRyZXNzICovDQoNCg0KI2RlZmluZSBGU01DX0JBTksxX1JfQkFTRSAgICAgKEZTTUNfUl9CQVNFICsgMHgwMDAwMDAwMFUpICAgIC8qITwgRlNNQyBCYW5rMSByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZTTUNfQkFOSzFFX1JfQkFTRSAgICAoRlNNQ19SX0JBU0UgKyAweDAwMDAwMTA0VSkgICAgLyohPCBGU01DIEJhbmsxRSByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQoNCiNkZWZpbmUgREJHTUNVX0JBU0UgICAgICAgICAgMHhFMDA0MjAwMFUgLyohPCBEZWJ1ZyBNQ1UgcmVnaXN0ZXJzIGJhc2UgYWRkcmVzcyAqLw0KDQoNCg0KLyoqDQogICogQH0NCiAgKi8NCiAgDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9kZWNsYXJhdGlvbg0KICAqIEB7DQogICovICANCg0KI2RlZmluZSBUSU0yICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0yX0JBU0UpDQojZGVmaW5lIFRJTTMgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTNfQkFTRSkNCiNkZWZpbmUgVElNNCAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNNF9CQVNFKQ0KI2RlZmluZSBUSU01ICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU01X0JBU0UpDQojZGVmaW5lIFRJTTYgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTZfQkFTRSkNCiNkZWZpbmUgVElNNyAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNN19CQVNFKQ0KI2RlZmluZSBUSU0xMiAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0xMl9CQVNFKQ0KI2RlZmluZSBUSU0xMyAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0xM19CQVNFKQ0KI2RlZmluZSBUSU0xNCAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0xNF9CQVNFKQ0KI2RlZmluZSBSVEMgICAgICAgICAgICAgICAgICgoUlRDX1R5cGVEZWYgKilSVENfQkFTRSkNCiNkZWZpbmUgV1dERyAgICAgICAgICAgICAgICAoKFdXREdfVHlwZURlZiAqKVdXREdfQkFTRSkNCiNkZWZpbmUgSVdERyAgICAgICAgICAgICAgICAoKElXREdfVHlwZURlZiAqKUlXREdfQkFTRSkNCiNkZWZpbmUgU1BJMiAgICAgICAgICAgICAgICAoKFNQSV9UeXBlRGVmICopU1BJMl9CQVNFKQ0KI2RlZmluZSBTUEkzICAgICAgICAgICAgICAgICgoU1BJX1R5cGVEZWYgKilTUEkzX0JBU0UpDQojZGVmaW5lIFVTQVJUMiAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVVNBUlQyX0JBU0UpDQojZGVmaW5lIFVTQVJUMyAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVVNBUlQzX0JBU0UpDQojZGVmaW5lIFVBUlQ0ICAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVUFSVDRfQkFTRSkNCiNkZWZpbmUgVUFSVDUgICAgICAgICAgICAgICAoKFVTQVJUX1R5cGVEZWYgKilVQVJUNV9CQVNFKQ0KI2RlZmluZSBJMkMxICAgICAgICAgICAgICAgICgoSTJDX1R5cGVEZWYgKilJMkMxX0JBU0UpDQojZGVmaW5lIEkyQzIgICAgICAgICAgICAgICAgKChJMkNfVHlwZURlZiAqKUkyQzJfQkFTRSkNCiNkZWZpbmUgQktQICAgICAgICAgICAgICAgICAoKEJLUF9UeXBlRGVmICopQktQX0JBU0UpDQojZGVmaW5lIFBXUiAgICAgICAgICAgICAgICAgKChQV1JfVHlwZURlZiAqKVBXUl9CQVNFKQ0KI2RlZmluZSBEQUMxICAgICAgICAgICAgICAgICgoREFDX1R5cGVEZWYgKilEQUNfQkFTRSkNCiNkZWZpbmUgREFDICAgICAgICAgICAgICAgICAoKERBQ19UeXBlRGVmICopREFDX0JBU0UpIC8qIEtlcHQgZm9yIGxlZ2FjeSBwdXJwb3NlICovDQojZGVmaW5lIENFQyAgICAgICAgICAgICAgICAgKChDRUNfVHlwZURlZiAqKUNFQ19CQVNFKQ0KI2RlZmluZSBBRklPICAgICAgICAgICAgICAgICgoQUZJT19UeXBlRGVmICopQUZJT19CQVNFKQ0KI2RlZmluZSBFWFRJICAgICAgICAgICAgICAgICgoRVhUSV9UeXBlRGVmICopRVhUSV9CQVNFKQ0KI2RlZmluZSBHUElPQSAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0FfQkFTRSkNCiNkZWZpbmUgR1BJT0IgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9CX0JBU0UpDQojZGVmaW5lIEdQSU9DICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPQ19CQVNFKQ0KI2RlZmluZSBHUElPRCAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0RfQkFTRSkNCiNkZWZpbmUgR1BJT0UgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9FX0JBU0UpDQojZGVmaW5lIEdQSU9GICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPRl9CQVNFKQ0KI2RlZmluZSBHUElPRyAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0dfQkFTRSkNCiNkZWZpbmUgQURDMSAgICAgICAgICAgICAgICAoKEFEQ19UeXBlRGVmICopQURDMV9CQVNFKQ0KI2RlZmluZSBBREMxX0NPTU1PTiAgICAgICAgICgoQURDX0NvbW1vbl9UeXBlRGVmICopQURDMV9CQVNFKQ0KI2RlZmluZSBUSU0xICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0xX0JBU0UpDQojZGVmaW5lIFNQSTEgICAgICAgICAgICAgICAgKChTUElfVHlwZURlZiAqKVNQSTFfQkFTRSkNCiNkZWZpbmUgVVNBUlQxICAgICAgICAgICAgICAoKFVTQVJUX1R5cGVEZWYgKilVU0FSVDFfQkFTRSkNCiNkZWZpbmUgVElNMTUgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMTVfQkFTRSkNCiNkZWZpbmUgVElNMTYgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMTZfQkFTRSkNCiNkZWZpbmUgVElNMTcgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMTdfQkFTRSkNCiNkZWZpbmUgU0RJTyAgICAgICAgICAgICAgICAoKFNESU9fVHlwZURlZiAqKVNESU9fQkFTRSkNCiNkZWZpbmUgRE1BMSAgICAgICAgICAgICAgICAoKERNQV9UeXBlRGVmICopRE1BMV9CQVNFKQ0KI2RlZmluZSBETUEyICAgICAgICAgICAgICAgICgoRE1BX1R5cGVEZWYgKilETUEyX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDEgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsMV9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwyICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDJfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMyAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWwzX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDQgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsNF9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw1ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDVfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWw2X0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDcgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsN19CQVNFKQ0KI2RlZmluZSBETUEyX0NoYW5uZWwxICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTJfQ2hhbm5lbDFfQkFTRSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsMiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUEyX0NoYW5uZWwyX0JBU0UpDQojZGVmaW5lIERNQTJfQ2hhbm5lbDMgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMl9DaGFubmVsM19CQVNFKQ0KI2RlZmluZSBETUEyX0NoYW5uZWw0ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTJfQ2hhbm5lbDRfQkFTRSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsNSAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUEyX0NoYW5uZWw1X0JBU0UpDQojZGVmaW5lIFJDQyAgICAgICAgICAgICAgICAgKChSQ0NfVHlwZURlZiAqKVJDQ19CQVNFKQ0KI2RlZmluZSBDUkMgICAgICAgICAgICAgICAgICgoQ1JDX1R5cGVEZWYgKilDUkNfQkFTRSkNCiNkZWZpbmUgRkxBU0ggICAgICAgICAgICAgICAoKEZMQVNIX1R5cGVEZWYgKilGTEFTSF9SX0JBU0UpDQojZGVmaW5lIE9CICAgICAgICAgICAgICAgICAgKChPQl9UeXBlRGVmICopT0JfQkFTRSkNCiNkZWZpbmUgRlNNQ19CYW5rMSAgICAgICAgICAoKEZTTUNfQmFuazFfVHlwZURlZiAqKUZTTUNfQkFOSzFfUl9CQVNFKQ0KI2RlZmluZSBGU01DX0JhbmsxRSAgICAgICAgICgoRlNNQ19CYW5rMUVfVHlwZURlZiAqKUZTTUNfQkFOSzFFX1JfQkFTRSkNCiNkZWZpbmUgREJHTUNVICAgICAgICAgICAgICAoKERCR01DVV9UeXBlRGVmICopREJHTUNVX0JBU0UpDQoNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIEV4cG9ydGVkX2NvbnN0YW50cw0KICAqIEB7DQogICovDQogIA0KICAvKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9SZWdpc3RlcnNfQml0c19EZWZpbml0aW9uDQogICogQHsNCiAgKi8NCiAgICANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBQZXJpcGhlcmFsIFJlZ2lzdGVyc19CaXRzX0RlZmluaXRpb24gICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgQ1JDIGNhbGN1bGF0aW9uIHVuaXQgKENSQykgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19EUl9EUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBDUkNfRFJfRFJfUG9zKSAgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIENSQ19EUl9EUiAgICAgICAgICAgICAgICAgICAgICAgICAgIENSQ19EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHJlZ2lzdGVyIGJpdHMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDUkNfSURSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ1JDX0lEUl9JRFJfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0lEUl9JRFJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IENSQ19JRFJfSURSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgQ1JDX0lEUl9JRFIgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDX0lEUl9JRFJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEdlbmVyYWwtcHVycG9zZSA4LWJpdCBkYXRhIHJlZ2lzdGVyIGJpdHMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ1JDX0NSX1JFU0VUX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0NSX1JFU0VUX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQ1JDX0NSX1JFU0VUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQ1JDX0NSX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgQ1JDX0NSX1JFU0VUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJFU0VUIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb3dlciBDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUFdSX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUFdSX0NSX0xQRFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0xQRFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0xQRFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUFdSX0NSX0xQRFMgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0xQRFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IExvdy1Qb3dlciBEZWVwc2xlZXAgKi8NCiNkZWZpbmUgUFdSX0NSX1BERFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX1BERFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1BERFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUFdSX0NSX1BERFMgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BERFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBvd2VyIERvd24gRGVlcHNsZWVwICovDQojZGVmaW5lIFBXUl9DUl9DV1VGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9DV1VGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9DV1VGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFBXUl9DUl9DV1VGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9DV1VGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBXYWtldXAgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1JfQ1NCRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfQ1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfQ1NCRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1NCRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfQ1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgU3RhbmRieSBGbGFnICovDQojZGVmaW5lIFBXUl9DUl9QVkRFX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QVkRFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9QVkRFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFBXUl9DUl9QVkRFICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QVkRFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQb3dlciBWb2x0YWdlIERldGVjdG9yIEVuYWJsZSAqLw0KDQojZGVmaW5lIFBXUl9DUl9QTFNfUG9zICAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QTFNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFBXUl9DUl9QTFNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMEUwICovDQojZGVmaW5lIFBXUl9DUl9QTFMgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQTFNbMjowXSBiaXRzIChQVkQgTGV2ZWwgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFBWRCBsZXZlbCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuMlYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYxICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi4zViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjIgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA0MFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjRWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDYwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuNVYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY0ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi42ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjUgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBBMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjdWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuOFYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY3ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi45ViAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzJWMiAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYwDQojZGVmaW5lIFBXUl9DUl9QTFNfMlYzICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjENCiNkZWZpbmUgUFdSX0NSX1BMU18yVjQgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMg0KI2RlZmluZSBQV1JfQ1JfUExTXzJWNSAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYzDQojZGVmaW5lIFBXUl9DUl9QTFNfMlY2ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjQNCiNkZWZpbmUgUFdSX0NSX1BMU18yVjcgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWNQ0KI2RlZmluZSBQV1JfQ1JfUExTXzJWOCAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY2DQojZGVmaW5lIFBXUl9DUl9QTFNfMlY5ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjcNCg0KI2RlZmluZSBQV1JfQ1JfREJQX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfREJQX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfREJQX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBQV1JfQ1JfREJQICAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfREJQX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRGlzYWJsZSBCYWNrdXAgRG9tYWluIHdyaXRlIHByb3RlY3Rpb24gKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFBXUl9DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBQV1JfQ1NSX1dVRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1dVRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBQV1JfQ1NSX1dVRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2FrZXVwIEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NTUl9TQkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9TQkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9TQkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUFdSX0NTUl9TQkYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9TQkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YW5kYnkgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1NSX1BWRE9fUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1BWRE9fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1BWRE9fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBQV1JfQ1NSX1BWRE8gICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1BWRE9fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIE91dHB1dCAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVBfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX0VXVVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX0VXVVBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX0VXVVBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlIFdLVVAgcGluICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFja3VwIHJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxX0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxX0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMl9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMl9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjNfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjNfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjNfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI0X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI0X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI0X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI1IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNV9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNV9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjZfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjZfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjZfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI3X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI3X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI3X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI4IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSOF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSOF9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSOF9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSOSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjlfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjlfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjlfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjEwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxMF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxMF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxMF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxMF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxMF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTFfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTFfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTFfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMTIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjEyX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjEyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjEyX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjEyX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjEyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjEzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxM19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxM19EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxM19EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxM19EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxM19EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTRfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTRfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTRfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTRfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTRfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMTUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjE1X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjE1X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjE1X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjE1X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjE1X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjE2IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxNl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxNl9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxNl9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxNl9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxNl9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxNyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTdfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTdfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTdfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTdfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTdfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxOCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjE4X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjE4X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjE4X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjE4X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjE4X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjE5IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxOV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxOV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxOV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxOV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxOV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjBfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjBfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjBfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjIxX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjIxX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjIxX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyMl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyMl9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyMl9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyMl9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjNfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjNfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjNfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjI0X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjI0X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjI0X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjI1IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyNV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyNV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyNV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyNV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyNiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjZfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjZfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjZfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjI3X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjI3X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjI3X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjI4IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyOF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyOF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyOF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyOF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyOSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjlfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjlfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjlfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjMwX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjMwX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjMwX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjMwX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjMwX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjMxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzMV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzMV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzMV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzMV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzJfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzJfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzJfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjMzX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjMzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjMzX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjMzX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjMzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjM0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzNF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzNF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzNF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzNF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzVfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzVfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzVfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjM2X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjM2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjM2X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjM2X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjM2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjM3IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzN19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzN19EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzN19EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzN19EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzN19EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzOCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzhfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzhfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzhfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjM5X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjM5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjM5X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjM5X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjM5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjQwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI0MF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI0MF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI0MF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI0MF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI0MF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI0MSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNDFfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNDFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNDFfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNDFfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNDFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjQyX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjQyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjQyX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjQyX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjQyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQojZGVmaW5lIFJUQ19CS1BfTlVNQkVSIDQyDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfUlRDQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9SVENDUl9DQUxfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9DQUxfTXNrICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBCS1BfUlRDQ1JfQ0FMX1BvcykgICAgICAgLyohPCAweDAwMDAwMDdGICovDQojZGVmaW5lIEJLUF9SVENDUl9DQUwgICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9DQUxfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDYWxpYnJhdGlvbiB2YWx1ZSAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQ0NPX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfUlRDQ1JfQ0NPX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfUlRDQ1JfQ0NPX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQ0NPICAgICAgICAgICAgICAgICAgICAgICBCS1BfUlRDQ1JfQ0NPX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2FsaWJyYXRpb24gQ2xvY2sgT3V0cHV0ICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09FX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9BU09FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9BU09FX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09FICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9BU09FX01zayAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBvciBTZWNvbmQgT3V0cHV0IEVuYWJsZSAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPU19Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPU19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfUlRDQ1JfQVNPU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPUyAgICAgICAgICAgICAgICAgICAgICBCS1BfUlRDQ1JfQVNPU19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQWxhcm0gb3IgU2Vjb25kIE91dHB1dCBTZWxlY3Rpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0NSX1RQRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NSX1RQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NSX1RQRV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQktQX0NSX1RQRSAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NSX1RQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBwaW4gZW5hYmxlICovDQojZGVmaW5lIEJLUF9DUl9UUEFMX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DUl9UUEFMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DUl9UUEFMX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEJLUF9DUl9UUEFMICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DUl9UUEFMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUQU1QRVIgcGluIGFjdGl2ZSBsZXZlbCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfQ1NSX0NURV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX0NURV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX0NURV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBCS1BfQ1NSX0NURSAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX0NURV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgVGFtcGVyIGV2ZW50ICovDQojZGVmaW5lIEJLUF9DU1JfQ1RJX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfQ1RJX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfQ1RJX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEJLUF9DU1JfQ1RJICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfQ1RJX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBUYW1wZXIgSW50ZXJydXB0ICovDQojZGVmaW5lIEJLUF9DU1JfVFBJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfVFBJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfVFBJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEJLUF9DU1JfVFBJRSAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfVFBJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUQU1QRVIgUGluIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgQktQX0NTUl9URUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9URUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9URUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQktQX0NTUl9URUYgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9URUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRhbXBlciBFdmVudCBGbGFnICovDQojZGVmaW5lIEJLUF9DU1JfVElGX1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfVElGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEJLUF9DU1JfVElGICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0IEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19DUl9IU0lPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNJT05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DUl9IU0lPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTSVJEWV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTSVJEWV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayByZWFkeSBmbGFnICovDQojZGVmaW5lIFJDQ19DUl9IU0lUUklNX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lUUklNX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgUkNDX0NSX0hTSVRSSU1fUG9zKSAgICAgLyohPCAweDAwMDAwMEY4ICovDQojZGVmaW5lIFJDQ19DUl9IU0lUUklNICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJVFJJTV9Nc2sgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHRyaW1taW5nICovDQojZGVmaW5lIFJDQ19DUl9IU0lDQUxfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lDQUxfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgUkNDX0NSX0hTSUNBTF9Qb3MpICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIFJDQ19DUl9IU0lDQUwgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJQ0FMX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIENhbGlicmF0aW9uICovDQojZGVmaW5lIFJDQ19DUl9IU0VPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNFT05fUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNFT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTRVJEWV9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTRVJEWV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayByZWFkeSBmbGFnICovDQojZGVmaW5lIFJDQ19DUl9IU0VCWVBfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VCWVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNFQllQX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VCWVAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNFQllQX01zayAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIEJ5cGFzcyAqLw0KI2RlZmluZSBSQ0NfQ1JfQ1NTT05fUG9zICAgICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfQ1NTT05fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0NTU09OX1BvcykgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfQ1NTT04gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0NTU09OX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU2VjdXJpdHkgU3lzdGVtIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMT05fUG9zICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfUExMT05fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX1BMTE9OX1BvcykgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMT04gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX1BMTE9OX01zayAgICAgICAgICAgICAgICAgIC8qITwgUExMIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX1BMTFJEWV9Qb3MpICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX1BMTFJEWV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIHJlYWR5IGZsYWcgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DRkdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KLyohPCBTVyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1NXX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9TV19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFJDQ19DRkdSX1NXICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9TV19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTV1sxOjBdIGJpdHMgKFN5c3RlbSBjbG9jayBTd2l0Y2gpICovDQojZGVmaW5lIFJDQ19DRkdSX1NXXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9TV19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DRkdSX1NXXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9TV19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfU1dfSFNJICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTSSBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfSFNFICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfUExMICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDJVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCg0KLyohPCBTV1MgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfU1dTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1MgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfU1dTX01zayAgICAgICAgICAgICAgICAgIC8qITwgU1dTWzE6MF0gYml0cyAoU3lzdGVtIENsb2NrIFN3aXRjaCBTdGF0dXMpICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfU1dTX0hTSSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTSSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19IU0UgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0VSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0Ugb3NjaWxsYXRvciB1c2VkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfUExMICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwOFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQoNCi8qITwgSFBSRSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkUgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9IUFJFX01zayAgICAgICAgICAgICAgICAgLyohPCBIUFJFWzM6MF0gYml0cyAoQUhCIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjEgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMiAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNCAgICAgICAgICAgICAgICAgICAweDAwMDAwMDkwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWOCAgICAgICAgICAgICAgICAgICAweDAwMDAwMEEwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMTYgICAgICAgICAgICAgICAgICAweDAwMDAwMEIwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAxNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjY0ICAgICAgICAgICAgICAgICAgMHgwMDAwMDBDMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgNjQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxMjggICAgICAgICAgICAgICAgIDB4MDAwMDAwRDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDEyOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjI1NiAgICAgICAgICAgICAgICAgMHgwMDAwMDBFMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMjU2ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNTEyICAgICAgICAgICAgICAgICAweDAwMDAwMEYwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA1MTIgKi8NCg0KLyohPCBQUFJFMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QUFJFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwNzAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QUFJFMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQUkUxWzI6MF0gYml0cyAoQVBCMSBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QUFJFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9QUFJFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9QUFJFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWMSAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWMiAgICAgICAgICAgICAgICAgIDB4MDAwMDA0MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjQgICAgICAgICAgICAgICAgICAweDAwMDAwNTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVY4ICAgICAgICAgICAgICAgICAgMHgwMDAwMDYwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWMTYgICAgICAgICAgICAgICAgIDB4MDAwMDA3MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAxNiAqLw0KDQovKiE8IFBQUkUyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BQUkUyX1BvcykgICAgICAvKiE8IDB4MDAwMDM4MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTIgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BQUkUyX01zayAgICAgICAgICAgICAgICAvKiE8IFBSRTJbMjowXSBiaXRzIChBUEIyIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BQUkUyX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BQUkUyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BQUkUyX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVYxICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVYyICAgICAgICAgICAgICAgICAgMHgwMDAwMjAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWNCAgICAgICAgICAgICAgICAgIDB4MDAwMDI4MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjggICAgICAgICAgICAgICAgICAweDAwMDAzMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVYxNiAgICAgICAgICAgICAgICAgMHgwMDAwMzgwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDE2ICovDQoNCi8qITwgQURDUFBSRSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRSAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9BRENQUkVfTXNrICAgICAgICAgICAgICAgLyohPCBBRENQUkVbMTowXSBiaXRzIChBREMgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfQURDUFJFX1BvcykgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfQURDUFJFX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVYyICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjQgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfRElWNiAgICAgICAgICAgICAgICAgMHgwMDAwODAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENMSzIgZGl2aWRlZCBieSA2ICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVY4ICAgICAgICAgICAgICAgICAweDAwMDBDMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDggKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExTUkNfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExTUkNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMU1JDX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExTUkMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMU1JDX01zayAgICAgICAgICAgICAgIC8qITwgUExMIGVudHJ5IGNsb2NrIHNvdXJjZSAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFX1BvcyAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExYVFBSRV9Qb3MpICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExYVFBSRV9Nc2sgICAgICAgICAgICAgLyohPCBIU0UgZGl2aWRlciBmb3IgUExMIGVudHJ5ICovDQoNCi8qITwgUExMTVVMIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF9Qb3MgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF9Nc2sgICAgICAgICAgICAgICAgICgweEZVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAzQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTCAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTExfTXNrICAgICAgICAgICAgICAvKiE8IFBMTE1VTFszOjBdIGJpdHMgKFBMTCBtdWx0aXBsaWNhdGlvbiBmYWN0b3IpICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfMyAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfUFJFRElWMSAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBSRURJVjEgY2xvY2sgbm90IGRpdmlkZWQgZm9yIFBMTCBlbnRyeSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9QUkVESVYxX0RJVjIgICAgICAgMHgwMDAyMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFJFRElWMSBjbG9jayBkaXZpZGVkIGJ5IDIgZm9yIFBMTCBlbnRyeSAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwyICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMM19Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMM19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTDNfUG9zKSAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMyAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDNfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDRfUG9zICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEw0X1BvcykgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDQgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw0X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw1X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw1X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMNV9Qb3MpICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw1ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMNV9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNl9Qb3MgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTDZfUG9zKSAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNiAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDZfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDdfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDdfTXNrICAgICAgICAgICAgICAgICgweDVVIDw8IFJDQ19DRkdSX1BMTE1VTEw3X1BvcykgICAvKiE8IDB4MDAxNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDcgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw3X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo3ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw4X1BvcyAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw4X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMOF9Qb3MpICAgLyohPCAweDAwMTgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw4ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMOF9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOV9Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOV9Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUExMTVVMTDlfUG9zKSAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDlfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEwX1BvcyAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEwX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEwxMF9Qb3MpICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEwICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxMF9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jazEwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMV9Qb3MgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMV9Nc2sgICAgICAgICAgICAgICAoMHg5VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTFfUG9zKSAgLyohPCAweDAwMjQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMSAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTFfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTEgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEyX1BvcyAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEyX01zayAgICAgICAgICAgICAgICgweDVVIDw8IFJDQ19DRkdSX1BMTE1VTEwxMl9Qb3MpICAvKiE8IDB4MDAyODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEyICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxMl9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTNfUG9zICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTNfTXNrICAgICAgICAgICAgICAgKDB4QlUgPDwgUkNDX0NGR1JfUExMTVVMTDEzX1BvcykgIC8qITwgMHgwMDJDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTMgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDEzX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjEzICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNF9Qb3MgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNF9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTRfUG9zKSAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNCAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTRfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE1X1BvcyAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE1X01zayAgICAgICAgICAgICAgICgweERVIDw8IFJDQ19DRkdSX1BMTE1VTEwxNV9Qb3MpICAvKiE8IDB4MDAzNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE1ICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxNV9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxNSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTZfUG9zICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTZfTXNrICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUExMTVVMTDE2X1BvcykgIC8qITwgMHgwMDM4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTYgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDE2X01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjE2ICovDQoNCi8qITwgTUNPIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX1BvcyAgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfTUNPX01zayAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDcwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE1DT1syOjBdIGJpdHMgKE1pY3JvY29udHJvbGxlciBDbG9jayBPdXRwdXQpICovDQojZGVmaW5lIFJDQ19DRkdSX01DT18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9NQ09fUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9NQ09fUG9zKSAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT18yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9NQ09fUG9zKSAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfTUNPX05PQ0xPQ0sgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19TWVNDTEsgICAgICAgICAgICAgICAgICAweDA0MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fSFNJICAgICAgICAgICAgICAgICAgICAgMHgwNTAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX0hTRSAgICAgICAgICAgICAgICAgICAgIDB4MDYwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fUExMQ0xLX0RJVjIgICAgICAgICAgICAgMHgwNzAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIGRpdmlkZWQgYnkgMiBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQoNCiAvKiBSZWZlcmVuY2UgZGVmaW5lcyAqLw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfMCAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fMA0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMXzEgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPXzENCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8yICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT18yDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfTk9DTE9DSyAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fTk9DTE9DSw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1NZU0NMSyAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX1NZU0NMSw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0hTSSAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX0hTSQ0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0hTRSAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX0hTRQ0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1BMTF9ESVYyICAgICAgICAgICAgUkNDX0NGR1JfTUNPX1BMTENMS19ESVYyDQoNCi8qITwqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ0lSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfQ1NTRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0NTU0ZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTRiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0NTU0ZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBMU0UgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgSFNJIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUlFX1BvcykgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBQTEwgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlDX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgTFNJIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlDX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlDX1BvcykgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgSFNJIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlDX1BvcykgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgSFNFIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlDX1BvcykgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0NfUG9zICAgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0NTU0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9DU1NDX1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0MgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9DU1NDX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU2VjdXJpdHkgU3lzdGVtIEludGVycnVwdCBDbGVhciAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIyUlNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRklPUlNUX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRklPUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQUZJT1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0FGSU9SU1RfTXNrICAgICAgICAgIC8qITwgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Qb3MgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUEFSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BBUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEEgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEJSU1RfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEJSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BCUlNUX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BCUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBCIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BDUlNUX1BvcyAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BDUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQ1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUENSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgQyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Qb3MgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUERSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUERSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BEUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEQgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQzFSU1RfUG9zICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQzFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9BREMxUlNUX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BREMxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Nc2sgICAgICAgICAgLyohPCBBREMgMSBpbnRlcmZhY2UgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xUlNUX1BvcyAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1RJTTFSU1RfTXNrICAgICAgICAgIC8qITwgVElNMSBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Qb3MgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1NQSTFSU1RfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NQSTFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9TUEkxUlNUX01zayAgICAgICAgICAvKiE8IFNQSSAxIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX01zayAgICAgICAgLyohPCBVU0FSVDEgcmVzZXQgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTVSU1RfUG9zICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTVSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTE1UlNUX1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNVJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVElNMTVSU1RfTXNrICAgICAgICAgLyohPCBUSU0xNSBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTZSU1RfUG9zICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTZSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTE2UlNUX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNlJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVElNMTZSU1RfTXNrICAgICAgICAgLyohPCBUSU0xNiBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTdSU1RfUG9zICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTdSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTE3UlNUX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xN1JTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVElNMTdSU1RfTXNrICAgICAgICAgLyohPCBUSU0xNyBUaW1lciByZXNldCAqLw0KDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BFUlNUX1BvcyAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BFUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QRVJTVF9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUEVSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgRSByZXNldCAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEZSU1RfUG9zICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEZSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BGUlNUX1BvcykgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BGUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QRlJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBGIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BHUlNUX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BHUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QR1JTVF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QR1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUEdSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgRyByZXNldCAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIxUlNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0yUlNUX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0yUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTJSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgMiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU0zUlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1dXREdSU1RfUG9zICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1dXREdSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9XV0RHUlNUX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Nc2sgICAgICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Qb3MgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVCAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfTXNrICAgICAgICAvKiE8IFVTQVJUIDIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfUG9zICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9JMkMxUlNUX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfSTJDMVJTVF9Nc2sgICAgICAgICAgLyohPCBJMkMgMSByZXNldCAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVF9Qb3MgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9CS1BSU1RfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9CS1BSU1RfTXNrICAgICAgICAgICAvKiE8IEJhY2t1cCBpbnRlcmZhY2UgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVF9Qb3MgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAvKiE8IFBvd2VyIGludGVyZmFjZSByZXNldCAqLw0KDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU00UlNUX1BvcyAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU00UlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNNFJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNFJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTRSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgNCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJMlJTVF9Qb3MgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJMlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1NQSTJSU1RfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9TUEkyUlNUX01zayAgICAgICAgICAvKiE8IFNQSSAyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfUG9zICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX01zayAgICAgICAgLyohPCBVU0FSVCAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUX1BvcyAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfSTJDMlJTVF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0kyQzJSU1RfTXNrICAgICAgICAgIC8qITwgSTJDIDIgcmVzZXQgKi8NCg0KDQoNCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU02UlNUX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU02UlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNNlJTVF9Nc2sgICAgICAgICAgLyohPCBUaW1lciA2IHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU03UlNUX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU03UlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNN1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNN1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTdSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgNyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfQ0VDUlNUX1BvcyAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfQ0VDUlNUX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0NFQ1JTVF9Qb3MpIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfQ0VDUlNUICAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0NFQ1JTVF9Nc2sgICAgICAgICAgIC8qITwgQ0VDIGludGVyZmFjZSByZXNldCAqLyANCg0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNVJTVF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTVSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTVSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU01UlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDUgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTEyUlNUX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTEyUlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU0xMlJTVF9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTJSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTEyUlNUX01zayAgICAgICAgIC8qITwgVElNMTIgVGltZXIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTEzUlNUX1BvcyAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTEzUlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU0xM1JTVF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTNSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTEzUlNUX01zayAgICAgICAgIC8qITwgVElNMTMgVGltZXIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTE0UlNUX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTE0UlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU0xNFJTVF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMTRSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTE0UlNUX01zayAgICAgICAgIC8qITwgVElNMTQgVGltZXIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTNSU1RfUG9zICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTNSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9TUEkzUlNUX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9TUEkzUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfU1BJM1JTVF9Nc2sgICAgICAgICAgLyohPCBTUEkgMyByZXNldCAqLyANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VBUlQ0UlNUX1BvcyAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VBUlQ0UlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9VQVJUNFJTVF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVUFSVDRSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1VBUlQ0UlNUX01zayAgICAgICAgIC8qITwgVUFSVCA0IHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VQVJUNVJTVF9Qb3MgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VQVJUNVJTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVUFSVDVSU1RfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VBUlQ1UlNUICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VQVJUNVJTVF9Nc2sgICAgICAgICAvKiE8IFVBUlQgNSByZXNldCAqLyANCg0KDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9EQUNSU1RfUG9zICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9EQUNSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfREFDUlNUX1BvcykgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9EQUNSU1QgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfREFDUlNUX01zayAgICAgICAgICAgLyohPCBEQUMgaW50ZXJmYWNlIHJlc2V0ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BSEJFTlJfRE1BMUVOX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfRE1BMUVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0RNQTFFTl9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BSEJFTlJfRE1BMUVOICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0RNQTFFTl9Nc2sgICAgICAgICAgICAgLyohPCBETUExIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX1NSQU1FTl9Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX1NSQU1FTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9TUkFNRU5fUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX1NSQU1FTiAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9TUkFNRU5fTXNrICAgICAgICAgICAgIC8qITwgU1JBTSBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfRkxJVEZFTl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfRkxJVEZFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0ZMSVRGRU5fUG9zKSAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BSEJFTlJfRkxJVEZFTiAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0ZMSVRGRU5fTXNrICAgICAgICAgICAgLyohPCBGTElURiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9DUkNFTl9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9DUkNFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfQ1JDRU5fUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9DUkNFTiAgICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfQ1JDRU5fTXNrICAgICAgICAgICAgICAvKiE8IENSQyBjbG9jayBlbmFibGUgKi8NCg0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTJFTl9Qb3MgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTJFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9ETUEyRU5fUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTJFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9ETUEyRU5fTXNrICAgICAgICAgICAgIC8qITwgRE1BMiBjbG9jayBlbmFibGUgKi8NCg0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZTTUNFTl9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZTTUNFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9GU01DRU5fUG9zKSAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZTTUNFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9GU01DRU5fTXNrICAgICAgICAgICAgIC8qITwgRlNNQyBjbG9jayBlbmFibGUgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjJFTlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU5fUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfQUZJT0VOX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfQUZJT0VOX01zayAgICAgICAgICAgIC8qITwgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUEFFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUEFFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEEgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTl9Qb3MgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BCRU5fUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BCRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBCIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU5fUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QQ0VOX1BvcykgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QQ0VOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgQyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOX1BvcyAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUERFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUERFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTl9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9BREMxRU5fUG9zKSAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9BREMxRU5fTXNrICAgICAgICAgICAgLyohPCBBREMgMSBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU5fUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNMUVOX1BvcykgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNMUVOX01zayAgICAgICAgICAgIC8qITwgVElNMSBUaW1lciBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOX1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1NQSTFFTl9Qb3MpICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1NQSTFFTl9Nc2sgICAgICAgICAgICAvKiE8IFNQSSAxIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Qb3MgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVVNBUlQxRU5fUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU4gICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1VTQVJUMUVOX01zayAgICAgICAgICAvKiE8IFVTQVJUMSBjbG9jayBlbmFibGUgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xNUVOX1BvcyAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xNUVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNMTVFTl9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xNUVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNMTVFTl9Nc2sgICAgICAgICAgIC8qITwgVElNMTUgVGltZXIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTE2RU5fUG9zICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTE2RU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9USU0xNkVOX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTE2RU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9USU0xNkVOX01zayAgICAgICAgICAgLyohPCBUSU0xNiBUaW1lciBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTdFTl9Qb3MgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTdFTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1RJTTE3RU5fUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTdFTiAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1RJTTE3RU5fTXNrICAgICAgICAgICAvKiE8IFRJTTE3IFRpbWVyIGNsb2NrIGVuYWJsZSAqLw0KDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTl9Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BFRU5fUG9zKSAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BFRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBFIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QRkVOX1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QRkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUEZFTl9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QRkVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUEZFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEYgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEdFTl9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEdFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BHRU5fUG9zKSAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEdFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BHRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBHIGNsb2NrIGVuYWJsZSAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIxRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTJFTl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTJFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0yRU5fUG9zKSAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTJFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0yRU5fTXNrICAgICAgICAgICAgLyohPCBUaW1lciAyIGNsb2NrIGVuYWJsZWQqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0zRU5fUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0zRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNM0VOX1BvcykgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0zRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNM0VOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgMyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfV1dER0VOX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfV1dER0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1dXREdFTl9Qb3MpICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfV1dER0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1dXREdFTl9Nc2sgICAgICAgICAgICAvKiE8IFdpbmRvdyBXYXRjaGRvZyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQyRU5fUG9zICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQyRU5fTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1VTQVJUMkVOX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Nc2sgICAgICAgICAgLyohPCBVU0FSVCAyIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMxRU5fUG9zICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMxRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfSTJDMUVOX1BvcykgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMxRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfSTJDMUVOX01zayAgICAgICAgICAgIC8qITwgSTJDIDEgY2xvY2sgZW5hYmxlICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMUVOUl9CS1BFTl9Qb3MgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9CS1BFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfQktQRU5fUG9zKSAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9CS1BFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfQktQRU5fTXNrICAgICAgICAgICAgIC8qITwgQmFja3VwIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfUFdSRU5fUG9zICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfUFdSRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1BXUkVOX1BvcykgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfUFdSRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1BXUkVOX01zayAgICAgICAgICAgICAvKiE8IFBvd2VyIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU00RU5fUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU00RU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNNEVOX1BvcykgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU00RU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNNEVOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgNCBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJMkVOX1BvcyAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJMkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1NQSTJFTl9Qb3MpICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJMkVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1NQSTJFTl9Nc2sgICAgICAgICAgICAvKiE8IFNQSSAyIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDNFTl9Qb3MgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDNFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVVNBUlQzRU5fUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU4gICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1VTQVJUM0VOX01zayAgICAgICAgICAvKiE8IFVTQVJUIDMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzJFTl9Qb3MgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzJFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9JMkMyRU5fUG9zKSAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzJFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9JMkMyRU5fTXNrICAgICAgICAgICAgLyohPCBJMkMgMiBjbG9jayBlbmFibGUgKi8NCg0KDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNkVOX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTZFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNkVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTZFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDYgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTdFTl9Qb3MgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTdFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU03RU5fUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTdFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU03RU5fTXNrICAgICAgICAgICAgLyohPCBUaW1lciA3IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9DRUNFTl9Qb3MgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9DRUNFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfQ0VDRU5fUG9zKSAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9DRUNFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfQ0VDRU5fTXNrICAgICAgICAgICAgIC8qITwgQ0VDIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8gDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNUVOX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTVFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTVFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDUgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEyRU5fUG9zICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEyRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0xMkVOX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEyRU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0xMkVOX01zayAgICAgICAgICAgLyohPCBUSU0xMiBUaW1lciBjbG9jayBlbmFibGUgICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEzRU5fUG9zICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEzRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0xM0VOX1BvcykgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTEzRU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0xM0VOX01zayAgICAgICAgICAgLyohPCBUSU0xMyBUaW1lciBjbG9jayBlbmFibGUgICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTE0RU5fUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTE0RU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0xNEVOX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTE0RU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0xNEVOX01zayAgICAgICAgICAgLyohPCBUSU0xNCBUaW1lciBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJM0VOX1BvcyAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJM0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1NQSTNFTl9Qb3MpICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJM0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1NQSTNFTl9Nc2sgICAgICAgICAgICAvKiE8IFNQSSAzIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNEVOX1BvcyAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNEVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVUFSVDRFTl9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNEVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVUFSVDRFTl9Nc2sgICAgICAgICAgIC8qITwgVUFSVCA0IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNUVOX1BvcyAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNUVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVUFSVDVFTl9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VQVJUNUVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVUFSVDVFTl9Nc2sgICAgICAgICAgIC8qITwgVUFSVCA1IGNsb2NrIGVuYWJsZSAqLyANCg0KDQojZGVmaW5lIFJDQ19BUEIxRU5SX0RBQ0VOX1BvcyAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX0RBQ0VOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9EQUNFTl9Qb3MpICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0RBQ0VOICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9EQUNFTl9Nc2sgICAgICAgICAgICAgLyohPCBEQUMgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19CRENSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfTFNFT05fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfTFNFT05fTXNrICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgZW5hYmxlICovDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWV9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9MU0VSRFlfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWSAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VSRFlfTXNrICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBSZWFkeSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVBfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfTFNFQllQX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfTFNFQllQX01zayAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgQnlwYXNzICovDQoNCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX1JUQ1NFTF9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQ1NFTFsxOjBdIGJpdHMgKFJUQyBjbG9jayBzb3VyY2Ugc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQovKiE8IFJUQyBjb25naWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9OT0NMT0NLICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNFICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNFIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTSSAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTSSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9IU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMzAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0Ugb3NjaWxsYXRvciBjbG9jayBkaXZpZGVkIGJ5IDEyOCB1c2VkIGFzIFJUQyBjbG9jayAqLw0KDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9SVENFTl9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9SVENFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBSVEMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUX1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9CRFJTVF9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9CRFJTVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZG9tYWluIHNvZnR3YXJlIHJlc2V0ICAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLyAgDQojZGVmaW5lIFJDQ19DU1JfTFNJT05fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFNJT05fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xTSU9OX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DU1JfTFNJT04gICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0xTSU9OX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFNJUkRZX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFkgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFNJUkRZX01zayAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIFJlYWR5ICovDQojZGVmaW5lIFJDQ19DU1JfUk1WRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUk1WRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1JNVkZfUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUk1WRiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1JNVkZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSZW1vdmUgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEZfUG9zICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9QSU5SU1RGX1BvcykgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9QSU5SU1RGX01zayAgICAgICAgICAgICAgIC8qITwgUElOIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGX1BvcyAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUE9SUlNURl9Qb3MpICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfUE9SUlNURl9Nc2sgICAgICAgICAgICAgICAvKiE8IFBPUi9QRFIgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEZfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9TRlRSU1RGX1BvcykgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9TRlRSU1RGX01zayAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgUmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9JV0RHUlNURl9Qb3MpICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9JV0RHUlNURl9Nc2sgICAgICAgICAgICAgIC8qITwgSW5kZXBlbmRlbnQgV2F0Y2hkb2cgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9XV0RHUlNURl9Qb3MpICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9XV0RHUlNURl9Nc2sgICAgICAgICAgICAgIC8qITwgV2luZG93IHdhdGNoZG9nIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURl9Qb3MgICAgICAgICAgICAgICAgICgzMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFBXUlJTVEZfUG9zKSAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURiAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFBXUlJTVEZfTXNrICAgICAgICAgICAgICAvKiE8IExvdy1Qb3dlciByZXNldCBmbGFnICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ0ZHUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCi8qITwgUFJFRElWMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9Qb3MpICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9Nc2sgICAgICAgICAgICAgLyohPCBQUkVESVYxWzM6MF0gYml0cyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1IyX1BSRURJVjFfUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1IyX1BSRURJVjFfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV8yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1IyX1BSRURJVjFfUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV8zICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1IyX1BSRURJVjFfUG9zKSAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjJfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjJfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYyX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjIgICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYyX01zayAgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYzX1BvcyAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYzX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1IyX1BSRURJVjFfRElWM19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYzICAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWM19Nc2sgICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDMgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWNF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWNF9Nc2sgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjRfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWNCAgICAgICAgICAgICAgIFJDQ19DRkdSMl9QUkVESVYxX0RJVjRfTXNrICAgICAgICAvKiE8IFBSRURJVjEgaW5wdXQgY2xvY2sgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjVfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjVfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY1X1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjUgICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY1X01zayAgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgNSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY2X1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY2X01zayAgICAgICAgICAgKDB4NVUgPDwgUkNDX0NGR1IyX1BSRURJVjFfRElWNl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY2ICAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWNl9Nc2sgICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDYgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWN19Qb3MgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWN19Nc2sgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWNyAgICAgICAgICAgICAgIFJDQ19DRkdSMl9QUkVESVYxX0RJVjdfTXNrICAgICAgICAvKiE8IFBSRURJVjEgaW5wdXQgY2xvY2sgZGl2aWRlZCBieSA3ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjhfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjhfTXNrICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY4X1BvcykgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjggICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY4X01zayAgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY5X1BvcyAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY5X01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1IyX1BSRURJVjFfRElWOV9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY5ICAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWOV9Nc2sgICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDkgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTBfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTBfTXNrICAgICAgICAgICgweDlVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjEwX1BvcykgLyohPCAweDAwMDAwMDA5ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEwICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMF9Nc2sgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTAgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTFfUG9zICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTFfTXNrICAgICAgICAgICgweDVVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjExX1BvcykgLyohPCAweDAwMDAwMDBBICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjExICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMV9Nc2sgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTEgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTJfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTJfTXNrICAgICAgICAgICgweEJVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjEyX1BvcykgLyohPCAweDAwMDAwMDBCICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEyICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMl9Nc2sgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTIgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTNfUG9zICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTNfTXNrICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjEzX1BvcykgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEzICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxM19Nc2sgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTMgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTRfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTRfTXNrICAgICAgICAgICgweERVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjE0X1BvcykgLyohPCAweDAwMDAwMDBEICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE0ICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNF9Nc2sgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTQgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTVfUG9zICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTVfTXNrICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjE1X1BvcykgLyohPCAweDAwMDAwMDBFICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE1ICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNV9Nc2sgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTUgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTZfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMTZfTXNrICAgICAgICAgICgweEZVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjE2X1BvcykgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE2ICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNl9Nc2sgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTYgKi8NCiANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgR2VuZXJhbCBQdXJwb3NlIGFuZCBBbHRlcm5hdGUgRnVuY3Rpb24gSS9PICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fQ1JMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MzMzMzMzMzNVIDw8IEdQSU9fQ1JMX01PREVfUG9zKSAvKiE8IDB4MzMzMzMzMzMgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBtb2RlIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTBfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTBbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMCkgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREUwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREUwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFMV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTFfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTFbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFMl9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTJfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTJbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMikgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREUyX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREUyX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFM19Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTNfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTNbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMykgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREUzX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREUzX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTRfUG9zKSAgICAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTRfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTRbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gNCkgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREU0X1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREU0X1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFNV9Qb3MgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTVfUG9zKSAgICAgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTVfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTVbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gNSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREU1X1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREU1X1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFNl9Qb3MgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTZfUG9zKSAgICAgIC8qITwgMHgwMzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTZfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTZbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gNikgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREU2X1BvcykgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREU2X1BvcykgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFN19Qb3MgICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTdfUG9zKSAgICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTdfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTdbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gNykgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREU3X1BvcykgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREU3X1BvcykgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MzMzMzMzMzNVIDw8IEdQSU9fQ1JMX0NORl9Qb3MpIC8qITwgMHhDQ0NDQ0NDQyAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cyAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjBfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYwX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYwWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDApICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjBfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjBfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GMV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjFbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYyX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GMlsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAyKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjNfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYzX1BvcykgICAgICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYzX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYzWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDMpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYzX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYzX1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjRfUG9zKSAgICAgICAvKiE8IDB4MDAwQzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjRbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNCkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjRfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjRfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkY1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkY1X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GNV9Qb3MpICAgICAgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GNVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA1KSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY1XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GNV9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY1XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GNV9Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY2X1BvcykgICAgICAgLyohPCAweDBDMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY2X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY2WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDYpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjZfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY2X1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjZfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY2X1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GN19Qb3MgICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjdfUG9zKSAgICAgICAvKiE8IDB4QzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjdbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNykgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GN18wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjdfUG9zKSAgICAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GN18xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjdfUG9zKSAgICAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0NSSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSSF9NT0RFX1BvcykgLyohPCAweDMzMzMzMzMzICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggbW9kZSBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERThfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERThfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREU4X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTggICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREU4X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU4WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDgpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTlfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTlfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREU5X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTkgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREU5X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU5WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDkpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxMF9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxMFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTFfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTExX1BvcykgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTEgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTExX01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTExWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDExKSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTFfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTExX1BvcykgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTFfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTExX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTJfUG9zKSAgICAgLyohPCAweDAwMDMwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMiAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTJfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTJbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTIpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTJfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTJfUG9zKSAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzX1BvcyAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxM19Qb3MpICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxM19Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxM1sxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMykgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxM19Qb3MpICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxM19Qb3MpICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTRfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTE0X1BvcykgICAgIC8qITwgMHgwMzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTQgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTE0X01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTE0WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDE0KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTRfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTE0X1BvcykgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTRfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTE0X1BvcykgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNV9Qb3MgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTVfUG9zKSAgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNSAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTVfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTVbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTUpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTVfUG9zKSAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTVfUG9zKSAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSSF9DTkZfUG9zKSAvKiE8IDB4Q0NDQ0NDQ0MgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkY4X1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkY4X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GOFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA4KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY4XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY4XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjlfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkY5X1BvcykgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkY5X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY5WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDkpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjlfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkY5X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjlfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkY5X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjEwX01zayAgICAgICAgICAgICAgICAvKiE8IENORjEwWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEwKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxMVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjExX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjExX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDBDMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTJbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTIpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEyXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxMl9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEyXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxMl9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfUG9zICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjEzX01zayAgICAgICAgICAgICAgICAvKiE8IENORjEzWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEzKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxM18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTNfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxM18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTNfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDBDMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxNFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxNCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTRfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjE0X1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTRfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjE0X1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHhDMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTVbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTUpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE1XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxNV9Qb3MpICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE1XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxNV9Qb3MpICAgICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qITwqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0lEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSN19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjdfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDggKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSOSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjEwX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTNfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjEzX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjEzX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEzICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX09EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAzICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA2ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI3X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDggKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA5ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjExX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEyICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0JTUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAzICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM1X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA1ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA2ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM3X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA3ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM4X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA4ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA5ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDEyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDE1ICovDQoNCiNkZWZpbmUgR1BJT19CU1JSX0JSMF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMV9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIyX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSM19Qb3MgICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjNfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSNF9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjVfUG9zICAgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI1X1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNl9Qb3MgICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjZfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSN19Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA3ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjhfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI4X1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDggKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSOV9Qb3MgICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjlfUG9zKSAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSOSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTBfUG9zKSAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTFfUG9zKSAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTJfUG9zKSAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTNfUG9zKSAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTRfUG9zKSAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTVfUG9zKSAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fQlJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0JSUl9CUjBfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIwX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMSAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIyX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIyX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIyICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjNfUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjMgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIzX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAzICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNF9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSNF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNCAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI1X1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI1X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI1ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjZfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjYgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI2X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA2ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSN19Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSN19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNyAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI4X1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI4X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI4ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjlfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjkgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI5X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA5ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTBfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjEwX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjEwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTFfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjExX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjExX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDExICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTJfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjEyX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjEyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEyICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTNfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjEzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjEzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEzICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTRfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjE0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjE0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTVfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjE1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjE1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0xDS1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0swX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0swX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0swICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzJfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0syX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0syX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAyICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0szX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0szX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLM19Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0szICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s1X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLNl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s2ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzdfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzdfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzhfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s4X1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzggICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s4X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s5ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLOV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzEwX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzEwX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDEwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTFfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMSAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTFfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEyX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMl9Qb3MpICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEyICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMl9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzEzX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTMgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzEzX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDEzICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTRfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNCAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTRfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxNV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE1ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxNV9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxNSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLS19Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDS0tfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLSyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDS0tfTXNrICAgICAgICAgICAgICAgIC8qITwgTG9jayBrZXkgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVZDUl9QSU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTiAgICAgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IFBJTlszOjBdIGJpdHMgKFBpbiBzZWxlY3Rpb24pICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qITwgUElOIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBpbiAwIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUElOX1BYMV9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMV9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gMSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMl9Qb3MgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDJfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMiAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDJfTXNrICAgICAgICAgICAgIC8qITwgUGluIDIgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDNfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDNfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QSU5fUFgzX1BvcykgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDMgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgzX01zayAgICAgICAgICAgICAvKiE8IFBpbiAzIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg0X1BvcyAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg0X01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUElOX1BYNF9Qb3MpICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg0ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYNF9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNV9Nc2sgICAgICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FVkNSX1BJTl9QWDVfUG9zKSAgIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDVfTXNrICAgICAgICAgICAgIC8qITwgUGluIDUgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDZfUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDZfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QSU5fUFg2X1BvcykgICAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDYgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg2X01zayAgICAgICAgICAgICAvKiE8IFBpbiA2IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg3X1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg3X01zayAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUElOX1BYN19Qb3MpICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg3ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYN19Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNyBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOF9Qb3MgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDhfUG9zKSAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOCAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDhfTXNrICAgICAgICAgICAgIC8qITwgUGluIDggc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDlfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDlfTXNrICAgICAgICAgICAgICAgICgweDlVIDw8IEFGSU9fRVZDUl9QSU5fUFg5X1BvcykgICAvKiE8IDB4MDAwMDAwMDkgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDkgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg5X01zayAgICAgICAgICAgICAvKiE8IFBpbiA5IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMF9Nc2sgICAgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VWQ1JfUElOX1BYMTBfUG9zKSAgLyohPCAweDAwMDAwMDBBICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMCAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTBfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTAgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDExX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDExX01zayAgICAgICAgICAgICAgICgweEJVIDw8IEFGSU9fRVZDUl9QSU5fUFgxMV9Qb3MpICAvKiE8IDB4MDAwMDAwMEIgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDExICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxMV9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxMSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTJfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTJfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FVkNSX1BJTl9QWDEyX1BvcykgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTIgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEyX01zayAgICAgICAgICAgIC8qITwgUGluIDEyIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxM19Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxM19Nc2sgICAgICAgICAgICAgICAoMHhEVSA8PCBBRklPX0VWQ1JfUElOX1BYMTNfUG9zKSAgLyohPCAweDAwMDAwMDBEICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMyAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTNfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTMgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE0X1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE0X01zayAgICAgICAgICAgICAgICgweDdVIDw8IEFGSU9fRVZDUl9QSU5fUFgxNF9Qb3MpICAvKiE8IDB4MDAwMDAwMEUgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE0ICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxNF9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxNCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTVfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTVfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FVkNSX1BJTl9QWDE1X1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTUgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDE1X01zayAgICAgICAgICAgIC8qITwgUGluIDE1IHNlbGVjdGVkICovDQoNCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFGSU9fRVZDUl9QT1JUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlQgICAgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX01zayAgICAgICAgICAgICAgICAvKiE8IFBPUlRbMjowXSBiaXRzIChQb3J0IHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fRVZDUl9QT1JUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFGSU9fRVZDUl9QT1JUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KLyohPCBQT1JUIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEEgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgQSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQl9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUEJfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQiAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUEJfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBCIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BDX1BvcyAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BDX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUE9SVF9QQ19Qb3MpICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BDICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9QQ19Nc2sgICAgICAgICAgICAgLyohPCBQb3J0IEMgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUERfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUERfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QT1JUX1BEX1BvcykgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEQgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BEX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgRCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRV9Qb3MgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUEVfUG9zKSAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUEVfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBFIHNlbGVjdGVkICovDQoNCiNkZWZpbmUgQUZJT19FVkNSX0VWT0VfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX0VWT0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9FVk9FX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX0VWT0UgICAgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9FVk9FX01zayAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE91dHB1dCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fTUFQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NQSTFfUkVNQVBfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NQSTFfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TUEkxX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfU1BJMV9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBTUEkxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfSTJDMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfSTJDMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX0kyQzFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9JMkMxX1JFTUFQX01zayAgICAgICAgICAvKiE8IEkyQzEgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDFfUkVNQVBfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDFfUkVNQVBfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVVNBUlQxX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDFfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFJfVVNBUlQxX1JFTUFQX01zayAgICAgICAgLyohPCBVU0FSVDEgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDJfUkVNQVBfUG9zICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDJfUkVNQVBfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVVNBUlQyX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDJfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFJfVVNBUlQyX1JFTUFQX01zayAgICAgICAgLyohPCBVU0FSVDIgcmVtYXBwaW5nICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUCAgICAgICAgICAgICAgIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfTXNrICAgICAgICAvKiE8IFVTQVJUM19SRU1BUFsxOjBdIGJpdHMgKFVTQVJUMyByZW1hcHBpbmcpICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfMCAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfMSAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDIwICovDQoNCi8qIFVTQVJUM19SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfTk9SRU1BUCAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoVFgvUEIxMCwgUlgvUEIxMSwgQ0svUEIxMiwgQ1RTL1BCMTMsIFJUUy9QQjE0KSAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BBUlRJQUxSRU1BUF9Qb3MgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVAgIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQX01zayAvKiE8IFBhcnRpYWwgcmVtYXAgKFRYL1BDMTAsIFJYL1BDMTEsIENLL1BDMTIsIENUUy9QQjEzLCBSVFMvUEIxNCkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9GVUxMUkVNQVBfUG9zICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9GVUxMUkVNQVBfTXNrICgweDNVIDw8IEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQICAgICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUF9Nc2sgLyohPCBGdWxsIHJlbWFwIChUWC9QRDgsIFJYL1BEOSwgQ0svUEQxMCwgQ1RTL1BEMTEsIFJUUy9QRDEyKSAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcyAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNMV9SRU1BUFsxOjBdIGJpdHMgKFRJTTEgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDgwICovDQoNCi8qITwgVElNMV9SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoRVRSL1BBMTIsIENIMS9QQTgsIENIMi9QQTksIENIMy9QQTEwLCBDSDQvUEExMSwgQktJTi9QQjEyLCBDSDFOL1BCMTMsIENIMk4vUEIxNCwgQ0gzTi9QQjE1KSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfUG9zICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BBUlRJQUxSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX01zayAvKiE8IFBhcnRpYWwgcmVtYXAgKEVUUi9QQTEyLCBDSDEvUEE4LCBDSDIvUEE5LCBDSDMvUEExMCwgQ0g0L1BBMTEsIEJLSU4vUEE2LCBDSDFOL1BBNywgQ0gyTi9QQjAsIENIM04vUEIxKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVBfUG9zICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVBfTXNrICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX1BvcykgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQX0ZVTExSRU1BUCAgICAgICBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVBfTXNrIC8qITwgRnVsbCByZW1hcCAoRVRSL1BFNywgQ0gxL1BFOSwgQ0gyL1BFMTEsIENIMy9QRTEzLCBDSDQvUEUxNCwgQktJTi9QRTE1LCBDSDFOL1BFOCwgQ0gyTi9QRTEwLCBDSDNOL1BFMTIpICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfTXNrICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfVElNMl9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBUSU0yX1JFTUFQWzE6MF0gYml0cyAoVElNMiByZW1hcHBpbmcpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQXzAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF8xICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KLyohPCBUSU0yX1JFTUFQIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfTk9SRU1BUCAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIHJlbWFwIChDSDEvRVRSL1BBMCwgQ0gyL1BBMSwgQ0gzL1BBMiwgQ0g0L1BBMykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMV9Qb3MgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMV9Nc2sgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMV9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAxICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMV9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChDSDEvRVRSL1BBMTUsIENIMi9QQjMsIENIMy9QQTIsIENINC9QQTMpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDJfUG9zICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDJfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDJfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMiAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDJfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL0VUUi9QQTAsIENIMi9QQTEsIENIMy9QQjEwLCBDSDQvUEIxMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKENIMS9FVFIvUEExNSwgQ0gyL1BCMywgQ0gzL1BCMTAsIENINC9QQjExKSAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcyAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTNfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNM19SRU1BUFsxOjBdIGJpdHMgKFRJTTMgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcykgLyohPCAweDAwMDAwODAwICovDQoNCi8qITwgVElNM19SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoQ0gxL1BBNiwgQ0gyL1BBNywgQ0gzL1BCMCwgQ0g0L1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcyAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9QQVJUSUFMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQICAgIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChDSDEvUEI0LCBDSDIvUEI1LCBDSDMvUEIwLCBDSDQvUEIxKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVBfUG9zICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVBfTXNrICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX1BvcykgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX0ZVTExSRU1BUCAgICAgICBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVBfTXNrIC8qITwgRnVsbCByZW1hcCAoQ0gxL1BDNiwgQ0gyL1BDNywgQ0gzL1BDOCwgQ0g0L1BDOSkgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNNF9SRU1BUF9Qb3MgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNNF9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTRfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU00X1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTRfUkVNQVAgYml0IChUSU00IHJlbWFwcGluZykgKi8NCg0KDQojZGVmaW5lIEFGSU9fTUFQUl9QRDAxX1JFTUFQX1BvcyAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9QRDAxX1JFTUFQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfUEQwMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1BEMDFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgUG9ydCBEMC9Qb3J0IEQxIG1hcHBpbmcgb24gT1NDX0lOL09TQ19PVVQgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTVDSDRfSVJFTUFQX1BvcyAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTVDSDRfSVJFTUFQX01zayAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU01Q0g0X0lSRU1BUF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNNUNINF9JUkVNQVAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTVDSDRfSVJFTUFQX01zayAgICAgIC8qITwgVElNNSBDaGFubmVsNCBJbnRlcm5hbCBSZW1hcCAqLw0KDQovKiE8IFNXSl9DRkcgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19Qb3MgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgQUZJT19NQVBSX1NXSl9DRkdfUG9zKSAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGRyAgICAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1NXSl9DRkdfTXNrICAgICAgICAgICAgIC8qITwgU1dKX0NGR1syOjBdIGJpdHMgKFNlcmlhbCBXaXJlIEpUQUcgY29uZmlndXJhdGlvbikgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19SRVNFVCAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVsbCBTV0ogKEpUQUctRFAgKyBTVy1EUCkgOiBSZXNldCBTdGF0ZSAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Qb3MgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Nc2sgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1QgICAgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX01zayAgICAvKiE8IEZ1bGwgU1dKIChKVEFHLURQICsgU1ctRFApIGJ1dCB3aXRob3V0IEpOVFJTVCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Qb3MgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Nc2sgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfUG9zKSAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEUgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX01zayAvKiE8IEpUQUctRFAgRGlzYWJsZWQgYW5kIFNXLURQIEVuYWJsZWQgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRV9Qb3MgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRV9Nc2sgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRSAgICAgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfTXNrICAgICAvKiE8IEpUQUctRFAgRGlzYWJsZWQgYW5kIFNXLURQIERpc2FibGVkICovDQoNCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FWFRJQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUG9zKSAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMSAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BvcykgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTIgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX01zayAgICAgICAgICAgIC8qITwgRVhUSSAyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19Qb3MpICAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMyBjb25maWd1cmF0aW9uICovDQoNCi8qITwgRVhUSTAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUENfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUENfTXNrICAgICAgICAgLyohPCBQQ1swXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BEX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Qb3MpIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BEX01zayAgICAgICAgIC8qITwgUERbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEZfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEZfTXNrICAgICAgICAgLyohPCBQRlswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BHX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Qb3MpIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BHX01zayAgICAgICAgIC8qITwgUEdbMF0gcGluICovDQoNCi8qITwgRVhUSTEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUENfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUENfTXNrICAgICAgICAgLyohPCBQQ1sxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BEX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BEX01zayAgICAgICAgIC8qITwgUERbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEZfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEZfTXNrICAgICAgICAgLyohPCBQRlsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BHX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Qb3MpIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BHX01zayAgICAgICAgIC8qITwgUEdbMV0gcGluICovDQoNCi8qITwgRVhUSTIgY29uZmlndXJhdGlvbiAqLyAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BCX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BCX01zayAgICAgICAgIC8qITwgUEJbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQ19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUERfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUERfTXNrICAgICAgICAgLyohPCBQRFsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BFX1BvcyAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BFX01zayAgICAgICAgIC8qITwgUEVbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEdfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEdfTXNrICAgICAgICAgLyohPCBQR1syXSBwaW4gKi8NCg0KLyohPCBFWFRJMyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BCX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BCX01zayAgICAgICAgIC8qITwgUEJbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQ19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUENfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QQ19Nc2sgICAgICAgICAvKiE8IFBDWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUERfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUERfTXNrICAgICAgICAgLyohPCBQRFszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BFX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BFX01zayAgICAgICAgIC8qITwgUEVbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEZfUG9zKSAvKiE8IDB4MDAwMDUwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QRl9Nc2sgICAgICAgICAvKiE8IFBGWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEdfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEdfTXNrICAgICAgICAgLyohPCBQR1szXSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FWFRJQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUG9zKSAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNSAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDUgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BvcykgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTYgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X01zayAgICAgICAgICAgIC8qITwgRVhUSSA2IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19Qb3MpICAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNyBjb25maWd1cmF0aW9uICovDQoNCi8qITwgRVhUSTQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUENfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUENfTXNrICAgICAgICAgLyohPCBQQ1s0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BEX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Qb3MpIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BEX01zayAgICAgICAgIC8qITwgUERbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEZfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEZfTXNrICAgICAgICAgLyohPCBQRls0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BHX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Qb3MpIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BHX01zayAgICAgICAgIC8qITwgUEdbNF0gcGluICovDQoNCi8qIEVYVEk1IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEJfTXNrICAgICAgICAgLyohPCBQQls1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BDX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BDX01zayAgICAgICAgIC8qITwgUENbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRF9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEVfTXNrICAgICAgICAgLyohPCBQRVs1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BGX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BGX01zayAgICAgICAgIC8qITwgUEZbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QR19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QR19Nc2sgICAgICAgICAvKiE8IFBHWzVdIHBpbiAqLw0KDQovKiE8IEVYVEk2IGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUENfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUENfTXNrICAgICAgICAgLyohPCBQQ1s2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BEX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BEX01zayAgICAgICAgIC8qITwgUERbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRV9Qb3MgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEZfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEZfTXNrICAgICAgICAgLyohPCBQRls2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BHX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BHX01zayAgICAgICAgIC8qITwgUEdbNl0gcGluICovDQoNCi8qITwgRVhUSTcgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QQl9Nc2sgICAgICAgICAvKiE8IFBCWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUENfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUENfTXNrICAgICAgICAgLyohPCBQQ1s3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BEX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BEX01zayAgICAgICAgIC8qITwgUERbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRV9Qb3MgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QRV9Nc2sgICAgICAgICAvKiE8IFBFWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEZfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEZfTXNrICAgICAgICAgLyohPCBQRls3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BHX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BHX01zayAgICAgICAgIC8qITwgUEdbN10gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOCAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDggY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BvcykgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTkgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X01zayAgICAgICAgICAgIC8qITwgRVhUSSA5IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUG9zKSAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMCAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9Qb3MpIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMSBjb25maWd1cmF0aW9uICovDQoNCi8qITwgRVhUSTggY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUENfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUENfTXNrICAgICAgICAgLyohPCBQQ1s4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BEX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Qb3MpIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BEX01zayAgICAgICAgIC8qITwgUERbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEZfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEZfTXNrICAgICAgICAgLyohPCBQRls4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BHX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QR19Qb3MpIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BHX01zayAgICAgICAgIC8qITwgUEdbOF0gcGluICovDQoNCi8qITwgRVhUSTkgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUENfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUENfTXNrICAgICAgICAgLyohPCBQQ1s5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BEX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BEX01zayAgICAgICAgIC8qITwgUERbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEZfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEZfTXNrICAgICAgICAgLyohPCBQRls5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BHX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QR19Qb3MpIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BHX01zayAgICAgICAgIC8qITwgUEdbOV0gcGluICovDQoNCi8qITwgRVhUSTEwIGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BCX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BDX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Nc2sgICAgICAgIC8qITwgUENbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BEX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Nc2sgICAgICAgIC8qITwgUERbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BFX1BvcyAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BGX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BHX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Nc2sgICAgICAgIC8qITwgUEdbMTBdIHBpbiAqLw0KDQovKiE8IEVYVEkxMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEJfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BCX01zayAgICAgICAgLyohPCBQQlsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUENfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BDX01zayAgICAgICAgLyohPCBQQ1sxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUERfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BEX01zayAgICAgICAgLyohPCBQRFsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEVfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BFX01zayAgICAgICAgLyohPCBQRVsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEZfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BGX01zayAgICAgICAgLyohPCBQRlsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEdfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BHX01zayAgICAgICAgLyohPCBQR1sxMV0gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BvcykgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTIgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX01zayAgICAgICAgICAgLyohPCBFWFRJIDEyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUG9zKSAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMyAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9Qb3MpIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0ICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxNCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BvcykgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTUgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X01zayAgICAgICAgICAgLyohPCBFWFRJIDE1IGNvbmZpZ3VyYXRpb24gKi8NCg0KLyogRVhUSTEyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfTXNrICAgICAgICAvKiE8IFBCWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQ19Qb3MgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfTXNrICAgICAgICAvKiE8IFBDWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfTXNrICAgICAgICAvKiE8IFBEWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRV9Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfTXNrICAgICAgICAvKiE8IFBFWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfTXNrICAgICAgICAvKiE8IFBGWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QR19Qb3MgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfTXNrICAgICAgICAvKiE8IFBHWzEyXSBwaW4gKi8NCg0KLyogRVhUSTEzIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQl9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfTXNrICAgICAgICAvKiE8IFBCWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQ19Qb3MgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfTXNrICAgICAgICAvKiE8IFBDWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRF9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfTXNrICAgICAgICAvKiE8IFBEWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRV9Qb3MgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfTXNrICAgICAgICAvKiE8IFBFWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRl9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfTXNrICAgICAgICAvKiE8IFBGWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QR19Qb3MgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfTXNrICAgICAgICAvKiE8IFBHWzEzXSBwaW4gKi8NCg0KLyohPCBFWFRJMTQgY29uZmlndXJhdGlvbiAqLyAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEJfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BCX01zayAgICAgICAgLyohPCBQQlsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUENfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BDX01zayAgICAgICAgLyohPCBQQ1sxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUERfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BEX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BEX01zayAgICAgICAgLyohPCBQRFsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEVfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BFX01zayAgICAgICAgLyohPCBQRVsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEZfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BGX01zayAgICAgICAgLyohPCBQRlsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEdfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BHX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BHX01zayAgICAgICAgLyohPCBQR1sxNF0gcGluICovDQoNCi8qITwgRVhUSTE1IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfTXNrICAgICAgICAvKiE8IFBCWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQ19Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfTXNrICAgICAgICAvKiE8IFBDWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRF9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfTXNrICAgICAgICAvKiE8IFBEWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRV9Qb3MgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfTXNrICAgICAgICAvKiE8IFBFWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfUG9zKSAvKiE8IDB4MDAwMDUwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfTXNrICAgICAgICAvKiE8IFBGWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QR19Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfTXNrICAgICAgICAvKiE8IFBHWzE1XSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fTUFQUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xNV9SRU1BUF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xNV9SRU1BUF9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUjJfVElNMTVfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xNV9SRU1BUCAgICAgICAgICAgICAgIEFGSU9fTUFQUjJfVElNMTVfUkVNQVBfTXNrICAgICAgICAvKiE8IFRJTTE1IHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE2X1JFTUFQX1BvcyAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE2X1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9USU0xNl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE2X1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSMl9USU0xNl9SRU1BUF9Nc2sgICAgICAgIC8qITwgVElNMTYgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTdfUkVNQVBfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTdfUkVNQVBfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFIyX1RJTTE3X1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTdfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFIyX1RJTTE3X1JFTUFQX01zayAgICAgICAgLyohPCBUSU0xNyByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9DRUNfUkVNQVBfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSMl9DRUNfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUjJfQ0VDX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFGSU9fTUFQUjJfQ0VDX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFIyX0NFQ19SRU1BUF9Nc2sgICAgICAgICAgLyohPCBDRUMgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMV9ETUFfUkVNQVBfUG9zICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMV9ETUFfUkVNQVBfTXNrICAgICAgICAoMHgxVSA8PCBBRklPX01BUFIyX1RJTTFfRE1BX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMV9ETUFfUkVNQVAgICAgICAgICAgICBBRklPX01BUFIyX1RJTTFfRE1BX1JFTUFQX01zayAgICAgLyohPCBUSU0xX0RNQSByZW1hcHBpbmcgKi8NCg0KI2RlZmluZSBBRklPX01BUFIyX1RJTTEzX1JFTUFQX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX1RJTTEzX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9USU0xM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTEzX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSMl9USU0xM19SRU1BUF9Nc2sgICAgICAgIC8qITwgVElNMTMgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTRfUkVNQVBfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTRfUkVNQVBfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFIyX1RJTTE0X1JFTUFQX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTRfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFIyX1RJTTE0X1JFTUFQX01zayAgICAgICAgLyohPCBUSU0xNCByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU02N19EQUNfRE1BX1JFTUFQX1BvcyAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSMl9USU02N19EQUNfRE1BX1JFTUFQX01zayAgICgweDFVIDw8IEFGSU9fTUFQUjJfVElNNjdfREFDX0RNQV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTY3X0RBQ19ETUFfUkVNQVAgICAgICAgQUZJT19NQVBSMl9USU02N19EQUNfRE1BX1JFTUFQX01zayAvKiE8IFRJTTYvVElNNyBhbmQgREFDIERNQSByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xMl9SRU1BUF9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xMl9SRU1BUF9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUjJfVElNMTJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xMl9SRU1BUCAgICAgICAgICAgICAgIEFGSU9fTUFQUjJfVElNMTJfUkVNQVBfTXNrICAgICAgICAvKiE8IFRJTTEyIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFIyX01JU0NfUkVNQVBfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX01JU0NfUkVNQVBfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9NSVNDX1JFTUFQX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUjJfTUlTQ19SRU1BUCAgICAgICAgICAgICAgICBBRklPX01BUFIyX01JU0NfUkVNQVBfTXNrICAgICAgICAgLyohPCBNaXNjZWxsYW5lb3VzIHJlbWFwcGluZyAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUjJfRlNNQ19OQURWX1JFTUFQX1BvcyAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUjJfRlNNQ19OQURWX1JFTUFQX01zayAgICAgICAoMHgxVSA8PCBBRklPX01BUFIyX0ZTTUNfTkFEVl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX01BUFIyX0ZTTUNfTkFEVl9SRU1BUCAgICAgICAgICAgQUZJT19NQVBSMl9GU01DX05BRFZfUkVNQVBfTXNrICAgIC8qITwgRlNNQyBOQURWIHJlbWFwcGluZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbCBJbnRlcnJ1cHQvRXZlbnQgQ29udHJvbGxlciAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0lNUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIwX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxICovDQojZGVmaW5lIEVYVElfSU1SX01SMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfSU1SX01SMiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIzICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA0ICovDQojZGVmaW5lIEVYVElfSU1SX01SNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfSU1SX01SNSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI2X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI2ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA3ICovDQojZGVmaW5lIEVYVElfSU1SX01SOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SOF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfSU1SX01SOCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI5X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI5ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjExICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjExX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE0ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE1X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE2X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE3X1BvcyAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE3X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE3ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNyAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfSU1SX0lNMCBFWFRJX0lNUl9NUjANCiNkZWZpbmUgIEVYVElfSU1SX0lNMSBFWFRJX0lNUl9NUjENCiNkZWZpbmUgIEVYVElfSU1SX0lNMiBFWFRJX0lNUl9NUjINCiNkZWZpbmUgIEVYVElfSU1SX0lNMyBFWFRJX0lNUl9NUjMNCiNkZWZpbmUgIEVYVElfSU1SX0lNNCBFWFRJX0lNUl9NUjQNCiNkZWZpbmUgIEVYVElfSU1SX0lNNSBFWFRJX0lNUl9NUjUNCiNkZWZpbmUgIEVYVElfSU1SX0lNNiBFWFRJX0lNUl9NUjYNCiNkZWZpbmUgIEVYVElfSU1SX0lNNyBFWFRJX0lNUl9NUjcNCiNkZWZpbmUgIEVYVElfSU1SX0lNOCBFWFRJX0lNUl9NUjgNCiNkZWZpbmUgIEVYVElfSU1SX0lNOSBFWFRJX0lNUl9NUjkNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTAgRVhUSV9JTVJfTVIxMA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMSBFWFRJX0lNUl9NUjExDQojZGVmaW5lICBFWFRJX0lNUl9JTTEyIEVYVElfSU1SX01SMTINCiNkZWZpbmUgIEVYVElfSU1SX0lNMTMgRVhUSV9JTVJfTVIxMw0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNCBFWFRJX0lNUl9NUjE0DQojZGVmaW5lICBFWFRJX0lNUl9JTTE1IEVYVElfSU1SX01SMTUNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTYgRVhUSV9JTVJfTVIxNg0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNyBFWFRJX0lNUl9NUjE3DQojZGVmaW5lICBFWFRJX0lNUl9JTSAgIDB4MDAwM0ZGRkZVICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIEFsbCAqLw0KIA0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0VNUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIwX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfRU1SX01SMSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIzICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAzICovDQojZGVmaW5lIEVYVElfRU1SX01SNF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfRU1SX01SNCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI2X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI2ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA2ICovDQojZGVmaW5lIEVYVElfRU1SX01SN19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SN19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfRU1SX01SNyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjhfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI5X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI5ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA5ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfRU1SX01SMTNfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE1X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTZfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTZfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxN19Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNyAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfRU1SX0VNMCBFWFRJX0VNUl9NUjANCiNkZWZpbmUgIEVYVElfRU1SX0VNMSBFWFRJX0VNUl9NUjENCiNkZWZpbmUgIEVYVElfRU1SX0VNMiBFWFRJX0VNUl9NUjINCiNkZWZpbmUgIEVYVElfRU1SX0VNMyBFWFRJX0VNUl9NUjMNCiNkZWZpbmUgIEVYVElfRU1SX0VNNCBFWFRJX0VNUl9NUjQNCiNkZWZpbmUgIEVYVElfRU1SX0VNNSBFWFRJX0VNUl9NUjUNCiNkZWZpbmUgIEVYVElfRU1SX0VNNiBFWFRJX0VNUl9NUjYNCiNkZWZpbmUgIEVYVElfRU1SX0VNNyBFWFRJX0VNUl9NUjcNCiNkZWZpbmUgIEVYVElfRU1SX0VNOCBFWFRJX0VNUl9NUjgNCiNkZWZpbmUgIEVYVElfRU1SX0VNOSBFWFRJX0VNUl9NUjkNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTAgRVhUSV9FTVJfTVIxMA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMSBFWFRJX0VNUl9NUjExDQojZGVmaW5lICBFWFRJX0VNUl9FTTEyIEVYVElfRU1SX01SMTINCiNkZWZpbmUgIEVYVElfRU1SX0VNMTMgRVhUSV9FTVJfTVIxMw0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNCBFWFRJX0VNUl9NUjE0DQojZGVmaW5lICBFWFRJX0VNUl9FTTE1IEVYVElfRU1SX01SMTUNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTYgRVhUSV9FTVJfTVIxNg0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNyBFWFRJX0VNUl9NUjE3DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1JUU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA1ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTEgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTMgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTQgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTYgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTdfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTcgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTcgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1JUU1JfUlQwIEVYVElfUlRTUl9UUjANCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEgRVhUSV9SVFNSX1RSMQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMiBFWFRJX1JUU1JfVFIyDQojZGVmaW5lICBFWFRJX1JUU1JfUlQzIEVYVElfUlRTUl9UUjMNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDQgRVhUSV9SVFNSX1RSNA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNSBFWFRJX1JUU1JfVFI1DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ2IEVYVElfUlRTUl9UUjYNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDcgRVhUSV9SVFNSX1RSNw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUOCBFWFRJX1JUU1JfVFI4DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ5IEVYVElfUlRTUl9UUjkNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEwIEVYVElfUlRTUl9UUjEwDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMSBFWFRJX1JUU1JfVFIxMQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTIgRVhUSV9SVFNSX1RSMTINCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEzIEVYVElfUlRTUl9UUjEzDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNCBFWFRJX1JUU1JfVFIxNA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTUgRVhUSV9SVFNSX1RSMTUNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE2IEVYVElfUlRTUl9UUjE2DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNyBFWFRJX1JUU1JfVFIxNw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9GVFNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI0X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3X1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI3X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMF9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMCAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTEgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEyX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxM19Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMyAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTQgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNl9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNl9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNiAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTdfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTdfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTcgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE3ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMCBFWFRJX0ZUU1JfVFIwDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxIEVYVElfRlRTUl9UUjENCiNkZWZpbmUgIEVYVElfRlRTUl9GVDIgRVhUSV9GVFNSX1RSMg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMyBFWFRJX0ZUU1JfVFIzDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ0IEVYVElfRlRTUl9UUjQNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDUgRVhUSV9GVFNSX1RSNQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNiBFWFRJX0ZUU1JfVFI2DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ3IEVYVElfRlRTUl9UUjcNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDggRVhUSV9GVFNSX1RSOA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUOSBFWFRJX0ZUU1JfVFI5DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMCBFWFRJX0ZUU1JfVFIxMA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTEgRVhUSV9GVFNSX1RSMTENCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEyIEVYVElfRlRTUl9UUjEyDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMyBFWFRJX0ZUU1JfVFIxMw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTQgRVhUSV9GVFNSX1RSMTQNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE1IEVYVElfRlRTUl9UUjE1DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNiBFWFRJX0ZUU1JfVFIxNg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTcgRVhUSV9GVFNSX1RSMTcNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfU1dJRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjBfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjBfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjAgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjFfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjFfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjFfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjFfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjIgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjNfUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjNfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjMgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjRfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjQgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjRfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjVfUG9zKSAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjUgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjZfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjZfUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjYgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjdfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjdfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjdfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjcgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjdfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjhfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjggICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjlfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjlfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjkgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwX1BvcyAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEwX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEwX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMV9Qb3MgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMV9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMSAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMV9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTJfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTJfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTJfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTIgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTJfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzX1BvcyAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEzX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEzX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNF9Qb3MgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTVfUG9zKSAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTUgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTVfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2X1BvcyAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE2X1BvcykgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE2X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxN19Qb3MgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxN19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxN19Qb3MpICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNyAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxN19Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNyAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMCBFWFRJX1NXSUVSX1NXSUVSMA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxIEVYVElfU1dJRVJfU1dJRVIxDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTIgRVhUSV9TV0lFUl9TV0lFUjINCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMyBFWFRJX1NXSUVSX1NXSUVSMw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k0IEVYVElfU1dJRVJfU1dJRVI0DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTUgRVhUSV9TV0lFUl9TV0lFUjUNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNiBFWFRJX1NXSUVSX1NXSUVSNg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k3IEVYVElfU1dJRVJfU1dJRVI3DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTggRVhUSV9TV0lFUl9TV0lFUjgNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJOSBFWFRJX1NXSUVSX1NXSUVSOQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMCBFWFRJX1NXSUVSX1NXSUVSMTANCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTEgRVhUSV9TV0lFUl9TV0lFUjExDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEyIEVYVElfU1dJRVJfU1dJRVIxMg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMyBFWFRJX1NXSUVSX1NXSUVSMTMNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTQgRVhUSV9TV0lFUl9TV0lFUjE0DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE1IEVYVElfU1dJRVJfU1dJRVIxNQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNiBFWFRJX1NXSUVSX1NXSUVSMTYNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTcgRVhUSV9TV0lFUl9TV0lFUjE3DQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9QUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUFJfUFIwX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIwX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIwX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUFJfUFIwICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIwX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfUFJfUFIxICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxICovDQojZGVmaW5lIEVYVElfUFJfUFIyX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIyX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIyX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfUFJfUFIyICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIyX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAyICovDQojZGVmaW5lIEVYVElfUFJfUFIzX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIzX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIzX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUFJfUFIzICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIzX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAzICovDQojZGVmaW5lIEVYVElfUFJfUFI0X1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI0X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI0X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfUFJfUFI0ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI0X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA0ICovDQojZGVmaW5lIEVYVElfUFJfUFI1X1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI1X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI1X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfUFJfUFI1ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI1X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA1ICovDQojZGVmaW5lIEVYVElfUFJfUFI2X1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI2X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI2X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUFJfUFI2ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI2X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA2ICovDQojZGVmaW5lIEVYVElfUFJfUFI3X1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI3X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI3X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfUFJfUFI3ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI3X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA3ICovDQojZGVmaW5lIEVYVElfUFJfUFI4X1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI4X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI4X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfUFJfUFI4ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI4X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA4ICovDQojZGVmaW5lIEVYVElfUFJfUFI5X1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI5X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI5X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUFJfUFI5ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI5X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA5ICovDQojZGVmaW5lIEVYVElfUFJfUFIxMF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTFfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjEyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjEyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEyICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjEyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfUFJfUFIxM19Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTRfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE1ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfUFJfUFIxNl9Qb3MgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTdfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTcgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1BSX1BJRjAgRVhUSV9QUl9QUjANCiNkZWZpbmUgIEVYVElfUFJfUElGMSBFWFRJX1BSX1BSMQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYyIEVYVElfUFJfUFIyDQojZGVmaW5lICBFWFRJX1BSX1BJRjMgRVhUSV9QUl9QUjMNCiNkZWZpbmUgIEVYVElfUFJfUElGNCBFWFRJX1BSX1BSNA0KI2RlZmluZSAgRVhUSV9QUl9QSUY1IEVYVElfUFJfUFI1DQojZGVmaW5lICBFWFRJX1BSX1BJRjYgRVhUSV9QUl9QUjYNCiNkZWZpbmUgIEVYVElfUFJfUElGNyBFWFRJX1BSX1BSNw0KI2RlZmluZSAgRVhUSV9QUl9QSUY4IEVYVElfUFJfUFI4DQojZGVmaW5lICBFWFRJX1BSX1BJRjkgRVhUSV9QUl9QUjkNCiNkZWZpbmUgIEVYVElfUFJfUElGMTAgRVhUSV9QUl9QUjEwDQojZGVmaW5lICBFWFRJX1BSX1BJRjExIEVYVElfUFJfUFIxMQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMiBFWFRJX1BSX1BSMTINCiNkZWZpbmUgIEVYVElfUFJfUElGMTMgRVhUSV9QUl9QUjEzDQojZGVmaW5lICBFWFRJX1BSX1BJRjE0IEVYVElfUFJfUFIxNA0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNSBFWFRJX1BSX1BSMTUNCiNkZWZpbmUgIEVYVElfUFJfUElGMTYgRVhUSV9QUl9QUjE2DQojZGVmaW5lICBFWFRJX1BSX1BJRjE3IEVYVElfUFJfUFIxNw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgQ29udHJvbGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfSVNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYxX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUYxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYxICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUYxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjFfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjEgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjFfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjEgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjJfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjIgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYyX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUYyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYyICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUYyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMl9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGM19Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGMyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjNfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjMgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYzX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUYzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYzICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUYzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYzX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUYzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYzICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUYzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY0X1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY0ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNF9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjRfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjQgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjRfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjRfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjQgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjVfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjUgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY1X1BvcyAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY1X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY1ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGNl9Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGNl9Qb3MpICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNiAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjZfUG9zICAgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjZfUG9zKSAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjYgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY2X1BvcyAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY2X1BvcykgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY2ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY2X1BvcyAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY2X1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY2ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY3X1BvcyAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY3X1BvcykgICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY3ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGN19Qb3MgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGN19Qb3MpICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjdfUG9zICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjdfUG9zKSAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjcgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjdfUG9zICAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjdfUG9zKSAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjcgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9JRkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMSAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYxX1BvcyAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYxX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUYxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYxICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUYxX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjFfUG9zICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjFfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjEgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUYxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUYxX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMiAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYyX1BvcyAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYyX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUYyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYyICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUYyX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjJfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjJfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjIgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjJfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYyX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYyX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUYyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYyICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUYyX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGM19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMyAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUYzX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUYzX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjNfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjNfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjMgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjNfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYzX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYzX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUYzX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYzICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUYzX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNCAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY0X1BvcyAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY0X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY0X1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY0ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUY0X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjRfUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjQgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0X1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY0X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUY0X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNV9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGNV9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNSAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY1X1BvcyAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY1X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY1X1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY1ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUY1X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjVfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjVfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjUgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY1X1BvcyAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY1X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY1X1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY1ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUY1X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNl9Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGNl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGNl9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNiAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY2X1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY2X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY2X1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY2ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUY2X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjZfUG9zICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjZfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjYgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjZfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY2X1BvcyAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY2X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY2X1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY2ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUY2X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGN19Qb3MgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGN19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGN19Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNyAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY3X1BvcyAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY3X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY3X1BvcykgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY3ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUY3X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjdfUG9zICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjdfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjdfUG9zKSAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjcgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjdfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY3X1BvcyAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY3X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY3X1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY3ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUY3X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DQ1IgcmVnaXN0ZXIgICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ0NSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0VOX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0VOX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBETUFfQ0NSX0VOICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0VOX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9UQ0lFX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9UQ0lFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9UQ0lFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRE1BX0NDUl9UQ0lFICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9UQ0lFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGNvbXBsZXRlIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9IVElFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9IVElFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9IVElFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0NDUl9IVElFICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9IVElFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEhhbGYgVHJhbnNmZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX1RFSUVfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1RFSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1RFSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfQ0NSX1RFSUUgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1RFSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgZXJyb3IgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX0RJUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0RJUl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBETUFfQ0NSX0RJUiAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBkaXJlY3Rpb24gKi8NCiNkZWZpbmUgRE1BX0NDUl9DSVJDX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9DSVJDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9DSVJDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0NDUl9DSVJDICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9DSVJDX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENpcmN1bGFyIG1vZGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9QSU5DX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QSU5DX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QSU5DX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QSU5DICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9QSU5DX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlcmlwaGVyYWwgaW5jcmVtZW50IG1vZGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9NSU5DX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NSU5DX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9NSU5DX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NSU5DICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9NSU5DX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBpbmNyZW1lbnQgbW9kZSAqLw0KDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERNQV9DQ1JfUFNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkUgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfUFNJWkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQU0laRVsxOjBdIGJpdHMgKFBlcmlwaGVyYWwgc2l6ZSkgKi8NCiNkZWZpbmUgRE1BX0NDUl9QU0laRV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QU0laRV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBETUFfQ0NSX01TSVpFX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX01TSVpFX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBETUFfQ0NSX01TSVpFICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX01TSVpFX01zayAgICAgICAgICAgICAgICAgIC8qITwgTVNJWkVbMTowXSBiaXRzIChNZW1vcnkgc2l6ZSkgKi8NCiNkZWZpbmUgRE1BX0NDUl9NU0laRV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NU0laRV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBETUFfQ0NSX1BMX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BMX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BMICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1BMX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUExbMTowXSBiaXRzKENoYW5uZWwgUHJpb3JpdHkgbGV2ZWwpICovDQojZGVmaW5lIERNQV9DQ1JfUExfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfUExfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9DQ1JfUExfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERNQV9DQ1JfUExfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNX1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9NRU0yTUVNX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9NRU0yTUVNX01zayAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSB0byBtZW1vcnkgbW9kZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NORFRSICByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ05EVFJfTkRUX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ05EVFJfTkRUX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBETUFfQ05EVFJfTkRUX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBETUFfQ05EVFJfTkRUICAgICAgICAgICAgICAgICAgICAgICBETUFfQ05EVFJfTkRUX01zayAgICAgICAgICAgICAgICAgIC8qITwgTnVtYmVyIG9mIGRhdGEgdG8gVHJhbnNmZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DUEFSICByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NQQVJfUEFfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NQQVJfUEFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DUEFSX1BBX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NQQVJfUEEgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NQQVJfUEFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlcmlwaGVyYWwgQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NNQVIgIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ01BUl9NQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ01BUl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NNQVJfTUFfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ01BUl9NQSAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ01BUl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXIgKEFEQykgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qDQogKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYxIGZhbWlseSkNCiAqLw0KLyogTm90ZTogTm8gc3BlY2lmaWMgbWFjcm8gZmVhdHVyZSBvbiB0aGlzIGRldmljZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1JfQVdEX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfQVdEX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfQVdEX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1JfQVdEICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfQVdEX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX0VPU19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0VPU19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0VPU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NSX0VPUyAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0VPU19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9KRU9TX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9KRU9TX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9KRU9TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUl9KRU9TICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9KRU9TX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX0pTVFJUX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0pTVFJUX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0pTVFJUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NSX0pTVFJUICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0pTVFJUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBjb252ZXJzaW9uIHN0YXJ0IGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX1NUUlRfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX1NUUlRfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NSX1NUUlQgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnZlcnNpb24gc3RhcnQgZmxhZyAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgQURDX1NSX0VPQyAgICAgICAgICAgICAgICAgICAgICAgICAgKEFEQ19TUl9FT1MpDQojZGVmaW5lICBBRENfU1JfSkVPQyAgICAgICAgICAgICAgICAgICAgICAgICAoQURDX1NSX0pFT1MpDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0ggICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdEQ0hfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgbW9uaXRvcmVkIGNoYW5uZWwgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX0NSMV9FT1NJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9FT1NJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9FT1NJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX0NSMV9FT1NJRSAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9FT1NJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBpbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9BV0RJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RJRSAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBpbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQURDX0NSMV9KRU9TSUVfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KRU9TSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KRU9TSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX0NSMV9KRU9TSUUgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KRU9TSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfU0NBTl9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfU0NBTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfU0NBTl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19DUjFfU0NBTiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfU0NBTl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgc2NhbiBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfQVdEU0dMX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdEU0dMX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfQVdEU0dMX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19DUjFfQVdEU0dMICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdEU0dMX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgbW9uaXRvcmluZyBhIHNpbmdsZSBjaGFubmVsIG9yIGFsbCBjaGFubmVscyAqLw0KI2RlZmluZSBBRENfQ1IxX0pBVVRPX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pBVVRPX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pBVVRPX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0pBVVRPICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pBVVRPX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGF1dG9tYXRpYyB0cmlnZ2VyIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDRU5fUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9ESVNDRU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9ESVNDRU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDRU4gICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9ESVNDRU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBkaXNjb250aW51b3VzIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMV9KRElTQ0VOX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KRElTQ0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KRElTQ0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KRElTQ0VOICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KRElTQ0VOX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgZGlzY29udGludW91cyBtb2RlICovDQoNCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNX1BvcyAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMEUwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9ESVNDTlVNX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBkaXNjb250aW51b3VzIG51bWJlciBvZiByYW5rcyAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEFEQ19DUjFfSkFXREVOX1BvcyAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkFXREVOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkFXREVOX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19DUjFfSkFXREVOICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkFXREVOX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgZW5hYmxlIG9uIHNjb3BlIEFEQyBncm91cCBpbmplY3RlZCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXREVOX1BvcyAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXREVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXREVOX1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXREVOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXREVOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGVuYWJsZSBvbiBzY29wZSBBREMgZ3JvdXAgcmVndWxhciAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgQURDX0NSMV9FT0NJRSAgICAgICAgICAgICAgICAgICAgICAgKEFEQ19DUjFfRU9TSUUpDQojZGVmaW5lICBBRENfQ1IxX0pFT0NJRSAgICAgICAgICAgICAgICAgICAgICAoQURDX0NSMV9KRU9TSUUpDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DUjJfQURPTl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQURPTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQURPTl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19DUjJfQURPTiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQURPTl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUjJfQ09OVF9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQ09OVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQ09OVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19DUjJfQ09OVCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQ09OVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb250aW51b3VzIGNvbnZlcnNpb24gbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IyX0NBTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0NBTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfQ1IyX0NBTCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGNhbGlicmF0aW9uIHN0YXJ0ICovDQojZGVmaW5lIEFEQ19DUjJfUlNUQ0FMX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfUlNUQ0FMX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfUlNUQ0FMX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19DUjJfUlNUQ0FMICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfUlNUQ0FMX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2FsaWJyYXRpb24gcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NSMl9ETUFfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9ETUFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9ETUFfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9ETUFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBETUEgdHJhbnNmZXIgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUjJfQUxJR05fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQUxJR05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbmVtZW50ICovDQoNCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9KRVhUU0VMX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBleHRlcm5hbCB0cmlnZ2VyIHNvdXJjZSAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19DUjJfSkVYVFRSSUdfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfSkVYVFRSSUdfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfSkVYVFRSSUdfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFRSSUcgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSkVYVFRSSUdfTXNrICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZXh0ZXJuYWwgdHJpZ2dlciBlbmFibGUgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDBFMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTCAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0VYVFNFTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZXh0ZXJuYWwgdHJpZ2dlciBzb3VyY2UgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0VYVFRSSUdfUG9zICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0VYVFRSSUdfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0VYVFRSSUdfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFRSSUcgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0VYVFRSSUdfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZXh0ZXJuYWwgdHJpZ2dlciBlbmFibGUgKi8NCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVF9Qb3MgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9KU1dTVEFSVF9Qb3MpICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVCAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9KU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBjb252ZXJzaW9uIHN0YXJ0ICovDQojZGVmaW5lIEFEQ19DUjJfU1dTVEFSVF9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfU1dTVEFSVF9Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfU1dTVEFSVCAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIHN0YXJ0ICovDQojZGVmaW5lIEFEQ19DUjJfVFNWUkVGRV9Qb3MgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfVFNWUkVGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfVFNWUkVGRV9Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfVFNWUkVGRSAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfVFNWUkVGRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgaW50ZXJuYWwgcGF0aCB0byBWcmVmSW50IGFuZCB0ZW1wZXJhdHVyZSBzZW5zb3IgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU01QUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMCAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDEwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDEwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDEwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTEgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTEgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAxQzAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDEyX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEyIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM19Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM19Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwRTAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMyAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDEzX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDEzX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDEzX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTQgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTQgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxNF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxNF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1X1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMzgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE1X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE1IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTVfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTVfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl9Qb3MgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMUMwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNiAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE2X1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE2X1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE2X1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfUG9zICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMEUwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTcgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTdfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTcgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN18wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxN19Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN18xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxN19Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN18yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxN19Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU01QUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAwX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAwIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDM4ICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAxX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAyX1BvcykgICAgICAgLyohPCAweDAwMDAwMUMwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAyX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAyIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAzX1BvcykgICAgICAgLyohPCAweDAwMDAwRTAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAzX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAzIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QM18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QM18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QM18yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0X1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA0X1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA0X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA0IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA1X1BvcykgICAgICAgLyohPCAweDAwMDM4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA1X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA1IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2X1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA2X1BvcykgICAgICAgLyohPCAweDAwMUMwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA2X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA2IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3X1BvcyAgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA3X1BvcykgICAgICAgLyohPCAweDAwRTAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA3X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA3IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QN18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QN18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QN18yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA4X1BvcykgICAgICAgLyohPCAweDA3MDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA4X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA4IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5X1BvcyAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA5X1BvcykgICAgICAgLyohPCAweDM4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA5X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA5IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjFfSk9GRlNFVDFfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjFfSk9GRlNFVDFfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSMV9KT0ZGU0VUMV9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjFfSk9GRlNFVDEgICAgICAgICAgICAgICAgICBBRENfSk9GUjFfSk9GRlNFVDFfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSMl9KT0ZGU0VUMl9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSMl9KT0ZGU0VUMl9Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlIyX0pPRkZTRVQyX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSMl9KT0ZGU0VUMiAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSMl9KT0ZGU0VUMl9Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMiBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlIzX0pPRkZTRVQzX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlIzX0pPRkZTRVQzX01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjNfSk9GRlNFVDNfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlIzX0pPRkZTRVQzICAgICAgICAgICAgICAgICAgQURDX0pPRlIzX0pPRkZTRVQzX01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAzIG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjRfSk9GRlNFVDRfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjRfSk9GRlNFVDRfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSNF9KT0ZGU0VUNF9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjRfSk9GRlNFVDQgICAgICAgICAgICAgICAgICBBRENfSk9GUjRfSk9GRlNFVDRfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0hUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19IVFJfSFRfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19IVFJfSFRfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0hUUl9IVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19IVFJfSFQgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19IVFJfSFRfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgdGhyZXNob2xkIGhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfTFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0xUUl9MVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0xUUl9MVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfTFRSX0xUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0xUUl9MVCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0xUUl9MVF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSB0aHJlc2hvbGQgbG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTMgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX1NRMTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxMyAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTQgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX1NRMTRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX1NRMTVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNSAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTYgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX1NRMTZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNiAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIxX0xfUG9zICAgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX0xfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0wgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX0xfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgc2NhbiBsZW5ndGggKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8zICAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1FSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3X1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1E3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1E3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDcgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUThfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUThfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTggICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUThfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgOCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NROV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NROV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NROV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA5ICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1ExMF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1ExMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMCAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1ExMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1ExMV9Qb3MgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1ExMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDFGMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMSAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1ExMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTEyX1BvcyAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgzRTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTEyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTIgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1FSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1ExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1ExX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTJfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTIgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRM19Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMyAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAzICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1E0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1E0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1E0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDQgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTVfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMUYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTUgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNSAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRNl9Qb3MgICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDNFMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA2ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pTUVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTEgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMSAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTIgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMiAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTMgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMyAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTQgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgNCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19KU1FSX0pMX1BvcyAgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pMX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pMICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHNjYW4gbGVuZ3RoICovDQojZGVmaW5lIEFEQ19KU1FSX0pMXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pMXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFIxX0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFIxX0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFIxX0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFIxX0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFIxX0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMSBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjJfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjJfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjJfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjJfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjJfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAyIGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSM19KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSM19KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSM19KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSM19KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSM19KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDMgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFI0X0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFI0X0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFI0X0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFI0X0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFI0X0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgNCBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0RSX0RBVEFfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0RSX0RBVEFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0RSX0RBVEFfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0RSX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0RSX0RBVEFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnZlcnNpb24gZGF0YSAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBEaWdpdGFsIHRvIEFuYWxvZyBDb252ZXJ0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19DUl9FTjFfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9FTjFfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9FTjFfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERBQ19DUl9FTjEgICAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9FTjFfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgZW5hYmxlICovDQojZGVmaW5lIERBQ19DUl9CT0ZGMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9CT0ZGMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9CT0ZGMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERBQ19DUl9CT0ZGMSAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9CT0ZGMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgb3V0cHV0IGJ1ZmZlciBkaXNhYmxlICovDQojZGVmaW5lIERBQ19DUl9URU4xX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9URU4xX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9URU4xX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERBQ19DUl9URU4xICAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9URU4xX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgVHJpZ2dlciBlbmFibGUgKi8NCg0KI2RlZmluZSBEQUNfQ1JfVFNFTDFfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfVFNFTDFfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBEQUNfQ1JfVFNFTDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDEgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfVFNFTDFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVFNFTDFbMjowXSAoREFDIGNoYW5uZWwxIFRyaWdnZXIgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfVFNFTDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfVFNFTDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDFfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBEQUNfQ1JfVFNFTDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIERBQ19DUl9XQVZFMV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9XQVZFMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERBQ19DUl9XQVZFMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIERBQ19DUl9XQVZFMSAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9XQVZFMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBXQVZFMVsxOjBdIChEQUMgY2hhbm5lbDEgbm9pc2UvdHJpYW5nbGUgd2F2ZSBnZW5lcmF0aW9uIGVuYWJsZSkgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUxXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1dBVkUxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUxXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX1dBVkUxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfTUFNUDFfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfTUFNUDFfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBEQUNfQ1JfTUFNUDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDEgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfTUFNUDFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTUFNUDFbMzowXSAoREFDIGNoYW5uZWwxIE1hc2svQW1wbGl0dWRlIHNlbGVjdG9yKSAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfTUFNUDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfTUFNUDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDFfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBEQUNfQ1JfTUFNUDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDFfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBEQUNfQ1JfTUFNUDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIERBQ19DUl9ETUFFTjFfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9ETUFFTjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9ETUFFTjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERBQ19DUl9ETUFFTjEgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9ETUFFTjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgRE1BIGVuYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfRU4yX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRU4yX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRU4yX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfRU4yICAgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRU4yX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIGVuYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfQk9GRjJfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfQk9GRjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfQk9GRjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfQk9GRjIgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfQk9GRjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIG91dHB1dCBidWZmZXIgZGlzYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfVEVOMl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfVEVOMl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfVEVOMl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfVEVOMiAgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfVEVOMl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIFRyaWdnZXIgZW5hYmxlICovDQoNCiNkZWZpbmUgREFDX0NSX1RTRUwyX1BvcyAgICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1RTRUwyX01zayAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgREFDX0NSX1RTRUwyX1BvcykgICAgICAgICAvKiE8IDB4MDAzODAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwyICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1RTRUwyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRTRUwyWzI6MF0gKERBQyBjaGFubmVsMiBUcmlnZ2VyIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1RTRUwyX1BvcykgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX1RTRUwyX1BvcykgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwyXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgREFDX0NSX1RTRUwyX1BvcykgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfV0FWRTJfUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfV0FWRTJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBEQUNfQ1JfV0FWRTJfUG9zKSAgICAgICAgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTIgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfV0FWRTJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgV0FWRTJbMTowXSAoREFDIGNoYW5uZWwyIG5vaXNlL3RyaWFuZ2xlIHdhdmUgZ2VuZXJhdGlvbiBlbmFibGUpICovDQojZGVmaW5lIERBQ19DUl9XQVZFMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9XQVZFMl9Qb3MpICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9XQVZFMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9XQVZFMl9Qb3MpICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgREFDX0NSX01BTVAyX1BvcyAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX01BTVAyX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgREFDX0NSX01BTVAyX1BvcykgICAgICAgICAvKiE8IDB4MEYwMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAyICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX01BTVAyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1BTVAyWzM6MF0gKERBQyBjaGFubmVsMiBNYXNrL0FtcGxpdHVkZSBzZWxlY3RvcikgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX01BTVAyX1BvcykgICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX01BTVAyX1BvcykgICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAyXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgREFDX0NSX01BTVAyX1BvcykgICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAyXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgREFDX0NSX01BTVAyX1BvcykgICAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfRE1BRU4yX1BvcyAgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRE1BRU4yX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRE1BRU4yX1BvcykgICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfRE1BRU4yICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRE1BRU4yX01zayAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIERNQSBlbmFibGVkICovDQoNCiNkZWZpbmUgREFDX0NSX0RNQVVEUklFMV9Qb3MgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0RNQVVEUklFMV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0RNQVVEUklFMV9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0RNQVVEUklFMSAgICAgICAgICAgICAgICAgICAgREFDX0NSX0RNQVVEUklFMV9Nc2sgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSBETUEgdW5kZXJydW4gaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfRE1BVURSSUUyX1BvcyAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRE1BVURSSUUyX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRE1BVURSSUUyX1BvcykgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfRE1BVURSSUUyICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRE1BVURSSUUyX01zayAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIERNQSB1bmRlcnJ1biBpbnRlcnJ1cHQgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19TV1RSSUdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19TV1RSSUdSX1NXVFJJRzFfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19TV1RSSUdSX1NXVFJJRzFfTXNrICAgICAgICAgICAgICgweDFVIDw8IERBQ19TV1RSSUdSX1NXVFJJRzFfUG9zKSAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERBQ19TV1RSSUdSX1NXVFJJRzEgICAgICAgICAgICAgICAgIERBQ19TV1RSSUdSX1NXVFJJRzFfTXNrICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgc29mdHdhcmUgdHJpZ2dlciAqLw0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcyX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcyX01zayAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfU1dUUklHUl9TV1RSSUcyX1BvcykgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcyICAgICAgICAgICAgICAgICBEQUNfU1dUUklHUl9TV1RSSUcyX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIHNvZnR3YXJlIHRyaWdnZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyUjFfREFDQzFESFJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyUjFfREFDQzFESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJSMV9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfREhSMTJSMV9EQUNDMURIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIDEyLWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyTDEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyTDFfREFDQzFESFJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyTDFfREFDQzFESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJMMV9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwRkZGMCAqLw0KI2RlZmluZSBEQUNfREhSMTJMMV9EQUNDMURIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJMMV9EQUNDMURIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIDEyLWJpdCBMZWZ0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjhSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSOFIxX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFIxX0RBQ0MxREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSMV9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBEQUNfREhSOFIxX0RBQ0MxREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFIxX0RBQ0MxREhSX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJSMl9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJSMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMlIyX0RBQ0MyREhSX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERBQ19ESFIxMlIyX0RBQ0MyREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMlIyX0RBQ0MyREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJMMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJMMl9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJMMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMkwyX0RBQ0MyREhSX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIERBQ19ESFIxMkwyX0RBQ0MyREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMkwyX0RBQ0MyREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgMTItYml0IExlZnQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSOFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFI4UjJfREFDQzJESFJfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFI4UjJfREFDQzJESFJfTXNrICAgICAgICAgICAgICgweEZGVSA8PCBEQUNfREhSOFIyX0RBQ0MyREhSX1BvcykgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIERBQ19ESFI4UjJfREFDQzJESFIgICAgICAgICAgICAgICAgIERBQ19ESFI4UjJfREFDQzJESFJfTXNrICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgOC1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMlJEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyUkRfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREFDX0RIUjEyUkRfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyUkRfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MyREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyUkRfREFDQzJESFJfUG9zKSAvKiE8IDB4MEZGRjAwMDAgKi8NCiNkZWZpbmUgREFDX0RIUjEyUkRfREFDQzJESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyUkRfREFDQzJESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiAxMi1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMkxEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyTERfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMEZGRjAgKi8NCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyTERfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8NCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzJESFJfUG9zICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzJESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJMRF9EQUNDMkRIUl9Qb3MpIC8qITwgMHhGRkYwMDAwMCAqLw0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMkRIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJMRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDEyLWJpdCBMZWZ0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjhSRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MxREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSRF9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MxREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFJEX0RBQ0MxREhSX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MyREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSRF9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBEQUNfREhSOFJEX0RBQ0MyREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFJEX0RBQ0MyREhSX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ET1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUl9Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ET1IxX0RBQ0MxRE9SX1BvcykgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUiAgICAgICAgICAgICAgICAgICBEQUNfRE9SMV9EQUNDMURPUl9Nc2sgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIGRhdGEgb3V0cHV0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RPUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ET1IyX0RBQ0MyRE9SX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ET1IyX0RBQ0MyRE9SX01zayAgICAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RPUjJfREFDQzJET1JfUG9zKSAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERBQ19ET1IyX0RBQ0MyRE9SICAgICAgICAgICAgICAgICAgIERBQ19ET1IyX0RBQ0MyRE9SX01zayAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgZGF0YSBvdXRwdXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX1NSX0RNQVVEUjFfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX1NSX0RNQVVEUjFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX1NSX0RNQVVEUjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgREFDX1NSX0RNQVVEUjEgICAgICAgICAgICAgICAgICAgICAgREFDX1NSX0RNQVVEUjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSBETUEgdW5kZXJydW4gZmxhZyAqLw0KI2RlZmluZSBEQUNfU1JfRE1BVURSMl9Qb3MgICAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfU1JfRE1BVURSMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfU1JfRE1BVURSMl9Qb3MpICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBEQUNfU1JfRE1BVURSMiAgICAgICAgICAgICAgICAgICAgICBEQUNfU1JfRE1BVURSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIERNQSB1bmRlcnJ1biBmbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0VDX0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ0VDX0NGR1JfUEVfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NGR1JfUEVfTXNrICAgICAgICAgICgweDFVIDw8IENFQ19DRkdSX1BFX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQ0VDX0NGR1JfUEUgICAgICAgICAgICAgIENFQ19DRkdSX1BFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBQZXJpcGhlcmFsIEVuYWJsZSAqLw0KI2RlZmluZSBDRUNfQ0ZHUl9JRV9Qb3MgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfQ0ZHUl9JRV9Nc2sgICAgICAgICAgKDB4MVUgPDwgQ0VDX0NGR1JfSUVfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBDRUNfQ0ZHUl9JRSAgICAgICAgICAgICAgQ0VDX0NGR1JfSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgQ0VDX0NGR1JfQlRFTV9Qb3MgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NGR1JfQlRFTV9Nc2sgICAgICAgICgweDFVIDw8IENFQ19DRkdSX0JURU1fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQ0VDX0NGR1JfQlRFTSAgICAgICAgICAgIENFQ19DRkdSX0JURU1fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBCaXQgVGltaW5nIEVycm9yIE1vZGUgKi8NCiNkZWZpbmUgQ0VDX0NGR1JfQlBFTV9Qb3MgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NGR1JfQlBFTV9Nc2sgICAgICAgICgweDFVIDw8IENFQ19DRkdSX0JQRU1fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQ0VDX0NGR1JfQlBFTSAgICAgICAgICAgIENFQ19DRkdSX0JQRU1fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBCaXQgUGVyaW9kIEVycm9yIE1vZGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0VDX09BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDRUNfT0FSX09BX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfT0FSX09BX01zayAgICAgICAgICAgKDB4RlUgPDwgQ0VDX09BUl9PQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBDRUNfT0FSX09BICAgICAgICAgICAgICAgQ0VDX09BUl9PQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIE9BWzM6MF06IE93biBBZGRyZXNzICovDQojZGVmaW5lIENFQ19PQVJfT0FfMCAgICAgICAgICAgICAoMHgxVSA8PCBDRUNfT0FSX09BX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIENFQ19PQVJfT0FfMSAgICAgICAgICAgICAoMHgyVSA8PCBDRUNfT0FSX09BX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIENFQ19PQVJfT0FfMiAgICAgICAgICAgICAoMHg0VSA8PCBDRUNfT0FSX09BX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIENFQ19PQVJfT0FfMyAgICAgICAgICAgICAoMHg4VSA8PCBDRUNfT0FSX09BX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENFQ19QUkVTIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENFQ19QUkVTX1BSRVNfUG9zICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19QUkVTX1BSRVNfTXNrICAgICAgICAoMHgzRkZGVSA8PCBDRUNfUFJFU19QUkVTX1BvcykgICAgICAgICAgICAgICAgLyohPCAweDAwMDAzRkZGICovDQojZGVmaW5lIENFQ19QUkVTX1BSRVMgICAgICAgICAgICBDRUNfUFJFU19QUkVTX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgUHJlc2NhbGVyIENvdW50ZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0VDX0VTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDRUNfRVNSX0JURV9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfRVNSX0JURV9Nc2sgICAgICAgICAgKDB4MVUgPDwgQ0VDX0VTUl9CVEVfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBDRUNfRVNSX0JURSAgICAgICAgICAgICAgQ0VDX0VTUl9CVEVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIEJpdCBUaW1pbmcgRXJyb3IgKi8NCiNkZWZpbmUgQ0VDX0VTUl9CUEVfUG9zICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0VTUl9CUEVfTXNrICAgICAgICAgICgweDFVIDw8IENFQ19FU1JfQlBFX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQ0VDX0VTUl9CUEUgICAgICAgICAgICAgIENFQ19FU1JfQlBFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBCaXQgUGVyaW9kIEVycm9yICovDQojZGVmaW5lIENFQ19FU1JfUkJURkVfUG9zICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19FU1JfUkJURkVfTXNrICAgICAgICAoMHgxVSA8PCBDRUNfRVNSX1JCVEZFX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIENFQ19FU1JfUkJURkUgICAgICAgICAgICBDRUNfRVNSX1JCVEZFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgUnggQmxvY2sgVHJhbnNmZXIgRmluaXNoZWQgRXJyb3IgKi8NCiNkZWZpbmUgQ0VDX0VTUl9TQkVfUG9zICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0VTUl9TQkVfTXNrICAgICAgICAgICgweDFVIDw8IENFQ19FU1JfU0JFX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQ0VDX0VTUl9TQkUgICAgICAgICAgICAgIENFQ19FU1JfU0JFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBTdGFydCBCaXQgRXJyb3IgKi8NCiNkZWZpbmUgQ0VDX0VTUl9BQ0tFX1BvcyAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0VTUl9BQ0tFX01zayAgICAgICAgICgweDFVIDw8IENFQ19FU1JfQUNLRV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQ0VDX0VTUl9BQ0tFICAgICAgICAgICAgIENFQ19FU1JfQUNLRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBCbG9jayBBY2tub3dsZWRnZSBFcnJvciAqLw0KI2RlZmluZSBDRUNfRVNSX0xJTkVfUG9zICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfRVNSX0xJTkVfTXNrICAgICAgICAgKDB4MVUgPDwgQ0VDX0VTUl9MSU5FX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBDRUNfRVNSX0xJTkUgICAgICAgICAgICAgQ0VDX0VTUl9MSU5FX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIExpbmUgRXJyb3IgKi8NCiNkZWZpbmUgQ0VDX0VTUl9UQlRGRV9Qb3MgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0VTUl9UQlRGRV9Nc2sgICAgICAgICgweDFVIDw8IENFQ19FU1JfVEJURkVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQ0VDX0VTUl9UQlRGRSAgICAgICAgICAgIENFQ19FU1JfVEJURkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBUeCBCbG9jayBUcmFuc2ZlciBGaW5pc2hlZCBFcnJvciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDRUNfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENFQ19DU1JfVFNPTV9Qb3MgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DU1JfVFNPTV9Nc2sgICAgICAgICAoMHgxVSA8PCBDRUNfQ1NSX1RTT01fUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIENFQ19DU1JfVFNPTSAgICAgICAgICAgICBDRUNfQ1NSX1RTT01fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgVHggU3RhcnQgT2YgTWVzc2FnZSAqLw0KI2RlZmluZSBDRUNfQ1NSX1RFT01fUG9zICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfQ1NSX1RFT01fTXNrICAgICAgICAgKDB4MVUgPDwgQ0VDX0NTUl9URU9NX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBDRUNfQ1NSX1RFT00gICAgICAgICAgICAgQ0VDX0NTUl9URU9NX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIFR4IEVuZCBPZiBNZXNzYWdlICovDQojZGVmaW5lIENFQ19DU1JfVEVSUl9Qb3MgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DU1JfVEVSUl9Nc2sgICAgICAgICAoMHgxVSA8PCBDRUNfQ1NSX1RFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIENFQ19DU1JfVEVSUiAgICAgICAgICAgICBDRUNfQ1NSX1RFUlJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgVHggRXJyb3IgKi8NCiNkZWZpbmUgQ0VDX0NTUl9UQlRSRl9Qb3MgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NTUl9UQlRSRl9Nc2sgICAgICAgICgweDFVIDw8IENFQ19DU1JfVEJUUkZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQ0VDX0NTUl9UQlRSRiAgICAgICAgICAgIENFQ19DU1JfVEJUUkZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBUeCBCeXRlIFRyYW5zZmVyIFJlcXVlc3Qgb3IgQmxvY2sgVHJhbnNmZXIgRmluaXNoZWQgKi8NCiNkZWZpbmUgQ0VDX0NTUl9SU09NX1BvcyAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NTUl9SU09NX01zayAgICAgICAgICgweDFVIDw8IENFQ19DU1JfUlNPTV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQ0VDX0NTUl9SU09NICAgICAgICAgICAgIENFQ19DU1JfUlNPTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBSeCBTdGFydCBPZiBNZXNzYWdlICovDQojZGVmaW5lIENFQ19DU1JfUkVPTV9Qb3MgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DU1JfUkVPTV9Nc2sgICAgICAgICAoMHgxVSA8PCBDRUNfQ1NSX1JFT01fUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIENFQ19DU1JfUkVPTSAgICAgICAgICAgICBDRUNfQ1NSX1JFT01fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgUnggRW5kIE9mIE1lc3NhZ2UgKi8NCiNkZWZpbmUgQ0VDX0NTUl9SRVJSX1BvcyAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NTUl9SRVJSX01zayAgICAgICAgICgweDFVIDw8IENFQ19DU1JfUkVSUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQ0VDX0NTUl9SRVJSICAgICAgICAgICAgIENFQ19DU1JfUkVSUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBSeCBFcnJvciAqLw0KI2RlZmluZSBDRUNfQ1NSX1JCVEZfUG9zICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfQ1NSX1JCVEZfTXNrICAgICAgICAgKDB4MVUgPDwgQ0VDX0NTUl9SQlRGX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBDRUNfQ1NSX1JCVEYgICAgICAgICAgICAgQ0VDX0NTUl9SQlRGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIFJ4IEJsb2NrIFRyYW5zZmVyIEZpbmlzaGVkICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENFQ19UWEQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ0VDX1RYRF9UWERfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX1RYRF9UWERfTXNrICAgICAgICAgICgweEZGVSA8PCBDRUNfVFhEX1RYRF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgQ0VDX1RYRF9UWEQgICAgICAgICAgICAgIENFQ19UWERfVFhEX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBUeCBEYXRhIHJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENFQ19SWEQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ0VDX1JYRF9SWERfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX1JYRF9SWERfTXNrICAgICAgICAgICgweEZGVSA8PCBDRUNfUlhEX1JYRF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgQ0VDX1JYRF9SWEQgICAgICAgICAgICAgIENFQ19SWERfUlhEX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBSeCBEYXRhIHJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVycyAoVElNKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NSMV9DRU5fUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DRU5fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DRU5fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NSMV9DRU4gICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9DRU5fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q291bnRlciBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NSMV9VRElTX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9VRElTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9VRElTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0NSMV9VRElTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9VRElTX01zayAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGRpc2FibGUgKi8NCiNkZWZpbmUgVElNX0NSMV9VUlNfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9VUlNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9VUlNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NSMV9VUlMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9VUlNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIHJlcXVlc3Qgc291cmNlICovDQojZGVmaW5lIFRJTV9DUjFfT1BNX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfT1BNX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfT1BNX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DUjFfT1BNICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfT1BNX01zayAgICAgICAgICAgICAgICAgICAgLyohPE9uZSBwdWxzZSBtb2RlICovDQojZGVmaW5lIFRJTV9DUjFfRElSX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfRElSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfRElSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DUjFfRElSICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfRElSX01zayAgICAgICAgICAgICAgICAgICAgLyohPERpcmVjdGlvbiAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQ01TX1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ01TX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DUjFfQ01TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIFRJTV9DUjFfQ01TICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ01TX01zayAgICAgICAgICAgICAgICAgICAgLyohPENNU1sxOjBdIGJpdHMgKENlbnRlci1hbGlnbmVkIG1vZGUgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQVJQRV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQVJQRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQVJQRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DUjFfQVJQRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQVJQRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEF1dG8tcmVsb2FkIHByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NSMV9DS0RfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DS0RfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NSMV9DS0RfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0QgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9DS0RfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q0tEWzE6MF0gYml0cyAoY2xvY2sgZGl2aXNpb24pICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1BDX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ1BDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9DQ1BDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1BDICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9DQ1BDX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIFByZWxvYWRlZCBDb250cm9sICovDQojZGVmaW5lIFRJTV9DUjJfQ0NVU19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NVU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NVU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DUjJfQ0NVUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NVU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBDb250cm9sIFVwZGF0ZSBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVElNX0NSMl9DQ0RTX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ0RTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9DQ0RTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NSMl9DQ0RTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9DQ0RTX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIERNQSBTZWxlY3Rpb24gKi8NCg0KI2RlZmluZSBUSU1fQ1IyX01NU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX01NU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX01NU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxNTVNbMjowXSBiaXRzIChNYXN0ZXIgTW9kZSBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NSMl9USTFTX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9USTFTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9USTFTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NSMl9USTFTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9USTFTX01zayAgICAgICAgICAgICAgICAgICAvKiE8VEkxIFNlbGVjdGlvbiAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzEgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzFfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAxIChPQzEgb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFOX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzFOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzFOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFOICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzFOX01zayAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAxIChPQzFOIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMyX01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMiAoT0MyIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMyTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMyTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyTiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMyTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMiAoT0MyTiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM19Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDMgKE9DMyBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM05fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTM05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTM05fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM04gICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTM05fTXNrICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDMgKE9DM04gb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzRfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzQgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzRfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSA0IChPQzQgb3V0cHV0KSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TTUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9TTUNSX1NNU19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX1NNU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9TTUNSX1NNU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIFRJTV9TTUNSX1NNUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX1NNU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFNNU1syOjBdIGJpdHMgKFNsYXZlIG1vZGUgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX1RTX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX1RTX01zayAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX1RTX01zayAgICAgICAgICAgICAgICAgICAgLyohPFRTWzI6MF0gYml0cyAoVHJpZ2dlciBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfTVNNX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfTVNNX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfTVNNX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfTVNNICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfTVNNX01zayAgICAgICAgICAgICAgICAgICAvKiE8TWFzdGVyL3NsYXZlIG1vZGUgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FVEZfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVEZfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVEZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxFVEZbMzowXSBiaXRzIChFeHRlcm5hbCB0cmlnZ2VyIGZpbHRlcikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FVFBTX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVFBTX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVFBTX01zayAgICAgICAgICAgICAgICAgIC8qITxFVFBTWzE6MF0gYml0cyAoRXh0ZXJuYWwgdHJpZ2dlciBwcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRUNFX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRUNFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRUNFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRUNFICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRUNFX01zayAgICAgICAgICAgICAgICAgICAvKiE8RXh0ZXJuYWwgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VUUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VUUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUCAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VUUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEV4dGVybmFsIHRyaWdnZXIgcG9sYXJpdHkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRElFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRElFUl9VSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9VSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRElFUl9VSUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzFJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMklFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MzSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzRJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NPTUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NPTUlFX01zayAgICAgICAgICAgICAgICAgLyohPENPTSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1RJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9CSUVfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9CSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9CSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fRElFUl9CSUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9CSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1VERV9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1VERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1VERV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9ESUVSX1VERSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1VERV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxREVfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MxREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MxREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MxREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMkRFX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMkRFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNERV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzNERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzNERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzNERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0REVfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0M0REVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0M0REVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0REUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0M0REVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NPTURFX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NPTURFX01zayAgICAgICAgICAgICAgICAgLyohPENPTSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfVERFX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVERFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVERFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfVERFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfVERFX01zayAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBETUEgcmVxdWVzdCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fU1JfVUlGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfVUlGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfVUlGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fU1JfVUlGICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfVUlGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMUlGX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMUlGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMUlGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX1NSX0NDMUlGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMUlGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMklGX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMklGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMklGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX1NSX0NDMklGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMklGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDM0lGX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDM0lGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDM0lGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX1NSX0NDM0lGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDM0lGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDNElGX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDNElGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDNElGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX1NSX0NDNElGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDNElGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NPTUlGX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NPTUlGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NPTUlGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX1NSX0NPTUlGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NPTUlGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q09NIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9USUZfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9USUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9TUl9USUYgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0JJRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0JJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0JJRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX1NSX0JJRiAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0JJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMU9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMU9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMU9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDMU9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMU9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MyT0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MyT0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MyT0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MyT0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MyT0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzNPRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzNPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzNPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9TUl9DQzNPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzNPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDNE9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDNE9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDNE9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDNE9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDNE9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9FR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9FR1JfVUdfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfVUdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfVUdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9FR1JfVUcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfVUdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MxR19Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MxR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MxR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9FR1JfQ0MxRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0MxR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzJHX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzJHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzJHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0VHUl9DQzJHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzJHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDM0dfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDM0dfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDM0dfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDM0cgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDM0dfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0M0R19Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0M0R19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0M0R19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9FR1JfQ0M0RyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0M0R19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DT01HX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DT01HX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DT01HX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0VHUl9DT01HICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DT01HX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIENvbnRyb2wgVXBkYXRlIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9UR19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9UR19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9UR19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0VHUl9URyAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9UR19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQkdfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQkdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQkdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9FR1JfQkcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQkdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIEdlbmVyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ01SMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfQ0MxU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzFTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDEgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDEgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMVBFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMVBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMSBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFNX01zayAgICAgICAgICAgICAgICAgLyohPE9DMU1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAxIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMUNFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMUNFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMUNsZWFyIEVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9DQzJTX01zayAgICAgICAgICAgICAgICAgLyohPENDMlNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMiBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMkZFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMkZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEVfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyUEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk0gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMk1fTXNrICAgICAgICAgICAgICAgICAvKiE8T0MyTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDIgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0VfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyQ0VfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyQ0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIENsZWFyIEVuYWJsZSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMxUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzFGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzJQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgICAgICAgICAgLyohPElDMkZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDTVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9DQzNTX01zayAgICAgICAgICAgICAgICAgLyohPENDM1NbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMyBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM0ZFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM0ZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEVfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0MzUEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM01fUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM01fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM00gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM01fTXNrICAgICAgICAgICAgICAgICAvKiE8T0MzTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDMgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0VfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzQ0VfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0MzQ0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIENsZWFyIEVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9DQzRTX01zayAgICAgICAgICAgICAgICAgLyohPENDNFNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgNCBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNEZFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNEZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEVfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0UEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0M0UEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE0gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNE1fTXNrICAgICAgICAgICAgICAgICAvKiE8T0M0TVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDQgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0VfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0Q0VfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0M0Q0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IENsZWFyIEVuYWJsZSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ19Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDM1BTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMzUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAzIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUMzRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzNGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAzIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUM0UFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzRQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzRGX01zayAgICAgICAgICAgICAgICAgLyohPElDNEZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMU5FX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMU5FX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUF9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFOUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUCAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFOUF9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBDb21wbGVtZW50YXJ5IG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlBfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMlBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMlBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORV9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJORV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJORV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBDb21wbGVtZW50YXJ5IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlBfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyTlBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyTlBfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgQ29tcGxlbWVudGFyeSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzRV9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzRSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNQX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkVfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzTkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkUgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzTkVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgQ29tcGxlbWVudGFyeSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM05QX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDNEVfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0M0UF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgb3V0cHV0IFBvbGFyaXR5ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NOVF9DTlRfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NOVF9DTlRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFRJTV9DTlRfQ05UX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgVElNX0NOVF9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NOVF9DTlRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q291bnRlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9QU0MgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9QU0NfUFNDX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9QU0NfUFNDX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9QU0NfUFNDX1BvcykgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9QU0NfUFNDICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9QU0NfUFNDX01zayAgICAgICAgICAgICAgICAgICAgLyohPFByZXNjYWxlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9BUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9BUlJfQVJSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBUSU1fQVJSX0FSUl9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9BUlJfQVJSICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgICAgICAgICAgLyohPGFjdHVhbCBhdXRvLXJlbG9hZCBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9SQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9SQ1JfUkVQX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9SQ1JfUkVQX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBUSU1fUkNSX1JFUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFRJTV9SQ1JfUkVQICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9SQ1JfUkVQX01zayAgICAgICAgICAgICAgICAgICAgLyohPFJlcGV0aXRpb24gQ291bnRlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IxX0NDUjFfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjEgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjJfQ0NSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjJfQ0NSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjJfQ0NSMl9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjJfQ0NSMiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDUjJfQ0NSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSM19DQ1IzX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSM19DQ1IzX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1I0X0NDUjRfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjQgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0JEVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfRFRHX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfRFRHX01zayAgICAgICAgICAgICAgICAgICAvKiE8RFRHWzA6N10gYml0cyAoRGVhZC1UaW1lIEdlbmVyYXRvciBzZXQtdXApICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR181ICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR182ICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR183ICAgICAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0JEVFJfTE9DS19Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DSyAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAvKiE8TE9DS1sxOjBdIGJpdHMgKExvY2sgQ29uZmlndXJhdGlvbikgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DS18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DS18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBUSU1fQkRUUl9PU1NJX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9PU1NJX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9PU1NJX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9PU1NJICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9PU1NJX01zayAgICAgICAgICAgICAgICAgIC8qITxPZmYtU3RhdGUgU2VsZWN0aW9uIGZvciBJZGxlIG1vZGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTUl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfT1NTUl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfT1NTUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTUiAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfT1NTUl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T2ZmLVN0YXRlIFNlbGVjdGlvbiBmb3IgUnVuIG1vZGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktFX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfQktFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfQktFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfQktFX01zayAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgZW5hYmxlICovDQojZGVmaW5lIFRJTV9CRFRSX0JLUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0JLUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0JLUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0JLUCAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0JLUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9CRFRSX0FPRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0FPRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0FPRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0FPRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0FPRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEF1dG9tYXRpYyBPdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9CRFRSX01PRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX01PRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX01PRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9CRFRSX01PRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX01PRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE1haW4gT3V0cHV0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9EQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9EQ1JfREJBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIFRJTV9EQ1JfREJBICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgICAgICAgICAgLyohPERCQVs0OjBdIGJpdHMgKERNQSBCYXNlIEFkZHJlc3MpICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgVElNX0RDUl9EQkxfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDFGMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkwgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8REJMWzQ6MF0gYml0cyAoRE1BIEJ1cnN0IExlbmd0aCkgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRE1BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRE1BUl9ETUFCX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRE1BUl9ETUFCX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fRE1BUl9ETUFCX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fRE1BUl9ETUFCICAgICAgICAgICAgICAgICAgICAgICBUSU1fRE1BUl9ETUFCX01zayAgICAgICAgICAgICAgICAgIC8qITxETUEgcmVnaXN0ZXIgZm9yIGJ1cnN0IGFjY2Vzc2VzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwtVGltZSBDbG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JIX1NFQ0lFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JIX1NFQ0lFX01zayAgICAgICAgICAgICAgICAgIC8qITwgU2Vjb25kIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUlRDX0NSSF9BTFJJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9BTFJJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9BTFJJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUlRDX0NSSF9BTFJJRSAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9BTFJJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUlRDX0NSSF9PV0lFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9PV0lFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9PV0lFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUlRDX0NSSF9PV0lFICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9PV0lFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJmbG9XIEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQ1JMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NSTF9TRUNGX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9TRUNGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9TRUNGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0NSTF9TRUNGICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9TRUNGX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNlY29uZCBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfQUxSRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfQUxSRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfQUxSRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19DUkxfQUxSRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfQUxSRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfT1dGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfT1dGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfT1dGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19DUkxfT1dGICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfT1dGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyZmxvVyBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfUlNGX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfUlNGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfUlNGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJUQ19DUkxfUlNGICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfUlNGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBSZWdpc3RlcnMgU3luY2hyb25pemVkIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9DTkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9DTkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUlRDX0NSTF9DTkYgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENvbmZpZ3VyYXRpb24gRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX1JUT0ZGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX1JUT0ZGX01zayAgICAgICAgICAgICAgICAgIC8qITwgUlRDIG9wZXJhdGlvbiBPRkYgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfUFJMSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1BSTEhfUFJMX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSTEhfUFJMX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX1BSTEhfUFJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgUlRDX1BSTEhfUFJMICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1BSTEhfUFJMX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBQcmVzY2FsZXIgUmVsb2FkIFZhbHVlIEhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfUFJMTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1BSTExfUFJMX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSTExfUFJMX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX1BSTExfUFJMX1BvcykgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX1BSTExfUFJMICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1BSTExfUFJMX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBQcmVzY2FsZXIgUmVsb2FkIFZhbHVlIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19ESVZIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfRElWSF9SVENfRElWX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfRElWSF9SVENfRElWX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRElWSF9SVENfRElWX1BvcykgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBSVENfRElWSF9SVENfRElWICAgICAgICAgICAgICAgICAgICBSVENfRElWSF9SVENfRElWX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENsb2NrIERpdmlkZXIgSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19ESVZMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfRElWTF9SVENfRElWX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfRElWTF9SVENfRElWX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfRElWTF9SVENfRElWX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfRElWTF9SVENfRElWICAgICAgICAgICAgICAgICAgICBSVENfRElWTF9SVENfRElWX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENsb2NrIERpdmlkZXIgTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NOVEggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19DTlRIX1JUQ19DTlRfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlQgICAgICAgICAgICAgICAgICAgIFJUQ19DTlRIX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQ291bnRlciBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NOVEwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19DTlRMX1JUQ19DTlRfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlQgICAgICAgICAgICAgICAgICAgIFJUQ19DTlRMX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQ291bnRlciBMb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQUxSSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0FMUkhfUlRDX0FMUl9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUiAgICAgICAgICAgICAgICAgICAgUlRDX0FMUkhfUlRDX0FMUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBBbGFybSBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0FMUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19BTFJMX1JUQ19BTFJfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFIgICAgICAgICAgICAgICAgICAgIFJUQ19BTFJMX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQWxhcm0gTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICBJbmRlcGVuZGVudCBXQVRDSERPRyAoSVdERykgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfS1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX0tSX0tFWV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX0tSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBJV0RHX0tSX0tFWV9Qb3MpICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBJV0RHX0tSX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX0tSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgS2V5IHZhbHVlICh3cml0ZSBvbmx5LCByZWFkIDAwMDBoKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1BSX1BSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1BSX1BSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBJV0RHX1BSX1BSICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1BSX1BSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUFJbMjowXSAoUHJlc2NhbGVyIGRpdmlkZXIpICovDQojZGVmaW5lIElXREdfUFJfUFJfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIElXREdfUFJfUFJfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIElXREdfUFJfUFJfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSVdER19STFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElXREdfUkxSX1JMX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfUkxSX1JMX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgSVdER19STFJfUkxfUG9zKSAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIElXREdfUkxSX1JMICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfUkxSX1JMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXYXRjaGRvZyBjb3VudGVyIHJlbG9hZCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1NSX1BWVV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1NSX1BWVV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1NSX1BWVV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJV0RHX1NSX1BWVSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1NSX1BWVV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgcHJlc2NhbGVyIHZhbHVlIHVwZGF0ZSAqLw0KI2RlZmluZSBJV0RHX1NSX1JWVV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1NSX1JWVV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1NSX1JWVV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJV0RHX1NSX1JWVSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1NSX1JWVV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgdXBkYXRlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgV2luZG93IFdBVENIRE9HIChXV0RHKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX0NSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NSX1RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBXV0RHX0NSX1QgICAgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NSX1RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFs2OjBdIGJpdHMgKDctQml0IGNvdW50ZXIgKE1TQiB0byBMU0IpKSAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMiAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNiAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DUl9UMCBXV0RHX0NSX1RfMA0KI2RlZmluZSAgV1dER19DUl9UMSBXV0RHX0NSX1RfMQ0KI2RlZmluZSAgV1dER19DUl9UMiBXV0RHX0NSX1RfMg0KI2RlZmluZSAgV1dER19DUl9UMyBXV0RHX0NSX1RfMw0KI2RlZmluZSAgV1dER19DUl9UNCBXV0RHX0NSX1RfNA0KI2RlZmluZSAgV1dER19DUl9UNSBXV0RHX0NSX1RfNQ0KI2RlZmluZSAgV1dER19DUl9UNiBXV0RHX0NSX1RfNg0KDQojZGVmaW5lIFdXREdfQ1JfV0RHQV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ1JfV0RHQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfQ1JfV0RHQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFdXREdfQ1JfV0RHQSAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ1JfV0RHQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBY3RpdmF0aW9uIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfQ0ZSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX0NGUl9XX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9XX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBXV0RHX0NGUl9XICAgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9XX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgV1s2OjBdIGJpdHMgKDctYml0IHdpbmRvdyB2YWx1ZSkgKi8NCiNkZWZpbmUgV1dER19DRlJfV18wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19DRlJfV18xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgV1dER19DRlJfV18yICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgV1dER19DRlJfV18zICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgV1dER19DRlJfV180ICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgV1dER19DRlJfV181ICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgV1dER19DRlJfV182ICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ0ZSX1cwIFdXREdfQ0ZSX1dfMA0KI2RlZmluZSAgV1dER19DRlJfVzEgV1dER19DRlJfV18xDQojZGVmaW5lICBXV0RHX0NGUl9XMiBXV0RHX0NGUl9XXzINCiNkZWZpbmUgIFdXREdfQ0ZSX1czIFdXREdfQ0ZSX1dfMw0KI2RlZmluZSAgV1dER19DRlJfVzQgV1dER19DRlJfV180DQojZGVmaW5lICBXV0RHX0NGUl9XNSBXV0RHX0NGUl9XXzUNCiNkZWZpbmUgIFdXREdfQ0ZSX1c2IFdXREdfQ0ZSX1dfNg0KDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMTgwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ0ZSX1dER1RCX01zayAgICAgICAgICAgICAgICAgLyohPCBXREdUQlsxOjBdIGJpdHMgKFRpbWVyIEJhc2UpICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NGUl9XREdUQjAgV1dER19DRlJfV0RHVEJfMA0KI2RlZmluZSAgV1dER19DRlJfV0RHVEIxIFdXREdfQ0ZSX1dER1RCXzENCg0KI2RlZmluZSBXV0RHX0NGUl9FV0lfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9FV0lfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NGUl9FV0lfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9FV0kgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9FV0lfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRWFybHkgV2FrZXVwIEludGVycnVwdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX1NSX0VXSUZfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX1NSX0VXSUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX1NSX0VXSUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX1NSX0VXSUYgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX1NSX0VXSUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRWFybHkgV2FrZXVwIEludGVycnVwdCBGbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgIEZsZXhpYmxlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CQ1J4ICh4PTEuLjQpIHJlZ2lzdGVyICAqKioqKioqKioqLw0KI2RlZmluZSBGU01DX0JDUnhfTUJLRU5fUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfTUJLRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfTUJLRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGU01DX0JDUnhfTUJLRU4gICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfTUJLRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IGJhbmsgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX0JDUnhfTVVYRU5fUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfTVVYRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfTVVYRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGU01DX0JDUnhfTVVYRU4gICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfTVVYRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcy9kYXRhIG11bHRpcGxleGluZyBlbmFibGUgYml0ICovDQoNCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVBfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVBfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRlNNQ19CQ1J4X01UWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X01UWVBfTXNrICAgICAgICAgICAgICAgICAvKiE8IE1UWVBbMTowXSBiaXRzIChNZW1vcnkgdHlwZSkgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVBfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X01UWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01UWVBfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CQ1J4X01UWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBGU01DX0JDUnhfTVdJRF9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfTVdJRF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBGU01DX0JDUnhfTVdJRF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfTVdJRCAgICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfTVdJRF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTVdJRFsxOjBdIGJpdHMgKE1lbW9yeSBkYXRhIGJ1cyB3aWR0aCkgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01XSURfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X01XSURfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01XSURfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CQ1J4X01XSURfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBGU01DX0JDUnhfRkFDQ0VOX1BvcyAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfRkFDQ0VOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfRkFDQ0VOX1BvcykgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGU01DX0JDUnhfRkFDQ0VOICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfRkFDQ0VOX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggYWNjZXNzIGVuYWJsZSAqLw0KI2RlZmluZSBGU01DX0JDUnhfQlVSU1RFTl9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfQlVSU1RFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfQlVSU1RFTl9Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfQlVSU1RFTiAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfQlVSU1RFTl9Nc2sgICAgICAgICAgICAgIC8qITwgQnVyc3QgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVFBPTF9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV0FJVFBPTF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV0FJVFBPTF9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVFBPTCAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV0FJVFBPTF9Nc2sgICAgICAgICAgICAgIC8qITwgV2FpdCBzaWduYWwgcG9sYXJpdHkgYml0ICovDQojZGVmaW5lIEZTTUNfQkNSeF9XUkFQTU9EX1BvcyAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQkNSeF9XUkFQTU9EX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQkNSeF9XUkFQTU9EX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZTTUNfQkNSeF9XUkFQTU9EICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSeF9XUkFQTU9EX01zayAgICAgICAgICAgICAgLyohPCBXcmFwcGVkIGJ1cnN0IG1vZGUgc3VwcG9ydCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVENGR19Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV0FJVENGR19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV0FJVENGR19Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVENGRyAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV0FJVENGR19Nc2sgICAgICAgICAgICAgIC8qITwgV2FpdCB0aW1pbmcgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBGU01DX0JDUnhfV1JFTl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV1JFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV1JFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV1JFTiAgICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV1JFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV3JpdGUgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVEVOX1BvcyAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV0FJVEVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV0FJVEVOX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV0FJVEVOICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV0FJVEVOX01zayAgICAgICAgICAgICAgIC8qITwgV2FpdCBlbmFibGUgYml0ICovDQojZGVmaW5lIEZTTUNfQkNSeF9FWFRNT0RfUG9zICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQkNSeF9FWFRNT0RfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQkNSeF9FWFRNT0RfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEZTTUNfQkNSeF9FWFRNT0QgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSeF9FWFRNT0RfTXNrICAgICAgICAgICAgICAgLyohPCBFeHRlbmRlZCBtb2RlIGVuYWJsZSAqLw0KI2RlZmluZSBGU01DX0JDUnhfQVNZTkNXQUlUX1BvcyAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfQVNZTkNXQUlUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfQVNZTkNXQUlUX1BvcykgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfQVNZTkNXQUlUICAgICAgICAgICAgICAgICBGU01DX0JDUnhfQVNZTkNXQUlUX01zayAgICAgICAgICAgIC8qITwgQXN5bmNocm9ub3VzIHdhaXQgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0NCVVJTVFJXX1BvcyAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X0NCVVJTVFJXX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X0NCVVJTVFJXX1BvcykgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0NCVVJTVFJXICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X0NCVVJTVFJXX01zayAgICAgICAgICAgICAvKiE8IFdyaXRlIGJ1cnN0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CVFJ4ICh4PTEuLjQpIHJlZ2lzdGVyICAqKioqKiovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERTRVRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9BRERTRVRfTXNrICAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfQlRSeF9BRERTRVRfUG9zKSAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERTRVQgICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9BRERTRVRfTXNrICAgICAgICAgICAgICAgLyohPCBBRERTRVRbMzowXSBiaXRzIChBZGRyZXNzIHNldHVwIHBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfTXNrICAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITEQgICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9BRERITERfTXNrICAgICAgICAgICAgICAgLyohPCBBRERITERbMzowXSBiaXRzIChBZGRyZXNzLWhvbGQgcGhhc2UgZHVyYXRpb24pICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BRERITERfMyAgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfQlRSeF9BRERITERfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVCAgICAgICAgICAgICAgICAgICAgRlNNQ19CVFJ4X0RBVEFTVF9Nc2sgICAgICAgICAgICAgICAvKiE8IERBVEFTVCBbMzowXSBiaXRzIChEYXRhLXBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzEgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzIgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzMgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzQgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzUgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzYgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUQVNUXzcgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19CVFJ4X0RBVEFTVF9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOX1BvcyAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9CVVNUVVJOX01zayAgICAgICAgICAgICAgLyohPCBCVVNUVVJOWzM6MF0gYml0cyAoQnVzIHR1cm5hcm91bmQgcGhhc2UgZHVyYXRpb24pICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOXzIgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9CVVNUVVJOXzMgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfQlRSeF9CVVNUVVJOX1BvcykgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDBGMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJViAgICAgICAgICAgICAgICAgICAgRlNNQ19CVFJ4X0NMS0RJVl9Nc2sgICAgICAgICAgICAgICAvKiE8IENMS0RJVlszOjBdIGJpdHMgKENsb2NrIGRpdmlkZSByYXRpbykgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl8yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0NMS0RJVl8zICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19CVFJ4X0NMS0RJVl9Qb3MpICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JUUnhfREFUTEFUX1BvcykgICAgIC8qITwgMHgwRjAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUICAgICAgICAgICAgICAgICAgICBGU01DX0JUUnhfREFUTEFUX01zayAgICAgICAgICAgICAgIC8qITwgREFUTEFbMzowXSBiaXRzIChEYXRhIGxhdGVuY3kpICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRMQVRfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQlRSeF9EQVRMQVRfUG9zKSAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRMQVRfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQlRSeF9EQVRMQVRfUG9zKSAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRMQVRfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfQlRSeF9EQVRMQVRfUG9zKSAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRMQVRfMyAgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfQlRSeF9EQVRMQVRfUG9zKSAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19CVFJ4X0FDQ01PRF9Qb3MgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CVFJ4X0FDQ01PRF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgRlNNQ19CVFJ4X0FDQ01PRF9Qb3MpICAgICAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0FDQ01PRCAgICAgICAgICAgICAgICAgICAgRlNNQ19CVFJ4X0FDQ01PRF9Nc2sgICAgICAgICAgICAgICAvKiE8IEFDQ01PRFsxOjBdIGJpdHMgKEFjY2VzcyBtb2RlKSAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUNDTU9EXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JUUnhfQUNDTU9EX1BvcykgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUNDTU9EXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JUUnhfQUNDTU9EX1BvcykgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CV1RSeCAoeD0xLi40KSByZWdpc3RlciAgKioqKioqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FERFNFVF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0FERFNFVF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JXVFJ4X0FERFNFVF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FERFNFVCAgICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0FERFNFVF9Nc2sgICAgICAgICAgICAgIC8qITwgQUREU0VUWzM6MF0gYml0cyAoQWRkcmVzcyBzZXR1cCBwaGFzZSBkdXJhdGlvbikgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfMiAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfMyAgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRCAgICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0FEREhMRF9Nc2sgICAgICAgICAgICAgIC8qITwgQURESExEWzM6MF0gYml0cyAoQWRkcmVzcy1ob2xkIHBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF8yICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FEREhMRF8zICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JXVFJ4X0FEREhMRF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUX01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUICAgICAgICAgICAgICAgICAgIEZTTUNfQldUUnhfREFUQVNUX01zayAgICAgICAgICAgICAgLyohPCBEQVRBU1QgWzM6MF0gYml0cyAoRGF0YS1waGFzZSBkdXJhdGlvbikgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfMCAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfMSAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfMiAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfMyAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfNCAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfNSAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfNiAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRBU1RfNyAgICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfQldUUnhfREFUQVNUX1BvcykgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBGU01DX0JXVFJ4X0NMS0RJVl9Qb3MgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0NMS0RJVl9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JXVFJ4X0NMS0RJVl9Qb3MpICAgIC8qITwgMHgwMEYwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0NMS0RJViAgICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0NMS0RJVl9Nc2sgICAgICAgICAgICAgIC8qITwgQ0xLRElWWzM6MF0gYml0cyAoQ2xvY2sgZGl2aWRlIHJhdGlvKSAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0NMS0RJVl8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JXVFJ4X0NMS0RJVl9Qb3MpICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0NMS0RJVl8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JXVFJ4X0NMS0RJVl9Qb3MpICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0NMS0RJVl8yICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JXVFJ4X0NMS0RJVl9Qb3MpICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0NMS0RJVl8zICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JXVFJ4X0NMS0RJVl9Qb3MpICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEZTTUNfQldUUnhfREFUTEFUX1BvcyAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQldUUnhfREFUTEFUX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfQldUUnhfREFUTEFUX1BvcykgICAgLyohPCAweDBGMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUTEFUICAgICAgICAgICAgICAgICAgIEZTTUNfQldUUnhfREFUTEFUX01zayAgICAgICAgICAgICAgLyohPCBEQVRMQVszOjBdIGJpdHMgKERhdGEgbGF0ZW5jeSkgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRMQVRfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CV1RSeF9EQVRMQVRfUG9zKSAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRMQVRfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CV1RSeF9EQVRMQVRfUG9zKSAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRMQVRfMiAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19CV1RSeF9EQVRMQVRfUG9zKSAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9EQVRMQVRfMyAgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19CV1RSeF9EQVRMQVRfUG9zKSAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCg0KI2RlZmluZSBGU01DX0JXVFJ4X0FDQ01PRF9Qb3MgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0FDQ01PRF9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBGU01DX0JXVFJ4X0FDQ01PRF9Qb3MpICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FDQ01PRCAgICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0FDQ01PRF9Nc2sgICAgICAgICAgICAgIC8qITwgQUNDTU9EWzE6MF0gYml0cyAoQWNjZXNzIG1vZGUpICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUNDTU9EXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQldUUnhfQUNDTU9EX1BvcykgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUNDTU9EXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQldUUnhfQUNDTU9EX1BvcykgICAgLyohPCAweDIwMDAwMDAwICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgU0QgaG9zdCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1BPV0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF9Nc2sgICAgICAgICAgICAgICgweDNVIDw8IFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTCAgICAgICAgICAgICAgICAgIFNESU9fUE9XRVJfUFdSQ1RSTF9Nc2sgICAgICAgICAgICAgLyohPCBQV1JDVFJMWzE6MF0gYml0cyAoUG93ZXIgc3VwcGx5IGNvbnRyb2wgYml0cykgKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMXzAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19QT1dFUl9QV1JDVFJMX1BvcykgICAvKiE8IDB4MDEgKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMXzEgICAgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19QT1dFUl9QV1JDVFJMX1BvcykgICAvKiE8IDB4MDIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fQ0xLQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVZfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVZfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IFNESU9fQ0xLQ1JfQ0xLRElWX1BvcykgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVYgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9DTEtESVZfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIGRpdmlkZSBmYWN0b3IgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTl9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9DTEtFTl9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTiAgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAvKiE8IENsb2NrIGVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVZfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9QV1JTQVZfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVYgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9QV1JTQVZfTXNrICAgICAgICAgICAgICAvKiE8IFBvd2VyIHNhdmluZyBjb25maWd1cmF0aW9uIGJpdCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTU19Qb3MgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTU19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX0JZUEFTU19Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTUyAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0JZUEFTU19Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgZGl2aWRlciBieXBhc3MgZW5hYmxlIGJpdCAqLw0KDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTX01zayAgICAgICAgICAgICAgICgweDNVIDw8IFNESU9fQ0xLQ1JfV0lEQlVTX1BvcykgICAgLyohPCAweDAwMDAxODAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfV0lEQlVTX01zayAgICAgICAgICAgICAgLyohPCBXSURCVVNbMTowXSBiaXRzIChXaWRlIGJ1cyBtb2RlIGVuYWJsZSBiaXQpICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfV0lEQlVTX1BvcykgICAgLyohPCAweDA4MDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19DTEtDUl9XSURCVVNfUG9zKSAgICAvKiE8IDB4MTAwMCAqLw0KDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRV9Qb3MgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfTkVHRURHRV9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRSAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfTkVHRURHRV9Nc2sgICAgICAgICAgICAgLyohPCBTRElPX0NLIGRlcGhhc2luZyBzZWxlY3Rpb24gYml0ICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTl9Qb3MgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfSFdGQ19FTl9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTiAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfSFdGQ19FTl9Nc2sgICAgICAgICAgICAgLyohPCBIVyBGbG93IENvbnRyb2wgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19BUkcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fQVJHX0NNREFSR19Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQVJHX0NNREFSR19Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX0FSR19DTURBUkdfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19BUkdfQ01EQVJHICAgICAgICAgICAgICAgICAgICAgU0RJT19BUkdfQ01EQVJHX01zayAgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgYXJndW1lbnQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0NNRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVhfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVhfTXNrICAgICAgICAgICAgICAgKDB4M0ZVIDw8IFNESU9fQ01EX0NNRElOREVYX1BvcykgICAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVggICAgICAgICAgICAgICAgICAgU0RJT19DTURfQ01ESU5ERVhfTXNrICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgSW5kZXggKi8NCg0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF9Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBTRElPX0NNRF9XQUlUUkVTUF9Qb3MpICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9XQUlUUkVTUF9Nc2sgICAgICAgICAgICAgIC8qITwgV0FJVFJFU1BbMTowXSBiaXRzIChXYWl0IGZvciByZXNwb25zZSBiaXRzKSAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9XQUlUUkVTUF9Qb3MpICAgIC8qITwgMHgwMDQwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IFNESU9fQ01EX1dBSVRSRVNQX1BvcykgICAgLyohPCAweDAwODAgKi8NCg0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9XQUlUSU5UX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UICAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9XQUlUSU5UX01zayAgICAgICAgICAgICAgIC8qITwgQ1BTTSBXYWl0cyBmb3IgSW50ZXJydXB0IFJlcXVlc3QgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkRfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfV0FJVFBFTkRfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkQgICAgICAgICAgICAgICAgICAgU0RJT19DTURfV0FJVFBFTkRfTXNrICAgICAgICAgICAgICAvKiE8IENQU00gV2FpdHMgZm9yIGVuZHMgb2YgZGF0YSB0cmFuc2ZlciAoQ21kUGVuZCBpbnRlcm5hbCBzaWduYWwpICovDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTl9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX0NQU01FTl9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTiAgICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX0NQU01FTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHBhdGggc3RhdGUgbWFjaGluZSAoQ1BTTSkgRW5hYmxlIGJpdCAqLw0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORF9Qb3MgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9TRElPU1VTUEVORF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORCAgICAgICAgICAgICAgICBTRElPX0NNRF9TRElPU1VTUEVORF9Nc2sgICAgICAgICAgIC8qITwgU0QgSS9PIHN1c3BlbmQgY29tbWFuZCAqLw0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMX1BvcyAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9FTkNNRENPTVBMX1BvcykgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMICAgICAgICAgICAgICAgICBTRElPX0NNRF9FTkNNRENPTVBMX01zayAgICAgICAgICAgIC8qITwgRW5hYmxlIENNRCBjb21wbGV0aW9uICovDQojZGVmaW5lIFNESU9fQ01EX05JRU5fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX05JRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX05JRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fQ01EX05JRU4gICAgICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX05JRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBOb3QgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRF9Qb3MgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9DRUFUQUNNRF9Qb3MpICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9DRUFUQUNNRF9Nc2sgICAgICAgICAgICAgIC8qITwgQ0UtQVRBIGNvbW1hbmQgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQQ01EIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQQ01EX1JFU1BDTURfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQQ01EX1JFU1BDTURfTXNrICAgICAgICAgICAgKDB4M0ZVIDw8IFNESU9fUkVTUENNRF9SRVNQQ01EX1BvcykgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIFNESU9fUkVTUENNRF9SRVNQQ01EICAgICAgICAgICAgICAgIFNESU9fUkVTUENNRF9SRVNQQ01EX01zayAgICAgICAgICAgLyohPCBSZXNwb25zZSBjb21tYW5kIGluZGV4ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzAgICAgICAgICAgICAgIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxICAgICAgICAgICAgICBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMiAgICAgICAgICAgICAgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzMgICAgICAgICAgICAgIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0ICAgICAgICAgICAgICBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRFRJTUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EVElNRVJfREFUQVRJTUVfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EVElNRVJfREFUQVRJTUVfTXNrICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fRFRJTUVSX0RBVEFUSU1FX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fRFRJTUVSX0RBVEFUSU1FICAgICAgICAgICAgICAgIFNESU9fRFRJTUVSX0RBVEFUSU1FX01zayAgICAgICAgICAgLyohPCBEYXRhIHRpbWVvdXQgcGVyaW9kLiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19ETEVOIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSF9Nc2sgICAgICAgICAgICAoMHgxRkZGRkZGVSA8PCBTRElPX0RMRU5fREFUQUxFTkdUSF9Qb3MpIC8qITwgMHgwMUZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSCAgICAgICAgICAgICAgICBTRElPX0RMRU5fREFUQUxFTkdUSF9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBsZW5ndGggdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRENUUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EVEVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOICAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EVEVOX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZW5hYmxlZCBiaXQgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUl9Qb3MgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EVERJUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUiAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EVERJUl9Nc2sgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZGlyZWN0aW9uIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERV9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RUTU9ERV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERSAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RUTU9ERV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBtb2RlIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOX1BvcyAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RNQUVOX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RNQUVOX01zayAgICAgICAgICAgICAgIC8qITwgRE1BIGVuYWJsZWQgYml0ICovDQoNCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX01zayAgICAgICAgICAgKDB4RlUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRSAgICAgICAgICAgICAgIFNESU9fRENUUkxfREJMT0NLU0laRV9Nc2sgICAgICAgICAgLyohPCBEQkxPQ0tTSVpFWzM6MF0gYml0cyAoRGF0YSBibG9jayBzaXplKSAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMCAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDAxMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMSAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDAyMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMiAgICAgICAgICAgICAoMHg0VSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDA0MCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMyAgICAgICAgICAgICAoMHg4VSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDA4MCAqLw0KDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfUldTVEFSVF9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVCAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfUldTVEFSVF9Nc2sgICAgICAgICAgICAgLyohPCBSZWFkIHdhaXQgc3RhcnQgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1BfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1BfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9SV1NUT1BfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1AgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9SV1NUT1BfTXNrICAgICAgICAgICAgICAvKiE8IFJlYWQgd2FpdCBzdG9wICovDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0RfUG9zICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0RfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfUldNT0RfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0QgICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfUldNT0RfTXNrICAgICAgICAgICAgICAgLyohPCBSZWFkIHdhaXQgbW9kZSAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTl9Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1NESU9FTl9Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTiAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1NESU9FTl9Nc2sgICAgICAgICAgICAgIC8qITwgU0QgSS9PIGVuYWJsZSBmdW5jdGlvbnMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRENPVU5UIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EQ09VTlRfREFUQUNPVU5UX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ09VTlRfREFUQUNPVU5UX01zayAgICAgICAgICAgKDB4MUZGRkZGRlUgPDwgU0RJT19EQ09VTlRfREFUQUNPVU5UX1BvcykgLyohPCAweDAxRkZGRkZGICovDQojZGVmaW5lIFNESU9fRENPVU5UX0RBVEFDT1VOVCAgICAgICAgICAgICAgIFNESU9fRENPVU5UX0RBVEFDT1VOVF9Nc2sgICAgICAgICAgLyohPCBEYXRhIGNvdW50IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1NUQSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NDUkNGQUlMX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NDUkNGQUlMX01zayAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHJlc3BvbnNlIHJlY2VpdmVkIChDUkMgY2hlY2sgZmFpbGVkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EQ1JDRkFJTF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSBibG9jayBzZW50L3JlY2VpdmVkIChDUkMgY2hlY2sgZmFpbGVkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DVElNRU9VVF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DVElNRU9VVF9Nc2sgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCByZXNwb25zZSB0aW1lb3V0ICovDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RUSU1FT1VUX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RUSU1FT1VUX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIHRpbWVvdXQgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlJfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhVTkRFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlIgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhVTkRFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gZXJyb3IgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUl9Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhPVkVSUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUiAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhPVkVSUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVkIEZJRk8gb3ZlcnJ1biBlcnJvciAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EX1BvcyAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DTURSRU5EX1BvcykgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DTURSRU5EX01zayAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCByZXNwb25zZSByZWNlaXZlZCAoQ1JDIGNoZWNrIHBhc3NlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVF9Qb3MgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ01EU0VOVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ01EU0VOVF9Nc2sgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgc2VudCAobm8gcmVzcG9uc2UgcmVxdWlyZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkRfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RBVEFFTkRfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RBVEFFTkRfTXNrICAgICAgICAgICAgICAgLyohPCBEYXRhIGVuZCAoZGF0YSBjb3VudGVyLCBTRElEQ09VTlQsIGlzIHplcm8pICovDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1NUQklURVJSX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1NUQklURVJSX01zayAgICAgICAgICAgICAgLyohPCBTdGFydCBiaXQgbm90IGRldGVjdGVkIG9uIGFsbCBkYXRhIHNpZ25hbHMgaW4gd2lkZSBidXMgbW9kZSAqLw0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EQkNLRU5EX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EQkNLRU5EX01zayAgICAgICAgICAgICAgIC8qITwgRGF0YSBibG9jayBzZW50L3JlY2VpdmVkIChDUkMgY2hlY2sgcGFzc2VkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1RfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1RfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DTURBQ1RfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1QgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DTURBQ1RfTXNrICAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCB0cmFuc2ZlciBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEFDVF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEFDVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEFDVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEFDVCAgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEFDVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc21pdCBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEFDVF9Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEFDVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEFDVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEFDVCAgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEFDVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRGF0YSByZWNlaXZlIGluIHByb2dyZXNzICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFX1BvcyAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYRklGT0hFX1BvcykgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYRklGT0hFX01zayAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIEhhbGYgRW1wdHk6IGF0IGxlYXN0IDggd29yZHMgY2FuIGJlIHdyaXR0ZW4gaW50byB0aGUgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRl9Qb3MgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEZJRk9IRl9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRiAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEZJRk9IRl9Nc2sgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBGSUZPIEhhbGYgRnVsbDogdGhlcmUgYXJlIGF0IGxlYXN0IDggd29yZHMgaW4gdGhlIEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRl9Qb3MgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhGSUZPRl9Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRiAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhGSUZPRl9Nc2sgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gZnVsbCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GX1BvcyAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEZJRk9GX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEZJRk9GX01zayAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBGSUZPIGZ1bGwgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRV9Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhGSUZPRV9Qb3MpICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRSAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhGSUZPRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gZW1wdHkgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRV9Qb3MgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhGSUZPRV9Qb3MpICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRSAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhGSUZPRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgRklGTyBlbXB0eSAqLw0KI2RlZmluZSBTRElPX1NUQV9UWERBVkxfUG9zICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWERBVkxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWERBVkxfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWERBVkwgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWERBVkxfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gdHJhbnNtaXQgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWERBVkxfUG9zICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWERBVkxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWERBVkxfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWERBVkwgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWERBVkxfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gcmVjZWl2ZSBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVF9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1NESU9JVF9Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1NESU9JVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBTRElPIGludGVycnVwdCByZWNlaXZlZCAqLw0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORF9Qb3MgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DRUFUQUVORF9Qb3MpICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DRUFUQUVORF9Nc2sgICAgICAgICAgICAgIC8qITwgQ0UtQVRBIGNvbW1hbmQgY29tcGxldGlvbiBzaWduYWwgcmVjZWl2ZWQgZm9yIENNRDYxICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19JQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQ19Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NDUkNGQUlMQ19Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgLyohPCBDQ1JDRkFJTCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTENfUG9zICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EQ1JDRkFJTENfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EQ1JDRkFJTENfTXNrICAgICAgICAgICAgIC8qITwgRENSQ0ZBSUwgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDX1BvcyAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ1RJTUVPVVRDX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ1RJTUVPVVRDX01zayAgICAgICAgICAgICAvKiE8IENUSU1FT1VUIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQ19Qb3MgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RUSU1FT1VUQ19Qb3MpICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgLyohPCBEVElNRU9VVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkNfUG9zICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkNfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9UWFVOREVSUkNfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9UWFVOREVSUkNfTXNrICAgICAgICAgICAgIC8qITwgVFhVTkRFUlIgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkNfUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkNfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfUlhPVkVSUkNfUG9zKSAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfUlhPVkVSUkNfTXNrICAgICAgICAgICAgICAvKiE8IFJYT1ZFUlIgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVORENfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVORENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ01EUkVORENfUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVOREMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ01EUkVORENfTXNrICAgICAgICAgICAgICAvKiE8IENNRFJFTkQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVENfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ01EU0VOVENfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVEMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ01EU0VOVENfTXNrICAgICAgICAgICAgICAvKiE8IENNRFNFTlQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVORENfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVORENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfREFUQUVORENfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVOREMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfREFUQUVORENfTXNrICAgICAgICAgICAgICAvKiE8IERBVEFFTkQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDX1BvcyAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfU1RCSVRFUlJDX1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfU1RCSVRFUlJDX01zayAgICAgICAgICAgICAvKiE8IFNUQklURVJSIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDX1BvcyAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RCQ0tFTkRDX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RCQ0tFTkRDX01zayAgICAgICAgICAgICAgLyohPCBEQkNLRU5EIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVENfUG9zICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVENfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1NESU9JVENfUG9zKSAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVEMgICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1NESU9JVENfTXNrICAgICAgICAgICAgICAgLyohPCBTRElPSVQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDX1BvcyAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ0VBVEFFTkRDX1BvcykgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ0VBVEFFTkRDX01zayAgICAgICAgICAgICAvKiE8IENFQVRBRU5EIGZsYWcgY2xlYXIgYml0ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX01BU0sgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DQ1JDRkFJTElFX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19DQ1JDRkFJTElFX01zayAgICAgICAgICAgLyohPCBDb21tYW5kIENSQyBGYWlsIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUVfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RDUkNGQUlMSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RDUkNGQUlMSUVfTXNrICAgICAgICAgICAvKiE8IERhdGEgQ1JDIEZhaWwgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ1RJTUVPVVRJRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfQ1RJTUVPVVRJRV9Nc2sgICAgICAgICAgIC8qITwgQ29tbWFuZCBUaW1lT3V0IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUVfUG9zICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RUSU1FT1VUSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RUSU1FT1VUSUVfTXNrICAgICAgICAgICAvKiE8IERhdGEgVGltZU91dCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWFVOREVSUklFX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWFVOREVSUklFX01zayAgICAgICAgICAgLyohPCBUeCBGSUZPIFVuZGVyUnVuIEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRV9Qb3MgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYT1ZFUlJJRV9Qb3MpICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYT1ZFUlJJRV9Nc2sgICAgICAgICAgICAvKiE8IFJ4IEZJRk8gT3ZlclJ1biBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUVfUG9zICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DTURSRU5ESUVfUG9zKSAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19DTURSRU5ESUVfTXNrICAgICAgICAgICAgLyohPCBDb21tYW5kIFJlc3BvbnNlIFJlY2VpdmVkIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRV9Qb3MgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NNRFNFTlRJRV9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NNRFNFTlRJRV9Nc2sgICAgICAgICAgICAvKiE8IENvbW1hbmQgU2VudCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUVfUG9zICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EQVRBRU5ESUVfUG9zKSAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19EQVRBRU5ESUVfTXNrICAgICAgICAgICAgLyohPCBEYXRhIEVuZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19TVEJJVEVSUklFX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFICAgICAgICAgICAgICAgIFNESU9fTUFTS19TVEJJVEVSUklFX01zayAgICAgICAgICAgLyohPCBTdGFydCBCaXQgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFX1BvcyAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfREJDS0VORElFX1BvcykgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfREJDS0VORElFX01zayAgICAgICAgICAgIC8qITwgRGF0YSBCbG9jayBFbmQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUVfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ01EQUNUSUVfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfQ01EQUNUSUVfTXNrICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBBY3RpbmcgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRV9Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhBQ1RJRV9Qb3MpICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRSAgICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhBQ1RJRV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSBUcmFuc21pdCBBY3RpbmcgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRV9Qb3MgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhBQ1RJRV9Qb3MpICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRSAgICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhBQ1RJRV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSByZWNlaXZlIGFjdGluZyBpbnRlcnJ1cHQgZW5hYmxlZCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRV9Qb3MgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhGSUZPSEVJRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhGSUZPSEVJRV9Nc2sgICAgICAgICAgIC8qITwgVHggRklGTyBIYWxmIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUVfUG9zICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYRklGT0hGSUVfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYRklGT0hGSUVfTXNrICAgICAgICAgICAvKiE8IFJ4IEZJRk8gSGFsZiBGdWxsIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRV9Qb3MgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYRklGT0ZJRV9Qb3MpICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYRklGT0ZJRV9Nc2sgICAgICAgICAgICAvKiE8IFR4IEZJRk8gRnVsbCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUVfUG9zICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEZJRk9GSUVfUG9zKSAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEZJRk9GSUVfTXNrICAgICAgICAgICAgLyohPCBSeCBGSUZPIEZ1bGwgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFX1BvcyAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhGSUZPRUlFX1BvcykgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhGSUZPRUlFX01zayAgICAgICAgICAgIC8qITwgVHggRklGTyBFbXB0eSBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUVfUG9zICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEZJRk9FSUVfUG9zKSAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEZJRk9FSUVfTXNrICAgICAgICAgICAgLyohPCBSeCBGSUZPIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFX1BvcyAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYREFWTElFX1BvcykgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYREFWTElFX01zayAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIFR4IEZJRk8gaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUVfUG9zICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhEQVZMSUVfUG9zKSAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhEQVZMSUVfTXNrICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gUnggRklGTyBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRV9Qb3MgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19TRElPSVRJRV9Qb3MpICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19TRElPSVRJRV9Nc2sgICAgICAgICAgICAgLyohPCBTRElPIE1vZGUgSW50ZXJydXB0IFJlY2VpdmVkIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUVfUG9zICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NFQVRBRU5ESUVfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NFQVRBRU5ESUVfTXNrICAgICAgICAgICAvKiE8IENFLUFUQSBjb21tYW5kIGNvbXBsZXRpb24gc2lnbmFsIHJlY2VpdmVkIEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19GSUZPQ05UIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Nc2sgICAgICAgICAgKDB4RkZGRkZGVSA8PCBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX1BvcykgLyohPCAweDAwRkZGRkZGICovDQojZGVmaW5lIFNESU9fRklGT0NOVF9GSUZPQ09VTlQgICAgICAgICAgICAgIFNESU9fRklGT0NOVF9GSUZPQ09VTlRfTXNrICAgICAgICAgLyohPCBSZW1haW5pbmcgbnVtYmVyIG9mIHdvcmRzIHRvIGJlIHdyaXR0ZW4gdG8gb3IgcmVhZCBmcm9tIHRoZSBGSUZPICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0ZJRk8gcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRklGT19GSUZPREFUQV9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRklGT19GSUZPREFUQV9Nc2sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX0ZJRk9fRklGT0RBVEFfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19GSUZPX0ZJRk9EQVRBICAgICAgICAgICAgICAgICAgU0RJT19GSUZPX0ZJRk9EQVRBX01zayAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgYW5kIHRyYW5zbWl0IEZJRk8gZGF0YSAqLw0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZSAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUjFfQ1BIQV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1BIQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9DUjFfQ1BIQSAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQaGFzZSAqLw0KI2RlZmluZSBTUElfQ1IxX0NQT0xfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NQT0xfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NQT0xfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfQ1IxX0NQT0wgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NQT0xfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUG9sYXJpdHkgKi8NCiNkZWZpbmUgU1BJX0NSMV9NU1RSX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9NU1RSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9NU1RSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU1BJX0NSMV9NU1RSICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9NU1RSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1hc3RlciBTZWxlY3Rpb24gKi8NCg0KI2RlZmluZSBTUElfQ1IxX0JSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQlJbMjowXSBiaXRzIChCYXVkIFJhdGUgQ29udHJvbCkgKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBTUElfQ1IxX1NQRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NQRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfQ1IxX1NQRSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1NQRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgU1BJIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUX1BvcyAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0xTQkZJUlNUX1BvcykgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0xTQkZJUlNUX01zayAgICAgICAgICAgICAgIC8qITwgRnJhbWUgRm9ybWF0ICovDQojZGVmaW5lIFNQSV9DUjFfU1NJX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1NJX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1NJX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNQSV9DUjFfU1NJICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfU1NJX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBzbGF2ZSBzZWxlY3QgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU01fUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TU01fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TU01fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU00gICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9TU01fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIHNsYXZlIG1hbmFnZW1lbnQgKi8NCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFlfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFlfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9SWE9OTFlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFkgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9SWE9OTFlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgb25seSAqLw0KI2RlZmluZSBTUElfQ1IxX0RGRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0RGRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0RGRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0RGRiAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0RGRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBGcmFtZSBGb3JtYXQgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUkNORVhUX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUkNORVhUX01zayAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IENSQyBuZXh0ICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU5fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1JDRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU4gICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBIYXJkd2FyZSBDUkMgY2FsY3VsYXRpb24gZW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjFfQklESU9FX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQklESU9FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQklESU9FX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNQSV9DUjFfQklESU9FICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQklESU9FX01zayAgICAgICAgICAgICAgICAgLyohPCBPdXRwdXQgZW5hYmxlIGluIGJpZGlyZWN0aW9uYWwgbW9kZSAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JJRElNT0RFX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JJRElNT0RFX01zayAgICAgICAgICAgICAgIC8qITwgQmlkaXJlY3Rpb25hbCBkYXRhIG1vZGUgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfUlhETUFFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTiAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfUlhETUFFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBSeCBCdWZmZXIgRE1BIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU5fUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1RYRE1BRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU4gICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1RYRE1BRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgVHggQnVmZmVyIERNQSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9TU09FX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9TU09FX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9TU09FX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU1BJX0NSMl9TU09FICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9TU09FX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNTIE91dHB1dCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9FUlJJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9FUlJJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU1BJX0NSMl9FUlJJRSAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9SWE5FSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUUgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJYIGJ1ZmZlciBOb3QgRW1wdHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRUlFX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1RYRUlFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1RYRUlFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRUlFICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1RYRUlFX01zayAgICAgICAgICAgICAgICAgIC8qITwgVHggYnVmZmVyIEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1NSX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1JYTkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU1BJX1NSX1JYTkUgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgYnVmZmVyIE5vdCBFbXB0eSAqLw0KI2RlZmluZSBTUElfU1JfVFhFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfVFhFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfU1JfVFhFICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgYnVmZmVyIEVtcHR5ICovDQojZGVmaW5lIFNQSV9TUl9DSFNJREVfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9DSFNJREVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9DSFNJREVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9TUl9DSFNJREUgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9DSFNJREVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIHNpZGUgKi8NCiNkZWZpbmUgU1BJX1NSX1VEUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1VEUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1VEUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU1BJX1NSX1VEUiAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1VEUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFVuZGVycnVuIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUl9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0NSQ0VSUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUiAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX0NSQ0VSUl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENSQyBFcnJvciBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9NT0RGX1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9NT0RGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9NT0RGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNQSV9TUl9NT0RGICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9NT0RGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNb2RlIGZhdWx0ICovDQojZGVmaW5lIFNQSV9TUl9PVlJfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9PVlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9TUl9PVlIgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX0JTWV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0JTWV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX1NSX0JTWSAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJ1c3kgZmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfRFJfRFJfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBTUElfRFJfRFJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBTUElfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUkNQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1JDUFJfQ1JDUE9MWV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1JDUFJfQ1JDUE9MWV9Nc2sgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBTUElfQ1JDUFJfQ1JDUE9MWV9Qb3MpIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBTUElfQ1JDUFJfQ1JDUE9MWSAgICAgICAgICAgICAgICAgICBTUElfQ1JDUFJfQ1JDUE9MWV9Nc2sgICAgICAgICAgICAgIC8qITwgQ1JDIHBvbHlub21pYWwgcmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9SWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1JYQ1JDUl9SWENSQ19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1JYQ1JDUl9SWENSQ19Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX1JYQ1JDUl9SWENSQ19Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX1JYQ1JDUl9SWENSQyAgICAgICAgICAgICAgICAgICAgU1BJX1JYQ1JDUl9SWENSQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFJ4IENSQyBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1RYQ1JDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBTUElfVFhDUkNSX1RYQ1JDX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDICAgICAgICAgICAgICAgICAgICBTUElfVFhDUkNSX1RYQ1JDX01zayAgICAgICAgICAgICAgIC8qITwgVHggQ1JDIFJlZ2lzdGVyICovDQoNCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgIEludGVyLWludGVncmF0ZWQgQ2lyY3VpdCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NSMV9QRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9QRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QRV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX0NSMV9QRSAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QRV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBlcmlwaGVyYWwgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfU01CVVNfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU01CVVNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU01CVVNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19DUjFfU01CVVMgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU01CVVNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBNb2RlICovDQojZGVmaW5lIEkyQ19DUjFfU01CVFlQRV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU01CVFlQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU01CVFlQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19DUjFfU01CVFlQRSAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU01CVFlQRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBUeXBlICovDQojZGVmaW5lIEkyQ19DUjFfRU5BUlBfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfRU5BUlBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfRU5BUlBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19DUjFfRU5BUlAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfRU5BUlBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBUlAgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfRU5QRUNfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfRU5QRUNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfRU5QRUNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19DUjFfRU5QRUMgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfRU5QRUNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQRUMgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfRU5HQ19Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfRU5HQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfRU5HQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19DUjFfRU5HQyAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfRU5HQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsIENhbGwgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfTk9TVFJFVENIX1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfTk9TVFJFVENIX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfTk9TVFJFVENIX1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19DUjFfTk9TVFJFVENIICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfTk9TVFJFVENIX01zayAgICAgICAgICAgICAgLyohPCBDbG9jayBTdHJldGNoaW5nIERpc2FibGUgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19DUjFfU1RBUlRfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU1RBUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU1RBUlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19DUjFfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU1RBUlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTdGFydCBHZW5lcmF0aW9uICovDQojZGVmaW5lIEkyQ19DUjFfU1RPUF9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU1RPUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU1RPUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19DUjFfU1RPUCAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU1RPUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTdG9wIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgSTJDX0NSMV9BQ0tfUG9zICAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9BQ0tfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9BQ0tfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9BQ0sgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9BQ0tfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFja25vd2xlZGdlIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1BPU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1BPU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1BPU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1BPUyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1BPU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQWNrbm93bGVkZ2UvUEVDIFBvc2l0aW9uIChmb3IgZGF0YSByZWNlcHRpb24pICovDQojZGVmaW5lIEkyQ19DUjFfUEVDX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUEVDX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUEVDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19DUjFfUEVDICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfUEVDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYWNrZXQgRXJyb3IgQ2hlY2tpbmcgKi8NCiNkZWZpbmUgSTJDX0NSMV9BTEVSVF9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9BTEVSVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9BTEVSVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9BTEVSVCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9BTEVSVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIEFsZXJ0ICovDQojZGVmaW5lIEkyQ19DUjFfU1dSU1RfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU1dSU1RfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU1dSU1RfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19DUjFfU1dSU1QgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU1dSU1RfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBSZXNldCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzRlUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAzRiAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0ZSRVFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRlJFUVs1OjBdIGJpdHMgKFBlcmlwaGVyYWwgQ2xvY2sgRnJlcXVlbmN5KSAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfNSAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEkyQ19DUjJfSVRFUlJFTl9Qb3MgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfSVRFUlJFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfSVRFUlJFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19DUjJfSVRFUlJFTiAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfSVRFUlJFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfSVRFVlRFTl9Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfSVRFVlRFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfSVRFVlRFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19DUjJfSVRFVlRFTiAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfSVRFVlRFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFdmVudCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfSVRCVUZFTl9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfSVRCVUZFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfSVRCVUZFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19DUjJfSVRCVUZFTiAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfSVRCVUZFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBCdWZmZXIgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0RNQUVOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0RNQUVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0RNQUVOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0RNQUVOICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0RNQUVOX01zayAgICAgICAgICAgICAgICAgIC8qITwgRE1BIFJlcXVlc3RzIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0xBU1RfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0xBU1RfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0xBU1RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0xBU1QgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0xBU1RfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRE1BIExhc3QgVHJhbnNmZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfT0FSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMV83ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBGRVUgICAgICAgICAgICAgLyohPCBJbnRlcmZhY2UgQWRkcmVzcyAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ4XzkgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMzAwVSAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBBZGRyZXNzICovDQoNCiNkZWZpbmUgSTJDX09BUjFfQUREMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMCAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDEgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQyICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMyAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDQgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ1ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDUgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURENl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURENl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURENl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA2ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDcgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNyAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ4ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ4X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDggKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOSAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA5ICovDQoNCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURETU9ERV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERSAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURETU9ERV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3NpbmcgTW9kZSAoU2xhdmUgbW9kZSkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfT0FSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjJfRU5EVUFMX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjJfRU5EVUFMX01zayAgICAgICAgICAgICAgICAvKiE8IER1YWwgYWRkcmVzc2luZyBtb2RlIGVuYWJsZSAqLw0KI2RlZmluZSBJMkNfT0FSMl9BREQyX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMl9BREQyX01zayAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgSTJDX09BUjJfQUREMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGRSAqLw0KI2RlZmluZSBJMkNfT0FSMl9BREQyICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMl9BREQyX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIGFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0RSX0RSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0RSX0RSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgSTJDX0RSX0RSX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgSTJDX0RSX0RSICAgICAgICAgICAgICAgICBJMkNfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDgtYml0IERhdGEgUmVnaXN0ZXIgICAgICAgICAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19TUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfU1IxX1NCX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1NCX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1NCX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfU1IxX1NCICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1NCX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgQml0IChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9BRERSX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9BRERSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9BRERSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX1NSMV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9BRERSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3Mgc2VudCAobWFzdGVyIG1vZGUpL21hdGNoZWQgKHNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQlRGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQlRGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQlRGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19TUjFfQlRGICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQlRGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBCeXRlIFRyYW5zZmVyIEZpbmlzaGVkICovDQojZGVmaW5lIEkyQ19TUjFfQUREMTBfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUREMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUREMTBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19TUjFfQUREMTAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUREMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCAxMC1iaXQgaGVhZGVyIHNlbnQgKE1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX1NUT1BGX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1NUT1BGX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1NUT1BGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfU1IxX1NUT1BGICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1NUT1BGX01zayAgICAgICAgICAgICAgICAgIC8qITwgU3RvcCBkZXRlY3Rpb24gKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfUlhORV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfUlhORV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19TUjFfUlhORSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIFJlZ2lzdGVyIG5vdCBFbXB0eSAocmVjZWl2ZXJzKSAqLw0KI2RlZmluZSBJMkNfU1IxX1RYRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1RYRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfU1IxX1RYRSAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciBFbXB0eSAodHJhbnNtaXR0ZXJzKSAqLw0KI2RlZmluZSBJMkNfU1IxX0JFUlJfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0JFUlJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0JFUlJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfU1IxX0JFUlIgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0JFUlJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQnVzIEVycm9yICovDQojZGVmaW5lIEkyQ19TUjFfQVJMT19Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQVJMT19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQVJMT19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19TUjFfQVJMTyAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQVJMT19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBcmJpdHJhdGlvbiBMb3N0IChtYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9BRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9BRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9BRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9BRiAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9BRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFja25vd2xlZGdlIEZhaWx1cmUgKi8NCiNkZWZpbmUgSTJDX1NSMV9PVlJfUG9zICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9PVlJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9PVlIgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJydW4vVW5kZXJydW4gKi8NCiNkZWZpbmUgSTJDX1NSMV9QRUNFUlJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9QRUNFUlJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9QRUNFUlJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9QRUNFUlIgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9QRUNFUlJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBFQyBFcnJvciBpbiByZWNlcHRpb24gKi8NCiNkZWZpbmUgSTJDX1NSMV9USU1FT1VUX1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9USU1FT1VUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9USU1FT1VUX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9USU1FT1VUICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9USU1FT1VUX01zayAgICAgICAgICAgICAgICAvKiE8IFRpbWVvdXQgb3IgVGxvdyBFcnJvciAqLw0KI2RlZmluZSBJMkNfU1IxX1NNQkFMRVJUX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1NNQkFMRVJUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1NNQkFMRVJUX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfU1IxX1NNQkFMRVJUICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1NNQkFMRVJUX01zayAgICAgICAgICAgICAgIC8qITwgU01CdXMgQWxlcnQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfU1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1NSMl9NU0xfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9NU0xfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9NU0xfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX1NSMl9NU0wgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9NU0xfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE1hc3Rlci9TbGF2ZSAqLw0KI2RlZmluZSBJMkNfU1IyX0JVU1lfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX0JVU1lfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX0JVU1lfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfU1IyX0JVU1kgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX0JVU1lfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQnVzIEJ1c3kgKi8NCiNkZWZpbmUgSTJDX1NSMl9UUkFfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9UUkFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9UUkFfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX1NSMl9UUkEgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9UUkFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0dGVyL1JlY2VpdmVyICovDQojZGVmaW5lIEkyQ19TUjJfR0VOQ0FMTF9Qb3MgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfR0VOQ0FMTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfR0VOQ0FMTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19TUjJfR0VOQ0FMTCAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfR0VOQ0FMTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsIENhbGwgQWRkcmVzcyAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMl9TTUJERUZBVUxUX1BvcyAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9TTUJERUZBVUxUX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9TTUJERUZBVUxUX1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX1NSMl9TTUJERUZBVUxUICAgICAgICAgICAgICAgICAgSTJDX1NSMl9TTUJERUZBVUxUX01zayAgICAgICAgICAgICAvKiE8IFNNQnVzIERldmljZSBEZWZhdWx0IEFkZHJlc3MgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfU01CSE9TVF9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfU01CSE9TVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfU01CSE9TVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19TUjJfU01CSE9TVCAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfU01CSE9TVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBIb3N0IEhlYWRlciAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMl9EVUFMRl9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9EVUFMRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9EVUFMRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX1NSMl9EVUFMRiAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9EVUFMRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IER1YWwgRmxhZyAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMl9QRUNfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEkyQ19TUjJfUEVDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgSTJDX1NSMl9QRUMgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBhY2tldCBFcnJvciBDaGVja2luZyBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfQ0NSX0NDUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ0NSX0NDUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEkyQ19DQ1JfQ0NSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJMkNfQ0NSX0NDUiAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ0NSX0NDUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgQ29udHJvbCBSZWdpc3RlciBpbiBGYXN0L1N0YW5kYXJkIG1vZGUgKE1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ0NSX0RVVFlfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ0NSX0RVVFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ0NSX0RVVFlfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBJMkNfQ0NSX0RVVFkgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ0NSX0RVVFlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRmFzdCBNb2RlIER1dHkgQ3ljbGUgKi8NCiNkZWZpbmUgSTJDX0NDUl9GU19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9GU19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NDUl9GU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX0NDUl9GUyAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9GU19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEkyQyBNYXN0ZXIgTW9kZSBTZWxlY3Rpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19UUklTRSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1RSSVNFX1RSSVNFX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1RSSVNFX1RSSVNFX01zayAgICAgICAgICAgICAgICAgKDB4M0ZVIDw8IEkyQ19UUklTRV9UUklTRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgSTJDX1RSSVNFX1RSSVNFICAgICAgICAgICAgICAgICAgICAgSTJDX1RSSVNFX1RSSVNFX01zayAgICAgICAgICAgICAgICAvKiE8IE1heGltdW0gUmlzZSBUaW1lIGluIEZhc3QvU3RhbmRhcmQgbW9kZSAoTWFzdGVyIG1vZGUpICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9TUl9QRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9QRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9QRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9TUl9QRSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9QRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IEVycm9yICovDQojZGVmaW5lIFVTQVJUX1NSX0ZFX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0ZFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0ZFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX1NSX0ZFICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0ZFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBGcmFtaW5nIEVycm9yICovDQojZGVmaW5lIFVTQVJUX1NSX05FX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX05FX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX05FX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX1NSX05FICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX05FX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBOb2lzZSBFcnJvciBGbGFnICovDQojZGVmaW5lIFVTQVJUX1NSX09SRV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX09SRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX09SRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX1NSX09SRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX09SRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyUnVuIEVycm9yICovDQojZGVmaW5lIFVTQVJUX1NSX0lETEVfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0lETEVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0lETEVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX1NSX0lETEUgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0lETEVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJRExFIGxpbmUgZGV0ZWN0ZWQgKi8NCiNkZWZpbmUgVVNBUlRfU1JfUlhORV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfUlhORV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfUlhORSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlYWQgRGF0YSBSZWdpc3RlciBOb3QgRW1wdHkgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVENfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfVENfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfVENfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVEMgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfVENfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBDb21wbGV0ZSAqLw0KI2RlZmluZSBVU0FSVF9TUl9UWEVfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9UWEVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0FSVF9TUl9UWEUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9UWEVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRGF0YSBSZWdpc3RlciBFbXB0eSAqLw0KI2RlZmluZSBVU0FSVF9TUl9MQkRfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9MQkRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9MQkRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9MQkQgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9MQkRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTElOIEJyZWFrIERldGVjdGlvbiBGbGFnICovDQojZGVmaW5lIFVTQVJUX1NSX0NUU19Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0NUU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0NUU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX1NSX0NUUyAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0NUU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDVFMgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9EUl9EUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVIDw8IFVTQVJUX0RSX0RSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDFGRiAqLw0KI2RlZmluZSBVU0FSVF9EUl9EUiAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQlJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX01zayAgICAgICAgICAoMHhGVSA8PCBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX1BvcykgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb24gICAgICAgICAgICAgIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb25fTXNrICAgICAgICAgLyohPCBGcmFjdGlvbiBvZiBVU0FSVERJViAqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX01hbnRpc3NhX1BvcyAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9CUlJfRElWX01hbnRpc3NhX01zayAgICAgICAgICAoMHhGRkZVIDw8IFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfUG9zKSAvKiE8IDB4MDAwMEZGRjAgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9NYW50aXNzYSAgICAgICAgICAgICAgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Nc2sgICAgICAgICAvKiE8IE1hbnRpc3NhIG9mIFVTQVJURElWICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0NSMV9TQktfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9TQktfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9TQktfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX0NSMV9TQksgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9TQktfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTZW5kIEJyZWFrICovDQojZGVmaW5lIFVTQVJUX0NSMV9SV1VfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SV1VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SV1VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX0NSMV9SV1UgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SV1VfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlciB3YWtldXAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVyIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVEVfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVEVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVEUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVEVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXR0ZXIgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUVfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9JRExFSUVfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUUgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9JRExFSUVfTXNrICAgICAgICAgICAgICAgLyohPCBJRExFIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRV9Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JYTkVJRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRSAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFJYTkUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVENJRV9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVENJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVENJRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVENJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIENvbXBsZXRlIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RYRUlFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RYRUlFX01zayAgICAgICAgICAgICAgICAvKiE8IFBFIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BFSUVfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1BFSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1BFSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BFSUUgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1BFSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBFIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BTX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1BTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1BTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BTICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1BTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBhcml0eSBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BDRV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1BDRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1BDRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BDRSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1BDRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBhcml0eSBDb250cm9sIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfV0FLRV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfV0FLRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfV0FLRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfV0FLRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfV0FLRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV2FrZXVwIG1ldGhvZCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfTV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfTSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfTV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV29yZCBsZW5ndGggKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1VFX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1VFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1VFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1VFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1VFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFVTQVJUIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfT1ZFUjhfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfT1ZFUjhfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfT1ZFUjhfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfT1ZFUjggICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfT1ZFUjhfTXNrICAgICAgICAgICAgICAgIC8qITwgVVNBUlQgT3ZlcnNtYXBsaW5nIDgtYml0cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUREX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQUREX01zayAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0FSVF9DUjJfQUREX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUREICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQUREX01zayAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBvZiB0aGUgVVNBUlQgbm9kZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJETF9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTEJETF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTEJETF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJETCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTEJETF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTElOIEJyZWFrIERldGVjdGlvbiBMZW5ndGggKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCRElFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCRElFX01zayAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTEJDTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTEJDTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTGFzdCBCaXQgQ2xvY2sgcHVsc2UgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEFfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NQSEFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEEgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NQSEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBoYXNlICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DUE9MX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DUE9MX01zayAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQb2xhcml0eSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU5fUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ0xLRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU4gICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ0xLRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgRW5hYmxlICovDQoNCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1AgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX1NUT1BfTXNrICAgICAgICAgICAgICAgICAvKiE8IFNUT1BbMTowXSBiaXRzIChTVE9QIGJpdHMpICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOX1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xJTkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xJTkVOX01zayAgICAgICAgICAgICAgICAvKiE8IExJTiBtb2RlIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjNfRUlFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfRUlFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfRUlFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRUlFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfRUlFX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTl9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSVJFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfSVJFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSXJEQSBtb2RlIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUF9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSVJMUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfSVJMUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSXJEQSBMb3ctUG93ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0hEU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0hEU0VMX01zayAgICAgICAgICAgICAgICAvKiE8IEhhbGYtRHVwbGV4IFNlbGVjdGlvbiAqLw0KI2RlZmluZSBVU0FSVF9DUjNfTkFDS19Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfTkFDS19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfTkFDS19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfTkFDSyAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfTkFDS19Nc2sgICAgICAgICAgICAgICAgIC8qITwgU21hcnRjYXJkIE5BQ0sgZW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19TQ0VOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19TQ0VOX01zayAgICAgICAgICAgICAgICAgLyohPCBTbWFydGNhcmQgbW9kZSBlbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVJfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0RNQVJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVIgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0RNQVJfTXNrICAgICAgICAgICAgICAgICAvKiE8IERNQSBFbmFibGUgUmVjZWl2ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVRfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0RNQVRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVQgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0RNQVRfTXNrICAgICAgICAgICAgICAgICAvKiE8IERNQSBFbmFibGUgVHJhbnNtaXR0ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0VfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX1JUU0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX1JUU0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJUUyBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0VfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0NUU0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0NUU0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IENUUyBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0NUU0lFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0NUU0lFX01zayAgICAgICAgICAgICAgICAvKiE8IENUUyBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19PTkVCSVRfUG9zICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19PTkVCSVRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19PTkVCSVRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfT05FQklUICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfT05FQklUX01zayAgICAgICAgICAgICAgICAvKiE8IE9uZSBCaXQgbWV0aG9kICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9HVFBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDX01zayAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0dUUFJfUFNDX01zayAgICAgICAgICAgICAgICAgLyohPCBQU0NbNzowXSBiaXRzIChQcmVzY2FsZXIgdmFsdWUpICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzEgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzIgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzMgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzQgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzUgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzYgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzcgICAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVVNBUlRfR1RQUl9HVF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfR1RQUl9HVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFVTQVJUX0dUUFJfR1RfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9HVCAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfR1RQUl9HVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEd1YXJkIHRpbWUgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlYnVnIE1DVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREJHTUNVX0lEQ09ERSByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREJHTUNVX0lEQ09ERV9ERVZfSURfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9ERVZfSUQgICAgICAgICAgICAgICAgREJHTUNVX0lEQ09ERV9ERVZfSURfTXNrICAgICAgICAgICAvKiE8IERldmljZSBJZGVudGlmaWVyICovDQoNCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfTXNrICAgICAgICAgICAgKDB4RkZGRlUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4RkZGRjAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSUQgICAgICAgICAgICAgICAgREJHTUNVX0lEQ09ERV9SRVZfSURfTXNrICAgICAgICAgICAvKiE8IFJFVl9JRFsxNTowXSBiaXRzIChSZXZpc2lvbiBJZGVudGlmaWVyKSAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8wICAgICAgICAgICAgICAoMHgwMDAxVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xICAgICAgICAgICAgICAoMHgwMDAyVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8yICAgICAgICAgICAgICAoMHgwMDA0VSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8zICAgICAgICAgICAgICAoMHgwMDA4VSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF80ICAgICAgICAgICAgICAoMHgwMDEwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF81ICAgICAgICAgICAgICAoMHgwMDIwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF82ICAgICAgICAgICAgICAoMHgwMDQwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF83ICAgICAgICAgICAgICAoMHgwMDgwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF84ICAgICAgICAgICAgICAoMHgwMTAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF85ICAgICAgICAgICAgICAoMHgwMjAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMCAgICAgICAgICAgICAoMHgwNDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMSAgICAgICAgICAgICAoMHgwODAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMiAgICAgICAgICAgICAoMHgxMDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMyAgICAgICAgICAgICAoMHgyMDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xNCAgICAgICAgICAgICAoMHg0MDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xNSAgICAgICAgICAgICAoMHg4MDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREJHTUNVX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NMRUVQX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NMRUVQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1NMRUVQX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NMRUVQICAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1NMRUVQX01zayAgICAgICAgICAgIC8qITwgRGVidWcgU2xlZXAgTW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUT1BfUG9zICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUT1BfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1NUT1BfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUT1AgICAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1NUT1BfTXNrICAgICAgICAgICAgIC8qITwgRGVidWcgU3RvcCBNb2RlICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RBTkRCWV9Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RBTkRCWV9Nc2sgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfU1RBTkRCWV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQlkgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfTXNrICAgICAgICAgIC8qITwgRGVidWcgU3RhbmRieSBtb2RlICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9JT0VOX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9JT0VOX01zayAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9UUkFDRV9JT0VOX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9JT0VOICAgICAgICAgICAgICAgIERCR01DVV9DUl9UUkFDRV9JT0VOX01zayAgICAgICAgICAgLyohPCBUcmFjZSBQaW4gQXNzaWdubWVudCBDb250cm9sICovDQoNCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfTXNrICAgICAgICAgICAgKDB4M1UgPDwgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREUgICAgICAgICAgICAgICAgREJHTUNVX0NSX1RSQUNFX01PREVfTXNrICAgICAgICAgICAvKiE8IFRSQUNFX01PREVbMTowXSBiaXRzIChUcmFjZSBQaW4gQXNzaWdubWVudCBDb250cm9sKSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV8wICAgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV8xICAgICAgICAgICAgICAoMHgyVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSVdER19TVE9QX1BvcyAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSVdER19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfSVdER19TVE9QX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSVdER19TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfSVdER19TVE9QX01zayAgICAgICAgLyohPCBEZWJ1ZyBJbmRlcGVuZGVudCBXYXRjaGRvZyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19XV0RHX1NUT1BfUG9zICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19XV0RHX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19XV0RHX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19XV0RHX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19XV0RHX1NUT1BfTXNrICAgICAgICAvKiE8IERlYnVnIFdpbmRvdyBXYXRjaGRvZyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xX1NUT1BfUG9zICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0xX1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTEgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0yX1NUT1BfUG9zICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0yX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0yX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0yX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0yX1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTIgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0zX1NUT1BfUG9zICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0zX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0zX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0zX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0zX1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTMgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU00X1NUT1BfUG9zICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU00X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU00X1NUT1BfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU00X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU00X1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTQgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfUG9zICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfTXNrICgweDFVIDw8IERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUICAgIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX01zayAvKiE8IFNNQlVTIHRpbWVvdXQgbW9kZSBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVRfUG9zICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVRfTXNrICgweDFVIDw8IERCR01DVV9DUl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMl9TTUJVU19USU1FT1VUICAgIERCR01DVV9DUl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX01zayAvKiE8IFNNQlVTIHRpbWVvdXQgbW9kZSBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU01X1NUT1BfUG9zICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU01X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU01X1NUT1BfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU01X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU01X1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTUgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU02X1NUT1BfUG9zICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU02X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU02X1NUT1BfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU02X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU02X1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTYgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU03X1NUT1BfUG9zICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU03X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU03X1NUT1BfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU03X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU03X1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTcgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xNV9TVE9QX1BvcyAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xNV9TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xNV9TVE9QX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTVfU1RPUCAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMTVfU1RPUF9Nc2sgICAgICAgLyohPCBEZWJ1ZyBUSU0xNSBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xNl9TVE9QX1BvcyAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xNl9TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xNl9TVE9QX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTZfU1RPUCAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMTZfU1RPUF9Nc2sgICAgICAgLyohPCBEZWJ1ZyBUSU0xNiBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xN19TVE9QX1BvcyAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xN19TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xN19TVE9QX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTdfU1RPUCAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMTdfU1RPUF9Nc2sgICAgICAgLyohPCBEZWJ1ZyBUSU0xNyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xMl9TVE9QX1BvcyAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xMl9TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xMl9TVE9QX1BvcykgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTJfU1RPUCAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMTJfU1RPUF9Nc2sgICAgICAgLyohPCBEZWJ1ZyBUSU0xMiBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xM19TVE9QX1BvcyAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xM19TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xM19TVE9QX1BvcykgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTNfU1RPUCAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMTNfU1RPUF9Nc2sgICAgICAgLyohPCBEZWJ1ZyBUSU0xMyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xNF9TVE9QX1BvcyAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xNF9TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xNF9TVE9QX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTRfU1RPUCAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMTRfU1RPUF9Nc2sgICAgICAgLyohPCBEZWJ1ZyBUSU0xNCBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBGTEFTSCBhbmQgT3B0aW9uIEJ5dGVzIFJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0FDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9BQ1JfSExGQ1lBX1BvcyAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BQ1JfSExGQ1lBX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfSExGQ1lBX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfSExGQ1lBICAgICAgICAgICAgICAgICAgICBGTEFTSF9BQ1JfSExGQ1lBX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggSGFsZiBDeWNsZSBBY2Nlc3MgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9LRVlSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0tFWVJfRktFWVJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0tFWVJfRktFWVJfTXNrICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9LRVlSX0ZLRVlSX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX0tFWVJfRktFWVIgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWVJfRktFWVJfTXNrICAgICAgICAgICAgICAgLyohPCBGUEVDIEtleSAqLw0KDQojZGVmaW5lIFJEUF9LRVlfUG9zICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJEUF9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgweEE1VSA8PCBSRFBfS0VZX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMEE1ICovDQojZGVmaW5lIFJEUF9LRVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJEUF9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSRFAgS2V5ICovDQojZGVmaW5lIEZMQVNIX0tFWTFfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0tFWTFfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDQ1NjcwMTIzVSA8PCBGTEFTSF9LRVkxX1BvcykgICAgLyohPCAweDQ1NjcwMTIzICovDQojZGVmaW5lIEZMQVNIX0tFWTEgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTFfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBGUEVDIEtleTEgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4Q0RFRjg5QUJVIDw8IEZMQVNIX0tFWTJfUG9zKSAgICAvKiE8IDB4Q0RFRjg5QUIgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMiAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRUMgS2V5MiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9PUFRLRVlSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVJfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVJfTXNrICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUiAgICAgICAgICAgICAgIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Nc2sgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBLZXkgKi8NCg0KI2RlZmluZSAgRkxBU0hfT1BUS0VZMSAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMSAgICAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBLZXkxICovDQojZGVmaW5lICBGTEFTSF9PUFRLRVkyICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkyICAgICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEtleTIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfU1JfQlNZX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfQlNZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfU1JfQlNZICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1c3kgKi8NCiNkZWZpbmUgRkxBU0hfU1JfUEdFUlJfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfUEdFUlJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfUEdFUlJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfU1JfUEdFUlIgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfUEdFUlJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFByb2dyYW1taW5nIEVycm9yICovDQojZGVmaW5lIEZMQVNIX1NSX1dSUFJURVJSX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX1dSUFJURVJSX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX1dSUFJURVJSX1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX1NSX1dSUFJURVJSICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX1dSUFJURVJSX01zayAgICAgICAgICAgICAgLyohPCBXcml0ZSBQcm90ZWN0aW9uIEVycm9yICovDQojZGVmaW5lIEZMQVNIX1NSX0VPUF9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX0VPUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX0VPUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZMQVNIX1NSX0VPUCAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX0VPUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFbmQgb2Ygb3BlcmF0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0NSX1BHX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX1BHX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1BHX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX0NSX1BHICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1BHX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQcm9ncmFtbWluZyAqLw0KI2RlZmluZSBGTEFTSF9DUl9QRVJfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9QRVJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9QRVJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9DUl9QRVIgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9QRVJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGFnZSBFcmFzZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9NRVJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9NRVJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9NRVJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9DUl9NRVIgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9NRVJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWFzcyBFcmFzZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRQR19Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9PUFRQR19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRQR19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRQRyAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRQR19Nc2sgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgUHJvZ3JhbW1pbmcgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BURVJfUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfT1BURVJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfT1BURVJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BURVIgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfT1BURVJfTXNrICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX1NUUlRfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1NUUlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEZMQVNIX0NSX1NUUlQgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTdGFydCAqLw0KI2RlZmluZSBGTEFTSF9DUl9MT0NLX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9MT0NLX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9MT0NLX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBGTEFTSF9DUl9MT0NLICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9MT0NLX01zayAgICAgICAgICAgICAgICAgIC8qITwgTG9jayAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRXUkVfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9PUFRXUkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRXUkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRXUkUgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRXUkVfTXNrICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGVzIFdyaXRlIEVuYWJsZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9FUlJJRV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9FUlJJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9FUlJJRSAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9FT1BJRV9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9FT1BJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9FT1BJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9FT1BJRSAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9FT1BJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRW5kIG9mIG9wZXJhdGlvbiBpbnRlcnJ1cHQgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0FSX0ZBUl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FSX0ZBUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9BUl9GQVJfUG9zKSAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX0FSX0ZBUiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FSX0ZBUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9PQlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9PUFRFUlJfUG9zKSAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlIgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9PUFRFUlJfTXNrICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBFcnJvciAqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlRfUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfUkRQUlRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlQgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfUkRQUlRfTXNrICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uICovDQoNCiNkZWZpbmUgRkxBU0hfT0JSX0lXREdfU1dfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0lXREdfU1dfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX0lXREdfU1dfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0lXREdfU1cgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0lXREdfU1dfTXNrICAgICAgICAgICAgICAvKiE8IElXREcgU1cgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1RPUF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1RPUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX25SU1RfU1RPUF9Qb3MpICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1RPUCAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX25SU1RfU1RPUF9Nc2sgICAgICAgICAgICAvKiE8IG5SU1RfU1RPUCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVERCWV9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVERCWV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfblJTVF9TVERCWV9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVERCWSAgICAgICAgICAgICAgICBGTEFTSF9PQlJfblJTVF9TVERCWV9Nc2sgICAgICAgICAgIC8qITwgblJTVF9TVERCWSAqLw0KI2RlZmluZSBGTEFTSF9PQlJfVVNFUl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBGTEFTSF9PQlJfVVNFUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxQyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfVVNFUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgVXNlciBPcHRpb24gQnl0ZXMgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX09CUl9EQVRBMF9Qb3MpICAgICAvKiE8IDB4MDAwM0ZDMDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0RBVEEwX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEwICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMV9Qb3MgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9PQlJfREFUQTFfUG9zKSAgICAgLyohPCAweDAzRkMwMDAwICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9EQVRBMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhMSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlBSX1dSUF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlBSX1dSUF9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfV1JQUl9XUlBfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQUl9XUlBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFdyaXRlIFByb3RlY3QgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1JEUCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfUkRQX1JEUF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfUkRQX1JEUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1JEUF9SRFBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRkxBU0hfUkRQX1JEUCAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfUkRQX1JEUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlYWQgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZSAqLw0KI2RlZmluZSBGTEFTSF9SRFBfblJEUF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9SRFBfblJEUF9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfUkRQX25SRFBfUG9zKSAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGTEFTSF9SRFBfblJEUCAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9SRFBfblJEUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfVVNFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9VU0VSX1VTRVJfUG9zICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9VU0VSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfVVNFUl9VU0VSX1BvcykgICAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9VU0VSX1VTRVIgICAgICAgICAgICAgICAgICAgICBGTEFTSF9VU0VSX1VTRVJfTXNrICAgICAgICAgICAgICAgIC8qITwgVXNlciBvcHRpb24gYnl0ZSAqLw0KI2RlZmluZSBGTEFTSF9VU0VSX25VU0VSX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9VU0VSX25VU0VSX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfVVNFUl9uVVNFUl9Qb3MpICAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9VU0VSX25VU0VSICAgICAgICAgICAgICAgICAgICBGTEFTSF9VU0VSX25VU0VSX01zayAgICAgICAgICAgICAgIC8qITwgVXNlciBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0RhdGEwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfREFUQTBfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTBfREFUQTBfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEEwX0RBVEEwX1BvcykgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfREFUQTAgICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTBfREFUQTBfTXNrICAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX0RBVEEwX25EQVRBMF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0RBVEEwX25EQVRBMF9Nc2sgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9EQVRBMF9uREFUQTBfUG9zKSAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX0RBVEEwX25EQVRBMCAgICAgICAgICAgICAgICAgIEZMQVNIX0RBVEEwX25EQVRBMF9Nc2sgICAgICAgICAgICAgLyohPCBVc2VyIGRhdGEgc3RvcmFnZSBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0RhdGExIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfREFUQTFfUG9zICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTFfREFUQTFfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEExX0RBVEExX1BvcykgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfREFUQTEgICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTFfREFUQTFfTXNrICAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX0RBVEExX25EQVRBMV9Qb3MgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0RBVEExX25EQVRBMV9Nc2sgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9EQVRBMV9uREFUQTFfUG9zKSAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX0RBVEExX25EQVRBMSAgICAgICAgICAgICAgICAgIEZMQVNIX0RBVEExX25EQVRBMV9Nc2sgICAgICAgICAgICAgLyohPCBVc2VyIGRhdGEgc3RvcmFnZSBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUDAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQMF9XUlAwX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMF9XUlAwX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDBfV1JQMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMF9XUlAwICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMF9XUlAwX01zayAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIG9wdGlvbiBieXRlcyAqLw0KI2RlZmluZSBGTEFTSF9XUlAwX25XUlAwX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAwX25XUlAwX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMF9uV1JQMF9Qb3MpICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAwX25XUlAwICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAwX25XUlAwX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAxX1dSUDFfUG9zICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAxX1dSUDFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMV9XUlAxX1BvcykgICAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAxX1dSUDEgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAxX1dSUDFfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDFfbldSUDFfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDFfbldSUDFfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAxX25XUlAxX1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX1dSUDFfbldSUDEgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDFfbldSUDFfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlAyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUDJfV1JQMl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDJfV1JQMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAyX1dSUDJfUG9zKSAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEZMQVNIX1dSUDJfV1JQMiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDJfV1JQMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZXMgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMl9uV1JQMl9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMl9uV1JQMl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDJfbldSUDJfUG9zKSAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMl9uV1JQMiAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMl9uV1JQMl9Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUDMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQM19XUlAzX1BvcyAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQM19XUlAzX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDNfV1JQM19Qb3MpICAgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQM19XUlAzICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQM19XUlAzX01zayAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIG9wdGlvbiBieXRlcyAqLw0KI2RlZmluZSBGTEFTSF9XUlAzX25XUlAzX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAzX25XUlAzX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQM19uV1JQM19Qb3MpICAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAzX25XUlAzICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAzX25XUlAzX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlcyAqLw0KDQoNCg0KLyoqDQogICogQH0NCiovDQoNCi8qKg0KICAqIEB9DQoqLyANCg0KLyoqIEBhZGR0b2dyb3VwIEV4cG9ydGVkX21hY3JvDQogICogQHsNCiAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBBREMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfQURDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEFEQzEpKQ0KDQojZGVmaW5lIElTX0FEQ19DT01NT05fSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IEFEQzFfQ09NTU9OKQ0KDQojZGVmaW5lIElTX0FEQ19ETUFfQ0FQQUJJTElUWV9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQURDMSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDRUMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfQ0VDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQ0VDKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIENSQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19DUkNfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBDUkMpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0RBQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IERBQzEpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRE1BIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0RNQV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw0KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw1KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw2KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw3KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWw0KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWw1KSkNCiAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHUElPIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19HUElPX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEdQSU9BKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0IpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPQykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9EKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0UpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPRikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9HKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gSW5zdGFuY2VzICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BRl9JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gTG9jayBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fTE9DS19JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJMkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0kyQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBJMkMxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBJMkMyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU01CVVMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfU01CVVNfQUxMX0lOU1RBTkNFICAgICAgICAgSVNfSTJDX0FMTF9JTlNUQU5DRQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElXREcgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19JV0RHX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IElXREcpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTUEkgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NQSV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBTUEkxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBTUEkyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBTUEkzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTVEFSVCBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVElNIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1RJTV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU02KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU03KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMykgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNCkgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNSkgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNykpDQoNCiNkZWZpbmUgSVNfVElNX0FEVkFOQ0VEX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBUSU0xKQ0KDQojZGVmaW5lIElTX1RJTV9DQzFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTIpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTMpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTQpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTIpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzNfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0NDNF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfRVRSTU9ERTFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0VUUk1PREUyX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9USVhfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTIpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9JVFJYX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTEyKSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE1KSkNCg0KI2RlZmluZSBJU19USU1fT0NYUkVGX0NMRUFSX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9FTkNPREVSX0lOVEVSRkFDRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fWE9SX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9NQVNURVJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTIpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpKQ0KDQojZGVmaW5lIElTX1RJTV9TTEFWRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNSkpDQoNCiNkZWZpbmUgSVNfVElNX0RNQUJVUlNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE1KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE2KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCg0KI2RlZmluZSBJU19USU1fQlJFQUtfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9DQ1hfSU5TVEFOQ0UoSU5TVEFOQ0UsIENIQU5ORUwpIFwNCiAgICgoKChJTlNUQU5DRSkgPT0gVElNMSkgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0yKSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0zKSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU00KSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU01KSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xMikgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTEzKSAmJiAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTE0KSAmJiAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTE1KSAmJiAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8yKSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMTYpICYmICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMTcpICYmICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSkpKQ0KDQojZGVmaW5lIElTX1RJTV9DQ1hOX0lOU1RBTkNFKElOU1RBTkNFLCBDSEFOTkVMKSBcDQogICAoKCgoSU5TVEFOQ0UpID09IFRJTTEpICYmICAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzMpKSkgICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTE1KSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpKSAgICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTE2KSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkpICAgICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTE3KSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkpKQ0KDQojZGVmaW5lIElTX1RJTV9DT1VOVEVSX01PREVfU0VMRUNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9SRVBFVElUSU9OX0NPVU5URVJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS19ESVZJU0lPTl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xMykgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNCkgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNSkgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNykpDQoNCiNkZWZpbmUgSVNfVElNX0RNQV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU02KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU03KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNSkgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNykpDQogICAgDQojZGVmaW5lIElTX1RJTV9ETUFfQ0NfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KICAgIA0KI2RlZmluZSBJU19USU1fQ09NTVVUQVRJT05fRVZFTlRfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9FVFJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9IQUxMX1NFTlNPUl9JTlRFUkZBQ0VfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fMzJCX0NPVU5URVJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgICAgICAgICAwVQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVORCBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVU0FSVCBJbnN0YW5jZXMgOiBTeW5jaHJvbm91cyBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VU0FSVF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEFzeW5jaHJvbm91cyBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNCkgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ1KSkNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFsZi1EdXBsZXggbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0hBTEZEVVBMRVhfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNCkgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDUpKQ0KDQovKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBMSU4gbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0xJTl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ1KSkNCg0KLyoqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEhhcmR3YXJlIEZsb3cgY29udHJvbCAqKioqKioqKioqKioqKioqKioqKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVNfVUFSVF9IV0ZMT1dfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogU21hcmQgY2FyZCBtb2RlICoqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TTUFSVENBUkRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IElSREEgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0lSREFfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNCkgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ1KSkNCg0KLyoqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogTXVsdGktUHJvY2Vzc29yIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9NVUxUSVBST0NFU1NPUl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDUpKQ0KDQovKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBETUEgbW9kZSBhdmFpbGFibGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9ETUFfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNCkgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNSkpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUlRDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1JUQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKElOU1RBTkNFKSA9PSBSVEMpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIFdXREcgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19XV0RHX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IFdXREcpDQoNCg0KDQoNCiNkZWZpbmUgUkNDX0hTRV9NSU4gICAgICAgICA0MDAwMDAwVQ0KI2RlZmluZSBSQ0NfSFNFX01BWCAgICAgICAgMjYwMDAwMDBVDQoNCiNkZWZpbmUgUkNDX01BWF9GUkVRVUVOQ1kgIDI0MDAwMDAwVQ0KDQovKioNCiAgKiBAfQ0KICAqLyANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgRm9yIGEgcGFpbmxlc3MgY29kZXMgbWlncmF0aW9uIGJldHdlZW4gdGhlIFNUTTMyRjF4eCBkZXZpY2UgcHJvZHVjdCAgICAgICAqLw0KLyogIGxpbmVzLCB0aGUgYWxpYXNlcyBkZWZpbmVkIGJlbG93IGFyZSBwdXQgaW4gcGxhY2UgdG8gb3ZlcmNvbWUgdGhlICAgICAgICAgKi8NCi8qICBkaWZmZXJlbmNlcyBpbiB0aGUgaW50ZXJydXB0IGhhbmRsZXJzIGFuZCBJUlFuIGRlZmluaXRpb25zLiAgICAgICAgICAgICAgICovDQovKiAgTm8gbmVlZCB0byB1cGRhdGUgZGV2ZWxvcGVkIGludGVycnVwdCBjb2RlIHdoZW4gbW92aW5nIGFjcm9zcyAgICAgICAgICAgICAqLyANCi8qICBwcm9kdWN0IGxpbmVzIHdpdGhpbiB0aGUgc2FtZSBTVE0zMkYxIEZhbWlseSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKiBBbGlhc2VzIGZvciBfX0lSUW4gKi8NCiNkZWZpbmUgQURDMV8yX0lSUW4gICAgICAgICAgICAgQURDMV9JUlFuDQojZGVmaW5lIE9UR19GU19XS1VQX0lSUW4gICAgICAgIENFQ19JUlFuDQojZGVmaW5lIFVTQldha2VVcF9JUlFuICAgICAgICAgIENFQ19JUlFuDQojZGVmaW5lIFRJTThfQlJLX1RJTTEyX0lSUW4gICAgIFRJTTEyX0lSUW4NCiNkZWZpbmUgVElNOF9CUktfSVJRbiAgICAgICAgICAgVElNMTJfSVJRbg0KI2RlZmluZSBUSU04X1VQX0lSUW4gICAgICAgICAgICBUSU0xM19JUlFuDQojZGVmaW5lIFRJTThfVVBfVElNMTNfSVJRbiAgICAgIFRJTTEzX0lSUW4NCiNkZWZpbmUgVElNOF9UUkdfQ09NX0lSUW4gICAgICAgVElNMTRfSVJRbg0KI2RlZmluZSBUSU04X1RSR19DT01fVElNMTRfSVJRbiBUSU0xNF9JUlFuDQojZGVmaW5lIFRJTTlfSVJRbiAgICAgICAgICAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUW4NCiNkZWZpbmUgVElNMV9CUktfSVJRbiAgICAgICAgICAgVElNMV9CUktfVElNMTVfSVJRbg0KI2RlZmluZSBUSU0xX0JSS19USU05X0lSUW4gICAgICBUSU0xX0JSS19USU0xNV9JUlFuDQojZGVmaW5lIFRJTTExX0lSUW4gICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuDQojZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFuICAgICAgIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuDQojZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFuIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuDQojZGVmaW5lIFRJTTFfVVBfSVJRbiAgICAgICAgICAgIFRJTTFfVVBfVElNMTZfSVJRbg0KI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUW4gICAgICBUSU0xX1VQX1RJTTE2X0lSUW4NCiNkZWZpbmUgVElNMTBfSVJRbiAgICAgICAgICAgICAgVElNMV9VUF9USU0xNl9JUlFuDQojZGVmaW5lIFRJTTZfSVJRbiAgICAgICAgICAgICAgIFRJTTZfREFDX0lSUW4NCg0KDQovKiBBbGlhc2VzIGZvciBfX0lSUUhhbmRsZXIgKi8NCiNkZWZpbmUgQURDMV8yX0lSUUhhbmRsZXIgICAgICAgICAgICAgQURDMV9JUlFIYW5kbGVyDQojZGVmaW5lIE9UR19GU19XS1VQX0lSUUhhbmRsZXIgICAgICAgIENFQ19JUlFIYW5kbGVyDQojZGVmaW5lIFVTQldha2VVcF9JUlFIYW5kbGVyICAgICAgICAgIENFQ19JUlFIYW5kbGVyDQojZGVmaW5lIFRJTThfQlJLX1RJTTEyX0lSUUhhbmRsZXIgICAgIFRJTTEyX0lSUUhhbmRsZXINCiNkZWZpbmUgVElNOF9CUktfSVJRSGFuZGxlciAgICAgICAgICAgVElNMTJfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU04X1VQX0lSUUhhbmRsZXIgICAgICAgICAgICBUSU0xM19JUlFIYW5kbGVyDQojZGVmaW5lIFRJTThfVVBfVElNMTNfSVJRSGFuZGxlciAgICAgIFRJTTEzX0lSUUhhbmRsZXINCiNkZWZpbmUgVElNOF9UUkdfQ09NX0lSUUhhbmRsZXIgICAgICAgVElNMTRfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU04X1RSR19DT01fVElNMTRfSVJRSGFuZGxlciBUSU0xNF9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTlfSVJRSGFuZGxlciAgICAgICAgICAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUUhhbmRsZXINCiNkZWZpbmUgVElNMV9CUktfSVJRSGFuZGxlciAgICAgICAgICAgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xX0JSS19USU05X0lSUUhhbmRsZXIgICAgICBUSU0xX0JSS19USU0xNV9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTExX0lSUUhhbmRsZXIgICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9USU0xN19JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyICAgICAgIFRJTTFfVFJHX0NPTV9USU0xN19JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFIYW5kbGVyIFRJTTFfVFJHX0NPTV9USU0xN19JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTFfVVBfSVJRSGFuZGxlciAgICAgICAgICAgIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUUhhbmRsZXIgICAgICBUSU0xX1VQX1RJTTE2X0lSUUhhbmRsZXINCiNkZWZpbmUgVElNMTBfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTZfSVJRSGFuZGxlciAgICAgICAgICAgICAgIFRJTTZfREFDX0lSUUhhbmRsZXINCg0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQoNCiNpZmRlZiBfX2NwbHVzcGx1cw0KICB9DQojZW5kaWYgLyogX19jcGx1c3BsdXMgKi8NCiAgDQojZW5kaWYgLyogX19TVE0zMkYxMDB4RV9IICovDQogIA0KICANCiAgDQogIC8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovDQo=