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 568AB41B9E; Wed, 1 Feb 2023 12:22:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 408C542D12; Wed, 1 Feb 2023 12:22:25 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2052.outbound.protection.outlook.com [40.107.94.52]) by mails.dpdk.org (Postfix) with ESMTP id 5B7CE42D0E for ; Wed, 1 Feb 2023 12:22:23 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GIIIdBhBZpt4aJDk6If/5AfhGlm9uqvLy51iRiwttvCRAXArxDEFW9Xi2LTjXF0o81AUaaSu2ovrNkZ3gIqN9ygA6GnT+gr9U0JrNo284iKM8eJL5IfR+5jw6uYY2naiqLXE47xwLv891nyEnMSBpL2hGV730zyHGFxV6LJ6DCJuxhUlG5t9jcPEV+NhNemFSiBk3cnfQHZuY4427qr7Yh1QfsuKG3pOXBQ2v4W6R2yojkXpyyGEMW+JUkgFk18zgAzyxKitdy/ESR0+ezCsy7DVaaCOQ7S7/Y7otM20tjA3YE1n0NmGrhbR8FHVJOSEO0cQPC1T59/6RdE1ZKjXdQ== 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=QOTZEEK46xNrKzSVfVIVGUQgpmlQ13Yjq5WkLDajczo=; b=M2cXrYxp6MZ2lveqbnzd6omN6h4MnDOvQpFJ+SLYb3HFUXIX7bk4YYiZUdeVT5nYrIP565LqWeO+lmU0BGWmm++jpLq1zGoUFhP8hiw20KurIayrfH8hIaqtaMa4afdtFOD+nNMCKHPmxyikssqOrJgwQjr3OJWg9zm1LJI+ak1WYA8QS2bQaXKmB6y2ut5gP1tznbTlgQ8N65g6COXcNeWPdAnVDQcdoWycjUUZhR4c2D56DeA8+QrLWmVTGNaK4QqiJfOsUtDgqyMvApNOJvUE/qOCE9nN0mT7iY6RqGeDuiuD6T9baMk9OSsU4hvjK95cfsTOeXrRFYCqUP1bWw== 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=QOTZEEK46xNrKzSVfVIVGUQgpmlQ13Yjq5WkLDajczo=; b=AgchVcqsr9At2A9ivGdkrGKOrpCmHU7x1ymlwYLQPhwy02NoP8SMLnL7gdEYLCySVnxnIamk2W4HgAeRq0l6NbmSChTA7gmw4OteIV+/+QdozPbLAUtvI4uasqpdPgiKO426f7UGuNYRe02ybqHZsmXLuv5QYOgzgtaRJW9uOXYxc+PALKnKaFnaB+0X0yJ+VrQn9b3cSHn/1jboV42cb4ckkQ1GJwtpb8KFMok90i3Q2iL2sVm3GX7jEf8/XRi+91VqU6hk/g8SCq4QhsZYVWBN4htgCBv1oYTQW8x8+XzTrrVGC1kDu4L7pM9dRZ31ZxMhvtrH9gUj+g8XLALQ2w== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by DS7PR12MB5936.namprd12.prod.outlook.com (2603:10b6:8:7f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.23; Wed, 1 Feb 2023 11:22:18 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::6ba4:b9e8:d439:59e4]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::6ba4:b9e8:d439:59e4%4]) with mapi id 15.20.6043.036; Wed, 1 Feb 2023 11:22:18 +0000 From: Ori Kam To: Andrew Rybchenko , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ferruh Yigit CC: Rongwei Liu , Matan Azrad , Slava Ovsiienko , Aman Singh , Yuying Zhang , "dev@dpdk.org" , Raslan Darawsheh , "jerinj@marvell.com" Subject: RE: [PATCH v7] ethdev: add special flags when creating async transfer table Thread-Topic: [PATCH v7] ethdev: add special flags when creating async transfer table Thread-Index: AQHY+CCnxfrW4n46cUa7l6ctLqznmK6kLK+AgACULoCAFZu1AIAAC4eAgAADXgCAAACkEA== Date: Wed, 1 Feb 2023 11:22:17 +0000 Message-ID: References: <51e583ea-4446-fea5-af74-dfe75d37f05c@oktetlabs.ru> <13070250.ZYm5mLc6kN@thomas> <1339e012-0e6a-81dc-70e7-a08c51a23725@oktetlabs.ru> <5879621.alqRGMn8q6@thomas> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW2PR12MB4666:EE_|DS7PR12MB5936:EE_ x-ms-office365-filtering-correlation-id: 8a1fa5b4-c061-4422-1ec1-08db044693fa x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qkmVISuPNItuUnjwB8ZU0uH5a5O6YX/WG3TuSFZzy0i5nFYWQmt8xNUZ74ly3qyorN4IdZNLT3Ljo3bJ6qYMTKPdyOI6V6+LuGnaFM7uXrGxJaruQqosj5MD1nlmi1U/JNyXE9ddVZUnZorQb+jpyLPKBR8PUkonrp5t25/U06oN3FMgQt5uuZVFyYPTza0RTm83Ofw9vnSEoyeKSMWt23UDUWYd6xHx0c5Ypb8aoX6ObAUsWOxttqHSoh1aA05Ezn0ggUE+sxMUYS94ljuOY4D43D3hYAlSZV1enKgISLTNpyiVCfwGH7Y7j/wV6I1622leFzpF7hmBjzSgcOsZEwsWG9DuSrtrRE07zL1d6xL95yujWHPoKR8XfI56UH/AQOcr7tmUPsIzuhyIIJ2TKNZS3mXTzJouSz+pzO1JmNoOEQBV52dKebcoayU0vCc0rOgnnwLNGE/r9mk8DvjBehb2YOjqi5g6dvuuvfZ6KVq0W6u4ozS5lcfzDktNNubc3RK2B4VcdA2Km0t5U1ZdHM+Wg2T8wATAcj6s8XdFyv9OD4MKs+1E3L84HlkKJVkvoeYcL0U0MSDiUlow9ZdcZfHgoIQAS2mUOxmRaQvb1WQKjA7Mi+lY9Uo5D0h+USBaZxFPD/mIEti+IQKWC2s3ZcQeg/Y1D146dngvCpJ8SM/vXKwhugl5xi4A/GE4ER24vvYKXz13afOPYJQFA6K5/Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(136003)(396003)(346002)(39860400002)(366004)(376002)(451199018)(2906002)(33656002)(7696005)(110136005)(316002)(83380400001)(54906003)(71200400001)(186003)(26005)(478600001)(9686003)(6506007)(66556008)(53546011)(76116006)(66476007)(66946007)(66446008)(64756008)(4326008)(8936002)(5660300002)(38070700005)(55016003)(86362001)(52536014)(41300700001)(8676002)(122000001)(38100700002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T0Rta21ndjBLeUJ4TmZYOWsxNTYvOSttZWJ4cVJVRCtZdXN5Nm4rVGFRQkc4?= =?utf-8?B?V21qQ251M2hWTW0rVmNrK3pGSkY3RnptL0xzM1NFSFpCS2ttZzlSSjYrbWlX?= =?utf-8?B?MWduaVQ1anFqMUNZN0N4dks3RHk1OFlheTl4WjM2VnFDejBIOWpUWmpneVZS?= =?utf-8?B?ME5TZ29oN1FiWXZMaVdNTVVXUCt4dHcyWENaeW5IQXowVEdaNytJMlMwWUh3?= =?utf-8?B?UHZaeFAvTEhGVWxrekZpb2pOQ2k3aEltbUp2d3M2NUo1VWZ6dmVTSVM0cmVD?= =?utf-8?B?cTZpSVMvWEY0dDFFcTFVRXlDK3RKaEVOUWhRRGpiam11VC9SWjRDMk1GSHdF?= =?utf-8?B?dXczVTFWZmZGRHJiR0w3RWg2RFN1Nko3R1lneXNqTERVeU1ndlZvaFoxYmsv?= =?utf-8?B?OXFkTnYrelRzMGJLVkJNNlBSeGpiOXprSEhKdnh0dHdsN3ZFTG1CSHRFUDk2?= =?utf-8?B?NHRyMEQzZzhLQmJ4R0M4TzFJbUJjRDBEcFZ1QUFrbjdtZUZpYzhWamJoTk9I?= =?utf-8?B?TmdKRjcrZ0ZDdXgwVGNPQk9zODd6aFlsQVNjK25NNTgyU3lFdDlJT3Zna1JX?= =?utf-8?B?ZkRpbDdhSGpqajIzSFgxekJLSjVCRjFxTjZkSVlMOVhOcWViZXJ5OHIxZ2pG?= =?utf-8?B?UlREa1lraEVzUU94eFdBbGZNekdFMkNTd2FOMlg1M05tSGNDV252dzBIbXB0?= =?utf-8?B?V1N1K2p2K0xyZXRhTS9iSTFZREdDcmh1bFRBTnc0cVV0SlhHMkNOeUp0TlI2?= =?utf-8?B?R1pUUFdqcVJ4RVJqK2lHYjNDT2JCSTBuTXB6dGVHYmhyQ3dWbmVkSEQ5bUIv?= =?utf-8?B?NlNPOHBlVlE5anNhcTA1dzVNenh2aXFuNlZlUXRhL0xtakFTVGtwODBibUtj?= =?utf-8?B?SUJ4b094dzRvKzhhUW56Z3JBK0RDaS9Mc2d1QUVUeUk3N1lWajNOejF0cGFM?= =?utf-8?B?Ly91bENESUhiR1hLQ3pFcENEcHVNWXZxZjB2Z2xWdWNIcVlxcEZDQmk3aFZB?= =?utf-8?B?UkhndHBQVmhVV09NOGQ5MUNjUnVheEhlWkU0Yndtc1lrOGZ0VlcxYTdXcVFF?= =?utf-8?B?ZlhZODZZTDBEVS9mYy9GSkQzZUYvdDErSksrNFhTR1RLQ2RIWmJIbW96bENB?= =?utf-8?B?SjlTS09jSjZyNU14WGczVVdDWE51V3hwS1hzSWFmN2ZFeVRQUHlyQUFZNno4?= =?utf-8?B?d1NDSGFDbEhRbCsxL0tWOW5DOXE1dXcyMVVMdnhOcHkzMk0vUFozekRiNEZw?= =?utf-8?B?QWJVYjVIcFRYamRoMm1RbStuY2w2UkZYdEI1NlViMkIxL3EyMWQ2NEpMc1hQ?= =?utf-8?B?NXNOQUlJUjNkMnlFMnRoSzNTMUxOQ0laWStDTlNFWlM0dzRiY3JpalhGSG1y?= =?utf-8?B?RVN1Y2IrMFJ2L3N0dEZDd09ac25WZjM5a2JKVUhnZ3dWcmpZb05DT0ZJNm42?= =?utf-8?B?dGlISks2TDVoVEFlN0psNVB0UkdNMXVqck5xWUpkRDFnTkZuNjZWL0RYTDRU?= =?utf-8?B?KzRZTnlGWU5mbFpZdm1LYXBTVmZLTExCRmxFZ2JRUzVmV0RmMStWSklYbW81?= =?utf-8?B?Y3NpVERNNlozeFArMTZQc3Mrb2NjaE9aTHIyc0ErRVpMNnJGbHZnRUdpSGF3?= =?utf-8?B?N2JHdHVVeFo4ckMySWtGSWVpU3BCODdBT2hEektzQ1lyd3djVVRIRXBVUW0w?= =?utf-8?B?NzVpN1RRYXZ6OGxvS3Y5aCtGNWM2U2I1bXpyWGZKdXQrTE1ZQW5YS1ZrMldh?= =?utf-8?B?RXBjRElaZkN2aTcwampPa25EMnljQzBXSDJRdXZkWk85dnZjTVpzVjZGSTg1?= =?utf-8?B?WUkrZWZOU2srODUxRmNVbXBTRDNWa2F2SDdLQWx0cWMwMjdSUE52ejc1ZE9u?= =?utf-8?B?NDB4ZkFsMjEvT0FpVFBxVFJUSXFvZm91L3dDSlI2dEFKOWpGelFBNE91NlYz?= =?utf-8?B?MDBCYUFSQU96Qk5BVG4yK2pPOExqbkJvKzYyYThCREhwVFhyM28rcXcxTE1j?= =?utf-8?B?aWptYzNlSjVZTEFHOURRejJLY1duZ0JlVkxvc2IxZHE5aG9yUHdRYWtLSVRh?= =?utf-8?B?aXpoSjV5QjZFUVBCVTVKd2pKaEFKbzl0NFRLMXRBbFhpbW1oTEJmTzNWYmxU?= =?utf-8?Q?BORjqr5le+T0nv3yokXyRY8Id?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a1fa5b4-c061-4422-1ec1-08db044693fa X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2023 11:22:17.9765 (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: c76oB+M60eJGTWilGz3wQVKw0oQ1fkwbMkqGTlIoUUxe+h2Xy1s43OP/XRs07N/LhGnsQnCnAVkYMe7CoYiDiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5936 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 SGkNCg0KUGxlYXNlIGFsc28gc2VlIG15IHByZXZpb3VzIG1haWwuDQoNCj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5r b0Bva3RldGxhYnMucnU+DQo+IFNlbnQ6IFdlZG5lc2RheSwgMSBGZWJydWFyeSAyMDIzIDEzOjEx DQo+IA0KPiBPbiAyLzEvMjMgMTM6NTgsIFRob21hcyBNb25qYWxvbiB3cm90ZToNCj4gPiAwMS8w Mi8yMDIzIDExOjE3LCBBbmRyZXcgUnliY2hlbmtvOg0KPiA+PiBPbiAxLzE4LzIzIDE5OjE4LCBU aG9tYXMgTW9uamFsb24gd3JvdGU6DQo+ID4+PiAxOC8wMS8yMDIzIDA4OjI4LCBBbmRyZXcgUnli Y2hlbmtvOg0KPiA+Pj4+IE9uIDExLzE0LzIyIDE0OjU5LCBSb25nd2VpIExpdSB3cm90ZToNCj4g Pj4+Pj4gSW4gY2FzZSBmbG93IHJ1bGVzIG1hdGNoIG9ubHkgb25lIGtpbmQgb2YgdHJhZmZpYyBp biBhIGZsb3cgdGFibGUsDQo+ID4+Pj4+IHRoZW4gb3B0aW1pemF0aW9uIGNhbiBiZSBkb25lIHZp YSBhbGxvY2F0aW9uIG9mIHRoaXMgdGFibGUuDQo+ID4+Pj4+IFN1Y2ggb3B0aW1pemF0aW9uIGlz IHBvc3NpYmxlIG9ubHkgaWYgdGhlIGFwcGxpY2F0aW9uIGdpdmVzIGEgaGludA0KPiA+Pj4+PiBh Ym91dCBpdHMgdXNhZ2Ugb2YgdGhlIHRhYmxlIGR1cmluZyBpbml0aWFsIGNvbmZpZ3VyYXRpb24u DQo+ID4+Pj4+DQo+ID4+Pj4+IFRoZSB0cmFuc2ZlciBkb21haW4gcnVsZXMgbWF5IHByb2Nlc3Mg dHJhZmZpYyBmcm9tIHdpcmUgb3IgdnBvcnQsDQo+ID4+Pj4+IHdoaWNoIG1heSBjb3JyZXNwb25k IHRvIHR3byBraW5kcyBvZiB1bmRlcmxheWVyIHJlc291cmNlcy4NCj4gPj4+Pj4gVGhhdCdzIHdo eSB0aGUgZmlyc3QgdHdvIGhpbnRzIGludHJvZHVjZWQgaW4gdGhpcyBwYXRjaCBhcmUgYWJvdXQN Cj4gPj4+Pj4gd2lyZSBhbmQgdnBvcnQgdHJhZmZpYyBzcGVjaWFsaXphdGlvbi4NCj4gPj4+Pj4g V2lyZSBtZWFucyB0cmFmZmljIGFycml2ZXMgZnJvbSB0aGUgdXBsaW5rIHBvcnQgd2hpbGUgdnBv cnQgbWVhbnMNCj4gPj4+Pj4gdHJhZmZpYyBpbml0aWF0ZWQgZnJvbSBWRi9TRi4NCj4gPj4+Pj4N Cj4gPj4+Pj4gVGhlcmUgYXJlIHR3byBwb3NzaWJsZSBhcHByb2FjaGVzIGZvciBwcm92aWRpbmcg dGhlIGhpbnRzLg0KPiA+Pj4+PiBVc2luZyBJUHY0IGFzIGFuIGV4YW1wbGU6DQo+ID4+Pj4+IDEu IFVzZSBwYXR0ZXJuIGl0ZW0gaW4gYm90aCB0ZW1wbGF0ZSB0YWJsZSBhbmQgZmxvdyBydWxlcy4N Cj4gPj4+Pj4NCj4gPj4+Pj4gICAgICAgcGF0dGVybl90ZW1wbGF0ZTogcGF0dGVybiBBTllfVlBP UlQgLyBldGggLyBpcHY0IGlzIDEuMS4xLjEgLyBlbmQNCj4gPj4+Pj4gICAgICAgYXN5bmMgZmxv dyBjcmVhdGU6IHBhdHRlcm4gQU5ZX1ZQT1JUIC8gZXRoIC8gaXB2NCBpcyAxLjEuMS4yIC8gZW5k DQo+ID4+Pj4+DQo+ID4+Pj4+ICAgICAgICJBTllfVlBPUlQiIG5lZWRzIHRvIGJlIHByZXNlbnQg aW4gZWFjaCBmbG93IHJ1bGUgZXZlbiBpZiBpdCdzDQo+ID4+Pj4+ICAgICAgIGp1c3QgYSBoaW50 LiBObyB2YWx1ZSB0byBtYXRjaCBiZWNhdXNlIG1hdGNoaW5nIGlzIGFscmVhZHkgZG9uZSBieQ0K PiA+Pj4+PiAgICAgICBJUHY0IGl0ZW0uDQo+ID4+Pj4+DQo+ID4+Pj4+IDIuIEFkZCBzcGVjaWFs IGZsYWdzIGludG8gdGFibGVfYXR0ci4NCj4gPj4+Pj4NCj4gPj4+Pj4gICAgICAgdGVtcGxhdGVf dGFibGUgMCBjcmVhdGUgdGFibGVfaWQgMCBncm91cCAxIHRyYW5zZmVyIHZwb3J0X29yaWcNCj4g Pj4+Pj4NCj4gPj4+Pj4gQXBwcm9hY2ggMSBuZWVkcyB0byBzcGVjaWZ5IHRoZSBwYXR0ZXJuIGlu IGVhY2ggZmxvdyBydWxlIHdoaWNoDQo+IHdhc3Rlcw0KPiA+Pj4+PiBtZW1vcnkgYW5kIGlzIG5v dCB1c2VyIGZyaWVuZGx5Lg0KPiA+Pj4+PiBUaGlzIHBhdGNoIHRha2VzIHRoZSAybmQgYXBwcm9h Y2ggYW5kIGludHJvZHVjZXMgb25lIG5ldyBtZW1iZXINCj4gPj4+Pj4gInNwZWNpYWxpemUiIGlu dG8gcnRlX2Zsb3dfdGFibGVfYXR0ciB0byBpbmRpY2F0ZSBwb3NzaWJsZSBmbG93IHRhYmxlDQo+ ID4+Pj4+IG9wdGltaXphdGlvbi4NCj4gPj4+Pg0KPiA+Pj4+IFRoZSBhYm92ZSBkZXNjcmlwdGlv biBpcyBtaXNsZWFkaW5nLiBJdCBhbHRlcm5hdGVzIG9wdGlvbnMgKDEpDQo+ID4+Pj4gYW5kICgy KSwgYnV0IGluIGZhY3QgKDIpIHJlcXVpcmVzICgxKSBhcyB3ZWxsLg0KPiA+Pj4NCj4gPj4+IFll cyB0aGUgYWJvdmUgZGVzY3JpcHRpb24gbWF5IGJlIG1pc2xlYWRpbmcNCj4gPj4+IGFuZCBpdCBz ZWVtcyB5b3UgYXJlIG1pc2xlYWRlZCA6KQ0KPiA+Pg0KPiA+PiBJdCBpcyBub3QgbXkgaW50ZW50 aW9uLiBJZiBpdCBpcyBvbmx5IG15IHByb2JsZW0sIEknbSBPSyB0bw0KPiA+PiBzdGVwIGJhY2su DQo+ID4NCj4gPiBJdCdzIE9LIHRvIGV4cGxhaW4gYW5kIGNoZWNrIGV2ZXJ5dGhpbmcgaXMgT0ss IG5vIHdvcnJpZXMuDQo+ID4gVGhhbmtzIGZvciByZXZpZXdpbmcuDQo+ID4NCj4gPj4+IEkgd2ls bCBleHBsYWluIGJlbG93IHdoeSB0aGUgb3B0aW9uICgyKSBkb2Vzbid0IHJlcXVpcmUgKDEpLg0K PiA+Pj4gSSB0aGluayB3ZSBzaG91bGQgYXBwbHkgdGhlIHNhbWUgZXhhbXBsZSB0byBib3RoIGNh c2VzIHRvIG1ha2UgaXQgY2xlYXI6DQo+ID4+Pg0KPiA+Pj4gMS4gVXNlIHBhdHRlcm4gaXRlbSBp biBib3RoIHRlbXBsYXRlIHRhYmxlIGFuZCBmbG93IHJ1bGVzOg0KPiA+Pj4NCj4gPj4+ICAgICAg dGVtcGxhdGUgdGFibGUgMyA9IHRyYW5zZmVyIHBhdHRlcm4gQU5ZX1ZQT1JUIC8gZXRoIC8gaXB2 NCBzcmMgaXMNCj4gMjU1LjI1NS4yNTUuMjU1IC8gZW5kDQo+ID4+PiAgICAgIGZsb3cgcnVsZSA9 IHRlbXBsYXRlX3RhYmxlIDMgcGF0dGVybiBBTllfVlBPUlQgLyBldGggLyBpcHY0IHNyYyBpcw0K PiAxLjEuMS4xIC8gZW5kDQo+ID4+Pg0KPiA+Pj4gICAgICBUaGUgcGF0dGVybiB0ZW1wbGF0ZSAz IHdpbGwgYmUgdXNlZCBvbmx5IHRvIG1hdGNoIGZsb3dzIGNvbWluZyBmcm9tDQo+IHZwb3J0cy4N Cj4gPj4+ICAgICAgQU5ZX1ZQT1JUIG5lZWRzIHRvIGJlIHByZXNlbnQgaW4gZWFjaCBmbG93IHJ1 bGUuDQo+ID4+DQo+ID4+IEl0IGxvb2tzIGxpa2UgSSBsb3N0IHNvbWV0aGluZyBoZXJlLiBXaHkg ZG8gd2UgbmVlZCB0byBzcGVjaWZ5DQo+ID4+IGl0IGluIGVhY2ggZmxvdyBydWxlIGlmIHRoZSBt YXRjaGluZyBpcyBhbHJlYWR5IGZpeGVkIGluDQo+ID4+IHRlbXBsYXRlIHRhYmxlPw0KPiA+DQo+ ID4gSSB0aGluayB0aGF0J3MgaG93IHRlbXBsYXRlIHRhYmxlcyBhcmUgZGVzaWduZWQuDQo+ID4g T3JpLCBwbGVhc2UgY291bGQgeW91IHBvaW50IHVzIHRvIHRoZSByZWxldmFudCBkb2N1bWVudGF0 aW9uPw0KPiA+DQo+ID4+PiAgICAgIEFOWV9WUE9SVCBtYXRjaGluZyBpcyByZWR1bmRhbnQgd2l0 aCBJUCBzcmMgMS4xLjEuMSBiZWNhdXNlDQo+ID4+PiAgICAgIHRoZSB1c2VyIGtub3dzIDEuMS4x LjEgaXMgdGhlIElQIG9mIGEgdnBvcnQuDQo+ID4+DQo+ID4+IFdoYXQgc2hvdWxkIGhhcHBlbiBp ZiBhIHBhY2tldCB3aXRoIHNyYyBJUCAxLjEuMS4xIGNvbWVzIGZyb20NCj4gPj4gdGhlIHdpcmU/ IEFsbW9zdCBhbnl0aGluZyBjb3VsZCBjb21lIGZyb20gbmV0d29yay4NCj4gPg0KPiA+IEl0IGEg cGFja2V0IGNvbWVzIGZyb20gYSB3aXJlZCBwb3J0IEFORA0KPiA+IHRoZSBQTUQgZGlkIGFuIG9w dGltaXphdGlvbiBiYXNlZCBvbiB0aGlzIGhpbnQsDQo+ID4gdGhlbiB0aGUgcGFja2V0IGNvdWxk IGJlIG5vdCBtYXRjaGVkLg0KPiANCj4gU28sIHRoZSBoaW50IGNoYW5nZXMgbWF0Y2hpbmcgcmVz dWx0cyBhbmQgdGhlcmVmb3JlIGJlY29tZXMNCj4gYSBzdHJhbmdlIChleHRyYSkgbWF0Y2hpbmcg Y3JpdGVyaWEgdW5kZXIgc3BlY2lmaWMNCj4gY2lyY3Vtc3RhbmNlLiBJdCBzb3VuZHMgYmFkLiBT bywgZ29vZCBhcHBsaWNhdGlvbiBtdXN0IHVzZQ0KPiByZWFsIChhbHdheXMpIG1hdGNoaW5nIGNy aXRlcmlhIHdoZW4gY29tcG9zaW5nIGZsb3cgcnVsZXMuDQo+IFNvLCBSVEUgZmxvdyBBUEkgc2hv dWxkIHByb3ZpZGUgYSB3YXkgdG8gd3JpdGUgYSBnb29kDQo+IGFwcGxpY2F0aW9uIHdpdGhvdXQg ZXh0cmEgcGFpbi4NCj4gVGhhdCdzIHdoeSBJJ20gc2F5aW5nIHRoYXQgKDIpIHJlcXVpcmVzICgx KSBhbnl3YXkuDQo+IA0KDQpJJ20gc29ycnkgSSBkb24ndCBzZWUgd2h5Lg0KDQpUaGlzIGZlYXR1 cmUgaXMgYWJvdXQgd2hlcmUgdG8gcGxhY2UgdGhlIHJ1bGUgaW4gdGhlIEhXLg0KVGhpcyBmZWF0 dXJlIGNhbiBiZSB1c2VmdWwgZm9yIGFueSBIVyB0aGF0IGFzIGRpZmZlcmVudCBwaXBlbGluZXMg Zm9yIGluZ3Jlc3MNCmFuZCBlZ3Jlc3MgdHJhZmZpYy4gSXQgY2FuIGJlIHVzZWQgdG8gc2F2ZSBy ZXNvdXJjZXMgb3IgaWYgc29tZSBhY3Rpb25zIGNhbiBiZSBkb25lDQpvbmx5IG9uIG9uZSBkaXJl Y3Rpb24gdGhlbiB0aGUgUE1EIGNhbiBhbGxvdyB0aGVtIGFuZCBub3QgYmxvY2sgdGhlIHRoaXMg cnVsZS4NCg0KDQo+IEl0IGRvZXMgbm90IHNheSB0aGF0IGhpbnQgaXMgbm90IHJlcXVpcmVkIGF0 IGFsbC4NCj4gSXQgaXMgc3RpbGwgdXNlZnVsIGZvciByZXNvdXJjZXMgdXNhZ2Ugb3B0aW1pemF0 aW9uIGlmDQo+IGFwcGxpY2F0aW9uIGtub3dzIGhvdyBpdCBpcyBnb2luZyB0byB1c2UgcGFydGlj dWxhciB0YWJsZS4NCj4gDQoNClNvIHdlIGFncmVlIHRoYXQgdGhlIGhpbnQgaXMgZ29vZD8NCg0K DQoNCj4gPg0KPiA+Pj4gMi4gQWRkIHNwZWNpYWxpemF0aW9uIGZsYWcgaW50byB0ZW1wbGF0ZSB0 YWJsZSBhdHRyaWJ1dGU6DQo+ID4+Pg0KPiA+Pj4gICAgICB0ZW1wbGF0ZSB0YWJsZSAzID0gdHJh bnNmZXIgVlBPUlRfT1JJRyBwYXR0ZXJuIGV0aCAvIGlwdjQgc3JjIGlzDQo+IDI1NS4yNTUuMjU1 LjI1NSAvIGVuZA0KPiA+Pj4gICAgICBmbG93IHJ1bGUgPSB0ZW1wbGF0ZV90YWJsZSAzIHBhdHRl cm4gZXRoIC8gaXB2NCBzcmMgaXMgMS4xLjEuMSAvIGVuZA0KPiA+Pj4NCj4gPj4+ICAgICAgVGhl IHBhdHRlcm4gdGVtcGxhdGUgMyBjYW4gYmUgdXNlZCBvbmx5IHRvIG1hdGNoIGZsb3dzIGNvbWlu ZyBmcm9tDQo+IHZwb3J0cy4NCj4gPj4NCj4gPj4gSW4gdGhpcyBjYXNlIGl0IGlzIGludGVyZXN0 aW5nIGhvdyBpdCB3aWxsIGJlaGF2ZSBvbjoNCj4gPj4gYSBOSUMgd2hpY2ggZG9lcyBub3Qgc3Vw cG9ydCBWUE9SVF9PUklHIGFuZCBqdXN0IGlnbm9yZXMgaXQNCj4gPg0KPiA+IElmIHRoZSBoaW50 IGlzIGlnbm9yZWQsIGFsbCBwYWNrZXRzIHdpbGwgaGl0IHRoZSBydWxlLg0KPiA+DQo+ID4+IFZT DQo+ID4+IGEgTklDIHdoaWNoIHN1cHBvcnQgVlBPUlRfT1JJRyBhbmQgdGFrZXMgaXQgaW50byBh Y2NvdW50Lg0KPiA+DQo+ID4gSWYgdGhlIGhpbnQgaXMgdGFrZW4gaW50byBhY2NvdW50LA0KPiA+ IGl0IGlzIHBvc3NpYmxlIHRoYXQgd2lyZSBwYWNrZXRzIGRvIG5vdCBoaXQgdGhpcyBydWxlLA0K PiA+IGJ1dCB3ZSBkb24ndCByZWFsbHkga25vdywgaXQgaXMgYW4gaW50ZXJuYWwgZHJpdmVyIG9w dGltaXphdGlvbi4NCj4gPg0KPiA+DQo+ID4+Pj4gKDIpIGlzIHNpbXBseSBkb25lIG9uIGRpZmZl cmVudCBsZXZlbCAtIG11Y2ggZWFybGllciwgYmVmb3JlDQo+ID4+Pj4gZmxvdyBydWxlcyBjcmVh dGlvbi4gU2luY2UgcmVzb3VyY2VzIGFsbG9jYXRpb24gaXMgYXNzdW1lZCB0bw0KPiA+Pj4+IGJl IGRvbmUgb24gdGFibGUgY3JlYXRpb24sIHdlIG5lZWQgdG8ga25vdyB0aGUgcHVycG9zZSBvZiB0 aGUNCj4gPj4+PiB0YWJsZSBpbiBhZHZhbmNlIHRvIG9wdGltaXplIHJlc291cmNlcyBhbGxvY2F0 aW9uLg0KPiA+Pj4NCj4gPj4+IEFjdHVhbGx5IGluIGJvdGggY2FzZXMgd2UgZ2V0IHRoZSBoaW50 IGF0IHRlbXBsYXRlIHRhYmxlIGNyZWF0aW9uLg0KPiA+Pj4gQnV0IGluIHNvbHV0aW9uIDIgd2Ug YXJlIG5vdCBjcmVhdGluZyBhIHJlZHVuZGFudCBwYXR0ZXJuIG1hdGNoaW5nLA0KPiA+Pj4gYW5k IHdlIGRvbid0IG5lZWQgdG8gY2hlY2sgaXQgaW4gZmxvdyBydWxlcywgc28gaXQgaXMgbW9yZSBl ZmZpY2llbnQuDQo+ID4+Pg0KPiA+Pj4+IFNpbmNlICgyKSBpcyAqbm90IGEgbWF0Y2hpbmcgY3Jp dGVyaWEqLCBidXQganVzdCBhIGhpbnQsICgxKQ0KPiA+Pj4+IGZsb3cgcnVsZXMgbXVzdCBoYXZl IG1hdGNoaW5nIGNyaXRlcmlhIGFueXdheS4NCj4gPj4+DQo+ID4+PiBObyB3ZSBkb24ndCBuZWVk IHRoZSBtYXRjaGluZyBjcml0ZXJpYSBBTllfVlBPUlQgd2l0aCBzb2x1dGlvbiAoMikNCj4gPj4+ IGJlY2F1c2Ugd2UgYXJlIGFscmVhZHkgbWF0Y2hpbmcgb24gYW4gSVAgc3JjIHdoaWNoIGlzIGEg dnBvcnQuDQo+ID4+Pg0KPiA+Pj4+PiArVGFibGUgQXR0cmlidXRlOiBTcGVjaWFsaXplDQo+ID4+ Pj4+ICteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4NCj4gPj4+Pj4gKw0KPiA+Pj4+PiArQXBw bGljYXRpb24gY2FuIGhlbHAgb3B0aW1pemluZyB1bmRlcmxheWVyIHJlc291cmNlcyBhbmQgaW5z ZXJ0aW9uDQo+IHJhdGUNCj4gPj4+Pj4gK2J5IHNwZWNpYWxpemluZyB0ZW1wbGF0ZSB0YWJsZS4N Cj4gPj4+Pj4gK1NwZWNpYWxpemF0aW9uIGlzIGRvbmUgYnkgcHJvdmlkaW5nIGhpbnRzDQo+ID4+ Pj4+ICtpbiB0aGUgdGVtcGxhdGUgdGFibGUgYXR0cmlidXRlIGBgc3BlY2lhbGl6ZWBgLg0KPiA+ Pj4+PiArDQo+ID4+Pj4+ICtUaGlzIGF0dHJpYnV0ZSBpcyBub3QgbWFuZGF0b3J5IGZvciBlYWNo IFBNRCB0byBpbXBsZW1lbnQuDQo+ID4+Pj4+ICtJZiBhIGhpbnQgaXMgbm90IHN1cHBvcnRlZCwg aXQgd2lsbCBiZSBzaWxlbnRseSBpZ25vcmVkLA0KPiA+Pj4+PiArYW5kIG5vIHNwZWNpYWwgb3B0 aW1pemF0aW9uIGlzIGRvbmUuDQo+ID4+Pj4+ICsNCj4gPj4+Pj4gK0lmIGEgdGFibGUgaXMgc3Bl Y2lhbGl6ZWQsIHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgbWFrZSBzdXJlIHRoZSBydWxlcw0KPiA+ Pj4+PiArY29tcGx5IHdpdGggdGhlIHRhYmxlIGF0dHJpYnV0ZS4NCj4gPj4+Pg0KPiA+Pj4+IElm IGEgdGFibGUgaXMgc3BlY2lhbGl6ZWQsIHRoZSBhcHBsaWNhdGlvbiBtdXN0IG1ha2Ugc3VyZSB0 aGF0DQo+ID4+Pj4gYWxsIGZsb3cgcnVsZXMgYWRkZWQgdG8gdGhlIHRhYmxlIGhhdmUgcGF0dGVy biB3aGljaCBpbXBsaWVzDQo+ID4+Pj4gY29ycmVzcG9uZGluZyBtYXRjaGluZyBjcml0ZXJpYS4g Rm9yIGV4YW1wbGUgaWYgYSB0YWJsZSBpcw0KPiA+Pj4+IHNwZWNpYWxpemVkIHRvIGJlIHdpcmUt b3JpZ2luIG9ubHksIHBhdHRlcm4gc2hvdWxkIGhhdmUNCj4gPj4+PiByZXByZXNlbnRlZCBwb3J0 IGl0ZW0gd2l0aCBldGhkZXYgd2hpY2ggY29ycmVzcG9uZHMgdG8gYQ0KPiA+Pj4+IHBoeXNpY2Fs IHBvcnQgKG9yIGFueSBvdGhlciBpdGVtIHdoaWNoIG1hdGNoZXMgcGFja2V0cw0KPiA+Pj4+IGNv bWluZyBmcm9tIHdpcmUgb25seSkuDQo+ID4+Pg0KPiA+Pj4gTm8gbmVlZCBvZiBhIG1hdGNoaW5n IGNyaXRlcmlhIHN0cmljdGx5IG1hcHBpbmcgdGhlIGhpbnQuDQo+ID4+PiBIZXJlIHRoZSBoaW50 IGlzIFNQRUNJQUxJWkVfVFJBTlNGRVJfVlBPUlRfT1JJRw0KPiA+Pj4gYW5kIHRoZSBydWxlcyBj YW4gbWF0Y2ggb24gYW4gSVAgc3JjIHdoaWNoIGlzIGFzc2lnbmVkIHRvIGEgdnBvcnQuDQo+ID4+ PiBTbyB0aGVyZSBpcyBubyBuZWVkIHRvIHN0cmljdGx5IG1hdGNoIHRoZSB2cG9ydCBpdHNlbGYg aW4gdGhlIHJ1bGUuDQo+ID4+DQo+ID4+IElmIHNvLCB0aGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBz YW1lIHJ1bGVzIHdpbGwgYmVoYXZlIGluIGEgZGlmZmVyZW50IHdheQ0KPiA+PiBvbiBkaWZmZXJl bnQgTklDcy4NCj4gPg0KPiA+IE5vdCBleGFjdGx5Lg0KPiA+IElmIHRoZSBhc3N1bXB0aW9uIG1h ZGUgYnkgdGhlIGFwcGxpY2F0aW9uIGlzIHdyb25nLA0KPiA+IHllcyB0aGVyZSBtYXkgYmUgc29t ZSBkaWZmZXJlbmNlcyBmb3IgdGhlIHVuZXhwZWN0ZWQgcGFja2V0cy4NCj4gPiBCdXQgaXQgd291 bGQgYmUgYSB1c2VyIG1pc3Rha2Ugc29tZXdoZXJlLg0KPiA+DQo+ID4gSW4gZ2VuZXJhbCwgYW4g YXBwbGljYXRpb24gc2hvdWxkIGhhdmUgdGhlIHNhbWUgZnVuY3Rpb25hbCByZXN1bHQsDQo+ID4g bm8gbWF0dGVyIHRoZSBoaW50IGlzIHVzZWQgb3Igbm90IGJ5IHRoZSBkcml2ZXIuDQo+ID4NCj4g Pj4+IEhvcGUgaXQgbWFrZSB0aGlua3MgY2xlYXIuDQo+ID4+PiBXZSBjYW4gaW1wcm92ZSB0aGUg Y29tbWl0IGxvZyBhcyBJIHdyb3RlIGFib3ZlLg0KPiA+DQo+ID4NCj4gPg0KDQo=