From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915/dp: optimize eDP 1.4+ link config fast and narrow Date: Fri, 28 Sep 2018 09:52:30 +0300 Message-ID: <87h8iadsgh.fsf@intel.com> References: <20180905095321.13843-1-jani.nikula@intel.com> <20180927101045.GA3651@intel.com> <87pnwzry29.fsf@intel.com> <20180927130351.GA7279@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 134FA6E64F for ; Fri, 28 Sep 2018 06:52:35 +0000 (UTC) In-Reply-To: <20180927130351.GA7279@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: intel-gfx@lists.freedesktop.org, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyNyBTZXAgMjAxOCwgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVs LmNvbT4gd3JvdGU6Cj4gT24gVGh1LCBTZXAgMjcsIDIwMTggYXQgMDI6MTU6MjZQTSArMDMwMCwg SmFuaSBOaWt1bGEgd3JvdGU6Cj4+IE9uIFRodSwgMjcgU2VwIDIwMTgsIE1hbmFzaSBOYXZhcmUg PG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+IHdyb3RlOgo+PiA+IE9uIFdlZCwgU2VwIDA1LCAy MDE4IGF0IDEyOjUzOjIxUE0gKzAzMDAsIEphbmkgTmlrdWxhIHdyb3RlOgo+PiA+PiBXZSd2ZSBv cHRlZCB0byB1c2UgdGhlIG1heGltdW0gbGluayByYXRlIGFuZCBsYW5lIGNvdW50IGZvciBlRFAg cGFuZWxzLAo+PiA+PiBiZWNhdXNlIHR5cGljYWxseSB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgY29u ZmlndXJhdGlvbiByZXBvcnRlZCBieSB0aGUKPj4gPj4gcGFuZWwgaGFzIG1hdGNoZWQgdGhlIG5h dGl2ZSByZXNvbHV0aW9uIHJlcXVpcmVtZW50cyBvZiB0aGUgcGFuZWwsIGFuZAo+PiA+PiBvcHRp bWl6aW5nIHRoZSBsaW5rIGhhcyBsZWFkIHRvIHByb2JsZW1zLgo+PiA+PiAKPj4gPj4gV2l0aCBl RFAgMS40IHJhdGUgc2VsZWN0IG1ldGhvZCBhbmQgRFNDIGZlYXR1cmVzLCB0aGlzIGlzIGRlY3Jl YXNpbmdseQo+PiA+PiB0aGUgY2FzZS4gVGhlcmUncyBhIG5lZWQgdG8gb3B0aW1pemUgdGhlIGxp bmsgcGFyYW1ldGVycy4gTW9yZW92ZXIsCj4+ID4+IGFscmVhZHkgZURQIDEuMyBzdGF0ZXMgZmFz dCBsaW5rIHdpdGggZmV3ZXIgbGFuZXMgaXMgcHJlZmVycmVkIG92ZXIgdGhlCj4+ID4+IHdpZGUg YW5kIHNsb3cuIChXaWRlIGFuZCBzbG93IHNob3VsZCBzdGlsbCBiZSBtb3JlIHJlbGlhYmxlIGZv ciBsb25nZXIKPj4gPj4gY2FibGUgbGVuZ3Rocy4pCj4+ID4+IAo+PiA+PiBBZGRpdGlvbmFsbHks IHRoZXJlIGhhdmUgYmVlbiByZXBvcnRzIG9mIHBhbmVscyBmYWlsaW5nIG9uIGFyYml0cmFyeQo+ PiA+PiBsaW5rIGNvbmZpZ3VyYXRpb25zLCBhbHRob3VnaCBhcmd1YWJseSBhbGwgY29uZmlndXJh dGlvbnMgdGhleSBjbGFpbSB0bwo+PiA+PiBzdXBwb3J0IHNob3VsZCB3b3JrLgo+PiA+PiAKPj4g Pj4gT3B0aW1pemUgZURQIDEuNCsgbGluayBjb25maWcgZmFzdCBhbmQgbmFycm93Lgo+PiA+PiAK Pj4gPj4gU2lkZSBub3RlOiBUaGUgaW1wbGVtZW50YXRpb24gaGFzIGEgbmVhciBkdXBsaWNhdGUg b2YgdGhlIGxpbmsgY29uZmlnCj4+ID4+IGZ1bmN0aW9uLCB3aXRoIGp1c3QgdGhlIHR3byBpbm5l ciBmb3IgbG9vcHMgdHVybmVkIGluc2lkZSBvdXQuIFBlcmhhcHMKPj4gPj4gdGhlcmUnZCBiZSBh IHdheSB0byBtYWtlIHRoaXMsIHNheSwgbW9yZSB0YWJsZSBkcml2ZW4gdG8gcmVkdWNlIHRoZQo+ PiA+PiBkdXBsaWNhdGlvbiwgYnV0IHNlZW1zIGxpa2UgdGhhdCB3b3VsZCBsZWFkIHRvIGR1cGxp Y2F0aW9uIGluIHRoZSB0YWJsZQo+PiA+PiBnZW5lcmF0aW9uLiBXZSdsbCBhbHNvIGhhdmUgdG8g c2VlIGhvdyB0aGUgbGluayBjb25maWcgb3B0aW1pemF0aW9uIGZvcgo+PiA+PiBEU0MgdHVybnMg b3V0Lgo+PiA+PiAKPj4gPj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Cj4+ID4+IENjOiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50 ZWwuY29tPgo+PiA+PiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+ PiA+PiBDYzogTWF0dCBBdHdvb2QgPG1hdHRoZXcucy5hdHdvb2RAaW50ZWwuY29tPgo+PiA+PiBD YzogIkxlZSwgU2hhd24gQyIgPHNoYXduLmMubGVlQGludGVsLmNvbT4KPj4gPj4gQWNrZWQtYnk6 IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPj4gPj4gQnVnemlsbGE6IGh0 dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTI2Nwo+PiA+PiBT aWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+PiA+Pgo+ Cj4gUmV2aWV3ZWQtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+ CgpUaGFua3MgZm9yIHRoZSByZXZpZXcsIHB1c2hlZCB0byBkaW5xLgoKQlIsCkphbmkuCgoKPgo+ ICAKPj4gPj4gLS0tCj4+ID4+IAo+PiA+PiB2MiBvZiBodHRwOi8vcGF0Y2h3b3JrLmZyZWVkZXNr dG9wLm9yZy9wYXRjaC9tc2dpZC8yMDE4MDUwOTA3MTMyMS4yODU2My0xLWphbmkubmlrdWxhQGlu dGVsLmNvbQo+PiA+PiAKPj4gPj4gVW50ZXN0ZWQuIEl0J3MgcG9zc2libGUgdGhpcyBoZWxwcyB0 aGUgcmVmZXJlbmNlZCBidWcuIFRoZSBkb3duc2lkZSBpcwo+PiA+PiB0aGF0IHRoaXMgcGF0Y2gg aGFzIGEgYnVuY2ggb2YgZGVwZW5kZW5jaWVzIHRoYXQgYXJlIHRvbyBtdWNoIHRvCj4+ID4+IGJh Y2twb3J0IHRvIHN0YWJsZSBrZXJuZWxzLiBJZiB0aGUgcGF0Y2ggd29ya3MsIHdlIG1heSBuZWVk IHRvIGNvbnNpZGVyCj4+ID4+IGhhY2tpbmcgdG9nZXRoZXIgYW4gdWdsaWVyIGJhY2twb3J0Lgo+ PiA+PiAtLS0KPj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgfCA3MyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+PiA+PiAgMSBmaWxlIGNoYW5n ZWQsIDYyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+PiA+PiAKPj4gPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCj4+ID4+IGluZGV4IDQzNmMyMmRlMzNiNi4uYmY3YjkxODMyYzhhIDEw MDY0NAo+PiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+ID4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gPj4gQEAgLTE5MjEsNiArMTky MSw0MiBAQCBpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnX3dpZGUoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCwKPj4gPj4gIAlyZXR1cm4gZmFsc2U7Cj4+ID4+ICB9Cj4+ID4+ICAKPj4gPj4g Ky8qIE9wdGltaXplIGxpbmsgY29uZmlnIGluIG9yZGVyOiBtYXggYnBwLCBtaW4gbGFuZXMsIG1p biBjbG9jayAqLwo+PiA+PiArc3RhdGljIGJvb2wKPj4gPj4gK2ludGVsX2RwX2NvbXB1dGVfbGlu a19jb25maWdfZmFzdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+PiA+PiArCQkJCSAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+PiA+PiArCQkJCSAgY29uc3Qgc3Ry dWN0IGxpbmtfY29uZmlnX2xpbWl0cyAqbGltaXRzKQo+PiA+PiArewo+PiA+PiArCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVz dGVkX21vZGU7Cj4+ID4+ICsJaW50IGJwcCwgY2xvY2ssIGxhbmVfY291bnQ7Cj4+ID4+ICsJaW50 IG1vZGVfcmF0ZSwgbGlua19jbG9jaywgbGlua19hdmFpbDsKPj4gPj4gKwo+PiA+PiArCWZvciAo YnBwID0gbGltaXRzLT5tYXhfYnBwOyBicHAgPj0gbGltaXRzLT5taW5fYnBwOyBicHAgLT0gMiAq IDMpIHsKPj4gPj4gKwkJbW9kZV9yYXRlID0gaW50ZWxfZHBfbGlua19yZXF1aXJlZChhZGp1c3Rl ZF9tb2RlLT5jcnRjX2Nsb2NrLAo+PiA+PiArCQkJCQkJICAgYnBwKTsKPj4gPj4gKwo+PiA+PiAr CQlmb3IgKGxhbmVfY291bnQgPSBsaW1pdHMtPm1pbl9sYW5lX2NvdW50Owo+PiA+PiArCQkgICAg IGxhbmVfY291bnQgPD0gbGltaXRzLT5tYXhfbGFuZV9jb3VudDsKPj4gPj4gKwkJICAgICBsYW5l X2NvdW50IDw8PSAxKSB7Cj4+ID4+ICsJCQlmb3IgKGNsb2NrID0gbGltaXRzLT5taW5fY2xvY2s7 IGNsb2NrIDw9IGxpbWl0cy0+bWF4X2Nsb2NrOyBjbG9jaysrKSB7Cj4+ID4+ICsJCQkJbGlua19j bG9jayA9IGludGVsX2RwLT5jb21tb25fcmF0ZXNbY2xvY2tdOwo+PiA+PiArCQkJCWxpbmtfYXZh aWwgPSBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKGxpbmtfY2xvY2ssCj4+ID4+ICsJCQkJCQkJCSAg ICBsYW5lX2NvdW50KTsKPj4gPj4gKwo+PiA+PiArCQkJCWlmIChtb2RlX3JhdGUgPD0gbGlua19h dmFpbCkgewo+PiA+PiArCQkJCQlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IGxhbmVfY291bnQ7 Cj4+ID4+ICsJCQkJCXBpcGVfY29uZmlnLT5waXBlX2JwcCA9IGJwcDsKPj4gPj4gKwkJCQkJcGlw ZV9jb25maWctPnBvcnRfY2xvY2sgPSBsaW5rX2Nsb2NrOwo+PiA+PiArCj4+ID4+ICsJCQkJCXJl dHVybiB0cnVlOwo+PiA+PiArCQkJCX0KPj4gPj4gKwkJCX0KPj4gPj4gKwkJfQo+PiA+PiArCX0K Pj4gPj4gKwo+PiA+PiArCXJldHVybiBmYWxzZTsKPj4gPj4gK30KPj4gPj4gKwo+PiA+PiAgc3Rh dGljIGJvb2wKPj4gPj4gIGludGVsX2RwX2NvbXB1dGVfbGlua19jb25maWcoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4+ID4+ICAJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZykKPj4gPj4gQEAgLTE5NDUsMTMgKzE5ODEsMTUgQEAgaW50ZWxfZHBfY29t cHV0ZV9saW5rX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4gPj4gIAls aW1pdHMubWluX2JwcCA9IDYgKiAzOwo+PiA+PiAgCWxpbWl0cy5tYXhfYnBwID0gaW50ZWxfZHBf Y29tcHV0ZV9icHAoaW50ZWxfZHAsIHBpcGVfY29uZmlnKTsKPj4gPj4gIAo+PiA+PiAtCWlmIChp bnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKSB7Cj4+ID4+ICsJaWYgKGludGVsX2RwX2lzX2VkcChp bnRlbF9kcCkgJiYgaW50ZWxfZHAtPmVkcF9kcGNkWzBdIDwgRFBfRURQXzE0KSB7Cj4+ID4+ICAJ CS8qCj4+ID4+ICAJCSAqIFVzZSB0aGUgbWF4aW11bSBjbG9jayBhbmQgbnVtYmVyIG9mIGxhbmVz IHRoZSBlRFAgcGFuZWwKPj4gPj4gLQkJICogYWR2ZXJ0aXplcyBiZWluZyBjYXBhYmxlIG9mLiBU aGUgcGFuZWxzIGFyZSBnZW5lcmFsbHkKPj4gPj4gLQkJICogZGVzaWduZWQgdG8gc3VwcG9ydCBv bmx5IGEgc2luZ2xlIGNsb2NrIGFuZCBsYW5lCj4+ID4+IC0JCSAqIGNvbmZpZ3VyYXRpb24sIGFu ZCB0eXBpY2FsbHkgdGhlc2UgdmFsdWVzIGNvcnJlc3BvbmQgdG8gdGhlCj4+ID4+IC0JCSAqIG5h dGl2ZSByZXNvbHV0aW9uIG9mIHRoZSBwYW5lbC4KPj4gPj4gKwkJICogYWR2ZXJ0aXplcyBiZWlu ZyBjYXBhYmxlIG9mLiBUaGUgZURQIDEuMyBhbmQgZWFybGllciBwYW5lbHMKPj4gPj4gKwkJICog YXJlIGdlbmVyYWxseSBkZXNpZ25lZCB0byBzdXBwb3J0IG9ubHkgYSBzaW5nbGUgY2xvY2sgYW5k Cj4+ID4+ICsJCSAqIGxhbmUgY29uZmlndXJhdGlvbiwgYW5kIHR5cGljYWxseSB0aGVzZSB2YWx1 ZXMgY29ycmVzcG9uZCB0bwo+PiA+PiArCQkgKiB0aGUgbmF0aXZlIHJlc29sdXRpb24gb2YgdGhl IHBhbmVsLiBXaXRoIGVEUCAxLjQgcmF0ZSBzZWxlY3QKPj4gPj4gKwkJICogYW5kIERTQywgdGhp cyBpcyBkZWNyZWFzaW5nbHkgdGhlIGNhc2UsIGFuZCB3ZSBuZWVkIHRvIGJlCj4+ID4+ICsJCSAq IGFibGUgdG8gc2VsZWN0IGxlc3MgdGhhbiBtYXhpbXVtIGxpbmsgY29uZmlnLgo+PiA+PiAgCQkg Ki8KPj4gPj4gIAkJbGltaXRzLm1pbl9sYW5lX2NvdW50ID0gbGltaXRzLm1heF9sYW5lX2NvdW50 Owo+PiA+PiAgCQlsaW1pdHMubWluX2Nsb2NrID0gbGltaXRzLm1heF9jbG9jazsKPj4gPj4gQEAg LTE5NjUsMTIgKzIwMDMsMjUgQEAgaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4gPj4gIAkJICAgICAgaW50ZWxfZHAtPmNvbW1vbl9y YXRlc1tsaW1pdHMubWF4X2Nsb2NrXSwKPj4gPj4gIAkJICAgICAgbGltaXRzLm1heF9icHAsIGFk anVzdGVkX21vZGUtPmNydGNfY2xvY2spOwo+PiA+PiAgCj4+ID4+IC0JLyoKPj4gPj4gLQkgKiBP cHRpbWl6ZSBmb3Igc2xvdyBhbmQgd2lkZS4gVGhpcyBpcyB0aGUgcGxhY2UgdG8gYWRkIGFsdGVy bmF0aXZlCj4+ID4+IC0JICogb3B0aW1pemF0aW9uIHBvbGljeS4KPj4gPj4gLQkgKi8KPj4gPj4g LQlpZiAoIWludGVsX2RwX2NvbXB1dGVfbGlua19jb25maWdfd2lkZShpbnRlbF9kcCwgcGlwZV9j b25maWcsICZsaW1pdHMpKQo+PiA+PiAtCQlyZXR1cm4gZmFsc2U7Cj4+ID4+ICsJaWYgKGludGVs X2RwX2lzX2VkcChpbnRlbF9kcCkpIHsKPj4gPgo+PiA+IE5pdHBpY2sgYmVsb3c6Cj4+ID4gQ2Fu IHdlIG5lc3QgdGhlIGVkcF9yZXYgPCBEUF9FRFBfMTQgY29uZGl0aW9uIHdpdGhpbiB0aGlzIGlm IGNvbmRpdGlvbj8gTGlrZSBiZWxvdzoKPj4gPgo+PiA+IAkJaWYgKGludGVsX2RwLT5lZHBfZHBj ZFswXSA8IERQX0VEUF8xNCkgewo+PiA+IAkJCWxpbWl0cy5taW5fbGFuZV9jb3VudCA9IGxpbWl0 cy5tYXhfbGFuZV9jb3VudDsKPj4gPiAJCQlsaW1pdHMubWluX2Nsb2NrID0gbGltaXRzLm1heF9j bG9jazsKPj4gPiAJCX0KPj4gCj4+IERvaW5nIHRoYXQgd291bGQgcmVxdWlyZSBkdXBsaWNhdGlu ZyB0aGUgZGVidWcgbG9nZ2luZyB0byBib3RoIGJyYW5jaGVzCj4+IG9mIHRoZSBpZiAoaW50ZWxf ZHBfaXNfZWRwKGludGVsX2RwKSkgY29uZGl0aW9uLgo+PiAKPj4gQlIsCj4+IEphbmkuCj4+Cj4K PiBPayB5ZXMgbWFrZXMgc2Vuc2UsIG5vdyBpdHMgY29tbW9uIHRvIGJvdGggZURQIGFuZCBEUCBj YXNlcy4KPgo+IE1hbmFzaQo+ICAKPj4gPgo+PiA+IFdpdGggdGhhdCwKPj4gPgo+PiA+IFJldmll d2VkLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+PiA+Cj4+ ID4gTWFuYXNpCj4+ID4KPj4gPj4gKwkJLyoKPj4gPj4gKwkJICogT3B0aW1pemUgZm9yIGZhc3Qg YW5kIG5hcnJvdy4gZURQIDEuMyBzZWN0aW9uIDMuMyBhbmQgZURQIDEuNAo+PiA+PiArCQkgKiBz ZWN0aW9uIEEuMTogIkl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhlIG1pbmltdW0gbnVtYmVyIG9m Cj4+ID4+ICsJCSAqIGxhbmVzIGJlIHVzZWQsIHVzaW5nIHRoZSBtaW5pbXVtIGxpbmsgcmF0ZSBh bGxvd2VkIGZvciB0aGF0Cj4+ID4+ICsJCSAqIGxhbmUgY29uZmlndXJhdGlvbi4iCj4+ID4+ICsJ CSAqCj4+ID4+ICsJCSAqIE5vdGUgdGhhdCB3ZSB1c2UgdGhlIG1heCBjbG9jayBhbmQgbGFuZSBj b3VudCBmb3IgZURQIDEuMyBhbmQKPj4gPj4gKwkJICogZWFybGllciwgYW5kIGZhc3QgdnMuIHdp ZGUgaXMgaXJyZWxldmFudC4KPj4gPj4gKwkJICovCj4+ID4+ICsJCWlmICghaW50ZWxfZHBfY29t cHV0ZV9saW5rX2NvbmZpZ19mYXN0KGludGVsX2RwLCBwaXBlX2NvbmZpZywKPj4gPj4gKwkJCQkJ CSAgICAgICAmbGltaXRzKSkKPj4gPj4gKwkJCXJldHVybiBmYWxzZTsKPj4gPj4gKwl9IGVsc2Ug ewo+PiA+PiArCQkvKiBPcHRpbWl6ZSBmb3Igc2xvdyBhbmQgd2lkZS4gKi8KPj4gPj4gKwkJaWYg KCFpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnX3dpZGUoaW50ZWxfZHAsIHBpcGVfY29uZmln LAo+PiA+PiArCQkJCQkJICAgICAgICZsaW1pdHMpKQo+PiA+PiArCQkJcmV0dXJuIGZhbHNlOwo+ PiA+PiArCX0KPj4gPj4gIAo+PiA+PiAgCURSTV9ERUJVR19LTVMoIkRQIGxhbmUgY291bnQgJWQg Y2xvY2sgJWQgYnBwICVkXG4iLAo+PiA+PiAgCQkgICAgICBwaXBlX2NvbmZpZy0+bGFuZV9jb3Vu dCwgcGlwZV9jb25maWctPnBvcnRfY2xvY2ssCj4+ID4+IC0tIAo+PiA+PiAyLjExLjAKPj4gPj4g Cj4+IAo+PiAtLSAKPj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENl bnRlcgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==