From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B8B48D116F6 for ; Thu, 27 Nov 2025 22:29:22 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ADD9410E8DF; Thu, 27 Nov 2025 22:29:20 +0000 (UTC) Received: from outboundhk.mxmail.xiaomi.com (outboundhk.mxmail.xiaomi.com [118.143.206.90]) by gabe.freedesktop.org (Postfix) with ESMTP id C9B9710E14D for ; Thu, 27 Nov 2025 15:35:16 +0000 (UTC) X-CSE-ConnectionGUID: JuovGXqSRDidJnHBjUce0A== X-CSE-MsgGUID: IR/Mul8xSNePi4mooqWz8w== X-IronPort-AV: E=Sophos;i="6.20,231,1758556800"; d="scan'208,217";a="133843594" From: =?utf-8?B?6auY57+U?= To: =?utf-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , Xiang Gao , "sumit.semwal@linaro.org" , "rostedt@goodmis.org" , "mhiramat@kernel.org" CC: "linux-media@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "mathieu.desnoyers@efficios.com" , "dhowells@redhat.com" , "kuba@kernel.org" , "brauner@kernel.org" , "akpm@linux-foundation.org" , "linux-trace-kernel@vger.kernel.org" Subject: =?utf-8?B?562U5aSNOiDnrZTlpI06IFtFeHRlcm5hbCBNYWlsXVJlOiBbUEFUQ0ggdjNd?= =?utf-8?Q?_dma-buf:_add_some_tracepoints_to_debug.?= Thread-Topic: =?utf-8?B?562U5aSNOiBbRXh0ZXJuYWwgTWFpbF1SZTogW1BBVENIIHYzXSBkbWEtYnVm?= =?utf-8?Q?:_add_some_tracepoints_to_debug.?= Thread-Index: AQHcX4MbemeZEW6EdE2tNIPvABpDi7UGVVo5//+0IwCAAI0zvA== Date: Thu, 27 Nov 2025 15:35:13 +0000 Message-ID: <76293b63568547e98efd7c0644ad7a49@xiaomi.com> References: <20251127004352.376307-1-gxxa03070307@gmail.com> , <0f970282-e439-4036-bded-68fb8733d1f0@amd.com> In-Reply-To: <0f970282-e439-4036-bded-68fb8733d1f0@amd.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.237.8.165] Content-Type: multipart/alternative; boundary="_000_76293b63568547e98efd7c0644ad7a49xiaomicom_" MIME-Version: 1.0 X-Mailman-Approved-At: Thu, 27 Nov 2025 22:29:19 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" --_000_76293b63568547e98efd7c0644ad7a49xiaomicom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiBIdWk/IFdoeSB3b3VsZCB5b3UgYWRkIHRob3NlIHN5bWJvbHMgdG8gYW55IHdoaXRlbGlzdD8N Cg0KVGhpcyBpcyB0aGUgbWVjaGFuaXNtIG9mIGFuZHJvaWQgZ2tpLiBUbyB1c2UgYSB0cmFjZXBv aW50IGluIHRoZSBkcml2ZXIgbW9kdWxlLCB0d28gcG9pbnRzIGFyZSByZXF1aXJlZCBmb3IgYSBz dWNjZXNzZnVsIGNvbXBpbGF0aW9uOg0KMSwgZXhwb3J0IHRyYWNlcGludA0KMiwgYWRkIHRyYWNl cG9pbnQgdG8gYW5kcm9pZCB3aGl0ZWxpc3QuDQoNCkJ1dCB3aXRob3V0IGV4cG9ydGluZyB0cmFj ZXBvaW50LCBJIGNhbiBhbHNvIHVzZSB0cmFjZXBvaW50X3Byb2JlX3JlZ2lzdGVyIHRvIHNvbHZl IGl0Lg0KDQoNCj4gVGhlIHJlZmNudCBpcyBtYW5pcHVsYXRlZCBvdXRzaWRlIG9mIHRoZSBETUEt YnVmIGNvZGUgYnkgdGhlIGZpbGVzeXN0ZW0gbGF5ZXIuDQo+IEFzIGZhciBhcyBJIGNhbiBzZWUg aXQgaXMgbWVhbmluZ2xlc3MgaGVyZS4NCm9rLg0KDQoNCg0KDQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXw0K5Y+R5Lu25Lq6OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29l bmlnQGFtZC5jb20+DQrlj5HpgIHml7bpl7Q6IDIwMjXlubQxMeaciDI35pelIDIyOjA4OjMyDQrm lLbku7bkuro6IOmrmOe/lDsgWGlhbmcgR2FvOyBzdW1pdC5zZW13YWxAbGluYXJvLm9yZzsgcm9z dGVkdEBnb29kbWlzLm9yZzsgbWhpcmFtYXRAa2VybmVsLm9yZw0K5oqE6YCBOiBsaW51eC1tZWRp YUB2Z2VyLmtlcm5lbC5vcmc7IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IGxpbnV4 LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbTsg ZGhvd2VsbHNAcmVkaGF0LmNvbTsga3ViYUBrZXJuZWwub3JnOyBicmF1bmVyQGtlcm5lbC5vcmc7 IGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc7IGxpbnV4LXRyYWNlLWtlcm5lbEB2Z2VyLmtlcm5l bC5vcmcNCuS4u+mimDogUmU6IOetlOWkjTogW0V4dGVybmFsIE1haWxdUmU6IFtQQVRDSCB2M10g ZG1hLWJ1ZjogYWRkIHNvbWUgdHJhY2Vwb2ludHMgdG8gZGVidWcuDQoNClvlpJbpg6jpgq7ku7Zd IOatpOmCruS7tuadpea6kOS6juWwj+exs+WFrOWPuOWklumDqO+8jOivt+iwqOaFjuWkhOeQhuOA guiLpeWvuemCruS7tuWuieWFqOaAp+WtmOeWke+8jOivt+WwhumCruS7tui9rOWPkee7mW1pc2Vj QHhpYW9taS5jb23ov5vooYzlj43ppogNCg0KT24gMTEvMjcvMjUgMTU6MDUsIOmrmOe/lCB3cm90 ZToNCj4+IEV4cG9ydGluZyB0aGUgdHJhY2Vwb2ludHMgaXMgdW5lY2Vzc2FyeSBhcyBmYXIgYXMg SSBjYW4gc2VlDQo+DQo+IGFuZHJvaWQgbXVzdCBleHBvcnQgc3ltYm9scyBiZWZvcmUgYWRkaW5n IGEgd2hpdGVsaXN0Lg0KDQpIdWk/IFdoeSB3b3VsZCB5b3UgYWRkIHRob3NlIHN5bWJvbHMgdG8g YW55IHdoaXRlbGlzdD8NCg0KPg0KPg0KPj4gSSBjYW4ndCBjb21lIHVwIHdpdGggYSByZWFzb24g d2h5IHdlIHNob3VsZCBoYXZlIHRoZSBmaWxlIHJlZmNvdW50IGluIHRoZSB0cmFjZSBsb2dzLg0K Pj4gU2FtZSBmb3IgbW9zdCBvdGhlciBwbGFjZXMuDQo+IEkgY2FuIGRpcmVjdGx5IG9ic2VydmUg aG93IHJlZmNudCBpcyBjaGFuZ2luZy4gIFRoZW4gaXQgY2FuIGJlIGtub3duIHdoZXJlIHRoZSBk bWFidWYgd2FzIGZpbmFsbHkgcmVsZWFzZWQuDQoNClRoZSByZWZjbnQgaXMgbWFuaXB1bGF0ZWQg b3V0c2lkZSBvZiB0aGUgRE1BLWJ1ZiBjb2RlIGJ5IHRoZSBmaWxlc3lzdGVtIGxheWVyLg0KDQpB cyBmYXIgYXMgSSBjYW4gc2VlIGl0IGlzIG1lYW5pbmdsZXNzIGhlcmUuDQoNClJlZ2FyZHMsDQpD aHJpc3RpYW4uDQoNCj4NCj4NCj4+IFByaW50IHRoZSBkZXZfbmFtZSBsYXN0LCBpdCdzIHRoZSBl eHRlcm5hbCBkZXZpY2Ugd2hpY2ggYXR0YWNoZXMgdG8gdGhlIERNQS1idWYuDQo+IG9rLg0KPg0K Pg0KPj4gQWRkaXRpb25hbCB0byB0aGF0IGl0IHdvdWxkIGJlIG5pY2UgdG8ga25vdyBpZiB0aGUg YXR0YWNobWVudCBpcyBkeW5hbWljIG9yIG5vdC4NCj4gb2suDQo+DQo+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiAq5Y+R5Lu25Lq6OiogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPg0KPiAq5Y+R6YCB5pe26Ze0OiogMjAyNeW5tDEx5pyIMjfml6UgMTc6NDk6MDkN Cj4gKuaUtuS7tuS6ujoqIFhpYW5nIEdhbzsgc3VtaXQuc2Vtd2FsQGxpbmFyby5vcmc7IHJvc3Rl ZHRAZ29vZG1pcy5vcmc7IG1oaXJhbWF0QGtlcm5lbC5vcmcNCj4gKuaKhOmAgToqIGxpbnV4LW1l ZGlhQHZnZXIua2VybmVsLm9yZzsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgbGlu dXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29t OyBkaG93ZWxsc0ByZWRoYXQuY29tOyBrdWJhQGtlcm5lbC5vcmc7IGJyYXVuZXJAa2VybmVsLm9y ZzsgYWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZzsgbGludXgtdHJhY2Uta2VybmVsQHZnZXIua2Vy bmVsLm9yZzsg6auY57+UDQo+ICrkuLvpopg6KiBbRXh0ZXJuYWwgTWFpbF1SZTogW1BBVENIIHYz XSBkbWEtYnVmOiBhZGQgc29tZSB0cmFjZXBvaW50cyB0byBkZWJ1Zy4NCj4NCj4gW+WklumDqOmC ruS7tl0g5q2k6YKu5Lu25p2l5rqQ5LqO5bCP57Gz5YWs5Y+45aSW6YOo77yM6K+36LCo5oWO5aSE 55CG44CC6Iul5a+56YKu5Lu25a6J5YWo5oCn5a2Y55aR77yM6K+35bCG6YKu5Lu26L2s5Y+R57uZ bWlzZWNAeGlhb21pLmNvbei/m+ihjOWPjemmiA0KPg0KPiBPbiAxMS8yNy8yNSAwMTo0MywgWGlh bmcgR2FvIHdyb3RlOg0KPj4gRnJvbTogZ2FveGlhbmcxNyA8Z2FveGlhbmcxN0B4aWFvbWkuY29t Pg0KPj4NCj4+IEkgd2FudCB0byB0cmFjayB0aGUgc3RhdHVzIG9mIGRtYWJ1ZiBpbiByZWFsIHRp bWUgaW4gdGhlIHByb2R1Y3Rpb24gZW52aXJvbm1lbnQuDQo+PiBCdXQgbm93IHdlIGNhbiBvbmx5 IGNoZWNrIGl0IGJ5IHRyYXZlcnNpbmcgdGhlIGZkIGluIHRoZSBwcm9jZXNzIG9yIGRtYWJ1Zl9s aXN0Lg0KPj4NCj4+IEZvciBleGFtcGxlOg0KPj4gICAgYmluZGVyOjI5NjJfMi0yOTYyICAgIFsw MDVdIC4uLjEuICAgMjA4LjQ1Mzk0MDogZG1hX2J1Zl9leHBvcnQ6IGV4cF9uYW1lPXFjb20sc3lz dGVtIG5hbWU9KG51bGwpIHNpemU9Mjg2NzIgaW5vPTI1ODAgZl9yZWZjbnQ9Mg0KPj4gICAgYmlu ZGVyOjI5NjJfMi0yOTYyICAgIFswMDVdIC4uLjEuICAgMjA4LjQ1Mzk0MzogZG1hX2J1Zl9mZDog ZXhwX25hbWU9cWNvbSxzeXN0ZW0gbmFtZT0obnVsbCkgc2l6ZT0yODY3MiBpbm89MjU4MCBmZD05 IGZfcmVmY250PTINCj4+ICAgIGJpbmRlcjoyOTYyXzItMjk2MiAgICBbMDA1XSAuLi4xLiAgIDIw OC40NTM5Nzc6IGRtYV9idWZfbW1hcF9pbnRlcm5hbDogZXhwX25hbWU9cWNvbSxzeXN0ZW0gbmFt ZT1xY29tLHN5c3RlbSBzaXplPTI4NjcyIGlubz0yNTgwIGZfcmVmY250PTQNCj4+ICAgICAga3dv cmtlci81OjItMTk0ICAgICBbMDA1XSAuLi4xLiAgIDIwOC40NjA1ODA6IGRtYV9idWZfcHV0OiBl eHBfbmFtZT1xY29tLHN5c3RlbSBuYW1lPWFiIHBpZCBbODE3Nl0gc2l6ZT0yODY3MiBpbm89MjU4 MCBmX3JlZmNudD0zDQo+PiAgICAgUmVuZGVyVGhyZWFkLTExMzA1ICAgWzAwN10gLi4uMS4gICAy MDguNTk5MDk0OiBkbWFfYnVmX2dldDogZXhwX25hbWU9cWNvbSxzeXN0ZW0gbmFtZT1hYiBwaWQg WzgxNzZdIHNpemU9MjE3MDg4IGlubz0yNTc5IGZkPTExMTQgZl9yZWZjbnQ9Nw0KPj4gICAgIFJl bmRlclRocmVhZC0xMTMwNSAgIFswMDddIC4uLjEuICAgMjA4LjU5OTA5ODogZG1hX2J1Zl9hdHRh Y2g6IGRldl9uYW1lPWtnc2wtM2QwIGV4cF9uYW1lPXFjb20sc3lzdGVtIG5hbWU9YWIgcGlkIFs4 MTc2XSBzaXplPTIxNzA4OCBpbm89MjU3OSBmX3JlZmNudD03DQo+PiAgICAgICAgICAgIDwuLi4+ LTE0ICAgICAgWzAwMV0gLi4uMS4gICAyMDguNzI2MzU5OiBkbWFfYnVmX2RldGFjaDogZGV2X25h bWU9a2dzbC0zZDAgZXhwX25hbWU9cWNvbSxzeXN0ZW0gbmFtZT1hYiBwaWQgWzMzMTddIHNpemU9 MjE3MDg4IGlubz0yNTgxIGZfcmVmY250PTMNCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBYaWFuZyBH YW8gPGdhb3hpYW5nMTdAeGlhb21pLmNvbT4NCj4+IC0tLQ0KPj4gIGRyaXZlcnMvZG1hLWJ1Zi9k bWEtYnVmLmMgICAgICB8ICA1NyArKysrKysrKysrLQ0KPj4gIGluY2x1ZGUvdHJhY2UvZXZlbnRz L2RtYV9idWYuaCB8IDE2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICAy IGZpbGVzIGNoYW5nZWQsIDIyMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+PiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvdHJhY2UvZXZlbnRzL2RtYV9idWYuaA0KPj4NCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jIGIvZHJpdmVycy9kbWEtYnVmL2Rt YS1idWYuYw0KPj4gaW5kZXggMmJjZjljZWNhOTk3Li43Y2VmODE2ZGRjYWMgMTAwNjQ0DQo+PiAt LS0gYS9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jDQo+PiArKysgYi9kcml2ZXJzL2RtYS1idWYv ZG1hLWJ1Zi5jDQo+PiBAQCAtMzUsNiArMzUsMTggQEANCj4+DQo+PiAgI2luY2x1ZGUgImRtYS1i dWYtc3lzZnMtc3RhdHMuaCINCj4+DQo+PiArI2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTDQo+ PiArI2luY2x1ZGUgPHRyYWNlL2V2ZW50cy9kbWFfYnVmLmg+DQo+PiArDQo+PiArRVhQT1JUX1RS QUNFUE9JTlRfU1lNQk9MKGRtYV9idWZfZXhwb3J0KTsNCj4+ICtFWFBPUlRfVFJBQ0VQT0lOVF9T WU1CT0woZG1hX2J1Zl9tbWFwX2ludGVybmFsKTsNCj4+ICtFWFBPUlRfVFJBQ0VQT0lOVF9TWU1C T0woZG1hX2J1Zl9tbWFwKTsNCj4+ICtFWFBPUlRfVFJBQ0VQT0lOVF9TWU1CT0woZG1hX2J1Zl9w dXQpOw0KPj4gK0VYUE9SVF9UUkFDRVBPSU5UX1NZTUJPTChkbWFfYnVmX2F0dGFjaCk7DQo+PiAr RVhQT1JUX1RSQUNFUE9JTlRfU1lNQk9MKGRtYV9idWZfZGV0YWNoKTsNCj4+ICtFWFBPUlRfVFJB Q0VQT0lOVF9TWU1CT0woZG1hX2J1Zl9mZCk7DQo+PiArRVhQT1JUX1RSQUNFUE9JTlRfU1lNQk9M KGRtYV9idWZfZ2V0KTsNCj4NCj4gRXhwb3J0aW5nIHRoZSB0cmFjZXBvaW50cyBpcyB1bmVjZXNz YXJ5IGFzIGZhciBhcyBJIGNhbiBzZWUNCj4NCj4+ICsNCj4+ICBzdGF0aWMgaW5saW5lIGludCBp c19kbWFfYnVmX2ZpbGUoc3RydWN0IGZpbGUgKik7DQo+Pg0KPj4gIHN0YXRpYyBERUZJTkVfTVVU RVgoZG1hYnVmX2xpc3RfbXV0ZXgpOw0KPj4gQEAgLTIyMCw2ICsyMzIsMTEgQEAgc3RhdGljIGlu dCBkbWFfYnVmX21tYXBfaW50ZXJuYWwoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCB2bV9hcmVh X3N0cnVjdCAqdm1hKQ0KPj4gICAgICAgICAgIGRtYWJ1Zi0+c2l6ZSA+PiBQQUdFX1NISUZUKQ0K Pj4gICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+DQo+PiArICAgICBpZiAodHJhY2Vf ZG1hX2J1Zl9tbWFwX2ludGVybmFsX2VuYWJsZWQoKSkgew0KPj4gKyAgICAgICAgICAgICBndWFy ZChzcGlubG9jaykoJmRtYWJ1Zi0+bmFtZV9sb2NrKTsNCj4+ICsgICAgICAgICAgICAgdHJhY2Vf ZG1hX2J1Zl9tbWFwX2ludGVybmFsKGRtYWJ1Zik7DQo+PiArICAgICB9DQo+PiArDQo+PiAgICAg ICByZXR1cm4gZG1hYnVmLT5vcHMtPm1tYXAoZG1hYnVmLCB2bWEpOw0KPj4gIH0NCj4+DQo+PiBA QCAtNzQ1LDYgKzc2MiwxMSBAQCBzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Zl9leHBvcnQoY29uc3Qg c3RydWN0IGRtYV9idWZfZXhwb3J0X2luZm8gKmV4cF9pbmZvKQ0KPj4NCj4+ICAgICAgIF9fZG1h X2J1Zl9saXN0X2FkZChkbWFidWYpOw0KPj4NCj4+ICsgICAgIGlmICh0cmFjZV9kbWFfYnVmX2V4 cG9ydF9lbmFibGVkKCkpIHsNCj4+ICsgICAgICAgICAgICAgZ3VhcmQoc3BpbmxvY2spKCZkbWFi dWYtPm5hbWVfbG9jayk7DQo+PiArICAgICAgICAgICAgIHRyYWNlX2RtYV9idWZfZXhwb3J0KGRt YWJ1Zik7DQo+PiArICAgICB9DQo+PiArDQo+PiAgICAgICByZXR1cm4gZG1hYnVmOw0KPj4NCj4+ ICBlcnJfZG1hYnVmOg0KPj4gQEAgLTc3OSw2ICs4MDEsMTEgQEAgaW50IGRtYV9idWZfZmQoc3Ry dWN0IGRtYV9idWYgKmRtYWJ1ZiwgaW50IGZsYWdzKQ0KPj4NCj4+ICAgICAgIGZkX2luc3RhbGwo ZmQsIGRtYWJ1Zi0+ZmlsZSk7DQo+Pg0KPj4gKyAgICAgaWYgKHRyYWNlX2RtYV9idWZfZmRfZW5h YmxlZCgpKSB7DQo+PiArICAgICAgICAgICAgIGd1YXJkKHNwaW5sb2NrKSgmZG1hYnVmLT5uYW1l X2xvY2spOw0KPj4gKyAgICAgICAgICAgICB0cmFjZV9kbWFfYnVmX2ZkKGRtYWJ1ZiwgZmQpOw0K Pj4gKyAgICAgfQ0KPj4gKw0KPj4gICAgICAgcmV0dXJuIGZkOw0KPj4gIH0NCj4+ICBFWFBPUlRf U1lNQk9MX05TX0dQTChkbWFfYnVmX2ZkLCAiRE1BX0JVRiIpOw0KPj4gQEAgLTc5NCw2ICs4MjEs NyBAQCBFWFBPUlRfU1lNQk9MX05TX0dQTChkbWFfYnVmX2ZkLCAiRE1BX0JVRiIpOw0KPj4gIHN0 cnVjdCBkbWFfYnVmICpkbWFfYnVmX2dldChpbnQgZmQpDQo+PiAgew0KPj4gICAgICAgc3RydWN0 IGZpbGUgKmZpbGU7DQo+PiArICAgICBzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmOw0KPj4NCj4+ICAg ICAgIGZpbGUgPSBmZ2V0KGZkKTsNCj4+DQo+PiBAQCAtODA1LDcgKzgzMywxNCBAQCBzdHJ1Y3Qg ZG1hX2J1ZiAqZG1hX2J1Zl9nZXQoaW50IGZkKQ0KPj4gICAgICAgICAgICAgICByZXR1cm4gRVJS X1BUUigtRUlOVkFMKTsNCj4+ICAgICAgIH0NCj4+DQo+PiAtICAgICByZXR1cm4gZmlsZS0+cHJp dmF0ZV9kYXRhOw0KPj4gKyAgICAgZG1hYnVmID0gZmlsZS0+cHJpdmF0ZV9kYXRhOw0KPj4gKw0K Pj4gKyAgICAgaWYgKHRyYWNlX2RtYV9idWZfZ2V0X2VuYWJsZWQoKSkgew0KPj4gKyAgICAgICAg ICAgICBndWFyZChzcGlubG9jaykoJmRtYWJ1Zi0+bmFtZV9sb2NrKTsNCj4+ICsgICAgICAgICAg ICAgdHJhY2VfZG1hX2J1Zl9nZXQoZG1hYnVmLCBmZCk7DQo+PiArICAgICB9DQo+PiArDQo+PiAr ICAgICByZXR1cm4gZG1hYnVmOw0KPj4gIH0NCj4+ICBFWFBPUlRfU1lNQk9MX05TX0dQTChkbWFf YnVmX2dldCwgIkRNQV9CVUYiKTsNCj4+DQo+PiBAQCAtODI1LDYgKzg2MCwxMSBAQCB2b2lkIGRt YV9idWZfcHV0KHN0cnVjdCBkbWFfYnVmICpkbWFidWYpDQo+PiAgICAgICAgICAgICAgIHJldHVy bjsNCj4+DQo+PiAgICAgICBmcHV0KGRtYWJ1Zi0+ZmlsZSk7DQo+PiArDQo+PiArICAgICBpZiAo dHJhY2VfZG1hX2J1Zl9wdXRfZW5hYmxlZCgpKSB7DQo+PiArICAgICAgICAgICAgIGd1YXJkKHNw aW5sb2NrKSgmZG1hYnVmLT5uYW1lX2xvY2spOw0KPj4gKyAgICAgICAgICAgICB0cmFjZV9kbWFf YnVmX3B1dChkbWFidWYpOw0KPj4gKyAgICAgfQ0KPj4gIH0NCj4+ICBFWFBPUlRfU1lNQk9MX05T X0dQTChkbWFfYnVmX3B1dCwgIkRNQV9CVUYiKTsNCj4+DQo+PiBAQCAtOTk4LDYgKzEwMzgsMTEg QEAgRVhQT1JUX1NZTUJPTF9OU19HUEwoZG1hX2J1Zl9keW5hbWljX2F0dGFjaCwgIkRNQV9CVUYi KTsNCj4+ICBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICpkbWFfYnVmX2F0dGFjaChzdHJ1Y3Qg ZG1hX2J1ZiAqZG1hYnVmLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBkZXZpY2UgKmRldikNCj4+ICB7DQo+PiArICAgICBpZiAodHJhY2VfZG1hX2J1 Zl9hdHRhY2hfZW5hYmxlZCgpKSB7DQo+PiArICAgICAgICAgICAgIGd1YXJkKHNwaW5sb2NrKSgm ZG1hYnVmLT5uYW1lX2xvY2spOw0KPj4gKyAgICAgICAgICAgICB0cmFjZV9kbWFfYnVmX2F0dGFj aChkbWFidWYsIGRldik7DQo+PiArICAgICB9DQo+PiArDQo+PiAgICAgICByZXR1cm4gZG1hX2J1 Zl9keW5hbWljX2F0dGFjaChkbWFidWYsIGRldiwgTlVMTCwgTlVMTCk7DQo+PiAgfQ0KPj4gIEVY UE9SVF9TWU1CT0xfTlNfR1BMKGRtYV9idWZfYXR0YWNoLCAiRE1BX0JVRiIpOw0KPj4gQEAgLTEw MjMsNiArMTA2OCwxMSBAQCB2b2lkIGRtYV9idWZfZGV0YWNoKHN0cnVjdCBkbWFfYnVmICpkbWFi dWYsIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCkNCj4+ICAgICAgIGlmIChkbWFi dWYtPm9wcy0+ZGV0YWNoKQ0KPj4gICAgICAgICAgICAgICBkbWFidWYtPm9wcy0+ZGV0YWNoKGRt YWJ1ZiwgYXR0YWNoKTsNCj4+DQo+PiArICAgICBpZiAodHJhY2VfZG1hX2J1Zl9kZXRhY2hfZW5h YmxlZCgpKSB7DQo+PiArICAgICAgICAgICAgIGd1YXJkKHNwaW5sb2NrKSgmZG1hYnVmLT5uYW1l X2xvY2spOw0KPj4gKyAgICAgICAgICAgICB0cmFjZV9kbWFfYnVmX2RldGFjaChkbWFidWYsIGF0 dGFjaC0+ZGV2KTsNCj4+ICsgICAgIH0NCj4+ICsNCj4+ICAgICAgIGtmcmVlKGF0dGFjaCk7DQo+ PiAgfQ0KPj4gIEVYUE9SVF9TWU1CT0xfTlNfR1BMKGRtYV9idWZfZGV0YWNoLCAiRE1BX0JVRiIp Ow0KPj4gQEAgLTE0ODgsNiArMTUzOCwxMSBAQCBpbnQgZG1hX2J1Zl9tbWFwKHN0cnVjdCBkbWFf YnVmICpkbWFidWYsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLA0KPj4gICAgICAgdm1hX3Nl dF9maWxlKHZtYSwgZG1hYnVmLT5maWxlKTsNCj4+ICAgICAgIHZtYS0+dm1fcGdvZmYgPSBwZ29m ZjsNCj4+DQo+PiArICAgICBpZiAodHJhY2VfZG1hX2J1Zl9tbWFwX2VuYWJsZWQoKSkgew0KPj4g KyAgICAgICAgICAgICBndWFyZChzcGlubG9jaykoJmRtYWJ1Zi0+bmFtZV9sb2NrKTsNCj4+ICsg ICAgICAgICAgICAgdHJhY2VfZG1hX2J1Zl9tbWFwKGRtYWJ1Zik7DQo+PiArICAgICB9DQo+PiAr DQo+PiAgICAgICByZXR1cm4gZG1hYnVmLT5vcHMtPm1tYXAoZG1hYnVmLCB2bWEpOw0KPj4gIH0N Cj4+ICBFWFBPUlRfU1lNQk9MX05TX0dQTChkbWFfYnVmX21tYXAsICJETUFfQlVGIik7DQo+PiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS90cmFjZS9ldmVudHMvZG1hX2J1Zi5oIGIvaW5jbHVkZS90cmFj ZS9ldmVudHMvZG1hX2J1Zi5oDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAw MDAwMDAwMDAwLi5mZTlkYTg5YmFjZDANCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL2luY2x1 ZGUvdHJhY2UvZXZlbnRzL2RtYV9idWYuaA0KPj4gQEAgLTAsMCArMSwxNjYgQEANCj4+ICsvKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLw0KPj4gKyN1bmRlZiBUUkFDRV9TWVNU RU0NCj4+ICsjZGVmaW5lIFRSQUNFX1NZU1RFTSBkbWFfYnVmDQo+PiArDQo+PiArI2lmICFkZWZp bmVkKF9UUkFDRV9ETUFfQlVGX0gpIHx8IGRlZmluZWQoVFJBQ0VfSEVBREVSX01VTFRJX1JFQUQp DQo+PiArI2RlZmluZSBfVFJBQ0VfRE1BX0JVRl9IDQo+PiArDQo+PiArI2luY2x1ZGUgPGxpbnV4 L2RtYS1idWYuaD4NCj4+ICsjaW5jbHVkZSA8bGludXgvdHJhY2Vwb2ludC5oPg0KPj4gKw0KPj4g K0RFQ0xBUkVfRVZFTlRfQ0xBU1MoZG1hX2J1ZiwNCj4+ICsNCj4+ICsgICAgIFRQX1BST1RPKHN0 cnVjdCBkbWFfYnVmICpkbWFidWYpLA0KPj4gKw0KPj4gKyAgICAgVFBfQVJHUyhkbWFidWYpLA0K Pj4gKw0KPj4gKyAgICAgVFBfU1RSVUNUX19lbnRyeSgNCj4+ICsgICAgICAgICAgICAgX19zdHJp bmcoZXhwX25hbWUsIGRtYWJ1Zi0+ZXhwX25hbWUpDQo+PiArICAgICAgICAgICAgIF9fc3RyaW5n KG5hbWUsIGRtYWJ1Zi0+bmFtZSkNCj4+ICsgICAgICAgICAgICAgX19maWVsZChzaXplX3QsIHNp emUpDQo+PiArICAgICAgICAgICAgIF9fZmllbGQoaW5vX3QsIGlubykNCj4+ICsgICAgICAgICAg ICAgX19maWVsZChsb25nLCBmX3JlZmNudCkNCj4+ICsgICAgICksDQo+PiArDQo+PiArICAgICBU UF9mYXN0X2Fzc2lnbigNCj4+ICsgICAgICAgICAgICAgX19hc3NpZ25fc3RyKGV4cF9uYW1lKTsN Cj4+ICsgICAgICAgICAgICAgX19hc3NpZ25fc3RyKG5hbWUpOw0KPj4gKyAgICAgICAgICAgICBf X2VudHJ5LT5zaXplID0gZG1hYnVmLT5zaXplOw0KPj4gKyAgICAgICAgICAgICBfX2VudHJ5LT5p bm8gPSBkbWFidWYtPmZpbGUtPmZfaW5vZGUtPmlfaW5vOw0KPj4gKyAgICAgICAgICAgICBfX2Vu dHJ5LT5mX3JlZmNudCA9IGZpbGVfY291bnQoZG1hYnVmLT5maWxlKTsNCj4+ICsgICAgICksDQo+ PiArDQo+PiArICAgICBUUF9wcmludGsoImV4cF9uYW1lPSVzIG5hbWU9JXMgc2l6ZT0lenUgaW5v PSVsdSBmX3JlZmNudD0lbGQiLA0KPj4gKyAgICAgICAgICAgICAgIF9fZ2V0X3N0cihleHBfbmFt ZSksDQo+PiArICAgICAgICAgICAgICAgX19nZXRfc3RyKG5hbWUpLA0KPj4gKyAgICAgICAgICAg ICAgIF9fZW50cnktPnNpemUsDQo+PiArICAgICAgICAgICAgICAgX19lbnRyeS0+aW5vLA0KPj4g KyAgICAgICAgICAgICAgIF9fZW50cnktPmZfcmVmY250KQ0KPg0KPiBJIGNhbid0IGNvbWUgdXAg d2l0aCBhIHJlYXNvbiB3aHkgd2Ugc2hvdWxkIGhhdmUgdGhlIGZpbGUgcmVmY291bnQgaW4gdGhl IHRyYWNlIGxvZ3MuDQo+DQo+IFNhbWUgZm9yIG1vc3Qgb3RoZXIgcGxhY2VzLg0KPg0KPj4gKyk7 DQo+PiArDQo+PiArREVDTEFSRV9FVkVOVF9DTEFTUyhkbWFfYnVmX2F0dGFjaF9kZXYsDQo+PiAr DQo+PiArICAgICBUUF9QUk9UTyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBzdHJ1Y3QgZGV2aWNl ICpkZXYpLA0KPj4gKw0KPj4gKyAgICAgVFBfQVJHUyhkbWFidWYsIGRldiksDQo+PiArDQo+PiAr ICAgICBUUF9TVFJVQ1RfX2VudHJ5KA0KPj4gKyAgICAgICAgICAgICBfX3N0cmluZyhkbmFtZSwg ZGV2X25hbWUoZGV2KSkNCj4+ICsgICAgICAgICAgICAgX19zdHJpbmcoZXhwX25hbWUsIGRtYWJ1 Zi0+ZXhwX25hbWUpDQo+PiArICAgICAgICAgICAgIF9fc3RyaW5nKG5hbWUsIGRtYWJ1Zi0+bmFt ZSkNCj4+ICsgICAgICAgICAgICAgX19maWVsZChzaXplX3QsIHNpemUpDQo+PiArICAgICAgICAg ICAgIF9fZmllbGQoaW5vX3QsIGlubykNCj4+ICsgICAgICAgICAgICAgX19maWVsZChsb25nLCBm X3JlZmNudCkNCj4+ICsgICAgICksDQo+PiArDQo+PiArICAgICBUUF9mYXN0X2Fzc2lnbigNCj4+ ICsgICAgICAgICAgICAgX19hc3NpZ25fc3RyKGRuYW1lKTsNCj4+ICsgICAgICAgICAgICAgX19h c3NpZ25fc3RyKGV4cF9uYW1lKTsNCj4+ICsgICAgICAgICAgICAgX19hc3NpZ25fc3RyKG5hbWUp Ow0KPj4gKyAgICAgICAgICAgICBfX2VudHJ5LT5zaXplID0gZG1hYnVmLT5zaXplOw0KPj4gKyAg ICAgICAgICAgICBfX2VudHJ5LT5pbm8gPSBkbWFidWYtPmZpbGUtPmZfaW5vZGUtPmlfaW5vOw0K Pj4gKyAgICAgICAgICAgICBfX2VudHJ5LT5mX3JlZmNudCA9IGZpbGVfY291bnQoZG1hYnVmLT5m aWxlKTsNCj4+ICsgICAgICksDQo+PiArDQo+PiArICAgICBUUF9wcmludGsoImRldl9uYW1lPSVz IGV4cF9uYW1lPSVzIG5hbWU9JXMgc2l6ZT0lenUgaW5vPSVsdSBmX3JlZmNudD0lbGQiLA0KPj4g KyAgICAgICAgICAgICAgIF9fZ2V0X3N0cihkbmFtZSksDQo+PiArICAgICAgICAgICAgICAgX19n ZXRfc3RyKGV4cF9uYW1lKSwNCj4+ICsgICAgICAgICAgICAgICBfX2dldF9zdHIobmFtZSksDQo+ PiArICAgICAgICAgICAgICAgX19lbnRyeS0+c2l6ZSwNCj4+ICsgICAgICAgICAgICAgICBfX2Vu dHJ5LT5pbm8sDQo+PiArICAgICAgICAgICAgICAgX19lbnRyeS0+Zl9yZWZjbnQpDQo+DQo+IFBy aW50IHRoZSBkZXZfbmFtZSBsYXN0LCBpdCdzIHRoZSBleHRlcm5hbCBkZXZpY2Ugd2hpY2ggYXR0 YWNoZXMgdG8gdGhlIERNQS1idWYuDQo+DQo+IEFkZGl0aW9uYWwgdG8gdGhhdCBpdCB3b3VsZCBi ZSBuaWNlIHRvIGtub3cgaWYgdGhlIGF0dGFjaG1lbnQgaXMgZHluYW1pYyBvciBub3QuDQo+DQo+ IFJlZ2FyZHMsDQo+IENocmlzdGlhbi4NCj4NCj4+ICspOw0KPj4gKw0KPj4gK0RFQ0xBUkVfRVZF TlRfQ0xBU1MoZG1hX2J1Zl9mZCwNCj4+ICsNCj4+ICsgICAgIFRQX1BST1RPKHN0cnVjdCBkbWFf YnVmICpkbWFidWYsIGludCBmZCksDQo+PiArDQo+PiArICAgICBUUF9BUkdTKGRtYWJ1ZiwgZmQp LA0KPj4gKw0KPj4gKyAgICAgVFBfU1RSVUNUX19lbnRyeSgNCj4+ICsgICAgICAgICAgICAgX19z dHJpbmcoZXhwX25hbWUsIGRtYWJ1Zi0+ZXhwX25hbWUpDQo+PiArICAgICAgICAgICAgIF9fc3Ry aW5nKG5hbWUsIGRtYWJ1Zi0+bmFtZSkNCj4+ICsgICAgICAgICAgICAgX19maWVsZChzaXplX3Qs IHNpemUpDQo+PiArICAgICAgICAgICAgIF9fZmllbGQoaW5vX3QsIGlubykNCj4+ICsgICAgICAg ICAgICAgX19maWVsZChpbnQsIGZkKQ0KPj4gKyAgICAgICAgICAgICBfX2ZpZWxkKGxvbmcsIGZf cmVmY250KQ0KPj4gKyAgICAgKSwNCj4+ICsNCj4+ICsgICAgIFRQX2Zhc3RfYXNzaWduKA0KPj4g KyAgICAgICAgICAgICBfX2Fzc2lnbl9zdHIoZXhwX25hbWUpOw0KPj4gKyAgICAgICAgICAgICBf X2Fzc2lnbl9zdHIobmFtZSk7DQo+PiArICAgICAgICAgICAgIF9fZW50cnktPnNpemUgPSBkbWFi dWYtPnNpemU7DQo+PiArICAgICAgICAgICAgIF9fZW50cnktPmlubyA9IGRtYWJ1Zi0+ZmlsZS0+ Zl9pbm9kZS0+aV9pbm87DQo+PiArICAgICAgICAgICAgIF9fZW50cnktPmZkID0gZmQ7DQo+PiAr ICAgICAgICAgICAgIF9fZW50cnktPmZfcmVmY250ID0gZmlsZV9jb3VudChkbWFidWYtPmZpbGUp Ow0KPj4gKyAgICAgKSwNCj4+ICsNCj4+ICsgICAgIFRQX3ByaW50aygiZXhwX25hbWU9JXMgbmFt ZT0lcyBzaXplPSV6dSBpbm89JWx1IGZkPSVkIGZfcmVmY250PSVsZCIsDQo+PiArICAgICAgICAg ICAgICAgX19nZXRfc3RyKGV4cF9uYW1lKSwNCj4+ICsgICAgICAgICAgICAgICBfX2dldF9zdHIo bmFtZSksDQo+PiArICAgICAgICAgICAgICAgX19lbnRyeS0+c2l6ZSwNCj4+ICsgICAgICAgICAg ICAgICBfX2VudHJ5LT5pbm8sDQo+PiArICAgICAgICAgICAgICAgX19lbnRyeS0+ZmQsDQo+PiAr ICAgICAgICAgICAgICAgX19lbnRyeS0+Zl9yZWZjbnQpDQo+PiArKTsNCj4+ICsNCj4+ICtERUZJ TkVfRVZFTlQoZG1hX2J1ZiwgZG1hX2J1Zl9leHBvcnQsDQo+PiArDQo+PiArICAgICBUUF9QUk9U TyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmKSwNCj4+ICsNCj4+ICsgICAgIFRQX0FSR1MoZG1hYnVm KQ0KPj4gKyk7DQo+PiArDQo+PiArREVGSU5FX0VWRU5UKGRtYV9idWYsIGRtYV9idWZfbW1hcF9p bnRlcm5hbCwNCj4+ICsNCj4+ICsgICAgIFRQX1BST1RPKHN0cnVjdCBkbWFfYnVmICpkbWFidWYp LA0KPj4gKw0KPj4gKyAgICAgVFBfQVJHUyhkbWFidWYpDQo+PiArKTsNCj4+ICsNCj4+ICtERUZJ TkVfRVZFTlQoZG1hX2J1ZiwgZG1hX2J1Zl9tbWFwLA0KPj4gKw0KPj4gKyAgICAgVFBfUFJPVE8o c3RydWN0IGRtYV9idWYgKmRtYWJ1ZiksDQo+PiArDQo+PiArICAgICBUUF9BUkdTKGRtYWJ1ZikN Cj4+ICspOw0KPj4gKw0KPj4gK0RFRklORV9FVkVOVChkbWFfYnVmLCBkbWFfYnVmX3B1dCwNCj4+ ICsNCj4+ICsgICAgIFRQX1BST1RPKHN0cnVjdCBkbWFfYnVmICpkbWFidWYpLA0KPj4gKw0KPj4g KyAgICAgVFBfQVJHUyhkbWFidWYpDQo+PiArKTsNCj4+ICsNCj4+ICtERUZJTkVfRVZFTlQoZG1h X2J1Zl9hdHRhY2hfZGV2LCBkbWFfYnVmX2F0dGFjaCwNCj4+ICsNCj4+ICsgICAgIFRQX1BST1RP KHN0cnVjdCBkbWFfYnVmICpkbWFidWYsIHN0cnVjdCBkZXZpY2UgKmRldiksDQo+PiArDQo+PiAr ICAgICBUUF9BUkdTKGRtYWJ1ZiwgZGV2KQ0KPj4gKyk7DQo+PiArDQo+PiArREVGSU5FX0VWRU5U KGRtYV9idWZfYXR0YWNoX2RldiwgZG1hX2J1Zl9kZXRhY2gsDQo+PiArDQo+PiArICAgICBUUF9Q Uk9UTyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBzdHJ1Y3QgZGV2aWNlICpkZXYpLA0KPj4gKw0K Pj4gKyAgICAgVFBfQVJHUyhkbWFidWYsIGRldikNCj4+ICspOw0KPj4gKw0KPj4gK0RFRklORV9F VkVOVChkbWFfYnVmX2ZkLCBkbWFfYnVmX2ZkLA0KPj4gKw0KPj4gKyAgICAgVFBfUFJPVE8oc3Ry dWN0IGRtYV9idWYgKmRtYWJ1ZiwgaW50IGZkKSwNCj4+ICsNCj4+ICsgICAgIFRQX0FSR1MoZG1h YnVmLCBmZCkNCj4+ICspOw0KPj4gKw0KPj4gK0RFRklORV9FVkVOVChkbWFfYnVmX2ZkLCBkbWFf YnVmX2dldCwNCj4+ICsNCj4+ICsgICAgIFRQX1BST1RPKHN0cnVjdCBkbWFfYnVmICpkbWFidWYs IGludCBmZCksDQo+PiArDQo+PiArICAgICBUUF9BUkdTKGRtYWJ1ZiwgZmQpDQo+PiArKTsNCj4+ ICsNCj4+ICsjZW5kaWYgLyogX1RSQUNFX0RNQV9CVUZfSCAqLw0KPj4gKw0KPj4gKy8qIFRoaXMg cGFydCBtdXN0IGJlIG91dHNpZGUgcHJvdGVjdGlvbiAqLw0KPj4gKyNpbmNsdWRlIDx0cmFjZS9k ZWZpbmVfdHJhY2UuaD4NCj4NCg0K --_000_76293b63568547e98efd7c0644ad7a49xiaomicom_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVu dD0iTWljcm9zb2Z0IEV4Y2hhbmdlIFNlcnZlciI+DQo8IS0tIGNvbnZlcnRlZCBmcm9tIHRleHQg LS0+PHN0eWxlPjwhLS0gLkVtYWlsUXVvdGUgeyBtYXJnaW4tbGVmdDogMXB0OyBwYWRkaW5nLWxl ZnQ6IDRwdDsgYm9yZGVyLWxlZnQ6ICM4MDAwMDAgMnB4IHNvbGlkOyB9IC0tPjwvc3R5bGU+DQo8 L2hlYWQ+DQo8Ym9keT4NCjxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+ DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiIHN0eWxlPSIiPg0KPCEtLQ0KcA0KCXttYXJnaW4tdG9w OjA7DQoJbWFyZ2luLWJvdHRvbTowfQ0KLS0+DQo8L3N0eWxlPg0KPGRpdiBkaXI9Imx0ciI+DQo8 ZGl2IGlkPSJ4X2RpdnRhZ2RlZmF1bHR3cmFwcGVyIiBkaXI9Imx0ciIgc3R5bGU9ImZvbnQtc2l6 ZToxMnB0OyBjb2xvcjojMDAwMDAwOyBmb250LWZhbWlseTpDYWxpYnJpLEhlbHZldGljYSxzYW5z LXNlcmlmIj4NCjxwPiZndDsmbmJzcDs8c3BhbiBzdHlsZT0iY29sb3I6cmdiKDMzLDMzLDMzKTsg Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpIFVJJnF1b3Q7LCZxdW90O01pY3Jvc29m dCBZYUhlaSZxdW90Oyzlvq7ova/pm4Xpu5EsU2ltU3VuLOWui+S9kyxzYW5zLXNlcmlmLHNlcmlm LEVtb2ppRm9udDsgZm9udC1zaXplOjEzLjMzMzNweCI+SHVpPyBXaHkgd291bGQgeW91IGFkZCB0 aG9zZSBzeW1ib2xzIHRvIGFueSB3aGl0ZWxpc3Q/PC9zcGFuPjxiciBzdHlsZT0iY29sb3I6cmdi KDMzLDMzLDMzKTsgZm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpIFVJJnF1b3Q7LCZx dW90O01pY3Jvc29mdCBZYUhlaSZxdW90Oyzlvq7ova/pm4Xpu5EsU2ltU3VuLOWui+S9kyxzYW5z LXNlcmlmLHNlcmlmLEVtb2ppRm9udDsgZm9udC1zaXplOjEzLjMzMzNweCI+DQo8L3A+DQo8cD48 c3BhbiBzdHlsZT0iY29sb3I6cmdiKDMzLDMzLDMzKTsgZm9udC1mYW1pbHk6JnF1b3Q7TWljcm9z b2Z0IFlhSGVpIFVJJnF1b3Q7LCZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90Oyzlvq7ova/pm4Xp u5EsU2ltU3VuLOWui+S9kyxzYW5zLXNlcmlmLHNlcmlmLEVtb2ppRm9udDsgZm9udC1zaXplOjEz LjMzMzNweCI+PC9zcGFuPjwvcD4NCjxkaXY+VGhpcyBpcyB0aGUgbWVjaGFuaXNtIG9mIGFuZHJv aWQgZ2tpLiBUbyB1c2UgYSB0cmFjZXBvaW50IGluIHRoZSBkcml2ZXIgbW9kdWxlLCB0PHNwYW4g c3R5bGU9ImZvbnQtc2l6ZToxMnB0Ij53byBwb2ludHMgYXJlIHJlcXVpcmVkIGZvciBhIHN1Y2Nl c3NmdWwgY29tcGlsYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMnB0Ij46PC9z cGFuPjwvZGl2Pg0KPGRpdj4xLCBleHBvcnQgdHJhY2VwaW50PC9kaXY+DQo8ZGl2PjIsIGFkZCB0 cmFjZXBvaW50IHRvIGFuZHJvaWQmbmJzcDs8c3BhbiBzdHlsZT0iY29sb3I6cmdiKDMzLDMzLDMz KTsgZm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpIFVJJnF1b3Q7LCZxdW90O01pY3Jv c29mdCBZYUhlaSZxdW90Oyzlvq7ova/pm4Xpu5EsU2ltU3VuLOWui+S9kyxzYW5zLXNlcmlmLHNl cmlmLEVtb2ppRm9udDsgZm9udC1zaXplOjEzLjMzMzNweCI+d2hpdGVsaXN0Ljwvc3Bhbj48L2Rp dj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjpyZ2IoMzMsMzMs MzMpOyBmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkgVUkmcXVvdDssJnF1b3Q7TWlj cm9zb2Z0IFlhSGVpJnF1b3Q7LOW+rui9r+mbhem7kSxTaW1TdW4s5a6L5L2TLHNhbnMtc2VyaWYs c2VyaWYsRW1vamlGb250OyBmb250LXNpemU6MTMuMzMzM3B4Ij48L3NwYW4+QnV0IHdpdGhvdXQg ZXhwb3J0aW5nIHRyYWNlcG9pbnQsIEkgY2FuIGFsc28mbmJzcDt1c2UNCjxzcGFuPnRyYWNlcG9p bnRfcHJvYmVfcmVnaXN0ZXImbmJzcDs8c3Bhbj50byBzb2x2ZSBpdC48L3NwYW4+PC9zcGFuPjwv ZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PjxzcGFuPjxz cGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigzMywzMywzMyk7IGZvbnQt ZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSBVSSZxdW90OywmcXVvdDtNaWNyb3NvZnQgWWFI ZWkmcXVvdDss5b6u6L2v6ZuF6buRLFNpbVN1bizlrovkvZMsc2Fucy1zZXJpZixzZXJpZixFbW9q aUZvbnQ7IGZvbnQtc2l6ZToxMy4zMzMzcHgiPiZndDsmbmJzcDtUaGUgcmVmY250IGlzIG1hbmlw dWxhdGVkIG91dHNpZGUgb2YgdGhlIERNQS1idWYgY29kZSBieSB0aGUgZmlsZXN5c3RlbSBsYXll ci48L3NwYW4+PGJyIHN0eWxlPSJjb2xvcjpyZ2IoMzMsMzMsMzMpOyBmb250LWZhbWlseTomcXVv dDtNaWNyb3NvZnQgWWFIZWkgVUkmcXVvdDssJnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LOW+ rui9r+mbhem7kSxTaW1TdW4s5a6L5L2TLHNhbnMtc2VyaWYsc2VyaWYsRW1vamlGb250OyBmb250 LXNpemU6MTMuMzMzM3B4Ij4NCjxzcGFuIHN0eWxlPSJjb2xvcjpyZ2IoMzMsMzMsMzMpOyBmb250 LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkgVUkmcXVvdDssJnF1b3Q7TWljcm9zb2Z0IFlh SGVpJnF1b3Q7LOW+rui9r+mbhem7kSxTaW1TdW4s5a6L5L2TLHNhbnMtc2VyaWYsc2VyaWYsRW1v amlGb250OyBmb250LXNpemU6MTMuMzMzM3B4Ij4mZ3Q7Jm5ic3A7QXMgZmFyIGFzIEkgY2FuIHNl ZSBpdCBpcyBtZWFuaW5nbGVzcyBoZXJlLjwvc3Bhbj48L2Rpdj4NCjxkaXY+b2suPC9kaXY+DQo8 ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj48L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8YnI+DQo8 cD48L3A+DQo8L2Rpdj4NCjxociB0YWJpbmRleD0iLTEiIHN0eWxlPSJkaXNwbGF5OmlubGluZS1i bG9jazsgd2lkdGg6OTglIj4NCjxkaXYgaWQ9InhfZGl2UnBseUZ3ZE1zZyIgZGlyPSJsdHIiPjxm b250IGZhY2U9IkNhbGlicmksIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIiBzdHlsZT0iZm9u dC1zaXplOjExcHQiPjxiPuWPkeS7tuS6ujo8L2I+IENocmlzdGlhbiBLw7ZuaWcgJmx0O2Nocmlz dGlhbi5rb2VuaWdAYW1kLmNvbSZndDs8YnI+DQo8Yj7lj5HpgIHml7bpl7Q6PC9iPiAyMDI15bm0 MTHmnIgyN+aXpSAyMjowODozMjxicj4NCjxiPuaUtuS7tuS6ujo8L2I+IOmrmOe/lDsgWGlhbmcg R2FvOyBzdW1pdC5zZW13YWxAbGluYXJvLm9yZzsgcm9zdGVkdEBnb29kbWlzLm9yZzsgbWhpcmFt YXRAa2VybmVsLm9yZzxicj4NCjxiPuaKhOmAgTo8L2I+IGxpbnV4LW1lZGlhQHZnZXIua2VybmVs Lm9yZzsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgbGludXgta2VybmVsQHZnZXIu a2VybmVsLm9yZzsgbWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tOyBkaG93ZWxsc0ByZWRo YXQuY29tOyBrdWJhQGtlcm5lbC5vcmc7IGJyYXVuZXJAa2VybmVsLm9yZzsgYWtwbUBsaW51eC1m b3VuZGF0aW9uLm9yZzsgbGludXgtdHJhY2Uta2VybmVsQHZnZXIua2VybmVsLm9yZzxicj4NCjxi PuS4u+mimDo8L2I+IFJlOiDnrZTlpI06IFtFeHRlcm5hbCBNYWlsXVJlOiBbUEFUQ0ggdjNdIGRt YS1idWY6IGFkZCBzb21lIHRyYWNlcG9pbnRzIHRvIGRlYnVnLjwvZm9udD4NCjxkaXY+Jm5ic3A7 PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPGZvbnQgc2l6ZT0iMiI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMHB0OyI+DQo8ZGl2IGNsYXNzPSJQbGFpblRleHQiPlvlpJbpg6jpgq7ku7ZdIOatpOmC ruS7tuadpea6kOS6juWwj+exs+WFrOWPuOWklumDqO+8jOivt+iwqOaFjuWkhOeQhuOAguiLpeWv uemCruS7tuWuieWFqOaAp+WtmOeWke+8jOivt+WwhumCruS7tui9rOWPkee7mW1pc2VjQHhpYW9t aS5jb23ov5vooYzlj43ppog8YnI+DQo8YnI+DQpPbiAxMS8yNy8yNSAxNTowNSwg6auY57+UIHdy b3RlOjxicj4NCiZndDsmZ3Q7Jm5ic3A7RXhwb3J0aW5nIHRoZSB0cmFjZXBvaW50cyBpcyB1bmVj ZXNzYXJ5IGFzIGZhciBhcyBJIGNhbiBzZWU8YnI+DQomZ3Q7PGJyPg0KJmd0OyBhbmRyb2lkIG11 c3QgZXhwb3J0IHN5bWJvbHMgYmVmb3JlIGFkZGluZyBhIHdoaXRlbGlzdC48YnI+DQo8YnI+DQpI dWk/IFdoeSB3b3VsZCB5b3UgYWRkIHRob3NlIHN5bWJvbHMgdG8gYW55IHdoaXRlbGlzdD88YnI+ DQo8YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7SSBjYW4ndCBjb21lIHVw IHdpdGggYSByZWFzb24gd2h5IHdlIHNob3VsZCBoYXZlIHRoZSBmaWxlIHJlZmNvdW50IGluIHRo ZSB0cmFjZSBsb2dzLjxicj4NCiZndDsmZ3Q7Jm5ic3A7U2FtZSBmb3IgbW9zdCBvdGhlciBwbGFj ZXMuPGJyPg0KJmd0OyBJIGNhbiBkaXJlY3RseSBvYnNlcnZlIGhvdyByZWZjbnQgaXMgY2hhbmdp bmcuJm5ic3A7IFRoZW4gaXQgY2FuIGJlIGtub3duIHdoZXJlIHRoZSBkbWFidWYgd2FzIGZpbmFs bHkgcmVsZWFzZWQuPGJyPg0KPGJyPg0KVGhlIHJlZmNudCBpcyBtYW5pcHVsYXRlZCBvdXRzaWRl IG9mIHRoZSBETUEtYnVmIGNvZGUgYnkgdGhlIGZpbGVzeXN0ZW0gbGF5ZXIuPGJyPg0KPGJyPg0K QXMgZmFyIGFzIEkgY2FuIHNlZSBpdCBpcyBtZWFuaW5nbGVzcyBoZXJlLjxicj4NCjxicj4NClJl Z2FyZHMsPGJyPg0KQ2hyaXN0aWFuLjxicj4NCjxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0 OyZndDsmbmJzcDtQcmludCB0aGUgZGV2X25hbWUgbGFzdCwgaXQncyB0aGUgZXh0ZXJuYWwgZGV2 aWNlIHdoaWNoIGF0dGFjaGVzIHRvIHRoZSBETUEtYnVmLjxicj4NCiZndDsgb2suPGJyPg0KJmd0 Ozxicj4NCiZndDs8YnI+DQomZ3Q7Jmd0OyZuYnNwO0FkZGl0aW9uYWwgdG8gdGhhdCBpdCB3b3Vs ZCBiZSBuaWNlIHRvIGtub3cgaWYgdGhlIGF0dGFjaG1lbnQgaXMgZHluYW1pYyBvciBub3QuPGJy Pg0KJmd0OyBvay48YnI+DQomZ3Q7PGJyPg0KJmd0OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+ DQomZ3Q7ICrlj5Hku7bkuro6KiBDaHJpc3RpYW4gS8O2bmlnICZsdDtjaHJpc3RpYW4ua29lbmln QGFtZC5jb20mZ3Q7PGJyPg0KJmd0OyAq5Y+R6YCB5pe26Ze0OiogMjAyNeW5tDEx5pyIMjfml6Ug MTc6NDk6MDk8YnI+DQomZ3Q7ICrmlLbku7bkuro6KiBYaWFuZyBHYW87IHN1bWl0LnNlbXdhbEBs aW5hcm8ub3JnOyByb3N0ZWR0QGdvb2RtaXMub3JnOyBtaGlyYW1hdEBrZXJuZWwub3JnPGJyPg0K Jmd0OyAq5oqE6YCBOiogbGludXgtbWVkaWFAdmdlci5rZXJuZWwub3JnOyBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBtYXRoaWV1 LmRlc25veWVyc0BlZmZpY2lvcy5jb207IGRob3dlbGxzQHJlZGhhdC5jb207IGt1YmFAa2VybmVs Lm9yZzsgYnJhdW5lckBrZXJuZWwub3JnOyBha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnOyBsaW51 eC10cmFjZS1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyDpq5jnv5Q8YnI+DQomZ3Q7ICrkuLvpopg6 KiBbRXh0ZXJuYWwgTWFpbF1SZTogW1BBVENIIHYzXSBkbWEtYnVmOiBhZGQgc29tZSB0cmFjZXBv aW50cyB0byBkZWJ1Zy48YnI+DQomZ3Q7PGJyPg0KJmd0OyBb5aSW6YOo6YKu5Lu2XSDmraTpgq7k u7bmnaXmupDkuo7lsI/nsbPlhazlj7jlpJbpg6jvvIzor7fosKjmhY7lpITnkIbjgILoi6Xlr7np gq7ku7blronlhajmgKflrZjnlpHvvIzor7flsIbpgq7ku7bovazlj5Hnu5ltaXNlY0B4aWFvbWku Y29t6L+b6KGM5Y+N6aaIPGJyPg0KJmd0Ozxicj4NCiZndDsgT24gMTEvMjcvMjUgMDE6NDMsIFhp YW5nIEdhbyB3cm90ZTo8YnI+DQomZ3Q7Jmd0OyBGcm9tOiBnYW94aWFuZzE3ICZsdDtnYW94aWFu ZzE3QHhpYW9taS5jb20mZ3Q7PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyBJIHdhbnQgdG8g dHJhY2sgdGhlIHN0YXR1cyBvZiBkbWFidWYgaW4gcmVhbCB0aW1lIGluIHRoZSBwcm9kdWN0aW9u IGVudmlyb25tZW50Ljxicj4NCiZndDsmZ3Q7IEJ1dCBub3cgd2UgY2FuIG9ubHkgY2hlY2sgaXQg YnkgdHJhdmVyc2luZyB0aGUgZmQgaW4gdGhlIHByb2Nlc3Mgb3IgZG1hYnVmX2xpc3QuPGJyPg0K Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyBGb3IgZXhhbXBsZTo8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyBiaW5kZXI6Mjk2Ml8yLTI5NjImbmJzcDsmbmJzcDsmbmJzcDsgWzAwNV0gLi4u MS4mbmJzcDsmbmJzcDsgMjA4LjQ1Mzk0MDogZG1hX2J1Zl9leHBvcnQ6IGV4cF9uYW1lPXFjb20s c3lzdGVtIG5hbWU9KG51bGwpIHNpemU9Mjg2NzIgaW5vPTI1ODAgZl9yZWZjbnQ9Mjxicj4NCiZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJpbmRlcjoyOTYyXzItMjk2MiZuYnNwOyZuYnNwOyZu YnNwOyBbMDA1XSAuLi4xLiZuYnNwOyZuYnNwOyAyMDguNDUzOTQzOiBkbWFfYnVmX2ZkOiBleHBf bmFtZT1xY29tLHN5c3RlbSBuYW1lPShudWxsKSBzaXplPTI4NjcyIGlubz0yNTgwIGZkPTkgZl9y ZWZjbnQ9Mjxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJpbmRlcjoyOTYyXzItMjk2 MiZuYnNwOyZuYnNwOyZuYnNwOyBbMDA1XSAuLi4xLiZuYnNwOyZuYnNwOyAyMDguNDUzOTc3OiBk bWFfYnVmX21tYXBfaW50ZXJuYWw6IGV4cF9uYW1lPXFjb20sc3lzdGVtIG5hbWU9cWNvbSxzeXN0 ZW0gc2l6ZT0yODY3MiBpbm89MjU4MCBmX3JlZmNudD00PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsga3dvcmtlci81OjItMTk0Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IFswMDVdIC4uLjEuJm5ic3A7Jm5ic3A7IDIwOC40NjA1ODA6IGRtYV9idWZfcHV0OiBleHBf bmFtZT1xY29tLHN5c3RlbSBuYW1lPWFiIHBpZCBbODE3Nl0gc2l6ZT0yODY3MiBpbm89MjU4MCBm X3JlZmNudD0zPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUmVuZGVyVGhy ZWFkLTExMzA1Jm5ic3A7Jm5ic3A7IFswMDddIC4uLjEuJm5ic3A7Jm5ic3A7IDIwOC41OTkwOTQ6 IGRtYV9idWZfZ2V0OiBleHBfbmFtZT1xY29tLHN5c3RlbSBuYW1lPWFiIHBpZCBbODE3Nl0gc2l6 ZT0yMTcwODggaW5vPTI1NzkgZmQ9MTExNCBmX3JlZmNudD03PGJyPg0KJmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgUmVuZGVyVGhyZWFkLTExMzA1Jm5ic3A7Jm5ic3A7IFswMDddIC4u LjEuJm5ic3A7Jm5ic3A7IDIwOC41OTkwOTg6IGRtYV9idWZfYXR0YWNoOiBkZXZfbmFtZT1rZ3Ns LTNkMCBleHBfbmFtZT1xY29tLHN5c3RlbSBuYW1lPWFiIHBpZCBbODE3Nl0gc2l6ZT0yMTcwODgg aW5vPTI1NzkgZl9yZWZjbnQ9Nzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDsuLi4mZ3Q7LTE0 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFswMDFdIC4uLjEuJm5ic3A7Jm5ic3A7IDIw OC43MjYzNTk6IGRtYV9idWZfZGV0YWNoOiBkZXZfbmFtZT1rZ3NsLTNkMCBleHBfbmFtZT1xY29t LHN5c3RlbSBuYW1lPWFiIHBpZCBbMzMxN10gc2l6ZT0yMTcwODggaW5vPTI1ODEgZl9yZWZjbnQ9 Mzxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsgU2lnbmVkLW9mZi1ieTogWGlhbmcgR2FvICZs dDtnYW94aWFuZzE3QHhpYW9taS5jb20mZ3Q7PGJyPg0KJmd0OyZndDsgLS0tPGJyPg0KJmd0OyZn dDsmbmJzcDsgZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyB8Jm5ic3A7IDU3ICYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0 MzsmIzQzOyYjNDM7LTxicj4NCiZndDsmZ3Q7Jm5ic3A7IGluY2x1ZGUvdHJhY2UvZXZlbnRzL2Rt YV9idWYuaCB8IDE2NiAmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0 MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7 JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYj NDM7JiM0Mzs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyAyIGZpbGVzIGNoYW5nZWQsIDIyMiBpbnNlcnRp b25zKCYjNDM7KSwgMSBkZWxldGlvbigtKTxicj4NCiZndDsmZ3Q7Jm5ic3A7IGNyZWF0ZSBtb2Rl IDEwMDY0NCBpbmNsdWRlL3RyYWNlL2V2ZW50cy9kbWFfYnVmLmg8YnI+DQomZ3Q7Jmd0Ozxicj4N CiZndDsmZ3Q7IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jIGIvZHJpdmVy cy9kbWEtYnVmL2RtYS1idWYuYzxicj4NCiZndDsmZ3Q7IGluZGV4IDJiY2Y5Y2VjYTk5Ny4uN2Nl ZjgxNmRkY2FjIDEwMDY0NDxicj4NCiZndDsmZ3Q7IC0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9kbWEt YnVmLmM8YnI+DQomZ3Q7Jmd0OyAmIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2RtYS1idWYvZG1h LWJ1Zi5jPGJyPg0KJmd0OyZndDsgQEAgLTM1LDYgJiM0MzszNSwxOCBAQDxicj4NCiZndDsmZ3Q7 PGJyPg0KJmd0OyZndDsmbmJzcDsgI2luY2x1ZGUgJnF1b3Q7ZG1hLWJ1Zi1zeXNmcy1zdGF0cy5o JnF1b3Q7PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyNkZWZpbmUgQ1JFQVRFX1RS QUNFX1BPSU5UUzxicj4NCiZndDsmZ3Q7ICYjNDM7I2luY2x1ZGUgJmx0O3RyYWNlL2V2ZW50cy9k bWFfYnVmLmgmZ3Q7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzO0VYUE9S VF9UUkFDRVBPSU5UX1NZTUJPTChkbWFfYnVmX2V4cG9ydCk7PGJyPg0KJmd0OyZndDsgJiM0MztF WFBPUlRfVFJBQ0VQT0lOVF9TWU1CT0woZG1hX2J1Zl9tbWFwX2ludGVybmFsKTs8YnI+DQomZ3Q7 Jmd0OyAmIzQzO0VYUE9SVF9UUkFDRVBPSU5UX1NZTUJPTChkbWFfYnVmX21tYXApOzxicj4NCiZn dDsmZ3Q7ICYjNDM7RVhQT1JUX1RSQUNFUE9JTlRfU1lNQk9MKGRtYV9idWZfcHV0KTs8YnI+DQom Z3Q7Jmd0OyAmIzQzO0VYUE9SVF9UUkFDRVBPSU5UX1NZTUJPTChkbWFfYnVmX2F0dGFjaCk7PGJy Pg0KJmd0OyZndDsgJiM0MztFWFBPUlRfVFJBQ0VQT0lOVF9TWU1CT0woZG1hX2J1Zl9kZXRhY2gp Ozxicj4NCiZndDsmZ3Q7ICYjNDM7RVhQT1JUX1RSQUNFUE9JTlRfU1lNQk9MKGRtYV9idWZfZmQp Ozxicj4NCiZndDsmZ3Q7ICYjNDM7RVhQT1JUX1RSQUNFUE9JTlRfU1lNQk9MKGRtYV9idWZfZ2V0 KTs8YnI+DQomZ3Q7PGJyPg0KJmd0OyBFeHBvcnRpbmcgdGhlIHRyYWNlcG9pbnRzIGlzIHVuZWNl c3NhcnkgYXMgZmFyIGFzIEkgY2FuIHNlZTxicj4NCiZndDs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxi cj4NCiZndDsmZ3Q7Jm5ic3A7IHN0YXRpYyBpbmxpbmUgaW50IGlzX2RtYV9idWZfZmlsZShzdHJ1 Y3QgZmlsZSAqKTs8YnI+DQomZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7IHN0YXRpYyBERUZJ TkVfTVVURVgoZG1hYnVmX2xpc3RfbXV0ZXgpOzxicj4NCiZndDsmZ3Q7IEBAIC0yMjAsNiAmIzQz OzIzMiwxMSBAQCBzdGF0aWMgaW50IGRtYV9idWZfbW1hcF9pbnRlcm5hbChzdHJ1Y3QgZmlsZSAq ZmlsZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZG1hYnVm LSZndDtzaXplICZndDsmZ3Q7IFBBR0VfU0hJRlQpPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgcmV0dXJuIC1FSU5WQUw7PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAodHJhY2VfZG1hX2J1Zl9tbWFwX2lu dGVybmFsX2VuYWJsZWQoKSkgezxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGd1 YXJkKHNwaW5sb2NrKSgmYW1wO2RtYWJ1Zi0mZ3Q7bmFtZV9sb2NrKTs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyB0cmFjZV9kbWFfYnVmX21tYXBfaW50ZXJuYWwoZG1hYnVmKTs8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZn dDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyByZXR1cm4gZG1hYnVmLSZndDtvcHMtJmd0O21tYXAoZG1hYnVmLCB2bWEpOzxicj4NCiZndDsm Z3Q7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7IEBAIC03NDUsNiAmIzQzOzc2 MiwxMSBAQCBzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Zl9leHBvcnQoY29uc3Qgc3RydWN0IGRtYV9i dWZfZXhwb3J0X2luZm8gKmV4cF9pbmZvKTxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgX19kbWFfYnVmX2xpc3RfYWRkKGRtYWJ1 Zik7PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBpZiAodHJhY2VfZG1hX2J1Zl9leHBvcnRfZW5hYmxlZCgpKSB7PGJyPg0KJmd0OyZndDsg JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgZ3VhcmQoc3BpbmxvY2spKCZhbXA7ZG1hYnVmLSZndDtuYW1l X2xvY2spOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHRyYWNlX2RtYV9idWZf ZXhwb3J0KGRtYWJ1Zik7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgfTxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIGRtYWJ1Zjs8YnI+DQomZ3Q7Jmd0Ozxicj4NCiZndDsm Z3Q7Jm5ic3A7IGVycl9kbWFidWY6PGJyPg0KJmd0OyZndDsgQEAgLTc3OSw2ICYjNDM7ODAxLDEx IEBAIGludCBkbWFfYnVmX2ZkKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsIGludCBmbGFncyk8YnI+ DQomZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGZkX2luc3RhbGwoZmQsIGRtYWJ1Zi0mZ3Q7ZmlsZSk7PGJyPg0KJmd0OyZndDs8YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAodHJhY2VfZG1hX2J1Zl9m ZF9lbmFibGVkKCkpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBndWFyZChz cGlubG9jaykoJmFtcDtkbWFidWYtJmd0O25hbWVfbG9jayk7PGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgdHJhY2VfZG1hX2J1Zl9mZChkbWFidWYsIGZkKTs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+ DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gZmQ7 PGJyPg0KJmd0OyZndDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7IEVYUE9SVF9TWU1CT0xf TlNfR1BMKGRtYV9idWZfZmQsICZxdW90O0RNQV9CVUYmcXVvdDspOzxicj4NCiZndDsmZ3Q7IEBA IC03OTQsNiAmIzQzOzgyMSw3IEBAIEVYUE9SVF9TWU1CT0xfTlNfR1BMKGRtYV9idWZfZmQsICZx dW90O0RNQV9CVUYmcXVvdDspOzxicj4NCiZndDsmZ3Q7Jm5ic3A7IHN0cnVjdCBkbWFfYnVmICpk bWFfYnVmX2dldChpbnQgZmQpPGJyPg0KJmd0OyZndDsmbmJzcDsgezxicj4NCiZndDsmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBmaWxlICpmaWxlOzxicj4N CiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBkbWFfYnVmICpk bWFidWY7PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBmaWxlID0gZmdldChmZCk7PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0 OyBAQCAtODA1LDcgJiM0Mzs4MzMsMTQgQEAgc3RydWN0IGRtYV9idWYgKmRtYV9idWZfZ2V0KGlu dCBmZCk8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gRVJS X1BUUigtRUlOVkFMKTs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyB9PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHJldHVybiBmaWxlLSZndDtwcml2YXRlX2RhdGE7PGJyPg0KJmd0OyZndDsgJiM0Mzsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZG1hYnVmID0gZmlsZS0mZ3Q7cHJpdmF0ZV9kYXRhOzxi cj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgaWYgKHRyYWNlX2RtYV9idWZfZ2V0X2VuYWJsZWQoKSkgezxicj4NCiZndDsmZ3Q7ICYj NDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGd1YXJkKHNwaW5sb2NrKSgmYW1wO2RtYWJ1Zi0mZ3Q7bmFtZV9s b2NrKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0cmFjZV9kbWFfYnVmX2dl dChkbWFidWYsIGZkKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyB9PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyByZXR1cm4gZG1hYnVmOzxicj4NCiZndDsmZ3Q7Jm5ic3A7IH08YnI+DQomZ3Q7 Jmd0OyZuYnNwOyBFWFBPUlRfU1lNQk9MX05TX0dQTChkbWFfYnVmX2dldCwgJnF1b3Q7RE1BX0JV RiZxdW90Oyk7PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyBAQCAtODI1LDYgJiM0Mzs4NjAs MTEgQEAgdm9pZCBkbWFfYnVmX3B1dChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmKTxicj4NCiZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybjs8YnI+DQomZ3Q7Jmd0Ozxicj4N CiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGZwdXQoZG1hYnVm LSZndDtmaWxlKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICh0cmFjZV9kbWFfYnVmX3B1dF9lbmFibGVkKCkpIHs8YnI+ DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBndWFyZChzcGlubG9jaykoJmFtcDtkbWFi dWYtJmd0O25hbWVfbG9jayk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdHJh Y2VfZG1hX2J1Zl9wdXQoZG1hYnVmKTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7IEVY UE9SVF9TWU1CT0xfTlNfR1BMKGRtYV9idWZfcHV0LCAmcXVvdDtETUFfQlVGJnF1b3Q7KTs8YnI+ DQomZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7IEBAIC05OTgsNiAmIzQzOzEwMzgsMTEgQEAgRVhQT1JU X1NZTUJPTF9OU19HUEwoZG1hX2J1Zl9keW5hbWljX2F0dGFjaCwgJnF1b3Q7RE1BX0JVRiZxdW90 Oyk7PGJyPg0KJmd0OyZndDsmbmJzcDsgc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqZG1hX2J1 Zl9hdHRhY2goc3RydWN0IGRtYV9idWYgKmRtYWJ1Ziw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBzdHJ1Y3QgZGV2aWNlICpkZXYpPGJyPg0KJmd0OyZndDsmbmJzcDsgezxicj4NCiZndDsmZ3Q7 ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICh0cmFjZV9kbWFfYnVmX2F0dGFjaF9l bmFibGVkKCkpIHs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBndWFyZChzcGlu bG9jaykoJmFtcDtkbWFidWYtJmd0O25hbWVfbG9jayk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgdHJhY2VfZG1hX2J1Zl9hdHRhY2goZG1hYnVmLCBkZXYpOzxicj4NCiZndDsm Z3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyAmIzQzOzxi cj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBk bWFfYnVmX2R5bmFtaWNfYXR0YWNoKGRtYWJ1ZiwgZGV2LCBOVUxMLCBOVUxMKTs8YnI+DQomZ3Q7 Jmd0OyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmbmJzcDsgRVhQT1JUX1NZTUJPTF9OU19HUEwoZG1h X2J1Zl9hdHRhY2gsICZxdW90O0RNQV9CVUYmcXVvdDspOzxicj4NCiZndDsmZ3Q7IEBAIC0xMDIz LDYgJiM0MzsxMDY4LDExIEBAIHZvaWQgZG1hX2J1Zl9kZXRhY2goc3RydWN0IGRtYV9idWYgKmRt YWJ1Ziwgc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoKTxicj4NCiZndDsmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChkbWFidWYtJmd0O29wcy0mZ3Q7 ZGV0YWNoKTxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRtYWJ1Zi0m Z3Q7b3BzLSZndDtkZXRhY2goZG1hYnVmLCBhdHRhY2gpOzxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0 OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHRyYWNlX2RtYV9idWZfZGV0 YWNoX2VuYWJsZWQoKSkgezxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGd1YXJk KHNwaW5sb2NrKSgmYW1wO2RtYWJ1Zi0mZ3Q7bmFtZV9sb2NrKTs8YnI+DQomZ3Q7Jmd0OyAmIzQz OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyB0cmFjZV9kbWFfYnVmX2RldGFjaChkbWFidWYsIGF0dGFjaC0mZ3Q7 ZGV2KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0K Jmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBrZnJlZShhdHRhY2gpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0 OyZuYnNwOyBFWFBPUlRfU1lNQk9MX05TX0dQTChkbWFfYnVmX2RldGFjaCwgJnF1b3Q7RE1BX0JV RiZxdW90Oyk7PGJyPg0KJmd0OyZndDsgQEAgLTE0ODgsNiAmIzQzOzE1MzgsMTEgQEAgaW50IGRt YV9idWZfbW1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg KnZtYSw8YnI+DQomZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB2 bWFfc2V0X2ZpbGUodm1hLCBkbWFidWYtJmd0O2ZpbGUpOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHZtYS0mZ3Q7dm1fcGdvZmYgPSBwZ29mZjs8YnI+ DQomZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlm ICh0cmFjZV9kbWFfYnVmX21tYXBfZW5hYmxlZCgpKSB7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgZ3VhcmQoc3BpbmxvY2spKCZhbXA7ZG1hYnVmLSZndDtuYW1lX2xvY2spOzxi cj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHRyYWNlX2RtYV9idWZfbW1hcChkbWFi dWYpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQom Z3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHJldHVybiBkbWFidWYtJmd0O29wcy0mZ3Q7bW1hcChkbWFidWYsIHZtYSk7PGJyPg0K Jmd0OyZndDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jm5ic3A7IEVYUE9SVF9TWU1CT0xfTlNfR1BM KGRtYV9idWZfbW1hcCwgJnF1b3Q7RE1BX0JVRiZxdW90Oyk7PGJyPg0KJmd0OyZndDsgZGlmZiAt LWdpdCBhL2luY2x1ZGUvdHJhY2UvZXZlbnRzL2RtYV9idWYuaCBiL2luY2x1ZGUvdHJhY2UvZXZl bnRzL2RtYV9idWYuaDxicj4NCiZndDsmZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0PGJyPg0KJmd0 OyZndDsgaW5kZXggMDAwMDAwMDAwMDAwLi5mZTlkYTg5YmFjZDA8YnI+DQomZ3Q7Jmd0OyAtLS0g L2Rldi9udWxsPGJyPg0KJmd0OyZndDsgJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS90cmFjZS9l dmVudHMvZG1hX2J1Zi5oPGJyPg0KJmd0OyZndDsgQEAgLTAsMCAmIzQzOzEsMTY2IEBAPGJyPg0K Jmd0OyZndDsgJiM0MzsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLzxicj4N CiZndDsmZ3Q7ICYjNDM7I3VuZGVmIFRSQUNFX1NZU1RFTTxicj4NCiZndDsmZ3Q7ICYjNDM7I2Rl ZmluZSBUUkFDRV9TWVNURU0gZG1hX2J1Zjxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZn dDsgJiM0MzsjaWYgIWRlZmluZWQoX1RSQUNFX0RNQV9CVUZfSCkgfHwgZGVmaW5lZChUUkFDRV9I RUFERVJfTVVMVElfUkVBRCk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyNkZWZpbmUgX1RSQUNFX0RNQV9C VUZfSDxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsjaW5jbHVkZSAmbHQ7 bGludXgvZG1hLWJ1Zi5oJmd0Ozxicj4NCiZndDsmZ3Q7ICYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4 L3RyYWNlcG9pbnQuaCZndDs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7 REVDTEFSRV9FVkVOVF9DTEFTUyhkbWFfYnVmLDxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0 OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVFBfUFJPVE8oc3RydWN0IGRtYV9i dWYgKmRtYWJ1ZiksPGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBUUF9BUkdTKGRtYWJ1ZiksPGJyPg0KJmd0OyZndDsgJiM0Mzs8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUUF9TVFJVQ1RfX2Vu dHJ5KDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fc3RyaW5nKGV4cF9uYW1l LCBkbWFidWYtJmd0O2V4cF9uYW1lKTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IF9fc3RyaW5nKG5hbWUsIGRtYWJ1Zi0mZ3Q7bmFtZSk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBfX2ZpZWxkKHNpemVfdCwgc2l6ZSk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBfX2ZpZWxkKGlub190LCBpbm8pPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgX19maWVsZChsb25nLCBmX3JlZmNudCk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyApLDxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsg JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVFBfZmFzdF9hc3NpZ24oPGJyPg0KJmd0OyZn dDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgX19hc3NpZ25fc3RyKGV4cF9uYW1lKTs8YnI+DQomZ3Q7 Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2Fzc2lnbl9zdHIobmFtZSk7PGJyPg0KJmd0OyZn dDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgX19lbnRyeS0mZ3Q7c2l6ZSA9IGRtYWJ1Zi0mZ3Q7c2l6 ZTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2VudHJ5LSZndDtpbm8gPSBk bWFidWYtJmd0O2ZpbGUtJmd0O2ZfaW5vZGUtJmd0O2lfaW5vOzxicj4NCiZndDsmZ3Q7ICYjNDM7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IF9fZW50cnktJmd0O2ZfcmVmY250ID0gZmlsZV9jb3VudChkbWFidWYt Jmd0O2ZpbGUpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICks PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBUUF9wcmludGsoJnF1b3Q7ZXhwX25hbWU9JXMgbmFtZT0lcyBzaXplPSV6dSBpbm89 JWx1IGZfcmVmY250PSVsZCZxdW90Oyw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBfX2dldF9zdHIoZXhwX25hbWUpLDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fZ2V0X3N0cihuYW1lKSw8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2VudHJ5LSZndDtzaXplLDxicj4NCiZn dDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fZW50cnktJmd0O2lubyw8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2VudHJ5LSZn dDtmX3JlZmNudCk8YnI+DQomZ3Q7PGJyPg0KJmd0OyBJIGNhbid0IGNvbWUgdXAgd2l0aCBhIHJl YXNvbiB3aHkgd2Ugc2hvdWxkIGhhdmUgdGhlIGZpbGUgcmVmY291bnQgaW4gdGhlIHRyYWNlIGxv Z3MuPGJyPg0KJmd0Ozxicj4NCiZndDsgU2FtZSBmb3IgbW9zdCBvdGhlciBwbGFjZXMuPGJyPg0K Jmd0Ozxicj4NCiZndDsmZ3Q7ICYjNDM7KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsm Z3Q7ICYjNDM7REVDTEFSRV9FVkVOVF9DTEFTUyhkbWFfYnVmX2F0dGFjaF9kZXYsPGJyPg0KJmd0 OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBU UF9QUk9UTyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBzdHJ1Y3QgZGV2aWNlICpkZXYpLDxicj4N CiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgVFBfQVJHUyhkbWFidWYsIGRldiksPGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUUF9TVFJVQ1RfX2VudHJ5KDxicj4NCiZn dDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fc3RyaW5nKGRuYW1lLCBkZXZfbmFtZShkZXYp KTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fc3RyaW5nKGV4cF9uYW1lLCBk bWFidWYtJmd0O2V4cF9uYW1lKTxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9f c3RyaW5nKG5hbWUsIGRtYWJ1Zi0mZ3Q7bmFtZSk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBfX2ZpZWxkKHNpemVfdCwgc2l6ZSk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBfX2ZpZWxkKGlub190LCBpbm8pPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgX19maWVsZChsb25nLCBmX3JlZmNudCk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyApLDxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0 MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVFBfZmFzdF9hc3NpZ24oPGJyPg0KJmd0OyZndDsg JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgX19hc3NpZ25fc3RyKGRuYW1lKTs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBfX2Fzc2lnbl9zdHIoZXhwX25hbWUpOzxicj4NCiZndDsmZ3Q7 ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fYXNzaWduX3N0cihuYW1lKTs8YnI+DQomZ3Q7Jmd0OyAm IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBfX2VudHJ5LSZndDtzaXplID0gZG1hYnVmLSZndDtzaXplOzxi cj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fZW50cnktJmd0O2lubyA9IGRtYWJ1 Zi0mZ3Q7ZmlsZS0mZ3Q7Zl9pbm9kZS0mZ3Q7aV9pbm87PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgX19lbnRyeS0mZ3Q7Zl9yZWZjbnQgPSBmaWxlX2NvdW50KGRtYWJ1Zi0mZ3Q7 ZmlsZSk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKSw8YnI+ DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IFRQX3ByaW50aygmcXVvdDtkZXZfbmFtZT0lcyBleHBfbmFtZT0lcyBuYW1lPSVzIHNpemU9 JXp1IGlubz0lbHUgZl9yZWZjbnQ9JWxkJnF1b3Q7LDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fZ2V0X3N0cihkbmFtZSksPGJyPg0KJmd0OyZndDsgJiM0 MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgX19nZXRfc3RyKGV4cF9uYW1lKSw8YnI+DQom Z3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2dldF9zdHIobmFtZSks PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgX19lbnRyeS0m Z3Q7c2l6ZSw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBf X2VudHJ5LSZndDtpbm8sPGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgX19lbnRyeS0mZ3Q7Zl9yZWZjbnQpPGJyPg0KJmd0Ozxicj4NCiZndDsgUHJpbnQgdGhl IGRldl9uYW1lIGxhc3QsIGl0J3MgdGhlIGV4dGVybmFsIGRldmljZSB3aGljaCBhdHRhY2hlcyB0 byB0aGUgRE1BLWJ1Zi48YnI+DQomZ3Q7PGJyPg0KJmd0OyBBZGRpdGlvbmFsIHRvIHRoYXQgaXQg d291bGQgYmUgbmljZSB0byBrbm93IGlmIHRoZSBhdHRhY2htZW50IGlzIGR5bmFtaWMgb3Igbm90 Ljxicj4NCiZndDs8YnI+DQomZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0OyBDaHJpc3RpYW4uPGJyPg0K Jmd0Ozxicj4NCiZndDsmZ3Q7ICYjNDM7KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsm Z3Q7ICYjNDM7REVDTEFSRV9FVkVOVF9DTEFTUyhkbWFfYnVmX2ZkLDxicj4NCiZndDsmZ3Q7ICYj NDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVFBfUFJPVE8o c3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwgaW50IGZkKSw8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4N CiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRQX0FSR1MoZG1hYnVmLCBm ZCksPGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBUUF9TVFJVQ1RfX2VudHJ5KDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IF9fc3RyaW5nKGV4cF9uYW1lLCBkbWFidWYtJmd0O2V4cF9uYW1lKTxicj4NCiZndDsm Z3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fc3RyaW5nKG5hbWUsIGRtYWJ1Zi0mZ3Q7bmFtZSk8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2ZpZWxkKHNpemVfdCwgc2l6ZSk8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2ZpZWxkKGlub190LCBpbm8pPGJy Pg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgX19maWVsZChpbnQsIGZkKTxicj4NCiZn dDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fZmllbGQobG9uZywgZl9yZWZjbnQpPGJyPg0K Jmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKSw8YnI+DQomZ3Q7Jmd0OyAm IzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRQX2Zhc3Rf YXNzaWduKDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fYXNzaWduX3N0cihl eHBfbmFtZSk7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgX19hc3NpZ25fc3Ry KG5hbWUpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fZW50cnktJmd0O3Np emUgPSBkbWFidWYtJmd0O3NpemU7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg X19lbnRyeS0mZ3Q7aW5vID0gZG1hYnVmLSZndDtmaWxlLSZndDtmX2lub2RlLSZndDtpX2lubzs8 YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2VudHJ5LSZndDtmZCA9IGZkOzxi cj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fZW50cnktJmd0O2ZfcmVmY250ID0g ZmlsZV9jb3VudChkbWFidWYtJmd0O2ZpbGUpOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICksPGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQz OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUUF9wcmludGsoJnF1b3Q7ZXhwX25hbWU9JXMgbmFt ZT0lcyBzaXplPSV6dSBpbm89JWx1IGZkPSVkIGZfcmVmY250PSVsZCZxdW90Oyw8YnI+DQomZ3Q7 Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX2dldF9zdHIoZXhwX25hbWUp LDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9fZ2V0X3N0 cihuYW1lKSw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBf X2VudHJ5LSZndDtzaXplLDxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IF9fZW50cnktJmd0O2lubyw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBfX2VudHJ5LSZndDtmZCw8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBfX2VudHJ5LSZndDtmX3JlZmNudCk8YnI+DQomZ3Q7Jmd0OyAm IzQzOyk7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzO0RFRklORV9FVkVO VChkbWFfYnVmLCBkbWFfYnVmX2V4cG9ydCw8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsm Z3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRQX1BST1RPKHN0cnVjdCBkbWFfYnVm ICpkbWFidWYpLDxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgVFBfQVJHUyhkbWFidWYpPGJyPg0KJmd0OyZndDsgJiM0MzspOzxi cj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MztERUZJTkVfRVZFTlQoZG1hX2J1 ZiwgZG1hX2J1Zl9tbWFwX2ludGVybmFsLDxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZn dDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVFBfUFJPVE8oc3RydWN0IGRtYV9idWYg KmRtYWJ1ZiksPGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBUUF9BUkdTKGRtYWJ1Zik8YnI+DQomZ3Q7Jmd0OyAmIzQzOyk7PGJy Pg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzO0RFRklORV9FVkVOVChkbWFfYnVm LCBkbWFfYnVmX21tYXAsPGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUUF9QUk9UTyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmKSw8 YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFRQX0FSR1MoZG1hYnVmKTxicj4NCiZndDsmZ3Q7ICYjNDM7KTs8YnI+DQomZ3Q7Jmd0 OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7REVGSU5FX0VWRU5UKGRtYV9idWYsIGRtYV9idWZf cHV0LDxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgVFBfUFJPVE8oc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiksPGJyPg0KJmd0OyZn dDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUUF9B UkdTKGRtYWJ1Zik8YnI+DQomZ3Q7Jmd0OyAmIzQzOyk7PGJyPg0KJmd0OyZndDsgJiM0Mzs8YnI+ DQomZ3Q7Jmd0OyAmIzQzO0RFRklORV9FVkVOVChkbWFfYnVmX2F0dGFjaF9kZXYsIGRtYV9idWZf YXR0YWNoLDxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgVFBfUFJPVE8oc3RydWN0IGRtYV9idWYgKmRtYWJ1Ziwgc3RydWN0IGRl dmljZSAqZGV2KSw8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRQX0FSR1MoZG1hYnVmLCBkZXYpPGJyPg0KJmd0OyZndDsgJiM0 MzspOzxicj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MztERUZJTkVfRVZFTlQo ZG1hX2J1Zl9hdHRhY2hfZGV2LCBkbWFfYnVmX2RldGFjaCw8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxi cj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRQX1BST1RPKHN0cnVj dCBkbWFfYnVmICpkbWFidWYsIHN0cnVjdCBkZXZpY2UgKmRldiksPGJyPg0KJmd0OyZndDsgJiM0 Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUUF9BUkdTKGRt YWJ1ZiwgZGV2KTxicj4NCiZndDsmZ3Q7ICYjNDM7KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxicj4N CiZndDsmZ3Q7ICYjNDM7REVGSU5FX0VWRU5UKGRtYV9idWZfZmQsIGRtYV9idWZfZmQsPGJyPg0K Jmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBUUF9QUk9UTyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBpbnQgZmQpLDxicj4NCiZndDsmZ3Q7 ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVFBfQVJH UyhkbWFidWYsIGZkKTxicj4NCiZndDsmZ3Q7ICYjNDM7KTs8YnI+DQomZ3Q7Jmd0OyAmIzQzOzxi cj4NCiZndDsmZ3Q7ICYjNDM7REVGSU5FX0VWRU5UKGRtYV9idWZfZmQsIGRtYV9idWZfZ2V0LDxi cj4NCiZndDsmZ3Q7ICYjNDM7PGJyPg0KJmd0OyZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgVFBfUFJPVE8oc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwgaW50IGZkKSw8YnI+DQomZ3Q7 Jmd0OyAmIzQzOzxicj4NCiZndDsmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRQ X0FSR1MoZG1hYnVmLCBmZCk8YnI+DQomZ3Q7Jmd0OyAmIzQzOyk7PGJyPg0KJmd0OyZndDsgJiM0 Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOyNlbmRpZiAvKiBfVFJBQ0VfRE1BX0JVRl9IICovPGJyPg0K Jmd0OyZndDsgJiM0Mzs8YnI+DQomZ3Q7Jmd0OyAmIzQzOy8qIFRoaXMgcGFydCBtdXN0IGJlIG91 dHNpZGUgcHJvdGVjdGlvbiAqLzxicj4NCiZndDsmZ3Q7ICYjNDM7I2luY2x1ZGUgJmx0O3RyYWNl L2RlZmluZV90cmFjZS5oJmd0Ozxicj4NCiZndDs8YnI+DQo8YnI+DQo8L2Rpdj4NCjwvc3Bhbj48 L2ZvbnQ+DQo8L2JvZHk+DQo8L2h0bWw+DQo= --_000_76293b63568547e98efd7c0644ad7a49xiaomicom_--