From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 05/24] drm/i915/icp: Add Interrupt Support Date: Wed, 13 Jun 2018 17:04:28 -0700 Message-ID: <1528934668.2793.14.camel@intel.com> References: <20180522002558.29262-1-paulo.r.zanoni@intel.com> <20180522002558.29262-6-paulo.r.zanoni@intel.com> <20180524235355.GA2951@ldmartin-desk.amr.corp.intel.com> <1527209143.2226.89.camel@intel.com> <20180525004321.GC2951@ldmartin-desk.amr.corp.intel.com> <20180529234150.GA11474@ldmartin-desk.amr.corp.intel.com> <20180613222306.GB17137@ldmartin-desk.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 76FF36E56C for ; Thu, 14 Jun 2018 00:04:41 +0000 (UTC) In-Reply-To: <20180613222306.GB17137@ldmartin-desk.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi , Dhinakaran Pandiyan Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RW0gUXVhLCAyMDE4LTA2LTEzIMOgcyAxNToyMyAtMDcwMCwgTHVjYXMgRGUgTWFyY2hpIGVzY3Jl dmV1Ogo+IE9uIFR1ZSwgTWF5IDI5LCAyMDE4IGF0IDA1OjA0OjU4UE0gLTA3MDAsIEx1Y2FzIERl IE1hcmNoaSB3cm90ZToKPiA+IE9uIFRodSwgTWF5IDI0LCAyMDE4IGF0IDA1OjQzOjI0UE0gLTA3 MDAsIEx1Y2FzIERlIE1hcmNoaSB3cm90ZToKPiA+ID4gT24gVGh1LCBNYXkgMjQsIDIwMTggYXQg MDU6NDU6NDNQTSAtMDcwMCwgRGhpbmFrYXJhbiBQYW5kaXlhbgo+ID4gPiB3cm90ZToKPiA+ID4g PiBPbiBUaHUsIDIwMTgtMDUtMjQgYXQgMTY6NTMgLTA3MDAsIEx1Y2FzIERlIE1hcmNoaSB3cm90 ZToKPiA+ID4gPiA+IE9uIE1vbiwgTWF5IDIxLCAyMDE4IGF0IDA1OjI1OjM5UE0gLTA3MDAsIFBh dWxvIFphbm9uaSB3cm90ZToKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEZyb206IEFudXNoYSBT cml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiA+IFRoaXMgcGF0Y2ggYWRkcmVzc2VzIEludGVycnVwdHMgZnJvbSBzb3V0aCBkaXNwbGF5IGVu Z2luZQo+ID4gPiA+ID4gPiAoU0RFKS4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IElDUCBoYXMg dHdvIHJlZ2lzdGVycyAtIFNIT1RQTFVHX0NUTF9EREkgYW5kCj4gPiA+ID4gPiA+IFNIT1RQTFVH X0NUTF9UQy4KPiA+ID4gPiA+ID4gSW50cm9kdWNlIHRoZXNlIHJlZ2lzdGVycyBhbmQgdGhlaXIg aW50ZW5kZWQgdmFsdWVzLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gSW50cm9kdWNlIGljcF9p cnFfaGFuZGxlcigpLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gQ2M6IFBhdWxvIFphbm9uaSA8 cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiBDYzogRGhpbmFrYXJhbiBQYW5k aXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gPiA+ID4gPiA+IENjOiBWaWxs ZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gPiA+ID4gU2ln bmVkLW9mZi1ieTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgo+ ID4gPiA+ID4gPiBbUGF1bG86IGNvZGluZyBzdHlsZSBiaWtlc2hlZHMgYW5kIHJlYmFzZXNdLgo+ ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25pQGlu dGVsLmNvbT4KPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jIHwgMTM0Cj4gPiA+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0KPiA+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggfCAgNDAgKysrKysrKysrKysrCj4gPiA+ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDE3MiBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiA+ID4gPiA+ID4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gPiA+ID4gPiA+IGluZGV4IDliY2VjNWZk YjlkMC4uNmIxMDk5OTE3ODZmIDEwMDY0NAo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2lycS5jCj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMKPiA+ID4gPiA+ID4gQEAgLTEyMiw2ICsxMjIsMTUgQEAgc3RhdGljIGNvbnN0 IHUzMgo+ID4gPiA+ID4gPiBocGRfdGNfZ2VuMTFbSFBEX05VTV9QSU5TXSA9Cj4gPiA+ID4gPiA+ IHsKPiA+ID4gPiA+ID4gIAlbSFBEX1BPUlRfRl0gPSBHRU4xMV9UQzRfSE9UUExVRwo+ID4gPiA+ ID4gPiAgfTsKPiA+ID4gPiA+ID4gIAo+ID4gPiA+ID4gPiArc3RhdGljIGNvbnN0IHUzMiBocGRf aWNwW0hQRF9OVU1fUElOU10gPSB7Cj4gPiA+ID4gPiA+ICsJW0hQRF9QT1JUX0FdID0gSUNQX0RE SUFfSE9UUExVRywKPiA+ID4gPiA+ID4gKwlbSFBEX1BPUlRfQl0gPSBJQ1BfRERJQl9IT1RQTFVH LAo+ID4gPiA+ID4gPiArCVtIUERfUE9SVF9DXSA9IElDUF9UQzFfSE9UUExVRywKPiA+ID4gPiA+ ID4gKwlbSFBEX1BPUlRfRF0gPSBJQ1BfVEMyX0hPVFBMVUcsCj4gPiA+ID4gPiA+ICsJW0hQRF9Q T1JUX0VdID0gSUNQX1RDM19IT1RQTFVHLAo+ID4gPiA+ID4gPiArCVtIUERfUE9SVF9GXSA9IElD UF9UQzRfSE9UUExVRwo+ID4gPiA+ID4gPiArfTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAg LyogSUlSIGNhbiB0aGVvcmV0aWNhbGx5IHF1ZXVlIHVwIHR3byBldmVudHMuIEJlIHBhcmFub2lk Lgo+ID4gPiA+ID4gPiAqLwo+ID4gPiA+ID4gPiAgI2RlZmluZSBHRU44X0lSUV9SRVNFVF9ORFgo dHlwZSwgd2hpY2gpIGRvIHsgXAo+ID4gPiA+ID4gPiAgCUk5MTVfV1JJVEUoR0VOOF8jI3R5cGUj I19JTVIod2hpY2gpLCAweGZmZmZmZmZmKTsKPiA+ID4gPiA+ID4gXAo+ID4gPiA+ID4gPiBAQCAt MTU4Niw2ICsxNTk1LDM0IEBAIHN0YXRpYyBib29sCj4gPiA+ID4gPiA+IGJ4dF9wb3J0X2hvdHBs dWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2YWwpCj4gPiA+ID4gPiA+ICAJfQo+ ID4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICtzdGF0aWMgYm9vbCBpY3Bf ZGRpX3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIHBvcnQKPiA+ID4gPiA+ID4gcG9ydCwg dTMyCj4gPiA+ID4gPiA+IHZhbCkKPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gKwlzd2l0Y2gg KHBvcnQpIHsKPiA+ID4gPiA+ID4gKwljYXNlIFBPUlRfQToKPiA+ID4gPiA+ID4gKwkJcmV0dXJu IHZhbCAmIElDUF9ERElBX0hQRF9MT05HX0RFVEVDVDsKPiA+ID4gPiA+ID4gKwljYXNlIFBPUlRf QjoKPiA+ID4gPiA+ID4gKwkJcmV0dXJuIHZhbCAmIElDUF9ERElCX0hQRF9MT05HX0RFVEVDVDsK PiA+ID4gPiA+ID4gKwlkZWZhdWx0Ogo+ID4gPiA+ID4gPiArCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ ID4gPiA+ICsJfQo+ID4gPiA+ID4gPiArfQo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICtzdGF0 aWMgYm9vbCBpY3BfdGNfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KGVudW0gcG9ydAo+ID4gPiA+ ID4gPiBwb3J0LCB1MzIKPiA+ID4gPiA+ID4gdmFsKQo+ID4gPiA+ID4gPiArewo+ID4gPiA+ID4g PiArCXN3aXRjaCAocG9ydCkgewo+ID4gPiA+ID4gPiArCWNhc2UgUE9SVF9DOgo+ID4gPiA+ID4g PiArCQlyZXR1cm4gdmFsICYKPiA+ID4gPiA+ID4gSUNQX1RDX0hQRF9MT05HX0RFVEVDVChQT1JU X1RDMSk7Cj4gPiA+ID4gPiA+ICsJY2FzZSBQT1JUX0Q6Cj4gPiA+ID4gPiA+ICsJCXJldHVybiB2 YWwgJgo+ID4gPiA+ID4gPiBJQ1BfVENfSFBEX0xPTkdfREVURUNUKFBPUlRfVEMyKTsKPiA+ID4g PiA+ID4gKwljYXNlIFBPUlRfRToKPiA+ID4gPiA+ID4gKwkJcmV0dXJuIHZhbCAmCj4gPiA+ID4g PiA+IElDUF9UQ19IUERfTE9OR19ERVRFQ1QoUE9SVF9UQzMpOwo+ID4gPiA+ID4gPiArCWNhc2Ug UE9SVF9GOgo+ID4gPiA+ID4gPiArCQlyZXR1cm4gdmFsICYKPiA+ID4gPiA+ID4gSUNQX1RDX0hQ RF9MT05HX0RFVEVDVChQT1JUX1RDNCk7Cj4gPiA+ID4gPiA+ICsJZGVmYXVsdDoKPiA+ID4gPiA+ ID4gKwkJcmV0dXJuIGZhbHNlOwo+ID4gPiA+ID4gPiArCX0KPiA+ID4gPiA+ID4gK30KPiA+ID4g PiA+ID4gKwo+ID4gPiA+ID4gPiAgc3RhdGljIGJvb2wgc3B0X3BvcnRfaG90cGx1ZzJfbG9uZ19k ZXRlY3QoZW51bSBwb3J0IHBvcnQsCj4gPiA+ID4gPiA+IHUzMiB2YWwpCj4gPiA+ID4gPiA+ICB7 Cj4gPiA+ID4gPiA+ICAJc3dpdGNoIChwb3J0KSB7Cj4gPiA+ID4gPiA+IEBAIC0yMzc3LDYgKzI0 MTQsNDMgQEAgc3RhdGljIHZvaWQgY3B0X2lycV9oYW5kbGVyKHN0cnVjdAo+ID4gPiA+ID4gPiBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHBjaF9paXIpCj4gPiA+ID4gPiA+ICAJCWNw dF9zZXJyX2ludF9oYW5kbGVyKGRldl9wcml2KTsKPiA+ID4gPiA+ID4gIH0KPiA+ID4gPiA+ID4g IAo+ID4gPiA+ID4gPiArc3RhdGljIHZvaWQgaWNwX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlCj4gPiA+ID4gPiA+ICpkZXZfcHJpdiwgdTMyCj4gPiA+ID4gPiA+IHBjaF9paXIp Cj4gPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiA+ICsJdTMyIGRkaV9ob3RwbHVnX3RyaWdnZXIgPSBw Y2hfaWlyICYKPiA+ID4gPiA+ID4gSUNQX1NERV9ERElfTUFTSzsKPiA+ID4gPiA+ID4gKwl1MzIg dGNfaG90cGx1Z190cmlnZ2VyID0gcGNoX2lpciAmCj4gPiA+ID4gPiA+IElDUF9TREVfVENfTUFT SzsKPiA+ID4gPiA+ID4gKwl1MzIgcGluX21hc2sgPSAwLCBsb25nX21hc2sgPSAwOwo+ID4gPiA+ ID4gPiArCj4gPiA+ID4gPiA+ICsJaWYgKGRkaV9ob3RwbHVnX3RyaWdnZXIpIHsKPiA+ID4gPiA+ ID4gKwkJdTMyIGRpZ19ob3RwbHVnX3JlZzsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCQlk aWdfaG90cGx1Z19yZWcgPQo+ID4gPiA+ID4gPiBJOTE1X1JFQUQoU0hPVFBMVUdfQ1RMX0RESSk7 Cj4gPiA+ID4gPiA+ICsJCUk5MTVfV1JJVEUoU0hPVFBMVUdfQ1RMX0RESSwKPiA+ID4gPiA+ID4g ZGlnX2hvdHBsdWdfcmVnKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCQlpbnRlbF9nZXRf aHBkX3BpbnMoZGV2X3ByaXYsICZwaW5fbWFzaywKPiA+ID4gPiA+ID4gJmxvbmdfbWFzaywKPiA+ ID4gPiA+ID4gKwkJCQkgICBkZGlfaG90cGx1Z190cmlnZ2VyLAo+ID4gPiA+ID4gPiArCQkJCSAg IGRpZ19ob3RwbHVnX3JlZywKPiA+ID4gPiA+ID4gaHBkX2ljcCwKPiA+ID4gPiA+ID4gKwkJCQkg ICBpY3BfZGRpX3BvcnRfaG90cGx1Z19sbwo+ID4gPiA+ID4gPiBuZ19kZXRlYwo+ID4gPiA+ID4g PiB0KTsKPiA+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlpZiAodGNf aG90cGx1Z190cmlnZ2VyKSB7Cj4gPiA+ID4gPiA+ICsJCXUzMiBkaWdfaG90cGx1Z19yZWc7Cj4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwkJZGlnX2hvdHBsdWdfcmVnID0KPiA+ID4gPiA+ID4g STkxNV9SRUFEKFNIT1RQTFVHX0NUTF9UQyk7Cj4gPiA+ID4gPiA+ICsJCUk5MTVfV1JJVEUoU0hP VFBMVUdfQ1RMX1RDLAo+ID4gPiA+ID4gPiBkaWdfaG90cGx1Z19yZWcpOwo+ID4gPiA+ID4gPiAr Cj4gPiA+ID4gPiA+ICsJCWludGVsX2dldF9ocGRfcGlucyhkZXZfcHJpdiwgJnBpbl9tYXNrLAo+ ID4gPiA+ID4gPiAmbG9uZ19tYXNrLAo+ID4gPiA+ID4gPiArCQkJCSAgIHRjX2hvdHBsdWdfdHJp Z2dlciwKPiA+ID4gPiA+ID4gKwkJCQkgICBkaWdfaG90cGx1Z19yZWcsCj4gPiA+ID4gPiA+IGhw ZF9pY3AsCj4gPiA+ID4gPiA+ICsJCQkJICAgaWNwX3RjX3BvcnRfaG90cGx1Z19sb24KPiA+ID4g PiA+ID4gZ19kZXRlY3QKPiA+ID4gPiA+ID4gKTsKPiA+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiA+ ICsKPiA+ID4gPiA+ID4gKwlpZiAocGluX21hc2spCj4gPiA+ID4gPiA+ICsJCWludGVsX2hwZF9p cnFfaGFuZGxlcihkZXZfcHJpdiwgcGluX21hc2ssCj4gPiA+ID4gPiA+IGxvbmdfbWFzayk7Cj4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlpZiAocGNoX2lpciAmIElDUF9HTUJVUykKPiA+ID4g PiA+ID4gKwkJZ21idXNfaXJxX2hhbmRsZXIoZGV2X3ByaXYpOwo+ID4gPiA+ID4gPiArfQo+ID4g PiA+ID4gPiArCj4gPiA+ID4gPiA+ICBzdGF0aWMgdm9pZCBzcHRfaXJxX2hhbmRsZXIoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gPiA+ID4gKmRldl9wcml2LCB1MzIKPiA+ID4gPiA+ID4g cGNoX2lpcikKPiA+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ID4gIAl1MzIgaG90cGx1Z190cmlnZ2Vy ID0gcGNoX2lpciAmCj4gPiA+ID4gPiA+IFNERV9IT1RQTFVHX01BU0tfU1BUICYKPiA+ID4gPiA+ ID4gQEAgLTI3NzksOCArMjg1MywxMSBAQCBnZW44X2RlX2lycV9oYW5kbGVyKHN0cnVjdAo+ID4g PiA+ID4gPiBkcm1faTkxNV9wcml2YXRlCj4gPiA+ID4gPiA+ICpkZXZfcHJpdiwgdTMyIG1hc3Rl cl9jdGwpCj4gPiA+ID4gPiA+ICAJCQlJOTE1X1dSSVRFKFNERUlJUiwgaWlyKTsKPiA+ID4gPiA+ ID4gIAkJCXJldCA9IElSUV9IQU5ETEVEOwo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+IC0JCQlp ZiAoSEFTX1BDSF9TUFQoZGV2X3ByaXYpIHx8Cj4gPiA+ID4gPiA+IEhBU19QQ0hfS0JQKGRldl9w cml2KSB8fAo+ID4gPiA+ID4gPiAtCQkJICAgIEhBU19QQ0hfQ05QKGRldl9wcml2KSkKPiA+ID4g PiA+ID4gKwkJCWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikpCj4gPiA+ID4gPiA+ICsJCQkJaWNw X2lycV9oYW5kbGVyKGRldl9wcml2LAo+ID4gPiA+ID4gPiBpaXIpOwo+ID4gCj4gPiB0byBiZSBj bGVhciBvbiB3aGF0IEkgd2FzIHNheWluZy4uLiBTZWUgdGhlIGNvbnRleHQganVzdCBhYm92ZTog d2UKPiA+IHJlYWQKPiA+IGFuZCB3cml0ZSBTREVJSVIgdG8gZ2V0L2NsZWFyIHRoZSBpbnRlcnJ1 cHQgYml0cy4gWWV0IHlvdSBhcmUKPiA+IGRlZmluaW5nIGEKPiA+IElDUF9TREVfSUlSIHRoYXQg aGFzIHRvIGJlIHRoZSBzYW1lIHZhbHVlLiAgVG8gYXZvaWQgYW55IGNvbmZ1c2lvbiwKPiA+IEkK PiA+IHRoaW5rIGl0J3MgYmV0dGVyIHRvIHN0YXkgd2l0aCBTREVJSVIgYW5kIGp1c3QgY2hhbmdl IHRoZSBiaXQKPiA+IGRlZmluaXRpb24uCj4gCj4gRGssIGFueSBuZXdzIG9uIHRoaXM/Cj4gCj4g THVjYXMgRGUgTWFyY2hpCj4gCj4gPiAKPiA+IAo+ID4gPiA+ID4gPiArCQkJZWxzZSBpZiAoSEFT X1BDSF9TUFQoZGV2X3ByaXYpIHx8Cj4gPiA+ID4gPiA+ICsJCQkJIEhBU19QQ0hfS0JQKGRldl9w cml2KSB8fAo+ID4gPiA+ID4gPiArCQkJCSBIQVNfUENIX0NOUChkZXZfcHJpdikpCj4gPiA+ID4g PiA+ICAJCQkJc3B0X2lycV9oYW5kbGVyKGRldl9wcml2LAo+ID4gPiA+ID4gPiBpaXIpOwo+ID4g PiA+ID4gPiAgCQkJZWxzZQo+ID4gPiA+ID4gPiAgCQkJCWNwdF9pcnFfaGFuZGxlcihkZXZfcHJp diwKPiA+ID4gPiA+ID4gaWlyKTsKPiA+ID4gPiA+ID4gQEAgLTM1NDgsNiArMzYyNSw5IEBAIHN0 YXRpYyB2b2lkIGdlbjExX2lycV9yZXNldChzdHJ1Y3QKPiA+ID4gPiA+ID4gZHJtX2RldmljZQo+ ID4gPiA+ID4gPiAqZGV2KQo+ID4gPiA+ID4gPiAgCUdFTjNfSVJRX1JFU0VUKEdFTjExX0RFX0hQ RF8pOwo+ID4gPiA+ID4gPiAgCUdFTjNfSVJRX1JFU0VUKEdFTjExX0dVX01JU0NfKTsKPiA+ID4g PiA+ID4gIAlHRU4zX0lSUV9SRVNFVChHRU44X1BDVV8pOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4g PiA+ICsJaWYgKEhBU19QQ0hfSUNQKGRldl9wcml2KSkKPiA+ID4gPiA+ID4gKwkJR0VOM19JUlFf UkVTRVQoSUNQX1NERV8pOwo+ID4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ ICB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dlbGxfcG9zdF9lbmFibGUoc3RydWN0Cj4gPiA+ID4gPiA+ IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gPiA+ID4gKmRldl9wcml2LAo+ID4gPiA+ID4gPiBAQCAt MzY2NCw2ICszNzQ0LDM1IEBAIHN0YXRpYyB2b2lkIGlieF9ocGRfaXJxX3NldHVwKHN0cnVjdAo+ ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiA+ID4gIAlpYnhf aHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gPiA+ID4gPiA+ICB9Cj4gPiA+ID4gPiA+ ICAKPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGljcF9ocGRfZGV0ZWN0aW9uX3NldHVwKHN0cnVj dAo+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlCj4gPiA+ID4gPiA+ICpkZXZfcHJpdikKPiA+ ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gKwl1MzIgaG90cGx1ZzsKPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiArCWhvdHBsdWcgPSBJOTE1X1JFQUQoU0hPVFBMVUdfQ1RMX0RESSk7Cj4gPiA+ID4g PiA+ICsJaG90cGx1ZyB8PSBJQ1BfRERJQV9IUERfRU5BQkxFIHwKPiA+ID4gPiA+ID4gKwkJICAg SUNQX0RESUJfSFBEX0VOQUJMRTsKPiA+ID4gPiA+ID4gKwlJOTE1X1dSSVRFKFNIT1RQTFVHX0NU TF9EREksIGhvdHBsdWcpOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJaG90cGx1ZyA9IEk5 MTVfUkVBRChTSE9UUExVR19DVExfVEMpOwo+ID4gPiA+ID4gPiArCWhvdHBsdWcgfD0gSUNQX1RD X0hQRF9FTkFCTEUoUE9SVF9UQzEpIHwKPiA+ID4gPiA+ID4gKwkJICAgSUNQX1RDX0hQRF9FTkFC TEUoUE9SVF9UQzIpIHwKPiA+ID4gPiA+ID4gKwkJICAgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9U QzMpIHwKPiA+ID4gPiA+ID4gKwkJICAgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzQpOwo+ID4g PiA+ID4gPiArCUk5MTVfV1JJVEUoU0hPVFBMVUdfQ1RMX1RDLCBob3RwbHVnKTsKPiA+ID4gPiA+ ID4gK30KPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArc3RhdGljIHZvaWQgaWNwX2hwZF9pcnFf c2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gPiA+ID4gKmRldl9wcml2KQo+ID4g PiA+ID4gPiArewo+ID4gPiA+ID4gPiArCXUzMiBob3RwbHVnX2lycXMsIGVuYWJsZWRfaXJxczsK PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCWhvdHBsdWdfaXJxcyA9IElDUF9TREVfRERJX01B U0sgfCBJQ1BfU0RFX1RDX01BU0s7Cj4gPiA+ID4gPiA+ICsJZW5hYmxlZF9pcnFzID0gaW50ZWxf aHBkX2VuYWJsZWRfaXJxcyhkZXZfcHJpdiwKPiA+ID4gPiA+ID4gaHBkX2ljcCk7Cj4gPiA+ID4g PiA+ICsKPiA+ID4gPiA+ID4gKwlpYnhfZGlzcGxheV9pbnRlcnJ1cHRfdXBkYXRlKGRldl9wcml2 LAo+ID4gPiA+ID4gPiBob3RwbHVnX2lycXMsCj4gPiA+ID4gPiA+IGVuYWJsZWRfaXJxcyk7Cj4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlpY3BfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJp dik7Cj4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gIHN0YXRpYyB2b2lk IGdlbjExX2hwZF9kZXRlY3Rpb25fc2V0dXAoc3RydWN0Cj4gPiA+ID4gPiA+IGRybV9pOTE1X3By aXZhdGUKPiA+ID4gPiA+ID4gKmRldl9wcml2KQo+ID4gPiA+ID4gPiAgewo+ID4gPiA+ID4gPiAg CXUzMiBob3RwbHVnOwo+ID4gPiA+ID4gPiBAQCAtMzY5MCw2ICszNzk5LDkgQEAgc3RhdGljIHZv aWQKPiA+ID4gPiA+ID4gZ2VuMTFfaHBkX2lycV9zZXR1cChzdHJ1Y3QKPiA+ID4gPiA+ID4gZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ID4gPiA+ICAJUE9TVElOR19SRUFEKEdFTjEx X0RFX0hQRF9JTVIpOwo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICAJZ2VuMTFfaHBkX2RldGVj dGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlpZiAoSEFT X1BDSF9JQ1AoZGV2X3ByaXYpKQo+ID4gPiA+ID4gPiArCQlpY3BfaHBkX2lycV9zZXR1cChkZXZf cHJpdik7Cj4gPiA+ID4gPiA+ICB9Cj4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gIHN0YXRpYyB2 b2lkIHNwdF9ocGRfZGV0ZWN0aW9uX3NldHVwKHN0cnVjdAo+ID4gPiA+ID4gPiBkcm1faTkxNV9w cml2YXRlCj4gPiA+ID4gPiA+ICpkZXZfcHJpdikKPiA+ID4gPiA+ID4gQEAgLTQxMjEsMTEgKzQy MzMsMjkgQEAgc3RhdGljIHZvaWQKPiA+ID4gPiA+ID4gZ2VuMTFfZ3RfaXJxX3Bvc3RpbnN0YWxs KHN0cnVjdAo+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiA+ ID4gIAlJOTE1X1dSSVRFKEdFTjExX0dQTV9XR0JPWFBFUkZfSU5UUl9NQVNLLCAgfjApOwo+ID4g PiA+ID4gPiAgfQo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICtzdGF0aWMgdm9pZCBpY3BfaXJx X3Bvc3RpbnN0YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ID4gPiA+ICt7Cj4gPiA+ ID4gPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp Owo+ID4gPiA+ID4gPiArCXUzMiBtYXNrID0gSUNQX0dNQlVTOwo+ID4gPiA+ID4gPiArCj4gPiA+ ID4gPiA+ICsJV0FSTl9PTihJOTE1X1JFQUQoSUNQX1NERV9JRVIpICE9IDApOwo+ID4gPiA+ID4g PiArCUk5MTVfV1JJVEUoSUNQX1NERV9JRVIsIDB4ZmZmZmZmZmYpOwo+ID4gPiA+ID4gPiArCVBP U1RJTkdfUkVBRChJQ1BfU0RFX0lFUik7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlnZW4z X2Fzc2VydF9paXJfaXNfemVybyhkZXZfcHJpdiwgSUNQX1NERV9JSVIpOwo+ID4gPiA+ID4gPiAr CUk5MTVfV1JJVEUoSUNQX1NERV9JTVIsIH5tYXNrKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4g PiArCWljcF9ocGRfZGV0ZWN0aW9uX3NldHVwKGRldl9wcml2KTsKPiA+ID4gPiA+ID4gK30KPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAgc3RhdGljIGludCBnZW4xMV9pcnFfcG9zdGluc3RhbGwo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ID4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtCj4gPiA+ID4gPiA+ID5kZXZfcHJp dmF0ZTsKPiA+ID4gPiA+ID4gIAl1MzIgZ3VfbWlzY19tYXNrZWQgPSBHRU4xMV9HVV9NSVNDX0dT RTsKPiA+ID4gPiA+ID4gIAo+ID4gPiA+ID4gPiArCWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikp Cj4gPiA+ID4gPiA+ICsJCWljcF9pcnFfcG9zdGluc3RhbGwoZGV2KTsKPiA+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gPiAgCWdlbjExX2d0X2lycV9wb3N0aW5zdGFsbChkZXZfcHJpdik7Cj4gPiA+ID4g PiA+ICAJZ2VuOF9kZV9pcnFfcG9zdGluc3RhbGwoZGV2X3ByaXYpOwo+ID4gPiA+ID4gPiAgCj4g PiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4g PiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiA+ID4gPiBp bmRleCAxOTYwMDA5NzU4MWYuLjI4Y2U5NmNlMDQ4NCAxMDA2NDQKPiA+ID4gPiA+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+ID4gPiA+IEBAIC03NDYwLDYgKzc0NjAsNDYg QEAgZW51bSB7Cj4gPiA+ID4gPiA+ICAjZGVmaW5lICBQT1JURV9IT1RQTFVHX1NIT1JUX0RFVEVD VAkoMSA8PCAwKQo+ID4gPiA+ID4gPiAgI2RlZmluZSAgUE9SVEVfSE9UUExVR19MT05HX0RFVEVD VAkoMiA8PCAwKQo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICsvKiBJQ1AgKi8KPiA+ID4gPiA+ ID4gKyNkZWZpbmUgSUNQX1NERV9JU1IJCQlfTU1JTygweGM0MDAwKQo+ID4gPiA+ID4gPiArI2Rl ZmluZSBJQ1BfU0RFX0lNUgkJCV9NTUlPKDB4YzQwMDQpCj4gPiA+ID4gPiA+ICsjZGVmaW5lIElD UF9TREVfSUlSCQkJX01NSU8oMHhjNDAwOCkKPiA+ID4gPiA+ID4gKyNkZWZpbmUgSUNQX1NERV9J RVIJCQlfTU1JTygweGM0MDBjKQo+ID4gPiA+ID4gCj4gPiA+ID4gPiBUaGVzZSBhcmUgZXhhY3Rs eSB0aGUgc2FtZSByZWdpc3RlcnMgYXMgU0RFe0lTUixJTVIsSUlSLElFUn0uCj4gPiA+ID4gPiBG b3IgYWxsCj4gPiA+ID4gPiB0aGUgb3RoZXIgcGxhdGZvcm1zIHdoYXQgd2UgZG8gaXMgcmF0aGVy IHBvc3RmaXggdGhlIHBsYXRmb3JtCj4gPiA+ID4gPiBuYW1lLgo+ID4gPiA+ID4gCj4gPiA+ID4g PiBJIHRoaW5rIHdlIHNob3VsZCBmb2xsb3cgd2hhdCB0aGV5IGRvIGhlcmUuCgpJIGFncmVlLCB0 aGVyZSdzIG5vIG5lZWQgdG8gaGF2ZSBhbiBhbGlhcyBhbmQgdGhpcyBjYW4gaW5kZWVkIG1ha2Ug dGhlCmNvZGUgaGFyZGVyIHRvIHJlYWQuIEknZCB2b3RlIHRvIGp1c3QgcmVtb3ZlIGl0LCBidXQg aWYgd2UgaW5kZWVkIHRvCmNob3NlIHRvIGRvIGl0LCB3ZSBjYW4gZG8gc29tZXRoaW5nIGxpa2U6 CgojZGVmaW5lIElDUF9TREVfSVNSIFNERV9JU1IKCkJ1dCBJIHRoaW5rIGl0J3Mgd29ydGgga2Vl cGluZyB0aGUgYml0IGRlZmluaXRpb25zIHNlcGFyYXRlIHNpbmNlCnRoZXkncmUgdmVyeSBkaWZm ZXJlbnQuIFBlcmhhcHMgd2Ugc2hvdWxkIGtlZXAgdGhlIGNvbW1lbnQgdG8gZXhwbGFpbgp0aGF0 IHRoZSBJQ1AgcmVnaXN0ZXJzIGFyZSBiZWxvdzoKCiNkZWZpbmUgcmVnaXN0ZXJzX2Zyb21fYmVm b3JlICh4IDwgeSkKLyogSUNQOiAqLwojZGVmaW5lIHJlZ2lzdGVyc19mcm9tX2ljcCAoeCA8IHkp Cgo+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ICsjZGVmaW5l ICAgSUNQX1RDNF9IT1RQTFVHCQkoMSA8PCAyNykKPiA+ID4gPiA+ID4gKyNkZWZpbmUgICBJQ1Bf VEMzX0hPVFBMVUcJCSgxIDw8IDI2KQo+ID4gPiA+ID4gPiArI2RlZmluZSAgIElDUF9UQzJfSE9U UExVRwkJKDEgPDwgMjUpCj4gPiA+ID4gPiA+ICsjZGVmaW5lICAgSUNQX1RDMV9IT1RQTFVHCQko MSA8PCAyNCkKPiA+ID4gPiA+ID4gKyNkZWZpbmUgICBJQ1BfR01CVVMJCQkoMSA8PCAyMykKPiA+ ID4gPiA+ID4gKyNkZWZpbmUgICBJQ1BfRERJQl9IT1RQTFVHCQkoMSA8PCAxNykKPiA+ID4gPiA+ ID4gKyNkZWZpbmUgICBJQ1BfRERJQV9IT1RQTFVHCQkoMSA8PCAxNikKPiA+ID4gPiA+IAo+ID4g PiA+ID4gc28gdGhlc2Ugd291bGQgYmVjb21lIFNERV9UQzRfSE9UUExVR19JQ1AgYW5kIHNvIG9u Lgo+ID4gPiA+ID4gCgpJIGRvbid0IGhhdmUgc3Ryb25nIG9waW5pb25zIGhlcmUsIEknZCBnbyB3 aXRoIHdoYXRldmVyLiBKdXN0IGEgbm90aWNlCnRoYXQgSUNQIGlzIGFuIFNERSwgc28gd2UgaGF2 ZSBzb21lIHVnbHkgcmVkdW5kYW5jeSBoZXJlLiBCdXQgeWVhaCwgb3VyCiBzdGFuZGFyZCBpcyB3 ZWlyZDogcmVnaXN0ZXJzIG5ldyB0byBhIHBsYXRmb3JtIGhhdmUgdGhlIHBsYXRmb3JtIG5hbWUK YXMgYSBwcmVmaXgsIGJpdHMgbmV3IHRvIGEgcGxhdGZvcm0gaGF2ZSB0aGUgcGxhdGZvcm0gbmFt ZSBhcyBhCnN1ZmZpeC4uLgoKCj4gPiA+ID4gCj4gPiA+ID4gVGhlIHJlYXNvbiBJIHByZWZlcnJl ZCB0aGlzIG5hbWluZyBmb3IgZ2VuLTExIGlzIGl0IGlzCj4gPiA+ID4gc3ltbWV0cmljIHRvIHRo ZQo+ID4gPiA+IGNvcnJlc3BvbmRpbmcgZGVmaW5pdGlvbnMgaW4gdGhlIG5vcnRoIGVuZ2luZS4K PiA+ID4gPiAKPiA+ID4gPiBGb3IgZXhhbXBsZSwKPiA+ID4gPiArI2RlZmluZSBHRU4xMV9ERV9I UERfSVNSICAgICAgICAgICAgICAgX01NSU8oMHg0NDQ3MCkKPiA+ID4gPiArI2RlZmluZSBHRU4x MV9ERV9IUERfSU1SICAgICAgICAgICAgICAgX01NSU8oMHg0NDQ3NCkKPiA+ID4gPiArI2RlZmlu ZSBHRU4xMV9ERV9IUERfSUlSICAgICAgICAgICAgICAgX01NSU8oMHg0NDQ3OCkKPiA+ID4gPiAr I2RlZmluZSBHRU4xMV9ERV9IUERfSUVSICAgICAgICAgICAgICAgX01NSU8oMHg0NDQ3YykKPiA+ ID4gPiArI2RlZmluZSAgR0VOMTFfVEM0X0hPVFBMVUcgICAgICAgICAgICAgICAgICAgICAoMSA8 PCAxOSkKPiA+ID4gPiArI2RlZmluZSAgR0VOMTFfVEMzX0hPVFBMVUcgICAgICAgICAgICAgICAg ICAgICAoMSA8PCAxOCkKPiA+ID4gPiArI2RlZmluZSAgR0VOMTFfVEMyX0hPVFBMVUcgICAgICAg ICAgICAgICAgICAgICAoMSA8PCAxNykKPiA+ID4gPiArI2RlZmluZSAgR0VOMTFfVEMxX0hPVFBM VUcgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxNikKPiA+ID4gPiAKPiA+ID4gPiBXaXRoIGlu dGVycnVwdHMgZ2V0dGluZyByb3V0ZWQgdG8gbm9ydGggb3Igc291dGggZW5naW5lcyBmb3IKPiA+ ID4gPiB0aGUgc2FtZQo+ID4gPiA+IHBvcnQsIHRoaXMgbmFtaW5nIHNjaGVtZSBtYWtlcyB0aGUg ZHVhbGl0eSBjbGVhcmVyIElNTy4KPiA+ID4gCj4gPiA+IFN0aWxsIHRoZSByZWdpc3RlciBpcyB0 aGUgc2FtZSBhcyBTREVJU1IgYW5kIHRoZXJlIGFyZSBwbGFjZXMgaW4KPiA+ID4gd2hpY2ggd2UK PiA+ID4gcmVhZCBpdCBleHBlY3RpbmcgdG8gYmUgdGhlIHNhbWUgbnVtYmVyLgo+ID4gPiAKPiA+ ID4gT25seSB0aGUgYml0cyBhcmUgZGlmZmVyZW50LCBzbyBuYW1lIHRoZSBiaXRzIGRpZmZlcmVu dGx5IGFzIGl0Cj4gPiA+IGlzIGZvcgo+ID4gPiBvdGhlciBwbGF0Zm9ybXMuICBJIHRoaW5rIG9m IHRoZSBzeW1tZXRyeSBoZXJlIGp1c3QgYW5kIGFjY2lkZW50Cj4gPiA+IG9mCj4gPiA+IGxpZmUg ZXhwZWN0aW5nIHRvIGJlIGRpZmZlcmVudCBpZiBub3J0aCBhbmQgc291dGggZW5naW5lcyBkb24n dAo+ID4gPiBoYXZlIHRoZQo+ID4gPiBzYW1lIHBvcnRzLgo+ID4gCj4gPiBUaGlzIGlzIG9uIGdl bjhfZGVfaXJxX2hhbmRsZXIoKSB3aGljaCBpcyBzdGlsbCB1c2VkIGZvciBnZW4xMS4KPiA+IAo+ ID4gTHVjYXMgRGUgTWFyY2hpCj4gPiAKPiA+ID4gCj4gPiA+IEx1Y2FzIERlIE1hcmNoaQo+ID4g PiAKPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ ID4gKyNkZWZpbmUgSUNQX1NERV9ERElfTUFTSwkJKElDUF9ERElCX0hPVFBMVUcKPiA+ID4gPiA+ ID4gfAkKPiA+ID4gPiA+ID4gXAo+ID4gPiA+ID4gPiArCQkJCQkgSUNQX0RESUFfSE9UUExVRykK PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ1BfU0RFX1RDX01BU0sJCQkoSUNQ X1RDNF9ITwo+ID4gPiA+ID4gPiBUUExVRyB8CQo+ID4gPiA+ID4gPiBcCj4gPiA+ID4gPiA+ICsJ CQkJCSBJQ1BfVEMzX0hPVFBMVUcgfAo+ID4gPiA+ID4gPiAJCj4gPiA+ID4gPiA+IFwKPiA+ID4g PiA+ID4gKwkJCQkJIElDUF9UQzJfSE9UUExVRyB8Cj4gPiA+ID4gPiA+IAkKPiA+ID4gPiA+ID4g XAo+ID4gPiA+ID4gPiArCQkJCQkgSUNQX1RDMV9IT1RQTFVHKQo+ID4gPiA+ID4gPiArCj4gPiA+ ID4gPiA+ICsjZGVmaW5lIFNIT1RQTFVHX0NUTF9EREkJCQlfTU1JTygweGM0Cj4gPiA+ID4gPiA+ IDAzMCkJCj4gPiA+ID4gPiA+IC8qIFNIT1RQTFVHX0NUTCAqLwo+ID4gPiA+ID4gCj4gPiA+ID4g PiBUaGlzIGFsc28gc2VlbXMgdG8gcmV1c2Ugd2hhdCB3ZSBoYXZlIGRlZmluZWQgYXMKPiA+ID4g PiA+IFBDSF9QT1JUX0hPVFBMVUcKPiA+ID4gPiA+IHdpdGggYQo+ID4gPiA+ID4gY29tbWVudCB0 byBTSE9UUExVR19DVEwgdGhlcmUsIGFsdGhvdWdoIGhlcmUgSSB0ZW5kIHRvIGJlIGluCj4gPiA+ ID4gPiBmYXZvciBvZgo+ID4gPiA+ID4gdXNpbmcgdGhlIGN1cnJlbnQgcmVhbCBuYW1lIG9mIHRo ZSByZWdpc3RlciAoU0hPVFBMVUdfQ1RMKS4KPiA+ID4gPiAKPiA+ID4gPiBUaGUgcmVhbCBuYW1l IEkgc2VlIGlzIFNIT1RQTFVHX0NUTF9EREkgZm9yIElDUC4KPiA+ID4gPiAKPiA+ID4gPiBJIGRv bid0IGJlbGlldmUgd2Ugc2hvdWxkIGF0dGVtcHQgdG8gbWFrZSB0aGVzZSBkZWZpbml0aW9ucwo+ ID4gPiA+IGNvbnNpc3RlbnQKPiA+ID4gPiB3aXRoIHByZXZpb3VzIHBsYXRmb3JtcyBvdmVyIG1h a2luZyB0aGVtIGNvbnNpc3RlbnQgd2l0aCBlYWNoCj4gPiA+ID4gb3RoZXIuCgpUaGUgdGhpbmcg dG8ga2VlcCBpbiBtaW5kIGhlcmUgaXMgdGhhdCBJQ1Agc3BsaXQgdGhpcyByZWdpc3RlciBpbiB0 d286ClNIT1RQTFVHX0NUTF9EREkgYW5kIFNIT1RQTFVHX0NUTF9UQywgc28gSSdkIGJlIGluIGZh dm9yIG9mIG5ldmVyIHVzaW5nCmp1c3QgU0hPVFBMVUdfQ1RMLgoKCgo+ID4gPiA+ICAKPiA+ID4g PiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gVGhlIHJlc3QgbG9va3MgZ29vZCB0byBtZS4KPiA+ID4g PiA+IAo+ID4gPiA+ID4gTHVjYXMgRGUgTWFyY2hpCj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4g PiA+ID4gPiA+ICsjZGVmaW5lICAgSUNQX0RESUJfSFBEX0VOQUJMRQkJCSgxIDw8Cj4gPiA+ID4g PiA+IDcpCj4gPiA+ID4gPiA+ICsjZGVmaW5lICAgSUNQX0RESUJfSFBEX1NUQVRVU19NQVNLCQko MyA8PCA0KQo+ID4gPiA+ID4gPiArI2RlZmluZSAgIElDUF9ERElCX0hQRF9OT19ERVRFQ1QJCSgw IDw8IDQpCj4gPiA+ID4gPiA+ICsjZGVmaW5lICAgSUNQX0RESUJfSFBEX1NIT1JUX0RFVEVDVAkJ KDEgPDwKPiA+ID4gPiA+ID4gNCkKPiA+ID4gPiA+ID4gKyNkZWZpbmUgICBJQ1BfRERJQl9IUERf TE9OR19ERVRFQ1QJCSgyIDw8IDQpCj4gPiA+ID4gPiA+ICsjZGVmaW5lICAgSUNQX0RESUJfSFBE X1NIT1JUX0xPTkdfREVURUNUCSgzIDw8IDQpCj4gPiA+ID4gPiA+ICsjZGVmaW5lICAgSUNQX0RE SUFfSFBEX0VOQUJMRQkJCSgxIDw8Cj4gPiA+ID4gPiA+IDMpCj4gPiA+ID4gPiA+ICsjZGVmaW5l ICAgSUNQX0RESUFfSFBEX1NUQVRVU19NQVNLCQkoMyA8PCAwKQo+ID4gPiA+ID4gPiArI2RlZmlu ZSAgIElDUF9ERElBX0hQRF9OT19ERVRFQ1QJCSgwIDw8IDApCj4gPiA+ID4gPiA+ICsjZGVmaW5l ICAgSUNQX0RESUFfSFBEX1NIT1JUX0RFVEVDVAkJKDEgPDwKPiA+ID4gPiA+ID4gMCkKPiA+ID4g PiA+ID4gKyNkZWZpbmUgICBJQ1BfRERJQV9IUERfTE9OR19ERVRFQ1QJCSgyIDw8IDApCj4gPiA+ ID4gPiA+ICsjZGVmaW5lICAgSUNQX0RESUFfSFBEX1NIT1JUX0xPTkdfREVURUNUCSgzIDw8IDAp Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyNkZWZpbmUgU0hPVFBMVUdfQ1RMX1RDCQkJCV9N TQo+ID4gPiA+ID4gPiBJTygweGM0MAo+ID4gPiA+ID4gPiAzNCkKPiA+ID4gPiA+ID4gKyNkZWZp bmUgICBJQ1BfVENfSFBEX0VOQUJMRSh0Y19wb3J0KQkJKDggPDwKPiA+ID4gPiA+ID4gKHRjX3Bv cnQpICogNCkKPiA+ID4gPiA+ID4gKyNkZWZpbmUgICBJQ1BfVENfSFBEX0xPTkdfREVURUNUKHRj X3BvcnQpCSgyIDw8Cj4gPiA+ID4gPiA+ICh0Y19wb3J0KSAqCj4gPiA+ID4gPiA+IDQpCj4gPiA+ ID4gPiA+ICsjZGVmaW5lICAgSUNQX1RDX0hQRF9TSE9SVF9ERVRFQ1QodGNfcG9ydCkJKDEgPDwK PiA+ID4gPiA+ID4gKHRjX3BvcnQpCj4gPiA+ID4gPiA+ICogNCkKPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiAgI2RlZmluZSBQQ0hfR1BJT0EgICAgICAgICAgICAgICBfTU1JTygweGM1MDEwKQo+ ID4gPiA+ID4gPiAgI2RlZmluZSBQQ0hfR1BJT0IgICAgICAgICAgICAgICBfTU1JTygweGM1MDE0 KQo+ID4gPiA+ID4gPiAgI2RlZmluZSBQQ0hfR1BJT0MgICAgICAgICAgICAgICBfTU1JTygweGM1 MDE4KQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK