From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E28BDA04B1; Sat, 10 Oct 2020 22:50:49 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E69B81D518; Sat, 10 Oct 2020 22:50:47 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 0A6C21D510 for ; Sat, 10 Oct 2020 22:50:45 +0200 (CEST) IronPort-SDR: TnibXxUeav/WM+vYlaUE7s5xh9QdEWxIFtLUzn0+BkPV12znmtKji4JXF7fqssuBt5kyuVCjQo 6I6F/oAYitWQ== X-IronPort-AV: E=McAfee;i="6000,8403,9770"; a="144921517" X-IronPort-AV: E=Sophos;i="5.77,360,1596524400"; d="scan'208,217";a="144921517" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Oct 2020 13:50:43 -0700 IronPort-SDR: 4EIlBW5tssETch6N/ff7f1P/QJrj0uwXHfssEN8BRMuj9ToGE2nKyJag29IvRaHcHHkccoT7NJ SHRGcuoYX+XQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,360,1596524400"; d="scan'208,217";a="345413207" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga008.jf.intel.com with ESMTP; 10 Oct 2020 13:50:42 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 10 Oct 2020 13:50:41 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 10 Oct 2020 13:50:41 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Sat, 10 Oct 2020 13:50:41 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.105) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Sat, 10 Oct 2020 13:50:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hz+H6CPqpPzxhj4ubwiNAW/4Y/ZxLOYhIURy6aBO/VS1ynv6+ybUw7I3keTAPHB+hFgTRnyRprc74bnuckMCQFEWKu+pT8h2TCjbJP53PdkXU4rTuh+yMO3KCVZJShaReISgQAE07FcgYTbLNSy+B18ZDFjfZ+wx6I5Mnz8Hn2rnDZraCV+dFygJDxEmfoPR6vO8qbsWP4FBFpVyaikfq0TfKh5XZo84Fg+lYp/39t3lGI6QL5xhfqzXpfFmIVauj4vBwfn1x4CDDz+f6E1l8F+s6CGsj6hTxoLcnLSom05ssq+mB9p6fhXvmNctqynh66Mg5GCQyxZW5uvgdXMBjQ== 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=t8HqqTVQL1wm8XgraVWZdMCYJfv8HutkgH0ZeV6y39E=; b=OliIAALXuMWZg88QFbdRyrwjPtvq12DAfyU2lBDSRsn+1gIqB6cZc3WZ4vWmK5+liqmB6jEyzRviSB0P3ptqYDnHrskLIVSUMUOjmbiqO5GtOhn0BXzdw3FQPLJbUUuBAOLWKnGb1OSRDYiC4krKsLGREchqZjUghUTVoaysHb5UghO/7ogFmccUu4OGuI/g+kNCMY3eS0L2brnbIZ920cK1GBF8IqIpP3/O0hdwBa0IZQ0XWc/29noVGgDmdIQwT+sW830xdBhzk7J/Zujmr1eJ5i5MdE3EVs0bTaJUoOmdfdB6GihDKC1Nqj0BXLKbH7/snCdWRFgmmzbsaTJ59g== 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=t8HqqTVQL1wm8XgraVWZdMCYJfv8HutkgH0ZeV6y39E=; b=qccgd5N4Y5iaQqi905ozw+h76IkBK7VaI2nZSfoF/rKq48+jKRKNPGabBu2tT7UmrtUhLG0tG/U+qgJLhLyRK1IwwoH5tpx4o76PkJ28CLYfzlpDl/IXtL42vSRbC/1XChPbIh7DkQVCM/YqVZbRXp90yoH+KizOo1fLDYKsNJg= Received: from BL0PR11MB3043.namprd11.prod.outlook.com (2603:10b6:208:33::19) by MN2PR11MB4367.namprd11.prod.outlook.com (2603:10b6:208:18b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.25; Sat, 10 Oct 2020 20:50:30 +0000 Received: from BL0PR11MB3043.namprd11.prod.outlook.com ([fe80::11fa:a7fe:329d:9239]) by BL0PR11MB3043.namprd11.prod.outlook.com ([fe80::11fa:a7fe:329d:9239%5]) with mapi id 15.20.3455.028; Sat, 10 Oct 2020 20:50:30 +0000 From: "Zhang, Roy Fan" To: Akhil Goyal , "dev@dpdk.org" CC: "Dybkowski, AdamX" Thread-Topic: [dpdk-dev v11 4/4] test/crypto: add unit-test for cryptodev raw API test Thread-Index: AQHWnoDT3SVxdzRA70ObGly5VMQ2i6mRQX+AgAAMvN0= Date: Sat, 10 Oct 2020 20:50:30 +0000 Message-ID: References: <20200924163417.49983-1-roy.fan.zhang@intel.com> <20201009211141.14435-1-roy.fan.zhang@intel.com> <20201009211141.14435-5-roy.fan.zhang@intel.com>, In-Reply-To: Accept-Language: zh-Hans-HK, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: [2001:bb6:6354:1200:2d24:16b5:ddd7:9454] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 18160ef8-e182-4013-33bd-08d86d5e2055 x-ms-traffictypediagnostic: MN2PR11MB4367: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1KPnPpgLk8kdiYimeLWOgZBcIT0HAvOTaTy9CBkSKNK9igxvMolTs7daRVeiP8Op4r2s7q1EZ336HLJlJWexNgHjm5GAoi2ORuQHJzIdPRp4pxc5GboyEQu1DmBzqaHAsx+Q531RgjUhq4TOGDY86364YSYuZQFKavzGVOeHRqBm902aPCGhDMmjFc87/AfMqeUtd0Z6wJjl3MlV4T/kF6hKWuobcIPbLs5e+LdLf2mQFftDgRYFHwLW74BhDuw+VZMaQRF3TpRJBbgtfVZjHM6vIdZxfpZ9NHD/JnMyEYqrFvB7SHmN6jmP2xp9uGeFIApzfjXSMrkquNl9kplubA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR11MB3043.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(346002)(396003)(136003)(39860400002)(110136005)(8936002)(316002)(83380400001)(5660300002)(8676002)(7696005)(6506007)(186003)(478600001)(9686003)(55016002)(64756008)(66556008)(4326008)(66476007)(91956017)(66446008)(86362001)(66946007)(52536014)(2906002)(76116006)(71200400001)(33656002)(107886003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: OmpayJxVvuvA50ZcQdlvJumd8ynIaqP4T7jRSvJnsBOuLVBdz7bE0hm/dB1HDopfHU2ZGre/2ndPCNclaSsPMW/1gnS0LuII+UypEmq3/I4HHsR9wVTlecDt2MqbLmHFCLq7aJgk2Cz9AlVIe49rr7xWr3KAhedCCrgwOHtYFqeFqjQXtnp8N0G8DpNxUYvsDtgqrKfxNAzFgCC9/JlmGoYBAT3Oxl1nmFfsX9kZsDyPYAfM5WUSDcIad3tGdfhf74QrysT5r4B3hJ/ntJ/fYl80e0FX+zv9db9AWp++hfBjgPprLoEEw5LNhikTE76hPD54tJ1DedD/BNbaESKrsIA165mvSKioolNlxDTkPGK9x3/ZuLXWsowipz5FCwvvJz0yE9exx8UkCkoOZHieJnpkk1Mz4xD4ri83Y0Z0Cav8+Z8qYEz4aMTlNHUKBHCs9M4qqWohkloyM5JtApCjqBR6N2/vjij27W4+NzWnB7sKaJ6JI7oXvO+5n7oIBwSLIUTLgas+Ul50FkV+egtlX+HAT8Jwv5sqWWIlQTzE1tRaRSkcVR9bStpNBVvRzOZf5pOjSKF8ERgN2ofXCueqVlJLEWggxnLF2iBB9Iblc26YPdkXfgWA7ltRJmzTi+HUC55Dc+EDnOO96xLbBcZMh2TRDp0mUjWAvtwwnDMhACeC203n+cYuxPzp2HivpYyi3MA4HHL8sHFZX1okZIydKA== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR11MB3043.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18160ef8-e182-4013-33bd-08d86d5e2055 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2020 20:50:30.8653 (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: zfBS3Kz0xBU+xAidQkrAU5fXdArZrXYWCTrPIp6/mRrTy0NLzhk1TkMFIBX+TDb+ztWGySgxYJ8gsyIa/d40Fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4367 X-OriginatorOrg: intel.com Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [dpdk-dev v11 4/4] test/crypto: add unit-test for cryptodev raw API test X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" SGkgQWtoaWwsDQoNCkZvciB5b3VyIKGwYWx3YXlzIHJldHVybiAxobEgcXVlc3Rpb246DQoNClRo ZSB3YXkgZGVxdWV1ZV9idXJzdCBBUEkgd29ya3MgaXMgd2UgbWF5IG5vdCBrbm93IGhvdyBtYW55 IG9wcyB0byBkZXF1ZXVlIHdpdGhvdXQgcGFyc2luZyB0aGUgZmlyc3QgdXNlciBkYXRhIChlLmcu IGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgbl9vcHMgZGF0YSkuIEl0IGlzIHVwIHRvIHRoZSB1c2Vy IHRvIHByb3ZpZGUgYSBjYWxsYmFjayBmdW5jdGlvbiB0byByZXR1cm4gdGhlIG51bWJlciBvZiBv cHMgLSBlaXRoZXIgYnkgcGFyc2luZyB0aGUgZGF0YSBzdHJ1Y3R1cmUsIG9yIGEgY29uc3RhbnQg bnVtYmVyIC0gc28gaW4gb3VyIHVuaXQgdGVzdCBpdCBpcyBhbHdheXMgMSBvcCB0byBwcm9jZXNz LiBTbyByZXR1cm5pbmcgMS4NCg0KRm9yIDJuZCBhbmQgM3JkIHF1ZXN0aW9uOiBlbnF1ZXVlX2J1 cnN0IGFuZCBkZXF1ZXVlX2J1cnN0IGhhdmUgdG8gcmV0dXJuIDIgdmFsdWVzLCB0aGUgbnVtYmVy IG9mIG9wcyBlbnF1ZXVlZCBvciBzdG9yZWQgYnV0IG5vdCBlbnF1ZXVlZCwgYW5kIHRoZSBvcGVy YXRpb24gc3RhdHVzIChlbnF1ZXVlZC9zdG9yZWQgYnkgbm90IGVucXVldWVkL2Vycm9yKS4gVGhl IGNoYW5nZWQgQVBJIHdpbGwgcmV0dXJuIHRoZSBudW1iZXIgb2Ygb3BzIGVucXVldWVkL2RlcXVl dWVkLCB0aGF0oa9zIHdoeSBJIG1hZGUgdGhlIGNoZWNrIGhlcmUuIFRoZSBvcGVyYXRpb24gc3Rh dHVzICgwLzEvZXJyb3IgY29kZSkgaXMgc3RvcmVkIGluIHRoZSChsHN0YXR1c6GxIGZpZWxkIGJ5 IHRoZSBkcml2ZXIuIFRoaXMgaXMgZXhwbGFpbmVkIGluIHRoZSBoZWFkZXIgZmlsZSBjb21tZW50 cw0KDQqhsA0KDQorICogQHJldHVybg0KKyAqICAgLSBUaGUgbnVtYmVyIG9mIGRlc2NyaXB0b3Jz IHN1Y2Nlc3NmdWxseSBlbnF1ZXVlZC4NCisgKiAgIC0gUG9zc2libGUgZW5xdWV1ZSBzdGF0dXMg d3JpdHRlbiBieSB0aGUgZHJpdmVyOg0KKyAqICAgICAtIDE6IFRoZSBkZXNjcmlwdG9ycyBhcmUg ZW5xdWV1ZWQgc3VjY2Vzc2Z1bGx5Lg0KKyAqICAgICAtIDA6IFRoZSBkZXNjcmlwdG9ycyBhcmUg c3RvcmVkIGludG8gZGV2aWNlIHF1ZXVlIGJ1dCBhcmUgbm90IHByb2Nlc3NlZA0KKyAqICAgICAg ICAgIHVudGlsIHJ0ZV9jcnlwdG9kZXZfcmF3X2VucXVldWVfZG9uZSgpIGlzIGNhbGxlZC4NCisg KiAgICAgLSBuZWdhdGl2ZSBpbnRlZ2VyOiBmYWlsdXJlLg0KDQpJZiB5b3UgdGhpbmsgaXQgaXMg bm90IGNsZWFyLCBhbnkgc3VnZ2VzdGlvbnM/DQoNClJlZ2FyZHMsDQpGYW4NCg0KDQpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXw0Kt6K8/sjLOiBBa2hpbCBHb3lhbCA8YWtoaWwuZ295 YWxAbnhwLmNvbT4NCreiy83KsbzkOiBTYXR1cmRheSwgT2N0b2JlciAxMCwgMjAyMCA4OjU1OjA3 IFBNDQrK1bz+yMs6IFpoYW5nLCBSb3kgRmFuIDxyb3kuZmFuLnpoYW5nQGludGVsLmNvbT47IGRl dkBkcGRrLm9yZyA8ZGV2QGRwZGsub3JnPg0Ks63LzTogRHlia293c2tpLCBBZGFtWCA8YWRhbXgu ZHlia293c2tpQGludGVsLmNvbT4NCtb3zOI6IFJFOiBbZHBkay1kZXYgdjExIDQvNF0gdGVzdC9j cnlwdG86IGFkZCB1bml0LXRlc3QgZm9yIGNyeXB0b2RldiByYXcgQVBJIHRlc3QNCg0KSGkgRmFu LA0KDQo+ICtzdGF0aWMgdWludDMyX3QNCj4gK2dldF9yYXdfZHBfZGVxdWV1ZV9jb3VudCh2b2lk ICp1c2VyX2RhdGEgX19ydGVfdW51c2VkKQ0KPiArew0KPiArICAgICByZXR1cm4gMTsNCldoeSBp cyB0aGlzIDEgYWx3YXlzPyBUaGVyZSBjb3VsZCBiZSBqb2JzID4xIHdoaWNoIGFyZSBwcm9jZXNz ZWQuDQoNCj4gK30NCj4gKw0KPiArc3RhdGljIHZvaWQNCj4gK3Bvc3RfcHJvY2Vzc19yYXdfZHBf b3Aodm9pZCAqdXNlcl9kYXRhLCAgICAgIHVpbnQzMl90IGluZGV4IF9fcnRlX3VudXNlZCwNCj4g KyAgICAgICAgICAgICB1aW50OF90IGlzX29wX3N1Y2Nlc3MpDQo+ICt7DQo+ICsgICAgIHN0cnVj dCBydGVfY3J5cHRvX29wICpvcCA9IHVzZXJfZGF0YTsNCj4gKyAgICAgb3AtPnN0YXR1cyA9IGlz X29wX3N1Y2Nlc3MgPyBSVEVfQ1JZUFRPX09QX1NUQVRVU19TVUNDRVNTIDoNCj4gKyAgICAgICAg ICAgICAgICAgICAgIFJURV9DUllQVE9fT1BfU1RBVFVTX0VSUk9SOw0KPiArfQ0KPiArDQo+ICt2 b2lkDQo+ICtwcm9jZXNzX3N5bV9yYXdfZHBfb3AodWludDhfdCBkZXZfaWQsIHVpbnQxNl90IHFw X2lkLA0KPiArICAgICAgICAgICAgIHN0cnVjdCBydGVfY3J5cHRvX29wICpvcCwgdWludDhfdCBp c19jaXBoZXIsIHVpbnQ4X3QgaXNfYXV0aCwNCj4gKyAgICAgICAgICAgICB1aW50OF90IGxlbl9p bl9iaXRzLCB1aW50OF90IGNpcGhlcl9pdl9sZW4pDQo+ICt7DQo+ICsgICAgIHN0cnVjdCBydGVf Y3J5cHRvX3N5bV9vcCAqc29wID0gb3AtPnN5bTsNCj4gKyAgICAgc3RydWN0IHJ0ZV9jcnlwdG9f b3AgKnJldF9vcCA9IE5VTEw7DQo+ICsgICAgIHN0cnVjdCBydGVfY3J5cHRvX3ZlYyBkYXRhX3Zl Y1tVSU5UOF9NQVhdOw0KPiArICAgICBzdHJ1Y3QgcnRlX2NyeXB0b192YV9pb3ZhX3B0ciBjaXBo ZXJfaXYsIGRpZ2VzdCwgYWFkX2F1dGhfaXY7DQo+ICsgICAgIHVuaW9uIHJ0ZV9jcnlwdG9fc3lt X29mcyBvZnM7DQo+ICsgICAgIHN0cnVjdCBydGVfY3J5cHRvX3N5bV92ZWMgdmVjOw0KPiArICAg ICBzdHJ1Y3QgcnRlX2NyeXB0b19zZ2wgc2dsOw0KPiArICAgICB1aW50MzJfdCBtYXhfbGVuOw0K PiArICAgICB1bmlvbiBydGVfY3J5cHRvZGV2X3Nlc3Npb25fY3R4IHNlc3M7DQo+ICsgICAgIHVp bnQzMl90IGNvdW50ID0gMDsNCj4gKyAgICAgc3RydWN0IHJ0ZV9jcnlwdG9fcmF3X2RwX2N0eCAq Y3R4Ow0KPiArICAgICB1aW50MzJfdCBjaXBoZXJfb2Zmc2V0ID0gMCwgY2lwaGVyX2xlbiA9IDAs IGF1dGhfb2Zmc2V0ID0gMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgIGF1dGhfbGVuID0gMDsN Cj4gKyAgICAgaW50MzJfdCBuOw0KPiArICAgICB1aW50MzJfdCBuX3N1Y2Nlc3M7DQo+ICsgICAg IGludCBjdHhfc2VydmljZV9zaXplOw0KPiArICAgICBpbnQzMl90IHN0YXR1cyA9IDA7DQo+ICsN Cj4gKyAgICAgY3R4X3NlcnZpY2Vfc2l6ZSA9IHJ0ZV9jcnlwdG9kZXZfZ2V0X3Jhd19kcF9jdHhf c2l6ZShkZXZfaWQpOw0KPiArICAgICBpZiAoY3R4X3NlcnZpY2Vfc2l6ZSA8IDApIHsNCj4gKyAg ICAgICAgICAgICBvcC0+c3RhdHVzID0gUlRFX0NSWVBUT19PUF9TVEFUVVNfRVJST1I7DQo+ICsg ICAgICAgICAgICAgcmV0dXJuOw0KPiArICAgICB9DQo+ICsNCj4gKyAgICAgY3R4ID0gbWFsbG9j KGN0eF9zZXJ2aWNlX3NpemUpOw0KPiArICAgICBpZiAoIWN0eCkgew0KPiArICAgICAgICAgICAg IG9wLT5zdGF0dXMgPSBSVEVfQ1JZUFRPX09QX1NUQVRVU19FUlJPUjsNCj4gKyAgICAgICAgICAg ICByZXR1cm47DQo+ICsgICAgIH0NCj4gKw0KPiArICAgICAvKiBCb3RoIGFyZSBlbnVtcywgc2V0 dGluZyBjcnlwdG9fc2VzcyB3aWxsIHN1aXQgYW55IHNlc3Npb24gdHlwZSAqLw0KPiArICAgICBz ZXNzLmNyeXB0b19zZXNzID0gb3AtPnN5bS0+c2Vzc2lvbjsNCj4gKw0KPiArICAgICBpZiAocnRl X2NyeXB0b2Rldl9jb25maWd1cmVfcmF3X2RwX2N0eChkZXZfaWQsIHFwX2lkLCBjdHgsDQo+ICsg ICAgICAgICAgICAgICAgICAgICBvcC0+c2Vzc190eXBlLCBzZXNzLCAwKSA8IDApIHsNCj4gKyAg ICAgICAgICAgICBvcC0+c3RhdHVzID0gUlRFX0NSWVBUT19PUF9TVEFUVVNfRVJST1I7DQo+ICsg ICAgICAgICAgICAgZ290byBleGl0Ow0KPiArICAgICB9DQo+ICsNCj4gKyAgICAgY2lwaGVyX2l2 LmlvdmEgPSAwOw0KPiArICAgICBjaXBoZXJfaXYudmEgPSBOVUxMOw0KPiArICAgICBhYWRfYXV0 aF9pdi5pb3ZhID0gMDsNCj4gKyAgICAgYWFkX2F1dGhfaXYudmEgPSBOVUxMOw0KPiArICAgICBk aWdlc3QuaW92YSA9IDA7DQo+ICsgICAgIGRpZ2VzdC52YSA9IE5VTEw7DQo+ICsgICAgIHNnbC52 ZWMgPSBkYXRhX3ZlYzsNCj4gKyAgICAgdmVjLm51bSA9IDE7DQo+ICsgICAgIHZlYy5zZ2wgPSAm c2dsOw0KPiArICAgICB2ZWMuaXYgPSAmY2lwaGVyX2l2Ow0KPiArICAgICB2ZWMuZGlnZXN0ID0g JmRpZ2VzdDsNCj4gKyAgICAgdmVjLmFhZCA9ICZhYWRfYXV0aF9pdjsNCj4gKyAgICAgdmVjLnN0 YXR1cyA9ICZzdGF0dXM7DQo+ICsNCj4gKyAgICAgb2ZzLnJhdyA9IDA7DQo+ICsNCj4gKyAgICAg aWYgKGlzX2NpcGhlciAmJiBpc19hdXRoKSB7DQo+ICsgICAgICAgICAgICAgY2lwaGVyX29mZnNl dCA9IHNvcC0+Y2lwaGVyLmRhdGEub2Zmc2V0Ow0KPiArICAgICAgICAgICAgIGNpcGhlcl9sZW4g PSBzb3AtPmNpcGhlci5kYXRhLmxlbmd0aDsNCj4gKyAgICAgICAgICAgICBhdXRoX29mZnNldCA9 IHNvcC0+YXV0aC5kYXRhLm9mZnNldDsNCj4gKyAgICAgICAgICAgICBhdXRoX2xlbiA9IHNvcC0+ YXV0aC5kYXRhLmxlbmd0aDsNCj4gKyAgICAgICAgICAgICBtYXhfbGVuID0gUlRFX01BWChjaXBo ZXJfb2Zmc2V0ICsgY2lwaGVyX2xlbiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YXV0aF9vZmZzZXQgKyBhdXRoX2xlbik7DQo+ICsgICAgICAgICAgICAgaWYgKGxlbl9pbl9iaXRz KSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuID0gbWF4X2xlbiA+PiAzOw0KPiAr ICAgICAgICAgICAgICAgICAgICAgY2lwaGVyX29mZnNldCA9IGNpcGhlcl9vZmZzZXQgPj4gMzsN Cj4gKyAgICAgICAgICAgICAgICAgICAgIGF1dGhfb2Zmc2V0ID0gYXV0aF9vZmZzZXQgPj4gMzsN Cj4gKyAgICAgICAgICAgICAgICAgICAgIGNpcGhlcl9sZW4gPSBjaXBoZXJfbGVuID4+IDM7DQo+ ICsgICAgICAgICAgICAgICAgICAgICBhdXRoX2xlbiA9IGF1dGhfbGVuID4+IDM7DQo+ICsgICAg ICAgICAgICAgfQ0KPiArICAgICAgICAgICAgIG9mcy5vZnMuY2lwaGVyLmhlYWQgPSBjaXBoZXJf b2Zmc2V0Ow0KPiArICAgICAgICAgICAgIG9mcy5vZnMuY2lwaGVyLnRhaWwgPSBtYXhfbGVuIC0g Y2lwaGVyX29mZnNldCAtIGNpcGhlcl9sZW47DQo+ICsgICAgICAgICAgICAgb2ZzLm9mcy5hdXRo LmhlYWQgPSBhdXRoX29mZnNldDsNCj4gKyAgICAgICAgICAgICBvZnMub2ZzLmF1dGgudGFpbCA9 IG1heF9sZW4gLSBhdXRoX29mZnNldCAtIGF1dGhfbGVuOw0KPiArICAgICAgICAgICAgIGNpcGhl cl9pdi52YSA9IHJ0ZV9jcnlwdG9fb3BfY3RvZF9vZmZzZXQob3AsIHZvaWQgKiwNCj4gSVZfT0ZG U0VUKTsNCj4gKyAgICAgICAgICAgICBjaXBoZXJfaXYuaW92YSA9IHJ0ZV9jcnlwdG9fb3BfY3Rv cGh5c19vZmZzZXQob3AsIElWX09GRlNFVCk7DQo+ICsgICAgICAgICAgICAgYWFkX2F1dGhfaXYu dmEgPSBydGVfY3J5cHRvX29wX2N0b2Rfb2Zmc2V0KA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBvcCwgdm9pZCAqLCBJVl9PRkZTRVQgKyBjaXBoZXJfaXZfbGVuKTsNCj4gKyAgICAg ICAgICAgICBhYWRfYXV0aF9pdi5pb3ZhID0gcnRlX2NyeXB0b19vcF9jdG9waHlzX29mZnNldChv cCwNCj4gSVZfT0ZGU0VUICsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2lwaGVy X2l2X2xlbik7DQo+ICsgICAgICAgICAgICAgZGlnZXN0LnZhID0gKHZvaWQgKilzb3AtPmF1dGgu ZGlnZXN0LmRhdGE7DQo+ICsgICAgICAgICAgICAgZGlnZXN0LmlvdmEgPSBzb3AtPmF1dGguZGln ZXN0LnBoeXNfYWRkcjsNCj4gKw0KPiArICAgICB9IGVsc2UgaWYgKGlzX2NpcGhlcikgew0KPiAr ICAgICAgICAgICAgIGNpcGhlcl9vZmZzZXQgPSBzb3AtPmNpcGhlci5kYXRhLm9mZnNldDsNCj4g KyAgICAgICAgICAgICBjaXBoZXJfbGVuID0gc29wLT5jaXBoZXIuZGF0YS5sZW5ndGg7DQo+ICsg ICAgICAgICAgICAgbWF4X2xlbiA9IGNpcGhlcl9sZW4gKyBjaXBoZXJfb2Zmc2V0Ow0KPiArICAg ICAgICAgICAgIGlmIChsZW5faW5fYml0cykgew0KPiArICAgICAgICAgICAgICAgICAgICAgbWF4 X2xlbiA9IG1heF9sZW4gPj4gMzsNCj4gKyAgICAgICAgICAgICAgICAgICAgIGNpcGhlcl9vZmZz ZXQgPSBjaXBoZXJfb2Zmc2V0ID4+IDM7DQo+ICsgICAgICAgICAgICAgICAgICAgICBjaXBoZXJf bGVuID0gY2lwaGVyX2xlbiA+PiAzOw0KPiArICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAg ICBvZnMub2ZzLmNpcGhlci5oZWFkID0gY2lwaGVyX29mZnNldDsNCj4gKyAgICAgICAgICAgICBv ZnMub2ZzLmNpcGhlci50YWlsID0gbWF4X2xlbiAtIGNpcGhlcl9vZmZzZXQgLSBjaXBoZXJfbGVu Ow0KPiArICAgICAgICAgICAgIGNpcGhlcl9pdi52YSA9IHJ0ZV9jcnlwdG9fb3BfY3RvZF9vZmZz ZXQob3AsIHZvaWQgKiwNCj4gSVZfT0ZGU0VUKTsNCj4gKyAgICAgICAgICAgICBjaXBoZXJfaXYu aW92YSA9IHJ0ZV9jcnlwdG9fb3BfY3RvcGh5c19vZmZzZXQob3AsIElWX09GRlNFVCk7DQo+ICsN Cj4gKyAgICAgfSBlbHNlIGlmIChpc19hdXRoKSB7DQo+ICsgICAgICAgICAgICAgYXV0aF9vZmZz ZXQgPSBzb3AtPmF1dGguZGF0YS5vZmZzZXQ7DQo+ICsgICAgICAgICAgICAgYXV0aF9sZW4gPSBz b3AtPmF1dGguZGF0YS5sZW5ndGg7DQo+ICsgICAgICAgICAgICAgbWF4X2xlbiA9IGF1dGhfbGVu ICsgYXV0aF9vZmZzZXQ7DQo+ICsgICAgICAgICAgICAgaWYgKGxlbl9pbl9iaXRzKSB7DQo+ICsg ICAgICAgICAgICAgICAgICAgICBtYXhfbGVuID0gbWF4X2xlbiA+PiAzOw0KPiArICAgICAgICAg ICAgICAgICAgICAgYXV0aF9vZmZzZXQgPSBhdXRoX29mZnNldCA+PiAzOw0KPiArICAgICAgICAg ICAgICAgICAgICAgYXV0aF9sZW4gPSBhdXRoX2xlbiA+PiAzOw0KPiArICAgICAgICAgICAgIH0N Cj4gKyAgICAgICAgICAgICBvZnMub2ZzLmF1dGguaGVhZCA9IGF1dGhfb2Zmc2V0Ow0KPiArICAg ICAgICAgICAgIG9mcy5vZnMuYXV0aC50YWlsID0gbWF4X2xlbiAtIGF1dGhfb2Zmc2V0IC0gYXV0 aF9sZW47DQo+ICsgICAgICAgICAgICAgYWFkX2F1dGhfaXYudmEgPSBydGVfY3J5cHRvX29wX2N0 b2Rfb2Zmc2V0KA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcCwgdm9pZCAqLCBJ Vl9PRkZTRVQgKyBjaXBoZXJfaXZfbGVuKTsNCj4gKyAgICAgICAgICAgICBhYWRfYXV0aF9pdi5p b3ZhID0gcnRlX2NyeXB0b19vcF9jdG9waHlzX29mZnNldChvcCwNCj4gSVZfT0ZGU0VUICsNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2lwaGVyX2l2X2xlbik7DQo+ICsgICAgICAg ICAgICAgZGlnZXN0LnZhID0gKHZvaWQgKilzb3AtPmF1dGguZGlnZXN0LmRhdGE7DQo+ICsgICAg ICAgICAgICAgZGlnZXN0LmlvdmEgPSBzb3AtPmF1dGguZGlnZXN0LnBoeXNfYWRkcjsNCj4gKw0K PiArICAgICB9IGVsc2UgeyAvKiBhZWFkICovDQo+ICsgICAgICAgICAgICAgY2lwaGVyX29mZnNl dCA9IHNvcC0+YWVhZC5kYXRhLm9mZnNldDsNCj4gKyAgICAgICAgICAgICBjaXBoZXJfbGVuID0g c29wLT5hZWFkLmRhdGEubGVuZ3RoOw0KPiArICAgICAgICAgICAgIG1heF9sZW4gPSBjaXBoZXJf bGVuICsgY2lwaGVyX29mZnNldDsNCj4gKyAgICAgICAgICAgICBpZiAobGVuX2luX2JpdHMpIHsN Cj4gKyAgICAgICAgICAgICAgICAgICAgIG1heF9sZW4gPSBtYXhfbGVuID4+IDM7DQo+ICsgICAg ICAgICAgICAgICAgICAgICBjaXBoZXJfb2Zmc2V0ID0gY2lwaGVyX29mZnNldCA+PiAzOw0KPiAr ICAgICAgICAgICAgICAgICAgICAgY2lwaGVyX2xlbiA9IGNpcGhlcl9sZW4gPj4gMzsNCj4gKyAg ICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgb2ZzLm9mcy5jaXBoZXIuaGVhZCA9IGNpcGhl cl9vZmZzZXQ7DQo+ICsgICAgICAgICAgICAgb2ZzLm9mcy5jaXBoZXIudGFpbCA9IG1heF9sZW4g LSBjaXBoZXJfb2Zmc2V0IC0gY2lwaGVyX2xlbjsNCj4gKyAgICAgICAgICAgICBjaXBoZXJfaXYu dmEgPSBydGVfY3J5cHRvX29wX2N0b2Rfb2Zmc2V0KG9wLCB2b2lkICosDQo+IElWX09GRlNFVCk7 DQo+ICsgICAgICAgICAgICAgY2lwaGVyX2l2LmlvdmEgPSBydGVfY3J5cHRvX29wX2N0b3BoeXNf b2Zmc2V0KG9wLCBJVl9PRkZTRVQpOw0KPiArICAgICAgICAgICAgIGFhZF9hdXRoX2l2LnZhID0g KHZvaWQgKilzb3AtPmFlYWQuYWFkLmRhdGE7DQo+ICsgICAgICAgICAgICAgYWFkX2F1dGhfaXYu aW92YSA9IHNvcC0+YWVhZC5hYWQucGh5c19hZGRyOw0KPiArICAgICAgICAgICAgIGRpZ2VzdC52 YSA9ICh2b2lkICopc29wLT5hZWFkLmRpZ2VzdC5kYXRhOw0KPiArICAgICAgICAgICAgIGRpZ2Vz dC5pb3ZhID0gc29wLT5hZWFkLmRpZ2VzdC5waHlzX2FkZHI7DQo+ICsgICAgIH0NCj4gKw0KPiAr ICAgICBuID0gcnRlX2NyeXB0b19tYnVmX3RvX3ZlYyhzb3AtPm1fc3JjLCAwLCBtYXhfbGVuLA0K PiArICAgICAgICAgICAgICAgICAgICAgZGF0YV92ZWMsIFJURV9ESU0oZGF0YV92ZWMpKTsNCj4g KyAgICAgaWYgKG4gPCAwIHx8IG4gPiBzb3AtPm1fc3JjLT5uYl9zZWdzKSB7DQo+ICsgICAgICAg ICAgICAgb3AtPnN0YXR1cyA9IFJURV9DUllQVE9fT1BfU1RBVFVTX0VSUk9SOw0KPiArICAgICAg ICAgICAgIGdvdG8gZXhpdDsNCj4gKyAgICAgfQ0KPiArDQo+ICsgICAgIHNnbC5udW0gPSBuOw0K PiArDQo+ICsgICAgIGlmIChydGVfY3J5cHRvZGV2X3Jhd19lbnF1ZXVlX2J1cnN0KGN0eCwgJnZl Yywgb2ZzLCAodm9pZCAqKikmb3AsDQo+ICsgICAgICAgICAgICAgICAgICAgICAmc3RhdHVzKQ0K PiArICAgICAgICAgICAgICAgICAgICAgPCAxKSB7DQo+ICsgICAgICAgICAgICAgb3AtPnN0YXR1 cyA9IFJURV9DUllQVE9fT1BfU1RBVFVTX0VSUk9SOw0KPiArICAgICAgICAgICAgIGdvdG8gZXhp dDsNCj4gKyAgICAgfQ0KVGhpcyBjaGVjayB3aWxsIGFsd2F5cyBmYWlsIGluIHlvdXIgY2FzZS4g SSBiZWxpZXZlIHlvdSBoYXZlIG5vdCB0ZXN0ZWQgaXQgd2l0aCB0aGUNClJlY2VudCBjaGFuZ2Vz IHRoYXQgSSBzdWdnZXN0ZWQgb24gVjEwLg0KcnRlX2NyeXB0b2Rldl9yYXdfZW5xdWV1ZV9idXJz dCB3aWxsIHJldHVybiAwIGlmIHJ0ZV9jcnlwdG9kZXZfcmF3X2VucXVldWVfZG9uZQ0KbmVlZCB0 byBiZSBjYWxsZWQgb3IgZWxzZSB0aGUgbnVtYmVyIG9mIHN1Y2Nlc3NmdWxseSBlbnF1ZXVlZCBk ZXNjcmlwdG9ycy4NCg0KDQo+ICsNCj4gKyAgICAgaWYgKHN0YXR1cyA9PSAwKSB7DQo+ICsgICAg ICAgICAgICAgc3RhdHVzID0gcnRlX2NyeXB0b2Rldl9yYXdfZW5xdWV1ZV9kb25lKGN0eCwgMSk7 DQo+ICsgICAgICAgICAgICAgaWYgKHN0YXR1cyA8IDApIHsNCj4gKyAgICAgICAgICAgICAgICAg ICAgIG9wLT5zdGF0dXMgPSBSVEVfQ1JZUFRPX09QX1NUQVRVU19FUlJPUjsNCj4gKyAgICAgICAg ICAgICAgICAgICAgIGdvdG8gZXhpdDsNCj4gKyAgICAgICAgICAgICB9DQo+ICsgICAgIH0NCj4g Kw0KPiArICAgICBuID0gbl9zdWNjZXNzID0gMDsNCj4gKyAgICAgd2hpbGUgKGNvdW50KysgPCBN QVhfUkFXX0RFUVVFVUVfQ09VTlQgJiYgbiA9PSAwKSB7DQo+ICsgICAgICAgICAgICAgbiA9IHJ0 ZV9jcnlwdG9kZXZfcmF3X2RlcXVldWVfYnVyc3QoY3R4LA0KPiArICAgICAgICAgICAgICAgICAg ICAgZ2V0X3Jhd19kcF9kZXF1ZXVlX2NvdW50LA0KPiBwb3N0X3Byb2Nlc3NfcmF3X2RwX29wLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKikmcmV0X29wLCAwLCAmbl9z dWNjZXNzLCAmc3RhdHVzKTsNCj4gKw0KPiArICAgICAgICAgICAgIGlmIChuID09IDApDQo+ICsg ICAgICAgICAgICAgICAgICAgICBydGVfcGF1c2UoKTsNCj4gKyAgICAgfQ0KDQpTYW1lIGNvbW1l bnQgaGVyZSBhcyB3ZWxsLg0KcnRlX2NyeXB0b2Rldl9yYXdfZGVxdWV1ZV9idXJzdCB3aWxsIHJl dHVybiAwIGlmIGRlcXVldWVfZG9uZSBuZWVkIHRvIGJlIGNhbGxlZC4NClRoZXNlIGNoZWNrcyBk b2VzIG5vdCBzZWVtIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgQVBJIGRvY3VtZW50YXRpb24u DQoNCj4gKw0KPiArICAgICBpZiAobiA9PSAxICYmIHN0YXR1cyA9PSAwKSB7DQo+ICsgICAgICAg ICAgICAgaWYgKHJ0ZV9jcnlwdG9kZXZfcmF3X2RlcXVldWVfZG9uZShjdHgsIDEpIDwgMCkgew0K PiArICAgICAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyA9IFJURV9DUllQVE9fT1BfU1RBVFVT X0VSUk9SOw0KPiArICAgICAgICAgICAgICAgICAgICAgZ290byBleGl0Ow0KPiArICAgICAgICAg ICAgIH0NCj4gKyAgICAgfQ0KPiArDQo+ICsgICAgIG9wLT5zdGF0dXMgPSAoY291bnQgPT0gTUFY X1JBV19ERVFVRVVFX0NPVU5UICsgMSB8fCByZXRfb3AgIT0NCj4gb3AgfHwNCj4gKyAgICAgICAg ICAgICAgICAgICAgIG5fc3VjY2VzcyA8IDEpID8gUlRFX0NSWVBUT19PUF9TVEFUVVNfRVJST1Ig Og0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9DUllQVE9fT1Bf U1RBVFVTX1NVQ0NFU1M7DQo+ICsNCj4gK2V4aXQ6DQo+ICsgICAgIGZyZWUoY3R4KTsNCj4gK30N Cj4gKw0K