From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [Intel-gfx] [v2 1/2] drm: Add colorspace property Date: Fri, 2 Nov 2018 10:19:10 +0100 Message-ID: <680667e1-cc0b-e67c-6ce1-dff30a3dd91a@linux.intel.com> References: <1540987546-3142-1-git-send-email-uma.shankar@intel.com> <1540987546-3142-2-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1540987546-3142-2-git-send-email-uma.shankar@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Uma Shankar , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org T3AgMzEtMTAtMTggb20gMTM6MDUgc2NocmVlZiBVbWEgU2hhbmthcjoKPiBUaGlzIHBhdGNoIGFk ZHMgYSBjb2xvcnNwYWNlIHByb3BlcnR5IGVuYWJsaW5nCj4gdXNlcnNwYWNlIHRvIHN3aXRjaCB0 byB2YXJpb3VzIHN1cHBvcnRlZCBjb2xvcnNwYWNlcy4KPiBUaGlzIHdpbGwgaGVscCBlbmFibGUg QlQyMDIwIGFsb25nIHdpdGggb3RoZXIgY29sb3JzcGFjZXMuCj4KPiB2MjogQWRkcmVzc2VkIE1h YXJ0ZW4gYW5kIFZpbGxlJ3MgcmV2aWV3IGNvbW1lbnRzLiBFbmhhbmNlZAo+IHRoZSBjb2xvcnNw YWNlIGVudW0gdG8gaW5jb3Jwb3JhdGUgYm90aCBIRE1JIGFuZCBEUCBzdXBwb3J0ZWQKPiBjb2xv cnNwYWNlcy4gQWxzbywgYWRkZWQgYSBkZWZhdWx0IG9wdGlvbiBmb3IgY29sb3JzcGFjZS4KPgo+ IFNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+Cj4gLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyB8ICA0ICsrKysKPiAgZHJpdmVy cy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgIHwgNDQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCj4gIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICB8ICA3 ICsrKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggICAgIHwgIDYgKysrKysr Cj4gIGluY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCAgICAgICB8IDI0ICsrKysrKysrKysrKysr KysrKysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmMKPiBpbmRleCBkNWI3ZjMxLi45ZTFkNDZiIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX3VhcGkuYwo+IEBAIC03MjEsNiArNzIxLDggQEAgc3RhdGljIGludCBkcm1f YXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiAgCQlzdGF0ZS0+cGljdHVyZV9hc3BlY3RfcmF0aW8gPSB2YWw7Cj4gIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbmZpZy0+Y29udGVudF90eXBlX3Byb3BlcnR5KSB7Cj4gIAkJc3Rh dGUtPmNvbnRlbnRfdHlwZSA9IHZhbDsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmln LT5jb2xvcnNwYWNlX3Byb3BlcnR5KSB7Cj4gKwkJc3RhdGUtPmNvbG9yc3BhY2UgPSB2YWw7Cj4g IAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+c2NhbGluZ19tb2RlX3Byb3BlcnR5 KSB7Cj4gIAkJc3RhdGUtPnNjYWxpbmdfbW9kZSA9IHZhbDsKPiAgCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29ubmVjdG9yLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsKPiBAQCAtNzk1 LDYgKzc5Nyw4IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJKnZhbCA9IHN0YXRlLT5waWN0 dXJlX2FzcGVjdF9yYXRpbzsKPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250 ZW50X3R5cGVfcHJvcGVydHkpIHsKPiAgCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfdHlwZTsKPiAr CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb2xvcnNwYWNlX3Byb3BlcnR5KSB7Cj4g KwkJKnZhbCA9IHN0YXRlLT5jb2xvcnNwYWNlOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBj b25uZWN0b3ItPnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSBzdGF0ZS0+c2Nh bGluZ19tb2RlOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbnRlbnRf cHJvdGVjdGlvbl9wcm9wZXJ0eSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+IGluZGV4IGFh MThiMWQuLjVhZDUyYTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiBAQCAtODI2LDYg KzgyNiwzOCBAQCBpbnQgZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMoc3RydWN0IGRy bV9kaXNwbGF5X2luZm8gKmluZm8sCj4gIH07Cj4gIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9j b250ZW50X3Byb3RlY3Rpb25fbmFtZSwgZHJtX2NwX2VudW1fbGlzdCkKPiAgCj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGNvbG9yc3BhY2VbXSA9IHsKPiArCS8qIFN0 YW5kYXJkIERlZmluaXRpb24gQ29sb3JpbWV0cnkgYmFzZWQgb24gQ0VBIDg2MSAqLwo+ICsJeyBD T0xPUklNRVRSWV9JVFVfNjAxLCAiNjAxIiB9LAo+ICsJeyBDT0xPUklNRVRSWV9JVFVfNzA5LCAi NzA5IiB9LAo+ICsJLyogU3RhbmRhcmQgRGVmaW5pdGlvbiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJ RUMgNjE5NjYtMi00ICovCj4gKwl7IENPTE9SSU1FVFJZX1hWX1lDQ182MDEsICI2MDEiIH0sCj4g KwkvKiBIaWdoIERlZmluaXRpb24gQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTItNCAq Lwo+ICsJeyBDT0xPUklNRVRSWV9YVl9ZQ0NfNzA5LCAiNzA5IiB9LAoyIGRlZmluaXRpb25zIHRo YXQgc2hhcmUgdGhlIHNhbWUgbmFtZT8KQWxsIGluIGFsbCwgSSB0aGluayB0aGUgZW51bSBzdHJp bmdzIG5lZWQgdG8gYmUgbW9yZSBkZXNjcmlwdGl2ZSBhbmQgc2VsZi1jb25zaXN0ZW50Lgo+ICsJ LyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTItMS9BbWVuZG1lbnQgMSAqLwo+ICsJ eyBDT0xPUklNRVRSWV9TX1lDQ182MDEsICJzNjAxIiB9LAo+ICsJLyogQ29sb3JpbWV0cnkgYmFz ZWQgb24gSUVDIDYxOTY2LTItNSBbMzNdICovCj4gKwl7IENPTE9SSU1FVFJZX0FET0JFX1lDQ182 MDEsICJhZG9iZTYwMSIgfSwKPiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0y LTUgKi8KPiArCXsgQ09MT1JJTUVUUllfQURPQkVfUkdCLCAiYWRvYmVfcmdiIiB9LAo+ICsJLyog Q29sb3JpbWV0cnkgYmFzZWQgb24gSVRVLVIgQlQuMjAyMCAqLwo+ICsJeyBDT0xPUklNRVRSWV9C VDIwMjBfUkdCLCAiQlQyMDIwX3JnYiIgfSwKPiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElU VS1SIEJULjIwMjAgKi8KPiArCXsgQ09MT1JJTUVUUllfQlQyMDIwX1lDQywgIkJUMjAyMF95Y2Mi IH0sCj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJVFUtUiBCVC4yMDIwICovCj4gKwl7IENP TE9SSU1FVFJZX0JUMjAyMF9DWUNDLCAiQlQyMDIwX2N5Y2MiIH0sCj4gKwkvKiBEUCBNU0EgQ29s b3JpbWV0cnkgKi8KPiArCXsgQ09MT1JJTUVUUllfWV9DQkNSX0lUVV82MDEsICJZQ0JDUl9JVFVf NjAxIiB9LAo+ICsJeyBDT0xPUklNRVRSWV9ZX0NCQ1JfSVRVXzcwOSwgIllDQkNSX0lUVV83MDki IH0sCj4gKwl7IENPTE9SSU1FVFJZX1NSR0IsICJTUkdCIiB9LApzUkdCCj4gKwl7IENPTE9SSU1F VFJZX1JHQl9XSURFX0dBTVVULCAiUkdCIFdpZGUgR2FtdXQiIH0sCj4gKwl7IENPTE9SSU1FVFJZ X1NDUkdCLCAiU0NSR0IiIH0sCnNjUkdCPwo+ICsJeyBDT0xPUklNRVRSWV9EQ0lfUDMsICJEQ0lQ MyIgfSwKRENJLVAzPwo+ICsJeyBDT0xPUklNRVRSWV9DVVNUT01fQ09MT1JfUFJPRklMRSwgIkN1 c3RvbSBQcm9mbGllIiB9LApeVHlwbwo+ICsJLyogRk9SIEhEIDcyMHArLCBEZWZhdWx0IENvbG9y aW1ldHJ5IGlzIGJhc2VkIG9uIElUVS1SIEJULjcwOSAqLwo+ICsJeyBDT0xPUklNRVRSWV9ERUZB VUxULCAiRGVmYXVsdDogSVRVXzcwOSIgfSwKVGhpcyBlbnVtIHRvZ2V0aGVyIHdpdGggdGhlIGNv ZGUgYmVsb3cgaXMgYnJva2VuLgoKKwlDT0xPUklNRVRSWV9ERUZBVUxUID0gQ09MT1JJTUVUUllf SVRVXzcwOSwKCkkgd291bGQganVzdCBtYWtlIGl0IENPTE9SSU1FVFJZX1VOU0VUID0gIlVuc2V0 Ii4KClRvIHNldCB0aGUgZGVmYXVsdCBjb2xvcmltZXRyeSBmb3IgYWxsIGRyaXZlcnMsIGp1c3Qg bWFrZSB0aGUgZGVmYXVsdCB2YWx1ZSAwIChwcmVmZXJyZWQpLApvciBhZGQgaXQgdG8gX19kcm1f YXRvbWljX2hlbHBlcl9jb25uZWN0b3JfcmVzZXQoKS4KCj4gK307Cj4gKwo+ICAvKioKPiAgICog RE9DOiBzdGFuZGFyZCBjb25uZWN0b3IgcHJvcGVydGllcwo+ICAgKgo+IEBAIC05NzIsNiArMTAw NCwxMiBAQCBpbnQgZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMoc3RydWN0IGRybV9k aXNwbGF5X2luZm8gKmluZm8sCj4gICAqCWNhbiBhbHNvIGV4cG9zZSB0aGlzIHByb3BlcnR5IHRv IGV4dGVybmFsIG91dHB1dHMsIGluIHdoaWNoIGNhc2UgdGhleQo+ICAgKgltdXN0IHN1cHBvcnQg Ik5vbmUiLCB3aGljaCBzaG91bGQgYmUgdGhlIGRlZmF1bHQgKHNpbmNlIGV4dGVybmFsIHNjcmVl bnMKPiAgICoJaGF2ZSBhIGJ1aWx0LWluIHNjYWxlcikuCj4gKyAqCj4gKyAqIGNvbG9yc3BhY2U6 Cj4gKyAqCVRoaXMgcHJvcGVydHkgaGVscHMgc2VsZWN0IGEgc3VpdGFibGUgY29sb3JzcGFjZSBi YXNlZCBvbiB0aGUgc2luawo+ICsgKgljYXBhYmlsaXR5LiBNb2Rlcm4gc2luayBkZXZpY2VzIHN1 cHBvcnQgd2lkZXIgZ2FtdXQgbGlrZSBCVDIwMjAuCj4gKyAqCVRoaXMgaGVscHMgc3dpdGNoIHRv IEJUMjAyMCBtb2RlIGlmIHRoZSBCVDIwMjAgZW5jb2RlZCB2aWRlbyBzdHJlYW0KPiArICoJaXMg YmVpbmcgcGxheWVkIGJ5IHRoZSB1c2VyLCBzYW1lIGZvciBhbnkgb3RoZXIgY29sb3JzcGFjZS4K PiAgICovCj4gIAo+ICBpbnQgZHJtX2Nvbm5lY3Rvcl9jcmVhdGVfc3RhbmRhcmRfcHJvcGVydGll cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IEBAIC0xMDIwLDYgKzEwNTgsMTIgQEAgaW50IGRy bV9jb25uZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCQlyZXR1cm4gLUVOT01FTTsKPiAgCWRldi0+bW9kZV9jb25maWcubm9uX2Rlc2t0 b3BfcHJvcGVydHkgPSBwcm9wOwo+ICAKPiArCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2Vu dW0oZGV2LCBEUk1fTU9ERV9QUk9QX0VOVU0sICJDb2xvcnNwYWNlIiwKPiArCQkJCQljb2xvcnNw YWNlLCBBUlJBWV9TSVpFKGNvbG9yc3BhY2UpKTsKPiArCWlmICghcHJvcCkKPiArCQlyZXR1cm4g LUVOT01FTTsKPiArCWRldi0+bW9kZV9jb25maWcuY29sb3JzcGFjZV9wcm9wZXJ0eSA9IHByb3A7 Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IGluZGV4IGRkMDU1 MmMuLmI3ZjUzNzMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4g KysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gQEAgLTQ5Nyw2ICs0OTcsMTMgQEAg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewo+ICAJdW5zaWduZWQgaW50IGNvbnRlbnRfcHJv dGVjdGlvbjsKPiAgCj4gIAkvKioKPiArCSAqIEBjb2xvcnNwYWNlOiBDb25uZWN0b3IgcHJvcGVy dHkgdG8gcmVxdWVzdCBjb2xvcnNwYWNlCj4gKwkgKiBjaGFuZ2UuIFRoaXMgaXMgbW9zdCBjb21t b25seSB1c2VkIHRvIHN3aXRjaCB0byB3aWRlciBjb2xvcgo+ICsJICogZ2FtdXRzIGxpa2UgQlQy MDIwLgo+ICsJICovCj4gKwllbnVtIGVuY29kZXJfY29sb3JpbWV0cnkgY29sb3JzcGFjZTsKPiAr Cj4gKwkvKioKPiAgCSAqIEB3cml0ZWJhY2tfam9iOiBXcml0ZWJhY2sgam9iIGZvciB3cml0ZWJh Y2sgY29ubmVjdG9ycwo+ICAJICoKPiAgCSAqIEhvbGRzIHRoZSBmcmFtZWJ1ZmZlciBhbmQgb3V0 LWZlbmNlIGZvciBhIHdyaXRlYmFjayBjb25uZWN0b3IuIEFzCj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgK PiBpbmRleCBkNjQzZDI2Li5hNmViMGFhIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9t b2RlX2NvbmZpZy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiBAQCAt ODYzLDYgKzg2MywxMiBAQCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnIHsKPiAgCXVpbnQzMl90IGN1 cnNvcl93aWR0aCwgY3Vyc29yX2hlaWdodDsKPiAgCj4gIAkvKioKPiArCSAqIEBjb2xvcnNwYWNl X3Byb3BlcnR5OiBDb25uZWN0b3IgcHJvcGVydHkgdG8gc2V0IHRoZSBzdWl0YWJsZQo+ICsJICog Y29sb3JzcGFjZSBzdXBwb3J0ZWQgYnkgdGhlIHNpbmsuCj4gKwkgKi8KPiArCXN0cnVjdCBkcm1f cHJvcGVydHkgKmNvbG9yc3BhY2VfcHJvcGVydHk7Cj4gKwo+ICsJLyoqCj4gIAkgKiBAc3VzcGVu ZF9zdGF0ZToKPiAgCSAqCj4gIAkgKiBBdG9taWMgc3RhdGUgd2hlbiBzdXNwZW5kZWQuCj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0v ZHJtX21vZGUuaAo+IGluZGV4IGQzZTBmZTMuLjgzMWNjNzcgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVk ZS91YXBpL2RybS9kcm1fbW9kZS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5o Cj4gQEAgLTIxMCw2ICsyMTAsMzAgQEAKPiAgI2RlZmluZSBEUk1fTU9ERV9DT05URU5UX1BST1RF Q1RJT05fREVTSVJFRCAgICAgMQo+ICAjZGVmaW5lIERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElP Tl9FTkFCTEVEICAgICAyCj4gIAo+ICtlbnVtIGVuY29kZXJfY29sb3JpbWV0cnkgewo+ICsJLyog Q0VBIDg2MSBOb3JtYWwgQ29sb3JpbWV0cnkgb3B0aW9ucyAqLwo+ICsJQ09MT1JJTUVUUllfSVRV XzYwMSA9IDAsCj4gKwlDT0xPUklNRVRSWV9JVFVfNzA5LAo+ICsJLyogQ0VBIDg2MSBFeHRlbmRl ZCBDb2xvcmltZXRyeSBPcHRpb25zICovCj4gKwlDT0xPUklNRVRSWV9YVl9ZQ0NfNjAxLAo+ICsJ Q09MT1JJTUVUUllfWFZfWUNDXzcwOSwKPiArCUNPTE9SSU1FVFJZX1NfWUNDXzYwMSwKPiArCUNP TE9SSU1FVFJZX0FET0JFX1lDQ182MDEsCj4gKwlDT0xPUklNRVRSWV9BRE9CRV9SR0IsCj4gKwlD T0xPUklNRVRSWV9CVDIwMjBfUkdCLAo+ICsJQ09MT1JJTUVUUllfQlQyMDIwX1lDQywKPiArCUNP TE9SSU1FVFJZX0JUMjAyMF9DWUNDLAo+ICsJLyogRFAgTVNBIENvbG9yaW1ldHJ5IE9wdGlvbnMg Ki8KPiArCUNPTE9SSU1FVFJZX1lfQ0JDUl9JVFVfNjAxLAo+ICsJQ09MT1JJTUVUUllfWV9DQkNS X0lUVV83MDksCj4gKwlDT0xPUklNRVRSWV9TUkdCLAo+ICsJQ09MT1JJTUVUUllfUkdCX1dJREVf R0FNVVQsCj4gKwlDT0xPUklNRVRSWV9TQ1JHQiwKPiArCUNPTE9SSU1FVFJZX0RDSV9QMywKPiAr CUNPTE9SSU1FVFJZX0NVU1RPTV9DT0xPUl9QUk9GSUxFLAo+ICsJQ09MT1JJTUVUUllfREVGQVVM VCA9IENPTE9SSU1FVFJZX0lUVV83MDksCj4gK307Cj4gKwo+ICBzdHJ1Y3QgZHJtX21vZGVfbW9k ZWluZm8gewo+ICAJX191MzIgY2xvY2s7Cj4gIAlfX3UxNiBoZGlzcGxheTsKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK