From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v4 01/26] xen/public: Export cpu featureset information in the public API Date: Wed, 23 Mar 2016 16:36:04 +0000 Message-ID: <1458750989-28967-2-git-send-email-andrew.cooper3@citrix.com> References: <1458750989-28967-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458750989-28967-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org Rm9yIHRoZSBmZWF0dXJlc2V0IHRvIGJlIGEgdXNlZnVsIG9iamVjdCwgaXQgbmVlZHMgYSBzdGFi bGUgaW50ZXJwcmV0YXRpb24sIGEKcHJvcGVydHkgd2hpY2ggaXMgbWlzc2luZyBmcm9tIHRoZSBj dXJyZW50IGh3X2NhcHMgaW50ZXJmYWNlLgoKQWRkaXRpb25seSwgaW50cm9kdWNlIFRTQ19BREpV U1QsIEZEUF9FWENQX09OTFksIFNIQSwgUFJFRkVUQ0hXVDEsIElUU0MsIEVGUk8KYW5kIENMWkVS TyB3aGljaCB3aWxsIGJlIHVzZWQgYnkgbGF0ZXIgY2hhbmdlcy4KClRvIG1haW50YWluIGNvbXBp bGF0aW9uLCBGU0NBUElOVFMgaXMgY3VycmVudGx5IGhhcmRjb2RlZCBhdCA5LiAgRnV0dXJlCmNo YW5nZXMgd2lsbCBjaGFuZ2UgdGhpcyB0byBiZWluZyBkeW5hbWljYWxseSBnZW5lcmF0ZWQuCgpT aWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgot LS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFRpbSBEZWVnYW4gPHRp bUB4ZW4ub3JnPgoKdjI6CiAqIFJlYmFzZSBvdmVyIHVwc3RyZWFtIGNoYW5nZXMKICogQ29sbGVj dCBhbGwgZmVhdHVyZSBpbnRyb2R1Y3Rpb25zIGZyb20gbGF0ZXIgaW4gdGhlIHNlcmllcwogKiBS ZXN0cmljdCBBUEkgdG8gWGVuIGFuZCB0b29sc3RhY2sKdjM6CiAqIEFsbG93IHRoZSBjb25zdGFu dHMgdG8gYmUgaW4gYSBuYW1lc3BhY2Ugb2YgdGhlIGluY2x1ZGVycyBjaG9vc2luZy4KICogQWRk IEZEUF9FWENQX09OTFkKdjQ6CiAqIE1hZ2ljIGJsb2NrcyBpbiBuZXcgZmlsZS4KICogUmVtb3Zl IGRlZmF1bHQgQVNNIHN1cHBvcnQuCiAqIFJlbnVtYmVyIHRoZSBzeW50aGV0aWMgdmFsdWVzIGZy b20gMC4KLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaCAgICAgICAgICAgIHwg MTUyICsrLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXNl dC5oICAgICAgICAgfCAgMzIgKysrKwogeGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZl YXR1cmVzZXQuaCB8IDIyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNo YW5nZWQsIDI3MyBpbnNlcnRpb25zKCspLCAxMzkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx MDA2NDQgeGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlc2V0LmgKIGNyZWF0ZSBtb2RlIDEw MDY0NCB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCgpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmggYi94ZW4vaW5jbHVkZS9hc20t eDg2L2NwdWZlYXR1cmUuaAppbmRleCAxYmFjNTYyLi5hMDQ0NjE2IDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2Nw dWZlYXR1cmUuaApAQCAtMTAsMTQ4ICsxMCwyMiBAQAogI2VuZGlmCiAKICNpbmNsdWRlIDx4ZW4v Y29uc3QuaD4KKyNpbmNsdWRlIDxhc20vY3B1ZmVhdHVyZXNldC5oPgogCi0jZGVmaW5lIE5DQVBJ TlRTCTkJLyogTiAzMi1iaXQgd29yZHMgd29ydGggb2YgaW5mbyAqLworI2RlZmluZSBGU0NBUElO VFMgOQorI2RlZmluZSBOQ0FQSU5UUyAoRlNDQVBJTlRTICsgMSkgLyogTiAzMi1iaXQgd29yZHMg d29ydGggb2YgaW5mbyAqLwogCi0vKiBJbnRlbC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQg bGV2ZWwgMHgwMDAwMDAwMSAoZWR4KSwgd29yZCAwICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX0ZQ VQkJKDAqMzIrIDApIC8qIE9uYm9hcmQgRlBVICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1ZNRQkJ KDAqMzIrIDEpIC8qIFZpcnR1YWwgTW9kZSBFeHRlbnNpb25zICovCi0jZGVmaW5lIFg4Nl9GRUFU VVJFX0RFCQkoMCozMisgMikgLyogRGVidWdnaW5nIEV4dGVuc2lvbnMgKi8KLSNkZWZpbmUgWDg2 X0ZFQVRVUkVfUFNFIAkoMCozMisgMykgLyogUGFnZSBTaXplIEV4dGVuc2lvbnMgKi8KLSNkZWZp bmUgWDg2X0ZFQVRVUkVfVFNDCQkoMCozMisgNCkgLyogVGltZSBTdGFtcCBDb3VudGVyICovCi0j ZGVmaW5lIFg4Nl9GRUFUVVJFX01TUgkJKDAqMzIrIDUpIC8qIE1vZGVsLVNwZWNpZmljIFJlZ2lz dGVycywgUkRNU1IsIFdSTVNSICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1BBRQkJKDAqMzIrIDYp IC8qIFBoeXNpY2FsIEFkZHJlc3MgRXh0ZW5zaW9ucyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9N Q0UJCSgwKjMyKyA3KSAvKiBNYWNoaW5lIENoZWNrIEFyY2hpdGVjdHVyZSAqLwotI2RlZmluZSBY ODZfRkVBVFVSRV9DWDgJCSgwKjMyKyA4KSAvKiBDTVBYQ0hHOCBpbnN0cnVjdGlvbiAqLwotI2Rl ZmluZSBYODZfRkVBVFVSRV9BUElDCSgwKjMyKyA5KSAvKiBPbmJvYXJkIEFQSUMgKi8KLSNkZWZp bmUgWDg2X0ZFQVRVUkVfU0VQCQkoMCozMisxMSkgLyogU1lTRU5URVIvU1lTRVhJVCAqLwotI2Rl ZmluZSBYODZfRkVBVFVSRV9NVFJSCSgwKjMyKzEyKSAvKiBNZW1vcnkgVHlwZSBSYW5nZSBSZWdp c3RlcnMgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfUEdFCQkoMCozMisxMykgLyogUGFnZSBHbG9i YWwgRW5hYmxlICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX01DQQkJKDAqMzIrMTQpIC8qIE1hY2hp bmUgQ2hlY2sgQXJjaGl0ZWN0dXJlICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX0NNT1YJKDAqMzIr MTUpIC8qIENNT1YgaW5zdHJ1Y3Rpb24gKEZDTU9WQ0MgYW5kIEZDT01JIHRvbyBpZiBGUFUgcHJl c2VudCkgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfUEFUCQkoMCozMisxNikgLyogUGFnZSBBdHRy aWJ1dGUgVGFibGUgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfUFNFMzYJKDAqMzIrMTcpIC8qIDM2 LWJpdCBQU0VzICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX0NMRkxVU0gJKDAqMzIrMTkpIC8qIFN1 cHBvcnRzIHRoZSBDTEZMVVNIIGluc3RydWN0aW9uICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX0RT CQkoMCozMisyMSkgLyogRGVidWcgU3RvcmUgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfQUNQSQko MCozMisyMikgLyogQUNQSSB2aWEgTVNSICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX01NWAkJKDAq MzIrMjMpIC8qIE11bHRpbWVkaWEgRXh0ZW5zaW9ucyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9G WFNSCSgwKjMyKzI0KSAvKiBGWFNBVkUgYW5kIEZYUlNUT1IgaW5zdHJ1Y3Rpb25zIChmYXN0IHNh dmUgYW5kIHJlc3RvcmUgKi8KLQkJCQkgICAgICAgICAgLyogb2YgRlBVIGNvbnRleHQpLCBhbmQg Q1I0Lk9TRlhTUiBhdmFpbGFibGUgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfU1NFCQkoMCozMisy NSkgLyogU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9T U0UyCSgwKjMyKzI2KSAvKiBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTIgKi8KLSNkZWZpbmUg WDg2X0ZFQVRVUkVfSFRUCQkoMCozMisyOCkgLyogSHlwZXItVGhyZWFkaW5nIFRlY2hub2xvZ3kg Ki8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfVE0xCQkoMCozMisyOSkgLyogVGhlcm1hbCBNb25pdG9y IDEgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfUEJFCQkoMCozMiszMSkgLyogUGVuZGluZyBCcmVh ayBFbmFibGUgKi8KLQotLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAw eDgwMDAwMDAxLCB3b3JkIDEgKi8KLS8qIERvbid0IGR1cGxpY2F0ZSBmZWF0dXJlIGZsYWdzIHdo aWNoIGFyZSByZWR1bmRhbnQgd2l0aCBJbnRlbCEgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfU1lT Q0FMTAkoMSozMisxMSkgLyogU1lTQ0FMTC9TWVNSRVQgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVf TlgJCSgxKjMyKzIwKSAvKiBFeGVjdXRlIERpc2FibGUgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVf TU1YRVhUCSgxKjMyKzIyKSAvKiBBTUQgTU1YIGV4dGVuc2lvbnMgKi8KLSNkZWZpbmUgWDg2X0ZF QVRVUkVfRkZYU1IgICAgICAgKDEqMzIrMjUpIC8qIEZGWFNSIGluc3RydWN0aW9uIG9wdGltaXph dGlvbnMgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfUEFHRTFHQgkoMSozMisyNikgLyogMUdiIGxh cmdlIHBhZ2Ugc3VwcG9ydCAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9SRFRTQ1AJKDEqMzIrMjcp IC8qIFJEVFNDUCAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9MTQkJKDEqMzIrMjkpIC8qIExvbmcg TW9kZSAoeDg2LTY0KSAqLwotI2RlZmluZSBYODZfRkVBVFVSRV8zRE5PV0VYVAkoMSozMiszMCkg LyogQU1EIDNETm93ISBleHRlbnNpb25zICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFXzNETk9XCSgx KjMyKzMxKSAvKiAzRE5vdyEgKi8KLQotLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQ VUlEIGxldmVsIDB4MDAwMDAwMEQ6MSAoZWF4KSwgd29yZCAyICovCi0jZGVmaW5lIFg4Nl9GRUFU VVJFX1hTQVZFT1BUCSgyKjMyKyAwKSAvKiBYU0FWRU9QVCBpbnN0cnVjdGlvbi4gKi8KLSNkZWZp bmUgWDg2X0ZFQVRVUkVfWFNBVkVDCSgyKjMyKyAxKSAvKiBYU0FWRUMvWFJTVE9SQyBpbnN0cnVj dGlvbnMuICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1hHRVRCVjEJKDIqMzIrIDIpIC8qIFhHRVRC ViB3aXRoICVlY3g9MS4gKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfWFNBVkVTCSgyKjMyKyAzKSAv KiBYU0FWRVMvWFJTVE9SUyBpbnN0cnVjdGlvbnMuICovCi0KLS8qIE90aGVyIGZlYXR1cmVzLCBM aW51eC1kZWZpbmVkIG1hcHBpbmcsIHdvcmQgMyAqLworLyogT3RoZXIgZmVhdHVyZXMsIFhlbi1k ZWZpbmVkIG1hcHBpbmcuICovCiAvKiBUaGlzIHJhbmdlIGlzIHVzZWQgZm9yIGZlYXR1cmUgYml0 cyB3aGljaCBjb25mbGljdCBvciBhcmUgc3ludGhlc2l6ZWQgKi8KLSNkZWZpbmUgWDg2X0ZFQVRV UkVfQ09OU1RBTlRfVFNDICgzKjMyKyA4KSAvKiBUU0MgdGlja3MgYXQgYSBjb25zdGFudCByYXRl ICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX05PTlNUT1BfVFNDCSgzKjMyKyA5KSAvKiBUU0MgZG9l cyBub3Qgc3RvcCBpbiBDIHN0YXRlcyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9BUkFUCSgzKjMy KyAxMCkgLyogQWx3YXlzIHJ1bm5pbmcgQVBJQyB0aW1lciAqLwotI2RlZmluZSBYODZfRkVBVFVS RV9BUkNIX1BFUkZNT04gKDMqMzIrMTEpIC8qIEludGVsIEFyY2hpdGVjdHVyYWwgUGVyZk1vbiAq LwotI2RlZmluZSBYODZfRkVBVFVSRV9UU0NfUkVMSUFCTEUgKDMqMzIrMTIpIC8qIFRTQyBpcyBr bm93biB0byBiZSByZWxpYWJsZSAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9YVE9QT0xPR1kgICAg KDMqMzIrMTMpIC8qIGNwdSB0b3BvbG9neSBlbnVtIGV4dGVuc2lvbnMgKi8KLSNkZWZpbmUgWDg2 X0ZFQVRVUkVfQ1BVSURfRkFVTFRJTkcgKDMqMzIrMTQpIC8qIGNwdWlkIGZhdWx0aW5nICovCi0j ZGVmaW5lIFg4Nl9GRUFUVVJFX0NMRkxVU0hfTU9OSVRPUiAoMyozMisxNSkgLyogY2xmbHVzaCBy ZXFkIHdpdGggbW9uaXRvciAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9BUEVSRk1QRVJGICAgKDMq MzIrMTYpIC8qIEFQRVJGTVBFUkYgKi8KLQotLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMs IENQVUlEIGxldmVsIDB4MDAwMDAwMDEgKGVjeCksIHdvcmQgNCAqLwotI2RlZmluZSBYODZfRkVB VFVSRV9TU0UzCSg0KjMyKyAwKSAvKiBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTMgKi8KLSNk ZWZpbmUgWDg2X0ZFQVRVUkVfUENMTVVMUURRCSg0KjMyKyAxKSAvKiBDYXJyeS1sZXNzIG11bGl0 cGxpY2F0aW9uICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX0RURVM2NAkoNCozMisgMikgLyogNjQt Yml0IERlYnVnIFN0b3JlICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX01PTklUT1IJKDQqMzIrIDMp IC8qIE1vbml0b3IvTXdhaXQgc3VwcG9ydCAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9EU0NQTAko NCozMisgNCkgLyogQ1BMIFF1YWxpZmllZCBEZWJ1ZyBTdG9yZSAqLwotI2RlZmluZSBYODZfRkVB VFVSRV9WTVgJCSg0KjMyKyA1KSAvKiBWaXJ0dWFsIE1hY2hpbmUgRXh0ZW5zaW9ucyAqLwotI2Rl ZmluZSBYODZfRkVBVFVSRV9TTVgJCSg0KjMyKyA2KSAvKiBTYWZlciBNb2RlIEV4dGVuc2lvbnMg Ki8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfRUlTVAkoNCozMisgNykgLyogRW5oYW5jZWQgU3BlZWRT dGVwICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1RNMgkJKDQqMzIrIDgpIC8qIFRoZXJtYWwgTW9u aXRvciAyICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1NTU0UzCSg0KjMyKyA5KSAvKiBTdXBwbGVt ZW50YWwgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucy0zICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJF X0ZNQQkJKDQqMzIrMTIpIC8qIEZ1c2VkIE11bHRpcGx5IEFkZCAqLwotI2RlZmluZSBYODZfRkVB VFVSRV9DWDE2ICAgICAgICAoNCozMisxMykgLyogQ01QWENIRzE2QiAqLwotI2RlZmluZSBYODZf RkVBVFVSRV9YVFBSCSg0KjMyKzE0KSAvKiBTZW5kIFRhc2sgUHJpb3JpdHkgTWVzc2FnZXMgKi8K LSNkZWZpbmUgWDg2X0ZFQVRVUkVfUERDTQkoNCozMisxNSkgLyogUGVyZi9EZWJ1ZyBDYXBhYmls aXR5IE1TUiAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9QQ0lECSg0KjMyKzE3KSAvKiBQcm9jZXNz IENvbnRleHQgSUQgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfRENBCQkoNCozMisxOCkgLyogRGly ZWN0IENhY2hlIEFjY2VzcyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9TU0U0XzEJKDQqMzIrMTkp IC8qIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgNC4xICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJF X1NTRTRfMgkoNCozMisyMCkgLyogU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyA0LjIgKi8KLSNk ZWZpbmUgWDg2X0ZFQVRVUkVfWDJBUElDCSg0KjMyKzIxKSAvKiBFeHRlbmRlZCB4QVBJQyAqLwot I2RlZmluZSBYODZfRkVBVFVSRV9NT1ZCRQkoNCozMisyMikgLyogbW92YmUgaW5zdHJ1Y3Rpb24g Ki8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfUE9QQ05UCSg0KjMyKzIzKSAvKiBQT1BDTlQgaW5zdHJ1 Y3Rpb24gKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfVFNDX0RFQURMSU5FICg0KjMyKzI0KSAvKiAi dGR0IiBUU0MgRGVhZGxpbmUgVGltZXIgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfQUVTTkkJKDQq MzIrMjUpIC8qIEFFUyBpbnN0cnVjdGlvbnMgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfWFNBVkUJ KDQqMzIrMjYpIC8qIFhTQVZFL1hSU1RPUi9YU0VUQlYvWEdFVEJWICovCi0jZGVmaW5lIFg4Nl9G RUFUVVJFX09TWFNBVkUJKDQqMzIrMjcpIC8qIE9TWFNBVkUgKi8KLSNkZWZpbmUgWDg2X0ZFQVRV UkVfQVZYIAkoNCozMisyOCkgLyogQWR2YW5jZWQgVmVjdG9yIEV4dGVuc2lvbnMgKi8KLSNkZWZp bmUgWDg2X0ZFQVRVUkVfRjE2QyAJKDQqMzIrMjkpIC8qIEhhbGYtcHJlY2lzaW9uIGNvbnZlcnQg aW5zdHJ1Y3Rpb24gKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfUkRSQU5EIAkoNCozMiszMCkgLyog RGlnaXRhbCBSYW5kb20gTnVtYmVyIEdlbmVyYXRvciAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9I WVBFUlZJU09SCSg0KjMyKzMxKSAvKiBSdW5uaW5nIHVuZGVyIHNvbWUgaHlwZXJ2aXNvciAqLwot Ci0vKiBVTlVTRUQsIHdvcmQgNSAqLwotCi0vKiBNb3JlIGV4dGVuZGVkIEFNRCBmbGFnczogQ1BV SUQgbGV2ZWwgMHg4MDAwMDAwMSwgZWN4LCB3b3JkIDYgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVf TEFIRl9MTSAgICAgKDYqMzIrIDApIC8qIExBSEYvU0FIRiBpbiBsb25nIG1vZGUgKi8KLSNkZWZp bmUgWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWSAgKDYqMzIrIDEpIC8qIElmIHllcyBIeXBlclRocmVh ZGluZyBub3QgdmFsaWQgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfU1ZNICAgICAgICAgKDYqMzIr IDIpIC8qIFNlY3VyZSB2aXJ0dWFsIG1hY2hpbmUgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfRVhU QVBJQyAgICAgKDYqMzIrIDMpIC8qIEV4dGVuZGVkIEFQSUMgc3BhY2UgKi8KLSNkZWZpbmUgWDg2 X0ZFQVRVUkVfQ1I4X0xFR0FDWSAgKDYqMzIrIDQpIC8qIENSOCBpbiAzMi1iaXQgbW9kZSAqLwot I2RlZmluZSBYODZfRkVBVFVSRV9BQk0gICAgICAgICAoNiozMisgNSkgLyogQWR2YW5jZWQgYml0 IG1hbmlwdWxhdGlvbiAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9TU0U0QSAgICAgICAoNiozMisg NikgLyogU1NFLTRBICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX01JU0FMSUdOU1NFICg2KjMyKyA3 KSAvKiBNaXNhbGlnbmVkIFNTRSBtb2RlICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFXzNETk9XUFJF RkVUQ0ggKDYqMzIrIDgpIC8qIDNETm93IHByZWZldGNoIGluc3RydWN0aW9ucyAqLwotI2RlZmlu ZSBYODZfRkVBVFVSRV9PU1ZXICAgICAgICAoNiozMisgOSkgLyogT1MgVmlzaWJsZSBXb3JrYXJv dW5kICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX0lCUyAgICAgICAgICg2KjMyKzEwKSAvKiBJbnN0 cnVjdGlvbiBCYXNlZCBTYW1wbGluZyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9YT1AgICAgICAg ICAoNiozMisxMSkgLyogZXh0ZW5kZWQgQVZYIGluc3RydWN0aW9ucyAqLwotI2RlZmluZSBYODZf RkVBVFVSRV9TS0lOSVQgICAgICAoNiozMisxMikgLyogU0tJTklUL1NUR0kgaW5zdHJ1Y3Rpb25z ICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1dEVCAgICAgICAgICg2KjMyKzEzKSAvKiBXYXRjaGRv ZyB0aW1lciAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9MV1AgICAgICAgICAoNiozMisxNSkgLyog TGlnaHQgV2VpZ2h0IFByb2ZpbGluZyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9GTUE0ICAgICAg ICAoNiozMisxNikgLyogNCBvcGVyYW5kcyBNQUMgaW5zdHJ1Y3Rpb25zICovCi0jZGVmaW5lIFg4 Nl9GRUFUVVJFX05PREVJRF9NU1IgICg2KjMyKzE5KSAvKiBOb2RlSWQgTVNSICovCi0jZGVmaW5l IFg4Nl9GRUFUVVJFX1RCTSAgICAgICAgICg2KjMyKzIxKSAvKiB0cmFpbGluZyBiaXQgbWFuaXB1 bGF0aW9ucyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9UT1BPRVhUICAgICAoNiozMisyMikgLyog dG9wb2xvZ3kgZXh0ZW5zaW9ucyBDUFVJRCBsZWFmcyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9E QkVYVCAgICAgICAoNiozMisyNikgLyogZGF0YSBicmVha3BvaW50IGV4dGVuc2lvbiAqLwotI2Rl ZmluZSBYODZfRkVBVFVSRV9NT05JVE9SWCAgICAoNiozMisyOSkgLyogTVdBSVQgZXh0ZW5zaW9u IChNT05JVE9SWC9NV0FJVFgpICovCi0KLS8qIEludGVsLWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBD UFVJRCBsZXZlbCAweDAwMDAwMDA3OjAgKGVieCksIHdvcmQgNyAqLwotI2RlZmluZSBYODZfRkVB VFVSRV9GU0dTQkFTRQkoNyozMisgMCkgLyoge1JELFdSfXtGUyxHU31CQVNFIGluc3RydWN0aW9u cyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9CTUkxCSg3KjMyKyAzKSAvKiAxc3QgYml0IG1hbmlw dWxhdGlvbiBleHRlbnNpb25zICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX0hMRSAJKDcqMzIrIDQp IC8qIEhhcmR3YXJlIExvY2sgRWxpc2lvbiAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9BVlgyCSg3 KjMyKyA1KSAvKiBBVlgyIGluc3RydWN0aW9ucyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9TTUVQ CSg3KjMyKyA3KSAvKiBTdXBlcnZpc29yIE1vZGUgRXhlY3V0aW9uIFByb3RlY3Rpb24gKi8KLSNk ZWZpbmUgWDg2X0ZFQVRVUkVfQk1JMgkoNyozMisgOCkgLyogMm5kIGJpdCBtYW5pcHVsYXRpb24g ZXh0ZW5zaW9ucyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9FUk1TCSg3KjMyKyA5KSAvKiBFbmhh bmNlZCBSRVAgTU9WU0IvU1RPU0IgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfSU5WUENJRAkoNyoz MisxMCkgLyogSW52YWxpZGF0ZSBQcm9jZXNzIENvbnRleHQgSUQgKi8KLSNkZWZpbmUgWDg2X0ZF QVRVUkVfUlRNIAkoNyozMisxMSkgLyogUmVzdHJpY3RlZCBUcmFuc2FjdGlvbmFsIE1lbW9yeSAq LwotI2RlZmluZSBYODZfRkVBVFVSRV9QUU0gCSg3KjMyKzEyKSAvKiBQbGF0Zm9ybSBRb1MgTW9u aXRvcmluZyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9OT19GUFVfU0VMIAkoNyozMisxMykgLyog RlBVIENTL0RTIHN0b3JlZCBhcyB6ZXJvICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX01QWAkJKDcq MzIrMTQpIC8qIE1lbW9yeSBQcm90ZWN0aW9uIEV4dGVuc2lvbnMgKi8KLSNkZWZpbmUgWDg2X0ZF QVRVUkVfUFFFIAkoNyozMisxNSkgLyogUGxhdGZvcm0gUW9TIEVuZm9yY2VtZW50ICovCi0jZGVm aW5lIFg4Nl9GRUFUVVJFX1JEU0VFRAkoNyozMisxOCkgLyogUkRTRUVEIGluc3RydWN0aW9uICov Ci0jZGVmaW5lIFg4Nl9GRUFUVVJFX0FEWAkJKDcqMzIrMTkpIC8qIEFEQ1gsIEFET1ggaW5zdHJ1 Y3Rpb25zICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1NNQVAJKDcqMzIrMjApIC8qIFN1cGVydmlz b3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbiAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9QQ09NTUlU CSg3KjMyKzIyKSAvKiBQQ09NTUlUIGluc3RydWN0aW9uICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJF X0NMRkxVU0hPUFQJKDcqMzIrMjMpIC8qIENMRkxVU0hPUFQgaW5zdHJ1Y3Rpb24gKi8KLQotLyog SW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAwMDAwMDc6MCAoZWN4 KSwgd29yZCA4ICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1BLVQkoOCozMisgMykgLyogUHJvdGVj dGlvbiBLZXlzIGZvciBVc2Vyc3BhY2UgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfT1NQS0UJKDgq MzIrIDQpIC8qIE9TIFByb3RlY3Rpb24gS2V5cyBFbmFibGUgKi8KKyNkZWZpbmUgWDg2X0ZFQVRV UkVfQ09OU1RBTlRfVFNDCSgoRlNDQVBJTlRTKzApKjMyKyAwKSAvKiBUU0MgdGlja3MgYXQgYSBj b25zdGFudCByYXRlICovCisjZGVmaW5lIFg4Nl9GRUFUVVJFX05PTlNUT1BfVFNDCQkoKEZTQ0FQ SU5UUyswKSozMisgMSkgLyogVFNDIGRvZXMgbm90IHN0b3AgaW4gQyBzdGF0ZXMgKi8KKyNkZWZp bmUgWDg2X0ZFQVRVUkVfQVJBVAkJKChGU0NBUElOVFMrMCkqMzIrIDIpIC8qIEFsd2F5cyBydW5u aW5nIEFQSUMgdGltZXIgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfQVJDSF9QRVJGTU9OCSgoRlND QVBJTlRTKzApKjMyKyAzKSAvKiBJbnRlbCBBcmNoaXRlY3R1cmFsIFBlcmZNb24gKi8KKyNkZWZp bmUgWDg2X0ZFQVRVUkVfVFNDX1JFTElBQkxFCSgoRlNDQVBJTlRTKzApKjMyKyA0KSAvKiBUU0Mg aXMga25vd24gdG8gYmUgcmVsaWFibGUgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfWFRPUE9MT0dZ CQkoKEZTQ0FQSU5UUyswKSozMisgNSkgLyogY3B1IHRvcG9sb2d5IGVudW0gZXh0ZW5zaW9ucyAq LworI2RlZmluZSBYODZfRkVBVFVSRV9DUFVJRF9GQVVMVElORwkoKEZTQ0FQSU5UUyswKSozMisg NikgLyogY3B1aWQgZmF1bHRpbmcgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfQ0xGTFVTSF9NT05J VE9SCSgoRlNDQVBJTlRTKzApKjMyKyA3KSAvKiBjbGZsdXNoIHJlcWQgd2l0aCBtb25pdG9yICov CisjZGVmaW5lIFg4Nl9GRUFUVVJFX0FQRVJGTVBFUkYJCSgoRlNDQVBJTlRTKzApKjMyKyA4KSAv KiBBUEVSRk1QRVJGICovCiAKICNkZWZpbmUgY3B1ZmVhdF93b3JkKGlkeCkJKChpZHgpIC8gMzIp CiAjZGVmaW5lIGNwdWZlYXRfYml0KGlkeCkJKChpZHgpICUgMzIpCmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzZXQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1 ZmVhdHVyZXNldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ZWUzMmYK LS0tIC9kZXYvbnVsbAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzZXQuaApA QCAtMCwwICsxLDMyIEBACisjaWZuZGVmIF9fWEVOX1g4Nl9DUFVGRUFUVVJFU0VUX0hfXworI2Rl ZmluZSBfX1hFTl9YODZfQ1BVRkVBVFVSRVNFVF9IX18KKworI2lmbmRlZiBfX0FTU0VNQkxZX18K KworI2RlZmluZSBYRU5fQ1BVRkVBVFVSRShuYW1lLCB2YWx1ZSkgWDg2X0ZFQVRVUkVfIyNuYW1l ID0gdmFsdWUsCitlbnVtIHsKKyNpbmNsdWRlIDxwdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNl dC5oPgorI3VuZGVmIFhFTl9DUFVGRUFUVVJFCit9OworCisjZGVmaW5lIFhFTl9DUFVGRUFUVVJF KG5hbWUsIHZhbHVlKSBhc20gKCIuZXF1IFg4Nl9GRUFUVVJFXyIgI25hbWUgIiwgIiAjdmFsdWUp OworI2luY2x1ZGUgPHB1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0Lmg+CisKKyNlbHNlIC8q ICFfX0FTU0VNQkxZX18gKi8KKworI2RlZmluZSBYRU5fQ1BVRkVBVFVSRShuYW1lLCB2YWx1ZSkg LmVxdSBYODZfRkVBVFVSRV8jI25hbWUsIHZhbHVlCisjaW5jbHVkZSA8cHVibGljL2FyY2gteDg2 L2NwdWZlYXR1cmVzZXQuaD4KKworI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworCisjZW5kaWYg LyogIV9fWEVOX1g4Nl9DUFVGRUFUVVJFU0VUX0hfXyAqLworCisvKgorICogTG9jYWwgdmFyaWFi bGVzOgorICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZz ZXQ6IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6 CisgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJl c2V0LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkYTM3ZWIKLS0tIC9kZXYvbnVsbAorKysg Yi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCkBAIC0wLDAgKzEs MjI4IEBACisvKgorICogYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCisgKgorICogQ1BVIGZlYXR1 cmVzZXQgZGVmaW5pdGlvbnMKKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlz IHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdh cmUiKSwgdG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu Y2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAq IHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdo b20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhl IGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBU SEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xB SU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g T0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0Yg T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisg KiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCAy MDE2IENpdHJpeCBTeXN0ZW1zLCBJbmMuCisgKi8KKworLyoKKyAqIFRoZXJlIGFyZSB0d28gZXhw ZWN0ZWQgd2F5cyBvZiBpbmNsdWRpbmcgdGhpcyBoZWFkZXIuCisgKgorICogMSkgVGhlICJkZWZh dWx0IiBjYXNlIChleHBlY3RlZCBmcm9tIHRvb2xzIGV0YykuCisgKgorICogU2ltcGx5ICNpbmNs dWRlIDxwdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oPgorICoKKyAqIEluIHRoaXMgY2ly Y3Vtc3RhbmNlLCBub3JtYWwgaGVhZGVyIGd1YXJkcyBhcHBseSBhbmQgdGhlIGluY2x1ZGVyIHNo YWxsIGdldAorICogYW4gZW51bWVyYXRpb24gaW4gdGhlIFhFTl9YODZfRkVBVFVSRV94eHggbmFt ZXNwYWNlLgorICoKKyAqIDIpIFRoZSBzcGVjaWFsIGNhc2Ugd2hlcmUgdGhlIGluY2x1ZGVyIHBy b3ZpZGVzIFhFTl9DUFVGRUFUVVJFKCkgaW4gc2NvcGUuCisgKgorICogSW4gdGhpcyBjYXNlLCBu byBpbmNsdXNpb24gZ3VhcmRzIGFwcGx5IGFuZCB0aGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZv cgorICogdGhlaXIgWEVOX0NQVUZFQVRVUkUoKSBiZWluZyBhcHByb3ByaWF0ZSBpbiB0aGUgaW5j bHVkZWQgY29udGV4dC4KKyAqLworCisjaWZuZGVmIFhFTl9DUFVGRUFUVVJFCisKKy8qCisgKiBJ bmNsdWRlciBoYXMgbm90IHByb3ZpZGVkIGEgY3VzdG9tIFhFTl9DUFVGRUFUVVJFKCkuICBBcnJh bmdlIGZvciBub3JtYWwKKyAqIGhlYWRlciBndWFyZHMsIGFuIGVudW0gYW5kIGNvbnN0YW50cyBp biB0aGUgWEVOX1g4Nl9GRUFUVVJFX3h4eCBuYW1lc3BhY2UuCisgKi8KKyNpZm5kZWYgX19YRU5f UFVCTElDX0FSQ0hfWDg2X0NQVUZFQVRVUkVTRVRfSF9fCisjZGVmaW5lIF9fWEVOX1BVQkxJQ19B UkNIX1g4Nl9DUFVGRUFUVVJFU0VUX0hfXworCisjZGVmaW5lIFhFTl9DUFVGRUFUVVJFU0VUX0RF RkFVTFRfSU5DTFVERQorCisjZGVmaW5lIFhFTl9DUFVGRUFUVVJFKG5hbWUsIHZhbHVlKSBYRU5f WDg2X0ZFQVRVUkVfIyNuYW1lID0gdmFsdWUsCitlbnVtIHsKKworI2VuZGlmIC8qIF9fWEVOX1BV QkxJQ19BUkNIX1g4Nl9DUFVGRUFUVVJFU0VUX0hfXyAqLworI2VuZGlmIC8qICFYRU5fQ1BVRkVB VFVSRSAqLworCisKKyNpZmRlZiBYRU5fQ1BVRkVBVFVSRQorLyoKKyAqIEEgZmVhdHVyZXNldCBp cyBhIGJpdG1hcCBvZiB4ODYgZmVhdHVyZXMsIHJlcHJlc2VudGVkIGFzIGEgY29sbGVjdGlvbiBv ZgorICogMzJiaXQgd29yZHMuCisgKgorICogV29yZHMgYXJlIGFzIHNwZWNpZmllZCBpbiB2ZW5k b3JzIHByb2dyYW1taW5nIG1hbnVhbHMsIGFuZCBzaGFsbCBub3QKKyAqIGNvbnRhaW4gYW55IHN5 bnRoZXNpZWQgdmFsdWVzLiAgTmV3IHdvcmRzIG1heSBiZSBhZGRlZCB0byB0aGUgZW5kIG9mCisg KiBmZWF0dXJlc2V0LgorICoKKyAqIEFsbCBmZWF0dXJlc2V0IHdvcmRzIGN1cnJlbnRseSBvcmln aW5hdGUgZnJvbSBsZWF2ZXMgc3BlY2lmaWVkIGZvciB0aGUKKyAqIENQVUlEIGluc3RydWN0aW9u LCBidXQgdGhpcyBpcyBub3QgcHJlY2x1ZGUgb3RoZXIgc291cmNlcyBvZiBpbmZvcm1hdGlvbi4K KyAqLworCisvKiBJbnRlbC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAw MDAwMS5lZHgsIHdvcmQgMCAqLworWEVOX0NQVUZFQVRVUkUoRlBVLCAgICAgICAgICAgMCozMisg MCkgLyogICBPbmJvYXJkIEZQVSAqLworWEVOX0NQVUZFQVRVUkUoVk1FLCAgICAgICAgICAgMCoz MisgMSkgLyogICBWaXJ0dWFsIE1vZGUgRXh0ZW5zaW9ucyAqLworWEVOX0NQVUZFQVRVUkUoREUs ICAgICAgICAgICAgMCozMisgMikgLyogICBEZWJ1Z2dpbmcgRXh0ZW5zaW9ucyAqLworWEVOX0NQ VUZFQVRVUkUoUFNFLCAgICAgICAgICAgMCozMisgMykgLyogICBQYWdlIFNpemUgRXh0ZW5zaW9u cyAqLworWEVOX0NQVUZFQVRVUkUoVFNDLCAgICAgICAgICAgMCozMisgNCkgLyogICBUaW1lIFN0 YW1wIENvdW50ZXIgKi8KK1hFTl9DUFVGRUFUVVJFKE1TUiwgICAgICAgICAgIDAqMzIrIDUpIC8q ICAgTW9kZWwtU3BlY2lmaWMgUmVnaXN0ZXJzLCBSRE1TUiwgV1JNU1IgKi8KK1hFTl9DUFVGRUFU VVJFKFBBRSwgICAgICAgICAgIDAqMzIrIDYpIC8qICAgUGh5c2ljYWwgQWRkcmVzcyBFeHRlbnNp b25zICovCitYRU5fQ1BVRkVBVFVSRShNQ0UsICAgICAgICAgICAwKjMyKyA3KSAvKiAgIE1hY2hp bmUgQ2hlY2sgQXJjaGl0ZWN0dXJlICovCitYRU5fQ1BVRkVBVFVSRShDWDgsICAgICAgICAgICAw KjMyKyA4KSAvKiAgIENNUFhDSEc4IGluc3RydWN0aW9uICovCitYRU5fQ1BVRkVBVFVSRShBUElD LCAgICAgICAgICAwKjMyKyA5KSAvKiAgIE9uYm9hcmQgQVBJQyAqLworWEVOX0NQVUZFQVRVUkUo U0VQLCAgICAgICAgICAgMCozMisxMSkgLyogICBTWVNFTlRFUi9TWVNFWElUICovCitYRU5fQ1BV RkVBVFVSRShNVFJSLCAgICAgICAgICAwKjMyKzEyKSAvKiAgIE1lbW9yeSBUeXBlIFJhbmdlIFJl Z2lzdGVycyAqLworWEVOX0NQVUZFQVRVUkUoUEdFLCAgICAgICAgICAgMCozMisxMykgLyogICBQ YWdlIEdsb2JhbCBFbmFibGUgKi8KK1hFTl9DUFVGRUFUVVJFKE1DQSwgICAgICAgICAgIDAqMzIr MTQpIC8qICAgTWFjaGluZSBDaGVjayBBcmNoaXRlY3R1cmUgKi8KK1hFTl9DUFVGRUFUVVJFKENN T1YsICAgICAgICAgIDAqMzIrMTUpIC8qICAgQ01PViBpbnN0cnVjdGlvbiAoRkNNT1ZDQyBhbmQg RkNPTUkgdG9vIGlmIEZQVSBwcmVzZW50KSAqLworWEVOX0NQVUZFQVRVUkUoUEFULCAgICAgICAg ICAgMCozMisxNikgLyogICBQYWdlIEF0dHJpYnV0ZSBUYWJsZSAqLworWEVOX0NQVUZFQVRVUkUo UFNFMzYsICAgICAgICAgMCozMisxNykgLyogICAzNi1iaXQgUFNFcyAqLworWEVOX0NQVUZFQVRV UkUoQ0xGTFVTSCwgICAgICAgMCozMisxOSkgLyogICBDTEZMVVNIIGluc3RydWN0aW9uICovCitY RU5fQ1BVRkVBVFVSRShEUywgICAgICAgICAgICAwKjMyKzIxKSAvKiAgIERlYnVnIFN0b3JlICov CitYRU5fQ1BVRkVBVFVSRShBQ1BJLCAgICAgICAgICAwKjMyKzIyKSAvKiAgIEFDUEkgdmlhIE1T UiAqLworWEVOX0NQVUZFQVRVUkUoTU1YLCAgICAgICAgICAgMCozMisyMykgLyogICBNdWx0aW1l ZGlhIEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKEZYU1IsICAgICAgICAgIDAqMzIrMjQp IC8qICAgRlhTQVZFIGFuZCBGWFJTVE9SIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUo U1NFLCAgICAgICAgICAgMCozMisyNSkgLyogICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zICov CitYRU5fQ1BVRkVBVFVSRShTU0UyLCAgICAgICAgICAwKjMyKzI2KSAvKiAgIFN0cmVhbWluZyBT SU1EIEV4dGVuc2lvbnMtMiAqLworWEVOX0NQVUZFQVRVUkUoSFRULCAgICAgICAgICAgMCozMisy OCkgLyogICBIeXBlci1UaHJlYWRpbmcgVGVjaG5vbG9neSAqLworWEVOX0NQVUZFQVRVUkUoVE0x LCAgICAgICAgICAgMCozMisyOSkgLyogICBUaGVybWFsIE1vbml0b3IgMSAqLworWEVOX0NQVUZF QVRVUkUoUEJFLCAgICAgICAgICAgMCozMiszMSkgLyogICBQZW5kaW5nIEJyZWFrIEVuYWJsZSAq LworCisvKiBJbnRlbC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAwMDAw MS5lY3gsIHdvcmQgMSAqLworWEVOX0NQVUZFQVRVUkUoU1NFMywgICAgICAgICAgMSozMisgMCkg LyogICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTMgKi8KK1hFTl9DUFVGRUFUVVJFKFBDTE1V TFFEUSwgICAgIDEqMzIrIDEpIC8qICAgQ2FycnktbGVzcyBtdWxpdHBsaWNhdGlvbiAqLworWEVO X0NQVUZFQVRVUkUoRFRFUzY0LCAgICAgICAgMSozMisgMikgLyogICA2NC1iaXQgRGVidWcgU3Rv cmUgKi8KK1hFTl9DUFVGRUFUVVJFKE1PTklUT1IsICAgICAgIDEqMzIrIDMpIC8qICAgTW9uaXRv ci9Nd2FpdCBzdXBwb3J0ICovCitYRU5fQ1BVRkVBVFVSRShEU0NQTCwgICAgICAgICAxKjMyKyA0 KSAvKiAgIENQTCBRdWFsaWZpZWQgRGVidWcgU3RvcmUgKi8KK1hFTl9DUFVGRUFUVVJFKFZNWCwg ICAgICAgICAgIDEqMzIrIDUpIC8qICAgVmlydHVhbCBNYWNoaW5lIEV4dGVuc2lvbnMgKi8KK1hF Tl9DUFVGRUFUVVJFKFNNWCwgICAgICAgICAgIDEqMzIrIDYpIC8qICAgU2FmZXIgTW9kZSBFeHRl bnNpb25zICovCitYRU5fQ1BVRkVBVFVSRShFSVNULCAgICAgICAgICAxKjMyKyA3KSAvKiAgIEVu aGFuY2VkIFNwZWVkU3RlcCAqLworWEVOX0NQVUZFQVRVUkUoVE0yLCAgICAgICAgICAgMSozMisg OCkgLyogICBUaGVybWFsIE1vbml0b3IgMiAqLworWEVOX0NQVUZFQVRVUkUoU1NTRTMsICAgICAg ICAgMSozMisgOSkgLyogICBTdXBwbGVtZW50YWwgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucy0z ICovCitYRU5fQ1BVRkVBVFVSRShGTUEsICAgICAgICAgICAxKjMyKzEyKSAvKiAgIEZ1c2VkIE11 bHRpcGx5IEFkZCAqLworWEVOX0NQVUZFQVRVUkUoQ1gxNiwgICAgICAgICAgMSozMisxMykgLyog ICBDTVBYQ0hHMTZCICovCitYRU5fQ1BVRkVBVFVSRShYVFBSLCAgICAgICAgICAxKjMyKzE0KSAv KiAgIFNlbmQgVGFzayBQcmlvcml0eSBNZXNzYWdlcyAqLworWEVOX0NQVUZFQVRVUkUoUERDTSwg ICAgICAgICAgMSozMisxNSkgLyogICBQZXJmL0RlYnVnIENhcGFiaWxpdHkgTVNSICovCitYRU5f Q1BVRkVBVFVSRShQQ0lELCAgICAgICAgICAxKjMyKzE3KSAvKiAgIFByb2Nlc3MgQ29udGV4dCBJ RCAqLworWEVOX0NQVUZFQVRVUkUoRENBLCAgICAgICAgICAgMSozMisxOCkgLyogICBEaXJlY3Qg Q2FjaGUgQWNjZXNzICovCitYRU5fQ1BVRkVBVFVSRShTU0U0XzEsICAgICAgICAxKjMyKzE5KSAv KiAgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgNC4xICovCitYRU5fQ1BVRkVBVFVSRShTU0U0 XzIsICAgICAgICAxKjMyKzIwKSAvKiAgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgNC4yICov CitYRU5fQ1BVRkVBVFVSRShYMkFQSUMsICAgICAgICAxKjMyKzIxKSAvKiAgIEV4dGVuZGVkIHhB UElDICovCitYRU5fQ1BVRkVBVFVSRShNT1ZCRSwgICAgICAgICAxKjMyKzIyKSAvKiAgIG1vdmJl IGluc3RydWN0aW9uICovCitYRU5fQ1BVRkVBVFVSRShQT1BDTlQsICAgICAgICAxKjMyKzIzKSAv KiAgIFBPUENOVCBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoVFNDX0RFQURMSU5FLCAg MSozMisyNCkgLyogICBUU0MgRGVhZGxpbmUgVGltZXIgKi8KK1hFTl9DUFVGRUFUVVJFKEFFU05J LCAgICAgICAgIDEqMzIrMjUpIC8qICAgQUVTIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRV UkUoWFNBVkUsICAgICAgICAgMSozMisyNikgLyogICBYU0FWRS9YUlNUT1IvWFNFVEJWL1hHRVRC ViAqLworWEVOX0NQVUZFQVRVUkUoT1NYU0FWRSwgICAgICAgMSozMisyNykgLyogICBPU1hTQVZF ICovCitYRU5fQ1BVRkVBVFVSRShBVlgsICAgICAgICAgICAxKjMyKzI4KSAvKiAgIEFkdmFuY2Vk IFZlY3RvciBFeHRlbnNpb25zICovCitYRU5fQ1BVRkVBVFVSRShGMTZDLCAgICAgICAgICAxKjMy KzI5KSAvKiAgIEhhbGYtcHJlY2lzaW9uIGNvbnZlcnQgaW5zdHJ1Y3Rpb24gKi8KK1hFTl9DUFVG RUFUVVJFKFJEUkFORCwgICAgICAgIDEqMzIrMzApIC8qICAgRGlnaXRhbCBSYW5kb20gTnVtYmVy IEdlbmVyYXRvciAqLworWEVOX0NQVUZFQVRVUkUoSFlQRVJWSVNPUiwgICAgMSozMiszMSkgLyog ICBSdW5uaW5nIHVuZGVyIHNvbWUgaHlwZXJ2aXNvciAqLworCisvKiBBTUQtZGVmaW5lZCBDUFUg ZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4ODAwMDAwMDEuZWR4LCB3b3JkIDIgKi8KK1hFTl9DUFVG RUFUVVJFKFNZU0NBTEwsICAgICAgIDIqMzIrMTEpIC8qICAgU1lTQ0FMTC9TWVNSRVQgKi8KK1hF Tl9DUFVGRUFUVVJFKE5YLCAgICAgICAgICAgIDIqMzIrMjApIC8qICAgRXhlY3V0ZSBEaXNhYmxl ICovCitYRU5fQ1BVRkVBVFVSRShNTVhFWFQsICAgICAgICAyKjMyKzIyKSAvKiAgIEFNRCBNTVgg ZXh0ZW5zaW9ucyAqLworWEVOX0NQVUZFQVRVUkUoRkZYU1IsICAgICAgICAgMiozMisyNSkgLyog ICBGRlhTUiBpbnN0cnVjdGlvbiBvcHRpbWl6YXRpb25zICovCitYRU5fQ1BVRkVBVFVSRShQQUdF MUdCLCAgICAgICAyKjMyKzI2KSAvKiAgIDFHYiBsYXJnZSBwYWdlIHN1cHBvcnQgKi8KK1hFTl9D UFVGRUFUVVJFKFJEVFNDUCwgICAgICAgIDIqMzIrMjcpIC8qICAgUkRUU0NQICovCitYRU5fQ1BV RkVBVFVSRShMTSwgICAgICAgICAgICAyKjMyKzI5KSAvKiAgIExvbmcgTW9kZSAoeDg2LTY0KSAq LworWEVOX0NQVUZFQVRVUkUoM0ROT1dFWFQsICAgICAgMiozMiszMCkgLyogICBBTUQgM0ROb3ch IGV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKDNETk9XLCAgICAgICAgIDIqMzIrMzEpIC8q ICAgM0ROb3chICovCisKKy8qIEFNRC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwg MHg4MDAwMDAwMS5lY3gsIHdvcmQgMyAqLworWEVOX0NQVUZFQVRVUkUoTEFIRl9MTSwgICAgICAg MyozMisgMCkgLyogICBMQUhGL1NBSEYgaW4gbG9uZyBtb2RlICovCitYRU5fQ1BVRkVBVFVSRShD TVBfTEVHQUNZLCAgICAzKjMyKyAxKSAvKiAgIElmIHllcyBIeXBlclRocmVhZGluZyBub3QgdmFs aWQgKi8KK1hFTl9DUFVGRUFUVVJFKFNWTSwgICAgICAgICAgIDMqMzIrIDIpIC8qICAgU2VjdXJl IHZpcnR1YWwgbWFjaGluZSAqLworWEVOX0NQVUZFQVRVUkUoRVhUQVBJQywgICAgICAgMyozMisg MykgLyogICBFeHRlbmRlZCBBUElDIHNwYWNlICovCitYRU5fQ1BVRkVBVFVSRShDUjhfTEVHQUNZ LCAgICAzKjMyKyA0KSAvKiAgIENSOCBpbiAzMi1iaXQgbW9kZSAqLworWEVOX0NQVUZFQVRVUkUo QUJNLCAgICAgICAgICAgMyozMisgNSkgLyogICBBZHZhbmNlZCBiaXQgbWFuaXB1bGF0aW9uICov CitYRU5fQ1BVRkVBVFVSRShTU0U0QSwgICAgICAgICAzKjMyKyA2KSAvKiAgIFNTRS00QSAqLwor WEVOX0NQVUZFQVRVUkUoTUlTQUxJR05TU0UsICAgMyozMisgNykgLyogICBNaXNhbGlnbmVkIFNT RSBtb2RlICovCitYRU5fQ1BVRkVBVFVSRSgzRE5PV1BSRUZFVENILCAzKjMyKyA4KSAvKiAgIDNE Tm93IHByZWZldGNoIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoT1NWVywgICAgICAg ICAgMyozMisgOSkgLyogICBPUyBWaXNpYmxlIFdvcmthcm91bmQgKi8KK1hFTl9DUFVGRUFUVVJF KElCUywgICAgICAgICAgIDMqMzIrMTApIC8qICAgSW5zdHJ1Y3Rpb24gQmFzZWQgU2FtcGxpbmcg Ki8KK1hFTl9DUFVGRUFUVVJFKFhPUCwgICAgICAgICAgIDMqMzIrMTEpIC8qICAgZXh0ZW5kZWQg QVZYIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoU0tJTklULCAgICAgICAgMyozMisx MikgLyogICBTS0lOSVQvU1RHSSBpbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFdEVCwg ICAgICAgICAgIDMqMzIrMTMpIC8qICAgV2F0Y2hkb2cgdGltZXIgKi8KK1hFTl9DUFVGRUFUVVJF KExXUCwgICAgICAgICAgIDMqMzIrMTUpIC8qICAgTGlnaHQgV2VpZ2h0IFByb2ZpbGluZyAqLwor WEVOX0NQVUZFQVRVUkUoRk1BNCwgICAgICAgICAgMyozMisxNikgLyogICA0IG9wZXJhbmRzIE1B QyBpbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKE5PREVJRF9NU1IsICAgIDMqMzIrMTkp IC8qICAgTm9kZUlkIE1TUiAqLworWEVOX0NQVUZFQVRVUkUoVEJNLCAgICAgICAgICAgMyozMisy MSkgLyogICB0cmFpbGluZyBiaXQgbWFuaXB1bGF0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoVE9Q T0VYVCwgICAgICAgMyozMisyMikgLyogICB0b3BvbG9neSBleHRlbnNpb25zIENQVUlEIGxlYWZz ICovCitYRU5fQ1BVRkVBVFVSRShEQkVYVCwgICAgICAgICAzKjMyKzI2KSAvKiAgIGRhdGEgYnJl YWtwb2ludCBleHRlbnNpb24gKi8KK1hFTl9DUFVGRUFUVVJFKE1PTklUT1JYLCAgICAgIDMqMzIr MjkpIC8qICAgTU9OSVRPUiBleHRlbnNpb24gKE1PTklUT1JYL01XQUlUWCkgKi8KKworLyogSW50 ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAwMDAwMEQ6MS5lYXgsIHdv cmQgNCAqLworWEVOX0NQVUZFQVRVUkUoWFNBVkVPUFQsICAgICAgNCozMisgMCkgLyogICBYU0FW RU9QVCBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoWFNBVkVDLCAgICAgICAgNCozMisg MSkgLyogICBYU0FWRUMvWFJTVE9SQyBpbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFhH RVRCVjEsICAgICAgIDQqMzIrIDIpIC8qICAgWEdFVEJWIHdpdGggJWVjeD0xICovCitYRU5fQ1BV RkVBVFVSRShYU0FWRVMsICAgICAgICA0KjMyKyAzKSAvKiAgIFhTQVZFUy9YUlNUT1JTIGluc3Ry dWN0aW9ucyAqLworCisvKiBJbnRlbC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwg MHgwMDAwMDAwNzowLmVieCwgd29yZCA1ICovCitYRU5fQ1BVRkVBVFVSRShGU0dTQkFTRSwgICAg ICA1KjMyKyAwKSAvKiAgIHtSRCxXUn17RlMsR1N9QkFTRSBpbnN0cnVjdGlvbnMgKi8KK1hFTl9D UFVGRUFUVVJFKFRTQ19BREpVU1QsICAgIDUqMzIrIDEpIC8qICAgVFNDX0FESlVTVCBNU1IgYXZh aWxhYmxlICovCitYRU5fQ1BVRkVBVFVSRShCTUkxLCAgICAgICAgICA1KjMyKyAzKSAvKiAgIDFz dCBiaXQgbWFuaXB1bGF0aW9uIGV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKEhMRSwgICAg ICAgICAgIDUqMzIrIDQpIC8qICAgSGFyZHdhcmUgTG9jayBFbGlzaW9uICovCitYRU5fQ1BVRkVB VFVSRShBVlgyLCAgICAgICAgICA1KjMyKyA1KSAvKiAgIEFWWDIgaW5zdHJ1Y3Rpb25zICovCitY RU5fQ1BVRkVBVFVSRShGRFBfRVhDUF9PTkxZLCA1KjMyKyA2KSAvKiAgIHg4NyBGRFAgb25seSB1 cGRhdGVkIG9uIGV4Y2VwdGlvbi4gKi8KK1hFTl9DUFVGRUFUVVJFKFNNRVAsICAgICAgICAgIDUq MzIrIDcpIC8qICAgU3VwZXJ2aXNvciBNb2RlIEV4ZWN1dGlvbiBQcm90ZWN0aW9uICovCitYRU5f Q1BVRkVBVFVSRShCTUkyLCAgICAgICAgICA1KjMyKyA4KSAvKiAgIDJuZCBiaXQgbWFuaXB1bGF0 aW9uIGV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKEVSTVMsICAgICAgICAgIDUqMzIrIDkp IC8qICAgRW5oYW5jZWQgUkVQIE1PVlNCL1NUT1NCICovCitYRU5fQ1BVRkVBVFVSRShJTlZQQ0lE LCAgICAgICA1KjMyKzEwKSAvKiAgIEludmFsaWRhdGUgUHJvY2VzcyBDb250ZXh0IElEICovCitY RU5fQ1BVRkVBVFVSRShSVE0sICAgICAgICAgICA1KjMyKzExKSAvKiAgIFJlc3RyaWN0ZWQgVHJh bnNhY3Rpb25hbCBNZW1vcnkgKi8KK1hFTl9DUFVGRUFUVVJFKFBRTSwgICAgICAgICAgIDUqMzIr MTIpIC8qICAgUGxhdGZvcm0gUW9TIE1vbml0b3JpbmcgKi8KK1hFTl9DUFVGRUFUVVJFKE5PX0ZQ VV9TRUwsICAgIDUqMzIrMTMpIC8qICAgRlBVIENTL0RTIHN0b3JlZCBhcyB6ZXJvICovCitYRU5f Q1BVRkVBVFVSRShNUFgsICAgICAgICAgICA1KjMyKzE0KSAvKiAgIE1lbW9yeSBQcm90ZWN0aW9u IEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFBRRSwgICAgICAgICAgIDUqMzIrMTUpIC8q ICAgUGxhdGZvcm0gUW9TIEVuZm9yY2VtZW50ICovCitYRU5fQ1BVRkVBVFVSRShSRFNFRUQsICAg ICAgICA1KjMyKzE4KSAvKiAgIFJEU0VFRCBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUo QURYLCAgICAgICAgICAgNSozMisxOSkgLyogICBBRENYLCBBRE9YIGluc3RydWN0aW9ucyAqLwor WEVOX0NQVUZFQVRVUkUoU01BUCwgICAgICAgICAgNSozMisyMCkgLyogICBTdXBlcnZpc29yIE1v ZGUgQWNjZXNzIFByZXZlbnRpb24gKi8KK1hFTl9DUFVGRUFUVVJFKFBDT01NSVQsICAgICAgIDUq MzIrMjIpIC8qICAgUENPTU1JVCBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoQ0xGTFVT SE9QVCwgICAgNSozMisyMykgLyogICBDTEZMVVNIT1BUIGluc3RydWN0aW9uICovCitYRU5fQ1BV RkVBVFVSRShDTFdCLCAgICAgICAgICA1KjMyKzI0KSAvKiAgIENMV0IgaW5zdHJ1Y3Rpb24gKi8K K1hFTl9DUFVGRUFUVVJFKFNIQSwgICAgICAgICAgIDUqMzIrMjkpIC8qICAgU0hBMSAmIFNIQTI1 NiBpbnN0cnVjdGlvbnMgKi8KKworLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlE IGxldmVsIDB4MDAwMDAwMDc6MC5lY3gsIHdvcmQgNiAqLworWEVOX0NQVUZFQVRVUkUoUFJFRkVU Q0hXVDEsICAgNiozMisgMCkgLyogICBQUkVGRVRDSFdUMSBpbnN0cnVjdGlvbiAqLworWEVOX0NQ VUZFQVRVUkUoUEtVLCAgICAgICAgICAgNiozMisgMykgLyogICBQcm90ZWN0aW9uIEtleXMgZm9y IFVzZXJzcGFjZSAqLworWEVOX0NQVUZFQVRVUkUoT1NQS0UsICAgICAgICAgNiozMisgNCkgLyog ICBPUyBQcm90ZWN0aW9uIEtleXMgRW5hYmxlICovCisKKy8qIEFNRC1kZWZpbmVkIENQVSBmZWF0 dXJlcywgQ1BVSUQgbGV2ZWwgMHg4MDAwMDAwNy5lZHgsIHdvcmQgNyAqLworWEVOX0NQVUZFQVRV UkUoSVRTQywgICAgICAgICAgNyozMisgOCkgLyogICBJbnZhcmlhbnQgVFNDICovCitYRU5fQ1BV RkVBVFVSRShFRlJPLCAgICAgICAgICA3KjMyKzEwKSAvKiAgIEFQRVJGL01QRVJGIFJlYWQgT25s eSBpbnRlcmZhY2UgKi8KKworLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZl bCAweDgwMDAwMDA4LmVieCwgd29yZCA4ICovCitYRU5fQ1BVRkVBVFVSRShDTFpFUk8sICAgICAg ICA4KjMyKyAwKSAvKiAgIENMWkVSTyBpbnN0cnVjdGlvbiAqLworCisjZW5kaWYgLyogWEVOX0NQ VUZFQVRVUkUgKi8KKworLyogQ2xlYW4gdXAgZnJvbSBhIGRlZmF1bHQgaW5jbHVkZS4gIENsb3Nl IHRoZSBlbnVtIChmb3IgQykuICovCisjaWZkZWYgWEVOX0NQVUZFQVRVUkVTRVRfREVGQVVMVF9J TkNMVURFCisjdW5kZWYgWEVOX0NQVUZFQVRVUkVTRVRfREVGQVVMVF9JTkNMVURFCisjdW5kZWYg WEVOX0NQVUZFQVRVUkUKK307CisKKyNlbmRpZiAvKiBYRU5fQ1BVRkVBVFVSRVNFVF9ERUZBVUxU X0lOQ0xVREUgKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMt ZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQK KyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCi0tIAoyLjEuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==