From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: Re: [PATCH 05/24] drm/i915/icp: Add Interrupt Support Date: Wed, 13 Jun 2018 19:21:54 -0700 Message-ID: <1528942914.7432.40.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> Reply-To: dhinakaran.pandiyan@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 145C96E6A9 for ; Thu, 14 Jun 2018 01:56:10 +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 Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE4LTA2LTEzIGF0IDE1OjIzIC0wNzAwLCBMdWNhcyBEZSBNYXJjaGkgd3JvdGU6 Cj4gT24gVHVlLCBNYXkgMjksIDIwMTggYXQgMDU6MDQ6NThQTSAtMDcwMCwgTHVjYXMgRGUgTWFy Y2hpIHdyb3RlOgo+ID4gCj4gPiBPbiBUaHUsIE1heSAyNCwgMjAxOCBhdCAwNTo0MzoyNFBNIC0w NzAwLCBMdWNhcyBEZSBNYXJjaGkgd3JvdGU6Cj4gPiA+IAo+ID4gPiBPbiBUaHUsIE1heSAyNCwg MjAxOCBhdCAwNTo0NTo0M1BNIC0wNzAwLCBEaGluYWthcmFuIFBhbmRpeWFuCj4gPiA+IHdyb3Rl Ogo+ID4gPiA+IAo+ID4gPiA+IE9uIFRodSwgMjAxOC0wNS0yNCBhdCAxNjo1MyAtMDcwMCwgTHVj YXMgRGUgTWFyY2hpIHdyb3RlOgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBPbiBNb24sIE1heSAyMSwg MjAxOCBhdCAwNToyNTozOVBNIC0wNzAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6Cj4gPiA+ID4gPiA+ IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gRnJvbTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEu c3JpdmF0c2FAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBh ZGRyZXNzZXMgSW50ZXJydXB0cyBmcm9tIHNvdXRoIGRpc3BsYXkgZW5naW5lCj4gPiA+ID4gPiA+ IChTREUpLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gSUNQIGhhcyB0d28gcmVnaXN0ZXJzIC0g U0hPVFBMVUdfQ1RMX0RESSBhbmQKPiA+ID4gPiA+ID4gU0hPVFBMVUdfQ1RMX1RDLgo+ID4gPiA+ ID4gPiBJbnRyb2R1Y2UgdGhlc2UgcmVnaXN0ZXJzIGFuZCB0aGVpciBpbnRlbmRlZCB2YWx1ZXMu Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBJbnRyb2R1Y2UgaWNwX2lycV9oYW5kbGVyKCkuCj4g PiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBp bnRlbC5jb20+Cj4gPiA+ID4gPiA+IENjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFu LnBhbmRpeWFuQGludGVsLmNvbT4KPiA+ID4gPiA+ID4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBbnVz aGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+Cj4gPiA+ID4gPiA+IFtQYXVs bzogY29kaW5nIHN0eWxlIGJpa2VzaGVkcyBhbmQgcmViYXNlc10uCj4gPiA+ID4gPiA+IFNpZ25l ZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ID4gPiA+ ID4gPiAtLS0KPiA+ID4gPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIHwg MTM0Cj4gPiA+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0K PiA+ID4gPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIHzCoMKgNDAgKysr KysrKysrKysrCj4gPiA+ID4gPiA+IMKgMiBmaWxlcyBjaGFuZ2VkLCAxNzIgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gPiA+ID4gPiA+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4gPiA+ID4gPiBpbmRleCA5YmNlYzVmZGI5ZDAuLjZiMTA5 OTkxNzg2ZiAxMDA2NDQKPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYwo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5j Cj4gPiA+ID4gPiA+IEBAIC0xMjIsNiArMTIyLDE1IEBAIHN0YXRpYyBjb25zdCB1MzIKPiA+ID4g PiA+ID4gaHBkX3RjX2dlbjExW0hQRF9OVU1fUElOU10gPQo+ID4gPiA+ID4gPiB7Cj4gPiA+ID4g PiA+IMKgCVtIUERfUE9SVF9GXSA9IEdFTjExX1RDNF9IT1RQTFVHCj4gPiA+ID4gPiA+IMKgfTsK PiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gK3N0YXRpYyBjb25zdCB1MzIgaHBkX2ljcFtIUERf TlVNX1BJTlNdID0gewo+ID4gPiA+ID4gPiArCVtIUERfUE9SVF9BXSA9IElDUF9ERElBX0hPVFBM VUcsCj4gPiA+ID4gPiA+ICsJW0hQRF9QT1JUX0JdID0gSUNQX0RESUJfSE9UUExVRywKPiA+ID4g PiA+ID4gKwlbSFBEX1BPUlRfQ10gPSBJQ1BfVEMxX0hPVFBMVUcsCj4gPiA+ID4gPiA+ICsJW0hQ RF9QT1JUX0RdID0gSUNQX1RDMl9IT1RQTFVHLAo+ID4gPiA+ID4gPiArCVtIUERfUE9SVF9FXSA9 IElDUF9UQzNfSE9UUExVRywKPiA+ID4gPiA+ID4gKwlbSFBEX1BPUlRfRl0gPSBJQ1BfVEM0X0hP VFBMVUcKPiA+ID4gPiA+ID4gK307Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gwqAvKiBJSVIg Y2FuIHRoZW9yZXRpY2FsbHkgcXVldWUgdXAgdHdvIGV2ZW50cy4gQmUgcGFyYW5vaWQuCj4gPiA+ ID4gPiA+ICovCj4gPiA+ID4gPiA+IMKgI2RlZmluZSBHRU44X0lSUV9SRVNFVF9ORFgodHlwZSwg d2hpY2gpIGRvIHsgXAo+ID4gPiA+ID4gPiDCoAlJOTE1X1dSSVRFKEdFTjhfIyN0eXBlIyNfSU1S KHdoaWNoKSwgMHhmZmZmZmZmZik7Cj4gPiA+ID4gPiA+IFwKPiA+ID4gPiA+ID4gQEAgLTE1ODYs NiArMTU5NSwzNCBAQCBzdGF0aWMgYm9vbAo+ID4gPiA+ID4gPiBieHRfcG9ydF9ob3RwbHVnX2xv bmdfZGV0ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIgdmFsKQo+ID4gPiA+ID4gPiDCoAl9Cj4gPiA+ ID4gPiA+IMKgfQo+ID4gPiA+ID4gPiDCoAo+ID4gPiA+ID4gPiArc3RhdGljIGJvb2wgaWNwX2Rk aV9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0Cj4gPiA+ID4gPiA+IHBvcnQsIHUz Mgo+ID4gPiA+ID4gPiB2YWwpCj4gPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiA+ICsJc3dpdGNoIChw b3J0KSB7Cj4gPiA+ID4gPiA+ICsJY2FzZSBQT1JUX0E6Cj4gPiA+ID4gPiA+ICsJCXJldHVybiB2 YWwgJiBJQ1BfRERJQV9IUERfTE9OR19ERVRFQ1Q7Cj4gPiA+ID4gPiA+ICsJY2FzZSBQT1JUX0I6 Cj4gPiA+ID4gPiA+ICsJCXJldHVybiB2YWwgJiBJQ1BfRERJQl9IUERfTE9OR19ERVRFQ1Q7Cj4g PiA+ID4gPiA+ICsJZGVmYXVsdDoKPiA+ID4gPiA+ID4gKwkJcmV0dXJuIGZhbHNlOwo+ID4gPiA+ ID4gPiArCX0KPiA+ID4gPiA+ID4gK30KPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArc3RhdGlj IGJvb2wgaWNwX3RjX3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIHBvcnQKPiA+ID4gPiA+ ID4gcG9ydCwgdTMyCj4gPiA+ID4gPiA+IHZhbCkKPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4g Kwlzd2l0Y2ggKHBvcnQpIHsKPiA+ID4gPiA+ID4gKwljYXNlIFBPUlRfQzoKPiA+ID4gPiA+ID4g KwkJcmV0dXJuIHZhbCAmCj4gPiA+ID4gPiA+IElDUF9UQ19IUERfTE9OR19ERVRFQ1QoUE9SVF9U QzEpOwo+ID4gPiA+ID4gPiArCWNhc2UgUE9SVF9EOgo+ID4gPiA+ID4gPiArCQlyZXR1cm4gdmFs ICYKPiA+ID4gPiA+ID4gSUNQX1RDX0hQRF9MT05HX0RFVEVDVChQT1JUX1RDMik7Cj4gPiA+ID4g PiA+ICsJY2FzZSBQT1JUX0U6Cj4gPiA+ID4gPiA+ICsJCXJldHVybiB2YWwgJgo+ID4gPiA+ID4g PiBJQ1BfVENfSFBEX0xPTkdfREVURUNUKFBPUlRfVEMzKTsKPiA+ID4gPiA+ID4gKwljYXNlIFBP UlRfRjoKPiA+ID4gPiA+ID4gKwkJcmV0dXJuIHZhbCAmCj4gPiA+ID4gPiA+IElDUF9UQ19IUERf TE9OR19ERVRFQ1QoUE9SVF9UQzQpOwo+ID4gPiA+ID4gPiArCWRlZmF1bHQ6Cj4gPiA+ID4gPiA+ ICsJCXJldHVybiBmYWxzZTsKPiA+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4g PiA+ICsKPiA+ID4gPiA+ID4gwqBzdGF0aWMgYm9vbCBzcHRfcG9ydF9ob3RwbHVnMl9sb25nX2Rl dGVjdChlbnVtIHBvcnQgcG9ydCwKPiA+ID4gPiA+ID4gdTMyIHZhbCkKPiA+ID4gPiA+ID4gwqB7 Cj4gPiA+ID4gPiA+IMKgCXN3aXRjaCAocG9ydCkgewo+ID4gPiA+ID4gPiBAQCAtMjM3Nyw2ICsy NDE0LDQzIEBAIHN0YXRpYyB2b2lkIGNwdF9pcnFfaGFuZGxlcihzdHJ1Y3QKPiA+ID4gPiA+ID4g ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBwY2hfaWlyKQo+ID4gPiA+ID4gPiDCoAkJ Y3B0X3NlcnJfaW50X2hhbmRsZXIoZGV2X3ByaXYpOwo+ID4gPiA+ID4gPiDCoH0KPiA+ID4gPiA+ ID4gwqAKPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGljcF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZQo+ID4gPiA+ID4gPiAqZGV2X3ByaXYsIHUzMgo+ID4gPiA+ID4gPiBwY2hf aWlyKQo+ID4gPiA+ID4gPiArewo+ID4gPiA+ID4gPiArCXUzMiBkZGlfaG90cGx1Z190cmlnZ2Vy ID0gcGNoX2lpciAmCj4gPiA+ID4gPiA+IElDUF9TREVfRERJX01BU0s7Cj4gPiA+ID4gPiA+ICsJ dTMyIHRjX2hvdHBsdWdfdHJpZ2dlciA9IHBjaF9paXIgJgo+ID4gPiA+ID4gPiBJQ1BfU0RFX1RD X01BU0s7Cj4gPiA+ID4gPiA+ICsJdTMyIHBpbl9tYXNrID0gMCwgbG9uZ19tYXNrID0gMDsKPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCWlmIChkZGlfaG90cGx1Z190cmlnZ2VyKSB7Cj4gPiA+ ID4gPiA+ICsJCXUzMiBkaWdfaG90cGx1Z19yZWc7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4g KwkJZGlnX2hvdHBsdWdfcmVnID0KPiA+ID4gPiA+ID4gSTkxNV9SRUFEKFNIT1RQTFVHX0NUTF9E REkpOwo+ID4gPiA+ID4gPiArCQlJOTE1X1dSSVRFKFNIT1RQTFVHX0NUTF9EREksCj4gPiA+ID4g PiA+IGRpZ19ob3RwbHVnX3JlZyk7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwkJaW50ZWxf Z2V0X2hwZF9waW5zKGRldl9wcml2LCAmcGluX21hc2ssCj4gPiA+ID4gPiA+ICZsb25nX21hc2ss Cj4gPiA+ID4gPiA+ICsJCQkJwqDCoMKgZGRpX2hvdHBsdWdfdHJpZ2dlciwKPiA+ID4gPiA+ID4g KwkJCQnCoMKgwqBkaWdfaG90cGx1Z19yZWcsCj4gPiA+ID4gPiA+IGhwZF9pY3AsCj4gPiA+ID4g PiA+ICsJCQkJwqDCoMKgaWNwX2RkaV9wb3J0X2hvdHBsdWdfbG8KPiA+ID4gPiA+ID4gbmdfZGV0 ZWMKPiA+ID4gPiA+ID4gdCk7Cj4gPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gPiArCj4gPiA+ID4g PiA+ICsJaWYgKHRjX2hvdHBsdWdfdHJpZ2dlcikgewo+ID4gPiA+ID4gPiArCQl1MzIgZGlnX2hv dHBsdWdfcmVnOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJCWRpZ19ob3RwbHVnX3JlZyA9 Cj4gPiA+ID4gPiA+IEk5MTVfUkVBRChTSE9UUExVR19DVExfVEMpOwo+ID4gPiA+ID4gPiArCQlJ OTE1X1dSSVRFKFNIT1RQTFVHX0NUTF9UQywKPiA+ID4gPiA+ID4gZGlnX2hvdHBsdWdfcmVnKTsK PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCQlpbnRlbF9nZXRfaHBkX3BpbnMoZGV2X3ByaXYs ICZwaW5fbWFzaywKPiA+ID4gPiA+ID4gJmxvbmdfbWFzaywKPiA+ID4gPiA+ID4gKwkJCQnCoMKg wqB0Y19ob3RwbHVnX3RyaWdnZXIsCj4gPiA+ID4gPiA+ICsJCQkJwqDCoMKgZGlnX2hvdHBsdWdf cmVnLAo+ID4gPiA+ID4gPiBocGRfaWNwLAo+ID4gPiA+ID4gPiArCQkJCcKgwqDCoGljcF90Y19w b3J0X2hvdHBsdWdfbG9uCj4gPiA+ID4gPiA+IGdfZGV0ZWN0Cj4gPiA+ID4gPiA+ICk7Cj4gPiA+ ID4gPiA+ICsJfQo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJaWYgKHBpbl9tYXNrKQo+ID4g PiA+ID4gPiArCQlpbnRlbF9ocGRfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIHBpbl9tYXNrLAo+ID4g PiA+ID4gPiBsb25nX21hc2spOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJaWYgKHBjaF9p aXIgJiBJQ1BfR01CVVMpCj4gPiA+ID4gPiA+ICsJCWdtYnVzX2lycV9oYW5kbGVyKGRldl9wcml2 KTsKPiA+ID4gPiA+ID4gK30KPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiDCoHN0YXRpYyB2b2lk IHNwdF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gPiA+ID4gPiAqZGV2 X3ByaXYsIHUzMgo+ID4gPiA+ID4gPiBwY2hfaWlyKQo+ID4gPiA+ID4gPiDCoHsKPiA+ID4gPiA+ ID4gwqAJdTMyIGhvdHBsdWdfdHJpZ2dlciA9IHBjaF9paXIgJgo+ID4gPiA+ID4gPiBTREVfSE9U UExVR19NQVNLX1NQVCAmCj4gPiA+ID4gPiA+IEBAIC0yNzc5LDggKzI4NTMsMTEgQEAgZ2VuOF9k ZV9pcnFfaGFuZGxlcihzdHJ1Y3QKPiA+ID4gPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZQo+ID4gPiA+ ID4gPiAqZGV2X3ByaXYsIHUzMiBtYXN0ZXJfY3RsKQo+ID4gPiA+ID4gPiDCoAkJCUk5MTVfV1JJ VEUoU0RFSUlSLCBpaXIpOwo+ID4gPiA+ID4gPiDCoAkJCXJldCA9IElSUV9IQU5ETEVEOwo+ID4g PiA+ID4gPiDCoAo+ID4gPiA+ID4gPiAtCQkJaWYgKEhBU19QQ0hfU1BUKGRldl9wcml2KSB8fAo+ ID4gPiA+ID4gPiBIQVNfUENIX0tCUChkZXZfcHJpdikgfHwKPiA+ID4gPiA+ID4gLQkJCcKgwqDC oMKgSEFTX1BDSF9DTlAoZGV2X3ByaXYpKQo+ID4gPiA+ID4gPiArCQkJaWYgKEhBU19QQ0hfSUNQ KGRldl9wcml2KSkKPiA+ID4gPiA+ID4gKwkJCQlpY3BfaXJxX2hhbmRsZXIoZGV2X3ByaXYsCj4g PiA+ID4gPiA+IGlpcik7Cj4gPiB0byBiZSBjbGVhciBvbiB3aGF0IEkgd2FzIHNheWluZy4uLiBT ZWUgdGhlIGNvbnRleHQganVzdCBhYm92ZTogd2UKPiA+IHJlYWQKPiA+IGFuZCB3cml0ZSBTREVJ SVIgdG8gZ2V0L2NsZWFyIHRoZSBpbnRlcnJ1cHQgYml0cy4gWWV0IHlvdSBhcmUKPiA+IGRlZmlu aW5nIGEKPiA+IElDUF9TREVfSUlSIHRoYXQgaGFzIHRvIGJlIHRoZSBzYW1lIHZhbHVlLsKgwqBU byBhdm9pZCBhbnkgY29uZnVzaW9uLAo+ID4gSQo+ID4gdGhpbmsgaXQncyBiZXR0ZXIgdG8gc3Rh eSB3aXRoIFNERUlJUiBhbmQganVzdCBjaGFuZ2UgdGhlIGJpdAo+ID4gZGVmaW5pdGlvbi4KPiBE aywgYW55IG5ld3Mgb24gdGhpcz8KClNERUlJUiBpcyBmaW5lIGJ5IG1lLiBUaGUgcGF0Y2ggYXV0 aG9yIGhhcyB0byBtYWtlIHRoZSByZXF1aXJlZApjaGFuZ2VzLCBJIGp1c3QgcmV2aWV3ZWQgdGhl IHBhdGNoIDopCgo+IAo+IEx1Y2FzIERlIE1hcmNoaQo+IAo+ID4gCj4gPiAKPiA+IAo+ID4gPiAK PiA+ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gKwkJCWVsc2UgaWYg KEhBU19QQ0hfU1BUKGRldl9wcml2KSB8fAo+ID4gPiA+ID4gPiArCQkJCcKgSEFTX1BDSF9LQlAo ZGV2X3ByaXYpIHx8Cj4gPiA+ID4gPiA+ICsJCQkJwqBIQVNfUENIX0NOUChkZXZfcHJpdikpCj4g PiA+ID4gPiA+IMKgCQkJCXNwdF9pcnFfaGFuZGxlcihkZXZfcHJpdiwKPiA+ID4gPiA+ID4gaWly KTsKPiA+ID4gPiA+ID4gwqAJCQllbHNlCj4gPiA+ID4gPiA+IMKgCQkJCWNwdF9pcnFfaGFuZGxl cihkZXZfcHJpdiwKPiA+ID4gPiA+ID4gaWlyKTsKPiA+ID4gPiA+ID4gQEAgLTM1NDgsNiArMzYy NSw5IEBAIHN0YXRpYyB2b2lkIGdlbjExX2lycV9yZXNldChzdHJ1Y3QKPiA+ID4gPiA+ID4gZHJt X2RldmljZQo+ID4gPiA+ID4gPiAqZGV2KQo+ID4gPiA+ID4gPiDCoAlHRU4zX0lSUV9SRVNFVChH RU4xMV9ERV9IUERfKTsKPiA+ID4gPiA+ID4gwqAJR0VOM19JUlFfUkVTRVQoR0VOMTFfR1VfTUlT Q18pOwo+ID4gPiA+ID4gPiDCoAlHRU4zX0lSUV9SRVNFVChHRU44X1BDVV8pOwo+ID4gPiA+ID4g PiArCj4gPiA+ID4gPiA+ICsJaWYgKEhBU19QQ0hfSUNQKGRldl9wcml2KSkKPiA+ID4gPiA+ID4g KwkJR0VOM19JUlFfUkVTRVQoSUNQX1NERV8pOwo+ID4gPiA+ID4gPiDCoH0KPiA+ID4gPiA+ID4g wqAKPiA+ID4gPiA+ID4gwqB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dlbGxfcG9zdF9lbmFibGUoc3Ry dWN0Cj4gPiA+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gPiA+ID4gKmRldl9wcml2LAo+ ID4gPiA+ID4gPiBAQCAtMzY2NCw2ICszNzQ0LDM1IEBAIHN0YXRpYyB2b2lkIGlieF9ocGRfaXJx X3NldHVwKHN0cnVjdAo+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ ID4gPiA+ID4gwqAJaWJ4X2hwZF9kZXRlY3Rpb25fc2V0dXAoZGV2X3ByaXYpOwo+ID4gPiA+ID4g PiDCoH0KPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGljcF9ocGRfZGV0 ZWN0aW9uX3NldHVwKHN0cnVjdAo+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlCj4gPiA+ID4g PiA+ICpkZXZfcHJpdikKPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gKwl1MzIgaG90cGx1ZzsK PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCWhvdHBsdWcgPSBJOTE1X1JFQUQoU0hPVFBMVUdf Q1RMX0RESSk7Cj4gPiA+ID4gPiA+ICsJaG90cGx1ZyB8PSBJQ1BfRERJQV9IUERfRU5BQkxFIHwK PiA+ID4gPiA+ID4gKwkJwqDCoMKgSUNQX0RESUJfSFBEX0VOQUJMRTsKPiA+ID4gPiA+ID4gKwlJ OTE1X1dSSVRFKFNIT1RQTFVHX0NUTF9EREksIGhvdHBsdWcpOwo+ID4gPiA+ID4gPiArCj4gPiA+ ID4gPiA+ICsJaG90cGx1ZyA9IEk5MTVfUkVBRChTSE9UUExVR19DVExfVEMpOwo+ID4gPiA+ID4g PiArCWhvdHBsdWcgfD0gSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzEpIHwKPiA+ID4gPiA+ID4g KwkJwqDCoMKgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzIpIHwKPiA+ID4gPiA+ID4gKwkJwqDC oMKgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzMpIHwKPiA+ID4gPiA+ID4gKwkJwqDCoMKgSUNQ X1RDX0hQRF9FTkFCTEUoUE9SVF9UQzQpOwo+ID4gPiA+ID4gPiArCUk5MTVfV1JJVEUoU0hPVFBM VUdfQ1RMX1RDLCBob3RwbHVnKTsKPiA+ID4gPiA+ID4gK30KPiA+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gPiArc3RhdGljIHZvaWQgaWNwX2hwZF9pcnFfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUKPiA+ID4gPiA+ID4gKmRldl9wcml2KQo+ID4gPiA+ID4gPiArewo+ID4gPiA+ID4gPiArCXUz MiBob3RwbHVnX2lycXMsIGVuYWJsZWRfaXJxczsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAr CWhvdHBsdWdfaXJxcyA9IElDUF9TREVfRERJX01BU0sgfCBJQ1BfU0RFX1RDX01BU0s7Cj4gPiA+ ID4gPiA+ICsJZW5hYmxlZF9pcnFzID0gaW50ZWxfaHBkX2VuYWJsZWRfaXJxcyhkZXZfcHJpdiwK PiA+ID4gPiA+ID4gaHBkX2ljcCk7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlpYnhfZGlz cGxheV9pbnRlcnJ1cHRfdXBkYXRlKGRldl9wcml2LAo+ID4gPiA+ID4gPiBob3RwbHVnX2lycXMs Cj4gPiA+ID4gPiA+IGVuYWJsZWRfaXJxcyk7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlp Y3BfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4g PiA+ICsKPiA+ID4gPiA+ID4gwqBzdGF0aWMgdm9pZCBnZW4xMV9ocGRfZGV0ZWN0aW9uX3NldHVw KHN0cnVjdAo+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlCj4gPiA+ID4gPiA+ICpkZXZfcHJp dikKPiA+ID4gPiA+ID4gwqB7Cj4gPiA+ID4gPiA+IMKgCXUzMiBob3RwbHVnOwo+ID4gPiA+ID4g PiBAQCAtMzY5MCw2ICszNzk5LDkgQEAgc3RhdGljIHZvaWQKPiA+ID4gPiA+ID4gZ2VuMTFfaHBk X2lycV9zZXR1cChzdHJ1Y3QKPiA+ID4gPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gPiA+ID4gPiA+IMKgCVBPU1RJTkdfUkVBRChHRU4xMV9ERV9IUERfSU1SKTsKPiA+ID4gPiA+ ID4gwqAKPiA+ID4gPiA+ID4gwqAJZ2VuMTFfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7 Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlpZiAoSEFTX1BDSF9JQ1AoZGV2X3ByaXYpKQo+ ID4gPiA+ID4gPiArCQlpY3BfaHBkX2lycV9zZXR1cChkZXZfcHJpdik7Cj4gPiA+ID4gPiA+IMKg fQo+ID4gPiA+ID4gPiDCoAo+ID4gPiA+ID4gPiDCoHN0YXRpYyB2b2lkIHNwdF9ocGRfZGV0ZWN0 aW9uX3NldHVwKHN0cnVjdAo+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlCj4gPiA+ID4gPiA+ ICpkZXZfcHJpdikKPiA+ID4gPiA+ID4gQEAgLTQxMjEsMTEgKzQyMzMsMjkgQEAgc3RhdGljIHZv aWQKPiA+ID4gPiA+ID4gZ2VuMTFfZ3RfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdAo+ID4gPiA+ID4g PiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiA+ID4gwqAJSTkxNV9XUklURShH RU4xMV9HUE1fV0dCT1hQRVJGX0lOVFJfTUFTSyzCoMKgfjApOwo+ID4gPiA+ID4gPiDCoH0KPiA+ ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGljcF9pcnFfcG9zdGluc3RhbGwo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiA+ID4gPiA+ ICsJdTMyIG1hc2sgPSBJQ1BfR01CVVM7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlXQVJO X09OKEk5MTVfUkVBRChJQ1BfU0RFX0lFUikgIT0gMCk7Cj4gPiA+ID4gPiA+ICsJSTkxNV9XUklU RShJQ1BfU0RFX0lFUiwgMHhmZmZmZmZmZik7Cj4gPiA+ID4gPiA+ICsJUE9TVElOR19SRUFEKElD UF9TREVfSUVSKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCWdlbjNfYXNzZXJ0X2lpcl9p c196ZXJvKGRldl9wcml2LCBJQ1BfU0RFX0lJUik7Cj4gPiA+ID4gPiA+ICsJSTkxNV9XUklURShJ Q1BfU0RFX0lNUiwgfm1hc2spOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJaWNwX2hwZF9k ZXRlY3Rpb25fc2V0dXAoZGV2X3ByaXYpOwo+ID4gPiA+ID4gPiArfQo+ID4gPiA+ID4gPiArCj4g PiA+ID4gPiA+IMKgc3RhdGljIGludCBnZW4xMV9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiA+ID4gPiA+ID4gwqB7Cj4gPiA+ID4gPiA+IMKgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0KPiA+ID4gPiA+ID4gPmRldl9wcml2YXRlOwo+ID4g PiA+ID4gPiDCoAl1MzIgZ3VfbWlzY19tYXNrZWQgPSBHRU4xMV9HVV9NSVNDX0dTRTsKPiA+ID4g PiA+ID4gwqAKPiA+ID4gPiA+ID4gKwlpZiAoSEFTX1BDSF9JQ1AoZGV2X3ByaXYpKQo+ID4gPiA+ ID4gPiArCQlpY3BfaXJxX3Bvc3RpbnN0YWxsKGRldik7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ ID4gwqAJZ2VuMTFfZ3RfaXJxX3Bvc3RpbnN0YWxsKGRldl9wcml2KTsKPiA+ID4gPiA+ID4gwqAJ Z2VuOF9kZV9pcnFfcG9zdGluc3RhbGwoZGV2X3ByaXYpOwo+ID4gPiA+ID4gPiDCoAo+ID4gPiA+ ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiA+ ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ID4gPiA+ID4gaW5kZXgg MTk2MDAwOTc1ODFmLi4yOGNlOTZjZTA0ODQgMTAwNjQ0Cj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiA+ID4gPiBAQCAtNzQ2MCw2ICs3NDYwLDQ2IEBAIGVu dW0gewo+ID4gPiA+ID4gPiDCoCNkZWZpbmXCoMKgUE9SVEVfSE9UUExVR19TSE9SVF9ERVRFQ1QJ KDEgPDwgMCkKPiA+ID4gPiA+ID4gwqAjZGVmaW5lwqDCoFBPUlRFX0hPVFBMVUdfTE9OR19ERVRF Q1QJKDIgPDwgMCkKPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gKy8qIElDUCAqLwo+ID4gPiA+ ID4gPiArI2RlZmluZSBJQ1BfU0RFX0lTUgkJCV9NTUlPKDB4YzQwMDApCj4gPiA+ID4gPiA+ICsj ZGVmaW5lIElDUF9TREVfSU1SCQkJX01NSU8oMHhjNDAwNCkKPiA+ID4gPiA+ID4gKyNkZWZpbmUg SUNQX1NERV9JSVIJCQlfTU1JTygweGM0MDA4KQo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ1BfU0RF X0lFUgkJCV9NTUlPKDB4YzQwMGMpCj4gPiA+ID4gPiBUaGVzZSBhcmUgZXhhY3RseSB0aGUgc2Ft ZSByZWdpc3RlcnMgYXMgU0RFe0lTUixJTVIsSUlSLElFUn0uCj4gPiA+ID4gPiBGb3IgYWxsCj4g PiA+ID4gPiB0aGUgb3RoZXIgcGxhdGZvcm1zIHdoYXQgd2UgZG8gaXMgcmF0aGVyIHBvc3RmaXgg dGhlIHBsYXRmb3JtCj4gPiA+ID4gPiBuYW1lLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJIHRoaW5r IHdlIHNob3VsZCBmb2xsb3cgd2hhdCB0aGV5IGRvIGhlcmUuCj4gPiA+ID4gPiAKPiA+ID4gPiA+ IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQ X1RDNF9IT1RQTFVHCQkoMSA8PCAyNykKPiA+ID4gPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfVEMz X0hPVFBMVUcJCSgxIDw8IDI2KQo+ID4gPiA+ID4gPiArI2RlZmluZcKgwqDCoElDUF9UQzJfSE9U UExVRwkJKDEgPDwgMjUpCj4gPiA+ID4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQX1RDMV9IT1RQTFVH CQkoMSA8PCAyNCkKPiA+ID4gPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfR01CVVMJCQkoMSA8PCAy MykKPiA+ID4gPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfRERJQl9IT1RQTFVHCQkoMSA8PCAxNykK PiA+ID4gPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfRERJQV9IT1RQTFVHCQkoMSA8PCAxNikKPiA+ ID4gPiA+IHNvIHRoZXNlIHdvdWxkIGJlY29tZSBTREVfVEM0X0hPVFBMVUdfSUNQIGFuZCBzbyBv bi4KPiA+ID4gPiA+IAo+ID4gPiA+IFRoZSByZWFzb24gSSBwcmVmZXJyZWQgdGhpcyBuYW1pbmcg Zm9yIGdlbi0xMSBpcyBpdCBpcwo+ID4gPiA+IHN5bW1ldHJpYyB0byB0aGUKPiA+ID4gPiBjb3Jy ZXNwb25kaW5nIGRlZmluaXRpb25zIGluIHRoZSBub3J0aCBlbmdpbmUuCj4gPiA+ID4gCj4gPiA+ ID4gRm9yIGV4YW1wbGUsCj4gPiA+ID4gKyNkZWZpbmUgR0VOMTFfREVfSFBEX0lTUsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9NTUlPKDB4NDQ0NzApCj4gPiA+ID4gKyNkZWZpbmUgR0VO MTFfREVfSFBEX0lNUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9NTUlPKDB4NDQ0NzQp Cj4gPiA+ID4gKyNkZWZpbmUgR0VOMTFfREVfSFBEX0lJUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoF9NTUlPKDB4NDQ0NzgpCj4gPiA+ID4gKyNkZWZpbmUgR0VOMTFfREVfSFBEX0lFUsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9NTUlPKDB4NDQ0N2MpCj4gPiA+ID4gKyNkZWZp bmXCoMKgR0VOMTFfVEM0X0hPVFBMVUfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAoMSA8PCAxOSkKPiA+ID4gPiArI2RlZmluZcKgwqBHRU4xMV9UQzNfSE9UUExVR8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgxIDw8IDE4KQo+ID4gPiA+ ICsjZGVmaW5lwqDCoEdFTjExX1RDMl9IT1RQTFVHwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgKDEgPDwgMTcpCj4gPiA+ID4gKyNkZWZpbmXCoMKgR0VOMTFfVEMxX0hP VFBMVUfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoMSA8PCAxNikK PiA+ID4gPiAKPiA+ID4gPiBXaXRoIGludGVycnVwdHMgZ2V0dGluZyByb3V0ZWQgdG8gbm9ydGgg b3Igc291dGggZW5naW5lcyBmb3IKPiA+ID4gPiB0aGUgc2FtZQo+ID4gPiA+IHBvcnQsIHRoaXMg bmFtaW5nIHNjaGVtZSBtYWtlcyB0aGUgZHVhbGl0eSBjbGVhcmVyIElNTy4KPiA+ID4gU3RpbGwg dGhlIHJlZ2lzdGVyIGlzIHRoZSBzYW1lIGFzIFNERUlTUiBhbmQgdGhlcmUgYXJlIHBsYWNlcyBp bgo+ID4gPiB3aGljaCB3ZQo+ID4gPiByZWFkIGl0IGV4cGVjdGluZyB0byBiZSB0aGUgc2FtZSBu dW1iZXIuCj4gPiA+IAo+ID4gPiBPbmx5IHRoZSBiaXRzIGFyZSBkaWZmZXJlbnQsIHNvIG5hbWUg dGhlIGJpdHMgZGlmZmVyZW50bHkgYXMgaXQKPiA+ID4gaXMgZm9yCj4gPiA+IG90aGVyIHBsYXRm b3Jtcy7CoMKgSSB0aGluayBvZiB0aGUgc3ltbWV0cnkgaGVyZSBqdXN0IGFuZCBhY2NpZGVudAo+ ID4gPiBvZgo+ID4gPiBsaWZlIGV4cGVjdGluZyB0byBiZSBkaWZmZXJlbnQgaWYgbm9ydGggYW5k IHNvdXRoIGVuZ2luZXMgZG9uJ3QKPiA+ID4gaGF2ZSB0aGUKPiA+ID4gc2FtZSBwb3J0cy4KPiA+ IFRoaXMgaXMgb24gZ2VuOF9kZV9pcnFfaGFuZGxlcigpIHdoaWNoIGlzIHN0aWxsIHVzZWQgZm9y IGdlbjExLgo+ID4gCj4gPiBMdWNhcyBEZSBNYXJjaGkKPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+ IEx1Y2FzIERlIE1hcmNoaQo+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4g PiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4g KyNkZWZpbmUgSUNQX1NERV9ERElfTUFTSwkJKElDUF9ERElCX0hPVFBMVUcKPiA+ID4gPiA+ID4g fAkKPiA+ID4gPiA+ID4gXAo+ID4gPiA+ID4gPiArCQkJCQnCoElDUF9ERElBX0hPVFBMVUcpCj4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyNkZWZpbmUgSUNQX1NERV9UQ19NQVNLCQkJKElDUF9U QzRfSE8KPiA+ID4gPiA+ID4gVFBMVUcgfAkKPiA+ID4gPiA+ID4gXAo+ID4gPiA+ID4gPiArCQkJ CQnCoElDUF9UQzNfSE9UUExVRyB8Cj4gPiA+ID4gPiA+IAkKPiA+ID4gPiA+ID4gXAo+ID4gPiA+ ID4gPiArCQkJCQnCoElDUF9UQzJfSE9UUExVRyB8Cj4gPiA+ID4gPiA+IAkKPiA+ID4gPiA+ID4g XAo+ID4gPiA+ID4gPiArCQkJCQnCoElDUF9UQzFfSE9UUExVRykKPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiArI2RlZmluZSBTSE9UUExVR19DVExfRERJCQkJX01NSU8oMHhjNAo+ID4gPiA+ID4g PiAwMzApCQo+ID4gPiA+ID4gPiAvKiBTSE9UUExVR19DVEwgKi8KPiA+ID4gPiA+IFRoaXMgYWxz byBzZWVtcyB0byByZXVzZSB3aGF0IHdlIGhhdmUgZGVmaW5lZCBhcwo+ID4gPiA+ID4gUENIX1BP UlRfSE9UUExVRwo+ID4gPiA+ID4gd2l0aCBhCj4gPiA+ID4gPiBjb21tZW50IHRvIFNIT1RQTFVH X0NUTCB0aGVyZSwgYWx0aG91Z2ggaGVyZSBJIHRlbmQgdG8gYmUgaW4KPiA+ID4gPiA+IGZhdm9y IG9mCj4gPiA+ID4gPiB1c2luZyB0aGUgY3VycmVudCByZWFsIG5hbWUgb2YgdGhlIHJlZ2lzdGVy IChTSE9UUExVR19DVEwpLgo+ID4gPiA+IFRoZSByZWFsIG5hbWUgSSBzZWUgaXMgU0hPVFBMVUdf Q1RMX0RESSBmb3IgSUNQLgo+ID4gPiA+IAo+ID4gPiA+IEkgZG9uJ3QgYmVsaWV2ZSB3ZSBzaG91 bGQgYXR0ZW1wdCB0byBtYWtlIHRoZXNlIGRlZmluaXRpb25zCj4gPiA+ID4gY29uc2lzdGVudAo+ ID4gPiA+IHdpdGggcHJldmlvdXMgcGxhdGZvcm1zIG92ZXIgbWFraW5nIHRoZW0gY29uc2lzdGVu dCB3aXRoIGVhY2gKPiA+ID4gPiBvdGhlci4KPiA+ID4gPiDCoApJZiB5b3Ugd2FudCB0byByZXRh aW4gdGhlIG9yaWdpbmFsIGRlZmluaXRpb24gUENIX0hPVFBMVUcsIGFwcGVuZGluZyB0bwp0aGUg ZXhpc3RpbmcgY29tbWVudCB0aGF0IHRoZSByZWdpc3RlciBpcyBjYWxsZWQgU0hPVFBMVUdfQ1RM X0RESSBvbgpJQ1Agd291bGQgYmUgbmljZS4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==