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 CB7164293E; Fri, 14 Apr 2023 11:07:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ABD1B40144; Fri, 14 Apr 2023 11:07:14 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id C1A08400D5 for ; Fri, 14 Apr 2023 11:07:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681463232; x=1712999232; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=t7w5isqR/SUSjT//ayskIvQuSIpCexatFdyvwuXJZQY=; b=O0acknpdp/B6aPagDZzd//6ZaKL1ZJtC8fseNZ3kfVkceA4Md8ksgmOM rpNgZQmocAB8/IUDzyIAdvSYesBdCeE0v3eKRGAildZrIh3dPrbBtygrd psFP8uWOwrn9Efu6yVBDU+6nYoxoJXzm0gAzsY6XMKjUI/M4Mg24zGWJP 6dR7AWHByJC1+iZ5Sba6UlS79NEga4jVn/3XHtQL9XmGdEw5uoW54nGtH AA+qh91au0AvobkRaZ1zxGh4e1DmzgaDl8tTzBP9ETYSYiqmsGPsCxvMH XDukmalXg48M1e+3r83E8Y8bV+WpKCEv4SJ/5vPphGBdylG8Svi9iGZnj w==; X-IronPort-AV: E=McAfee;i="6600,9927,10679"; a="409620539" X-IronPort-AV: E=Sophos;i="5.99,195,1677571200"; d="scan'208";a="409620539" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2023 02:05:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10679"; a="640049095" X-IronPort-AV: E=Sophos;i="5.99,195,1677571200"; d="scan'208";a="640049095" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga003.jf.intel.com with ESMTP; 14 Apr 2023 02:05:09 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Fri, 14 Apr 2023 02:05:08 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.23; Fri, 14 Apr 2023 02:05:08 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.23 via Frontend Transport; Fri, 14 Apr 2023 02:05:08 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) 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.23; Fri, 14 Apr 2023 02:05:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ewX2slh//DqfAui6dQazA9DvlxCCuMZ3vhRlS1UxyWI9G5WDSk7BLAASdPHqvTpWmJ73R7hxbYsBPz4qqLaz3GtbeXm/j3cTlq9RBh0NFLA/cpwz5pMsdfUZxRdlUiOdDHsGQmCEy+KJgQqEMCArTk5UaE2/6W+hhxo7cQz+whRVxMbwsovouQQcCCYRUbTxnIHcTtUqFxEH1fr5gjQImT6TAjJ7X0z52zPr62E+bima3kdxPdBFHGexIxN1jGYwjRNKFruYmn1G8kL6yQT+MoGSZ8dMp8v76B3gW552Sx+nRzqhACruHwjqNGIYejXARyKmJmTC+XOga23iOirF5w== 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=t7w5isqR/SUSjT//ayskIvQuSIpCexatFdyvwuXJZQY=; b=BVzZa3C0yOoSmVoHsbsaTwX6kjqJ17HsURDUcpNrGzXIuaFazglXWRA0s8c8dy4Ps14Q7/mdwz9zJ8ko76BGBduKiQrZospW7F1zWxU2/ONSqChYRTKmyepEn/JeraLJO3GeqRkCBC67SNqIqKSGb4KQVUKlC8wdvwi1Cdw/0OdJgxutmn2EfOjLwBijxr9AJ9saeE53WTSOjDBtpQ5cEonOAqdBqX3GznrkQ+xzOFkoQ11N/kcERPTOcir+X1ana03Q3o+WQvXYlp+SVLtIHOoThvw+2f6NOViUueQ5xcs+asKJ8NXIp7w2nav1aLokQxtrHJXsH4wD7n1dFrn/bw== 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 DM6PR11MB3723.namprd11.prod.outlook.com (2603:10b6:5:13f::25) by CH3PR11MB8314.namprd11.prod.outlook.com (2603:10b6:610:170::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Fri, 14 Apr 2023 09:05:05 +0000 Received: from DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::1ec3:4700:3052:76b4]) by DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::1ec3:4700:3052:76b4%6]) with mapi id 15.20.6298.030; Fri, 14 Apr 2023 09:05:05 +0000 From: "Guo, Junfeng" To: Rushil Gupta , "ferruh.yigit@amd.com" , "Zhang, Qi Z" , "Wu, Jingjing" CC: "joshwash@google.com" , "dev@dpdk.org" , Jeroen de Borst Subject: RE: [PATCH] net/gve: Check whether the driver is compatible with the device presented. Thread-Topic: [PATCH] net/gve: Check whether the driver is compatible with the device presented. Thread-Index: AQHZbpArviNNLJ7aPEaPJLEy6wzaQK8qfyYw Date: Fri, 14 Apr 2023 09:05:05 +0000 Message-ID: References: <20230414051454.1245936-1-rushilg@google.com> In-Reply-To: <20230414051454.1245936-1-rushilg@google.com> 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: DM6PR11MB3723:EE_|CH3PR11MB8314:EE_ x-ms-office365-filtering-correlation-id: 69d546cd-c693-42b9-6d94-08db3cc756c2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ImwP//wf3W5eKCBBAc9UVQJEptUIG8XMf57l/8XcvrRLPCaQ+OhXZVUjZ3oPLuiU8eSbYayGsvxRFkaOG0Ntmj9m3BsCDjluWlUiX/eNnX3G62sC0ET0HURYIumpnrbkTtToaMX0K9QkQEyKd5ojRaZsWo+PqfOAB8otHE6Of2j36RywJuR/x3B0QJweuF09FZCyZTpdcSPc7GvtuLyQpjjtK3UZQMrDWbDF5awLmygn56+v1Brnn1gsSN4IdfoDfc0r16n74P1/oZQZofM90Ulmr/YT3/jUPHM+HySUC9cP+x1beZpnHtUCoikkbLrHduoJre8PMH+k/tUPPGMvT26dBDeTm9fJ+x8ABIX35A6ytUcP2NBtUohv/EERQuVu66ik/m7RkMLZnZEulk5Wnps4w1TfL7q6eJQCZ1sewhqsk/wwYKTy+FXD2GRIY/KaklNaOXMPJHuzLcthT/HHBisMukWmPOXdHsuqQ3LsNDqaUe3j0WrZQIta7DaEKfoTABL1m/RpbaXc2vpMGYnZUbb3AgMGPaVLCue0OV7HBGPJGxqxShKJDZ9ZddVUPyfm612YBnfRNw2r9+hSzVCpYU3cOTxf+xUjsd/OwxOQ/9GsC/C7KXjQ+OdCRdaVq1y1/w/g7Y1dT/sOV47KIlmf8w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3723.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(366004)(346002)(376002)(39860400002)(396003)(136003)(451199021)(54906003)(2906002)(26005)(478600001)(53546011)(52536014)(8936002)(6636002)(38100700002)(30864003)(122000001)(966005)(38070700005)(6506007)(82960400001)(9686003)(83380400001)(186003)(5660300002)(55016003)(86362001)(66476007)(64756008)(76116006)(33656002)(66446008)(4326008)(66556008)(8676002)(66946007)(110136005)(316002)(71200400001)(7696005)(41300700001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MHFHa0JLR04vY0JVV3IvUkdUeEpZRjFwR0RRNE15ZHE3OGl2bkJma2RORS9o?= =?utf-8?B?eEpuc2FsWDdiU1JoZzBpQWllZHIwbCtqZWVmallQWHlGb3dpYi95dlVSZWVE?= =?utf-8?B?NHJkM1lyV1Yvc2lQUUZoVVhGK3dHZnJncCtPYkFDejVleDNYTG9RQ3J2QnA1?= =?utf-8?B?MncyOXgzaHNrTTJEbUlaaE9saW8xZWthY0FGM3RHUlJMVGt1aEF5TTQ0SC93?= =?utf-8?B?SC91dmJWamJyZTJMMk0ydDFRR2VYeGh3Qktqc1o1cmNpVmNsL0RmQmxOR1Zt?= =?utf-8?B?K0h5aG5oVDF2TDk5Zks5aitvN2dRcGxTSk9kVjl4NzdDekJpcUtqY1ZOdmEw?= =?utf-8?B?YmFyWlU3eE11SDJnOFIwK3JEd3ZZdW5uVmxqUFR3SXlyOGZpRVhZT1BKaE1J?= =?utf-8?B?bkhQdmpleUhwSWk4WC81Uk9FNHM2d01ZYmlwUU41bjJLeWJmYm9RQnU3aThh?= =?utf-8?B?V0ZhLzRreDhRbit4T2NLcFRVYTBaQVVub1FWRkJpT0ZiaHBBWndKUkVuNTR3?= =?utf-8?B?Z2Jac0N0RiswRnczQkFaNEdvOTI3QmhPaFpNS0RpZEt2cmw2MVVlUGlHTUdV?= =?utf-8?B?UmRoYklWaTRPVkoySzU1ZG0yUnZ5RXp0RCsyaXhUT1FvaXEvbGkrU1RWQVFF?= =?utf-8?B?RVZsVHpJUTRITFVkY0F2Qjd0OW43U25yUGY1OS9oK2RBTXJiTm4veE56bDNx?= =?utf-8?B?b2k0eU5GTndnUnNpTTNDQzVCWlVyNGl6WHdjQXROcGw0N3crRzZCR2xDa09s?= =?utf-8?B?RDlRY05BNU9GZ2RmVXJZTS9hbUh6cEN1eExTM1JneWV3b284SUNrd2Rmd2o1?= =?utf-8?B?dUtESC9XMDV2ZmpXUFM5YTBQekJlSGFZZndSS0k0UEhIM01TOUE4a0MrQlph?= =?utf-8?B?dktMWGJpSU5jUjg4VktidHlSUTREcVNhTXB2dGNHMUxHaHhTT2diTSsyTTYz?= =?utf-8?B?SGdXVG9hQUh4TktNbDUwa1VETXJTeHNVOXg5ZnhUVDlPcDBYN0VYWFpTNkxL?= =?utf-8?B?OTg4eGpuaHN2UFNTdkxOVjdNNlBXMEE0QjVEYjJPZWk3TE9wd1lUd0lQK2ZI?= =?utf-8?B?bk44dzl4UXJDdjdCVUhIRm1mcFBSRm5HY2lWVmROd3hkeG5oOHRWMHNHSHc4?= =?utf-8?B?VnVpdHRyTnhDb3NwTTFPbnQrOElEallMUWVLbzdNVUp5bThab0FwVG80Z2w2?= =?utf-8?B?TGFacUFzSU9kRVB1VkcvTUx0aFdWckRCcStGYWJvVW1BY2NBbGkzSkZmeU9Z?= =?utf-8?B?dmNXdHZPYUV1cUYyb2t2Z25rNWFxTVpoQTJuSEF2ZitCci9kR0FjMWhqcW5j?= =?utf-8?B?Wm54MHFiY012REhwVmYzeDhqcGFTNXNFMDBWZlk5dHYvVURWeTlpNkJHNk0r?= =?utf-8?B?Yjc0MGs2Q24xTUFDbXJ6NGI0blRHRWN4bmJCZm54WDY2ZzlSd0lYa3JSbENj?= =?utf-8?B?NmFZRFhQWCs5VkN3ZFBNU3RYVTFtWmZ6YUthaTdTcEFpUXhBRDBEWmd2OStG?= =?utf-8?B?c05ZVEpKb09vMlVnK05ZUGRPakp2TEZXVklQRXZHWnBQM1l3RU9NdEpBVkJD?= =?utf-8?B?ZktFQ09YYnZDcmg4a2F4dDFKZVk0K2hSWVlYWTI4VE5tS3FkUlpkSXJkOWFv?= =?utf-8?B?WjJjNDR3emRqbUFOYzhISENsUC9uVjIxTWQrN1BTdVZmNEJOaCs3NEd4V2FI?= =?utf-8?B?ekYrUm83azh4ZE1MZ2UybStLT042WWdLNEhGc1VvaHFTbFFpRTBRUmp1YjFV?= =?utf-8?B?N213STNRVExFTk5FYkl6Z25xQUIwVHE3bTRIZHFrT1VjZEExNUU3cHlrZ1JS?= =?utf-8?B?bnRSc0U0bzFXR1cxQzI1QmhPSTd1Ykx3aGZVMVNLamxjaVM3Tk5qMmttemw1?= =?utf-8?B?dGgzTW51Ty90WjhUckluSUNCVFFqZHArbWpkRW5DMGFhcmhoWlF6TlhVdEZQ?= =?utf-8?B?R3A0MnF6enY1N1htVTQzR2Y3aGI0bW1DY1BuR3UxNmdNWXNHQ1V4MUZPeHZm?= =?utf-8?B?V051dG1RZU5wU0U3Znl6dk92RFlYbTFpMWZDWUNwZDliRG5tRUpyd09ZMkRj?= =?utf-8?B?elV0TWJtanZ2YTA5ell5VGcyVlJ6Rmo5OUVIVy93V21uYUFDcEIyNEkvbVdk?= =?utf-8?Q?dHMGbUYF2p9wf38wBxYlohPOO?= 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: DM6PR11MB3723.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69d546cd-c693-42b9-6d94-08db3cc756c2 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2023 09:05:05.4712 (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: JwntogxgRw13dn81wSqyqU/9OZ+d7lR4hMhhkS+MutoX/Z94fVvP9MOa/ppakZelXmStDb8vv2Wr+wTGKpMPYA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8314 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 SGkgRmVycnVoLA0KDQpIZXJlIGlzIHRoZSBzdW1tYXJ5IG9mIHRoZSBkZXBlbmRlbmN5IG9mIHJl bGF0ZWQgcGF0Y2hlczoNCg0KUDE6IG5lY2Vzc2FyeSBoZWFkZXJzIHVwZGF0ZQ0KICAgIGh0dHBz Oi8vcGF0Y2h3b3JrLmRwZGsub3JnL3Byb2plY3QvZHBkay9saXN0Lz9zZXJpZXM9Mjc2NDcmc3Rh dGU9Kg0KUDI6IG1pbm9yIHVwZGF0ZSBmb3IgYmFzZSBjb2RlDQogICAgaHR0cHM6Ly9wYXRjaHdv cmsuZHBkay5vcmcvcHJvamVjdC9kcGRrL2xpc3QvP3Nlcmllcz0yNzY1MyZzdGF0ZT0qDQpQMzog Z3ZlIFBNRCBlbmhhbmNlbWVudA0KICAgIGh0dHBzOi8vcGF0Y2h3b3JrLmRwZGsub3JnL3Byb2pl Y3QvZHBkay9saXN0Lz9zZXJpZXM9Mjc2ODcmc3RhdGU9Kg0KUDQ6IGFkZCBuZXcgQWRtaW5RIGNt ZCB0byB2ZXJpZnkgZHJ2IGNhcA0KICAgIGh0dHBzOi8vcGF0Y2h3b3JrLmRwZGsub3JnL3Byb2pl Y3QvZHBkay9saXN0Lz9zZXJpZXM9Mjc3MDMmc3RhdGU9Kg0KDQpUaGUgbWVyZ2luZyBvcmRlciBj b3VsZCBiZTogUDEgPiBQMiA+IFAzID4gUDQsIGR1ZSB0byB0aGUgZGVwZW5kZW5jeS4NCkp1c3Qg dG8gaW5mb3JtIHlvdSBhYm91dCB0aGlzIGhlcmUuIFRoYW5rcyBmb3IgdGhlIHJldmlldyENCg0K UmVnYXJkcywNCkp1bmZlbmcNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBSdXNoaWwgR3VwdGEgPHJ1c2hpbGdAZ29vZ2xlLmNvbT4NCj4gU2VudDogRnJpZGF5LCBBcHJp bCAxNCwgMjAyMyAxMzoxNQ0KPiBUbzogZmVycnVoLnlpZ2l0QGFtZC5jb207IFpoYW5nLCBRaSBa IDxxaS56LnpoYW5nQGludGVsLmNvbT47IFd1LA0KPiBKaW5namluZyA8amluZ2ppbmcud3VAaW50 ZWwuY29tPg0KPiBDYzogR3VvLCBKdW5mZW5nIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+OyBqb3No d2FzaEBnb29nbGUuY29tOw0KPiBkZXZAZHBkay5vcmc7IFJ1c2hpbCBHdXB0YSA8cnVzaGlsZ0Bn b29nbGUuY29tPjsgSmVyb2VuIGRlIEJvcnN0DQo+IDxqZXJvZW5kYkBnb29nbGUuY29tPg0KPiBT dWJqZWN0OiBbUEFUQ0hdIG5ldC9ndmU6IENoZWNrIHdoZXRoZXIgdGhlIGRyaXZlciBpcyBjb21w YXRpYmxlIHdpdGgNCj4gdGhlIGRldmljZSBwcmVzZW50ZWQuDQo+IA0KPiBDaGFuZ2UgZ3ZlX2Ry aXZlcl9pbmZvIGZpZWxkcyB0byByZXBvcnQgRFBESyBhcyBPUyB0eXBlIGFuZCBEUERLIFJURQ0K PiB2ZXJzaW9uIGFzIE9TIHZlcnNpb24sIHJlc2VydmluZyBkcml2ZXJfdmVyc2lvbiBmaWVsZHMg Zm9yIEdWRSBkcml2ZXINCj4gdmVyc2lvbiBiYXNlZCBvbiBmZWF0dXJlcy4NCj4gDQo+IFRoaXMg cGF0Y2ggaXMgZGVwZW5kZW50IG9uDQo+IGh0dHBzOi8vcGF0Y2h3b3JrLmRwZGsub3JnL3Byb2pl Y3QvZHBkay9saXN0Lz9zZXJpZXM9Mjc2ODcmc3RhdGU9Kg0KPiANCj4gU2lnbmVkLW9mZi1ieTog UnVzaGlsIEd1cHRhIDxydXNoaWxnQGdvb2dsZS5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEpvc2h1 YSBXYXNoaW5ndG9uIDxqb3Nod2FzaEBnb29nbGUuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBKdW5m ZW5nIEd1byA8anVuZmVuZy5ndW9AaW50ZWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBKZXJvZW4g ZGUgQm9yc3QgPGplcm9lbmRiQGdvb2dsZS5jb20+DQo+IC0tLQ0KPiAgZHJpdmVycy9uZXQvZ3Zl L2Jhc2UvZ3ZlLmggICAgICAgIHwgIDMgLS0NCj4gIGRyaXZlcnMvbmV0L2d2ZS9iYXNlL2d2ZV9h ZG1pbnEuYyB8IDE5ICsrKysrKysrKw0KPiAgZHJpdmVycy9uZXQvZ3ZlL2Jhc2UvZ3ZlX2FkbWlu cS5oIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKy0NCj4gIGRyaXZlcnMvbmV0L2d2ZS9iYXNl L2d2ZV9vc2RlcC5oICB8IDM2ICsrKysrKysrKysrKysrKysrDQo+ICBkcml2ZXJzL25ldC9ndmUv Z3ZlX2V0aGRldi5jICAgICAgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0NCj4g LQ0KPiAgZHJpdmVycy9uZXQvZ3ZlL2d2ZV9ldGhkZXYuaCAgICAgIHwgIDIgKy0NCj4gIGRyaXZl cnMvbmV0L2d2ZS9ndmVfdmVyc2lvbi5jICAgICB8IDE0ICsrKysrKysNCj4gIGRyaXZlcnMvbmV0 L2d2ZS9ndmVfdmVyc2lvbi5oICAgICB8IDI1ICsrKysrKysrKysrKw0KPiAgZHJpdmVycy9uZXQv Z3ZlL21lc29uLmJ1aWxkICAgICAgIHwgIDEgKw0KPiAgOSBmaWxlcyBjaGFuZ2VkLCAxOTggaW5z ZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9uZXQvZ3ZlL2d2ZV92ZXJzaW9uLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25l dC9ndmUvZ3ZlX3ZlcnNpb24uaA0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2d2ZS9i YXNlL2d2ZS5oIGIvZHJpdmVycy9uZXQvZ3ZlL2Jhc2UvZ3ZlLmgNCj4gaW5kZXggMmRjNDUwN2Fj Yi4uODlmOTY1NGE3MiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvZ3ZlL2Jhc2UvZ3ZlLmgN Cj4gKysrIGIvZHJpdmVycy9uZXQvZ3ZlL2Jhc2UvZ3ZlLmgNCj4gQEAgLTgsOSArOCw2IEBADQo+ IA0KPiAgI2luY2x1ZGUgImd2ZV9kZXNjLmgiDQo+IA0KPiAtI2RlZmluZSBHVkVfVkVSU0lPTgkJ IjEuMy4wIg0KPiAtI2RlZmluZSBHVkVfVkVSU0lPTl9QUkVGSVgJIkdWRS0iDQo+IC0NCj4gICNp Zm5kZWYgR09PR0xFX1ZFTkRPUl9JRA0KPiAgI2RlZmluZSBHT09HTEVfVkVORE9SX0lECTB4MWFl MA0KPiAgI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ndmUvYmFzZS9ndmVfYWRt aW5xLmMNCj4gYi9kcml2ZXJzL25ldC9ndmUvYmFzZS9ndmVfYWRtaW5xLmMNCj4gaW5kZXggZTc0 NWI3MDliMi4uMmU1MDk5YTViMCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvZ3ZlL2Jhc2Uv Z3ZlX2FkbWlucS5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2d2ZS9iYXNlL2d2ZV9hZG1pbnEuYw0K PiBAQCAtNDAxLDYgKzQwMSw5IEBAIHN0YXRpYyBpbnQgZ3ZlX2FkbWlucV9pc3N1ZV9jbWQoc3Ry dWN0IGd2ZV9wcml2DQo+ICpwcml2LA0KPiAgCWNhc2UgR1ZFX0FETUlOUV9HRVRfUFRZUEVfTUFQ Og0KPiAgCQlwcml2LT5hZG1pbnFfZ2V0X3B0eXBlX21hcF9jbnQrKzsNCj4gIAkJYnJlYWs7DQo+ ICsJY2FzZSBHVkVfQURNSU5RX1ZFUklGWV9EUklWRVJfQ09NUEFUSUJJTElUWToNCj4gKwkJcHJp di0+YWRtaW5xX3ZlcmlmeV9kcml2ZXJfY29tcGF0aWJpbGl0eV9jbnQrKzsNCj4gKwkJYnJlYWs7 DQo+ICAJZGVmYXVsdDoNCj4gIAkJUE1EX0RSVl9MT0coRVJSLCAidW5rbm93biBBUSBjb21tYW5k DQo+IG9wY29kZSAlZCIsIG9wY29kZSk7DQo+ICAJfQ0KPiBAQCAtNDY1LDYgKzQ2OCwyMiBAQCBp bnQNCj4gZ3ZlX2FkbWlucV9jb25maWd1cmVfZGV2aWNlX3Jlc291cmNlcyhzdHJ1Y3QgZ3ZlX3By aXYgKnByaXYsDQo+ICAJcmV0dXJuIGd2ZV9hZG1pbnFfZXhlY3V0ZV9jbWQocHJpdiwgJmNtZCk7 DQo+ICB9DQo+IA0KPiAraW50IGd2ZV9hZG1pbnFfdmVyaWZ5X2RyaXZlcl9jb21wYXRpYmlsaXR5 KHN0cnVjdCBndmVfcHJpdiAqcHJpdiwNCj4gKwkJCQkJICAgdTY0IGRyaXZlcl9pbmZvX2xlbiwN Cj4gKwkJCQkJICAgZG1hX2FkZHJfdCBkcml2ZXJfaW5mb19hZGRyKQ0KPiArew0KPiArCXVuaW9u IGd2ZV9hZG1pbnFfY29tbWFuZCBjbWQ7DQo+ICsNCj4gKwltZW1zZXQoJmNtZCwgMCwgc2l6ZW9m KGNtZCkpOw0KPiArCWNtZC5vcGNvZGUgPQ0KPiBjcHVfdG9fYmUzMihHVkVfQURNSU5RX1ZFUklG WV9EUklWRVJfQ09NUEFUSUJJTElUWSk7DQo+ICsJY21kLnZlcmlmeV9kcml2ZXJfY29tcGF0aWJp bGl0eSA9IChzdHJ1Y3QNCj4gZ3ZlX2FkbWlucV92ZXJpZnlfZHJpdmVyX2NvbXBhdGliaWxpdHkp IHsNCj4gKwkJLmRyaXZlcl9pbmZvX2xlbiA9IGNwdV90b19iZTY0KGRyaXZlcl9pbmZvX2xlbiks DQo+ICsJCS5kcml2ZXJfaW5mb19hZGRyID0gY3B1X3RvX2JlNjQoZHJpdmVyX2luZm9fYWRkciks DQo+ICsJfTsNCj4gKw0KPiArCXJldHVybiBndmVfYWRtaW5xX2V4ZWN1dGVfY21kKHByaXYsICZj bWQpOw0KPiArfQ0KPiArDQo+ICBpbnQgZ3ZlX2FkbWlucV9kZWNvbmZpZ3VyZV9kZXZpY2VfcmVz b3VyY2VzKHN0cnVjdCBndmVfcHJpdiAqcHJpdikNCj4gIHsNCj4gIAl1bmlvbiBndmVfYWRtaW5x X2NvbW1hbmQgY21kOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZ3ZlL2Jhc2UvZ3ZlX2Fk bWlucS5oDQo+IGIvZHJpdmVycy9uZXQvZ3ZlL2Jhc2UvZ3ZlX2FkbWlucS5oDQo+IGluZGV4IDA1 NTUwMTE5ZGUuLmVkYWMzMmYwMzEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2d2ZS9iYXNl L2d2ZV9hZG1pbnEuaA0KPiArKysgYi9kcml2ZXJzL25ldC9ndmUvYmFzZS9ndmVfYWRtaW5xLmgN Cj4gQEAgLTEsNiArMSw2IEBADQo+ICAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUDQo+ ICAgKiBHb29nbGUgVmlydHVhbCBFdGhlcm5ldCAoZ3ZlKSBkcml2ZXINCj4gLSAqIENvcHlyaWdo dCAoQykgMjAxNS0yMDIyIEdvb2dsZSwgSW5jLg0KPiArICogQ29weXJpZ2h0IChDKSAyMDE1LTIw MjMgR29vZ2xlLCBJbmMuDQo+ICAgKi8NCj4gDQo+ICAjaWZuZGVmIF9HVkVfQURNSU5RX0gNCj4g QEAgLTIzLDYgKzIzLDcgQEAgZW51bSBndmVfYWRtaW5xX29wY29kZXMgew0KPiAgCUdWRV9BRE1J TlFfUkVQT1JUX1NUQVRTCQkJPSAweEMsDQo+ICAJR1ZFX0FETUlOUV9SRVBPUlRfTElOS19TUEVF RAkJPSAweEQsDQo+ICAJR1ZFX0FETUlOUV9HRVRfUFRZUEVfTUFQCQk9IDB4RSwNCj4gKwlHVkVf QURNSU5RX1ZFUklGWV9EUklWRVJfQ09NUEFUSUJJTElUWQk9IDB4RiwNCj4gIH07DQo+IA0KPiAg LyogQWRtaW4gcXVldWUgc3RhdHVzIGNvZGVzICovDQo+IEBAIC0xNDUsNiArMTQ2LDQ3IEBAIGVu dW0gZ3ZlX3N1cF9mZWF0dXJlX21hc2sgew0KPiAgfTsNCj4gDQo+ICAjZGVmaW5lIEdWRV9ERVZf T1BUX0xFTl9HUUlfUkFXX0FERFJFU1NJTkcgMHgwDQo+ICtlbnVtIGd2ZV9kcml2ZXJfY2FwYmls aXR5IHsNCj4gKwlndmVfZHJpdmVyX2NhcGFiaWxpdHlfZ3FpX3FwbCA9IDAsDQo+ICsJZ3ZlX2Ry aXZlcl9jYXBhYmlsaXR5X2dxaV9yZGEgPSAxLA0KPiArCWd2ZV9kcml2ZXJfY2FwYWJpbGl0eV9k cW9fcXBsID0gMiwgLyogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgKi8NCj4gKwlndmVfZHJpdmVy X2NhcGFiaWxpdHlfZHFvX3JkYSA9IDMsDQo+ICt9Ow0KPiArDQo+ICsjZGVmaW5lIEdWRV9DQVAx KGEpIEJJVCgoaW50KWEpDQo+ICsjZGVmaW5lIEdWRV9DQVAyKGEpIEJJVCgoKGludClhKSAtIDY0 KQ0KPiArI2RlZmluZSBHVkVfQ0FQMyhhKSBCSVQoKChpbnQpYSkgLSAxMjgpDQo+ICsjZGVmaW5l IEdWRV9DQVA0KGEpIEJJVCgoKGludClhKSAtIDE5MikNCj4gKw0KPiArI2RlZmluZSBHVkVfRFJJ VkVSX0NBUEFCSUxJVFlfRkxBR1MxIFwNCj4gKwkoR1ZFX0NBUDEoZ3ZlX2RyaXZlcl9jYXBhYmls aXR5X2dxaV9xcGwpIHwgXA0KPiArCSBHVkVfQ0FQMShndmVfZHJpdmVyX2NhcGFiaWxpdHlfZ3Fp X3JkYSkgfCBcDQo+ICsJIEdWRV9DQVAxKGd2ZV9kcml2ZXJfY2FwYWJpbGl0eV9kcW9fcmRhKSkN Cj4gKw0KPiArI2RlZmluZSBHVkVfRFJJVkVSX0NBUEFCSUxJVFlfRkxBR1MyIDB4MA0KPiArI2Rl ZmluZSBHVkVfRFJJVkVSX0NBUEFCSUxJVFlfRkxBR1MzIDB4MA0KPiArI2RlZmluZSBHVkVfRFJJ VkVSX0NBUEFCSUxJVFlfRkxBR1M0IDB4MA0KPiArDQo+ICtzdHJ1Y3QgZ3ZlX2RyaXZlcl9pbmZv IHsNCj4gKwl1OCBvc190eXBlOwkvKiAweDA1ID0gRFBESyAqLw0KPiArCXU4IGRyaXZlcl9tYWpv cjsNCj4gKwl1OCBkcml2ZXJfbWlub3I7DQo+ICsJdTggZHJpdmVyX3N1YjsNCj4gKwlfX2JlMzIg b3NfdmVyc2lvbl9tYWpvcjsNCj4gKwlfX2JlMzIgb3NfdmVyc2lvbl9taW5vcjsNCj4gKwlfX2Jl MzIgb3NfdmVyc2lvbl9zdWI7DQo+ICsJX19iZTY0IGRyaXZlcl9jYXBhYmlsaXR5X2ZsYWdzWzRd Ow0KPiArCXU4IG9zX3ZlcnNpb25fc3RyMVtPU19WRVJTSU9OX1NUUkxFTl07DQo+ICsJdTggb3Nf dmVyc2lvbl9zdHIyW09TX1ZFUlNJT05fU1RSTEVOXTsNCj4gK307DQo+ICsNCj4gK3N0cnVjdCBn dmVfYWRtaW5xX3ZlcmlmeV9kcml2ZXJfY29tcGF0aWJpbGl0eSB7DQo+ICsJX19iZTY0IGRyaXZl cl9pbmZvX2xlbjsNCj4gKwlfX2JlNjQgZHJpdmVyX2luZm9fYWRkcjsNCj4gK307DQo+ICsNCj4g K0dWRV9DSEVDS19TVFJVQ1RfTEVOKDE2LCAgZ3ZlX2FkbWlucV92ZXJpZnlfZHJpdmVyX2NvbXBh dGliaWxpdHkpOw0KPiArDQo+IA0KPiAgc3RydWN0IGd2ZV9hZG1pbnFfY29uZmlndXJlX2Rldmlj ZV9yZXNvdXJjZXMgew0KPiAgCV9fYmU2NCBjb3VudGVyX2FycmF5Ow0KPiBAQCAtMzQ1LDYgKzM4 Nyw4IEBAIHVuaW9uIGd2ZV9hZG1pbnFfY29tbWFuZCB7DQo+ICAJCQlzdHJ1Y3QgZ3ZlX2FkbWlu cV9yZXBvcnRfc3RhdHMgcmVwb3J0X3N0YXRzOw0KPiAgCQkJc3RydWN0IGd2ZV9hZG1pbnFfcmVw b3J0X2xpbmtfc3BlZWQNCj4gcmVwb3J0X2xpbmtfc3BlZWQ7DQo+ICAJCQlzdHJ1Y3QgZ3ZlX2Fk bWlucV9nZXRfcHR5cGVfbWFwDQo+IGdldF9wdHlwZV9tYXA7DQo+ICsJCQlzdHJ1Y3QgZ3ZlX2Fk bWlucV92ZXJpZnlfZHJpdmVyX2NvbXBhdGliaWxpdHkNCj4gKwkJCQl2ZXJpZnlfZHJpdmVyX2Nv bXBhdGliaWxpdHk7DQo+ICAJCX07DQo+ICAJfTsNCj4gIAl1OCByZXNlcnZlZFs2NF07DQo+IEBA IC0zNzgsNCArNDIyLDcgQEAgc3RydWN0IGd2ZV9wdHlwZV9sdXQ7DQo+ICBpbnQgZ3ZlX2FkbWlu cV9nZXRfcHR5cGVfbWFwX2RxbyhzdHJ1Y3QgZ3ZlX3ByaXYgKnByaXYsDQo+ICAJCQkJIHN0cnVj dCBndmVfcHR5cGVfbHV0ICpwdHlwZV9sdXQpOw0KPiANCj4gK2ludCBndmVfYWRtaW5xX3Zlcmlm eV9kcml2ZXJfY29tcGF0aWJpbGl0eShzdHJ1Y3QgZ3ZlX3ByaXYgKnByaXYsDQo+ICsJCQkJCSAg IHU2NCBkcml2ZXJfaW5mb19sZW4sDQo+ICsJCQkJCSAgIGRtYV9hZGRyX3QgZHJpdmVyX2luZm9f YWRkcik7DQo+ICAjZW5kaWYgLyogX0dWRV9BRE1JTlFfSCAqLw0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvZ3ZlL2Jhc2UvZ3ZlX29zZGVwLmgNCj4gYi9kcml2ZXJzL25ldC9ndmUvYmFzZS9n dmVfb3NkZXAuaA0KPiBpbmRleCA3Y2I3MzAwMmY0Li5hNWVmYTg1NDNlIDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL25ldC9ndmUvYmFzZS9ndmVfb3NkZXAuaA0KPiArKysgYi9kcml2ZXJzL25ldC9n dmUvYmFzZS9ndmVfb3NkZXAuaA0KPiBAQCAtMjEsOSArMjEsMTQgQEANCj4gICNpbmNsdWRlIDxy dGVfbWFsbG9jLmg+DQo+ICAjaW5jbHVkZSA8cnRlX21lbWNweS5oPg0KPiAgI2luY2x1ZGUgPHJ0 ZV9tZW16b25lLmg+DQo+ICsjaW5jbHVkZSA8cnRlX3ZlcnNpb24uaD4NCj4gDQo+ICAjaW5jbHVk ZSAiLi4vZ3ZlX2xvZ3MuaCINCj4gDQo+ICsjaWZkZWYgX19saW51eF9fDQo+ICsjaW5jbHVkZSA8 c3lzL3V0c25hbWUuaD4NCj4gKyNlbmRpZg0KPiArDQo+ICB0eXBlZGVmIHVpbnQ4X3QgdTg7DQo+ ICB0eXBlZGVmIHVpbnQxNl90IHUxNjsNCj4gIHR5cGVkZWYgdWludDMyX3QgdTMyOw0KPiBAQCAt NjksNiArNzQsMTIgQEAgdHlwZWRlZiBydGVfaW92YV90IGRtYV9hZGRyX3Q7DQo+IA0KPiAgI2Rl ZmluZSBtc2xlZXAobXMpCQlydGVfZGVsYXlfbXMobXMpDQo+IA0KPiArI2RlZmluZSBPU19WRVJT SU9OX1NUUkxFTiAxMjgNCj4gK3N0cnVjdCBvc192ZXJzaW9uX3N0cmluZyB7DQo+ICsJY2hhciBv c192ZXJzaW9uX3N0cjFbT1NfVkVSU0lPTl9TVFJMRU5dOw0KPiArCWNoYXIgb3NfdmVyc2lvbl9z dHIyW09TX1ZFUlNJT05fU1RSTEVOXTsNCj4gK307DQo+ICsNCj4gIC8qIFRoZXNlIG1hY3JvcyBh cmUgdXNlZCB0byBnZW5lcmF0ZSBjb21waWxhdGlvbiBlcnJvcnMgaWYgYQ0KPiBzdHJ1Y3QvdW5p b24NCj4gICAqIGlzIG5vdCBleGFjdGx5IHRoZSBjb3JyZWN0IGxlbmd0aC4gSXQgZ2l2ZXMgYSBk aXZpZGUgYnkgemVybyBlcnJvciBpZg0KPiAgICogdGhlIHN0cnVjdC91bmlvbiBpcyBub3Qgb2Yg dGhlIGNvcnJlY3Qgc2l6ZSwgb3RoZXJ3aXNlIGl0IGNyZWF0ZXMgYW4NCj4gQEAgLTc5LDYgKzkw LDEyIEBAIHR5cGVkZWYgcnRlX2lvdmFfdCBkbWFfYWRkcl90Ow0KPiAgI2RlZmluZSBHVkVfQ0hF Q0tfVU5JT05fTEVOKG4sIFgpIGVudW0NCj4gZ3ZlX3N0YXRpY19hc3NldF9lbnVtXyMjWCBcDQo+ ICAJeyBndmVfc3RhdGljX2Fzc2VydF8jI1ggPSAobikgLyAoKHNpemVvZih1bmlvbiBYKSA9PSAo bikpID8gMSA6IDApIH0NCj4gDQo+ICsjaWZuZGVmIExJTlVYX1ZFUlNJT05fTUFKT1INCj4gKyNk ZWZpbmUgTElOVVhfVkVSU0lPTl9NQUpPUiAoKChMSU5VWF9WRVJTSU9OX0NPREUpID4+IDE2KSAm DQo+IDB4ZmYpDQo+ICsjZGVmaW5lIExJTlVYX1ZFUlNJT05fU1VCTEVWRUwgKCgoTElOVVhfVkVS U0lPTl9DT0RFKSA+PiA4KSAmDQo+IDB4ZmYpDQo+ICsjZGVmaW5lIExJTlVYX1ZFUlNJT05fUEFU Q0hMRVZFTCAoKExJTlVYX1ZFUlNJT05fQ09ERSkgJiAweGZmKQ0KPiArI2VuZGlmDQo+ICsNCj4g IHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHU4DQo+ICByZWFkYih2b2xhdGlsZSB2b2lkICph ZGRyKQ0KPiAgew0KPiBAQCAtMTU2LDQgKzE3MywyMyBAQCBndmVfZnJlZV9kbWFfbWVtKHN0cnVj dCBndmVfZG1hX21lbQ0KPiAqbWVtKQ0KPiAgCW1lbS0+cGEgPSAwOw0KPiAgfQ0KPiANCj4gK3N0 YXRpYyBpbmxpbmUgdm9pZA0KPiArcG9wdWxhdGVfZHJpdmVyX3ZlcnNpb25fc3RyaW5ncyhzdHJ1 Y3Qgb3NfdmVyc2lvbl9zdHJpbmcNCj4gKm9zX3ZlcnNpb25fc3RyKQ0KPiArew0KPiArI2lmZGVm IF9fbGludXhfXw0KPiArCXN0cnVjdCB1dHNuYW1lIHV0czsNCj4gKwlpZiAodW5hbWUoJnV0cykg Pj0gMCkgew0KPiArCQkvKiByZWxlYXNlICovDQo+ICsJCXJ0ZV9zdHJzY3B5KG9zX3ZlcnNpb25f c3RyLT5vc192ZXJzaW9uX3N0cjEsIHV0cy5yZWxlYXNlLA0KPiArCQkJc2l6ZW9mKG9zX3ZlcnNp b25fc3RyLT5vc192ZXJzaW9uX3N0cjEpKTsNCj4gKwkJLyogdmVyc2lvbiAqLw0KPiArCQlydGVf c3Ryc2NweShvc192ZXJzaW9uX3N0ci0+b3NfdmVyc2lvbl9zdHIyLCB1dHMudmVyc2lvbiwNCj4g KwkJCXNpemVvZihvc192ZXJzaW9uX3N0ci0+b3NfdmVyc2lvbl9zdHIyKSk7DQo+ICsJfQ0KPiAr I2Vsc2UNCj4gKwkvKiBnVk5JQyBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBvbiBPUyBsaWtl IEZyZWVCU0QgKi8NCj4gKwlSVEVfU0VUX1VTRUQob3NfdmVyc2lvbl9zdHIpOw0KPiArI2VuZGlm DQo+ICt9DQo+ICsNCj4gICNlbmRpZiAvKiBfR1ZFX09TREVQX0hfICovDQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ndmUvZ3ZlX2V0aGRldi5jIGIvZHJpdmVycy9uZXQvZ3ZlL2d2ZV9ldGhk ZXYuYw0KPiBpbmRleCBjZjI4YTRhM2I3Li4xZDZlMTM0ZmZmIDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL25ldC9ndmUvZ3ZlX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2d2ZS9ndmVfZXRo ZGV2LmMNCj4gQEAgLTUsMjEgKzUsMTMgQEANCj4gICNpbmNsdWRlICJndmVfZXRoZGV2LmgiDQo+ ICAjaW5jbHVkZSAiYmFzZS9ndmVfYWRtaW5xLmgiDQo+ICAjaW5jbHVkZSAiYmFzZS9ndmVfcmVn aXN0ZXIuaCINCj4gLQ0KPiAtY29uc3QgY2hhciBndmVfdmVyc2lvbl9zdHJbXSA9IEdWRV9WRVJT SU9OOw0KPiAtc3RhdGljIGNvbnN0IGNoYXIgZ3ZlX3ZlcnNpb25fcHJlZml4W10gPSBHVkVfVkVS U0lPTl9QUkVGSVg7DQo+ICsjaW5jbHVkZSAiYmFzZS9ndmVfb3NkZXAuaCINCj4gKyNpbmNsdWRl ICJndmVfdmVyc2lvbi5oIg0KPiANCj4gIHN0YXRpYyB2b2lkDQo+ICBndmVfd3JpdGVfdmVyc2lv bih1aW50OF90ICpkcml2ZXJfdmVyc2lvbl9yZWdpc3RlcikNCj4gIHsNCj4gLQljb25zdCBjaGFy ICpjID0gZ3ZlX3ZlcnNpb25fcHJlZml4Ow0KPiAtDQo+IC0Jd2hpbGUgKCpjKSB7DQo+IC0JCXdy aXRlYigqYywgZHJpdmVyX3ZlcnNpb25fcmVnaXN0ZXIpOw0KPiAtCQljKys7DQo+IC0JfQ0KPiAt DQo+IC0JYyA9IGd2ZV92ZXJzaW9uX3N0cjsNCj4gKwljb25zdCBjaGFyICpjID0gZ3ZlX3ZlcnNp b25fc3RyaW5nKCk7DQo+ICAJd2hpbGUgKCpjKSB7DQo+ICAJCXdyaXRlYigqYywgZHJpdmVyX3Zl cnNpb25fcmVnaXN0ZXIpOw0KPiAgCQljKys7DQo+IEBAIC0yNjUsNiArMjU3LDUyIEBAIGd2ZV9k ZXZfY2xvc2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAJcmV0dXJuIGVycjsNCj4gIH0N Cj4gDQo+ICtzdGF0aWMgaW50DQo+ICtndmVfdmVyaWZ5X2RyaXZlcl9jb21wYXRpYmlsaXR5KHN0 cnVjdCBndmVfcHJpdiAqcHJpdikNCj4gK3sNCj4gKwljb25zdCBzdHJ1Y3QgcnRlX21lbXpvbmUg KmRyaXZlcl9pbmZvX2J1czsNCj4gKwlzdHJ1Y3QgZ3ZlX2RyaXZlcl9pbmZvICpkcml2ZXJfaW5m bzsNCj4gKwlpbnQgZXJyOw0KPiArDQo+ICsJZHJpdmVyX2luZm9fYnVzID0NCj4gcnRlX21lbXpv bmVfcmVzZXJ2ZV9hbGlnbmVkKCJ2ZXJpZnlfZHJpdmVyX2NvbXBhdGliaWxpdHkiLA0KPiArCQkJ CQkJICAgICAgc2l6ZW9mKHN0cnVjdA0KPiBndmVfZHJpdmVyX2luZm8pLA0KPiArCQkJCQkJICAg ICAgcnRlX3NvY2tldF9pZCgpLA0KPiArDQo+IFJURV9NRU1aT05FX0lPVkFfQ09OVElHLCBQQUdF X1NJWkUpOw0KPiArCWlmIChkcml2ZXJfaW5mb19idXMgPT0gTlVMTCkgew0KPiArCQlQTURfRFJW X0xPRyhFUlIsDQo+ICsJCQkgICAgIkNvdWxkIG5vdCBhbGxvYyBtZW16b25lIGZvciBkcml2ZXIN Cj4gY29tcGF0aWJpbGl0eSIpOw0KPiArCQlyZXR1cm4gLUVOT01FTTsNCj4gKwl9DQo+ICsJZHJp dmVyX2luZm8gPSAoc3RydWN0IGd2ZV9kcml2ZXJfaW5mbyAqKWRyaXZlcl9pbmZvX2J1cy0+YWRk cjsNCj4gKwkqZHJpdmVyX2luZm8gPSAoc3RydWN0IGd2ZV9kcml2ZXJfaW5mbykgew0KPiArCQku b3NfdHlwZSA9IDUsIC8qIERQREsgKi8NCj4gKwkJLmRyaXZlcl9tYWpvciA9IEdWRV9WRVJTSU9O X01BSk9SLA0KPiArCQkuZHJpdmVyX21pbm9yID0gR1ZFX1ZFUlNJT05fTUlOT1IsDQo+ICsJCS5k cml2ZXJfc3ViID0gR1ZFX1ZFUlNJT05fU1VCLA0KPiArCQkub3NfdmVyc2lvbl9tYWpvciA9DQo+ IGNwdV90b19iZTMyKERQREtfVkVSU0lPTl9NQUpPUiksDQo+ICsJCS5vc192ZXJzaW9uX21pbm9y ID0NCj4gY3B1X3RvX2JlMzIoRFBES19WRVJTSU9OX01JTk9SKSwNCj4gKwkJLm9zX3ZlcnNpb25f c3ViID0gY3B1X3RvX2JlMzIoRFBES19WRVJTSU9OX1NVQiksDQo+ICsJCS5kcml2ZXJfY2FwYWJp bGl0eV9mbGFncyA9IHsNCj4gKwkJCWNwdV90b19iZTY0KEdWRV9EUklWRVJfQ0FQQUJJTElUWV9G TEFHUzEpLA0KPiArCQkJY3B1X3RvX2JlNjQoR1ZFX0RSSVZFUl9DQVBBQklMSVRZX0ZMQUdTMiks DQo+ICsJCQljcHVfdG9fYmU2NChHVkVfRFJJVkVSX0NBUEFCSUxJVFlfRkxBR1MzKSwNCj4gKwkJ CWNwdV90b19iZTY0KEdWRV9EUklWRVJfQ0FQQUJJTElUWV9GTEFHUzQpLA0KPiArCQl9LA0KPiAr CX07DQo+ICsNCj4gKwlwb3B1bGF0ZV9kcml2ZXJfdmVyc2lvbl9zdHJpbmdzKChzdHJ1Y3Qgb3Nf dmVyc2lvbl9zdHJpbmcNCj4gKikmZHJpdmVyX2luZm8tPm9zX3ZlcnNpb25fc3RyMSk7DQo+ICsN Cj4gKwllcnIgPSBndmVfYWRtaW5xX3ZlcmlmeV9kcml2ZXJfY29tcGF0aWJpbGl0eShwcml2LA0K PiArCQlzaXplb2Yoc3RydWN0IGd2ZV9kcml2ZXJfaW5mbyksDQo+IChkbWFfYWRkcl90KWRyaXZl cl9pbmZvX2J1cyk7DQo+ICsNCj4gKwkvKiBJdCdzIG9rIGlmIHRoZSBkZXZpY2UgZG9lc24ndCBz dXBwb3J0IHRoaXMgKi8NCj4gKwlpZiAoZXJyID09IC1FT1BOT1RTVVBQKQ0KPiArCQllcnIgPSAw Ow0KPiArDQo+ICsJcnRlX21lbXpvbmVfZnJlZShkcml2ZXJfaW5mb19idXMpOw0KPiArCXJldHVy biBlcnI7DQo+ICt9DQo+ICsNCj4gIHN0YXRpYyBpbnQNCj4gIGd2ZV9kZXZfaW5mb19nZXQoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBydGVfZXRoX2Rldl9pbmZvDQo+ICpkZXZfaW5m bykNCj4gIHsNCj4gQEAgLTY3Miw2ICs3MTAsMTEgQEAgZ3ZlX2luaXRfcHJpdihzdHJ1Y3QgZ3Zl X3ByaXYgKnByaXYsIGJvb2wNCj4gc2tpcF9kZXNjcmliZV9kZXZpY2UpDQo+ICAJCVBNRF9EUlZf TE9HKEVSUiwgIkZhaWxlZCB0byBhbGxvYyBhZG1pbiBxdWV1ZToNCj4gZXJyPSVkIiwgZXJyKTsN Cj4gIAkJcmV0dXJuIGVycjsNCj4gIAl9DQo+ICsJZXJyID0gZ3ZlX3ZlcmlmeV9kcml2ZXJfY29t cGF0aWJpbGl0eShwcml2KTsNCj4gKwlpZiAoZXJyKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwg IkNvdWxkIG5vdCB2ZXJpZnkgZHJpdmVyDQo+IGNvbXBhdGliaWxpdHk6IGVycj0lZCIsIGVycik7 DQo+ICsJCWdvdG8gZnJlZV9hZG1pbnE7DQo+ICsJfQ0KPiANCj4gIAlpZiAoc2tpcF9kZXNjcmli ZV9kZXZpY2UpDQo+ICAJCWdvdG8gc2V0dXBfZGV2aWNlOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZ3ZlL2d2ZV9ldGhkZXYuaCBiL2RyaXZlcnMvbmV0L2d2ZS9ndmVfZXRoZGV2LmgNCj4g aW5kZXggNDJhMDJjZjVkNC4uMjNjY2ZmMzdkMyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQv Z3ZlL2d2ZV9ldGhkZXYuaA0KPiArKysgYi9kcml2ZXJzL25ldC9ndmUvZ3ZlX2V0aGRldi5oDQo+ IEBAIC0yMjIsNyArMjIyLDcgQEAgc3RydWN0IGd2ZV9wcml2IHsNCj4gIAl1aW50MzJfdCBhZG1p bnFfcmVwb3J0X3N0YXRzX2NudDsNCj4gIAl1aW50MzJfdCBhZG1pbnFfcmVwb3J0X2xpbmtfc3Bl ZWRfY250Ow0KPiAgCXVpbnQzMl90IGFkbWlucV9nZXRfcHR5cGVfbWFwX2NudDsNCj4gLQ0KPiAr CXVpbnQzMl90IGFkbWlucV92ZXJpZnlfZHJpdmVyX2NvbXBhdGliaWxpdHlfY250Ow0KPiAgCXZv bGF0aWxlIHVpbnQzMl90IHN0YXRlX2ZsYWdzOw0KPiANCj4gIAkvKiBHdm5pYyBkZXZpY2UgbGlu ayBzcGVlZCBmcm9tIGh5cGVydmlzb3IuICovDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9n dmUvZ3ZlX3ZlcnNpb24uYw0KPiBiL2RyaXZlcnMvbmV0L2d2ZS9ndmVfdmVyc2lvbi5jDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjdlYWE2ODlkOTANCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9kcml2ZXJzL25ldC9ndmUvZ3ZlX3ZlcnNpb24uYw0KPiBAQCAt MCwwICsxLDE0IEBADQo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUDQo+ICsgKiBH b29nbGUgVmlydHVhbCBFdGhlcm5ldCAoZ3ZlKSBkcml2ZXINCj4gKyAqIENvcHlyaWdodCAoQykg MjAxNS0yMDIzIEdvb2dsZSwgSW5jLg0KPiArICovDQo+ICsjaW5jbHVkZSAiZ3ZlX3ZlcnNpb24u aCINCj4gKw0KPiArY29uc3QgY2hhciAqZ3ZlX3ZlcnNpb25fc3RyaW5nKHZvaWQpDQo+ICt7DQo+ ICsJc3RhdGljIGNoYXIgZ3ZlX3ZlcnNpb25bMTBdOw0KPiArCXNucHJpbnRmKGd2ZV92ZXJzaW9u LCBzaXplb2YoZ3ZlX3ZlcnNpb24pLCAiJXMlZC4lZC4lZCIsDQo+ICsJCUdWRV9WRVJTSU9OX1BS RUZJWCwgR1ZFX1ZFUlNJT05fTUFKT1IsDQo+IEdWRV9WRVJTSU9OX01JTk9SLA0KPiArCQlHVkVf VkVSU0lPTl9TVUIpOw0KPiArCXJldHVybiBndmVfdmVyc2lvbjsNCj4gK30NCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2d2ZS9ndmVfdmVyc2lvbi5oDQo+IGIvZHJpdmVycy9uZXQvZ3ZlL2d2 ZV92ZXJzaW9uLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u OWFmNmEwMDU2OA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2d2ZS9ndmVf dmVyc2lvbi5oDQo+IEBAIC0wLDAgKzEsMjUgQEANCj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBNSVQNCj4gKyAqIEdvb2dsZSBWaXJ0dWFsIEV0aGVybmV0IChndmUpIGRyaXZlcg0KPiAr ICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjMgR29vZ2xlLCBJbmMuDQo+ICsgKi8NCj4gKw0KPiAr I2lmbmRlZiBfR1ZFX1ZFUlNJT05fSF8NCj4gKyNkZWZpbmUgX0dWRV9WRVJTSU9OX0hfDQo+ICsN Cj4gKyNpbmNsdWRlIDxydGVfdmVyc2lvbi5oPg0KPiArDQo+ICsjZGVmaW5lIEdWRV9WRVJTSU9O X1BSRUZJWCAiRFBESy0iDQo+ICsjZGVmaW5lIEdWRV9WRVJTSU9OX01BSk9SIDENCj4gKyNkZWZp bmUgR1ZFX1ZFUlNJT05fTUlOT1IgMA0KPiArI2RlZmluZSBHVkVfVkVSU0lPTl9TVUIgMA0KPiAr DQo+ICsjZGVmaW5lIERQREtfVkVSU0lPTl9NQUpPUiAoMTAwICogUlRFX1ZFUl9ZRUFSICsNCj4g UlRFX1ZFUl9NT05USCkNCj4gKyNkZWZpbmUgRFBES19WRVJTSU9OX01JTk9SIFJURV9WRVJfTUlO T1INCj4gKyNkZWZpbmUgRFBES19WRVJTSU9OX1NVQiBSVEVfVkVSX1JFTEVBU0UNCj4gKw0KPiAr DQo+ICtjb25zdCBjaGFyICoNCj4gK2d2ZV92ZXJzaW9uX3N0cmluZyh2b2lkKTsNCj4gKw0KPiAr DQo+ICsjZW5kaWYgLyogR1ZFX1ZFUlNJT05fSCAqLw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZ3ZlL21lc29uLmJ1aWxkIGIvZHJpdmVycy9uZXQvZ3ZlL21lc29uLmJ1aWxkDQo+IGluZGV4 IGFmMDAxMGMwMWMuLmEzN2M0YmFmYTIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2d2ZS9t ZXNvbi5idWlsZA0KPiArKysgYi9kcml2ZXJzL25ldC9ndmUvbWVzb24uYnVpbGQNCj4gQEAgLTEy LDUgKzEyLDYgQEAgc291cmNlcyA9IGZpbGVzKA0KPiAgICAgICAgICAnZ3ZlX3J4LmMnLA0KPiAg ICAgICAgICAnZ3ZlX3R4LmMnLA0KPiAgICAgICAgICAnZ3ZlX2V0aGRldi5jJywNCj4gKyAgICAg ICAgJ2d2ZV92ZXJzaW9uLmMnLA0KPiAgKQ0KPiAgaW5jbHVkZXMgKz0gaW5jbHVkZV9kaXJlY3Rv cmllcygnYmFzZScpDQo+IC0tDQo+IDIuNDAuMC42MzQuZzRjYTNlZjMyMTEtZ29vZw0KDQo=