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 DD2D2A0579; Fri, 9 Apr 2021 12:40:36 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 84E4B4069F; Fri, 9 Apr 2021 12:40:36 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id AB5764014D for ; Fri, 9 Apr 2021 12:40:34 +0200 (CEST) IronPort-SDR: 51YNlQSgBMGJKc0ob0x3mif99Cnvm6Kr++fyqF6oV2eF1dbNNqVR5le3mX+NoXgzTv+twAr4gy BTa/P19XV6TQ== X-IronPort-AV: E=McAfee;i="6000,8403,9948"; a="214168038" X-IronPort-AV: E=Sophos;i="5.82,209,1613462400"; d="scan'208";a="214168038" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2021 03:40:33 -0700 IronPort-SDR: jA3zgFz3UZ6ZUEwYaWsA2LxQHSmBKoNmouSyVeCyf9ImlDNz1UNZWFb/Eqqg8Pzpqf4gtjuEds 8mgyIXcf6tdA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,209,1613462400"; d="scan'208";a="459190426" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga001.jf.intel.com with ESMTP; 09 Apr 2021 03:40:33 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Fri, 9 Apr 2021 03:40:32 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Fri, 9 Apr 2021 03:40:32 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.177) 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; Fri, 9 Apr 2021 03:40:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j39Hxyg857OjAtUvBMq4bdEizudyki+nDPugntdKDoPjAJyx2rD54tkCzFCmfxck0FVldwfUZJ0rJ55k1uGZ9YrwClZ9jt8TVJCZtcwiMRbNe4QC58CVWL4WTHQERkOEc9HRlHd+ywyNuXQgUKiDUrpJPM7D7TgoarF70E3Iz6edWZutgo8GOYGTFVBSBC+lsS2xyeHwAoFrsf1aeXHma6sUE8CPXYa65OqxJoNYMKaCPEiYz8FNUQRlYZSCCR6kpKB8r/9LFxMQJR9Jrs6x5SAZ5pCUeveOFhF/k59WeQSRNUDa6m/uEJ6k+XOEqP8/AiLF16rBQ/wWMofAHnXdIw== 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=2r9THjYKpxdqgERu7cQQMnViyPgCPWzY+WKmiWSIlEc=; b=IVJ+iqzyaK+WQWSeOcdf/78DaRWLltUqUBed/ivo5MlbJDGwhzktC11JATT3NKcjGqasB9i7cl32TesEVxFVX3Bj7Y5XGNBpxgUXO04OgERgwj8I5eJ5ShCdMC6koeeYhSTOKOxMFlNvtKAMk4A0Nu9viuqCR8muHZ6WiWxxxt5nDTrxhLVxaMZzc6azdD3J0/NUWAJHGxK11kQtMyyEvkkce1vO8hhhSVdDrE9oaVO62fMnGzrPJoIq0JwHoFJqOlmkAPSbWIj6tgLtUaarhgyXOZnXz9H+IRmSEpGmZKE+NC4syx86ZeTHWTBnvifKKYbiI2rnxSGaWvENfJ67Fw== 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=2r9THjYKpxdqgERu7cQQMnViyPgCPWzY+WKmiWSIlEc=; b=ZhEojEaj8hv3BGemLjaBUZ0ErNEIHPdI76/Q97cNRGxEOWbMuc+5nk2UXWAeTxfQXCBAfkkH+OPt4HyjrzWy9X4R/xz5J8f98UUWLnritw9Vw/gpWegW0PlSHJ0eiJa4FXtaGI47nPGFRVzTcgj17kjGqJ4zZ5ZYh54XN1es2Hc= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4547.namprd11.prod.outlook.com (2603:10b6:5:2a1::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Fri, 9 Apr 2021 10:40:29 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::3182:6da2:8c64:f07a]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::3182:6da2:8c64:f07a%3]) with mapi id 15.20.4020.022; Fri, 9 Apr 2021 10:40:29 +0000 From: "Ananyev, Konstantin" To: "Rong, Leyi" , "Yigit, Ferruh" , "Zhang, Qi Z" , "Xing, Beilei" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] net/i40e: add Tx preparation for vector data path Thread-Index: AQHXJg7FP+MI3Ia8o0maglNIHBMBl6qpTS6AgAEJRYCAABQBMIABauoAgAAtbXA= Date: Fri, 9 Apr 2021 10:40:29 +0000 Message-ID: References: <20210331085345.6290-1-leyi.rong@intel.com> <10399e65-e2c4-fe91-b548-f7bfd55ffc51@intel.com> In-Reply-To: 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: 4d8252c7-7820-42b4-3512-08d8fb43e4ce x-ms-traffictypediagnostic: DM6PR11MB4547: 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:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9i/7FZohrVuccyQG5Yq4sSMNJjqfa97cMaL/s/f0+RKWL0Cn3ERVZXBAi6Ux23b4CgGOrJFdGaYkRo5OcRZ2HLHatbo24AbzTz8tDCj3bi16+fiKi08/QtxHltBILJ0FdQEgfN/oaIr8e2Kbvhmi1wtwp7XLXqf/fNKb+U0slDk61IJn/1LQis7JTTk7+PcLxllWjLFb5HYl/151FbXnDuf7hPI/xm4ajFEvZlYzHN5xTswz3o1A1w7dHjTxLT4xCHrUBn94F+aUZkRtdVVHHe+eL7JvzaSgvFAclgkDDRvsLAfuZj2QGhm7Gxza8wiM6OvlOnSvJvlBV2/3dG/gY4P0Zi8cB+hXfX9gvJEE/zzrkTNVXjPfRSHj6erfwubEJP5RM6tEzWzfmhG6wQAxaEbhAVT324R3SnXMlb0amgPvNTnEtf9+HvyRItTquaQbVLCdko1zpJ5Xbo0iyDri2YeESP8jVmgyp3pI5S+OhK3kh2UNAkt4rx1TASiTJKLaRt8q7EufmczNrfwnewc/BWWbWHfPlv5+n2QnkCWtc1fiKaHkD+diEb+W8krjYHbjjH6wAZr/JiYqXljnkWVI9OA0l7NP8tD1rBUlX/CGf4emY1gA7DklooffwOhMjcjwu0r/Z9VV1XPMl8AqdXW/kRFfuqi8k//JlxbXXQKzfUQ= 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:(39860400002)(376002)(396003)(136003)(366004)(346002)(186003)(66946007)(7696005)(86362001)(76116006)(66476007)(478600001)(9686003)(64756008)(66446008)(38100700001)(2906002)(5660300002)(110136005)(52536014)(66556008)(55016002)(8936002)(316002)(33656002)(6506007)(26005)(6636002)(8676002)(83380400001)(4326008)(71200400001)(55236004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?a0tXbnJHZFlMNXRrK0pKcHowUEY3T3ZKMlBnUWZYMnlmVW9XR3RFWDRDM0JU?= =?utf-8?B?cmEzZi9iUFovOG9GRmdGd1A4OWtrM1E3QzBML2JwMlFqNkVLaG1SSHUyb2dN?= =?utf-8?B?S1ZPS0Y3cUhJVCthVSt6SXcvRitZQTNaaWZOaHpHd1VwdzlOUksrc3g4eVE0?= =?utf-8?B?b3BPVzFUYkhkckZIS1hNU2lsdGRsWElsWHpJMktHZFVnZFNWZlcvZTlPUDBG?= =?utf-8?B?OWttVms3R2s3V3RBVFBZWDArQW45aWdLckVUMkVjM1pLRmZlbm8rcHl4dkl1?= =?utf-8?B?NVZyVjhMbDEvQTR1VVZsZFBETTYwd1pIczE3MEgzT28rWUZIOEZXZ0FGSUpO?= =?utf-8?B?WlMxaGwvRWdWRDdIenFCTXdWM3lWaHB3RGV0ZnB4VkR1NWhJWTRKdys3dlRM?= =?utf-8?B?bFhrU21JS052UjVSYXBFQUxvcGlwZm1WZmI0clpBR1JvTEhBTWlyR0JQMWZs?= =?utf-8?B?YStQTXpzVGZwTld2elR4eEdjYXdVVWd4WXpHbkVLUG9INGZsSExuTDkxcWNu?= =?utf-8?B?MUd0elVYd1RXb0xZdjdCNVNFa1k4K2lpVUVRZHlZRmtOSUcwTjhISklaZkQw?= =?utf-8?B?ZTNTbzVOczR4eTNFKzZSZDRoZHR1OHRZcldtMWtHQXhDT3hFOE1xU01LVHBO?= =?utf-8?B?cFlSZkZZNnEvZXVIb0p4L1BUNmprVjhVSDg3UjRqZ1htZHBTTVhBRlNLUlpI?= =?utf-8?B?dnBBZGZ4aTZhTmpFRDdTZlVZSU1UdDNjZU5uYWlRakllUElxWTRpUXNQRWVU?= =?utf-8?B?UGxkZDZCbGdwL1JHSVpScC8yYTkwYndVdzdoaWkwcDlKOCtubTdRNUlqakdC?= =?utf-8?B?VDNCc0ttbkNxQ253OVhBTnIwZkZhN05aMm1XODJVclRUc0twcE5DUTlEbXJH?= =?utf-8?B?OEpjQjZWL0hpOGdLNkludUZ6ZVJnand5NjJrLzZyWFU5ak5jaUwrYjhaREFK?= =?utf-8?B?N0grc3N0SW5OSXQwZU94bktjdnBHd29qWGdHMUM0bG9CRXBLc0JUUWdrSXdW?= =?utf-8?B?Q1pUWTAyVkFmZlhBd1IrZmNnczFnYUFXNEVyUEU1aGc4MDdHL2tNc1JtSWM5?= =?utf-8?B?Qmt4K0lsd1VOUXVFMFpzNWxOQVZBdTlJRjhGMjMvZko3SzlVTGxxWE9kNVk0?= =?utf-8?B?aStiT0FNdXA0SGhqbzY2alRMRndqSW44ajJGeHJSdFE5TjMybTZGaDlIODZB?= =?utf-8?B?cnhjVlN2OGhtWTZvVlFZcjVPSEZBVk5RSDd0Y011V1ZMV2ZCTzNHbkRYZDQr?= =?utf-8?B?bXRBQkt6VXUwRXNGSWZjTEM4c3kxUlRnY0NyTEJBemlrc0NEMFQwbE9hTnhC?= =?utf-8?B?WU9GMFFZYnB6RVNweTRHdjAzNFRWSGU4NWNsSnhPMEdWV0NGV1FwSGkvcFhQ?= =?utf-8?B?dXNISHc2czR2MWhLa3lJR2ZldXZrR0Z3aDBNREJlNmJFK0tEWE9CUmdieEpB?= =?utf-8?B?RFYyOHBtV2FJc2lWSnRrTDN4Z1ZYakZTQnh6S1pLSnA3a2E1TmNQK3pOZ28z?= =?utf-8?B?blRWN3JRRmVPRENWckpzcjdyQ3h4RkFCdURkNFVkMlNHaDBoMUZKbGowdUdz?= =?utf-8?B?Zkcza0dRbVk1WlNYWGtkT3ZmZjBHaFc3OTlIeWNTSFQrQ091cG5qTWJoeXpk?= =?utf-8?B?M1lKUnhqS0hXQWlFNTN6bzAyMjh4TVBOZ1dPMUFWT0x1a2NSUHFyZm5lZE1C?= =?utf-8?B?b3IwTTlPTllDQ1Q0WnFOcEMzdEF2NkxKalRUUWgwbXlkaU11N2JyQzF2MjRh?= =?utf-8?Q?GXjpJVqF8M24F6JT1AM/hdELqEud44tmJMnSdJW?= 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: 4d8252c7-7820-42b4-3512-08d8fb43e4ce X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Apr 2021 10:40:29.2005 (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: I0FV0KLeenxsOVwm3lnJiU1anS1XX1ejA+M9GrPVG92sY4f//20dcya7OoU3KnGKT//E9Kup4xNa3UEYroE/2ME5tj99zuxkG/nRwCkBneQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4547 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] net/i40e: add Tx preparation for vector data path 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" DQoNCj4gPiA+ID4gPiBGaWxsIHVwIGRldi0+dHhfcGt0X3ByZXBhcmUgdG8gaTQwZV9wa3RfcHJl cGFyZSB3aGVuIG9uIHZlY3RvciBhbmQNCj4gPiA+ID4gPiBzaW1wbGUgZGF0YSBwYXRoIHNlbGVj dGlvbiwgYXMgdGhlIHNhbml0eSBjaGVjayBpcyBuZWVkZWQgaWRlYWxseS4NCj4gPiA+ID4gPg0K PiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IExleWkgUm9uZyA8bGV5aS5yb25nQGludGVsLmNvbT4N Cj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiAgIGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4LmMg fCAyICstDQo+ID4gPiA+ID4gICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9p NDBlL2k0MGVfcnh0eC5jDQo+ID4gPiA+ID4gYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfcnh0eC5j IGluZGV4IDYxY2IyMDRiZTIuLmIzZDc3NjVlM2IgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tIGEvZHJp dmVycy9uZXQvaTQwZS9pNDBlX3J4dHguYw0KPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9yeHR4LmMNCj4gPiA+ID4gPiBAQCAtMzQxMiw3ICszNDEyLDcgQEAgaTQwZV9zZXRf dHhfZnVuY3Rpb24oc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ID4gPiA+ID4gICAJCQlQTURf SU5JVF9MT0coREVCVUcsICJTaW1wbGUgdHggZmluYWxseSBiZSB1c2VkLiIpOw0KPiA+ID4gPiA+ ICAgCQkJZGV2LT50eF9wa3RfYnVyc3QgPSBpNDBlX3htaXRfcGt0c19zaW1wbGU7DQo+ID4gPiA+ ID4gICAJCX0NCj4gPiA+ID4gPiAtCQlkZXYtPnR4X3BrdF9wcmVwYXJlID0gTlVMTDsNCj4gPiA+ ID4gPiArCQlkZXYtPnR4X3BrdF9wcmVwYXJlID0gaTQwZV9wcmVwX3BrdHM7DQo+ID4gPiA+ID4g ICAJfSBlbHNlIHsNCj4gPiA+ID4gPiAgIAkJUE1EX0lOSVRfTE9HKERFQlVHLCAiWG1pdCB0eCBm aW5hbGx5IGJlIHVzZWQuIik7DQo+ID4gPiA+ID4gICAJCWRldi0+dHhfcGt0X2J1cnN0ID0gaTQw ZV94bWl0X3BrdHM7DQo+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gSXQgc2VlbXMgcHJlcGFy ZSBmdW5jdGlvbiBpcyBkb2luZyBzb21lIHNhbml0eSBjaGVja3MgYmVmb3JlIGhhbmRpbmcNCj4g PiA+ID4gcGFja2V0cyB0byB0aGUgSFcuDQo+ID4gPiA+IFNvIHdpdGggdGhpcyBjaGFuZ2UgYWxs IFR4IHBhdGhzIGNhbGxzIHRoZSBzYW1lIFR4IHByZXBhcmUgZnVuY3Rpb24sDQo+ID4gPiA+IGlm IHNvIHdoeSBub3Qgc2V0IHRoZSBmdW5jdGlvbiBwb2ludGVyIG91dHNpZGUgb2YgdGhlIGlmIGJs b2NrLA0KPiA+ID4gPiBpbnN0ZWFkIG9mIHNldHRpbmcgaXQgaW4gYm90aCBsZWdzIG9mIHRoZSBp Zi9lbHNlPyBUaGlzIGNsYXJpZmllcyB0aGF0IFR4IHByZXBhcmUNCj4gPiB1c2VkIGFsd2F5cy4N Cj4gPiA+DQo+ID4gPiBIaSBGZXJydWgsDQo+ID4gPg0KPiA+ID4gWWVzLCBpdCBtYWtlIHNlbnNl Lg0KPiA+ID4NCj4gPiA+IEhpIEtvbnN0YW50aW4sDQo+ID4NCj4gPiBIaSBMZXlpLA0KPiA+DQo+ ID4gPg0KPiA+ID4gV291bGQgdGhhdCBiZSBzb21ldGhpbmcgd3JvbmcgaWYgdGhlIHByZXBhcmUg ZnVuY3Rpb24gZ29lcyBmb3Igc2ltcGxlIFR4DQo+ID4gZnVuY3Rpb24gYWx0aG91Z2ggaXQgZG9l cyBub3Qgc3VwcG9ydCB0aGUgb2ZmbG9hZCBmZWF0dXJlIHlldD8NCj4gPiA+DQo+ID4NCj4gPiBD dXJyZW50IHNpdHVhdGlvbjoNCj4gPiBGb3Igc2ltcGxlIFRYIHBhdGggd2Ugc2V0IGRldi0+dHhf cGt0X3ByZXBhcmUgPSBOVUxMLg0KPiA+IFRoYXQgbWFrZXMgcnRlX2V0aF90eF9wcmVwYXJlKCkg YSBzdHViIHRoYXQgZG9lcyBub3RoaW5nIGFuZCBhbHdheXMgcmV0dXJuczoNCj4gPiAiQWxsIHBh Y2tldHMgYXJlIGdvb2QiLg0KPiA+IFRoYXQgaXMgdW5zYWZlIG9mZi1jb3Vyc2UsIGFuZCBpZiB1 cHBlciBsYXllciB3aWxsIHBhc3MgYSBwYWNrZXQgdGhhdCBpcyBub3QNCj4gPiBzdXBwb3J0ZWQs IHRoZW4gaXQgY2FuIGxlYWQgdG8gdmFyaW91cyBiYWQgdGhpbmdzOiBiYWQgY2tzdW0sIGNvcnJ1 cHRlZCBwYWNrZXRzLA0KPiA+IFRYIGhhbmcsIGV0Yy4NCj4gPiBCdXQgYXQgbGVhc3QgaXQga2Vl cHMgc2ltcGxlIFRYIHBhdGggZmFzdC4NCj4gPiBXaXRoIHRoYXQgcGF0Y2g6DQo+ID4gRm9yIHNp bXBsZSBUWCBwYXRoIHdlIHNldCBkZXYtPnR4X3BrdF9wcmVwYXJlID0gaTQwZV9wcmVwX3BrdHMu DQo+ID4gTm93IG9uIFRYIHBhdGggd2UgaW52b2tlIGV4dHJhIGZ1bmN0aW9uIHRoYXQgZG9lcyBh IGxvdCBvZiBjaGVja3MsIGJ1dCBpdCBzdGlsbA0KPiA+IHVuc2FmZToNCj4gPiBhcyBpNDBlX3By ZXBfcGt0cygpIGFzc3VtZXMgdGhhdCAgZnVsbC1mZWF0dXJlZCBUWCBmdW5jdGlvbiBpcyBpbiBw bGFjZSAobXVsdGktc2Vncw0KPiA+IGFyZSBhbGxvd2VkLCBldGMuKS4NCj4gPiBTbyBvdXIgc2lt cGxlIFRYIHBhdGggYmVjYW1lIHNsb3dlciwgYnV0IHN0aWxsIGlzIHVuc2FmZS4NCj4gPiBJIHRo aW5rIHRoYXQgaWYgd2Ugd2FudCB0byBpbnRyb2R1Y2UgdHhfcHJlcGFyZSgpIGZvciBzaW1wbGUg VFggcGF0aCwgdGhlbiB0aGUNCj4gPiBwcm9wZXIgd2F5IC0gY3JlYXRlIGEgbmV3IGZ1bmN0aW9u IGZvciBpdCAoaTQwZV9zaW1wbGVfcHJlcF9wa3RzKCkgb3Igc28pLg0KPiA+IEl0IHdpbGwgYmUg YXdhcmUgdGhhdCBzaW1wbGUgVFggcGF0aCBpcyBpbiBwbGFjZSBhbmQgbW9yZSByZXN0cmljdGlv bnMgc2hvdWxkIGJlDQo+ID4gbWV0Og0KPiA+IGNoZWNrIHRoYXQgbmJfc2Vncz09MSBhbmQgbm8g VFggb2ZmbG9hZHMgKGV4Y2VwdCBGQVNUX0ZSRUU/KSBhcmUgZW5hYmxlZCwNCj4gPiBwbHVzIHVz dWFsIGNoZWNrcyBmb3IgbWluIGFuZCBtYXggcGt0X2xlbi4NCj4gPg0KPiA+IEtvbnN0YW50aW4N Cj4gPg0KDQoNCkhpIExleWksDQogDQo+IEhpIEtvbnN0YW50aW4sDQo+IA0KPiBUaGFua3MgZm9y IHRoZSBleHBsYW5hdGlvbiwgSSBrbm93IHRoZSBjdXJyZW50IGZ1bGwtZmVhdHVyZWQgcHJlcGFy ZSBmdW5jdGlvbiB3aWxsIGNvc3QgbW9yZSBDUFUgY3ljbGUsIGJ1dCBub3Qgc3VyZSBob3cgdG8g c2F5IGlzIHN0aWxsDQo+IHVuc2FmZT8NCg0KTGV0IHNheSB1c2VyIHdpbGwgZG86DQoNCm1iID0g Y3JlYXRlX2FuZF9maWxsX211bHRpX3NlZ19wa3QoLi4uKTsNCm4gPSAgcnRlX2V0aF90eF9wcmVw YXJlKHAsIHEsICZtYiwgMSk7DQppZiAobiA9PSAxKQ0KICBuID0gcnRlX2V0aF90eF9idXJzdChw LCBxLCAmbWIsIDEpOw0KZWxzZQ0KICBydGVfcGt0bWJ1Zl9mcmVlKG1iKTsNCg0KaWYgZGV2LT50 eF9wa3RfcHJlcGFyZSA9PSBpNDBlX3ByZXBfcGt0cyBhbmQgZGV2LT50eF9wa3RfYnVycyA9PSBp NDBlX3htaXRfcGt0c19zaW1wbGUsDQp0aGVuIHRoaXMgY29kZSB3aWxsIFRYIHRoZSBwYWNrZXQs IGV2ZW4gdGhvdWdoIGl0IHNob3VsZG4ndCBpbiB0aGVvcnkuDQoNCj4gV2h5IEkgc2V0IHRoZSBz aW1wbGUgVHggcHJlcGFyZSBmdW5jdGlvbiB0byB0aGUgY3VycmVudCBpNDBlX3ByZXBfcGt0cygp IGlzIHdlIG1heSBzdXBwb3J0IG1vcmUgb2ZmbG9hZCBmZWF0dXJlcyBsaWtlIGN1cnJlbnQgZnVs bC1mZWF0dXJlZA0KPiBUeCBmb3IgdmVjdG9yIHBhdGgod2hpY2ggaXMgaW5jbHVkZWQgaW4gc2lt cGxlIFR4IGN1cnJlbnRseSksIGlmIHNvLCB0aGUgY3VycmVudCB0eCBwcmVwYXJlIGZ1bmN0aW9u IGNhbiBiZSByZS11c2VkLg0KDQpBRkFJSywgZm9yIGk0MGUgY3VycmVudCBzaW1wbGUgKGFuZCB2 ZWN0b3IpIFRYIHBhdGggZG9lc24ndCBzdXBwb3J0IGFsbCBvZmZsb2FkcyB0aGF0IGFyZSBzdXBw b3J0ZWQgYnkgZnVsbC1mZWF0dXJlZCBwYXRoDQpUbyBiZSBtb3JlIHNwZWNpZmljOiBtdWxpdC1z ZWcgcGFja2V0cywgVENQX0NLU1VNLCBUQ1BfU0VHLCBldGMuDQpBbSBJIG1pc3Npbmcgc29tZXRo aW5nIG9idmlvdXMgaGVyZT8NCg0KS29uc3RhbnRpbg0KDQo=