From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Add BXT Sprite plane fractional scalings Date: Thu, 26 Nov 2015 20:33:42 +0200 Message-ID: <20151126183342.GI4437@intel.com> References: <1447846981-32074-1-git-send-email-nabendu.bikash.maiti@intel.com> <20151118121137.GD4437@intel.com> <564C7805.9060407@intel.com> <20151118131917.GH4437@intel.com> <56574D3F.7080206@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id B2A386E140 for ; Thu, 26 Nov 2015 10:33:45 -0800 (PST) Content-Disposition: inline In-Reply-To: <56574D3F.7080206@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Nabendu Maiti Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBOb3YgMjYsIDIwMTUgYXQgMTE6NDk6NDNQTSArMDUzMCwgTmFiZW5kdSBNYWl0aSB3 cm90ZToKPiAKPiAKPiBPbiAxMS8xOC8yMDE1IDA2OjQ5IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3Jv dGU6Cj4gPiBPbiBXZWQsIE5vdiAxOCwgMjAxNSBhdCAwNjozNzoxN1BNICswNTMwLCBNYWl0aSwg TmFiZW5kdSBCaWthc2ggd3JvdGU6Cj4gPj4KPiA+PiBPbiAxMS8xOC8yMDE1IDU6NDEgUE0sIFZp bGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+Pj4gT24gV2VkLCBOb3YgMTgsIDIwMTUgYXQgMDU6MTM6 MDFQTSArMDUzMCwgTmFiZW5kdSBNYWl0aSB3cm90ZToKPiA+Pj4+IE9uIG9sZGVyIHBsYXRmb3Jt cyBzY2FsZXJzL2NsaXBpbmcgdXNlZCB0byBwcm92aWRlIGRlc3RpbmF0aW9uIHNpemUgYW4KPiA+ Pj4+IGV4YWN0IG11bHRpcGxlIG9mIHNyYyBzaXplLgo+ID4+Pj4gR2VuLTkgYW5kIGFib3ZlIHN1 cHBvcnQgZnJhY3Rpb25hbCByYXRpbyBvZiBkc3Qvc3JjIHNvIHRoYXQgc291cmNlIGlzCj4gPj4+ PiBub3QgbWFuaXB1bGF0ZWQgdG8gbWVldCB0aGUgZXhhY3QgbXVsdGlwbGUgZmFjdG9yLgo+ID4+ Pj4KPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IE5hYmVuZHUgTWFpdGkgPG5hYmVuZHUuYmlrYXNoLm1h aXRpQGludGVsLmNvbT4KPiA+Pj4+IC0tLQo+ID4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc3ByaXRlLmMgfCA0OCArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t Cj4gPj4+PiAgICAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25z KC0pCj4gPj4+Pgo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiA+Pj4+IGlu ZGV4IDJiOTZmMzMuLmU4YzE3YWUgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc3ByaXRlLmMKPiA+Pj4+IEBAIC04MTMsMjkgKzgxMywzNyBAQCBpbnRlbF9jaGVja19zcHJp dGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPj4+PiAgICAJY3J0Y19oID0gZHJt X3JlY3RfaGVpZ2h0KGRzdCk7Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIAlpZiAoc3RhdGUtPnZpc2li bGUpIHsKPiA+Pj4+IC0JCS8qIGNoZWNrIGFnYWluIGluIGNhc2UgY2xpcHBpbmcgY2xhbXBlZCB0 aGUgcmVzdWx0cyAqLwo+ID4+Pj4gLQkJaHNjYWxlID0gZHJtX3JlY3RfY2FsY19oc2NhbGUoc3Jj LCBkc3QsIG1pbl9zY2FsZSwgbWF4X3NjYWxlKTsKPiA+Pj4+IC0JCWlmIChoc2NhbGUgPCAwKSB7 Cj4gPj4+PiAtCQkJRFJNX0RFQlVHX0tNUygiSG9yaXpvbnRhbCBzY2FsaW5nIGZhY3RvciBvdXQg b2YgbGltaXRzXG4iKTsKPiA+Pj4+IC0JCQlkcm1fcmVjdF9kZWJ1Z19wcmludCgic3JjOiAiLCBz cmMsIHRydWUpOwo+ID4+Pj4gLQkJCWRybV9yZWN0X2RlYnVnX3ByaW50KCJkc3Q6ICIsIGRzdCwg ZmFsc2UpOwo+ID4+Pj4gLQo+ID4+Pj4gLQkJCXJldHVybiBoc2NhbGU7Cj4gPj4+PiAtCQl9Cj4g Pj4+PiAgICAKPiA+Pj4+IC0JCXZzY2FsZSA9IGRybV9yZWN0X2NhbGNfdnNjYWxlKHNyYywgZHN0 LCBtaW5fc2NhbGUsIG1heF9zY2FsZSk7Cj4gPj4+PiAtCQlpZiAodnNjYWxlIDwgMCkgewo+ID4+ Pj4gLQkJCURSTV9ERUJVR19LTVMoIlZlcnRpY2FsIHNjYWxpbmcgZmFjdG9yIG91dCBvZiBsaW1p dHNcbiIpOwo+ID4+Pj4gLQkJCWRybV9yZWN0X2RlYnVnX3ByaW50KCJzcmM6ICIsIHNyYywgdHJ1 ZSk7Cj4gPj4+PiAtCQkJZHJtX3JlY3RfZGVidWdfcHJpbnQoImRzdDogIiwgZHN0LCBmYWxzZSk7 Cj4gPj4+PiArCQkvKiBHZW4gOSBhbmQgYWJvdmUgaGFzIGZyYWN0aW9uYWwgc2NhbGluZyBzdXBw b3J0ICovCj4gPj4+PiArCQlpZiAoSU5URUxfSU5GTyhwbGFuZS0+ZGV2KS0+Z2VuIDwgOSkgewo+ ID4+Pj4gICAgCj4gPj4+PiAtCQkJcmV0dXJuIHZzY2FsZTsKPiA+Pj4+IC0JCX0KPiA+Pj4+ICsJ CQkvKiBjaGVjayBhZ2FpbiBpbiBjYXNlIGNsaXBwaW5nIGNsYW1wZWQgdGhlIHJlc3VsdHMgKi8K PiA+Pj4+ICsJCQloc2NhbGUgPSBkcm1fcmVjdF9jYWxjX2hzY2FsZShzcmMsIGRzdCwgbWluX3Nj YWxlLCBtYXhfc2NhbGUpOwo+ID4+Pj4gKwkJCWlmIChoc2NhbGUgPCAwKSB7Cj4gPj4+PiArCQkJ CURSTV9ERUJVR19LTVMoIkhvcml6b250YWwgc2NhbGluZyBmYWN0b3Igb3V0IG9mIGxpbWl0c1xu Iik7Cj4gPj4+PiArCQkJCWRybV9yZWN0X2RlYnVnX3ByaW50KCJzcmM6ICIsIHNyYywgdHJ1ZSk7 Cj4gPj4+PiArCQkJCWRybV9yZWN0X2RlYnVnX3ByaW50KCJkc3Q6ICIsIGRzdCwgZmFsc2UpOwo+ ID4+Pj4gKwo+ID4+Pj4gKwkJCQlyZXR1cm4gaHNjYWxlOwo+ID4+Pj4gKwkJCX0KPiA+Pj4+ICsK PiA+Pj4+ICsJCQl2c2NhbGUgPSBkcm1fcmVjdF9jYWxjX3ZzY2FsZShzcmMsIGRzdCwgbWluX3Nj YWxlLCBtYXhfc2NhbGUpOwo+ID4+Pj4gKwkJCWlmICh2c2NhbGUgPCAwKSB7Cj4gPj4+PiArCQkJ CURSTV9ERUJVR19LTVMoIlZlcnRpY2FsIHNjYWxpbmcgZmFjdG9yIG91dCBvZiBsaW1pdHNcbiIp Owo+ID4+Pj4gKwkJCQlkcm1fcmVjdF9kZWJ1Z19wcmludCgic3JjOiAiLCBzcmMsIHRydWUpOwo+ ID4+Pj4gKwkJCQlkcm1fcmVjdF9kZWJ1Z19wcmludCgiZHN0OiAiLCBkc3QsIGZhbHNlKTsKPiA+ Pj4+ICAgIAo+ID4+Pj4gLQkJLyogTWFrZSB0aGUgc291cmNlIHZpZXdwb3J0IHNpemUgYW4gZXhh Y3QgbXVsdGlwbGUgb2YgdGhlIHNjYWxpbmcgZmFjdG9ycy4gKi8KPiA+Pj4+IC0JCWRybV9yZWN0 X2FkanVzdF9zaXplKHNyYywKPiA+Pj4+IC0JCQkJICAgICBkcm1fcmVjdF93aWR0aChkc3QpICog aHNjYWxlIC0gZHJtX3JlY3Rfd2lkdGgoc3JjKSwKPiA+Pj4+IC0JCQkJICAgICBkcm1fcmVjdF9o ZWlnaHQoZHN0KSAqIHZzY2FsZSAtIGRybV9yZWN0X2hlaWdodChzcmMpKTsKPiA+Pj4+ICsJCQkJ cmV0dXJuIHZzY2FsZTsKPiA+Pj4+ICsJCQl9Cj4gPj4+PiArCj4gPj4+PiArCQkJLyoKPiA+Pj4+ ICsJCQkgKiBNYWtlIHRoZSBzb3VyY2Ugdmlld3BvcnQgc2l6ZSBhbiBleGFjdAo+ID4+Pj4gKwkJ CSAqIG11bHRpcGxlIG9mIHRoZSBzY2FsaW5nIGZhY3RvcnMuCj4gPj4+PiArCQkJICovCj4gPj4+ PiArCQkJZHJtX3JlY3RfYWRqdXN0X3NpemUoc3JjLAo+ID4+Pj4gKwkJCQkJICAgICBkcm1fcmVj dF93aWR0aChkc3QpICogaHNjYWxlIC0gZHJtX3JlY3Rfd2lkdGgoc3JjKSwKPiA+Pj4+ICsJCQkJ CSAgICAgZHJtX3JlY3RfaGVpZ2h0KGRzdCkgKiB2c2NhbGUgLSBkcm1fcmVjdF9oZWlnaHQoc3Jj KSk7Cj4gPj4+PiArCQl9Cj4gPj4+IE5BSy4gVGhpcyBjb2RlIGp1c3QgbWFrZXMgc3VyZSB0aGUg YWN0dWFsIHNjYWxpbmcgcmF0aW8gbWF0Y2hlcyB3aGF0IHdlCj4gPj4+IGNhbGN1bGF0ZWQuIEFz IGluIHRoZXJlIG1heSBoYXZlIGJlZW4gc29tZSBhbW91bnQgb2Ygcm91bmRpbmcgaW52b2x2ZWQK PiA+Pj4gZXRjLgo+ID4+Pgo+ID4+PiBUaGUgcGFydCB5b3UgYWN0dWFsbHkgd2FudCB0byBjaGFu Z2UgaXMgd2hhdCBjb21lcyBhZnRlciB0aGlzIHdoZXJlIHdlCj4gPj4+IHRocm93IGF3YXkgdGhl IGZyYWN0aW9uYWwgcGFydCBvZiB0aGUgY29vcmRpbmF0ZXMuIEFuZCB0aGVuIHlvdSBuZWVkIHRv Cj4gPj4+IGNoYW5nZSB0aGUgYWN0dWFsIGh3IHByb2dyYW1taW5nIHNvIHRoYXQgd2UgYWN0dWFs bHkgZmVlZCB0aGUgc3ViLXBpeGVsCj4gPj4+IGNvb3JkaW5hdGVzIHRvIHRoZSBoYXJkd2FyZS4K PiA+PiBJbiBsaW5lCj4gPj4KPiA+PiBkcm1fcmVjdF9hZGp1c3Rfc2l6ZShzcmMsCj4gPj4gKwkJ CQkJICAgICBkcm1fcmVjdF93aWR0aChkc3QpICogaHNjYWxlIC0gZHJtX3JlY3Rfd2lkdGgoc3Jj KSwKPiA+PiArCQkJCQkgICAgIGRybV9yZWN0X2hlaWdodChkc3QpICogdnNjYWxlIC0gZHJtX3Jl Y3RfaGVpZ2h0KHNyYykpOwo+ID4+Cj4gPj4gSSB0aGluayB3ZSB0aHJvdyBhd2F5IHRoZSBmcmFj dGlvbmFsIHBhcnQsCj4gPiBObywgd2UgZG9uJ3QuCj4gSXQgZ2V0IGNoYW5nZWQgZm9yIGV4YW1w bGUgc3JjIHNpemUgNDAweDU5NiAgIHRvIGRlc3RpbmF0aW9uIDEwNTV4NzAwLgo+IHRoZW4gIGku ZS4gdTMyL2ludCBoc2NhbGUgPSAoc3JjICogMHgxMDAwMCkvZHN0ID0gMHgxOTAwMDAwLzB4NDFm ID0gCj4gMjYyMTQ0MDAvMTA1NT0gMjQ4NDcgKGFjdHVhbGx5IDI0ODQ3Ljc3MjUxMTg0OCkKPiBz byBpbiBuZXh0IGxpbmUgaXQgZ2V0IG1vZGlmaWVkIC4KPiAKPiBkcm1fcmVjdF9hZGp1c3Rfc2l6 ZShzcmMsCj4gKwkJCQkJICAgICBkcm1fcmVjdF93aWR0aChkc3QpICogaHNjYWxlIC0gZHJtX3Jl Y3Rfd2lkdGgoc3JjKSwKPiArCQkJCQkgICAgIGRybV9yZWN0X2hlaWdodChkc3QpICogdnNjYWxl IC0gZHJtX3JlY3RfaGVpZ2h0KHNyYykpOyAsCj4gCj4gU3JjIHdpZHRoIGJlY29tZSAzOTksIHdo aWNoIGlzIHVzZWQgZm9yIGZ1cnRoZXIgY2FsY3VsYXRpb24gJiBjb21taXRpbmcuCgpObywgaXQg YmVjb21lcwpoc2NhbGUgPSBmbG9vcig0MDAgKiAyXjE2IC8gMTA1NSkgPSAyNDg0NwpzcmMgd2lk dGggPSAyNDg0NyAqIDEwNTUgPSAyNjIxMzU4NQpzcmMgd2lkdGggLyAyXjE2IH49IDM5OS45ODc2 CgpUaGUgZnJhY3Rpb25hbCBiaXRzIGFyZSB0aHJvd24gYXdheSBsYXRlciB3aGVuIHNvbW9uZSBk b2VzIHNyYyB3aWR0aCA+PjE2LgoKPiAKPiBmb2xsb3dpbmcgbG9ncyBhbHNvIHNob3dzIHNhbWUg cmVzdWx0Cj4gCj4gCj4gWyAxNDQuNzQ5NjI4XSBbZHJtOmludGVsX2NoZWNrX3Nwcml0ZV9wbGFu ZV0gTkJNIFQwMDogc3JjLSB4MTp5MS0+IDA6MCAKPiB4Mjp5Mi0+MjYyMTQ0MDA6MzkwNTk0NTYK PiBbIDE0NC43NDk2ODddIFtkcm06aW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lXSBOQk0gVDAxOiBk c3QtIHgxOnkxLT4gMDowIAo+IHgyOnkyLT4xMDU1OjcwMAo+IFsgMTQ0Ljc0OTc0N10gW2RybTpp bnRlbF9jaGVja19zcHJpdGVfcGxhbmVdIE5CTSBUMDI6IENsaXAtIHgxOnkxLT4gMDowIAo+IHgy OnkyLT4xMDgwOjE5MjAKPiBbIDE0NC43NDk4NjJdIFtkcm06aW50ZWxfY2hlY2tfc3ByaXRlX3Bs YW5lXSBOQk0gVDAyYTogc3JjLSB4MTp5MS0+IDA6MCAKPiB4Mjp5Mi0+MjYyMTQ0MDA6MzkwNTk0 NTYKPiBbIDE0NC43NDk5MjRdIFtkcm06aW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lXSBOQk0gVDAy YjogZHN0LSB4MTp5MS0+IDA6MCAKPiB4Mjp5Mi0+MTA1NTo3MDAKPiBbIDE0NC43NDk5ODNdIFtk cm06aW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lXSBOQk0gVDAzOiBoc2NhbGU6IDI0ODQ3IAo+IHZz Y2FsZTogNTU3OTkKPiBbIDE0NC43NTAwNDBdIFtkcm06aW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5l XSBOQk0gVDA0OiBzcmMtIHgxOnkxLT4gMDowIAo+IHgyOnkyLT4yNjIxNDQwMDozOTA1OTQ1Ngo+ IFsgMTQ0Ljc1MDE0M10gW2RybTppbnRlbF9jaGVja19zcHJpdGVfcGxhbmVdIE5CTSBUMDU6IGRz dC0geDE6eTEtPiAwOjAgCj4geDI6eTItPjEwNTU6NzAwCj4gWyAxNDQuNzUwMTk5XSBbZHJtOmlu dGVsX2NoZWNrX3Nwcml0ZV9wbGFuZV0gTkJNIFQwNWE6IENsaXAtIHgxOnkxLT4gMDowIAo+IHgy OnkyLT4xMDgwOjE5MjAKPiBbIDE0NC43NTAyNThdIFtkcm06ZHJtX3JlY3RfY2xpcF9zY2FsZWRd IE5CTSBLMDA6IHNyYy0geDE6eTEtPiAwOjAgCj4gaC0+MjYyMTQ0MDA6MzkwNTk0NTYKPiAKPiBb IDE0NC43NTAzMTJdIFtkcm06ZHJtX3JlY3RfY2xpcF9zY2FsZWRdIE5CTSBLMDE6IGRzdC0geDE6 eTEtPiAwOjAgCj4gaC0+MTA1NTo3MDAKPiBbIDE0NC43NTAzMTJdIFsgMTQ0Ljc1MDQyM10gW2Ry bTppbnRlbF9jaGVja19zcHJpdGVfcGxhbmVdIE5CTSBUMDViOiAKPiBzcmMtIHgxOnkxLT4gMDow IHgyOnkyLT4yNjIxNDQwMDozOTA1OTQ1Ngo+IFsgMTQ0Ljc1MDQ4MF0gW2RybTppbnRlbF9jaGVj a19zcHJpdGVfcGxhbmVdIE5CTSBUMDVjOiBkc3QtIHgxOnkxLT4gMDowIAo+IHgyOnkyLT4xMDU1 OjcwMAo+IFsgMTQ0Ljc1MDUzNV0gW2RybTppbnRlbF9jaGVja19zcHJpdGVfcGxhbmVdIE5CTSBU MDVkOiBDbGlwLSB4MTp5MS0+IDA6MCAKPiB4Mjp5Mi0+MTA4MDoxOTIwCj4gWyAxNDQuNzUwNTkx XSBbZHJtOmludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZV0gTkJNIFQwNi1BOiBzcmMtIHgxOnkxLT4g Cj4gNDA4Ojc4IHgyOnkyLT4yNjIxMzk5MzozOTA1OTM3OAo+IFsgMTQ0Ljc1MDY0OV0gW2RybTpp bnRlbF9jaGVja19zcHJpdGVfcGxhbmVdIE5CTSBUMDYtQjogZHN0LSB4MTp5MS0+IDA6MCAKPiB4 Mjp5Mi0+MTA1NTo3MDAKPiBbIDE0NC43NTA3MDZdIFtkcm06aW50ZWxfY2hlY2tfc3ByaXRlX3Bs YW5lXSBOQk0gVDA2XzA6IHNyYy0geDE6eTEtPiAKPiAwOjM5OSB4Mjp5Mi0+Mzk5OjAKPiBbIDE0 NC43NTA3NjFdIFtkcm06aW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lXSBOQk0gVDA3XzA6IGRzdC0g eDE6eTEtPiAwOjAgCj4geDI6eTItPjEwNTU6NzAwCj4gWyAxNDQuNzUwODE2XSBbZHJtOmludGVs X2NoZWNrX3Nwcml0ZV9wbGFuZV0gTkJNIFQwN2FfMDogdnNjYWxlOiBkOWY3IAo+IGhzY2FsZTo2 MTBmCj4gWyAxNDQuNzUwODcxXSBbZHJtOmludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZV0gTkJNIFQw Njogc3JjLSB4MTp5MS0+IAo+IDQwODo3OCB4Mjp5Mi0+MjYyMTM5OTM6MzkwNTkzNzgKPiBbIDE0 NC43NTA5MjhdIFtkcm06aW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lXSBOQk0gVDA3OiBkc3QtIHgx OnkxLT4gMDowIAo+IHgyOnkyLT4xMDU1OjcwMAo+IFsgMTQ0Ljc1MTAwMV0gW2RybTppbnRlbF9j aGVja19zcHJpdGVfcGxhbmVdIE5CTSBUMDdhOiB2c2NhbGU6IGQ5ZjcgCj4gaHNjYWxlOjYxMGYK PiBbIDE0NC43NTEwOTddIFtkcm06aW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lXSBOQk0gVDA4OiBz cmMtIHgxOnkxLT4gMDowIAo+IHgyOnkyLT4yNjE0ODg2NDozODk5MzkyMAo+IFsgMTQ0Ljc1MTE3 NF0gW2RybTppbnRlbF9jaGVja19zcHJpdGVfcGxhbmVdIE5CTSBUMDk6IGRzdC0geDE6eTEtPiAw OjAgCj4geDI6eTItPjEwNTU6NzAwCj4gWyAxNDQuNzUxMjMwXSBbZHJtOmludGVsX3BsYW5lX2F0 b21pY19jaGVja10gTkJNIEwwMjogc3JjLSB4MTp5MS0+IDA6MCAKPiBoLT4yNjE0ODg2NDozODk5 MzkyMAo+IAo+IFsgMTQ0Ljc1MTI5MV0gW2RybTppbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFu Z2VzXSBOQk0gTTA6IHNyYy0geDE6eTEtPiAKPiAwOjAgeDI6eTItPjE4ZjAwMDA6MjUzMDAwMAo+ IFsgMTQ0Ljc1MTI5MV0gW2RybTppbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzXSBOQk0g TTExOiBzcmMtIAo+IHgxOnkxLT4gMDowIHgyOnkyLT4xOGYwMDAwOjI1MzAwMDAKPiAKPiAKPiA+ Cj4gPj4gd2hpY2ggbW9kaWZpZXMgdGhlIHNyYyxyZWN0YW5nbGUuIEluIGNvbW1pdCB3ZSB1c2Ug dGhlIG1vZGlmaWVkIHN0YXRlLT5zcmMgc2l6ZS4KPiA+Pgo+ID4+Pj4gICAgCj4gPj4+PiAgICAJ CWRybV9yZWN0X3JvdGF0ZV9pbnYoc3JjLCBmYi0+d2lkdGggPDwgMTYsIGZiLT5oZWlnaHQgPDwg MTYsCj4gPj4+PiAgICAJCQkJICAgIHN0YXRlLT5iYXNlLnJvdGF0aW9uKTsKPiA+Pj4+IC0tIAo+ ID4+Pj4gMS45LjEKPiA+Pj4+Cj4gPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4+Pj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4+Pj4gSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJ bnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK