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 8D44F43CE0; Mon, 18 Mar 2024 08:32:52 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1DD234027F; Mon, 18 Mar 2024 08:32:52 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id EA5274026E for ; Mon, 18 Mar 2024 08:32:50 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 42HMwHox011594; Mon, 18 Mar 2024 00:32:50 -0700 Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3wwaxgbwht-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 18 Mar 2024 00:32:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F+sdRuNqgxBwgH8nCzZn8jbyxKiAD8uAzkVkaimu0VLvCs2sHo7gmxpS4nR3VaefMtxzTo6miU9eTCEIJNA8DLltSiHmpQkLE0oeBxvWt5n1H5EXRS16jq6IAIrMrfkS05TKwhhaIOb8fucnA5OAe6/9krEr7dfIvhUWrZu+RqnZWxmrlgXLYtNu/OncKdl6NFWYBNR4GIY1lZo5f/65cdTUubWhf0pXjbHU4etC9cjQ0xoem2pT1bqdx17mSY/QYXpqRrbvxJgVWu5cUsf3SM8ppR8olo84VX8A9qCyP5YfWgaf+L2UMHmRZ3G9nZCf9lRaFg6SePfozfzsFr6Z9A== 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=6xo1q6E6JBeEYcoKQDlf2+5M9b6wsMPewyTyUt3qeaY=; b=CWzYFiqSWyk/e9vNWtOQcZFhd1CscO7ws/sGZM3cfg5iyE6K9TzPfOI6aC+6xz2pMR3SIU4EIFzDC+j2mucdshrixOFh/Wr934ZsTknwDP5WSWIRlnEBHInL5gKFuWHJubyg3+v+GwZRmB0Upt4CHEZjkvV+72QUlXfhrMxUCuQtXSXMQJshz4HvtdYuEvVr0rlEYxH5ypgFTT1oALp0sRbNRHti8l5wP+qGIbAdDAX27J/EpM0hwTNdmGtvl4KRtsUukXb+q4j6fYfUFfS3AEfT8z6IVPk+mLQyjiiGxtk/eRMPtSsjbmHDfgaIWQN/wv5m4+Zj0UqRqJRWocip9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6xo1q6E6JBeEYcoKQDlf2+5M9b6wsMPewyTyUt3qeaY=; b=VoTXj3WjDOyQIzUcPc+x0wR1xgvQNm1izxlbV3mhIr48z/+++tayAiin0btU4zpA0l7SL8GtVPzzVCJstH2JWhg40WwrGhk/YyoDN2s3PqcC2OFTz7xAJ93d1mbZwpqzQotnYqii0Nmxq3nmF6i8FT5NFhdP8BmDma/emjgg5+M= Received: from BY3PR18MB4705.namprd18.prod.outlook.com (2603:10b6:a03:3c8::12) by MN0PR18MB6016.namprd18.prod.outlook.com (2603:10b6:208:4cb::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.26; Mon, 18 Mar 2024 07:32:46 +0000 Received: from BY3PR18MB4705.namprd18.prod.outlook.com ([fe80::2fab:c15f:23b:4a79]) by BY3PR18MB4705.namprd18.prod.outlook.com ([fe80::2fab:c15f:23b:4a79%5]) with mapi id 15.20.7386.025; Mon, 18 Mar 2024 07:32:46 +0000 From: Gowrishankar Muthukrishnan To: Thomas Monjalon , fengchengwen CC: "dev@dpdk.org" , Anoob Joseph , Cheng Jiang , Kevin Laatz , Bruce Richardson , Pavan Nikhilesh Bhagavatula , Amit Prakash Shukla , Jerin Jacob Subject: RE: [EXTERNAL] Re: [v11 0/4] PCI Dev and SG copy support Thread-Topic: [EXTERNAL] Re: [v11 0/4] PCI Dev and SG copy support Thread-Index: AQHaaxX036wuftM1JUe9oqywqeuOLLErKNyAgAEtHoCAAAHusIAHjZeAgAAvWwCAAATYQIABP4iAgAAO2dCAA3XAgIAEV7YA Date: Mon, 18 Mar 2024 07:32:45 +0000 Message-ID: References: <20240227183555.3932711-1-amitprakashs@marvell.com> <1994240.8hb0ThOEGa@thomas> In-Reply-To: <1994240.8hb0ThOEGa@thomas> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BY3PR18MB4705:EE_|MN0PR18MB6016:EE_ x-ms-office365-filtering-correlation-id: 9950ccd0-55e8-4fe6-22cd-08dc471d9b08 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6aSAAxkomaknCZ8B2nP1eEEiEIOUNNF5LIsSG2+h41s6ayU0d3lIydYHASRID5wu010fc2SSatXmXEEYVgF0I+b86jMEqXY602I1do+4oUIF2gYN2QRpxCCWxpjmSoG3QInlzNZEHA6paI4AGqZng1mk0bg5a7SSVpDGg9ZO0DHrhkirp75uvgol36x6XnpD9mmghedyLFePQipK49cNWqtiTBM2DXyHK7e09H5XtaQNSTxsXMUIGUTedV6GMOxe6YZngH7pygkj55UbmNqku2o40Y19gdgclcrYDXxFhxeqOcWt2BqWVKlnfHTEbpKC/KG9Pb1f/XJHqkL0ZfJNZqAmO0vUGnE4F+JdOdqdxYK7lvkgrzZi+ZQoZ2AXXsHU259GECH0j+rsMSUZaz7oJR+ZD9xdYttjJTqha5bzfLi64GSxReEx0zwTruFox0TYhxQr4UhNHXuGbJbR314Py/VALtj9qJmGuhb4LSxXYaqFLOVRq2X5QidlCAK+7B7BPXJOny1isEoTLtk/5tr0K5iEuA43Y5Msltc0m3on5n9DN7agWvCBlxyiVbjNCrVjrA+FLLyWiwEtFEpL84Av+lEFopCzt69dEevbeDSJzR5ZixSoWxlYp5HGKEXP7LTlJ7pckhsuBo9H6C1wglrgzPGsdmvux4Ad9FGPvKm5tS5QKRiLp1nXcZ5Mp0wYkQOfVWr4/IrtSu4g2N0Xb5mj/A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY3PR18MB4705.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(1800799015)(366007)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RkQwNCtKQ0cvNkRXTHJ4bTd1TE9CUVpraEsxdmF3SFZLdnB6a2taSHlqK1Ew?= =?utf-8?B?OUxxZ3VQeityL1I4eFpadkY1ak04UUltQWJzZUN0SDd5S3J0UXNPVUZHT1M2?= =?utf-8?B?Z2xXcWFOK0tzUEg4MDQ5Q2RUejBVSnlXRWVkWlMvbE5zWWs4cGV2WVd3a1V2?= =?utf-8?B?NW9tK0t4OHJ3eld6b0xtZmhSNmNlNG8wRDlzS2ZhZUFWZ200TEZ3WHkxWS80?= =?utf-8?B?dW1FZEh6OW8rSlowWUdmdWd2aEFKdVVIZ1VDeldNTDRyS1NvL3VQY2wzZnZi?= =?utf-8?B?MURQMEF1cXJobzVtb0h4ZXdtUDFyOEdHQnFXZ0k3cFdCR1pEb3NYelJ5ZW9k?= =?utf-8?B?RlV3bFJhamQrd1JHVFR0Um41Tmd1dWNMMTVOa3VIRXplWjNGU0o3c3FPY1dx?= =?utf-8?B?RWIvaFpQb0Q1cmxoRVpDRkE0MklYcXhuN3ZCdXdvNTBDVkhRTFM3OWZUeGhL?= =?utf-8?B?U3BpTXJmbXN1Y0NoZkR2R012NGU2R1NIK1YrQ2NsaG1tVmtLd01sRnNPeE80?= =?utf-8?B?K29kTk1Ta29OVWRTV2UwNjRYaWlqc252WERCYXhwZ0p6UE5nRDRGaGdCNStK?= =?utf-8?B?YUhGU0k1bWZ3WmJYNEUzTkV1c3pwNG1XL1FBSGZ0TmF1SzJRVnVXcUtia240?= =?utf-8?B?YUk3YlkwSmlyMXRhNGlhQlluc1QrdWlRSWpzdTFXQzZLMFdhcjB4bDdldTQw?= =?utf-8?B?cnljS3lxcGdReWZkTENzVGVRMXorcVgraTl2VGVPUG1OT1RZdXFZTk5CbWNM?= =?utf-8?B?c3Erb3piVHdyWU9tbmRicVcxckEwVk40bnllOHE1MWQ0eWl2WmFHcGp5NTYz?= =?utf-8?B?eHRUdWFqU1VGaUVneDlIdU52amwzOGlyQTh6Q0kzZG1FejZxMzIwZWQrUm8v?= =?utf-8?B?WSsrMlFvc2lUR1ZrOUt4T05FSXluUGVvYmUzWWtzaXpPQThmazA2QTU1dmZG?= =?utf-8?B?VkpYQ1ZZdUdKdVI0b2ZvZWhESG1UbzBDcitVNGJySjhDQ2hPN2o2eXY0cjdC?= =?utf-8?B?aFB1a21wd2plYkUyZzdod1FvUWpwK0J5NUFTd2lxK0R2SzhqZUZXVlFDbmVQ?= =?utf-8?B?Z3BCR3dWM09EUGE4RUNiVUVvbmwxQkhvbnUzK2pyNytGcjBpSWxKbkJRUW9i?= =?utf-8?B?R1htU2RLRUZiRCt3VmpaT0JIbDdkUkdSZWtwbk1XSVNMVkg2RGlhL2pqN1Zw?= =?utf-8?B?aEVHY0VpTFN2elMxbHpZdi9RRzM1YkZ2bC9JeTVBRVY1a0VVZW8vTGNJYzJJ?= =?utf-8?B?ckhkRVVhZHZUS3pEdWpMbkhLY2M2UjFpSnQ2a2FTVE82eWlmSUZJR05WWXpS?= =?utf-8?B?VFFzcFpQSDRiSEh4N2owdUJxVjhPem5TakxBVzZTcEc3NHhtUXJsY1gxYjR1?= =?utf-8?B?TDZvWW1FRzJoaXBDbkZWK1hDblE5K09KVXJ6Nk9BWXdQcXUrY2hsMXR0bHk5?= =?utf-8?B?RUpJd05EeHVDZVN2UVA2TzdKdU9VMXBHQiszbEc5L3B6YmFNYUJoMkJnaWp3?= =?utf-8?B?WnY2NDNDQkxCcUlURlBoc0xUSXlMbjZXaXVYcE1SellQZE9lTmNZWUhYR1Zh?= =?utf-8?B?eCtyU2V6ak40VkpIRGlPdkhrSUlaMzI1NXVFSElEbkRtUDRPZllxNHB4T2d0?= =?utf-8?B?YkFuOXo0c1dFdjVkWXRDd0ExTW9YVUc4NWRMZk9nUkZzR0VwM1pNSlFsY3RE?= =?utf-8?B?VGlhL0Y3UjhjallFajJBZmY0SUlkUTdXMDlrMThOaEN1cTY2bmVrcGhHeXd2?= =?utf-8?B?ZElXb1BLaUxaeEF5OUFpNVZrbHlmVFV1SGdIVUpBWHJ5UER2MzVwK1NqSWV4?= =?utf-8?B?UERLZU91WjJjZVpObXZHMkw2SVo5TVdrb3RRTi9FUCtyS3gzRTdjQUNlY3dp?= =?utf-8?B?SlMrYXk2UzNsUVBxeXJPQ1BhY29MdHV6TE5NdU04TGJWdVZpYUNGNnMrMGtG?= =?utf-8?B?ODJvZWhyTW1vNjVYbWt3eHZwbTZ6NE1scWEySUVKTlJ3RGFiQVFqR3JnZWNO?= =?utf-8?B?VVZ5ekh6aTZyQnBYNmp4OElpUjFHMGNsNEgvMDBhUFdpbk0xNlpuekhOOU1i?= =?utf-8?B?eG8wdlZRNjF4UGN4bHR3Z0pwSkZYOFhKcFhnK2htZmtIYWV5VzhFZjQzRi8r?= =?utf-8?Q?HUMjxeUyeR5aULWLVT4B86nFM?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY3PR18MB4705.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9950ccd0-55e8-4fe6-22cd-08dc471d9b08 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2024 07:32:45.9875 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kEXaN4lxl4rz3J/5LoPKrUXQGlLCAr07aCJwBkdHSTcFDiE9wsejYKieqVXczJr3KC8qeUsV7SG7yLL2yeSUQ59XhwnH3XL6kKrGrIkc1as= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR18MB6016 X-Proofpoint-GUID: ajUFPZJ2Lk5tUcmn2k6rXRgozHjHOSne X-Proofpoint-ORIG-GUID: ajUFPZJ2Lk5tUcmn2k6rXRgozHjHOSne X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-17_12,2024-03-15_01,2023-05-22_02 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 SGkgVGhvbWFzIGFuZCBGZW5nY2hlbmd3ZW4sDQoNCj4gDQo+IDEzLzAzLzIwMjQgMDk6MjIsIEdv d3Jpc2hhbmthciBNdXRodWtyaXNobmFuOg0KPiA+IEhpIEZlbmdjaGVuZ3dlbg0KPiA+DQo+ID4g PiBIaSBHb3dyaXNoYW5rYXIsDQo+ID4gPg0KPiA+ID4gT24gMjAyNC8zLzEyIDIwOjI0LCBHb3dy aXNoYW5rYXIgTXV0aHVrcmlzaG5hbiB3cm90ZToNCj4gPiA+ID4gSGkgRmVuZ2NoZW5nd2VuDQo+ ID4gPiA+DQo+ID4gPiA+Pg0KPiA+ID4gPj4gSGkgVGhvbWFzLA0KPiA+ID4gPj4NCj4gPiA+ID4+ IE9uIDIwMjQvMy8xMiAxNzoxNSwgVGhvbWFzIE1vbmphbG9uIHdyb3RlOg0KPiA+ID4gPj4+IDA3 LzAzLzIwMjQgMTQ6NTUsIEdvd3Jpc2hhbmthciBNdXRodWtyaXNobmFuOg0KPiA+ID4gPj4+PiBI aSBGZW5nY2hlbmd3ZW4sDQo+ID4gPiA+Pj4+DQo+ID4gPiA+Pj4+Pj4gV2FpdGluZyBmb3IgYSBj b25maXJtYXRpb24gdGhhdCB0aGlzIHNlcmllcyBpcyBnb29kIHRvIGdvLg0KPiA+ID4gPj4+Pj4N Cj4gPiA+ID4+Pj4+IEluIHRoZSBkaXNjdXNzIG9mIHRocmVhZCBbMV0sIEkgaG9wZSB0aGlzIHBh dGNoc2V0IGNvbnRpbnVlDQo+ID4gPiA+Pj4+PiB0YWtlIGEgc3RlcCBmb3J3YXJkIChtZWFucyBu ZXcgdmVyc2lvbikgdG8gc3VwcG9ydA0KPiA+ID4gPj4+Pj4gYmktZGlyZWN0aW9uIHRlc3QganVz dCBieQ0KPiA+ID4gPj4gbW9kaWZ5IGNvbmZpZy5pbmkgZmlsZS4NCj4gPiA+ID4+Pj4+DQo+ID4g PiA+Pj4+DQo+ID4gPiA+Pj4+IFRoaXMgcGF0Y2ggc2V0IGFscmVhZHkgZXhwb3NlcyBhbGwgY29u ZmlndXJhdGlvbiB2aWENCj4gPiA+ID4+Pj4gY29uZmlnLmluaS4gSSBkaWRuJ3QgZm9sbG93DQo+ ID4gPiA+PiB3aGF0IGlzIG1pc3NpbmcuIEZvciBiaS1kaXJlY3Rpb24sIHdlIGNhbiBiZXR0ZXIg Y29udGludWUNCj4gPiA+ID4+IGRpc2N1c3Npbmcgb24gdGhhdCBwYXRjaC4NCj4gPiA+ID4+Pg0K PiA+ID4gPj4+IENoZW5nd2VuLCBwbGVhc2UgY2FuIHlvdSBjb25maXJtIHdoZXRoZXIgeW91IHJl cXVpcmUgYSBuZXcNCj4gdmVyc2lvbj8NCj4gPiA+ID4+PiBXaGljaCBjaGFuZ2UgZXhhY3RseSBp cyBtaXNzaW5nPw0KPiA+ID4gPj4NCj4gPiA+ID4+IFRoaXMgcGF0Y2hzZXQgaXMgT0sgd2l0aCBv bmUgc3ViLXRlc3Qgb25seSB0YWNrbGUgb25lIERNQSBkaXJlY3Rpb24uDQo+ID4gPiA+Pg0KPiA+ ID4gPiBUaGFua3MgZm9yIHRoZSBjb25maXJtYXRpb24uDQo+ID4gPiA+DQo+ID4gPiA+PiBCdXQg dGhlcmUgaXMgYSBsYXRlciBwYXRjaCBbMV0gd2hpY2ggd2lsbCBzdXBwb3J0IG11bHRpcGxlIERN QQ0KPiA+ID4gPj4gZGlyZWN0aW9ucyB3aXRoaW4gb25lIHN1Yi10ZXN0Lg0KPiA+ID4gPj4gaXQg d2lsbCBhZGQgYSBlbnRyeSAieGZlcl9tb2RlIiwgYnV0IEkgdGhpbmsgaXQgY29tcGxpY2F0ZSB0 aGUNCj4gPiA+ID4+IHRlc3QsIEkgcHJlZmVyIHdlIGRvIG1vcmUgaW4gdGhpcyBwYXRjaHNldCB0 byBzdXBwb3J0IHNvbWUgbGlrZQ0KPiA+ID4gPj4gYmktZGlyZWN0aW9uIGp1c3QgYnkgbW9kaWZ5 IGNvbmZpZy5pbmksIHNvbWUgbGlrZSB0aGlzOg0KPiA+ID4gPj4NCj4gPiA+ID4gSSB0aGluayB3 ZSBzaG91bGQgZGlzY3VzcyBhYm91dCB0aGF0IGluIGJpLWRpcmVjdGlvbmFsIHBhdGNoDQo+ID4g PiA+IHNlcmllcy4gVGhpcyBzZXJpZXMNCj4gPiA+IGlzIHNlbGYtY29udGFpbmVkIGFuZCB0aGVy ZSBpcyBubyBuZWVkIHRvIGFkZCBiaS1kaXJlY3Rpb25hbCBhcyBwYXJ0DQo+ID4gPiBvZiB0aGlz IHNlcmllcy4gQXMgZmFyIGFzIHRoaXMgcGF0Y2ggc2V0IGlzIGNvbmNlcm5lZCwgYWxsIHRoZQ0K PiA+ID4gb3B0aW9ucyBhcmUgZXhwb3NlZCB2aWEgY29uZmlnLmluaS4gQ2FuIHlvdSBjb21tZW50 IGlmIHRoZXJlIGlzDQo+ID4gPiBhbnl0aGluZyBtaXNzaW5nLCBhc3N1bWluZyB0aGF0IHdlIGFy ZSB0YWtpbmcgYmktZGlyZWN0aW9uYWwgc3VwcG9ydCBhcyBhDQo+IHNlcGFyYXRlIGZlYXR1cmUg YWRkaXRpb24uDQo+ID4gPg0KPiA+ID4gSSBoYXZlIGlkZW50aWZpZWQgc29tZSBpbXByb3ZlbWVu dHMgdG8gdGhlIGRtYS1wZXJmIGFwcCwgYW5kIEkgcGxhbg0KPiA+ID4gdG8gZG8gaXQNCj4gPg0K PiA+IEl0IGlzIHVuY2xlYXIgYXQgdGhpcyBwb2ludCB3aGF0IGlzIHRoZSBpc3N1ZSB0aGF0IHlv dSBoYXZlIHdpdGggdGhlIGFwcCBvciB0aGlzDQo+IHBhdGNoIHNldC4gVGhpcyBzZXJpZXMgd2Fz IGZpcnN0IHN1Ym1pdHRlZCBvbiBBdWcgMTAgMjAyMy4gWW91IGhhZCBhY2tlZCB2OCBvbg0KPiBK YW4gMjUgMjAyNC4gQWZ0ZXIgdGhlIHBhdGNoZXMgd2VyZSBhY2tlZCwgdGhlcmUgd2VyZSBzdGls bCByZXZpZXcgY29tbWVudHMNCj4gb24gdmFyaWFibGUgcmVuYW1lcyBldGMsIHdoaWNoIHdlcmUg YWxsIGFkZHJlc3NlZC4gVGhlIHBhdGNoZXMgaGFkIGJlZW4NCj4gdW5kZXIgcmV2aWV3IGZvciBt b3JlIHRoYW4gOCBtb250aHMgd2l0aCB2ZXJ5IHNsb3cgcHJvZ3Jlc3MuDQo+ID4NCj4gPiA+IGlu IDI0LjA3LCBzbyBpZiB5b3UgZG9uJ3QgbWluZCwgSSB3aWxsIGluY29ycG9yYXRlIHlvdXIgY29t bWl0cw0KPiA+ID4gKGtlZXBpbmcgeW91cg0KPiA+ID4gc2lnbmVkLW9mZi1ieSkgYW5kIG1vZGlm eSB0byB0aGUgb25lIHRoYXQgSSBkZXNjcmliZWQgYWJvdmUsIGFuZA0KPiA+ID4gdGhlbiBzZW5k IHRvIGNvbW11bml0eSAoYWxzbyB3aXRoIG15IGltcHJvdmVtZW50cyBjb21taXRzKS4NCj4gPg0K PiA+IEkgd291bGQgbGlrZSB0byBoYXZlIHRoaXMgc2VyaWVzIG1lcmdlZCBmaXJzdCBhbmQgbm90 IHB1bGxlZCBpbnRvIGFub3RoZXINCj4gc2VyaWVzLiBXZSBkbyBoYXZlIGZldyBvdGhlciBmZWF0 dXJlcyB0aGF0IHdlIHdvdWxkIGxpa2UgdG8gYWRkIG9uIHRvcC4gSQ0KPiB3b3VsZCBhc3N1bWUg dGhhdCB5b3UgY2FuIGFsc28gYWRkIHlvdXIgY2hhbmdlcyBvbiB0b3AuIFRvIG1ha2UNCj4gY29u dHJpYnV0aW9uIGVhc2llciwgaXNuJ3QgaXQgYmV0dGVyIHRvIGFjY2VwdCBhdCBsZWFzdCB0aGlz IHBhdGNoIHNldCAoYXMgeW91IGFja2VkDQo+IGVhcmxpZXIpIGFuZCB0aGVuIHlvdSBjYW4gY29u dGludWUgd29ya2luZyBvbiB0aGUgaW1wcm92ZW1lbnRzPw0KPiANCj4gT0ssIG9uZSBmZWF0dXJl IGF0IGEgdGltZS4NCj4gTGV0J3Mgd29yayBvbiB0b3Agb2YgdGhpcyBwYXRjaHNldCBhcHBsaWVk Lg0KPiANCg0KVGhhbmsgeW91IGJvdGggZm9yIHJldmlld2luZyB0aGlzIHNlcmllcyBhbmQgYWNj ZXB0aW5nIGl0IGluIFJDMy4NCg0KUmVnYXJkcywNCkdvd3Jpc2hhbmthcg0KDQo=