From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: Re: [RFC 4/8] drm/i915: Group gen 10 display. Date: Fri, 19 Oct 2018 09:59:46 -0700 Message-ID: <20181019165945.GC4548@ldmartin-desk.jf.intel.com> References: <20181018233447.5187-1-rodrigo.vivi@intel.com> <20181018233447.5187-5-rodrigo.vivi@intel.com> <87r2gmgy6u.fsf@intel.com> <20181019083046.GW31561@phenom.ffwll.local> <20181019103307.GS9144@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 03DDF6E4F3 for ; Fri, 19 Oct 2018 16:59:47 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181019103307.GS9144@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBPY3QgMTksIDIwMTggYXQgMDE6MzM6MDhQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIEZyaSwgT2N0IDE5LCAyMDE4IGF0IDEwOjMwOjQ2QU0gKzAyMDAsIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBGcmksIE9jdCAxOSwgMjAxOCBhdCAxMTowMzo1M0FNICsw MzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+ID4gT24gVGh1LCAxOCBPY3QgMjAxOCwgUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPiB3cm90ZToKPiA+ID4gPiBDb250aW51aW5n IHdpdGggdGhlIGdvYWwgb2YgdXNlIGxlc3MgcGxhdGZvcm0gY29kZW5hbWVzOgo+ID4gPiA+IGxl dCdzIGdyb3VwIHBsYXRmb3JtcyB3aG8gaGFzIGdlbjEwIGRpc3BsYXkuCj4gPiA+IAo+ID4gPiBB aGFoLCBzbyB0aGlzIGFuc3dlcnMgbXkgcXVlc3Rpb24gaW4gdGhlIHByZXZpb3VzIHBhdGNoLiA7 KQo+ID4gPiAKPiA+ID4gU28gd2UgYWxyZWFkeSBoYXZlIEhBU19HTUNIX0RJU1BMQVkoKS4KPiA+ IAo+ID4gV2UgYWxzbyBoYXZlIEhBU19EREksIHdoaWNoIEkgZ3Vlc3MgeW91IGNvdWxkIGNhbGwg Z2VuOCBkaXNwbGF5IDotKQo+IAo+IFRoZXJlJ3MgYWxzbyB0aGVzZSBpbnRlcmVzdGluZyBnZW4g ZGVzaWduYXRpb25zIGluIHNvbWUgb2xkIGRvY3M6Cj4gY3RnL2VsayA9IGdlbjUuNQo+IGlsayA9 IGdlbjUuNzUKPiBJIGd1ZXNzIHdlIGNvdWxkIG1vcmUgb3IgbGVzcyBjYWxsIGFsbCBvZiB0aGF0 IGFzIGdlbjUgZGlzcGxheS4KPiAKPiBBbmQgb2YgY291cnNlIHdlIGhhdmUgdGhlIG90aGVyIG9k ZGJhbGxzIGxpa2Ugdmx2L2NodiB3aGljaCBhcmUKPiBzb3J0IG9mIG1pc21hc2ggb2YgaTk2NSwg Y3RnL2VsaywgaWJ4LCBhbmQgY3VzdG9tIHN0dWZmLiBBbHNvCj4gcG52IGlzIG1vc3RseSBnZW4z IGRpc3BsYXkgZXhjZXB0IGZvciBhIGZldyBiaXRzIHRoYXQgd2VyZQo+IHNuYXRjaGVkIGZyb20g aTk2NS4KPiAKPiBOb3Qgc3VyZSB3ZSBoYXZlIGVub3VnaCBudW1iZXJzIGZvciBhbGwgdGhhdCB3 aXRob3V0IHJlc290cmluZyB0bwo+IGZyYWN0aW9ucy4gQW5kIG5vIG9uZSBjb3VsZCBhbnl3YXkg cmVtZW1iZXIgd2hhdCBhbGwgdGhlIGRpZmZlcmVudAo+IG51bWJlcnMgbWVhbi4KCkkgdGhpbmsg d2Ugc2hvdWxkIGFwcHJveGltYXRlIHRvIHRoZSBjbG9zZXN0IG9uZSwgYnV0IHByZWZlciB1c2lu ZyBnZW5fZGlzcGxheSBudW1iZXIKY2hlY2tzIGZvciBjYXNlcyBpbiB3aGljaCBpdCdzIGNsZWFy IGZyb20gdGhlIHNwZWMgdGhlIHNlcGFyYXRpb24uCgpGb3Igb3RoZXIgdGhpbmdzIHdlIHdpbGwg bmVlZCBtb3JlIGZpbmUgZ3JhaW5lZCBmbGFncywgdGhhdCBjYW4gYmUgdXNlZCBhY3Jvc3MKZ2Vu cyBvciB0byBkaWZmZXJlbnRpYXRlIGZlYXR1cmVzIHdpdGhpbiBhIHNpbmdsZSBnZW4uCgoKCkx1 Y2FzIERlIE1hcmNoaQoKCj4gCj4gPiAKPiA+ID4gSWYgd2UncmUgZ29pbmcgdG8gbWFrZSBnZW4x MCBkaXNwbGF5IGEgdGhpbmcsIHNob3VsZCB3ZSBub3QgZ2VuZXJhbGl6ZQo+ID4gPiB0aGlzIHRv IGhhdmUgYW4gYWN0dWFsIGRpc3BsYXkgZ2VuIGluIGRldmljZSBpbmZvPyBPZiBjb3Vyc2UgZm9y IG1vc3QKPiA+ID4gcGxhdGZvcm1zIGl0J3MgZ29pbmcgdG8gYmUgaWRlbnRpY2FsIHRvIHRoZSBn ZW0gZ2VuLgo+ID4gPiAKPiA+ID4gVGhlIHF1ZXN0aW9uIGJlY29tZXMsIGlzIGRpc3BsYXkgZ2Vu IGFjY3VyYXRlIGVub3VnaD8gSXQncyBub3QgZW5vdWdoIHRvCj4gPiA+IGNvdmVyIGFsbCBvZiBH ZW1pbmlsYWtlIEkgYmVsaWV2ZS4gV2hpY2ggbWFrZXMgbWUgdGhpbmssIHNob3VsZCB3ZSBqdXN0 Cj4gPiA+IGFkZCB0b25zIG1vcmUgZGV2aWNlIGluZm8gZmxhZ3MgdG8gY292ZXIgZmVhdHVyZXMg YXQgYSBkZXRhaWxlZCBsZXZlbD8gSQo+ID4gPiB0aGluayB0aGF0J3Mgd2hhdCBKb29uYXMgYWR2 b2NhdGVzLiBQZXJoYXBzIGl0IGJsb2F0cyB0aGUgZGV2aWNlIGluZm8sCj4gPiA+IGFuZCBjYXVz ZXMgaW5jcmVhc2UgaW4gdGhlIG51bWJlciBvZiBkZXZpY2UgaW5mbyBibG9ja3MuIEJ1dCBteSBn dXQKPiA+ID4gZmVlbGluZyBzYXlzIHRvZ2V0aGVyIHdpdGggdHJ1bHkgaW1tdXRhYmxlIGRldmlj ZSBpbmZvLCB0aGVyZSBhcmUKPiA+ID4gY29tcGlsZXIgb3B0aW1pemF0aW9uIGJlbmVmaXRzIHRv IGJlIGhhZC4KPiA+ID4gCj4gPiA+IEFsc28sIGN1cnJlbnRseSB3ZSAiaW5oZXJpdCIgZGV2aWNl IGluZm8gdXNpbmcgdHJ1bHkgb2Jub3hpb3VzIG1hY3JvCj4gPiA+IGxheWVyaW5nIHdoZXJlIHlv dSBoYXZlIHRvIHdvcmsgaGFyZCB0byB0cmFjZSB0aGUgbWFjcm9zIHRvIGZpbmQgb3V0Cj4gPiA+ IHdoYXQgaXMgc2V0IGZvciBhIGdpdmVuIHBsYXRmb3JtLiBJdCBkb2Vzbid0IGhhdmUgdG8gYmUg dGhhdCB3YXkuIFdlCj4gPiA+IGNvdWxkIG1vdmUgcGFydHMgb2YgaXQgdG8gc2VwYXJhdGUgYnV0 IHNoYXJlZCBmZWF0dXJlcyBzdHJ1Y3RzLCBhbmQgYWRkCj4gPiA+IHBvaW50ZXJzIHRvIHRoZW0u Cj4gPiA+IAo+ID4gPiBBbnl3YXksIHRoYW5rcyBmb3Igcm9sbGluZyB0aGlzIHNlcmllcyBhcyBh IHN0YXJ0aW5nIHBvaW50IGZvcgo+ID4gPiBkaXNjdXNzaW9uLiBFdmVuIGlmIEknbSBub3QgYnV5 aW5nIHRoZSBjaGFuZ2VzIGFzLWlzLiA7KQo+ID4gCj4gPiBZZWFoLCBzdHVmZmluZyB0aGlzIGlu dG8gaW50ZWxfaW5mbyBpbW8gbWFrZXMgc2Vuc2UuIEFzIGxvbmcgYXMgaXQncwo+ID4gYm9vbGVh bnMgdGhleSBzaG91bGQgYmUgZmFpcmx5IGNoZWFwLgo+ID4gLURhbmllbAo+ID4gPiAKPiA+ID4g Cj4gPiA+IEJSLAo+ID4gPiBKYW5pLgo+ID4gPiAKPiA+ID4gPgo+ID4gPiA+IFNpZ25lZC1vZmYt Ynk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiA+ID4gPiAtLS0KPiA+ ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgMiArKwo+ID4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jICAgfCAyICstCj4gPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgICB8IDIgKy0KPiA+ID4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNCArKy0tCj4gPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8IDIgKy0KPiA+ID4gPiAgNSBmaWxlcyBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gPiA+ID4KPiA+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiBpbmRleCBkMTliMzhlZjE0NWIuLjY0MzZmZWRmZTU2 MSAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gPiA+IEBAIC0y NjM3LDYgKzI2MzcsOCBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiA+ID4gPiAgI2RlZmluZSBTVVBQT1JUU19UVihkZXZfcHJpdikJCSgoZGV2 X3ByaXYpLT5pbmZvLnN1cHBvcnRzX3R2KQo+ID4gPiA+ICAjZGVmaW5lIEk5MTVfSEFTX0hPVFBM VUcoZGV2X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmhhc19ob3RwbHVnKQo+ID4gPiA+ICAKPiA+ ID4gPiArI2RlZmluZSBIQVNfRElTUExBWV8xMChkZXZfcHJpdikgKElTX0dFTjEwKGRldl9wcml2 KSB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiA+ID4gPiArCj4gPiA+ID4gICNkZWZpbmUg SEFTX0ZXX0JMQyhkZXZfcHJpdikgCShJTlRFTF9HRU4oZGV2X3ByaXYpID4gMikKPiA+ID4gPiAg I2RlZmluZSBIQVNfRkJDKGRldl9wcml2KQkoKGRldl9wcml2KS0+aW5mby5oYXNfZmJjKQo+ID4g PiA+ICAjZGVmaW5lIEhBU19DVVJfRkJDKGRldl9wcml2KQkoIUhBU19HTUNIX0RJU1BMQVkoZGV2 X3ByaXYpICYmIElOVEVMX0dFTihkZXZfcHJpdikgPj0gNykKPiA+ID4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NkY2xrLmMKPiA+ID4gPiBpbmRleCA0YWE2NTAwNjA0Y2MuLmIzMTViNzBmZDQ5YyAx MDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gPiA+IEBA IC0yMTgxLDcgKzIxODEsNyBAQCBpbnQgaW50ZWxfY3J0Y19jb21wdXRlX21pbl9jZGNsayhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ID4gPiAgCSAgICBjcnRj X3N0YXRlLT5oYXNfYXVkaW8gJiYKPiA+ID4gPiAgCSAgICBjcnRjX3N0YXRlLT5wb3J0X2Nsb2Nr ID49IDU0MDAwMCAmJgo+ID4gPiA+ICAJICAgIGNydGNfc3RhdGUtPmxhbmVfY291bnQgPT0gNCkg ewo+ID4gPiA+IC0JCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSB8fCBJU19HRU1JTklMQUtF KGRldl9wcml2KSkgewo+ID4gPiA+ICsJCWlmIChIQVNfRElTUExBWV8xMChkZXZfcHJpdikpIHsK PiA+ID4gPiAgCQkJLyogRGlzcGxheSBXQSAjMTE0NTogZ2xrLGNubCAqLwo+ID4gPiA+ICAJCQlt aW5fY2RjbGsgPSBtYXgoMzE2ODAwLCBtaW5fY2RjbGspOwo+ID4gPiA+ICAJCX0gZWxzZSBpZiAo SVNfR0VOOShkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewo+ID4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4gPiA+IGluZGV4IDUxMjdkYTI4NmEyYi4uZDVm NjdiOWM5Njk4IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NvbG9yLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5j Cj4gPiA+ID4gQEAgLTY1OSw3ICs2NTksNyBAQCB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0 IGRybV9jcnRjICpjcnRjKQo+ID4gPiA+ICAJCSAgIElTX0JST1hUT04oZGV2X3ByaXYpKSB7Cj4g PiA+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0cml4ID0gaWxrX2xvYWRfY3Nj X21hdHJpeDsKPiA+ID4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPSBicm9hZHdl bGxfbG9hZF9sdXRzOwo+ID4gPiA+IC0JfSBlbHNlIGlmIChJU19HRU1JTklMQUtFKGRldl9wcml2 KSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkgewo+ID4gPiA+ICsJfSBlbHNlIGlmIChIQVNf RElTUExBWV8xMChkZXZfcHJpdikpIHsKPiA+ID4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2Fk X2NzY19tYXRyaXggPSBpbGtfbG9hZF9jc2NfbWF0cml4Owo+ID4gPiA+ICAJCWRldl9wcml2LT5k aXNwbGF5LmxvYWRfbHV0cyA9IGdsa19sb2FkX2x1dHM7Cj4gPiA+ID4gIAl9IGVsc2Ugewo+ID4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gPiBpbmRleCA3YjA0Yjg0 MzZiNmQuLjFhYmY3OWE0ZWU5MSAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiA+ID4gPiBAQCAtNTczMCw3ICs1NzMwLDcgQEAgc3RhdGljIHZvaWQg aGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcs Cj4gPiA+ID4gIAlpbnRlbF9jcnRjLT5hY3RpdmUgPSB0cnVlOwo+ID4gPiA+ICAKPiA+ID4gPiAg CS8qIERpc3BsYXkgV0EgIzExODA6IFdhRGlzYWJsZVNjYWxhckNsb2NrR2F0aW5nOiBnbGssIGNu bCAqLwo+ID4gPiA+IC0JcHNsX2Nsa2dhdGVfd2EgPSAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikg fHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpICYmCj4gPiA+ID4gKwlwc2xfY2xrZ2F0ZV93YSA9 IChIQVNfRElTUExBWV8xMChkZXZfcHJpdikpICYmCj4gPiA+ID4gIAkJCSBwaXBlX2NvbmZpZy0+ cGNoX3BmaXQuZW5hYmxlZDsKPiA+ID4gPiAgCWlmIChwc2xfY2xrZ2F0ZV93YSkKPiA+ID4gPiAg CQlnbGtfcGlwZV9zY2FsZXJfY2xvY2tfZ2F0aW5nX3dhKGRldl9wcml2LCBwaXBlLCB0cnVlKTsK PiA+ID4gPiBAQCAtMTU1NjUsNyArMTU1NjUsNyBAQCBnZXRfZW5jb2Rlcl9wb3dlcl9kb21haW5z KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiAgc3RhdGljIHZvaWQg aW50ZWxfZWFybHlfZGlzcGxheV93YXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ID4gPiA+ICB7Cj4gPiA+ID4gIAkvKiBEaXNwbGF5IFdBICMxMTg1IFdhRGlzYWJsZURBUkJG Q2xrR2F0aW5nOmNubCxnbGsgKi8KPiA+ID4gPiAtCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2 KSB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiA+ID4gPiArCWlmIChIQVNfRElTUExBWV8x MChkZXZfcHJpdikpCj4gPiA+ID4gIAkJSTkxNV9XUklURShHRU45X0NMS0dBVEVfRElTXzAsIEk5 MTVfUkVBRChHRU45X0NMS0dBVEVfRElTXzApIHwKPiA+ID4gPiAgCQkJICAgREFSQkZfR0FUSU5H X0RJUyk7Cj4gPiA+ID4gIAo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4g PiA+ID4gaW5kZXggN2NkNTllZWU1Y2FkLi45MTJhYjdiOWQ4OWEgMTAwNjQ0Cj4gPiA+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiA+ID4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4gPiA+IEBAIC0xMzMwLDcgKzEzMzAs NyBAQCBzdGF0aWMgaW50IHNrbF9wbGFuZV9jaGVja19kc3RfY29vcmRpbmF0ZXMoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfcwo+ID4gPiA+ICAJICogdGhhbiB0aGUgY3Vyc29y IGVuZGluZyBsZXNzIHRoYW4gNCBwaXhlbHMgZnJvbSB0aGUgbGVmdCBlZGdlIG9mIHRoZQo+ID4g PiA+ICAJICogc2NyZWVuIG1heSBjYXVzZSBGSUZPIHVuZGVyZmxvdyBhbmQgZGlzcGxheSBjb3Jy dXB0aW9uLgo+ID4gPiA+ICAJICovCj4gPiA+ID4gLQlpZiAoKElTX0dFTUlOSUxBS0UoZGV2X3By aXYpIHx8IElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSAmJgo+ID4gPiA+ICsJaWYgKEhBU19ESVNQ TEFZXzEwKGRldl9wcml2KSAmJgo+ID4gPiA+ICAJICAgIChjcnRjX3ggKyBjcnRjX3cgPCA0IHx8 IGNydGNfeCA+IHBpcGVfc3JjX3cgLSA0KSkgewo+ID4gPiA+ICAJCURSTV9ERUJVR19LTVMoInJl cXVlc3RlZCBwbGFuZSBYICVzIHBvc2l0aW9uICVkIGludmFsaWQgKHZhbGlkIHJhbmdlICVkLSVk KVxuIiwKPiA+ID4gPiAgCQkJICAgICAgY3J0Y194ICsgY3J0Y193IDwgNCA/ICJlbmQiIDogInN0 YXJ0IiwKPiA+ID4gCj4gPiA+IC0tIAo+ID4gPiBKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3Vy Y2UgR3JhcGhpY3MgQ2VudGVyCj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+ID4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gCj4gPiAtLSAKPiA+IERhbmllbCBW ZXR0ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gaHR0cDov L2Jsb2cuZmZ3bGwuY2gKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0tIAo+IFZpbGxlIFN5cmrDpGzDpAo+IEludGVsCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=