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 A06DA41D43; Wed, 22 Feb 2023 22:55:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 859CC43127; Wed, 22 Feb 2023 22:55:28 +0100 (CET) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 251044021F for ; Wed, 22 Feb 2023 22:55:25 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677102926; x=1708638926; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=cKuRMezzHrRpVso89UPutMqC+iHSFOxIwUIppNdCP1M=; b=HswE/X1feBDUegEsI/mKo0pxZqzLkX7y4fmeLFffHTUUEdqsL++gyCmK n09aNzbcC3RDHzdJhSh+BJhGStAGzU5UgPH2A5s0B6gaT3GjpiNrUf2Sc 0zsTRsLPx76zTU1ZQ3UafZFEp5YhX2qw532vdEvkE6nViwH7Y41ihZOL4 1RBenuTq4DZ62woLKtpzGQn3VqYYtMaCngMEdAkcn9j0GOzoBUP85iMM4 jIN0c9aYahYaxgGVY+lJmBjcIcwcXX4GU2k9+lK/yeNaLmIQluL8EYIbF tR0h+b+8mEUD0rxDwhqGJPegy55hVytJ01ltx2WDHoqpptC/0ujyO4+qi Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10629"; a="321192184" X-IronPort-AV: E=Sophos;i="5.97,319,1669104000"; d="scan'208";a="321192184" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2023 13:55:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10629"; a="741006995" X-IronPort-AV: E=Sophos;i="5.97,319,1669104000"; d="scan'208";a="741006995" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga004.fm.intel.com with ESMTP; 22 Feb 2023 13:55:10 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Wed, 22 Feb 2023 13:55:10 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Wed, 22 Feb 2023 13:55:09 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Wed, 22 Feb 2023 13:55:09 -0800 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.49) 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.2507.16; Wed, 22 Feb 2023 13:55:09 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DxTbxWE+FQuZk/wDzIbVES3nh8wjwa9C6MY/5GAIHgmsZ1VC+dK7RZCi4JU2IEzaAgt7N8KZ7DQejPFj4QYqPqrFGjTMpd5TKHYDnRYkJEi8J90mu6inGBpEkh1vRn1sCvTnhfGN+j93URukv78k8x5m1xyd2xeviBqLxj2RcWBfTm2Sm6xnRKQ4Kpa3bfWG9mWIjNHl3BcFD8wa5jz2JThaUSpRrkV776Q26zCuag5489IRdFgSWuNGVzlAa2Eh7QujKWabKBGhByTNTwAkEqoTqVZS2AuRN+6gZAFIwcURX5Hz9Lq6qlcy8LMxjeocYxeNHt9mXlA3yXTSjJAssg== 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=cKuRMezzHrRpVso89UPutMqC+iHSFOxIwUIppNdCP1M=; b=UNVI4y3DQJjtSKaUDyO+r62oA0dx3MteEz9c/bcQyj8j/ZY38NyjzXLPPigyMPOm8WwOe6bW1/X/81cBmUrl4hSKmEdniO3gdCINiXFLHD62UgJ+3cj1QSQ+kx9ICzBgVzQeQfOf8Adh+9Uy+9omnHlGPJF9QTZ8bta2QbPSnZ0yN96zpPXxEbzBhJSL9Z+IYVkSOfqQ9ysIcylaubLEEtoeGx60wiGC7qnKBuu3/TjB3fuxW03hlcVQHSdtmZ46D3PohF9f67bpzmZTc5V60tsNj4aJKGRSk0KOC7//Yd3cHE9EEKuVcc6La4rhUCocaMhPyvE5bCdpolT6AXXROQ== 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 DM6PR11MB3660.namprd11.prod.outlook.com (2603:10b6:5:13c::17) by DM6PR11MB4545.namprd11.prod.outlook.com (2603:10b6:5:2ae::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.19; Wed, 22 Feb 2023 21:55:06 +0000 Received: from DM6PR11MB3660.namprd11.prod.outlook.com ([fe80::7702:7eb9:6454:39ba]) by DM6PR11MB3660.namprd11.prod.outlook.com ([fe80::7702:7eb9:6454:39ba%4]) with mapi id 15.20.6134.019; Wed, 22 Feb 2023 21:55:06 +0000 From: "Vargas, Hernan" To: Maxime Coquelin , "dev@dpdk.org" , "gakhil@marvell.com" , "Rix, Tom" CC: "Chautru, Nicolas" , "Zhang, Qi Z" Subject: RE: [PATCH v1 07/13] test/bbdev: add support for BLER for 4G Thread-Topic: [PATCH v1 07/13] test/bbdev: add support for BLER for 4G Thread-Index: AQHZKpPY4vzVvTmuSUKSi7SXaId78K64ZgaAgBUW91CACrIJAIADi1OA Date: Wed, 22 Feb 2023 21:55:06 +0000 Message-ID: References: <20230117165023.20567-1-hernan.vargas@intel.com> <20230117165023.20567-8-hernan.vargas@intel.com> <597165ba-5e2c-a453-fbb3-e71ab456200c@redhat.com> In-Reply-To: Accept-Language: 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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB3660:EE_|DM6PR11MB4545:EE_ x-ms-office365-filtering-correlation-id: e13696a4-4bf2-4c80-1c71-08db151f757a x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0N4NYdYkJ5UXBb5CCl+K4lxVOyuK0mVYragjZZtSZ+ipHWet5HFpoqaO5E+OxjpYHMh3R8z99xD465xCxVVGUMCvyv9hJVi72txQILk2W0XrpAFTWfDnmkUJTnyyswjjhW8OD+IBoy9kVRe7SBsqrC02uVDPdYfk5BX1bNxfL1jO2ceLtT0HRhZftft5i+rMmQrWXUzs5EqVW/A9uuBkVl2ESbSFyPXEPtrUTfa/iYe98U7W3MSipZelFBz82p8bE77o5XYOyxd1JBzl7Hdmin7khWOsCxnREpV023M3tvWukTeh7elN99gLi3IzUqS+E3AIOBUFYCpPJiLCvUeOv/o70nRKj/CHyD/afZS+Unh2dkfzof/MDBk3mTKF//o32+dVnYu1DapzUEpo6Zba/IAyC3FR5ZH1YRRDA5YL/FfGYMU54Yn0ZlllJSkQD52iPxUet+e43/YIOOK5adzGRpb2KPG94jcnDMm2LFrcN7EK9zLlxi5L45mnx5aTVAf0MbyuVOggr+toF29LjszLV/8ZFcHC8ljGwGEu98xLJnGXODCKEG0Ra2t3J59zinMFF4Kym5DZIpCnIBRkwF+9Qn2/xnxssuG+8LZ/4Dsy5WeuLDMl8c5MZeyVqBge+shRBEDEWdi1Pth/PYe30n79mOrWwzubQnP8N3bEMGLPZcDf+M2ewQtKvnQMKLOkVH1UjTcmLlYMPjNAlUzXb4bBZg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3660.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(366004)(39860400002)(136003)(396003)(346002)(376002)(451199018)(55016003)(316002)(186003)(26005)(9686003)(53546011)(38070700005)(41300700001)(7696005)(66446008)(66476007)(66946007)(66556008)(64756008)(8676002)(83380400001)(71200400001)(54906003)(478600001)(6506007)(110136005)(107886003)(2906002)(38100700002)(4326008)(86362001)(8936002)(52536014)(30864003)(33656002)(5660300002)(122000001)(76116006)(82960400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dnJHSDhsdm9SQzlreGg4NytpSERYaFJsaGh1YXYwbk5LYWVwVThzWTZKKy9q?= =?utf-8?B?UTIxQ0ZSdWtCaDVBcndBYnRNcnI1amVUS0Z3dWpGd2txWENiUTVPY3l2TzNm?= =?utf-8?B?QkxDcnFzNVFmemNFRHgydmtZYjFoVG10bFBnNGMzSC9Nb05xQk1iRHAzak1h?= =?utf-8?B?L1c3U0xXUHpCUjFCd0xQT29FUkFiQVpzbi9mdXdMamNMb3BaQkpyYVk5ejFh?= =?utf-8?B?VlNwQ28yOGdCS1dlczRHM1llbTYzRkJmSElmcUdoTmhkL1dpTDdpV1RqOHB2?= =?utf-8?B?bzJQTWN4dEtQOU1qYnp1RzhvTzBuS2tKZHh4Y1hDNGQ3Z2luMElHRXYvWkxU?= =?utf-8?B?UUxIdjk1dE4wcnVmTjNHejhSaHV2ek4zcDV0R0t4YWRWdEtNVmFUR1lpMEJG?= =?utf-8?B?Vy9Fa1F0RjJKQ2hHUEtmSVVxdTRyYytLRU1idVErL2NZZjVKSXpOc1h6Y1hM?= =?utf-8?B?bkx6RnV3cndsWnZVZ1FOZEMyQ0t1UlZrWHQyNHp3SktGMnQvTTdFODBablN4?= =?utf-8?B?TGhJTEpJWXpPN3BHaU9INU0rMENXbHVEQXFQcUs4RlVtQU9tdm5MOVBPWUNL?= =?utf-8?B?K05MSTRveUJHQjYrZDNKVURlSmdYbGlyWWFJQVBLS2l0dlZsalhiYVJWVjhw?= =?utf-8?B?UXNRNis5UTUzSGdDMFlDdnFGK0o3Um96T09IRkhsRzJsUTArMXVNMjg2UTFl?= =?utf-8?B?UUNvT1VETlZpZDVMTTUrTHh0WVpIdzVqRmlpTWY1UE40eS9CWGFidGtlRWdm?= =?utf-8?B?Y0ozdW1mdUkxcGRHRitzQy9DazdRUU8xZ1FrMjNsTHdkT2lTc2cvVGtiK0Iz?= =?utf-8?B?UHBnb1YyOGNMNW9LVE9mMnNTU1h4WUpZWUhsVjdJdEFNUFZrbzhxMEc5TUJs?= =?utf-8?B?R0c4T0RCL0dTRGlHd3lxekxoMVd5TTVML2ZNekpWZXA3Z1grdEZ6TEZDLzJx?= =?utf-8?B?ZFY3UlhTMEtyV2Y0VHRYaGtlTXU0bkZjZERpMFdSTGRDbC9KOVlWNTZXdGlE?= =?utf-8?B?M2Mzbk8xZ0xDaVdhZGVrU1NXbmF2TG5uK1ZBdXI5dmp3ZU1ZU1FERGpnTzJ4?= =?utf-8?B?dXJWSXVkbkpQL0RNQ2pqWkNmcElJdXZ3S1FBMnVWRXQ1eHVDYXpCd3l0MS9Y?= =?utf-8?B?N1RiSDZHRlZnZ2N6OWg5OG1jN3I3bVVVcWUzRUtRblNocWs4aGdScnk3a2I3?= =?utf-8?B?S2c2RVFQNU9qT1FqQnBqTXdLdkF1Uy85cDJ4VCt4M2FEQlNtaExoVGdDODB3?= =?utf-8?B?NWl2SDFLNTFsMkhQa2YvdktLdXVtZGlBcUFQbzVZTTV2WWJVRms1RkZnY3pr?= =?utf-8?B?aE5OL2dxMDJjYStndnBVc3VTYmE5QTB2Tjc0VVhBN012djk5ODhIK29HY0Qr?= =?utf-8?B?U01HWjlWaEZTdnRDRHlXU2lpd0R5cTJhRm0zeGgzckwwbmZDVjNlOGo1Wk9p?= =?utf-8?B?WUJrdFJIQ1VweFp3Zy85eVJMaFQ2dnpsZlZhblduZ0hXVHp1dXVZV2hDU1pl?= =?utf-8?B?WGxJM3RGd3UxRm5nRkZuRFUzOFZudVUxYm5uNGhVU3BIem1jb3FRMDhNTVhJ?= =?utf-8?B?RWNWMm9mM3RPZUs5cEpZcnZKdzAxM0YwUk5xenI4K3pzcjlQWHVOdGRHZHJF?= =?utf-8?B?MWJOK2UrS25KbENNc2xabTcyeG02bHVmSXhZWG9kQ2ZQR1Fld0lPMUwxMEhK?= =?utf-8?B?RVRVcERWZVREb3FPYUFIWUd3NVkrREhoaUFQTG1kR0hWc2hrbEdaeWs5QjVB?= =?utf-8?B?NHhIM0d2YlZlendaNVZ3YUUxQkx2YTJ1ZHJpU0d4ZlEwTENvR2RsUStPUlNY?= =?utf-8?B?Z3E1d0hBZkxOM2p6enowVVY4bmhEa1M0bWdGZ2kzMXE0MjNkTk5CRVp4L1E2?= =?utf-8?B?S09iUEJvZFlHNGtsU1JYQjZJWStmQTduSWVtanJvc3BwRTZoVVRTSGVTcFZs?= =?utf-8?B?TkI4UDBsUU1sYVFUQnVvK1M5Z2ZaV0QyMHVINFBSV1ZjWEtpWGNSZ0NCbUsv?= =?utf-8?B?SUVHOVRKU0dOQkNDM3RUdjlQOTRhRDkxZzJqemVmUVQ0L01GSTJPY0ZNd1lk?= =?utf-8?B?dEtOMisvd0ZQdzRpTnJUOExsNEVYSFd5aExsWVlRb2VYMHVsMnZLVkZNTWxG?= =?utf-8?Q?8vL0aTwhMsBn8EI9lZMjy62RP?= 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: DM6PR11MB3660.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e13696a4-4bf2-4c80-1c71-08db151f757a X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Feb 2023 21:55:06.1851 (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: IWZq4pZjZL3dT/UN8nLCdqoArx+0O/XHZy7hzcda2V6NTtPJ+Qnnw/anr4kwtT/9yNV6N/tl1kKpVIpi9szjJw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4545 X-OriginatorOrg: intel.com 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 SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwg RmVicnVhcnkgMjAsIDIwMjMgOTo0NCBBTQ0KPiBUbzogVmFyZ2FzLCBIZXJuYW4gPGhlcm5hbi52 YXJnYXNAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnOw0KPiBnYWtoaWxAbWFydmVsbC5jb207IFJp eCwgVG9tIDx0cml4QHJlZGhhdC5jb20+DQo+IENjOiBDaGF1dHJ1LCBOaWNvbGFzIDxuaWNvbGFz LmNoYXV0cnVAaW50ZWwuY29tPjsgWmhhbmcsIFFpIFoNCj4gPHFpLnouemhhbmdAaW50ZWwuY29t Pg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYxIDA3LzEzXSB0ZXN0L2JiZGV2OiBhZGQgc3VwcG9y dCBmb3IgQkxFUiBmb3IgNEcNCj4gDQo+IA0KPiANCj4gT24gMi8xMy8yMyAyMTo1OSwgVmFyZ2Fz LCBIZXJuYW4gd3JvdGU6DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+PiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29t Pg0KPiA+PiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDMxLCAyMDIzIDQ6MjAgQU0NCj4gPj4gVG86 IFZhcmdhcywgSGVybmFuIDxoZXJuYW4udmFyZ2FzQGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsN Cj4gPj4gZ2FraGlsQG1hcnZlbGwuY29tOyBSaXgsIFRvbSA8dHJpeEByZWRoYXQuY29tPg0KPiA+ PiBDYzogQ2hhdXRydSwgTmljb2xhcyA8bmljb2xhcy5jaGF1dHJ1QGludGVsLmNvbT47IFpoYW5n LCBRaSBaDQo+ID4+IDxxaS56LnpoYW5nQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtQ QVRDSCB2MSAwNy8xM10gdGVzdC9iYmRldjogYWRkIHN1cHBvcnQgZm9yIEJMRVIgZm9yIDRHDQo+ ID4+DQo+ID4+DQo+ID4+DQo+ID4+IE9uIDEvMTcvMjMgMTc6NTAsIEhlcm5hbiBWYXJnYXMgd3Jv dGU6DQo+ID4+PiBOZXcgZmVhdHVyZSB0byBhZGQgQkxFUiBzdXBwb3J0IGZvciA0RyBpbiBiYmRl di10ZXN0Lg0KPiA+Pj4NCj4gPj4+IFNpZ25lZC1vZmYtYnk6IEhlcm5hbiBWYXJnYXMgPGhlcm5h bi52YXJnYXNAaW50ZWwuY29tPg0KPiA+Pj4gLS0tDQo+ID4+PiAgICBhcHAvdGVzdC1iYmRldi90 ZXN0X2JiZGV2X3BlcmYuYyB8IDE4NA0KPiA+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KystDQo+ID4+PiAgICAxIGZpbGUgY2hhbmdlZCwgMTgzIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtYmJkZXYvdGVzdF9iYmRl dl9wZXJmLmMNCj4gPj4+IGIvYXBwL3Rlc3QtYmJkZXYvdGVzdF9iYmRldl9wZXJmLmMNCj4gPj4+ IGluZGV4IGZmYjJkZTA2MDQuLjY5Yjg2Y2RlYjEgMTAwNjQ0DQo+ID4+PiAtLS0gYS9hcHAvdGVz dC1iYmRldi90ZXN0X2JiZGV2X3BlcmYuYw0KPiA+Pj4gKysrIGIvYXBwL3Rlc3QtYmJkZXYvdGVz dF9iYmRldl9wZXJmLmMNCj4gPj4+IEBAIC0xNzU2LDYgKzE3NTYsMzAgQEAgZ2VuX3FtMl9sbHIo aW50OF90ICpsbHJzLCB1aW50MzJfdCBqLCBkb3VibGUNCj4gPj4+IE4wLA0KPiA+PiBkb3VibGUg bGxyX21heCkNCj4gPj4+ICAgIAlsbHJzW2pdID0gKGludDhfdCkgYjsNCj4gPj4+ICAgIH0NCj4g Pj4+DQo+ID4+PiArLyogU2ltcGxlIExMUiBnZW5lcmF0aW9uIGFzc3VtaW5nIEFXR04gYW5kIFFQ U0sgKi8gc3RhdGljIHZvaWQNCj4gPj4+ICtnZW5fdHVyYm9fbGxyKGludDhfdCAqbGxycywgdWlu dDMyX3QgaiwgZG91YmxlIE4wLCBkb3VibGUgbGxyX21heCkgew0KPiA+Pj4gKwlkb3VibGUgYiwg YjEsIG47DQo+ID4+PiArCWRvdWJsZSBjb2VmZiA9IDIuMCAqIHNxcnQoTjApOw0KPiA+Pj4gKw0K PiA+Pj4gKwkvKiBJZ25vcmUgaW4gdmVjdG9ycyBudWxsIExMUnMgbm90IHRvIGJlIHNhdHVyYXRl ZCAqLw0KPiA+Pj4gKwlpZiAobGxyc1tqXSA9PSAwKQ0KPiA+Pj4gKwkJcmV0dXJuOw0KPiA+Pj4g Kw0KPiA+Pj4gKwkvKiBOb3RlIGRvbid0IGNoYW5nZSBzaWduIGhlcmUgKi8NCj4gPj4+ICsJbiA9 IHJhbmRuKGogJSAyKTsNCj4gPj4+ICsJYjEgPSAoKGxscnNbal0gPiAwID8gMi4wIDogLTIuMCkN Cj4gPj4+ICsJCQkrIGNvZWZmICogbikgLyBOMDsNCj4gPj4+ICsJYiA9IGIxICogKDEgPDwgNCk7 DQo+ID4+PiArCWIgPSByb3VuZChiKTsNCj4gPj4+ICsJaWYgKGIgPiBsbHJfbWF4KQ0KPiA+Pj4g KwkJYiA9IGxscl9tYXg7DQo+ID4+PiArCWlmIChiIDwgLWxscl9tYXgpDQo+ID4+PiArCQliID0g LWxscl9tYXg7DQo+ID4+PiArCWxscnNbal0gPSAoaW50OF90KSBiOw0KPiA+Pj4gK30NCj4gPj4+ ICsNCj4gPj4+ICAgIC8qIEdlbmVyYXRlIExMUiBmb3IgYSBnaXZlbiBTTlIgKi8NCj4gPj4+ICAg IHN0YXRpYyB2b2lkDQo+ID4+PiAgICBnZW5lcmF0ZV9sbHJfaW5wdXQodWludDE2X3Qgbiwgc3Ry dWN0IHJ0ZV9iYmRldl9vcF9kYXRhICppbnB1dHMsDQo+ID4+PiBAQA0KPiA+Pj4gLTE3OTEsNiAr MTgxNSwyNyBAQCBnZW5lcmF0ZV9sbHJfaW5wdXQodWludDE2X3Qgbiwgc3RydWN0DQo+ID4+IHJ0 ZV9iYmRldl9vcF9kYXRhICppbnB1dHMsDQo+ID4+PiAgICAJfQ0KPiA+Pj4gICAgfQ0KPiA+Pj4N Cj4gPj4+ICsvKiBHZW5lcmF0ZSBMTFIgZm9yIHR1cmJvIGRlY29kZXIgZm9yIGEgZ2l2ZW4gU05S ICovIHN0YXRpYyB2b2lkDQo+ID4+PiArZ2VuZXJhdGVfdHVyYm9fbGxyX2lucHV0KHVpbnQxNl90 IG4sIHN0cnVjdCBydGVfYmJkZXZfb3BfZGF0YQ0KPiAqaW5wdXRzLA0KPiA+Pj4gKwkJc3RydWN0 IHJ0ZV9iYmRldl9kZWNfb3AgKnJlZl9vcCkNCj4gPj4+ICt7DQo+ID4+PiArCXN0cnVjdCBydGVf bWJ1ZiAqbTsNCj4gPj4+ICsJdWludDMyX3QgaSwgaiwgcmFuZ2U7DQo+ID4+PiArCWRvdWJsZSBO MCwgbGxyX21heDsNCj4gPj4+ICsNCj4gPj4+ICsJbGxyX21heCA9IDEyNzsNCj4gPj4+ICsJcmFu Z2UgPSByZWZfb3AtPnR1cmJvX2RlYy5pbnB1dC5sZW5ndGg7DQo+ID4+PiArCU4wID0gMS4wIC8g cG93KDEwLjAsIGdldF9zbnIoKSAvIDEwLjApOw0KPiA+Pj4gKw0KPiA+Pj4gKwlmb3IgKGkgPSAw OyBpIDwgbjsgKytpKSB7DQo+ID4+PiArCQltID0gaW5wdXRzW2ldLmRhdGE7DQo+ID4+PiArCQlp bnQ4X3QgKmxscnMgPSBydGVfcGt0bWJ1Zl9tdG9kX29mZnNldChtLCBpbnQ4X3QgKiwgMCk7DQo+ ID4+PiArCQlmb3IgKGogPSAwOyBqIDwgcmFuZ2U7ICsraikNCj4gPj4+ICsJCQlnZW5fdHVyYm9f bGxyKGxscnMsIGosIE4wLCBsbHJfbWF4KTsNCj4gPj4+ICsJfQ0KPiA+Pj4gK30NCj4gPj4+ICsN Cj4gPj4+ICAgIHN0YXRpYyB2b2lkDQo+ID4+PiAgICBjb3B5X3JlZmVyZW5jZV9sZHBjX2RlY19v cChzdHJ1Y3QgcnRlX2JiZGV2X2RlY19vcCAqKm9wcywNCj4gPj4+IHVuc2lnbmVkDQo+ID4+IGlu dCBuLA0KPiA+Pj4gICAgCQl1bnNpZ25lZCBpbnQgc3RhcnRfaWR4LA0KPiA+Pj4gQEAgLTIzMDEs NiArMjM0NiwzMSBAQCB2YWxpZGF0ZV9sZHBjX2JsZXIoc3RydWN0IHJ0ZV9iYmRldl9kZWNfb3AN Cj4gPj4gKipvcHMsIGNvbnN0IHVpbnQxNl90IG4pDQo+ID4+PiAgICAJcmV0dXJuIGVycm9yczsN Cj4gPj4+ICAgIH0NCj4gPj4+DQo+ID4+PiArLyogQ2hlY2sgTnVtYmVyIG9mIGNvZGUgYmxvY2tz IGVycm9ycyAqLyBzdGF0aWMgaW50DQo+ID4+PiArdmFsaWRhdGVfdHVyYm9fYmxlcihzdHJ1Y3Qg cnRlX2JiZGV2X2RlY19vcCAqKm9wcywgY29uc3QgdWludDE2X3QNCj4gPj4+ICtuKSB7DQo+ID4+ PiArCXVuc2lnbmVkIGludCBpOw0KPiA+Pj4gKwlzdHJ1Y3Qgb3BfZGF0YV9lbnRyaWVzICpoYXJk X2RhdGFfb3JpZyA9DQo+ID4+PiArCQkJJnRlc3RfdmVjdG9yLmVudHJpZXNbREFUQV9IQVJEX09V VFBVVF07DQo+ID4+PiArCXN0cnVjdCBydGVfYmJkZXZfb3BfdHVyYm9fZGVjICpvcHNfdGQ7DQo+ ID4+PiArCXN0cnVjdCBydGVfYmJkZXZfb3BfZGF0YSAqaGFyZF9vdXRwdXQ7DQo+ID4+PiArCWlu dCBlcnJvcnMgPSAwOw0KPiA+Pj4gKwlzdHJ1Y3QgcnRlX21idWYgKm07DQo+ID4+PiArDQo+ID4+ PiArCWZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsNCj4gPj4+ICsJCW9wc190ZCA9ICZvcHNbaV0t PnR1cmJvX2RlYzsNCj4gPj4+ICsJCWhhcmRfb3V0cHV0ID0gJm9wc190ZC0+aGFyZF9vdXRwdXQ7 DQo+ID4+PiArCQltID0gaGFyZF9vdXRwdXQtPmRhdGE7DQo+ID4+PiArCQlpZiAobWVtY21wKHJ0 ZV9wa3RtYnVmX210b2Rfb2Zmc2V0KG0sIHVpbnQzMl90ICosIDApLA0KPiA+Pj4gKwkJCQloYXJk X2RhdGFfb3JpZy0+c2VnbWVudHNbMF0uYWRkciwNCj4gPj4+ICsJCQkJaGFyZF9kYXRhX29yaWct PnNlZ21lbnRzWzBdLmxlbmd0aCkpDQo+ID4+DQo+ID4+IE5vIG5lZWQgdG8gY2hlY2sgbWJ1ZiBp cyBhdCBsZWFzdCBhcyBsYXJnZSBhcyBzZWdtZW50IDAgbGVuZ3RoPw0KPiA+Pg0KPiA+Pj4gKwkJ CWVycm9ycysrOw0KPiA+Pj4gKwl9DQo+ID4+PiArCXJldHVybiBlcnJvcnM7DQo+ID4+PiArfQ0K PiA+Pj4gKw0KPiA+Pj4gKw0KPiA+Pj4gICAgc3RhdGljIGludA0KPiA+Pj4gICAgdmFsaWRhdGVf bGRwY19kZWNfb3Aoc3RydWN0IHJ0ZV9iYmRldl9kZWNfb3AgKipvcHMsIGNvbnN0IHVpbnQxNl90 DQo+IG4sDQo+ID4+PiAgICAJCXN0cnVjdCBydGVfYmJkZXZfZGVjX29wICpyZWZfb3AsIGNvbnN0 IGludCB2ZWN0b3JfbWFzaykNCj4gPj4gQEAgLTM3MzYsNg0KPiA+Pj4gKzM4MDYsMTE0IEBAIGJs ZXJfcG1kX2xjb3JlX2xkcGNfZGVjKHZvaWQgKmFyZykNCj4gPj4+ICAgIAlyZXR1cm4gVEVTVF9T VUNDRVNTOw0KPiA+Pj4gICAgfQ0KPiA+Pj4NCj4gPj4+ICsNCj4gPj4+ICtzdGF0aWMgaW50DQo+ ID4+PiArYmxlcl9wbWRfbGNvcmVfdHVyYm9fZGVjKHZvaWQgKmFyZykgew0KPiA+Pj4gKwlzdHJ1 Y3QgdGhyZWFkX3BhcmFtcyAqdHAgPSBhcmc7DQo+ID4+PiArCXVpbnQxNl90IGVucSwgZGVxOw0K PiA+Pj4gKwl1aW50NjRfdCB0b3RhbF90aW1lID0gMCwgc3RhcnRfdGltZTsNCj4gPj4+ICsJY29u c3QgdWludDE2X3QgcXVldWVfaWQgPSB0cC0+cXVldWVfaWQ7DQo+ID4+PiArCWNvbnN0IHVpbnQx Nl90IGJ1cnN0X3N6ID0gdHAtPm9wX3BhcmFtcy0+YnVyc3Rfc3o7DQo+ID4+PiArCWNvbnN0IHVp bnQxNl90IG51bV9vcHMgPSB0cC0+b3BfcGFyYW1zLT5udW1fdG9fcHJvY2VzczsNCj4gPj4+ICsJ c3RydWN0IHJ0ZV9iYmRldl9kZWNfb3AgKm9wc19lbnFbbnVtX29wc107DQo+ID4+PiArCXN0cnVj dCBydGVfYmJkZXZfZGVjX29wICpvcHNfZGVxW251bV9vcHNdOw0KPiA+Pj4gKwlzdHJ1Y3QgcnRl X2JiZGV2X2RlY19vcCAqcmVmX29wID0gdHAtPm9wX3BhcmFtcy0+cmVmX2RlY19vcDsNCj4gPj4+ ICsJc3RydWN0IHRlc3RfYnVmZmVycyAqYnVmcyA9IE5VTEw7DQo+ID4+PiArCWludCBpLCBqLCBy ZXQ7DQo+ID4+PiArCXN0cnVjdCBydGVfYmJkZXZfaW5mbyBpbmZvOw0KPiA+Pj4gKwl1aW50MTZf dCBudW1fdG9fZW5xOw0KPiA+Pj4gKw0KPiA+Pj4gKwlURVNUX0FTU0VSVF9TVUNDRVNTKChidXJz dF9zeiA+IE1BWF9CVVJTVCksDQo+ID4+PiArCQkJIkJVUlNUX1NJWkUgc2hvdWxkIGJlIDw9ICV1 IiwgTUFYX0JVUlNUKTsNCj4gPj4+ICsNCj4gPj4+ICsJcnRlX2JiZGV2X2luZm9fZ2V0KHRwLT5k ZXZfaWQsICZpbmZvKTsNCj4gPj4+ICsNCj4gPj4+ICsJVEVTVF9BU1NFUlRfU1VDQ0VTUygobnVt X29wcyA+IGluZm8uZHJ2LnF1ZXVlX3NpemVfbGltKSwNCj4gPj4+ICsJCQkiTlVNX09QUyBjYW5u b3QgZXhjZWVkICV1IGZvciB0aGlzIGRldmljZSIsDQo+ID4+PiArCQkJaW5mby5kcnYucXVldWVf c2l6ZV9saW0pOw0KPiA+Pj4gKw0KPiA+Pj4gKwlidWZzID0gJnRwLT5vcF9wYXJhbXMtDQo+ID4+ PiBxX2J1ZnNbR0VUX1NPQ0tFVChpbmZvLnNvY2tldF9pZCldW3F1ZXVlX2lkXTsNCj4gPj4+ICsN Cj4gPj4+ICsJcnRlX3dhaXRfdW50aWxfZXF1YWxfMTYoJnRwLT5vcF9wYXJhbXMtPnN5bmMsIFNZ TkNfU1RBUlQsDQo+ID4+PiArX19BVE9NSUNfUkVMQVhFRCk7DQo+ID4+PiArDQo+ID4+PiArCXJl dCA9IHJ0ZV9iYmRldl9kZWNfb3BfYWxsb2NfYnVsayh0cC0+b3BfcGFyYW1zLT5tcCwgb3BzX2Vu cSwNCj4gPj4gbnVtX29wcyk7DQo+ID4+PiArCVRFU1RfQVNTRVJUX1NVQ0NFU1MocmV0LCAiQWxs b2NhdGlvbiBmYWlsZWQgZm9yICVkIG9wcyIsDQo+ID4+IG51bV9vcHMpOw0KPiA+Pj4gKw0KPiA+ Pj4gKwkvKiBGb3IgQkxFUiB0ZXN0cyB3ZSBuZWVkIHRvIGVuYWJsZSBlYXJseSB0ZXJtaW5hdGlv biAqLw0KPiA+Pj4gKwlpZiAoIWNoZWNrX2JpdChyZWZfb3AtPnR1cmJvX2RlYy5vcF9mbGFncywN Cj4gPj4+ICsJCQlSVEVfQkJERVZfVFVSQk9fRUFSTFlfVEVSTUlOQVRJT04pKQ0KPiA+Pj4gKwkJ cmVmX29wLT50dXJib19kZWMub3BfZmxhZ3MgKz0NCj4gPj4+ICsJCQkJUlRFX0JCREVWX1RVUkJP X0VBUkxZX1RFUk1JTkFUSU9OOw0KPiA+Pj4gKwlyZWZfb3AtPnR1cmJvX2RlYy5pdGVyX21heCA9 IGdldF9pdGVyX21heCgpOw0KPiA+Pj4gKwlyZWZfb3AtPnR1cmJvX2RlYy5pdGVyX2NvdW50ID0g cmVmX29wLT50dXJib19kZWMuaXRlcl9tYXg7DQo+ID4+PiArDQo+ID4+PiArCWlmICh0ZXN0X3Zl Y3Rvci5vcF90eXBlICE9IFJURV9CQkRFVl9PUF9OT05FKQ0KPiA+Pj4gKwkJY29weV9yZWZlcmVu Y2VfZGVjX29wKG9wc19lbnEsIG51bV9vcHMsIDAsIGJ1ZnMtDQo+ID4+PiBpbnB1dHMsDQo+ID4+ PiArCQkJCWJ1ZnMtPmhhcmRfb3V0cHV0cywgYnVmcy0+c29mdF9vdXRwdXRzLA0KPiA+Pj4gKwkJ CQlyZWZfb3ApOw0KPiA+Pj4gKwlnZW5lcmF0ZV90dXJib19sbHJfaW5wdXQobnVtX29wcywgYnVm cy0+aW5wdXRzLCByZWZfb3ApOw0KPiA+Pj4gKw0KPiA+Pj4gKwkvKiBTZXQgY291bnRlciB0byB2 YWxpZGF0ZSB0aGUgb3JkZXJpbmcgKi8NCj4gPj4+ICsJZm9yIChqID0gMDsgaiA8IG51bV9vcHM7 ICsraikNCj4gPj4+ICsJCW9wc19lbnFbal0tPm9wYXF1ZV9kYXRhID0gKHZvaWQgKikodWludHB0 cl90KWo7DQo+ID4+PiArDQo+ID4+PiArCWZvciAoaSA9IDA7IGkgPCAxOyArK2kpIHsgLyogQ291 bGQgYWRkIG1vcmUgaXRlcmF0aW9ucyAqLw0KPiA+Pj4gKwkJZm9yIChqID0gMDsgaiA8IG51bV9v cHM7ICsraikgew0KPiA+Pj4gKwkJCW1idWZfcmVzZXQoDQo+ID4+PiArCQkJb3BzX2VucVtqXS0+ dHVyYm9fZGVjLmhhcmRfb3V0cHV0LmRhdGEpOw0KPiA+Pj4gKwkJfQ0KPiA+Pj4gKw0KPiA+Pj4g KwkJc3RhcnRfdGltZSA9IHJ0ZV9yZHRzY19wcmVjaXNlKCk7DQo+ID4+PiArDQo+ID4+PiArCQlm b3IgKGVucSA9IDAsIGRlcSA9IDA7IGVucSA8IG51bV9vcHM7KSB7DQo+ID4+PiArCQkJbnVtX3Rv X2VucSA9IGJ1cnN0X3N6Ow0KPiA+Pj4gKw0KPiA+Pj4gKwkJCWlmICh1bmxpa2VseShudW1fb3Bz IC0gZW5xIDwgbnVtX3RvX2VucSkpDQo+ID4+PiArCQkJCW51bV90b19lbnEgPSBudW1fb3BzIC0g ZW5xOw0KPiA+Pj4gKw0KPiA+Pj4gKwkJCWVucSArPSBydGVfYmJkZXZfZW5xdWV1ZV9kZWNfb3Bz KHRwLT5kZXZfaWQsDQo+ID4+PiArCQkJCQlxdWV1ZV9pZCwgJm9wc19lbnFbZW5xXSwNCj4gPj4g bnVtX3RvX2VucSk7DQo+ID4+DQo+ID4+IElmIGZvciBzb21lIHJlYXNvbiB0aGUgb3BlcmF0aW9u IGZhaWxzIChsb29rcyBsaWtlIGl0IGNhbiBmYWlsIGluIGF0DQo+ID4+IGxlYXN0IEFDQzIwMCBJ IGNoZWNrZWQpLCBpdCBlbmRzIHVwIGRvaW5nIGFuIGVuZGxlc3MgbG9vcCBhcyBlbmMgd29uJ3Qg Z2V0DQo+IGluY3JlbWVudGVkLg0KPiA+IFRoZSBweXRob24gd3JhcHBlciBzY3JpcHQgdXNlZCB0 byBpbnZva2UgdGVzdC1iYmRldiBoYXMgYSBjb25maWd1cmFibGUNCj4gdGltZW91dCAoZGVmYXVs dCA2MDAgc2Vjb25kcykgdGhhdCB3b3VsZCBzdG9wIHRoZSB0ZXN0IGluIGNhc2UgaXQgZW5kcyB1 cCBpbg0KPiBhbiBpbmZpbml0ZSBsb29wLg0KPiANCj4gT2ssIGJ1dCBoYXZpbmcgYSB0aW1lb3V0 IGluIHRoZSB0ZXN0IHNjcmlwdCBkb2VzIG5vdCBwcmV2ZW50IHRvIGRvIGEgcHJvcHJlcg0KPiBl cnJvciBwcm9wYWdhdGlvbi9oYW5kbGluZyBpbiB0aGUgYXBwbGljYXRpb24uDQo+IA0KPiBJdCBp cyBoYXBwZW5zIGluIHdoZW4gcnVubmluZyBpbiBhIENJLCBoYXZpbmcgZXJyb3JzIHByb3Blcmx5 IGNoZWNrZWQgd291bGQNCj4gcHJvdmlkZSB1c2VmdWwgaW5mb3JtYXRpb24gdG8gaW52ZXN0aWdh dGUgd2l0aG91dCBoYXZpbmcgdG8gcmVwcm9kdWNlLCBvcg0KPiB3aGVuIGZhaWxpbmcgdG8gcmVw cm9kdWNlLg0KPiANCj4gUmVnYXJkcywNCj4gTWF4aW1lDQo+IA0KVGhpcyBpcyBhIGdvb2QgcG9p bnQgZm9yIGZ1dHVyZSBpbXByb3ZlbWVudCBidXQgbm90IHJlbGF0ZWQgdG8gdGhpcyBzZXJpZXMu DQpXZSBjYW4gaW1wbGVtZW50IGl0IGluIHRoZSBmdXR1cmUuIFdoYXQgZG8geW91IHRoaW5rPw0K DQpUaGFua3MsDQpIZXJuYW4NCj4gPg0KPiA+Pj4gKw0KPiA+Pj4gKwkJCWRlcSArPSBydGVfYmJk ZXZfZGVxdWV1ZV9kZWNfb3BzKHRwLT5kZXZfaWQsDQo+ID4+PiArCQkJCQlxdWV1ZV9pZCwgJm9w c19kZXFbZGVxXSwgZW5xIC0NCj4gPj4gZGVxKTsNCj4gPj4+ICsJCX0NCj4gPj4+ICsNCj4gPj4+ ICsJCS8qIGRlcXVldWUgdGhlIHJlbWFpbmluZyAqLw0KPiA+Pj4gKwkJd2hpbGUgKGRlcSA8IGVu cSkgew0KPiA+Pj4gKwkJCWRlcSArPSBydGVfYmJkZXZfZGVxdWV1ZV9kZWNfb3BzKHRwLT5kZXZf aWQsDQo+ID4+PiArCQkJCQlxdWV1ZV9pZCwgJm9wc19kZXFbZGVxXSwgZW5xIC0NCj4gPj4gZGVx KTsNCj4gPj4+ICsJCX0NCj4gPj4+ICsNCj4gPj4+ICsJCXRvdGFsX3RpbWUgKz0gcnRlX3JkdHNj X3ByZWNpc2UoKSAtIHN0YXJ0X3RpbWU7DQo+ID4+PiArCX0NCj4gPj4+ICsNCj4gPj4+ICsJdHAt Pml0ZXJfY291bnQgPSAwOw0KPiA+Pj4gKwl0cC0+aXRlcl9hdmVyYWdlID0gMDsNCj4gPj4+ICsJ LyogZ2V0IHRoZSBtYXggb2YgaXRlcl9jb3VudCBmb3IgYWxsIGRlcXVldWVkIG9wcyAqLw0KPiA+ Pj4gKwlmb3IgKGkgPSAwOyBpIDwgbnVtX29wczsgKytpKSB7DQo+ID4+PiArCQl0cC0+aXRlcl9j b3VudCA9IFJURV9NQVgob3BzX2VucVtpXS0NCj4gPj4+IHR1cmJvX2RlYy5pdGVyX2NvdW50LA0K PiA+Pj4gKwkJCQl0cC0+aXRlcl9jb3VudCk7DQo+ID4+PiArCQl0cC0+aXRlcl9hdmVyYWdlICs9 IChkb3VibGUpIG9wc19lbnFbaV0tDQo+ID4+PiB0dXJib19kZWMuaXRlcl9jb3VudDsNCj4gPj4+ ICsJfQ0KPiA+Pj4gKw0KPiA+Pj4gKwl0cC0+aXRlcl9hdmVyYWdlIC89IG51bV9vcHM7DQo+ID4+ PiArCXRwLT5ibGVyID0gKGRvdWJsZSkgdmFsaWRhdGVfdHVyYm9fYmxlcihvcHNfZGVxLCBudW1f b3BzKSAvDQo+ID4+IG51bV9vcHM7DQo+ID4+PiArDQo+ID4+PiArCXJ0ZV9iYmRldl9kZWNfb3Bf ZnJlZV9idWxrKG9wc19lbnEsIG51bV9vcHMpOw0KPiA+Pj4gKw0KPiA+Pj4gKwlkb3VibGUgdGJf bGVuX2JpdHMgPSBjYWxjX2RlY19UQl9zaXplKHJlZl9vcCk7DQo+ID4+PiArCXRwLT5vcHNfcGVy X3NlYyA9ICgoZG91YmxlKW51bV9vcHMgKiAxKSAvDQo+ID4+PiArCQkJKChkb3VibGUpdG90YWxf dGltZSAvIChkb3VibGUpcnRlX2dldF90c2NfaHooKSk7DQo+ID4+PiArCXRwLT5tYnBzID0gKCgo ZG91YmxlKShudW1fb3BzICogMSAqIHRiX2xlbl9iaXRzKSkgLw0KPiA+Pj4gKwkJCTEwMDAwMDAu MCkgLyAoKGRvdWJsZSl0b3RhbF90aW1lIC8NCj4gPj4+ICsJCQkoZG91YmxlKXJ0ZV9nZXRfdHNj X2h6KCkpOw0KPiA+Pj4gKwlwcmludGYoIlRCUyAlLjBmIFRpbWUgJS4wZlxuIiwgdGJfbGVuX2Jp dHMsIDEwMDAwMDAuMCAqDQo+ID4+PiArCQkJKChkb3VibGUpdG90YWxfdGltZSAvIChkb3VibGUp cnRlX2dldF90c2NfaHooKSkpOw0KPiA+Pj4gKw0KPiA+Pj4gKwlyZXR1cm4gVEVTVF9TVUNDRVNT Ow0KPiA+Pj4gK30NCj4gPj4+ICsNCj4gPj4+ICAgIHN0YXRpYyBpbnQNCj4gPj4+ICAgIHRocm91 Z2hwdXRfcG1kX2xjb3JlX2xkcGNfZGVjKHZvaWQgKmFyZykNCj4gPj4+ICAgIHsNCj4gPj4+IEBA IC00MTkzLDcgKzQzNzEsNyBAQCBwcmludF9kZWNfYmxlcihzdHJ1Y3QgdGhyZWFkX3BhcmFtcw0K PiAqdF9wYXJhbXMsDQo+ID4+IHVuc2lnbmVkIGludCB1c2VkX2NvcmVzKQ0KPiA+Pj4gICAgCXRv dGFsX2JsZXIgLz0gdXNlZF9jb3JlczsNCj4gPj4+ICAgIAl0b3RhbF9pdGVyIC89IHVzZWRfY29y ZXM7DQo+ID4+Pg0KPiA+Pj4gLQlwcmludGYoIlNOUiAlLjJmIEJMRVIgJS4xZiAlJSAtIEl0ZXJh dGlvbnMgJS4xZiAlZCAtIFRwICUuMWYgTWJwcw0KPiA+PiAlc1xuIiwNCj4gPj4+ICsJcHJpbnRm KCJTTlIgJS4yZiBCTEVSICUuMWYgJSUgLSBJdGVyYXRpb25zICUuMWYgJWQgLSBUcCAlLjNmIE1i cHMNCj4gPj4+ICslc1xuIiwNCj4gPj4+ICAgIAkJCXNuciwgdG90YWxfYmxlciAqIDEwMCwgdG90 YWxfaXRlciwgZ2V0X2l0ZXJfbWF4KCksDQo+ID4+PiAgICAJCQl0b3RhbF9tYnBzLCBnZXRfdmVj dG9yX2ZpbGVuYW1lKCkpOw0KPiA+Pj4gICAgfQ0KPiA+Pj4gQEAgLTQyNDUsNiArNDQyMywxMCBA QCBibGVyX3Rlc3Qoc3RydWN0IGFjdGl2ZV9kZXZpY2UgKmFkLA0KPiA+Pj4gICAgCQkJJiYgIWNo ZWNrX2JpdCh0ZXN0X3ZlY3Rvci5sZHBjX2RlYy5vcF9mbGFncywNCj4gPj4+ICAgIAkJCVJURV9C QkRFVl9MRFBDX0xMUl9DT01QUkVTU0lPTikpDQo+ID4+PiAgICAJCWJsZXJfZnVuY3Rpb24gPSBi bGVyX3BtZF9sY29yZV9sZHBjX2RlYzsNCj4gPj4+ICsJZWxzZSBpZiAoKHRlc3RfdmVjdG9yLm9w X3R5cGUgPT0gUlRFX0JCREVWX09QX1RVUkJPX0RFQykgJiYNCj4gPj4+ICsJCQkhY2hlY2tfYml0 KHRlc3RfdmVjdG9yLnR1cmJvX2RlYy5vcF9mbGFncywNCj4gPj4+ICsJCQlSVEVfQkJERVZfVFVS Qk9fU09GVF9PVVRQVVQpKQ0KPiA+Pj4gKwkJYmxlcl9mdW5jdGlvbiA9IGJsZXJfcG1kX2xjb3Jl X3R1cmJvX2RlYzsNCj4gPj4+ICAgIAllbHNlDQo+ID4+PiAgICAJCXJldHVybiBURVNUX1NLSVBQ RUQ7DQo+ID4+Pg0KPiA+DQoNCg==