From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nautiyal, Ankit K" Subject: Re: [PATCH] drm/i915: Prune 2560x2880 mode for 5K tiled dual DP monitors Date: Thu, 29 Aug 2019 14:39:21 +0530 Message-ID: <0c877805-2417-b54d-7ca4-67985b76b03b@intel.com> References: <1566887370-21780-1-git-send-email-ankit.k.nautiyal@intel.com> <87o90a99so.fsf@intel.com> <20190827165926.GA4122@intel.com> <871rx591gb.fsf@intel.com> <20190828195330.GG701@intel.com> <877e6weahp.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B60E89F31 for ; Thu, 29 Aug 2019 09:09:26 +0000 (UTC) In-Reply-To: <877e6weahp.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , "Navare, Manasi D" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org SGkgSmFuaSwgTWFuYXNpLAoKVGhhbmtzIGZvciB0aGUgY29tbWVudHMgYW5kIHN1Z2dlc3Rpb25z LiBQbGVhc2UgZmluZCBteSByZXNwb25zZSBpbmxpbmUuCgpPbiA4LzI5LzIwMTkgMTI6MTQgUE0s IEphbmkgTmlrdWxhIHdyb3RlOgo+IE9uIFdlZCwgMjggQXVnIDIwMTksIE1hbmFzaSBOYXZhcmUg PG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+IHdyb3RlOgo+PiBUaGFua3MgSmFuaSBmb3IgeW91 ciBmZWVkYmFjaywgcGxlYXNlIHNlZSBteSBjb21tZW50cyBpbmxpbmUKPj4KPj4gT24gV2VkLCBB dWcgMjgsIDIwMTkgYXQgMTA6NDY6NDRBTSArMDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+PiBP biBUdWUsIDI3IEF1ZyAyMDE5LCBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwu Y29tPiB3cm90ZToKPj4+PiBPbiBUdWUsIEF1ZyAyNywgMjAxOSBhdCAwMTozNDoxNVBNICswMzAw LCBKYW5pIE5pa3VsYSB3cm90ZToKPj4+Pj4gT24gVHVlLCAyNyBBdWcgMjAxOSwgIk5hdXRpeWFs LCBBbmtpdCBLIiA8YW5raXQuay5uYXV0aXlhbEBpbnRlbC5jb20+IHdyb3RlOgo+Pj4+Pj4gRnJv bTogQW5raXQgTmF1dGl5YWwgPGFua2l0LmsubmF1dGl5YWxAaW50ZWwuY29tPgo+Pj4+Pj4KPj4+ Pj4+IEN1cnJlbnRseSwgdGhlIHRyYW5zY29kZXIgcG9ydCBzeW5jIGZlYXR1cmUgaXMgbm90IGF2 YWlsYWJsZSwgZHVlIHRvCj4+Pj4+PiB3aGljaCB0aGUgNUstdGlsZWQgZHVhbCBEUCBtb25pdG9y cyBleHBlcmllbmNlIGNvcnJ1cHRpb24gd2hlbgo+Pj4+Pj4gMjU2MHgyODgwIG1vZGUgaXMgYXBw bGllZCBmb3IgYm90aCBvZiB0aGUgdGlsZWQgRFAgY29ubmVjdG9ycy4KPj4+Pj4+IEJ1Z3ppbGxh OiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05NzI0NAo+Pj4+ Pj4KPj4+Pj4+IFRoZXJlIGlzIGEgcGF0Y2ggc2VyaWVzIHRvIGVuYWJsZSB0cmFuc2NvZGUgcG9y dCBzeW5jIGZlYXR1cmUgZm9yCj4+Pj4+PiB0aWxlZCBkaXNwbGF5IGZvciBJQ0wrLCB3aGljaCBp cyB1bmRlciByZXZpZXc6Cj4+Pj4+PiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2pl Y3QvaW50ZWwtZ2Z4L2xpc3QvP3Nlcmllcz0xMzczMzkKPj4+Pj4+Cj4+Pj4+PiBGb3IgdGhlIG9s ZGVyIHBsYXRmb3Jtcywgd2UgbmVlZCB0byByZW1vdmUgdGhlIDI1NjB4Mjg4MCBtb2RlIHRvIGF2 b2lkCj4+Pj4+PiBhIHBvc3NpYmlsaXR5IG9mIHVzZXJzcGFjZSBjaG9vc2luZyAyNTYweDI4ODAg bW9kZSBmb3IgYm90aCB0aWxlZAo+Pj4+Pj4gZGlzcGxheXMsIHJlc3VsdGluZyBpbiBjb3JydXB0 aW9uLgo+Pj4+Pj4KPj4+Pj4+IFRoaXMgcGF0Y2ggcHJ1bmVzIDI1NjB4Mjg4MCBtb2RlIGZvciBv bmUgb2YgdGhlIHRpbGVkIERQIGNvbm5lY3Rvci4KPj4+Pj4+IFNpbmNlIGJvdGggdGhlIHRpbGVk IERQIGNvbm5lY3RvcnMgaGF2ZSBkaWZmZXJlbnQgdGlsZV9oX2xvYyBhbmQKPj4+Pj4+IHRpbGVf dl9sb2MsIHRoZSB0aWxlZCBjb25uZWN0b3Igd2l0aCB0aWxlX2hfbG9jIGFuZCB0aWxlX3ZfbG9j IGFzICcwJywKPj4+Pj4+IGlzIGNob3NlbiwgZm9yIHdoaWNoIHRoZSBnaXZlbiByZXNvbHV0aW9u IGlzIHJlbW92ZWQuCj4+Pj4+Pgo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQW5raXQgTmF1dGl5YWwg PGFua2l0LmsubmF1dGl5YWxAaW50ZWwuY29tPgo+Pj4+Pj4gQ0M6IE1hbmFzaSBOYXZhcmUgPG1h bmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4+Pj4+PiAtLS0KPj4+Pj4+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgfCAxMSArKysrKysrKysrKwo+Pj4+Pj4gIDEgZmls ZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspCj4+Pj4+Pgo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+Pj4+Pj4gaW5kZXggNWM0NWEzYi4uYWE0M2EzYiAxMDA2 NDQKPj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+ Pj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCj4+Pj4+ PiBAQCAtNTY0LDYgKzU2NCwxNyBAQCBpbnRlbF9kcF9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4+Pj4+PiAgCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZM QUdfREJMQ0xLKQo+Pj4+Pj4gIAkJcmV0dXJuIE1PREVfSF9JTExFR0FMOwo+Pj4+Pj4KPj4+Pj4+ ICsJLyoKPj4+Pj4+ICsJICogRm9yIDVLIHRpbGVkIGR1YWwgRFAgbW9uaXRvcnMsIGR1YWwtRFAg c3luYyBpcyBub3QgeWV0IHN1cHBvcnRlZC4KPj4+Pj4+ICsJICogVGhpcyByZXN1bHRzIGluIGRp c3BsYXkgc3luYyBpc3N1ZXMsIHdoZW4gYm90aCB0aWxlZCBjb25uZWN0b3JzIHJ1bgo+Pj4+Pj4g KwkgKiBvbiAyNTYweDI4ODAgcmVzb2x1dGlvbi4gVGhlcmVmb3JlIHBydW5lIHRoZSAyNTYweDI4 ODAgbW9kZSBvbiBvbmUKPj4+Pj4+ICsJICogb2YgdGhlIHRpbGVkIGNvbm5lY3RvciwgdG8gYXZv aWQgc3VjaCBhIGNhc2UuCj4+Pj4+PiArCSAqLwo+Pj4+Pj4gKwlpZiAoY29ubmVjdG9yLT5oYXNf dGlsZSAmJgo+Pj4+Pj4gKwkgICAgKGNvbm5lY3Rvci0+dGlsZV9oX2xvYyA9PSAwICYmIGNvbm5l Y3Rvci0+dGlsZV92X2xvYyA9PSAwKSAmJgo+Pj4+Pj4gKwkgICAgKG1vZGUtPmhkaXNwbGF5ID09 IDI1NjAgJiYgbW9kZS0+dmRpc3BsYXkgPT0gMjg4MCkpCj4+Pj4+PiArCQlyZXR1cm4gTU9ERV9Q QU5FTDsKPj4+Pj4+ICsKPj4+Pj4KPj4+Pj4gVGhpcyBhc3N1bWVzIGFsbCB0aWxlZCBjYXNlcyB3 aXRoIHNwZWNpZmljIHJlc29sdXRpb25zIGZhaWwuIFlvdSBkb24ndAo+Pj4+PiBrbm93IHRoYXQu IFlvdSBvbmx5IGtub3cgdGhpcyBmYWlscyBvbiBhIHNwZWNpZmljIGRpc3BsYXkuIEluc3RlYWQg b2YKPj4+Pj4gY29taW5nIHVwIHdpdGggdmFyaW91cyBydWxlcyBvbiB0aWxlcyBhbmQgcmVzb2x1 dGlvbnMgdGhhdCBtYXRjaCB0aGUKPj4+Pj4gZGlzcGxheSAoYnV0IG1pZ2h0ICphbHNvKiBtYXRj aCBhbnkgbnVtYmVyIG9mICpvdGhlciogZGlzcGxheXMhKSwgeW91Cj4+Pj4+IG5lZWQgdG8gYWN0 dWFsbHkgaWRlbnRpZnkgYW5kIG1hdGNoIHRoYXQgc3BlY2lmaWMgZGlzcGxheSBpbnN0ZWFkLgo+ Pj4+Pgo+Pj4+Cj4+Pj4gQWN0dWFsbHkgd2l0aG91dCB0aGUgdHJhbnNjb2RlciBwb3J0IHN5bmMg ZmVhdHVyZSwgd2UgZG8gbm90IGV4cGVjdAo+Pj4+IGFueSB0aWxlZCBkaXNwbGF5IG92ZXIgdHdv IHNlcGFyYXRlIHBvcnRzIHRvIHdvcmsgY29ycmVjdGx5LCBzbyBpZiBpdAo+Pj4+IGlzIHR3byBj b25uZWN0b3JzIGluIHN0YXRlIHdpdGggdGlsZSBwcm9wcyBzZXQgdGhlbiB3ZSBzaG91bGQgcmVq ZWN0Cj4+Pj4gdGhlIHRpbGVkIG1vZGUgb24gYm90aCB0aG9zZSBjb25uZWN0b3JzIHNpbmNlIHRo YXQgbWlnaHQgY2F1c2UgdGhlCj4+Pj4gYXJ0aWZhY3RzIHdpdGhvdXQgcHJvcGVyIHN5bmMgYmV0 d2VlbiB0d28gcG9ydHMgd2hpY2ggaXMgc3VwcG9ydGVkCj4+Pj4gb25seSBvbiBJQ0wrCj4+Pgo+ Pj4gQ29uc2lkZXIgYSBtdWx0aS1zY3JlZW4gZGlzcGxheSB3aXRoIGluZGVwZW5kZW50IHBhbmVs cyBtb3VudGVkCj4+PiB0b2dldGhlciwgYW5kIEVESURzIHNldCB1cCB0byBkZXNjcmliZSB0aGUg cGh5c2ljYWwgdGlsaW5nCj4+PiBsYXlvdXQuIFNob3VsZCB3ZSByZWplY3QgdGhlbSBhbGwgYmVj YXVzZSB0aGUgY2FzZXMgeW91IGtub3cgYWJvdXQgZmFpbD8KPj4+Cj4+PiBZb3Uga25vdyBhYm91 dCB0aGUgaXNzdWVzIHdpdGggdGhlIHNwZWNpZmljIDVrIGRpc3BsYXlzIHByZWNpc2VseQo+Pj4g YmVjYXVzZSB0aGV5IGZhaWwuIFlvdSBuZXZlciBoZWFyIGFib3V0IHRoZSBvbmVzIHRoYXQgd29y ay4gRXZlci4gVW50aWwKPj4+IHRoZXkgc3RvcCB3b3JraW5nLCB0aGF0IGlzLgo+Pgo+PiBIbW0g SSB0aGluayBldmVuIHdpdGggc2VwYXJhdGUgcGFuZWxzIHRvIHdvcmsgd2l0aG91dCBhcnRpZmFj dHMgd2Ugd291bGQgbmVlZCBzb21lIGtpbmQgb2YKPj4gc3luY2hyb25pemF0aW9uLiBCdXQgeWVz IEkgYWdyZWUgdGhhdCBpdCBtaWdodCBqdXN0IGJlIHdvcmtpbmcgd2VsbCBhbmQgd2UgY2FudCBh c3N1bWUKPj4gdGhhdCB0aGV5IGFyZSBmYWlsaW5nLgo+Pgo+PiBTbyBmb3Igbm93IHRoZSBFRElE IHF1aXJrIHNvdW5kcyBsaWtlIHRoZSBiZXN0IHdheSB0byBmaXggdGhpcyBGRE8KPj4KPj4+Cj4+ Pj4+IFRoZXJlIGFyZSB0d28gd2F5cyB0byBhZGQgZGlzcGxheSBzcGVjaWZpYyBxdWlya3M6IGJh c2VkIG9uIEVESUQKPj4+Pj4gKGVkaWRfcXVpcmtfbGlzdCBpbiBkcm1fZWRpZC5jKSBhbmQgYmFz ZWQgb24gRFBDRCAoZHBjZF9xdWlya19saXN0IGluCj4+Pj4+IGRybV9kcF9oZWxwZXIuYykuIFlv dSBpZGVudGlmeSB0aGUgZGlzcGxheSwgYW5kIHRoZW4gcHJ1bmUgdGhlIG1vZGVzCj4+Pj4+IHRo YXQgcmVxdWlyZSBwb3J0IHN5bmMgdG8gd29yaywgZm9yICp0aGF0KiBkaXNwbGF5Lgo+Pj4+Cj4+ Pj4gV2UgaGF2ZSBzZWVuIHRoaXMgaXNzdWUgb24gbXVsdGlwbGUgNUsgdGlsZWQgZGlzcGxheXMg SU1ILCBzbyBqdXN0Cj4+Pj4gYWRkaW5nIGEgcXVpcmsgZm9yIHNwZWNpZmljIG1vbml0b3JzIHdp bGwgbm90IHN1ZmZpY2UuCj4+Pgo+Pj4gQWRkaW5nIG9uZSBxdWlyayBwZXIgZmFpbGluZyBkaXNw bGF5IHF1aXRlIG9idmlvdXNseSB3aWxsIHN1ZmZpY2UuCj4+Pgo+Pj4+IEJ1dCB3ZSB3b3VsZCBu ZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtb2RlIGdldHMgcmVqZWN0ZWQgb25seSBpZgo+Pj4+ IHRoZXJlIGFyZSBtdWx0aXBsZSBTU1QgY29ubmVjdG9ycyB3aXRoIHRpbGUgcHJvcCBvcgo+Pj4+ IGNvbm5lY3Rvci0+aGFzX3RpbGUgc2V0IGJlY2F1c2UgTVNUIHRpbGVkIGRpc3BsYXlzIHN0aWxs IHdvcmsKPj4+PiBjb3JyZWN0bHkuCj4+Pj4KPj4+PiBWaWxsZSwgeW91IGhhZCBwbGF5ZWQgYSBs aXR0bGUgYml0IHdpdGggdGhpcyA1SyBkaXNwbGF5IEkgYmVsaWV2ZSwgZG8KPj4+PiB5b3UgdGhp bmsgcHJ1bmluZyB0aGUgdGlsZWQgbW9kZSBpZiB0aGVyZSBhcmUgdGlsZWQgU1NUIGNvbm5lY3Rv cnMgYW5kCj4+Pj4gcGxhdGZvcm0gPCBJQ0wgaXMgYSBnb29kIHNvbHV0aW9uPwo+Pj4KPj4+IENv bWUgdG8gdGhpbmsgb2YgaXQsIGNhbiB5b3UgdXNlIHRoZSB0aWxlZCBtb2RlICp1bnRpbGVkKiBv biBvbmUgcG9ydCwKPj4+IGFuZCBoYXZlIGl0IHN0cmVjaCB0aGUgZW50aXJlIGRpc3BsYXk/IFRo ZXJlIGFyZSBwbGVudHkgb2Ygb3RoZXIgbW9kZXMKPj4+IHlvdSBjYW4gdXNlIGxpa2UgdGhpcy4g SSBkb24ndCB0aGluayB3ZSBzaG91bGQgcmVqZWN0IHRoYXQgdXNlIGNhc2UKPj4+IGVpdGhlci4K Pj4KPj4gWWVzIHNvIGluIHRoYXQgY2FzZSB0aGUgcXVpcmsgd291bGQgYmUgdG8gc2V0IHRoZSBo YXNfdGlsZSB0byBmYWxzZSBzbyB0aGF0Cj4+IHRoZSBkcml2ZXIgd2lsbCBhY3R1YWxseSBzZWUg aXQgYXMgbm9uIHRpbGVkIGFuZCBzY2FsZSBpdCB0byB0aGUgZW50aXJlIGRpc3BsYXkKPj4KPj4+ Cj4+PiBJJ2xsIHJlcGVhdCwgeW91IGhhdmUgaXNzdWVzIHdpdGggYSB2ZXJ5IHNwZWNpZmljIGNh c2UuIFlvdSBuZWVkIHRvIGhhdmUKPj4+ICp2ZXJ5KiBzcGVjaWZpYyBydWxlcyB0byBmaWx0ZXIg dGhlbSBvdXQgaW4gb3JkZXIgdG8gbm90IGluYWR2ZXJ0ZW50bHkKPj4+IGZpbHRlciBvdXQgdmFs aWQgdXNlIGNhc2VzLiBSZW1lbWJlciwgaWYgdGhlcmUncyBqdXN0ICpvbmUqIHZhbGlkIHVzZQo+ Pj4gY2FzZSB0aGF0IHlvdSBlbmQgdXAgcmVqZWN0aW5nIGhlcmUsIGl0J3MgYSByZWdyZXNzaW9u IGFuZCB5b3UgbmVlZCB0bwo+Pj4gcmV2ZXJ0IGFuZCBnZXQgYmFjayB0byB0aGUgZHJhd2luZyBi b2FyZC4KPj4+Cj4+PiAtLS0KPj4+Cj4+PiBGaW5hbGx5LCBhbmQgcGVyaGFwcyBtb3N0IGltcG9y dGFudGx5LCB0aGVyZSBhcmUgcGVvcGxlIG9uIHRoZSBidWcgdGhhdAo+Pj4gYXJlIGdvaW5nIHRv IGJlIHJhdGhlciB1bmRlcndoZWxtZWQgdGhhdCBhZnRlciB0aHJlZSB5ZWFycyB0aGV5IGdldCBh Cj4+PiBwYXRjaCB0aGF0IHNpbXBseSByZWplY3RzIHRoZSB2ZXJ5IG1vZGUgdGhhdCB3YXMgdGhl IHJlYXNvbiBmb3IgYnV5aW5nCj4+PiB0aGUgZGlzcGxheSB0aGV5IGhhdmUuIEluc3VsdCB0byBp bmp1cnksIHRoZSByZWFsIGZpeCBpcyBmb3IgYSBwbGF0Zm9ybQo+Pj4gdGhhdCBkaWRuJ3QgZXhp c3Qgd2hlbiB0aGV5IGJvdWdodCB0aGUgZGlzcGxheXMuCj4+Cj4+IEkgYWdyZWUgY29tcGxldGVs eS4gQW5raXQgY291bGQgeW91IHRlc3QgaXQgb24gdGhlIDVLIHNjcmVlbiB3aGF0IGhhcHBlbnMg aWYKPj4geW91IHNldCB0aGUgaGFzX3RpbGUgdG8gZmFsc2UgYW5kIGFsbG93IGl0IHRvIHN0cmV0 Y2ggb3V0IGluIHVudGlsZWQgZmFzaGlvbj8KPj4gSWYgdGhhdCB3b3JrcyB3ZSBjYW4gYWRkIHRo YXQgdG8gdGhlIHF1aXJrLgo+Cj4gSSdtIHByb2JhYmx5IG1pc3Npbmcgc29tZXRoaW5nIGhlcmUu Cj4KPiBBbmtpdCBsaXN0cyB0aGUgbW9kZXMgZm9yIERQLTIgaW4gWzFdLCBhbmQgYW1vbmcgdGhl bSBpcwo+IDI1NjB4Mjg4MC4gSG93J3MgdGhhdCBkaWZmZXJlbnQgZnJvbSB1c2luZywgc2F5LCAz ODQweDIxNjA/Cj4KPiBCUiwKPiBKYW5pLgo+Cj4KPiBbMV0gaHR0cDovL21pZC5tYWlsLWFyY2hp dmUuY29tLzU0YzZjMmMxLWQ5NWUtM2JiNC01MGRkLTFlZmZmNmJlZDdkZEBpbnRlbC5jb20KPgo+ CgpUaGUgaXNzdWUgaXMgc2VlbiBvbmx5IHdoZW4gdGhlIG1vZGUgMjU2MHgyODgwIGlzIHNldCBm b3IgYm90aCBvZiB0aGUgCmNvbm5lY3RvcnMuIFNvIGlmIHdlIHNlZSBhbnkgb3RoZXIgY29tYmlu YXRpb24sIHNheSAyNTYweDI4ODAgb24gRFAtMSwgCjM4NDB4MjE2MCBvbiBEUC0yLCBvbmUgb2Yg dGhlIG1vZGUgd2lsbCBjb3ZlciB0aGUgZW50aXJlIHNjcmVlbiBhbmQgCnRoZXJlIGlzIG5vIGNv cnJ1cHRpb24gb2JzZXJ2ZWQuIFRoaXMgaXMgdHJ1ZSBmb3IgYWxsIGNvbWJpbmF0aW9ucyBvdGhl ciAKdGhhbiB0aGUgKDI1NjB4Mjg4MCwyNTYweDI4ODApIGNvbWJpbmF0aW9uLgoKSSBhbSBub3Qg c3VyZSBidXQgaXQgc2VlbXMgbGlrZSwgdGhlIG1vbml0b3Igd2hlbiByZWNlaXZlcyB0aGUgMjU2 MHgyODgwIAptb2RlcyBvbiBib3RoIGNvbm5lY3RvcnMsIGF0IHRoYXQgdGltZSB0aGUgZHVhbC1k cCBjb21lcyB0byBwbGF5IGFuZCB0aGUgCmNvcnJ1cHRpb24gb2NjdXJzLiAoSSBoYWQgdHJpZWQg dG8gc2V0IHRoZSBtb2RlIHVzaW5nIHRoZSBVYnVudHUgRGlzcGxheSAKc2V0dGluZ3MuKQoKSSBo YWQgdHJpZWQgd2l0aCBEZWxsIFVQMjcxNUsgbW9uaXRvciwgSSBjYW4gdHJ5IHRvIGdldCBvdGhl ciB0aWxlZCA1ayAKbW9uaXRvcnMgYW5kIGNoZWNrIHRoZSBpc3N1ZSB3aXRob3V0IFgtc2VydmVy IG9uLgoKSWYgaXRzIFBhbmVsIHNwZWNpZmljIGlzc3VlLCBpdHMgYmV0dGVyIHRvIGFkZCBxdWly ayBhcyBzdWdnZXN0ZWQuCgpUaGFua3MgJiBSZWdhcmRzLApBbmtpdAoKPgo+Cj4+Cj4+IE1hbmFz aQo+Pgo+Pj4KPj4+Cj4+PiBCUiwKPj4+IEphbmkuCj4+Pgo+Pj4KPj4+Cj4+Pj4KPj4+PiBSZWdh cmRzCj4+Pj4gTWFuYXNpCj4+Pj4+Cj4+Pj4+IEJsYW5rZXQgZmlsdGVycyBsaWtlIHRoaXMgYXJl IGEgbm8tZ28uCj4+Pj4+Cj4+Pj4+IEJSLAo+Pj4+PiBKYW5pLgo+Pj4+Pgo+Pj4+Pgo+Pj4+Pj4g IAlyZXR1cm4gTU9ERV9PSzsKPj4+Pj4+ICB9Cj4+Pj4+Cj4+Pj4+IC0tCj4+Pj4+IEphbmkgTmlr dWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKPj4+Pj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+Pj4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+Pj4+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4+Pgo+ Pj4gLS0KPj4+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIK PgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=