From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0498AA0C47; Tue, 12 Oct 2021 15:11:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 96A84410EF; Tue, 12 Oct 2021 15:11:49 +0200 (CEST) Received: from AZHDRRW-EX01.nvidia.com (azhdrrw-ex01.nvidia.com [20.51.104.162]) by mails.dpdk.org (Postfix) with ESMTP id 5575840E0F for ; Tue, 12 Oct 2021 15:11:48 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) by mxs.oss.nvidia.com (10.13.234.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.858.15; Tue, 12 Oct 2021 06:11:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iPAvVM5HyIS1jqLpSfI3qzcGvY0Q9V8GOHNIKLIvM4tRk9RnWZi1+2+ev3FigvuFxOVv0bEOgiC1FnpSnwbkr6riMrwbwTdTBBwrU5+3dcdxCojj3wQ6gmJWt8ziUGl5qS6YKNVxNlZS3IJ3dPXjFlXSaxkoYJKHmVJh1WsTrPf0AHfDfYov66CTUJDsJD1hsvdNOdwPxQAEUR+lOze/TJ1iHbUT6NCNMRACi197xIZJ0mkVGCg0jThrWy8useTssexvKMNU8ai3t3RjD1PyHdyLcwqaKRokOMWVB15XjJqTMG9GeRtI56/c1b8RRSmeVmikmXjxAXKAhtW9d24OCw== 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=MLuPVXMtggmAW+Qpvva2r+CE4dW73E7lMYpegUgEhl8=; b=HZlMYiLAA6OtdB0YCEQrePJlQjiQziK6BuRv31/6D0uNR39dgfJQUn0bjEnOwllLg7iZG1lharCk1GzQkQMf1WM5c6lToHXf4yq+ZTaHXyTWMmVMJRkk5yqL2Ccuzs4u6MlMK6rcOJVxphV3ol6rTEVq22kqsERQrKIEbRosu+2rLx06IEfq6wiPFWYqq5PBPM+U3ZB54K75e5ReXjA83aK7ZddUFkjqSAL8R+QP0suq4ihzuoahKbSVVNFDMplMNDHC6oFR2moQ7x5rj5zlYc+phwbitm/BQ+8fZgMsKDtc+uUlvV4Cr/KTusN+Hp5JgheF8PxuzZU367wsWk6s8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MLuPVXMtggmAW+Qpvva2r+CE4dW73E7lMYpegUgEhl8=; b=PX5eab4DJ+DQLpueZxFte29dRd3zfQjN29YHeGf7ZvrMJy6k9ia+aaS5d/dzmHHx3YSB4+LHDSilp7RHkxEXKqC312RflY/2ud5bvcAmlb8yXYPPvtfXGvRzYUU8u/LOIs6eGmLBCrmQsIy3Xu7/3u1sYw3JLlHcfqBt6hCKV9FCu0D5bDbS+vrLeoOSXeuJkT2stY5q8dDdHp1ptHeFFcgoCai/Nc0Q3yCw3cYguawvHe4pmB14Nn5M+0WzR5jsi7UdzTNGhquGyCgiCCgb8Chu+0leEDvDEUa48zJOju3XwB3gjYKr3n7nNL70T8dt+ZNZXprcxnU+cECQ92Fztw== Received: from CH0PR12MB5091.namprd12.prod.outlook.com (2603:10b6:610:be::10) by CH0PR12MB5156.namprd12.prod.outlook.com (2603:10b6:610:bb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.24; Tue, 12 Oct 2021 13:11:46 +0000 Received: from CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97]) by CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97%9]) with mapi id 15.20.4587.026; Tue, 12 Oct 2021 13:11:46 +0000 From: Dmitry Kozlyuk To: Andrew Rybchenko , "dev@dpdk.org" CC: NBU-Contact-Thomas Monjalon , Matan Azrad , Olivier Matz Thread-Topic: [PATCH v3 2/4] mempool: add non-IO flag Thread-Index: AQHXvzRUYXpPQwFCaEun9YXEttc86avPHg2wgAAz1oCAAABjAA== Date: Tue, 12 Oct 2021 13:11:46 +0000 Message-ID: References: <20210929145249.2176811-1-dkozlyuk@nvidia.com> <20211012000409.2751908-1-dkozlyuk@nvidia.com> <20211012000409.2751908-3-dkozlyuk@nvidia.com> <29302cf0-93d7-c425-85fb-5a18d0313143@oktetlabs.ru> In-Reply-To: <29302cf0-93d7-c425-85fb-5a18d0313143@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1860690c-4b4f-4e23-3601-08d98d81d800 x-ms-traffictypediagnostic: CH0PR12MB5156: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: i5cNwW3hR4GpsKJ/aJDGNkPa2od6icBmwobyh+ccDIyWm87PpVekueop7cqOBHPDN0D4TKMxIoFwG+YgTW1xqpopZYId4GKnaiNHdzX6vxjy3Stw2uTRGSIUOEOMS9J0g4Hh8YZD/t7zdctTlGbkL0VbE3FU/RzZMNHa3LIZwHeirqw4tG4E4AboQXmoGaTOYY/4YU+eVB//GYYzrgSB76Gq1+e61rUaZVYsn0ktipz9VMFDd5jYiKVzrDbowKcP2pGtO5i5OSmpqxgcBnZIY0bfa7I4jLzPSg4wxUm1TCKcalWw58Dyb9FgZZ7d/itioYh7qZAW2YJx0P3vYXDIAG4B+4jYTDX0YqkyOXd6iA9GO64cd0vhuGO4OitHO4kXHTnbfDAIkUCV1KCe32Iv8UJCLvknlhHklqnF+1T1f1Yt+nUWilnvEPzmzHDe6KZXU16WMQ+0eD3GVnBpNr8l6A35CSMmc+YVPo61J4Rod5PTJ6gUNyVd2zh2QzoIT9JhS8Y97m0rlyefooOiQXhx0epGDmEPgAXDO7jIwEDmchd1wYoN1iHtuI5fWmTRR+/sa7Uk9FuY2yaIs4GU65HA5WtdAigYjLsunPFlikNUCynmHJQiaDJ3pqyDHn6W9YTtQIY8c/jDM0OLCj3HHfqmbEhJXf0qe5aPVdEK7HdjQ6Shl7mmo7+/jowvtIM4CEJ1ql8W3kv/qFR2W9osUMnQXg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR12MB5091.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(52536014)(9686003)(7696005)(54906003)(316002)(55016002)(4326008)(110136005)(5660300002)(107886003)(8676002)(71200400001)(508600001)(8936002)(38100700002)(186003)(76116006)(26005)(6506007)(53546011)(86362001)(33656002)(83380400001)(2906002)(122000001)(38070700005)(66946007)(66446008)(64756008)(66556008)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V1pid0s1WXdQTFdndVNUdDlSQjZubmp2bHcyZWhndVFISTV2VEY4MUtyRHFm?= =?utf-8?B?amswWnZZL2IyY21wQ3JSL0o5U205a2VPOHFnaUNrQ1pROGRsc0FqNjhBVVcv?= =?utf-8?B?aWZRb3VXL1ZWeGpLS0RIL2lIUHZncjZCZjk1T041TkxzdlJPNTk3NTA0ZDN1?= =?utf-8?B?cjBOUWJCVG1nbjZodjRYci85Zjh4eng1YmdhNE1Qdk1QbDJTYzNCMGRJc0RF?= =?utf-8?B?THJVdEhSdUdIN2hWcjFuTTFnNzdQSS9YSXFvMkplb2Q2V1lPYUxPYXdHWlpU?= =?utf-8?B?Z1dVRmk1THhYaFhZcitWb05tZkpIQWhpL1pVVHV2bG9RMEpQUU9QYzdkS0F5?= =?utf-8?B?b1pDbktqeHE4TVRMU0ZYZlhRaEtyTThwT2UzQ2xrdFh3NXZINzliS0hkZktp?= =?utf-8?B?MzFLK0crQlhkUlBiUDREQ1laL0RCSDBQbjBnQTJ5YnBjS00xaE1sL3IwbkE4?= =?utf-8?B?M3UwNEJrWHJJZjdpK0pacFpoNUdTMCtMeHJtTWhvUFRsSUNBWFk2OURUQ0pz?= =?utf-8?B?b0ZpbkhDV3NOaWN6YWU3L2lqNjRWMUpvaUh0Wm1hb0RQa3NIVzhwd2dPWDRC?= =?utf-8?B?U0hBMDRBT0FpSHVuUnY3dEFoanJzczFvWlVrd1FZdmFuNXhaYkkrUmFQMXdk?= =?utf-8?B?VDVSWVVLU2pFaEM0YTVqNXk2VGxjc1JlSDJMTXBSdVgwczZKWmw0RkQvK1M1?= =?utf-8?B?K21hUkVNV0pVaytNa3ZTMmlwWm9uVVA5UkQxS2RZVlkrYTh4UjgzeWZvYWZw?= =?utf-8?B?ZlphRFp0a1BiRTNJa2Qwd2JyTkFjZ1hTVm5HNHgvNTlvNytSQzNPdUJzYXZC?= =?utf-8?B?U1NhMnlCTzdXZWx4MTk0a2VLR2Vua1I5VE42Z2F0bG1VQWRneTFETHJTclJO?= =?utf-8?B?WXN3R2duVTNrMDNpOVFFM1I0elliYnRsb1pFNUJzWTdaNTAwQXB5ZVNhc0Ey?= =?utf-8?B?d1pKbzZFWEkvQ1FIUWNoWHFHaDI1U01xdlNIY0x3enpRWHRuNUo1NGpTeFRi?= =?utf-8?B?VGZCZTYyNnNDamhGMWprUTJkSVdIYWV4aGxoOHZWaGxUbFRDV0htc01rTWRm?= =?utf-8?B?SHBqdmE2TklhVUFGUVFrSGFhWmFtbVI5NjM5bzc3OXpjSTlSc0VNdWtNc091?= =?utf-8?B?N252SWV2bmF1blVqQVV0a2tkVmpWNnl5VVh3WHZpVVlSaEVvNURnNFhrMC9Q?= =?utf-8?B?UE1mUjdPSUpkL3VucVVnL3hLTmxRdFdvNHp6L09DYjVISnZVeGxtRUYxR3Ja?= =?utf-8?B?emdyVTJ2bjJlTGJRQjh5R1VHbjNnSnhIeGw0WG5Pd1huYlNOYWZnNVB3b2F2?= =?utf-8?B?UW8xcUh6eGQ1Nk14ZHN3bjVkRjBFU1lXY21tZFVDWURRUFpnZmgrOVFnd09S?= =?utf-8?B?c1lBSjRKU2xUUGVYd0lwbFJPUHA2K1pLend4Sk9BQlhQbDlUbmRwSzVCUE5W?= =?utf-8?B?a3BDOTRuTzcxWXNzS1dWTjAwVHlZemVPN3RHV3NzVlNqbHp5Mm5Nbm04cUtE?= =?utf-8?B?T3QzWkk1cHNOSERKSUxDMGlyaVhhSzcrRWhBWDZ0YUl6OW9Ob01Kb2doNDBj?= =?utf-8?B?bnM1dmhOWGJ2eW54MmsvYmFyc0FjMFVaU0thcUJURTBZSyt5MW1nbHVYQnV3?= =?utf-8?B?VVJIaGZMdzhhcFBpcFBIblpmU2ZnRkVieU13ZGErWXhpemUzZ09MbzdNZE9p?= =?utf-8?B?NUtHenRkNEdLU2hVbW50RXRXbGFoMnRDUDlyZzNCTHFmcUU4alN4TGt0UlhU?= =?utf-8?Q?luSdzkhoIY4Zk8Hh4o=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5091.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1860690c-4b4f-4e23-3601-08d98d81d800 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2021 13:11:46.3009 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: lEAHng6107SrKHHu7nkH+MeQzd/mQ5V0X3HkvjwBcAUUwZsIZ9I3SXxgoX5y+9Wbr/0KrEEfOopTXE7K+VDTqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5156 Subject: Re: [dpdk-dev] [PATCH v3 2/4] mempool: add non-IO flag X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxh bmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gU2VudDogMTIg0L7QutGC0Y/QsdGA0Y8g MjAyMSDQsy4gMTU6NTMNCj4gVG86IERtaXRyeSBLb3pseXVrIDxka296bHl1a0BudmlkaWEuY29t PjsgZGV2QGRwZGsub3JnDQo+IENjOiBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gPHRob21h c0Btb25qYWxvbi5uZXQ+OyBNYXRhbiBBenJhZA0KPiA8bWF0YW5AbnZpZGlhLmNvbT47IE9saXZp ZXIgTWF0eiA8b2xpdmllci5tYXR6QDZ3aW5kLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2 MyAyLzRdIG1lbXBvb2w6IGFkZCBub24tSU8gZmxhZw0KPiANCj4gRXh0ZXJuYWwgZW1haWw6IFVz ZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4gDQo+IA0KPiBPbiAxMC8x Mi8yMSAzOjQwIFBNLCBEbWl0cnkgS296bHl1ayB3cm90ZToNCj4gPj4gWy4uLl0NCj4gPj4+ICsj ZGVmaW5lIE1FTVBPT0xfRl9OT05fSU8gICAgICAgICAweDAwNDAgLyoqPCBOb3QgdXNlZCBmb3Ig ZGV2aWNlIElPDQo+ID4+IChETUEpLiAqLw0KPiA+Pg0KPiA+PiBEb2Vzbid0IGl0IGltcGx5IE1F TVBPT0xfRl9OT19JT1ZBX0NPTlRJRz8NCj4gPg0KPiA+IExldCdzIGxlYXZlIHRoaXMgZXhwbGlj aXQuIE5PX0lPVkFfQ09ORklHIGNvdWxkIHJlc3VsdCBpbg0KPiBNRU1aT05FX0lPVkFfQ09OVElH IChhbHRob3VnaCBpdCBkb2Vzbid0IG5vdyksIHdoaWNoIGNhbiBhZmZlY3QgaG93DQo+IG1hbnkg cGFnZXMgYXJlIHVzZWQsIHdoaWNoIG1heSBhZmZlY3QgcGVyZm9ybWFuY2UgZHVlIHRvIFRMQiBj YWNoZXMuDQo+IA0KPiBJdCBzb3VuZHMgbGlrZSBhIHVzYWdlIG9mIGEgc2lkZSBlZmZlY3Qgb2Yg TUVNUE9PTF9GX05PX0lPVkFfQ09OVElHDQo+IGFic2VuY2UuIEl0IGRvZXMgbm90IHNvdW5kIGdv b2QuDQoNCkkgYWdyZWUsIGJ1dCBteSBwb2ludCBpcyB0aGF0IGJlaGF2aW9yIHNob3VsZCBub3Qg Y2hhbmdlIHdoZW4gc3BlY2lmeWluZyBhIGhpbnQgZmxhZy4NCk5PX0lPVkFfQ09OVElHICA9PiBO T05fSU8gaXMgZmVhc2libGUsIE5PTl9JTyA9PiBOT19JT1ZBX0NPTlRJRyBpcyBhZ2FpbnN0DQp0 aGUgZGVjbGFyZWQgTk9OX0lPIHByb3BlcnRpZXMuDQoNCj4gDQo+ID4NCj4gPj4gU2hvdWxkbid0 IGl0IHJlamVjdCBtZW1wb29sIHBvcHVsYXRpb24gd2l0aCBub3QgUlRFX0JBRF9JT1ZBIGlvdmEN Cj4gPj4gcGFyYW1ldGVyPw0KPiA+Pg0KPiA+PiBJIHNlZSB0aGF0IGl0IGlzIGp1c3QgYSBoaW50 LCBidXQganVzdCB0cnlpbmcgdG8gbWFrZSBmdWxsIHBpY3R1cmUgY29uc2lzdGVudC4NCj4gPj4N Cj4gPj4gQXMgdGhlIHNlY29uZCB0aG91Z2h0OiBpc24ndCBpb3ZhPT1SVEVfQkFEX0lPVkEgc3Vm ZmljaWVudCBhcyBhIGhpbnQ/DQo+ID4NCj4gPiAxLiBJdCBsb29rcyB0cnVlIHRoYXQgaWYgUlRF X0JBRF9JT1ZBIGlzIHVzZWQsIHdlIGNhbiBpbmZlciBpdCdzIGEgbm9uLUlPDQo+IG1lbXBvb2wu DQo+ID4gMi4gVGhlIG5ldyBmbGFnIGlzIG5lZWRlZCBvciBhdCBsZWFzdCBoYW5kbHksIGJlY2F1 c2Ugb3RoZXJ3aXNlIHRvIGNoZWNrIHRoaXMNCj4gcHJvcGVydHkgb2YgYSBtZW1wb29sLCBidXQg aG93PyBBbGxvY2F0aW5nIGEgdGVzdCBtYnVmIGlzIGRvYWJsZSBidXQgbG9va3MgbGlrZQ0KPiBh IGhhY2suIE9yIHdlIGNhbiBwYXNzIHRoaXMgaW5mb3JtYXRpb24gdG8gdGhlIGNhbGxiYWNrLCBj b21wbGljYXRpbmcgaXRzDQo+IHNpZ25hdHVyZS4gRG8geW91IHRoaW5rIGl0J3MgYmV0dGVyPw0K PiANCj4gbWVtcG9vbCBrbm93cyBpdCB3aGVuIHRoZSBtZW1wb29sIGlzIHBvcHVsYXRlZC4NCj4g U28sIGl0IGNhbiBqdXN0IHNldCB0aGUgZmxhZyBpdHNlbGYuDQoNCk9mIGNvdXJzZSwgSSdtIG9u bHkgYXJndWluZyB0aGF0IHRvIGFuYWx5emUgbWVtcG9vbCBwcm9wZXJ0aWVzIHRoaXMgZmxhZw0K aXMgbmVlZGVkLCBldmVuIGlmIHRoZSB1c2VyIGlzbid0IHN1cHBvc2VkIHRvIHNldCBpdCB0aGVt c2VsdmVzLg0KTG9va3MgbGlrZSB3ZSBhZ3JlZSBvbiB0aGlzIG9uZS4NCg0KPiA+IDMuIFRoZW9y ZXRpY2FsbHksIHVzZXIgbWF5IHdhbnQgdG8gdXNlIG1lbXBvb2xzIGZvciBvYmplY3RzIHRoYXQg YXJlIHVzZWQgZm9yDQo+IElPLCBidXQgbm90IHdpdGggRFBESy4gSW4gdGhpcyBjYXNlIElPVkEg d2lsbCBiZSB2YWxpZCwgYnV0IHRoZSBmbGFnIGNhbiBhbHNvIGJlDQo+IHNldC4NCj4gDQo+IEl0 IHNvdW5kcyB2ZXJ5IGFydGlmaWNpYWwuDQo+IEFsc28gaW4gdGhpcyBjYXNlIEkgZ3Vlc3MgTUVN UE9PTF9GX05PTl9JTyBzaG91bGQgYmUgY2xlYXIgYW55d2F5Lg0KDQpJIHNlZSBOT05fSU8gYXMg YSBoaW50IHRvIERQREsgY29tcG9uZW50cywgbm90IHN1cmUgYWJvdXQgbm9uLURQREsgb25lcy4N CkJ1dCBzaW5jZSB0aGVyZSBpc24ndCBhIHVzZSBjYXNlIGluZGVlZCwgdGhlIGZsYWcgZG9lc24n dCBuZWVkIHRvIGViIGV4cG9zZWQgbm93Lg0KDQpUbyBzdW1tYXJpemU6DQoxLiBNRU1QT09MX0Zf Tk9OX0lPIGlzIGNvbnNpZGVyZWQgaW50ZXJuYWwsIGxpa2UgTUVNUE9PTF9GX0NSRUFURUQuDQoy LiBJdCBpcyBzZXQgYXV0b21hdGljYWxseToNCmEpIGZvciBNRU1QT09MX0ZfTk9fSU9WQV9DT05U SUcgbWVtcG9vbHM7DQpiKSBpZiBSVEVfQkFEX0lPVkEgaXMgdXNlZCB0byBwb3B1bGF0ZS4NCkkg ZG91YnQgSElOVCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIG5hbWUsIGJlY2F1c2UgaXQncyBub3Qg YSBoaW50LCBpdCdzIGEgY29uY2x1c2lvbi4NCg==