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 CA7E14285F for ; Wed, 29 Mar 2023 09:54:40 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BD0724161A; Wed, 29 Mar 2023 09:54:40 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 0A9A240EE7; Wed, 29 Mar 2023 09:54:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680076477; x=1711612477; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=DpphlH82WrXXJmRDK3YUZZEsXx0ztW25hre46hjumqc=; b=iaciI6npH4+LQTydiqUT/QS6JgvM8KZeOuqnsBXC3K+suYcJn6QiRtIQ 59Axtfn0N60bnXbbwBqWVcKNroX1EsRJh3ILuWuE8997hAbyz6PHRDhGU OW6R8/Qn7Q/bIat/bICRnVeMG8SFAvLX6YpDad15veKjGbRhHDvkT2syz YUtgzahtslAHytVZojESNLa7PfgTd/sQR8AX0pwQ3lRwOb9JG/zgIkNWE WPibxAihSzv8F9FyvI9m5oOW+l711VYaTVLioHfza7Hz0cVXLBQxzaLOa d/4jTrWmy8578Lad3XEMWo6H+QF7zeWJoPr30TIdO0H6wTsXA7Tg4kzAb g==; X-IronPort-AV: E=McAfee;i="6600,9927,10663"; a="320461337" X-IronPort-AV: E=Sophos;i="5.98,300,1673942400"; d="scan'208";a="320461337" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2023 00:53:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10663"; a="748701523" X-IronPort-AV: E=Sophos;i="5.98,300,1673942400"; d="scan'208";a="748701523" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga008.fm.intel.com with ESMTP; 29 Mar 2023 00:53:09 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.21; Wed, 29 Mar 2023 00:53:08 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2507.21 via Frontend Transport; Wed, 29 Mar 2023 00:53:08 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.102) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Wed, 29 Mar 2023 00:53:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D615+XKWxTN/2TAd07sW0UbtKDi0ujcdx/NbgICui7MG5tSEHXWBuNFFNSeH/Wlf+doNljlXfDv+LIzm5M6tS5xg9anYDF2KDQ2UuF1YM0FRTuTTc/FOybEVVGl7I7eWUk+Cyplqe0VUt7hxtc0rD/OREYA5HHTjb5F7d4rnSqqS5BmNGDionBIw/woejbAjZMhPOeFK74tw/VsayeJt09zCqQKIxHIUD77fkVRi6fnlX7PhV/g+Vh0lxjX8pV5aROepSwuAjWZedjYxptmscLBerlcAjZ9TQtu9OZ0r5ln9k4G2QgJYFMt19P5IdLtIIXWFPhqPDgjmJ9B+Pik41Q== 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=DpphlH82WrXXJmRDK3YUZZEsXx0ztW25hre46hjumqc=; b=BdtVABOVDy+nK04+hdXdDFhCEYXcD/l/QyrQyPKNnECvu2hkrUQvGD9Rq/Abb7WJOU/NiCBzpB4S37klz6u8Ey27q91jwgCpAk8YxlPiPSTUEyxJ2Ow5GMzYovvagWogMaZLZap21xRBTA3i53wIUDUHTczp/EJhp6/Tm6Ym7l+/zrNY77x5jRHkQkoIYp15lefG7kdaLa5QPaLJ4kx3emmYoCRtqGkI52lULHxwGJV5+6mO9UlMbLLiygmUsnizbvXfInOw/iMuqYTuLLUWagXvcW4ZN2NZl7aH7EP4HFJmHtoCCctNgolwS6e0K4+58vcjVA+XNwp+KShOs5B8mA== 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 SN6PR11MB2911.namprd11.prod.outlook.com (2603:10b6:805:d2::33) by CH0PR11MB8085.namprd11.prod.outlook.com (2603:10b6:610:183::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar 2023 07:53:05 +0000 Received: from SN6PR11MB2911.namprd11.prod.outlook.com ([fe80::6a42:d331:9d1e:dec0]) by SN6PR11MB2911.namprd11.prod.outlook.com ([fe80::6a42:d331:9d1e:dec0%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023 07:53:04 +0000 From: "Deng, KaiwenX" To: Ferruh Yigit , "dev@dpdk.org" CC: "stable@dpdk.org" , "Yang, Qiming" , "Zhou, YidingX" , "Chas Williams" , "Min Hu (Connor)" , "Wu, Jingjing" , "Xing, Beilei" , Mike Pattrick , "Zhang, Qi Z" , "Doherty, Declan" , "Mrzyglod, Daniel T" , Dapeng Yu , "Zhang, Helin" , "Mcnamara, John" , Thomas Monjalon Subject: RE: [PATCH v3] net/iavf: fix iavf query stats in intr thread Thread-Topic: [PATCH v3] net/iavf: fix iavf query stats in intr thread Thread-Index: AQHZXJQHR5SkzTBC30aFA7rxtJ2YFa8IghcAgAWdr2CAAHdFgIAAAaaAgALU/iA= Date: Wed, 29 Mar 2023 07:53:04 +0000 Message-ID: References: <20230307025533.1950861-1-kaiwenx.deng@intel.com> <20230322072615.179196-1-kaiwenx.deng@intel.com> <0f1ae3b9-f378-9a75-65f7-fcd6e2630414@amd.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: SN6PR11MB2911:EE_|CH0PR11MB8085:EE_ x-ms-office365-filtering-correlation-id: 36c06b54-95ec-4140-10ba-08db302aa0d7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oEHkIwMoZMAjKuVvw9an4ti+OSofsZUulSZ/OTWvPC6G/QpSBkxVpzt2E6wZJ9p5aDMf3sqNhVxfss80iEWVimuovC5pdAaVnwXME97Jdrhk7/CRu/gVhZsI0cQ1BIMGjsFj4W2E0MQDsGtfGGbZSm1ZGyXYMlD6dblS5yl3FrijdDiLOlmFiGkBU0h3aUQjNEQvlZnKSoK+2hV21sd6ouA5Q3XG/4PcdUWJ/7ezz0DdWQWHB/qKe9TfTllTgqWIFZwNLJ65vHDdv+ZXv5xmbRwyU29c8jWJqr2alJkrGa2A/d+iQBezR1YdULAfSuSCBbTeJCYW4t2n55GhM6BCsFfggNGRF/Seu9DXcNhhnl+ti5LzbYi7yLkz403JDHsBLPZpOyU6G+EsLG6gcUtub8jQxaGh7EHjv+SMa/VCIGPNDc/3Tzmc0JsEa5WYP0uhqnftQXRzQIoa4eeYvkMx0QjRODEKgIGJKWXlFj1WQXRIM35LqiZVhdSSsGt8wxzd7Thr8ANS/dS5Xf27C2f8+MNHWOZbFmsbMHUGI+uzPsqlB3vk3dfid4RMz3c1J5V8r5Sxi1p00W1Z5xQLo3P1EjzOvfk0IOyEAirORX1KtsiOTNvifwZTl90/0kmfeRb2 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB2911.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(366004)(39860400002)(376002)(396003)(346002)(136003)(451199021)(55016003)(66946007)(66476007)(66556008)(64756008)(8676002)(76116006)(54906003)(4326008)(66446008)(8936002)(30864003)(5660300002)(110136005)(38100700002)(82960400001)(122000001)(52536014)(316002)(41300700001)(186003)(6506007)(53546011)(9686003)(83380400001)(71200400001)(7696005)(478600001)(38070700005)(86362001)(2906002)(33656002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?amN0bG52cW1pS1haSldHbk84ZFBLUDB6eHJoMXNxMCtCNnVhMStKZmd5aHdk?= =?utf-8?B?RnVNNjhES1lXWEFiRUFsM1o2cG5GeGlGU3JOaWpoR3U1Z3o2YWlHQitocWox?= =?utf-8?B?Vncyb2JycUVlU2c2VENKREV5MExEVEswNkoxNnFlTVJKeVZCODlqZXJJbnlF?= =?utf-8?B?ZDZ1SVdzUU51cjRYcWxDUkdaSUxkc0x1NVk0eGZUR2pIOXEyZDlHN0NVQytI?= =?utf-8?B?dVlQSXFYZUVlV28reklDZ1d0TnQ1OGhMWEJ6S21SSzF4M3BBRlRGSmJNUytT?= =?utf-8?B?citwRUJkWld1WnFnQUdsaWg3NWRCS3JOK1p6WjZ0c3l5dGE2SkRjeGlRS2xl?= =?utf-8?B?SGZENk9qYzE0cmprNGJ4TGIybHRmaUpQRXhTRVB4emRzYUVaUEdVczZtL3g2?= =?utf-8?B?ZnF4anNMQWpBQko2SlJWb0lSSjlTT2J0WFZMQ2RUeFZQbXh2dDBiYTRNS004?= =?utf-8?B?MXlrSDU5STVlSjJwTE13eGxvWG1YQkd3QjJWTG1hMFFvY1Y4dkxEWlJkUjlF?= =?utf-8?B?bm9yMkMrWVhNZHpMTE9mR1BZVVB5aldJdEhnVEZsWVcwQ3NPVHlrbHV6aGhE?= =?utf-8?B?RzlxQlhkajBCUnN0T2JOSS9MTzd6QkU5d2Yxdk5RdngzeDQza09VMld0K2ph?= =?utf-8?B?RGNSakthVnR6UUVENWdubVU0aXB0dXVCRTRQcWg3dEx2aFcva01VNE41NTRo?= =?utf-8?B?bm9sa3h5YTI5dzBWYkowTnBpbnpCenRTL083MHdTQnNDYkZKbk1IbVNQOFA2?= =?utf-8?B?TTJoTlRtNnFWTHczOUNRNHNnUTF0WUNEZCszVW81R2ViS0w5N3ZKRkFTeHR3?= =?utf-8?B?cUZuWDJkS2FtdGhiS1owY0dsNDYwVk9LUDg5NFVZbm1tdXFUeTd1RWh2ZGla?= =?utf-8?B?dzNDV3Zyc2VxY3VYZmxJRGc1UzhiN3hHRzF2UHRTTnZBSWI1SlY2N2o5TWJp?= =?utf-8?B?VkZ5SXEvNmxPNTU1OUUzb2ltODlZTjA2cnlHUlNhQi9VcEo5TXFESzlBQlZm?= =?utf-8?B?S3VleEdzcEdMc0p4UW5uV1Z6WXlEVTVMQ0gyOVhXRUx6N0x1N25sVW03bUVC?= =?utf-8?B?T2ZKRE5FTm9ycGI1SjUzK1lkZE1ha0lmM2E0cHJVd0wvYWVva014K2YvckZj?= =?utf-8?B?MG51b0gwNGtGdVRBMjFEeURsVlFPU2tPbjRNMzVuL3ZTbkprdStyOFQ0b3Fn?= =?utf-8?B?RzQ3b1VsaXFnN3N3c2o5VUtCQXRmd2R0Q0x2aGxqUlN5WDFCK3ZRWHNvNTc3?= =?utf-8?B?WVFTUkdCODE0czRkNmIxbzlPT2VZbDRPZEhkWFhyUmE0UURkYzV3MWpQczJF?= =?utf-8?B?MTRYd3lYajNMUmlrTGR2S0QrUUtlT0NHcnBqdEFMQ3hEODVxSDhyaE9JK2JF?= =?utf-8?B?eVRUMTR3Q2QwbVlvTGgrczUwQWRta3BhazBVT3ZKL25QbnkrSmVvRy9pTmpK?= =?utf-8?B?MzkwNVhqRkYzSU9LbUZ3S0FuVmZMOXA2T3Bpcko5cTE3MkNJOUFCRXEyYU13?= =?utf-8?B?VFF1R1pHRitGR3MvU2RpeGx3N0ZTUVhXYlBNbmlNanhZU01xU1J2Yk1UZ1hz?= =?utf-8?B?eVpIMUVJd08wL1c4VXlHYm5lOFk1Q3VuWDN2Z1NlaVg4TXh6Y09QMUY0Y2wr?= =?utf-8?B?RWdQd21QejgvV2lrRmpyQ1g3SnM2b2ZQQXdDMW83SHEyc3FoVnovQzVEZnR5?= =?utf-8?B?OU5HOTJQOHgybDZUcEJxMVYyMmYxMHRZT3pRQW5NWERKMzdNUGdoSUJjZFV4?= =?utf-8?B?MFVsSUVGUmRCeFZmbWh3TmwxT2o3OTMxMVh4SGFHcSt1eFVIMktYMVFiZU1W?= =?utf-8?B?RXJDUSs5OTRERlByZ2ptZVdRWVJYRSs3ZTNhZ3d1YVNwMFB0dWt1Mno0Qlpp?= =?utf-8?B?ZlVqY1h3dGtDQkdnek1ndE9Wa2JUYzMwOFBKR3owY2dteGg0V0VPT1M0ejlX?= =?utf-8?B?ME9TdlRnTFpSbEdpbVN2LzFudklGUHhkeUtmZ3liUGloSTVoaGdDcWpLcFJN?= =?utf-8?B?cjRsdnIybkw5SDR6VzVBazlWaHNLcktncVNnQmU3WEEzOFhwaWpkWFd0cC8w?= =?utf-8?B?aUFRbm0wcWFiMGdyZkI2ai9aY0RZZTQzcnZ1N1NiK2l2NUdDN3g0YjVxOEZ6?= =?utf-8?Q?Vj9w=3D?= 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: SN6PR11MB2911.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36c06b54-95ec-4140-10ba-08db302aa0d7 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2023 07:53:04.7974 (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: HuVwlhzHZt1EExGut1jISlIpwLC8VGFed92GNQ1YsdDQI7+EyM3o5uxn+2slDf8TLVMCNZJ4MgBu4ey0i74Esw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB8085 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogTW9uZGF5LCBNYXJjaCAyNywgMjAyMyA4OjM4 IFBNDQo+IFRvOiBEZW5nLCBLYWl3ZW5YIDxrYWl3ZW54LmRlbmdAaW50ZWwuY29tPjsgZGV2QGRw ZGsub3JnDQo+IENjOiBzdGFibGVAZHBkay5vcmc7IFlhbmcsIFFpbWluZyA8cWltaW5nLnlhbmdA aW50ZWwuY29tPjsgWmhvdSwgWWlkaW5nWA0KPiA8eWlkaW5neC56aG91QGludGVsLmNvbT47IENo YXMgV2lsbGlhbXMgPGNoYXMzQGF0dC5jb20+OyBNaW4gSHUgKENvbm5vcikNCj4gPGh1bWluMjlA aHVhd2VpLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsgWGluZywg QmVpbGVpDQo+IDxiZWlsZWkueGluZ0BpbnRlbC5jb20+OyBNaWtlIFBhdHRyaWNrIDxta3BAcmVk aGF0LmNvbT47IFpoYW5nLCBRaSBaDQo+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IERvaGVydHks IERlY2xhbiA8ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tPjsNCj4gTXJ6eWdsb2QsIERhbmllbCBU IDxkYW5pZWwudC5tcnp5Z2xvZEBpbnRlbC5jb20+OyBEYXBlbmcgWXUNCj4gPGRhcGVuZ3gueXVA aW50ZWwuY29tPjsgWmhhbmcsIEhlbGluIDxoZWxpbi56aGFuZ0BpbnRlbC5jb20+Ow0KPiBNY25h bWFyYSwgSm9obiA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4g PHRob21hc0Btb25qYWxvbi5uZXQ+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjNdIG5ldC9pYXZm OiBmaXggaWF2ZiBxdWVyeSBzdGF0cyBpbiBpbnRyIHRocmVhZA0KPiANCj4gT24gMy8yNy8yMDIz IDE6MzEgUE0sIEZlcnJ1aCBZaWdpdCB3cm90ZToNCj4gPiBPbiAzLzI3LzIwMjMgNjozMSBBTSwg RGVuZywgS2Fpd2VuWCB3cm90ZToNCj4gPj4NCj4gPj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBhbWQuY29t Pg0KPiA+Pj4gU2VudDogVGh1cnNkYXksIE1hcmNoIDIzLCAyMDIzIDExOjM5IFBNDQo+ID4+PiBU bzogRGVuZywgS2Fpd2VuWCA8a2Fpd2VueC5kZW5nQGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0K PiA+Pj4gQ2M6IHN0YWJsZUBkcGRrLm9yZzsgWWFuZywgUWltaW5nIDxxaW1pbmcueWFuZ0BpbnRl bC5jb20+OyBaaG91LA0KPiA+Pj4gWWlkaW5nWCA8eWlkaW5neC56aG91QGludGVsLmNvbT47IENo YXMgV2lsbGlhbXMgPGNoYXMzQGF0dC5jb20+OyBNaW4NCj4gPj4+IEh1IChDb25ub3IpIDxodW1p bjI5QGh1YXdlaS5jb20+OyBXdSwgSmluZ2ppbmcNCj4gPj4+IDxqaW5namluZy53dUBpbnRlbC5j b20+OyBYaW5nLCBCZWlsZWkgPGJlaWxlaS54aW5nQGludGVsLmNvbT47IE1pa2UNCj4gPj4+IFBh dHRyaWNrIDxta3BAcmVkaGF0LmNvbT47IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNv bT47DQo+ID4+PiBEb2hlcnR5LCBEZWNsYW4gPGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbT47IE1y enlnbG9kLCBEYW5pZWwgVA0KPiA+Pj4gPGRhbmllbC50Lm1yenlnbG9kQGludGVsLmNvbT47IERh cGVuZyBZdSA8ZGFwZW5neC55dUBpbnRlbC5jb20+DQo+ID4+PiBTdWJqZWN0OiBSZTogW1BBVENI IHYzXSBuZXQvaWF2ZjogZml4IGlhdmYgcXVlcnkgc3RhdHMgaW4gaW50cg0KPiA+Pj4gdGhyZWFk DQo+ID4+Pg0KPiA+Pj4gT24gMy8yMi8yMDIzIDc6MjYgQU0sIEthaXdlbiBEZW5nIHdyb3RlOg0K PiA+Pj4+IFdoZW4gaWF2ZiBzZW5kIHF1ZXJ5LXN0YXRzIGNvbW1hbmQgaW4gZWFsLWludHItdGhy ZWFkIHRocm91Z2gNCj4gPj4+PiB2aXJ0dWFsIGNoYW5uZWwsIHRoZXJlIHdpbGwgYmUgbm8gcmVz cG9uc2UgcmVjZWl2ZWQgZnJvbQ0KPiA+Pj4+IGlhdmZfZGV2X3ZpcnRjaG5sX2hhbmRsZXIgZm9y IHRoaXMgY29tbWFuZCBkdXJpbmcgYmxvY2sgYW5kIHdhaXQuDQo+ID4+Pj4gQmVjYXVzZSBpYXZm X2Rldl92aXJ0Y2hubF9oYW5kbGVyIGlzIGFsc28gcmVnaXN0ZXJlZCBpbiBlYWwtaW50ci10aHJl YWQuDQo+ID4+Pj4NCj4gPj4+PiBXaGVuIHZmIGRldmljZSBpcyBib25kZWQgYXMgQk9ORElOR19N T0RFX1RMQiBtb2RlLCB0aGUgc2xhdmUNCj4gZGV2aWNlDQo+ID4+Pj4gdXBkYXRlIGNhbGxiYWNr IHdpbGwgcmVnaXN0ZXJlZCBpbiBhbGFybSBhbmQgY2FsbGVkIGJ5DQo+ID4+Pj4gZWFsLWludHIt dGhyZWFkLCBpdCB3b3VsZCBhbHNvIHJhaXNlIHRoZSBhYm92ZSBpc3N1ZS4NCj4gPj4+Pg0KPiA+ Pj4+IFRoaXMgY29tbWl0IGFkZCB0byBwb2xsIHRoZSByZXNwb25zZSBmb3IgVklSVENITkxfT1Bf R0VUX1NUQVRTDQo+IHdoZW4NCj4gPj4+IGl0DQo+ID4+Pj4gaXMgY2FsbGVkIGJ5IGVhbC1pbnRy LXRocmVhZCB0byBmaXggdGhpcyBpc3N1ZS4NCj4gPj4+Pg0KPiA+Pj4+IEZpeGVzOiA5MWJmMzdk MjUwYWEgKCJuZXQvaWF2ZjogYWRkIGxvY2sgZm9yIFZGIGNvbW1hbmRzIikNCj4gPj4+PiBGaXhl czogMjJiMTIzYTM2ZDA3ICgibmV0L2F2ZjogaW5pdGlhbGl6ZSBQTUQiKQ0KPiA+Pj4+IEZpeGVz OiA3Yzc2YTc0N2U2OGMgKCJib25kOiBhZGQgbW9kZSA1IikNCj4gPj4+PiBGaXhlczogNDM1ZDUy MzExMmNjICgibmV0L2lhdmY6IGZpeCBtdWx0aS1wcm9jZXNzIHNoYXJlZCBkYXRhIikNCj4gPj4+ PiBGaXhlczogY2I1YzFiOTFmNzZmICgibmV0L2lhdmY6IGFkZCB0aHJlYWQgZm9yIGV2ZW50IGNh bGxiYWNrcyIpDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IEhpIEthaXdlbiwNCj4gPj4+DQo+ID4+PiBB Ym92ZSBjb21taXQgYWxyZWFkeSBzZWVtcyB0cnlpbmcgdG8gYWRkcmVzcyBzYW1lIGlzc3VlLCBp dCBjcmVhdGVzDQo+ID4+PiAiaWF2Zi0gZXZlbnQtdGhyZWFkIiBjb250cm9sIHRocmVhZCB0byBh c3luY3JvbmlvdXNseSBoYW5kbGUgdGhlDQo+ID4+PiBpbnRlcnJ1cHRzLCBpbiBub24tIGludGVy cnVwdCBjb250ZXh0LCB3aHkgaXQgaXMgbm90IHdvcmtpbmc/DQo+ID4+Pg0KPiA+Pj4gSW5zdGVh ZCBvZiBhZGRpbmcgJ3J0ZV90aHJlYWRfaXNfaW50cigpJyBjaGVja3MsIGNhbid0IHlvdSBtYWtl IHN1cmUNCj4gPj4+IGFsbCBpbnRlcnJ1cHRzIGhhbmRsZWQgaW4gY29udHJvbCB0cmVhZD8NCj4g Pj4+DQo+ID4+PiBBbmQgY2FuIHlvdSBwbGVhc2UgcHJvdmlkZSBhIHN0YWNrIHRyYWNlIGluIGNv bW1pdCBsb2csIHRvIGRlc2NyaWJlDQo+ID4+PiB0aGUgaXNzdWUgYmV0dGVyPw0KPiA+PiBIaSBG ZXJydSwNCj4gPj4gU29ycnkgZm9yIG15IGxhdGUgcmVwbHksIEFuZCB0aGFua3MgZm9yIHlvdXIg cmV2aWV3Lg0KPiA+Pg0KPiA+PiBUaGUgYWJvdmUgY29tbWl0IGRvZXMgbm90IGZpeCB0aGlzIGlz c3VlIHdoZW4gd2UgbmVlZCB0byBnZXQgdGhlDQo+IHJldHVybmVkIGRhdGEuDQo+ID4+IElmIHdl IGNhbGwgaWF2Zl9xdWVyeV9zdGF0cyBhbmQgd2FpdCBmb3IgcmVzcG9uc2Ugc3RhdGlzdGljcyBp biB0aGUgaW50ci0NCj4gdGhyZWFkLg0KPiA+PiBpYXZmX2hhbmRsZV92aXJ0Y2hubF9tc2cgaXMg YWxzbyByZWdpc3RlcmVkIGluIHRoZSBpbnRyX3RocmVhZCBhbmQNCj4gPj4gd2lsbCBub3QgYmUg ZXhlY3V0ZWQgd2hpbGUgd2FpdGluZy4NCj4gPj4NCj4gPg0KPiA+IEdvdCBpdCwgc2luY2UgcmV0 dXJuIHZhbHVlIGlzIHJlcXVpcmVkLCBBUEkgY2FuJ3QgYmUgY2FsbGVkIGFzeW5jcm9uaW91c2x5 Lg0KPiA+DQo+ID4NCj4gPg0KPiA+IEkgdGhpbmsgJ3J0ZV90aHJlYWRfaXNfaW50cigpJyBjaGVj a3MgbWF5IGNhdXNlIG1vcmUgdHJvdWJsZSBmb3IgeW91DQo+ID4gaW4gbG9uZyB0ZXJtLA0KPiA+ DQo+ID4gLSB3aHkgJ2lhdmZfcXVlcnlfc3RhdHMoKScgaXMgY2FsbGVkIGluIHRoZSBpdGVycnVw dCB0aHJlYWQsIGNhbiBpdCBiZQ0KPiA+IHByZXZlbnRlZD8NCj4gPg0KPiA+IC0gZG9lcyBpdCBt YWtlIHNlbnNlIHRvIGFsbHdheXMgcG9sbCBtZXNzYWdlcyBmcm9tIFBGIChmb3Igc2ltcGxpZmlj YXRpb24pPw0KPiA+DQo+ID4NCj4gPiBJZiBhbnN3ZXIgdG8gYm90aCBhcmUgJ05vJywgSSBhbSBP SyB0byBjb250aW51ZSB3aXRoIGN1cnJlbnQgcHJvcG9zYWwNCj4gPiBpZiB5b3UgYXJlIGhhcHB5 IHdpdGggaXQuDQo+ID4NCj4gDQo+IA0KPiBidHcsIGhvdyBjcml0aWNhbCBpcyB0aGlzIGlzc3Vl Pw0KPiANCj4gSWYgaXQgaXMgY3JpdGljYWwsIEkgYW0gT0sgdG8gZ2V0IGl0IGFzIGl0IGlzIGZv ciB0aGlzIHJlbGVhc2UgYW5kIGludmVzdGlnYXRlIGl0IGZ1cnRoZXINCj4gZm9yIG5leHQgcmVs ZWFzZSwgc2luY2Ugb25seSBhIGZldyBkYXlzIGxlZnQgZm9yIHRoaXMgcmVsZWFzZS4NCj4gDQpU aGlzIGlzIG5vdCBhIHZlcnkgY3J0aWNhbCBpc3N1ZSwgd2UgY2FuIHdhaXQgZm9yIGEgbW9yZSBh cHByb3ByaWF0ZSBzb2x1dGlvbi4NCg0KVGhhbmtzLg0KPiANCj4gPg0KPiA+PiBUaGlzIGNvbW1p dCBJIGNoYW5nZWQgaXQgdG8gcG9sbGluZyBmb3IgcmVwbGllcyB0byBjb21tYW5kcyBleGVjdXRl ZCBpbg0KPiB0aGUgaW50ZXJydXB0IHRocmVhZC4NCj4gPj4NCj4gPj4gbWFpbiB0aHJlYWQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQNCj4gdGhyZWFkDQo+ ID4+ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4+ICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4+ IGlhdmZfcXVlcnlfc3RhdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwNCj4gPj4gaWF2Zl9leGVjdXRlX3ZmX2NtZCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfA0KPiA+PiBpYXZmX2FxX3NlbmRfbXNnX3RvX3BmICBhbmQgd2FpdCBo YW5kbGUgY29tcGxldGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ ID4+ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPj4gICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiAtLS0tLS0tPnwNCj4gPj4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+PiAgICAg IHwNCj4gaWF2Zl9oYW5kbGVfdmlydGNobmxfbXNnDQo+ID4+ICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0K PiA+PiAgICAgIHw8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IC0tLS0tLS0tfA0KPiA+ PiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwNCj4gPj4gaWF2Zl9leGVjdXRlX3ZmX2NtZCBnZXQgcmVzcG9u c2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfA0KPiA+PiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPj4NCj4gPj4gVGhl IGFib3ZlIGlzIHRoZSBzdGFjayB0cmFjZSBmb3IgdGhlIG5vcm1hbCBleGVjdXRpb24gb2YNCj4g Pj4gaWF2Zl9xdWVyeV9zdGF0cyBpbiB0aGUgbWFpbiB0aHJlYWQuDQo+ID4+DQo+ID4+ICBpbnRl cnJ1cHQgdGhyZWFkDQo+ID4+ICAgICAgfA0KPiA+PiAgICAgIHwNCj4gPj4gaWF2Zl9xdWVyeV9z dGF0cw0KPiA+PiBpYXZmX2V4ZWN1dGVfdmZfY21kDQo+ID4+IGlhdmZfYXFfc2VuZF9tc2dfdG9f cGYgd2FpdCBoYW5kbGUgY29tcGxldGUoMSBzZWMpDQo+ID4+IGlhdmZfZXhlY3V0ZV92Zl9jbWQg dGltZW91dA0KPiA+PiAgICAgIHwNCj4gPj4gICAgICB8DQo+ID4+IGlhdmZfaGFuZGxlX3ZpcnRj aG5sX21zZw0KPiA+PiAgICAgIHwNCj4gPj4NCj4gPj4gVGhlIGFib3ZlIGlzIHRoZSBzdGFjayB0 cmFjZSBmb3IgdGhlIGFibm9ybWFsIGV4ZWN1dGlvbiBvZg0KPiA+PiBpYXZmX3F1ZXJ5X3N0YXRz IGluIHRoZSBpbnRlcnJ1cHQgdGhyZWFkLg0KPiA+Pj4NCj4gPj4+PiBDYzogc3RhYmxlQGRwZGsu b3JnDQo+ID4+Pj4NCj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBLYWl3ZW4gRGVuZyA8a2Fpd2VueC5k ZW5nQGludGVsLmNvbT4NCj4gPj4+PiAtLS0NCj4gPj4+PiBDaGFuZ2VzIHNpbmNlIHYyOg0KPiA+ Pj4+IC0gQWRkIHRvIHBvbGwgdGhlIHJlc3BvbnNlIGZvciBWSVJUQ0hOTF9PUF9HRVRfU1RBVFMu DQo+ID4+Pj4NCj4gPj4+PiBDaGFuZ2VzIHNpbmNlIHYxOg0KPiA+Pj4+IC0gQWRkIGxvY2sgdG8g YXZvaWQgcmFjZSBjb25kaXRpb24uDQo+ID4+Pj4gLS0tDQo+ID4+Pj4gLS0tDQo+ID4+Pj4gIGRy aXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jIHwgIDcgKystDQo+ID4+Pj4gIGRy aXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYyAgICAgICAgIHwgIDUgKy0NCj4gPj4+PiAgZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMgICAgICAgICAgfCA3MSArKysrKysrKysrKysrKysr KystLS0tLS0tLQ0KPiA+Pj4+ICAzIGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDI1 IGRlbGV0aW9ucygtKQ0KPiA+Pj4+DQo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2Jv bmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ID4+Pj4gYi9kcml2ZXJzL25ldC9ib25kaW5nL3J0 ZV9ldGhfYm9uZF9wbWQuYw0KPiA+Pj4+IGluZGV4IGYwYzRmN2QyNmIuLmVkY2U2MjE0OTYgMTAw NjQ0DQo+ID4+Pj4gLS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1kLmMN Cj4gPj4+PiArKysgYi9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiA+ Pj4+IEBAIC04OTQsNiArODk0LDcgQEAgYm9uZF9ldGhkZXZfdXBkYXRlX3RsYl9zbGF2ZV9jYih2 b2lkICphcmcpDQo+ID4+Pj4gIAl1aW50OF90IHVwZGF0ZV9zdGF0cyA9IDA7DQo+ID4+Pj4gIAl1 aW50MTZfdCBzbGF2ZV9pZDsNCj4gPj4+PiAgCXVpbnQxNl90IGk7DQo+ID4+Pj4gKwlpbnQgcmV0 Ow0KPiA+Pj4+DQo+ID4+Pj4gIAlpbnRlcm5hbHMtPnNsYXZlX3VwZGF0ZV9pZHgrKzsNCj4gPj4+ Pg0KPiA+Pj4+IEBAIC05MDMsNyArOTA0LDEwIEBAIGJvbmRfZXRoZGV2X3VwZGF0ZV90bGJfc2xh dmVfY2Iodm9pZCAqYXJnKQ0KPiA+Pj4+DQo+ID4+Pj4gIAlmb3IgKGkgPSAwOyBpIDwgaW50ZXJu YWxzLT5hY3RpdmVfc2xhdmVfY291bnQ7IGkrKykgew0KPiA+Pj4+ICAJCXNsYXZlX2lkID0gaW50 ZXJuYWxzLT5hY3RpdmVfc2xhdmVzW2ldOw0KPiA+Pj4+IC0JCXJ0ZV9ldGhfc3RhdHNfZ2V0KHNs YXZlX2lkLCAmc2xhdmVfc3RhdHMpOw0KPiA+Pj4+ICsJCXJldCA9IHJ0ZV9ldGhfc3RhdHNfZ2V0 KHNsYXZlX2lkLCAmc2xhdmVfc3RhdHMpOw0KPiA+Pj4+ICsJCWlmIChyZXQpDQo+ID4+Pj4gKwkJ CWdvdG8gT1VUOw0KPiA+Pj4+ICsNCj4gPj4+PiAgCQl0eF9ieXRlcyA9IHNsYXZlX3N0YXRzLm9i eXRlcyAtIHRsYl9sYXN0X29ieXRldHNbc2xhdmVfaWRdOw0KPiA+Pj4+ICAJCWJhbmR3aWR0aF9s ZWZ0KHNsYXZlX2lkLCB0eF9ieXRlcywNCj4gPj4+PiAgCQkJCWludGVybmFscy0+c2xhdmVfdXBk YXRlX2lkeCwgJmJ3Z19hcnJheVtpXSk7DQo+ID4+PiBAQCAtOTIyLDYgKzkyNiw3IEBADQo+ID4+ Pj4gYm9uZF9ldGhkZXZfdXBkYXRlX3RsYl9zbGF2ZV9jYih2b2lkICphcmcpDQo+ID4+Pj4gIAlm b3IgKGkgPSAwOyBpIDwgc2xhdmVfY291bnQ7IGkrKykNCj4gPj4+PiAgCQlpbnRlcm5hbHMtPnRs Yl9zbGF2ZXNfb3JkZXJbaV0gPSBid2dfYXJyYXlbaV0uc2xhdmU7DQo+ID4+Pj4NCj4gPj4+PiAr T1VUOg0KPiA+Pj4+ICAJcnRlX2VhbF9hbGFybV9zZXQoUkVPUkRFUl9QRVJJT0RfTVMgKiAxMDAw LA0KPiA+Pj4gYm9uZF9ldGhkZXZfdXBkYXRlX3RsYl9zbGF2ZV9jYiwNCj4gPj4+PiAgCQkJKHN0 cnVjdCBib25kX2Rldl9wcml2YXRlICopaW50ZXJuYWxzKTsgIH0gZGlmZiAtLWdpdA0KPiA+Pj4+ IGEvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jIGIvZHJpdmVycy9uZXQvaWF2Zi9pYXZm X2V0aGRldi5jDQo+ID4+Pj4gaW5kZXggMzE5NjIxMGYyYy4uZDZlMWYxYTdmNCAxMDA2NDQNCj4g Pj4+PiAtLS0gYS9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMNCj4gPj4+PiArKysgYi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMNCj4gPj4+PiBAQCAtMjYwNyw2ICsyNjA3LDkg QEAgaWF2Zl9kZXZfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQo+ID4+Pj4gIAlh ZGFwdGVyLT5kZXZfZGF0YSA9IGV0aF9kZXYtPmRhdGE7DQo+ID4+Pj4gIAlhZGFwdGVyLT5zdG9w cGVkID0gMTsNCj4gPj4+Pg0KPiA+Pj4+ICsJaWYgKGlhdmZfZGV2X2V2ZW50X2hhbmRsZXJfaW5p dCgpKQ0KPiA+Pj4+ICsJCWdvdG8gaW5pdF92Zl9lcnI7DQo+ID4+Pj4gKw0KPiA+Pj4+ICAJaWYg KGlhdmZfaW5pdF92ZihldGhfZGV2KSAhPSAwKSB7DQo+ID4+Pj4gIAkJUE1EX0lOSVRfTE9HKEVS UiwgIkluaXQgdmYgZmFpbGVkIik7DQo+ID4+Pj4gIAkJcmV0dXJuIC0xOw0KPiA+Pj4+IEBAIC0y NjM0LDggKzI2MzcsNiBAQCBpYXZmX2Rldl9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2Rl dikNCj4gPj4+PiAgCXJ0ZV9ldGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBydGVfZXRoZXJfYWRkciAq KWh3LT5tYWMuYWRkciwNCj4gPj4+PiAgCQkJJmV0aF9kZXYtPmRhdGEtPm1hY19hZGRyc1swXSk7 DQo+ID4+Pj4NCj4gPj4+PiAtCWlmIChpYXZmX2Rldl9ldmVudF9oYW5kbGVyX2luaXQoKSkNCj4g Pj4+PiAtCQlnb3RvIGluaXRfdmZfZXJyOw0KPiA+Pj4+DQo+ID4+Pj4gIAlpZiAodmYtPnZmX3Jl cy0+dmZfY2FwX2ZsYWdzICYgVklSVENITkxfVkZfT0ZGTE9BRF9XQl9PTl9JVFIpDQo+ID4+PiB7 DQo+ID4+Pj4gIAkJLyogcmVnaXN0ZXIgY2FsbGJhY2sgZnVuYyB0byBlYWwgbGliICovIGRpZmYg LS1naXQNCj4gPj4+PiBhL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jIGIvZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3ZjaG5sLmMNCj4gPj4+PiBpbmRleCA5YWRhYWRiMTczLi5hZWZmYjA3Y2Nh IDEwMDY0NA0KPiA+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jDQo+ID4+ Pj4gKysrIGIvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMNCj4gPj4+PiBAQCAtMjU2LDYg KzI1Niw3IEBAIGlhdmZfcmVhZF9tc2dfZnJvbV9wZihzdHJ1Y3QgaWF2Zl9hZGFwdGVyDQo+ID4+ PiAqYWRhcHRlciwgdWludDE2X3QgYnVmX2xlbiwNCj4gPj4+PiAgCQkJCXZmLT5saW5rX3NwZWVk ID0NCj4gPj4+IGlhdmZfY29udmVydF9saW5rX3NwZWVkKHNwZWVkKTsNCj4gPj4+PiAgCQkJfQ0K PiA+Pj4+ICAJCQlpYXZmX2Rldl9saW5rX3VwZGF0ZSh2Zi0+ZXRoX2RldiwgMCk7DQo+ID4+Pj4g KwkJCWlhdmZfZGV2X2V2ZW50X3Bvc3QodmYtPmV0aF9kZXYsDQo+ID4+PiBSVEVfRVRIX0VWRU5U X0lOVFJfTFNDLCBOVUxMLCAwKTsNCj4gPj4+PiAgCQkJUE1EX0RSVl9MT0coSU5GTywgIkxpbmsg c3RhdHVzIHVwZGF0ZTolcyIsDQo+ID4+Pj4gIAkJCQkJdmYtPmxpbmtfdXAgPyAidXAiIDogImRv d24iKTsNCj4gPj4+PiAgCQkJYnJlYWs7DQo+ID4+Pj4gQEAgLTM2OCwyOCArMzY5LDQ4IEBAIGlh dmZfZXhlY3V0ZV92Zl9jbWQoc3RydWN0IGlhdmZfYWRhcHRlcg0KPiA+Pj4gKmFkYXB0ZXIsIHN0 cnVjdCBpYXZmX2NtZF9pbmZvICphcmdzLA0KPiA+Pj4+ICAJCV9jbGVhcl9jbWQodmYpOw0KPiA+ Pj4+ICAJCWJyZWFrOw0KPiA+Pj4+ICAJZGVmYXVsdDoNCj4gPj4+PiAtCQkvKiBGb3Igb3RoZXIg dmlydGNobmwgb3BzIGluIHJ1bm5pbmcgdGltZSwNCj4gPj4+PiAtCQkgKiB3YWl0IGZvciB0aGUg Y21kIGRvbmUgZmxhZy4NCj4gPj4+PiAtCQkgKi8NCj4gPj4+PiAtCQlkbyB7DQo+ID4+Pj4gLQkJ CWlmICh2Zi0+cGVuZF9jbWQgPT0gVklSVENITkxfT1BfVU5LTk9XTikNCj4gPj4+PiAtCQkJCWJy ZWFrOw0KPiA+Pj4+IC0JCQlpYXZmX21zZWNfZGVsYXkoQVNRX0RFTEFZX01TKTsNCj4gPj4+PiAt CQkJLyogSWYgZG9uJ3QgcmVhZCBtc2cgb3IgcmVhZCBzeXMgZXZlbnQsIGNvbnRpbnVlICovDQo+ ID4+Pj4gLQkJfSB3aGlsZSAoaSsrIDwgTUFYX1RSWV9USU1FUyk7DQo+ID4+Pj4gLQ0KPiA+Pj4+ IC0JCWlmIChpID49IE1BWF9UUllfVElNRVMpIHsNCj4gPj4+PiAtCQkJUE1EX0RSVl9MT0coRVJS LCAiTm8gcmVzcG9uc2UgZm9yIGNtZCAlZCIsDQo+ID4+PiBhcmdzLT5vcHMpOw0KPiA+Pj4+ICsJ CWlmIChydGVfdGhyZWFkX2lzX2ludHIoKSkgew0KPiA+Pj4+ICsJCQkvKiBGb3IgdmlydGNobmwg b3BzIHdlcmUgZXhlY3V0ZWQgaW4gZWFsX2ludHJfdGhyZWFkLA0KPiA+Pj4+ICsJCQkgKiBuZWVk IHRvIHBvbGwgdGhlIHJlc3BvbnNlLg0KPiA+Pj4+ICsJCQkgKi8NCj4gPj4+PiArCQkJZG8gew0K PiA+Pj4+ICsJCQkJcmVzdWx0ID0gaWF2Zl9yZWFkX21zZ19mcm9tX3BmKGFkYXB0ZXIsDQo+ID4+ PiBhcmdzLT5vdXRfc2l6ZSwNCj4gPj4+PiArCQkJCQkJCWFyZ3MtPm91dF9idWZmZXIpOw0KPiA+ Pj4+ICsJCQkJaWYgKHJlc3VsdCA9PSBJQVZGX01TR19DTUQpDQo+ID4+Pj4gKwkJCQkJYnJlYWs7 DQo+ID4+Pj4gKwkJCQlpYXZmX21zZWNfZGVsYXkoQVNRX0RFTEFZX01TKTsNCj4gPj4+PiArCQkJ fSB3aGlsZSAoaSsrIDwgTUFYX1RSWV9USU1FUyk7DQo+ID4+Pj4gKwkJCWlmIChpID49IE1BWF9U UllfVElNRVMgfHwNCj4gPj4+PiArCQkJCXZmLT5jbWRfcmV0dmFsICE9DQo+ID4+PiBWSVJUQ0hO TF9TVEFUVVNfU1VDQ0VTUykgew0KPiA+Pj4+ICsJCQkJZXJyID0gLTE7DQo+ID4+Pj4gKwkJCQlQ TURfRFJWX0xPRyhFUlIsICJObyByZXNwb25zZSBvciByZXR1cm4NCj4gPj4+IGZhaWx1cmUgKCVk KSINCj4gPj4+PiArCQkJCQkJIiBmb3IgY21kICVkIiwgdmYtDQo+ID4+Pj4gY21kX3JldHZhbCwg YXJncy0+b3BzKTsNCj4gPj4+PiArCQkJfQ0KPiA+Pj4+ICAJCQlfY2xlYXJfY21kKHZmKTsNCj4g Pj4+PiAtCQkJZXJyID0gLUVJTzsNCj4gPj4+PiAtCQl9IGVsc2UgaWYgKHZmLT5jbWRfcmV0dmFs ID09DQo+ID4+Pj4gLQkJCSAgIFZJUlRDSE5MX1NUQVRVU19FUlJfTk9UX1NVUFBPUlRFRCkgew0K PiA+Pj4+IC0JCQlQTURfRFJWX0xPRyhFUlIsICJDbWQgJWQgbm90IHN1cHBvcnRlZCIsIGFyZ3Mt DQo+ID4+Pj4gb3BzKTsNCj4gPj4+PiAtCQkJZXJyID0gLUVOT1RTVVA7DQo+ID4+Pj4gLQkJfSBl bHNlIGlmICh2Zi0+Y21kX3JldHZhbCAhPSBWSVJUQ0hOTF9TVEFUVVNfU1VDQ0VTUykgew0KPiA+ Pj4+IC0JCQlQTURfRFJWX0xPRyhFUlIsICJSZXR1cm4gZmFpbHVyZSAlZCBmb3IgY21kICVkIiwN Cj4gPj4+PiAtCQkJCSAgICB2Zi0+Y21kX3JldHZhbCwgYXJncy0+b3BzKTsNCj4gPj4+PiAtCQkJ ZXJyID0gLUVJTlZBTDsNCj4gPj4+PiArCQl9IGVsc2Ugew0KPiA+Pj4+ICsJCQkvKiBGb3Igb3Ro ZXIgdmlydGNobmwgb3BzIGluIHJ1bm5pbmcgdGltZSwNCj4gPj4+PiArCQkJICogd2FpdCBmb3Ig dGhlIGNtZCBkb25lIGZsYWcuDQo+ID4+Pj4gKwkJCSAqLw0KPiA+Pj4+ICsJCQlkbyB7DQo+ID4+ Pj4gKwkJCQlpZiAodmYtPnBlbmRfY21kID09DQo+ID4+PiBWSVJUQ0hOTF9PUF9VTktOT1dOKQ0K PiA+Pj4+ICsJCQkJCWJyZWFrOw0KPiA+Pj4+ICsJCQkJaWF2Zl9tc2VjX2RlbGF5KEFTUV9ERUxB WV9NUyk7DQo+ID4+Pj4gKwkJCQkvKiBJZiBkb24ndCByZWFkIG1zZyBvciByZWFkIHN5cyBldmVu dCwNCj4gPj4+IGNvbnRpbnVlICovDQo+ID4+Pj4gKwkJCX0gd2hpbGUgKGkrKyA8IE1BWF9UUllf VElNRVMpOw0KPiA+Pj4+ICsNCj4gPj4+PiArCQkJaWYgKGkgPj0gTUFYX1RSWV9USU1FUykgew0K PiA+Pj4+ICsJCQkJUE1EX0RSVl9MT0coRVJSLCAiTm8gcmVzcG9uc2UgZm9yDQo+ID4+PiBjbWQg JWQiLCBhcmdzLT5vcHMpOw0KPiA+Pj4+ICsJCQkJX2NsZWFyX2NtZCh2Zik7DQo+ID4+Pj4gKwkJ CQllcnIgPSAtRUlPOw0KPiA+Pj4+ICsJCQl9IGVsc2UgaWYgKHZmLT5jbWRfcmV0dmFsID09DQo+ ID4+Pj4gKwkJCQlWSVJUQ0hOTF9TVEFUVVNfRVJSX05PVF9TVVBQT1JURUQpIHsNCj4gPj4+PiAr CQkJCVBNRF9EUlZfTE9HKEVSUiwgIkNtZCAlZCBub3QNCj4gPj4+IHN1cHBvcnRlZCIsIGFyZ3Mt Pm9wcyk7DQo+ID4+Pj4gKwkJCQllcnIgPSAtRU5PVFNVUDsNCj4gPj4+PiArCQkJfSBlbHNlIGlm ICh2Zi0+Y21kX3JldHZhbCAhPQ0KPiA+Pj4gVklSVENITkxfU1RBVFVTX1NVQ0NFU1MpIHsNCj4g Pj4+PiArCQkJCVBNRF9EUlZfTE9HKEVSUiwgIlJldHVybiBmYWlsdXJlICVkIGZvcg0KPiA+Pj4g Y21kICVkIiwNCj4gPj4+PiArCQkJCQkJdmYtPmNtZF9yZXR2YWwsIGFyZ3MtPm9wcyk7DQo+ID4+ Pj4gKwkJCQllcnIgPSAtRUlOVkFMOw0KPiA+Pj4+ICsJCQl9DQo+ID4+Pj4gIAkJfQ0KPiA+Pj4+ ICAJCWJyZWFrOw0KPiA+Pj4+ICAJfQ0KPiA+Pj4+IEBAIC00MDMsOCArNDI0LDE0IEBAIGlhdmZf ZXhlY3V0ZV92Zl9jbWRfc2FmZShzdHJ1Y3QNCj4gaWF2Zl9hZGFwdGVyDQo+ID4+Pj4gKmFkYXB0 ZXIsICB7DQo+ID4+Pj4gIAlzdHJ1Y3QgaWF2Zl9pbmZvICp2ZiA9IElBVkZfREVWX1BSSVZBVEVf VE9fVkYoYWRhcHRlcik7DQo+ID4+Pj4gIAlpbnQgcmV0Ow0KPiA+Pj4+ICsJaW50IGlzX2ludHJf dGhyZWFkID0gcnRlX3RocmVhZF9pc19pbnRyKCk7DQo+ID4+Pj4NCj4gPj4+PiAtCXJ0ZV9zcGlu bG9ja19sb2NrKCZ2Zi0+YXFfbG9jayk7DQo+ID4+Pj4gKwlpZiAoaXNfaW50cl90aHJlYWQpIHsN Cj4gPj4+PiArCQlpZiAoIXJ0ZV9zcGlubG9ja190cnlsb2NrKCZ2Zi0+YXFfbG9jaykpDQo+ID4+ Pj4gKwkJCXJldHVybiAtRUlPOw0KPiA+Pj4+ICsJfSBlbHNlIHsNCj4gPj4+PiArCQlydGVfc3Bp bmxvY2tfbG9jaygmdmYtPmFxX2xvY2spOw0KPiA+Pj4+ICsJfQ0KPiA+Pj4+ICAJcmV0ID0gaWF2 Zl9leGVjdXRlX3ZmX2NtZChhZGFwdGVyLCBhcmdzLCBhc3luYyk7DQo+ID4+Pj4gIAlydGVfc3Bp bmxvY2tfdW5sb2NrKCZ2Zi0+YXFfbG9jayk7DQo+ID4+Pj4NCj4gPj4NCj4gPg0KDQo=