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 76BEA45489; Tue, 18 Jun 2024 08:47:57 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6E4D54027B; Tue, 18 Jun 2024 08:47:57 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2047.outbound.protection.outlook.com [40.107.94.47]) by mails.dpdk.org (Postfix) with ESMTP id 772434026B for ; Tue, 18 Jun 2024 08:47:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MK6j2HwU34GXRd/7xqST2tKS2boQ2kmYGIpMqck/3YXM7B/felhpw+gTlpqSx+fNyqy3+L8SNTk+VZHJzblNI6IEZArRc5BZaQkkjqG2Pv6pHaGadTIAhTRRWyZeWPqRCSE1ETwFiWsjRPGo7cskaqvJ0HsHFkCa57gk8roGVhjjT54ImCpMjTGEDZuR8w3cWfNAz7DQ2n+rpQM4GQqgggjFxu91fnGFxNkYvQbHX5cTmSpjCcNqD5qH3Ih6doTi8hUS7I0+TltsorqbTH7ty21FYgwi3vaHDCK1N6oZjEx4B9fG8abSm9fQ9gVGSZ6pYvHGANdzHIrKP+JdI2sFiQ== 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=1xw99HOQDq8JRmjEg/JkfS0aRDQX6nx8gv8g0Sj6cYA=; b=nJ8jgr18kzftgG5fNokAZG/AdC6QjgnCIEYUwqZWVWIE++mEgomlnWT0izN0SgTWZ+l02xMmhVjtmWNv0t4jCJy3xvduJ5Wh83H1U7BWLAH8fGDAvlRomP3ujNks/yMiheu099tTkS2Yz9QeZLSYKLdh08+MIbx7zF/mXzaCg5PHVdO9OZH/9z+PWQkHq/VpTi/yNs0Ow7ApCbtJDZRdm+rc3ZeYi+I3ZmJL5yjZiCvbSH3p5nuKENwoLb7tO06s61dAT5ZMdRLuEMWdXg4qHYxkZekjIeLG0NJ9lObHfBc0g0nU0VGZTiXMAg2PffE9qvTgPbp7VyHrhOG7r3OW3g== 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=1xw99HOQDq8JRmjEg/JkfS0aRDQX6nx8gv8g0Sj6cYA=; b=MlCsBaotGoubbM5QXn46PU0VhgYFmLNuhUKblPbxKWWy3M+ghlaCyyUzUUQtJwdD67YEZUUo0XQWxZ7b8wOvMqJATuYNeR87mi15jujbIBJblo/QDnOobWTKiCokLt7OH2EhMYEvt5LlSxnswhYYNmnxp2FzYSDZFrb2DuCHVwjPAoxocRgGbr0jea9D1d0qNLEqFLCMFRWCKf05xxc9HLRJ3TsliTFAu+CLT+Us03WeSrmsPrBmuVLfKThmS675N5V3SStIsaVqHJe4x+zYiDpPVJ7d+1Z9hxJF+u5O9ZyTTPpw1X/HEhoal6hPA0AaWdUI0uUaRAOWVSF6rav6Xw== Received: from CO6PR12MB5396.namprd12.prod.outlook.com (2603:10b6:303:139::8) by PH8PR12MB6891.namprd12.prod.outlook.com (2603:10b6:510:1cb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.30; Tue, 18 Jun 2024 06:47:52 +0000 Received: from CO6PR12MB5396.namprd12.prod.outlook.com ([fe80::25bf:da1b:77ac:ed7c]) by CO6PR12MB5396.namprd12.prod.outlook.com ([fe80::25bf:da1b:77ac:ed7c%7]) with mapi id 15.20.7677.030; Tue, 18 Jun 2024 06:47:51 +0000 From: Suanming Mou To: Akhil Goyal , Matan Azrad CC: "dev@dpdk.org" Subject: RE: [EXTERNAL] [PATCH v2 1/2] crypto/mlx5: optimize AES-GCM IPsec operation Thread-Topic: [EXTERNAL] [PATCH v2 1/2] crypto/mlx5: optimize AES-GCM IPsec operation Thread-Index: AQHavfIs3Mx4p6I/E0ifQ+WKXCfqjbHG0hSAgAADKaCAACM6gIAAAQBggAYg3aA= Date: Tue, 18 Jun 2024 06:47:51 +0000 Message-ID: References: <20240530072413.1602343-1-suanmingm@nvidia.com> <20240614003031.2006131-1-suanmingm@nvidia.com> <20240614003031.2006131-2-suanmingm@nvidia.com> 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: CO6PR12MB5396:EE_|PH8PR12MB6891:EE_ x-ms-office365-filtering-correlation-id: 0da7f5b4-7960-457f-ba8c-08dc8f62932d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230037|1800799021|366013|376011|38070700015; x-microsoft-antispam-message-info: =?utf-8?B?S1FrQnFUQzVUY3d5SG1VQjNGRVZDdFBkQjZsU3MvU2d5N0IwVzlOZGJpajdp?= =?utf-8?B?N2NteGJvTnprS0M3UUtOQmJRK3JlUENFZ1JVbGg0SGxFY29mck9yUmtRQW1E?= =?utf-8?B?RWkwT3ZRbEtsbTY4cytkQzZaVm5ZWnpzOVU5bmpKRCtFNlgvVzFMRXRRWk9j?= =?utf-8?B?c0FNVERISi9rb1ZZR0t1RndkR2swZGRSYjBsTzgrWHJaOVJOMXRMWk45aDZY?= =?utf-8?B?Mi9VTU5mcmZ1bExUUWJhdGlLbFJiTHNhWUxmYk4zL015ZmNPcmhxQXVrL3ZF?= =?utf-8?B?QWVLL3ZFVGFZZ2MvUjRNRmdtcXJ2SkgvWnd5K3pSMlZCWGZCeDZBdm9CdHg2?= =?utf-8?B?b1lURzJBT0liUFhxSmExenFHTnJ1NURpRXRDdmZvR01IS09SRzNzSVl4cFk1?= =?utf-8?B?aEkyYSttWDBUVGNpeU1YZ1pxVkp0N0JOQkgxTzQyc2lJN1BUMGZ1R0dUYW5J?= =?utf-8?B?elBZdEJVYy9jdHdScnYzbnNxbk9oOXlxVzBlaHVsa1p0Zm8vSHZzSFh4YkEw?= =?utf-8?B?NjZtQmR1RURQaS8zdm9TVG9ncnNsdHpIc2xGeGpSSFluVXptTWRXbEpid0VC?= =?utf-8?B?NTUrWVE2ZlVVb2tWRlRXQXpRdStWNjhjd0pON0ZucVhKeHZwNEh3ejFVSjMr?= =?utf-8?B?ZjZ2S0ttVm5LNFZ2Uk45dnQzZFliNHlwL2pxa29YTHhSdmtXT2Q3N1Fjb2N5?= =?utf-8?B?Y0xicHJNdm9wRW9BalVyOGdiSXNpd2R5QU5ZbkEyay9ESEtKSmI4R1VubG1B?= =?utf-8?B?QUduMTRETDJNYlNCVkREMFJkbXFVcVQvQ1Vnbk1qRUJZUWVrZC9QakJGNjdT?= =?utf-8?B?NnN6WHBjdlZUVlZrSGJVV05UVmEwZCt6V052S2RWZlJGeGZtZ29Dalk2a3VZ?= =?utf-8?B?b1hhVE00emtMRE9nV1ZEUWt2RzZ0UWZRWlh2V1FmZWpmRXdyaW04aUZyL1da?= =?utf-8?B?SCtTYUl6NzVONGdpYloxQ2Y1VUlRQjYzMkpOWElNdld4N1dKTk5kMWt4dU83?= =?utf-8?B?cmQ2QXJ4Vk9EN2JvMngzZkVoc2VMaDdvTXBpVldvb1h2WHRhd1M0aG1jeEtL?= =?utf-8?B?OWJuYytENUh2Qmh3d2luWmFlRjlwa0ZCaXQ2Qy9tNVhmWmJHck9rbGx6aVdr?= =?utf-8?B?bEZNNE9zSVhLRDkxOG4wcmRrN2J5N2VSdXdkV1JreVNDU3NOQUhuWU0rN2ZF?= =?utf-8?B?QTUvaGtpek0zOGx2NlY1ZmcrZEQwQXJtaGFRNG5JK2owZkVGUWFqUTNlRmJi?= =?utf-8?B?NGlLRUxMQ29yQys2b2FTc21pQXcvVm5aQXlRSjVLRUYrR3VkWks4Uzh6OWJu?= =?utf-8?B?QUlrVjA0WHlXQy9UZ082M0tpekF3eVAwV05ZeGdxeW1HaXpKcGpUS1ZwZXdt?= =?utf-8?B?SlJEeHo1ZVpkUzdiMENUUmVZY2lNNnB1TURVT2VqSHJnUXpyeXhFc2czbU51?= =?utf-8?B?VmZqQXY5R0RCSmJmcFhmTStMQVFkM0x4UUdXZnQvSnhzeEJ5MkRBb0FPMFp1?= =?utf-8?B?NEowd0ZOeWRDYkZmaTlxSTNYbWJXZUVDcU10VlBKcjdqUXNBcEhhbEJ2ekdV?= =?utf-8?B?eHY5eTRWcXZCVUtQZjlNU2RDdjVVcFg5UXdJUmZNTlhNa20zOXVVVitZNjY0?= =?utf-8?B?SUtHdUpHbzNidFpXS2NzSTJHTWFreEtsVENWWDBENXF1Q0VSS2FvTXVkUFpp?= =?utf-8?B?b1FIaGtnNTA3T1VVSFJDYk1sek1DZkFYdm5McVB5d3VhTWhIYnJVaTVzSVVV?= =?utf-8?B?Ujk4alpTZXdoVWVYS1JyTDJvdGxma0RkOTQ4bHY2SDdTcGNiUUtlOVp4dGpI?= =?utf-8?Q?9XaK1hDGfPI/Tg7vyc9HF0IGxv8E/rgnuD9ms=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR12MB5396.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230037)(1800799021)(366013)(376011)(38070700015); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RzN2UWlZYStGWjBBQjlQc2NFUTRFYzJ5cHFjL3FQTk5vTHZxakZwZzQya0Zl?= =?utf-8?B?UFAzdUpZK2tjTGd1dHh0cGlOSjNaQWtqMEVGZENiM2VjS0Y3dmZKbDNoZHAx?= =?utf-8?B?RVNmSmY5YkxTaHg4OGtoQjlNbnNvNC9jeEJQSVVtS0JDYysva3dML21aaC9y?= =?utf-8?B?SGtWMGROSzNtbjlFdEsrWUlSb3hzcCtKT3NQQWdnY1lIRnRMOTRULzgrWWp2?= =?utf-8?B?VytxTEpzWjFkRkNJNWtKTStZSk9WUE0rSFpoQUNOMnNZYUpGRklaK1dQNFRp?= =?utf-8?B?UEpreVB5Myt3SUh3N1FDYVprVmZENUdvYnROcVBKclpUR3ppUlpXenp5VytR?= =?utf-8?B?aWptZTd0NGJYQjQ3bWxMYldqSDh2TUh3Zm1zRlRTdWZyeXpoOE5qZ3IyL2U1?= =?utf-8?B?Y0tXSHdTa3hCMTMyRjU4cFdQM0lQR0tFbGw4Skh5cmZ2RjFxM0swdFltU0dE?= =?utf-8?B?WVZaWkxac2NPVG1KaTQ4N1FoZDgwaHlhTC9lWm96T0dqc00wQzJpeG1hT21S?= =?utf-8?B?WUVFSFk5TjFjREZqeW94OFFMSFh6cnBTVUhza3RzK0FLeUhwcmZDTjM3Y3RL?= =?utf-8?B?U3BUc25SMEtuejB4ZU8yWndVdFB5OW80REoyOGxvQ3VZL3Y2aGkzaXhPWHlS?= =?utf-8?B?QVhKbDBtL3VvVzJnU1A0ZXBXN1FHRitCWUV1V2Vhbjg4V1k1eDd1SGRpL3ds?= =?utf-8?B?RFlwTjFoVVl4SGhDMGptWE5mWXQ3cTg3U2dnRlZNcW5hTkw0aGFXK0dmL2hP?= =?utf-8?B?amdRUDFwemNxbjdOZjc1M0lmb1NwY3IzdnI4T2lKRVhHL0ZsYTAwNGpFWGJi?= =?utf-8?B?UUxpeDZEdFpCLy9BRlBaTzZWMHdreFBJQW5yMEJnY3h3UWs5WlpJSk8zRzhz?= =?utf-8?B?bTFqQm9TUUpKUFJkVkhPdEd6TlVXbFJHUmN0UzE1clpDc1FlMTdWSnpqOTdC?= =?utf-8?B?V3VDeGlZODByenU1MVRLTUplcnJmNkJ3Y1NPejE0ZWQ5VW45RlBPTzlJcTNu?= =?utf-8?B?TlRMS05aV0RYMHBPejRYcFFDdXFZcHJUUFo0UDZwOXRISms4QUxWa3V4Qmdi?= =?utf-8?B?cWI2ZTFZY3VqclhCWjkvbkRUN1ZSNTNrb28vR1k2TkdiUjVTRk1oWm1nMlhm?= =?utf-8?B?ZGRwZzhIMnZjbkZMQ3VKZUYxbGNiV0p0aEtUQ01UVnVhRHhKbzF1a0IvQmRX?= =?utf-8?B?Q09GSFJGSDVhR2VSU0dydW1ldDg3K3BwSHdGcXdiU3E2NHQzcHJQNm04cEFN?= =?utf-8?B?NGRRTkEzTFFhMS82cFVlbGVwNU8rRUlLQnhCUUNNSkQyTTBodW1leHlRbTQ0?= =?utf-8?B?ZDZOdG91bGFldldOVXRVZW1FYUJzMmVNam9lbzA3TmlRK05IVHFtbi9Janc4?= =?utf-8?B?RVNZZmw5Q241eXdXTTYyMTNRaXRHZnJodzdFc1JuKzhKRUJsTHhqOXllSkM0?= =?utf-8?B?Um9qa3NjNWNnbmgyc1p1Z1BXMWd4NjRESWdvNFI2VE1ZZ3JxMnlzd3AyTU9x?= =?utf-8?B?ckNzcW9lUU8rd29WZVdlNHNCUDZvRDNScDNHbjZyanZzRFdEbVpIS1VzTUZV?= =?utf-8?B?SWg3L08yUkdQb1NsejdGR0l2WHB6ZVBycUFSa25waGo5bG94djI1UUJsc0Ry?= =?utf-8?B?SFZacTRGak5zUExpY3RWdE1VbDF3dk1pcitTOVZmbFhkWVE0K1RNSngyRC9o?= =?utf-8?B?bThkeTlyTDBXNy9aNnpMU0lnQ2ZsWURzRWZOTXZtSlJWL04rNCtQanJLYndz?= =?utf-8?B?bGcxdXd4R1hXUUJZWkgxem1pMnkwT1cwRjl4bXc1QTVqRHpaQ3VEUUVoNWZu?= =?utf-8?B?VGFiYkdMRnZCVk43bC9MUEFiK0cvQzUrQUNobVVtZklSbDc2MGc5QU9SOXJ2?= =?utf-8?B?bmpJV1hQUTNFYldDbGNmWVJwUUZkdzdmSnhxbUFXRVJJTmZSRXdlck9PZzRF?= =?utf-8?B?Y2Z6ZFlvOUFPdUw3UDZ5WTF1K1M0cmZDVUJqanBSSytYWVFHSmRqOEZoR2VR?= =?utf-8?B?QXU5Uk40WFN1bktDVDJDNVFPbGR5UWY1V1lnZGprYmVWNnA3akFzajA1N0pv?= =?utf-8?B?TGhqdEUvVkk2UnFSa2wySmgwaU96Zmt3TWNFcWlEREF4cEQzRzhROUxEdWVI?= =?utf-8?Q?3LXnYp7b6iX/W81uLozZJO+3b?= 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: CO6PR12MB5396.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0da7f5b4-7960-457f-ba8c-08dc8f62932d X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2024 06:47:51.8228 (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: Wfe1BirV1vuQfglKw9UZOM6J3omple2/HKeGGr3rxtwxYNMJ85tty0fuGQzSdPckP1Lt2H1Lqs7pEDVG22tKMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6891 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 SGkgQWtoaWwsDQoNCkFueSBvdGhlciBzdWdnZXN0aW9ucyByZWdhcmRpbmcgdGhlIHNlcmllcz8N Cg0KQlIsDQpTdWFubWluZw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IFN1YW5taW5nIE1vdSA8c3Vhbm1pbmdtQG52aWRpYS5jb20+DQo+IFNlbnQ6IEZyaWRheSwgSnVu ZSAxNCwgMjAyNCA1OjMyIFBNDQo+IFRvOiBBa2hpbCBHb3lhbCA8Z2FraGlsQG1hcnZlbGwuY29t PjsgTWF0YW4gQXpyYWQgPG1hdGFuQG52aWRpYS5jb20+DQo+IENjOiBkZXZAZHBkay5vcmcNCj4g U3ViamVjdDogUkU6IFtFWFRFUk5BTF0gW1BBVENIIHYyIDEvMl0gY3J5cHRvL21seDU6IG9wdGlt aXplIEFFUy1HQ00NCj4gSVBzZWMgb3BlcmF0aW9uDQo+IA0KPiBIaSwNCj4gDQo+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBBa2hpbCBHb3lhbCA8Z2FraGlsQG1hcnZl bGwuY29tPg0KPiA+IFNlbnQ6IEZyaWRheSwgSnVuZSAxNCwgMjAyNCA1OjA3IFBNDQo+ID4gVG86 IFN1YW5taW5nIE1vdSA8c3Vhbm1pbmdtQG52aWRpYS5jb20+OyBNYXRhbiBBenJhZA0KPiA+IDxt YXRhbkBudmlkaWEuY29tPg0KPiA+IENjOiBkZXZAZHBkay5vcmcNCj4gPiBTdWJqZWN0OiBSRTog W0VYVEVSTkFMXSBbUEFUQ0ggdjIgMS8yXSBjcnlwdG8vbWx4NTogb3B0aW1pemUgQUVTLUdDTQ0K PiA+IElQc2VjIG9wZXJhdGlvbg0KPiA+DQo+ID4gPiBIaSBBa2hpbCwNCj4gPiA+DQo+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEFraGlsIEdveWFsIDxn YWtoaWxAbWFydmVsbC5jb20+DQo+ID4gPiA+IFNlbnQ6IEZyaWRheSwgSnVuZSAxNCwgMjAyNCAy OjQ5IFBNDQo+ID4gPiA+IFRvOiBTdWFubWluZyBNb3UgPHN1YW5taW5nbUBudmlkaWEuY29tPjsg TWF0YW4gQXpyYWQNCj4gPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+DQo+ID4gPiA+IENjOiBkZXZA ZHBkay5vcmcNCj4gPiA+ID4gU3ViamVjdDogUkU6IFtFWFRFUk5BTF0gW1BBVENIIHYyIDEvMl0g Y3J5cHRvL21seDU6IG9wdGltaXplDQo+ID4gPiA+IEFFUy1HQ00gSVBzZWMgb3BlcmF0aW9uDQo+ ID4gPiA+DQo+ID4gPiA+ID4gVG8gb3B0aW1pemUgQUVTLUdDTSBJUHNlYyBvcGVyYXRpb24gd2l0 aGluIGNyeXB0by9tbHg1LCB0aGUgRFBESw0KPiA+ID4gPiA+IEFQSSB0eXBpY2FsbHkgc3VwcGxp ZXMgQUVTX0dDTSBBQUQvUGF5bG9hZC9EaWdlc3QgaW4gc2VwYXJhdGUNCj4gPiA+ID4gPiBsb2Nh dGlvbnMsIHBvdGVudGlhbGx5IGRpc3J1cHRpbmcgdGhlaXIgY29udGlndW91cyBsYXlvdXQuIElu DQo+ID4gPiA+ID4gY2FzZXMgd2hlcmUgdGhlIG1lbW9yeSBsYXlvdXQgZmFpbHMgdG8gbWVldCBo YXJkd2FyZSAoSFcpDQo+ID4gPiA+ID4gcmVxdWlyZW1lbnRzLCBhbiBVTVIgV1FFIGlzIGluaXRp YXRlZCBhaGVhZCBvZiB0aGUgR0NNJ3MgR0dBIFdRRQ0KPiA+ID4gPiA+IHRvIGVzdGFibGlzaCBh IGNvbnRpbnVvdXMgQUFEL1BheWxvYWQvRGlnZXN0IHZpcnR1YWwgbWVtb3J5DQo+ID4gPiA+ID4g c3BhY2UgZm9yIHRoZQ0KPiA+IEhXIE1NVS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEZvciBJUHNl YyBzY2VuYXJpb3MsIHdoZXJlIHRoZSBtZW1vcnkgbGF5b3V0IGNvbnNpc3RlbnRseQ0KPiA+ID4g PiA+IGFkaGVyZXMgdG8gdGhlIGZpeGVkIG9yZGVyIG9mIEFBRC9JVi9QYXlsb2FkL0RpZ2VzdCwg ZGlyZWN0bHkNCj4gPiA+ID4gPiBzaHJpbmtpbmcgbWVtb3J5IGZvciBBQUQgcHJvdmVzIG1vcmUg ZWZmaWNpZW50IHRoYW4gcHJlcGFyaW5nIGENCj4gPiA+ID4gPiBVTVIgV1FFLiBUbyBhZGRyZXNz IHRoaXMsIGEgbmV3IGRldmFyZyAiY3J5cHRvX21vZGUiIHdpdGggbW9kZQ0KPiA+ID4gPiA+ICJp cHNlY19vcHQiIGlzIGludHJvZHVjZWQgaW4gdGhlIGNvbW1pdCwgb2ZmZXJpbmcgYW4NCj4gPiA+ ID4gPiBvcHRpbWl6YXRpb24gaGludCBzcGVjaWZpY2FsbHkgZm9yIElQc2VjIGNhc2VzLiBXaGVu IGVuYWJsZWQsDQo+ID4gPiA+ID4gdGhlIFBNRCBjb3BpZXMgQUFEIGRpcmVjdGx5IGJlZm9yZSBQ YXlsb2FkIGluIHRoZSBlbnF1ZXVlX2J1cnN0DQo+ID4gPiA+ID4gZnVuY3Rpb24gaW5zdGVhZCBv ZiBlbXBsb3lpbmcgdGhlIFVNUiBXUUUuIFN1YnNlcXVlbnRseSwgaW4gdGhlDQo+ID4gPiA+ID4g ZGVxdWV1ZV9idXJzdCBmdW5jdGlvbiwgdGhlIG92ZXJyaWRkZW4gSVYgYmVmb3JlIFBheWxvYWQg aXMNCj4gPiA+ID4gPiByZXN0b3JlZCBmcm9tIHRoZSBHR0EgV1FFLiBJdCdzIGNydWNpYWwgZm9y IHVzZXJzIHRvIGF2b2lkDQo+ID4gPiA+ID4gdXRpbGl6aW5nIHRoZSBpbnB1dCBtYnVmIGRhdGEg ZHVyaW5nDQo+ID4gcHJvY2Vzc2luZy4NCj4gPiA+ID4NCj4gPiA+ID4gVGhpcyBzZWVtcyB2ZXJ5 IHNwZWNpZmljIHRvIG1seDUgYW5kIGlzIG5vdCBhcyBwZXIgdGhlDQo+ID4gPiA+IGV4cGVjdGF0 aW9ucyBvZiBjcnlwdG9kZXYgQVBJcy4NCj4gPiA+ID4NCj4gPiA+ID4gSXQgc2VlbXMgeW91IGFy ZSBhc2tpbmcgdG8gYWx0ZXIgdGhlIHVzZXIgYXBwbGljYXRpb24gdG8NCj4gPiA+ID4gYWNjb21t b2RhdGUgdGhpcyB0byBzdXBwb3J0IElQc2VjLg0KPiA+ID4gPg0KPiA+ID4gPiBDcnlwdG9kZXYg QVBJcyBhcmUgZm9yIGdlbmVyaWMgY3J5cHRvIHByb2Nlc3Npbmcgb2YgZGF0YSBhcw0KPiA+ID4g PiBkZWZpbmVkIGluIHJ0ZV9jcnlwdG9fb3AuDQo+ID4gPiA+IFdpdGggeW91ciBwcm9wb3NlZCBj aGFuZ2VzLCBpdCBzZWVtcyB0aGUgYmVoYXZpb3Igb2YgdGhlIGNyeXB0bw0KPiA+ID4gPiBBUElz IHdpbGwgYmUgZGlmZmVyZW50IGluIGNhc2Ugb2YgbWx4NSB3aGljaCBJIGJlbGlldmUgaXMgbm90 IGNvcnJlY3QuDQo+ID4gPiA+DQo+ID4gPiA+IElzIGl0IG5vdCBwb3NzaWJsZSBmb3IgeW91IHRv IHVzZSBydGVfc2VjdXJpdHkgSVBzZWMgcGF0aD8NCj4gPiA+ID4NCj4gPiA+DQo+ID4gPiBTb3Jy eSBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHRoYXQgY29uZmxpY3RzIHRoZSBBUEksIElJVUMgY3J5 cHRvIEFQSQ0KPiA+ID4gb25seSBqdXN0IGRlZmluZXMgdGhlIEFBRC9QYXlsb2FkL0RpZ2VzdCBp biBzdHJ1Y3QNCj4gPiA+IHJ0ZV9jcnlwdG9fc3ltX29wLCBidXQgbm90IHJlc3RyaWN0IHRoZSBz ZXF1ZW5jZSwgYW5kDQo+ID4gPiBBQUQvUGF5bG9hZC9EaWdlc3QgbWF5IGNvbWUgZnJvbQ0KPiA+ IGRpZmZlcmVuY2UgbWVtb3J5IHNwYWNlLg0KPiA+ID4gQW0gSSBtaXNzaW5nIHNvbWV0aGluZyBo ZXJlPw0KPiA+DQo+ID4gWWVzIHlvdSBhcmUgY29ycmVjdCB0aGF0IHRoZXJlIGlzIG5vIHJlc3Ry aWN0aW9uIHRoZXJlLg0KPiA+DQo+ID4gPiBUaGUgaW5wdXQgcmVxdWlyZW1lbnRzIGZyb20gbWx4 NSBIVyBpcyBBQUQvUGF5bG9hZC9EaWdlc3Qgc2VxdWVuY2UsDQo+ID4gPiBpZiB0aGUgaW5wdXQg bWVtb3J5IG9mIEFBRC9QYXlsb2FkL0RpZ2VzdCBkb2VzIG5vdCBtZWV0IHRoZQ0KPiA+ID4gcmVx dWlyZW1lbnRzLCBQTUQgd2lsbCB0cnkgdG8gY29tYmluZSB0aGUgbWVtb3J5IGFkZHJlc3Mgc3Bh Y2Ugd2l0aA0KPiA+ID4gVU1SIFdRRSBhcyB0aGF0IGNvbW1pdCBkb2VzIGJ5IHNvZnR3YXJlIHNo cmluay4NCj4gPg0KPiA+IEFuZCBoZXJlLCB5b3UgYXJlIGFkZGluZyBhIHJlc3RyaWN0aW9uIGZv ciBJUHNlYyBjYXNlLg0KPiA+IEkgYmVsaWV2ZSB5b3UgbmVlZCBhIHdheSB0byBpZGVudGlmeSBJ UHNlYyBjYXNlIHdpdGggbm9uLWlwc2VjIGNhc2UgaW4gZGF0YQ0KPiBwYXRoLg0KPiA+IEZvciB0 aGF0LCBpbnN0ZWFkIG9mIHVzaW5nIGEgZGV2YXJnKHdoaWNoIGlzIGEgc3BlY2lmaWMgY2FzZSBm b3INCj4gPiBtbHg1KSwgeW91IGNhbiB1c2UgZ2VuZXJpYyBydGVfc2VjdXJpdHkgc2Vzc2lvbiB3 aXRoIGFjdGlvbiB0eXBlDQo+ID4gUlRFX1NFQ1VSSVRZX0FDVElPTl9UWVBFX05PTkUuDQo+IA0K PiBKdXN0IHRvIGVtcGhhc2l6ZSwgdGhpcyBpcyBub3QgYSByZXN0cmljdGlvbiwgd2UgZG9uJ3Qg cmVzdHJpY3QgdXNlciBtdXN0IHVzZSB0aGF0DQo+IGRldmFyZyBmb3IgSVBTRUMgY2FzZS4NCj4g VGhlIHdheSB0byBpZGVudGlmeSBvciBhcHBseSB0aGF0IG9wdGltaXphdGlvbiBpcyB1c2VyJ3Mg ZGV2YXJnIG9mICJpcHNlY19vcHQiLg0KPiBXaXRob3V0IHRoYXQgaGludCBmcm9tIGRldmFyZywg cG1kIHdpbGwgd29yayBpbiBVTVIgbW9kZSB0byBjb21iaW5lIHRoZQ0KPiBtZW1vcnkgYWRkcmVz c2VzLg0KPiBJIGFncmVlIG1vdmUgdG8gb3RoZXIgQVBJIHdpbGwgYWxzbyBtYWtlIHRoZSBoaW50 IHdvcmsuIEJ1dCBpZiBwcm92aWRpbmcgb25lDQo+IGhpbnQgZGV2YXJnIGhlcmUgZG9lcyBub3Qg Y29uZmxpY3QgdGhlIEFQSSBhbmQgYnJpbmcgYmV0dGVyIGNvbXBhdGliaWxpdHksIGl0DQo+IGRv ZXMgbm90IGh1cnQuDQo+IA0KPiA+DQo+ID4gWW91IG1heSBhbHNvIGJlbmVmaXQgZnJvbSBydGVf aXBzZWMgbGlicmFyeSBBUElzIGFuZCB0ZXN0IGZyYW1ld29yaywNCj4gPiBmb3IgcHJvY2Vzc2lu ZyBvZiBwcm90b2NvbCBzcGVjaWZpYyB0aGluZ3Mgd2hpY2ggYXJlIHNwZWNpZmljYWxseQ0KPiA+ IHdyaXR0ZW4gZm9yIFJURV9TRUNVUklUWV9BQ1RJT05fVFlQRV9OT05FIGNhc2UuDQo+IEFuZCBh Z2FpbiwgdGhhbmtzIGZvciB0aGUgc3VnZ2VzdGlvbiwgSSBhc3N1bWUgd2Ugd2lsbCBhbHNvIGNv bnNpZGVyDQo+IHN1cHBvcnRpbmcgdGhhdCBuZXh0IGZvciBydGVfc2VjdXJpdHkgYXMgd2VsbCBp ZiBwb3NzaWJsZSwgdG8gcHJvdmlkZSBtb3JlDQo+IGNob2ljZSBmb3IgdXNlci4NCj4gDQo+ID4N Cj4gPiA+IEFuZCB0aGUgbW9zdCBpbXBvcnRhbnQgdGhpbmcgaXMgdGhhdCAiaXBzZWNfb3B0IiBp cyBub3QgbWFuZGF0b3J5LA0KPiA+ID4gb25seSBpZiB1c2VyIGhhdmUgc3VjaCBjYXNlIG9mIGxh eW91dCBhbmQgYWxsb3dzIHRoYXQgb3B0aW1pemF0aW9uDQo+ID4gPiBoYXBwZW5zLiBPdGhlcndp c2UsIHRoZSBleGlzdGluZyBVTVIgV1FFIHdpbGwgc3RpbGwgYmUgdGhlIGRlZmF1bHQNCj4gPiA+ IGJlaGF2aW9yDQo+ID4gaGVyZS4NCj4gPiA+DQo+ID4gV2l0aCB0aGlzIG5ldyBkZXZhcmcgd2hp Y2ggYXBwbGljYXRpb24gd291bGQgeW91IGJlIHVzaW5nIGZvciB0ZXN0aW5nPw0KPiA+IEkgZG8g bm90IHNlZSBhIHBhdGNoIGZvciBhcHBsaWNhdGlvbiBjaGFuZ2VzIGZvciB0aGUgbGF5b3V0IHRo YXQgeW91DQo+ID4gYXJlIG1lbnRpb25pbmcuDQo+IElJUkMgd2UgdXNlZCB0ZXN0LWNyeXB0by1w ZXJmIHdpdGggaGVhZHJvb20gcHJvcGVyIGNvbmZpZ3VyZWQgbWJ1ZiB0bw0KPiB2ZXJpZnkuDQo+ IElmIHlvdSB0aGluayBhbm90aGVyIG5ldyBhcmcgaXMgd29ydGggdG8gYmUgYWRkZWQgdG8gdGVz dC1jcnlwdG8tcGVyZiB0byBidWlsZA0KPiBldmVyeXRoaW5nLCBJIGNhbiBhbHNvIHNlbmQgYW5v dGhlciBhcHBsaWNhdGlvbiBwYXRjaCB0byBzdXBwb3J0IHRoYXQgbGF0ZXIuKGJ1dA0KPiBzb3Jy eSBkdWUgdG8gZWZmb3J0IGxpbWl0YXRpb24gbWF5YmUgbm90IGhhcHBlbmVkIHNvb24gaW4gdGhh dCBzZXJpZXMpLg0KPiANCj4gVGhhbmtzLA0KPiBTdWFubWluZw0K