From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 3/5] drm/i915: Implement the intel_dp_autotest_edid function for DP EDID complaince tests Date: Tue, 05 May 2015 16:50:29 +0300 Message-ID: <87k2wn6sm2.fsf@intel.com> References: <1429340659-14369-1-git-send-email-tprevite@gmail.com> <1429340659-14369-4-git-send-email-tprevite@gmail.com> <20150504131746.GY30184@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id A02F96E534 for ; Tue, 5 May 2015 06:48:27 -0700 (PDT) In-Reply-To: <20150504131746.GY30184@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Paulo Zanoni Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAwNCBNYXkgMjAxNSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBUaHUsIEFwciAzMCwgMjAxNSBhdCAwMzozMDoxMFBNIC0wMzAwLCBQYXVsbyBaYW5v bmkgd3JvdGU6Cj4+IDIwMTUtMDQtMTggNDowNCBHTVQtMDM6MDAgVG9kZCBQcmV2aXRlIDx0cHJl dml0ZUBnbWFpbC5jb20+Ogo+PiA+IFVwZGF0ZXMgdGhlIEVESUQgY29tcGxpYW5jZSB0ZXN0IGZ1 bmN0aW9uIHRvIHBlcmZvcm0gdGhlIGFuYWx5emUgYW5kIHJlYWN0IHRvCj4+ID4gdGhlIEVESUQg ZGF0YSByZWFkIGFzIGEgcmVzdWx0IG9mIGEgaG90IHBsdWcgZXZlbnQuIFRoZSByZXN1bHRzIG9m IHRoaXMKPj4gPiBhbmFseXNpcyBhcmUgaGFuZGVkIG9mZiB0byB1c2Vyc3BhY2Ugc28gdGhhdCB0 aGUgdXNlcnNwYWNlIGFwcCBjYW4gc2V0IHRoZQo+PiA+IGRpc3BsYXkgbW9kZSBhcHByb3ByaWF0 ZWx5IGZvciB0aGUgdGVzdCByZXN1bHQvcmVzcG9uc2UuCj4+ID4KPj4gPiBUaGUgY29tcGxpYW5j ZV90ZXN0X2FjdGl2ZSBmbGFnIG5vdyBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGluZGl2aWR1 YWwKPj4gPiB0ZXN0IGhhbmRsaW5nIGZ1bmN0aW9ucy4gVGhpcyBpcyBzbyB0aGF0IHRoZSBrZXJu ZWwtc2lkZSBvcGVyYXRpb25zIGNhbgo+PiA+IGJlIGNvbXBsZXRlZCB3aXRob3V0IHRoZSByaXNr IG9mIGludGVycnVwdGlvbiBmcm9tIHRoZSB1c2Vyc3BhY2UgYXBwCj4+ID4gdGhhdCBpcyBwb2xs aW5nIG9uIHRoYXQgZmxhZy4KPj4gPgo+PiA+IFYyOgo+PiA+IC0gQWRkcmVzc2VkIG1haWxpbmcg bGlzdCBmZWVkYmFjawo+PiA+IC0gUmVtb3ZlZCBleGNlc3MgZGVidWcgbWVzc2FnZXMKPj4gPiAt IFJlbW92ZWQgZXh0cmFuZW91cyBjb21tZW50cwo+PiA+IC0gRml4ZWQgZm9ybWF0dGluZyBpc3N1 ZXMgKGxpbmUgbGVuZ3RoID4gODApCj4+ID4gLSBVcGRhdGVkIHRoZSBkZWJ1ZyBtZXNzYWdlIGlu IGNvbXB1dGVfZWRpZF9jaGVja3N1bSB0byBvdXRwdXQgaGV4IHZhbHVlcwo+PiA+ICAgaW5zdGVh ZCBvZiBkZWNpbWFsCj4+ID4gVjM6Cj4+ID4gLSBBZGRyZXNzZWQgbW9yZSBsaXN0IGZlZWRiYWNr Cj4+ID4gLSBBZGRlZCB0aGUgdGVzdF9hY3RpdmUgZmxhZyB0byB0aGUgYXV0b3Rlc3QgZnVuY3Rp b24KPj4gPiAtIFJlbW92ZWQgdGVzdF9hY3RpdmUgZmxhZyBmcm9tIGhhbmRsZXIKPj4gPiAtIEFk ZGVkIGZhaWxzYWZlIGNoZWNrIG9uIHRoZSBjb21wbGlhbmNlIHRlc3QgYWN0aXZlIGZsYWcKPj4g PiAgIGF0IHRoZSBlbmQgb2YgdGhlIHRlc3QgaGFuZGxlcgo+PiA+IC0gRml4ZWQgY2hlY2twYXRj aC5wbCBpc3N1ZXMKPj4gPiBWNDoKPj4gPiAtIFJlbW92ZWQgdGhlIGNoZWNrc3VtIGNvbXB1dGF0 aW9uIGZ1bmN0aW9uIGFuZCBpdHMgdXNlIGFzIGl0IGhhcyBiZWVuCj4+ID4gICByZW5kZXJlZCBz dXBlcmZsdW91cyBieSBjaGFuZ2VzIHRvIHRoZSBjb3JlIERSTSBFRElEIGZ1bmN0aW9ucwo+PiA+ IC0gVXBkYXRlZCB0byB1c2UgdGhlIHJhdyBoZWFkZXIgY29ycnVwdGlvbiBkZXRlY3Rpb24gbWVj aGFuaXNtCj4+ID4gLSBNb3ZlZCB0aGUgZGVjbGFyYXRpb24gb2YgdGhlIHRlc3RfZGF0YSB2YXJp YWJsZSBoZXJlCj4+ID4gVjU6Cj4+ID4gLSBVcGRhdGUgdGVzdCBhY3RpdmUgZmxhZyB2YXJpYWJs ZSBuYW1lIHRvIG1hdGNoIHRoZSBjaGFuZ2UgaW4gdGhlCj4+ID4gICBmaXJzdCBwYXRjaCBvZiB0 aGUgc2VyaWVzLgo+PiA+IC0gUmVsb2NhdGVkIHRoZSB0ZXN0IGFjdGl2ZSBmbGFnIGRlY2xhcmF0 aW9uIGFuZCBpbml0aWFsaXphdGlvbgo+PiA+ICAgdG8gdGhpcyBwYXRjaAo+PiA+IFY2Ogo+PiA+ IC0gVXBkYXRlZCB0byB1c2UgdGhlIG5ldyBmbGFnIGZvciByYXcgRURJRCBoZWFkZXIgY29ycnVw dGlvbgo+PiA+IC0gUmVtb3ZlZCB0aGUgZXh0cmEgRURJRCByZWFkIGZyb20gdGhlIGF1dG90ZXN0 IGZ1bmN0aW9uCj4+ID4gLSBBZGRlZCB0aGUgZWRpZF9jaGVja3N1bSB2YXJpYWJsZSB0byBzdHJ1 Y3QgaW50ZWxfZHAgc28gdGhhdCB0aGUKPj4gPiAgIGF1dG90ZXN0IGZ1bmN0aW9uIGNhbiB3cml0 ZSBpdCB0byB0aGUgc2luayBkZXZpY2UKPj4gPiAtIE1vdmVkIHRoZSB1cGRhdGUgdG8gdGhlIGhw ZF9wdWxzZSBmdW5jdGlvbiB0byBhbm90aGVyIHBhdGNoCj4+ID4gLSBSZW1vdmVkIGV4dHJhbmVv dXMgY29uc3RhbnRzCj4+ID4gVjc6Cj4+ID4gLSBGaXhlZCBlcnJvbmVvdXMgcGxhY2VtZW50IG9m IHRoZSBjaGVja3N1bSBhc3NpZ25tZW50LiBJbiBzb21lIGNhc2VzCj4+ID4gICBzdWNoIGFzIHdo ZW4gdGhlIEVESUQgcmVhZCBmYWlscyBhbmQgaXMgTlVMTCwgdGhpcyBjYXVzZXMgYSBOVUxMIHB0 cgo+PiA+ICAgZGVyZWZlcmVuY2UgaW4gdGhlIGtlcm5lbC4gQmFkIG5ld3MuIEZpeGVkIG5vdy4K Pj4gPiBWODoKPj4gPiAtIFVwZGF0ZWQgdG8gc3VwcG9ydCB0aGUga2ZyZWUoKSBvbiB0aGUgRURJ RCBkYXRhIGFkZGVkIHByZXZpb3VzbHkKPj4gPiBWOToKPj4gPiAtIFVwZGF0ZWQgZm9yIHRoZSBs b25nX2hwZCBmbGFnIHByb3BhZ2F0aW9uCj4+ID4gVjEwOgo+PiA+IC0gVXBkYXRlZCB0byB1c2Ug YWN0dWFsIGNoZWNrc3VtIGZyb20gdGhlIEVESUQgcmVhZCB0aGF0IG9jY3VycyBkdXJpbmcKPj4g PiAgIG5vcm1hbCBob3QgcGx1ZyBwYXRoIGV4ZWN1dGlvbgo+PiA+IC0gUmVtb3ZlZCB2YXJpYWJs ZXMgZnJvbSBpbnRlbF9kcCBzdHJ1Y3QgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZAo+PiA+IC0g VXBkYXRlZCB0aGUgcGF0Y2ggc3ViamVjdCB0byBtb3JlIGNsb3NlbHkgbWF0Y2ggdGhlIG5hdHVy ZSBhbmQgY29udGVudHMKPj4gPiAgIG9mIHRoZSBwYXRjaAo+PiA+Cj4+ID4gU2lnbmVkLW9mZi1i eTogVG9kZCBQcmV2aXRlIDx0cHJldml0ZUBnbWFpbC5jb20+Cj4+ID4gLS0tCj4+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgIHwgNDEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8 ICAyICsrCj4+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKQo+PiA+Cj4+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+ID4gaW5kZXggNTVkMWY1Zi4uNGMxZjZhOSAxMDA2NDQK Pj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiA+IEBAIC00MSw2ICs0MSwxMiBAQAo+PiA+ Cj4+ID4gICNkZWZpbmUgRFBfTElOS19DSEVDS19USU1FT1VUICAoMTAgKiAxMDAwKQo+PiA+Cj4+ ID4gKy8qIENvbXBsaWFuY2UgdGVzdCBzdGF0dXMgYml0cyAgKi8KPj4gPiArI2RlZmluZSBJTlRF TF9EUF9SRVNPTFVUSU9OX1NISUZUX01BU0sgNAo+PiAKPj4gTm93IHRoYXQgeW91IGNsZWFuZWQg YWxsIHRoZSBvdGhlciBzdHVmZiwgY2FuJ3Qgd2Ugc3RhcnQgYXQgMCBpbnN0ZWFkCj4+IG9mIDQ/ IChvZiBjb3Vyc2UsIHRoaXMgd291bGQgcmVxdWlyZSBhIGNoYW5nZSB0byB0aGUgdXNlciBzcGFj ZSB0b29sKQo+PiAKPj4gCj4+ID4gKyNkZWZpbmUgSU5URUxfRFBfUkVTT0xVVElPTl9QUkVGRVJS RUQgICgxIDw8IElOVEVMX0RQX1JFU09MVVRJT05fU0hJRlRfTUFTSykKPj4gPiArI2RlZmluZSBJ TlRFTF9EUF9SRVNPTFVUSU9OX1NUQU5EQVJEICAgKDIgPDwgSU5URUxfRFBfUkVTT0xVVElPTl9T SElGVF9NQVNLKQo+PiA+ICsjZGVmaW5lIElOVEVMX0RQX1JFU09MVVRJT05fRkFJTFNBRkUgICAo MyA8PCBJTlRFTF9EUF9SRVNPTFVUSU9OX1NISUZUX01BU0spCj4+ID4gKwo+PiA+ICBzdHJ1Y3Qg ZHBfbGlua19kcGxsIHsKPj4gPiAgICAgICAgIGludCBsaW5rX2J3Owo+PiA+ICAgICAgICAgc3Ry dWN0IGRwbGwgZHBsbDsKPj4gPiBAQCAtMzk5NCw2ICs0MDAwLDM4IEBAIHN0YXRpYyB1aW50OF90 IGludGVsX2RwX2F1dG90ZXN0X3ZpZGVvX3BhdHRlcm4oc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPj4gPiAgc3RhdGljIHVpbnQ4X3QgaW50ZWxfZHBfYXV0b3Rlc3RfZWRpZChzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+PiA+ICB7Cj4+ID4gICAgICAgICB1aW50OF90IHRlc3RfcmVzdWx0 ID0gRFBfVEVTVF9OQUs7Cj4+ID4gKyAgICAgICB1aW50MzJfdCByZXQgPSAwOwo+PiA+ICsgICAg ICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0 dGFjaGVkX2Nvbm5lY3RvcjsKPj4gPiArICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IgPSAmaW50ZWxfY29ubmVjdG9yLT5iYXNlOwo+PiA+ICsKPj4gPiArICAgICAgIGlmIChp bnRlbF9jb25uZWN0b3ItPmRldGVjdF9lZGlkID09IE5VTEwgfHwKPj4gPiArICAgICAgICAgICBj b25uZWN0b3ItPmVkaWRfY29ycnVwdCA9PSAxIHx8Cj4+ID4gKyAgICAgICAgICAgaW50ZWxfZHAt PmF1eC5pMmNfZGVmZXJfY291bnQgPiA2KSB7Cj4+ID4gKyAgICAgICAgICAgICAgIC8qIENoZWNr IGZvciBOQUNLcy9ERUZFUnMsIHVzZSBmYWlsc2FmZSBpZiBkZXRlY3RlZAo+PiA+ICsgICAgICAg ICAgICAgICAgKiAgKERQIENUUyAxLjIgQ29yZSBSZXYgMS4xLCA0LjIuMi40LCA0LjIuMi41KQo+ PiA+ICsgICAgICAgICAgICAgICAgKi8KPj4gPiArICAgICAgICAgICAgICAgaWYgKGludGVsX2Rw LT5hdXguaTJjX25hY2tfY291bnQgPiAwIHx8Cj4+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg aW50ZWxfZHAtPmF1eC5pMmNfZGVmZXJfY291bnQgPiAwKQo+PiA+ICsgICAgICAgICAgICAgICAg ICAgICAgIERSTV9ERUJVR19LTVMoIkVESUQgcmVhZCBoYWQgJWQgTkFDS3MsICVkIERFRkVSc1xu IiwKPj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVsX2RwLT5h dXguaTJjX25hY2tfY291bnQsCj4+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnRlbF9kcC0+YXV4LmkyY19kZWZlcl9jb3VudCk7Cj4+ID4gKyAgICAgICAgICAgICAg IGludGVsX2RwLT5jb21wbGlhbmNlX3Rlc3RfZGF0YSA9IElOVEVMX0RQX1JFU09MVVRJT05fRkFJ TFNBRkU7Cj4+ID4gKyAgICAgICB9IGVsc2Ugewo+PiA+ICsgICAgICAgICAgICAgICByZXQgPSBk cm1fZHBfZHBjZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwKPj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRFBfVEVTVF9FRElEX0NIRUNLU1VNLAo+PiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW50ZWxfY29ubmVjdG9yLT5kZXRlY3Rf ZWRpZC0+Y2hlY2tzdW0sIDEpOwo+PiA+ICsgICAgICAgICAgICAgICBpZiAocmV0IDw9IDApCj4+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgRFJNX0RFQlVHX0RSSVZFUigiRmFpbGVkIHRvIHdy aXRlIEVESUQgY2hlY2tzdW1cbiIpOwo+PiA+ICsgICAgICAgICAgICAgICBlbHNlCj4+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgRFJNX0RFQlVHX0RSSVZFUigiRURJRCBjaGVja3N1bSB3cml0 dGVuIHRvIHNpbmtcbiIpOwo+PiAKPj4gWW91J3JlIG1peGluZyBEUk1fREVCVUdfRFJJVkVSIGFu ZCBEUk1fREVCVUdfS01TLiBJJ2Qgc3RpY2sgd2l0aCBvbmx5Cj4+IG9uZSwgYW5kIEknZCBwcm9i YWJseSBwaWNrIF9LTVMuCj4+IAo+PiBXaXRoIG9yIHdpdGhvdXQgdGhlIGFib3ZlIGJpa2VzaGVk czogUmV2aWV3ZWQtYnk6IFBhdWxvIFphbm9uaQo+PiA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29t Pgo+Cj4gWWVhaCBJIHNlY29uZCB0aGUgdHdvIHBvbGlzaCByZXF1ZXN0cyBmcm9tIFBhdWxvLiBN ZXJnZWQgdGhlIHByZXZpb3VzCj4gcGF0Y2ggbWVhbndoaWxlLgoKSSByZXZlcnRlZCB0aGlzIHRv IHVuYmxvY2sgcGVvcGxlIGJlY2F1c2UgaXQgYnJlYWtzIHRoZSBidWlsZCBkdWUgdG8gdGhlCmRl cGVuZGVuY3kgb24gcGF0Y2ggMi81IHdoaWNoIHdhcyBhcHBhcmVudGx5IG5vdCBtZXJnZWQgeWV0 LiBTb3JyeQpEYW5pZWwsIGRpZG4ndCBnZXQgaG9sZCBvZiB5b3UgZmFzdCBlbm91Z2guLi4KCkJS LApKYW5pLgoKCgoKPiAtRGFuaWVsCj4KPj4gCj4+ID4gKwo+PiA+ICsgICAgICAgICAgICAgICB0 ZXN0X3Jlc3VsdCA9IERQX1RFU1RfQUNLIHwgRFBfVEVTVF9FRElEX0NIRUNLU1VNX1dSSVRFOwo+ PiA+ICsgICAgICAgICAgICAgICBpbnRlbF9kcC0+Y29tcGxpYW5jZV90ZXN0X2RhdGEgPSBJTlRF TF9EUF9SRVNPTFVUSU9OX1NUQU5EQVJEOwo+PiA+ICsgICAgICAgfQo+PiA+ICsKPj4gPiArICAg ICAgIC8qIFNldCB0ZXN0IGFjdGl2ZSBmbGFnIGhlcmUgc28gdXNlcnNwYWNlIGRvZXNuJ3QgaW50 ZXJydXB0IHRoaW5ncyAqLwo+PiA+ICsgICAgICAgaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF9h Y3RpdmUgPSAxOwo+PiA+ICsKPj4gPiAgICAgICAgIHJldHVybiB0ZXN0X3Jlc3VsdDsKPj4gPiAg fQo+PiA+Cj4+ID4gQEAgLTQwMDksNyArNDA0NywxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9o YW5kbGVfdGVzdF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ID4gICAgICAg ICB1aW50OF90IHJ4ZGF0YSA9IDA7Cj4+ID4gICAgICAgICBpbnQgc3RhdHVzID0gMDsKPj4gPgo+ PiA+ICsgICAgICAgaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF9hY3RpdmUgPSAwOwo+PiA+ICAg ICAgICAgaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF90eXBlID0gMDsKPj4gPiArICAgICAgIGlu dGVsX2RwLT5jb21wbGlhbmNlX3Rlc3RfZGF0YSA9IDA7Cj4+ID4gKwo+PiA+ICAgICAgICAgaW50 ZWxfZHAtPmF1eC5pMmNfbmFja19jb3VudCA9IDA7Cj4+ID4gICAgICAgICBpbnRlbF9kcC0+YXV4 LmkyY19kZWZlcl9jb3VudCA9IDA7Cj4+ID4KPj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ PiA+IGluZGV4IGE0Njc1ZmEuLjZjNzFiZTkgMTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+PiA+IEBAIC03NDIsNiArNzQyLDggQEAgc3RydWN0IGludGVsX2RwIHsKPj4gPgo+ PiA+ICAgICAgICAgLyogRGlzcGxheXBvcnQgY29tcGxpYW5jZSB0ZXN0aW5nICovCj4+ID4gICAg ICAgICB1bnNpZ25lZCBsb25nIGNvbXBsaWFuY2VfdGVzdF90eXBlOwo+PiA+ICsgICAgICAgdW5z aWduZWQgbG9uZyBjb21wbGlhbmNlX3Rlc3RfZGF0YTsKPj4gPiArICAgICAgIGJvb2wgY29tcGxp YW5jZV90ZXN0X2FjdGl2ZTsKPj4gPiAgfTsKPj4gPgo+PiA+ICBzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0IHsKPj4gPiAtLQo+PiA+IDEuOS4xCj4+ID4KPj4gPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QK Pj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+ID4gaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+PiAKPj4gCj4+IAo+PiAt LSAKPj4gUGF1bG8gWmFub25pCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cj4KPiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4gU29mdHdhcmUgRW5n aW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWls aW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkphbmkgTmlr dWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=