From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/2] drm/i915: Don't advertise modes that exceed the max plane size Date: Wed, 18 Sep 2019 17:59:47 +0300 Message-ID: <20190918145947.GN1208@intel.com> References: <20190905135044.2001-1-ville.syrjala@linux.intel.com> <20190905135044.2001-2-ville.syrjala@linux.intel.com> <20190918142829.GA29798@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id CAABA6F3D5 for ; Wed, 18 Sep 2019 14:59:55 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190918142829.GA29798@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: Leho Kraav , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBTZXAgMTgsIDIwMTkgYXQgMDc6Mjg6MjlBTSAtMDcwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBPbiBUaHUsIFNlcCAwNSwgMjAxOSBhdCAwNDo1MDo0NFBNICswMzAwLCBWaWxsZSBT eXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiA+IAo+ID4gTW9kZXJuIHBsYXRmb3JtcyBhbGxvdyB0aGUgdHJhbnNj b2RlcnMgaGRpc3BsYXkvdmRpc3BsYXkgdG8gZXhjZWVkIHRoZQo+ID4gcGxhbmVzJyBtYXggcmVz b2x1dGlvbi4gVGhpcyBoYXMgdGhlIG5hc3R5IGltcGxpY2F0aW9uIHRoYXQgbW9kZXMgb24gdGhl Cj4gPiBjb25uZWN0b3JzJyBtb2RlIGxpc3QgbWF5IG5vdCBiZSB1c2FibGUgd2hlbiB0aGUgdXNl ciBhc2tzIGZvciBhCj4gPiBmdWxsc2NyZWVuIHBsYW5lLiBTZWVpbmcgYXMgdGhhdCBpcyB0aGUg bW9zdCBjb21tb24gdXNlIGNhc2UgaXQgc2VlbXMKPiA+IHBydWRlbnQgdG8gZmlsdGVyIG91dCBt b2RlcyB0aGF0IGRvbid0IGFsbG93IGZvciBmdWxsc2NyZWVuIHBsYW5lcyB0bwo+ID4gYmUgZW5h YmxlZC4KPiA+IAo+ID4gTGV0J3MgZG8gdGhhdCBpbiB0aGUgY29ubmV0b3IgLm1vZGVfdmFsaWQo KSBob29rIHNvIHRoYXQgbm9ybWFsbHkKPiA+IHN1Y2ggbW9kZXMgYXJlIGtlcHQgaGlkZGVuIGJ1 dCB0aGUgdXNlciBpcyBzdGlsbCBhYmxlIHRvIGZvcmNpYmx5Cj4gPiBzcGVjaWZ5IHN1Y2ggYSBt b2RlIGlmIHRoZXkga25vdyB0aGV5IGRvbid0IG5lZWQgZnVsbHNjcmVlbiBwbGFuZXMuCj4gPiAK PiA+IFRoaXMgaXMgaW4gbGluZSB3aXRoIGVhbGllciBwb2xpY2llcyByZWdhcmRpbmcgY2VydGFp biBjbG9jayBsaW1pdHMuCj4gPiBUaGUgaWRlYSBpcyB0byBwcmV2ZW50IHRoZSBjYXN1YWwgdXNl ciBmcm9tIGVuY291bnRlcmluZyBhIG1vZGUgdGhhdAo+ID4gd291bGQgZmFpbCB1bmRlciB0eXBp Y2FsIGNvbmRpdGlvbnMsIGJ1dCBhbGxvdyB0aGUgZXhwZXJ0IHVzZXIgdG8KPiA+IGZvcmNlIHRo aW5ncyBpZiB0aGV5IHNvIHdpc2guCj4gPiAKPiA+IE1heWJlIGluIHRoZSBmdXR1cmUgd2Ugc2hv dWxkIGNvbnNpZGVyIGF1dG9tYWdpY2FsbHkgdXNpbmcgdHdvCj4gPiBwbGFuZXMgd2hlbiBvbmUg Y2FuJ3QgY292ZXIgdGhlIGVudGlyZSBzY3JlZW4/IFdvdWxkbid0IGJlIGEKPiA+IGdyZWF0IG1h dGNoIGZvciB0aGUgY3VycmVudCB1YXBpIHdpdGggZXhwbGljaXQgcGxhbmVzIHRob3VnaCwKPiA+ IGJ1dCBJIGd1ZXNzIG5vIHdvcnNlIHRoYW4gdXNpbmcgdHdvIHBpcGVzICh3aGljaCB3ZSBhcHBh cmVudGx5Cj4gPiBoYXZlIHRvIGluIHRoZSBmdXR1cmUgYW55d2F5KS4gRWl0aGVyIHRoYXQgb3Ig d2UnZCBoYXZlIHRvCj4gPiB0ZWFjaCB1c2Vyc3BhY2UgdG8gZG8gaXQgZm9yIHVzLgo+ID4gCj4g PiBDYzogTGVobyBLcmFhdiA8bGVob0BrcmFhdi5jb20+Cj4gPiBDYzogU2VhbiBQYXVsIDxzZWFu QHBvb3JseS5ydW4+Cj4gPiBDYzogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBp bnRlbC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5LmMgfCAzMSArKysrKysrKysrKysrKysrKysrKwo+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oIHwgIDQgKysrCj4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jICAgICAgfCAgMiArLQo+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmMgICAgIHwgIDMgKy0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYyAgICB8ICA0ICsrLQo+ID4g IDUgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiA+IAo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+IGlu ZGV4IDRlNjMzNDJlYTU5Ny4uOTk0NjZhMjliZjM2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiBAQCAtMTU4NDYsNiArMTU4NDYs NyBAQCBpbnRlbF9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgCQkJICAg RFJNX01PREVfRkxBR19DTEtESVYyKSkKPiA+ICAJCXJldHVybiBNT0RFX0JBRDsKPiA+ICAKPiA+ ICsJLyogVHJhbnNjb2RlciB0aW1pbmcgbGltaXRzICovCj4gPiAgCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpID49IDkgfHwKPiA+ICAJICAgIElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSVNfSEFT V0VMTChkZXZfcHJpdikpIHsKPiA+ICAJCWhkaXNwbGF5X21heCA9IDgxOTI7IC8qIEZESSBtYXgg NDA5NiBoYW5kbGVkIGVsc2V3aGVyZSAqLwo+ID4gQEAgLTE1ODc5LDYgKzE1ODgwLDM2IEBAIGlu dGVsX21vZGVfdmFsaWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJcmV0dXJuIE1PREVf T0s7Cj4gPiAgfQo+ID4gIAo+ID4gK2VudW0gZHJtX21vZGVfc3RhdHVzCj4gPiAraW50ZWxfbW9k ZV92YWxpZF9tYXhfcGxhbmVfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gPiArCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ID4gK3sKPiA+ ICsJaW50IHBsYW5lX3dpZHRoX21heCwgcGxhbmVfaGVpZ2h0X21heDsKPiA+ICsKPiA+ICsJLyoK PiA+ICsJICogaW50ZWxfbW9kZV92YWxpZCgpIHNob3VsZCBiZQo+ID4gKwkgKiBzdWZmaWNpZW50 IG9uIG9sZGVyIHBsYXRmb3Jtcy4KPiA+ICsJICovCj4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpIDwgOSkKPiA+ICsJCXJldHVybiBNT0RFX09LOwo+ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBN b3N0IHBlb3BsZSB3aWxsIHByb2JhYmx5IHdhbnQgYSBmdWxsc2NyZWVuCj4gPiArCSAqIHBsYW5l IHNvIGxldCdzIG5vdCBhZHZlcnRpemUgbW9kZXMgdGhhdCBhcmUKPiA+ICsJICogdG9vIGJpZyBm b3IgdGhhdC4KPiA+ICsJICovCj4gPiArCXBsYW5lX3dpZHRoX21heCA9IDUxMjA7Cj4gPiArCXBs YW5lX2hlaWdodF9tYXggPSA0MDk2Owo+IAo+IEZvciBJQ0wrLCBzaG91bGRudCB0dGhlIHBsYW5l X2hlaWdodF9tYXggYmUgNDMyMD8KCkl0IHNob3VsZCBpbmRlZWQuIEkgd2lzaCBJIGNvdWxkIGNv bWUgdXAgd2l0aCBhIG5pY2Ugd2F5IHRvIG5vdApkdXBsaWNhdGUgdGhpcyBpbmZvcm1hdGlvbiBo ZXJlLiBCdXQgaW4gb3JkZXIgdG8gdXNlIHRoZQpza2xfcGxhbmVfe3dpZHRoLGhlaWdodH0oKSBl dGMuIHdlJ2Qgc3RpbGwgbmVlZCB0byBoYXJkY29kZSB0aGUKY3BwL21vZGlmaWVyIGluZm9ybWF0 aW9uIGhlcmUsIHNvIGl0J3Mgbm90IGV4YWN0bHkgbmljZSBlaXRoZXIuCgpBbnl3YXMsIEknbGwg dG9zcyBvdXQgYSB2Mi4KCj4gCj4gTWFuYXNpCj4gCj4gPiArCj4gPiArCWlmIChtb2RlLT5oZGlz cGxheSA+IHBsYW5lX3dpZHRoX21heCkKPiA+ICsJCXJldHVybiBNT0RFX0hfSUxMRUdBTDsKPiA+ ICsKPiA+ICsJaWYgKG1vZGUtPnZkaXNwbGF5ID4gcGxhbmVfaGVpZ2h0X21heCkKPiA+ICsJCXJl dHVybiBNT0RFX1ZfSUxMRUdBTDsKPiA+ICsKPiA+ICsJcmV0dXJuIE1PREVfT0s7Cj4gPiArfQo+ ID4gKwo+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIGludGVs X21vZGVfZnVuY3MgPSB7Cj4gPiAgCS5mYl9jcmVhdGUgPSBpbnRlbF91c2VyX2ZyYW1lYnVmZmVy X2NyZWF0ZSwKPiA+ICAJLmdldF9mb3JtYXRfaW5mbyA9IGludGVsX2dldF9mb3JtYXRfaW5mbywK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCj4gPiBp bmRleCAzM2ZkNTIzYzQ2MjIuLmVjYWJiODI3ZWI4NyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaAo+ID4gQEAgLTMyLDYgKzMyLDcgQEAg ZW51bSBsaW5rX21fbl9zZXQ7Cj4gPiAgc3RydWN0IGRwbGw7Cj4gPiAgc3RydWN0IGRybV9jb25u ZWN0b3I7Cj4gPiAgc3RydWN0IGRybV9kZXZpY2U7Cj4gPiArc3RydWN0IGRybV9kaXNwbGF5X21v ZGU7Cj4gPiAgc3RydWN0IGRybV9lbmNvZGVyOwo+ID4gIHN0cnVjdCBkcm1fZmlsZTsKPiA+ICBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyOwo+ID4gQEAgLTQ0Nyw2ICs0NDgsOSBAQCB2b2lkIGxwdF9k aXNhYmxlX2Nsa291dF9kcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4g IHUzMiBpbnRlbF9wbGFuZV9mYl9tYXhfc3RyaWRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiA+ICAJCQkgICAgICB1MzIgcGl4ZWxfZm9ybWF0LCB1NjQgbW9kaWZpZXIpOwo+ ID4gIGJvb2wgaW50ZWxfcGxhbmVfY2FuX3JlbWFwKGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGUpOwo+ID4gK2VudW0gZHJtX21vZGVfc3RhdHVzCj4gPiAraW50ZWxf bW9kZV92YWxpZF9tYXhfcGxhbmVfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gPiArCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiA+ICBl bnVtIHBoeSBpbnRlbF9wb3J0X3RvX3BoeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwg ZW51bSBwb3J0IHBvcnQpOwo+ID4gIAo+ID4gIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcC5jCj4gPiBpbmRleCBkMDkxMzNhOTU4ZTEuLmNjYWY5ZjAwYjc0NyAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCj4gPiBAQCAtNTYyLDcgKzU2Miw3 IEBAIGludGVsX2RwX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiA+ICAJaWYgKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxDTEspCj4gPiAgCQlyZXR1 cm4gTU9ERV9IX0lMTEVHQUw7Cj4gPiAgCj4gPiAtCXJldHVybiBNT0RFX09LOwo+ID4gKwlyZXR1 cm4gaW50ZWxfbW9kZV92YWxpZF9tYXhfcGxhbmVfc2l6ZShkZXZfcHJpdiwgbW9kZSk7Cj4gPiAg fQo+ID4gIAo+ID4gIHUzMiBpbnRlbF9kcF9wYWNrX2F1eChjb25zdCB1OCAqc3JjLCBpbnQgc3Jj X2J5dGVzKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaS5jCj4gPiBp bmRleCA1ZmVjMDJhY2VhZWQuLmEyYTkzNzEwOWE1YSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmMKPiA+IEBAIC01NSw2ICs1NSw3IEBAIGludCBpbnRl bF9kc2lfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgZW51 bSBkcm1fbW9kZV9zdGF0dXMgaW50ZWxfZHNpX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiA+ICAJCQkJCSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUp Cj4gPiAgewo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNvbm5lY3Rvci0+ZGV2KTsKPiA+ICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29u bmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gPiAgCWNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlID0gaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5m aXhlZF9tb2RlOwo+ID4gIAlpbnQgbWF4X2RvdGNsayA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYp LT5tYXhfZG90Y2xrX2ZyZXE7Cj4gPiBAQCAtNzMsNyArNzQsNyBAQCBlbnVtIGRybV9tb2RlX3N0 YXR1cyBpbnRlbF9kc2lfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ID4gIAkJCXJldHVybiBNT0RFX0NMT0NLX0hJR0g7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JcmV0 dXJuIE1PREVfT0s7Cj4gPiArCXJldHVybiBpbnRlbF9tb2RlX3ZhbGlkX21heF9wbGFuZV9zaXpl KGRldl9wcml2LCBtb2RlKTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RydWN0IGludGVsX2RzaV9ob3N0 ICppbnRlbF9kc2lfaG9zdF9pbml0KHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSwKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCj4gPiBpbmRleCBjNTAwZmM5 MTU0YzguLmRiYzY4NjUxNWRjZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2hkbWkuYwo+ID4gQEAgLTIxODgsOCArMjE4OCwxMCBAQCBpbnRlbF9oZG1pX21v ZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ICAJCQlzdGF0dXMg PSBoZG1pX3BvcnRfY2xvY2tfdmFsaWQoaGRtaSwgY2xvY2sgKiA1IC8gNCwKPiA+ICAJCQkJCQkg ICAgICAgdHJ1ZSwgZm9yY2VfZHZpKTsKPiA+ICAJfQo+ID4gKwlpZiAoc3RhdHVzICE9IE1PREVf T0spCj4gPiArCQlyZXR1cm4gc3RhdHVzOwo+ID4gIAo+ID4gLQlyZXR1cm4gc3RhdHVzOwo+ID4g KwlyZXR1cm4gaW50ZWxfbW9kZV92YWxpZF9tYXhfcGxhbmVfc2l6ZShkZXZfcHJpdiwgbW9kZSk7 Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyBib29sIGhkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+IC0tIAo+ID4gMi4y MS4wCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=