From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v6 3/3] drm/i915/icl: Implement half float formats Date: Wed, 13 Mar 2019 12:17:49 +0100 Message-ID: References: <1552437513-22648-1-git-send-email-kevin.strasser@intel.com> <1552437513-22648-4-git-send-email-kevin.strasser@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Kevin Strasser , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: David Airlie , Daniel Vetter , Adam Jackson List-Id: dri-devel@lists.freedesktop.org T3AgMTMtMDMtMjAxOSBvbSAwODoyNSBzY2hyZWVmIE1hYXJ0ZW4gTGFua2hvcnN0Ogo+IE9wIDEz LTAzLTIwMTkgb20gMDE6Mzggc2NocmVlZiBLZXZpbiBTdHJhc3NlcjoKPj4gNjQgYnBwIGhhbGYg ZmxvYXQgZm9ybWF0cyBhcmUgc3VwcG9ydGVkIG9uIGhkciBwbGFuZXMgb25seSBhbmQgYXJlIHN1 YmplY3QKPj4gdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6Cj4+ICAgKiA5MC8yNzAgcm90 YXRpb24gbm90IHN1cHBvcnRlZAo+PiAgICogWWYgVGlsaW5nIG5vdCBzdXBwb3J0ZWQKPj4gICAq IEZyYW1lIEJ1ZmZlciBDb21wcmVzc2lvbiBub3Qgc3VwcG9ydGVkCj4+ICAgKiBDb2xvciBLZXlp bmcgbm90IHN1cHBvcnRlZAo+Pgo+PiB2MjoKPj4gLSBEcm9wIGhhbmRsaW5nIHBpeGVsIG5vcm1h bGl6ZSByZWdpc3Rlcgo+PiAtIERvbid0IHVzZSBpY2xfaXNfaGRyX3BsYW5lIHRvbyBlYXJseQo+ Pgo+PiB2MzoKPj4gLSBVc2UgcmVmYWN0b3JlZCBpY2xfaXNfaGRyX3BsYW5lIChWaWxsZSkKPj4g LSBVc2UgdTMyIGluc3RlYWQgb2YgdWludDMyX3QgKFZpbGxlKQo+Pgo+PiB2NjoKPj4gLSBSZWJh c2UgYW5kIGZpeCBtZXJnZSBjb25mbGljdHMKPj4gLSBSZW9yZ2FuaXplIHN3aXRjaCBzdGF0ZW1l bnRzIHRvIGtlZXAgUkdCIGdyb3VwZWQgc2VwYXJhdGVseSBmcm9tIFlVVgo+Pgo+PiBDYzogVW1h IFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KPj4gQ2M6IFNoYXNoYW5rIFNoYXJtYSA8 c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPj4gQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBs aW51eC5pZT4KPj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4+ IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IFNpZ25lZC1vZmYtYnk6IEtl dmluIFN0cmFzc2VyIDxrZXZpbi5zdHJhc3NlckBpbnRlbC5jb20+Cj4+IFJldmlld2VkLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+PiBSZXZpZXdl ZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KPj4gUmV2aWV3ZWQtYnk6IEFkYW0gSmFja3NvbiA8YWpheEByZWRoYXQuY29tPgo+PiAtLS0K Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDIyICsrKysrKysrKysr Cj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCA3MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0KPj4gIDIgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+PiBpbmRleCA2MGZiZTNhLi5lYWVkZjkxIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCj4+IEBAIC0yNjgwLDYgKzI2ODAsMTggQEAgaW50IHNrbF9mb3JtYXRf dG9fZm91cmNjKGludCBmb3JtYXQsIGJvb2wgcmdiX29yZGVyLCBib29sIGFscGhhKQo+PiAgCQkJ cmV0dXJuIERSTV9GT1JNQVRfWEJHUjIxMDEwMTA7Cj4+ICAJCWVsc2UKPj4gIAkJCXJldHVybiBE Uk1fRk9STUFUX1hSR0IyMTAxMDEwOwo+PiArCWNhc2UgUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzE2 MTYxNjE2RjoKPj4gKwkJaWYgKHJnYl9vcmRlcikgewo+PiArCQkJaWYgKGFscGhhKQo+PiArCQkJ CXJldHVybiBEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkY7Cj4+ICsJCQllbHNlCj4+ICsJCQkJcmV0 dXJuIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2RjsKPj4gKwkJfSBlbHNlIHsKPj4gKwkJCWlmIChh bHBoYSkKPj4gKwkJCQlyZXR1cm4gRFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGOwo+PiArCQkJZWxz ZQo+PiArCQkJCXJldHVybiBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkY7Cj4+ICsJCX0KPj4gIAl9 Cj4+ICB9Cj4+ICAKPj4gQEAgLTM1NzUsNiArMzU4NywxMiBAQCBzdGF0aWMgdTMyIHNrbF9wbGFu ZV9jdGxfZm9ybWF0KHUzMiBwaXhlbF9mb3JtYXQpCj4+ICAJCXJldHVybiBQTEFORV9DVExfRk9S TUFUX1hSR0JfMjEwMTAxMDsKPj4gIAljYXNlIERSTV9GT1JNQVRfWEJHUjIxMDEwMTA6Cj4+ICAJ CXJldHVybiBQTEFORV9DVExfT1JERVJfUkdCWCB8IFBMQU5FX0NUTF9GT1JNQVRfWFJHQl8yMTAx MDEwOwo+PiArCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGOgo+PiArCWNhc2UgRFJNX0ZP Uk1BVF9BQkdSMTYxNjE2MTZGOgo+PiArCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzE2 MTYxNjE2RiB8IFBMQU5FX0NUTF9PUkRFUl9SR0JYOwo+PiArCWNhc2UgRFJNX0ZPUk1BVF9YUkdC MTYxNjE2MTZGOgo+PiArCWNhc2UgRFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGOgo+PiArCQlyZXR1 cm4gUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzE2MTYxNjE2RjsKPj4gIAljYXNlIERSTV9GT1JNQVRf WVVZVjoKPj4gIAkJcmV0dXJuIFBMQU5FX0NUTF9GT1JNQVRfWVVWNDIyIHwgUExBTkVfQ1RMX1lV VjQyMl9ZVVlWOwo+PiAgCWNhc2UgRFJNX0ZPUk1BVF9ZVllVOgo+PiBAQCAtNTE0Myw2ICs1MTYx LDEwIEBAIHN0YXRpYyBpbnQgc2tsX3VwZGF0ZV9zY2FsZXJfcGxhbmUoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+ICAJY2FzZSBEUk1fRk9STUFUX0FSR0I4ODg4Ogo+PiAg CWNhc2UgRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMDoKPj4gIAljYXNlIERSTV9GT1JNQVRfWEJHUjIx MDEwMTA6Cj4+ICsJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkY6Cj4+ICsJY2FzZSBEUk1f Rk9STUFUX0FCR1IxNjE2MTYxNkY6Cj4+ICsJY2FzZSBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkY6 Cj4+ICsJY2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY6Cj4+ICAJY2FzZSBEUk1fRk9STUFU X1lVWVY6Cj4+ICAJY2FzZSBEUk1fRk9STUFUX1lWWVU6Cj4+ICAJY2FzZSBEUk1fRk9STUFUX1VZ Vlk6Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4+IGluZGV4IDYyMjY2OWYuLmUw MDU1OWQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5j Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4+IEBAIC0xNTA4 LDggKzE1MDgsNiBAQCBzdGF0aWMgaW50IHNrbF9wbGFuZV9jaGVja19mYihjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPj4gIAkJLyoKPj4gIAkJICogOTAvMjcwIGlz IG5vdCBhbGxvd2VkIHdpdGggUkdCNjQgMTY6MTY6MTY6MTYgYW5kCj4+ICAJCSAqIEluZGV4ZWQg OC1iaXQuIFJHQiAxNi1iaXQgNTo2OjUgaXMgYWxsb3dlZCBnZW4xMSBvbndhcmRzLgo+PiAtCQkg KiBUQkQ6IEFkZCBSR0I2NCBjYXNlIG9uY2UgaXRzIGFkZGVkIGluIHN1cHBvcnRlZCBmb3JtYXQK Pj4gLQkJICogbGlzdC4KPj4gIAkJICovCj4+ICAJCXN3aXRjaCAoZmItPmZvcm1hdC0+Zm9ybWF0 KSB7Cj4+ICAJCWNhc2UgRFJNX0ZPUk1BVF9SR0I1NjU6Cj4+IEBAIC0xNTE3LDYgKzE1MTUsMTAg QEAgc3RhdGljIGludCBza2xfcGxhbmVfY2hlY2tfZmIoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCj4+ICAJCQkJYnJlYWs7Cj4+ICAJCQkvKiBmYWxsIHRocm91Z2gg Ki8KPj4gIAkJY2FzZSBEUk1fRk9STUFUX0M4Ogo+PiArCQljYXNlIERSTV9GT1JNQVRfWFJHQjE2 MTYxNjE2RjoKPj4gKwkJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkY6Cj4+ICsJCWNhc2Ug RFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGOgo+PiArCQljYXNlIERSTV9GT1JNQVRfQUJHUjE2MTYx NjE2RjoKPj4gIAkJCURSTV9ERUJVR19LTVMoIlVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdCAlcyBm b3IgOTAvMjcwIVxuIiwKPj4gIAkJCQkgICAgICBkcm1fZ2V0X2Zvcm1hdF9uYW1lKGZiLT5mb3Jt YXQtPmZvcm1hdCwKPj4gIAkJCQkJCQkgICZmb3JtYXRfbmFtZSkpOwo+PiBAQCAtMTgzNyw2ICsx ODM5LDMxIEBAIHN0YXRpYyBjb25zdCB1aW50MzJfdCBpY2xfcGxhbmVfZm9ybWF0c1tdID0gewo+ PiAgCURSTV9GT1JNQVRfWTQxNiwKPj4gIH07Cj4+ICAKPj4gK3N0YXRpYyBjb25zdCB1aW50MzJf dCBpY2xfaGRyX3BsYW5lX2Zvcm1hdHNbXSA9IHsKPj4gKwlEUk1fRk9STUFUX0M4LAo+PiArCURS TV9GT1JNQVRfUkdCNTY1LAo+PiArCURSTV9GT1JNQVRfWFJHQjg4ODgsCj4+ICsJRFJNX0ZPUk1B VF9YQkdSODg4OCwKPj4gKwlEUk1fRk9STUFUX0FSR0I4ODg4LAo+PiArCURSTV9GT1JNQVRfQUJH Ujg4ODgsCj4+ICsJRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMCwKPj4gKwlEUk1fRk9STUFUX1hCR1Iy MTAxMDEwLAo+PiArCURSTV9GT1JNQVRfWFJHQjE2MTYxNjE2RiwKPj4gKwlEUk1fRk9STUFUX1hC R1IxNjE2MTYxNkYsCj4+ICsJRFJNX0ZPUk1BVF9BUkdCMTYxNjE2MTZGLAo+PiArCURSTV9GT1JN QVRfQUJHUjE2MTYxNjE2RiwKPj4gKwlEUk1fRk9STUFUX1lVWVYsCj4+ICsJRFJNX0ZPUk1BVF9Z VllVLAo+PiArCURSTV9GT1JNQVRfVVlWWSwKPj4gKwlEUk1fRk9STUFUX1ZZVVksCj4+ICsJRFJN X0ZPUk1BVF9ZMjEwLAo+PiArCURSTV9GT1JNQVRfWTIxMiwKPj4gKwlEUk1fRk9STUFUX1kyMTYs Cj4+ICsJRFJNX0ZPUk1BVF9ZNDEwLAo+PiArCURSTV9GT1JNQVRfWTQxMiwKPj4gKwlEUk1fRk9S TUFUX1k0MTYsCj4+ICt9Owo+PiArCj4+ICBzdGF0aWMgY29uc3QgdTMyIHNrbF9wbGFuYXJfZm9y bWF0c1tdID0gewo+PiAgCURSTV9GT1JNQVRfQzgsCj4+ICAJRFJNX0ZPUk1BVF9SR0I1NjUsCj4+ IEBAIC0xODk3LDYgKzE5MjQsMzUgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IGljbF9wbGFuYXJf Zm9ybWF0c1tdID0gewo+PiAgCURSTV9GT1JNQVRfWTQxNiwKPj4gIH07Cj4+ICAKPj4gK3N0YXRp YyBjb25zdCB1aW50MzJfdCBpY2xfaGRyX3BsYW5hcl9mb3JtYXRzW10gPSB7Cj4+ICsJRFJNX0ZP Uk1BVF9DOCwKPj4gKwlEUk1fRk9STUFUX1JHQjU2NSwKPj4gKwlEUk1fRk9STUFUX1hSR0I4ODg4 LAo+PiArCURSTV9GT1JNQVRfWEJHUjg4ODgsCj4+ICsJRFJNX0ZPUk1BVF9BUkdCODg4OCwKPj4g KwlEUk1fRk9STUFUX0FCR1I4ODg4LAo+PiArCURSTV9GT1JNQVRfWFJHQjIxMDEwMTAsCj4+ICsJ RFJNX0ZPUk1BVF9YQkdSMjEwMTAxMCwKPj4gKwlEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkYsCj4+ ICsJRFJNX0ZPUk1BVF9YQkdSMTYxNjE2MTZGLAo+PiArCURSTV9GT1JNQVRfQVJHQjE2MTYxNjE2 RiwKPj4gKwlEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkYsCj4+ICsJRFJNX0ZPUk1BVF9ZVVlWLAo+ PiArCURSTV9GT1JNQVRfWVZZVSwKPj4gKwlEUk1fRk9STUFUX1VZVlksCj4+ICsJRFJNX0ZPUk1B VF9WWVVZLAo+PiArCURSTV9GT1JNQVRfTlYxMiwKPj4gKwlEUk1fRk9STUFUX1AwMTAsCj4+ICsJ RFJNX0ZPUk1BVF9QMDEyLAo+PiArCURSTV9GT1JNQVRfUDAxNiwKPj4gKwlEUk1fRk9STUFUX1ky MTAsCj4+ICsJRFJNX0ZPUk1BVF9ZMjEyLAo+PiArCURSTV9GT1JNQVRfWTIxNiwKPj4gKwlEUk1f Rk9STUFUX1k0MTAsCj4+ICsJRFJNX0ZPUk1BVF9ZNDEyLAo+PiArCURSTV9GT1JNQVRfWTQxNiwK Pj4gK307Cj4+ICsKPj4gIHN0YXRpYyBjb25zdCB1NjQgc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmll cnNfbm9jY3NbXSA9IHsKPj4gIAlJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQsCj4+ICAJSTkxNV9G T1JNQVRfTU9EX1lfVElMRUQsCj4+IEBAIC0yMDQ5LDYgKzIxMDUsMTAgQEAgc3RhdGljIGJvb2wg c2tsX3BsYW5lX2Zvcm1hdF9tb2Rfc3VwcG9ydGVkKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwK Pj4gIAkJCXJldHVybiB0cnVlOwo+PiAgCQkvKiBmYWxsIHRocm91Z2ggKi8KPj4gIAljYXNlIERS TV9GT1JNQVRfQzg6Cj4+ICsJY2FzZSBEUk1fRk9STUFUX1hCR1IxNjE2MTYxNkY6Cj4+ICsJY2Fz ZSBEUk1fRk9STUFUX0FCR1IxNjE2MTYxNkY6Cj4+ICsJY2FzZSBEUk1fRk9STUFUX1hSR0IxNjE2 MTYxNkY6Cj4+ICsJY2FzZSBEUk1fRk9STUFUX0FSR0IxNjE2MTYxNkY6Cj4+ICAJCWlmIChtb2Rp ZmllciA9PSBEUk1fRk9STUFUX01PRF9MSU5FQVIgfHwKPj4gIAkJICAgIG1vZGlmaWVyID09IEk5 MTVfRk9STUFUX01PRF9YX1RJTEVEIHx8Cj4+ICAJCSAgICBtb2RpZmllciA9PSBJOTE1X0ZPUk1B VF9NT0RfWV9USUxFRCkKPj4gQEAgLTIxODUsNyArMjI0NSwxMCBAQCBza2xfdW5pdmVyc2FsX3Bs YW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJCXBsYW5l LT51cGRhdGVfc2xhdmUgPSBpY2xfdXBkYXRlX3NsYXZlOwo+PiAgCj4+ICAJaWYgKHNrbF9wbGFu ZV9oYXNfcGxhbmFyKGRldl9wcml2LCBwaXBlLCBwbGFuZV9pZCkpIHsKPj4gLQkJaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPj0gMTEpIHsKPj4gKwkJaWYgKGljbF9pc19oZHJfcGxhbmUoZGV2X3By aXYsIHBsYW5lX2lkKSkgewo+PiArCQkJZm9ybWF0cyA9IGljbF9oZHJfcGxhbmFyX2Zvcm1hdHM7 Cj4+ICsJCQludW1fZm9ybWF0cyA9IEFSUkFZX1NJWkUoaWNsX2hkcl9wbGFuYXJfZm9ybWF0cyk7 Cj4+ICsJCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgewo+PiAgCQkJZm9y bWF0cyA9IGljbF9wbGFuYXJfZm9ybWF0czsKPj4gIAkJCW51bV9mb3JtYXRzID0gQVJSQVlfU0la RShpY2xfcGxhbmFyX2Zvcm1hdHMpOwo+PiAgCQl9IGVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPT0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKPj4gQEAgLTIxOTUsNiArMjI1 OCw5IEBAIHNrbF91bml2ZXJzYWxfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPj4gIAkJCWZvcm1hdHMgPSBza2xfcGxhbmFyX2Zvcm1hdHM7Cj4+ICAJCQlu dW1fZm9ybWF0cyA9IEFSUkFZX1NJWkUoc2tsX3BsYW5hcl9mb3JtYXRzKTsKPj4gIAkJfQo+PiAr CX0gZWxzZSBpZiAoaWNsX2lzX2hkcl9wbGFuZShkZXZfcHJpdiwgcGxhbmVfaWQpKSB7Cj4+ICsJ CWZvcm1hdHMgPSBpY2xfaGRyX3BsYW5lX2Zvcm1hdHM7Cj4+ICsJCW51bV9mb3JtYXRzID0gQVJS QVlfU0laRShpY2xfaGRyX3BsYW5lX2Zvcm1hdHMpOwo+IFRoaXMgaHVuayBpcyB1bnJlYWNoYWJs ZSBiZWNhdXNlIGlzX2hkcl9wbGFuZSBpcyBhIHN1YnNldCBvZiBza2xfcGxhbmVfaGFzX3BsYW5h ciwgSSB3aWxsIGRyb3AgaXQgYW5kIGNvbW1pdC4gOikKCkxlZnQgaXQgaGVyZSBmb3Igbm93LCB3 ZSBtaWdodCBoYXZlIHRvIGRpc2FibGUgcGxhbmFyIGZvcm1hdHMgZm9yIHRlc3RpbmcuCgpUaGFu a3MgZm9yIHRoZSBwYXRjaGVzLCBwdXNoZWQuIDopCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng=