From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v9 01/13] drm: Add HDR source metadata property Date: Thu, 9 May 2019 00:08:41 +0530 Message-ID: <1557340733-9629-2-git-send-email-uma.shankar@intel.com> References: <1557340733-9629-1-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: <1557340733-9629-1-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: dcastagna@chromium.org, jonas@kwiboo.se, emil.l.velikov@gmail.com, Uma Shankar , seanpaul@chromium.org, ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGEgYmxvYiBwcm9wZXJ0eSB0byBnZXQgSERSIG1ldGFkYXRhCmluZm9y bWF0aW9uIGZyb20gdXNlcnNwYWNlLiBUaGlzIHdpbGwgYmUgc2VuZCBhcyBwYXJ0Cm9mIEFWSSBJ bmZvZnJhbWUgdG8gcGFuZWwuCgpJdCBhbHNvIGltcGxlbWVudHMgZ2V0KCkgYW5kIHNldCgpIGZ1 bmN0aW9ucyBmb3IgSERSIG91dHB1dAptZXRhZGF0YSBwcm9wZXJ0eS5UaGUgYmxvYiBkYXRhIGlz IHJlY2VpdmVkIGZyb20gdXNlcnNwYWNlIGFuZApzYXZlZCBpbiBjb25uZWN0b3Igc3RhdGUsIHRo ZSBzYW1lIGlzIHJldHVybmVkIGFzIGJsb2IgaW4gZ2V0CnByb3BlcnR5IGNhbGwgdG8gdXNlcnNw YWNlLgoKdjI6IFJlYmFzZSBhbmQgbW9kaWZpZWQgdGhlIG1ldGFkYXRhIHN0cnVjdHVyZSBlbGVt ZW50cwphcyBwZXIgVmlsbGUncyBQT0MgY2hhbmdlcy4KCnYzOiBObyBDaGFuZ2UKCnY0OiBBZGRy ZXNzZWQgU2hhc2hhbmsncyByZXZpZXcgY29tbWVudHMKCnY1OiBSZWJhc2UuCgp2NjogQWRkcmVz c2VkIEJyaWFuIFN0YXJrZXkncyByZXZpZXcgY29tbWVudHMsIGRlZmluZWQKbmV3IHN0cnVjdHVy ZSB3aXRoIGhlYWRlciBmb3IgZHluYW1pYyBtZXRhZGF0YSBzY2FsYWJpbGl0eS4KTWVyZ2UgZ2V0 L3NldCBwcm9wZXJ0eSBmdW5jdGlvbnMgZm9yIG1ldGFkYXRhIGluIHRoaXMgcGF0Y2guCgp2Nzog QWRkcmVzc2VkIEpvbmFzIEthcmxtYW4gcmV2aWV3IGNvbW1lbnRzIGFuZCBkZWZpbmVkIHNlcGFy YXRlCnN0cnVjdHVyZSBmb3IgaW5mb2ZyYW1lIHRvIGJldHRlciBhbGlnbiB3aXRoIENUQSA4NjEu RyBzcGVjLiBBZGRlZApTaGFzaGFuaydzIFJCLgoKdjg6IEFkZHJlc3NlZCBWaWxsZSdzIHJldmll dyBjb21tZW50cy4gTW92ZWQgc2luayBtZXRhZGF0YSBzdHJ1Y3R1cmUKb3V0IG9mIHVhcGkgaGVh ZGVycyBhcyBzdWdnZXN0ZWQgYnkgSm9uYXMgS2FybG1hbi4KClNpZ25lZC1vZmYtYnk6IFVtYSBT aGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBTaGFzaGFuayBTaGFy bWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYyAgICAgIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyB8 IDEzICsrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICB8ICA2 ICsrKysrKwogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgIHwgMTEgKysrKysrKysr KysKIGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICB8ICA2ICsrKysrKwogaW5jbHVk ZS9saW51eC9oZG1pLmggICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysr KysKIGluY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCAgICAgICB8IDIzICsrKysrKysrKysrKysr KysrKysrKysrCiA3IGZpbGVzIGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYwppbmRleCA1ZWI0MDEzLi44YjljMTI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAgLTg4MSw2 ICs4ODEsOCBAQCBzdGF0aWMgdm9pZCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9wcmludF9zdGF0ZShz dHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCiAKIAlkcm1fcHJpbnRmKHAsICJjb25uZWN0b3JbJXVdOiAl c1xuIiwgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOwogCWRybV9wcmludGYo cCwgIlx0Y3J0Yz0lc1xuIiwgc3RhdGUtPmNydGMgPyBzdGF0ZS0+Y3J0Yy0+bmFtZSA6ICIobnVs bCkiKTsKKwlkcm1fcHJpbnRmKHAsICJcdGhkcl9tZXRhZGF0YV9jaGFuZ2VkPSVkXG4iLAorCQkg ICBzdGF0ZS0+aGRyX21ldGFkYXRhX2NoYW5nZWQpOwogCiAJaWYgKGNvbm5lY3Rvci0+Y29ubmVj dG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX1dSSVRFQkFDSykKIAkJaWYgKHN0YXRlLT53 cml0ZWJhY2tfam9iICYmIHN0YXRlLT53cml0ZWJhY2tfam9iLT5mYikKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX3VhcGkuYwppbmRleCA0MjhkODI2Li4yZWNjNzllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY191YXBpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf dWFwaS5jCkBAIC02NzYsNiArNjc2LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rv cl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7CiAJc3RydWN0IGRybV9tb2RlX2Nv bmZpZyAqY29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7CisJYm9vbCByZXBsYWNlZCA9IGZhbHNl OworCWludCByZXQ7CiAKIAlpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2NydGNfaWQpIHsK IAkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gZHJtX2NydGNfZmluZChkZXYsIGZpbGVfcHJpdiwg dmFsKTsKQEAgLTcyNiw2ICs3MjgsMTQgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rv cl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJICovCiAJ CWlmIChzdGF0ZS0+bGlua19zdGF0dXMgIT0gRFJNX0xJTktfU1RBVFVTX0dPT0QpCiAJCQlzdGF0 ZS0+bGlua19zdGF0dXMgPSB2YWw7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmhk cl9vdXRwdXRfbWV0YWRhdGFfcHJvcGVydHkpIHsKKwkJcmV0ID0gZHJtX2F0b21pY19yZXBsYWNl X3Byb3BlcnR5X2Jsb2JfZnJvbV9pZChkZXYsCisJCQkJJnN0YXRlLT5oZHJfb3V0cHV0X21ldGFk YXRhLAorCQkJCXZhbCwKKwkJCQktMSwgc2l6ZW9mKHN0cnVjdCBoZHJfb3V0cHV0X21ldGFkYXRh KSwKKwkJCQkmcmVwbGFjZWQpOworCQlzdGF0ZS0+aGRyX21ldGFkYXRhX2NoYW5nZWQgfD0gcmVw bGFjZWQ7CisJCXJldHVybiByZXQ7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmFz cGVjdF9yYXRpb19wcm9wZXJ0eSkgewogCQlzdGF0ZS0+cGljdHVyZV9hc3BlY3RfcmF0aW8gPSB2 YWw7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmNvbnRlbnRfdHlwZV9wcm9wZXJ0 eSkgewpAQCAtODE0LDYgKzgyNCw5IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jf c2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCSp2YWwgPSBz dGF0ZS0+Y29sb3JzcGFjZTsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+c2Nh bGluZ19tb2RlX3Byb3BlcnR5KSB7CiAJCSp2YWwgPSBzdGF0ZS0+c2NhbGluZ19tb2RlOworCX0g ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5oZHJfb3V0cHV0X21ldGFkYXRhX3Byb3BlcnR5 KSB7CisJCSp2YWwgPSBzdGF0ZS0+aGRyX291dHB1dF9tZXRhZGF0YSA/CisJCQlzdGF0ZS0+aGRy X291dHB1dF9tZXRhZGF0YS0+YmFzZS5pZCA6IDA7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBj b25uZWN0b3ItPmNvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSkgewogCQkqdmFsID0gc3RhdGUt PmNvbnRlbnRfcHJvdGVjdGlvbjsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+d3Jp dGViYWNrX2ZiX2lkX3Byb3BlcnR5KSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwppbmRleCBiMzRj M2QzLi4zNjVhY2UwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKQEAgLTEwNTgsNiArMTA1OCwx MiBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9jcmVhdGVfc3RhbmRhcmRfcHJvcGVydGllcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCQlyZXR1cm4gLUVOT01FTTsKIAlkZXYtPm1vZGVfY29uZmlnLm5v bl9kZXNrdG9wX3Byb3BlcnR5ID0gcHJvcDsKIAorCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRl KGRldiwgRFJNX01PREVfUFJPUF9CTE9CLAorCQkJCSAgICJIRFJfT1VUUFVUX01FVEFEQVRBIiwg MCk7CisJaWYgKCFwcm9wKQorCQlyZXR1cm4gLUVOT01FTTsKKwlkZXYtPm1vZGVfY29uZmlnLmhk cl9vdXRwdXRfbWV0YWRhdGFfcHJvcGVydHkgPSBwcm9wOworCiAJcmV0dXJuIDA7CiB9CiAKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9j b25uZWN0b3IuaAppbmRleCBmNDNmNDBkLi5lNTQ2NzRiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCkBAIC02 MDMsNiArNjAzLDEzIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKIAkgKiBhbmQgdGhl IGNvbm5lY3RvciBicGMgbGltaXRhdGlvbnMgb2J0YWluZWQgZnJvbSBlZGlkLgogCSAqLwogCXU4 IG1heF9icGM7CisKKwkvKioKKwkgKiBAbWV0YWRhdGFfYmxvYl9wdHI6CisJICogRFJNIGJsb2Ig cHJvcGVydHkgZm9yIEhEUiBvdXRwdXQgbWV0YWRhdGEKKwkgKi8KKwlzdHJ1Y3QgZHJtX3Byb3Bl cnR5X2Jsb2IgKmhkcl9vdXRwdXRfbWV0YWRhdGE7CisJdTggaGRyX21ldGFkYXRhX2NoYW5nZWQg OiAxOwogfTsKIAogLyoqCkBAIC0xMjQzLDYgKzEyNTAsMTAgQEAgc3RydWN0IGRybV9jb25uZWN0 b3IgewogCSAqICZkcm1fbW9kZV9jb25maWcuY29ubmVjdG9yX2ZyZWVfd29yay4KIAkgKi8KIAlz dHJ1Y3QgbGxpc3Rfbm9kZSBmcmVlX25vZGU7CisKKwkvKiBIRFIgbWV0ZGF0YSAqLworCXN0cnVj dCBoZHJfb3V0cHV0X21ldGFkYXRhIGhkcl9vdXRwdXRfbWV0YWRhdGE7CisJc3RydWN0IGhkcl9z aW5rX21ldGFkYXRhIGhkcl9zaW5rX21ldGFkYXRhOwogfTsKIAogI2RlZmluZSBvYmpfdG9fY29u bmVjdG9yKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciwgYmFzZSkKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0vZHJt X21vZGVfY29uZmlnLmgKaW5kZXggN2Y2MGU4ZS4uZWYyNjU2YiAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmln LmgKQEAgLTgzNiw2ICs4MzYsMTIgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7CiAJICovCiAJ c3RydWN0IGRybV9wcm9wZXJ0eSAqd3JpdGViYWNrX291dF9mZW5jZV9wdHJfcHJvcGVydHk7CiAK KwkvKgorCSAqIGhkcl9tZXRhZGF0YV9wcm9wZXJ0eTogQ29ubmVjdG9yIHByb3BlcnR5IGNvbnRh aW5pbmcgaGRyIG1ldGF0ZGEKKwkgKiBUaGlzIHdpbGwgYmUgcHJvdmlkZWQgYnkgdXNlcnNwYWNl IGNvbXBvc2l0b3JzIGJhc2VkIG9uIEhEUiBjb250ZW50CisJICovCisJc3RydWN0IGRybV9wcm9w ZXJ0eSAqaGRyX291dHB1dF9tZXRhZGF0YV9wcm9wZXJ0eTsKKwogCS8qIGR1bWIgaW9jdGwgcGFy YW1ldGVycyAqLwogCXVpbnQzMl90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVyX3NoYWRvdzsKIApk aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9oZG1pLmggYi9pbmNsdWRlL2xpbnV4L2hkbWkuaApp bmRleCA5MjdhZDY0Li42NzgwNDc2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2hkbWkuaAor KysgYi9pbmNsdWRlL2xpbnV4L2hkbWkuaApAQCAtMTUyLDYgKzE1MiwxNiBAQCBlbnVtIGhkbWlf Y29udGVudF90eXBlIHsKIAlIRE1JX0NPTlRFTlRfVFlQRV9HQU1FLAogfTsKIAorZW51bSBoZG1p X21ldGFkYXRhX3R5cGUgeworCUhETUlfU1RBVElDX01FVEFEQVRBX1RZUEUxID0gMSwKK307CisK K2VudW0gaGRtaV9lb3RmIHsKKwlIRE1JX0VPVEZfVFJBRElUSU9OQUxfR0FNTUFfU0RSLAorCUhE TUlfRU9URl9UUkFESVRJT05BTF9HQU1NQV9IRFIsCisJSERNSV9FT1RGX1NNUFRFX1NUMjA4NCwK K307CisKIHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgewogCWVudW0gaGRtaV9pbmZvZnJhbWVf dHlwZSB0eXBlOwogCXVuc2lnbmVkIGNoYXIgdmVyc2lvbjsKQEAgLTMyMCw2ICszMzAsMjIgQEAg c3RydWN0IGhkbWlfdmVuZG9yX2luZm9mcmFtZSB7CiAJdW5zaWduZWQgaW50IHMzZF9leHRfZGF0 YTsKIH07CiAKKy8qIEhEUiBNZXRhZGF0YSBhcyBwZXIgODYxLkcgc3BlYyAqLworc3RydWN0IGhk cl9zdGF0aWNfbWV0YWRhdGEgeworCV9fdTggZW90ZjsKKwlfX3U4IG1ldGFkYXRhX3R5cGU7CisJ X191MTYgbWF4X2NsbDsKKwlfX3UxNiBtYXhfZmFsbDsKKwlfX3UxNiBtaW5fY2xsOworfTsKKwor c3RydWN0IGhkcl9zaW5rX21ldGFkYXRhIHsKKwlfX3UzMiBtZXRhZGF0YV90eXBlOworCXVuaW9u IHsKKwkJc3RydWN0IGhkcl9zdGF0aWNfbWV0YWRhdGEgaGRtaV90eXBlMTsKKwl9OworfTsKKwog aW50IGhkbWlfdmVuZG9yX2luZm9mcmFtZV9pbml0KHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJh bWUgKmZyYW1lKTsKIHNzaXplX3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGhk bWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCiAJCQkJICAgdm9pZCAqYnVmZmVyLCBzaXplX3Qg c2l6ZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRl L3VhcGkvZHJtL2RybV9tb2RlLmgKaW5kZXggODNjZDE2My4uOTk3YTdlMCAxMDA2NDQKLS0tIGEv aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21v ZGUuaApAQCAtNjMwLDYgKzYzMCwyOSBAQCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCB7CiAJX191MTYg cmVzZXJ2ZWQ7CiB9OwogCisvKiBIRFIgTWV0YWRhdGEgSW5mb2ZyYW1lIGFzIHBlciA4NjEuRyBz cGVjICovCitzdHJ1Y3QgaGRyX21ldGFkYXRhX2luZm9mcmFtZSB7CisJX191OCBlb3RmOworCV9f dTggbWV0YWRhdGFfdHlwZTsKKwlzdHJ1Y3QgeworCQlfX3UxNiB4LCB5OworCQl9IGRpc3BsYXlf cHJpbWFyaWVzWzNdOworCXN0cnVjdCB7CisJCV9fdTE2IHgsIHk7CisJCX0gd2hpdGVfcG9pbnQ7 CisJX191MTYgbWF4X2Rpc3BsYXlfbWFzdGVyaW5nX2x1bWluYW5jZTsKKwlfX3UxNiBtaW5fZGlz cGxheV9tYXN0ZXJpbmdfbHVtaW5hbmNlOworCV9fdTE2IG1heF9jbGw7CisJX191MTYgbWF4X2Zh bGw7Cit9OworCitzdHJ1Y3QgaGRyX291dHB1dF9tZXRhZGF0YSB7CisJX191MzIgbWV0YWRhdGFf dHlwZTsKKwl1bmlvbiB7CisJCXN0cnVjdCBoZHJfbWV0YWRhdGFfaW5mb2ZyYW1lIGhkbWlfbWV0 YWRhdGFfdHlwZTE7CisJfTsKK307CisKICNkZWZpbmUgRFJNX01PREVfUEFHRV9GTElQX0VWRU5U IDB4MDEKICNkZWZpbmUgRFJNX01PREVfUEFHRV9GTElQX0FTWU5DIDB4MDIKICNkZWZpbmUgRFJN X01PREVfUEFHRV9GTElQX1RBUkdFVF9BQlNPTFVURSAweDQKLS0gCjEuOS4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=