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 ACCB4A034F; Fri, 8 Oct 2021 10:49:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2A6E940140; Fri, 8 Oct 2021 10:49:49 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 0BDCA40042 for ; Fri, 8 Oct 2021 10:49:46 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10130"; a="207274538" X-IronPort-AV: E=Sophos;i="5.85,357,1624345200"; d="scan'208";a="207274538" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Oct 2021 01:38:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,357,1624345200"; d="scan'208";a="478898498" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga007.jf.intel.com with ESMTP; 08 Oct 2021 01:38:41 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Fri, 8 Oct 2021 01:38:40 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Fri, 8 Oct 2021 01:38:40 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Fri, 8 Oct 2021 01:38:40 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) 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.2242.12; Fri, 8 Oct 2021 01:38:38 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lbf5jhhSu8/NQmBy5tNbdc8IhXSErBbrjfowuYexB5fdviQ/LWPLc/Ou+NhYhAexS6el+k1JcVoQYm7iWq2Y052X3LwsGe/ajb5ow30fXb0CXd+5MTFv0Jt/5J0Y7EwnD56KMRpkg3ypim8eoBT/IfZnRx8rLNRliesF0NDxAMvVtmXL434S9s0cdqM53bJwWUK4rQqxXQD68F1IxZeUqlNk3sYY5qFX2xOhrXRxFg2tCZBs8hEMRPJAlZ3HO4XLGXa2HApd/c5Qg4xYJD7G3EvflS5Ch4Wle6nfOKMWqGCx7Xfv0yyMpk6iXtEebizRPwXy1xzD+2XWKvqKCzgybw== 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=CLA02eAmB5ivfqhBCXhB8Mdt/lGtW1q8/mHxj3mp9TM=; b=bEVAvUkNi6iKabSq5S9Xqj9LzNHjT+uptTAxVuXo4VWtNyeUzxHKCM+/QqdjpgX562eHbsW6obW2nNuXbGz2RA0U9EktI/E23GEsdlt8vcrz/8Han+yLcKAresZKc2/m/PHpnGWKS0Ls5Wy7S2nJHDSSr349KdLBLjJxQAlabWr6Gk2k1iDLuaf9zCfM2CCJSpybkbADqB9baGXaZ2VFDmH0NddlobRWCelke+WvKe6QV6KL3Z6SP/a75s89zkh1NdphMVrn7ZwAXfascCDbQCj23bBF2oDuzmyn2wHORYwya8cUoZcI+cYTYhg4hl0qmL9qomuAxD+LcS/Q8p2NLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CLA02eAmB5ivfqhBCXhB8Mdt/lGtW1q8/mHxj3mp9TM=; b=xWLCEcjMaKnu6M60HCjzZsS8i+bGsxvt5Kuxi5ADyZhXrZDe6paDbGnEC4GAXkX1n51PUUXPtWQtBO24bZbyBaR1s9bH3FVeoO33aSkUsaWY7SBfAvEj3f0jZwPkuPIEn+PgG5NJaXuzM5myxBfvGtzCKDPZXwx0zy0BOjuT4r8= Received: from BYAPR11MB2901.namprd11.prod.outlook.com (2603:10b6:a03:91::23) by SJ0PR11MB4928.namprd11.prod.outlook.com (2603:10b6:a03:2d2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Fri, 8 Oct 2021 08:38:29 +0000 Received: from BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::954c:3fe0:a7af:7c96]) by BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::954c:3fe0:a7af:7c96%3]) with mapi id 15.20.4566.022; Fri, 8 Oct 2021 08:38:29 +0000 From: "Xu, Rosen" To: "Yigit, Ferruh" , Jerin Jacob , "Li, Xiaoyun" , Ajit Khaparde , Somnath Kotur , Igor Russkikh , Somalapuram Amaranath , Rasesh Mody , Shahed Shaikh , Chas Williams , "Min Hu (Connor)" , Nithin Dabilpuram , "Kiran Kumar K" , Sunil Kumar Kori , Satha Rao , Rahul Lakkireddy , Hemant Agrawal , Sachin Saxena , "Wang, Haiyue" , Marcin Wojtas , Michal Krawczyk , Shai Brandes , Evgeny Schemeilin , Igor Chauskin , Gagandeep Singh , "Daley, John" , Hyong Youb Kim , Gaetan Rivet , "Zhang, Qi Z" , "Wang, Xiao W" , Ziyang Xuan , Xiaoyun Wang , Guoyang Zhou , Yisen Zhuang , Lijun Ou , "Xing, Beilei" , "Wu, Jingjing" , "Yang, Qiming" , Andrew Boyer , "Matan Azrad" , Viacheslav Ovsiienko , Zyta Szpak , Liron Himi , "Heinrich Kuhn" , Harman Kalra , "Nalla Pradeep" , Radha Mohan Chintakuntla , Veerasenareddy Burru , Devendra Singh Rawat , Andrew Rybchenko , Maciej Czekaj , Jiawen Wu , Jian Wang , Maxime Coquelin , "Xia, Chenbo" , Yong Wang , "Ananyev, Konstantin" , "Nicolau, Radu" , Akhil Goyal , "Hunt, David" , "Mcnamara, John" , Thomas Monjalon CC: "dev@dpdk.org" Thread-Topic: [PATCH v4 4/6] ethdev: remove jumbo offload flag Thread-Index: AQHXugzydvXMPaELHEqfGCNeTkXa6avIy3dw Date: Fri, 8 Oct 2021 08:38:29 +0000 Message-ID: References: <20211001143624.3744505-1-ferruh.yigit@intel.com> <20211005171653.3700067-1-ferruh.yigit@intel.com> <20211005171653.3700067-4-ferruh.yigit@intel.com> In-Reply-To: <20211005171653.3700067-4-ferruh.yigit@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTliMTkzZjktNGZmNy00ZGVhLThmZjAtZTU0ODBlYmZlZTI5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoidUxmNWNScUprOFNrd3ZiZVRYSHJBTTlKbWpIQVRQdDBzWlprcHBHWjBcL091NnlZRHJGV2lIR1M2b3p6bTZsUlAifQ== x-ctpclassification: CTP_NT authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6a24047a-5273-481f-b311-08d98a370100 x-ms-traffictypediagnostic: SJ0PR11MB4928: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3xB8ybLhhNZ5OxgiOzGGDoz7s6ufB1h1iDbxsSA+ucXKPza+PLNnDI2/24meA7udZSL/gOqAGyI9k1I/pymjqWcaU0c0imOA/V4KHSSBtFtsPNia4Z0S7556Wda3TtbLN+CnT5AFUhQF0Eps/Ej597rktvrUfPuYkkK/J1oRvnnM6PczMJpDFB+tG4vk2z5R0JbRmGi2CPNyoNOGKpiBjtg4nuUy8lMFiMdokLaUO76dhy9fkYnBsNMJ8KyrimigDrAEeAPogiYLVlFeeKLaKnHBLZhEhQH6j6JZ9LIyiLvlg08/VRyKIYcm1DU9JXTOZeAlfuPRu+8j2pXHpo6446RDHjBJok0h0Tap8kJY+1+jsYcODTbyfeq0gZTvYsfCheDv2QLbJqGe78gZilKI6b67CZbIN4PE+jTXwtoOOOjTllzWvBqKnESohSna6TC3q+wrPvAtVs2iMS3Nr2FwIjkQlrKMypMDTyqFFtNNEc7JtmYMtupvhwJ+LLuWRrZXYvDKcdAvv3vgyScGmhTg+s7M1IjITw/o7OLSL36G1GNMNcn5G+6hKzwAuk4jDUsXbE+XolxOa+5jNBuBXQMC3HwL5MAFmn/namoLzzedv19qgpgKtFD4SxdrS4w3NV/Vi3r/oslwgzCnU7NKAwHk8GMQRhg64jWqG5GqyvKli+tdAY0dO7StSG2FruOQIxO4Reu3Gv28bJSZbEVfF28oLukNAnvajIhIkb77biNiz2FeWirh1/GBvKr9ASqRgWA5 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2901.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(55016002)(9686003)(53546011)(2906002)(83380400001)(6506007)(26005)(33656002)(186003)(64756008)(66556008)(66446008)(66476007)(30864003)(66946007)(86362001)(52536014)(921005)(5660300002)(8676002)(1191002)(76116006)(316002)(4326008)(8936002)(122000001)(110136005)(7696005)(38070700005)(7366002)(7416002)(508600001)(71200400001)(38100700002)(7406005)(559001)(579004)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aStZQWFGcElEV1FBemxVd1ErOXMrY1hwUmJkMlBmQnlXQjU1VUc3RXM4VEg1?= =?utf-8?B?SFlIZmtsTUllbVppREdzSVd4MTVETVdScU1HYjlHdlk2b2FqS1pEWkV5SmMx?= =?utf-8?B?bTFNeElRYWdqWVNmc0dKbnpGSDZodTRPVnEzNVcxc09NY0YwbFJuWEJjVnkz?= =?utf-8?B?Z3RHb0xZNHpoUTNnMHF1U2NtcGRKb0hsRmRhUlJlWUtEcmYwSXA1a1B2ZUlx?= =?utf-8?B?aTczaHhSb0N2dzgyUEg5OHpYN1JkWkoxME9pQWh5QytEZEgvSTdpUjdCcVhz?= =?utf-8?B?NmRYdjVINmlMRVJnbkhBV05uY0RJb3gzd0NPYzFNYmtTOCs3N3cyR1hRZlp6?= =?utf-8?B?akdTc2QwUEVWWGdXa2dzTy92Ui9aUmhzWVhHYXpBVEZwRDhEeWZNYklQcFZK?= =?utf-8?B?UHFTK2poSFlsN2grSWlUQWdRRmt6emJENjRPWDZFR3R6WXlGY2tPTFc2Q25v?= =?utf-8?B?VFpkVjN3Tk5TVi9SN1l0enNOU2JRell1d3FPbUJRbjNjU2hjYmN2UzdpVTFM?= =?utf-8?B?M0pHL1ZnRHM2aVlLcHBPa04rRGxmS3lscXNaVjVVK3FkTk1Vd3NvRUVlTi83?= =?utf-8?B?YXRVV1lRSGZZd1phdml2WnVOMWs5WVRwTlFKNVlCSXNPclRzekJaUmZtVTBU?= =?utf-8?B?UDFhTTZaQmxZWTlFeFRIVHdVbTlJWktLRWZaTS90ZDhSL3RLUVVweUE5VXYy?= =?utf-8?B?YVhlREFnMjA3cEpEUHIzQktmRHJicEc4eE5lTDZWWFd0dWtPM2pRSnh5REpk?= =?utf-8?B?QUl5TFdlcnZxQWZtZlhpUHpqNDQ5SWNkTXNqeklxbWFsNzkwMG5vcHpSUDBm?= =?utf-8?B?WEZYVGNnSnRRU1VHNGFtd3lvMXNOb0xkOGd3RTFHbENwNHBoek1IaHB2VXZX?= =?utf-8?B?ckUyN0JPOGl2UWVVTnVmcEVoa2NiN29COWhqMXFlcjc1RlB1UkdZZGJUVTVR?= =?utf-8?B?NEpJaWgxYnhEelRaTWJNUldsTldwTlRJNldCTkhob2EwL3NNYmd1R2lCb0Nm?= =?utf-8?B?NXdVM1JyR2gxS0MvYjh3WFlwZnkzNUZIaFUrK3pLekJZNUg3d0ZGUEpuV0Zp?= =?utf-8?B?RTNTQ0JKMkVHZkNyK3FFTXZUL3Y2Mmg3eWVhU2JLMjVvRFBJT3pDWGp3MCt3?= =?utf-8?B?UVdGSlc3bjJxOEJQNGtzT2l1M1JjNVRhQ0lodlVtM1BnYnZ5Q0o5bURWZ0hT?= =?utf-8?B?RXBCWjU3L0tIUVFNWk9DL3lOVWNwbkZUZ2NmK0lpVmQza1ZvM0ZSY3NvVWND?= =?utf-8?B?ZG56ZEZqNEF4VkxJZGdYT1BqN3pHc2hUMzQ3KytvckljVHJKRkdDS2NTRHc1?= =?utf-8?B?L1lRaVczblBuTVZMOTZFeEp0OUJXQ3hKdTQ2ckN2cHJURGF0MjNVTGpCck96?= =?utf-8?B?SU83RGIxWlNJTkw2N2JqMmZEd2prYjZMeHBvMG5ySzFPZFlJaEdkamdtYlc3?= =?utf-8?B?LzBMVXdWMnBjNGRZNUg2YThsZTlYbFYrUFlkNVlnRHJ6bVFPUHc5UjNUNjJR?= =?utf-8?B?R1k5Y0lBeVZMaDU4UWs0ME5KdTRRUHlOMVpseHlCb0VxazdKUG1sdXN0MDJR?= =?utf-8?B?M3hkUTN5Q2lEcFpkU014NDZsSk1HOHNlYU1YVzNnV3k1MTVYMGVneEpwRE9m?= =?utf-8?B?RCtUVjdYMk5HcUQ4YjU3L29zdTM1RXEzT0MxZmVUNE1SL04raE1PUzVGREx6?= =?utf-8?B?bk9tdWJBWWJqdXhNanFqYllnVDNTbWxlMUV6cVBBN2VpSjNtRGt2ZmJjaGFh?= =?utf-8?Q?c4s0Ta3G4Faa01sqBWVElreDjHyf5cvLwUXPkCc?= 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: BYAPR11MB2901.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a24047a-5273-481f-b311-08d98a370100 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2021 08:38:29.0655 (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: fUY1V9nQYM725hKbd6E9/JipJlR+jjnrz3pX3S2fPzcqOc0PiXE/ADIbFddInqiS2bh47D0KXDpy5PYrefUFSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4928 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 4/6] ethdev: remove jumbo offload flag 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 Sender: "dev" SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWWlnaXQsIEZlcnJ1 aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDA2 LCAyMDIxIDE6MTcNCj4gVG86IEplcmluIEphY29iIDxqZXJpbmpAbWFydmVsbC5jb20+OyBMaSwg WGlhb3l1biA8eGlhb3l1bi5saUBpbnRlbC5jb20+Ow0KPiBBaml0IEtoYXBhcmRlIDxhaml0Lmto YXBhcmRlQGJyb2FkY29tLmNvbT47IFNvbW5hdGggS290dXINCj4gPHNvbW5hdGgua290dXJAYnJv YWRjb20uY29tPjsgSWdvciBSdXNza2lraCA8aXJ1c3NraWtoQG1hcnZlbGwuY29tPjsNCj4gU29t YWxhcHVyYW0gQW1hcmFuYXRoIDxhc29tYWxhcEBhbWQuY29tPjsgUmFzZXNoIE1vZHkNCj4gPHJt b2R5QG1hcnZlbGwuY29tPjsgU2hhaGVkIFNoYWlraCA8c2hzaGFpa2hAbWFydmVsbC5jb20+OyBD aGFzDQo+IFdpbGxpYW1zIDxjaGFzM0BhdHQuY29tPjsgTWluIEh1IChDb25ub3IpIDxodW1pbjI5 QGh1YXdlaS5jb20+Ow0KPiBOaXRoaW4gRGFiaWxwdXJhbSA8bmRhYmlscHVyYW1AbWFydmVsbC5j b20+OyBLaXJhbiBLdW1hciBLDQo+IDxraXJhbmt1bWFya0BtYXJ2ZWxsLmNvbT47IFN1bmlsIEt1 bWFyIEtvcmkgPHNrb3JpQG1hcnZlbGwuY29tPjsgU2F0aGENCj4gUmFvIDxza290ZXNod2FyQG1h cnZlbGwuY29tPjsgUmFodWwgTGFra2lyZWRkeQ0KPiA8cmFodWwubGFra2lyZWRkeUBjaGVsc2lv LmNvbT47IEhlbWFudCBBZ3Jhd2FsDQo+IDxoZW1hbnQuYWdyYXdhbEBueHAuY29tPjsgU2FjaGlu IFNheGVuYSA8c2FjaGluLnNheGVuYUBvc3MubnhwLmNvbT47DQo+IFdhbmcsIEhhaXl1ZSA8aGFp eXVlLndhbmdAaW50ZWwuY29tPjsgTWFyY2luIFdvanRhcw0KPiA8bXdAc2VtaWhhbGYuY29tPjsg TWljaGFsIEtyYXdjenlrIDxta0BzZW1paGFsZi5jb20+OyBTaGFpIEJyYW5kZXMNCj4gPHNoYWli cmFuQGFtYXpvbi5jb20+OyBFdmdlbnkgU2NoZW1laWxpbiA8ZXZnZW55c0BhbWF6b24uY29tPjsg SWdvcg0KPiBDaGF1c2tpbiA8aWdvcmNoQGFtYXpvbi5jb20+OyBHYWdhbmRlZXAgU2luZ2ggPGcu c2luZ2hAbnhwLmNvbT47DQo+IERhbGV5LCBKb2huIDxqb2huZGFsZUBjaXNjby5jb20+OyBIeW9u ZyBZb3ViIEtpbSA8aHlvbmtpbUBjaXNjby5jb20+Ow0KPiBHYWV0YW4gUml2ZXQgPGdyaXZlQHUy NTYubmV0PjsgWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPjsgV2FuZywNCj4gWGlh byBXIDx4aWFvLncud2FuZ0BpbnRlbC5jb20+OyBaaXlhbmcgWHVhbiA8eHVhbnppeWFuZzJAaHVh d2VpLmNvbT47DQo+IFhpYW95dW4gV2FuZyA8Y2xvdWQud2FuZ3hpYW95dW5AaHVhd2VpLmNvbT47 IEd1b3lhbmcgWmhvdQ0KPiA8emhvdWd1b3lhbmdAaHVhd2VpLmNvbT47IFlpc2VuIFpodWFuZyA8 eWlzZW4uemh1YW5nQGh1YXdlaS5jb20+Ow0KPiBMaWp1biBPdSA8b3VsaWp1bkBodWF3ZWkuY29t PjsgWGluZywgQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+OyBXdSwNCj4gSmluZ2ppbmcg PGppbmdqaW5nLnd1QGludGVsLmNvbT47IFlhbmcsIFFpbWluZyA8cWltaW5nLnlhbmdAaW50ZWwu Y29tPjsNCj4gQW5kcmV3IEJveWVyIDxhYm95ZXJAcGVuc2FuZG8uaW8+OyBYdSwgUm9zZW4gPHJv c2VuLnh1QGludGVsLmNvbT47DQo+IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlkaWEuY29tPjsgVmlh Y2hlc2xhdiBPdnNpaWVua28NCj4gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBaeXRhIFN6cGFr IDx6ckBzZW1paGFsZi5jb20+OyBMaXJvbiBIaW1pDQo+IDxsaXJvbmhAbWFydmVsbC5jb20+OyBI ZWlucmljaCBLdWhuIDxoZWlucmljaC5rdWhuQGNvcmlnaW5lLmNvbT47DQo+IEhhcm1hbiBLYWxy YSA8aGthbHJhQG1hcnZlbGwuY29tPjsgTmFsbGEgUHJhZGVlcCA8cG5hbGxhQG1hcnZlbGwuY29t PjsNCj4gUmFkaGEgTW9oYW4gQ2hpbnRha3VudGxhIDxyYWRoYWNAbWFydmVsbC5jb20+OyBWZWVy YXNlbmFyZWRkeSBCdXJydQ0KPiA8dmJ1cnJ1QG1hcnZlbGwuY29tPjsgRGV2ZW5kcmEgU2luZ2gg UmF3YXQNCj4gPGRzaW5naHJhd2F0QG1hcnZlbGwuY29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA8 YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+OyBNYWNpZWogQ3pla2FqIDxtY3pla2FqQG1h cnZlbGwuY29tPjsNCj4gSmlhd2VuIFd1IDxqaWF3ZW53dUB0cnVzdG5ldGljLmNvbT47IEppYW4g V2FuZw0KPiA8amlhbndhbmdAdHJ1c3RuZXRpYy5jb20+OyBNYXhpbWUgQ29xdWVsaW4NCj4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwu Y29tPjsNCj4gWW9uZyBXYW5nIDx5b25nd2FuZ0B2bXdhcmUuY29tPjsgQW5hbnlldiwgS29uc3Rh bnRpbg0KPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47IE5pY29sYXUsIFJhZHUgPHJh ZHUubmljb2xhdUBpbnRlbC5jb20+Ow0KPiBBa2hpbCBHb3lhbCA8Z2FraGlsQG1hcnZlbGwuY29t PjsgSHVudCwgRGF2aWQgPGRhdmlkLmh1bnRAaW50ZWwuY29tPjsNCj4gTWNuYW1hcmEsIEpvaG4g PGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+IDx0aG9tYXNAbW9u amFsb24ubmV0Pg0KPiBDYzogWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47 IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBbUEFUQ0ggdjQgNC82XSBldGhkZXY6IHJlbW92ZSBq dW1ibyBvZmZsb2FkIGZsYWcNCj4gDQo+IFJlbW92aW5nICdERVZfUlhfT0ZGTE9BRF9KVU1CT19G UkFNRScgb2ZmbG9hZCBmbGFnLg0KPiANCj4gSW5zdGVhZCBvZiBkcml2ZXJzIGFubm91bmNlIHRo aXMgY2FwYWJpbGl0eSwgYXBwbGljYXRpb24gY2FuIGRlZHVjdCB0aGUNCj4gY2FwYWJpbGl0eSBi eSBjaGVja2luZyByZXBvcnRlZCAnZGV2X2luZm8ubWF4X210dScgb3INCj4gJ2Rldl9pbmZvLm1h eF9yeF9wa3RsZW4nLg0KPiANCj4gQW5kIGluc3RlYWQgb2YgYXBwbGljYXRpb24gc2V0dGluZyB0 aGlzIGZsYWcgZXhwbGljaXRseSB0byBlbmFibGUganVtYm8NCj4gZnJhbWVzLCB0aGlzIGNhbiBi ZSBkZWR1Y2VkIGJ5IGRyaXZlciBieSBjb21wYXJpbmcgcmVxdWVzdGVkICdtdHUnIHRvDQo+ICdS VEVfRVRIRVJfTVRVJy4NCj4gDQo+IFJlbW92aW5nIHRoaXMgYWRkaXRpb25hbCBjb25maWd1cmF0 aW9uIGZvciBzaW1wbGlmaWNhdGlvbi4NCj4gDQo+IFN1Z2dlc3RlZC1ieTogS29uc3RhbnRpbiBB bmFueWV2IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBG ZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+IEFja2VkLWJ5OiBBbmRyZXcg UnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gUmV2aWV3ZWQtYnk6 IFJvc2VuIFh1IDxyb3Nlbi54dUBpbnRlbC5jb20+DQo+IEFja2VkLWJ5OiBTb21uYXRoIEtvdHVy IDxzb21uYXRoLmtvdHVyQGJyb2FkY29tLmNvbT4NCj4gLS0tDQo+ICBhcHAvdGVzdC1ldmVudGRl di90ZXN0X3BpcGVsaW5lX2NvbW1vbi5jICAgICAgfCAgMiAtDQo+ICBhcHAvdGVzdC1wbWQvY21k bGluZS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgYXBwL3Rlc3QtcG1kL2Nv bmZpZy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjUgKy0tLS0tLS0tLQ0KPiAgYXBwL3Rl c3QtcG1kL3Rlc3RwbWQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgNDggKy0tLS0tLS0tLS0t LS0tLS0tLQ0KPiAgYXBwL3Rlc3QtcG1kL3Rlc3RwbWQuaCAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0NCj4gIGRvYy9ndWlkZXMvaG93dG8vZGVidWdfdHJvdWJsZXNob290LnJzdCAgICAg ICB8ICAyIC0NCj4gIGRvYy9ndWlkZXMvbmljcy9ibnh0LnJzdCAgICAgICAgICAgICAgICAgICAg ICB8ICAxIC0NCj4gIGRvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy5yc3QgICAgICAgICAgICAgICAg ICB8ICAzICstDQo+ICBkcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMgICAgICAgICAg ICAgfCAgMSAtDQo+ICBkcml2ZXJzL25ldC9heGdiZS9heGdiZV9ldGhkZXYuYyAgICAgICAgICAg ICAgfCAgMSAtDQo+ICBkcml2ZXJzL25ldC9ibngyeC9ibngyeF9ldGhkZXYuYyAgICAgICAgICAg ICAgfCAgMSAtDQo+ICBkcml2ZXJzL25ldC9ibnh0L2JueHQuaCAgICAgICAgICAgICAgICAgICAg ICAgfCAgMSAtDQo+ICBkcml2ZXJzL25ldC9ibnh0L2JueHRfZXRoZGV2LmMgICAgICAgICAgICAg ICAgfCAxMCArLS0tDQo+ICBkcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYyAg ICAgICAgfCAgOCAtLS0tDQo+ICBkcml2ZXJzL25ldC9jbnhrL2NueGtfZXRoZGV2LmggICAgICAg ICAgICAgICAgfCAgNSArLQ0KPiAgZHJpdmVycy9uZXQvY254ay9jbnhrX2V0aGRldl9vcHMuYyAg ICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvY3hnYmUvY3hnYmUuaCAgICAgICAgICAg ICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvY3hnYmUvY3hnYmVfZXRoZGV2LmMgICAg ICAgICAgICAgIHwgIDggLS0tLQ0KPiAgZHJpdmVycy9uZXQvY3hnYmUvc2dlLmMgICAgICAgICAg ICAgICAgICAgICAgIHwgIDUgKy0NCj4gIGRyaXZlcnMvbmV0L2RwYWEvZHBhYV9ldGhkZXYuYyAg ICAgICAgICAgICAgICB8ICAyIC0NCj4gIGRyaXZlcnMvbmV0L2RwYWEyL2RwYWEyX2V0aGRldi5j ICAgICAgICAgICAgICB8ICAyIC0NCj4gIGRyaXZlcnMvbmV0L2UxMDAwL2UxMDAwX2V0aGRldi5o ICAgICAgICAgICAgICB8ICA0ICstDQo+ICBkcml2ZXJzL25ldC9lMTAwMC9lbV9ldGhkZXYuYyAg ICAgICAgICAgICAgICAgfCAgNCArLQ0KPiAgZHJpdmVycy9uZXQvZTEwMDAvZW1fcnh0eC5jICAg ICAgICAgICAgICAgICAgIHwgMTkgKysrLS0tLS0NCj4gIGRyaXZlcnMvbmV0L2UxMDAwL2lnYl9y eHR4LmMgICAgICAgICAgICAgICAgICB8ICAzICstDQo+ICBkcml2ZXJzL25ldC9lbmEvZW5hX2V0 aGRldi5jICAgICAgICAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2ZXJzL25ldC9lbmV0Yy9lbmV0 Y19ldGhkZXYuYyAgICAgICAgICAgICAgfCAgMyArLQ0KPiAgZHJpdmVycy9uZXQvZW5pYy9lbmlj X3Jlcy5jICAgICAgICAgICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvZmFpbHNhZmUv ZmFpbHNhZmVfb3BzLmMgICAgICAgICAgIHwgIDIgLQ0KPiAgZHJpdmVycy9uZXQvZm0xMGsvZm0x MGtfZXRoZGV2LmMgICAgICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvaGluaWMvaGlu aWNfcG1kX2V0aGRldi5jICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvaG5zMy9obnMz X2V0aGRldi5jICAgICAgICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvaG5zMy9obnMz X2V0aGRldl92Zi5jICAgICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jICAgICAgICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvaTQwZS9pNDBl X3J4dHguYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9ldGhkZXYuYyAgICAgICAgICAgICAgICB8ICAzICstDQo+ICBkcml2ZXJzL25ldC9pY2UvaWNl X2RjZl9ldGhkZXYuYyAgICAgICAgICAgICAgfCAgMyArLQ0KPiAgZHJpdmVycy9uZXQvaWNlL2lj ZV9kY2ZfdmZfcmVwcmVzZW50b3IuYyAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvaWNlL2lj ZV9ldGhkZXYuYyAgICAgICAgICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9uZXQvaWNlL2lj ZV9yeHR4LmMgICAgICAgICAgICAgICAgICAgIHwgIDMgKy0NCj4gIGRyaXZlcnMvbmV0L2lnYy9p Z2NfZXRoZGV2LmggICAgICAgICAgICAgICAgICB8ICAxIC0NCj4gIGRyaXZlcnMvbmV0L2lnYy9p Z2NfdHhyeC5jICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL25ldC9pb25p Yy9pb25pY19ldGhkZXYuYyAgICAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2ZXJzL25ldC9pcG4z a2UvaXBuM2tlX3JlcHJlc2VudG9yLmMgICAgICAgfCAgMyArLQ0KPiAgZHJpdmVycy9uZXQvaXhn YmUvaXhnYmVfZXRoZGV2LmMgICAgICAgICAgICAgIHwgIDUgKy0NCj4gIGRyaXZlcnMvbmV0L2l4 Z2JlL2l4Z2JlX3BmLmMgICAgICAgICAgICAgICAgICB8ICA5ICstLS0NCj4gIGRyaXZlcnMvbmV0 L2l4Z2JlL2l4Z2JlX3J4dHguYyAgICAgICAgICAgICAgICB8ICAzICstDQo+ICBkcml2ZXJzL25l dC9tbHg0L21seDRfcnhxLmMgICAgICAgICAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2ZXJzL25l dC9tbHg1L21seDVfcnhxLmMgICAgICAgICAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2ZXJzL25l dC9tdm5ldGEvbXZuZXRhX2V0aGRldi5oICAgICAgICAgICAgfCAgMyArLQ0KPiAgZHJpdmVycy9u ZXQvbXZwcDIvbXJ2bF9ldGhkZXYuYyAgICAgICAgICAgICAgIHwgIDEgLQ0KPiAgZHJpdmVycy9u ZXQvbmZwL25mcF9jb21tb24uYyAgICAgICAgICAgICAgICAgIHwgIDYgKy0tDQo+ICBkcml2ZXJz L25ldC9vY3Rlb250eC9vY3Rlb250eF9ldGhkZXYuaCAgICAgICAgfCAgMSAtDQo+ICBkcml2ZXJz L25ldC9vY3Rlb250eDIvb3R4Ml9ldGhkZXYuaCAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2ZXJz L25ldC9vY3Rlb250eF9lcC9vdHhfZXBfZXRoZGV2LmMgICAgICAgfCAgMyArLQ0KPiAgZHJpdmVy cy9uZXQvb2N0ZW9udHhfZXAvb3R4X2VwX3J4dHguYyAgICAgICAgIHwgIDYgLS0tDQo+ICBkcml2 ZXJzL25ldC9xZWRlL3FlZGVfZXRoZGV2LmMgICAgICAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2 ZXJzL25ldC9zZmMvc2ZjX3J4LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiAtDQo+ICBkcml2 ZXJzL25ldC90aHVuZGVyeC9uaWN2Zl9ldGhkZXYuaCAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2 ZXJzL25ldC90eGdiZS90eGdiZV9yeHR4LmMgICAgICAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5jICAgICAgICAgICAgfCAgMSAtDQo+ICBkcml2 ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2LmMgICAgICAgICAgfCAgMSAtDQo+ICBleGFt cGxlcy9pcF9mcmFnbWVudGF0aW9uL21haW4uYyAgICAgICAgICAgICAgfCAgMyArLQ0KPiAgZXhh bXBsZXMvaXBfcmVhc3NlbWJseS9tYWluLmMgICAgICAgICAgICAgICAgIHwgIDMgKy0NCj4gIGV4 YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLXNlY2d3LmMgICAgICAgICAgICB8ICAyIC0NCj4gIGV4 YW1wbGVzL2lwdjRfbXVsdGljYXN0L21haW4uYyAgICAgICAgICAgICAgICB8ICAxIC0NCj4gIGV4 YW1wbGVzL2tuaS9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1IC0tDQo+ICBl eGFtcGxlcy9sM2Z3ZC1hY2wvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0KPiAg ZXhhbXBsZXMvbDNmd2QtZ3JhcGgvbWFpbi5jICAgICAgICAgICAgICAgICAgIHwgIDQgKy0NCj4g IGV4YW1wbGVzL2wzZndkLXBvd2VyL21haW4uYyAgICAgICAgICAgICAgICAgICB8ICA0ICstDQo+ ICBleGFtcGxlcy9sM2Z3ZC9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0K PiAgLi4uL3BlcmZvcm1hbmNlLXRocmVhZC9sM2Z3ZC10aHJlYWQvbWFpbi5jICAgIHwgIDQgKy0N Cj4gIGV4YW1wbGVzL3Zob3N0L21haW4uYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICst DQo+ICBsaWIvZXRoZGV2L3J0ZV9ldGhkZXYuYyAgICAgICAgICAgICAgICAgICAgICAgfCAyNiAr LS0tLS0tLS0tDQo+ICBsaWIvZXRoZGV2L3J0ZV9ldGhkZXYuaCAgICAgICAgICAgICAgICAgICAg ICAgfCAgMSAtDQo+ICA3NSBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAyNTkgZGVs ZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBl bGluZV9jb21tb24uYyBiL2FwcC90ZXN0LQ0KPiBldmVudGRldi90ZXN0X3BpcGVsaW5lX2NvbW1v bi5jDQo+IGluZGV4IDVmY2VhNzRiNGQ0My4uMjc3NWU3MmM1ODBkIDEwMDY0NA0KPiAtLS0gYS9h cHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2NvbW1vbi5jDQo+ICsrKyBiL2FwcC90ZXN0 LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfY29tbW9uLmMNCj4gQEAgLTE5OSw4ICsxOTksNiBAQCBw aXBlbGluZV9ldGhkZXZfc2V0dXAoc3RydWN0IGV2dF90ZXN0ICp0ZXN0LCBzdHJ1Y3QNCj4gZXZ0 X29wdGlvbnMgKm9wdCkNCj4gDQo+ICAJcG9ydF9jb25mLnJ4bW9kZS5tdHUgPSBvcHQtPm1heF9w a3Rfc3ogLSBSVEVfRVRIRVJfSERSX0xFTiAtDQo+ICAJCVJURV9FVEhFUl9DUkNfTEVOOw0KPiAt CWlmIChwb3J0X2NvbmYucnhtb2RlLm10dSA+IFJURV9FVEhFUl9NVFUpDQo+IC0JCXBvcnRfY29u Zi5yeG1vZGUub2ZmbG9hZHMgfD0NCj4gREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+IA0K PiAgCXQtPmludGVybmFsX3BvcnQgPSAxOw0KPiAgCVJURV9FVEhfRk9SRUFDSF9ERVYoaSkgew0K PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYyBiL2FwcC90ZXN0LXBtZC9jbWRs aW5lLmMNCj4gaW5kZXggYTY3NzQ1MTA3M2FlLi4xMTc5NDVjMmM2MWUgMTAwNjQ0DQo+IC0tLSBh L2FwcC90ZXN0LXBtZC9jbWRsaW5lLmMNCj4gKysrIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYw0K PiBAQCAtMTkyMyw3ICsxOTIzLDcgQEAgY21kX2NvbmZpZ19tYXhfcGt0X2xlbl9wYXJzZWQodm9p ZA0KPiAqcGFyc2VkX3Jlc3VsdCwNCj4gIAkJCXJldHVybjsNCj4gIAkJfQ0KPiANCj4gLQkJdXBk YXRlX2p1bWJvX2ZyYW1lX29mZmxvYWQocG9ydF9pZCwgcmVzLT52YWx1ZSk7DQo+ICsJCXVwZGF0 ZV9tdHVfZnJvbV9mcmFtZV9zaXplKHBvcnRfaWQsIHJlcy0+dmFsdWUpOw0KPiAgCX0NCj4gDQo+ ICAJaW5pdF9wb3J0X2NvbmZpZygpOw0KPiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL2NvbmZp Zy5jIGIvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jDQo+IGluZGV4IGRiM2VlZmZhMDA5My4uZTg5MGZh ZGM3MTZjIDEwMDY0NA0KPiAtLS0gYS9hcHAvdGVzdC1wbWQvY29uZmlnLmMNCj4gKysrIGIvYXBw L3Rlc3QtcG1kL2NvbmZpZy5jDQo+IEBAIC0xMTQ0LDQwICsxMTQ0LDE5IEBAIHBvcnRfcmVnX3Nl dChwb3J0aWRfdCBwb3J0X2lkLCB1aW50MzJfdCByZWdfb2ZmLA0KPiB1aW50MzJfdCByZWdfdikN Cj4gIHZvaWQNCj4gIHBvcnRfbXR1X3NldChwb3J0aWRfdCBwb3J0X2lkLCB1aW50MTZfdCBtdHUp DQo+ICB7DQo+ICsJc3RydWN0IHJ0ZV9wb3J0ICpwb3J0ID0gJnBvcnRzW3BvcnRfaWRdOw0KPiAg CWludCBkaWFnOw0KPiAtCXN0cnVjdCBydGVfcG9ydCAqcnRlX3BvcnQgPSAmcG9ydHNbcG9ydF9p ZF07DQo+IC0Jc3RydWN0IHJ0ZV9ldGhfZGV2X2luZm8gZGV2X2luZm87DQo+IC0JaW50IHJldDsN Cj4gDQo+ICAJaWYgKHBvcnRfaWRfaXNfaW52YWxpZChwb3J0X2lkLCBFTkFCTEVEX1dBUk4pKQ0K PiAgCQlyZXR1cm47DQo+IA0KPiAtCXJldCA9IGV0aF9kZXZfaW5mb19nZXRfcHJpbnRfZXJyKHBv cnRfaWQsICZkZXZfaW5mbyk7DQo+IC0JaWYgKHJldCAhPSAwKQ0KPiAtCQlyZXR1cm47DQo+IC0N Cj4gLQlpZiAobXR1ID4gZGV2X2luZm8ubWF4X210dSB8fCBtdHUgPCBkZXZfaW5mby5taW5fbXR1 KSB7DQo+IC0JCWZwcmludGYoc3RkZXJyLA0KPiAtCQkJIlNldCBNVFUgZmFpbGVkLiBNVFU6JXUg aXMgbm90IGluIHZhbGlkIHJhbmdlLA0KPiBtaW46JXUgLSBtYXg6JXVcbiIsDQo+IC0JCQltdHUs IGRldl9pbmZvLm1pbl9tdHUsIGRldl9pbmZvLm1heF9tdHUpOw0KPiAtCQlyZXR1cm47DQo+IC0J fQ0KPiAgCWRpYWcgPSBydGVfZXRoX2Rldl9zZXRfbXR1KHBvcnRfaWQsIG10dSk7DQo+ICAJaWYg KGRpYWcgIT0gMCkgew0KPiAgCQlmcHJpbnRmKHN0ZGVyciwgIlNldCBNVFUgZmFpbGVkLiBkaWFn PSVkXG4iLCBkaWFnKTsNCj4gIAkJcmV0dXJuOw0KPiAgCX0NCj4gDQo+IC0JcnRlX3BvcnQtPmRl dl9jb25mLnJ4bW9kZS5tdHUgPSBtdHU7DQo+IC0NCj4gLQlpZiAoZGV2X2luZm8ucnhfb2ZmbG9h ZF9jYXBhICYgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUpIHsNCj4gLQkJaWYgKG10dSA+IFJU RV9FVEhFUl9NVFUpDQo+IC0JCQlydGVfcG9ydC0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9 DQo+IC0NCj4gCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiAtCQllbHNlDQo+IC0JCQly dGVfcG9ydC0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICY9DQo+IC0NCj4gCX5ERVZfUlhfT0ZG TE9BRF9KVU1CT19GUkFNRTsNCj4gLQl9DQo+ICsJcG9ydC0+ZGV2X2NvbmYucnhtb2RlLm10dSA9 IG10dTsNCj4gIH0NCj4gDQo+ICAvKiBHZW5lcmljIGZsb3cgbWFuYWdlbWVudCBmdW5jdGlvbnMu ICovDQo+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jIGIvYXBwL3Rlc3QtcG1k L3Rlc3RwbWQuYw0KPiBpbmRleCA4YzIzY2ZlN2MzZGEuLmQyYTJhOWFjNmNkYSAxMDA2NDQNCj4g LS0tIGEvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQuYw0KPiArKysgYi9hcHAvdGVzdC1wbWQvdGVzdHBt ZC5jDQo+IEBAIC0xNTAzLDEyICsxNTAzLDYgQEAgaW5pdF9jb25maWdfcG9ydF9vZmZsb2Fkcyhw b3J0aWRfdCBwaWQsIHVpbnQzMl90DQo+IHNvY2tldF9pZCkNCj4gIAlpZiAocmV0ICE9IDApDQo+ ICAJCXJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwgInJ0ZV9ldGhfZGV2X2luZm9fZ2V0KCkgZmFpbGVk XG4iKTsNCj4gDQo+IC0JcmV0ID0gdXBkYXRlX2p1bWJvX2ZyYW1lX29mZmxvYWQocGlkLCAwKTsN Cj4gLQlpZiAocmV0ICE9IDApDQo+IC0JCWZwcmludGYoc3RkZXJyLA0KPiAtCQkJIlVwZGF0aW5n IGp1bWJvIGZyYW1lIG9mZmxvYWQgZmFpbGVkIGZvciBwb3J0ICV1XG4iLA0KPiAtCQkJcGlkKTsN Cj4gLQ0KPiAgCWlmICghKHBvcnQtPmRldl9pbmZvLnR4X29mZmxvYWRfY2FwYSAmDQo+IERFVl9U WF9PRkZMT0FEX01CVUZfRkFTVF9GUkVFKSkNCj4gIAkJcG9ydC0+ZGV2X2NvbmYudHhtb2RlLm9m ZmxvYWRzICY9DQo+ICAJCQl+REVWX1RYX09GRkxPQURfTUJVRl9GQVNUX0ZSRUU7DQo+IEBAIC0z NDYzLDI0ICszNDU3LDE4IEBAIHJ4dHhfcG9ydF9jb25maWcoc3RydWN0IHJ0ZV9wb3J0ICpwb3J0 KQ0KPiAgfQ0KPiANCj4gIC8qDQo+IC0gKiBIZWxwZXIgZnVuY3Rpb24gdG8gYXJyYW5nZSBtYXhf cnhfcGt0bGVuIHZhbHVlIGFuZCBKVU1CT19GUkFNRQ0KPiBvZmZsb2FkLA0KPiAtICogTVRVIGlz IGFsc28gYWxpZ25lZC4NCj4gKyAqIEhlbHBlciBmdW5jdGlvbiB0byBzZXQgTVRVIGZyb20gZnJh bWUgc2l6ZQ0KPiAgICoNCj4gICAqIHBvcnQtPmRldl9pbmZvIHNob3VsZCBiZSBzZXQgYmVmb3Jl IGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4NCj4gICAqDQo+IC0gKiBpZiAnbWF4X3J4X3BrdGxlbicg aXMgemVybywgaXQgaXMgc2V0IHRvIGN1cnJlbnQgZGV2aWNlIHZhbHVlLCAiTVRVICsNCj4gLSAq IEVUSF9PVkVSSEVBRCIuIFRoaXMgaXMgdXNlZnVsIHRvIHVwZGF0ZSBmbGFncyBidXQgbm90IE1U VSB2YWx1ZS4NCj4gLSAqDQo+ICAgKiByZXR1cm4gMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBvbiBl cnJvcg0KPiAgICovDQo+ICBpbnQNCj4gLXVwZGF0ZV9qdW1ib19mcmFtZV9vZmZsb2FkKHBvcnRp ZF90IHBvcnRpZCwgdWludDMyX3QgbWF4X3J4X3BrdGxlbikNCj4gK3VwZGF0ZV9tdHVfZnJvbV9m cmFtZV9zaXplKHBvcnRpZF90IHBvcnRpZCwgdWludDMyX3QgbWF4X3J4X3BrdGxlbikNCj4gIHsN Cj4gIAlzdHJ1Y3QgcnRlX3BvcnQgKnBvcnQgPSAmcG9ydHNbcG9ydGlkXTsNCj4gIAl1aW50MzJf dCBldGhfb3ZlcmhlYWQ7DQo+IC0JdWludDY0X3Qgcnhfb2ZmbG9hZHM7DQo+ICAJdWludDE2X3Qg bXR1LCBuZXdfbXR1Ow0KPiAtCWJvb2wgb247DQo+IA0KPiAgCWV0aF9vdmVyaGVhZCA9IGdldF9l dGhfb3ZlcmhlYWQoJnBvcnQtPmRldl9pbmZvKTsNCj4gDQo+IEBAIC0zNDg5LDQwICszNDc3LDgg QEAgdXBkYXRlX2p1bWJvX2ZyYW1lX29mZmxvYWQocG9ydGlkX3QgcG9ydGlkLA0KPiB1aW50MzJf dCBtYXhfcnhfcGt0bGVuKQ0KPiAgCQlyZXR1cm4gLTE7DQo+ICAJfQ0KPiANCj4gLQlpZiAobWF4 X3J4X3BrdGxlbiA9PSAwKQ0KPiAtCQltYXhfcnhfcGt0bGVuID0gbXR1ICsgZXRoX292ZXJoZWFk Ow0KPiAtDQo+IC0Jcnhfb2ZmbG9hZHMgPSBwb3J0LT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHM7 DQo+ICAJbmV3X210dSA9IG1heF9yeF9wa3RsZW4gLSBldGhfb3ZlcmhlYWQ7DQo+IA0KPiAtCWlm IChuZXdfbXR1IDw9IFJURV9FVEhFUl9NVFUpIHsNCj4gLQkJcnhfb2ZmbG9hZHMgJj0gfkRFVl9S WF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiAtCQlvbiA9IGZhbHNlOw0KPiAtCX0gZWxzZSB7DQo+ IC0JCWlmICgocG9ydC0+ZGV2X2luZm8ucnhfb2ZmbG9hZF9jYXBhICYNCj4gREVWX1JYX09GRkxP QURfSlVNQk9fRlJBTUUpID09IDApIHsNCj4gLQkJCWZwcmludGYoc3RkZXJyLA0KPiAtCQkJCSJG cmFtZSBzaXplICgldSkgaXMgbm90IHN1cHBvcnRlZCBieQ0KPiBwb3J0ICV1XG4iLA0KPiAtCQkJ CW1heF9yeF9wa3RsZW4sIHBvcnRpZCk7DQo+IC0JCQlyZXR1cm4gLTE7DQo+IC0JCX0NCj4gLQkJ cnhfb2ZmbG9hZHMgfD0gREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+IC0JCW9uID0gdHJ1 ZTsNCj4gLQl9DQo+IC0NCj4gLQlpZiAocnhfb2ZmbG9hZHMgIT0gcG9ydC0+ZGV2X2NvbmYucnht b2RlLm9mZmxvYWRzKSB7DQo+IC0JCXVpbnQxNl90IHFpZDsNCj4gLQ0KPiAtCQlwb3J0LT5kZXZf Y29uZi5yeG1vZGUub2ZmbG9hZHMgPSByeF9vZmZsb2FkczsNCj4gLQ0KPiAtCQkvKiBBcHBseSBK VU1CT19GUkFNRSBvZmZsb2FkIGNvbmZpZ3VyYXRpb24gdG8gUnggcXVldWUocykNCj4gKi8NCj4g LQkJZm9yIChxaWQgPSAwOyBxaWQgPCBwb3J0LT5kZXZfaW5mby5uYl9yeF9xdWV1ZXM7IHFpZCsr KSB7DQo+IC0JCQlpZiAob24pDQo+IC0JCQkJcG9ydC0+cnhfY29uZltxaWRdLm9mZmxvYWRzIHw9 DQo+IERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiAtCQkJZWxzZQ0KPiAtCQkJCXBvcnQt PnJ4X2NvbmZbcWlkXS5vZmZsb2FkcyAmPQ0KPiB+REVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7 DQo+IC0JCX0NCj4gLQl9DQo+IC0NCj4gIAlpZiAobXR1ID09IG5ld19tdHUpDQo+ICAJCXJldHVy biAwOw0KPiANCj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC90ZXN0cG1kLmggYi9hcHAvdGVz dC1wbWQvdGVzdHBtZC5oDQo+IGluZGV4IDE3NTYyMjE1YzczMy4uZWVkOWQwMzFmZDlhIDEwMDY0 NA0KPiAtLS0gYS9hcHAvdGVzdC1wbWQvdGVzdHBtZC5oDQo+ICsrKyBiL2FwcC90ZXN0LXBtZC90 ZXN0cG1kLmgNCj4gQEAgLTEwMjIsNyArMTAyMiw3IEBAIHVpbnQxNl90IHR4X3BrdF9zZXRfZHlu Zih1aW50MTZfdCBwb3J0X2lkLA0KPiBfX3J0ZV91bnVzZWQgdWludDE2X3QgcXVldWUsDQo+ICAJ CQkgX19ydGVfdW51c2VkIHZvaWQgKnVzZXJfcGFyYW0pOw0KPiAgdm9pZCBhZGRfdHhfZHluZl9j YWxsYmFjayhwb3J0aWRfdCBwb3J0aWQpOw0KPiAgdm9pZCByZW1vdmVfdHhfZHluZl9jYWxsYmFj ayhwb3J0aWRfdCBwb3J0aWQpOw0KPiAtaW50IHVwZGF0ZV9qdW1ib19mcmFtZV9vZmZsb2FkKHBv cnRpZF90IHBvcnRpZCwgdWludDMyX3QgbWF4X3J4X3BrdGxlbik7DQo+ICtpbnQgdXBkYXRlX210 dV9mcm9tX2ZyYW1lX3NpemUocG9ydGlkX3QgcG9ydGlkLCB1aW50MzJfdCBtYXhfcnhfcGt0bGVu KTsNCj4gDQo+ICAvKg0KPiAgICogV29yay1hcm91bmQgb2YgYSBjb21waWxhdGlvbiBlcnJvciB3 aXRoIElDQyBvbiBpbnZvY2F0aW9ucyBvZiB0aGUNCj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMv aG93dG8vZGVidWdfdHJvdWJsZXNob290LnJzdA0KPiBiL2RvYy9ndWlkZXMvaG93dG8vZGVidWdf dHJvdWJsZXNob290LnJzdA0KPiBpbmRleCA0NTdhYzQ0MTQyOWEuLmRmNjlmYThiY2MyNCAxMDA2 NDQNCj4gLS0tIGEvZG9jL2d1aWRlcy9ob3d0by9kZWJ1Z190cm91Ymxlc2hvb3QucnN0DQo+ICsr KyBiL2RvYy9ndWlkZXMvaG93dG8vZGVidWdfdHJvdWJsZXNob290LnJzdA0KPiBAQCAtNzEsOCAr NzEsNiBAQCBSWCBQb3J0IGFuZCBhc3NvY2lhdGVkIGNvcmUgOm51bXJlZjpgZHRnX3J4X3JhdGVg Lg0KPiAgICAgKiBJZGVudGlmeSBpZiBwb3J0IFNwZWVkIGFuZCBEdXBsZXggaXMgbWF0Y2hpbmcg dG8gZGVzaXJlZCB2YWx1ZXMgd2l0aA0KPiAgICAgICBgYHJ0ZV9ldGhfbGlua19nZXRgYC4NCj4g DQo+IC0gICAqIENoZWNrIGBgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUVgYCBpcyBzZXQgd2l0 aA0KPiBgYHJ0ZV9ldGhfZGV2X2luZm9fZ2V0YGAuDQo+IC0NCj4gICAgICogQ2hlY2sgcHJvbWlz Y3VvdXMgbW9kZSBpZiB0aGUgZHJvcHMgZG8gbm90IG9jY3VyIGZvciB1bmlxdWUgTUFDDQo+IGFk ZHJlc3MNCj4gICAgICAgd2l0aCBgYHJ0ZV9ldGhfcHJvbWlzY3VvdXNfZ2V0YGAuDQo+IA0KPiBk aWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9uaWNzL2JueHQucnN0IGIvZG9jL2d1aWRlcy9uaWNzL2Ju eHQucnN0DQo+IGluZGV4IGU3NWY0ZmE5ZTNiYy4uOGYxMGM2Yzc4YTFmIDEwMDY0NA0KPiAtLS0g YS9kb2MvZ3VpZGVzL25pY3MvYm54dC5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9uaWNzL2JueHQu cnN0DQo+IEBAIC04ODUsNyArODg1LDYgQEAgcHJvY2Vzc2luZy4gVGhpcyBpbXByb3ZlZCBwZXJm b3JtYW5jZSBpcyBkZXJpdmVkDQo+IGZyb20gYSBudW1iZXIgb2Ygb3B0aW1pemF0aW9uczoNCj4g DQo+ICAgICDCoCAgIERFVl9SWF9PRkZMT0FEX1ZMQU5fU1RSSVANCj4gICAgIMKgICAgREVWX1JY X09GRkxPQURfS0VFUF9DUkMNCj4gLSAgIMKgICAgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUN Cj4gICAgIMKgICAgREVWX1JYX09GRkxPQURfSVBWNF9DS1NVTQ0KPiAgICAgwqAgICBERVZfUlhf T0ZGTE9BRF9VRFBfQ0tTVU0NCj4gICAgIMKgICAgREVWX1JYX09GRkxPQURfVENQX0NLU1VNDQo+ IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMucnN0IGIvZG9jL2d1aWRlcy9u aWNzL2ZlYXR1cmVzLnJzdA0KPiBpbmRleCA0ODNjYjdkYTU3NmYuLjk1ODA0NDU4MjhiZiAxMDA2 NDQNCj4gLS0tIGEvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzLnJzdA0KPiArKysgYi9kb2MvZ3Vp ZGVzL25pY3MvZmVhdHVyZXMucnN0DQo+IEBAIC0xNjUsOCArMTY1LDcgQEAgSnVtYm8gZnJhbWUN Cj4gDQo+ICBTdXBwb3J0cyBSeCBqdW1ibyBmcmFtZXMuDQo+IA0KPiAtKiAqKlt1c2VzXSAgICBy dGVfZXRoX3J4Y29uZixydGVfZXRoX3J4bW9kZSoqOg0KPiBgYG9mZmxvYWRzOkRFVl9SWF9PRkZM T0FEX0pVTUJPX0ZSQU1FYGAuDQo+IC0gIGBgZGV2X2NvbmYucnhtb2RlLm10dWBgLg0KPiArKiAq Klt1c2VzXSAgICBydGVfZXRoX3J4Y29uZixydGVfZXRoX3J4bW9kZSoqOiBgYGRldl9jb25mLnJ4 bW9kZS5tdHVgYC4NCj4gICogKipbcmVsYXRlZF0gcnRlX2V0aF9kZXZfaW5mbyoqOiBgYG1heF9y eF9wa3RsZW5gYC4NCj4gICogKipbcmVsYXRlZF0gQVBJKio6IGBgcnRlX2V0aF9kZXZfc2V0X210 dSgpYGAuDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRl di5jDQo+IGIvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRldi5jDQo+IGluZGV4IDNmNjU0 YzA3MTU2Ni4uNWExOThmNTNmY2U3IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9hdGxhbnRp Yy9hdGxfZXRoZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRldi5j DQo+IEBAIC0xNTgsNyArMTU4LDYgQEAgc3RhdGljIHN0cnVjdCBydGVfcGNpX2RyaXZlciBydGVf YXRsX3BtZCA9IHsNCj4gIAkJCXwgREVWX1JYX09GRkxPQURfSVBWNF9DS1NVTSBcDQo+ICAJCQl8 IERFVl9SWF9PRkZMT0FEX1VEUF9DS1NVTSBcDQo+ICAJCQl8IERFVl9SWF9PRkZMT0FEX1RDUF9D S1NVTSBcDQo+IC0JCQl8IERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FIFwNCj4gIAkJCXwgREVW X1JYX09GRkxPQURfTUFDU0VDX1NUUklQIFwNCj4gIAkJCXwgREVWX1JYX09GRkxPQURfVkxBTl9G SUxURVIpDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYXhnYmUvYXhnYmVfZXRoZGV2 LmMNCj4gYi9kcml2ZXJzL25ldC9heGdiZS9heGdiZV9ldGhkZXYuYw0KPiBpbmRleCBjMzZjZDdi MWQyZjAuLjBiYzllNWVlZWIxMCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvYXhnYmUvYXhn YmVfZXRoZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvYXhnYmUvYXhnYmVfZXRoZGV2LmMNCj4g QEAgLTEyMTcsNyArMTIxNyw2IEBAIGF4Z2JlX2Rldl9pbmZvX2dldChzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmRldiwNCj4gc3RydWN0IHJ0ZV9ldGhfZGV2X2luZm8gKmRldl9pbmZvKQ0KPiAgCQlERVZf UlhfT0ZGTE9BRF9JUFY0X0NLU1VNIHwNCj4gIAkJREVWX1JYX09GRkxPQURfVURQX0NLU1VNICB8 DQo+ICAJCURFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTSAgfA0KPiAtCQlERVZfUlhfT0ZGTE9BRF9K VU1CT19GUkFNRQl8DQo+ICAJCURFVl9SWF9PRkZMT0FEX1NDQVRURVIJICB8DQo+ICAJCURFVl9S WF9PRkZMT0FEX0tFRVBfQ1JDOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JueDJ4 L2JueDJ4X2V0aGRldi5jDQo+IGIvZHJpdmVycy9uZXQvYm54MngvYm54MnhfZXRoZGV2LmMNCj4g aW5kZXggMDA5YTk0ZTlhOGZhLi41MGZmMDRiYjIyNDEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMv bmV0L2JueDJ4L2JueDJ4X2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2JueDJ4L2JueDJ4 X2V0aGRldi5jDQo+IEBAIC01MzUsNyArNTM1LDYgQEAgYm54MnhfZGV2X2luZm9zX2dldChzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldiwgc3RydWN0DQo+IHJ0ZV9ldGhfZGV2X2luZm8gKmRldl9pbmZv KQ0KPiAgCWRldl9pbmZvLT5tYXhfcnhfcGt0bGVuICA9IEJOWDJYX01BWF9SWF9QS1RfTEVOOw0K PiAgCWRldl9pbmZvLT5tYXhfbWFjX2FkZHJzICA9IEJOWDJYX01BWF9NQUNfQUREUlM7DQo+ICAJ ZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBFVEhfTElOS19TUEVFRF8xMEcgfA0KPiBFVEhfTElOS19T UEVFRF8yMEc7DQo+IC0JZGV2X2luZm8tPnJ4X29mZmxvYWRfY2FwYSA9IERFVl9SWF9PRkZMT0FE X0pVTUJPX0ZSQU1FOw0KPiANCj4gIAlkZXZfaW5mby0+cnhfZGVzY19saW0ubmJfbWF4ID0gTUFY X1JYX0FWQUlMOw0KPiAgCWRldl9pbmZvLT5yeF9kZXNjX2xpbS5uYl9taW4gPSBNSU5fUlhfU0la RV9OT05UUEE7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ibnh0L2JueHQuaCBiL2RyaXZl cnMvbmV0L2JueHQvYm54dC5oDQo+IGluZGV4IDUxMjFkMDVkYTY1Zi4uNjc0M2NmOTJiMGU2IDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9ibnh0L2JueHQuaA0KPiArKysgYi9kcml2ZXJzL25l dC9ibnh0L2JueHQuaA0KPiBAQCAtNTk1LDcgKzU5NSw2IEBAIHN0cnVjdCBibnh0X3JlcF9pbmZv IHsNCj4gIAkJCQkgICAgIERFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTSB8IFwNCj4gIAkJCQkgICAg IERFVl9SWF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tTVU0gfA0KPiBcDQo+ICAJCQkJICAgICBERVZf UlhfT0ZGTE9BRF9PVVRFUl9VRFBfQ0tTVU0gfA0KPiBcDQo+IC0JCQkJICAgICBERVZfUlhfT0ZG TE9BRF9KVU1CT19GUkFNRSB8IFwNCj4gIAkJCQkgICAgIERFVl9SWF9PRkZMT0FEX0tFRVBfQ1JD IHwgXA0KPiAgCQkJCSAgICAgREVWX1JYX09GRkxPQURfVkxBTl9FWFRFTkQgfCBcDQo+ICAJCQkJ ICAgICBERVZfUlhfT0ZGTE9BRF9UQ1BfTFJPIHwgXA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvYm54dC9ibnh0X2V0aGRldi5jIGIvZHJpdmVycy9uZXQvYm54dC9ibnh0X2V0aGRldi5jDQo+ IGluZGV4IGRjMzNiOTYxMzIwYS4uZTlkMDRmMzU0YTM5IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L25ldC9ibnh0L2JueHRfZXRoZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvYm54dC9ibnh0X2V0 aGRldi5jDQo+IEBAIC03NDIsMTUgKzc0MiwxMCBAQCBzdGF0aWMgaW50IGJueHRfc3RhcnRfbmlj KHN0cnVjdCBibnh0ICpicCkNCj4gIAl1bnNpZ25lZCBpbnQgaSwgajsNCj4gIAlpbnQgcmM7DQo+ IA0KPiAtCWlmIChicC0+ZXRoX2Rldi0+ZGF0YS0+bXR1ID4gUlRFX0VUSEVSX01UVSkgew0KPiAt CQlicC0+ZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9DQo+IC0JCQlE RVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsNCj4gKwlpZiAoYnAtPmV0aF9kZXYtPmRhdGEtPm10 dSA+IFJURV9FVEhFUl9NVFUpDQo+ICAJCWJwLT5mbGFncyB8PSBCTlhUX0ZMQUdfSlVNQk87DQo+ IC0JfSBlbHNlIHsNCj4gLQkJYnAtPmV0aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZs b2FkcyAmPQ0KPiAtCQkJfkRFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiArCWVsc2UNCj4g IAkJYnAtPmZsYWdzICY9IH5CTlhUX0ZMQUdfSlVNQk87DQo+IC0JfQ0KPiANCj4gIAkvKiBUSE9S IGRvZXMgbm90IHN1cHBvcnQgcmluZyBncm91cHMuDQo+ICAJICogQnV0IHdlIHdpbGwgdXNlIHRo ZSBhcnJheSB0byBzYXZlIFJTUyBjb250ZXh0IElEcy4NCj4gQEAgLTEyNTAsNyArMTI0NSw2IEBA IGJueHRfcmVjZWl2ZV9mdW5jdGlvbihzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gKmV0aF9kZXYpDQo+ ICAJaWYgKGV0aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmDQo+ICAJCX4o REVWX1JYX09GRkxPQURfVkxBTl9TVFJJUCB8DQo+ICAJCSAgREVWX1JYX09GRkxPQURfS0VFUF9D UkMgfA0KPiAtCQkgIERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FIHwNCj4gIAkJICBERVZfUlhf T0ZGTE9BRF9JUFY0X0NLU1VNIHwNCj4gIAkJICBERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfA0K PiAgCQkgIERFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTSB8DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiBiL2RyaXZlcnMvbmV0L2JvbmRpbmcv cnRlX2V0aF9ib25kX3BtZC5jDQo+IGluZGV4IDQxMmFjZmY0MmY2NS4uMmYzYTE3NTk0MTlmIDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiAr KysgYi9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiBAQCAtMTcyNywx NCArMTcyNyw2IEBAIHNsYXZlX2NvbmZpZ3VyZShzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gKmJvbmRl ZF9ldGhfZGV2LA0KPiAgCXNsYXZlX2V0aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tdHUg PQ0KPiAgCQkJYm9uZGVkX2V0aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tdHU7DQo+IA0K PiAtCWlmIChib25kZWRfZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYN Cj4gLQkJCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FKQ0KPiAtCQlzbGF2ZV9ldGhfZGV2LT5k YXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgfD0NCj4gLQkJCQlERVZfUlhfT0ZGTE9BRF9K VU1CT19GUkFNRTsNCj4gLQllbHNlDQo+IC0JCXNsYXZlX2V0aF9kZXYtPmRhdGEtPmRldl9jb25m LnJ4bW9kZS5vZmZsb2FkcyAmPQ0KPiAtCQkJCX5ERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsN Cj4gLQ0KPiAgCW5iX3J4X3F1ZXVlcyA9IGJvbmRlZF9ldGhfZGV2LT5kYXRhLT5uYl9yeF9xdWV1 ZXM7DQo+ICAJbmJfdHhfcXVldWVzID0gYm9uZGVkX2V0aF9kZXYtPmRhdGEtPm5iX3R4X3F1ZXVl czsNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jbnhrL2NueGtfZXRoZGV2LmgNCj4g Yi9kcml2ZXJzL25ldC9jbnhrL2NueGtfZXRoZGV2LmgNCj4gaW5kZXggMTBlMDVlNmI1ZWRkLi5m YThjNDhmMWVlYjAgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2NueGsvY254a19ldGhkZXYu aA0KPiArKysgYi9kcml2ZXJzL25ldC9jbnhrL2NueGtfZXRoZGV2LmgNCj4gQEAgLTc1LDkgKzc1 LDggQEANCj4gICNkZWZpbmUgQ05YS19OSVhfUlhfT0ZGTE9BRF9DQVBBICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICAJKERFVl9SWF9PRkZMT0FEX0NI RUNLU1VNIHwgREVWX1JYX09GRkxPQURfU0NUUF9DS1NVTSB8DQo+IFwNCj4gIAkgREVWX1JYX09G RkxPQURfT1VURVJfSVBWNF9DS1NVTSB8DQo+IERFVl9SWF9PRkZMT0FEX1NDQVRURVIgfCAgICAg ICAgICAgIFwNCj4gLQkgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiBERVZfUlhfT0ZG TE9BRF9PVVRFUl9VRFBfQ0tTVU0gfCAgICAgICAgIFwNCj4gLQkgREVWX1JYX09GRkxPQURfUlNT X0hBU0ggfCBERVZfUlhfT0ZGTE9BRF9USU1FU1RBTVAgfA0KPiBcDQo+IC0JIERFVl9SWF9PRkZM T0FEX1ZMQU5fU1RSSVApDQo+ICsJIERFVl9SWF9PRkZMT0FEX09VVEVSX1VEUF9DS1NVTSB8DQo+ IERFVl9SWF9PRkZMT0FEX1JTU19IQVNIIHwgICAgICAgICAgICBcDQo+ICsJIERFVl9SWF9PRkZM T0FEX1RJTUVTVEFNUCB8IERFVl9SWF9PRkZMT0FEX1ZMQU5fU1RSSVApDQo+IA0KPiAgI2RlZmlu ZSBSU1NfSVBWNF9FTkFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwNCj4gIAkoRVRIX1JTU19JUFY0IHwgRVRIX1JTU19GUkFHX0lQVjQg fA0KPiBFVEhfUlNTX05PTkZSQUdfSVBWNF9VRFAgfCAgICAgICAgIFwNCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2NueGsvY254a19ldGhkZXZfb3BzLmMNCj4gYi9kcml2ZXJzL25ldC9jbnhr L2NueGtfZXRoZGV2X29wcy5jDQo+IGluZGV4IDM0OTg5NmY2YTFiZi4uZDA5MjRkZjc2MTUyIDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9jbnhrL2NueGtfZXRoZGV2X29wcy5jDQo+ICsrKyBi L2RyaXZlcnMvbmV0L2NueGsvY254a19ldGhkZXZfb3BzLmMNCj4gQEAgLTkyLDcgKzkyLDYgQEAg Y254a19uaXhfcnhfYnVyc3RfbW9kZV9nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpldGhfZGV2 LCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gIAkJe0RFVl9SWF9PRkZMT0FEX0hFQURFUl9TUExJVCwg IiBIZWFkZXIgU3BsaXQsIn0sDQo+ICAJCXtERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiwgIiBW TEFOIEZpbHRlciwifSwNCj4gIAkJe0RFVl9SWF9PRkZMT0FEX1ZMQU5fRVhURU5ELCAiIFZMQU4g RXh0ZW5kLCJ9LA0KPiAtCQl7REVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUsICIgSnVtYm8gRnJh bWUsIn0sDQo+ICAJCXtERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSLCAiIFNjYXR0ZXJlZCwifSwNCj4g IAkJe0RFVl9SWF9PRkZMT0FEX1RJTUVTVEFNUCwgIiBUaW1lc3RhbXAsIn0sDQo+ICAJCXtERVZf UlhfT0ZGTE9BRF9TRUNVUklUWSwgIiBTZWN1cml0eSwifSwNCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2N4Z2JlL2N4Z2JlLmggYi9kcml2ZXJzL25ldC9jeGdiZS9jeGdiZS5oDQo+IGluZGV4 IDdjODlhMDI4YmYxNi4uMzc2MjVjNWJmYjY5IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9j eGdiZS9jeGdiZS5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2N4Z2JlL2N4Z2JlLmgNCj4gQEAgLTUx LDcgKzUxLDYgQEANCj4gIAkJCSAgIERFVl9SWF9PRkZMT0FEX0lQVjRfQ0tTVU0gfCBcDQo+ICAJ CQkgICBERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfCBcDQo+ICAJCQkgICBERVZfUlhfT0ZGTE9B RF9UQ1BfQ0tTVU0gfCBcDQo+IC0JCQkgICBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8IFwN Cj4gIAkJCSAgIERFVl9SWF9PRkZMT0FEX1NDQVRURVIgfCBcDQo+ICAJCQkgICBERVZfUlhfT0ZG TE9BRF9SU1NfSEFTSCkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jeGdiZS9jeGdi ZV9ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0L2N4Z2JlL2N4Z2JlX2V0aGRldi5jDQo+IGluZGV4 IDcwYjg3OWZlZDEwMC4uMTM3NGYzMmI2ODI2IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9j eGdiZS9jeGdiZV9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9jeGdiZS9jeGdiZV9ldGhk ZXYuYw0KPiBAQCAtNjYxLDE0ICs2NjEsNiBAQCBpbnQgY3hnYmVfZGV2X3J4X3F1ZXVlX3NldHVw KHN0cnVjdCBydGVfZXRoX2Rldg0KPiAqZXRoX2RldiwNCj4gIAlpZiAoKCZyeHEtPmZsKSAhPSBO VUxMKQ0KPiAgCQlyeHEtPmZsLnNpemUgPSB0ZW1wX25iX2Rlc2M7DQo+IA0KPiAtCS8qIFNldCB0 byBqdW1ibyBtb2RlIGlmIG5lY2Vzc2FyeSAqLw0KPiAtCWlmIChldGhfZGV2LT5kYXRhLT5tdHUg PiBSVEVfRVRIRVJfTVRVKQ0KPiAtCQlldGhfZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2Zm bG9hZHMgfD0NCj4gLQkJCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiAtCWVsc2UNCj4g LQkJZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICY9DQo+IC0JCQl+REVW X1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+IC0NCj4gIAllcnIgPSB0NF9zZ2VfYWxsb2Nfcnhx KGFkYXB0ZXIsICZyeHEtPnJzcHEsIGZhbHNlLCBldGhfZGV2LCBtc2lfaWR4LA0KPiAgCQkJICAg ICAgICZyeHEtPmZsLCBOVUxMLA0KPiAgCQkJICAgICAgIGlzX3BmNChhZGFwdGVyKSA/DQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jeGdiZS9zZ2UuYyBiL2RyaXZlcnMvbmV0L2N4Z2JlL3Nn ZS5jDQo+IGluZGV4IDgzMGY1MTkyNDc0ZC4uMjFiOGZlNjFjOWE3IDEwMDY0NA0KPiAtLS0gYS9k cml2ZXJzL25ldC9jeGdiZS9zZ2UuYw0KPiArKysgYi9kcml2ZXJzL25ldC9jeGdiZS9zZ2UuYw0K PiBAQCAtMzY1LDEzICszNjUsMTAgQEAgc3RhdGljIHVuc2lnbmVkIGludCByZWZpbGxfZmxfdXNl bWJ1ZnMoc3RydWN0DQo+IGFkYXB0ZXIgKmFkYXAsIHN0cnVjdCBzZ2VfZmwgKnEsDQo+ICAJc3Ry dWN0IHJ0ZV9tYnVmICpidWZfYnVsa1tuXTsNCj4gIAlpbnQgcmV0LCBpOw0KPiAgCXN0cnVjdCBy dGVfcGt0bWJ1Zl9wb29sX3ByaXZhdGUgKm1icF9wcml2Ow0KPiAtCXU4IGp1bWJvX2VuID0gcnhx LT5yc3BxLmV0aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2Fkcw0KPiAmDQo+IC0J CURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiANCj4gIAkvKiBVc2UganVtYm8gbXR1IGJ1 ZmZlcnMgaWYgbWJ1ZiBkYXRhIHJvb20gc2l6ZSBjYW4gZml0IGp1bWJvIGRhdGEuDQo+ICovDQo+ ICAJbWJwX3ByaXYgPSBydGVfbWVtcG9vbF9nZXRfcHJpdihyeHEtPnJzcHEubWJfcG9vbCk7DQo+ IC0JaWYgKGp1bWJvX2VuICYmDQo+IC0JICAgICgobWJwX3ByaXYtPm1idWZfZGF0YV9yb29tX3Np emUgLQ0KPiBSVEVfUEtUTUJVRl9IRUFEUk9PTSkgPj0gOTAwMCkpDQo+ICsJaWYgKChtYnBfcHJp di0+bWJ1Zl9kYXRhX3Jvb21fc2l6ZSAtDQo+IFJURV9QS1RNQlVGX0hFQURST09NKSA+PSA5MDAw KQ0KPiAgCQlidWZfc2l6ZV9pZHggPSBSWF9MQVJHRV9NVFVfQlVGOw0KPiANCj4gIAlyZXQgPSBy dGVfbWVtcG9vbF9nZXRfYnVsayhyeHEtPnJzcHEubWJfcG9vbCwgKHZvaWQgKilidWZfYnVsaywN Cj4gbik7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kcGFhL2RwYWFfZXRoZGV2LmMNCj4g Yi9kcml2ZXJzL25ldC9kcGFhL2RwYWFfZXRoZGV2LmMNCj4gaW5kZXggMzE3MmUzYjJkZTg3Li5k ZWZjMDcyMDcyYWYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2RwYWEvZHBhYV9ldGhkZXYu Yw0KPiArKysgYi9kcml2ZXJzL25ldC9kcGFhL2RwYWFfZXRoZGV2LmMNCj4gQEAgLTU0LDcgKzU0 LDYgQEANCj4gDQo+ICAvKiBTdXBwb3J0ZWQgUnggb2ZmbG9hZHMgKi8NCj4gIHN0YXRpYyB1aW50 NjRfdCBkZXZfcnhfb2ZmbG9hZHNfc3VwID0NCj4gLQkJREVWX1JYX09GRkxPQURfSlVNQk9fRlJB TUUgfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSOw0KPiANCj4gIC8qIFJ4IG9mZmxvYWRz IHdoaWNoIGNhbm5vdCBiZSBkaXNhYmxlZCAqLw0KPiBAQCAtNTkyLDcgKzU5MSw2IEBAIGRwYWFf ZGV2X3J4X2J1cnN0X21vZGVfZ2V0KHN0cnVjdCBydGVfZXRoX2Rldg0KPiAqZGV2LA0KPiAgCQl1 aW50NjRfdCBmbGFnczsNCj4gIAkJY29uc3QgY2hhciAqb3V0cHV0Ow0KPiAgCX0gcnhfb2ZmbG9h ZF9tYXBbXSA9IHsNCj4gLQkJCXtERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSwgIiBKdW1ibw0K PiBmcmFtZSwifSwNCj4gIAkJCXtERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSLCAiIFNjYXR0ZXJlZCwi fSwNCj4gIAkJCXtERVZfUlhfT0ZGTE9BRF9JUFY0X0NLU1VNLCAiIElQVjQgY3N1bSwifSwNCj4g IAkJCXtERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0sICIgVURQIGNzdW0sIn0sDQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9kcGFhMi9kcGFhMl9ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0L2Rw YWEyL2RwYWEyX2V0aGRldi5jDQo+IGluZGV4IGMyOGYwMzY0MWJiYy4uZGMyNWVlZmIzM2IwIDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9kcGFhMi9kcGFhMl9ldGhkZXYuYw0KPiArKysgYi9k cml2ZXJzL25ldC9kcGFhMi9kcGFhMl9ldGhkZXYuYw0KPiBAQCAtNDQsNyArNDQsNiBAQCBzdGF0 aWMgdWludDY0X3QgZGV2X3J4X29mZmxvYWRzX3N1cCA9DQo+ICAJCURFVl9SWF9PRkZMT0FEX09V VEVSX1VEUF9DS1NVTSB8DQo+ICAJCURFVl9SWF9PRkZMT0FEX1ZMQU5fU1RSSVAgfA0KPiAgCQlE RVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiB8DQo+IC0JCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZS QU1FIHwNCj4gIAkJREVWX1JYX09GRkxPQURfVElNRVNUQU1QOw0KPiANCj4gIC8qIFJ4IG9mZmxv YWRzIHdoaWNoIGNhbm5vdCBiZSBkaXNhYmxlZCAqLw0KPiBAQCAtMjk4LDcgKzI5Nyw2IEBAIGRw YWEyX2Rldl9yeF9idXJzdF9tb2RlX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gKmRldiwNCj4g IAkJCXtERVZfUlhfT0ZGTE9BRF9PVVRFUl9VRFBfQ0tTVU0sICIgT3V0ZXINCj4gVURQIGNzdW0s In0sDQo+ICAJCQl7REVWX1JYX09GRkxPQURfVkxBTl9TVFJJUCwgIiBWTEFOIHN0cmlwLCJ9LA0K PiAgCQkJe0RFVl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVSLCAiIFZMQU4gZmlsdGVyLCJ9LA0KPiAt CQkJe0RFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FLCAiIEp1bWJvDQo+IGZyYW1lLCJ9LA0KPiAg CQkJe0RFVl9SWF9PRkZMT0FEX1RJTUVTVEFNUCwgIiBUaW1lc3RhbXAsIn0sDQo+ICAJCQl7REVW X1JYX09GRkxPQURfUlNTX0hBU0gsICIgUlNTLCJ9LA0KPiAgCQkJe0RFVl9SWF9PRkZMT0FEX1ND QVRURVIsICIgU2NhdHRlcmVkLCJ9DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9lMTAwMC9l MTAwMF9ldGhkZXYuaA0KPiBiL2RyaXZlcnMvbmV0L2UxMDAwL2UxMDAwX2V0aGRldi5oDQo+IGlu ZGV4IDNiNGQ5YzNlZTZmNC4uMWFlNzhmZTcxZjAyIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25l dC9lMTAwMC9lMTAwMF9ldGhkZXYuaA0KPiArKysgYi9kcml2ZXJzL25ldC9lMTAwMC9lMTAwMF9l dGhkZXYuaA0KPiBAQCAtNDY4LDggKzQ2OCw4IEBAIHZvaWQgZXRoX2VtX3J4X3F1ZXVlX3JlbGVh c2Uodm9pZCAqcnhxKTsNCj4gIHZvaWQgZW1fZGV2X2NsZWFyX3F1ZXVlcyhzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldik7DQo+ICB2b2lkIGVtX2Rldl9mcmVlX3F1ZXVlcyhzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmRldik7DQo+IA0KPiAtdWludDY0X3QgZW1fZ2V0X3J4X3BvcnRfb2ZmbG9hZHNfY2FwYShz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQo+IC11aW50NjRfdCBlbV9nZXRfcnhfcXVldWVfb2Zm bG9hZHNfY2FwYShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQo+ICt1aW50NjRfdCBlbV9nZXRf cnhfcG9ydF9vZmZsb2Fkc19jYXBhKHZvaWQpOw0KPiArdWludDY0X3QgZW1fZ2V0X3J4X3F1ZXVl X29mZmxvYWRzX2NhcGEodm9pZCk7DQo+IA0KPiAgaW50IGV0aF9lbV9yeF9xdWV1ZV9zZXR1cChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3QgcnhfcXVldWVfaWQsDQo+ICAJCXVpbnQx Nl90IG5iX3J4X2Rlc2MsIHVuc2lnbmVkIGludCBzb2NrZXRfaWQsDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9lMTAwMC9lbV9ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0L2UxMDAwL2VtX2V0 aGRldi5jDQo+IGluZGV4IDZlYmVmNTU1ODhiYy4uOGE3NTJlZWY1MmNmIDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL25ldC9lMTAwMC9lbV9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9lMTAw MC9lbV9ldGhkZXYuYw0KPiBAQCAtMTA4Myw4ICsxMDgzLDggQEAgZXRoX2VtX2luZm9zX2dldChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgc3RydWN0DQo+IHJ0ZV9ldGhfZGV2X2luZm8gKmRldl9p bmZvKQ0KPiAgCWRldl9pbmZvLT5tYXhfcnhfcXVldWVzID0gMTsNCj4gIAlkZXZfaW5mby0+bWF4 X3R4X3F1ZXVlcyA9IDE7DQo+IA0KPiAtCWRldl9pbmZvLT5yeF9xdWV1ZV9vZmZsb2FkX2NhcGEg PQ0KPiBlbV9nZXRfcnhfcXVldWVfb2ZmbG9hZHNfY2FwYShkZXYpOw0KPiAtCWRldl9pbmZvLT5y eF9vZmZsb2FkX2NhcGEgPSBlbV9nZXRfcnhfcG9ydF9vZmZsb2Fkc19jYXBhKGRldikgfA0KPiAr CWRldl9pbmZvLT5yeF9xdWV1ZV9vZmZsb2FkX2NhcGEgPQ0KPiBlbV9nZXRfcnhfcXVldWVfb2Zm bG9hZHNfY2FwYSgpOw0KPiArCWRldl9pbmZvLT5yeF9vZmZsb2FkX2NhcGEgPSBlbV9nZXRfcnhf cG9ydF9vZmZsb2Fkc19jYXBhKCkgfA0KPiAgCQkJCSAgICBkZXZfaW5mby0+cnhfcXVldWVfb2Zm bG9hZF9jYXBhOw0KPiAgCWRldl9pbmZvLT50eF9xdWV1ZV9vZmZsb2FkX2NhcGEgPQ0KPiBlbV9n ZXRfdHhfcXVldWVfb2ZmbG9hZHNfY2FwYShkZXYpOw0KPiAgCWRldl9pbmZvLT50eF9vZmZsb2Fk X2NhcGEgPSBlbV9nZXRfdHhfcG9ydF9vZmZsb2Fkc19jYXBhKGRldikgfA0KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZTEwMDAvZW1fcnh0eC5jIGIvZHJpdmVycy9uZXQvZTEwMDAvZW1fcnh0 eC5jDQo+IGluZGV4IGRmZDhmMmZkMDA3NC4uZTA2MWY4MGE5MDZhIDEwMDY0NA0KPiAtLS0gYS9k cml2ZXJzL25ldC9lMTAwMC9lbV9yeHR4LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvZTEwMDAvZW1f cnh0eC5jDQo+IEBAIC0xMzU5LDEyICsxMzU5LDkgQEAgZW1fcmVzZXRfcnhfcXVldWUoc3RydWN0 IGVtX3J4X3F1ZXVlICpyeHEpDQo+ICB9DQo+IA0KPiAgdWludDY0X3QNCj4gLWVtX2dldF9yeF9w b3J0X29mZmxvYWRzX2NhcGEoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICtlbV9nZXRfcnhf cG9ydF9vZmZsb2Fkc19jYXBhKHZvaWQpDQo+ICB7DQo+ICAJdWludDY0X3Qgcnhfb2ZmbG9hZF9j YXBhOw0KPiAtCXVpbnQzMl90IG1heF9yeF9wa3RsZW47DQo+IC0NCj4gLQltYXhfcnhfcGt0bGVu ID0gZW1fZ2V0X21heF9wa3RsZW4oZGV2KTsNCj4gDQo+ICAJcnhfb2ZmbG9hZF9jYXBhID0NCj4g IAkJREVWX1JYX09GRkxPQURfVkxBTl9TVFJJUCAgfA0KPiBAQCAtMTM3NCwxNCArMTM3MSwxMiBA QCBlbV9nZXRfcnhfcG9ydF9vZmZsb2Fkc19jYXBhKHN0cnVjdA0KPiBydGVfZXRoX2RldiAqZGV2 KQ0KPiAgCQlERVZfUlhfT0ZGTE9BRF9UQ1BfQ0tTVU0gICB8DQo+ICAJCURFVl9SWF9PRkZMT0FE X0tFRVBfQ1JDICAgIHwNCj4gIAkJREVWX1JYX09GRkxPQURfU0NBVFRFUjsNCj4gLQlpZiAobWF4 X3J4X3BrdGxlbiA+IFJURV9FVEhFUl9NQVhfTEVOKQ0KPiAtCQlyeF9vZmZsb2FkX2NhcGEgfD0g REVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+IA0KPiAgCXJldHVybiByeF9vZmZsb2FkX2Nh cGE7DQo+ICB9DQo+IA0KPiAgdWludDY0X3QNCj4gLWVtX2dldF9yeF9xdWV1ZV9vZmZsb2Fkc19j YXBhKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiArZW1fZ2V0X3J4X3F1ZXVlX29mZmxvYWRz X2NhcGEodm9pZCkNCj4gIHsNCj4gIAl1aW50NjRfdCByeF9xdWV1ZV9vZmZsb2FkX2NhcGE7DQo+ IA0KPiBAQCAtMTM5MCw3ICsxMzg1LDcgQEAgZW1fZ2V0X3J4X3F1ZXVlX29mZmxvYWRzX2NhcGEo c3RydWN0DQo+IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAJICogY2FwYWJpbGl0eSBiZSBzYW1lIHRv IHBlciBwb3J0IHF1ZXVlIG9mZmxvYWRpbmcgY2FwYWJpbGl0eQ0KPiAgCSAqIGZvciBiZXR0ZXIg Y29udmVuaWVuY2UuDQo+ICAJICovDQo+IC0JcnhfcXVldWVfb2ZmbG9hZF9jYXBhID0gZW1fZ2V0 X3J4X3BvcnRfb2ZmbG9hZHNfY2FwYShkZXYpOw0KPiArCXJ4X3F1ZXVlX29mZmxvYWRfY2FwYSA9 IGVtX2dldF9yeF9wb3J0X29mZmxvYWRzX2NhcGEoKTsNCj4gDQo+ICAJcmV0dXJuIHJ4X3F1ZXVl X29mZmxvYWRfY2FwYTsNCj4gIH0NCj4gQEAgLTE4MzksNyArMTgzNCw3IEBAIGV0aF9lbV9yeF9p bml0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiAgCQkgKiB0byBhdm9pZCBzcGxpdHRpbmcg cGFja2V0cyB0aGF0IGRvbid0IGZpdCBpbnRvDQo+ICAJCSAqIG9uZSBidWZmZXIuDQo+ICAJCSAq Lw0KPiAtCQlpZiAocnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1F IHx8DQo+ICsJCWlmIChkZXYtPmRhdGEtPm10dSA+IFJURV9FVEhFUl9NVFUgfHwNCj4gIAkJCQly Y3RsX2JzaXplIDwgUlRFX0VUSEVSX01BWF9MRU4pIHsNCj4gIAkJCWlmICghZGV2LT5kYXRhLT5z Y2F0dGVyZWRfcngpDQo+ICAJCQkJUE1EX0lOSVRfTE9HKERFQlVHLCAiZm9yY2luZyBzY2F0dGVy DQo+IG1vZGUiKTsNCj4gQEAgLTE4NzQsMTQgKzE4NjksMTQgQEAgZXRoX2VtX3J4X2luaXQoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAJaWYgKChody0+bWFjLnR5cGUgPT0gZTEwMDBfaWNo OWxhbiB8fA0KPiAgCQkJaHctPm1hYy50eXBlID09IGUxMDAwX3BjaDJsYW4gfHwNCj4gIAkJCWh3 LT5tYWMudHlwZSA9PSBlMTAwMF9pY2gxMGxhbikgJiYNCj4gLQkJCXJ4bW9kZS0+b2ZmbG9hZHMg Jg0KPiBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSkgew0KPiArCQkJZGV2LT5kYXRhLT5tdHUg PiBSVEVfRVRIRVJfTVRVKSB7DQo+ICAJCXUzMiByeGRjdGwgPSBFMTAwMF9SRUFEX1JFRyhodywg RTEwMDBfUlhEQ1RMKDApKTsNCj4gIAkJRTEwMDBfV1JJVEVfUkVHKGh3LCBFMTAwMF9SWERDVEwo MCksIHJ4ZGN0bCB8IDMpOw0KPiAgCQlFMTAwMF9XUklURV9SRUcoaHcsIEUxMDAwX0VSVCwgMHgx MDAgfCAoMSA8PCAxMykpOw0KPiAgCX0NCj4gDQo+ICAJaWYgKGh3LT5tYWMudHlwZSA9PSBlMTAw MF9wY2gybGFuKSB7DQo+IC0JCWlmIChyeG1vZGUtPm9mZmxvYWRzICYgREVWX1JYX09GRkxPQURf SlVNQk9fRlJBTUUpDQo+ICsJCWlmIChkZXYtPmRhdGEtPm10dSA+IFJURV9FVEhFUl9NVFUpDQo+ ICAJCQllMTAwMF9sdl9qdW1ib193b3JrYXJvdW5kX2ljaDhsYW4oaHcsIFRSVUUpOw0KPiAgCQll bHNlDQo+ICAJCQllMTAwMF9sdl9qdW1ib193b3JrYXJvdW5kX2ljaDhsYW4oaHcsIEZBTFNFKTsN Cj4gQEAgLTE5MDgsNyArMTkwMyw3IEBAIGV0aF9lbV9yeF9pbml0KHN0cnVjdCBydGVfZXRoX2Rl diAqZGV2KQ0KPiAgCS8qDQo+ICAJICogQ29uZmlndXJlIHN1cHBvcnQgb2YganVtYm8gZnJhbWVz LCBpZiBhbnkuDQo+ICAJICovDQo+IC0JaWYgKHJ4bW9kZS0+b2ZmbG9hZHMgJiBERVZfUlhfT0ZG TE9BRF9KVU1CT19GUkFNRSkNCj4gKwlpZiAoZGV2LT5kYXRhLT5tdHUgPiBSVEVfRVRIRVJfTVRV KQ0KPiAgCQlyY3RsIHw9IEUxMDAwX1JDVExfTFBFOw0KPiAgCWVsc2UNCj4gIAkJcmN0bCAmPSB+ RTEwMDBfUkNUTF9MUEU7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9lMTAwMC9pZ2Jfcnh0 eC5jIGIvZHJpdmVycy9uZXQvZTEwMDAvaWdiX3J4dHguYw0KPiBpbmRleCBlOWEzMGQzOTNiZDcu LmRkYTRkMjEwMWFkYiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvZTEwMDAvaWdiX3J4dHgu Yw0KPiArKysgYi9kcml2ZXJzL25ldC9lMTAwMC9pZ2Jfcnh0eC5jDQo+IEBAIC0xNjQwLDcgKzE2 NDAsNiBAQCBpZ2JfZ2V0X3J4X3BvcnRfb2ZmbG9hZHNfY2FwYShzdHJ1Y3QgcnRlX2V0aF9kZXYN Cj4gKmRldikNCj4gIAkJCSAgREVWX1JYX09GRkxPQURfSVBWNF9DS1NVTSAgfA0KPiAgCQkJICBE RVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gICB8DQo+ICAJCQkgIERFVl9SWF9PRkZMT0FEX1RDUF9D S1NVTSAgIHwNCj4gLQkJCSAgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAgCQkJICBE RVZfUlhfT0ZGTE9BRF9LRUVQX0NSQyAgICB8DQo+ICAJCQkgIERFVl9SWF9PRkZMT0FEX1NDQVRU RVIgICAgIHwNCj4gIAkJCSAgREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+IEBAIC0yMzQ0LDcg KzIzNDMsNyBAQCBldGhfaWdiX3J4X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAJ ICogQ29uZmlndXJlIHN1cHBvcnQgb2YganVtYm8gZnJhbWVzLCBpZiBhbnkuDQo+ICAJICovDQo+ ICAJbWF4X2xlbiA9IGRldi0+ZGF0YS0+bXR1ICsgRTEwMDBfRVRIX09WRVJIRUFEOw0KPiAtCWlm IChkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmDQo+IERFVl9SWF9PRkZMT0FE X0pVTUJPX0ZSQU1FKSB7DQo+ICsJaWYgKChkZXYtPmRhdGEtPm10dSAmIFJURV9FVEhFUl9NVFUp ICE9IDApIHsNCj4gIAkJcmN0bCB8PSBFMTAwMF9SQ1RMX0xQRTsNCj4gDQo+ICAJCS8qDQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9lbmEvZW5hX2V0aGRldi5jIGIvZHJpdmVycy9uZXQvZW5h L2VuYV9ldGhkZXYuYw0KPiBpbmRleCAzYTlkNTAzMWIyNjIuLjZkMTAyNmQzMTk1MSAxMDA2NDQN Cj4gLS0tIGEvZHJpdmVycy9uZXQvZW5hL2VuYV9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25l dC9lbmEvZW5hX2V0aGRldi5jDQo+IEBAIC0xOTE4LDcgKzE5MTgsNiBAQCBzdGF0aWMgaW50IGVu YV9pbmZvc19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ICAJCQlERVZfUlhfT0ZGTE9B RF9VRFBfQ0tTVU0gIHwNCj4gIAkJCURFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTTsNCj4gDQo+IC0J cnhfZmVhdCB8PSBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsNCj4gIAl0eF9mZWF0IHw9IERF Vl9UWF9PRkZMT0FEX01VTFRJX1NFR1M7DQo+IA0KPiAgCS8qIEluZm9ybSBmcmFtZXdvcmsgYWJv dXQgYXZhaWxhYmxlIGZlYXR1cmVzICovDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9lbmV0 Yy9lbmV0Y19ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0L2VuZXRjL2VuZXRjX2V0aGRldi5jDQo+ IGluZGV4IGE3MzcyYzE3ODdjNy4uNjQ1NzY3N2QzMDBhIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L25ldC9lbmV0Yy9lbmV0Y19ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9lbmV0Yy9lbmV0 Y19ldGhkZXYuYw0KPiBAQCAtMjEwLDggKzIxMCw3IEBAIGVuZXRjX2Rldl9pbmZvc19nZXQoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYNCj4gX19ydGVfdW51c2VkLA0KPiAgCQkoREVWX1JYX09GRkxP QURfSVBWNF9DS1NVTSB8DQo+ICAJCSBERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfA0KPiAgCQkg REVWX1JYX09GRkxPQURfVENQX0NLU1VNIHwNCj4gLQkJIERFVl9SWF9PRkZMT0FEX0tFRVBfQ1JD IHwNCj4gLQkJIERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FKTsNCj4gKwkJIERFVl9SWF9PRkZM T0FEX0tFRVBfQ1JDKTsNCj4gDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9lbmljL2VuaWNfcmVzLmMgYi9kcml2ZXJzL25ldC9lbmljL2VuaWNfcmVzLmMN Cj4gaW5kZXggMDQ5M2UwOTZkMDMxLi5jNTc3Nzc3MmEwOWUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl cnMvbmV0L2VuaWMvZW5pY19yZXMuYw0KPiArKysgYi9kcml2ZXJzL25ldC9lbmljL2VuaWNfcmVz LmMNCj4gQEAgLTIwOSw3ICsyMDksNiBAQCBpbnQgZW5pY19nZXRfdm5pY19jb25maWcoc3RydWN0 IGVuaWMgKmVuaWMpDQo+ICAJCURFVl9UWF9PRkZMT0FEX1RDUF9UU087DQo+ICAJZW5pYy0+cnhf b2ZmbG9hZF9jYXBhID0NCj4gIAkJREVWX1JYX09GRkxPQURfU0NBVFRFUiB8DQo+IC0JCURFVl9S WF9PRkZMT0FEX0pVTUJPX0ZSQU1FIHwNCj4gIAkJREVWX1JYX09GRkxPQURfVkxBTl9TVFJJUCB8 DQo+ICAJCURFVl9SWF9PRkZMT0FEX0lQVjRfQ0tTVU0gfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9V RFBfQ0tTVU0gfA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZmFpbHNhZmUvZmFpbHNhZmVf b3BzLmMNCj4gYi9kcml2ZXJzL25ldC9mYWlsc2FmZS9mYWlsc2FmZV9vcHMuYw0KPiBpbmRleCA1 ZmYzM2UwM2UwMzQuLjQ3YzVlZmU5ZWE3NyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvZmFp bHNhZmUvZmFpbHNhZmVfb3BzLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvZmFpbHNhZmUvZmFpbHNh ZmVfb3BzLmMNCj4gQEAgLTExOTMsNyArMTE5Myw2IEBAIGZzX2Rldl9pbmZvc19nZXQoc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ICAJCURFVl9SWF9PRkZMT0FEX0hFQURFUl9TUExJVCB8DQo+ ICAJCURFVl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVSIHwNCj4gIAkJREVWX1JYX09GRkxPQURfVkxB Tl9FWFRFTkQgfA0KPiAtCQlERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8DQo+ICAJCURFVl9S WF9PRkZMT0FEX1NDQVRURVIgfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9USU1FU1RBTVAgfA0KPiAg CQlERVZfUlhfT0ZGTE9BRF9TRUNVUklUWSB8DQo+IEBAIC0xMjExLDcgKzEyMTAsNiBAQCBmc19k ZXZfaW5mb3NfZ2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiAgCQlERVZfUlhfT0ZGTE9B RF9IRUFERVJfU1BMSVQgfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiB8DQo+ICAJ CURFVl9SWF9PRkZMT0FEX1ZMQU5fRVhURU5EIHwNCj4gLQkJREVWX1JYX09GRkxPQURfSlVNQk9f RlJBTUUgfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSIHwNCj4gIAkJREVWX1JYX09GRkxP QURfVElNRVNUQU1QIHwNCj4gIAkJREVWX1JYX09GRkxPQURfU0VDVVJJVFkgfA0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZm0xMGsvZm0xMGtfZXRoZGV2LmMNCj4gYi9kcml2ZXJzL25ldC9m bTEway9mbTEwa19ldGhkZXYuYw0KPiBpbmRleCA1ZTRiMzYxY2E2YzAuLjA5MzAyMTI0NjI4NiAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvZm0xMGsvZm0xMGtfZXRoZGV2LmMNCj4gKysrIGIv ZHJpdmVycy9uZXQvZm0xMGsvZm0xMGtfZXRoZGV2LmMNCj4gQEAgLTE3NzksNyArMTc3OSw2IEBA IHN0YXRpYyB1aW50NjRfdA0KPiBmbTEwa19nZXRfcnhfcG9ydF9vZmZsb2Fkc19jYXBhKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2KQ0KPiAgCQkJICAgREVWX1JYX09GRkxPQURfSVBWNF9DS1NVTSAg fA0KPiAgCQkJICAgREVWX1JYX09GRkxPQURfVURQX0NLU1VNICAgfA0KPiAgCQkJICAgREVWX1JY X09GRkxPQURfVENQX0NLU1VNICAgfA0KPiAtCQkJICAgREVWX1JYX09GRkxPQURfSlVNQk9fRlJB TUUgfA0KPiAgCQkJICAgREVWX1JYX09GRkxPQURfSEVBREVSX1NQTElUIHwNCj4gIAkJCSAgIERF Vl9SWF9PRkZMT0FEX1JTU19IQVNIKTsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2hpbmljL2hpbmljX3BtZF9ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0L2hpbmljL2hpbmljX3Bt ZF9ldGhkZXYuYw0KPiBpbmRleCA3OTk4N2JlYzI3M2MuLjQwMDU0MTRhZWI3MSAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9uZXQvaGluaWMvaGluaWNfcG1kX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZl cnMvbmV0L2hpbmljL2hpbmljX3BtZF9ldGhkZXYuYw0KPiBAQCAtNzM4LDcgKzczOCw2IEBAIGhp bmljX2Rldl9pbmZvc19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdA0KPiBydGVf ZXRoX2Rldl9pbmZvICppbmZvKQ0KPiAgCQkJCURFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTSB8DQo+ ICAJCQkJREVWX1JYX09GRkxPQURfVkxBTl9GSUxURVIgfA0KPiAgCQkJCURFVl9SWF9PRkZMT0FE X1NDQVRURVIgfA0KPiAtCQkJCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FIHwNCj4gIAkJCQlE RVZfUlhfT0ZGTE9BRF9UQ1BfTFJPIHwNCj4gIAkJCQlERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsN Cj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9obnMzL2huczNfZXRoZGV2LmMNCj4gYi9k cml2ZXJzL25ldC9obnMzL2huczNfZXRoZGV2LmMNCj4gaW5kZXggZTFkNDY1ZGU4MjM0Li5kYmQ0 YzU0YjE4YzYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2huczMvaG5zM19ldGhkZXYuYw0K PiArKysgYi9kcml2ZXJzL25ldC9obnMzL2huczNfZXRoZGV2LmMNCj4gQEAgLTI2OTEsNyArMjY5 MSw2IEBAIGhuczNfZGV2X2luZm9zX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYsDQo+ IHN0cnVjdCBydGVfZXRoX2Rldl9pbmZvICppbmZvKQ0KPiAgCQkJCSBERVZfUlhfT0ZGTE9BRF9T Q0FUVEVSIHwNCj4gIAkJCQkgREVWX1JYX09GRkxPQURfVkxBTl9TVFJJUCB8DQo+ICAJCQkJIERF Vl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVSIHwNCj4gLQkJCQkgREVWX1JYX09GRkxPQURfSlVNQk9f RlJBTUUgfA0KPiAgCQkJCSBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCB8DQo+ICAJCQkJIERFVl9S WF9PRkZMT0FEX1RDUF9MUk8pOw0KPiAgCWluZm8tPnR4X29mZmxvYWRfY2FwYSA9IChERVZfVFhf T0ZGTE9BRF9PVVRFUl9JUFY0X0NLU1VNIHwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2hu czMvaG5zM19ldGhkZXZfdmYuYw0KPiBiL2RyaXZlcnMvbmV0L2huczMvaG5zM19ldGhkZXZfdmYu Yw0KPiBpbmRleCAzNDM4YjM2NTBkZTYuLmVlZTY1YWM3NzM5OSAxMDA2NDQNCj4gLS0tIGEvZHJp dmVycy9uZXQvaG5zMy9obnMzX2V0aGRldl92Zi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2huczMv aG5zM19ldGhkZXZfdmYuYw0KPiBAQCAtOTQ0LDcgKzk0NCw2IEBAIGhuczN2Zl9kZXZfaW5mb3Nf Z2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldiwNCj4gc3RydWN0IHJ0ZV9ldGhfZGV2X2lu Zm8gKmluZm8pDQo+ICAJCQkJIERFVl9SWF9PRkZMT0FEX1NDQVRURVIgfA0KPiAgCQkJCSBERVZf UlhfT0ZGTE9BRF9WTEFOX1NUUklQIHwNCj4gIAkJCQkgREVWX1JYX09GRkxPQURfVkxBTl9GSUxU RVIgfA0KPiAtCQkJCSBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8DQo+ICAJCQkJIERFVl9S WF9PRkZMT0FEX1JTU19IQVNIIHwNCj4gIAkJCQkgREVWX1JYX09GRkxPQURfVENQX0xSTyk7DQo+ ICAJaW5mby0+dHhfb2ZmbG9hZF9jYXBhID0gKERFVl9UWF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tT VU0gfA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jIGIvZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jDQo+IGluZGV4IDI4MjQ1OTJhYTYyZS4uNmE2NDIy MTc3OGZhIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMNCj4g KysrIGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jDQo+IEBAIC0zNzYwLDcgKzM3NjAs NiBAQCBpNDBlX2Rldl9pbmZvX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgc3RydWN0DQo+ IHJ0ZV9ldGhfZGV2X2luZm8gKmRldl9pbmZvKQ0KPiAgCQlERVZfUlhfT0ZGTE9BRF9TQ0FUVEVS IHwNCj4gIAkJREVWX1JYX09GRkxPQURfVkxBTl9FWFRFTkQgfA0KPiAgCQlERVZfUlhfT0ZGTE9B RF9WTEFOX0ZJTFRFUiB8DQo+IC0JCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FIHwNCj4gIAkJ REVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+IA0KPiAgCWRldl9pbmZvLT50eF9xdWV1ZV9vZmZs b2FkX2NhcGEgPQ0KPiBERVZfVFhfT0ZGTE9BRF9NQlVGX0ZBU1RfRlJFRTsNCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4LmMgYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf cnh0eC5jDQo+IGluZGV4IDFkMjdjZjJiMGEwMS4uNjljMjgyYmFhNzIzIDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfcnh0eC5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9yeHR4LmMNCj4gQEAgLTI5MTEsNyArMjkxMSw3IEBAIGk0MGVfcnhfcXVldWVfY29uZmln KHN0cnVjdCBpNDBlX3J4X3F1ZXVlICpyeHEpDQo+ICAJcnhxLT5tYXhfcGt0X2xlbiA9DQo+ICAJ CVJURV9NSU4oaHctPmZ1bmNfY2Fwcy5yeF9idWZfY2hhaW5fbGVuICogcnhxLQ0KPiA+cnhfYnVm X2xlbiwNCj4gIAkJCQlkYXRhLT5tdHUgKyBJNDBFX0VUSF9PVkVSSEVBRCk7DQo+IC0JaWYgKGRh dGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmDQo+IERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZS QU1FKSB7DQo+ICsJaWYgKGRhdGEtPm10dSA+IFJURV9FVEhFUl9NVFUpIHsNCj4gIAkJaWYgKHJ4 cS0+bWF4X3BrdF9sZW4gPD0gSTQwRV9FVEhfTUFYX0xFTiB8fA0KPiAgCQkJcnhxLT5tYXhfcGt0 X2xlbiA+IEk0MEVfRlJBTUVfU0laRV9NQVgpIHsNCj4gIAkJCVBNRF9EUlZfTE9HKEVSUiwgIm1h eGltdW0gcGFja2V0IGxlbmd0aCBtdXN0ICINCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYw0KPiBpbmRl eCAyZDQzYzY2NmZkYmIuLjJjNDEwM2FjN2VmOSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQv aWF2Zi9pYXZmX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYu Yw0KPiBAQCAtNTg4LDcgKzU4OCw3IEBAIGlhdmZfaW5pdF9yeHEoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYsIHN0cnVjdA0KPiBpYXZmX3J4X3F1ZXVlICpyeHEpDQo+ICAJLyogQ2hlY2sgaWYgdGhl IGp1bWJvIGZyYW1lIGFuZCBtYXhpbXVtIHBhY2tldCBsZW5ndGggYXJlIHNldA0KPiAgCSAqIGNv cnJlY3RseS4NCj4gIAkgKi8NCj4gLQlpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2Zm bG9hZHMgJg0KPiBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSkgew0KPiArCWlmIChkZXYtPmRh dGEtPm10dSAmIFJURV9FVEhFUl9NVFUpIHsNCj4gIAkJaWYgKG1heF9wa3RfbGVuIDw9IElBVkZf RVRIX01BWF9MRU4gfHwNCj4gIAkJICAgIG1heF9wa3RfbGVuID4gSUFWRl9GUkFNRV9TSVpFX01B WCkgew0KPiAgCQkJUE1EX0RSVl9MT0coRVJSLCAibWF4aW11bSBwYWNrZXQgbGVuZ3RoIG11c3QN Cj4gYmUgIg0KPiBAQCAtOTY4LDcgKzk2OCw2IEBAIGlhdmZfZGV2X2luZm9fZ2V0KHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QNCj4gcnRlX2V0aF9kZXZfaW5mbyAqZGV2X2luZm8pDQo+ ICAJCURFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTSB8DQo+ICAJCURFVl9SWF9PRkZMT0FEX09VVEVS X0lQVjRfQ0tTVU0gfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSIHwNCj4gLQkJREVWX1JY X09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiB8 DQo+ICAJCURFVl9SWF9PRkZMT0FEX1JTU19IQVNIOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2ljZS9pY2VfZGNmX2V0aGRldi5jDQo+IGIvZHJpdmVycy9uZXQvaWNlL2ljZV9kY2Zf ZXRoZGV2LmMNCj4gaW5kZXggYzNjN2FkODhmMjUwLi4xNmY2NDI1NjZlOTEgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvbmV0L2ljZS9pY2VfZGNmX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0 L2ljZS9pY2VfZGNmX2V0aGRldi5jDQo+IEBAIC03Miw3ICs3Miw3IEBAIGljZV9kY2ZfaW5pdF9y eHEoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdA0KPiBpY2VfcnhfcXVldWUgKnJ4cSkN Cj4gIAkvKiBDaGVjayBpZiB0aGUganVtYm8gZnJhbWUgYW5kIG1heGltdW0gcGFja2V0IGxlbmd0 aCBhcmUgc2V0DQo+ICAJICogY29ycmVjdGx5Lg0KPiAgCSAqLw0KPiAtCWlmIChkZXYtPmRhdGEt PmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmDQo+IERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1F KSB7DQo+ICsJaWYgKGRldl9kYXRhLT5tdHUgPiBSVEVfRVRIRVJfTVRVKSB7DQo+ICAJCWlmICht YXhfcGt0X2xlbiA8PSBJQ0VfRVRIX01BWF9MRU4gfHwNCj4gIAkJICAgIG1heF9wa3RfbGVuID4g SUNFX0ZSQU1FX1NJWkVfTUFYKSB7DQo+ICAJCQlQTURfRFJWX0xPRyhFUlIsICJtYXhpbXVtIHBh Y2tldCBsZW5ndGggbXVzdA0KPiBiZSAiDQo+IEBAIC02ODMsNyArNjgzLDYgQEAgaWNlX2RjZl9k ZXZfaW5mb19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ICAJCURFVl9SWF9PRkZMT0FE X1RDUF9DS1NVTSB8DQo+ICAJCURFVl9SWF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tTVU0gfA0KPiAg CQlERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSIHwNCj4gLQkJREVWX1JYX09GRkxPQURfSlVNQk9fRlJB TUUgfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiB8DQo+ICAJCURFVl9SWF9PRkZM T0FEX1JTU19IQVNIOw0KPiAgCWRldl9pbmZvLT50eF9vZmZsb2FkX2NhcGEgPQ0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvaWNlL2ljZV9kY2ZfdmZfcmVwcmVzZW50b3IuYw0KPiBiL2RyaXZl cnMvbmV0L2ljZS9pY2VfZGNmX3ZmX3JlcHJlc2VudG9yLmMNCj4gaW5kZXggYjU0N2M0MmY5MTM3 Li5kMjhmZWRjOTZlMWEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2ljZS9pY2VfZGNmX3Zm X3JlcHJlc2VudG9yLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvaWNlL2ljZV9kY2ZfdmZfcmVwcmVz ZW50b3IuYw0KPiBAQCAtMTQ5LDcgKzE0OSw2IEBAIGljZV9kY2ZfdmZfcmVwcl9kZXZfaW5mb19n ZXQoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYsDQo+ICAJCURFVl9SWF9PRkZMT0FEX1RDUF9D S1NVTSB8DQo+ICAJCURFVl9SWF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tTVU0gfA0KPiAgCQlERVZf UlhfT0ZGTE9BRF9TQ0FUVEVSIHwNCj4gLQkJREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0K PiAgCQlERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiB8DQo+ICAJCURFVl9SWF9PRkZMT0FEX1ZM QU5fRVhURU5EIHwNCj4gIAkJREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5jIGIvZHJpdmVycy9uZXQvaWNlL2ljZV9ldGhk ZXYuYw0KPiBpbmRleCA3MDMxNzhjNmQ0MGMuLjE3ZDMwYjczNTY5MyAxMDA2NDQNCj4gLS0tIGEv ZHJpdmVycy9uZXQvaWNlL2ljZV9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9pY2UvaWNl X2V0aGRldi5jDQo+IEBAIC0zNjc2LDcgKzM2NzYsNiBAQCBpY2VfZGV2X2luZm9fZ2V0KHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QNCj4gcnRlX2V0aF9kZXZfaW5mbyAqZGV2X2luZm8p DQo+IA0KPiAgCWRldl9pbmZvLT5yeF9vZmZsb2FkX2NhcGEgPQ0KPiAgCQlERVZfUlhfT0ZGTE9B RF9WTEFOX1NUUklQIHwNCj4gLQkJREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAgCQlE RVZfUlhfT0ZGTE9BRF9LRUVQX0NSQyB8DQo+ICAJCURFVl9SWF9PRkZMT0FEX1NDQVRURVIgfA0K PiAgCQlERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUjsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2ljZS9pY2Vfcnh0eC5jIGIvZHJpdmVycy9uZXQvaWNlL2ljZV9yeHR4LmMNCj4gaW5kZXgg ZjllZjZjZTU3Mjc3Li5jYzc5MDhkMzI1ODQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2lj ZS9pY2Vfcnh0eC5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2ljZS9pY2Vfcnh0eC5jDQo+IEBAIC0y NjcsNyArMjY3LDYgQEAgaWNlX3Byb2dyYW1faHdfcnhfcXVldWUoc3RydWN0IGljZV9yeF9xdWV1 ZSAqcnhxKQ0KPiAgCXN0cnVjdCBpY2Vfcmxhbl9jdHggcnhfY3R4Ow0KPiAgCWVudW0gaWNlX3N0 YXR1cyBlcnI7DQo+ICAJdWludDE2X3QgYnVmX3NpemU7DQo+IC0Jc3RydWN0IHJ0ZV9ldGhfcnht b2RlICpyeG1vZGUgPSAmZGV2X2RhdGEtPmRldl9jb25mLnJ4bW9kZTsNCj4gIAl1aW50MzJfdCBy eGRpZCA9IElDRV9SWERJRF9DT01NU19PVlM7DQo+ICAJdWludDMyX3QgcmVndmFsOw0KPiAgCXN0 cnVjdCBpY2VfYWRhcHRlciAqYWQgPSByeHEtPnZzaS0+YWRhcHRlcjsNCj4gQEAgLTI4Miw3ICsy ODEsNyBAQCBpY2VfcHJvZ3JhbV9od19yeF9xdWV1ZShzdHJ1Y3QgaWNlX3J4X3F1ZXVlICpyeHEp DQo+ICAJCVJURV9NSU4oKHVpbnQzMl90KUlDRV9TVVBQT1JUX0NIQUlOX05VTSAqIHJ4cS0NCj4g PnJ4X2J1Zl9sZW4sDQo+ICAJCQlmcmFtZV9zaXplKTsNCj4gDQo+IC0JaWYgKHJ4bW9kZS0+b2Zm bG9hZHMgJiBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSkgew0KPiArCWlmIChkZXZfZGF0YS0+ bXR1ID4gUlRFX0VUSEVSX01UVSkgew0KPiAgCQlpZiAocnhxLT5tYXhfcGt0X2xlbiA8PSBJQ0Vf RVRIX01BWF9MRU4gfHwNCj4gIAkJICAgIHJ4cS0+bWF4X3BrdF9sZW4gPiBJQ0VfRlJBTUVfU0la RV9NQVgpIHsNCj4gIAkJCVBNRF9EUlZfTE9HKEVSUiwgIm1heGltdW0gcGFja2V0IGxlbmd0aCBt dXN0ICINCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lnYy9pZ2NfZXRoZGV2LmggYi9kcml2 ZXJzL25ldC9pZ2MvaWdjX2V0aGRldi5oDQo+IGluZGV4IGIzNDczYjViMTY0Ni4uNWU2YzJmZjMw MTU3IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9pZ2MvaWdjX2V0aGRldi5oDQo+ICsrKyBi L2RyaXZlcnMvbmV0L2lnYy9pZ2NfZXRoZGV2LmgNCj4gQEAgLTczLDcgKzczLDYgQEAgZXh0ZXJu ICJDIiB7DQo+ICAJREVWX1JYX09GRkxPQURfVURQX0NLU1VNICAgfCBcDQo+ICAJREVWX1JYX09G RkxPQURfVENQX0NLU1VNICAgfCBcDQo+ICAJREVWX1JYX09GRkxPQURfU0NUUF9DS1NVTSAgfCBc DQo+IC0JREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfCBcDQo+ICAJREVWX1JYX09GRkxPQURf S0VFUF9DUkMgICAgfCBcDQo+ICAJREVWX1JYX09GRkxPQURfU0NBVFRFUiAgICAgfCBcDQo+ICAJ REVWX1JYX09GRkxPQURfUlNTX0hBU0gpDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pZ2Mv aWdjX3R4cnguYyBiL2RyaXZlcnMvbmV0L2lnYy9pZ2NfdHhyeC5jDQo+IGluZGV4IDI4ZDMwNzY0 MzljMy4uMzA5NDA4NTdlYWMwIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9pZ2MvaWdjX3R4 cnguYw0KPiArKysgYi9kcml2ZXJzL25ldC9pZ2MvaWdjX3R4cnguYw0KPiBAQCAtMTA5OSw3ICsx MDk5LDcgQEAgaWdjX3J4X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAJSUdDX1dS SVRFX1JFRyhodywgSUdDX1JDVEwsIHJjdGwgJiB+SUdDX1JDVExfRU4pOw0KPiANCj4gIAkvKiBD b25maWd1cmUgc3VwcG9ydCBvZiBqdW1ibyBmcmFtZXMsIGlmIGFueS4gKi8NCj4gLQlpZiAoKG9m ZmxvYWRzICYgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUpICE9IDApDQo+ICsJaWYgKGRldi0+ ZGF0YS0+bXR1ICYgUlRFX0VUSEVSX01UVSkNCj4gIAkJcmN0bCB8PSBJR0NfUkNUTF9MUEU7DQo+ ICAJZWxzZQ0KPiAgCQlyY3RsICY9IH5JR0NfUkNUTF9MUEU7DQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9pb25pYy9pb25pY19ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0L2lvbmljL2lvbmlj X2V0aGRldi5jDQo+IGluZGV4IDk3NDQ3YTEwZTQ2YS4uNzk1OTgwY2IxY2E1IDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL25ldC9pb25pYy9pb25pY19ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25l dC9pb25pYy9pb25pY19ldGhkZXYuYw0KPiBAQCAtNDE0LDcgKzQxNCw2IEBAIGlvbmljX2Rldl9p bmZvX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYsDQo+ICAJCURFVl9SWF9PRkZMT0FE X0lQVjRfQ0tTVU0gfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfA0KPiAgCQlERVZf UlhfT0ZGTE9BRF9UQ1BfQ0tTVU0gfA0KPiAtCQlERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8 DQo+ICAJCURFVl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVSIHwNCj4gIAkJREVWX1JYX09GRkxPQURf VkxBTl9TVFJJUCB8DQo+ICAJCURFVl9SWF9PRkZMT0FEX1NDQVRURVIgfA0KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvaXBuM2tlL2lwbjNrZV9yZXByZXNlbnRvci5jDQo+IGIvZHJpdmVycy9u ZXQvaXBuM2tlL2lwbjNrZV9yZXByZXNlbnRvci5jDQo+IGluZGV4IDM3N2I5NmMwMjM2YS4uNGU1 ZDIzNGU4YzdkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9pcG4za2UvaXBuM2tlX3JlcHJl c2VudG9yLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvaXBuM2tlL2lwbjNrZV9yZXByZXNlbnRvci5j DQo+IEBAIC03NCw4ICs3NCw3IEBAIGlwbjNrZV9ycHN0X2Rldl9pbmZvc19nZXQoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpldGhkZXYsDQo+ICAJCURFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTSB8DQo+ICAJ CURFVl9SWF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tTVU0gfA0KPiAgCQlERVZfUlhfT0ZGTE9BRF9W TEFOX0VYVEVORCB8DQo+IC0JCURFVl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVSIHwNCj4gLQkJREVW X1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+ICsJCURFVl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVS Ow0KPiANCj4gIAlkZXZfaW5mby0+dHhfcXVldWVfb2ZmbG9hZF9jYXBhID0NCj4gREVWX1RYX09G RkxPQURfTUJVRl9GQVNUX0ZSRUU7DQo+ICAJZGV2X2luZm8tPnR4X29mZmxvYWRfY2FwYSA9DQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KPiBiL2RyaXZl cnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+IGluZGV4IDU3NGE3YmZmYzljYi4uMzIwNWMz N2MzYjgyIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0K PiArKysgYi9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KPiBAQCAtNjIzNCw3ICs2 MjM0LDYgQEAgaXhnYmVfc2V0X3F1ZXVlX3JhdGVfbGltaXQoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ ICpkZXYsDQo+ICAJCQkgICB1aW50MTZfdCBxdWV1ZV9pZHgsIHVpbnQxNl90IHR4X3JhdGUpDQo+ ICB7DQo+ICAJc3RydWN0IGl4Z2JlX2h3ICpodyA9IElYR0JFX0RFVl9QUklWQVRFX1RPX0hXKGRl di0+ZGF0YS0NCj4gPmRldl9wcml2YXRlKTsNCj4gLQlzdHJ1Y3QgcnRlX2V0aF9yeG1vZGUgKnJ4 bW9kZTsNCj4gIAl1aW50MzJfdCByZl9kZWMsIHJmX2ludDsNCj4gIAl1aW50MzJfdCBiY25yY192 YWw7DQo+ICAJdWludDE2X3QgbGlua19zcGVlZCA9IGRldi0+ZGF0YS0+ZGV2X2xpbmsubGlua19z cGVlZDsNCj4gQEAgLTYyNTYsMTQgKzYyNTUsMTIgQEAgaXhnYmVfc2V0X3F1ZXVlX3JhdGVfbGlt aXQoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYsDQo+ICAJCWJjbnJjX3ZhbCA9IDA7DQo+ICAJ fQ0KPiANCj4gLQlyeG1vZGUgPSAmZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGU7DQo+ICAJLyoN Cj4gIAkgKiBTZXQgZ2xvYmFsIHRyYW5zbWl0IGNvbXBlbnNhdGlvbiB0aW1lIHRvIHRoZSBNTVdf U0laRSBpbg0KPiBSVFRCQ05STQ0KPiAgCSAqIHJlZ2lzdGVyLiBNTVdfU0laRT0weDAxNCBpZiA5 NzI4LWJ5dGUganVtYm8gaXMgc3VwcG9ydGVkLA0KPiBvdGhlcndpc2UNCj4gIAkgKiBzZXQgYXMg MHg0Lg0KPiAgCSAqLw0KPiAtCWlmICgocnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9PRkZMT0FE X0pVTUJPX0ZSQU1FKSAmJg0KPiAtCSAgICAoZGV2LT5kYXRhLT5tdHUgKyBJWEdCRV9FVEhfT1ZF UkhFQUQgPj0NCj4gSVhHQkVfTUFYX0pVTUJPX0ZSQU1FX1NJWkUpKQ0KPiArCWlmIChkZXYtPmRh dGEtPm10dSArIElYR0JFX0VUSF9PVkVSSEVBRCA+PQ0KPiBJWEdCRV9NQVhfSlVNQk9fRlJBTUVf U0laRSkNCj4gIAkJSVhHQkVfV1JJVEVfUkVHKGh3LCBJWEdCRV9SVFRCQ05STSwNCj4gSVhHQkVf TU1XX1NJWkVfSlVNQk9fRlJBTUUpOw0KPiAgCWVsc2UNCj4gIAkJSVhHQkVfV1JJVEVfUkVHKGh3 LCBJWEdCRV9SVFRCQ05STSwNCj4gSVhHQkVfTU1XX1NJWkVfREVGQVVMVCk7DQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9wZi5jIGIvZHJpdmVycy9uZXQvaXhnYmUvaXhn YmVfcGYuYw0KPiBpbmRleCA5YmNiYzQ0NWYyZDAuLjZlNjRmOWEwYWRlMiAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcGYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9peGdi ZS9peGdiZV9wZi5jDQo+IEBAIC02MDAsMTUgKzYwMCwxMCBAQCBpeGdiZV9zZXRfdmZfbHBlKHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MzJfdA0KPiB2ZiwgdWludDMyX3QgKm1zZ2J1ZikN Cj4gIAkJICAgSVhHQkVfTUhBRERfTUZTX01BU0spID4+IElYR0JFX01IQUREX01GU19TSElGVDsN Cj4gIAlpZiAobWF4X2ZycyA8IG1heF9mcmFtZSkgew0KPiAgCQlobHJlZzAgPSBJWEdCRV9SRUFE X1JFRyhodywgSVhHQkVfSExSRUcwKTsNCj4gLQkJaWYgKG1heF9mcmFtZSA+IElYR0JFX0VUSF9N QVhfTEVOKSB7DQo+IC0JCQlkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyB8PQ0K PiAtCQkJCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiArCQlpZiAobWF4X2ZyYW1lID4g SVhHQkVfRVRIX01BWF9MRU4pDQo+ICAJCQlobHJlZzAgfD0gSVhHQkVfSExSRUcwX0pVTUJPRU47 DQo+IC0JCX0gZWxzZSB7DQo+IC0JCQlkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2Fk cyAmPQ0KPiAtCQkJCX5ERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsNCj4gKwkJZWxzZQ0KPiAg CQkJaGxyZWcwICY9IH5JWEdCRV9ITFJFRzBfSlVNQk9FTjsNCj4gLQkJfQ0KPiAgCQlJWEdCRV9X UklURV9SRUcoaHcsIElYR0JFX0hMUkVHMCwgaGxyZWcwKTsNCj4gDQo+ICAJCW1heF9mcnMgPSBt YXhfZnJhbWUgPDwgSVhHQkVfTUhBRERfTUZTX1NISUZUOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jIGIvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5j DQo+IGluZGV4IDAzOTkxNzExZmQ2ZS4uYzIyM2VmMzdjNzlmIDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvaXhnYmUvaXhn YmVfcnh0eC5jDQo+IEBAIC0zMDMzLDcgKzMwMzMsNiBAQCBpeGdiZV9nZXRfcnhfcG9ydF9vZmZs b2FkcyhzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gKmRldikNCj4gIAkJICAgREVWX1JYX09GRkxPQURf VURQX0NLU1VNICAgfA0KPiAgCQkgICBERVZfUlhfT0ZGTE9BRF9UQ1BfQ0tTVU0gICB8DQo+ICAJ CSAgIERFVl9SWF9PRkZMT0FEX0tFRVBfQ1JDICAgIHwNCj4gLQkJICAgREVWX1JYX09GRkxPQURf SlVNQk9fRlJBTUUgfA0KPiAgCQkgICBERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiB8DQo+ICAJ CSAgIERFVl9SWF9PRkZMT0FEX1NDQVRURVIgfA0KPiAgCQkgICBERVZfUlhfT0ZGTE9BRF9SU1Nf SEFTSDsNCj4gQEAgLTUwOTUsNyArNTA5NCw3IEBAIGl4Z2JlX2Rldl9yeF9pbml0KHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2KQ0KPiAgCS8qDQo+ICAJICogQ29uZmlndXJlIGp1bWJvIGZyYW1lIHN1 cHBvcnQsIGlmIGFueS4NCj4gIAkgKi8NCj4gLQlpZiAocnhfY29uZi0+b2ZmbG9hZHMgJiBERVZf UlhfT0ZGTE9BRF9KVU1CT19GUkFNRSkgew0KPiArCWlmICgoZGV2LT5kYXRhLT5tdHUgJiBSVEVf RVRIRVJfTVRVKSAhPSAwKSB7DQo+ICAJCWhscmVnMCB8PSBJWEdCRV9ITFJFRzBfSlVNQk9FTjsN Cj4gIAkJbWF4ZnJzID0gSVhHQkVfUkVBRF9SRUcoaHcsIElYR0JFX01BWEZSUyk7DQo+ICAJCW1h eGZycyAmPSAweDAwMDBGRkZGOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NC9tbHg0 X3J4cS5jIGIvZHJpdmVycy9uZXQvbWx4NC9tbHg0X3J4cS5jDQo+IGluZGV4IDRhNWNmZDIyYWE3 MS4uZTczMTEyYzQ0NzQ5IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9tbHg0L21seDRfcnhx LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvbWx4NC9tbHg0X3J4cS5jDQo+IEBAIC02ODQsNyArNjg0 LDYgQEAgbWx4NF9nZXRfcnhfcXVldWVfb2ZmbG9hZHMoc3RydWN0IG1seDRfcHJpdiAqcHJpdikN Cj4gIHsNCj4gIAl1aW50NjRfdCBvZmZsb2FkcyA9IERFVl9SWF9PRkZMT0FEX1NDQVRURVIgfA0K PiAgCQkJICAgIERFVl9SWF9PRkZMT0FEX0tFRVBfQ1JDIHwNCj4gLQkJCSAgICBERVZfUlhfT0ZG TE9BRF9KVU1CT19GUkFNRSB8DQo+ICAJCQkgICAgREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ IA0KPiAgCWlmIChwcml2LT5od19jc3VtKQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4 NS9tbHg1X3J4cS5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5jDQo+IGluZGV4IDZmNGYz NTEyMjJkMy4uMGNjM2JjY2MwODI1IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9tbHg1L21s eDVfcnhxLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5jDQo+IEBAIC0zMzUs NyArMzM1LDYgQEAgbWx4NV9nZXRfcnhfcXVldWVfb2ZmbG9hZHMoc3RydWN0IHJ0ZV9ldGhfZGV2 DQo+ICpkZXYpDQo+ICAJc3RydWN0IG1seDVfZGV2X2NvbmZpZyAqY29uZmlnID0gJnByaXYtPmNv bmZpZzsNCj4gIAl1aW50NjRfdCBvZmZsb2FkcyA9IChERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSIHwN Cj4gIAkJCSAgICAgREVWX1JYX09GRkxPQURfVElNRVNUQU1QIHwNCj4gLQkJCSAgICAgREVWX1JY X09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAgCQkJICAgICBERVZfUlhfT0ZGTE9BRF9SU1NfSEFT SCk7DQo+IA0KPiAgCWlmICghY29uZmlnLT5tcHJxLmVuYWJsZWQpDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9tdm5ldGEvbXZuZXRhX2V0aGRldi5oDQo+IGIvZHJpdmVycy9uZXQvbXZuZXRh L212bmV0YV9ldGhkZXYuaA0KPiBpbmRleCBlZjgwNjc3OTBmODIuLjY0MjhmOWZmNzkzMSAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbXZuZXRhL212bmV0YV9ldGhkZXYuaA0KPiArKysgYi9k cml2ZXJzL25ldC9tdm5ldGEvbXZuZXRhX2V0aGRldi5oDQo+IEBAIC01NCw4ICs1NCw3IEBADQo+ ICAjZGVmaW5lIE1SVkxfTkVUQV9NUlVfVE9fTVRVKG1ydSkJKChtcnUpIC0NCj4gTVJWTF9ORVRB X0hEUlNfTEVOKQ0KPiANCj4gIC8qKiBSeCBvZmZsb2FkcyBjYXBhYmlsaXRpZXMgKi8NCj4gLSNk ZWZpbmUgTVZORVRBX1JYX09GRkxPQURTIChERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8IFwN Cj4gLQkJCSAgICBERVZfUlhfT0ZGTE9BRF9DSEVDS1NVTSkNCj4gKyNkZWZpbmUgTVZORVRBX1JY X09GRkxPQURTIChERVZfUlhfT0ZGTE9BRF9DSEVDS1NVTSkNCj4gDQo+ICAvKiogVHggb2ZmbG9h ZHMgY2FwYWJpbGl0aWVzICovDQo+ICAjZGVmaW5lIE1WTkVUQV9UWF9PRkZMT0FEX0NIRUNLU1VN DQo+IChERVZfVFhfT0ZGTE9BRF9JUFY0X0NLU1VNIHwgXA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvbXZwcDIvbXJ2bF9ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0L212cHAyL21ydmxfZXRo ZGV2LmMNCj4gaW5kZXggNWNlNzE2NjFjODRlLi5lZjk4N2I3ZGUxYjUgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvbmV0L212cHAyL21ydmxfZXRoZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvbXZw cDIvbXJ2bF9ldGhkZXYuYw0KPiBAQCAtNTksNyArNTksNiBAQA0KPiANCj4gIC8qKiBQb3J0IFJ4 IG9mZmxvYWQgY2FwYWJpbGl0aWVzICovDQo+ICAjZGVmaW5lIE1SVkxfUlhfT0ZGTE9BRFMgKERF Vl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVSIHwgXA0KPiAtCQkJICBERVZfUlhfT0ZGTE9BRF9KVU1C T19GUkFNRSB8IFwNCj4gIAkJCSAgREVWX1JYX09GRkxPQURfQ0hFQ0tTVU0pDQo+IA0KPiAgLyoq IFBvcnQgVHggb2ZmbG9hZHMgY2FwYWJpbGl0aWVzICovDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9uZnAvbmZwX2NvbW1vbi5jIGIvZHJpdmVycy9uZXQvbmZwL25mcF9jb21tb24uYw0KPiBp bmRleCBiMWNlMzViMzM0ZGEuLmEwYmI1Yjk2NDBjMiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9u ZXQvbmZwL25mcF9jb21tb24uYw0KPiArKysgYi9kcml2ZXJzL25ldC9uZnAvbmZwX2NvbW1vbi5j DQo+IEBAIC0zNjksOCArMzY5LDcgQEAgbmZwX2NoZWNrX29mZmxvYWRzKHN0cnVjdCBydGVfZXRo X2RldiAqZGV2KQ0KPiAgCQkJY3RybCB8PSBORlBfTkVUX0NGR19DVFJMX1JYVkxBTjsNCj4gIAl9 DQo+IA0KPiAtCWlmIChyeG1vZGUtPm9mZmxvYWRzICYgREVWX1JYX09GRkxPQURfSlVNQk9fRlJB TUUpDQo+IC0JCWh3LT5tdHUgPSBkZXYtPmRhdGEtPm10dTsNCj4gKwlody0+bXR1ID0gZGV2LT5k YXRhLT5tdHU7DQo+IA0KPiAgCWlmICh0eG1vZGUtPm9mZmxvYWRzICYgREVWX1RYX09GRkxPQURf VkxBTl9JTlNFUlQpDQo+ICAJCWN0cmwgfD0gTkZQX05FVF9DRkdfQ1RSTF9UWFZMQU47DQo+IEBA IC03NTcsOSArNzU2LDYgQEAgbmZwX25ldF9pbmZvc19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYsIHN0cnVjdA0KPiBydGVfZXRoX2Rldl9pbmZvICpkZXZfaW5mbykNCj4gIAkJLm5iX210dV9z ZWdfbWF4ID0gTkZQX1RYX01BWF9NVFVfU0VHLA0KPiAgCX07DQo+IA0KPiAtCS8qIEFsbCBORlAg ZGV2aWNlcyBzdXBwb3J0IGp1bWJvIGZyYW1lcyAqLw0KPiAtCWRldl9pbmZvLT5yeF9vZmZsb2Fk X2NhcGEgfD0gREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+IC0NCj4gIAlpZiAoaHctPmNh cCAmIE5GUF9ORVRfQ0ZHX0NUUkxfUlNTKSB7DQo+ICAJCWRldl9pbmZvLT5yeF9vZmZsb2FkX2Nh cGEgfD0gREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvb2N0ZW9udHgvb2N0ZW9udHhfZXRoZGV2LmgNCj4gYi9kcml2ZXJzL25ldC9vY3Rlb250 eC9vY3Rlb250eF9ldGhkZXYuaA0KPiBpbmRleCBiNzM1MTVkZTM3Y2EuLjNhMDI4MjRlMzk0OCAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvb2N0ZW9udHgvb2N0ZW9udHhfZXRoZGV2LmgNCj4g KysrIGIvZHJpdmVycy9uZXQvb2N0ZW9udHgvb2N0ZW9udHhfZXRoZGV2LmgNCj4gQEAgLTYwLDcg KzYwLDYgQEANCj4gDQo+IERFVl9SWF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tTVU0gfCBcDQo+ICAJ CQkJCSBERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSCSAgICAgICAgIHwNCj4gXA0KPiAgCQkJCQkgREVW X1JYX09GRkxPQURfU0NBVFRFUg0KPiAJIHwgXA0KPiAtCQkJCQkgREVWX1JYX09GRkxPQURfSlVN Qk9fRlJBTUUNCj4gCSB8IFwNCj4gIAkJCQkJIERFVl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVSKQ0K PiANCj4gICNkZWZpbmUgT0NURU9OVFhfVFhfT0ZGTE9BRFMJCSgNCj4gCSAgIFwNCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L29jdGVvbnR4Mi9vdHgyX2V0aGRldi5oDQo+IGIvZHJpdmVycy9u ZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2LmgNCj4gaW5kZXggNzg3MWUzZDMwYmRhLi40N2VlMTI2 ZWQ3ZmQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L29jdGVvbnR4Mi9vdHgyX2V0aGRldi5o DQo+ICsrKyBiL2RyaXZlcnMvbmV0L29jdGVvbnR4Mi9vdHgyX2V0aGRldi5oDQo+IEBAIC0xNDgs NyArMTQ4LDYgQEANCj4gIAlERVZfUlhfT0ZGTE9BRF9TQ1RQX0NLU1VNCXwgXA0KPiAgCURFVl9S WF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tTVU0gfCBcDQo+ICAJREVWX1JYX09GRkxPQURfU0NBVFRF UgkJfCBcDQo+IC0JREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUJfCBcDQo+ICAJREVWX1JYX09G RkxPQURfT1VURVJfVURQX0NLU1VNCXwgXA0KPiAgCURFVl9SWF9PRkZMT0FEX1ZMQU5fU1RSSVAJ fCBcDQo+ICAJREVWX1JYX09GRkxPQURfVkxBTl9GSUxURVIJfCBcDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9vY3Rlb250eF9lcC9vdHhfZXBfZXRoZGV2LmMNCj4gYi9kcml2ZXJzL25ldC9v Y3Rlb250eF9lcC9vdHhfZXBfZXRoZGV2LmMNCj4gaW5kZXggYTI0MzY4M2Q2MWQzLi5jNjUwNDFh MTZiYTcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L29jdGVvbnR4X2VwL290eF9lcF9ldGhk ZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9vY3Rlb250eF9lcC9vdHhfZXBfZXRoZGV2LmMNCj4g QEAgLTM5LDggKzM5LDcgQEAgb3R4X2VwX2Rldl9pbmZvX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYg KmV0aF9kZXYsDQo+IA0KPiAgCWRldmluZm8tPm1pbl9yeF9idWZzaXplID0gT1RYX0VQX01JTl9S WF9CVUZfU0laRTsNCj4gIAlkZXZpbmZvLT5tYXhfcnhfcGt0bGVuID0gT1RYX0VQX01BWF9QS1Rf U1o7DQo+IC0JZGV2aW5mby0+cnhfb2ZmbG9hZF9jYXBhID0gREVWX1JYX09GRkxPQURfSlVNQk9f RlJBTUU7DQo+IC0JZGV2aW5mby0+cnhfb2ZmbG9hZF9jYXBhIHw9IERFVl9SWF9PRkZMT0FEX1ND QVRURVI7DQo+ICsJZGV2aW5mby0+cnhfb2ZmbG9hZF9jYXBhID0gREVWX1JYX09GRkxPQURfU0NB VFRFUjsNCj4gIAlkZXZpbmZvLT50eF9vZmZsb2FkX2NhcGEgPSBERVZfVFhfT0ZGTE9BRF9NVUxU SV9TRUdTOw0KPiANCj4gIAlkZXZpbmZvLT5tYXhfbWFjX2FkZHJzID0gT1RYX0VQX01BWF9NQUNf QUREUlM7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9vY3Rlb250eF9lcC9vdHhfZXBfcnh0 eC5jDQo+IGIvZHJpdmVycy9uZXQvb2N0ZW9udHhfZXAvb3R4X2VwX3J4dHguYw0KPiBpbmRleCBh N2Q0MzM1NDdlMzYuLmFhNGRjZDMzY2M3OSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvb2N0 ZW9udHhfZXAvb3R4X2VwX3J4dHguYw0KPiArKysgYi9kcml2ZXJzL25ldC9vY3Rlb250eF9lcC9v dHhfZXBfcnh0eC5jDQo+IEBAIC05NTMsMTIgKzk1Myw2IEBAIG90eF9lcF9kcm9xX3JlYWRfcGFj a2V0KHN0cnVjdCBvdHhfZXBfZGV2aWNlDQo+ICpvdHhfZXAsDQo+ICAJZHJvcV9wa3QtPmwzX2xl biA9IGhkcl9sZW5zLmwzX2xlbjsNCj4gIAlkcm9xX3BrdC0+bDRfbGVuID0gaGRyX2xlbnMubDRf bGVuOw0KPiANCj4gLQlpZiAoKGRyb3FfcGt0LT5wa3RfbGVuID4gKFJURV9FVEhFUl9NQVhfTEVO ICsNCj4gT1RYX0NVU1RfREFUQV9MRU4pKSAmJg0KPiAtCSAgICAhKG90eF9lcC0+cnhfb2ZmbG9h ZHMgJiBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSkpIHsNCj4gLQkJcnRlX3BrdG1idWZfZnJl ZShkcm9xX3BrdCk7DQo+IC0JCWdvdG8gb3FfcmVhZF9mYWlsOw0KPiAtCX0NCj4gLQ0KPiAgCWlm IChkcm9xX3BrdC0+bmJfc2VncyA+IDEgJiYNCj4gIAkgICAgIShvdHhfZXAtPnJ4X29mZmxvYWRz ICYgREVWX1JYX09GRkxPQURfU0NBVFRFUikpIHsNCj4gIAkJcnRlX3BrdG1idWZfZnJlZShkcm9x X3BrdCk7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9xZWRlL3FlZGVfZXRoZGV2LmMNCj4g Yi9kcml2ZXJzL25ldC9xZWRlL3FlZGVfZXRoZGV2LmMNCj4gaW5kZXggODRlMjNmZjAzNDE4Li4w NmMzY2NmMjA3MTYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3FlZGUvcWVkZV9ldGhkZXYu Yw0KPiArKysgYi9kcml2ZXJzL25ldC9xZWRlL3FlZGVfZXRoZGV2LmMNCj4gQEAgLTEzOTIsNyAr MTM5Miw2IEBAIHFlZGVfZGV2X2luZm9fZ2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldiwN Cj4gIAkJCQkgICAgIERFVl9SWF9PRkZMT0FEX1RDUF9MUk8JfA0KPiAgCQkJCSAgICAgREVWX1JY X09GRkxPQURfS0VFUF9DUkMgICAgfA0KPiAgCQkJCSAgICAgREVWX1JYX09GRkxPQURfU0NBVFRF Ugl8DQo+IC0JCQkJICAgICBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8DQo+ICAJCQkJICAg ICBERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiB8DQo+ICAJCQkJICAgICBERVZfUlhfT0ZGTE9B RF9WTEFOX1NUUklQICB8DQo+ICAJCQkJICAgICBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCk7DQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9zZmMvc2ZjX3J4LmMgYi9kcml2ZXJzL25ldC9zZmMv c2ZjX3J4LmMNCj4gaW5kZXggMjgwZThhNjFmOWUwLi42MmIyMTVmNjJjZDYgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvbmV0L3NmYy9zZmNfcnguYw0KPiArKysgYi9kcml2ZXJzL25ldC9zZmMvc2Zj X3J4LmMNCj4gQEAgLTk0MCw4ICs5NDAsNiBAQCBzZmNfcnhfZ2V0X2Rldl9vZmZsb2FkX2NhcHMo c3RydWN0IHNmY19hZGFwdGVyICpzYSkNCj4gIHsNCj4gIAl1aW50NjRfdCBjYXBzID0gc2EtPnBy aXYuZHBfcngtPmRldl9vZmZsb2FkX2NhcGE7DQo+IA0KPiAtCWNhcHMgfD0gREVWX1JYX09GRkxP QURfSlVNQk9fRlJBTUU7DQo+IC0NCj4gIAlyZXR1cm4gY2FwcyAmIHNmY19yeF9nZXRfb2ZmbG9h ZF9tYXNrKHNhKTsNCj4gIH0NCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90aHVuZGVy eC9uaWN2Zl9ldGhkZXYuaA0KPiBiL2RyaXZlcnMvbmV0L3RodW5kZXJ4L25pY3ZmX2V0aGRldi5o DQo+IGluZGV4IGI4ZGQ5MDVkMGJkNi4uNWQzODc1MGQ2MzEzIDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL25ldC90aHVuZGVyeC9uaWN2Zl9ldGhkZXYuaA0KPiArKysgYi9kcml2ZXJzL25ldC90aHVu ZGVyeC9uaWN2Zl9ldGhkZXYuaA0KPiBAQCAtNDAsNyArNDAsNiBAQA0KPiAgI2RlZmluZSBOSUNW Rl9SWF9PRkZMT0FEX0NBUEEgKCBcDQo+ICAJREVWX1JYX09GRkxPQURfQ0hFQ0tTVU0gICAgfCBc DQo+ICAJREVWX1JYX09GRkxPQURfVkxBTl9TVFJJUCAgfCBcDQo+IC0JREVWX1JYX09GRkxPQURf SlVNQk9fRlJBTUUgfCBcDQo+ICAJREVWX1JYX09GRkxPQURfU0NBVFRFUiAgICAgfCBcDQo+ICAJ REVWX1JYX09GRkxPQURfUlNTX0hBU0gpDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv dHhnYmUvdHhnYmVfcnh0eC5jIGIvZHJpdmVycy9uZXQvdHhnYmUvdHhnYmVfcnh0eC5jDQo+IGlu ZGV4IGM2Y2QzODAzYzQzNC4uMGNlNzU0ZmIyNWIwIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25l dC90eGdiZS90eGdiZV9yeHR4LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdHhnYmUvdHhnYmVfcnh0 eC5jDQo+IEBAIC0xOTUzLDcgKzE5NTMsNiBAQCB0eGdiZV9nZXRfcnhfcG9ydF9vZmZsb2Fkcyhz dHJ1Y3QgcnRlX2V0aF9kZXYNCj4gKmRldikNCj4gIAkJICAgREVWX1JYX09GRkxPQURfVURQX0NL U1VNICAgfA0KPiAgCQkgICBERVZfUlhfT0ZGTE9BRF9UQ1BfQ0tTVU0gICB8DQo+ICAJCSAgIERF Vl9SWF9PRkZMT0FEX0tFRVBfQ1JDICAgIHwNCj4gLQkJICAgREVWX1JYX09GRkxPQURfSlVNQk9f RlJBTUUgfA0KPiAgCQkgICBERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUiB8DQo+ICAJCSAgIERF Vl9SWF9PRkZMT0FEX1JTU19IQVNIIHwNCj4gIAkJICAgREVWX1JYX09GRkxPQURfU0NBVFRFUjsN Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMNCj4gYi9k cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5jDQo+IGluZGV4IDVkMzQxYTNlMjNiYi4u YTA1ZTczY2Q4YjYwIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0 aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMNCj4gQEAg LTI1NTYsNyArMjU1Niw2IEBAIHZpcnRpb19kZXZfaW5mb19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYsIHN0cnVjdA0KPiBydGVfZXRoX2Rldl9pbmZvICpkZXZfaW5mbykNCj4gDQo+ICAJaG9z dF9mZWF0dXJlcyA9IFZJUlRJT19PUFMoaHcpLT5nZXRfZmVhdHVyZXMoaHcpOw0KPiAgCWRldl9p bmZvLT5yeF9vZmZsb2FkX2NhcGEgPSBERVZfUlhfT0ZGTE9BRF9WTEFOX1NUUklQOw0KPiAtCWRl dl9pbmZvLT5yeF9vZmZsb2FkX2NhcGEgfD0gREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+ ICAJaWYgKGhvc3RfZmVhdHVyZXMgJiAoMVVMTCA8PCBWSVJUSU9fTkVUX0ZfTVJHX1JYQlVGKSkN Cj4gIAkJZGV2X2luZm8tPnJ4X29mZmxvYWRfY2FwYSB8PSBERVZfUlhfT0ZGTE9BRF9TQ0FUVEVS Ow0KPiAgCWlmIChob3N0X2ZlYXR1cmVzICYgKDFVTEwgPDwgVklSVElPX05FVF9GX0dVRVNUX0NT VU0pKSB7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2 LmMNCj4gYi9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2LmMNCj4gaW5kZXggMmY0 MGFlOTA3ZGNkLi4wMjEwZjkxNDBiNDggMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZteG5l dDMvdm14bmV0M19ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNf ZXRoZGV2LmMNCj4gQEAgLTU0LDcgKzU0LDYgQEANCj4gIAkgREVWX1JYX09GRkxPQURfVURQX0NL U1VNIHwJXA0KPiAgCSBERVZfUlhfT0ZGTE9BRF9UQ1BfQ0tTVU0gfAlcDQo+ICAJIERFVl9SWF9P RkZMT0FEX1RDUF9MUk8gfAlcDQo+IC0JIERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FIHwgICBc DQo+ICAJIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIKQ0KPiANCj4gIGludCB2bXhuZXQzX3NlZ3Nf ZHluZmllbGRfb2Zmc2V0ID0gLTE7DQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9pcF9mcmFnbWVu dGF0aW9uL21haW4uYw0KPiBiL2V4YW1wbGVzL2lwX2ZyYWdtZW50YXRpb24vbWFpbi5jDQo+IGlu ZGV4IDEyMDYyYTc4NWRjNi4uN2MwY2IwOTNlZGEzIDEwMDY0NA0KPiAtLS0gYS9leGFtcGxlcy9p cF9mcmFnbWVudGF0aW9uL21haW4uYw0KPiArKysgYi9leGFtcGxlcy9pcF9mcmFnbWVudGF0aW9u L21haW4uYw0KPiBAQCAtMTUwLDggKzE1MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcnRlX2V0aF9jb25m IHBvcnRfY29uZiA9IHsNCj4gIAkJCVJURV9FVEhFUl9DUkNfTEVOLA0KPiAgCQkuc3BsaXRfaGRy X3NpemUgPSAwLA0KPiAgCQkub2ZmbG9hZHMgPSAoREVWX1JYX09GRkxPQURfQ0hFQ0tTVU0gfA0K PiAtCQkJICAgICBERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSIHwNCj4gLQkJCSAgICAgREVWX1JYX09G RkxPQURfSlVNQk9fRlJBTUUpLA0KPiArCQkJICAgICBERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSKSwN Cj4gIAl9LA0KPiAgCS50eG1vZGUgPSB7DQo+ICAJCS5tcV9tb2RlID0gRVRIX01RX1RYX05PTkUs DQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9pcF9yZWFzc2VtYmx5L21haW4uYw0KPiBiL2V4YW1w bGVzL2lwX3JlYXNzZW1ibHkvbWFpbi5jDQo+IGluZGV4IGU1YzdkNDZkMmNhYS4uYWY2N2RiNDlm N2ZiIDEwMDY0NA0KPiAtLS0gYS9leGFtcGxlcy9pcF9yZWFzc2VtYmx5L21haW4uYw0KPiArKysg Yi9leGFtcGxlcy9pcF9yZWFzc2VtYmx5L21haW4uYw0KPiBAQCAtMTY1LDggKzE2NSw3IEBAIHN0 YXRpYyBzdHJ1Y3QgcnRlX2V0aF9jb25mIHBvcnRfY29uZiA9IHsNCj4gIAkJLm10dSA9IEpVTUJP X0ZSQU1FX01BWF9TSVpFIC0gUlRFX0VUSEVSX0hEUl9MRU4gLQ0KPiAgCQkJUlRFX0VUSEVSX0NS Q19MRU4sDQo+ICAJCS5zcGxpdF9oZHJfc2l6ZSA9IDAsDQo+IC0JCS5vZmZsb2FkcyA9IChERVZf UlhfT0ZGTE9BRF9DSEVDS1NVTSB8DQo+IC0JCQkgICAgIERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZS QU1FKSwNCj4gKwkJLm9mZmxvYWRzID0gREVWX1JYX09GRkxPQURfQ0hFQ0tTVU0sDQo+ICAJfSwN Cj4gIAkucnhfYWR2X2NvbmYgPSB7DQo+ICAJCQkucnNzX2NvbmYgPSB7DQo+IGRpZmYgLS1naXQg YS9leGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy1zZWNndy5jIGIvZXhhbXBsZXMvaXBzZWMtDQo+ IHNlY2d3L2lwc2VjLXNlY2d3LmMNCj4gaW5kZXggZDAzMmE0N2QxYzNiLi40YTc0MWJmZGRlNGQg MTAwNjQ0DQo+IC0tLSBhL2V4YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLXNlY2d3LmMNCj4gKysr IGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYw0KPiBAQCAtMjIwOSw4ICsyMjA5 LDYgQEAgcG9ydF9pbml0KHVpbnQxNl90IHBvcnRpZCwgdWludDY0X3QgcmVxX3J4X29mZmxvYWRz LA0KPiB1aW50NjRfdCByZXFfdHhfb2ZmbG9hZHMpDQo+ICAJcHJpbnRmKCJDcmVhdGluZyBxdWV1 ZXM6IG5iX3J4X3F1ZXVlPSVkIG5iX3R4X3F1ZXVlPSV1Li4uXG4iLA0KPiAgCQkJbmJfcnhfcXVl dWUsIG5iX3R4X3F1ZXVlKTsNCj4gDQo+IC0JaWYgKG10dV9zaXplID4gUlRFX0VUSEVSX01UVSkN Cj4gLQkJbG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkcyB8PQ0KPiBERVZfUlhfT0ZGTE9B RF9KVU1CT19GUkFNRTsNCj4gIAlsb2NhbF9wb3J0X2NvbmYucnhtb2RlLm10dSA9IG10dV9zaXpl Ow0KPiANCj4gIAlpZiAobXVsdGlfc2VnX3JlcXVpcmVkKCkpIHsNCj4gZGlmZiAtLWdpdCBhL2V4 YW1wbGVzL2lwdjRfbXVsdGljYXN0L21haW4uYw0KPiBiL2V4YW1wbGVzL2lwdjRfbXVsdGljYXN0 L21haW4uYw0KPiBpbmRleCBiMzk5MzY4NWVjOTIuLjYzYmJkN2U2NGNlYiAxMDA2NDQNCj4gLS0t IGEvZXhhbXBsZXMvaXB2NF9tdWx0aWNhc3QvbWFpbi5jDQo+ICsrKyBiL2V4YW1wbGVzL2lwdjRf bXVsdGljYXN0L21haW4uYw0KPiBAQCAtMTEzLDcgKzExMyw2IEBAIHN0YXRpYyBzdHJ1Y3QgcnRl X2V0aF9jb25mIHBvcnRfY29uZiA9IHsNCj4gIAkJLm10dSA9IEpVTUJPX0ZSQU1FX01BWF9TSVpF IC0gUlRFX0VUSEVSX0hEUl9MRU4gLQ0KPiAgCQkJUlRFX0VUSEVSX0NSQ19MRU4sDQo+ICAJCS5z cGxpdF9oZHJfc2l6ZSA9IDAsDQo+IC0JCS5vZmZsb2FkcyA9IERFVl9SWF9PRkZMT0FEX0pVTUJP X0ZSQU1FLA0KPiAgCX0sDQo+ICAJLnR4bW9kZSA9IHsNCj4gIAkJLm1xX21vZGUgPSBFVEhfTVFf VFhfTk9ORSwNCj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2tuaS9tYWluLmMgYi9leGFtcGxlcy9r bmkvbWFpbi5jDQo+IGluZGV4IGMxMDgxNGM2YTk0Zi4uMGZkOTQ1ZTdlMGIyIDEwMDY0NA0KPiAt LS0gYS9leGFtcGxlcy9rbmkvbWFpbi5jDQo+ICsrKyBiL2V4YW1wbGVzL2tuaS9tYWluLmMNCj4g QEAgLTc5MCwxMSArNzkwLDYgQEAga25pX2NoYW5nZV9tdHVfKHVpbnQxNl90IHBvcnRfaWQsIHVu c2lnbmVkIGludA0KPiBuZXdfbXR1KQ0KPiAgCX0NCj4gDQo+ICAJbWVtY3B5KCZjb25mLCAmcG9y dF9jb25mLCBzaXplb2YoY29uZikpOw0KPiAtCS8qIFNldCBuZXcgTVRVICovDQo+IC0JaWYgKG5l d19tdHUgPiBSVEVfRVRIRVJfTVRVKQ0KPiAtCQljb25mLnJ4bW9kZS5vZmZsb2FkcyB8PSBERVZf UlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsNCj4gLQllbHNlDQo+IC0JCWNvbmYucnhtb2RlLm9mZmxv YWRzICY9DQo+IH5ERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsNCj4gDQo+ICAJY29uZi5yeG1v ZGUubXR1ID0gbmV3X210dTsNCj4gIAlyZXQgPSBydGVfZXRoX2Rldl9jb25maWd1cmUocG9ydF9p ZCwgMSwgMSwgJmNvbmYpOw0KPiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbDNmd2QtYWNsL21haW4u YyBiL2V4YW1wbGVzL2wzZndkLWFjbC9tYWluLmMNCj4gaW5kZXggN2FiYjYxMmVlNmE0Li5mNmRm YjE1NmFjNTYgMTAwNjQ0DQo+IC0tLSBhL2V4YW1wbGVzL2wzZndkLWFjbC9tYWluLmMNCj4gKysr IGIvZXhhbXBsZXMvbDNmd2QtYWNsL21haW4uYw0KPiBAQCAtMjAwMCwxMCArMjAwMCw4IEBAIGNv bmZpZ19wb3J0X21heF9wa3RfbGVuKHN0cnVjdCBydGVfZXRoX2NvbmYNCj4gKmNvbmYsDQo+ICAJ CQlkZXZfaW5mby0+bWF4X210dSk7DQo+ICAJY29uZi0+cnhtb2RlLm10dSA9IG1heF9wa3RfbGVu IC0gb3ZlcmhlYWRfbGVuOw0KPiANCj4gLQlpZiAoY29uZi0+cnhtb2RlLm10dSA+IFJURV9FVEhF Ul9NVFUpIHsNCj4gKwlpZiAoY29uZi0+cnhtb2RlLm10dSA+IFJURV9FVEhFUl9NVFUpDQo+ICAJ CWNvbmYtPnR4bW9kZS5vZmZsb2FkcyB8PSBERVZfVFhfT0ZGTE9BRF9NVUxUSV9TRUdTOw0KPiAt CQljb25mLT5yeG1vZGUub2ZmbG9hZHMgfD0NCj4gREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7 DQo+IC0JfQ0KPiANCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2wzZndkLWdyYXBoL21haW4uYyBiL2V4YW1wbGVzL2wzZndkLWdyYXBoL21haW4uYw0KPiBpbmRl eCBiNDMxYjlmZjVmM2MuLmExODVhMDUxMjgyNiAxMDA2NDQNCj4gLS0tIGEvZXhhbXBsZXMvbDNm d2QtZ3JhcGgvbWFpbi5jDQo+ICsrKyBiL2V4YW1wbGVzL2wzZndkLWdyYXBoL21haW4uYw0KPiBA QCAtNzMwLDEwICs3MzAsOCBAQCBjb25maWdfcG9ydF9tYXhfcGt0X2xlbihzdHJ1Y3QgcnRlX2V0 aF9jb25mICpjb25mLA0KPiAgCQkJZGV2X2luZm8tPm1heF9tdHUpOw0KPiAgCWNvbmYtPnJ4bW9k ZS5tdHUgPSBtYXhfcGt0X2xlbiAtIG92ZXJoZWFkX2xlbjsNCj4gDQo+IC0JaWYgKGNvbmYtPnJ4 bW9kZS5tdHUgPiBSVEVfRVRIRVJfTVRVKSB7DQo+ICsJaWYgKGNvbmYtPnJ4bW9kZS5tdHUgPiBS VEVfRVRIRVJfTVRVKQ0KPiAgCQljb25mLT50eG1vZGUub2ZmbG9hZHMgfD0gREVWX1RYX09GRkxP QURfTVVMVElfU0VHUzsNCj4gLQkJY29uZi0+cnhtb2RlLm9mZmxvYWRzIHw9DQo+IERFVl9SWF9P RkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiAtCX0NCj4gDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IGRp ZmYgLS1naXQgYS9leGFtcGxlcy9sM2Z3ZC1wb3dlci9tYWluLmMgYi9leGFtcGxlcy9sM2Z3ZC1w b3dlci9tYWluLmMNCj4gaW5kZXggZTU4NTYxMzI3YzQ4Li4xMmI0ZGNlNzdjZTEgMTAwNjQ0DQo+ IC0tLSBhL2V4YW1wbGVzL2wzZndkLXBvd2VyL21haW4uYw0KPiArKysgYi9leGFtcGxlcy9sM2Z3 ZC1wb3dlci9tYWluLmMNCj4gQEAgLTI1MDksMTAgKzI1MDksOCBAQCBjb25maWdfcG9ydF9tYXhf cGt0X2xlbihzdHJ1Y3QgcnRlX2V0aF9jb25mDQo+ICpjb25mLA0KPiAgCQkJZGV2X2luZm8tPm1h eF9tdHUpOw0KPiAgCWNvbmYtPnJ4bW9kZS5tdHUgPSBtYXhfcGt0X2xlbiAtIG92ZXJoZWFkX2xl bjsNCj4gDQo+IC0JaWYgKGNvbmYtPnJ4bW9kZS5tdHUgPiBSVEVfRVRIRVJfTVRVKSB7DQo+ICsJ aWYgKGNvbmYtPnJ4bW9kZS5tdHUgPiBSVEVfRVRIRVJfTVRVKQ0KPiAgCQljb25mLT50eG1vZGUu b2ZmbG9hZHMgfD0gREVWX1RYX09GRkxPQURfTVVMVElfU0VHUzsNCj4gLQkJY29uZi0+cnhtb2Rl Lm9mZmxvYWRzIHw9DQo+IERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiAtCX0NCj4gDQo+ ICAJcmV0dXJuIDA7DQo+ICB9DQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9sM2Z3ZC9tYWluLmMg Yi9leGFtcGxlcy9sM2Z3ZC9tYWluLmMNCj4gaW5kZXggY2I5YmM3YWQ2MDAyLi4yMmQzNTc0OTQx MGIgMTAwNjQ0DQo+IC0tLSBhL2V4YW1wbGVzL2wzZndkL21haW4uYw0KPiArKysgYi9leGFtcGxl cy9sM2Z3ZC9tYWluLmMNCj4gQEAgLTk4NywxMCArOTg3LDggQEAgY29uZmlnX3BvcnRfbWF4X3Br dF9sZW4oc3RydWN0IHJ0ZV9ldGhfY29uZiAqY29uZiwNCj4gIAkJCWRldl9pbmZvLT5tYXhfbXR1 KTsNCj4gIAljb25mLT5yeG1vZGUubXR1ID0gbWF4X3BrdF9sZW4gLSBvdmVyaGVhZF9sZW47DQo+ IA0KPiAtCWlmIChjb25mLT5yeG1vZGUubXR1ID4gUlRFX0VUSEVSX01UVSkgew0KPiArCWlmIChj b25mLT5yeG1vZGUubXR1ID4gUlRFX0VUSEVSX01UVSkNCj4gIAkJY29uZi0+dHhtb2RlLm9mZmxv YWRzIHw9IERFVl9UWF9PRkZMT0FEX01VTFRJX1NFR1M7DQo+IC0JCWNvbmYtPnJ4bW9kZS5vZmZs b2FkcyB8PQ0KPiBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsNCj4gLQl9DQo+IA0KPiAgCXJl dHVybiAwOw0KPiAgfQ0KPiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvcGVyZm9ybWFuY2UtdGhyZWFk L2wzZndkLXRocmVhZC9tYWluLmMNCj4gYi9leGFtcGxlcy9wZXJmb3JtYW5jZS10aHJlYWQvbDNm d2QtdGhyZWFkL21haW4uYw0KPiBpbmRleCBiNmNkZGM4YzdiNTEuLjhmYzNhN2M2NzVhMiAxMDA2 NDQNCj4gLS0tIGEvZXhhbXBsZXMvcGVyZm9ybWFuY2UtdGhyZWFkL2wzZndkLXRocmVhZC9tYWlu LmMNCj4gKysrIGIvZXhhbXBsZXMvcGVyZm9ybWFuY2UtdGhyZWFkL2wzZndkLXRocmVhZC9tYWlu LmMNCj4gQEAgLTM0OTMsMTAgKzM0OTMsOCBAQCBjb25maWdfcG9ydF9tYXhfcGt0X2xlbihzdHJ1 Y3QgcnRlX2V0aF9jb25mDQo+ICpjb25mLA0KPiAgCQkJZGV2X2luZm8tPm1heF9tdHUpOw0KPiAg CWNvbmYtPnJ4bW9kZS5tdHUgPSBtYXhfcGt0X2xlbiAtIG92ZXJoZWFkX2xlbjsNCj4gDQo+IC0J aWYgKGNvbmYtPnJ4bW9kZS5tdHUgPiBSVEVfRVRIRVJfTVRVKSB7DQo+ICsJaWYgKGNvbmYtPnJ4 bW9kZS5tdHUgPiBSVEVfRVRIRVJfTVRVKQ0KPiAgCQljb25mLT50eG1vZGUub2ZmbG9hZHMgfD0g REVWX1RYX09GRkxPQURfTVVMVElfU0VHUzsNCj4gLQkJY29uZi0+cnhtb2RlLm9mZmxvYWRzIHw9 DQo+IERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiAtCX0NCj4gDQo+ICAJcmV0dXJuIDA7 DQo+ICB9DQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy92aG9zdC9tYWluLmMgYi9leGFtcGxlcy92 aG9zdC9tYWluLmMNCj4gaW5kZXggZGEzODFiNDFjMGM1Li5hOWMyMDcxMjQxNTMgMTAwNjQ0DQo+ IC0tLSBhL2V4YW1wbGVzL3Zob3N0L21haW4uYw0KPiArKysgYi9leGFtcGxlcy92aG9zdC9tYWlu LmMNCj4gQEAgLTYzMSwxMSArNjMxLDggQEAgdXNfdmhvc3RfcGFyc2VfYXJncyhpbnQgYXJnYywg Y2hhciAqKmFyZ3YpDQo+ICAJCQkJcmV0dXJuIC0xOw0KPiAgCQkJfQ0KPiAgCQkJbWVyZ2VhYmxl ID0gISFyZXQ7DQo+IC0JCQlpZiAocmV0KSB7DQo+IC0JCQkJdm1kcV9jb25mX2RlZmF1bHQucnht b2RlLm9mZmxvYWRzIHw9DQo+IC0JCQkJCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FOw0KPiAr CQkJaWYgKHJldCkNCj4gIAkJCQl2bWRxX2NvbmZfZGVmYXVsdC5yeG1vZGUubXR1ID0NCj4gTUFY X01UVTsNCj4gLQkJCX0NCj4gIAkJCWJyZWFrOw0KPiANCj4gIAkJY2FzZSBPUFRfU1RBVFNfTlVN Og0KPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMgYi9saWIvZXRoZGV2L3J0 ZV9ldGhkZXYuYw0KPiBpbmRleCBjZTBlZDUwOWQyOGYuLmMyYjYyNGFiYTFhMCAxMDA2NDQNCj4g LS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMNCj4gKysrIGIvbGliL2V0aGRldi9ydGVfZXRo ZGV2LmMNCj4gQEAgLTExOCw3ICsxMTgsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsNCj4gIAlS VEVfUlhfT0ZGTE9BRF9CSVQyU1RSKEhFQURFUl9TUExJVCksDQo+ICAJUlRFX1JYX09GRkxPQURf QklUMlNUUihWTEFOX0ZJTFRFUiksDQo+ICAJUlRFX1JYX09GRkxPQURfQklUMlNUUihWTEFOX0VY VEVORCksDQo+IC0JUlRFX1JYX09GRkxPQURfQklUMlNUUihKVU1CT19GUkFNRSksDQo+ICAJUlRF X1JYX09GRkxPQURfQklUMlNUUihTQ0FUVEVSKSwNCj4gIAlSVEVfUlhfT0ZGTE9BRF9CSVQyU1RS KFRJTUVTVEFNUCksDQo+ICAJUlRFX1JYX09GRkxPQURfQklUMlNUUihTRUNVUklUWSksDQo+IEBA IC0xNDg1LDEzICsxNDg0LDYgQEAgcnRlX2V0aF9kZXZfY29uZmlndXJlKHVpbnQxNl90IHBvcnRf aWQsIHVpbnQxNl90DQo+IG5iX3J4X3EsIHVpbnQxNl90IG5iX3R4X3EsDQo+ICAJCWdvdG8gcm9s bGJhY2s7DQo+ICAJfQ0KPiANCj4gLQlpZiAoKGRldl9jb25mLT5yeG1vZGUub2ZmbG9hZHMgJiBE RVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSkNCj4gPT0gMCkgew0KPiAtCQlpZiAoZGV2LT5kYXRh LT5kZXZfY29uZi5yeG1vZGUubXR1IDwNCj4gUlRFX0VUSEVSX01JTl9NVFUgfHwNCj4gLQkJCQlk ZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tdHUgPg0KPiBSVEVfRVRIRVJfTVRVKQ0KPiAtCQkJ LyogVXNlIGRlZmF1bHQgdmFsdWUgKi8NCj4gLQkJCWRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2Rl Lm10dSA9DQo+IFJURV9FVEhFUl9NVFU7DQo+IC0JfQ0KPiAtDQo+ICAJZGV2LT5kYXRhLT5tdHUg PSBkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tdHU7DQo+IA0KPiAgCS8qDQo+IEBAIC0zNjM5 LDcgKzM2MzEsNiBAQCBydGVfZXRoX2Rldl9zZXRfbXR1KHVpbnQxNl90IHBvcnRfaWQsIHVpbnQx Nl90DQo+IG10dSkNCj4gIAlpbnQgcmV0Ow0KPiAgCXN0cnVjdCBydGVfZXRoX2Rldl9pbmZvIGRl dl9pbmZvOw0KPiAgCXN0cnVjdCBydGVfZXRoX2RldiAqZGV2Ow0KPiAtCWludCBpc19qdW1ib19m cmFtZV9jYXBhYmxlID0gMDsNCj4gDQo+ICAJUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfRVJSX1JF VChwb3J0X2lkLCAtRU5PREVWKTsNCj4gIAlkZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRd Ow0KPiBAQCAtMzY2NywyNyArMzY1OCwxMiBAQCBydGVfZXRoX2Rldl9zZXRfbXR1KHVpbnQxNl90 IHBvcnRfaWQsIHVpbnQxNl90DQo+IG10dSkNCj4gIAkJZnJhbWVfc2l6ZSA9IG10dSArIG92ZXJo ZWFkX2xlbjsNCj4gIAkJaWYgKG10dSA8IFJURV9FVEhFUl9NSU5fTVRVIHx8IGZyYW1lX3NpemUg Pg0KPiBkZXZfaW5mby5tYXhfcnhfcGt0bGVuKQ0KPiAgCQkJcmV0dXJuIC1FSU5WQUw7DQo+IC0N Cj4gLQkJaWYgKChkZXZfaW5mby5yeF9vZmZsb2FkX2NhcGEgJg0KPiBERVZfUlhfT0ZGTE9BRF9K VU1CT19GUkFNRSkgIT0gMCkNCj4gLQkJCWlzX2p1bWJvX2ZyYW1lX2NhcGFibGUgPSAxOw0KPiAg CX0NCj4gDQo+IC0JaWYgKG10dSA+IFJURV9FVEhFUl9NVFUgJiYgaXNfanVtYm9fZnJhbWVfY2Fw YWJsZSA9PSAwKQ0KPiAtCQlyZXR1cm4gLUVJTlZBTDsNCj4gLQ0KPiAgCXJldCA9ICgqZGV2LT5k ZXZfb3BzLT5tdHVfc2V0KShkZXYsIG10dSk7DQo+IC0JaWYgKHJldCA9PSAwKSB7DQo+ICsJaWYg KHJldCA9PSAwKQ0KPiAgCQlkZXYtPmRhdGEtPm10dSA9IG10dTsNCj4gDQo+IC0JCS8qIHN3aXRj aCB0byBqdW1ibyBtb2RlIGlmIG5lZWRlZCAqLw0KPiAtCQlpZiAobXR1ID4gUlRFX0VUSEVSX01U VSkNCj4gLQkJCWRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9DQo+IC0JCQkJ REVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+IC0JCWVsc2UNCj4gLQkJCWRldi0+ZGF0YS0+ ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICY9DQo+IC0JCQkJfkRFVl9SWF9PRkZMT0FEX0pVTUJP X0ZSQU1FOw0KPiAtCX0NCj4gLQ0KPiAgCXJldHVybiBldGhfZXJyKHBvcnRfaWQsIHJldCk7DQo+ ICB9DQo+IA0KPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmggYi9saWIvZXRo ZGV2L3J0ZV9ldGhkZXYuaA0KPiBpbmRleCA5ZmJhMmJkNzNjODQuLjRkMGY5NTZhNGIyOCAxMDA2 NDQNCj4gLS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gKysrIGIvbGliL2V0aGRldi9y dGVfZXRoZGV2LmgNCj4gQEAgLTEzODksNyArMTM4OSw2IEBAIHN0cnVjdCBydGVfZXRoX2NvbmYg ew0KPiAgI2RlZmluZSBERVZfUlhfT0ZGTE9BRF9IRUFERVJfU1BMSVQJMHgwMDAwMDEwMA0KPiAg I2RlZmluZSBERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUgkweDAwMDAwMjAwDQo+ICAjZGVmaW5l IERFVl9SWF9PRkZMT0FEX1ZMQU5fRVhURU5ECTB4MDAwMDA0MDANCj4gLSNkZWZpbmUgREVWX1JY X09GRkxPQURfSlVNQk9fRlJBTUUJMHgwMDAwMDgwMA0KPiAgI2RlZmluZSBERVZfUlhfT0ZGTE9B RF9TQ0FUVEVSCQkweDAwMDAyMDAwDQo+ICAvKioNCj4gICAqIFRpbWVzdGFtcCBpcyBzZXQgYnkg dGhlIGRyaXZlciBpbg0KPiBSVEVfTUJVRl9EWU5GSUVMRF9USU1FU1RBTVBfTkFNRQ0KPiAtLQ0K PiAyLjMxLjENCg0KUmV2aWV3ZWQtYnk6IFJvc2VuIFh1IDxyb3Nlbi54dUBpbnRlbC5jb20+DQo=