From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v3 08/28] xen/x86: Annotate VM applicability in featureset Date: Wed, 16 Mar 2016 14:15:44 -0400 Message-ID: <20160316181544.GH18336@char.us.oracle.com> References: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> <1458056124-8024-9-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1458056124-8024-9-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: Andrew Cooper Cc: Jan Beulich , Xen-devel List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBNYXIgMTUsIDIwMTYgYXQgMDM6MzU6MDRQTSArMDAwMCwgQW5kcmV3IENvb3BlciB3 cm90ZToKPiBVc2UgYXR0cmlidXRlcyB0byBzcGVjaWZ5IHdoZXRoZXIgYSBmZWF0dXJlIGlzIGFw cGxpY2FibGUgdG8gYmUgZXhwb3NlZCB0bzoKPiAgMSkgQWxsIGd1ZXN0cwo+ICAyKSBIVk0gZ3Vl c3RzCj4gIDMpIEhWTSBIQVAgZ3Vlc3RzCj4gCj4gVGhlcmUgaXMgbm8gY3VycmVudCBuZWVkIGZv ciBvdGhlciBjYXRlZ29yaWVzIChlLmcuIFBWLW9ubHkgZmVhdHVyZXMpLCBhbmQKPiBzdWNoIGNh dGVnb3JpZXMgc2hvdWQgbm90IGJlIGludHJvZHVjZWQgaWYgcG9zc2libGUuICBUaGVzZSBjYXRl Z29yaWVzIGZvbGxvdwoKL3Nob3VkL3Nob3VsZC8KCj4gZnJvbSB0aGUgZmFjdCB0aGF0LCB3aXRo IGluY3JlYXNlZCBoYXJkd2FyZSBzdXBwb3J0LCBhIGd1ZXN0IGdldHMgbW9yZQo+IGZlYXR1cmVz IHRvIHVzZS4KPiAKPiBUaGVzZSBzZXR0aW5ncyBhcmUgZGVyaXZlZCBmcm9tIHRoZSBleGlzdGlu ZyBjb2RlIGluIHtwdixodm19X2NwdWlkKCksIGFuZAoKWWlrZXMuIFRoYXQgbXVzdCBoYXZlIHRh a2VuIGEgd2hpbGUgdG8gZGlnLgoKPiB4Y19jcHVpZF94ODYuYy4gIE9uZSBub3RhYmxlIGV4Y2V0 cGlvbiBpcyBFWFRBUElDIHdoaWNoIHdhcyBwcmV2aW91c2x5Cj4gZXJyb25pb3VzbHkgZXhwb3Nl ZCB0byBndWVzdHMuICBQViBndWVzdHMgZG9uJ3QgZ2V0IHRvIHVzZSB0aGUgQVBJQyBhbmQgdGhl Cj4gSFZNIEFQSUMgZW11bGF0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBleHRlbmRlZCBzcGFjZS4KCkkg d291bGQgZXh0ZW5kIHRoaXMgY29tbWl0IGRlc2NyaXB0aW9uIChyaWdodCBhZnRlciAzKSkgYW5k IHRoZSBjb21tZW50IGJlbG93IHRvIHNheToKCklmIHRoZXkgYXJlIG5vdCBzZXQgLSB0aGUgZ3Vl c3Qgd2lsbCBub3Qgc2VlIHRoaXMgZmxhZy4KCgpPdGhlcndpc2U6IFJldmlld2VkLWJ5OiBLb25y YWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CgoKPiAKPiBTaWduZWQt b2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgo+IC0tLQo+ IENDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Cj4gCj4gdjM6Cj4gICogUmViYXNl IG92ZXIgdGhlIG5ldyBuYW1lc3BhY2VpbmcgY2hhbmdlcy4KPiAgKiBFeHBhbmQgY29tbWl0IG1l c3NhZ2UuCj4gICogQ29ycmVjdCBQU0UzNiB0byBiZWluZyBhIEhBUC1vbmx5IGZlYXR1cmUuCj4g Cj4gdjI6Cj4gICogQW5ub3RhdGUgZmVhdHVyZXMgdXNpbmcgYSBtYWdpYyBjb21tZW50IGFuZCBh dXRvZ2VuZXJhdGlvbi4KPiAtLS0KPiAgeGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZl YXR1cmVzZXQuaCB8IDE4NyArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gIHhlbi90b29s cy9nZW4tY3B1aWQucHkgICAgICAgICAgICAgICAgICAgICAgfCAgMzAgKysrKy0KPiAgMiBmaWxl cyBjaGFuZ2VkLCAxMjUgaW5zZXJ0aW9ucygrKSwgOTIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmggYi94ZW4v aW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCj4gaW5kZXggOTM4OWVkOS4u MmExM2UwYyAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVh dHVyZXNldC5oCj4gKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZlYXR1cmVz ZXQuaAo+IEBAIC05MSwxMzUgKzkxLDE0MCBAQCBlbnVtIHsKPiAgICogICBUaGlzIGJpdCBoYXMg c3BlY2lhbCBwcm9wZXJ0aWVzIGFuZCBpcyBub3QgYSBzdHJhaWdodCBpbmRpY2F0aW9uIG9mIGEK PiAgICogICBwaWVjZSBvZiBuZXcgZnVuY3Rpb25hbGl0eS4gIFhlbiB3aWxsIGhhbmRsZSB0aGVz ZSBkaWZmZXJlbnRseSwKPiAgICogICBhbmQgbWF5IG92ZXJyaWRlIHRvb2xzdGFjayBzZXR0aW5n cyBjb21wbGV0ZWx5Lgo+ICsgKgo+ICsgKiBBcHBsaWNhYmlsaXR5IHRvIGd1ZXN0czogJ0EnLCAn Uycgb3IgJ0gnCj4gKyAqICAgJ0EnID0gQWxsIGd1ZXN0cy4KPiArICogICAnUycgPSBBbGwgSFZN IGd1ZXN0cyAobm90IFBWIGd1ZXN0cykuCj4gKyAqICAgJ0gnID0gSFZNIEhBUCBndWVzdHMgKG5v dCBQViBvciBIVk0gU2hhZG93IGd1ZXN0cykuCj4gICAqLwo+ICAKPiAgLyogSW50ZWwtZGVmaW5l ZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAwMDAwMDEuZWR4LCB3b3JkIDAgKi8KPiAt WEVOX0NQVUZFQVRVUkUoRlBVLCAgICAgICAgICAgMCozMisgMCkgLyogICBPbmJvYXJkIEZQVSAq Lwo+IC1YRU5fQ1BVRkVBVFVSRShWTUUsICAgICAgICAgICAwKjMyKyAxKSAvKiAgIFZpcnR1YWwg TW9kZSBFeHRlbnNpb25zICovCj4gLVhFTl9DUFVGRUFUVVJFKERFLCAgICAgICAgICAgIDAqMzIr IDIpIC8qICAgRGVidWdnaW5nIEV4dGVuc2lvbnMgKi8KPiAtWEVOX0NQVUZFQVRVUkUoUFNFLCAg ICAgICAgICAgMCozMisgMykgLyogICBQYWdlIFNpemUgRXh0ZW5zaW9ucyAqLwo+IC1YRU5fQ1BV RkVBVFVSRShUU0MsICAgICAgICAgICAwKjMyKyA0KSAvKiAgIFRpbWUgU3RhbXAgQ291bnRlciAq Lwo+IC1YRU5fQ1BVRkVBVFVSRShNU1IsICAgICAgICAgICAwKjMyKyA1KSAvKiAgIE1vZGVsLVNw ZWNpZmljIFJlZ2lzdGVycywgUkRNU1IsIFdSTVNSICovCj4gLVhFTl9DUFVGRUFUVVJFKFBBRSwg ICAgICAgICAgIDAqMzIrIDYpIC8qICAgUGh5c2ljYWwgQWRkcmVzcyBFeHRlbnNpb25zICovCj4g LVhFTl9DUFVGRUFUVVJFKE1DRSwgICAgICAgICAgIDAqMzIrIDcpIC8qICAgTWFjaGluZSBDaGVj ayBBcmNoaXRlY3R1cmUgKi8KPiAtWEVOX0NQVUZFQVRVUkUoQ1g4LCAgICAgICAgICAgMCozMisg OCkgLyogICBDTVBYQ0hHOCBpbnN0cnVjdGlvbiAqLwo+IC1YRU5fQ1BVRkVBVFVSRShBUElDLCAg ICAgICAgICAwKjMyKyA5KSAvKiEgIE9uYm9hcmQgQVBJQyAqLwo+IC1YRU5fQ1BVRkVBVFVSRShT RVAsICAgICAgICAgICAwKjMyKzExKSAvKiAgIFNZU0VOVEVSL1NZU0VYSVQgKi8KPiAtWEVOX0NQ VUZFQVRVUkUoTVRSUiwgICAgICAgICAgMCozMisxMikgLyogICBNZW1vcnkgVHlwZSBSYW5nZSBS ZWdpc3RlcnMgKi8KPiAtWEVOX0NQVUZFQVRVUkUoUEdFLCAgICAgICAgICAgMCozMisxMykgLyog ICBQYWdlIEdsb2JhbCBFbmFibGUgKi8KPiAtWEVOX0NQVUZFQVRVUkUoTUNBLCAgICAgICAgICAg MCozMisxNCkgLyogICBNYWNoaW5lIENoZWNrIEFyY2hpdGVjdHVyZSAqLwo+IC1YRU5fQ1BVRkVB VFVSRShDTU9WLCAgICAgICAgICAwKjMyKzE1KSAvKiAgIENNT1YgaW5zdHJ1Y3Rpb24gKEZDTU9W Q0MgYW5kIEZDT01JIHRvbyBpZiBGUFUgcHJlc2VudCkgKi8KPiAtWEVOX0NQVUZFQVRVUkUoUEFU LCAgICAgICAgICAgMCozMisxNikgLyogICBQYWdlIEF0dHJpYnV0ZSBUYWJsZSAqLwo+IC1YRU5f Q1BVRkVBVFVSRShQU0UzNiwgICAgICAgICAwKjMyKzE3KSAvKiAgIDM2LWJpdCBQU0VzICovCj4g LVhFTl9DUFVGRUFUVVJFKENMRkxVU0gsICAgICAgIDAqMzIrMTkpIC8qICAgQ0xGTFVTSCBpbnN0 cnVjdGlvbiAqLwo+ICtYRU5fQ1BVRkVBVFVSRShGUFUsICAgICAgICAgICAwKjMyKyAwKSAvKkEg IE9uYm9hcmQgRlBVICovCj4gK1hFTl9DUFVGRUFUVVJFKFZNRSwgICAgICAgICAgIDAqMzIrIDEp IC8qUyAgVmlydHVhbCBNb2RlIEV4dGVuc2lvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoREUsICAg ICAgICAgICAgMCozMisgMikgLypBICBEZWJ1Z2dpbmcgRXh0ZW5zaW9ucyAqLwo+ICtYRU5fQ1BV RkVBVFVSRShQU0UsICAgICAgICAgICAwKjMyKyAzKSAvKlMgIFBhZ2UgU2l6ZSBFeHRlbnNpb25z ICovCj4gK1hFTl9DUFVGRUFUVVJFKFRTQywgICAgICAgICAgIDAqMzIrIDQpIC8qQSAgVGltZSBT dGFtcCBDb3VudGVyICovCj4gK1hFTl9DUFVGRUFUVVJFKE1TUiwgICAgICAgICAgIDAqMzIrIDUp IC8qQSAgTW9kZWwtU3BlY2lmaWMgUmVnaXN0ZXJzLCBSRE1TUiwgV1JNU1IgKi8KPiArWEVOX0NQ VUZFQVRVUkUoUEFFLCAgICAgICAgICAgMCozMisgNikgLypBICBQaHlzaWNhbCBBZGRyZXNzIEV4 dGVuc2lvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoTUNFLCAgICAgICAgICAgMCozMisgNykgLypB ICBNYWNoaW5lIENoZWNrIEFyY2hpdGVjdHVyZSAqLwo+ICtYRU5fQ1BVRkVBVFVSRShDWDgsICAg ICAgICAgICAwKjMyKyA4KSAvKkEgIENNUFhDSEc4IGluc3RydWN0aW9uICovCj4gK1hFTl9DUFVG RUFUVVJFKEFQSUMsICAgICAgICAgIDAqMzIrIDkpIC8qIUEgT25ib2FyZCBBUElDICovCj4gK1hF Tl9DUFVGRUFUVVJFKFNFUCwgICAgICAgICAgIDAqMzIrMTEpIC8qQSAgU1lTRU5URVIvU1lTRVhJ VCAqLwo+ICtYRU5fQ1BVRkVBVFVSRShNVFJSLCAgICAgICAgICAwKjMyKzEyKSAvKlMgIE1lbW9y eSBUeXBlIFJhbmdlIFJlZ2lzdGVycyAqLwo+ICtYRU5fQ1BVRkVBVFVSRShQR0UsICAgICAgICAg ICAwKjMyKzEzKSAvKlMgIFBhZ2UgR2xvYmFsIEVuYWJsZSAqLwo+ICtYRU5fQ1BVRkVBVFVSRShN Q0EsICAgICAgICAgICAwKjMyKzE0KSAvKkEgIE1hY2hpbmUgQ2hlY2sgQXJjaGl0ZWN0dXJlICov Cj4gK1hFTl9DUFVGRUFUVVJFKENNT1YsICAgICAgICAgIDAqMzIrMTUpIC8qQSAgQ01PViBpbnN0 cnVjdGlvbiAoRkNNT1ZDQyBhbmQgRkNPTUkgdG9vIGlmIEZQVSBwcmVzZW50KSAqLwo+ICtYRU5f Q1BVRkVBVFVSRShQQVQsICAgICAgICAgICAwKjMyKzE2KSAvKkEgIFBhZ2UgQXR0cmlidXRlIFRh YmxlICovCj4gK1hFTl9DUFVGRUFUVVJFKFBTRTM2LCAgICAgICAgIDAqMzIrMTcpIC8qSCAgMzYt Yml0IFBTRXMgKi8KPiArWEVOX0NQVUZFQVRVUkUoQ0xGTFVTSCwgICAgICAgMCozMisxOSkgLypB ICBDTEZMVVNIIGluc3RydWN0aW9uICovCj4gIFhFTl9DUFVGRUFUVVJFKERTLCAgICAgICAgICAg IDAqMzIrMjEpIC8qICAgRGVidWcgU3RvcmUgKi8KPiAtWEVOX0NQVUZFQVRVUkUoQUNQSSwgICAg ICAgICAgMCozMisyMikgLyogICBBQ1BJIHZpYSBNU1IgKi8KPiAtWEVOX0NQVUZFQVRVUkUoTU1Y LCAgICAgICAgICAgMCozMisyMykgLyogICBNdWx0aW1lZGlhIEV4dGVuc2lvbnMgKi8KPiAtWEVO X0NQVUZFQVRVUkUoRlhTUiwgICAgICAgICAgMCozMisyNCkgLyogICBGWFNBVkUgYW5kIEZYUlNU T1IgaW5zdHJ1Y3Rpb25zICovCj4gLVhFTl9DUFVGRUFUVVJFKFNTRSwgICAgICAgICAgIDAqMzIr MjUpIC8qICAgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyAqLwo+IC1YRU5fQ1BVRkVBVFVSRShT U0UyLCAgICAgICAgICAwKjMyKzI2KSAvKiAgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMtMiAq Lwo+IC1YRU5fQ1BVRkVBVFVSRShIVFQsICAgICAgICAgICAwKjMyKzI4KSAvKiEgIEh5cGVyLVRo cmVhZGluZyBUZWNobm9sb2d5ICovCj4gK1hFTl9DUFVGRUFUVVJFKEFDUEksICAgICAgICAgIDAq MzIrMjIpIC8qQSAgQUNQSSB2aWEgTVNSICovCj4gK1hFTl9DUFVGRUFUVVJFKE1NWCwgICAgICAg ICAgIDAqMzIrMjMpIC8qQSAgTXVsdGltZWRpYSBFeHRlbnNpb25zICovCj4gK1hFTl9DUFVGRUFU VVJFKEZYU1IsICAgICAgICAgIDAqMzIrMjQpIC8qQSAgRlhTQVZFIGFuZCBGWFJTVE9SIGluc3Ry dWN0aW9ucyAqLwo+ICtYRU5fQ1BVRkVBVFVSRShTU0UsICAgICAgICAgICAwKjMyKzI1KSAvKkEg IFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoU1NFMiwgICAg ICAgICAgMCozMisyNikgLypBICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTIgKi8KPiArWEVO X0NQVUZFQVRVUkUoSFRULCAgICAgICAgICAgMCozMisyOCkgLyohQSBIeXBlci1UaHJlYWRpbmcg VGVjaG5vbG9neSAqLwo+ICBYRU5fQ1BVRkVBVFVSRShUTTEsICAgICAgICAgICAwKjMyKzI5KSAv KiAgIFRoZXJtYWwgTW9uaXRvciAxICovCj4gIFhFTl9DUFVGRUFUVVJFKFBCRSwgICAgICAgICAg IDAqMzIrMzEpIC8qICAgUGVuZGluZyBCcmVhayBFbmFibGUgKi8KPiAgCj4gIC8qIEludGVsLWRl ZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAweDAwMDAwMDAxLmVjeCwgd29yZCAxICov Cj4gLVhFTl9DUFVGRUFUVVJFKFNTRTMsICAgICAgICAgIDEqMzIrIDApIC8qICAgU3RyZWFtaW5n IFNJTUQgRXh0ZW5zaW9ucy0zICovCj4gLVhFTl9DUFVGRUFUVVJFKFBDTE1VTFFEUSwgICAgIDEq MzIrIDEpIC8qICAgQ2FycnktbGVzcyBtdWxpdHBsaWNhdGlvbiAqLwo+ICtYRU5fQ1BVRkVBVFVS RShTU0UzLCAgICAgICAgICAxKjMyKyAwKSAvKkEgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMt MyAqLwo+ICtYRU5fQ1BVRkVBVFVSRShQQ0xNVUxRRFEsICAgICAxKjMyKyAxKSAvKkEgIENhcnJ5 LWxlc3MgbXVsaXRwbGljYXRpb24gKi8KPiAgWEVOX0NQVUZFQVRVUkUoRFRFUzY0LCAgICAgICAg MSozMisgMikgLyogICA2NC1iaXQgRGVidWcgU3RvcmUgKi8KPiAgWEVOX0NQVUZFQVRVUkUoTU9O SVRPUiwgICAgICAgMSozMisgMykgLyogICBNb25pdG9yL013YWl0IHN1cHBvcnQgKi8KPiAgWEVO X0NQVUZFQVRVUkUoRFNDUEwsICAgICAgICAgMSozMisgNCkgLyogICBDUEwgUXVhbGlmaWVkIERl YnVnIFN0b3JlICovCj4gLVhFTl9DUFVGRUFUVVJFKFZNWCwgICAgICAgICAgIDEqMzIrIDUpIC8q ICAgVmlydHVhbCBNYWNoaW5lIEV4dGVuc2lvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoVk1YLCAg ICAgICAgICAgMSozMisgNSkgLypTICBWaXJ0dWFsIE1hY2hpbmUgRXh0ZW5zaW9ucyAqLwo+ICBY RU5fQ1BVRkVBVFVSRShTTVgsICAgICAgICAgICAxKjMyKyA2KSAvKiAgIFNhZmVyIE1vZGUgRXh0 ZW5zaW9ucyAqLwo+ICBYRU5fQ1BVRkVBVFVSRShFSVNULCAgICAgICAgICAxKjMyKyA3KSAvKiAg IEVuaGFuY2VkIFNwZWVkU3RlcCAqLwo+ICBYRU5fQ1BVRkVBVFVSRShUTTIsICAgICAgICAgICAx KjMyKyA4KSAvKiAgIFRoZXJtYWwgTW9uaXRvciAyICovCj4gLVhFTl9DUFVGRUFUVVJFKFNTU0Uz LCAgICAgICAgIDEqMzIrIDkpIC8qICAgU3VwcGxlbWVudGFsIFN0cmVhbWluZyBTSU1EIEV4dGVu c2lvbnMtMyAqLwo+IC1YRU5fQ1BVRkVBVFVSRShGTUEsICAgICAgICAgICAxKjMyKzEyKSAvKiAg IEZ1c2VkIE11bHRpcGx5IEFkZCAqLwo+IC1YRU5fQ1BVRkVBVFVSRShDWDE2LCAgICAgICAgICAx KjMyKzEzKSAvKiAgIENNUFhDSEcxNkIgKi8KPiArWEVOX0NQVUZFQVRVUkUoU1NTRTMsICAgICAg ICAgMSozMisgOSkgLypBICBTdXBwbGVtZW50YWwgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucy0z ICovCj4gK1hFTl9DUFVGRUFUVVJFKEZNQSwgICAgICAgICAgIDEqMzIrMTIpIC8qQSAgRnVzZWQg TXVsdGlwbHkgQWRkICovCj4gK1hFTl9DUFVGRUFUVVJFKENYMTYsICAgICAgICAgIDEqMzIrMTMp IC8qQSAgQ01QWENIRzE2QiAqLwo+ICBYRU5fQ1BVRkVBVFVSRShYVFBSLCAgICAgICAgICAxKjMy KzE0KSAvKiAgIFNlbmQgVGFzayBQcmlvcml0eSBNZXNzYWdlcyAqLwo+ICBYRU5fQ1BVRkVBVFVS RShQRENNLCAgICAgICAgICAxKjMyKzE1KSAvKiAgIFBlcmYvRGVidWcgQ2FwYWJpbGl0eSBNU1Ig Ki8KPiAtWEVOX0NQVUZFQVRVUkUoUENJRCwgICAgICAgICAgMSozMisxNykgLyogICBQcm9jZXNz IENvbnRleHQgSUQgKi8KPiArWEVOX0NQVUZFQVRVUkUoUENJRCwgICAgICAgICAgMSozMisxNykg LypIICBQcm9jZXNzIENvbnRleHQgSUQgKi8KPiAgWEVOX0NQVUZFQVRVUkUoRENBLCAgICAgICAg ICAgMSozMisxOCkgLyogICBEaXJlY3QgQ2FjaGUgQWNjZXNzICovCj4gLVhFTl9DUFVGRUFUVVJF KFNTRTRfMSwgICAgICAgIDEqMzIrMTkpIC8qICAgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyA0 LjEgKi8KPiAtWEVOX0NQVUZFQVRVUkUoU1NFNF8yLCAgICAgICAgMSozMisyMCkgLyogICBTdHJl YW1pbmcgU0lNRCBFeHRlbnNpb25zIDQuMiAqLwo+IC1YRU5fQ1BVRkVBVFVSRShYMkFQSUMsICAg ICAgICAxKjMyKzIxKSAvKiAgIEV4dGVuZGVkIHhBUElDICovCj4gLVhFTl9DUFVGRUFUVVJFKE1P VkJFLCAgICAgICAgIDEqMzIrMjIpIC8qICAgbW92YmUgaW5zdHJ1Y3Rpb24gKi8KPiAtWEVOX0NQ VUZFQVRVUkUoUE9QQ05ULCAgICAgICAgMSozMisyMykgLyogICBQT1BDTlQgaW5zdHJ1Y3Rpb24g Ki8KPiAtWEVOX0NQVUZFQVRVUkUoVFNDX0RFQURMSU5FLCAgMSozMisyNCkgLyogICBUU0MgRGVh ZGxpbmUgVGltZXIgKi8KPiAtWEVOX0NQVUZFQVRVUkUoQUVTTkksICAgICAgICAgMSozMisyNSkg LyogICBBRVMgaW5zdHJ1Y3Rpb25zICovCj4gLVhFTl9DUFVGRUFUVVJFKFhTQVZFLCAgICAgICAg IDEqMzIrMjYpIC8qICAgWFNBVkUvWFJTVE9SL1hTRVRCVi9YR0VUQlYgKi8KPiArWEVOX0NQVUZF QVRVUkUoU1NFNF8xLCAgICAgICAgMSozMisxOSkgLypBICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNp b25zIDQuMSAqLwo+ICtYRU5fQ1BVRkVBVFVSRShTU0U0XzIsICAgICAgICAxKjMyKzIwKSAvKkEg IFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgNC4yICovCj4gK1hFTl9DUFVGRUFUVVJFKFgyQVBJ QywgICAgICAgIDEqMzIrMjEpIC8qQSAgRXh0ZW5kZWQgeEFQSUMgKi8KPiArWEVOX0NQVUZFQVRV UkUoTU9WQkUsICAgICAgICAgMSozMisyMikgLypBICBtb3ZiZSBpbnN0cnVjdGlvbiAqLwo+ICtY RU5fQ1BVRkVBVFVSRShQT1BDTlQsICAgICAgICAxKjMyKzIzKSAvKkEgIFBPUENOVCBpbnN0cnVj dGlvbiAqLwo+ICtYRU5fQ1BVRkVBVFVSRShUU0NfREVBRExJTkUsICAxKjMyKzI0KSAvKlMgIFRT QyBEZWFkbGluZSBUaW1lciAqLwo+ICtYRU5fQ1BVRkVBVFVSRShBRVNOSSwgICAgICAgICAxKjMy KzI1KSAvKkEgIEFFUyBpbnN0cnVjdGlvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoWFNBVkUsICAg ICAgICAgMSozMisyNikgLypBICBYU0FWRS9YUlNUT1IvWFNFVEJWL1hHRVRCViAqLwo+ICBYRU5f Q1BVRkVBVFVSRShPU1hTQVZFLCAgICAgICAxKjMyKzI3KSAvKiEgIE9TWFNBVkUgKi8KPiAtWEVO X0NQVUZFQVRVUkUoQVZYLCAgICAgICAgICAgMSozMisyOCkgLyogICBBZHZhbmNlZCBWZWN0b3Ig RXh0ZW5zaW9ucyAqLwo+IC1YRU5fQ1BVRkVBVFVSRShGMTZDLCAgICAgICAgICAxKjMyKzI5KSAv KiAgIEhhbGYtcHJlY2lzaW9uIGNvbnZlcnQgaW5zdHJ1Y3Rpb24gKi8KPiAtWEVOX0NQVUZFQVRV UkUoUkRSQU5ELCAgICAgICAgMSozMiszMCkgLyogICBEaWdpdGFsIFJhbmRvbSBOdW1iZXIgR2Vu ZXJhdG9yICovCj4gLVhFTl9DUFVGRUFUVVJFKEhZUEVSVklTT1IsICAgIDEqMzIrMzEpIC8qICAg UnVubmluZyB1bmRlciBzb21lIGh5cGVydmlzb3IgKi8KPiArWEVOX0NQVUZFQVRVUkUoQVZYLCAg ICAgICAgICAgMSozMisyOCkgLypBICBBZHZhbmNlZCBWZWN0b3IgRXh0ZW5zaW9ucyAqLwo+ICtY RU5fQ1BVRkVBVFVSRShGMTZDLCAgICAgICAgICAxKjMyKzI5KSAvKkEgIEhhbGYtcHJlY2lzaW9u IGNvbnZlcnQgaW5zdHJ1Y3Rpb24gKi8KPiArWEVOX0NQVUZFQVRVUkUoUkRSQU5ELCAgICAgICAg MSozMiszMCkgLypBICBEaWdpdGFsIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yICovCj4gK1hFTl9D UFVGRUFUVVJFKEhZUEVSVklTT1IsICAgIDEqMzIrMzEpIC8qQSAgUnVubmluZyB1bmRlciBzb21l IGh5cGVydmlzb3IgKi8KPiAgCj4gIC8qIEFNRC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQg bGV2ZWwgMHg4MDAwMDAwMS5lZHgsIHdvcmQgMiAqLwo+IC1YRU5fQ1BVRkVBVFVSRShTWVNDQUxM LCAgICAgICAyKjMyKzExKSAvKiAgIFNZU0NBTEwvU1lTUkVUICovCj4gLVhFTl9DUFVGRUFUVVJF KE5YLCAgICAgICAgICAgIDIqMzIrMjApIC8qICAgRXhlY3V0ZSBEaXNhYmxlICovCj4gLVhFTl9D UFVGRUFUVVJFKE1NWEVYVCwgICAgICAgIDIqMzIrMjIpIC8qICAgQU1EIE1NWCBleHRlbnNpb25z ICovCj4gLVhFTl9DUFVGRUFUVVJFKEZGWFNSLCAgICAgICAgIDIqMzIrMjUpIC8qICAgRkZYU1Ig aW5zdHJ1Y3Rpb24gb3B0aW1pemF0aW9ucyAqLwo+IC1YRU5fQ1BVRkVBVFVSRShQQUdFMUdCLCAg ICAgICAyKjMyKzI2KSAvKiAgIDFHYiBsYXJnZSBwYWdlIHN1cHBvcnQgKi8KPiAtWEVOX0NQVUZF QVRVUkUoUkRUU0NQLCAgICAgICAgMiozMisyNykgLyogICBSRFRTQ1AgKi8KPiAtWEVOX0NQVUZF QVRVUkUoTE0sICAgICAgICAgICAgMiozMisyOSkgLyogICBMb25nIE1vZGUgKHg4Ni02NCkgKi8K PiAtWEVOX0NQVUZFQVRVUkUoM0ROT1dFWFQsICAgICAgMiozMiszMCkgLyogICBBTUQgM0ROb3ch IGV4dGVuc2lvbnMgKi8KPiAtWEVOX0NQVUZFQVRVUkUoM0ROT1csICAgICAgICAgMiozMiszMSkg LyogICAzRE5vdyEgKi8KPiArWEVOX0NQVUZFQVRVUkUoU1lTQ0FMTCwgICAgICAgMiozMisxMSkg LypBICBTWVNDQUxML1NZU1JFVCAqLwo+ICtYRU5fQ1BVRkVBVFVSRShOWCwgICAgICAgICAgICAy KjMyKzIwKSAvKkEgIEV4ZWN1dGUgRGlzYWJsZSAqLwo+ICtYRU5fQ1BVRkVBVFVSRShNTVhFWFQs ICAgICAgICAyKjMyKzIyKSAvKkEgIEFNRCBNTVggZXh0ZW5zaW9ucyAqLwo+ICtYRU5fQ1BVRkVB VFVSRShGRlhTUiwgICAgICAgICAyKjMyKzI1KSAvKkEgIEZGWFNSIGluc3RydWN0aW9uIG9wdGlt aXphdGlvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoUEFHRTFHQiwgICAgICAgMiozMisyNikgLypI ICAxR2IgbGFyZ2UgcGFnZSBzdXBwb3J0ICovCj4gK1hFTl9DUFVGRUFUVVJFKFJEVFNDUCwgICAg ICAgIDIqMzIrMjcpIC8qUyAgUkRUU0NQICovCj4gK1hFTl9DUFVGRUFUVVJFKExNLCAgICAgICAg ICAgIDIqMzIrMjkpIC8qQSAgTG9uZyBNb2RlICh4ODYtNjQpICovCj4gK1hFTl9DUFVGRUFUVVJF KDNETk9XRVhULCAgICAgIDIqMzIrMzApIC8qQSAgQU1EIDNETm93ISBleHRlbnNpb25zICovCj4g K1hFTl9DUFVGRUFUVVJFKDNETk9XLCAgICAgICAgIDIqMzIrMzEpIC8qQSAgM0ROb3chICovCj4g IAo+ICAvKiBBTUQtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4ODAwMDAwMDEu ZWN4LCB3b3JkIDMgKi8KPiAtWEVOX0NQVUZFQVRVUkUoTEFIRl9MTSwgICAgICAgMyozMisgMCkg LyogICBMQUhGL1NBSEYgaW4gbG9uZyBtb2RlICovCj4gLVhFTl9DUFVGRUFUVVJFKENNUF9MRUdB Q1ksICAgIDMqMzIrIDEpIC8qISAgSWYgeWVzIEh5cGVyVGhyZWFkaW5nIG5vdCB2YWxpZCAqLwo+ IC1YRU5fQ1BVRkVBVFVSRShTVk0sICAgICAgICAgICAzKjMyKyAyKSAvKiAgIFNlY3VyZSB2aXJ0 dWFsIG1hY2hpbmUgKi8KPiArWEVOX0NQVUZFQVRVUkUoTEFIRl9MTSwgICAgICAgMyozMisgMCkg LypBICBMQUhGL1NBSEYgaW4gbG9uZyBtb2RlICovCj4gK1hFTl9DUFVGRUFUVVJFKENNUF9MRUdB Q1ksICAgIDMqMzIrIDEpIC8qIUEgSWYgeWVzIEh5cGVyVGhyZWFkaW5nIG5vdCB2YWxpZCAqLwo+ ICtYRU5fQ1BVRkVBVFVSRShTVk0sICAgICAgICAgICAzKjMyKyAyKSAvKlMgIFNlY3VyZSB2aXJ0 dWFsIG1hY2hpbmUgKi8KPiAgWEVOX0NQVUZFQVRVUkUoRVhUQVBJQywgICAgICAgMyozMisgMykg LyogICBFeHRlbmRlZCBBUElDIHNwYWNlICovCj4gLVhFTl9DUFVGRUFUVVJFKENSOF9MRUdBQ1ks ICAgIDMqMzIrIDQpIC8qICAgQ1I4IGluIDMyLWJpdCBtb2RlICovCj4gLVhFTl9DUFVGRUFUVVJF KEFCTSwgICAgICAgICAgIDMqMzIrIDUpIC8qICAgQWR2YW5jZWQgYml0IG1hbmlwdWxhdGlvbiAq Lwo+IC1YRU5fQ1BVRkVBVFVSRShTU0U0QSwgICAgICAgICAzKjMyKyA2KSAvKiAgIFNTRS00QSAq Lwo+IC1YRU5fQ1BVRkVBVFVSRShNSVNBTElHTlNTRSwgICAzKjMyKyA3KSAvKiAgIE1pc2FsaWdu ZWQgU1NFIG1vZGUgKi8KPiAtWEVOX0NQVUZFQVRVUkUoM0ROT1dQUkVGRVRDSCwgMyozMisgOCkg LyogICAzRE5vdyBwcmVmZXRjaCBpbnN0cnVjdGlvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoQ1I4 X0xFR0FDWSwgICAgMyozMisgNCkgLypTICBDUjggaW4gMzItYml0IG1vZGUgKi8KPiArWEVOX0NQ VUZFQVRVUkUoQUJNLCAgICAgICAgICAgMyozMisgNSkgLypBICBBZHZhbmNlZCBiaXQgbWFuaXB1 bGF0aW9uICovCj4gK1hFTl9DUFVGRUFUVVJFKFNTRTRBLCAgICAgICAgIDMqMzIrIDYpIC8qQSAg U1NFLTRBICovCj4gK1hFTl9DUFVGRUFUVVJFKE1JU0FMSUdOU1NFLCAgIDMqMzIrIDcpIC8qQSAg TWlzYWxpZ25lZCBTU0UgbW9kZSAqLwo+ICtYRU5fQ1BVRkVBVFVSRSgzRE5PV1BSRUZFVENILCAz KjMyKyA4KSAvKkEgIDNETm93IHByZWZldGNoIGluc3RydWN0aW9ucyAqLwo+ICBYRU5fQ1BVRkVB VFVSRShPU1ZXLCAgICAgICAgICAzKjMyKyA5KSAvKiAgIE9TIFZpc2libGUgV29ya2Fyb3VuZCAq Lwo+IC1YRU5fQ1BVRkVBVFVSRShJQlMsICAgICAgICAgICAzKjMyKzEwKSAvKiAgIEluc3RydWN0 aW9uIEJhc2VkIFNhbXBsaW5nICovCj4gLVhFTl9DUFVGRUFUVVJFKFhPUCwgICAgICAgICAgIDMq MzIrMTEpIC8qICAgZXh0ZW5kZWQgQVZYIGluc3RydWN0aW9ucyAqLwo+ICtYRU5fQ1BVRkVBVFVS RShJQlMsICAgICAgICAgICAzKjMyKzEwKSAvKlMgIEluc3RydWN0aW9uIEJhc2VkIFNhbXBsaW5n ICovCj4gK1hFTl9DUFVGRUFUVVJFKFhPUCwgICAgICAgICAgIDMqMzIrMTEpIC8qQSAgZXh0ZW5k ZWQgQVZYIGluc3RydWN0aW9ucyAqLwo+ICBYRU5fQ1BVRkVBVFVSRShTS0lOSVQsICAgICAgICAz KjMyKzEyKSAvKiAgIFNLSU5JVC9TVEdJIGluc3RydWN0aW9ucyAqLwo+ICBYRU5fQ1BVRkVBVFVS RShXRFQsICAgICAgICAgICAzKjMyKzEzKSAvKiAgIFdhdGNoZG9nIHRpbWVyICovCj4gLVhFTl9D UFVGRUFUVVJFKExXUCwgICAgICAgICAgIDMqMzIrMTUpIC8qICAgTGlnaHQgV2VpZ2h0IFByb2Zp bGluZyAqLwo+IC1YRU5fQ1BVRkVBVFVSRShGTUE0LCAgICAgICAgICAzKjMyKzE2KSAvKiAgIDQg b3BlcmFuZHMgTUFDIGluc3RydWN0aW9ucyAqLwo+ICtYRU5fQ1BVRkVBVFVSRShMV1AsICAgICAg ICAgICAzKjMyKzE1KSAvKkEgIExpZ2h0IFdlaWdodCBQcm9maWxpbmcgKi8KPiArWEVOX0NQVUZF QVRVUkUoRk1BNCwgICAgICAgICAgMyozMisxNikgLypBICA0IG9wZXJhbmRzIE1BQyBpbnN0cnVj dGlvbnMgKi8KPiAgWEVOX0NQVUZFQVRVUkUoTk9ERUlEX01TUiwgICAgMyozMisxOSkgLyogICBO b2RlSWQgTVNSICovCj4gLVhFTl9DUFVGRUFUVVJFKFRCTSwgICAgICAgICAgIDMqMzIrMjEpIC8q ICAgdHJhaWxpbmcgYml0IG1hbmlwdWxhdGlvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoVEJNLCAg ICAgICAgICAgMyozMisyMSkgLypBICB0cmFpbGluZyBiaXQgbWFuaXB1bGF0aW9ucyAqLwo+ICBY RU5fQ1BVRkVBVFVSRShUT1BPRVhULCAgICAgICAzKjMyKzIyKSAvKiAgIHRvcG9sb2d5IGV4dGVu c2lvbnMgQ1BVSUQgbGVhZnMgKi8KPiAtWEVOX0NQVUZFQVRVUkUoREJFWFQsICAgICAgICAgMyoz MisyNikgLyogICBkYXRhIGJyZWFrcG9pbnQgZXh0ZW5zaW9uICovCj4gK1hFTl9DUFVGRUFUVVJF KERCRVhULCAgICAgICAgIDMqMzIrMjYpIC8qQSAgZGF0YSBicmVha3BvaW50IGV4dGVuc2lvbiAq Lwo+ICBYRU5fQ1BVRkVBVFVSRShNT05JVE9SWCwgICAgICAzKjMyKzI5KSAvKiAgIE1PTklUT1Ig ZXh0ZW5zaW9uIChNT05JVE9SWC9NV0FJVFgpICovCj4gIAo+ICAvKiBJbnRlbC1kZWZpbmVkIENQ VSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAwMDAwRDoxLmVheCwgd29yZCA0ICovCj4gLVhF Tl9DUFVGRUFUVVJFKFhTQVZFT1BULCAgICAgIDQqMzIrIDApIC8qICAgWFNBVkVPUFQgaW5zdHJ1 Y3Rpb24gKi8KPiAtWEVOX0NQVUZFQVRVUkUoWFNBVkVDLCAgICAgICAgNCozMisgMSkgLyogICBY U0FWRUMvWFJTVE9SQyBpbnN0cnVjdGlvbnMgKi8KPiAtWEVOX0NQVUZFQVRVUkUoWEdFVEJWMSwg ICAgICAgNCozMisgMikgLyogICBYR0VUQlYgd2l0aCAlZWN4PTEgKi8KPiAtWEVOX0NQVUZFQVRV UkUoWFNBVkVTLCAgICAgICAgNCozMisgMykgLyogICBYU0FWRVMvWFJTVE9SUyBpbnN0cnVjdGlv bnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoWFNBVkVPUFQsICAgICAgNCozMisgMCkgLypBICBYU0FW RU9QVCBpbnN0cnVjdGlvbiAqLwo+ICtYRU5fQ1BVRkVBVFVSRShYU0FWRUMsICAgICAgICA0KjMy KyAxKSAvKkEgIFhTQVZFQy9YUlNUT1JDIGluc3RydWN0aW9ucyAqLwo+ICtYRU5fQ1BVRkVBVFVS RShYR0VUQlYxLCAgICAgICA0KjMyKyAyKSAvKkEgIFhHRVRCViB3aXRoICVlY3g9MSAqLwo+ICtY RU5fQ1BVRkVBVFVSRShYU0FWRVMsICAgICAgICA0KjMyKyAzKSAvKlMgIFhTQVZFUy9YUlNUT1JT IGluc3RydWN0aW9ucyAqLwo+ICAKPiAgLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQ VUlEIGxldmVsIDB4MDAwMDAwMDc6MC5lYngsIHdvcmQgNSAqLwo+IC1YRU5fQ1BVRkVBVFVSRShG U0dTQkFTRSwgICAgICA1KjMyKyAwKSAvKiAgIHtSRCxXUn17RlMsR1N9QkFTRSBpbnN0cnVjdGlv bnMgKi8KPiAtWEVOX0NQVUZFQVRVUkUoVFNDX0FESlVTVCwgICAgNSozMisgMSkgLyogICBUU0Nf QURKVVNUIE1TUiBhdmFpbGFibGUgKi8KPiAtWEVOX0NQVUZFQVRVUkUoQk1JMSwgICAgICAgICAg NSozMisgMykgLyogICAxc3QgYml0IG1hbmlwdWxhdGlvbiBleHRlbnNpb25zICovCj4gLVhFTl9D UFVGRUFUVVJFKEhMRSwgICAgICAgICAgIDUqMzIrIDQpIC8qICAgSGFyZHdhcmUgTG9jayBFbGlz aW9uICovCj4gLVhFTl9DUFVGRUFUVVJFKEFWWDIsICAgICAgICAgIDUqMzIrIDUpIC8qICAgQVZY MiBpbnN0cnVjdGlvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoRlNHU0JBU0UsICAgICAgNSozMisg MCkgLypBICB7UkQsV1J9e0ZTLEdTfUJBU0UgaW5zdHJ1Y3Rpb25zICovCj4gK1hFTl9DUFVGRUFU VVJFKFRTQ19BREpVU1QsICAgIDUqMzIrIDEpIC8qUyAgVFNDX0FESlVTVCBNU1IgYXZhaWxhYmxl ICovCj4gK1hFTl9DUFVGRUFUVVJFKEJNSTEsICAgICAgICAgIDUqMzIrIDMpIC8qQSAgMXN0IGJp dCBtYW5pcHVsYXRpb24gZXh0ZW5zaW9ucyAqLwo+ICtYRU5fQ1BVRkVBVFVSRShITEUsICAgICAg ICAgICA1KjMyKyA0KSAvKkEgIEhhcmR3YXJlIExvY2sgRWxpc2lvbiAqLwo+ICtYRU5fQ1BVRkVB VFVSRShBVlgyLCAgICAgICAgICA1KjMyKyA1KSAvKkEgIEFWWDIgaW5zdHJ1Y3Rpb25zICovCj4g IFhFTl9DUFVGRUFUVVJFKEZEUF9FWENQX09OTFksIDUqMzIrIDYpIC8qISAgeDg3IEZEUCBvbmx5 IHVwZGF0ZWQgb24gZXhjZXB0aW9uLiAqLwo+IC1YRU5fQ1BVRkVBVFVSRShTTUVQLCAgICAgICAg ICA1KjMyKyA3KSAvKiAgIFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVjdGlvbiAqLwo+ IC1YRU5fQ1BVRkVBVFVSRShCTUkyLCAgICAgICAgICA1KjMyKyA4KSAvKiAgIDJuZCBiaXQgbWFu aXB1bGF0aW9uIGV4dGVuc2lvbnMgKi8KPiAtWEVOX0NQVUZFQVRVUkUoRVJNUywgICAgICAgICAg NSozMisgOSkgLyogICBFbmhhbmNlZCBSRVAgTU9WU0IvU1RPU0IgKi8KPiAtWEVOX0NQVUZFQVRV UkUoSU5WUENJRCwgICAgICAgNSozMisxMCkgLyogICBJbnZhbGlkYXRlIFByb2Nlc3MgQ29udGV4 dCBJRCAqLwo+IC1YRU5fQ1BVRkVBVFVSRShSVE0sICAgICAgICAgICA1KjMyKzExKSAvKiAgIFJl c3RyaWN0ZWQgVHJhbnNhY3Rpb25hbCBNZW1vcnkgKi8KPiArWEVOX0NQVUZFQVRVUkUoU01FUCwg ICAgICAgICAgNSozMisgNykgLypTICBTdXBlcnZpc29yIE1vZGUgRXhlY3V0aW9uIFByb3RlY3Rp b24gKi8KPiArWEVOX0NQVUZFQVRVUkUoQk1JMiwgICAgICAgICAgNSozMisgOCkgLypBICAybmQg Yml0IG1hbmlwdWxhdGlvbiBleHRlbnNpb25zICovCj4gK1hFTl9DUFVGRUFUVVJFKEVSTVMsICAg ICAgICAgIDUqMzIrIDkpIC8qQSAgRW5oYW5jZWQgUkVQIE1PVlNCL1NUT1NCICovCj4gK1hFTl9D UFVGRUFUVVJFKElOVlBDSUQsICAgICAgIDUqMzIrMTApIC8qSCAgSW52YWxpZGF0ZSBQcm9jZXNz IENvbnRleHQgSUQgKi8KPiArWEVOX0NQVUZFQVRVUkUoUlRNLCAgICAgICAgICAgNSozMisxMSkg LypBICBSZXN0cmljdGVkIFRyYW5zYWN0aW9uYWwgTWVtb3J5ICovCj4gIFhFTl9DUFVGRUFUVVJF KFBRTSwgICAgICAgICAgIDUqMzIrMTIpIC8qICAgUGxhdGZvcm0gUW9TIE1vbml0b3JpbmcgKi8K PiAgWEVOX0NQVUZFQVRVUkUoTk9fRlBVX1NFTCwgICAgNSozMisxMykgLyohICBGUFUgQ1MvRFMg c3RvcmVkIGFzIHplcm8gKi8KPiAtWEVOX0NQVUZFQVRVUkUoTVBYLCAgICAgICAgICAgNSozMisx NCkgLyogICBNZW1vcnkgUHJvdGVjdGlvbiBFeHRlbnNpb25zICovCj4gK1hFTl9DUFVGRUFUVVJF KE1QWCwgICAgICAgICAgIDUqMzIrMTQpIC8qUyAgTWVtb3J5IFByb3RlY3Rpb24gRXh0ZW5zaW9u cyAqLwo+ICBYRU5fQ1BVRkVBVFVSRShQUUUsICAgICAgICAgICA1KjMyKzE1KSAvKiAgIFBsYXRm b3JtIFFvUyBFbmZvcmNlbWVudCAqLwo+IC1YRU5fQ1BVRkVBVFVSRShSRFNFRUQsICAgICAgICA1 KjMyKzE4KSAvKiAgIFJEU0VFRCBpbnN0cnVjdGlvbiAqLwo+IC1YRU5fQ1BVRkVBVFVSRShBRFgs ICAgICAgICAgICA1KjMyKzE5KSAvKiAgIEFEQ1gsIEFET1ggaW5zdHJ1Y3Rpb25zICovCj4gLVhF Tl9DUFVGRUFUVVJFKFNNQVAsICAgICAgICAgIDUqMzIrMjApIC8qICAgU3VwZXJ2aXNvciBNb2Rl IEFjY2VzcyBQcmV2ZW50aW9uICovCj4gLVhFTl9DUFVGRUFUVVJFKFBDT01NSVQsICAgICAgIDUq MzIrMjIpIC8qICAgUENPTU1JVCBpbnN0cnVjdGlvbiAqLwo+IC1YRU5fQ1BVRkVBVFVSRShDTEZM VVNIT1BULCAgICA1KjMyKzIzKSAvKiAgIENMRkxVU0hPUFQgaW5zdHJ1Y3Rpb24gKi8KPiAtWEVO X0NQVUZFQVRVUkUoQ0xXQiwgICAgICAgICAgNSozMisyNCkgLyogICBDTFdCIGluc3RydWN0aW9u ICovCj4gLVhFTl9DUFVGRUFUVVJFKFNIQSwgICAgICAgICAgIDUqMzIrMjkpIC8qICAgU0hBMSAm IFNIQTI1NiBpbnN0cnVjdGlvbnMgKi8KPiArWEVOX0NQVUZFQVRVUkUoUkRTRUVELCAgICAgICAg NSozMisxOCkgLypBICBSRFNFRUQgaW5zdHJ1Y3Rpb24gKi8KPiArWEVOX0NQVUZFQVRVUkUoQURY LCAgICAgICAgICAgNSozMisxOSkgLypBICBBRENYLCBBRE9YIGluc3RydWN0aW9ucyAqLwo+ICtY RU5fQ1BVRkVBVFVSRShTTUFQLCAgICAgICAgICA1KjMyKzIwKSAvKlMgIFN1cGVydmlzb3IgTW9k ZSBBY2Nlc3MgUHJldmVudGlvbiAqLwo+ICtYRU5fQ1BVRkVBVFVSRShQQ09NTUlULCAgICAgICA1 KjMyKzIyKSAvKkEgIFBDT01NSVQgaW5zdHJ1Y3Rpb24gKi8KPiArWEVOX0NQVUZFQVRVUkUoQ0xG TFVTSE9QVCwgICAgNSozMisyMykgLypBICBDTEZMVVNIT1BUIGluc3RydWN0aW9uICovCj4gK1hF Tl9DUFVGRUFUVVJFKENMV0IsICAgICAgICAgIDUqMzIrMjQpIC8qQSAgQ0xXQiBpbnN0cnVjdGlv biAqLwo+ICtYRU5fQ1BVRkVBVFVSRShTSEEsICAgICAgICAgICA1KjMyKzI5KSAvKkEgIFNIQTEg JiBTSEEyNTYgaW5zdHJ1Y3Rpb25zICovCj4gIAo+ICAvKiBJbnRlbC1kZWZpbmVkIENQVSBmZWF0 dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAwMDAwNzowLmVjeCwgd29yZCA2ICovCj4gLVhFTl9DUFVG RUFUVVJFKFBSRUZFVENIV1QxLCAgIDYqMzIrIDApIC8qICAgUFJFRkVUQ0hXVDEgaW5zdHJ1Y3Rp b24gKi8KPiAtWEVOX0NQVUZFQVRVUkUoUEtVLCAgICAgICAgICAgNiozMisgMykgLyogICBQcm90 ZWN0aW9uIEtleXMgZm9yIFVzZXJzcGFjZSAqLwo+ICtYRU5fQ1BVRkVBVFVSRShQUkVGRVRDSFdU MSwgICA2KjMyKyAwKSAvKkEgIFBSRUZFVENIV1QxIGluc3RydWN0aW9uICovCj4gK1hFTl9DUFVG RUFUVVJFKFBLVSwgICAgICAgICAgIDYqMzIrIDMpIC8qSCAgUHJvdGVjdGlvbiBLZXlzIGZvciBV c2Vyc3BhY2UgKi8KPiAgWEVOX0NQVUZFQVRVUkUoT1NQS0UsICAgICAgICAgNiozMisgNCkgLyoh ICBPUyBQcm90ZWN0aW9uIEtleXMgRW5hYmxlICovCj4gIAo+ICAvKiBBTUQtZGVmaW5lZCBDUFUg ZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4ODAwMDAwMDcuZWR4LCB3b3JkIDcgKi8KPiBAQCAtMjI3 LDcgKzIzMiw3IEBAIFhFTl9DUFVGRUFUVVJFKElUU0MsICAgICAgICAgIDcqMzIrIDgpIC8qICAg SW52YXJpYW50IFRTQyAqLwo+ICBYRU5fQ1BVRkVBVFVSRShFRlJPLCAgICAgICAgICA3KjMyKzEw KSAvKiAgIEFQRVJGL01QRVJGIFJlYWQgT25seSBpbnRlcmZhY2UgKi8KPiAgCj4gIC8qIEFNRC1k ZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHg4MDAwMDAwOC5lYngsIHdvcmQgOCAq Lwo+IC1YRU5fQ1BVRkVBVFVSRShDTFpFUk8sICAgICAgICA4KjMyKyAwKSAvKiAgIENMWkVSTyBp bnN0cnVjdGlvbiAqLwo+ICtYRU5fQ1BVRkVBVFVSRShDTFpFUk8sICAgICAgICA4KjMyKyAwKSAv KkEgIENMWkVSTyBpbnN0cnVjdGlvbiAqLwo+ICAKPiAgI2VuZGlmIC8qIFhFTl9DUFVGRUFUVVJF ICovCj4gIAo+IGRpZmYgLS1naXQgYS94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5IGIveGVuL3Rvb2xz L2dlbi1jcHVpZC5weQo+IGluZGV4IDUxNzFjNmUuLjQ1MmMyNmEgMTAwNzU1Cj4gLS0tIGEveGVu L3Rvb2xzL2dlbi1jcHVpZC5weQo+ICsrKyBiL3hlbi90b29scy9nZW4tY3B1aWQucHkKPiBAQCAt MTcsMTIgKzE3LDE4IEBAIGNsYXNzIFN0YXRlKG9iamVjdCk6Cj4gICAgICAgICAgIyBTdGF0ZSBw YXJzZWQgZnJvbSBpbnB1dAo+ICAgICAgICAgIHNlbGYubmFtZXMgPSB7fSAjIE5hbWUgPT4gdmFs dWUgbWFwcGluZwo+ICAgICAgICAgIHNlbGYucmF3X3NwZWNpYWwgPSBzZXQoKQo+ICsgICAgICAg IHNlbGYucmF3X3B2ID0gc2V0KCkKPiArICAgICAgICBzZWxmLnJhd19odm1fc2hhZG93ID0gc2V0 KCkKPiArICAgICAgICBzZWxmLnJhd19odm1faGFwID0gc2V0KCkKPiAgCj4gICAgICAgICAgIyBT dGF0ZSBjYWxjdWxhdGVkCj4gICAgICAgICAgc2VsZi5ucl9lbnRyaWVzID0gMCAjIE51bWJlciBv ZiB3b3JkcyBpbiBhIGZlYXR1cmVzZXQKPiAgICAgICAgICBzZWxmLmNvbW1vbl8xZCA9IDAgIyBD b21tb24gZmVhdHVyZXMgYmV0d2VlbiAxZCBhbmQgZTFkCj4gICAgICAgICAgc2VsZi5rbm93biA9 IFtdICMgQWxsIGtub3duIGZlYXR1cmVzCj4gICAgICAgICAgc2VsZi5zcGVjaWFsID0gW10gIyBG ZWF0dXJlcyB3aXRoIHNwZWNpYWwgc2VtYW50aWNzCj4gKyAgICAgICAgc2VsZi5wdiA9IFtdCj4g KyAgICAgICAgc2VsZi5odm1fc2hhZG93ID0gW10KPiArICAgICAgICBzZWxmLmh2bV9oYXAgPSBb XQo+ICAKPiAgZGVmIHBhcnNlX2RlZmluaXRpb25zKHN0YXRlKToKPiAgICAgICIiIgo+IEBAIC0z Miw3ICszOCw3IEBAIGRlZiBwYXJzZV9kZWZpbml0aW9ucyhzdGF0ZSk6Cj4gICAgICBmZWF0X3Jl Z2V4ID0gcmUuY29tcGlsZSgKPiAgICAgICAgICByIl5YRU5fQ1BVRkVBVFVSRVwoKFtBLVowLTlf XSspLCIKPiAgICAgICAgICAiXHMrKFtcc1xkXStcKltcc1xkXStcK1tcc1xkXSspXCkiCj4gLSAg ICAgICAgIlxzKy9cKihbIV0qKSAuKiQiKQo+ICsgICAgICAgICJccysvXCooW1x3IV0qKSAuKiQi KQo+ICAKPiAgICAgIHRoaXMgPSBzeXMubW9kdWxlc1tfX25hbWVfX10KPiAgCj4gQEAgLTcyLDYg Kzc4LDE2IEBAIGRlZiBwYXJzZV9kZWZpbml0aW9ucyhzdGF0ZSk6Cj4gIAo+ICAgICAgICAgICAg ICBpZiBhID09ICIhIjoKPiAgICAgICAgICAgICAgICAgIHN0YXRlLnJhd19zcGVjaWFsLmFkZCh2 YWwpCj4gKyAgICAgICAgICAgIGVsaWYgYSBpbiAiQVNIIjoKPiArICAgICAgICAgICAgICAgIGlm IGEgPT0gIkEiOgo+ICsgICAgICAgICAgICAgICAgICAgIHN0YXRlLnJhd19wdi5hZGQodmFsKQo+ ICsgICAgICAgICAgICAgICAgICAgIHN0YXRlLnJhd19odm1fc2hhZG93LmFkZCh2YWwpCj4gKyAg ICAgICAgICAgICAgICAgICAgc3RhdGUucmF3X2h2bV9oYXAuYWRkKHZhbCkKPiArICAgICAgICAg ICAgICAgIGVsaWYgYXR0ciA9PSAiUyI6Cj4gKyAgICAgICAgICAgICAgICAgICAgc3RhdGUucmF3 X2h2bV9zaGFkb3cuYWRkKHZhbCkKPiArICAgICAgICAgICAgICAgICAgICBzdGF0ZS5yYXdfaHZt X2hhcC5hZGQodmFsKQo+ICsgICAgICAgICAgICAgICAgZWxpZiBhdHRyID09ICJIIjoKPiArICAg ICAgICAgICAgICAgICAgICBzdGF0ZS5yYXdfaHZtX2hhcC5hZGQodmFsKQo+ICAgICAgICAgICAg ICBlbHNlOgo+ICAgICAgICAgICAgICAgICAgcmFpc2UgRmFpbCgiVW5yZWNvZ25pc2VkIGF0dHJp YnV0ZSAnJXMnIGZvciAlcyIgJSAoYSwgbmFtZSkpCj4gIAo+IEBAIC0xMjQsNiArMTQwLDkgQEAg ZGVmIGNydW5jaF9udW1iZXJzKHN0YXRlKToKPiAgCj4gICAgICBzdGF0ZS5jb21tb25fMWQgPSBm ZWF0dXJlc2V0X3RvX3VpbnQzMnMoY29tbW9uXzFkLCAxKVswXQo+ICAgICAgc3RhdGUuc3BlY2lh bCA9IGZlYXR1cmVzZXRfdG9fdWludDMycyhzdGF0ZS5yYXdfc3BlY2lhbCwgbnJfZW50cmllcykK PiArICAgIHN0YXRlLnB2ID0gZmVhdHVyZXNldF90b191aW50MzJzKHN0YXRlLnJhd19wdiwgbnJf ZW50cmllcykKPiArICAgIHN0YXRlLmh2bV9zaGFkb3cgPSBmZWF0dXJlc2V0X3RvX3VpbnQzMnMo c3RhdGUucmF3X2h2bV9zaGFkb3csIG5yX2VudHJpZXMpCj4gKyAgICBzdGF0ZS5odm1faGFwID0g ZmVhdHVyZXNldF90b191aW50MzJzKHN0YXRlLnJhd19odm1faGFwLCBucl9lbnRyaWVzKQo+ICAK PiAgCj4gIGRlZiB3cml0ZV9yZXN1bHRzKHN0YXRlKToKPiBAQCAtMTQ1LDEwICsxNjQsMTkgQEAg ZGVmIHdyaXRlX3Jlc3VsdHMoc3RhdGUpOgo+ICAjZGVmaW5lIElOSVRfS05PV05fRkVBVFVSRVMg eyBcXFxuJXNcbn0KPiAgCj4gICNkZWZpbmUgSU5JVF9TUEVDSUFMX0ZFQVRVUkVTIHsgXFxcbiVz XG59Cj4gKwo+ICsjZGVmaW5lIElOSVRfUFZfRkVBVFVSRVMgeyBcXFxuJXNcbn0KPiArCj4gKyNk ZWZpbmUgSU5JVF9IVk1fU0hBRE9XX0ZFQVRVUkVTIHsgXFxcbiVzXG59Cj4gKwo+ICsjZGVmaW5l IElOSVRfSFZNX0hBUF9GRUFUVVJFUyB7IFxcXG4lc1xufQo+ICAiIiIgJSAoc3RhdGUubnJfZW50 cmllcywKPiAgICAgICAgIHN0YXRlLmNvbW1vbl8xZCwKPiAgICAgICAgIGZvcm1hdF91aW50MzJz KHN0YXRlLmtub3duLCA0KSwKPiAgICAgICAgIGZvcm1hdF91aW50MzJzKHN0YXRlLnNwZWNpYWws IDQpLAo+ICsgICAgICAgZm9ybWF0X3VpbnQzMnMoc3RhdGUucHYsIDQpLAo+ICsgICAgICAgZm9y bWF0X3VpbnQzMnMoc3RhdGUuaHZtX3NoYWRvdywgNCksCj4gKyAgICAgICBmb3JtYXRfdWludDMy cyhzdGF0ZS5odm1faGFwLCA0KSwKPiAgICAgICAgICkpCj4gIAo+ICAgICAgc3RhdGUub3V0cHV0 LndyaXRlKAo+IC0tIAo+IDIuMS40Cj4gCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Cj4gWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKPiBodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==