From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/1] drm/i915: Fix fb object's frontbuffer-bits Date: Mon, 14 Sep 2015 10:48:07 +0200 Message-ID: <20150914084807.GN3383@phenom.ffwll.local> References: <1441613031-27238-1-git-send-email-sagar.a.kamble@intel.com> <20150907164136.GF32505@phenom.ffwll.local> <55F4756B.3060100@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f174.google.com (mail-wi0-f174.google.com [209.85.212.174]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1624E6E7CE for ; Mon, 14 Sep 2015 01:45:24 -0700 (PDT) Received: by wicge5 with SMTP id ge5so132192583wic.0 for ; Mon, 14 Sep 2015 01:45:22 -0700 (PDT) Content-Disposition: inline In-Reply-To: <55F4756B.3060100@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Kamble, Sagar A" Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gU3VuLCBTZXAgMTMsIDIwMTUgYXQgMTI6MjY6NDNBTSArMDUzMCwgS2FtYmxlLCBTYWdhciBB IHdyb3RlOgo+IAo+IAo+IE9uIDkvNy8yMDE1IDEwOjExIFBNLCBEYW5pZWwgVmV0dGVyIHdyb3Rl Ogo+ID5PbiBNb24sIFNlcCAwNywgMjAxNSBhdCAwMTozMzo1MVBNICswNTMwLCBTYWdhciBBcnVu IEthbWJsZSB3cm90ZToKPiA+PlNoYXJlZCBmcm9udGJ1ZmZlciBiaXRzIGFyZSBjYXVzaW5nIHdh cm5pbmdzIHdoZW4gc2FtZSBGQiBpcyBkaXNwbGF5ZWQKPiA+PmluIGFub3RoZXIgcGxhbmUgd2l0 aG91dCBjbGVhcmluZyB0aGUgYml0cyBmcm9tIHByZXZpb3VzIHBsYW5lLgo+ID5UaGlzIGNvbW1p dCBtZXNzYWdlIGlzIHZlcnkgY29uZnVzaW5nLCBzaW5jZSBjbGVhcmluZyBGQiBiaXRzIGlzbid0 Cj4gPmJyb2tlbi4gV2hhdCB5b3UgYWN0dWFsbHkgc2VlbSB0byBiZSBkb2luZyBpcyBleHRlbmQg dGhpcyB0byB1NjQgYW5kCj4gPmluY3JlYXNlIHRoZSBwZXItcGlwZSBiaXRzIHRvIDguIE5vdCB0 aGF0IGV2ZW4gd2l0aCA4IGJpdHMgdGhpbmdzIHdpbGwKPiA+c3RpbGwgZWFzaWx5IGZpdCBpbnRv IDMyIGJpdHMuIEFuZCBsYXN0IHRpbWUgSSBjaGVja2VkIHdlIGRvbid0IGNoaXAgaHcKPiA+d2l0 aCBtb3JlIHRoYW4gNCBwbGFuZXMgcGVyIHBpcGUgaW4gdG90YWwuCj4gPgo+ID5Bbnl3YXkgcGxl YXNlIGV4cGxhaW4gYSBiaXQgbW9yZSB3aGF0J3MgYWN0dWFsbHkgZ29pbmcgb24gaGVyZSwgdGhp cyBsb29rcwo+ID5zdXNwaWNpb3VzbHkgbGlrZSBkdWN0LXRhcGUuCj4gPi1EYW5pZWwKPiAxLiBG QiBiaXRzIGFyZSBleHRlbmRlZCB0byB1NjQgY29uc2lkZXJpbmcgZnV0dXJlIHBsYXRmb3Jtcy4K ClRoaXMgaXMgYSBzZXBhcmF0ZSBwYXRjaC4gQW5kIHdlIG9ubHkgbmVlZCBpdCB3aGVuIHRoZXJl J3MgYSByZWFsIG5lZWQgZm9yCml0LgoKPiAyLiBXYXJuaW5ncyB0aGlzIGNoYW5nZXMgZml4ZXMg YXJlIGdpdmVuIGJlbG93LiBJc3N1ZSBpcyBzYW1lIGZiIG9iamVjdCBpcwo+IGJlaW5nIGRpc3Bs YXllZCBvbgo+IG11bHRpcGxlIHNwcml0ZSBwbGFuZXMuIFNpbmNlIHRoZXJlIHdhcyBubyBmYiBi aXQgcGVyIHNwcml0ZSB3ZSBoaXQgdGhvc2UKPiB3YXJuaW5ncy4KPiBTaW5jZSB0aGlzIHBhdGNo IGV4dGVuZHMgdGhlIGJpdHMgdG8gYWxsIHNwcml0ZXMgd2FybmluZyBkb2VzIG5vdCBhcHBlYXIu CgpUaGlzIHNlZW1zIGxpa2UgdGhlIGludGVyZXN0aW5nIGJ1ZyBmaXgsIGJ1dCBiZWxvdyB0aGUg bWFzc2l2ZSBjaGFuZ2VzIHRvCmdvIGZvciB1NjQgeW91IGNhbid0IHNlZSB0aGVtLiBQbGVhc2Ug c3BsaXQgdXAgKGJ1dCBJIHRoaW5rIHlvdSBjYW4gZHJvcApwYXRjaCAxIGFjdHVhbGx5LCB3ZSBz dGlsbCBoYXZlIGVub3VnaCBiaXRzIGZvciBhdCBsZWFzdCBieHQpLgoKVGhhbmtzLCBEYW5pZWwK Cj4gCj4gV2FybmluZyAxOgo+IFsgICA1NC4wODQyMjFdIFdBUk5JTkc6IENQVTogMiBQSUQ6IDI1 MDggYXQKPiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOjU4OTMgaTkxNV9nZW1fdHJh Y2tfZmIrMHhmMi8weDE2MCgpCj4gWyAgIDU0LjA4NDI1M10gV0FSTl9PTihuZXctPmZyb250YnVm ZmVyX2JpdHMgJiBmcm9udGJ1ZmZlcl9iaXRzKQo+IFsgICA1NC4wODQyNzNdIE1vZHVsZXMgbGlu a2VkIGluOiBmZHBfbmZjKEMpIGhpZF9zZW5zb3JfaHViIHNlbnNfY29sX2NvcmUKPiBoaWRfaGVj aV9pc2ggaGVjaV9pc2ggaGVjaSBpd2xtdm0oTykgaXdsd2lmaShPKSBpd2xfbWFjODAyMTEoTykK PiBpd2xfY2ZnODAyMTEoTykgbG5wX2xkaXNjIDgyNTBfZHcgaXA2dGFibGVfcmF3IGlwdGFibGVf cmF3IHJma2lsbF9ncGlvCj4gY29tcGF0KE8pCj4gWyAgIDU0LjA4NDU3NF0gQ1BVOiAyIFBJRDog MjUwOCBDb21tOiBEcm1EaXNwbGF5IENydGMgVGFpbnRlZDogRyBVICBXQ0lPCj4gNC4wLjAtcXVp bHQtTDEtODBmZjc5YTIgIzE1Cj4gWyAgIDU0LjA4NDYzMF0gIGZmZmZmZmZmODIxOGFhZjggZmZm Zjg4MDE3ODVkM2FiOCBmZmZmZmZmZjgxYmVkN2VkCj4gMDAwMDAwMDA4MDAwMDAwMAo+IFsgICA1 NC4wODQ3MDRdICBmZmZmODgwMTc4NWQzYjA4IGZmZmY4ODAxNzg1ZDNhZjggZmZmZmZmZmY4MTA4 YTViYQo+IGZmZmY4ODAxNmRiOTY4MDAKPiBbICAgNTQuMDg0Nzc3XSAgMDAwMDAwMDAwMDAwMDAw NCBmZmZmODgwMTZkYjk2ODAwIGZmZmY4ODAwNjFkNDIwMDAKPiBmZmZmODgwMTdhODNlODAwCj4g WyAgIDU0LjA4NDg2OV0gQ2FsbCBUcmFjZToKPiBbICAgNTQuMDg0OTAyXSAgWzxmZmZmZmZmZjgx YmVkN2VkPl0gZHVtcF9zdGFjaysweDRmLzB4N2IKPiBbICAgNTQuMDg0OTMxXSAgWzxmZmZmZmZm ZjgxMDhhNWJhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg4YS8weGMwCj4gWyAgIDU0LjA4NDk1 M10gIFs8ZmZmZmZmZmY4MTA4YTYzNj5dIHdhcm5fc2xvd3BhdGhfZm10KzB4NDYvMHg1MAo+IFsg ICA1NC4wODQ5NzVdICBbPGZmZmZmZmZmODE1ZTAyZjI+XSBpOTE1X2dlbV90cmFja19mYisweGYy LzB4MTYwCj4gWyAgIDU0LjA4NTAwMl0gIFs8ZmZmZmZmZmY4MTY1ZDQ1Mj5dIGludGVsX3ByZXBh cmVfcGxhbmVfZmIrMHhmMi8weDFlMAo+IFsgICA1NC4wODUwMzBdICBbPGZmZmZmZmZmODE1NjNk ZGM+XQo+IGRybV9hdG9taWNfaGVscGVyX3ByZXBhcmVfcGxhbmVzKzB4NWMvMHhlMAo+IFsgICA1 NC4wODUwNTZdICBbPGZmZmZmZmZmODE2N2JkNzg+XSBpbnRlbF9hdG9taWNfY29tbWl0KzB4NTgv MHgyMzAKPiBbICAgNTQuMDg1MDgyXSAgWzxmZmZmZmZmZjgxNThhNjk3Pl0gZHJtX2F0b21pY19j b21taXQrMHgzNy8weDYwCj4gWyAgIDU0LjA4NTEwNl0gIFs8ZmZmZmZmZmY4MTU4Yjg4Mz5dIGRy bV9tb2RlX2F0b21pY19pb2N0bCsweDY3My8weDdiMAo+IFsgICA1NC4wODUxNDBdICBbPGZmZmZm ZmZmODE1NmYzNzE+XSBkcm1faW9jdGwrMHgxMzEvMHg1MjAKPiBbICAgNTQuMDg1MTcxXSAgWzxm ZmZmZmZmZjgxM2RiZmNiPl0gPyBhdmNfaGFzX3Blcm0rMHhlYi8weDFhMAo+IFsgICA1NC4wODUx OThdICBbPGZmZmZmZmZmODE1OGIyMTA+XSA/IGRybV9hdG9taWNfZ2V0X3Byb3BlcnR5KzB4MzMw LzB4MzMwCj4gWyAgIDU0LjA4NTIyNV0gIFs8ZmZmZmZmZmY4MTNkZTkzNz5dID8gaW5vZGVfaGFz X3Blcm0uaXNyYS4zMysweDI3LzB4NDAKPiBbICAgNTQuMDg1MjQ4XSAgWzxmZmZmZmZmZjgxM2Rl YTY3Pl0gPyBmaWxlX2hhc19wZXJtKzB4ODcvMHhhMAo+IFsgICA1NC4wODUyNzJdICBbPGZmZmZm ZmZmODE1Yjk0ZTU+XSBpOTE1X2NvbXBhdF9pb2N0bCsweDQ1LzB4NTAKPiBbICAgNTQuMDg1MzAw XSAgWzxmZmZmZmZmZjgxMjBmZDgwPl0gY29tcGF0X1N5U19pb2N0bCsweGQwLzB4MTNiMAo+IFsg ICA1NC4wODUzMjVdICBbPGZmZmZmZmZmODEwYjMxYjE+XSA/IGdldF9wYXJlbnRfaXArMHgxMS8w eDUwCj4gWyAgIDU0LjA4NTM1MF0gIFs8ZmZmZmZmZmY4MTBlOTVkMT5dID8gcG9zaXhfa3RpbWVf Z2V0X3RzKzB4MTEvMHgyMAo+IFsgICA1NC4wODUzNzRdICBbPGZmZmZmZmZmODEwZWFhOGU+XSA/ IFN5U19jbG9ja19nZXR0aW1lKzB4NmUvMHhiMAo+IFsgICA1NC4wODUzOTldICBbPGZmZmZmZmZm ODE0NTAwZmI+XSA/IHRyYWNlX2hhcmRpcnFzX29uX3RodW5rKzB4M2EvMHgzZgo+IFsgICA1NC4w ODU0MjVdICBbPGZmZmZmZmZmODFiZjhjMzk+XSBpYTMyX2RvX2NhbGwrMHgxMy8weDEzCj4gWyAg IDU0LjA4NTQ1MV0gLS0tWyBlbmQgdHJhY2UgYjM0Nzk3Njc2MDRiMzI3OCBdLS0tCj4gWyAgIDU0 LjEzOTI0OF0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tCj4gCj4gV2Fybmlu ZyAyOgo+IFsgICA1NC4xMzkzMThdIFdBUk5JTkc6IENQVTogMyBQSUQ6IDI1MDggYXQKPiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOjU4ODcgaTkxNV9nZW1fdHJhY2tfZmIrMHgxNGEv MHgxNjAoKQo+IFsgICA1NC4xMzkzNDNdIFdBUk5fT04oIShvbGQtPmZyb250YnVmZmVyX2JpdHMg JiBmcm9udGJ1ZmZlcl9iaXRzKSkKPiBbICAgNTQuMTM5MzYwXSBNb2R1bGVzIGxpbmtlZCBpbjog ZmRwX25mYyhDKSBoaWRfc2Vuc29yX2h1YiBzZW5zX2NvbF9jb3JlCj4gaGlkX2hlY2lfaXNoIGhl Y2lfaXNoIGhlY2kgaXdsbXZtKE8pIGl3bHdpZmkoTykgaXdsX21hYzgwMjExKE8pCj4gaXdsX2Nm ZzgwMjExKE8pIGxucF9sZGlzYyA4MjUwX2R3IGlwNnRhYmxlX3JhdyBpcHRhYmxlX3JhdyByZmtp bGxfZ3Bpbwo+IGNvbXBhdChPKQo+IFsgICA1NC4xMzk2MzNdIENQVTogMyBQSUQ6IDI1MDggQ29t bTogRHJtRGlzcGxheSBDcnRjIFRhaW50ZWQ6IEcgVSAgV0NJTwo+IDQuMC4wLXF1aWx0LUwxLTgw ZmY3OWEyICMxNQo+IFsgICA1NC4xMzk2ODVdICBmZmZmZmZmZjgyMThhYWY4IGZmZmY4ODAxNzg1 ZDNhYjggZmZmZmZmZmY4MWJlZDdlZAo+IDAwMDAwMDAwODAwMDAwMDAKPiBbICAgNTQuMTM5NzU3 XSAgZmZmZjg4MDE3ODVkM2IwOCBmZmZmODgwMTc4NWQzYWY4IGZmZmZmZmZmODEwOGE1YmEKPiBm ZmZmODgwMTZkYmZhYTAwCj4gWyAgIDU0LjEzOTg0N10gIDAwMDAwMDAwMDAwMDAwMDQgZmZmZjg4 MDE2ZGJmYWEwMCBmZmZmODgwMTZkYjk2ODAwCj4gZmZmZjg4MDE3YTgzZTgwMAo+IFsgICA1NC4x Mzk5MTldIENhbGwgVHJhY2U6Cj4gWyAgIDU0LjEzOTk2MV0gIFs8ZmZmZmZmZmY4MWJlZDdlZD5d IGR1bXBfc3RhY2srMHg0Zi8weDdiCj4gWyAgIDU0LjEzOTk4N10gIFs8ZmZmZmZmZmY4MTA4YTVi YT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4OGEvMHhjMAo+IFsgICA1NC4xNDAwMTRdICBbPGZm ZmZmZmZmODEwOGE2MzY+XSB3YXJuX3Nsb3dwYXRoX2ZtdCsweDQ2LzB4NTAKPiBbICAgNTQuMTQw MDM2XSAgWzxmZmZmZmZmZjgxNWUwMzRhPl0gaTkxNV9nZW1fdHJhY2tfZmIrMHgxNGEvMHgxNjAK PiBbICAgNTQuMTQwMDYzXSAgWzxmZmZmZmZmZjgxNjVkNDUyPl0gaW50ZWxfcHJlcGFyZV9wbGFu ZV9mYisweGYyLzB4MWUwCj4gWyAgIDU0LjE0MDA4OF0gIFs8ZmZmZmZmZmY4MTU2M2RkYz5dCj4g ZHJtX2F0b21pY19oZWxwZXJfcHJlcGFyZV9wbGFuZXMrMHg1Yy8weGUwCj4gWyAgIDU0LjE0MDEx NV0gIFs8ZmZmZmZmZmY4MTY3YmQ3OD5dIGludGVsX2F0b21pY19jb21taXQrMHg1OC8weDIzMAo+ IFsgICA1NC4xNDAxNDBdICBbPGZmZmZmZmZmODE1OGE2OTc+XSBkcm1fYXRvbWljX2NvbW1pdCsw eDM3LzB4NjAKPiBbICAgNTQuMTQwMTYxXSAgWzxmZmZmZmZmZjgxNThiODgzPl0gZHJtX21vZGVf YXRvbWljX2lvY3RsKzB4NjczLzB4N2IwCj4gWyAgIDU0LjE0MDE4OV0gIFs8ZmZmZmZmZmY4MTU2 ZjM3MT5dIGRybV9pb2N0bCsweDEzMS8weDUyMAo+IFsgICA1NC4xNDAyMTNdICBbPGZmZmZmZmZm ODEzZGJmY2I+XSA/IGF2Y19oYXNfcGVybSsweGViLzB4MWEwCj4gWyAgIDU0LjE0MDIzNV0gIFs8 ZmZmZmZmZmY4MTU4YjIxMD5dID8gZHJtX2F0b21pY19nZXRfcHJvcGVydHkrMHgzMzAvMHgzMzAK PiBbICAgNTQuMTQwMjU5XSAgWzxmZmZmZmZmZjgxM2RlOTM3Pl0gPyBpbm9kZV9oYXNfcGVybS5p c3JhLjMzKzB4MjcvMHg0MAo+IFsgICA1NC4xNDAyNzldICBbPGZmZmZmZmZmODEzZGVhNjc+XSA/ IGZpbGVfaGFzX3Blcm0rMHg4Ny8weGEwCj4gWyAgIDU0LjE0MDMwNF0gIFs8ZmZmZmZmZmY4MTVi OTRlNT5dIGk5MTVfY29tcGF0X2lvY3RsKzB4NDUvMHg1MAo+IFsgICA1NC4xNDAzMzRdICBbPGZm ZmZmZmZmODEyMGZkODA+XSBjb21wYXRfU3lTX2lvY3RsKzB4ZDAvMHgxM2IwCj4gWyAgIDU0LjE0 MDM2Ml0gIFs8ZmZmZmZmZmY4MTBiMzFiMT5dID8gZ2V0X3BhcmVudF9pcCsweDExLzB4NTAKPiBb ICAgNTQuMTQwMzg1XSAgWzxmZmZmZmZmZjgxMGU5NWQxPl0gPyBwb3NpeF9rdGltZV9nZXRfdHMr MHgxMS8weDIwCj4gCj4gVGhhbmtzCj4gU2FnYXIKPiAKPiA+PkNoYW5nZS1JZDogSWMyZGY4MDc0 N2YzMTRiODJhZmQyMmY4MzI2Mjk3YzU3ZDFlNjUyYzYKPiA+PlNpZ25lZC1vZmYtYnk6IFNhZ2Fy IEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Cj4gPj5TaWduZWQtb2ZmLWJ5 OiBLdW1hciwgTWFoZXNoIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KPiA+Pi0tLQo+ID4+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgIHwgIDYgKystLQo+ID4+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgIHwgNjEgKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YyAgICAgICAgICB8ICAyICstCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg ICAgICAgICAgfCAgNCArLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgICAgICB8IDI0ICsrKysrKy0tLS0tLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZmJjLmMgICAgICAgICB8ICA2ICsrLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZnJvbnRidWZmZXIuYyB8IDEwICsrKy0tLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wc3IuYyAgICAgICAgIHwgIDYgKystLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYyAgICAgIHwgIDIgKy0KPiA+PiAgOSBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNl cnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKPiA+PmluZGV4IDQxNjI5ZmEuLmI2MDgyZjAgMTAwNjQ0Cj4gPj4tLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ID4+KysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiA+PkBAIC0xODgsNyArMTg4LDcgQEAgZGVzY3JpYmVfb2Jq KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiA+ PiAgCQlzZXFfcHJpbnRmKG0sICIgKCVzKSIsCj4gPj4gIAkJCSAgIGk5MTVfZ2VtX3JlcXVlc3Rf Z2V0X3Jpbmcob2JqLT5sYXN0X3dyaXRlX3JlcSktPm5hbWUpOwo+ID4+ICAJaWYgKG9iai0+ZnJv bnRidWZmZXJfYml0cykKPiA+Pi0JCXNlcV9wcmludGYobSwgIiAoZnJvbnRidWZmZXI6IDB4JTAz eCkiLCBvYmotPmZyb250YnVmZmVyX2JpdHMpOwo+ID4+KwkJc2VxX3ByaW50ZihtLCAiIChmcm9u dGJ1ZmZlcjogMHglbGx4KSIsIG9iai0+ZnJvbnRidWZmZXJfYml0cyk7Cj4gPj4gIH0KPiA+PiAg c3RhdGljIHZvaWQgZGVzY3JpYmVfY3R4KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGludGVs X2NvbnRleHQgKmN0eCkKPiA+PkBAIC0yNTMxLDcgKzI1MzEsNyBAQCBzdGF0aWMgaW50IGk5MTVf ZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ID4+ICAJc2Vx X3ByaW50ZihtLCAiU291cmNlX09LOiAlc1xuIiwgeWVzbm8oZGV2X3ByaXYtPnBzci5zb3VyY2Vf b2spKTsKPiA+PiAgCXNlcV9wcmludGYobSwgIkVuYWJsZWQ6ICVzXG4iLCB5ZXNubygoYm9vbClk ZXZfcHJpdi0+cHNyLmVuYWJsZWQpKTsKPiA+PiAgCXNlcV9wcmludGYobSwgIkFjdGl2ZTogJXNc biIsIHllc25vKGRldl9wcml2LT5wc3IuYWN0aXZlKSk7Cj4gPj4tCXNlcV9wcmludGYobSwgIkJ1 c3kgZnJvbnRidWZmZXIgYml0czogMHglMDN4XG4iLAo+ID4+KwlzZXFfcHJpbnRmKG0sICJCdXN5 IGZyb250YnVmZmVyIGJpdHM6IDB4JWxseFxuIiwKPiA+PiAgCQkgICBkZXZfcHJpdi0+cHNyLmJ1 c3lfZnJvbnRidWZmZXJfYml0cyk7Cj4gPj4gIAlzZXFfcHJpbnRmKG0sICJSZS1lbmFibGUgd29y ayBzY2hlZHVsZWQ6ICVzXG4iLAo+ID4+ICAJCSAgIHllc25vKHdvcmtfYnVzeSgmZGV2X3ByaXYt PnBzci53b3JrLndvcmspKSk7Cj4gPj5AQCAtMzIwOCw3ICszMjA4LDcgQEAgc3RhdGljIHZvaWQg ZHJyc19zdGF0dXNfcGVyX2NydGMoc3RydWN0IHNlcV9maWxlICptLAo+ID4+ICAJCX0KPiA+PiAg CQlwYW5lbCA9ICZkcnJzLT5kcC0+YXR0YWNoZWRfY29ubmVjdG9yLT5wYW5lbDsKPiA+Pi0JCXNl cV9wcmludGYobSwgIlx0XHRCdXN5X2Zyb250YnVmZmVyX2JpdHM6IDB4JVgiLAo+ID4+KwkJc2Vx X3ByaW50ZihtLCAiXHRcdEJ1c3lfZnJvbnRidWZmZXJfYml0czogMHglbGx4IiwKPiA+PiAgCQkJ CQlkcnJzLT5idXN5X2Zyb250YnVmZmVyX2JpdHMpOwo+ID4+ICAJCXNlcV9wdXRzKG0sICJcblx0 XHQiKTsKPiA+PmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4+aW5kZXggMTI4NzAwNy4uMjg1ZGU0 OSAxMDA2NDQKPiA+Pi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+Pisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+PkBAIC05MDYsNiArOTA2LDI5 IEBAIGVudW0gZmJfb3Bfb3JpZ2luIHsKPiA+PiAgCU9SSUdJTl9ESVJUWUZCLAo+ID4+ICB9Owo+ ID4+Ky8qCj4gPj4rICogRnJvbnRidWZmZXIgdHJhY2tpbmcgYml0cy4gU2V0IGluIG9iai0+ZnJv bnRidWZmZXJfYml0cyB3aGlsZSBhIGdlbSBibyBpcwo+ID4+KyAqIGNvbnNpZGVyZWQgdG8gYmUg dGhlIGZyb250YnVmZmVyIGZvciB0aGUgZ2l2ZW4gcGxhbmUgaW50ZXJmYWNlLXdpc2UuIFRoaXMK PiA+PisgKiBkb2Vzbid0IG1lYW4gdGhhdCB0aGUgaHcgbmVjZXNzYXJpbHkgYWxyZWFkeSBzY2Fu cyBpdCBvdXQsIGJ1dCB0aGF0IGFueQo+ID4+KyAqIHJlbmRlcmluZyAoYnkgdGhlIGNwdSBvciBn cHUpIHdpbGwgbGFuZCBpbiB0aGUgZnJvbnRidWZmZXIgZXZlbnR1YWxseS4KPiA+PisgKgo+ID4+ KyAqIFdlIGhhdmUgb25lIGJpdCBwZXIgcGlwZSBhbmQgcGVyIHNjYW5vdXQgcGxhbmUgdHlwZS4K PiA+PisgKi8KPiA+PisjZGVmaW5lIElOVEVMX01BWF9TUFJJVEVfQklUU19QRVJfUElQRSA1Cj4g Pj4rI2RlZmluZSBJTlRFTF9GUk9OVEJVRkZFUl9CSVRTX1BFUl9QSVBFIDgKPiA+PisjZGVmaW5l IElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkocGlwZSkgXAo+ID4+KwkoMSA8PCAoSU5URUxfRlJP TlRCVUZGRVJfQklUU19QRVJfUElQRSAqIChwaXBlKSkpCj4gPj4rI2RlZmluZSBJTlRFTF9GUk9O VEJVRkZFUl9DVVJTT1IocGlwZSkgXAo+ID4+KwkoMSA8PCAoMSArIChJTlRFTF9GUk9OVEJVRkZF Ul9CSVRTX1BFUl9QSVBFICogKHBpcGUpKSkpCj4gPj4rI2RlZmluZSBJTlRFTF9GUk9OVEJVRkZF Ul9TUFJJVEUocGlwZSwgcGxhbmUpIFwKPiA+PisJKDEgPDwgKDIgKyBwbGFuZSArIChJTlRFTF9G Uk9OVEJVRkZFUl9CSVRTX1BFUl9QSVBFICogKHBpcGUpKSkpCj4gPj4rI2RlZmluZSBJTlRFTF9G Uk9OVEJVRkZFUl9PVkVSTEFZKHBpcGUpIFwKPiA+PisJKDEgPDwgKDIgKyBJTlRFTF9NQVhfU1BS SVRFX0JJVFNfUEVSX1BJUEUgKyAoSU5URUxfRlJPTlRCVUZGRVJfQklUU19QRVJfUElQRSAqIChw aXBlKSkpKQo+ID4+KyNkZWZpbmUgSU5URUxfRlJPTlRCVUZGRVJfQUxMX01BU0socGlwZSkgXAo+ ID4+KwkoMHhmZiA8PCAoSU5URUxfRlJPTlRCVUZGRVJfQklUU19QRVJfUElQRSAqIChwaXBlKSkp Cj4gPj4rI2RlZmluZSBJTlRFTF9GUk9OVEJVRkZFUl9TUFJJVEVfTUFTSyhwaXBlKSBcCj4gPj4r CSgweDdDIDw8IChJTlRFTF9GUk9OVEJVRkZFUl9CSVRTX1BFUl9QSVBFICogKHBpcGUpKSkKPiA+ PisKPiA+PiAgc3RydWN0IGk5MTVfZmJjIHsKPiA+PiAgCS8qIFRoaXMgaXMgYWx3YXlzIHRoZSBp bm5lciBsb2NrIHdoZW4gb3ZlcmxhcHBpbmcgd2l0aCBzdHJ1Y3RfbXV0ZXggYW5kCj4gPj4gIAkg KiBpdCdzIHRoZSBvdXRlciBsb2NrIHdoZW4gb3ZlcmxhcHBpbmcgd2l0aCBzdG9sZW5fbG9jay4g Ki8KPiA+PkBAIC05MTMsOCArOTM2LDggQEAgc3RydWN0IGk5MTVfZmJjIHsKPiA+PiAgCXVuc2ln bmVkIGxvbmcgdW5jb21wcmVzc2VkX3NpemU7Cj4gPj4gIAl1bnNpZ25lZCB0aHJlc2hvbGQ7Cj4g Pj4gIAl1bnNpZ25lZCBpbnQgZmJfaWQ7Cj4gPj4tCXVuc2lnbmVkIGludCBwb3NzaWJsZV9mcmFt ZWJ1ZmZlcl9iaXRzOwo+ID4+LQl1bnNpZ25lZCBpbnQgYnVzeV9iaXRzOwo+ID4+Kwl1NjQgcG9z c2libGVfZnJhbWVidWZmZXJfYml0czsKPiA+PisJdTY0IGJ1c3lfYml0czsKPiA+PiAgCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjOwo+ID4+ICAJaW50IHk7Cj4gPj5AQCAtOTc2LDcgKzk5OSw3IEBA IHN0cnVjdCBpOTE1X2RycnMgewo+ID4+ICAJc3RydWN0IG11dGV4IG11dGV4Owo+ID4+ICAJc3Ry dWN0IGRlbGF5ZWRfd29yayB3b3JrOwo+ID4+ICAJc3RydWN0IGludGVsX2RwICpkcDsKPiA+Pi0J dW5zaWduZWQgYnVzeV9mcm9udGJ1ZmZlcl9iaXRzOwo+ID4+Kwl1NjQgYnVzeV9mcm9udGJ1ZmZl cl9iaXRzOwo+ID4+ICAJZW51bSBkcnJzX3JlZnJlc2hfcmF0ZV90eXBlIHJlZnJlc2hfcmF0ZV90 eXBlOwo+ID4+ICAJZW51bSBkcnJzX3N1cHBvcnRfdHlwZSB0eXBlOwo+ID4+ICB9Owo+ID4+QEAg LTk4OCw3ICsxMDExLDcgQEAgc3RydWN0IGk5MTVfcHNyIHsKPiA+PiAgCXN0cnVjdCBpbnRlbF9k cCAqZW5hYmxlZDsKPiA+PiAgCWJvb2wgYWN0aXZlOwo+ID4+ICAJc3RydWN0IGRlbGF5ZWRfd29y ayB3b3JrOwo+ID4+LQl1bnNpZ25lZCBidXN5X2Zyb250YnVmZmVyX2JpdHM7Cj4gPj4rCXU2NCBi dXN5X2Zyb250YnVmZmVyX2JpdHM7Cj4gPj4gIAlib29sIHBzcjJfc3VwcG9ydDsKPiA+PiAgCWJv b2wgYXV4X2ZyYW1lX3N5bmM7Cj4gPj4gIH07Cj4gPj5AQCAtMTY3Miw4ICsxNjk1LDggQEAgc3Ry dWN0IGk5MTVfZnJvbnRidWZmZXJfdHJhY2tpbmcgewo+ID4+ICAJICogVHJhY2tpbmcgYml0cyBm b3IgZGVsYXllZCBmcm9udGJ1ZmZlciBmbHVzaGluZyBkdSB0byBncHUgYWN0aXZpdHkgb3IKPiA+ PiAgCSAqIHNjaGVkdWxlZCBmbGlwcy4KPiA+PiAgCSAqLwo+ID4+LQl1bnNpZ25lZCBidXN5X2Jp dHM7Cj4gPj4tCXVuc2lnbmVkIGZsaXBfYml0czsKPiA+PisJdTY0IGJ1c3lfYml0czsKPiA+PisJ dTY0IGZsaXBfYml0czsKPiA+PiAgfTsKPiA+PiAgc3RydWN0IGk5MTVfd2FfcmVnIHsKPiA+PkBA IC0yMDA5LDI4ICsyMDMyLDYgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIHsKPiA+ PiAgCXZvaWQgKCpyZWxlYXNlKShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqKTsKPiA+PiAg fTsKPiA+Pi0vKgo+ID4+LSAqIEZyb250YnVmZmVyIHRyYWNraW5nIGJpdHMuIFNldCBpbiBvYmot PmZyb250YnVmZmVyX2JpdHMgd2hpbGUgYSBnZW0gYm8gaXMKPiA+Pi0gKiBjb25zaWRlcmVkIHRv IGJlIHRoZSBmcm9udGJ1ZmZlciBmb3IgdGhlIGdpdmVuIHBsYW5lIGludGVyZmFjZS12aXNlLiBU aGlzCj4gPj4tICogZG9lc24ndCBtZWFuIHRoYXQgdGhlIGh3IG5lY2Vzc2FyaWx5IGFscmVhZHkg c2NhbnMgaXQgb3V0LCBidXQgdGhhdCBhbnkKPiA+Pi0gKiByZW5kZXJpbmcgKGJ5IHRoZSBjcHUg b3IgZ3B1KSB3aWxsIGxhbmQgaW4gdGhlIGZyb250YnVmZmVyIGV2ZW50dWFsbHkuCj4gPj4tICoK PiA+Pi0gKiBXZSBoYXZlIG9uZSBiaXQgcGVyIHBpcGUgYW5kIHBlciBzY2Fub3V0IHBsYW5lIHR5 cGUuCj4gPj4tICovCj4gPj4tI2RlZmluZSBJTlRFTF9GUk9OVEJVRkZFUl9CSVRTX1BFUl9QSVBF IDQKPiA+Pi0jZGVmaW5lIElOVEVMX0ZST05UQlVGRkVSX0JJVFMgXAo+ID4+LQkoSU5URUxfRlJP TlRCVUZGRVJfQklUU19QRVJfUElQRSAqIEk5MTVfTUFYX1BJUEVTKQo+ID4+LSNkZWZpbmUgSU5U RUxfRlJPTlRCVUZGRVJfUFJJTUFSWShwaXBlKSBcCj4gPj4tCSgxIDw8IChJTlRFTF9GUk9OVEJV RkZFUl9CSVRTX1BFUl9QSVBFICogKHBpcGUpKSkKPiA+Pi0jZGVmaW5lIElOVEVMX0ZST05UQlVG RkVSX0NVUlNPUihwaXBlKSBcCj4gPj4tCSgxIDw8ICgxICsoSU5URUxfRlJPTlRCVUZGRVJfQklU U19QRVJfUElQRSAqIChwaXBlKSkpKQo+ID4+LSNkZWZpbmUgSU5URUxfRlJPTlRCVUZGRVJfU1BS SVRFKHBpcGUpIFwKPiA+Pi0JKDEgPDwgKDIgKyhJTlRFTF9GUk9OVEJVRkZFUl9CSVRTX1BFUl9Q SVBFICogKHBpcGUpKSkpCj4gPj4tI2RlZmluZSBJTlRFTF9GUk9OVEJVRkZFUl9PVkVSTEFZKHBp cGUpIFwKPiA+Pi0JKDEgPDwgKDMgKyhJTlRFTF9GUk9OVEJVRkZFUl9CSVRTX1BFUl9QSVBFICog KHBpcGUpKSkpCj4gPj4tI2RlZmluZSBJTlRFTF9GUk9OVEJVRkZFUl9BTExfTUFTSyhwaXBlKSBc Cj4gPj4tCSgweGYgPDwgKElOVEVMX0ZST05UQlVGRkVSX0JJVFNfUEVSX1BJUEUgKiAocGlwZSkp KQo+ID4+LQo+ID4+ICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7Cj4gPj4gIAlzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgYmFzZTsKPiA+PkBAIC0yMTA4LDcgKzIxMDksNyBAQCBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCB7Cj4gPj4gIAl1bnNpZ25lZCBpbnQgY2FjaGVfbGV2ZWw6MzsKPiA+ PiAgCXVuc2lnbmVkIGludCBjYWNoZV9kaXJ0eToxOwo+ID4+LQl1bnNpZ25lZCBpbnQgZnJvbnRi dWZmZXJfYml0czpJTlRFTF9GUk9OVEJVRkZFUl9CSVRTOwo+ID4+Kwl1NjQgZnJvbnRidWZmZXJf Yml0czsKPiA+PiAgCXVuc2lnbmVkIGludCBwaW5fZGlzcGxheTsKPiA+PkBAIC0yMTY3LDcgKzIx NjgsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7Cj4gPj4gIHZvaWQgaTkxNV9nZW1f dHJhY2tfZmIoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9sZCwKPiA+PiAgCQkgICAgICAg c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm5ldywKPiA+Pi0JCSAgICAgICB1bnNpZ25lZCBm cm9udGJ1ZmZlcl9iaXRzKTsKPiA+PisJCSAgICAgICB1NjQgZnJvbnRidWZmZXJfYml0cyk7Cj4g Pj4gIC8qKgo+ID4+ICAgKiBSZXF1ZXN0IHF1ZXVlIHN0cnVjdHVyZS4KPiA+PmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwo+ID4+aW5kZXggNDEyNjNjZC4uMmUyZDg3MyAxMDA2NDQKPiA+Pi0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiA+PisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKPiA+PkBAIC00OTg1LDcgKzQ5ODUsNyBAQCBpbnQgaTkxNV9nZW1fb3Bl bihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4gPj4gICAq Lwo+ID4+ICB2b2lkIGk5MTVfZ2VtX3RyYWNrX2ZiKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvbGQsCj4gPj4gIAkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpuZXcsCj4g Pj4tCQkgICAgICAgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cykKPiA+PisJCSAgICAgICB1NjQg ZnJvbnRidWZmZXJfYml0cykKPiA+PiAgewo+ID4+ICAJaWYgKG9sZCkgewo+ID4+ICAJCVdBUk5f T04oIW11dGV4X2lzX2xvY2tlZCgmb2xkLT5iYXNlLmRldi0+c3RydWN0X211dGV4KSk7Cj4gPj5k aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+PmluZGV4IDQ1YWIyNWUuLjIxMmQ0Y2YgMTAwNjQ0Cj4g Pj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPj4rKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPj5AQCAtNTcxNCw3ICs1NzE0LDcgQEAgdW5sb2Nr Ogo+ID4+ICAgKiBEaXJ0eSBmcm9udGJ1ZmZlcnMgcmVsZXZhbnQgdG8gRFJSUyBhcmUgdHJhY2tl ZCBpbiBidXN5X2Zyb250YnVmZmVyX2JpdHMuCj4gPj4gICAqLwo+ID4+ICB2b2lkIGludGVsX2Vk cF9kcnJzX2ludmFsaWRhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Pi0JCXVuc2lnbmVk IGZyb250YnVmZmVyX2JpdHMpCj4gPj4rCQl1NjQgZnJvbnRidWZmZXJfYml0cykKPiA+PiAgewo+ ID4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiA+PiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiA+PkBAIC01NzU5LDcgKzU3NTksNyBA QCB2b2lkIGludGVsX2VkcF9kcnJzX2ludmFsaWRhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiA+PiAgICogRGlydHkgZnJvbnRidWZmZXJzIHJlbGV2YW50IHRvIERSUlMgYXJlIHRyYWNrZWQg aW4gYnVzeV9mcm9udGJ1ZmZlcl9iaXRzLgo+ID4+ICAgKi8KPiA+PiAgdm9pZCBpbnRlbF9lZHBf ZHJyc19mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+LQkJdW5zaWduZWQgZnJvbnRi dWZmZXJfYml0cykKPiA+PisJCXU2NCBmcm9udGJ1ZmZlcl9iaXRzKQo+ID4+ICB7Cj4gPj4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4+ ICAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ID4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ PmluZGV4IDQ2NDg0ZTQuLjEzOThlZDQgMTAwNjQ0Cj4gPj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+ID4+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiA+PkBAIC01MDYsNyArNTA2LDcgQEAgc3RydWN0IGludGVsX2NydGNfYXRvbWljX2NvbW1p dCB7Cj4gPj4gIAl1bnNpZ25lZCBkaXNhYmxlZF9wbGFuZXM7Cj4gPj4gIAkvKiBTbGVlcGFibGUg b3BlcmF0aW9ucyB0byBwZXJmb3JtIGFmdGVyIGNvbW1pdCAqLwo+ID4+LQl1bnNpZ25lZCBmYl9i aXRzOwo+ID4+Kwl1NjQgZmJfYml0czsKPiA+PiAgCWJvb2wgd2FpdF92Ymxhbms7Cj4gPj4gIAli b29sIHVwZGF0ZV9mYmM7Cj4gPj4gIAlib29sIHBvc3RfZW5hYmxlX3ByaW1hcnk7Cj4gPj5AQCAt NTk5LDcgKzU5OSw3IEBAIHN0cnVjdCBpbnRlbF9wbGFuZSB7Cj4gPj4gIAllbnVtIHBpcGUgcGlw ZTsKPiA+PiAgCWJvb2wgY2FuX3NjYWxlOwo+ID4+ICAJaW50IG1heF9kb3duc2NhbGU7Cj4gPj4t CXVpbnQzMl90IGZyb250YnVmZmVyX2JpdDsKPiA+PisJdTY0IGZyb250YnVmZmVyX2JpdDsKPiA+ PiAgCS8qIFNpbmNlIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSB3YXRlcm1hcmtzIGJlZm9yZS9hZnRl cgo+ID4+ICAJICogZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBwbGFuZXMsIHdlIG5lZWQgdG8gc3Rv cmUgdGhlIHBhcmFtZXRlcnMgaGVyZQo+ID4+QEAgLTk4NywxMSArOTg3LDExIEBAIHVpbnQzMl90 IGRkaV9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ID4+ICB2b2lk IGludGVsX2ZiX29ial9pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos Cj4gPj4gIAkJCSAgICAgZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKTsKPiA+PiAgdm9pZCBpbnRl bF9mcm9udGJ1ZmZlcl9mbGlwX3ByZXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Pi0J CQkJICAgIHVuc2lnbmVkIGZyb250YnVmZmVyX2JpdHMpOwo+ID4+KwkJCQkgICAgdTY0IGZyb250 YnVmZmVyX2JpdHMpOwo+ID4+ICB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfY29tcGxldGUo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Pi0JCQkJICAgICB1bnNpZ25lZCBmcm9udGJ1ZmZl cl9iaXRzKTsKPiA+PisJCQkJICAgICB1NjQgZnJvbnRidWZmZXJfYml0cyk7Cj4gPj4gIHZvaWQg aW50ZWxfZnJvbnRidWZmZXJfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+LQkJCSAg ICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiA+PisJCQkgICAgdTY0IGZyb250YnVmZmVy X2JpdHMpOwo+ID4+ICB1bnNpZ25lZCBpbnQgaW50ZWxfZmJfYWxpZ25faGVpZ2h0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gPj4gIAkJCQkgICB1bnNpZ25lZCBpbnQgaGVpZ2h0LAo+ID4+ICAJ CQkJICAgdWludDMyX3QgcGl4ZWxfZm9ybWF0LAo+ID4+QEAgLTEyMDcsOCArMTIwNyw4IEBAIHZv aWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gPj4gIHZv aWQgaW50ZWxfZWRwX2RycnNfZW5hYmxlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ID4+ ICB2b2lkIGludGVsX2VkcF9kcnJzX2Rpc2FibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7 Cj4gPj4gIHZvaWQgaW50ZWxfZWRwX2RycnNfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ID4+LQkJdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cyk7Cj4gPj4tdm9pZCBpbnRlbF9l ZHBfZHJyc19mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBmcm9udGJ1ZmZl cl9iaXRzKTsKPiA+PisJCXU2NCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiA+Pit2b2lkIGludGVsX2Vk cF9kcnJzX2ZsdXNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHU2NCBmcm9udGJ1ZmZlcl9iaXRz KTsKPiA+PiAgdm9pZCBoc3dfZHBfc2V0X2RkaV9wbGxfc2VsKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpwaXBlX2NvbmZpZyk7Cj4gPj4gIC8qIGludGVsX2RwX21zdC5jICovCj4gPj5AQCAtMTI2 MCwxMCArMTI2MCwxMCBAQCB2b2lkIGludGVsX2ZiY19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gPj4gIHZvaWQgaW50ZWxfZmJjX2Rpc2FibGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+PiAgdm9pZCBpbnRlbF9mYmNfZGlzYWJsZV9jcnRj KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKPiA+PiAgdm9pZCBpbnRlbF9mYmNfaW52YWxpZGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPj4tCQkJICB1bnNpZ25lZCBp bnQgZnJvbnRidWZmZXJfYml0cywKPiA+PisJCQkgIHU2NCBmcm9udGJ1ZmZlcl9iaXRzLAo+ID4+ ICAJCQkgIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbik7Cj4gPj4gIHZvaWQgaW50ZWxfZmJjX2Zs dXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+Pi0JCSAgICAgdW5zaWdu ZWQgaW50IGZyb250YnVmZmVyX2JpdHMsIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbik7Cj4gPj4r CQkgICAgIHU2NCBmcm9udGJ1ZmZlcl9iaXRzLCBlbnVtIGZiX29wX29yaWdpbiBvcmlnaW4pOwo+ ID4+ICBjb25zdCBjaGFyICppbnRlbF9ub19mYmNfcmVhc29uX3N0cihlbnVtIG5vX2ZiY19yZWFz b24gcmVhc29uKTsKPiA+PiAgdm9pZCBpbnRlbF9mYmNfY2xlYW51cF9jZmIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+PkBAIC0xMzMzLDEzICsxMzMzLDEzIEBAIHZvaWQg aW50ZWxfYmFja2xpZ2h0X3VucmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPj4g IHZvaWQgaW50ZWxfcHNyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+PiAg dm9pZCBpbnRlbF9wc3JfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+PiAg dm9pZCBpbnRlbF9wc3JfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+LQkJ CSAgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cyk7Cj4gPj4rCQkJICB1NjQgZnJvbnRidWZmZXJf Yml0cyk7Cj4gPj4gIHZvaWQgaW50ZWxfcHNyX2ZsdXNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4gPj4tCQkgICAgIHVuc2lnbmVkIGZyb250YnVmZmVyX2JpdHMsCj4gPj4rCQkgICAgIHU2NCBm cm9udGJ1ZmZlcl9iaXRzLAo+ID4+ICAJCSAgICAgZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKTsK PiA+PiAgdm9pZCBpbnRlbF9wc3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+PiAg dm9pZCBpbnRlbF9wc3Jfc2luZ2xlX2ZyYW1lX3VwZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ID4+LQkJCQkgICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiA+PisJCQkJICAgdTY0 IGZyb250YnVmZmVyX2JpdHMpOwo+ID4+ICAvKiBpbnRlbF9ydW50aW1lX3BtLmMgKi8KPiA+PiAg aW50IGludGVsX3Bvd2VyX2RvbWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqKTsK PiA+PmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gPj5pbmRleCAxZjk3ZmI1Li5jZGNjMjg0IDEw MDY0NAo+ID4+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiA+PisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gPj5AQCAtODU0LDEwICs4NTQsMTAg QEAgdm9pZCBpbnRlbF9mYmNfdXBkYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiA+PiAgfQo+ID4+ICB2b2lkIGludGVsX2ZiY19pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiA+Pi0JCQkgIHVuc2lnbmVkIGludCBmcm9udGJ1ZmZlcl9i aXRzLAo+ID4+KwkJCSAgdTY0IGZyb250YnVmZmVyX2JpdHMsCj4gPj4gIAkJCSAgZW51bSBmYl9v cF9vcmlnaW4gb3JpZ2luKQo+ID4+ICB7Cj4gPj4tCXVuc2lnbmVkIGludCBmYmNfYml0czsKPiA+ PisJdTY0IGZiY19iaXRzOwo+ID4+ICAJaWYgKCFkZXZfcHJpdi0+ZmJjLmVuYWJsZV9mYmMpCj4g Pj4gIAkJcmV0dXJuOwo+ID4+QEAgLTg4NCw3ICs4ODQsNyBAQCB2b2lkIGludGVsX2ZiY19pbnZh bGlkYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+PiAgfQo+ID4+ICB2 b2lkIGludGVsX2ZiY19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g Pj4tCQkgICAgIHVuc2lnbmVkIGludCBmcm9udGJ1ZmZlcl9iaXRzLCBlbnVtIGZiX29wX29yaWdp biBvcmlnaW4pCj4gPj4rCQkgICAgIHU2NCBmcm9udGJ1ZmZlcl9iaXRzLCBlbnVtIGZiX29wX29y aWdpbiBvcmlnaW4pCj4gPj4gIHsKPiA+PiAgCWlmICghZGV2X3ByaXYtPmZiYy5lbmFibGVfZmJj KQo+ID4+ICAJCXJldHVybjsKPiA+PmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9mcm9udGJ1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZnJvbnRidWZm ZXIuYwo+ID4+aW5kZXggYWM4NTM1Ny4uMzExNWQ4YiAxMDA2NDQKPiA+Pi0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Zyb250YnVmZmVyLmMKPiA+PisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Zyb250YnVmZmVyLmMKPiA+PkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBp bnRlbF9mYl9vYmpfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ ID4+ICAgKiBDYW4gYmUgY2FsbGVkIHdpdGhvdXQgYW55IGxvY2tzIGhlbGQuCj4gPj4gICAqLwo+ ID4+ICBzdGF0aWMgdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbHVzaChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ID4+LQkJCQkgICAgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cywKPiA+PisJCQkJ ICAgIHU2NCBmcm9udGJ1ZmZlcl9iaXRzLAo+ID4+ICAJCQkJICAgIGVudW0gZmJfb3Bfb3JpZ2lu IG9yaWdpbikKPiA+PiAgewo+ID4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShkZXYpOwo+ID4+QEAgLTE0Nyw3ICsxNDcsNyBAQCB2b2lkIGludGVsX2ZiX29i al9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ID4+ICB7Cj4gPj4gIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gb2JqLT5iYXNlLmRldjsKPiA+PiAgCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+Pi0JdW5zaWduZWQgZnJv bnRidWZmZXJfYml0czsKPiA+PisJdTY0IGZyb250YnVmZmVyX2JpdHM7Cj4gPj4gIAlXQVJOX09O KCFtdXRleF9pc19sb2NrZWQoJmRldi0+c3RydWN0X211dGV4KSk7Cj4gPj5AQCAtMTgxLDcgKzE4 MSw3IEBAIHZvaWQgaW50ZWxfZmJfb2JqX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCj4gPj4gICAqIENhbiBiZSBjYWxsZWQgd2l0aG91dCBhbnkgbG9ja3MgaGVsZC4KPiA+ PiAgICovCj4gPj4gIHZvaWQgaW50ZWxfZnJvbnRidWZmZXJfZmxpcF9wcmVwYXJlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gPj4tCQkJCSAgICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKQo+ ID4+KwkJCQkgICAgdTY0IGZyb250YnVmZmVyX2JpdHMpCj4gPj4gIHsKPiA+PiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+PkBAIC0yMDUsNyAr MjA1LDcgQEAgdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwX3ByZXBhcmUoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiA+PiAgICogQ2FuIGJlIGNhbGxlZCB3aXRob3V0IGFueSBsb2NrcyBoZWxk Lgo+ID4+ICAgKi8KPiA+PiAgdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwX2NvbXBsZXRlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPj4tCQkJCSAgICAgdW5zaWduZWQgZnJvbnRidWZmZXJf Yml0cykKPiA+PisJCQkJICAgICB1NjQgZnJvbnRidWZmZXJfYml0cykKPiA+PiAgewo+ID4+ICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4+QEAg LTIzMCw3ICsyMzAsNyBAQCB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfY29tcGxldGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiAgICogQ2FuIGJlIGNhbGxlZCB3aXRob3V0IGFueSBs b2NrcyBoZWxkLgo+ID4+ICAgKi8KPiA+PiAgdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPj4tCQkJICAgIHVuc2lnbmVkIGZyb250YnVmZmVyX2Jp dHMpCj4gPj4rCQkJICAgIHU2NCBmcm9udGJ1ZmZlcl9iaXRzKQo+ID4+ICB7Cj4gPj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPj5kaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wc3IuYwo+ID4+aW5kZXggYTA0YjRkYy4uYThhMjM2YyAxMDA2NDQKPiA+Pi0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gPj4rKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4+QEAgLTYwNyw3ICs2MDcsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9wc3JfZXhpdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4+ICAgKiBoYXJkd2Fy ZSByZXF1aXJlcyB0aGlzIHRvIGJlIGRvbmUgYmVmb3JlIGEgcGFnZSBmbGlwLgo+ID4+ICAgKi8K PiA+PiAgdm9pZCBpbnRlbF9wc3Jfc2luZ2xlX2ZyYW1lX3VwZGF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ID4+LQkJCQkgICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKQo+ID4+KwkJCQkg ICB1NjQgZnJvbnRidWZmZXJfYml0cykKPiA+PiAgewo+ID4+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+PiAgCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YzsKPiA+PkBAIC02NTUsNyArNjU1LDcgQEAgdm9pZCBpbnRlbF9wc3Jfc2luZ2xlX2Zy YW1lX3VwZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+ICAgKiBEaXJ0eSBmcm9udGJ1 ZmZlcnMgcmVsZXZhbnQgdG8gUFNSIGFyZSB0cmFja2VkIGluIGJ1c3lfZnJvbnRidWZmZXJfYml0 cy4iCj4gPj4gICAqLwo+ID4+ICB2b2lkIGludGVsX3Bzcl9pbnZhbGlkYXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gPj4tCQkJICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKQo+ID4+KwkJ CSAgdTY0IGZyb250YnVmZmVyX2JpdHMpCj4gPj4gIHsKPiA+PiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPj4gIAlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGM7Cj4gPj5AQCAtNjkzLDcgKzY5Myw3IEBAIHZvaWQgaW50ZWxfcHNyX2ludmFsaWRh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiAgICogRGlydHkgZnJvbnRidWZmZXJzIHJl bGV2YW50IHRvIFBTUiBhcmUgdHJhY2tlZCBpbiBidXN5X2Zyb250YnVmZmVyX2JpdHMuCj4gPj4g ICAqLwo+ID4+ICB2b2lkIGludGVsX3Bzcl9mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ID4+LQkJICAgICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzLCBlbnVtIGZiX29wX29yaWdpbiBv cmlnaW4pCj4gPj4rCQkgICAgIHU2NCBmcm9udGJ1ZmZlcl9iaXRzLCBlbnVtIGZiX29wX29yaWdp biBvcmlnaW4pCj4gPj4gIHsKPiA+PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gPj5k aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4+aW5kZXggY2E3ZTI2NC4uNWI5YmNmOSAx MDA2NDQKPiA+Pi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gPj4r KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4+QEAgLTExMjUsNyAr MTEyNSw3IEBAIGludGVsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBw aXBlIHBpcGUsIGludCBwbGFuZSkKPiA+PiAgCWludGVsX3BsYW5lLT5waXBlID0gcGlwZTsKPiA+ PiAgCWludGVsX3BsYW5lLT5wbGFuZSA9IHBsYW5lOwo+ID4+LQlpbnRlbF9wbGFuZS0+ZnJvbnRi dWZmZXJfYml0ID0gSU5URUxfRlJPTlRCVUZGRVJfU1BSSVRFKHBpcGUpOwo+ID4+KwlpbnRlbF9w bGFuZS0+ZnJvbnRidWZmZXJfYml0ID0gSU5URUxfRlJPTlRCVUZGRVJfU1BSSVRFKHBpcGUsIHBs YW5lKTsKPiA+PiAgCWludGVsX3BsYW5lLT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX3Nwcml0 ZV9wbGFuZTsKPiA+PiAgCWludGVsX3BsYW5lLT5jb21taXRfcGxhbmUgPSBpbnRlbF9jb21taXRf c3ByaXRlX3BsYW5lOwo+ID4+ICAJcG9zc2libGVfY3J0Y3MgPSAoMSA8PCBwaXBlKTsKPiA+Pi0t IAo+ID4+MS45LjEKPiA+Pgo+ID4+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiA+PkludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+PkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiA+Pmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngKPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2lu ZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=