From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 877D9C433DF for ; Fri, 26 Jun 2020 16:44:23 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 344D12081A for ; Fri, 26 Jun 2020 16:44:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 344D12081A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DDFD16E14A; Fri, 26 Jun 2020 16:44:21 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B15366E14A for ; Fri, 26 Jun 2020 16:44:20 +0000 (UTC) IronPort-SDR: eAIFdXDqY/3pBW3p0sPbWR+HJ7VtvO1wayjY1E7f19p219Nbs6oJeb0J6M5T31Iy7t3zRRF8M6 4DKe4pZJL91A== X-IronPort-AV: E=McAfee;i="6000,8403,9664"; a="206902801" X-IronPort-AV: E=Sophos;i="5.75,284,1589266800"; d="scan'208";a="206902801" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jun 2020 09:44:19 -0700 IronPort-SDR: gQfrPlsw/TkAliiqfXfhl2ZhM+Fo117DixiUy2ioC5XAhLl4stWOO8o3KQsBXthe4nja4PcHnC /wDefrRRU8KQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,284,1589266800"; d="scan'208";a="424130028" Received: from dceraolo-linux.fm.intel.com (HELO [10.1.27.145]) ([10.1.27.145]) by orsmga004.jf.intel.com with ESMTP; 26 Jun 2020 09:44:18 -0700 To: Tvrtko Ursulin , intel-gfx@lists.freedesktop.org References: <20200625234212.22811-1-daniele.ceraolospurio@intel.com> <20200625234212.22811-5-daniele.ceraolospurio@intel.com> <78523c30-5aa6-ee94-722f-a0ed40b320b8@linux.intel.com> From: Daniele Ceraolo Spurio Message-ID: Date: Fri, 26 Jun 2020 09:44:20 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <78523c30-5aa6-ee94-722f-a0ed40b320b8@linux.intel.com> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 4/7] drm/i915: Move the engine mask to intel_gt_info X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" CgpPbiA2LzI2LzIwIDc6NDUgQU0sIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+IAo+IE9uIDI2LzA2 LzIwMjAgMDA6NDIsIERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gd3JvdGU6Cj4+IFNpbmNlIHRoZSBl bmdpbmVzIGJlbG9uZyB0byB0aGUgR1QsIG1vdmUgdGhlIHJ1bnRpbWUtdXBkYXRlZCBsaXN0IG9m Cj4+IGF2YWlsYWJsZSBlbmdpbmVzIHRvIHRoZSBpbnRlbF9ndCBzdHJ1Y3QuIFRoZSBvcmlnaW5h bCBtYXNrIGhhcyBiZWVuCj4+IHJlbmFtZWQgdG8gaW5kaWNhdGUgaXQgY29udGFpbnMgdGhlIG1h eGltdW0gZW5naW5lIGxpc3QgdGhhdCBjYW4gYmUKPj4gZm91bmQgb24gYSBtYXRjaGluZyBkZXZp Y2UuCj4+Cj4+IEluIHByZXBhcmF0aW9uIGZvciBvdGhlciBpbmZvIGJlaW5nIG1vdmVkIHRvIHRo ZSBndCBpbiBmb2xsb3cgdXAgcGF0Y2hlcwo+PiAoc3NldSksIGludHJvZHVjZSBhbiBpbnRlbF9n dF9pbmZvIHN0cnVjdHVyZSB0byBncm91cCBhbGwgZ3QtcmVsYXRlZAo+PiBydW50aW1lIGluZm8u Cj4+Cj4+IFNpZ25lZC1vZmYtYnk6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2Vy YW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3Vs aW5AbGludXguaW50ZWwuY29tPgo+PiBDYzogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5j b20+Cj4+IENjOiBWZW5rYXRhIFNhbmRlZXAgRGhhbmFsYWtvdGEgPHZlbmthdGEucy5kaGFuYWxh a290YUBpbnRlbC5jb20+Cj4+IC0tLQo+PiDCoCAuLi4vZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9leGVjYnVmZmVyLmPCoMKgwqAgfMKgIDMgKy0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfZW5naW5lX2NzLmPCoMKgwqDCoCB8IDEzICsrKy0tLQo+PiDCoCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNiArKysK Pj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuaMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfMKgIDQgKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfdHlw ZXMuaMKgwqDCoMKgwqAgfMKgIDggKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9yZXNldC5jwqDCoMKgwqDCoMKgwqDCoCB8wqAgNiArLS0KPj4gwqAgLi4uL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9yaW5nX3N1Ym1pc3Npb24uY8KgwqAgfMKgIDIgKy0KPj4gwqAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfbHJjLmPCoMKgwqDCoMKgwqDCoCB8wqAgOCArKy0t Cj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19hZHMuY8KgwqDCoCB8 wqAgMiArLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuY8KgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMSArCj4+IMKg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHzCoCA2ICstLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5j wqDCoMKgwqDCoMKgwqDCoCB8IDIzICsrKysrKy0tLS0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ncHVfZXJyb3IuaMKgwqDCoMKgwqDCoMKgwqAgfMKgIDMgKysKPj4gwqAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 MiArKysrKysrKystLS0tLS0tLS0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rl dmljZV9pbmZvLmPCoMKgwqDCoMKgIHzCoCAxIC0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGV2aWNlX2luZm8uaMKgwqDCoMKgwqAgfMKgIDcgKy0tLQo+PiDCoCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyICstCj4+ IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3JlcXVlc3QuYyB8wqAgMiAr LQo+PiDCoCAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuY8KgIHzC oCAzICstCj4+IMKgIDIxIGZpbGVzIGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKyksIDYyIGRlbGV0 aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX2V4ZWNidWZmZXIuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f ZXhlY2J1ZmZlci5jCj4+IGluZGV4IGMzOGFiNTFlODJmMC4uN2ZmYWM3MTFlNGI0IDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPj4g QEAgLTE5NzMsOCArMTk3Myw3IEBAIHN0YXRpYyBpbnQgZWJfc3VibWl0KHN0cnVjdCBpOTE1X2V4 ZWNidWZmZXIgKmViLCAKPj4gc3RydWN0IGk5MTVfdm1hICpiYXRjaCkKPj4gwqAgc3RhdGljIGlu dCBudW1fdmNzX2VuZ2luZXMoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4+ IMKgIHsKPj4gLcKgwqDCoCByZXR1cm4gaHdlaWdodDY0KElOVEVMX0lORk8oaTkxNSktPmVuZ2lu ZV9tYXNrICYKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBHRU5NQVNLX1VMTChWQ1MwICsg STkxNV9NQVhfVkNTIC0gMSwgVkNTMCkpOwo+PiArwqDCoMKgIHJldHVybiBod2VpZ2h0NjQoVkRC T1hfTUFTSygmaTkxNS0+Z3QpKTsKPj4gwqAgfQo+PiDCoCAvKgo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgCj4+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKPj4gaW5kZXggODQ5NzEwNmViM2E2Li4zYWY1 OGRmM2IxM2UgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV9jcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9j cy5jCj4+IEBAIC0zNzAsNyArMzcwLDcgQEAgc3RhdGljIHZvaWQgX19zZXR1cF9lbmdpbmVfY2Fw YWJpbGl0aWVzKHN0cnVjdCAKPj4gaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgICogaW5zdGFuY2VzLgo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqLwo+PiDC oMKgwqDCoMKgwqDCoMKgwqAgaWYgKChJTlRFTF9HRU4oaTkxNSkgPj0gMTEgJiYKPj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBSVU5USU1FX0lORk8oaTkxNSktPnZkYm94X3NmY19hY2Nlc3Mg JiBlbmdpbmUtPm1hc2spIHx8Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZW5naW5lLT5n dC0+aW5mby52ZGJveF9zZmNfYWNjZXNzICYgZW5naW5lLT5tYXNrKSB8fAo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAoSU5URUxfR0VOKGk5MTUpID49IDkgJiYgZW5naW5lLT5pbnN0YW5j ZSA9PSAwKSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZW5naW5lLT51YWJpX2NhcGFi aWxpdGllcyB8PQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEk5MTVfVklE RU9fQU5EX0VOSEFOQ0VfQ0xBU1NfQ0FQQUJJTElUWV9TRkM7Cj4+IEBAIC00NTksNyArNDU5LDcg QEAgdm9pZCBpbnRlbF9lbmdpbmVzX2ZyZWUoc3RydWN0IGludGVsX2d0ICpndCkKPj4gwqAgc3Rh dGljIGludGVsX2VuZ2luZV9tYXNrX3QgaW5pdF9lbmdpbmVfbWFzayhzdHJ1Y3QgaW50ZWxfZ3Qg Kmd0KQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUg PSBndC0+aTkxNTsKPj4gLcKgwqDCoCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8gPSBt a3dyaXRlX2RldmljZV9pbmZvKGk5MTUpOwo+PiArwqDCoMKgIHN0cnVjdCBpbnRlbF9ndF9pbmZv ICppbmZvID0gJmd0LT5pbmZvOwo+PiDCoMKgwqDCoMKgIHN0cnVjdCBpbnRlbF91bmNvcmUgKnVu Y29yZSA9IGd0LT51bmNvcmU7Cj4+IMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGxvZ2ljYWxfdmRi b3ggPSAwOwo+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBpOwo+PiBAQCAtNDY3LDYgKzQ2Nyw4 IEBAIHN0YXRpYyBpbnRlbF9lbmdpbmVfbWFza190IGluaXRfZW5naW5lX21hc2soc3RydWN0IAo+ PiBpbnRlbF9ndCAqZ3QpCj4+IMKgwqDCoMKgwqAgdTE2IHZkYm94X21hc2s7Cj4+IMKgwqDCoMKg wqAgdTE2IHZlYm94X21hc2s7Cj4+ICvCoMKgwqAgaW5mby0+ZW5naW5lX21hc2sgPSBJTlRFTF9J TkZPKGk5MTUpLT5tYXhfZW5naW5lX21hc2s7Cj4+ICsKPj4gwqDCoMKgwqDCoCBpZiAoSU5URUxf R0VOKGk5MTUpIDwgMTEpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gaW5mby0+ZW5naW5l X21hc2s7Cj4+IEBAIC00OTQsNyArNDk2LDcgQEAgc3RhdGljIGludGVsX2VuZ2luZV9tYXNrX3Qg aW5pdF9lbmdpbmVfbWFzayhzdHJ1Y3QgCj4+IGludGVsX2d0ICpndCkKPj4gwqDCoMKgwqDCoMKg wqDCoMKgwqAgKiBJbiBUR0wgZWFjaCBWREJPWCBoYXMgYWNjZXNzIHRvIGFuIFNGQy4KPj4gwqDC oMKgwqDCoMKgwqDCoMKgwqAgKi8KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChJTlRFTF9HRU4o aTkxNSkgPj0gMTIgfHwgbG9naWNhbF92ZGJveCsrICUgMiA9PSAwKQo+PiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBSVU5USU1FX0lORk8oaTkxNSktPnZkYm94X3NmY19hY2Nlc3MgfD0gQklUKGkp Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBndC0+aW5mby52ZGJveF9zZmNfYWNjZXNzIHw9 IEJJVChpKTsKPj4gwqDCoMKgwqDCoCB9Cj4+IMKgwqDCoMKgwqAgZHJtX2RiZygmaTkxNS0+ZHJt LCAidmRib3ggZW5hYmxlOiAlMDR4LCBpbnN0YW5jZXM6ICUwNGx4XG4iLAo+PiDCoMKgwqDCoMKg wqDCoMKgwqAgdmRib3hfbWFzaywgVkRCT1hfTUFTSyhndCkpOwo+PiBAQCAtNTI3LDcgKzUyOSw2 IEBAIHN0YXRpYyBpbnRlbF9lbmdpbmVfbWFza190IGluaXRfZW5naW5lX21hc2soc3RydWN0IAo+ PiBpbnRlbF9ndCAqZ3QpCj4+IMKgIGludCBpbnRlbF9lbmdpbmVzX2luaXRfbW1pbyhzdHJ1Y3Qg aW50ZWxfZ3QgKmd0KQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqAgc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUgPSBndC0+aTkxNTsKPj4gLcKgwqDCoCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8g KmRldmljZV9pbmZvID0gbWt3cml0ZV9kZXZpY2VfaW5mbyhpOTE1KTsKPj4gwqDCoMKgwqDCoCBj b25zdCB1bnNpZ25lZCBpbnQgZW5naW5lX21hc2sgPSBpbml0X2VuZ2luZV9tYXNrKGd0KTsKPj4g wqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgbWFzayA9IDA7Cj4+IMKgwqDCoMKgwqAgdW5zaWduZWQg aW50IGk7Cj4+IEBAIC01NTcsOSArNTU4LDkgQEAgaW50IGludGVsX2VuZ2luZXNfaW5pdF9tbWlv KHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4+IMKgwqDCoMKgwqDCoCAqIGVuZ2luZXMuCj4+IMKgwqDC oMKgwqDCoCAqLwo+PiDCoMKgwqDCoMKgIGlmIChkcm1fV0FSTl9PTigmaTkxNS0+ZHJtLCBtYXNr ICE9IGVuZ2luZV9tYXNrKSkKPj4gLcKgwqDCoMKgwqDCoMKgIGRldmljZV9pbmZvLT5lbmdpbmVf bWFzayA9IG1hc2s7Cj4+ICvCoMKgwqDCoMKgwqDCoCBndC0+aW5mby5lbmdpbmVfbWFzayA9IG1h c2s7Cj4+IC3CoMKgwqAgUlVOVElNRV9JTkZPKGk5MTUpLT5udW1fZW5naW5lcyA9IGh3ZWlnaHQz MihtYXNrKTsKPj4gK8KgwqDCoCBndC0+aW5mby5udW1fZW5naW5lcyA9IGh3ZWlnaHQzMihtYXNr KTsKPj4gwqDCoMKgwqDCoCBpbnRlbF9ndF9jaGVja19hbmRfY2xlYXJfZmF1bHRzKGd0KTsKPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMgCj4+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYwo+PiBpbmRleCBlYmMyOWI2ZWU4NmMuLmQw YWUxY2I1YzdjOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf Z3QuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jCj4+IEBAIC02 NDIsMyArNjQyLDkgQEAgdm9pZCBpbnRlbF9ndF9kcml2ZXJfbGF0ZV9yZWxlYXNlKHN0cnVjdCBp bnRlbF9ndCAKPj4gKmd0KQo+PiDCoMKgwqDCoMKgIGludGVsX2d0X2ZpbmlfdGltZWxpbmVzKGd0 KTsKPj4gwqDCoMKgwqDCoCBpbnRlbF9lbmdpbmVzX2ZyZWUoZ3QpOwo+PiDCoCB9Cj4+ICsKPj4g K3ZvaWQgaW50ZWxfZ3RfaW5mb19wcmludChjb25zdCBzdHJ1Y3QgaW50ZWxfZ3RfaW5mbyAqaW5m bywKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApCj4+ ICt7Cj4+ICvCoMKgwqAgZHJtX3ByaW50ZihwLCAiYXZhaWxhYmxlIGVuZ2luZXM6ICV4XG4iLCBp bmZvLT5lbmdpbmVfbWFzayk7Cj4+ICt9Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9ndC5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0 LmgKPj4gaW5kZXggNGZhYzA0Mzc1MGFhLi4xNTE0MmUyYTNiMjIgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZ3QuaAo+PiBAQCAtMTEsNiArMTEsNyBAQAo+PiDCoCAjaW5jbHVkZSAi aW50ZWxfcmVzZXQuaCIKPj4gwqAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7Cj4+ICtzdHJ1Y3Qg ZHJtX3ByaW50ZXI7Cj4+IMKgICNkZWZpbmUgR1RfVFJBQ0UoZ3QsIGZtdCwgLi4uKSBkbyB7wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiDCoMKgwqDCoMKgIGNvbnN0 IHN0cnVjdCBpbnRlbF9ndCAqZ3RfXyBfX21heWJlX3VudXNlZCA9IChndCk7wqDCoMKgwqDCoMKg wqAgXAo+PiBAQCAtNjgsNCArNjksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfZ3RfaGFz X2luaXRfZXJyb3IoY29uc3QgCj4+IHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4+IMKgwqDCoMKgwqAg cmV0dXJuIHRlc3RfYml0KEk5MTVfV0VER0VEX09OX0lOSVQsICZndC0+cmVzZXQuZmxhZ3MpOwo+ PiDCoCB9Cj4+ICt2b2lkIGludGVsX2d0X2luZm9fcHJpbnQoY29uc3Qgc3RydWN0IGludGVsX2d0 X2luZm8gKmluZm8sCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRybV9wcmlu dGVyICpwKTsKPj4gKwo+PiDCoCAjZW5kaWYgLyogX19JTlRFTF9HVF9IX18gKi8KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3R5cGVzLmggCj4+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfdHlwZXMuaAo+PiBpbmRleCAwY2MxZDZiMTg1 ZGMuLmJiNzU1MTg2N2MwMCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfZ3RfdHlwZXMuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9n dF90eXBlcy5oCj4+IEBAIC0xMDksNiArMTA5LDE0IEBAIHN0cnVjdCBpbnRlbF9ndCB7Cj4+IMKg wqDCoMKgwqAgc3RydWN0IGludGVsX2d0X2J1ZmZlcl9wb29sIGJ1ZmZlcl9wb29sOwo+PiDCoMKg wqDCoMKgIHN0cnVjdCBpOTE1X3ZtYSAqc2NyYXRjaDsKPj4gKwo+PiArwqDCoMKgIHN0cnVjdCBp bnRlbF9ndF9pbmZvIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGludGVsX2VuZ2luZV9tYXNrX3QgZW5n aW5lX21hc2s7Cj4+ICvCoMKgwqDCoMKgwqDCoCB1OCBudW1fZW5naW5lczsKPj4gKwo+PiArwqDC oMKgwqDCoMKgwqAgLyogTWVkaWEgZW5naW5lIGFjY2VzcyB0byBTRkMgcGVyIGluc3RhbmNlICov Cj4+ICvCoMKgwqDCoMKgwqDCoCB1OCB2ZGJveF9zZmNfYWNjZXNzOwo+PiArwqDCoMKgIH0gaW5m bzsKPj4gwqAgfTsKPj4gwqAgZW51bSBpbnRlbF9ndF9zY3JhdGNoX2ZpZWxkIHsKPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMgCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYwo+PiBpbmRleCAwMTU2ZjFmNWM3MzYuLjk1 MmNkNmU5Yjg4ZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf cmVzZXQuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZXNldC5jCj4+ IEBAIC0zNDIsNyArMzQyLDcgQEAgc3RhdGljIGludCBnZW42X3Jlc2V0X2VuZ2luZXMoc3RydWN0 IGludGVsX2d0ICpndCwKPj4gwqAgc3RhdGljIGludCBnZW4xMV9sb2NrX3NmYyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiAqaHdfbWFzaykKPj4gwqAgewo+PiDCoMKgwqDCoMKg IHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9IGVuZ2luZS0+dW5jb3JlOwo+PiAtwqDCoMKg IHU4IHZkYm94X3NmY19hY2Nlc3MgPSBSVU5USU1FX0lORk8oZW5naW5lLT5pOTE1KS0+dmRib3hf c2ZjX2FjY2VzczsKPj4gK8KgwqDCoCB1OCB2ZGJveF9zZmNfYWNjZXNzID0gZW5naW5lLT5ndC0+ aW5mby52ZGJveF9zZmNfYWNjZXNzOwo+PiDCoMKgwqDCoMKgIGk5MTVfcmVnX3Qgc2ZjX2ZvcmNl ZF9sb2NrLCBzZmNfZm9yY2VkX2xvY2tfYWNrOwo+PiDCoMKgwqDCoMKgIHUzMiBzZmNfZm9yY2Vk X2xvY2tfYml0LCBzZmNfZm9yY2VkX2xvY2tfYWNrX2JpdDsKPj4gwqDCoMKgwqDCoCBpOTE1X3Jl Z190IHNmY191c2FnZTsKPj4gQEAgLTQxNyw3ICs0MTcsNyBAQCBzdGF0aWMgaW50IGdlbjExX2xv Y2tfc2ZjKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgCj4+ICplbmdpbmUsIHUzMiAqaHdfbWFzaykK Pj4gwqAgc3RhdGljIHZvaWQgZ2VuMTFfdW5sb2NrX3NmYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCj4+IMKgIHsKPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNv cmUgPSBlbmdpbmUtPnVuY29yZTsKPj4gLcKgwqDCoCB1OCB2ZGJveF9zZmNfYWNjZXNzID0gUlVO VElNRV9JTkZPKGVuZ2luZS0+aTkxNSktPnZkYm94X3NmY19hY2Nlc3M7Cj4+ICvCoMKgwqAgdTgg dmRib3hfc2ZjX2FjY2VzcyA9IGVuZ2luZS0+Z3QtPmluZm8udmRib3hfc2ZjX2FjY2VzczsKPj4g wqDCoMKgwqDCoCBpOTE1X3JlZ190IHNmY19mb3JjZWRfbG9jazsKPj4gwqDCoMKgwqDCoCB1MzIg c2ZjX2ZvcmNlZF9sb2NrX2JpdDsKPj4gQEAgLTEyNDYsNyArMTI0Niw3IEBAIHZvaWQgaW50ZWxf Z3RfaGFuZGxlX2Vycm9yKHN0cnVjdCBpbnRlbF9ndCAqZ3QsCj4+IMKgwqDCoMKgwqDCoCAqLwo+ PiDCoMKgwqDCoMKgIHdha2VyZWYgPSBpbnRlbF9ydW50aW1lX3BtX2dldChndC0+dW5jb3JlLT5y cG0pOwo+PiAtwqDCoMKgIGVuZ2luZV9tYXNrICY9IElOVEVMX0lORk8oZ3QtPmk5MTUpLT5lbmdp bmVfbWFzazsKPj4gK8KgwqDCoCBlbmdpbmVfbWFzayAmPSBndC0+aW5mby5lbmdpbmVfbWFzazsK Pj4gwqDCoMKgwqDCoCBpZiAoZmxhZ3MgJiBJOTE1X0VSUk9SX0NBUFRVUkUpIHsKPj4gwqDCoMKg wqDCoMKgwqDCoMKgIGk5MTVfY2FwdHVyZV9lcnJvcl9zdGF0ZShndC0+aTkxNSk7Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nX3N1Ym1pc3Npb24uYyAK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nX3N1Ym1pc3Npb24uYwo+PiBp bmRleCA2OGEwODQ4NmZjODcuLmIwOWI4M2RlZWNlZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ19zdWJtaXNzaW9uLmMKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ19zdWJtaXNzaW9uLmMKPj4gQEAgLTY0OSw3ICs2NDks NyBAQCBzdGF0aWMgaW5saW5lIGludCBtaV9zZXRfY29udGV4dChzdHJ1Y3QgCj4+IGk5MTVfcmVx dWVzdCAqcnEsCj4+IMKgwqDCoMKgwqAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBl bmdpbmUtPmk5MTU7Cj4+IMKgwqDCoMKgwqAgZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7Cj4+IMKg wqDCoMKgwqAgY29uc3QgaW50IG51bV9lbmdpbmVzID0KPj4gLcKgwqDCoMKgwqDCoMKgIElTX0hB U1dFTEwoaTkxNSkgPyBSVU5USU1FX0lORk8oaTkxNSktPm51bV9lbmdpbmVzIC0gMSA6IDA7Cj4+ ICvCoMKgwqDCoMKgwqDCoCBJU19IQVNXRUxMKGk5MTUpID8gZW5naW5lLT5ndC0+aW5mby5udW1f ZW5naW5lcyAtIDEgOiAwOwo+PiDCoMKgwqDCoMKgIGJvb2wgZm9yY2VfcmVzdG9yZSA9IGZhbHNl Owo+PiDCoMKgwqDCoMKgIGludCBsZW47Cj4+IMKgwqDCoMKgwqAgdTMyICpjczsKPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2xyYy5jIAo+PiBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2xyYy5jCj4+IGluZGV4IGRhYTRhYWJhYjlhNy4u YjM2NzhiNWY5NjU1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxm dGVzdF9scmMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9scmMu Ywo+PiBAQCAtOTYzLDcgKzk2Myw3IEBAIHNsaWNlX3NlbWFwaG9yZV9xdWV1ZShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpvdXRlciwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gb3V0Owo+PiDC oMKgwqDCoMKgIGlmIChpOTE1X3JlcXVlc3Rfd2FpdChoZWFkLCAwLAo+PiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyICogUlVOVElNRV9JTkZPKG91dGVyLT5pOTE1KS0+bnVt X2VuZ2luZXMgKiAoY291bnQgCj4+ICsgMikgKiAoY291bnQgKyAzKSkgPCAwKSB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIgKiBlbmdpbmUtPmd0LT5pbmZvLm51bV9l bmdpbmVzICogKGNvdW50ICsgMikgKiAKPj4gKGNvdW50ICsgMykpIDwgMCkgewo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgcHJfZXJyKCJGYWlsZWQgdG8gc2xpY2UgYWxvbmcgc2VtYXBob3JlIGNoYWlu IG9mIGxlbmd0aCAoJWQsIAo+PiAlZCkhXG4iLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBjb3VudCwgbik7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBHRU1fVFJBQ0VfRFVNUCgp Owo+PiBAQCAtMzU2OSw4ICszNTY5LDcgQEAgc3RhdGljIGludCBzbW9rZV9jcmVzY2VuZG8oc3Ry dWN0IHByZWVtcHRfc21va2UgCj4+ICpzbW9rZSwgdW5zaWduZWQgaW50IGZsYWdzKQo+PiDCoMKg wqDCoMKgIH0KPj4gwqDCoMKgwqDCoCBwcl9pbmZvKCJTdWJtaXR0ZWQgJWx1IGNyZXNjZW5kbzol eCByZXF1ZXN0cyBhY3Jvc3MgJWQgZW5naW5lcyAKPj4gYW5kICVkIGNvbnRleHRzXG4iLAo+PiAt wqDCoMKgwqDCoMKgwqAgY291bnQsIGZsYWdzLAo+PiAtwqDCoMKgwqDCoMKgwqAgUlVOVElNRV9J TkZPKHNtb2tlLT5ndC0+aTkxNSktPm51bV9lbmdpbmVzLCBzbW9rZS0+bmNvbnRleHQpOwo+PiAr wqDCoMKgwqDCoMKgwqAgY291bnQsIGZsYWdzLCBzbW9rZS0+Z3QtPmluZm8ubnVtX2VuZ2luZXMs IHNtb2tlLT5uY29udGV4dCk7Cj4+IMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+IMKgIH0KPj4gQEAg LTM1OTcsOCArMzU5Niw3IEBAIHN0YXRpYyBpbnQgc21va2VfcmFuZG9tKHN0cnVjdCBwcmVlbXB0 X3Ntb2tlIAo+PiAqc21va2UsIHVuc2lnbmVkIGludCBmbGFncykKPj4gwqDCoMKgwqDCoCB9IHdo aWxlIChjb3VudCA8IHNtb2tlLT5uY29udGV4dCAmJiAhX19pZ3RfdGltZW91dChlbmRfdGltZSwg Cj4+IE5VTEwpKTsKPj4gwqDCoMKgwqDCoCBwcl9pbmZvKCJTdWJtaXR0ZWQgJWx1IHJhbmRvbTol eCByZXF1ZXN0cyBhY3Jvc3MgJWQgZW5naW5lcyBhbmQgCj4+ICVkIGNvbnRleHRzXG4iLAo+PiAt wqDCoMKgwqDCoMKgwqAgY291bnQsIGZsYWdzLAo+PiAtwqDCoMKgwqDCoMKgwqAgUlVOVElNRV9J TkZPKHNtb2tlLT5ndC0+aTkxNSktPm51bV9lbmdpbmVzLCBzbW9rZS0+bmNvbnRleHQpOwo+PiAr wqDCoMKgwqDCoMKgwqAgY291bnQsIGZsYWdzLCBzbW9rZS0+Z3QtPmluZm8ubnVtX2VuZ2luZXMs IHNtb2tlLT5uY29udGV4dCk7Cj4+IMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+IMKgIH0KPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19hZHMuYyAKPj4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfYWRzLmMKPj4gaW5kZXggZmJk ZDZiMDY3N2RiLi5jMTBhZTE2NjBlNTMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3VjL2ludGVsX2d1Y19hZHMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC91Yy9pbnRlbF9ndWNfYWRzLmMKPj4gQEAgLTEwNiw3ICsxMDYsNyBAQCBzdGF0aWMgdm9pZCBf X2d1Y19hZHNfaW5pdChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4+IMKgwqDCoMKgwqAgYmxvYi0+ c3lzdGVtX2luZm8udmRib3hfZW5hYmxlX21hc2sgPSBWREJPWF9NQVNLKGd0KTsKPj4gwqDCoMKg wqDCoCBibG9iLT5zeXN0ZW1faW5mby52ZWJveF9lbmFibGVfbWFzayA9IFZFQk9YX01BU0soZ3Qp Owo+PiAtwqDCoMKgIGJsb2ItPnN5c3RlbV9pbmZvLnZkYm94X3NmY19zdXBwb3J0X21hc2sgPSAK Pj4gUlVOVElNRV9JTkZPKGRldl9wcml2KS0+dmRib3hfc2ZjX2FjY2VzczsKPj4gK8KgwqDCoCBi bG9iLT5zeXN0ZW1faW5mby52ZGJveF9zZmNfc3VwcG9ydF9tYXNrID0gCj4+IGd0LT5pbmZvLnZk Ym94X3NmY19hY2Nlc3M7Cj4+IMKgwqDCoMKgwqAgYmFzZSA9IGludGVsX2d1Y19nZ3R0X29mZnNl dChndWMsIGd1Yy0+YWRzX3ZtYSk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvaGFuZGxlcnMuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMu Ywo+PiBpbmRleCBkZGVmYzUyZjZlMDkuLmUwNDdhNDk1MGY1ZiAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L2hhbmRsZXJzLmMKPj4gQEAgLTM0Nyw3ICszNDcsNyBAQCBzdGF0aWMgaW50IGdk cnN0X21taW9fd3JpdGUoc3RydWN0IGludGVsX3ZncHUgCj4+ICp2Z3B1LCB1bnNpZ25lZCBpbnQg b2Zmc2V0LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBndnRfZGJnX21taW8oInZncHUl ZDogcmVxdWVzdCBHVUMgUmVzZXRcbiIsIHZncHUtPmlkKTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgdmdwdV92cmVnX3QodmdwdSwgR1VDX1NUQVRVUykgfD0gR1NfTUlBX0lOX1JFU0VU Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+PiAtwqDCoMKgwqDCoMKgwqAgZW5naW5lX21hc2sg Jj0gSU5URUxfSU5GTyh2Z3B1LT5ndnQtPmd0LT5pOTE1KS0+ZW5naW5lX21hc2s7Cj4+ICvCoMKg wqDCoMKgwqDCoCBlbmdpbmVfbWFzayAmPSB2Z3B1LT5ndnQtPmd0LT5pbmZvLmVuZ2luZV9tYXNr Owo+PiDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoCAvKiB2Z3B1X2xvY2sgYWxyZWFkeSBob2xk IGJ5IGVtdWxhdGUgbW1pbyByL3cgKi8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4+IGluZGV4IDg1OTRhOGVmMDhjZS4uY2FkMTYyMGQyYTdlIDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiBAQCAtMzQsNiArMzQsNyBAQAo+PiDCoCAjaW5jbHVk ZSAiZ2VtL2k5MTVfZ2VtX2NvbnRleHQuaCIKPj4gwqAgI2luY2x1ZGUgImd0L2ludGVsX2d0X2J1 ZmZlcl9wb29sLmgiCj4+IMKgICNpbmNsdWRlICJndC9pbnRlbF9ndF9jbG9ja191dGlscy5oIgo+ PiArI2luY2x1ZGUgImd0L2ludGVsX2d0LmgiCj4+IMKgICNpbmNsdWRlICJndC9pbnRlbF9ndF9w bS5oIgo+PiDCoCAjaW5jbHVkZSAiZ3QvaW50ZWxfZ3RfcmVxdWVzdHMuaCIKPj4gwqAgI2luY2x1 ZGUgImd0L2ludGVsX3Jlc2V0LmgiCj4+IEBAIC02MSw2ICs2Miw3IEBAIHN0YXRpYyBpbnQgaTkx NV9jYXBhYmlsaXRpZXMoc3RydWN0IHNlcV9maWxlICptLCAKPj4gdm9pZCAqZGF0YSkKPj4gwqDC oMKgwqDCoCBpbnRlbF9kZXZpY2VfaW5mb19wcmludF9zdGF0aWMoSU5URUxfSU5GTyhpOTE1KSwg JnApOwo+PiDCoMKgwqDCoMKgIGludGVsX2RldmljZV9pbmZvX3ByaW50X3J1bnRpbWUoUlVOVElN RV9JTkZPKGk5MTUpLCAmcCk7Cj4+ICvCoMKgwqAgaW50ZWxfZ3RfaW5mb19wcmludCgmaTkxNS0+ Z3QuaW5mbywgJnApOwo+PiDCoMKgwqDCoMKgIGludGVsX2RyaXZlcl9jYXBzX3ByaW50KCZpOTE1 LT5jYXBzLCAmcCk7Cj4+IMKgwqDCoMKgwqAga2VybmVsX3BhcmFtX2xvY2soVEhJU19NT0RVTEUp Owo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAKPj4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4+IGluZGV4IDYxMTI4NzM1MzQyMC4uNjc3 ODlkZjQyYmU4IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPj4gQEAgLTg4Niw2ICs4 ODYsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3dlbGNvbWVfbWVzc2FnZXMoc3RydWN0IAo+PiBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGludGVsX2Rldmlj ZV9pbmZvX3ByaW50X3N0YXRpYyhJTlRFTF9JTkZPKGRldl9wcml2KSwgJnApOwo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgaW50ZWxfZGV2aWNlX2luZm9fcHJpbnRfcnVudGltZShSVU5USU1FX0lORk8o ZGV2X3ByaXYpLCAmcCk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBpbnRlbF9ndF9pbmZvX3ByaW50KCZk ZXZfcHJpdi0+Z3QuaW5mbywgJnApOwo+PiDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoCBpZiAo SVNfRU5BQkxFRChDT05GSUdfRFJNX0k5MTVfREVCVUcpKQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4+IGluZGV4IDE3Y2FkNGUyY2I5Yy4uZmEwMWJmMDkyOWUwIDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPj4gQEAgLTEyNTQsNyArMTI1NCw3IEBAIHN0YXRpYyBpbmxpbmUg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgCj4+ICpwZGV2X3RvX2k5MTUoc3RydWN0IHBjaV9kZXYg KnBkZXYpCj4+IMKgIC8qIEl0ZXJhdG9yIG92ZXIgc3Vic2V0IG9mIGVuZ2luZXMgc2VsZWN0ZWQg YnkgbWFzayAqLwo+PiDCoCAjZGVmaW5lIGZvcl9lYWNoX2VuZ2luZV9tYXNrZWQoZW5naW5lX18s IGd0X18sIG1hc2tfXywgdG1wX18pIFwKPj4gLcKgwqDCoCBmb3IgKCh0bXBfXykgPSAobWFza19f KSAmIElOVEVMX0lORk8oKGd0X18pLT5pOTE1KS0+ZW5naW5lX21hc2s7IFwKPj4gK8KgwqDCoCBm b3IgKCh0bXBfXykgPSAobWFza19fKSAmIChndF9fKS0+aW5mby5lbmdpbmVfbWFzazsgXAo+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoCAodG1wX18pID8gXAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo KGVuZ2luZV9fKSA9IChndF9fKS0+ZW5naW5lW19fbWFza19uZXh0X2JpdCh0bXBfXyldKSwgMSA6 IFwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgMDspCj4+IEBAIC0xNTYxLDEyICsxNTYxLDEyIEBA IElTX1NVQlBMQVRGT1JNKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIAo+PiAqaTkxNSwK Pj4gwqAgI2RlZmluZSBJU19HRU45X0JDKGRldl9wcml2KcKgwqDCoCAoSVNfR0VOKGRldl9wcml2 LCA5KSAmJiAKPj4gIUlTX0xQKGRldl9wcml2KSkKPj4gwqAgI2RlZmluZSBfX0hBU19FTkdJTkUo ZW5naW5lX21hc2ssIGlkKSAoKGVuZ2luZV9tYXNrKSAmIEJJVChpZCkpCj4+IC0jZGVmaW5lIEhB U19FTkdJTkUoZ3QsIGlkKSAKPj4gX19IQVNfRU5HSU5FKElOVEVMX0lORk8oKGd0KS0+aTkxNSkt PmVuZ2luZV9tYXNrLCBpZCkKPj4gKyNkZWZpbmUgSEFTX0VOR0lORShndCwgaWQpIF9fSEFTX0VO R0lORSgoZ3QpLT5pbmZvLmVuZ2luZV9tYXNrLCBpZCkKPj4gwqAgI2RlZmluZSBFTkdJTkVfSU5T VEFOQ0VTX01BU0soZ3QsIGZpcnN0LCBjb3VudCkgKHvCoMKgwqDCoMKgwqDCoCBcCj4+IMKgwqDC oMKgwqAgdW5zaWduZWQgaW50IGZpcnN0X18gPSAoZmlyc3QpO8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgY291bnRfXyA9 IChjb3VudCk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiAtwqDC oMKgIChJTlRFTF9JTkZPKChndCktPmk5MTUpLT5lbmdpbmVfbWFzayAmwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoCAoKGd0KS0+aW5mby5lbmdpbmVfbWFzayAmwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+IMKgwqDCoMKg wqDCoCBHRU5NQVNLKGZpcnN0X18gKyBjb3VudF9fIC0gMSwgZmlyc3RfXykpID4+IGZpcnN0X187 wqDCoMKgwqDCoMKgwqAgXAo+PiDCoCB9KQo+PiDCoCAjZGVmaW5lIFZEQk9YX01BU0soZ3QpIFwK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgCj4+ IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwo+PiBpbmRleCA4NjYxNjZh ZGExMGUuLjljYjlhYTM5YzMzZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ncHVfZXJyb3IuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9l cnJvci5jCj4+IEBAIC00Miw2ICs0Miw3IEBACj4+IMKgICNpbmNsdWRlICJnZW0vaTkxNV9nZW1f Y29udGV4dC5oIgo+PiDCoCAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2xtZW0uaCIKPj4gKyNpbmNs dWRlICJndC9pbnRlbF9ndC5oIgo+PiDCoCAjaW5jbHVkZSAiZ3QvaW50ZWxfZ3RfcG0uaCIKPj4g wqAgI2luY2x1ZGUgImk5MTVfZHJ2LmgiCj4+IEBAIC02MTksMTYgKzYyMCwxNSBAQCBzdGF0aWMg dm9pZCBwcmludF9lcnJvcl92bWEoc3RydWN0IAo+PiBkcm1faTkxNV9lcnJvcl9zdGF0ZV9idWYg Km0sCj4+IMKgIH0KPj4gwqAgc3RhdGljIHZvaWQgZXJyX3ByaW50X2NhcGFiaWxpdGllcyhzdHJ1 Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbywKPj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgaW50ZWxf cnVudGltZV9pbmZvICpydW50aW1lLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGNvbnN0IHN0cnVjdCBpbnRlbF9kcml2ZXJfY2FwcyAqY2FwcykKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaTkxNV9ncHVfY29yZWR1bXAgKmVy cm9yKQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqAgc3RydWN0IGRybV9wcmludGVyIHAgPSBpOTE1X2Vy cm9yX3ByaW50ZXIobSk7Cj4+IC3CoMKgwqAgaW50ZWxfZGV2aWNlX2luZm9fcHJpbnRfc3RhdGlj KGluZm8sICZwKTsKPj4gLcKgwqDCoCBpbnRlbF9kZXZpY2VfaW5mb19wcmludF9ydW50aW1lKHJ1 bnRpbWUsICZwKTsKPj4gLcKgwqDCoCBpbnRlbF9kZXZpY2VfaW5mb19wcmludF90b3BvbG9neSgm cnVudGltZS0+c3NldSwgJnApOwo+PiAtwqDCoMKgIGludGVsX2RyaXZlcl9jYXBzX3ByaW50KGNh cHMsICZwKTsKPj4gK8KgwqDCoCBpbnRlbF9kZXZpY2VfaW5mb19wcmludF9zdGF0aWMoJmVycm9y LT5kZXZpY2VfaW5mbywgJnApOwo+PiArwqDCoMKgIGludGVsX2RldmljZV9pbmZvX3ByaW50X3J1 bnRpbWUoJmVycm9yLT5ydW50aW1lX2luZm8sICZwKTsKPj4gK8KgwqDCoCBpbnRlbF9kZXZpY2Vf aW5mb19wcmludF90b3BvbG9neSgmZXJyb3ItPnJ1bnRpbWVfaW5mby5zc2V1LCAmcCk7Cj4+ICvC oMKgwqAgaW50ZWxfZ3RfaW5mb19wcmludCgmZXJyb3ItPmd0LT5pbmZvLCAmcCk7Cj4+ICvCoMKg wqAgaW50ZWxfZHJpdmVyX2NhcHNfcHJpbnQoJmVycm9yLT5kcml2ZXJfY2FwcywgJnApOwo+PiDC oCB9Cj4+IMKgIHN0YXRpYyB2b2lkIGVycl9wcmludF9wYXJhbXMoc3RydWN0IGRybV9pOTE1X2Vy cm9yX3N0YXRlX2J1ZiAqbSwKPj4gQEAgLTc5OCw4ICs3OTgsNyBAQCBzdGF0aWMgdm9pZCBfX2Vy cl9wcmludF90b19zZ2woc3RydWN0IAo+PiBkcm1faTkxNV9lcnJvcl9zdGF0ZV9idWYgKm0sCj4+ IMKgwqDCoMKgwqAgaWYgKGVycm9yLT5kaXNwbGF5KQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgaW50 ZWxfZGlzcGxheV9wcmludF9lcnJvcl9zdGF0ZShtLCBlcnJvci0+ZGlzcGxheSk7Cj4+IC3CoMKg wqAgZXJyX3ByaW50X2NhcGFiaWxpdGllcyhtLCAmZXJyb3ItPmRldmljZV9pbmZvLCAmZXJyb3It PnJ1bnRpbWVfaW5mbywKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAm ZXJyb3ItPmRyaXZlcl9jYXBzKTsKPj4gK8KgwqDCoCBlcnJfcHJpbnRfY2FwYWJpbGl0aWVzKG0s IGVycm9yKTsKPj4gwqDCoMKgwqDCoCBlcnJfcHJpbnRfcGFyYW1zKG0sICZlcnJvci0+cGFyYW1z KTsKPj4gwqAgfQo+PiBAQCAtMTYzMCw2ICsxNjI5LDExIEBAIHN0YXRpYyB2b2lkIGd0X3JlY29y ZF9yZWdzKHN0cnVjdCAKPj4gaW50ZWxfZ3RfY29yZWR1bXAgKmd0KQo+PiDCoMKgwqDCoMKgIGd0 LT5wZ3RibF9lciA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUEdUQkxfRVIpOwo+PiDCoCB9 Cj4+ICtzdGF0aWMgdm9pZCBndF9yZWNvcmRfaW5mbyhzdHJ1Y3QgaW50ZWxfZ3RfY29yZWR1bXAg Kmd0KQo+PiArewo+PiArwqDCoMKgIG1lbWNweSgmZ3QtPmluZm8sICZndC0+X2d0LT5pbmZvLCBz aXplb2Yoc3RydWN0IGludGVsX2d0X2luZm8pKTsKPj4gK30KPj4gKwo+PiDCoCAvKgo+PiDCoMKg ICogR2VuZXJhdGUgYSBzZW1pLXVuaXF1ZSBlcnJvciBjb2RlLiBUaGUgY29kZSBpcyBub3QgbWVh bnQgdG8gaGF2ZSAKPj4gbWVhbmluZywgVGhlCj4+IMKgwqAgKiBjb2RlJ3Mgb25seSBwdXJwb3Nl IGlzIHRvIHRyeSB0byBwcmV2ZW50IGZhbHNlIGR1cGxpY2F0ZWQgYnVnIAo+PiByZXBvcnRzIGJ5 Cj4+IEBAIC0xODA4LDYgKzE4MTIsNyBAQCBzdHJ1Y3QgaTkxNV9ncHVfY29yZWR1bXAgCj4+ICpp OTE1X2dwdV9jb3JlZHVtcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4+IMKgwqDCoMKg wqDCoMKgwqDCoCB9Cj4+ICvCoMKgwqDCoMKgwqDCoCBndF9yZWNvcmRfaW5mbyhlcnJvci0+Z3Qp Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ3RfcmVjb3JkX2VuZ2luZXMoZXJyb3ItPmd0LCBjb21w cmVzcyk7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoSU5URUxfSU5GTyhpOTE1KS0+aGFzX2d0 X3VjKQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3Iu aCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5oCj4+IGluZGV4IDc2 YjgwZmJmYjdlOS4uMDIyMGIwOTkyODA4IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dwdV9lcnJvci5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3B1X2Vycm9yLmgKPj4gQEAgLTE1LDYgKzE1LDcgQEAKPj4gwqAgI2luY2x1ZGUgPGRybS9kcm1f bW0uaD4KPj4gwqAgI2luY2x1ZGUgImd0L2ludGVsX2VuZ2luZS5oIgo+PiArI2luY2x1ZGUgImd0 L2ludGVsX2d0X3R5cGVzLmgiCj4+IMKgICNpbmNsdWRlICJndC91Yy9pbnRlbF91Y19mdy5oIgo+ PiDCoCAjaW5jbHVkZSAiaW50ZWxfZGV2aWNlX2luZm8uaCIKPj4gQEAgLTExOCw2ICsxMTksOCBA QCBzdHJ1Y3QgaW50ZWxfZ3RfY29yZWR1bXAgewo+PiDCoMKgwqDCoMKgIGJvb2wgYXdha2U7Cj4+ IMKgwqDCoMKgwqAgYm9vbCBzaW11bGF0ZWQ7Cj4+ICvCoMKgwqAgc3RydWN0IGludGVsX2d0X2lu Zm8gaW5mbzsKPj4gKwo+PiDCoMKgwqDCoMKgIC8qIEdlbmVyaWMgcmVnaXN0ZXIgc3RhdGUgKi8K Pj4gwqDCoMKgwqDCoCB1MzIgZWlyOwo+PiDCoMKgwqDCoMKgIHUzMiBwZ3RibF9lcjsKPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9wY2kuYwo+PiBpbmRleCBlNWZkZjE3Y2Q5Y2QuLjc2NTgwMjVhNzkx ZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCj4+IEBAIC0xNjgsNyArMTY4LDcgQEAK Pj4gwqDCoMKgwqDCoCAuZ3B1X3Jlc2V0X2Nsb2JiZXJzX2Rpc3BsYXkgPSB0cnVlLCBcCj4+IMKg wqDCoMKgwqAgLmh3c19uZWVkc19waHlzaWNhbCA9IDEsIFwKPj4gwqDCoMKgwqDCoCAudW5mZW5j ZWRfbmVlZHNfYWxpZ25tZW50ID0gMSwgXAo+PiAtwqDCoMKgIC5lbmdpbmVfbWFzayA9IEJJVChS Q1MwKSwgXAo+PiArwqDCoMKgIC5tYXhfZW5naW5lX21hc2sgPSBCSVQoUkNTMCksIFwKPj4gwqDC oMKgwqDCoCAuaGFzX3Nub29wID0gdHJ1ZSwgXAo+PiDCoMKgwqDCoMKgIC5oYXNfY29oZXJlbnRf Z2d0dCA9IGZhbHNlLCBcCj4+IMKgwqDCoMKgwqAgLmRtYV9tYXNrX3NpemUgPSAzMiwgXAo+PiBA QCAtMTg4LDcgKzE4OCw3IEBACj4+IMKgwqDCoMKgwqAgLmdwdV9yZXNldF9jbG9iYmVyc19kaXNw bGF5ID0gdHJ1ZSwgXAo+PiDCoMKgwqDCoMKgIC5od3NfbmVlZHNfcGh5c2ljYWwgPSAxLCBcCj4+ IMKgwqDCoMKgwqAgLnVuZmVuY2VkX25lZWRzX2FsaWdubWVudCA9IDEsIFwKPj4gLcKgwqDCoCAu ZW5naW5lX21hc2sgPSBCSVQoUkNTMCksIFwKPj4gK8KgwqDCoCAubWF4X2VuZ2luZV9tYXNrID0g QklUKFJDUzApLCBcCj4+IMKgwqDCoMKgwqAgLmhhc19zbm9vcCA9IHRydWUsIFwKPj4gwqDCoMKg wqDCoCAuaGFzX2NvaGVyZW50X2dndHQgPSBmYWxzZSwgXAo+PiDCoMKgwqDCoMKgIC5kbWFfbWFz a19zaXplID0gMzIsIFwKPj4gQEAgLTIyNSw3ICsyMjUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGludGVsX2RldmljZV9pbmZvIGk4NjVnX2luZm8gPSB7Cj4+IMKgwqDCoMKgwqAgLmNwdV90cmFu c2NvZGVyX21hc2sgPSBCSVQoVFJBTlNDT0RFUl9BKSB8IEJJVChUUkFOU0NPREVSX0IpLCBcCj4+ IMKgwqDCoMKgwqAgLmRpc3BsYXkuaGFzX2dtY2ggPSAxLCBcCj4+IMKgwqDCoMKgwqAgLmdwdV9y ZXNldF9jbG9iYmVyc19kaXNwbGF5ID0gdHJ1ZSwgXAo+PiAtwqDCoMKgIC5lbmdpbmVfbWFzayA9 IEJJVChSQ1MwKSwgXAo+PiArwqDCoMKgIC5tYXhfZW5naW5lX21hc2sgPSBCSVQoUkNTMCksIFwK Pj4gwqDCoMKgwqDCoCAuaGFzX3Nub29wID0gdHJ1ZSwgXAo+PiDCoMKgwqDCoMKgIC5oYXNfY29o ZXJlbnRfZ2d0dCA9IHRydWUsIFwKPj4gwqDCoMKgwqDCoCAuZG1hX21hc2tfc2l6ZSA9IDMyLCBc Cj4+IEBAIC0zMTYsNyArMzE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2Vf aW5mbyBwbnZfbV9pbmZvID0gewo+PiDCoMKgwqDCoMKgIC5kaXNwbGF5Lmhhc19ob3RwbHVnID0g MSwgXAo+PiDCoMKgwqDCoMKgIC5kaXNwbGF5Lmhhc19nbWNoID0gMSwgXAo+PiDCoMKgwqDCoMKg IC5ncHVfcmVzZXRfY2xvYmJlcnNfZGlzcGxheSA9IHRydWUsIFwKPj4gLcKgwqDCoCAuZW5naW5l X21hc2sgPSBCSVQoUkNTMCksIFwKPj4gK8KgwqDCoCAubWF4X2VuZ2luZV9tYXNrID0gQklUKFJD UzApLCBcCj4+IMKgwqDCoMKgwqAgLmhhc19zbm9vcCA9IHRydWUsIFwKPj4gwqDCoMKgwqDCoCAu aGFzX2NvaGVyZW50X2dndHQgPSB0cnVlLCBcCj4+IMKgwqDCoMKgwqAgLmRtYV9tYXNrX3NpemUg PSAzNiwgXAo+PiBAQCAtMzQ4LDcgKzM0OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxf ZGV2aWNlX2luZm8gaTk2NWdtX2luZm8gPSB7Cj4+IMKgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50 ZWxfZGV2aWNlX2luZm8gZzQ1X2luZm8gPSB7Cj4+IMKgwqDCoMKgwqAgR0VONF9GRUFUVVJFUywK Pj4gwqDCoMKgwqDCoCBQTEFURk9STShJTlRFTF9HNDUpLAo+PiAtwqDCoMKgIC5lbmdpbmVfbWFz ayA9IEJJVChSQ1MwKSB8IEJJVChWQ1MwKSwKPj4gK8KgwqDCoCAubWF4X2VuZ2luZV9tYXNrID0g QklUKFJDUzApIHwgQklUKFZDUzApLAo+PiDCoMKgwqDCoMKgIC5ncHVfcmVzZXRfY2xvYmJlcnNf ZGlzcGxheSA9IGZhbHNlLAo+PiDCoCB9Owo+PiBAQCAtMzU4LDcgKzM1OCw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gZ200NV9pbmZvID0gewo+PiDCoMKgwqDCoMKg IC5pc19tb2JpbGUgPSAxLAo+PiDCoMKgwqDCoMKgIC5kaXNwbGF5Lmhhc19mYmMgPSAxLAo+PiDC oMKgwqDCoMKgIC5kaXNwbGF5LnN1cHBvcnRzX3R2ID0gMSwKPj4gLcKgwqDCoCAuZW5naW5lX21h c2sgPSBCSVQoUkNTMCkgfCBCSVQoVkNTMCksCj4+ICvCoMKgwqAgLm1heF9lbmdpbmVfbWFzayA9 IEJJVChSQ1MwKSB8IEJJVChWQ1MwKSwKPj4gwqDCoMKgwqDCoCAuZ3B1X3Jlc2V0X2Nsb2JiZXJz X2Rpc3BsYXkgPSBmYWxzZSwKPj4gwqAgfTsKPj4gQEAgLTM2Nyw3ICszNjcsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGdtNDVfaW5mbyA9IHsKPj4gwqDCoMKgwqDC oCAucGlwZV9tYXNrID0gQklUKFBJUEVfQSkgfCBCSVQoUElQRV9CKSwgXAo+PiDCoMKgwqDCoMKg IC5jcHVfdHJhbnNjb2Rlcl9tYXNrID0gQklUKFRSQU5TQ09ERVJfQSkgfCBCSVQoVFJBTlNDT0RF Ul9CKSwgXAo+PiDCoMKgwqDCoMKgIC5kaXNwbGF5Lmhhc19ob3RwbHVnID0gMSwgXAo+PiAtwqDC oMKgIC5lbmdpbmVfbWFzayA9IEJJVChSQ1MwKSB8IEJJVChWQ1MwKSwgXAo+PiArwqDCoMKgIC5t YXhfZW5naW5lX21hc2sgPSBCSVQoUkNTMCkgfCBCSVQoVkNTMCksIFwKPj4gwqDCoMKgwqDCoCAu aGFzX3Nub29wID0gdHJ1ZSwgXAo+PiDCoMKgwqDCoMKgIC5oYXNfY29oZXJlbnRfZ2d0dCA9IHRy dWUsIFwKPj4gwqDCoMKgwqDCoCAvKiBpbGsgZG9lcyBzdXBwb3J0IHJjNiwgYnV0IHdlIGRvIG5v dCBpbXBsZW1lbnQgW3Bvd2VyXSAKPj4gY29udGV4dHMgKi8gXAo+PiBAQCAtMzk3LDcgKzM5Nyw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaWxrX21faW5mbyA9IHsK Pj4gwqDCoMKgwqDCoCAuY3B1X3RyYW5zY29kZXJfbWFzayA9IEJJVChUUkFOU0NPREVSX0EpIHwg QklUKFRSQU5TQ09ERVJfQiksIFwKPj4gwqDCoMKgwqDCoCAuZGlzcGxheS5oYXNfaG90cGx1ZyA9 IDEsIFwKPj4gwqDCoMKgwqDCoCAuZGlzcGxheS5oYXNfZmJjID0gMSwgXAo+PiAtwqDCoMKgIC5l bmdpbmVfbWFzayA9IEJJVChSQ1MwKSB8IEJJVChWQ1MwKSB8IEJJVChCQ1MwKSwgXAo+PiArwqDC oMKgIC5tYXhfZW5naW5lX21hc2sgPSBCSVQoUkNTMCkgfCBCSVQoVkNTMCkgfCBCSVQoQkNTMCks IFwKPj4gwqDCoMKgwqDCoCAuaGFzX2NvaGVyZW50X2dndHQgPSB0cnVlLCBcCj4+IMKgwqDCoMKg wqAgLmhhc19sbGMgPSAxLCBcCj4+IMKgwqDCoMKgwqAgLmhhc19yYzYgPSAxLCBcCj4+IEBAIC00 NDgsNyArNDQ4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAKPj4g c25iX21fZ3QyX2luZm8gPSB7Cj4+IMKgwqDCoMKgwqAgLmNwdV90cmFuc2NvZGVyX21hc2sgPSBC SVQoVFJBTlNDT0RFUl9BKSB8IEJJVChUUkFOU0NPREVSX0IpIHwgCj4+IEJJVChUUkFOU0NPREVS X0MpLCBcCj4+IMKgwqDCoMKgwqAgLmRpc3BsYXkuaGFzX2hvdHBsdWcgPSAxLCBcCj4+IMKgwqDC oMKgwqAgLmRpc3BsYXkuaGFzX2ZiYyA9IDEsIFwKPj4gLcKgwqDCoCAuZW5naW5lX21hc2sgPSBC SVQoUkNTMCkgfCBCSVQoVkNTMCkgfCBCSVQoQkNTMCksIFwKPj4gK8KgwqDCoCAubWF4X2VuZ2lu ZV9tYXNrID0gQklUKFJDUzApIHwgQklUKFZDUzApIHwgQklUKEJDUzApLCBcCj4+IMKgwqDCoMKg wqAgLmhhc19jb2hlcmVudF9nZ3R0ID0gdHJ1ZSwgXAo+PiDCoMKgwqDCoMKgIC5oYXNfbGxjID0g MSwgXAo+PiDCoMKgwqDCoMKgIC5oYXNfcmM2ID0gMSwgXAo+PiBAQCAtNTE5LDcgKzUxOSw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gdmx2X2luZm8gPSB7Cj4+IMKg wqDCoMKgwqAgLnBwZ3R0X3NpemUgPSAzMSwKPj4gwqDCoMKgwqDCoCAuaGFzX3Nub29wID0gdHJ1 ZSwKPj4gwqDCoMKgwqDCoCAuaGFzX2NvaGVyZW50X2dndHQgPSBmYWxzZSwKPj4gLcKgwqDCoCAu ZW5naW5lX21hc2sgPSBCSVQoUkNTMCkgfCBCSVQoVkNTMCkgfCBCSVQoQkNTMCksCj4+ICvCoMKg wqAgLm1heF9lbmdpbmVfbWFzayA9IEJJVChSQ1MwKSB8IEJJVChWQ1MwKSB8IEJJVChCQ1MwKSwK Pj4gwqDCoMKgwqDCoCAuZGlzcGxheV9tbWlvX29mZnNldCA9IFZMVl9ESVNQTEFZX0JBU0UsCj4+ IMKgwqDCoMKgwqAgSTlYWF9QSVBFX09GRlNFVFMsCj4+IMKgwqDCoMKgwqAgSTlYWF9DVVJTT1Jf T0ZGU0VUUywKPj4gQEAgLTUzMCw3ICs1MzAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVs X2RldmljZV9pbmZvIHZsdl9pbmZvID0gewo+PiDCoCAjZGVmaW5lIEc3NV9GRUFUVVJFU8KgIFwK Pj4gwqDCoMKgwqDCoCBHRU43X0ZFQVRVUkVTLCBcCj4+IC3CoMKgwqAgLmVuZ2luZV9tYXNrID0g QklUKFJDUzApIHwgQklUKFZDUzApIHwgQklUKEJDUzApIHwgQklUKFZFQ1MwKSwgXAo+PiArwqDC oMKgIC5tYXhfZW5naW5lX21hc2sgPSBCSVQoUkNTMCkgfCBCSVQoVkNTMCkgfCBCSVQoQkNTMCkg fCBCSVQoVkVDUzApLCBcCj4+IMKgwqDCoMKgwqAgLmNwdV90cmFuc2NvZGVyX21hc2sgPSBCSVQo VFJBTlNDT0RFUl9BKSB8IEJJVChUUkFOU0NPREVSX0IpIHwgXAo+PiDCoMKgwqDCoMKgwqDCoMKg wqAgQklUKFRSQU5TQ09ERVJfQykgfCBCSVQoVFJBTlNDT0RFUl9FRFApLCBcCj4+IMKgwqDCoMKg wqAgLmRpc3BsYXkuaGFzX2RkaSA9IDEsIFwKPj4gQEAgLTU5Nyw3ICs1OTcsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIAo+PiBiZHdfcnN2ZF9pbmZvID0gewo+PiDC oCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGJkd19ndDNfaW5mbyA9IHsK Pj4gwqDCoMKgwqDCoCBCRFdfUExBVEZPUk0sCj4+IMKgwqDCoMKgwqAgLmd0ID0gMywKPj4gLcKg wqDCoCAuZW5naW5lX21hc2sgPQo+PiArwqDCoMKgIC5tYXhfZW5naW5lX21hc2sgPQo+PiDCoMKg wqDCoMKgwqDCoMKgwqAgQklUKFJDUzApIHwgQklUKFZDUzApIHwgQklUKEJDUzApIHwgQklUKFZF Q1MwKSB8IEJJVChWQ1MxKSwKPj4gwqAgfTsKPj4gQEAgLTYwOCw3ICs2MDgsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGNodl9pbmZvID0gewo+PiDCoMKgwqDCoMKg IC5jcHVfdHJhbnNjb2Rlcl9tYXNrID0gQklUKFRSQU5TQ09ERVJfQSkgfCBCSVQoVFJBTlNDT0RF Ul9CKSB8IAo+PiBCSVQoVFJBTlNDT0RFUl9DKSwKPj4gwqDCoMKgwqDCoCAuZGlzcGxheS5oYXNf aG90cGx1ZyA9IDEsCj4+IMKgwqDCoMKgwqAgLmlzX2xwID0gMSwKPj4gLcKgwqDCoCAuZW5naW5l X21hc2sgPSBCSVQoUkNTMCkgfCBCSVQoVkNTMCkgfCBCSVQoQkNTMCkgfCBCSVQoVkVDUzApLAo+ PiArwqDCoMKgIC5tYXhfZW5naW5lX21hc2sgPSBCSVQoUkNTMCkgfCBCSVQoVkNTMCkgfCBCSVQo QkNTMCkgfCBCSVQoVkVDUzApLAo+PiDCoMKgwqDCoMKgIC5oYXNfNjRiaXRfcmVsb2MgPSAxLAo+ PiDCoMKgwqDCoMKgIC5oYXNfcnVudGltZV9wbSA9IDEsCj4+IMKgwqDCoMKgwqAgLmhhc19yYzYg PSAxLAo+PiBAQCAtNjYxLDcgKzY2MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2 aWNlX2luZm8gc2tsX2d0Ml9pbmZvIAo+PiA9IHsKPj4gwqAgI2RlZmluZSBTS0xfR1QzX1BMVVNf UExBVEZPUk0gXAo+PiDCoMKgwqDCoMKgIFNLTF9QTEFURk9STSwgXAo+PiAtwqDCoMKgIC5lbmdp bmVfbWFzayA9IFwKPj4gK8KgwqDCoCAubWF4X2VuZ2luZV9tYXNrID0gXAo+PiDCoMKgwqDCoMKg wqDCoMKgwqAgQklUKFJDUzApIHwgQklUKFZDUzApIHwgQklUKEJDUzApIHwgQklUKFZFQ1MwKSB8 IEJJVChWQ1MxKQo+PiBAQCAtNjgwLDcgKzY4MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50 ZWxfZGV2aWNlX2luZm8gc2tsX2d0NF9pbmZvIAo+PiA9IHsKPj4gwqDCoMKgwqDCoCAuaXNfbHAg PSAxLCBcCj4+IMKgwqDCoMKgwqAgLm51bV9zdXBwb3J0ZWRfZGJ1Zl9zbGljZXMgPSAxLCBcCj4+ IMKgwqDCoMKgwqAgLmRpc3BsYXkuaGFzX2hvdHBsdWcgPSAxLCBcCj4+IC3CoMKgwqAgLmVuZ2lu ZV9tYXNrID0gQklUKFJDUzApIHwgQklUKFZDUzApIHwgQklUKEJDUzApIHwgQklUKFZFQ1MwKSwg XAo+PiArwqDCoMKgIC5tYXhfZW5naW5lX21hc2sgPSBCSVQoUkNTMCkgfCBCSVQoVkNTMCkgfCBC SVQoQkNTMCkgfCBCSVQoVkVDUzApLCBcCj4+IMKgwqDCoMKgwqAgLnBpcGVfbWFzayA9IEJJVChQ SVBFX0EpIHwgQklUKFBJUEVfQikgfCBCSVQoUElQRV9DKSwgXAo+PiDCoMKgwqDCoMKgIC5jcHVf dHJhbnNjb2Rlcl9tYXNrID0gQklUKFRSQU5TQ09ERVJfQSkgfCBCSVQoVFJBTlNDT0RFUl9CKSB8 IFwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIEJJVChUUkFOU0NPREVSX0MpIHwgQklUKFRSQU5TQ09E RVJfRURQKSB8IFwKPj4gQEAgLTc0Myw3ICs3NDMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlu dGVsX2RldmljZV9pbmZvIGtibF9ndDJfaW5mbyAKPj4gPSB7Cj4+IMKgIHN0YXRpYyBjb25zdCBz dHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8ga2JsX2d0M19pbmZvID0gewo+PiDCoMKgwqDCoMKgIEtC TF9QTEFURk9STSwKPj4gwqDCoMKgwqDCoCAuZ3QgPSAzLAo+PiAtwqDCoMKgIC5lbmdpbmVfbWFz ayA9Cj4+ICvCoMKgwqAgLm1heF9lbmdpbmVfbWFzayA9Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBC SVQoUkNTMCkgfCBCSVQoVkNTMCkgfCBCSVQoQkNTMCkgfCBCSVQoVkVDUzApIHwgQklUKFZDUzEp LAo+PiDCoCB9Owo+PiBAQCAtNzY0LDcgKzc2NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50 ZWxfZGV2aWNlX2luZm8gY2ZsX2d0Ml9pbmZvIAo+PiA9IHsKPj4gwqAgc3RhdGljIGNvbnN0IHN0 cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBjZmxfZ3QzX2luZm8gPSB7Cj4+IMKgwqDCoMKgwqAgQ0ZM X1BMQVRGT1JNLAo+PiDCoMKgwqDCoMKgIC5ndCA9IDMsCj4+IC3CoMKgwqAgLmVuZ2luZV9tYXNr ID0KPj4gK8KgwqDCoCAubWF4X2VuZ2luZV9tYXNrID0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIEJJ VChSQ1MwKSB8IEJJVChWQ1MwKSB8IEJJVChCQ1MwKSB8IEJJVChWRUNTMCkgfCBCSVQoVkNTMSks Cj4+IMKgIH07Cj4+IEBAIC04MzMsNyArODMzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRl bF9kZXZpY2VfaW5mbyBjbmxfaW5mbyA9IHsKPj4gwqAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRl bF9kZXZpY2VfaW5mbyBpY2xfaW5mbyA9IHsKPj4gwqDCoMKgwqDCoCBHRU4xMV9GRUFUVVJFUywK Pj4gwqDCoMKgwqDCoCBQTEFURk9STShJTlRFTF9JQ0VMQUtFKSwKPj4gLcKgwqDCoCAuZW5naW5l X21hc2sgPQo+PiArwqDCoMKgIC5tYXhfZW5naW5lX21hc2sgPQo+PiDCoMKgwqDCoMKgwqDCoMKg wqAgQklUKFJDUzApIHwgQklUKEJDUzApIHwgQklUKFZFQ1MwKSB8IEJJVChWQ1MwKSB8IEJJVChW Q1MyKSwKPj4gwqAgfTsKPj4gQEAgLTg0MSw3ICs4NDEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGludGVsX2RldmljZV9pbmZvIGVobF9pbmZvID0gewo+PiDCoMKgwqDCoMKgIEdFTjExX0ZFQVRV UkVTLAo+PiDCoMKgwqDCoMKgIFBMQVRGT1JNKElOVEVMX0VMS0hBUlRMQUtFKSwKPj4gwqDCoMKg wqDCoCAucmVxdWlyZV9mb3JjZV9wcm9iZSA9IDEsCj4+IC3CoMKgwqAgLmVuZ2luZV9tYXNrID0g QklUKFJDUzApIHwgQklUKEJDUzApIHwgQklUKFZDUzApIHwgQklUKFZFQ1MwKSwKPj4gK8KgwqDC oCAubWF4X2VuZ2luZV9tYXNrID0gQklUKFJDUzApIHwgQklUKEJDUzApIHwgQklUKFZDUzApIHwg QklUKFZFQ1MwKSwKPj4gwqDCoMKgwqDCoCAucHBndHRfc2l6ZSA9IDM2LAo+PiDCoCB9Owo+PiBA QCAtODc3LDcgKzg3Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8g dGdsX2luZm8gPSB7Cj4+IMKgwqDCoMKgwqAgR0VOMTJfRkVBVFVSRVMsCj4+IMKgwqDCoMKgwqAg UExBVEZPUk0oSU5URUxfVElHRVJMQUtFKSwKPj4gwqDCoMKgwqDCoCAuZGlzcGxheS5oYXNfbW9k dWxhcl9maWEgPSAxLAo+PiAtwqDCoMKgIC5lbmdpbmVfbWFzayA9Cj4+ICvCoMKgwqAgLm1heF9l bmdpbmVfbWFzayA9Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoUkNTMCkgfCBCSVQoQkNTMCkg fCBCSVQoVkVDUzApIHwgQklUKFZDUzApIHwgQklUKFZDUzIpLAo+PiDCoCB9Owo+PiBAQCAtODkw LDcgKzg5MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gcmtsX2lu Zm8gPSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoVFJBTlNDT0RFUl9DKSwKPj4gwqDCoMKg wqDCoCAucmVxdWlyZV9mb3JjZV9wcm9iZSA9IDEsCj4+IMKgwqDCoMKgwqAgLmRpc3BsYXkuaGFz X3Bzcl9od190cmFja2luZyA9IDAsCj4+IC3CoMKgwqAgLmVuZ2luZV9tYXNrID0KPj4gK8KgwqDC oCAubWF4X2VuZ2luZV9tYXNrID0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIEJJVChSQ1MwKSB8IEJJ VChCQ1MwKSB8IEJJVChWRUNTMCkgfCBCSVQoVkNTMCksCj4+IMKgIH07Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jIAo+PiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKPj4gaW5kZXggOTJlYmVhMzVjNzUyLi5h MzYyYTY2ZmNlMTEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rl dmljZV9pbmZvLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2lu Zm8uYwo+PiBAQCAtOTIsNyArOTIsNiBAQCBzdGF0aWMgY29uc3QgY2hhciAqaW9tbXVfbmFtZSh2 b2lkKQo+PiDCoCB2b2lkIGludGVsX2RldmljZV9pbmZvX3ByaW50X3N0YXRpYyhjb25zdCBzdHJ1 Y3QgaW50ZWxfZGV2aWNlX2luZm8gCj4+ICppbmZvLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRybV9wcmludGVyICpwKQo+PiDCoCB7Cj4+IC3C oMKgwqAgZHJtX3ByaW50ZihwLCAiZW5naW5lczogJXhcbiIsIGluZm8tPmVuZ2luZV9tYXNrKTsK Pj4gwqDCoMKgwqDCoCBkcm1fcHJpbnRmKHAsICJnZW46ICVkXG4iLCBpbmZvLT5nZW4pOwo+PiDC oMKgwqDCoMKgIGRybV9wcmludGYocCwgImd0OiAlZFxuIiwgaW5mby0+Z3QpOwo+PiDCoMKgwqDC oMKgIGRybV9wcmludGYocCwgImlvbW11OiAlc1xuIiwgaW9tbXVfbmFtZSgpKTsKPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmggCj4+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+PiBpbmRleCBmYTYwZmRjMWQ3 NWEuLmYwM2VkOTVhZjE5MCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGV2aWNlX2luZm8uaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZp Y2VfaW5mby5oCj4+IEBAIC0xNTcsNyArMTU3LDcgQEAgc3RydWN0IGludGVsX2RldmljZV9pbmZv IHsKPj4gwqDCoMKgwqDCoCB1OCBnZW47Cj4+IMKgwqDCoMKgwqAgdTggZ3Q7IC8qIEdUIG51bWJl ciwgMCBpZiB1bmRlZmluZWQgKi8KPj4gLcKgwqDCoCBpbnRlbF9lbmdpbmVfbWFza190IGVuZ2lu ZV9tYXNrOyAvKiBFbmdpbmVzIHN1cHBvcnRlZCBieSB0aGUgSFcgKi8KPj4gK8KgwqDCoCBpbnRl bF9lbmdpbmVfbWFza190IG1heF9lbmdpbmVfbWFzazsgLyogRW5naW5lcyBzdXBwb3J0ZWQgYnkg dGhlIAo+PiBIVyAqLwo+PiDCoMKgwqDCoMKgIGVudW0gaW50ZWxfcGxhdGZvcm0gcGxhdGZvcm07 Cj4+IEBAIC0yMTksOCArMjE5LDYgQEAgc3RydWN0IGludGVsX3J1bnRpbWVfaW5mbyB7Cj4+IMKg wqDCoMKgwqAgdTggbnVtX3Nwcml0ZXNbSTkxNV9NQVhfUElQRVNdOwo+PiDCoMKgwqDCoMKgIHU4 IG51bV9zY2FsZXJzW0k5MTVfTUFYX1BJUEVTXTsKPj4gLcKgwqDCoCB1OCBudW1fZW5naW5lczsK Pj4gLQo+PiDCoMKgwqDCoMKgIC8qIFNsaWNlL3N1YnNsaWNlL0VVIGluZm8gKi8KPj4gwqDCoMKg wqDCoCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyBzc2V1Owo+PiBAQCAtMjI4LDkgKzIyNiw2IEBAIHN0 cnVjdCBpbnRlbF9ydW50aW1lX2luZm8gewo+PiDCoMKgwqDCoMKgIHUzMiBjc190aW1lc3RhbXBf ZnJlcXVlbmN5X2h6Owo+PiDCoMKgwqDCoMKgIHUzMiBjc190aW1lc3RhbXBfcGVyaW9kX25zOwo+ PiAtCj4+IC3CoMKgwqAgLyogTWVkaWEgZW5naW5lIGFjY2VzcyB0byBTRkMgcGVyIGluc3RhbmNl ICovCj4+IC3CoMKgwqAgdTggdmRib3hfc2ZjX2FjY2VzczsKPj4gwqAgfTsKPj4gwqAgc3RydWN0 IGludGVsX2RyaXZlcl9jYXBzIHsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3VuY29yZS5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5j Cj4+IGluZGV4IGJkNGI0NTE5MWY3Yi4uZjU1NDg4NzU4MzZjIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuYwo+PiBAQCAtMTUzMCw3ICsxNTMwLDcgQEAgc3RhdGljIGludCBp bnRlbF91bmNvcmVfZndfZG9tYWluc19pbml0KHN0cnVjdCAKPj4gaW50ZWxfdW5jb3JlICp1bmNv cmUpCj4+IMKgwqDCoMKgwqAgaWYgKElOVEVMX0dFTihpOTE1KSA+PSAxMSkgewo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgLyogd2UnbGwgcHJ1bmUgdGhlIGRvbWFpbnMgb2YgbWlzc2luZyBlbmdpbmVz IGxhdGVyICovCj4+IC3CoMKgwqDCoMKgwqDCoCBpbnRlbF9lbmdpbmVfbWFza190IGVtYXNrID0g SU5URUxfSU5GTyhpOTE1KS0+ZW5naW5lX21hc2s7Cj4+ICvCoMKgwqDCoMKgwqDCoCBpbnRlbF9l bmdpbmVfbWFza190IGVtYXNrID0gSU5URUxfSU5GTyhpOTE1KS0+bWF4X2VuZ2luZV9tYXNrOwo+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgaW50IGk7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB1bmNvcmUt PmZ1bmNzLmZvcmNlX3dha2VfZ2V0ID0gZndfZG9tYWluc19nZXRfd2l0aF9mYWxsYmFjazsKPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3JlcXVlc3Qu YyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMKPj4g aW5kZXggOTI3MWFhZDdmNzc5Li41N2RkNmY1MTIyZWUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3JlcXVlc3QuYwo+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMKPj4gQEAgLTE0NTQsNyArMTQ1NCw3 IEBAIHN0YXRpYyBpbnQgbGl2ZV9icmVhZGNydW1ic19zbW9rZXRlc3Qodm9pZCAqYXJnKQo+PiDC oMKgwqDCoMKgwqDCoMKgwqAgaWR4Kys7Cj4+IMKgwqDCoMKgwqAgfQo+PiDCoMKgwqDCoMKgIHBy X2luZm8oIkNvbXBsZXRlZCAlbHUgd2FpdHMgZm9yICVsdSBmZW5jZXMgYWNyb3NzICVkIGVuZ2lu ZXMgCj4+IGFuZCAlZCBjcHVzXG4iLAo+PiAtwqDCoMKgwqDCoMKgwqAgbnVtX3dhaXRzLCBudW1f ZmVuY2VzLCBSVU5USU1FX0lORk8oaTkxNSktPm51bV9lbmdpbmVzLCBuY3B1cyk7Cj4+ICvCoMKg wqDCoMKgwqDCoCBudW1fd2FpdHMsIG51bV9mZW5jZXMsIGlkeCwgbmNwdXMpOwo+PiDCoMKgwqDC oMKgIHJldCA9IGlndF9saXZlX3Rlc3RfZW5kKCZsaXZlKSA/OiByZXQ7Cj4+IMKgIG91dF9jb250 ZXh0czoKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2Nr X2dlbV9kZXZpY2UuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19n ZW1fZGV2aWNlLmMKPj4gaW5kZXggOWIxMDViODExZjFmLi4wOTE2ZWZhMzE4ODkgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYwo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMK Pj4gQEAgLTE5MCw3ICsxOTAsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqbW9ja19nZW1f ZGV2aWNlKHZvaWQpCj4+IMKgwqDCoMKgwqAgbW9ja19pbml0X2dndHQoaTkxNSwgJmk5MTUtPmdn dHQpOwo+PiDCoMKgwqDCoMKgIGk5MTUtPmd0LnZtID0gaTkxNV92bV9nZXQoJmk5MTUtPmdndHQu dm0pOwo+PiAtwqDCoMKgIG1rd3JpdGVfZGV2aWNlX2luZm8oaTkxNSktPmVuZ2luZV9tYXNrID0g QklUKDApOwo+PiArwqDCoMKgIG1rd3JpdGVfZGV2aWNlX2luZm8oaTkxNSktPm1heF9lbmdpbmVf bWFzayA9IEJJVCgwKTsKPj4gK8KgwqDCoCBpOTE1LT5ndC5pbmZvLmVuZ2luZV9tYXNrID0gQklU KDApOwo+PiDCoMKgwqDCoMKgIGk5MTUtPmd0LmVuZ2luZVtSQ1MwXSA9IG1vY2tfZW5naW5lKGk5 MTUsICJtb2NrIiwgUkNTMCk7Cj4+IMKgwqDCoMKgwqAgaWYgKCFpOTE1LT5ndC5lbmdpbmVbUkNT MF0pCj4+Cj4gCj4gT25seSB0aGluZyB3aGljaCBsb29rcyBhIGJpdCBzdWItb3B0aW1hbGlzIHRo ZSBuYW1lICJtYXhfZW5naW5lX21hc2siLCAKPiBidXQgbWF5YmUgaXQgaXMganVzdCBtZSwgdGhh dCBtYXggYW5kIG1hc2tzIGRvIG5vdCBnbyB3ZWxsIHRvZ2V0aGVyLiAKPiBPbmx5IGFsdGVybmF0 aXZlIEkgaGF2ZSBmb3IgdGhlIG1vbWVudCBpcyBwbGF0Zm9ybV9lbmdpbmVfbWFzaz8gT3IgdGhl IAo+IHVzdWFsIGRvdWJsZSB1bmRlcnNjb3JlIGFwcHJvYWNoLiBFaXRoZXIgd2F5Ogo+IAoKSSB3 YXNuJ3QgZnVsbHkgY29udmluY2VkIG9mIG1heF9lbmdpbmVfbWFzayBlaXRoZXIsIGJ1eSBJIGhh ZCBubyBiZXR0ZXIgCmlkZWFzIDopCgpwbGF0Zm9ybV9lbmdpbmVfbWFzayBzb3VuZHMgZ29vZCB0 byBtZSwgSSdsbCB1c2UgdGhhdC4KCkRhbmllbGUKCj4gUmV2aWV3ZWQtYnk6IFR2cnRrbyBVcnN1 bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gCj4gUmVnYXJkcywKPiAKPiBUdnJ0a28K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==