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 BECF3C433EF for ; Thu, 23 Jun 2022 23:35:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A9F28E01A3; Thu, 23 Jun 2022 19:35:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 357D18E01A1; Thu, 23 Jun 2022 19:35:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F9128E01A3; Thu, 23 Jun 2022 19:35:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 0D35D8E01A1 for ; Thu, 23 Jun 2022 19:35:06 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D7A2D35612 for ; Thu, 23 Jun 2022 23:35:05 +0000 (UTC) X-FDA: 79611108570.10.B967C9D Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2069.outbound.protection.outlook.com [40.107.223.69]) by imf20.hostedemail.com (Postfix) with ESMTP id 5ECB31C001F for ; Thu, 23 Jun 2022 23:35:05 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LaCMSteUdZxgVhcU/NNQgJlNvMQPT2LQ1wXuQRz4Nt5Z1E3smooBBhhpYf9MG+qtXoC2IGfwykvFCVULEb4CnE6WvMTkMIAVxm4tn2THp6C2jceOvoQoJ/mTRwREeS6lmCdKLjmK3iNVmD1n25IUZMzLQBA7fEXpZt5Nrkoa7YFTjIHWGRr+Y8NTeyMA7HxOeY6PRFE4aNow/UBSr1z7Imyx0yODI7Rv+D3vQQlJ+Ijgadyqw5g9ACnQh/ZFZX5+9vObgpkFaHQmBj354HcO3eo8HgrjiNCPs6lHMavgKAc+JJj9MaB0705rOxoUq4MjwqEEFYGkHZEEozemD5pH0g== 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=mxEQ2nZi+nusZRuJt8+ZRdCsnAco0zz+WQZ4EiNbV3w=; b=bwUteyQ9i+ViN7jNGFM+iVjdZF//ClGTkWVocqhK8VfascJHyQTho3ax7aCYgqUYHBWHMpufZiBvqnPHYSaM41iq8PO0KGbNof0nRMNvDWkjOC/Crd/DpMeekiCtR9Y1Guu+f2EpW1XIHhmXgSEvpYDbnd/YFpbYFiPVXzJZfsr5CfQrbROgExZA+QH2U/Usup4w8mkZOzwZH/5/2IatcOd4p21syhWaTdTZakm6cMGdL0jRvjLGdHL7o56nu9DrffsCVKQGmzzFHf9kwy7S4wwB5+tVGgr3EIO8647+u43/eHRNLK2uQ03uWPZaBqoMae8/dYboHNReuHvg0uZ2rA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mxEQ2nZi+nusZRuJt8+ZRdCsnAco0zz+WQZ4EiNbV3w=; b=NDHGoo5AcPB1Mg6jEz8mqBe3OGE/8kE/cbHb43C1ZtBOSwE9mp/xoBrAItsU89yw/cjQCCGSoZFTAUQGA6+npQ7+gASkuGjqpiGhVr8kbLaIfBV7jbKGAPLJNGiCKFaMLG4nbkL0Q8o3jxrY9BVZ4IqOx2Yusi2/qdPtw5Gh01U= Received: from BY3PR05MB8531.namprd05.prod.outlook.com (2603:10b6:a03:3ce::6) by PH7PR05MB9081.namprd05.prod.outlook.com (2603:10b6:510:212::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.11; Thu, 23 Jun 2022 23:35:01 +0000 Received: from BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::a4f8:718a:b2a0:977f]) by BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::a4f8:718a:b2a0:977f%5]) with mapi id 15.20.5373.016; Thu, 23 Jun 2022 23:35:00 +0000 From: Nadav Amit To: Peter Xu CC: Linux MM , Mike Kravetz , Hugh Dickins , Andrew Morton , Axel Rasmussen , David Hildenbrand , Mike Rapoport Subject: Re: [PATCH v1 2/5] userfaultfd: introduce access-likely mode for common operations Thread-Topic: [PATCH v1 2/5] userfaultfd: introduce access-likely mode for common operations Thread-Index: AQHYhqiRUk3vhOHs90CD+bXeUTpwQa1do3aAgAAC7YA= Date: Thu, 23 Jun 2022 23:35:00 +0000 Message-ID: References: <20220622185038.71740-1-namit@vmware.com> <20220622185038.71740-3-namit@vmware.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.100.31) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5ae7bc1a-59ec-48fc-79bd-08da5570fdca x-ms-traffictypediagnostic: PH7PR05MB9081:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: whIu5yqesb5milz9SCrhWutsQl2/gEcNpv6XVFp4+cq5BEppJYx1vXeRLY4Jxx32+sDEz/QiFk7Lc4G8VBD9XDSv3J7/cap+q3mGu7n/fLNR5lgxVcWPtX0ZSCmO8114loxtncIYcr010m1Oord1dswfsLorywQWAYyQjR58dgQREZ5rvLG9W9t12PmHfzJGKmF28oDLKNl4PESN0oyxSDPRx6rC6P/jmbpdQuf4K8cOd1QahClwfb9ATEwGOr05Vmy0PkT2OK0iKtX71cLbdOdWhhzBiqFUc0ArtjWx9naW8MZxLGWre2DLRLeGkyyeKFwD5OzT34oFLhhdPPseMAsrWY6OP43O+Sdfvb7aT2SldyFv1dsr1DVvJ2uqmItpm9B6cswjq/x0tAPNTwFaxDjSjl+sMs4LVH5xljSNyruQj6rX1JZwJjEQ2zgwrOvgPE1ZKCygdQFGbSUXzUH61zG/HwROkAnejAY+Hi9dZC7JFez/fXqVVFvmF596rHl7lMv5+wn7/XT5Dvjv2CwF0cSM6TVlLe2ccQYj+uqNRocdshy+J95ov3NTSIjvXDPEHCXVBvS/gGOLDpJtQeHvy6jOpxHwmXZvxeu+CD2pbcLzSBZqcAxrGnf+u5mnrcmhUDZ8uG4i07jmc9MsSLj8uwTVSo9f2/w98AcDscB92ITDsEM119tCMxGaxiha7/X9quy4ZsLNoMOwkbLBhZJcc+d/2nAp3ciMM5B7SpqBjd4nPyAN2KoMq1EIk195qtAMhV0JORgXakpgo8Yn8pJbAft2Zp52s1xFwz6N1h/M70HdHKzhq5LbZAocikqz0rE0t1nzq/oOC+bY3U9PMx8vwQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY3PR05MB8531.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(366004)(376002)(136003)(39860400002)(396003)(6916009)(54906003)(41300700001)(86362001)(316002)(8676002)(186003)(66446008)(2616005)(66946007)(122000001)(478600001)(6506007)(64756008)(66476007)(8936002)(26005)(5660300002)(53546011)(71200400001)(6486002)(6512007)(38070700005)(66556008)(4326008)(36756003)(76116006)(2906002)(33656002)(83380400001)(38100700002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NkxSLzlZMzlXWVQ4Z2ZFdnVsbUdXelBwaWRmSFBRaUhJaHhoMHZHdFA4N2M4?= =?utf-8?B?NWYrYkZlVzdLemdxVWExSFZPcXJ4MDRvSXVGaUY3S1NYZDcyeG4yNTI2V2gy?= =?utf-8?B?c01oajhpSWVIZTRrS0JlMTVvaHZRRFlRZEJoNnZTSkVqMVovdkdvOGpYNGZt?= =?utf-8?B?d2ltRW00N2p3L2pMbGlmWHV2QkFoL1JCN3FkSU5GTUxnM1ZEMWY0SUZHeXpl?= =?utf-8?B?U1QvbHNMRDFTKzgzR3hUM1RzMXZ4ZWxVUHM3ZU9qKzdVeThjQkE1ZTczSTZu?= =?utf-8?B?S05HQiswd0pscXI0RUhpNXQ0Q2ZSU2gxNkpVbGVFSWx6TUlwUEo0WlNQcm9h?= =?utf-8?B?SVRUTm1SZUFHTTIyZEIyM2pjY0N3Z2wzNk1GQ1hqQVhXYTVVczM3cUVySVRV?= =?utf-8?B?aXhkV25pTHhucDF2SXVNOVRJcThRYVVvaFdxVC9GaUR6Y1lqTlU0S3JuR3B3?= =?utf-8?B?OXpaTm1UbVJJQnZKaVB1WllZME9pT3NkSW5jUDJ6K0FhUHlReHQ5MzVtQXdy?= =?utf-8?B?N1dkYVMybkhNSW9VTlBDVFJabXljRlplVlc2KzBEaGNpRTN2OTI3Zm00dmY3?= =?utf-8?B?SDgwYkJBUlJwSUxpOGM1NHp5WHJqY0VvM3hRSHdyTlpGWUZzUXI1bjNWT1RP?= =?utf-8?B?eVdTTCtGR3BrdHFmWnFFOVNhL2FJVTE2Ump0VHlOYUpRV05vTFJEQUI5YnZu?= =?utf-8?B?TjU5dnBoSmZvTGVwTkhIWW9WSjduK1hNbEhLem5xWWVxYkVmaHRTOE9BeGFt?= =?utf-8?B?SWpqNnpPRDZEQ24vejFUekRFcVRwaS9ncFJ4K0FGdVErUEtYcHJWbXNBVENP?= =?utf-8?B?UE1ueldkUWVoUWNvMXYzRHJwdzhvZFVNTFVTSGc5K1VZTENZNXJBd3k2WVpK?= =?utf-8?B?S0psMmZ6ZG9ZQTU5ZFVHdWU1NWJMKzkzaE9TZTF1blhHVW5FUXg3WmZnMmd5?= =?utf-8?B?bytlSjc2WUZtN3VPZUpmdjNIZ1JLVDl6dTVlMXFNaDEybnNkQ2k4UVJSRkJP?= =?utf-8?B?eHRwTHJieERiYVpGaWg1QVdSMW1LR2NteEJlaXhGT0hGYStqUGpCWWthNTc5?= =?utf-8?B?VGVyaEpRL1pIc0xsdWpqZnJuVXI1NjJyakljcEhEZ09BWm5OdkcweWRrNWNx?= =?utf-8?B?QTBnbmNLc0JxaXlxZXlRdndoVnNDMkM5MTB0VE0zenRJRWZWcFIwOFR4aEpy?= =?utf-8?B?TnpNeUk0TzJyZUl0ZVZUVGdpVFQrVFowZ3htQjlWOWdhbDg4eDU0eXVnVC9x?= =?utf-8?B?bFVZcW44d1hUWTUzbm9zVGRvRHZqWUFJdFQ4VzRoNHkxV2JuZEFHMXBOOEI1?= =?utf-8?B?SzlPYktLb3g1M29yMjBMbGpLNXhoUTFMNE15MGI3ZVlLZ1JtVTQ4M2ZjQ0dP?= =?utf-8?B?M2RJU3FPTVNJdXc0U0htdkpERFhSeTVkNzdEY29BTTJLUGVFR3R1eHl6SzNV?= =?utf-8?B?M3FvWnlMSEJxWmlMNTU4ZmtXOTVNUUFkQzk1QS91enB3QmNNRVQwRjM4VXVn?= =?utf-8?B?eUtlZTRjRHVNaDNnL2lkN1A1T1piaVJ2bWVpRjlQTWRjOHlZdkVkd0VzV1hW?= =?utf-8?B?S2swOFlMeGMvU1l6NERjK2JoMkJJZkd2eWRHbWhxRVBRcEQrWGw4M280S3Yy?= =?utf-8?B?SjBZNE5LZS94VjhxM1htWjgzaHFLL29GRnlkd0Qzb3lqVUM3dVZJbmxLUGxa?= =?utf-8?B?c0h2VENsSmhEbnJuSGVQcTA2N1NKZHVwRkgwaFRJM0Jkd1Z4R1VTbnI0Rzgx?= =?utf-8?B?cUIrSFRhWHRPK0w5N29TV0NPVCtwRGRPL0ptQnJLWXNDUDhjNUhlaGRXK2NY?= =?utf-8?B?Q1VTZ3hBb05hZVFBR2ZmT0dlbWVMUncyZlNFeVE3ZjJ3bWhEaHJIQlQyL0po?= =?utf-8?B?Mm1TTHEvcnRNaWJONDFxdDZLaGxSTUZrUHI3aTBydUNINFZtVUJJYXhMa0dX?= =?utf-8?B?TGgxbkhlVzYzNjJPN2dzRU1icGtEclZsWTNMMllYZEFYbnY2N1hXMFNHc0RC?= =?utf-8?B?N1FSOEdjMlprL2k2bW94ejZxOFRXUzZ1Z25pc3VBZUY1L2gvZEd6cUFrVUUx?= =?utf-8?B?Vm9Ra0JKVHY4MDcwdzRmNmNVY0hQUXVHMjZxU3NGNnFWa1NqVU9xMTYvekRG?= =?utf-8?B?eFNwdDZhN2lOSkZYQmFoTC9GQ3M2cEZMNVB1Wllpbm9sNkx0NklyaG9YSEF5?= =?utf-8?B?UnI0Rm1hMEJsc2RjR1hUbjJIZTcxYnVrMkx4blBuUjJ6QXZRZFpKOEJjOUY2?= =?utf-8?B?dmYrSWR6T1owb2pwVzRyVWNXS01tWUlKZEljVDF2ZXJMOXFRcHp5OGNjMkFo?= =?utf-8?B?bjRIUmZuVk9uVmYvUmttOTZPQkZnVS8zc29KS1BxZ3l6bVp2M2NyUT09?= Content-Type: text/plain; charset="utf-8" Content-ID: <452B54CE2F8129479238FBB027325F76@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY3PR05MB8531.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ae7bc1a-59ec-48fc-79bd-08da5570fdca X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2022 23:35:00.8481 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XEEMvJSMC5BUanjvMoDxzHz3Wl0s+bpFxh7mxXhOpDY6JC9yUqEhICPrU/pG0yRN+dteChEVfPbiByBshpuz8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR05MB9081 ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=NDHGoo5A; dmarc=pass (policy=quarantine) header.from=vmware.com; spf=none (imf20.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.223.69) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1656027305; 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=mxEQ2nZi+nusZRuJt8+ZRdCsnAco0zz+WQZ4EiNbV3w=; b=esx+3Erq4I24c9zwH8Ow77IBkBCWLWOeykczH8KIYEIp0LXIbYOm7ocGy16PYSqUGFu37z jxBUQc0u7ajAGrHfSIjLCw/XV/GPJX4bVaM5XGfboBOenz74iKknt0juR9fbWZdFG+Xx4B sYNHRblTzYmkz8t9+oVtWWLkmbDimqY= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1656027305; a=rsa-sha256; cv=pass; b=yGhw3swH5lLkXefE1qlWLPMMHAUT+I3o5NJYnlW0piX7Ju5biii1nD1QTbnE39aOuMPhqR XmTc/ZtWfUMVSAQw9v+RnPsoVxMqFEvsOwjCEjUwJzm5N1nQG0WIqr10gnUkYj94omTEv+ 3+dY/AAUIo2ft1tUc/BgpwMsYwNetO4= X-Stat-Signature: 9pxb55x4jromq1bi1an4991uu6p9ooss X-Rspamd-Queue-Id: 5ECB31C001F X-Rspam-User: Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=NDHGoo5A; dmarc=pass (policy=quarantine) header.from=vmware.com; spf=none (imf20.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.223.69) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspamd-Server: rspam12 X-HE-Tag: 1656027305-896183 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: T24gSnVuIDIzLCAyMDIyLCBhdCA0OjI0IFBNLCBQZXRlciBYdSA8cGV0ZXJ4QHJlZGhhdC5jb20+ IHdyb3RlOg0KDQo+IOKaoCBFeHRlcm5hbCBFbWFpbA0KPiANCj4gT24gV2VkLCBKdW4gMjIsIDIw MjIgYXQgMTE6NTA6MzVBTSAtMDcwMCwgTmFkYXYgQW1pdCB3cm90ZToNCj4+IEZyb206IE5hZGF2 IEFtaXQgPG5hbWl0QHZtd2FyZS5jb20+DQo+PiANCj4+IFVzaW5nIGEgUFRFIG9uIHg4NiB3aXRo IGNsZWFyZWQgYWNjZXNzLWJpdCAoYWthIHlvdW5nLWJpdCkNCj4+IHRha2VzIH42MDAgY3ljbGVz IG1vcmUgdGhhbiB3aGVuIHRoZSBhY2Nlc3MgYml0IGlzIHNldC4gQXQgdGhlIHNhbWUNCj4+IHRp bWUsIHNldHRpbmcgdGhlIGFjY2Vzcy1iaXQgZm9yIG1lbW9yeSB0aGF0IGlzIG5vdCB1c2VkIChl LmcuLA0KPj4gcHJlZmV0Y2hlZCkgY2FuIGludHJvZHVjZSBncmVhdGVyIG92ZXJoZWFkcywgYXMg dGhlIHByZWZldGNoZWQgbWVtb3J5IGlzDQo+PiByZWNsYWltZWQgbGF0ZXIgdGhhbiBpdCBzaG91 bGQgYmUuDQo+PiANCj4+IFVzZXJmYXVsdGZkIGN1cnJlbnRseSBkb2VzIG5vdCBzZXQgdGhlIGFj Y2Vzcy1iaXQgKGV4Y2x1ZGluZyB0aGUNCj4+IGh1Z2UtcGFnZXMgY2FzZSkuIEFyZ3VhYmx5LCBp dCBpcyBiZXN0IHRvIGxldCB0aGUgdXNlciBjb250cm9sIHdoZXRoZXINCj4+IHRoZSBhY2Nlc3Mg Yml0IHNob3VsZCBiZSBzZXQgb3Igbm90LiBUaGUgZXhwZWN0ZWQgdXNlIGlzIHRvIHJlcXVlc3QN Cj4+IHVzZXJmYXVsdGZkIHRvIHNldCB0aGUgYWNjZXNzLWJpdCB3aGVuIHRoZSBjb3B5L3dwIG9w ZXJhdGlvbiBpcyBkb25lIHRvDQo+PiByZXNvbHZlIGEgcGFnZS1mYXVsdCwgYW5kIG5vdCB0byBz ZXQgdGhlIGFjY2Vzcy1iaXQgd2hlbiB0aGUgbWVtb3J5IGlzDQo+PiBwcmVmZXRjaGVkLg0KPj4g DQo+PiBJbnRyb2R1Y2UgVUZGRElPX1tvcF1fQUNDRVNTX0xJS0VMWSB0byBlbmFibGUgdXNlcnNw YWNlIHRvIHJlcXVlc3QgdGhlDQo+PiB5b3VuZyBiaXQgdG8gYmUgc2V0Lg0KPj4gDQo+PiBDYzog TWlrZSBLcmF2ZXR6IDxtaWtlLmtyYXZldHpAb3JhY2xlLmNvbT4NCj4+IENjOiBIdWdoIERpY2tp bnMgPGh1Z2hkQGdvb2dsZS5jb20+DQo+PiBDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1m b3VuZGF0aW9uLm9yZz4NCj4+IENjOiBBeGVsIFJhc211c3NlbiA8YXhlbHJhc211c3NlbkBnb29n bGUuY29tPg0KPj4gQ2M6IFBldGVyIFh1IDxwZXRlcnhAcmVkaGF0LmNvbT4NCj4+IENjOiBEYXZp ZCBIaWxkZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT4NCj4+IENjOiBNaWtlIFJhcG9wb3J0IDxy cHB0QGxpbnV4LmlibS5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBOYWRhdiBBbWl0IDxuYW1pdEB2 bXdhcmUuY29tPg0KPiANCj4gSG1tLi4gaXMgdGhlIGh1Z2V0bGIgY29kZSBvdmVybG9va2VkIChm b3IgYm90aCBvZiB0aGUgaGludHMpLCBvciBtYXliZSBJDQo+IG1pc3NlZCBpdD8gRG8gd2UgbmVl ZCB0byBjb3ZlciB0aGVtIHRvbz8gVGhhbmtzLA0KDQpJIGRvIG5vdCBrbm93IHdoYXQgdGhlIHZh bHVlIG9mIG5vdCBzZXR0aW5nIHRoZSBQVEXigJlzIGFjY2Vzcy9kaXJ0eSB3aGVuIGl0DQpjb21l cyB0byBwZXJmb3JtYW5jZS4gVGhlIHBhZ2VzIHdvbuKAmXQgYmUgc3dhcHBlZCBvdXQsIGp1c3Qg YXMgeW91IHdyb3RlIGluDQp5b3VyIGNvbW1lbnQgaW4gaHVnZXRsYl9tY29weV9hdG9taWNfcHRl KCk6DQoNCiAgICAgICAgLyoNCiAgICAgICAgICogQWx3YXlzIG1hcmsgVUZGRElPX0NPUFkgcGFn ZSBkaXJ0eTsgbm90ZSB0aGF0IHRoaXMgbWF5IG5vdCBiZQ0KICAgICAgICAgKiBleHRyZW1lbHkg aW1wb3J0YW50IGZvciBodWdldGxiZnMgZm9yIG5vdyBzaW5jZSBzd2FwcGluZyBpcyBub3QNCiAg ICAgICAgICogc3VwcG9ydGVkLCBidXQgd2Ugc2hvdWxkIHN0aWxsIGJlIGNsZWFyIGluIHRoYXQg dGhpcyBwYWdlIGNhbm5vdCBiZQ0KICAgICAgICAgKiB0aHJvd24gYXdheSBhdCB3aWxsLCBldmVu IGlmIHdyaXRlIGJpdCBub3Qgc2V0Lg0KICAgICAgICAgKi8NCiAgICAgICAgX2RzdF9wdGUgPSBo dWdlX3B0ZV9ta2RpcnR5KF9kc3RfcHRlKTsNCiAgICAgICAgX2RzdF9wdGUgPSBwdGVfbWt5b3Vu ZyhfZHN0X3B0ZSk7DQoNCklmIHlvdSB3YW50IGZvciBjb25zaXN0ZW5jeS9yb2J1c3RuZXNzIG5v dCB0byBzZXQgZGlydHkgb24gcmVhZC1vbmx5DQplbnRyaWVzLCB0aGF04oCZcyBzb21ldGhpbmcg dGhhdCBJIGNhbiBkby4NCg0K