From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 05/15] drm: drop _mode_ from update_edit_property() Date: Fri, 13 Jul 2018 10:59:06 -0400 Message-ID: <20180713145906.GD20303@art_vandelay> References: <20180709084016.23750-1-daniel.vetter@ffwll.ch> <20180709084016.23750-6-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yw0-x241.google.com (mail-yw0-x241.google.com [IPv6:2607:f8b0:4002:c05::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 61DEA6ED3F for ; Fri, 13 Jul 2018 14:59:08 +0000 (UTC) Received: by mail-yw0-x241.google.com with SMTP id w76-v6so11822354ywg.4 for ; Fri, 13 Jul 2018 07:59:08 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180709084016.23750-6-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , DRI Development List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBKdWwgMDksIDIwMTggYXQgMTA6NDA6MDZBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBKdXN0IG1ha2VzIGl0IGxvbmdlciwgYW5kIGZvciBtb3N0IHRoaW5ncyBpbiBkcm1f Y29ubmVjdG9yLltoY10gd2UKPiBqdXN0IHVzZSB0aGUgZHJtX2Nvbm5lY3Rvcl8gcHJlZml4LiBE b25lIHdpdGggc2VkICsgYSBiaXQgb2YgbWFudWFsCj4gZml4dXAgZm9yIHRoZSBpbmRlbnRpbmcu Cj4gCj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5j b20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jb25uZWN0b3Jz LmMgICAgICAgICAgICB8IDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbS5jICAgICAgICAgfCA0ICsrLS0KPiAgLi4uL2dwdS9kcm0vYW1kL2Rp c3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYyAgIHwgNCArKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQg KystLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYyAgICAg ICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4 eC5jICAgICAgICAgICAgICAgICB8IDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fu YWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYyAgICAgICAgfCA0ICsrLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9kdW1iLXZnYS1kYWMuYyAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vYnJpZGdlL21lZ2FjaGlwcy1zdGRweHh4eC1nZS1iODUwdjMtZncuYyAg fCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbnhwLXB0bjM0NjAuYyAgICAgICAgICAg ICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL2R3LWhkbWkuYyAgICAgICAgICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvdGMzNTg3NjcuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJp dmVycy9ncHUvZHJtL2JyaWRnZS90aS10ZnA0MTAuYyAgICAgICAgICAgICAgICAgICAgICAgIHwg MiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCA4ICsrKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZGVidWdmcy5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJt X3Byb2JlX2hlbHBlci5jICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMgICAgICAgICAgICAgICAgICB8IDIgKy0K PiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jICAgICAgICAgICAgICAgICAg ICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9kcC5jICAgICAg ICAgICAgICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVs X2hkbWkuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2dtYTUw MC9vYWt0cmFpbF9oZG1pLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dw dS9kcm0vZ21hNTAwL29ha3RyYWlsX2x2ZHMuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCj4g IGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX21vZGVzLmMgICAgICAgICAgICAgICAg ICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfaW50ZWxfc2R2by5jICAgICAg ICAgICAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMg ICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHZkcy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2Rlcy5jICAgICAgICAgICAgICAgICAgICAgICAg fCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgICAgICAgICAgICAg ICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtbGRiLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaW14L2lteC10 dmUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMgICAgICAgICAgICAgICAgICAgICAgIHwg MiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyAgICAgICAgICAg ICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZWRwL2VkcF9jb25uZWN0b3Iu YyAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hk bWlfY29ubmVjdG9yLmMgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9kaXNwbnY1MC9kaXNwLmMgICAgICAgICAgICAgICAgICAgfCAyICstCj4gIGRyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfY29ubmVjdG9yLmMgICAgICAgICAgICAgICB8IDgg KysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYyAgICAg ICAgICAgICAgICAgIHwgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1w bGUuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fY29ubmVjdG9ycy5jICAgICAgICAgICAgICAgIHwgNCArKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2RwX21zdC5jICAgICAgICAgICAgICAgICAgICB8IDQgKyst LQo+ICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvY2RuLWRwLWNvcmUuYyAgICAgICAgICAgICAg ICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyAgICAg ICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3Vu NGkvc3VuNGlfaGRtaV9lbmMuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS90ZWdyYS9vdXRwdXQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0K PiAgZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfdGZwNDEwLmMgICAgICAgICAgICAgICAg ICAgIHwgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9jb25uZWN0b3IuYyAgICAgICAg ICAgICAgICAgICAgICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3p0ZS96 eF9oZG1pLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBkcml2ZXJzL2dw dS9kcm0venRlL3p4X3ZnYS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCj4g IGRyaXZlcnMvc3RhZ2luZy92Ym94dmlkZW8vdmJveF9tb2RlLmMgICAgICAgICAgICAgICAgICAg ICB8IDIgKy0KCklzIHRoaXMgYW55IGNsb3NlciB0byBncmFkdWF0aW5nIGZyb20gc3RhZ2luZz8g RnJvbSBhIGdsYW5jZSBhdCB0aGUgaGlzdG9yeSwgaXQKZG9lc24ndCBzZWVtIGxpa2UgaXQncyBt b3ZlZCBjbG9zZXIgaW4gYSB2ZXJ5IGxvbmcgdGltZS4KCkFueXdheXMsIAoKUmV2aWV3ZWQtYnk6 IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgoKCj4gIGluY2x1ZGUvZHJtL2RybV9j b25uZWN0b3IuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDYgKysrLS0tCj4gIGlu Y2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVzLmggICAgICAgICAgICAgICAgICB8 IDIgKy0KPiAgNTYgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgNzQgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9j b25uZWN0b3JzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY29ubmVjdG9y cy5jCj4gaW5kZXggODgxZjdjYjdhZTZlLi5jNzcwZDczMzUyYTcgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nvbm5lY3RvcnMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jb25uZWN0b3JzLmMKPiBAQCAtMzM0LDExICsz MzQsMTEgQEAgc3RhdGljIGludCBhbWRncHVfY29ubmVjdG9yX2RkY19nZXRfbW9kZXMoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCWludCByZXQ7Cj4gIAo+ICAJaWYgKGFtZGdw dV9jb25uZWN0b3ItPmVkaWQpIHsKPiAtCQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRf cHJvcGVydHkoY29ubmVjdG9yLCBhbWRncHVfY29ubmVjdG9yLT5lZGlkKTsKPiArCQlkcm1fY29u bmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgYW1kZ3B1X2Nvbm5lY3Rvci0+ ZWRpZCk7Cj4gIAkJcmV0ID0gZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgYW1kZ3B1X2Nv bm5lY3Rvci0+ZWRpZCk7Cj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAtCWRybV9tb2RlX2Nvbm5l Y3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIE5VTEwpOwo+ICsJZHJtX2Nvbm5l Y3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIE5VTEwpOwo+ICAJcmV0dXJuIDA7 Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRn cHVfZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2Rt L2FtZGdwdV9kbS5jCj4gaW5kZXggZjBmYzMwNjdhYjVkLi5iOTNmYTRiMzg0MWYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMK PiBAQCAtOTAwLDE0ICs5MDAsMTQgQEAgYW1kZ3B1X2RtX3VwZGF0ZV9jb25uZWN0b3JfYWZ0ZXJf ZGV0ZWN0KHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9yICphY29ubmVjdG9yKQo+ICAJCQkJKHN0 cnVjdCBlZGlkICopIHNpbmstPmRjX2VkaWQucmF3X2VkaWQ7Cj4gIAo+ICAKPiAtCQkJZHJtX21v ZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwKPiArCQkJZHJtX2Nv bm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gIAkJCQkJYWNvbm5lY3Rv ci0+ZWRpZCk7Cj4gIAkJfQo+ICAJCWFtZGdwdV9kbV9hZGRfc2lua190b19mcmVlc3luY19tb2R1 bGUoY29ubmVjdG9yLCBhY29ubmVjdG9yLT5lZGlkKTsKPiAgCj4gIAl9IGVsc2Ugewo+ICAJCWFt ZGdwdV9kbV9yZW1vdmVfc2lua19mcm9tX2ZyZWVzeW5jX21vZHVsZShjb25uZWN0b3IpOwo+IC0J CWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIE5VTEwp Owo+ICsJCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBOVUxM KTsKPiAgCQlhY29ubmVjdG9yLT5udW1fbW9kZXMgPSAwOwo+ICAJCWFjb25uZWN0b3ItPmRjX3Np bmsgPSBOVUxMOwo+ICAJCWFjb25uZWN0b3ItPmVkaWQgPSBOVUxMOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90 eXBlcy5jCj4gaW5kZXggNDMwNGQ5ZTQwOGI4Li41ODFiYjc1ZDA4ZWIgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5cGVz LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9k bV9tc3RfdHlwZXMuYwo+IEBAIC0yMzMsNyArMjMzLDcgQEAgc3RhdGljIGludCBkbV9kcF9tc3Rf Z2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJZWRpZCA9IGRy bV9kcF9tc3RfZ2V0X2VkaWQoY29ubmVjdG9yLCAmYWNvbm5lY3Rvci0+bXN0X3BvcnQtPm1zdF9t Z3IsIGFjb25uZWN0b3ItPnBvcnQpOwo+ICAKPiAgCQlpZiAoIWVkaWQpIHsKPiAtCQkJZHJtX21v ZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KAo+ICsJCQlkcm1fY29ubmVjdG9yX3Vw ZGF0ZV9lZGlkX3Byb3BlcnR5KAo+ICAJCQkJJmFjb25uZWN0b3ItPmJhc2UsCj4gIAkJCQlOVUxM KTsKPiAgCQkJcmV0dXJuIHJldDsKPiBAQCAtMjYxLDcgKzI2MSw3IEBAIHN0YXRpYyBpbnQgZG1f ZHBfbXN0X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJCQkJ CWNvbm5lY3RvciwgYWNvbm5lY3Rvci0+ZWRpZCk7Cj4gIAl9Cj4gIAo+IC0JZHJtX21vZGVfY29u bmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KAo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRp ZF9wcm9wZXJ0eSgKPiAgCQkJCQkmYWNvbm5lY3Rvci0+YmFzZSwgYWNvbm5lY3Rvci0+ZWRpZCk7 Cj4gIAo+ICAJcmV0ID0gZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgYWNvbm5lY3Rvci0+ ZWRpZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYwo+IGluZGV4IDAzNmRmZjhhMWYzMy4uMWJiODE3 NGFkMTU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYwo+IEBAIC03OTAsMTIgKzc5MCwxMiBA QCBzdGF0aWMgaW50IGFzdF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKPiAgCWlmICghZmxhZ3MpCj4gIAkJZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsICZh c3RfY29ubmVjdG9yLT5pMmMtPmFkYXB0ZXIpOwo+ICAJaWYgKGVkaWQpIHsKPiAtCQlkcm1fbW9k ZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoJmFzdF9jb25uZWN0b3ItPmJhc2UsIGVk aWQpOwo+ICsJCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoJmFzdF9jb25uZWN0 b3ItPmJhc2UsIGVkaWQpOwo+ICAJCXJldCA9IGRybV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3Is IGVkaWQpOwo+ICAJCWtmcmVlKGVkaWQpOwo+ICAJCXJldHVybiByZXQ7Cj4gIAl9IGVsc2UKPiAt CQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoJmFzdF9jb25uZWN0b3It PmJhc2UsIE5VTEwpOwo+ICsJCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoJmFz dF9jb25uZWN0b3ItPmJhc2UsIE5VTEwpOwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMKPiBpbmRleCA3MzAyMWIz ODhlMTIuLjFmNDc0NTk1M2FjYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2Fkdjc1MTEvYWR2NzUxMV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2 NzUxMS9hZHY3NTExX2Rydi5jCj4gQEAgLTYwMSw3ICs2MDEsNyBAQCBzdGF0aWMgaW50IGFkdjc1 MTFfZ2V0X21vZGVzKHN0cnVjdCBhZHY3NTExICphZHY3NTExLAo+ICAJCV9fYWR2NzUxMV9wb3dl cl9vZmYoYWR2NzUxMSk7Cj4gIAo+ICAKPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRp ZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRp ZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICAJY291bnQgPSBkcm1fYWRkX2VkaWRfbW9k ZXMoY29ubmVjdG9yLCBlZGlkKTsKPiAgCj4gIAlhZHY3NTExX3NldF9jb25maWdfY3NjKGFkdjc1 MTEsIGNvbm5lY3RvciwgYWR2NzUxMS0+cmdiLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5h bG9naXgtYW54Nzh4eC5jCj4gaW5kZXggYjQ5MDQzODY2YmU2Li4zN2Y5NDdkY2FkZWMgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYwo+IEBAIC05NjksOCAr OTY5LDggQEAgc3RhdGljIGludCBhbng3OHh4X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQo+ICAJCWdvdG8gdW5sb2NrOwo+ICAJfQo+ICAKPiAtCWVyciA9IGRybV9t b2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gLQkJCQkJCSAg ICAgIGFueDc4eHgtPmVkaWQpOwo+ICsJZXJyID0gZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9w cm9wZXJ0eShjb25uZWN0b3IsCj4gKwkJCQkJCSBhbng3OHh4LT5lZGlkKTsKPiAgCWlmIChlcnIp IHsKPiAgCQlEUk1fRVJST1IoIkZhaWxlZCB0byB1cGRhdGUgRURJRCBwcm9wZXJ0eTogJWRcbiIs IGVycik7Cj4gIAkJZ290byB1bmxvY2s7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKPiBpbmRleCAyYmNiZmFkYjZhYzUuLjI4OGMw MTVmNzQ2MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2Fu YWxvZ2l4X2RwX2NvcmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgv YW5hbG9naXhfZHBfY29yZS5jCj4gQEAgLTExMTksOCArMTExOSw4IEBAIHN0YXRpYyBpbnQgYW5h bG9naXhfZHBfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJ ZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsICZkcC0+YXV4LmRkYyk7Cj4gIAkJcG1fcnVu dGltZV9wdXQoZHAtPmRldik7Cj4gIAkJaWYgKGVkaWQpIHsKPiAtCQkJZHJtX21vZGVfY29ubmVj dG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KCZkcC0+Y29ubmVjdG9yLAo+IC0JCQkJCQkJCWVkaWQp Owo+ICsJCQlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KCZkcC0+Y29ubmVjdG9y LAo+ICsJCQkJCQkJICAgZWRpZCk7Cj4gIAkJCW51bV9tb2RlcyArPSBkcm1fYWRkX2VkaWRfbW9k ZXMoJmRwLT5jb25uZWN0b3IsIGVkaWQpOwo+ICAJCQlrZnJlZShlZGlkKTsKPiAgCQl9Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZHVtYi12Z2EtZGFjLmMgYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2R1bWItdmdhLWRhYy5jCj4gaW5kZXggOTgzN2M4ZDY5ZTY5Li5kYTk5 YjhiYTRlZTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9kdW1iLXZnYS1k YWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZHVtYi12Z2EtZGFjLmMKPiBAQCAt NTUsNyArNTUsNyBAQCBzdGF0aWMgaW50IGR1bWJfdmdhX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICAJCWdvdG8gZmFsbGJhY2s7Cj4gIAl9Cj4gIAo+IC0JZHJt X21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7Cj4g Kwlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7Cj4g IAlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsKPiAgCWtmcmVlKGVk aWQpOwo+ICAJcmV0dXJuIHJldDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9tZWdhY2hpcHMtc3RkcHh4eHgtZ2UtYjg1MHYzLWZ3LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL21lZ2FjaGlwcy1zdGRweHh4eC1nZS1iODUwdjMtZncuYwo+IGluZGV4IDdjY2FkYmE3Yzk4 Yy4uYjQ5YjU0M2JkMWY2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbWVn YWNoaXBzLXN0ZHB4eHh4LWdlLWI4NTB2My1mdy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9tZWdhY2hpcHMtc3RkcHh4eHgtZ2UtYjg1MHYzLWZ3LmMKPiBAQCAtMTUyLDcgKzE1Miw3 IEBAIHN0YXRpYyBpbnQgZ2VfYjg1MHYzX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCj4gIAlnZV9iODUwdjNfbHZkc19wdHItPmVkaWQgPSAoc3RydWN0IGVk aWQgKilzdGRwMjY5MF9nZXRfZWRpZChjbGllbnQpOwo+ICAKPiAgCWlmIChnZV9iODUwdjNfbHZk c19wdHItPmVkaWQpIHsKPiAtCQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVy dHkoY29ubmVjdG9yLAo+ICsJCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29u bmVjdG9yLAo+ICAJCQkJCQkgICAgICBnZV9iODUwdjNfbHZkc19wdHItPmVkaWQpOwo+ICAJCW51 bV9tb2RlcyA9IGRybV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsCj4gIAkJCQkJICAgICAgIGdl X2I4NTB2M19sdmRzX3B0ci0+ZWRpZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvbnhwLXB0bjM0NjAuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbnhwLXB0bjM0NjAu Ywo+IGluZGV4IGQ2NGEzMjgzODIyYS4uYmQ1YzE5MTg1OGNiIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvbnhwLXB0bjM0NjAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvbnhwLXB0bjM0NjAuYwo+IEBAIC0yMjIsNyArMjIyLDcgQEAgc3RhdGljIGludCBwdG4z NDYwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJfQo+ICAK PiAgCXB0bl9icmlkZ2UtPmVkaWQgPSAoc3RydWN0IGVkaWQgKillZGlkOwo+IC0JZHJtX21vZGVf Y29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgcHRuX2JyaWRnZS0+ZWRp ZCk7Cj4gKwlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgcHRu X2JyaWRnZS0+ZWRpZCk7Cj4gIAo+ICAJbnVtX21vZGVzID0gZHJtX2FkZF9lZGlkX21vZGVzKGNv bm5lY3RvciwgcHRuX2JyaWRnZS0+ZWRpZCk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL3NpaTkwMnguYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5j Cj4gaW5kZXggNjAzNzNkN2ViMjIwLi5jZDMzMTkzM2MyMzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3NpaTkwMnguYwo+IEBAIC0xNzAsNyArMTcwLDcgQEAgc3RhdGljIGludCBzaWk5MDJ4X2dldF9t b2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJCXJldHVybiByZXQ7Cj4g IAo+ICAJZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsIHNpaTkwMngtPmkyYy0+YWRhcHRl cik7Cj4gLQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9y LCBlZGlkKTsKPiArCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9y LCBlZGlkKTsKPiAgCWlmIChlZGlkKSB7Cj4gIAkJbnVtID0gZHJtX2FkZF9lZGlkX21vZGVzKGNv bm5lY3RvciwgZWRpZCk7Cj4gIAkJa2ZyZWUoZWRpZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiBpbmRleCAzYzEzNmYyYjk1NGYuLmFiMzJhY2ViNmYyNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4gQEAgLTE5 MjIsNyArMTkyMiw3IEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICAJCWhkbWktPnNpbmtfaXNfaGRt aSA9IGRybV9kZXRlY3RfaGRtaV9tb25pdG9yKGVkaWQpOwo+ICAJCWhkbWktPnNpbmtfaGFzX2F1 ZGlvID0gZHJtX2RldGVjdF9tb25pdG9yX2F1ZGlvKGVkaWQpOwo+IC0JCWRybV9tb2RlX2Nvbm5l Y3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICsJCWRybV9jb25u ZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiAgCQljZWNfbm90 aWZpZXJfc2V0X3BoeXNfYWRkcl9mcm9tX2VkaWQoaGRtaS0+Y2VjX25vdGlmaWVyLCBlZGlkKTsK PiAgCQlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsKPiAgCQlrZnJl ZShlZGlkKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2Ny5j IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2Ny5jCj4gaW5kZXggMGZkOWNmMjc1NDJj Li5lZTJmZDBhMzQ5YjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1 ODc2Ny5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2Ny5jCj4gQEAgLTEx NDAsNyArMTE0MCw3IEBAIHN0YXRpYyBpbnQgdGNfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJaWYgKCFlZGlkKQo+ICAJCXJldHVybiAwOwo+ ICAKPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3Is IGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3Is IGVkaWQpOwo+ICAJY291bnQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsK PiAgCj4gIAlyZXR1cm4gY291bnQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvdGktdGZwNDEwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RpLXRmcDQxMC5jCj4gaW5k ZXggYWNiODU3MDMwOTUxLi5jODFiZjc5MTBiYmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS90aS10ZnA0MTAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGkt dGZwNDEwLmMKPiBAQCAtNjIsNyArNjIsNyBAQCBzdGF0aWMgaW50IHRmcDQxMF9nZXRfbW9kZXMo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCQlnb3RvIGZhbGxiYWNrOwo+ICAJ fQo+ICAKPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0 b3IsIGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0 b3IsIGVkaWQpOwo+ICAKPiAgCXJldHVybiBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBl ZGlkKTsKPiAgZmFsbGJhY2s6Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29u bmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gaW5kZXggZGM1YTQ4 MDIwMGQ4Li5jY2I3MGE0NDkwZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9j b25uZWN0b3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiBAQCAt ODE4LDcgKzgxOCw3IEBAIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9jb250ZW50X3Byb3RlY3Rp b25fbmFtZSwgZHJtX2NwX2VudW1fbGlzdCkKPiAgICogCUJsb2IgcHJvcGVydHkgd2hpY2ggY29u dGFpbnMgdGhlIGN1cnJlbnQgRURJRCByZWFkIGZyb20gdGhlIHNpbmsuIFRoaXMKPiAgICogCWlz IHVzZWZ1bCB0byBwYXJzZSBzaW5rIGlkZW50aWZpY2F0aW9uIGluZm9ybWF0aW9uIGxpa2UgdmVu ZG9yLCBtb2RlbAo+ICAgKiAJYW5kIHNlcmlhbC4gRHJpdmVycyBzaG91bGQgdXBkYXRlIHRoaXMg cHJvcGVydHkgYnkgY2FsbGluZwo+IC0gKiAJZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlk X3Byb3BlcnR5KCksIHVzdWFsbHkgYWZ0ZXIgaGF2aW5nIHBhcnNlZAo+ICsgKiAJZHJtX2Nvbm5l Y3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSgpLCB1c3VhbGx5IGFmdGVyIGhhdmluZyBwYXJzZWQK PiAgICogCXRoZSBFRElEIHVzaW5nIGRybV9hZGRfZWRpZF9tb2RlcygpLiBVc2Vyc3BhY2UgY2Fu bm90IGNoYW5nZSB0aGlzCj4gICAqIAlwcm9wZXJ0eS4KPiAgICogRFBNUzoKPiBAQCAtMTUwMSw3 ICsxNTAxLDcgQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2Nv bm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eSk7Cj4gIAo+ICAvKioKPiAtICogZHJtX21vZGVfY29u bmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5IC0gdXBkYXRlIHRoZSBlZGlkIHByb3BlcnR5IG9m IGEgY29ubmVjdG9yCj4gKyAqIGRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkgLSB1 cGRhdGUgdGhlIGVkaWQgcHJvcGVydHkgb2YgYSBjb25uZWN0b3IKPiAgICogQGNvbm5lY3Rvcjog ZHJtIGNvbm5lY3Rvcgo+ICAgKiBAZWRpZDogbmV3IHZhbHVlIG9mIHRoZSBlZGlkIHByb3BlcnR5 Cj4gICAqCj4gQEAgLTE1MTEsNyArMTUxMSw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfY29u bmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KTsKPiAgICogUmV0dXJuczoKPiAgICogWmVybyBvbiBz dWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgo+ICAgKi8KPiAtaW50IGRybV9tb2Rl X2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ICtpbnQgZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZWRpZCAq ZWRpZCkKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ IEBAIC0xNTUwLDcgKzE1NTAsNyBAQCBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlk X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXYtPm1vZGVfY29uZmlnLmVkaWRfcHJvcGVy dHkpOwo+ICAJcmV0dXJuIHJldDsKPiAgfQo+IC1FWFBPUlRfU1lNQk9MKGRybV9tb2RlX2Nvbm5l Y3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSk7Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rv cl91cGRhdGVfZWRpZF9wcm9wZXJ0eSk7Cj4gIAo+ICAvKioKPiAgICogZHJtX21vZGVfY29ubmVj dG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eSAtIFNldCBsaW5rIHN0YXR1cyBwcm9wZXJ0eSBv ZiBhIGNvbm5lY3Rvcgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RlYnVnZnMu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZGVidWdmcy5jCj4gaW5kZXggYjI0ODI4MThmZWU4Li5k ZjhjYTQ1NDhmOWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kZWJ1Z2ZzLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RlYnVnZnMuYwo+IEBAIC0zMDcsMTMgKzMwNywx MyBAQCBzdGF0aWMgc3NpemVfdCBlZGlkX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBj aGFyIF9fdXNlciAqdWJ1ZiwKPiAgCj4gIAlpZiAobGVuID09IDUgJiYgIXN0cm5jbXAoYnVmLCAi cmVzZXQiLCA1KSkgewo+ICAJCWNvbm5lY3Rvci0+b3ZlcnJpZGVfZWRpZCA9IGZhbHNlOwo+IC0J CXJldCA9IGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3Is IE5VTEwpOwo+ICsJCXJldCA9IGRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29u bmVjdG9yLCBOVUxMKTsKPiAgCX0gZWxzZSBpZiAobGVuIDwgRURJRF9MRU5HVEggfHwKPiAgCQkg ICBFRElEX0xFTkdUSCAqICgxICsgZWRpZC0+ZXh0ZW5zaW9ucykgPiBsZW4pCj4gIAkJcmV0ID0g LUVJTlZBTDsKPiAgCWVsc2Ugewo+ICAJCWNvbm5lY3Rvci0+b3ZlcnJpZGVfZWRpZCA9IGZhbHNl Owo+IC0JCXJldCA9IGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25u ZWN0b3IsIGVkaWQpOwo+ICsJCXJldCA9IGRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVy dHkoY29ubmVjdG9yLCBlZGlkKTsKPiAgCQlpZiAoIXJldCkKPiAgCQkJY29ubmVjdG9yLT5vdmVy cmlkZV9lZGlkID0gdHJ1ZTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9wcm9iZV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKPiBp bmRleCAxYTkwMWZlOWUyM2UuLjM0NzBjYTUwN2RmMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9i ZV9oZWxwZXIuYwo+IEBAIC00NzEsNyArNDcxLDcgQEAgaW50IGRybV9oZWxwZXJfcHJvYmVfc2lu Z2xlX2Nvbm5lY3Rvcl9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJ aWYgKGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkKSB7 Cj4gIAkJRFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjolZDolc10gZGlzY29ubmVjdGVkXG4iLAo+ ICAJCQljb25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0+bmFtZSk7Cj4gLQkJZHJtX21vZGVf Y29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgTlVMTCk7Cj4gKwkJZHJt X2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIE5VTEwpOwo+ICAJCXZl cmJvc2VfcHJ1bmUgPSBmYWxzZTsKPiAgCQlnb3RvIHBydW5lOwo+ICAJfQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwo+IGluZGV4IGU2YjA5NDBiMWFjMi4uZGZlYTYx ZWRiYTRhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92 aWRpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCj4g QEAgLTMxOSw3ICszMTksNyBAQCBzdGF0aWMgaW50IHZpZGlfZ2V0X21vZGVzKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAl9Cj4gIAo+IC0J ZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7 Cj4gKwlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7 Cj4gIAo+ICAJcmV0dXJuIGRybV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ICB9 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwo+IGluZGV4IGRiOTE5MzI1NTBjZi4u NjY3MmQwZmYwNDIzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwo+IEBA IC04ODgsNyArODg4LDcgQEAgc3RhdGljIGludCBoZG1pX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICAJCShoZGF0YS0+ZHZpX21vZGUgPyAiZHZpIG1vbml0b3Ii IDogImhkbWkgbW9uaXRvciIpLAo+ICAJCWVkaWQtPndpZHRoX2NtLCBlZGlkLT5oZWlnaHRfY20p Owo+ICAKPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0 b3IsIGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0 b3IsIGVkaWQpOwo+ICAJY2VjX25vdGlmaWVyX3NldF9waHlzX2FkZHJfZnJvbV9lZGlkKGhkYXRh LT5ub3RpZmllciwgZWRpZCk7Cj4gIAo+ICAJcmV0ID0gZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5l Y3RvciwgZWRpZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2lu dGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9kcC5jCj4gaW5kZXgg NWVhNzg1ZjA3YmE4Li45MGVkMjAwODMwMDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2dtYTUwMC9jZHZfaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2 X2ludGVsX2RwLmMKPiBAQCAtMTc3MCw3ICsxNzcwLDcgQEAgc3RhdGljIGludCBjZHZfaW50ZWxf ZHBfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICAJZWRp ZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsICZpbnRlbF9kcC0+YWRhcHRlcik7Cj4gIAlpZiAo ZWRpZCkgewo+IC0JCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25u ZWN0b3IsIGVkaWQpOwo+ICsJCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29u bmVjdG9yLCBlZGlkKTsKPiAgCQlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBl ZGlkKTsKPiAgCQlrZnJlZShlZGlkKTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2dtYTUwMC9jZHZfaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9jZHZf aW50ZWxfaGRtaS5jCj4gaW5kZXggZjA4Nzg5OTg1MjZhLi40ZTRlNGE2NmVhZWUgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9jZHZfaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2dtYTUwMC9jZHZfaW50ZWxfaGRtaS5jCj4gQEAgLTIxNiw3ICsyMTYsNyBA QCBzdGF0aWMgaW50IGNkdl9oZG1pX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+ICAKPiAgCWVkaWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCAmZ21hX2VuY29k ZXItPmkyY19idXMtPmFkYXB0ZXIpOwo+ICAJaWYgKGVkaWQpIHsKPiAtCQlkcm1fbW9kZV9jb25u ZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiArCQlkcm1fY29u bmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7Cj4gIAkJcmV0ID0g ZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgZWRpZCk7Cj4gIAkJa2ZyZWUoZWRpZCk7Cj4g IAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfaGRtaS5j IGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9oZG1pLmMKPiBpbmRleCA3ODU2NmE4 MGFkMjUuLmM2ZDcyZGUxYzA1NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAw L29ha3RyYWlsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxf aGRtaS5jCj4gQEAgLTU3OCw3ICs1NzgsNyBAQCBzdGF0aWMgaW50IG9ha3RyYWlsX2hkbWlfZ2V0 X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAl9Cj4gIAo+ICAJaWYg KGVkaWQpIHsKPiAtCQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29u bmVjdG9yLCBlZGlkKTsKPiArCQlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNv bm5lY3RvciwgZWRpZCk7Cj4gIAkJcmV0ID0gZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3Rvciwg ZWRpZCk7Cj4gIAl9Cj4gIAlyZXR1cm4gcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZ21hNTAwL29ha3RyYWlsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJh aWxfbHZkcy5jCj4gaW5kZXggZTY5NDNmZWYwNjExLi44M2JhYmI4MTVhNWQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9sdmRzLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2x2ZHMuYwo+IEBAIC0zNzYsNyArMzc2LDcgQEAgdm9p ZCBvYWt0cmFpbF9sdmRzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCSAqIHByZWZl cnJlZCBtb2RlIGlzIHRoZSByaWdodCBvbmUuCj4gIAkgKi8KPiAgCWlmIChlZGlkKSB7Cj4gLQkJ ZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7 Cj4gKwkJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQp Owo+ICAJCWRybV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ICAJCWtmcmVlKGVk aWQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfaW50ZWxf bW9kZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX21vZGVzLmMKPiBpbmRl eCBlNTM2MDcyNmQ4MGIuLmZiNGRhM2NkNjY4MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZ21hNTAwL3BzYl9pbnRlbF9tb2Rlcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUw MC9wc2JfaW50ZWxfbW9kZXMuYwo+IEBAIC02Niw3ICs2Niw3IEBAIGludCBwc2JfaW50ZWxfZGRj X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAKPiAgCWVkaWQg PSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCBhZGFwdGVyKTsKPiAgCWlmIChlZGlkKSB7Cj4gLQkJ ZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7 Cj4gKwkJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQp Owo+ICAJCXJldCA9IGRybV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ICAJCWtm cmVlKGVkaWQpOwo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3Bz Yl9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9zZHZvLmMK PiBpbmRleCAxZDQwNzQ2YWI2MjUuLmRkM2NlYzBlMzE5MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9zZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v Z21hNTAwL3BzYl9pbnRlbF9zZHZvLmMKPiBAQCAtMTQ3Miw3ICsxNDcyLDcgQEAgc3RhdGljIHZv aWQgcHNiX2ludGVsX3Nkdm9fZ2V0X2RkY19tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+ICAJCWJvb2wgY29ubmVjdG9yX2lzX2RpZ2l0YWwgPSAhIUlTX1RNRFMocHNiX2lu dGVsX3Nkdm9fY29ubmVjdG9yKTsKPiAgCj4gIAkJaWYgKGNvbm5lY3Rvcl9pc19kaWdpdGFsID09 IG1vbml0b3JfaXNfZGlnaXRhbCkgewo+IC0JCQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2Vk aWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiArCQkJZHJtX2Nvbm5lY3Rvcl91cGRhdGVf ZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICAJCQlkcm1fYWRkX2VkaWRfbW9kZXMo Y29ubmVjdG9yLCBlZGlkKTsKPiAgCQl9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMK PiBpbmRleCAwMDM4Yzk3NjUzNmEuLmQ0MzRmNTc2ZTZiMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3Rk YTk5OHhfZHJ2LmMKPiBAQCAtMTI0Myw3ICsxMjQzLDcgQEAgc3RhdGljIGludCB0ZGE5OTh4X2Nv bm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCQly ZXR1cm4gMDsKPiAgCX0KPiAgCj4gLQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJv cGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiArCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJv cGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiAgCW4gPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVj dG9yLCBlZGlkKTsKPiAgCj4gIAlrZnJlZShlZGlkKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK PiBpbmRleCA1YmUwN2UxZDgxNmQuLjJmM2U5MjE2N2M1ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwo+IEBAIC02MjEyLDcgKzYyMTIsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5p dF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCWVkaWQgPSBkcm1fZ2V0 X2VkaWQoY29ubmVjdG9yLCAmaW50ZWxfZHAtPmF1eC5kZGMpOwo+ICAJaWYgKGVkaWQpIHsKPiAg CQlpZiAoZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgZWRpZCkpIHsKPiAtCQkJZHJtX21v ZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwKPiArCQkJZHJtX2Nv bm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gIAkJCQkJCQkJZWRpZCk7 Cj4gIAkJfSBlbHNlIHsKPiAgCQkJa2ZyZWUoZWRpZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2 ZHMuYwo+IGluZGV4IGJiMDY3NDRkMjhhNC4uY2E1NWIwYTgyYmE2IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2x2ZHMuYwo+IEBAIC0xMTMxLDcgKzExMzEsNyBAQCB2b2lkIGludGVsX2x2ZHNf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJCQkgICAgaW50ZWxf Z21idXNfZ2V0X2FkYXB0ZXIoZGV2X3ByaXYsIHBpbikpOwo+ICAJaWYgKGVkaWQpIHsKPiAgCQlp ZiAoZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgZWRpZCkpIHsKPiAtCQkJZHJtX21vZGVf Y29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwKPiArCQkJZHJtX2Nvbm5l Y3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gIAkJCQkJCQkJZWRpZCk7Cj4g IAkJfSBlbHNlIHsKPiAgCQkJa2ZyZWUoZWRpZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX21vZGVzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2Rl cy5jCj4gaW5kZXggYjM5ODQ2NjEzZTNjLi5jYTQ0YmYzNjhlMjQgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX21vZGVzLmMKPiBAQCAtNDAsNyArNDAsNyBAQCBpbnQgaW50ZWxfY29ubmVjdG9y X3VwZGF0ZV9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICB7Cj4gIAlp bnQgcmV0Owo+ICAKPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShj b25uZWN0b3IsIGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShj b25uZWN0b3IsIGVkaWQpOwo+ICAJcmV0ID0gZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3Rvciwg ZWRpZCk7Cj4gIAo+ICAJcmV0dXJuIHJldDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4g aW5kZXggMzk2Y2I1OWNhNGI4Li44MTJmZTdiMDZmODcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc2R2by5jCj4gQEAgLTE5MTEsNyArMTkxMSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9f Z2V0X2RkY19tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJaWYgKGVk aWQgIT0gTlVMTCkgewo+ICAJCWlmIChpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9tYXRjaGVzX2VkaWQo dG9faW50ZWxfc2R2b19jb25uZWN0b3IoY29ubmVjdG9yKSwKPiAgCQkJCQkJICAgICAgZWRpZCkp IHsKPiAtCQkJZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3Rv ciwgZWRpZCk7Cj4gKwkJCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVj dG9yLCBlZGlkKTsKPiAgCQkJZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgZWRpZCk7Cj4g IAkJfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtbGRiLmMgYi9k cml2ZXJzL2dwdS9kcm0vaW14L2lteC1sZGIuYwo+IGluZGV4IDU2ZGQ3YTlhOGUyNS4uYWU4MWNi Yjc1ZjUxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtbGRiLmMKPiBAQCAtMTQzLDcgKzE0Myw3IEBAIHN0 YXRpYyBpbnQgaW14X2xkYl9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpCj4gIAkJaW14X2xkYl9jaC0+ZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0 b3IsIGlteF9sZGJfY2gtPmRkYyk7Cj4gIAo+ICAJaWYgKGlteF9sZGJfY2gtPmVkaWQpIHsKPiAt CQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICsJ CWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICAJCQkJCQkJ aW14X2xkYl9jaC0+ZWRpZCk7Cj4gIAkJbnVtX21vZGVzID0gZHJtX2FkZF9lZGlkX21vZGVzKGNv bm5lY3RvciwgaW14X2xkYl9jaC0+ZWRpZCk7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pbXgvaW14LXR2ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtdHZlLmMKPiBp bmRleCBiYzI3YzI2OTk0NjQuLjFhNGNlZDVjMDliNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaW14L2lteC10dmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LXR2ZS5j Cj4gQEAgLTIzNSw3ICsyMzUsNyBAQCBzdGF0aWMgaW50IGlteF90dmVfY29ubmVjdG9yX2dldF9t b2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAKPiAgCWVkaWQgPSBkcm1f Z2V0X2VkaWQoY29ubmVjdG9yLCB0dmUtPmRkYyk7Cj4gIAlpZiAoZWRpZCkgewo+IC0JCWRybV9t b2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICsJ CWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiAg CQlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsKPiAgCQlrZnJlZShl ZGlkKTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L3BhcmFsbGVsLWRpc3BsYXkuYwo+IGluZGV4 IGFlZGVjZGE5NzI4YS4uNGZjMWNmNTgzNDM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9wYXJh bGxlbC1kaXNwbGF5LmMKPiBAQCAtNjMsNyArNjMsNyBAQCBzdGF0aWMgaW50IGlteF9wZF9jb25u ZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAl9Cj4g IAo+ICAJaWYgKGlteHBkLT5lZGlkKSB7Cj4gLQkJZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9l ZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgaW14cGQtPmVkaWQpOwo+ICsJCWRybV9jb25uZWN0b3Jf dXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBpbXhwZC0+ZWRpZCk7Cj4gIAkJbnVtX21v ZGVzID0gZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgaW14cGQtPmVkaWQpOwo+ICAJfQo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMgYi9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+IGluZGV4IDU5YTExMDI2ZGNlYi4u ODM1MzEzOTQwMzk1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf aGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMKPiBAQCAt MTIyMCw3ICsxMjIwLDcgQEAgc3RhdGljIGludCBtdGtfaGRtaV9jb25uX2dldF9tb2RlcyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubikKPiAgCj4gIAloZG1pLT5kdmlfbW9kZSA9ICFkcm1fZGV0 ZWN0X21vbml0b3JfYXVkaW8oZWRpZCk7Cj4gIAo+IC0JZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0 ZV9lZGlkX3Byb3BlcnR5KGNvbm4sIGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRp ZF9wcm9wZXJ0eShjb25uLCBlZGlkKTsKPiAgCj4gIAlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMo Y29ubiwgZWRpZCk7Cj4gIAlrZnJlZShlZGlkKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2Fn MjAwX21vZGUuYwo+IGluZGV4IDg5MTg1MzlhMTlhYS4uNWYxMDRmMTM5MTk3IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbW9kZS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMKPiBAQCAtMTU1Myw3ICsxNTUzLDcgQEAg c3RhdGljIGludCBtZ2FfdmdhX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICAKPiAgCWVkaWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCAmbWdhX2Nvbm5lY3Rv ci0+aTJjLT5hZGFwdGVyKTsKPiAgCWlmIChlZGlkKSB7Cj4gLQkJZHJtX21vZGVfY29ubmVjdG9y X3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7Cj4gKwkJZHJtX2Nvbm5lY3Rv cl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICAJCXJldCA9IGRybV9h ZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ICAJCWtmcmVlKGVkaWQpOwo+ICAJfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2VkcC9lZHBfY29ubmVjdG9yLmMgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2VkcC9lZHBfY29ubmVjdG9yLmMKPiBpbmRleCA2ZjNmYzZiMGYw YTMuLjBiNWVhYzA1NDE5NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2VkcC9l ZHBfY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2VkcC9lZHBfY29ubmVj dG9yLmMKPiBAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgaW50IGVkcF9jb25uZWN0b3JfZ2V0X21v ZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlpZiAocmV0KQo+ICAJCXJl dHVybiByZXQ7Cj4gIAo+IC0JZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5 KGNvbm5lY3RvciwgZHJtX2VkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9w ZXJ0eShjb25uZWN0b3IsIGRybV9lZGlkKTsKPiAgCWlmIChkcm1fZWRpZCkKPiAgCQlyZXQgPSBk cm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBkcm1fZWRpZCk7Cj4gIAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vaGRtaS9oZG1pX2Nvbm5lY3Rvci5jCj4gaW5kZXggYzA4NDhkZmVkZDUwLi4wN2Zl YWNjNWE0NDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfY29u bmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9jb25uZWN0b3Iu Ywo+IEBAIC0zOTIsNyArMzkyLDcgQEAgc3RhdGljIGludCBtc21faGRtaV9jb25uZWN0b3JfZ2V0 X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAloZG1pX3dyaXRlKGhk bWksIFJFR19IRE1JX0NUUkwsIGhkbWlfY3RybCk7Cj4gIAo+ICAJaGRtaS0+aGRtaV9tb2RlID0g ZHJtX2RldGVjdF9oZG1pX21vbml0b3IoZWRpZCk7Cj4gLQlkcm1fbW9kZV9jb25uZWN0b3JfdXBk YXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiArCWRybV9jb25uZWN0b3JfdXBk YXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiAgCj4gIAlpZiAoZWRpZCkgewo+ ICAJCXJldCA9IGRybV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMgYi9kcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMKPiBpbmRleCBiODM0NjVhZTdjMWIuLjJmYWJi NjllNDUyYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9k aXNwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMKPiBA QCAtODUwLDcgKzg1MCw3IEBAIG52NTBfbXN0Y19nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgCWludCByZXQgPSAwOwo+ICAKPiAgCW1zdGMtPmVkaWQgPSBkcm1f ZHBfbXN0X2dldF9lZGlkKCZtc3RjLT5jb25uZWN0b3IsIG1zdGMtPnBvcnQtPm1nciwgbXN0Yy0+ cG9ydCk7Cj4gLQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoJm1zdGMt PmNvbm5lY3RvciwgbXN0Yy0+ZWRpZCk7Cj4gKwlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3By b3BlcnR5KCZtc3RjLT5jb25uZWN0b3IsIG1zdGMtPmVkaWQpOwo+ICAJaWYgKG1zdGMtPmVkaWQp Cj4gIAkJcmV0ID0gZHJtX2FkZF9lZGlkX21vZGVzKCZtc3RjLT5jb25uZWN0b3IsIG1zdGMtPmVk aWQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9j b25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfY29ubmVjdG9yLmMK PiBpbmRleCBiYjQ2YzFkNDg5Y2YuLjIyYTE1NDc4ZDIzZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Nvbm5lY3Rvci5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbm91dmVhdV9jb25uZWN0b3IuYwo+IEBAIC01NTAsNyArNTUwLDcgQEAgbm91 dmVhdV9jb25uZWN0b3JfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJv b2wgZm9yY2UpCj4gIAo+ICAJLyogQ2xlYW51cCB0aGUgcHJldmlvdXMgRURJRCBibG9jay4gKi8K PiAgCWlmIChudl9jb25uZWN0b3ItPmVkaWQpIHsKPiAtCQlkcm1fbW9kZV9jb25uZWN0b3JfdXBk YXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBOVUxMKTsKPiArCQlkcm1fY29ubmVjdG9yX3Vw ZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgTlVMTCk7Cj4gIAkJa2ZyZWUobnZfY29ubmVj dG9yLT5lZGlkKTsKPiAgCQludl9jb25uZWN0b3ItPmVkaWQgPSBOVUxMOwo+ICAJfQo+IEBAIC01 NzUsNyArNTc1LDcgQEAgbm91dmVhdV9jb25uZWN0b3JfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCj4gIAkJZWxzZQo+ICAJCQludl9jb25uZWN0b3It PmVkaWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCBpMmMpOwo+ICAKPiAtCQlkcm1fbW9kZV9j b25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICsJCWRybV9jb25uZWN0 b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICAJCQkJCQkJbnZfY29ubmVjdG9y LT5lZGlkKTsKPiAgCQlpZiAoIW52X2Nvbm5lY3Rvci0+ZWRpZCkgewo+ICAJCQlOVl9FUlJPUihk cm0sICJEREMgcmVzcG9uZGVkLCBidXQgbm8gRURJRCBmb3IgJXNcbiIsCj4gQEAgLTY1Nyw3ICs2 NTcsNyBAQCBub3V2ZWF1X2Nvbm5lY3Rvcl9kZXRlY3RfbHZkcyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQo+ICAKPiAgCS8qIENsZWFudXAgdGhlIHByZXZpb3Vz IEVESUQgYmxvY2suICovCj4gIAlpZiAobnZfY29ubmVjdG9yLT5lZGlkKSB7Cj4gLQkJZHJtX21v ZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgTlVMTCk7Cj4gKwkJ ZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIE5VTEwpOwo+ICAJ CWtmcmVlKG52X2Nvbm5lY3Rvci0+ZWRpZCk7Cj4gIAkJbnZfY29ubmVjdG9yLT5lZGlkID0gTlVM TDsKPiAgCX0KPiBAQCAtNzIxLDcgKzcyMSw3IEBAIG5vdXZlYXVfY29ubmVjdG9yX2RldGVjdF9s dmRzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCj4gIAkJc3Rh dHVzID0gY29ubmVjdG9yX3N0YXR1c191bmtub3duOwo+ICAjZW5kaWYKPiAgCj4gLQlkcm1fbW9k ZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBudl9jb25uZWN0b3It PmVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3Is IG52X2Nvbm5lY3Rvci0+ZWRpZCk7Cj4gIAlub3V2ZWF1X2Nvbm5lY3Rvcl9zZXRfZW5jb2Rlcihj b25uZWN0b3IsIG52X2VuY29kZXIpOwo+ICAJcmV0dXJuIHN0YXR1czsKPiAgfQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYwo+IGluZGV4IDVjZGUyNmFjOTM3Yi4uMmRk Yjg1NjY2NmM0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29u bmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5j Cj4gQEAgLTEyNiwxNCArMTI2LDE0IEBAIHN0YXRpYyBpbnQgb21hcF9jb25uZWN0b3JfZ2V0X21v ZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICAJCWlmICgoZHNzZHJ2 LT5yZWFkX2VkaWQoZHNzZGV2LCBlZGlkLCBNQVhfRURJRCkgPiAwKSAmJgo+ICAJCQkJZHJtX2Vk aWRfaXNfdmFsaWQoZWRpZCkpIHsKPiAtCQkJZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlk X3Byb3BlcnR5KAo+ICsJCQlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KAo+ICAJ CQkJCWNvbm5lY3RvciwgZWRpZCk7Cj4gIAkJCW4gPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVj dG9yLCBlZGlkKTsKPiAgCj4gIAkJCW9tYXBfY29ubmVjdG9yLT5oZG1pX21vZGUgPQo+ICAJCQkJ ZHJtX2RldGVjdF9oZG1pX21vbml0b3IoZWRpZCk7Cj4gIAkJfSBlbHNlIHsKPiAtCQkJZHJtX21v ZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KAo+ICsJCQlkcm1fY29ubmVjdG9yX3Vw ZGF0ZV9lZGlkX3Byb3BlcnR5KAo+ICAJCQkJCWNvbm5lY3RvciwgTlVMTCk7Cj4gIAkJfQo+ICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jIGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCj4gaW5kZXggYWM2YWFhMTc0YzBiLi4z YzIyOWQxMzQzNTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNp bXBsZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCj4gQEAg LTI1Miw3ICsyNTIsNyBAQCBzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwpCj4gIAkvKiBwcm9iZSBFRElEIGlmIGEgRERDIGJ1cyBpcyBhdmFp bGFibGUgKi8KPiAgCWlmIChwLT5kZGMpIHsKPiAgCQlzdHJ1Y3QgZWRpZCAqZWRpZCA9IGRybV9n ZXRfZWRpZChwYW5lbC0+Y29ubmVjdG9yLCBwLT5kZGMpOwo+IC0JCWRybV9tb2RlX2Nvbm5lY3Rv cl91cGRhdGVfZWRpZF9wcm9wZXJ0eShwYW5lbC0+Y29ubmVjdG9yLCBlZGlkKTsKPiArCQlkcm1f Y29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHBhbmVsLT5jb25uZWN0b3IsIGVkaWQpOwo+ ICAJCWlmIChlZGlkKSB7Cj4gIAkJCW51bSArPSBkcm1fYWRkX2VkaWRfbW9kZXMocGFuZWwtPmNv bm5lY3RvciwgZWRpZCk7Cj4gIAkJCWtmcmVlKGVkaWQpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMKPiBpbmRleCAwNjU1Njk4ZjI5NTYuLjQxNDY0MmU1Yjdh MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3Jz LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMKPiBA QCAtMzY4LDExICszNjgsMTEgQEAgc3RhdGljIGludCByYWRlb25fZGRjX2dldF9tb2RlcyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJaW50IHJldDsKPiAgCj4gIAlpZiAocmFk ZW9uX2Nvbm5lY3Rvci0+ZWRpZCkgewo+IC0JCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRp ZF9wcm9wZXJ0eShjb25uZWN0b3IsIHJhZGVvbl9jb25uZWN0b3ItPmVkaWQpOwo+ICsJCWRybV9j b25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCByYWRlb25fY29ubmVjdG9y LT5lZGlkKTsKPiAgCQlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCByYWRlb25f Y29ubmVjdG9yLT5lZGlkKTsKPiAgCQlyZXR1cm4gcmV0Owo+ICAJfQo+IC0JZHJtX21vZGVfY29u bmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgTlVMTCk7Cj4gKwlkcm1fY29u bmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgTlVMTCk7Cj4gIAlyZXR1cm4g MDsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f ZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYwo+IGluZGV4 IGNkOGEzZWUxNjY0OS4uMzc5NTZjZmMwYjZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2RwX21zdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fZHBfbXN0LmMKPiBAQCAtMTk1LDExICsxOTUsMTEgQEAgc3RhdGljIGludCByYWRlb25f ZHBfbXN0X2dldF9kZGNfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAg CXJhZGVvbl9jb25uZWN0b3ItPmVkaWQgPSBlZGlkOwo+ICAJRFJNX0RFQlVHX0tNUygiZWRpZCBy ZXRyaWV2ZWQgJXBcbiIsIGVkaWQpOwo+ICAJaWYgKHJhZGVvbl9jb25uZWN0b3ItPmVkaWQpIHsK PiAtCQlkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoJnJhZGVvbl9jb25u ZWN0b3ItPmJhc2UsIHJhZGVvbl9jb25uZWN0b3ItPmVkaWQpOwo+ICsJCWRybV9jb25uZWN0b3Jf dXBkYXRlX2VkaWRfcHJvcGVydHkoJnJhZGVvbl9jb25uZWN0b3ItPmJhc2UsIHJhZGVvbl9jb25u ZWN0b3ItPmVkaWQpOwo+ICAJCXJldCA9IGRybV9hZGRfZWRpZF9tb2RlcygmcmFkZW9uX2Nvbm5l Y3Rvci0+YmFzZSwgcmFkZW9uX2Nvbm5lY3Rvci0+ZWRpZCk7Cj4gIAkJcmV0dXJuIHJldDsKPiAg CX0KPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSgmcmFkZW9uX2Nv bm5lY3Rvci0+YmFzZSwgTlVMTCk7Cj4gKwlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3Bl cnR5KCZyYWRlb25fY29ubmVjdG9yLT5iYXNlLCBOVUxMKTsKPiAgCj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9jZG4tZHAtY29yZS5j IGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2Nkbi1kcC1jb3JlLmMKPiBpbmRleCBjNmZiZGNk ODdjMTYuLmE0MGNiMmJlNTBlMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvY2RuLWRwLWNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9jZG4tZHAt Y29yZS5jCj4gQEAgLTI3NSw3ICsyNzUsNyBAQCBzdGF0aWMgaW50IGNkbl9kcF9jb25uZWN0b3Jf Z2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJZHAtPnNpbmtf aGFzX2F1ZGlvID0gZHJtX2RldGVjdF9tb25pdG9yX2F1ZGlvKGVkaWQpOwo+ICAJCXJldCA9IGRy bV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ICAJCWlmIChyZXQpCj4gLQkJCWRy bV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gKwkJCWRy bV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICAJCQkJCQkJCWVk aWQpOwo+ICAJfQo+ICAJbXV0ZXhfdW5sb2NrKCZkcC0+bG9jayk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9pbm5vX2hkbWkuYwo+IGluZGV4IDg4ZDA3NzRjOTdiZC4uNTEwZmNiMzNlMzFkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+IEBAIC01NjUsNyArNTY1LDcgQEAg c3RhdGljIGludCBpbm5vX2hkbWlfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+ICAJaWYgKGVkaWQpIHsKPiAgCQloZG1pLT5oZG1pX2RhdGEuc2lu a19pc19oZG1pID0gZHJtX2RldGVjdF9oZG1pX21vbml0b3IoZWRpZCk7Cj4gIAkJaGRtaS0+aGRt aV9kYXRhLnNpbmtfaGFzX2F1ZGlvID0gZHJtX2RldGVjdF9tb25pdG9yX2F1ZGlvKGVkaWQpOwo+ IC0JCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVk aWQpOwo+ICsJCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBl ZGlkKTsKPiAgCQlyZXQgPSBkcm1fYWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsKPiAg CQlrZnJlZShlZGlkKTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gaW5kZXggNThmNDMx MTAyNTEyLi4wYzMwMDgzNTZhYjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gQEAgLTk3 Nyw3ICs5NzcsNyBAQCBzdGF0aWMgaW50IHN0aV9oZG1pX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCWNlY19ub3RpZmllcl9zZXRfcGh5c19h ZGRyX2Zyb21fZWRpZChoZG1pLT5ub3RpZmllciwgZWRpZCk7Cj4gIAo+ICAJY291bnQgPSBkcm1f YWRkX2VkaWRfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsKPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91 cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91 cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICAKPiAgCWtmcmVlKGVkaWQp Owo+ICAJcmV0dXJuIGNvdW50Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuNGlfaGRtaV9lbmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9oZG1pX2VuYy5j Cj4gaW5kZXggZmE0YmNkMDkyZWFmLi45YjRiMWQwMTU0MjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3N1bjRpL3N1bjRpX2hkbWlfZW5jLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfaGRtaV9lbmMuYwo+IEBAIC0yMjAsNyArMjIwLDcgQEAgc3RhdGljIGludCBz dW40aV9oZG1pX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJ RFJNX0RFQlVHX0RSSVZFUigiTW9uaXRvciBpcyAlcyBtb25pdG9yXG4iLAo+ICAJCQkgaGRtaS0+ aGRtaV9tb25pdG9yID8gImFuIEhETUkiIDogImEgRFZJIik7Cj4gIAo+IC0JZHJtX21vZGVfY29u bmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7Cj4gKwlkcm1fY29u bmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7Cj4gIAljZWNfc19w aHlzX2FkZHJfZnJvbV9lZGlkKGhkbWktPmNlY19hZGFwLCBlZGlkKTsKPiAgCXJldCA9IGRybV9h ZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ICAJa2ZyZWUoZWRpZCk7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRwdXQuYyBiL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9vdXRwdXQuYwo+IGluZGV4IGZmZTM0YmQwYmI5ZC4uOTgzNjU3YzQ3MDY3IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRwdXQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS90ZWdyYS9vdXRwdXQuYwo+IEBAIC0zNyw3ICszNyw3IEBAIGludCB0ZWdyYV9vdXRwdXRf Y29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJ CWVkaWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCBvdXRwdXQtPmRkYyk7Cj4gIAo+ICAJY2Vj X25vdGlmaWVyX3NldF9waHlzX2FkZHJfZnJvbV9lZGlkKG91dHB1dC0+bm90aWZpZXIsIGVkaWQp Owo+IC0JZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3Rvciwg ZWRpZCk7Cj4gKwlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3Rvciwg ZWRpZCk7Cj4gIAo+ICAJaWYgKGVkaWQpIHsKPiAgCQllcnIgPSBkcm1fYWRkX2VkaWRfbW9kZXMo Y29ubmVjdG9yLCBlZGlkKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90 aWxjZGNfdGZwNDEwLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY190ZnA0MTAuYwo+ IGluZGV4IGM0NWNhYmIzOGRiMC4uNDZkYWNjYTNjY2U4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS90aWxjZGMvdGlsY2RjX3RmcDQxMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rp bGNkYy90aWxjZGNfdGZwNDEwLmMKPiBAQCAtMTczLDcgKzE3Myw3IEBAIHN0YXRpYyBpbnQgdGZw NDEwX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiAgCj4gIAllZGlkID0gZHJtX2dldF9lZGlkKGNvbm5lY3RvciwgdGZwNDEwX2Nvbm5lY3Rvci0+ bW9kLT5pMmMpOwo+ICAKPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0 eShjb25uZWN0b3IsIGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0 eShjb25uZWN0b3IsIGVkaWQpOwo+ICAKPiAgCWlmIChlZGlkKSB7Cj4gIAkJcmV0ID0gZHJtX2Fk ZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgZWRpZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS91ZGwvdWRsX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfY29ubmVj dG9yLmMKPiBpbmRleCAwOWRjNTg1YWE0NmYuLjhmYWMxMmUxYTFhNCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9jb25uZWN0b3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS91ZGwvdWRsX2Nvbm5lY3Rvci5jCj4gQEAgLTk5LDcgKzk5LDcgQEAgc3RhdGljIGludCB1ZGxf Z2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJCQkJc3RydWN0 IHVkbF9kcm1fY29ubmVjdG9yLAo+ICAJCQkJCWNvbm5lY3Rvcik7Cj4gIAo+IC0JZHJtX21vZGVf Y29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgdWRsX2Nvbm5lY3Rvci0+ ZWRpZCk7Cj4gKwlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3Rvciwg dWRsX2Nvbm5lY3Rvci0+ZWRpZCk7Cj4gIAlpZiAodWRsX2Nvbm5lY3Rvci0+ZWRpZCkKPiAgCQly ZXR1cm4gZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3RvciwgdWRsX2Nvbm5lY3Rvci0+ZWRpZCk7 Cj4gIAlyZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCj4gaW5kZXggYjhkNTA1MzNlMmJi Li45MWYyODRlMWI5MDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRt aS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCj4gQEAgLTI4NSw3ICsy ODUsNyBAQCBzdGF0aWMgaW50IHZjNF9oZG1pX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCQkJZHJtX3JnYl9xdWFudF9yYW5nZV9zZWxlY3Rh YmxlKGVkaWQpOwo+ICAJfQo+ICAKPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9w cm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9w cm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ICAJcmV0ID0gZHJtX2FkZF9lZGlkX21vZGVzKGNv bm5lY3RvciwgZWRpZCk7Cj4gIAlrZnJlZShlZGlkKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS96dGUvenhfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMK PiBpbmRleCAxM2VhOTBmN2ExODUuLmQwNzNjNjczNzUwMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0venRlL3p4X2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRt aS5jCj4gQEAgLTI3Miw3ICsyNzIsNyBAQCBzdGF0aWMgaW50IHp4X2hkbWlfY29ubmVjdG9yX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAKPiAgCWhkbWktPnNp bmtfaXNfaGRtaSA9IGRybV9kZXRlY3RfaGRtaV9tb25pdG9yKGVkaWQpOwo+ICAJaGRtaS0+c2lu a19oYXNfYXVkaW8gPSBkcm1fZGV0ZWN0X21vbml0b3JfYXVkaW8oZWRpZCk7Cj4gLQlkcm1fbW9k ZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiArCWRy bV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiAgCXJl dCA9IGRybV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ICAJa2ZyZWUoZWRpZCk7 Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3ZnYS5jIGIvZHJpdmVy cy9ncHUvZHJtL3p0ZS96eF92Z2EuYwo+IGluZGV4IDNlN2UzM2NkM2RmYS4uM2U3OGVlMjFiOGQw IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfdmdhLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0venRlL3p4X3ZnYS5jCj4gQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgaW50 IHp4X3ZnYV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gIAkgKi8KPiAgCXp4X3dyaXRlbCh2Z2EtPm1taW8gKyBWR0FfQVVUT19ERVRFQ1RfU0VM LCBWR0FfREVURUNUX1NFTF9IQVNfREVWSUNFKTsKPiAgCj4gLQlkcm1fbW9kZV9jb25uZWN0b3Jf dXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiArCWRybV9jb25uZWN0b3Jf dXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCBlZGlkKTsKPiAgCXJldCA9IGRybV9hZGRf ZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ICAJa2ZyZWUoZWRpZCk7Cj4gIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hfbW9kZS5jIGIvZHJpdmVycy9z dGFnaW5nL3Zib3h2aWRlby92Ym94X21vZGUuYwo+IGluZGV4IDVjN2VhMjM3ODkzZS4uYTk0M2Qy ZjY4M2VkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy92Ym94dmlkZW8vdmJveF9tb2Rl LmMKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hfbW9kZS5jCj4gQEAgLTUw NCw3ICs1MDQsNyBAQCBzdGF0aWMgdm9pZCB2Ym94X3NldF9lZGlkKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsIGludCB3aWR0aCwKPiAgCWZvciAoaSA9IDA7IGkgPCBFRElEX1NJWkUg LSAxOyArK2kpCj4gIAkJc3VtICs9IGVkaWRbaV07Cj4gIAllZGlkW0VESURfU0laRSAtIDFdID0g KDB4MTAwIC0gKHN1bSAmIDB4RkYpKSAmIDB4RkY7Cj4gLQlkcm1fbW9kZV9jb25uZWN0b3JfdXBk YXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCAoc3RydWN0IGVkaWQgKillZGlkKTsKPiArCWRy bV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVjdG9yLCAoc3RydWN0IGVkaWQg KillZGlkKTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCB2Ym94X2dldF9tb2RlcyhzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29u bmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBpbmRleCBhMDMwMGUzNDY4 Y2IuLjk4NDFkMmI2ZDNlYiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9y LmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBAQCAtODkyLDcgKzg5Miw3 IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yIHsKPiAgCS8qKgo+ICAJICogQGVkaWRfYmxvYl9wdHI6 IERSTSBwcm9wZXJ0eSBjb250YWluaW5nIEVESUQgaWYgcHJlc2VudC4gUHJvdGVjdGVkIGJ5Cj4g IAkgKiAmZHJtX21vZGVfY29uZmlnLm11dGV4LiBUaGlzIHNob3VsZCBiZSB1cGRhdGVkIG9ubHkg YnkgY2FsbGluZwo+IC0JICogZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5 KCkuCj4gKwkgKiBkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KCkuCj4gIAkgKi8K PiAgCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZWRpZF9ibG9iX3B0cjsKPiAgCj4gQEAgLTEx OTAsOCArMTE5MCw4IEBAIGludCBkcm1fbW9kZV9jcmVhdGVfc3VnZ2VzdGVkX29mZnNldF9wcm9w ZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9y X3NldF9wYXRoX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJ CQkJIGNvbnN0IGNoYXIgKnBhdGgpOwo+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF90aWxl X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+IC1pbnQgZHJtX21v ZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCj4gLQkJCQkJICAgIGNvbnN0IHN0cnVjdCBlZGlkICplZGlkKTsKPiAraW50IGRy bV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKPiArCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCk7Cj4gIHZvaWQg ZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCQkJCQkgdWludDY0X3QgbGlua19zdGF0dXMpOwo+ICBp bnQgZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5KAo+IGRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oIGIvaW5jbHVk ZS9kcm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaAo+IGluZGV4IDNiMjg5NzczMjk3Yy4u NTg3M2QxNTgyMWNmIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBl cl92dGFibGVzLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxl cy5oCj4gQEAgLTc4NSw3ICs3ODUsNyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVu Y3Mgewo+ICAJICoKPiAgCSAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGZpbGwgaW4gYWxsIG1vZGVz IGN1cnJlbnRseSB2YWxpZCBmb3IgdGhlIHNpbmsKPiAgCSAqIGludG8gdGhlICZkcm1fY29ubmVj dG9yLnByb2JlZF9tb2RlcyBsaXN0LiBJdCBzaG91bGQgYWxzbyB1cGRhdGUgdGhlCj4gLQkgKiBF RElEIHByb3BlcnR5IGJ5IGNhbGxpbmcgZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3By b3BlcnR5KCkuCj4gKwkgKiBFRElEIHByb3BlcnR5IGJ5IGNhbGxpbmcgZHJtX2Nvbm5lY3Rvcl91 cGRhdGVfZWRpZF9wcm9wZXJ0eSgpLgo+ICAJICoKPiAgCSAqIFRoZSB1c3VhbCB3YXkgdG8gaW1w bGVtZW50IHRoaXMgaXMgdG8gY2FjaGUgdGhlIEVESUQgcmV0cmlldmVkIGluIHRoZQo+ICAJICog cHJvYmUgY2FsbGJhY2sgc29tZXdoZXJlIGluIHRoZSBkcml2ZXItcHJpdmF0ZSBjb25uZWN0b3Ig c3RydWN0dXJlLgo+IC0tIAo+IDIuMTguMAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5l ZXIsIEdvb2dsZSAvIENocm9taXVtIE9TCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=