From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH v10 10/11] drm: Add aspect ratio parsing in DRM layer Date: Tue, 17 Apr 2018 09:33:31 +0200 Message-ID: <20180417073331.GS31310@phenom.ffwll.local> References: <1523034252-5275-1-git-send-email-ankit.k.nautiyal@intel.com> <1523034252-5275-11-git-send-email-ankit.k.nautiyal@intel.com> <73defe1e-9bb6-dd9b-577f-a4fb382cf1e4@intel.com> <20180406174408.GA16976@intel.com> <503ea59e-eb09-c8da-d2cb-f9b5fcf412de@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 03F7A6E0A2 for ; Tue, 17 Apr 2018 07:33:35 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id l49so32525078wrl.4 for ; Tue, 17 Apr 2018 00:33:35 -0700 (PDT) Content-Disposition: inline In-Reply-To: <503ea59e-eb09-c8da-d2cb-f9b5fcf412de@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Nautiyal, Ankit K" Cc: "daniel.vetter@ffwll.ch" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMTcsIDIwMTggYXQgMTA6NDU6MDdBTSArMDUzMCwgTmF1dGl5YWwsIEFua2l0 IEsgd3JvdGU6Cj4gCj4gT24gNC82LzIwMTggMTE6MTQgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90 ZToKPiA+IE9uIEZyaSwgQXByIDA2LCAyMDE4IGF0IDEwOjU1OjE0UE0gKzA1MzAsIE5hdXRpeWFs LCBBbmtpdCBLIHdyb3RlOgo+ID4gPiBUaGlzIHBhdGNoIGlzIGNhdXNpbmcgZmFpbHVyZSBvZiBJ R1QgdGVzdCBrbXNfM2QuIFRoZSBrbXNfM2QgdGVzdAo+ID4gPiBleHBlY3RzIHRoZSBuby4gb2Yg M2QgbW9kZXMgdG8gYmUgMTMuCj4gPiA+IAo+ID4gPiAoVGhlIHRlc3QgaGFzIGhhcmQtY29kZWQg dmFsdWUgZm9yIGV4cGVjdGVkIG5vLiBvZiAzZCBtb2RlcyBhcyAxMykKPiA+ID4gCj4gPiA+IEJ1 dCBkdWUgdG8gdGhlIGFkZGl0aW9uIG9mICJtYXRjaGluZyBhc3BlY3RfcmF0aW8iIGluIGRybV9t b2RlX2VxdWFsIGluCj4gPiA+IHRoaXMgcGF0Y2gsIHRoZSB0b3RhbCBuby4gb2YKPiA+ID4gCj4g PiA+IG1vZGVzIGluIHRoZSBjb25uZWN0b3IgbW9kZWxpc3QgaXMgaW5jcmVhc2VkIGJ5IDIsIHJl c3VsdGluZyBpbiBmYWlsdXJlCj4gPiA+IG9mIGFzc2VydGlvbiAnbW9kZV9jb3VudD09MTMnLgo+ ID4gSWYga21zXzNkIGlzbid0IHNldHRpbmcgdGhlIGFzcGVjdCByYXRpbyBjYXAgaG93IGlzIGl0 IGFmZmVjdGVkIGJ5IHRoZXNlCj4gPiBjaGFuZ2VzPwo+IEluIGRybV9tb2RlLmMsIHRoZSBkcm1f bW9kZV9jb25uZWN0b3JfbGlzdF91cGRhdGUoKSB1c2VzIGRybV9tb2RlX2VxdWFsLAo+IHRvIHJl bW92ZSBkdXBsaWNhdGUgbW9kZXMgaW4gY29ubmVjdG9yX21vZGVzIGZyb20gdGhlCj4gY29ubmVj dG9yLT5wcm9iZV9tb2Rlcy4KPiBFYXJsaWVyLCBpdCB3YXNuJ3QgbWF0Y2hpbmcgZm9yIGFzcGVj dC1yYXRpbyBhbmQgd2FzIGRpc2NhcmRpbmcgdHdvIG9mIHRoZQo+IG1vZGVzIHdpdGggYXNwZWN0 IHJhdGlvLAo+IGFzIGR1cGxpY2F0ZXMgb2Ygb3RoZXIgbW9kZXMgaW4gdGhlIGxpc3QuCj4gCj4g TGF0ZXIsIHdoZW4gd2UgYXJlIHBydW5pbmcgdGhlIG1vZGVzIGluIGRybV9tb2RlX2dldF9jb25u ZWN0b3IsIHRoZSBsb2dpYwo+IHRoZXJlIGFzc3VtZXMsCj4gdGhhdCB0aGUgbW9kZXMgYXJlIGlu IGEgc29ydGVkIG9yZGVyIHNvIHRoYXQgd2UganVzdCBtYXRjaCB3aXRoIHRoZSBsYXN0Cj4gdmFs aWQgbW9kZSBmb3IgdW5pcXVlbmVzcy4KPiBUaGlzIGlzbid0IHRoZSBjYXNlIHdpdGggdGhlIHNw b29mZWQgZWRpZCBpbiBrbXNfM2QuCj4gRWFybGllciwgSSB3YXMgdGhpbmtpbmcgaWYgd2Ugc2hv dWxkIGNoYW5nZSB0aGUgbm8uIG9mIGV4cGVjdGVkIG1vZGVzIGluCj4ga21zXzNkLAo+IGJ1dCB0 aGF0J3Mgbm90IGNvcnJlY3QgYXBwcm9hY2guCj4gCj4gU28gZmluYWxseSwgVGhlIHBydW5pbmcg bG9naWMgbmVlZHMgdG8gYmUgY2hhbmdlZCwgdG8gZG8gYXdheSB3aXRoIGFueQo+IGFzc3VtcHRp b24gYW5kIGNoZWNrCj4gYWxsIHRoZSBtb2RlcyBpbiB0aGUgbGlzdCBmb3IgZHVwbGljYXRlcy4g VGhpcyBob3dldmVyIHdpbGwgdGFrZSBtb3JlIHRpbWUKPiB0byByZW1vdmUgZHVwbGljYXRlcy4K CkFncmVlZCB0aGF0IHRoZSBiZXN0IG9wdGlvbiBsb29rcyBsaWtlIGp1c3QgZml4aW5nIHRoZSBw cnVuaW5nIGxvZ2ljLgpTaW5jZSB3ZSdyZSB0YWxraW5nIGFib3V0IHZlcnkgZmV3IG1vZGVzLCBh bmQgaW4gdGhlIHByb2JlIHBhdGggKHdoZXJlCnJlYWRpbmcgZWRpZCB0YWtlcyAyMG1zIGVhc2ls eSkgdGhlIGFkZGl0aW9uYWwgY3B1IG92ZXJoZWFkIHJlYWxseSBkb2Vzbid0Cm1hdHRlciBJIHRo aW5rLgotRGFuaWVsCgoKPiBBbnkgb3RoZXIgc3VnZ2VzdGlvbnMgb24gdGhpcz8KPiAKPiBSZWdh cmRzCj4gLUFua2l0Cj4gCj4gPiAKPiA+ID4gUGVyaGFwcyB0aGlzIG5lZWQgdG8gYmUgaGFuZGxl ZCBpbiB0aGUgdGVzdC4KPiA+ID4gCj4gPiA+IC1SZWdhcmRzLAo+ID4gPiAKPiA+ID4gQW5raXQK PiA+ID4gCj4gPiA+IAo+ID4gPiBPbiA0LzYvMjAxOCAxMDozNCBQTSwgTmF1dGl5YWwsIEFua2l0 IEsgd3JvdGU6Cj4gPiA+ID4gRnJvbTogIlNoYXJtYSwgU2hhc2hhbmsiIDxzaGFzaGFuay5zaGFy bWFAaW50ZWwuY29tPgo+ID4gPiA+IAo+ID4gPiA+IEN1cnJlbnQgRFJNIGxheWVyIGZ1bmN0aW9u cyBkb24ndCBwYXJzZSBhc3BlY3QgcmF0aW8gaW5mb3JtYXRpb24KPiA+ID4gPiB3aGlsZSBjb252 ZXJ0aW5nIGEgdXNlciBtb2RlLT5rZXJuZWwgbW9kZSBvciB2aWNlIHZlcnNhLiBUaGlzCj4gPiA+ ID4gY2F1c2VzIG1vZGVzZXQgdG8gcGljayBtb2RlIHdpdGggd3JvbmcgYXNwZWN0IHJhdGlvLCBl dmVudHVhbGx5Cj4gPiA+ID4gY2F1c2luZyBmYWlsdXJlcyBpbiBIRE1JIGNvbXBsaWFuY2UgdGVz dCBjYXNlcywgZHVlIHRvIHdyb25nIFZJQy4KPiA+ID4gPiAKPiA+ID4gPiBUaGlzIHBhdGNoIGFk ZHMgYXNwZWN0IHJhdGlvIGluZm9ybWF0aW9uIGluIERSTSdzIG1vZGUgY29udmVyc2lvbgo+ID4g PiA+IGFuZCBtb2RlIGNvbXBhcmlzaW9uIGZ1bmN0aW9ucywgdG8gbWFrZSBzdXJlIGtlcm5lbCBw aWNrcyBtb2RlCj4gPiA+ID4gd2l0aCByaWdodCBhc3BlY3QgcmF0aW8gKGFzIHBlciB0aGUgVklD KS4KPiA+ID4gPiAKPiA+ID4gPiBCYWNrZ3JvdW5kOgo+ID4gPiA+IFRoaXMgcGF0Y2ggd2FzIG9u Y2UgcmV2aWV3ZWQgYW5kIG1lcmdlZCwgYW5kIGxhdGVyIHJldmVydGVkIGR1ZSB0bwo+ID4gPiA+ IGxhY2sgb2YgRFJNIGNhcCBwcm90ZWN0aW9uLiBUaGlzIGlzIGEgcmUtc3BpbiBvZiB0aGlzIHBh dGNoLCB0aGlzCj4gPiA+ID4gdGltZSB3aXRoIERSTSBjYXAgcHJvdGVjdGlvbiwgdG8gYXZvaWQg YXNwZWN0IHJhdGlvIGluZm9ybWF0aW9uLCB3aGVuCj4gPiA+ID4gdGhlIGNsaWVudCBkb2Vzbid0 IHJlcXVlc3QgZm9yIGl0Lgo+ID4gPiA+IAo+ID4gPiA+IFJldmlldyBsaW5rOiBodHRwczovL3B3 LWVtZXJpbC5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMTA0MDY4Lwo+ID4gPiA+IEJhY2tncm91bmQg ZGlzY3Vzc2lvbjogaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wYXRjaC85Mzc5MDU3Lwo+ ID4gPiA+IAo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsu c2hhcm1hQGludGVsLmNvbT4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBMaW4sIEppYSA8bGluLmEu amlhQGludGVsLmNvbT4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBa2FzaGRlZXAgU2hhcm1hIDxh a2FzaGRlZXAuc2hhcm1hQGludGVsLmNvbT4KPiA+ID4gPiBSZXZpZXdlZC1ieTogSmltIEJyaWRl IDxqaW0uYnJpZGVAbGludXguaW50ZWwuY29tPiAoVjIpCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IEpv c2UgQWJyZXUgPEpvc2UuQWJyZXVAc3lub3BzeXMuY29tPiAoVjQpCj4gPiA+ID4gCj4gPiA+ID4g Q2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+ IENjOiBKaW0gQnJpZGUgPGppbS5icmlkZUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ID4gQ2M6IEpv c2UgQWJyZXUgPEpvc2UuQWJyZXVAc3lub3BzeXMuY29tPgo+ID4gPiA+IENjOiBBbmtpdCBOYXV0 aXlhbCA8YW5raXQuay5uYXV0aXlhbEBpbnRlbC5jb20+Cj4gPiA+ID4gCj4gPiA+ID4gVjM6IG1v ZGlmaWVkIHRoZSBhc3BlY3QtcmF0aW8gY2hlY2sgaW4gZHJtX21vZGVfZXF1YWwgYXMgcGVyIG5l dyBmbGFncwo+ID4gPiA+ICAgICAgIHByb3ZpZGVkIGJ5IFZpbGxlLiBodHRwczovL3BhdGNod29y ay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMTg4MDQzLwo+ID4gPiA+IFY0OiByZWJhc2UKPiA+ID4g PiBWNTogcmViYXNlCj4gPiA+ID4gVjY6IEFzIHJlY29tbWVuZGVkIGJ5IFZpbGxlLCBhdm9pZGVk IG1hdGNoaW5nIG9mIGFzcGVjdC1yYXRpbyBpbgo+ID4gPiA+ICAgICAgIGRybV9mYl9oZWxwZXIs IHdoaWxlIHRyeWluZyB0byBmaW5kIGEgY29tbW9uIG1vZGUgYW1vbmcgY29ubmVjdG9ycwo+ID4g PiA+ICAgICAgIGZvciB0aGUgdGFyZ2V0IGNsb25lIG1vZGUuCj4gPiA+ID4gVjc6IHJlYmFzZQo+ ID4gPiA+IFY4OiByZWJhc2UKPiA+ID4gPiBWOTogcmViYXNlCj4gPiA+ID4gVjEwOiByZWJhc2UK PiA+ID4gPiAtLS0KPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIHwg MTIgKysrKysrKysrKy0tCj4gPiA+ID4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jICAg ICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gPiA+ID4gICAgMiBm aWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ID4gPiA+IAo+ ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4gPiA+IGluZGV4IDA2NDZiMTAuLjJlZTFl YWEgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiA+ID4gPiBAQCAt MjE4Myw3ICsyMTgzLDExIEBAIHN0YXRpYyBib29sIGRybV90YXJnZXRfY2xvbmVkKHN0cnVjdCBk cm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCj4gPiA+ID4gICAgCQlmb3IgKGogPSAwOyBqIDwgaTsg aisrKSB7Cj4gPiA+ID4gICAgCQkJaWYgKCFlbmFibGVkW2pdKQo+ID4gPiA+ICAgIAkJCQljb250 aW51ZTsKPiA+ID4gPiAtCQkJaWYgKCFkcm1fbW9kZV9lcXVhbChtb2Rlc1tqXSwgbW9kZXNbaV0p KQo+ID4gPiA+ICsJCQlpZiAoIWRybV9tb2RlX21hdGNoKG1vZGVzW2pdLCBtb2Rlc1tpXSwKPiA+ ID4gPiArCQkJCQkgICAgRFJNX01PREVfTUFUQ0hfVElNSU5HUyB8Cj4gPiA+ID4gKwkJCQkJICAg IERSTV9NT0RFX01BVENIX0NMT0NLIHwKPiA+ID4gPiArCQkJCQkgICAgRFJNX01PREVfTUFUQ0hf RkxBR1MgfAo+ID4gPiA+ICsJCQkJCSAgICBEUk1fTU9ERV9NQVRDSF8zRF9GTEFHUykpCj4gPiA+ ID4gICAgCQkJCWNhbl9jbG9uZSA9IGZhbHNlOwo+ID4gPiA+ICAgIAkJfQo+ID4gPiA+ICAgIAl9 Cj4gPiA+ID4gQEAgLTIyMDMsNyArMjIwNywxMSBAQCBzdGF0aWMgYm9vbCBkcm1fdGFyZ2V0X2Ns b25lZChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ID4gPiA+ICAgIAkJZmJfaGVs cGVyX2Nvbm4gPSBmYl9oZWxwZXItPmNvbm5lY3Rvcl9pbmZvW2ldOwo+ID4gPiA+ICAgIAkJbGlz dF9mb3JfZWFjaF9lbnRyeShtb2RlLCAmZmJfaGVscGVyX2Nvbm4tPmNvbm5lY3Rvci0+bW9kZXMs IGhlYWQpIHsKPiA+ID4gPiAtCQkJaWYgKGRybV9tb2RlX2VxdWFsKG1vZGUsIGRtdF9tb2RlKSkK PiA+ID4gPiArCQkJaWYgKGRybV9tb2RlX21hdGNoKG1vZGUsIGRtdF9tb2RlLAo+ID4gPiA+ICsJ CQkJCSAgIERSTV9NT0RFX01BVENIX1RJTUlOR1MgfAo+ID4gPiA+ICsJCQkJCSAgIERSTV9NT0RF X01BVENIX0NMT0NLIHwKPiA+ID4gPiArCQkJCQkgICBEUk1fTU9ERV9NQVRDSF9GTEFHUyB8Cj4g PiA+ID4gKwkJCQkJICAgRFJNX01PREVfTUFUQ0hfM0RfRkxBR1MpKQo+ID4gPiA+ICAgIAkJCQlt b2Rlc1tpXSA9IG1vZGU7Cj4gPiA+ID4gICAgCQl9Cj4gPiA+ID4gICAgCQlpZiAoIW1vZGVzW2ld KQo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKPiA+ID4gPiBpbmRleCBkNjEzM2U4Li40NTRmMmZmIDEw MDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+ID4gPiA+IEBAIC0xMDQ5LDcgKzEwNDks OCBAQCBib29sIGRybV9tb2RlX2VxdWFsKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlMSwKPiA+ID4gPiAgICAJCQkgICAgICBEUk1fTU9ERV9NQVRDSF9USU1JTkdTIHwKPiA+ID4g PiAgICAJCQkgICAgICBEUk1fTU9ERV9NQVRDSF9DTE9DSyB8Cj4gPiA+ID4gICAgCQkJICAgICAg RFJNX01PREVfTUFUQ0hfRkxBR1MgfAo+ID4gPiA+IC0JCQkgICAgICBEUk1fTU9ERV9NQVRDSF8z RF9GTEFHUyk7Cj4gPiA+ID4gKwkJCSAgICAgIERSTV9NT0RFX01BVENIXzNEX0ZMQUdTfAo+ID4g PiA+ICsJCQkgICAgICBEUk1fTU9ERV9NQVRDSF9BU1BFQ1RfUkFUSU8pOwo+ID4gPiA+ICAgIH0K PiA+ID4gPiAgICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2VxdWFsKTsKPiA+ID4gPiBAQCAtMTY0 Nyw2ICsxNjQ4LDIwIEBAIHZvaWQgZHJtX21vZGVfY29udmVydF90b191bW9kZShzdHJ1Y3QgZHJt X21vZGVfbW9kZWluZm8gKm91dCwKPiA+ID4gPiAgICAJb3V0LT52cmVmcmVzaCA9IGluLT52cmVm cmVzaDsKPiA+ID4gPiAgICAJb3V0LT5mbGFncyA9IGluLT5mbGFnczsKPiA+ID4gPiAgICAJb3V0 LT50eXBlID0gaW4tPnR5cGU7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJc3dpdGNoIChpbi0+cGljdHVy ZV9hc3BlY3RfcmF0aW8pIHsKPiA+ID4gPiArCWNhc2UgSERNSV9QSUNUVVJFX0FTUEVDVF80XzM6 Cj4gPiA+ID4gKwkJb3V0LT5mbGFncyB8PSBEUk1fTU9ERV9GTEFHX1BJQ19BUl80XzM7Cj4gPiA+ ID4gKwkJYnJlYWs7Cj4gPiA+ID4gKwljYXNlIEhETUlfUElDVFVSRV9BU1BFQ1RfMTZfOToKPiA+ ID4gPiArCQlvdXQtPmZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUElDX0FSXzE2Xzk7Cj4gPiA+ID4g KwkJYnJlYWs7Cj4gPiA+ID4gKwljYXNlIEhETUlfUElDVFVSRV9BU1BFQ1RfUkVTRVJWRUQ6Cj4g PiA+ID4gKwlkZWZhdWx0Ogo+ID4gPiA+ICsJCW91dC0+ZmxhZ3MgfD0gRFJNX01PREVfRkxBR19Q SUNfQVJfTk9ORTsKPiA+ID4gPiArCQlicmVhazsKPiA+ID4gPiArCX0KPiA+ID4gPiArCj4gPiA+ ID4gICAgCXN0cm5jcHkob3V0LT5uYW1lLCBpbi0+bmFtZSwgRFJNX0RJU1BMQVlfTU9ERV9MRU4p Owo+ID4gPiA+ICAgIAlvdXQtPm5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU4tMV0gPSAwOwo+ID4g PiA+ICAgIH0KPiA+ID4gPiBAQCAtMTY5Myw2ICsxNzA4LDI0IEBAIGludCBkcm1fbW9kZV9jb252 ZXJ0X3Vtb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiA+ID4gICAgCXN0cm5jcHkob3V0 LT5uYW1lLCBpbi0+bmFtZSwgRFJNX0RJU1BMQVlfTU9ERV9MRU4pOwo+ID4gPiA+ICAgIAlvdXQt Pm5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU4tMV0gPSAwOwo+ID4gPiA+ICsJLyogQ2xlYXJpbmcg cGljdHVyZSBhc3BlY3QgcmF0aW8gYml0cyBmcm9tIG91dCBmbGFncywKPiA+ID4gPiArCSAqIGFz IHRoZSBhc3BlY3QtcmF0aW8gaW5mb3JtYXRpb24gaXMgbm90IHN0b3JlZCBpbgo+ID4gPiA+ICsJ ICogZmxhZ3MgZm9yIGtlcm5lbC1tb2RlLCBidXQgaW4gcGljdHVyZV9hc3BlY3RfcmF0aW8uCj4g PiA+ID4gKwkgKi8KPiA+ID4gPiArCW91dC0+ZmxhZ3MgJj0gfkRSTV9NT0RFX0ZMQUdfUElDX0FS X01BU0s7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJc3dpdGNoIChpbi0+ZmxhZ3MgJiBEUk1fTU9ERV9G TEFHX1BJQ19BUl9NQVNLKSB7Cj4gPiA+ID4gKwljYXNlIERSTV9NT0RFX0ZMQUdfUElDX0FSXzRf MzoKPiA+ID4gPiArCQlvdXQtPnBpY3R1cmVfYXNwZWN0X3JhdGlvIHw9IEhETUlfUElDVFVSRV9B U1BFQ1RfNF8zOwo+ID4gPiA+ICsJCWJyZWFrOwo+ID4gPiA+ICsJY2FzZSBEUk1fTU9ERV9GTEFH X1BJQ19BUl8xNl85Ogo+ID4gPiA+ICsJCW91dC0+cGljdHVyZV9hc3BlY3RfcmF0aW8gfD0gSERN SV9QSUNUVVJFX0FTUEVDVF8xNl85Owo+ID4gPiA+ICsJCWJyZWFrOwo+ID4gPiA+ICsJZGVmYXVs dDoKPiA+ID4gPiArCQlvdXQtPnBpY3R1cmVfYXNwZWN0X3JhdGlvID0gSERNSV9QSUNUVVJFX0FT UEVDVF9OT05FOwo+ID4gPiA+ICsJCWJyZWFrOwo+ID4gPiA+ICsJfQo+ID4gPiA+ICsKPiA+ID4g PiAgICAJb3V0LT5zdGF0dXMgPSBkcm1fbW9kZV92YWxpZGF0ZV9kcml2ZXIoZGV2LCBvdXQpOwo+ ID4gPiA+ICAgIAlpZiAob3V0LT5zdGF0dXMgIT0gTU9ERV9PSykKPiA+ID4gPiAgICAJCXJldHVy biAtRUlOVkFMOwo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+IAo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=