From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: Re: [PATCH 3/3] gpu: drm: drivers: Convert printk(KERN_ to pr_ Date: Tue, 28 Feb 2017 13:26:05 -0500 Message-ID: References: <20170228090409.722xmltrx4g6i3tz@phenom.ffwll.local> <76355db47b31668bb64d996865ceee53bd66b11f.1488285953.git.joe@perches.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <76355db47b31668bb64d996865ceee53bd66b11f.1488285953.git.joe@perches.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Joe Perches Cc: Thomas Hellstrom , Sinclair Yeh , David Airlie , linux-arm-msm , "dri-devel@lists.freedesktop.org" , Linux Kernel Mailing List , Tomi Valkeinen , VMware Graphics , Ben Skeggs , Dave Airlie , "nouveau@lists.freedesktop.org" , Daniel Vetter , freedreno@lists.freedesktop.org, Intel Graphics Development List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBGZWIgMjgsIDIwMTcgYXQgNzo1NSBBTSwgSm9lIFBlcmNoZXMgPGpvZUBwZXJjaGVz LmNvbT4gd3JvdGU6Cj4gVXNlIGEgbW9yZSBjb21tb24gbG9nZ2luZyBzdHlsZS4KPgo+IE1pc2Nl bGxhbmVhOgo+Cj4gbyBDb2FsZXNjZSBmb3JtYXRzIGFuZCByZWFsaWduIGFyZ3VtZW50cwo+IG8g TmVhdGVuIGEgZmV3IG1hY3JvcyBub3cgdXNpbmcgcHJfPGxldmVsPgo+Cj4gU2lnbmVkLW9mZi1i eTogSm9lIFBlcmNoZXMgPGpvZUBwZXJjaGVzLmNvbT4KCmZvciBkcm0vbXNtIHBhcnQ6CgpBY2tl ZC1ieTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgoKCj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2x2ZHMuYyAgICAgICB8ICA5ICsrKystLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2x2ZHMuYyAgICAgICAgfCAxOCArKysrKysr KystLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZHJ2LmggICAgICAgICAg ICAgIHwgIDUgKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfaW50ZWxfbHZkcy5j ICAgICAgIHwgIDcgKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N3X2ZlbmNl LmMgICAgICAgICAgfCAgOCArKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2Fn MjAwX21vZGUuYyAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYu YyAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2FjcGkuYyAgICAgICAgfCAgNyArKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L25vdXZlYXVfdmdhLmMgICAgICAgICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbnY1MF9kaXNwbGF5LmMgICAgICAgIHwgMjIgKysrKysrKysrKystLS0tLS0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2NvcmUvbW0uYyAgICAgICAgfCAxMCArKysrKy0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc2kuYyAgICAgICAgICAgICB8IDE3 ICsrKysrKysrLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuYyAg ICAgICAgICAgICB8ICAzICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmgg ICAgICAgICAgICAgfCAxNSArKysrKystLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9nZW0uYyAgICAgICAgICAgIHwgIDUgKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL3Ix MjgvcjEyOF9jY2UuYyAgICAgICAgICAgICAgIHwgIDcgKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vdHRtL3R0bV9iby5jICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9mZW5jZS5jICAgICAgICAgfCAgNiArKy0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfZ21yaWRfbWFuYWdlci5jIHwgIDMgKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNlLmMgICAgICB8ICA0ICsrLS0KPiAgMjAgZmls ZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgODQgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9jZHZfaW50ZWxfbHZkcy5jIGIvZHJpdmVycy9n cHUvZHJtL2dtYTUwMC9jZHZfaW50ZWxfbHZkcy5jCj4gaW5kZXggNWVmZGI3ZmJiN2VlLi5lNjQ5 NjBkYjMyMjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9jZHZfaW50ZWxf bHZkcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9jZHZfaW50ZWxfbHZkcy5jCj4g QEAgLTI4NCw4ICsyODQsNyBAQCBzdGF0aWMgYm9vbCBjZHZfaW50ZWxfbHZkc19tb2RlX2ZpeHVw KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaGVhZCkgewo+ICAgICAgICAgICAgICAgICBpZiAodG1wX2VuY29kZXIgIT0gZW5jb2Rlcgo+ ICAgICAgICAgICAgICAgICAgICAgJiYgdG1wX2VuY29kZXItPmNydGMgPT0gZW5jb2Rlci0+Y3J0 Yykgewo+IC0gICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0VSUiAiQ2FuJ3QgZW5h YmxlIExWRFMgYW5kIGFub3RoZXIgIgo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi ZW5jb2RlciBvbiB0aGUgc2FtZSBwaXBlXG4iKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBw cl9lcnIoIkNhbid0IGVuYWJsZSBMVkRTIGFuZCBhbm90aGVyIGVuY29kZXIgb24gdGhlIHNhbWUg cGlwZVxuIik7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwo+ICAgICAg ICAgICAgICAgICB9Cj4gICAgICAgICB9Cj4gQEAgLTc1NiwxMyArNzU1LDEzIEBAIHZvaWQgY2R2 X2ludGVsX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Cj4gIGZhaWxlZF9maW5k Ogo+ICAgICAgICAgbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiAtICAg ICAgIHByaW50ayhLRVJOX0VSUiAiRmFpbGVkIGZpbmRcbiIpOwo+ICsgICAgICAgcHJfZXJyKCJG YWlsZWQgZmluZFxuIik7Cj4gICAgICAgICBwc2JfaW50ZWxfaTJjX2Rlc3Ryb3koZ21hX2VuY29k ZXItPmRkY19idXMpOwo+ICBmYWlsZWRfZGRjOgo+IC0gICAgICAgcHJpbnRrKEtFUk5fRVJSICJG YWlsZWQgRERDXG4iKTsKPiArICAgICAgIHByX2VycigiRmFpbGVkIEREQ1xuIik7Cj4gICAgICAg ICBwc2JfaW50ZWxfaTJjX2Rlc3Ryb3koZ21hX2VuY29kZXItPmkyY19idXMpOwo+ICBmYWlsZWRf YmxjX2kyYzoKPiAtICAgICAgIHByaW50ayhLRVJOX0VSUiAiRmFpbGVkIEJMQ1xuIik7Cj4gKyAg ICAgICBwcl9lcnIoIkZhaWxlZCBCTENcbiIpOwo+ICAgICAgICAgZHJtX2VuY29kZXJfY2xlYW51 cChlbmNvZGVyKTsKPiAgICAgICAgIGRybV9jb25uZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwo+ ICAgICAgICAga2ZyZWUobHZkc19wcml2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2dtYTUwMC9vYWt0cmFpbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWls X2x2ZHMuYwo+IGluZGV4IGY3MDM4ZjEyYWM3Ni4uZTY5NDNmZWYwNjExIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfbHZkcy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9sdmRzLmMKPiBAQCAtMjU1LDE1ICsyNTUsMTUgQEAgc3Rh dGljIHZvaWQgb2FrdHJhaWxfbHZkc19nZXRfY29uZmlndXJhdGlvbl9tb2RlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHRpLT52Ymxh bmtfaGkgPDwgOCkgfCB0aS0+dmJsYW5rX2xvKTsKPiAgICAgICAgICAgICAgICAgbW9kZS0+Y2xv Y2sgPSB0aS0+cGl4ZWxfY2xvY2sgKiAxMDsKPiAgI2lmIDAKPiAtICAgICAgICAgICAgICAgcHJp bnRrKEtFUk5fSU5GTyAiaGRpc3BsYXkgaXMgJWRcbiIsIG1vZGUtPmhkaXNwbGF5KTsKPiAtICAg ICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAidmRpc3BsYXkgaXMgJWRcbiIsIG1vZGUtPnZk aXNwbGF5KTsKPiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiSFNTIGlzICVkXG4i LCBtb2RlLT5oc3luY19zdGFydCk7Cj4gLSAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8g IkhTRSBpcyAlZFxuIiwgbW9kZS0+aHN5bmNfZW5kKTsKPiAtICAgICAgICAgICAgICAgcHJpbnRr KEtFUk5fSU5GTyAiaHRvdGFsIGlzICVkXG4iLCBtb2RlLT5odG90YWwpOwo+IC0gICAgICAgICAg ICAgICBwcmludGsoS0VSTl9JTkZPICJWU1MgaXMgJWRcbiIsIG1vZGUtPnZzeW5jX3N0YXJ0KTsK PiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiVlNFIGlzICVkXG4iLCBtb2RlLT52 c3luY19lbmQpOwo+IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJ2dG90YWwgaXMg JWRcbiIsIG1vZGUtPnZ0b3RhbCk7Cj4gLSAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8g ImNsb2NrIGlzICVkXG4iLCBtb2RlLT5jbG9jayk7Cj4gKyAgICAgICAgICAgICAgIHByX2luZm8o ImhkaXNwbGF5IGlzICVkXG4iLCBtb2RlLT5oZGlzcGxheSk7Cj4gKyAgICAgICAgICAgICAgIHBy X2luZm8oInZkaXNwbGF5IGlzICVkXG4iLCBtb2RlLT52ZGlzcGxheSk7Cj4gKyAgICAgICAgICAg ICAgIHByX2luZm8oIkhTUyBpcyAlZFxuIiwgbW9kZS0+aHN5bmNfc3RhcnQpOwo+ICsgICAgICAg ICAgICAgICBwcl9pbmZvKCJIU0UgaXMgJWRcbiIsIG1vZGUtPmhzeW5jX2VuZCk7Cj4gKyAgICAg ICAgICAgICAgIHByX2luZm8oImh0b3RhbCBpcyAlZFxuIiwgbW9kZS0+aHRvdGFsKTsKPiArICAg ICAgICAgICAgICAgcHJfaW5mbygiVlNTIGlzICVkXG4iLCBtb2RlLT52c3luY19zdGFydCk7Cj4g KyAgICAgICAgICAgICAgIHByX2luZm8oIlZTRSBpcyAlZFxuIiwgbW9kZS0+dnN5bmNfZW5kKTsK PiArICAgICAgICAgICAgICAgcHJfaW5mbygidnRvdGFsIGlzICVkXG4iLCBtb2RlLT52dG90YWwp Owo+ICsgICAgICAgICAgICAgICBwcl9pbmZvKCJjbG9jayBpcyAlZFxuIiwgbW9kZS0+Y2xvY2sp Owo+ICAjZW5kaWYKPiAgICAgICAgICAgICAgICAgbW9kZV9kZXYtPnBhbmVsX2ZpeGVkX21vZGUg PSBtb2RlOwo+ICAgICAgICAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAw L3BzYl9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2Rydi5oCj4gaW5kZXggODNl MjJmZDRjZmMwLi44MzY2NzA4N2Q2ZTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2dt YTUwMC9wc2JfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9kcnYuaAo+ IEBAIC05MDUsOSArOTA1LDggQEAgc3RhdGljIGlubGluZSB2b2lkIFJFR0lTVEVSX1dSSVRFOChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAjZGVmaW5lIFBTQl9SU0dYMzIoX29mZnMpICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAgKHsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gICAgICAgICBpZiAoaW5sKGRldl9wcml2LT5hcG1fYmFzZSArIFBTQl9BUE1fU1RTKSAm IDB4MykgeyAgICAgICAgICAgICAgXAo+IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9FUlIg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAtICAgICAgICAgICAg ICAgICAgICAgICAiYWNjZXNzIHNneCB3aGVuIGl0J3Mgb2ZmISEgKFJFQUQpICVzLCAlZFxuIiwg ICBcCj4gLSAgICAgICAgICAgICAgX19GSUxFX18sIF9fTElORV9fKTsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgICAgICAgICBwcl9lcnIoImFjY2VzcyBz Z3ggd2hlbiBpdCdzIG9mZiEhIChSRUFEKSAlcywgJWRcbiIsICAgIFwKPiArICAgICAgICAgICAg ICAgICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gICAgICAgICAgICAgICAgIG1lbGF5KDEwMDApOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAgICAgICAgIGlvcmVh ZDMyKGRldl9wcml2LT5zZ3hfcmVnICsgKF9vZmZzKSk7ICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX2x2ZHMu YyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX2x2ZHMuYwo+IGluZGV4IDQ4M2Zk Y2U3NGUzOS4uMDA2NmZlN2U2MjJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1 MDAvcHNiX2ludGVsX2x2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2lu dGVsX2x2ZHMuYwo+IEBAIC0zODgsMTEgKzM4OCwxMSBAQCBib29sIHBzYl9pbnRlbF9sdmRzX21v ZGVfZml4dXAoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+Cj4gICAgICAgICAvKiBQU0Ig cmVxdWlyZXMgdGhlIExWRFMgaXMgb24gcGlwZSBCLCBNUlNUIGhhcyBvbmx5IG9uZSBwaXBlIGFu eXdheSAqLwo+ICAgICAgICAgaWYgKCFJU19NUlNUKGRldikgJiYgZ21hX2NydGMtPnBpcGUgPT0g MCkgewo+IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9FUlIgIkNhbid0IHN1cHBvcnQgTFZE UyBvbiBwaXBlIEFcbiIpOwo+ICsgICAgICAgICAgICAgICBwcl9lcnIoIkNhbid0IHN1cHBvcnQg TFZEUyBvbiBwaXBlIEFcbiIpOwo+ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4gICAg ICAgICB9Cj4gICAgICAgICBpZiAoSVNfTVJTVChkZXYpICYmIGdtYV9jcnRjLT5waXBlICE9IDAp IHsKPiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJNdXN0IHVzZSBQSVBFIEFcbiIp Owo+ICsgICAgICAgICAgICAgICBwcl9lcnIoIk11c3QgdXNlIFBJUEUgQVxuIik7Cj4gICAgICAg ICAgICAgICAgIHJldHVybiBmYWxzZTsKPiAgICAgICAgIH0KPiAgICAgICAgIC8qIFNob3VsZCBu ZXZlciBoYXBwZW4hISAqLwo+IEBAIC00MDAsOCArNDAwLDcgQEAgYm9vbCBwc2JfaW50ZWxfbHZk c19tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaGVhZCkgewo+ICAgICAgICAgICAgICAgICBpZiAodG1wX2VuY29kZXIg IT0gZW5jb2Rlcgo+ICAgICAgICAgICAgICAgICAgICAgJiYgdG1wX2VuY29kZXItPmNydGMgPT0g ZW5jb2Rlci0+Y3J0Yykgewo+IC0gICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0VS UiAiQ2FuJ3QgZW5hYmxlIExWRFMgYW5kIGFub3RoZXIgIgo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiZW5jb2RlciBvbiB0aGUgc2FtZSBwaXBlXG4iKTsKPiArICAgICAgICAgICAg ICAgICAgICAgICBwcl9lcnIoIkNhbid0IGVuYWJsZSBMVkRTIGFuZCBhbm90aGVyIGVuY29kZXIg b24gdGhlIHNhbWUgcGlwZVxuIik7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh bHNlOwo+ICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfc3dfZmVuY2UuYwo+IGluZGV4IDQwZjRlNWVmYWY4My4uYTI3N2Y4ZWI3YmViIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc3dfZmVuY2UuYwo+IEBAIC0zOTUsMTAgKzM5NSwxMCBAQCBz dGF0aWMgdm9pZCB0aW1lcl9pOTE1X3N3X2ZlbmNlX3dha2UodW5zaWduZWQgbG9uZyBkYXRhKQo+ ICB7Cj4gICAgICAgICBzdHJ1Y3QgaTkxNV9zd19kbWFfZmVuY2VfY2IgKmNiID0gKHN0cnVjdCBp OTE1X3N3X2RtYV9mZW5jZV9jYiAqKWRhdGE7Cj4KPiAtICAgICAgIHByaW50ayhLRVJOX1dBUk5J TkcgImFzeW5jaHJvbm91cyB3YWl0IG9uIGZlbmNlICVzOiVzOiV4IHRpbWVkIG91dFxuIiwKPiAt ICAgICAgICAgICAgICBjYi0+ZG1hLT5vcHMtPmdldF9kcml2ZXJfbmFtZShjYi0+ZG1hKSwKPiAt ICAgICAgICAgICAgICBjYi0+ZG1hLT5vcHMtPmdldF90aW1lbGluZV9uYW1lKGNiLT5kbWEpLAo+ IC0gICAgICAgICAgICAgIGNiLT5kbWEtPnNlcW5vKTsKPiArICAgICAgIHByX3dhcm4oImFzeW5j aHJvbm91cyB3YWl0IG9uIGZlbmNlICVzOiVzOiV4IHRpbWVkIG91dFxuIiwKPiArICAgICAgICAg ICAgICAgY2ItPmRtYS0+b3BzLT5nZXRfZHJpdmVyX25hbWUoY2ItPmRtYSksCj4gKyAgICAgICAg ICAgICAgIGNiLT5kbWEtPm9wcy0+Z2V0X3RpbWVsaW5lX25hbWUoY2ItPmRtYSksCj4gKyAgICAg ICAgICAgICAgIGNiLT5kbWEtPnNlcW5vKTsKPiAgICAgICAgIGRtYV9mZW5jZV9wdXQoY2ItPmRt YSk7Cj4gICAgICAgICBjYi0+ZG1hID0gTlVMTDsKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21n YWcyMDBfbW9kZS5jCj4gaW5kZXggMzkzODEyMGU1MDUxLi5mMmU5YjJiYzE4YTUgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYwo+IEBAIC0xOTUsNyArMTk1LDcgQEAg c3RhdGljIGludCBtZ2FfZzIwMHNlX3NldF9wbGxzKHN0cnVjdCBtZ2FfZGV2aWNlICptZGV2LCBs b25nIGNsb2NrKQo+ICAgICAgICAgfQo+Cj4gICAgICAgICBpZiAoZGVsdGEgPiBwZXJtaXR0ZWRk ZWx0YSkgewo+IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9XQVJOSU5HICJQTEwgZGVsdGEg dG9vIGxhcmdlXG4iKTsKPiArICAgICAgICAgICAgICAgcHJfd2FybigiUExMIGRlbHRhIHRvbyBs YXJnZVxuIik7Cj4gICAgICAgICAgICAgICAgIHJldHVybiAxOwo+ICAgICAgICAgfQo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZHJ2LmMKPiBpbmRleCA3MDIyNmVhYTVjYWMuLjQ2MmU3ZDViZDg3MiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jCj4gQEAgLTE1Miw3ICsxNTIsNyBAQCB1MzIgbXNtX3JlYWRsKGNv bnN0IHZvaWQgX19pb21lbSAqYWRkcikKPiAgewo+ICAgICAgICAgdTMyIHZhbCA9IHJlYWRsKGFk ZHIpOwo+ICAgICAgICAgaWYgKHJlZ2xvZykKPiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5f RVJSICJJTzpSICVwICUwOHhcbiIsIGFkZHIsIHZhbCk7Cj4gKyAgICAgICAgICAgICAgIHByX2Vy cigiSU86UiAlcCAlMDh4XG4iLCBhZGRyLCB2YWwpOwo+ICAgICAgICAgcmV0dXJuIHZhbDsKPiAg fQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5j IGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMKPiBpbmRleCAxOTM1NzNk MTkxZTUuLjM5NDY4YzIxODAyNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9ub3V2ZWF1X2FjcGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVf YWNwaS5jCj4gQEAgLTMyNiw3ICszMjYsNyBAQCBzdGF0aWMgYm9vbCBub3V2ZWF1X2RzbV9kZXRl Y3Qodm9pZCkKPiAgICAgICAgICAgICAgICAgbm91dmVhdV9kc21fcHJpdi5kaGFuZGxlID0gZGhh bmRsZTsKPiAgICAgICAgICAgICAgICAgYWNwaV9nZXRfbmFtZShub3V2ZWF1X2RzbV9wcml2LmRo YW5kbGUsIEFDUElfRlVMTF9QQVRITkFNRSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAmYnVm ZmVyKTsKPiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiVkdBIHN3aXRjaGVyb286 IGRldGVjdGVkIE9wdGltdXMgRFNNIG1ldGhvZCAlcyBoYW5kbGVcbiIsCj4gKyAgICAgICAgICAg ICAgIHByX2luZm8oIlZHQSBzd2l0Y2hlcm9vOiBkZXRlY3RlZCBPcHRpbXVzIERTTSBtZXRob2Qg JXMgaGFuZGxlXG4iLAo+ICAgICAgICAgICAgICAgICAgICAgICAgIGFjcGlfbWV0aG9kX25hbWUp Owo+ICAgICAgICAgICAgICAgICBpZiAoaGFzX3Bvd2VyX3Jlc291cmNlcykKPiAgICAgICAgICAg ICAgICAgICAgICAgICBwcl9pbmZvKCJub3V2ZWF1OiBkZXRlY3RlZCBQUiBzdXBwb3J0LCB3aWxs IG5vdCB1c2UgRFNNXG4iKTsKPiBAQCAtMzM4LDcgKzMzOCw3IEBAIHN0YXRpYyBib29sIG5vdXZl YXVfZHNtX2RldGVjdCh2b2lkKQo+ICAgICAgICAgICAgICAgICBub3V2ZWF1X2RzbV9wcml2LmRo YW5kbGUgPSBkaGFuZGxlOwo+ICAgICAgICAgICAgICAgICBhY3BpX2dldF9uYW1lKG5vdXZlYXVf ZHNtX3ByaXYuZGhhbmRsZSwgQUNQSV9GVUxMX1BBVEhOQU1FLAo+ICAgICAgICAgICAgICAgICAg ICAgICAgICZidWZmZXIpOwo+IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJWR0Eg c3dpdGNoZXJvbzogZGV0ZWN0ZWQgRFNNIHN3aXRjaGluZyBtZXRob2QgJXMgaGFuZGxlXG4iLAo+ ICsgICAgICAgICAgICAgICBwcl9pbmZvKCJWR0Egc3dpdGNoZXJvbzogZGV0ZWN0ZWQgRFNNIHN3 aXRjaGluZyBtZXRob2QgJXMgaGFuZGxlXG4iLAo+ICAgICAgICAgICAgICAgICAgICAgICAgIGFj cGlfbWV0aG9kX25hbWUpOwo+ICAgICAgICAgICAgICAgICBub3V2ZWF1X2RzbV9wcml2LmRzbV9k ZXRlY3RlZCA9IHRydWU7Cj4gICAgICAgICAgICAgICAgIHJldCA9IHRydWU7Cj4gQEAgLTQwNiw3 ICs0MDYsOCBAQCBzdGF0aWMgaW50IG5vdXZlYXVfcm9tX2NhbGwoYWNwaV9oYW5kbGUgcm9tX2hh bmRsZSwgdWludDhfdCAqYmlvcywKPgo+ICAgICAgICAgc3RhdHVzID0gYWNwaV9ldmFsdWF0ZV9v YmplY3Qocm9tX2hhbmRsZSwgTlVMTCwgJnJvbV9hcmcsICZidWZmZXIpOwo+ICAgICAgICAgaWYg KEFDUElfRkFJTFVSRShzdGF0dXMpKSB7Cj4gLSAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lO Rk8gImZhaWxlZCB0byBldmFsdWF0ZSBST00gZ290ICVzXG4iLCBhY3BpX2Zvcm1hdF9leGNlcHRp b24oc3RhdHVzKSk7Cj4gKyAgICAgICAgICAgICAgIHByX2luZm8oImZhaWxlZCB0byBldmFsdWF0 ZSBST00gZ290ICVzXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgIGFjcGlfZm9ybWF0X2V4 Y2VwdGlvbihzdGF0dXMpKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9ERVY7Cj4gICAg ICAgICB9Cj4gICAgICAgICBvYmogPSAodW5pb24gYWNwaV9vYmplY3QgKilidWZmZXIucG9pbnRl cjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV92Z2EuYyBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfdmdhLmMKPiBpbmRleCBlZWYyMmM2Yjk2 NjUuLmNjYjU5N2VhYzUzOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u b3V2ZWF1X3ZnYS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV92Z2Eu Ywo+IEBAIC00MSwxMyArNDEsMTMgQEAgbm91dmVhdV9zd2l0Y2hlcm9vX3NldF9zdGF0ZShzdHJ1 Y3QgcGNpX2RldiAqcGRldiwKPiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+Cj4gICAgICAgICBp ZiAoc3RhdGUgPT0gVkdBX1NXSVRDSEVST09fT04pIHsKPiAtICAgICAgICAgICAgICAgcHJpbnRr KEtFUk5fRVJSICJWR0Egc3dpdGNoZXJvbzogc3dpdGNoZWQgbm91dmVhdSBvblxuIik7Cj4gKyAg ICAgICAgICAgICAgIHByX2VycigiVkdBIHN3aXRjaGVyb286IHN3aXRjaGVkIG5vdXZlYXUgb25c biIpOwo+ICAgICAgICAgICAgICAgICBkZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9IERSTV9TV0lU Q0hfUE9XRVJfQ0hBTkdJTkc7Cj4gICAgICAgICAgICAgICAgIG5vdXZlYXVfcG1vcHNfcmVzdW1l KCZwZGV2LT5kZXYpOwo+ICAgICAgICAgICAgICAgICBkcm1fa21zX2hlbHBlcl9wb2xsX2VuYWJs ZShkZXYpOwo+ICAgICAgICAgICAgICAgICBkZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9IERSTV9T V0lUQ0hfUE9XRVJfT047Cj4gICAgICAgICB9IGVsc2Ugewo+IC0gICAgICAgICAgICAgICBwcmlu dGsoS0VSTl9FUlIgIlZHQSBzd2l0Y2hlcm9vOiBzd2l0Y2hlZCBub3V2ZWF1IG9mZlxuIik7Cj4g KyAgICAgICAgICAgICAgIHByX2VycigiVkdBIHN3aXRjaGVyb286IHN3aXRjaGVkIG5vdXZlYXUg b2ZmXG4iKTsKPiAgICAgICAgICAgICAgICAgZGV2LT5zd2l0Y2hfcG93ZXJfc3RhdGUgPSBEUk1f U1dJVENIX1BPV0VSX0NIQU5HSU5HOwo+ICAgICAgICAgICAgICAgICBkcm1fa21zX2hlbHBlcl9w b2xsX2Rpc2FibGUoZGV2KTsKPiAgICAgICAgICAgICAgICAgbm91dmVhdV9zd2l0Y2hlcm9vX29w dGltdXNfZHNtKCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMKPiBpbmRl eCAwYjQ0NDBmZmJlYWUuLmZmNzQzN2IyNzYyZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L252NTBfZGlzcGxheS5jCj4gQEAgLTcwNSw3ICs3MDUsNyBAQCBldm9fd2FpdCh2b2lkICpldm9j LCBpbnQgbnIpCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiAgICAg ICAgICAgICAgICAgKSA8IDApIHsKPiAgICAgICAgICAgICAgICAgICAgICAgICBtdXRleF91bmxv Y2soJmRtYWMtPmxvY2spOwo+IC0gICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0VS UiAibm91dmVhdTogZXZvIGNoYW5uZWwgc3RhbGxlZFxuIik7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgcHJfZXJyKCJub3V2ZWF1OiBldm8gY2hhbm5lbCBzdGFsbGVkXG4iKTsKPiAgICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKPiAgICAgICAgICAgICAgICAgfQo+Cj4gQEAg LTcyMywxOCArNzIzLDE4IEBAIGV2b19raWNrKHUzMiAqcHVzaCwgdm9pZCAqZXZvYykKPiAgICAg ICAgIG11dGV4X3VubG9jaygmZG1hYy0+bG9jayk7Cj4gIH0KPgo+IC0jZGVmaW5lIGV2b19tdGhk KHAsbSxzKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAo+IC0gICAgICAgY29uc3QgdTMyIF9tID0gKG0pLCBfcyA9IChzKTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gLSAgICAgICBpZiAoZHJtX2RlYnVn ICYgRFJNX1VUX0tNUykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKPiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICIlMDR4ICVkICVzXG4iLCBfbSwg X3MsIF9fZnVuY19fKTsgICAgICAgICAgICAgXAo+IC0gICAgICAgKigocCkrKykgPSAoKF9zIDw8 IDE4KSB8IF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4g KyNkZWZpbmUgZXZvX210aGQocCwgbSwgcykgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAo+ICsgICAgICAgY29uc3QgdTMyIF9tID0gKG0pLCBfcyA9IChzKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgIGlmIChkcm1fZGVi dWcgJiBEUk1fVVRfS01TKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4g KyAgICAgICAgICAgICAgIHByX2VycigiJTA0eCAlZCAlc1xuIiwgX20sIF9zLCBfX2Z1bmNfXyk7 ICAgICAgICAgICAgICAgXAo+ICsgICAgICAgKigocCkrKykgPSAoKF9zIDw8IDE4KSB8IF9tKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAgfSB3aGlsZSgwKQo+Cj4gLSNk ZWZpbmUgZXZvX2RhdGEocCxkKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCj4gLSAgICAgICBjb25zdCB1MzIgX2QgPSAoZCk7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAtICAgICAg IGlmIChkcm1fZGVidWcgJiBEUk1fVVRfS01TKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAo+IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9FUlIgIlx0JTA4 eFxuIiwgX2QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gLSAgICAgICAqKChw KSsrKSA9IF9kOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKPiArI2RlZmluZSBldm9fZGF0YShwLCBkKSBkbyB7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICBjb25zdCB1MzIgX2QgPSAo ZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAg ICAgaWYgKGRybV9kZWJ1ZyAmIERSTV9VVF9LTVMpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKPiArICAgICAgICAgICAgICAgcHJfZXJyKCJcdCUwOHhcbiIsIF9kKTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAqKChwKSsrKSA9IF9kOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICB9IHdo aWxlKDApCj4KPiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmttL2NvcmUvbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L252a20vY29yZS9tbS5jCj4gaW5kZXggZmQxOWQ2NTJhN2FiLi41Yzc4OTEyMzRlZWEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9jb3JlL21tLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2NvcmUvbW0uYwo+IEBAIC0zMSwxNSArMzEsMTUg QEAgbnZrbV9tbV9kdW1wKHN0cnVjdCBudmttX21tICptbSwgY29uc3QgY2hhciAqaGVhZGVyKQo+ ICB7Cj4gICAgICAgICBzdHJ1Y3QgbnZrbV9tbV9ub2RlICpub2RlOwo+Cj4gLSAgICAgICBwcmlu dGsoS0VSTl9FUlIgIm52a206ICVzXG4iLCBoZWFkZXIpOwo+IC0gICAgICAgcHJpbnRrKEtFUk5f RVJSICJudmttOiBub2RlIGxpc3Q6XG4iKTsKPiArICAgICAgIHByX2VycigibnZrbTogJXNcbiIs IGhlYWRlcik7Cj4gKyAgICAgICBwcl9lcnIoIm52a206IG5vZGUgbGlzdDpcbiIpOwo+ICAgICAg ICAgbGlzdF9mb3JfZWFjaF9lbnRyeShub2RlLCAmbW0tPm5vZGVzLCBubF9lbnRyeSkgewo+IC0g ICAgICAgICAgICAgICBwcmludGsoS0VSTl9FUlIgIm52a206IFx0JTA4eCAlMDh4ICVkXG4iLAo+ ICsgICAgICAgICAgICAgICBwcl9lcnIoIm52a206IFx0JTA4eCAlMDh4ICVkXG4iLAo+ICAgICAg ICAgICAgICAgICAgICAgICAgbm9kZS0+b2Zmc2V0LCBub2RlLT5sZW5ndGgsIG5vZGUtPnR5cGUp Owo+ICAgICAgICAgfQo+IC0gICAgICAgcHJpbnRrKEtFUk5fRVJSICJudmttOiBmcmVlIGxpc3Q6 XG4iKTsKPiArICAgICAgIHByX2VycigibnZrbTogZnJlZSBsaXN0OlxuIik7Cj4gICAgICAgICBs aXN0X2Zvcl9lYWNoX2VudHJ5KG5vZGUsICZtbS0+ZnJlZSwgZmxfZW50cnkpIHsKPiAtICAgICAg ICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJudmttOiBcdCUwOHggJTA4eCAlZFxuIiwKPiArICAg ICAgICAgICAgICAgcHJfZXJyKCJudmttOiBcdCUwOHggJTA4eCAlZFxuIiwKPiAgICAgICAgICAg ICAgICAgICAgICAgIG5vZGUtPm9mZnNldCwgbm9kZS0+bGVuZ3RoLCBub2RlLT50eXBlKTsKPiAg ICAgICAgIH0KPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3Mv ZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNpLmMKPiBpbmRleCBmNzQ2MTVk MDA1YTguLjVlNTFhNTY0OWVmYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNpLmMKPiBA QCAtNTgyLDE1ICs1ODIsMTQgQEAgc3RhdGljIHZvaWQgZHNpX3BlcmZfc2hvdyhzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpkc2lkZXYsIGNvbnN0IGNoYXIgKm5hbWUpCj4KPiAgICAgICAgIHRvdGFs X2J5dGVzID0gZHNpLT51cGRhdGVfYnl0ZXM7Cj4KPiAtICAgICAgIHByaW50ayhLRVJOX0lORk8g IkRTSSglcyk6ICV1IHVzICsgJXUgdXMgPSAldSB1cyAoJXVIeiksICIKPiAtICAgICAgICAgICAg ICAgICAgICAgICAiJXUgYnl0ZXMsICV1IGtieXRlcy9zZWNcbiIsCj4gLSAgICAgICAgICAgICAg ICAgICAgICAgbmFtZSwKPiAtICAgICAgICAgICAgICAgICAgICAgICBzZXR1cF91cywKPiAtICAg ICAgICAgICAgICAgICAgICAgICB0cmFuc191cywKPiAtICAgICAgICAgICAgICAgICAgICAgICB0 b3RhbF91cywKPiAtICAgICAgICAgICAgICAgICAgICAgICAxMDAwKjEwMDAgLyB0b3RhbF91cywK PiAtICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9ieXRlcywKPiAtICAgICAgICAgICAgICAg ICAgICAgICB0b3RhbF9ieXRlcyAqIDEwMDAgLyB0b3RhbF91cyk7Cj4gKyAgICAgICBwcl9pbmZv KCJEU0koJXMpOiAldSB1cyArICV1IHVzID0gJXUgdXMgKCV1SHopLCAldSBieXRlcywgJXUga2J5 dGVzL3NlY1xuIiwKPiArICAgICAgICAgICAgICAgbmFtZSwKPiArICAgICAgICAgICAgICAgc2V0 dXBfdXMsCj4gKyAgICAgICAgICAgICAgIHRyYW5zX3VzLAo+ICsgICAgICAgICAgICAgICB0b3Rh bF91cywKPiArICAgICAgICAgICAgICAgMTAwMCAqIDEwMDAgLyB0b3RhbF91cywKPiArICAgICAg ICAgICAgICAgdG90YWxfYnl0ZXMsCj4gKyAgICAgICAgICAgICAgIHRvdGFsX2J5dGVzICogMTAw MCAvIHRvdGFsX3VzKTsKPiAgfQo+ICAjZWxzZQo+ICBzdGF0aWMgaW5saW5lIHZvaWQgZHNpX3Bl cmZfbWFya19zZXR1cChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkc2lkZXYpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL2Rzcy9kc3MuYwo+IGluZGV4IDE0ODg3ZDViMDJlNS4uNGU3MmQyZmVmYjRkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuYwo+IEBAIC0xMjU0LDggKzEyNTQsNyBAQCBzdGF0 aWMgaW50IGRzc19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgICAgICAgIGRzcy5sY2RfY2xr X3NvdXJjZVsxXSA9IERTU19DTEtfU1JDX0ZDSzsKPgo+ICAgICAgICAgcmV2ID0gZHNzX3JlYWRf cmVnKERTU19SRVZJU0lPTik7Cj4gLSAgICAgICBwcmludGsoS0VSTl9JTkZPICJPTUFQIERTUyBy ZXYgJWQuJWRcbiIsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgRkxEX0dFVChyZXYsIDcsIDQp LCBGTERfR0VUKHJldiwgMywgMCkpOwo+ICsgICAgICAgcHJfaW5mbygiT01BUCBEU1MgcmV2ICVk LiVkXG4iLCBGTERfR0VUKHJldiwgNywgNCksIEZMRF9HRVQocmV2LCAzLCAwKSk7Cj4KPiAgICAg ICAgIGRzc19ydW50aW1lX3B1dCgpOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL2Rzcy9kc3MuaCBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuaAo+IGlu ZGV4IDU2NDkzYjI5MDczMS4uNzhmNmZjNzU5NDhiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL2Rzcy9kc3MuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rz cy9kc3MuaAo+IEBAIC00MiwyOSArNDIsMjYgQEAKPgo+ICAjaWZkZWYgRFNTX1NVQlNZU19OQU1F Cj4gICNkZWZpbmUgRFNTRVJSKGZvcm1hdCwgLi4uKSBcCj4gLSAgICAgICBwcmludGsoS0VSTl9F UlIgIm9tYXBkc3MgIiBEU1NfU1VCU1lTX05BTUUgIiBlcnJvcjogIiBmb3JtYXQsIFwKPiAtICAg ICAgICMjIF9fVkFfQVJHU19fKQo+ICsgICAgICAgcHJfZXJyKCJvbWFwZHNzICIgRFNTX1NVQlNZ U19OQU1FICIgZXJyb3I6ICIgZm9ybWF0LCAjI19fVkFfQVJHU19fKQo+ICAjZWxzZQo+ICAjZGVm aW5lIERTU0VSUihmb3JtYXQsIC4uLikgXAo+IC0gICAgICAgcHJpbnRrKEtFUk5fRVJSICJvbWFw ZHNzIGVycm9yOiAiIGZvcm1hdCwgIyMgX19WQV9BUkdTX18pCj4gKyAgICAgICBwcl9lcnIoIm9t YXBkc3MgZXJyb3I6ICIgZm9ybWF0LCAjI19fVkFfQVJHU19fKQo+ICAjZW5kaWYKPgo+ICAjaWZk ZWYgRFNTX1NVQlNZU19OQU1FCj4gICNkZWZpbmUgRFNTSU5GTyhmb3JtYXQsIC4uLikgXAo+IC0g ICAgICAgcHJpbnRrKEtFUk5fSU5GTyAib21hcGRzcyAiIERTU19TVUJTWVNfTkFNRSAiOiAiIGZv cm1hdCwgXAo+IC0gICAgICAgIyMgX19WQV9BUkdTX18pCj4gKyAgICAgICBwcl9pbmZvKCJvbWFw ZHNzICIgRFNTX1NVQlNZU19OQU1FICI6ICIgZm9ybWF0LCAjI19fVkFfQVJHU19fKQo+ICAjZWxz ZQo+ICAjZGVmaW5lIERTU0lORk8oZm9ybWF0LCAuLi4pIFwKPiAtICAgICAgIHByaW50ayhLRVJO X0lORk8gIm9tYXBkc3M6ICIgZm9ybWF0LCAjIyBfX1ZBX0FSR1NfXykKPiArICAgICAgIHByX2lu Zm8oIm9tYXBkc3M6ICIgZm9ybWF0LCAjIyBfX1ZBX0FSR1NfXykKPiAgI2VuZGlmCj4KPiAgI2lm ZGVmIERTU19TVUJTWVNfTkFNRQo+ICAjZGVmaW5lIERTU1dBUk4oZm9ybWF0LCAuLi4pIFwKPiAt ICAgICAgIHByaW50ayhLRVJOX1dBUk5JTkcgIm9tYXBkc3MgIiBEU1NfU1VCU1lTX05BTUUgIjog IiBmb3JtYXQsIFwKPiAtICAgICAgICMjIF9fVkFfQVJHU19fKQo+ICsgICAgICAgcHJfd2Fybigi b21hcGRzcyAiIERTU19TVUJTWVNfTkFNRSAiOiAiIGZvcm1hdCwgIyNfX1ZBX0FSR1NfXykKPiAg I2Vsc2UKPiAgI2RlZmluZSBEU1NXQVJOKGZvcm1hdCwgLi4uKSBcCj4gLSAgICAgICBwcmludGso S0VSTl9XQVJOSU5HICJvbWFwZHNzOiAiIGZvcm1hdCwgIyMgX19WQV9BUkdTX18pCj4gKyAgICAg ICBwcl93YXJuKCJvbWFwZHNzOiAiIGZvcm1hdCwgIyNfX1ZBX0FSR1NfXykKPiAgI2VuZGlmCj4K PiAgLyogT01BUCBUUk0gZ2l2ZXMgYml0ZmllbGRzIGFzIHN0YXJ0OmVuZCwgd2hlcmUgc3RhcnQg aXMgdGhlIGhpZ2hlciBiaXQKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtLmMKPiBpbmRleCA1 ZDVhOWY1MTdjMzAuLjY4YTc1YjgyOWI3MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v b21hcGRybS9vbWFwX2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9n ZW0uYwo+IEBAIC0xMTA3LDkgKzExMDcsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNfd2FpdGlu ZyhzdHJ1Y3Qgb21hcF9nZW1fc3luY193YWl0ZXIgKndhaXRlcikKPgo+ICAvKiBtYWNybyBmb3Ig c3luYyBkZWJ1Zy4uICovCj4gICNkZWZpbmUgU1lOQ0RCRyAwCj4gLSNkZWZpbmUgU1lOQyhmbXQs IC4uLikgZG8geyBpZiAoU1lOQ0RCRykgXAo+IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9F UlIgIiVzOiVkOiAiZm10IlxuIiwgXAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg X19mdW5jX18sIF9fTElORV9fLCAjI19fVkFfQVJHU19fKTsgXAo+ICsjZGVmaW5lIFNZTkMoZm10 LCAuLi4pIGRvIHsgaWYgKFNZTkNEQkcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK PiArICAgICAgICAgICAgICAgcHJfZXJyKCIlczolZDogIiBmbXQgIlxuIiwgX19mdW5jX18sIF9f TElORV9fLCAjI19fVkFfQVJHU19fKTsgXAo+ICAgICAgICAgfSB3aGlsZSAoMCkKPgo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfY2NlLmMgYi9kcml2ZXJzL2dwdS9k cm0vcjEyOC9yMTI4X2NjZS5jCj4gaW5kZXggMTRmZDgzYjVmNDk3Li5jOTg5MGFmZTY5ZDYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9jY2UuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9yMTI4L3IxMjhfY2NlLmMKPiBAQCAtMTQ5LDIwICsxNDksMTkgQEAgc3RhdGlj IGludCByMTI4X2NjZV9sb2FkX21pY3JvY29kZShkcm1fcjEyOF9wcml2YXRlX3QgKmRldl9wcml2 KQo+Cj4gICAgICAgICBwZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX3NpbXBsZSgicjEy OF9jY2UiLCAwLCBOVUxMLCAwKTsKPiAgICAgICAgIGlmIChJU19FUlIocGRldikpIHsKPiAtICAg ICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJyMTI4X2NjZTogRmFpbGVkIHRvIHJlZ2lzdGVy IGZpcm13YXJlXG4iKTsKPiArICAgICAgICAgICAgICAgcHJfZXJyKCJyMTI4X2NjZTogRmFpbGVk IHRvIHJlZ2lzdGVyIGZpcm13YXJlXG4iKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIFBUUl9F UlIocGRldik7Cj4gICAgICAgICB9Cj4gICAgICAgICByYyA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3 LCBGSVJNV0FSRV9OQU1FLCAmcGRldi0+ZGV2KTsKPiAgICAgICAgIHBsYXRmb3JtX2RldmljZV91 bnJlZ2lzdGVyKHBkZXYpOwo+ICAgICAgICAgaWYgKHJjKSB7Cj4gLSAgICAgICAgICAgICAgIHBy aW50ayhLRVJOX0VSUiAicjEyOF9jY2U6IEZhaWxlZCB0byBsb2FkIGZpcm13YXJlIFwiJXNcIlxu IiwKPiArICAgICAgICAgICAgICAgcHJfZXJyKCJyMTI4X2NjZTogRmFpbGVkIHRvIGxvYWQgZmly bXdhcmUgXCIlc1wiXG4iLAo+ICAgICAgICAgICAgICAgICAgICAgICAgRklSTVdBUkVfTkFNRSk7 Cj4gICAgICAgICAgICAgICAgIHJldHVybiByYzsKPiAgICAgICAgIH0KPgo+ICAgICAgICAgaWYg KGZ3LT5zaXplICE9IDI1NiAqIDgpIHsKPiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJS Cj4gLSAgICAgICAgICAgICAgICAgICAgICAicjEyOF9jY2U6IEJvZ3VzIGxlbmd0aCAlenUgaW4g ZmlybXdhcmUgXCIlc1wiXG4iLAo+ICsgICAgICAgICAgICAgICBwcl9lcnIoInIxMjhfY2NlOiBC b2d1cyBsZW5ndGggJXp1IGluIGZpcm13YXJlIFwiJXNcIlxuIiwKPiAgICAgICAgICAgICAgICAg ICAgICAgIGZ3LT5zaXplLCBGSVJNV0FSRV9OQU1FKTsKPiAgICAgICAgICAgICAgICAgcmMgPSAt RUlOVkFMOwo+ICAgICAgICAgICAgICAgICBnb3RvIG91dF9yZWxlYXNlOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1f Ym8uYwo+IGluZGV4IDE3NDc4ZjM4ZGVhMy4uZGNhMmU4MDlhOTcwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0 bV9iby5jCj4gQEAgLTk4Miw3ICs5ODIsNyBAQCBpbnQgdHRtX2JvX21lbV9zcGFjZShzdHJ1Y3Qg dHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICAgICAgICAgfQo+Cj4gICAgICAgICBpZiAoIXR5cGVf Zm91bmQpIHsKPiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJSIFRUTV9QRlggIk5vIGNv bXBhdGlibGUgbWVtb3J5IHR5cGUgZm91bmQuXG4iKTsKPiArICAgICAgICAgICAgICAgcHJfZXJy KFRUTV9QRlggIk5vIGNvbXBhdGlibGUgbWVtb3J5IHR5cGUgZm91bmRcbiIpOwo+ICAgICAgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAgICAgICAgIH0KPgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dm eC92bXdnZnhfZmVuY2UuYwo+IGluZGV4IDY1NDFkZDhiODJkYy4uYjM5OWYwM2E5ODhkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ZlbmNlLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9mZW5jZS5jCj4gQEAgLTcyOCw4ICs3MjgsNyBA QCBpbnQgdm13X2ZlbmNlX29ial93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCj4KPiAgICAgICAgIGJhc2UgPSB0dG1fYmFzZV9vYmplY3RfbG9va3VwKHRmaWxl LCBhcmctPmhhbmRsZSk7Cj4gICAgICAgICBpZiAodW5saWtlbHkoYmFzZSA9PSBOVUxMKSkgewo+ IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9FUlIgIldhaXQgaW52YWxpZCBmZW5jZSBvYmpl Y3QgaGFuZGxlICIKPiAtICAgICAgICAgICAgICAgICAgICAgICIweCUwOGx4LlxuIiwKPiArICAg ICAgICAgICAgICAgcHJfZXJyKCJXYWl0IGludmFsaWQgZmVuY2Ugb2JqZWN0IGhhbmRsZSAweCUw OGx4XG4iLAo+ICAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpYXJnLT5oYW5k bGUpOwo+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAgICAgICAgIH0KPiBAQCAt NzczLDggKzc3Miw3IEBAIGludCB2bXdfZmVuY2Vfb2JqX3NpZ25hbGVkX2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4KPiAgICAgICAgIGJhc2UgPSB0dG1fYmFzZV9v YmplY3RfbG9va3VwKHRmaWxlLCBhcmctPmhhbmRsZSk7Cj4gICAgICAgICBpZiAodW5saWtlbHko YmFzZSA9PSBOVUxMKSkgewo+IC0gICAgICAgICAgICAgICBwcmludGsoS0VSTl9FUlIgIkZlbmNl IHNpZ25hbGVkIGludmFsaWQgZmVuY2Ugb2JqZWN0IGhhbmRsZSAiCj4gLSAgICAgICAgICAgICAg ICAgICAgICAiMHglMDhseC5cbiIsCj4gKyAgICAgICAgICAgICAgIHByX2VycigiRmVuY2Ugc2ln bmFsZWQgaW52YWxpZCBmZW5jZSBvYmplY3QgaGFuZGxlIDB4JTA4bHhcbiIsCj4gICAgICAgICAg ICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZylhcmctPmhhbmRsZSk7Cj4gICAgICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOwo+ICAgICAgICAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vdm13Z2Z4L3Ztd2dmeF9nbXJpZF9tYW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9nbXJpZF9tYW5hZ2VyLmMKPiBpbmRleCBmZWM3MzQ4Y2VhMmMuLmMxOTAwZjQz OTBhNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9nbXJpZF9t YW5hZ2VyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9nbXJpZF9tYW5h Z2VyLmMKPiBAQCAtMTU5LDggKzE1OSw3IEBAIHN0YXRpYyBpbnQgdm13X2dtcmlkX21hbl90YWtl ZG93bihzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbikKPiAgc3RhdGljIHZvaWQgdm13 X2dtcmlkX21hbl9kZWJ1ZyhzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCkKPiAgewo+IC0g ICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IE5vIGRlYnVnIGluZm8gYXZhaWxhYmxlIGZvciB0 aGUgR01SICIKPiAtICAgICAgICAgICAgICAiaWQgbWFuYWdlci5cbiIsIHByZWZpeCk7Cj4gKyAg ICAgICBwcl9pbmZvKCIlczogTm8gZGVidWcgaW5mbyBhdmFpbGFibGUgZm9yIHRoZSBHTVIgaWQg bWFuYWdlclxuIiwgcHJlZml4KTsKPiAgfQo+Cj4gIGNvbnN0IHN0cnVjdCB0dG1fbWVtX3R5cGVf bWFuYWdlcl9mdW5jIHZtd19nbXJpZF9tYW5hZ2VyX2Z1bmMgPSB7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5jCj4gaW5kZXggNjViM2YwMzY5NjM2Li4yNzAzM2Q5NDRi MDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2Uu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNlLmMKPiBAQCAt NzM2LDE0ICs3MzYsMTQgQEAgaW50IHZtd191c2VyX2RtYWJ1Zl9sb29rdXAoc3RydWN0IHR0bV9v YmplY3RfZmlsZSAqdGZpbGUsCj4KPiAgICAgICAgIGJhc2UgPSB0dG1fYmFzZV9vYmplY3RfbG9v a3VwKHRmaWxlLCBoYW5kbGUpOwo+ICAgICAgICAgaWYgKHVubGlrZWx5KGJhc2UgPT0gTlVMTCkp IHsKPiAtICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGJ1ZmZlciBvYmpl Y3QgaGFuZGxlIDB4JTA4bHguXG4iLAo+ICsgICAgICAgICAgICAgICBwcl9lcnIoIkludmFsaWQg YnVmZmVyIG9iamVjdCBoYW5kbGUgMHglMDhseFxuIiwKPiAgICAgICAgICAgICAgICAgICAgICAg ICh1bnNpZ25lZCBsb25nKWhhbmRsZSk7Cj4gICAgICAgICAgICAgICAgIHJldHVybiAtRVNSQ0g7 Cj4gICAgICAgICB9Cj4KPiAgICAgICAgIGlmICh1bmxpa2VseSh0dG1fYmFzZV9vYmplY3RfdHlw ZShiYXNlKSAhPSB0dG1fYnVmZmVyX3R5cGUpKSB7Cj4gICAgICAgICAgICAgICAgIHR0bV9iYXNl X29iamVjdF91bnJlZigmYmFzZSk7Cj4gLSAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0VSUiAi SW52YWxpZCBidWZmZXIgb2JqZWN0IGhhbmRsZSAweCUwOGx4LlxuIiwKPiArICAgICAgICAgICAg ICAgcHJfZXJyKCJJbnZhbGlkIGJ1ZmZlciBvYmplY3QgaGFuZGxlIDB4JTA4bHhcbiIsCj4gICAg ICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZyloYW5kbGUpOwo+ICAgICAgICAgICAg ICAgICByZXR1cm4gLUVJTlZBTDsKPiAgICAgICAgIH0KPiAtLQo+IDIuMTAuMC5yYzIuMS5nMDUz NDM1Ywo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=