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 BB27DA0548; Tue, 27 Apr 2021 11:57:55 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4AFEE4067E; Tue, 27 Apr 2021 11:57:54 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 7E9BD40150 for ; Tue, 27 Apr 2021 11:57:52 +0200 (CEST) IronPort-SDR: hOUKK84pzV2UsN7p23LbmoNPP//wsMVIqt4xOgkG24yKSLT1LEN018PuxBsCNJyq8uDa9lb0oq gbJdkR7sXjww== X-IronPort-AV: E=McAfee;i="6200,9189,9966"; a="281813346" X-IronPort-AV: E=Sophos;i="5.82,254,1613462400"; d="scan'208";a="281813346" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2021 02:57:51 -0700 IronPort-SDR: IDfevoW+wEnfnJXTmiPBF6Zi3e7CSc2FuQ3SaJKTEXfD/Mwvye+Ja7YCBeBYqpm6hJvTVq1P7B znsWYwd7DWOg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,254,1613462400"; d="scan'208";a="457551562" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga002.fm.intel.com with ESMTP; 27 Apr 2021 02:57:51 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 27 Apr 2021 02:57:50 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Tue, 27 Apr 2021 02:57:50 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Tue, 27 Apr 2021 02:57:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZCF4fI0bI+3nC8GN9KtdaPLCNCY3o2LtpK+pbMWqjl5TeqlYtugLBqS5jggGmuZBgLKAcsJboEI4kC9+z4Vt/J3Db1jytwu4O4NSrSEU1ErPVJbdfe19UkRMuEC2hApsLnSDrExFk48+gjxip/r0QMkMTeTRMdzyrtgc1Gk3vRjFEmTCvoFsQpKDOl7kiVvxMzhgsJzugNRp/i2WgM6pJNPCvoM5eVJfb6UuarXSdoKKjqRXLMOmNQQ424S+guxBQEwe1S9ipN01bZqBPjTmRSw5cPpNW959GuI6Gs9lftjUUzSMXMQKj8Z7X16FT9wfS4Y9s9Vf7btsmQhchbA0FQ== 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-SenderADCheck; bh=ZEExJIakJDPqAf9etg0BAhshpq30Ng1SLwiKQWfOvFQ=; b=LwdxohTZHi7i1wQFHgZCwaYsCpTVY1d10+YFPMNbIlhrL9JwNpKsrdx04vJG9lTF0JNill+58OOSdlHHtzkt8GKxCLLJoRVoBBWlXmIjQh3r2y6thu8CPXyvHgMUmGDrNmtTmQuvKzP+K4KSW61g9NChhIngki8j5QKgQQ44LKE5lVL+kW5M07CWUTpDsuitgaGsgKE0tUgADojtOSlj9/2tVr5oz3qS9+sIbKrs2qw9V7rv22IughH7yJZ3P8I5Ag9ZpI54M1P3ZW886b4dbzJyopVx0bcUJwNojfympz2qUcPNkIxyUu5+aDYEiZXqT+dW3/G5+Kds01OBHXteXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZEExJIakJDPqAf9etg0BAhshpq30Ng1SLwiKQWfOvFQ=; b=DOFO5Oycorh7JZtImomsnwyZS67PT1kVlCmQXRH4t3c57Na0w0B9jdi7udIJ36VYmWH567vLi2mlGK/tY11y7SirsHnlYYGMRpI+BOKWj1aDtTqEUPa8ZlZck/CfWVgIES7ZdhFi0JPZLi+d5nJUWORAxL3WFvhsWAnez3y7v5g= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM5PR11MB1628.namprd11.prod.outlook.com (2603:10b6:4:c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.23; Tue, 27 Apr 2021 09:57:44 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::15ed:b4f4:540e:ea0c]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::15ed:b4f4:540e:ea0c%7]) with mapi id 15.20.4065.027; Tue, 27 Apr 2021 09:57:43 +0000 From: "Ananyev, Konstantin" To: "Yigit, Ferruh" , Honnappa Nagarahalli , Stephen Hemminger , Jerin Jacob CC: Kathleen Capella , "thomas@monjalon.net" , "dev@dpdk.org" , Dharmik Thakkar , Ruifeng Wang , "david.marchand@redhat.com" , "Richardson, Bruce" , "jerinj@marvell.com" , "hemant.agrawal@nxp.com" , "Ananyev, Konstantin" , Stephen Hemminger , nd Thread-Topic: [dpdk-dev] L3fwd mode in testpmd Thread-Index: AdcV2H0Bhkmz7z6QTBeC8FixZy3dngAaQ6AAABIFuOAAAQNCAAAAQNqgA/efEhAAAYi7gAAF6HhgAAl7GoAEe3+OoAB4fPWAABDYiwAABc478AAb06kAAAAT1EA= Date: Tue, 27 Apr 2021 09:57:43 +0000 Message-ID: References: <2273212.ItJIoklBD0@thomas> <20210426104720.2b892045@hermes.local> <81781e97-735c-f584-4148-ff07dedc5cb4@intel.com> In-Reply-To: <81781e97-735c-f584-4148-ff07dedc5cb4@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.255.184.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8d9ffe12-084f-4f62-e43b-08d90962e729 x-ms-traffictypediagnostic: DM5PR11MB1628: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nOWVivGTRq7spIsJbyNTCKyQtHMkhHtdrFuCy+HaHkS1Hv+rwbJd0OL5u8gatReIWtYZ8SQKvciUTQRqGo4Iv7KhvyqE0i/SHiUCTQ3B/BfgzBYzEDVqet+pM3hq2lwGou90QHGL4yTHBkq+5TkgK2QZCZGkJlOHdhByfxDRS8W3uOMcu0GAD4vMYFC+T7IrfO3nLqi9LgHCILRHR6KJ0jlq5KuY8VBZg//nD40lpWkoR+BTG+Dy1cdYfWAgWGCrW6wuWm/InxnHdB9F8Au7HoE5C0Na1d/W2fSCBzlEhKeW94VCZv+Xq63ZAJHOYgaSS0onHftlIddgmzEDI9oJE6FiYE3ZS+gJfN2IX7Tyq9lzpQvazXi1Sj8EBNacqpZ1Chw+hHAuBwnCMe2q/zvsHR2sCRF+/595hMNP1reU14CUL74jxnOcePY1lgSDMMdxhMvLZRuwKE1rpUKl1crNlRCPORE8WXaWKcl874JhZU/v391SQjTcTcbnq9l44v6ha9nApXFK/1QxbRTFhd5oHWlM2WygaVCtGpEFY3gv94SMgO/NRCYZD3+p/5QvXuqawwyGDWwnRaTGX7unCDZY6a7v/aPy8XS+OhFQoCYhKZUcygzqzJVhR7d9TqL6R3hgQXrVl0LerN4Ib/MPvJjwOA2Nig4WxkfTPYAqW8NeaHPUbC1810OWByPOlhILt1s8CFoV14UNqw/myxzilUXg4HJ6hYs29Luo7eaeMSjdQSM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(66946007)(6506007)(86362001)(26005)(2906002)(498600001)(4326008)(76116006)(83380400001)(33656002)(54906003)(66446008)(64756008)(8936002)(110136005)(8676002)(66556008)(66476007)(71200400001)(122000001)(52536014)(55236004)(966005)(186003)(7696005)(55016002)(53546011)(9686003)(5660300002)(7416002)(38100700002)(32563001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?b01nQnVFamdYbFNxcUtoeTB2anJCZTRaRlNPV2dxd2JnaVpjZ3dzQkk5RlBW?= =?utf-8?B?VXhFZmlaR1pzYk5RWm5tSTFud0duc2RMNk1JYS9DQURMY0ZBVXgwM2FGQkN5?= =?utf-8?B?cURRaHVjWitDNVFwQk5DNVl4VUVpRHNYWmJlbGNlc0pPZnZGUU5jRUJYRHF6?= =?utf-8?B?cWpBb09sZ3lxckJ2b1FFSVVwQW1XVC9XZnFMdFE2WTVuWldtcmI1K1U5d3dC?= =?utf-8?B?VlZpYTlaT1l0Q3Z1anBUWUhHcEtkMlpPVDhBelBWeWFJanpSanVOdVlESXJW?= =?utf-8?B?eU02cG1odUN3a09COVdUYkJ0SzBaVzhoTmNuYkdyZzBzT25jQmFhUEFodjdi?= =?utf-8?B?YjJoM0NoanBTQXFnZ2xyWHJqTXhac2szbWRmUndqblNXRXJFUjIrQWFEenZB?= =?utf-8?B?Tkx4U2VqYWR1cUx6UWttZTUxd3JRY25YRjc1MDN2Y2ZrR1cxNWdlWjl4NEdP?= =?utf-8?B?Zk1LL0lVbjhxRkQ0UFZ3b0QxL0x1d0VDTE9IWWhONWdxdDcyalpGWFJ2WGtk?= =?utf-8?B?ZWtlbjFOVTR3VlI4S1VMRUlYQkhqd3lZVXdtSnBEVTdEbmc3dXRFVXd4c2lt?= =?utf-8?B?Y0tmTVZsQ0VTWHlwcFQwb01xWjR6dUJuYWZZZ1dSNHJkQjEzQlJyRGwzdHkw?= =?utf-8?B?OTNJcDhmcXZoK1BPMnFHS3hqQVVHTnlvVkFGdmoxdC9qaVZyYml2dEl5U0tX?= =?utf-8?B?Y3ovVExRWkFBZGlZdFlCeXk1c1gyc1FFZGsvVHZPRVFxc05ualYvTnkrWHFl?= =?utf-8?B?dit1Zm1SSGVjemFkTzRuT2dOOGFnYXM5OXlQYW1jc29QT3huUEswcUphV2Uw?= =?utf-8?B?MnBJdVBHL0NDeWlFOEdCTVlFYVNCUXFra1h6a3pkYzcxL3FrczA0THBCZGxk?= =?utf-8?B?RThUbW9JUmdDYm5OYlFBeEV6SGRjR3BQMEIyWnNWTzhxMWZHaXY1UDgrMEFn?= =?utf-8?B?bitJenVlV0d6QTdaMVJzSitEVlRhQUxaWDkvbWxMbXBjRmhlcm5aakp4NU1n?= =?utf-8?B?L09RNnM4TCtqUTRyYW1kQk04MEQxQzNvaEdtcmRoOENaZjVEbk9kVnVWQnNa?= =?utf-8?B?RDl1Q2I1UEdCRWthMmF2VHVlS0pRcjJOdjZiUFlMNmxEMUpVUlVQVENZaVpn?= =?utf-8?B?dVpiWXZZSmo4ck1ZS3hDc1pNRC9tNFdHS0ZuaVZMdzVlMDZaTE45cWRwTFlO?= =?utf-8?B?YWszWGtjc1FmZEQ1dEJFbHlpajJsQ1EvRkNzRHQ3ajRBUW14R1hjNXRzUFdu?= =?utf-8?B?VElEOGhLZHNBSWtsRnU0RTh5NmtrZE1YZ0w0VjEzaEJ1R081d0ZlZTZDdldR?= =?utf-8?B?Umwyb0lZMlFZS3FUanFFbm53WWcrejRqNlc1YlNhMTNvYVozc3ZvREpQeWVj?= =?utf-8?B?YUdZUzF1UlNjcGFaRG5wZFdMTG5VcnUzdFd4czFWS2V4MnBYUmhkL1JZOEZK?= =?utf-8?B?SlhFc0hmaU9QSHhrblhCdS93N3F0WTluMkFDc1VpWjJnaFVZTzcza3RJZFJz?= =?utf-8?B?aUNiRlNsalpIVWtHbGxCVWVTeVVRV20yNy9XbkZZbytWTnZwUFRqQlZSanZ3?= =?utf-8?B?a0ozU3c2Qkg0d0xGRmNUd0k4eGo1dldtZ1p2aWpDclRmOUFTMm9zSjVGWVo3?= =?utf-8?B?V0lRMmVzcXdpbGl6NWV4ZnZTWXAyUGlqckhBbWZHZUFCNWVwWEFNdUo3MUto?= =?utf-8?B?aHN1WExQUFZSR0VXQU8rRk1qVTNtdllnNG1IZCtSWnhOeVZ0Myt2YXpIcHI4?= =?utf-8?Q?CtrbEt5iaF5Fxlh0D98fH6uR5Q2cTGULp81PpOK?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d9ffe12-084f-4f62-e43b-08d90962e729 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Apr 2021 09:57:43.8013 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YA5/BXNAGYR6/zqanCe4zrB0mRp/cbmLI3ZMXdkuAOzYoa/KAmw8pz202K7lsQIr7cwdzb1Woda9M9hmPl2EAfHobm9uh6vcgL1TQX4OqGk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1628 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] L3fwd mode in testpmd 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWWlnaXQsIEZlcnJ1aCA8 ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgQXByaWwgMjcsIDIwMjEg MTA6NTAgQU0NCj4gVG86IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5OYWdhcmFoYWxs aUBhcm0uY29tPjsgU3RlcGhlbiBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3Jn PjsgSmVyaW4gSmFjb2INCj4gPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gQ2M6IEthdGhsZWVu IENhcGVsbGEgPEthdGhsZWVuLkNhcGVsbGFAYXJtLmNvbT47IHRob21hc0Btb25qYWxvbi5uZXQ7 IGRldkBkcGRrLm9yZzsgRGhhcm1payBUaGFra2FyDQo+IDxEaGFybWlrLlRoYWtrYXJAYXJtLmNv bT47IFJ1aWZlbmcgV2FuZyA8UnVpZmVuZy5XYW5nQGFybS5jb20+OyBkYXZpZC5tYXJjaGFuZEBy ZWRoYXQuY29tOyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5j b20+OyBqZXJpbmpAbWFydmVsbC5jb207IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207IEFuYW55ZXYs IEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+Ow0KPiBTdGVwaGVuIEhl bW1pbmdlciA8c3RoZW1taW5AbWljcm9zb2Z0LmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJq ZWN0OiBSZTogW2RwZGstZGV2XSBMM2Z3ZCBtb2RlIGluIHRlc3RwbWQNCj4gDQo+IE9uIDQvMjYv MjAyMSA5OjQ2IFBNLCBIb25uYXBwYSBOYWdhcmFoYWxsaSB3cm90ZToNCj4gPiA8c25pcD4NCj4g Pg0KPiA+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBPbiBUaHUsIE1hciAxMSwgMjAyMSBhdCAxMjowMSBB TSBIb25uYXBwYQ0KPiA+Pj4+Pj4+Pj4+Pj4gTmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhh bGxpQGFybS5jb20+IHdyb3RlOg0KPiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4gSGVs bG8sDQo+ID4+Pj4+Pj4+Pj4+Pj4gICAgICAgICBQZXJmb3JtYW5jZSBvZiBMM2Z3ZCBleGFtcGxl IGFwcGxpY2F0aW9uDQo+ID4+Pj4+Pj4+Pj4+Pj4gaXMgb25lIG9mIHRoZSBrZXkNCj4gPj4+Pj4+ Pj4+Pj4+IGJlbmNobWFya3MgaW4gRFBESy4gSG93ZXZlciwgdGhlIGFwcGxpY2F0aW9uIGRvZXMN Cj4gPj4+Pj4+Pj4+Pj4+IG5vdCBoYXZlIG1hbnkgZGVidWdnaW5nIHN0YXRpc3RpY3MgdG8gdW5k ZXJzdGFuZCB0aGUNCj4gPj4+Pj4+Pj4+Pj4+IHBlcmZvcm1hbmNlIGlzc3Vlcy4gV2UgaGF2ZSBh ZGRlZCBMM2Z3ZCBhcyBhbm90aGVyDQo+ID4+Pj4+Pj4+Pj4+PiBtb2RlL3N0cmVhbSB0byB0ZXN0 cG1kIHdoaWNoIHByb3ZpZGVzDQo+ID4+Pj4+Pj4+Pj4gZW5vdWdoDQo+ID4+Pj4+Pj4+Pj4+PiBz dGF0aXN0aWNzIGF0IHZhcmlvdXMgbGV2ZWxzLiBUaGlzIGhhcyBhbGxvd2VkIHVzIHRvDQo+ID4+ Pj4+Pj4+Pj4+PiBkZWJ1ZyB0aGUgcGVyZm9ybWFuY2UgaXNzdWVzIGVmZmVjdGl2ZWx5Lg0KPiA+ Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4gVGhlcmUgaXMgbW9yZSB3b3JrIHRvIGJlIGRv bmUgdG8gZ2V0IGl0IHRvDQo+ID4+Pj4+Pj4+Pj4+Pj4gdXBzdHJlYW1hYmxlIHN0YXRlLiBJIGFt DQo+ID4+Pj4+Pj4+Pj4+PiB3b25kZXJpbmcgaWYgc3VjaCBhIHBhdGNoIGlzIGhlbHBmdWwgZm9y IG90aGVycyBhbmQNCj4gPj4+Pj4+Pj4+Pj4+IGlmIHRoZSBjb21tdW5pdHkgd291bGQgYmUgaW50 ZXJlc3RlZCBpbiB0YWtpbmcgYQ0KPiA+Pj4+Pj4+Pj4+Pj4gbG9vay4gUGxlYXNlIGxldCBtZSBr bm93DQo+ID4+Pj4+Pj4+PiB3aGF0IHlvdSB0aGluay4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pj4+PiBXZSBhcmUgdXNpbmcgYXBwL3Byb2MtaW5mby8gdG8gYXR0YWNoIGFuZCBhbmFseXpl DQo+ID4+Pj4+Pj4+Pj4+PiB0aGUNCj4gPj4+Pj4gcGVyZm9ybWFuY2UuDQo+ID4+Pj4+Pj4+Pj4+ PiBUaGF0IGhlbHBzIHRvIGFuYWx5emUgdGhlIHVubW9kaWZpZWQgYXBwbGljYXRpb24uIEkNCj4g Pj4+Pj4+Pj4+Pj4+IHRoaW5rLCBpZiBzb21ldGhpbmcgaXMgbWlzc2luZyBpbiBwcm9jLWluZm8g YXBwLCBpbg0KPiA+Pj4+Pj4+Pj4+Pj4gbXkgb3BpbmlvbiBpdCBpcyBiZXR0ZXIgdG8gZW5oYW5j ZSBwcm9jLWluZm8gc28gdGhhdA0KPiA+Pj4+Pj4+Pj4+Pj4gaXQgY2FuIGhlbHAgb3RoZXIgdGhp cmQtcGFydHkNCj4gPj4+Pj4+PiBhcHBsaWNhdGlvbnMuDQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+ Pj4+Pj4+Pj4gSnVzdCBteSAyYy4NCj4gPj4+Pj4+Pj4+Pj4gVGhhbmtzIEplcmluLiBXZSB3aWxs IGV4cGxvcmUgdGhhdC4NCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IEkgYWdyZWUgaXQgaXMg ZGFuZ2Vyb3VzIHRvIHJlbHkgdG9vIG11Y2ggb24gdGVzdHBtZCBmb3INCj4gPj4gZXZlcnl0aGlu Zy4NCj4gPj4+Pj4+Pj4+PiBQbGVhc2UgdGVsbCB1cyB3aGF0IGluIHRlc3RwbWQgY291bGQgYmUg dXNlZnVsIG91dCBvZiBpdC4NCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gVGhpbmdzIHRoYXQg YXJlIHZlcnkgaGVscGZ1bCBpbiB0ZXN0cG1kIGFyZTogMSkgSFcNCj4gPj4+Pj4+Pj4+IHN0YXRp c3RpY3MgZnJvbSB0aGUgTklDIDIpIEZvcndhcmRpbmcgc3RhdHMgMykgQnVyc3Qgc3RhdHMNCj4g Pj4+Pj4+Pj4+IChpbmRpY2F0aW9uIG9mIGhlYWRyb29tDQo+ID4+Pj4+Pj4+PiBhdmFpbGFiaWxp dHkpIDQpIEVhc3kgdG8gc2V0IHBhcmFtZXRlcnMgbGlrZSBSWCBhbmQgVFgNCj4gPj4+Pj4+Pj4+ IHF1ZXVlIGRlcHRocyAoYW1vbmcgb3RoZXJzKSB3aXRob3V0IGhhdmluZyB0byByZWNvbXBpbGUu DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IFtLYXRobGVlbiBDYXBlbGxhXQ0KPiA+Pj4+Pj4+PiBU aGFuayB5b3UgZm9yIHRoZSBzdWdnZXN0aW9uIG9mIGFwcC9wcm9jLWluZm8uIEkndmUgdHJpZWQg aXQNCj4gPj4+Pj4+Pj4gb3V0IHdpdGggbDNmd2QgYW5kIHNlZSB0aGF0IGl0IGRvZXMgaGF2ZSB0 aGUgSFcgc3RhdHMgZnJvbQ0KPiA+Pj4+Pj4+PiB0aGUgTklDIGFuZCB0aGUgZm9yd2FyZGluZw0K PiA+Pj4+Pj4+IHN0YXRzLg0KPiA+Pj4+Pj4+PiBIb3dldmVyLCBpdCBkb2VzIG5vdCBoYXZlIHRo ZSBidXJzdCBzdGF0cyB0ZXN0cG1kIG9mZmVycywNCj4gPj4+Pj4+Pj4gbm9yIHRoZQ0KPiA+Pj4+ Pj4+DQo+ID4+Pj4+Pj4gT25lIG9wdGlvbiB0byBzZWUgc3VjaCAgbGV2ZWwgb2YgZGVidWdnaW5n IHdvdWxkIGJlIHRvIGhhdmUNCj4gPj4+Pj4+PiAtIENyZWF0ZSBhIG1lbXpvbmUgaW4gdGhlIHBy aW1hcnkgcHJvY2Vzcw0KPiA+Pj4+Pj4+IC0gQXBwbGljYXRpb24gdW5kZXIgdGVzdCBjYW4gdXBk YXRlIHRoZSBzdGF0cyBpbiBtZW16b25lIGJhc2VkDQo+ID4+Pj4+Pj4gb24gdGhlIGNvZGUgZmxv dw0KPiA+Pj4+Pj4+IC0gcHJvYy1pbmZvIGNhbiByZWFkIHRoZSBjb3VudGVycyB1cGRhdGVkIGJ5 IGFwcGxpY2F0aW9uIHVuZGVyDQo+ID4+Pj4+Pj4gdGVzdCB1c2luZyB0aGUgbWVtem9uZSBvYmpl Y3QgZ290IHRocm91Z2gNCj4gPj4gcnRlX21lbXpvbmVfbG9va3VwKCkNCj4gPj4+Pj4+IEFncmVl ZC4gQ3VycmVudGx5LCB1c2luZyBhcHAvcHJvYy1pbmZvIGRvZXMgbm90IHByb3ZpZGUgdGhpcw0K PiA+Pj4+Pj4gYWJpbGl0eS4gV2UNCj4gPj4+Pj4gY2Fubm90IGFkZCB0aGlzIGNhcGFiaWxpdHkg dG8gYXBwL3Byb2MtaW5mbyBhcyB0aGVzZSBzdGF0cyB3b3VsZA0KPiA+Pj4+PiBiZSBzcGVjaWZp YyB0byBMM2Z3ZCBhcHBsaWNhdGlvbi4NCj4gPj4+Pj4NCj4gPj4+Pj4gSSBtZWFudCBjcmVhdGlu ZyBnZW5lcmljIGNvdW50ZXItcmVhZC93cml0ZSBpbmZyYSB2aWEgbWVtem9uZSB0bw0KPiA+Pj4+ PiBub3QgbWFrZSBpdCBhcyBsM2Z3ZCBzcGVjaWZpYy4NCj4gPj4+PiBDdXJyZW50bHksIGFwcC9w cm9jLWluZm8gaXMgYWJsZSB0byBwcmludCB0aGUgc3RhdHMgYXMgdGhleSBhcmUgc3RhbmRhcmRp emVkDQo+ID4+IHZpYSB0aGUgQVBJLiBCdXQgZm9yIHN0YXRpc3RpY3MgdGhhdCBhcmUgZ2VuZXJh dGVkIGluIHRoZSBhcHBsaWNhdGlvbiwgdGhleSBhcmUNCj4gPj4gdmVyeSBzcGVjaWZpYyB0byB0 aGF0IGFwcGxpY2F0aW9uLiBGb3IgZXg6IGJ1cnN0IHN0YXRzIGluIHRlc3RwbWQgYXJlIHZlcnkN Cj4gPj4gc3BlY2lmaWMgdG8gaXQgYW5kIGFub3RoZXIgYXBwbGljYXRpb24gbWlnaHQgaW1wbGVt ZW50IHRoZSBzYW1lIGluIGEgdmVyeQ0KPiA+PiBkaWZmZXJlbnQgbWFubmVyLg0KPiA+Pj4+DQo+ ID4+Pj4gSW4gbmVlZHMgdG8gYmUgc29tZXRoaW5nIGxpa2UgdGhlIGFwcC9wcm9jLWluZm8ganVz dCBuZWVkcyB0byBiZSBhIGR1bWINCj4gPj4gZGlzcGxheWluZyB1dGlsaXR5IGFuZCB0aGUgYXBw bGljYXRpb24gaGFzIHRvIGRvIGFsbCB0aGUgaGVhdnkgbGlmdGluZyBvZiBjb3B5aW5nDQo+ID4+ IHRoZSBleGFjdCBkaXNwbGF5IHN0cmluZ3MgdG8gdGhlIG1lbW9yeS4NCj4gPj4+DQo+ID4+PiBZ ZXMuDQo+ID4+Pg0KPiA+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBBbm90aGVyIGFwcHJvYWNo IHdpbGwgYmUgdXNpbmcgcnRlX3RyYWNlKClbMV0gZm9yDQo+ID4+Pj4+Pj4gZGVidWdnaW5nL3Ry YWNpbmcgYnkgYWRkaW5nIHRyYWNlcG9pbnRzIGluIGwzZndkIGZvciBzdWNoIGV2ZW50cy4NCj4g Pj4+Pj4+PiBJdCBoYXMgYSB0aW1lc3RhbXAgYW5kIHRoZSB0cmFjZSBmb3JtYXQgaXMgb3BlbnNv dXJjZSB0cmFjZQ0KPiA+Pj4+Pj4+IGZvcm1hdChDVEYoQ29tbW9uIHRyYWNlIGZvcm1hdCkpLCBz byB0aGF0IHdlIGNhbiB1c2UgcG9zdA0KPiA+Pj4+Pj4+IHBvc3RpbmcgdG9vbHMgdG8gYW5hbHl6 ZS4NCj4gPj4+Pj4+PiBbMV0NCj4gPj4+Pj4+PiBodHRwczovL2RvYy5kcGRrLm9yZy9ndWlkZXMv cHJvZ19ndWlkZS90cmFjZV9saWIuaHRtbA0KPiA+Pj4+Pj4gVGhpcyBpcyBnb29kIGZvciBhbmFs eXppbmcgYW4gaW5jaWRlbnQuIEkgdGhpbmsgaXQgaXMgYW4NCj4gPj4+Pj4+IG92ZXJoZWFkIGZv cg0KPiA+Pj4+PiBkZXZlbG9wbWVudCBwdXJwb3Nlcy4NCj4gPj4+Pj4NCj4gPj4+Pj4gQ29uc2lk ZXIgaWYgb25lIHdhbnRzIHRvIGFkZCBidXJzdCBzdGF0cywgb25lIGNhbiBhZGQgc3RhdHMNCj4g Pj4+Pj4gaW5jcmVtZW50IHVuZGVyIFJURV9UUkFDRV9QT0lOVF9GUCwgaXQgd2lsbCBiZSBlbWl0 dGVkIHdoZW5ldmVyDQo+ID4+Pj4+IGNvZGUgZmxvdyB0aHJvdWdoIHRoYXQgcGF0aC4gU2V0IG9m IGV2ZW50cyBvZiBjYW4gYmUgdmlld2VkIGluDQo+ID4+Pj4+IHRyYWNlIHZpZXdlclsxXS4gV291 bGQgdGhhdCBiZSBlbm91Z2g/DQo+ID4+Pj4+IEFkZGluZyB0cmFjZXMgdG8gbDNmd2QgY2FuIGJl IHVwc3RyZWFtZWQgYXMgaXQgaXMgdXNlZnVsIGZvcg0KPiA+Pj4+PiBvdGhlcnMgZm9yIGRlYnVn Z2luZy4NCj4gPj4+Pj4NCj4gPj4+Pj4gWzFdDQo+ID4+Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9q ZXJpbmphY29iay9zaGFyZS9ibG9iL21hc3Rlci9kcGRrX3RyYWNlLkpQRw0KPiA+Pj4+IFRoaXMg bmVlZHMgcG9zdCBwcm9jZXNzaW5nIG9mIHRoZSB0cmFjZSBpbmZvIHRvIGRlcml2ZSB0aGUgaW5m b3JtYXRpb24sIGlzIGl0DQo+ID4+IGNvcnJlY3Q/IEZvciBleDogZm9yIGJ1cnN0IHN0YXRzLCB0 aGVyZSB3aWxsIGJlIHNldmVyYWwgdHJhY2VzIGdlbmVyYXRlZA0KPiA+PiBjb2xsZWN0aW5nIHRo ZSBudW1iZXIgb2YgcGFja2V0cyByZXR1cm5lZCBieSBydGVfZXRoX3J4X2J1cnN0IHdoaWNoIG5l ZWRzDQo+ID4+IHRvIGJlIHBvc3QgcHJvY2Vzc2VkLg0KPiA+Pj4NCj4gPj4+IE9yIFlvdSBjYW4g aGF2ZSBhbiBhZGRpdGlvbmFsIHZhcmlhYmxlIHRvIGFjY3VsYXRlIGl0Lg0KPiA+Pj4NCj4gPj4+ PiBBbHNvLCBhZGRpbmcgdHJhY2VzIGlzIGVxdWl2YWxlbnQgdG8gYWRkaW5nIHN0YXRpc3RpY3Mg aW4gTDNmd2QuDQo+ID4+Pg0KPiA+Pj4gWWVzLg0KPiA+Pj4NCj4gPj4+IElmIHRoZSBzb2xlIHB1 cnBvc2Ugb25seSBzdGF0cyB0aGVuIGl0IGlzIGJldHRlciB0byBhZGQgc3RhdHVzIGluDQo+ID4+ PiBsM2Z3ZCB3aXRob3V0IHBlcmZvcm1hbmNlIGltcGFjdC4gSSB0aG91Z2h0IHNvbWUgdGhpbmcg ZWxzZS4NCj4gPj4+DQo+ID4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBhYmlsaXR5IHRvIGVh c2lseSBjaGFuZ2UgcGFyYW1ldGVycyB3aXRob3V0IGhhdmluZyB0bw0KPiA+Pj4+Pj4+PiByZWNv bXBpbGUsIHdoaWNoIGhlbHBzIHJlZHVjZSBkZWJ1Z2dpbmcgdGltZSBzaWduaWZpY2FudGx5Lg0K PiA+Pj4+IFdlIHdpbGwgbm90IGJlIGFibGUgdG8gZml4IHRoaXMgYWJvdmUgaXNzdWUuDQo+ID4+ Pg0KPiA+Pj4gSXQgZGVwZW5kcyBvbiB3aGF0IHlvdSB3YW50IHRvIGRlYnVnLiBUcmFjZSBjYW4g YmUgZGlzYWJsZWQgYXQgcnVudGltZS4NCj4gPj4NCj4gPj4NCj4gPj4gRFBESyBoYXMgZXhpc3Rp bmcgQVBJJ3MgZm9yIGFwcGxpY2F0aW9uIG1ldHJpY3MgYnV0IHRoZXkgYXJlIHJhcmVseSB1c2Vk Lg0KPiA+Pg0KPiA+PiBXaHkgbm90IGltcGxlbWVudCBydGVfbWV0cmljcyBpbiBsM2Z3ZCBhbmQg cHJvYy1pbmZvPw0KPiA+IFRoaXMgZGlzY3Vzc2lvbiBoYXMgZW5kZWQgdXAgYXMgYSBzdGF0cyBk aXNjdXNzaW9uLiBCdXQsIHdlIGFsc28gbmVlZCB0byBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgY29u ZmlndXJhYmxlIHBhcmFtZXRlcnMgZWFzaWx5Lg0KPiA+IElmIHdlIGltcGxlbWVudCB0aGUgc3Rh dHMgYW5kIGFiaWxpdHkgdG8gY2hhbmdlIHRoZSBjb25maWd1cmFibGUgcGFyYW1ldGVycywgdGhl biBpdCBpcyBlc3NlbnRpYWxseSBicmluZ2luZyBpbiBzb21lIG9mIHRoZSBjYXBhYmlsaXRpZXMg ZnJvbQ0KPiB0ZXN0cG1kIHRvIHRoZSBzYW1wbGUgYXBwbGljYXRpb24uIEkgdGhpbmsgdGhhdCB3 aWxsIHJlc3VsdCBpbiBsb3QgbW9yZSBjb2RlIGluIHRoZSBzYW1wbGUgYXBwbGljYXRpb24gYW5k IHdpbGwgbWFrZSBpdCBjb21wbGljYXRlZC4NCj4gPg0KPiA+IEluc3RlYWQgb3VyIHByb3Bvc2Fs IGlzIHRvIHRha2UgTDNmd2QgdG8gdGVzdHBtZCBhbmQgdXNlIGFsbCB0aGUgaW5mcmEgY29kZSB0 aGF0IHRlc3RwbWQgcHJvdmlkZXMuIFdlIHNlZSB0aGF0IHRoaXMgYXBwcm9hY2ggcmVzdWx0cyBp biBsZXNzDQo+IGFtb3VudCBvZiBjb2RlIGFkZGVkIHRvIERQREsgb3ZlcmFsbC4NCj4gPg0KPiAN Cj4gQWdyZWUgdGhhdCBpdCBtYXkgaGVscCB0ZXN0aW5nIHRvIGhhdmUgbDNmd2Qgc3VwcG9ydCBv biB0aGUgdGVzdHBtZC4NCj4gDQo+IFR3byBjb25jZXJucywNCj4gMSkgVGVzdHBtZCBhbHJlYWR5 IHRvbyBjb21wbGV4Lg0KPiAyKSBDb2RlIGR1cGxpY2F0aW9uLg0KPiANCj4gRm9yIDEpLCBpZiB0 aGUgbDNmd2QgY2FuIGJlIGltcGxlbWVudGVkIGluIHRlc3RwbWQgYXMgbmV3LCBpbmRlcGVuZGVu dA0KPiBmb3J3YXJkaW5nIG1vZGUsIHdpdGhvdXQgdG91Y2hpbmcgcmVzdCBvZiB0aGUgdGVzdHBt ZCwgSSB0aGluayBpdCBjYW4gYmUgT0suDQoNCkluIGZhY3QsIGwzZndkIGlzIGFsc28gcXVpdGUg YmlnIGFuZCBjb21wbGV4Og0KJCB3YyAtbCBleGFtcGxlcy9sM2Z3ZC8qLltoLGNdIHxncmVwIHRv dGFsDQogIDY5NjkgdG90YWwNCg0KUGx1cyBpdCB3aWxsIGludHJvZHVjZSBleHRyYSBkZXBlbmRl bmNpZXMgKGZpYiwgbHBtLCBoYXNoLCBtaWdodC1iZSBhY2w/KQ0KSSBhbSBub3Qgc3VyZSBpdCBp cyBhIGdvb2QgaWRlYSB0byBwdWxsIGFsbCB0aGVzZSBjb21wbGV4aXRpZXMgaW50byB0ZXN0LXBt ZC4NCkkgY2FuJ3QgaW1hZ2luZSB0aGF0IGwzZndkIGFwcCBuZWVkIGFiaWxpdHkgdG8gY29uZmln dXJlIGVhY2ggYW5kIGV2ZXJ5DQpQTUQgcGFyYW1ldGVyLg0KRnJvbSBteSBleHBlcmllbmNlIGlu IGwzZndkIG1vc3Qgb2YgY3ljbGVzIGFyZSBzcGVudCBub3QgaW4gUE1EIGl0c2VsZiwNCmJ1dCBp biBhY3R1YWwgcGFja2V0IHByb2Nlc3Npbmc6IGhlYWRlciBwYXJzaW5nIGFuZCBjaGVja2luZywg Y2xhc3NpZmljYXRpb24sDQpyb3V0aW5nIHRhYmxlIGxvb2t1cCwgZXRjLiANCg0KPiBOb3Qgc3Vy ZSBob3cgdG8gYWRkcmVzcyAyKSwgYWxzbyBsZXRzIHNheSB3ZSB3YW50IHRvIGFkZCBuZXcgZmVh dHVyZSB0byBsM2Z3ZCwNCj4gd2hlcmUgaXQgc2hvdWxkIGdvLCB0byB0aGUgc2FtcGxlIG9yIHRv IHRoZSB0ZXN0cG1kPw0K