From mboxrd@z Thu Jan 1 00:00:00 1970 From: dri-devel-bounces@lists.freedesktop.org Subject: Re: [PATCH 7/8] drm: Add old state pointer to CRTC .enable() helper function Date: Wed, 28 Jun 2017 07:55:07 -0600 Message-ID: <20170628135524.569256E56B@gabe.freedesktop.org> References: <20170627203843.27004-1-laurent.pinchart+renesas@ideasonboard.com> <20170627211621.27767-7-laurent.pinchart+renesas@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kmu-office.ch (mail.kmu-office.ch [IPv6:2a02:418:6a02::a2]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C7726E56B for ; Wed, 28 Jun 2017 13:55:22 +0000 (UTC) In-Reply-To: <20170627211621.27767-7-laurent.pinchart+renesas@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart , dri-devel@lists.freedesktop.org Cc: Sinclair@freedesktop.org, Neil Armstrong , Liviu Dudau , Gerd Hoffmann , Daniel Vetter , Boris Brezillon , Alexey Brodkin , Mali DP Maintainers , Dave Airlie , Chen Feng , Jyri Sarha , Alison Wang , Seung-Woo Kim , Philippe Cornu , Kyungmin Park , Rongrong Zou , Maxime Ripard , Shawn Guo List-Id: dri-devel@lists.freedesktop.org PHN5ZWhAdm13YXJlLmNvbT4sVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNv bT4sVGhvbWFzIEhlbGxzdHJvbSA8dGhlbGxzdHJvbUB2bXdhcmUuY29tPixUb21pIFZhbGtlaW5l biA8dG9taS52YWxrZWluZW5AdGkuY29tPixWTXdhcmUgR3JhcGhpY3MgPGxpbnV4LWdyYXBoaWNz LW1haW50YWluZXJAdm13YXJlLmNvbT4sVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0 LmNvbT4sWGlubGlhbmcgTGl1IDx6LmxpdXhpbmxpYW5nQGhpc2lsaWNvbi5jb20+LFhpbndlaSBL b25nIDxrb25nLmtvbmd4aW53ZWlAaGlzaWxpY29uLmNvbT4sWWFubmljayBGZXJ0cmUgPHlhbm5p Y2suZmVydHJlQHN0LmNvbT4KRnJvbTogU3RlZmFuIEFnbmVyIDxzdGVmYW5AYWduZXIuY2g+Ck1l c3NhZ2UtSUQ6IDw5NjFBNjE1RC1FRDJFLTRGQTItQTQ5RS1CQjI1MEYzRTlEQkJAYWduZXIuY2g+ CgoKCk9uIEp1bmUgMjcsIDIwMTcgMzoxNjoyMCBQTSBNRFQsIExhdXJlbnQgUGluY2hhcnQgPGxh dXJlbnQucGluY2hhcnQrcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPiB3cm90ZToKPlRoZSBvbGQg c3RhdGUgaXMgdXNlZnVsIGZvciBkcml2ZXJzIHRoYXQgbmVlZCB0byBwZXJmb3JtIG9wZXJhdGlv bnMgYXQKPmVuYWJsZSB0aW1lIHRoYXQgZGVwZW5kIG9uIHRoZSB0cmFuc2l0aW9uIGJldHdlZW4g dGhlIG9sZCBhbmQgbmV3Cj5zdGF0ZXMuCj4KPldoaWxlIGF0IGl0LCByZW5hbWUgdGhlIG9wZXJh dGlvbiB0byAuYXRvbWljX2VuYWJsZSgpIHRvIGJlIGNvbnNpc3RlbnQKPndpdGggLmF0b21pY19k aXNhYmxlKCksIGFzIHRoZSAuZW5hYmxlKCkgb3BlcmF0aW9uIGlzIHVzZWQgYnkgYXRvbWljCj5o ZWxwZXJzIG9ubHkuCj4KPlNpZ25lZC1vZmYtYnk6IExhdXJlbnQgUGluY2hhcnQKPjxsYXVyZW50 LnBpbmNoYXJ0K3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KPi0tLQo+IGRyaXZlcnMvZ3B1L2Ry bS9hcmMvYXJjcGd1X2NydGMuYyAgICAgICAgICAgICAgIHwgIDUgKystLQo+IGRyaXZlcnMvZ3B1 L2RybS9hcm0vaGRsY2RfY3J0Yy5jICAgICAgICAgICAgICAgIHwgIDUgKystLQo+IGRyaXZlcnMv Z3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYyAgICAgICAgICAgICAgIHwgIDUgKystLQo+IGRyaXZl cnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMgIHwgIDUgKystLQo+IGRy aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICAgICAgICAgICAgIHwgIDcgKysrLS0K PiBkcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMgICAgICAgICB8ICA1ICsr LS0KPiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fY3J0Yy5jICAgICAgICB8ICA1 ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9jcnRjLmMgICAgICB8 ICA1ICsrLS0KCkZvciBmc2wtZGN1OgoKQWNrZWQtYnk6IFN0ZWZhbiBBZ25lciA8c3RlZmFuQGFn bmVyLmNoPgoKPiBkcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5j ICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9h ZGUuYyB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyAgICAgICAg ICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRj LmMgICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fY3J0Yy5j ICAgICAgICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21k cDRfY3J0Yy5jICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1 L21kcDVfY3J0Yy5jICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9v bWFwX2NydGMuYyAgICAgICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vcXhsL3F4 bF9kaXNwbGF5LmMgICAgICAgICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X2NydGMuYyAgICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9jcnRjLmMgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJzL2dw dS9kcm0vc3RtL2x0ZGMuYyAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0KPiBkcml2ZXJz L2dwdS9kcm0vc3VuNGkvc3VuNGlfY3J0Yy5jICAgICAgICAgICAgICB8ICA1ICsrLS0KPiBkcml2 ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0KPiBk cml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19jcnRjLmMgICAgICAgICAgICB8ICA4ICsrKysr LQo+IGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYyAgICAgICAgICAgICAgICAgIHwgIDUg KystLQo+IGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMgICAgICAgIHwg IDUgKystLQo+IGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2xkdS5jICAgICAgICAgICAg IHwgIDcgKysrLS0KPiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMgICAgICAg ICAgICB8ICA3ICsrKy0tCj4gZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3RkdS5jICAg ICAgICAgICAgfCAgNSArKy0tCj4gZHJpdmVycy9ncHUvZHJtL3p0ZS96eF92b3UuYyAgICAgICAg ICAgICAgICAgICAgfCAgNSArKy0tCj5pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRh Ymxlcy5oICAgICAgICB8IDM4Cj4rKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gMzEgZmlsZXMg Y2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQo+Cj5kaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FyYy9hcmNwZ3VfY3J0Yy5jCj5iL2RyaXZlcnMvZ3B1L2RybS9h cmMvYXJjcGd1X2NydGMuYwo+aW5kZXggMWYzMDY3ODFjOWQ1Li5jOWJjNmE5MGFjODMgMTAwNjQ0 Cj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMKPisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYwo+QEAgLTExOSw3ICsxMTksOCBAQCBzdGF0aWMgdm9p ZCBhcmNfcGd1X2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QKPmRybV9jcnRjICpjcnRjKQo+IAlj bGtfc2V0X3JhdGUoYXJjcGd1LT5jbGssIG0tPmNydGNfY2xvY2sgKiAxMDAwKTsKPiB9Cj4gCj4t c3RhdGljIHZvaWQgYXJjX3BndV9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4r c3RhdGljIHZvaWQgYXJjX3BndV9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpj cnRjLAo+KwkJCQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gewo+ IAlzdHJ1Y3QgYXJjcGd1X2RybV9wcml2YXRlICphcmNwZ3UgPSBjcnRjX3RvX2FyY3BndV9wcml2 KGNydGMpOwo+IAo+QEAgLTE2MSw5ICsxNjIsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9j cnRjX2hlbHBlcl9mdW5jcwo+YXJjX3BndV9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiAJLm1vZGVf c2V0CT0gZHJtX2hlbHBlcl9jcnRjX21vZGVfc2V0LAo+IAkubW9kZV9zZXRfYmFzZQk9IGRybV9o ZWxwZXJfY3J0Y19tb2RlX3NldF9iYXNlLAo+IAkubW9kZV9zZXRfbm9mYgk9IGFyY19wZ3VfY3J0 Y19tb2RlX3NldF9ub2ZiLAo+LQkuZW5hYmxlCQk9IGFyY19wZ3VfY3J0Y19lbmFibGUsCj4gCS5k aXNhYmxlCT0gYXJjX3BndV9jcnRjX2Rpc2FibGUsCj4gCS5hdG9taWNfYmVnaW4JPSBhcmNfcGd1 X2NydGNfYXRvbWljX2JlZ2luLAo+KwkuYXRvbWljX2VuYWJsZQk9IGFyY19wZ3VfY3J0Y19hdG9t aWNfZW5hYmxlLAo+IH07Cj4gCj4gc3RhdGljIHZvaWQgYXJjX3BndV9wbGFuZV9hdG9taWNfdXBk YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hcm0vaGRsY2RfY3J0Yy5jCj5iL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jCj5p bmRleCBkNjdiNmYxNWU4YjguLjJiN2Y0ZjA1ZDkxZiAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vaGRsY2RfY3J0Yy5jCj4rKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Ny dGMuYwo+QEAgLTE2NSw3ICsxNjUsOCBAQCBzdGF0aWMgdm9pZCBoZGxjZF9jcnRjX21vZGVfc2V0 X25vZmIoc3RydWN0Cj5kcm1fY3J0YyAqY3J0YykKPiAJY2xrX3NldF9yYXRlKGhkbGNkLT5jbGss IG0tPmNydGNfY2xvY2sgKiAxMDAwKTsKPiB9Cj4gCj4tc3RhdGljIHZvaWQgaGRsY2RfY3J0Y19l bmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2b2lkIGhkbGNkX2NydGNfYXRv bWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4rCQkJCSAgICAgc3RydWN0IGRybV9j cnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IAlzdHJ1Y3QgaGRsY2RfZHJtX3ByaXZhdGUgKmhk bGNkID0gY3J0Y190b19oZGxjZF9wcml2KGNydGMpOwo+IAo+QEAgLTIxOCwxMCArMjE5LDEwIEBA IHN0YXRpYyB2b2lkIGhkbGNkX2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdAo+ZHJtX2NydGMgKmNy dGMsCj4gfQo+IAo+IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGhk bGNkX2NydGNfaGVscGVyX2Z1bmNzID0gewo+LQkuZW5hYmxlCQk9IGhkbGNkX2NydGNfZW5hYmxl LAo+IAkuZGlzYWJsZQk9IGhkbGNkX2NydGNfZGlzYWJsZSwKPiAJLmF0b21pY19jaGVjawk9IGhk bGNkX2NydGNfYXRvbWljX2NoZWNrLAo+IAkuYXRvbWljX2JlZ2luCT0gaGRsY2RfY3J0Y19hdG9t aWNfYmVnaW4sCj4rCS5hdG9taWNfZW5hYmxlCT0gaGRsY2RfY3J0Y19hdG9taWNfZW5hYmxlLAo+ IH07Cj4gCj4gc3RhdGljIGludCBoZGxjZF9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfY3J0 Yy5jCj5iL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+aW5kZXggNGJiMzhhMjFl ZmVjLi44ZTViMWMwMTgxYWIgMTAwNjQ0Cj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlk cF9jcnRjLmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+QEAgLTQ2 LDcgKzQ2LDggQEAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCj5tYWxpZHBfY3J0Y19tb2Rl X3ZhbGlkKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAJcmV0dXJuIE1PREVfT0s7Cj4gfQo+IAo+ LXN0YXRpYyB2b2lkIG1hbGlkcF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4r c3RhdGljIHZvaWQgbWFsaWRwX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCj4rCQkJCSAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+IHsKPiAJ c3RydWN0IG1hbGlkcF9kcm0gKm1hbGlkcCA9IGNydGNfdG9fbWFsaWRwX2RldmljZShjcnRjKTsK PiAJc3RydWN0IG1hbGlkcF9od19kZXZpY2UgKmh3ZGV2ID0gbWFsaWRwLT5kZXY7Cj5AQCAtNDA4 LDkgKzQwOSw5IEBAIHN0YXRpYyBpbnQgbWFsaWRwX2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBk cm1fY3J0Ywo+KmNydGMsCj4gCj4gc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJf ZnVuY3MgbWFsaWRwX2NydGNfaGVscGVyX2Z1bmNzID0gewo+IAkubW9kZV92YWxpZCA9IG1hbGlk cF9jcnRjX21vZGVfdmFsaWQsCj4tCS5lbmFibGUgPSBtYWxpZHBfY3J0Y19lbmFibGUsCj4gCS5k aXNhYmxlID0gbWFsaWRwX2NydGNfZGlzYWJsZSwKPiAJLmF0b21pY19jaGVjayA9IG1hbGlkcF9j cnRjX2F0b21pY19jaGVjaywKPisJLmF0b21pY19lbmFibGUgPSBtYWxpZHBfY3J0Y19hdG9taWNf ZW5hYmxlLAo+IH07Cj4gCj5zdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICptYWxpZHBfY3J0 Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0Cj5kcm1fY3J0YyAqY3J0YykKPmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0Yy5jCj5iL2RyaXZlcnMv Z3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMKPmluZGV4IGY2YjhjNTkwOGEy MC4uZTU0ZTUwMzE4MGY0IDEwMDY0NAo+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2Rj L2F0bWVsX2hsY2RjX2NydGMuYwo+KysrIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0 bWVsX2hsY2RjX2NydGMuYwo+QEAgLTE4Myw3ICsxODMsOCBAQCBzdGF0aWMgdm9pZCBhdG1lbF9o bGNkY19jcnRjX2Rpc2FibGUoc3RydWN0Cj5kcm1fY3J0YyAqYykKPiAJcG1fcnVudGltZV9wdXRf c3luYyhkZXYtPmRldik7Cj4gfQo+IAo+LXN0YXRpYyB2b2lkIGF0bWVsX2hsY2RjX2NydGNfZW5h YmxlKHN0cnVjdCBkcm1fY3J0YyAqYykKPitzdGF0aWMgdm9pZCBhdG1lbF9obGNkY19jcnRjX2F0 b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjLAo+KwkJCQkJICAgc3RydWN0IGRybV9jcnRj X3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gYy0+ZGV2 Owo+IAlzdHJ1Y3QgYXRtZWxfaGxjZGNfY3J0YyAqY3J0YyA9IGRybV9jcnRjX3RvX2F0bWVsX2hs Y2RjX2NydGMoYyk7Cj5AQCAtMzIwLDEwICszMjEsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fY3J0Y19oZWxwZXJfZnVuY3MKPmxjZGNfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gCS5tb2Rl X3NldF9ub2ZiID0gYXRtZWxfaGxjZGNfY3J0Y19tb2RlX3NldF9ub2ZiLAo+IAkubW9kZV9zZXRf YmFzZSA9IGRybV9oZWxwZXJfY3J0Y19tb2RlX3NldF9iYXNlLAo+IAkuZGlzYWJsZSA9IGF0bWVs X2hsY2RjX2NydGNfZGlzYWJsZSwKPi0JLmVuYWJsZSA9IGF0bWVsX2hsY2RjX2NydGNfZW5hYmxl LAo+IAkuYXRvbWljX2NoZWNrID0gYXRtZWxfaGxjZGNfY3J0Y19hdG9taWNfY2hlY2ssCj4gCS5h dG9taWNfYmVnaW4gPSBhdG1lbF9obGNkY19jcnRjX2F0b21pY19iZWdpbiwKPiAJLmF0b21pY19m bHVzaCA9IGF0bWVsX2hsY2RjX2NydGNfYXRvbWljX2ZsdXNoLAo+KwkuYXRvbWljX2VuYWJsZSA9 IGF0bWVsX2hsY2RjX2NydGNfYXRvbWljX2VuYWJsZSwKPiB9Owo+IAo+IHN0YXRpYyB2b2lkIGF0 bWVsX2hsY2RjX2NydGNfZGVzdHJveShzdHJ1Y3QgZHJtX2NydGMgKmMpCj5kaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPmIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfaGVscGVyLmMKPmluZGV4IDJmMjY5ZTQyNjdkYS4uMjNlNDY2MWE2MmZlIDEwMDY0 NAo+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj5AQCAtMTA2OSwxMiArMTA2OSwxMyBAQCB2 b2lkCj5kcm1fYXRvbWljX2hlbHBlcl9jb21taXRfbW9kZXNldF9lbmFibGVzKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gCQkJCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0 YXRlKQo+IHsKPiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+KwlzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKm9sZF9jcnRjX3N0YXRlOwo+IAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0 YXRlOwo+IAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+IAlzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGU7Cj4gCWludCBpOwo+IAo+LQlmb3JfZWFjaF9u ZXdfY3J0Y19pbl9zdGF0ZShvbGRfc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4r CWZvcl9lYWNoX29sZG5ld19jcnRjX2luX3N0YXRlKG9sZF9zdGF0ZSwgY3J0Yywgb2xkX2NydGNf c3RhdGUsCj5uZXdfY3J0Y19zdGF0ZSwgaSkgewo+IAkJY29uc3Qgc3RydWN0IGRybV9jcnRjX2hl bHBlcl9mdW5jcyAqZnVuY3M7Cj4gCj4gCQkvKiBOZWVkIHRvIGZpbHRlciBvdXQgQ1JUQ3Mgd2hl cmUgb25seSBwbGFuZXMgY2hhbmdlLiAqLwo+QEAgLTEwOTAsOCArMTA5MSw4IEBAIHZvaWQKPmRy bV9hdG9taWNfaGVscGVyX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAJCQlEUk1fREVCVUdfQVRPTUlDKCJlbmFibGluZyBbQ1JUQzolZDolc11cbiIsCj4g CQkJCQkgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4gCj4tCQkJaWYgKGZ1bmNzLT5lbmFi bGUpCj4tCQkJCWZ1bmNzLT5lbmFibGUoY3J0Yyk7Cj4rCQkJaWYgKGZ1bmNzLT5hdG9taWNfZW5h YmxlKQo+KwkJCQlmdW5jcy0+YXRvbWljX2VuYWJsZShjcnRjLCBvbGRfY3J0Y19zdGF0ZSk7Cj4g CQkJZWxzZQo+IAkJCQlmdW5jcy0+Y29tbWl0KGNydGMpOwo+IAkJfQo+ZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwo+Yi9kcml2ZXJzL2dwdS9kcm0v ZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMKPmluZGV4IGUwODRmOWY4Y2E2Ni4uNThjMjdhYjE3NTZm IDEwMDY0NAo+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5jCj4r KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMKPkBAIC00MCw3ICs0 MCw4IEBAIHN0YXRpYyBpbnQgZHJtX3NpbXBsZV9rbXNfY3J0Y19jaGVjayhzdHJ1Y3QgZHJtX2Ny dGMKPipjcnRjLAo+IAlyZXR1cm4gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0YXRl LT5zdGF0ZSwgY3J0Yyk7Cj4gfQo+IAo+LXN0YXRpYyB2b2lkIGRybV9zaW1wbGVfa21zX2NydGNf ZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPitzdGF0aWMgdm9pZCBkcm1fc2ltcGxlX2tt c19jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4rCQkJCSAgICAgICBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiB7Cj4gCXN0cnVjdCBkcm1fc2ltcGxlX2Rpc3Bs YXlfcGlwZSAqcGlwZTsKPiAKPkBAIC02NCw4ICs2NSw4IEBAIHN0YXRpYyB2b2lkIGRybV9zaW1w bGVfa21zX2NydGNfZGlzYWJsZShzdHJ1Y3QKPmRybV9jcnRjICpjcnRjKQo+IAo+c3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MKPmRybV9zaW1wbGVfa21zX2NydGNfaGVs cGVyX2Z1bmNzID0gewo+IAkuYXRvbWljX2NoZWNrID0gZHJtX3NpbXBsZV9rbXNfY3J0Y19jaGVj aywKPisJLmF0b21pY19lbmFibGUgPSBkcm1fc2ltcGxlX2ttc19jcnRjX2VuYWJsZSwKPiAJLmRp c2FibGUgPSBkcm1fc2ltcGxlX2ttc19jcnRjX2Rpc2FibGUsCj4tCS5lbmFibGUgPSBkcm1fc2lt cGxlX2ttc19jcnRjX2VuYWJsZSwKPiB9Owo+IAo+IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Ny dGNfZnVuY3MgZHJtX3NpbXBsZV9rbXNfY3J0Y19mdW5jcyA9IHsKPmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fY3J0Yy5jCj5iL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2RybV9jcnRjLmMKPmluZGV4IGQ3Mjc3N2Y2NDExYS4uYjdlMmZhZGI2NDQy IDEwMDY0NAo+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2NydGMuYwo+ KysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2NydGMuYwo+QEAgLTIxLDcg KzIxLDggQEAKPiAjaW5jbHVkZSAiZXh5bm9zX2RybV9kcnYuaCIKPiAjaW5jbHVkZSAiZXh5bm9z X2RybV9wbGFuZS5oIgo+IAo+LXN0YXRpYyB2b2lkIGV4eW5vc19kcm1fY3J0Y19lbmFibGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2b2lkIGV4eW5vc19kcm1fY3J0Y19hdG9taWNf ZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJCQkJCSAgc3RydWN0IGRybV9jcnRjX3N0 YXRlICpvbGRfc3RhdGUpCj4gewo+IAlzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpleHlub3NfY3J0 YyA9IHRvX2V4eW5vc19jcnRjKGNydGMpOwo+IAo+QEAgLTgyLDExICs4MywxMSBAQCBzdGF0aWMg dm9pZCBleHlub3NfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0Cj5kcm1fY3J0YyAqY3J0YywKPiB9 Cj4gCj4gc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgZXh5bm9zX2Ny dGNfaGVscGVyX2Z1bmNzID0gewo+LQkuZW5hYmxlCQk9IGV4eW5vc19kcm1fY3J0Y19lbmFibGUs Cj4gCS5kaXNhYmxlCT0gZXh5bm9zX2RybV9jcnRjX2Rpc2FibGUsCj4gCS5hdG9taWNfY2hlY2sJ PSBleHlub3NfY3J0Y19hdG9taWNfY2hlY2ssCj4gCS5hdG9taWNfYmVnaW4JPSBleHlub3NfY3J0 Y19hdG9taWNfYmVnaW4sCj4gCS5hdG9taWNfZmx1c2gJPSBleHlub3NfY3J0Y19hdG9taWNfZmx1 c2gsCj4rCS5hdG9taWNfZW5hYmxlCT0gZXh5bm9zX2RybV9jcnRjX2F0b21pY19lbmFibGUsCj4g fTsKPiAKPiB2b2lkIGV4eW5vc19jcnRjX2hhbmRsZV9ldmVudChzdHJ1Y3QgZXh5bm9zX2RybV9j cnRjICpleHlub3NfY3J0YykKPmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9m c2xfZGN1X2RybV9jcnRjLmMKPmIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1f Y3J0Yy5jCj5pbmRleCBjYzRlOTQ0YTFkM2MuLjBlMzc1MjQzN2U0NCAxMDA2NDQKPi0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2NydGMuYwo+KysrIGIvZHJpdmVycy9n cHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fY3J0Yy5jCj5AQCAtNjMsNyArNjMsOCBAQCBzdGF0 aWMgdm9pZCBmc2xfZGN1X2RybV9jcnRjX2F0b21pY19kaXNhYmxlKHN0cnVjdAo+ZHJtX2NydGMg KmNydGMsCj4gCWNsa19kaXNhYmxlX3VucHJlcGFyZShmc2xfZGV2LT5waXhfY2xrKTsKPiB9Cj4g Cj4tc3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpj cnRjKQo+K3N0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4rCQkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0 ZSkKPiB7Cj4gCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gCXN0cnVjdCBm c2xfZGN1X2RybV9kZXZpY2UgKmZzbF9kZXYgPSBkZXYtPmRldl9wcml2YXRlOwo+QEAgLTEzMyw3 ICsxMzQsNyBAQCBzdGF0aWMgdm9pZCBmc2xfZGN1X2RybV9jcnRjX21vZGVfc2V0X25vZmIoc3Ry dWN0Cj5kcm1fY3J0YyAqY3J0YykKPnN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVy X2Z1bmNzIGZzbF9kY3VfZHJtX2NydGNfaGVscGVyX2Z1bmNzCj49IHsKPiAJLmF0b21pY19kaXNh YmxlID0gZnNsX2RjdV9kcm1fY3J0Y19hdG9taWNfZGlzYWJsZSwKPiAJLmF0b21pY19mbHVzaCA9 IGZzbF9kY3VfZHJtX2NydGNfYXRvbWljX2ZsdXNoLAo+LQkuZW5hYmxlID0gZnNsX2RjdV9kcm1f Y3J0Y19lbmFibGUsCj4rCS5hdG9taWNfZW5hYmxlID0gZnNsX2RjdV9kcm1fY3J0Y19hdG9taWNf ZW5hYmxlLAo+IAkubW9kZV9zZXRfbm9mYiA9IGZzbF9kY3VfZHJtX2NydGNfbW9kZV9zZXRfbm9m YiwKPiB9Owo+IAo+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMv aGlibWNfZHJtX2RlLmMKPmIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19k cm1fZGUuYwo+aW5kZXggNTk1NDJiZGRjOTgwLi40OWVmNDdjMGM4MWEgMTAwNjQ0Cj4tLS0gYS9k cml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5jCj4rKysgYi9kcml2 ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5jCj5AQCAtMTkyLDcgKzE5 Miw4IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpoaWJtY19wbGFuZV9pbml0KHN0cnVjdAo+ aGlibWNfZHJtX3ByaXZhdGUgKnByaXYpCj4gCXJldHVybiBwbGFuZTsKPiB9Cj4gCj4tc3RhdGlj IHZvaWQgaGlibWNfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2 b2lkIGhpYm1jX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4rCQkJ CSAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IAl1bnNpZ25lZCBp bnQgcmVnOwo+IAlzdHJ1Y3QgaGlibWNfZHJtX3ByaXZhdGUgKnByaXYgPSBjcnRjLT5kZXYtPmRl dl9wcml2YXRlOwo+QEAgLTQ1MywxMSArNDU0LDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X2NydGNfZnVuY3MKPmhpYm1jX2NydGNfZnVuY3MgPSB7Cj4gfTsKPiAKPiBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBoaWJtY19jcnRjX2hlbHBlcl9mdW5jcyA9IHsK Pi0JLmVuYWJsZQkJPSBoaWJtY19jcnRjX2VuYWJsZSwKPiAJLmRpc2FibGUJPSBoaWJtY19jcnRj X2Rpc2FibGUsCj4gCS5tb2RlX3NldF9ub2ZiCT0gaGlibWNfY3J0Y19tb2RlX3NldF9ub2ZiLAo+ IAkuYXRvbWljX2JlZ2luCT0gaGlibWNfY3J0Y19hdG9taWNfYmVnaW4sCj4gCS5hdG9taWNfZmx1 c2gJPSBoaWJtY19jcnRjX2F0b21pY19mbHVzaCwKPisJLmF0b21pY19lbmFibGUJPSBoaWJtY19j cnRjX2F0b21pY19lbmFibGUsCj4gfTsKPiAKPiBpbnQgaGlibWNfZGVfaW5pdChzdHJ1Y3QgaGli bWNfZHJtX3ByaXZhdGUgKnByaXYpCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hpc2ls aWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMKPmIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9r aXJpbi9raXJpbl9kcm1fYWRlLmMKPmluZGV4IGM5NmMyMjhhOTg5OC4uOGUwMDgxOGIyNGZjIDEw MDY0NAo+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRl LmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5j Cj5AQCAtNDY3LDcgKzQ2Nyw4IEBAIHN0YXRpYyB2b2lkIGFkZV9kdW1wX3JlZ3Modm9pZCBfX2lv bWVtICpiYXNlKQo+IHN0YXRpYyB2b2lkIGFkZV9kdW1wX3JlZ3Modm9pZCBfX2lvbWVtICpiYXNl KSB7IH0KPiAjZW5kaWYKPiAKPi1zdGF0aWMgdm9pZCBhZGVfY3J0Y19lbmFibGUoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2b2lkIGFkZV9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0 IGRybV9jcnRjICpjcnRjLAo+KwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0 ZSkKPiB7Cj4gCXN0cnVjdCBhZGVfY3J0YyAqYWNydGMgPSB0b19hZGVfY3J0YyhjcnRjKTsKPiAJ c3RydWN0IGFkZV9od19jdHggKmN0eCA9IGFjcnRjLT5jdHg7Cj5AQCAtNTUzLDExICs1NTQsMTEg QEAgc3RhdGljIHZvaWQgYWRlX2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0Ywo+KmNy dGMsCj4gfQo+IAo+IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGFk ZV9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPi0JLmVuYWJsZQkJPSBhZGVfY3J0Y19lbmFibGUsCj4g CS5kaXNhYmxlCT0gYWRlX2NydGNfZGlzYWJsZSwKPiAJLm1vZGVfc2V0X25vZmIJPSBhZGVfY3J0 Y19tb2RlX3NldF9ub2ZiLAo+IAkuYXRvbWljX2JlZ2luCT0gYWRlX2NydGNfYXRvbWljX2JlZ2lu LAo+IAkuYXRvbWljX2ZsdXNoCT0gYWRlX2NydGNfYXRvbWljX2ZsdXNoLAo+KwkuYXRvbWljX2Vu YWJsZQk9IGFkZV9jcnRjX2F0b21pY19lbmFibGUsCj4gfTsKPiAKPiBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9jcnRjX2Z1bmNzIGFkZV9jcnRjX2Z1bmNzID0gewo+ZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pbXgvaXB1djMtY3J0Yy5jCj5iL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMt Y3J0Yy5jCj5pbmRleCA1NDU2YzE1ZDk2MmMuLjUzZTBiMjRiZWRhNiAxMDA2NDQKPi0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtY3J0Yy5jCj4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14 L2lwdXYzLWNydGMuYwo+QEAgLTUwLDcgKzUwLDggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaXB1 X2NydGMgKnRvX2lwdV9jcnRjKHN0cnVjdAo+ZHJtX2NydGMgKmNydGMpCj4gCXJldHVybiBjb250 YWluZXJfb2YoY3J0Yywgc3RydWN0IGlwdV9jcnRjLCBiYXNlKTsKPiB9Cj4gCj4tc3RhdGljIHZv aWQgaXB1X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPitzdGF0aWMgdm9pZCBp cHVfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJCQkJICAgc3Ry dWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IAlzdHJ1Y3QgaXB1X2NydGMgKmlw dV9jcnRjID0gdG9faXB1X2NydGMoY3J0Yyk7Cj4gCXN0cnVjdCBpcHVfc29jICppcHUgPSBkZXZf Z2V0X2RydmRhdGEoaXB1X2NydGMtPmRldi0+cGFyZW50KTsKPkBAIC0yOTMsNyArMjk0LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MKPmlwdV9oZWxwZXJfZnVu Y3MgPSB7Cj4gCS5hdG9taWNfY2hlY2sgPSBpcHVfY3J0Y19hdG9taWNfY2hlY2ssCj4gCS5hdG9t aWNfYmVnaW4gPSBpcHVfY3J0Y19hdG9taWNfYmVnaW4sCj4gCS5hdG9taWNfZGlzYWJsZSA9IGlw dV9jcnRjX2F0b21pY19kaXNhYmxlLAo+LQkuZW5hYmxlID0gaXB1X2NydGNfZW5hYmxlLAo+Kwku YXRvbWljX2VuYWJsZSA9IGlwdV9jcnRjX2F0b21pY19lbmFibGUsCj4gfTsKPiAKPiBzdGF0aWMg dm9pZCBpcHVfcHV0X3Jlc291cmNlcyhzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjKQo+ZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYwo+Yi9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPmluZGV4IDY1ODJlMWY1NmQzNy4uNTk3 MWIwODI3ZDFiIDEwMDY0NAo+LS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f Y3J0Yy5jCj4rKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPkBA IC0zNjYsNyArMzY2LDggQEAgc3RhdGljIHZvaWQgbXRrX2NydGNfZGRwX2NvbmZpZyhzdHJ1Y3Qg ZHJtX2NydGMKPipjcnRjKQo+IAl9Cj4gfQo+IAo+LXN0YXRpYyB2b2lkIG10a19kcm1fY3J0Y19l bmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2b2lkIG10a19kcm1fY3J0Y19h dG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJCQkJICAgICAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+IHsKPiAJc3RydWN0IG10a19kcm1fY3J0YyAqbXRr X2NydGMgPSB0b19tdGtfY3J0YyhjcnRjKTsKPiAJc3RydWN0IG10a19kZHBfY29tcCAqb3ZsID0g bXRrX2NydGMtPmRkcF9jb21wWzBdOwo+QEAgLTQ4NywxMCArNDg4LDEwIEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgbXRrX2NydGNfZnVuY3MKPj0gewo+IHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIG10a19jcnRjX2hlbHBlcl9mdW5jcyA9IHsK PiAJLm1vZGVfZml4dXAJPSBtdGtfZHJtX2NydGNfbW9kZV9maXh1cCwKPiAJLm1vZGVfc2V0X25v ZmIJPSBtdGtfZHJtX2NydGNfbW9kZV9zZXRfbm9mYiwKPi0JLmVuYWJsZQkJPSBtdGtfZHJtX2Ny dGNfZW5hYmxlLAo+IAkuZGlzYWJsZQk9IG10a19kcm1fY3J0Y19kaXNhYmxlLAo+IAkuYXRvbWlj X2JlZ2luCT0gbXRrX2RybV9jcnRjX2F0b21pY19iZWdpbiwKPiAJLmF0b21pY19mbHVzaAk9IG10 a19kcm1fY3J0Y19hdG9taWNfZmx1c2gsCj4rCS5hdG9taWNfZW5hYmxlCT0gbXRrX2RybV9jcnRj X2F0b21pY19lbmFibGUsCj4gfTsKPiAKPiBzdGF0aWMgaW50IG10a19kcm1fY3J0Y19pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkcm0sCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lc29u L21lc29uX2NydGMuYwo+Yi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fY3J0Yy5jCj5pbmRl eCBjOTg2ZWIwM2I5ZDkuLjZmMTQ4MzA3YjBlMCAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tZXNvbi9tZXNvbl9jcnRjLmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9j cnRjLmMKPkBAIC03OSw3ICs3OSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVu Y3MgbWVzb25fY3J0Y19mdW5jcyA9Cj57Cj4gCj4gfTsKPiAKPi1zdGF0aWMgdm9pZCBtZXNvbl9j cnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4rc3RhdGljIHZvaWQgbWVzb25fY3J0 Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJCQkJICAgICBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiB7Cj4gCXN0cnVjdCBtZXNvbl9jcnRjICptZXNv bl9jcnRjID0gdG9fbWVzb25fY3J0YyhjcnRjKTsKPiAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpj cnRjX3N0YXRlID0gY3J0Yy0+c3RhdGU7Cj5AQCAtMTQ5LDEwICsxNTAsMTAgQEAgc3RhdGljIHZv aWQgbWVzb25fY3J0Y19hdG9taWNfZmx1c2goc3RydWN0Cj5kcm1fY3J0YyAqY3J0YywKPiB9Cj4g Cj4gc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgbWVzb25fY3J0Y19o ZWxwZXJfZnVuY3MgPSB7Cj4tCS5lbmFibGUJCT0gbWVzb25fY3J0Y19lbmFibGUsCj4gCS5kaXNh YmxlCT0gbWVzb25fY3J0Y19kaXNhYmxlLAo+IAkuYXRvbWljX2JlZ2luCT0gbWVzb25fY3J0Y19h dG9taWNfYmVnaW4sCj4gCS5hdG9taWNfZmx1c2gJPSBtZXNvbl9jcnRjX2F0b21pY19mbHVzaCwK PisJLmF0b21pY19lbmFibGUJPSBtZXNvbl9jcnRjX2F0b21pY19lbmFibGUsCj4gfTsKPiAKPiB2 b2lkIG1lc29uX2NydGNfaXJxKHN0cnVjdCBtZXNvbl9kcm0gKnByaXYpCj5kaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X2NydGMuYwo+Yi9kcml2ZXJzL2dwdS9k cm0vbXNtL21kcC9tZHA0L21kcDRfY3J0Yy5jCj5pbmRleCA2MTVlMWRlZjY0ZDkuLjljMjAxMzNm M2Y4ZCAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9jcnRj LmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9jcnRjLmMKPkBAIC0y OTUsNyArMjk1LDggQEAgc3RhdGljIHZvaWQgbWRwNF9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9j cnRjCj4qY3J0YykKPiAJbWRwNF9jcnRjLT5lbmFibGVkID0gZmFsc2U7Cj4gfQo+IAo+LXN0YXRp YyB2b2lkIG1kcDRfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2 b2lkIG1kcDRfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJCQkJ ICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+IHsKPiAJc3RydWN0IG1kcDRf Y3J0YyAqbWRwNF9jcnRjID0gdG9fbWRwNF9jcnRjKGNydGMpOwo+IAlzdHJ1Y3QgbWRwNF9rbXMg Km1kcDRfa21zID0gZ2V0X2ttcyhjcnRjKTsKPkBAIC00OTMsMTAgKzQ5NCwxMCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzCj5tZHA0X2NydGNfZnVuY3MgPSB7Cj4gc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgbWRwNF9jcnRjX2hlbHBlcl9mdW5j cyA9IHsKPiAJLm1vZGVfc2V0X25vZmIgPSBtZHA0X2NydGNfbW9kZV9zZXRfbm9mYiwKPiAJLmRp c2FibGUgPSBtZHA0X2NydGNfZGlzYWJsZSwKPi0JLmVuYWJsZSA9IG1kcDRfY3J0Y19lbmFibGUs Cj4gCS5hdG9taWNfY2hlY2sgPSBtZHA0X2NydGNfYXRvbWljX2NoZWNrLAo+IAkuYXRvbWljX2Jl Z2luID0gbWRwNF9jcnRjX2F0b21pY19iZWdpbiwKPiAJLmF0b21pY19mbHVzaCA9IG1kcDRfY3J0 Y19hdG9taWNfZmx1c2gsCj4rCS5hdG9taWNfZW5hYmxlID0gbWRwNF9jcnRjX2F0b21pY19lbmFi bGUsCj4gfTsKPiAKPnN0YXRpYyB2b2lkIG1kcDRfY3J0Y192YmxhbmtfaXJxKHN0cnVjdCBtZHBf aXJxICppcnEsIHVpbnQzMl90Cj5pcnFzdGF0dXMpCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYwo+Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfY3J0Yy5jCj5pbmRleCBjYjU0MTVkNmMwNGIuLmQzOWQ5ZDI0ZDE2OSAxMDA2NDQK Pi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMKPisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMKPkBAIC00MjksNyArNDI5LDgg QEAgc3RhdGljIHZvaWQgbWRwNV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjCj4qY3J0YykK PiAJbWRwNV9jcnRjLT5lbmFibGVkID0gZmFsc2U7Cj4gfQo+IAo+LXN0YXRpYyB2b2lkIG1kcDVf Y3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2b2lkIG1kcDVfY3J0 Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJCQkJICAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+IHsKPiAJc3RydWN0IG1kcDVfY3J0YyAqbWRwNV9j cnRjID0gdG9fbWRwNV9jcnRjKGNydGMpOwo+CXN0cnVjdCBtZHA1X2NydGNfc3RhdGUgKm1kcDVf Y3N0YXRlID0gdG9fbWRwNV9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPkBAIC05NDAsMTAgKzk0 MSwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzCj5tZHA1X2NydGNfbm9f bG1fY3Vyc29yX2Z1bmNzID0gewo+IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVy X2Z1bmNzIG1kcDVfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gCS5tb2RlX3NldF9ub2ZiID0gbWRw NV9jcnRjX21vZGVfc2V0X25vZmIsCj4gCS5kaXNhYmxlID0gbWRwNV9jcnRjX2Rpc2FibGUsCj4t CS5lbmFibGUgPSBtZHA1X2NydGNfZW5hYmxlLAo+IAkuYXRvbWljX2NoZWNrID0gbWRwNV9jcnRj X2F0b21pY19jaGVjaywKPiAJLmF0b21pY19iZWdpbiA9IG1kcDVfY3J0Y19hdG9taWNfYmVnaW4s Cj4gCS5hdG9taWNfZmx1c2ggPSBtZHA1X2NydGNfYXRvbWljX2ZsdXNoLAo+KwkuYXRvbWljX2Vu YWJsZSA9IG1kcDVfY3J0Y19hdG9taWNfZW5hYmxlLAo+IH07Cj4gCj5zdGF0aWMgdm9pZCBtZHA1 X2NydGNfdmJsYW5rX2lycShzdHJ1Y3QgbWRwX2lycSAqaXJxLCB1aW50MzJfdAo+aXJxc3RhdHVz KQo+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCj5iL2Ry aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCj5pbmRleCBkZDBlZjQwY2E0NjkuLjdh MWI3YTljYzI3MCAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0 Yy5jCj4rKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYwo+QEAgLTM1Niw3 ICszNTYsOCBAQCBzdGF0aWMgdm9pZCBvbWFwX2NydGNfYXJtX2V2ZW50KHN0cnVjdCBkcm1fY3J0 Ywo+KmNydGMpCj4gCX0KPiB9Cj4gCj4tc3RhdGljIHZvaWQgb21hcF9jcnRjX2VuYWJsZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCj4rc3RhdGljIHZvaWQgb21hcF9jcnRjX2F0b21pY19lbmFibGUo c3RydWN0IGRybV9jcnRjICpjcnRjLAo+KwkJCQkgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpv bGRfc3RhdGUpCj4gewo+IAlzdHJ1Y3Qgb21hcF9jcnRjICpvbWFwX2NydGMgPSB0b19vbWFwX2Ny dGMoY3J0Yyk7Cj4gCWludCByZXQ7Cj5AQCAtNTY4LDEwICs1NjksMTAgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fY3J0Y19mdW5jcwo+b21hcF9jcnRjX2Z1bmNzID0gewo+IHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIG9tYXBfY3J0Y19oZWxwZXJfZnVuY3MgPSB7 Cj4gCS5tb2RlX3NldF9ub2ZiID0gb21hcF9jcnRjX21vZGVfc2V0X25vZmIsCj4gCS5kaXNhYmxl ID0gb21hcF9jcnRjX2Rpc2FibGUsCj4tCS5lbmFibGUgPSBvbWFwX2NydGNfZW5hYmxlLAo+IAku YXRvbWljX2NoZWNrID0gb21hcF9jcnRjX2F0b21pY19jaGVjaywKPiAJLmF0b21pY19iZWdpbiA9 IG9tYXBfY3J0Y19hdG9taWNfYmVnaW4sCj4gCS5hdG9taWNfZmx1c2ggPSBvbWFwX2NydGNfYXRv bWljX2ZsdXNoLAo+KwkuYXRvbWljX2VuYWJsZSA9IG9tYXBfY3J0Y19hdG9taWNfZW5hYmxlLAo+ IH07Cj4gCj4vKgo+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMKPmIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZGlzcGxh eS5jCj5pbmRleCA3ZWRlNWYxMzFhNWMuLmVhOTVlN2U3Y2M3ZiAxMDA2NDQKPi0tLSBhL2RyaXZl cnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwo+KysrIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9x eGxfZGlzcGxheS5jCj5AQCAtNDQ3LDcgKzQ0Nyw4IEBAIHN0YXRpYyB2b2lkIHF4bF9tb2RlX3Nl dF9ub2ZiKHN0cnVjdCBkcm1fY3J0Ywo+KmNydGMpCj4gCj4gfQo+IAo+LXN0YXRpYyB2b2lkIHF4 bF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4rc3RhdGljIHZvaWQgcXhsX2Ny dGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4rCQkJCSAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+IHsKPiAJRFJNX0RFQlVHKCJcbiIpOwo+IH0KPkBA IC00NjYsOCArNDY3LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVu Y3MKPnF4bF9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiAJLmRpc2FibGUgPSBxeGxfY3J0Y19kaXNh YmxlLAo+IAkubW9kZV9maXh1cCA9IHF4bF9jcnRjX21vZGVfZml4dXAsCj4gCS5tb2RlX3NldF9u b2ZiID0gcXhsX21vZGVfc2V0X25vZmIsCj4tCS5lbmFibGUgPSBxeGxfY3J0Y19lbmFibGUsCj4g CS5hdG9taWNfZmx1c2ggPSBxeGxfY3J0Y19hdG9taWNfZmx1c2gsCj4rCS5hdG9taWNfZW5hYmxl ID0gcXhsX2NydGNfYXRvbWljX2VuYWJsZSwKPiB9Owo+IAo+IHN0YXRpYyBpbnQgcXhsX3ByaW1h cnlfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj5iL2RyaXZlcnMvZ3B1L2RybS9y Y2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj5pbmRleCAzNDVlZmY3MmY1ODEuLjZhYTNmYThkMDZmOSAx MDA2NDQKPi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4rKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+QEAgLTU1Miw3ICs1NTIs OCBAQCB2b2lkIHJjYXJfZHVfY3J0Y19yZXN1bWUoc3RydWN0IHJjYXJfZHVfY3J0Ywo+KnJjcnRj KQo+ICAqIENSVEMgRnVuY3Rpb25zCj4gICovCj4gCj4tc3RhdGljIHZvaWQgcmNhcl9kdV9jcnRj X2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4rc3RhdGljIHZvaWQgcmNhcl9kdV9jcnRj X2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+KwkJCQkgICAgICAgc3RydWN0 IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IAlzdHJ1Y3QgcmNhcl9kdV9jcnRjICpy Y3J0YyA9IHRvX3JjYXJfY3J0YyhjcnRjKTsKPiAKPkBAIC02MTAsOSArNjExLDkgQEAgc3RhdGlj IHZvaWQgcmNhcl9kdV9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QKPmRybV9jcnRjICpjcnRjLAo+ IAo+IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGNydGNfaGVscGVy X2Z1bmNzID0gewo+IAkuZGlzYWJsZSA9IHJjYXJfZHVfY3J0Y19kaXNhYmxlLAo+LQkuZW5hYmxl ID0gcmNhcl9kdV9jcnRjX2VuYWJsZSwKPiAJLmF0b21pY19iZWdpbiA9IHJjYXJfZHVfY3J0Y19h dG9taWNfYmVnaW4sCj4gCS5hdG9taWNfZmx1c2ggPSByY2FyX2R1X2NydGNfYXRvbWljX2ZsdXNo LAo+KwkuYXRvbWljX2VuYWJsZSA9IHJjYXJfZHVfY3J0Y19hdG9taWNfZW5hYmxlLAo+IH07Cj4g Cj4gc3RhdGljIGludCByY2FyX2R1X2NydGNfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2Ry bV92b3AuYwo+Yi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj5p bmRleCA1ZDQ1MDMzMmMyZmQuLmJiNTlmNzQxMDYzNCAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPkBAIC04NzEsNyArODcxLDggQEAgc3RhdGljIGJv b2wgdm9wX2NydGNfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2NydGMKPipjcnRjLAo+IAlyZXR1cm4g dHJ1ZTsKPiB9Cj4gCj4tc3RhdGljIHZvaWQgdm9wX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPitzdGF0aWMgdm9pZCB2b3BfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPisJCQkJICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4g ewo+IAlzdHJ1Y3Qgdm9wICp2b3AgPSB0b192b3AoY3J0Yyk7Cj4gCWNvbnN0IHN0cnVjdCB2b3Bf ZGF0YSAqdm9wX2RhdGEgPSB2b3AtPmRhdGE7Cj5AQCAtMTA3OSwxMSArMTA4MCwxMSBAQCBzdGF0 aWMgdm9pZCB2b3BfY3J0Y19hdG9taWNfYmVnaW4oc3RydWN0Cj5kcm1fY3J0YyAqY3J0YywKPiB9 Cj4gCj4gc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3Mgdm9wX2NydGNf aGVscGVyX2Z1bmNzID0gewo+LQkuZW5hYmxlID0gdm9wX2NydGNfZW5hYmxlLAo+IAkuZGlzYWJs ZSA9IHZvcF9jcnRjX2Rpc2FibGUsCj4gCS5tb2RlX2ZpeHVwID0gdm9wX2NydGNfbW9kZV9maXh1 cCwKPiAJLmF0b21pY19mbHVzaCA9IHZvcF9jcnRjX2F0b21pY19mbHVzaCwKPiAJLmF0b21pY19i ZWdpbiA9IHZvcF9jcnRjX2F0b21pY19iZWdpbiwKPisJLmF0b21pY19lbmFibGUgPSB2b3BfY3J0 Y19hdG9taWNfZW5hYmxlLAo+IH07Cj4gCj4gc3RhdGljIHZvaWQgdm9wX2NydGNfZGVzdHJveShz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfY3J0Yy5jCj5iL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2NydGMuYwo+aW5kZXggZDQ1YTQz MzVkZjVkLi5iYjg2NDM0NWZlZGYgMTAwNjQ0Cj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV9jcnRjLmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2NydGMuYwo+QEAgLTIwLDcg KzIwLDggQEAKPiAjaW5jbHVkZSAic3RpX3ZpZC5oIgo+ICNpbmNsdWRlICJzdGlfdnRnLmgiCj4g Cj4tc3RhdGljIHZvaWQgc3RpX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPitz dGF0aWMgdm9pZCBzdGlfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK PisJCQkJICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IAlzdHJ1Y3Qg c3RpX21peGVyICptaXhlciA9IHRvX3N0aV9taXhlcihjcnRjKTsKPiAKPkBAIC0yMjIsMTAgKzIy MywxMCBAQCBzdGF0aWMgdm9pZCBzdGlfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRj Cj4qY3J0YywKPiB9Cj4gCj4gc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVu Y3Mgc3RpX2NydGNfaGVscGVyX2Z1bmNzID0gewo+LQkuZW5hYmxlID0gc3RpX2NydGNfZW5hYmxl LAo+IAkuZGlzYWJsZSA9IHN0aV9jcnRjX2Rpc2FibGluZywKPiAJLm1vZGVfc2V0X25vZmIgPSBz dGlfY3J0Y19tb2RlX3NldF9ub2ZiLAo+IAkuYXRvbWljX2ZsdXNoID0gc3RpX2NydGNfYXRvbWlj X2ZsdXNoLAo+KwkuYXRvbWljX2VuYWJsZSA9IHN0aV9jcnRjX2F0b21pY19lbmFibGUsCj4gfTsK PiAKPiBzdGF0aWMgdm9pZCBzdGlfY3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykK PmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9zdG0vbHRkYy5jCj5pbmRleCAxYjk0ODNkNGYyYTQuLjMzN2ZjZTAwNGQwOCAxMDA2NDQKPi0t LSBhL2RyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jCj4rKysgYi9kcml2ZXJzL2dwdS9kcm0vc3Rt L2x0ZGMuYwo+QEAgLTM4Niw3ICszODYsOCBAQCBzdGF0aWMgdm9pZCBsdGRjX2NydGNfbG9hZF9s dXQoc3RydWN0IGRybV9jcnRjCj4qY3J0YykKPiAJCQkJICBsZGV2LT5jbHV0W2ldKTsKPiB9Cj4g Cj4tc3RhdGljIHZvaWQgbHRkY19jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4r c3RhdGljIHZvaWQgbHRkY19jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+KwkJCQkgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IAlzdHJ1 Y3QgbHRkY19kZXZpY2UgKmxkZXYgPSBjcnRjX3RvX2x0ZGMoY3J0Yyk7Cj4gCj5AQCAtNTI0LDEw ICs1MjUsMTAgQEAgc3RhdGljIHZvaWQgbHRkY19jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QKPmRy bV9jcnRjICpjcnRjLAo+IAo+IHN0YXRpYyBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGx0 ZGNfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gCS5sb2FkX2x1dCA9IGx0ZGNfY3J0Y19sb2FkX2x1 dCwKPi0JLmVuYWJsZSA9IGx0ZGNfY3J0Y19lbmFibGUsCj4gCS5kaXNhYmxlID0gbHRkY19jcnRj X2Rpc2FibGUsCj4gCS5tb2RlX3NldF9ub2ZiID0gbHRkY19jcnRjX21vZGVfc2V0X25vZmIsCj4g CS5hdG9taWNfZmx1c2ggPSBsdGRjX2NydGNfYXRvbWljX2ZsdXNoLAo+KwkuYXRvbWljX2VuYWJs ZSA9IGx0ZGNfY3J0Y19hdG9taWNfZW5hYmxlLAo+IH07Cj4gCj5pbnQgbHRkY19jcnRjX2VuYWJs ZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRkZXYsIHVuc2lnbmVkIGludCBwaXBlKQo+ZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9jcnRjLmMKPmIvZHJpdmVycy9n cHUvZHJtL3N1bjRpL3N1bjRpX2NydGMuYwo+aW5kZXggZjhjNzA0MzlkMWUyLi41MDllNGQ4MDE0 ZjMgMTAwNjQ0Cj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfY3J0Yy5jCj4rKysg Yi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfY3J0Yy5jCj5AQCAtODYsNyArODYsOCBAQCBz dGF0aWMgdm9pZCBzdW40aV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IAl9 Cj4gfQo+IAo+LXN0YXRpYyB2b2lkIHN1bjRpX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPitzdGF0aWMgdm9pZCBzdW40aV9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+KwkJCQkgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ IHsKPiAJc3RydWN0IHN1bjRpX2NydGMgKnNjcnRjID0gZHJtX2NydGNfdG9fc3VuNGlfY3J0Yyhj cnRjKTsKPiAKPkBAIC05OCw4ICs5OSw4IEBAIHN0YXRpYyB2b2lkIHN1bjRpX2NydGNfZW5hYmxl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hl bHBlcl9mdW5jcyBzdW40aV9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiAJLmF0b21pY19iZWdpbgk9 IHN1bjRpX2NydGNfYXRvbWljX2JlZ2luLAo+IAkuYXRvbWljX2ZsdXNoCT0gc3VuNGlfY3J0Y19h dG9taWNfZmx1c2gsCj4rCS5hdG9taWNfZW5hYmxlCT0gc3VuNGlfY3J0Y19hdG9taWNfZW5hYmxl LAo+IAkuZGlzYWJsZQk9IHN1bjRpX2NydGNfZGlzYWJsZSwKPi0JLmVuYWJsZQkJPSBzdW40aV9j cnRjX2VuYWJsZSwKPiB9Owo+IAo+IHN0YXRpYyBpbnQgc3VuNGlfY3J0Y19lbmFibGVfdmJsYW5r KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVn cmEvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj5pbmRleCBjODc1ZjExNzg2Yjku LjJlMGQxNjdjYjY1NyAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj4r KysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwo+QEAgLTEyNDMsNyArMTI0Myw4IEBAIHN0 YXRpYyB2b2lkIHRlZ3JhX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMKPipjcnRjKQo+IAlw bV9ydW50aW1lX3B1dF9zeW5jKGRjLT5kZXYpOwo+IH0KPiAKPi1zdGF0aWMgdm9pZCB0ZWdyYV9j cnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4rc3RhdGljIHZvaWQgdGVncmFfY3J0 Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJCQkJICAgICBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiB7Cj4gCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlID0gJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlOwo+IAlzdHJ1Y3QgdGVncmFfZGNf c3RhdGUgKnN0YXRlID0gdG9fZGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+QEAgLTEzNTIsMTAgKzEz NTMsMTAgQEAgc3RhdGljIHZvaWQgdGVncmFfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0Cj5kcm1f Y3J0YyAqY3J0YywKPiAKPiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5j cyB0ZWdyYV9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiAJLmRpc2FibGUgPSB0ZWdyYV9jcnRjX2Rp c2FibGUsCj4tCS5lbmFibGUgPSB0ZWdyYV9jcnRjX2VuYWJsZSwKPiAJLmF0b21pY19jaGVjayA9 IHRlZ3JhX2NydGNfYXRvbWljX2NoZWNrLAo+IAkuYXRvbWljX2JlZ2luID0gdGVncmFfY3J0Y19h dG9taWNfYmVnaW4sCj4gCS5hdG9taWNfZmx1c2ggPSB0ZWdyYV9jcnRjX2F0b21pY19mbHVzaCwK PisJLmF0b21pY19lbmFibGUgPSB0ZWdyYV9jcnRjX2F0b21pY19lbmFibGUsCj4gfTsKPiAKPiBz dGF0aWMgaXJxcmV0dXJuX3QgdGVncmFfZGNfaXJxKGludCBpcnEsIHZvaWQgKmRhdGEpCj5kaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfY3J0Yy5jCj5iL2RyaXZlcnMv Z3B1L2RybS90aWxjZGMvdGlsY2RjX2NydGMuYwo+aW5kZXggZDUyNGVkMGQ1MTQ2Li42YzU4OTI3 NjNkMjcgMTAwNjQ0Cj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19jcnRjLmMK PisrKyBiL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX2NydGMuYwo+QEAgLTUwNCw2ICs1 MDQsMTIgQEAgc3RhdGljIHZvaWQgdGlsY2RjX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0Ywo+ KmNydGMpCj4gCW11dGV4X3VubG9jaygmdGlsY2RjX2NydGMtPmVuYWJsZV9sb2NrKTsKPiB9Cj4g Cj4rc3RhdGljIHZvaWQgdGlsY2RjX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4rCQkJCSAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+K3sK PisJdGlsY2RjX2NydGNfZW5hYmxlKGNydGMpOwo+K30KPisKPiBzdGF0aWMgdm9pZCB0aWxjZGNf Y3J0Y19vZmYoc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIHNodXRkb3duKQo+IHsKPiAJc3Ry dWN0IHRpbGNkY19jcnRjICp0aWxjZGNfY3J0YyA9IHRvX3RpbGNkY19jcnRjKGNydGMpOwo+QEAg LTcyOSw5ICs3MzUsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzCj50aWxj ZGNfY3J0Y19mdW5jcyA9IHsKPiAKPiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBl cl9mdW5jcyB0aWxjZGNfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gCQkubW9kZV9maXh1cCAgICAg PSB0aWxjZGNfY3J0Y19tb2RlX2ZpeHVwLAo+LQkJLmVuYWJsZQkJPSB0aWxjZGNfY3J0Y19lbmFi bGUsCj4gCQkuZGlzYWJsZQk9IHRpbGNkY19jcnRjX2Rpc2FibGUsCj4gCQkuYXRvbWljX2NoZWNr CT0gdGlsY2RjX2NydGNfYXRvbWljX2NoZWNrLAo+KwkJLmF0b21pY19lbmFibGUJPSB0aWxjZGNf Y3J0Y19hdG9taWNfZW5hYmxlLAo+IH07Cj4gCj4gaW50IHRpbGNkY19jcnRjX21heF93aWR0aChz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92 YzRfY3J0Yy5jCj5iL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYwo+aW5kZXggZjIwYzAx NzU5YzBkLi40YzAzYTU2NWIyNzYgMTAwNjQ0Cj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF9jcnRjLmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYwo+QEAgLTUzMyw3 ICs1MzMsOCBAQCBzdGF0aWMgdm9pZCB2YzRfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPiAJfQo+IH0KPiAKPi1zdGF0aWMgdm9pZCB2YzRfY3J0Y19lbmFibGUoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2b2lkIHZjNF9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0 IGRybV9jcnRjICpjcnRjLAo+KwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0 ZSkKPiB7Cj4gCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gCXN0cnVjdCB2 YzRfZGV2ICp2YzQgPSB0b192YzRfZGV2KGRldik7Cj5AQCAtODcwLDEwICs4NzEsMTAgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyB2YzRfY3J0Y19mdW5jcwo+PSB7Cj4gc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgdmM0X2NydGNfaGVscGVyX2Z1 bmNzID0gewo+IAkubW9kZV9zZXRfbm9mYiA9IHZjNF9jcnRjX21vZGVfc2V0X25vZmIsCj4gCS5k aXNhYmxlID0gdmM0X2NydGNfZGlzYWJsZSwKPi0JLmVuYWJsZSA9IHZjNF9jcnRjX2VuYWJsZSwK PiAJLm1vZGVfdmFsaWQgPSB2YzRfY3J0Y19tb2RlX3ZhbGlkLAo+IAkuYXRvbWljX2NoZWNrID0g dmM0X2NydGNfYXRvbWljX2NoZWNrLAo+IAkuYXRvbWljX2ZsdXNoID0gdmM0X2NydGNfYXRvbWlj X2ZsdXNoLAo+KwkuYXRvbWljX2VuYWJsZSA9IHZjNF9jcnRjX2F0b21pY19lbmFibGUsCj4gfTsK PiAKPiBzdGF0aWMgY29uc3Qgc3RydWN0IHZjNF9jcnRjX2RhdGEgcHYwX2RhdGEgPSB7Cj5kaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rpc3BsYXkuYwo+Yi9kcml2 ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5jCj5pbmRleCBkNTFiZDQ1MjFmMTcu LjAzYTNjMTJlZDEwMCAxMDA2NDQKPi0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdw dV9kaXNwbGF5LmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5 LmMKPkBAIC0xMTMsNyArMTEzLDggQEAgc3RhdGljIHZvaWQgdmlydGlvX2dwdV9jcnRjX21vZGVf c2V0X25vZmIoc3RydWN0Cj5kcm1fY3J0YyAqY3J0YykKPiAJCQkJICAgY3J0Yy0+bW9kZS52ZGlz cGxheSwgMCwgMCk7Cj4gfQo+IAo+LXN0YXRpYyB2b2lkIHZpcnRpb19ncHVfY3J0Y19lbmFibGUo c3RydWN0IGRybV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2b2lkIHZpcnRpb19ncHVfY3J0Y19hdG9t aWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJCQkJCSAgc3RydWN0IGRybV9jcnRj X3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IH0KPiAKPkBAIC0xNDUsMTEgKzE0NiwxMSBAQCBzdGF0 aWMgdm9pZCB2aXJ0aW9fZ3B1X2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdAo+ZHJtX2NydGMgKmNy dGMsCj4gfQo+IAo+c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3Mgdmly dGlvX2dwdV9jcnRjX2hlbHBlcl9mdW5jcwo+PSB7Cj4tCS5lbmFibGUgICAgICAgID0gdmlydGlv X2dwdV9jcnRjX2VuYWJsZSwKPiAJLmRpc2FibGUgICAgICAgPSB2aXJ0aW9fZ3B1X2NydGNfZGlz YWJsZSwKPiAJLm1vZGVfc2V0X25vZmIgPSB2aXJ0aW9fZ3B1X2NydGNfbW9kZV9zZXRfbm9mYiwK PiAJLmF0b21pY19jaGVjayAgPSB2aXJ0aW9fZ3B1X2NydGNfYXRvbWljX2NoZWNrLAo+IAkuYXRv bWljX2ZsdXNoICA9IHZpcnRpb19ncHVfY3J0Y19hdG9taWNfZmx1c2gsCj4rCS5hdG9taWNfZW5h YmxlID0gdmlydGlvX2dwdV9jcnRjX2F0b21pY19lbmFibGUsCj4gfTsKPiAKPiBzdGF0aWMgdm9p ZCB2aXJ0aW9fZ3B1X2VuY19tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj5k aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMKPmIvZHJpdmVy cy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMKPmluZGV4IGY4YWNkM2ExNTUyMy4uODMyYjgz YzU4MmMyIDEwMDY0NAo+LS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMK PisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2xkdS5jCj5AQCAtMjAzLDcgKzIw Myw3IEBAIHN0YXRpYyB2b2lkIHZtd19sZHVfY3J0Y19tb2RlX3NldF9ub2ZiKHN0cnVjdAo+ZHJt X2NydGMgKmNydGMpCj4gfQo+IAo+IC8qKgo+LSAqIHZtd19sZHVfY3J0Y19oZWxwZXJfZW5hYmxl IC0gTm9vcAo+KyAqIHZtd19sZHVfY3J0Y19hdG9taWNfZW5hYmxlIC0gTm9vcAo+ICAqCj4gICog QGNydGM6IENSVEMgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXcgc2NyZWVuCj4gICoKPkBAIC0yMTIs NyArMjEyLDggQEAgc3RhdGljIHZvaWQgdm13X2xkdV9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0 Cj5kcm1fY3J0YyAqY3J0YykKPiAgKiBidXQgc2luY2UgZm9yIExEVSB0aGUgZGlzcGxheSBwbGFu ZSBpcyBjbG9zZWx5IHRpZWQgdG8gdGhlCj4gICogQ1JUQywgaXQgbWFrZXMgbW9yZSBzZW5zZSB0 byBkbyB0aG9zZSBhdCBwbGFuZSB1cGRhdGUgdGltZS4KPiAgKi8KPi1zdGF0aWMgdm9pZCB2bXdf bGR1X2NydGNfaGVscGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4rc3RhdGljIHZv aWQgdm13X2xkdV9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+KwkJ CQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gewo+IH0KPiAKPkBA IC0zNzYsMTIgKzM3NywxMiBAQCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzCj52bXdfbGR1X3ByaW1h cnlfcGxhbmVfaGVscGVyX2Z1bmNzID0gewo+IH07Cj4gCj5zdGF0aWMgY29uc3Qgc3RydWN0IGRy bV9jcnRjX2hlbHBlcl9mdW5jcyB2bXdfbGR1X2NydGNfaGVscGVyX2Z1bmNzID0gewo+LQkuZW5h YmxlID0gdm13X2xkdV9jcnRjX2hlbHBlcl9lbmFibGUsCj4gCS5kaXNhYmxlID0gdm13X2xkdV9j cnRjX2hlbHBlcl9kaXNhYmxlLAo+IAkubW9kZV9zZXRfbm9mYiA9IHZtd19sZHVfY3J0Y19tb2Rl X3NldF9ub2ZiLAo+IAkuYXRvbWljX2NoZWNrID0gdm13X2R1X2NydGNfYXRvbWljX2NoZWNrLAo+ IAkuYXRvbWljX2JlZ2luID0gdm13X2R1X2NydGNfYXRvbWljX2JlZ2luLAo+IAkuYXRvbWljX2Zs dXNoID0gdm13X2R1X2NydGNfYXRvbWljX2ZsdXNoLAo+KwkuYXRvbWljX2VuYWJsZSA9IHZtd19s ZHVfY3J0Y19hdG9taWNfZW5hYmxlLAo+IH07Cj4gCj4gCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jCj5iL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X3Njcm4uYwo+aW5kZXggMWNiODI2YzUwM2JmLi44YmEzYmFkMDY5MDkgMTAwNjQ0Cj4tLS0g YS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMKPisrKyBiL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYwo+QEAgLTI3MCwxMyArMjcwLDE0IEBAIHN0YXRpYyB2 b2lkIHZtd19zb3VfY3J0Y19oZWxwZXJfcHJlcGFyZShzdHJ1Y3QKPmRybV9jcnRjICpjcnRjKQo+ IH0KPiAKPiAvKioKPi0gKiB2bXdfc291X2NydGNfaGVscGVyX2VuYWJsZSAtIE5vb3AKPisgKiB2 bXdfc291X2NydGNfYXRvbWljX2VuYWJsZSAtIE5vb3AKPiAgKgo+ICAqIEBjcnRjOiBDUlRDIGFz c29jaWF0ZWQgd2l0aCB0aGUgbmV3IHNjcmVlbgo+ICAqCj4gICogVGhpcyBpcyBjYWxsZWQgYWZ0 ZXIgYSBtb2RlIHNldCBoYXMgYmVlbiBjb21wbGV0ZWQuCj4gICovCj4tc3RhdGljIHZvaWQgdm13 X3NvdV9jcnRjX2hlbHBlcl9lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+K3N0YXRpYyB2 b2lkIHZtd19zb3VfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPisJ CQkJICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+IHsKPiB9Cj4gCj5A QCAtNTczLDEyICs1NzQsMTIgQEAgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcwo+dm13X3NvdV9wcmlt YXJ5X3BsYW5lX2hlbHBlcl9mdW5jcyA9IHsKPiAKPnN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Ny dGNfaGVscGVyX2Z1bmNzIHZtd19zb3VfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gCS5wcmVwYXJl ID0gdm13X3NvdV9jcnRjX2hlbHBlcl9wcmVwYXJlLAo+LQkuZW5hYmxlID0gdm13X3NvdV9jcnRj X2hlbHBlcl9lbmFibGUsCj4gCS5kaXNhYmxlID0gdm13X3NvdV9jcnRjX2hlbHBlcl9kaXNhYmxl LAo+IAkubW9kZV9zZXRfbm9mYiA9IHZtd19zb3VfY3J0Y19tb2RlX3NldF9ub2ZiLAo+IAkuYXRv bWljX2NoZWNrID0gdm13X2R1X2NydGNfYXRvbWljX2NoZWNrLAo+IAkuYXRvbWljX2JlZ2luID0g dm13X2R1X2NydGNfYXRvbWljX2JlZ2luLAo+IAkuYXRvbWljX2ZsdXNoID0gdm13X2R1X2NydGNf YXRvbWljX2ZsdXNoLAo+KwkuYXRvbWljX2VuYWJsZSA9IHZtd19zb3VfY3J0Y19hdG9taWNfZW5h YmxlLAo+IH07Cj4gCj4gCj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn Znhfc3RkdS5jCj5iL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N0ZHUuYwo+aW5kZXgg NGViOTNiNDdkNmRiLi5mMmIzOWQ5YzUxY2MgMTAwNjQ0Cj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9zdGR1LmMKPisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4 X3N0ZHUuYwo+QEAgLTQxMiw3ICs0MTIsOCBAQCBzdGF0aWMgdm9pZCB2bXdfc3RkdV9jcnRjX2hl bHBlcl9wcmVwYXJlKHN0cnVjdAo+ZHJtX2NydGMgKmNydGMpCj4gfQo+IAo+IAo+LXN0YXRpYyB2 b2lkIHZtd19zdGR1X2NydGNfaGVscGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4r c3RhdGljIHZvaWQgdm13X3N0ZHVfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPisJCQkJCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+IHsKPiAJc3Ry dWN0IHZtd19wcml2YXRlICpkZXZfcHJpdjsKPiAJc3RydWN0IHZtd19zY3JlZW5fdGFyZ2V0X2Rp c3BsYXlfdW5pdCAqc3RkdTsKPkBAIC0xNDE1LDEyICsxNDE2LDEyIEBAIGRybV9wbGFuZV9oZWxw ZXJfZnVuY3MKPnZtd19zdGR1X3ByaW1hcnlfcGxhbmVfaGVscGVyX2Z1bmNzID0gewo+IAo+IHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIHZtd19zdGR1X2NydGNfaGVs cGVyX2Z1CgotLSAKU2VudCBmcm9tIG15IEFuZHJvaWQgZGV2aWNlIHdpdGggSy05IE1haWwuIFBs ZWFzZSBleGN1c2UgbXkgYnJldml0eS4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==