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 6D64AA0093; Tue, 26 Apr 2022 04:42:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 148F5406A2; Tue, 26 Apr 2022 04:42:48 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2074.outbound.protection.outlook.com [40.107.220.74]) by mails.dpdk.org (Postfix) with ESMTP id 085CC40691; Tue, 26 Apr 2022 04:42:47 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kHbYGKrsG5gxsvX72H9cl16MJ4n6bpEMsWYJ3XkQGa7eb5q8TiN8paXpicMXNJ6Tz3Ijkzj6etA6eu/kzsvKYaN5IlxyjSgNvfVg1JrJsXiF/W4H5sNkCrUUWFRwuh/EcaHKox97/T/IA2CpqRV3ZUSLHFo8SQUVPNzoF9ICX3mTtmClJrvcWyo9oOm/4yn45S2silcInd1ZeK28H3bY96GfCr5S2Oweo76xo9L9dFqTuiGTZy5je3IgG3Fe9scAtA5aTN4MsuPHxhh/zPGyUFA5BvGzsdirr0aEr+kA2WNUGM7qM1i5u03G83A1cOENIF1GAn8EE5OHuJHe82OA/Q== 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=3Y07jbX/5v2FRSjr51zps9YQctKsuRXbZ2MnoSVQdls=; b=m4nQ1w0Ctm6j+PWougMC2fwubH4PZEs2Z4Cehrqaov/hHhrImo7srMntE9ClfzaHrjjte2ZjkDYYp2I+yT8TKLL9R5UR+3iKtSQqqkSPuCu5ew59qvxpmgLjyEUse5Uf2bLdodDwjHEyuIST0sqpRUu3Ft/ZOx+mgkIGSvDCi2px7v2oxl1uTo3rAf8aZReqF7YSv+jO1wMNUecyIIl8x0rf/CxwZuXluBKpwvDhSgf5yZB1CWwR15PNWUiAF/4QJ2r7mg5yg8HC04XXrC0yEtp0w7kPw164LtsMtpeJ0J6nfWXGHCwrUD6hwZ4z1ZX5RYiQcfbSeRADP7xqdI1xFw== 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=3Y07jbX/5v2FRSjr51zps9YQctKsuRXbZ2MnoSVQdls=; b=NjrDhX1aHJkOiqdoDlFE+PwM9GWn57P2T7D8HNFwbUZ8k8FVkDXRY+L2Kvbrx7trKq+t8CNE8+XJ9Di/BoRKV+hAr6YmIp4VBXYvU8Znm1Qf8EGEUkmfj6uvu/1ZVBzopsEGwTBRA6EDLydHPc/wt4guSzNVDBLyn44xObsOn2sy4VouKa5EaWniLNmKWdmtrvTGFuIxMyvvRenjPf25W3tVr2L5cxJSCE7GsQrT93r84G+XpJQkwcLILi7hBZljk+agwErEoNYHcWA/uwP8JrqX4AultTvEJPXp4uZK/N32o3W7hnF+XGlMXC5n+e6nLR9iFkw7KbNSzD72Pn83PA== Received: from MN2PR12MB3647.namprd12.prod.outlook.com (2603:10b6:208:c4::17) by CY4PR12MB1847.namprd12.prod.outlook.com (2603:10b6:903:11c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Tue, 26 Apr 2022 02:42:44 +0000 Received: from MN2PR12MB3647.namprd12.prod.outlook.com ([fe80::8d1:a70e:28ea:1892]) by MN2PR12MB3647.namprd12.prod.outlook.com ([fe80::8d1:a70e:28ea:1892%7]) with mapi id 15.20.5186.021; Tue, 26 Apr 2022 02:42:43 +0000 From: Spike Du To: Jerin Jacob , Andrew Rybchenko , Cristian Dumitrescu , Ferruh Yigit , "techboard@dpdk.org" CC: Matan Azrad , Slava Ovsiienko , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , dpdk-dev , Raslan Darawsheh Subject: RE: [RFC 0/6] net/mlx5: introduce limit watermark and host shaper Thread-Topic: [RFC 0/6] net/mlx5: introduce limit watermark and host shaper Thread-Index: AQHYSMtoLo2ZnL5ajUm8VmbxE3IO4K0BmD7Q Date: Tue, 26 Apr 2022 02:42:43 +0000 Message-ID: References: <20220401032232.1267376-1-spiked@nvidia.com> In-Reply-To: Accept-Language: zh-CN, 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-office365-filtering-correlation-id: 4e5ffe4a-7310-436f-77df-08da272e7077 x-ms-traffictypediagnostic: CY4PR12MB1847:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eoqYixMKHzDJQwqk6YxCReckgyRAhjBOvszgSso4dhlJh4NtfugQML1CtknzrX4Ux2Jev7mVwV1GgraZBGl8UeQvZRA5fCa8Bv3g7QgBFTGm6yJ8OspZtYJyy+aBa57THD13jraEUk8Jz9xKyfw9VOnooEKL12axmW/ZIWt0vrAej9NFUtyDJUwyb5Uzr8qfH9+7BHbz/luLgrW2m3TACXL3mc9G6FWX+UhCt7ryz0/P3ju/Wr3EdwguY4tOqnCj/DJhfAgkgyE/aavErCGB/4z6zMQEPMVEReDT4ZsYgHXWxiX75SLpQ5qufy4Co4ggBpCZPxZKbqX9SCfLTwouhTnV0PZa//AoH81G/BzURasJnJldKPs1lrb0FfV6SA58mDSJ7cIAl69bx0voZ0Cs1x2KcMZVYDN5uusp3owvKVkaASxHVypnQXKEht8Uk+nO+SMzyoypHQz6YPBGMxnD3tIrLdHRY7swit1Umhf0Cu5RCGKlj/aM0yUx7NKJKyJ0sV6/wh/7t2gPnd1V4zGUjf7agK+iufBe4GaKxwA4Rs/rVY43CtdOM5TcSNTukCvxt+FUSN+1Q4Dpmnw8hQPZALxm8HNU3xUvqIKqGcBzIY6zL7DY3BjdOpeEiBXIteRz35YexT7AUvDJ5E1dbMTMXSsDH7mKLHovX/el5LM5x+HmgHY8xMJJp4l3fCcbWQwVzAGC6cZDbv1qIhzvgmmsOg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3647.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(52536014)(9686003)(83380400001)(26005)(107886003)(8936002)(66446008)(110136005)(316002)(86362001)(5660300002)(33656002)(64756008)(186003)(53546011)(6506007)(7696005)(54906003)(38100700002)(2906002)(122000001)(508600001)(38070700005)(71200400001)(55016003)(8676002)(4326008)(66476007)(76116006)(66946007)(66556008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UEhKZVhoUWsxRTlYNzlTOVEwM25uVnd0MUJxZkNPZ0ZWRW9xQTdEalIvcVgv?= =?utf-8?B?VzU2MjJydjBBTU5IZ091c1cyU2hLYjBiOG50MnJzTTFZR0hxR0V1YWg1S05G?= =?utf-8?B?cUJSandJL2JkS3kwemkxSzNsbENhZ1dEUW9EcTdnVjQ4bnJRVElrdEZUVldW?= =?utf-8?B?YmhCcUcra1FrbS9mdDBNTThFdmMraklEZDVsYVlZQmVQM3BpRXBGUEh4TE5v?= =?utf-8?B?eWFFQVR3c1JrS05MaDBNbk1EM1Y4MWV6ZWxvVFRDY2JzVllBeUFQSTlzWTdj?= =?utf-8?B?SUl1dUZlY3ZPTDZMSS9xMTFPakRQbWZvRWY3WDc3azBPL1pTTmJBWmVPb215?= =?utf-8?B?L3ZJZnZQdFZxOC9kMEZDVFd5K1QwbXFxblFXN0gxNEptVlR6NmdMS2dURE5M?= =?utf-8?B?SkhWTGFJWDI3RXNNWm1URXpEM0taL2hBQ0NjVGZhSE80ZndEb0U0MVhKUUVX?= =?utf-8?B?b2FiN0dhWDk3dzRlbXhSZGdmT1hVTVpqU0VCbXBkOU9qTnB6N1EyV1VUcTEr?= =?utf-8?B?aEdvSWFZMUZNbUFxdnZndkJlZ1hKcytIbHZuVEJPWXNhZmttSWdQQ1c4TWRm?= =?utf-8?B?QWxNaExCQ2VEQzZ5SFpvZzB2d1RYK3RPbWphY0Y2bmtvTU02RE1WZnNFcmpq?= =?utf-8?B?UStqK3BkWEZMaGlCNUtGMXRGUUxWdUFzWXdMQzVjYWtEQ1Q2MVpWazFUblhj?= =?utf-8?B?bVk2TjRUN2lsRXZMNDAxOC9SRjRLU2wxU3E5emxXMW5JSTE0Nml4c2tyNms0?= =?utf-8?B?N2NnT21UTEhBNFlxK3NMYkJDSE1ZdStIMC9vbjdRV0hhcGRVUHZackN5NmR5?= =?utf-8?B?U1IxL3djM1U1QW93ZnJYYVNqRU1tbFBDWnNWV2RELzNzeGZPSU9XK0ZyN0gz?= =?utf-8?B?NUZVOHgreDIrekFnUFFMQXpTbkRKQndWNHRBcTRxSlBuV29GWmVHYWVLUk1V?= =?utf-8?B?V01wWXBEZldoYW9nbE9DZk5TMGlSQ3EvcmsxbFk3VEhtRUpISHkwSHE4eTVO?= =?utf-8?B?OXN0UXJ2cVBFSUpaL21sWkNHeHBRV1BEWmVKK0pOVGdOaFlWZGc1eFR1TWh5?= =?utf-8?B?d3ozSVlmZUI4L1FveEJJTVlISVlYQVd1SS91bDJZRmhuQmtQSFpaU1U3Wjll?= =?utf-8?B?TTJWdjU5MWVDR1kvM1VtRStSWGlzaFU3Ni9Bb256Y0pVblRZSU1ySXQzUG9p?= =?utf-8?B?MEIzTXQwL1I5MXpXV05aNnJwSzdoR09PUmthL2ltRFIzeElCOFQraUlNbHYw?= =?utf-8?B?MmFMZURqeUNiclhkWjJFRXljU0U5N09ZQ1pLNHV1WkJzQzFTT3drb3JsTkRs?= =?utf-8?B?WVgyWmo5eFRkQXB1VGtUNW5LMWNob214UjNXK0NHdStGNmNuTWVJdHF0V0F6?= =?utf-8?B?cDN3TW5mOVJ3Y3Jyd0wyY212M3d2YWNPQjF3d1BPdURXL05Kck9yM2R4K2Nx?= =?utf-8?B?Y0ZNNzROQms3aHFVSldod3ZyZ1gzSGNLYTNsTWl6RjNYakNOR1d1dWlxMzla?= =?utf-8?B?M3JFV2UwWGVqWWpOMUdDTkJHaXhiTFFhRGJGb21IQi9tOXdhYkR2RVRIVVZM?= =?utf-8?B?TnZITEpGanZ0YXo4WFZvQnZRbHJ0cUxTeDBYV2hkWGpDQkJoNEFVVUdwWXdn?= =?utf-8?B?WU5ZQUJjK25MWVJnODdsV0x6L2ZCUmVpYjdWalVpbTJtQlFNL0ZYRlhTZFJD?= =?utf-8?B?cCtUTEQvZ1FhTmttdjFpeEpncGROL1kyeUVDRTZBV1FKY0NRS2kweElZc21s?= =?utf-8?B?Q05ERmRCTWl6UjV1cVJ6K1JGU3pPSmxEVGw3QXQrZkc5di95blZWb1lYK2Vj?= =?utf-8?B?U2crOWJFenEyY0NOaitmV0h5V2ZzVUh4bzZzTHJvbXN1YUdBNGlRbnNUSVBR?= =?utf-8?B?MUQxQU02S0RRRHlaWithbFhTQUx0NHZZbTNnSThtbWJtYWN6L3pKcnlxbk8x?= =?utf-8?B?eGtucnBMQ29MK1U0K2lKZkhWYWh1bWVvSUxXQ2pZZW9McUMyMXhaV3YycDl5?= =?utf-8?B?VDcwaXNDNnFKUnhHNzJKTDhYS0pHY0dDaGkyQ0VLV1dJOFFSQSs1RmtZN0oz?= =?utf-8?B?bmlmVUJvcllzbU9BWEFBS3IrVmp2SkNRY0FDN1dnZk5ZMzBjL3c5cnpxWWpx?= =?utf-8?B?elgrT2VUVEJyeVJFa0d0R3RrWmE3UVR2dzZZYURMZy9kb2JWUWJZa1BNNGI5?= =?utf-8?B?UFhad3VNMkh5NjFjM2VFQW5mMkxMRzRxSHVubEhJQ1JaUEJ5VVA0S1JFWW9v?= =?utf-8?B?bXVMOGVJWGdTU0NpYkJud0VLWmUxaXpkaTlOUi9XdmxyVEgyQmlDdGRKazhl?= =?utf-8?Q?A1acOdbbTMCXnxL+k+?= 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: MN2PR12MB3647.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e5ffe4a-7310-436f-77df-08da272e7077 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2022 02:42:43.4734 (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: /yD5WhG4n2VQHrRpF+KCn3LGzyjQMzYwRoq8GdMDCDfa3GcET6qOq0VfKBW/PMr07sRrcIZGmkbWGmTgVU5skA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1847 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 SGkgSmVyaW4sCQ0KCVRoYW5rcyBmb3IgeW91ciBjb21tZW50cyBhbmQgc29ycnkgZm9yIHRoZSBs YXRlIHJlc3BvbnNlLg0KDQoJRm9yIGNhc2Ugb25lLCBJIHRoaW5rIEkgY2FuIHJlZmluZSB0aGUg ZGVzaWduIGFuZCBhZGQgTFdNKGxpbWl0IHdhdGVybWFyaykgaW4gcnRlX2V0aF9yeGNvbmYsIGFu ZCBhZGQgYSBuZXcgcnRlX2V0aF9ldmVudF90eXBlIGV2ZW50Lg0KDQoJRm9yIGNhc2UgdHdvKGhv c3Qgc2hhcGVyKSwgSSB0aGluayB3ZSBjYW4ndCB1c2UgUlggbWV0ZXIsIGJlY2F1c2UgaXQncyBh Y3R1YWxseSBUWCBzaGFwZXIgb24gYSByZW1vdGUgc3lzdGVtLiBJdCdzIHF1aXRlIHNwZWNpZmlj IHRvIE1lbGxhbm94L052aWRpYSBCbHVlRmllbGQgMihCRjIgZm9yIHNob3J0KSBOSUMuIFRoZSBO SUMgY29udGFpbnMgYW4gQVJNIHN5c3RlbS4gV2UgaGF2ZSB0d28gdGVybXMgaGVyZTogSG9zdC1z eXN0ZW0gc3RhbmRzIGZvciB0aGUgc3lzdGVtIHRoZSBCRjIgTklDIGlzIGluc2VydGVkOyBBUk0t c3lzdGVtIHN0YW5kcyBmb3IgdGhlIGVtYmVkZGVkIEFSTSBpbiBCRjIuIEFSTS1zeXN0ZW0gaXMg ZG9pbmcgdGhlIGZvcndhcmRpbmcuIFRoaXMgaXMgdGhlIHdheSBob3N0IHNoYXBlciB3b3Jrczog d2UgY29uZmlndXJlIHRoZSByZWdpc3RlciBvbiBBUk0tc3lzdGVtLCBidXQgaXQgYWZmZWN0cyBI b3N0LXN5c3RlbSdzIFRYIHNoYXBlciwgd2hpY2ggbWVhbnMgdGhlIHNoYXBlciBpcyB3b3JraW5n IG9uIHRoZSByZW1vdGUgcG9ydCwgaXQncyBub3QgYSBSWCBtZXRlciBjb25jZXB0LCBoZW5jZSB3 ZSBjYW4ndCB1c2UgRFBESyBSWCBtZXRlciBmcmFtZXdvcmsuIEknZCBzdWdnZXN0IHRvIHN0aWxs IHVzZSBwcml2YXRlIEFQSS4NCg0KCUZvciB0ZXN0cG1kIHBhcnQsIEkgdW5kZXJzdGFuZCB5b3Vy IGNvbmNlcm4uIEJlY2F1c2Ugd2UgbmVlZCBvbmUgcHJpdmF0ZSBBUEkgZm9yIGhvc3Qgc2hhcGVy LCBhbmQgd2UgbmVlZCB0ZXN0cG1kJ3MgZm9yd2FyZGluZyBjb2RlIHRvIHNob3cgaG93IGl0IHdv cmtzIHRvIHVzZXIsIHdlIG5lZWQgdG8gY2FsbCB0aGUgcHJpdmF0ZSBBUEkgaW4gdGVzdHBtZC4g SWYgY3VycmVudCBwYXRjaCBpcyBub3QgYWNjZXB0YWJsZSwgd2hhdCdzIHRoZSBjb3JyZWN0IHdh eSB0byBkbyBpdD8gQW55IGZyYW1ld29yayB0byBpc29sYXRlIHRoZSBQTUQgcHJpdmF0ZSBsb2dp YyBmcm9tIHRlc3RwbWQgY29tbW9uIGNvZGUsIGJ1dCBzdGlsbCBnaXZlIGEgY2hhbmNlIHRvIGNh bGwgcHJpdmF0ZSBBUElzIGluIHRlc3RwbWQ/DQoNCg0KUmVnYXJkcywNClNwaWtlLg0KDQoNCg0K PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5q YWNvYmtAZ21haWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBcHJpbCA1LCAyMDIyIDQ6NTkgUE0N Cj4gVG86IFNwaWtlIER1IDxzcGlrZWRAbnZpZGlhLmNvbT47IEFuZHJldyBSeWJjaGVua28NCj4g PGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PjsgQ3Jpc3RpYW4gRHVtaXRyZXNjdQ0KPiA8 Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb20+OyBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdp dEBpbnRlbC5jb20+Ow0KPiB0ZWNoYm9hcmRAZHBkay5vcmcNCj4gQ2M6IE1hdGFuIEF6cmFkIDxt YXRhbkBudmlkaWEuY29tPjsgU2xhdmEgT3ZzaWllbmtvDQo+IDx2aWFjaGVzbGF2b0BudmlkaWEu Y29tPjsgT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT47IE5CVS1Db250YWN0LQ0KPiBUaG9tYXMg TW9uamFsb24gKEVYVEVSTkFMKSA8dGhvbWFzQG1vbmphbG9uLm5ldD47IGRwZGstZGV2DQo+IDxk ZXZAZHBkay5vcmc+OyBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+DQo+IFN1 YmplY3Q6IFJlOiBbUkZDIDAvNl0gbmV0L21seDU6IGludHJvZHVjZSBsaW1pdCB3YXRlcm1hcmsg YW5kIGhvc3Qgc2hhcGVyDQo+IA0KPiBFeHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3Blbmlu ZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiANCj4gDQo+IE9uIEZyaSwgQXByIDEsIDIwMjIgYXQg ODo1MyBBTSBTcGlrZSBEdSA8c3Bpa2VkQG52aWRpYS5jb20+IHdyb3RlOg0KPiA+DQo+ID4gTFdN KGxpbWl0IHdhdGVybWFyaykgaXMgcGVyIFJYIHF1ZXVlIGF0dHJpYnV0ZSwgd2hlbiBSWCBxdWV1 ZSBmdWxsbmVzcw0KPiA+IHJlYWNoIHRoZSBMV00gbGltaXQsIEhXIHNlbmRzIGFuIGV2ZW50IHRv IGRwZGsgYXBwbGljYXRpb24uDQo+ID4gSG9zdCBzaGFwZXIgY2FuIGNvbmZpZ3VyZSBzaGFwZXIg cmF0ZSBhbmQgbHdtLXRyaWdnZXJlZCBmb3IgYSBob3N0IHBvcnQuDQo+ID4gVGhlIHNoYXBlciBs aW1pdHMgdGhlIHJhdGUgb2YgdHJhZmZpYyBmcm9tIGhvc3QgcG9ydCB0byB3aXJlIHBvcnQuDQo+ ID4gSWYgbHdtLXRyaWdnZXJlZCBpcyBlbmFibGVkLCBhIDEwME1icHMgc2hhcGVyIGlzIGVuYWJs ZWQgYXV0b21hdGljYWxseQ0KPiA+IHdoZW4gb25lIG9mIHRoZSBob3N0IHBvcnQncyBSeCBxdWV1 ZXMgcmVjZWl2ZXMgTFdNIGV2ZW50Lg0KPiA+DQo+ID4gVGhlc2UgdHdvIGZlYXR1cmVzIGNhbiBj b21iaW5lIHRvIGNvbnRyb2wgdHJhZmZpYyBmcm9tIGhvc3QgcG9ydCB0byB3aXJlDQo+IHBvcnQu DQo+ID4gVGhlIHdvcmsgZmxvdyBpcyBjb25maWd1cmUgTFdNIHRvIFJYIHF1ZXVlIGFuZCBlbmFi bGUgbHdtLXRyaWdnZXJlZA0KPiA+IGZsYWcgaW4gaG9zdCBzaGFwZXIsIGFmdGVyIHJlY2Vpdmlu ZyBMV00gZXZlbnQsIGRlbGF5IGEgd2hpbGUgdW50aWwgUlgNCj4gPiBxdWV1ZSBpcyBlbXB0eSAs IHRoZW4gZGlzYWJsZSB0aGUgc2hhcGVyLiBXZSByZWN5Y2xlIHRoaXMgd29yayBmbG93IHRvDQo+ IHJlZHVjZSBSWCBxdWV1ZSBkcm9wcy4NCj4gPg0KPiA+IFNwaWtlIER1ICg2KToNCj4gPiAgIG5l dC9tbHg1OiBhZGQgTFdNIHN1cHBvcnQgZm9yIFJ4cQ0KPiA+ICAgY29tbW9uL21seDU6IHNoYXJl IGludGVycnVwdCBtYW5hZ2VtZW50DQo+ID4gICBuZXQvbWx4NTogYWRkIExXTSBldmVudCBoYW5k bGluZyBzdXBwb3J0DQo+ID4gICBuZXQvbWx4NTogYWRkIHByaXZhdGUgQVBJIHRvIGNvbmZpZ3Vy ZSBSeHEgTFdNDQo+ID4gICBuZXQvbWx4NTogYWRkIHByaXZhdGUgQVBJIHRvIGNvbmZpZyBob3N0 IHBvcnQgc2hhcGVyDQo+ID4gICBhcHAvdGVzdHBtZDogYWRkIExXTSBhbmQgSG9zdCBTaGFwZXIg Y29tbWFuZA0KPiANCj4gKyBAQW5kcmV3IFJ5YmNoZW5rbyAgQEZlcnJ1aCBZaWdpdCBjcmlzdGlh bi5kdW1pdHJlc2N1QGludGVsLmNvbQ0KPiANCj4gSSB0aGluaywgY2FzZSBvbmUsIGNhbiBiZSBl YXNpbHkgYWJzdHJhY3RlZCB2aWEgYWRkaW5nIG5ldw0KPiBydGVfZXRoX2V2ZW50X3R5cGUgZXZl bnQgYW5kIGNhc2UgdHdvIGNhbiBiZSBhYnN0cmFjdGVkIHZpYSB0aGUgZXhpc3RpbmcNCj4gUngg bWV0ZXIgZnJhbWV3b3JrIGluIGV0aGRldi4NCj4gDQo+IEFsc28sIFVwZGF0aW5nIGdlbmVyaWMg dGVzdHBtZCB0byBzdXBwb3J0IFBNRCBzcGVjaWZpYyBBUEkgc2hvdWxkIGJlDQo+IGF2b2lkZWQs IEkga25vdyB0aGVyZSBpcyBleGlzdGluZyBzdHVmZiBpbiB0ZXN0cG1kLCBJIHRoaW5rLCB3ZSBz aG91bGQgaGF2ZSB0aGUNCj4gcG9saWN5IHRvIGFkZCBQTUQgc3BlY2lmaWMgY29tbWFuZHMgdG8g dGVzdHBtZC4NCj4gDQo+IFRoZXJlIGFyZSBhcm91bmQgNTZQTURzIGluIGV0aGRldiBub3csIElm IFBNRHMgdHJ5IHRvIGFkZCBQTUQgc3BlY2lmaWMNCj4gQVBJIGluIHRlc3RwbWQgaXQgd2lsbCBi ZSBibG9hdGVkIG9yIGF0IG1pbmltdW0sIGl0IHNob3VsZCBhIHNlcGFyYXRlIGZpbGUgaW4NCj4g dGVzdHBtZCBpZiB3ZSBjaG9vc2UgdG8gdGFrZSB0aGF0IHBhdGguDQo+IA0KPiArIEB0ZWNoYm9h cmRAZHBkay5vcmcNCg==