From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id A9C7D8982C for ; Wed, 5 Jun 2019 13:19:49 +0000 (UTC) From: Jani Nikula In-Reply-To: <20190605125756.GN5942@intel.com> References: <20190605123300.2709-1-jani.nikula@intel.com> <20190605125756.GN5942@intel.com> Date: Wed, 05 Jun 2019 16:22:53 +0300 Message-ID: <87h8942mky.fsf@intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t] tools/intel_vbt_decode: update vbt defs from kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Ville =?utf-8?B?U3lyasOkbMOk?= Cc: igt-dev@lists.freedesktop.org List-ID: T24gV2VkLCAwNSBKdW4gMjAxOSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gV2VkLCBKdW4gMDUsIDIwMTkgYXQgMDM6MzM6MDBQTSAr MDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IFN5bmMgdXAgdG8gY29tbWl0IGY0MWM2MTUzMTBk MiAoImRybS9pOTE1L2Jpb3M6IGFkZCBhbiBlbnVtIGZvciBCREIKPj4gYmxvY2sgSURzIikgaW4g a2VybmVsIGludGVsX3ZidF9kZWZzLmgsIGFuZCB1cGRhdGUgdGhlIHRvb2wgd2l0aCB0aGUKPj4g c3RydWN0IHJlbmFtZXMuCj4+IAo+PiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5u aWt1bGFAaW50ZWwuY29tPgo+Cj4gUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+CgpUaGFua3MsIHB1c2hlZC4KCkJSLApKYW5pLgoKCj4K Pj4gLS0tCj4+ICB0b29scy9pbnRlbF92YnRfZGVjb2RlLmMgfCAgIDYgKy0KPj4gIHRvb2xzL2lu dGVsX3ZidF9kZWZzLmggICB8IDY1NyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPj4gIDIgZmlsZXMgY2hhbmdlZCwgMjgwIGluc2VydGlvbnMoKyksIDM4MyBkZWxldGlv bnMoLSkKPj4gCj4+IGRpZmYgLS1naXQgYS90b29scy9pbnRlbF92YnRfZGVjb2RlLmMgYi90b29s cy9pbnRlbF92YnRfZGVjb2RlLmMKPj4gaW5kZXggZDgwYjFkYWU3NzI1Li4zOGVjY2M0OGYzOGIg MTAwNjQ0Cj4+IC0tLSBhL3Rvb2xzL2ludGVsX3ZidF9kZWNvZGUuYwo+PiArKysgYi90b29scy9p bnRlbF92YnRfZGVjb2RlLmMKPj4gQEAgLTIyOCw3ICsyMjgsNyBAQCBzdGF0aWMgdm9pZCBkdW1w X2JhY2tsaWdodF9pbmZvKHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAo+PiAgCQkJCWNvbnN0IHN0 cnVjdCBiZGJfYmxvY2sgKmJsb2NrKQo+PiAgewo+PiAgCWNvbnN0IHN0cnVjdCBiZGJfbGZwX2Jh Y2tsaWdodF9kYXRhICpiYWNrbGlnaHQgPSBibG9jay0+ZGF0YTsKPj4gLQljb25zdCBzdHJ1Y3Qg YmRiX2xmcF9iYWNrbGlnaHRfZGF0YV9lbnRyeSAqYmxjOwo+PiArCWNvbnN0IHN0cnVjdCBsZnBf YmFja2xpZ2h0X2RhdGFfZW50cnkgKmJsYzsKPj4gIAo+PiAgCWlmIChzaXplb2YoKmJsYykgIT0g YmFja2xpZ2h0LT5lbnRyeV9zaXplKSB7Cj4+ICAJCXByaW50ZigiXHRCYWNrbGlnaHQgc3RydWN0 IHNpemVzIGRvbid0IG1hdGNoIChleHBlY3RlZCAlenUsIGdvdCAldSksIHNraXBwaW5nXG4iLAo+ PiBAQCAtNjI5LDggKzYyOSw4IEBAIHN0YXRpYyB2b2lkIGR1bXBfbHZkc19kYXRhKHN0cnVjdCBj b250ZXh0ICpjb250ZXh0LAo+PiAgCQljb25zdCB1aW50OF90ICpsZnBfZGF0YV9wdHIgPQo+PiAg CQkgICAgKGNvbnN0IHVpbnQ4X3QgKikgbHZkc19kYXRhLT5kYXRhICsgbGZwX2RhdGFfc2l6ZSAq IGk7Cj4+ICAJCWNvbnN0IHVpbnQ4X3QgKnRpbWluZ19kYXRhID0gbGZwX2RhdGFfcHRyICsgZHZv X29mZnNldDsKPj4gLQkJY29uc3Qgc3RydWN0IGJkYl9sdmRzX2xmcF9kYXRhX2VudHJ5ICpsZnBf ZGF0YSA9Cj4+IC0JCSAgICAoY29uc3Qgc3RydWN0IGJkYl9sdmRzX2xmcF9kYXRhX2VudHJ5ICop bGZwX2RhdGFfcHRyOwo+PiArCQljb25zdCBzdHJ1Y3QgbHZkc19sZnBfZGF0YV9lbnRyeSAqbGZw X2RhdGEgPQo+PiArCQkgICAgKGNvbnN0IHN0cnVjdCBsdmRzX2xmcF9kYXRhX2VudHJ5ICopbGZw X2RhdGFfcHRyOwo+PiAgCQljaGFyIG1hcmtlcjsKPj4gIAo+PiAgCQlpZiAoaSAhPSBjb250ZXh0 LT5wYW5lbF90eXBlICYmICFjb250ZXh0LT5kdW1wX2FsbF9wYW5lbF90eXBlcykKPj4gZGlmZiAt LWdpdCBhL3Rvb2xzL2ludGVsX3ZidF9kZWZzLmggYi90b29scy9pbnRlbF92YnRfZGVmcy5oCj4+ IGluZGV4IDNmNWVmZjQ5MTA1Yi4uODllZjE0Y2FmYjZiIDEwMDY0NAo+PiAtLS0gYS90b29scy9p bnRlbF92YnRfZGVmcy5oCj4+ICsrKyBiL3Rvb2xzL2ludGVsX3ZidF9kZWZzLmgKPj4gQEAgLTc1 LDY1ICs3NSw1MSBAQCBzdHJ1Y3QgYmRiX2hlYWRlciB7Cj4+ICAJdTE2IGJkYl9zaXplOwo+PiAg fSBfX3BhY2tlZDsKPj4gIAo+PiAtLyogc3RyaWN0bHkgc3BlYWtpbmcsIHRoaXMgaXMgYSAic2tp cCIgYmxvY2ssIGJ1dCBpdCBoYXMgaW50ZXJlc3RpbmcgaW5mbyAqLwo+PiAtc3RydWN0IHZiaW9z X2RhdGEgewo+PiAtCXU4IHR5cGU7IC8qIDAgPT0gZGVza3RvcCwgMSA9PSBtb2JpbGUgKi8KPj4g LQl1OCByZWxzdGFnZTsKPj4gLQl1OCBjaGlwc2V0Owo+PiAtCXU4IGx2ZHNfcHJlc2VudDoxOwo+ PiAtCXU4IHR2X3ByZXNlbnQ6MTsKPj4gLQl1OCByc3ZkMjo2OyAvKiBmaW5pc2ggYnl0ZSAqLwo+ PiAtCXU4IHJzdmQzWzRdOwo+PiAtCXU4IHNpZ25vblsxNTVdOwo+PiAtCXU4IGNvcHlyaWdodFs2 MV07Cj4+IC0JdTE2IGNvZGVfc2VnbWVudDsKPj4gLQl1OCBkb3NfYm9vdF9tb2RlOwo+PiAtCXU4 IGJhbmR3aWR0aF9wZXJjZW50Owo+PiAtCXU4IHJzdmQ0OyAvKiBwb3B1cCBtZW1vcnkgc2l6ZSAq Lwo+PiAtCXU4IHJlc2l6ZV9wY2lfYmlvczsKPj4gLQl1OCByc3ZkNTsgLyogaXMgY3J0IGFscmVh ZHkgb24gZGRjMiAqLwo+PiAtfSBfX3BhY2tlZDsKPj4gLQo+PiAgLyoKPj4gICAqIFRoZXJlIGFy ZSBzZXZlcmFsIHR5cGVzIG9mIEJJT1MgZGF0YSBibG9ja3MgKEJEQnMpLCBlYWNoIGJsb2NrIGhh cwo+PiAgICogYW4gSUQgYW5kIHNpemUgaW4gdGhlIGZpcnN0IDMgYnl0ZXMgKElEIGluIGZpcnN0 LCBzaXplIGluIG5leHQgMikuCj4+ICAgKiBLbm93biB0eXBlcyBhcmUgbGlzdGVkIGJlbG93Lgo+ PiAgICovCj4+IC0jZGVmaW5lIEJEQl9HRU5FUkFMX0ZFQVRVUkVTCSAgMQo+PiAtI2RlZmluZSBC REJfR0VORVJBTF9ERUZJTklUSU9OUwkgIDIKPj4gLSNkZWZpbmUgQkRCX09MRF9UT0dHTEVfTElT VAkgIDMKPj4gLSNkZWZpbmUgQkRCX01PREVfU1VQUE9SVF9MSVNUCSAgNAo+PiAtI2RlZmluZSBC REJfR0VORVJJQ19NT0RFX1RBQkxFCSAgNQo+PiAtI2RlZmluZSBCREJfRVhUX01NSU9fUkVHUwkg IDYKPj4gLSNkZWZpbmUgQkRCX1NXRl9JTwkJICA3Cj4+IC0jZGVmaW5lIEJEQl9TV0ZfTU1JTwkJ ICA4Cj4+IC0jZGVmaW5lIEJEQl9QU1IJCQkgIDkKPj4gLSNkZWZpbmUgQkRCX01PREVfUkVNT1ZB TF9UQUJMRQkgMTAKPj4gLSNkZWZpbmUgQkRCX0NISUxEX0RFVklDRV9UQUJMRQkgMTEKPj4gLSNk ZWZpbmUgQkRCX0RSSVZFUl9GRUFUVVJFUwkgMTIKPj4gLSNkZWZpbmUgQkRCX0RSSVZFUl9QRVJT SVNURU5DRQkgMTMKPj4gLSNkZWZpbmUgQkRCX0VYVF9UQUJMRV9QVFJTCSAxNAo+PiAtI2RlZmlu ZSBCREJfRE9UX0NMT0NLX09WRVJSSURFCSAxNQo+PiAtI2RlZmluZSBCREJfRElTUExBWV9TRUxF Q1QJIDE2Cj4+IC0vKiAxNyByc3ZkICovCj4+IC0jZGVmaW5lIEJEQl9EUklWRVJfUk9UQVRJT04J IDE4Cj4+IC0jZGVmaW5lIEJEQl9ESVNQTEFZX1JFTU9WRQkgMTkKPj4gLSNkZWZpbmUgQkRCX09F TV9DVVNUT00JCSAyMAo+PiAtI2RlZmluZSBCREJfRUZQX0xJU1QJCSAyMSAvKiB3b3JrYXJvdW5k cyBmb3IgVkdBIGhzeW5jL3ZzeW5jICovCj4+IC0jZGVmaW5lIEJEQl9TRFZPX0xWRFNfT1BUSU9O UwkgMjIKPj4gLSNkZWZpbmUgQkRCX1NEVk9fUEFORUxfRFREUwkgMjMKPj4gLSNkZWZpbmUgQkRC X1NEVk9fTFZEU19QTlBfSURTCSAyNAo+PiAtI2RlZmluZSBCREJfU0RWT19MVkRTX1BPV0VSX1NF UQkgMjUKPj4gLSNkZWZpbmUgQkRCX1RWX09QVElPTlMJCSAyNgo+PiAtI2RlZmluZSBCREJfRURQ CQkJIDI3Cj4+IC0jZGVmaW5lIEJEQl9MVkRTX09QVElPTlMJIDQwCj4+IC0jZGVmaW5lIEJEQl9M VkRTX0xGUF9EQVRBX1BUUlMJIDQxCj4+IC0jZGVmaW5lIEJEQl9MVkRTX0xGUF9EQVRBCSA0Mgo+ PiAtI2RlZmluZSBCREJfTFZEU19CQUNLTElHSFQJIDQzCj4+IC0jZGVmaW5lIEJEQl9MVkRTX1BP V0VSCQkgNDQKPj4gLSNkZWZpbmUgQkRCX01JUElfQ09ORklHCQkgNTIKPj4gLSNkZWZpbmUgQkRC X01JUElfU0VRVUVOQ0UJIDUzCj4+IC0jZGVmaW5lIEJEQl9TS0lQCQkyNTQgLyogVkJJT1MgcHJp dmF0ZSBibG9jaywgaWdub3JlICovCj4+ICtlbnVtIGJkYl9ibG9ja19pZCB7Cj4+ICsJQkRCX0dF TkVSQUxfRkVBVFVSRVMJCT0gMSwKPj4gKwlCREJfR0VORVJBTF9ERUZJTklUSU9OUwkJPSAyLAo+ PiArCUJEQl9PTERfVE9HR0xFX0xJU1QJCT0gMywKPj4gKwlCREJfTU9ERV9TVVBQT1JUX0xJU1QJ CT0gNCwKPj4gKwlCREJfR0VORVJJQ19NT0RFX1RBQkxFCQk9IDUsCj4+ICsJQkRCX0VYVF9NTUlP X1JFR1MJCT0gNiwKPj4gKwlCREJfU1dGX0lPCQkJPSA3LAo+PiArCUJEQl9TV0ZfTU1JTwkJCT0g OCwKPj4gKwlCREJfUFNSCQkJCT0gOSwKPj4gKwlCREJfTU9ERV9SRU1PVkFMX1RBQkxFCQk9IDEw LAo+PiArCUJEQl9DSElMRF9ERVZJQ0VfVEFCTEUJCT0gMTEsCj4+ICsJQkRCX0RSSVZFUl9GRUFU VVJFUwkJPSAxMiwKPj4gKwlCREJfRFJJVkVSX1BFUlNJU1RFTkNFCQk9IDEzLAo+PiArCUJEQl9F WFRfVEFCTEVfUFRSUwkJPSAxNCwKPj4gKwlCREJfRE9UX0NMT0NLX09WRVJSSURFCQk9IDE1LAo+ PiArCUJEQl9ESVNQTEFZX1NFTEVDVAkJPSAxNiwKPj4gKwlCREJfRFJJVkVSX1JPVEFUSU9OCQk9 IDE4LAo+PiArCUJEQl9ESVNQTEFZX1JFTU9WRQkJPSAxOSwKPj4gKwlCREJfT0VNX0NVU1RPTQkJ CT0gMjAsCj4+ICsJQkRCX0VGUF9MSVNUCQkJPSAyMSwgLyogd29ya2Fyb3VuZHMgZm9yIFZHQSBo c3luYy92c3luYyAqLwo+PiArCUJEQl9TRFZPX0xWRFNfT1BUSU9OUwkJPSAyMiwKPj4gKwlCREJf U0RWT19QQU5FTF9EVERTCQk9IDIzLAo+PiArCUJEQl9TRFZPX0xWRFNfUE5QX0lEUwkJPSAyNCwK Pj4gKwlCREJfU0RWT19MVkRTX1BPV0VSX1NFUQkJPSAyNSwKPj4gKwlCREJfVFZfT1BUSU9OUwkJ CT0gMjYsCj4+ICsJQkRCX0VEUAkJCQk9IDI3LAo+PiArCUJEQl9MVkRTX09QVElPTlMJCT0gNDAs Cj4+ICsJQkRCX0xWRFNfTEZQX0RBVEFfUFRSUwkJPSA0MSwKPj4gKwlCREJfTFZEU19MRlBfREFU QQkJPSA0MiwKPj4gKwlCREJfTFZEU19CQUNLTElHSFQJCT0gNDMsCj4+ICsJQkRCX0xWRFNfUE9X RVIJCQk9IDQ0LAo+PiArCUJEQl9NSVBJX0NPTkZJRwkJCT0gNTIsCj4+ICsJQkRCX01JUElfU0VR VUVOQ0UJCT0gNTMsCj4+ICsJQkRCX1NLSVAJCQk9IDI1NCwgLyogVkJJT1MgcHJpdmF0ZSBibG9j aywgaWdub3JlICovCj4+ICt9Owo+PiArCj4+ICsvKgo+PiArICogQmxvY2sgMSAtIEdlbmVyYWwg Qml0IERlZmluaXRpb25zCj4+ICsgKi8KPj4gIAo+PiAgc3RydWN0IGJkYl9nZW5lcmFsX2ZlYXR1 cmVzIHsKPj4gICAgICAgICAgLyogYml0cyAxICovCj4+IEBAIC0xNzYsNiArMTYyLDEwIEBAIHN0 cnVjdCBiZGJfZ2VuZXJhbF9mZWF0dXJlcyB7Cj4+ICAJdTggcnN2ZDExOjI7IC8qIGZpbmlzaCBi eXRlICovCj4+ICB9IF9fcGFja2VkOwo+PiAgCj4+ICsvKgo+PiArICogQmxvY2sgMiAtIEdlbmVy YWwgQnl0ZXMgRGVmaW5pdGlvbgo+PiArICovCj4+ICsKPj4gIC8qIHByZS05MTUgKi8KPj4gICNk ZWZpbmUgR1BJT19QSU5fRFZJX0xWRFMJMHgwMyAvKiAiRFZJL0xWRFMgRERDIEdQSU8gcGlucyIg Ki8KPj4gICNkZWZpbmUgR1BJT19QSU5fQUREX0kyQwkweDA1IC8qICJBRERDQVJEIEkyQyBHUElP IHBpbnMiICovCj4+IEBAIC0yOTksNiArMjg5LDggQEAgc3RydWN0IGJkYl9nZW5lcmFsX2ZlYXR1 cmVzIHsKPj4gICNkZWZpbmUgRFZPX1BPUlRfRFBBCQkxMAo+PiAgI2RlZmluZSBEVk9fUE9SVF9E UEUJCTExCQkJCS8qIDE5MyAqLwo+PiAgI2RlZmluZSBEVk9fUE9SVF9IRE1JRQkJMTIJCQkJLyog MTkzICovCj4+ICsjZGVmaW5lIERWT19QT1JUX0RQRgkJMTMJCQkJLyogTi9BICovCj4+ICsjZGVm aW5lIERWT19QT1JUX0hETUlGCQkxNAkJCQkvKiBOL0EgKi8KPj4gICNkZWZpbmUgRFZPX1BPUlRf TUlQSUEJCTIxCQkJCS8qIDE3MSAqLwo+PiAgI2RlZmluZSBEVk9fUE9SVF9NSVBJQgkJMjIJCQkJ LyogMTcxICovCj4+ICAjZGVmaW5lIERWT19QT1JUX01JUElDCQkyMwkJCQkvKiAxNzEgKi8KPj4g QEAgLTMxNiw4ICszMDgsMjYgQEAgZW51bSB2YnRfZ21idXNfZGRpIHsKPj4gIAlERENfQlVTX0RE SV9DLAo+PiAgCUREQ19CVVNfRERJX0QsCj4+ICAJRERDX0JVU19ERElfRiwKPj4gKwlJQ0xfRERD X0JVU19ERElfQSA9IDB4MSwKPj4gKwlJQ0xfRERDX0JVU19ERElfQiwKPj4gKwlJQ0xfRERDX0JV U19QT1JUXzEgPSAweDQsCj4+ICsJSUNMX0REQ19CVVNfUE9SVF8yLAo+PiArCUlDTF9ERENfQlVT X1BPUlRfMywKPj4gKwlJQ0xfRERDX0JVU19QT1JUXzQsCj4+ICB9Owo+PiAgCj4+ICsjZGVmaW5l IERQX0FVWF9BIDB4NDAKPj4gKyNkZWZpbmUgRFBfQVVYX0IgMHgxMAo+PiArI2RlZmluZSBEUF9B VVhfQyAweDIwCj4+ICsjZGVmaW5lIERQX0FVWF9EIDB4MzAKPj4gKyNkZWZpbmUgRFBfQVVYX0Ug MHg1MAo+PiArI2RlZmluZSBEUF9BVVhfRiAweDYwCj4+ICsKPj4gKyNkZWZpbmUgVkJUX0RQX01B WF9MSU5LX1JBVEVfSEJSMwkwCj4+ICsjZGVmaW5lIFZCVF9EUF9NQVhfTElOS19SQVRFX0hCUjIJ MQo+PiArI2RlZmluZSBWQlRfRFBfTUFYX0xJTktfUkFURV9IQlIJMgo+PiArI2RlZmluZSBWQlRf RFBfTUFYX0xJTktfUkFURV9MQlIJMwo+PiArCj4+ICAvKgo+PiAgICogVGhlIGNoaWxkIGRldmlj ZSBjb25maWcsIGFrYSB0aGUgZGlzcGxheSBkZXZpY2UgZGF0YSBzdHJ1Y3R1cmUsIHByb3ZpZGVz IGEKPj4gICAqIGRlc2NyaXB0aW9uIG9mIGEgcG9ydCBhbmQgaXRzIGNvbmZpZ3VyYXRpb24gb24g dGhlIHBsYXRmb3JtLgo+PiBAQCAtMzgyLDcgKzM5Miw4IEBAIHN0cnVjdCBjaGlsZF9kZXZpY2Vf Y29uZmlnIHsKPj4gIAkJCXU4IGxzcGNvbjoxOwkJCQkvKiAxOTIgKi8KPj4gIAkJCXU4IGlib29z dDoxOwkJCQkvKiAxOTYgKi8KPj4gIAkJCXU4IGhwZF9pbnZlcnQ6MTsJCQkvKiAxOTYgKi8KPj4g LQkJCXU4IGZsYWdfcmVzZXJ2ZWQ6MzsKPj4gKwkJCXU4IHVzZV92YnRfdnN3aW5nOjE7CQkJLyog MjE4ICovCj4+ICsJCQl1OCBmbGFnX3Jlc2VydmVkOjI7Cj4+ICAJCQl1OCBoZG1pX3N1cHBvcnQ6 MTsJCQkvKiAxNTggKi8KPj4gIAkJCXU4IGRwX3N1cHBvcnQ6MTsJCQkvKiAxNTggKi8KPj4gIAkJ CXU4IHRtZHNfc3VwcG9ydDoxOwkJCS8qIDE1OCAqLwo+PiBAQCAtNDA3LDcgKzQxOCw5IEBAIHN0 cnVjdCBjaGlsZF9kZXZpY2VfY29uZmlnIHsKPj4gIAl1MTYgZXh0ZW5kZWRfdHlwZTsKPj4gIAl1 OCBkdm9fZnVuY3Rpb247Cj4+ICAJdTggZHBfdXNiX3R5cGVfYzoxOwkJCQkJLyogMTk1ICovCj4+ IC0JdTggZmxhZ3MyX3Jlc2VydmVkOjc7CQkJCQkvKiAxOTUgKi8KPj4gKwl1OCB0YnQ6MTsJCQkJ CQkvKiAyMDkgKi8KPj4gKwl1OCBmbGFnczJfcmVzZXJ2ZWQ6MjsJCQkJCS8qIDE5NSAqLwo+PiAr CXU4IGRwX3BvcnRfdHJhY2VfbGVuZ3RoOjQ7CQkJCS8qIDIwOSAqLwo+PiAgCXU4IGRwX2dwaW9f aW5kZXg7CQkJCQkvKiAxOTUgKi8KPj4gIAl1MTYgZHBfZ3Bpb19waW5fbnVtOwkJCQkJLyogMTk1 ICovCj4+ICAJdTggZHBfaWJvb3N0X2xldmVsOjQ7CQkJCQkvKiAxOTYgKi8KPj4gQEAgLTQ0MSwx OTQgKzQ1NCw0NCBAQCBzdHJ1Y3QgYmRiX2dlbmVyYWxfZGVmaW5pdGlvbnMgewo+PiAgCSAqIG51 bWJlciA9IChibG9ja19zaXplIC0gc2l6ZW9mKGJkYl9nZW5lcmFsX2RlZmluaXRpb25zKSkvCj4+ ICAJICoJICAgICBkZWZzLT5jaGlsZF9kZXZfc2l6ZTsKPj4gIAkgKi8KPj4gLQl1aW50OF90IGRl dmljZXNbMF07Cj4+IC19IF9fcGFja2VkOwo+PiAtCj4+IC0vKiBNYXNrIGZvciBEUlJTIC8gUGFu ZWwgQ2hhbm5lbCAvIFNTQyAvIEJMVCBjb250cm9sIGJpdHMgZXh0cmFjdGlvbiAqLwo+PiAtI2Rl ZmluZSBNT0RFX01BU0sJCTB4Mwo+PiAtCj4+IC1zdHJ1Y3QgYmRiX2x2ZHNfb3B0aW9ucyB7Cj4+ IC0JdTggcGFuZWxfdHlwZTsKPj4gLQl1OCByc3ZkMTsKPj4gLQkvKiBMVkRTIGNhcGFiaWxpdGll cywgc3RvcmVkIGluIGEgZHdvcmQgKi8KPj4gLQl1OCBwZml0X21vZGU6MjsKPj4gLQl1OCBwZml0 X3RleHRfbW9kZV9lbmhhbmNlZDoxOwo+PiAtCXU4IHBmaXRfZ2Z4X21vZGVfZW5oYW5jZWQ6MTsK Pj4gLQl1OCBwZml0X3JhdGlvX2F1dG86MTsKPj4gLQl1OCBwaXhlbF9kaXRoZXI6MTsKPj4gLQl1 OCBsdmRzX2VkaWQ6MTsKPj4gLQl1OCByc3ZkMjoxOwo+PiAtCXU4IHJzdmQ0Owo+PiAtCS8qIExW RFMgUGFuZWwgY2hhbm5lbCBiaXRzIHN0b3JlZCBoZXJlICovCj4+IC0JdTMyIGx2ZHNfcGFuZWxf Y2hhbm5lbF9iaXRzOwo+PiAtCS8qIExWRFMgU1NDIChTcHJlYWQgU3BlY3RydW0gQ2xvY2spIGJp dHMgc3RvcmVkIGhlcmUuICovCj4+IC0JdTE2IHNzY19iaXRzOwo+PiAtCXUxNiBzc2NfZnJlcTsK Pj4gLQl1MTYgc3NjX2RkdDsKPj4gLQkvKiBQYW5lbCBjb2xvciBkZXB0aCBkZWZpbmVkIGhlcmUg Ki8KPj4gLQl1MTYgcGFuZWxfY29sb3JfZGVwdGg7Cj4+IC0JLyogTFZEUyBwYW5lbCB0eXBlIGJp dHMgc3RvcmVkIGhlcmUgKi8KPj4gLQl1MzIgZHBzX3BhbmVsX3R5cGVfYml0czsKPj4gLQkvKiBM VkRTIGJhY2tsaWdodCBjb250cm9sIHR5cGUgYml0cyBzdG9yZWQgaGVyZSAqLwo+PiAtCXUzMiBi bHRfY29udHJvbF90eXBlX2JpdHM7Cj4+IC19IF9fcGFja2VkOwo+PiAtCj4+IC0vKiBMRlAgcG9p bnRlciB0YWJsZSBjb250YWlucyBlbnRyaWVzIHRvIHRoZSBzdHJ1Y3QgYmVsb3cgKi8KPj4gLXN0 cnVjdCBiZGJfbHZkc19sZnBfZGF0YV9wdHIgewo+PiAtCXUxNiBmcF90aW1pbmdfb2Zmc2V0OyAv KiBvZmZzZXRzIGFyZSBmcm9tIHN0YXJ0IG9mIGJkYiAqLwo+PiAtCXU4IGZwX3RhYmxlX3NpemU7 Cj4+IC0JdTE2IGR2b190aW1pbmdfb2Zmc2V0Owo+PiAtCXU4IGR2b190YWJsZV9zaXplOwo+PiAt CXUxNiBwYW5lbF9wbnBfaWRfb2Zmc2V0Owo+PiAtCXU4IHBucF90YWJsZV9zaXplOwo+PiAtfSBf X3BhY2tlZDsKPj4gLQo+PiAtc3RydWN0IGJkYl9sdmRzX2xmcF9kYXRhX3B0cnMgewo+PiAtCXU4 IGx2ZHNfZW50cmllczsgLyogZm9sbG93ZWQgYnkgb25lIG9yIG1vcmUgbHZkc19kYXRhX3B0ciBz dHJ1Y3RzICovCj4+IC0Jc3RydWN0IGJkYl9sdmRzX2xmcF9kYXRhX3B0ciBwdHJbMTZdOwo+PiAt fSBfX3BhY2tlZDsKPj4gLQo+PiAtLyogTEZQIGRhdGEgaGFzIDMgYmxvY2tzIHBlciBlbnRyeSAq Lwo+PiAtc3RydWN0IGx2ZHNfZnBfdGltaW5nIHsKPj4gLQl1MTYgeF9yZXM7Cj4+IC0JdTE2IHlf cmVzOwo+PiAtCXUzMiBsdmRzX3JlZzsKPj4gLQl1MzIgbHZkc19yZWdfdmFsOwo+PiAtCXUzMiBw cF9vbl9yZWc7Cj4+IC0JdTMyIHBwX29uX3JlZ192YWw7Cj4+IC0JdTMyIHBwX29mZl9yZWc7Cj4+ IC0JdTMyIHBwX29mZl9yZWdfdmFsOwo+PiAtCXUzMiBwcF9jeWNsZV9yZWc7Cj4+IC0JdTMyIHBw X2N5Y2xlX3JlZ192YWw7Cj4+IC0JdTMyIHBmaXRfcmVnOwo+PiAtCXUzMiBwZml0X3JlZ192YWw7 Cj4+IC0JdTE2IHRlcm1pbmF0b3I7Cj4+ICsJdTggZGV2aWNlc1swXTsKPj4gIH0gX19wYWNrZWQ7 Cj4+ICAKPj4gLXN0cnVjdCBsdmRzX2R2b190aW1pbmcgewo+PiAtCXUxNiBjbG9jazsJCS8qKjwg SW4gMTBraHogKi8KPj4gLQl1OCBoYWN0aXZlX2xvOwo+PiAtCXU4IGhibGFua19sbzsKPj4gLQl1 OCBoYmxhbmtfaGk6NDsKPj4gLQl1OCBoYWN0aXZlX2hpOjQ7Cj4+IC0JdTggdmFjdGl2ZV9sbzsK Pj4gLQl1OCB2YmxhbmtfbG87Cj4+IC0JdTggdmJsYW5rX2hpOjQ7Cj4+IC0JdTggdmFjdGl2ZV9o aTo0Owo+PiAtCXU4IGhzeW5jX29mZl9sbzsKPj4gLQl1OCBoc3luY19wdWxzZV93aWR0aF9sbzsK Pj4gLQl1OCB2c3luY19wdWxzZV93aWR0aF9sbzo0Owo+PiAtCXU4IHZzeW5jX29mZl9sbzo0Owo+ PiAtCXU4IHZzeW5jX3B1bHNlX3dpZHRoX2hpOjI7Cj4+IC0JdTggdnN5bmNfb2ZmX2hpOjI7Cj4+ IC0JdTggaHN5bmNfcHVsc2Vfd2lkdGhfaGk6MjsKPj4gLQl1OCBoc3luY19vZmZfaGk6MjsKPj4g LQl1OCBoaW1hZ2VfbG87Cj4+IC0JdTggdmltYWdlX2xvOwo+PiAtCXU4IHZpbWFnZV9oaTo0Owo+ PiAtCXU4IGhpbWFnZV9oaTo0Owo+PiAtCXU4IGhfYm9yZGVyOwo+PiAtCXU4IHZfYm9yZGVyOwo+ PiAtCXU4IHJzdmQxOjM7Cj4+IC0JdTggZGlnaXRhbDoyOwo+PiAtCXU4IHZzeW5jX3Bvc2l0aXZl OjE7Cj4+IC0JdTggaHN5bmNfcG9zaXRpdmU6MTsKPj4gLQl1OCBub25faW50ZXJsYWNlZDoxOwo+ PiAtfSBfX3BhY2tlZDsKPj4gLQo+PiAtc3RydWN0IGx2ZHNfcG5wX2lkIHsKPj4gLQl1MTYgbWZn X25hbWU7Cj4+IC0JdTE2IHByb2R1Y3RfY29kZTsKPj4gLQl1MzIgc2VyaWFsOwo+PiAtCXU4IG1m Z193ZWVrOwo+PiAtCXU4IG1mZ195ZWFyOwo+PiAtfSBfX3BhY2tlZDsKPj4gLQo+PiAtc3RydWN0 IGJkYl9sdmRzX2xmcF9kYXRhX2VudHJ5IHsKPj4gLQlzdHJ1Y3QgbHZkc19mcF90aW1pbmcgZnBf dGltaW5nOwo+PiAtCXN0cnVjdCBsdmRzX2R2b190aW1pbmcgZHZvX3RpbWluZzsKPj4gLQlzdHJ1 Y3QgbHZkc19wbnBfaWQgcG5wX2lkOwo+PiAtfSBfX3BhY2tlZDsKPj4gLQo+PiAtc3RydWN0IGJk Yl9sdmRzX2xmcF9kYXRhIHsKPj4gLQlzdHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGFfZW50cnkgZGF0 YVsxNl07Cj4+IC19IF9fcGFja2VkOwo+PiAtCj4+IC0jZGVmaW5lIEJEQl9CQUNLTElHSFRfVFlQ RV9OT05FCTAKPj4gLSNkZWZpbmUgQkRCX0JBQ0tMSUdIVF9UWVBFX1BXTQkyCj4+IC0KPj4gLXN0 cnVjdCBiZGJfbGZwX2JhY2tsaWdodF9kYXRhX2VudHJ5IHsKPj4gLQl1OCB0eXBlOjI7Cj4+IC0J dTggYWN0aXZlX2xvd19wd206MTsKPj4gLQl1OCBvYnNvbGV0ZTE6NTsKPj4gLQl1MTYgcHdtX2Zy ZXFfaHo7Cj4+IC0JdTggbWluX2JyaWdodG5lc3M7Cj4+IC0JdTggb2Jzb2xldGUyOwo+PiAtCXU4 IG9ic29sZXRlMzsKPj4gLX0gX19wYWNrZWQ7Cj4+IC0KPj4gLXN0cnVjdCBiZGJfbGZwX2JhY2ts aWdodF9jb250cm9sX21ldGhvZCB7Cj4+IC0JdTggdHlwZTo0Owo+PiAtCXU4IGNvbnRyb2xsZXI6 NDsKPj4gLX0gX19wYWNrZWQ7Cj4+IC0KPj4gLXN0cnVjdCBiZGJfbGZwX2JhY2tsaWdodF9kYXRh IHsKPj4gLQl1OCBlbnRyeV9zaXplOwo+PiAtCXN0cnVjdCBiZGJfbGZwX2JhY2tsaWdodF9kYXRh X2VudHJ5IGRhdGFbMTZdOwo+PiAtCXU4IGxldmVsWzE2XTsKPj4gLQlzdHJ1Y3QgYmRiX2xmcF9i YWNrbGlnaHRfY29udHJvbF9tZXRob2QgYmFja2xpZ2h0X2NvbnRyb2xbMTZdOwo+PiAtfSBfX3Bh Y2tlZDsKPj4gKy8qCj4+ICsgKiBCbG9jayA5IC0gU1JEIEZlYXR1cmUgQmxvY2sKPj4gKyAqLwo+ PiAgCj4+IC1zdHJ1Y3QgYWltZGJfaGVhZGVyIHsKPj4gLQljaGFyIHNpZ25hdHVyZVsxNl07Cj4+ IC0JY2hhciBvZW1fZGV2aWNlWzIwXTsKPj4gLQl1MTYgYWltZGJfdmVyc2lvbjsKPj4gLQl1MTYg YWltZGJfaGVhZGVyX3NpemU7Cj4+IC0JdTE2IGFpbWRiX3NpemU7Cj4+IC19IF9fcGFja2VkOwo+ PiArc3RydWN0IHBzcl90YWJsZSB7Cj4+ICsJLyogRmVhdHVyZSBiaXRzICovCj4+ICsJdTggZnVs bF9saW5rOjE7Cj4+ICsJdTggcmVxdWlyZV9hdXhfdG9fd2FrZXVwOjE7Cj4+ICsJdTggZmVhdHVy ZV9iaXRzX3JzdmQ6NjsKPj4gIAo+PiAtc3RydWN0IGFpbWRiX2Jsb2NrIHsKPj4gLQl1OCBhaW1k Yl9pZDsKPj4gLQl1MTYgYWltZGJfc2l6ZTsKPj4gLX0gX19wYWNrZWQ7Cj4+ICsJLyogV2FpdCB0 aW1lcyAqLwo+PiArCXU4IGlkbGVfZnJhbWVzOjQ7Cj4+ICsJdTggbGluZXNfdG9fd2FpdDozOwo+ PiArCXU4IHdhaXRfdGltZXNfcnN2ZDoxOwo+PiAgCj4+IC1zdHJ1Y3QgdmNoX3BhbmVsX2RhdGEg ewo+PiAtCXUxNiBmcF90aW1pbmdfb2Zmc2V0Owo+PiAtCXU4IGZwX3RpbWluZ19zaXplOwo+PiAt CXUxNiBkdm9fdGltaW5nX29mZnNldDsKPj4gLQl1OCBkdm9fdGltaW5nX3NpemU7Cj4+IC0JdTE2 IHRleHRfZml0dGluZ19vZmZzZXQ7Cj4+IC0JdTggdGV4dF9maXR0aW5nX3NpemU7Cj4+IC0JdTE2 IGdyYXBoaWNzX2ZpdHRpbmdfb2Zmc2V0Owo+PiAtCXU4IGdyYXBoaWNzX2ZpdHRpbmdfc2l6ZTsK Pj4gLX0gX19wYWNrZWQ7Cj4+ICsJLyogVFAgd2FrZSB1cCB0aW1lIGluIG11bHRpcGxlIG9mIDEw MCAqLwo+PiArCXUxNiB0cDFfd2FrZXVwX3RpbWU7Cj4+ICsJdTE2IHRwMl90cDNfd2FrZXVwX3Rp bWU7Cj4+ICAKPj4gLXN0cnVjdCB2Y2hfYmRiXzIyIHsKPj4gLQlzdHJ1Y3QgYWltZGJfYmxvY2sg YWltZGJfYmxvY2s7Cj4+IC0Jc3RydWN0IHZjaF9wYW5lbF9kYXRhIHBhbmVsc1sxNl07Cj4+ICsJ LyogUFNSMiBUUDIvVFAzIHdha2V1cCB0aW1lIGZvciAxNiBwYW5lbHMgKi8KPj4gKwl1MzIgcHNy Ml90cDJfdHAzX3dha2V1cF90aW1lOwo+PiAgfSBfX3BhY2tlZDsKPj4gIAo+PiAtc3RydWN0IGJk Yl9zZHZvX2x2ZHNfb3B0aW9ucyB7Cj4+IC0JdTggcGFuZWxfYmFja2xpZ2h0Owo+PiAtCXU4IGg0 MF9zZXRfcGFuZWxfdHlwZTsKPj4gLQl1OCBwYW5lbF90eXBlOwo+PiAtCXU4IHNzY19jbGtfZnJl cTsKPj4gLQl1MTYgYWxzX2xvd190cmlwOwo+PiAtCXUxNiBhbHNfaGlnaF90cmlwOwo+PiAtCXU4 IHNjbGFsYXJjb2VmZl90YWJfcm93X251bTsKPj4gLQl1OCBzY2xhbGFyY29lZmZfdGFiX3Jvd19z aXplOwo+PiAtCXU4IGNvZWZmaWNpZW50WzhdOwo+PiAtCXU4IHBhbmVsX21pc2NfYml0c18xOwo+ PiAtCXU4IHBhbmVsX21pc2NfYml0c18yOwo+PiAtCXU4IHBhbmVsX21pc2NfYml0c18zOwo+PiAt CXU4IHBhbmVsX21pc2NfYml0c180Owo+PiArc3RydWN0IGJkYl9wc3Igewo+PiArCXN0cnVjdCBw c3JfdGFibGUgcHNyX3RhYmxlWzE2XTsKPj4gIH0gX19wYWNrZWQ7Cj4+ICAKPj4gKy8qCj4+ICsg KiBCbG9jayAxMiAtIERyaXZlciBGZWF0dXJlcyBEYXRhIEJsb2NrCj4+ICsgKi8KPj4gIAo+PiAg I2RlZmluZSBCREJfRFJJVkVSX0ZFQVRVUkVfTk9fTFZEUwkJMAo+PiAgI2RlZmluZSBCREJfRFJJ VkVSX0ZFQVRVUkVfSU5UX0xWRFMJCTEKPj4gICNkZWZpbmUgQkRCX0RSSVZFUl9GRUFUVVJFX1NE Vk9fTFZEUwkJMgo+PiAtI2RlZmluZSBCREJfRFJJVkVSX0ZFQVRVUkVfRURQCQkJMwo+PiArI2Rl ZmluZSBCREJfRFJJVkVSX0ZFQVRVUkVfSU5UX1NEVk9fTFZEUwkzCj4+ICAKPj4gIHN0cnVjdCBi ZGJfZHJpdmVyX2ZlYXR1cmVzIHsKPj4gIAl1OCBib290X2Rldl9hbGdvcml0aG06MTsKPj4gQEAg LTY4NCw2ICs1NDcsNjkgQEAgc3RydWN0IGJkYl9kcml2ZXJfZmVhdHVyZXMgewo+PiAgCXUxNiBw Y19mZWF0dXJlX3ZhbGlkOjE7Cj4+ICB9IF9fcGFja2VkOwo+PiAgCj4+ICsvKgo+PiArICogQmxv Y2sgMjIgLSBTRFZPIExWRFMgR2VuZXJhbCBPcHRpb25zCj4+ICsgKi8KPj4gKwo+PiArc3RydWN0 IGJkYl9zZHZvX2x2ZHNfb3B0aW9ucyB7Cj4+ICsJdTggcGFuZWxfYmFja2xpZ2h0Owo+PiArCXU4 IGg0MF9zZXRfcGFuZWxfdHlwZTsKPj4gKwl1OCBwYW5lbF90eXBlOwo+PiArCXU4IHNzY19jbGtf ZnJlcTsKPj4gKwl1MTYgYWxzX2xvd190cmlwOwo+PiArCXUxNiBhbHNfaGlnaF90cmlwOwo+PiAr CXU4IHNjbGFsYXJjb2VmZl90YWJfcm93X251bTsKPj4gKwl1OCBzY2xhbGFyY29lZmZfdGFiX3Jv d19zaXplOwo+PiArCXU4IGNvZWZmaWNpZW50WzhdOwo+PiArCXU4IHBhbmVsX21pc2NfYml0c18x Owo+PiArCXU4IHBhbmVsX21pc2NfYml0c18yOwo+PiArCXU4IHBhbmVsX21pc2NfYml0c18zOwo+ PiArCXU4IHBhbmVsX21pc2NfYml0c180Owo+PiArfSBfX3BhY2tlZDsKPj4gKwo+PiArLyoKPj4g KyAqIEJsb2NrIDIzIC0gU0RWTyBMVkRTIFBhbmVsIERURHMKPj4gKyAqLwo+PiArCj4+ICtzdHJ1 Y3QgbHZkc19kdm9fdGltaW5nIHsKPj4gKwl1MTYgY2xvY2s7CQkvKio8IEluIDEwa2h6ICovCj4+ ICsJdTggaGFjdGl2ZV9sbzsKPj4gKwl1OCBoYmxhbmtfbG87Cj4+ICsJdTggaGJsYW5rX2hpOjQ7 Cj4+ICsJdTggaGFjdGl2ZV9oaTo0Owo+PiArCXU4IHZhY3RpdmVfbG87Cj4+ICsJdTggdmJsYW5r X2xvOwo+PiArCXU4IHZibGFua19oaTo0Owo+PiArCXU4IHZhY3RpdmVfaGk6NDsKPj4gKwl1OCBo c3luY19vZmZfbG87Cj4+ICsJdTggaHN5bmNfcHVsc2Vfd2lkdGhfbG87Cj4+ICsJdTggdnN5bmNf cHVsc2Vfd2lkdGhfbG86NDsKPj4gKwl1OCB2c3luY19vZmZfbG86NDsKPj4gKwl1OCB2c3luY19w dWxzZV93aWR0aF9oaToyOwo+PiArCXU4IHZzeW5jX29mZl9oaToyOwo+PiArCXU4IGhzeW5jX3B1 bHNlX3dpZHRoX2hpOjI7Cj4+ICsJdTggaHN5bmNfb2ZmX2hpOjI7Cj4+ICsJdTggaGltYWdlX2xv Owo+PiArCXU4IHZpbWFnZV9sbzsKPj4gKwl1OCB2aW1hZ2VfaGk6NDsKPj4gKwl1OCBoaW1hZ2Vf aGk6NDsKPj4gKwl1OCBoX2JvcmRlcjsKPj4gKwl1OCB2X2JvcmRlcjsKPj4gKwl1OCByc3ZkMToz Owo+PiArCXU4IGRpZ2l0YWw6MjsKPj4gKwl1OCB2c3luY19wb3NpdGl2ZToxOwo+PiArCXU4IGhz eW5jX3Bvc2l0aXZlOjE7Cj4+ICsJdTggbm9uX2ludGVybGFjZWQ6MTsKPj4gK30gX19wYWNrZWQ7 Cj4+ICsKPj4gK3N0cnVjdCBiZGJfc2R2b19wYW5lbF9kdGRzIHsKPj4gKwlzdHJ1Y3QgbHZkc19k dm9fdGltaW5nIGR0ZHNbNF07Cj4+ICt9IF9fcGFja2VkOwo+PiArCj4+ICsvKgo+PiArICogQmxv Y2sgMjcgLSBlRFAgVkJUIEJsb2NrCj4+ICsgKi8KPj4gKwo+PiAgI2RlZmluZSBFRFBfMThCUFAJ MAo+PiAgI2RlZmluZSBFRFBfMjRCUFAJMQo+PiAgI2RlZmluZSBFRFBfMzBCUFAJMgo+PiBAQCAt NzM2LDE1MSArNjYyLDEzMyBAQCBzdHJ1Y3QgYmRiX2VkcCB7Cj4+ICAJc3RydWN0IGVkcF9mdWxs X2xpbmtfcGFyYW1zIGZ1bGxfbGlua19wYXJhbXNbMTZdOwkvKiAxOTkgKi8KPj4gIH0gX19wYWNr ZWQ7Cj4+ICAKPj4gLXN0cnVjdCBwc3JfdGFibGUgewo+PiAtCS8qIEZlYXR1cmUgYml0cyAqLwo+ PiAtCXU4IGZ1bGxfbGluazoxOwo+PiAtCXU4IHJlcXVpcmVfYXV4X3RvX3dha2V1cDoxOwo+PiAt CXU4IGZlYXR1cmVfYml0c19yc3ZkOjY7Cj4+ICsvKgo+PiArICogQmxvY2sgNDAgLSBMRlAgRGF0 YSBCbG9jawo+PiArICovCj4+ICAKPj4gLQkvKiBXYWl0IHRpbWVzICovCj4+IC0JdTggaWRsZV9m cmFtZXM6NDsKPj4gLQl1OCBsaW5lc190b193YWl0OjM7Cj4+IC0JdTggd2FpdF90aW1lc19yc3Zk OjE7Cj4+ICsvKiBNYXNrIGZvciBEUlJTIC8gUGFuZWwgQ2hhbm5lbCAvIFNTQyAvIEJMVCBjb250 cm9sIGJpdHMgZXh0cmFjdGlvbiAqLwo+PiArI2RlZmluZSBNT0RFX01BU0sJCTB4Mwo+PiAgCj4+ IC0JLyogVFAgd2FrZSB1cCB0aW1lIGluIG11bHRpcGxlIG9mIDEwMCAqLwo+PiAtCXUxNiB0cDFf d2FrZXVwX3RpbWU7Cj4+IC0JdTE2IHRwMl90cDNfd2FrZXVwX3RpbWU7Cj4+ICtzdHJ1Y3QgYmRi X2x2ZHNfb3B0aW9ucyB7Cj4+ICsJdTggcGFuZWxfdHlwZTsKPj4gKwl1OCBwYW5lbF90eXBlMjsJ CQkJCQkvKiAyMTIgKi8KPj4gKwkvKiBMVkRTIGNhcGFiaWxpdGllcywgc3RvcmVkIGluIGEgZHdv cmQgKi8KPj4gKwl1OCBwZml0X21vZGU6MjsKPj4gKwl1OCBwZml0X3RleHRfbW9kZV9lbmhhbmNl ZDoxOwo+PiArCXU4IHBmaXRfZ2Z4X21vZGVfZW5oYW5jZWQ6MTsKPj4gKwl1OCBwZml0X3JhdGlv X2F1dG86MTsKPj4gKwl1OCBwaXhlbF9kaXRoZXI6MTsKPj4gKwl1OCBsdmRzX2VkaWQ6MTsKPj4g Kwl1OCByc3ZkMjoxOwo+PiArCXU4IHJzdmQ0Owo+PiArCS8qIExWRFMgUGFuZWwgY2hhbm5lbCBi aXRzIHN0b3JlZCBoZXJlICovCj4+ICsJdTMyIGx2ZHNfcGFuZWxfY2hhbm5lbF9iaXRzOwo+PiAr CS8qIExWRFMgU1NDIChTcHJlYWQgU3BlY3RydW0gQ2xvY2spIGJpdHMgc3RvcmVkIGhlcmUuICov Cj4+ICsJdTE2IHNzY19iaXRzOwo+PiArCXUxNiBzc2NfZnJlcTsKPj4gKwl1MTYgc3NjX2RkdDsK Pj4gKwkvKiBQYW5lbCBjb2xvciBkZXB0aCBkZWZpbmVkIGhlcmUgKi8KPj4gKwl1MTYgcGFuZWxf Y29sb3JfZGVwdGg7Cj4+ICsJLyogTFZEUyBwYW5lbCB0eXBlIGJpdHMgc3RvcmVkIGhlcmUgKi8K Pj4gKwl1MzIgZHBzX3BhbmVsX3R5cGVfYml0czsKPj4gKwkvKiBMVkRTIGJhY2tsaWdodCBjb250 cm9sIHR5cGUgYml0cyBzdG9yZWQgaGVyZSAqLwo+PiArCXUzMiBibHRfY29udHJvbF90eXBlX2Jp dHM7Cj4+ICsKPj4gKwl1MTYgbGNkdmNjX3MwX2VuYWJsZTsJCQkJCS8qIDIwMCAqLwo+PiArCXUz MiByb3RhdGlvbjsJCQkJCQkvKiAyMjggKi8KPj4gIH0gX19wYWNrZWQ7Cj4+ICAKPj4gLXN0cnVj dCBiZGJfcHNyIHsKPj4gLQlzdHJ1Y3QgcHNyX3RhYmxlIHBzcl90YWJsZVsxNl07Cj4+ICsvKgo+ PiArICogQmxvY2sgNDEgLSBMRlAgRGF0YSBUYWJsZSBQb2ludGVycwo+PiArICovCj4+ICsKPj4g Ky8qIExGUCBwb2ludGVyIHRhYmxlIGNvbnRhaW5zIGVudHJpZXMgdG8gdGhlIHN0cnVjdCBiZWxv dyAqLwo+PiArc3RydWN0IGx2ZHNfbGZwX2RhdGFfcHRyIHsKPj4gKwl1MTYgZnBfdGltaW5nX29m ZnNldDsgLyogb2Zmc2V0cyBhcmUgZnJvbSBzdGFydCBvZiBiZGIgKi8KPj4gKwl1OCBmcF90YWJs ZV9zaXplOwo+PiArCXUxNiBkdm9fdGltaW5nX29mZnNldDsKPj4gKwl1OCBkdm9fdGFibGVfc2l6 ZTsKPj4gKwl1MTYgcGFuZWxfcG5wX2lkX29mZnNldDsKPj4gKwl1OCBwbnBfdGFibGVfc2l6ZTsK Pj4gK30gX19wYWNrZWQ7Cj4+ICsKPj4gK3N0cnVjdCBiZGJfbHZkc19sZnBfZGF0YV9wdHJzIHsK Pj4gKwl1OCBsdmRzX2VudHJpZXM7IC8qIGZvbGxvd2VkIGJ5IG9uZSBvciBtb3JlIGx2ZHNfZGF0 YV9wdHIgc3RydWN0cyAqLwo+PiArCXN0cnVjdCBsdmRzX2xmcF9kYXRhX3B0ciBwdHJbMTZdOwo+ PiAgfSBfX3BhY2tlZDsKPj4gIAo+PiAgLyoKPj4gLSAqIERyaXZlcjwtPlZCSU9TIGludGVyYWN0 aW9uIG9jY3VycyB0aHJvdWdoIHNjcmF0Y2ggYml0cyBpbgo+PiAtICogR1IxOCAmIFNXRiouCj4+ ICsgKiBCbG9jayA0MiAtIExGUCBEYXRhIFRhYmxlcwo+PiAgICovCj4+ICAKPj4gLS8qIEdSMTgg Yml0cyBhcmUgc2V0IG9uIGRpc3BsYXkgc3dpdGNoIGFuZCBob3RrZXkgZXZlbnRzICovCj4+IC0j ZGVmaW5lIEdSMThfRFJJVkVSX1NXSVRDSF9FTgkoMTw8NykgLyogMDogVkJJT1MgY29udHJvbCwg MTogZHJpdmVyIGNvbnRyb2wgKi8KPj4gLSNkZWZpbmUgR1IxOF9IT1RLRVlfTUFTSwkweDc4IC8q IFNlZSBhbHNvIFNXRjQgMTU6MCAqLwo+PiAtI2RlZmluZSAgIEdSMThfSEtfTk9ORQkJKDB4MDw8 MykKPj4gLSNkZWZpbmUgICBHUjE4X0hLX0xGUF9TVFJFVENICSgweDE8PDMpCj4+IC0jZGVmaW5l ICAgR1IxOF9IS19UT0dHTEVfRElTUAkoMHgyPDwzKQo+PiAtI2RlZmluZSAgIEdSMThfSEtfRElT UF9TV0lUQ0gJKDB4NDw8MykgLyogc2VlIFNXRjE0IDE1OjAgZm9yIHdoYXQgdG8gZW5hYmxlICov Cj4+IC0jZGVmaW5lICAgR1IxOF9IS19QT1BVUF9ESVNBQkxFRCAoMHg2PDwzKQo+PiAtI2RlZmlu ZSAgIEdSMThfSEtfUE9QVVBfRU5BQkxFRAkoMHg3PDwzKQo+PiAtI2RlZmluZSAgIEdSMThfSEtf UEZJVAkJKDB4ODw8MykKPj4gLSNkZWZpbmUgICBHUjE4X0hLX0FQTV9DSEFOR0UJKDB4YTw8MykK Pj4gLSNkZWZpbmUgICBHUjE4X0hLX01VTFRJUExFCSgweGM8PDMpCj4+IC0jZGVmaW5lIEdSMThf VVNFUl9JTlRfRU4JKDE8PDIpCj4+IC0jZGVmaW5lIEdSMThfQTAwMDBfRkxVU0hfRU4JKDE8PDEp Cj4+IC0jZGVmaW5lIEdSMThfU01NX0VOCQkoMTw8MCkKPj4gLQo+PiAtLyogU2V0IGJ5IGRyaXZl ciwgY2xlYXJlZCBieSBWQklPUyAqLwo+PiAtI2RlZmluZSBTV0YwMF9ZUkVTX1NISUZUCTE2Cj4+ IC0jZGVmaW5lIFNXRjAwX1hSRVNfU0hJRlQJMAo+PiAtI2RlZmluZSBTV0YwMF9SRVNfTUFTSwkJ MHhmZmZmCj4+IC0KPj4gLS8qIFNldCBieSBWQklPUyBhdCBib290IHRpbWUgYW5kIGRyaXZlciBh dCBydW50aW1lICovCj4+IC0jZGVmaW5lIFNXRjAxX1RWMl9GT1JNQVRfU0hJRlQJOAo+PiAtI2Rl ZmluZSBTV0YwMV9UVjFfRk9STUFUX1NISUZUCTAKPj4gLSNkZWZpbmUgU1dGMDFfVFZfRk9STUFU X01BU0sJMHhmZmZmCj4+IC0KPj4gLSNkZWZpbmUgU1dGMTBfVkJJT1NfQkxDX0kyQ19FTgkoMTw8 MjkpCj4+IC0jZGVmaW5lIFNXRjEwX0dUVF9PVkVSUklERV9FTgkoMTw8MjgpCj4+IC0jZGVmaW5l IFNXRjEwX0xGUF9EUE1TX09WUgkoMTw8MjcpIC8qIG92ZXJyaWRlIERQTVMgb24gZGlzcGxheSBz d2l0Y2ggKi8KPj4gLSNkZWZpbmUgU1dGMTBfQUNUSVZFX1RPR0dMRV9MSVNUX01BU0sgKDc8PDI0 KQo+PiAtI2RlZmluZSAgIFNXRjEwX09MRF9UT0dHTEUJMHgwCj4+IC0jZGVmaW5lICAgU1dGMTBf VE9HR0xFX0xJU1RfMQkweDEKPj4gLSNkZWZpbmUgICBTV0YxMF9UT0dHTEVfTElTVF8yCTB4Mgo+ PiAtI2RlZmluZSAgIFNXRjEwX1RPR0dMRV9MSVNUXzMJMHgzCj4+IC0jZGVmaW5lICAgU1dGMTBf VE9HR0xFX0xJU1RfNAkweDQKPj4gLSNkZWZpbmUgU1dGMTBfUEFOTklOR19FTgkoMTw8MjMpCj4+ IC0jZGVmaW5lIFNXRjEwX0RSSVZFUl9MT0FERUQJKDE8PDIyKQo+PiAtI2RlZmluZSBTV0YxMF9F WFRFTkRFRF9ERVNLVE9QCSgxPDwyMSkKPj4gLSNkZWZpbmUgU1dGMTBfRVhDTFVTSVZFX01PREUJ KDE8PDIwKQo+PiAtI2RlZmluZSBTV0YxMF9PVkVSTEFZX0VOCSgxPDwxOSkKPj4gLSNkZWZpbmUg U1dGMTBfUExBTkVCX0hPTERPRkYJKDE8PDE4KQo+PiAtI2RlZmluZSBTV0YxMF9QTEFORUFfSE9M RE9GRgkoMTw8MTcpCj4+IC0jZGVmaW5lIFNXRjEwX1ZHQV9IT0xET0ZGCSgxPDwxNikKPj4gLSNk ZWZpbmUgU1dGMTBfQUNUSVZFX0RJU1BfTUFTSwkweGZmZmYKPj4gLSNkZWZpbmUgICBTV0YxMF9Q SVBFQl9MRlAyCSgxPDwxNSkKPj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQl9FRlAyCSgxPDwxNCkK Pj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQl9UVjIJKDE8PDEzKQo+PiAtI2RlZmluZSAgIFNXRjEw X1BJUEVCX0NSVDIJKDE8PDEyKQo+PiAtI2RlZmluZSAgIFNXRjEwX1BJUEVCX0xGUAkoMTw8MTEp Cj4+IC0jZGVmaW5lICAgU1dGMTBfUElQRUJfRUZQCSgxPDwxMCkKPj4gLSNkZWZpbmUgICBTV0Yx MF9QSVBFQl9UVgkoMTw8OSkKPj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQl9DUlQJKDE8PDgpCj4+ IC0jZGVmaW5lICAgU1dGMTBfUElQRUFfTEZQMgkoMTw8NykKPj4gLSNkZWZpbmUgICBTV0YxMF9Q SVBFQV9FRlAyCSgxPDw2KQo+PiAtI2RlZmluZSAgIFNXRjEwX1BJUEVBX1RWMgkoMTw8NSkKPj4g LSNkZWZpbmUgICBTV0YxMF9QSVBFQV9DUlQyCSgxPDw0KQo+PiAtI2RlZmluZSAgIFNXRjEwX1BJ UEVBX0xGUAkoMTw8MykKPj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQV9FRlAJKDE8PDIpCj4+IC0j ZGVmaW5lICAgU1dGMTBfUElQRUFfVFYJKDE8PDEpCj4+IC0jZGVmaW5lICAgU1dGMTBfUElQRUFf Q1JUCSgxPDwwKQo+PiAtCj4+IC0jZGVmaW5lIFNXRjExX01FTU9SWV9TSVpFX1NISUZUCTE2Cj4+ IC0jZGVmaW5lIFNXRjExX1NWX1RFU1RfRU4JKDE8PDE1KQo+PiAtI2RlZmluZSBTV0YxMV9JU19B R1AJCSgxPDwxNCkKPj4gLSNkZWZpbmUgU1dGMTFfRElTUExBWV9IT0xET0ZGCSgxPDwxMykKPj4g LSNkZWZpbmUgU1dGMTFfRFBNU19SRURVQ0VECSgxPDwxMikKPj4gLSNkZWZpbmUgU1dGMTFfSVNf VkJFX01PREUJKDE8PDExKQo+PiAtI2RlZmluZSBTV0YxMV9QSVBFQl9BQ0NFU1MJKDE8PDEwKSAv KiAwIGhlcmUgbWVhbnMgcGlwZSBhICovCj4+IC0jZGVmaW5lIFNXRjExX0RQTVNfTUFTSwkJMHgw Nwo+PiAtI2RlZmluZSAgIFNXRjExX0RQTVNfT0ZGCSgxPDwyKQo+PiAtI2RlZmluZSAgIFNXRjEx X0RQTVNfU1VTUEVORAkoMTw8MSkKPj4gLSNkZWZpbmUgICBTV0YxMV9EUE1TX1NUQU5EQlkJKDE8 PDApCj4+IC0jZGVmaW5lICAgU1dGMTFfRFBNU19PTgkJMAo+PiAtCj4+IC0jZGVmaW5lIFNXRjE0 X0dGWF9QRklUX0VOCSgxPDwzMSkKPj4gLSNkZWZpbmUgU1dGMTRfVEVYVF9QRklUX0VOCSgxPDwz MCkKPj4gLSNkZWZpbmUgU1dGMTRfTElEX1NUQVRVU19DTE9TRUQJKDE8PDI5KSAvKiAwIGhlcmUg bWVhbnMgb3BlbiAqLwo+PiAtI2RlZmluZSBTV0YxNF9QT1BVUF9FTgkJKDE8PDI4KQo+PiAtI2Rl ZmluZSBTV0YxNF9ESVNQTEFZX0hPTERPRkYJKDE8PDI3KQo+PiAtI2RlZmluZSBTV0YxNF9ESVNQ X0RFVEVDVF9FTgkoMTw8MjYpCj4+IC0jZGVmaW5lIFNXRjE0X0RPQ0tJTkdfU1RBVFVTX0RPQ0tF RCAoMTw8MjUpIC8qIDAgaGVyZSBtZWFucyB1bmRvY2tlZCAqLwo+PiAtI2RlZmluZSBTV0YxNF9E UklWRVJfU1RBVFVTCSgxPDwyNCkKPj4gLSNkZWZpbmUgU1dGMTRfT1NfVFlQRV9XSU45WAkoMTw8 MjMpCj4+IC0jZGVmaW5lIFNXRjE0X09TX1RZUEVfV0lOTlQJKDE8PDIyKQo+PiAtLyogMjE6MTkg cnN2ZCAqLwo+PiAtI2RlZmluZSBTV0YxNF9QTV9UWVBFX01BU0sJMHgwMDA3MDAwMAo+PiAtI2Rl ZmluZSAgIFNXRjE0X1BNX0FDUElfVklERU8JKDB4NCA8PCAxNikKPj4gLSNkZWZpbmUgICBTV0Yx NF9QTV9BQ1BJCQkoMHgzIDw8IDE2KQo+PiAtI2RlZmluZSAgIFNXRjE0X1BNX0FQTV8xMgkoMHgy IDw8IDE2KQo+PiAtI2RlZmluZSAgIFNXRjE0X1BNX0FQTV8xMQkoMHgxIDw8IDE2KQo+PiAtI2Rl ZmluZSBTV0YxNF9IS19SRVFVRVNUX01BU0sJMHgwMDAwZmZmZiAvKiBzZWUgR1IxOCA2OjMgZm9y IGV2ZW50IHR5cGUgKi8KPj4gLSAgICAgICAgICAvKiBpZiBHUjE4IGluZGljYXRlcyBhIGRpc3Bs YXkgc3dpdGNoICovCj4+IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUJfTEZQMl9FTiAoMTw8MTUp Cj4+IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUJfRUZQMl9FTiAoMTw8MTQpCj4+IC0jZGVmaW5l ICAgU1dGMTRfRFNfUElQRUJfVFYyX0VOICAoMTw8MTMpCj4+IC0jZGVmaW5lICAgU1dGMTRfRFNf UElQRUJfQ1JUMl9FTiAoMTw8MTIpCj4+IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUJfTEZQX0VO ICAoMTw8MTEpCj4+IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUJfRUZQX0VOICAoMTw8MTApCj4+ IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUJfVFZfRU4gICAoMTw8OSkKPj4gLSNkZWZpbmUgICBT V0YxNF9EU19QSVBFQl9DUlRfRU4gICgxPDw4KQo+PiAtI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVB X0xGUDJfRU4gKDE8PDcpCj4+IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUFfRUZQMl9FTiAoMTw8 NikKPj4gLSNkZWZpbmUgICBTV0YxNF9EU19QSVBFQV9UVjJfRU4gICgxPDw1KQo+PiAtI2RlZmlu ZSAgIFNXRjE0X0RTX1BJUEVBX0NSVDJfRU4gKDE8PDQpCj4+IC0jZGVmaW5lICAgU1dGMTRfRFNf UElQRUFfTEZQX0VOICAoMTw8MykKPj4gLSNkZWZpbmUgICBTV0YxNF9EU19QSVBFQV9FRlBfRU4g ICgxPDwyKQo+PiAtI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVBX1RWX0VOICAgKDE8PDEpCj4+IC0j ZGVmaW5lICAgU1dGMTRfRFNfUElQRUFfQ1JUX0VOICAoMTw8MCkKPj4gLSAgICAgICAgICAvKiBp ZiBHUjE4IGluZGljYXRlcyBhIHBhbmVsIGZpdHRpbmcgcmVxdWVzdCAqLwo+PiAtI2RlZmluZSAg IFNXRjE0X1BGSVRfRU4JCSgxPDwwKSAvKiAwIG1lYW5zIGRpc2FibGUgKi8KPj4gLSAgICAgICAg ICAvKiBpZiBHUjE4IGluZGljYXRlcyBhbiBBUE0gY2hhbmdlIHJlcXVlc3QgKi8KPj4gLSNkZWZp bmUgICBTV0YxNF9BUE1fSElCRVJOQVRFCTB4NAo+PiAtI2RlZmluZSAgIFNXRjE0X0FQTV9TVVNQ RU5ECTB4Mwo+PiAtI2RlZmluZSAgIFNXRjE0X0FQTV9TVEFOREJZCTB4MQo+PiAtI2RlZmluZSAg IFNXRjE0X0FQTV9SRVNUT1JFCTB4MAo+PiAtCj4+IC0vKiBCbG9jayA1MiBjb250YWlucyBNSVBJ IGNvbmZpZ3VyYXRpb24gYmxvY2sKPj4gLSAqIDYgKiBiZGJfbWlwaV9jb25maWcsIGZvbGxvd2Vk IGJ5IDYgcHBzIGRhdGEgYmxvY2sKPj4gLSAqIGJsb2NrIGJlbG93Cj4+ICsvKiBMRlAgZGF0YSBo YXMgMyBibG9ja3MgcGVyIGVudHJ5ICovCj4+ICtzdHJ1Y3QgbHZkc19mcF90aW1pbmcgewo+PiAr CXUxNiB4X3JlczsKPj4gKwl1MTYgeV9yZXM7Cj4+ICsJdTMyIGx2ZHNfcmVnOwo+PiArCXUzMiBs dmRzX3JlZ192YWw7Cj4+ICsJdTMyIHBwX29uX3JlZzsKPj4gKwl1MzIgcHBfb25fcmVnX3ZhbDsK Pj4gKwl1MzIgcHBfb2ZmX3JlZzsKPj4gKwl1MzIgcHBfb2ZmX3JlZ192YWw7Cj4+ICsJdTMyIHBw X2N5Y2xlX3JlZzsKPj4gKwl1MzIgcHBfY3ljbGVfcmVnX3ZhbDsKPj4gKwl1MzIgcGZpdF9yZWc7 Cj4+ICsJdTMyIHBmaXRfcmVnX3ZhbDsKPj4gKwl1MTYgdGVybWluYXRvcjsKPj4gK30gX19wYWNr ZWQ7Cj4+ICsKPj4gK3N0cnVjdCBsdmRzX3BucF9pZCB7Cj4+ICsJdTE2IG1mZ19uYW1lOwo+PiAr CXUxNiBwcm9kdWN0X2NvZGU7Cj4+ICsJdTMyIHNlcmlhbDsKPj4gKwl1OCBtZmdfd2VlazsKPj4g Kwl1OCBtZmdfeWVhcjsKPj4gK30gX19wYWNrZWQ7Cj4+ICsKPj4gK3N0cnVjdCBsdmRzX2xmcF9k YXRhX2VudHJ5IHsKPj4gKwlzdHJ1Y3QgbHZkc19mcF90aW1pbmcgZnBfdGltaW5nOwo+PiArCXN0 cnVjdCBsdmRzX2R2b190aW1pbmcgZHZvX3RpbWluZzsKPj4gKwlzdHJ1Y3QgbHZkc19wbnBfaWQg cG5wX2lkOwo+PiArfSBfX3BhY2tlZDsKPj4gKwo+PiArc3RydWN0IGJkYl9sdmRzX2xmcF9kYXRh IHsKPj4gKwlzdHJ1Y3QgbHZkc19sZnBfZGF0YV9lbnRyeSBkYXRhWzE2XTsKPj4gK30gX19wYWNr ZWQ7Cj4+ICsKPj4gKy8qCj4+ICsgKiBCbG9jayA0MyAtIExGUCBCYWNrbGlnaHQgQ29udHJvbCBE YXRhIEJsb2NrCj4+ICAgKi8KPj4gKwo+PiArI2RlZmluZSBCREJfQkFDS0xJR0hUX1RZUEVfTk9O RQkwCj4+ICsjZGVmaW5lIEJEQl9CQUNLTElHSFRfVFlQRV9QV00JMgo+PiArCj4+ICtzdHJ1Y3Qg bGZwX2JhY2tsaWdodF9kYXRhX2VudHJ5IHsKPj4gKwl1OCB0eXBlOjI7Cj4+ICsJdTggYWN0aXZl X2xvd19wd206MTsKPj4gKwl1OCBvYnNvbGV0ZTE6NTsKPj4gKwl1MTYgcHdtX2ZyZXFfaHo7Cj4+ ICsJdTggbWluX2JyaWdodG5lc3M7Cj4+ICsJdTggb2Jzb2xldGUyOwo+PiArCXU4IG9ic29sZXRl MzsKPj4gK30gX19wYWNrZWQ7Cj4+ICsKPj4gK3N0cnVjdCBsZnBfYmFja2xpZ2h0X2NvbnRyb2xf bWV0aG9kIHsKPj4gKwl1OCB0eXBlOjQ7Cj4+ICsJdTggY29udHJvbGxlcjo0Owo+PiArfSBfX3Bh Y2tlZDsKPj4gKwo+PiArc3RydWN0IGJkYl9sZnBfYmFja2xpZ2h0X2RhdGEgewo+PiArCXU4IGVu dHJ5X3NpemU7Cj4+ICsJc3RydWN0IGxmcF9iYWNrbGlnaHRfZGF0YV9lbnRyeSBkYXRhWzE2XTsK Pj4gKwl1OCBsZXZlbFsxNl07Cj4+ICsJc3RydWN0IGxmcF9iYWNrbGlnaHRfY29udHJvbF9tZXRo b2QgYmFja2xpZ2h0X2NvbnRyb2xbMTZdOwo+PiArfSBfX3BhY2tlZDsKPj4gKwo+PiArLyoKPj4g KyAqIEJsb2NrIDUyIC0gTUlQSSBDb25maWd1cmF0aW9uIEJsb2NrCj4+ICsgKi8KPj4gKwo+PiAg I2RlZmluZSBNQVhfTUlQSV9DT05GSUdVUkFUSU9OUwk2Cj4+ICAKPj4gIHN0cnVjdCBiZGJfbWlw aV9jb25maWcgewo+PiBAQCAtODg4LDI0ICs3OTYsMTMgQEAgc3RydWN0IGJkYl9taXBpX2NvbmZp ZyB7Cj4+ICAJc3RydWN0IG1pcGlfcHBzX2RhdGEgcHBzW01BWF9NSVBJX0NPTkZJR1VSQVRJT05T XTsKPj4gIH0gX19wYWNrZWQ7Cj4+ICAKPj4gLS8qIEJsb2NrIDUzIGNvbnRhaW5zIE1JUEkgc2Vx dWVuY2VzIGFzIG5lZWRlZCBieSB0aGUgcGFuZWwKPj4gLSAqIGZvciBlbmFibGluZyBpdC4gVGhp cyBibG9jayBjYW4gYmUgdmFyaWFibGUgaW4gc2l6ZSBhbmQKPj4gLSAqIGNhbiBiZSBtYXhpbXVt IG9mIDYgYmxvY2tzCj4+ICsvKgo+PiArICogQmxvY2sgNTMgLSBNSVBJIFNlcXVlbmNlIEJsb2Nr Cj4+ICAgKi8KPj4gKwo+PiAgc3RydWN0IGJkYl9taXBpX3NlcXVlbmNlIHsKPj4gIAl1OCB2ZXJz aW9uOwo+PiAtCXU4IGRhdGFbMF07Cj4+ICsJdTggZGF0YVswXTsgLyogdXAgdG8gNiB2YXJpYWJs ZSBsZW5ndGggYmxvY2tzICovCj4+ICB9IF9fcGFja2VkOwo+PiAgCj4+IC1lbnVtIG1pcGlfZ3Bp b19waW5faW5kZXggewo+PiAtCU1JUElfR1BJT19VTkRFRklORUQgPSAwLAo+PiAtCU1JUElfR1BJ T19QQU5FTF9FTkFCTEUsCj4+IC0JTUlQSV9HUElPX0JMX0VOQUJMRSwKPj4gLQlNSVBJX0dQSU9f UFdNX0VOQUJMRSwKPj4gLQlNSVBJX0dQSU9fUkVTRVRfTiwKPj4gLQlNSVBJX0dQSU9fUFdSX0RP V05fUiwKPj4gLQlNSVBJX0dQSU9fU1REQllfUlNUX04sCj4+IC0JTUlQSV9HUElPX01BWAo+PiAt fTsKPj4gLQo+PiAgI2VuZGlmIC8qIF9JTlRFTF9WQlRfREVGU19IXyAqLwo+PiAtLSAKPj4gMi4y MC4xCj4+IAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+PiBpZ3QtZGV2IG1haWxpbmcgbGlzdAo+PiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1k ZXYKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFp bGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==