From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: Re: [PATCH 07/17] drm/i915: Add and implement the debugfs 'show' functions for Displayport compliance Date: Wed, 18 Feb 2015 09:41:28 -0700 Message-ID: <54E4C0B8.9070105@gmail.com> References: <1418255597-4716-1-git-send-email-tprevite@gmail.com> <1418255597-4716-8-git-send-email-tprevite@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by gabe.freedesktop.org (Postfix) with ESMTP id BF67D6E53D for ; Wed, 18 Feb 2015 08:41:29 -0800 (PST) Received: by padbj1 with SMTP id bj1so2417441pad.5 for ; Wed, 18 Feb 2015 08:41:29 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org UmVzcG9uc2VzIGlubGluZSBiZWxvdy4gQW55IGNoYW5nZXMgaGF2ZSBiZWVuIHJvbGxlZCBpbnRv IHRoZSBtb25zdGVyIApwYXRjaC4KCi1UCgpPbiAxMi8xNi8xNCAxMjowMCBQTSwgUGF1bG8gWmFu b25pIHdyb3RlOgo+IDIwMTQtMTItMTAgMjE6NTMgR01ULTAyOjAwIFRvZGQgUHJldml0ZTx0cHJl dml0ZUBnbWFpbC5jb20+Ogo+PiBUaGlzIHBhdGNoIHdhcyBwcmV2aW91c2x5IHBhcnQgb2YgIltQ QVRDSCAwNS8xMF0gZHJtL2k5MTU6IEFkZCBkZWJ1Z2ZzCj4+IGludGVyZmFjZSBmb3IgRGlzcGxh eXBvcnQgZGVidWcgYW5kIGNvbXBsaWFuY2UgdGVzdGluZyIuIFRoaXMgcGF0Y2ggaW1wbGVtZW50 cwo+PiB0aGUgJ3Nob3cnIGZ1bmN0aW9ucyBmb3IgdGhlIGRlYnVnZnMgaW50ZXJmYWNlIGZvciBE aXNwbGF5cG9ydCBjb21wbGlhbmNlCj4+IHRlc3RpbmcuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFRv ZGQgUHJldml0ZTx0cHJldml0ZUBnbWFpbC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+PiAgIDEgZmlsZSBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+IGluZGV4IGNlMDkxYzEuLjE4NDc5N2QgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+IEBAIC0zNjk0LDYgKzM2OTQsNTYg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgaTkxNV9kaXNwbGF5X2NyY19j dGxfZm9wcyA9IHsKPj4gICAgICAgICAgLndyaXRlID0gZGlzcGxheV9jcmNfY3RsX3dyaXRlCj4+ ICAgfTsKPj4KPj4gK3N0YXRpYyB2b2lkIGRpc3BsYXlwb3J0X3Nob3dfY29uZmlnX2luZm8oc3Ry dWN0IHNlcV9maWxlICptLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKPj4gK3sKPj4gKyAgICAgICBzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IGludGVsX2Nvbm5lY3Rvci0+ZW5jb2RlcjsKPj4g KyAgICAgICBzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwOwo+PiArICAgICAgIHN0cnVjdCBpbnRl bF9jcnRjICppY3J0YzsKPiBQbGVhc2UgZG9uJ3QgdXNlICJpY3J0YyI6IHRoZSBjdXJyZW50IHRy ZW5kIGlzIHRvIGNhbGwgaW50ZWxfY3J0YyBhcwo+IGp1c3QgImNydGMiLiBJbiB0aGUgcGFzdCwg InN0cnVjdCBkcm1fY3J0YyIgd291bGQgYmUgImNydGMiIGFuZAo+ICJzdHJ1Y3QgaW50ZWxfY3J0 YyIgd291bGQgYmUgImludGVsX2NydGMiLCBidXQgSSBkb24ndCByZW1lbWJlciBzZWVpbmcKPiBp Y3J0Yy4KSnVzdCBhbiBhdHRlbXB0IHRvIGdldCB0aGUgY29kZSB1bmRlciB0aGUgODAgY2hhciBs aW5lIGxpbWl0LiBXaXRoIHRoZSAKb3RoZXIgY2hhbmdlcyBiZWxvdyBpdCdzIHVubmVjZXNzYXJ5 IGFueXdheXMuIEl0J3MgZml4ZWQgaW4gVjMuCj4+ICsgICAgICAgc3RydWN0IGludGVsX2NydGNf Y29uZmlnICpjcnRjX2NvbmZpZzsKPj4gKyAgICAgICBjaGFyICpjb25uX25hbWUgPSBpbnRlbF9j b25uZWN0b3ItPmJhc2UubmFtZTsKPj4gKyAgICAgICBpbnQgcGlwZV9icHAsIGhyZXMsIHZyZXM7 Cj4+ICsgICAgICAgdWludDhfdCB2c1s0XSwgcGVbNF07Cj4+ICsgICAgICAgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGU7Cj4+ICsgICAgICAgaW50IGkgPSAwOwo+PiArCj4+ICsgICAgICAg aWYgKGludGVsX2VuY29kZXIpIHsKPiBCaWtlc2hlZGRpbmc6IHNpbmNlIHRoZSB3aG9sZSBmdW5j dGlvbiBpbXBsZW1lbnRhdGlvbiBpcyBpbnNpZGUgdGhlCj4gImlmIiBzdGF0ZW1lbnQsIHdlIHVz dWFsbHkgcHJlZmVyIHRvIGp1c3QgImlmICghaW50ZWxfZW5jb2RlcikKPiByZXR1cm47IiwgYmVj YXVzZSB0aGF0IHNhdmVzIG9uZSBpbmRlbnRhdGlvbiBsZXZlbC4KQ2hhbmdlZCBmb3IgVjMuIEFs c28gY2hhbmdlZCB0aGUgaW50ZWxfZW5jb2RlLT50eXBlIGNoZWNrIHRvIHRoZSBzYW1lIAp0aGlu ZywgYWdhaW4gc2F2aW5nIGEgbGV2ZWwgb2YgaW5kZW50Lgo+Cj4+ICsgICAgICAgICAgICAgICBp bnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmaW50ZWxfZW5jb2Rlci0+YmFzZSk7Cj4+ICsgICAg ICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaW50ZWxfZHAtPmxhbmVfY291bnQ7IGkrKykgewo+ PiArICAgICAgICAgICAgICAgICAgICAgICB2c1tpXSA9IGludGVsX2RwLT50cmFpbl9zZXRbaV0K Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmIERQX1RSQUlOX1ZPTFRBR0VfU1dJ TkdfTUFTSzsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgcGVbaV0gPSAoaW50ZWxfZHAtPnRy YWluX3NldFtpXQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmIERQX1RSQUlOX1BS RV9FTVBIQVNJU19NQVNLKSA+PiAzOwo+IFBsZWFzZSB1c2UgRFBfVFJBSU5fUFJFX0VNUEhBU0lT X1NISUZUIGluc3RlYWQgb2YgdGhlIGhhcmRjb2RlZCAiMyIuCkZpeGVkLgo+PiArICAgICAgICAg ICAgICAgfQo+PiArICAgICAgICAgICAgICAgaWYgKGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5U RUxfT1VUUFVUX0RJU1BMQVlQT1JUKSB7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChp bnRlbF9lbmNvZGVyLT5uZXdfY3J0Yykgewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNydGNfY29uZmlnID0gJmludGVsX2VuY29kZXItPm5ld19jcnRjLT5jb25maWc7Cj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZV9icHAgPSBjcnRjX2NvbmZpZy0+cGlw ZV9icHA7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSA9ICZjcnRjX2Nv bmZpZy0+YWRqdXN0ZWRfbW9kZTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo cmVzID0gbW9kZS0+aGRpc3BsYXk7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dnJlcyA9IG1vZGUtPnZkaXNwbGF5Owo+PiArICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug aWYgKGludGVsX2VuY29kZXItPmJhc2UuY3J0Yykgewo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGljcnRjID0gdG9faW50ZWxfY3J0YyhpbnRlbF9lbmNvZGVyLT5iYXNlLmNydGMp Owo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVfYnBwID0gaWNydGMtPmNv bmZpZy5waXBlX2JwcDsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlID0g JmljcnRjLT5jb25maWcuYWRqdXN0ZWRfbW9kZTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBocmVzID0gbW9kZS0+aGRpc3BsYXk7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdnJlcyA9IG1vZGUtPnZkaXNwbGF5Owo+PiArICAgICAgICAgICAgICAgICAgICAg ICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVfYnBwID0g MDsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVzID0gdnJlcyA9IDA7Cj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPiBXaHkgZG8geW91IGhhdmUgdGhpcyBuZXdfY3J0 YyB2cyBjdXJyZW50X2NydGMgdnMgbm8gY3J0YyBkaXN0aW5jdGlvbgo+IGhlcmU/IElzIGl0IHJl YWxseSBuZWNlc3Nhcnk/IFNob3VsZG4ndCB0aGUgIkRQIHRlc3RpbmcgZGVidWdmcwo+IHByb3Rv Y29sIiBlc3RhYmxpc2ggd2hlbiBleGFjdGx5IHRoZSBpbmZvcm1hdGlvbiBzaG91bGQgYmUgcXVl cmllZCwKPiBhbmQgdGhlbiBnaXZlIHNvbWUgZXJyb3JzIGluIGNhc2UgaW5mb3JtYXRpb24gaXMg YmVpbmcgcmVxdWVzdGVkIGF0Cj4gdGhlIHdyb25nIHRpbWU/ClRoYXQgY29kZSBpcyBhIGhvbGQt b3ZlciBmcm9tIHdoZW4gSSB3YXMgbWFraW5nIHN1cmUgSSB3YXNuJ3QgbWlzc2luZyAKdGVzdCBl dmVudHMgYmVjYXVzZSBvZiBpbnZhbGlkIGRhdGEgc3RydWN0dXJlcy4gUGFydCBvZiB0aGUgcHJv YmxlbSBpcyAKdGhhdCBsaW5rIHRyYWluaW5nIGlzIHRpZWQgdG8gbW9kZSBzZXRzLCB3aGljaCBp cyB3aGVyZSB0aGlzIGNvZGUgCm9yaWdpbmFsbHkgY2FtZSBmcm9tIGFzIEkgcmVjYWxsLiBJbiBh bnkgY2FzZSwgSSd2ZSByZW1vdmVkIHRoZSBuZXdfY3J0YyAKY2FzZSAoaW4gbGlnaHQgb2YgRGFu aWVsJ3MgcmVwbHkpIHNvIGl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZS4KPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgc2VxX3ByaW50ZihtLCBEUF9DT05GX1NUUl9DT05ORUNUT1IsIGNvbm5fbmFt ZSk7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHNlcV9wcmludGYobSwgRFBfQ09ORl9TVFJf TElOS1JBVEUsIGludGVsX2RwLT5saW5rX2J3KTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAg c2VxX3ByaW50ZihtLCBEUF9DT05GX1NUUl9MQU5FUywgaW50ZWxfZHAtPmxhbmVfY291bnQpOwo+ PiArICAgICAgICAgICAgICAgICAgICAgICBzZXFfcHJpbnRmKG0sIERQX0NPTkZfU1RSX1ZTV0lO RywgdnNbMF0pOwo+PiArICAgICAgICAgICAgICAgICAgICAgICBzZXFfcHJpbnRmKG0sIERQX0NP TkZfU1RSX1BSRUVNUCwgcGVbMF0pOwo+PiArICAgICAgICAgICAgICAgICAgICAgICBzZXFfcHJp bnRmKG0sIERQX0NPTkZfU1RSX0hSRVMsIGhyZXMpOwo+PiArICAgICAgICAgICAgICAgICAgICAg ICBzZXFfcHJpbnRmKG0sIERQX0NPTkZfU1RSX1ZSRVMsIHZyZXMpOwo+PiArICAgICAgICAgICAg ICAgICAgICAgICBzZXFfcHJpbnRmKG0sIERQX0NPTkZfU1RSX0JQUCwgcGlwZV9icHApOwo+PiAr ICAgICAgICAgICAgICAgfQo+PiArICAgICAgIH0KPj4gK30KPj4gKwo+PiAgIGVudW0gZHBfY29u ZmlnX3BhcmFtIGRpc3BsYXlwb3J0X2dldF9jb25maWdfcGFyYW1fdHlwZShjaGFyICppbnB1dF9z dHJpbmcpCj4+ICAgewo+PiAgICAgICAgICBlbnVtIGRwX2NvbmZpZ19wYXJhbSBwYXJhbV90eXBl ID0gRFBfQ09ORklHX1BBUkFNX0lOVkFMSUQ7Cj4+IEBAIC0zNzQyLDYgKzM3OTIsNDEgQEAgaW50 IHZhbHVlX2Zvcl9jb25maWdfcGFyYW0oZW51bSBkcF9jb25maWdfcGFyYW0gcGFyYW0sCj4+ICAg ICAgICAgIHJldHVybiBzdGF0dXM7Cj4+ICAgfQo+Pgo+PiArc3RhdGljIGludCBkaXNwbGF5cG9y dF9jb25maWdfY3RsX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+PiArewo+ PiArICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBtLT5wcml2YXRlOwo+PiArICAgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yICpkcm1fY29ubmVjdG9yOwo+PiArICAgICAgIHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyOwo+PiArICAgICAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvcjsKPiBUaGUgc3RhbmRhcmQgaXMgdG8gbWFrZSAic3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciIgYW5kICJzdHJ1Y3QKPiBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5l Y3RvciIsIG9yICJzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yCj4gKmNvbm5lY3RvciIgYW5kIHRoZW4g YWx3YXlzIHVzZSAmY29ubmVjdG9yLT5iYXNlIGZvciB3aGVuCj4gZHJtX2Nvbm5lY3RvciBpcyBu ZWVkZWQuIExpa2UgdGhlIGVuY29kZXJzIGFuZCBjcnRjcy4KRmFpciBlbm91Z2guIEZpeGVkIGlu IFYzLgo+PiArCj4+ICsgICAgICAgaWYgKCFkZXYpCj4+ICsgICAgICAgICAgICAgICByZXR1cm4g LUVOT0RFVjsKPj4gKwo+PiArICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoZHJtX2Nvbm5lY3Rv ciwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZXYtPm1vZGVfY29uZmlnLmNvbm5l Y3Rvcl9saXN0LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCkgewo+PiArICAg ICAgICAgICAgICAgY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGRybV9jb25uZWN0b3Ip Owo+PiArICAgICAgICAgICAgICAgZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKPj4gKyAg ICAgICAgICAgICAgIGlmIChkcm1fY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PQo+PiArICAg ICAgICAgICAgICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCkgewo+PiArICAg ICAgICAgICAgICAgICAgICAgICBpZiAoZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRElT UExBWVBPUlQgfHwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXItPnR5cGUg PT0gSU5URUxfT1VUUFVUX1VOS05PV04pIHsKPiBJZiB0aGUgY29ubmVjdG9yIGlzIERQLCBJIHRo aW5rIHlvdSBkb24ndCBuZWVkIHRvIGNoZWNrIHRoZSBlbmNvZGVyCj4gdHlwZSAoYmVjYXVzZSB5 b3UgY2hlY2sgZm9yICJjb25uZWN0ZWQiIGJlbG93KS4gQWxzbywgeW91IGNvdWxkIGhhdmUKPiB1 c2VkICImJiIgaW5zdGVhZCBvZiBuZXN0aW5nIGlmIHN0YXRlbWVudHMsIHdoaWNoIHdvdWxkIHNh dmUgb25lCj4gaW5kZW50YXRpb24gbGV2ZWwuCkkgY2hhbmdlZCB0aGUgY29kZSBhcm91bmQgdG8g c2F2ZSBzb21lIGluZGVudGF0aW9uIGxldmVscyBhbmQgYWRkcmVzcyAKdGhpcyBwYXJ0aWN1bGFy IGlzc3VlLiBUaGVyZSB3YXMgYW4gaXNzdWUgSSByYW4gYWNyb3NzIHdoZXJlIGp1c3QgdXNpbmcg CnRoZSBEUk0gY29ubmVjdG9yIHdhc24ndCBlbm91Z2gsIGJ1dCBJIGhhdmVuJ3QgYmVlbiBhYmxl IHRvIHJlcHJvZHVjZSAKdGhhdCBwcm9ibGVtIHdpdGggdGhlIGN1cnJlbnQgY29kZS4gU28gdGhp cyBoYXMgYmVlbiByZW1vdmVkLgo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm IChkcm1fY29ubmVjdG9yLT5zdGF0dXMgPT0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQpIHsKPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlwb3J0X3Nob3dfY29uZmlnX2luZm8obSwK Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29ubmVjdG9yKTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VxX3ByaW50ZihtLCBEUF9DT05GX1NUUl9DT05ORUNUT1IsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXItPmJhc2UubmFtZSk7Cj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXFfcHV0cyhtLCAiZGlz Y29ubmVjdGVkXG4iKTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4+ICsg ICAgICAgICAgICAgICAgICAgICAgIH0KPj4gKyAgICAgICAgICAgICAgIH0KPj4gKyAgICAgICB9 Cj4+ICsKPj4gKyAgICAgICByZXR1cm4gMDsKPj4gK30KPj4gKwo+PiAgIHN0YXRpYyBpbnQgZGlz cGxheXBvcnRfY29uZmlnX2N0bF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmlsZSAqZmlsZSkKPj4gICB7 Cj4+IC0tCj4+IDEuOS4xCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==