From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH v2 5/5] drm/msm: subclass work object for vblank events Date: Fri, 07 Dec 2018 15:23:11 -0800 Message-ID: <4b06431f2acf3dc7cbb1ae9d71f22d1d@codeaurora.org> References: <1541543790-748-1-git-send-email-jsanka@codeaurora.org> <1541543790-748-5-git-send-email-jsanka@codeaurora.org> <20181107155551.GZ154160@art_vandelay> <86c75419b86da1a3f538638ef0004203@codeaurora.org> <20181129221511.GI154160@art_vandelay> <126d5b3a93c1827aaf10cd64486d4967@codeaurora.org> <20181130200711.GK154160@art_vandelay> <20181203142155.GL154160@art_vandelay> <3590f098fa3094b6d6abc89b20b52cc7@codeaurora.org> <20181207172243.GB154160@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181207172243.GB154160@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0xMi0wNyAwOToyMiwgU2VhbiBQYXVsIHdyb3RlOgo+IE9uIE1vbiwgRGVjIDAzLCAy MDE4IGF0IDEyOjI3OjQyUE0gLTA4MDAsIEpleWt1bWFyIFNhbmthcmFuIHdyb3RlOgo+PiBPbiAy MDE4LTEyLTAzIDA2OjIxLCBTZWFuIFBhdWwgd3JvdGU6Cj4+ID4gT24gRnJpLCBOb3YgMzAsIDIw MTggYXQgMDQ6MjE6MTVQTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2FyYW4gd3JvdGU6Cj4+ID4gPiBP biAyMDE4LTExLTMwIDEyOjA3LCBTZWFuIFBhdWwgd3JvdGU6Cj4+ID4gPiA+IE9uIEZyaSwgTm92 IDMwLCAyMDE4IGF0IDExOjQ1OjU1QU0gLTA4MDAsIEpleWt1bWFyIFNhbmthcmFuIHdyb3RlOgo+ PiA+ID4gPiA+IE9uIDIwMTgtMTEtMjkgMTQ6MTUsIFNlYW4gUGF1bCB3cm90ZToKPj4gPiA+ID4g PiA+IE9uIFR1ZSwgTm92IDIwLCAyMDE4IGF0IDAyOjA0OjE0UE0gLTA4MDAsIEpleWt1bWFyIFNh bmthcmFuCj4gd3JvdGU6Cj4+ID4gPiA+ID4gPiA+IE9uIDIwMTgtMTEtMDcgMDc6NTUsIFNlYW4g UGF1bCB3cm90ZToKPj4gPiA+ID4gPiA+ID4gPiBPbiBUdWUsIE5vdiAwNiwgMjAxOCBhdCAwMjoz NjozMFBNIC0wODAwLCBKZXlrdW1hcgo+IFNhbmthcmFuCj4+ID4gd3JvdGU6Cj4+ID4gPiA+ID4g PiA+ID4gPiBtc20gbWFpbnRhaW5zIGEgc2VwYXJhdGUgc3RydWN0dXJlIHRvIGRlZmluZSB2Ymxh bmsKPj4gPiA+ID4gPiA+ID4gPiA+IHdvcmsgZGVmaW5pdGlvbnMgYW5kIGEgbGlzdCB0byB0cmFj ayBldmVudHMgc3VibWl0dGVkCj4+ID4gPiA+ID4gPiA+ID4gPiB0byB0aGUgd29ya3F1ZXVlLiBX ZSBjYW4gYXZvaWQgdGhpcyByZWR1bmRhbnQgbGlzdAo+PiA+ID4gPiA+ID4gPiA+ID4gYW5kIGl0 cyBwcm90ZWN0aW9uIG1lY2hhbmlzbSwgaWYgd2Ugc3ViY2xhc3MgdGhlCj4+ID4gPiA+ID4gPiA+ ID4gPiB3b3JrIG9iamVjdCB0byBlbmNhcHN1bGF0ZSB2YmxhbmsgZXZlbnQgcGFyYW1ldGVycy4K Pj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiBjaGFuZ2VzIGluIHYyOgo+PiA+ ID4gPiA+ID4gPiA+ID4gCS0gc3ViY2xhc3Mgb3B0aW1pemF0aW9uIG9uIHN5c3RlbSB3cSAoU2Vh biBQYXVsKQo+PiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gSSB3b3VsZG4ndCBkbyBp dCBsaWtlIHRoaXMsIHRiaC4gT25lIHByb2JsZW0gaXMgdGhhdAo+IHlvdSd2ZQo+PiA+IGxvc3QK Pj4gPiA+ID4geW91cgo+PiA+ID4gPiA+ID4gPiA+IGZsdXNoKCkgb24KPj4gPiA+ID4gPiA+ID4g PiB1bmJpbmQsIHNvIHRoZXJlJ3Mgbm8gd2F5IHRvIGtub3cgaWYgeW91IGhhdmUgd29ya2VycyBp bgo+IHRoZQo+PiA+IHdpbGQKPj4gPiA+ID4gPiA+ID4gPiB3YWl0aW5nCj4+ID4gPiA+ID4gPiA+ ID4gdG8KPj4gPiA+ID4gPiA+ID4gPiBlbmFibGUvZGlzYWJsZSB2YmxhbmsuCj4+ID4gPiA+ID4g PiA+ID4KPj4gPiA+ID4gPiA+ID4gPiBBbm90aGVyIGlzc3VlcyBpcyB0aGF0IEFGQUlDVCwgd2Ug ZG9uJ3QgbmVlZCBhIHF1ZXVlIG9mCj4+ID4gPiA+ID4gPiA+ID4gZW5hYmxlcy9kaXNhYmxlcywK Pj4gPiA+ID4gPiA+ID4gPiBidXQKPj4gPiA+ID4gPiA+ID4gPiByYXRoZXIganVzdCB0aGUgbGFz dCByZXF1ZXN0ZWQgc3RhdGUgKGllOiBzaG91bGQgd2UgYmUgb24KPiBvcgo+PiA+IG9mZikuCj4+ ID4gPiA+IFNvCj4+ID4gPiA+ID4gPiA+ID4gdGhpbmdzCj4+ID4gPiA+ID4gPiA+ID4gZG9uJ3Qg bmVlZCB0byBiZSB0aGlzIGNvbXBsaWNhdGVkIChhbmQgd2UncmUgcG9zc2libHkKPj4gPiB0aHJh c2hpbmcKPj4gPiA+ID4gdmJsYW5rCj4+ID4gPiA+ID4gPiA+ID4gb24vb2ZmCj4+ID4gPiA+ID4g PiA+ID4gZm9yIG5vIHJlYXNvbikuCj4+ID4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gPiBJ J20gc3RpbGwgb2YgdGhlIG1pbmQgdGhhdCB5b3Ugc2hvdWxkIGp1c3QgbWFrZSB0aGlzCj4+ID4g c3luY2hyb25vdXMKPj4gPiA+ID4gYW5kCj4+ID4gPiA+ID4gPiBiZQo+PiA+ID4gPiA+ID4gPiA+ IGRvbmUKPj4gPiA+ID4gPiA+ID4gPiB3aXRoIHRoZSB0aHJlYWRzIChlc3BlY2lhbGx5IHNpbmNl IHdlJ3JlIHN0aWxsCj4+ID4gPiA+IHVuY292ZXJpbmcvaW50cm9kdWNpbmcKPj4gPiA+ID4gPiA+ ID4gPiByYWNlcyEpLgo+PiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+IFdoaWxlIHNjb3Bp bmcgb3V0IHRoZSBlZmZvcnQgdG8gbWFrZSB2YmxhbmsgZXZlbnRzCj4gc3luY2hyb25vdXMsCj4+ ID4gSQo+PiA+ID4gPiA+ID4gPiBmb3VuZAo+PiA+ID4gPiA+ID4gPiB0aGF0IHRoZSBzcGlubG9j ayBsb2NraW5nIG9yZGVyIG9mIHZibGFuayByZXF1ZXN0IHNlcXVlbmNlCj4gYW5kCj4+ID4gPiA+ IHZibGFuawo+PiA+ID4gPiA+ID4gPiBjYWxsYmFjawo+PiA+ID4gPiA+ID4gPiBzZXF1ZW5jZXMg YXJlIHRoZSBvcHBvc2l0ZS4KPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gSW4gRFBVLCBk cm1fdmJsYW5rX2VuYWJsZSBhY3F1aXJlcyB2YmxhbmtfdGltZV9sb2NrIGJlZm9yZQo+PiA+ID4g PiByZWdpc3RlcmluZwo+PiA+ID4gPiA+ID4gPiB0aGUgY3J0YyB0byBlbmNvZGVyIHdoaWNoIGhh cHBlbnMgYWZ0ZXIgYWNxdWlyaW5nCj4+ID4gZW5jb2Rlcl9zcGlubG9jay4KPj4gPiA+ID4gPiA+ ID4gQnV0Cj4+ID4gPiA+ID4gPiA+IHRoZSB2YmxhbmtfY2FsbGJhY2sgYWNxdWlyZXMgZW5jb2Rl cl9zcGlubG9jayBiZWZvcmUKPiBhY2Nlc3NpbmcKPj4gPiB0aGUKPj4gPiA+ID4gPiA+ID4gcmVn aXN0ZXJlZAo+PiA+ID4gPiA+ID4gPiBjcnRjIGFuZCBjYWxsaW5nIGludG8gZHJtX3ZibGFua19o YW5kbGVyIHdoaWNoIHRyaWVzIHRvCj4gYWNxdWlyZQo+PiA+ID4gPiA+ID4gPiB2YmxhbmtfdGlt ZV9sb2NrLgo+PiA+ID4gPiA+ID4gPiBBY3F1aXJpbmcgYm90aCB2YmxhbmtfdGltZV9sb2NrIGFu ZCBlbmNvZGVyX3NwaW5sb2NrIGluIHRoZQo+IHNhbWUKPj4gPiA+ID4gPiA+ID4gdGhyZWFkCj4+ ID4gPiA+ID4gPiA+IGlzIGxlYWRpbmcgdG8gZGVhZGxvY2suCj4+ID4gPiA+ID4gPgo+PiA+ID4g PiA+ID4gSG1tLCBJJ20gbm90IHN1cmUgSSBmb2xsb3cuIEFyZSB5b3Ugc2VlaW5nIGlzc3VlcyB3 aGVyZSBpcnEKPj4gPiBvdmVybGFwcwo+PiA+ID4gPiA+ID4gd2l0aAo+PiA+ID4gPiA+ID4gZW5h YmxlL2Rpc2FibGU/IEkgaGFja2VkIGluIHN5bmMgdmJsYW5rIGVuYWJsZS9kaXNhYmxlIHF1aWNr bHkKPiB0bwo+PiA+IHNlZQo+PiA+ID4gPiBpZgo+PiA+ID4gPiA+ID4gSQo+PiA+ID4gPiA+ID4g Y291bGQKPj4gPiA+ID4gPiA+IHJlcHJvZHVjZSB3aGF0IHlvdSdyZSBzZWVpbmcsIGJ1dCB0aGlu Z3Mgc2VlbWVkIHdlbGwgYmVoYXZlZC4KPj4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4KPj4gPiA+ID4g PiBUaGUgcmFjZSBpcyBiZXR3ZWVuIGRybV92YmxhbmtfZ2V0L3B1dCBhbmQgdmJsYW5rX2hhbmRs ZXIKPiBjb250ZXh0cy4KPj4gPiA+ID4gPgo+PiA+ID4gPiA+IFdoZW4gbWFkZSBzeW5jaHJvbm91 czoKPj4gPiA+ID4gPgo+PiA+ID4gPiA+IHdoaWxlIGNhbGxpbmcgZHJtX3ZibGFua19nZXQsIHRo ZSBjYWxsc3RhY2sgbG9va3MgbGlrZSBiZWxvdzoKPj4gPiA+ID4gPiBkcm1fdmJsYW5rX2dldCAt PiBkcm1fdmJsYW5rX2VuYWJsZSAoYWNxdWlyZXMgdmJsYW5rX3RpbWVfbG9jaykKPiAtPgo+PiA+ ID4gPiA+IF9fZW5hYmxlX3ZibGFuayAtPiBkcHVfY3J0Y192YmxhbmsgLT4KPj4gPiA+ID4gPiBk cHVfZW5jb2Rlcl90b2dnbGVfdmJsYW5rX2Zvcl9jcnRjCj4+ID4gPiA+ID4gKHRyaWVzIHRvIGFj cXVpcmUgZW5jX3NwaW5sb2NrKQo+PiA+ID4gPiA+Cj4+ID4gPiA+ID4gSW4gdmJsYW5rIGhhbmRs ZXIsIHRoZSBjYWxsIHN0YWNrIHdpbGwgYmU6Cj4+ID4gPiA+ID4gZHB1X2VuY29kZXJfcGh5c192 aWRfdmJsYW5rX2lycSAtPiBkcHVfZW5jb2Rlcl92YmxhbmtfY2FsbGJhY2sKPj4gPiA+ID4gPiAo YWNxdWlyZXMKPj4gPiA+ID4gPiBlbmNfc3BpbmxvY2spIC0+IGRwdV9jcnRjX3ZibGFua19jYWxs YmFjayAtPiBkcm1faGFuZGxlX3ZibGFuawo+PiA+ID4gPiA+ICh0cmllcyB0bwo+PiA+ID4gPiA+ IGFjcXVpcmUgdmJsYW5rX3RpbWVfbG9jaykKPj4gPiA+ID4KPj4gPiA+ID4gSG1tLCBJJ20gbm90 IHN1cmUgaG93IHRoaXMgY2FuIGhhcHBlbi4gV2UgYWNxdWlyZSBhbmQgcmVsZWFzZSB0aGUKPj4g PiA+ID4gZW5jX3NwaW5sb2NrCj4+ID4gPiA+IGJlZm9yZSBlbmFibGluZyB0aGUgaXJxLCB5ZXMg d2Ugd2lsbCBob2xkIG9uIHRvIHRoZSB2YmxfdGltZV9sb2NrLAo+IGJ1dAo+PiA+ID4gPiB3ZQo+ PiA+ID4gPiBzaG91bGRuJ3QgYmUgdHJ5aW5nIHRvIHJlYWNxdWlyZSBhbiBlbmNvZGVyJ3Mgc3Bp bmxvY2sgYWZ0ZXIgd2UndmUKPj4gPiA+ID4gZW5hYmxlZAo+PiA+ID4gPiBpdC4KPj4gPiA+IElu IHRoZSBzeW5jaHJvbm91cyBhcHByb2FjaCBkcHVfZW5jb2Rlcl90b2dnbGVfdmJsYW5rX2Zvcl9j cnRjKHdoaWNoCj4+ID4gPiBhY3F1aXJlcyB0aGUgZW5jX3NwaW5sb2NrKSB3aWxsIGJlIGNhbGxl ZCB3aGlsZSB3ZQo+PiA+ID4gYXJlIGhvbGRpbmcgdGhlIHZibF90aW1lX2xvY2suCj4+ID4gPgo+ PiA+ID4gPiBJIGRvbid0IGtub3cgaG93IHRoYXQgY2FuIGRlYWRsb2NrLCBzaW5jZSB3ZSBzaG91 bGQgbmV2ZXIgYmUKPiBydW5uaW5nCj4+ID4gPiA+IGVuYWJsZSBhbmQKPj4gPiA+ID4gdGhlIGhh bmRsZXIgY29uY3VycmVudGx5Lgo+PiA+ID4gPgo+PiA+ID4gSSBhZ3JlZSB0aGF0IHZibGFua19p cnEgaGFuZGxlciBzaG91bGQgbm90IGJlIHJ1bm5pbmcgYmVmb3JlIHRoZQo+PiA+ID4gZW5hYmxl Cj4+ID4gPiBzZXF1ZW5jZS4gQnV0Cj4+ID4gPiBkb24ndCB5b3UgZXhwZWN0IHRoZSBoYW5kbGVy IHRvIGJlIHJ1bm5pbmcgd2hpbGUgY2FsbGluZyB0aGUKPj4gPiB2YmxhbmtfZGlzYWJsZQo+PiA+ ID4gc2VxdWVuY2U/Cj4+ID4KPj4gPiBUaGlzIGlzIGFuIGVudGlyZWx5IGRpZmZlcmVudCBwcm9i bGVtIHRob3VnaC4gSXQncyBhbHNvIG9uZSB0aGF0IGlzCj4+ID4gZWFzaWVyCj4+ID4gdG8KPj4g PiBmaXguIEkgdGhpbmsgd2UgY291bGQgcHJvYmFibHkgZ3JhYiB0aGUgZW5jX3NwaW5sb2NrIGlu IGRpc2FibGUgYW5kCj4+ID4gY2xlYXIKPj4gPiB0aGUKPj4gPiBjcnRjIHBvaW50ZXIuCj4+ID4K Pj4gd2UgZG8gaG9sZCBlbmNfc3BpbmxvY2sgaW4gZHB1X2VuY29kZXJfYXNzaWduX2NydGMgKGRy bS9tc206IGRwdTogCj4+IFJlbW92ZQo+PiB2YmxhbmtfY2FsbGJhY2sgZnJvbSBlbmNvZGVyKQo+ PiB3aGVyZSB3ZSBjbGVhciB0aGUgY3J0YyBwb2ludGVyLgo+PiAKPj4gPiBXaGF0IEknbSBnZXR0 aW5nIGF0IGlzIHRoYXQgdGhlcmUncyBubyBmdW5kYW1lbnRhbCByZWFzb24gd2h5IHdlIG5lZWQK PiB0bwo+PiA+IGhhdmUKPj4gPiBhc3luYyB2YmxhbmsgZW5hYmxlL2Rpc2FibGUuCj4+ID4KPj4g PiBTZWFuCj4+ID4KPj4gVGhlcmUgaXMgcmVhbGx5IG5vICpuZWVkKiB0byBoYXZlIHRoZW0gYXN5 bmMuIEJ1dCBJIGJlbGlldmUgdGhlIHJlYXNvbgo+IHdoeQo+PiB0aGV5Cj4+IGFyZSBpbXBsZW1l bnRlZCB0aGlzIHdheSBpcyB0byBhdm9pZCBkZWFkbG9jayBiZXR3ZWVuIHRoZSBiZWxvdyB0d28K PiBwYXRocy4KPj4gCj4+IFJlc3RhdGluZyB0aGUgYWJvdmUgZmluZGluZ3M6Cj4+IHZibGFua19o YW5kbGVycyBhbmQgdmJsYW5rIGVuYWJsZS9kaXNhYmxlIGNhbiBydW4gY29uY3VycmVudGx5Lgo+ IAo+IEkgdGhpbmsgdGhpcyBpcyB3aGVyZSB3ZSBkaXNhZ3JlZS4gVGhlIGhhbmRsZXIgd2lsbCBv bmx5IGJlIGNhbGxlZCB3aGVuCj4gZW5jLT5jcnRjIGlzIHNldC4KPiAKPiBJbiB0aGUgY2FzZSBv ZiBkaXNhYmxlLCB3ZSBjbGVhciB0aGUgcG9pbnRlciBfYWZ0ZXJfIHZibGFuayBpcwo+IGRpc2Fi bGVkLCBzbyBlbmNfc3BpbmxvY2sgc2hvdWxkIGJlIHVuY29udGVzdGVkLgo+IAo+IE9uIGVuYWJs ZSwgdGhlIHBvaW50ZXIgaXMgc2V0IF9iZWZvcmVfIHZibGFuayBpcyBlbmFibGVkLCBzbyBhZ2Fp biB0aGUKPiBlbmNfc3BpbmxvY2sgaXMgdW5jb250ZXN0ZWQuCj4gCj4gSSB0cmFja2VkIGRvd24g dGhlIGRlYWRsb2NrIHlvdSBmb3VuZCBhbmQgc3VibWl0dGVkIGEgcGF0Y2ggZm9yIGl0IGluIAo+ IFsxXS4KPiBUaGUKPiBpc3N1ZSBpcyB0aGF0IHZibGFuayB3YXMgYmVpbmcgaW5jb3JyZWN0bHkg ZW5hYmxlZCB3aGVuZXZlciB0aGUgZW5jb2RlciAKPiBpcwo+IG9uLgo+IFdpdGggdGhlIGZpeCwg eW91IGNhbiBhZGQgaG93ZXZlciBsb25nIGRlbGF5IHlvdSB3YW50IHRvIHZibGFua19lbmFibGUg Cj4gYW5kCj4geW91Cj4gd29uJ3QgcHJvZHVjZSBhIGRlYWRsb2NrLgo+IAo+IFNlYW4KPiAKPiBb MV0tCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIw MTgtRGVjZW1iZXIvMTk5NjcwLmh0bWwKPiAKPiAKSSBhbSBhd2FyZSBvZiB0aGUgYnVnIGluIERQ VSB3aGljaCBlbmFibGVzIHZzeW5jIGlycSBiZWZvcmUgCnZibGFua19lbmFibGUgaXMgY2FsbGVk LiBUaGF0IGlzCndoeSBJIHRyaWVkIHRvIGV4cGxhaW4gdGhlIGNvbmN1cnJlbmN5IGR1cmluZyB2 YmxhbmtfZGlzYWJsZS4gWW91ciBwYXRjaCAKY2VydGFpbmx5IGZpeGVzCnRoZSBlbmFibGUgc2Vx dWVuY2UuIEJ1dCB0aGUgZGVhZGxvY2sgaXMgc3RpbGwgcmVwcm9kdWNpYmxlIGR1cmluZyAKdmJs YW5rX2Rpc2FibGUuCkJlbG93IGFyZSB0aGUgbG9ncyBJIGNvdWxkIGNvbGxlY3QgZHVyaW5nIGRl YWRsb2NrOgoKWyAgIDEzLjQ0ODI1NF0gW2RybTpkcHVfZW5jb2Rlcl92YmxhbmtfY2FsbGJhY2s6 MTI0Ml0gdmJsOiAKZHB1X2VuY29kZXJfdmJsYW5rX2NhbGxiYWNrIC0gYWNxdWlyZSBlbmNfc3Bp bmxvY2sKWyAgIDEzLjQ1ODE4N10gdmJsOiBkcm1faGFuZGxlX3ZibGFuayAtIGFjcXVpcmUgdmJs YW5rX3RpbWVfbG9jawpbICAgMTMuNDcyOTkzXSBbZHJtOmRwdV9lbmNvZGVyX3BoeXNfdmlkX3Zi bGFua19pcnE6MzE5XSB2Ymw6IApkcHVfZW5jb2Rlcl9waHlzX3ZpZF92YmxhbmtfaXJxClsgICAx My40ODE1ODZdIFtkcm06ZHB1X2VuY29kZXJfdmJsYW5rX2NhbGxiYWNrOjEyNDJdIHZibDogCmRw dV9lbmNvZGVyX3ZibGFua19jYWxsYmFjayAtIGFjcXVpcmUgZW5jX3NwaW5sb2NrClsgICAxMy40 OTE1MThdIHZibDogZHJtX2hhbmRsZV92YmxhbmsgLSBhY3F1aXJlIHZibGFua190aW1lX2xvY2sK Ci0tPiB2YmxhbmtfZGlzYWJsZSA1IHNlYyB0aW1lciBleHBpcmVzCiAgICAgICAgICAgW1Rhc2sg MV0gWyAgIDEzLjUwNjE3NV0gdmJsOiB2YmxhbmtfZGlzYWJsZV9mbiAtIHRpbWVyIGV4cGlyZXMK LS0+IHZibGFuayBpcnEgaXMgZmlyZWQuCiAgICAgICAgICAgW1Rhc2sgMl0gWyAgIDEzLjUwNjMy Nl0gCltkcm06ZHB1X2VuY29kZXJfcGh5c192aWRfdmJsYW5rX2lycTozMTldIHZibDogCmRwdV9l bmNvZGVyX3BoeXNfdmlkX3ZibGFua19pcnEKLS0+IFRhc2sgMSBhY3F1aXJlcyB2YmxhbmtfdGlt ZV9sb2NrCiAgICAgICAgICAgW1Rhc2sgMV0gWyAgIDEzLjUxMTE1N10gdmJsOiBkcm1fdmJsYW5r X2Rpc2FibGVfYW5kX3NhdmUgLSAKYWNxdWlyZSB2YmxhbmtfdGltZV9sb2NrCi0tPiBUYXNrIDIg YWNxdWlyZXMgZW5jIHNwaW4gbG9jawogICAgICAgICAgIFtUYXNrIDJdIFsgICAxMy41MTk3NDhd IFtkcm06ZHB1X2VuY29kZXJfdmJsYW5rX2NhbGxiYWNrOjEyNDJdIAp2Ymw6IGRwdV9lbmNvZGVy X3ZibGFua19jYWxsYmFjayAtIGFjcXVpcmUgZW5jX3NwaW5sb2NrCi0tPiBUYXNrIDIgd2FpdGlu ZyBmb3IgdmJsYW5rX3RpbWVfbG9jawogICAgICAgICAgIFtUYXNrIDJdIFsgICAxMy41MTk3NTdd IHZibDogZHJtX2hhbmRsZV92YmxhbmsgLSBhY3F1aXJlIAp2YmxhbmtfdGltZV9sb2NrCiAgICAg ICAgICAgW1Rhc2sgMV0gWyAgIDEzLjUyNjY4Ml0gdmJsOiBfX2Rpc2FibGVfdmJsYW5rCiAgICAg ICAgICAgW1Rhc2sgMV0gWyAgIDEzLjU0NjA4Ml0gdmJsOiB2YmxhbmtfY3RybF9xdWV1ZV93b3Jr Ci0tPiBUYXNrIDEgd2FpdGluZyBmb3IgZW5jX3NwaW5sb2NrIGNhdXNpbmcgZGVhZGxvY2sKICAg ICAgICAgICBbVGFzayAxXSBbICAgMTMuNTUwMDY4XSAKW2RybTpkcHVfZW5jb2Rlcl90b2dnbGVf dmJsYW5rX2Zvcl9jcnRjOjEyODddIHZibDogCmRwdV9lbmNvZGVyX3RvZ2dsZV92YmxhbmtfZm9y X2NydGMgLSBhY3F1aXJlIGVuY19zcGlubG9jawoKVGFzayAxIHJlcHJlc2VudHMgdmJsYW5rX2Rp c2FibGUgdGhyZWFkClRhc2sgMiByZXByZXNlbnRzIHZibGFuayBpcnEgaGFuZGxlciB0aHJlYWQK ClRoZSBwYXRjaCBJIHVzZWQgZm9yIHRoZSBhZGRpdGlvbmFsIGxvZ2dpbmcgYXMgYmVsb3c6Cgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV92YmxhbmsuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fdmJsYW5rLmMKaW5kZXggOThlMDkxMS4uMzg3NDI0MSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV92YmxhbmsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFuay5j CkBAIC0zMzAsNiArMzMwLDggQEAgc3RhdGljIHZvaWQgX19kaXNhYmxlX3ZibGFuayhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCAKdW5zaWduZWQgaW50IHBpcGUpCiAgICAgICAgICAgICAgICAgfQog ICAgICAgICB9CgorICAgICAgIHByX2VycigidmJsOiAlcyBcbiIsIF9fZnVuY19fKTsKKwogICAg ICAgICBkZXYtPmRyaXZlci0+ZGlzYWJsZV92YmxhbmsoZGV2LCBwaXBlKTsKICB9CgpAQCAtMzUw LDYgKzM1Miw3IEBAIHZvaWQgZHJtX3ZibGFua19kaXNhYmxlX2FuZF9zYXZlKHN0cnVjdCBkcm1f ZGV2aWNlIAoqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKICAgICAgICAgICogc28gbm8gdXBkYXRl cyBvZiB0aW1lc3RhbXBzIG9yIGNvdW50IGNhbiBoYXBwZW4gYWZ0ZXIgd2UndmUKICAgICAgICAg ICogZGlzYWJsZWQuIE5lZWRlZCB0byBwcmV2ZW50IHJhY2VzIGluIGNhc2Ugb2YgZGVsYXllZCBp cnEncy4KICAgICAgICAgICovCisgICAgICAgcHJfZXJyKCJ2Ymw6ICVzIC0gYWNxdWlyZSB2Ymxh bmtfdGltZV9sb2NrIFxuIiwgX19mdW5jX18pOwogICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgm ZGV2LT52YmxhbmtfdGltZV9sb2NrLCBpcnFmbGFncyk7CgogICAgICAgICAvKgpAQCAtMzgyLDYg KzM4NSw4IEBAIHN0YXRpYyB2b2lkIHZibGFua19kaXNhYmxlX2ZuKHN0cnVjdCB0aW1lcl9saXN0 ICp0KQogICAgICAgICB1bnNpZ25lZCBpbnQgcGlwZSA9IHZibGFuay0+cGlwZTsKICAgICAgICAg dW5zaWduZWQgbG9uZyBpcnFmbGFnczsKCisgICAgICAgcHJfZXJyKCJ2Ymw6ICVzIC0gdGltZXIg ZXhwaXJlc1xuIiwgX19mdW5jX18pOworCiAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZkZXYt PnZibF9sb2NrLCBpcnFmbGFncyk7CiAgICAgICAgIGlmIChhdG9taWNfcmVhZCgmdmJsYW5rLT5y ZWZjb3VudCkgPT0gMCAmJiB2YmxhbmstPmVuYWJsZWQpIHsKICAgICAgICAgICAgICAgICBEUk1f REVCVUcoImRpc2FibGluZyB2Ymxhbmsgb24gY3J0YyAldVxuIiwgcGlwZSk7CkBAIC0xNjg1LDcg KzE2OTAsNyBAQCBib29sIGRybV9oYW5kbGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IAp1bnNpZ25lZCBpbnQgcGlwZSkKICAgICAgICAgc3RydWN0IGRybV92YmxhbmtfY3J0YyAqdmJs YW5rID0gJmRldi0+dmJsYW5rW3BpcGVdOwogICAgICAgICB1bnNpZ25lZCBsb25nIGlycWZsYWdz OwogICAgICAgICBib29sIGRpc2FibGVfaXJxOwotCisKICAgICAgICAgaWYgKFdBUk5fT05fT05D RSghZGV2LT5udW1fY3J0Y3MpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCkBAIC0x Njk0LDYgKzE2OTksOSBAQCBib29sIGRybV9oYW5kbGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIAp1bnNpZ25lZCBpbnQgcGlwZSkKCiAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZk ZXYtPmV2ZW50X2xvY2ssIGlycWZsYWdzKTsKCisgICAgICAgcHJfZXJyKCJ2Ymw6ICVzIC0gYWNx dWlyZSB2YmxhbmtfdGltZV9sb2NrXG4iLCBfX2Z1bmNfXyk7CisKKwogICAgICAgICAvKiBOZWVk IHRpbWVzdGFtcCBsb2NrIHRvIHByZXZlbnQgY29uY3VycmVudCBleGVjdXRpb24gd2l0aAogICAg ICAgICAgKiB2YmxhbmsgZW5hYmxlL2Rpc2FibGUsIGFzIHRoaXMgd291bGQgY2F1c2UgaW5jb25z aXN0ZW50CiAgICAgICAgICAqIG9yIGNvcnJ1cHRlZCB0aW1lc3RhbXBzIGFuZCB2YmxhbmsgY291 bnRzLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXIuYyAKYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCmluZGV4 IDM2MTU4YjcuLmMyZTVmMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2VuY29kZXIuYwpAQCAtMTIzOSw3ICsxMjM5LDkgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJf dmJsYW5rX2NhbGxiYWNrKHN0cnVjdCAKZHJtX2VuY29kZXIgKmRybV9lbmMsCiAgICAgICAgIERQ VV9BVFJBQ0VfQkVHSU4oImVuY29kZXJfdmJsYW5rX2NhbGxiYWNrIik7CiAgICAgICAgIGRwdV9l bmMgPSB0b19kcHVfZW5jb2Rlcl92aXJ0KGRybV9lbmMpOwoKKyAgICAgICBwcl9lcnIoInZibDog JXMgLSBhY3F1aXJlIGVuY19zcGlubG9ja1xuIiwgX19mdW5jX18pOwogICAgICAgICBzcGluX2xv Y2tfaXJxc2F2ZSgmZHB1X2VuYy0+ZW5jX3NwaW5sb2NrLCBsb2NrX2ZsYWdzKTsKKwogICAgICAg ICBpZiAoZHB1X2VuYy0+Y3J0YykKICAgICAgICAgICAgICAgICBkcHVfY3J0Y192YmxhbmtfY2Fs bGJhY2soZHB1X2VuYy0+Y3J0Yyk7CiAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRw dV9lbmMtPmVuY19zcGlubG9jaywgbG9ja19mbGFncyk7CkBAIC0xMjgyLDYgKzEyODQsOCBAQCB2 b2lkIGRwdV9lbmNvZGVyX3RvZ2dsZV92YmxhbmtfZm9yX2NydGMoc3RydWN0IApkcm1fZW5jb2Rl ciAqZHJtX2VuYywKCiAgICAgICAgIHRyYWNlX2RwdV9lbmNfdmJsYW5rX2NiKERSTUlEKGRybV9l bmMpLCBlbmFibGUpOwoKKyAgICAgICBwcl9lcnIoInZibDogJXMgLSBhY3F1aXJlIGVuY19zcGlu bG9ja1xuIiwgX19mdW5jX18pOworCiAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZkcHVfZW5j LT5lbmNfc3BpbmxvY2ssIGxvY2tfZmxhZ3MpOwogICAgICAgICBpZiAoZHB1X2VuYy0+Y3J0YyAh PSBjcnRjKSB7CiAgICAgICAgICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHB1X2Vu Yy0+ZW5jX3NwaW5sb2NrLCAKbG9ja19mbGFncyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jIApiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMKaW5kZXggZTMxMjVhMS4uYTc0 ZjFhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXJfcGh5c192aWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5j b2Rlcl9waHlzX3ZpZC5jCkBAIC0zMTYsNiArMzE2LDggQEAgc3RhdGljIHZvaWQgZHB1X2VuY29k ZXJfcGh5c192aWRfdmJsYW5rX2lycSh2b2lkIAoqYXJnLCBpbnQgaXJxX2lkeCkKCiAgICAgICAg IERQVV9BVFJBQ0VfQkVHSU4oInZibGFua19pcnEiKTsKCisgICAgICAgcHJfZXJyKCJ2Ymw6ICVz IFxuIiwgX19mdW5jX18pOworCiAgICAgICAgIGlmIChwaHlzX2VuYy0+cGFyZW50X29wcy0+aGFu ZGxlX3ZibGFua192aXJ0KQogICAgICAgICAgICAgICAgIApwaHlzX2VuYy0+cGFyZW50X29wcy0+ aGFuZGxlX3ZibGFua192aXJ0KHBoeXNfZW5jLT5wYXJlbnQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBoeXNfZW5jKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2Rydi5jIApiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCmluZGV4IGJkNTI3Yjcu Ljk5Yjc0ZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCkBAIC0yNDksNyArMjQ5LDcgQEAgc3RhdGlj IGludCB2YmxhbmtfY3RybF9xdWV1ZV93b3JrKHN0cnVjdCAKbXNtX2RybV9wcml2YXRlICpwcml2 LAogICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgICAgICBzdHJ1Y3QgbXNtX2ttcyAq a21zID0gcHJpdi0+a21zOwoKKyAgICAgICBwcl9lcnIoInZibDogJXNcbiIsIF9fZnVuY19fKTsK CiAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOwogICAg ICAgICBpZiAoZW5hYmxlKQoKVGhhbmtzLApKZXlrdW1hciBTLgoKPj4gVGhlIGZpcnN0Cj4+IHRy eWluZyB0byBhY3F1aXJlCj4+IHZibF90aW1lX2xvY2sgaG9sZGluZyBlbmNfc3BpbmxvY2suIE90 aGVyIHRyeWluZyB0byBhY3F1aXJlIAo+PiBlbmNfc3BpbmxvY2sKPj4gaG9sZGluZwo+PiB2Ymxf dGltZV9sb2NrLgo+PiAKPj4gVGhhbmtzLAo+PiBKZXlrdW1hciBTLgo+PiAKPj4gCj4+ID4gPiB2 YmwgZGlzYWJsZSB3aWxsIHRyeSB0byBhY3F1aXJlIHRoZSBsb2NrcyBpbiB0aGUgb3Bwb3NpdGUg b3JkZXIgdG8KPj4gPiA+IHRoYXQKPj4gPiBvZgo+PiA+ID4gaXJxX2hhbmRsZXIgYW5kIHRoZQo+ PiA+ID4gc2FtZSBpc3N1ZSBpcyBib3VuZCB0byBoYXBwZW4uCj4+ID4gPgo+PiA+ID4gV2l0aCB5 b3VyIHBhdGNoLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gc2ltdWxhdGUgdGhpcyBkZWFkbG9jayBp ZiB5b3UKPj4gPiA+IGNhbgo+PiA+ID4gaW5qZWN0IGEgZGVsYXkKPj4gPiA+IGJ5IGFkZGluZyBh IHByX2VyciBsb2cgaW4gdmJsYW5rX2N0cmxfcXVldWVfd29yawo+PiA+ID4KPj4gPiA+IFRoYW5r cywKPj4gPiA+IEpleWt1bWFyIFMuCj4+ID4gPgo+PiA+ID4gPiBUaGUgb25seSB0aGluZyBJIGNh biB0aGluayBvZiBpcyB0aGF0IHRoZSB2YmxhbmsgaW50ZXJydXB0cyBhcmUKPiBmaXJpbmcKPj4g PiA+ID4gYWZ0ZXIKPj4gPiA+ID4gdmJsYW5rIGhhcyBiZWVuIGRpc2FibGVkPyBJbiB0aGF0IGNh c2UsIGl0IHNlZW1zIGxpa2Ugd2Ugc2hvdWxkCj4+ID4gcHJvcGVybHkKPj4gPiA+ID4gZmx1c2gK Pj4gPiA+ID4gdGhlbS4KPj4gPiA+ID4KPj4gPiA+ID4gU2Vhbgo+PiA+ID4gPgo+PiA+ID4gPgo+ PiA+ID4gPiA+Cj4+ID4gPiA+ID4KPj4gPiA+ID4gPiA+IEkgZG8gc2VlIHRoYXQgdGhlcmUgaXMg YSBjaGFuY2UgdG8gY2FsbCBkcm1faGFuZGxlX3ZibGFuaygpCj4gd2hpbGUKPj4gPiA+ID4gPiA+ IGhvbGRpbmcKPj4gPiA+ID4gPiA+IGVuY19zcGlubG9jaywgYnV0IGNvdWxkbid0IGZpbmQgYW55 IG9idmlvdXMgbG9jayByZWN1cnNpb24KPiB0aGVyZS4KPj4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4g PiBNYXliZSBhIGNhbGxzdGFjayBvciBsb2NrZGVwIHNwbGF0IHdvdWxkIGhlbHA/Cj4+ID4gPiA+ ID4gPgo+PiA+ID4gPiA+ID4gU2Vhbgo+PiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+Cj4+ID4gPiA+ ID4gPiBIZXJlJ3MgbXkgaGFjayB0byBieXBhc3MgdGhlIGRpc3BsYXkgdGhyZWFkOgo+PiA+ID4g PiA+ID4KPj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9k cnYuYwo+PiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwo+PiA+ID4g PiA+ID4gaW5kZXggOWM5ZjdmZjY5NjBiMzguLjVhM2NhYzU4MjUzMTllIDEwMDY0NAo+PiA+ID4g PiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKPj4gPiA+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCj4+ID4gPiA+ID4gPiBAQCAtMjQyLDI0 ICsyNDIsMTkgQEAgc3RhdGljIHZvaWQgdmJsYW5rX2N0cmxfd29ya2VyKHN0cnVjdAo+PiA+ID4g PiBrdGhyZWFkX3dvcmsKPj4gPiA+ID4gPiA+ICp3b3JrKQo+PiA+ID4gPiA+ID4gIHN0YXRpYyBp bnQgdmJsYW5rX2N0cmxfcXVldWVfd29yayhzdHJ1Y3QgbXNtX2RybV9wcml2YXRlCj4gKnByaXYs Cj4+ID4gPiA+ID4gPiAgCQkJCQlpbnQgY3J0Y19pZCwgYm9vbCBlbmFibGUpCj4+ID4gPiA+ID4g PiAgewo+PiA+ID4gPiA+ID4gKwlzdHJ1Y3QgbXNtX2ttcyAqa21zID0gcHJpdi0+a21zOwo+PiA+ ID4gPiA+ID4gIAlzdHJ1Y3QgbXNtX3ZibGFua19jdHJsICp2YmxfY3RybCA9ICZwcml2LT52Ymxh bmtfY3RybDsKPj4gPiA+ID4gPiA+IC0Jc3RydWN0IHZibGFua19ldmVudCAqdmJsX2V2Owo+PiA+ ID4gPiA+ID4gIAl1bnNpZ25lZCBsb25nIGZsYWdzOwo+PiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ IC0JdmJsX2V2ID0ga3phbGxvYyhzaXplb2YoKnZibF9ldiksIEdGUF9BVE9NSUMpOwo+PiA+ID4g PiA+ID4gLQlpZiAoIXZibF9ldikKPj4gPiA+ID4gPiA+IC0JCXJldHVybiAtRU5PTUVNOwo+PiA+ ID4gPiA+ID4gKwlzcGluX2xvY2tfaXJxc2F2ZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPj4g PiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiAtCXZibF9ldi0+Y3J0Y19pZCA9IGNydGNfaWQ7Cj4+ID4g PiA+ID4gPiAtCXZibF9ldi0+ZW5hYmxlID0gZW5hYmxlOwo+PiA+ID4gPiA+ID4gKwlpZiAoZW5h YmxlKQo+PiA+ID4gPiA+ID4gKwkJa21zLT5mdW5jcy0+ZW5hYmxlX3ZibGFuayhrbXMsCj4+ID4g cHJpdi0+Y3J0Y3NbY3J0Y19pZF0pOwo+PiA+ID4gPiA+ID4gKwllbHNlCj4+ID4gPiA+ID4gPiAr CQlrbXMtPmZ1bmNzLT5kaXNhYmxlX3ZibGFuayhrbXMsCj4+ID4gcHJpdi0+Y3J0Y3NbY3J0Y19p ZF0pOwo+PiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+IC0Jc3Bpbl9sb2NrX2lycXNhdmUoJnZibF9j dHJsLT5sb2NrLCBmbGFncyk7Cj4+ID4gPiA+ID4gPiAtCWxpc3RfYWRkX3RhaWwoJnZibF9ldi0+ bm9kZSwgJnZibF9jdHJsLT5ldmVudF9saXN0KTsKPj4gPiA+ID4gPiA+ICAJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPj4gPiA+ID4gPiA+Cj4+ID4gPiA+ ID4gPiAtCWt0aHJlYWRfcXVldWVfd29yaygmcHJpdi0+ZGlzcF90aHJlYWRbY3J0Y19pZF0ud29y a2VyLAo+PiA+ID4gPiA+ID4gLQkJCSZ2YmxfY3RybC0+d29yayk7Cj4+ID4gPiA+ID4gPiAtCj4+ ID4gPiA+ID4gPiAgCXJldHVybiAwOwo+PiA+ID4gPiA+ID4gIH0KPj4gPiA+ID4gPiA+Cj4+ID4g PiA+ID4gRXZlbiB3aXRoIHlvdXIgcGF0Y2ggYWJvdmUsIEkgc2VlIGZyYW1lIGlzIGdldHRpbmcg c3R1Y2sgYnV0IGl0Cj4+ID4gPiA+ID4gcmVjb3ZlcnMKPj4gPiA+ID4gaW4KPj4gPiA+ID4gPiBh IHdoaWxlLgo+PiA+ID4gPiA+IFRoZSBwYXRjaCBJIHRyaWVkIHdhcyBhc3NpZ25pbmcKPj4gPiA+ ID4gY3J0Yy0+ZnVuY3MtPmVuYWJsZV92YmxhbmsvZGlzYWJsZV92Ymxhbmsgc28KPj4gPiA+ID4g PiB0aGF0Cj4+ID4gPiA+ID4gX19lbmFibGVfdmJsYW5rIGNhbiBjYWxsIGNydGMgZGlyZWN0bHku IEJ1dCB0aGUgYWJvdmUgY2FsbHN0YWNrCj4gaXMKPj4gPiA+ID4gPiBzdGlsbAo+PiA+ID4gPiA+ IHZhbGlkIGZvciB5b3VyIHBhdGNoLgo+PiA+ID4gPiA+Cj4+ID4gPiA+ID4gVGhhbmtzLAo+PiA+ ID4gPiA+IEpleWt1bWFyIFMuCj4+ID4gPiA+ID4gPgo+PiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ ID4KPj4gPiA+ID4gPiA+ID4gSW4gTURQNSwgSSBzZWUgdGhlIHNhbWUgcGF0dGVybiBiZXR3ZWVu IHZibGFua190aW1lX2xvY2sgYW5kCj4+ID4gPiA+IGxpc3RfbG9jawo+PiA+ID4gPiA+ID4gd2hp Y2gKPj4gPiA+ID4gPiA+ID4gaXMgdXNlZCB0byB0cmFjayB0aGUgaXJxIGhhbmRsZXJzLgo+PiA+ ID4gPiA+ID4gPgo+PiA+ID4gPiA+ID4gPiBJIGJlbGlldmUgdGhhdCBleHBsYWlucyB3aHkgbXNt X2RydiBpcyBxdWV1aW5nIHRoZSB2YmxhbmsKPj4gPiA+ID4gPiA+ID4gZW5hYmxlL2Rpc2FibGUK Pj4gPiA+ID4gPiA+ID4gd29ya3MgdG8gV1EgYWZ0ZXIgYWNxdWlyaW5nIHZibGFua190aW1lX2xv Y2suCj4+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+IFRoYW5rcywKPj4gPiA+ID4gPiA+ID4g SmV5a3VtYXIgUy4KPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gPiBTZWFuCj4+ID4gPiA+ ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiBTaWduZWQtb2Zm LWJ5OiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgo+PiA+ID4gPiA+ ID4gPiA+ID4gLS0tCj4+ID4gPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZHJ2LmMgfCA2Nwo+PiA+ID4gPiA+ID4gPiA+ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPj4gPiA+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9kcnYuaCB8ICA3IC0tLS0tCj4+ID4gPiA+ID4gPiA+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAy MCBpbnNlcnRpb25zKCspLCA1NCBkZWxldGlvbnMoLSkKPj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4g PiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMK Pj4gPiA+ID4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCj4+ID4gPiA+ ID4gPiA+ID4gPiBpbmRleCA2ZDZjNzNiLi44ZGE1YmUyIDEwMDY0NAo+PiA+ID4gPiA+ID4gPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKPj4gPiA+ID4gPiA+ID4gPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCj4+ID4gPiA+ID4gPiA+ID4gPiBA QCAtMjAzLDYxICsyMDMsNDQgQEAgdTMyIG1zbV9yZWFkbChjb25zdCB2b2lkIF9faW9tZW0KPj4g PiAqYWRkcikKPj4gPiA+ID4gPiA+ID4gPiA+ICAJcmV0dXJuIHZhbDsKPj4gPiA+ID4gPiA+ID4g PiA+ICB9Cj4+ID4gPiA+ID4gPiA+ID4gPgo+PiA+ID4gPiA+ID4gPiA+ID4gLXN0cnVjdCB2Ymxh bmtfZXZlbnQgewo+PiA+ID4gPiA+ID4gPiA+ID4gLQlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7Cj4+ ID4gPiA+ID4gPiA+ID4gPiArc3RydWN0IG1zbV92Ymxhbmtfd29yayB7Cj4+ID4gPiA+ID4gPiA+ ID4gPiArCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwo+PiA+ID4gPiA+ID4gPiA+ID4gIAlpbnQg Y3J0Y19pZDsKPj4gPiA+ID4gPiA+ID4gPiA+ICAJYm9vbCBlbmFibGU7Cj4+ID4gPiA+ID4gPiA+ ID4gPiArCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXY7Cj4+ID4gPiA+ID4gPiA+ID4gPiAg fTsKPj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiAgc3RhdGljIHZvaWQgdmJs YW5rX2N0cmxfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdAo+ICp3b3JrKQo+PiA+ID4gPiA+ID4g PiA+ID4gIHsKPj4gPiA+ID4gPiA+ID4gPiA+IC0Jc3RydWN0IG1zbV92YmxhbmtfY3RybCAqdmJs X2N0cmwgPQo+IGNvbnRhaW5lcl9vZih3b3JrLAo+PiA+ID4gPiA+ID4gPiA+ID4gLQkJCQkJCXN0 cnVjdAo+PiA+ID4gPiBtc21fdmJsYW5rX2N0cmwsCj4+ID4gPiA+ID4gPiA+ID4gd29yayk7Cj4+ ID4gPiA+ID4gPiA+ID4gPiAtCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPQo+IGNvbnRh aW5lcl9vZih2YmxfY3RybCwKPj4gPiA+ID4gPiA+ID4gPiA+IC0JCQkJCXN0cnVjdAo+IG1zbV9k cm1fcHJpdmF0ZSwKPj4gPiA+ID4gPiA+ID4gPiB2YmxhbmtfY3RybCk7Cj4+ID4gPiA+ID4gPiA+ ID4gPiArCXN0cnVjdCBtc21fdmJsYW5rX3dvcmsgKnZibF93b3JrID0KPiBjb250YWluZXJfb2Yo d29yaywKPj4gPiA+ID4gPiA+ID4gPiA+ICsJCQkJCQlzdHJ1Y3QKPj4gPiA+ID4gbXNtX3ZibGFu a193b3JrLAo+PiA+ID4gPiA+ID4gPiA+IHdvcmspOwo+PiA+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1 Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gdmJsX3dvcmstPnByaXY7Cj4+ID4gPiA+ID4gPiA+ ID4gPiAgCXN0cnVjdCBtc21fa21zICprbXMgPSBwcml2LT5rbXM7Cj4+ID4gPiA+ID4gPiA+ID4g PiAtCXN0cnVjdCB2YmxhbmtfZXZlbnQgKnZibF9ldiwgKnRtcDsKPj4gPiA+ID4gPiA+ID4gPiA+ IC0JdW5zaWduZWQgbG9uZyBmbGFnczsKPj4gPiA+ID4gPiA+ID4gPiA+IC0KPj4gPiA+ID4gPiA+ ID4gPiA+IC0Jc3Bpbl9sb2NrX2lycXNhdmUoJnZibF9jdHJsLT5sb2NrLCBmbGFncyk7Cj4+ID4g PiA+ID4gPiA+ID4gPiAtCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2YmxfZXYsIHRtcCwKPj4g PiA+ID4gJnZibF9jdHJsLT5ldmVudF9saXN0LCBub2RlKQo+PiA+ID4gPiA+ID4gPiA+IHsKPj4g PiA+ID4gPiA+ID4gPiA+IC0JCWxpc3RfZGVsKCZ2YmxfZXYtPm5vZGUpOwo+PiA+ID4gPiA+ID4g PiA+ID4gLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdmJsX2N0cmwtPmxvY2ssCj4gZmxhZ3Mp Owo+PiA+ID4gPiA+ID4gPiA+ID4gLQo+PiA+ID4gPiA+ID4gPiA+ID4gLQkJaWYgKHZibF9ldi0+ ZW5hYmxlKQo+PiA+ID4gPiA+ID4gPiA+ID4gLQkJCWttcy0+ZnVuY3MtPmVuYWJsZV92Ymxhbmso a21zLAo+PiA+ID4gPiA+ID4gPiA+ID4gLQo+PiA+ID4gPiA+ID4gPiA+IHByaXYtPmNydGNzW3Zi bF9ldi0+Y3J0Y19pZF0pOwo+PiA+ID4gPiA+ID4gPiA+ID4gLQkJZWxzZQo+PiA+ID4gPiA+ID4g PiA+ID4gLQkJCWttcy0+ZnVuY3MtPmRpc2FibGVfdmJsYW5rKGttcywKPj4gPiA+ID4gPiA+ID4g PiA+IC0KPj4gPiA+ID4gPiA+ID4gPiBwcml2LT5jcnRjc1t2YmxfZXYtPmNydGNfaWRdKTsKPj4g PiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCQlrZnJlZSh2YmxfZXYpOwo+PiA+ ID4gPiA+ID4gPiA+ID4gLQo+PiA+ID4gPiA+ID4gPiA+ID4gLQkJc3Bpbl9sb2NrX2lycXNhdmUo JnZibF9jdHJsLT5sb2NrLCBmbGFncyk7Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCX0KPj4gPiA+ID4g PiA+ID4gPiA+ICsJaWYgKHZibF93b3JrLT5lbmFibGUpCj4+ID4gPiA+ID4gPiA+ID4gPiArCQlr bXMtPmZ1bmNzLT5lbmFibGVfdmJsYW5rKGttcywKPj4gPiA+ID4gPiA+ID4gPiBwcml2LT5jcnRj c1t2Ymxfd29yay0+Y3J0Y19pZF0pOwo+PiA+ID4gPiA+ID4gPiA+ID4gKwllbHNlCj4+ID4gPiA+ ID4gPiA+ID4gPiArCQlrbXMtPmZ1bmNzLT5kaXNhYmxlX3ZibGFuayhrbXMsCj4+ID4gPiA+ID4g PiA+ID4gcHJpdi0+Y3J0Y3NbdmJsX3dvcmstPmNydGNfaWRdKTsKPj4gPiA+ID4gPiA+ID4gPiA+ Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZibF9jdHJsLT5s b2NrLCBmbGFncyk7Cj4+ID4gPiA+ID4gPiA+ID4gPiArCWtmcmVlKHZibF93b3JrKTsKPj4gPiA+ ID4gPiA+ID4gPiA+ICB9Cj4+ID4gPiA+ID4gPiA+ID4gPgo+PiA+ID4gPiA+ID4gPiA+ID4gIHN0 YXRpYyBpbnQgdmJsYW5rX2N0cmxfcXVldWVfd29yayhzdHJ1Y3QKPiBtc21fZHJtX3ByaXZhdGUK Pj4gPiAqcHJpdiwKPj4gPiA+ID4gPiA+ID4gPiA+ICAJCQkJCWludCBjcnRjX2lkLCBib29sCj4g ZW5hYmxlKQo+PiA+ID4gPiA+ID4gPiA+ID4gIHsKPj4gPiA+ID4gPiA+ID4gPiA+IC0Jc3RydWN0 IG1zbV92YmxhbmtfY3RybCAqdmJsX2N0cmwgPQo+ICZwcml2LT52YmxhbmtfY3RybDsKPj4gPiA+ ID4gPiA+ID4gPiA+IC0Jc3RydWN0IHZibGFua19ldmVudCAqdmJsX2V2Owo+PiA+ID4gPiA+ID4g PiA+ID4gLQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+PiA+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3Qg bXNtX3ZibGFua193b3JrICp2Ymxfd29yazsKPj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4g PiA+ID4gPiAtCXZibF9ldiA9IGt6YWxsb2Moc2l6ZW9mKCp2YmxfZXYpLCBHRlBfQVRPTUlDKTsK Pj4gPiA+ID4gPiA+ID4gPiA+IC0JaWYgKCF2YmxfZXYpCj4+ID4gPiA+ID4gPiA+ID4gPiArCXZi bF93b3JrID0ga3phbGxvYyhzaXplb2YoKnZibF93b3JrKSwgR0ZQX0FUT01JQyk7Cj4+ID4gPiA+ ID4gPiA+ID4gPiArCWlmICghdmJsX3dvcmspCj4+ID4gPiA+ID4gPiA+ID4gPiAgCQlyZXR1cm4g LUVOT01FTTsKPj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCXZibF9ldi0+ Y3J0Y19pZCA9IGNydGNfaWQ7Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCXZibF9ldi0+ZW5hYmxlID0g ZW5hYmxlOwo+PiA+ID4gPiA+ID4gPiA+ID4gKwlJTklUX1dPUksoJnZibF93b3JrLT53b3JrLCB2 YmxhbmtfY3RybF93b3JrZXIpOwo+PiA+ID4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gPiA+ IC0Jc3Bpbl9sb2NrX2lycXNhdmUoJnZibF9jdHJsLT5sb2NrLCBmbGFncyk7Cj4+ID4gPiA+ID4g PiA+ID4gPiAtCWxpc3RfYWRkX3RhaWwoJnZibF9ldi0+bm9kZSwKPiAmdmJsX2N0cmwtPmV2ZW50 X2xpc3QpOwo+PiA+ID4gPiA+ID4gPiA+ID4gLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2Ymxf Y3RybC0+bG9jaywgZmxhZ3MpOwo+PiA+ID4gPiA+ID4gPiA+ID4gKwl2Ymxfd29yay0+Y3J0Y19p ZCA9IGNydGNfaWQ7Cj4+ID4gPiA+ID4gPiA+ID4gPiArCXZibF93b3JrLT5lbmFibGUgPSBlbmFi bGU7Cj4+ID4gPiA+ID4gPiA+ID4gPiArCXZibF93b3JrLT5wcml2ID0gcHJpdjsKPj4gPiA+ID4g PiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCXNjaGVkdWxlX3dvcmsoJnZibF9jdHJsLT53 b3JrKTsKPj4gPiA+ID4gPiA+ID4gPiA+ICsJc2NoZWR1bGVfd29yaygmdmJsX3dvcmstPndvcmsp Owo+PiA+ID4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gPiA+ICAJcmV0dXJuIDA7Cj4+ID4g PiA+ID4gPiA+ID4gPiAgfQo+PiA+ID4gPiA+ID4gPiA+ID4gQEAgLTI2OSwxNCArMjUyLDEzIEBA IHN0YXRpYyBpbnQgbXNtX2RybV91bmluaXQoc3RydWN0Cj4+ID4gZGV2aWNlCj4+ID4gPiA+ICpk ZXYpCj4+ID4gPiA+ID4gPiA+ID4gPiAgCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBk ZGV2LT5kZXZfcHJpdmF0ZTsKPj4gPiA+ID4gPiA+ID4gPiA+ICAJc3RydWN0IG1zbV9rbXMgKmtt cyA9IHByaXYtPmttczsKPj4gPiA+ID4gPiA+ID4gPiA+ICAJc3RydWN0IG1zbV9tZHNzICptZHNz ID0gcHJpdi0+bWRzczsKPj4gPiA+ID4gPiA+ID4gPiA+IC0Jc3RydWN0IG1zbV92YmxhbmtfY3Ry bCAqdmJsX2N0cmwgPQo+ICZwcml2LT52YmxhbmtfY3RybDsKPj4gPiA+ID4gPiA+ID4gPiA+IC0J c3RydWN0IHZibGFua19ldmVudCAqdmJsX2V2LCAqdG1wOwo+PiA+ID4gPiA+ID4gPiA+ID4gIAlp bnQgaTsKPj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiAgCS8qIFdlIG11c3Qg Y2FuY2VsIGFuZCBjbGVhbnVwIGFueSBwZW5kaW5nIHZibGFuawo+PiA+ID4gPiBlbmFibGUvZGlz YWJsZQo+PiA+ID4gPiA+ID4gPiA+ID4gIAkgKiB3b3JrIGJlZm9yZSBkcm1faXJxX3VuaW5zdGFs bCgpIHRvIGF2b2lkIHdvcmsKPj4gPiA+ID4gcmUtZW5hYmxpbmcgYW4KPj4gPiA+ID4gPiA+ID4g PiA+ICAJICogaXJxIGFmdGVyIHVuaW5zdGFsbCBoYXMgZGlzYWJsZWQgaXQuCj4+ID4gPiA+ID4g PiA+ID4gPiAgCSAqLwo+PiA+ID4gPiA+ID4gPiA+ID4gKwo+PiA+ID4gPiA+ID4gPiA+ID4gIAlt c21fZ2VtX3Nocmlua2VyX2NsZWFudXAoZGRldik7Cj4+ID4gPiA+ID4gPiA+ID4gPgo+PiA+ID4g PiA+ID4gPiA+ID4gIAlkcm1fa21zX2hlbHBlcl9wb2xsX2ZpbmkoZGRldik7Cj4+ID4gPiA+ID4g PiA+ID4gPiBAQCAtMjkyLDEyICsyNzQsNiBAQCBzdGF0aWMgaW50IG1zbV9kcm1fdW5pbml0KHN0 cnVjdAo+IGRldmljZQo+PiA+ID4gPiAqZGV2KQo+PiA+ID4gPiA+ID4gPiA+ID4gICNlbmRpZgo+ PiA+ID4gPiA+ID4gPiA+ID4gIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkZGV2KTsKPj4gPiA+ ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCWZsdXNoX3dvcmsoJnZibF9jdHJsLT53 b3JrKTsKPj4gPiA+ID4gPiA+ID4gPiA+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZibF9l diwgdG1wLAo+PiA+ID4gPiAmdmJsX2N0cmwtPmV2ZW50X2xpc3QsIG5vZGUpCj4+ID4gPiA+ID4g PiA+ID4gewo+PiA+ID4gPiA+ID4gPiA+ID4gLQkJbGlzdF9kZWwoJnZibF9ldi0+bm9kZSk7Cj4+ ID4gPiA+ID4gPiA+ID4gPiAtCQlrZnJlZSh2YmxfZXYpOwo+PiA+ID4gPiA+ID4gPiA+ID4gLQl9 Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCj4+ID4gPiA+ID4gPiA+ID4gPiAgCS8qIGNsZWFuIHVwIGV2 ZW50IHdvcmtlciB0aHJlYWRzICovCj4+ID4gPiA+ID4gPiA+ID4gPiAgCWZvciAoaSA9IDA7IGkg PCBwcml2LT5udW1fY3J0Y3M7IGkrKykgewo+PiA+ID4gPiA+ID4gPiA+ID4gIAkJaWYgKHByaXYt PmV2ZW50X3RocmVhZFtpXS50aHJlYWQpIHsKPj4gPiA+ID4gPiA+ID4gPiA+IEBAIC00NjksOSAr NDQ1LDYgQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQoc3RydWN0Cj4gZGV2aWNlCj4+ID4gKmRl diwKPj4gPiA+ID4gPiA+IHN0cnVjdAo+PiA+ID4gPiA+ID4gPiA+IGRybV9kcml2ZXIgKmRydikK Pj4gPiA+ID4gPiA+ID4gPiA+ICAJcHJpdi0+d3EgPSBhbGxvY19vcmRlcmVkX3dvcmtxdWV1ZSgi bXNtIiwgMCk7Cj4+ID4gPiA+ID4gPiA+ID4gPgo+PiA+ID4gPiA+ID4gPiA+ID4gIAlJTklUX0xJ U1RfSEVBRCgmcHJpdi0+aW5hY3RpdmVfbGlzdCk7Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCUlOSVRf TElTVF9IRUFEKCZwcml2LT52YmxhbmtfY3RybC5ldmVudF9saXN0KTsKPj4gPiA+ID4gPiA+ID4g PiA+IC0JSU5JVF9XT1JLKCZwcml2LT52YmxhbmtfY3RybC53b3JrLAo+IHZibGFua19jdHJsX3dv cmtlcik7Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCXNwaW5fbG9ja19pbml0KCZwcml2LT52Ymxhbmtf Y3RybC5sb2NrKTsKPj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiAgCWRybV9t b2RlX2NvbmZpZ19pbml0KGRkZXYpOwo+PiA+ID4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAo+PiA+ID4gPiA+ ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPj4gPiA+ID4gPiA+ID4gPiA+ IGluZGV4IDA1ZDMzYTcuLmQ0Y2JkZTIgMTAwNjQ0Cj4+ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAo+PiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPj4gPiA+ID4gPiA+ID4gPiA+IEBAIC03NywxMiAr NzcsNiBAQCBlbnVtIG1zbV9tZHBfcGxhbmVfcHJvcGVydHkgewo+PiA+ID4gPiA+ID4gPiA+ID4g IAlQTEFORV9QUk9QX01BWF9OVU0KPj4gPiA+ID4gPiA+ID4gPiA+ICB9Owo+PiA+ID4gPiA+ID4g PiA+ID4KPj4gPiA+ID4gPiA+ID4gPiA+IC1zdHJ1Y3QgbXNtX3ZibGFua19jdHJsIHsKPj4gPiA+ ID4gPiA+ID4gPiA+IC0Jc3RydWN0IHdvcmtfc3RydWN0IHdvcms7Cj4+ID4gPiA+ID4gPiA+ID4g PiAtCXN0cnVjdCBsaXN0X2hlYWQgZXZlbnRfbGlzdDsKPj4gPiA+ID4gPiA+ID4gPiA+IC0Jc3Bp bmxvY2tfdCBsb2NrOwo+PiA+ID4gPiA+ID4gPiA+ID4gLX07Cj4+ID4gPiA+ID4gPiA+ID4gPiAt Cj4+ID4gPiA+ID4gPiA+ID4gPiAgI2RlZmluZSBNU01fR1BVX01BWF9SSU5HUyA0Cj4+ID4gPiA+ ID4gPiA+ID4gPiAgI2RlZmluZSBNQVhfSF9USUxFU19QRVJfRElTUExBWSAyCj4+ID4gPiA+ID4g PiA+ID4gPgo+PiA+ID4gPiA+ID4gPiA+ID4gQEAgLTIyNSw3ICsyMTksNiBAQCBzdHJ1Y3QgbXNt X2RybV9wcml2YXRlIHsKPj4gPiA+ID4gPiA+ID4gPiA+ICAJc3RydWN0IG5vdGlmaWVyX2Jsb2Nr IHZtYXBfbm90aWZpZXI7Cj4+ID4gPiA+ID4gPiA+ID4gPiAgCXN0cnVjdCBzaHJpbmtlciBzaHJp bmtlcjsKPj4gPiA+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiAtCXN0cnVjdCBtc21f dmJsYW5rX2N0cmwgdmJsYW5rX2N0cmw7Cj4+ID4gPiA+ID4gPiA+ID4gPiAgCXN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpwbV9zdGF0ZTsKPj4gPiA+ID4gPiA+ID4gPiA+ICB9Owo+PiA+ID4gPiA+ ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gPiA+IC0tCj4+ID4gPiA+ID4gPiA+ID4gPiBUaGUgUXVh bGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlCj4gQ29kZQo+ PiA+ID4gPiBBdXJvcmEKPj4gPiA+ID4gPiA+ID4gPiBGb3J1bSwKPj4gPiA+ID4gPiA+ID4gPiA+ IGEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKPj4gPiA+ID4gPiA+ID4g PiA+Cj4+ID4gPiA+ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+PiA+ID4gPiA+ID4gPiA+ID4gRnJlZWRyZW5vIG1haWxpbmcgbGlzdAo+ PiA+ID4gPiA+ID4gPiA+ID4gRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiA+ID4g PiA+ID4gPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9mcmVlZHJlbm8KPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gLS0KPj4gPiA+ID4gPiA+ ID4gSmV5a3VtYXIgUwo+PiA+ID4gPiA+Cj4+ID4gPiA+ID4gLS0KPj4gPiA+ID4gPiBKZXlrdW1h ciBTCj4+ID4gPgo+PiA+ID4gLS0KPj4gPiA+IEpleWt1bWFyIFMKPj4gCj4+IC0tCj4+IEpleWt1 bWFyIFMKCi0tIApKZXlrdW1hciBTCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ZyZWVkcmVubwo=