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 BB479C32772 for ; Tue, 23 Aug 2022 15:26:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4339A6B0073; Tue, 23 Aug 2022 11:26:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3E35B6B0074; Tue, 23 Aug 2022 11:26:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2379F8D0001; Tue, 23 Aug 2022 11:26:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 1412C6B0073 for ; Tue, 23 Aug 2022 11:26:12 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id EE868ABD3B for ; Tue, 23 Aug 2022 15:26:10 +0000 (UTC) X-FDA: 79831233300.15.8590B2E Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-eopbgr120058.outbound.protection.outlook.com [40.107.12.58]) by imf17.hostedemail.com (Postfix) with ESMTP id 6F48D4000C for ; Tue, 23 Aug 2022 15:26:10 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wf6vmpnVy6QzQX8p/q5ilPBipg6evNKG791baTofiZwHyi6UTZd9U6xh+4KJvcQq+LyZJEcnqBmrILrOrMChS+PLkwHg3z424sa8F5PRg9PopkJXDQeXaevLIO+Vc5yJCDfJWE7+xzDTEBBFLNxwClz/0os+CeNdaZnYybyg31/MOkG67KhKGGv891mnAvnzdqE74b99nraZWeWnuXbi2axiJfNF0NMb2hiG/ptN6vsqpuyZJvPSnB3STgJIwM3vMUshIO5o48bkFr2INw1Cvmod5EXTmJZOOuHa8IkpSFJYQwHQbcTiFWaQuA9vQDpJ8d6l2hAT8LiIi92nSDHjSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BHL8tJpfz24ONh8HcgGi/AHgcFTsks4Or+PmDSXJXuU=; b=CvSu4uaof7FWPg5rx3mRxu1JtiDdtblqbW7vFRhBQZ0uEdVp8hgjhWWcPnG7X37Y3BGuCWlUOCknFVfHExlcIAomXPJBbZFbtI8pYuAlXbd+6nxHP3OD7n3iYAqmcIs+Gy5thLd8bmfX4aucrg+99F3ghZKFi2uKbY11gtQ2o/0R7nVhasuQS5iXvRSD0oJB88jwYdStyYPjlqdwb8vecrs+aFAzsD1yHf4aXNPt6Vp2ACLtXB2W3WrCSDvCklAVRyaFlMlp+ZruDsNhi0vdwerS2qRaG6fIlaJMi8x5/esLR3RFKkKqgBkHdhRhFg7qtyKx6OrI2Fot6dMAHmw3Yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csgroup.eu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BHL8tJpfz24ONh8HcgGi/AHgcFTsks4Or+PmDSXJXuU=; b=hYs6cHTTCNev1z1Zrp5oVWiSWd8x2Iq4ojlItAfKinmy4PbIGMSfzN02ESbQXZn9YdTNlQy+F92hMFoL9/cOybLGP7EgwOwuyXIsfhKXDqNphS7y4YoOlVr2FvM5VM7XBj+tYihWsg21Tk80FV/hbQqcXyplkf6dFUELF/cbXXajN0f9dil+k0F+TgAMpuATQ23pnmxqV8iNqj4msdjPTfP0Eu5UeDX8ZBmeMxDDuVXHaeCoy6Ib8OyZx+Dq4ygtVpBUVu7cFka/652bY/9Ee5tGNnFbn5aQhhttRY+bMsDTHnTkQ8XBTtzunc2izAC/JYv0lYETDUp0xeGT56kqCA== Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by PR0P264MB2709.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1d0::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Tue, 23 Aug 2022 15:26:07 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::888e:a92e:a4ee:ce9e]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::888e:a92e:a4ee:ce9e%5]) with mapi id 15.20.5546.024; Tue, 23 Aug 2022 15:26:07 +0000 From: Christophe Leroy To: Baoquan He CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "akpm@linux-foundation.org" , "hch@infradead.org" , "agordeev@linux.ibm.com" , "wangkefeng.wang@huawei.com" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v2 01/11] mm/ioremap: change the return value of io[re|un]map_allowed and rename Thread-Topic: [PATCH v2 01/11] mm/ioremap: change the return value of io[re|un]map_allowed and rename Thread-Index: AQHYtCxluEXLt15y9kSkQpSsai/RVK26d60AgAEsPgCAAFTlgIAApOwAgAADPgA= Date: Tue, 23 Aug 2022 15:26:07 +0000 Message-ID: <429cb367-923f-bb3d-ccf0-57dce0c7f35b@csgroup.eu> References: <20220820003125.353570-1-bhe@redhat.com> <20220820003125.353570-2-bhe@redhat.com> In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e59502ee-e52a-4dad-ee25-08da851bccf4 x-ms-traffictypediagnostic: PR0P264MB2709:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oMp0TZtQG6U24nIrY6ou0nCb3m7rL9/97wazCTrkYO2/vbfWmV6VKR8s/4R/H82VzTlv7FxVFXo3VVoqFPbspArCBi1YCnEAL2NwAVhMBbO8//oSWx+Y9R0U/1NK/FMbtq2NeNRqGys3tAx8TYLdMJPOwUazpIlePtu5H5veA3mK2GjAEBLYzX4d2n5ZwinJ7EsDb6bknildGrotXnWSm+XaHIZIJ5ev6aeIIXvOhIu4TrJJ2zNpFQqIV4qWFV/+TLIYuuYcYHRJ0JjFOCVUVI2hvo625k6fJDQJLq0mJLUkDEYGNzZlvJPCMXkzXLK4C83J7hz05FW/HvjmG8ifpQed6sMASJi+YuBp8rz4jRkLby5Vrnzv0pAKiplhUUXGz8++QKaS/VR6ZWoD88iyeG60XzB3em/yOczzqbZGHvSYckS9Uvl/wdZ9EXBiwfzP6m2lQ4Xu/Fxh9ywr3Nb/5vOwHoB+1o3jzPyhgvk85woIOutrOiE2HJ3ukk5pPY4QeQzgD7OqMHDX7mbUe9NPhiFokq9/WO8d/sTFyqFz4KfYb7Hah19mlJLOM2g/Etra9oYues7knPi6Lk3HFCPCmITySFl4SMMml9A7tMxhvS06558a0ZA58E16y9tVt6Mk6BrSCXwkM2tFGyONA1u1U+MUi5g38IDr1ZBWslKSSUJPfbregLRiuqwbumnRjq8NBEiD4YyeM1D26F+Ai+wv4hB7hT/+v9Rlupcxyk3bTHluLvfXawUY0CxF7cQ/LBpMNV9UU6LJ5svxUHl1kYpcrVWf+zZ39cLuHQEYVNMPfEauzGR0kkkbM/TolECc6659uHyBFJEdP4pFnQ024yqTyQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(39850400004)(376002)(346002)(366004)(396003)(8936002)(66556008)(4326008)(8676002)(64756008)(66446008)(91956017)(6916009)(54906003)(66476007)(36756003)(38100700002)(31686004)(76116006)(66946007)(38070700005)(86362001)(31696002)(122000001)(66574015)(83380400001)(186003)(26005)(6512007)(6486002)(41300700001)(478600001)(71200400001)(316002)(6506007)(2616005)(2906002)(5660300002)(44832011)(43740500002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UFZrMDNPblhYT2o0c2FXSWc0UW5CUEh4NUdGUHlna2dwclNtR3ROcVdhOHZz?= =?utf-8?B?RzBTRGp5UElWcThBRDFtajJBKzd3VkdMVVBXUDZyUm1NVlF6cWJiTGx1TGdh?= =?utf-8?B?OGZuV05SdjljZEdYcDh4ZGtkRjBIOEIxcDRTU1ZpeTVpZzlmMGlESnE1NnNL?= =?utf-8?B?d3c1Y3RDWEgwMmlWU25DNGFlZ0FVS1ZpR09VUndEb1o1L2dIMVlIaEFqYVJE?= =?utf-8?B?WkxQWUFJYWREQVd0MUVhR1kvVGowb0xFT1FRVk45WW81eXZoTFhLano0dTJ0?= =?utf-8?B?L09Cb0VMVHBDK0JJTWdPSzJYM0Y1cGt1SnpnNU1NcjdrZWVORkh0UDhTb3JJ?= =?utf-8?B?OE1MSXQrN3JTWVk0UUt1MmdYNk9aY1RKemIvbGo4Y0VqWFZsLzhZVGxpdXNk?= =?utf-8?B?Zm9oWXZ2aDhiZkYrcXJ2QjBaeU85QmR4UUFGK2tnNHJSK0ExWFlKK3Q3dXpk?= =?utf-8?B?cnJVQkFEYlByb0l4cUpsSEdHZG9GVUFkT1pwSVBJSnNpNmpNN0YvYlBRUk9M?= =?utf-8?B?R1NYT0V4ZDRGZERYTUpoM2JNQmh6YU9HWDZ6K3Bxa1dnRTdoaWJ0ajRpU3ZJ?= =?utf-8?B?V2hkNGlDTU9SN2h6RlVLdnZsMWtSZC9EZkludmJMcDlRVjFhY1pLSlluaEll?= =?utf-8?B?emdZTmNBNi9jUTlpMWpFQmFhV05OZ2FqS2ZudDJoSzNEa1I5bXdGWW51Nnda?= =?utf-8?B?Q3R6RzZITVRqK28wTDY2am1MNjlBY3dnbGVDY0JUdThCb0h6dkg5aUFWVkNy?= =?utf-8?B?ZUp6VndUTjN1U3ZJeE1lS0tMODduREVGZ2tqeCtpdVdpbVBrMzZSS1k2LzNM?= =?utf-8?B?clh5RkRZM2hTd0RBMEVKWFp6Wjlnd2tvamR2a1VTaktjMVFzRXZPbjMxLzFH?= =?utf-8?B?Vy94SHNEN2VMZzYrT3UydEFpaU9YdTdRYmN2N3Nndlp3THJjUUpVSnRQVEZZ?= =?utf-8?B?NjV2ZUU1blU2a1RrL1UxRFdvK0Rxa0ZPK3lnNzB5Q2xQTzFYbHRlUzUxeEVU?= =?utf-8?B?cmtTcGU4bFlFazdGMGx3Slh2cHVHWlhXeDdMcXhaYXlZMWxDVnFGVmM0MUFZ?= =?utf-8?B?LzZCZk0zaUdjcFRTSXo2eEczaVh6SUk2a0FDZUlHV1hhOHFWUjNUbzZRYnln?= =?utf-8?B?TXNUZjVIczh3Q1hpTVV1QkJOYXdwenRZTUV3R3QrSC9tdGtjM0krMkZSWHZW?= =?utf-8?B?MndpQjZmUGJXaHNxbnpGeXB5OVdLL3ZrRHpDbjJoRmt1Z1l2U2VmSHJ5VjJm?= =?utf-8?B?TlNIZWh4S0c0bHRLNTF3NXpucW5EK2ZrT2t1K3RSZXhxUEdkOHdxVFFsWHhl?= =?utf-8?B?L1JreExMZGFQMGwvZW1PcFN1ZkVyMUs4ZW5JTXpxRWk2QmxLNVVKTkxJazNL?= =?utf-8?B?ZmJicFRtQS9XS1pMUFpYNnBaaWRVUmtUS3FNM0RXL2lLU1VodG1yeW5UclVq?= =?utf-8?B?ZWhwVU9nbGsweENpeHp2MjhrVlk0bHpwQlV2SGlmaEJ5N29mQlFHV3lrTFpI?= =?utf-8?B?V3NOa1ltMUM4NlNKN0dWM3Zxc09zczNJbjh0UEVmN1lKVFpzcFlibWczSWdK?= =?utf-8?B?QnBVZ1dCcENSK3RqZi9pdzhWc3BNb05seWlCYzNTZy9VVDNDN1NyRFByNTlL?= =?utf-8?B?STJ1MnFtSXM4VEJXSVUvVlBQWlNNTktTYmluN3pKZEFaUXhISDZsQ1YrUlFx?= =?utf-8?B?ZzNreG51NC80ZUdsYnlZbDFpZGFRbkI0MUVjOXVhQWYvR2h3dWFEcnArcWFk?= =?utf-8?B?VE96TU5WZGhDYVFNaldSWThzT2p1YkIxenI0aWJJV3V5dEcyVkFWbVNSZ20w?= =?utf-8?B?Q2huanJheEpJdzRnQnJCTzZuOS9tanR0cDdXc3ZzQ0pUTEIyMlhRT25oMnJn?= =?utf-8?B?OTdqTXBpM0RWcUd6a0JHa3RWRGJKMHBxVjVuVHh6a042ZnhUQnhTNHRuN1pN?= =?utf-8?B?TG9NclhzdzB5a2c5QkFtTlRpcjY1dy9NVjAzcWs5c1MvLzNtQjhMZ3BpN3FK?= =?utf-8?B?VG9oY3NuRzBYZ3hmRjA0Mm02anR1SHFXcElFV3NOT0xhUXdNSnRTTTJCZFZt?= =?utf-8?B?V2ZQRmFiQzZwZXhSYXhrVGVYMWYrLzg2TjFYaDhydTJBcGcyVGpobUU5V3lV?= =?utf-8?B?ZWNGZDZkem1mUUtYOTIxSkhaaFNucVc1dnJwSW4rcisxWnorbXRpN1l4aldw?= =?utf-8?Q?TZpHbeUUwWuChIEIYWh95c8=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <9C4D9DE6EEAF1E45B4A120ABAF22F1FF@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: e59502ee-e52a-4dad-ee25-08da851bccf4 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 15:26:07.5249 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9y65eWyfBrLsSu20oTOG5+7FrXzMVBbNzdE3A9XQ0AjFnqLif6dGRBdq6BHM7kAk42AESdcI4q+iDE8RN3p2tEJrQBQSOUOkgssgSUIzejs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB2709 ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector1 header.b=hYs6cHTT; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.12.58 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=none ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1661268370; a=rsa-sha256; cv=pass; b=VqmAYiD2Rdiqgp0FNmRD0RswFk1GwStyXmtPfLRsYH2hYNLbDARixvxkFDLex1oLOVV21e kg9sP8PEokc93+QVxxYZS9sHw9PnCsBNOCwm+uxs0pA/T11Mjk1rlYnq7VU3pRkfaKtTOX 30FnUYRt3jNi5Gb52hOpAhi1gdwwNpA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1661268370; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=BHL8tJpfz24ONh8HcgGi/AHgcFTsks4Or+PmDSXJXuU=; b=RD8UoTUmWuAstgZ0UeGEkn2rif6/jEYUTyGmULqjfC5SQC492DW+yitmuAhLLjf9PeLzHa tnuuLmh8Azp9FoNcpJwcQB0uj7Fv4wRmIJ19sMUMDqNTfnVeHNljhEZkp1Njh3ZT2KVrFY 3CIPXlldOck7B/Wwo8WmThOg47Qp8L4= X-Stat-Signature: z86nsxb8zwa1dkwkyo8ktnhq8pithfz8 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 6F48D4000C Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector1 header.b=hYs6cHTT; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.12.58 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=none X-HE-Tag: 1661268370-549195 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: DQoNCkxlIDIzLzA4LzIwMjIgw6AgMTc6MTQsIEJhb3F1YW4gSGUgYSDDqWNyaXTCoDoNCj4gT24g MDgvMjMvMjIgYXQgMDU6MjRhbSwgQ2hyaXN0b3BoZSBMZXJveSB3cm90ZToNCj4+DQo+Pg0KPj4g TGUgMjMvMDgvMjAyMiDDoCAwMjoyMCwgQmFvcXVhbiBIZSBhIMOpY3JpdMKgOg0KPj4+IE9uIDA4 LzIyLzIyIGF0IDA2OjI1YW0sIENocmlzdG9waGUgTGVyb3kgd3JvdGU6DQo+Pj4+DQo+Pj4+DQo+ Pj4+IExlIDIwLzA4LzIwMjIgw6AgMDI6MzEsIEJhb3F1YW4gSGUgYSDDqWNyaXTCoDoNCj4+Pj4+ IEluIHNvbWUgYXJjaGl0ZWN0dXJlcywgdGhlcmUgYXJlIEFSQ0ggc3BlY2lmaWNpIGlvIGFkZHJl c3MgbWFwcGluZw0KPj4+Pj4gaGFuZGxpbmcgd2hlbiBjYWxsaW5nIGlvcmVtYXAoKSBvciBpb3Jl bWFwX3Byb3QoKSwgZS5nLCBhcmMsIGlhNjQsDQo+Pj4+PiBvcGVucmlzYywgczM5MCwgc2guDQo+ Pj4+Pg0KPj4+Pj4gSW4gb2RlciB0byBjb252ZXJ0IHRoZW0gdG8gdGFrZSBHRU5FUklDX0lPUkVN QVAgbWV0aG9kLCB3ZSBuZWVkIGNoYW5nZQ0KPj4+Pj4gdGhlIHJldHVybiB2YWx1ZSBvZiBob29r IGlvcmVtYXBfYWxsb3dlZCgpIGFuZCBpb3VubWFwX2FsbG93ZWQoKS4NCj4+Pj4+IE1lYW53aGls ZSwgcmVuYW1lIHRoZW0gdG8gYXJjaF9pb3JlbWFwKCkgYW5kIGFyY2hfaW91bm1hcCgpIHRvIHJl ZmxlY3QNCj4+Pj4+IHRoZWlyIGN1cnJlbnQgYmVoYXZpb3VyLg0KPj4+DQo+Pj4gVGhhbmtzIGZv ciByZXZpZXdpbmcuDQo+Pj4NCj4+Pj4NCj4+Pj4gUGxlYXNlIGRvbid0IGp1c3Qgc2F5IHlvdSBu ZWVkIHRvIGNoYW5nZSB0aGUgcmV0dXJuIHZhbHVlLiBFeHBsYWluIHdoeS4NCj4+Pg0KPj4+IFRo ZSAxc3QgcGFyYWdyYXBoIGFuZCB0aGUgc2VudGVuY2UgJ0luIG9kZXIgdG8gY29udmVydCB0aGVt IHRvIHRha2UNCj4+PiBHRU5FUklDX0lPUkVNQVAgbWV0aG9kJyB0ZWxsIHRoZSByZWFzb24sIG5v Pw0KPj4NCj4+IFdoYXQgSSB3b3VsZCBsaWtlIHRvIHJlYWQgaXMgX3doeV8geW91IG5lZWQgdG8g Y2hhbmdlIHRoZSByZXR1cm4gdmFsdWUNCj4+IGluIG9yZGVyIHRvIGNvbnZlcnQgdG8gR0VORVJJ Q19JT1JFTUFQDQo+IA0KPiBJIHJlcGhyYXNlIHRoZSBsb2cgYXMgYmVsb3csIGl0J3MgT0sgdG8g eW91PyBPciBwbGVhc2UgaGVscCBjaGVjayBhbmQNCj4gdGVsbCB3aGF0IEkgbmVlZCB0byBpbXBy b3ZlIHRvIGJldHRlciBleHBsYWluIHRoZSByZWFzb24uDQo+IA0KPiA9PT09DQo+IFRoZSBjdXJy ZW50IGlvW3JlfHVuXW1hcF9hbGxvd2VkKCkgaG9va3MgYXJlIHVzZWQgdG8gY2hlY2sgaWYgdGhl DQo+IGlvW3JlfHVuXW1hcCgpIGFjdGlvbnMgYXJlIHF1YWxpZmllZCB0byBwcm9jZWVkIHdoZW4g dGFraW5nDQo+IEdFTkVSSUNfSU9SRU1BUCB3YXkgdG8gZG8gaW9yZW1hcCgpL2lvdW5tYXAoKS4g T3RoZXJ3aXNlIGlvW3JlfHVuXW1hcCgpDQo+IHdpbGwgcmV0dXJuIE5VTEwuDQo+IA0KPiBPbiBz b21lIGFyY2hpdGVjdHVyZXMgbGlrZSBhcmMsIGlhNjQsIG9wZW5yaXMsIHMzOTAsIHNoLCB0aGVy ZSBhcmUNCj4gQVJDSCBzcGVjaWZpYyBpbyBhZGRyZXNzIG1hcHBpbmcgdG8gdHJhbnNsYXRlIHRo ZSBwYXNzZWQgaW4gcGh5c2ljYWwNCj4gYWRkcmVzcyB0byBpbyBhZGRyZXNzIHdoZW4gY2FsbGlu ZyBpb3JlbWFwKCkuIEluIG9yZGVyIHRvIGNvbnZlcnQNCj4gdGhlc2UgYXJjaGl0ZWN0dXJlcyB0 byB0YWtlIEdFTkVSSUNfSU9SRU1BUCB3YXkgdG8gaW9yZW1hcCgpLCB3ZSBuZWVkDQo+IGNoYW5n ZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGhvb2sgaW9yZW1hcF9hbGxvd2VkKCkgYW5kIGlvdW5tYXBf YWxsb3dlZCgpLg0KPiBXaXRoIHRoZSBjaGFuZ2UsIHdlIGNhbiBtb3ZlIHRoZSBhcmNoaXRlY3R1 cmUgc3BlY2lmaWMgaW8gYWRkcmVzcw0KPiBtYXBwaW5nIGludG8gaW9yZW1hcF9hbGxvd2VkKCkg aG9vaywgYW5kIGdpdmUgdGhlIG1hcHBlZCBpbyBhZGRyZXNzDQo+IG91dCB0byBsZXQgaW9yZW1h cF9wcm90KCkgcmV0dXJuIGl0LiBXaGlsZSBhdCBpdCwgcmVuYW1lIHRoZSBob29rcyB0bw0KPiBh cmNoX2lvcmVtYXAoKSBhbmQgYXJjaF9pb3VubWFwKCkgdG8gcmVmbGVjdCB0aGVpciBuZXcgYmVo YXZpb3VyLg0KPiA9PT09DQo+IA0KDQpUaGF0IGxvb2tzIG1vcmUgaW4gbGluZSB3aXRoIHRoZSB0 eXBlIG9mIGV4cGxhbmF0aW9uIEkgZm9yZXNlZSBpbiB0aGUgDQpjb21taXQgbWVzc2FnZSwgdGhh bmtzLg0KDQoNCkNocmlzdG9waGU=