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 75829A0C47; Tue, 12 Oct 2021 15:38:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 547D140E0F; Tue, 12 Oct 2021 15:38:44 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 822024067C for ; Tue, 12 Oct 2021 15:38:42 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19CACoRZ023830; Tue, 12 Oct 2021 06:38:34 -0700 Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1anam02lp2044.outbound.protection.outlook.com [104.47.57.44]) by mx0b-0016f401.pphosted.com with ESMTP id 3bn8d78u1b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 12 Oct 2021 06:38:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mQsn4LJnRINvDNvnyG3hoT3CAK/vXH+tMlVQLJ06tyzNs6BOmGC8J8eUUf20rPVO0BS+oAqIGNIOcU5jdS4hDZtxfrwsAZoaJ1ZYUCHtQEDc8HoUo7WoGv+MiYo5cizbiiTizMsCziZIy/XzjiJRdzqtfCeXcrV5XOy3jtBxahmfIpyeQgRU5YTfpsPm0fhoFjmD0F7EP2FSFgkmRbrMNGefLYwX6qB4J1VSIqRljZvDsJQgoZsrtr8A8zI/Tk+P6FAXnbg9BWzVAjzAMUiocgaeqbvTknEJTYT+7wQwh3GQO0n2VcIF0uihHxNvA0TTkewJ3BSLPPMYjXtpa9lyLA== 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=zIBmMiIPfsALiGuv7zR3bVRyLsfE/YAZ5ZBb7vuJho8=; b=jGTjoDwzrHUhFWZd358tIL1vPbQHyQ60twXhs4Xu5r38sg4FNGXwn9NL0T6gGKZur26m25lJ0UEkwAoLGncKOn4CtDd7eFYCmoDmQEYs48BpuPj1E3nesQksrtV67t6n4GYH8IgFAwfy0lVXwuB5ZZQYg0T6f79HaVXTo0urWIDFl6I0+/FoMp0GSlRz4d9Q3Sb7qp6futwjE3kmD9YJJAjCd16FyTEQFi3skd85aFdYdr1RWDoNMHgKsuWKpi74kASOYjfTmRKPCphDt37TTbjjIc1Aaisvhm6HKyqxMh6LItqTs/wv0MnQmQiDVDEFi8O526fCnNAVsRhwWxxbrQ== 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.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zIBmMiIPfsALiGuv7zR3bVRyLsfE/YAZ5ZBb7vuJho8=; b=jLRpmB7EZUuJLZVaRIBkuT+3Mmhjwk1I30JuaFtGOWggZNx7GueT/Ul+iPDlIyNMJpEo++b0EXrYVXAk4B5Xe7qmI3l+UKnspvAHP2NyoSpo82LVSPSOVsC4BXlfSFLOu4oJzjoISaW9zxzK9UTjsRRGa3STZSNe2gOV49/k8x0= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by PH0PR18MB4491.namprd18.prod.outlook.com (2603:10b6:510:e6::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Tue, 12 Oct 2021 13:38:33 +0000 Received: from PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::85aa:3d01:94f6:984]) by PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::85aa:3d01:94f6:984%5]) with mapi id 15.20.4587.026; Tue, 12 Oct 2021 13:38:32 +0000 From: Anoob Joseph To: Thomas Monjalon , "Kinsella, Ray" , Akhil Goyal , "dev@dpdk.org" CC: "david.marchand@redhat.com" , "hemant.agrawal@nxp.com" , "pablo.de.lara.guarch@intel.com" , "fiona.trahe@intel.com" , "declan.doherty@intel.com" , "matan@nvidia.com" , "g.singh@nxp.com" , "roy.fan.zhang@intel.com" , "jianjay.zhou@huawei.com" , "asomalap@amd.com" , "ruifeng.wang@arm.com" , "konstantin.ananyev@intel.com" , "radu.nicolau@intel.com" , "ajit.khaparde@broadcom.com" , Nagadheeraj Rottela , Ankur Dwivedi , "ciara.power@intel.com" , Stephen Hemminger , "Yigit, Ferruh" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v2 1/3] cryptodev: remove LIST_END enumerators Thread-Index: AQHXvIVvRnkxD+2khUesXtuxEC2CBqvPJaMAgAAGjoCAAATD4IAADnwAgAAAlYCAAAYyAIAAF1iA Date: Tue, 12 Oct 2021 13:38:32 +0000 Message-ID: References: <20210731181327.660296-1-gakhil@marvell.com> <84e597ee-ab57-1a2c-889c-68d04e58a12d@ashroe.eu> <2844039.NtWzsPphL5@thomas> In-Reply-To: <2844039.NtWzsPphL5@thomas> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fe2cbc97-088f-4c1f-4f47-08d98d859593 x-ms-traffictypediagnostic: PH0PR18MB4491: 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: UB8crFtpU+5w1a0eS0Tnu321wDfQCNd5Ee9+Xg/NFaiYxTgO75dd49Dn2PPGDnkN50eSIq5XtjQg1nIN0VnLtTbvFwGOuyKSMnCnlnQfszZ0WFc8tajGiCi1B1bmHtBgHck6eruL9do0RyXkBv5206OcNVLjavFtJd3EOJtSUhXALEQ4cC4XpjNPe4dG9t644OFXDIkTo8K3yoVBV7ZERoMN/rPfg402OCsv207G16RpVsKOqWEHEGYsPWz5w79icdzXl4eMQg++U4+K5FAt/u2U4E6ItWMJdPI7Ag6r2OFeZb3O3FdkB2+QuBgy4QvYhnZvOrM9fz0KRz2ONTY7Gnx8zAQiGGQMcSd97MT3Yn2QwmkF26FMgPLYAEz4Q/IqjJx2g3kCcs1+dJZoIOdw64jefdCYvBygfxhPKNlPfMISodZzQ0wMrGjitKkYl9t6ORBB5uVKWDJWkDDlieIA4K3U63j/MRrzZoGJnVReL50nYZ45ThhUjairmBdakScbZMcfmT/wAufbSXOKXraZC5e/5rmwaBAvS6utyk7Zzyc/+5a2glD+jaSXGAur1MIB1VIihYNFfOP7n0kWEWb+bWl0wb6uDfQF/6DY/Mq4AeAlzVgyDAQ2zox9802v9z6mKrk7Sk4Jl16/w62Aw+KgDWzL4YvgHsHdx9szPo1fJyNL6KumSV3hjHl7MsUxskfdKf/zB6W23J9bapoccfPB1g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4672.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(186003)(8936002)(33656002)(508600001)(110136005)(5660300002)(54906003)(52536014)(66446008)(64756008)(66556008)(26005)(122000001)(71200400001)(66476007)(66946007)(53546011)(6506007)(7416002)(7696005)(38100700002)(8676002)(9686003)(55016002)(316002)(2906002)(83380400001)(38070700005)(86362001)(4326008)(76116006); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bW1iSEZXT0Y0WDNVcGcza2dxTlNtQ2FQek81NUZxb1EyN2F1c0d4cy9TUEJO?= =?utf-8?B?VHVNNVpjcXA3RDkvMEcvVFVnZEpwWjg4WjA4aGYzUkRVMDFOTkcwL0pGSkpj?= =?utf-8?B?YWNGUm1tc3pOeWRmSkJldm9pWklDSTF1N1g1dm1JcDlxTHNUemNRZkgveU8z?= =?utf-8?B?QWVOQUhObmpIQStGNmhNTk11bHRKZXlRYzVSczcwaFZLUXptdWRXTkRwcjdj?= =?utf-8?B?YUxMaWFZeFpPdVBYY3RWK1lRTHUwMExGcFlNTmRvYlpBcTdrNjA4dTA1eU9m?= =?utf-8?B?SURGSEczYXdLUTNsY2lXUUV5MkFFdkJPL21reXppT1gvaG1neWdxN0VwRmhJ?= =?utf-8?B?WWtXaERLemFZampzTWx4anNKT3NvNlBFSWNlUlA4QzRheU12eUlSRjF2dDJh?= =?utf-8?B?d3dKVUFYVGplcXdqSmRqNUJSY0F1WmRKTk1MbGJsc1pzM01UbnMxbDJZY3VX?= =?utf-8?B?ZmZPeXU0Z25tbkczMHN6aFNjRHhUbXdxSG12ZE5EOWhCL2x6aEVQU3pVZnR4?= =?utf-8?B?MlZjS0VVNEJUYzFZSVVqQmxCQTRQOFNzUHRQMjVOeEc3OGE4RDkxNGtXT2gx?= =?utf-8?B?K01BdVVXVGh3cjdsRlZueVJ0cU1YVVRjYkNMRkV3OGFvZ2VRdFNMTGV4ZjJ2?= =?utf-8?B?cnB5Q29Xb1Qrc2hNcDBIWEFJNE1EcnJNS1BGMzQwcGxvcWlidHVoYTZPcHcz?= =?utf-8?B?WmJFeVl2ZGhzRVlHK3dveDBWY1gzWmxSOGVmWGdOYnRINWpqS3JUUkJ3enJ2?= =?utf-8?B?c2JXcFdqcFkza3lYOE45SEFUUGlTdFA5aDFZSDdqaUZiVGI5Y0VWZTlqRjBS?= =?utf-8?B?djJISkR4WXI0c2dHbXUzRDBCL2I4RjFrTk5VZjMxZW11Y0lPejc3U0FSNzNP?= =?utf-8?B?Q3NJVFI3OVhhcnYzMHNkS1ltNzkvYU5BNHlDeXUweFZYTDBqZ0pGTlJZVlpR?= =?utf-8?B?Q0x6bmU4ODhlSTF3aHo5QTBsdkZ2Qm12Wk40aFdQZ25lMkJIT1pBUitiRjNh?= =?utf-8?B?Z21pODl5V2V3NFMvcW1DVUNqUVRaeUFXQTc4TVVZOXJ2MFZpZTdUa255R0xU?= =?utf-8?B?VG1pdG4zRVYxWmRuMzNXS3o1Y0NrdkE0TmZTc3ZHVzNGR0ZmajZHS1B0MG9C?= =?utf-8?B?TmdodXpZT0ZpVzBvbks3QmZ6WEVqYndtU3dCdVcyWEtic05RaGxJWDYwTXJu?= =?utf-8?B?WHV1RGJNTm5BWnRrQ1gwZGdCUklvWDZOODZFODFud0tZeVZkMGUyMGF1L2Rl?= =?utf-8?B?N3ZDT3ZhTlJiaXQrNGZTOTJ5S1hTa1QzbCtyUmIxcDFOQ1VPd0E3UjVJYkYr?= =?utf-8?B?dVI4Tm1sd2JhU3pQc3RLeEo1WDRiYXllOWY2MjhhMk1UYTlIN2lRQzhSUTdR?= =?utf-8?B?WlpPVUVHeWpLR25hdVJqc1VXRDNKN1FLbFpCSlpvUk4rTTRzSkJTbW00Z3F4?= =?utf-8?B?WHFUYjB0VVVMWlhSRmJWZGRYQXc3d3pyUEhUa1BjczNRb3lZR2NnamdjVWVz?= =?utf-8?B?dWVnVkhaOUVheFB1MWlZRzRSdjJhTHBGb3N2bFNsRnN5NUdzZWFubHI4U01O?= =?utf-8?B?Qm84cTcxRWtuQ0FwdTA5VThXcW1ZR21CY1RTcFo2V1EyQlg5WVV0YjVQRHRO?= =?utf-8?B?RjNRSzA1UHRNVVZmaVpIZ2o2REk4WVFlVkZwZTlXYy81bHlpb3hIL0lHVnc3?= =?utf-8?B?Y2FMUmV3ZUk1WkZzSTdxdDgyVGRKamRWV05iQ1hvS3pHSnNlUis1ekRoZU93?= =?utf-8?Q?KQjtCrK1wrsRMNQzNT7YMJsCz9B6bB9i/oKYvb3?= 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: PH0PR18MB4672.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe2cbc97-088f-4c1f-4f47-08d98d859593 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2021 13:38:32.7489 (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: puBjtDRu0VufdBtuZOkjKlEy5C3YaBRKoHDsUlu7F95mN0eK4DWRoKuzE/GTF1fTj2SX/wzWWCwtGPZFKlFqRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB4491 X-Proofpoint-GUID: bQZPLAET3DgvzrqKlIXssLwRgn6YNpKh X-Proofpoint-ORIG-GUID: bQZPLAET3DgvzrqKlIXssLwRgn6YNpKh X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.0.607.475 definitions=2021-10-12_03,2021-10-12_01,2020-04-07_01 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/3] cryptodev: remove LIST_END enumerators 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" SGkgVGhvbWFzLA0KDQpQbGVhc2Ugc2VlIGlubGluZS4NCg0KVGhhbmtzLA0KQW5vb2INCg0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUaG9tYXMgTW9uamFsb24gPHRob21h c0Btb25qYWxvbi5uZXQ+DQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMTIsIDIwMjEgNToyMiBQ TQ0KPiBUbzogS2luc2VsbGEsIFJheSA8bWRyQGFzaHJvZS5ldT47IEFraGlsIEdveWFsIDxnYWto aWxAbWFydmVsbC5jb20+Ow0KPiBkZXZAZHBkay5vcmc7IEFub29iIEpvc2VwaCA8YW5vb2JqQG1h cnZlbGwuY29tPg0KPiBDYzogZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsgaGVtYW50LmFncmF3 YWxAbnhwLmNvbTsNCj4gcGFibG8uZGUubGFyYS5ndWFyY2hAaW50ZWwuY29tOyBmaW9uYS50cmFo ZUBpbnRlbC5jb207DQo+IGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbTsgbWF0YW5AbnZpZGlhLmNv bTsgZy5zaW5naEBueHAuY29tOw0KPiByb3kuZmFuLnpoYW5nQGludGVsLmNvbTsgamlhbmpheS56 aG91QGh1YXdlaS5jb207IGFzb21hbGFwQGFtZC5jb207DQo+IHJ1aWZlbmcud2FuZ0Bhcm0uY29t OyBrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tOw0KPiByYWR1Lm5pY29sYXVAaW50ZWwuY29t OyBhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbTsgTmFnYWRoZWVyYWogUm90dGVsYQ0KPiA8cm5h Z2FkaGVlcmFqQG1hcnZlbGwuY29tPjsgQW5rdXIgRHdpdmVkaSA8YWR3aXZlZGlAbWFydmVsbC5j b20+Ow0KPiBjaWFyYS5wb3dlckBpbnRlbC5jb207IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVu QG5ldHdvcmtwbHVtYmVyLm9yZz47DQo+IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRl bC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbRVhUXSBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjIgMS8z XSBjcnlwdG9kZXY6IHJlbW92ZSBMSVNUX0VORA0KPiBlbnVtZXJhdG9ycw0KPiANCj4gMTIvMTAv MjAyMSAxMzozNCwgQW5vb2IgSm9zZXBoOg0KPiA+IEZyb206IEtpbnNlbGxhLCBSYXkgPG1kckBh c2hyb2UuZXU+DQo+ID4gPiBPbiAxMi8xMC8yMDIxIDExOjUwLCBBbm9vYiBKb3NlcGggd3JvdGU6 DQo+ID4gPiA+IEZyb206IEFraGlsIEdveWFsIDxnYWtoaWxAbWFydmVsbC5jb20+DQo+ID4gPiA+ Pj4gT24gMDgvMTAvMjAyMSAyMTo0NSwgQWtoaWwgR295YWwgd3JvdGU6DQo+ID4gPiA+Pj4+IFJl bW92ZSAqX0xJU1RfRU5EIGVudW1lcmF0b3JzIGZyb20gYXN5bW1ldHJpYyBjcnlwdG8gbGliIHRv DQo+ID4gPiA+Pj4+IGF2b2lkIEFCSSBicmVha2FnZSBmb3IgZXZlcnkgbmV3IGFkZGl0aW9uIGlu IGVudW1zLg0KPiA+ID4gPj4+Pg0KPiA+ID4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBBa2hpbCBHb3lh bCA8Z2FraGlsQG1hcnZlbGwuY29tPg0KPiA+ID4gPj4+PiAtLS0NCj4gPiA+ID4+Pj4gLQl9IGVs c2UgaWYgKHhmb3JtLT54Zm9ybV90eXBlID49DQo+ID4gPiA+Pj4gUlRFX0NSWVBUT19BU1lNX1hG T1JNX1RZUEVfTElTVF9FTkQNCj4gPiA+ID4+Pj4gKwl9IGVsc2UgaWYgKHhmb3JtLT54Zm9ybV90 eXBlID4NCj4gUlRFX0NSWVBUT19BU1lNX1hGT1JNX0VDUE0NCj4gWy4uLl0NCj4gPiA+ID4+Pg0K PiA+ID4gPj4+IFNvIEkgYW0gbm90IHN1cmUgdGhhdCB0aGlzIGlzIGFuIGltcHJvdmVtZW50Lg0K PiANCj4gSW5kZWVkLCBpdCBpcyBub3QgYW4gaW1wcm92ZW1lbnQuDQo+IA0KPiA+ID4gPj4+IFRo ZSBjcnlwdG9kZXYgaXNzdWUgd2UgaGFkLCB3YXMgdGhhdCBfTElTVF9FTkQgd2FzIGJlaW5nIHVz ZWQgdG8NCj4gPiA+ID4+PiBzaXplIGFycmF5cy4NCj4gPiA+ID4+PiBBbmQgdGhhdCBicm9rZSB3 aGVuIG5ldyBhbGdvcml0aG1zIGdvdCBhZGRlZC4gSXMgdGhhdCBhbiBpc3N1ZSwNCj4gPiA+ID4+ PiBpbiB0aGlzDQo+ID4gPiBjYXNlPw0KPiA+ID4gPj4NCj4gPiA+ID4+IFllcyB3ZSBkaWQgdGhp cyBzYW1lIGV4ZXJjaXNlIGZvciBzeW1tZXRyaWMgY3J5cHRvIGVudW1zIGVhcmxpZXIuDQo+ID4g PiA+PiBBc3ltIGVudW1zIHdlcmUgbGVmdCBhcyBpdCB3YXMgZXhwZXJpbWVudGFsIGF0IHRoYXQg cG9pbnQuDQo+ID4gPiA+PiBUaGV5IGFyZSBzdGlsbCBleHBlcmltZW50YWwsIGJ1dCB0aG91Z2h0 IG9mIG1ha2luZyB0aGlzIHVuaWZvcm0NCj4gPiA+ID4+IHRocm91Z2hvdXQgRFBESyBlbnVtcy4N Cj4gPiA+ID4+DQo+ID4gPiA+Pj4NCj4gPiA+ID4+PiBJIGFtIG5vdCBzdXJlIHRoYXQgc3dhcHBp bmcgb3V0IF9MSVNUX0VORCwgYW5kIHRoZW4gbGl0dGVyaW5nDQo+ID4gPiA+Pj4gdGhlIGNvZGUg d2l0aCBSVEVfQ1JZUFRPX0FTWU1fWEZPUk1fRUNQTSBhbmQNCj4gPiA+ID4+PiBSVEVfQ1JZUFRP X0FTWU1fT1BfU0hBUkVEX1NFQ1JFVF9DT01QVVRFLCBpcyBhbg0KPiBpbXByb3ZlbWVudA0KPiA+ ID4gPj4gaGVyZS4NCj4gPiA+ID4+Pg0KPiA+ID4gPj4+IE15IDJjIGlzIHRoYXQgZnJvbSBhbiBB QkkgUG9WIFJURV9DUllQVE9fQVNZTV9PUF9MSVNUX0VORCBpcyBub3QNCj4gPiA+ID4+PiBiZXR0 ZXIgb3Igd29yc2UsIHRoYW4NCj4gPiA+IFJURV9DUllQVE9fQVNZTV9PUF9TSEFSRURfU0VDUkVU X0NPTVBVVEU/DQo+ID4gPiA+Pj4NCj4gPiA+ID4+PiBJbnRlcmVzdGVkIHRvIGhlYXIgb3RoZXIg dGhvdWdodHMuDQo+ID4gPiA+Pg0KPiA+ID4gPj4gSSBkb27igJl0IGhhdmUgYW55IGJldHRlciBz b2x1dGlvbiBmb3IgYXZvaWRpbmcgQUJJIGlzc3VlcyBmb3Igbm93Lg0KPiA+ID4gPj4gVGhlIGNo YW5nZSBpcyBmb3IgYXZvaWRpbmcgQUJJIGJyZWFrYWdlLiBCdXQgd2UgY2FuIGRyb3AgdGhpcw0K PiA+ID4gPj4gcGF0Y2ggRm9yIG5vdyBhcyBhc3ltIGlzIHN0aWxsIGV4cGVyaW1lbnRhbC4NCj4g PiA+ID4NCj4gPiA+ID4gW0Fub29iXSBIYXZpbmcgTElTVF9FTkQgd291bGQgcHJlY2x1ZGUgbmV3 IGFkZGl0aW9ucyB0byBhc3ltbWV0cmljDQo+IGFsZ29zPw0KPiA+ID4gSWYgeWVzLCB0aGVuIEkg d291bGQgc3VnZ2VzdCB3ZSBhZGRyZXNzIGl0IG5vdy4NCj4gPiA+DQo+ID4gPiBOb3QgYXQgYWxs IC0gYnV0IGl0IGNhbiBiZSBwcm9ibGVtYXRpYywgaWYgdHdvIHZlcnNpb25zIG9mIERQREsNCj4g PiA+IGRpc2FncmVlIHdpdGggdGhlIHZhbHVlIG9mIExJU1RfRU5ELg0KPiA+ID4NCj4gPiA+ID4g TG9va2luZyBhdCB0aGUgInByb2JsZW1hdGljIGNoYW5nZXMiLCB3ZSBvbmx5IGhhdmUgMi0zIGFw cGxpY2F0aW9uDQo+ID4gPiA+ICYgUE1EIGNoYW5nZXMuIEZvciB1bml0IHRlc3QgYXBwbGljYXRp b24sIHdlIGNvdWxkIG1heSBiZSBkbw0KPiA+ID4gPiBzb21ldGhpbmcgbGlrZSwNCj4gPiA+DQo+ ID4gPiBUaGUgZXNzZW50YWwgZnVuY3Rpb25hbGl0eSBub3QgdGhhdCBkaWZmZXJlbnQsIEkgYW0g anVzdCBub3Qgc3VyZQ0KPiA+ID4gdGhhdCB0aGUgdmVyYm9zaXR5IGJlbG93IGlzIGhlbHBpbmcu DQo+ID4gPiBXaGF0IHlvdSBhcmUgcmVhbGx5IHRyeWluZyB0byBndWFyZCBhZ2FpbnN0IGlzIHBl b3BsZSB1c2luZyBMSVNUX0VORA0KPiA+ID4gdG8gc2l6ZSBhcnJheXMuDQo+ID4NCj4gPiBbQW5v b2JdIE91ciBwcm9ibGVtIGlzIGFwcGxpY2F0aW9uIHVzaW5nIExJU1RfRU5EICh3aGljaCBjb21l cyBmcm9tIGxpYnJhcnkpDQo+IHRvIGRldGVybWluZSB0aGUgbnVtYmVyIG9mIGl0ZXJhdGlvbnMg Zm9yIHRoZSBsb29wLiBNeSBzdWdnZXN0aW9uIGlzIHRvIG1vZGlmeQ0KPiB0aGUgVVQgc3VjaCB0 aGF0LCB3ZSBjb3VsZCB1c2UgUlRFX0RJTSh0eXBlcykgKHdoaWNoIGNvbWVzIGZyb20gYXBwbGlj YXRpb24pDQo+IHRvIGRldGVybWluZSBpdGVyYXRpb25zIG9mIGxvb3AuIFRoaXMgd291bGQgc29s dmUgdGhlIHByb2JsZW0sIHJpZ2h0Pw0KPiANCj4gVGhlIHByb2JsZW0gaXMgbm90IHRoZSBhcHBs aWNhdGlvbi4NCj4gQXJlIHlvdSBhc2tpbmcgdGhlIGFwcCB0byBkZWZpbmUgRFBESyB0eXBlcz8N Cg0KW0Fub29iXSBJIGRpZG4ndCB1bmRlcnN0YW5kIGhvdyB5b3UgY29uY2x1ZGVkIHRoYXQuIFRo ZSBhcHAgaXMgc3VwcG9zZWQgdG8gdGVzdCAibiIgYXN5bW1ldHJpYyBmZWF0dXJlcyBzdXBwb3J0 ZWQgYnkgRFBESy4gQ3VycmVudGx5LCBpdCBkb2VzIHRoYXQgYnkgbG9vcGluZyBmcm9tIDAgdG8g TElTVF9FTkQgd2hpY2ggaGFwcGVucyB0byBnaXZlIHlvdSB0aGUgZmlyc3QgbiBmZWF0dXJlcy4g Tm93LCBpZiB3ZSBhZGQgYW55IG5ldyBhc3ltbWV0cmljIGZlYXR1cmUsIExJU1RfRU5EIHZhbHVl IHdvdWxkIGNoYW5nZS4gSXNuJ3QgdGhhdCB0aGUgdmVyeSByZWFzb24gd2h5IHdlIHJlbW92ZWQg TElTVF9FTkQgZnJvbSBzeW1tZXRyaWMgbGlicmFyeSBhbmQgYXBwbGljYXRpb25zPw0KDQpOb3cg Y29taW5nIHRvIHdoYXQgSSBwcm9wb3NlZCwgdGhlIGFwcCBpcyBzdXBwb3NlZCB0byB0ZXN0ICJu IiBhc3ltbWV0cmljIGZlYXR1cmVzLiBMSVNUX0VORCBoZWxwcyBpbiBkb2luZyB0aGUgbG9vcHMu IElmIHdlIHJlbW92ZSBMSVNUX0VORCwgdGhlbiBhcHBsaWNhdGlvbiB3aWxsIG5vdCBiZSBpbiBh IHBvc2l0aW9uIHRvIGRvIGEgbG9vcC4gTXkgc3VnZ2VzdGlvbiBpcywgd2UgbGlzdCB0aGUgdHlw ZXMgdGhhdCBhcmUgc3VwcG9zZWQgdG8gYmUgdGVzdGVkIGJ5IHRoZSBhcHAsIGFuZCBsZXQgdGhh dCBhcnJheSBiZSB1c2VkIGFzIGZlYXR1cmUgbGlzdC4NCg0KUFM6IEp1c3QgdG8gcmVpdGVyYXRl LCBteSBwcm9wb3NhbCBpcyBqdXN0IGEgbG9jYWwgYXJyYXkgd2hpY2ggd291bGQgaG9sZCBEUERL IGRlZmluZWQgUlRFIGVudW0gdmFsdWVzIGZvciB0aGUgZmVhdHVyZXMgdGhhdCB3b3VsZCBiZSB0 ZXN0ZWQgYnkgdGhpcyBhcHAvZnVuY3Rpb24uIA0KPiA+ID4gPiArICAgICAgICAgICAgICAgZW51 bSBydGVfY3J5cHRvX2FzeW1fb3BfdHlwZSB0eXBlc1tdID0geyANCg0KPiANCj4gVGhlIHByb2Js ZW0gaXMgaW4gRFBESyBBUEkuIFdlIG11c3Qgbm90IHN1Z2dlc3QgYSBzaXplIGZvciBlbnVtcy4N Cg0KW0Fub29iXSBTbyBhZ3JlZWQgdGhhdCBMSVNUX0VORCBzaG91bGQgYmUgcmVtb3ZlZD8NCiAN Cj4gSWYgd2UgcmVhbGx5IG5lZWQgYSBzaXplLCB0aGVuIGl0IG11c3QgYmUgZXhwbGljaXQgYW5k IHVwZGF0ZWQgaW4gdGhlIGxpYiBiaW5hcnkNCj4gKHRocm91Z2ggYSBmdW5jdGlvbikgd2hlbiB0 aGUgc2l6ZSBpbmNyZWFzZXMuDQoNCltBbm9vYl0gUHJlY2lzZWx5IG15IHRob3VnaHRzLiBUaGUg bG9vcCB3aXRoIExJU1RfRU5EIGRvbmUgaW4gYXBwbGljYXRpb24gaXMgbm90IGNvcnJlY3QuIA0K PiANCj4gDQo+IA0KPiA+ID4gPiAtICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IFJURV9D UllQVE9fQVNZTV9PUF9MSVNUX0VORDsgaSsrKSB7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICBl bnVtIHJ0ZV9jcnlwdG9fYXN5bV9vcF90eXBlIHR5cGVzW10gPSB7DQo+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX0VOQ1JZUFQsDQo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX0RF Q1JZUFQsDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0NSWVBU T19BU1lNX09QX1NJR04sDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UlRFX0NSWVBUT19BU1lNX09QX1ZFUklGWSwNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSVEVfQ1JZUFRPX0FTWU1fT1BfUFJJVkFURV9LRVlfR0VORVJBVEUsDQo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX1BV QkxJQ19LRVlfR0VORVJBVEUsDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0NSWVBUT19BU1lNX09QX1NIQVJFRF9TRUNSRVRfQ09NUFVURSwNCj4gPiA+ID4gKyAg ICAgICAgICAgICAgIH07DQo+ID4gPiA+ICsgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDw9 IFJURV9ESU0odHlwZXMpOyBpKyspIHsNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAg aWYgKHRjLm1vZGV4Lnhmb3JtX3R5cGUgPT0NCj4gUlRFX0NSWVBUT19BU1lNX1hGT1JNX1JTQSkg ew0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0Yy5yc2FfZGF0 YS5vcF90eXBlX2ZsYWdzICYgKDEgPDwgaSkpIHsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAodGMucnNhX2RhdGEub3BfdHlwZV9mbGFncyAmICgxDQo+ID4gPiA+ ICsgPDwNCj4gPiA+ID4gKyB0eXBlc1tpXSkpIHsNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmICh0Yy5yc2FfZGF0YS5rZXlfZXhwKSB7DQo+ID4gPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9 IHRlc3RfY3J5cHRvZGV2X2FzeW1fb3AoDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRlc3RzdWl0ZV9wYXJhbXMsICZ0YywN Cj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0X21zZywgc2Vzc2lvbmxlc3MsIGksDQo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9tc2csDQo+ID4g PiA+ICsgc2Vzc2lvbmxlc3MsIHR5cGVzW2ldLA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9SU0FfS0VZX1RZUEVfRVhQ KTsNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4g PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXMp DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJyZWFrOw0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aWYgKHRjLnJzYV9kYXRhLmtleV9xdCAmJiAoaSA9PQ0KPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRjLnJzYV9kYXRhLmtleV9xdCAmJg0KPiA+ID4g PiArICh0eXBlc1tpXSA9PQ0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9DUllQVE9fQVNZTV9PUF9ERUNSWVBUIHx8DQo+ ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaSA9PSBSVEVfQ1JZUFRPX0FTWU1fT1BfU0lHTikpIHsNCj4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlc1tpXQ0K PiA+ID4gPiArID09DQo+ID4gPiA+ICsgUlRFX0NSWVBUT19BU1lNX09QX1NJR04pKSB7DQo+ID4g PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1 cyA9IHRlc3RfY3J5cHRvZGV2X2FzeW1fb3AoDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRlc3RzdWl0ZV9wYXJhbXMsDQo+ ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJnRjLCB0ZXN0X21zZywgc2Vzc2lvbmxlc3MsIGksDQo+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRjLA0KPiA+ID4g PiArIHRlc3RfbXNnLCBzZXNzaW9ubGVzcywgdHlwZXNbaV0sDQo+ID4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX1JTQV9LRVRf VFlQRV9RVCk7DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo c3RhdHVzKQ0KPiA+ID4gPg0KPiA+ID4gPiBUaGlzIHdheSwgYXBwbGljYXRpb24gd291bGQgb25s eSB1c2UgdGhlIG9uZXMgd2hpY2ggaXQgaXMgZGVzaWduZWQNCj4gPiA+ID4gdG8gd29yaw0KPiA+ ID4gd2l0aC4gRm9yIFFBVCBkcml2ZXIgY2hhbmdlcywgd2UgY291bGQgaGF2ZSBhbiBvdmVybG9h ZCBpZiBjb25kaXRpb24NCj4gPiA+IChpZiBhbGcgPT0geA0KPiA+ID4gfHwgYWxnID0geSB8fCAu Li4pIHRvIGdldCB0aGUgc2FtZSBlZmZlY3QuDQo+IA0KPiANCj4gDQoNCg==