From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Castagna Subject: Re: [RESEND PATCH v2] drm: Add getfb2 ioctl Date: Tue, 15 Oct 2019 11:12:29 -0400 Message-ID: References: <20191003183125.4520-1-juston.li@intel.com> <20191009155054.GM16989@phenom.ffwll.local> <5685d97fdaeefea76d58702afccccfa44fe7058a.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-io1-xd44.google.com (mail-io1-xd44.google.com [IPv6:2607:f8b0:4864:20::d44]) by gabe.freedesktop.org (Postfix) with ESMTPS id B778C6E358 for ; Tue, 15 Oct 2019 15:12:42 +0000 (UTC) Received: by mail-io1-xd44.google.com with SMTP id z19so46794560ior.0 for ; Tue, 15 Oct 2019 08:12:42 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: "intel-gfx@lists.freedesktop.org" , Sean Paul , "dri-devel@lists.freedesktop.org" , "Li, Juston" , "daniels@collabora.com" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBPY3QgMTQsIDIwMTkgYXQgMTo1MSBQTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3 bGwuY2g+IHdyb3RlOgo+Cj4gT24gTW9uLCBPY3QgMTQsIDIwMTkgYXQgNjoyMSBQTSBMaSwgSnVz dG9uIDxqdXN0b24ubGlAaW50ZWwuY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBXZWQsIDIwMTktMTAt MDkgYXQgMTc6NTAgKzAyMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+IE9uIFRodSwgT2N0 IDAzLCAyMDE5IGF0IDExOjMxOjI1QU0gLTA3MDAsIEp1c3RvbiBMaSB3cm90ZToKPiA+ID4gPiBG cm9tOiBEYW5pZWwgU3RvbmUgPGRhbmllbHNAY29sbGFib3JhLmNvbT4KPiA+ID4gPgo+ID4gPiA+ IGdldGZiMiBhbGxvd3MgdXMgdG8gcGFzcyBtdWx0aXBsZSBwbGFuZXMgYW5kIG1vZGlmaWVycywg anVzdCBsaWtlCj4gPiA+ID4gYWRkZmIyCj4gPiA+ID4gb3ZlciBhZGRmYi4KPiA+ID4gPgo+ID4g PiA+IENoYW5nZXMgc2luY2UgdjE6Cj4gPiA+ID4gIC0gdW51c2VkIG1vZGlmaWVycyBzZXQgdG8g MCBpbnN0ZWFkIG9mIERSTV9GT1JNQVRfTU9EX0lOVkFMSUQKPiA+ID4gPiAgLSB1cGRhdGUgaW9j dGwgbnVtYmVyCj4gPiA+ID4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgU3RvbmUgPGRh bmllbHNAY29sbGFib3JhLmNvbT4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKdXN0b24gTGkgPGp1 c3Rvbi5saUBpbnRlbC5jb20+Cj4gPiA+Cj4gPiA+IExvb2tzIGFsbCBnb29kIGZyb20gYSB2ZXJ5 IHF1aWNrIGdsYW5jZSAoa2VybmVsLCBsaWJkcm0sIGlndCksIGJ1dAo+ID4gPiB3aGVyZSdzCj4g PiA+IHRoZSB1c2Vyc3BhY2U/IExpbmsgdG8gd2VzdG9uL2RybV9od2Mvd2hhdGV2ZXIgTVIgZ29v ZCBlbm91Z2guCj4gPiA+IC1EYW5pZWwKPiA+Cj4gPiBNeSB1c2UgY2FzZSBpcyBhIHNjcmVlbnNo b3QgdXRpbGl0eSBpbiBjaHJvbWl1b21vcyB0aGF0IGJyZWFrcyB3aXRoIHktCj4gPiB0aWxlZCBj Y3MgZW5hYmxlZC4KPiA+IFJldmlldyBsaW5rZWQgaXMganVzdCBXSVAgaGFjayBmb3Igbm93IHNp bmNlIGl0IGRlcGVuZHMgb24gdGhpcwo+ID4gbWVyZ2luZzoKPiA+IGh0dHBzOi8vY2hyb21pdW0t cmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bW9zL3BsYXRmb3JtMi8rLzE4MTUxNDYK Pgo+IEFkZGluZyBTZWFuICYgRGFuaWVsZSB0byBjb25maXJtIHRoaXMgaXMgcmVhbCBjcm9zLgo+ IC1EYW5pZWwKClllcywgdGhpcyBpcyB1c2VmdWwgZm9yIGNyb3MgYW5kIG5vdCBvbmx5IGZvciB0 aGUgc2NyZWVuc2hvdCB1dGlsaXR5LgpJdCBpcyBhbHNvIHVzZWZ1bCBmb3IgdGhlIHRyYW5zaXRp b24gZnJvbSB0aGUgc3BsYXNoIHNjcmVlbiB0byBDaHJvbWUKbG9naW4gd2l0aG91dCBmbGFzaGlu ZyB0aGUgc2NyZWVuIGJsYWNrLgoKVGhhbmsgeW91IQoKPgo+ID4KPiA+IFRoYW5rcwo+ID4gSnVz dG9uCj4gPgo+ID4gPiA+IC0tLQo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50 ZXJuYWwuaCB8ICAgMiArCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIu YyAgIHwgMTEwCj4gPiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgICAgICAgICB8ICAgMSArCj4gPiA+ID4gIGluY2x1 ZGUvdWFwaS9kcm0vZHJtLmggICAgICAgICAgICAgIHwgICAyICsKPiA+ID4gPiAgNCBmaWxlcyBj aGFuZ2VkLCAxMTUgaW5zZXJ0aW9ucygrKQo+ID4gPiA+Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NydGNfaW50ZXJuYWwuaAo+ID4gPiA+IGluZGV4IGM3ZDVlNGMyMTQyMy4uMTZmMjQx MzQwM2FhIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRl cm5hbC5oCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgK PiA+ID4gPiBAQCAtMjE2LDYgKzIxNiw4IEBAIGludCBkcm1fbW9kZV9ybWZiX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRh LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4gPiA+ID4gIGludCBkcm1fbW9kZV9nZXRm YihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gPiA+ICAgICAgICAgICAgICAgIHZvaWQgKmRh dGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiA+ID4gPiAraW50IGRybV9tb2RlX2dl dGZiMl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4gPiA+ID4g IGludCBkcm1fbW9kZV9kaXJ0eWZiX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiA+ ID4gICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdik7Cj4gPiA+ID4KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9mcmFtZWJ1ZmZlci5jCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVy LmMKPiA+ID4gPiBpbmRleCA1NzU2NDMxOGNlZWEuLjZkYjU0ZjE3NzQ0MyAxMDA2NDQKPiA+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiA+ID4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiA+ID4gPiBAQCAtMzEsNiArMzEsNyBA QAo+ID4gPiA+ICAjaW5jbHVkZSA8ZHJtL2RybV9maWxlLmg+Cj4gPiA+ID4gICNpbmNsdWRlIDxk cm0vZHJtX2ZvdXJjYy5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8ZHJtL2RybV9mcmFtZWJ1ZmZlci5o Pgo+ID4gPiA+ICsjaW5jbHVkZSA8ZHJtL2RybV9nZW0uaD4KPiA+ID4gPiAgI2luY2x1ZGUgPGRy bS9kcm1fcHJpbnQuaD4KPiA+ID4gPiAgI2luY2x1ZGUgPGRybS9kcm1fdXRpbC5oPgo+ID4gPiA+ Cj4gPiA+ID4gQEAgLTU0OCw3ICs1NDksMTE2IEBAIGludCBkcm1fbW9kZV9nZXRmYihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ID4gPiA+Cj4gPiA+ID4gIG91dDoKPiA+ID4gPiAgICAgZHJtX2Zy YW1lYnVmZmVyX3B1dChmYik7Cj4gPiA+ID4gKyAgIHJldHVybiByZXQ7Cj4gPiA+ID4gK30KPiA+ ID4gPiArCj4gPiA+ID4gKy8qKgo+ID4gPiA+ICsgKiBkcm1fbW9kZV9nZXRmYjIgLSBnZXQgZXh0 ZW5kZWQgRkIgaW5mbwo+ID4gPiA+ICsgKiBAZGV2OiBkcm0gZGV2aWNlIGZvciB0aGUgaW9jdGwK PiA+ID4gPiArICogQGRhdGE6IGRhdGEgcG9pbnRlciBmb3IgdGhlIGlvY3RsCj4gPiA+ID4gKyAq IEBmaWxlX3ByaXY6IGRybSBmaWxlIGZvciB0aGUgaW9jdGwgY2FsbAo+ID4gPiA+ICsgKgo+ID4g PiA+ICsgKiBMb29rdXAgdGhlIEZCIGdpdmVuIGl0cyBJRCBhbmQgcmV0dXJuIGluZm8gYWJvdXQg aXQuCj4gPiA+ID4gKyAqCj4gPiA+ID4gKyAqIENhbGxlZCBieSB0aGUgdXNlciB2aWEgaW9jdGwu Cj4gPiA+ID4gKyAqCj4gPiA+ID4gKyAqIFJldHVybnM6Cj4gPiA+ID4gKyAqIFplcm8gb24gc3Vj Y2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KPiA+ID4gPiArICovCj4gPiA+ID4gK2lu dCBkcm1fbW9kZV9nZXRmYjJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3By aXYpCj4gPiA+ID4gK3sKPiA+ID4gPiArICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKnIgPSBk YXRhOwo+ID4gPiA+ICsgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKPiA+ID4gPiArICAg dW5zaWduZWQgaW50IGk7Cj4gPiA+ID4gKyAgIGludCByZXQ7Cj4gPiA+ID4gKwo+ID4gPiA+ICsg ICBpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ ID4gKyAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICBmYiA9 IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBmaWxlX3ByaXYsIHItPmZiX2lkKTsKPiA+ID4g PiArICAgaWYgKCFmYikKPiA+ID4gPiArICAgICAgICAgICByZXR1cm4gLUVOT0VOVDsKPiA+ID4g PiArCj4gPiA+ID4gKyAgIC8qIEZvciBtdWx0aS1wbGFuZSBmcmFtZWJ1ZmZlcnMsIHdlIHJlcXVp cmUgdGhlIGRyaXZlciB0byBwbGFjZQo+ID4gPiA+IHRoZQo+ID4gPiA+ICsgICAgKiBHRU0gb2Jq ZWN0cyBkaXJlY3RseSBpbiB0aGUgZHJtX2ZyYW1lYnVmZmVyLiBGb3Igc2luZ2xlLQo+ID4gPiA+ IHBsYW5lCj4gPiA+ID4gKyAgICAqIGZyYW1lYnVmZmVycywgd2UgY2FuIGZhbGwgYmFjayB0byBj cmVhdGVfaGFuZGxlLgo+ID4gPiA+ICsgICAgKi8KPiA+ID4gPiArICAgaWYgKCFmYi0+b2JqWzBd ICYmCj4gPiA+ID4gKyAgICAgICAoZmItPmZvcm1hdC0+bnVtX3BsYW5lcyA+IDEgfHwgIWZiLT5m dW5jcy0+Y3JlYXRlX2hhbmRsZSkpCj4gPiA+ID4gewo+ID4gPiA+ICsgICAgICAgICAgIHJldCA9 IC1FTk9ERVY7Cj4gPiA+ID4gKyAgICAgICAgICAgZ290byBvdXQ7Cj4gPiA+ID4gKyAgIH0KPiA+ ID4gPiArCj4gPiA+ID4gKyAgIHItPmhlaWdodCA9IGZiLT5oZWlnaHQ7Cj4gPiA+ID4gKyAgIHIt PndpZHRoID0gZmItPndpZHRoOwo+ID4gPiA+ICsgICByLT5waXhlbF9mb3JtYXQgPSBmYi0+Zm9y bWF0LT5mb3JtYXQ7Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICByLT5mbGFncyA9IDA7Cj4gPiA+ID4g KyAgIGlmIChkZXYtPm1vZGVfY29uZmlnLmFsbG93X2ZiX21vZGlmaWVycykKPiA+ID4gPiArICAg ICAgICAgICByLT5mbGFncyB8PSBEUk1fTU9ERV9GQl9NT0RJRklFUlM7Cj4gPiA+ID4gKwo+ID4g PiA+ICsgICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyLT5oYW5kbGVzKTsgaSsrKSB7Cj4g PiA+ID4gKyAgICAgICAgICAgci0+aGFuZGxlc1tpXSA9IDA7Cj4gPiA+ID4gKyAgICAgICAgICAg ci0+cGl0Y2hlc1tpXSA9IDA7Cj4gPiA+ID4gKyAgICAgICAgICAgci0+b2Zmc2V0c1tpXSA9IDA7 Cj4gPiA+ID4gKyAgICAgICAgICAgci0+bW9kaWZpZXJbaV0gPSAwOwo+ID4gPiA+ICsgICB9Cj4g PiA+ID4KPiA+ID4gPiArICAgZm9yIChpID0gMDsgaSA8IGZiLT5mb3JtYXQtPm51bV9wbGFuZXM7 IGkrKykgewo+ID4gPiA+ICsgICAgICAgICAgIGludCBqOwo+ID4gPiA+ICsKPiA+ID4gPiArICAg ICAgICAgICByLT5waXRjaGVzW2ldID0gZmItPnBpdGNoZXNbaV07Cj4gPiA+ID4gKyAgICAgICAg ICAgci0+b2Zmc2V0c1tpXSA9IGZiLT5vZmZzZXRzW2ldOwo+ID4gPiA+ICsgICAgICAgICAgIGlm IChkZXYtPm1vZGVfY29uZmlnLmFsbG93X2ZiX21vZGlmaWVycykKPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgIHItPm1vZGlmaWVyW2ldID0gZmItPm1vZGlmaWVyOwo+ID4gPiA+ICsKPiA+ID4g PiArICAgICAgICAgICAvKiBJZiB3ZSByZXVzZSB0aGUgc2FtZSBvYmplY3QgZm9yIG11bHRpcGxl IHBsYW5lcywKPiA+ID4gPiBhbHNvCj4gPiA+ID4gKyAgICAgICAgICAgICogcmV0dXJuIHRoZSBz YW1lIGhhbmRsZS4KPiA+ID4gPiArICAgICAgICAgICAgKi8KPiA+ID4gPiArICAgICAgICAgICBm b3IgKGogPSAwOyBqIDwgaTsgaisrKSB7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICBpZiAo ZmItPm9ialtpXSA9PSBmYi0+b2JqW2pdKSB7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHItPmhhbmRsZXNbaV0gPSByLT5oYW5kbGVzW2pdOwo+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICBicmVhazsKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgIH0KPiA+ ID4gPiArICAgICAgICAgICB9Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICAgICAgICAgIGlmIChyLT5o YW5kbGVzW2ldKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4gPiA+ID4g Kwo+ID4gPiA+ICsgICAgICAgICAgIGlmIChmYi0+b2JqW2ldKSB7Cj4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICByZXQgPSBkcm1fZ2VtX2hhbmRsZV9jcmVhdGUoZmlsZV9wcml2LCBmYi0KPiA+ ID4gPiA+b2JqW2ldLAo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZyLT5oYW5kbGVzW2ldKTsKPiA+ID4gPiArICAgICAgICAgICB9IGVsc2Ug ewo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgV0FSTl9PTihpID4gMCk7Cj4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICByZXQgPSBmYi0+ZnVuY3MtPmNyZWF0ZV9oYW5kbGUoZmIsIGZpbGVf cHJpdiwKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmci0+aGFuZGxlc1tpXSk7Cj4gPiA+ID4gKyAgICAgICAgICAgfQo+ID4gPiA+ICsK PiA+ID4gPiArICAgICAgICAgICBpZiAocmV0ICE9IDApCj4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICBnb3RvIG91dDsKPiA+ID4gPiArICAgfQo+ID4gPiA+ICsKPiA+ID4gPiArb3V0Ogo+ID4g PiA+ICsgICBpZiAocmV0ICE9IDApIHsKPiA+ID4gPiArICAgICAgICAgICAvKiBEZWxldGUgYW55 IHByZXZpb3VzbHktY3JlYXRlZCBoYW5kbGVzIG9uIGZhaWx1cmUuICovCj4gPiA+ID4gKyAgICAg ICAgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoci0+aGFuZGxlcyk7IGkrKykgewo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgaW50IGo7Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgaWYgKHItPmhhbmRsZXNbaV0pCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRybV9nZW1faGFuZGxlX2RlbGV0ZShmaWxlX3ByaXYsIHItCj4gPiA+ID4gPmhh bmRsZXNbaV0pOwo+ID4gPiA+ICsKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgIC8qIFplcm8g b3V0IGFueSBoYW5kbGVzIGlkZW50aWNhbCB0byB0aGUgb25lIHdlCj4gPiA+ID4ganVzdAo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICogZGVsZXRlZC4KPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAqLwo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgZm9yIChqID0gaSArIDE7IGog PCBBUlJBWV9TSVpFKHItPmhhbmRsZXMpOwo+ID4gPiA+IGorKykgewo+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZiAoci0+aGFuZGxlc1tqXSA9PSByLT5oYW5kbGVzW2ldKQo+ ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHItPmhhbmRsZXNbal0g PSAwOwo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgfQo+ID4gPiA+ICsgICAgICAgICAgIH0K PiA+ID4gPiArICAgfQo+ID4gPiA+ICsKPiA+ID4gPiArICAgZHJtX2ZyYW1lYnVmZmVyX3B1dChm Yik7Cj4gPiA+ID4gICAgIHJldHVybiByZXQ7Cj4gPiA+ID4gIH0KPiA+ID4gPgo+ID4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiA+ID4gPiBiL2RyaXZlcnMv Z3B1L2RybS9kcm1faW9jdGwuYwo+ID4gPiA+IGluZGV4IGZjZDcyOGQ3Y2Y3Mi4uYjFmYWZjZTNh ZDhjIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+ID4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+ID4gPiA+IEBAIC02NzEsNiAr NjcxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBkcm1faW9jdGxzW10K PiA+ID4gPiA9IHsKPiA+ID4gPiAgICAgRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9TRVRQ Uk9QRVJUWSwKPiA+ID4gPiBkcm1fY29ubmVjdG9yX3Byb3BlcnR5X3NldF9pb2N0bCwgRFJNX01B U1RFUiksCj4gPiA+ID4gICAgIERSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VUUFJPUEJM T0IsCj4gPiA+ID4gZHJtX21vZGVfZ2V0YmxvYl9pb2N0bCwgMCksCj4gPiA+ID4gICAgIERSTV9J T0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VURkIsIGRybV9tb2RlX2dldGZiLCAwKSwKPiA+ID4g PiArICAgRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRGQjIsIGRybV9tb2RlX2dldGZi Ml9pb2N0bCwgMCksCj4gPiA+ID4gICAgIERSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfQURE RkIsIGRybV9tb2RlX2FkZGZiX2lvY3RsLCAwKSwKPiA+ID4gPiAgICAgRFJNX0lPQ1RMX0RFRihE Uk1fSU9DVExfTU9ERV9BRERGQjIsIGRybV9tb2RlX2FkZGZiMl9pb2N0bCwgMCksCj4gPiA+ID4g ICAgIERSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfUk1GQiwgZHJtX21vZGVfcm1mYl9pb2N0 bCwgMCksCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmggYi9pbmNs dWRlL3VhcGkvZHJtL2RybS5oCj4gPiA+ID4gaW5kZXggOGE1YjJmOGY4ZWI5Li4wMjFmMzM2NzVi YTIgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm0uaAo+ID4gPiA+ICsr KyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKPiA+ID4gPiBAQCAtOTQ3LDYgKzk0Nyw4IEBAIGV4 dGVybiAiQyIgewo+ID4gPiA+ICAjZGVmaW5lIERSTV9JT0NUTF9TWU5DT0JKX1RSQU5TRkVSIERS TV9JT1dSKDB4Q0MsIHN0cnVjdAo+ID4gPiA+IGRybV9zeW5jb2JqX3RyYW5zZmVyKQo+ID4gPiA+ ICAjZGVmaW5lIERSTV9JT0NUTF9TWU5DT0JKX1RJTUVMSU5FX1NJR05BTCAgRFJNX0lPV1IoMHhD RCwgc3RydWN0Cj4gPiA+ID4gZHJtX3N5bmNvYmpfdGltZWxpbmVfYXJyYXkpCj4gPiA+ID4KPiA+ ID4gPiArI2RlZmluZSBEUk1fSU9DVExfTU9ERV9HRVRGQjIgICAgICAgICAgICAgIERSTV9JT1dS KDB4Q0UsIHN0cnVjdAo+ID4gPiA+IGRybV9tb2RlX2ZiX2NtZDIpCj4gPiA+ID4gKwo+ID4gPiA+ ICAvKioKPiA+ID4gPiAgICogRGV2aWNlIHNwZWNpZmljIGlvY3RscyBzaG91bGQgb25seSBiZSBp biB0aGVpciByZXNwZWN0aXZlCj4gPiA+ID4gaGVhZGVycwo+ID4gPiA+ICAgKiBUaGUgZGV2aWNl IHNwZWNpZmljIGlvY3RsIHJhbmdlIGlzIGZyb20gMHg0MCB0byAweDlmLgo+ID4gPiA+IC0tCj4g PiA+ID4gMi4yMS4wCj4gPiA+ID4KPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+ID4gPiA+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+ID4g PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+ID4gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPgo+Cj4KPiAtLQo+IERh bmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiArNDEg KDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==