From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH v2 02/20] drm: Don't update plane properties for atomic planes if it stays the same Date: Mon, 13 Jul 2015 11:13:46 +0200 Message-ID: <20150713091346.GV3736@phenom.ffwll.local> References: <20150707121011.GQ7568@phenom.ffwll.local> <559BEB72.1050702@linux.intel.com> <20150707164352.GZ7568@phenom.ffwll.local> <559CD896.8040301@linux.intel.com> <20150708085508.GD7568@phenom.ffwll.local> <559D5163.7060204@linux.intel.com> <20150708175151.GA21858@phenom.ffwll.local> <559D6B03.2060804@linux.intel.com> <20150708201241.GB21858@phenom.ffwll.local> <55A37DF4.80804@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f174.google.com (mail-wi0-f174.google.com [209.85.212.174]) by gabe.freedesktop.org (Postfix) with ESMTPS id 190D46E5E7 for ; Mon, 13 Jul 2015 02:11:03 -0700 (PDT) Received: by widic2 with SMTP id ic2so6482261wid.0 for ; Mon, 13 Jul 2015 02:11:01 -0700 (PDT) Content-Disposition: inline In-Reply-To: <55A37DF4.80804@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBKdWwgMTMsIDIwMTUgYXQgMTA6NTk6MzJBTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMDgtMDctMTUgb20gMjI6MTIgc2NocmVlZiBEYW5pZWwgVmV0dGVyOgo+ ID4gT24gV2VkLCBKdWwgMDgsIDIwMTUgYXQgMDg6MjU6MDdQTSArMDIwMCwgTWFhcnRlbiBMYW5r aG9yc3Qgd3JvdGU6Cj4gPj4gT3AgMDgtMDctMTUgb20gMTk6NTIgc2NocmVlZiBEYW5pZWwgVmV0 dGVyOgo+ID4+PiBPbiBXZWQsIEp1bCAwOCwgMjAxNSBhdCAwNjozNTo0N1BNICswMjAwLCBNYWFy dGVuIExhbmtob3JzdCB3cm90ZToKPiA+Pj4+IE9wIDA4LTA3LTE1IG9tIDEwOjU1IHNjaHJlZWYg RGFuaWVsIFZldHRlcjoKPiA+Pj4+PiBPbiBXZWQsIEp1bCAwOCwgMjAxNSBhdCAxMDowMDoyMkFN ICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90ZToKPiA+Pj4+Pj4gT3AgMDctMDctMTUgb20g MTg6NDMgc2NocmVlZiBEYW5pZWwgVmV0dGVyOgo+ID4+Pj4+Pj4gT24gVHVlLCBKdWwgMDcsIDIw MTUgYXQgMDU6MDg6MzRQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4gPj4+Pj4+ Pj4gT3AgMDctMDctMTUgb20gMTQ6MTAgc2NocmVlZiBEYW5pZWwgVmV0dGVyOgo+ID4+Pj4+Pj4+ PiBPbiBUdWUsIEp1bCAwNywgMjAxNSBhdCAxMjoyMDoxMFBNICswMjAwLCBNYWFydGVuIExhbmto b3JzdCB3cm90ZToKPiA+Pj4+Pj4+Pj4+IE9wIDA3LTA3LTE1IG9tIDExOjE4IHNjaHJlZWYgRGFu aWVsIFZldHRlcjoKPiA+Pj4+Pj4+Pj4+PiBPbiBUdWUsIEp1bCAwNywgMjAxNSBhdCAwOTowODox M0FNICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90ZToKPiA+Pj4+Pj4+Pj4+Pj4gVGhpcyBh bGxvd3MgdGhlIGZpcnN0IGF0b21pYyBjYWxsIGR1cmluZyBodyBpbml0IHRvIGJlIGEgcmVhbCBt b2Rlc2V0LAo+ID4+Pj4+Pj4+Pj4+PiB3aGljaCBpcyB1c2VmdWwgZm9yIGZvcmNpbmcgYSByZWNh bGN1bGF0aW9uLgo+ID4+Pj4+Pj4+Pj4+IGZiY29uIGlzIG9wdGlvbmFsLCB5b3UgY2FuJ3QgcmVs eSBvbiBhbnl0aGluZyBiZWluZyBkb25lIGluIGFueSBzcGVjaWZpYwo+ID4+Pj4+Pj4+Pj4+IHdh eS4gV2hhdCBleGFjdGx5IGRvIHlvdSBuZWVkIHRoaXMgZm9yLCB3aGF0J3MgdGhlIGltcGxpY2F0 aW9ucz8KPiA+Pj4+Pj4+Pj4+IEluIHRoZSBodyByZWFkb3V0IEkgbm90aWNlZCBzb21lIHdhcm5p bmdzIHdoZW4gSSB3YXNuJ3Qgc2V0dGluZyBhbnkgbW9kZSBwcm9wZXJ0eSBpbiB0aGUgcmVhZG91 dC4KPiA+Pj4+Pj4+Pj4+IEkgd2FudCB0aGUgZmlyc3QgZnVuY3Rpb24gdG8gYmUgdGhlIG1vZGVz ZXQsIHNvIHdlIGhhdmUgYSBzYW5lIGJhc2UgdG8gY29tbWl0IGNoYW5nZXMgb24uCj4gPj4+Pj4+ Pj4+PiBJZGVhbGx5IHRoaXMgd2hvbGUgZnVuY3Rpb24gd291bGQgaGF2ZSBhIGF0b21pYyBjb3Vu dGVycGFydCB3aGljaCBkb2VzIGl0IGluIG9uZSBnby4gOikKPiA+Pj4+Pj4+Pj4gWWVhaC4gT3Rv aCBhcyBzb29uIGFzIHdlIGhhdmUgYXRvbWljIG1vZGVzZXQgd29ya2luZyB3ZSBjYW4gcmVwbGFj ZSBhbGwKPiA+Pj4+Pj4+Pj4gdGhlIGxlZ2FjeSBlbnRyeSBwb2ludHMgd2l0aCBhdG9taWMgaGVs cGVycywgYW5kIHRoZW4gZXZlbiBwbGFuZV9kaXNhYmxlCj4gPj4+Pj4+Pj4+IHdpbGwgYmUgYSBm dWxsIGF0b21pYyBtb2Rlc2V0Lgo+ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBXaGF0IGRpZCBmYWxs IGFwYXJ0IHdpdGgganVzdCB0b3VjaGluZyBwcm9wZXJ0aWVzL3BsYW5lcyBub3c/Cj4gPj4+Pj4+ Pj4gQWxzbyB3aGVuIGk5MTUgaXMgZnVsbHkgYXRvbWljIGl0IGNhbGN1bGF0ZXMgaW4gaW50ZWxf bW9kZXNldF9jb21wdXRlX2NvbmZpZwo+ID4+Pj4+Pj4+IGlmIGEgbW9kZXNldCBpcyBuZWVkZWQg YWZ0ZXIgdGhlIGZpcnN0IGF0b21pYyBjYWxsLiBSaWdodCBub3cgYmVjYXVzZQo+ID4+Pj4+Pj4+ IGludGVsX21vZGVzZXRfY29tcHV0ZV9jb25maWcgaXMgb25seSBjYWxsZWQgaW4gc2V0X2NvbmZp ZyBzbyB0aGlzIHdvcmtzIGFzIGV4cGVjdGVkLgo+ID4+Pj4+Pj4+IE90aGVyd2lzZSBkcm1fcGxh bmVfZm9yY2VfZGlzYWJsZSBvciByb3RhdGVfMCB3aWxsIGZvcmNlIGEgbW9kZXNldCwKPiA+Pj4+ Pj4+PiBhbmQgaWYgdGhlIGZpbmFsIG1vZGUgaXMgZGlmZmVyZW50IHRoaXMgd2lsbCBpbnRyb2R1 Y2UgYSBkb3VibGUgbW9kZXNldC4KPiA+Pj4+Pj4+IEZvciBleHBlbnNpdmUgcHJvcGVydGllcyAo aS5lLiBhIG5vLW9wIGNoYW5nZXMgY2F1c2VzIHNvbWV0aGluZyB0aGF0IHRha2VzCj4gPj4+Pj4+ PiB0aW1lIGxpa2UgbW9kZXNldCBvciB2Ymxhbmsgd2FpdCkgd2UgbmVlZCB0byBtYWtlIHN1cmUg d2UgZmlsdGVyIHRoZW0gb3V0Cj4gPj4+Pj4+PiBpbiBhdG9taWNfY2hlY2suIFllYWggbm90IHF1 aXRlIHRoZXJlIHlldCB3aXRoIHB1cmUgYXRvbWljLCBidXQgbWVhbndoaWxlCj4gPj4+Pj4+PiB0 aGUgZXhpc3RpbmcgbGVnYWN5IHNldF9wcm9wIGZ1bmN0aW9ucyBzaG91bGQgYWxsIGZpbHRlciBv dXQgbm8tb3AgY2hhbmdlcwo+ID4+Pj4+Pj4gdGhlbXNlbHZlcy4gSWYgd2UgZG9uJ3QgZG8gdGhh dCBmb3Igcm90YXRpb24gdGhlbiB0aGF0J3MgYSBidWcuCj4gPj4+Pj4+Pgo+ID4+Pj4+Pj4gU2Ft ZSBmb3IgZGlzYWJsaW5nIHBsYW5lcyBoYXJkZXIsIHRoYXQgc2hvdWxkbid0IHRha2UgdGltZS4g RXNwZWNpYWxseQo+ID4+Pj4+Pj4gc2luY2UgZmJjb24gb25seSBmb3JjZS1kaXNhYmxlIG5vbi1w cmltYXJ5IHBsYW5lLCBhbmQgZm9yIGRyaXZlciBsb2FkCj4gPj4+Pj4+PiB0aGF0J3MgdGhlIGV4 YWN0IHRoaW5nIHdlIGFscmVhZHkgZG8gaW4gdGhlIGRyaXZlciBhbnl3YXkuCj4gPj4+Pj4+IFNv bWV0aGluZyBsaWtlIHRoaXM/Cj4gPj4+Pj4+IC0tLQo+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYwo+ID4+Pj4+PiBpbmRleCBhMWQ0ZTEzZjM5MDguLjI5ODkyMzJmNDk5NiAx MDA2NDQKPiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMK PiA+Pj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+Pj4+ Pj4gQEAgLTMwLDYgKzMwLDcgQEAKPiA+Pj4+Pj4gICNpbmNsdWRlIDxkcm0vZHJtX3BsYW5lX2hl bHBlci5oPgo+ID4+Pj4+PiAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KPiA+Pj4+ Pj4gICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPiA+Pj4+Pj4gKyNpbmNsdWRl ICJkcm1fY3J0Y19pbnRlcm5hbC5oIgo+ID4+Pj4+PiAgI2luY2x1ZGUgPGxpbnV4L2ZlbmNlLmg+ Cj4gPj4+Pj4+ICAKPiA+Pj4+Pj4gIC8qKgo+ID4+Pj4+PiBAQCAtMTcxNiw3ICsxNzE3LDEyIEBA IGRybV9hdG9taWNfaGVscGVyX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiA+Pj4+Pj4gIHsKPiA+Pj4+Pj4gIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7 Cj4gPj4+Pj4+ICAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ID4+Pj4+PiAt CWludCByZXQgPSAwOwo+ID4+Pj4+PiArCXVpbnQ2NF90IHJldHZhbDsKPiA+Pj4+Pj4gKwlpbnQg cmV0Owo+ID4+Pj4+PiArCj4gPj4+Pj4+ICsJcmV0ID0gZHJtX2F0b21pY19nZXRfcHJvcGVydHko JmNydGMtPmJhc2UsIHByb3BlcnR5LCAmcmV0dmFsKTsKPiA+Pj4+Pj4gKwlpZiAoIXJldCAmJiB2 YWwgPT0gcmV0dmFsKQo+ID4+Pj4+PiArCQlyZXR1cm4gMDsKPiA+Pj4+Pj4gIAo+ID4+Pj4+PiAg CXN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9hbGxvYyhjcnRjLT5kZXYpOwo+ID4+Pj4+PiAgCWlm ICghc3RhdGUpCj4gPj4+Pj4+IEBAIC0xNzc2LDcgKzE3ODIsMTIgQEAgZHJtX2F0b21pY19oZWxw ZXJfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4+Pj4+PiAg ewo+ID4+Pj4+PiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiA+Pj4+Pj4gIAlz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiA+Pj4+Pj4gLQlpbnQgcmV0ID0g MDsKPiA+Pj4+Pj4gKwl1aW50NjRfdCByZXR2YWw7Cj4gPj4+Pj4+ICsJaW50IHJldDsKPiA+Pj4+ Pj4gKwo+ID4+Pj4+PiArCXJldCA9IGRybV9hdG9taWNfZ2V0X3Byb3BlcnR5KCZwbGFuZS0+YmFz ZSwgcHJvcGVydHksICZyZXR2YWwpOwo+ID4+Pj4+PiArCWlmICghcmV0ICYmIHZhbCA9PSByZXR2 YWwpCj4gPj4+Pj4+ICsJCXJldHVybiAwOwo+ID4+Pj4+PiAgCj4gPj4+Pj4+ICAJc3RhdGUgPSBk cm1fYXRvbWljX3N0YXRlX2FsbG9jKHBsYW5lLT5kZXYpOwo+ID4+Pj4+PiAgCWlmICghc3RhdGUp Cj4gPj4+Pj4+IEBAIC0xODM2LDcgKzE4NDcsMTIgQEAgZHJtX2F0b21pY19oZWxwZXJfY29ubmVj dG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+Pj4+ PiAgewo+ID4+Pj4+PiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiA+Pj4+Pj4g IAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubmVjdG9yX3N0YXRlOwo+ID4+Pj4+PiAt CWludCByZXQgPSAwOwo+ID4+Pj4+PiArCXVpbnQ2NF90IHJldHZhbDsKPiA+Pj4+Pj4gKwlpbnQg cmV0Owo+ID4+Pj4+PiArCj4gPj4+Pj4+ICsJcmV0ID0gZHJtX2F0b21pY19nZXRfcHJvcGVydHko JmNvbm5lY3Rvci0+YmFzZSwgcHJvcGVydHksICZyZXR2YWwpOwo+ID4+Pj4+PiArCWlmICghcmV0 ICYmIHZhbCA9PSByZXR2YWwpCj4gPj4+Pj4+ICsJCXJldHVybiAwOwo+ID4+Pj4+PiAgCj4gPj4+ Pj4+ICAJc3RhdGUgPSBkcm1fYXRvbWljX3N0YXRlX2FsbG9jKGNvbm5lY3Rvci0+ZGV2KTsKPiA+ Pj4+Pj4gIAlpZiAoIXN0YXRlKQo+ID4+Pj4+IFRoZSByZWFzb24gSSBkaWRuJ3QgZG8gdGhpcyBp cyB0aGF0IGEgcHJvcCBjaGFuZ2UgbWlnaHQgc3RpbGwgcmVzdWx0IGluIG5vCj4gPj4+Pj4gaHcg c3RhdGUgY2hhbmdlIChlLmcuIGlmIHlvdSBnbyBhdXRvbWl0aWMtPmV4cGxpY2l0IHNldHRpbmcg bWF0Y2hpbmcKPiA+Pj4+PiBhdXRvbWF0aWMgb25lKS4gSGVuY2UgSSB0aGluayB3ZSBuZWVkIHRv IHNvbHZlIHRoaXMgaW4gbG93ZXIgbGV2ZWxzCj4gPj4+Pj4gYW55d2F5LCBpLmUuIGluIHdoZW4g Y29tcHV0aW5nIHRoZSBjb25maWcuIEJ1dCBpdCBzaG91bGRuJ3QgY2F1c2UgdHJvdWJsZQo+ID4+ Pj4+IHlldC4KPiA+Pj4+IElzIHRoYXQgYSBhY2sgb3IgbmFjaz8KPiA+Pj4gSSB0aGluayB3ZSBz aG91bGRuJ3QgbmVlZCB0aGlzIHJlYWxseSBmb3IgaTkxNSwgYW5kIGl0IG1pZ2h0IGNvdmVyIHVw Cj4gPj4+IGJ1Z3MuIEkgcHJlZmVyIHdlIGp1c3QgZG8gdGhlIGV2YWRlIG1vZGVzZXQgbG9naWMg eW91J3ZlIGltcGxlbWVudGVkIG9uY2UKPiA+Pj4gd2Ugc3dpdGNoIG92ZXIgdG8gYXRvbWljIHBy b3BzLiBTaW5jZSBhdG0gd2Ugb25seSBoYXZlIGF0b21pYyBwcm9wcyB3aGljaAo+ID4+PiBnZXQg dXBkYXRlZCBpbiBwYWdlZmxpcHMgd2Ugc2hvdWxkbid0IGhhdmUgc2VyaW91cyBwcm9ibGVtcyBo ZXJlIHlldCAoZm9yCj4gPj4+IHNldHRpbmcgdGhlIHJvdGF0aW9uIHByb3AgdG8gMMKwIGFnYWlu IHdoZW4gZmJkZXYgc3RhcnRzIHVwKS4KPiA+Pj4KPiA+Pj4gT3IgZG8gSSBtaXNzIHNvbWV0aGlu ZyBzdGlsbCBoZXJlPwo+ID4+IFllcywgaWYgdGhlIGhhcmR3YXJlIG1vZGUgaXMgaW5jb21wYXRp YmxlIHdpdGggaXRzIGNhbGN1bGF0ZWQgc3cgbW9kZSwKPiA+PiBhbmQgd2Ugc2V0IGEgZGlmZmVy ZW50IG1vZGUgZnJvbSBmYmRldiB5b3UgZ2V0IDIgbW9kZXNldHMgaW5zdGVhZCBvZiAxLgo+ID4g SG93IGRvZXMgdGhhdCBoYXBwZW4/IEZvciBzZXR0aW5nIHRoZSByb3RhdGlvbiBwcm9wZXJ0eSB3 ZSBzaG91bGQganVzdAo+ID4gZHVwbGljYXRlIHRoZSBjdXJyZW50IGNydGMgc3RhdGUuIFNpbmNl IHRoZXJlJ3Mgbm8gbW9kZSBjaGFuZ2luZyAodGhleQo+ID4gc2hvdWxkIG1hdGNoIHBlcmZlY3Rs eSBubyBtYXR0ZXIgaG93IGJvdGNoZWQgdGhlIHJlY29uc3RydWN0aW9uIGlzKSB0aGVyZQo+ID4g c2hvdWxkbid0IGJlIGFueSBuZWVkIHRvIHJlY29tcHV0ZSB0aGUgY29uZmlnIGNvbXBsZXRlbHkg YW5kIGRpc2NvdmVyIHRoYXQKPiA+IHRoZXJlJ3MgYSBtaXNtYXRjaC4gV2hpY2ggbWVhbnMgd2Un bGwganVzdCBkbyB0aGUgcGxhbmUgdXBkYXRlICh3aGljaAo+ID4gbWlnaHQgZG8gYSBmZXcgc2ls bHkgbW1pb3MgYnV0IHNob3VsZG4ndCBibG9jaykgYW5kIHRoYXQncyBpdC4KPiA+Cj4gPiBBdCBs ZWFzdCB0aGF0J3Mgd2hhdCBJJ2QgZXhwZWN0IC0gd2hlcmUgZG9lcyB0aGlzIGZhbGwgYXBhcnQ/ Cj4gSWYgY3J0YyBpcyBhY3RpdmUgYW5kIHByaW1hcnkgZmIgdmlzaWJsZSwgYW5kIGNvbnZlcnRl ZCB0byBhdG9taWM6Cj4gCj4gcmVzdG9yZV9mYmRldl9tb2RlKCkgLT4KPiAJZHJtX21vZGVfcGxh bmVfc2V0X29ial9wcm9wKCkgLT4KPiAJCWRybV9hdG9taWNfaGVscGVyX3BsYW5lX3NldF9wcm9w ZXJ0eSgpIC0+Cj4gCQkJZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoKSAtPgo+IAkJCQlkcm1f YXRvbWljX2dldF9jcnRjX3N0YXRlKCkKPiBjcnRjIHN0YXRlIGlzIHBhcnQgb2YgdGhlIHN0YXRl LCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnIHBlcmZvcm1zCj4gdGhlIGluaXRpYWwgY2hlY2sg aWYgbW9kZXNldCdzIG5lZWRlZC4gTGV0cyBhc3N1bWUgeWVzOgoKIkxldCdzIGFzc3VtZSB5ZXMi IC0+IHRoYXQncyBpbW8gYSBidWcsIHNvIHdoZXJlIGRvZXMgdGhpcyBoYXBwZW4gc28gdGhhdAp3 ZSBjYW4gZml4IGl0PyBEaXNhYmxpbmcgYSBwbGFuZSBvciBzZXR0aW5nIGEgcGxhbmUgcHJvcCBy ZWFsbHkgc2hvdWxkbid0CnJlc3VsdCBpbiBhIG1vZGVzZXQuIFdlbGwgYXQgbGVhc3QgaWYgaXQn cyBub3QgYSBwbGFuZSBwcm9wIHRoYXQgZG9lcwpyZXF1aXJlZCBhIG1vZGVzZXQgKGJ1dCBJIGRv bid0IHRoaW5rIHdlIGhhdmUgYW55IG9mIHRob3NlKS4KLURhbmllbAotLSAKRGFuaWVsIFZldHRl cgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwu Y2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK