Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp613744rdb; Thu, 21 Dec 2023 22:29:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IFONKrFZhTle783Rvp9wcoioGBsFZY5/uy3gHuX5vP/ehYBVdwwTt6sBwp69PtV8N166J4o X-Received: by 2002:a05:6808:2e91:b0:3bb:71c5:3264 with SMTP id gt17-20020a0568082e9100b003bb71c53264mr1161616oib.18.1703226598656; Thu, 21 Dec 2023 22:29:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703226598; cv=none; d=google.com; s=arc-20160816; b=zqVOGgATV+MR3Phv2uIgZdXdtBT9r7Bu2TUdLV1WnHTF87UFgPzFUrd7FR17NtViNx S5b2YL4VTGOnSy1j50qyJ/LqnG/etyok4lQfVgmaRcPmu27hlQWjfogKFTsoullJYqv0 LUUEZfjIQJ3MatWVpNQtx0fuaiJ0IhDtXbRXFJh3oGjdrhugUw8+gPmFU3uXwunH72ge Spzg0LNepOvQMv/28F/Z21XDSqAXfp7r1c8VMFPXPPwuewBA4O/+/JWUZ62x3sa+ifb+ Bj6o9T66smYFoHI/iFz6sVP8co8zqvUeX9PoeMwxm84bkAB9s90rBbqJ4nDOU1isKldF T5uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:content-language:accept-language :in-reply-to:references:message-id:date:thread-index:thread-topic :subject:cc:to:from; bh=bssn83WRpCqNtOLD2+tnYEobdhilfIeG3ecNnrjCppk=; fh=Z/BMAkDU587nKijoisL+MOUXpTdRdcoCFKY95veg7rs=; b=ECwIHglaM7DN5Wr9ggF3iIf0kw3rEbMidHVps+YzGy0MRnx6lcMQQyYjPH22H3zeJ1 NkhGfBkV5qgShMDGFUufVq3C41ugDiFLGog+3F9PzObzNkP4JBmE0WdigyB6uo5vRBnH D7IFpeVzhXbSqRzosG1WVHuYOGE+E+ZgRNuguNJeo2j+l0/iNdSJ1nTudn1sS5CsPQvu UBl4Y3MusJ4QcJgQ+AVTIwpgo3JpGGHoQVBhu7cNpeYGbV9CB91FpFh/srAeMW4pSe4F kY4S6CKoK8NgUNPuYKH/Y88uz7ajO4QPTkuhzk9YbP2CSlND9hlUPZf9x5gegOqZMGLh H/lg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-9409-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-9409-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id e11-20020a63d94b000000b005cd82ab49adsi2740918pgj.358.2023.12.21.22.29.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 22:29:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-9409-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-9409-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-9409-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4A833281C0E for ; Fri, 22 Dec 2023 06:29:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8A48E8C19; Fri, 22 Dec 2023 06:29:52 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from SHSQR01.spreadtrum.com (unknown [222.66.158.135]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C85DC129 for ; Fri, 22 Dec 2023 06:29:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=unisoc.com Received: from dlp.unisoc.com ([10.29.3.86]) by SHSQR01.spreadtrum.com with ESMTP id 3BM6Si16080913; Fri, 22 Dec 2023 14:28:44 +0800 (+08) (envelope-from zhaoyang.huang@unisoc.com) Received: from SHDLP.spreadtrum.com (bjmbx02.spreadtrum.com [10.0.64.8]) by dlp.unisoc.com (SkyGuard) with ESMTPS id 4SxHJx4PqFz2Q05DN; Fri, 22 Dec 2023 14:22:25 +0800 (CST) Received: from BJMBX01.spreadtrum.com (10.0.64.7) by BJMBX02.spreadtrum.com (10.0.64.8) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Fri, 22 Dec 2023 14:28:43 +0800 Received: from BJMBX01.spreadtrum.com ([fe80::54e:9a:129d:fac7]) by BJMBX01.spreadtrum.com ([fe80::54e:9a:129d:fac7%16]) with mapi id 15.00.1497.023; Fri, 22 Dec 2023 14:28:43 +0800 From: =?utf-8?B?6buE5pyd6ZizIChaaGFveWFuZyBIdWFuZyk=?= To: Yu Zhao , Zhaoyang Huang CC: Matthew Wilcox , Andrew Morton , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , =?utf-8?B?5bq357qq5ruoIChTdGV2ZSBLYW5nKQ==?= Subject: reply: [RFC PATCH 1/1] mm: mark folio accessed in minor fault Thread-Topic: reply: [RFC PATCH 1/1] mm: mark folio accessed in minor fault Thread-Index: AQHaNKAbFnoLVF5PBkO1Xlt6kLCF+Q== Date: Fri, 22 Dec 2023 06:28:42 +0000 Message-ID: <1703226522421.22653@unisoc.com> References: <20231220102948.1963798-1-zhaoyang.huang@unisoc.com> , In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MAIL:SHSQR01.spreadtrum.com 3BM6Si16080913 Ck9uIFRodSwgRGVjIDIxLCAyMDIzIGF0IDEwOjUz4oCvUE0gWmhhb3lhbmcgSHVhbmcgPGh1YW5n emhhb3lhbmdAZ21haWwuY29tPiB3cm90ZToKPgo+IE9uIFRodSwgRGVjIDIxLCAyMDIzIGF0IDI6 MzPigK9QTSBZdSBaaGFvIDx5dXpoYW9AZ29vZ2xlLmNvbT4gd3JvdGU6Cj4gPgo+ID4gT24gV2Vk LCBEZWMgMjAsIDIwMjMgYXQgMTE6MjjigK9QTSBaaGFveWFuZyBIdWFuZyA8aHVhbmd6aGFveWFu Z0BnbWFpbC5jb20+IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBUaHUsIERlYyAyMSwgMjAyMyBhdCAx Mjo1M+KAr1BNIFl1IFpoYW8gPHl1emhhb0Bnb29nbGUuY29tPiB3cm90ZToKPiA+ID4gPgo+ID4g PiA+IE9uIFdlZCwgRGVjIDIwLCAyMDIzIGF0IDk6MDnigK9QTSBNYXR0aGV3IFdpbGNveCA8d2ls bHlAaW5mcmFkZWFkLm9yZz4gd3JvdGU6Cj4gPiA+ID4gPgo+ID4gPiA+ID4gT24gVGh1LCBEZWMg MjEsIDIwMjMgYXQgMDk6NTg6MjVBTSArMDgwMCwgWmhhb3lhbmcgSHVhbmcgd3JvdGU6Cj4gPiA+ ID4gPiA+IE9uIFdlZCwgRGVjIDIwLCAyMDIzIGF0IDEwOjE04oCvUE0gTWF0dGhldyBXaWxjb3gg PHdpbGx5QGluZnJhZGVhZC5vcmc+IHdyb3RlOgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g T24gV2VkLCBEZWMgMjAsIDIwMjMgYXQgMDY6Mjk6NDhQTSArMDgwMCwgemhhb3lhbmcuaHVhbmcg d3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiBGcm9tOiBaaGFveWFuZyBIdWFuZyA8emhhb3lhbmcuaHVh bmdAdW5pc29jLmNvbT4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBJbmFjdGl2ZSBt YXBwZWQgZm9saW8gd2lsbCBiZSBwcm9tb3RlZCB0byBhY3RpdmUgb25seSB3aGVuIGl0IGlzCj4g PiA+ID4gPiA+ID4gPiBzY2FubmVkIGluIHNocmlua19pbmFjdGl2ZV9saXN0LCB3aGlsZSB0aGUg dmZzIGZvbGlvIHdpbGwgZG8gdGhpcwo+ID4gPiA+ID4gPiA+ID4gaW1taWRpYXRseSB3aGVuIGl0 IGlzIGFjY2Vzc2VkLiBUaGVzZSB3aWxsIGludHJvZHVjZSB0d28gYWZmZWN0aW9uczoKPiA+ID4g PiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiAxLiBOUl9BQ1RJVkVfRklMRSBpcyBub3QgYWNjdXJh dGUgYXMgZXhwZWN0ZWQuCj4gPiA+ID4gPiA+ID4gPiAyLiBMb3cgcmVjbGFpbWluZyBlZmZpY2ll bmN5IGNhdXNlZCBieSBkdW1teSBuYWN0aXZlIGZvbGlvIHdoaWNoIHNob3VsZAo+ID4gPiA+ID4g PiA+ID4gICAgYmUga2VwdCBhcyBlYXJsaWVyIGFzIHNocmlua19hY3RpdmVfbGlzdC4KPiA+ID4g PiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBJIHdvdWxkIGxpa2UgdG8gc3VnZ2VzdCBtYXJrIHRo ZSBmb2xpbyBiZSBhY2Nlc3NlZCBpbiBtaW5vciBmYXVsdCB0bwo+ID4gPiA+ID4gPiA+ID4gc29s dmUgdGhpcyBzaXR1YXRpb24uCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBUaGlzIGlzbid0 IGdvaW5nIHRvIGJlIGFzIGVmZmVjdGl2ZSBhcyB5b3UgaW1hZ2luZS4gIEFsbW9zdCBhbGwgZmls ZQo+ID4gPiA+ID4gPiA+IGZhdWx0cyBhcmUgaGFuZGxlZCB0aHJvdWdoIGZpbGVtYXBfbWFwX3Bh Z2VzKCkuICBTbyBJIG11c3QgYXNrLCB3aGF0Cj4gPiA+ID4gPiA+ID4gdGVzdGluZyBoYXZlIHlv dSBkb25lIHdpdGggdGhpcyBwYXRjaD8KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEFuZCB3 aGlsZSB5b3UncmUgZ2F0aGVyaW5nIGRhdGEsIHdoYXQgZWZmZWN0IHdvdWxkIHRoaXMgcGF0Y2gg aGF2ZSBvbiB5b3VyCj4gPiA+ID4gPiA+ID4gd29ya2xvYWRzPwo+ID4gPiA+ID4gPiBUaGFua3Mg Zm9yIGhlYWRzLXVwLCBJIGFtIG91dCBvZiBkYXRlIGZvciByZWFkYWhlYWQgbWVjaGFuaXNtLiBN eSBnb2FsCj4gPiA+ID4gPgo+ID4gPiA+ID4gSXQncyBub3QgYSB0ZXJyaWJseSBuZXcgbWVjaGFu aXNtIC4uLiBmaWxlbWFwX21hcF9wYWdlcygpIHdhcyBhZGRlZCBuaW5lCj4gPiA+ID4gPiB5ZWFy cyBhZ28gaW4gMjAxNCBieSBjb21taXQgZjE4MjAzNjFmODNkCj4gPiA+ID4gPgo+ID4gPiA+ID4g PiBpcyB0byBoYXZlIG1hcHBlZCBmaWxlIHBhZ2VzIGJlaGF2ZSBsaWtlIG90aGVyIHBhZ2VzIHdo aWNoIGNvdWxkIGJlCj4gPiA+ID4gPiA+IHByb21vdGVkIGltbWVkaWF0ZWx5IHdoZW4gdGhleSBh cmUgYWNjZXNzZWQuIEkgd2lsbCB1cGRhdGUgdGhlIHBhdGNoCj4gPiA+ID4gPiA+IGFuZCBwcm92 aWRlIGJlbmNobWFyayBkYXRhIGluIG5ldyBwYXRjaCBzZXQuCj4gPiA+ID4gPgo+ID4gPiA+ID4g VW5kZXJzdG9vZC4gIEkgZG9uJ3Qga25vdyB0aGUgaGlzdG9yeSBvZiB0aGlzLCBzbyBJJ20gbm90 IHN1cmUgaWYgdGhlCj4gPiA+ID4gPiBkZWNpc2lvbiB0byBub3QgbWFyayBmb2xpb3MgYXMgYWNj ZXNzZWQgaGVyZSB3YXMgaW50ZW50aW9uYWwgb3Igbm90Lgo+ID4gPiA+ID4gSSBzdXNwZWN0IGl0 J3MgZW50aXJlbHkgdW5pbnRlbnRpb25hbC4KPiA+ID4gPgo+ID4gPiA+IEl0J3MgaW50ZW50aW9u YWwuIEZvciB0aGUgYWN0aXZlL2luYWN0aXZlIExSVSwgYWxsIGZvbGlvcyBzdGFydAo+ID4gPiA+ IGluYWN0aXZlLiBUaGUgZmlyc3Qgc2NhbiBvZiBhIGZvbGlvIHRyYW5zZmVycyB0aGUgQS1iaXQg KGlmIGl0J3Mgc2V0Cj4gPiA+ID4gZHVyaW5nIHRoZSBpbml0aWFsIGZhdWx0KSB0byBQR19yZWZl cmVuY2VkOyB0aGUgc2Vjb25kIHNjYW4gb2YgdGhpcwo+ID4gPiA+IGZvbGlvLCBpZiB0aGUgQS1i aXQgaXMgc2V0IGFnYWluLCBtb3ZlcyBpdCB0byB0aGUgYWN0aXZlIGxpc3QuIFRoaXMKPiA+ID4g PiB3YXkgc2luZ2xlLXVzZSBmb2xpb3MsIGkuZS4sIGZvbGlvcyBtYXBwZWQgZm9yIGZpbGUgc3Ry ZWFtaW5nLCBjYW4gYmUKPiA+ID4gPiByZWNsYWltZWQgcXVpY2tseSwgc2luY2UgdGhleSBhcmUg ImRlbW90ZWQiIHJhdGhlciB0aGFuICJwcm9tb3RlZCIgb24KPiA+ID4gPiB0aGUgc2Vjb25kIHNj YW4uIFRoaXMgUkZDIHdvdWxkIHJlZ3Jlc3MgbWVtb3J5IHN0cmVhbWluZyB3b3JrbG9hZHMuCj4g PiA+IFRoYW5rcy4gUGxlYXNlIGNvcnJlY3QgbWUgaWYgSSBhbSB3cm9uZy4gSU1PLCB0aGVyZSB3 aWxsIGJlIG5vCj4gPiA+IG1pbm9yLWZhdWx0IGZvciBzaW5nbGUtdXNlIGZvbGlvcwo+ID4KPiA+ IFdoeSBub3Q/IFdoYXQgcHJldmVudHMgYSBzcGVjaWZpYyAqYWNjZXNzIHBhdHRlcm4qIGZyb20g dHJpZ2dlcmluZyBtaW5vciBmYXVsdHM/Cj4gUGxlYXNlIGZpbmQgdGhlIGZvbGxvd2luZyBjaGFy dCBmb3IgbWFwcGVkIHBhZ2Ugc3RhdGUgbWFjaGluZQo+IHRyYW5zZmljYXRpb24uCgo+IEknbSBu b3Qgc3VyZSB3aGF0IHlvdSBhcmUgYXNraW5nIG1lIHRvIGxvb2sgYXQgLS0gaXMgdGhlIGZvbGxv d2luZwo+IHRyeWluZyB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyByZWxhdGVkIHRvIG15IHF1ZXN0 aW9uIGFib3ZlPwoKc29ycnkgZm9yIG15IGZhdWx0IG9uIHRhYmxlIGdlbmVyYXRpb24sIHJlc2Vu ZCBpdCwgSSBhbSB0cnlpbmcgdG8gcHJlc2VudCBob3cgUkZDIHBlcmZvcm1zIGluIGEgcGFnZSdz IHN0YXQgdHJhbnNmZXIgCgoxLiBSRkMgYmVoYXZlcyB0aGUgc2FtZSBhcyB0aGUgbWFpbmxpbmUg aW4gKDEpKDIpCjIuIFZNX0VYRUMgbWFwcGVkIHBhZ2VzIGFyZSBhY3RpdmF0ZWQgZWFybGllciB0 aGFuIG1haW5saW5lIHdoaWNoIGhlbHAgaW1wcm92ZSBzY2FuIGVmZmljaWVuY3kgaW4gKDMpKDQp CjMuIG5vbmUgVk1fRVhFQyBtYXBwZWQgcGFnZXMgYXJlIGRyb3BwZWQgYXMgdmZzIHBhZ2VzIGRv IGR1cmluZyAzcmQgc2Nhbi4KCigxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MXN0IGFjY2VzcyAgICAgICAgIHNocmlua19hY3RpdmVfbGlzdCAgICAgICAgICAgICAgMXN0IHNj YW4oc2hpbmtfZm9saW9fbGlzdCkgICAgICAgMm5kIHNjYW4oc2hyaW5rX2ZvbGlvX2xpc3QnKQpt YWlubGluZSAgICAgICAgICAgICAgICAgICAgIElOQS9VTlIgICAgICAgICAgICAgICAgICAgICAg ICBOQSAgICAgICAgICAgICAgICAgICAgICAgICAgSU5BL1JFRiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBEUk9QClJGQyAgICAgICAgICAgICAgICAgICAgICAgICAgIElOQS9VTlIgICAg ICAgICAgICAgICAgICAgICAgICBOQSAgICAgICAgICAgICAgICAgICAgICAgICAgIElOQS9SRUYg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk9QCgooMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDFzdCBhY2Nlc3MgICAgICAgICAgICAgICAgIDJuZCBhY2Nlc3MgICAg ICAgICAgICAgICBzaHJpbmtfYWN0aXZlX2xpc3QgICAgICAgICAgMXN0IHNjYW4oc2hpbmtfZm9s aW9fbGlzdCkgCm1haW5saW5lICAgICAgICAgICAgICAgICAgICAgSU5BL1VOUiAgICAgICAgICAg ICAgICAgICAgIElOQS9VTlIgICAgICAgICAgICAgICAgICAgICAgIE5BICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQUNUL1JFRgpSRkMgICAgICAgICAgICAgICAgICAgICAgICAgICBJ TkEvVU5SICAgICAgICAgICAgICAgICAgICAgSU5BL1JFRiAgICAgICAgICAgICAgICAgICAgICAg TkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1QvUkVGCgooMykKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDFzdCBhY2Nlc3MgICAgICAgIDFzdCBzY2FuKHNoaW5r X2ZvbGlvX2xpc3QpICAgICAgIDJuZCBhY2Nlc3MgICAgICAybmQgc2NhbihzaHJpbmtfYWN0aXZl X2xpc3QpICAgICAzcmQgY2FuKHNocmlua19mb2xpb19saXN0KQptYWlubGluZSAgICAgICAgICAg ICAgICAgICAgIElOQS9VTlIgICAgICAgICAgICAgICAgICAgIElOQS9SRUYgICAgICAgICAgICAg ICAgICAgICAgICAgICBJTkEvUkVGICAgICAgICAgICAgICAgIE5BICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEFDVC9SRUYKUkZDICAgICAgICAgICAgICAgICAgICAgICAgICAg SU5BL1VOUiAgICAgICAgICAgICAgICAgICAgSU5BL1JFRiAgICAgICAgICAgICAgICAgICAgICAg ICAgIEFDVC9SRUYgICAgICAgICAgICAgICAgQUNUL1JFRiAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5BCihWTV9FWEVDKQpSRkMgICAgICAgICAgICAgICAgICAgICAgICAgICBJTkEvVU5SICAg ICAgICAgICAgICAgICAgICBJTkEvUkVGICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNUL1JF RiAgICAgICAgICAgICAgICBJTkEvUkVGICAgICAgICAgICAgICAgICAgICAgICAgICAgIERST1AK KG5vbiBWTV9FWEVDKQoKKDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxc3Qg YWNjZXNzICAgICAgICAgICAgICAgICAgIDJuZCBhY2Nlc3MgICAgICAgICAgICAgICAgICAgM3Jk IGFjY2VzcyAgICAgICAgICAxc3Qgc2NhbihzaHJpbmtfYWN0aXZlX2xpc3QpICAgMm5kIHNjYW4o c2hpbmtfZm9saW9fbGlzdCkKbWFpbmxpbmUgICAgICAgICAgICAgICAgICAgICBJTkEvVU5SICAg ICAgICAgICAgICAgICAgICAgICBJTkEvVU5SICAgICAgICAgICAgICAgICAgICAgICBJTkEvVU5S ICAgICAgICAgICAgICAgICAgICBOQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFD VC9SRUYKUkZDICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5BL1VOUiAgICAgICAgICAgICAg ICAgICAgICAgSU5BL1JFRiAgICAgICAgICAgICAgICAgICAgICAgICBBQ1QvUkVGICAgICAgICAg ICAgICAgICAgQUNUL1JFRiAgICAgICAgICAgICAgICAgICAgICAgTkEKKFZNX0VYRUMpClJGQyAg ICAgICAgICAgICAgICAgICAgICAgICAgIElOQS9VTlIgICAgICAgICAgICAgICAgICAgICAgIElO QS9SRUYgICAgICAgICAgICAgICAgICAgICAgICBBQ1QvUkVGICAgICAgICAgICAgICAgICAgIEFD VC9SRUYgICAgICAgICAgICAgICAgICAgICAgIE5BCihOb24gVk1fRVhFQykKCj4gV2UgY2FuIGZp bmQgdGhhdDoKPiAxLiBSRkMgYmVoYXZlcyB0aGUgc2FtZSBhcyB0aGUgbWFpbmxpbmUgaW4gKDEp KDIpCj4gMi4gVk1fRVhFQyBtYXBwZWQgcGFnZXMgYXJlIGFjdGl2YXRlZCBlYXJsaWVyIHRoYW4g bWFpbmxpbmUgd2hpY2ggaGVscAo+IGltcHJvdmUgc2NhbiBlZmZpY2llbmN5IGluICgzKSg0KQo+ IDMuIG5vbmUgVk1fRVhFQyBtYXBwZWQgcGFnZXMgYXJlIGRyb3BwZWQgYXMgdmZzIHBhZ2VzIGRv IGR1cmluZyAzcmQgc2Nhbi4KPgo+ICgxKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAxc3QgYWNjZXNzCj4gc2hyaW5rX2FjdGl2ZV9saXN0ICAgICAgICAgICAgICAxc3Qgc2Nh bihzaGlua19mb2xpb19saXN0KQo+IDJuZCBzY2FuKHNocmlua19mb2xpb19saXN0JykKPiBtYWlu bGluZSAgICAgICAgICAgICAgICAgICAgIElOQS9VTlIgICAgICAgICAgICAgICAgICAgICAgICBO QQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5BL1JFRgo+IERST1AKPiBSRkMgICAgICAg ICAgICAgICAgICAgICAgICAgICBJTkEvVU5SICAgICAgICAgICAgICAgICAgICAgICAgTkEKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJTkEvUkVGCj4gRFJPUAo+Cj4gKDIpCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFzdCBhY2Nlc3MgICAgICAgICAgICAgICAgICAg Mm5kCj4gYWNjZXNzICAgICAgICAgICAgICAgICAgICAgICAgc2hyaW5rX2FjdGl2ZV9saXN0ICAg ICAgICAgIDFzdAo+IHNjYW4oc2hpbmtfZm9saW9fbGlzdCkKPiBtYWlubGluZSAgICAgICAgICAg ICAgICAgICAgIElOQS9VTlIgICAgICAgICAgICAgICAgICAgICBJTkEvVU5SCj4gICAgICAgICAg ICAgICAgICAgICAgIE5BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNUL1JFRgo+ IFJGQyAgICAgICAgICAgICAgICAgICAgICAgICAgIElOQS9VTlIgICAgICAgICAgICAgICAgICAg ICBJTkEvUkVGCj4gICAgICAgICAgICAgICAgICAgICAgICAgTkEgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBQ1QvUkVGCj4KPiAoMykKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMXN0IGFjY2Vzcwo+IHNocmlua19hY3RpdmVfbGlzdCAgICAgICAgMXN0IHNjYW4o c2hpbmtfZm9saW9fbGlzdCkgICAgICAgMm5kIGFjY2Vzcwo+ICAgICAgIDJuZCBzY2FuKHNocmlu a19hY3RpdmVfbGlzdCkgICAgIDNyZCBzY2FuKHNoaW5rX2ZvbGlvX2xpc3QpCj4gbWFpbmxpbmUg ICAgICAgICAgICAgICAgICAgICBJTkEvVU5SICAgICAgICAgICAgICAgICAgICAgICAgTkEKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgIElOQS9SRUYgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTkEvUkVGCj4gICAgICAgICAgICAgICAgIE5BICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFDVC9SRUYKPiBSRkMgICAgICAgICAgICAgICAgICAgICAgICAgICBJTkEvVU5S ICAgICAgICAgICAgICAgICAgICAgICAgTkEKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ TkEvUkVGICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNUL1JFRgo+ICAgICAgICAgICAgICAg ICBBQ1QvUkVGICAgICAgICAgICAgICAgICAgICAgICAgICAgTkEKPiAoVk1fRVhFQykKPiBSRkMg ICAgICAgICAgICAgICAgICAgICAgICAgICBJTkEvVU5SICAgICAgICAgICAgICAgICAgICAgICAg TkEKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTkEvUkVGICAgICAgICAgICAgICAgICAg ICAgICAgICAgQUNUL1JFRgo+ICAgICAgICAgICAgICAgICBJTkEvUkVGICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERST1AKPiAobm9uIFZNX0VYRUMpCj4KPiAoNCkKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMXN0IGFjY2VzcyAgICAgICAgICAgICAgICAgICAybmQKPiBh Y2Nlc3MgICAgICAgICAgICAgICAgICAgICAgICAgM3JkIGFjY2Vzcwo+IHNocmlua19hY3RpdmVf bGlzdCAgICAgICAgICAgICAgICAgICBzaGlua19mb2xpb19saXN0Cj4gbWFpbmxpbmUgICAgICAg ICAgICAgICAgICAgICBJTkEvVU5SICAgICAgICAgICAgICAgICAgICAgICBJTkEvVU5SCj4gICAg ICAgICAgICAgICAgICAgICAgICBJTkEvVU5SICAgICAgICAgICAgICAgICAgICAgICAgICBOQQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDVC9SRUYKPiBSRkMgICAgICAgICAgICAgICAg ICAgICAgICAgICBJTkEvVU5SICAgICAgICAgICAgICAgICAgICAgICBJTkEvUkVGCj4gICAgICAg ICAgICAgICAgICAgICAgICAgIEFDVC9SRUYgICAgICAgICAgICAgICAgICAgICAgICAgQUNUL1JF Rgo+ICAgICAgICAgICAgICAgICAgICAgICAgTkEKPiAoVk1fRVhFQykKPiBSRkMgICAgICAgICAg ICAgICAgICAgICAgICAgICBJTkEvVU5SICAgICAgICAgICAgICAgICAgICAgICBJTkEvUkVGCj4g ICAgICAgICAgICAgICAgICAgICAgICAgIEFDVC9SRUYgICAgICAgICAgICAgICAgICAgICAgICAg QUNUL1JFRgo+ICAgICAgICAgICAgICAgICAgICAgICAgTkEKPiAoTm9uIFZNX0VYRUMpCj4gPgo+ ID4gPiB3aGljaCBtZWFucyBSRkMgY291bGQgYmVoYXZlIHRoZQo+ID4gPiBzYW1lIGFzIG1haW5s aW5lIGRvZXMgbm93PyBJIHRoaW5rIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBoYXZlCj4gPiA+ IG11bHRpcGxlLW1hcHBlZCBwYWdlcyBmaWxsZWQgaW4gcGFnZV9saXN0IHRvIHNocmlua19wYWdl X2xpc3Qgc2luY2Ugd2UKPiA+ID4gY2FuIGRpc3Rpbmd1aXNoIHRoZW0gaW4gYWR2YW5jZS4K