From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 1/6] drm/amd: Mark some tables as const Date: Mon, 11 Apr 2016 09:32:06 +0200 Message-ID: <570B52F6.7090008@vodafone.de> References: <1460298604-15126-1-git-send-email-nils.wallmenius@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 83E656E28A for ; Mon, 11 Apr 2016 07:32:13 +0000 (UTC) In-Reply-To: <1460298604-15126-1-git-send-email-nils.wallmenius@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?Q?Nils_Wallm=c3=a9nius?= , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QW0gMTAuMDQuMjAxNiB1bSAxNjoyOSBzY2hyaWViIE5pbHMgV2FsbG3DqW5pdXM6Cj4gVGhpcyBw YXRjaCBtYXJrcyBzb21lIGNvbXBpbGUtdGltZSBjb25zdGFudCB0YWJsZXMgJ2NvbnN0Jy4KPiBU aGUgdGFibGVzIG1hcmtlZCBpbiB0aGlzIHBhdGNoIGFyZSB0aGUgbG93IGhhbmdpbmcgZnJ1aXQK PiB3aGVyZSBsaXR0bGUgb3RoZXIgY2hhbmdlcyB3ZXJlIG5lY2VzYXJ5IHRvIGF2b2lkIGNhc3Rp bmcKPiBhd2F5IGNvbnN0bmVzcyBldGMuIEFsc28gbWFyayBzb21lIHRhYmxlcyB0aGF0IGFyZSBw cml2YXRlCj4gdG8gYSBmaWxlIGFzIHN0YXRpYy4KPgo+IFNpZ25lZC1vZmYtYnk6IE5pbHMgV2Fs bG3DqW5pdXMgPG5pbHMud2FsbG1lbml1c0BnbWFpbC5jb20+CgpOaWNlIGNsZWFudXAsIGZvciB0 aGUgc2VyaWVzIFJldmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIAo8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPgoKVGhhbmtzLApDaHJpc3RpYW4uCgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICAgICAgICAgICAgICB8ICAyICstCj4gICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5jICAgICAgICAgIHwgIDYgKysrLS0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgICAgICAgICAgICAg IHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuYyAgICAg ICAgICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2tt cy5jICAgICAgICAgICAgICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9od21nci9maWppX2h3bWdyLmMgICAgIHwgMTIgKysrKysrLS0tLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9maWppX2h3bWdyLmggICAgIHwgIDIgKy0KPiAgIGRy aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2ZpamlfcG93ZXJ0dW5lLmMgfCAxMCAr KysrKy0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci90b25nYV9o d21nci5jICAgIHwgIDggKysrKy0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2luYy9maWppX3B3cnZpcnVzLmggICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9w b3dlcnBsYXkvc211bWdyL2N6X3NtdW1nci5jICAgICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvZmlqaV9zbXVtZ3IuYyAgIHwgIDYgKysrLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvdG9uZ2Ffc211bWdyLmMgIHwgIDIg Ky0KPiAgIDEzIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygt KQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPiBpbmRleCA2NmU1MWY5Li41ZDA1 YjVkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPiBAQCAtMjM0OCw3ICsy MzQ4LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGFtZGdwdV91bnJlZ2lzdGVyX2F0cHhfaGFuZGxl cih2b2lkKSB7fQo+ICAgICogS01TCj4gICAgKi8KPiAgIGV4dGVybiBjb25zdCBzdHJ1Y3QgZHJt X2lvY3RsX2Rlc2MgYW1kZ3B1X2lvY3Rsc19rbXNbXTsKPiAtZXh0ZXJuIGludCBhbWRncHVfbWF4 X2ttc19pb2N0bDsKPiArZXh0ZXJuIGNvbnN0IGludCBhbWRncHVfbWF4X2ttc19pb2N0bDsKPiAg IAo+ICAgaW50IGFtZGdwdV9kcml2ZXJfbG9hZF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgbG9uZyBmbGFncyk7Cj4gICBpbnQgYW1kZ3B1X2RyaXZlcl91bmxvYWRfa21zKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2Rpc3BsYXkuYwo+IGluZGV4IDA1MzUwOTUuLmM4MzVhYmUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMKPiBAQCAtNTk2LDIwICs1OTYsMjAg QEAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyBhbWRncHVfbW9kZV9mdW5jcyA9 IHsKPiAgIAkub3V0cHV0X3BvbGxfY2hhbmdlZCA9IGFtZGdwdV9vdXRwdXRfcG9sbF9jaGFuZ2Vk Cj4gICB9Owo+ICAgCj4gLXN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGFtZGdwdV91 bmRlcnNjYW5fZW51bV9saXN0W10gPQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2Vu dW1fbGlzdCBhbWRncHVfdW5kZXJzY2FuX2VudW1fbGlzdFtdID0KPiAgIHsJeyBVTkRFUlNDQU5f T0ZGLCAib2ZmIiB9LAo+ICAgCXsgVU5ERVJTQ0FOX09OLCAib24iIH0sCj4gICAJeyBVTkRFUlND QU5fQVVUTywgImF1dG8iIH0sCj4gICB9Owo+ICAgCj4gLXN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3Bf ZW51bV9saXN0IGFtZGdwdV9hdWRpb19lbnVtX2xpc3RbXSA9Cj4gK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX3Byb3BfZW51bV9saXN0IGFtZGdwdV9hdWRpb19lbnVtX2xpc3RbXSA9Cj4gICB7CXsg QU1ER1BVX0FVRElPX0RJU0FCTEUsICJvZmYiIH0sCj4gICAJeyBBTURHUFVfQVVESU9fRU5BQkxF LCAib24iIH0sCj4gICAJeyBBTURHUFVfQVVESU9fQVVUTywgImF1dG8iIH0sCj4gICB9Owo+ICAg Cj4gICAvKiBYWFggc3VwcG9ydCBkaWZmZXJlbnQgZGl0aGVyIG9wdGlvbnM/IHNwYXRpYWwsIHRl bXBvcmFsLCBib3RoLCBldGMuICovCj4gLXN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0 IGFtZGdwdV9kaXRoZXJfZW51bV9saXN0W10gPQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w cm9wX2VudW1fbGlzdCBhbWRncHVfZGl0aGVyX2VudW1fbGlzdFtdID0KPiAgIHsJeyBBTURHUFVf Rk1UX0RJVEhFUl9ESVNBQkxFLCAib2ZmIiB9LAo+ICAgCXsgQU1ER1BVX0ZNVF9ESVRIRVJfRU5B QkxFLCAib24iIH0sCj4gICB9Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2 LmMKPiBpbmRleCBmMWUxN2Q2Li4yZDlkYmMyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9kcnYuYwo+IEBAIC0xNjYsNyArMTY2LDcgQEAgbW9kdWxlX3BhcmFtX25hbWVk KHBjaWVfZ2VuX2NhcCwgYW1kZ3B1X3BjaWVfZ2VuX2NhcCwgdWludCwgMDQ0NCk7Cj4gICBNT0RV TEVfUEFSTV9ERVNDKHBjaWVfbGFuZV9jYXAsICJQQ0lFIExhbmUgQ2FwcyAoMDogYXV0b2RldGVj dCAoZGVmYXVsdCkpIik7Cj4gICBtb2R1bGVfcGFyYW1fbmFtZWQocGNpZV9sYW5lX2NhcCwgYW1k Z3B1X3BjaWVfbGFuZV9jYXAsIHVpbnQsIDA0NDQpOwo+ICAgCj4gLXN0YXRpYyBzdHJ1Y3QgcGNp X2RldmljZV9pZCBwY2lpZGxpc3RbXSA9IHsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2 aWNlX2lkIHBjaWlkbGlzdFtdID0gewo+ICAgI2lmZGVmIENPTkZJR19EUk1fQU1ER1BVX0NJSwo+ ICAgCS8qIEthdmVyaSAqLwo+ICAgCXsweDEwMDIsIDB4MTMwNCwgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgQ0hJUF9LQVZFUkl8QU1EX0lTX01PQklMSVRZfEFNRF9JU19BUFV9LAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmMKPiBpbmRleCA3NjJjZmRiLi45MjY2 YzdiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuYwo+IEBAIC00 OTgsNyArNDk4LDcgQEAgc3RhdGljIGludCBhbWRncHVfaXJxZG9tYWluX21hcChzdHJ1Y3QgaXJx X2RvbWFpbiAqZCwKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgc3RydWN0IGly cV9kb21haW5fb3BzIGFtZGdwdV9od19pcnFkb21haW5fb3BzID0gewo+ICtzdGF0aWMgY29uc3Qg c3RydWN0IGlycV9kb21haW5fb3BzIGFtZGdwdV9od19pcnFkb21haW5fb3BzID0gewo+ICAgCS5t YXAgPSBhbWRncHVfaXJxZG9tYWluX21hcCwKPiAgIH07Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2ttcy5jCj4gaW5kZXggNzgwNWE4Ny4uMWY5ZDMxOCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMKPiBAQCAtNzU0LDQgKzc1NCw0IEBA IGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBhbWRncHVfaW9jdGxzX2ttc1tdID0gewo+ICAg CURSTV9JT0NUTF9ERUZfRFJWKEFNREdQVV9HRU1fT1AsIGFtZGdwdV9nZW1fb3BfaW9jdGwsIERS TV9BVVRIfERSTV9SRU5ERVJfQUxMT1cpLAo+ICAgCURSTV9JT0NUTF9ERUZfRFJWKEFNREdQVV9H RU1fVVNFUlBUUiwgYW1kZ3B1X2dlbV91c2VycHRyX2lvY3RsLCBEUk1fQVVUSHxEUk1fUkVOREVS X0FMTE9XKSwKPiAgIH07Cj4gLWludCBhbWRncHVfbWF4X2ttc19pb2N0bCA9IEFSUkFZX1NJWkUo YW1kZ3B1X2lvY3Rsc19rbXMpOwo+ICtjb25zdCBpbnQgYW1kZ3B1X21heF9rbXNfaW9jdGwgPSBB UlJBWV9TSVpFKGFtZGdwdV9pb2N0bHNfa21zKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvZmlqaV9od21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvaHdtZ3IvZmlqaV9od21nci5jCj4gaW5kZXggMDI1YTNlZC4uNTVhMDA2ZCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9maWppX2h3 bWdyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9maWppX2h3 bWdyLmMKPiBAQCAtOTUsMjMgKzk1LDIzIEBAIGVudW0gRFBNX0VWRU5UX1NSQyB7Cj4gICAvKiBb Mi41JSx+Mi41JV0gQ2xvY2sgc3RyZXRjaGVkIGlzIG11bHRpcGxlIG9mIDIuNSUgdnMKPiAgICAq IG5vdCBhbmQgW0ZtaW4sIEZtYXgsIExET19SRUZTRUwsIFVTRV9GT1JfTE9XX0ZSRVFdCj4gICAg Ki8KPiAtdWludDE2X3QgZmlqaV9jbG9ja19zdHJldGNoZXJfbG9va3VwX3RhYmxlWzJdWzRdID0g eyB7NjAwLCAxMDUwLCAzLCAwfSwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgezYwMCwgMTA1MCwgNiwgMX0gfTsKPiArc3RhdGljIGNvbnN0IHVpbnQx Nl90IGZpamlfY2xvY2tfc3RyZXRjaGVyX2xvb2t1cF90YWJsZVsyXVs0XSA9Cj4gK3sgezYwMCwg MTA1MCwgMywgMH0sIHs2MDAsIDEwNTAsIDYsIDF9IH07Cj4gICAKPiAgIC8qIFtGRiwgU1NdIHR5 cGUsIFtdIDQgdm9sdGFnZSByYW5nZXMsIGFuZAo+ICAgICogW0Zsb29yIEZyZXEsIEJvdW5kYXJ5 IEZyZXEsIFZJRCBtaW4gLCBWSUQgbWF4XQo+ICAgICovCj4gLXVpbnQzMl90IGZpamlfY2xvY2tf c3RyZXRjaGVyX2RkdF90YWJsZVsyXVs0XVs0XSA9Cj4gK3N0YXRpYyBjb25zdCB1aW50MzJfdCBm aWppX2Nsb2NrX3N0cmV0Y2hlcl9kZHRfdGFibGVbMl1bNF1bNF0gPQo+ICAgeyB7IHsyNjUsIDUy OSwgMTIwLCAxMjh9LCB7MzI1LCA2NTAsIDk2LCAxMTl9LCB7NDMwLCA4NjAsIDMyLCA5NX0sIHsw LCAwLCAwLCAzMX0gfSwKPiAgICAgeyB7Mjc1LCA1NTAsIDEwNCwgMTEyfSwgezMxOSwgNjM4LCA5 NiwgMTAzfSwgezM2MCwgNzIwLCA2NCwgOTV9LCB7Mzg0LCA3NjgsIDMyLCA2M30gfSB9Owo+ICAg Cj4gICAvKiBbVXNlX0Zvcl9Mb3dfZnJlcV0gdmFsdWUsIFswJSwgNSUsIDEwJSwgNy4xNCUsIDE0 LjI4JSwgMjAlXQo+ICAgICogKGNvbWluZyBmcm9tIFBXUl9DS1NfQ05UTC5zdHJldGNoX2Ftb3Vu dCByZWcgc3BlYykKPiAgICAqLwo+IC11aW50OF90IGZpamlfY2xvY2tfc3RyZXRjaF9hbW91bnRf Y29udmVyc2lvblsyXVs2XSA9IHsgezAsIDEsIDMsIDIsIDQsIDV9LAo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswLCAyLCA0LCA1LCA2LCA1fSB9 Owo+ICtzdGF0aWMgY29uc3QgdWludDhfdCBmaWppX2Nsb2NrX3N0cmV0Y2hfYW1vdW50X2NvbnZl cnNpb25bMl1bNl0gPQo+ICt7IHswLCAxLCAzLCAyLCA0LCA1fSwgezAsIDIsIDQsIDUsIDYsIDV9 IH07Cj4gICAKPiAtY29uc3QgdW5zaWduZWQgbG9uZyBQaHdGaWppX01hZ2ljID0gKHVuc2lnbmVk IGxvbmcpKFBITV9WSXNsYW5kc19NYWdpYyk7Cj4gK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25n IFBod0ZpamlfTWFnaWMgPSAodW5zaWduZWQgbG9uZykoUEhNX1ZJc2xhbmRzX01hZ2ljKTsKPiAg IAo+ICAgc3RydWN0IGZpamlfcG93ZXJfc3RhdGUgKmNhc3RfcGh3X2ZpamlfcG93ZXJfc3RhdGUo Cj4gICAJCQkJICBzdHJ1Y3QgcHBfaHdfcG93ZXJfc3RhdGUgKmh3X3BzKQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9maWppX2h3bWdyLmggYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9maWppX2h3bWdyLmgKPiBpbmRleCBhMTZm N2NkLi40YjI5ZDllIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2h3bWdyL2ZpamlfaHdtZ3IuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2h3bWdyL2ZpamlfaHdtZ3IuaAo+IEBAIC0yNjMsNyArMjYzLDcgQEAgc3RydWN0IGZpamlfaHdt Z3Igewo+ICAgCWJvb2wgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfdGRjX2xpbWl0 X2ZlYXR1cmU7Cj4gICAJYm9vbCAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9wa2df cHdyX3RyYWNraW5nX2ZlYXR1cmU7Cj4gICAJYm9vbCAgICAgICAgICAgICAgICAgICAgICAgICAg IGRpc2FibGVfdXZkX3Bvd2VyX3R1bmVfZmVhdHVyZTsKPiAtCXN0cnVjdCBmaWppX3B0X2RlZmF1 bHRzICAgICAgICpwb3dlcl90dW5lX2RlZmF1bHRzOwo+ICsJY29uc3Qgc3RydWN0IGZpamlfcHRf ZGVmYXVsdHMgICpwb3dlcl90dW5lX2RlZmF1bHRzOwo+ICAgCXN0cnVjdCBTTVU3M19EaXNjcmV0 ZV9QbUZ1c2VzICBwb3dlcl90dW5lX3RhYmxlOwo+ICAgCXVpbnQzMl90ICAgICAgICAgICAgICAg ICAgICAgICBkdGVfdGpfb2Zmc2V0Owo+ICAgCXVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAg ICBmYXN0X3dhdGVybWFya190aHJlc2hvbGQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2h3bWdyL2ZpamlfcG93ZXJ0dW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci9maWppX3Bvd2VydHVuZS5jCj4gaW5kZXggNmVmY2IyYi4uZGIy M2E0MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9m aWppX3Bvd2VydHVuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdt Z3IvZmlqaV9wb3dlcnR1bmUuYwo+IEBAIC0zMiw3ICszMiw3IEBACj4gICAjZGVmaW5lIFZPTFRB R0VfU0NBTEUgIDQKPiAgICNkZWZpbmUgUE9XRVJUVU5FX0RFRkFVTFRfU0VUX01BWCAgICAxCj4g ICAKPiAtc3RydWN0IGZpamlfcHRfZGVmYXVsdHMgZmlqaV9wb3dlcl90dW5lX2RhdGFfc2V0X2Fy cmF5W1BPV0VSVFVORV9ERUZBVUxUX1NFVF9NQVhdID0gewo+ICtjb25zdCBzdHJ1Y3QgZmlqaV9w dF9kZWZhdWx0cyBmaWppX3Bvd2VyX3R1bmVfZGF0YV9zZXRfYXJyYXlbUE9XRVJUVU5FX0RFRkFV TFRfU0VUX01BWF0gPSB7Cj4gICAJCS8qc3ZpTG9hZExJbmVFbiwgIFN2aUxvYWRMaW5lVmRkQywg VERDX1ZERENfVGhyb3R0bGVSZWxlYXNlTGltaXRQZXJjICovCj4gICAJCXsxLCAgICAgICAgICAg ICAgIDB4RiwgICAgICAgICAgICAgMHhGRCwKPiAgIAkJLyogVERDX01BV3QsIFRkY1dhdGVyZmFs bEN0bCwgRFRFQW1iaWVudFRlbXBCYXNlICovCj4gQEAgLTE0Myw3ICsxNDMsNyBAQCBzdGF0aWMg dm9pZCBnZXRfc2NsX3NkYV92YWx1ZSh1aW50OF90IGxpbmUsIHVpbnQ4X3QgKnNjbCwgdWludDhf dCogc2RhKQo+ICAgaW50IGZpamlfcG9wdWxhdGVfYmFwbV9wYXJhbWV0ZXJzX2luX2RwbV90YWJs ZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICAgewo+ICAgCXN0cnVjdCBmaWppX2h3bWdyICpk YXRhID0gKHN0cnVjdCBmaWppX2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPiAtCXN0cnVjdCBm aWppX3B0X2RlZmF1bHRzICpkZWZhdWx0cyA9IGRhdGEtPnBvd2VyX3R1bmVfZGVmYXVsdHM7Cj4g Kwljb25zdCBzdHJ1Y3QgZmlqaV9wdF9kZWZhdWx0cyAqZGVmYXVsdHMgPSBkYXRhLT5wb3dlcl90 dW5lX2RlZmF1bHRzOwo+ICAgCVNNVTczX0Rpc2NyZXRlX0RwbVRhYmxlICAqZHBtX3RhYmxlID0g JihkYXRhLT5zbWNfc3RhdGVfdGFibGUpOwo+ICAgCXN0cnVjdCBwaG1fcHB0X3YxX2luZm9ybWF0 aW9uICp0YWJsZV9pbmZvID0KPiAgIAkJCShzdHJ1Y3QgcGhtX3BwdF92MV9pbmZvcm1hdGlvbiAq KShod21nci0+cHB0YWJsZSk7Cj4gQEAgLTIyMiw3ICsyMjIsNyBAQCBpbnQgZmlqaV9wb3B1bGF0 ZV9iYXBtX3BhcmFtZXRlcnNfaW5fZHBtX3RhYmxlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4g ICBzdGF0aWMgaW50IGZpamlfcG9wdWxhdGVfc3ZpX2xvYWRfbGluZShzdHJ1Y3QgcHBfaHdtZ3Ig Kmh3bWdyKQo+ICAgewo+ICAgICAgIHN0cnVjdCBmaWppX2h3bWdyICpkYXRhID0gKHN0cnVjdCBm aWppX2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPiAtICAgIHN0cnVjdCBmaWppX3B0X2RlZmF1 bHRzICpkZWZhdWx0cyA9IGRhdGEtPnBvd2VyX3R1bmVfZGVmYXVsdHM7Cj4gKyAgICBjb25zdCBz dHJ1Y3QgZmlqaV9wdF9kZWZhdWx0cyAqZGVmYXVsdHMgPSBkYXRhLT5wb3dlcl90dW5lX2RlZmF1 bHRzOwo+ICAgCj4gICAgICAgZGF0YS0+cG93ZXJfdHVuZV90YWJsZS5TdmlMb2FkTGluZUVuID0g ZGVmYXVsdHMtPlN2aUxvYWRMaW5lRW47Cj4gICAgICAgZGF0YS0+cG93ZXJfdHVuZV90YWJsZS5T dmlMb2FkTGluZVZkZEMgPSBkZWZhdWx0cy0+U3ZpTG9hZExpbmVWZGRDOwo+IEBAIC0yMzgsNyAr MjM4LDcgQEAgc3RhdGljIGludCBmaWppX3BvcHVsYXRlX3RkY19saW1pdChzdHJ1Y3QgcHBfaHdt Z3IgKmh3bWdyKQo+ICAgCXN0cnVjdCBmaWppX2h3bWdyICpkYXRhID0gKHN0cnVjdCBmaWppX2h3 bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPiAgIAlzdHJ1Y3QgcGhtX3BwdF92MV9pbmZvcm1hdGlv biAqdGFibGVfaW5mbyA9Cj4gICAJCQkoc3RydWN0IHBobV9wcHRfdjFfaW5mb3JtYXRpb24gKiko aHdtZ3ItPnBwdGFibGUpOwo+IC0Jc3RydWN0ICBmaWppX3B0X2RlZmF1bHRzICpkZWZhdWx0cyA9 IGRhdGEtPnBvd2VyX3R1bmVfZGVmYXVsdHM7Cj4gKwljb25zdCBzdHJ1Y3QgZmlqaV9wdF9kZWZh dWx0cyAqZGVmYXVsdHMgPSBkYXRhLT5wb3dlcl90dW5lX2RlZmF1bHRzOwo+ICAgCj4gICAJLyog VERDIG51bWJlciBvZiBmcmFjdGlvbiBiaXRzIGFyZSBjaGFuZ2VkIGZyb20gOCB0byA3Cj4gICAJ ICogZm9yIEZpamkgYXMgcmVxdWVzdGVkIGJ5IFNNQyB0ZWFtCj4gQEAgLTI1Niw3ICsyNTYsNyBA QCBzdGF0aWMgaW50IGZpamlfcG9wdWxhdGVfdGRjX2xpbWl0KHN0cnVjdCBwcF9od21nciAqaHdt Z3IpCj4gICBzdGF0aWMgaW50IGZpamlfcG9wdWxhdGVfZHc4KHN0cnVjdCBwcF9od21nciAqaHdt Z3IsIHVpbnQzMl90IGZ1c2VfdGFibGVfb2Zmc2V0KQo+ICAgewo+ICAgCXN0cnVjdCBmaWppX2h3 bWdyICpkYXRhID0gKHN0cnVjdCBmaWppX2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPiAtCXN0 cnVjdCAgZmlqaV9wdF9kZWZhdWx0cyAqZGVmYXVsdHMgPSBkYXRhLT5wb3dlcl90dW5lX2RlZmF1 bHRzOwo+ICsJY29uc3Qgc3RydWN0IGZpamlfcHRfZGVmYXVsdHMgKmRlZmF1bHRzID0gZGF0YS0+ cG93ZXJfdHVuZV9kZWZhdWx0czsKPiAgIAl1aW50MzJfdCB0ZW1wOwo+ICAgCj4gICAJaWYgKGZp amlfcmVhZF9zbWNfc3JhbV9kd29yZChod21nci0+c211bWdyLAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci90b25nYV9od21nci5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdG9uZ2FfaHdtZ3IuYwo+IGluZGV4IGZlZTc4MzUu LjJlOTlhMTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdt Z3IvdG9uZ2FfaHdtZ3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3 bWdyL3RvbmdhX2h3bWdyLmMKPiBAQCAtODYsMTcgKzg2LDE3IEBACj4gICB0eXBlZGVmIHVpbnQz Ml90IFBFQ0lfUmVnaXN0cnlWYWx1ZTsKPiAgIAo+ICAgLyogWzIuNSUsfjIuNSVdIENsb2NrIHN0 cmV0Y2hlZCBpcyBtdWx0aXBsZSBvZiAyLjUlIHZzIG5vdCBhbmQgW0ZtaW4sIEZtYXgsIExET19S RUZTRUwsIFVTRV9GT1JfTE9XX0ZSRVFdICovCj4gLXVpbnQxNl90IFBQX0Nsb2NrU3RyZXRjaGVy TG9va3VwVGFibGVbMl1bNF0gPSB7Cj4gK3N0YXRpYyBjb25zdCB1aW50MTZfdCBQUF9DbG9ja1N0 cmV0Y2hlckxvb2t1cFRhYmxlWzJdWzRdID0gewo+ICAgCXs2MDAsIDEwNTAsIDMsIDB9LAo+ICAg CXs2MDAsIDEwNTAsIDYsIDF9IH07Cj4gICAKPiAgIC8qIFtGRiwgU1NdIHR5cGUsIFtdIDQgdm9s dGFnZSByYW5nZXMsIGFuZCBbRmxvb3IgRnJlcSwgQm91bmRhcnkgRnJlcSwgVklEIG1pbiAsIFZJ RCBtYXhdICovCj4gLXVpbnQzMl90IFBQX0Nsb2NrU3RyZXRjaGVyRERUVGFibGVbMl1bNF1bNF0g PSB7Cj4gK3N0YXRpYyBjb25zdCB1aW50MzJfdCBQUF9DbG9ja1N0cmV0Y2hlckREVFRhYmxlWzJd WzRdWzRdID0gewo+ICAgCXsgezI2NSwgNTI5LCAxMjAsIDEyOH0sIHszMjUsIDY1MCwgOTYsIDEx OX0sIHs0MzAsIDg2MCwgMzIsIDk1fSwgezAsIDAsIDAsIDMxfSB9LAo+ICAgCXsgezI3NSwgNTUw LCAxMDQsIDExMn0sIHszMTksIDYzOCwgOTYsIDEwM30sIHszNjAsIDcyMCwgNjQsIDk1fSwgezM4 NCwgNzY4LCAzMiwgNjN9IH0gfTsKPiAgIAo+ICAgLyogW1VzZV9Gb3JfTG93X2ZyZXFdIHZhbHVl LCBbMCUsIDUlLCAxMCUsIDcuMTQlLCAxNC4yOCUsIDIwJV0gKGNvbWluZyBmcm9tIFBXUl9DS1Nf Q05UTC5zdHJldGNoX2Ftb3VudCByZWcgc3BlYykgKi8KPiAtdWludDhfdCBQUF9DbG9ja1N0cmV0 Y2hBbW91bnRDb252ZXJzaW9uWzJdWzZdID0gewo+ICtzdGF0aWMgY29uc3QgdWludDhfdCBQUF9D bG9ja1N0cmV0Y2hBbW91bnRDb252ZXJzaW9uWzJdWzZdID0gewo+ICAgCXswLCAxLCAzLCAyLCA0 LCA1fSwKPiAgIAl7MCwgMiwgNCwgNSwgNiwgNX0gfTsKPiAgIAo+IEBAIC0xMTAsNyArMTEwLDcg QEAgZW51bSBEUE1fRVZFTlRfU1JDIHsKPiAgIH07Cj4gICB0eXBlZGVmIGVudW0gRFBNX0VWRU5U X1NSQyBEUE1fRVZFTlRfU1JDOwo+ICAgCj4gLWNvbnN0IHVuc2lnbmVkIGxvbmcgUGh3VG9uZ2Ff TWFnaWMgPSAodW5zaWduZWQgbG9uZykoUEhNX1ZJc2xhbmRzX01hZ2ljKTsKPiArc3RhdGljIGNv bnN0IHVuc2lnbmVkIGxvbmcgUGh3VG9uZ2FfTWFnaWMgPSAodW5zaWduZWQgbG9uZykoUEhNX1ZJ c2xhbmRzX01hZ2ljKTsKPiAgIAo+ICAgc3RydWN0IHRvbmdhX3Bvd2VyX3N0YXRlICpjYXN0X3Bo d190b25nYV9wb3dlcl9zdGF0ZSgKPiAgIAkJCQkgIHN0cnVjdCBwcF9od19wb3dlcl9zdGF0ZSAq aHdfcHMpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9m aWppX3B3cnZpcnVzLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvZmlqaV9w d3J2aXJ1cy5oCj4gaW5kZXggMDI2MmFkMy4uOGEzMTY2NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvZmlqaV9wd3J2aXJ1cy5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2ZpamlfcHdydmlydXMuaAo+IEBAIC00Niw3ICs0 Niw3IEBAIHN0cnVjdCBQV1JfQ29tbWFuZF9UYWJsZQo+ICAgdHlwZWRlZiBzdHJ1Y3QgUFdSX0Nv bW1hbmRfVGFibGUgUFdSX0NvbW1hbmRfVGFibGU7Cj4gICAKPiAgICNkZWZpbmUgUFdSX1ZJUlVT X1RBQkxFX1NJWkUgIDEwMjQzCj4gLXN0YXRpYyBQV1JfQ29tbWFuZF9UYWJsZSBQd3JWaXJ1c1Rh YmxlW1BXUl9WSVJVU19UQUJMRV9TSVpFXSA9Cj4gK3N0YXRpYyBjb25zdCBQV1JfQ29tbWFuZF9U YWJsZSBQd3JWaXJ1c1RhYmxlW1BXUl9WSVJVU19UQUJMRV9TSVpFXSA9Cj4gICB7Cj4gICAgICAg eyBQd3JDbWRXcml0ZSwgMHgxMDAxMDBiNiwgbW1QQ0lFX0lOREVYICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0sCj4gICAgICAgeyBQd3JDbWRXcml0ZSwgMHgwMDAwMDAwMCwgbW1QQ0lF X0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9jel9zbXVtZ3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9jel9zbXVtZ3IuYwo+IGluZGV4IGVjMjIyYzYu LmRhMThmNDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211 bWdyL2N6X3NtdW1nci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211 bWdyL2N6X3NtdW1nci5jCj4gQEAgLTM5LDcgKzM5LDcgQEAKPiAgIAo+ICAgI2RlZmluZSBTSVpF X0FMSUdOXzMyKHgpICAgICgoKHgpICsgMzEpIC8gMzIgKiAzMikKPiAgIAo+IC1zdGF0aWMgZW51 bSBjel9zY3JhdGNoX2VudHJ5IGZpcm13YXJlX2xpc3RbXSA9IHsKPiArc3RhdGljIGNvbnN0IGVu dW0gY3pfc2NyYXRjaF9lbnRyeSBmaXJtd2FyZV9saXN0W10gPSB7Cj4gICAJQ1pfU0NSQVRDSF9F TlRSWV9VQ09ERV9JRF9TRE1BMCwKPiAgIAlDWl9TQ1JBVENIX0VOVFJZX1VDT0RFX0lEX1NETUEx LAo+ICAgCUNaX1NDUkFUQ0hfRU5UUllfVUNPREVfSURfQ1BfQ0UsCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9maWppX3NtdW1nci5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL2Zpamlfc211bWdyLmMKPiBpbmRleCBjZGJi OWY4Li42NzNhNzVjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L3NtdW1nci9maWppX3NtdW1nci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvc211bWdyL2Zpamlfc211bWdyLmMKPiBAQCAtNDQsNyArNDQsNyBAQAo+ICAgCj4gICAjZGVm aW5lIEZJSklfU01DX1NJWkUgMHgyMDAwMAo+ICAgCj4gLXN0cnVjdCBTTVU3M19EaXNjcmV0ZV9H cmFwaGljc0xldmVsIGF2ZnNfZ3JhcGhpY3NfbGV2ZWxbOF0gPSB7Cj4gK3N0YXRpYyBjb25zdCBz dHJ1Y3QgU01VNzNfRGlzY3JldGVfR3JhcGhpY3NMZXZlbCBhdmZzX2dyYXBoaWNzX2xldmVsWzhd ID0gewo+ICAgCQkvKiAgTWluICAgICAgICBTY2xrICAgICAgIHBjaWUgICAgIERlZXBTbGVlcCBB Y3Rpdml0eSAgQ2dTcGxsICAgICAgQ2dTcGxsICAgIHNwbGxTcHJlYWQgIFNwbGxTcHJlYWQgICBD Y1B3ciAgQ2NQd3IgIFNjbGsgICBEaXNwbGF5ICAgICBFbmFibGVkICAgICBFbmFibGVkICAgICAg ICAgICAgICAgICAgICAgICBWb2x0YWdlICAgIFBvd2VyICovCj4gICAJCS8qIFZvbHRhZ2UsICBG cmVxdWVuY3ksICBEcG1MZXZlbCwgIERpdklkLCAgICBMZXZlbCwgIEZ1bmNDbnRsMywgIEZ1bmND bnRsNCwgIFNwZWN0cnVtLCAgIFNwZWN0cnVtMiwgIER5blJtLCBEeW5SbTEgIERpZCwgV2F0ZXJt YXJrLCBGb3JBY3Rpdml0eSwgRm9yVGhyb3R0bGUsIFVwSHlzdCwgRG93bkh5c3QsIERvd25IeXN0 LCBUaHJvdHRsZSAqLwo+ICAgCQl7IDB4M2MwZmQwNDcsIDB4MzA3NTAwMDAsICAgMHgwMCwgICAg IDB4MDMsICAgMHgxZTAwLCAweDAwMjAwNDEwLCAweDg3MDIwMDAwLCAweDIxNjgwMDAwLCAweDBj MDAwMDAwLCAgIDAsICAgICAgMCwgICAweDE2LCAgIDB4MDAsICAgICAgIDB4MDEsICAgICAgICAw eDAxLCAgICAgIDB4MDAsICAgMHgwMCwgICAgICAweDAwLCAgICAgMHgwMCB9LAo+IEBAIC0xODks NyArMTg5LDcgQEAgaW50IGZpamlfY29weV9ieXRlc190b19zbWMoc3RydWN0IHBwX3NtdW1nciAq c211bWdyLAo+ICAgCj4gICBpbnQgZmlqaV9wcm9ncmFtX2p1bXBfb25fc3RhcnQoc3RydWN0IHBw X3NtdW1nciAqc211bWdyKQo+ICAgewo+IC0Jc3RhdGljIHVuc2lnbmVkIGNoYXIgZGF0YVtdID0g eyAweEUwLCAweDAwLCAweDgwLCAweDQwIH07Cj4gKwlzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh ciBkYXRhW10gPSB7IDB4RTAsIDB4MDAsIDB4ODAsIDB4NDAgfTsKPiAgIAo+ICAgCWZpamlfY29w eV9ieXRlc190b19zbWMoc211bWdyLCAweDAsIGRhdGEsIDQsIHNpemVvZihkYXRhKSArIDEpOwo+ ICAgCj4gQEAgLTY2NSw3ICs2NjUsNyBAQCBpbnQgZmlqaV9zZXR1cF9wd3JfdmlydXMoc3RydWN0 IHBwX3NtdW1nciAqc211bWdyKQo+ICAgewo+ICAgCWludCBpLCByZXN1bHQgPSAtMTsKPiAgIAl1 aW50MzJfdCByZWcsIGRhdGE7Cj4gLQlQV1JfQ29tbWFuZF9UYWJsZSAqdmlydXMgPSBQd3JWaXJ1 c1RhYmxlOwo+ICsJY29uc3QgUFdSX0NvbW1hbmRfVGFibGUgKnZpcnVzID0gUHdyVmlydXNUYWJs ZTsKPiAgIAlzdHJ1Y3QgZmlqaV9zbXVtZ3IgKnByaXYgPSAoc3RydWN0IGZpamlfc211bWdyICop KHNtdW1nci0+YmFja2VuZCk7Cj4gICAKPiAgIAlwcml2LT5hdmZzLkF2ZnNCdGNTdGF0dXMgPSBB VkZTX0xPQURfVklSVVM7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L3NtdW1nci90b25nYV9zbXVtZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L3NtdW1nci90b25nYV9zbXVtZ3IuYwo+IGluZGV4IGViZGI0M2EuLjMyODIwYjYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3RvbmdhX3NtdW1nci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3RvbmdhX3NtdW1n ci5jCj4gQEAgLTE0NSw3ICsxNDUsNyBAQCBvdXQ6Cj4gICAKPiAgIGludCB0b25nYV9wcm9ncmFt X2p1bXBfb25fc3RhcnQoc3RydWN0IHBwX3NtdW1nciAqc211bWdyKQo+ICAgewo+IC0Jc3RhdGlj IHVuc2lnbmVkIGNoYXIgcERhdGFbXSA9IHsgMHhFMCwgMHgwMCwgMHg4MCwgMHg0MCB9Owo+ICsJ c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcERhdGFbXSA9IHsgMHhFMCwgMHgwMCwgMHg4MCwg MHg0MCB9Owo+ICAgCj4gICAJdG9uZ2FfY29weV9ieXRlc190b19zbWMoc211bWdyLCAweDAsIHBE YXRhLCA0LCBzaXplb2YocERhdGEpKzEpOwo+ICAgCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK