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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 10C9AD24466 for ; Fri, 11 Oct 2024 02:25:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 454326B008C; Thu, 10 Oct 2024 22:25:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 403B46B0092; Thu, 10 Oct 2024 22:25:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2CAC36B0093; Thu, 10 Oct 2024 22:25:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0F8B06B008C for ; Thu, 10 Oct 2024 22:25:50 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 450B2C0D11 for ; Fri, 11 Oct 2024 02:25:45 +0000 (UTC) X-FDA: 82659730776.11.F310E09 Received: from outboundhk.mxmail.xiaomi.com (outboundhk.mxmail.xiaomi.com [207.226.244.122]) by imf02.hostedemail.com (Postfix) with ESMTP id 9E74280006 for ; Fri, 11 Oct 2024 02:25:42 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=xiaomi.com; spf=pass (imf02.hostedemail.com: domain of gaoxiang17@xiaomi.com designates 207.226.244.122 as permitted sender) smtp.mailfrom=gaoxiang17@xiaomi.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728613446; a=rsa-sha256; cv=none; b=Ci4PRQRldJzOxtpJNnGeYmGE3TkiUTwVU43cQQnWi3kYg0txhlkYQlKwNaUojg0QgRJt7q 2sB3ycCjuMBMoqOj8xrsvcFKN1fWCEV77+gS91gJ0gvdBry/jS+d+XdFtCBcuEoHLPafnP /mCHeGAROe8NWCVUKgRN7nkHUwLxP8E= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=xiaomi.com; spf=pass (imf02.hostedemail.com: domain of gaoxiang17@xiaomi.com designates 207.226.244.122 as permitted sender) smtp.mailfrom=gaoxiang17@xiaomi.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728613446; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fPqPEc88HDPc4RhK1A7ps/XVoUrjlPMhu5CAJQDhdzg=; b=CWNTgoWDOdTn8Bd7HEJJaxMGdWxNefuK+SswgkErNCGGLwpdeZ0QY693TldSVKFe7eOv4X qv0XKm8EWv3qf9ImN2bdTtm7bZBPhcX+Ai2Zksf92F3ZgrZ+dImxB3yNHqMWGPF9FUZrzw DP89fDGRihP3TYewBrxhEgcnHLNHVQQ= X-CSE-ConnectionGUID: ecAEy8YbQIm4hePo62dMyQ== X-CSE-MsgGUID: GAE8PxNtRlS8gvj5AtRW3w== X-IronPort-AV: E=Sophos;i="6.11,194,1725292800"; d="scan'208,217";a="124214024" From: =?utf-8?B?6auY57+U?= To: Andrew Morton CC: Frank van der Linden , David Hildenbrand , Xiang Gao , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: =?utf-8?B?562U5aSNOiDnrZTlpI06IOWbnuWkjTogW0V4dGVybmFsIE1haWxdUmU6IFtQ?= =?utf-8?B?QVRDSCB2Ml0gbW0vY21hOiBwcmludCB0b3RhbCBhbmQgdXNlZCBjb3VudCBp?= =?utf-8?Q?n_cma=5Falloc()?= Thread-Topic: =?utf-8?B?562U5aSNOiDlm57lpI06IFtFeHRlcm5hbCBNYWlsXVJlOiBbUEFUQ0ggdjJd?= =?utf-8?B?IG1tL2NtYTogcHJpbnQgdG90YWwgYW5kIHVzZWQgY291bnQgaW4gY21hX2Fs?= =?utf-8?Q?loc()?= Thread-Index: AQHbExvuUXqGmfuj+0Ctu2enzH7obbJzXD0AgAMru1CAAChVgIAABISAgAkGswmAAEvDAIAA3BZ0 Date: Fri, 11 Oct 2024 02:25:40 +0000 Message-ID: <4e51bba746e145a3812ed00a72f0f99e@xiaomi.com> References: <20240929032757.404707-1-gxxa03070307@gmail.com> <2a7b7fc3a48d4bb9a6394e51af074017@xiaomi.com> <20241004153947.43c5b16b7f75b0f60e918019@linux-foundation.org> <5de41e1999414426ba88447a4d95db18@xiaomi.com>,<20241010141726.0bc7b9d0758756249efadc3a@linux-foundation.org> In-Reply-To: <20241010141726.0bc7b9d0758756249efadc3a@linux-foundation.org> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.237.8.18] Content-Type: multipart/alternative; boundary="_000_4e51bba746e145a3812ed00a72f0f99exiaomicom_" MIME-Version: 1.0 X-Rspamd-Queue-Id: 9E74280006 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: exu51enfp4yi4jrqo8w6ac9weua7hkd4 X-HE-Tag: 1728613542-99456 X-HE-Meta: U2FsdGVkX1/hKUvsNwTwLUbcJTDwTZ9r+Y7aVbsG0vmXRMduBPcAEp2vPBH04JCNJyNaA/U48rYHmQyh0iPlh4mcc/eAP8vgQmAIVDWfOZYbhNTGmRtpYBNUcKTFgPAWOpIU6brWzuC2C2wMXjwMziojmtQ7WQG+m/7gpAFwPV6/aa9Ef4ckXE7owTv2ythiJPTopikt0hbTFPu/OyjUdXhqK98ER0H7pZ1ZZCyqCfos6Awdb6U/QuMDmC4ZfzHRUlq6BpxJMTq5PJndSpEK/oLlQOgoLQSy5aH7jXFmF6zKJvhh3+gcE+O0+PWeRqmlLaDtgTtGQniZG34z1d7cpliznx40vfBwWoWXcBG9EtWfQXJMNf5hDPHgTXN8r0q7K5FQPmQwVe3WIfPuHEJXck5C01tJn4gBhjupe7wrbWK+NkwuSg2fiYrbrcRQj0FW9eXDkFbB51w5hTzowiaBoAVLHP8E4HlbrEaMoMCJ7fh6hcDfEFxA8Jnbtpf+KrMW9a9/vpx4nfNffGRzYBma+LEILMZsB2c8YJyqO8QQX0nWHLMS9/OjGIO11/fKDHHiyPG9EaUzzPULg+L4AN6lQMww/lbTRt8V472hL4Mrg7vDKy+aKUCsQzIiB1Mek7Eh6MYGzLqoy1P3MUzE43cPC8D0hQRfxYjY22X0mI+xcLkelQ9QA2TSIRQpSloFs4gmc52pHLOfgsPMxsxlioBrjgN6k9EG0ETtkbCD4AvjNVJ9c+T77OitwqJeKBsknaaIXmQnPLtMMHQPkticdHAJEh/9JWW073QFrWYNMB0mQbs+adY6si7vPlOXMT5B9fyUwK9QccS27FjzZ80LoFpC9h7QGWg/g1K1EmJvHzGQ/ERDSqVb7tknQsY1HsIUjVaF4ozkbxbAKUI4Gzp7x/lrmKYSyDtJIYaJ9SKLzK6DRquDSFWtd4sIWxN1IcbLYSQJPSU9Xii4SpWXwP74KB8 fW4gW6JK WQwPZclF0ibnaHZseTvavyMyI8arhzsWcp4kKGSWksXguWSyYGMM44uv/YQqH7K2bDnVNIVqBaH7kMEkoIZkNicCC26Jie8QIL34s/mHak+Me3Rig92SsmBkV/Er6TfiaMBrawaej4MTlXGzDaLyk4anYjYDL+nH5UBcZxmDMIhFUv4Ap15CD6Ca0+dv4tjXZcNqvt8xLLwHATA88UiYGj27SQK5aZDgqSSpY9e8bjyqLAEj5Z2V/TRYs1/ptrxtBe1VkMaQ8wZUAndpAjZ5Ll8LCDTnlMEzVr+QcXvYPRfNT8TL5saPMjmJUQa56D2YjWlhmDRIqJzryk0umM1a6ehxaVORmzKnkcYodNG7OoKQAJevFClvAmrPK+EnnaXjn7L149xzyE2QSbYCTNgYKNiQG5lQbR6j2LprF1NvDT1/+lcIGmf79N2akvl1CENnNNcVsVBZZetv0d75/Tmq7RR4usbGMObuymVKEoWqgsFtxYcWdbXewIuQ2waVqOwe44nCCokTMIdJR6kDYn1KrQQIzkSLz5WLb65q/+UG8gvDRTIwxBnyKXN1nqw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --_000_4e51bba746e145a3812ed00a72f0f99exiaomicom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K5Y+R5Lu25Lq6OiBBbmRyZXcgTW9y dG9uIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPg0K5Y+R6YCB5pe26Ze0OiAyMDI05bm0MTDm nIgxMeaXpSA1OjE3DQrmlLbku7bkuro6IOmrmOe/lA0K5oqE6YCBOiBGcmFuayB2YW4gZGVyIExp bmRlbjsgRGF2aWQgSGlsZGVuYnJhbmQ7IFhpYW5nIEdhbzsgbGludXgtbW1Aa3ZhY2sub3JnOyBs aW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnDQrkuLvpopg6IFJlOiDnrZTlpI06IOWbnuWkjTog W0V4dGVybmFsIE1haWxdUmU6IFtQQVRDSCB2Ml0gbW0vY21hOiBwcmludCB0b3RhbCBhbmQgdXNl ZCBjb3VudCBpbiBjbWFfYWxsb2MoKQ0KDQpb5aSW6YOo6YKu5Lu2XSDmraTpgq7ku7bmnaXmupDk uo7lsI/nsbPlhazlj7jlpJbpg6jvvIzor7fosKjmhY7lpITnkIbjgILoi6Xlr7npgq7ku7blronl hajmgKflrZjnlpHvvIzor7flsIbpgq7ku7bovazlj5Hnu5ltaXNlY0B4aWFvbWkuY29t6L+b6KGM 5Y+N6aaIDQoNCk9uIFRodSwgMTAgT2N0IDIwMjQgMDg6NDg6NTUgKzAwMDAg6auY57+UIDxnYW94 aWFuZzE3QHhpYW9taS5jb20+IHdyb3RlOg0KDQo+DQo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQo+IOWPkeS7tuS6ujogRnJhbmsgdmFuIGRlciBMaW5kZW4gPGZ2ZGxAZ29vZ2xl LmNvbT4NCj4g5Y+R6YCB5pe26Ze0OiAyMDI05bm0MTDmnIg15pelIDY6NTUNCj4g5pS25Lu25Lq6 OiBBbmRyZXcgTW9ydG9uDQo+IOaKhOmAgTog6auY57+UOyBEYXZpZCBIaWxkZW5icmFuZDsgWGlh bmcgR2FvOyBsaW51eC1tbUBrdmFjay5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcN Cj4g5Li76aKYOiBSZTog5Zue5aSNOiBbRXh0ZXJuYWwgTWFpbF1SZTogW1BBVENIIHYyXSBtbS9j bWE6IHByaW50IHRvdGFsIGFuZCB1c2VkIGNvdW50IGluIGNtYV9hbGxvYygpDQo+DQo+IFvlpJbp g6jpgq7ku7ZdIOatpOmCruS7tuadpea6kOS6juWwj+exs+WFrOWPuOWklumDqO+8jOivt+iwqOaF juWkhOeQhuOAguiLpeWvuemCruS7tuWuieWFqOaAp+WtmOeWke+8jOivt+WwhumCruS7tui9rOWP kee7mW1pc2VjQHhpYW9taS5jb23ov5vooYzlj43ppogNCj4NCj4gT24gRnJpLCBPY3QgNCwgMjAy NCBhdCAzOjM54oCvUE0gQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4g d3JvdGU6DQo+ID4NCj4gPiBPbiBGcmksIDQgT2N0IDIwMjQgMTI6MjM6MzAgKzAwMDAg6auY57+U IDxnYW94aWFuZzE3QHhpYW9taS5jb20+IHdyb3RlOg0KPiA+DQo+ID4gPiA+ID4gK3N0YXRpYyB1 bnNpZ25lZCBsb25nIGNtYV9nZXRfdXNlZF9wYWdlcyhzdHJ1Y3QgY21hICpjbWEpIHsNCj4gPiA+ ID4gPiArICAgICB1bnNpZ25lZCBsb25nIHVzZWQ7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsg ICAgIHNwaW5fbG9ja19pcnEoJmNtYS0+bG9jayk7DQo+ID4gPiA+ID4gKyAgICAgdXNlZCA9IGJp dG1hcF93ZWlnaHQoY21hLT5iaXRtYXAsIChpbnQpY21hX2JpdG1hcF9tYXhubyhjbWEpKTsNCj4g PiA+ID4gPiArICAgICBzcGluX3VubG9ja19pcnEoJmNtYS0+bG9jayk7DQo+ID4gPiA+DQo+ID4g PiA+IFRoaXMgYWRkcyBvdmVyaGVhZCB0byBlYWNoIGFsbG9jYXRpb24sIGV2ZW4gaWYgZGVidWcg b3V0cHV0cyBhcmUNCj4gPiA+ID4gaWdub3JlZCBJIGFzc3VtZT8NCj4gPiA+ID4NCj4gPiA+ID4g SSB3b25kZXIgaWYgd2UnZCB3YW50IHRvIHByaW50IHRoZXNlIGRldGFpbHMgb25seSB3aGVuIG91 ciBhbGxvY2F0aW9uDQo+ID4gPiA+IGZhaWxlZD8NCj4gPiA+ID4NCj4gPiA+ID4gQWx0ZXJuYXRp dmVseSwgd2UgY291bGQgYWN0dWFsbHkgdHJhY2sgaG93IG1hbnkgcGFnZXMgYXJlIGFsbG9jYXRl ZCBpbg0KPiA+ID4gPiB0aGUgY21hLCBzbyB3ZSBkb24ndCBoYXZlIHRvIHRyYXZlcnNlIHRoZSBj b21wbGV0ZSBiaXRtYXAgb24gZXZlcnkNCj4gPiA+ID4gYWxsb2NhdGlvbi4NCj4gPiA+ID4NCj4g PiA+DQo+ID4gPiBZZXAsIHRoYXQncyB3aGF0IEkgZGlkIGFzIHBhcnQgb2YNCj4gPiA+IGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI0MDcyNDEyNDg0NS42MTRjMDNhZDM5ZjhhZjM3Mjlj ZWJlZTZAbGludXgtZm91bmRhdGlvbi5vcmcvVC8NCj4gPiA+DQo+ID4gPiBUaGF0IHBhdGNoIGRp ZG4ndCBtYWtlIGl0IGluICh5ZXQpLiBJJ20gaGFwcHkgZm9yIGl0IHRvIGJlIGNvbWJpbmVkIHdp dGggdGhpcyBvbmUgaWYgdGhhdCdzIGVhc2llci4NCj4gPg0KPiA+IFRoYXQgcGF0Y2ggaGFzIGJl ZW4gZm9yZ290dGVuIGFib3V0LiAgQXMgSSBhc2tlZCBpbiBKdWx5LA0KPiA+ICJJIHN1Z2dlc3Qg YSByZXNlbmQsIGFuZCBhZGQgc29tZSBDYzpzIGZvciBsaWtlbHkgcmV2aWV3ZXJzLiINCj4NCj4g PiBJbmRlZWQgLSBJIGNlcnRhaW5seSB3YXNuJ3Qgc3VnZ2VzdGluZyB0aGF0IGFueW9uZSBlbHNl IGZvcmdvdCBhYm91dA0KPiA+IGl0LCBpdCdzIHVwIHRvIG1lIHRvIGZvbGxvdyB1cCBoZXJlLCBh bmQgSSBoYXZlbid0IHlldC4NCj4NCj4NCj4gRG8gSSBuZWVkIHRvIHJlc2VuZCBpdCBhZnRlciBh ZGRpbmcgInVzZWRfY291bnQiIG1lbWJlciB0byB0aGUgInN0cnVjdCBjbWEiIGFzIFYzPw0KDQo+ IEkgZG9uJ3Qga25vdyB3aGF0IGlzIGJlaW5nIGFza2VkIGhlcmUuICBXaGF0IGlzIHRoaXMgdXNl ZF9jb3VudD8gIFNvbWUNCj4gb3RoZXIgcGF0Y2gsIHByZXN1bWFibHk/ICBXaGljaD8NCg0KPiBU aGUgcHJlZmVyYWJsZSB0aGluZyB0byBkbyBpcyB0byBzZW5kIGEgcGF0Y2ggYWdhaW5zdCBsYXRl c3QNCj4gbW0tdW5zdGFibGUgb3IgbGludXgtbmV4dC4NCg0KT0suDQo= --_000_4e51bba746e145a3812ed00a72f0f99exiaomicom_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPjwhLS0gUCB7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDt9IC0t Pjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBkaXI9Imx0ciI+DQo8ZGl2IGlkPSJkaXZ0YWdkZWZh dWx0d3JhcHBlciIgc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsg Zm9udC1mYW1pbHk6IENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgRW1vamlGb250LCAm cXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywgJnF1b3Q7U2Vnb2UgVUkgRW1vamkmcXVvdDss IE5vdG9Db2xvckVtb2ppLCAmcXVvdDtTZWdvZSBVSSBTeW1ib2wmcXVvdDssICZxdW90O0FuZHJv aWQgRW1vamkmcXVvdDssIEVtb2ppU3ltYm9sczsiIGRpcj0ibHRyIj4NCjxwPjxicj4NCjwvcD4N CjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4NCjxkaXY+DQo8aHIgdGFiaW5kZXg9 Ii0xIiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7IHdpZHRoOjk4JSI+DQo8ZGl2IGlkPSJ4 X2RpdlJwbHlGd2RNc2ciIGRpcj0ibHRyIj48Zm9udCBmYWNlPSJDYWxpYnJpLCBzYW5zLXNlcmlm IiBjb2xvcj0iIzAwMDAwMCIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0Ij48Yj7lj5Hku7bkuro6PC9i PiBBbmRyZXcgTW9ydG9uICZsdDtha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnJmd0Ozxicj4NCjxi PuWPkemAgeaXtumXtDo8L2I+IDIwMjTlubQxMOaciDEx5pelIDU6MTc8YnI+DQo8Yj7mlLbku7bk uro6PC9iPiDpq5jnv5Q8YnI+DQo8Yj7mioTpgIE6PC9iPiBGcmFuayB2YW4gZGVyIExpbmRlbjsg RGF2aWQgSGlsZGVuYnJhbmQ7IFhpYW5nIEdhbzsgbGludXgtbW1Aa3ZhY2sub3JnOyBsaW51eC1r ZXJuZWxAdmdlci5rZXJuZWwub3JnPGJyPg0KPGI+5Li76aKYOjwvYj4gUmU6IOetlOWkjTog5Zue 5aSNOiBbRXh0ZXJuYWwgTWFpbF1SZTogW1BBVENIIHYyXSBtbS9jbWE6IHByaW50IHRvdGFsIGFu ZCB1c2VkIGNvdW50IGluIGNtYV9hbGxvYygpPC9mb250Pg0KPGRpdj4mbmJzcDs8L2Rpdj4NCjwv ZGl2Pg0KPC9kaXY+DQo8Zm9udCBzaXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQ7 Ij4NCjxkaXYgY2xhc3M9IlBsYWluVGV4dCI+W+WklumDqOmCruS7tl0g5q2k6YKu5Lu25p2l5rqQ 5LqO5bCP57Gz5YWs5Y+45aSW6YOo77yM6K+36LCo5oWO5aSE55CG44CC6Iul5a+56YKu5Lu25a6J 5YWo5oCn5a2Y55aR77yM6K+35bCG6YKu5Lu26L2s5Y+R57uZbWlzZWNAeGlhb21pLmNvbei/m+ih jOWPjemmiDxicj4NCjxicj4NCk9uIFRodSwgMTAgT2N0IDIwMjQgMDg6NDg6NTUgJiM0MzswMDAw IOmrmOe/lCAmbHQ7Z2FveGlhbmcxN0B4aWFvbWkuY29tJmd0OyB3cm90ZTo8YnI+DQo8YnI+DQom Z3Q7PGJyPg0KJmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCiZndDsg 5Y+R5Lu25Lq6OiBGcmFuayB2YW4gZGVyIExpbmRlbiAmbHQ7ZnZkbEBnb29nbGUuY29tJmd0Ozxi cj4NCiZndDsg5Y+R6YCB5pe26Ze0OiAyMDI05bm0MTDmnIg15pelIDY6NTU8YnI+DQomZ3Q7IOaU tuS7tuS6ujogQW5kcmV3IE1vcnRvbjxicj4NCiZndDsg5oqE6YCBOiDpq5jnv5Q7IERhdmlkIEhp bGRlbmJyYW5kOyBYaWFuZyBHYW87IGxpbnV4LW1tQGt2YWNrLm9yZzsgbGludXgta2VybmVsQHZn ZXIua2VybmVsLm9yZzxicj4NCiZndDsg5Li76aKYOiBSZTog5Zue5aSNOiBbRXh0ZXJuYWwgTWFp bF1SZTogW1BBVENIIHYyXSBtbS9jbWE6IHByaW50IHRvdGFsIGFuZCB1c2VkIGNvdW50IGluIGNt YV9hbGxvYygpPGJyPg0KJmd0Ozxicj4NCiZndDsgW+WklumDqOmCruS7tl0g5q2k6YKu5Lu25p2l 5rqQ5LqO5bCP57Gz5YWs5Y+45aSW6YOo77yM6K+36LCo5oWO5aSE55CG44CC6Iul5a+56YKu5Lu2 5a6J5YWo5oCn5a2Y55aR77yM6K+35bCG6YKu5Lu26L2s5Y+R57uZbWlzZWNAeGlhb21pLmNvbei/ m+ihjOWPjemmiDxicj4NCiZndDs8YnI+DQomZ3Q7IE9uIEZyaSwgT2N0IDQsIDIwMjQgYXQgMzoz OeKAr1BNIEFuZHJldyBNb3J0b24gJmx0O2FrcG1AbGludXgtZm91bmRhdGlvbi5vcmcmZ3Q7IHdy b3RlOjxicj4NCiZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyBPbiBGcmksIDQgT2N0IDIwMjQgMTI6 MjM6MzAgJiM0MzswMDAwIOmrmOe/lCAmbHQ7Z2FveGlhbmcxN0B4aWFvbWkuY29tJmd0OyB3cm90 ZTo8YnI+DQomZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJiM0MztzdGF0 aWMgdW5zaWduZWQgbG9uZyBjbWFfZ2V0X3VzZWRfcGFnZXMoc3RydWN0IGNtYSAqY21hKSB7PGJy Pg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IHVuc2lnbmVkIGxvbmcgdXNlZDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJiM0Mzs8 YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgc3Bpbl9sb2NrX2lycSgmYW1wO2NtYS0mZ3Q7bG9jayk7PGJyPg0KJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVzZWQgPSBiaXRtYXBfd2Vp Z2h0KGNtYS0mZ3Q7Yml0bWFwLCAoaW50KWNtYV9iaXRtYXBfbWF4bm8oY21hKSk7PGJyPg0KJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHNwaW5f dW5sb2NrX2lycSgmYW1wO2NtYS0mZ3Q7bG9jayk7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0Ozxi cj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgVGhpcyBhZGRzIG92ZXJoZWFkIHRvIGVhY2ggYWxsb2Nh dGlvbiwgZXZlbiBpZiBkZWJ1ZyBvdXRwdXRzIGFyZTxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsg aWdub3JlZCBJIGFzc3VtZT88YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7 ICZndDsgJmd0OyBJIHdvbmRlciBpZiB3ZSdkIHdhbnQgdG8gcHJpbnQgdGhlc2UgZGV0YWlscyBv bmx5IHdoZW4gb3VyIGFsbG9jYXRpb248YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IGZhaWxlZD88 YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyBBbHRlcm5h dGl2ZWx5LCB3ZSBjb3VsZCBhY3R1YWxseSB0cmFjayBob3cgbWFueSBwYWdlcyBhcmUgYWxsb2Nh dGVkIGluPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyB0aGUgY21hLCBzbyB3ZSBkb24ndCBoYXZl IHRvIHRyYXZlcnNlIHRoZSBjb21wbGV0ZSBiaXRtYXAgb24gZXZlcnk8YnI+DQomZ3Q7ICZndDsg Jmd0OyAmZ3Q7IGFsbG9jYXRpb24uPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsg Jmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgWWVwLCB0aGF0J3Mgd2hhdCBJIGRpZCBhcyBw YXJ0IG9mPGJyPg0KJmd0OyAmZ3Q7ICZndDsgPGEgaHJlZj0iaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvYWxsLzIwMjQwNzI0MTI0ODQ1LjYxNGMwM2FkMzlmOGFmMzcyOWNlYmVlNkBsaW51eC1mb3Vu ZGF0aW9uLm9yZy9ULyIgaWQ9IkxQbG5rNDk2MzYiIHByZXZpZXdyZW1vdmVkPSJ0cnVlIj4NCmh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI0MDcyNDEyNDg0NS42MTRjMDNhZDM5ZjhhZjM3 MjljZWJlZTZAbGludXgtZm91bmRhdGlvbi5vcmcvVC88L2E+PGJyPg0KJmd0OyAmZ3Q7ICZndDs8 YnI+DQomZ3Q7ICZndDsgJmd0OyBUaGF0IHBhdGNoIGRpZG4ndCBtYWtlIGl0IGluICh5ZXQpLiBJ J20gaGFwcHkgZm9yIGl0IHRvIGJlIGNvbWJpbmVkIHdpdGggdGhpcyBvbmUgaWYgdGhhdCdzIGVh c2llci48YnI+DQomZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgVGhhdCBwYXRjaCBoYXMgYmVlbiBm b3Jnb3R0ZW4gYWJvdXQuJm5ic3A7IEFzIEkgYXNrZWQgaW4gSnVseSw8YnI+DQomZ3Q7ICZndDsg JnF1b3Q7SSBzdWdnZXN0IGEgcmVzZW5kLCBhbmQgYWRkIHNvbWUgQ2M6cyBmb3IgbGlrZWx5IHJl dmlld2Vycy4mcXVvdDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyAmZ3Q7IEluZGVlZCAtIEkgY2VydGFp bmx5IHdhc24ndCBzdWdnZXN0aW5nIHRoYXQgYW55b25lIGVsc2UgZm9yZ290IGFib3V0PGJyPg0K Jmd0OyAmZ3Q7IGl0LCBpdCdzIHVwIHRvIG1lIHRvIGZvbGxvdyB1cCBoZXJlLCBhbmQgSSBoYXZl bid0IHlldC48YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDsgRG8gSSBuZWVkIHRvIHJlc2Vu ZCBpdCBhZnRlciBhZGRpbmcgJnF1b3Q7dXNlZF9jb3VudCZxdW90OyBtZW1iZXIgdG8gdGhlICZx dW90O3N0cnVjdCBjbWEmcXVvdDsgYXMgVjM/PGJyPg0KPGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQt ZmFtaWx5OiBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIEVtb2ppRm9udCwgJnF1b3Q7 QXBwbGUgQ29sb3IgRW1vamkmcXVvdDssICZxdW90O1NlZ29lIFVJIEVtb2ppJnF1b3Q7LCBOb3Rv Q29sb3JFbW9qaSwgJnF1b3Q7U2Vnb2UgVUkgU3ltYm9sJnF1b3Q7LCAmcXVvdDtBbmRyb2lkIEVt b2ppJnF1b3Q7LCBFbW9qaVN5bWJvbHM7IGZvbnQtc2l6ZTogMTMuMzMzM3B4OyI+Jmd0OyZuYnNw Ozwvc3Bhbj5JIGRvbid0IGtub3cgd2hhdCBpcyBiZWluZyBhc2tlZCBoZXJlLiZuYnNwOyBXaGF0 IGlzIHRoaXMNCiB1c2VkX2NvdW50PyZuYnNwOyBTb21lPGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQt ZmFtaWx5OiBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIEVtb2ppRm9udCwgJnF1b3Q7 QXBwbGUgQ29sb3IgRW1vamkmcXVvdDssICZxdW90O1NlZ29lIFVJIEVtb2ppJnF1b3Q7LCBOb3Rv Q29sb3JFbW9qaSwgJnF1b3Q7U2Vnb2UgVUkgU3ltYm9sJnF1b3Q7LCAmcXVvdDtBbmRyb2lkIEVt b2ppJnF1b3Q7LCBFbW9qaVN5bWJvbHM7IGZvbnQtc2l6ZTogMTMuMzMzM3B4OyI+Jmd0OyZuYnNw Ozwvc3Bhbj5vdGhlciBwYXRjaCwgcHJlc3VtYWJseT8mbmJzcDsgV2hpY2g/PGJyPg0KPGJyPg0K PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYs IEVtb2ppRm9udCwgJnF1b3Q7QXBwbGUgQ29sb3IgRW1vamkmcXVvdDssICZxdW90O1NlZ29lIFVJ IEVtb2ppJnF1b3Q7LCBOb3RvQ29sb3JFbW9qaSwgJnF1b3Q7U2Vnb2UgVUkgU3ltYm9sJnF1b3Q7 LCAmcXVvdDtBbmRyb2lkIEVtb2ppJnF1b3Q7LCBFbW9qaVN5bWJvbHM7IGZvbnQtc2l6ZTogMTMu MzMzM3B4OyI+Jmd0OyZuYnNwOzwvc3Bhbj5UaGUgcHJlZmVyYWJsZSB0aGluZyB0byBkbyBpcyB0 byBzZW5kIGEgcGF0Y2ggYWdhaW5zdA0KIGxhdGVzdDxicj4NCjxzcGFuIHN0eWxlPSJmb250LWZh bWlseTogQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBFbW9qaUZvbnQsICZxdW90O0Fw cGxlIENvbG9yIEVtb2ppJnF1b3Q7LCAmcXVvdDtTZWdvZSBVSSBFbW9qaSZxdW90OywgTm90b0Nv bG9yRW1vamksICZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90OywgJnF1b3Q7QW5kcm9pZCBFbW9q aSZxdW90OywgRW1vamlTeW1ib2xzOyBmb250LXNpemU6IDEzLjMzMzNweDsiPiZndDsmbmJzcDs8 L3NwYW4+bW0tdW5zdGFibGUgb3IgbGludXgtbmV4dC48YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9 IlBsYWluVGV4dCI+PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJQbGFpblRleHQiPk9LLjwvZGl2 Pg0KPC9zcGFuPjwvZm9udD48L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_4e51bba746e145a3812ed00a72f0f99exiaomicom_--