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 BECC0A04FF for ; Mon, 21 Mar 2022 20:57:18 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 907384161A; Mon, 21 Mar 2022 20:57:18 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id C13CF4161A for ; Mon, 21 Mar 2022 20:57:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647892637; x=1679428637; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=oaSukY7zENMetNdYEp27yyXAZmuAJySHY84ePWdrfsk=; b=VOodetio4qR1jC31harRsHx8u8zGCORqYcnqQQxnCob96sTN6ldxGAUl ZEg+7X/4qu+HlMJBLQltSOOsFnd2tntCJ1DKStcw3cLYi0GjS8wREZ5Oo 8h4QJHpmexNoTYc18J9G0SD4b5VyYnOGicgDXDOtVtlMZ87iuyxFL79f2 DTZL/3SjIdIqt9HOE9BjNgdZMeI1yRJPLZ5NrsdJliHcEdNfRQftcWd1S jZDG4E3XQwCMcTayRwOkvHxu5SEyFexI4NDoMpxfbvj1ihDpltLGApxXu hpdDmKOUu+82QMwwnoxXt0I9bOLHDNZebxUR6Z3shuLu6WGPRWOsqNizj Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10293"; a="238242542" X-IronPort-AV: E=Sophos;i="5.90,199,1643702400"; d="scan'208";a="238242542" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Mar 2022 12:57:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,199,1643702400"; d="scan'208";a="636764620" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by FMSMGA003.fm.intel.com with ESMTP; 21 Mar 2022 12:57:15 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) 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.2308.27; Mon, 21 Mar 2022 12:57:14 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Mon, 21 Mar 2022 12:57:14 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.109) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Mon, 21 Mar 2022 12:57:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n23iMW+N+f0wcz05VmXVyZuTd8/6WKuoWHt4YBiu+yeNzX8DSzM08SzesOFoku4IJsVpI2GfldPhQX50ubSA/hpyy41X7cRg/UDVdAuxHX7WqwsJR9cs80NCypbeYDvUiPsgipACljmPCaAgkIVaEOHGFPz4ZfN4ARarJTBOui6U7jTkyq7De/GNl4NU36SVvs4TOFe1sGlvY/WLr46Im6ZwS+bqtEo+b+kdaPf9ypsn04CR/rGlEJBuWBN77w8HjXlYN2hlivXUhMo2ULeCRfy4kYW+vFZsvSnCv+Z5R+S0Dmp9dKI+GYWIA1fWr3KfeLF4UDAkXALbS6uAMl8wUQ== 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=oaSukY7zENMetNdYEp27yyXAZmuAJySHY84ePWdrfsk=; b=mhFQ4Mvc434E4ELA3XuwGY3psLYVpDReDdSBWxdoOaWunsf6AIOzRCUfpLoBN/cFCf0N9IAz0McPVxkHTkdXInnXtJ8Lj0D3xx4ptd9pV2Dt5dQYbo60u6+SpxsIr1iDz5PlJHxNdN78n99mbe90HaCtj+nyRxd4yDFHUtC+cjEq+EXAdXBgbhmbyvofKi7mPd/g9LA1BxO95Q1AwQs4NusLZjbnGO7mxjeua0VUBEMqDFzsXR/ur1Wt/LNYsmuJIL4e/rLZahhBAY2RXLolKyX8O9WulQ/uC00RK84U8ks1USIdU4mXJHa+BiyLXj7pxGYWQojtyiWVTx5r63rUyw== 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 Received: from DM8PR11MB5591.namprd11.prod.outlook.com (2603:10b6:8:38::23) by BL0PR11MB3154.namprd11.prod.outlook.com (2603:10b6:208:2f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.23; Mon, 21 Mar 2022 19:57:12 +0000 Received: from DM8PR11MB5591.namprd11.prod.outlook.com ([fe80::197a:9bb0:bd82:d69a]) by DM8PR11MB5591.namprd11.prod.outlook.com ([fe80::197a:9bb0:bd82:d69a%6]) with mapi id 15.20.5081.023; Mon, 21 Mar 2022 19:57:12 +0000 From: "De Lara Guarch, Pablo" To: Luca Boccassi , "stable@dpdk.org" Subject: RE: [PATCH 20.11 1/2] crypto/ipsec_mb: fix length and offset settings Thread-Topic: [PATCH 20.11 1/2] crypto/ipsec_mb: fix length and offset settings Thread-Index: AQHYN5ONNddM8oO9mUi3RsTVZk3hOqy+zI6AgAt+kxA= Date: Mon, 21 Mar 2022 19:57:12 +0000 Message-ID: References: <20220314110559.1502861-1-pablo.de.lara.guarch@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.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 859a7b93-2c4c-4757-7ea2-08da0b74fd75 x-ms-traffictypediagnostic: BL0PR11MB3154:EE_ 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: ilSa+TTzLH08XRaoE23Br7UFkmIhpdhrWlsaAZ39U2jpbClTD5ONLRfntpzb0xpypDGPerMKpKRgh70aeRp9HRRgsBe9jOJpmwGr4Hq55n86saAUkfVTbB5Ek/k1s62chg0Xfeho8pgDlpRvsftIQI0epbPEBEd7wjPgjaILIXrWu5w/0CBEB0H09GwRkMwm4UC+BwQd008zQhTWcqpHco5UxDBhGZc7PnysmmvEic/WgYlsSg9hurDqZ/tPF5g1B8cFadYhJE1mHLRAZZMslyrp5PcgI2QzoMo0Co//4w97jzBDzjZOeUTRt37ylpsnsw9JEu+j8KatvbWvmHQbqH65301jKIRXwmBg8GfFeyKjm0A7/oiqKX5nMKptKllPsAcmMqTqPKyxq8cbD9PttOwRxXKdvlOObDsM1wrPjuAOr9qpOmKDZI2Edr76aa1kb18yjqiZP2WvSAQBTtQi+u0YJjMI/5u/7uBrpUfH4OmmSfUjGyjpyeKF8LTzrlcxUmtbzQjobr1mn1v/QVvYEkUELozmdoKCala+NgMVF6UhdzObpSPAyMbSN+2P9JHXnXl3OGSjDKWYsQ3VgTW8qia6TqoV7lzAZ0UMZ7hGZtkQqDATpJULgtbyppbEKL6lTKUv8djtHZaQ4SbINH6PtNzYh0L2r6IECSdmHiByrq3E0V1FVTFL+HMo2Ef3geuiv+Fi3xEsdPaVlYh2jp7AqgSJw39v+iH3NYyH3TcKzSwdPgV4vPuhpXRIPeY/iiMRxKfzxhWBW+lpGThg/6QuN8nkSAtl4L0sQsc7jHMIh3Q= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5591.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(508600001)(9686003)(26005)(966005)(71200400001)(2906002)(33656002)(30864003)(55016003)(38070700005)(86362001)(38100700002)(52536014)(316002)(186003)(8676002)(66446008)(66556008)(66946007)(64756008)(66476007)(8936002)(5660300002)(110136005)(7696005)(6506007)(83380400001)(82960400001)(122000001)(76116006)(55236004)(53546011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V3QvV3MxSFZidjRoL05mZ1BJRWk3b3FCQjNlbmwrQ2JGWldmRDVPYlVyUUlh?= =?utf-8?B?TDlVY01MbnpZejhnTnhoQUN2RnBxN3pDTVRERUxDN1ZabUlJUjVsUDFiZWE5?= =?utf-8?B?TjVXbnJwUUtPbzdEb2ViRHlpcW5nbkY5MW05YWdjVVh4aW8vQVkwc014clBW?= =?utf-8?B?NUJ6c1l0NGVFMkVTYWdNZUExWllWNVFEdFhrOEJwOXc1NXpwT0t6K0FNZEVQ?= =?utf-8?B?ZEdKUGtkcWVzdXhxU0I3QWsyUGRXbTNKVENVK280eStKdzBXY0VIbWxyRWM1?= =?utf-8?B?elhOREVNNDBhaDEzS2hDcEFwTHRSeUNUdkpzZTZlQTY0bjA0eE5rd05kdEZx?= =?utf-8?B?WGx2N2ZhVWhsU29XeHdCZGRLSFd5MkFZU0pxUTB3V1BjZDhaNGQveHF0cytD?= =?utf-8?B?RWN2azk1bytod0pScUcvWWs0RkdsSzBjWG9peWFsTkgwU2t6N25udGZPcWVV?= =?utf-8?B?YzBlMTgvZTZWSGxGNCtxUkFJZUdkRjVOelFwTGM1OGU1VjR2VUpZUW84U1FR?= =?utf-8?B?b0JOTW1OMUtoKzF5d3ZGNWVCMVVVVks3QXdPS3E3UjJ3c3pJUmVSbXExdEhC?= =?utf-8?B?cCtwRTlsWGZ0UmJML1BkTm1nQVZHa3IrWVVJZEd5UGVGQWw3YWQ2UHVwZ25r?= =?utf-8?B?VTFkK1hMakl0eWw4dlFYaUdYU1htb01SZ0NwRXBPRHNXVnhrTyt4U1NTcmtC?= =?utf-8?B?L056THA3VFNHVCsxS0h3M2p3akZDemdtdnpuQ2pZQmhOTHFUSk5icllxRVhZ?= =?utf-8?B?NXJwcVNDcjdkZjlBbms0Y2s5WnExOWZZZjJSV05MVlMzdzVJUEsxR1gvbFp4?= =?utf-8?B?QjlYSXJqSk5Tc3M0aEQ1YUdSVElaZGYrTnJaU3BQL21VU1lBYWtOZFZhZWQw?= =?utf-8?B?SHRvQ0Zib1pwZXFvWHcrV1ZNMkhiN0JHMm9qak5Rek9yMHpWT1R3aWIxaUJl?= =?utf-8?B?NWd0S0I1L0g4SkFjT2RYd2ZQS1F0UGRRdy9xUERRUlBEbnJ6SGNjZk85UjJR?= =?utf-8?B?eUhQWklMV1ZobUN0SHkrTDB2MzhJQlp2d2ZpTmFvdWF1NEUvc2Myay9pdWUw?= =?utf-8?B?clRyYlN3V01HbDRDTjNMRjFzLzdKNjdOK1hQaXN2ckhaS3FlQ3hoZWtYRkZB?= =?utf-8?B?K3VBa3licTV4bkhFWFFiUHEwN2FPeXdkM0gvNUgvbGkvZTVBUTVqQkZQNGVD?= =?utf-8?B?RElzbnRJbnQwVTF5YlFkMFhIVWpQVVNoNGt1d1JveTdWa3ppVmx2NWhIcmsv?= =?utf-8?B?WVZtWWl2RE9vL0RvQTVDVWMzOHpKTThUbDhPWGo1Y3NFYk94dWduWHJZbHVP?= =?utf-8?B?Q29oYnp2dy9wMkNvVXkydnJNendYYitqeGIyeUlreFJ0M1lFRVJzZkZsVVl3?= =?utf-8?B?WkNsZHJHbjZ1eVRsYTQ5dUk1K1lnSEpuVVBSaHhMcnB5MHZ1Y0dycGRwNGFG?= =?utf-8?B?eVd3YXdUWlpMNDNwOGpoYS84bVBXbWJ2bTFoZFVaVXk0MWUwdDZXWVpBUmkv?= =?utf-8?B?dmFyVFEzV1FyVFhYaW5TTjViRmRlVUx5bVZtVENub3NXWUd6eEJJWGo1ZFlV?= =?utf-8?B?T3BqV2crSnZvSjlra1ZQd1NNRXRLa3NiK3cyZ1pqNEFpc2M5TlNYb0ErOG8y?= =?utf-8?B?RmRVa2dKL09NUXVJVmJsejMzbUkyeWFSc1RYZFFGODUwN3ZpNkdjbkxrR21a?= =?utf-8?B?VGVWYjdTUlEvdm5FZlVrbHA5QWs2cUlYN1FBek4rcHZDUjNOUDRCSU9TODUv?= =?utf-8?B?VTl2bW1hQUlZWUxOeHFISG9lQzgzbE42MzVmYi9mYUUzaFZmWitwWkJEdDV5?= =?utf-8?B?U0Q1Z29BYzlPVTVWNFZCS3RCNjhxdWFOeUgzTWxhTGJsWTNwV21USDVwRndz?= =?utf-8?B?ZGJJSnAreUN0RUVDVTF6QWhTMkYxUnpZWFk1M1JuSjBuVmpEbDhkdTJiTGFO?= =?utf-8?B?SVV5bFZKS1pzYVZjNDIxZXRKNlk5dzFMSEJEb2dQOEZ5cndVNmE1R3YyK01U?= =?utf-8?B?N1ZBOXl1TWJRPT0=?= 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: DM8PR11MB5591.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 859a7b93-2c4c-4757-7ea2-08da0b74fd75 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2022 19:57:12.2013 (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: q8PtEi2+D/nGtIK0xGnytRvvBBJQ1QumVxhMnikcta+NjBtLUMPyuQBNZ6eQdM/Is9azCVJqjnBxPGCCMs2zDa4DS4lVh7N/cHadzwfYnSs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3154 X-OriginatorOrg: intel.com X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org SGkgTHVjYSwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMdWNhIEJv Y2Nhc3NpIDxibHVjYUBkZWJpYW4ub3JnPg0KPiBTZW50OiBNb25kYXksIE1hcmNoIDE0LCAyMDIy IDEyOjIwIFBNDQo+IFRvOiBEZSBMYXJhIEd1YXJjaCwgUGFibG8gPHBhYmxvLmRlLmxhcmEuZ3Vh cmNoQGludGVsLmNvbT47IHN0YWJsZUBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDIw LjExIDEvMl0gY3J5cHRvL2lwc2VjX21iOiBmaXggbGVuZ3RoIGFuZCBvZmZzZXQgc2V0dGluZ3MN Cj4gDQo+IE9uIE1vbiwgMjAyMi0wMy0xNCBhdCAxMTowNSArMDAwMCwgUGFibG8gZGUgTGFyYSB3 cm90ZToNCj4gPiBbIHVwc3RyZWFtIGNvbW1pdCBhNTAxNjA5ZWE2NDY2ZWQ4NTI2YzBkZmFkZWRl ZTMzMmE0ZDRhNDUxIF0NCj4gPg0KPiA+IEtBU1VNSSwgU05PVzNHIGFuZCBaVUMgcmVxdWlyZSBs ZW5ndGhzIGFuZCBvZmZzZXRzIHRvIGJlIHNldCBpbiBiaXRzDQo+ID4gb3IgYnl0ZXMgZGVwZW5k aW5nIG9uIHRoZSBhbGdvcml0aG0uDQo+ID4gVGhlcmUgd2VyZSBzb21lIGFsZ29yaXRobXMgdGhh dCB3ZXJlIG1peGluZyB0aGVzZSB0d28sIHNvIHRoaXMgY29tbWl0DQo+ID4gaXMgZml4aW5nIHRo aXMgaXNzdWUuDQo+ID4NCj4gPiBGaXhlczogYWU4ZTA4NWM2MDhkICgiY3J5cHRvL2Flc25pX21i OiBzdXBwb3J0IEtBU1VNSSBGOC9GOSIpDQo+ID4gRml4ZXM6IDZjNDJlMGNmNGQxMiAoImNyeXB0 by9hZXNuaV9tYjogc3VwcG9ydCBTTk9XM0ctVUVBMi9VSUEyIikNCj4gPiBGaXhlczogZmQ4ZGY4 NTQ4N2M0ICgiY3J5cHRvL2Flc25pX21iOiBzdXBwb3J0IFpVQy1FRUEzL0VJQTMiKQ0KPiA+DQo+ ID4gU2lnbmVkLW9mZi1ieTogUGFibG8gZGUgTGFyYSA8cGFibG8uZGUubGFyYS5ndWFyY2hAaW50 ZWwuY29tPg0KPiA+IC0tLQ0KPiA+IMKgZHJpdmVycy9jcnlwdG8vYWVzbmlfbWIvcnRlX2Flc25p X21iX3BtZC5jIHwgMTIxDQo+ID4gKysrKysrKysrKysrKysrLS0tLS0tDQo+ID4gwqAxIGZpbGUg Y2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vYWVzbmlfbWIvcnRlX2Flc25pX21iX3BtZC5jDQo+ID4g Yi9kcml2ZXJzL2NyeXB0by9hZXNuaV9tYi9ydGVfYWVzbmlfbWJfcG1kLmMNCj4gPiBpbmRleCBm NGZmYjIxZTEwLi4wN2Y1Y2FhNzZmIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvY3J5cHRvL2Fl c25pX21iL3J0ZV9hZXNuaV9tYl9wbWQuYw0KPiA+ICsrKyBiL2RyaXZlcnMvY3J5cHRvL2Flc25p X21iL3J0ZV9hZXNuaV9tYl9wbWQuYw0KPiA+IEBAIC0xMDU3LDcgKzEwNTcsOSBAQCBnZXRfc2Vz c2lvbihzdHJ1Y3QgYWVzbmlfbWJfcXAgKnFwLCBzdHJ1Y3QNCj4gPiBydGVfY3J5cHRvX29wICpv cCkNCj4gPg0KPiA+DQo+ID4gwqBzdGF0aWMgaW5saW5lIHVpbnQ2NF90DQo+ID4gwqBhdXRoX3N0 YXJ0X29mZnNldChzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3AsIHN0cnVjdCBhZXNuaV9tYl9zZXNz aW9uDQo+ICpzZXNzaW9uLA0KPiA+IC0JCXVpbnQzMl90IG9vcCkNCj4gPiArCQl1aW50MzJfdCBv b3AsIGNvbnN0IHVpbnQzMl90IGF1dGhfb2Zmc2V0LA0KPiA+ICsJCWNvbnN0IHVpbnQzMl90IGNp cGhlcl9vZmZzZXQsIGNvbnN0IHVpbnQzMl90IGF1dGhfbGVuZ3RoLA0KPiA+ICsJCWNvbnN0IHVp bnQzMl90IGNpcGhlcl9sZW5ndGgpDQo+ID4gwqB7DQo+ID4gwqAJc3RydWN0IHJ0ZV9tYnVmICpt X3NyYywgKm1fZHN0Ow0KPiA+IMKgCXVpbnQ4X3QgKnBfc3JjLCAqcF9kc3Q7DQo+ID4gQEAgLTEw NjYsNyArMTA2OCw3IEBAIGF1dGhfc3RhcnRfb2Zmc2V0KHN0cnVjdCBydGVfY3J5cHRvX29wICpv cCwNCj4gPiBzdHJ1Y3QgYWVzbmlfbWJfc2Vzc2lvbiAqc2Vzc2lvbiwNCj4gPg0KPiA+DQo+ID4g wqAJLyogT25seSBjaXBoZXIgdGhlbiBoYXNoIG5lZWRzIHNwZWNpYWwgY2FsY3VsYXRpb24uICov DQo+ID4gwqAJaWYgKCFvb3AgfHwgc2Vzc2lvbi0+Y2hhaW5fb3JkZXIgIT0gQ0lQSEVSX0hBU0gp DQo+ID4gLQkJcmV0dXJuIG9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQ7DQo+ID4gKwkJcmV0dXJu IGF1dGhfb2Zmc2V0Ow0KPiA+DQo+ID4NCj4gPiDCoAltX3NyYyA9IG9wLT5zeW0tPm1fc3JjOw0K PiA+IMKgCW1fZHN0ID0gb3AtPnN5bS0+bV9kc3Q7DQo+ID4gQEAgLTEwNzQsMjQgKzEwNzYsMjMg QEAgYXV0aF9zdGFydF9vZmZzZXQoc3RydWN0IHJ0ZV9jcnlwdG9fb3AgKm9wLA0KPiBzdHJ1Y3Qg YWVzbmlfbWJfc2Vzc2lvbiAqc2Vzc2lvbiwNCj4gPiDCoAlwX3NyYyA9IHJ0ZV9wa3RtYnVmX210 b2QobV9zcmMsIHVpbnQ4X3QgKik7DQo+ID4gwqAJcF9kc3QgPSBydGVfcGt0bWJ1Zl9tdG9kKG1f ZHN0LCB1aW50OF90ICopOw0KPiA+IMKgCXVfc3JjID0gKHVpbnRwdHJfdClwX3NyYzsNCj4gPiAt CXVfZHN0ID0gKHVpbnRwdHJfdClwX2RzdCArIG9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQ7DQo+ ID4gKwl1X2RzdCA9ICh1aW50cHRyX3QpcF9kc3QgKyBhdXRoX29mZnNldDsNCj4gPg0KPiA+DQo+ ID4gwqAJLyoqDQo+ID4gwqAJICogQ29weSB0aGUgY29udGVudCBiZXR3ZWVuIGNpcGhlciBvZmZz ZXQgYW5kIGF1dGggb2Zmc2V0IGZvcg0KPiBnZW5lcmF0aW5nDQo+ID4gwqAJICogY29ycmVjdCBk aWdlc3QuDQo+ID4gwqAJICovDQo+ID4gLQlpZiAob3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zmc2V0 ID4gb3AtPnN5bS0+YXV0aC5kYXRhLm9mZnNldCkNCj4gPiAtCQltZW1jcHkocF9kc3QgKyBvcC0+ c3ltLT5hdXRoLmRhdGEub2Zmc2V0LA0KPiA+IC0JCQkJcF9zcmMgKyBvcC0+c3ltLT5hdXRoLmRh dGEub2Zmc2V0LA0KPiA+IC0JCQkJb3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zmc2V0IC0NCj4gPiAt CQkJCW9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQpOw0KPiA+IC0NCj4gPiArCWlmIChjaXBoZXJf b2Zmc2V0ID4gYXV0aF9vZmZzZXQpDQo+ID4gKwkJbWVtY3B5KHBfZHN0ICsgYXV0aF9vZmZzZXQs DQo+ID4gKwkJCQlwX3NyYyArIGF1dGhfb2Zmc2V0LA0KPiA+ICsJCQkJY2lwaGVyX29mZnNldCAt DQo+ID4gKwkJCQlhdXRoX29mZnNldCk7DQo+ID4gwqAJLyoqDQo+ID4gwqAJICogQ29weSB0aGUg Y29udGVudCBiZXR3ZWVuIChjaXBoZXIgb2Zmc2V0ICsgbGVuZ3RoKSBhbmQgKGF1dGggb2Zmc2V0 ICsNCj4gPiDCoAkgKiBsZW5ndGgpIGZvciBnZW5lcmF0aW5nIGNvcnJlY3QgZGlnZXN0DQo+ID4g wqAJICovDQo+ID4gLQljaXBoZXJfZW5kID0gb3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zmc2V0ICsg b3AtPnN5bS0NCj4gPmNpcGhlci5kYXRhLmxlbmd0aDsNCj4gPiAtCWF1dGhfZW5kID0gb3AtPnN5 bS0+YXV0aC5kYXRhLm9mZnNldCArIG9wLT5zeW0tPmF1dGguZGF0YS5sZW5ndGg7DQo+ID4gKwlj aXBoZXJfZW5kID0gY2lwaGVyX29mZnNldCArIGNpcGhlcl9sZW5ndGg7DQo+ID4gKwlhdXRoX2Vu ZCA9IGF1dGhfb2Zmc2V0ICsgYXV0aF9sZW5ndGg7DQo+ID4gwqAJaWYgKGNpcGhlcl9lbmQgPCBh dXRoX2VuZCkNCj4gPiDCoAkJbWVtY3B5KHBfZHN0ICsgY2lwaGVyX2VuZCwgcF9zcmMgKyBjaXBo ZXJfZW5kLA0KPiA+IMKgCQkJCWF1dGhfZW5kIC0gY2lwaGVyX2VuZCk7DQo+ID4gQEAgLTEyNDYs NiArMTI0NywxMCBAQCBzZXRfbWJfam9iX3BhcmFtcyhKT0JfQUVTX0hNQUMgKmpvYiwgc3RydWN0 DQo+IGFlc25pX21iX3FwICpxcCwNCj4gPiDCoAlzdHJ1Y3QgcnRlX21idWYgKm1fc3JjID0gb3At PnN5bS0+bV9zcmMsICptX2RzdDsNCj4gPiDCoAlzdHJ1Y3QgYWVzbmlfbWJfc2Vzc2lvbiAqc2Vz c2lvbjsNCj4gPiDCoAl1aW50MzJfdCBtX29mZnNldCwgb29wOw0KPiA+ICsJdWludDMyX3QgYXV0 aF9vZmZfaW5fYnl0ZXM7DQo+ID4gKwl1aW50MzJfdCBjaXBoX29mZl9pbl9ieXRlczsNCj4gPiAr CXVpbnQzMl90IGF1dGhfbGVuX2luX2J5dGVzOw0KPiA+ICsJdWludDMyX3QgY2lwaF9sZW5faW5f Ynl0ZXM7DQo+ID4NCj4gPg0KPiA+IMKgCXNlc3Npb24gPSBnZXRfc2Vzc2lvbihxcCwgb3ApOw0K PiA+IMKgCWlmIChzZXNzaW9uID09IE5VTEwpIHsNCj4gPiBAQCAtMTM2Miw2ICsxMzY3LDcgQEAg c2V0X21iX2pvYl9wYXJhbXMoSk9CX0FFU19ITUFDICpqb2IsIHN0cnVjdA0KPiBhZXNuaV9tYl9x cCAqcXAsDQo+ID4gwqAJaWYgKGpvYi0+Y2lwaGVyX21vZGUgPT0gSU1CX0NJUEhFUl9aVUNfRUVB Mykgew0KPiA+IMKgCQlqb2ItPmFlc19lbmNfa2V5X2V4cGFuZGVkID0gc2Vzc2lvbi0+Y2lwaGVy Lnp1Y19jaXBoZXJfa2V5Ow0KPiA+IMKgCQlqb2ItPmFlc19kZWNfa2V5X2V4cGFuZGVkID0gc2Vz c2lvbi0+Y2lwaGVyLnp1Y19jaXBoZXJfa2V5Ow0KPiA+ICsJCW1fb2Zmc2V0ID4+PSAzOw0KPiA+ IMKgCX0gZWxzZSBpZiAoam9iLT5jaXBoZXJfbW9kZSA9PSBJTUJfQ0lQSEVSX1NOT1czR19VRUEy X0JJVExFTikgew0KPiA+IMKgCQlqb2ItPmVuY19rZXlzID0gJnNlc3Npb24tPmNpcGhlci5wS2V5 U2NoZWRfc25vdzNnX2NpcGhlcjsNCj4gPiDCoAkJbV9vZmZzZXQgPSAwOw0KPiA+IEBAIC0xNDE4 LDkgKzE0MjQsNiBAQCBzZXRfbWJfam9iX3BhcmFtcyhKT0JfQUVTX0hNQUMgKmpvYiwgc3RydWN0 DQo+ID4gYWVzbmlfbWJfcXAgKnFwLA0KPiA+DQo+ID4NCj4gPiDCoAlzd2l0Y2ggKGpvYi0+aGFz aF9hbGcpIHsNCj4gPiDCoAljYXNlIEFFU19DQ006DQo+ID4gLQkJam9iLT5jaXBoZXJfc3RhcnRf c3JjX29mZnNldF9pbl9ieXRlcyA9DQo+ID4gLQkJCQlvcC0+c3ltLT5hZWFkLmRhdGEub2Zmc2V0 Ow0KPiA+IC0JCWpvYi0+bXNnX2xlbl90b19jaXBoZXJfaW5fYnl0ZXMgPSBvcC0+c3ltLQ0KPiA+ YWVhZC5kYXRhLmxlbmd0aDsNCj4gPiDCoAkJam9iLT5oYXNoX3N0YXJ0X3NyY19vZmZzZXRfaW5f Ynl0ZXMgPSBvcC0+c3ltLQ0KPiA+YWVhZC5kYXRhLm9mZnNldDsNCj4gPiDCoAkJam9iLT5tc2df bGVuX3RvX2hhc2hfaW5fYnl0ZXMgPSBvcC0+c3ltLT5hZWFkLmRhdGEubGVuZ3RoOw0KPiA+DQo+ ID4NCj4gPiBAQCAtMTQzMCwxOSArMTQzMywxMSBAQCBzZXRfbWJfam9iX3BhcmFtcyhKT0JfQUVT X0hNQUMgKmpvYiwgc3RydWN0DQo+ID4gYWVzbmlfbWJfcXAgKnFwLA0KPiA+DQo+ID4NCj4gPiDC oAljYXNlIEFFU19HTUFDOg0KPiA+IMKgCQlpZiAoc2Vzc2lvbi0+Y2lwaGVyLm1vZGUgPT0gR0NN KSB7DQo+ID4gLQkJCWpvYi0+Y2lwaGVyX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPQ0KPiA+ IC0JCQkJCW9wLT5zeW0tPmFlYWQuZGF0YS5vZmZzZXQ7DQo+ID4gwqAJCQlqb2ItPmhhc2hfc3Rh cnRfc3JjX29mZnNldF9pbl9ieXRlcyA9DQo+ID4gwqAJCQkJCW9wLT5zeW0tPmFlYWQuZGF0YS5v ZmZzZXQ7DQo+ID4gLQkJCWpvYi0+bXNnX2xlbl90b19jaXBoZXJfaW5fYnl0ZXMgPQ0KPiA+IC0J CQkJCW9wLT5zeW0tPmFlYWQuZGF0YS5sZW5ndGg7DQo+ID4gwqAJCQlqb2ItPm1zZ19sZW5fdG9f aGFzaF9pbl9ieXRlcyA9DQo+ID4gwqAJCQkJCW9wLT5zeW0tPmFlYWQuZGF0YS5sZW5ndGg7DQo+ ID4gwqAJCX0gZWxzZSB7DQo+ID4gLQkJCWpvYi0+Y2lwaGVyX3N0YXJ0X3NyY19vZmZzZXRfaW5f Ynl0ZXMgPQ0KPiA+IC0JCQkJCW9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQ7DQo+ID4gLQkJCWpv Yi0+aGFzaF9zdGFydF9zcmNfb2Zmc2V0X2luX2J5dGVzID0NCj4gPiAtCQkJCQlvcC0+c3ltLT5h dXRoLmRhdGEub2Zmc2V0Ow0KPiA+IMKgCQkJam9iLT5tc2dfbGVuX3RvX2NpcGhlcl9pbl9ieXRl cyA9IDA7DQo+ID4gwqAJCQlqb2ItPm1zZ19sZW5fdG9faGFzaF9pbl9ieXRlcyA9IDA7DQo+ID4g wqAJCX0NCj4gPiBAQCAtMTQ1MywxMCArMTQ0OCw3IEBAIHNldF9tYl9qb2JfcGFyYW1zKEpPQl9B RVNfSE1BQyAqam9iLCBzdHJ1Y3QNCj4gPiBhZXNuaV9tYl9xcCAqcXAsDQo+ID4NCj4gPg0KPiA+ IMKgI2lmIElNQl9WRVJTSU9OKDAsIDU0LCAzKSA8PSBJTUJfVkVSU0lPTl9OVU0NCj4gPiDCoAlj YXNlIElNQl9BVVRIX0NIQUNIQTIwX1BPTFkxMzA1Og0KPiA+IC0JCWpvYi0+Y2lwaGVyX3N0YXJ0 X3NyY19vZmZzZXRfaW5fYnl0ZXMgPSBvcC0+c3ltLQ0KPiA+YWVhZC5kYXRhLm9mZnNldDsNCj4g PiDCoAkJam9iLT5oYXNoX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPSBvcC0+c3ltLQ0KPiA+ YWVhZC5kYXRhLm9mZnNldDsNCj4gPiAtCQlqb2ItPm1zZ19sZW5fdG9fY2lwaGVyX2luX2J5dGVz ID0NCj4gPiAtCQkJCW9wLT5zeW0tPmFlYWQuZGF0YS5sZW5ndGg7DQo+ID4gwqAJCWpvYi0+bXNn X2xlbl90b19oYXNoX2luX2J5dGVzID0NCj4gPiDCoAkJCQkJb3AtPnN5bS0+YWVhZC5kYXRhLmxl bmd0aDsNCj4gPg0KPiA+DQo+ID4gQEAgLTE0NjQsMjYgKzE0NTYsODUgQEAgc2V0X21iX2pvYl9w YXJhbXMoSk9CX0FFU19ITUFDICpqb2IsIHN0cnVjdA0KPiBhZXNuaV9tYl9xcCAqcXAsDQo+ID4g wqAJCQkJc2Vzc2lvbi0+aXYub2Zmc2V0KTsNCj4gPiDCoAkJYnJlYWs7DQo+ID4gwqAjZW5kaWYN Cj4gPiAtCWRlZmF1bHQ6DQo+ID4gLQkJLyogRm9yIFNOT1czRywgbGVuZ3RoIGFuZCBvZmZzZXRz IGFyZSBhbHJlYWR5IGluIGJpdHMgKi8NCj4gPiAtCQlqb2ItPmNpcGhlcl9zdGFydF9zcmNfb2Zm c2V0X2luX2J5dGVzID0NCj4gPiAtCQkJCW9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldDsNCj4g PiAtCQlqb2ItPm1zZ19sZW5fdG9fY2lwaGVyX2luX2J5dGVzID0gb3AtPnN5bS0NCj4gPmNpcGhl ci5kYXRhLmxlbmd0aDsNCj4gPiArI2lmIElNQl9WRVJTSU9OKDAsIDUzLCAzKSA8PSBJTUJfVkVS U0lPTl9OVU0NCj4gPiArCS8qIFpVQyBhbmQgU05PVzNHIHJlcXVpcmUgbGVuZ3RoIGluIGJpdHMg YW5kIG9mZnNldCBpbiBieXRlcyAqLw0KPiA+ICsJY2FzZSBJTUJfQVVUSF9aVUNfRUlBM19CSVRM RU46DQo+ID4gKwljYXNlIElNQl9BVVRIX1NOT1czR19VSUEyX0JJVExFTjoNCj4gPiArCQlhdXRo X29mZl9pbl9ieXRlcyA9IG9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQgPj4gMzsNCj4gPiArCQlj aXBoX29mZl9pbl9ieXRlcyA9IG9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldCA+PiAzOw0KPiA+ ICsJCWF1dGhfbGVuX2luX2J5dGVzID0gb3AtPnN5bS0+YXV0aC5kYXRhLmxlbmd0aCA+PiAzOw0K PiA+ICsJCWNpcGhfbGVuX2luX2J5dGVzID0gb3AtPnN5bS0+Y2lwaGVyLmRhdGEubGVuZ3RoID4+ IDM7DQo+ID4gKw0KPiA+ICsJCWpvYi0+aGFzaF9zdGFydF9zcmNfb2Zmc2V0X2luX2J5dGVzID0g YXV0aF9zdGFydF9vZmZzZXQob3AsDQo+ID4gKwkJCQlzZXNzaW9uLCBvb3AsIGF1dGhfb2ZmX2lu X2J5dGVzLA0KPiA+ICsJCQkJY2lwaF9vZmZfaW5fYnl0ZXMsIGF1dGhfbGVuX2luX2J5dGVzLA0K PiA+ICsJCQkJY2lwaF9sZW5faW5fYnl0ZXMpOw0KPiA+ICsJCWpvYi0+bXNnX2xlbl90b19oYXNo X2luX2JpdHMgPSBvcC0+c3ltLT5hdXRoLmRhdGEubGVuZ3RoOw0KPiA+ICsNCj4gPiArCQlqb2It Pml2ID0gcnRlX2NyeXB0b19vcF9jdG9kX29mZnNldChvcCwgdWludDhfdCAqLA0KPiA+ICsJCQlz ZXNzaW9uLT5pdi5vZmZzZXQpOw0KPiA+ICsJCWJyZWFrOw0KPiA+ICsNCj4gPiArCS8qIEtBU1VN SSByZXF1aXJlcyBsZW5ndGhzIGFuZCBvZmZzZXQgaW4gYnl0ZXMgKi8NCj4gPiArCWNhc2UgSU1C X0FVVEhfS0FTVU1JX1VJQTE6DQo+ID4gKwkJYXV0aF9vZmZfaW5fYnl0ZXMgPSBvcC0+c3ltLT5h dXRoLmRhdGEub2Zmc2V0ID4+IDM7DQo+ID4gKwkJY2lwaF9vZmZfaW5fYnl0ZXMgPSBvcC0+c3lt LT5jaXBoZXIuZGF0YS5vZmZzZXQgPj4gMzsNCj4gPiArCQlhdXRoX2xlbl9pbl9ieXRlcyA9IG9w LT5zeW0tPmF1dGguZGF0YS5sZW5ndGggPj4gMzsNCj4gPiArCQljaXBoX2xlbl9pbl9ieXRlcyA9 IG9wLT5zeW0tPmNpcGhlci5kYXRhLmxlbmd0aCA+PiAzOw0KPiA+DQo+ID4NCj4gPiDCoAkJam9i LT5oYXNoX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPSBhdXRoX3N0YXJ0X29mZnNldChvcCwN Cj4gPiAtCQkJCXNlc3Npb24sIG9vcCk7DQo+ID4gKwkJCQlzZXNzaW9uLCBvb3AsIGF1dGhfb2Zm X2luX2J5dGVzLA0KPiA+ICsJCQkJY2lwaF9vZmZfaW5fYnl0ZXMsIGF1dGhfbGVuX2luX2J5dGVz LA0KPiA+ICsJCQkJY2lwaF9sZW5faW5fYnl0ZXMpOw0KPiA+ICsJCWpvYi0+bXNnX2xlbl90b19o YXNoX2luX2J5dGVzID0gYXV0aF9sZW5faW5fYnl0ZXM7DQo+ID4gKw0KPiA+ICsJCWpvYi0+aXYg PSBydGVfY3J5cHRvX29wX2N0b2Rfb2Zmc2V0KG9wLCB1aW50OF90ICosDQo+ID4gKwkJCXNlc3Np b24tPml2Lm9mZnNldCk7DQo+ID4gKwkJYnJlYWs7DQo+ID4gKyNlbmRpZg0KPiA+ICsNCj4gPiAr CWRlZmF1bHQ6DQo+ID4gKwkJam9iLT5oYXNoX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPSBh dXRoX3N0YXJ0X29mZnNldChvcCwNCj4gPiArCQkJCXNlc3Npb24sIG9vcCwgb3AtPnN5bS0+YXV0 aC5kYXRhLm9mZnNldCwNCj4gPiArCQkJCW9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldCwNCj4g PiArCQkJCW9wLT5zeW0tPmF1dGguZGF0YS5sZW5ndGgsDQo+ID4gKwkJCQlvcC0+c3ltLT5jaXBo ZXIuZGF0YS5sZW5ndGgpOw0KPiA+IMKgCQlqb2ItPm1zZ19sZW5fdG9faGFzaF9pbl9ieXRlcyA9 IG9wLT5zeW0tPmF1dGguZGF0YS5sZW5ndGg7DQo+ID4NCj4gPg0KPiA+IMKgCQlqb2ItPml2ID0g cnRlX2NyeXB0b19vcF9jdG9kX29mZnNldChvcCwgdWludDhfdCAqLA0KPiA+IMKgCQkJc2Vzc2lv bi0+aXYub2Zmc2V0KTsNCj4gPiDCoAl9DQo+ID4NCj4gPg0KPiA+ICsJc3dpdGNoIChqb2ItPmNp cGhlcl9tb2RlKSB7DQo+ID4gwqAjaWYgSU1CX1ZFUlNJT04oMCwgNTMsIDMpIDw9IElNQl9WRVJT SU9OX05VTQ0KPiA+IC0JaWYgKGpvYi0+Y2lwaGVyX21vZGUgPT0gSU1CX0NJUEhFUl9aVUNfRUVB MykNCj4gPiAtCQlqb2ItPm1zZ19sZW5fdG9fY2lwaGVyX2luX2J5dGVzID4+PSAzOw0KPiA+IC0J ZWxzZSBpZiAoam9iLT5oYXNoX2FsZyA9PSBJTUJfQVVUSF9LQVNVTUlfVUlBMSkNCj4gPiAtCQlq b2ItPm1zZ19sZW5fdG9faGFzaF9pbl9ieXRlcyA+Pj0gMzsNCj4gPiArCS8qIFpVQyByZXF1aXJl cyBsZW5ndGggYW5kIG9mZnNldCBpbiBieXRlcyAqLw0KPiA+ICsJY2FzZSBJTUJfQ0lQSEVSX1pV Q19FRUEzOg0KPiA+ICsJCWpvYi0+Y2lwaGVyX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPQ0K PiA+ICsJCQkJCW9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldCA+PiAzOw0KPiA+ICsJCWpvYi0+ bXNnX2xlbl90b19jaXBoZXJfaW5fYnl0ZXMgPQ0KPiA+ICsJCQkJCW9wLT5zeW0tPmNpcGhlci5k YXRhLmxlbmd0aCA+PiAzOw0KPiA+ICsJCWJyZWFrOw0KPiA+ICsJLyogWlVDIGFuZCBTTk9XM0cg cmVxdWlyZSBsZW5ndGggYW5kIG9mZnNldCBpbiBiaXRzICovDQo+ID4gKwljYXNlIElNQl9DSVBI RVJfU05PVzNHX1VFQTJfQklUTEVOOg0KPiA+ICsJY2FzZSBJTUJfQ0lQSEVSX0tBU1VNSV9VRUEx X0JJVExFTjoNCj4gPiArCQlqb2ItPmNpcGhlcl9zdGFydF9zcmNfb2Zmc2V0X2luX2JpdHMgPQ0K PiA+ICsJCQkJCW9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldDsNCj4gPiArCQlqb2ItPm1zZ19s ZW5fdG9fY2lwaGVyX2luX2JpdHMgPQ0KPiA+ICsJCQkJCW9wLT5zeW0tPmNpcGhlci5kYXRhLmxl bmd0aDsNCj4gPiArCQlicmVhazsNCj4gPiDCoCNlbmRpZg0KPiA+ICsJY2FzZSBJTUJfQ0lQSEVS X0NDTToNCj4gPiArCWNhc2UgSU1CX0NJUEhFUl9HQ006DQo+ID4gKwljYXNlIElNQl9DSVBIRVJf Q0hBQ0hBMjBfUE9MWTEzMDU6DQo+ID4gKwkJam9iLT5jaXBoZXJfc3RhcnRfc3JjX29mZnNldF9p bl9ieXRlcyA9DQo+ID4gKwkJCQlvcC0+c3ltLT5hZWFkLmRhdGEub2Zmc2V0Ow0KPiA+ICsJCWpv Yi0+bXNnX2xlbl90b19jaXBoZXJfaW5fYnl0ZXMgPSBvcC0+c3ltLQ0KPiA+YWVhZC5kYXRhLmxl bmd0aDsNCj4gPiArCQlicmVhazsNCj4gPiArCWRlZmF1bHQ6DQo+ID4gKwkJam9iLT5jaXBoZXJf c3RhcnRfc3JjX29mZnNldF9pbl9ieXRlcyA9DQo+ID4gKwkJCQkJb3AtPnN5bS0+Y2lwaGVyLmRh dGEub2Zmc2V0Ow0KPiA+ICsJCWpvYi0+bXNnX2xlbl90b19jaXBoZXJfaW5fYnl0ZXMgPSBvcC0+ c3ltLQ0KPiA+Y2lwaGVyLmRhdGEubGVuZ3RoOw0KPiA+ICsJfQ0KPiA+DQo+ID4NCj4gPiDCoAkv KiBTZXQgdXNlciBkYXRhIHRvIGJlIGNyeXB0byBvcGVyYXRpb24gZGF0YSBzdHJ1Y3QgKi8NCj4g PiDCoAlqb2ItPnVzZXJfZGF0YSA9IG9wOw0KPiANCj4gVGhpcyBicmVha3MgdGhlIGJ1aWxkIG9u IFVidW50dSAyMC4wNDoNCj4gDQo+IFsgMTk0NHNdIC4uL2RyaXZlcnMvY3J5cHRvL2Flc25pX21i L3J0ZV9hZXNuaV9tYl9wbWQuYzogSW4gZnVuY3Rpb24NCj4g4oCYc2V0X21iX2pvYl9wYXJhbXPi gJk6DQo+IFsgMTk0NHNdIC4uL2RyaXZlcnMvY3J5cHRvL2Flc25pX21iL3J0ZV9hZXNuaV9tYl9w bWQuYzoxNTI2Ojc6IGVycm9yOg0KPiDigJhJTUJfQ0lQSEVSX0dDTeKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikgWyAxOTQ0c10gIDE1MjYgfCAgY2FzZQ0KPiBJTUJf Q0lQSEVSX0dDTToNCj4gWyAxOTQ0c10gICAgICAgfCAgICAgICBefn5+fn5+fn5+fn5+fg0KPiBb IDE5NDRzXSAuLi9kcml2ZXJzL2NyeXB0by9hZXNuaV9tYi9ydGVfYWVzbmlfbWJfcG1kLmM6MTUy Njo3OiBub3RlOiBlYWNoDQo+IHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5 IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbiBbDQo+IDE5NDRzXSAuLi9kcml2 ZXJzL2NyeXB0by9hZXNuaV9tYi9ydGVfYWVzbmlfbWJfcG1kLmM6MTUyNzozMTogZXJyb3I6DQo+ IOKAmElNQl9DSVBIRVJfTlVMTOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikNCj4gWyAxOTQ0c10gIDE1MjcgfCAgIGlmIChzZXNzaW9uLT5jaXBoZXIubW9kZSA9PSBJ TUJfQ0lQSEVSX05VTEwpIHsNCj4gWyAxOTQ0c10gICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4NCj4gWyAxOTQ0c10gLi4vZHJpdmVycy9jcnlwdG8v YWVzbmlfbWIvcnRlX2Flc25pX21iX3BtZC5jOjE1Mzg6NzogZXJyb3I6DQo+IOKAmElNQl9DSVBI RVJfQ0NN4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKSBbIDE5NDRz XSAgMTUzOCB8ICBjYXNlDQo+IElNQl9DSVBIRVJfQ0NNOg0KPiBbIDE5NDRzXSAgICAgICB8ICAg ICAgIF5+fn5+fn5+fn5+fn5+DQo+IFsgMTk0NHNdIC4uL2RyaXZlcnMvY3J5cHRvL2Flc25pX21i L3J0ZV9hZXNuaV9tYl9wbWQuYzoxNTM5Ojc6IGVycm9yOg0KPiDigJhJTUJfQ0lQSEVSX0NIQUNI QTIwX1BPTFkxMzA14oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkDQo+IHlvdSBtZWFuIOKAmFJURV9DUllQVE9fQUVBRF9DSEFDSEEyMF9QT0xZMTMwNeKAmT8N Cj4gWyAxOTQ0c10gIDE1MzkgfCAgY2FzZSBJTUJfQ0lQSEVSX0NIQUNIQTIwX1BPTFkxMzA1Og0K PiBbIDE5NDRzXSAgICAgICB8ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCj4g WyAxOTQ0c10gICAgICAgfCAgICAgICBSVEVfQ1JZUFRPX0FFQURfQ0hBQ0hBMjBfUE9MWTEzMDUN Cj4gDQo+IGh0dHBzOi8vYnVpbGQub3BlbnN1c2Uub3JnL3BhY2thZ2UvbGl2ZV9idWlsZF9sb2cv aG9tZTpibHVjYTpkcGRrL2RwZGstDQo+IDIwLjExL1VidW50dV8yMC4wNC94ODZfNjQNCg0KQXBv bG9naWVzLCBJIGRpZCBub3Qgc2VlIHRoaXMgdGlsbCB0b2RheS4gSSBkb24ndCB0aGluayB0aGlz IHBhdGNoIGlzIGFjdHVhbGx5IGJyZWFraW5nIHRoZSBidWlsZC4NClRvIG1lLCBpdCBsb29rcyBs aWtlIGFuIGVudmlyb25tZW50IGlzc3VlIChJTUJfQ0lQSEVSX0dDTSBmb3IgaW5zdGFuY2UgaXMg YWxyZWFkeSBwcmVzZW50IGluIHRoZSBjb2RlKS4NCkkgd29uZGVyIGlmIHRoYXQgc3lzdGVtIGhh cyB0aGUgcmlnaHQgdmVyc2lvbiBvZiBJUFNlYyBNdWx0aSBidWZmZXIgbGlicmFyeS4NCk9ubHkg dmVyc2lvbnMgZnJvbSB2MS4wIG9ud2FyZHMgYXJlIHN1cHBvcnRlZC4NCg0KVGhhbmtzLA0KUGFi bG8NCg0KPiANCj4gLS0NCj4gS2luZCByZWdhcmRzLA0KPiBMdWNhIEJvY2Nhc3NpDQo=