LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMybDEwMHhiLmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEBicmllZiAgIENNU0lTIENvcnRleC1NMyBEZXZpY2UgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUuIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWlucyBhbGwgdGhlIHBlcmlwaGVyYWwgcmVnaXN0ZXIncyBkZWZpbml0aW9ucywgYml0cyANCiAgKiAgICAgICAgICBkZWZpbml0aW9ucyBhbmQgbWVtb3J5IG1hcHBpbmcgZm9yIFNUTTMyTDF4eCBkZXZpY2VzLiAgICAgICAgICAgIA0KICAqICAgICAgICAgICAgDQogICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOg0KICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzDQogICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbg0KICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQ0KICAqICANCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQGF0dGVudGlvbg0KICAqDQogICogPGgyPjxjZW50ZXI+JmNvcHk7IENPUFlSSUdIVChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljczwvY2VudGVyPjwvaDI+DQogICoNCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLA0KICAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoNCiAgKiAgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwNCiAgKiAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQogICogICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uDQogICogICAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCiAgKiAgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgU1RNaWNyb2VsZWN0cm9uaWNzIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycw0KICAqICAgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlDQogICogICAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQogICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCiAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUg0KICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQogICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KICAqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqLw0KDQovKiogQGFkZHRvZ3JvdXAgQ01TSVMNCiAgKiBAew0KICAqLw0KDQovKiogQGFkZHRvZ3JvdXAgc3RtMzJsMTAweGINCiAgKiBAew0KICAqLw0KICAgIA0KI2lmbmRlZiBfX1NUTTMyTDEwMHhCX0gNCiNkZWZpbmUgX19TVE0zMkwxMDB4Ql9IDQoNCiNpZmRlZiBfX2NwbHVzcGx1cw0KIGV4dGVybiAiQyIgew0KI2VuZGlmIA0KICANCg0KICAvKiogQGFkZHRvZ3JvdXAgQ29uZmlndXJhdGlvbl9zZWN0aW9uX2Zvcl9DTVNJUw0KICAqIEB7DQogICovDQovKioNCiAgKiBAYnJpZWYgQ29uZmlndXJhdGlvbiBvZiB0aGUgQ29ydGV4LU0zIFByb2Nlc3NvciBhbmQgQ29yZSBQZXJpcGhlcmFscyANCiAqLw0KI2RlZmluZSBfX0NNM19SRVYgICAgICAgICAgICAgICAgIDB4MjAwVSAvKiE8IENvcnRleC1NMyBSZXZpc2lvbiByMnAwICAgICAgICAgICAgICAgICAgKi8NCiNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgLyohPCBTVE0zMkwxeHggcHJvdmlkZXMgTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAvKiE8IFNUTTMyTDF4eCB1c2VzIDQgQml0cyBmb3IgdGhlIFByaW9yaXR5IExldmVscyAgICAqLw0KI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgIDBVICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICovDQogDQovKioNCiAgKiBAfQ0KICAqLw0KICAgDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9pbnRlcnJ1cHRfbnVtYmVyX2RlZmluaXRpb24NCiAgKiBAew0KICAqLw0KDQovKioNCiAqIEBicmllZiBTVE0zMkwxeHggSW50ZXJydXB0IE51bWJlciBEZWZpbml0aW9uLCBhY2NvcmRpbmcgdG8gdGhlIHNlbGVjdGVkIGRldmljZSANCiAqICAgICAgICBpbiBAcmVmIExpYnJhcnlfY29uZmlndXJhdGlvbl9zZWN0aW9uIA0KICovDQoNCiAvKiE8IEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiAqLw0KdHlwZWRlZiBlbnVtDQp7DQovKioqKioqICBDb3J0ZXgtTTMgUHJvY2Vzc29yIEV4Y2VwdGlvbnMgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIE5vbk1hc2thYmxlSW50X0lSUW4gICAgICAgICA9IC0xNCwgICAgLyohPCAyIE5vbiBNYXNrYWJsZSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEhhcmRGYXVsdF9JUlFuICAgICAgICAgICAgICA9IC0xMywgICAgLyohPCAzIENvcnRleC1NMyBIYXJkIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICovDQogIE1lbW9yeU1hbmFnZW1lbnRfSVJRbiAgICAgICA9IC0xMiwgICAgLyohPCA0IENvcnRleC1NMyBNZW1vcnkgTWFuYWdlbWVudCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICovDQogIEJ1c0ZhdWx0X0lSUW4gICAgICAgICAgICAgICA9IC0xMSwgICAgLyohPCA1IENvcnRleC1NMyBCdXMgRmF1bHQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVzYWdlRmF1bHRfSVJRbiAgICAgICAgICAgICA9IC0xMCwgICAgLyohPCA2IENvcnRleC1NMyBVc2FnZSBGYXVsdCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNWQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IC01LCAgICAgLyohPCAxMSBDb3J0ZXgtTTMgU1YgQ2FsbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERlYnVnTW9uaXRvcl9JUlFuICAgICAgICAgICA9IC00LCAgICAgLyohPCAxMiBDb3J0ZXgtTTMgRGVidWcgTW9uaXRvciBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICovDQogIFBlbmRTVl9JUlFuICAgICAgICAgICAgICAgICA9IC0yLCAgICAgLyohPCAxNCBDb3J0ZXgtTTMgUGVuZCBTViBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFN5c1RpY2tfSVJRbiAgICAgICAgICAgICAgICA9IC0xLCAgICAgLyohPCAxNSBDb3J0ZXgtTTMgU3lzdGVtIFRpY2sgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQoNCi8qKioqKiogIFNUTTMyTCBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAgV1dER19JUlFuICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAvKiE8IFdpbmRvdyBXYXRjaERvZyBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgUFZEX0lSUW4gICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAvKiE8IFBWRCB0aHJvdWdoIEVYVEkgTGluZSBkZXRlY3Rpb24gSW50ZXJydXB0ICAgICAgICAgICAgICAgKi8NCiAgVEFNUEVSX1NUQU1QX0lSUW4gICAgICAgICAgID0gMiwgICAgICAvKiE8IFRhbXBlciBhbmQgVGltZVN0YW1wIGludGVycnVwdHMgdGhyb3VnaCB0aGUgRVhUSSBsaW5lICAgKi8NCiAgUlRDX1dLVVBfSVJRbiAgICAgICAgICAgICAgID0gMywgICAgICAvKiE8IFJUQyBXYWtldXAgVGltZXIgdGhyb3VnaCBFWFRJIExpbmUgSW50ZXJydXB0ICAgICAgICAgICAgKi8NCiAgRkxBU0hfSVJRbiAgICAgICAgICAgICAgICAgID0gNCwgICAgICAvKiE8IEZMQVNIIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgUkNDX0lSUW4gICAgICAgICAgICAgICAgICAgID0gNSwgICAgICAvKiE8IFJDQyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRVhUSTBfSVJRbiAgICAgICAgICAgICAgICAgID0gNiwgICAgICAvKiE8IEVYVEkgTGluZTAgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRVhUSTFfSVJRbiAgICAgICAgICAgICAgICAgID0gNywgICAgICAvKiE8IEVYVEkgTGluZTEgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRVhUSTJfSVJRbiAgICAgICAgICAgICAgICAgID0gOCwgICAgICAvKiE8IEVYVEkgTGluZTIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRVhUSTNfSVJRbiAgICAgICAgICAgICAgICAgID0gOSwgICAgICAvKiE8IEVYVEkgTGluZTMgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRVhUSTRfSVJRbiAgICAgICAgICAgICAgICAgID0gMTAsICAgICAvKiE8IEVYVEkgTGluZTQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRE1BMV9DaGFubmVsMV9JUlFuICAgICAgICAgID0gMTEsICAgICAvKiE8IERNQTEgQ2hhbm5lbCAxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRE1BMV9DaGFubmVsMl9JUlFuICAgICAgICAgID0gMTIsICAgICAvKiE8IERNQTEgQ2hhbm5lbCAyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRE1BMV9DaGFubmVsM19JUlFuICAgICAgICAgID0gMTMsICAgICAvKiE8IERNQTEgQ2hhbm5lbCAzIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRE1BMV9DaGFubmVsNF9JUlFuICAgICAgICAgID0gMTQsICAgICAvKiE8IERNQTEgQ2hhbm5lbCA0IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRE1BMV9DaGFubmVsNV9JUlFuICAgICAgICAgID0gMTUsICAgICAvKiE8IERNQTEgQ2hhbm5lbCA1IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRE1BMV9DaGFubmVsNl9JUlFuICAgICAgICAgID0gMTYsICAgICAvKiE8IERNQTEgQ2hhbm5lbCA2IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRE1BMV9DaGFubmVsN19JUlFuICAgICAgICAgID0gMTcsICAgICAvKiE8IERNQTEgQ2hhbm5lbCA3IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgQURDMV9JUlFuICAgICAgICAgICAgICAgICAgID0gMTgsICAgICAvKiE8IEFEQzEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVVNCX0hQX0lSUW4gICAgICAgICAgICAgICAgID0gMTksICAgICAvKiE8IFVTQiBIaWdoIFByaW9yaXR5IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVVNCX0xQX0lSUW4gICAgICAgICAgICAgICAgID0gMjAsICAgICAvKiE8IFVTQiBMb3cgUHJpb3JpdHkgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgREFDX0lSUW4gICAgICAgICAgICAgICAgICAgID0gMjEsICAgICAvKiE8IERBQyBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgQ09NUF9JUlFuICAgICAgICAgICAgICAgICAgID0gMjIsICAgICAvKiE8IENvbXBhcmF0b3IgdGhyb3VnaCBFWFRJIExpbmUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgKi8NCiAgRVhUSTlfNV9JUlFuICAgICAgICAgICAgICAgID0gMjMsICAgICAvKiE8IEV4dGVybmFsIExpbmVbOTo1XSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgTENEX0lSUW4gICAgICAgICAgICAgICAgICAgID0gMjQsICAgICAvKiE8IExDRCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNOV9JUlFuICAgICAgICAgICAgICAgICAgID0gMjUsICAgICAvKiE8IFRJTTkgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNMTBfSVJRbiAgICAgICAgICAgICAgICAgID0gMjYsICAgICAvKiE8IFRJTTEwIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNMTFfSVJRbiAgICAgICAgICAgICAgICAgID0gMjcsICAgICAvKiE8IFRJTTExIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNMl9JUlFuICAgICAgICAgICAgICAgICAgID0gMjgsICAgICAvKiE8IFRJTTIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNM19JUlFuICAgICAgICAgICAgICAgICAgID0gMjksICAgICAvKiE8IFRJTTMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNNF9JUlFuICAgICAgICAgICAgICAgICAgID0gMzAsICAgICAvKiE8IFRJTTQgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgSTJDMV9FVl9JUlFuICAgICAgICAgICAgICAgID0gMzEsICAgICAvKiE8IEkyQzEgRXZlbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgSTJDMV9FUl9JUlFuICAgICAgICAgICAgICAgID0gMzIsICAgICAvKiE8IEkyQzEgRXJyb3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgSTJDMl9FVl9JUlFuICAgICAgICAgICAgICAgID0gMzMsICAgICAvKiE8IEkyQzIgRXZlbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgSTJDMl9FUl9JUlFuICAgICAgICAgICAgICAgID0gMzQsICAgICAvKiE8IEkyQzIgRXJyb3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgU1BJMV9JUlFuICAgICAgICAgICAgICAgICAgID0gMzUsICAgICAvKiE8IFNQSTEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgU1BJMl9JUlFuICAgICAgICAgICAgICAgICAgID0gMzYsICAgICAvKiE8IFNQSTIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVVNBUlQxX0lSUW4gICAgICAgICAgICAgICAgID0gMzcsICAgICAvKiE8IFVTQVJUMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVVNBUlQyX0lSUW4gICAgICAgICAgICAgICAgID0gMzgsICAgICAvKiE8IFVTQVJUMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVVNBUlQzX0lSUW4gICAgICAgICAgICAgICAgID0gMzksICAgICAvKiE8IFVTQVJUMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRVhUSTE1XzEwX0lSUW4gICAgICAgICAgICAgID0gNDAsICAgICAvKiE8IEV4dGVybmFsIExpbmVbMTU6MTBdIEludGVycnVwdHMgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgUlRDX0FsYXJtX0lSUW4gICAgICAgICAgICAgID0gNDEsICAgICAvKiE8IFJUQyBBbGFybSB0aHJvdWdoIEVYVEkgTGluZSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgKi8NCiAgVVNCX0ZTX1dLVVBfSVJRbiAgICAgICAgICAgID0gNDIsICAgICAvKiE8IFVTQiBGUyBXYWtlVXAgZnJvbSBzdXNwZW5kIHRocm91Z2ggRVhUSSBMaW5lIEludGVycnVwdCAgKi8NCiAgVElNNl9JUlFuICAgICAgICAgICAgICAgICAgID0gNDMsICAgICAvKiE8IFRJTTYgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNN19JUlFuICAgICAgICAgICAgICAgICAgID0gNDQsICAgICAvKiE8IFRJTTcgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCn0gSVJRbl9UeXBlOw0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQojaW5jbHVkZSAiY29yZV9jbTMuaCINCiNpbmNsdWRlICJzeXN0ZW1fc3RtMzJsMXh4LmgiDQojaW5jbHVkZSA8c3RkaW50Lmg+DQoNCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX3JlZ2lzdGVyc19zdHJ1Y3R1cmVzDQogICogQHsNCiAgKi8gICANCg0KLyoqIA0KICAqIEBicmllZiBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAgIC8qITwgQURDIHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBDUjE7ICAgICAgICAgIC8qITwgQURDIGNvbnRyb2wgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBDUjI7ICAgICAgICAgIC8qITwgQURDIGNvbnRyb2wgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBTTVBSMTsgICAgICAgIC8qITwgQURDIHNhbXBsZSB0aW1lIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8NCiAgX19JTyB1aW50MzJfdCBTTVBSMjsgICAgICAgIC8qITwgQURDIHNhbXBsZSB0aW1lIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgKi8NCiAgX19JTyB1aW50MzJfdCBTTVBSMzsgICAgICAgIC8qITwgQURDIHNhbXBsZSB0aW1lIHJlZ2lzdGVyIDMsICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MzJfdCBKT0ZSMTsgICAgICAgIC8qITwgQURDIGluamVjdGVkIGNoYW5uZWwgZGF0YSBvZmZzZXQgcmVnaXN0ZXIgMSwgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8NCiAgX19JTyB1aW50MzJfdCBKT0ZSMjsgICAgICAgIC8qITwgQURDIGluamVjdGVkIGNoYW5uZWwgZGF0YSBvZmZzZXQgcmVnaXN0ZXIgMiwgQWRkcmVzcyBvZmZzZXQ6IDB4MUMgKi8NCiAgX19JTyB1aW50MzJfdCBKT0ZSMzsgICAgICAgIC8qITwgQURDIGluamVjdGVkIGNoYW5uZWwgZGF0YSBvZmZzZXQgcmVnaXN0ZXIgMywgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8NCiAgX19JTyB1aW50MzJfdCBKT0ZSNDsgICAgICAgIC8qITwgQURDIGluamVjdGVkIGNoYW5uZWwgZGF0YSBvZmZzZXQgcmVnaXN0ZXIgNCwgQWRkcmVzcyBvZmZzZXQ6IDB4MjQgKi8NCiAgX19JTyB1aW50MzJfdCBIVFI7ICAgICAgICAgIC8qITwgQURDIHdhdGNoZG9nIGhpZ2hlciB0aHJlc2hvbGQgcmVnaXN0ZXIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjggKi8NCiAgX19JTyB1aW50MzJfdCBMVFI7ICAgICAgICAgIC8qITwgQURDIHdhdGNoZG9nIGxvd2VyIHRocmVzaG9sZCByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MkMgKi8NCiAgX19JTyB1aW50MzJfdCBTUVIxOyAgICAgICAgIC8qITwgQURDIHJlZ3VsYXIgc2VxdWVuY2UgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzAgKi8NCiAgX19JTyB1aW50MzJfdCBTUVIyOyAgICAgICAgIC8qITwgQURDIHJlZ3VsYXIgc2VxdWVuY2UgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzQgKi8NCiAgX19JTyB1aW50MzJfdCBTUVIzOyAgICAgICAgIC8qITwgQURDIHJlZ3VsYXIgc2VxdWVuY2UgcmVnaXN0ZXIgMywgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzggKi8NCiAgX19JTyB1aW50MzJfdCBTUVI0OyAgICAgICAgIC8qITwgQURDIHJlZ3VsYXIgc2VxdWVuY2UgcmVnaXN0ZXIgNCwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4M0MgKi8NCiAgX19JTyB1aW50MzJfdCBTUVI1OyAgICAgICAgIC8qITwgQURDIHJlZ3VsYXIgc2VxdWVuY2UgcmVnaXN0ZXIgNSwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDAgKi8NCiAgX19JTyB1aW50MzJfdCBKU1FSOyAgICAgICAgIC8qITwgQURDIGluamVjdGVkIHNlcXVlbmNlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDQgKi8NCiAgX19JTyB1aW50MzJfdCBKRFIxOyAgICAgICAgIC8qITwgQURDIGluamVjdGVkIGRhdGEgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDggKi8NCiAgX19JTyB1aW50MzJfdCBKRFIyOyAgICAgICAgIC8qITwgQURDIGluamVjdGVkIGRhdGEgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NEMgKi8NCiAgX19JTyB1aW50MzJfdCBKRFIzOyAgICAgICAgIC8qITwgQURDIGluamVjdGVkIGRhdGEgcmVnaXN0ZXIgMywgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NTAgKi8NCiAgX19JTyB1aW50MzJfdCBKRFI0OyAgICAgICAgIC8qITwgQURDIGluamVjdGVkIGRhdGEgcmVnaXN0ZXIgNCwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NTQgKi8NCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgIC8qITwgQURDIHJlZ3VsYXIgZGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NTggKi8NCiAgdWludDMyX3QgUkVTRVJWRUQ7ICAgICAgICAgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NUMgKi8NCn0gQURDX1R5cGVEZWY7DQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1NSOyAgICAgICAgICAvKiE8IEFEQyBjb21tb24gc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4MzAwICovDQogIF9fSU8gdWludDMyX3QgQ0NSOyAgICAgICAgICAvKiE8IEFEQyBjb21tb24gY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4MzA0ICovDQp9IEFEQ19Db21tb25fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBDb21wYXJhdG9yIA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENTUjsgICAgICAgICAvKiE8IENPTVAgY29udHJvbCBhbmQgc3RhdHVzIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KfSBDT01QX1R5cGVEZWY7DQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1NSOyAgICAgICAgIC8qITwgQ09NUCBjb250cm9sIGFuZCBzdGF0dXMgcmVnaXN0ZXIsIHVzZWQgZm9yIGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQ09NUCBpbnN0YW5jZXMsIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQp9IENPTVBfQ29tbW9uX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgQ1JDIGNhbGN1bGF0aW9uIHVuaXQNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgIC8qITwgQ1JDIERhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50OF90ICBJRFI7ICAgICAgICAgIC8qITwgQ1JDIEluZGVwZW5kZW50IGRhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgdWludDhfdCAgICAgICBSRVNFUlZFRDA7ICAgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDUgKi8NCiAgdWludDE2X3QgICAgICBSRVNFUlZFRDE7ICAgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDYgKi8gDQogIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAgICAvKiE8IENSQyBDb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovIA0KfSBDUkNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBEaWdpdGFsIHRvIEFuYWxvZyBDb252ZXJ0ZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAgIC8qITwgREFDIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgU1dUUklHUjsgICAgICAvKiE8IERBQyBzb2Z0d2FyZSB0cmlnZ2VyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IERIUjEyUjE7ICAgICAgLyohPCBEQUMgY2hhbm5lbDEgMTItYml0IHJpZ2h0LWFsaWduZWQgZGF0YSBob2xkaW5nIHJlZ2lzdGVyLCAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBESFIxMkwxOyAgICAgIC8qITwgREFDIGNoYW5uZWwxIDEyLWJpdCBsZWZ0IGFsaWduZWQgZGF0YSBob2xkaW5nIHJlZ2lzdGVyLCAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgREhSOFIxOyAgICAgICAvKiE8IERBQyBjaGFubmVsMSA4LWJpdCByaWdodCBhbGlnbmVkIGRhdGEgaG9sZGluZyByZWdpc3RlciwgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IERIUjEyUjI7ICAgICAgLyohPCBEQUMgY2hhbm5lbDIgMTItYml0IHJpZ2h0IGFsaWduZWQgZGF0YSBob2xkaW5nIHJlZ2lzdGVyLCAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MzJfdCBESFIxMkwyOyAgICAgIC8qITwgREFDIGNoYW5uZWwyIDEyLWJpdCBsZWZ0IGFsaWduZWQgZGF0YSBob2xkaW5nIHJlZ2lzdGVyLCAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgREhSOFIyOyAgICAgICAvKiE8IERBQyBjaGFubmVsMiA4LWJpdCByaWdodC1hbGlnbmVkIGRhdGEgaG9sZGluZyByZWdpc3RlciwgICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLw0KICBfX0lPIHVpbnQzMl90IERIUjEyUkQ7ICAgICAgLyohPCBEdWFsIERBQyAxMi1iaXQgcmlnaHQtYWxpZ25lZCBkYXRhIGhvbGRpbmcgcmVnaXN0ZXIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8NCiAgX19JTyB1aW50MzJfdCBESFIxMkxEOyAgICAgIC8qITwgRFVBTCBEQUMgMTItYml0IGxlZnQgYWxpZ25lZCBkYXRhIGhvbGRpbmcgcmVnaXN0ZXIsICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIF9fSU8gdWludDMyX3QgREhSOFJEOyAgICAgICAvKiE8IERVQUwgREFDIDgtYml0IHJpZ2h0IGFsaWduZWQgZGF0YSBob2xkaW5nIHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLw0KICBfX0lPIHVpbnQzMl90IERPUjE7ICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgZGF0YSBvdXRwdXQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MkMgKi8NCiAgX19JTyB1aW50MzJfdCBET1IyOyAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIGRhdGEgb3V0cHV0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IERBQyBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLw0KfSBEQUNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBEZWJ1ZyBNQ1UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJRENPREU7ICAgICAgIC8qITwgTUNVIGRldmljZSBJRCBjb2RlLCAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAgIC8qITwgRGVidWcgTUNVIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBBUEIxRlo7ICAgICAgIC8qITwgRGVidWcgTUNVIEFQQjEgZnJlZXplIHJlZ2lzdGVyLCAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBBUEIyRlo7ICAgICAgIC8qITwgRGVidWcgTUNVIEFQQjIgZnJlZXplIHJlZ2lzdGVyLCAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8NCn1EQkdNQ1VfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBETUEgQ29udHJvbGxlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENDUjsgICAgICAgICAgLyohPCBETUEgY2hhbm5lbCB4IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgQ05EVFI7ICAgICAgICAvKiE8IERNQSBjaGFubmVsIHggbnVtYmVyIG9mIGRhdGEgcmVnaXN0ZXIgICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBDUEFSOyAgICAgICAgIC8qITwgRE1BIGNoYW5uZWwgeCBwZXJpcGhlcmFsIGFkZHJlc3MgcmVnaXN0ZXIgICAqLw0KICBfX0lPIHVpbnQzMl90IENNQVI7ICAgICAgICAgLyohPCBETUEgY2hhbm5lbCB4IG1lbW9yeSBhZGRyZXNzIHJlZ2lzdGVyICAgICAgICovDQp9IERNQV9DaGFubmVsX1R5cGVEZWY7DQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgSVNSOyAgICAgICAgICAvKiE8IERNQSBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgSUZDUjsgICAgICAgICAvKiE8IERNQSBpbnRlcnJ1cHQgZmxhZyBjbGVhciByZWdpc3RlciwgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQp9IERNQV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEV4dGVybmFsIEludGVycnVwdC9FdmVudCBDb250cm9sbGVyDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgSU1SOyAgICAgICAgICAvKiE8RVhUSSBJbnRlcnJ1cHQgbWFzayByZWdpc3RlciwgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgRU1SOyAgICAgICAgICAvKiE8RVhUSSBFdmVudCBtYXNrIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgUlRTUjsgICAgICAgICAvKiE8RVhUSSBSaXNpbmcgdHJpZ2dlciBzZWxlY3Rpb24gcmVnaXN0ZXIgLCAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgRlRTUjsgICAgICAgICAvKiE8RVhUSSBGYWxsaW5nIHRyaWdnZXIgc2VsZWN0aW9uIHJlZ2lzdGVyLCAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgU1dJRVI7ICAgICAgICAvKiE8RVhUSSBTb2Z0d2FyZSBpbnRlcnJ1cHQgZXZlbnQgcmVnaXN0ZXIsICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgUFI7ICAgICAgICAgICAvKiE8RVhUSSBQZW5kaW5nIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQp9IEVYVElfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBGTEFTSCBSZWdpc3RlcnMNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQUNSOyAgICAgICAgICAvKiE8IEFjY2VzcyBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgUEVDUjsgICAgICAgICAvKiE8IFByb2dyYW0vZXJhc2UgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgUERLRVlSOyAgICAgICAvKiE8IFBvd2VyIGRvd24ga2V5IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgUEVLRVlSOyAgICAgICAvKiE8IFByb2dyYW0vZXJhc2Uga2V5IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBjICovDQogIF9fSU8gdWludDMyX3QgUFJHS0VZUjsgICAgICAvKiE8IFByb2dyYW0gbWVtb3J5IGtleSByZWdpc3RlciwgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgT1BUS0VZUjsgICAgICAvKiE8IE9wdGlvbiBieXRlIGtleSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IFN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgT0JSOyAgICAgICAgICAvKiE8IE9wdGlvbiBieXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFjICovDQogIF9fSU8gdWludDMyX3QgV1JQUjE7ICAgICAgICAvKiE8IFdyaXRlIHByb3RlY3Rpb24gcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovDQp9IEZMQVNIX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgT3B0aW9uIEJ5dGVzIFJlZ2lzdGVycw0KICAqLw0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBSRFA7ICAgICAgICAgICAgICAvKiE8IFJlYWQgcHJvdGVjdGlvbiByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IFVTRVI7ICAgICAgICAgICAgIC8qITwgdXNlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgV1JQMDE7ICAgICAgICAgICAgLyohPCB3cml0ZSBwcm90ZWN0aW9uIHJlZ2lzdGVyIDAgMSwgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBXUlAyMzsgICAgICAgICAgICAvKiE8IHdyaXRlIHByb3RlY3Rpb24gcmVnaXN0ZXIgMiAzLCAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KfSBPQl9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEdlbmVyYWwgUHVycG9zZSBJTw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IE1PREVSOyAgICAgICAgLyohPCBHUElPIHBvcnQgbW9kZSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAgICAgICovDQogIF9fSU8gdWludDMyX3QgT1RZUEVSOyAgICAgICAvKiE8IEdQSU8gcG9ydCBvdXRwdXQgdHlwZSByZWdpc3RlciwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBPU1BFRURSOyAgICAgIC8qITwgR1BJTyBwb3J0IG91dHB1dCBzcGVlZCByZWdpc3RlciwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggICAgICAqLw0KICBfX0lPIHVpbnQzMl90IFBVUERSOyAgICAgICAgLyohPCBHUElPIHBvcnQgcHVsbC11cC9wdWxsLWRvd24gcmVnaXN0ZXIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAgICAgICovDQogIF9fSU8gdWludDMyX3QgSURSOyAgICAgICAgICAvKiE8IEdQSU8gcG9ydCBpbnB1dCBkYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBPRFI7ICAgICAgICAgIC8qITwgR1BJTyBwb3J0IG91dHB1dCBkYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgICAgICAqLw0KICBfX0lPIHVpbnQzMl90IEJTUlI7ICAgICAgICAgLyohPCBHUElPIHBvcnQgYml0IHNldC9yZXNldCByZWdpc3RlckJTUlIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAgICAgICovDQogIF9fSU8gdWludDMyX3QgTENLUjsgICAgICAgICAvKiE8IEdQSU8gcG9ydCBjb25maWd1cmF0aW9uIGxvY2sgcmVnaXN0ZXIsICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBBRlJbMl07ICAgICAgIC8qITwgR1BJTyBhbHRlcm5hdGUgZnVuY3Rpb24gcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAtMHgyNCAqLw0KfSBHUElPX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgU3lzVGVtIENvbmZpZ3VyYXRpb24NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBNRU1STVA7ICAgICAgIC8qITwgU1lTQ0ZHIG1lbW9yeSByZW1hcCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgICAgICAqLw0KICBfX0lPIHVpbnQzMl90IFBNQzsgICAgICAgICAgLyohPCBTWVNDRkcgcGVyaXBoZXJhbCBtb2RlIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAgICAgICovDQogIF9fSU8gdWludDMyX3QgRVhUSUNSWzRdOyAgICAvKiE8IFNZU0NGRyBleHRlcm5hbCBpbnRlcnJ1cHQgY29uZmlndXJhdGlvbiByZWdpc3RlcnMsIEFkZHJlc3Mgb2Zmc2V0OiAweDA4LTB4MTQgKi8NCn0gU1lTQ0ZHX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgSW50ZXItaW50ZWdyYXRlZCBDaXJjdWl0IEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgICAgLyohPCBJMkMgQ29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgICAgLyohPCBJMkMgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IE9BUjE7ICAgICAgICAgLyohPCBJMkMgT3duIGFkZHJlc3MgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IE9BUjI7ICAgICAgICAgLyohPCBJMkMgT3duIGFkZHJlc3MgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgICAgLyohPCBJMkMgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IFNSMTsgICAgICAgICAgLyohPCBJMkMgU3RhdHVzIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IFNSMjsgICAgICAgICAgLyohPCBJMkMgU3RhdHVzIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KICBfX0lPIHVpbnQzMl90IENDUjsgICAgICAgICAgLyohPCBJMkMgQ2xvY2sgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLw0KICBfX0lPIHVpbnQzMl90IFRSSVNFOyAgICAgICAgLyohPCBJMkMgVFJJU0UgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLw0KfSBJMkNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBJbmRlcGVuZGVudCBXQVRDSERPRw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEtSOyAgICAgICAgICAgLyohPCBLZXkgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IFBSOyAgICAgICAgICAgLyohPCBQcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFJMUjsgICAgICAgICAgLyohPCBSZWxvYWQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgICAgLyohPCBTdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KfSBJV0RHX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgTENEDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAvKiE8IExDRCBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgRkNSOyAgICAgICAvKiE8IExDRCBmcmFtZSBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAvKiE8IExDRCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgQ0xSOyAgICAgICAvKiE8IExDRCBjbGVhciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIHVpbnQzMl90IFJFU0VSVkVEOyAgICAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgUkFNWzE2XTsgICAvKiE8IExDRCBkaXNwbGF5IG1lbW9yeSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0LTB4NTAgKi8NCn0gTENEX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgUG93ZXIgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOyAgIC8qITwgUFdSIHBvd2VyIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENTUjsgIC8qITwgUFdSIHBvd2VyIGNvbnRyb2wvc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KfSBQV1JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOyAgICAgICAgICAgIC8qITwgUkNDIGNsb2NrIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IElDU0NSOyAgICAgICAgIC8qITwgUkNDIEludGVybmFsIGNsb2NrIHNvdXJjZXMgY2FsaWJyYXRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IENGR1I7ICAgICAgICAgIC8qITwgUkNDIENsb2NrIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IENJUjsgICAgICAgICAgIC8qITwgUkNDIENsb2NrIGludGVycnVwdCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IEFIQlJTVFI7ICAgICAgIC8qITwgUkNDIEFIQiBwZXJpcGhlcmFsIHJlc2V0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IEFQQjJSU1RSOyAgICAgIC8qITwgUkNDIEFQQjIgcGVyaXBoZXJhbCByZXNldCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IEFQQjFSU1RSOyAgICAgIC8qITwgUkNDIEFQQjEgcGVyaXBoZXJhbCByZXNldCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KICBfX0lPIHVpbnQzMl90IEFIQkVOUjsgICAgICAgIC8qITwgUkNDIEFIQiBwZXJpcGhlcmFsIGNsb2NrIGVuYWJsZSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLw0KICBfX0lPIHVpbnQzMl90IEFQQjJFTlI7ICAgICAgIC8qITwgUkNDIEFQQjIgcGVyaXBoZXJhbCBjbG9jayBlbmFibGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLw0KICBfX0lPIHVpbnQzMl90IEFQQjFFTlI7ICAgICAgIC8qITwgUkNDIEFQQjEgcGVyaXBoZXJhbCBjbG9jayBlbmFibGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAqLw0KICBfX0lPIHVpbnQzMl90IEFIQkxQRU5SOyAgICAgIC8qITwgUkNDIEFIQiBwZXJpcGhlcmFsIGNsb2NrIGVuYWJsZSBpbiBsb3cgcG93ZXIgbW9kZSByZWdpc3RlciwgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLw0KICBfX0lPIHVpbnQzMl90IEFQQjJMUEVOUjsgICAgIC8qITwgUkNDIEFQQjIgcGVyaXBoZXJhbCBjbG9jayBlbmFibGUgaW4gbG93IHBvd2VyIG1vZGUgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgyQyAqLw0KICBfX0lPIHVpbnQzMl90IEFQQjFMUEVOUjsgICAgIC8qITwgUkNDIEFQQjEgcGVyaXBoZXJhbCBjbG9jayBlbmFibGUgaW4gbG93IHBvd2VyIG1vZGUgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgzMCAqLw0KICBfX0lPIHVpbnQzMl90IENTUjsgICAgICAgICAgIC8qITwgUkNDIENvbnRyb2wvc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLw0KfSBSQ0NfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSb3V0aW5nIEludGVyZmFjZSANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJQ1I7ICAgICAgICAvKiE8IFJJIGlucHV0IGNhcHR1cmUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBBU0NSMTsgICAgICAvKiE8IFJJIGFuYWxvZyBzd2l0Y2hlcyBjb250cm9sIHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IEFTQ1IyOyAgICAgIC8qITwgUkkgYW5hbG9nIHN3aXRjaCBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IEhZU0NSMTsgICAgIC8qITwgUkkgaHlzdGVyZXNpcyBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IEhZU0NSMjsgICAgIC8qITwgUkkgSHlzdGVyZXNpcyBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQp9IFJJX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgUmVhbC1UaW1lIENsb2NrDQogICovDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFRSOyAgICAgICAgIC8qITwgUlRDIHRpbWUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgUlRDIGRhdGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IENSOyAgICAgICAgIC8qITwgUlRDIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIF9fSU8gdWludDMyX3QgSVNSOyAgICAgICAgLyohPCBSVEMgaW5pdGlhbGl6YXRpb24gYW5kIHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgUFJFUjsgICAgICAgLyohPCBSVEMgcHJlc2NhbGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgV1VUUjsgICAgICAgLyohPCBSVEMgd2FrZXVwIHRpbWVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogIF9fSU8gdWludDMyX3QgQ0FMSUJSOyAgICAgLyohPCBSVEMgY2FsaWJyYXRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgQUxSTUFSOyAgICAgLyohPCBSVEMgYWxhcm0gQSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgQUxSTUJSOyAgICAgLyohPCBSVEMgYWxhcm0gQiByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovDQogIF9fSU8gdWludDMyX3QgV1BSOyAgICAgICAgLyohPCBSVEMgd3JpdGUgcHJvdGVjdGlvbiByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIHVpbnQzMl90IFJFU0VSVkVEMTsgICAgICAgLyohPCBSZXNlcnZlZCwgMHgyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIHVpbnQzMl90IFJFU0VSVkVEMjsgICAgICAgLyohPCBSZXNlcnZlZCwgMHgyQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgVFNUUjsgICAgICAgLyohPCBSVEMgdGltZSBzdGFtcCB0aW1lIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovDQogIF9fSU8gdWludDMyX3QgVFNEUjsgICAgICAgLyohPCBSVEMgdGltZSBzdGFtcCBkYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM0ICovDQogIHVpbnQzMl90IFJFU0VSVkVEMzsgICAgICAgLyohPCBSZXNlcnZlZCwgMHgzOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIHVpbnQzMl90IFJFU0VSVkVENDsgICAgICAgLyohPCBSZXNlcnZlZCwgMHgzQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgVEFGQ1I7ICAgICAgLyohPCBSVEMgdGFtcGVyIGFuZCBhbHRlcm5hdGUgZnVuY3Rpb24gY29uZmlndXJhdGlvbiByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDQwICovDQogIHVpbnQzMl90IFJFU0VSVkVENTsgICAgICAgLyohPCBSZXNlcnZlZCwgMHg0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIHVpbnQzMl90IFJFU0VSVkVENjsgICAgICAgLyohPCBSZXNlcnZlZCwgMHg0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIHVpbnQzMl90IFJFU0VSVkVENzsgICAgICAgLyohPCBSZXNlcnZlZCwgMHg0QyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgQktQMFI7ICAgICAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDUwICovDQogIF9fSU8gdWludDMyX3QgQktQMVI7ICAgICAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDU0ICovDQogIF9fSU8gdWludDMyX3QgQktQMlI7ICAgICAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDU4ICovDQogIF9fSU8gdWludDMyX3QgQktQM1I7ICAgICAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDVDICovDQogIF9fSU8gdWludDMyX3QgQktQNFI7ICAgICAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDYwICovDQp9IFJUQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgIC8qITwgU1BJIENvbnRyb2wgcmVnaXN0ZXIgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgLyohPCBTUEkgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAvKiE8IFNQSSBTdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgU1BJIGRhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgQ1JDUFI7ICAgICAgLyohPCBTUEkgQ1JDIHBvbHlub21pYWwgcmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgKi8NCiAgX19JTyB1aW50MzJfdCBSWENSQ1I7ICAgICAvKiE8IFNQSSBSeCBDUkMgcmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IFRYQ1JDUjsgICAgIC8qITwgU1BJIFR4IENSQyByZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQp9IFNQSV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFRJTQ0KICAqLw0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjE7ICAgICAgICAgIC8qITwgVElNIGNvbnRyb2wgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFNNQ1I7ICAgICAgICAgLyohPCBUSU0gc2xhdmUgTW9kZSBDb250cm9sIHJlZ2lzdGVyLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBESUVSOyAgICAgICAgIC8qITwgVElNIERNQS9pbnRlcnJ1cHQgZW5hYmxlIHJlZ2lzdGVyLCAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IFRJTSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IEVHUjsgICAgICAgICAgLyohPCBUSU0gZXZlbnQgZ2VuZXJhdGlvbiByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MzJfdCBDQ01SMTsgICAgICAgIC8qITwgVElNIGNhcHR1cmUvY29tcGFyZSBtb2RlIHJlZ2lzdGVyIDEsIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjI7ICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgbW9kZSByZWdpc3RlciAyLCBBZGRyZXNzIG9mZnNldDogMHgxQyAqLw0KICBfX0lPIHVpbnQzMl90IENDRVI7ICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIGVuYWJsZSByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8NCiAgX19JTyB1aW50MzJfdCBDTlQ7ICAgICAgICAgIC8qITwgVElNIGNvdW50ZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIF9fSU8gdWludDMyX3QgUFNDOyAgICAgICAgICAvKiE8IFRJTSBwcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLw0KICBfX0lPIHVpbnQzMl90IEFSUjsgICAgICAgICAgLyohPCBUSU0gYXV0by1yZWxvYWQgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MkMgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDEyOyAgIC8qITwgUmVzZXJ2ZWQsIDB4MzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovICAgIA0KICBfX0lPIHVpbnQzMl90IENDUjE7ICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDEsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzQgKi8gICAgDQogIF9fSU8gdWludDMyX3QgQ0NSMjsgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMiwgICAgICBBZGRyZXNzIG9mZnNldDogMHgzOCAqLyAgICANCiAgX19JTyB1aW50MzJfdCBDQ1IzOyAgICAgICAgIC8qITwgVElNIGNhcHR1cmUvY29tcGFyZSByZWdpc3RlciAzLCAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovDQogIF9fSU8gdWludDMyX3QgQ0NSNDsgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgNCwgICAgICBBZGRyZXNzIG9mZnNldDogMHg0MCAqLw0KICB1aW50MzJfdCAgICAgIFJFU0VSVkVEMTc7ICAgLyohPCBSZXNlcnZlZCwgMHg0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8gDQogIF9fSU8gdWludDMyX3QgRENSOyAgICAgICAgICAvKiE8IFRJTSBETUEgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0OCAqLw0KICBfX0lPIHVpbnQzMl90IERNQVI7ICAgICAgICAgLyohPCBUSU0gRE1BIGFkZHJlc3MgZm9yIGZ1bGwgdHJhbnNmZXIsICAgQWRkcmVzcyBvZmZzZXQ6IDB4NEMgKi8NCiAgX19JTyB1aW50MzJfdCBPUjsgICAgICAgICAgIC8qITwgVElNIG9wdGlvbiByZWdpc3RlciwgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDUwICovDQp9IFRJTV9UeXBlRGVmOw0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyDQogICovDQogDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgIC8qITwgVVNBUlQgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgVVNBUlQgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IEJSUjsgICAgICAgIC8qITwgVVNBUlQgQmF1ZCByYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMzsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IEdUUFI7ICAgICAgIC8qITwgVVNBUlQgR3VhcmQgdGltZSBhbmQgcHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KfSBVU0FSVF9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFVuaXZlcnNhbCBTZXJpYWwgQnVzIEZ1bGwgU3BlZWQgRGV2aWNlDQogICovDQogIA0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MTZfdCBFUDBSOyAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDAgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovIA0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEMDsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgDQogIF9fSU8gdWludDE2X3QgRVAxUjsgICAgICAgICAgICAvKiE8IFVTQiBFbmRwb2ludCAxIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEMTsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBFUDJSOyAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQyOyAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IEVQM1I7ICAgICAgICAgICAgLyohPCBVU0IgRW5kcG9pbnQgMyByZWdpc3RlciwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8gDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQzOyAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IEVQNFI7ICAgICAgICAgICAgLyohPCBVU0IgRW5kcG9pbnQgNCByZWdpc3RlciwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDQ7ICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgRVA1UjsgICAgICAgICAgICAvKiE8IFVTQiBFbmRwb2ludCA1IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVENTsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBFUDZSOyAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDYgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQ2OyAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IEVQN1I7ICAgICAgICAgICAgLyohPCBVU0IgRW5kcG9pbnQgNyByZWdpc3RlciwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MUMgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDdbMTddOyAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgIA0KICBfX0lPIHVpbnQxNl90IENOVFI7ICAgICAgICAgICAgLyohPCBDb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDAgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDg7ICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgSVNUUjsgICAgICAgICAgICAvKiE8IEludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0NCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEOTsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBGTlI7ICAgICAgICAgICAgIC8qITwgRnJhbWUgbnVtYmVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRURBOyAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IERBRERSOyAgICAgICAgICAgLyohPCBEZXZpY2UgYWRkcmVzcyByZWdpc3RlciwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NEMgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFREI7ICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgQlRBQkxFOyAgICAgICAgICAvKiE8IEJ1ZmZlciBUYWJsZSBhZGRyZXNzIHJlZ2lzdGVyLCAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg1MCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEQzsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCn0gVVNCX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgV2luZG93IFdBVENIRE9HDQogICovDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOyAgIC8qITwgV1dERyBDb250cm9sIHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENGUjsgIC8qITwgV1dERyBDb25maWd1cmF0aW9uIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFNSOyAgIC8qITwgV1dERyBTdGF0dXMgcmVnaXN0ZXIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KfSBXV0RHX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgVW5pdmVyc2FsIFNlcmlhbCBCdXMgRnVsbCBTcGVlZCBEZXZpY2UNCiAgKi8NCi8qKiANCiAgKiBAfQ0KICAqLw0KICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX21lbW9yeV9tYXANCiAgKiBAew0KICAqLw0KDQojZGVmaW5lIEZMQVNIX0JBU0UgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDBVKSAgICAgICAgICAgICAgLyohPCBGTEFTSCBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLw0KI2RlZmluZSBGTEFTSF9FRVBST01fQkFTRSAgICAgKCh1aW50MzJfdCkoRkxBU0hfQkFTRSArIDB4ODAwMDBVKSkgIC8qITwgRkxBU0ggRUVQUk9NIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQojZGVmaW5lIFNSQU1fQkFTRSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDBVKSAgICAgICAgICAgICAgLyohPCBTUkFNIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQojZGVmaW5lIFBFUklQSF9CQVNFICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQojZGVmaW5lIFNSQU1fQkJfQkFTRSAgICAgICAgICAoKHVpbnQzMl90KTB4MjIwMDAwMDBVKSAgICAgICAgICAgICAgLyohPCBTUkFNIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovDQojZGVmaW5lIFBFUklQSF9CQl9CQVNFICAgICAgICAoKHVpbnQzMl90KTB4NDIwMDAwMDBVKSAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovDQojZGVmaW5lIEZMQVNIX0VORCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMUZGRkZVKSAgICAgICAgICAgICAgLyohPCBQcm9ncmFtIGVuZCBGTEFTSCBhZGRyZXNzIGZvciBDYXQxICYgQ2F0MiAqLw0KI2RlZmluZSBGTEFTSF9FRVBST01fRU5EICAgICAgKCh1aW50MzJfdCkweDA4MDgwN0ZGVSkgICAgICAgICAgICAgIC8qITwgRkxBU0ggRUVQUk9NIGVuZCBhZGRyZXNzICgyS0IpICovDQoNCi8qITwgUGVyaXBoZXJhbCBtZW1vcnkgbWFwICovDQojZGVmaW5lIEFQQjFQRVJJUEhfQkFTRSAgICAgICBQRVJJUEhfQkFTRQ0KI2RlZmluZSBBUEIyUEVSSVBIX0JBU0UgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxMDAwMFUpDQojZGVmaW5lIEFIQlBFUklQSF9CQVNFICAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDIwMDAwVSkNCg0KLyohPCBBUEIxIHBlcmlwaGVyYWxzICovDQojZGVmaW5lIFRJTTJfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMDAwMFUpDQojZGVmaW5lIFRJTTNfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMDQwMFUpDQojZGVmaW5lIFRJTTRfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMDgwMFUpDQojZGVmaW5lIFRJTTZfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMTAwMFUpDQojZGVmaW5lIFRJTTdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMTQwMFUpDQojZGVmaW5lIExDRF9CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMjQwMFUpDQojZGVmaW5lIFJUQ19CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMjgwMFUpDQojZGVmaW5lIFdXREdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMkMwMFUpDQojZGVmaW5lIElXREdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMzAwMFUpDQojZGVmaW5lIFNQSTJfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMzgwMFUpDQojZGVmaW5lIFVTQVJUMl9CQVNFICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNDQwMFUpDQojZGVmaW5lIFVTQVJUM19CQVNFICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNDgwMFUpDQojZGVmaW5lIEkyQzFfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNTQwMFUpDQojZGVmaW5lIEkyQzJfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNTgwMFUpDQoNCi8qIFVTQiBkZXZpY2UgRlMgKi8NCiNkZWZpbmUgVVNCX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA1QzAwVSkgLyohPCBVU0JfSVAgUGVyaXBoZXJhbCBSZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIFVTQl9QTUFBRERSICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNjAwMFUpIC8qITwgVVNCX0lQIFBhY2tldCBNZW1vcnkgQXJlYSBiYXNlIGFkZHJlc3MgKi8NCg0KLyogVVNCIGRldmljZSBGUyBTUkFNICovDQojZGVmaW5lIFBXUl9CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNzAwMFUpDQojZGVmaW5lIERBQ19CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNzQwMFUpDQojZGVmaW5lIENPTVBfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwN0MwMFUpDQojZGVmaW5lIFJJX0JBU0UgICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwN0MwNFUpDQoNCi8qITwgQVBCMiBwZXJpcGhlcmFscyAqLw0KI2RlZmluZSBTWVNDRkdfQkFTRSAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBFWFRJX0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDBVKQ0KI2RlZmluZSBUSU05X0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDA4MDBVKQ0KI2RlZmluZSBUSU0xMF9CQVNFICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDBDMDBVKQ0KI2RlZmluZSBUSU0xMV9CQVNFICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDEwMDBVKQ0KI2RlZmluZSBBREMxX0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDI0MDBVKQ0KI2RlZmluZSBBRENfQkFTRSAgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDI3MDBVKQ0KI2RlZmluZSBTUEkxX0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KI2RlZmluZSBVU0FSVDFfQkFTRSAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDAwMDM4MDBVKQ0KDQovKiE8IEFIQiBwZXJpcGhlcmFscyAqLw0KI2RlZmluZSBHUElPQV9CQVNFICAgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAwMFUpDQojZGVmaW5lIEdQSU9CX0JBU0UgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgR1BJT0NfQkFTRSAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDA4MDBVKQ0KI2RlZmluZSBHUElPRF9CQVNFICAgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMEMwMFUpDQojZGVmaW5lIEdQSU9IX0JBU0UgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAxNDAwVSkNCiNkZWZpbmUgQ1JDX0JBU0UgICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KI2RlZmluZSBSQ0NfQkFTRSAgICAgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMzgwMFUpDQojZGVmaW5lIEZMQVNIX1JfQkFTRSAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAzQzAwVSkgLyohPCBGTEFTSCByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIE9CX0JBU0UgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MUZGODAwMDBVKSAgICAgICAgLyohPCBGTEFTSCBPcHRpb24gQnl0ZXMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZMQVNIU0laRV9CQVNFICAgICAgICAoKHVpbnQzMl90KTB4MUZGODAwNENVKSAgICAgICAgLyohPCBGTEFTSCBTaXplIHJlZ2lzdGVyIGJhc2UgYWRkcmVzcyBmb3IgQ2F0LjEgYW5kIENhdC4yIGRldmljZXMgKi8NCiNkZWZpbmUgVUlEX0JBU0UgICAgICAgICAgICAgICgodWludDMyX3QpMHgxRkY4MDA1MFUpICAgICAgICAvKiE8IFVuaXF1ZSBkZXZpY2UgSUQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzIGZvciBDYXQuMSBhbmQgQ2F0LjIgZGV2aWNlcyAqLw0KI2RlZmluZSBETUExX0JBU0UgICAgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwNjAwMFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDFfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDAwOFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDJfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDAxQ1UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDNfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDAzMFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDRfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDA0NFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDVfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDA1OFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDZfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDA2Q1UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDdfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDA4MFUpDQojZGVmaW5lIERCR01DVV9CQVNFICAgICAgICAgICAoKHVpbnQzMl90KTB4RTAwNDIwMDBVKSAgICAgLyohPCBEZWJ1ZyBNQ1UgcmVnaXN0ZXJzIGJhc2UgYWRkcmVzcyAqLw0KDQovKioNCiAgKiBAfQ0KICAqLw0KICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX2RlY2xhcmF0aW9uDQogICogQHsNCiAgKi8gIA0KDQojZGVmaW5lIFRJTTIgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU0yX0JBU0UpDQojZGVmaW5lIFRJTTMgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU0zX0JBU0UpDQojZGVmaW5lIFRJTTQgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU00X0JBU0UpDQojZGVmaW5lIFRJTTYgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU02X0JBU0UpDQojZGVmaW5lIFRJTTcgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU03X0JBU0UpDQojZGVmaW5lIExDRCAgICAgICAgICAgICAgICAgKChMQ0RfVHlwZURlZiAqKSBMQ0RfQkFTRSkNCiNkZWZpbmUgUlRDICAgICAgICAgICAgICAgICAoKFJUQ19UeXBlRGVmICopIFJUQ19CQVNFKQ0KI2RlZmluZSBXV0RHICAgICAgICAgICAgICAgICgoV1dER19UeXBlRGVmICopIFdXREdfQkFTRSkNCiNkZWZpbmUgSVdERyAgICAgICAgICAgICAgICAoKElXREdfVHlwZURlZiAqKSBJV0RHX0JBU0UpDQojZGVmaW5lIFNQSTIgICAgICAgICAgICAgICAgKChTUElfVHlwZURlZiAqKSBTUEkyX0JBU0UpDQojZGVmaW5lIFVTQVJUMiAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopIFVTQVJUMl9CQVNFKQ0KI2RlZmluZSBVU0FSVDMgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKSBVU0FSVDNfQkFTRSkNCiNkZWZpbmUgSTJDMSAgICAgICAgICAgICAgICAoKEkyQ19UeXBlRGVmICopIEkyQzFfQkFTRSkNCiNkZWZpbmUgSTJDMiAgICAgICAgICAgICAgICAoKEkyQ19UeXBlRGVmICopIEkyQzJfQkFTRSkNCi8qIFVTQiBkZXZpY2UgRlMgKi8NCiNkZWZpbmUgVVNCICAgICAgICAgICAgICAgICAgICgoVVNCX1R5cGVEZWYgKikgVVNCX0JBU0UpDQovKiBVU0IgZGV2aWNlIEZTIFNSQU0gKi8NCiNkZWZpbmUgUFdSICAgICAgICAgICAgICAgICAoKFBXUl9UeXBlRGVmICopIFBXUl9CQVNFKQ0KDQojZGVmaW5lIERBQzEgICAgICAgICAgICAgICAgKChEQUNfVHlwZURlZiAqKSBEQUNfQkFTRSkNCi8qIExlZ2FjeSBkZWZpbmUgKi8NCiNkZWZpbmUgREFDICAgICAgICAgICAgICAgICBEQUMxDQoNCiNkZWZpbmUgQ09NUCAgICAgICAgICAgICAgICAoKENPTVBfVHlwZURlZiAqKSBDT01QX0JBU0UpICAgICAgICAgICAgICAgICAvKiBDT01QIGdlbmVyaWMgaW5zdGFuY2UgaW5jbHVkZSBiaXRzIG9mIENPTVAxIGFuZCBDT01QMiBtaXhlZCBpbiB0aGUgc2FtZSByZWdpc3RlciAqLw0KI2RlZmluZSBDT01QMSAgICAgICAgICAgICAgICgoQ09NUF9UeXBlRGVmICopIENPTVBfQkFTRSkgICAgICAgICAgICAgICAgIC8qIENPTVAxIGluc3RhbmNlIGRlZmluaXRpb24gdG8gZGlmZmVyZW50aWF0ZSBDT01QMSBhbmQgQ09NUDIsIG5vdCB0byBiZSB1c2VkIHRvIGFjY2VzcyBjb21wYXJhdG9yIHJlZ2lzdGVyICovDQojZGVmaW5lIENPTVAyICAgICAgICAgICAgICAgKChDT01QX1R5cGVEZWYgKikgKENPTVBfQkFTRSArIDB4MDAwMDAwMDFVKSkgLyogQ09NUDIgaW5zdGFuY2UgZGVmaW5pdGlvbiB0byBkaWZmZXJlbnRpYXRlIENPTVAxIGFuZCBDT01QMiwgbm90IHRvIGJlIHVzZWQgdG8gYWNjZXNzIGNvbXBhcmF0b3IgcmVnaXN0ZXIgKi8NCiNkZWZpbmUgQ09NUDEyX0NPTU1PTiAgICAgICAoKENPTVBfQ29tbW9uX1R5cGVEZWYgKikgQ09NUF9CQVNFKSAgICAgICAgICAvKiBDT01QIGNvbW1vbiBpbnN0YW5jZSBkZWZpbml0aW9uIHRvIGFjY2VzcyBjb21wYXJhdG9yIHJlZ2lzdGVyIGJpdHMgdXNlZCBieSBib3RoIGNvbXBhcmF0b3IgaW5zdGFuY2VzICh3aW5kb3cgbW9kZSkgKi8NCg0KI2RlZmluZSBSSSAgICAgICAgICAgICAgICAgICgoUklfVHlwZURlZiAqKSBSSV9CQVNFKQ0KDQojZGVmaW5lIFNZU0NGRyAgICAgICAgICAgICAgKChTWVNDRkdfVHlwZURlZiAqKSBTWVNDRkdfQkFTRSkNCiNkZWZpbmUgRVhUSSAgICAgICAgICAgICAgICAoKEVYVElfVHlwZURlZiAqKSBFWFRJX0JBU0UpDQojZGVmaW5lIFRJTTkgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU05X0JBU0UpDQojZGVmaW5lIFRJTTEwICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU0xMF9CQVNFKQ0KI2RlZmluZSBUSU0xMSAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNMTFfQkFTRSkNCg0KI2RlZmluZSBBREMxICAgICAgICAgICAgICAgICgoQURDX1R5cGVEZWYgKikgQURDMV9CQVNFKQ0KI2RlZmluZSBBREMxX0NPTU1PTiAgICAgICAgICgoQURDX0NvbW1vbl9UeXBlRGVmICopIEFEQ19CQVNFKQ0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgQURDICAgICAgICAgICAgICAgICBBREMxX0NPTU1PTg0KDQojZGVmaW5lIFNQSTEgICAgICAgICAgICAgICAgKChTUElfVHlwZURlZiAqKSBTUEkxX0JBU0UpDQojZGVmaW5lIFVTQVJUMSAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopIFVTQVJUMV9CQVNFKQ0KI2RlZmluZSBHUElPQSAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopIEdQSU9BX0JBU0UpDQojZGVmaW5lIEdQSU9CICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKikgR1BJT0JfQkFTRSkNCiNkZWZpbmUgR1BJT0MgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKSBHUElPQ19CQVNFKQ0KI2RlZmluZSBHUElPRCAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopIEdQSU9EX0JBU0UpDQojZGVmaW5lIEdQSU9IICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKikgR1BJT0hfQkFTRSkNCiNkZWZpbmUgQ1JDICAgICAgICAgICAgICAgICAoKENSQ19UeXBlRGVmICopIENSQ19CQVNFKQ0KI2RlZmluZSBSQ0MgICAgICAgICAgICAgICAgICgoUkNDX1R5cGVEZWYgKikgUkNDX0JBU0UpDQojZGVmaW5lIEZMQVNIICAgICAgICAgICAgICAgKChGTEFTSF9UeXBlRGVmICopIEZMQVNIX1JfQkFTRSkNCiNkZWZpbmUgT0IgICAgICAgICAgICAgICAgICAoKE9CX1R5cGVEZWYgKikgT0JfQkFTRSkgDQojZGVmaW5lIERNQTEgICAgICAgICAgICAgICAgKChETUFfVHlwZURlZiAqKSBETUExX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDEgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopIERNQTFfQ2hhbm5lbDFfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKikgRE1BMV9DaGFubmVsMl9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwzICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKSBETUExX0NoYW5uZWwzX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDQgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopIERNQTFfQ2hhbm5lbDRfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNSAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKikgRE1BMV9DaGFubmVsNV9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw2ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKSBETUExX0NoYW5uZWw2X0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDcgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopIERNQTFfQ2hhbm5lbDdfQkFTRSkNCiNkZWZpbmUgREJHTUNVICAgICAgICAgICAgICAoKERCR01DVV9UeXBlRGVmICopIERCR01DVV9CQVNFKQ0KDQogLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIEV4cG9ydGVkX2NvbnN0YW50cw0KICAqIEB7DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX1JlZ2lzdGVyc19CaXRzX0RlZmluaXRpb24NCiAgKiBAew0KICAqLw0KICAgIA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFBlcmlwaGVyYWwgUmVnaXN0ZXJzIEJpdHMgRGVmaW5pdGlvbiAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXIgKEFEQykgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUl9BV0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9BV0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfQVdEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUl9BV0QgICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfQVdEX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfRU9DU19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfRU9DU19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0VPQ1NfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1JfRU9DUyAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0VPQ1NfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHVuaXRhcnkgY29udmVyc2lvbiBvciBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfSkVPU19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfSkVPU19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0pFT1NfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1JfSkVPUyAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0pFT1NfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9KU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9KU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfSlNUUlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUl9KU1RSVCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfSlNUUlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgY29udmVyc2lvbiBzdGFydCBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9TVFJUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfU1RSVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TUl9TVFJUICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIHN0YXJ0IGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX09WUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9PVlJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NSX09WUiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIG92ZXJydW4gZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfQURPTlNfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfQURPTlNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0FET05TX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1JfQURPTlMgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0FET05TX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX1JDTlJfUG9zICAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX1JDTlJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9SQ05SX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NSX1JDTlIgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9SQ05SX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIG5vdCByZWFkeSBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9KQ05SX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9KQ05SX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfSkNOUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19TUl9KQ05SICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfSkNOUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgbm90IHJlYWR5IGZsYWcgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIEFEQ19TUl9FT0MgICAgICAgICAgICAgICAgICAgICAgICAgIChBRENfU1JfRU9DUykNCiNkZWZpbmUgIEFEQ19TUl9KRU9DICAgICAgICAgICAgICAgICAgICAgICAgIChBRENfU1JfSkVPUykNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RDSF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdEQ0hfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBtb25pdG9yZWQgY2hhbm5lbCBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfQ1IxX0VPQ1NJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0VPQ1NJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9FT0NTSUVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfQ1IxX0VPQ1NJRSAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9FT0NTSUVfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHVuaXRhcnkgY29udmVyc2lvbiBvciBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfQVdESUVfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdESUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXRElFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19DUjFfQVdESUUgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRElFX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pFT1NJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pFT1NJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfQ1IxX1NDQU5fUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX1NDQU5fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9TQ0FOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfQ1IxX1NDQU4gICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9TQ0FOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIHNjYW4gbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTF9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9BV0RTR0xfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTCAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RTR0xfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIG1vbml0b3JpbmcgYSBzaW5nbGUgY2hhbm5lbCBvciBhbGwgY2hhbm5lbHMgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVVUT19Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KQVVUT19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkFVVE9fUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVVUTyAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkFVVE9fTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBhdXRvbWF0aWMgdHJpZ2dlciBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0RJU0NFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0RJU0NFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgZGlzY29udGludW91cyBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pESVNDRU5fUG9zKSAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTiAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pESVNDRU5fTXNrICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbW9kZSAqLw0KDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV9Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgLyohPCAweDAwMDBFMDAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTSAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0RJU0NOVU1fTXNrICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgZGlzY29udGludW91cyBudW1iZXIgb2YgcmFua3MgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IxX1BERF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX1BERF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9QRERfUG9zKSAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX1BERCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9QRERfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIHBvd2VyIGRvd24gZHVyaW5nIGF1dG8gZGVsYXkgcGhhc2UgKi8NCiNkZWZpbmUgQURDX0NSMV9QRElfUG9zICAgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9QRElfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfUERJX1BvcykgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9QREkgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfUERJX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBwb3dlciBkb3duIGR1cmluZyBpZGxlIHBoYXNlICovDQoNCiNkZWZpbmUgQURDX0NSMV9KQVdERU5fUG9zICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KQVdERU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkFXREVOX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVdERU4gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkFXREVOX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBlbmFibGUgb24gc2NvcGUgQURDIGdyb3VwIGluamVjdGVkICovDQojZGVmaW5lIEFEQ19DUjFfQVdERU5fUG9zICAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdERU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXREVOX1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19DUjFfQVdERU4gICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXREVOX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgZW5hYmxlIG9uIHNjb3BlIEFEQyBncm91cCByZWd1bGFyICovDQoNCiNkZWZpbmUgQURDX0NSMV9SRVNfUG9zICAgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9SRVNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEFEQ19DUjFfUkVTX1BvcykgICAgICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9SRVMgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfUkVTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyByZXNvbHV0aW9uICovDQojZGVmaW5lIEFEQ19DUjFfUkVTXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX1JFU19Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFEQ19DUjFfUkVTXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IxX1JFU19Qb3MpICAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgQURDX0NSMV9PVlJJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9PVlJJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfT1ZSSUVfUG9zKSAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9PVlJJRSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfT1ZSSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIG92ZXJydW4gaW50ZXJydXB0ICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBBRENfQ1IxX0VPQ0lFICAgICAgICAgICAgICAgICAgICAgICAoQURDX0NSMV9FT0NTSUUpDQojZGVmaW5lICBBRENfQ1IxX0pFT0NJRSAgICAgICAgICAgICAgICAgICAgICAoQURDX0NSMV9KRU9TSUUpDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DUjJfQURPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQURPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0FET05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19DUjJfQURPTiAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FET05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUjJfQ09OVF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQ09OVF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0NPTlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19DUjJfQ09OVCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0NPTlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb250aW51b3VzIGNvbnZlcnNpb24gbW9kZSAqLw0KDQojZGVmaW5lIEFEQ19DUjJfREVMU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfREVMU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfQ1IyX0RFTFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIEFEQ19DUjJfREVMUyAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0RFTFNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgYXV0byBkZWxheSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX0NSMl9ERUxTXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfREVMU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX0NSMl9ERUxTXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjJfREVMU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX0NSMl9ERUxTXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjJfREVMU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0RNQV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9ETUFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9ETUFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIERNQSB0cmFuc2ZlciBlbmFibGUgKi8NCiNkZWZpbmUgQURDX0NSMl9ERFNfUG9zICAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9ERFNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRERTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9ERFMgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRERTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBETUEgdHJhbnNmZXIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRENfQ1IyX0VPQ1NfUG9zICAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0VPQ1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9FT0NTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VPQ1MgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9FT0NTX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGVuZCBvZiB1bml0YXJ5IG9yIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX0NSMl9BTElHTl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQUxJR05fUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgIC8qITwgMHgwMDBGMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUwgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9KRVhUU0VMX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGV4dGVybmFsIHRyaWdnZXIgc291cmNlICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX0NSMl9KRVhURU5fUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9KRVhURU5fTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEFEQ19DUjJfSkVYVEVOX1BvcykgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhURU4gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSkVYVEVOX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBleHRlcm5hbCB0cmlnZ2VyIHBvbGFyaXR5ICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVEVOXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pFWFRFTl9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVEVOXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IyX0pFWFRFTl9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVF9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfSlNXU1RBUlRfUG9zKSAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVCAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSlNXU1RBUlRfTXNrICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBjb252ZXJzaW9uIHN0YXJ0ICovDQoNCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfUG9zICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfTXNrICAgICAgICAgICAgICAgICAgICgweEZVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MEYwMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUwgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRVhUU0VMX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGV4dGVybmFsIHRyaWdnZXIgc291cmNlICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzMgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgQURDX0NSMl9FWFRFTl9Qb3MgICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9FWFRFTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEFEQ19DUjJfRVhURU5fUG9zKSAgICAgICAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRFTiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRVhURU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGV4dGVybmFsIHRyaWdnZXIgcG9sYXJpdHkgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRFTl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRVhURU5fUG9zKSAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRFTl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjJfRVhURU5fUG9zKSAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlRfUG9zICAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9TV1NUQVJUX1BvcykgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlQgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9TV1NUQVJUX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdGFydCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NNUFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMjBfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMjBfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDIwX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMjAgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDIwX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMjAgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIwXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAyMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIwXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAyMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIwXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAyMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMjFfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMjFfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDIxX1BvcykgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMjEgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDIxX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMjEgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIxXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAyMV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIxXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAyMV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIxXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAyMV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMjJfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMjJfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDIyX1BvcykgICAgIC8qITwgMHgwMDAwMDFDMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMjIgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDIyX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMjIgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIyXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAyMl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIyXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAyMl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIyXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAyMl9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMjNfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMjNfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDIzX1BvcykgICAgIC8qITwgMHgwMDAwMEUwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMjMgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDIzX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMjMgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIzXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAyM19Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIzXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAyM19Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDIzXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAyM19Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMjRfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMjRfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDI0X1BvcykgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMjQgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDI0X01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMjQgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI0XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAyNF9Qb3MpICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI0XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAyNF9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI0XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAyNF9Qb3MpICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMjVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMjVfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDI1X1BvcykgICAgIC8qITwgMHgwMDAzODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMjUgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDI1X01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMjUgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI1XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAyNV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI1XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAyNV9Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI1XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAyNV9Qb3MpICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMjZfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMjZfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDI2X1BvcykgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMjYgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDI2X01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMjYgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI2XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAyNl9Qb3MpICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI2XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAyNl9Qb3MpICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDI2XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAyNl9Qb3MpICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TTVBSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEwX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEwX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEwICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAxMF9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEwIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDExX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDExX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDExICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAxMV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDExIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMTFfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMTFfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMTFfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEyX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEyX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAxMl9Qb3MpICAgICAvKiE8IDB4MDAwMDAxQzAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEyICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAxMl9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEyIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMTJfUG9zKSAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMTJfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxMl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMTJfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEzX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEzX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAxM19Qb3MpICAgICAvKiE8IDB4MDAwMDBFMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEzICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAxM19Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEzIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxM18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMTNfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxM18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMTNfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxM18yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMTNfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE0X1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE0X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAxNF9Qb3MpICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE0ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAxNF9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE0IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxNF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMTRfUG9zKSAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxNF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMTRfUG9zKSAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxNF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMTRfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE1X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAxNV9Qb3MpICAgICAvKiE8IDB4MDAwMzgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE1ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAxNV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDUgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE1XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAxNV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE1XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAxNV9Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE1XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAxNV9Qb3MpICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMTZfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMTZfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDE2X1BvcykgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMTYgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDE2X01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTYgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE2XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAxNl9Qb3MpICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE2XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAxNl9Qb3MpICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE2XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAxNl9Qb3MpICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMTdfUG9zICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMTdfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDE3X1BvcykgICAgIC8qITwgMHgwMEUwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMTcgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDE3X01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTcgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE3XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAxN19Qb3MpICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE3XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAxN19Qb3MpICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE3XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAxN19Qb3MpICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMThfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMThfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDE4X1BvcykgICAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMTggICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDE4X01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTggc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE4XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAxOF9Qb3MpICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE4XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAxOF9Qb3MpICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE4XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAxOF9Qb3MpICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMTlfUG9zICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMTlfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDE5X1BvcykgICAgIC8qITwgMHgzODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMTkgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDE5X01zayAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTkgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE5XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAxOV9Qb3MpICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE5XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAxOV9Qb3MpICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDE5XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAxOV9Qb3MpICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TTVBSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIzX1NNUDBfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSM19TTVAwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSM19TTVAwX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDAgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDBfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSM19TTVAwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDBfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSM19TTVAwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDBfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSM19TTVAwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiANCiNkZWZpbmUgQURDX1NNUFIzX1NNUDFfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIzX1NNUDFfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSM19TTVAxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDEgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSM19TTVAxX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSM19TTVAxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSM19TTVAxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDFfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSM19TTVAxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBBRENfU01QUjNfU01QMl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjNfU01QMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIzX1NNUDJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDFDMCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QMiAgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIzX1NNUDJfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIzX1NNUDJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIzX1NNUDJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QMl8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIzX1NNUDJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSM19TTVAzX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSM19TTVAzX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjNfU01QM19Qb3MpICAgICAgLyohPCAweDAwMDAwRTAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVAzICAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjNfU01QM19Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAzIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVAzXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjNfU01QM19Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVAzXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjNfU01QM19Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVAzXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjNfU01QM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIzX1NNUDRfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIzX1NNUDRfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSM19TTVA0X1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDQgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSM19TTVA0X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDQgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDRfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSM19TTVA0X1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDRfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSM19TTVA0X1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDRfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSM19TTVA0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjNfU01QNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjNfU01QNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIzX1NNUDVfUG9zKSAgICAgIC8qITwgMHgwMDAzODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QNSAgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIzX1NNUDVfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIzX1NNUDVfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIzX1NNUDVfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QNV8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIzX1NNUDVfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSM19TTVA2X1BvcyAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSM19TTVA2X01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjNfU01QNl9Qb3MpICAgICAgLyohPCAweDAwMUMwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVA2ICAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjNfU01QNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA2IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVA2XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjNfU01QNl9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVA2XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjNfU01QNl9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVA2XzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjNfU01QNl9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIzX1NNUDdfUG9zICAgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIzX1NNUDdfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSM19TTVA3X1BvcykgICAgICAvKiE8IDB4MDBFMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDcgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSM19TTVA3X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDcgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDdfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSM19TTVA3X1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDdfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSM19TTVA3X1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIzX1NNUDdfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSM19TTVA3X1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjNfU01QOF9Qb3MgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjNfU01QOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIzX1NNUDhfUG9zKSAgICAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QOCAgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIzX1NNUDhfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgOCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QOF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIzX1NNUDhfUG9zKSAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QOF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIzX1NNUDhfUG9zKSAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjNfU01QOF8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIzX1NNUDhfUG9zKSAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSM19TTVA5X1BvcyAgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSM19TTVA5X01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjNfU01QOV9Qb3MpICAgICAgLyohPCAweDM4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVA5ICAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjNfU01QOV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA5IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVA5XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjNfU01QOV9Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVA5XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjNfU01QOV9Qb3MpICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSM19TTVA5XzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjNfU01QOV9Qb3MpICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSMV9KT0ZGU0VUMV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSMV9KT0ZGU0VUMV9Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSMV9KT0ZGU0VUMV9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjFfSk9GRlNFVDEgICAgICAgICAgICAgICAgICAgQURDX0pPRlIxX0pPRkZTRVQxX01zayAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSMl9KT0ZGU0VUMl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSMl9KT0ZGU0VUMl9Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSMl9KT0ZGU0VUMl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDIgICAgICAgICAgICAgICAgICAgQURDX0pPRlIyX0pPRkZTRVQyX01zayAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUM19Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUM19Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSM19KT0ZGU0VUM19Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjNfSk9GRlNFVDMgICAgICAgICAgICAgICAgICAgQURDX0pPRlIzX0pPRkZTRVQzX01zayAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDMgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSNF9KT0ZGU0VUNF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSNF9KT0ZGU0VUNF9Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSNF9KT0ZGU0VUNF9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjRfSk9GRlNFVDQgICAgICAgICAgICAgICAgICAgQURDX0pPRlI0X0pPRkZTRVQ0X01zayAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0hUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19IVFJfSFRfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19IVFJfSFRfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19IVFJfSFRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19IVFJfSFQgICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfSFRSX0hUX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgdGhyZXNob2xkIGhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfTFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0xUUl9MVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0xUUl9MVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0xUUl9MVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0xUUl9MVCAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19MVFJfTFRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSB0aHJlc2hvbGQgbG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIxX0xfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX0xfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgLyohPCAweDAxRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0wgICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9MX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgc2NhbiBsZW5ndGggKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8wICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8xICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8yICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8zICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF80ICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMjdfUG9zKSAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTI3ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1EyN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMjcgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyN18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTI3X1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyN18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTI3X1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyN18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTI3X1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyN18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTI3X1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyN180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTI3X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMjZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTI2ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1EyNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMjYgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNl8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTI2X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNl8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTI2X1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNl8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTI2X1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNl8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTI2X1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNl80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTI2X1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMjVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTI1ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1EyNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMjUgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTI1X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTI1X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTI1X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTI1X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjFfU1EyNV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTI1X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1FSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExOV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1ExOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTE5X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExOSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTlfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDE5ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTlfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1ExOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTlfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1ExOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTlfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1ExOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTlfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1ExOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTlfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1ExOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1EyMF9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1EyMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTIwX1BvcykgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1EyMCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDIwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjBfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1EyMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjBfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1EyMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjBfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1EyMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjBfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1EyMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjBfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1EyMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1EyMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1EyMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTIxX1BvcykgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1EyMSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDIxICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1EyMV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1EyMV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjFfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1EyMV9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjFfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1EyMV9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjFfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1EyMV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1EyMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1EyMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTIyX1BvcykgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1EyMiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDIyICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1EyMl9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1EyMl9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjJfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1EyMl9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjJfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1EyMl9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjJfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1EyMl9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1EyM19Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1EyM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTIzX1BvcykgICAgICAvKiE8IDB4MDFGMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1EyMyAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDIzICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1EyM19Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1EyM19Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjNfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1EyM19Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjNfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1EyM19Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjNfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1EyM19Qb3MpICAgICAgLyohPCAweDAxMDAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1EyNF9Qb3MgICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1EyNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTI0X1BvcykgICAgICAvKiE8IDB4M0UwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1EyNCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDI0ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1EyNF9Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1EyNF9Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjRfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1EyNF9Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjRfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1EyNF9Qb3MpICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMjRfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1EyNF9Qb3MpICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIzX1NRMTNfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1ExM19Qb3MpICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMTMgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTEzX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxMyAqLw0KI2RlZmluZSBBRENfU1FSM19TUTEzXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1FSM19TUTEzXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTEzXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTEzXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTEzXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRMTRfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMTRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1ExNF9Qb3MpICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMTQgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTE0X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE0XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE0XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE0XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE0XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE0XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRMTVfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMTVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1ExNV9Qb3MpICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMTUgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTE1X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNSAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE1XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE1XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE1XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE1XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE1XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRMTZfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMTZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1ExNl9Qb3MpICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMTYgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTE2X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE2XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMTZfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE2XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMTZfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE2XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMTZfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE2XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMTZfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE2XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMTZfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRMTdfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMTdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1ExN19Qb3MpICAgICAgLyohPCAweDAxRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMTcgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTE3X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNyAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE3XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMTdfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE3XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMTdfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE3XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMTdfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE3XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMTdfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE3XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMTdfUG9zKSAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRMThfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMThfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1ExOF9Qb3MpICAgICAgLyohPCAweDNFMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMTggICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTE4X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxOCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE4XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMThfUG9zKSAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE4XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMThfUG9zKSAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE4XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMThfUG9zKSAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE4XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMThfUG9zKSAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTE4XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMThfUG9zKSAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1FSNF9TUTdfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSNF9TUTdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVI0X1NRN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTcgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjRfU1E3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNyAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTdfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVI0X1NRN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTdfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVI0X1NRN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTdfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVI0X1NRN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTdfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVI0X1NRN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTdfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVI0X1NRN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19TUVI0X1NROF9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVI0X1NROF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjRfU1E4X1BvcykgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19TUVI0X1NROCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSNF9TUThfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA4ICovDQojZGVmaW5lIEFEQ19TUVI0X1NROF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjRfU1E4X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19TUVI0X1NROF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjRfU1E4X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TUVI0X1NROF8yICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjRfU1E4X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TUVI0X1NROF8zICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjRfU1E4X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19TUVI0X1NROF80ICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjRfU1E4X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX1NRUjRfU1E5X1BvcyAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjRfU1E5X01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSNF9TUTlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1E5ICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVI0X1NROV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDkgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1E5XzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSNF9TUTlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1E5XzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSNF9TUTlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1E5XzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSNF9TUTlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1E5XzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSNF9TUTlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1E5XzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSNF9TUTlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSNF9TUTEwX1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSNF9TUTEwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVI0X1NRMTBfUG9zKSAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTEwICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjRfU1ExMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMF8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSNF9TUTEwX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMF8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSNF9TUTEwX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMF8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSNF9TUTEwX1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMF8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSNF9TUTEwX1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMF80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSNF9TUTEwX1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSNF9TUTExX1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSNF9TUTExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVI0X1NRMTFfUG9zKSAgICAgIC8qITwgMHgwMUYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTExICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjRfU1ExMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTEgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSNF9TUTExX1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSNF9TUTExX1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSNF9TUTExX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSNF9TUTExX1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSNF9TUTExX1BvcykgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSNF9TUTEyX1BvcyAgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSNF9TUTEyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVI0X1NRMTJfUG9zKSAgICAgIC8qITwgMHgzRTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSNF9TUTEyICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjRfU1ExMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTIgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMl8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSNF9TUTEyX1BvcykgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMl8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSNF9TUTEyX1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMl8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSNF9TUTEyX1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMl8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSNF9TUTEyX1BvcykgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjRfU1ExMl80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSNF9TUTEyX1BvcykgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1FSNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NRUjVfU1ExX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjVfU1ExX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSNV9TUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1ExICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVI1X1NRMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1ExXzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSNV9TUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1ExXzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSNV9TUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1ExXzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSNV9TUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1ExXzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSNV9TUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjVfU1ExXzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSNV9TUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfU1FSNV9TUTJfUG9zICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSNV9TUTJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVI1X1NRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTIgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjVfU1EyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMiAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTJfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVI1X1NRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTJfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVI1X1NRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTJfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVI1X1NRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTJfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVI1X1NRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTJfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVI1X1NRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVI1X1NRM19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVI1X1NRM19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjVfU1EzX1BvcykgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRMyAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSNV9TUTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAzICovDQojZGVmaW5lIEFEQ19TUVI1X1NRM18wICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjVfU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRM18xICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjVfU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRM18yICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjVfU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRM18zICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjVfU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRM180ICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjVfU1EzX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjVfU1E0X1BvcyAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjVfU1E0X01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSNV9TUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1E0ICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVI1X1NRNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDQgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1E0XzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSNV9TUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1E0XzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSNV9TUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1E0XzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSNV9TUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1E0XzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSNV9TUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjVfU1E0XzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSNV9TUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSNV9TUTVfUG9zICAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSNV9TUTVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVI1X1NRNV9Qb3MpICAgICAgIC8qITwgMHgwMUYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTUgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjVfU1E1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNSAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTVfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVI1X1NRNV9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTVfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVI1X1NRNV9Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTVfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVI1X1NRNV9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTVfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVI1X1NRNV9Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSNV9TUTVfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVI1X1NRNV9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVI1X1NRNl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVI1X1NRNl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjVfU1E2X1BvcykgICAgICAgLyohPCAweDNFMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRNiAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSNV9TUTZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA2ICovDQojZGVmaW5lIEFEQ19TUVI1X1NRNl8wICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjVfU1E2X1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRNl8xICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjVfU1E2X1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRNl8yICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjVfU1E2X1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRNl8zICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjVfU1E2X1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVI1X1NRNl80ICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjVfU1E2X1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSlNRUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRMl9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAyICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRM19Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMyAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAzICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTRfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSkxfUG9zICAgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSkxfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSkwgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pMX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgc2NhbiBsZW5ndGggKi8NCiNkZWZpbmUgQURDX0pTUVJfSkxfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSkxfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjFfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjFfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFIxX0pEQVRBX1BvcykgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjFfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFIxX0pEQVRBX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxIGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSMl9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSMl9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjJfSkRBVEFfUG9zKSAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSMl9KREFUQSAgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjJfSkRBVEFfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSM19KREFUQV9Qb3MpICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBICAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSM19KREFUQV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMyBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjRfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjRfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFI0X0pEQVRBX1BvcykgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjRfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFI0X0pEQVRBX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0IGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfRFJfREFUQV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfRFJfREFUQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0RSX0RBVEFfUG9zKSAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfRFJfREFUQSAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0RSX0RBVEFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DU1JfQVdEMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DU1JfQVdEMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1NSX0FXRDFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19DU1JfQVdEMSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1NSX0FXRDFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgbXVsdGltb2RlIG1hc3RlciBhbmFsb2cgd2F0Y2hkb2cgMSBmbGFnICovDQojZGVmaW5lIEFEQ19DU1JfRU9DUzFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DU1JfRU9DUzFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1NSX0VPQ1MxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19DU1JfRU9DUzEgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1NSX0VPQ1MxX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgbXVsdGltb2RlIG1hc3RlciBncm91cCByZWd1bGFyIGVuZCBvZiB1bml0YXJ5IGNvbnZlcnNpb24gb3IgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGZsYWcgKi8NCiNkZWZpbmUgQURDX0NTUl9KRU9TMV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NTUl9KRU9TMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DU1JfSkVPUzFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NTUl9KRU9TMSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DU1JfSkVPUzFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBtdWx0aW1vZGUgbWFzdGVyIGdyb3VwIGluamVjdGVkIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBmbGFnICovDQojZGVmaW5lIEFEQ19DU1JfSlNUUlQxX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DU1JfSlNUUlQxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1NSX0pTVFJUMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19DU1JfSlNUUlQxICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1NSX0pTVFJUMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgbXVsdGltb2RlIG1hc3RlciBncm91cCBpbmplY3RlZCBjb252ZXJzaW9uIHN0YXJ0IGZsYWcgKi8NCiNkZWZpbmUgQURDX0NTUl9TVFJUMV9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NTUl9TVFJUMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DU1JfU1RSVDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX0NTUl9TVFJUMSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DU1JfU1RSVDFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBtdWx0aW1vZGUgbWFzdGVyIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdGFydCBmbGFnICovDQojZGVmaW5lIEFEQ19DU1JfT1ZSMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DU1JfT1ZSMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1NSX09WUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19DU1JfT1ZSMSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1NSX09WUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgbXVsdGltb2RlIG1hc3RlciBncm91cCByZWd1bGFyIG92ZXJydW4gZmxhZyAqLw0KI2RlZmluZSBBRENfQ1NSX0FET05TMV9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1NSX0FET05TMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NTUl9BRE9OUzFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfQ1NSX0FET05TMSAgICAgICAgICAgICAgICAgICAgICAgQURDX0NTUl9BRE9OUzFfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIG11bHRpbW9kZSBtYXN0ZXIgcmVhZHkgZmxhZyAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgQURDX0NTUl9FT0MxICAgICAgICAgICAgICAgICAgICAgICAgKEFEQ19DU1JfRU9DUzEpDQojZGVmaW5lICBBRENfQ1NSX0pFT0MxICAgICAgICAgICAgICAgICAgICAgICAoQURDX0NTUl9KRU9TMSkNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0NDUl9BRENQUkVfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NDUl9BRENQUkVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEFEQ19DQ1JfQURDUFJFX1BvcykgICAgICAvKiE8IDB4MDAwMzAwMDAgKi8NCiNkZWZpbmUgQURDX0NDUl9BRENQUkUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DQ1JfQURDUFJFX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjbG9jayBzb3VyY2UgYXN5bmNocm9ub3VzIHByZXNjYWxlciAqLw0KI2RlZmluZSBBRENfQ0NSX0FEQ1BSRV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NDUl9BRENQUkVfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfQ0NSX0FEQ1BSRV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NDUl9BRENQUkVfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfQ0NSX1RTVlJFRkVfUG9zICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0NSX1RTVlJFRkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NDUl9UU1ZSRUZFX1BvcykgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfQ0NSX1RTVlJFRkUgICAgICAgICAgICAgICAgICAgICAgQURDX0NDUl9UU1ZSRUZFX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGludGVybmFsIHBhdGggdG8gVnJlZkludCBhbmQgdGVtcGVyYXR1cmUgc2Vuc29yIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgIEFuYWxvZyBDb21wYXJhdG9ycyAoQ09NUCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENPTVBfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ09NUF9DU1JfMTBLUFUgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvbXBhcmF0b3IgMSBpbnB1dCBwbHVzIDEwSyBwdWxsLXVwIHJlc2lzdG9yICovDQojZGVmaW5lIENPTVBfQ1NSXzQwMEtQVSAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb21wYXJhdG9yIDEgaW5wdXQgcGx1cyA0MDBLIHB1bGwtdXAgcmVzaXN0b3IgKi8NCiNkZWZpbmUgQ09NUF9DU1JfMTBLUEQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvbXBhcmF0b3IgMSBpbnB1dCBwbHVzIDEwSyBwdWxsLWRvd24gcmVzaXN0b3IgKi8NCiNkZWZpbmUgQ09NUF9DU1JfNDAwS1BEICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvbXBhcmF0b3IgMSBpbnB1dCBwbHVzIDQwMEsgcHVsbC1kb3duIHJlc2lzdG9yICovDQojZGVmaW5lIENPTVBfQ1NSX0NNUDFFTl9Qb3MgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENPTVBfQ1NSX0NNUDFFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IENPTVBfQ1NSX0NNUDFFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIENPTVBfQ1NSX0NNUDFFTiAgICAgICAgICAgICAgICAgICAgIENPTVBfQ1NSX0NNUDFFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDb21wYXJhdG9yIDEgZW5hYmxlICovDQojZGVmaW5lIENPTVBfQ1NSX0NNUDFPVVRfUG9zICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENPTVBfQ1NSX0NNUDFPVVRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IENPTVBfQ1NSX0NNUDFPVVRfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIENPTVBfQ1NSX0NNUDFPVVQgICAgICAgICAgICAgICAgICAgIENPTVBfQ1NSX0NNUDFPVVRfTXNrICAgICAgICAgICAgICAgLyohPCBDb21wYXJhdG9yIDEgb3V0cHV0IGxldmVsICovDQojZGVmaW5lIENPTVBfQ1NSX1NQRUVEX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENPTVBfQ1NSX1NQRUVEX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IENPTVBfQ1NSX1NQRUVEX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIENPTVBfQ1NSX1NQRUVEICAgICAgICAgICAgICAgICAgICAgIENPTVBfQ1NSX1NQRUVEX01zayAgICAgICAgICAgICAgICAgLyohPCBDb21wYXJhdG9yIDIgcG93ZXIgbW9kZSAqLw0KI2RlZmluZSBDT01QX0NTUl9DTVAyT1VUX1BvcyAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDT01QX0NTUl9DTVAyT1VUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBDT01QX0NTUl9DTVAyT1VUX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9DTVAyT1VUICAgICAgICAgICAgICAgICAgICBDT01QX0NTUl9DTVAyT1VUX01zayAgICAgICAgICAgICAgIC8qITwgQ29tcGFyYXRvciAyIG91dHB1dCBsZXZlbCAqLw0KDQojZGVmaW5lIENPTVBfQ1NSX1dORFdFX1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENPTVBfQ1NSX1dORFdFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IENPTVBfQ1NSX1dORFdFX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIENPTVBfQ1NSX1dORFdFICAgICAgICAgICAgICAgICAgICAgIENPTVBfQ1NSX1dORFdFX01zayAgICAgICAgICAgICAgICAgLyohPCBQYWlyIG9mIGNvbXBhcmF0b3JzIHdpbmRvdyBtb2RlLiBCaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIENPTVAgY29tbW9uIGluc3RhbmNlIChDT01QX0NvbW1vbl9UeXBlRGVmKSAgKi8NCg0KI2RlZmluZSBDT01QX0NTUl9JTlNFTF9Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDT01QX0NTUl9JTlNFTF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBDT01QX0NTUl9JTlNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9JTlNFTCAgICAgICAgICAgICAgICAgICAgICBDT01QX0NTUl9JTlNFTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ29tcGFyYXRvciAyIGlucHV0IG1pbnVzIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBDT01QX0NTUl9JTlNFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBDT01QX0NTUl9JTlNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9JTlNFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBDT01QX0NTUl9JTlNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9JTlNFTF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBDT01QX0NTUl9JTlNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9PVVRTRUxfUG9zICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDT01QX0NTUl9PVVRTRUxfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBDT01QX0NTUl9PVVRTRUxfUG9zKSAgICAgIC8qITwgMHgwMEUwMDAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9PVVRTRUwgICAgICAgICAgICAgICAgICAgICBDT01QX0NTUl9PVVRTRUxfTXNrICAgICAgICAgICAgICAgIC8qITwgQ29tcGFyYXRvciAyIG91dHB1dCByZWRpcmVjdGlvbiAqLw0KI2RlZmluZSBDT01QX0NTUl9PVVRTRUxfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBDT01QX0NTUl9PVVRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9PVVRTRUxfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBDT01QX0NTUl9PVVRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9PVVRTRUxfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBDT01QX0NTUl9PVVRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQovKiBCaXRzIHByZXNlbnQgaW4gQ09NUCByZWdpc3RlciBidXQgbm90IHJlbGF0ZWQgdG8gY29tcGFyYXRvciAqLw0KLyogKG9yIHBhcnRpYWxseSByZWxhdGVkIHRvIGNvbXBhcmF0b3IsIGluIGFkZGl0aW9uIHRvIG90aGVyIHBlcmlwaGVyYWxzKSAqLw0KI2RlZmluZSBDT01QX0NTUl9WUkVGT1VURU5fUG9zICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDT01QX0NTUl9WUkVGT1VURU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBDT01QX0NTUl9WUkVGT1VURU5fUG9zKSAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBDT01QX0NTUl9WUkVGT1VURU4gICAgICAgICAgICAgICAgICBDT01QX0NTUl9WUkVGT1VURU5fTXNrICAgICAgICAgICAgIC8qITwgVnJlZkludCBvdXRwdXQgZW5hYmxlIG9uIEdQSU8gZ3JvdXAgMyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICBDUkMgY2FsY3VsYXRpb24gdW5pdCAoQ1JDKSAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDUkNfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ1JDX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IENSQ19EUl9EUl9Qb3MpICAgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgQ1JDX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgcmVnaXN0ZXIgYml0cyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19JRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDUkNfSURSX0lEUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDUkNfSURSX0lEUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgQ1JDX0lEUl9JRFJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBDUkNfSURSX0lEUiAgICAgICAgICAgICAgICAgICAgICAgICBDUkNfSURSX0lEUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbC1wdXJwb3NlIDgtYml0IGRhdGEgcmVnaXN0ZXIgYml0cyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDUkNfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDUkNfQ1JfUkVTRVRfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDUkNfQ1JfUkVTRVRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBDUkNfQ1JfUkVTRVRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBDUkNfQ1JfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICBDUkNfQ1JfUkVTRVRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUkVTRVQgYml0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgIERpZ2l0YWwgdG8gQW5hbG9nIENvbnZlcnRlciAoREFDKSAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfQ1JfRU4xX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRU4xX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRU4xX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBEQUNfQ1JfRU4xICAgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRU4xX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDEgZW5hYmxlICovDQojZGVmaW5lIERBQ19DUl9CT0ZGMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9CT0ZGMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9CT0ZGMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERBQ19DUl9CT0ZGMSAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9CT0ZGMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMSBvdXRwdXQgYnVmZmVyIGRpc2FibGUgKi8NCiNkZWZpbmUgREFDX0NSX1RFTjFfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1RFTjFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1RFTjFfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgREFDX0NSX1RFTjEgICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1RFTjFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwxIFRyaWdnZXIgZW5hYmxlICovDQoNCiNkZWZpbmUgREFDX0NSX1RTRUwxX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1RTRUwxX01zayAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1RTRUwxX01zayAgICAgICAgICAgICAgICAgICAvKiE8VFNFTDFbMjowXSAoREFDIGNoYW5uZWwxIFRyaWdnZXIgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfVFNFTDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfVFNFTDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDFfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBEQUNfQ1JfVFNFTDFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIERBQ19DUl9XQVZFMV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9XQVZFMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERBQ19DUl9XQVZFMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIERBQ19DUl9XQVZFMSAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9XQVZFMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFdBVkUxWzE6MF0gKERBQyBjaGFubmVsMSBub2lzZS90cmlhbmdsZSB3YXZlIGdlbmVyYXRpb24gZW5hYmxlKSAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfV0FWRTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfV0FWRTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIERBQ19DUl9NQU1QMV9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9NQU1QMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IERBQ19DUl9NQU1QMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMSAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9NQU1QMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE1BTVAxWzM6MF0gKERBQyBjaGFubmVsMSBNYXNrL0FtcGxpdHVkZSBzZWxlY3RvcikgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRE1BRU4xX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRE1BRU4xX01zayAgICAgICAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDEgRE1BIGVuYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfRE1BVURSSUUxX1BvcyAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRE1BVURSSUUxX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRE1BVURSSUUxX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfRE1BVURSSUUxICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRE1BVURSSUUxX01zayAgICAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDEgRE1BIEludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgREFDX0NSX0VOMl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0VOMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0VOMl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0VOMiAgICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0VOMl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwyIGVuYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfQk9GRjJfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfQk9GRjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfQk9GRjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfQk9GRjIgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfQk9GRjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgb3V0cHV0IGJ1ZmZlciBkaXNhYmxlICovDQojZGVmaW5lIERBQ19DUl9URU4yX1BvcyAgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9URU4yX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9URU4yX1BvcykgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERBQ19DUl9URU4yICAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9URU4yX01zayAgICAgICAgICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMiBUcmlnZ2VyIGVuYWJsZSAqLw0KDQojZGVmaW5lIERBQ19DUl9UU0VMMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9UU0VMMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMzgwMDAwICovDQojZGVmaW5lIERBQ19DUl9UU0VMMiAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9UU0VMMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRTRUwyWzI6MF0gKERBQyBjaGFubmVsMiBUcmlnZ2VyIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1RTRUwyX1BvcykgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX1RTRUwyX1BvcykgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwyXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgREFDX0NSX1RTRUwyX1BvcykgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfV0FWRTJfUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfV0FWRTJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBEQUNfQ1JfV0FWRTJfUG9zKSAgICAgICAgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTIgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfV0FWRTJfTXNrICAgICAgICAgICAgICAgICAgIC8qITxXQVZFMlsxOjBdIChEQUMgY2hhbm5lbDIgbm9pc2UvdHJpYW5nbGUgd2F2ZSBnZW5lcmF0aW9uIGVuYWJsZSkgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1dBVkUyX1BvcykgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX1dBVkUyX1BvcykgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfTUFNUDJfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfTUFNUDJfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBEQUNfQ1JfTUFNUDJfUG9zKSAgICAgICAgIC8qITwgMHgwRjAwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDIgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfTUFNUDJfTXNrICAgICAgICAgICAgICAgICAgIC8qITxNQU1QMlszOjBdIChEQUMgY2hhbm5lbDIgTWFzay9BbXBsaXR1ZGUgc2VsZWN0b3IpICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgREFDX0NSX0RNQUVOMl9Qb3MgICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0RNQUVOMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0RNQUVOMl9Qb3MpICAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0RNQUVOMiAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0RNQUVOMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwyIERNQSBlbmFibGVkICovDQojZGVmaW5lIERBQ19DUl9ETUFVRFJJRTJfUG9zICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9ETUFVRFJJRTJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9ETUFVRFJJRTJfUG9zKSAgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9ETUFVRFJJRTIgICAgICAgICAgICAgICAgICAgIERBQ19DUl9ETUFVRFJJRTJfTXNrICAgICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMiBETUEgdW5kZXJydW4gaW50ZXJydXB0IGVuYWJsZSAqLw0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX1NXVFJJR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMV9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREFDX1NXVFJJR1JfU1dUUklHMV9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMSAgICAgICAgICAgICAgICAgREFDX1NXVFJJR1JfU1dUUklHMV9Nc2sgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwxIHNvZnR3YXJlIHRyaWdnZXIgKi8NCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMl9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREFDX1NXVFJJR1JfU1dUUklHMl9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMiAgICAgICAgICAgICAgICAgREFDX1NXVFJJR1JfU1dUUklHMl9Nc2sgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwyIHNvZnR3YXJlIHRyaWdnZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyUjFfREFDQzFESFJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyUjFfREFDQzFESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJSMV9EQUNDMURIUl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfREhSMTJSMV9EQUNDMURIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDEgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJMMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJMMV9EQUNDMURIUl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJMMV9EQUNDMURIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMkwxX0RBQ0MxREhSX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIERBQ19ESFIxMkwxX0RBQ0MxREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMkwxX0RBQ0MxREhSX01zayAgICAgICAgICAgLyohPERBQyBjaGFubmVsMSAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFI4UjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IERBQ19ESFI4UjFfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUiAgICAgICAgICAgICAgICAgREFDX0RIUjhSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwxIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJSMl9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJSMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMlIyX0RBQ0MyREhSX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERBQ19ESFIxMlIyX0RBQ0MyREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMlIyX0RBQ0MyREhSX01zayAgICAgICAgICAgLyohPERBQyBjaGFubmVsMiAxMi1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMkwyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMkwyX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMkwyX0RBQ0MyREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyTDJfREFDQzJESFJfUG9zKSAvKiE8IDB4MDAwMEZGRjAgKi8NCiNkZWZpbmUgREFDX0RIUjEyTDJfREFDQzJESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyTDJfREFDQzJESFJfTXNrICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwyIDEyLWJpdCBMZWZ0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjhSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSMl9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFIyX0RBQ0MyREhSX01zayAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgOC1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMlJEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyUkRfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREFDX0RIUjEyUkRfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyUkRfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwxIDEyLWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCiNkZWZpbmUgREFDX0RIUjEyUkRfREFDQzJESFJfUG9zICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyUkRfREFDQzJESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJSRF9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwRkZGMDAwMCAqLw0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMkRIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJMRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMURIUl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMkxEX0RBQ0MxREhSX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MxREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMkxEX0RBQ0MxREhSX01zayAgICAgICAgICAgLyohPERBQyBjaGFubmVsMSAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8NCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzJESFJfUG9zICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzJESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJMRF9EQUNDMkRIUl9Qb3MpIC8qITwgMHhGRkYwMDAwMCAqLw0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMkRIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJMRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgMTItYml0IExlZnQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSOFJEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFI4UkRfREFDQzFESFJfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFI4UkRfREFDQzFESFJfTXNrICAgICAgICAgICAgICgweEZGVSA8PCBEQUNfREhSOFJEX0RBQ0MxREhSX1BvcykgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIERBQ19ESFI4UkRfREFDQzFESFIgICAgICAgICAgICAgICAgIERBQ19ESFI4UkRfREFDQzFESFJfTXNrICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMSA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IERBQ19ESFI4UkRfREFDQzJESFJfUG9zKSAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUiAgICAgICAgICAgICAgICAgREFDX0RIUjhSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwyIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ET1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUl9Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ET1IxX0RBQ0MxRE9SX1BvcykgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfRE9SMV9EQUNDMURPUiAgICAgICAgICAgICAgICAgICBEQUNfRE9SMV9EQUNDMURPUl9Nc2sgICAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDEgZGF0YSBvdXRwdXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfRE9SMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RPUjJfREFDQzJET1JfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RPUjJfREFDQzJET1JfTXNrICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfRE9SMl9EQUNDMkRPUl9Qb3MpICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREFDX0RPUjJfREFDQzJET1IgICAgICAgICAgICAgICAgICAgREFDX0RPUjJfREFDQzJET1JfTXNrICAgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwyIGRhdGEgb3V0cHV0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19TUl9ETUFVRFIxX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19TUl9ETUFVRFIxX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19TUl9ETUFVRFIxX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERBQ19TUl9ETUFVRFIxICAgICAgICAgICAgICAgICAgICAgIERBQ19TUl9ETUFVRFIxX01zayAgICAgICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMSBETUEgdW5kZXJydW4gZmxhZyAqLw0KI2RlZmluZSBEQUNfU1JfRE1BVURSMl9Qb3MgICAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfU1JfRE1BVURSMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfU1JfRE1BVURSMl9Qb3MpICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBEQUNfU1JfRE1BVURSMiAgICAgICAgICAgICAgICAgICAgICBEQUNfU1JfRE1BVURSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgRE1BIHVuZGVycnVuIGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgIERlYnVnIE1DVSAoREJHTUNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREJHTUNVX0lEQ09ERSByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEX01zayAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRCAgICAgICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfREVWX0lEX01zayAgICAgIC8qITwgRGV2aWNlIElkZW50aWZpZXIgKi8NCg0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweEZGRkYwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEICAgICAgICAgICAgICAgICAgICAgREJHTUNVX0lEQ09ERV9SRVZfSURfTXNrICAgICAgLyohPCBSRVZfSURbMTU6MF0gYml0cyAoUmV2aXNpb24gSWRlbnRpZmllcikgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMCAgICAgICAgICAgICAgICAgICAoMHgwMDAxVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xICAgICAgICAgICAgICAgICAgICgweDAwMDJVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzIgICAgICAgICAgICAgICAgICAgKDB4MDAwNFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMyAgICAgICAgICAgICAgICAgICAoMHgwMDA4VSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF80ICAgICAgICAgICAgICAgICAgICgweDAwMTBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzUgICAgICAgICAgICAgICAgICAgKDB4MDAyMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNiAgICAgICAgICAgICAgICAgICAoMHgwMDQwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF83ICAgICAgICAgICAgICAgICAgICgweDAwODBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzggICAgICAgICAgICAgICAgICAgKDB4MDEwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOSAgICAgICAgICAgICAgICAgICAoMHgwMjAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMCAgICAgICAgICAgICAgICAgICgweDA0MDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzExICAgICAgICAgICAgICAgICAgKDB4MDgwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTIgICAgICAgICAgICAgICAgICAoMHgxMDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMyAgICAgICAgICAgICAgICAgICgweDIwMDBVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEXzE0ICAgICAgICAgICAgICAgICAgKDB4NDAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTUgICAgICAgICAgICAgICAgICAoMHg4MDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREJHTUNVX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NMRUVQX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NMRUVQX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfU0xFRVBfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUCAgICAgICAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1NMRUVQX01zayAgICAgICAvKiE8IERlYnVnIFNsZWVwIE1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QICAgICAgICAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1NUT1BfTXNrICAgICAgICAvKiE8IERlYnVnIFN0b3AgTW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfU1RBTkRCWV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQlkgICAgICAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU1RBTkRCWV9Nc2sgICAgIC8qITwgRGVidWcgU3RhbmRieSBtb2RlICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9JT0VOX1BvcyAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9JT0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX1RSQUNFX0lPRU5fUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX0lPRU4gICAgICAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Nc2sgICAgICAvKiE8IFRyYWNlIFBpbiBBc3NpZ25tZW50IENvbnRyb2wgKi8NCg0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Nc2sgICAgICAgICAgICAgICAgICgweDNVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFICAgICAgICAgICAgICAgICAgICAgREJHTUNVX0NSX1RSQUNFX01PREVfTXNrICAgICAgLyohPCBUUkFDRV9NT0RFWzE6MF0gYml0cyAoVHJhY2UgUGluIEFzc2lnbm1lbnQgQ29udHJvbCkgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMDgwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfQVBCMV9GWiByZWdpc3RlciAgKioqKioqKioqKioqKiovDQoNCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTJfU1RPUF9Qb3MgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTJfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNMl9TVE9QX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19USU0yX1NUT1AgICAgICAgICAgICAgREJHTUNVX0FQQjFfRlpfREJHX1RJTTJfU1RPUF9Nc2sgLyohPCBUSU0yIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19USU0zX1NUT1BfUG9zICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19USU0zX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0FQQjFfRlpfREJHX1RJTTNfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNM19TVE9QICAgICAgICAgICAgIERCR01DVV9BUEIxX0ZaX0RCR19USU0zX1NUT1BfTXNrIC8qITwgVElNMyBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNNF9TVE9QX1BvcyAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNNF9TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9BUEIxX0ZaX0RCR19USU00X1NUT1BfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTRfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNNF9TVE9QX01zayAvKiE8IFRJTTQgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTZfU1RPUF9Qb3MgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTZfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNNl9TVE9QX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19USU02X1NUT1AgICAgICAgICAgICAgREJHTUNVX0FQQjFfRlpfREJHX1RJTTZfU1RPUF9Nc2sgLyohPCBUSU02IGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19USU03X1NUT1BfUG9zICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19USU03X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0FQQjFfRlpfREJHX1RJTTdfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNN19TVE9QICAgICAgICAgICAgIERCR01DVV9BUEIxX0ZaX0RCR19USU03X1NUT1BfTXNrIC8qITwgVElNNyBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfV1dER19TVE9QX1BvcyAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfV1dER19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9BUEIxX0ZaX0RCR19XV0RHX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1dXREdfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQVBCMV9GWl9EQkdfV1dER19TVE9QX01zayAvKiE8IERlYnVnIFdpbmRvdyBXYXRjaGRvZyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX0lXREdfU1RPUF9Qb3MgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX0lXREdfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQVBCMV9GWl9EQkdfSVdER19TVE9QX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19JV0RHX1NUT1AgICAgICAgICAgICAgREJHTUNVX0FQQjFfRlpfREJHX0lXREdfU1RPUF9Nc2sgLyohPCBEZWJ1ZyBJbmRlcGVuZGVudCBXYXRjaGRvZyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Qb3MgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Nc2sgKDB4MVUgPDwgREJHTUNVX0FQQjFfRlpfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfSTJDMV9TTUJVU19USU1FT1VUICAgIERCR01DVV9BUEIxX0ZaX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfTXNrIC8qITwgU01CVVMgdGltZW91dCBtb2RlIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX1BvcyAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX01zayAoMHgxVSA8PCBEQkdNQ1VfQVBCMV9GWl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19JMkMyX1NNQlVTX1RJTUVPVVQgICAgREJHTUNVX0FQQjFfRlpfREJHX0kyQzJfU01CVVNfVElNRU9VVF9Nc2sgLyohPCBTTUJVUyB0aW1lb3V0IG1vZGUgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfQVBCMl9GWiByZWdpc3RlciAgKioqKioqKioqKioqKiovDQoNCiNkZWZpbmUgREJHTUNVX0FQQjJfRlpfREJHX1RJTTlfU1RPUF9Qb3MgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjJfRlpfREJHX1RJTTlfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQVBCMl9GWl9EQkdfVElNOV9TVE9QX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU05X1NUT1AgICAgICAgICAgICAgREJHTUNVX0FQQjJfRlpfREJHX1RJTTlfU1RPUF9Nc2sgLyohPCBUSU05IGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xMF9TVE9QX1BvcyAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xMF9TVE9QX01zayAgICAgICAgKDB4MVUgPDwgREJHTUNVX0FQQjJfRlpfREJHX1RJTTEwX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgREJHTUNVX0FQQjJfRlpfREJHX1RJTTEwX1NUT1AgICAgICAgICAgICBEQkdNQ1VfQVBCMl9GWl9EQkdfVElNMTBfU1RPUF9Nc2sgLyohPCBUSU0xMCBjb3VudGVyIHN0b3BwZWQgd2hlbiBjb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMl9GWl9EQkdfVElNMTFfU1RPUF9Qb3MgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQVBCMl9GWl9EQkdfVElNMTFfU1RPUF9Nc2sgICAgICAgICgweDFVIDw8IERCR01DVV9BUEIyX0ZaX0RCR19USU0xMV9TVE9QX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xMV9TVE9QICAgICAgICAgICAgREJHTUNVX0FQQjJfRlpfREJHX1RJTTExX1NUT1BfTXNrIC8qITwgVElNMTEgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSBDb250cm9sbGVyIChETUEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0lTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9JU1JfR0lGMV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERNQV9JU1JfR0lGMSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JU1JfVENJRjEgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUYyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUYyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjJfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjJfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjNfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjMgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYzX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYzICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNCAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjRfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjQgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjZfUG9zKSAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjYgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY2X1BvcyAgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY2X1BvcykgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY2ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGNl9Qb3MpICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGNl9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGN19Qb3MgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGN19Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjdfUG9zICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjdfUG9zKSAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjcgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY3X1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY3X1BvcykgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfSUZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjEgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYxX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjJfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjIgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMl9Qb3MgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjNfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjMgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGM19Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGM19Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYzX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGM19Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjQgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Qb3MgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0X1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY0X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNF9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNF9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjVfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjUgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNV9Qb3MgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNV9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY1X1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Qb3MgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNV9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjZfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjZfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjYgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNl9Qb3MgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNl9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2X1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY2X1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY2X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNl9Qb3MgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNl9Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjdfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjdfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjcgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGN19Qb3MgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGN19Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3X1BvcyAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY3X1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY3X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGN19Qb3MgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGN19Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ0NSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0VOX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0VOX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBETUFfQ0NSX0VOICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0VOX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBlbmFibGUqLw0KI2RlZmluZSBETUFfQ0NSX1RDSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1RDSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBETUFfQ0NSX1RDSUUgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgY29tcGxldGUgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX0hUSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0hUSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0hUSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfQ0NSX0hUSUUgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0hUSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSGFsZiBUcmFuc2ZlciBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfVEVJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfVEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfVEVJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9DQ1JfVEVJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfVEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc2ZlciBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfRElSX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfRElSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfRElSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERNQV9DQ1JfRElSICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfRElSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIGRpcmVjdGlvbiAqLw0KI2RlZmluZSBETUFfQ0NSX0NJUkNfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0NJUkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0NJUkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBETUFfQ0NSX0NJUkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0NJUkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2lyY3VsYXIgbW9kZSAqLw0KI2RlZmluZSBETUFfQ0NSX1BJTkNfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BJTkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BJTkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBETUFfQ0NSX1BJTkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1BJTkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBpbmNyZW1lbnQgbW9kZSAqLw0KI2RlZmluZSBETUFfQ0NSX01JTkNfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX01JTkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01JTkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBETUFfQ0NSX01JTkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX01JTkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IGluY3JlbWVudCBtb2RlICovDQoNCiNkZWZpbmUgRE1BX0NDUl9QU0laRV9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QU0laRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QU0laRSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9QU0laRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBTSVpFWzE6MF0gYml0cyAoUGVyaXBoZXJhbCBzaXplKSAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkUgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTVNJWkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBNU0laRVsxOjBdIGJpdHMgKE1lbW9yeSBzaXplKSAqLw0KI2RlZmluZSBETUFfQ0NSX01TSVpFXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBETUFfQ0NSX01TSVpFXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfUExfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfUExfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERNQV9DQ1JfUExfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIERNQV9DQ1JfUEwgICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfUExfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQTFsxOjBdIGJpdHMoQ2hhbm5lbCBQcmlvcml0eSBsZXZlbCkgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTF8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTF8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU1fUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU1fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01FTTJNRU1fUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU0gICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX01FTTJNRU1fTXNrICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IHRvIG1lbW9yeSBtb2RlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGdlbmVyaWMgZm9yIERNQV9DTkRUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NORFRSX05EVF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgRE1BX0NORFRSX05EVF9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgRE1BX0NORFRSX05EVCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE51bWJlciBvZiBkYXRhIHRvIFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ05EVFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTkRUUjFfTkRUX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTkRUUjFfTkRUX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IERNQV9DTkRUUjFfTkRUX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIERNQV9DTkRUUjFfTkRUICAgICAgICAgICAgICAgICAgICAgIERNQV9DTkRUUjFfTkRUX01zayAgICAgICAgICAgICAgICAgLyohPCBOdW1iZXIgb2YgZGF0YSB0byBUcmFuc2ZlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NORFRSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ05EVFIyX05EVF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ05EVFIyX05EVF9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBETUFfQ05EVFIyX05EVF9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBETUFfQ05EVFIyX05EVCAgICAgICAgICAgICAgICAgICAgICBETUFfQ05EVFIyX05EVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTnVtYmVyIG9mIGRhdGEgdG8gVHJhbnNmZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTkRUUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NORFRSM19ORFRfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NORFRSM19ORFRfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgRE1BX0NORFRSM19ORFRfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgRE1BX0NORFRSM19ORFQgICAgICAgICAgICAgICAgICAgICAgRE1BX0NORFRSM19ORFRfTXNrICAgICAgICAgICAgICAgICAvKiE8IE51bWJlciBvZiBkYXRhIHRvIFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ05EVFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTkRUUjRfTkRUX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTkRUUjRfTkRUX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IERNQV9DTkRUUjRfTkRUX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIERNQV9DTkRUUjRfTkRUICAgICAgICAgICAgICAgICAgICAgIERNQV9DTkRUUjRfTkRUX01zayAgICAgICAgICAgICAgICAgLyohPCBOdW1iZXIgb2YgZGF0YSB0byBUcmFuc2ZlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NORFRSNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ05EVFI1X05EVF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ05EVFI1X05EVF9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBETUFfQ05EVFI1X05EVF9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBETUFfQ05EVFI1X05EVCAgICAgICAgICAgICAgICAgICAgICBETUFfQ05EVFI1X05EVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTnVtYmVyIG9mIGRhdGEgdG8gVHJhbnNmZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTkRUUjYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NORFRSNl9ORFRfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NORFRSNl9ORFRfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgRE1BX0NORFRSNl9ORFRfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgRE1BX0NORFRSNl9ORFQgICAgICAgICAgICAgICAgICAgICAgRE1BX0NORFRSNl9ORFRfTXNrICAgICAgICAgICAgICAgICAvKiE8IE51bWJlciBvZiBkYXRhIHRvIFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ05EVFI3IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTkRUUjdfTkRUX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTkRUUjdfTkRUX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IERNQV9DTkRUUjdfTkRUX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIERNQV9DTkRUUjdfTkRUICAgICAgICAgICAgICAgICAgICAgIERNQV9DTkRUUjdfTkRUX01zayAgICAgICAgICAgICAgICAgLyohPCBOdW1iZXIgb2YgZGF0YSB0byBUcmFuc2ZlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBnZW5lcmljIGZvciBETUFfQ1BBUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DUEFSX1BBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ1BBUl9QQV9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DUEFSX1BBICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DUEFSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NQQVIxX1BBX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NQQVIxX1BBX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DUEFSMV9QQV9Qb3MpICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NQQVIxX1BBICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NQQVIxX1BBX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlcmlwaGVyYWwgQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NQQVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ1BBUjJfUEFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ1BBUjJfUEFfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NQQVIyX1BBX1BvcykgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ1BBUjJfUEEgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ1BBUjJfUEFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ1BBUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DUEFSM19QQV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DUEFSM19QQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ1BBUjNfUEFfUG9zKSAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DUEFSM19QQSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DUEFSM19QQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEFkZHJlc3MgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NQQVI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ1BBUjRfUEFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ1BBUjRfUEFfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NQQVI0X1BBX1BvcykgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ1BBUjRfUEEgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ1BBUjRfUEFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ1BBUjUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DUEFSNV9QQV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DUEFSNV9QQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ1BBUjVfUEFfUG9zKSAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DUEFSNV9QQSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DUEFSNV9QQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DUEFSNiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NQQVI2X1BBX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NQQVI2X1BBX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DUEFSNl9QQV9Qb3MpICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NQQVI2X1BBICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NQQVI2X1BBX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlcmlwaGVyYWwgQWRkcmVzcyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ1BBUjcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DUEFSN19QQV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DUEFSN19QQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ1BBUjdfUEFfUG9zKSAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DUEFSN19QQSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DUEFSN19QQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZ2VuZXJpYyBmb3IgRE1BX0NNQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ01BUl9NQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ01BUl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NNQVJfTUFfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ01BUl9NQSAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ01BUl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTUFSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NNQVIxX01BX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NNQVIxX01BX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DTUFSMV9NQV9Qb3MpICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NNQVIxX01BICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NNQVIxX01BX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ01BUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTUFSMl9NQV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTUFSMl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ01BUjJfTUFfUG9zKSAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DTUFSMl9NQSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DTUFSMl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NNQVIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ01BUjNfTUFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ01BUjNfTUFfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NNQVIzX01BX1BvcykgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ01BUjNfTUEgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ01BUjNfTUFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IEFkZHJlc3MgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NNQVI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ01BUjRfTUFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ01BUjRfTUFfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NNQVI0X01BX1BvcykgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ01BUjRfTUEgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ01BUjRfTUFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTUFSNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NNQVI1X01BX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NNQVI1X01BX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DTUFSNV9NQV9Qb3MpICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NNQVI1X01BICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NNQVI1X01BX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ01BUjYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTUFSNl9NQV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTUFSNl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ01BUjZfTUFfUG9zKSAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DTUFSNl9NQSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DTUFSNl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NNQVI3IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ01BUjdfTUFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ01BUjdfTUFfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NNQVI3X01BX1BvcykgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ01BUjdfTUEgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ01BUjdfTUFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgIEV4dGVybmFsIEludGVycnVwdC9FdmVudCBDb250cm9sbGVyIChFWFRJKSAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9JTVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfSU1SX01SMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfSU1SX01SMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfSU1SX01SM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfSU1SX01SMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfSU1SX01SNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfSU1SX01SNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjhfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfSU1SX01SOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SOV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfSU1SX01SOSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNl9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOF9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOV9Qb3MgICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTkgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyMF9Qb3MgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIyMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIyMF9Qb3MpICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIyMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMjAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyMV9Qb3MgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIyMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIyMV9Qb3MpICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIyMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMjEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyMl9Qb3MgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIyMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIyMl9Qb3MpICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIyMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMjIgKi8NCi8qIENhdGdlcm95IDEgJiAyICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9JTVJfSU0wIEVYVElfSU1SX01SMA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xIEVYVElfSU1SX01SMQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0yIEVYVElfSU1SX01SMg0KI2RlZmluZSAgRVhUSV9JTVJfSU0zIEVYVElfSU1SX01SMw0KI2RlZmluZSAgRVhUSV9JTVJfSU00IEVYVElfSU1SX01SNA0KI2RlZmluZSAgRVhUSV9JTVJfSU01IEVYVElfSU1SX01SNQ0KI2RlZmluZSAgRVhUSV9JTVJfSU02IEVYVElfSU1SX01SNg0KI2RlZmluZSAgRVhUSV9JTVJfSU03IEVYVElfSU1SX01SNw0KI2RlZmluZSAgRVhUSV9JTVJfSU04IEVYVElfSU1SX01SOA0KI2RlZmluZSAgRVhUSV9JTVJfSU05IEVYVElfSU1SX01SOQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMCBFWFRJX0lNUl9NUjEwDQojZGVmaW5lICBFWFRJX0lNUl9JTTExIEVYVElfSU1SX01SMTENCiNkZWZpbmUgIEVYVElfSU1SX0lNMTIgRVhUSV9JTVJfTVIxMg0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMyBFWFRJX0lNUl9NUjEzDQojZGVmaW5lICBFWFRJX0lNUl9JTTE0IEVYVElfSU1SX01SMTQNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTUgRVhUSV9JTVJfTVIxNQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNiBFWFRJX0lNUl9NUjE2DQojZGVmaW5lICBFWFRJX0lNUl9JTTE3IEVYVElfSU1SX01SMTcNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTggRVhUSV9JTVJfTVIxOA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xOSBFWFRJX0lNUl9NUjE5DQojZGVmaW5lICBFWFRJX0lNUl9JTTIwIEVYVElfSU1SX01SMjANCiNkZWZpbmUgIEVYVElfSU1SX0lNMjEgRVhUSV9JTVJfTVIyMQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0yMiBFWFRJX0lNUl9NUjIyDQovKiBDYXRnZXJveSAxICYgMiAqLw0KI2RlZmluZSBFWFRJX0lNUl9JTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9JTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3RkZGRkZVIDw8IEVYVElfSU1SX0lNX1BvcykgICAgIC8qITwgMHgwMDdGRkZGRiAqLw0KI2RlZmluZSBFWFRJX0lNUl9JTSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9JTV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgQWxsICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9FTVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfRU1SX01SMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfRU1SX01SMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIyICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfRU1SX01SM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfRU1SX01SMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI1ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfRU1SX01SNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfRU1SX01SNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI4X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI4ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfRU1SX01SOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SOV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfRU1SX01SOSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfRU1SX01SMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTRfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE2X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTdfUG9zICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTdfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxOF9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxOCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE5X1BvcyAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE5X1BvcykgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE5ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE5X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE5ICovDQojZGVmaW5lIEVYVElfRU1SX01SMjBfUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMjBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMjBfUG9zKSAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMjAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMjAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIyMV9Qb3MgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIyMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIyMV9Qb3MpICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIyMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIyMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAyMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjIyX1BvcyAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjIyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjIyX1BvcykgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjIyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDIyICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9FTVJfRU0wIEVYVElfRU1SX01SMA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xIEVYVElfRU1SX01SMQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0yIEVYVElfRU1SX01SMg0KI2RlZmluZSAgRVhUSV9FTVJfRU0zIEVYVElfRU1SX01SMw0KI2RlZmluZSAgRVhUSV9FTVJfRU00IEVYVElfRU1SX01SNA0KI2RlZmluZSAgRVhUSV9FTVJfRU01IEVYVElfRU1SX01SNQ0KI2RlZmluZSAgRVhUSV9FTVJfRU02IEVYVElfRU1SX01SNg0KI2RlZmluZSAgRVhUSV9FTVJfRU03IEVYVElfRU1SX01SNw0KI2RlZmluZSAgRVhUSV9FTVJfRU04IEVYVElfRU1SX01SOA0KI2RlZmluZSAgRVhUSV9FTVJfRU05IEVYVElfRU1SX01SOQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMCBFWFRJX0VNUl9NUjEwDQojZGVmaW5lICBFWFRJX0VNUl9FTTExIEVYVElfRU1SX01SMTENCiNkZWZpbmUgIEVYVElfRU1SX0VNMTIgRVhUSV9FTVJfTVIxMg0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMyBFWFRJX0VNUl9NUjEzDQojZGVmaW5lICBFWFRJX0VNUl9FTTE0IEVYVElfRU1SX01SMTQNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTUgRVhUSV9FTVJfTVIxNQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNiBFWFRJX0VNUl9NUjE2DQojZGVmaW5lICBFWFRJX0VNUl9FTTE3IEVYVElfRU1SX01SMTcNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTggRVhUSV9FTVJfTVIxOA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xOSBFWFRJX0VNUl9NUjE5DQojZGVmaW5lICBFWFRJX0VNUl9FTTIwIEVYVElfRU1SX01SMjANCiNkZWZpbmUgIEVYVElfRU1SX0VNMjEgRVhUSV9FTVJfTVIyMQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0yMiBFWFRJX0VNUl9NUjIyDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1JUU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA1ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTEgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTMgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTQgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTYgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTdfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTcgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMThfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMThfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTggICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTggKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTlfUG9zICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTlfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTlfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTkgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTkgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjBfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMjBfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMjAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjFfUG9zICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMjFfUG9zKSAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjEgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMjEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjJfUG9zICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMjJfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMjIgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMjIgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1JUU1JfUlQwIEVYVElfUlRTUl9UUjANCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEgRVhUSV9SVFNSX1RSMQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMiBFWFRJX1JUU1JfVFIyDQojZGVmaW5lICBFWFRJX1JUU1JfUlQzIEVYVElfUlRTUl9UUjMNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDQgRVhUSV9SVFNSX1RSNA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNSBFWFRJX1JUU1JfVFI1DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ2IEVYVElfUlRTUl9UUjYNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDcgRVhUSV9SVFNSX1RSNw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUOCBFWFRJX1JUU1JfVFI4DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ5IEVYVElfUlRTUl9UUjkNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEwIEVYVElfUlRTUl9UUjEwDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMSBFWFRJX1JUU1JfVFIxMQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTIgRVhUSV9SVFNSX1RSMTINCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEzIEVYVElfUlRTUl9UUjEzDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNCBFWFRJX1JUU1JfVFIxNA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTUgRVhUSV9SVFNSX1RSMTUNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE2IEVYVElfUlRTUl9UUjE2DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNyBFWFRJX1JUU1JfVFIxNw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTggRVhUSV9SVFNSX1RSMTgNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE5IEVYVElfUlRTUl9UUjE5DQojZGVmaW5lICBFWFRJX1JUU1JfUlQyMCBFWFRJX1JUU1JfVFIyMA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMjEgRVhUSV9SVFNSX1RSMjENCiNkZWZpbmUgIEVYVElfUlRTUl9SVDIyIEVYVElfUlRTUl9UUjIyDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0ZUU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfRlRTUl9UUjBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjJfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjIgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAzICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjUgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA1ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA2ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA3ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjhfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjggICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA4ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA5ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEwX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMSAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNCAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2X1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE2X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxN19Qb3MgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxN19Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNyAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMThfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMThfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTggICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE4ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE5X1BvcyAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE5X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE5X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE5ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE5X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxOSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyMF9Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIyMF9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyMCAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIyMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMjAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMjFfUG9zICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMjFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMjFfUG9zKSAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMjEgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDIxICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjIyX1BvcyAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjIyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjIyX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjIyICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjIyX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyMiAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfRlRTUl9GVDAgRVhUSV9GVFNSX1RSMA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMSBFWFRJX0ZUU1JfVFIxDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQyIEVYVElfRlRTUl9UUjINCiNkZWZpbmUgIEVYVElfRlRTUl9GVDMgRVhUSV9GVFNSX1RSMw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNCBFWFRJX0ZUU1JfVFI0DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ1IEVYVElfRlRTUl9UUjUNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDYgRVhUSV9GVFNSX1RSNg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNyBFWFRJX0ZUU1JfVFI3DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ4IEVYVElfRlRTUl9UUjgNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDkgRVhUSV9GVFNSX1RSOQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTAgRVhUSV9GVFNSX1RSMTANCiNkZWZpbmUgIEVYVElfRlRTUl9GVDExIEVYVElfRlRTUl9UUjExDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMiBFWFRJX0ZUU1JfVFIxMg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTMgRVhUSV9GVFNSX1RSMTMNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE0IEVYVElfRlRTUl9UUjE0DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNSBFWFRJX0ZUU1JfVFIxNQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTYgRVhUSV9GVFNSX1RSMTYNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE3IEVYVElfRlRTUl9UUjE3DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxOCBFWFRJX0ZUU1JfVFIxOA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTkgRVhUSV9GVFNSX1RSMTkNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDIwIEVYVElfRlRTUl9UUjIwDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQyMSBFWFRJX0ZUU1JfVFIyMQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMjIgRVhUSV9GVFNSX1RSMjINCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfU1dJRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjBfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjBfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjAgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjFfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjFfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjFfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjFfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjIgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjNfUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjNfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjMgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjRfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjQgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjRfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjVfUG9zKSAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjUgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjZfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjZfUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjYgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjdfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjdfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjdfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjcgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjdfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjhfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjggICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjlfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjlfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjkgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwX1BvcyAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEwX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEwX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMV9Qb3MgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMV9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMSAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMV9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTJfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTJfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTJfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTIgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTJfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzX1BvcyAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEzX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEzX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNF9Qb3MgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTVfUG9zKSAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTUgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTVfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2X1BvcyAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE2X1BvcykgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE2X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxN19Qb3MgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxN19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxN19Qb3MpICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNyAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxN19Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMThfUG9zICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMThfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMThfUG9zKSAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTggICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMThfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE5X1BvcyAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE5X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE5X1BvcykgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE5ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE5X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE5ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyMF9Qb3MgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyMF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIyMF9Qb3MpICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyMCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIyMF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAyMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMjFfUG9zICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMjFfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMjFfUG9zKSAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMjEgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMjFfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMjEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjIyX1BvcyAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjIyX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjIyX1BvcykgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjIyICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjIyX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDIyICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kwIEVYVElfU1dJRVJfU1dJRVIwDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEgRVhUSV9TV0lFUl9TV0lFUjENCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMiBFWFRJX1NXSUVSX1NXSUVSMg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kzIEVYVElfU1dJRVJfU1dJRVIzDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTQgRVhUSV9TV0lFUl9TV0lFUjQNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNSBFWFRJX1NXSUVSX1NXSUVSNQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k2IEVYVElfU1dJRVJfU1dJRVI2DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTcgRVhUSV9TV0lFUl9TV0lFUjcNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJOCBFWFRJX1NXSUVSX1NXSUVSOA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k5IEVYVElfU1dJRVJfU1dJRVI5DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEwIEVYVElfU1dJRVJfU1dJRVIxMA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMSBFWFRJX1NXSUVSX1NXSUVSMTENCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTIgRVhUSV9TV0lFUl9TV0lFUjEyDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEzIEVYVElfU1dJRVJfU1dJRVIxMw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNCBFWFRJX1NXSUVSX1NXSUVSMTQNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTUgRVhUSV9TV0lFUl9TV0lFUjE1DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE2IEVYVElfU1dJRVJfU1dJRVIxNg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNyBFWFRJX1NXSUVSX1NXSUVSMTcNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTggRVhUSV9TV0lFUl9TV0lFUjE4DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE5IEVYVElfU1dJRVJfU1dJRVIxOQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kyMCBFWFRJX1NXSUVSX1NXSUVSMjANCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMjEgRVhUSV9TV0lFUl9TV0lFUjIxDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTIyIEVYVElfU1dJRVJfU1dJRVIyMg0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX1BSX1BSMF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMiAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSM19Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSM19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSM19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMyAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSM19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNF9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNiAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSN19Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSN19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSN19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNyAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSN19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSOF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSOF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSOV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSOV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSOV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTBfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjExX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjExX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjExICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjExX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDExICovDQojZGVmaW5lIEVYVElfUFJfUFIxMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTNfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTMgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfUFJfUFIxNV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTZfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTYgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE3X1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfUFJfUFIxOF9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxOF9Qb3MpICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxOCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxOF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxOCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTlfUG9zICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTlfUG9zKSAgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTkgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTkgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjIwX1BvcykgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjIwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjIwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDIwICovDQojZGVmaW5lIEVYVElfUFJfUFIyMV9Qb3MgICAgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIyMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIyMV9Qb3MpICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIyMSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIyMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAyMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMjJfUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMjIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMjIgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1BSX1BJRjAgRVhUSV9QUl9QUjANCiNkZWZpbmUgIEVYVElfUFJfUElGMSBFWFRJX1BSX1BSMQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYyIEVYVElfUFJfUFIyDQojZGVmaW5lICBFWFRJX1BSX1BJRjMgRVhUSV9QUl9QUjMNCiNkZWZpbmUgIEVYVElfUFJfUElGNCBFWFRJX1BSX1BSNA0KI2RlZmluZSAgRVhUSV9QUl9QSUY1IEVYVElfUFJfUFI1DQojZGVmaW5lICBFWFRJX1BSX1BJRjYgRVhUSV9QUl9QUjYNCiNkZWZpbmUgIEVYVElfUFJfUElGNyBFWFRJX1BSX1BSNw0KI2RlZmluZSAgRVhUSV9QUl9QSUY4IEVYVElfUFJfUFI4DQojZGVmaW5lICBFWFRJX1BSX1BJRjkgRVhUSV9QUl9QUjkNCiNkZWZpbmUgIEVYVElfUFJfUElGMTAgRVhUSV9QUl9QUjEwDQojZGVmaW5lICBFWFRJX1BSX1BJRjExIEVYVElfUFJfUFIxMQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMiBFWFRJX1BSX1BSMTINCiNkZWZpbmUgIEVYVElfUFJfUElGMTMgRVhUSV9QUl9QUjEzDQojZGVmaW5lICBFWFRJX1BSX1BJRjE0IEVYVElfUFJfUFIxNA0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNSBFWFRJX1BSX1BSMTUNCiNkZWZpbmUgIEVYVElfUFJfUElGMTYgRVhUSV9QUl9QUjE2DQojZGVmaW5lICBFWFRJX1BSX1BJRjE3IEVYVElfUFJfUFIxNw0KI2RlZmluZSAgRVhUSV9QUl9QSUYxOCBFWFRJX1BSX1BSMTgNCiNkZWZpbmUgIEVYVElfUFJfUElGMTkgRVhUSV9QUl9QUjE5DQojZGVmaW5lICBFWFRJX1BSX1BJRjIwIEVYVElfUFJfUFIyMA0KI2RlZmluZSAgRVhUSV9QUl9QSUYyMSBFWFRJX1BSX1BSMjENCiNkZWZpbmUgIEVYVElfUFJfUElGMjIgRVhUSV9QUl9QUjIyDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgRkxBU0gsIERBVEEgRUVQUk9NIGFuZCBPcHRpb24gQnl0ZXMgUmVnaXN0ZXJzICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgKEZMQVNILCBEQVRBX0VFUFJPTSwgT0IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9BQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9MQVRFTkNZX1BvcykgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1kgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9MQVRFTkNZX01zayAgICAgICAgICAgICAvKiE8IExhdGVuY3kgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRFTl9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9QUkZURU5fUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRFTiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9QUkZURU5fTXNrICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0FDQzY0X1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX0FDQzY0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9BQ0M2NF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0FDQzY0ICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9BQ0M2NF9Nc2sgICAgICAgICAgICAgICAvKiE8IEFjY2VzcyA2NCBiaXRzICovDQojZGVmaW5lIEZMQVNIX0FDUl9TTEVFUF9QRF9Qb3MgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FDUl9TTEVFUF9QRF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfU0xFRVBfUERfUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZMQVNIX0FDUl9TTEVFUF9QRCAgICAgICAgICAgICAgICAgICBGTEFTSF9BQ1JfU0xFRVBfUERfTXNrICAgICAgICAgICAgLyohPCBGbGFzaCBtb2RlIGR1cmluZyBzbGVlcCBtb2RlICovDQojZGVmaW5lIEZMQVNIX0FDUl9SVU5fUERfUG9zICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FDUl9SVU5fUERfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfUlVOX1BEX1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX0FDUl9SVU5fUEQgICAgICAgICAgICAgICAgICAgICBGTEFTSF9BQ1JfUlVOX1BEX01zayAgICAgICAgICAgICAgLyohPCBGbGFzaCBtb2RlIGR1cmluZyBSVU4gbW9kZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1BFQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9QRUxPQ0tfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfUEVDUl9QRUxPQ0tfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1BFQ1JfUEVMT0NLX1BvcykgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9QRUxPQ0sgICAgICAgICAgICAgICAgICAgIEZMQVNIX1BFQ1JfUEVMT0NLX01zayAgICAgICAgICAgICAvKiE8IEZMQVNIX1BFQ1IgYW5kIEZsYXNoIGRhdGEgTG9jayAqLw0KI2RlZmluZSBGTEFTSF9QRUNSX1BSR0xPQ0tfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9QRUNSX1BSR0xPQ0tfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfUEVDUl9QUkdMT0NLX1BvcykgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9QRUNSX1BSR0xPQ0sgICAgICAgICAgICAgICAgICAgRkxBU0hfUEVDUl9QUkdMT0NLX01zayAgICAgICAgICAgIC8qITwgUHJvZ3JhbSBtYXRyaXggTG9jayAqLw0KI2RlZmluZSBGTEFTSF9QRUNSX09QVExPQ0tfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9QRUNSX09QVExPQ0tfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfUEVDUl9PUFRMT0NLX1BvcykgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9QRUNSX09QVExPQ0sgICAgICAgICAgICAgICAgICAgRkxBU0hfUEVDUl9PUFRMT0NLX01zayAgICAgICAgICAgIC8qITwgT3B0aW9uIGJ5dGUgbWF0cml4IExvY2sgKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9QUk9HX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfUEVDUl9QUk9HX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1BFQ1JfUFJPR19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9QUk9HICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1BFQ1JfUFJPR19Nc2sgICAgICAgICAgICAgICAvKiE8IFByb2dyYW0gbWF0cml4IHNlbGVjdGlvbiAqLw0KI2RlZmluZSBGTEFTSF9QRUNSX0RBVEFfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9QRUNSX0RBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfUEVDUl9EQVRBX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGTEFTSF9QRUNSX0RBVEEgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfUEVDUl9EQVRBX01zayAgICAgICAgICAgICAgIC8qITwgRGF0YSBtYXRyaXggc2VsZWN0aW9uICovDQojZGVmaW5lIEZMQVNIX1BFQ1JfRlREV19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1BFQ1JfRlREV19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9QRUNSX0ZURFdfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEZMQVNIX1BFQ1JfRlREVyAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9QRUNSX0ZURFdfTXNrICAgICAgICAgICAgICAgLyohPCBGaXhlZCBUaW1lIERhdGEgd3JpdGUgZm9yIFdvcmQvSGFsZiBXb3JkL0J5dGUgcHJvZ3JhbW1pbmcgKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9FUkFTRV9Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfUEVDUl9FUkFTRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1BFQ1JfRVJBU0VfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9FUkFTRSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1BFQ1JfRVJBU0VfTXNrICAgICAgICAgICAgICAvKiE8IFBhZ2UgZXJhc2luZyBtb2RlICovDQojZGVmaW5lIEZMQVNIX1BFQ1JfRlBSR19Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1BFQ1JfRlBSR19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9QRUNSX0ZQUkdfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZMQVNIX1BFQ1JfRlBSRyAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9QRUNSX0ZQUkdfTXNrICAgICAgICAgICAgICAgLyohPCBGYXN0IFBhZ2UvSGFsZiBQYWdlIHByb2dyYW1taW5nIG1vZGUgKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9FT1BJRV9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfUEVDUl9FT1BJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1BFQ1JfRU9QSUVfUG9zKSAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9FT1BJRSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1BFQ1JfRU9QSUVfTXNrICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBwcm9ncmFtbWluZyBpbnRlcnJ1cHQgKi8gDQojZGVmaW5lIEZMQVNIX1BFQ1JfRVJSSUVfUG9zICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1BFQ1JfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9QRUNSX0VSUklFX1BvcykgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEZMQVNIX1BFQ1JfRVJSSUUgICAgICAgICAgICAgICAgICAgICBGTEFTSF9QRUNSX0VSUklFX01zayAgICAgICAgICAgICAgLyohPCBFcnJvciBpbnRlcnJ1cHQgKi8gDQojZGVmaW5lIEZMQVNIX1BFQ1JfT0JMX0xBVU5DSF9Qb3MgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1BFQ1JfT0JMX0xBVU5DSF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9QRUNSX09CTF9MQVVOQ0hfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfUEVDUl9PQkxfTEFVTkNIICAgICAgICAgICAgICAgIEZMQVNIX1BFQ1JfT0JMX0xBVU5DSF9Nc2sgICAgICAgICAvKiE8IExhdW5jaCB0aGUgb3B0aW9uIGJ5dGUgbG9hZGluZyAqLyANCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1BES0VZUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9QREtFWVJfUERLRVlSX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9QREtFWVJfUERLRVlSX01zayAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX1BES0VZUl9QREtFWVJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfUERLRVlSX1BES0VZUiAgICAgICAgICAgICAgICAgIEZMQVNIX1BES0VZUl9QREtFWVJfTXNrICAgICAgICAgICAvKiE8IEZMQVNIX1BFQyBhbmQgZGF0YSBtYXRyaXggS2V5ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9QRUtFWVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfUEVLRVlSX1BFS0VZUl9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfUEVLRVlSX1BFS0VZUl9Nc2sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9QRUtFWVJfUEVLRVlSX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX1BFS0VZUl9QRUtFWVIgICAgICAgICAgICAgICAgICBGTEFTSF9QRUtFWVJfUEVLRVlSX01zayAgICAgICAgICAgLyohPCBGTEFTSF9QRUMgYW5kIGRhdGEgbWF0cml4IEtleSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfUFJHS0VZUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9QUkdLRVlSX1BSR0tFWVJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9QUkdLRVlSX1BSR0tFWVJfTXNrICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX1BSR0tFWVJfUFJHS0VZUl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9QUkdLRVlSX1BSR0tFWVIgICAgICAgICAgICAgICAgRkxBU0hfUFJHS0VZUl9QUkdLRVlSX01zayAgICAgICAgIC8qITwgUHJvZ3JhbSBtYXRyaXggS2V5ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9PUFRLRVlSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Nc2sgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUiAgICAgICAgICAgICAgICBGTEFTSF9PUFRLRVlSX09QVEtFWVJfTXNrICAgICAgICAgLyohPCBPcHRpb24gYnl0ZXMgbWF0cml4IEtleSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1NSX0JTWV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9CU1lfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX1NSX0JTWSAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCdXN5ICovDQojZGVmaW5lIEZMQVNIX1NSX0VPUF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX0VPUF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9FT1BfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX1NSX0VPUCAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9FT1BfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFbmQgT2YgUHJvZ3JhbW1pbmcqLw0KI2RlZmluZSBGTEFTSF9TUl9FTkRIVl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9FTkRIVl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfRU5ESFZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9TUl9FTkRIViAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfRU5ESFZfTXNrICAgICAgICAgICAgICAgIC8qITwgRW5kIG9mIGhpZ2ggdm9sdGFnZSAqLw0KI2RlZmluZSBGTEFTSF9TUl9SRUFEWV9Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9SRUFEWV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfUkVBRFlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBGTEFTSF9TUl9SRUFEWSAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfUkVBRFlfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggcmVhZHkgYWZ0ZXIgbG93IHBvd2VyIG1vZGUgKi8NCg0KI2RlZmluZSBGTEFTSF9TUl9XUlBFUlJfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9XUlBFUlJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfV1JQRVJSX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBGTEFTSF9TUl9XUlBFUlIgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfV1JQRVJSX01zayAgICAgICAgICAgICAgIC8qITwgV3JpdGUgcHJvdGVjdGVkIGVycm9yICovDQojZGVmaW5lIEZMQVNIX1NSX1BHQUVSUl9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX1BHQUVSUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9QR0FFUlJfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZMQVNIX1NSX1BHQUVSUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9QR0FFUlJfTXNrICAgICAgICAgICAgICAgLyohPCBQcm9ncmFtbWluZyBBbGlnbm1lbnQgRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfU0laRVJSX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfU0laRVJSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX1NJWkVSUl9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfU0laRVJSICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX1NJWkVSUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFNpemUgZXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfT1BUVkVSUl9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfT1BUVkVSUl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX09QVFZFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfT1BUVkVSUiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX09QVFZFUlJfTXNrICAgICAgICAgICAgICAvKiE8IE9wdGlvbiB2YWxpZGl0eSBlcnJvciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfT0JSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlRfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlRfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX09CUl9SRFBSVF9Qb3MpICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlQgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX1JEUFJUX01zayAgICAgICAgICAgICAgIC8qITwgUmVhZCBQcm90ZWN0aW9uICovDQojZGVmaW5lIEZMQVNIX09CUl9CT1JfTEVWX1BvcyAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9CT1JfTEVWX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBGTEFTSF9PQlJfQk9SX0xFVl9Qb3MpICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIEZMQVNIX09CUl9CT1JfTEVWICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfQk9SX0xFVl9Nc2sgICAgICAgICAgICAgLyohPCBCT1JfTEVWWzM6MF0gQnJvd24gT3V0IFJlc2V0IFRocmVzaG9sZCBMZXZlbCovDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSX1BvcyAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBGTEFTSF9PQlJfVVNFUl9Qb3MpICAgICAgLyohPCAweDAwNzAwMDAwICovDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgLyohPCBVc2VyIE9wdGlvbiBCeXRlcyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TV19Qb3MgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TV19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX0lXREdfU1dfUG9zKSAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TVyAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0lXREdfU1dfTXNrICAgICAgICAgICAgIC8qITwgSVdER19TVyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QX1BvcyAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX25SU1RfU1RPUF9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX25SU1RfU1RPUF9Nc2sgICAgICAgICAgIC8qITwgblJTVF9TVE9QICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZX1BvcyAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZX01zayAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfblJTVF9TVERCWV9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVERCWSAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX25SU1RfU1REQllfTXNrICAgICAgICAgIC8qITwgblJTVF9TVERCWSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlBSMV9XUlBfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlBSMV9XUlBfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX1dSUFIxX1dSUF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlBSMV9XUlAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQUjFfV1JQX01zayAgICAgICAgICAgICAgIC8qITwgV3JpdGUgUHJvdGVjdCBzZWN0b3JzIDAgIHRvIDMxICAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyYWwgUHVycG9zZSBJL08gICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgR1BJT19NT0RFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX01PREVSX01PREVSMF9Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwICAgICAgICAgICAgICAgICAgICBHUElPX01PREVSX01PREVSMF9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX01PREVSX01PREVSMF9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX01PREVSX01PREVSMF9Qb3MpICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjFfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjFfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fTU9ERVJfTU9ERVIxX1BvcykgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEgICAgICAgICAgICAgICAgICAgIEdQSU9fTU9ERVJfTU9ERVIxX01zayAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjFfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTU9ERVJfTU9ERVIxX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjFfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fTU9ERVJfTU9ERVIxX1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBHUElPX01PREVSX01PREVSMl9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSMl9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjJfUG9zKSAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSMiAgICAgICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjJfTXNrICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSMl8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjJfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSMl8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjJfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzX1BvcyAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX01PREVSX01PREVSM19Qb3MpICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzICAgICAgICAgICAgICAgICAgICBHUElPX01PREVSX01PREVSM19Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX01PREVSX01PREVSM19Qb3MpICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX01PREVSX01PREVSM19Qb3MpICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjRfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjRfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fTU9ERVJfTU9ERVI0X1BvcykgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjQgICAgICAgICAgICAgICAgICAgIEdQSU9fTU9ERVJfTU9ERVI0X01zayAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjRfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTU9ERVJfTU9ERVI0X1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjRfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fTU9ERVJfTU9ERVI0X1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBHUElPX01PREVSX01PREVSNV9Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSNV9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjVfUG9zKSAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSNSAgICAgICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjVfTXNrICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSNV8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjVfUG9zKSAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSNV8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjVfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2X1BvcyAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX01PREVSX01PREVSNl9Qb3MpICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2ICAgICAgICAgICAgICAgICAgICBHUElPX01PREVSX01PREVSNl9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2XzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX01PREVSX01PREVSNl9Qb3MpICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2XzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX01PREVSX01PREVSNl9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjdfUG9zICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjdfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fTU9ERVJfTU9ERVI3X1BvcykgICAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjcgICAgICAgICAgICAgICAgICAgIEdQSU9fTU9ERVJfTU9ERVI3X01zayAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjdfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTU9ERVJfTU9ERVI3X1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjdfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fTU9ERVJfTU9ERVI3X1BvcykgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBHUElPX01PREVSX01PREVSOF9Qb3MgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSOF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjhfUG9zKSAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSOCAgICAgICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjhfTXNrICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSOF8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjhfUG9zKSAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSOF8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjhfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX01PREVSX01PREVSOV9Qb3MpICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5ICAgICAgICAgICAgICAgICAgICBHUElPX01PREVSX01PREVSOV9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5XzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX01PREVSX01PREVSOV9Qb3MpICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5XzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX01PREVSX01PREVSOV9Qb3MpICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEwX1BvcyAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEwX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fTU9ERVJfTU9ERVIxMF9Qb3MpICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEwICAgICAgICAgICAgICAgICAgIEdQSU9fTU9ERVJfTU9ERVIxMF9Nc2sgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEwXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTU9ERVJfTU9ERVIxMF9Qb3MpICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEwXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fTU9ERVJfTU9ERVIxMF9Qb3MpICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTFfUG9zICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTFfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjExX1BvcykgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTEgICAgICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjExX01zayAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTFfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjExX1BvcykgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTFfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjExX1BvcykgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMl9Qb3MgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMl9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX01PREVSX01PREVSMTJfUG9zKSAgLyohPCAweDAzMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMiAgICAgICAgICAgICAgICAgICBHUElPX01PREVSX01PREVSMTJfTXNrICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMl8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX01PREVSX01PREVSMTJfUG9zKSAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMl8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX01PREVSX01PREVSMTJfUG9zKSAgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEzX1BvcyAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEzX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fTU9ERVJfTU9ERVIxM19Qb3MpICAvKiE8IDB4MEMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEzICAgICAgICAgICAgICAgICAgIEdQSU9fTU9ERVJfTU9ERVIxM19Nc2sgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEzXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTU9ERVJfTU9ERVIxM19Qb3MpICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEzXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fTU9ERVJfTU9ERVIxM19Qb3MpICAvKiE8IDB4MDgwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTRfUG9zICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTRfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjE0X1BvcykgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTQgICAgICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjE0X01zayAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTRfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjE0X1BvcykgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX01PREVSX01PREVSMTRfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjE0X1BvcykgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNV9Qb3MgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNV9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX01PREVSX01PREVSMTVfUG9zKSAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNSAgICAgICAgICAgICAgICAgICBHUElPX01PREVSX01PREVSMTVfTXNrICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNV8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX01PREVSX01PREVSMTVfUG9zKSAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNV8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX01PREVSX01PREVSMTVfUG9zKSAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgR1BJT19PVFlQRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMVUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzIgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzMgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzUgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzYgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzcgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzggICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzkgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzEwICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzExICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzEyICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzEzICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzE0ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzE1ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMFUpICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgR1BJT19PU1BFRURSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjBfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjBfTXNrICAgICAgICAgICAoMHgzVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIwX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjAgICAgICAgICAgICAgICBHUElPX09TUEVFREVSX09TUEVFRFIwX01zayAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjBfMCAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIwX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjBfMSAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIwX1BvcykgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMV9Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMV9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjFfUG9zKSAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMSAgICAgICAgICAgICAgIEdQSU9fT1NQRUVERVJfT1NQRUVEUjFfTXNrICAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMV8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjFfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMV8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjFfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIyX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIyX01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMl9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIyICAgICAgICAgICAgICAgR1BJT19PU1BFRURFUl9PU1BFRURSMl9Nc2sgICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIyXzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIyXzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMl9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjNfUG9zICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjNfTXNrICAgICAgICAgICAoMHgzVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIzX1BvcykgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjMgICAgICAgICAgICAgICBHUElPX09TUEVFREVSX09TUEVFRFIzX01zayAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjNfMCAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIzX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjNfMSAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIzX1BvcykgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNF9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjRfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNCAgICAgICAgICAgICAgIEdQSU9fT1NQRUVERVJfT1NQRUVEUjRfTXNrICAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNF8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjRfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNF8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjRfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI1X1BvcyAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI1X01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSNV9Qb3MpIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI1ICAgICAgICAgICAgICAgR1BJT19PU1BFRURFUl9PU1BFRURSNV9Nc2sgICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI1XzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSNV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI1XzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSNV9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjZfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjZfTXNrICAgICAgICAgICAoMHgzVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFI2X1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjYgICAgICAgICAgICAgICBHUElPX09TUEVFREVSX09TUEVFRFI2X01zayAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjZfMCAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFI2X1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjZfMSAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFI2X1BvcykgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSN19Qb3MgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSN19Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjdfUG9zKSAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNyAgICAgICAgICAgICAgIEdQSU9fT1NQRUVERVJfT1NQRUVEUjdfTXNrICAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSN18wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjdfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSN18xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjdfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI4X1BvcyAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI4X01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSOF9Qb3MpIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI4ICAgICAgICAgICAgICAgR1BJT19PU1BFRURFUl9PU1BFRURSOF9Nc2sgICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI4XzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSOF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI4XzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSOF9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjlfUG9zICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjlfTXNrICAgICAgICAgICAoMHgzVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFI5X1BvcykgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjkgICAgICAgICAgICAgICBHUElPX09TUEVFREVSX09TUEVFRFI5X01zayAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjlfMCAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFI5X1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjlfMSAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFI5X1BvcykgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTBfUG9zICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTBfTXNrICAgICAgICAgICgweDNVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjEwX1BvcykgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEwICAgICAgICAgICAgICBHUElPX09TUEVFREVSX09TUEVFRFIxMF9Nc2sgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEwXzAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIxMF9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMF8xICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMTBfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMV9Qb3MgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMV9Nc2sgICAgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMTFfUG9zKSAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTEgICAgICAgICAgICAgIEdQSU9fT1NQRUVERVJfT1NQRUVEUjExX01zayAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTFfMCAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjExX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjExXzEgICAgICAgICAgICAoMHgyVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIxMV9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEyX1BvcyAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEyX01zayAgICAgICAgICAoMHgzVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIxMl9Qb3MpIC8qITwgMHgwMzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMiAgICAgICAgICAgICAgR1BJT19PU1BFRURFUl9PU1BFRURSMTJfTXNrICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMl8wICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMTJfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTJfMSAgICAgICAgICAgICgweDJVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjEyX1BvcykgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTNfUG9zICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTNfTXNrICAgICAgICAgICgweDNVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjEzX1BvcykgLyohPCAweDBDMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEzICAgICAgICAgICAgICBHUElPX09TUEVFREVSX09TUEVFRFIxM19Nc2sgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEzXzAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIxM19Qb3MpIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxM18xICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMTNfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxNF9Qb3MgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxNF9Nc2sgICAgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMTRfUG9zKSAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTQgICAgICAgICAgICAgIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE0X01zayAgICAgICANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTRfMCAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjE0X1BvcykgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE0XzEgICAgICAgICAgICAoMHgyVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIxNF9Qb3MpIC8qITwgMHgyMDAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE1X1BvcyAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE1X01zayAgICAgICAgICAoMHgzVSA8PCBHUElPX09TUEVFREVSX09TUEVFRFIxNV9Qb3MpIC8qITwgMHhDMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxNSAgICAgICAgICAgICAgR1BJT19PU1BFRURFUl9PU1BFRURSMTVfTXNrICAgICAgIA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxNV8wICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURFUl9PU1BFRURSMTVfUG9zKSAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTVfMSAgICAgICAgICAgICgweDJVIDw8IEdQSU9fT1NQRUVERVJfT1NQRUVEUjE1X1BvcykgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgR1BJT19QVVBEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIwX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIwX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX1BVUERSX1BVUERSMF9Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIwICAgICAgICAgICAgICAgICAgICBHUElPX1BVUERSX1BVUERSMF9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIwXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX1BVUERSX1BVUERSMF9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIwXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX1BVUERSX1BVUERSMF9Qb3MpICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjFfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjFfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxX1BvcykgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEgICAgICAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxX01zayAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjFfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjFfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxX1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMl9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMl9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19QVVBEUl9QVVBEUjJfUG9zKSAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMiAgICAgICAgICAgICAgICAgICAgR1BJT19QVVBEUl9QVVBEUjJfTXNrICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMl8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19QVVBEUl9QVVBEUjJfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMl8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19QVVBEUl9QVVBEUjJfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIzX1BvcyAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIzX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX1BVUERSX1BVUERSM19Qb3MpICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIzICAgICAgICAgICAgICAgICAgICBHUElPX1BVUERSX1BVUERSM19Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIzXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX1BVUERSX1BVUERSM19Qb3MpICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIzXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX1BVUERSX1BVUERSM19Qb3MpICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjRfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjRfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFI0X1BvcykgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjQgICAgICAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFI0X01zayAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjRfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFI0X1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjRfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFI0X1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNV9Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNV9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19QVVBEUl9QVVBEUjVfUG9zKSAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNSAgICAgICAgICAgICAgICAgICAgR1BJT19QVVBEUl9QVVBEUjVfTXNrICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNV8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19QVVBEUl9QVVBEUjVfUG9zKSAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNV8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19QVVBEUl9QVVBEUjVfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI2X1BvcyAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI2X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX1BVUERSX1BVUERSNl9Qb3MpICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI2ICAgICAgICAgICAgICAgICAgICBHUElPX1BVUERSX1BVUERSNl9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI2XzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX1BVUERSX1BVUERSNl9Qb3MpICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI2XzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX1BVUERSX1BVUERSNl9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjdfUG9zICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjdfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFI3X1BvcykgICAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjcgICAgICAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFI3X01zayAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjdfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFI3X1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjdfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFI3X1BvcykgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOF9Qb3MgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19QVVBEUl9QVVBEUjhfUG9zKSAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOCAgICAgICAgICAgICAgICAgICAgR1BJT19QVVBEUl9QVVBEUjhfTXNrICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOF8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19QVVBEUl9QVVBEUjhfUG9zKSAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOF8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19QVVBEUl9QVVBEUjhfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI5X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI5X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX1BVUERSX1BVUERSOV9Qb3MpICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI5ICAgICAgICAgICAgICAgICAgICBHUElPX1BVUERSX1BVUERSOV9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI5XzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX1BVUERSX1BVUERSOV9Qb3MpICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI5XzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX1BVUERSX1BVUERSOV9Qb3MpICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEwX1BvcyAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEwX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMF9Qb3MpICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEwICAgICAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxMF9Nc2sgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEwXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMF9Qb3MpICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEwXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMF9Qb3MpICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTFfUG9zICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTFfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19QVVBEUl9QVVBEUjExX1BvcykgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTEgICAgICAgICAgICAgICAgICAgR1BJT19QVVBEUl9QVVBEUjExX01zayAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTFfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19QVVBEUl9QVVBEUjExX1BvcykgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTFfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19QVVBEUl9QVVBEUjExX1BvcykgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxMl9Qb3MgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxMl9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX1BVUERSX1BVUERSMTJfUG9zKSAgLyohPCAweDAzMDAwMDAwICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxMiAgICAgICAgICAgICAgICAgICBHUElPX1BVUERSX1BVUERSMTJfTXNrICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxMl8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX1BVUERSX1BVUERSMTJfUG9zKSAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxMl8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX1BVUERSX1BVUERSMTJfUG9zKSAgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEzX1BvcyAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEzX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxM19Qb3MpICAvKiE8IDB4MEMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEzICAgICAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxM19Nc2sgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEzXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxM19Qb3MpICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEzXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxM19Qb3MpICAvKiE8IDB4MDgwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTRfUG9zICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTRfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19QVVBEUl9QVVBEUjE0X1BvcykgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTQgICAgICAgICAgICAgICAgICAgR1BJT19QVVBEUl9QVVBEUjE0X01zayAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTRfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19QVVBEUl9QVVBEUjE0X1BvcykgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTRfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19QVVBEUl9QVVBEUjE0X1BvcykgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTVfUG9zICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTVfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19QVVBEUl9QVVBEUjE1X1BvcykgIC8qITwgMHhDMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTUgICAgICAgICAgICAgICAgICAgR1BJT19QVVBEUl9QVVBEUjE1X01zayAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTVfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19QVVBEUl9QVVBEUjE1X1BvcykgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTVfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19QVVBEUl9QVVBEUjE1X1BvcykgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEdQSU9fSURSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0lEUl9JRFJfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfNSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfNiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfNyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfOCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfOSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMTAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMTEgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMTIgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMTMgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMTQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFJfMTUgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEdQSU9fT0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX09EUl9PRFJfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfNSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfNiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfNyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfOCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfOSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMTAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMTEgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMTIgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMTMgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMTQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFJfMTUgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEdQSU9fQlNSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0JTUlJfQlNfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfNSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfNiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfNyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfOCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfOSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTEgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTIgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTMgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTUgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfNSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfNiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfNyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA4MDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfOCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfOSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDIwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTAgICAgICAgICAgICAgICAgICAgICAgKDB4MDQwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTEgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTIgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTMgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTQgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTUgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0xDS1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzBfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzFfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzJfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzNfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzRfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzVfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzZfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzdfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzdfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzhfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzhfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzlfTXNrICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzEwX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzEwX01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzExX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTEgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzExX01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzEyX1BvcykgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTIgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzEyX01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzEzX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTMgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzEzX01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzE0X1BvcykgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTQgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzE0X01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzE1X1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTUgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzE1X01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLS19Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDS0tfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLSyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDS0tfTXNrICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0FGUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwwX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMMF9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkxfQUZTRUwwX1BvcykgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwwICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDBfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDFfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwxX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSTF9BRlNFTDFfUG9zKSAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDEgICAgICAgICAgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMMV9Nc2sgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMMl9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDJfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJMX0FGU0VMMl9Qb3MpICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMMiAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUwyX01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwzX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMM19Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkxfQUZTRUwzX1BvcykgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwzICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDNfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDRfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUw0X01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSTF9BRlNFTDRfUG9zKSAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDQgICAgICAgICAgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMNF9Nc2sgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMNV9Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDVfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJMX0FGU0VMNV9Qb3MpICAgICAvKiE8IDB4MDBGMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMNSAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUw1X01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUw2X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMNl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkxfQUZTRUw2X1BvcykgICAgIC8qITwgMHgwRjAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUw2ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDZfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDdfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUw3X01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSTF9BRlNFTDdfUG9zKSAgICAgLyohPCAweEYwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDcgICAgICAgICAgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMN19Nc2sgICAgICAgICAgICAgICANCg0KLyoqKioqKioqKioqKioqKioqKiBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19BRlJIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMOF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDhfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJIX0FGU0VMOF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMOCAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUw4X01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUw5X1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMOV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkhfQUZTRUw5X1BvcykgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUw5ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDlfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDEwX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJIX0FGU0VMMTBfUG9zKSAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDEwICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDEwX01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxMV9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDExX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSSF9BRlNFTDExX1BvcykgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxMSAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxMV9Nc2sgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTJfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkhfQUZTRUwxMl9Qb3MpICAgICAvKiE8IDB4MDAwRjAwMDAgKi8NCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTIgICAgICAgICAgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTJfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDEzX1BvcyAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJIX0FGU0VMMTNfUG9zKSAgICAgLyohPCAweDAwRjAwMDAwICovDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDEzICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDEzX01zayAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxNF9Qb3MgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDE0X01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSSF9BRlNFTDE0X1BvcykgICAgIC8qITwgMHgwRjAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxNCAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxNF9Nc2sgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTVfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkhfQUZTRUwxNV9Qb3MpICAgICAvKiE8IDB4RjAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTUgICAgICAgICAgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTVfTXNrICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgSW50ZXItaW50ZWdyYXRlZCBDaXJjdWl0IEludGVyZmFjZSAoSTJDKSAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfQ1IxX1BFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1BFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1BFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1BFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJVU19Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TTUJVU19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TTUJVU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJVUyAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TTUJVU19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIE1vZGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TTUJUWVBFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX0NSMV9TTUJUWVBFICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TTUJUWVBFX01zayAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIFR5cGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkFSUF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTkFSUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTkFSUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkFSUCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTkFSUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFSUCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTlBFQ19Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTlBFQ19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTlBFQ19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTlBFQyAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTlBFQ19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBFQyBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkdDX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FTkdDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9FTkdDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FTkdDICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9FTkdDX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEdlbmVyYWwgQ2FsbCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0hfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0hfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9OT1NUUkVUQ0hfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX0NSMV9OT1NUUkVUQ0ggICAgICAgICAgICAgICAgICAgSTJDX0NSMV9OT1NUUkVUQ0hfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIFN0cmV0Y2hpbmcgRGlzYWJsZSAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVEFSVF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TVEFSVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TVEFSVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TVEFSVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgSTJDX0NSMV9TVE9QX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TVE9QX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TVE9QX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVE9QICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TVE9QX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFN0b3AgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBJMkNfQ1IxX0FDS19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FDS19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0FDS19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0FDS19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQWNrbm93bGVkZ2UgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfUE9TX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUE9TX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUE9TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19DUjFfUE9TICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfUE9TX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZS9QRUMgUG9zaXRpb24gKGZvciBkYXRhIHJlY2VwdGlvbikgKi8NCiNkZWZpbmUgSTJDX0NSMV9QRUNfUG9zICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QRUNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9QRUMgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBhY2tldCBFcnJvciBDaGVja2luZyAqLw0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0FMRVJUX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FMRVJUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0FMRVJUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU01CdXMgQWxlcnQgKi8NCiNkZWZpbmUgSTJDX0NSMV9TV1JTVF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TV1JTVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TV1JTVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TV1JTVCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9TV1JTVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIFJlc2V0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfRlJFUV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNGVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfRlJFUV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBGUkVRWzU6MF0gYml0cyAoUGVyaXBoZXJhbCBDbG9jayBGcmVxdWVuY3kpICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19DUjJfRlJFUV81ICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBJMkNfQ1IyX0ZSRVFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOX1BvcyAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEVSUkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVSUkVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEVSUkVOX01zayAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEVWVEVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEVWVEVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEVWVEVOX01zayAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9JVEJVRkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9JVEJVRkVOICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9JVEJVRkVOX01zayAgICAgICAgICAgICAgICAvKiE8IEJ1ZmZlciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfRE1BRU5fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfRE1BRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfRE1BRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19DUjJfRE1BRU4gICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfRE1BRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBETUEgUmVxdWVzdHMgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfTEFTVF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfTEFTVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfTEFTVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19DUjJfTEFTVCAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfTEFTVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBETUEgTGFzdCBUcmFuc2ZlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19PQVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxXzcgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRVUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIEFkZHJlc3MgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOF85ICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBBZGRyZXNzICovDQoNCiNkZWZpbmUgSTJDX09BUjFfQUREMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMCAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDEgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQyICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMyAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDQgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ1ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDUgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURENl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURENl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURENl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA2ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDcgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNyAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ4ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ4X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDggKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOSAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA5ICovDQoNCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURETU9ERV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERSAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURETU9ERV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3NpbmcgTW9kZSAoU2xhdmUgbW9kZSkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfT0FSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjJfRU5EVUFMX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjJfRU5EVUFMX01zayAgICAgICAgICAgICAgICAvKiE8IER1YWwgYWRkcmVzc2luZyBtb2RlIGVuYWJsZSAqLw0KI2RlZmluZSBJMkNfT0FSMl9BREQyX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMl9BREQyX01zayAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgSTJDX09BUjJfQUREMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGRSAqLw0KI2RlZmluZSBJMkNfT0FSMl9BREQyICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMl9BREQyX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIGFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEkyQ19EUl9EUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgSTJDX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IDgtYml0IERhdGEgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfU1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1NSMV9TQl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TQl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TQl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX1NSMV9TQiAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TQl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IEJpdCAoTWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUREUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19TUjFfQUREUiAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzIHNlbnQgKG1hc3RlciBtb2RlKS9tYXRjaGVkIChzbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX0JURl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0JURl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0JURl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfU1IxX0JURiAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0JURl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQnl0ZSBUcmFuc2ZlciBGaW5pc2hlZCAqLw0KI2RlZmluZSBJMkNfU1IxX0FERDEwX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FERDEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FERDEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfU1IxX0FERDEwICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FERDEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgMTAtYml0IGhlYWRlciBzZW50IChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9TVE9QRl9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TVE9QRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TVE9QRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX1NSMV9TVE9QRiAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TVE9QRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0b3AgZGV0ZWN0aW9uIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1JYTkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfU1IxX1JYTkUgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciBub3QgRW1wdHkgKHJlY2VpdmVycykgKi8NCiNkZWZpbmUgSTJDX1NSMV9UWEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9UWEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX1NSMV9UWEUgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgRW1wdHkgKHRyYW5zbWl0dGVycykgKi8NCiNkZWZpbmUgSTJDX1NSMV9CRVJSX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9CRVJSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9CRVJSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9CRVJSICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9CRVJSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1cyBFcnJvciAqLw0KI2RlZmluZSBJMkNfU1IxX0FSTE9fUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FSTE9fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FSTE9fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfU1IxX0FSTE8gICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FSTE9fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQXJiaXRyYXRpb24gTG9zdCAobWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQUZfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19TUjFfQUYgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZSBGYWlsdXJlICovDQojZGVmaW5lIEkyQ19TUjFfT1ZSX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfT1ZSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19TUjFfT1ZSICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuL1VuZGVycnVuICovDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfUEVDRVJSX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfUEVDRVJSX01zayAgICAgICAgICAgICAgICAgLyohPCBQRUMgRXJyb3IgaW4gcmVjZXB0aW9uICovDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfVElNRU9VVF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVCAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBUaW1lb3V0IG9yIFRsb3cgRXJyb3IgKi8NCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVF9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TTUJBTEVSVF9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVCAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TTUJBTEVSVF9Nc2sgICAgICAgICAgICAgICAvKiE8IFNNQnVzIEFsZXJ0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX1NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19TUjJfTVNMX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfTVNMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfTVNMX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19TUjJfTVNMICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfTVNMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNYXN0ZXIvU2xhdmUgKi8NCiNkZWZpbmUgSTJDX1NSMl9CVVNZX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9CVVNZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX1NSMl9CVVNZICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1cyBCdXN5ICovDQojZGVmaW5lIEkyQ19TUjJfVFJBX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfVFJBX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfVFJBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19TUjJfVFJBICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfVFJBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdHRlci9SZWNlaXZlciAqLw0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTExfUG9zICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTExfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX0dFTkNBTExfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTEwgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX0dFTkNBTExfTXNrICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbCBDYWxsIEFkZHJlc3MgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVF9Qb3MgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfU01CREVGQVVMVF9Qb3MpICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVCAgICAgICAgICAgICAgICAgIEkyQ19TUjJfU01CREVGQVVMVF9Nc2sgICAgICAgICAgICAgLyohPCBTTUJ1cyBEZXZpY2UgRGVmYXVsdCBBZGRyZXNzIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1RfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1RfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX1NNQkhPU1RfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1QgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX1NNQkhPU1RfTXNrICAgICAgICAgICAgICAgIC8qITwgU01CdXMgSG9zdCBIZWFkZXIgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfRFVBTEZfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfRFVBTEZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfRFVBTEZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19TUjJfRFVBTEYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfRFVBTEZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBEdWFsIEZsYWcgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfUEVDX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfUEVDX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBJMkNfU1IyX1BFQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEkyQ19TUjJfUEVDICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfUEVDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYWNrZXQgRXJyb3IgQ2hlY2tpbmcgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NDUl9DQ1JfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9DQ1JfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBJMkNfQ0NSX0NDUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgSTJDX0NDUl9DQ1IgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9DQ1JfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIENvbnRyb2wgUmVnaXN0ZXIgaW4gRmFzdC9TdGFuZGFyZCBtb2RlIChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NDUl9EVVRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9EVVRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NDUl9EVVRZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgSTJDX0NDUl9EVVRZICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9EVVRZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZhc3QgTW9kZSBEdXR5IEN5Y2xlICovDQojZGVmaW5lIEkyQ19DQ1JfRlNfUG9zICAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DQ1JfRlNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DQ1JfRlNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19DQ1JfRlMgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DQ1JfRlNfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBJMkMgTWFzdGVyIE1vZGUgU2VsZWN0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfVFJJU0UgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRV9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRV9Nc2sgICAgICAgICAgICAgICAgICgweDNGVSA8PCBJMkNfVFJJU0VfVFJJU0VfUG9zKSAgICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRSAgICAgICAgICAgICAgICAgICAgIEkyQ19UUklTRV9UUklTRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNYXhpbXVtIFJpc2UgVGltZSBpbiBGYXN0L1N0YW5kYXJkIG1vZGUgKE1hc3RlciBtb2RlKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXBlbmRlbnQgV0FUQ0hET0cgKElXREcpICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19LUl9LRVlfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19LUl9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgSVdER19LUl9LRVlfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgSVdER19LUl9LRVkgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19LUl9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEtleSB2YWx1ZSAod3JpdGUgb25seSwgcmVhZCAwMDAwaCkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19QUl9QUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19QUl9QUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgSVdER19QUl9QUiAgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19QUl9QUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBSWzI6MF0gKFByZXNjYWxlciBkaXZpZGVyKSAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfUkxSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1JMUl9STF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IElXREdfUkxSX1JMX1BvcykgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJV0RHX1JMUl9STCAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19TUl9QVlVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19TUl9QVlVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19TUl9QVlVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSVdER19TUl9QVlUgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19TUl9QVlVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIHByZXNjYWxlciB2YWx1ZSB1cGRhdGUgKi8NCiNkZWZpbmUgSVdER19TUl9SVlVfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19TUl9SVlVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19TUl9SVlVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSVdER19TUl9SVlUgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19TUl9SVlVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIGNvdW50ZXIgcmVsb2FkIHZhbHVlIHVwZGF0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICBMQ0QgQ29udHJvbGxlciAoTENEKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBMQ0RfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgTENEX0NSX0xDREVOX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX0NSX0xDREVOX01zayAgICAgICAgICAgKDB4MVUgPDwgTENEX0NSX0xDREVOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgTENEX0NSX0xDREVOICAgICAgICAgICAgICAgTENEX0NSX0xDREVOX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExDRCBFbmFibGUgQml0ICovDQojZGVmaW5lIExDRF9DUl9WU0VMX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIExDRF9DUl9WU0VMX01zayAgICAgICAgICAgICgweDFVIDw8IExDRF9DUl9WU0VMX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIExDRF9DUl9WU0VMICAgICAgICAgICAgICAgIExDRF9DUl9WU0VMX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBWb2x0YWdlIHNvdXJjZSBzZWxlY3RvciBCaXQgKi8NCg0KI2RlZmluZSBMQ0RfQ1JfRFVUWV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBMQ0RfQ1JfRFVUWV9Nc2sgICAgICAgICAgICAoMHg3VSA8PCBMQ0RfQ1JfRFVUWV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxQyAqLw0KI2RlZmluZSBMQ0RfQ1JfRFVUWSAgICAgICAgICAgICAgICBMQ0RfQ1JfRFVUWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFVUWVsyOjBdIGJpdHMgKER1dHkgc2VsZWN0b3IpICovDQojZGVmaW5lIExDRF9DUl9EVVRZXzAgICAgICAgICAgICAgICgweDFVIDw8IExDRF9DUl9EVVRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIExDRF9DUl9EVVRZXzEgICAgICAgICAgICAgICgweDJVIDw8IExDRF9DUl9EVVRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIExDRF9DUl9EVVRZXzIgICAgICAgICAgICAgICgweDRVIDw8IExDRF9DUl9EVVRZX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgTENEX0NSX0JJQVNfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX0NSX0JJQVNfTXNrICAgICAgICAgICAgKDB4M1UgPDwgTENEX0NSX0JJQVNfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgTENEX0NSX0JJQVMgICAgICAgICAgICAgICAgTENEX0NSX0JJQVNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJJQVNbMTowXSBiaXRzIChCaWFzIHNlbGVjdG9yKSAqLw0KI2RlZmluZSBMQ0RfQ1JfQklBU18wICAgICAgICAgICAgICAoMHgxVSA8PCBMQ0RfQ1JfQklBU19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBMQ0RfQ1JfQklBU18xICAgICAgICAgICAgICAoMHgyVSA8PCBMQ0RfQ1JfQklBU19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIExDRF9DUl9NVVhfU0VHX1BvcyAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIExDRF9DUl9NVVhfU0VHX01zayAgICAgICAgICgweDFVIDw8IExDRF9DUl9NVVhfU0VHX1BvcykgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIExDRF9DUl9NVVhfU0VHICAgICAgICAgICAgIExDRF9DUl9NVVhfU0VHX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNdXggU2VnbWVudCBFbmFibGUgQml0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgTENEX0ZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIExDRF9GQ1JfSERfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIExDRF9GQ1JfSERfTXNrICAgICAgICAgICAgICgweDFVIDw8IExDRF9GQ1JfSERfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIExDRF9GQ1JfSEQgICAgICAgICAgICAgICAgIExDRF9GQ1JfSERfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIaWdoIERyaXZlIEVuYWJsZSBCaXQgKi8NCiNkZWZpbmUgTENEX0ZDUl9TT0ZJRV9Qb3MgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX0ZDUl9TT0ZJRV9Nc2sgICAgICAgICAgKDB4MVUgPDwgTENEX0ZDUl9TT0ZJRV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgTENEX0ZDUl9TT0ZJRSAgICAgICAgICAgICAgTENEX0ZDUl9TT0ZJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IG9mIEZyYW1lIEludGVycnVwdCBFbmFibGUgQml0ICovDQojZGVmaW5lIExDRF9GQ1JfVURESUVfUG9zICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIExDRF9GQ1JfVURESUVfTXNrICAgICAgICAgICgweDFVIDw8IExDRF9GQ1JfVURESUVfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIExDRF9GQ1JfVURESUUgICAgICAgICAgICAgIExDRF9GQ1JfVURESUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBVcGRhdGUgRGlzcGxheSBEb25lIEludGVycnVwdCBFbmFibGUgQml0ICovDQoNCiNkZWZpbmUgTENEX0ZDUl9QT05fUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX0ZDUl9QT05fTXNrICAgICAgICAgICAgKDB4N1UgPDwgTENEX0ZDUl9QT05fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgTENEX0ZDUl9QT04gICAgICAgICAgICAgICAgTENEX0ZDUl9QT05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBPTlsyOjBdIGJpdHMgKFB1bHMgT04gRHVyYXRpb24pICovDQojZGVmaW5lIExDRF9GQ1JfUE9OXzAgICAgICAgICAgICAgICgweDFVIDw8IExDRF9GQ1JfUE9OX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIExDRF9GQ1JfUE9OXzEgICAgICAgICAgICAgICgweDJVIDw8IExDRF9GQ1JfUE9OX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIExDRF9GQ1JfUE9OXzIgICAgICAgICAgICAgICgweDRVIDw8IExDRF9GQ1JfUE9OX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgTENEX0ZDUl9ERUFEX1BvcyAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX0ZDUl9ERUFEX01zayAgICAgICAgICAgKDB4N1UgPDwgTENEX0ZDUl9ERUFEX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAzODAgKi8NCiNkZWZpbmUgTENEX0ZDUl9ERUFEICAgICAgICAgICAgICAgTENEX0ZDUl9ERUFEX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERFQURbMjowXSBiaXRzIChERUFEIFRpbWUpICovDQojZGVmaW5lIExDRF9GQ1JfREVBRF8wICAgICAgICAgICAgICgweDFVIDw8IExDRF9GQ1JfREVBRF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIExDRF9GQ1JfREVBRF8xICAgICAgICAgICAgICgweDJVIDw8IExDRF9GQ1JfREVBRF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIExDRF9GQ1JfREVBRF8yICAgICAgICAgICAgICgweDRVIDw8IExDRF9GQ1JfREVBRF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgTENEX0ZDUl9DQ19Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX0ZDUl9DQ19Nc2sgICAgICAgICAgICAgKDB4N1UgPDwgTENEX0ZDUl9DQ19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDFDMDAgKi8NCiNkZWZpbmUgTENEX0ZDUl9DQyAgICAgICAgICAgICAgICAgTENEX0ZDUl9DQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENDWzI6MF0gYml0cyAoQ29udHJhc3QgQ29udHJvbCkgKi8NCiNkZWZpbmUgTENEX0ZDUl9DQ18wICAgICAgICAgICAgICAgKDB4MVUgPDwgTENEX0ZDUl9DQ19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgTENEX0ZDUl9DQ18xICAgICAgICAgICAgICAgKDB4MlUgPDwgTENEX0ZDUl9DQ19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgTENEX0ZDUl9DQ18yICAgICAgICAgICAgICAgKDB4NFUgPDwgTENEX0ZDUl9DQ19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCg0KI2RlZmluZSBMQ0RfRkNSX0JMSU5LRl9Qb3MgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBMQ0RfRkNSX0JMSU5LRl9Nc2sgICAgICAgICAoMHg3VSA8PCBMQ0RfRkNSX0JMSU5LRl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwRTAwMCAqLw0KI2RlZmluZSBMQ0RfRkNSX0JMSU5LRiAgICAgICAgICAgICBMQ0RfRkNSX0JMSU5LRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQkxJTktGWzI6MF0gYml0cyAoQmxpbmsgRnJlcXVlbmN5KSAqLw0KI2RlZmluZSBMQ0RfRkNSX0JMSU5LRl8wICAgICAgICAgICAoMHgxVSA8PCBMQ0RfRkNSX0JMSU5LRl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBMQ0RfRkNSX0JMSU5LRl8xICAgICAgICAgICAoMHgyVSA8PCBMQ0RfRkNSX0JMSU5LRl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBMQ0RfRkNSX0JMSU5LRl8yICAgICAgICAgICAoMHg0VSA8PCBMQ0RfRkNSX0JMSU5LRl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIExDRF9GQ1JfQkxJTktfUG9zICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIExDRF9GQ1JfQkxJTktfTXNrICAgICAgICAgICgweDNVIDw8IExDRF9GQ1JfQkxJTktfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDMwMDAwICovDQojZGVmaW5lIExDRF9GQ1JfQkxJTksgICAgICAgICAgICAgIExDRF9GQ1JfQkxJTktfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCTElOS1sxOjBdIGJpdHMgKEJsaW5rIEVuYWJsZSkgKi8NCiNkZWZpbmUgTENEX0ZDUl9CTElOS18wICAgICAgICAgICAgKDB4MVUgPDwgTENEX0ZDUl9CTElOS19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgTENEX0ZDUl9CTElOS18xICAgICAgICAgICAgKDB4MlUgPDwgTENEX0ZDUl9CTElOS19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBMQ0RfRkNSX0RJVl9Qb3MgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBMQ0RfRkNSX0RJVl9Nc2sgICAgICAgICAgICAoMHhGVSA8PCBMQ0RfRkNSX0RJVl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDNDMDAwMCAqLw0KI2RlZmluZSBMQ0RfRkNSX0RJViAgICAgICAgICAgICAgICBMQ0RfRkNSX0RJVl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRElWWzM6MF0gYml0cyAoRGl2aWRlcikgKi8NCiNkZWZpbmUgTENEX0ZDUl9QU19Qb3MgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX0ZDUl9QU19Nc2sgICAgICAgICAgICAgKDB4RlUgPDwgTENEX0ZDUl9QU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDNDMDAwMDAgKi8NCiNkZWZpbmUgTENEX0ZDUl9QUyAgICAgICAgICAgICAgICAgTENEX0ZDUl9QU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBTWzM6MF0gYml0cyAoUHJlc2NhbGVyKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIExDRF9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBMQ0RfU1JfRU5TX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBMQ0RfU1JfRU5TX01zayAgICAgICAgICAgICAoMHgxVSA8PCBMQ0RfU1JfRU5TX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBMQ0RfU1JfRU5TICAgICAgICAgICAgICAgICBMQ0RfU1JfRU5TX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTENEIEVuYWJsZWQgQml0ICovDQojZGVmaW5lIExDRF9TUl9TT0ZfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIExDRF9TUl9TT0ZfTXNrICAgICAgICAgICAgICgweDFVIDw8IExDRF9TUl9TT0ZfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIExDRF9TUl9TT0YgICAgICAgICAgICAgICAgIExDRF9TUl9TT0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdGFydCBPZiBGcmFtZSBGbGFnIEJpdCAqLw0KI2RlZmluZSBMQ0RfU1JfVURSX1BvcyAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBMQ0RfU1JfVURSX01zayAgICAgICAgICAgICAoMHgxVSA8PCBMQ0RfU1JfVURSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBMQ0RfU1JfVURSICAgICAgICAgICAgICAgICBMQ0RfU1JfVURSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVXBkYXRlIERpc3BsYXkgUmVxdWVzdCBCaXQgKi8NCiNkZWZpbmUgTENEX1NSX1VERF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX1NSX1VERF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgTENEX1NSX1VERF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgTENEX1NSX1VERCAgICAgICAgICAgICAgICAgTENEX1NSX1VERF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFVwZGF0ZSBEaXNwbGF5IERvbmUgRmxhZyBCaXQgKi8NCiNkZWZpbmUgTENEX1NSX1JEWV9Qb3MgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX1NSX1JEWV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgTENEX1NSX1JEWV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgTENEX1NSX1JEWSAgICAgICAgICAgICAgICAgTENEX1NSX1JEWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJlYWR5IEZsYWcgQml0ICovDQojZGVmaW5lIExDRF9TUl9GQ1JTUl9Qb3MgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIExDRF9TUl9GQ1JTUl9Nc2sgICAgICAgICAgICgweDFVIDw8IExDRF9TUl9GQ1JTUl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIExDRF9TUl9GQ1JTUiAgICAgICAgICAgICAgIExDRF9TUl9GQ1JTUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMQ0QgRkNSIFJlZ2lzdGVyIFN5bmNocm9uaXphdGlvbiBGbGFnIEJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIExDRF9DTFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBMQ0RfQ0xSX1NPRkNfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBMQ0RfQ0xSX1NPRkNfTXNrICAgICAgICAgICAoMHgxVSA8PCBMQ0RfQ0xSX1NPRkNfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBMQ0RfQ0xSX1NPRkMgICAgICAgICAgICAgICBMQ0RfQ0xSX1NPRkNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgT2YgRnJhbWUgRmxhZyBDbGVhciBCaXQgKi8NCiNkZWZpbmUgTENEX0NMUl9VRERDX1BvcyAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX0NMUl9VRERDX01zayAgICAgICAgICAgKDB4MVUgPDwgTENEX0NMUl9VRERDX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgTENEX0NMUl9VRERDICAgICAgICAgICAgICAgTENEX0NMUl9VRERDX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFVwZGF0ZSBEaXNwbGF5IERvbmUgRmxhZyBDbGVhciBCaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBMQ0RfUkFNIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgTENEX1JBTV9TRUdNRU5UX0RBVEFfUG9zICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgTENEX1JBTV9TRUdNRU5UX0RBVEFfTXNrICAgKDB4RkZGRkZGRkZVIDw8IExDRF9SQU1fU0VHTUVOVF9EQVRBX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgTENEX1JBTV9TRUdNRU5UX0RBVEEgICAgICAgTENEX1JBTV9TRUdNRU5UX0RBVEFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFNlZ21lbnQgRGF0YSBCaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgIFBvd2VyIENvbnRyb2wgKFBXUikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQojZGVmaW5lIFBXUl9QVkRfU1VQUE9SVCAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQV1IgZmVhdHVyZSBhdmFpbGFibGUgb25seSBvbiBzcGVjaWZpYyBkZXZpY2VzOiBQb3dlciBWb2x0YWdlIERldGVjdGlvbiBmZWF0dXJlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFBXUl9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFBXUl9DUl9MUFNEU1JfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9MUFNEU1JfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9MUFNEU1JfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFBXUl9DUl9MUFNEU1IgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9MUFNEU1JfTXNrICAgICAgICAgICAgICAgICAgLyohPCBMb3ctcG93ZXIgZGVlcHNsZWVwL3NsZWVwL2xvdyBwb3dlciBydW4gKi8NCiNkZWZpbmUgUFdSX0NSX1BERFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX1BERFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1BERFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUFdSX0NSX1BERFMgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BERFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBvd2VyIERvd24gRGVlcHNsZWVwICovDQojZGVmaW5lIFBXUl9DUl9DV1VGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9DV1VGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9DV1VGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFBXUl9DUl9DV1VGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9DV1VGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBXYWtldXAgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1JfQ1NCRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfQ1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfQ1NCRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1NCRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfQ1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgU3RhbmRieSBGbGFnICovDQojZGVmaW5lIFBXUl9DUl9QVkRFX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QVkRFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9QVkRFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFBXUl9DUl9QVkRFICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QVkRFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQb3dlciBWb2x0YWdlIERldGVjdG9yIEVuYWJsZSAqLw0KDQojZGVmaW5lIFBXUl9DUl9QTFNfUG9zICAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QTFNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFBXUl9DUl9QTFNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMEUwICovDQojZGVmaW5lIFBXUl9DUl9QTFMgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQTFNbMjowXSBiaXRzIChQVkQgTGV2ZWwgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFBWRCBsZXZlbCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjEgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDEgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYyICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDYwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMyAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDQgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY1ICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwQTBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCA1ICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNiAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEMwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgNiAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjcgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBFMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDcgKi8NCg0KI2RlZmluZSBQV1JfQ1JfREJQX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfREJQX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfREJQX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBQV1JfQ1JfREJQICAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfREJQX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRGlzYWJsZSBCYWNrdXAgRG9tYWluIHdyaXRlIHByb3RlY3Rpb24gKi8NCiNkZWZpbmUgUFdSX0NSX1VMUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX1VMUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1VMUF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUFdSX0NSX1VMUCAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1VMUF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFVsdHJhIExvdyBQb3dlciBtb2RlICovDQojZGVmaW5lIFBXUl9DUl9GV1VfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9GV1VfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9GV1VfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFBXUl9DUl9GV1UgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9GV1VfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBGYXN0IHdha2V1cCAqLw0KDQojZGVmaW5lIFBXUl9DUl9WT1NfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9WT1NfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFBXUl9DUl9WT1NfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAxODAwICovDQojZGVmaW5lIFBXUl9DUl9WT1MgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9WT1NfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBWT1NbMTowXSBiaXRzIChWb2x0YWdlIHNjYWxpbmcgcmFuZ2Ugc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBQV1JfQ1JfVk9TXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfVk9TX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBQV1JfQ1JfVk9TXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBQV1JfQ1JfVk9TX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBQV1JfQ1JfTFBSVU5fUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfTFBSVU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfTFBSVU5fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBQV1JfQ1JfTFBSVU4gICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfTFBSVU5fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTG93IHBvd2VyIHJ1biBtb2RlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUFdSX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFBXUl9DU1JfV1VGX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfV1VGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfV1VGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFBXUl9DU1JfV1VGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfV1VGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXYWtldXAgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1NSX1NCRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1NCRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBQV1JfQ1NSX1NCRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgU3RhbmRieSBGbGFnICovDQojZGVmaW5lIFBXUl9DU1JfUFZET19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfUFZET19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfUFZET19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFBXUl9DU1JfUFZETyAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfUFZET19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgT3V0cHV0ICovDQojZGVmaW5lIFBXUl9DU1JfVlJFRklOVFJEWUZfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfVlJFRklOVFJEWUZfTXNrICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfVlJFRklOVFJEWUZfUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFBXUl9DU1JfVlJFRklOVFJEWUYgICAgICAgICAgICAgICAgIFBXUl9DU1JfVlJFRklOVFJEWUZfTXNrICAgICAgICAgICAgLyohPCBJbnRlcm5hbCB2b2x0YWdlIHJlZmVyZW5jZSAoVlJFRklOVCkgcmVhZHkgZmxhZyAqLw0KI2RlZmluZSBQV1JfQ1NSX1ZPU0ZfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1ZPU0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1ZPU0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBQV1JfQ1NSX1ZPU0YgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1ZPU0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVm9sdGFnZSBTY2FsaW5nIHNlbGVjdCBmbGFnICovDQojZGVmaW5lIFBXUl9DU1JfUkVHTFBGX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfUkVHTFBGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfUkVHTFBGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFBXUl9DU1JfUkVHTFBGICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfUkVHTFBGX01zayAgICAgICAgICAgICAgICAgLyohPCBSZWd1bGF0b3IgTFAgZmxhZyAqLw0KDQojZGVmaW5lIFBXUl9DU1JfRVdVUDFfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfRVdVUDFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfRVdVUDFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFBXUl9DU1JfRVdVUDEgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfRVdVUDFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGUgV0tVUCBwaW4gMSAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVAyX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX0VXVVAyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX0VXVVAyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVAyICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX0VXVVAyX01zayAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlIFdLVVAgcGluIDIgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQM19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9FV1VQM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9FV1VQM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQMyAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9FV1VQM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBXS1VQIHBpbiAzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgUmVzZXQgYW5kIENsb2NrIENvbnRyb2wgKFJDQykgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSU9OX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTSU9OX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTSU9OX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0lSRFlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFkgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCg0KI2RlZmluZSBSQ0NfQ1JfTVNJT05fUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfTVNJT05fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfTVNJT05fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfTVNJT04gICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfTVNJT05fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgTXVsdGkgU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9NU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9NU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9NU0lSRFlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19DUl9NU0lSRFkgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9NU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBNdWx0aSBTcGVlZCBjbG9jayByZWFkeSBmbGFnICovDQoNCiNkZWZpbmUgUkNDX0NSX0hTRU9OX1BvcyAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRU9OX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTRU9OX1BvcykgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTRU9OX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfUG9zICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VSRFlfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFkgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTRUJZUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUCAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQnlwYXNzICovDQoNCiNkZWZpbmUgUkNDX0NSX1BMTE9OX1BvcyAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX1BMTE9OX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX1BMTE9OX1BvcykgICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX1BMTE9OICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX1BMTE9OX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NSX1BMTFJEWV9Qb3MgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX1BMTFJEWV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX1BMTFJEWV9Qb3MpICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX1BMTFJEWSAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX1BMTFJEWV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBjbG9jayByZWFkeSBmbGFnICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Qb3MgICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9DU1NPTl9Qb3MpICAgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTiAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9DU1NPTl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gZW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0NSX1JUQ1BSRV9Qb3MgICAgICAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX1JUQ1BSRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NSX1JUQ1BSRV9Qb3MpICAgICAgICAvKiE8IDB4NjAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX1JUQ1BSRSAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX1JUQ1BSRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJUQy9MQ0QgUHJlc2NhbGVyICovDQojZGVmaW5lIFJDQ19DUl9SVENQUkVfMCAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQwICovDQojZGVmaW5lIFJDQ19DUl9SVENQUkVfMSAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQxICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19JQ1NDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19JQ1NDUl9IU0lDQUxfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19JQ1NDUl9IU0lDQUxfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBSQ0NfSUNTQ1JfSFNJQ0FMX1BvcykgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFJDQ19JQ1NDUl9IU0lDQUwgICAgICAgICAgICAgICAgICAgIFJDQ19JQ1NDUl9IU0lDQUxfTXNrICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIENhbGlicmF0aW9uICovDQojZGVmaW5lIFJDQ19JQ1NDUl9IU0lUUklNX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19JQ1NDUl9IU0lUUklNX01zayAgICAgICAgICAgICAgICgweDFGVSA8PCBSQ0NfSUNTQ1JfSFNJVFJJTV9Qb3MpICAgLyohPCAweDAwMDAxRjAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9IU0lUUklNICAgICAgICAgICAgICAgICAgIFJDQ19JQ1NDUl9IU0lUUklNX01zayAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHRyaW1taW5nICovDQoNCiNkZWZpbmUgUkNDX0lDU0NSX01TSVJBTkdFX1BvcyAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0lDU0NSX01TSVJBTkdFX01zayAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0lDU0NSX01TSVJBTkdFX1BvcykgICAvKiE8IDB4MDAwMEUwMDAgKi8NCiNkZWZpbmUgUkNDX0lDU0NSX01TSVJBTkdFICAgICAgICAgICAgICAgICAgUkNDX0lDU0NSX01TSVJBTkdFX01zayAgICAgICAgICAgICAvKiE8IEludGVybmFsIE11bHRpIFNwZWVkIGNsb2NrIFJhbmdlICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lSQU5HRV8wICAgICAgICAgICAgICAgICgweDBVIDw8IFJDQ19JQ1NDUl9NU0lSQU5HRV9Qb3MpICAgLyohPCAweDAwMDAwMDAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lSQU5HRV8xICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19JQ1NDUl9NU0lSQU5HRV9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lSQU5HRV8yICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19JQ1NDUl9NU0lSQU5HRV9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lSQU5HRV8zICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19JQ1NDUl9NU0lSQU5HRV9Qb3MpICAgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lSQU5HRV80ICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19JQ1NDUl9NU0lSQU5HRV9Qb3MpICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lSQU5HRV81ICAgICAgICAgICAgICAgICgweDVVIDw8IFJDQ19JQ1NDUl9NU0lSQU5HRV9Qb3MpICAgLyohPCAweDAwMDBBMDAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lSQU5HRV82ICAgICAgICAgICAgICAgICgweDZVIDw8IFJDQ19JQ1NDUl9NU0lSQU5HRV9Qb3MpICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lDQUxfUG9zICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lDQUxfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBSQ0NfSUNTQ1JfTVNJQ0FMX1BvcykgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIFJDQ19JQ1NDUl9NU0lDQUwgICAgICAgICAgICAgICAgICAgIFJDQ19JQ1NDUl9NU0lDQUxfTXNrICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBNdWx0aSBTcGVlZCBjbG9jayBDYWxpYnJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfSUNTQ1JfTVNJVFJJTV9Qb3MgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfSUNTQ1JfTVNJVFJJTV9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgUkNDX0lDU0NSX01TSVRSSU1fUG9zKSAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfSUNTQ1JfTVNJVFJJTSAgICAgICAgICAgICAgICAgICBSQ0NfSUNTQ1JfTVNJVFJJTV9Nc2sgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgTXVsdGkgU3BlZWQgY2xvY2sgdHJpbW1pbmcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfU1dfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1cgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfU1dfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFNXWzE6MF0gYml0cyAoU3lzdGVtIGNsb2NrIFN3aXRjaCkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KLyohPCBTVyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX01TSSAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBNU0kgc2VsZWN0ZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX0hTSSAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0kgc2VsZWN0ZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX0hTRSAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0Ugc2VsZWN0ZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX1BMTCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgc2VsZWN0ZWQgYXMgc3lzdGVtIGNsb2NrICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfU1dTX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfU1dTX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfU1dTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfU1dTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNXU1sxOjBdIGJpdHMgKFN5c3RlbSBDbG9jayBTd2l0Y2ggU3RhdHVzKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQovKiE8IFNXUyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19NU0kgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBNU0kgb3NjaWxsYXRvciB1c2VkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfSFNJICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIG9zY2lsbGF0b3IgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTX0hTRSAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19QTEwgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBDVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX01zayAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9IUFJFX01zayAgICAgICAgICAgICAgICAgIC8qITwgSFBSRVszOjBdIGJpdHMgKEFIQiBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfMyAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCi8qITwgSFBSRSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMSAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYyICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY0ICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwOTBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY4ICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwQTBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxNiAgICAgICAgICAgICAgICAgKDB4MDAwMDAwQjBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDE2ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNjQgICAgICAgICAgICAgICAgICgweDAwMDAwMEMwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA2NCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjEyOCAgICAgICAgICAgICAgICAoMHgwMDAwMDBEMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMTI4ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMjU2ICAgICAgICAgICAgICAgICgweDAwMDAwMEUwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAyNTYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY1MTIgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDUxMiAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAgLyohPCAweDAwMDAwNzAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BQUkUxX01zayAgICAgICAgICAgICAgICAgLyohPCBQUkUxWzI6MF0gYml0cyAoQVBCMSBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQoNCi8qITwgUFBSRTEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYyICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWNCAgICAgICAgICAgICAgICAgKDB4MDAwMDA1MDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjggICAgICAgICAgICAgICAgICgweDAwMDAwNjAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxNiAgICAgICAgICAgICAgICAoMHgwMDAwMDcwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDE2ICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDM4MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTIgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUFBSRTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBSRTJbMjowXSBiaXRzIChBUEIyIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KLyohPCBQUFJFMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjEgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjIgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVY0ICAgICAgICAgICAgICAgICAoMHgwMDAwMjgwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWOCAgICAgICAgICAgICAgICAgKDB4MDAwMDMwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjE2ICAgICAgICAgICAgICAgICgweDAwMDAzODAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMTYgKi8NCg0KLyohPCBQTEwgZW50cnkgY2xvY2sgc291cmNlKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMU1JDX1BvcyAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMU1JDX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMU1JDX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMU1JDICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMU1JDX01zayAgICAgICAgICAgICAgICAvKiE8IFBMTCBlbnRyeSBjbG9jayBzb3VyY2UgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExTUkNfSFNJICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIGFzIFBMTCBlbnRyeSBjbG9jayBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMU1JDX0hTRSAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBhcyBQTEwgZW50cnkgY2xvY2sgc291cmNlICovDQoNCg0KLyohPCBQTExNVUwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxfTXNrICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUl9QTExNVUxfUG9zKSAgICAgIC8qITwgMHgwMDNDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUwgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxfTXNrICAgICAgICAgICAgICAgIC8qITwgUExMTVVMWzM6MF0gYml0cyAoUExMIG11bHRpcGxpY2F0aW9uIGZhY3RvcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMX1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUExMTVVMX1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUExMTVVMX1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMXzMgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1JfUExMTVVMX1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KLyohPCBQTExNVUwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUwzICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrICogMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUw0ICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrICogNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUw2ICAgICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrICogNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUw4ICAgICAgICAgICAgICAgICAgICAoMHgwMDBDMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrICogOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUwxMiAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrICogMTIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMMTYgICAgICAgICAgICAgICAgICAgKDB4MDAxNDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayAqIDE2ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTDI0ICAgICAgICAgICAgICAgICAgICgweDAwMTgwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sgKiAyNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUwzMiAgICAgICAgICAgICAgICAgICAoMHgwMDFDMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrICogMzIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMNDggICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayAqIDQ4ICovDQoNCi8qITwgUExMRElWIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMRElWX1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMRElWX01zayAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMRElWX1BvcykgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMRElWICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMRElWX01zayAgICAgICAgICAgICAgICAvKiE8IFBMTERJVlsxOjBdIGJpdHMgKFBMTCBPdXRwdXQgRGl2aXNpb24pICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTERJVl8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTERJVl9Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTERJVl8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BMTERJVl9Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCg0KLyohPCBQTExESVYgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVYxICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIG91dHB1dCA9IENLVkNPIC8gMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVYyX1BvcyAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVYyX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExESVYyX1BvcykgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVYyICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExESVYyX01zayAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIG91dHB1dCA9IENLVkNPIC8gMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVYzX1BvcyAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVYzX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExESVYzX1BvcykgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVYzICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExESVYzX01zayAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIG91dHB1dCA9IENLVkNPIC8gMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVY0X1BvcyAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVY0X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9QTExESVY0X1BvcykgICAgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExESVY0ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExESVY0X01zayAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIG91dHB1dCA9IENLVkNPIC8gNCAqLw0KDQoNCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1BvcyAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfTUNPU0VMX1BvcykgICAgICAvKiE8IDB4MDcwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPU0VMX01zayAgICAgICAgICAgICAgICAvKiE8IE1DT1syOjBdIGJpdHMgKE1pY3JvY29udHJvbGxlciBDbG9jayBPdXRwdXQpICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX01DT1NFTF9Qb3MpICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX01DT1NFTF9Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX01DT1NFTF9Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQoNCi8qITwgTUNPIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX05PQ0xPQ0sgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9TWVNDTEtfUG9zICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9TWVNDTEtfTXNrICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX01DT1NFTF9TWVNDTEtfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1NZU0NMSyAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPU0VMX1NZU0NMS19Nc2sgICAgICAgICAvKiE8IFN5c3RlbSBjbG9jayBzZWxlY3RlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfSFNJX1BvcyAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfSFNJX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9NQ09TRUxfSFNJX1BvcykgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfSFNJICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09TRUxfSFNJX01zayAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgMTYgTUh6IFJDIG9zY2lsbGF0b3IgY2xvY2sgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX01TSV9Qb3MgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX01TSV9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfTUNPU0VMX01TSV9Qb3MpICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX01TSSAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPU0VMX01TSV9Nc2sgICAgICAgICAgICAvKiE8IEludGVybmFsIE1lZGl1bSBTcGVlZCBSQyBvc2NpbGxhdG9yIGNsb2NrIHNlbGVjdGVkICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9IU0VfUG9zICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9IU0VfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX01DT1NFTF9IU0VfUG9zKSAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9IU0UgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1NFTF9IU0VfTXNrICAgICAgICAgICAgLyohPCBFeHRlcm5hbCAxLTI1IE1IeiBvc2NpbGxhdG9yIGNsb2NrIHNlbGVjdGVkICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9QTExfUG9zICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9QTExfTXNrICAgICAgICAgICAgICgweDVVIDw8IFJDQ19DRkdSX01DT1NFTF9QTExfUG9zKSAgLyohPCAweDA1MDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9QTEwgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1NFTF9QTExfTXNrICAgICAgICAgICAgLyohPCBQTEwgY2xvY2sgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfTFNJX1BvcyAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfTFNJX01zayAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9NQ09TRUxfTFNJX1BvcykgIC8qITwgMHgwNjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfTFNJICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09TRUxfTFNJX01zayAgICAgICAgICAgIC8qITwgTFNJIHNlbGVjdGVkICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9MU0VfUG9zICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9MU0VfTXNrICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX01DT1NFTF9MU0VfUG9zKSAgLyohPCAweDA3MDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9MU0UgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1NFTF9MU0VfTXNrICAgICAgICAgICAgLyohPCBMU0Ugc2VsZWN0ZWQgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfUG9zICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9NQ09QUkVfUG9zKSAgICAgIC8qITwgMHg3MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09QUkVfTXNrICAgICAgICAgICAgICAgIC8qITwgTUNPUFJFWzI6MF0gYml0cyAoTWljcm9jb250cm9sbGVyIENsb2NrIE91dHB1dCBQcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1BSRV8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX01DT1BSRV9Qb3MpICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1BSRV8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX01DT1BSRV9Qb3MpICAgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1BSRV8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX01DT1BSRV9Qb3MpICAgICAgLyohPCAweDQwMDAwMDAwICovDQoNCi8qITwgTUNPIFByZXNjYWxlciBjb25maWd1cmF0aW9uICovIA0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfRElWMSAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgTUNPIGlzIGRpdmlkZWQgYnkgMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfRElWMiAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgTUNPIGlzIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfRElWNCAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgTUNPIGlzIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfRElWOCAgICAgICAgICAgICAgICAoMHgzMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgTUNPIGlzIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfRElWMTYgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgTUNPIGlzIGRpdmlkZWQgYnkgMTYgKi8NCiANCi8qIExlZ2FjeSBhbGlhc2VzICovDQojZGVmaW5lICBSQ0NfQ0ZHUl9NQ09fRElWMSAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1BSRV9ESVYxDQojZGVmaW5lICBSQ0NfQ0ZHUl9NQ09fRElWMiAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1BSRV9ESVYyDQojZGVmaW5lICBSQ0NfQ0ZHUl9NQ09fRElWNCAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1BSRV9ESVY0DQojZGVmaW5lICBSQ0NfQ0ZHUl9NQ09fRElWOCAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1BSRV9ESVY4DQojZGVmaW5lICBSQ0NfQ0ZHUl9NQ09fRElWMTYgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1BSRV9ESVYxNg0KI2RlZmluZSAgUkNDX0NGR1JfTUNPX05PQ0xPQ0sgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09TRUxfTk9DTE9DSw0KI2RlZmluZSAgUkNDX0NGR1JfTUNPX1NZU0NMSyAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09TRUxfU1lTQ0xLDQojZGVmaW5lICBSQ0NfQ0ZHUl9NQ09fSFNJICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1NFTF9IU0kNCiNkZWZpbmUgIFJDQ19DRkdSX01DT19NU0kgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPU0VMX01TSQ0KI2RlZmluZSAgUkNDX0NGR1JfTUNPX0hTRSAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09TRUxfSFNFDQojZGVmaW5lICBSQ0NfQ0ZHUl9NQ09fUExMICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT1NFTF9QTEwNCiNkZWZpbmUgIFJDQ19DRkdSX01DT19MU0kgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPU0VMX0xTSQ0KI2RlZmluZSAgUkNDX0NGR1JfTUNPX0xTRSAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09TRUxfTFNFDQoNCi8qITwqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ0lSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlGX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlGX01zayAgICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUZfUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUZfTXNrICAgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRl9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNJUkRZRl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRiAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlGX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlGX01zayAgICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUZfUG9zICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUZfTXNrICAgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfTVNJUkRZRl9Qb3MgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTVNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTVNJUkRZRl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19DSVJfTVNJUkRZRiAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTVNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgLyohPCBNU0kgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NGX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9DU1NGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9DU1NGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NGICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9DU1NGX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFNlY3VyaXR5IFN5c3RlbSBJbnRlcnJ1cHQgZmxhZyAqLw0KDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUVfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZSUVfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUUgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZSUVfTXNrICAgICAgICAgICAgICAgLyohPCBMU0kgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFX1BvcyAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUlFX1BvcykgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUlFX01zayAgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRV9Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlJRV9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUVfUG9zICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZSUVfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUUgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZSUVfTXNrICAgICAgICAgICAgICAgLyohPCBIU0UgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFX1BvcyAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUlFX1BvcykgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUlFX01zayAgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9NU0lSRFlJRV9Qb3MgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9NU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9NU0lSRFlJRV9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9NU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9NU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAvKiE8IE1TSSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlDX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlDX01zayAgICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDX1BvcyAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlDX1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlDX01zayAgICAgICAgICAgICAgICAvKiE8IExTRSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlDX1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlDX01zayAgICAgICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDX1BvcyAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlDX1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlDX01zayAgICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDX1BvcyAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlDX1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlDX01zayAgICAgICAgICAgICAgICAvKiE8IFBMTCBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9NU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9NU0lSRFlDX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9NU0lSRFlDX1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9NU0lSRFlDICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9NU0lSRFlDX01zayAgICAgICAgICAgICAgICAvKiE8IE1TSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NDX1BvcyAgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9DU1NDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9DU1NDX1BvcykgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NDICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9DU1NDX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFNlY3VyaXR5IFN5c3RlbSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FIQlJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0FSU1RfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0FSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQlJTVFJfR1BJT0FSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0FSU1QgICAgICAgICAgICAgICAgUkNDX0FIQlJTVFJfR1BJT0FSU1RfTXNrICAgICAgICAgICAvKiE8IEdQSU8gcG9ydCBBIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9CUlNUX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9CUlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJSU1RSX0dQSU9CUlNUX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9CUlNUICAgICAgICAgICAgICAgIFJDQ19BSEJSU1RSX0dQSU9CUlNUX01zayAgICAgICAgICAgLyohPCBHUElPIHBvcnQgQiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQUhCUlNUUl9HUElPQ1JTVF9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCUlNUUl9HUElPQ1JTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCUlNUUl9HUElPQ1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQUhCUlNUUl9HUElPQ1JTVCAgICAgICAgICAgICAgICBSQ0NfQUhCUlNUUl9HUElPQ1JTVF9Nc2sgICAgICAgICAgIC8qITwgR1BJTyBwb3J0IEMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0RSU1RfUG9zICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0RSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQlJTVFJfR1BJT0RSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0RSU1QgICAgICAgICAgICAgICAgUkNDX0FIQlJTVFJfR1BJT0RSU1RfTXNrICAgICAgICAgICAvKiE8IEdQSU8gcG9ydCBEIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9IUlNUX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9IUlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJSU1RSX0dQSU9IUlNUX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9IUlNUICAgICAgICAgICAgICAgIFJDQ19BSEJSU1RSX0dQSU9IUlNUX01zayAgICAgICAgICAgLyohPCBHUElPIHBvcnQgSCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQUhCUlNUUl9DUkNSU1RfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCUlNUUl9DUkNSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCUlNUUl9DUkNSU1RfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQUhCUlNUUl9DUkNSU1QgICAgICAgICAgICAgICAgICBSQ0NfQUhCUlNUUl9DUkNSU1RfTXNrICAgICAgICAgICAgIC8qITwgQ1JDIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0ZMSVRGUlNUX1BvcyAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJSU1RSX0ZMSVRGUlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJSU1RSX0ZMSVRGUlNUX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0ZMSVRGUlNUICAgICAgICAgICAgICAgIFJDQ19BSEJSU1RSX0ZMSVRGUlNUX01zayAgICAgICAgICAgLyohPCBGTElURiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQUhCUlNUUl9ETUExUlNUX1BvcyAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCUlNUUl9ETUExUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCUlNUUl9ETUExUlNUX1BvcykgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQUhCUlNUUl9ETUExUlNUICAgICAgICAgICAgICAgICBSQ0NfQUhCUlNUUl9ETUExUlNUX01zayAgICAgICAgICAgIC8qITwgRE1BMSByZXNldCAqLw0KIA0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjJSU1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NZU0NGR1JTVF9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NZU0NGR1JTVF9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1NZU0NGR1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1lTQ0ZHUlNUICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfU1lTQ0ZHUlNUX01zayAgICAgICAgIC8qITwgU3lzdGVtIENvbmZpZ3VyYXRpb24gU1lTQ0ZHIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU05UlNUX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU05UlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9USU05UlNUX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU05UlNUICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU05UlNUX01zayAgICAgICAgICAgLyohPCBUSU05IHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xMFJTVF9Qb3MgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xMFJTVF9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9USU0xMFJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTBSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVElNMTBSU1RfTXNrICAgICAgICAgIC8qITwgVElNMTAgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTExUlNUX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTExUlNUX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTExUlNUX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xMVJTVCAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU0xMVJTVF9Nc2sgICAgICAgICAgLyohPCBUSU0xMSByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Nc2sgICAgICAgICAgIC8qITwgQURDMSByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Nc2sgICAgICAgICAgIC8qITwgU1BJMSByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX1BvcyAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1QgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfTXNrICAgICAgICAgLyohPCBVU0FSVDEgcmVzZXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjFSU1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTJSU1RfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTJSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTJSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTJSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTJSU1RfTXNrICAgICAgICAgICAvKiE8IFRpbWVyIDIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTNSU1RfTXNrICAgICAgICAgICAvKiE8IFRpbWVyIDMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTRSU1RfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTRSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTRSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTRSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTRSU1RfTXNrICAgICAgICAgICAvKiE8IFRpbWVyIDQgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTZSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTZSU1RfTXNrICAgICAgICAgICAvKiE8IFRpbWVyIDYgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTdSU1RfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTdSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTdSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTdSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTdSU1RfTXNrICAgICAgICAgICAvKiE8IFRpbWVyIDcgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0xDRFJTVF9Qb3MgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0xDRFJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0xDRFJTVF9Qb3MpICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0xDRFJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0xDRFJTVF9Nc2sgICAgICAgICAgICAvKiE8IExDRCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Qb3MgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfV1dER1JTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Nc2sgICAgICAgICAgIC8qITwgV2luZG93IFdhdGNoZG9nIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9TUEkyUlNUX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9TUEkyUlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9TUEkyUlNUX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9TUEkyUlNUICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9TUEkyUlNUX01zayAgICAgICAgICAgLyohPCBTUEkgMiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX1BvcyAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1QgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfTXNrICAgICAgICAgLyohPCBVU0FSVCAyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfUG9zICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfTXNrICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUM1JTVCAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1VTQVJUM1JTVF9Nc2sgICAgICAgICAvKiE8IFVTQVJUIDMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfUG9zICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0kyQzFSU1RfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgICAvKiE8IEkyQyAxIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUX1BvcyAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9JMkMyUlNUX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9JMkMyUlNUX01zayAgICAgICAgICAgLyohPCBJMkMgMiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNCUlNUX1BvcyAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNCUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNCUlNUX1BvcykgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNCUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVVNCUlNUX01zayAgICAgICAgICAgIC8qITwgVVNCIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zKSAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAgLyohPCBQb3dlciBpbnRlcmZhY2UgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Qb3MgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Qb3MpICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0RBQ1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Nc2sgICAgICAgICAgICAvKiE8IERBQyBpbnRlcmZhY2UgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0NPTVBSU1RfUG9zICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0NPTVBSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0NPTVBSU1RfUG9zKSAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0NPTVBSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0NPTVBSU1RfTXNrICAgICAgICAgICAvKiE8IENvbXBhcmF0b3IgaW50ZXJmYWNlIHJlc2V0ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0FFTl9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0FFTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfR1BJT0FFTl9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0FFTiAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfR1BJT0FFTl9Nc2sgICAgICAgICAgICAgLyohPCBHUElPIHBvcnQgQSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPQkVOX1BvcyAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPQkVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9HUElPQkVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPQkVOICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9HUElPQkVOX01zayAgICAgICAgICAgICAvKiE8IEdQSU8gcG9ydCBCIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9DRU5fUG9zICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9DRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0dQSU9DRU5fUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9DRU4gICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0dQSU9DRU5fTXNrICAgICAgICAgICAgIC8qITwgR1BJTyBwb3J0IEMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0RFTl9Qb3MgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0RFTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfR1BJT0RFTl9Qb3MpICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0RFTiAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfR1BJT0RFTl9Nc2sgICAgICAgICAgICAgLyohPCBHUElPIHBvcnQgRCBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPSEVOX1BvcyAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPSEVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9HUElPSEVOX1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPSEVOICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9HUElPSEVOX01zayAgICAgICAgICAgICAvKiE8IEdQSU8gcG9ydCBIIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOX1BvcyAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0NSQ0VOX1BvcykgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAgICAgIC8qITwgQ1JDIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU5fUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0ZMSVRGRU5fUG9zKSAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU4gICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0ZMSVRGRU5fTXNrICAgICAgICAgICAgIC8qITwgRkxJVEYgY2xvY2sgZW5hYmxlIChoYXMgZWZmZWN0IG9ubHkgd2hlbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRmxhc2ggbWVtb3J5IGlzIGluIHBvd2VyIGRvd24gbW9kZSkgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU5fUG9zICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9ETUExRU5fUG9zKSAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU4gICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9ETUExRU5fTXNrICAgICAgICAgICAgICAvKiE8IERNQTEgY2xvY2sgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMkVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NZU0NGR0VOX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NZU0NGR0VOX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1NZU0NGR0VOX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NZU0NGR0VOICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1NZU0NGR0VOX01zayAgICAgICAgICAgLyohPCBTeXN0ZW0gQ29uZmlndXJhdGlvbiBTWVNDRkcgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTlFTl9Qb3MgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTlFTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1RJTTlFTl9Qb3MpICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTlFTiAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1RJTTlFTl9Nc2sgICAgICAgICAgICAgLyohPCBUSU05IGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTBFTl9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTBFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNMTBFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTBFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNMTBFTl9Nc2sgICAgICAgICAgICAvKiE8IFRJTTEwIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTFFTl9Qb3MgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTFFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNMTFFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTFFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNMTFFTl9Nc2sgICAgICAgICAgICAvKiE8IFRJTTExIFRpbWVyIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU5fUG9zICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9BREMxRU5fUG9zKSAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9BREMxRU5fTXNrICAgICAgICAgICAgIC8qITwgQURDMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOX1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfU1BJMUVOX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfU1BJMUVOX01zayAgICAgICAgICAgICAvKiE8IFNQSTEgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1VTQVJUMUVOX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1VTQVJUMUVOX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1VTQVJUMUVOX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1VTQVJUMUVOICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1VTQVJUMUVOX01zayAgICAgICAgICAgLyohPCBVU0FSVDEgY2xvY2sgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIxRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTJFTl9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTJFTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTJFTl9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTJFTiAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTJFTl9Nc2sgICAgICAgICAgICAgLyohPCBUaW1lciAyIGNsb2NrIGVuYWJsZWQqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0zRU5fUG9zICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0zRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0zRU5fUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0zRU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0zRU5fTXNrICAgICAgICAgICAgIC8qITwgVGltZXIgMyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOX1BvcyAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNNEVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNNEVOX01zayAgICAgICAgICAgICAvKiE8IFRpbWVyIDQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTl9Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTZFTl9Qb3MpICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTiAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTZFTl9Nc2sgICAgICAgICAgICAgLyohPCBUaW1lciA2IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU5fUG9zICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU03RU5fUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU03RU5fTXNrICAgICAgICAgICAgIC8qITwgVGltZXIgNyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfTENERU5fUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfTENERU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfTENERU5fUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfTENERU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfTENERU5fTXNrICAgICAgICAgICAgICAvKiE8IExDRCBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfV1dER0VOX1BvcyAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfV1dER0VOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfV1dER0VOX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfV1dER0VOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfV1dER0VOX01zayAgICAgICAgICAgICAvKiE8IFdpbmRvdyBXYXRjaGRvZyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJMkVOX1BvcyAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJMkVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfU1BJMkVOX1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfU1BJMkVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfU1BJMkVOX01zayAgICAgICAgICAgICAvKiE8IFNQSSAyIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTiAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Nc2sgICAgICAgICAgIC8qITwgVVNBUlQgMiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU5fUG9zICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU5fTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVVNBUlQzRU5fUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU4gICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVVNBUlQzRU5fTXNrICAgICAgICAgICAvKiE8IFVTQVJUIDMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MpICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTiAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAgLyohPCBJMkMgMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMkVOX1BvcyAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMkVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfSTJDMkVOX1BvcykgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMkVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfSTJDMkVOX01zayAgICAgICAgICAgICAvKiE8IEkyQyAyIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0JFTl9Qb3MgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0JFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VU0JFTl9Qb3MpICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0JFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9VU0JFTl9Nc2sgICAgICAgICAgICAgIC8qITwgVVNCIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTl9Qb3MgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9QV1JFTl9Qb3MpICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAgICAgIC8qITwgUG93ZXIgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9EQUNFTl9Qb3MgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9EQUNFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9EQUNFTl9Qb3MpICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9EQUNFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9EQUNFTl9Nc2sgICAgICAgICAgICAgIC8qITwgREFDIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfQ09NUEVOX1BvcyAgICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfQ09NUEVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfQ09NUEVOX1BvcykgICAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfQ09NUEVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfQ09NUEVOX01zayAgICAgICAgICAgICAvKiE8IENvbXBhcmF0b3IgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FIQkxQRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQUhCTFBFTlJfR1BJT0FMUEVOX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCTFBFTlJfR1BJT0FMUEVOX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCTFBFTlJfR1BJT0FMUEVOX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9HUElPQUxQRU4gICAgICAgICAgICAgIFJDQ19BSEJMUEVOUl9HUElPQUxQRU5fTXNrICAgICAgICAgLyohPCBHUElPIHBvcnQgQSBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FIQkxQRU5SX0dQSU9CTFBFTl9Qb3MgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkxQRU5SX0dQSU9CTFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkxQRU5SX0dQSU9CTFBFTl9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQUhCTFBFTlJfR1BJT0JMUEVOICAgICAgICAgICAgICBSQ0NfQUhCTFBFTlJfR1BJT0JMUEVOX01zayAgICAgICAgIC8qITwgR1BJTyBwb3J0IEIgY2xvY2sgZW5hYmxlZCBpbiBzbGVlcCBtb2RlICovDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9HUElPQ0xQRU5fUG9zICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9HUElPQ0xQRU5fTXNrICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJMUEVOUl9HUElPQ0xQRU5fUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FIQkxQRU5SX0dQSU9DTFBFTiAgICAgICAgICAgICAgUkNDX0FIQkxQRU5SX0dQSU9DTFBFTl9Nc2sgICAgICAgICAvKiE8IEdQSU8gcG9ydCBDIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQUhCTFBFTlJfR1BJT0RMUEVOX1BvcyAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCTFBFTlJfR1BJT0RMUEVOX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCTFBFTlJfR1BJT0RMUEVOX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9HUElPRExQRU4gICAgICAgICAgICAgIFJDQ19BSEJMUEVOUl9HUElPRExQRU5fTXNrICAgICAgICAgLyohPCBHUElPIHBvcnQgRCBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FIQkxQRU5SX0dQSU9ITFBFTl9Qb3MgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkxQRU5SX0dQSU9ITFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkxQRU5SX0dQSU9ITFBFTl9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQUhCTFBFTlJfR1BJT0hMUEVOICAgICAgICAgICAgICBSQ0NfQUhCTFBFTlJfR1BJT0hMUEVOX01zayAgICAgICAgIC8qITwgR1BJTyBwb3J0IEggY2xvY2sgZW5hYmxlZCBpbiBzbGVlcCBtb2RlICovDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9DUkNMUEVOX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9DUkNMUEVOX01zayAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJMUEVOUl9DUkNMUEVOX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9DUkNMUEVOICAgICAgICAgICAgICAgIFJDQ19BSEJMUEVOUl9DUkNMUEVOX01zayAgICAgICAgICAgLyohPCBDUkMgY2xvY2sgZW5hYmxlZCBpbiBzbGVlcCBtb2RlICovDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9GTElURkxQRU5fUG9zICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9GTElURkxQRU5fTXNrICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJMUEVOUl9GTElURkxQRU5fUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQkxQRU5SX0ZMSVRGTFBFTiAgICAgICAgICAgICAgUkNDX0FIQkxQRU5SX0ZMSVRGTFBFTl9Nc2sgICAgICAgICAvKiE8IEZsYXNoIEludGVyZmFjZSBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhhcyBlZmZlY3Qgb25seSB3aGVuIHRoZSBGbGFzaCBtZW1vcnkgaXMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHBvd2VyIGRvd24gbW9kZSkgKi8NCiNkZWZpbmUgUkNDX0FIQkxQRU5SX1NSQU1MUEVOX1BvcyAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkxQRU5SX1NSQU1MUEVOX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkxQRU5SX1NSQU1MUEVOX1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19BSEJMUEVOUl9TUkFNTFBFTiAgICAgICAgICAgICAgIFJDQ19BSEJMUEVOUl9TUkFNTFBFTl9Nc2sgICAgICAgICAgLyohPCBTUkFNIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQUhCTFBFTlJfRE1BMUxQRU5fUG9zICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCTFBFTlJfRE1BMUxQRU5fTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCTFBFTlJfRE1BMUxQRU5fUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQkxQRU5SX0RNQTFMUEVOICAgICAgICAgICAgICAgUkNDX0FIQkxQRU5SX0RNQTFMUEVOX01zayAgICAgICAgICAvKiE8IERNQTEgY2xvY2sgZW5hYmxlZCBpbiBzbGVlcCBtb2RlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMkxQRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIyTFBFTlJfU1lTQ0ZHTFBFTl9Qb3MgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyTFBFTlJfU1lTQ0ZHTFBFTl9Nc2sgICAgICAgICgweDFVIDw8IFJDQ19BUEIyTFBFTlJfU1lTQ0ZHTFBFTl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX1NZU0NGR0xQRU4gICAgICAgICAgICBSQ0NfQVBCMkxQRU5SX1NZU0NGR0xQRU5fTXNrICAgICAgIC8qITwgU3lzdGVtIENvbmZpZ3VyYXRpb24gU1lTQ0ZHIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX1RJTTlMUEVOX1BvcyAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX1RJTTlMUEVOX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkxQRU5SX1RJTTlMUEVOX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIyTFBFTlJfVElNOUxQRU4gICAgICAgICAgICAgIFJDQ19BUEIyTFBFTlJfVElNOUxQRU5fTXNrICAgICAgICAgLyohPCBUSU05IGludGVyZmFjZSBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJMUEVOUl9USU0xMExQRU5fUG9zICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJMUEVOUl9USU0xMExQRU5fTXNrICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJMUEVOUl9USU0xMExQRU5fUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjJMUEVOUl9USU0xMExQRU4gICAgICAgICAgICAgUkNDX0FQQjJMUEVOUl9USU0xMExQRU5fTXNrICAgICAgICAvKiE8IFRJTTEwIGludGVyZmFjZSBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJMUEVOUl9USU0xMUxQRU5fUG9zICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJMUEVOUl9USU0xMUxQRU5fTXNrICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJMUEVOUl9USU0xMUxQRU5fUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjJMUEVOUl9USU0xMUxQRU4gICAgICAgICAgICAgUkNDX0FQQjJMUEVOUl9USU0xMUxQRU5fTXNrICAgICAgICAvKiE8IFRJTTExIFRpbWVyIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX0FEQzFMUEVOX1BvcyAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX0FEQzFMUEVOX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkxQRU5SX0FEQzFMUEVOX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIyTFBFTlJfQURDMUxQRU4gICAgICAgICAgICAgIFJDQ19BUEIyTFBFTlJfQURDMUxQRU5fTXNrICAgICAgICAgLyohPCBBREMxIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX1NQSTFMUEVOX1BvcyAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX1NQSTFMUEVOX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkxQRU5SX1NQSTFMUEVOX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19BUEIyTFBFTlJfU1BJMUxQRU4gICAgICAgICAgICAgIFJDQ19BUEIyTFBFTlJfU1BJMUxQRU5fTXNrICAgICAgICAgLyohPCBTUEkxIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX1VTQVJUMUxQRU5fUG9zICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkxQRU5SX1VTQVJUMUxQRU5fTXNrICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkxQRU5SX1VTQVJUMUxQRU5fUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJMUEVOUl9VU0FSVDFMUEVOICAgICAgICAgICAgUkNDX0FQQjJMUEVOUl9VU0FSVDFMUEVOX01zayAgICAgICAvKiE8IFVTQVJUMSBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjFMUEVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU0yTFBFTl9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU0yTFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9USU0yTFBFTl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1RJTTJMUEVOICAgICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX1RJTTJMUEVOX01zayAgICAgICAgIC8qITwgVGltZXIgMiBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU0zTFBFTl9Qb3MgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU0zTFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9USU0zTFBFTl9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1RJTTNMUEVOICAgICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX1RJTTNMUEVOX01zayAgICAgICAgIC8qITwgVGltZXIgMyBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU00TFBFTl9Qb3MgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU00TFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9USU00TFBFTl9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1RJTTRMUEVOICAgICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX1RJTTRMUEVOX01zayAgICAgICAgIC8qITwgVGltZXIgNCBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU02TFBFTl9Qb3MgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU02TFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9USU02TFBFTl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1RJTTZMUEVOICAgICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX1RJTTZMUEVOX01zayAgICAgICAgIC8qITwgVGltZXIgNiBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU03TFBFTl9Qb3MgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9USU03TFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9USU03TFBFTl9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1RJTTdMUEVOICAgICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX1RJTTdMUEVOX01zayAgICAgICAgIC8qITwgVGltZXIgNyBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9MQ0RMUEVOX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9MQ0RMUEVOX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9MQ0RMUEVOX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfTENETFBFTiAgICAgICAgICAgICAgIFJDQ19BUEIxTFBFTlJfTENETFBFTl9Nc2sgICAgICAgICAgLyohPCBMQ0QgY2xvY2sgZW5hYmxlZCBpbiBzbGVlcCBtb2RlICovDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfV1dER0xQRU5fUG9zICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfV1dER0xQRU5fTXNrICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxTFBFTlJfV1dER0xQRU5fUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9XV0RHTFBFTiAgICAgICAgICAgICAgUkNDX0FQQjFMUEVOUl9XV0RHTFBFTl9Nc2sgICAgICAgICAvKiE8IFdpbmRvdyBXYXRjaGRvZyBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9TUEkyTFBFTl9Qb3MgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9TUEkyTFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9TUEkyTFBFTl9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1NQSTJMUEVOICAgICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX1NQSTJMUEVOX01zayAgICAgICAgIC8qITwgU1BJIDIgY2xvY2sgZW5hYmxlZCBpbiBzbGVlcCBtb2RlICovDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfVVNBUlQyTFBFTl9Qb3MgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfVVNBUlQyTFBFTl9Nc2sgICAgICAgICgweDFVIDw8IFJDQ19BUEIxTFBFTlJfVVNBUlQyTFBFTl9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1VTQVJUMkxQRU4gICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX1VTQVJUMkxQRU5fTXNrICAgICAgIC8qITwgVVNBUlQgMiBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9VU0FSVDNMUEVOX1BvcyAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9VU0FSVDNMUEVOX01zayAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9VU0FSVDNMUEVOX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfVVNBUlQzTFBFTiAgICAgICAgICAgIFJDQ19BUEIxTFBFTlJfVVNBUlQzTFBFTl9Nc2sgICAgICAgLyohPCBVU0FSVCAzIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX0kyQzFMUEVOX1BvcyAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX0kyQzFMUEVOX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUxQRU5SX0kyQzFMUEVOX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfSTJDMUxQRU4gICAgICAgICAgICAgIFJDQ19BUEIxTFBFTlJfSTJDMUxQRU5fTXNrICAgICAgICAgLyohPCBJMkMgMSBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9JMkMyTFBFTl9Qb3MgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9JMkMyTFBFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9JMkMyTFBFTl9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX0kyQzJMUEVOICAgICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX0kyQzJMUEVOX01zayAgICAgICAgIC8qITwgSTJDIDIgY2xvY2sgZW5hYmxlZCBpbiBzbGVlcCBtb2RlICovDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfVVNCTFBFTl9Qb3MgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfVVNCTFBFTl9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxTFBFTlJfVVNCTFBFTl9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1VTQkxQRU4gICAgICAgICAgICAgICBSQ0NfQVBCMUxQRU5SX1VTQkxQRU5fTXNrICAgICAgICAgIC8qITwgVVNCIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1BXUkxQRU5fUG9zICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX1BXUkxQRU5fTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUxQRU5SX1BXUkxQRU5fUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9QV1JMUEVOICAgICAgICAgICAgICAgUkNDX0FQQjFMUEVOUl9QV1JMUEVOX01zayAgICAgICAgICAvKiE8IFBvd2VyIGludGVyZmFjZSBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9EQUNMUEVOX1BvcyAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFMUEVOUl9EQUNMUEVOX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFMUEVOUl9EQUNMUEVOX1BvcykgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfREFDTFBFTiAgICAgICAgICAgICAgIFJDQ19BUEIxTFBFTlJfREFDTFBFTl9Nc2sgICAgICAgICAgLyohPCBEQUMgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZWQgaW4gc2xlZXAgbW9kZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX0NPTVBMUEVOX1BvcyAgICAgICAgICAoMzFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUxQRU5SX0NPTVBMUEVOX01zayAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUxQRU5SX0NPTVBMUEVOX1BvcykgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxTFBFTlJfQ09NUExQRU4gICAgICAgICAgICAgIFJDQ19BUEIxTFBFTlJfQ09NUExQRU5fTXNrICAgICAgICAgLyohPCBDb21wYXJhdG9yIGludGVyZmFjZSBjbG9jayBlbmFibGVkIGluIHNsZWVwIG1vZGUqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xTSU9OX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0xTSU9OX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFNJUkRZX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFNJUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBSZWFkeSAqLw0KDQojZGVmaW5lIFJDQ19DU1JfTFNFT05fUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFNFT05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFNFT05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19DU1JfTFNFT04gICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFNFT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0VSRFlfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MU0VSRFlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0VSRFkgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MU0VSRFlfTXNrICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIFJlYWR5ICovDQojZGVmaW5lIFJDQ19DU1JfTFNFQllQX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFNFQllQX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFNFQllQX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJDQ19DU1JfTFNFQllQICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFNFQllQX01zayAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBCeXBhc3MgKi8NCg0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1NFTF9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1NFTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ1NSX1JUQ1NFTF9Qb3MpICAgICAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1NFTCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1JUQ1NFTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUlRDU0VMWzE6MF0gYml0cyAoUlRDIGNsb2NrIHNvdXJjZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFJDQ19DU1JfUlRDU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUlRDU0VMX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DU1JfUlRDU0VMX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCi8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NTUl9SVENTRUxfTk9DTE9DSyAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovDQojZGVmaW5lIFJDQ19DU1JfUlRDU0VMX0xTRV9Qb3MgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUlRDU0VMX0xTRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUlRDU0VMX0xTRV9Qb3MpICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUlRDU0VMX0xTRSAgICAgICAgICAgICAgICAgIFJDQ19DU1JfUlRDU0VMX0xTRV9Nc2sgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1NFTF9MU0lfUG9zICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1NFTF9MU0lfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1JUQ1NFTF9MU0lfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1NFTF9MU0kgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1JUQ1NFTF9MU0lfTXNrICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NTUl9SVENTRUxfSFNFX1BvcyAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9SVENTRUxfSFNFX01zayAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NTUl9SVENTRUxfSFNFX1BvcykgICAvKiE8IDB4MDAwMzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9SVENTRUxfSFNFICAgICAgICAgICAgICAgICAgUkNDX0NTUl9SVENTRUxfSFNFX01zayAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIGNsb2NrIGRpdmlkZWQgYnkgMiwgNCwgOCBvciAxNiBieSBSVENQUkUgdXNlZCBhcyBSVEMgY2xvY2sgKi8NCg0KI2RlZmluZSBSQ0NfQ1NSX1JUQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1JUQ0VOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1JUQ0VOX1BvcykgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JUQ0VOICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1JUQ0VOX01zayAgICAgICAgICAgICAgICAgIC8qITwgUlRDIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1JTVF9Qb3MgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1JTVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1JUQ1JTVF9Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JUQ1JTVCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1JUQ1JTVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUlRDIHJlc2V0ICAqLw0KIA0KI2RlZmluZSBSQ0NfQ1NSX1JNVkZfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1JNVkZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1JNVkZfUG9zKSAgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JNVkYgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1JNVkZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUmVtb3ZlIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9PQkxSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9PQkxSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9PQkxSU1RGX1BvcykgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9PQkxSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9PQkxSU1RGX01zayAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlcyBMb2FkZXIgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEZfUG9zICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1BJTlJTVEZfUG9zKSAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1BJTlJTVEZfTXNrICAgICAgICAgICAgICAgIC8qITwgUElOIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9QT1JSU1RGX1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9QT1JSU1RGX01zayAgICAgICAgICAgICAgICAvKiE8IFBPUi9QRFIgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEZfUG9zICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1NGVFJTVEZfUG9zKSAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1NGVFJTVEZfTXNrICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgUmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGX1BvcyAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0lXREdSU1RGX1BvcykgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0lXREdSU1RGX01zayAgICAgICAgICAgICAgIC8qITwgSW5kZXBlbmRlbnQgV2F0Y2hkb2cgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGX1BvcyAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1dXREdSU1RGX1BvcykgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1dXREdSU1RGX01zayAgICAgICAgICAgICAgIC8qITwgV2luZG93IHdhdGNoZG9nIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURl9Qb3MgICAgICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MUFdSUlNURl9Qb3MpICAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURiAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgICAgICAvKiE8IExvdy1Qb3dlciByZXNldCBmbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFsLVRpbWUgQ2xvY2sgKFJUQykgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoNCiogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zICAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjAgc2VyaWUpDQoqLw0KI2RlZmluZSBSVENfVEFNUEVSMV9TVVBQT1JUICAgICAgIC8qITwgVEFNUEVSIDEgZmVhdHVyZSBzdXBwb3J0ICovDQojZGVmaW5lIFJUQ19CQUNLVVBfU1VQUE9SVCAgICAgICAgLyohPCBCQUNLVVAgcmVnaXN0ZXIgZmVhdHVyZSBzdXBwb3J0ICovDQojZGVmaW5lIFJUQ19XQUtFVVBfU1VQUE9SVCAgICAgICAgLyohPCBXQUtFVVAgZmVhdHVyZSBzdXBwb3J0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19UUl9QTV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9QTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFJfUE1fUG9zKSAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJUQ19UUl9QTSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfUE1fTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfVFJfSFRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVCAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfSFRfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFJfSFRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFJfSFRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFJfSFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfSFVfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFJfSFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFJfSFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFJfSFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFJfSFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlRfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9NTlRfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfVFJfTU5UX1BvcykgICAgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlQgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfTU5UX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9NTlRfMCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFJfTU5UX1BvcykgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlRfMSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFJfTU5UX1BvcykgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlRfMiAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFJfTU5UX1BvcykgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlVfUG9zICAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9NTlVfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFJfTU5VX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJUQ19UUl9NTlUgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfTU5VX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9NTlVfMCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFJfTU5VX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19UUl9NTlVfMSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFJfTU5VX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19UUl9NTlVfMiAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFJfTU5VX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlVfMyAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFJfTU5VX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19UUl9TVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9TVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfVFJfU1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFJUQ19UUl9TVCAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfU1RfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9TVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFJfU1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19UUl9TVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFJfU1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19UUl9TVF8yICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFJfU1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJUQ19UUl9TVV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9TVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFJfU1VfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19UUl9TVSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfU1VfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9TVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFJfU1VfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19UUl9TVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFJfU1VfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19UUl9TVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFJfU1VfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19UUl9TVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFJfU1VfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19EUl9ZVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9ZVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgLyohPCAweDAwRjAwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVCAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfWVRfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9ZVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVF8yICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVF8zICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9ZVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfWVVfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9ZVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19EUl9ZVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJUQ19EUl9XRFVfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9XRFVfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfRFJfV0RVX1BvcykgICAgICAgICAgLyohPCAweDAwMDBFMDAwICovDQojZGVmaW5lIFJUQ19EUl9XRFUgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfV0RVX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9XRFVfMCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfV0RVX1BvcykgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19EUl9XRFVfMSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfV0RVX1BvcykgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19EUl9XRFVfMiAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfV0RVX1BvcykgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJUQ19EUl9NVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9NVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfTVRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19EUl9NVCAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfTVRfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9NVV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9NVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJUQ19EUl9NVSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfTVVfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9NVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19EUl9NVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19EUl9NVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19EUl9NVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19EUl9EVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9EVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfRFJfRFRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIFJUQ19EUl9EVCAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfRFRfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9EVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfRFRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19EUl9EVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfRFRfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19EUl9EVV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9EVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19EUl9EVSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfRFVfTXNrICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19EUl9EVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19EUl9EVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19EUl9EVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19EUl9EVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DUl9DT0VfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9DT0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfQ09FX1BvcykgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJUQ19DUl9DT0UgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQ09FX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9PU0VMX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9PU0VMX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfQ1JfT1NFTF9Qb3MpICAgICAgICAgLyohPCAweDAwNjAwMDAwICovDQojZGVmaW5lIFJUQ19DUl9PU0VMICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfT1NFTF9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9PU0VMXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfT1NFTF9Qb3MpICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJUQ19DUl9PU0VMXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQ1JfT1NFTF9Qb3MpICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJUQ19DUl9QT0xfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9QT0xfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfUE9MX1BvcykgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJUQ19DUl9QT0wgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfUE9MX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9CS1BfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9CS1BfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfQktQX1BvcykgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19DUl9CS1AgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQktQX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9TVUIxSF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9TVUIxSF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfU1VCMUhfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJUQ19DUl9TVUIxSCAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfU1VCMUhfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BREQxSF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BREQxSF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfQUREMUhfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJUQ19DUl9BREQxSCAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUREMUhfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9UU0lFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9UU0lFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfVFNJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJUQ19DUl9UU0lFICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfVFNJRV9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9XVVRJRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9XVVRJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfV1VUSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19DUl9XVVRJRSAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfV1VUSUVfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BTFJCSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BTFJCSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfQUxSQklFX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19DUl9BTFJCSUUgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUxSQklFX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BTFJBSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BTFJBSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfQUxSQUlFX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19DUl9BTFJBSUUgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUxSQUlFX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9UU0VfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9UU0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfVFNFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19DUl9UU0UgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfVFNFX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9XVVRFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9XVVRFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfV1VURV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19DUl9XVVRFICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfV1VURV9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BTFJCRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BTFJCRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfQUxSQkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19DUl9BTFJCRSAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUxSQkVfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BTFJBRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9BTFJBRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfQUxSQUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19DUl9BTFJBRSAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUxSQUVfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9EQ0VfUG9zICAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9EQ0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfRENFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJUQ19DUl9EQ0UgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfRENFX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9GTVRfUG9zICAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9GTVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfRk1UX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJUQ19DUl9GTVQgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfRk1UX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9SRUZDS09OX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9SRUZDS09OX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfUkVGQ0tPTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19DUl9SRUZDS09OICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfUkVGQ0tPTl9Nc2sgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9UU0VER0VfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9UU0VER0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfVFNFREdFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJUQ19DUl9UU0VER0UgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfVFNFREdFX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9XVUNLU0VMX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9XVUNLU0VMX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfQ1JfV1VDS1NFTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIFJUQ19DUl9XVUNLU0VMICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfV1VDS1NFTF9Nc2sgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUl9XVUNLU0VMXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JfV1VDS1NFTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19DUl9XVUNLU0VMXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQ1JfV1VDS1NFTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19DUl9XVUNLU0VMXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQ1JfV1VDS1NFTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBSVENfQ1JfQkNLX1BvcyBSVENfQ1JfQktQX1Bvcw0KI2RlZmluZSAgUlRDX0NSX0JDS19Nc2sgUlRDX0NSX0JLUF9Nc2sNCiNkZWZpbmUgIFJUQ19DUl9CQ0sgICAgIFJUQ19DUl9CS1ANCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIFJUQ19JU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0lTUl9UQU1QMUZfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UQU1QMUZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfVEFNUDFGX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9UQU1QMUYgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfVEFNUDFGX01zayAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UU09WRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UU09WRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfVFNPVkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9UU09WRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfVFNPVkZfTXNrICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UU0ZfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UU0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfVFNGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9UU0YgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfVFNGX01zayAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9XVVRGX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9XVVRGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfV1VURl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9XVVRGICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfV1VURl9Nc2sgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJCRl9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJCRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfQUxSQkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9BTFJCRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQkZfTXNrICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJBRl9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJBRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfQUxSQUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9BTFJBRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQUZfTXNrICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklUX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklUX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfSU5JVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUlRDX0lTUl9JTklUICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfSU5JVF9Nc2sgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklURl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklURl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfSU5JVEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9JTklURiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfSU5JVEZfTXNrICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9SU0ZfUG9zICAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9SU0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfUlNGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUlRDX0lTUl9SU0YgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfUlNGX01zayAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklUU19Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklUU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfSU5JVFNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUlRDX0lTUl9JTklUUyAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfSU5JVFNfTXNrICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9XVVRXRl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9XVVRXRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfV1VUV0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUlRDX0lTUl9XVVRXRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfV1VUV0ZfTXNrICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJCV0ZfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJCV0ZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfQUxSQldGX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUlRDX0lTUl9BTFJCV0YgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQldGX01zayAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJBV0ZfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJBV0ZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19JU1JfQUxSQVdGX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0lTUl9BTFJBV0YgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQVdGX01zayAgICAgICAgICAgICAgICANCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIFJUQ19QUkVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1BSRVJfUFJFRElWX0FfUG9zICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSRVJfUFJFRElWX0FfTXNrICAgICAgICAgICAgICAgICgweDdGVSA8PCBSVENfUFJFUl9QUkVESVZfQV9Qb3MpICAvKiE8IDB4MDA3RjAwMDAgKi8NCiNkZWZpbmUgUlRDX1BSRVJfUFJFRElWX0EgICAgICAgICAgICAgICAgICAgIFJUQ19QUkVSX1BSRURJVl9BX01zayAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSRVJfUFJFRElWX1NfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSRVJfUFJFRElWX1NfTXNrICAgICAgICAgICAgICAgICgweDFGRkZVIDw8IFJUQ19QUkVSX1BSRURJVl9TX1BvcykgLyohPCAweDAwMDAxRkZGICovDQojZGVmaW5lIFJUQ19QUkVSX1BSRURJVl9TICAgICAgICAgICAgICAgICAgICBSVENfUFJFUl9QUkVESVZfU19Nc2sgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfV1VUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19XVVRSX1dVVF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19XVVRSX1dVVF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfV1VUUl9XVVRfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19XVVRSX1dVVCAgICAgICAgICAgICAgICAgICAgICAgICBSVENfV1VUUl9XVVRfTXNrICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQ0FMSUJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DQUxJQlJfRENTX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DQUxJQlJfRENTX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ0FMSUJSX0RDU19Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJUQ19DQUxJQlJfRENTICAgICAgICAgICAgICAgICAgICAgICBSVENfQ0FMSUJSX0RDU19Nc2sgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DQUxJQlJfRENfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DQUxJQlJfRENfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgUlRDX0NBTElCUl9EQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIFJUQ19DQUxJQlJfREMgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ0FMSUJSX0RDX01zayAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQUxSTUFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLNF9Qb3MgICAgICAgICAgICAgICAgICAoMzFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX01TSzRfUG9zKSAgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLNCAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX01TSzRfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfV0RTRUxfUG9zICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfV0RTRUxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX1dEU0VMX1BvcykgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfV0RTRUwgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX1dEU0VMX01zayAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFRfUG9zICAgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfQUxSTUFSX0RUX1BvcykgICAgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFQgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX0RUX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX0RUX1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUFSX0RUX1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfQUxSTUFSX0RVX1BvcykgICAgICAgLyohPCAweDBGMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFUgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX0RVX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX0RVX1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUFSX0RVX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUFSX0RVX1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfQUxSTUFSX0RVX1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLM19Qb3MgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX01TSzNfUG9zKSAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMyAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX01TSzNfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfUE1fUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfUE1fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX1BNX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfUE0gICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX1BNX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFRfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfQUxSTUFSX0hUX1BvcykgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFQgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX0hUX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX0hUX1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUFSX0hUX1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfQUxSTUFSX0hVX1BvcykgICAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFUgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX0hVX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX0hVX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUFSX0hVX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUFSX0hVX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfQUxSTUFSX0hVX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMl9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX01TSzJfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMiAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX01TSzJfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfQUxSTUFSX01OVF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX01OVF9Nc2sgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX01OVF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUFSX01OVF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUFSX01OVF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VX01zayAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfQUxSTUFSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX01OVV9Nc2sgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUFSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUFSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzMgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfQUxSTUFSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMV9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX01TSzFfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMSAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX01TSzFfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfQUxSTUFSX1NUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1QgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX1NUX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX1NUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUFSX1NUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUFSX1NUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfQUxSTUFSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1UgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUFSX1NVX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUFSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUFSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUFSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfQUxSTUFSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQUxSTUJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLNF9Qb3MgICAgICAgICAgICAgICAgICAoMzFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX01TSzRfUG9zKSAgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLNCAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX01TSzRfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfV0RTRUxfUG9zICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfV0RTRUxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX1dEU0VMX1BvcykgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfV0RTRUwgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX1dEU0VMX01zayAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfRFRfUG9zICAgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfRFRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfQUxSTUJSX0RUX1BvcykgICAgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfRFQgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX0RUX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfRFRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX0RUX1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfRFRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUJSX0RUX1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfRFVfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfRFVfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfQUxSTUJSX0RVX1BvcykgICAgICAgLyohPCAweDBGMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfRFUgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX0RVX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfRFVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX0RVX1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfRFVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUJSX0RVX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfRFVfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUJSX0RVX1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfRFVfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfQUxSTUJSX0RVX1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLM19Qb3MgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX01TSzNfUG9zKSAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLMyAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX01TSzNfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfUE1fUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfUE1fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX1BNX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfUE0gICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX1BNX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfSFRfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfSFRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfQUxSTUJSX0hUX1BvcykgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfSFQgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX0hUX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfSFRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX0hUX1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfSFRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUJSX0hUX1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfSFVfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfSFVfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfQUxSTUJSX0hVX1BvcykgICAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfSFUgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX0hVX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfSFVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX0hVX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfSFVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUJSX0hVX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfSFVfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUJSX0hVX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfSFVfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfQUxSTUJSX0hVX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLMl9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX01TSzJfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLMiAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX01TSzJfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5UX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5UX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfQUxSTUJSX01OVF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5UICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX01OVF9Nc2sgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5UXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX01OVF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5UXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUJSX01OVF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5UXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUJSX01OVF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5VX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5VX01zayAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfQUxSTUJSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5VICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX01OVV9Nc2sgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5VXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5VXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUJSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5VXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUJSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTU5VXzMgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfQUxSTUJSX01OVV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLMV9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX01TSzFfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfTVNLMSAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX01TSzFfTXNrICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfU1RfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfU1RfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfQUxSTUJSX1NUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfU1QgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX1NUX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfU1RfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX1NUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfU1RfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUJSX1NUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfU1RfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUJSX1NUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJUQ19BTFJNQlJfU1VfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfU1VfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfQUxSTUJSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19BTFJNQlJfU1UgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxSTUJSX1NVX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQlJfU1VfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQUxSTUJSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19BTFJNQlJfU1VfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfQUxSTUJSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19BTFJNQlJfU1VfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfQUxSTUJSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19BTFJNQlJfU1VfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfQUxSTUJSX1NVX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfV1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19XUFJfS0VZX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19XUFJfS0VZX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgUlRDX1dQUl9LRVlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFJUQ19XUFJfS0VZICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfV1BSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVFNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19UU1RSX1BNX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX1BNX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9QTV9Qb3MpICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX1BNICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNUUl9QTV9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX0hUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX0hUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfVFNUUl9IVF9Qb3MpICAgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX0hUICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNUUl9IVF9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX0hUXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9IVF9Qb3MpICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX0hUXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9IVF9Qb3MpICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX0hVX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX0hVX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX0hVICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNUUl9IVV9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX0hVXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX0hVXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX0hVXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX0hVXzMgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX01OVF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfVFNUUl9NTlRfUG9zKSAgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVCAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNUUl9NTlRfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX01OVF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9NTlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9NTlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVF8yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9NTlRfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX01OVV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVSAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNUUl9NTlVfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX01OVV8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVV8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVV8yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19UU1RSX01OVV8zICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19UU1RSX1NUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX1NUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfVFNUUl9TVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFJUQ19UU1RSX1NUICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNUUl9TVF9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX1NUXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9TVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19UU1RSX1NUXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9TVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19UU1RSX1NUXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9TVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJUQ19UU1RSX1NVX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX1NVX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19UU1RSX1NVICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNUUl9TVV9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1RSX1NVXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19UU1RSX1NVXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19UU1RSX1NVXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19UU1RSX1NVXzMgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVFNEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19UU0RSX1dEVV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX1dEVV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfVFNEUl9XRFVfUG9zKSAgICAgICAgLyohPCAweDAwMDBFMDAwICovDQojZGVmaW5lIFJUQ19UU0RSX1dEVSAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNEUl9XRFVfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX1dEVV8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNEUl9XRFVfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19UU0RSX1dEVV8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNEUl9XRFVfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19UU0RSX1dEVV8yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNEUl9XRFVfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJUQ19UU0RSX01UX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX01UX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNEUl9NVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19UU0RSX01UICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNEUl9NVF9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX01VX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX01VX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFNEUl9NVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJUQ19UU0RSX01VICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNEUl9NVV9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX01VXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNEUl9NVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19UU0RSX01VXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNEUl9NVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19UU0RSX01VXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNEUl9NVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19UU0RSX01VXzMgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFNEUl9NVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19UU0RSX0RUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX0RUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfVFNEUl9EVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIFJUQ19UU0RSX0RUICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNEUl9EVF9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX0RUXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNEUl9EVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19UU0RSX0RUXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNEUl9EVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19UU0RSX0RVX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX0RVX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFNEUl9EVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19UU0RSX0RVICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFNEUl9EVV9Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU0RSX0RVXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNEUl9EVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19UU0RSX0RVXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNEUl9EVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19UU0RSX0RVXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNEUl9EVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19UU0RSX0RVXzMgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFNEUl9EVV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVEFGQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19UQUZDUl9BTEFSTU9VVFRZUEVfUG9zICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UQUZDUl9BTEFSTU9VVFRZUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBSVENfVEFGQ1JfQUxBUk1PVVRUWVBFX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19UQUZDUl9BTEFSTU9VVFRZUEUgICAgICAgICAgICAgICBSVENfVEFGQ1JfQUxBUk1PVVRUWVBFX01zayAgICAgICAgDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QSUVfUG9zICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVEFGQ1JfVEFNUElFX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QSUUgICAgICAgICAgICAgICAgICAgICBSVENfVEFGQ1JfVEFNUElFX01zayAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QMVRSR19Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QMVRSR19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVEFGQ1JfVEFNUDFUUkdfUG9zKSAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QMVRSRyAgICAgICAgICAgICAgICAgICBSVENfVEFGQ1JfVEFNUDFUUkdfTXNrICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QMUVfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QMUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVEFGQ1JfVEFNUDFFX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19UQUZDUl9UQU1QMUUgICAgICAgICAgICAgICAgICAgICBSVENfVEFGQ1JfVEFNUDFFX01zayAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19CS1AwUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19CS1AwUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgUlRDX0JLUDBSX1BvcykgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFJUQ19CS1AwUiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQktQMFJfTXNrICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19CS1AxUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19CS1AxUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgUlRDX0JLUDFSX1BvcykgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFJUQ19CS1AxUiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQktQMVJfTXNrICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19CS1AyUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19CS1AyUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgUlRDX0JLUDJSX1BvcykgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFJUQ19CS1AyUiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQktQMlJfTXNrICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQM1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19CS1AzUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19CS1AzUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgUlRDX0JLUDNSX1BvcykgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFJUQ19CS1AzUiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQktQM1JfTXNrICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQNFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19CS1A0Ul9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19CS1A0Ul9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgUlRDX0JLUDRSX1BvcykgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFJUQ19CS1A0UiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQktQNFJfTXNrICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiBOdW1iZXIgb2YgYmFja3VwIHJlZ2lzdGVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19CS1BfTlVNQkVSIDUNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZSAoU1BJKSAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qDQogKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYzIHNlcmllKQ0KICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUjFfQ1BIQV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1BIQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9DUjFfQ1BIQSAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQaGFzZSAqLw0KI2RlZmluZSBTUElfQ1IxX0NQT0xfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NQT0xfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NQT0xfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfQ1IxX0NQT0wgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NQT0xfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUG9sYXJpdHkgKi8NCiNkZWZpbmUgU1BJX0NSMV9NU1RSX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9NU1RSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9NU1RSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU1BJX0NSMV9NU1RSICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9NU1RSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1hc3RlciBTZWxlY3Rpb24gKi8NCg0KI2RlZmluZSBTUElfQ1IxX0JSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQlJbMjowXSBiaXRzIChCYXVkIFJhdGUgQ29udHJvbCkgKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBTUElfQ1IxX1NQRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NQRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfQ1IxX1NQRSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1NQRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgU1BJIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUX1BvcyAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0xTQkZJUlNUX1BvcykgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0xTQkZJUlNUX01zayAgICAgICAgICAgICAgIC8qITwgRnJhbWUgRm9ybWF0ICovDQojZGVmaW5lIFNQSV9DUjFfU1NJX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1NJX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1NJX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNQSV9DUjFfU1NJICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfU1NJX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBzbGF2ZSBzZWxlY3QgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU01fUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TU01fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TU01fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU00gICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9TU01fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIHNsYXZlIG1hbmFnZW1lbnQgKi8NCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFlfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFlfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9SWE9OTFlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFkgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9SWE9OTFlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgb25seSAqLw0KI2RlZmluZSBTUElfQ1IxX0RGRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0RGRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0RGRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0RGRiAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0RGRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBGcmFtZSBGb3JtYXQgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUkNORVhUX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUkNORVhUX01zayAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IENSQyBuZXh0ICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU5fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1JDRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU4gICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBIYXJkd2FyZSBDUkMgY2FsY3VsYXRpb24gZW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjFfQklESU9FX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQklESU9FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQklESU9FX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNQSV9DUjFfQklESU9FICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQklESU9FX01zayAgICAgICAgICAgICAgICAgLyohPCBPdXRwdXQgZW5hYmxlIGluIGJpZGlyZWN0aW9uYWwgbW9kZSAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JJRElNT0RFX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JJRElNT0RFX01zayAgICAgICAgICAgICAgIC8qITwgQmlkaXJlY3Rpb25hbCBkYXRhIG1vZGUgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfUlhETUFFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTiAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfUlhETUFFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBSeCBCdWZmZXIgRE1BIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU5fUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1RYRE1BRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU4gICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1RYRE1BRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgVHggQnVmZmVyIERNQSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9TU09FX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9TU09FX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9TU09FX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU1BJX0NSMl9TU09FICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9TU09FX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNTIE91dHB1dCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9FUlJJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9FUlJJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU1BJX0NSMl9FUlJJRSAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9SWE5FSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUUgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJYIGJ1ZmZlciBOb3QgRW1wdHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRUlFX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1RYRUlFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1RYRUlFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRUlFICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1RYRUlFX01zayAgICAgICAgICAgICAgICAgIC8qITwgVHggYnVmZmVyIEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1NSX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1JYTkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU1BJX1NSX1JYTkUgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgYnVmZmVyIE5vdCBFbXB0eSAqLw0KI2RlZmluZSBTUElfU1JfVFhFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfVFhFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfU1JfVFhFICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgYnVmZmVyIEVtcHR5ICovDQojZGVmaW5lIFNQSV9TUl9DSFNJREVfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9DSFNJREVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9DSFNJREVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9TUl9DSFNJREUgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9DSFNJREVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIHNpZGUgKi8NCiNkZWZpbmUgU1BJX1NSX1VEUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1VEUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1VEUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU1BJX1NSX1VEUiAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1VEUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFVuZGVycnVuIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUl9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0NSQ0VSUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUiAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX0NSQ0VSUl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENSQyBFcnJvciBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9NT0RGX1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9NT0RGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9NT0RGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNQSV9TUl9NT0RGICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9NT0RGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNb2RlIGZhdWx0ICovDQojZGVmaW5lIFNQSV9TUl9PVlJfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9PVlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9TUl9PVlIgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX0JTWV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0JTWV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX1NSX0JTWSAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJ1c3kgZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfRlJFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfRlJFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfRlJFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTUElfU1JfRlJFICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfRlJFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxGcmFtZSBmb3JtYXQgZXJyb3IgZmxhZyAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX0RSX0RSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1JDUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFlfTXNrICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zKSAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFkgICAgICAgICAgICAgICAgICAgU1BJX0NSQ1BSX0NSQ1BPTFlfTXNrICAgICAgICAgICAgICAvKiE8IENSQyBwb2x5bm9taWFsIHJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfUlhDUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9SWENSQ1JfUlhDUkNfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkMgICAgICAgICAgICAgICAgICAgIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAgICAgICAgLyohPCBSeCBDUkMgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9UWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQ19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX1RYQ1JDUl9UWENSQ19Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQyAgICAgICAgICAgICAgICAgICAgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFR4IENSQyBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0gQ29uZmlndXJhdGlvbiAoU1lTQ0ZHKSAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNZU0NGR19NRU1STVAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNZU0NGR19NRU1STVBfTUVNX01PREVfUG9zICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19NRU1STVBfTUVNX01PREVfTXNrICAgICAgKDB4M1UgPDwgU1lTQ0ZHX01FTVJNUF9NRU1fTU9ERV9Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFNZU0NGR19NRU1STVBfTUVNX01PREUgICAgICAgICAgU1lTQ0ZHX01FTVJNUF9NRU1fTU9ERV9Nc2sgICAgICAgICAgICAgLyohPCBTWVNDRkdfTWVtb3J5IFJlbWFwIENvbmZpZyAqLw0KI2RlZmluZSBTWVNDRkdfTUVNUk1QX01FTV9NT0RFXzAgICAgICAgICgweDFVIDw8IFNZU0NGR19NRU1STVBfTUVNX01PREVfUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTWVNDRkdfTUVNUk1QX01FTV9NT0RFXzEgICAgICAgICgweDJVIDw8IFNZU0NGR19NRU1STVBfTUVNX01PREVfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTWVNDRkdfTUVNUk1QX0JPT1RfTU9ERV9Qb3MgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfTUVNUk1QX0JPT1RfTU9ERV9Nc2sgICAgICgweDNVIDw8IFNZU0NGR19NRU1STVBfQk9PVF9NT0RFX1BvcykgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBTWVNDRkdfTUVNUk1QX0JPT1RfTU9ERSAgICAgICAgIFNZU0NGR19NRU1STVBfQk9PVF9NT0RFX01zayAgICAgICAgICAgIC8qITwgQm9vdCBtb2RlIENvbmZpZyAqLw0KI2RlZmluZSBTWVNDRkdfTUVNUk1QX0JPT1RfTU9ERV8wICAgICAgICgweDFVIDw8IFNZU0NGR19NRU1STVBfQk9PVF9NT0RFX1BvcykgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTWVNDRkdfTUVNUk1QX0JPT1RfTU9ERV8xICAgICAgICgweDJVIDw8IFNZU0NGR19NRU1STVBfQk9PVF9NT0RFX1BvcykgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTWVNDRkdfUE1DIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTWVNDRkdfUE1DX1VTQl9QVV9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfUE1DX1VTQl9QVV9Nc2sgICAgICAgICAgICgweDFVIDw8IFNZU0NGR19QTUNfVVNCX1BVX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTWVNDRkdfUE1DX1VTQl9QVSAgICAgICAgICAgICAgIFNZU0NGR19QTUNfVVNCX1BVX01zayAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0ZHIFBNQyAqLw0KI2RlZmluZSBTWVNDRkdfUE1DX0xDRF9DQVBBX1BvcyAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfUE1DX0xDRF9DQVBBX01zayAgICAgICAgICgweDFGVSA8PCBTWVNDRkdfUE1DX0xDRF9DQVBBX1BvcykgICAgIC8qITwgMHgwMDAwMDAzRSAqLw0KI2RlZmluZSBTWVNDRkdfUE1DX0xDRF9DQVBBICAgICAgICAgICAgIFNZU0NGR19QTUNfTENEX0NBUEFfTXNrICAgICAgICAgICAgICAgIC8qITwgTENEX0NBUEEgZGVjb3VwbGluZyBjYXBhY2l0YW5jZSBjb25uZWN0aW9uICovDQojZGVmaW5lIFNZU0NGR19QTUNfTENEX0NBUEFfMCAgICAgICAgICAgKDB4MDFVIDw8IFNZU0NGR19QTUNfTENEX0NBUEFfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNZU0NGR19QTUNfTENEX0NBUEFfMSAgICAgICAgICAgKDB4MDJVIDw8IFNZU0NGR19QTUNfTENEX0NBUEFfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNZU0NGR19QTUNfTENEX0NBUEFfMiAgICAgICAgICAgKDB4MDRVIDw8IFNZU0NGR19QTUNfTENEX0NBUEFfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNZU0NGR19QTUNfTENEX0NBUEFfMyAgICAgICAgICAgKDB4MDhVIDw8IFNZU0NGR19QTUNfTENEX0NBUEFfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNZU0NGR19QTUNfTENEX0NBUEFfNCAgICAgICAgICAgKDB4MTBVIDw8IFNZU0NGR19QTUNfTENEX0NBUEFfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNZU0NGR19FWFRJQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BvcyAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX01zayAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfUG9zKSAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfTXNrICAgICAgICAgICAgICAgLyohPCBFWFRJIDAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9Qb3MgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9Nc2sgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BvcykgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMSAgICAgICAgICAgIFNZU0NGR19FWFRJQ1IxX0VYVEkxX01zayAgICAgICAgICAgICAgIC8qITwgRVhUSSAxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUG9zICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfTXNrICAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSMV9FWFRJMl9Qb3MpICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTIgICAgICAgICAgICBTWVNDRkdfRVhUSUNSMV9FWFRJMl9Nc2sgICAgICAgICAgICAgICAvKiE8IEVYVEkgMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BvcyAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX01zayAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfUG9zKSAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfTXNrICAgICAgICAgICAgICAgLyohPCBFWFRJIDMgY29uZmlndXJhdGlvbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMCBjb25maWd1cmF0aW9uICANCiAgKi8gDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BBICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVswXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfUEIgICAgICAgICAoMHgwMDAwMDAwMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMF9QQyAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BEICAgICAgICAgKDB4MDAwMDAwMDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFswXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfUEUgICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMF9QSCAgICAgICAgICgweDAwMDAwMDA1VSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEhbMF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BGICAgICAgICAgKDB4MDAwMDAwMDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRlswXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfUEcgICAgICAgICAoMHgwMDAwMDAwN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzBdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMSBjb25maWd1cmF0aW9uICANCiAgKi8gDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BBICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfUEIgICAgICAgICAoMHgwMDAwMDAxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9QQyAgICAgICAgICgweDAwMDAwMDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BEICAgICAgICAgKDB4MDAwMDAwMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFsxXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfUEUgICAgICAgICAoMHgwMDAwMDA0MFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9QSCAgICAgICAgICgweDAwMDAwMDUwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEhbMV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BGICAgICAgICAgKDB4MDAwMDAwNjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRlsxXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfUEcgICAgICAgICAoMHgwMDAwMDA3MFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzFdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMiBjb25maWd1cmF0aW9uICANCiAgKi8gDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyX1BBICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUEIgICAgICAgICAoMHgwMDAwMDEwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzJdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMl9QQyAgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMl0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyX1BEICAgICAgICAgKDB4MDAwMDAzMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFsyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUEUgICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzJdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMl9QSCAgICAgICAgICgweDAwMDAwNTAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEhbMl0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyX1BGICAgICAgICAgKDB4MDAwMDA2MDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRlsyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUEcgICAgICAgICAoMHgwMDAwMDcwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzJdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMyBjb25maWd1cmF0aW9uICANCiAgKi8gDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BBICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVszXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfUEIgICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzNdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJM19QQyAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbM10gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BEICAgICAgICAgKDB4MDAwMDMwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFszXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfUEUgICAgICAgICAoMHgwMDAwNDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzNdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJM19QRiAgICAgICAgICgweDAwMDAzMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbM10gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BHICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQR1szXSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1lTQ0ZHX0VYVElDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9Qb3MgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9Nc2sgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1IyX0VYVEk0X1BvcykgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNCAgICAgICAgICAgIFNZU0NGR19FWFRJQ1IyX0VYVEk0X01zayAgICAgICAgICAgICAgIC8qITwgRVhUSSA0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUG9zICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfTXNrICAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSMl9FWFRJNV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTUgICAgICAgICAgICBTWVNDRkdfRVhUSUNSMl9FWFRJNV9Nc2sgICAgICAgICAgICAgICAvKiE8IEVYVEkgNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BvcyAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X01zayAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfUG9zKSAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2ICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfTXNrICAgICAgICAgICAgICAgLyohPCBFWFRJIDYgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19Qb3MgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19Nc2sgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1IyX0VYVEk3X1BvcykgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNyAgICAgICAgICAgIFNZU0NGR19FWFRJQ1IyX0VYVEk3X01zayAgICAgICAgICAgICAgIC8qITwgRVhUSSA3IGNvbmZpZ3VyYXRpb24gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTQgY29uZmlndXJhdGlvbiAgDQogICovIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9QQSAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbNF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk0X1BCICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQls0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfUEMgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzRdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9QRCAgICAgICAgICgweDAwMDAwMDAzVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbNF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk0X1BFICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRVs0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfUEYgICAgICAgICAoMHgwMDAwMDAwNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzRdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9QRyAgICAgICAgICgweDAwMDAwMDA3VSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEdbNF0gcGluICovDQoNCi8qKiANCiAgKiBAYnJpZWYgIEVYVEk1IGNvbmZpZ3VyYXRpb24gIA0KICAqLyANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUEEgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzVdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9QQiAgICAgICAgICgweDAwMDAwMDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbNV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk1X1BDICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ1s1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUEQgICAgICAgICAoMHgwMDAwMDAzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzVdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9QRSAgICAgICAgICgweDAwMDAwMDQwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEVbNV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk1X1BGICAgICAgICAgKDB4MDAwMDAwNjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRls1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUEcgICAgICAgICAoMHgwMDAwMDA3MFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzVdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJNiBjb25maWd1cmF0aW9uICANCiAgKi8gDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BBICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs2XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfUEIgICAgICAgICAoMHgwMDAwMDEwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzZdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNl9QQyAgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbNl0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BEICAgICAgICAgKDB4MDAwMDAzMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFs2XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfUEUgICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzZdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNl9QRiAgICAgICAgICgweDAwMDAwNjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbNl0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BHICAgICAgICAgKDB4MDAwMDA3MDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQR1s2XSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTcgY29uZmlndXJhdGlvbiAgDQogICovIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19QQSAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbN10gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk3X1BCICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQls3XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfUEMgICAgICAgICAoMHgwMDAwMjAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzddIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19QRCAgICAgICAgICgweDAwMDAzMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbN10gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk3X1BFICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRVs3XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfUEYgICAgICAgICAoMHgwMDAwNjAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzddIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19QRyAgICAgICAgICgweDAwMDA3MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEdbN10gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNZU0NGR19FWFRJQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUG9zICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfTXNrICAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSM19FWFRJOF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTggICAgICAgICAgICBTWVNDRkdfRVhUSUNSM19FWFRJOF9Nc2sgICAgICAgICAgICAgICAvKiE8IEVYVEkgOCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X1BvcyAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X01zayAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUG9zKSAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5ICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfTXNrICAgICAgICAgICAgICAgLyohPCBFWFRJIDkgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUG9zICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfTXNrICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1IzX0VYVEkxMF9Qb3MpICAgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTAgICAgICAgICAgIFNZU0NGR19FWFRJQ1IzX0VYVEkxMF9Nc2sgICAgICAgICAgICAgIC8qITwgRVhUSSAxMCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9Qb3MgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9Nc2sgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjNfRVhUSTExX1BvcykgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMSAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjNfRVhUSTExX01zayAgICAgICAgICAgICAgLyohPCBFWFRJIDExIGNvbmZpZ3VyYXRpb24gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTggY29uZmlndXJhdGlvbiAgDQogICovIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOF9QQSAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbOF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk4X1BCICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQls4XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUEMgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzhdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOF9QRCAgICAgICAgICgweDAwMDAwMDAzVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbOF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk4X1BFICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRVs4XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUEYgICAgICAgICAoMHgwMDAwMDAwNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzhdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOF9QRyAgICAgICAgICgweDAwMDAwMDA3VSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEdbOF0gcGluICovDQoNCi8qKiANCiAgKiBAYnJpZWYgIEVYVEk5IGNvbmZpZ3VyYXRpb24gIA0KICAqLyANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUEEgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzldIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9QQiAgICAgICAgICgweDAwMDAwMDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbOV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X1BDICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ1s5XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUEQgICAgICAgICAoMHgwMDAwMDAzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzldIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9QRSAgICAgICAgICgweDAwMDAwMDQwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEVbOV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X1BGICAgICAgICAgKDB4MDAwMDAwNjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRls5XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUEcgICAgICAgICAoMHgwMDAwMDA3MFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzldIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMTAgY29uZmlndXJhdGlvbiAgDQogICovIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEEgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEIgICAgICAgICgweDAwMDAwMTAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEMgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEQgICAgICAgICgweDAwMDAwMzAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEUgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEVbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEYgICAgICAgICgweDAwMDAwNjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEcgICAgICAgICgweDAwMDAwNzAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEdbMTBdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMTEgY29uZmlndXJhdGlvbiAgDQogICovIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfUEEgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfUEIgICAgICAgICgweDAwMDAxMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbMTFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfUEMgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMTFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfUEQgICAgICAgICgweDAwMDAzMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbMTFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfUEUgICAgICAgICgweDAwMDA0MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEVbMTFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfUEYgICAgICAgICgweDAwMDA2MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbMTFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfUEcgICAgICAgICgweDAwMDA3MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEdbMTFdIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTWVNDRkdfRVhUSUNSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxMl9Qb3MgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxMl9Nc2sgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BvcykgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxMiAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX01zayAgICAgICAgICAgICAgLyohPCBFWFRJIDEyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX1BvcyAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX01zayAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSNF9FWFRJMTNfUG9zKSAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzICAgICAgICAgICBTWVNDRkdfRVhUSUNSNF9FWFRJMTNfTXNrICAgICAgICAgICAgICAvKiE8IEVYVEkgMTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTRfUG9zICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTRfTXNrICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1I0X0VYVEkxNF9Qb3MpICAgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTQgICAgICAgICAgIFNZU0NGR19FWFRJQ1I0X0VYVEkxNF9Nc2sgICAgICAgICAgICAgIC8qITwgRVhUSSAxNCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNV9Qb3MgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNV9Nc2sgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BvcykgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNSAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X01zayAgICAgICAgICAgICAgLyohPCBFWFRJIDE1IGNvbmZpZ3VyYXRpb24gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTEyIGNvbmZpZ3VyYXRpb24gIA0KICAqLyANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BBICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BCICAgICAgICAoMHgwMDAwMDAwMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BDICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BEICAgICAgICAoMHgwMDAwMDAwM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BFICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BGICAgICAgICAoMHgwMDAwMDAwNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BHICAgICAgICAoMHgwMDAwMDAwN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzEyXSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTEzIGNvbmZpZ3VyYXRpb24gIA0KICAqLyANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX1BBICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEzXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX1BCICAgICAgICAoMHgwMDAwMDAxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzEzXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX1BDICAgICAgICAoMHgwMDAwMDAyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzEzXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX1BEICAgICAgICAoMHgwMDAwMDAzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzEzXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX1BFICAgICAgICAoMHgwMDAwMDA0MFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzEzXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX1BGICAgICAgICAoMHgwMDAwMDA2MFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzEzXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzX1BHICAgICAgICAoMHgwMDAwMDA3MFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzEzXSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTE0IGNvbmZpZ3VyYXRpb24gIA0KICAqLyANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BBICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzE0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BCICAgICAgICAoMHgwMDAwMDEwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzE0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BDICAgICAgICAoMHgwMDAwMDIwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzE0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BEICAgICAgICAoMHgwMDAwMDMwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzE0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BFICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzE0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BGICAgICAgICAoMHgwMDAwMDYwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzE0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BHICAgICAgICAoMHgwMDAwMDcwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzE0XSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTE1IGNvbmZpZ3VyYXRpb24gIA0KICAqLyANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BBICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BCICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BDICAgICAgICAoMHgwMDAwMjAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BEICAgICAgICAoMHgwMDAwMzAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BFICAgICAgICAoMHgwMDAwNDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBFWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BGICAgICAgICAoMHgwMDAwNjAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BHICAgICAgICAoMHgwMDAwNzAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBHWzE1XSBwaW4gKi8NCiANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgIFJvdXRpbmcgSW50ZXJmYWNlIChSSSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSSV9JQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSSV9JQ1JfSUMxT1NfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSSV9JQ1JfSUMxT1NfTXNrICAgICAgICAgICAgICAgICgweEZVIDw8IFJJX0lDUl9JQzFPU19Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBSSV9JQ1JfSUMxT1MgICAgICAgICAgICAgICAgICAgIFJJX0lDUl9JQzFPU19Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSUMxT1NbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDEgc2VsZWN0IGJpdHMpICovDQojZGVmaW5lIFJJX0lDUl9JQzFPU18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUklfSUNSX0lDMU9TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJJX0lDUl9JQzFPU18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUklfSUNSX0lDMU9TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJJX0lDUl9JQzFPU18yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUklfSUNSX0lDMU9TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJJX0lDUl9JQzFPU18zICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUklfSUNSX0lDMU9TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgUklfSUNSX0lDMk9TX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUklfSUNSX0lDMk9TX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSSV9JQ1JfSUMyT1NfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgUklfSUNSX0lDMk9TICAgICAgICAgICAgICAgICAgICBSSV9JQ1JfSUMyT1NfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElDMk9TWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIHNlbGVjdCBiaXRzKSAqLw0KI2RlZmluZSBSSV9JQ1JfSUMyT1NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJJX0lDUl9JQzJPU19Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSSV9JQ1JfSUMyT1NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJJX0lDUl9JQzJPU19Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSSV9JQ1JfSUMyT1NfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJJX0lDUl9JQzJPU19Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSSV9JQ1JfSUMyT1NfMyAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJJX0lDUl9JQzJPU19Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFJJX0lDUl9JQzNPU19Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJJX0lDUl9JQzNPU19Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgUklfSUNSX0lDM09TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJJX0lDUl9JQzNPUyAgICAgICAgICAgICAgICAgICAgUklfSUNSX0lDM09TX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJQzNPU1szOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMyBzZWxlY3QgYml0cykgKi8NCiNkZWZpbmUgUklfSUNSX0lDM09TXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSSV9JQ1JfSUMzT1NfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUklfSUNSX0lDM09TXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSSV9JQ1JfSUMzT1NfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUklfSUNSX0lDM09TXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSSV9JQ1JfSUMzT1NfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUklfSUNSX0lDM09TXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSSV9JQ1JfSUMzT1NfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBSSV9JQ1JfSUM0T1NfUG9zICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSSV9JQ1JfSUM0T1NfTXNrICAgICAgICAgICAgICAgICgweEZVIDw8IFJJX0lDUl9JQzRPU19Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBSSV9JQ1JfSUM0T1MgICAgICAgICAgICAgICAgICAgIFJJX0lDUl9JQzRPU19Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSUM0T1NbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgc2VsZWN0IGJpdHMpICovDQojZGVmaW5lIFJJX0lDUl9JQzRPU18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUklfSUNSX0lDNE9TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJJX0lDUl9JQzRPU18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUklfSUNSX0lDNE9TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJJX0lDUl9JQzRPU18yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUklfSUNSX0lDNE9TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJJX0lDUl9JQzRPU18zICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUklfSUNSX0lDNE9TX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgUklfSUNSX1RJTV9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUklfSUNSX1RJTV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSSV9JQ1JfVElNX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMzAwMDAgKi8NCiNkZWZpbmUgUklfSUNSX1RJTSAgICAgICAgICAgICAgICAgICAgICBSSV9JQ1JfVElNX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRJTVszOjBdIGJpdHMgKFRpbWVycyBzZWxlY3QgYml0cykgKi8NCiNkZWZpbmUgUklfSUNSX1RJTV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSSV9JQ1JfVElNX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUklfSUNSX1RJTV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSSV9JQ1JfVElNX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBSSV9JQ1JfSUMxX1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSSV9JQ1JfSUMxX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJJX0lDUl9JQzFfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSSV9JQ1JfSUMxICAgICAgICAgICAgICAgICAgICAgIFJJX0lDUl9JQzFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSW5wdXQgY2FwdHVyZSAxICovDQojZGVmaW5lIFJJX0lDUl9JQzJfUG9zICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJJX0lDUl9JQzJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUklfSUNSX0lDMl9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJJX0lDUl9JQzIgICAgICAgICAgICAgICAgICAgICAgUklfSUNSX0lDMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJbnB1dCBjYXB0dXJlIDIgKi8NCiNkZWZpbmUgUklfSUNSX0lDM19Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUklfSUNSX0lDM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSSV9JQ1JfSUMzX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUklfSUNSX0lDMyAgICAgICAgICAgICAgICAgICAgICBSSV9JQ1JfSUMzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElucHV0IGNhcHR1cmUgMyAqLw0KI2RlZmluZSBSSV9JQ1JfSUM0X1BvcyAgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSSV9JQ1JfSUM0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJJX0lDUl9JQzRfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSSV9JQ1JfSUM0ICAgICAgICAgICAgICAgICAgICAgIFJJX0lDUl9JQzRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSW5wdXQgY2FwdHVyZSA0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJJX0FTQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0hfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUklfQVNDUjFfQ0hfTXNrICAgICAgICAgICAgICAgICAoMHgzRkNGRkZGVSA8PCBSSV9BU0NSMV9DSF9Qb3MpICAgICAgICAvKiE8IDB4MDNGQ0ZGRkYgKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0ggICAgICAgICAgICAgICAgICAgICBSSV9BU0NSMV9DSF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFTX0NIWzI1OjE4XSAmIEFTX0NIWzE1OjBdIGJpdHMgKCBBbmFsb2cgc3dpdGNoZXMgc2VsZWN0aW9uIGJpdHMpICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBSSV9BU0NSMV9DSF8xICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0hfMiAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzMgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBSSV9BU0NSMV9DSF80ICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0hfNSAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA1ICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzYgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNiAqLw0KI2RlZmluZSBSSV9BU0NSMV9DSF83ICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDcgKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0hfOCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA4ICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzkgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgOSAqLw0KI2RlZmluZSBSSV9BU0NSMV9DSF8xMCAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEwICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzExICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMTEgKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0hfMTIgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxMiAqLw0KI2RlZmluZSBSSV9BU0NSMV9DSF8xMyAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEzICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzE0ICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMTQgKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0hfMTUgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxNSAqLw0KI2RlZmluZSBSSV9BU0NSMV9DSF8xOCAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDE4ICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzE5ICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMTkgKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0hfMjAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyMCAqLw0KI2RlZmluZSBSSV9BU0NSMV9DSF8yMSAgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIxICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzIyICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMjIgKi8NCiNkZWZpbmUgUklfQVNDUjFfQ0hfMjMgICAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyMyAqLw0KI2RlZmluZSBSSV9BU0NSMV9DSF8yNCAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDI0ICovDQojZGVmaW5lIFJJX0FTQ1IxX0NIXzI1ICAgICAgICAgICAgICAgICAgKDB4MDIwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMjUgKi8NCiNkZWZpbmUgUklfQVNDUjFfVkNPTVBfUG9zICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUklfQVNDUjFfVkNPTVBfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSSV9BU0NSMV9WQ09NUF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgUklfQVNDUjFfVkNPTVAgICAgICAgICAgICAgICAgICBSSV9BU0NSMV9WQ09NUF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgc3dpdGNoIHNlbGVjdGlvbiBmb3IgaW50ZXJuYWwgbm9kZSB0byBDT01QMSAqLw0KI2RlZmluZSBSSV9BU0NSMV9TQ01fUG9zICAgICAgICAgICAgICAgICgzMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSSV9BU0NSMV9TQ01fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJJX0FTQ1IxX1NDTV9Qb3MpICAgICAgICAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KI2RlZmluZSBSSV9BU0NSMV9TQ00gICAgICAgICAgICAgICAgICAgIFJJX0FTQ1IxX1NDTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSS9PIFN3aXRjaCBjb250cm9sIG1vZGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUklfQVNDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjEwXzEgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1IxMC0xIHNlbGVjdGlvbiBiaXQgKi8NCiNkZWZpbmUgUklfQVNDUjJfR1IxMF8yICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEdSMTAtMiBzZWxlY3Rpb24gYml0ICovDQojZGVmaW5lIFJJX0FTQ1IyX0dSMTBfMyAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBHUjEwLTMgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjEwXzQgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1IxMC00IHNlbGVjdGlvbiBiaXQgKi8NCiNkZWZpbmUgUklfQVNDUjJfR1I2X1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUklfQVNDUjJfR1I2X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBSSV9BU0NSMl9HUjZfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgUklfQVNDUjJfR1I2ICAgICAgICAgICAgICAgICAgICBSSV9BU0NSMl9HUjZfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEdSNiBzZWxlY3Rpb24gYml0cyAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjZfMSAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJJX0FTQ1IyX0dSNl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjZfMiAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJJX0FTQ1IyX0dSNl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjVfMSAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1I1LTEgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjVfMiAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1I1LTIgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjVfMyAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1I1LTMgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjRfMSAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1I0LTEgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjRfMiAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1I0LTIgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjRfMyAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1I0LTMgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBSSV9BU0NSMl9HUjRfNCAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1I0LTQgc2VsZWN0aW9uIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSSV9IWVNDUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEFfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSSV9IWVNDUjFfUEFfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJJX0hZU0NSMV9QQV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEEgICAgICAgICAgICAgICAgICAgIFJJX0hZU0NSMV9QQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTU6MF0gUG9ydCBBIEh5c3RlcmVzaXMgc2VsZWN0aW9uICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8wICAgICAgICAgICAgICAgICAgKDB4MDAwMVUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8xICAgICAgICAgICAgICAgICAgKDB4MDAwMlUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8yICAgICAgICAgICAgICAgICAgKDB4MDAwNFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8zICAgICAgICAgICAgICAgICAgKDB4MDAwOFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV80ICAgICAgICAgICAgICAgICAgKDB4MDAxMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV81ICAgICAgICAgICAgICAgICAgKDB4MDAyMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV82ICAgICAgICAgICAgICAgICAgKDB4MDA0MFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV83ICAgICAgICAgICAgICAgICAgKDB4MDA4MFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV84ICAgICAgICAgICAgICAgICAgKDB4MDEwMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV85ICAgICAgICAgICAgICAgICAgKDB4MDIwMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8xMCAgICAgICAgICAgICAgICAgKDB4MDQwMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8xMSAgICAgICAgICAgICAgICAgKDB4MDgwMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8xMiAgICAgICAgICAgICAgICAgKDB4MTAwMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8xMyAgICAgICAgICAgICAgICAgKDB4MjAwMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8xNCAgICAgICAgICAgICAgICAgKDB4NDAwMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJJX0hZU0NSMV9QQV8xNSAgICAgICAgICAgICAgICAgKDB4ODAwMFUgPDwgUklfSFlTQ1IxX1BBX1BvcykgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgUklfSFlTQ1IxX1BCX1BvcyAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUklfSFlTQ1IxX1BCX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSSV9IWVNDUjFfUEJfUG9zKSAgICAgICAgICAvKiE8IDB4RkZGRjAwMDAgKi8NCiNkZWZpbmUgUklfSFlTQ1IxX1BCICAgICAgICAgICAgICAgICAgICBSSV9IWVNDUjFfUEJfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzE1OjBdIFBvcnQgQiBIeXN0ZXJlc2lzIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMCAgICAgICAgICAgICAgICAgICgweDAwMDFVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMSAgICAgICAgICAgICAgICAgICgweDAwMDJVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMiAgICAgICAgICAgICAgICAgICgweDAwMDRVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMyAgICAgICAgICAgICAgICAgICgweDAwMDhVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfNCAgICAgICAgICAgICAgICAgICgweDAwMTBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfNSAgICAgICAgICAgICAgICAgICgweDAwMjBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfNiAgICAgICAgICAgICAgICAgICgweDAwNDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfNyAgICAgICAgICAgICAgICAgICgweDAwODBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfOCAgICAgICAgICAgICAgICAgICgweDAxMDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfOSAgICAgICAgICAgICAgICAgICgweDAyMDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMTAgICAgICAgICAgICAgICAgICgweDA0MDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMTEgICAgICAgICAgICAgICAgICgweDA4MDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMTIgICAgICAgICAgICAgICAgICgweDEwMDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMTMgICAgICAgICAgICAgICAgICgweDIwMDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMTQgICAgICAgICAgICAgICAgICgweDQwMDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjFfUEJfMTUgICAgICAgICAgICAgICAgICgweDgwMDBVIDw8IFJJX0hZU0NSMV9QQl9Qb3MpICAgICAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSSV9IWVNDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSSV9IWVNDUjJfUENfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSSV9IWVNDUjJfUENfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJJX0hZU0NSMl9QQ19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUEMgICAgICAgICAgICAgICAgICAgIFJJX0hZU0NSMl9QQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMTU6MF0gUG9ydCBDIEh5c3RlcmVzaXMgc2VsZWN0aW9uICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18wICAgICAgICAgICAgICAgICAgKDB4MDAwMVUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18xICAgICAgICAgICAgICAgICAgKDB4MDAwMlUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18yICAgICAgICAgICAgICAgICAgKDB4MDAwNFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18zICAgICAgICAgICAgICAgICAgKDB4MDAwOFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ180ICAgICAgICAgICAgICAgICAgKDB4MDAxMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ181ICAgICAgICAgICAgICAgICAgKDB4MDAyMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ182ICAgICAgICAgICAgICAgICAgKDB4MDA0MFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ183ICAgICAgICAgICAgICAgICAgKDB4MDA4MFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ184ICAgICAgICAgICAgICAgICAgKDB4MDEwMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ185ICAgICAgICAgICAgICAgICAgKDB4MDIwMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18xMCAgICAgICAgICAgICAgICAgKDB4MDQwMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18xMSAgICAgICAgICAgICAgICAgKDB4MDgwMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18xMiAgICAgICAgICAgICAgICAgKDB4MTAwMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18xMyAgICAgICAgICAgICAgICAgKDB4MjAwMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18xNCAgICAgICAgICAgICAgICAgKDB4NDAwMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJJX0hZU0NSMl9QQ18xNSAgICAgICAgICAgICAgICAgKDB4ODAwMFUgPDwgUklfSFlTQ1IyX1BDX1BvcykgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgUklfSFlTQ1IyX1BEX1BvcyAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUklfSFlTQ1IyX1BEX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSSV9IWVNDUjJfUERfUG9zKSAgICAgICAgICAvKiE8IDB4RkZGRjAwMDAgKi8NCiNkZWZpbmUgUklfSFlTQ1IyX1BEICAgICAgICAgICAgICAgICAgICBSSV9IWVNDUjJfUERfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzE1OjBdIFBvcnQgRCBIeXN0ZXJlc2lzIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMCAgICAgICAgICAgICAgICAgICgweDAwMDFVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMSAgICAgICAgICAgICAgICAgICgweDAwMDJVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMiAgICAgICAgICAgICAgICAgICgweDAwMDRVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMyAgICAgICAgICAgICAgICAgICgweDAwMDhVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfNCAgICAgICAgICAgICAgICAgICgweDAwMTBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfNSAgICAgICAgICAgICAgICAgICgweDAwMjBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfNiAgICAgICAgICAgICAgICAgICgweDAwNDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfNyAgICAgICAgICAgICAgICAgICgweDAwODBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfOCAgICAgICAgICAgICAgICAgICgweDAxMDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfOSAgICAgICAgICAgICAgICAgICgweDAyMDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMTAgICAgICAgICAgICAgICAgICgweDA0MDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMTEgICAgICAgICAgICAgICAgICgweDA4MDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMTIgICAgICAgICAgICAgICAgICgweDEwMDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMTMgICAgICAgICAgICAgICAgICgweDIwMDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMTQgICAgICAgICAgICAgICAgICgweDQwMDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSSV9IWVNDUjJfUERfMTUgICAgICAgICAgICAgICAgICgweDgwMDBVIDw8IFJJX0hZU0NSMl9QRF9Qb3MpICAgICAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZXJzIChUSU0pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ1IxX0NFTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NFTl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NFTiAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0NFTl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxDb3VudGVyIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ1IxX1VESVNfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX1VESVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX1VESVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fQ1IxX1VESVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX1VESVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgZGlzYWJsZSAqLw0KI2RlZmluZSBUSU1fQ1IxX1VSU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX1VSU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX1VSU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ1IxX1VSUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX1VSU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgcmVxdWVzdCBzb3VyY2UgKi8NCiNkZWZpbmUgVElNX0NSMV9PUE1fUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9PUE1fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9PUE1fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NSMV9PUE0gICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9PUE1fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8T25lIHB1bHNlIG1vZGUgKi8NCiNkZWZpbmUgVElNX0NSMV9ESVJfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9ESVJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NSMV9ESVIgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8RGlyZWN0aW9uICovDQoNCiNkZWZpbmUgVElNX0NSMV9DTVNfUG9zICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DTVNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9DTVNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q01TWzE6MF0gYml0cyAoQ2VudGVyLWFsaWduZWQgbW9kZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DUjFfQ01TXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ01TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DUjFfQ01TXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjFfQ01TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NSMV9BUlBFX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9BUlBFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9BUlBFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NSMV9BUlBFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9BUlBFX01zayAgICAgICAgICAgICAgICAgICAvKiE8QXV0by1yZWxvYWQgcHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0NLRF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NLRF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRCAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0NLRF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxDS0RbMTowXSBiaXRzIChjbG9jayBkaXZpc2lvbikgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0RfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DS0RfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0RfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NSMV9DS0RfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NSMl9DQ0RTX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ0RTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9DQ0RTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NSMl9DQ0RTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9DQ0RTX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIERNQSBTZWxlY3Rpb24gKi8NCg0KI2RlZmluZSBUSU1fQ1IyX01NU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX01NU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX01NU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxNTVNbMjowXSBiaXRzIChNYXN0ZXIgTW9kZSBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NSMl9USTFTX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9USTFTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9USTFTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NSMl9USTFTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9USTFTX01zayAgICAgICAgICAgICAgICAgICAvKiE8VEkxIFNlbGVjdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TTUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxTTVNbMjowXSBiaXRzIChTbGF2ZSBtb2RlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9PQ0NTX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9PQ0NTX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9PQ0NTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fU01DUl9PQ0NTICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9PQ0NTX01zayAgICAgICAgICAgICAgICAgIC8qITwgT0NSRUYgY2xlYXIgc2VsZWN0aW9uICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfVFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfVFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfVFMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfVFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8VFNbMjowXSBiaXRzIChUcmlnZ2VyIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfVFNfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfVFNfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfVFNfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9NU01fUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9NU01fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9NU01fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fU01DUl9NU00gICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9NU01fTXNrICAgICAgICAgICAgICAgICAgIC8qITxNYXN0ZXIvc2xhdmUgbW9kZSAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX0VURl9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VURl9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VURl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEVURlszOjBdIGJpdHMgKEV4dGVybmFsIHRyaWdnZXIgZmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEZfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEZfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEZfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEZfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFMgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VUUFNfTXNrICAgICAgICAgICAgICAgICAgLyohPEVUUFNbMTowXSBiaXRzIChFeHRlcm5hbCB0cmlnZ2VyIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQU18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQU18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FQ0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FQ0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FQ0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FQ0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FQ0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxFeHRlcm5hbCBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQX1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRVRQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRQX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRVRQX01zayAgICAgICAgICAgICAgICAgICAvKiE8RXh0ZXJuYWwgdHJpZ2dlciBwb2xhcml0eSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9ESUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRElFUl9VSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9VSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRElFUl9VSUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzFJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMklFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MzSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzRJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1RJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9VREVfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9VREVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9VREUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9VREVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMURFX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMURFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJERV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzJERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzJERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzJERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzREVfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MzREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MzREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDNERFX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDNERFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01ERSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMFUpICAgICAgICAgICAgICAgIC8qITxDT00gRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RERV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1RERV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9ESUVSX1RERSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1RERV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgRE1BIHJlcXVlc3QgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9TUl9VSUZfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9VSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9VSUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9TUl9VSUYgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9VSUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MxSUZfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MxSUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MxSUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fU1JfQ0MxSUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MxSUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MySUZfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MySUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MySUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MySUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MySUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzSUZfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MzSUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MzSUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzSUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MzSUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0M0SUZfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0M0SUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0M0SUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0M0SUYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0M0SUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfVElGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfVElGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fU1JfVElGICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzFPRl9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzFPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzFPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9TUl9DQzFPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzFPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMk9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMk9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMk9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDMk9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMk9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzT0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MzT0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MzT0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzT0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MzT0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzRPRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzRPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzRPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9TUl9DQzRPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzRPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IE92ZXJjYXB0dXJlIEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRUdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0VHUl9VR19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9VR19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9VR19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0VHUl9VRyAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9VR19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzFHX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzFHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzFHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0VHUl9DQzFHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzFHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMkdfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDMkdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDMkdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMkcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDMkdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MzR19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MzR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MzR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9FR1JfQ0MzRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0MzR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzRHX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzRHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzRHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0VHUl9DQzRHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzRHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX1RHX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX1RHX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX1RHX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fRUdSX1RHICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX1RHX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIEdlbmVyYXRpb24gKi8NCiAgICAgICAgICAgICAgICAgICANCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NNUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9DQzFTX01zayAgICAgICAgICAgICAgICAgLyohPENDMVNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMSBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzFTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMUZFX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMUZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMUZFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMUZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMUZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMSBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxUEVfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxUEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxUEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAxIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMU0gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMU1fTXNrICAgICAgICAgICAgICAgICAvKiE8T0MxTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDEgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMU1fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxQ0VfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxQ0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxQ0VfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxQ0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxQ0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAxQ2xlYXIgRW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0NDMlNfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0NDMlNfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMlMgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0NDMlNfTXNrICAgICAgICAgICAgICAgICAvKiE8Q0MyU1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSAyIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMlNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMlNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyRkVfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyRkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyRkUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyRkVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIEZhc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJQRV9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJQRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJQRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDIgUHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyTV9Nc2sgICAgICAgICAgICAgICAgIC8qITxPQzJNWzI6MF0gYml0cyAoT3V0cHV0IENvbXBhcmUgMiBNb2RlKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyTV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJDRV9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJDRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJDRV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJDRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJDRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDIgQ2xlYXIgRW5hYmxlICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMxUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzFGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzJQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgICAgICAgICAgLyohPElDMkZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDTVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfQ0MzU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzNTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDMgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDMgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM1BFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM1BFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNNX01zayAgICAgICAgICAgICAgICAgLyohPE9DM01bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAzIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM0NFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM0NFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBDbGVhciBFbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0UyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfQ0M0U19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzRTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDQgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDQgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNFBFX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNFBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRNX01zayAgICAgICAgICAgICAgICAgLyohPE9DNE1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSA0IE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNENFX1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNENFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNENFX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNENFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNENFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBDbGVhciBFbmFibGUgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDX1BvcyAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUMzUFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzNQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDMgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzUFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzNGX01zayAgICAgICAgICAgICAgICAgLyohPElDM0ZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDMgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0NfUG9zICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzRQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDNFBTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgNCBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEYgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDNEZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUM0RlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgNCBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5QX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMU5QX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMU5QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMkVfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMkVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMkUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMkVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyUF9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMk5QX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMk5QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0VfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM0VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0UgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM0VfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzUF9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM05QX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDNEVfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0M0UF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNE5QX1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNE5QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDNE5QX1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNE5QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDNE5QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DTlRfQ05UX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DTlRfQ05UX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBUSU1fQ05UX0NOVF9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9DTlRfQ05UICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DTlRfQ05UX01zayAgICAgICAgICAgICAgICAgICAgLyohPENvdW50ZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fUFNDIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX1BTQ19QU0NfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1BTQ19QU0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX1BTQ19QU0NfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX1BTQ19QU0MgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1BTQ19QU0NfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8UHJlc2NhbGVyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0FSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9BUlJfQVJSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBUSU1fQVJSX0FSUl9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9BUlJfQVJSICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgICAgICAgICAgLyohPGFjdHVhbCBhdXRvLXJlbG9hZCBWYWx1ZSAqLw0KICAgICAgICAgICANCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IxX0NDUjFfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjEgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjJfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjJfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IyX0NDUjJfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjIgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IyX0NDUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IzX0NDUjNfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IzX0NDUjNfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IzX0NDUjNfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IzX0NDUjMgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IzX0NDUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1I0X0NDUjRfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjQgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0RDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9EQ1JfREJBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIFRJTV9EQ1JfREJBICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgICAgICAgICAgLyohPERCQVs0OjBdIGJpdHMgKERNQSBCYXNlIEFkZHJlc3MpICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgVElNX0RDUl9EQkxfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDFGMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkwgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8REJMWzQ6MF0gYml0cyAoRE1BIEJ1cnN0IExlbmd0aCkgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRE1BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0RNQVJfRE1BQl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RNQVJfRE1BQl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0RNQVJfRE1BQl9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0RNQVJfRE1BQiAgICAgICAgICAgICAgICAgICAgICAgVElNX0RNQVJfRE1BQl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8RE1BIHJlZ2lzdGVyIGZvciBidXJzdCBhY2Nlc3NlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9PUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fT1JfVEkxUk1QX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fT1JfVEkxUk1QX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fT1JfVEkxUk1QX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fT1JfVEkxUk1QICAgICAgICAgICAgICAgICAgICAgICBUSU1fT1JfVEkxUk1QX01zayAgICAgICAgICAgICAgICAgIC8qITxUSTFfUk1QWzE6MF0gYml0cyAoVElNIElucHV0IDEgcmVtYXApICovDQojZGVmaW5lIFRJTV9PUl9USTFSTVBfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9PUl9USTFSTVBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9PUl9USTFSTVBfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9PUl9USTFSTVBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgVElNX09SX0VUUl9STVBfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX09SX0VUUl9STVBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX09SX0VUUl9STVBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX09SX0VUUl9STVAgICAgICAgICAgICAgICAgICAgICAgVElNX09SX0VUUl9STVBfTXNrICAgICAgICAgICAgICAgICAvKiE8RVRSX1JNUCBiaXQgKFRJTTEwLzExIEVUUiByZW1hcCkqLw0KI2RlZmluZSBUSU1fT1JfVEkxX1JNUF9SSV9Qb3MgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fT1JfVEkxX1JNUF9SSV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fT1JfVEkxX1JNUF9SSV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fT1JfVEkxX1JNUF9SSSAgICAgICAgICAgICAgICAgICBUSU1fT1JfVEkxX1JNUF9SSV9Nc2sgICAgICAgICAgICAgIC8qITxUSTFfUk1QX1JJIGJpdCAoVElNMTAvMTEgSW5wdXQgMSByZW1hcCBmb3IgUm91dGluZyBpbnRlcmZhY2UpICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgIFVuaXZlcnNhbCBTeW5jaHJvbm91cyBBc3luY2hyb25vdXMgUmVjZWl2ZXIgVHJhbnNtaXR0ZXIgKFVTQVJUKSAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX1NSX1BFX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1BFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1BFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX1NSX1BFICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1BFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfRkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfRkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfRkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfU1JfRkUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfRkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEZyYW1pbmcgRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfTkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfTkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTkUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfTkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE5vaXNlIEVycm9yIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfU1JfT1JFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfT1JFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfT1JFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfU1JfT1JFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfT1JFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJSdW4gRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfU1JfSURMRV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfSURMRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfSURMRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfSURMRSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfSURMRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IElETEUgbGluZSBkZXRlY3RlZCAqLw0KI2RlZmluZSBVU0FSVF9TUl9SWE5FX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9SWE5FX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9SWE5FICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBEYXRhIFJlZ2lzdGVyIE5vdCBFbXB0eSAqLw0KI2RlZmluZSBVU0FSVF9TUl9UQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9UQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9UQ19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9TUl9UQyAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9UQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIENvbXBsZXRlICovDQojZGVmaW5lIFVTQVJUX1NSX1RYRV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1RYRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX1NSX1RYRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyIEVtcHR5ICovDQojZGVmaW5lIFVTQVJUX1NSX0xCRF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0xCRF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0xCRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX1NSX0xCRCAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0xCRF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBMSU4gQnJlYWsgRGV0ZWN0aW9uIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfU1JfQ1RTX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfQ1RTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfQ1RTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfQ1RTICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfQ1RTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENUUyBGbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGRlUgPDwgVVNBUlRfRFJfRFJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMUZGICovDQojZGVmaW5lIFVTQVJUX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9CUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfRlJBQ1RJT05fUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfRlJBQ1RJT05fTXNrICAgICAgICAgICgweEZVIDw8IFVTQVJUX0JSUl9ESVZfRlJBQ1RJT05fUG9zKSAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GUkFDVElPTiAgICAgICAgICAgICAgVVNBUlRfQlJSX0RJVl9GUkFDVElPTl9Nc2sgICAgICAgICAvKiE8IEZyYWN0aW9uIG9mIFVTQVJURElWICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTUFOVElTU0FfUG9zICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTUFOVElTU0FfTXNrICAgICAgICAgICgweEZGRlUgPDwgVVNBUlRfQlJSX0RJVl9NQU5USVNTQV9Qb3MpIC8qITwgMHgwMDAwRkZGMCAqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX01BTlRJU1NBICAgICAgICAgICAgICBVU0FSVF9CUlJfRElWX01BTlRJU1NBX01zayAgICAgICAgIC8qITwgTWFudGlzc2Egb2YgVVNBUlRESVYgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1NCS19Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1NCS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1NCS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1NCSyAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1NCS19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNlbmQgQnJlYWsgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JXVV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JXVSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JXVV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVyIHdha2V1cCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUkVfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUkUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZXIgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9URV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9URV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9URV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0NSMV9URSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9URV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdHRlciBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRV9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX0lETEVJRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX0lETEVJRSAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX0lETEVJRV9Nc2sgICAgICAgICAgICAgICAvKiE8IElETEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFX1BvcyAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUlhORUlFX1BvcykgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUlhORUlFICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUlhORUlFX01zayAgICAgICAgICAgICAgIC8qITwgUlhORSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9UQ0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSMV9UQ0lFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9UQ0lFX01zayAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQ29tcGxldGUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUVfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVFhFSUVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVFhFSUUgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVFhFSUVfTXNrICAgICAgICAgICAgICAgIC8qITwgUEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRV9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUEVJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUEVJRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUEVJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUEUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUFNfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUFNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUFNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUFMgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUFNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IFNlbGVjdGlvbiAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUENFX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUENFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUENFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUENFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUENFX01zayAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IENvbnRyb2wgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9XQUtFX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9XQUtFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9XQUtFX01zayAgICAgICAgICAgICAgICAgLyohPCBXYWtldXAgbWV0aG9kICovDQojZGVmaW5lIFVTQVJUX0NSMV9NX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9NX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9NX1BvcykgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9NICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9NX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXb3JkIGxlbmd0aCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVUVfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVUUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVVNBUlQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9PVkVSOF9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9PVkVSOF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9PVkVSOF9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9PVkVSOCAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9PVkVSOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBPdmVyc2FtcGxpbmcgYnkgOC1iaXQgbW9kZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUREX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQUREX01zayAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0FSVF9DUjJfQUREX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUREICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQUREX01zayAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBvZiB0aGUgVVNBUlQgbm9kZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJETF9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTEJETF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTEJETF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJETCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTEJETF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTElOIEJyZWFrIERldGVjdGlvbiBMZW5ndGggKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCRElFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCRElFX01zayAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTEJDTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTEJDTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTGFzdCBCaXQgQ2xvY2sgcHVsc2UgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEFfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NQSEFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEEgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NQSEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBoYXNlICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DUE9MX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DUE9MX01zayAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQb2xhcml0eSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU5fUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ0xLRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU4gICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ0xLRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgRW5hYmxlICovDQoNCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1AgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX1NUT1BfTXNrICAgICAgICAgICAgICAgICAvKiE8IFNUT1BbMTowXSBiaXRzIChTVE9QIGJpdHMpICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOX1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xJTkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xJTkVOX01zayAgICAgICAgICAgICAgICAvKiE8IExJTiBtb2RlIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjNfRUlFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfRUlFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfRUlFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRUlFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfRUlFX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTl9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSVJFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfSVJFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSXJEQSBtb2RlIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUF9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSVJMUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfSVJMUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSXJEQSBMb3ctUG93ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0hEU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0hEU0VMX01zayAgICAgICAgICAgICAgICAvKiE8IEhhbGYtRHVwbGV4IFNlbGVjdGlvbiAqLw0KI2RlZmluZSBVU0FSVF9DUjNfTkFDS19Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfTkFDS19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfTkFDS19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfTkFDSyAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfTkFDS19Nc2sgICAgICAgICAgICAgICAgIC8qITwgU21hcnRjYXJkIE5BQ0sgZW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19TQ0VOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19TQ0VOX01zayAgICAgICAgICAgICAgICAgLyohPCBTbWFydGNhcmQgbW9kZSBlbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVJfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0RNQVJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVIgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0RNQVJfTXNrICAgICAgICAgICAgICAgICAvKiE8IERNQSBFbmFibGUgUmVjZWl2ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVRfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0RNQVRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVQgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0RNQVRfTXNrICAgICAgICAgICAgICAgICAvKiE8IERNQSBFbmFibGUgVHJhbnNtaXR0ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0VfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX1JUU0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX1JUU0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJUUyBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0VfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0NUU0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0NUU0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IENUUyBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0NUU0lFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0NUU0lFX01zayAgICAgICAgICAgICAgICAvKiE8IENUUyBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19PTkVCSVRfUG9zICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19PTkVCSVRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19PTkVCSVRfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQVJUX0NSM19PTkVCSVQgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19PTkVCSVRfTXNrICAgICAgICAgICAgICAgLyohPCBPbmUgc2FtcGxlIGJpdCBtZXRob2QgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9HVFBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDX01zayAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0dUUFJfUFNDX01zayAgICAgICAgICAgICAgICAgLyohPCBQU0NbNzowXSBiaXRzIChQcmVzY2FsZXIgdmFsdWUpICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzEgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzIgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzMgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzQgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzUgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzYgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzcgICAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVVNBUlRfR1RQUl9HVF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfR1RQUl9HVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFVTQVJUX0dUUFJfR1RfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9HVCAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfR1RQUl9HVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEd1YXJkIHRpbWUgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgIFVuaXZlcnNhbCBTZXJpYWwgQnVzIChVU0IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qITxFbmRwb2ludC1zcGVjaWZpYyByZWdpc3RlcnMgKi8NCg0KI2RlZmluZSAgVVNCX0VQMFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgZW5kcG9pbnQgMCByZWdpc3RlciBhZGRyZXNzICovDQojZGVmaW5lICBVU0JfRVAxUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgwMDAwMDAwNFUpICAgICAgICAgLyohPCBlbmRwb2ludCAxIHJlZ2lzdGVyIGFkZHJlc3MgKi8NCiNkZWZpbmUgIFVTQl9FUDJSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDAwMDAwMDA4VSkgICAgICAgICAvKiE8IGVuZHBvaW50IDIgcmVnaXN0ZXIgYWRkcmVzcyAqLw0KI2RlZmluZSAgVVNCX0VQM1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4MDAwMDAwMENVKSAgICAgICAgIC8qITwgZW5kcG9pbnQgMyByZWdpc3RlciBhZGRyZXNzICovDQojZGVmaW5lICBVU0JfRVA0UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgwMDAwMDAxMFUpICAgICAgICAgLyohPCBlbmRwb2ludCA0IHJlZ2lzdGVyIGFkZHJlc3MgKi8NCiNkZWZpbmUgIFVTQl9FUDVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDAwMDAwMDE0VSkgICAgICAgICAvKiE8IGVuZHBvaW50IDUgcmVnaXN0ZXIgYWRkcmVzcyAqLw0KI2RlZmluZSAgVVNCX0VQNlIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4MDAwMDAwMThVKSAgICAgICAgIC8qITwgZW5kcG9pbnQgNiByZWdpc3RlciBhZGRyZXNzICovDQojZGVmaW5lICBVU0JfRVA3UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgwMDAwMDAxQ1UpICAgICAgICAgLyohPCBlbmRwb2ludCA3IHJlZ2lzdGVyIGFkZHJlc3MgKi8NCg0KLyogYml0IHBvc2l0aW9ucyAqLyANCiNkZWZpbmUgVVNCX0VQX0NUUl9SWF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQX0NUUl9SWF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVBfQ1RSX1JYX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0VQX0NUUl9SWCAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBfQ1RSX1JYX01zayAgICAgICAgICAgICAgICAvKiE8ICBFbmRQb2ludCBDb3JyZWN0IFRSYW5zZmVyIFJYICovDQojZGVmaW5lIFVTQl9FUF9EVE9HX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUF9EVE9HX1JYX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQX0RUT0dfUlhfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9FUF9EVE9HX1JYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQX0RUT0dfUlhfTXNrICAgICAgICAgICAgICAgLyohPCAgRW5kUG9pbnQgRGF0YSBUT0dHTEUgUlggKi8NCiNkZWZpbmUgVVNCX0VQUlhfU1RBVF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQUlhfU1RBVF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVBSWF9TVEFUX1BvcykgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNCX0VQUlhfU1RBVCAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBSWF9TVEFUX01zayAgICAgICAgICAgICAgICAvKiE8ICBFbmRQb2ludCBSWCBTVEFUdXMgYml0IGZpZWxkICovDQojZGVmaW5lIFVTQl9FUF9TRVRVUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUF9TRVRVUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQX1NFVFVQX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9FUF9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQX1NFVFVQX01zayAgICAgICAgICAgICAgICAgLyohPCAgRW5kUG9pbnQgU0VUVVAgKi8NCiNkZWZpbmUgVVNCX0VQX1RfRklFTERfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQX1RfRklFTERfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVBfVF9GSUVMRF9Qb3MpICAgICAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgVVNCX0VQX1RfRklFTEQgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBfVF9GSUVMRF9Nc2sgICAgICAgICAgICAgICAvKiE8ICBFbmRQb2ludCBUWVBFICovDQojZGVmaW5lIFVTQl9FUF9LSU5EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUF9LSU5EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQX0tJTkRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9FUF9LSU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQX0tJTkRfTXNrICAgICAgICAgICAgICAgICAgLyohPCAgRW5kUG9pbnQgS0lORCAqLw0KI2RlZmluZSBVU0JfRVBfQ1RSX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVBfQ1RSX1RYX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUF9DVFJfVFhfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0JfRVBfQ1RSX1RYICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUF9DVFJfVFhfTXNrICAgICAgICAgICAgICAgIC8qITwgIEVuZFBvaW50IENvcnJlY3QgVFJhbnNmZXIgVFggKi8NCiNkZWZpbmUgVVNCX0VQX0RUT0dfVFhfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQX0RUT0dfVFhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVBfRFRPR19UWF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNCX0VQX0RUT0dfVFggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBfRFRPR19UWF9Nc2sgICAgICAgICAgICAgICAvKiE8ICBFbmRQb2ludCBEYXRhIFRPR0dMRSBUWCAqLw0KI2RlZmluZSBVU0JfRVBUWF9TVEFUX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVBUWF9TVEFUX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUFRYX1NUQVRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBVU0JfRVBUWF9TVEFUICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUFRYX1NUQVRfTXNrICAgICAgICAgICAgICAgIC8qITwgIEVuZFBvaW50IFRYIFNUQVR1cyBiaXQgZmllbGQgKi8NCiNkZWZpbmUgVVNCX0VQQUREUl9GSUVMRF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQQUREUl9GSUVMRF9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0JfRVBBRERSX0ZJRUxEX1BvcykgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNCX0VQQUREUl9GSUVMRCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBBRERSX0ZJRUxEX01zayAgICAgICAgICAgICAvKiE8ICBFbmRQb2ludCBBRERSZXNzIEZJRUxEICovDQoNCi8qIEVuZFBvaW50IFJFR2lzdGVyIE1BU0sgKG5vIHRvZ2dsZSBmaWVsZHMpICovDQojZGVmaW5lICBVU0JfRVBSRUdfTUFTSyAgICAgKFVTQl9FUF9DVFJfUlh8VVNCX0VQX1NFVFVQfFVTQl9FUF9UX0ZJRUxEfFVTQl9FUF9LSU5EfFVTQl9FUF9DVFJfVFh8VVNCX0VQQUREUl9GSUVMRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVQX1RZUEVbMTowXSBFbmRQb2ludCBUWVBFICovDQojZGVmaW5lIFVTQl9FUF9UWVBFX01BU0tfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUF9UWVBFX01BU0tfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQX1RZUEVfTUFTS19Qb3MpICAgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFVTQl9FUF9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQX1RZUEVfTUFTS19Nc2sgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWVBFIE1hc2sgKi8NCiNkZWZpbmUgVVNCX0VQX0JVTEsgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IEJVTEsgKi8NCiNkZWZpbmUgVVNCX0VQX0NPTlRST0wgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IENPTlRST0wgKi8NCiNkZWZpbmUgVVNCX0VQX0lTT0NIUk9OT1VTICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IElTT0NIUk9OT1VTICovDQojZGVmaW5lIFVTQl9FUF9JTlRFUlJVUFQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA2MDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBJTlRFUlJVUFQgKi8NCiNkZWZpbmUgIFVTQl9FUF9UX01BU0sgICAgICAoflVTQl9FUF9UX0ZJRUxEICYgVVNCX0VQUkVHX01BU0spDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSAgVVNCX0VQS0lORF9NQVNLICAgICh+VVNCX0VQX0tJTkQgJiBVU0JfRVBSRUdfTUFTSykgICAgICAgICAgICAvKiE8IEVQX0tJTkQgRW5kUG9pbnQgS0lORCAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1RBVF9UWFsxOjBdIFNUQVR1cyBmb3IgVFggdHJhbnNmZXIgKi8NCiNkZWZpbmUgVVNCX0VQX1RYX0RJUyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFRYIERJU2FibGVkICovDQojZGVmaW5lIFVTQl9FUF9UWF9TVEFMTCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWCBTVEFMTGVkICovDQojZGVmaW5lIFVTQl9FUF9UWF9OQUsgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWCBOQUtlZCAqLw0KI2RlZmluZSBVU0JfRVBfVFhfVkFMSUQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDMwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgVFggVkFMSUQgKi8NCiNkZWZpbmUgVVNCX0VQVFhfRFRPRzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFRYIERhdGEgVE9HZ2xlIGJpdDEgKi8NCiNkZWZpbmUgVVNCX0VQVFhfRFRPRzIgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFRYIERhdGEgVE9HZ2xlIGJpdDIgKi8NCiNkZWZpbmUgIFVTQl9FUFRYX0RUT0dNQVNLICAoVVNCX0VQVFhfU1RBVHxVU0JfRVBSRUdfTUFTSykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUQVRfUlhbMTowXSBTVEFUdXMgZm9yIFJYIHRyYW5zZmVyICovDQojZGVmaW5lIFVTQl9FUF9SWF9ESVMgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBESVNhYmxlZCAqLw0KI2RlZmluZSBVU0JfRVBfUlhfU1RBTEwgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgUlggU1RBTExlZCAqLw0KI2RlZmluZSBVU0JfRVBfUlhfTkFLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgUlggTkFLZWQgKi8NCiNkZWZpbmUgVVNCX0VQX1JYX1ZBTElEICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMzAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFJYIFZBTElEICovDQojZGVmaW5lIFVTQl9FUFJYX0RUT0cxICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBEYXRhIFRPR2dsZSBiaXQxICovDQojZGVmaW5lIFVTQl9FUFJYX0RUT0cyICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBEYXRhIFRPR2dsZSBiaXQxICovDQojZGVmaW5lICBVU0JfRVBSWF9EVE9HTUFTSyAgKFVTQl9FUFJYX1NUQVR8VVNCX0VQUkVHX01BU0spDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0VQMFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9FUDBSX0VBX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX0VBX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNCX0VQMFJfRUFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQl9FUDBSX0VBICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfRUFfTXNrICAgICAgICAgICAgICAgICAgLyohPEVuZHBvaW50IEFkZHJlc3MgKi8NCg0KI2RlZmluZSBVU0JfRVAwUl9TVEFUX1RYX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAwUl9TVEFUX1RYX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDBSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBVU0JfRVAwUl9TVEFUX1RYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDBSX1NUQVRfVFhfTXNrICAgICAgICAgICAgIC8qITxTVEFUX1RYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVAwUl9TVEFUX1RYXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDBSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0JfRVAwUl9TVEFUX1RYXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDBSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIFVTQl9FUDBSX0RUT0dfVFhfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX0RUT0dfVFhfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMFJfRFRPR19UWF9Qb3MpICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQl9FUDBSX0RUT0dfVFggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfRFRPR19UWF9Nc2sgICAgICAgICAgICAgLyohPERhdGEgVG9nZ2xlLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVAwUl9DVFJfVFhfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAwUl9DVFJfVFhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDBSX0NUUl9UWF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0JfRVAwUl9DVFJfVFggICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDBSX0NUUl9UWF9Nc2sgICAgICAgICAgICAgIC8qITxDb3JyZWN0IFRyYW5zZmVyIGZvciB0cmFuc21pc3Npb24gKi8NCiNkZWZpbmUgVVNCX0VQMFJfRVBfS0lORF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMFJfRVBfS0lORF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAwUl9FUF9LSU5EX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNCX0VQMFJfRVBfS0lORCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAwUl9FUF9LSU5EX01zayAgICAgICAgICAgICAvKiE8RW5kcG9pbnQgS2luZCAqLw0KDQojZGVmaW5lIFVTQl9FUDBSX0VQX1RZUEVfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX0VQX1RZUEVfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQMFJfRVBfVFlQRV9Qb3MpICAgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFVTQl9FUDBSX0VQX1RZUEUgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfRVBfVFlQRV9Nc2sgICAgICAgICAgICAgLyohPEVQX1RZUEVbMTowXSBiaXRzIChFbmRwb2ludCB0eXBlKSAqLw0KI2RlZmluZSBVU0JfRVAwUl9FUF9UWVBFXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDBSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfRVAwUl9FUF9UWVBFXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDBSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDQwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDBSX1NFVFVQX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX1NFVFVQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMFJfU0VUVVBfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9FUDBSX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfU0VUVVBfTXNrICAgICAgICAgICAgICAgLyohPFNldHVwIHRyYW5zYWN0aW9uIGNvbXBsZXRlZCAqLw0KDQojZGVmaW5lIFVTQl9FUDBSX1NUQVRfUlhfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX1NUQVRfUlhfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQMFJfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFVTQl9FUDBSX1NUQVRfUlggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfU1RBVF9SWF9Nc2sgICAgICAgICAgICAgLyohPFNUQVRfUlhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDBSX1NUQVRfUlhfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMFJfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9FUDBSX1NUQVRfUlhfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQMFJfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNCX0VQMFJfRFRPR19SWF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMFJfRFRPR19SWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAwUl9EVE9HX1JYX1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNCX0VQMFJfRFRPR19SWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAwUl9EVE9HX1JYX01zayAgICAgICAgICAgICAvKiE8RGF0YSBUb2dnbGUsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDBSX0NUUl9SWF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMFJfQ1RSX1JYX1BvcykgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9FUDBSX0NUUl9SWCAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfQ1RSX1JYX01zayAgICAgICAgICAgICAgLyohPENvcnJlY3QgVHJhbnNmZXIgZm9yIHJlY2VwdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9FUDFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfRVAxUl9FQV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9FQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQl9FUDFSX0VBX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0JfRVAxUl9FQSAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX0VBX01zayAgICAgICAgICAgICAgICAgIC8qITxFbmRwb2ludCBBZGRyZXNzICovDQoNCiNkZWZpbmUgVVNCX0VQMVJfU1RBVF9UWF9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMVJfU1RBVF9UWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVAxUl9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgVVNCX0VQMVJfU1RBVF9UWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAxUl9TVEFUX1RYX01zayAgICAgICAgICAgICAvKiE8U1RBVF9UWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQMVJfU1RBVF9UWF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAxUl9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNCX0VQMVJfU1RBVF9UWF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVAxUl9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBVU0JfRVAxUl9EVE9HX1RYX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9EVE9HX1RYX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDFSX0RUT0dfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0JfRVAxUl9EVE9HX1RYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX0RUT0dfVFhfTXNrICAgICAgICAgICAgIC8qITxEYXRhIFRvZ2dsZSwgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQMVJfQ1RSX1RYX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMVJfQ1RSX1RYX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAxUl9DVFJfVFhfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNCX0VQMVJfQ1RSX1RYICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAxUl9DVFJfVFhfTXNrICAgICAgICAgICAgICAvKiE8Q29ycmVjdCBUcmFuc2ZlciBmb3IgdHJhbnNtaXNzaW9uICovDQojZGVmaW5lIFVTQl9FUDFSX0VQX0tJTkRfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDFSX0VQX0tJTkRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMVJfRVBfS0lORF9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9FUDFSX0VQX0tJTkQgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMVJfRVBfS0lORF9Nc2sgICAgICAgICAgICAgLyohPEVuZHBvaW50IEtpbmQgKi8NCg0KI2RlZmluZSBVU0JfRVAxUl9FUF9UWVBFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9FUF9UWVBFX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDFSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9FUF9UWVBFICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX0VQX1RZUEVfTXNrICAgICAgICAgICAgIC8qITxFUF9UWVBFWzE6MF0gYml0cyAoRW5kcG9pbnQgdHlwZSkgKi8NCiNkZWZpbmUgVVNCX0VQMVJfRVBfVFlQRV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAxUl9FUF9UWVBFX1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNCX0VQMVJfRVBfVFlQRV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVAxUl9FUF9UWVBFX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBVU0JfRVAxUl9TRVRVUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9TRVRVUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDFSX1NFVFVQX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX1NFVFVQX01zayAgICAgICAgICAgICAgIC8qITxTZXR1cCB0cmFuc2FjdGlvbiBjb21wbGV0ZWQgKi8NCg0KI2RlZmluZSBVU0JfRVAxUl9TVEFUX1JYX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9TVEFUX1JYX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDFSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9TVEFUX1JYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX1NUQVRfUlhfTXNrICAgICAgICAgICAgIC8qITxTVEFUX1JYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVAxUl9TVEFUX1JYXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDFSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9TVEFUX1JYXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDFSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDFSX0RUT0dfUlhfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDFSX0RUT0dfUlhfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMVJfRFRPR19SWF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9FUDFSX0RUT0dfUlggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMVJfRFRPR19SWF9Nc2sgICAgICAgICAgICAgLyohPERhdGEgVG9nZ2xlLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVAxUl9DVFJfUlhfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9DVFJfUlhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDFSX0NUUl9SWF9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9DVFJfUlggICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgIC8qITxDb3JyZWN0IFRyYW5zZmVyIGZvciByZWNlcHRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfRVAyUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0VQMlJfRUFfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfRUFfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0JfRVAyUl9FQV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNCX0VQMlJfRUEgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9FQV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8RW5kcG9pbnQgQWRkcmVzcyAqLw0KDQojZGVmaW5lIFVTQl9FUDJSX1NUQVRfVFhfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDJSX1NUQVRfVFhfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQMlJfU1RBVF9UWF9Qb3MpICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIFVTQl9FUDJSX1NUQVRfVFggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMlJfU1RBVF9UWF9Nc2sgICAgICAgICAgICAgLyohPFNUQVRfVFhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDJSX1NUQVRfVFhfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMlJfU1RBVF9UWF9Qb3MpICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQl9FUDJSX1NUQVRfVFhfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQMlJfU1RBVF9UWF9Qb3MpICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgVVNCX0VQMlJfRFRPR19UWF9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfRFRPR19UWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAyUl9EVE9HX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfRFRPR19UWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9EVE9HX1RYX01zayAgICAgICAgICAgICAvKiE8RGF0YSBUb2dnbGUsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDJSX0NUUl9UWF9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDJSX0NUUl9UWF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMlJfQ1RSX1RYX1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQl9FUDJSX0NUUl9UWCAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMlJfQ1RSX1RYX01zayAgICAgICAgICAgICAgLyohPENvcnJlY3QgVHJhbnNmZXIgZm9yIHRyYW5zbWlzc2lvbiAqLw0KI2RlZmluZSBVU0JfRVAyUl9FUF9LSU5EX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAyUl9FUF9LSU5EX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDJSX0VQX0tJTkRfUG9zKSAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0JfRVAyUl9FUF9LSU5EICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDJSX0VQX0tJTkRfTXNrICAgICAgICAgICAgIC8qITxFbmRwb2ludCBLaW5kICovDQoNCiNkZWZpbmUgVVNCX0VQMlJfRVBfVFlQRV9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfRVBfVFlQRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVAyUl9FUF9UWVBFX1BvcykgICAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfRVBfVFlQRSAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9FUF9UWVBFX01zayAgICAgICAgICAgICAvKiE8RVBfVFlQRVsxOjBdIGJpdHMgKEVuZHBvaW50IHR5cGUpICovDQojZGVmaW5lIFVTQl9FUDJSX0VQX1RZUEVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMlJfRVBfVFlQRV9Qb3MpICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQl9FUDJSX0VQX1RZUEVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQMlJfRVBfVFlQRV9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQoNCiNkZWZpbmUgVVNCX0VQMlJfU0VUVVBfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfU0VUVVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAyUl9TRVRVUF9Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfU0VUVVAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9TRVRVUF9Nc2sgICAgICAgICAgICAgICAvKiE8U2V0dXAgdHJhbnNhY3Rpb24gY29tcGxldGVkICovDQoNCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9SWF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9SWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVAyUl9TVEFUX1JYX1BvcykgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9SWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9TVEFUX1JYX01zayAgICAgICAgICAgICAvKiE8U1RBVF9SWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9SWF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAyUl9TVEFUX1JYX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9SWF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVAyUl9TVEFUX1JYX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBVU0JfRVAyUl9EVE9HX1JYX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAyUl9EVE9HX1JYX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDJSX0RUT0dfUlhfUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0JfRVAyUl9EVE9HX1JYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDJSX0RUT0dfUlhfTXNrICAgICAgICAgICAgIC8qITxEYXRhIFRvZ2dsZSwgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQMlJfQ1RSX1JYX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfQ1RSX1JYX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAyUl9DVFJfUlhfUG9zKSAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfQ1RSX1JYICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9DVFJfUlhfTXNrICAgICAgICAgICAgICAvKiE8Q29ycmVjdCBUcmFuc2ZlciBmb3IgcmVjZXB0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0VQM1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9FUDNSX0VBX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX0VBX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNCX0VQM1JfRUFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQl9FUDNSX0VBICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfRUFfTXNrICAgICAgICAgICAgICAgICAgLyohPEVuZHBvaW50IEFkZHJlc3MgKi8NCg0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1RYX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1RYX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDNSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1RYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDNSX1NUQVRfVFhfTXNrICAgICAgICAgICAgIC8qITxTVEFUX1RYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1RYXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDNSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1RYXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDNSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIFVTQl9FUDNSX0RUT0dfVFhfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX0RUT0dfVFhfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQM1JfRFRPR19UWF9Qb3MpICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQl9FUDNSX0RUT0dfVFggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfRFRPR19UWF9Nc2sgICAgICAgICAgICAgLyohPERhdGEgVG9nZ2xlLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVAzUl9DVFJfVFhfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAzUl9DVFJfVFhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDNSX0NUUl9UWF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0JfRVAzUl9DVFJfVFggICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDNSX0NUUl9UWF9Nc2sgICAgICAgICAgICAgIC8qITxDb3JyZWN0IFRyYW5zZmVyIGZvciB0cmFuc21pc3Npb24gKi8NCiNkZWZpbmUgVVNCX0VQM1JfRVBfS0lORF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQM1JfRVBfS0lORF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAzUl9FUF9LSU5EX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNCX0VQM1JfRVBfS0lORCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAzUl9FUF9LSU5EX01zayAgICAgICAgICAgICAvKiE8RW5kcG9pbnQgS2luZCAqLw0KDQojZGVmaW5lIFVTQl9FUDNSX0VQX1RZUEVfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX0VQX1RZUEVfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQM1JfRVBfVFlQRV9Qb3MpICAgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFVTQl9FUDNSX0VQX1RZUEUgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfRVBfVFlQRV9Nc2sgICAgICAgICAgICAgLyohPEVQX1RZUEVbMTowXSBiaXRzIChFbmRwb2ludCB0eXBlKSAqLw0KI2RlZmluZSBVU0JfRVAzUl9FUF9UWVBFXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDNSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfRVAzUl9FUF9UWVBFXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDNSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDQwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDNSX1NFVFVQX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX1NFVFVQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQM1JfU0VUVVBfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9FUDNSX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfU0VUVVBfTXNrICAgICAgICAgICAgICAgLyohPFNldHVwIHRyYW5zYWN0aW9uIGNvbXBsZXRlZCAqLw0KDQojZGVmaW5lIFVTQl9FUDNSX1NUQVRfUlhfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX1NUQVRfUlhfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQM1JfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFVTQl9FUDNSX1NUQVRfUlggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfU1RBVF9SWF9Nc2sgICAgICAgICAgICAgLyohPFNUQVRfUlhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDNSX1NUQVRfUlhfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQM1JfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9FUDNSX1NUQVRfUlhfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQM1JfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNCX0VQM1JfRFRPR19SWF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQM1JfRFRPR19SWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAzUl9EVE9HX1JYX1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNCX0VQM1JfRFRPR19SWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAzUl9EVE9HX1JYX01zayAgICAgICAgICAgICAvKiE8RGF0YSBUb2dnbGUsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDNSX0NUUl9SWF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQM1JfQ1RSX1JYX1BvcykgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9FUDNSX0NUUl9SWCAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfQ1RSX1JYX01zayAgICAgICAgICAgICAgLyohPENvcnJlY3QgVHJhbnNmZXIgZm9yIHJlY2VwdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9FUDRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfRVA0Ul9FQV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9FQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQl9FUDRSX0VBX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0JfRVA0Ul9FQSAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX0VBX01zayAgICAgICAgICAgICAgICAgIC8qITxFbmRwb2ludCBBZGRyZXNzICovDQoNCiNkZWZpbmUgVVNCX0VQNFJfU1RBVF9UWF9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNFJfU1RBVF9UWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA0Ul9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgVVNCX0VQNFJfU1RBVF9UWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA0Ul9TVEFUX1RYX01zayAgICAgICAgICAgICAvKiE8U1RBVF9UWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQNFJfU1RBVF9UWF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA0Ul9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNCX0VQNFJfU1RBVF9UWF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA0Ul9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBVU0JfRVA0Ul9EVE9HX1RYX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9EVE9HX1RYX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDRSX0RUT0dfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9EVE9HX1RYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX0RUT0dfVFhfTXNrICAgICAgICAgICAgIC8qITxEYXRhIFRvZ2dsZSwgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQNFJfQ1RSX1RYX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNFJfQ1RSX1RYX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA0Ul9DVFJfVFhfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNCX0VQNFJfQ1RSX1RYICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA0Ul9DVFJfVFhfTXNrICAgICAgICAgICAgICAvKiE8Q29ycmVjdCBUcmFuc2ZlciBmb3IgdHJhbnNtaXNzaW9uICovDQojZGVmaW5lIFVTQl9FUDRSX0VQX0tJTkRfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDRSX0VQX0tJTkRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNFJfRVBfS0lORF9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9FUDRSX0VQX0tJTkQgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNFJfRVBfS0lORF9Nc2sgICAgICAgICAgICAgLyohPEVuZHBvaW50IEtpbmQgKi8NCg0KI2RlZmluZSBVU0JfRVA0Ul9FUF9UWVBFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9FUF9UWVBFX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDRSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9FUF9UWVBFICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX0VQX1RZUEVfTXNrICAgICAgICAgICAgIC8qITxFUF9UWVBFWzE6MF0gYml0cyAoRW5kcG9pbnQgdHlwZSkgKi8NCiNkZWZpbmUgVVNCX0VQNFJfRVBfVFlQRV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA0Ul9FUF9UWVBFX1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNCX0VQNFJfRVBfVFlQRV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA0Ul9FUF9UWVBFX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBVU0JfRVA0Ul9TRVRVUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9TRVRVUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDRSX1NFVFVQX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX1NFVFVQX01zayAgICAgICAgICAgICAgIC8qITxTZXR1cCB0cmFuc2FjdGlvbiBjb21wbGV0ZWQgKi8NCg0KI2RlZmluZSBVU0JfRVA0Ul9TVEFUX1JYX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9TVEFUX1JYX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDRSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9TVEFUX1JYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX1NUQVRfUlhfTXNrICAgICAgICAgICAgIC8qITxTVEFUX1JYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVA0Ul9TVEFUX1JYXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDRSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9TVEFUX1JYXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDRSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDRSX0RUT0dfUlhfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDRSX0RUT0dfUlhfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNFJfRFRPR19SWF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9FUDRSX0RUT0dfUlggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNFJfRFRPR19SWF9Nc2sgICAgICAgICAgICAgLyohPERhdGEgVG9nZ2xlLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVA0Ul9DVFJfUlhfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9DVFJfUlhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDRSX0NUUl9SWF9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9DVFJfUlggICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgIC8qITxDb3JyZWN0IFRyYW5zZmVyIGZvciByZWNlcHRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfRVA1UiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0VQNVJfRUFfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfRUFfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0JfRVA1Ul9FQV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNCX0VQNVJfRUEgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9FQV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8RW5kcG9pbnQgQWRkcmVzcyAqLw0KDQojZGVmaW5lIFVTQl9FUDVSX1NUQVRfVFhfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDVSX1NUQVRfVFhfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQNVJfU1RBVF9UWF9Qb3MpICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIFVTQl9FUDVSX1NUQVRfVFggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNVJfU1RBVF9UWF9Nc2sgICAgICAgICAgICAgLyohPFNUQVRfVFhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDVSX1NUQVRfVFhfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNVJfU1RBVF9UWF9Qb3MpICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQl9FUDVSX1NUQVRfVFhfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQNVJfU1RBVF9UWF9Qb3MpICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgVVNCX0VQNVJfRFRPR19UWF9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfRFRPR19UWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA1Ul9EVE9HX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfRFRPR19UWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9EVE9HX1RYX01zayAgICAgICAgICAgICAvKiE8RGF0YSBUb2dnbGUsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDVSX0NUUl9UWF9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDVSX0NUUl9UWF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNVJfQ1RSX1RYX1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQl9FUDVSX0NUUl9UWCAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNVJfQ1RSX1RYX01zayAgICAgICAgICAgICAgLyohPENvcnJlY3QgVHJhbnNmZXIgZm9yIHRyYW5zbWlzc2lvbiAqLw0KI2RlZmluZSBVU0JfRVA1Ul9FUF9LSU5EX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA1Ul9FUF9LSU5EX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDVSX0VQX0tJTkRfUG9zKSAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0JfRVA1Ul9FUF9LSU5EICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDVSX0VQX0tJTkRfTXNrICAgICAgICAgICAgIC8qITxFbmRwb2ludCBLaW5kICovDQoNCiNkZWZpbmUgVVNCX0VQNVJfRVBfVFlQRV9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfRVBfVFlQRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA1Ul9FUF9UWVBFX1BvcykgICAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfRVBfVFlQRSAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9FUF9UWVBFX01zayAgICAgICAgICAgICAvKiE8RVBfVFlQRVsxOjBdIGJpdHMgKEVuZHBvaW50IHR5cGUpICovDQojZGVmaW5lIFVTQl9FUDVSX0VQX1RZUEVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNVJfRVBfVFlQRV9Qb3MpICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQl9FUDVSX0VQX1RZUEVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQNVJfRVBfVFlQRV9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQoNCiNkZWZpbmUgVVNCX0VQNVJfU0VUVVBfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfU0VUVVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA1Ul9TRVRVUF9Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfU0VUVVAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9TRVRVUF9Nc2sgICAgICAgICAgICAgICAvKiE8U2V0dXAgdHJhbnNhY3Rpb24gY29tcGxldGVkICovDQoNCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9SWF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9SWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA1Ul9TVEFUX1JYX1BvcykgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9SWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9TVEFUX1JYX01zayAgICAgICAgICAgICAvKiE8U1RBVF9SWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9SWF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA1Ul9TVEFUX1JYX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9SWF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA1Ul9TVEFUX1JYX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBVU0JfRVA1Ul9EVE9HX1JYX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA1Ul9EVE9HX1JYX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDVSX0RUT0dfUlhfUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0JfRVA1Ul9EVE9HX1JYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDVSX0RUT0dfUlhfTXNrICAgICAgICAgICAgIC8qITxEYXRhIFRvZ2dsZSwgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQNVJfQ1RSX1JYX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfQ1RSX1JYX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA1Ul9DVFJfUlhfUG9zKSAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfQ1RSX1JYICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9DVFJfUlhfTXNrICAgICAgICAgICAgICAvKiE8Q29ycmVjdCBUcmFuc2ZlciBmb3IgcmVjZXB0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0VQNlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9FUDZSX0VBX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX0VBX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNCX0VQNlJfRUFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQl9FUDZSX0VBICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfRUFfTXNrICAgICAgICAgICAgICAgICAgLyohPEVuZHBvaW50IEFkZHJlc3MgKi8NCg0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1RYX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1RYX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDZSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1RYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDZSX1NUQVRfVFhfTXNrICAgICAgICAgICAgIC8qITxTVEFUX1RYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1RYXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDZSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1RYXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDZSX1NUQVRfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIFVTQl9FUDZSX0RUT0dfVFhfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX0RUT0dfVFhfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNlJfRFRPR19UWF9Qb3MpICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQl9FUDZSX0RUT0dfVFggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfRFRPR19UWF9Nc2sgICAgICAgICAgICAgLyohPERhdGEgVG9nZ2xlLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVA2Ul9DVFJfVFhfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA2Ul9DVFJfVFhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDZSX0NUUl9UWF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0JfRVA2Ul9DVFJfVFggICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDZSX0NUUl9UWF9Nc2sgICAgICAgICAgICAgIC8qITxDb3JyZWN0IFRyYW5zZmVyIGZvciB0cmFuc21pc3Npb24gKi8NCiNkZWZpbmUgVVNCX0VQNlJfRVBfS0lORF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNlJfRVBfS0lORF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA2Ul9FUF9LSU5EX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNCX0VQNlJfRVBfS0lORCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA2Ul9FUF9LSU5EX01zayAgICAgICAgICAgICAvKiE8RW5kcG9pbnQgS2luZCAqLw0KDQojZGVmaW5lIFVTQl9FUDZSX0VQX1RZUEVfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX0VQX1RZUEVfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQNlJfRVBfVFlQRV9Qb3MpICAgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFVTQl9FUDZSX0VQX1RZUEUgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfRVBfVFlQRV9Nc2sgICAgICAgICAgICAgLyohPEVQX1RZUEVbMTowXSBiaXRzIChFbmRwb2ludCB0eXBlKSAqLw0KI2RlZmluZSBVU0JfRVA2Ul9FUF9UWVBFXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDZSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfRVA2Ul9FUF9UWVBFXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDZSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDQwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDZSX1NFVFVQX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX1NFVFVQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNlJfU0VUVVBfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9FUDZSX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfU0VUVVBfTXNrICAgICAgICAgICAgICAgLyohPFNldHVwIHRyYW5zYWN0aW9uIGNvbXBsZXRlZCAqLw0KDQojZGVmaW5lIFVTQl9FUDZSX1NUQVRfUlhfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX1NUQVRfUlhfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQNlJfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFVTQl9FUDZSX1NUQVRfUlggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfU1RBVF9SWF9Nc2sgICAgICAgICAgICAgLyohPFNUQVRfUlhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDZSX1NUQVRfUlhfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNlJfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9FUDZSX1NUQVRfUlhfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQNlJfU1RBVF9SWF9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNCX0VQNlJfRFRPR19SWF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNlJfRFRPR19SWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA2Ul9EVE9HX1JYX1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNCX0VQNlJfRFRPR19SWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA2Ul9EVE9HX1JYX01zayAgICAgICAgICAgICAvKiE8RGF0YSBUb2dnbGUsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDZSX0NUUl9SWF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNlJfQ1RSX1JYX1BvcykgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9FUDZSX0NUUl9SWCAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfQ1RSX1JYX01zayAgICAgICAgICAgICAgLyohPENvcnJlY3QgVHJhbnNmZXIgZm9yIHJlY2VwdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9FUDdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfRVA3Ul9FQV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9FQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQl9FUDdSX0VBX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0JfRVA3Ul9FQSAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX0VBX01zayAgICAgICAgICAgICAgICAgIC8qITxFbmRwb2ludCBBZGRyZXNzICovDQoNCiNkZWZpbmUgVVNCX0VQN1JfU1RBVF9UWF9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQN1JfU1RBVF9UWF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA3Ul9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgVVNCX0VQN1JfU1RBVF9UWCAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA3Ul9TVEFUX1RYX01zayAgICAgICAgICAgICAvKiE8U1RBVF9UWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQN1JfU1RBVF9UWF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA3Ul9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNCX0VQN1JfU1RBVF9UWF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA3Ul9TVEFUX1RYX1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBVU0JfRVA3Ul9EVE9HX1RYX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9EVE9HX1RYX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDdSX0RUT0dfVFhfUG9zKSAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9EVE9HX1RYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX0RUT0dfVFhfTXNrICAgICAgICAgICAgIC8qITxEYXRhIFRvZ2dsZSwgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQN1JfQ1RSX1RYX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQN1JfQ1RSX1RYX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA3Ul9DVFJfVFhfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNCX0VQN1JfQ1RSX1RYICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA3Ul9DVFJfVFhfTXNrICAgICAgICAgICAgICAvKiE8Q29ycmVjdCBUcmFuc2ZlciBmb3IgdHJhbnNtaXNzaW9uICovDQojZGVmaW5lIFVTQl9FUDdSX0VQX0tJTkRfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDdSX0VQX0tJTkRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQN1JfRVBfS0lORF9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9FUDdSX0VQX0tJTkQgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQN1JfRVBfS0lORF9Nc2sgICAgICAgICAgICAgLyohPEVuZHBvaW50IEtpbmQgKi8NCg0KI2RlZmluZSBVU0JfRVA3Ul9FUF9UWVBFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9FUF9UWVBFX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDdSX0VQX1RZUEVfUG9zKSAgIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9FUF9UWVBFICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX0VQX1RZUEVfTXNrICAgICAgICAgICAgIC8qITxFUF9UWVBFWzE6MF0gYml0cyAoRW5kcG9pbnQgdHlwZSkgKi8NCiNkZWZpbmUgVVNCX0VQN1JfRVBfVFlQRV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA3Ul9FUF9UWVBFX1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNCX0VQN1JfRVBfVFlQRV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA3Ul9FUF9UWVBFX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBVU0JfRVA3Ul9TRVRVUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9TRVRVUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDdSX1NFVFVQX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX1NFVFVQX01zayAgICAgICAgICAgICAgIC8qITxTZXR1cCB0cmFuc2FjdGlvbiBjb21wbGV0ZWQgKi8NCg0KI2RlZmluZSBVU0JfRVA3Ul9TVEFUX1JYX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9TVEFUX1JYX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDdSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9TVEFUX1JYICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX1NUQVRfUlhfTXNrICAgICAgICAgICAgIC8qITxTVEFUX1JYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVA3Ul9TVEFUX1JYXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDdSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9TVEFUX1JYXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDdSX1NUQVRfUlhfUG9zKSAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDdSX0RUT0dfUlhfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDdSX0RUT0dfUlhfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQN1JfRFRPR19SWF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9FUDdSX0RUT0dfUlggICAgICAgICAgICAgICAgICAgICAgVVNCX0VQN1JfRFRPR19SWF9Nc2sgICAgICAgICAgICAgLyohPERhdGEgVG9nZ2xlLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVA3Ul9DVFJfUlhfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9DVFJfUlhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDdSX0NUUl9SWF9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9DVFJfUlggICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgIC8qITxDb3JyZWN0IFRyYW5zZmVyIGZvciByZWNlcHRpb24gKi8NCg0KLyohPENvbW1vbiByZWdpc3RlcnMgKi8NCg0KI2RlZmluZSAgVVNCX0NOVFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4MDAwMDAwNDBVKSAgICAgICAgICAvKiE8IENvbnRyb2wgcmVnaXN0ZXIgKi8NCiNkZWZpbmUgIFVTQl9JU1RSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDAwMDAwMDQ0VSkgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyICovDQojZGVmaW5lICBVU0JfRk5SICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgwMDAwMDA0OFUpICAgICAgICAgIC8qITwgRnJhbWUgbnVtYmVyIHJlZ2lzdGVyICovDQojZGVmaW5lICBVU0JfREFERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgwMDAwMDA0Q1UpICAgICAgICAgIC8qITwgRGV2aWNlIGFkZHJlc3MgcmVnaXN0ZXIgKi8NCiNkZWZpbmUgIFVTQl9CVEFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDAwMDAwMDUwVSkgICAgICAgICAgLyohPCBCdWZmZXIgVGFibGUgYWRkcmVzcyByZWdpc3RlciAqLw0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ05UUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlJFU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfRlJFU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ05UUl9GUkVTX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlJFUyAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfQ05UUl9GUkVTX01zayAgICAgICAgICAgICAgICAvKiE8Rm9yY2UgVVNCIFJlc2V0ICovDQojZGVmaW5lIFVTQl9DTlRSX1BEV05fUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DTlRSX1BEV05fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NOVFJfUERXTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQl9DTlRSX1BEV04gICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0NOVFJfUERXTl9Nc2sgICAgICAgICAgICAgICAgLyohPFBvd2VyIGRvd24gKi8NCiNkZWZpbmUgVVNCX0NOVFJfTFBNT0RFX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfTFBNT0RFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ05UUl9MUE1PREVfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNCX0NOVFJfTFBNT0RFICAgICAgICAgICAgICAgICAgICAgICBVU0JfQ05UUl9MUE1PREVfTXNrICAgICAgICAgICAgICAvKiE8TG93LXBvd2VyIG1vZGUgKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlNVU1BfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfRlNVU1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ05UUl9GU1VTUF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlNVU1AgICAgICAgICAgICAgICAgICAgICAgICBVU0JfQ05UUl9GU1VTUF9Nc2sgICAgICAgICAgICAgICAvKiE8Rm9yY2Ugc3VzcGVuZCAqLw0KI2RlZmluZSBVU0JfQ05UUl9SRVNVTUVfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9SRVNVTUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX1JFU1VNRV9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0JfQ05UUl9SRVNVTUUgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX1JFU1VNRV9Nc2sgICAgICAgICAgICAgIC8qITxSZXN1bWUgcmVxdWVzdCAqLw0KI2RlZmluZSBVU0JfQ05UUl9FU09GTV9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9FU09GTV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX0VTT0ZNX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0JfQ05UUl9FU09GTSAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX0VTT0ZNX01zayAgICAgICAgICAgICAgIC8qITxFeHBlY3RlZCBTdGFydCBPZiBGcmFtZSBJbnRlcnJ1cHQgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9TT0ZNX1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9TT0ZNX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX1NPRk1fUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfQ05UUl9TT0ZNICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX1NPRk1fTXNrICAgICAgICAgICAgICAgIC8qITxTdGFydCBPZiBGcmFtZSBJbnRlcnJ1cHQgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9SRVNFVE1fUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9SRVNFVE1fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX1JFU0VUTV9Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0JfQ05UUl9SRVNFVE0gICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX1JFU0VUTV9Nc2sgICAgICAgICAgICAgIC8qITxSRVNFVCBJbnRlcnJ1cHQgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9TVVNQTV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9TVVNQTV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX1NVU1BNX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfQ05UUl9TVVNQTSAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX1NVU1BNX01zayAgICAgICAgICAgICAgIC8qITxTdXNwZW5kIG1vZGUgSW50ZXJydXB0IE1hc2sgKi8NCiNkZWZpbmUgVVNCX0NOVFJfV0tVUE1fUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfV0tVUE1fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ05UUl9XS1VQTV9Qb3MpICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0NOVFJfV0tVUE0gICAgICAgICAgICAgICAgICAgICAgICBVU0JfQ05UUl9XS1VQTV9Nc2sgICAgICAgICAgICAgICAvKiE8V2FrZXVwIEludGVycnVwdCBNYXNrICovDQojZGVmaW5lIFVTQl9DTlRSX0VSUk1fUG9zICAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DTlRSX0VSUk1fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NOVFJfRVJSTV9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DTlRSX0VSUk0gICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0NOVFJfRVJSTV9Nc2sgICAgICAgICAgICAgICAgLyohPEVycm9yIEludGVycnVwdCBNYXNrICovDQojZGVmaW5lIFVTQl9DTlRSX1BNQU9WUk1fUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DTlRSX1BNQU9WUk1fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NOVFJfUE1BT1ZSTV9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9DTlRSX1BNQU9WUk0gICAgICAgICAgICAgICAgICAgICAgVVNCX0NOVFJfUE1BT1ZSTV9Nc2sgICAgICAgICAgICAgLyohPFBhY2tldCBNZW1vcnkgQXJlYSBPdmVyIC8gVW5kZXJydW4gSW50ZXJydXB0IE1hc2sgKi8NCiNkZWZpbmUgVVNCX0NOVFJfQ1RSTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfQ1RSTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ05UUl9DVFJNX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0NOVFJfQ1RSTSAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfQ05UUl9DVFJNX01zayAgICAgICAgICAgICAgICAvKiE8Q29ycmVjdCBUcmFuc2ZlciBJbnRlcnJ1cHQgTWFzayAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9JU1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfSVNUUl9FUF9JRF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfSVNUUl9FUF9JRF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQl9JU1RSX0VQX0lEX1BvcykgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0JfSVNUUl9FUF9JRCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX0VQX0lEX01zayAgICAgICAgICAgICAgIC8qITxFbmRwb2ludCBJZGVudGlmaWVyICovDQojZGVmaW5lIFVTQl9JU1RSX0RJUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9JU1RSX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0lTVFJfRElSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQl9JU1RSX0RJUiAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0lTVFJfRElSX01zayAgICAgICAgICAgICAgICAgLyohPERpcmVjdGlvbiBvZiB0cmFuc2FjdGlvbiAqLw0KI2RlZmluZSBVU0JfSVNUUl9FU09GX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfSVNUUl9FU09GX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX0VTT0ZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0JfSVNUUl9FU09GICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX0VTT0ZfTXNrICAgICAgICAgICAgICAgIC8qITxFeHBlY3RlZCBTdGFydCBPZiBGcmFtZSAqLw0KI2RlZmluZSBVU0JfSVNUUl9TT0ZfUG9zICAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfSVNUUl9TT0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX1NPRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfSVNUUl9TT0YgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX1NPRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxTdGFydCBPZiBGcmFtZSAqLw0KI2RlZmluZSBVU0JfSVNUUl9SRVNFVF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfSVNUUl9SRVNFVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX1JFU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0JfSVNUUl9SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX1JFU0VUX01zayAgICAgICAgICAgICAgIC8qITxVU0IgUkVTRVQgcmVxdWVzdCAqLw0KI2RlZmluZSBVU0JfSVNUUl9TVVNQX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfSVNUUl9TVVNQX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX1NVU1BfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfSVNUUl9TVVNQICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX1NVU1BfTXNrICAgICAgICAgICAgICAgIC8qITxTdXNwZW5kIG1vZGUgcmVxdWVzdCAqLw0KI2RlZmluZSBVU0JfSVNUUl9XS1VQX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfSVNUUl9XS1VQX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX1dLVVBfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfSVNUUl9XS1VQICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX1dLVVBfTXNrICAgICAgICAgICAgICAgIC8qITxXYWtlIHVwICovDQojZGVmaW5lIFVTQl9JU1RSX0VSUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9JU1RSX0VSUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0lTVFJfRVJSX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9JU1RSX0VSUiAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0lTVFJfRVJSX01zayAgICAgICAgICAgICAgICAgLyohPEVycm9yICovDQojZGVmaW5lIFVTQl9JU1RSX1BNQU9WUl9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9JU1RSX1BNQU9WUl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0lTVFJfUE1BT1ZSX1BvcykgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9JU1RSX1BNQU9WUiAgICAgICAgICAgICAgICAgICAgICAgVVNCX0lTVFJfUE1BT1ZSX01zayAgICAgICAgICAgICAgLyohPFBhY2tldCBNZW1vcnkgQXJlYSBPdmVyIC8gVW5kZXJydW4gKi8NCiNkZWZpbmUgVVNCX0lTVFJfQ1RSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0lTVFJfQ1RSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfSVNUUl9DVFJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0lTVFJfQ1RSICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfSVNUUl9DVFJfTXNrICAgICAgICAgICAgICAgICAvKiE8Q29ycmVjdCBUcmFuc2ZlciAqLw0KDQojZGVmaW5lICBVU0JfQ0xSX0NUUiAgICAgICAgICAgICAgICAgICAgICAgICAgKH5VU0JfSVNUUl9DVFIpICAgICAgICAgICAgICAgICAgLyohPCBjbGVhciBDb3JyZWN0IFRSYW5zZmVyIGJpdCAqLw0KI2RlZmluZSAgVVNCX0NMUl9QTUFPVlJNICAgICAgICAgICAgICAgICAgICAgICh+VVNCX0lTVFJfUE1BT1ZSKSAgICAgICAgICAgICAgIC8qITwgY2xlYXIgRE1BIE9WZVIvdW5kZXJydW4gYml0Ki8NCiNkZWZpbmUgIFVTQl9DTFJfRVJSICAgICAgICAgICAgICAgICAgICAgICAgICAoflVTQl9JU1RSX0VSUikgICAgICAgICAgICAgICAgICAvKiE8IGNsZWFyIEVSUm9yIGJpdCAqLw0KI2RlZmluZSAgVVNCX0NMUl9XS1VQICAgICAgICAgICAgICAgICAgICAgICAgICh+VVNCX0lTVFJfV0tVUCkgICAgICAgICAgICAgICAgIC8qITwgY2xlYXIgV2FLZSBVUCBiaXQgKi8NCiNkZWZpbmUgIFVTQl9DTFJfU1VTUCAgICAgICAgICAgICAgICAgICAgICAgICAoflVTQl9JU1RSX1NVU1ApICAgICAgICAgICAgICAgICAvKiE8IGNsZWFyIFNVU1BlbmQgYml0ICovDQojZGVmaW5lICBVU0JfQ0xSX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgKH5VU0JfSVNUUl9SRVNFVCkgICAgICAgICAgICAgICAgLyohPCBjbGVhciBSRVNFVCBiaXQgKi8NCiNkZWZpbmUgIFVTQl9DTFJfU09GICAgICAgICAgICAgICAgICAgICAgICAgICAoflVTQl9JU1RSX1NPRikgICAgICAgICAgICAgICAgICAvKiE8IGNsZWFyIFN0YXJ0IE9mIEZyYW1lIGJpdCAqLw0KI2RlZmluZSAgVVNCX0NMUl9FU09GICAgICAgICAgICAgICAgICAgICAgICAgICh+VVNCX0lTVFJfRVNPRikgICAgICAgICAgICAgICAgIC8qITwgY2xlYXIgRXhwZWN0ZWQgU3RhcnQgT2YgRnJhbWUgYml0ICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfRk5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0ZOUl9GTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0ZOUl9GTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkZVIDw8IFVTQl9GTlJfRk5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDA3RkYgKi8NCiNkZWZpbmUgVVNCX0ZOUl9GTiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRk5SX0ZOX01zayAgICAgICAgICAgICAgICAgICAvKiE8RnJhbWUgTnVtYmVyICovDQojZGVmaW5lIFVTQl9GTlJfTFNPRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9GTlJfTFNPRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0ZOUl9MU09GX1BvcykgICAgICAgLyohPCAweDAwMDAxODAwICovDQojZGVmaW5lIFVTQl9GTlJfTFNPRiAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0ZOUl9MU09GX01zayAgICAgICAgICAgICAgICAgLyohPExvc3QgU09GICovDQojZGVmaW5lIFVTQl9GTlJfTENLX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9GTlJfTENLX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0ZOUl9MQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9GTlJfTENLICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0ZOUl9MQ0tfTXNrICAgICAgICAgICAgICAgICAgLyohPExvY2tlZCAqLw0KI2RlZmluZSBVU0JfRk5SX1JYRE1fUG9zICAgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRk5SX1JYRE1fTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9GTlJfUlhETV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0JfRk5SX1JYRE0gICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9GTlJfUlhETV9Nc2sgICAgICAgICAgICAgICAgIC8qITxSZWNlaXZlIERhdGEgLSBMaW5lIFN0YXR1cyAqLw0KI2RlZmluZSBVU0JfRk5SX1JYRFBfUG9zICAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRk5SX1JYRFBfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9GTlJfUlhEUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfRk5SX1JYRFAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9GTlJfUlhEUF9Nc2sgICAgICAgICAgICAgICAgIC8qITxSZWNlaXZlIERhdGEgKyBMaW5lIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0RBRERSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfREFERFJfQUREX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfREFERFJfQUREX01zayAgICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBVU0JfREFERFJfQUREX1BvcykgICAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBVU0JfREFERFJfQUREICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9EQUREUl9BRERfTXNrICAgICAgICAgICAgICAgIC8qITxBRERbNjowXSBiaXRzIChEZXZpY2UgQWRkcmVzcykgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQUREMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQUREMF9Nc2sgICAgICAgICAgICAgICAvKiE8Qml0IDAgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQUREMV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDEgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQUREMV9Nc2sgICAgICAgICAgICAgICAvKiE8Qml0IDEgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQUREMl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDIgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQUREMl9Nc2sgICAgICAgICAgICAgICAvKiE8Qml0IDIgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQUREM19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDMgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQUREM19Nc2sgICAgICAgICAgICAgICAvKiE8Qml0IDMgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQURENF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDQgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQURENF9Nc2sgICAgICAgICAgICAgICAvKiE8Qml0IDQgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQURENV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDUgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQURENV9Nc2sgICAgICAgICAgICAgICAvKiE8Qml0IDUgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQURENl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDYgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQURENl9Nc2sgICAgICAgICAgICAgICAvKiE8Qml0IDYgKi8NCg0KI2RlZmluZSBVU0JfREFERFJfRUZfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfREFERFJfRUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9EQUREUl9FRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0JfREFERFJfRUYgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9EQUREUl9FRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxFbmFibGUgRnVuY3Rpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9CVEFCTEUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8gICAgDQojZGVmaW5lIFVTQl9CVEFCTEVfQlRBQkxFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9CVEFCTEVfQlRBQkxFX01zayAgICAgICAgICAgICAgICAgKDB4MUZGRlUgPDwgVVNCX0JUQUJMRV9CVEFCTEVfUG9zKSAvKiE8IDB4MDAwMEZGRjggKi8NCiNkZWZpbmUgVVNCX0JUQUJMRV9CVEFCTEUgICAgICAgICAgICAgICAgICAgICBVU0JfQlRBQkxFX0JUQUJMRV9Nc2sgICAgICAgICAgICAvKiE8QnVmZmVyIFRhYmxlICovDQoNCi8qITwgQnVmZmVyIGRlc2NyaXB0b3IgdGFibGUgKi8NCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSMF9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSMF9UWF9BRERSMF9UWF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSMF9UWF9BRERSMF9UWF9Nc2sgICAgICAgICAgICAgKDB4N0ZGRlUgPDwgVVNCX0FERFIwX1RYX0FERFIwX1RYX1BvcykgLyohPCAweDAwMDBGRkZFICovDQojZGVmaW5lIFVTQl9BRERSMF9UWF9BRERSMF9UWCAgICAgICAgICAgICAgICAgVVNCX0FERFIwX1RYX0FERFIwX1RYX01zayAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQnVmZmVyIEFkZHJlc3MgMCAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQUREUjFfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQUREUjFfVFhfQUREUjFfVFhfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQUREUjFfVFhfQUREUjFfVFhfTXNrICAgICAgICAgICAgICgweDdGRkZVIDw8IFVTQl9BRERSMV9UWF9BRERSMV9UWF9Qb3MpIC8qITwgMHgwMDAwRkZGRSAqLw0KI2RlZmluZSBVU0JfQUREUjFfVFhfQUREUjFfVFggICAgICAgICAgICAgICAgIFVTQl9BRERSMV9UWF9BRERSMV9UWF9Nc2sgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ1ZmZlciBBZGRyZXNzIDEgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0FERFIyX1RYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0FERFIyX1RYX0FERFIyX1RYX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0FERFIyX1RYX0FERFIyX1RYX01zayAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjJfVFhfQUREUjJfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIyX1RYX0FERFIyX1RYICAgICAgICAgICAgICAgICBVU0JfQUREUjJfVFhfQUREUjJfVFhfTXNrICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyAyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSM19UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSM19UWF9BRERSM19UWF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSM19UWF9BRERSM19UWF9Nc2sgICAgICAgICAgICAgKDB4N0ZGRlUgPDwgVVNCX0FERFIzX1RYX0FERFIzX1RYX1BvcykgLyohPCAweDAwMDBGRkZFICovDQojZGVmaW5lIFVTQl9BRERSM19UWF9BRERSM19UWCAgICAgICAgICAgICAgICAgVVNCX0FERFIzX1RYX0FERFIzX1RYX01zayAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQnVmZmVyIEFkZHJlc3MgMyAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQUREUjRfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQUREUjRfVFhfQUREUjRfVFhfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQUREUjRfVFhfQUREUjRfVFhfTXNrICAgICAgICAgICAgICgweDdGRkZVIDw8IFVTQl9BRERSNF9UWF9BRERSNF9UWF9Qb3MpIC8qITwgMHgwMDAwRkZGRSAqLw0KI2RlZmluZSBVU0JfQUREUjRfVFhfQUREUjRfVFggICAgICAgICAgICAgICAgIFVTQl9BRERSNF9UWF9BRERSNF9UWF9Nc2sgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ1ZmZlciBBZGRyZXNzIDQgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0FERFI1X1RYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0FERFI1X1RYX0FERFI1X1RYX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0FERFI1X1RYX0FERFI1X1RYX01zayAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjVfVFhfQUREUjVfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI1X1RYX0FERFI1X1RYICAgICAgICAgICAgICAgICBVU0JfQUREUjVfVFhfQUREUjVfVFhfTXNrICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyA1ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSNl9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSNl9UWF9BRERSNl9UWF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSNl9UWF9BRERSNl9UWF9Nc2sgICAgICAgICAgICAgKDB4N0ZGRlUgPDwgVVNCX0FERFI2X1RYX0FERFI2X1RYX1BvcykgLyohPCAweDAwMDBGRkZFICovDQojZGVmaW5lIFVTQl9BRERSNl9UWF9BRERSNl9UWCAgICAgICAgICAgICAgICAgVVNCX0FERFI2X1RYX0FERFI2X1RYX01zayAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQnVmZmVyIEFkZHJlc3MgNiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQUREUjdfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQUREUjdfVFhfQUREUjdfVFhfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQUREUjdfVFhfQUREUjdfVFhfTXNrICAgICAgICAgICAgICgweDdGRkZVIDw8IFVTQl9BRERSN19UWF9BRERSN19UWF9Qb3MpIC8qITwgMHgwMDAwRkZGRSAqLw0KI2RlZmluZSBVU0JfQUREUjdfVFhfQUREUjdfVFggICAgICAgICAgICAgICAgIFVTQl9BRERSN19UWF9BRERSN19UWF9Nc2sgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ1ZmZlciBBZGRyZXNzIDcgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMF9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9UWF9DT1VOVDBfVFhfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMF9UWF9DT1VOVDBfVFhfTXNrICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDBfVFhfQ09VTlQwX1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDBfVFhfQ09VTlQwX1RYICAgICAgICAgICAgICAgVVNCX0NPVU5UMF9UWF9DT1VOVDBfVFhfTXNrICAgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAwICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDFfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDFfVFhfQ09VTlQxX1RYX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDFfVFhfQ09VTlQxX1RYX01zayAgICAgICAgICAgKDB4M0ZGVSA8PCBVU0JfQ09VTlQxX1RYX0NPVU5UMV9UWF9Qb3MpIC8qITwgMHgwMDAwMDNGRiAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1RYX0NPVU5UMV9UWCAgICAgICAgICAgICAgIFVTQl9DT1VOVDFfVFhfQ09VTlQxX1RYX01zayAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgMSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQyX1RYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1RYX0NPVU5UMl9UWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQyX1RYX0NPVU5UMl9UWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UMl9UWF9DT1VOVDJfVFhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9UWF9DT1VOVDJfVFggICAgICAgICAgICAgICBVU0JfQ09VTlQyX1RYX0NPVU5UMl9UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDIgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UM19UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19UWF9DT1VOVDNfVFhfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UM19UWF9DT1VOVDNfVFhfTXNrICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDNfVFhfQ09VTlQzX1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDNfVFhfQ09VTlQzX1RYICAgICAgICAgICAgICAgVVNCX0NPVU5UM19UWF9DT1VOVDNfVFhfTXNrICAgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAzICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDRfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDRfVFhfQ09VTlQ0X1RYX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDRfVFhfQ09VTlQ0X1RYX01zayAgICAgICAgICAgKDB4M0ZGVSA8PCBVU0JfQ09VTlQ0X1RYX0NPVU5UNF9UWF9Qb3MpIC8qITwgMHgwMDAwMDNGRiAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1RYX0NPVU5UNF9UWCAgICAgICAgICAgICAgIFVTQl9DT1VOVDRfVFhfQ09VTlQ0X1RYX01zayAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNCAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ1X1RYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1RYX0NPVU5UNV9UWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ1X1RYX0NPVU5UNV9UWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UNV9UWF9DT1VOVDVfVFhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9UWF9DT1VOVDVfVFggICAgICAgICAgICAgICBVU0JfQ09VTlQ1X1RYX0NPVU5UNV9UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNl9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9UWF9DT1VOVDZfVFhfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNl9UWF9DT1VOVDZfVFhfTXNrICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDZfVFhfQ09VTlQ2X1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDZfVFhfQ09VTlQ2X1RYICAgICAgICAgICAgICAgVVNCX0NPVU5UNl9UWF9DT1VOVDZfVFhfTXNrICAgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCA2ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDdfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDdfVFhfQ09VTlQ3X1RYX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDdfVFhfQ09VTlQ3X1RYX01zayAgICAgICAgICAgKDB4M0ZGVSA8PCBVU0JfQ09VTlQ3X1RYX0NPVU5UN19UWF9Qb3MpIC8qITwgMHgwMDAwMDNGRiAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1RYX0NPVU5UN19UWCAgICAgICAgICAgICAgIFVTQl9DT1VOVDdfVFhfQ09VTlQ3X1RYX01zayAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNyAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDBfVFhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1RYXzBfQ09VTlQwX1RYXzAgICAgICAgICAgICgweDAwMDAwM0ZGVSkgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgMCAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDBfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1RYXzFfQ09VTlQwX1RYXzEgICAgICAgICAgICgweDAzRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgMCAoaGlnaCkgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQxX1RYXzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9UWF8wX0NPVU5UMV9UWF8wICAgICAgICAgICAoMHgwMDAwMDNGRlUpICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDEgKGxvdykgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQxX1RYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9UWF8xX0NPVU5UMV9UWF8xICAgICAgICAgICAoMHgwM0ZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDEgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMl9UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDJfVFhfMF9DT1VOVDJfVFhfMCAgICAgICAgICAgKDB4MDAwMDAzRkZVKSAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAyIChsb3cpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMl9UWF8xIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDJfVFhfMV9DT1VOVDJfVFhfMSAgICAgICAgICAgKDB4MDNGRjAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAyIChoaWdoKSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDNfVFhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSAgVVNCX0NPVU5UM19UWF8wX0NPVU5UM19UWF8wICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVTAzRkYpICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDMgKGxvdykgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQzX1RYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgIFVTQl9DT1VOVDNfVFhfMV9DT1VOVDNfVFhfMSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDNGRlUwMDAwKSAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAzIChoaWdoKSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDRfVFhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1RYXzBfQ09VTlQ0X1RYXzAgICAgICAgICAgICgweDAwMDAwM0ZGVSkgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNCAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDRfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1RYXzFfQ09VTlQ0X1RYXzEgICAgICAgICAgICgweDAzRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNCAoaGlnaCkgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ1X1RYXzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9UWF8wX0NPVU5UNV9UWF8wICAgICAgICAgICAoMHgwMDAwMDNGRlUpICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDUgKGxvdykgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ1X1RYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9UWF8xX0NPVU5UNV9UWF8xICAgICAgICAgICAoMHgwM0ZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDUgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNl9UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDZfVFhfMF9DT1VOVDZfVFhfMCAgICAgICAgICAgKDB4MDAwMDAzRkZVKSAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCA2IChsb3cpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNl9UWF8xIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDZfVFhfMV9DT1VOVDZfVFhfMSAgICAgICAgICAgKDB4MDNGRjAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCA2IChoaWdoKSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDdfVFhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1RYXzBfQ09VTlQ3X1RYXzAgICAgICAgICAgICgweDAwMDAwM0ZGVSkgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNyAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDdfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1RYXzFfQ09VTlQ3X1RYXzEgICAgICAgICAgICgweDAzRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNyAoaGlnaCkgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0FERFIwX1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0FERFIwX1JYX0FERFIwX1JYX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0FERFIwX1JYX0FERFIwX1JYX01zayAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjBfUlhfQUREUjBfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIwX1JYX0FERFIwX1JYICAgICAgICAgICAgICAgICBVU0JfQUREUjBfUlhfQUREUjBfUlhfTXNrICAgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyAwICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSMV9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSMV9SWF9BRERSMV9SWF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSMV9SWF9BRERSMV9SWF9Nc2sgICAgICAgICAgICAgKDB4N0ZGRlUgPDwgVVNCX0FERFIxX1JYX0FERFIxX1JYX1BvcykgLyohPCAweDAwMDBGRkZFICovDQojZGVmaW5lIFVTQl9BRERSMV9SWF9BRERSMV9SWCAgICAgICAgICAgICAgICAgVVNCX0FERFIxX1JYX0FERFIxX1JYX01zayAgICAgICAgLyohPCBSZWNlcHRpb24gQnVmZmVyIEFkZHJlc3MgMSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQUREUjJfUlggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQUREUjJfUlhfQUREUjJfUlhfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQUREUjJfUlhfQUREUjJfUlhfTXNrICAgICAgICAgICAgICgweDdGRkZVIDw8IFVTQl9BRERSMl9SWF9BRERSMl9SWF9Qb3MpIC8qITwgMHgwMDAwRkZGRSAqLw0KI2RlZmluZSBVU0JfQUREUjJfUlhfQUREUjJfUlggICAgICAgICAgICAgICAgIFVTQl9BRERSMl9SWF9BRERSMl9SWF9Nc2sgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ1ZmZlciBBZGRyZXNzIDIgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0FERFIzX1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0FERFIzX1JYX0FERFIzX1JYX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0FERFIzX1JYX0FERFIzX1JYX01zayAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjNfUlhfQUREUjNfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIzX1JYX0FERFIzX1JYICAgICAgICAgICAgICAgICBVU0JfQUREUjNfUlhfQUREUjNfUlhfTXNrICAgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyAzICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSNF9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSNF9SWF9BRERSNF9SWF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSNF9SWF9BRERSNF9SWF9Nc2sgICAgICAgICAgICAgKDB4N0ZGRlUgPDwgVVNCX0FERFI0X1JYX0FERFI0X1JYX1BvcykgLyohPCAweDAwMDBGRkZFICovDQojZGVmaW5lIFVTQl9BRERSNF9SWF9BRERSNF9SWCAgICAgICAgICAgICAgICAgVVNCX0FERFI0X1JYX0FERFI0X1JYX01zayAgICAgICAgLyohPCBSZWNlcHRpb24gQnVmZmVyIEFkZHJlc3MgNCAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQUREUjVfUlggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQUREUjVfUlhfQUREUjVfUlhfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQUREUjVfUlhfQUREUjVfUlhfTXNrICAgICAgICAgICAgICgweDdGRkZVIDw8IFVTQl9BRERSNV9SWF9BRERSNV9SWF9Qb3MpIC8qITwgMHgwMDAwRkZGRSAqLw0KI2RlZmluZSBVU0JfQUREUjVfUlhfQUREUjVfUlggICAgICAgICAgICAgICAgIFVTQl9BRERSNV9SWF9BRERSNV9SWF9Nc2sgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ1ZmZlciBBZGRyZXNzIDUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0FERFI2X1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0FERFI2X1JYX0FERFI2X1JYX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0FERFI2X1JYX0FERFI2X1JYX01zayAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjZfUlhfQUREUjZfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI2X1JYX0FERFI2X1JYICAgICAgICAgICAgICAgICBVU0JfQUREUjZfUlhfQUREUjZfUlhfTXNrICAgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyA2ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSN19SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSN19SWF9BRERSN19SWF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSN19SWF9BRERSN19SWF9Nc2sgICAgICAgICAgICAgKDB4N0ZGRlUgPDwgVVNCX0FERFI3X1JYX0FERFI3X1JYX1BvcykgLyohPCAweDAwMDBGRkZFICovDQojZGVmaW5lIFVTQl9BRERSN19SWF9BRERSN19SWCAgICAgICAgICAgICAgICAgVVNCX0FERFI3X1JYX0FERFI3X1JYX01zayAgICAgICAgLyohPCBSZWNlcHRpb24gQnVmZmVyIEFkZHJlc3MgNyAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQwX1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYX0NPVU5UMF9SWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQwX1JYX0NPVU5UMF9SWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UMF9SWF9DT1VOVDBfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9DT1VOVDBfUlggICAgICAgICAgICAgICBVU0JfQ09VTlQwX1JYX0NPVU5UMF9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICBVU0JfQ09VTlQwX1JYX05VTV9CTE9DS19Nc2sgICAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQwX1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYX0JMU0laRSAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDBfUlhfQkxTSVpFX01zayAgICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQxX1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX0NPVU5UMV9SWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX0NPVU5UMV9SWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UMV9SWF9DT1VOVDFfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF9DT1VOVDFfUlggICAgICAgICAgICAgICBVU0JfQ09VTlQxX1JYX0NPVU5UMV9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UMV9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICBVU0JfQ09VTlQxX1JYX05VTV9CTE9DS19Nc2sgICAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQxX1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX0JMU0laRSAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDFfUlhfQkxTSVpFX01zayAgICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQyX1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYX0NPVU5UMl9SWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQyX1JYX0NPVU5UMl9SWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UMl9SWF9DT1VOVDJfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9DT1VOVDJfUlggICAgICAgICAgICAgICBVU0JfQ09VTlQyX1JYX0NPVU5UMl9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICBVU0JfQ09VTlQyX1JYX05VTV9CTE9DS19Nc2sgICAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQyX1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYX0JMU0laRSAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDJfUlhfQkxTSVpFX01zayAgICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQzX1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYX0NPVU5UM19SWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQzX1JYX0NPVU5UM19SWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UM19SWF9DT1VOVDNfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9DT1VOVDNfUlggICAgICAgICAgICAgICBVU0JfQ09VTlQzX1JYX0NPVU5UM19SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICBVU0JfQ09VTlQzX1JYX05VTV9CTE9DS19Nc2sgICAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQzX1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYX0JMU0laRSAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDNfUlhfQkxTSVpFX01zayAgICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ0X1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX0NPVU5UNF9SWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX0NPVU5UNF9SWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UNF9SWF9DT1VOVDRfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF9DT1VOVDRfUlggICAgICAgICAgICAgICBVU0JfQ09VTlQ0X1JYX0NPVU5UNF9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UNF9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICBVU0JfQ09VTlQ0X1JYX05VTV9CTE9DS19Nc2sgICAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQ0X1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX0JMU0laRSAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDRfUlhfQkxTSVpFX01zayAgICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ1X1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYX0NPVU5UNV9SWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYX0NPVU5UNV9SWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UNV9SWF9DT1VOVDVfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9DT1VOVDVfUlggICAgICAgICAgICAgICBVU0JfQ09VTlQ1X1JYX0NPVU5UNV9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICBVU0JfQ09VTlQ1X1JYX05VTV9CTE9DS19Nc2sgICAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQ1X1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYX0JMU0laRSAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDVfUlhfQkxTSVpFX01zayAgICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ2X1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYX0NPVU5UNl9SWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYX0NPVU5UNl9SWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UNl9SWF9DT1VOVDZfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9DT1VOVDZfUlggICAgICAgICAgICAgICBVU0JfQ09VTlQ2X1JYX0NPVU5UNl9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICBVU0JfQ09VTlQ2X1JYX05VTV9CTE9DS19Nc2sgICAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQ2X1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYX0JMU0laRSAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDZfUlhfQkxTSVpFX01zayAgICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ3X1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX0NPVU5UN19SWF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX0NPVU5UN19SWF9Nc2sgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UN19SWF9DT1VOVDdfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF9DT1VOVDdfUlggICAgICAgICAgICAgICBVU0JfQ09VTlQ3X1JYX0NPVU5UN19SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UN19SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UN19SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UN19SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICBVU0JfQ09VTlQ3X1JYX05VTV9CTE9DS19Nc2sgICAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UN19SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UN19SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQ3X1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX0JMU0laRSAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDdfUlhfQkxTSVpFX01zayAgICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDBfUlhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzBfQ09VTlQwX1JYXzAgICAgICAgICAgICgweDAwMDAwM0ZGVSkgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGxvdykgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzBfTlVNX0JMT0NLXzAgICAgICAgICAgICgweDAwMDA3QzAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzBbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAobG93KSAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzBfTlVNX0JMT0NLXzBfMCAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8wX05VTV9CTE9DS18wXzEgICAgICAgICAoMHgwMDAwMDgwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMF9OVU1fQkxPQ0tfMF8yICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzBfTlVNX0JMT0NLXzBfMyAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8wX05VTV9CTE9DS18wXzQgICAgICAgICAoMHgwMDAwNDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8wX0JMU0laRV8wICAgICAgICAgICAgICAoMHgwMDAwODAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGxvdykgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQwX1JYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8xX0NPVU5UMF9SWF8xICAgICAgICAgICAoMHgwM0ZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChoaWdoKSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMV9OVU1fQkxPQ0tfMSAgICAgICAgICAgKDB4N0MwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMVs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChoaWdoKSAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzFfTlVNX0JMT0NLXzFfMCAgICAgICAgICgweDA0MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8xX05VTV9CTE9DS18xXzEgICAgICAgICAoMHgwODAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMV9OVU1fQkxPQ0tfMV8yICAgICAgICAgKDB4MTAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzFfTlVNX0JMT0NLXzFfMyAgICAgICAgICgweDIwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8xX05VTV9CTE9DS18xXzQgICAgICAgICAoMHg0MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8xX0JMU0laRV8xICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMV9SWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMF9DT1VOVDFfUlhfMCAgICAgICAgICAgKDB4MDAwMDAzRkZVKSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAobG93KSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMF9OVU1fQkxPQ0tfMCAgICAgICAgICAgKDB4MDAwMDdDMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMFs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChsb3cpICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMF9OVU1fQkxPQ0tfMF8wICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzBfTlVNX0JMT0NLXzBfMSAgICAgICAgICgweDAwMDAwODAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8wX05VTV9CTE9DS18wXzIgICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMF9OVU1fQkxPQ0tfMF8zICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzBfTlVNX0JMT0NLXzBfNCAgICAgICAgICgweDAwMDA0MDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzBfQkxTSVpFXzAgICAgICAgICAgICAgICgweDAwMDA4MDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDFfUlhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzFfQ09VTlQxX1JYXzEgICAgICAgICAgICgweDAzRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGhpZ2gpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8xX05VTV9CTE9DS18xICAgICAgICAgICAoMHg3QzAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18xWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGhpZ2gpICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMV9OVU1fQkxPQ0tfMV8wICAgICAgICAgKDB4MDQwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzFfTlVNX0JMT0NLXzFfMSAgICAgICAgICgweDA4MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8xX05VTV9CTE9DS18xXzIgICAgICAgICAoMHgxMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMV9OVU1fQkxPQ0tfMV8zICAgICAgICAgKDB4MjAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzFfTlVNX0JMT0NLXzFfNCAgICAgICAgICgweDQwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzFfQkxTSVpFXzEgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAoaGlnaCkgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQyX1JYXzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8wX0NPVU5UMl9SWF8wICAgICAgICAgICAoMHgwMDAwMDNGRlUpICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChsb3cpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8wX05VTV9CTE9DS18wICAgICAgICAgICAoMHgwMDAwN0MwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18wWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGxvdykgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8wX05VTV9CTE9DS18wXzAgICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMF9OVU1fQkxPQ0tfMF8xICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzBfTlVNX0JMT0NLXzBfMiAgICAgICAgICgweDAwMDAxMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8wX05VTV9CTE9DS18wXzMgICAgICAgICAoMHgwMDAwMjAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMF9OVU1fQkxPQ0tfMF80ICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMF9CTFNJWkVfMCAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChsb3cpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMl9SWF8xIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMV9DT1VOVDJfUlhfMSAgICAgICAgICAgKDB4MDNGRjAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAoaGlnaCkgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzFfTlVNX0JMT0NLXzEgICAgICAgICAgICgweDdDMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzFbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAoaGlnaCkgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8xX05VTV9CTE9DS18xXzAgICAgICAgICAoMHgwNDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMV9OVU1fQkxPQ0tfMV8xICAgICAgICAgKDB4MDgwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzFfTlVNX0JMT0NLXzFfMiAgICAgICAgICgweDEwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8xX05VTV9CTE9DS18xXzMgICAgICAgICAoMHgyMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMV9OVU1fQkxPQ0tfMV80ICAgICAgICAgKDB4NDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMV9CTFNJWkVfMSAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChoaWdoKSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDNfUlhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzBfQ09VTlQzX1JYXzAgICAgICAgICAgICgweDAwMDAwM0ZGVSkgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGxvdykgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzBfTlVNX0JMT0NLXzAgICAgICAgICAgICgweDAwMDA3QzAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzBbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAobG93KSAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzBfTlVNX0JMT0NLXzBfMCAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8wX05VTV9CTE9DS18wXzEgICAgICAgICAoMHgwMDAwMDgwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMF9OVU1fQkxPQ0tfMF8yICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzBfTlVNX0JMT0NLXzBfMyAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8wX05VTV9CTE9DS18wXzQgICAgICAgICAoMHgwMDAwNDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8wX0JMU0laRV8wICAgICAgICAgICAgICAoMHgwMDAwODAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGxvdykgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQzX1JYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8xX0NPVU5UM19SWF8xICAgICAgICAgICAoMHgwM0ZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChoaWdoKSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMV9OVU1fQkxPQ0tfMSAgICAgICAgICAgKDB4N0MwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMVs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChoaWdoKSAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzFfTlVNX0JMT0NLXzFfMCAgICAgICAgICgweDA0MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8xX05VTV9CTE9DS18xXzEgICAgICAgICAoMHgwODAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMV9OVU1fQkxPQ0tfMV8yICAgICAgICAgKDB4MTAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzFfTlVNX0JMT0NLXzFfMyAgICAgICAgICgweDIwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8xX05VTV9CTE9DS18xXzQgICAgICAgICAoMHg0MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8xX0JMU0laRV8xICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNF9SWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMF9DT1VOVDRfUlhfMCAgICAgICAgICAgKDB4MDAwMDAzRkZVKSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAobG93KSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMF9OVU1fQkxPQ0tfMCAgICAgICAgICAgKDB4MDAwMDdDMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMFs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChsb3cpICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMF9OVU1fQkxPQ0tfMF8wICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzBfTlVNX0JMT0NLXzBfMSAgICAgICAgICgweDAwMDAwODAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8wX05VTV9CTE9DS18wXzIgICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMF9OVU1fQkxPQ0tfMF8zICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzBfTlVNX0JMT0NLXzBfNCAgICAgICAgICgweDAwMDA0MDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzBfQkxTSVpFXzAgICAgICAgICAgICAgICgweDAwMDA4MDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDRfUlhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzFfQ09VTlQ0X1JYXzEgICAgICAgICAgICgweDAzRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGhpZ2gpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8xX05VTV9CTE9DS18xICAgICAgICAgICAoMHg3QzAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18xWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGhpZ2gpICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMV9OVU1fQkxPQ0tfMV8wICAgICAgICAgKDB4MDQwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzFfTlVNX0JMT0NLXzFfMSAgICAgICAgICgweDA4MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8xX05VTV9CTE9DS18xXzIgICAgICAgICAoMHgxMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMV9OVU1fQkxPQ0tfMV8zICAgICAgICAgKDB4MjAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzFfTlVNX0JMT0NLXzFfNCAgICAgICAgICgweDQwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzFfQkxTSVpFXzEgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAoaGlnaCkgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ1X1JYXzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8wX0NPVU5UNV9SWF8wICAgICAgICAgICAoMHgwMDAwMDNGRlUpICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChsb3cpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8wX05VTV9CTE9DS18wICAgICAgICAgICAoMHgwMDAwN0MwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18wWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGxvdykgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8wX05VTV9CTE9DS18wXzAgICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMF9OVU1fQkxPQ0tfMF8xICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzBfTlVNX0JMT0NLXzBfMiAgICAgICAgICgweDAwMDAxMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8wX05VTV9CTE9DS18wXzMgICAgICAgICAoMHgwMDAwMjAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMF9OVU1fQkxPQ0tfMF80ICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMF9CTFNJWkVfMCAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChsb3cpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNV9SWF8xIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMV9DT1VOVDVfUlhfMSAgICAgICAgICAgKDB4MDNGRjAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAoaGlnaCkgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzFfTlVNX0JMT0NLXzEgICAgICAgICAgICgweDdDMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzFbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAoaGlnaCkgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8xX05VTV9CTE9DS18xXzAgICAgICAgICAoMHgwNDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMV9OVU1fQkxPQ0tfMV8xICAgICAgICAgKDB4MDgwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzFfTlVNX0JMT0NLXzFfMiAgICAgICAgICgweDEwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8xX05VTV9CTE9DS18xXzMgICAgICAgICAoMHgyMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMV9OVU1fQkxPQ0tfMV80ICAgICAgICAgKDB4NDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMV9CTFNJWkVfMSAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChoaWdoKSAqLw0KDQovKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNl9SWF8wICByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYXzBfQ09VTlQ2X1JYXzAgICAgICAgICAgICgweDAwMDAwM0ZGVSkgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGxvdykgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYXzBfTlVNX0JMT0NLXzAgICAgICAgICAgICgweDAwMDA3QzAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzBbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAobG93KSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYXzBfTlVNX0JMT0NLXzBfMCAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8wX05VTV9CTE9DS18wXzEgICAgICAgICAoMHgwMDAwMDgwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMF9OVU1fQkxPQ0tfMF8yICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYXzBfTlVNX0JMT0NLXzBfMyAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8wX05VTV9CTE9DS18wXzQgICAgICAgICAoMHgwMDAwNDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8wX0JMU0laRV8wICAgICAgICAgICAgICAoMHgwMDAwODAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGxvdykgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ2X1JYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8xX0NPVU5UNl9SWF8xICAgICAgICAgICAoMHgwM0ZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChoaWdoKSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9OVU1fQkxPQ0tfMSAgICAgICAgICAgKDB4N0MwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMVs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChoaWdoKSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYXzFfTlVNX0JMT0NLXzFfMCAgICAgICAgICgweDA0MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8xX05VTV9CTE9DS18xXzEgICAgICAgICAoMHgwODAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9OVU1fQkxPQ0tfMV8yICAgICAgICAgKDB4MTAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYXzFfTlVNX0JMT0NLXzFfMyAgICAgICAgICgweDIwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8xX05VTV9CTE9DS18xXzQgICAgICAgICAoMHg0MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8xX0JMU0laRV8xICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ3X1JYXzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMF9DT1VOVDdfUlhfMCAgICAgICAgICAgKDB4MDAwMDAzRkZVKSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAobG93KSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMF9OVU1fQkxPQ0tfMCAgICAgICAgICAgKDB4MDAwMDdDMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMFs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChsb3cpICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMF9OVU1fQkxPQ0tfMF8wICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzBfTlVNX0JMT0NLXzBfMSAgICAgICAgICgweDAwMDAwODAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8wX05VTV9CTE9DS18wXzIgICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMF9OVU1fQkxPQ0tfMF8zICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzBfTlVNX0JMT0NLXzBfNCAgICAgICAgICgweDAwMDA0MDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzBfQkxTSVpFXzAgICAgICAgICAgICAgICgweDAwMDA4MDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UN19SWF8xIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzFfQ09VTlQ3X1JYXzEgICAgICAgICAgICgweDAzRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGhpZ2gpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8xX05VTV9CTE9DS18xICAgICAgICAgICAoMHg3QzAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18xWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGhpZ2gpICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMV9OVU1fQkxPQ0tfMV8wICAgICAgICAgKDB4MDQwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzFfTlVNX0JMT0NLXzFfMSAgICAgICAgICgweDA4MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8xX05VTV9CTE9DS18xXzIgICAgICAgICAoMHgxMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMV9OVU1fQkxPQ0tfMV8zICAgICAgICAgKDB4MjAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzFfTlVNX0JMT0NLXzFfNCAgICAgICAgICgweDQwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzFfQkxTSVpFXzEgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAoaGlnaCkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBXaW5kb3cgV0FUQ0hET0cgKFdXREcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfQ1JfVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDdGICovDQojZGVmaW5lIFdXREdfQ1JfVCAgICAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBUWzY6MF0gYml0cyAoNy1CaXQgY291bnRlciAoTVNCIHRvIExTQikpICovDQojZGVmaW5lIFdXREdfQ1JfVF8wICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfQ1JfVF8xICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFdXREdfQ1JfVF8yICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFdXREdfQ1JfVF8zICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFdXREdfQ1JfVF80ICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFdXREdfQ1JfVF81ICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFdXREdfQ1JfVF82ICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NSX1QwIFdXREdfQ1JfVF8wDQojZGVmaW5lICBXV0RHX0NSX1QxIFdXREdfQ1JfVF8xDQojZGVmaW5lICBXV0RHX0NSX1QyIFdXREdfQ1JfVF8yDQojZGVmaW5lICBXV0RHX0NSX1QzIFdXREdfQ1JfVF8zDQojZGVmaW5lICBXV0RHX0NSX1Q0IFdXREdfQ1JfVF80DQojZGVmaW5lICBXV0RHX0NSX1Q1IFdXREdfQ1JfVF81DQojZGVmaW5lICBXV0RHX0NSX1Q2IFdXREdfQ1JfVF82DQoNCiNkZWZpbmUgV1dER19DUl9XREdBX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DUl9XREdBX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19DUl9XREdBX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgV1dER19DUl9XREdBICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DUl9XREdBX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFjdGl2YXRpb24gYml0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19DRlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfQ0ZSX1dfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX1dfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDdGICovDQojZGVmaW5lIFdXREdfQ0ZSX1cgICAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ0ZSX1dfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBXWzY6MF0gYml0cyAoNy1iaXQgd2luZG93IHZhbHVlKSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzMgICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzQgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzUgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzYgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DRlJfVzAgV1dER19DRlJfV18wDQojZGVmaW5lICBXV0RHX0NGUl9XMSBXV0RHX0NGUl9XXzENCiNkZWZpbmUgIFdXREdfQ0ZSX1cyIFdXREdfQ0ZSX1dfMg0KI2RlZmluZSAgV1dER19DRlJfVzMgV1dER19DRlJfV18zDQojZGVmaW5lICBXV0RHX0NGUl9XNCBXV0RHX0NGUl9XXzQNCiNkZWZpbmUgIFdXREdfQ0ZSX1c1IFdXREdfQ0ZSX1dfNQ0KI2RlZmluZSAgV1dER19DRlJfVzYgV1dER19DRlJfV182DQoNCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxODAgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEIgICAgICAgICAgICAgICAgICAgICAgV1dER19DRlJfV0RHVEJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFdER1RCWzE6MF0gYml0cyAoVGltZXIgQmFzZSkgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ0ZSX1dER1RCMCBXV0RHX0NGUl9XREdUQl8wDQojZGVmaW5lICBXV0RHX0NGUl9XREdUQjEgV1dER19DRlJfV0RHVEJfMQ0KDQojZGVmaW5lIFdXREdfQ0ZSX0VXSV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX0VXSV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfQ0ZSX0VXSV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFdXREdfQ0ZSX0VXSSAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ0ZSX0VXSV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFYXJseSBXYWtldXAgSW50ZXJydXB0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfU1JfRVdJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfU1JfRVdJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfU1JfRVdJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfU1JfRVdJRiAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfU1JfRVdJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFYXJseSBXYWtldXAgSW50ZXJydXB0IEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbVRpY2sgKFN5c1RpY2spICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFN5c1RpY2tfQ1RSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFN5c1RpY2tfQ1RSTF9FTkFCTEUgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3VudGVyIGVuYWJsZSAqLw0KI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVCAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ291bnRpbmcgZG93biB0byAwIHBlbmRzIHRoZSBTeXNUaWNrIGhhbmRsZXIgKi8NCiNkZWZpbmUgU3lzVGlja19DVFJMX0NMS1NPVVJDRSAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIHNvdXJjZSAqLw0KI2RlZmluZSBTeXNUaWNrX0NUUkxfQ09VTlRGTEFHICAgICAgICAgICAgICAoMHgwMDAxMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ291bnQgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTeXNUaWNrX0xPQUQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTeXNUaWNrX0xPQURfUkVMT0FEICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRlUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgVmFsdWUgdG8gbG9hZCBpbnRvIHRoZSBTeXNUaWNrIEN1cnJlbnQgVmFsdWUgUmVnaXN0ZXIgd2hlbiB0aGUgY291bnRlciByZWFjaGVzIDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU3lzVGlja19WQUwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU3lzVGlja19WQUxfQ1VSUkVOVCAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkZVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEN1cnJlbnQgdmFsdWUgYXQgdGhlIHRpbWUgdGhlIHJlZ2lzdGVyIGlzIGFjY2Vzc2VkICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFN5c1RpY2tfQ0FMSUIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFN5c1RpY2tfQ0FMSUJfVEVOTVMgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBSZWxvYWQgdmFsdWUgdG8gdXNlIGZvciAxMG1zIHRpbWluZyAqLw0KI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVcgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2FsaWJyYXRpb24gdmFsdWUgaXMgbm90IGV4YWN0bHkgMTAgbXMgKi8NCiNkZWZpbmUgU3lzVGlja19DQUxJQl9OT1JFRiAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRoZSByZWZlcmVuY2UgY2xvY2sgaXMgbm90IHByb3ZpZGVkICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICBOZXN0ZWQgVmVjdG9yZWQgSW50ZXJydXB0IENvbnRyb2xsZXIgKE5WSUMpICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgTlZJQ19JU0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BX01zayAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BICAgICAgICAgICAgICAgICAgICBOVklDX0lTRVJfU0VURU5BX01zayAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IHNldCBlbmFibGUgYml0cyAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMVUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzEgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzIgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzMgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzUgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzYgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzcgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzggICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzkgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzEwICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzExICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzEyICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzEzICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzE0ICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzE1ICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzE2ICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzE3ICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzE4ICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzE5ICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzIwICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzIxICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzIyICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzIzICAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzI0ICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzI1ICAgICAgICAgICAgICAgICAoMHgwMjAwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzI2ICAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzI3ICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzI4ICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzI5ICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzMwICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTRVJfU0VURU5BXzMxICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUgPDwgTlZJQ19JU0VSX1NFVEVOQV9Qb3MpIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgTlZJQ19JQ0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBOVklDX0lDRVJfQ0xSRU5BX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBOVklDX0lDRVJfQ0xSRU5BX01zayAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgTlZJQ19JQ0VSX0NMUkVOQV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBOVklDX0lDRVJfQ0xSRU5BICAgICAgICAgICAgICAgICAgICBOVklDX0lDRVJfQ0xSRU5BX01zayAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IGNsZWFyLWVuYWJsZSBiaXRzICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMCAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMSAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMiAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0VSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfNCAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfNSAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfNiAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfNyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfOCAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfOSAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTEgICAgICAgICAgICAgICAgICgweDAwMDAwODAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTIgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTMgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTQgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTUgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTYgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTcgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTggICAgICAgICAgICAgICAgICgweDAwMDQwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMTkgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjEgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjIgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjMgICAgICAgICAgICAgICAgICgweDAwODAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjQgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjUgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjYgICAgICAgICAgICAgICAgICgweDA0MDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjcgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjggICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMjkgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMzAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNFUl9DTFJFTkFfMzEgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSA8PCBOVklDX0lDRVJfQ0xSRU5BX1BvcykgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBOVklDX0lTUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EX01zayAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORCAgICAgICAgICAgICAgICAgICBOVklDX0lTUFJfU0VUUEVORF9Nc2sgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IHNldC1wZW5kaW5nIGJpdHMgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMCAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzEgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF8yICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMyAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzQgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF81ICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfNiAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzcgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF84ICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfOSAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzEwICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF8xMSAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMTIgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzEzICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF8xNCAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMTUgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzE2ICAgICAgICAgICAgICAgICgweDAwMDEwMDAwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF8xNyAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMTggICAgICAgICAgICAgICAgKDB4MDAwNDAwMDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzE5ICAgICAgICAgICAgICAgICgweDAwMDgwMDAwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF8yMCAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMjEgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzIyICAgICAgICAgICAgICAgICgweDAwNDAwMDAwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF8yMyAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMjQgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzI1ICAgICAgICAgICAgICAgICgweDAyMDAwMDAwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF8yNiAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMjcgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzI4ICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lTUFJfU0VUUEVORF8yOSAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUgPDwgTlZJQ19JU1BSX1NFVFBFTkRfUG9zKSAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JU1BSX1NFVFBFTkRfMzAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVIDw8IE5WSUNfSVNQUl9TRVRQRU5EX1BvcykgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSVNQUl9TRVRQRU5EXzMxICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSA8PCBOVklDX0lTUFJfU0VUUEVORF9Qb3MpIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgTlZJQ19JQ1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF9Nc2sgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkQgICAgICAgICAgICAgICAgICAgTlZJQ19JQ1BSX0NMUlBFTkRfTXNrICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBjbGVhci1wZW5kaW5nIGJpdHMgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMCAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzEgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF8yICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMyAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzQgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF81ICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfNiAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzcgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF84ICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfOSAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzEwICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF8xMSAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMTIgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzEzICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF8xNCAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMTUgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzE2ICAgICAgICAgICAgICAgICgweDAwMDEwMDAwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF8xNyAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMTggICAgICAgICAgICAgICAgKDB4MDAwNDAwMDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzE5ICAgICAgICAgICAgICAgICgweDAwMDgwMDAwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF8yMCAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMjEgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzIyICAgICAgICAgICAgICAgICgweDAwNDAwMDAwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF8yMyAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMjQgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzI1ICAgICAgICAgICAgICAgICgweDAyMDAwMDAwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF8yNiAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMjcgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzI4ICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lDUFJfQ0xSUEVORF8yOSAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUgPDwgTlZJQ19JQ1BSX0NMUlBFTkRfUG9zKSAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgTlZJQ19JQ1BSX0NMUlBFTkRfMzAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDBVIDw8IE5WSUNfSUNQUl9DTFJQRU5EX1BvcykgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIE5WSUNfSUNQUl9DTFJQRU5EXzMxICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSA8PCBOVklDX0lDUFJfQ0xSUEVORF9Qb3MpIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgTlZJQ19JQUJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFX01zayAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFICAgICAgICAgICAgICAgICAgICBOVklDX0lBQlJfQUNUSVZFX01zayAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IGFjdGl2ZSBmbGFncyAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMVUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzEgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzIgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzMgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzUgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzYgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzcgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzggICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzkgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzEwICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzExICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzEyICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzEzICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzE0ICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzE1ICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzE2ICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzE3ICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzE4ICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzE5ICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzIwICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzIxICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzIyICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzIzICAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzI0ICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzI1ICAgICAgICAgICAgICAgICAoMHgwMjAwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzI2ICAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzI3ICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzI4ICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzI5ICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzMwICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBOVklDX0lBQlJfQUNUSVZFXzMxICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUgPDwgTlZJQ19JQUJSX0FDVElWRV9Qb3MpIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgTlZJQ19QUkkwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBOVklDX0lQUjBfUFJJXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRlUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDAgKi8NCiNkZWZpbmUgTlZJQ19JUFIwX1BSSV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAxICovDQojZGVmaW5lIE5WSUNfSVBSMF9QUklfMiAgICAgICAgICAgICAgICAgICAgICgweDAwRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgMiAqLw0KI2RlZmluZSBOVklDX0lQUjBfUFJJXzMgICAgICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIE5WSUNfUFJJMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgTlZJQ19JUFIxX1BSSV80ICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkZVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCA0ICovDQojZGVmaW5lIE5WSUNfSVBSMV9QUklfNSAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgNSAqLw0KI2RlZmluZSBOVklDX0lQUjFfUFJJXzYgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDYgKi8NCiNkZWZpbmUgTlZJQ19JUFIxX1BSSV83ICAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCA3ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBOVklDX1BSSTIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIE5WSUNfSVBSMl9QUklfOCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgOCAqLw0KI2RlZmluZSBOVklDX0lQUjJfUFJJXzkgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkYwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDkgKi8NCiNkZWZpbmUgTlZJQ19JUFIyX1BSSV8xMCAgICAgICAgICAgICAgICAgICAgKDB4MDBGRjAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAxMCAqLw0KI2RlZmluZSBOVklDX0lQUjJfUFJJXzExICAgICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDExICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBOVklDX1BSSTMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIE5WSUNfSVBSM19QUklfMTIgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTIgKi8NCiNkZWZpbmUgTlZJQ19JUFIzX1BSSV8xMyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAxMyAqLw0KI2RlZmluZSBOVklDX0lQUjNfUFJJXzE0ICAgICAgICAgICAgICAgICAgICAoMHgwMEZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDE0ICovDQojZGVmaW5lIE5WSUNfSVBSM19QUklfMTUgICAgICAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIE5WSUNfUFJJNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgTlZJQ19JUFI0X1BSSV8xNiAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkZVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAxNiAqLw0KI2RlZmluZSBOVklDX0lQUjRfUFJJXzE3ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkYwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDE3ICovDQojZGVmaW5lIE5WSUNfSVBSNF9QUklfMTggICAgICAgICAgICAgICAgICAgICgweDAwRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgMTggKi8NCiNkZWZpbmUgTlZJQ19JUFI0X1BSSV8xOSAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAxOSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgTlZJQ19QUkk1IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBOVklDX0lQUjVfUFJJXzIwICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRlUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDIwICovDQojZGVmaW5lIE5WSUNfSVBSNV9QUklfMjEgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgMjEgKi8NCiNkZWZpbmUgTlZJQ19JUFI1X1BSSV8yMiAgICAgICAgICAgICAgICAgICAgKDB4MDBGRjAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAyMiAqLw0KI2RlZmluZSBOVklDX0lQUjVfUFJJXzIzICAgICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDIzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBOVklDX1BSSTYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIE5WSUNfSVBSNl9QUklfMjQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgMjQgKi8NCiNkZWZpbmUgTlZJQ19JUFI2X1BSSV8yNSAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAyNSAqLw0KI2RlZmluZSBOVklDX0lQUjZfUFJJXzI2ICAgICAgICAgICAgICAgICAgICAoMHgwMEZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDI2ICovDQojZGVmaW5lIE5WSUNfSVBSNl9QUklfMjcgICAgICAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgMjcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIE5WSUNfUFJJNyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgTlZJQ19JUFI3X1BSSV8yOCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkZVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAyOCAqLw0KI2RlZmluZSBOVklDX0lQUjdfUFJJXzI5ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkYwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2YgaW50ZXJydXB0IDI5ICovDQojZGVmaW5lIE5WSUNfSVBSN19QUklfMzAgICAgICAgICAgICAgICAgICAgICgweDAwRkYwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBpbnRlcnJ1cHQgMzAgKi8NCiNkZWZpbmUgTlZJQ19JUFI3X1BSSV8zMSAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIGludGVycnVwdCAzMSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0NCX0NQVUlEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTQ0JfQ1BVSURfUkVWSVNJT04gICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRlUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSW1wbGVtZW50YXRpb24gZGVmaW5lZCByZXZpc2lvbiBudW1iZXIgKi8NCiNkZWZpbmUgU0NCX0NQVUlEX1BBUlROTyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRjBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IE51bWJlciBvZiBwcm9jZXNzb3Igd2l0aGluIHNlcmllICovDQojZGVmaW5lIFNDQl9DUFVJRF9Db25zdGFudCAgICAgICAgICAgICAgICAgICgweDAwMEYwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBSZWFkcyBhcyAweDBGICovDQojZGVmaW5lIFNDQl9DUFVJRF9WQVJJQU5UICAgICAgICAgICAgICAgICAgICgweDAwRjAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBJbXBsZW1lbnRhdGlvbiBkZWZpbmVkIHZhcmlhbnQgbnVtYmVyICovDQojZGVmaW5lIFNDQl9DUFVJRF9JTVBMRU1FTlRFUiAgICAgICAgICAgICAgICgweEZGMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBJbXBsZW1lbnRlciBjb2RlLiBBUk0gaXMgMHg0MSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNDQl9JQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTQ0JfSUNTUl9WRUNUQUNUSVZFICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRlUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgQWN0aXZlIElTUiBudW1iZXIgZmllbGQgKi8NCiNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFsbCBhY3RpdmUgZXhjZXB0aW9ucyBtaW51cyB0aGUgSVBTUl9jdXJyZW50X2V4Y2VwdGlvbiB5aWVsZHMgdGhlIGVtcHR5IHNldCAqLw0KI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElORyAgICAgICAgICAgICAgICAoMHgwMDNGRjAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBJU1IgbnVtYmVyIGZpZWxkICovDQojZGVmaW5lIFNDQl9JQ1NSX0lTUlBFTkRJTkcgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgcGVuZGluZyBmbGFnICovDQojZGVmaW5lIFNDQl9JQ1NSX0lTUlBSRUVNUFQgICAgICAgICAgICAgICAgICgweDAwODAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBJdCBpbmRpY2F0ZXMgdGhhdCBhIHBlbmRpbmcgaW50ZXJydXB0IGJlY29tZXMgYWN0aXZlIGluIHRoZSBuZXh0IHJ1bm5pbmcgY3ljbGUgKi8NCiNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSICAgICAgICAgICAgICAgICAgKDB4MDIwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIHBlbmRpbmcgU3lzVGljayBiaXQgKi8NCiNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUICAgICAgICAgICAgICAgICAgKDB4MDQwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNldCBwZW5kaW5nIFN5c1RpY2sgYml0ICovDQojZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUiAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBwZW5kaW5nIHBlbmRTViBiaXQgKi8NCiNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNldCBwZW5kaW5nIHBlbmRTViBiaXQgKi8NCiNkZWZpbmUgU0NCX0lDU1JfTk1JUEVORFNFVCAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNldCBwZW5kaW5nIE5NSSBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTQ0JfVlRPUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRkZGODBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFZlY3RvciB0YWJsZSBiYXNlIG9mZnNldCBmaWVsZCAqLw0KI2RlZmluZSBTQ0JfVlRPUl9UQkxCQVNFICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgVGFibGUgYmFzZSBpbiBjb2RlKDApIG9yIFJBTSgxKSAqLw0KDQovKiE8KioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTQ0JfQUlSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNDQl9BSVJDUl9WRUNUUkVTRVQgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gUmVzZXQgYml0ICovDQojZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBhY3RpdmUgdmVjdG9yIGJpdCAqLw0KI2RlZmluZSBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVEgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmVxdWVzdHMgY2hpcCBjb250cm9sIGxvZ2ljIHRvIGdlbmVyYXRlIGEgcmVzZXQgKi8NCg0KI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDcwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFJJR1JPVVBbMjowXSBiaXRzIChQcmlvcml0eSBncm91cCkgKi8NCiNkZWZpbmUgU0NCX0FJUkNSX1BSSUdST1VQXzAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUF8xICAgICAgICAgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVBfMiAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgICovDQoNCi8qIHByb3JpdHkgZ3JvdXAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVAwICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgZ3JvdXA9MCAoNyBiaXRzIG9mIHByZS1lbXB0aW9uIHByaW9yaXR5LCAxIGJpdCBvZiBzdWJwcmlvcml0eSkgKi8NCiNkZWZpbmUgU0NCX0FJUkNSX1BSSUdST1VQMSAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IGdyb3VwPTEgKDYgYml0cyBvZiBwcmUtZW1wdGlvbiBwcmlvcml0eSwgMiBiaXRzIG9mIHN1YnByaW9yaXR5KSAqLw0KI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVAyICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgZ3JvdXA9MiAoNSBiaXRzIG9mIHByZS1lbXB0aW9uIHByaW9yaXR5LCAzIGJpdHMgb2Ygc3VicHJpb3JpdHkpICovDQojZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUDMgICAgICAgICAgICAgICAgICgweDAwMDAwMzAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBncm91cD0zICg0IGJpdHMgb2YgcHJlLWVtcHRpb24gcHJpb3JpdHksIDQgYml0cyBvZiBzdWJwcmlvcml0eSkgKi8NCiNkZWZpbmUgU0NCX0FJUkNSX1BSSUdST1VQNCAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IGdyb3VwPTQgKDMgYml0cyBvZiBwcmUtZW1wdGlvbiBwcmlvcml0eSwgNSBiaXRzIG9mIHN1YnByaW9yaXR5KSAqLw0KI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVA1ICAgICAgICAgICAgICAgICAoMHgwMDAwMDUwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgZ3JvdXA9NSAoMiBiaXRzIG9mIHByZS1lbXB0aW9uIHByaW9yaXR5LCA2IGJpdHMgb2Ygc3VicHJpb3JpdHkpICovDQojZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUDYgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBncm91cD02ICgxIGJpdCBvZiBwcmUtZW1wdGlvbiBwcmlvcml0eSwgNyBiaXRzIG9mIHN1YnByaW9yaXR5KSAqLw0KI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVA3ICAgICAgICAgICAgICAgICAoMHgwMDAwMDcwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgZ3JvdXA9NyAobm8gcHJlLWVtcHRpb24gcHJpb3JpdHksIDggYml0cyBvZiBzdWJwcmlvcml0eSkgKi8NCg0KI2RlZmluZSBTQ0JfQUlSQ1JfRU5ESUFORVNTICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBlbmRpYW5uZXNzIGJpdCAqLw0KI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWSAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmVnaXN0ZXIga2V5IChWRUNUS0VZKSAtIFJlYWRzIGFzIDB4RkEwNSAoVkVDVEtFWVNUQVQpICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0NCX1NDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNDQl9TQ1JfU0xFRVBPTkVYSVQgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBTbGVlcCBvbiBleGl0IGJpdCAqLw0KI2RlZmluZSBTQ0JfU0NSX1NMRUVQREVFUCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgU2xlZXAgZGVlcCBiaXQgKi8NCiNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkQgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFdha2UgdXAgZnJvbSBXRkUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0NCX0NDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQSAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRocmVhZCBtb2RlIGNhbiBiZSBlbnRlcmVkIGZyb20gYW55IGxldmVsIGluIEhhbmRsZXIgbW9kZSBieSBjb250cm9sbGVkIHJldHVybiB2YWx1ZSAqLw0KI2RlZmluZSBTQ0JfQ0NSX1VTRVJTRVRNUEVORCAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlcyB1c2VyIGNvZGUgdG8gd3JpdGUgdGhlIFNvZnR3YXJlIFRyaWdnZXIgSW50ZXJydXB0IHJlZ2lzdGVyIHRvIHRyaWdnZXIgKHBlbmQpIGEgTWFpbiBleGNlcHRpb24gKi8NCiNkZWZpbmUgU0NCX0NDUl9VTkFMSUdOX1RSUCAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYXAgZm9yIHVuYWxpZ25lZCBhY2Nlc3MgKi8NCiNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYXAgb24gRGl2aWRlIGJ5IDAgKi8NCiNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR04gICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhhbmRsZXJzIHJ1bm5pbmcgYXQgcHJpb3JpdHkgLTEgYW5kIC0yICovDQojZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR04gICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBPbiBleGNlcHRpb24gZW50cnksIHRoZSBTUCB1c2VkIHByaW9yIHRvIHRoZSBleGNlcHRpb24gaXMgYWRqdXN0ZWQgdG8gYmUgOC1ieXRlIGFsaWduZWQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTQ0JfU0hQUiByZWdpc3RlciAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0NCX1NIUFJfUFJJX05fUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0NCX1NIUFJfUFJJX05fTXNrICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFNDQl9TSFBSX1BSSV9OX1BvcykgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgU0NCX1NIUFJfUFJJX04gICAgICAgICAgICAgICAgICAgICAgU0NCX1NIUFJfUFJJX05fTXNrICAgICAgICAgICAgICAgICAvKiE8IFByaW9yaXR5IG9mIHN5c3RlbSBoYW5kbGVyIDQsOCwgYW5kIDEyLiBNZW0gTWFuYWdlLCByZXNlcnZlZCBhbmQgRGVidWcgTW9uaXRvciAqLw0KI2RlZmluZSBTQ0JfU0hQUl9QUklfTjFfUG9zICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTQ0JfU0hQUl9QUklfTjFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgU0NCX1NIUFJfUFJJX04xX1BvcykgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBTQ0JfU0hQUl9QUklfTjEgICAgICAgICAgICAgICAgICAgICBTQ0JfU0hQUl9QUklfTjFfTXNrICAgICAgICAgICAgICAgIC8qITwgUHJpb3JpdHkgb2Ygc3lzdGVtIGhhbmRsZXIgNSw5LCBhbmQgMTMuIEJ1cyBGYXVsdCwgcmVzZXJ2ZWQgYW5kIHJlc2VydmVkICovDQojZGVmaW5lIFNDQl9TSFBSX1BSSV9OMl9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNDQl9TSFBSX1BSSV9OMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBTQ0JfU0hQUl9QUklfTjJfUG9zKSAgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIFNDQl9TSFBSX1BSSV9OMiAgICAgICAgICAgICAgICAgICAgIFNDQl9TSFBSX1BSSV9OMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBzeXN0ZW0gaGFuZGxlciA2LDEwLCBhbmQgMTQuIFVzYWdlIEZhdWx0LCByZXNlcnZlZCBhbmQgUGVuZFNWICovDQojZGVmaW5lIFNDQl9TSFBSX1BSSV9OM19Qb3MgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNDQl9TSFBSX1BSSV9OM19Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBTQ0JfU0hQUl9QUklfTjNfUG9zKSAgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIFNDQl9TSFBSX1BSSV9OMyAgICAgICAgICAgICAgICAgICAgIFNDQl9TSFBSX1BSSV9OM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQcmlvcml0eSBvZiBzeXN0ZW0gaGFuZGxlciA3LDExLCBhbmQgMTUuIFJlc2VydmVkLCBTVkNhbGwgYW5kIFN5c1RpY2sgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNDQl9TSENTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUQUNUICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbU1hbmFnZSBpcyBhY3RpdmUgKi8NCiNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUQUNUICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJ1c0ZhdWx0IGlzIGFjdGl2ZSAqLw0KI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRBQ1QgICAgICAgICAgICAgICAoMHgwMDAwMDAwOFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgVXNhZ2VGYXVsdCBpcyBhY3RpdmUgKi8NCiNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTEFDVCAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNWQ2FsbCBpcyBhY3RpdmUgKi8NCiNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1QgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1vbml0b3IgaXMgYWN0aXZlICovDQojZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1QgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kU1YgaXMgYWN0aXZlICovDQojZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUICAgICAgICAgICAgICAgICgweDAwMDAwODAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIGlzIGFjdGl2ZSAqLw0KI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERUQgICAgICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgVXNhZ2UgRmF1bHQgaXMgcGVuZGVkICovDQojZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVFBFTkRFRCAgICAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1NYW5hZ2UgaXMgcGVuZGVkICovDQojZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRCAgICAgICAgICAgICgweDAwMDA0MDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBCdXMgRmF1bHQgaXMgcGVuZGVkICovDQojZGVmaW5lIFNDQl9TSENTUl9TVkNBTExQRU5ERUQgICAgICAgICAgICAgICgweDAwMDA4MDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBTVkNhbGwgaXMgcGVuZGVkICovDQojZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQSAgICAgICAgICAgICAgICgweDAwMDEwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1NYW5hZ2UgZW5hYmxlICovDQojZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEVOQSAgICAgICAgICAgICAgICgweDAwMDIwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBCdXMgRmF1bHQgZW5hYmxlICovDQojZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVEVOQSAgICAgICAgICAgICAgICgweDAwMDQwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBVc2FnZUZhdWx0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNDQl9DRlNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KLyohPCBNRlNSICovDQojZGVmaW5lIFNDQl9DRlNSX0lBQ0NWSU9MX1BvcyAgICAgICAgICAgICAgKFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgKyAwVSkgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBJQUNDVklPTCBQb3NpdGlvbiAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTF9Nc2sgICAgICAgICAgICAgICgxVUwgLyo8PCBTQ0JfQ0ZTUl9JQUNDVklPTF9Qb3MqLykgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogSUFDQ1ZJT0wgTWFzayAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9JQUNDVklPTCAgICAgICAgICAgICAgICAgICBTQ0JfQ0ZTUl9JQUNDVklPTF9Nc2sgICAgICAgICAgICAgIC8qITwgSW5zdHJ1Y3Rpb24gYWNjZXNzIHZpb2xhdGlvbiAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9EQUNDVklPTF9Qb3MgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgMVUpICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogREFDQ1ZJT0wgUG9zaXRpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfREFDQ1ZJT0xfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0RBQ0NWSU9MX1BvcykgICAgICAvKiE8IFNDQiBDRlNSIChNTUZTUik6IERBQ0NWSU9MIE1hc2sgKi8NCiNkZWZpbmUgU0NCX0NGU1JfREFDQ1ZJT0wgICAgICAgICAgICAgICAgICAgU0NCX0NGU1JfREFDQ1ZJT0xfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgYWNjZXNzIHZpb2xhdGlvbiAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlJfUG9zICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgM1UpICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVVOU1RLRVJSIFBvc2l0aW9uICovDQojZGVmaW5lIFNDQl9DRlNSX01VTlNUS0VSUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NVU5TVEtFUlJfUG9zKSAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNVU5TVEtFUlIgTWFzayAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9NVU5TVEtFUlIgICAgICAgICAgICAgICAgICBTQ0JfQ0ZTUl9NVU5TVEtFUlJfTXNrICAgICAgICAgICAgIC8qITwgVW5zdGFja2luZyBlcnJvciAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgNFUpICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVNUS0VSUiBQb3NpdGlvbiAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9NU1RLRVJSX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfTVNUS0VSUl9Qb3MpICAgICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTVNUS0VSUiBNYXNrICovDQojZGVmaW5lIFNDQl9DRlNSX01TVEtFUlIgICAgICAgICAgICAgICAgICAgIFNDQl9DRlNSX01TVEtFUlJfTXNrICAgICAgICAgICAgICAgLyohPCBTdGFja2luZyBlcnJvciAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9NTUFSVkFMSURfUG9zICAgICAgICAgICAgIChTQ0JfU0hDU1JfTUVNRkFVTFRBQ1RfUG9zICsgN1UpICAgIC8qITwgU0NCIENGU1IgKE1NRlNSKTogTU1BUlZBTElEIFBvc2l0aW9uICovDQojZGVmaW5lIFNDQl9DRlNSX01NQVJWQUxJRF9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9NTUFSVkFMSURfUG9zKSAgICAgLyohPCBTQ0IgQ0ZTUiAoTU1GU1IpOiBNTUFSVkFMSUQgTWFzayAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9NTUFSVkFMSUQgICAgICAgICAgICAgICAgICBTQ0JfQ0ZTUl9NTUFSVkFMSURfTXNrICAgICAgICAgICAgIC8qITwgTWVtb3J5IE1hbmFnZSBBZGRyZXNzIFJlZ2lzdGVyIGFkZHJlc3MgdmFsaWQgZmxhZyAqLw0KLyohPCBCRlNSICovDQojZGVmaW5lIFNDQl9DRlNSX0lCVVNFUlJfUG9zICAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAwVSkgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IElCVVNFUlIgUG9zaXRpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfSUJVU0VSUl9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSUJVU0VSUl9Qb3MpICAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSUJVU0VSUiBNYXNrICovDQojZGVmaW5lIFNDQl9DRlNSX0lCVVNFUlIgICAgICAgICAgICAgICAgICAgIFNDQl9DRlNSX0lCVVNFUlJfTXNrICAgICAgICAgICAgICAgLyohPCBJbnN0cnVjdGlvbiBidXMgZXJyb3IgZmxhZyAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9QUkVDSVNFUlJfUG9zICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgMVUpICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBQUkVDSVNFUlIgUG9zaXRpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfUFJFQ0lTRVJSX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfUFJFQ0lTRVJSX1BvcykgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogUFJFQ0lTRVJSIE1hc2sgKi8NCiNkZWZpbmUgU0NCX0NGU1JfUFJFQ0lTRVJSICAgICAgICAgICAgICAgICAgU0NCX0NGU1JfUFJFQ0lTRVJSX01zayAgICAgICAgICAgICAvKiE8IFByZWNpc2UgZGF0YSBidXMgZXJyb3IgKi8NCiNkZWZpbmUgU0NCX0NGU1JfSU1QUkVDSVNFUlJfUG9zICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDJVKSAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSU1QUkVDSVNFUlIgUG9zaXRpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfSU1QUkVDSVNFUlJfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU1QUkVDSVNFUlJfUG9zKSAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogSU1QUkVDSVNFUlIgTWFzayAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUiAgICAgICAgICAgICAgICBTQ0JfQ0ZTUl9JTVBSRUNJU0VSUl9Nc2sgICAgICAgICAgIC8qITwgSW1wcmVjaXNlIGRhdGEgYnVzIGVycm9yICovDQojZGVmaW5lIFNDQl9DRlNSX1VOU1RLRVJSX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfQlVTRkFVTFRTUl9Qb3MgKyAzVSkgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFVOU1RLRVJSIFBvc2l0aW9uICovDQojZGVmaW5lIFNDQl9DRlNSX1VOU1RLRVJSX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOU1RLRVJSX1BvcykgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFVOU1RLRVJSIE1hc2sgKi8NCiNkZWZpbmUgU0NCX0NGU1JfVU5TVEtFUlIgICAgICAgICAgICAgICAgICAgU0NCX0NGU1JfVU5TVEtFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFVuc3RhY2tpbmcgZXJyb3IgKi8NCiNkZWZpbmUgU0NCX0NGU1JfU1RLRVJSX1BvcyAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcyArIDRVKSAgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogU1RLRVJSIFBvc2l0aW9uICovDQojZGVmaW5lIFNDQl9DRlNSX1NUS0VSUl9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1NUS0VSUl9Qb3MpICAgICAgICAgLyohPCBTQ0IgQ0ZTUiAoQkZTUik6IFNUS0VSUiBNYXNrICovDQojZGVmaW5lIFNDQl9DRlNSX1NUS0VSUiAgICAgICAgICAgICAgICAgICAgIFNDQl9DRlNSX1NUS0VSUl9Nc2sgICAgICAgICAgICAgICAgLyohPCBTdGFja2luZyBlcnJvciAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9CRkFSVkFMSURfUG9zICAgICAgICAgICAgKFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICsgN1UpICAgICAgIC8qITwgU0NCIENGU1IgKEJGU1IpOiBCRkFSVkFMSUQgUG9zaXRpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfQkZBUlZBTElEX1BvcykgICAgICAvKiE8IFNDQiBDRlNSIChCRlNSKTogQkZBUlZBTElEIE1hc2sgKi8NCiNkZWZpbmUgU0NCX0NGU1JfQkZBUlZBTElEICAgICAgICAgICAgICAgICAgU0NCX0NGU1JfQkZBUlZBTElEX01zayAgICAgICAgICAgICAvKiE8IEJ1cyBGYXVsdCBBZGRyZXNzIFJlZ2lzdGVyIGFkZHJlc3MgdmFsaWQgZmxhZyAqLw0KLyohPCBVRlNSICovDQojZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFJfUG9zICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAwVSkgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOREVGSU5TVFIgUG9zaXRpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfVU5ERUZJTlNUUl9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfVU5ERUZJTlNUUl9Qb3MpICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5ERUZJTlNUUiBNYXNrICovDQojZGVmaW5lIFNDQl9DRlNSX1VOREVGSU5TVFIgICAgICAgICAgICAgICAgIFNDQl9DRlNSX1VOREVGSU5TVFJfTXNrICAgICAgICAgICAgLyohPCBUaGUgcHJvY2Vzc29yIGF0dGVtcHQgdG8gZXhjZWN1dGUgYW4gdW5kZWZpbmVkIGluc3RydWN0aW9uICovDQojZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX1BvcyAgICAgICAgICAgICAoU0NCX0NGU1JfVVNHRkFVTFRTUl9Qb3MgKyAxVSkgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlNUQVRFIFBvc2l0aW9uICovDQojZGVmaW5lIFNDQl9DRlNSX0lOVlNUQVRFX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0lOVlNUQVRFX1BvcykgICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IElOVlNUQVRFIE1hc2sgKi8NCiNkZWZpbmUgU0NCX0NGU1JfSU5WU1RBVEUgICAgICAgICAgICAgICAgICAgU0NCX0NGU1JfSU5WU1RBVEVfTXNrICAgICAgICAgICAgICAvKiE8IEludmFsaWQgY29tYmluYXRpb24gb2YgRVBTUiBhbmQgaW5zdHJ1Y3Rpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfSU5WUENfUG9zICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDJVKSAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WUEMgUG9zaXRpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfSU5WUENfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0NGU1JfSU5WUENfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogSU5WUEMgTWFzayAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9JTlZQQyAgICAgICAgICAgICAgICAgICAgICBTQ0JfQ0ZTUl9JTlZQQ19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQXR0ZW1wdCB0byBsb2FkIEVYQ19SRVRVUk4gaW50byBwYyBpbGxlZ2FsbHkgKi8NCiNkZWZpbmUgU0NCX0NGU1JfTk9DUF9Qb3MgICAgICAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDNVKSAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogTk9DUCBQb3NpdGlvbiAqLw0KI2RlZmluZSBTQ0JfQ0ZTUl9OT0NQX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0ZTUl9OT0NQX1BvcykgICAgICAgICAgIC8qITwgU0NCIENGU1IgKFVGU1IpOiBOT0NQIE1hc2sgKi8NCiNkZWZpbmUgU0NCX0NGU1JfTk9DUCAgICAgICAgICAgICAgICAgICAgICAgU0NCX0NGU1JfTk9DUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEF0dGVtcHQgdG8gdXNlIGEgY29wcm9jZXNzb3IgaW5zdHJ1Y3Rpb24gKi8NCiNkZWZpbmUgU0NCX0NGU1JfVU5BTElHTkVEX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDhVKSAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogVU5BTElHTkVEIFBvc2l0aW9uICovDQojZGVmaW5lIFNDQl9DRlNSX1VOQUxJR05FRF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX1VOQUxJR05FRF9Qb3MpICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IFVOQUxJR05FRCBNYXNrICovDQojZGVmaW5lIFNDQl9DRlNSX1VOQUxJR05FRCAgICAgICAgICAgICAgICAgIFNDQl9DRlNSX1VOQUxJR05FRF9Nc2sgICAgICAgICAgICAgLyohPCBGYXVsdCBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBhdHRlbXB0IHRvIG1ha2UgYW4gdW5hbGlnbmVkIG1lbW9yeSBhY2Nlc3MgKi8NCiNkZWZpbmUgU0NCX0NGU1JfRElWQllaRVJPX1BvcyAgICAgICAgICAgIChTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyArIDlVKSAgICAgICAvKiE8IFNDQiBDRlNSIChVRlNSKTogRElWQllaRVJPIFBvc2l0aW9uICovDQojZGVmaW5lIFNDQl9DRlNSX0RJVkJZWkVST19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9DRlNSX0RJVkJZWkVST19Qb3MpICAgICAgLyohPCBTQ0IgQ0ZTUiAoVUZTUik6IERJVkJZWkVSTyBNYXNrICovDQojZGVmaW5lIFNDQl9DRlNSX0RJVkJZWkVSTyAgICAgICAgICAgICAgICAgIFNDQl9DRlNSX0RJVkJZWkVST19Nc2sgICAgICAgICAgICAgLyohPCBGYXVsdCBvY2N1cnMgd2hlbiBTRElWIG9yIERJViBpbnN0cnVjdGlvbiBpcyB1c2VkIHdpdGggYSBkaXZpc29yIG9mIDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTQ0JfSEZTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0NCX0hGU1JfVkVDVFRCTCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZhdWx0IG9jY3VyZXMgYmVjYXVzZSBvZiB2ZWN0b3IgdGFibGUgcmVhZCBvbiBleGNlcHRpb24gcHJvY2Vzc2luZyAqLw0KI2RlZmluZSBTQ0JfSEZTUl9GT1JDRUQgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSGFyZCBGYXVsdCBhY3RpdmF0ZWQgd2hlbiBhIGNvbmZpZ3VyYWJsZSBGYXVsdCB3YXMgcmVjZWl2ZWQgYW5kIGNhbm5vdCBhY3RpdmF0ZSAqLw0KI2RlZmluZSBTQ0JfSEZTUl9ERUJVR0VWVCAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmF1bHQgcmVsYXRlZCB0byBkZWJ1ZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNDQl9ERlNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTQ0JfREZTUl9IQUxURUQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMVUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSGFsdCByZXF1ZXN0IGZsYWcgKi8NCiNkZWZpbmUgU0NCX0RGU1JfQktQVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJLUFQgZmxhZyAqLw0KI2RlZmluZSBTQ0JfREZTUl9EV1RUUkFQICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSAoRFdUKSBmbGFnICovDQojZGVmaW5lIFNDQl9ERlNSX1ZDQVRDSCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkgICAgICAgICAgICAgICAgICAgICAgLyohPCBWZWN0b3IgY2F0Y2ggZmxhZyAqLw0KI2RlZmluZSBTQ0JfREZTUl9FWFRFUk5BTCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUpICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgZGVidWcgcmVxdWVzdCBmbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0NCX01NRkFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNDQl9NTUZBUl9BRERSRVNTX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNDQl9NTUZBUl9BRERSRVNTX01zayAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTQ0JfTU1GQVJfQUREUkVTU19Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTQ0JfTU1GQVJfQUREUkVTUyAgICAgICAgICAgICAgICAgICBTQ0JfTU1GQVJfQUREUkVTU19Nc2sgICAgICAgICAgICAgIC8qITwgTWVtIE1hbmFnZSBmYXVsdCBhZGRyZXNzIGZpZWxkICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0NCX0JGQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNDQl9CRkFSX0FERFJFU1NfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNDQl9CRkFSX0FERFJFU1NfTXNrICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTQ0JfQkZBUl9BRERSRVNTX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNDQl9CRkFSX0FERFJFU1MgICAgICAgICAgICAgICAgICAgIFNDQl9CRkFSX0FERFJFU1NfTXNrICAgICAgICAgICAgICAgLyohPCBCdXMgZmF1bHQgYWRkcmVzcyBmaWVsZCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNDQl9hZnNyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTQ0JfQUZTUl9JTVBERUZfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTQ0JfQUZTUl9JTVBERUZfTXNrICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0NCX0FGU1JfSU1QREVGX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNDQl9BRlNSX0lNUERFRiAgICAgICAgICAgICAgICAgICAgIFNDQl9BRlNSX0lNUERFRl9Nc2sgICAgICAgICAgICAgICAgLyohPCBJbXBsZW1lbnRhdGlvbiBkZWZpbmVkICovDQovKioNCiAgKiBAfQ0KICAqLw0KDQogLyoqDQogICogQH0NCiAgKi8gDQovKiogQGFkZHRvZ3JvdXAgRXhwb3J0ZWRfbWFjcm8NCiAgKiBAew0KICAqLw0KICAgICAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEFEQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19BRENfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBBREMxKQ0KDQojZGVmaW5lIElTX0FEQ19DT01NT05fSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IEFEQzFfQ09NTU9OKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ09NUCBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19DT01QX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IENPTVAxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gQ09NUDIpKQ0KDQojZGVmaW5lIElTX0NPTVBfQ09NTU9OX0lOU1RBTkNFKENPTU1PTl9JTlNUQU5DRSkgKChDT01NT05fSU5TVEFOQ0UpID09IENPTVAxMl9DT01NT04pDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ1JDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0NSQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IENSQykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBEQUMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfREFDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gREFDKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIERNQSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19ETUFfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNCkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNykpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gR1BJT0EpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPQikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9DKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0QpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPSCkpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gQWx0ZXJuYXRlIEZ1bmN0aW9uIEluc3RhbmNlcyAqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fQUZfSU5TVEFOQ0UoSU5TVEFOQ0UpIElTX0dQSU9fQUxMX0lOU1RBTkNFKElOU1RBTkNFKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHUElPIExvY2sgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogT24gTDEsIGFsbCBHUElPIEJhbmsgc3VwcG9ydCB0aGUgTG9jayBtZWNoYW5pc20gKi8NCiNkZWZpbmUgSVNfR1BJT19MT0NLX0lOU1RBTkNFKElOU1RBTkNFKSBJU19HUElPX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEkyQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfSTJDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEkyQzEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEkyQzIpKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNNQlVTIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TTUJVU19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpIElTX0kyQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogSVdERyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0lXREdfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgKChJTlNUQU5DRSkgPT0gSVdERykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBSVEMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfUlRDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IFJUQykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNQSSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfU1BJX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFNQSTEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFNQSTIpKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFRJTSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLyANCg0KI2RlZmluZSBJU19USU1fSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU02KSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTcpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNOSkgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0xMCkgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTExKSkNCg0KI2RlZmluZSBJU19USU1fQ0MxX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVElNMikgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNOSkgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTEwKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0xMSkpDQoNCiNkZWZpbmUgSVNfVElNX0NDMl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFRJTTIpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNCkgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTkpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzNfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMykgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMykgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFRJTTIpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTkpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFRJTTIpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTkpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTEwKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTExKSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfVElYX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVElNMikgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNOSkpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0lUUlhfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNCkgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU05KSkNCg0KI2RlZmluZSBJU19USU1fT0NYUkVGX0NMRUFSX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVElNMikgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fWE9SX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVElNMikgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fTUFTVEVSX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVElNMikgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNikgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTcpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU05KSkNCg0KI2RlZmluZSBJU19USU1fU0xBVkVfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU05KSkNCg0KI2RlZmluZSBJU19USU1fRE1BQlVSU1RfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fQ0NYX0lOU1RBTkNFKElOU1RBTkNFLCBDSEFOTkVMKSBcDQogICAgKCgoKElOU1RBTkNFKSA9PSBUSU0yKSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0zKSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU00KSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU05KSAmJiAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8yKSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMTApICYmICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMTEpICYmICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSkpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS19ESVZJU0lPTl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFRJTTIpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTkpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTEwKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTExKSkNCg0KI2RlZmluZSBJU19USU1fRE1BX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNikgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNykpDQogICAgDQojZGVmaW5lIElTX1RJTV9ETUFfQ0NfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMykgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9DT1VOVEVSX01PREVfU0VMRUNUX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fRU5DT0RFUl9JTlRFUkZBQ0VfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fUkVNQVBfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU05KSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTEwKSAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMTEpKQ0KDQovKioqKioqKioqKioqKioqKioqKiogVVNBUlQgSW5zdGFuY2VzIDogU3luY2hyb25vdXMgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVNfVVNBUlRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBBc3luY2hyb25vdXMgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEhhbGYtRHVwbGV4IG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9IQUxGRFVQTEVYX0lOU1RBTkNFKElOU1RBTkNFKSAgICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBMSU4gbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0xJTl9JTlNUQU5DRShJTlNUQU5DRSkgICAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpIA0KDQovKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFyZHdhcmUgRmxvdyBjb250cm9sICoqKioqKioqKioqKioqKioqKioqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VQVJUX0hXRkxPV19JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBTbWFyZCBjYXJkIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NNQVJUQ0FSRF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSVJEQSBtb2RlICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfSVJEQV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBNdWx0aS1Qcm9jZXNzb3IgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX01VTFRJUFJPQ0VTU09SX0lOU1RBTkNFKElOU1RBTkNFKSAgICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpIA0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFdXREcgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19XV0RHX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IFdXREcpDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMQ0QgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19MQ0RfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBMQ0QpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVVNCIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVVNCX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gVVNCKQ0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogIEZvciBhIHBhaW5sZXNzIGNvZGVzIG1pZ3JhdGlvbiBiZXR3ZWVuIHRoZSBTVE0zMkwxeHggZGV2aWNlIHByb2R1Y3QgICAgICAgKi8NCi8qICBsaW5lcywgdGhlIGFsaWFzZXMgZGVmaW5lZCBiZWxvdyBhcmUgcHV0IGluIHBsYWNlIHRvIG92ZXJjb21lIHRoZSAgICAgICAgICovDQovKiAgZGlmZmVyZW5jZXMgaW4gdGhlIGludGVycnVwdCBoYW5kbGVycyBhbmQgSVJRbiBkZWZpbml0aW9ucy4gICAgICAgICAgICAgICAqLw0KLyogIE5vIG5lZWQgdG8gdXBkYXRlIGRldmVsb3BlZCBpbnRlcnJ1cHQgY29kZSB3aGVuIG1vdmluZyBhY3Jvc3MgICAgICAgICAgICAgKi8gDQovKiAgcHJvZHVjdCBsaW5lcyB3aXRoaW4gdGhlIHNhbWUgU1RNMzJMMSBGYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyogQWxpYXNlcyBmb3IgX19JUlFuICovDQoNCi8qIEFsaWFzZXMgZm9yIF9fSVJRSGFuZGxlciAqLw0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQojaWZkZWYgX19jcGx1c3BsdXMNCn0NCiNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLw0KDQojZW5kaWYgLyogX19TVE0zMkwxMDB4Ql9IICovDQoNCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLw0K