From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v6 01/21] xen/x86: Annotate VM applicability in featureset Date: Fri, 8 Apr 2016 21:31:37 +0100 Message-ID: <1460147517-11706-2-git-send-email-andrew.cooper3@citrix.com> References: <1460147517-11706-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: <1460147517-11706-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 List-Id: xen-devel@lists.xenproject.org VXNlIGF0dHJpYnV0ZXMgdG8gc3BlY2lmeSB3aGV0aGVyIGEgZmVhdHVyZSBpcyBhcHBsaWNhYmxl IHRvIGJlIGV4cG9zZWQgdG86CiAxKSBBbGwgZ3Vlc3RzCiAyKSBIVk0gZ3Vlc3RzCiAzKSBIVk0g SEFQIGd1ZXN0cwphbmQsIHZpYSBhYnNlbmNlIG9mIGFuIGF0dHJpYnV0ZSwgdG8gbm8gZ3Vlc3Rz LgoKVGhlcmUgaXMgbm8gY3VycmVudCBuZWVkIGZvciBvdGhlciBjYXRlZ29yaWVzIChlLmcuIFBW LW9ubHkgZmVhdHVyZXMpLCBhbmQKc3VjaCBjYXRlZ29yaWVzIHNob3VsZCBub3QgYmUgaW50cm9k dWNlZCBpZiBwb3NzaWJsZS4gIFRoZXNlIGNhdGVnb3JpZXMgZm9sbG93CmZyb20gdGhlIGZhY3Qg dGhhdCwgd2l0aCBpbmNyZWFzZWQgaGFyZHdhcmUgc3VwcG9ydCwgYSBndWVzdCBnZXRzIG1vcmUK ZmVhdHVyZXMgdG8gdXNlLgoKVGhlc2Ugc2V0dGluZ3MgYXJlIGRlcml2ZWQgZnJvbSB0aGUgZXhp c3RpbmcgY29kZSBpbiB7cHYsaHZtfV9jcHVpZCgpLCBhbmQKeGNfY3B1aWRfeDg2LmMuICBPbmUg bm90YWJsZSBleGNlcHRpb24gaXMgRVhUQVBJQyB3aGljaCB3YXMgcHJldmlvdXNseQplcnJvbmVv dXNseSBleHBvc2VkIHRvIGd1ZXN0cy4gIFBWIGd1ZXN0cyBkb24ndCBnZXQgdG8gdXNlIHRoZSBB UElDIGFuZCB0aGUKSFZNIEFQSUMgZW11bGF0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBleHRlbmRlZCBz cGFjZS4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+ClJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9y YWNsZS5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Ci0t LQp2MjoKICogQW5ub3RhdGUgZmVhdHVyZXMgdXNpbmcgYSBtYWdpYyBjb21tZW50IGFuZCBhdXRv Z2VuZXJhdGlvbi4KdjM6CiAqIFJlYmFzZSBvdmVyIHRoZSBuZXcgbmFtZXNwYWNlaW5nIGNoYW5n ZXMuCiAqIEV4cGFuZCBjb21taXQgbWVzc2FnZS4KICogQ29ycmVjdCBQU0UzNiB0byBiZWluZyBh IEhBUC1vbmx5IGZlYXR1cmUuCnY0OgogKiBSZS1icmVhayBQU0UzNi4KICogSGlkZSBMV1AgZnJv bSBQViBndWVzdHMuCnY1OgogKiBFeHBsaWNpdGx5IGlkZW50aWZ5IHRoYXQgYXR0cmlidXRlcyBh cmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuCi0tLQogeGVuL2luY2x1ZGUvcHVibGljL2Fy Y2gteDg2L2NwdWZlYXR1cmVzZXQuaCB8IDE5MCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t CiB4ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5ICAgICAgICAgICAgICAgICAgICAgIHwgIDMyICsrKyst CiAyIGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspLCA5NCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oIGIv eGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaAppbmRleCA4MzA4OTcy Li5lZGQ5OTc1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVh dHVyZXNldC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0 LmgKQEAgLTc1LDE0MSArNzUsMTQ3IEBAIGVudW0gewogICogQXR0cmlidXRlIHN5bnRheDoKICAq CiAgKiBBdHRyaWJ1dGVzIGZvciBhIHBhcnRpY3VsYXIgZmVhdHVyZSBhcmUgcHJvdmlkZWQgYXMg Y2hhcmFjdGVycyBiZWZvcmUgdGhlCi0gKiBmaXJzdCBzcGFjZSBpbiB0aGUgY29tbWVudCBpbW1l ZGlhdGVseSBmb2xsb3dpbmcgdGhlIGZlYXR1cmUgdmFsdWUuCisgKiBmaXJzdCBzcGFjZSBpbiB0 aGUgY29tbWVudCBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlIGZlYXR1cmUgdmFsdWUuICBOb3Rl IC0KKyAqIG5vbmUgb2YgdGhlc2UgYXR0cmlidXRlcyBmb3JtIHBhcnQgb2YgdGhlIFhlbiBwdWJs aWMgQUJJLgogICoKICAqIFNwZWNpYWw6ICchJwogICogICBUaGlzIGJpdCBoYXMgc3BlY2lhbCBw cm9wZXJ0aWVzIGFuZCBpcyBub3QgYSBzdHJhaWdodCBpbmRpY2F0aW9uIG9mIGEKICAqICAgcGll Y2Ugb2YgbmV3IGZ1bmN0aW9uYWxpdHkuICBYZW4gd2lsbCBoYW5kbGUgdGhlc2UgZGlmZmVyZW50 bHksCiAgKiAgIGFuZCBtYXkgb3ZlcnJpZGUgdG9vbHN0YWNrIHNldHRpbmdzIGNvbXBsZXRlbHku CisgKgorICogQXBwbGljYWJpbGl0eSB0byBndWVzdHM6ICdBJywgJ1MnIG9yICdIJworICogICAn QScgPSBBbGwgZ3Vlc3RzLgorICogICAnUycgPSBBbGwgSFZNIGd1ZXN0cyAobm90IFBWIGd1ZXN0 cykuCisgKiAgICdIJyA9IEhWTSBIQVAgZ3Vlc3RzIChub3QgUFYgb3IgSFZNIFNoYWRvdyBndWVz dHMpLgogICovCiAKIC8qIEludGVsLWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAw eDAwMDAwMDAxLmVkeCwgd29yZCAwICovCi1YRU5fQ1BVRkVBVFVSRShGUFUsICAgICAgICAgICAw KjMyKyAwKSAvKiAgIE9uYm9hcmQgRlBVICovCi1YRU5fQ1BVRkVBVFVSRShWTUUsICAgICAgICAg ICAwKjMyKyAxKSAvKiAgIFZpcnR1YWwgTW9kZSBFeHRlbnNpb25zICovCi1YRU5fQ1BVRkVBVFVS RShERSwgICAgICAgICAgICAwKjMyKyAyKSAvKiAgIERlYnVnZ2luZyBFeHRlbnNpb25zICovCi1Y RU5fQ1BVRkVBVFVSRShQU0UsICAgICAgICAgICAwKjMyKyAzKSAvKiAgIFBhZ2UgU2l6ZSBFeHRl bnNpb25zICovCi1YRU5fQ1BVRkVBVFVSRShUU0MsICAgICAgICAgICAwKjMyKyA0KSAvKiAgIFRp bWUgU3RhbXAgQ291bnRlciAqLwotWEVOX0NQVUZFQVRVUkUoTVNSLCAgICAgICAgICAgMCozMisg NSkgLyogICBNb2RlbC1TcGVjaWZpYyBSZWdpc3RlcnMsIFJETVNSLCBXUk1TUiAqLwotWEVOX0NQ VUZFQVRVUkUoUEFFLCAgICAgICAgICAgMCozMisgNikgLyogICBQaHlzaWNhbCBBZGRyZXNzIEV4 dGVuc2lvbnMgKi8KLVhFTl9DUFVGRUFUVVJFKE1DRSwgICAgICAgICAgIDAqMzIrIDcpIC8qICAg TWFjaGluZSBDaGVjayBBcmNoaXRlY3R1cmUgKi8KLVhFTl9DUFVGRUFUVVJFKENYOCwgICAgICAg ICAgIDAqMzIrIDgpIC8qICAgQ01QWENIRzggaW5zdHJ1Y3Rpb24gKi8KLVhFTl9DUFVGRUFUVVJF KEFQSUMsICAgICAgICAgIDAqMzIrIDkpIC8qISAgT25ib2FyZCBBUElDICovCi1YRU5fQ1BVRkVB VFVSRShTRVAsICAgICAgICAgICAwKjMyKzExKSAvKiAgIFNZU0VOVEVSL1NZU0VYSVQgKi8KLVhF Tl9DUFVGRUFUVVJFKE1UUlIsICAgICAgICAgIDAqMzIrMTIpIC8qICAgTWVtb3J5IFR5cGUgUmFu Z2UgUmVnaXN0ZXJzICovCi1YRU5fQ1BVRkVBVFVSRShQR0UsICAgICAgICAgICAwKjMyKzEzKSAv KiAgIFBhZ2UgR2xvYmFsIEVuYWJsZSAqLwotWEVOX0NQVUZFQVRVUkUoTUNBLCAgICAgICAgICAg MCozMisxNCkgLyogICBNYWNoaW5lIENoZWNrIEFyY2hpdGVjdHVyZSAqLwotWEVOX0NQVUZFQVRV UkUoQ01PViwgICAgICAgICAgMCozMisxNSkgLyogICBDTU9WIGluc3RydWN0aW9uIChGQ01PVkND IGFuZCBGQ09NSSB0b28gaWYgRlBVIHByZXNlbnQpICovCi1YRU5fQ1BVRkVBVFVSRShQQVQsICAg ICAgICAgICAwKjMyKzE2KSAvKiAgIFBhZ2UgQXR0cmlidXRlIFRhYmxlICovCi1YRU5fQ1BVRkVB VFVSRShQU0UzNiwgICAgICAgICAwKjMyKzE3KSAvKiAgIDM2LWJpdCBQU0VzICovCi1YRU5fQ1BV RkVBVFVSRShDTEZMVVNILCAgICAgICAwKjMyKzE5KSAvKiAgIENMRkxVU0ggaW5zdHJ1Y3Rpb24g Ki8KK1hFTl9DUFVGRUFUVVJFKEZQVSwgICAgICAgICAgIDAqMzIrIDApIC8qQSAgT25ib2FyZCBG UFUgKi8KK1hFTl9DUFVGRUFUVVJFKFZNRSwgICAgICAgICAgIDAqMzIrIDEpIC8qUyAgVmlydHVh bCBNb2RlIEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKERFLCAgICAgICAgICAgIDAqMzIr IDIpIC8qQSAgRGVidWdnaW5nIEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFBTRSwgICAg ICAgICAgIDAqMzIrIDMpIC8qUyAgUGFnZSBTaXplIEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFU VVJFKFRTQywgICAgICAgICAgIDAqMzIrIDQpIC8qQSAgVGltZSBTdGFtcCBDb3VudGVyICovCitY RU5fQ1BVRkVBVFVSRShNU1IsICAgICAgICAgICAwKjMyKyA1KSAvKkEgIE1vZGVsLVNwZWNpZmlj IFJlZ2lzdGVycywgUkRNU1IsIFdSTVNSICovCitYRU5fQ1BVRkVBVFVSRShQQUUsICAgICAgICAg ICAwKjMyKyA2KSAvKkEgIFBoeXNpY2FsIEFkZHJlc3MgRXh0ZW5zaW9ucyAqLworWEVOX0NQVUZF QVRVUkUoTUNFLCAgICAgICAgICAgMCozMisgNykgLypBICBNYWNoaW5lIENoZWNrIEFyY2hpdGVj dHVyZSAqLworWEVOX0NQVUZFQVRVUkUoQ1g4LCAgICAgICAgICAgMCozMisgOCkgLypBICBDTVBY Q0hHOCBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoQVBJQywgICAgICAgICAgMCozMisg OSkgLyohQSBPbmJvYXJkIEFQSUMgKi8KK1hFTl9DUFVGRUFUVVJFKFNFUCwgICAgICAgICAgIDAq MzIrMTEpIC8qQSAgU1lTRU5URVIvU1lTRVhJVCAqLworWEVOX0NQVUZFQVRVUkUoTVRSUiwgICAg ICAgICAgMCozMisxMikgLypTICBNZW1vcnkgVHlwZSBSYW5nZSBSZWdpc3RlcnMgKi8KK1hFTl9D UFVGRUFUVVJFKFBHRSwgICAgICAgICAgIDAqMzIrMTMpIC8qUyAgUGFnZSBHbG9iYWwgRW5hYmxl ICovCitYRU5fQ1BVRkVBVFVSRShNQ0EsICAgICAgICAgICAwKjMyKzE0KSAvKkEgIE1hY2hpbmUg Q2hlY2sgQXJjaGl0ZWN0dXJlICovCitYRU5fQ1BVRkVBVFVSRShDTU9WLCAgICAgICAgICAwKjMy KzE1KSAvKkEgIENNT1YgaW5zdHJ1Y3Rpb24gKEZDTU9WQ0MgYW5kIEZDT01JIHRvbyBpZiBGUFUg cHJlc2VudCkgKi8KK1hFTl9DUFVGRUFUVVJFKFBBVCwgICAgICAgICAgIDAqMzIrMTYpIC8qQSAg UGFnZSBBdHRyaWJ1dGUgVGFibGUgKi8KK1hFTl9DUFVGRUFUVVJFKFBTRTM2LCAgICAgICAgIDAq MzIrMTcpIC8qUyAgMzYtYml0IFBTRXMgKi8KK1hFTl9DUFVGRUFUVVJFKENMRkxVU0gsICAgICAg IDAqMzIrMTkpIC8qQSAgQ0xGTFVTSCBpbnN0cnVjdGlvbiAqLwogWEVOX0NQVUZFQVRVUkUoRFMs ICAgICAgICAgICAgMCozMisyMSkgLyogICBEZWJ1ZyBTdG9yZSAqLwotWEVOX0NQVUZFQVRVUkUo QUNQSSwgICAgICAgICAgMCozMisyMikgLyogICBBQ1BJIHZpYSBNU1IgKi8KLVhFTl9DUFVGRUFU VVJFKE1NWCwgICAgICAgICAgIDAqMzIrMjMpIC8qICAgTXVsdGltZWRpYSBFeHRlbnNpb25zICov Ci1YRU5fQ1BVRkVBVFVSRShGWFNSLCAgICAgICAgICAwKjMyKzI0KSAvKiAgIEZYU0FWRSBhbmQg RlhSU1RPUiBpbnN0cnVjdGlvbnMgKi8KLVhFTl9DUFVGRUFUVVJFKFNTRSwgICAgICAgICAgIDAq MzIrMjUpIC8qICAgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyAqLwotWEVOX0NQVUZFQVRVUkUo U1NFMiwgICAgICAgICAgMCozMisyNikgLyogICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTIg Ki8KLVhFTl9DUFVGRUFUVVJFKEhUVCwgICAgICAgICAgIDAqMzIrMjgpIC8qISAgSHlwZXItVGhy ZWFkaW5nIFRlY2hub2xvZ3kgKi8KK1hFTl9DUFVGRUFUVVJFKEFDUEksICAgICAgICAgIDAqMzIr MjIpIC8qQSAgQUNQSSB2aWEgTVNSICovCitYRU5fQ1BVRkVBVFVSRShNTVgsICAgICAgICAgICAw KjMyKzIzKSAvKkEgIE11bHRpbWVkaWEgRXh0ZW5zaW9ucyAqLworWEVOX0NQVUZFQVRVUkUoRlhT UiwgICAgICAgICAgMCozMisyNCkgLypBICBGWFNBVkUgYW5kIEZYUlNUT1IgaW5zdHJ1Y3Rpb25z ICovCitYRU5fQ1BVRkVBVFVSRShTU0UsICAgICAgICAgICAwKjMyKzI1KSAvKkEgIFN0cmVhbWlu ZyBTSU1EIEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFNTRTIsICAgICAgICAgIDAqMzIr MjYpIC8qQSAgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucy0yICovCitYRU5fQ1BVRkVBVFVSRShI VFQsICAgICAgICAgICAwKjMyKzI4KSAvKiFBIEh5cGVyLVRocmVhZGluZyBUZWNobm9sb2d5ICov CiBYRU5fQ1BVRkVBVFVSRShUTTEsICAgICAgICAgICAwKjMyKzI5KSAvKiAgIFRoZXJtYWwgTW9u aXRvciAxICovCiBYRU5fQ1BVRkVBVFVSRShQQkUsICAgICAgICAgICAwKjMyKzMxKSAvKiAgIFBl bmRpbmcgQnJlYWsgRW5hYmxlICovCiAKIC8qIEludGVsLWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBD UFVJRCBsZXZlbCAweDAwMDAwMDAxLmVjeCwgd29yZCAxICovCi1YRU5fQ1BVRkVBVFVSRShTU0Uz LCAgICAgICAgICAxKjMyKyAwKSAvKiAgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMtMyAqLwot WEVOX0NQVUZFQVRVUkUoUENMTVVMUURRLCAgICAgMSozMisgMSkgLyogICBDYXJyeS1sZXNzIG11 bGl0cGxpY2F0aW9uICovCitYRU5fQ1BVRkVBVFVSRShTU0UzLCAgICAgICAgICAxKjMyKyAwKSAv KkEgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMtMyAqLworWEVOX0NQVUZFQVRVUkUoUENMTVVM UURRLCAgICAgMSozMisgMSkgLypBICBDYXJyeS1sZXNzIG11bGl0cGxpY2F0aW9uICovCiBYRU5f Q1BVRkVBVFVSRShEVEVTNjQsICAgICAgICAxKjMyKyAyKSAvKiAgIDY0LWJpdCBEZWJ1ZyBTdG9y ZSAqLwogWEVOX0NQVUZFQVRVUkUoTU9OSVRPUiwgICAgICAgMSozMisgMykgLyogICBNb25pdG9y L013YWl0IHN1cHBvcnQgKi8KIFhFTl9DUFVGRUFUVVJFKERTQ1BMLCAgICAgICAgIDEqMzIrIDQp IC8qICAgQ1BMIFF1YWxpZmllZCBEZWJ1ZyBTdG9yZSAqLwotWEVOX0NQVUZFQVRVUkUoVk1YLCAg ICAgICAgICAgMSozMisgNSkgLyogICBWaXJ0dWFsIE1hY2hpbmUgRXh0ZW5zaW9ucyAqLworWEVO X0NQVUZFQVRVUkUoVk1YLCAgICAgICAgICAgMSozMisgNSkgLypTICBWaXJ0dWFsIE1hY2hpbmUg RXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoU01YLCAgICAgICAgICAgMSozMisgNikgLyog ICBTYWZlciBNb2RlIEV4dGVuc2lvbnMgKi8KIFhFTl9DUFVGRUFUVVJFKEVJU1QsICAgICAgICAg IDEqMzIrIDcpIC8qICAgRW5oYW5jZWQgU3BlZWRTdGVwICovCiBYRU5fQ1BVRkVBVFVSRShUTTIs ICAgICAgICAgICAxKjMyKyA4KSAvKiAgIFRoZXJtYWwgTW9uaXRvciAyICovCi1YRU5fQ1BVRkVB VFVSRShTU1NFMywgICAgICAgICAxKjMyKyA5KSAvKiAgIFN1cHBsZW1lbnRhbCBTdHJlYW1pbmcg U0lNRCBFeHRlbnNpb25zLTMgKi8KLVhFTl9DUFVGRUFUVVJFKEZNQSwgICAgICAgICAgIDEqMzIr MTIpIC8qICAgRnVzZWQgTXVsdGlwbHkgQWRkICovCi1YRU5fQ1BVRkVBVFVSRShDWDE2LCAgICAg ICAgICAxKjMyKzEzKSAvKiAgIENNUFhDSEcxNkIgKi8KK1hFTl9DUFVGRUFUVVJFKFNTU0UzLCAg ICAgICAgIDEqMzIrIDkpIC8qQSAgU3VwcGxlbWVudGFsIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lv bnMtMyAqLworWEVOX0NQVUZFQVRVUkUoRk1BLCAgICAgICAgICAgMSozMisxMikgLypBICBGdXNl ZCBNdWx0aXBseSBBZGQgKi8KK1hFTl9DUFVGRUFUVVJFKENYMTYsICAgICAgICAgIDEqMzIrMTMp IC8qQSAgQ01QWENIRzE2QiAqLwogWEVOX0NQVUZFQVRVUkUoWFRQUiwgICAgICAgICAgMSozMisx NCkgLyogICBTZW5kIFRhc2sgUHJpb3JpdHkgTWVzc2FnZXMgKi8KIFhFTl9DUFVGRUFUVVJFKFBE Q00sICAgICAgICAgIDEqMzIrMTUpIC8qICAgUGVyZi9EZWJ1ZyBDYXBhYmlsaXR5IE1TUiAqLwot WEVOX0NQVUZFQVRVUkUoUENJRCwgICAgICAgICAgMSozMisxNykgLyogICBQcm9jZXNzIENvbnRl eHQgSUQgKi8KK1hFTl9DUFVGRUFUVVJFKFBDSUQsICAgICAgICAgIDEqMzIrMTcpIC8qSCAgUHJv Y2VzcyBDb250ZXh0IElEICovCiBYRU5fQ1BVRkVBVFVSRShEQ0EsICAgICAgICAgICAxKjMyKzE4 KSAvKiAgIERpcmVjdCBDYWNoZSBBY2Nlc3MgKi8KLVhFTl9DUFVGRUFUVVJFKFNTRTRfMSwgICAg ICAgIDEqMzIrMTkpIC8qICAgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyA0LjEgKi8KLVhFTl9D UFVGRUFUVVJFKFNTRTRfMiwgICAgICAgIDEqMzIrMjApIC8qICAgU3RyZWFtaW5nIFNJTUQgRXh0 ZW5zaW9ucyA0LjIgKi8KLVhFTl9DUFVGRUFUVVJFKFgyQVBJQywgICAgICAgIDEqMzIrMjEpIC8q ISAgRXh0ZW5kZWQgeEFQSUMgKi8KLVhFTl9DUFVGRUFUVVJFKE1PVkJFLCAgICAgICAgIDEqMzIr MjIpIC8qICAgbW92YmUgaW5zdHJ1Y3Rpb24gKi8KLVhFTl9DUFVGRUFUVVJFKFBPUENOVCwgICAg ICAgIDEqMzIrMjMpIC8qICAgUE9QQ05UIGluc3RydWN0aW9uICovCi1YRU5fQ1BVRkVBVFVSRShU U0NfREVBRExJTkUsICAxKjMyKzI0KSAvKiAgIFRTQyBEZWFkbGluZSBUaW1lciAqLwotWEVOX0NQ VUZFQVRVUkUoQUVTTkksICAgICAgICAgMSozMisyNSkgLyogICBBRVMgaW5zdHJ1Y3Rpb25zICov Ci1YRU5fQ1BVRkVBVFVSRShYU0FWRSwgICAgICAgICAxKjMyKzI2KSAvKiAgIFhTQVZFL1hSU1RP Ui9YU0VUQlYvWEdFVEJWICovCitYRU5fQ1BVRkVBVFVSRShTU0U0XzEsICAgICAgICAxKjMyKzE5 KSAvKkEgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgNC4xICovCitYRU5fQ1BVRkVBVFVSRShT U0U0XzIsICAgICAgICAxKjMyKzIwKSAvKkEgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgNC4y ICovCitYRU5fQ1BVRkVBVFVSRShYMkFQSUMsICAgICAgICAxKjMyKzIxKSAvKiFBIEV4dGVuZGVk IHhBUElDICovCitYRU5fQ1BVRkVBVFVSRShNT1ZCRSwgICAgICAgICAxKjMyKzIyKSAvKkEgIG1v dmJlIGluc3RydWN0aW9uICovCitYRU5fQ1BVRkVBVFVSRShQT1BDTlQsICAgICAgICAxKjMyKzIz KSAvKkEgIFBPUENOVCBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoVFNDX0RFQURMSU5F LCAgMSozMisyNCkgLypTICBUU0MgRGVhZGxpbmUgVGltZXIgKi8KK1hFTl9DUFVGRUFUVVJFKEFF U05JLCAgICAgICAgIDEqMzIrMjUpIC8qQSAgQUVTIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZF QVRVUkUoWFNBVkUsICAgICAgICAgMSozMisyNikgLypBICBYU0FWRS9YUlNUT1IvWFNFVEJWL1hH RVRCViAqLwogWEVOX0NQVUZFQVRVUkUoT1NYU0FWRSwgICAgICAgMSozMisyNykgLyohICBPU1hT QVZFICovCi1YRU5fQ1BVRkVBVFVSRShBVlgsICAgICAgICAgICAxKjMyKzI4KSAvKiAgIEFkdmFu Y2VkIFZlY3RvciBFeHRlbnNpb25zICovCi1YRU5fQ1BVRkVBVFVSRShGMTZDLCAgICAgICAgICAx KjMyKzI5KSAvKiAgIEhhbGYtcHJlY2lzaW9uIGNvbnZlcnQgaW5zdHJ1Y3Rpb24gKi8KLVhFTl9D UFVGRUFUVVJFKFJEUkFORCwgICAgICAgIDEqMzIrMzApIC8qICAgRGlnaXRhbCBSYW5kb20gTnVt YmVyIEdlbmVyYXRvciAqLwotWEVOX0NQVUZFQVRVUkUoSFlQRVJWSVNPUiwgICAgMSozMiszMSkg LyohICBSdW5uaW5nIHVuZGVyIHNvbWUgaHlwZXJ2aXNvciAqLworWEVOX0NQVUZFQVRVUkUoQVZY LCAgICAgICAgICAgMSozMisyOCkgLypBICBBZHZhbmNlZCBWZWN0b3IgRXh0ZW5zaW9ucyAqLwor WEVOX0NQVUZFQVRVUkUoRjE2QywgICAgICAgICAgMSozMisyOSkgLypBICBIYWxmLXByZWNpc2lv biBjb252ZXJ0IGluc3RydWN0aW9uICovCitYRU5fQ1BVRkVBVFVSRShSRFJBTkQsICAgICAgICAx KjMyKzMwKSAvKkEgIERpZ2l0YWwgUmFuZG9tIE51bWJlciBHZW5lcmF0b3IgKi8KK1hFTl9DUFVG RUFUVVJFKEhZUEVSVklTT1IsICAgIDEqMzIrMzEpIC8qIUEgUnVubmluZyB1bmRlciBzb21lIGh5 cGVydmlzb3IgKi8KIAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAw eDgwMDAwMDAxLmVkeCwgd29yZCAyICovCi1YRU5fQ1BVRkVBVFVSRShTWVNDQUxMLCAgICAgICAy KjMyKzExKSAvKiAgIFNZU0NBTEwvU1lTUkVUICovCi1YRU5fQ1BVRkVBVFVSRShOWCwgICAgICAg ICAgICAyKjMyKzIwKSAvKiAgIEV4ZWN1dGUgRGlzYWJsZSAqLwotWEVOX0NQVUZFQVRVUkUoTU1Y RVhULCAgICAgICAgMiozMisyMikgLyogICBBTUQgTU1YIGV4dGVuc2lvbnMgKi8KLVhFTl9DUFVG RUFUVVJFKEZGWFNSLCAgICAgICAgIDIqMzIrMjUpIC8qICAgRkZYU1IgaW5zdHJ1Y3Rpb24gb3B0 aW1pemF0aW9ucyAqLwotWEVOX0NQVUZFQVRVUkUoUEFHRTFHQiwgICAgICAgMiozMisyNikgLyog ICAxR2IgbGFyZ2UgcGFnZSBzdXBwb3J0ICovCi1YRU5fQ1BVRkVBVFVSRShSRFRTQ1AsICAgICAg ICAyKjMyKzI3KSAvKiAgIFJEVFNDUCAqLwotWEVOX0NQVUZFQVRVUkUoTE0sICAgICAgICAgICAg MiozMisyOSkgLyogICBMb25nIE1vZGUgKHg4Ni02NCkgKi8KLVhFTl9DUFVGRUFUVVJFKDNETk9X RVhULCAgICAgIDIqMzIrMzApIC8qICAgQU1EIDNETm93ISBleHRlbnNpb25zICovCi1YRU5fQ1BV RkVBVFVSRSgzRE5PVywgICAgICAgICAyKjMyKzMxKSAvKiAgIDNETm93ISAqLworWEVOX0NQVUZF QVRVUkUoU1lTQ0FMTCwgICAgICAgMiozMisxMSkgLypBICBTWVNDQUxML1NZU1JFVCAqLworWEVO X0NQVUZFQVRVUkUoTlgsICAgICAgICAgICAgMiozMisyMCkgLypBICBFeGVjdXRlIERpc2FibGUg Ki8KK1hFTl9DUFVGRUFUVVJFKE1NWEVYVCwgICAgICAgIDIqMzIrMjIpIC8qQSAgQU1EIE1NWCBl eHRlbnNpb25zICovCitYRU5fQ1BVRkVBVFVSRShGRlhTUiwgICAgICAgICAyKjMyKzI1KSAvKkEg IEZGWFNSIGluc3RydWN0aW9uIG9wdGltaXphdGlvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFBBR0Ux R0IsICAgICAgIDIqMzIrMjYpIC8qSCAgMUdiIGxhcmdlIHBhZ2Ugc3VwcG9ydCAqLworWEVOX0NQ VUZFQVRVUkUoUkRUU0NQLCAgICAgICAgMiozMisyNykgLypTICBSRFRTQ1AgKi8KK1hFTl9DUFVG RUFUVVJFKExNLCAgICAgICAgICAgIDIqMzIrMjkpIC8qQSAgTG9uZyBNb2RlICh4ODYtNjQpICov CitYRU5fQ1BVRkVBVFVSRSgzRE5PV0VYVCwgICAgICAyKjMyKzMwKSAvKkEgIEFNRCAzRE5vdyEg ZXh0ZW5zaW9ucyAqLworWEVOX0NQVUZFQVRVUkUoM0ROT1csICAgICAgICAgMiozMiszMSkgLypB ICAzRE5vdyEgKi8KIAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAw eDgwMDAwMDAxLmVjeCwgd29yZCAzICovCi1YRU5fQ1BVRkVBVFVSRShMQUhGX0xNLCAgICAgICAz KjMyKyAwKSAvKiAgIExBSEYvU0FIRiBpbiBsb25nIG1vZGUgKi8KLVhFTl9DUFVGRUFUVVJFKENN UF9MRUdBQ1ksICAgIDMqMzIrIDEpIC8qISAgSWYgeWVzIEh5cGVyVGhyZWFkaW5nIG5vdCB2YWxp ZCAqLwotWEVOX0NQVUZFQVRVUkUoU1ZNLCAgICAgICAgICAgMyozMisgMikgLyogICBTZWN1cmUg dmlydHVhbCBtYWNoaW5lICovCitYRU5fQ1BVRkVBVFVSRShMQUhGX0xNLCAgICAgICAzKjMyKyAw KSAvKkEgIExBSEYvU0FIRiBpbiBsb25nIG1vZGUgKi8KK1hFTl9DUFVGRUFUVVJFKENNUF9MRUdB Q1ksICAgIDMqMzIrIDEpIC8qIUEgSWYgeWVzIEh5cGVyVGhyZWFkaW5nIG5vdCB2YWxpZCAqLwor WEVOX0NQVUZFQVRVUkUoU1ZNLCAgICAgICAgICAgMyozMisgMikgLypTICBTZWN1cmUgdmlydHVh bCBtYWNoaW5lICovCiBYRU5fQ1BVRkVBVFVSRShFWFRBUElDLCAgICAgICAzKjMyKyAzKSAvKiAg IEV4dGVuZGVkIEFQSUMgc3BhY2UgKi8KLVhFTl9DUFVGRUFUVVJFKENSOF9MRUdBQ1ksICAgIDMq MzIrIDQpIC8qICAgQ1I4IGluIDMyLWJpdCBtb2RlICovCi1YRU5fQ1BVRkVBVFVSRShBQk0sICAg ICAgICAgICAzKjMyKyA1KSAvKiAgIEFkdmFuY2VkIGJpdCBtYW5pcHVsYXRpb24gKi8KLVhFTl9D UFVGRUFUVVJFKFNTRTRBLCAgICAgICAgIDMqMzIrIDYpIC8qICAgU1NFLTRBICovCi1YRU5fQ1BV RkVBVFVSRShNSVNBTElHTlNTRSwgICAzKjMyKyA3KSAvKiAgIE1pc2FsaWduZWQgU1NFIG1vZGUg Ki8KLVhFTl9DUFVGRUFUVVJFKDNETk9XUFJFRkVUQ0gsIDMqMzIrIDgpIC8qICAgM0ROb3cgcHJl ZmV0Y2ggaW5zdHJ1Y3Rpb25zICovCitYRU5fQ1BVRkVBVFVSRShDUjhfTEVHQUNZLCAgICAzKjMy KyA0KSAvKlMgIENSOCBpbiAzMi1iaXQgbW9kZSAqLworWEVOX0NQVUZFQVRVUkUoQUJNLCAgICAg ICAgICAgMyozMisgNSkgLypBICBBZHZhbmNlZCBiaXQgbWFuaXB1bGF0aW9uICovCitYRU5fQ1BV RkVBVFVSRShTU0U0QSwgICAgICAgICAzKjMyKyA2KSAvKkEgIFNTRS00QSAqLworWEVOX0NQVUZF QVRVUkUoTUlTQUxJR05TU0UsICAgMyozMisgNykgLypBICBNaXNhbGlnbmVkIFNTRSBtb2RlICov CitYRU5fQ1BVRkVBVFVSRSgzRE5PV1BSRUZFVENILCAzKjMyKyA4KSAvKkEgIDNETm93IHByZWZl dGNoIGluc3RydWN0aW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoT1NWVywgICAgICAgICAgMyozMisg OSkgLyogICBPUyBWaXNpYmxlIFdvcmthcm91bmQgKi8KLVhFTl9DUFVGRUFUVVJFKElCUywgICAg ICAgICAgIDMqMzIrMTApIC8qICAgSW5zdHJ1Y3Rpb24gQmFzZWQgU2FtcGxpbmcgKi8KLVhFTl9D UFVGRUFUVVJFKFhPUCwgICAgICAgICAgIDMqMzIrMTEpIC8qICAgZXh0ZW5kZWQgQVZYIGluc3Ry dWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoSUJTLCAgICAgICAgICAgMyozMisxMCkgLypTICBJ bnN0cnVjdGlvbiBCYXNlZCBTYW1wbGluZyAqLworWEVOX0NQVUZFQVRVUkUoWE9QLCAgICAgICAg ICAgMyozMisxMSkgLypBICBleHRlbmRlZCBBVlggaW5zdHJ1Y3Rpb25zICovCiBYRU5fQ1BVRkVB VFVSRShTS0lOSVQsICAgICAgICAzKjMyKzEyKSAvKiAgIFNLSU5JVC9TVEdJIGluc3RydWN0aW9u cyAqLwogWEVOX0NQVUZFQVRVUkUoV0RULCAgICAgICAgICAgMyozMisxMykgLyogICBXYXRjaGRv ZyB0aW1lciAqLwotWEVOX0NQVUZFQVRVUkUoTFdQLCAgICAgICAgICAgMyozMisxNSkgLyogICBM aWdodCBXZWlnaHQgUHJvZmlsaW5nICovCi1YRU5fQ1BVRkVBVFVSRShGTUE0LCAgICAgICAgICAz KjMyKzE2KSAvKiAgIDQgb3BlcmFuZHMgTUFDIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRV UkUoTFdQLCAgICAgICAgICAgMyozMisxNSkgLypTICBMaWdodCBXZWlnaHQgUHJvZmlsaW5nICov CitYRU5fQ1BVRkVBVFVSRShGTUE0LCAgICAgICAgICAzKjMyKzE2KSAvKkEgIDQgb3BlcmFuZHMg TUFDIGluc3RydWN0aW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoTk9ERUlEX01TUiwgICAgMyozMisx OSkgLyogICBOb2RlSWQgTVNSICovCi1YRU5fQ1BVRkVBVFVSRShUQk0sICAgICAgICAgICAzKjMy KzIxKSAvKiAgIHRyYWlsaW5nIGJpdCBtYW5pcHVsYXRpb25zICovCitYRU5fQ1BVRkVBVFVSRShU Qk0sICAgICAgICAgICAzKjMyKzIxKSAvKkEgIHRyYWlsaW5nIGJpdCBtYW5pcHVsYXRpb25zICov CiBYRU5fQ1BVRkVBVFVSRShUT1BPRVhULCAgICAgICAzKjMyKzIyKSAvKiAgIHRvcG9sb2d5IGV4 dGVuc2lvbnMgQ1BVSUQgbGVhZnMgKi8KLVhFTl9DUFVGRUFUVVJFKERCRVhULCAgICAgICAgIDMq MzIrMjYpIC8qICAgZGF0YSBicmVha3BvaW50IGV4dGVuc2lvbiAqLworWEVOX0NQVUZFQVRVUkUo REJFWFQsICAgICAgICAgMyozMisyNikgLypBICBkYXRhIGJyZWFrcG9pbnQgZXh0ZW5zaW9uICov CiBYRU5fQ1BVRkVBVFVSRShNT05JVE9SWCwgICAgICAzKjMyKzI5KSAvKiAgIE1PTklUT1IgZXh0 ZW5zaW9uIChNT05JVE9SWC9NV0FJVFgpICovCiAKIC8qIEludGVsLWRlZmluZWQgQ1BVIGZlYXR1 cmVzLCBDUFVJRCBsZXZlbCAweDAwMDAwMDBEOjEuZWF4LCB3b3JkIDQgKi8KLVhFTl9DUFVGRUFU VVJFKFhTQVZFT1BULCAgICAgIDQqMzIrIDApIC8qICAgWFNBVkVPUFQgaW5zdHJ1Y3Rpb24gKi8K LVhFTl9DUFVGRUFUVVJFKFhTQVZFQywgICAgICAgIDQqMzIrIDEpIC8qICAgWFNBVkVDL1hSU1RP UkMgaW5zdHJ1Y3Rpb25zICovCi1YRU5fQ1BVRkVBVFVSRShYR0VUQlYxLCAgICAgICA0KjMyKyAy KSAvKiAgIFhHRVRCViB3aXRoICVlY3g9MSAqLwotWEVOX0NQVUZFQVRVUkUoWFNBVkVTLCAgICAg ICAgNCozMisgMykgLyogICBYU0FWRVMvWFJTVE9SUyBpbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVG RUFUVVJFKFhTQVZFT1BULCAgICAgIDQqMzIrIDApIC8qQSAgWFNBVkVPUFQgaW5zdHJ1Y3Rpb24g Ki8KK1hFTl9DUFVGRUFUVVJFKFhTQVZFQywgICAgICAgIDQqMzIrIDEpIC8qQSAgWFNBVkVDL1hS U1RPUkMgaW5zdHJ1Y3Rpb25zICovCitYRU5fQ1BVRkVBVFVSRShYR0VUQlYxLCAgICAgICA0KjMy KyAyKSAvKkEgIFhHRVRCViB3aXRoICVlY3g9MSAqLworWEVOX0NQVUZFQVRVUkUoWFNBVkVTLCAg ICAgICAgNCozMisgMykgLypTICBYU0FWRVMvWFJTVE9SUyBpbnN0cnVjdGlvbnMgKi8KIAogLyog SW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAwMDAwMDc6MC5lYngs IHdvcmQgNSAqLwotWEVOX0NQVUZFQVRVUkUoRlNHU0JBU0UsICAgICAgNSozMisgMCkgLyogICB7 UkQsV1J9e0ZTLEdTfUJBU0UgaW5zdHJ1Y3Rpb25zICovCi1YRU5fQ1BVRkVBVFVSRShUU0NfQURK VVNULCAgICA1KjMyKyAxKSAvKiAgIFRTQ19BREpVU1QgTVNSIGF2YWlsYWJsZSAqLwotWEVOX0NQ VUZFQVRVUkUoQk1JMSwgICAgICAgICAgNSozMisgMykgLyogICAxc3QgYml0IG1hbmlwdWxhdGlv biBleHRlbnNpb25zICovCi1YRU5fQ1BVRkVBVFVSRShITEUsICAgICAgICAgICA1KjMyKyA0KSAv KiAgIEhhcmR3YXJlIExvY2sgRWxpc2lvbiAqLwotWEVOX0NQVUZFQVRVUkUoQVZYMiwgICAgICAg ICAgNSozMisgNSkgLyogICBBVlgyIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoRlNH U0JBU0UsICAgICAgNSozMisgMCkgLypBICB7UkQsV1J9e0ZTLEdTfUJBU0UgaW5zdHJ1Y3Rpb25z ICovCitYRU5fQ1BVRkVBVFVSRShUU0NfQURKVVNULCAgICA1KjMyKyAxKSAvKlMgIFRTQ19BREpV U1QgTVNSIGF2YWlsYWJsZSAqLworWEVOX0NQVUZFQVRVUkUoQk1JMSwgICAgICAgICAgNSozMisg MykgLypBICAxc3QgYml0IG1hbmlwdWxhdGlvbiBleHRlbnNpb25zICovCitYRU5fQ1BVRkVBVFVS RShITEUsICAgICAgICAgICA1KjMyKyA0KSAvKkEgIEhhcmR3YXJlIExvY2sgRWxpc2lvbiAqLwor WEVOX0NQVUZFQVRVUkUoQVZYMiwgICAgICAgICAgNSozMisgNSkgLypBICBBVlgyIGluc3RydWN0 aW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoRkRQX0VYQ1BfT05MWSwgNSozMisgNikgLyohICB4ODcg RkRQIG9ubHkgdXBkYXRlZCBvbiBleGNlcHRpb24uICovCi1YRU5fQ1BVRkVBVFVSRShTTUVQLCAg ICAgICAgICA1KjMyKyA3KSAvKiAgIFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlv biAqLwotWEVOX0NQVUZFQVRVUkUoQk1JMiwgICAgICAgICAgNSozMisgOCkgLyogICAybmQgYml0 IG1hbmlwdWxhdGlvbiBleHRlbnNpb25zICovCi1YRU5fQ1BVRkVBVFVSRShFUk1TLCAgICAgICAg ICA1KjMyKyA5KSAvKiAgIEVuaGFuY2VkIFJFUCBNT1ZTQi9TVE9TQiAqLwotWEVOX0NQVUZFQVRV UkUoSU5WUENJRCwgICAgICAgNSozMisxMCkgLyogICBJbnZhbGlkYXRlIFByb2Nlc3MgQ29udGV4 dCBJRCAqLwotWEVOX0NQVUZFQVRVUkUoUlRNLCAgICAgICAgICAgNSozMisxMSkgLyogICBSZXN0 cmljdGVkIFRyYW5zYWN0aW9uYWwgTWVtb3J5ICovCitYRU5fQ1BVRkVBVFVSRShTTUVQLCAgICAg ICAgICA1KjMyKyA3KSAvKlMgIFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlvbiAq LworWEVOX0NQVUZFQVRVUkUoQk1JMiwgICAgICAgICAgNSozMisgOCkgLypBICAybmQgYml0IG1h bmlwdWxhdGlvbiBleHRlbnNpb25zICovCitYRU5fQ1BVRkVBVFVSRShFUk1TLCAgICAgICAgICA1 KjMyKyA5KSAvKkEgIEVuaGFuY2VkIFJFUCBNT1ZTQi9TVE9TQiAqLworWEVOX0NQVUZFQVRVUkUo SU5WUENJRCwgICAgICAgNSozMisxMCkgLypIICBJbnZhbGlkYXRlIFByb2Nlc3MgQ29udGV4dCBJ RCAqLworWEVOX0NQVUZFQVRVUkUoUlRNLCAgICAgICAgICAgNSozMisxMSkgLypBICBSZXN0cmlj dGVkIFRyYW5zYWN0aW9uYWwgTWVtb3J5ICovCiBYRU5fQ1BVRkVBVFVSRShQUU0sICAgICAgICAg ICA1KjMyKzEyKSAvKiAgIFBsYXRmb3JtIFFvUyBNb25pdG9yaW5nICovCiBYRU5fQ1BVRkVBVFVS RShOT19GUFVfU0VMLCAgICA1KjMyKzEzKSAvKiEgIEZQVSBDUy9EUyBzdG9yZWQgYXMgemVybyAq LwotWEVOX0NQVUZFQVRVUkUoTVBYLCAgICAgICAgICAgNSozMisxNCkgLyogICBNZW1vcnkgUHJv dGVjdGlvbiBFeHRlbnNpb25zICovCitYRU5fQ1BVRkVBVFVSRShNUFgsICAgICAgICAgICA1KjMy KzE0KSAvKlMgIE1lbW9yeSBQcm90ZWN0aW9uIEV4dGVuc2lvbnMgKi8KIFhFTl9DUFVGRUFUVVJF KFBRRSwgICAgICAgICAgIDUqMzIrMTUpIC8qICAgUGxhdGZvcm0gUW9TIEVuZm9yY2VtZW50ICov Ci1YRU5fQ1BVRkVBVFVSRShSRFNFRUQsICAgICAgICA1KjMyKzE4KSAvKiAgIFJEU0VFRCBpbnN0 cnVjdGlvbiAqLwotWEVOX0NQVUZFQVRVUkUoQURYLCAgICAgICAgICAgNSozMisxOSkgLyogICBB RENYLCBBRE9YIGluc3RydWN0aW9ucyAqLwotWEVOX0NQVUZFQVRVUkUoU01BUCwgICAgICAgICAg NSozMisyMCkgLyogICBTdXBlcnZpc29yIE1vZGUgQWNjZXNzIFByZXZlbnRpb24gKi8KLVhFTl9D UFVGRUFUVVJFKFBDT01NSVQsICAgICAgIDUqMzIrMjIpIC8qICAgUENPTU1JVCBpbnN0cnVjdGlv biAqLwotWEVOX0NQVUZFQVRVUkUoQ0xGTFVTSE9QVCwgICAgNSozMisyMykgLyogICBDTEZMVVNI T1BUIGluc3RydWN0aW9uICovCi1YRU5fQ1BVRkVBVFVSRShDTFdCLCAgICAgICAgICA1KjMyKzI0 KSAvKiAgIENMV0IgaW5zdHJ1Y3Rpb24gKi8KLVhFTl9DUFVGRUFUVVJFKFNIQSwgICAgICAgICAg IDUqMzIrMjkpIC8qICAgU0hBMSAmIFNIQTI1NiBpbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVGRUFU VVJFKFJEU0VFRCwgICAgICAgIDUqMzIrMTgpIC8qQSAgUkRTRUVEIGluc3RydWN0aW9uICovCitY RU5fQ1BVRkVBVFVSRShBRFgsICAgICAgICAgICA1KjMyKzE5KSAvKkEgIEFEQ1gsIEFET1ggaW5z dHJ1Y3Rpb25zICovCitYRU5fQ1BVRkVBVFVSRShTTUFQLCAgICAgICAgICA1KjMyKzIwKSAvKlMg IFN1cGVydmlzb3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbiAqLworWEVOX0NQVUZFQVRVUkUoUENP TU1JVCwgICAgICAgNSozMisyMikgLypBICBQQ09NTUlUIGluc3RydWN0aW9uICovCitYRU5fQ1BV RkVBVFVSRShDTEZMVVNIT1BULCAgICA1KjMyKzIzKSAvKkEgIENMRkxVU0hPUFQgaW5zdHJ1Y3Rp b24gKi8KK1hFTl9DUFVGRUFUVVJFKENMV0IsICAgICAgICAgIDUqMzIrMjQpIC8qQSAgQ0xXQiBp bnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoU0hBLCAgICAgICAgICAgNSozMisyOSkgLypB ICBTSEExICYgU0hBMjU2IGluc3RydWN0aW9ucyAqLwogCiAvKiBJbnRlbC1kZWZpbmVkIENQVSBm ZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAwMDAwNzowLmVjeCwgd29yZCA2ICovCi1YRU5fQ1BV RkVBVFVSRShQUkVGRVRDSFdUMSwgICA2KjMyKyAwKSAvKiAgIFBSRUZFVENIV1QxIGluc3RydWN0 aW9uICovCi1YRU5fQ1BVRkVBVFVSRShQS1UsICAgICAgICAgICA2KjMyKyAzKSAvKiAgIFByb3Rl Y3Rpb24gS2V5cyBmb3IgVXNlcnNwYWNlICovCitYRU5fQ1BVRkVBVFVSRShQUkVGRVRDSFdUMSwg ICA2KjMyKyAwKSAvKkEgIFBSRUZFVENIV1QxIGluc3RydWN0aW9uICovCitYRU5fQ1BVRkVBVFVS RShQS1UsICAgICAgICAgICA2KjMyKyAzKSAvKkggIFByb3RlY3Rpb24gS2V5cyBmb3IgVXNlcnNw YWNlICovCiBYRU5fQ1BVRkVBVFVSRShPU1BLRSwgICAgICAgICA2KjMyKyA0KSAvKiEgIE9TIFBy b3RlY3Rpb24gS2V5cyBFbmFibGUgKi8KIAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBD UFVJRCBsZXZlbCAweDgwMDAwMDA3LmVkeCwgd29yZCA3ICovCkBAIC0yMTcsNyArMjIzLDcgQEAg WEVOX0NQVUZFQVRVUkUoSVRTQywgICAgICAgICAgNyozMisgOCkgLyogICBJbnZhcmlhbnQgVFND ICovCiBYRU5fQ1BVRkVBVFVSRShFRlJPLCAgICAgICAgICA3KjMyKzEwKSAvKiAgIEFQRVJGL01Q RVJGIFJlYWQgT25seSBpbnRlcmZhY2UgKi8KIAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVz LCBDUFVJRCBsZXZlbCAweDgwMDAwMDA4LmVieCwgd29yZCA4ICovCi1YRU5fQ1BVRkVBVFVSRShD TFpFUk8sICAgICAgICA4KjMyKyAwKSAvKiAgIENMWkVSTyBpbnN0cnVjdGlvbiAqLworWEVOX0NQ VUZFQVRVUkUoQ0xaRVJPLCAgICAgICAgOCozMisgMCkgLypBICBDTFpFUk8gaW5zdHJ1Y3Rpb24g Ki8KIAogI2VuZGlmIC8qIFhFTl9DUFVGRUFUVVJFICovCiAKZGlmZiAtLWdpdCBhL3hlbi90b29s cy9nZW4tY3B1aWQucHkgYi94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CmluZGV4IDQ2ZWY2ZDEuLmY5 NzFhYjIgMTAwNzU1Ci0tLSBhL3hlbi90b29scy9nZW4tY3B1aWQucHkKKysrIGIveGVuL3Rvb2xz L2dlbi1jcHVpZC5weQpAQCAtMTcsMTIgKzE3LDE4IEBAIGNsYXNzIFN0YXRlKG9iamVjdCk6CiAg ICAgICAgICMgU3RhdGUgcGFyc2VkIGZyb20gaW5wdXQKICAgICAgICAgc2VsZi5uYW1lcyA9IHt9 ICMgTmFtZSA9PiB2YWx1ZSBtYXBwaW5nCiAgICAgICAgIHNlbGYucmF3X3NwZWNpYWwgPSBzZXQo KQorICAgICAgICBzZWxmLnJhd19wdiA9IHNldCgpCisgICAgICAgIHNlbGYucmF3X2h2bV9zaGFk b3cgPSBzZXQoKQorICAgICAgICBzZWxmLnJhd19odm1faGFwID0gc2V0KCkKIAogICAgICAgICAj IFN0YXRlIGNhbGN1bGF0ZWQKICAgICAgICAgc2VsZi5ucl9lbnRyaWVzID0gMCAjIE51bWJlciBv ZiB3b3JkcyBpbiBhIGZlYXR1cmVzZXQKICAgICAgICAgc2VsZi5jb21tb25fMWQgPSAwICMgQ29t bW9uIGZlYXR1cmVzIGJldHdlZW4gMWQgYW5kIGUxZAogICAgICAgICBzZWxmLmtub3duID0gW10g IyBBbGwga25vd24gZmVhdHVyZXMKICAgICAgICAgc2VsZi5zcGVjaWFsID0gW10gIyBGZWF0dXJl cyB3aXRoIHNwZWNpYWwgc2VtYW50aWNzCisgICAgICAgIHNlbGYucHYgPSBbXQorICAgICAgICBz ZWxmLmh2bV9zaGFkb3cgPSBbXQorICAgICAgICBzZWxmLmh2bV9oYXAgPSBbXQogCiBkZWYgcGFy c2VfZGVmaW5pdGlvbnMoc3RhdGUpOgogICAgICIiIgpAQCAtMzIsNyArMzgsNyBAQCBkZWYgcGFy c2VfZGVmaW5pdGlvbnMoc3RhdGUpOgogICAgIGZlYXRfcmVnZXggPSByZS5jb21waWxlKAogICAg ICAgICByIl5YRU5fQ1BVRkVBVFVSRVwoKFtBLVowLTlfXSspLCIKICAgICAgICAgIlxzKyhbXHNc ZF0rXCpbXHNcZF0rXCtbXHNcZF0rKVwpIgotICAgICAgICAiXHMrL1wqKFshXSopIC4qJCIpCisg ICAgICAgICJccysvXCooW1x3IV0qKSAuKiQiKQogCiAgICAgdGhpcyA9IHN5cy5tb2R1bGVzW19f bmFtZV9fXQogCkBAIC03Miw2ICs3OCwxNiBAQCBkZWYgcGFyc2VfZGVmaW5pdGlvbnMoc3RhdGUp OgogCiAgICAgICAgICAgICBpZiBhID09ICIhIjoKICAgICAgICAgICAgICAgICBzdGF0ZS5yYXdf c3BlY2lhbC5hZGQodmFsKQorICAgICAgICAgICAgZWxpZiBhIGluICJBU0giOgorICAgICAgICAg ICAgICAgIGlmIGEgPT0gIkEiOgorICAgICAgICAgICAgICAgICAgICBzdGF0ZS5yYXdfcHYuYWRk KHZhbCkKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUucmF3X2h2bV9zaGFkb3cuYWRkKHZhbCkK KyAgICAgICAgICAgICAgICAgICAgc3RhdGUucmF3X2h2bV9oYXAuYWRkKHZhbCkKKyAgICAgICAg ICAgICAgICBlbGlmIGF0dHIgPT0gIlMiOgorICAgICAgICAgICAgICAgICAgICBzdGF0ZS5yYXdf aHZtX3NoYWRvdy5hZGQodmFsKQorICAgICAgICAgICAgICAgICAgICBzdGF0ZS5yYXdfaHZtX2hh cC5hZGQodmFsKQorICAgICAgICAgICAgICAgIGVsaWYgYXR0ciA9PSAiSCI6CisgICAgICAgICAg ICAgICAgICAgIHN0YXRlLnJhd19odm1faGFwLmFkZCh2YWwpCiAgICAgICAgICAgICBlbHNlOgog ICAgICAgICAgICAgICAgIHJhaXNlIEZhaWwoIlVucmVjb2duaXNlZCBhdHRyaWJ1dGUgJyVzJyBm b3IgJXMiICUgKGEsIG5hbWUpKQogCkBAIC0xMjQsNiArMTQwLDkgQEAgZGVmIGNydW5jaF9udW1i ZXJzKHN0YXRlKToKIAogICAgIHN0YXRlLmNvbW1vbl8xZCA9IGZlYXR1cmVzZXRfdG9fdWludDMy cyhjb21tb25fMWQsIDEpWzBdCiAgICAgc3RhdGUuc3BlY2lhbCA9IGZlYXR1cmVzZXRfdG9fdWlu dDMycyhzdGF0ZS5yYXdfc3BlY2lhbCwgbnJfZW50cmllcykKKyAgICBzdGF0ZS5wdiA9IGZlYXR1 cmVzZXRfdG9fdWludDMycyhzdGF0ZS5yYXdfcHYsIG5yX2VudHJpZXMpCisgICAgc3RhdGUuaHZt X3NoYWRvdyA9IGZlYXR1cmVzZXRfdG9fdWludDMycyhzdGF0ZS5yYXdfaHZtX3NoYWRvdywgbnJf ZW50cmllcykKKyAgICBzdGF0ZS5odm1faGFwID0gZmVhdHVyZXNldF90b191aW50MzJzKHN0YXRl LnJhd19odm1faGFwLCBucl9lbnRyaWVzKQogCiAKIGRlZiB3cml0ZV9yZXN1bHRzKHN0YXRlKToK QEAgLTE0NCwxMSArMTYzLDIwIEBAIGRlZiB3cml0ZV9yZXN1bHRzKHN0YXRlKToKIAogI2RlZmlu ZSBJTklUX0tOT1dOX0ZFQVRVUkVTIHsgXFxcbiVzXG59IAogCi0jZGVmaW5lIElOSVRfU1BFQ0lB TF9GRUFUVVJFUyB7IFxcXG4lc1xufSAKKyNkZWZpbmUgSU5JVF9TUEVDSUFMX0ZFQVRVUkVTIHsg XFxcbiVzXG59CisKKyNkZWZpbmUgSU5JVF9QVl9GRUFUVVJFUyB7IFxcXG4lc1xufQorCisjZGVm aW5lIElOSVRfSFZNX1NIQURPV19GRUFUVVJFUyB7IFxcXG4lc1xufQorCisjZGVmaW5lIElOSVRf SFZNX0hBUF9GRUFUVVJFUyB7IFxcXG4lc1xufQogIiIiICUgKHN0YXRlLm5yX2VudHJpZXMsCiAg ICAgICAgc3RhdGUuY29tbW9uXzFkLAogICAgICAgIGZvcm1hdF91aW50MzJzKHN0YXRlLmtub3du LCA0KSwKICAgICAgICBmb3JtYXRfdWludDMycyhzdGF0ZS5zcGVjaWFsLCA0KSwKKyAgICAgICBm b3JtYXRfdWludDMycyhzdGF0ZS5wdiwgNCksCisgICAgICAgZm9ybWF0X3VpbnQzMnMoc3RhdGUu aHZtX3NoYWRvdywgNCksCisgICAgICAgZm9ybWF0X3VpbnQzMnMoc3RhdGUuaHZtX2hhcCwgNCks CiAgICAgICAgKSkKIAogICAgIHN0YXRlLm91dHB1dC53cml0ZSgKLS0gCjIuMS40CgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK