From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Weinehall Subject: Re: [PATCH 1/4] drm/i915: kill {bdw, bxt}_modeset_calc_cdclk Date: Sat, 18 Feb 2017 16:13:27 +0100 Message-ID: <20170218151327.GP8202@suiko.acc.umu.se> References: <1487337727-9813-1-git-send-email-paulo.r.zanoni@intel.com> <1487337727-9813-2-git-send-email-paulo.r.zanoni@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.acc.umu.se (mail.acc.umu.se [130.239.18.156]) by gabe.freedesktop.org (Postfix) with ESMTPS id CC4F26E0D7 for ; Sat, 18 Feb 2017 15:13:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1487337727-9813-2-git-send-email-paulo.r.zanoni@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMTcsIDIwMTcgYXQgMTE6MjI6MDRBTSAtMDIwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IFRoZSBmdW5jdGlvbnMgYXJlIHByZXR0eSBtdWNoIHRoZSBzYW1lLCBleGNlcHQgZm9y IHRoZSBDRENMSyBhbmQgVkNPCj4gY2FsY3VsYXRpb25zLiBBZGQgQkRXIHN1cHBvcnQgdG8gdmx2 X21vZGVzZXRfY2FsY19jZGNsaygpIGFuZCBhZGQKPiBCWFQvR0xLIHN1cHBvcnQgdG8gc2tsX21v ZGVzZXRfY2FsY19jZGNsaygpLiBUaGUgdHdvIHJlYW1pbmluZwoKcy9yZWFtaW5pbmcvcmVtYWlu aW5nLwoKPiBmdW5jdGlvbnMgYXJlIHN0aWxsIHZlcnkgc2ltaWxhciwgZXhjZXB0IGZvciB0aGUg ZmFjdCB0aGF0IHRoZSB2bHYKPiB2ZXJzaW9uIGRvZXNuJ3QgdG91Y2ggdGhlIFZDTy4gRnVydGhl ciBwYXRjaGVzIGNvdWxkIHVuaWZ5IHRoZW0gZXZlbgo+IG1vcmUgaWYgdGhhdCdzIGRlc2lyZWQu Cj4gCj4gV2hpbGUgYXQgaXQsIG1lcmdlIHNvbWUgbGluZXMgdGhhdCBjYW4gZml0IDgwIGNvbHVt bnMgaW4gdGhvc2UKPiBmdW5jdGlvbnMuCj4gCj4gU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFub25p IDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NkY2xrLmMgfCAxMjAgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ICAxIGZpbGUgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgOTAgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gaW5kZXggZDY0M2MwYy4uZDUwNWZmMSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+IEBAIC0xNDk5LDQ1ICsxNDk5LDE4 IEBAIHN0YXRpYyBpbnQgaW50ZWxfbWF4X3BpeGVsX3JhdGUoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQo+ICBzdGF0aWMgaW50IHZsdl9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+IC0JaW50IG1heF9waXhjbGsgPSBpbnRl bF9tYXhfcGl4ZWxfcmF0ZShzdGF0ZSk7Cj4gLQlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpp bnRlbF9zdGF0ZSA9Cj4gLQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKPiAtCWludCBj ZGNsazsKPiAtCj4gLQljZGNsayA9IHZsdl9jYWxjX2NkY2xrKGRldl9wcml2LCBtYXhfcGl4Y2xr KTsKPiAtCj4gLQlpZiAoY2RjbGsgPiBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpIHsKPiAtCQlE Uk1fREVCVUdfS01TKCJyZXF1ZXN0ZWQgY2RjbGsgKCVkIGtIeikgZXhjZWVkcyBtYXggKCVkIGtI eilcbiIsCj4gLQkJCSAgICAgIGNkY2xrLCBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpOwo+IC0J CXJldHVybiAtRUlOVkFMOwo+IC0JfQo+IC0KPiAtCWludGVsX3N0YXRlLT5jZGNsay5sb2dpY2Fs LmNkY2xrID0gY2RjbGs7Cj4gLQo+IC0JaWYgKCFpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSB7 Cj4gLQkJY2RjbGsgPSB2bHZfY2FsY19jZGNsayhkZXZfcHJpdiwgMCk7Cj4gLQo+IC0JCWludGVs X3N0YXRlLT5jZGNsay5hY3R1YWwuY2RjbGsgPSBjZGNsazsKPiAtCX0gZWxzZSB7Cj4gLQkJaW50 ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbCA9Cj4gLQkJCWludGVsX3N0YXRlLT5jZGNsay5sb2dpY2Fs Owo+IC0JfQo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IGJkd19tb2Rl c2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+IC17Cj4gLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+ ICAJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0b19pbnRlbF9hdG9t aWNfc3RhdGUoc3RhdGUpOwo+ICAJaW50IG1heF9waXhjbGsgPSBpbnRlbF9tYXhfcGl4ZWxfcmF0 ZShzdGF0ZSk7Cj4gIAlpbnQgY2RjbGs7Cj4gIAo+ICAJLyoKPiAtCSAqIEZJWE1FIHNob3VsZCBh bHNvIGFjY291bnQgZm9yIHBsYW5lIHJhdGlvCj4gLQkgKiBvbmNlIDY0YnBwIHBpeGVsIGZvcm1h dHMgYXJlIHN1cHBvcnRlZC4KPiArCSAqIEZJWE1FOiBCcm9hZHdlbGwgc2hvdWxkIGFsc28gYWNj b3VudCBmb3IgcGxhbmUgcmF0aW8gb25jZSA2NGJwcCBwaXhlbAo+ICsJICogZm9ybWF0cyBhcmUg c3VwcG9ydGVkLgo+ICAJICovCj4gLQljZGNsayA9IGJkd19jYWxjX2NkY2xrKG1heF9waXhjbGsp Owo+ICsJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpCj4gKwkJY2RjbGsgPSBiZHdfY2FsY19j ZGNsayhtYXhfcGl4Y2xrKTsKPiArCWVsc2UKPiArCQljZGNsayA9IHZsdl9jYWxjX2NkY2xrKGRl dl9wcml2LCBtYXhfcGl4Y2xrKTsKPiAgCj4gIAlpZiAoY2RjbGsgPiBkZXZfcHJpdi0+bWF4X2Nk Y2xrX2ZyZXEpIHsKPiAgCQlEUk1fREVCVUdfS01TKCJyZXF1ZXN0ZWQgY2RjbGsgKCVkIGtIeikg ZXhjZWVkcyBtYXggKCVkIGtIeilcbiIsCj4gQEAgLTE1NDgsMTIgKzE1MjEsMTQgQEAgc3RhdGlj IGludCBiZHdfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSkKPiAgCWludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsLmNkY2xrID0gY2RjbGs7Cj4gIAo+ICAJ aWYgKCFpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSB7Cj4gLQkJY2RjbGsgPSBiZHdfY2FsY19j ZGNsaygwKTsKPiArCQlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkKPiArCQkJY2RjbGsgPSBi ZHdfY2FsY19jZGNsaygwKTsKPiArCQllbHNlCj4gKwkJCWNkY2xrID0gdmx2X2NhbGNfY2RjbGso ZGV2X3ByaXYsIDApOwo+ICAKPiAgCQlpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsLmNkY2xrID0g Y2RjbGs7Cj4gIAl9IGVsc2Ugewo+IC0JCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwgPQo+IC0J CQlpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbDsKPiArCQlpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0 dWFsID0gaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWw7Cj4gIAl9Cj4gIAo+ICAJcmV0dXJuIDA7 Cj4gQEAgLTE1NjEsNTcgKzE1MzYsMjYgQEAgc3RhdGljIGludCBiZHdfbW9kZXNldF9jYWxjX2Nk Y2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCj4gIHN0YXRpYyBpbnQgc2ts X21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIHsK PiAtCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfYXRv bWljX3N0YXRlKHN0YXRlKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoc3RhdGUtPmRldik7Cj4gLQljb25zdCBpbnQgbWF4X3BpeGNsayA9IGludGVsX21h eF9waXhlbF9yYXRlKHN0YXRlKTsKPiArCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVs X3N0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKPiArCWludCBtYXhfcGl4Y2xr ID0gaW50ZWxfbWF4X3BpeGVsX3JhdGUoc3RhdGUpOwo+ICAJaW50IGNkY2xrLCB2Y287Cj4gIAo+ IC0JdmNvID0gaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWwudmNvOwo+IC0JaWYgKCF2Y28pCj4g LQkJdmNvID0gZGV2X3ByaXYtPnNrbF9wcmVmZXJyZWRfdmNvX2ZyZXE7Cj4gLQo+ICAJLyoKPiAt CSAqIEZJWE1FIHNob3VsZCBhbHNvIGFjY291bnQgZm9yIHBsYW5lIHJhdGlvCj4gLQkgKiBvbmNl IDY0YnBwIHBpeGVsIGZvcm1hdHMgYXJlIHN1cHBvcnRlZC4KPiArCSAqIEZJWE1FOiBTa3lsYWtl L0thYnlsYWtlIHNob3VsZCBhbHNvIGFjY291bnQgZm9yIHBsYW5lIHJhdGlvIG9uY2UKPiArCSAq IDY0YnBwIHBpeGVsIGZvcm1hdHMgYXJlIHN1cHBvcnRlZC4KPiAgCSAqLwo+IC0JY2RjbGsgPSBz a2xfY2FsY19jZGNsayhtYXhfcGl4Y2xrLCB2Y28pOwo+IC0KPiAtCWlmIChjZGNsayA+IGRldl9w cml2LT5tYXhfY2RjbGtfZnJlcSkgewo+IC0JCURSTV9ERUJVR19LTVMoInJlcXVlc3RlZCBjZGNs ayAoJWQga0h6KSBleGNlZWRzIG1heCAoJWQga0h6KVxuIiwKPiAtCQkJICAgICAgY2RjbGssIGRl dl9wcml2LT5tYXhfY2RjbGtfZnJlcSk7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQl9Cj4gLQo+ IC0JaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWwudmNvID0gdmNvOwo+IC0JaW50ZWxfc3RhdGUt PmNkY2xrLmxvZ2ljYWwuY2RjbGsgPSBjZGNsazsKPiAtCj4gLQlpZiAoIWludGVsX3N0YXRlLT5h Y3RpdmVfY3J0Y3MpIHsKPiAtCQljZGNsayA9IHNrbF9jYWxjX2NkY2xrKDAsIHZjbyk7Cj4gLQo+ IC0JCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwudmNvID0gdmNvOwo+IC0JCWludGVsX3N0YXRl LT5jZGNsay5hY3R1YWwuY2RjbGsgPSBjZGNsazsKPiAtCX0gZWxzZSB7Cj4gLQkJaW50ZWxfc3Rh dGUtPmNkY2xrLmFjdHVhbCA9Cj4gLQkJCWludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsOwo+IC0J fQo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IGJ4dF9tb2Rlc2V0X2Nh bGNfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+IC17Cj4gLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+IC0JaW50 IG1heF9waXhjbGsgPSBpbnRlbF9tYXhfcGl4ZWxfcmF0ZShzdGF0ZSk7Cj4gLQlzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9Cj4gLQkJdG9faW50ZWxfYXRvbWljX3N0YXRl KHN0YXRlKTsKPiAtCWludCBjZGNsaywgdmNvOwo+IC0KPiAgCWlmIChJU19HRU1JTklMQUtFKGRl dl9wcml2KSkgewo+ICAJCWNkY2xrID0gZ2xrX2NhbGNfY2RjbGsobWF4X3BpeGNsayk7Cj4gIAkJ dmNvID0gZ2xrX2RlX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsKPiAtCX0gZWxzZSB7Cj4gKwl9 IGVsc2UgaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7Cj4gIAkJY2RjbGsgPSBieHRfY2FsY19j ZGNsayhtYXhfcGl4Y2xrKTsKPiAgCQl2Y28gPSBieHRfZGVfcGxsX3ZjbyhkZXZfcHJpdiwgY2Rj bGspOwo+ICsJfSBlbHNlIHsKPiArCQl2Y28gPSBpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbC52 Y287Cj4gKwkJaWYgKCF2Y28pCj4gKwkJCXZjbyA9IGRldl9wcml2LT5za2xfcHJlZmVycmVkX3Zj b19mcmVxOwo+ICsJCWNkY2xrID0gc2tsX2NhbGNfY2RjbGsobWF4X3BpeGNsaywgdmNvKTsKPiAg CX0KPiAgCj4gIAlpZiAoY2RjbGsgPiBkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpIHsKPiBAQCAt MTYyNywxNiArMTU3MSwxNyBAQCBzdGF0aWMgaW50IGJ4dF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJCWlmIChJU19HRU1JTklMQUtFKGRldl9w cml2KSkgewo+ICAJCQljZGNsayA9IGdsa19jYWxjX2NkY2xrKDApOwo+ICAJCQl2Y28gPSBnbGtf ZGVfcGxsX3ZjbyhkZXZfcHJpdiwgY2RjbGspOwo+IC0JCX0gZWxzZSB7Cj4gKwkJfSBlbHNlIGlm IChJU19CUk9YVE9OKGRldl9wcml2KSkgewo+ICAJCQljZGNsayA9IGJ4dF9jYWxjX2NkY2xrKDAp Owo+ICAJCQl2Y28gPSBieHRfZGVfcGxsX3ZjbyhkZXZfcHJpdiwgY2RjbGspOwo+ICsJCX0gZWxz ZSB7Cj4gKwkJCWNkY2xrID0gc2tsX2NhbGNfY2RjbGsoMCwgdmNvKTsKPiAgCQl9Cj4gIAo+ICAJ CWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwudmNvID0gdmNvOwo+ICAJCWludGVsX3N0YXRlLT5j ZGNsay5hY3R1YWwuY2RjbGsgPSBjZGNsazsKPiAgCX0gZWxzZSB7Cj4gLQkJaW50ZWxfc3RhdGUt PmNkY2xrLmFjdHVhbCA9Cj4gLQkJCWludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsOwo+ICsJCWlu dGVsX3N0YXRlLT5jZGNsay5hY3R1YWwgPSBpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbDsKPiAg CX0KPiAgCj4gIAlyZXR1cm4gMDsKPiBAQCAtMTgyMywyNCArMTc2OCwxOSBAQCB2b2lkIGludGVs X2luaXRfY2RjbGtfaG9va3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7 Cj4gIAlpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxh eS5zZXRfY2RjbGsgPSBjaHZfc2V0X2NkY2xrOwo+IC0JCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVz ZXRfY2FsY19jZGNsayA9Cj4gLQkJCXZsdl9tb2Rlc2V0X2NhbGNfY2RjbGs7Cj4gKwkJZGV2X3By aXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0gdmx2X21vZGVzZXRfY2FsY19jZGNsazsK PiAgCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikpIHsKPiAgCQlkZXZfcHJpdi0+ ZGlzcGxheS5zZXRfY2RjbGsgPSB2bHZfc2V0X2NkY2xrOwo+IC0JCWRldl9wcml2LT5kaXNwbGF5 Lm1vZGVzZXRfY2FsY19jZGNsayA9Cj4gLQkJCXZsdl9tb2Rlc2V0X2NhbGNfY2RjbGs7Cj4gKwkJ ZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0gdmx2X21vZGVzZXRfY2FsY19j ZGNsazsKPiAgCX0gZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewo+ICAJCWRldl9w cml2LT5kaXNwbGF5LnNldF9jZGNsayA9IGJkd19zZXRfY2RjbGs7Cj4gLQkJZGV2X3ByaXYtPmRp c3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KPiAtCQkJYmR3X21vZGVzZXRfY2FsY19jZGNsazsK PiArCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPSB2bHZfbW9kZXNldF9j YWxjX2NkY2xrOwo+ICAJfSBlbHNlIGlmIChJU19HRU45X0xQKGRldl9wcml2KSkgewo+ICAJCWRl dl9wcml2LT5kaXNwbGF5LnNldF9jZGNsayA9IGJ4dF9zZXRfY2RjbGs7Cj4gLQkJZGV2X3ByaXYt PmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KPiAtCQkJYnh0X21vZGVzZXRfY2FsY19jZGNs azsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPSBza2xfbW9kZXNl dF9jYWxjX2NkY2xrOwo+ICAJfSBlbHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2KSkgewo+ICAJ CWRldl9wcml2LT5kaXNwbGF5LnNldF9jZGNsayA9IHNrbF9zZXRfY2RjbGs7Cj4gLQkJZGV2X3By aXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0KPiAtCQkJc2tsX21vZGVzZXRfY2FsY19j ZGNsazsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPSBza2xfbW9k ZXNldF9jYWxjX2NkY2xrOwo+ICAJfQo+ICAKPiAgCWlmIChJU19HRU45X0JDKGRldl9wcml2KSkK PiAtLSAKPiAyLjcuNAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK