From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/2] drm/i915/dsi: Fix swapping of MIPI_SEQ_DEASSERT_RESET / MIPI_SEQ_ASSERT_RESET Date: Tue, 29 Nov 2016 20:57:23 +0200 Message-ID: <20161129185723.GU31595@intel.com> References: <20161129123858.4225-1-hdegoede@redhat.com> <20161129124853.GN31595@intel.com> <20161129140631.GP31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161129140631.GP31595@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Hans de Goede Cc: Jani Nikula , intel-gfx , dri-devel@lists.freedesktop.org, Daniel Vetter , Dave Airlie List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBOb3YgMjksIDIwMTYgYXQgMDQ6MDY6MzFQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgTm92IDI5LCAyMDE2IGF0IDAyOjA2OjIwUE0gKzAxMDAsIEhhbnMg ZGUgR29lZGUgd3JvdGU6Cj4gPiBIaSwKPiA+IAo+ID4gVGhhbmtzIGZvciB0aGUgcXVpY2sgcmVw bHkuCj4gPiAKPiA+IE9uIDI5LTExLTE2IDEzOjQ4LCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4g PiA+IE9uIFR1ZSwgTm92IDI5LCAyMDE2IGF0IDAxOjM4OjU3UE0gKzAxMDAsIEhhbnMgZGUgR29l ZGUgd3JvdGU6Cj4gPiA+PiBMb29raW5nIGF0IHRoZSBBREYgY29kZSBmcm9tIHRoZSBBbmRyb2lk IGtlcm5lbCBzb3VyY2VzIGZvciBhCj4gPiA+PiBjaGVycnl0cmFpbCB0YWJsZXQgSSBub3RpY2Vk IHRoYXQgaXQgaXMgY2FsbGluZyB0aGUKPiA+ID4+IE1JUElfU0VRX0FTU0VSVF9SRVNFVCBzZXF1 ZW5jZSBmcm9tIHRoZSBwYW5lbCBwcmVwYXJlIGhvb2suCj4gPiA+Pgo+ID4gPj4gVW50aWwgY29t bWl0IGIxY2IxYmQyOTE4OSAoImRybS9pOTE1L2RzaTogdXBkYXRlIHJlc2V0IGFuZCBwb3dlciBz ZXF1ZW5jZXMKPiA+ID4+IGluIHBhbmVsIHByZXBhcmUvdW5wcmVwYXJlIGhvb2tzIikgdGhlIG1h aW5saW5lIGk5MTUgY29kZSB3YXMgZG9pbmcgdGhlCj4gPiA+PiBzYW1lLiBUaGF0IGNvbW1pdHMg ZWZmZWN0aXZlbHkgc3dhcHMgdGhlIGNhbGxpbmcgb2YgTUlQSV9TRVFfQVNTRVJUX1JFU0VUIC8K PiA+ID4+IE1JUElfU0VRX0RFQVNTRVJUX1JFU0VULgo+ID4gPj4KPiA+ID4+IExvb2tpbmcgYXQg dGhlIG5hbWluZyBvZiB0aGUgc2VxdWVuY2VzIHRoYXQgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRv LAo+ID4gPj4gYnV0IHRoZSBwcm9ibGVtIGlzLCB0aGF0IHRoZSBvbGQgbWFpbmxpbmUgY29kZSBh bmQgdGhlIEFERiBjb2RlIHdhcwo+ID4gPj4gYWN0dWFsbHkgY2FsbGluZyB0aGUgcmlnaHQgc2Vx dWVuY2UgKHRlc3RlZCBvbiBhIGN1YmUgaXdvcms4IGFpciB0YWJsZXQpLAo+ID4gPj4gYW5kIHRo ZSBzd2FwcGluZyBvZiB0aGUgY2FsbGluZyBicmVha3MgdGhpbmdzLgo+ID4gPj4KPiA+ID4+IFRo aXMgYnJlYWthZ2Ugd2FzIGxpa2VseSBub3Qgbm90aWNlZCBpbiB0ZXN0aW5nIGJlY2F1c2Ugb24g Y2hlcnJ5dHJhaWwsCj4gPiA+PiBjdXJyZW50bHkgY2h2X2V4ZWNfZ3BpbyBlbmRzIHVwIGRpc2Fi bGluZyB0aGUgZ3BpbyBwaW5zIHJhdGhlciB0aGVuCj4gPiA+PiBzZXR0aW5nIHRoZW0gKHRoaXMg aXMgZml4ZWQgaW4gdGhlIG5leHQgcGF0Y2ggaW4gdGhpcyBwYXRjaC1zZXQpLgo+ID4gPj4KPiA+ ID4+IFRoaXMgY29tbWl0IGZpeGVzIHRoZSBzd2FwcGluZyBieSBmaXhpbmcgTUlQSV9TRVFfQVNT RVJUL0RFQVNTRVJUX1JFU0VUJ3MKPiA+ID4+IHBsYWNlcyBpbiB0aGUgZW51bSBkZWZpbmluZyB0 aGVtLCBzbyB0aGF0IHRoZWlyIChuZXcpIG5hbWVzIG1hdGNoIHRoZWlyCj4gPiA+PiBhY3R1YWwg dXNlLgo+ID4gPj4KPiA+ID4+IEZpeGVzOiBiMWNiMWJkMjkxODkgKCJkcm0vaTkxNS9kc2k6IHVw ZGF0ZSByZXNldCBhbmQgcG93ZXIgc2VxdWVuY2VzLi4uIikKPiA+ID4+IENjOiBKYW5pIE5pa3Vs YSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ID4gPj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+PiBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRl IEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgo+ID4gPj4gLS0tCj4gPiA+PiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5oICAgICAgICAgIHwgNCArKy0tCj4gPiA+PiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jIHwgNCArKy0tCj4gPiA+PiAgMiBm aWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4gPiA+Pgo+ID4g Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuaAo+ID4gPj4gaW5kZXggODQwNWI1YS4uNjQyYTVl YiAxMDA2NDQKPiA+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuaAo+ ID4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5oCj4gPiA+PiBAQCAt NDksMTEgKzQ5LDExIEBAIHN0cnVjdCBlZHBfcG93ZXJfc2VxIHsKPiA+ID4+ICAvKiBNSVBJIFNl cXVlbmNlIEJsb2NrIGRlZmluaXRpb25zICovCj4gPiA+PiAgZW51bSBtaXBpX3NlcSB7Cj4gPiA+ PiAgCU1JUElfU0VRX0VORCA9IDAsCj4gPiA+PiAtCU1JUElfU0VRX0FTU0VSVF9SRVNFVCwKPiA+ ID4+ICsJTUlQSV9TRVFfREVBU1NFUlRfUkVTRVQsCj4gPiA+PiAgCU1JUElfU0VRX0lOSVRfT1RQ LAo+ID4gPj4gIAlNSVBJX1NFUV9ESVNQTEFZX09OLAo+ID4gPj4gIAlNSVBJX1NFUV9ESVNQTEFZ X09GRiwKPiA+ID4+IC0JTUlQSV9TRVFfREVBU1NFUlRfUkVTRVQsCj4gPiA+PiArCU1JUElfU0VR X0FTU0VSVF9SRVNFVCwKPiA+ID4KPiA+ID4gVGhhdCBuYW1pbmcgd291bGQgYmUgYWdhaW5zdCB0 aGUgc3BlYywgc28gSSBkb24ndCB0aGluayB3ZSB3YW50IHRvIGRvIGl0Cj4gPiA+IGxpa2UgdGhp cy4gVW5sZXNzIHRoZSBzcGVjIGlzIHRvdGFsbHkgd3JvbmcsIHRoYXQgaXMuCj4gPiAKPiA+IEdp dmVuIHRoYXQgYm90aCB0aGUgQURGIGNvZGUgYW5kIHRoZSBpOTE1IGRyaXZlciB1bnRpbCBub3cg aGF2ZSBiZWVuIHVzaW5nCj4gPiBhc3NlcnQgb24gcHJlcGFyZSBhbmQgZGVhc3NlcnQgb24gdW5w cmVwYXJlIEknbSBpbmNsaW5lZCB0byBiZWxpZXZlIHRoYXQKPiA+IHRoZSBzcGVjIGlzIHdyb25n LiBJcyB0aGUgc3BlYyBhdmFpbGFibGUgc29tZXdoZXJlIHB1YmxpYyA/Cj4gCj4gSSBkb24ndCB0 aGluayBzby4gQW5kIHNhZGx5IGV2ZW4gaWYgaXQgd291bGQgaXQgd291bGRuJ3QgcmVhbGx5IGhl bHAKPiBzaW5jZSBhYm91dCB0aGUgb25seSB0aGluZyBpdCBzYXlzIGlzOgo+IAo+IDAwIOKAkyBS ZXNlcnZlZAo+IDAxIC0gTUlQSUFzc2VydFJlc2V0UGluCj4gMDIg4oCTIE1JUElTZW5kSW5pdGlh bERjc0NtZHMgKFVzZSB0aGlzIHNlcXVlbmNlIHR5cGUgZm9yIHNlbmRpbmcgaW5pdGlhbGl6YXRp b24gY29tbWFuZHMgaW4gTFAgbW9kZSkKPiAwMyAtIE1JUElEaXNwbGF5T24gKFVzZSB0aGlzIHNl cXVlbmNlIHR5cGUgZm9yIHNlbmRpbmcgaW5pdGlhbGl6YXRpb24gY29tbWFuZHMgaW4gSFMgbW9k ZSkKPiAwNCDigJMgTUlQSURpc3BsYXlPZmYgKFVzZSB0aGlzIHNlcXVlbmNlIHR5cGUgZm9yIHNl bmRpbmcgRGlzcGxheU9mZiBjb21tYW5kcyBpbiBMUCBtb2RlKQo+IDA1IOKAkyBNSVBJRGVhc3Nl cnRSZXNldFBpbgo+IDA2IOKAkyBNSVBJQmFja2xpZ2h0T24KPiAwNyAtIE1JUElCYWNrbGlnaHRP ZmYKPiAwOCDigJMgTUlQSVRlYXJPbgo+IDA5IC0gTUlQSVRlYXJPZmYKPiAxMCAtIE1JUElQYW5l bFBvd2VyT24KPiAxMSAtIE1JUElQYW5lbFBvd2VyT2ZmCj4gT3RoZXJzIOKAkyBSZXNlcnZlZAo+ IAo+IFNvIHByZXR0eSBtdWNoIHVzZWxlc3MgaWYgeW91IGFjdHVhbGx5IHdhbnQgdG8gd3JpdGUg YSB3b3JraW5nIGRyaXZlci4KPiAKPiA+IAo+ID4gQWxzbyBpZiB5b3UgbG9vayBhdCB0aGUgdjEg c2VxdWVuY2VzIHdpdGggdGhlIG5ldyBuYW1lczoKPiA+IAo+ID4gCU1JUElfU0VRX0RFQVNTRVJU X1JFU0VULAo+ID4gICAJTUlQSV9TRVFfSU5JVF9PVFAsCj4gPiAgIAlNSVBJX1NFUV9ESVNQTEFZ X09OLAo+ID4gICAJTUlQSV9TRVFfRElTUExBWV9PRkYsCj4gPiAJTUlQSV9TRVFfQVNTRVJUX1JF U0VULAo+ID4gCj4gPiBUaGVuIHRoZXkgYXJlIGV4YWN0bHkgaW4gdGhlIG9yZGVyIGFzIG9uZSB3 b3VsZCBjYWxsIHRoZW0gb24KPiA+IGVuYWJsZSwgZm9sbG93ZWQgYnkgZGlzYWJsZSwgd2hpY2gg SSBiZWxpZXZlIGlzIG5vdCBhIGNvaW5jaWRlbmNlLgo+ID4gCj4gPiA+IENhbiB5b3UgcHJvdmlk ZSB0aGUgVkJUIGZvciB0aGUgYWZmZWN0ZWQgbWFjaGluZSBzbyBvdGhlciBwZW9wbGUgY2FuCj4g PiA+IGhhdmUgYSBsb29rIGF0IGl0Pwo+ID4gCj4gPiBTdXJlIEkgY2FuIGRvIHRoYXQsIHdoYXQg d291bGQgYmUgdGhlIGVhc2llc3Qgd2F5IChib3RoIGZvciBtZSB0bwo+ID4gcHJvZHVjZSBhbmQg Zm9yIHlvdSB0byBjb25zdW1lKSB0byBkbyB0aGlzID8KPiAKPiAvc3lzL2tlcm5lbC9kZWJ1Zy9k cmkvMC9pOTE1X29wcmVnaW9uCj4gCj4gRm9yIHRoZSBiZXN0IGNoYW5jZSBvZiBwcmVzZXJ2aW5n IHRoZSBkdW1wIGZvciBwb3N0ZXJpdHkgSSB3b3VsZAo+IHN1Z2dlc3QgZmlsaW5nIGEgbmV3IGJ1 ZyBhbmQgYXR0YWNoaW5nIGl0IHRoZXJlLgo+IAo+IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5v cmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PURSSSZjb21wb25lbnQ9RFJNL0ludGVsCj4gCj4gPiAK PiA+IFdoaWxlIGRldmVsb3BpbmcgdGhpcyBzZXQsIEkndmUgYWRkZWQgcHJpbnRrIGNhbGxzIHRv IHRoZSBjb2RlIGV4ZWN1dGluZyB0aGUKPiA+IHNlcXVlbmNlcywgdGhlcmUgYXJlIDIgZ3Bpb3Mg aW52b2x2ZWQgbnIgNjAgKGJhY2tsaWdodCBlbmFibGUgQUZBSUNULCBhbHNvIHVzZWQKPiA+IGJ5 IHRoZSBCQUNLTElHSFQgc2VxdWVuY2VzKSBhbmQgNzIgKHJlc2V0IC8gcGFuZWxfZW5hYmxlID8p Lgo+ID4gV2hlbiBlZmlmYiBpcyB1cCBib3RoIGFyZSAxIC8gaGlnaC4KPiA+IAo+ID4gV2l0aCB0 aGUgT0xEIG5hbWluZywgTUlQSV9TRVFfQVNTRVJUX1JFU0VUIGRvZXM6Cj4gPiAKPiA+IGdwaW8g NzIgaGlnaAo+ID4gZGVsYXkKPiA+IGdwaW8gNzIgbG93Cj4gPiBkZWxheQo+ID4gZ3BpbyA3MiBo aWdoCj4gCj4gSG1tLiBPSyBzbyBpdCBqdXN0IHRvZ2dsZXMgdGhlIHJlc2V0IHBpbiBpdCBzZWVt cy4KPiAKPiA+IAo+ID4gQW5kIERFQVNTRVJUIGRvZXM6Cj4gPiAKPiA+IGdwaW8gNzIgbG93Cj4g PiBncGlvIDYwIGxvdwo+IAo+IEFuZCB0aGlzIGxlYXZlcyB0aGUgcmVzZXQgcGluIGFzc2VydGVk LCBhc3N1bWluZyBpdCdzIGFjdGl2ZSBsb3csCj4gd2hpY2ggeW91ciBwYXRjaCB3b3VsZCBzZWVt IHRvIGNvbmZpcm0uCj4gCj4gPiAKPiA+IFNvIHdpdGggdGhlIG9sZCBuYW1pbmcgREVBU1NFUlQg bGVhdmVzIHRoZSBwYW5lbCBkaXNhYmxlZCAvIGluIHJlc2V0IGFuZAo+ID4gdGhlIGJhY2tsaWdo dCBkaXNhYmxlZCwgd2hpY2ggaXMgZXhhY3RseSB3aGF0IHdlIGRvIG5vdCB3YW50Li4uCj4gCj4g UmlnaHQuIEhtbS4gSWYgd2UgZG8gZmxpcCB0aGVtIG92ZXIgbGlrZSB5b3Ugc3VnZ2VzdCBJIHRo aW5rIHdlJ2xsIGF0Cj4gbGVhc3QgbmVlZCBhIGJpZyBjb21tZW50IHRvIGluZm9ybSBwZW9wbGUg d2h5IHdlIHNlZW0gdG8gZ28gYWdhaW5zdCB0aGUKPiBzcGVjLgo+IAo+IEkganVzdCBmaWxlZCBh IGJ1ZyBhZ2FpbnN0IHRoZSBzcGVjLCBidXQgZ2l2ZW4gcGFzdCBoaXN0b3J5IEknbSBub3QKPiBl eHBlY3RpbmcgdGhhdCB0byByZXN1bHQgaW4gbXVjaCBvZiBhbnl0aGluZyBUQkguCgpBY3R1YWxs eSBJIGRpZCBnZXQgYSB1c2VmdWwgcmVzcG9uc2UuIFNvIHllYWgsIGxvb2tzIGxpa2Ugd2hvZXZl ciB3cm90ZQp0aGUgc3BlYyB3YXMgc3RhbmRpbmcgb24gdGhlaXIgaGVhZCBvciBzb21ldGhpbmcg c2luY2UgdGhlIG5hbWVzIGFyZQpvcHBvc2l0ZSBvZiBob3cgYSBub3JtYWwgcGVyc29uIHdvdWxk IG1ha2UgdGhlbS4KCkknbGwgdHJ5IHRyYW5zY29kZSB0aGUgZGlhZ3JhbSBJJ3ZlIHNlZW4gdG8g dGV4dDoKCnYyIHNlcXVlbmNlIGZvciB2aWRlbyBtb2RlOgotIHBvd2VyIG9uCi0gd2FpdCB0MSt0 MgotIE1JUElBc3NlcnRSZXNldFBpbgotIGNsay9kYXRhIGxpbmVzIHRvIGxwLTExCi0gTUlQSVNl bmRJbml0aWFsRGNzQ21kcwotIHR1cm4gb24gRFBJCi0gTUlQSURpc3BsYXlPbgotIHdhaXQgdDUK LSBiYWNrbGlnaHQgb24KLi4uCi0gYmFja2xpZ2h0IG9mZgotIHdhaXQgdDYKLSBNSVBJRGlzcGxh eU9mZgotIHR1cm4gb2ZmIERQSQotIGNsay9kYXRhIGxpbmVzIHRvIGxwLTAwCi0gTUlQSURlYXNz ZXJ0UmVzZXRQaW4KLSB3YWl0IHQzCi0gcG93ZXIgb2ZmCi0gd2FpdCB0NAoKdjMgc2VxdWVuY2Ug Zm9yIHZpZGVvIG1vZGU6Ci0gTUlQSVBhbmVsUG93ZXJPbgotIE1JUElBc3NlcnRSZXNldFBpbgot IHNldCBjbGsvZGF0YSBsaW5lcyB0byBscC0xMQotIE1JUElTZW5kSW5pdGlhbERjc0NtZHMgKExQ KQotIHR1cm4gb24gRFBJCi0gTUlQSVRlYXJPbiAoY29tbWFuZCBtb2RlIG9ubHkpICsgTUlQSURp c3BsYXlPbiAoTFAgYW5kIEhTKQotIE1JUElCYWNrbGlnaHRPbgouLi4KLSBNSVBJQmFja2xpZ2h0 T2ZmCi0gdHVybiBvZmYgRFBJCi0gTUlQSVRlYXJPZmYgKyBNSVBJRGlzcGxheU9mZiAoTFApCi0g Y2xrL2RhdGEgbGluZXMgdG8gbHAtMDAKLSBNSVBJRGVhc3NlcnRSZXNldFBpbgotIE1JUElQYW5l bFBvd2VyT2ZmCgpJZiBJJ20gcmVhZGluZyB0aGF0IHJpZ2h0IGFsbCB0aGUgZGVsYXlzIGFyZSBw YXJ0IG9mIHRoZQpWQlQgc2VxZXVlbmNlcyBhbHJlYWR5LCBzbyBubyBuZWVkIHRvIGRvIHRoZW0g aW4gdGhlIGRyaXZlci4KCnNlcXVlbmNlIGZvciBjb21tYW5kIG1vZGU6Ci0gcG93ZXIgb24KLSB3 YWl0IHQxK3QyCi0gTUlQSUFzc2VydFJlc2V0UGluCi0gY2xrL2RhdGEgbGluZXMgdG8gbHAtMTEK LSBNSVBJU2VuZEluaXRpYWxEY3NDbWRzCi0gTUlQSVRlYXJPbgotIE1JUElEaXNwbGF5T24KLSBz ZXQgcGlwZSB0byBkc3IgbW9kZQotIHdhaXQgdDUKLSBiYWNrbGlnaHQgb24KLi4uIGlzc3VlIHdy aXRlX21lbV9zdGFydC93cml0ZV9tZW1fY29udGludWUgY29tbWFuZHMgLi4uCi0gYmFja2xpZ2h0 IG9mZgotIHdhaXQgdDYKLSBkaXNhYmxlIHBpcGUgZHNyIG1vZGUKLSBNSVBJVGVhck9mZgotIE1J UElEaXNwbGF5T2ZmCi0gY2xrL2RhdGEgbGluZXMgdG8gbHAtMDAKLSBNSVBJRGVhc3NlcnRSZXNl dFBpbgotIHdhaXQgdDMKLSBwb3dlciBvZmYKLSB3YWl0IHQ0CgpPYnZpb3VzbHkgdGhlcmUncyBh IGJpdCBvZiBvdGhlciB3ZWlyZG5lc3MgaW4gdGhvc2Ugc2VxdWVuY2VzIGFzIHdlbGwKKGVnLiB0 aGUgdjMgdmlkZW8gbW9kZSBzZXF1ZW5jZSBtYWtpbmcgcmVmZXJlbmNlcyB0byBvcGVyYXRpb25z IGRvbmUKb25seSBpbiBjb21tYW5kIG1vZGUpLCBhbmQgYWxzbyB0aGUgTUlQSURpc3BsYXlPZmYg dnMuIERQSSBvZmYgb3JkZXJpbmcKaXMgZGlmZmVyZW50IGJldHdlZW4gdjIgYW5kIHYzIHNlcXVl bmNlcy4gQW5kIHRoZSBjbWQgbW9kZSBzZXF1ZW5jZQpsb29rcyBtb3JlIGxpa2UgdGhlIHYyIHNl cXVlbmNlLCBzbyBub3Qgc3VyZSB3aGF0J3MgdGhlIHN0b3J5IHdpdGggdjMKY21kIG1vZGUgcmVh bGx5LgoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==