From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 94FC7C433EF for ; Wed, 29 Jun 2022 14:34:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=zYmm+xJ4v/o4reEXwUCJRgAHsaJrC2ZjVzcHudWiZlI=; b=iNZ8xhBhWd+Gay ydd1TGvSfH3/K94yYKDe38GfRdebeKpMB8CXyMsisvpGXqKVewt0zaheZFtT864Gl2Fy+e+CRQ64m 3jh71JcJpTnIur65d6PEVO7U3Ku89wr9kx85JcyPq86AamaGvxBBfRVxsyKLBL74l0vWMOpNgoeiu CJ9tP3wNPyNM0Oc++Hgxg3dmoNMFDUq1DGZQyjzSWpcC2B5/8uaOujR+dj+4lH64dDJooZY1OLKvg x1NTUboIvjDIeBaVFBK1kiKIRjRPatnt2JR/6ZZO2MWIel55KUTiZJ7rX81A/YBwBjDmwunZdvv0M pZb1pf2qwma+VXgVMcPw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o6YlF-00CW6e-GF; Wed, 29 Jun 2022 14:33:45 +0000 Received: from mga04.intel.com ([192.55.52.120]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o6Yl6-00CVyL-PS; Wed, 29 Jun 2022 14:33:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1656513216; x=1688049216; h=message-id:subject:from:to:cc:date:in-reply-to: references:mime-version:content-transfer-encoding; bh=ovERUMxy5cHPu6k6hYcCFHDSxfmFe62BgY6RoX75pBU=; b=PkuftmwZ4Fy2I0PShwe9ud5LAuF+dzhgZg2Xbr5IG12374AqCSlaxUI5 xef4RSzG6IKpO6v+Y7SnI7sy2Xs4gy2SK/mTWSEHuqneHbz8nvRI9OYKR xmtEAf5E41c4cerS55RXOMVteq186qytj79XweWoOtS3QOmlSF5u3kqRB ZzSebyT635gQebTaGd9LtujINdT6zpz7hiHG3lUXr1iwywOLwahv6H/Rw d/hT3uwhMnUqlCcdTDsr5pUUzv8dTX1iGn2P+VX6Wr9zLgqqJwXWw4eY/ wSIaoMF2luVn7SuwTjH4Eu4NPwmOefLmz3vaM22A0JshPtrk8r28whBp0 w==; X-IronPort-AV: E=McAfee;i="6400,9594,10392"; a="280806603" X-IronPort-AV: E=Sophos;i="5.92,231,1650956400"; d="scan'208";a="280806603" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP; 29 Jun 2022 07:31:24 -0700 X-IronPort-AV: E=Sophos;i="5.92,231,1650956400"; d="scan'208";a="647415537" Received: from egolubev-mobl.amr.corp.intel.com (HELO spandruv-desk1.amr.corp.intel.com) ([10.209.68.9]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jun 2022 07:31:09 -0700 Message-ID: Subject: Re: [PATCH 6/6] i2c: Make remove callback return void From: srinivas pandruvada To: Uwe =?ISO-8859-1?Q?Kleine-K=F6nig?= , Wolfram Sang Cc: Uwe =?ISO-8859-1?Q?Kleine-K=F6nig?= , Sekhar Nori , Bartosz Golaszewski , Russell King , Scott Wood , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Robin van der Gracht , Miguel Ojeda , Corey Minyard , Peter Huewe , Jarkko Sakkinen , Jason Gunthorpe , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Max Filippov , Michael Turquette , Stephen Boyd , Luca Ceresoli , Tudor Ambarus , Herbert Xu , "David S. Miller" , MyungJoo Ham , Chanwoo Choi , Michael Hennerich , Linus Walleij , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Benson Leung , Guenter Roeck , Phong LE , Adrien Grassein , Peter Senna Tschudin , Martin Donnelly , Martyn Welch , Douglas Anderson , Stefan Mavrodiev , Thierry Reding , Sam Ravnborg , Florian Fainelli , Broadcom internal kernel review list , Javier Martinez Canillas , Jiri Kosina , Benjamin Tissoires , Jean Delvare , George Joseph , Juerg Haefliger , Riku Voipio , Robert Marko , Luka Perkov , Marc Hulsman , Rudolf Marek , Peter Rosin , Jonathan Cameron , Lars-Peter Clausen , Dan Robertson , Rui Miguel Silva , Tomasz Duszynski , Kevin Tsai , Crt Mori , Dmitry Torokhov , Nick Dyer , Bastien Nocera , Hans de Goede , Maxime Coquelin , Alexandre Torgue , Sakari Ailus , Pavel Machek , Jan-Simon Moeller , Marek =?ISO-8859-1?Q?Beh=FAn?= , Colin Leroy , Joe Tessler , Hans Verkuil , Mauro Carvalho Chehab , Antti Palosaari , Jasmin Jessich , Matthias Schwarzott , Olli Salonen , Akihiro Tsukada , Kieran Bingham , Tianshu Qiu , Dongchun Zhu , Shawn Tu , Martin Kepplinger , Ricardo Ribalda , Dave Stevenson , Leon Luo , Manivannan Sadhasivam , Bingbu Cao , "Paul J. Murphy" , Daniele Alessandrelli , Michael Tretter , Pengutronix Kernel Team , Kyungmin Park , Heungjun Kim , Ramesh Shanmugasundaram , Jacopo Mondi , Niklas =?ISO-8859-1?Q?S=F6derlund?= , Jimmy Su , Arec Kao , "Lad, Prabhakar" , Shunqian Zheng , Steve Longerbeam , Chiranjeevi Rapolu , Daniel Scally , Wenyou Yang , Petr Cvek , Akinobu Mita , Sylwester Nawrocki , Benjamin Mugnier , Sylvain Petinot , Mats Randgaard , Tim Harvey , Matt Ranostay , Eduardo Valentin , "Daniel W. S. Almeida" , Lee Jones , Chen-Yu Tsai , Support Opensource , Robert Jones , Andy Shevchenko , Charles Keepax , Richard Fitzgerald , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Tony Lindgren , Jonathan =?ISO-8859-1?Q?Neusch=E4fer?= , Arnd Bergmann , Greg Kroah-Hartman , Eric Piel , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Andrew Lunn , Vivien Didelot , Vladimir Oltean , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Woojung Huh , UNGLinuxDriver@microchip.com, George McCollister , Ido Schimmel , Petr Machata , Jeremy Kerr , Matt Johnston , Charles Gorand , Krzysztof Opasiak , Rob Herring , Frank Rowand , Mark Gross , Maximilian Luz , Corentin Chary , Pali =?ISO-8859-1?Q?Roh=E1r?= , Sebastian Reichel , Tobias Schrammm , Liam Girdwood , Mark Brown , Alessandro Zummo , Jens Frederich , Jon Nettleton , Jiri Slaby , Felipe Balbi , Heikki Krogerus , Daniel Thompson , Jingoo Han , Helge Deller , Evgeniy Polyakov , Wim Van Sebroeck , Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Johannes Berg , Jaroslav Kysela , Takashi Iwai , James Schulman , David Rhodes , Lucas Tanure , Nuno =?ISO-8859-1?Q?S=E1?= , Matthias Brugger , Oder Chiou , Fabio Estevam , Kevin Cernekee , Christophe Leroy , Maxime Ripard , Alvin =?UTF-8?Q?=C5=A0ipraga?= , Lucas Stach , Jagan Teki , Biju Das , Thomas Zimmermann , Alex Deucher , Lyude Paul , Xin Ji , Hsin-Yi Wang , =?ISO-8859-1?Q?Jos=E9_Exp=F3sito?= , Yang Li , Angela Czubak , Alistair Francis , Eddie James , Joel Stanley , Nathan Chancellor , Antoniu Miclaus , Alexandru Ardelean , Dmitry Rokosov , Stephan Gerhold , Miaoqian Lin , Gwendal Grignou , Yang Yingliang , Paul Cercueil , Daniel Palmer , Haibo Chen , Cai Huoqing , Marek Vasut , Jose Cazarin , Dan Carpenter , Jean-Baptiste Maneyrol , Michael Srba , Nikita Travkin , Maslov Dmitry , Jiri Valek - 2N , Arnaud Ferraris , Zheyu Ma , Marco Felsch , Oliver Graute , Zheng Yongjun , CGEL ZTE , Minghao Chi , Evgeny Novikov , Sean Young , Kirill Shilimanov , Moses Christopher Bollavarapu , Paul Kocialkowski , Janusz Krzysztofik , Dongliang Mu , Colin Ian King , lijian , Kees Cook , Yan Lei , Heiner Kallweit , Jonas Malaco , wengjianfeng , Rikard Falkeborn , Wei Yongjun , Tom Rix , Yizhuo , Martiros Shakhzadyan , Bjorn Andersson , Sven Peter , Alyssa Rosenzweig , Hector Martin , Saranya Gopal , Guido =?ISO-8859-1?Q?G=FCnther?= , Sing-Han Chen , Wayne Chang , Geert Uytterhoeven , Alexey Dobriyan , Masahiro Yamada , Vincent Knecht , Stephen Kitt , Pierre-Louis Bossart , Alexey Khoroshilov , Randy Dunlap , Alejandro Tafalla , Vijendar Mukunda , Seven Lee , Mac Chiang , David Lin , Daniel Beer , Ricard Wanderlof , Simon Trimmer , Shengjiu Wang , Viorel Suman , Nicola Lunghi , Adam Ford , linux-i2c@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, openipmi-developer@lists.sourceforge.net, linux-integrity@vger.kernel.org, linux-clk@vger.kernel.org, linux-crypto@vger.kernel.org, linux-gpio@vger.kernel.org, dri-devel@lists.freedesktop.org, chrome-platform@lists.linux.dev, linux-rpi-kernel@lists.infradead.org, linux-input@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-iio@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-leds@vger.kernel.org, linux-media@vger.kernel.org, patches@opensource.cirrus.com, alsa-devel@alsa-project.org, linux-omap@vger.kernel.org, linux-mtd@lists.infradead.org, netdev@vger.kernel.org, devicetree@vger.kernel.org, platform-driver-x86@vger.kernel.org, acpi4asus-user@lists.sourceforge.net, linux-pm@vger.kernel.org, linux-pwm@vger.kernel.org, linux-rtc@vger.kernel.org, linux-staging@lists.linux.dev, linux-serial@vger.kernel.org, linux-usb@vger.kernel.org, linux-fbdev@vger.kernel.org, linux-watchdog@vger.kernel.org, kasan-dev@googlegroups.com, linux-mediatek@lists.infradead.org Date: Wed, 29 Jun 2022 07:31:08 -0700 In-Reply-To: <20220628140313.74984-7-u.kleine-koenig@pengutronix.de> References: <20220628140313.74984-1-u.kleine-koenig@pengutronix.de> <20220628140313.74984-7-u.kleine-koenig@pengutronix.de> User-Agent: Evolution 3.42.4 (3.42.4-2.fc35) MIME-Version: 1.0 X-Spam-Note: CRM114 run bypassed due to message size (569914 bytes) X-Spam-Score: -2.6 (--) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: On Tue, 2022-06-28 at 16:03 +0200, Uwe Kleine-König wrote: > From: Uwe Kleine-König > > The value returned by an i2c driver's remove function is mostly > ignored. > (Only an [...] Content analysis details: (-2.6 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [192.55.52.120 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 SPF_NONE SPF: sender does not publish an SPF Record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.2 DKIMWL_WL_HIGH DKIMwl.org - High trust sender X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org T24gVHVlLCAyMDIyLTA2LTI4IGF0IDE2OjAzICswMjAwLCBVd2UgS2xlaW5lLUvDtm5pZyB3cm90 ZToKPiBGcm9tOiBVd2UgS2xlaW5lLUvDtm5pZyA8dXdlQGtsZWluZS1rb2VuaWcub3JnPgo+IAo+ IFRoZSB2YWx1ZSByZXR1cm5lZCBieSBhbiBpMmMgZHJpdmVyJ3MgcmVtb3ZlIGZ1bmN0aW9uIGlz IG1vc3RseQo+IGlnbm9yZWQuCj4gKE9ubHkgYW4gZXJyb3IgbWVzc2FnZSBpcyBwcmludGVkIGlm IHRoZSB2YWx1ZSBpcyBub24temVybyB0aGF0IHRoZQo+IGVycm9yIGlzIGlnbm9yZWQuKQo+IAo+ IFNvIGNoYW5nZSB0aGUgcHJvdG90eXBlIG9mIHRoZSByZW1vdmUgZnVuY3Rpb24gdG8gcmV0dXJu IG5vIHZhbHVlLgo+IFRoaXMKPiB3YXkgZHJpdmVyIGF1dGhvcnMgYXJlIG5vdCB0ZW1wdGVkIHRv IGFzc3VtZSB0aGF0IHBhc3NpbmcgYW4gZXJyb3IgdG8KPiB0aGUgdXBwZXIgbGF5ZXIgaXMgYSBn b29kIGlkZWEuIEFsbCBkcml2ZXJzIGFyZSBhZGFwdGVkIGFjY29yZGluZ2x5Lgo+IFRoZXJlIGlz IG5vIGludGVuZGVkIGNoYW5nZSBvZiBiZWhhdmlvdXIsIGFsbCBjYWxsYmFja3Mgd2VyZSBwcmVw YXJlZAo+IHRvCj4gcmV0dXJuIDAgYmVmb3JlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFV3ZSBLbGVp bmUtS8O2bmlnIDx1LmtsZWluZS1rb2VuaWdAcGVuZ3V0cm9uaXguZGU+CgpGb3IKIGRyaXZlcnMv aWlvL2FjY2VsL2JtYzE1MC1hY2NlbC1pMmMuYyAgICAgICAgICAgICAgICAgICAgICB8IDQgKy0t LQogZHJpdmVycy9paW8vYWNjZWwva3hjamstMTAxMy5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgNCArLS0tCgpBY2tlZC1ieTogU3Jpbml2YXMgUGFuZHJ1dmFkYSA8c3Jpbml2YXMucGFu ZHJ1dmFkYUBsaW51eC5pbnRlbC5jb20+CgpUaGFua3MsClNyaW5pdmFzCgo+IC0tLQo+IMKgRG9j dW1lbnRhdGlvbi9pMmMvd3JpdGluZy1jbGllbnRzLnJzdMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCAyICstCj4gwqBhcmNoL2FybS9tYWNoLWRhdmluY2kvYm9hcmQt ZG02NDR4LWV2bS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4g wqBhcmNoL2FybS9tYWNoLWRhdmluY2kvYm9hcmQtZG02NDZ4LWV2bS5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBhcmNoL3Bvd2VycGMvcGxhdGZvcm1zLzgz eHgvbWN1X21wYzgzNDllbWl0eC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBk cml2ZXJzL2F1eGRpc3BsYXkvaHQxNmszMy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9hdXhkaXNw bGF5L2xjZDJzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL2NoYXIvaXBtaS9pcG1iX2Rldl9p bnQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBkcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2lwbWIuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2 ZXJzL2NoYXIvaXBtaS9pcG1pX3NzaWYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNiArKy0tLS0KPiDCoGRyaXZlcnMvY2hhci90cG0v c3QzM3pwMjQvaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2NoYXIvdHBtL3RwbV9pMmNfYXRtZWwuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0K PiDCoGRyaXZlcnMvY2hhci90cG0vdHBtX2kyY19pbmZpbmVvbi5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvY2hhci90cG0v dHBtX2kyY19udXZvdG9uLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvY2hhci90cG0vdHBtX3Rpc19pMmNfY3I1MC5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA2ICsrLS0tLQo+IMKg ZHJpdmVycy9jbGsvY2xrLWNkY2U3MDYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9jbGsv Y2xrLWNzMjAwMC1jcC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2Nsay9jbGstc2k1MTQuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvY2xrL2Nsay1zaTUzNDEuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 IDQgKy0tLQo+IMKgZHJpdmVycy9jbGsvY2xrLXNpNTM1MS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4g wqBkcml2ZXJzL2Nsay9jbGstc2k1NzAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMv Y2xrL2Nsay12ZXJzYWNsb2NrNS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvY3J5cHRvL2F0bWVsLWVj Yy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA2ICsrLS0tLQo+IMKgZHJpdmVycy9jcnlwdG8vYXRtZWwtc2hhMjA0YS5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNiAr Ky0tLS0KPiDCoGRyaXZlcnMvZXh0Y29uL2V4dGNvbi1ydDg5NzNhLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJz L2dwaW8vZ3Bpby1hZHA1NTg4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvZ3Bpby9ncGlvLW1h eDczMDAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ncGlvL2dwaW8tcGNhOTUzeC5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBkcml2ZXJzL2dwaW8vZ3Bpby1wY2Y4NTd4LmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRy aXZlcnMvZ3Bpby9ncGlvLXRwaWMyODEwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0v YnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4LWFueDYz NDUuY8KgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fu YWxvZ2l4L2FuYWxvZ2l4LWFueDc4eHguY8KgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FueDc2MjUuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Nocm9udGVs LWNoNzAzMy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKg ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9jcm9zLWVjLWFueDc2ODguY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvaXRl LWl0NjUwNS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvaXRlLWl0NjYxMjEuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9sb250aXVtLWx0ODkxMmIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9sb250aXVtLWx0OTIxMS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2xvbnRpdW0tbHQ5NjExLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbG9udGl1bS1s dDk2MTF1eGMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9tZWdhY2hpcHMtc3RkcHh4eHgtZ2UtYjg1MHYzLWZ3LmPCoCB8 IDggKystLS0tCj4gLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbnhwLXB0bjM0NjAuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJh ZGUtcHM4NjQwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0t LQo+IMKgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9zaWk5MjM0LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lp ODYyMC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvdGMzNTg3NjguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc3NS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RpLXNuNjVkc2k4My5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS90aS10ZnA0MTAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pMmMvY2g3MDA2X2Rydi5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk1MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvZ3B1L2Ry bS9pMmMvdGRhOTk4eF9kcnYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb2xpbWV4 LWxjZC1vbGludXhpbm8uY8KgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uY8KgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL2dwdS9kcm0vc29sb21vbi9zc2QxMzB4LWkyYy5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9oaWQvaTJjLWhp ZC9pMmMtaGlkLWNvcmUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaGlkL2kyYy1oaWQvaTJjLWhpZC5owqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAyICstCj4g wqBkcml2ZXJzL2h3bW9uL2FkYzEyOGQ4MTguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2h3 bW9uL2FkdDc0NzAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvaHdtb24vYXNiMTAw LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNiArKy0tLS0KPiDCoGRyaXZlcnMvaHdtb24vYXNjNzYyMS5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaHdtb24vZG1lMTczNy5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCA0ICstLS0KPiDCoGRyaXZlcnMvaHdtb24vZjc1Mzc1cy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA1ICsrLS0t Cj4gwqBkcml2ZXJzL2h3bW9uL2ZzY2htZC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDYgKystLS0tCj4gwqBk cml2ZXJzL2h3bW9uL2Z0c3RldXRhdGVzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9od21vbi9p bmEyMDkuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaHdtb24vaW5hMzIyMS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaHdtb24vamM0Mi5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9od21vbi9tY3AzMDIxLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy9od21vbi9vY2MvcDhfaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJp dmVycy9od21vbi9wY2Y4NTkxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL2h3bW9u L3NtbTY2NS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL2h3bW9uL3RwczIzODYx LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaHdtb24vdzgzNzgxZC5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaHdtb24vdzgzNzkxZC5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA2ICsr LS0tLQo+IMKgZHJpdmVycy9od21vbi93ODM3OTJkLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDYgKystLS0tCj4g wqBkcml2ZXJzL2h3bW9uL3c4Mzc5My5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDYgKystLS0tCj4gwqBkcml2 ZXJzL2h3bW9uL3c4Mzc5NS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9od21v bi93ODNsNzg1dHMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA2ICsrLS0tLQo+IMKgZHJpdmVycy9pMmMvaTJjLWNvcmUt YmFzZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNiArLS0tLS0KPiDCoGRyaXZlcnMvaTJjL2kyYy1zbGF2ZS1lZXByb20uY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy9pMmMvaTJjLXNsYXZlLXRlc3R1bml0LmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL2ky Yy9pMmMtc21idXMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvaTJjL211eGVzL2ky Yy1tdXgtbHRjNDMwNi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaTJjL211eGVzL2kyYy1tdXgtcGNhOTU0MS5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVy cy9pMmMvbXV4ZXMvaTJjLW11eC1wY2E5NTR4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL2lpby9hY2NlbC9ibWExODAuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9hY2NlbC9ibWE0MDBfaTJjLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvaWlvL2FjY2VsL2JtYzE1MC1hY2NlbC1pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vYWNjZWwva3hj amstMTAxMy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9hY2NlbC9reHNkOS1pMmMuY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL2lpby9hY2NlbC9tYzMyMzAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJz L2lpby9hY2NlbC9tbWE3NDU1X2kyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vYWNjZWwvbW1hNzY2 MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9hY2NlbC9tbWE4NDUyLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICst LS0KPiDCoGRyaXZlcnMvaWlvL2FjY2VsL21tYTk1NTEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9paW8vYWNjZWwvbW1hOTU1My5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9hY2NlbC9z dGs4MzEyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2FjY2VsL3N0azhiYTUwLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBkcml2ZXJzL2lpby9hZGMvYWQ3OTl4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvaWlvL2FkYy9pbmEyeHgtYWRjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9h ZGMvbHRjMjQ5Ny5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vYWRjL3RpLWFkczEw MTUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2NoZW1pY2FsL2F0bGFzLXNlbnNvci5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRy aXZlcnMvaWlvL2NoZW1pY2FsL2NjczgxMS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2NoZW1p Y2FsL3NncDMwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9kYWMvYWQ1MzgwLmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2RhYy9hZDU0NDYuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0t LQo+IMKgZHJpdmVycy9paW8vZGFjL2FkNTU5M3IuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZl cnMvaWlvL2RhYy9hZDU2OTYtaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9kYWMvZHM0 NDI0LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2RhYy9tNjIzMzIuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vZGFjL21jcDQ3MjUuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICst LS0KPiDCoGRyaXZlcnMvaWlvL2RhYy90aS1kYWM1NTcxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJz L2lpby9neXJvL2JtZzE2MF9pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9neXJvL2Z4YXMy MTAwMmNfaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2d5cm8vaXRnMzIwMF9jb3JlLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBk cml2ZXJzL2lpby9neXJvL21wdTMwNTAtaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2hlYWx0 aC9hZmU0NDA0LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9oZWFsdGgvbWF4MzAxMDAuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBkcml2ZXJzL2lpby9oZWFsdGgvbWF4MzAxMDIuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2 ZXJzL2lpby9odW1pZGl0eS9oZGMyMDEwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2ltdS9pbnZf bXB1NjA1MC9pbnZfbXB1X2kyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvaWlvL2ltdS9rbXg2MS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvaWlvL2xpZ2h0L2FwZHM5MzAwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9s aWdodC9hcGRzOTk2MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vbGlnaHQvYmgxNzUwLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vbGlnaHQvYmgxNzgwLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0t LQo+IMKgZHJpdmVycy9paW8vbGlnaHQvY20zMjMyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9paW8vbGlnaHQvY20zNjY1MS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9saWdodC9n cDJhcDAwMi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vbGlnaHQvZ3AyYXAwMjBhMDBmLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0t LQo+IMKgZHJpdmVycy9paW8vbGlnaHQvaXNsMjkwMjguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMv aWlvL2xpZ2h0L2lzbDI5MTI1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9saWdodC9qc2Ex MjEyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2xpZ2h0L2x0cjUwMS5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvaWlvL2xpZ2h0L29wdDMwMDEuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDYgKystLS0tCj4gwqBk cml2ZXJzL2lpby9saWdodC9wYTEyMjAzMDAxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2xpZ2h0 L3JwcjA1MjEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vbGlnaHQvc3RrMzMxMC5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9saWdodC90Y3MzNDcyLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvaWlvL2xpZ2h0L3RzbDI1NjMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8v bGlnaHQvdHNsMjU4My5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9saWdodC90c2w0NTMx LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL2xpZ2h0L3VzNTE4MmQuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0t LQo+IMKgZHJpdmVycy9paW8vbGlnaHQvdmNubDQwMDAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMv aWlvL2xpZ2h0L3Zjbmw0MDM1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9saWdodC92ZW1s NjA3MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vbWFnbmV0b21ldGVyL2FrODk3NC5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4g wqBkcml2ZXJzL2lpby9tYWduZXRvbWV0ZXIvYWs4OTc1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL21hZ25l dG9tZXRlci9ibWMxNTBfbWFnbl9pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 IDQgKy0tLQo+IMKgZHJpdmVycy9paW8vbWFnbmV0b21ldGVyL2htYzU4NDNfaTJjLmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9paW8v bWFnbmV0b21ldGVyL21hZzMxMTAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL21hZ25ldG9tZXRlci95YW1haGEt eWFzNTMwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBk cml2ZXJzL2lpby9wb3RlbnRpb3N0YXQvbG1wOTEwMDAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby9wcmVzc3VyZS9t cGwzMTE1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL3ByZXNzdXJlL21zNTYxMV9pMmMuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKg ZHJpdmVycy9paW8vcHJlc3N1cmUvenBhMjMyNl9pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL3Byb3hpbWl0 eS9wdWxzZWRsaWdodC1saWRhci1saXRlLXYyLmPCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4g wqBkcml2ZXJzL2lpby9wcm94aW1pdHkvc3g5NTAwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaWlvL3Rl bXBlcmF0dXJlL21seDkwNjE0LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lpby90ZW1wZXJhdHVyZS9tbHg5MDYzMi5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+ IMKgZHJpdmVycy9pbnB1dC9qb3lzdGljay9hczUwMTEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaW5wdXQv a2V5Ym9hcmQvYWRwNTU4OC1rZXlzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lucHV0L2tleWJvYXJkL2xtODMyMy5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+ IMKgZHJpdmVycy9pbnB1dC9rZXlib2FyZC9sbTgzMzMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaW5wdXQv a2V5Ym9hcmQvbWNzX3RvdWNoa2V5LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lucHV0L2tleWJvYXJkL3F0MTA3MC5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+ IMKgZHJpdmVycy9pbnB1dC9rZXlib2FyZC9xdDIxNjAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaW5wdXQv a2V5Ym9hcmQvdGNhNjQxNi1rZXlwYWQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9pbnB1dC9taXNjL2FkeGwzNHgtaTJjLmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKg ZHJpdmVycy9pbnB1dC9taXNjL2JtYTE1MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2lucHV0 L21pc2MvY21hMzAwMF9kMHhfaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaW5wdXQvbWlzYy9wY2Y4NTc0X2tleXBhZC5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvaW5wdXQvbW91c2Uvc3luYXB0aWNzX2kyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaW5wdXQvcm1pNC9y bWlfc21idXMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9hdG1lbF9teHRf dHMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZl cnMvaW5wdXQvdG91Y2hzY3JlZW4vYnUyMTAxM190cy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vY3l0 dHNwNF9pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+ IMKgZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9lZHQtZnQ1eDA2LmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9pbnB1dC90b3VjaHNj cmVlbi9nb29kaXguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vbWlnb3JfdHMuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9pbnB1dC90b3VjaHNjcmVlbi9zNnN5NzYxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9z dG1mdHMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vdHNjMjAwNC5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbGVk cy9mbGFzaC9sZWRzLWFzMzY0NWEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9sZWRzL2ZsYXNoL2xlZHMtbG0zNjAx eC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL2xlZHMvZmxhc2gvbGVkcy1ydDQ1MDUuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbGVk cy9sZWRzLWFuMzAyNTlhLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2xlZHMvbGVkcy1hdzIwMTMu Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL2xlZHMvbGVkcy1iZDI4MDIuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL2xlZHMvbGVkcy1ibGlua20uY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZl cnMvbGVkcy9sZWRzLWlzMzFmbDMxOXguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL2xlZHMvbGVkcy1pczMx ZmwzMnh4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbGVkcy9sZWRzLWxtMzUzMC5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICst LQo+IMKgZHJpdmVycy9sZWRzL2xlZHMtbG0zNTMyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9sZWRzL2xlZHMtbG0zNTV4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9sZWRzL2xlZHMt bG0zNjQyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL2xlZHMvbGVkcy1sbTM2OTJ4LmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCA0ICstLS0KPiDCoGRyaXZlcnMvbGVkcy9sZWRzLWxtMzY5Ny5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvbGVkcy9sZWRzLWxwMzk0NC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbGVk cy9sZWRzLWxwMzk1Mi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbGVkcy9sZWRzLWxwNTB4 eC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbGVkcy9sZWRzLWxwNTUyMS5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvbGVkcy9sZWRzLWxwNTUyMy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRy aXZlcnMvbGVkcy9sZWRzLWxwNTU2Mi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbGVkcy9s ZWRzLWxwODUwMS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbGVkcy9sZWRzLWxwODg2MC5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbGVkcy9sZWRzLXBjYTk1MzIuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDYgKyst LS0tCj4gwqBkcml2ZXJzL2xlZHMvbGVkcy10Y2E2NTA3LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZl cnMvbGVkcy9sZWRzLXR1cnJpcy1vbW5pYS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWFjaW50b3NoL2Ftcy9h bXMtaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21hY2ludG9zaC90aGVybV9hZHQ3NDZ4LmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRy aXZlcnMvbWFjaW50b3NoL3RoZXJtX3dpbmR0dW5uZWwuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tYWNpbnRvc2gvd2luZGZh cm1fYWQ3NDE3X3NlbnNvci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL21hY2ludG9zaC93aW5kZmFybV9mY3VfY29udHJvbHMuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWFjaW50b3NoL3dpbmRm YXJtX2xtNzVfc2Vuc29yLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL21hY2ludG9zaC93aW5kZmFybV9sbTg3X3NlbnNvci5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tYWNpbnRvc2gv d2luZGZhcm1fbWF4NjY5MF9zZW5zb3IuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvbWFjaW50b3NoL3dpbmRmYXJtX3NtdV9zYXQuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRp YS9jZWMvaTJjL2NoNzMyMi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMv YTgyOTMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyAr LS0KPiDCoGRyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9hZjkwMTMuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9k dmItZnJvbnRlbmRzL2FmOTAzMy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvYXU4NTIyX2Rl Y29kZXIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVk aWEvZHZiLWZyb250ZW5kcy9jeGQyMDk5LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvY3hkMjgy MHJfY29yZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9tZWRpYS9kdmItZnJvbnRlbmRzL2R2Yi1wbGwuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL2xn ZHQzMzA2YS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4g wqBkcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbGdkdDMzMHguY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2R2Yi1mcm9u dGVuZHMvbTg4ZHMzMTAzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAz ICstLQo+IMKgZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL21uODg0NDN4LmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9k dmItZnJvbnRlbmRzL21uODg0NzIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9tbjg4NDczLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2 ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbXhsNjkyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5k cy9ydGwyODMwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvcnRsMjgzMi5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9k dmItZnJvbnRlbmRzL3NpMjE2NS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9zaTIxNjguY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJp dmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3NwMi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvZHZiLWZyb250 ZW5kcy9zdHYwOTB4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg MyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9zdHY2MTEweC5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9k dmItZnJvbnRlbmRzL3RjOTA1MjIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3RkYTEwMDcxLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJz L21lZGlhL2R2Yi1mcm9udGVuZHMvdHMyMDIwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvYWQ1ODIwLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9hZDkzODliLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKg ZHJpdmVycy9tZWRpYS9pMmMvYWRwMTY1My5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlh L2kyYy9hZHY3MTcwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE3NS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL2FkdjcxODAuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+ IMKgZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE4My5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVk aWEvaTJjL2FkdjczNDMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvYWR2NzM5 My5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9hZHY3NDh4L2Fkdjc0OHgtY29y ZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9tZWRpYS9pMmMvYWR2NzUxMS12NGwyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9hZHY3NjA0 LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvYWR2Nzg0Mi5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0K PiDCoGRyaXZlcnMvbWVkaWEvaTJjL2FrNzM3NS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMv bWVkaWEvaTJjL2FrODgxeC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL2J0 ODE5LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL2J0ODU2LmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL2J0ODY2LmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDC oGRyaXZlcnMvbWVkaWEvaTJjL2Njcy9jY3MtY29yZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJj L2NzMzMwOC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvY3M1MzQ1LmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9jczUzbDMyYS5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBk cml2ZXJzL21lZGlhL2kyYy9jeDI1ODQwL2N4MjU4NDAtY29yZS5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9kdzk3MTQuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9kdzk3NjguY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL21lZGlhL2kyYy9kdzk4MDctdmNtLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVk aWEvaTJjL2V0OGVrOC9ldDhlazhfZHJpdmVyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9oaTU1Ni5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvaGk4NDYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRy aXZlcnMvbWVkaWEvaTJjL2hpODQ3LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlh L2kyYy9pbXgyMDguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9pbXgyMTQu Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9pbXgyMTkuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9pbXgyNTguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2 ZXJzL21lZGlhL2kyYy9pbXgyNzQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJj L2lteDI5MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL2lteDMxOS5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL2lteDMzNC5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0K PiDCoGRyaXZlcnMvbWVkaWEvaTJjL2lteDMzNS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMv bWVkaWEvaTJjL2lteDM1NS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL2lt eDQxMi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL2lyLWtiZC1pMmMuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvaXNsNzk5OHguY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZl cnMvbWVkaWEvaTJjL2tzMDEyNy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMv bG0zNTYwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvbG0zNjQ2LmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvbTUyNzkwLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4g wqBkcml2ZXJzL21lZGlhL2kyYy9tNW1vbHMvbTVtb2xzX2NvcmUuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9tYXgy MTc1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL21heDkyODYuY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvbWw4NnY3NjY3LmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9tZWRpYS9pMmMvbXNwMzQwMC1kcml2ZXIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvbXQ5bTAwMS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9tdDltMDMyLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+ IMKgZHJpdmVycy9tZWRpYS9pMmMvbXQ5bTExMS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21l ZGlhL2kyYy9tdDlwMDMxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL210OXQw MDEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9tdDl0MTEyLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICst LS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL210OXYwMTEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9tZWRpYS9pMmMvbXQ5djAzMi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9t dDl2MTExLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL25vb24wMTBwYzMwLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vZzAxYTFiLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZl cnMvbWVkaWEvaTJjL292MDJhMTAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMv b3YwOGQxMC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjEzODU4LmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL292MTNiMTAuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKg ZHJpdmVycy9tZWRpYS9pMmMvb3YyNjQwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlh L2kyYy9vdjI2NTkuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjI2ODAu Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjI2ODUuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjI3NDAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2 ZXJzL21lZGlhL2kyYy9vdjU2NDAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2ky Yy9vdjU2NDUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjU2NDcuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjU2NDguY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjU2NzAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJz L21lZGlhL2kyYy9vdjU2NzUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9v djU2OTMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjU2OTUuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjY2NTAuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDC oGRyaXZlcnMvbWVkaWEvaTJjL292NzI1MS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVk aWEvaTJjL292NzY0MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL292NzY3 MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvb3Y3NzJ4LmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvb3Y3NzQwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2 ZXJzL21lZGlhL2kyYy9vdjg4NTYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2ky Yy9vdjg4NjUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjkyODIuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjk2NDAuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL21lZGlhL2kyYy9vdjk2NTAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJz L21lZGlhL2kyYy9vdjk3MzQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9y ZGFjbTIwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL3JkYWNtMjEuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvcmo1NG4xY2IwYy5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2 ZXJzL21lZGlhL2kyYy9zNWM3M20zL3M1YzczbTMtY29yZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvczVrNGVjZ3guY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL3M1azViYWYuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKg ZHJpdmVycy9tZWRpYS9pMmMvczVrNmEzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlh L2kyYy9zNWs2YWEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9zYWE2NTg4 LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL3NhYTY3NTJocy5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+ IMKgZHJpdmVycy9tZWRpYS9pMmMvc2FhNzExMC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVk aWEvaTJjL3NhYTcxMTUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9zYWE3MTI3 LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvc2FhNzE3eC5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0K PiDCoGRyaXZlcnMvbWVkaWEvaTJjL3NhYTcxODUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21l ZGlhL2kyYy9zb255LWJ0Zi1tcHguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy9zcjAzMHBjMzAu Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL3N0LW1pcGlkMDIuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJp dmVycy9tZWRpYS9pMmMvdGMzNTg3NDMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJj L3RkYTE5OTd4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy90ZGE3NDMyLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvdGRhOTg0MC5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRy aXZlcnMvbWVkaWEvaTJjL3RlYTY0MTVjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJj L3RlYTY0MjAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy90aHM3MzAzLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL3RoczgyMDAuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKg ZHJpdmVycy9tZWRpYS9pMmMvdGx2MzIwYWljMjNiLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy90 dmF1ZGlvLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvdHZwNTE0eC5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg MyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL3R2cDUxNTAuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJp dmVycy9tZWRpYS9pMmMvdHZwNzAwMi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJj L3R3MjgwNC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvdHc5OTAzLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy90dzk5MDYuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDC oGRyaXZlcnMvbWVkaWEvaTJjL3R3OTkxMC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVk aWEvaTJjL3VkYTEzNDIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL2kyYy91cGQ2NDAz MWEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL3VwZDY0MDgzLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDC oGRyaXZlcnMvbWVkaWEvaTJjL3ZpZGVvLWkyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEv aTJjL3ZwMjdzbXB4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvaTJjL3ZweDMyMjAuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS9pMmMvdnM2NjI0LmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4g wqBkcml2ZXJzL21lZGlhL2kyYy93bTg3MzkuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVk aWEvaTJjL3dtODc3NS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS9yYWRpby9yYWRp by10ZWE1NzY0LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlhL3JhZGlvL3NhYTc3MDZoLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVy cy9tZWRpYS9yYWRpby9zaTQ3MHgvcmFkaW8tc2k0NzB4LWkyYy5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWVkaWEvcmFkaW8vc2k0NzEzL3NpNDcxMy5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRy aXZlcnMvbWVkaWEvcmFkaW8vdGVmNjg2Mi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS90ZXN0 LWRyaXZlcnMvdmlkdHYvdmlkdHZfZGVtb2QuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICst LS0KPiDCoGRyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpZHR2L3ZpZHR2X3R1bmVyLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL3R1bmVycy9lNDAw MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZWRpYS90dW5lcnMvZmMyNTgwLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4g wqBkcml2ZXJzL21lZGlhL3R1bmVycy9tODhyczYwMDB0LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvdHVu ZXJzL210MjA2MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWVkaWEvdHVuZXJzL214bDMwMXJmLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyAr LS0KPiDCoGRyaXZlcnMvbWVkaWEvdHVuZXJzL3FtMWQxYjAwMDQuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21lZGlh L3R1bmVycy9xbTFkMWMwMDQyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS90dW5lcnMvc2kyMTU3LmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy9tZWRpYS90dW5lcnMvdGRhMTgyMTIuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMv bWVkaWEvdHVuZXJzL3RkYTE4MjUwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21lZGlhL3R1bmVycy90dWE5 MDAxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCAzICstLQo+IMKgZHJpdmVycy9tZWRpYS91c2IvZ283MDA3L3MyMjUwLWJvYXJkLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21l ZGlhL3Y0bDItY29yZS90dW5lci1jb3JlLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZmQvODhwbTgwMC5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC84OHBtODA1LmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvbWZkLzg4cG04NjB4LWNvcmUuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2 ZXJzL21mZC9hY2VyLWVjLWE1MDAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC9hcml6 b25hLWkyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvYXhwMjB4LWkyYy5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC9kYTkwM3guY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgMyArLS0KPiDCoGRyaXZlcnMvbWZkL2RhOTA1Mi1pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4g wqBkcml2ZXJzL21mZC9kYTkwNTUtaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMv bWZkL2RhOTA2Mi1jb3JlLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC9kYTkxNTAt Y29yZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvZG0zNTVldm1fbXNwLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDMgKy0tCj4gwqBkcml2ZXJzL21mZC9lbmUta2IzOTMwLmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0K PiDCoGRyaXZlcnMvbWZkL2dhdGV3b3Jrcy1nc2MuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9t ZmQvaW50ZWxfc29jX3BtaWNfY29yZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC9pcXM2MnguY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC9sbTM1MzMtY29yZS5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvbHA4Nzg4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0t Cj4gwqBkcml2ZXJzL21mZC9tYWRlcmEtaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZl cnMvbWZkL21heDE0NTc3LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC9t YXg3NzY5My5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvbWF4ODkwNy5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC9tYXg4OTI1LWkyYy5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21mZC9tYzEzeHh4LWkyYy5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0t Cj4gwqBkcml2ZXJzL21mZC9tZW5lbGF1cy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2 ZXJzL21mZC9udHhlYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9t ZmQvcGFsbWFzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvcGNm NTA2MzMtY29yZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21mZC9yZXR1LW1mZC5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvcms4MDguY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWZkL3JuNXQ2MTguY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy9tZmQvcnNtdV9pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvbWZkL3J0NDgzMS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZl cnMvbWZkL3NpNDc2eC1pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvc3Rt ZnguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWZkL3N0bXBlLWky Yy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbWZkL3RjMzU4OXguY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvdHBzNjEwNXguY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCA0ICstLS0KPiDCoGRyaXZlcnMvbWZkL3RwczY1MDEwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0K PiDCoGRyaXZlcnMvbWZkL3RwczY1MDg2LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2 ZXJzL21mZC90cHM2NTIxNy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQv dHBzNjU4NnguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9tZmQvdHBzNjU5MTIt aTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tZmQvdHdsLWNvcmUuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCAzICstLQo+IMKgZHJpdmVycy9tZmQvdHdsNjA0MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL21mZC93bTg5OTQtY29yZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJp dmVycy9taXNjL2FkNTI1eF9kcG90LWkyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbWlzYy9hcGRzOTgw MmFscy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9taXNjL2FwZHM5OTB4LmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDMgKy0tCj4gwqBkcml2ZXJzL21pc2MvYmgxNzcwZ2xjLmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0K PiDCoGRyaXZlcnMvbWlzYy9kczE2ODIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2 ZXJzL21pc2MvZWVwcm9tL2F0MjQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL21pc2MvZWVw cm9tL2VlMTAwNC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9taXNjL2VlcHJvbS9lZXByb20uY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCA0ICstLS0KPiDCoGRyaXZlcnMvbWlzYy9lZXByb20vaWR0Xzg5aHBlc3guY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9taXNjL2VlcHJvbS9tYXg2ODc1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9taXNjL2htYzYzNTIu Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9taXNjL2ljczkzMnM0MDEuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA1ICsrLS0tCj4gwqBkcml2ZXJzL21pc2MvaXNsMjkwMDMuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyAr LS0KPiDCoGRyaXZlcnMvbWlzYy9pc2wyOTAyMC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJp dmVycy9taXNjL2xpczNsdjAyZC9saXMzbHYwMmRfaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL21pc2MvdHNsMjU1MC5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9tdGQvbWFwcy9waXNtby5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBkcml2ZXJzL25ldC9kc2EvbGFuOTMwM19pMmMuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNiArKy0tLS0KPiDCoGRy aXZlcnMvbmV0L2RzYS9taWNyb2NoaXAva3N6OTQ3N19pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9uZXQvZHNhL3hyczcwMHgveHJz NzAweF9pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA2ICsr LS0tLQo+IMKgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvaTJjLmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9uZXQvbWN0cC9t Y3RwLWkyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvbmZjL2ZkcC9pMmMuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9uZmMvbWljcm9yZWFkL2kyYy5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL25mYy9uZmNtcnZsL2kyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9uZmMvbnhwLW5jaS9pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbmZjL3BuNTMz L2kyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbmZjL3BuNTQ0L2kyYy5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvbmZjL3MzZndybjUvaTJjLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBkcml2ZXJzL25mYy9zdC1uY2kvaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvbmZjL3N0MjFuZmNhL2kyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvb2Yv dW5pdHRlc3QuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDYgKystLS0tCj4gwqBkcml2ZXJzL3BsYXRmb3Jt L2Nocm9tZS9jcm9zX2VjX2kyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9wbGF0Zm9ybS9zdXJmYWNlL3N1cmZhY2UzX3Bvd2Vy LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9w bGF0Zm9ybS94ODYvYXN1cy10ZjEwM2MtZG9jay5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbC9pbnQzNDcy L3RwczY4NDcwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMv cG93ZXIvc3VwcGx5L2JxMjQxNXhfY2hhcmdlci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvcG93ZXIvc3VwcGx5L2JxMjQxOTBfY2hh cmdlci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDC oGRyaXZlcnMvcG93ZXIvc3VwcGx5L2JxMjQyNTdfY2hhcmdlci5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvcG93ZXIvc3VwcGx5L2Jx MjU4OTBfY2hhcmdlci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvcG93ZXIvc3VwcGx5L2JxMjd4eHhfYmF0dGVyeV9pMmMuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9wb3dlci9zdXBw bHkvY3cyMDE1X2JhdHRlcnkuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCAzICstLQo+IMKgZHJpdmVycy9wb3dlci9zdXBwbHkvZHMyNzgyX2JhdHRlcnkuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMv cG93ZXIvc3VwcGx5L2xwODcyN19jaGFyZ2VyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvcG93ZXIvc3VwcGx5L3J0NTAzM19iYXR0 ZXJ5LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4g wqBkcml2ZXJzL3Bvd2VyL3N1cHBseS9ydDk0NTVfY2hhcmdlci5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9wb3dlci9zdXBwbHkv c21iMzQ3LWNoYXJnZXIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCA0ICstLS0KPiDCoGRyaXZlcnMvcG93ZXIvc3VwcGx5L3oyX2JhdHRlcnkuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy9wd20vcHdtLXBjYTk2ODUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvcmVndWxhdG9y L2RhOTEyMS1yZWd1bGF0b3IuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL3JlZ3VsYXRvci9scDg3NTUuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0t Cj4gwqBkcml2ZXJzL3JlZ3VsYXRvci9ycGktcGFuZWwtYXR0aW55LXJlZ3VsYXRvci5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ydGMvcnRjLWJxMzJrLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ydGMvcnRjLWRzMTM3NC5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBkcml2ZXJzL3J0Yy9ydGMtaXNsMTIwMjYuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRy aXZlcnMvcnRjL3J0Yy1tNDF0ODAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9ydGMv cnRjLXJzNWMzNzIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9ydGMvcnRjLXgxMjA1LmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvYXRvbWlzcC9pMmMv YXRvbWlzcC1nYzAzMTAuY8KgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvYXRvbWlzcC9pMmMvYXRvbWlzcC1nYzIyMzUuY8KgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvYXRvbWlzcC9pMmMvYXRvbWlzcC1sbTM1NTQu Y8KgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvYXRvbWlz cC9pMmMvYXRvbWlzcC1tdDltMTE0LmPCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy9z dGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL2F0b21pc3Atb3YyNjgwLmPCoMKgwqDCoMKgwqDCoCB8 IDQgKy0tLQo+IMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL2F0b21pc3Atb3Yy NzIyLmPCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0 b21pc3AvaTJjL292NTY5My9hdG9taXNwLW92NTY5My5jIHwgNCArLS0tCj4gwqBkcml2ZXJzL3N0 YWdpbmcvbWVkaWEvbWF4OTY3MTIvbWF4OTY3MTIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3N0YWdpbmcvbW9zdC9pMmMvaTJjLmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0K PiDCoGRyaXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24vb2xwY19kY29uLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3R0eS9zZXJpYWwv c2MxNmlzN3h4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvdXNiL21pc2MvdXNiMzUwMy5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0 ICstLS0KPiDCoGRyaXZlcnMvdXNiL3BoeS9waHktaXNwMTMwMS1vbWFwLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3Vz Yi9waHkvcGh5LWlzcDEzMDEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3VzYi90eXBlYy9oZDNzczMy MjAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3VzYi90eXBlYy9tdXgvZnNhNDQ4MC5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKg ZHJpdmVycy91c2IvdHlwZWMvbXV4L3BpM3VzYjMwNTMyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL3VzYi90eXBlYy9ydDE3 MTkuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3VzYi90eXBlYy9zdHVzYjE2MHguY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCAr LS0tCj4gwqBkcml2ZXJzL3VzYi90eXBlYy90Y3BtL2Z1c2IzMDIuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3Vz Yi90eXBlYy90Y3BtL3RjcGNpLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNw Y2lfbWF4aW0uY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgZHJpdmVycy91c2IvdHlwZWMvdGNwbS90Y3BjaV9ydDE3MTFoLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL3VzYi90eXBl Yy90aXBkL2NvcmUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3VzYi90eXBlYy91Y3NpL3Vjc2lfY2Nn LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICst LS0KPiDCoGRyaXZlcnMvdXNiL3R5cGVjL3d1c2IzODAxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9hZHA4ODYwX2JsLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FkcDg4 NzBfYmwuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0t LQo+IMKgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYXJjeGNubl9ibC5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9iZDYxMDcuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sbTM2MzBhX2Js LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKg ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG0zNjM5X2JsLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC9scDg1NXhfYmwuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgNCArLS0tCj4gwqBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sdjUyMDdscC5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvdG9zYV9ibC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoGRyaXZlcnMvdmlkZW8vZmJkZXYvbWF0cm94 L21hdHJveGZiX21hdmVuLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDC oGRyaXZlcnMvdmlkZW8vZmJkZXYvc3NkMTMwN2ZiLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBkcml2ZXJzL3cxL21hc3Rl cnMvZHMyNDgyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgZHJpdmVycy93YXRjaGRvZy96aWlyYXZlX3dkdC5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBpbmNsdWRlL2xpbnV4L2kyYy5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDIgKy0K PiDCoGxpYi9LY29uZmlnLmthc2FuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAxICsKPiDCoHNv dW5kL2FvYS9jb2RlY3Mvb255eC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgc291bmQvYW9hL2Nv ZGVjcy90YXMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgc291bmQvcGNpL2hkYS9jczM1bDQx X2hkYV9pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3BwYy9rZXl3ZXN0LmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgNiArKy0tLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvYWRhdTE3NjEtaTJjLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoHNv dW5kL3NvYy9jb2RlY3MvYWRhdTE3ODEtaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvYWs0 Mzc1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL2FrNDQ1OC5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9hazQ2NDEuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0K PiDCoHNvdW5kL3NvYy9jb2RlY3MvYWs1NTU4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9z b2MvY29kZWNzL2NzMzVsMzIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL2Nz MzVsMzMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL2NzMzVsMzQuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgNCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL2NzMzVsMzUuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4g wqBzb3VuZC9zb2MvY29kZWNzL2NzMzVsMzYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9zb2Mv Y29kZWNzL2NzMzVsNDEtaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvY3MzNWw0NS1p MmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9jczQyMzQuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0K PiDCoHNvdW5kL3NvYy9jb2RlY3MvY3M0MjY1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9z b2MvY29kZWNzL2NzNDI3MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9j czQybDQyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9jczQybDUxLWkyYy5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg NCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL2NzNDJsNTYuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoHNv dW5kL3NvYy9jb2RlY3MvY3M0Mnh4OC1pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9j czQzMTMwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9jczQzNDkuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvY3M1M2wzMC5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0K PiDCoHNvdW5kL3NvYy9jb2RlY3MvY3gyMDcyeC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgc291bmQvc29j L2NvZGVjcy9tYXg5ODA5MC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL21heDk4 NjAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgMyArLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvbWF4OTg5MjcuY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9tdDY2NjAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgc291 bmQvc29jL2NvZGVjcy9uYXU4ODIxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVj cy9uYXU4ODI1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDYgKystLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL3BjbTE3ODkt aTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvcGNtMzE2OGEtaTJjLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBz b3VuZC9zb2MvY29kZWNzL3BjbTUxMngtaTJjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzICstLQo+IMKgc291bmQvc29jL2NvZGVjcy9y dDI3NC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL3J0Mjg2LmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvcnQyOTguY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9ydDU2MTYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA2ICsrLS0tLQo+IMKg c291bmQvc29jL2NvZGVjcy9ydDU2MzEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA2ICsrLS0tLQo+IMKgc291bmQvc29j L2NvZGVjcy9ydDU2NDUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvcnQ1 NjYzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL3J0NTY3MC5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9ydDU2NzcuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0K PiDCoHNvdW5kL3NvYy9jb2RlY3MvcnQ1NjgyLWkyYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9j b2RlY3MvcnQ1Njgycy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvcnQ5MTIw LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgMyArLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3Mvc2d0bDUwMDAuY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQg Ky0tLQo+IMKgc291bmQvc29jL2NvZGVjcy9zdGEzNTAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA2ICsrLS0tLQo+IMKg c291bmQvc29jL2NvZGVjcy90YXMyNTUyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBzb3VuZC9zb2MvY29k ZWNzL3RhczUwODYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgNiArKy0tLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvdGFzNTcx eC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvdGFzNTgwNW0uY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMg Ky0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL3RhczY0MjQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3Vu ZC9zb2MvY29kZWNzL3RsdjMyMGFkYzN4eHguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3MvdGx2MzIw YWljMzJ4NC1pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC1pMmMuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3Nv Yy9jb2RlY3MvdGx2MzIwZGFjMzMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy93bTEyNTAt ZXYxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVjcy93bTIyMDAuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA0ICst LS0KPiDCoHNvdW5kL3NvYy9jb2RlY3Mvd201MTAwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArLS0tCj4gwqBzb3Vu ZC9zb2MvY29kZWNzL3dtODgwNC1pMmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMyArLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3Mvd204 OTAwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgNiArKy0tLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3Mvd204OTAzLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgNCArLS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL3dtODk2MC5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDYgKyst LS0tCj4gwqBzb3VuZC9zb2MvY29kZWNzL3dtODk2Mi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tCj4gwqBzb3Vu ZC9zb2MvY29kZWNzL3dtODk5My5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKy0tLQo+IMKgc291bmQvc29jL2NvZGVj cy93bTg5OTYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCA0ICstLS0KPiDCoHNvdW5kL3NvYy9jb2RlY3Mvd205MDgxLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNiArKy0tLS0KPiDCoDYyMSBmaWxlcyBjaGFuZ2VkLCA2NDggaW5zZXJ0aW9ucygr KSwgMTczNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMv d3JpdGluZy1jbGllbnRzLnJzdAo+IGIvRG9jdW1lbnRhdGlvbi9pMmMvd3JpdGluZy1jbGllbnRz LnJzdAo+IGluZGV4IGUzYjEyNmNmNGEzYi4uYzFiNDY4NDRiMGZiIDEwMDY0NAo+IC0tLSBhL0Rv Y3VtZW50YXRpb24vaTJjL3dyaXRpbmctY2xpZW50cy5yc3QKPiArKysgYi9Eb2N1bWVudGF0aW9u L2kyYy93cml0aW5nLWNsaWVudHMucnN0Cj4gQEAgLTE1Niw3ICsxNTYsNyBAQCB0aG9zZSBkZXZp Y2VzLCBhbmQgYSByZW1vdmUoKSBtZXRob2QgdG8gdW5iaW5kLgo+IMKgOjoKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqBzdGF0aWMgaW50IGZvb19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KTsKPiAtwqDCoMKgwqDCoMKgwqBzdGF0aWMgaW50IGZvb19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCk7Cj4gK8KgwqDCoMKgwqDCoMKgc3RhdGljIHZvaWQgZm9vX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KTsKPiDCoAo+IMKgUmVtZW1iZXIgdGhhdCB0aGUgaTJjX2Ry aXZlciBkb2VzIG5vdCBjcmVhdGUgdGhvc2UgY2xpZW50IGhhbmRsZXMuwqAKPiBUaGUKPiDCoGhh bmRsZSBtYXkgYmUgdXNlZCBkdXJpbmcgZm9vX3Byb2JlKCkuwqAgSWYgZm9vX3Byb2JlKCkgcmVw b3J0cwo+IHN1Y2Nlc3MKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1kYXZpbmNpL2JvYXJk LWRtNjQ0eC1ldm0uYwo+IGIvYXJjaC9hcm0vbWFjaC1kYXZpbmNpL2JvYXJkLWRtNjQ0eC1ldm0u Ywo+IGluZGV4IDlmNDA1YWYzNmE2Zi4uOTA1NWRhMzI1YTNmIDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJtL21hY2gtZGF2aW5jaS9ib2FyZC1kbTY0NHgtZXZtLmMKPiArKysgYi9hcmNoL2FybS9tYWNo LWRhdmluY2kvYm9hcmQtZG02NDR4LWV2bS5jCj4gQEAgLTU1NCwxMCArNTU0LDkgQEAgc3RhdGlj IGludCBkbTY0NDZldm1fbXNwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBkbTY0NDZl dm1fbXNwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBk bTY0NDZldm1fbXNwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBkbTY0NDZldm1fbXNwID0gTlVMTDsKPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGRt NjQ0NmV2bV9tc3BfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtZGF2aW5j aS9ib2FyZC1kbTY0NngtZXZtLmMKPiBiL2FyY2gvYXJtL21hY2gtZGF2aW5jaS9ib2FyZC1kbTY0 NngtZXZtLmMKPiBpbmRleCA4NGFkMDY1ZTk4YzIuLjI4N2JiNTgzM2VjMCAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9tYWNoLWRhdmluY2kvYm9hcmQtZG02NDZ4LWV2bS5jCj4gKysrIGIvYXJjaC9h cm0vbWFjaC1kYXZpbmNpL2JvYXJkLWRtNjQ2eC1ldm0uYwo+IEBAIC00MDMsMTAgKzQwMyw5IEBA IHN0YXRpYyBpbnQgY3BsZF92aWRlb19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY3Bs ZF92aWRlb19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg Y3BsZF92aWRlb19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgY3BsZF9jbGllbnQgPSBOVUxMOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgY3BsZF92 aWRlb19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zLzgzeHgv bWN1X21wYzgzNDllbWl0eC5jCj4gYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zLzgzeHgvbWN1X21w YzgzNDllbWl0eC5jCj4gaW5kZXggYWJiNjJmYTYzMGVmLi43N2VkNjEzMDZhNzMgMTAwNjQ0Cj4g LS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy84M3h4L21jdV9tcGM4MzQ5ZW1pdHguYwo+ICsr KyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvODN4eC9tY3VfbXBjODM0OWVtaXR4LmMKPiBAQCAt MTc4LDcgKzE3OCw3IEBAIHN0YXRpYyBpbnQgbWN1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCBtY3VfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lk IG1jdV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IG1jdSAqbWN1ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAK PiBAQCAtMTkzLDcgKzE5Myw2IEBAIHN0YXRpYyBpbnQgbWN1X3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG1jdV9ncGlvY2hpcF9yZW1vdmUo bWN1KTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUobWN1KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG1j dV9pZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdXhkaXNwbGF5L2h0MTZrMzMuYwo+ IGIvZHJpdmVycy9hdXhkaXNwbGF5L2h0MTZrMzMuYwo+IGluZGV4IDRmYWIzYjJjNzAyMy4uMDI0 MjU5OTFjMTU5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvYXV4ZGlzcGxheS9odDE2azMzLmMKPiAr KysgYi9kcml2ZXJzL2F1eGRpc3BsYXkvaHQxNmszMy5jCj4gQEAgLTc3NSw3ICs3NzUsNyBAQCBz dGF0aWMgaW50IGh0MTZrMzNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaHQxNmsz M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgaHQxNmsz M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IGh0MTZrMzNfcHJpdiAqcHJpdiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaHQxNmszM19mYmRldiAqZmJkZXYgPSAmcHJpdi0+ ZmJkZXY7Cj4gQEAgLTc5Niw4ICs3OTYsNiBAQCBzdGF0aWMgaW50IGh0MTZrMzNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGRldmljZV9yZW1vdmVfZmlsZSgmY2xpZW50LT5kZXYsCj4gJmRldl9hdHRyX21hcF9zZWcx NCk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBicmVhazsKPiDCoMKgwqDCoMKg wqDCoMKgfQo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGh0MTZrMzNfaTJjX21hdGNoW10gPSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXV4ZGlzcGxheS9sY2Qycy5jIGIvZHJpdmVycy9hdXhkaXNw bGF5L2xjZDJzLmMKPiBpbmRleCBlNDY1MTA4ZDk5OTguLjEzNTgzMWExNjUxNCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2F1eGRpc3BsYXkvbGNkMnMuYwo+ICsrKyBiL2RyaXZlcnMvYXV4ZGlzcGxh eS9sY2Qycy5jCj4gQEAgLTM0MCwxMyArMzQwLDEyIEBAIHN0YXRpYyBpbnQgbGNkMnNfaTJjX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVy cjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGxjZDJzX2kyY19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgbGNkMnNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbGNkMnNfZGF0YSAqbGNk MnMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBjaGFy bGNkX3VucmVnaXN0ZXIobGNkMnMtPmNoYXJsY2QpOwo+IMKgwqDCoMKgwqDCoMKgwqBjaGFybGNk X2ZyZWUobGNkMnMtPmNoYXJsY2QpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbGNkMnNfaTJjX2lkW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcG1pL2lwbWJfZGV2X2ludC5jCj4gYi9k cml2ZXJzL2NoYXIvaXBtaS9pcG1iX2Rldl9pbnQuYwo+IGluZGV4IGRiNDAwMzdlYjM0Ny4uYTBl OWU4MGQ5MmVlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvY2hhci9pcG1pL2lwbWJfZGV2X2ludC5j Cj4gKysrIGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtYl9kZXZfaW50LmMKPiBAQCAtMzQxLDE0ICsz NDEsMTIgQEAgc3RhdGljIGludCBpcG1iX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBp cG1iX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpcG1i X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgaXBtYl9kZXYgKmlwbWJfZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7 Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaTJjX3NsYXZlX3VucmVnaXN0ZXIoY2xpZW50KTsKPiDC oMKgwqDCoMKgwqDCoMKgbWlzY19kZXJlZ2lzdGVyKCZpcG1iX2Rldi0+bWlzY2Rldik7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3Ry dWN0IGkyY19kZXZpY2VfaWQgaXBtYl9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2No YXIvaXBtaS9pcG1pX2lwbWIuYwo+IGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9pcG1iLmMKPiBp bmRleCBhYjE5YjRiMzMxN2UuLjI1YzAxMGM5ZWMyNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2No YXIvaXBtaS9pcG1pX2lwbWIuYwo+ICsrKyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfaXBtYi5j Cj4gQEAgLTQyNCw3ICs0MjQsNyBAQCBzdGF0aWMgdm9pZCBpcG1pX2lwbWJfcmVxdWVzdF9ldmVu dHModm9pZAo+ICpzZW5kX2luZm8pCj4gwqDCoMKgwqDCoMKgwqDCoC8qIFdlIGRvbid0IGZldGNo IGV2ZW50cyBoZXJlLiAqLwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaXBtaV9pcG1iX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpcG1pX2lwbWJfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCBpcG1pX2lwbWJfZGV2ICppaWRldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+ IMKgCj4gQEAgLTQzOCw4ICs0MzgsNiBAQCBzdGF0aWMgaW50IGlwbWlfaXBtYl9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBpcG1pX2lwbWJfc3Rv cF90aHJlYWQoaWlkZXYpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlwbWlfdW5yZWdpc3Rlcl9z bWkoaWlkZXYtPmludGYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGludCBpcG1pX2lwbWJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9zc2lmLmMKPiBiL2RyaXZl cnMvY2hhci9pcG1pL2lwbWlfc3NpZi5jCj4gaW5kZXggZmM3NDJlZTljMDQ2Li4xM2RhMDIxZTdj NmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9zc2lmLmMKPiArKysgYi9k cml2ZXJzL2NoYXIvaXBtaS9pcG1pX3NzaWYuYwo+IEBAIC0xMjgxLDEzICsxMjgxLDEzIEBAIHN0 YXRpYyB2b2lkIHNodXRkb3duX3NzaWYodm9pZCAqc2VuZF9pbmZvKQo+IMKgwqDCoMKgwqDCoMKg wqB9Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBzc2lmX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzc2lmX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgc3NpZl9pbmZvICpzc2lmX2lu Zm8gPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHNzaWZfYWRkcl9pbmZvICphZGRyX2luZm87Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCFz c2lmX2luZm8pCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm47Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgLyoKPiDCoMKgwqDCoMKgwqDCoMKgICogQWZ0ZXIgdGhpcyBwb2ludCwgd2Ugd29uJ3QgZGVs aXZlciBhbnl0aGluZyBhc3ljaHJvbm91c2x5Cj4gQEAgLTEzMDMsOCArMTMwMyw2IEBAIHN0YXRp YyBpbnQgc3NpZl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKg wqDCoMKgwqB9Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoc3NpZl9pbmZvKTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgcmVhZF9y ZXNwb25zZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1bnNpZ25lZCBjaGFyCj4gKnJlc3Ap Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90cG0vc3QzM3pwMjQvaTJjLmMKPiBiL2RyaXZl cnMvY2hhci90cG0vc3QzM3pwMjQvaTJjLmMKPiBpbmRleCAzMTcwZDU5ZDY2MGMuLmEzYWE0MTEz ODllNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3N0MzN6cDI0L2kyYy5jCj4gKysr IGIvZHJpdmVycy9jaGFyL3RwbS9zdDMzenAyNC9pMmMuYwo+IEBAIC0yNjQsMTMgKzI2NCwxMSBA QCBzdGF0aWMgaW50IHN0MzN6cDI0X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsCj4gwqAgKiBAcGFyYW06IGNsaWVudCwgdGhlIGkyY19jbGllbnQgZGVzY3JpcHRpb24gKFRQ TSBJMkMgZGVzY3JpcHRpb24pLgo+IMKgICogQHJldHVybjogMCBpbiBjYXNlIG9mIHN1Y2Nlc3Mu Cj4gwqAgKi8KPiAtc3RhdGljIGludCBzdDMzenAyNF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHN0MzN6cDI0X2kyY19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRwbV9jaGlw ICpjaGlwID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgc3QzM3pwMjRfcmVtb3ZlKGNoaXApOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHN0MzN6cDI0 X2kyY19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV9pMmNfYXRt ZWwuYwo+IGIvZHJpdmVycy9jaGFyL3RwbS90cG1faTJjX2F0bWVsLmMKPiBpbmRleCBkNWFjODU1 NTgyMTQuLjRiZTM2NzdjMTQ2MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV9p MmNfYXRtZWwuYwo+ICsrKyBiL2RyaXZlcnMvY2hhci90cG0vdHBtX2kyY19hdG1lbC5jCj4gQEAg LTE3OSwxMiArMTc5LDExIEBAIHN0YXRpYyBpbnQgaTJjX2F0bWVsX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHRwbV9jaGlwX3JlZ2lz dGVyKGNoaXApOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaTJjX2F0bWVsX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpMmNfYXRtZWxfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBk ZXZpY2UgKmRldiA9ICYoY2xpZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdHBt X2NoaXAgKmNoaXAgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgdHBt X2NoaXBfdW5yZWdpc3RlcihjaGlwKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0K PiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGkyY19hdG1lbF9pZFtd ID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV9pMmNfaW5maW5lb24uYwo+ IGIvZHJpdmVycy9jaGFyL3RwbS90cG1faTJjX2luZmluZW9uLmMKPiBpbmRleCBhMTlkMzJjYjRl OTQuLmZkM2MzNjYxZTY0NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV9pMmNf aW5maW5lb24uYwo+ICsrKyBiL2RyaXZlcnMvY2hhci90cG0vdHBtX2kyY19pbmZpbmVvbi5jCj4g QEAgLTcwNiwxNSArNzA2LDEzIEBAIHN0YXRpYyBpbnQgdHBtX3Rpc19pMmNfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmM7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCB0cG1fdGlzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHBtX3Rpc19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0cG1fY2hpcCAqY2hp cCA9IHRwbV9kZXYuY2hpcDsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB0cG1fY2hpcF91bnJlZ2lz dGVyKGNoaXApOwo+IMKgwqDCoMKgwqDCoMKgwqByZWxlYXNlX2xvY2FsaXR5KGNoaXAsIHRwbV9k ZXYubG9jYWxpdHksIDEpOwo+IMKgwqDCoMKgwqDCoMKgwqB0cG1fZGV2LmNsaWVudCA9IE5VTEw7 Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3Ry dWN0IGkyY19kcml2ZXIgdHBtX3Rpc19pMmNfZHJpdmVyID0gewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2NoYXIvdHBtL3RwbV9pMmNfbnV2b3Rvbi5jCj4gYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV9p MmNfbnV2b3Rvbi5jCj4gaW5kZXggYjc3YzE4ZTM4NjYyLi45NWMzNzM1MGNjOGUgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9jaGFyL3RwbS90cG1faTJjX251dm90b24uYwo+ICsrKyBiL2RyaXZlcnMv Y2hhci90cG0vdHBtX2kyY19udXZvdG9uLmMKPiBAQCAtNjIyLDEyICs2MjIsMTEgQEAgc3RhdGlj IGludCBpMmNfbnV2b3Rvbl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiB0cG1fY2hpcF9yZWdpc3RlcihjaGlwKTsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IGkyY19udXZvdG9uX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBpMmNfbnV2b3Rvbl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRwbV9jaGlwICpjaGlwID0gaTJj X2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdHBtX2NoaXBf dW5yZWdpc3RlcihjaGlwKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGkyY19udXZvdG9uX2lkW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpc19pMmNfY3I1MC5jCj4gYi9k cml2ZXJzL2NoYXIvdHBtL3RwbV90aXNfaTJjX2NyNTAuYwo+IGluZGV4IDk3NDQ3OWExZWM1YS4u NzdjZWE1YjMxYzZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpc19pMmNf Y3I1MC5jCj4gKysrIGIvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzX2kyY19jcjUwLmMKPiBAQCAt NzYzLDIwICs3NjMsMTggQEAgc3RhdGljIGludCB0cG1fY3I1MF9pMmNfcHJvYmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50KQo+IMKgICogLSAwOsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgU3VjY2Vzcy4KPiDCoCAqIC0gLWVycm5vOsKgwqDCoEEgUE9TSVggZXJyb3IgY29kZS4K PiDCoCAqLwo+IC1zdGF0aWMgaW50IHRwbV9jcjUwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHBtX2NyNTBfaTJjX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdHBtX2NoaXAg KmNoaXAgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGRldmljZSAqZGV2ID0gJmNsaWVudC0+ZGV2Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlm ICghY2hpcCkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X2NyaXQoZGV2 LCAiQ291bGQgbm90IGdldCBjbGllbnQgZGF0YSBhdCByZW1vdmUsCj4gbWVtb3J5IGNvcnJ1cHRp b24gYWhlYWRcbiIpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuOwo+IMKgwqDCoMKgwqDCoMKg wqB9Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdHBtX2NoaXBfdW5yZWdpc3RlcihjaGlwKTsKPiDC oMKgwqDCoMKgwqDCoMKgdHBtX2NyNTBfcmVsZWFzZV9sb2NhbGl0eShjaGlwLCB0cnVlKTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBTSU1QTEVf REVWX1BNX09QUyhjcjUwX2kyY19wbSwgdHBtX3BtX3N1c3BlbmQsCj4gdHBtX3BtX3Jlc3VtZSk7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL2Nsay1jZGNlNzA2LmMgYi9kcml2ZXJzL2Nsay9j bGstY2RjZTcwNi5jCj4gaW5kZXggNTQ2N2Q5NDFkZGZkLi4xNDQ5ZDA1Mzc2NzQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9jbGsvY2xrLWNkY2U3MDYuYwo+ICsrKyBiL2RyaXZlcnMvY2xrL2Nsay1j ZGNlNzA2LmMKPiBAQCAtNjY1LDEwICs2NjUsOSBAQCBzdGF0aWMgaW50IGNkY2U3MDZfcHJvYmUo c3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNkY2UpOwo+ IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY2RjZTcwNl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgY2RjZTcwNl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgb2ZfY2xrX2RlbF9wcm92aWRlcihjbGll bnQtPmRldi5vZl9ub2RlKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL2Nsay1jczIwMDAtY3AuYyBiL2RyaXZlcnMv Y2xrL2Nsay1jczIwMDAtCj4gY3AuYwo+IGluZGV4IGFhNWM3MmJhYjgzZS4uMzIwZDM5OTIyMjA2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvY2xrL2Nsay1jczIwMDAtY3AuYwo+ICsrKyBiL2RyaXZl cnMvY2xrL2Nsay1jczIwMDAtY3AuYwo+IEBAIC01NTcsNyArNTU3LDcgQEAgc3RhdGljIGludCBj czIwMDBfdmVyc2lvbl9wcmludChzdHJ1Y3QKPiBjczIwMDBfcHJpdiAqcHJpdikKPiDCoMKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjczIwMDBfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGNzMjAwMF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IGNzMjAwMF9wcml2ICpwcml2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBkZXZpY2UgKmRldiA9IHByaXZfdG9fZGV2KHByaXYpOwo+IEBAIC01 NjYsOCArNTY2LDYgQEAgc3RhdGljIGludCBjczIwMDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgb2ZfY2xrX2RlbF9wcm92aWRlcihucCk7Cj4g wqAKPiDCoMKgwqDCoMKgwqDCoMKgY2xrX2h3X3VucmVnaXN0ZXIoJnByaXYtPmh3KTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgY3MyMDAw X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Y2xrL2Nsay1zaTUxNC5jIGIvZHJpdmVycy9jbGsvY2xrLXNpNTE0LmMKPiBpbmRleCA0NDgxYzQz MDM1MzQuLmMwMjhmYTEwM2JlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2Nsay9jbGstc2k1MTQu Ywo+ICsrKyBiL2RyaXZlcnMvY2xrL2Nsay1zaTUxNC5jCj4gQEAgLTM3MCwxMCArMzcwLDkgQEAg c3RhdGljIGludCBzaTUxNF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc2k1MTRfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHNpNTE0X3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBvZl9j bGtfZGVsX3Byb3ZpZGVyKGNsaWVudC0+ZGV2Lm9mX25vZGUpOwo+IC3CoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQg c2k1MTRfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvY2xrLXNpNTM0MS5jIGIv ZHJpdmVycy9jbGsvY2xrLXNpNTM0MS5jCj4gaW5kZXggNGJjYTczMjEyNjYyLi4wZTUyOGQ3YmE2 NTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9jbGsvY2xrLXNpNTM0MS5jCj4gKysrIGIvZHJpdmVy cy9jbGsvY2xrLXNpNTM0MS5jCj4gQEAgLTE3OTYsNyArMTc5Niw3IEBAIHN0YXRpYyBpbnQgc2k1 MzQxX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHNpNTM0MV9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgc2k1MzQxX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgY2xrX3Np NTM0MSAqZGF0YSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKg wqBpbnQgaTsKPiBAQCAtMTgwNyw4ICsxODA3LDYgQEAgc3RhdGljIGludCBzaTUzNDFfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGlmIChkYXRhLT5jbGtbaV0udmRkb19yZWcpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2Rpc2FibGUoZGF0YS0+Y2xrW2ld LnZkZG9fcmVnKTsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHNp NTM0MV9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9jbGstc2k1MzUxLmMgYi9k cml2ZXJzL2Nsay9jbGstc2k1MzUxLmMKPiBpbmRleCBiOWYwODhjNGJhMmYuLjllOTM5Yzk4YTQ1 NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2Nsay9jbGstc2k1MzUxLmMKPiArKysgYi9kcml2ZXJz L2Nsay9jbGstc2k1MzUxLmMKPiBAQCAtMTY1MSwxMSArMTY1MSw5IEBAIHN0YXRpYyBpbnQgc2k1 MzUxX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc2k1MzUxX2kyY19yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgc2k1MzUxX2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgb2Zf Y2xrX2RlbF9wcm92aWRlcihjbGllbnQtPmRldi5vZl9ub2RlKTsKPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBzaTUz NTFfZHJpdmVyID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9jbGstc2k1NzAuYyBiL2Ry aXZlcnMvY2xrL2Nsay1zaTU3MC5jCj4gaW5kZXggMWZmOGYzMmY3MzRkLi4wYTZkNzBjNDk3MjYg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9jbGsvY2xrLXNpNTcwLmMKPiArKysgYi9kcml2ZXJzL2Ns ay9jbGstc2k1NzAuYwo+IEBAIC00OTgsMTAgKzQ5OCw5IEBAIHN0YXRpYyBpbnQgc2k1NzBfcHJv YmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHNpNTcwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzaTU3MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgb2ZfY2xrX2RlbF9wcm92aWRlcihjbGll bnQtPmRldi5vZl9ub2RlKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgY2xrX3NpNTcwX29mX21hdGNoW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL2Nsay12ZXJzYWNsb2NrNS5jIGIvZHJpdmVy cy9jbGsvY2xrLQo+IHZlcnNhY2xvY2s1LmMKPiBpbmRleCBlN2JlM2U1NGI5YmUuLjY1NzQ5M2Vj Y2U0YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2Nsay9jbGstdmVyc2FjbG9jazUuYwo+ICsrKyBi L2RyaXZlcnMvY2xrL2Nsay12ZXJzYWNsb2NrNS5jCj4gQEAgLTExMzgsNyArMTEzOCw3IEBAIHN0 YXRpYyBpbnQgdmM1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB2YzVfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHZjNV9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHZjNV9k cml2ZXJfZGF0YSAqdmM1ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAt MTE0Niw4ICsxMTQ2LDYgQEAgc3RhdGljIGludCB2YzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAodmM1LT5jaGlwX2luZm8tPmZs YWdzICYgVkM1X0hBU19JTlRFUk5BTF9YVEFMKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgY2xrX3VucmVnaXN0ZXJfZml4ZWRfcmF0ZSh2YzUtPnBpbl94aW4pOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJlX3Vu dXNlZCB2YzVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvY3J5cHRvL2F0bWVsLWVjYy5jIGIvZHJpdmVycy9jcnlwdG8vYXRtZWwtZWNjLmMKPiBpbmRl eCBhNGIxM2QzMjZjZmMuLjgyYmYxNWQ0OTU2MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2NyeXB0 by9hdG1lbC1lY2MuYwo+ICsrKyBiL2RyaXZlcnMvY3J5cHRvL2F0bWVsLWVjYy5jCj4gQEAgLTM0 Myw3ICszNDMsNyBAQCBzdGF0aWMgaW50IGF0bWVsX2VjY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCBhdG1lbF9lY2NfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIGF0bWVsX2VjY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGF0bWVsX2kyY19jbGllbnRfcHJpdiAqaTJj X3ByaXYgPQo+IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTM1OCw3ICsz NTgsNyBAQCBzdGF0aWMgaW50IGF0bWVsX2VjY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAq Y2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogYWNjZXNzaW5nIHRo ZSBmcmVlZCBtZW1vcnkuCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9lbWVyZygmY2xpZW50LT5kZXYsICJE ZXZpY2UgaXMgYnVzeSwgZXhwZWN0Cj4gbWVtb3J5IGNvcnJ1cHRpb24uXG4iKTsKPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHJldHVybjsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoGNyeXB0b191bnJlZ2lzdGVyX2twcCgmYXRtZWxfZWNkaF9uaXN0X3AyNTYpOwo+IEBAIC0z NjYsOCArMzY2LDYgQEAgc3RhdGljIGludCBhdG1lbF9lY2NfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgc3Bpbl9sb2NrKCZkcml2ZXJfZGF0YS5p MmNfbGlzdF9sb2NrKTsKPiDCoMKgwqDCoMKgwqDCoMKgbGlzdF9kZWwoJmkyY19wcml2LT5pMmNf Y2xpZW50X2xpc3Rfbm9kZSk7Cj4gwqDCoMKgwqDCoMKgwqDCoHNwaW5fdW5sb2NrKCZkcml2ZXJf ZGF0YS5pMmNfbGlzdF9sb2NrKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfT0YKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8v YXRtZWwtc2hhMjA0YS5jIGIvZHJpdmVycy9jcnlwdG8vYXRtZWwtCj4gc2hhMjA0YS5jCj4gaW5k ZXggZTQwODdiZGQyNDc1Li5hODRiNjU3NTk4YzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9jcnlw dG8vYXRtZWwtc2hhMjA0YS5jCj4gKysrIGIvZHJpdmVycy9jcnlwdG8vYXRtZWwtc2hhMjA0YS5j Cj4gQEAgLTExNiwxOCArMTE2LDE2IEBAIHN0YXRpYyBpbnQgYXRtZWxfc2hhMjA0YV9wcm9iZShz dHJ1Y3QKPiBpMmNfY2xpZW50ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBhdG1lbF9zaGEyMDRhX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhdG1lbF9zaGEyMDRhX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYXRt ZWxfaTJjX2NsaWVudF9wcml2ICppMmNfcHJpdiA9Cj4gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVu dCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGF0b21pY19yZWFkKCZpMmNfcHJpdi0+dGZt X2NvdW50KSkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X2VtZXJnKCZj bGllbnQtPmRldiwgIkRldmljZSBpcyBidXN5LCB3aWxsIHJlbW92ZQo+IGl0IGFueWhvd1xuIik7 Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm47Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IMKg wqDCoMKgwqDCoMKgwqBrZnJlZSgodm9pZCAqKWkyY19wcml2LT5od3JuZy5wcml2KTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkIGF0bWVsX3NoYTIwNGFfZHRfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZXh0Y29uL2V4dGNvbi1ydDg5NzNhLmMgYi9kcml2ZXJzL2V4dGNvbi9leHRjb24t Cj4gcnQ4OTczYS5jCj4gaW5kZXggNDBjMDdmNGQ2NTZlLi5kMWM2NzRmM2YyYjkgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9leHRjb24vZXh0Y29uLXJ0ODk3M2EuYwo+ICsrKyBiL2RyaXZlcnMvZXh0 Y29uL2V4dGNvbi1ydDg5NzNhLmMKPiBAQCAtNjQ3LDEzICs2NDcsMTEgQEAgc3RhdGljIGludCBy dDg5NzNhX211aWNfaTJjX3Byb2JlKHN0cnVjdAo+IGkyY19jbGllbnQgKmkyYywKPiDCoMKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBydDg5NzNhX211aWNf aTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBydDg5NzNh X211aWNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgcnQ4OTczYV9tdWljX2luZm8gKmluZm8gPSBpMmNfZ2V0X2NsaWVudGRh dGEoaTJjKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZWdtYXBfZGVsX2lycV9jaGlwKGluZm8t PmlycSwgaW5mby0+aXJxX2RhdGEpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcnQ4OTczYV9kdF9t YXRjaFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwaW8vZ3Bpby1hZHA1NTg4LmMgYi9k cml2ZXJzL2dwaW8vZ3Bpby0KPiBhZHA1NTg4LmMKPiBpbmRleCBlMzg4ZTc1MTAzZjQuLmFjYjY3 M2RjOTAwNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwaW8vZ3Bpby1hZHA1NTg4LmMKPiArKysg Yi9kcml2ZXJzL2dwaW8vZ3Bpby1hZHA1NTg4LmMKPiBAQCAtNDExLDE0ICs0MTEsMTIgQEAgc3Rh dGljIGludCBhZHA1NTg4X2dwaW9fcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFkcDU1 ODhfZ3Bpb19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg YWRwNTU4OF9ncGlvX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWRwNTU4OF9ncGlvICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoZGV2LT5jbGllbnQtPmlycSkK PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZyZWVfaXJxKGRldi0+Y2xpZW50LT5p cnEsIGRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYWRwNTU4OF9ncGlvX2lkW10gPSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3Bpby9ncGlvLW1heDczMDAuYyBiL2RyaXZlcnMvZ3Bpby9n cGlvLQo+IG1heDczMDAuYwo+IGluZGV4IGIyYjU0N2RkNmU4NC4uNDNkYTM4MWE0ZDdlIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLW1heDczMDAuYwo+ICsrKyBiL2RyaXZlcnMvZ3Bp by9ncGlvLW1heDczMDAuYwo+IEBAIC00OCwxMSArNDgsOSBAQCBzdGF0aWMgaW50IG1heDczMDBf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gX19tYXg3MzB4X3Byb2JlKHRzKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG1heDczMDBf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1heDczMDBf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oF9fbWF4NzMweF9yZW1vdmUoJmNsaWVudC0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBt YXg3MzAwX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3Bpby9ncGlvLXBjYTk1M3gu YyBiL2RyaXZlcnMvZ3Bpby9ncGlvLQo+IHBjYTk1M3guYwo+IGluZGV4IDNlZWRlYWM5ZWM4ZC4u ZmM1ZjAzN2FhZjY0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLXBjYTk1M3guYwo+ ICsrKyBiL2RyaXZlcnMvZ3Bpby9ncGlvLXBjYTk1M3guYwo+IEBAIC0xMDk1LDcgKzEwOTUsNyBA QCBzdGF0aWMgaW50IHBjYTk1M3hfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcGNh OTUzeF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcGNh OTUzeF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IHBjYTk1M3hfcGxhdGZvcm1fZGF0YSAqcGRhdGEgPQo+IGRldl9nZXRfcGxh dGRhdGEoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHBjYTk1M3hfY2hp cCAqY2hpcCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IEBAIC0xMTA2LDggKzExMDYs NiBAQCBzdGF0aWMgaW50IHBjYTk1M3hfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9k aXNhYmxlKGNoaXAtPnJlZ3VsYXRvcik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNX1NMRUVQCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3Bpby9ncGlvLXBjZjg1N3guYyBiL2RyaXZlcnMvZ3Bpby9ncGlvLQo+IHBjZjg1N3guYwo+ IGluZGV4IDU5Y2MyN2U0ZGU1MS4uZTk4ZWE0N2Q3MjM3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3Bpby9ncGlvLXBjZjg1N3guYwo+ICsrKyBiL2RyaXZlcnMvZ3Bpby9ncGlvLXBjZjg1N3guYwo+ IEBAIC0zOTksNyArMzk5LDcgQEAgc3RhdGljIGludCBwY2Y4NTd4X3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHN0YXR1czsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IHBjZjg1N3hfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gK3N0YXRpYyB2b2lkIHBjZjg1N3hfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBwY2Y4NTd4X3BsYXRmb3JtX2RhdGHC oMKgwqDCoCpwZGF0YSA9Cj4gZGV2X2dldF9wbGF0ZGF0YSgmY2xpZW50LT5kZXYpOwo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgcGNmODU3eMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCpncGlvID0KPiBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiBAQCAtNDA3LDggKzQw Nyw2IEBAIHN0YXRpYyBpbnQgcGNmODU3eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBpZiAocGRhdGEgJiYgcGRhdGEtPnRlYXJkb3duKQo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcGRhdGEtPnRlYXJkb3duKGNsaWVudCwgZ3Bp by0+Y2hpcC5iYXNlLCBncGlvLQo+ID5jaGlwLm5ncGlvLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwZGF0YS0+Y29udGV4 dCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg dm9pZCBwY2Y4NTd4X3NodXRkb3duKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3Bpby9ncGlvLXRwaWMyODEwLmMgYi9kcml2ZXJzL2dwaW8vZ3Bpby0K PiB0cGljMjgxMC5jCj4gaW5kZXggOTlkNWE4NGE5MTI5Li44ZDgyOTBmMzZjOGEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncGlvL2dwaW8tdHBpYzI4MTAuYwo+ICsrKyBiL2RyaXZlcnMvZ3Bpby9n cGlvLXRwaWMyODEwLmMKPiBAQCAtMTM0LDEzICsxMzQsMTEgQEAgc3RhdGljIGludCB0cGljMjgx MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdHBpYzI4MTBfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHRwaWMyODEwX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdHBpYzI4 MTAgKmdwaW8gPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDC oMKgwqBncGlvY2hpcF9yZW1vdmUoJmdwaW8tPmNoaXApOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lk IHRwaWMyODEwX2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fk djc1MTEvYWR2NzUxMV9kcnYuYwo+IGluZGV4IDViYjkzMDAwNDBkZC4uMDYxMDdiMDFlMTY5IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMKPiBA QCAtMTMzNSw3ICsxMzM1LDcgQEAgc3RhdGljIGludCBhZHY3NTExX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmkyYywgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWR2NzUxMV9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgYWR2NzUxMV9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGFk djc1MTEgKmFkdjc1MTEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+IEBAIC0xMzUy LDggKzEzNTIsNiBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmkyYykKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoYWR2 NzUxMS0+aTJjX3BhY2tldCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGkyY191bnJlZ2lzdGVyX2Rldmlj ZShhZHY3NTExLT5pMmNfZWRpZCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYWR2NzUxMV9pMmNf aWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgv YW5hbG9naXgtYW54NjM0NS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2Fu YWxvZ2l4LWFueDYzNDUuYwo+IGluZGV4IGFlM2Q2ZTlhNjA2Yy4uNjYwYTU0ODU3OTI5IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXgtYW54NjM0 NS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2 MzQ1LmMKPiBAQCAtNzg3LDcgKzc4Nyw3IEBAIHN0YXRpYyBpbnQgYW54NjM0NV9pMmNfcHJvYmUo c3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJy Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYW54NjM0NV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGFueDYzNDVfaTJjX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYW54NjM0 NSAqYW54NjM0NSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTc5OCw4 ICs3OTgsNiBAQCBzdGF0aWMgaW50IGFueDYzNDVfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGFueDYzNDUtPmVkaWQpOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJmFueDYzNDUtPmxvY2spOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVj dCBpMmNfZGV2aWNlX2lkIGFueDYzNDVfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng3OHh4LmMKPiBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXgtYW54Nzh4eC5jCj4gaW5kZXggZDJmYzg2NzZm YWI2Li41OTk3MDQ5ZmRlNWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9h bmFsb2dpeC9hbmFsb2dpeC1hbng3OHh4LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2FuYWxvZ2l4L2FuYWxvZ2l4LWFueDc4eHguYwo+IEBAIC0xMzU3LDcgKzEzNTcsNyBAQCBzdGF0 aWMgaW50IGFueDc4eHhfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFueDc4 eHhfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBh bng3OHh4X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IGFueDc4eHggKmFueDc4eHggPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoAo+IEBAIC0xMzY2LDggKzEzNjYsNiBAQCBzdGF0aWMgaW50IGFueDc4eHhf aTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDC oHVucmVnaXN0ZXJfaTJjX2R1bW15X2NsaWVudHMoYW54Nzh4eCk7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKga2ZyZWUoYW54Nzh4eC0+ZWRpZCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYW54Nzh4 eF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4 L2FueDc2MjUuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbng3NjI1LmMK PiBpbmRleCA1M2E1ZGE2YzQ5ZGQuLjczZjFkMzMzOGM4MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FueDc2MjUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYW5hbG9naXgvYW54NzYyNS5jCj4gQEAgLTI3MzMsNyArMjczMyw3IEBAIHN0YXRp YyBpbnQgYW54NzYyNV9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYW54NzYy NV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGFu eDc2MjVfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgYW54NzYyNV9kYXRhICpwbGF0Zm9ybSA9IGkyY19nZXRfY2xpZW50 ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTI3NTUsOCArMjc1NSw2IEBAIHN0YXRpYyBpbnQgYW54 NzYyNV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqBpZiAocGxhdGZvcm0tPnBkYXRhLmF1ZGlvX2VuKQo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgYW54NzYyNV91bnJlZ2lzdGVyX2F1ZGlvKHBsYXRmb3JtKTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBz dHJ1Y3QgaTJjX2RldmljZV9pZCBhbng3NjI1X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvY2hyb250ZWwtY2g3MDMzLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvY2hyb250ZWwtY2g3MDMzLmMKPiBpbmRleCA0ODZmNDA1YzJlMTYuLmVmZDU4N2QyMDc1 ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Nocm9udGVsLWNoNzAzMy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9jaHJvbnRlbC1jaDcwMzMuYwo+IEBAIC01 ODIsMTQgKzU4MiwxMiBAQCBzdGF0aWMgaW50IGNoNzAzM19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgY2g3MDMzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCBjaDcwMzNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkZXZpY2UgKmRldiA9ICZjbGllbnQtPmRldjsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IGNoNzAzM19wcml2ICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRl dik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZHJtX2JyaWRnZV9yZW1vdmUoJnByaXYtPmJyaWRn ZSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg Y29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBjaDcwMzNfZHRfaWRzW10gPSB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvY3Jvcy1lYy1hbng3Njg4LmMKPiBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2UvY3Jvcy1lYy1hbng3Njg4LmMKPiBpbmRleCAwZjZkOTA3NDMyZTMuLmZh OTFiZGVkZGVmMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Nyb3MtZWMt YW54NzY4OC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9jcm9zLWVjLWFueDc2ODgu Ywo+IEBAIC0xNTksMTMgKzE1OSwxMSBAQCBzdGF0aWMgaW50IGNyb3NfZWNfYW54NzY4OF9icmlk Z2VfcHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGNyb3NfZWNfYW54NzY4OF9icmlkZ2Vf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGNyb3NfZWNf YW54NzY4OF9icmlkZ2VfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBjcm9zX2VjX2FueDc2ODggKmFueDc2ODggPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBkcm1fYnJpZGdlX3Jl bW92ZSgmYW54NzY4OC0+YnJpZGdlKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkCj4gY3Jvc19lY19h bng3Njg4X2JyaWRnZV9tYXRjaF90YWJsZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL2l0ZS1pdDY1MDUuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9pdGUt aXQ2NTA1LmMKPiBpbmRleCA0YjY3M2M0NzkyZDcuLjU0N2UwYzlkM2JkYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2l0ZS1pdDY1MDUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvaXRlLWl0NjUwNS5jCj4gQEAgLTMzMTYsNyArMzMxNiw3IEBAIHN0YXRpYyBp bnQgaXQ2NTA1X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaXQ2NTA1X2kyY19y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgaXQ2NTA1X2ky Y19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IGl0NjUwNSAqaXQ2NTA1ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4g wqAKPiBAQCAtMzMyNCw4ICszMzI0LDYgQEAgc3RhdGljIGludCBpdDY1MDVfaTJjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGRybV9kcF9hdXhf dW5yZWdpc3RlcigmaXQ2NTA1LT5hdXgpOwo+IMKgwqDCoMKgwqDCoMKgwqBpdDY1MDVfZGVidWdm c19yZW1vdmUoaXQ2NTA1KTsKPiDCoMKgwqDCoMKgwqDCoMKgaXQ2NTA1X3Bvd2Vyb2ZmKGl0NjUw NSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg Y29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgaXQ2NTA1X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvaXRlLWl0NjYxMjEuYwo+IGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9pdGUtaXQ2NjEyMS5jCj4gaW5kZXggNDQ4YzU4ZTYwYzExLi44ZDA1YWMyMTkyZjIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9pdGUtaXQ2NjEyMS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9pdGUtaXQ2NjEyMS5jCj4gQEAgLTE2MjIsMTUgKzE2 MjIsMTMgQEAgc3RhdGljIGludCBpdDY2MTIxX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBpdDY2MTIxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBpdDY2MTIxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgaXQ2NjEyMV9jdHggKmN0eCA9IGkyY19nZXRfY2xpZW50ZGF0YShj bGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGl0ZTY2MTIxX3Bvd2VyX29mZihjdHgpOwo+ IMKgwqDCoMKgwqDCoMKgwqBkcm1fYnJpZGdlX3JlbW92ZSgmY3R4LT5icmlkZ2UpOwo+IMKgwqDC oMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZjdHgtPmxvY2spOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2Vf aWQgaXQ2NjEyMV9kdF9tYXRjaFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL2xvbnRpdW0tbHQ4OTEyYi5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2xvbnRp dW0tbHQ4OTEyYi5jCj4gaW5kZXggYzY0MmQxZTAyYjJmLi4yZjVjOWVhNDZlOTMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9sb250aXVtLWx0ODkxMmIuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvbG9udGl1bS1sdDg5MTJiLmMKPiBAQCAtNzE3LDcgKzcxNyw3 IEBAIHN0YXRpYyBpbnQgbHQ4OTEyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGx0 ODkxMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbHQ4 OTEyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgbHQ4OTEyICpsdCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKg Cj4gQEAgLTcyNSw3ICs3MjUsNiBAQCBzdGF0aWMgaW50IGx0ODkxMl9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBkcm1fYnJpZGdlX3JlbW92ZSgm bHQtPmJyaWRnZSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGx0ODkxMl9mcmVlX2kyYyhsdCk7Cj4gwqDC oMKgwqDCoMKgwqDCoGx0ODkxMl9wdXRfZHQobHQpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBsdDg5MTJf ZHRfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9sb250 aXVtLWx0OTIxMS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2xvbnRpdW0tbHQ5MjExLmMK PiBpbmRleCBlOTI4MjFmYmM2MzkuLjA2NDZlYzI4YWQxNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2xvbnRpdW0tbHQ5MjExLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL2xvbnRpdW0tbHQ5MjExLmMKPiBAQCAtNzY1LDEzICs3NjUsMTEgQEAgc3RhdGljIGlu dCBsdDkyMTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbHQ5MjExX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBsdDkyMTFfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBs dDkyMTEgKmN0eCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoGRybV9icmlkZ2VfcmVtb3ZlKCZjdHgtPmJyaWRnZSk7Cj4gLQo+IC3CoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0IGkyY19kZXZpY2VfaWQg bHQ5MjExX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbG9u dGl1bS1sdDk2MTEuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9sb250aXVtLWx0OTYxMS5j Cj4gaW5kZXggN2VmOGZlNWFiYzEyLi40OTJlOTQ4ZDYyNGYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9sb250aXVtLWx0OTYxMS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9sb250aXVtLWx0OTYxMS5jCj4gQEAgLTEyMjAsNyArMTIyMCw3IEBAIHN0YXRpYyBp bnQgbHQ5NjExX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGx0OTYxMV9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbHQ5NjExX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg bHQ5NjExICpsdDk2MTEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0x MjMyLDggKzEyMzIsNiBAQCBzdGF0aWMgaW50IGx0OTYxMV9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG9mX25vZGVfcHV0KGx0OTYxMS0+ ZHNpMV9ub2RlKTsKPiDCoMKgwqDCoMKgwqDCoMKgb2Zfbm9kZV9wdXQobHQ5NjExLT5kc2kwX25v ZGUpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGx0OTYxMV9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL2xvbnRpdW0tbHQ5NjExdXhjLmMKPiBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvbG9udGl1bS1sdDk2MTF1eGMuYwo+IGluZGV4IDNkNjJlNmJmNjg5Mi4uYjVhNTgx MDZjMzI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbG9udGl1bS1sdDk2 MTF1eGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbG9udGl1bS1sdDk2MTF1eGMu Ywo+IEBAIC05NzcsNyArOTc3LDcgQEAgc3RhdGljIGludCBsdDk2MTF1eGNfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgbHQ5NjExdXhjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCBsdDk2MTF1eGNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBsdDk2MTF1eGMgKmx0OTYx MXV4YyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTk5Miw4ICs5OTIs NiBAQCBzdGF0aWMgaW50IGx0OTYxMXV4Y19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG9mX25vZGVfcHV0KGx0OTYxMXV4Yy0+ZHNpMV9u b2RlKTsKPiDCoMKgwqDCoMKgwqDCoMKgb2Zfbm9kZV9wdXQobHQ5NjExdXhjLT5kc2kwX25vZGUp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0 cnVjdCBpMmNfZGV2aWNlX2lkIGx0OTYxMXV4Y19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL21lZ2FjaGlwcy1zdGRweHh4eC1nZS1iODUwdjMtZncuYwo+IGIv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9tZWdhY2hpcHMtc3RkcHh4eHgtZ2UtYjg1MHYzLWZ3LmMK PiBpbmRleCBjY2U5OGJmMmE0ZTcuLjlmMTc1ZGYxMTU4MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL21lZ2FjaGlwcy1zdGRweHh4eC1nZS1iODUwdjMtZncuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbWVnYWNoaXBzLXN0ZHB4eHh4LWdlLWI4NTB2My1mdy5j Cj4gQEAgLTM1NSwxMSArMzU1LDkgQEAgc3RhdGljIGludCBzdGRwNDAyOF9nZV9iODUwdjNfZndf cHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqc3RkcDQwMjhfaTJjLAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gZ2VfYjg1MHYzX3JlZ2lzdGVyKCk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBz dGRwNDAyOF9nZV9iODUwdjNfZndfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKnN0ZHA0MDI4 X2kyYykKPiArc3RhdGljIHZvaWQgc3RkcDQwMjhfZ2VfYjg1MHYzX2Z3X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpzdGRwNDAyOF9pMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGdlX2I4 NTB2M19sdmRzX3JlbW92ZSgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0K PiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHN0ZHA0MDI4X2dlX2I4 NTB2M19md19pMmNfdGFibGVbXQo+ID0gewo+IEBAIC00MDUsMTEgKzQwMyw5IEBAIHN0YXRpYyBp bnQgc3RkcDI2OTBfZ2VfYjg1MHYzX2Z3X3Byb2JlKHN0cnVjdAo+IGkyY19jbGllbnQgKnN0ZHAy NjkwX2kyYywKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGdlX2I4NTB2M19yZWdpc3RlcigpOwo+ IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc3RkcDI2OTBfZ2VfYjg1MHYzX2Z3X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpzdGRwMjY5MF9pMmMpCj4gK3N0YXRpYyB2b2lkIHN0ZHAyNjkwX2dl X2I4NTB2M19md19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqc3RkcDI2OTBfaTJjKQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBnZV9iODUwdjNfbHZkc19yZW1vdmUoKTsKPiAtCj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJj X2RldmljZV9pZCBzdGRwMjY5MF9nZV9iODUwdjNfZndfaTJjX3RhYmxlW10KPiA9IHsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ueHAtcHRuMzQ2MC5jCj4gYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL254cC1wdG4zNDYwLmMKPiBpbmRleCAxYWI5MWY0ZTA1N2IuLjA4NTEx MDFhOGM3MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL254cC1wdG4zNDYw LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL254cC1wdG4zNDYwLmMKPiBAQCAtMzE1 LDEzICszMTUsMTEgQEAgc3RhdGljIGludCBwdG4zNDYwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCBwdG4zNDYwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCBwdG4zNDYwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcHRuMzQ2MF9icmlkZ2UgKnB0bl9icmlkZ2UgPQo+IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGRybV9icmlk Z2VfcmVtb3ZlKCZwdG5fYnJpZGdlLT5icmlkZ2UpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHB0 bjM0NjBfaTJjX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvcGFyYWRlLXBzODYyMi5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFkZS1wczg2 MjIuYwo+IGluZGV4IDM3YjMwODg1MGI0ZS4uYjU0ZjQxOGQyYjdiIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYyMi5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMKPiBAQCAtNTI0LDE0ICs1MjQsMTIgQEAgc3RhdGlj IGludCBwczg2MjJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHBzODYyMl9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcHM4NjIyX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg cHM4NjIyX2JyaWRnZSAqcHM4NjIyID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgYmFja2xpZ2h0X2RldmljZV91bnJlZ2lzdGVyKHBzODYyMi0+Ymwp Owo+IMKgwqDCoMKgwqDCoMKgwqBkcm1fYnJpZGdlX3JlbW92ZSgmcHM4NjIyLT5icmlkZ2UpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0 IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHBzODYyMl9pMmNfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjQwLmMKPiBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvcGFyYWRlLXBzODY0MC5jCj4gaW5kZXggZWRiOTM5YjE0YzA0Li5hMDlkMTgy OGQ4ZTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjQw LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFkZS1wczg2NDAuYwo+IEBAIC02 OTAsMTMgKzY5MCwxMSBAQCBzdGF0aWMgaW50IHBzODY0MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCBwczg2NDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIHBzODY0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHBzODY0MCAqcHNfYnJpZGdlID0gaTJjX2dldF9jbGll bnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZHJtX2JyaWRnZV9yZW1vdmUo JnBzX2JyaWRnZS0+YnJpZGdlKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHBzODY0MF9tYXRjaFtd ID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+IGIv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiBpbmRleCA2NTU0OWZiZmRjODcuLmM1 ZTVmODNiOTdjZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMngu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCj4gQEAgLTExNDMsNyAr MTE0Myw3IEBAIHN0YXRpYyBpbnQgc2lpOTAyeF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCBzaWk5MDJ4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMg dm9pZCBzaWk5MDJ4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgCj4gwqB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzaWk5MDJ4ICpzaWk5MDJ4ID0gaTJjX2dldF9jbGll bnRkYXRhKGNsaWVudCk7Cj4gQEAgLTExNTIsOCArMTE1Miw2IEBAIHN0YXRpYyBpbnQgc2lpOTAy eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBk cm1fYnJpZGdlX3JlbW92ZSgmc2lpOTAyeC0+YnJpZGdlKTsKPiDCoMKgwqDCoMKgwqDCoMKgcmVn dWxhdG9yX2J1bGtfZGlzYWJsZShBUlJBWV9TSVpFKHNpaTkwMngtPnN1cHBsaWVzKSwKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg c2lpOTAyeC0+c3VwcGxpZXMpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0K PiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc2lpOTAyeF9kdF9pZHNb XSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MjM0LmMKPiBi L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTIzNC5jCj4gaW5kZXggMTVjOThhN2JkODFjLi41 YjMwNjFkNGI1YzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MjM0 LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkyMzQuYwo+IEBAIC05MzYsMTQg KzkzNiwxMiBAQCBzdGF0aWMgaW50IHNpaTkyMzRfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAq Y2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMg aW50IHNpaTkyMzRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2 b2lkIHNpaTkyMzRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCBzaWk5MjM0ICpjdHggPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBzaWk5MjM0X2NhYmxlX291dChjdHgpOwo+IMKg wqDCoMKgwqDCoMKgwqBkcm1fYnJpZGdlX3JlbW92ZSgmY3R4LT5icmlkZ2UpOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBv Zl9kZXZpY2VfaWQgc2lpOTIzNF9kdF9tYXRjaFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv c2lsLXNpaTg2MjAuYwo+IGluZGV4IGVjNzc0NWMzMWRhMC4uZWFiZDNlMDlhZGZhIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuYwo+IEBAIC0yMzQ2LDcgKzIzNDYsNyBAQCBz dGF0aWMgaW50IHNpaTg2MjBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHNpaTg2MjBf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBzaWk4NjIwICpjdHggPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+ IEBAIC0yMzYwLDggKzIzNjAsNiBAQCBzdGF0aWMgaW50IHNpaTg2MjBfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNp aTg2MjBfY2FibGVfb3V0KGN0eCk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoMKgwqDCoMKgwqDC oMKgZHJtX2JyaWRnZV9yZW1vdmUoJmN0eC0+YnJpZGdlKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lk IHNpaTg2MjBfZHRfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS90YzM1ODc2Ny5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMKPiBp bmRleCA0ODU3MTdjOGYwYjQuLmE1MDMxNjUzOGE5YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3Rj MzU4NzY3LmMKPiBAQCAtMjE0OCwxMyArMjE0OCwxMSBAQCBzdGF0aWMgaW50IHRjX3Byb2JlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlk KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0Y19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IHRjX2RhdGEgKnRjID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgZHJtX2JyaWRnZV9yZW1vdmUoJnRjLT5icmlkZ2UpOwo+IC0KPiAtwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNf ZGV2aWNlX2lkIHRjMzU4NzY3X2kyY19pZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS90YzM1ODc2OC5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4 NzY4LmMKPiBpbmRleCBmZDU4NWJmOTI1ZmUuLjRjNGI3N2NlOGFiYSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY4LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL3RjMzU4NzY4LmMKPiBAQCAtMTA3MiwxMyArMTA3MiwxMSBAQCBzdGF0aWMgaW50IHRj MzU4NzY4X2kyY19wcm9iZShzdHJ1Y3QKPiBpMmNfY2xpZW50ICpjbGllbnQsCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiBtaXBpX2RzaV9ob3N0X3JlZ2lzdGVyKCZwcml2LT5kc2lfaG9zdCk7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCB0YzM1ODc2OF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHRjMzU4NzY4X2kyY19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRjMzU4NzY4 X3ByaXYgKnByaXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqBtaXBpX2RzaV9ob3N0X3VucmVnaXN0ZXIoJnByaXYtPmRzaV9ob3N0KTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBzdHJ1Y3QgaTJj X2RyaXZlciB0YzM1ODc2OF9kcml2ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvdGMzNTg3NzUuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc3NS5j Cj4gaW5kZXggNjJhN2VmMzUyZGFhLi4xZDA5NzcxN2I0N2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS90YzM1ODc3NS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS90YzM1ODc3NS5jCj4gQEAgLTcxMywxMyArNzEzLDExIEBAIHN0YXRpYyBpbnQgdGNfcHJvYmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPiBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAq aWQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCB0Y19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdGNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCB0Y19kYXRhICp0YyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4g wqDCoMKgwqDCoMKgwqDCoGRybV9icmlkZ2VfcmVtb3ZlKCZ0Yy0+YnJpZGdlKTsKPiAtCj4gLcKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aTJjX2RldmljZV9pZCB0YzM1ODc3NV9pMmNfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRzaTgzLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvdGktc242NWRzaTgzLmMKPiBpbmRleCBhYzY2ZjQwOGI0MGMuLjhmOTNlMzc0ODQ4YyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RpLXNuNjVkc2k4My5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90aS1zbjY1ZHNpODMuYwo+IEBAIC03MjYsMTQgKzcyNiwx MiBAQCBzdGF0aWMgaW50IHNuNjVkc2k4M19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBzbjY1ZHNpODNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2 b2lkIHNuNjVkc2k4M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IHNuNjVkc2k4MyAqY3R4ID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZHJtX2JyaWRnZV9yZW1vdmUoJmN0eC0+ YnJpZGdlKTsKPiDCoMKgwqDCoMKgwqDCoMKgb2Zfbm9kZV9wdXQoY3R4LT5ob3N0X25vZGUpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVj dCBpMmNfZGV2aWNlX2lkIHNuNjVkc2k4M19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3RpLXRmcDQxMC5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3Rp LXRmcDQxMC5jCj4gaW5kZXggNzU2YjNlNmU3NzZiLi4yODFjZWI3Yjk4NDAgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90aS10ZnA0MTAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvdGktdGZwNDEwLmMKPiBAQCAtMzkyLDExICszOTIsOSBAQCBzdGF0aWMgaW50 IHRmcDQxMF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gdGZwNDEwX2luaXQoJmNsaWVudC0+ZGV2LCB0cnVlKTsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IHRmcDQxMF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gK3N0YXRpYyB2b2lkIHRmcDQxMF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHRmcDQxMF9maW5pKCZjbGllbnQtPmRldik7 Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29u c3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgdGZwNDEwX2kyY19pZHNbXSA9IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2kyYy9jaDcwMDZfZHJ2LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9p MmMvY2g3MDA2X2Rydi5jCj4gaW5kZXggYjkxZTQ4ZDIxOTBkLi41NzhiNzM4ODU5YjkgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2kyYy9jaDcwMDZfZHJ2LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTJjL2NoNzAwNl9kcnYuYwo+IEBAIC00MTcsMTEgKzQxNyw5IEBAIHN0YXRpYyBp bnQgY2g3MDA2X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwgY29uc3Qgc3RydWN0 IGkyY19kZXZpY2VfaWQgKmkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FTk9ERVY7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBjaDcwMDZfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gK3N0YXRpYyB2b2lkIGNoNzAwNl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgY2g3MDA2X2RiZyhjbGllbnQsICJcbiIpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBjaDcw MDZfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2kyYy90ZGE5OTUwLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk1MC5jCj4gaW5k ZXggNWIwM2ZkZDFlYWE0Li45ZWQ1NGU3Y2NmZjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2kyYy90ZGE5OTUwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5NTAuYwo+ IEBAIC00NzgsMTQgKzQ3OCwxMiBAQCBzdGF0aWMgaW50IHRkYTk5NTBfcHJvYmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IHRkYTk5NTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIHRkYTk5NTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0ZGE5OTUwX3ByaXYgKnByaXYgPSBpMmNf Z2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBjZWNfbm90aWZp ZXJfY2VjX2FkYXBfdW5yZWdpc3Rlcihwcml2LT5ub3RpZnksIHByaXYtPmFkYXApOwo+IMKgwqDC oMKgwqDCoMKgwqBjZWNfdW5yZWdpc3Rlcl9hZGFwdGVyKHByaXYtPmFkYXApOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBpMmNfZGV2 aWNlX2lkIHRkYTk5NTBfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p MmMvdGRhOTk4eF9kcnYuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCj4g aW5kZXggYjdlYzZjMzc0ZmJkLi4xZjVjZTI5MmY1YjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5 OTh4X2Rydi5jCj4gQEAgLTIwNzUsMTEgKzIwNzUsMTAgQEAgdGRhOTk4eF9wcm9iZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50LAo+IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRkYTk5 OHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHRkYTk5 OHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoGNvbXBvbmVudF9kZWwoJmNsaWVudC0+ZGV2LCAmdGRhOTk4eF9vcHMpOwo+IMKgwqDCoMKg wqDCoMKgwqB0ZGE5OTh4X2Rlc3Ryb3koJmNsaWVudC0+ZGV2KTsKPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19PRgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYwo+IGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9saW1leC1sY2Qtb2xpbnV4aW5vLmMKPiBpbmRleCBj YjVjYjI3NDYyZGYuLjM2YTQ2Y2I3ZmUxYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1vbGltZXgtbGNkLW9saW51eGluby5jCj4gQEAgLTI4OCw3ICsyODgsNyBA QCBzdGF0aWMgaW50IGxjZF9vbGludXhpbm9fcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IGxjZF9vbGludXhpbm9fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRp YyB2b2lkIGxjZF9vbGludXhpbm9fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBsY2Rfb2xpbnV4aW5vICpwYW5lbCA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTI5Niw4ICsyOTYsNiBAQCBzdGF0aWMg aW50IGxjZF9vbGludXhpbm9fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBkcm1fcGFuZWxfZGlzYWJsZSgmcGFuZWwtPnBhbmVsKTsKPiDC oMKgwqDCoMKgwqDCoMKgZHJtX3BhbmVsX3VucHJlcGFyZSgmcGFuZWwtPnBhbmVsKTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkIGxjZF9vbGludXhpbm9fb2ZfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXNwYmVycnlwaS10b3VjaHNjcmVlbi5jCj4g Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uYwo+ IGluZGV4IDE0NTA0N2UxOTM5NC4uNmRjNjdiNjA5ODczIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1yYXNwYmVycnlwaS10b3VjaHNjcmVlbi5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMKPiBAQCAt NDQ1LDcgKzQ0NSw3IEBAIHN0YXRpYyBpbnQgcnBpX3RvdWNoc2NyZWVuX3Byb2JlKHN0cnVjdAo+ IGkyY19jbGllbnQgKmkyYywKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FTk9ERVY7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBycGlfdG91Y2hzY3JlZW5fcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICppMmMpCj4gK3N0YXRpYyB2b2lkIHJwaV90b3VjaHNjcmVlbl9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHJwaV90b3VjaHNj cmVlbiAqdHMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+IEBAIC00NTQsOCArNDU0 LDYgQEAgc3RhdGljIGludCBycGlfdG91Y2hzY3JlZW5fcmVtb3ZlKHN0cnVjdAo+IGkyY19jbGll bnQgKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgZHJtX3BhbmVsX3JlbW92ZSgmdHMtPmJhc2UpOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG1pcGlfZHNpX2RldmljZV91bnJlZ2lzdGVyKHRzLT5kc2kp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGlu dCBycGlfdG91Y2hzY3JlZW5fZHNpX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NvbG9tb24vc3NkMTMweC1pMmMuYwo+IGIv ZHJpdmVycy9ncHUvZHJtL3NvbG9tb24vc3NkMTMweC1pMmMuYwo+IGluZGV4IDFlMGZjZWM3YmU0 Ny4uZGRmYTBiYjVkOWM5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zb2xvbW9uL3Nz ZDEzMHgtaTJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc29sb21vbi9zc2QxMzB4LWkyYy5j Cj4gQEAgLTM5LDEzICszOSwxMSBAQCBzdGF0aWMgaW50IHNzZDEzMHhfaTJjX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBzc2QxMzB4X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgc3NkMTMweF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzc2QxMzB4X2Rldmlj ZSAqc3NkMTMweCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoHNzZDEzMHhfcmVtb3ZlKHNzZDEzMHgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHZvaWQgc3NkMTMweF9pMmNfc2h1dGRvd24oc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9oaWQvaTJjLWhp ZC9pMmMtaGlkLWNvcmUuYyBiL2RyaXZlcnMvaGlkL2kyYy0KPiBoaWQvaTJjLWhpZC1jb3JlLmMK PiBpbmRleCBjMDc4ZjA5YTIzMTguLjk1Y2VmYWU0N2FkZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2hpZC9pMmMtaGlkL2kyYy1oaWQtY29yZS5jCj4gKysrIGIvZHJpdmVycy9oaWQvaTJjLWhpZC9p MmMtaGlkLWNvcmUuYwo+IEBAIC0xMDY0LDcgKzEwNjQsNyBAQCBpbnQgaTJjX2hpZF9jb3JlX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwgc3RydWN0IGkyY2hpZF9vcHMgKm9wcywK PiDCoH0KPiDCoEVYUE9SVF9TWU1CT0xfR1BMKGkyY19oaWRfY29yZV9wcm9iZSk7Cj4gwqAKPiAt aW50IGkyY19oaWRfY29yZV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArdm9p ZCBpMmNfaGlkX2NvcmVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpMmNfaGlkICppaGlkID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBoaWRfZGV2aWNlICpoaWQ7Cj4gQEAg LTEwNzgsOCArMTA3OCw2IEBAIGludCBpMmNfaGlkX2NvcmVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGkyY19oaWRf ZnJlZV9idWZmZXJzKGloaWQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGkyY19oaWRfY29yZV9w b3dlcl9kb3duKGloaWQpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oEVYUE9SVF9TWU1CT0xfR1BMKGkyY19oaWRfY29yZV9yZW1vdmUpOwo+IMKgCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaGlkL2kyYy1oaWQvaTJjLWhpZC5oIGIvZHJpdmVycy9oaWQvaTJjLWhpZC9p MmMtCj4gaGlkLmgKPiBpbmRleCAyMzZjYzA2MmQ1ZWYuLjk2Yzc1NTEwYWQzZiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2hpZC9pMmMtaGlkL2kyYy1oaWQuaAo+ICsrKyBiL2RyaXZlcnMvaGlkL2ky Yy1oaWQvaTJjLWhpZC5oCj4gQEAgLTMzLDcgKzMzLDcgQEAgc3RydWN0IGkyY2hpZF9vcHMgewo+ IMKgCj4gwqBpbnQgaTJjX2hpZF9jb3JlX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQs IHN0cnVjdCBpMmNoaWRfb3BzCj4gKm9wcywKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB1MTYgaGlkX2Rlc2NyaXB0b3JfYWRkcmVzcywgdTMyIHF1aXJrcyk7 Cj4gLWludCBpMmNfaGlkX2NvcmVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpOwo+ ICt2b2lkIGkyY19oaWRfY29yZV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4g wqAKPiDCoHZvaWQgaTJjX2hpZF9jb3JlX3NodXRkb3duKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpOwo+IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vYWRjMTI4ZDgxOC5jIGIvZHJp dmVycy9od21vbi9hZGMxMjhkODE4LmMKPiBpbmRleCBmZDkzOGM3MDI5M2YuLjI5OTE2MDU0M2Iz NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3bW9uL2FkYzEyOGQ4MTguYwo+ICsrKyBiL2RyaXZl cnMvaHdtb24vYWRjMTI4ZDgxOC5jCj4gQEAgLTQ5NSwxNCArNDk1LDEyIEBAIHN0YXRpYyBpbnQg YWRjMTI4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFkYzEyOF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWRjMTI4X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWRj MTI4X2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqBpZiAoZGF0YS0+cmVndWxhdG9yKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgcmVndWxhdG9yX2Rpc2FibGUoZGF0YS0+cmVndWxhdG9yKTsKPiAtCj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJj X2RldmljZV9pZCBhZGMxMjhfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9h ZHQ3NDcwLmMgYi9kcml2ZXJzL2h3bW9uL2FkdDc0NzAuYwo+IGluZGV4IGM2N2NkMDM3YTkzZi4u OTI3ZjhkZjA1YjdjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaHdtb24vYWR0NzQ3MC5jCj4gKysr IGIvZHJpdmVycy9od21vbi9hZHQ3NDcwLmMKPiBAQCAtMTI5NiwxMiArMTI5NiwxMSBAQCBzdGF0 aWMgaW50IGFkdDc0NzBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFkdDc0NzBfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGFkdDc0NzBfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCBhZHQ3NDcwX2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBrdGhyZWFkX3N0b3AoZGF0YS0+YXV0b191cGRhdGUpOwo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0 IGkyY19kZXZpY2VfaWQgYWR0NzQ3MF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2h3 bW9uL2FzYjEwMC5jIGIvZHJpdmVycy9od21vbi9hc2IxMDAuYwo+IGluZGV4IDhjZjBiY2I4NWVi NC4uYTkxNjZjODU1NWM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaHdtb24vYXNiMTAwLmMKPiAr KysgYi9kcml2ZXJzL2h3bW9uL2FzYjEwMC5jCj4gQEAgLTIwOCw3ICsyMDgsNyBAQCBzdGF0aWMg dm9pZCBhc2IxMDBfd3JpdGVfdmFsdWUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LCB1MTYg cmVnLCB1MTYgdmFsKTsKPiDCoHN0YXRpYyBpbnQgYXNiMTAwX3Byb2JlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpOwo+IMKgc3RhdGljIGludCBhc2IxMDBfZGV0ZWN0KHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyAqaW5mbyk7Cj4gLXN0YXRpYyBpbnQgYXNiMTAw X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KTsKPiArc3RhdGljIHZvaWQgYXNiMTAw X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KTsKPiDCoHN0YXRpYyBzdHJ1Y3QgYXNi MTAwX2RhdGEgKmFzYjEwMF91cGRhdGVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gwqBz dGF0aWMgdm9pZCBhc2IxMDBfaW5pdF9jbGllbnQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7 Cj4gwqAKPiBAQCAtODIyLDcgKzgyMiw3IEBAIHN0YXRpYyBpbnQgYXNiMTAwX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IGFzYjEwMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiArc3RhdGljIHZvaWQgYXNiMTAwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYXNiMTAwX2RhdGEgKmRhdGEgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC04MzEsOCArODMxLDYgQEAgc3Rh dGljIGludCBhc2IxMDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoZGF0YS0+bG03NVsxXSk7Cj4g wqDCoMKgwqDCoMKgwqDCoGkyY191bnJlZ2lzdGVyX2RldmljZShkYXRhLT5sbTc1WzBdKTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaHdtb24vYXNjNzYyMS5jIGIvZHJpdmVycy9od21vbi9hc2M3NjIxLmMKPiBp bmRleCBlODM1NjA1YTc0NTYuLjRmOTBmZGVlOWNjNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3 bW9uL2FzYzc2MjEuYwo+ICsrKyBiL2RyaXZlcnMvaHdtb24vYXNjNzYyMS5jCj4gQEAgLTExNjUs NyArMTE2NSw3IEBAIHN0YXRpYyBpbnQgYXNjNzYyMV9kZXRlY3Qoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVOT0RFVjsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IGFzYzc2MjFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIGFzYzc2MjFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBhc2M3NjIxX2RhdGEgKmRhdGEgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgaW50IGk7Cj4gQEAgLTExNzYs OCArMTE3Niw2IEBAIHN0YXRpYyBpbnQgYXNjNzYyMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2aWNlX3JlbW92 ZV9maWxlKCZjbGllbnQtPmRldiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ICYoYXNjNzYyMV9wYXJhbXNbaV0u c2RhLmRldl9hdHRyKSk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9p ZCBhc2M3NjIxX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vZG1lMTczNy5j IGIvZHJpdmVycy9od21vbi9kbWUxNzM3LmMKPiBpbmRleCBlM2FkNGMyZDAwMzguLmIxY2QwMjhj ODI3NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3bW9uL2RtZTE3MzcuYwo+ICsrKyBiL2RyaXZl cnMvaHdtb24vZG1lMTczNy5jCj4gQEAgLTI1MDgsMTQgKzI1MDgsMTIgQEAgc3RhdGljIGludCBk bWUxNzM3X2kyY19wcm9iZShzdHJ1Y3QKPiBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBkbWUxNzM3X2kyY19y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgZG1lMTczN19p MmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoHN0cnVjdCBkbWUxNzM3X2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50 KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBod21vbl9kZXZpY2VfdW5yZWdpc3RlcihkYXRhLT5o d21vbl9kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBkbWUxNzM3X3JlbW92ZV9maWxlcygmY2xpZW50 LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGRtZTE3MzdfaWRbXSA9IHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9od21vbi9mNzUzNzVzLmMgYi9kcml2ZXJzL2h3bW9uL2Y3NTM3NXMuYwo+ IGluZGV4IDU3YzhhNDczNjk4ZC4uZmZlZWQ2YzFlMjBiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv aHdtb24vZjc1Mzc1cy5jCj4gKysrIGIvZHJpdmVycy9od21vbi9mNzUzNzVzLmMKPiBAQCAtMTE0 LDcgKzExNCw3IEBAIHN0cnVjdCBmNzUzNzVfZGF0YSB7Cj4gwqBzdGF0aWMgaW50IGY3NTM3NV9k ZXRlY3Qoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGkyY19ib2FyZF9pbmZvICppbmZvKTsK PiDCoHN0YXRpYyBpbnQgZjc1Mzc1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpOwo+ IC1zdGF0aWMgaW50IGY3NTM3NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4g K3N0YXRpYyB2b2lkIGY3NTM3NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4g wqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBmNzUzNzVfaWRbXSA9IHsK PiDCoMKgwqDCoMKgwqDCoMKgeyAiZjc1MzczIiwgZjc1MzczIH0sCj4gQEAgLTg2NCwxMiArODY0 LDExIEBAIHN0YXRpYyBpbnQgZjc1Mzc1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IGY3NTM3NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg Zjc1Mzc1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgZjc1Mzc1X2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgaHdtb25fZGV2aWNlX3VucmVnaXN0ZXIoZGF0YS0+aHdt b25fZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfcmVtb3ZlX2dyb3VwKCZjbGllbnQtPmRl di5rb2JqLCAmZjc1Mzc1X2dyb3VwKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0K PiDCoAo+IMKgLyogUmV0dXJuIDAgaWYgZGV0ZWN0aW9uIGlzIHN1Y2Nlc3NmdWwsIC1FTk9ERVYg b3RoZXJ3aXNlICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vZnNjaG1kLmMgYi9kcml2 ZXJzL2h3bW9uL2ZzY2htZC5jCj4gaW5kZXggYzI2MTk1ZTNhYWQ3Li4zNDNlMjI3Y2EzOGEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9od21vbi9mc2NobWQuYwo+ICsrKyBiL2RyaXZlcnMvaHdtb24v ZnNjaG1kLmMKPiBAQCAtMjE3LDcgKzIxNyw3IEBAIHN0YXRpYyBjb25zdCBpbnQgRlNDSE1EX05P X1RFTVBfU0VOU09SU1s3XSA9IHsgMywKPiAzLCA0LCAzLCA1LCA1LCAxMSB9Owo+IMKgc3RhdGlj IGludCBmc2NobWRfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gwqBzdGF0aWMg aW50IGZzY2htZF9kZXRlY3Qoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGkyY19ib2FyZF9p bmZvICppbmZvKTsKPiAtc3RhdGljIGludCBmc2NobWRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpOwo+ICtzdGF0aWMgdm9pZCBmc2NobWRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpOwo+IMKgc3RhdGljIHN0cnVjdCBmc2NobWRfZGF0YSAqZnNjaG1kX3VwZGF0ZV9k ZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KTsKPiDCoAo+IMKgLyoKPiBAQCAtMTI0OCw3ICsxMjQ4 LDcgQEAgc3RhdGljIGludCBmc2NobWRfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg ZnNjaG1kX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBm c2NobWRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBmc2NobWRfZGF0YSAqZGF0YSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBpbnQgaTsKPiBAQCAtMTI5MSw4ICsxMjkxLDYgQEAgc3Rh dGljIGludCBmc2NobWRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgbXV0ZXhfbG9jaygmd2F0Y2hkb2dfZGF0YV9tdXRleCk7Cj4gwqDCoMKgwqDC oMKgwqDCoGtyZWZfcHV0KCZkYXRhLT5rcmVmLCBmc2NobWRfcmVsZWFzZV9yZXNvdXJjZXMpOwo+ IMKgwqDCoMKgwqDCoMKgwqBtdXRleF91bmxvY2soJndhdGNoZG9nX2RhdGFfbXV0ZXgpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBm c2NobWRfZGF0YSAqZnNjaG1kX3VwZGF0ZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2Z0c3RldXRhdGVzLmMKPiBiL2RyaXZlcnMvaHdtb24v ZnRzdGV1dGF0ZXMuYwo+IGluZGV4IGNlZmZjNzZhMGM1MS4uOTE4NzYzODMyNDMyIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvaHdtb24vZnRzdGV1dGF0ZXMuYwo+ICsrKyBiL2RyaXZlcnMvaHdtb24v ZnRzdGV1dGF0ZXMuYwo+IEBAIC03NDQsMTIgKzc0NCwxMSBAQCBzdGF0aWMgaW50IGZ0c19kZXRl Y3Qoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGZ0c19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgZnRzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZnRzX2RhdGEgKmRhdGEgPSBkZXZf Z2V0X2RydmRhdGEoJmNsaWVudC0+ZGV2KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB3YXRjaGRv Z191bnJlZ2lzdGVyX2RldmljZSgmZGF0YS0+d2RkKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBmdHNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9pbmEyMDkuYyBiL2RyaXZlcnMv aHdtb24vaW5hMjA5LmMKPiBpbmRleCBmYzMwMDdjM2U4NWMuLjliNTg2NTVkMmRlNCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2h3bW9uL2luYTIwOS5jCj4gKysrIGIvZHJpdmVycy9od21vbi9pbmEy MDkuYwo+IEBAIC01NjgsMTMgKzU2OCwxMSBAQCBzdGF0aWMgaW50IGluYTIwOV9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBpbmEyMDlfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIGluYTIwOV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGluYTIwOV9kYXRhICpkYXRhID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaW5hMjA5 X3Jlc3RvcmVfY29uZihjbGllbnQsIGRhdGEpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGluYTIw OV9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2luYTMyMjEuYyBiL2RyaXZl cnMvaHdtb24vaW5hMzIyMS5jCj4gaW5kZXggNThkMzgyOGUyZWMwLi5mODliYWMxOWJkNzMgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9od21vbi9pbmEzMjIxLmMKPiArKysgYi9kcml2ZXJzL2h3bW9u L2luYTMyMjEuYwo+IEBAIC05MTMsNyArOTEzLDcgQEAgc3RhdGljIGludCBpbmEzMjIxX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJl dDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGluYTMyMjFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGluYTMyMjFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpbmEzMjIxX2RhdGEg KmluYSA9IGRldl9nZXRfZHJ2ZGF0YSgmY2xpZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBp bnQgaTsKPiBAQCAtOTI2LDggKzkyNiw2IEBAIHN0YXRpYyBpbnQgaW5hMzIyMV9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgcG1fcnVudGltZV9wdXRfbm9pZGxlKGluYS0+cG1fZGV2KTsKPiDCoAo+IMKgwqDCoMKgwqDC oMKgwqBtdXRleF9kZXN0cm95KCZpbmEtPmxvY2spOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBpbmEzMjIxX3N1 c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2pj NDIuYyBiL2RyaXZlcnMvaHdtb24vamM0Mi5jCj4gaW5kZXggMDdmN2Y4YjViNzNkLi43YjNjMTkw OTU5ZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9od21vbi9qYzQyLmMKPiArKysgYi9kcml2ZXJz L2h3bW9uL2pjNDIuYwo+IEBAIC01MjQsNyArNTI0LDcgQEAgc3RhdGljIGludCBqYzQyX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBQVFJf RVJSX09SX1pFUk8oaHdtb25fZGV2KTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGpjNDJfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGpjNDJfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBqYzQyX2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBA IC01MzcsNyArNTM3LDYgQEAgc3RhdGljIGludCBqYzQyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAoZGF0YS0+ Y29uZmlnICYgSkM0Ml9DRkdfSFlTVF9NQVNLKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGkyY19zbWJ1c193cml0ZV93b3JkX3N3YXBwZWQoY2xpZW50LCBKQzQyX1JFR19DT05G SUcsCj4gY29uZmlnKTsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvaHdtb24vbWNwMzAyMS5jIGIvZHJpdmVycy9od21vbi9tY3AzMDIxLmMKPiBpbmRleCBjZTI3 ODA3NjgwNzQuLjk5YzI5Y2VkMDg0YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3bW9uL21jcDMw MjEuYwo+ICsrKyBiL2RyaXZlcnMvaHdtb24vbWNwMzAyMS5jCj4gQEAgLTE2NywxNCArMTY3LDEy IEBAIHN0YXRpYyBpbnQgbWNwMzAyMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBt Y3AzMDIxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBt Y3AzMDIxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgbWNwMzAyMV9kYXRhICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaHdtb25fZGV2aWNlX3VucmVnaXN0ZXIoZGF0 YS0+aHdtb25fZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfcmVtb3ZlX2ZpbGUoJmNsaWVu dC0+ZGV2LmtvYmosCj4gJmRldl9hdHRyX2luMF9pbnB1dC5hdHRyKTsKPiAtCj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rl dmljZV9pZCBtY3AzMDIxX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vb2Nj L3A4X2kyYy5jIGIvZHJpdmVycy9od21vbi9vY2MvcDhfaTJjLmMKPiBpbmRleCBkYTM5ZWEyOGRm MzEuLmQ4MmE0ODczYTBjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3bW9uL29jYy9wOF9pMmMu Ywo+ICsrKyBiL2RyaXZlcnMvaHdtb24vb2NjL3A4X2kyYy5jCj4gQEAgLTIyNiwxMyArMjI2LDEx IEBAIHN0YXRpYyBpbnQgcDhfaTJjX29jY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBvY2Nfc2V0dXAob2NjKTsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IHA4X2kyY19vY2NfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIHA4X2kyY19vY2NfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBvY2MgKm9jYyA9IGRldl9nZXRfZHJ2 ZGF0YSgmY2xpZW50LT5kZXYpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG9jY19zaHV0ZG93bihv Y2MpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcDhfaTJjX29jY19vZl9tYXRjaFtdID0gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL3BjZjg1OTEuYyBiL2RyaXZlcnMvaHdtb24vcGNmODU5 MS5jCj4gaW5kZXggYTk3YTUxMDA1YzYxLi5hZjk2MTRlOTE4YTQgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9od21vbi9wY2Y4NTkxLmMKPiArKysgYi9kcml2ZXJzL2h3bW9uL3BjZjg1OTEuYwo+IEBA IC0yMjgsMTQgKzIyOCwxMyBAQCBzdGF0aWMgaW50IHBjZjg1OTFfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgcGNmODU5MV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgcGNmODU5MV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHBjZjg1OTFfZGF0YSAqZGF0YSA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGh3bW9uX2Rldmlj ZV91bnJlZ2lzdGVyKGRhdGEtPmh3bW9uX2Rldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHN5c2ZzX3Jl bW92ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwKPiAmcGNmODU5MV9hdHRyX2dyb3VwX29wdCk7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN5c2ZzX3JlbW92ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwg JnBjZjg1OTFfYXR0cl9ncm91cCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoC8qIENhbGxlZCB3aGVuIHdlIGhhdmUgZm91bmQgYSBuZXcgUENGODU5MS4gKi8KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9zbW02NjUuYyBiL2RyaXZlcnMvaHdtb24vc21tNjY1 LmMKPiBpbmRleCA4YzRlZDcyZTVkNjguLmMzNmJkYmU0MjNkZSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2h3bW9uL3NtbTY2NS5jCj4gKysrIGIvZHJpdmVycy9od21vbi9zbW02NjUuYwo+IEBAIC02 NzEsMTIgKzY3MSwxMSBAQCBzdGF0aWMgaW50IHNtbTY2NV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCBzbW02NjVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIHNtbTY2NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHNtbTY2NV9kYXRhICpkYXRhID0gaTJjX2dldF9jbGll bnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaTJjX3VucmVnaXN0ZXJfZGV2 aWNlKGRhdGEtPmNtZHJlZyk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBzbW02NjVfaWRbXSA9IHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi90cHMyMzg2MS5jIGIvZHJpdmVycy9od21vbi90cHMy Mzg2MS5jCj4gaW5kZXggOGJkNjQzNWMxM2U4Li45Y2Y2OTMyODcyMzUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9od21vbi90cHMyMzg2MS5jCj4gKysrIGIvZHJpdmVycy9od21vbi90cHMyMzg2MS5j Cj4gQEAgLTU4NCwxMyArNTg0LDExIEBAIHN0YXRpYyBpbnQgdHBzMjM4NjFfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IHRwczIzODYxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+ICtzdGF0aWMgdm9pZCB0cHMyMzg2MV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRwczIzODYxX2RhdGEgKmRhdGEg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBkZWJ1 Z2ZzX3JlbW92ZV9yZWN1cnNpdmUoZGF0YS0+ZGVidWdmc19kaXIpOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgX19tYXliZV91bnVzZWQgdHBzMjM4NjFfb2ZfbWF0Y2hbXQo+ID0gewo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2h3bW9uL3c4Mzc4MWQuYyBiL2RyaXZlcnMvaHdtb24vdzgzNzgxZC5jCj4g aW5kZXggYjM1Nzk3MjEyNjVmLi41NWM3OGUxMmJiYmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9o d21vbi93ODM3ODFkLmMKPiArKysgYi9kcml2ZXJzL2h3bW9uL3c4Mzc4MWQuYwo+IEBAIC0xMjM5 LDcgKzEyMzksNyBAQCBzdGF0aWMgaW50IHc4Mzc4MWRfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQKPiArc3RhdGljIHZvaWQKPiDCoHc4Mzc4MWRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB3ODM3ODFkX2RhdGEg KmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiBAQCAtMTI1MCw4ICsxMjUwLDYg QEAgdzgzNzgxZF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoZGF0YS0+bG03NVswXSk7Cj4gwqDCoMKg wqDCoMKgwqDCoGkyY191bnJlZ2lzdGVyX2RldmljZShkYXRhLT5sbTc1WzFdKTsKPiAtCj4gLcKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9od21vbi93ODM3OTFkLmMgYi9kcml2ZXJzL2h3bW9uL3c4Mzc5MWQuYwo+ IGluZGV4IDgwYTlhNzhkN2NlOS4uNWZlNWM5Mzg1NmFmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv aHdtb24vdzgzNzkxZC5jCj4gKysrIGIvZHJpdmVycy9od21vbi93ODM3OTFkLmMKPiBAQCAtMzE1 LDcgKzMxNSw3IEBAIHN0cnVjdCB3ODM3OTFkX2RhdGEgewo+IMKgc3RhdGljIGludCB3ODM3OTFk X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpOwo+IMKgc3RhdGljIGludCB3ODM3OTFk X2RldGVjdChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyAqaW5m byk7Cj4gLXN0YXRpYyBpbnQgdzgzNzkxZF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCk7Cj4gK3N0YXRpYyB2b2lkIHc4Mzc5MWRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpOwo+IMKgCj4gwqBzdGF0aWMgaW50IHc4Mzc5MWRfcmVhZChzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50LCB1OCByZWcpOwo+IMKgc3RhdGljIGludCB3ODM3OTFkX3dyaXRlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQsIHU4IHJlZywgdTgKPiB2YWx1ZSk7Cj4gQEAgLTE0MDUsMTQgKzE0MDUs MTIgQEAgc3RhdGljIGludCB3ODM3OTFkX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IHc4Mzc5MWRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lk IHc4Mzc5MWRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCB3ODM3OTFkX2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBod21vbl9kZXZpY2VfdW5yZWdpc3Rlcihk YXRhLT5od21vbl9kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBzeXNmc19yZW1vdmVfZ3JvdXAoJmNs aWVudC0+ZGV2LmtvYmosICZ3ODM3OTFkX2dyb3VwKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyB2b2lkIHc4Mzc5MWRfaW5pdF9jbGllbnQoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi93ODM3 OTJkLmMgYi9kcml2ZXJzL2h3bW9uL3c4Mzc5MmQuYwo+IGluZGV4IDMxYTFjZGMzMDg3Ny4uMmVl OGVlNGYwZjFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaHdtb24vdzgzNzkyZC5jCj4gKysrIGIv ZHJpdmVycy9od21vbi93ODM3OTJkLmMKPiBAQCAtMjg2LDcgKzI4Niw3IEBAIHN0cnVjdCB3ODM3 OTJkX2RhdGEgewo+IMKgc3RhdGljIGludCB3ODM3OTJkX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpOwo+IMKgc3RhdGljIGludCB3ODM3OTJkX2RldGVjdChzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyAqaW5mbyk7Cj4gLXN0YXRpYyBpbnQgdzgzNzky ZF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gK3N0YXRpYyB2b2lkIHc4Mzc5 MmRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpOwo+IMKgc3RhdGljIHN0cnVjdCB3 ODM3OTJkX2RhdGEgKnc4Mzc5MmRfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2aWNlCj4gKmRldik7 Cj4gwqAKPiDCoCNpZmRlZiBERUJVRwo+IEBAIC0xNDI5LDcgKzE0MjksNyBAQCB3ODM3OTJkX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBl cnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludAo+ICtzdGF0aWMgdm9pZAo+IMKgdzgzNzkyZF9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IHc4Mzc5MmRfZGF0YSAqZGF0YSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+ IEBAIC0xNDQwLDggKzE0NDAsNiBAQCB3ODM3OTJkX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3ODM3 OTJkX2dyb3VwX2Zhbik7IGkrKykKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN5 c2ZzX3JlbW92ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmdzgzNzky ZF9ncm91cF9mYW5baV0pOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIHZvaWQKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi93ODM3OTMuYyBi L2RyaXZlcnMvaHdtb24vdzgzNzkzLmMKPiBpbmRleCAwYTY1ZDE2NGM4ZjAuLmRhZWFhZGVkNmI3 NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3bW9uL3c4Mzc5My5jCj4gKysrIGIvZHJpdmVycy9o d21vbi93ODM3OTMuYwo+IEBAIC0yODUsNyArMjg1LDcgQEAgc3RhdGljIGludCB3ODM3OTNfd3Jp dGVfdmFsdWUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LCB1MTYgcmVnLCB1OCB2YWx1ZSk7 Cj4gwqBzdGF0aWMgaW50IHc4Mzc5M19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KTsK PiDCoHN0YXRpYyBpbnQgdzgzNzkzX2RldGVjdChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qg aTJjX2JvYXJkX2luZm8gKmluZm8pOwo+IC1zdGF0aWMgaW50IHc4Mzc5M19yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gK3N0YXRpYyB2b2lkIHc4Mzc5M19yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gwqBzdGF0aWMgdm9pZCB3ODM3OTNfaW5pdF9jbGllbnQo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gwqBzdGF0aWMgdm9pZCB3ODM3OTNfdXBkYXRl X25vbnZvbGF0aWxlKHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gwqBzdGF0aWMgc3RydWN0IHc4Mzc5 M19kYXRhICp3ODM3OTNfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+IEBAIC0x NDk1LDcgKzE0OTUsNyBAQCBzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHdhdGNoZG9nX25v dGlmaWVyCj4gPSB7Cj4gwqAgKiBJbml0IC8gcmVtb3ZlIHJvdXRpbmVzCj4gwqAgKi8KPiDCoAo+ IC1zdGF0aWMgaW50IHc4Mzc5M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgdzgzNzkzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdzgzNzkzX2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2Ns aWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRldmljZSAqZGV2ID0g JmNsaWVudC0+ZGV2Owo+IEBAIC0xNTU0LDggKzE1NTQsNiBAQCBzdGF0aWMgaW50IHc4Mzc5M19y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBtdXRl eF9sb2NrKCZ3YXRjaGRvZ19kYXRhX211dGV4KTsKPiDCoMKgwqDCoMKgwqDCoMKga3JlZl9wdXQo JmRhdGEtPmtyZWYsIHc4Mzc5M19yZWxlYXNlX3Jlc291cmNlcyk7Cj4gwqDCoMKgwqDCoMKgwqDC oG11dGV4X3VubG9jaygmd2F0Y2hkb2dfZGF0YV9tdXRleCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvaHdtb24vdzgzNzk1LmMgYi9kcml2ZXJzL2h3bW9uL3c4Mzc5NS5jCj4gaW5kZXggNDViMTJj NDI4N2RmLi5iMTcwY2RmM2MyYmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9od21vbi93ODM3OTUu Ywo+ICsrKyBiL2RyaXZlcnMvaHdtb24vdzgzNzk1LmMKPiBAQCAtMjIzNSwxNCArMjIzNSwxMiBA QCBzdGF0aWMgaW50IHc4Mzc5NV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4g wqDCoMKgwqDCoMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB3ODM3 OTVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHc4Mzc5 NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IHc4Mzc5NV9kYXRhICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7 Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaHdtb25fZGV2aWNlX3VucmVnaXN0ZXIoZGF0YS0+aHdt b25fZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgdzgzNzk1X2hhbmRsZV9maWxlcygmY2xpZW50LT5k ZXYsCj4gZGV2aWNlX3JlbW92ZV9maWxlX3dyYXBwZXIpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vdzgz bDc4NXRzLmMgYi9kcml2ZXJzL2h3bW9uL3c4M2w3ODV0cy5jCj4gaW5kZXggYTQxZjk4OWQ2NmUy Li45OWY2ODM1ODM3OGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9od21vbi93ODNsNzg1dHMuYwo+ ICsrKyBiL2RyaXZlcnMvaHdtb24vdzgzbDc4NXRzLmMKPiBAQCAtNjUsNyArNjUsNyBAQCBzdGF0 aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAweDJlLAo+IEkyQ19DTElF TlRfRU5EIH07Cj4gwqBzdGF0aWMgaW50IHc4M2w3ODV0c19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KTsKPiDCoHN0YXRpYyBpbnQgdzgzbDc4NXRzX2RldGVjdChzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gKmluZm8pOwo+IC1zdGF0aWMgaW50 IHc4M2w3ODV0c19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gK3N0YXRpYyB2 b2lkIHc4M2w3ODV0c19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gwqBzdGF0 aWMgdTggdzgzbDc4NXRzX3JlYWRfdmFsdWUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTgg cmVnLCB1OAo+IGRlZnZhbCk7Cj4gwqBzdGF0aWMgc3RydWN0IHc4M2w3ODV0c19kYXRhICp3ODNs Nzg1dHNfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2aWNlCj4gKmRldik7Cj4gwqAKPiBAQCAtMjAz LDcgKzIwMyw3IEBAIHN0YXRpYyBpbnQgdzgzbDc4NXRzX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1z dGF0aWMgaW50IHc4M2w3ODV0c19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgdzgzbDc4NXRzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdzgzbDc4NXRzX2RhdGEgKmRhdGEgPSBpMmNf Z2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0yMTIsOCArMjEyLDYgQEAgc3RhdGlj IGludCB3ODNsNzg1dHNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZzZW5zb3Jf ZGV2X2F0dHJfdGVtcDFfaW5wdXQuZGV2X2F0dHIpOwo+IMKgwqDCoMKgwqDCoMKgwqBkZXZpY2Vf cmVtb3ZlX2ZpbGUoJmNsaWVudC0+ZGV2LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnNlbnNvcl9kZXZfYXR0cl90ZW1wMV9tYXguZGV2X2F0 dHIpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IHU4IHc4M2w3ODV0c19yZWFkX3ZhbHVlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IHJl ZywgdTgKPiBkZWZ2YWwpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2kyYy1jb3JlLWJhc2Uu YyBiL2RyaXZlcnMvaTJjL2kyYy1jb3JlLQo+IGJhc2UuYwo+IGluZGV4IDhhZTQ3ZTBiYmQ2Ny4u NjhmYzY2YTQyNGVmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaTJjL2kyYy1jb3JlLWJhc2UuYwo+ ICsrKyBiL2RyaXZlcnMvaTJjL2kyYy1jb3JlLWJhc2UuYwo+IEBAIC01OTksMTMgKzU5OSw5IEBA IHN0YXRpYyB2b2lkIGkyY19kZXZpY2VfcmVtb3ZlKHN0cnVjdCBkZXZpY2UKPiAqZGV2KQo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoGRyaXZlciA9IHRvX2kyY19kcml2ZXIoZGV2LT5kcml2ZXIpOwo+ IMKgwqDCoMKgwqDCoMKgwqBpZiAoZHJpdmVyLT5yZW1vdmUpIHsKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgaW50IHN0YXR1czsKPiAtCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkZXZfZGJnKGRldiwgInJlbW92ZVxuIik7Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgc3RhdHVzID0gZHJpdmVyLT5yZW1vdmUoY2xpZW50KTsKPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKHN0YXR1cykKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl93YXJuKGRldiwgInJlbW92ZSBmYWlsZWQg KCVwZSksIHdpbGwgYmUKPiBpZ25vcmVkXG4iLCBFUlJfUFRSKHN0YXR1cykpOwo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkcml2ZXItPnJlbW92ZShjbGllbnQpOwo+IMKgwqDCoMKg wqDCoMKgwqB9Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZGV2cmVzX3JlbGVhc2VfZ3JvdXAoJmNs aWVudC0+ZGV2LCBjbGllbnQtPmRldnJlc19ncm91cF9pZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvaTJjL2kyYy1zbGF2ZS1lZXByb20uYyBiL2RyaXZlcnMvaTJjL2kyYy1zbGF2ZS0KPiBlZXBy b20uYwo+IGluZGV4IDVjN2FlNDIxY2FjZi4uNGFiYzJkOTE5ODgxIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvaTJjL2kyYy1zbGF2ZS1lZXByb20uYwo+ICsrKyBiL2RyaXZlcnMvaTJjL2kyYy1zbGF2 ZS1lZXByb20uYwo+IEBAIC0xODEsMTQgKzE4MSwxMiBAQCBzdGF0aWMgaW50IGkyY19zbGF2ZV9l ZXByb21fcHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50LCBjb25zdCBzdHJ1Y3QgaTJj X2RlCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfTsKPiDCoAo+IC1zdGF0aWMgaW50 IGkyY19zbGF2ZV9lZXByb21fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIGkyY19zbGF2ZV9lZXByb21fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBlZXByb21fZGF0YSAqZWVwcm9tID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaTJjX3Ns YXZlX3VucmVnaXN0ZXIoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfcmVtb3ZlX2Jp bl9maWxlKCZjbGllbnQtPmRldi5rb2JqLCAmZWVwcm9tLT5iaW4pOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2 aWNlX2lkIGkyY19zbGF2ZV9lZXByb21faWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9p MmMvaTJjLXNsYXZlLXRlc3R1bml0LmMgYi9kcml2ZXJzL2kyYy9pMmMtCj4gc2xhdmUtdGVzdHVu aXQuYwo+IGluZGV4IDU2ZGFlMDhkZmQ0OC4uNzVlZTdlYmRiNjE0IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvaTJjL2kyYy1zbGF2ZS10ZXN0dW5pdC5jCj4gKysrIGIvZHJpdmVycy9pMmMvaTJjLXNs YXZlLXRlc3R1bml0LmMKPiBAQCAtMTUzLDEzICsxNTMsMTIgQEAgc3RhdGljIGludCBpMmNfc2xh dmVfdGVzdHVuaXRfcHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gaTJjX3NsYXZlX3JlZ2lzdGVyKGNsaWVudCwKPiBpMmNfc2xhdmVfdGVz dHVuaXRfc2xhdmVfY2IpOwo+IMKgfTsKPiDCoAo+IC1zdGF0aWMgaW50IGkyY19zbGF2ZV90ZXN0 dW5pdF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgaTJj X3NsYXZlX3Rlc3R1bml0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdGVzdHVuaXRfZGF0YSAqdHUgPSBpMmNfZ2V0X2NsaWVu dGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBjYW5jZWxfZGVsYXllZF93b3Jr X3N5bmMoJnR1LT53b3JrZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBpMmNfc2xhdmVfdW5yZWdpc3Rl cihjbGllbnQpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgaTJjX3NsYXZlX3Rlc3R1bml0X2lkW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2kyYy1zbWJ1cy5jIGIvZHJpdmVycy9pMmMvaTJj LXNtYnVzLmMKPiBpbmRleCA3NzUzMzI5NDVhZDAuLmIwZjFkYTdlYzBmMiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2kyYy9pMmMtc21idXMuYwo+ICsrKyBiL2RyaXZlcnMvaTJjL2kyYy1zbWJ1cy5j Cj4gQEAgLTE1MywxMiArMTUzLDExIEBAIHN0YXRpYyBpbnQgc21iYWxlcnRfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqYXJhLAo+IMKgfQo+IMKgCj4gwqAvKiBJUlEgYW5kIG1lbW9yeSByZXNv dXJjZXMgYXJlIG1hbmFnZWQgc28gdGhleSBhcmUgZnJlZWQKPiBhdXRvbWF0aWNhbGx5ICovCj4g LXN0YXRpYyBpbnQgc21iYWxlcnRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICphcmEpCj4gK3N0 YXRpYyB2b2lkIHNtYmFsZXJ0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqYXJhKQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaTJjX3NtYnVzX2FsZXJ0ICphbGVydCA9IGkyY19nZXRf Y2xpZW50ZGF0YShhcmEpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGNhbmNlbF93b3JrX3N5bmMo JmFsZXJ0LT5hbGVydCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDC oHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBzbWJhbGVydF9pZHNbXSA9IHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvbXV4ZXMvaTJjLW11eC1sdGM0MzA2LmMKPiBiL2RyaXZl cnMvaTJjL211eGVzL2kyYy1tdXgtbHRjNDMwNi5jCj4gaW5kZXggNzA0ZjFlNTBmNmY0Li43MDgz NTgyNTA4M2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pMmMvbXV4ZXMvaTJjLW11eC1sdGM0MzA2 LmMKPiArKysgYi9kcml2ZXJzL2kyYy9tdXhlcy9pMmMtbXV4LWx0YzQzMDYuYwo+IEBAIC0yOTQs MTMgKzI5NCwxMSBAQCBzdGF0aWMgaW50IGx0YzQzMDZfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IGx0YzQzMDZfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRp YyB2b2lkIGx0YzQzMDZfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpMmNfbXV4X2NvcmUgKm11eGMgPSBpMmNfZ2V0X2NsaWVu dGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpMmNfbXV4X2RlbF9hZGFwdGVy cyhtdXhjKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBsdGM0MzA2X2RyaXZlciA9IHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9pMmMvbXV4ZXMvaTJjLW11eC1wY2E5NTQxLmMKPiBiL2RyaXZlcnMvaTJjL211eGVz L2kyYy1tdXgtcGNhOTU0MS5jCj4gaW5kZXggNmRhZWM4ZDNkMzMxLi5lYTgzZGU3OGY1MmQgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9pMmMvbXV4ZXMvaTJjLW11eC1wY2E5NTQxLmMKPiArKysgYi9k cml2ZXJzL2kyYy9tdXhlcy9pMmMtbXV4LXBjYTk1NDEuYwo+IEBAIC0zMjUsMTIgKzMyNSwxMSBA QCBzdGF0aWMgaW50IHBjYTk1NDFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHBjYTk1 NDFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHBjYTk1 NDFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoHN0cnVjdCBpMmNfbXV4X2NvcmUgKm11eGMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50 KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpMmNfbXV4X2RlbF9hZGFwdGVycyhtdXhjKTsKPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBpMmNf ZHJpdmVyIHBjYTk1NDFfZHJpdmVyID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9tdXhl cy9pMmMtbXV4LXBjYTk1NHguYwo+IGIvZHJpdmVycy9pMmMvbXV4ZXMvaTJjLW11eC1wY2E5NTR4 LmMKPiBpbmRleCA0YWQ2NjU3NTdkZDguLmE1ZjQ1OGI2MzVkZiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2kyYy9tdXhlcy9pMmMtbXV4LXBjYTk1NHguYwo+ICsrKyBiL2RyaXZlcnMvaTJjL211eGVz L2kyYy1tdXgtcGNhOTU0eC5jCj4gQEAgLTUyMSwxNCArNTIxLDEzIEBAIHN0YXRpYyBpbnQgcGNh OTU0eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDC oHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBwY2E5NTR4X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBwY2E5NTR4X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaTJj X211eF9jb3JlICptdXhjID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgZGV2aWNlX3JlbW92ZV9maWxlKCZjbGllbnQtPmRldiwgJmRldl9hdHRyX2lk bGVfc3RhdGUpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHBjYTk1NHhfY2xlYW51cChtdXhjKTsK PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19Q TV9TTEVFUAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9hY2NlbC9ibWExODAuYyBiL2RyaXZl cnMvaWlvL2FjY2VsL2JtYTE4MC5jCj4gaW5kZXggOWM5ZTk4NTc4NjY3Li5kMDNmYzM0MDBmOTQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vYWNjZWwvYm1hMTgwLmMKPiArKysgYi9kcml2ZXJz L2lpby9hY2NlbC9ibWExODAuYwo+IEBAIC0xMDQ1LDcgKzEwNDUsNyBAQCBzdGF0aWMgaW50IGJt YTE4MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDC oHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBibWExODBfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGJtYTE4MF9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19k ZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgYm1hMTgwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBA IC0xMDYyLDggKzEwNjIsNiBAQCBzdGF0aWMgaW50IGJtYTE4MF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF91bmxvY2soJmRhdGEtPm11 dGV4KTsKPiDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2Rpc2FibGUoZGF0YS0+dmRkaW9fc3Vw cGx5KTsKPiDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2Rpc2FibGUoZGF0YS0+dmRkX3N1cHBs eSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg aW50IGJtYTE4MF9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9paW8vYWNjZWwvYm1hNDAwX2kyYy5jCj4gYi9kcml2ZXJzL2lpby9hY2NlbC9ibWE0MDBf aTJjLmMKPiBpbmRleCBkYTEwNGZmZDNmZTAuLjkwYzk5YWI4YzhmMiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2lpby9hY2NlbC9ibWE0MDBfaTJjLmMKPiArKysgYi9kcml2ZXJzL2lpby9hY2NlbC9i bWE0MDBfaTJjLmMKPiBAQCAtMjcsMTEgKzI3LDkgQEAgc3RhdGljIGludCBibWE0MDBfaTJjX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IGJtYTQwMF9wcm9iZSgmY2xpZW50LT5kZXYsIHJlZ21hcCwgaWQtPm5hbWUpOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgYm1hNDAwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgYm1hNDAwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgYm1hNDAwX3JlbW92ZSgmY2xpZW50LT5kZXYp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNv bnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGJtYTQwMF9pMmNfaWRzW10gPSB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaWlvL2FjY2VsL2JtYzE1MC1hY2NlbC1pMmMuYwo+IGIvZHJpdmVycy9paW8v YWNjZWwvYm1jMTUwLWFjY2VsLWkyYy5jCj4gaW5kZXggZGZmNGQ3ZGQxMDFjLi5iZThjYzU5OGI4 OGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vYWNjZWwvYm1jMTUwLWFjY2VsLWkyYy5jCj4g KysrIGIvZHJpdmVycy9paW8vYWNjZWwvYm1jMTUwLWFjY2VsLWkyYy5jCj4gQEAgLTIwOSwxMyAr MjA5LDExIEBAIHN0YXRpYyBpbnQgYm1jMTUwX2FjY2VsX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCBibWMxNTBfYWNjZWxfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIGJtYzE1MF9hY2NlbF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgYm1jMTUwX2FjcGlfZHVhbF9hY2NlbF9yZW1vdmUo Y2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBibWMxNTBfYWNjZWxfY29yZV9yZW1vdmUo JmNsaWVudC0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9kZXZpY2VfaWQgYm1jMTUwX2FjY2VsX2FjcGlf bWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vYWNjZWwva3hjamstMTAxMy5j Cj4gYi9kcml2ZXJzL2lpby9hY2NlbC9reGNqay0xMDEzLmMKPiBpbmRleCA3NDhiMzVjMmYwYzMu Ljk0ZjdiNmFjNWM4NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9hY2NlbC9reGNqay0xMDEz LmMKPiArKysgYi9kcml2ZXJzL2lpby9hY2NlbC9reGNqay0xMDEzLmMKPiBAQCAtMTYxMSw3ICsx NjExLDcgQEAgc3RhdGljIGludCBreGNqazEwMTNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAq Y2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRp YyBpbnQga3hjamsxMDEzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCBreGNqazEwMTNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBpMmNfZ2V0X2Ns aWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGt4Y2prMTAxM19kYXRh ICpkYXRhID0gaWlvX3ByaXYoaW5kaW9fZGV2KTsKPiBAQCAtMTYzMCw4ICsxNjMwLDYgQEAgc3Rh dGljIGludCBreGNqazEwMTNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oMKgwqDCoMKgwqDCoMKgbXV0ZXhfbG9jaygmZGF0YS0+bXV0ZXgpOwo+IMKgwqDCoMKgwqDCoMKg wqBreGNqazEwMTNfc2V0X21vZGUoZGF0YSwgU1RBTkRCWSk7Cj4gwqDCoMKgwqDCoMKgwqDCoG11 dGV4X3VubG9jaygmZGF0YS0+bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTV9TTEVFUAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2lpby9hY2NlbC9reHNkOS1pMmMuYyBiL2RyaXZlcnMvaWlvL2FjY2VsL2t4c2Q5LQo+IGky Yy5jCj4gaW5kZXggYzhkYzUyZjExMDM3Li44NmMwZDcwZDBkYTcgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9paW8vYWNjZWwva3hzZDktaTJjLmMKPiArKysgYi9kcml2ZXJzL2lpby9hY2NlbC9reHNk OS1pMmMuYwo+IEBAIC0zMiwxMSArMzIsOSBAQCBzdGF0aWMgaW50IGt4c2Q5X2kyY19wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudCAqaTJjLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpMmMtPm5hbWUpOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQga3hzZDlfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBreHNkOV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGt4c2Q5X2NvbW1vbl9yZW1vdmUoJmNsaWVudC0+ ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRp YyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGt4c2Q5X29mX21hdGNoW10gPSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvaWlvL2FjY2VsL21jMzIzMC5jIGIvZHJpdmVycy9paW8vYWNjZWwvbWMz MjMwLmMKPiBpbmRleCBjMTVkMTZlN2YxZGEuLjI0NjIwMDBlMDUxOSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2lpby9hY2NlbC9tYzMyMzAuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2FjY2VsL21jMzIz MC5jCj4gQEAgLTE1MSwxNSArMTUxLDEzIEBAIHN0YXRpYyBpbnQgbWMzMjMwX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IG1jMzIzMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiArc3RhdGljIHZvaWQgbWMzMjMwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWlvX2Rl dmljZV91bnJlZ2lzdGVyKGluZGlvX2Rldik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbWMzMjMw X3NldF9vcGNvbihpaW9fcHJpdihpbmRpb19kZXYpLAo+IE1DMzIzMF9NT0RFX09QQ09OX1NUQU5E QlkpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IGludCBtYzMyMzBfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvaWlvL2FjY2VsL21tYTc0NTVfaTJjLmMKPiBiL2RyaXZlcnMvaWlvL2FjY2VsL21tYTc0 NTVfaTJjLmMKPiBpbmRleCBhM2I4NGU4YTNlYTguLmM2M2IzMjFiMDFjZCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2lpby9hY2NlbC9tbWE3NDU1X2kyYy5jCj4gKysrIGIvZHJpdmVycy9paW8vYWNj ZWwvbW1hNzQ1NV9pMmMuYwo+IEBAIC0yNiwxMSArMjYsOSBAQCBzdGF0aWMgaW50IG1tYTc0NTVf aTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYywKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIG1tYTc0NTVfY29yZV9wcm9iZSgmaTJjLT5kZXYsIHJlZ21hcCwgbmFtZSk7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBtbWE3NDU1X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmky YykKPiArc3RhdGljIHZvaWQgbW1hNzQ1NV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpp MmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoG1tYTc0NTVfY29yZV9yZW1vdmUoJmkyYy0+ZGV2 KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBj b25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBtbWE3NDU1X2kyY19pZHNbXSA9IHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9paW8vYWNjZWwvbW1hNzY2MC5jCj4gYi9kcml2ZXJzL2lpby9hY2NlbC9t bWE3NjYwLmMKPiBpbmRleCAxMTJhNWEzM2MyOWYuLmFkMmFhYzBlYzFkNCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2lpby9hY2NlbC9tbWE3NjYwLmMKPiArKysgYi9kcml2ZXJzL2lpby9hY2NlbC9t bWE3NjYwLmMKPiBAQCAtMjA3LDcgKzIwNyw3IEBAIHN0YXRpYyBpbnQgbW1hNzY2MF9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBtbWE3NjYwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBtbWE3NjYwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9f ZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBy ZXQ7Cj4gQEAgLTIxOCw4ICsyMTgsNiBAQCBzdGF0aWMgaW50IG1tYTc2NjBfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHJldCkKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl93YXJuKCZjbGllbnQtPmRldiwgIkZhaWxl ZCB0byBwdXQgZGV2aWNlIGluCj4gc3RhbmQtYnkgbW9kZSAoJXBlKSwgaWdub3JpbmdcbiIsCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEVSUl9QVFIo cmV0KSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgaW50IG1tYTc2NjBfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvaWlvL2FjY2VsL21tYTg0NTIuYwo+IGIvZHJpdmVycy9paW8vYWNjZWwvbW1hODQ1 Mi5jCj4gaW5kZXggYzdkOWNhOTZkYmFhLi4zYmEyOGMyZmY2OGEgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9paW8vYWNjZWwvbW1hODQ1Mi5jCj4gKysrIGIvZHJpdmVycy9paW8vYWNjZWwvbW1hODQ1 Mi5jCj4gQEAgLTE3MzUsNyArMTczNSw3IEBAIHN0YXRpYyBpbnQgbW1hODQ1Ml9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBtbWE4NDUyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCBtbWE4NDUyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2 ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBt bWE4NDUyX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBAIC0xNzUxLDggKzE3 NTEsNiBAQCBzdGF0aWMgaW50IG1tYTg0NTJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0b3JfZGlzYWJsZShkYXRhLT52ZGRp b19yZWcpOwo+IMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0b3JfZGlzYWJsZShkYXRhLT52ZGRfcmVn KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBD T05GSUdfUE0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vYWNjZWwvbW1hOTU1MS5jCj4gYi9k cml2ZXJzL2lpby9hY2NlbC9tbWE5NTUxLmMKPiBpbmRleCAxMjNjZGJiYjI2NWMuLmY3YTc5M2Y0 YThlMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9hY2NlbC9tbWE5NTUxLmMKPiArKysgYi9k cml2ZXJzL2lpby9hY2NlbC9tbWE5NTUxLmMKPiBAQCAtNTA5LDcgKzUwOSw3IEBAIHN0YXRpYyBp bnQgbW1hOTU1MV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBtbWE5NTUxX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBtbWE5NTUxX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCBtbWE5NTUxX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19k ZXYpOwo+IEBAIC01MjIsOCArNTIyLDYgQEAgc3RhdGljIGludCBtbWE5NTUxX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2xvY2soJmRh dGEtPm11dGV4KTsKPiDCoMKgwqDCoMKgwqDCoMKgbW1hOTU1MV9zZXRfZGV2aWNlX3N0YXRlKGRh dGEtPmNsaWVudCwgZmFsc2UpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF91bmxvY2soJmRhdGEt Pm11dGV4KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBpbnQgbW1hOTU1MV9ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2lpby9hY2NlbC9tbWE5NTUzLmMKPiBiL2RyaXZlcnMvaWlvL2Fj Y2VsL21tYTk1NTMuYwo+IGluZGV4IDA5ZGY1OGQ0YmUzMy4uMmRhMGUwMDViMTNlIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvaWlvL2FjY2VsL21tYTk1NTMuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2Fj Y2VsL21tYTk1NTMuYwo+IEBAIC0xMTQ4LDcgKzExNDgsNyBAQCBzdGF0aWMgaW50IG1tYTk1NTNf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbW1hOTU1M19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbW1hOTU1M19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYg KmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgbW1hOTU1M19kYXRhICpkYXRhID0gaWlvX3ByaXYoaW5kaW9fZGV2KTsKPiBAQCAt MTE2MSw4ICsxMTYxLDYgQEAgc3RhdGljIGludCBtbWE5NTUzX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2xvY2soJmRhdGEtPm11dGV4 KTsKPiDCoMKgwqDCoMKgwqDCoMKgbW1hOTU1MV9zZXRfZGV2aWNlX3N0YXRlKGRhdGEtPmNsaWVu dCwgZmFsc2UpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF91bmxvY2soJmRhdGEtPm11dGV4KTsK PiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQg bW1hOTU1M19ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2lpby9hY2NlbC9zdGs4MzEyLmMKPiBiL2RyaXZlcnMvaWlvL2FjY2VsL3N0azgz MTIuYwo+IGluZGV4IGNlY2EyODkxMzM1NS4uN2IxZDZmYjY5MmIzIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvaWlvL2FjY2VsL3N0azgzMTIuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2FjY2VsL3N0azgz MTIuYwo+IEBAIC01OTcsNyArNTk3LDcgQEAgc3RhdGljIGludCBzdGs4MzEyX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IHN0azgzMTJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIHN0azgzMTJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHN0 azgzMTJfZGF0YSAqZGF0YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTYwOSw4ICs2MDks NiBAQCBzdGF0aWMgaW50IHN0azgzMTJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlpb190cmlnZ2VyX3VucmVnaXN0 ZXIoZGF0YS0+ZHJlYWR5X3RyaWcpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHN0azgzMTJfc2V0 X21vZGUoZGF0YSwgU1RLODMxMl9NT0RFX1NUQU5EQlkpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBzdGs4MzEyX3N1c3BlbmQoc3RydWN0 IGRldmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9hY2NlbC9zdGs4YmE1MC5j Cj4gYi9kcml2ZXJzL2lpby9hY2NlbC9zdGs4YmE1MC5jCj4gaW5kZXggN2Q1OWVmYjQxZTIyLi4y ZjVlNGFiMmE2ZTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vYWNjZWwvc3RrOGJhNTAuYwo+ ICsrKyBiL2RyaXZlcnMvaWlvL2FjY2VsL3N0azhiYTUwLmMKPiBAQCAtNDkwLDcgKzQ5MCw3IEBA IHN0YXRpYyBpbnQgc3RrOGJhNTBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc3Rr OGJhNTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHN0 azhiYTUwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzdGs4YmE1MF9kYXRhICpkYXRhID0gaWlv X3ByaXYoaW5kaW9fZGV2KTsKPiBAQCAtNTAyLDggKzUwMiw2IEBAIHN0YXRpYyBpbnQgc3RrOGJh NTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlpb190cmlnZ2VyX3VucmVnaXN0ZXIoZGF0YS0+ZHJlYWR5X3RyaWcp Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHN0azhiYTUwX3NldF9wb3dlcihkYXRhLCBTVEs4QkE1 MF9NT0RFX1NVU1BFTkQpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGludCBzdGs4YmE1MF9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vYWRjL2FkNzk5eC5jIGIvZHJpdmVycy9paW8vYWRjL2Fk Nzk5eC5jCj4gaW5kZXggMjIwMjI4YzM3NWQzLi43NDZiZjlhMDFjMjUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9paW8vYWRjL2FkNzk5eC5jCj4gKysrIGIvZHJpdmVycy9paW8vYWRjL2FkNzk5eC5j Cj4gQEAgLTg4MCw3ICs4ODAsNyBAQCBzdGF0aWMgaW50IGFkNzk5eF9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBhZDc5OXhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIGFkNzk5eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWQ3OTl4X3N0 YXRlICpzdCA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTg5Miw4ICs4OTIsNiBAQCBzdGF0 aWMgaW50IGFkNzk5eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2Rpc2FibGUoc3QtPnZyZWYpOwo+ IMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0b3JfZGlzYWJsZShzdC0+cmVnKTsKPiDCoMKgwqDCoMKg wqDCoMKga2ZyZWUoc3QtPnJ4X2J1Zik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIGFkNzk5eF9zdXNwZW5kKHN0 cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vYWRjL2luYTJ4eC1h ZGMuYyBiL2RyaXZlcnMvaWlvL2FkYy9pbmEyeHgtCj4gYWRjLmMKPiBpbmRleCAyNDBlNmM0MjA3 MDEuLjkxMGU3ZTk2NWZjNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9hZGMvaW5hMnh4LWFk Yy5jCj4gKysrIGIvZHJpdmVycy9paW8vYWRjL2luYTJ4eC1hZGMuYwo+IEBAIC0xMDM0LDcgKzEw MzQsNyBAQCBzdGF0aWMgaW50IGluYTJ4eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBpaW9fZGV2aWNlX3JlZ2lzdGVyKGluZGlvX2Rl dik7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBpbmEyeHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGluYTJ4eF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlv X2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgaW5hMnh4X2NoaXBfaW5mbyAqY2hpcCA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTEw NDgsOCArMTA0OCw2IEBAIHN0YXRpYyBpbnQgaW5hMnh4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQpCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBkZXZfd2FybigmY2xpZW50LT5kZXYsICJGYWlsZWQgdG8gcG93ZXIg ZG93biBkZXZpY2UKPiAoJXBlKVxuIiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgRVJSX1BUUihyZXQpKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBp bmEyeHhfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vYWRjL2x0YzI0OTcuYyBi L2RyaXZlcnMvaWlvL2FkYy9sdGMyNDk3LmMKPiBpbmRleCAxYWRkZGY1YTg4YTkuLmJlNTdmMTE1 Nzc5NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9hZGMvbHRjMjQ5Ny5jCj4gKysrIGIvZHJp dmVycy9paW8vYWRjL2x0YzI0OTcuYwo+IEBAIC03NCwxMyArNzQsMTEgQEAgc3RhdGljIGludCBs dGMyNDk3X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIGx0YzI0OTdjb3JlX3Byb2JlKGRldiwgaW5kaW9fZGV2KTsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IGx0YzI0OTdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIGx0YzI0OTdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBsdGMyNDk3Y29yZV9y ZW1vdmUoaW5kaW9fZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBsdGMyNDk3X2lkW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2FkYy90aS1hZHMxMDE1LmMgYi9kcml2ZXJzL2lp by9hZGMvdGktCj4gYWRzMTAxNS5jCj4gaW5kZXggZTNkZmMxNTVmYmUyLi44YmNlYmE2OTQwMjYg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vYWRjL3RpLWFkczEwMTUuYwo+ICsrKyBiL2RyaXZl cnMvaWlvL2FkYy90aS1hZHMxMDE1LmMKPiBAQCAtMTA5NCw3ICsxMDk0LDcgQEAgc3RhdGljIGlu dCBhZHMxMDE1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBhZHMxMDE1X3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhZHMxMDE1X3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg aWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBhZHMxMDE1X2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYp Owo+IEBAIC0xMTEwLDggKzExMTAsNiBAQCBzdGF0aWMgaW50IGFkczEwMTVfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHJldCkKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl93YXJuKCZjbGllbnQtPmRldiwgIkZhaWxl ZCB0byBwb3dlciBkb3duCj4gKCVwZSlcbiIsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIEVSUl9QVFIocmV0KSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvaWlvL2NoZW1pY2FsL2F0bGFzLXNlbnNvci5jCj4gYi9kcml2ZXJzL2lpby9jaGVt aWNhbC9hdGxhcy1zZW5zb3IuYwo+IGluZGV4IDgzNzhjMDBmYTJmZi4uN2NhYzc3YTkzMWM3IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2NoZW1pY2FsL2F0bGFzLXNlbnNvci5jCj4gKysrIGIv ZHJpdmVycy9paW8vY2hlbWljYWwvYXRsYXMtc2Vuc29yLmMKPiBAQCAtNzIyLDcgKzcyMiw3IEBA IHN0YXRpYyBpbnQgYXRsYXNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGF0bGFzX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhdGxhc19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYXRsYXNfZGF0YSAqZGF0YSA9IGlpb19wcml2KGluZGlvX2Rl dik7Cj4gQEAgLTczOSw4ICs3MzksNiBAQCBzdGF0aWMgaW50IGF0bGFzX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQpCj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXZfZXJyKCZjbGllbnQtPmRldiwgIkZhaWxlZCB0 byBwb3dlciBkb3duIGRldmljZQo+ICglcGUpXG4iLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoEVSUl9QVFIocmV0KSk7Cj4gLQo+IC3CoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50IGF0bGFzX3J1bnRpbWVfc3Vz cGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2NoZW1p Y2FsL2NjczgxMS5jCj4gYi9kcml2ZXJzL2lpby9jaGVtaWNhbC9jY3M4MTEuYwo+IGluZGV4IDU2 MDE4M2VmYjM2Zi4uYmE0MDQ1ZTIwMzAzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2NoZW1p Y2FsL2NjczgxMS5jCj4gKysrIGIvZHJpdmVycy9paW8vY2hlbWljYWwvY2NzODExLmMKPiBAQCAt NTMyLDcgKzUzMiw3IEBAIHN0YXRpYyBpbnQgY2NzODExX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1z dGF0aWMgaW50IGNjczgxMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3Rh dGljIHZvaWQgY2NzODExX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGll bnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBjY3M4MTFfZGF0YSAqZGF0 YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTU0OCw4ICs1NDgsNiBAQCBzdGF0aWMgaW50 IGNjczgxMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDC oMKgwqBpZiAocmV0KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X3dhcm4o JmNsaWVudC0+ZGV2LCAiRmFpbGVkIHRvIHBvd2VyIGRvd24gZGV2aWNlCj4gKCVwZSlcbiIsCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEVSUl9QVFIo cmV0KSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgY2NzODExX2lkW10gPSB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaWlvL2NoZW1pY2FsL3NncDMwLmMKPiBiL2RyaXZlcnMvaWlvL2NoZW1pY2Fs L3NncDMwLmMKPiBpbmRleCAyMzQzZDQ0NDYwNGQuLmUyYzEzYzc4YzdlMCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2lpby9jaGVtaWNhbC9zZ3AzMC5jCj4gKysrIGIvZHJpdmVycy9paW8vY2hlbWlj YWwvc2dwMzAuYwo+IEBAIC01NTIsMTUgKzU1MiwxMyBAQCBzdGF0aWMgaW50IHNncF9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IHNncF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgc2dwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dl dF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzZ3BfZGF0YSAq ZGF0YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGRh dGEtPmlhcV90aHJlYWQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBrdGhyZWFk X3N0b3AoZGF0YS0+aWFxX3RocmVhZCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgc2dwX2lkW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2RhYy9hZDUzODAuYyBiL2RyaXZlcnMvaWlv L2RhYy9hZDUzODAuYwo+IGluZGV4IGE0NGM4MzI0MmZiMS4uNjJkN2ZjNTNjN2Y0IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvaWlvL2RhYy9hZDUzODAuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2RhYy9h ZDUzODAuYwo+IEBAIC01NjEsMTEgKzU2MSw5IEBAIHN0YXRpYyBpbnQgYWQ1MzgwX2kyY19wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBhZDUz ODBfcHJvYmUoJmkyYy0+ZGV2LCByZWdtYXAsIGlkLT5kcml2ZXJfZGF0YSwgaWQtCj4gPm5hbWUp Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWQ1MzgwX2kyY19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgYWQ1MzgwX2kyY19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgYWQ1MzgwX3JlbW92ZSgmaTJjLT5k ZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGFkNTM4MF9pMmNfaWRzW10gPSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvaWlvL2RhYy9hZDU0NDYuYyBiL2RyaXZlcnMvaWlvL2RhYy9hZDU0NDYu Ywo+IGluZGV4IDA5ZTI0Mjk0OWNkMC4uNzMyNDA2NWQzNzgyIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvaWlvL2RhYy9hZDU0NDYuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2RhYy9hZDU0NDYuYwo+IEBA IC01NzUsMTEgKzU3NSw5IEBAIHN0YXRpYyBpbnQgYWQ1NDQ2X2kyY19wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICppMmMsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAmYWQ1NDQ2 X2kyY19jaGlwX2luZm9baWQtPmRyaXZlcl9kYXRhXSk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBhZDU0NDZfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9p ZCBhZDU0NDZfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBhZDU0NDZfcmVtb3ZlKCZpMmMtPmRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2Vf aWQgYWQ1NDQ2X2kyY19pZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vZGFjL2Fk NTU5M3IuYyBiL2RyaXZlcnMvaWlvL2RhYy9hZDU1OTNyLmMKPiBpbmRleCAzNGUxMzE5YTk3MTIu LjkyYmU2NjEwMzRhNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9kYWMvYWQ1NTkzci5jCj4g KysrIGIvZHJpdmVycy9paW8vZGFjL2FkNTU5M3IuYwo+IEBAIC05NywxMSArOTcsOSBAQCBzdGF0 aWMgaW50IGFkNTU5M3JfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYywKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIGFkNTU5MnJfcHJvYmUoJmkyYy0+ZGV2LCBpZC0+bmFtZSwgJmFk NTU5M3Jfcndfb3BzKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFkNTU5M3JfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBhZDU1OTNyX2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgYWQ1NTky cl9yZW1vdmUoJmkyYy0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBhZDU1OTNyX2kyY19p ZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vZGFjL2FkNTY5Ni1pMmMuYyBiL2Ry aXZlcnMvaWlvL2RhYy9hZDU2OTYtCj4gaTJjLmMKPiBpbmRleCA3NjI1MDNjMTkwMWIuLmFhMzZj YmYwMTM3YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9kYWMvYWQ1Njk2LWkyYy5jCj4gKysr IGIvZHJpdmVycy9paW8vZGFjL2FkNTY5Ni1pMmMuYwo+IEBAIC02NSwxMSArNjUsOSBAQCBzdGF0 aWMgaW50IGFkNTY4Nl9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjLAo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhZDU2ODZf aTJjX3dyaXRlLCBhZDU2ODZfaTJjX3JlYWQpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWQ1 Njg2X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgYWQ1 Njg2X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgYWQ1Njg2X3JlbW92ZSgmaTJjLT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGFk NTY4Nl9pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vZGFjL2RzNDQyNC5j IGIvZHJpdmVycy9paW8vZGFjL2RzNDQyNC5jCj4gaW5kZXggNWE1ZTk2N2IwYmU0Li5lM2RjZjFl ZmI3ZmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vZGFjL2RzNDQyNC5jCj4gKysrIGIvZHJp dmVycy9paW8vZGFjL2RzNDQyNC5jCj4gQEAgLTI4MSwxNSArMjgxLDEzIEBAIHN0YXRpYyBpbnQg ZHM0NDI0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGRzNDQyNF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgZHM0NDI0X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlv X2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBkczQ0MjRfZGF0YSAqZGF0YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4g wqAKPiDCoMKgwqDCoMKgwqDCoMKgaWlvX2RldmljZV91bnJlZ2lzdGVyKGluZGlvX2Rldik7Cj4g wqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9kaXNhYmxlKGRhdGEtPnZjY19yZWcpOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVj dCBpMmNfZGV2aWNlX2lkIGRzNDQyNF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lp by9kYWMvbTYyMzMyLmMgYi9kcml2ZXJzL2lpby9kYWMvbTYyMzMyLmMKPiBpbmRleCAyMmIwMmY1 MGZlNDEuLjVhODEyZjg3OTcwYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9kYWMvbTYyMzMy LmMKPiArKysgYi9kcml2ZXJzL2lpby9kYWMvbTYyMzMyLmMKPiBAQCAtMjE4LDcgKzIxOCw3IEBA IHN0YXRpYyBpbnQgbTYyMzMyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG02MjMz Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbTYyMzMy X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7 Cj4gwqAKPiBAQCAtMjI2LDggKzIyNiw2IEBAIHN0YXRpYyBpbnQgbTYyMzMyX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlpb19tYXBfYXJyYXlf dW5yZWdpc3RlcihpbmRpb19kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBtNjIzMzJfc2V0X3ZhbHVl KGluZGlvX2RldiwgMCwgMCk7Cj4gwqDCoMKgwqDCoMKgwqDCoG02MjMzMl9zZXRfdmFsdWUoaW5k aW9fZGV2LCAwLCAxKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBtNjIzMzJfaWRbXSA9IHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vZGFjL21jcDQ3MjUuYyBiL2RyaXZlcnMvaWlvL2RhYy9t Y3A0NzI1LmMKPiBpbmRleCA3ZmNiODYyODg4MjMuLjI5YWIyMTkwNGFjYSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2lpby9kYWMvbWNwNDcyNS5jCj4gKysrIGIvZHJpdmVycy9paW8vZGFjL21jcDQ3 MjUuYwo+IEBAIC00ODUsNyArNDg1LDcgQEAgc3RhdGljIGludCBtY3A0NzI1X3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IG1jcDQ3MjVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIG1jcDQ3MjVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG1j cDQ3MjVfZGF0YSAqZGF0YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTQ5NSw4ICs0OTUs NiBAQCBzdGF0aWMgaW50IG1jcDQ3MjVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGRhdGEtPnZyZWZfcmVnKQo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2Rpc2FibGUoZGF0YS0+dnJlZl9yZWcpOwo+IMKg wqDCoMKgwqDCoMKgwqByZWd1bGF0b3JfZGlzYWJsZShkYXRhLT52ZGRfcmVnKTsKPiAtCj4gLcKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aTJjX2RldmljZV9pZCBtY3A0NzI1X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlv L2RhYy90aS1kYWM1NTcxLmMgYi9kcml2ZXJzL2lpby9kYWMvdGktCj4gZGFjNTU3MS5jCj4gaW5k ZXggNGI2YjA0MDM4ZTk0Li45NmI4ZDgwYjcyYTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8v ZGFjL3RpLWRhYzU1NzEuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2RhYy90aS1kYWM1NTcxLmMKPiBA QCAtMzgxLDE1ICszODEsMTMgQEAgc3RhdGljIGludCBkYWM1NTcxX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IGRhYzU1NzFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4g K3N0YXRpYyB2b2lkIGRhYzU1NzFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBpMmNfZ2V0X2Ns aWVudGRhdGEoaTJjKTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRhYzU1NzFfZGF0YSAqZGF0 YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWlvX2Rldmlj ZV91bnJlZ2lzdGVyKGluZGlvX2Rldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9kaXNh YmxlKGRhdGEtPnZyZWYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZGFjNTU3MV9vZl9pZFtdID0g ewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9neXJvL2JtZzE2MF9pMmMuYwo+IGIvZHJpdmVy cy9paW8vZ3lyby9ibWcxNjBfaTJjLmMKPiBpbmRleCBiM2ZhNDZiZDAyY2IuLjkwOGNjYzM4NTI1 NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9neXJvL2JtZzE2MF9pMmMuYwo+ICsrKyBiL2Ry aXZlcnMvaWlvL2d5cm8vYm1nMTYwX2kyYy5jCj4gQEAgLTMyLDExICszMiw5IEBAIHN0YXRpYyBp bnQgYm1nMTYwX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiBibWcxNjBfY29yZV9wcm9iZSgmY2xpZW50LT5kZXYsIHJlZ21hcCwg Y2xpZW50LT5pcnEsCj4gbmFtZSk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBibWcxNjBfaTJj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBibWcxNjBf aTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDC oMKgwqBibWcxNjBfY29yZV9yZW1vdmUoJmNsaWVudC0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9kZXZp Y2VfaWQgYm1nMTYwX2FjcGlfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8v Z3lyby9meGFzMjEwMDJjX2kyYy5jCj4gYi9kcml2ZXJzL2lpby9neXJvL2Z4YXMyMTAwMmNfaTJj LmMKPiBpbmRleCBhNzgwN2ZkOTc0ODMuLjEzYmI1MmM1OTRkMSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2lpby9neXJvL2Z4YXMyMTAwMmNfaTJjLmMKPiArKysgYi9kcml2ZXJzL2lpby9neXJvL2Z4 YXMyMTAwMmNfaTJjLmMKPiBAQCAtMzMsMTEgKzMzLDkgQEAgc3RhdGljIGludCBmeGFzMjEwMDJj X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiBmeGFzMjEwMDJjX2NvcmVfcHJvYmUoJmkyYy0+ZGV2LCByZWdtYXAsIGkyYy0+aXJxLAo+ IGkyYy0+bmFtZSk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBmeGFzMjEwMDJjX2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgZnhhczIxMDAyY19pMmNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGZ4 YXMyMTAwMmNfY29yZV9yZW1vdmUoJmkyYy0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBm eGFzMjEwMDJjX2kyY19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9neXJvL2l0 ZzMyMDBfY29yZS5jCj4gYi9kcml2ZXJzL2lpby9neXJvL2l0ZzMyMDBfY29yZS5jCj4gaW5kZXgg YTdmMWJiYjVmMjg5Li44YjM3NThlM2I5ZTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vZ3ly by9pdGczMjAwX2NvcmUuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2d5cm8vaXRnMzIwMF9jb3JlLmMK PiBAQCAtMzUwLDcgKzM1MCw3IEBAIHN0YXRpYyBpbnQgaXRnMzIwMF9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBpdGczMjAwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBpdGczMjAwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJj X2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMzYwLDggKzM2MCw2IEBAIHN0YXRp YyBpbnQgaXRnMzIwMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaXRnMzIwMF9yZW1vdmVfdHJpZ2dlcihpbmRpb19k ZXYpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGl0ZzMyMDBfYnVmZmVyX3VuY29uZmlndXJlKGlu ZGlvX2Rldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIGl0ZzMyMDBfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpk ZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2d5cm8vbXB1MzA1MC1pMmMuYwo+IGIvZHJp dmVycy9paW8vZ3lyby9tcHUzMDUwLWkyYy5jCj4gaW5kZXggNWI1ZjU4YmFhZjdmLi40ZDVlNGIw NDc0NWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vZ3lyby9tcHUzMDUwLWkyYy5jCj4gKysr IGIvZHJpdmVycy9paW8vZ3lyby9tcHUzMDUwLWkyYy5jCj4gQEAgLTc4LDcgKzc4LDcgQEAgc3Rh dGljIGludCBtcHUzMDUwX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4g wqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbXB1MzA1 MF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1w dTMwNTBfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gZGV2X2dldF9kcnZkYXRhKCZj bGllbnQtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBtcHUzMDUwICptcHUzMDUwID0g aWlvX3ByaXYoaW5kaW9fZGV2KTsKPiBAQCAtODcsOCArODcsNiBAQCBzdGF0aWMgaW50IG1wdTMw NTBfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBpMmNfbXV4X2RlbF9hZGFwdGVycyhtcHUzMDUwLT5pMmNtdXgp Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG1wdTMwNTBfY29tbW9uX3JlbW92ZSgmY2xpZW50LT5k ZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyoKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vaGVhbHRoL2FmZTQ0MDQuYwo+IGIvZHJpdmVycy9paW8v aGVhbHRoL2FmZTQ0MDQuYwo+IGluZGV4IDFiYjdkZTYwZjhjYS4uYTg3MzM3NDUzODI0IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2hlYWx0aC9hZmU0NDA0LmMKPiArKysgYi9kcml2ZXJzL2lp by9oZWFsdGgvYWZlNDQwNC5jCj4gQEAgLTU3Nyw3ICs1NzcsNyBAQCBzdGF0aWMgaW50IGFmZTQ0 MDRfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWZlNDQwNF9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWZlNDQwNF9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19k ZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgYWZlNDQwNF9kYXRhICphZmUgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBA IC01OTMsOCArNTkzLDYgQEAgc3RhdGljIGludCBhZmU0NDA0X3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldCA9IHJlZ3VsYXRvcl9kaXNhYmxl KGFmZS0+cmVndWxhdG9yKTsKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHJldCkKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9lcnIoYWZlLT5kZXYsICJVbmFibGUgdG8gZGlzYWJs ZSByZWd1bGF0b3JcbiIpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGFmZTQ0MDRfaWRzW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2hlYWx0aC9tYXgzMDEwMC5jCj4gYi9kcml2ZXJz L2lpby9oZWFsdGgvbWF4MzAxMDAuYwo+IGluZGV4IGFkNTcxNzk2NTIyMy4uMmNjYTVlMDUxOWY4 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2hlYWx0aC9tYXgzMDEwMC5jCj4gKysrIGIvZHJp dmVycy9paW8vaGVhbHRoL21heDMwMTAwLmMKPiBAQCAtNDcxLDE1ICs0NzEsMTMgQEAgc3RhdGlj IGludCBtYXgzMDEwMF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiBpaW9fZGV2aWNlX3JlZ2lzdGVyKGluZGlvX2Rldik7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBtYXgzMDEwMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgbWF4MzAxMDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG1heDMw MTAwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoGlpb19kZXZpY2VfdW5yZWdpc3RlcihpbmRpb19kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBt YXgzMDEwMF9zZXRfcG93ZXJtb2RlKGRhdGEsIGZhbHNlKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9p ZCBtYXgzMDEwMF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9oZWFsdGgvbWF4 MzAxMDIuYwo+IGIvZHJpdmVycy9paW8vaGVhbHRoL21heDMwMTAyLmMKPiBpbmRleCBhYmJjZWY1 NjM4MDcuLjQzNzI5OGEyOWYyZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9oZWFsdGgvbWF4 MzAxMDIuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2hlYWx0aC9tYXgzMDEwMi5jCj4gQEAgLTU5Miwx NSArNTkyLDEzIEBAIHN0YXRpYyBpbnQgbWF4MzAxMDJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gaWlvX2RldmljZV9yZWdpc3Rlcihp bmRpb19kZXYpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbWF4MzAxMDJfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1heDMwMTAyX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlv X2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBtYXgzMDEwMl9kYXRhICpkYXRhID0gaWlvX3ByaXYoaW5kaW9fZGV2KTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpaW9fZGV2aWNlX3VucmVnaXN0ZXIoaW5kaW9fZGV2KTsK PiDCoMKgwqDCoMKgwqDCoMKgbWF4MzAxMDJfc2V0X3Bvd2VyKGRhdGEsIGZhbHNlKTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTJjX2RldmljZV9pZCBtYXgzMDEwMl9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2lpby9odW1pZGl0eS9oZGMyMDEwLmMKPiBiL2RyaXZlcnMvaWlvL2h1bWlkaXR5L2hkYzIwMTAu Ywo+IGluZGV4IDEzODFkZjQ2MTg3Yy4uZDY4NThjY2IwNTZlIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvaWlvL2h1bWlkaXR5L2hkYzIwMTAuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2h1bWlkaXR5L2hk YzIwMTAuYwo+IEBAIC0zMDgsNyArMzA4LDcgQEAgc3RhdGljIGludCBoZGMyMDEwX3Byb2JlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGlpb19k ZXZpY2VfcmVnaXN0ZXIoaW5kaW9fZGV2KTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGhkYzIw MTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGhkYzIw MTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50 KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGhkYzIwMTBfZGF0YSAqZGF0YSA9IGlpb19wcml2 KGluZGlvX2Rldik7Cj4gQEAgLTMxOCw4ICszMTgsNiBAQCBzdGF0aWMgaW50IGhkYzIwMTBfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgLyogRGlz YWJsZSBBdXRvbWF0aWMgTWVhc3VyZW1lbnQgTW9kZSAqLwo+IMKgwqDCoMKgwqDCoMKgwqBpZiAo aGRjMjAxMF91cGRhdGVfZHJkeV9jb25maWcoZGF0YSwgSERDMjAxMF9BTU0sIDApKQo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X3dhcm4oJmNsaWVudC0+ZGV2LCAiVW5hYmxl IHRvIHJlc3RvcmUgZGVmYXVsdAo+IEFNTVxuIik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgaGRj MjAxMF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9pbXUvaW52X21wdTYwNTAv aW52X21wdV9pMmMuYwo+IGIvZHJpdmVycy9paW8vaW11L2ludl9tcHU2MDUwL2ludl9tcHVfaTJj LmMKPiBpbmRleCAyYWE2NDc3MDRhNzkuLjE0MjU1YTkxOGViMSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2lpby9pbXUvaW52X21wdTYwNTAvaW52X21wdV9pMmMuYwo+ICsrKyBiL2RyaXZlcnMvaWlv L2ltdS9pbnZfbXB1NjA1MC9pbnZfbXB1X2kyYy5jCj4gQEAgLTE1Nyw3ICsxNTcsNyBAQCBzdGF0 aWMgaW50IGludl9tcHVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gcmVzdWx0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaW52X21w dV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgaW52X21w dV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaW52X21wdTYwNTBfc3RhdGUgKnN0ID0gaWlvX3By aXYoaW5kaW9fZGV2KTsKPiBAQCAtMTY2LDggKzE2Niw2IEBAIHN0YXRpYyBpbnQgaW52X21wdV9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaW52X21wdV9hY3BpX2RlbGV0ZV9tdXhfY2xpZW50KGNsaWVudCk7Cj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpMmNfbXV4X2RlbF9hZGFwdGVycyhzdC0+bXV4 Yyk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2ltdS9rbXg2MS5jIGIv ZHJpdmVycy9paW8vaW11L2tteDYxLmMKPiBpbmRleCBlYzIzYjFlZTQ3MmIuLmIxMGMwZGNhYzBi YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9pbXUva214NjEuYwo+ICsrKyBiL2RyaXZlcnMv aWlvL2ltdS9rbXg2MS5jCj4gQEAgLTE0MTgsNyArMTQxOCw3IEBAIHN0YXRpYyBpbnQga214NjFf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQga214NjFfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGtteDYxX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qga214NjFfZGF0YSAq ZGF0YSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTE0MzksOCArMTQz OSw2IEBAIHN0YXRpYyBpbnQga214NjFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfbG9jaygmZGF0YS0+bG9jayk7Cj4gwqDCoMKgwqDC oMKgwqDCoGtteDYxX3NldF9tb2RlKGRhdGEsIEtNWDYxX0FMTF9TVEJZLCBLTVg2MV9BQ0MgfCBL TVg2MV9NQUcsCj4gdHJ1ZSk7Cj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X3VubG9jaygmZGF0YS0+ bG9jayk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgaW50IGtteDYxX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2lpby9saWdodC9hcGRzOTMwMC5jCj4gYi9kcml2ZXJzL2lpby9saWdodC9hcGRzOTMw MC5jCj4gaW5kZXggMGY5ZDc3NTk4OTk3Li5iNzBmMjY4MWJjYjMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9paW8vbGlnaHQvYXBkczkzMDAuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2xpZ2h0L2FwZHM5 MzAwLmMKPiBAQCAtNDUyLDcgKzQ1Miw3IEBAIHN0YXRpYyBpbnQgYXBkczkzMDBfcHJvYmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+ IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYXBkczkzMDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGFwZHM5MzAwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9f ZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBhcGRzOTMwMF9kYXRhICpkYXRhID0gaWlvX3ByaXYoaW5kaW9fZGV2KTsKPiBAQCAtNDYyLDgg KzQ2Miw2IEBAIHN0YXRpYyBpbnQgYXBkczkzMDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4g KmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgLyogRW5zdXJlIHRoYXQgcG93ZXIgb2ZmIGFuZCBp bnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCAqLwo+IMKgwqDCoMKgwqDCoMKgwqBhcGRzOTMwMF9zZXRf aW50cl9zdGF0ZShkYXRhLCAwKTsKPiDCoMKgwqDCoMKgwqDCoMKgYXBkczkzMDBfc2V0X3Bvd2Vy X3N0YXRlKGRhdGEsIDApOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGludCBhcGRzOTMwMF9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vbGlnaHQvYXBkczk5NjAuYwo+IGIvZHJpdmVycy9paW8v bGlnaHQvYXBkczk5NjAuYwo+IGluZGV4IDA5YjgzMWY5ZjQwYi4uYjYyYzEzOWJhZjQxIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2xpZ2h0L2FwZHM5OTYwLmMKPiArKysgYi9kcml2ZXJzL2lp by9saWdodC9hcGRzOTk2MC5jCj4gQEAgLTEwNjcsNyArMTA2Nyw3IEBAIHN0YXRpYyBpbnQgYXBk czk5NjBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYXBkczk5NjBfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGFwZHM5OTYwX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg aWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBhcGRzOTk2MF9kYXRhICpkYXRhID0gaWlvX3ByaXYoaW5kaW9fZGV2 KTsKPiBAQCAtMTA3Niw4ICsxMDc2LDYgQEAgc3RhdGljIGludCBhcGRzOTk2MF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX2Rp c2FibGUoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9zZXRfc3Vz cGVuZGVkKCZjbGllbnQtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoGFwZHM5OTYwX3NldF9wb3dl cm1vZGUoZGF0YSwgMCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2xpZ2h0L2Jo MTc1MC5jIGIvZHJpdmVycy9paW8vbGlnaHQvYmgxNzUwLmMKPiBpbmRleCA0ODQ4NGI5NDAxYjku LjAzNGM0N2VmNmUzMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9saWdodC9iaDE3NTAuYwo+ ICsrKyBiL2RyaXZlcnMvaWlvL2xpZ2h0L2JoMTc1MC5jCj4gQEAgLTI2Myw3ICsyNjMsNyBAQCBz dGF0aWMgaW50IGJoMTc1MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiBpaW9fZGV2aWNlX3JlZ2lzdGVyKGluZGlvX2Rldik7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBiaDE3NTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gK3N0YXRpYyB2b2lkIGJoMTc1MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYmgxNzUw X2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBAIC0yNzMsOCArMjczLDYgQEAg c3RhdGljIGludCBiaDE3NTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oMKgwqDCoMKgwqDCoMKgbXV0ZXhfbG9jaygmZGF0YS0+bG9jayk7Cj4gwqDCoMKgwqDCoMKgwqDC oGkyY19zbWJ1c193cml0ZV9ieXRlKGNsaWVudCwgQkgxNzUwX1BPV0VSX0RPV04pOwo+IMKgwqDC oMKgwqDCoMKgwqBtdXRleF91bmxvY2soJmRhdGEtPmxvY2spOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBiaDE3 NTBfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlv L2xpZ2h0L2JoMTc4MC5jIGIvZHJpdmVycy9paW8vbGlnaHQvYmgxNzgwLmMKPiBpbmRleCBmYzcx NDEzOTAxMTcuLjkwYmNhMzkyYjI2MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9saWdodC9i aDE3ODAuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2xpZ2h0L2JoMTc4MC5jCj4gQEAgLTIwMiw3ICsy MDIsNyBAQCBzdGF0aWMgaW50IGJoMTc4MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBiaDE3ODBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lk IGJoMTc4MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShj bGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYmgxNzgwX2RhdGEgKmJoMTc4MCA9IGlp b19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTIxNiw4ICsyMTYsNiBAQCBzdGF0aWMgaW50IGJoMTc4 MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBp ZiAocmV0IDwgMCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9lcnIoJmNs aWVudC0+ZGV2LCAiZmFpbGVkIHRvIHBvd2VyIG9mZiAoJXBlKVxuIiwKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBFUlJfUFRSKHJldCkpOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBiaDE3ODBf cnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9paW8vbGlnaHQvY20zMjMyLmMgYi9kcml2ZXJzL2lpby9saWdodC9jbTMyMzIuYwo+IGluZGV4 IDJjODBhMDUzNWQyYy4uNTIxNGNkMDE0Y2Y4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2xp Z2h0L2NtMzIzMi5jCj4gKysrIGIvZHJpdmVycy9paW8vbGlnaHQvY20zMjMyLmMKPiBAQCAtMzU3 LDcgKzM1Nyw3IEBAIHN0YXRpYyBpbnQgY20zMjMyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4g KmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGlpb19kZXZpY2VfcmVnaXN0ZXIoaW5k aW9fZGV2KTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGNtMzIzMl9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgY20zMjMyX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAq aW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMzY1LDgg KzM2NSw2IEBAIHN0YXRpYyBpbnQgY20zMjMyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBDTTMyMzJfQ01EX0FMU19E SVNBQkxFKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpaW9fZGV2aWNlX3VucmVnaXN0ZXIoaW5k aW9fZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBjbTMyMzJfaWRbXSA9IHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9paW8vbGlnaHQvY20zNjY1MS5jCj4gYi9kcml2ZXJzL2lpby9saWdodC9j bTM2NjUxLmMKPiBpbmRleCA4OWY1ZTQ4YTY2NDIuLjY2MTVjOThiNjAxYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2lpby9saWdodC9jbTM2NjUxLmMKPiArKysgYi9kcml2ZXJzL2lpby9saWdodC9j bTM2NjUxLmMKPiBAQCAtNzAwLDcgKzcwMCw3IEBAIHN0YXRpYyBpbnQgY20zNjY1MV9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjbTM2NjUxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBjbTM2NjUxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9f ZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBjbTM2NjUxX2RhdGEgKmNtMzY2NTEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBAIC03MTAs OCArNzEwLDYgQEAgc3RhdGljIGludCBjbTM2NjUxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGZyZWVfaXJxKGNsaWVudC0+aXJxLCBpbmRpb19k ZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoY20zNjY1MS0+cHNf Y2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGNtMzY2NTEt PmFyYV9jbGllbnQpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGNtMzY2NTFfaWRbXSA9IHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vbGlnaHQvZ3AyYXAwMDIuYwo+IGIvZHJpdmVycy9paW8v bGlnaHQvZ3AyYXAwMDIuYwo+IGluZGV4IGM2ZDFkODhkMzc3NS4uODU1ZGM2M2ZiMGE1IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2xpZ2h0L2dwMmFwMDAyLmMKPiArKysgYi9kcml2ZXJzL2lp by9saWdodC9ncDJhcDAwMi5jCj4gQEAgLTYxOSw3ICs2MTksNyBAQCBzdGF0aWMgaW50IGdwMmFw MDAyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGdwMmFwMDAyX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBncDJhcDAwMl9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlp b19kZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgZ3AyYXAwMDIgKmdwMmFwMDAyID0gaWlvX3ByaXYoaW5kaW9fZGV2KTsK PiBAQCAtNjMxLDggKzYzMSw2IEBAIHN0YXRpYyBpbnQgZ3AyYXAwMDJfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWlvX2RldmljZV91bnJlZ2lz dGVyKGluZGlvX2Rldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9kaXNhYmxlKGdwMmFw MDAyLT52aW8pOwo+IMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0b3JfZGlzYWJsZShncDJhcDAwMi0+ dmRkKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRp YyBpbnQgX19tYXliZV91bnVzZWQgZ3AyYXAwMDJfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZp Y2UKPiAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9saWdodC9ncDJhcDAyMGEwMGYu Ywo+IGIvZHJpdmVycy9paW8vbGlnaHQvZ3AyYXAwMjBhMDBmLmMKPiBpbmRleCBiODIwMDQxMTU5 ZjcuLjgyNjQzOTI5OWU4YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9saWdodC9ncDJhcDAy MGEwMGYuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2xpZ2h0L2dwMmFwMDIwYTAwZi5jCj4gQEAgLTE1 NzMsNyArMTU3Myw3IEBAIHN0YXRpYyBpbnQgZ3AyYXAwMjBhMDBmX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IGdwMmFwMDIwYTAwZl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiArc3RhdGljIHZvaWQgZ3AyYXAwMjBhMDBmX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9f ZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBncDJhcDAyMGEwMGZfZGF0YSAqZGF0YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTE1 ODksOCArMTU4OSw2IEBAIHN0YXRpYyBpbnQgZ3AyYXAwMjBhMDBmX3JlbW92ZShzdHJ1Y3QKPiBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGZyZWVfaXJxKGNsaWVudC0+aXJx LCBpbmRpb19kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBpaW9fdHJpZ2dlcmVkX2J1ZmZlcl9jbGVh bnVwKGluZGlvX2Rldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9kaXNhYmxlKGRhdGEt PnZsZWRfcmVnKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDC oHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBncDJhcDAyMGEwMGZfaWRbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vbGlnaHQvaXNsMjkwMjguYwo+IGIvZHJpdmVycy9p aW8vbGlnaHQvaXNsMjkwMjguYwo+IGluZGV4IDcyMGZhODNkNDRlMC4uNmMzNDQ4NzVjNzkxIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2xpZ2h0L2lzbDI5MDI4LmMKPiArKysgYi9kcml2ZXJz L2lpby9saWdodC9pc2wyOTAyOC5jCj4gQEAgLTYzNiw3ICs2MzYsNyBAQCBzdGF0aWMgaW50IGlz bDI5MDI4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBpc2wyOTAyOF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgaXNsMjkwMjhfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBp aW9fZGV2ICppbmRpb19kZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IGlzbDI5MDI4X2NoaXAgKmNoaXAgPSBpaW9fcHJpdihpbmRpb19kZXYp Owo+IEBAIC02NDcsOCArNjQ3LDYgQEAgc3RhdGljIGludCBpc2wyOTAyOF9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3NldF9z dXNwZW5kZWQoJmNsaWVudC0+ZGV2KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpc2wyOTAyOF9j bGVhcl9jb25maWd1cmVfcmVnKGNoaXApOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBpc2wyOTAyOF9zdXNwZW5k KHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vbGlnaHQvaXNs MjkxMjUuYwo+IGIvZHJpdmVycy9paW8vbGlnaHQvaXNsMjkxMjUuYwo+IGluZGV4IGViNjhhNTJh YWI4Mi4uYzE5OWU2M2NjZTgyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2xpZ2h0L2lzbDI5 MTI1LmMKPiArKysgYi9kcml2ZXJzL2lpby9saWdodC9pc2wyOTEyNS5jCj4gQEAgLTMwMCwxNSAr MzAwLDEzIEBAIHN0YXRpYyBpbnQgaXNsMjkxMjVfcG93ZXJkb3duKHN0cnVjdAo+IGlzbDI5MTI1 X2RhdGEgKmRhdGEpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoZGF0YS0+Y29u ZjEgJiB+SVNMMjkxMjVfTU9ERV9NQVNLKSB8Cj4gSVNMMjkxMjVfTU9ERV9QRCk7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBpc2wyOTEyNV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgaXNsMjkxMjVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpaW9fZGV2 aWNlX3VucmVnaXN0ZXIoaW5kaW9fZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgaWlvX3RyaWdnZXJl ZF9idWZmZXJfY2xlYW51cChpbmRpb19kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBpc2wyOTEyNV9w b3dlcmRvd24oaWlvX3ByaXYoaW5kaW9fZGV2KSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50IGlzbDI5MTI1X3N1c3BlbmQoc3RydWN0IGRl dmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9saWdodC9qc2ExMjEyLmMKPiBi L2RyaXZlcnMvaWlvL2xpZ2h0L2pzYTEyMTIuYwo+IGluZGV4IDUzODdjMTIyMzFjZi4uNTdjZTZk NzU5NjZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2xpZ2h0L2pzYTEyMTIuYwo+ICsrKyBi L2RyaXZlcnMvaWlvL2xpZ2h0L2pzYTEyMTIuYwo+IEBAIC0zNzMsNyArMzczLDcgQEAgc3RhdGlj IGludCBqc2ExMjEyX3Bvd2VyX29mZihzdHJ1Y3QganNhMTIxMl9kYXRhCj4gKmRhdGEpCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBqc2ExMjEy X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBqc2ExMjEy X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBqc2ExMjEyX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihp bmRpb19kZXYpOwo+IEBAIC0zODEsOCArMzgxLDYgQEAgc3RhdGljIGludCBqc2ExMjEyX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlpb19kZXZp Y2VfdW5yZWdpc3RlcihpbmRpb19kZXYpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGpzYTEyMTJf cG93ZXJfb2ZmKGRhdGEpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGludCBqc2ExMjEyX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2lpby9saWdodC9sdHI1MDEuYyBiL2RyaXZlcnMvaWlvL2xpZ2h0 L2x0cjUwMS5jCj4gaW5kZXggNjc5YTFlMTA4NmFlLi43NGExY2NkYThiOWMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9paW8vbGlnaHQvbHRyNTAxLmMKPiArKysgYi9kcml2ZXJzL2lpby9saWdodC9s dHI1MDEuYwo+IEBAIC0xNjAwLDE1ICsxNjAwLDEzIEBAIHN0YXRpYyBpbnQgbHRyNTAxX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJl dDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGx0cjUwMV9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbHRyNTAxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9f ZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg aWlvX2RldmljZV91bnJlZ2lzdGVyKGluZGlvX2Rldik7Cj4gwqDCoMKgwqDCoMKgwqDCoGlpb190 cmlnZ2VyZWRfYnVmZmVyX2NsZWFudXAoaW5kaW9fZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgbHRy NTAxX3Bvd2VyZG93bihpaW9fcHJpdihpbmRpb19kZXYpKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgbHRyNTAxX3N1c3BlbmQoc3RydWN0 IGRldmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9saWdodC9vcHQzMDAxLmMK PiBiL2RyaXZlcnMvaWlvL2xpZ2h0L29wdDMwMDEuYwo+IGluZGV4IGEzMjZkNDdhZmM5Yi4uYTI2 ZDFjM2Y5NTQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2xpZ2h0L29wdDMwMDEuYwo+ICsr KyBiL2RyaXZlcnMvaWlvL2xpZ2h0L29wdDMwMDEuYwo+IEBAIC03OTQsNyArNzk0LDcgQEAgc3Rh dGljIGludCBvcHQzMDAxX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBvcHQzMDAxX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBvcHQzMDAxX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgaWlvX2RldiAqaWlvID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBvcHQzMDAxICpvcHQgPSBpaW9fcHJpdihpaW8pOwo+IEBAIC04MDgs NyArODA4LDcgQEAgc3RhdGljIGludCBvcHQzMDAxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQgPCAwKSB7Cj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBkZXZfZXJyKG9wdC0+ZGV2LCAiZmFpbGVkIHRvIHJlYWQgcmVn aXN0ZXIgJTAyeFxuIiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgT1BUMzAwMV9DT05GSUdVUkFUSU9OKTsKPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHJldHVybjsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoHJlZyA9IHJldDsKPiBAQCAtODIwLDggKzgyMCw2IEBAIHN0YXRpYyBpbnQgb3B0MzAwMV9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGV2X2VycihvcHQtPmRldiwgImZhaWxlZCB0byB3cml0ZSByZWdpc3RlciAl MDJ4XG4iLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBPUFQzMDAxX0NPTkZJR1VSQVRJT04pOwo+IMKgwqDCoMKgwqDCoMKg wqB9Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg Y29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgb3B0MzAwMV9pZFtdID0gewo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2lpby9saWdodC9wYTEyMjAzMDAxLmMKPiBiL2RyaXZlcnMvaWlvL2xpZ2h0L3Bh MTIyMDMwMDEuYwo+IGluZGV4IDc3Mjg3NGU3MDdhZS4uM2NiMmRlNTFmNGFhIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvaWlvL2xpZ2h0L3BhMTIyMDMwMDEuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2xp Z2h0L3BhMTIyMDMwMDEuYwo+IEBAIC0zOTQsNyArMzk0LDcgQEAgc3RhdGljIGludCBwYTEyMjAz MDAxX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHBhMTIyMDMwMDFfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHBhMTIyMDMwMDFfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBpaW9fZGV2ICppbmRpb19kZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKg wqDCoMKgwqDCoMKgaW50IHJldDsKPiBAQCAtNDA4LDggKzQwOCw2IEBAIHN0YXRpYyBpbnQgcGEx MjIwMzAwMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDC oMKgwqBpZiAocmV0KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X3dhcm4o JmNsaWVudC0+ZGV2LCAiRmFpbGVkIHRvIHBvd2VyIGRvd24KPiAoJXBlKVxuIiwKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRVJSX1BUUihyZXQpKTsK PiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZiBkZWZpbmVk KENPTkZJR19QTV9TTEVFUCkgfHwgZGVmaW5lZChDT05GSUdfUE0pCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvaWlvL2xpZ2h0L3JwcjA1MjEuYwo+IGIvZHJpdmVycy9paW8vbGlnaHQvcnByMDUyMS5j Cj4gaW5kZXggZGFiZGQwNWYwZTJjLi5kMWMxNmRkNzYwNTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9paW8vbGlnaHQvcnByMDUyMS5jCj4gKysrIGIvZHJpdmVycy9paW8vbGlnaHQvcnByMDUyMS5j Cj4gQEAgLTEwNDEsNyArMTA0MSw3IEBAIHN0YXRpYyBpbnQgcnByMDUyMV9wcm9iZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBycHIwNTIxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+ICtzdGF0aWMgdm9pZCBycHIwNTIxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMTA1MSw4ICsxMDUxLDYgQEAg c3RhdGljIGludCBycHIwNTIxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4g wqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfc2V0X3N1c3BlbmRlZCgmY2xpZW50LT5kZXYpOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJwcjA1MjFfcG93ZXJvZmYoaWlvX3ByaXYoaW5kaW9fZGV2 KSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg aW50IHJwcjA1MjFfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9paW8vbGlnaHQvc3RrMzMxMC5jCj4gYi9kcml2ZXJzL2lpby9saWdodC9z dGszMzEwLmMKPiBpbmRleCBmN2NjN2E2YzBjOGQuLjdiOGUwZGE2YWFiYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2lpby9saWdodC9zdGszMzEwLmMKPiArKysgYi9kcml2ZXJzL2lpby9saWdodC9z dGszMzEwLmMKPiBAQCAtNjQ5LDE0ICs2NDksMTIgQEAgc3RhdGljIGludCBzdGszMzEwX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJl dDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHN0azMzMTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHN0azMzMTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqBpaW9fZGV2aWNlX3VucmVnaXN0ZXIoaW5kaW9fZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3Rr MzMxMF9zZXRfc3RhdGUoaWlvX3ByaXYoaW5kaW9fZGV2KSwKPiBTVEszMzEwX1NUQVRFX1NUQU5E QlkpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IGludCBzdGszMzEwX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2lpby9saWdodC90Y3MzNDcyLmMKPiBiL2RyaXZlcnMvaWlvL2xpZ2h0L3RjczM0NzIu Ywo+IGluZGV4IDgyMzQzNWY1OWJiNi4uZGIxN2ZlYzYzNGJlIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvaWlvL2xpZ2h0L3RjczM0NzIuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2xpZ2h0L3RjczM0NzIu Ywo+IEBAIC01NTksNyArNTU5LDcgQEAgc3RhdGljIGludCB0Y3MzNDcyX3Bvd2VyZG93bihzdHJ1 Y3QgdGNzMzQ3Ml9kYXRhCj4gKmRhdGEpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCB0Y3MzNDcyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0Y3MzNDcyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2 ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtNTY4LDggKzU2OCw2IEBA IHN0YXRpYyBpbnQgdGNzMzQ3Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZnJlZV9pcnEoY2xpZW50LT5pcnEsIGlu ZGlvX2Rldik7Cj4gwqDCoMKgwqDCoMKgwqDCoGlpb190cmlnZ2VyZWRfYnVmZmVyX2NsZWFudXAo aW5kaW9fZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgdGNzMzQ3Ml9wb3dlcmRvd24oaWlvX3ByaXYo aW5kaW9fZGV2KSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqBzdGF0aWMgaW50IHRjczM0NzJfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvaWlvL2xpZ2h0L3RzbDI1NjMuYwo+IGIvZHJpdmVycy9paW8vbGlnaHQv dHNsMjU2My5jCj4gaW5kZXggMGEyNzhlZWEzNmNhLi4xZmExODlmZTZlYjYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9paW8vbGlnaHQvdHNsMjU2My5jCj4gKysrIGIvZHJpdmVycy9paW8vbGlnaHQv dHNsMjU2My5jCj4gQEAgLTc5Niw3ICs3OTYsNyBAQCBzdGF0aWMgaW50IHRzbDI1NjNfcHJvYmUo c3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJy Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdHNsMjU2M19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHNsMjU2M19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlv X2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgdHNsMjU2M19jaGlwICpjaGlwID0gaWlvX3ByaXYoaW5kaW9fZGV2KTsKPiBAQCAtODEwLDgg KzgxMCw2IEBAIHN0YXRpYyBpbnQgdHNsMjU2M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAq Y2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBjaGlwLT5pbnRyKTsKPiDCoMKgwqDCoMKgwqDCoMKgZmx1c2hf c2NoZWR1bGVkX3dvcmsoKTsKPiDCoMKgwqDCoMKgwqDCoMKgdHNsMjU2M19zZXRfcG93ZXIoY2hp cCwgMCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgaW50IHRzbDI1NjNfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvaWlvL2xpZ2h0L3RzbDI1ODMuYwo+IGIvZHJpdmVycy9paW8vbGlnaHQvdHNsMjU4 My5jCj4gaW5kZXggZWZiM2MxM2NmYzg3Li41OWU3ZWY2MjQyODMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9paW8vbGlnaHQvdHNsMjU4My5jCj4gKysrIGIvZHJpdmVycy9paW8vbGlnaHQvdHNsMjU4 My5jCj4gQEAgLTg3Myw3ICs4NzMsNyBAQCBzdGF0aWMgaW50IHRzbDI1ODNfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50cCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCB0c2wyNTgzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+ICtzdGF0aWMgdm9pZCB0c2wyNTgzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0c2wy NTgzX2NoaXAgKmNoaXAgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBAIC04ODQsOCArODg0LDYg QEAgc3RhdGljIGludCB0c2wyNTgzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfc2V0X3N1c3BlbmRlZCgmY2xpZW50LT5kZXYp Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHRzbDI1ODNfc2V0X3Bvd2VyX3N0YXRlKGNoaXAsIFRT TDI1ODNfQ05UTF9QV1JfT0ZGKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgdHNsMjU4M19zdXNwZW5kKHN0cnVj dCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vbGlnaHQvdHNsNDUzMS5j Cj4gYi9kcml2ZXJzL2lpby9saWdodC90c2w0NTMxLmMKPiBpbmRleCA2YWUxYjI3ZTUwYjYuLjA5 MDAzOGZlZDg4OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9saWdodC90c2w0NTMxLmMKPiAr KysgYi9kcml2ZXJzL2lpby9saWdodC90c2w0NTMxLmMKPiBAQCAtMjA3LDEyICsyMDcsMTAgQEAg c3RhdGljIGludCB0c2w0NTMxX3Bvd2VyZG93bihzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBUU0w0NTMxX01PREVfUE9XRVJET1dO KTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRzbDQ1MzFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHRzbDQ1MzFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGlpb19kZXZpY2VfdW5yZWdpc3Rl cihpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KSk7Cj4gwqDCoMKgwqDCoMKgwqDCoHRzbDQ1MzFf cG93ZXJkb3duKGNsaWVudCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqBzdGF0aWMgaW50IHRzbDQ1MzFfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2xpZ2h0L3VzNTE4MmQuYwo+IGIvZHJpdmVycy9paW8v bGlnaHQvdXM1MTgyZC5jCj4gaW5kZXggY2JkOTk3ODU0MGZhLi5jYTZhMDM5MzNlMmUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9paW8vbGlnaHQvdXM1MTgyZC5jCj4gKysrIGIvZHJpdmVycy9paW8v bGlnaHQvdXM1MTgyZC5jCj4gQEAgLTkwNCw3ICs5MDQsNyBAQCBzdGF0aWMgaW50IHVzNTE4MmRf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgCj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCB1czUxODJkX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCB1czUxODJkX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdXM1MTgyZF9kYXRhICpkYXRhID0KPiBpaW9fcHJpdihp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCByZXQ7Cj4g QEAgLTkxOCw4ICs5MTgsNiBAQCBzdGF0aWMgaW50IHVzNTE4MmRfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHJldCkKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl93YXJuKCZjbGllbnQtPmRldiwgIkZhaWxlZCB0byBz aHV0IGRvd24gKCVwZSlcbiIsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIEVSUl9QVFIocmV0KSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gwqAjaWYgZGVmaW5lZChDT05GSUdfUE1fU0xFRVApIHx8IGRlZmluZWQo Q09ORklHX1BNKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9saWdodC92Y25sNDAwMC5jCj4g Yi9kcml2ZXJzL2lpby9saWdodC92Y25sNDAwMC5jCj4gaW5kZXggOTQ3YTQxYjg2MTczLi45YzQ5 MmY5MDI0ZTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vbGlnaHQvdmNubDQwMDAuYwo+ICsr KyBiL2RyaXZlcnMvaWlvL2xpZ2h0L3Zjbmw0MDAwLmMKPiBAQCAtMTExMSw3ICsxMTExLDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQKPiB2Y25sXzQwMDBfb2ZfbWF0Y2hbXSA9 IHsKPiDCoH07Cj4gwqBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCB2Y25sXzQwMDBfb2ZfbWF0Y2gp Owo+IMKgCj4gLXN0YXRpYyBpbnQgdmNubDQwMDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIHZjbmw0MDAwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2 ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2 Y25sNDAwMF9kYXRhICpkYXRhID0gaWlvX3ByaXYoaW5kaW9fZGV2KTsKPiBAQCAtMTEyNiw4ICsx MTI2LDYgQEAgc3RhdGljIGludCB2Y25sNDAwMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAq Y2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBpZiAocmV0KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGV2X3dhcm4oJmNsaWVudC0+ZGV2LCAiRmFpbGVkIHRvIHBvd2VyIGRvd24K PiAoJXBlKVxuIiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgRVJSX1BUUihyZXQpKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgdmNubDQwMDBfcnVudGltZV9zdXNw ZW5kKHN0cnVjdCBkZXZpY2UKPiAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9saWdo dC92Y25sNDAzNS5jCj4gYi9kcml2ZXJzL2lpby9saWdodC92Y25sNDAzNS5jCj4gaW5kZXggMmFh ZWM2YmVmNjRjLi44MjgyZjE5YzlkZTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vbGlnaHQv dmNubDQwMzUuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2xpZ2h0L3Zjbmw0MDM1LmMKPiBAQCAtNjAx LDcgKzYwMSw3IEBAIHN0YXRpYyBpbnQgdmNubDQwMzVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgdmNubDQwMzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIHZjbmw0MDM1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCByZXQ7Cj4gQEAgLTYxNiw4 ICs2MTYsNiBAQCBzdGF0aWMgaW50IHZjbmw0MDM1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQpCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBkZXZfd2FybigmY2xpZW50LT5kZXYsICJGYWlsZWQgdG8gcHV0IGRldmlj ZSBpbnRvCj4gc3RhbmRieSAoJXBlKVxuIiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgRVJSX1BUUihyZXQpKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgdmNubDQw MzVfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UKPiAqZGV2KQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2lpby9saWdodC92ZW1sNjA3MC5jCj4gYi9kcml2ZXJzL2lpby9saWdodC92ZW1sNjA3 MC5jCj4gaW5kZXggMWU1NWUwOWE4ZDE2Li5jZmE0ZTllN2M4MDMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9paW8vbGlnaHQvdmVtbDYwNzAuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL2xpZ2h0L3ZlbWw2 MDcwLmMKPiBAQCAtMTgwLDE1ICsxODAsMTMgQEAgc3RhdGljIGludCB2ZW1sNjA3MF9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB2ZW1sNjA3MF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdmVtbDYwNzBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IHZlbWw2MDcwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoGlpb19kZXZpY2VfdW5yZWdpc3RlcihpbmRpb19kZXYpOwo+IMKgwqDCoMKg wqDCoMKgwqBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoZGF0YS0+Y2xpZW50Mik7Cj4gLQo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGky Y19kZXZpY2VfaWQgdmVtbDYwNzBfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8v bWFnbmV0b21ldGVyL2FrODk3NC5jCj4gYi9kcml2ZXJzL2lpby9tYWduZXRvbWV0ZXIvYWs4OTc0 LmMKPiBpbmRleCBlNTRmZWFjZmI5ODAuLjEwNjQ4NTlmYmY4MyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2lpby9tYWduZXRvbWV0ZXIvYWs4OTc0LmMKPiArKysgYi9kcml2ZXJzL2lpby9tYWduZXRv bWV0ZXIvYWs4OTc0LmMKPiBAQCAtOTY5LDcgKzk2OSw3IEBAIHN0YXRpYyBpbnQgYWs4OTc0X3By b2JlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBhazg5NzRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICppMmMpCj4gK3N0YXRpYyB2b2lkIGFrODk3NF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmky YykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGky Y19nZXRfY2xpZW50ZGF0YShpMmMpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWs4OTc0ICph azg5NzQgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBAIC05ODEsOCArOTgxLDYgQEAgc3RhdGlj IGludCBhazg5NzRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqDCoMKgwqDCoMKg wqDCoHBtX3J1bnRpbWVfZGlzYWJsZSgmaTJjLT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBhazg5 NzRfc2V0X3Bvd2VyKGFrODk3NCwgQUs4OTc0X1BXUl9PRkYpOwo+IMKgwqDCoMKgwqDCoMKgwqBy ZWd1bGF0b3JfYnVsa19kaXNhYmxlKEFSUkFZX1NJWkUoYWs4OTc0LT5yZWdzKSwgYWs4OTc0LQo+ ID5yZWdzKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBpbnQgX19tYXliZV91bnVzZWQgYWs4OTc0X3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2 aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL21hZ25ldG9tZXRlci9hazg5NzUu Ywo+IGIvZHJpdmVycy9paW8vbWFnbmV0b21ldGVyL2FrODk3NS5jCj4gaW5kZXggMjQzMmU2OTcx NTBjLi5jYWYwM2EyYTk4YTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vbWFnbmV0b21ldGVy L2FrODk3NS5jCj4gKysrIGIvZHJpdmVycy9paW8vbWFnbmV0b21ldGVyL2FrODk3NS5jCj4gQEAg LTEwMTgsNyArMTAxOCw3IEBAIHN0YXRpYyBpbnQgYWs4OTc1X3Byb2JlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IGFrODk3NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgYWs4OTc1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBhazg5NzVfZGF0YSAq ZGF0YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTEwMzAsOCArMTAzMCw2IEBAIHN0YXRp YyBpbnQgYWs4OTc1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKg wqDCoMKgwqDCoGlpb190cmlnZ2VyZWRfYnVmZmVyX2NsZWFudXAoaW5kaW9fZGV2KTsKPiDCoMKg wqDCoMKgwqDCoMKgYWs4OTc1X3NldF9tb2RlKGRhdGEsIFBPV0VSX0RPV04pOwo+IMKgwqDCoMKg wqDCoMKgwqBhazg5NzVfcG93ZXJfb2ZmKGRhdGEpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBhazg5NzVfcnVudGltZV9zdXNwZW5kKHN0 cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vbWFnbmV0b21ldGVy L2JtYzE1MF9tYWduX2kyYy5jCj4gYi9kcml2ZXJzL2lpby9tYWduZXRvbWV0ZXIvYm1jMTUwX21h Z25faTJjLmMKPiBpbmRleCA2NWMwMDQ0MTFkMGYuLjU3MGRlYWE4NzgzNiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2lpby9tYWduZXRvbWV0ZXIvYm1jMTUwX21hZ25faTJjLmMKPiArKysgYi9kcml2 ZXJzL2lpby9tYWduZXRvbWV0ZXIvYm1jMTUwX21hZ25faTJjLmMKPiBAQCAtMzQsMTEgKzM0LDkg QEAgc3RhdGljIGludCBibWMxNTBfbWFnbl9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAq Y2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gYm1jMTUwX21hZ25fcHJvYmUoJmNsaWVu dC0+ZGV2LCByZWdtYXAsIGNsaWVudC0+aXJxLAo+IG5hbWUpOwo+IMKgfQo+IMKgCj4gLXN0YXRp YyBpbnQgYm1jMTUwX21hZ25faTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ ICtzdGF0aWMgdm9pZCBibWMxNTBfbWFnbl9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGJtYzE1MF9tYWduX3JlbW92ZSgmY2xpZW50 LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBhY3BpX2RldmljZV9pZCBibWMxNTBfbWFnbl9hY3BpX21hdGNoW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL21hZ25ldG9tZXRlci9obWM1ODQzX2kyYy5j Cj4gYi9kcml2ZXJzL2lpby9tYWduZXRvbWV0ZXIvaG1jNTg0M19pMmMuYwo+IGluZGV4IDhkMmZm OGZjMjA0ZC4uZmU1ZTg0MTViMmYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL21hZ25ldG9t ZXRlci9obWM1ODQzX2kyYy5jCj4gKysrIGIvZHJpdmVycy9paW8vbWFnbmV0b21ldGVyL2htYzU4 NDNfaTJjLmMKPiBAQCAtNjUsMTEgKzY1LDkgQEAgc3RhdGljIGludCBobWM1ODQzX2kyY19wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWQtPmRyaXZlcl9kYXRhLCBpZC0+bmFtZSk7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBobWM1ODQzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiArc3RhdGljIHZvaWQgaG1jNTg0M19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGhtYzU4NDNfY29tbW9uX3JlbW92ZSgm Y2xpZW50LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGhtYzU4NDNfaWRbXSA9IHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vbWFnbmV0b21ldGVyL21hZzMxMTAuYwo+IGIvZHJpdmVy cy9paW8vbWFnbmV0b21ldGVyL21hZzMxMTAuYwo+IGluZGV4IDIyNjQzOWQwYmZiNS4uYjg3MGFk ODAzODYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL21hZ25ldG9tZXRlci9tYWczMTEwLmMK PiArKysgYi9kcml2ZXJzL2lpby9tYWduZXRvbWV0ZXIvbWFnMzExMC5jCj4gQEAgLTU1OSw3ICs1 NTksNyBAQCBzdGF0aWMgaW50IG1hZzMxMTBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBp bnQgbWFnMzExMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZv aWQgbWFnMzExMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbWFnMzExMF9kYXRhICpkYXRhID0g aWlvX3ByaXYoaW5kaW9fZGV2KTsKPiBAQCAtNTY5LDggKzU2OSw2IEBAIHN0YXRpYyBpbnQgbWFn MzExMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKg wqBtYWczMTEwX3N0YW5kYnkoaWlvX3ByaXYoaW5kaW9fZGV2KSk7Cj4gwqDCoMKgwqDCoMKgwqDC oHJlZ3VsYXRvcl9kaXNhYmxlKGRhdGEtPnZkZGlvX3JlZyk7Cj4gwqDCoMKgwqDCoMKgwqDCoHJl Z3VsYXRvcl9kaXNhYmxlKGRhdGEtPnZkZF9yZWcpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBtYWczMTEwX3N1c3BlbmQoc3RydWN0IGRl dmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9tYWduZXRvbWV0ZXIveWFtYWhh LXlhczUzMC5jCj4gYi9kcml2ZXJzL2lpby9tYWduZXRvbWV0ZXIveWFtYWhhLXlhczUzMC5jCj4g aW5kZXggYjJiYzYzNzE1MGJmLi44YzE2MTc4ZDQ4MjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9p aW8vbWFnbmV0b21ldGVyL3lhbWFoYS15YXM1MzAuYwo+ICsrKyBiL2RyaXZlcnMvaWlvL21hZ25l dG9tZXRlci95YW1haGEteWFzNTMwLmMKPiBAQCAtOTQzLDcgKzk0Myw3IEBAIHN0YXRpYyBpbnQg eWFzNXh4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMsCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB5YXM1eHhfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICppMmMpCj4gK3N0YXRpYyB2b2lkIHlhczV4eF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlv X2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShpMmMpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg eWFzNXh4ICp5YXM1eHggPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBAIC05NjEsOCArOTYxLDYg QEAgc3RhdGljIGludCB5YXM1eHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqDC oMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJsZShkZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBn cGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAoeWFzNXh4LT5yZXNldCwgMSk7Cj4gwqDCoMKgwqDCoMKg wqDCoHJlZ3VsYXRvcl9idWxrX2Rpc2FibGUoQVJSQVlfU0laRSh5YXM1eHgtPnJlZ3MpLCB5YXM1 eHgtCj4gPnJlZ3MpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGludCBfX21heWJlX3VudXNlZCB5YXM1eHhfcnVudGltZV9zdXNwZW5kKHN0cnVj dCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vcG90ZW50aW9zdGF0L2xt cDkxMDAwLmMKPiBiL2RyaXZlcnMvaWlvL3BvdGVudGlvc3RhdC9sbXA5MTAwMC5jCj4gaW5kZXgg ZmU1MTRmMGI1NTA2Li41ZWM3MDYwZDMxZDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vcG90 ZW50aW9zdGF0L2xtcDkxMDAwLmMKPiArKysgYi9kcml2ZXJzL2lpby9wb3RlbnRpb3N0YXQvbG1w OTEwMDAuYwo+IEBAIC0zODQsNyArMzg0LDcgQEAgc3RhdGljIGludCBsbXA5MTAwMF9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBsbXA5MTAwMF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbG1wOTEwMDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGxtcDkxMDAwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBAIC0zOTYs OCArMzk2LDYgQEAgc3RhdGljIGludCBsbXA5MTAwMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlpb190cmlnZ2VyZWRfYnVmZmVyX2Ns ZWFudXAoaW5kaW9fZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgaWlvX3RyaWdnZXJfdW5yZWdpc3Rl cihkYXRhLT50cmlnKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGxtcDkxMDAwX29mX21hdGNoW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL3ByZXNzdXJlL21wbDMxMTUuYwo+IGIvZHJp dmVycy9paW8vcHJlc3N1cmUvbXBsMzExNS5jCj4gaW5kZXggZDRmODllNGJhYmVkLi4yZjIyYWJh NjFlNGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vcHJlc3N1cmUvbXBsMzExNS5jCj4gKysr IGIvZHJpdmVycy9paW8vcHJlc3N1cmUvbXBsMzExNS5jCj4gQEAgLTI5MCwxNSArMjkwLDEzIEBA IHN0YXRpYyBpbnQgbXBsMzExNV9zdGFuZGJ5KHN0cnVjdCBtcGwzMTE1X2RhdGEKPiAqZGF0YSkK PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEtPmN0cmxfcmVnMSAmIH5NUEwz MTE1X0NUUkxfQUNUSVZFKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG1wbDMxMTVfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1wbDMxMTVfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBpaW9fZGV2ICppbmRpb19kZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqBpaW9fZGV2aWNlX3VucmVnaXN0ZXIoaW5kaW9fZGV2KTsKPiDCoMKg wqDCoMKgwqDCoMKgaWlvX3RyaWdnZXJlZF9idWZmZXJfY2xlYW51cChpbmRpb19kZXYpOwo+IMKg wqDCoMKgwqDCoMKgwqBtcGwzMTE1X3N0YW5kYnkoaWlvX3ByaXYoaW5kaW9fZGV2KSk7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50IG1wbDMx MTVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlv L3ByZXNzdXJlL21zNTYxMV9pMmMuYwo+IGIvZHJpdmVycy9paW8vcHJlc3N1cmUvbXM1NjExX2ky Yy5jCj4gaW5kZXggM2IxZGU3MWUwZDE1Li5iNjgxYTQxODM5MDkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9paW8vcHJlc3N1cmUvbXM1NjExX2kyYy5jCj4gKysrIGIvZHJpdmVycy9paW8vcHJlc3N1 cmUvbXM1NjExX2kyYy5jCj4gQEAgLTEwNSwxMSArMTA1LDkgQEAgc3RhdGljIGludCBtczU2MTFf aTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIG1zNTYxMV9wcm9iZShpbmRpb19kZXYsICZjbGllbnQtPmRldiwgaWQtPm5hbWUsIGlk LQo+ID5kcml2ZXJfZGF0YSk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBtczU2MTFfaTJjX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBtczU2MTFfaTJj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBtczU2MTFfcmVtb3ZlKGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpKTsKPiAtCj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2Zf ZGV2aWNlX2lkIG1zNTYxMV9pMmNfbWF0Y2hlc1tdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2lpby9wcmVzc3VyZS96cGEyMzI2X2kyYy5jCj4gYi9kcml2ZXJzL2lpby9wcmVzc3VyZS96cGEy MzI2X2kyYy5jCj4gaW5kZXggMGRiMDg2MGQzODZiLi5mMjZkZDhjYmIzODcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9paW8vcHJlc3N1cmUvenBhMjMyNl9pMmMuYwo+ICsrKyBiL2RyaXZlcnMvaWlv L3ByZXNzdXJlL3pwYTIzMjZfaTJjLmMKPiBAQCAtNTMsMTEgKzUzLDkgQEAgc3RhdGljIGludCB6 cGEyMzI2X3Byb2JlX2kyYyhzdHJ1Y3QKPiBpMmNfY2xpZW50wqDCoMKgwqDCoMKgwqDCoMKgICpj bGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgenBhMjMyNl9pMmNfaHdpZChjbGllbnQpLCByZWdtYXApOwo+IMKgfQo+IMKgCj4g LXN0YXRpYyBpbnQgenBhMjMyNl9yZW1vdmVfaTJjKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIHpwYTIzMjZfcmVtb3ZlX2kyYyhzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqB6cGEyMzI2X3JlbW92ZSgmY2xpZW50LT5kZXYp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNv bnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHpwYTIzMjZfaTJjX2lkc1tdID0gewo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2lpby9wcm94aW1pdHkvcHVsc2VkbGlnaHQtbGlkYXItbGl0ZS12Mi5jCj4g Yi9kcml2ZXJzL2lpby9wcm94aW1pdHkvcHVsc2VkbGlnaHQtbGlkYXItbGl0ZS12Mi5jCj4gaW5k ZXggNjQ4YWU1NzZkNmZhLi43OTFhMzNkNTI4NmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8v cHJveGltaXR5L3B1bHNlZGxpZ2h0LWxpZGFyLWxpdGUtdjIuYwo+ICsrKyBiL2RyaXZlcnMvaWlv L3Byb3hpbWl0eS9wdWxzZWRsaWdodC1saWRhci1saXRlLXYyLmMKPiBAQCAtMzExLDcgKzMxMSw3 IEBAIHN0YXRpYyBpbnQgbGlkYXJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGxpZGFy X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBsaWRhcl9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+ IMKgCj4gQEAgLTMyMCw4ICszMjAsNiBAQCBzdGF0aWMgaW50IGxpZGFyX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9k aXNhYmxlKCZjbGllbnQtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfc2V0X3N1 c3BlbmRlZCgmY2xpZW50LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGxpZGFyX2lkW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL3Byb3hpbWl0eS9zeDk1MDAuYwo+IGIvZHJp dmVycy9paW8vcHJveGltaXR5L3N4OTUwMC5jCj4gaW5kZXggNDI1ODlkNjIwMGFkLi5kNDY3MDg2 NGRkYzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9paW8vcHJveGltaXR5L3N4OTUwMC5jCj4gKysr IGIvZHJpdmVycy9paW8vcHJveGltaXR5L3N4OTUwMC5jCj4gQEAgLTk3OSw3ICs5NzksNyBAQCBz dGF0aWMgaW50IHN4OTUwMF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBzeDk1MDBf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHN4OTUwMF9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgc3g5NTAwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRp b19kZXYpOwo+IEBAIC05ODksOCArOTg5LDYgQEAgc3RhdGljIGludCBzeDk1MDBfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGNsaWVudC0+ aXJxID4gMCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlpb190cmlnZ2VyX3Vu cmVnaXN0ZXIoZGF0YS0+dHJpZyk7Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGRhdGEtPmJ1ZmZl cik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg aW50IHN4OTUwMF9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9paW8vdGVtcGVyYXR1cmUvbWx4OTA2MTQuYwo+IGIvZHJpdmVycy9paW8vdGVtcGVyYXR1 cmUvbWx4OTA2MTQuYwo+IGluZGV4IGMyNTNhNTMxNTk4OC4uMDgwOGJiODY1OTI4IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvaWlvL3RlbXBlcmF0dXJlL21seDkwNjE0LmMKPiArKysgYi9kcml2ZXJz L2lpby90ZW1wZXJhdHVyZS9tbHg5MDYxNC5jCj4gQEAgLTU3MSw3ICs1NzEsNyBAQCBzdGF0aWMg aW50IG1seDkwNjE0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDC oMKgwqDCoMKgcmV0dXJuIGlpb19kZXZpY2VfcmVnaXN0ZXIoaW5kaW9fZGV2KTsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IG1seDkwNjE0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBtbHg5MDYxNF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiA9IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbWx4OTA2 MTRfZGF0YSAqZGF0YSA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gQEAgLTU4NCw4ICs1ODQsNiBA QCBzdGF0aWMgaW50IG1seDkwNjE0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbWx4OTA2 MTRfc2xlZXAoZGF0YSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50 aW1lX3NldF9zdXNwZW5kZWQoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0 cnVjdCBpMmNfZGV2aWNlX2lkIG1seDkwNjE0X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvaWlvL3RlbXBlcmF0dXJlL21seDkwNjMyLmMKPiBiL2RyaXZlcnMvaWlvL3RlbXBlcmF0dXJl L21seDkwNjMyLmMKPiBpbmRleCA3ZWU3ZmY4MDQ3YTQuLmU4ZWY0NzE0N2UyYiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2lpby90ZW1wZXJhdHVyZS9tbHg5MDYzMi5jCj4gKysrIGIvZHJpdmVycy9p aW8vdGVtcGVyYXR1cmUvbWx4OTA2MzIuYwo+IEBAIC05MjQsNyArOTI0LDcgQEAgc3RhdGljIGlu dCBtbHg5MDYzMl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiBpaW9fZGV2aWNlX3JlZ2lzdGVyKGluZGlvX2Rldik7Cj4gwqB9Cj4gwqAK PiAtc3RhdGljIGludCBtbHg5MDYzMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgbWx4OTA2MzJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBpMmNf Z2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG1seDkwNjMy X2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+IEBAIC05MzYsOCArOTM2LDYgQEAg c3RhdGljIGludCBtbHg5MDYzMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3B1dF9ub2lkbGUoJmNsaWVudC0+ZGV2KTsKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBtbHg5MDYzMl9zbGVlcChkYXRhKTsKPiAtCj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rl dmljZV9pZCBtbHg5MDYzMl9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L2pv eXN0aWNrL2FzNTAxMS5jCj4gYi9kcml2ZXJzL2lucHV0L2pveXN0aWNrL2FzNTAxMS5jCj4gaW5k ZXggMzRiY2Q5OWE0NmY1Li4yYmVkYTI5MDIxYTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1 dC9qb3lzdGljay9hczUwMTEuYwo+ICsrKyBiL2RyaXZlcnMvaW5wdXQvam95c3RpY2svYXM1MDEx LmMKPiBAQCAtMzI3LDcgKzMyNyw3IEBAIHN0YXRpYyBpbnQgYXM1MDExX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycm9yOwo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgYXM1MDExX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+ICtzdGF0aWMgdm9pZCBhczUwMTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBhczUwMTFfZGV2aWNlICphczUwMTEg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0zMzcsOCArMzM3LDYgQEAg c3RhdGljIGludCBhczUwMTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBpbnB1dF91bnJlZ2lzdGVyX2RldmljZShhczUwMTEtPmlucHV0 X2Rldik7Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGFzNTAxMSk7Cj4gLQo+IC3CoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZp Y2VfaWQgYXM1MDExX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQva2V5Ym9h cmQvYWRwNTU4OC1rZXlzLmMKPiBiL2RyaXZlcnMvaW5wdXQva2V5Ym9hcmQvYWRwNTU4OC1rZXlz LmMKPiBpbmRleCAxNTkyZGE0ZGUzMzYuLmI1NjY2ZDY1MDk5NCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2lucHV0L2tleWJvYXJkL2FkcDU1ODgta2V5cy5jCj4gKysrIGIvZHJpdmVycy9pbnB1dC9r ZXlib2FyZC9hZHA1NTg4LWtleXMuYwo+IEBAIC01OTgsNyArNTk4LDcgQEAgc3RhdGljIGludCBh ZHA1NTg4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIGVycm9yOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWRwNTU4OF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWRwNTU4OF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IGFkcDU1ODhfa3BhZCAqa3BhZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4g QEAgLTYwOCw4ICs2MDgsNiBAQCBzdGF0aWMgaW50IGFkcDU1ODhfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaW5wdXRfdW5yZWdpc3Rlcl9kZXZp Y2Uoa3BhZC0+aW5wdXQpOwo+IMKgwqDCoMKgwqDCoMKgwqBhZHA1NTg4X2dwaW9fcmVtb3ZlKGtw YWQpOwo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShrcGFkKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfUE0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9pbnB1dC9rZXlib2FyZC9sbTgzMjMuYwo+IGIvZHJpdmVycy9pbnB1dC9rZXlib2Fy ZC9sbTgzMjMuYwo+IGluZGV4IDZjMzhkMDM0ZWM2ZS4uNDA3ZGQyYWQ2MzAyIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvaW5wdXQva2V5Ym9hcmQvbG04MzIzLmMKPiArKysgYi9kcml2ZXJzL2lucHV0 L2tleWJvYXJkL2xtODMyMy5jCj4gQEAgLTc1Miw3ICs3NTIsNyBAQCBzdGF0aWMgaW50IGxtODMy M19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBsbTgzMjNfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGxtODMyM19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxtODMyM19j aGlwICpsbSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBp bnQgaTsKPiBAQCAtNzY5LDggKzc2OSw2IEBAIHN0YXRpYyBpbnQgbG04MzIzX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgbGVkX2NsYXNzZGV2X3VucmVnaXN0ZXIoJmxtLT5wd21baV0uY2Rl dik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUobG0pOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTV9TTEVFUAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2lucHV0L2tleWJvYXJkL2xtODMzMy5jCj4gYi9kcml2ZXJzL2lucHV0 L2tleWJvYXJkL2xtODMzMy5jCj4gaW5kZXggN2M1ZjhjNmJiOTU3Li45ZGFjMjJjMTQxMjUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1dC9rZXlib2FyZC9sbTgzMzMuYwo+ICsrKyBiL2RyaXZl cnMvaW5wdXQva2V5Ym9hcmQvbG04MzMzLmMKPiBAQCAtMjAwLDE1ICsyMDAsMTMgQEAgc3RhdGlj IGludCBsbTgzMzNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbG04MzMzX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBsbTgzMzNfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBsbTgzMzMgKmxtODMzMyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoGZyZWVfaXJxKGNsaWVudC0+aXJxLCBsbTgzMzMpOwo+IMKgwqDCoMKgwqDC oMKgwqBpbnB1dF91bnJlZ2lzdGVyX2RldmljZShsbTgzMzMtPmlucHV0KTsKPiDCoMKgwqDCoMKg wqDCoMKga2ZyZWUobG04MzMzKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBsbTgzMzNfaWRbXSA9 IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9rZXlib2FyZC9tY3NfdG91Y2hrZXkuYwo+ IGIvZHJpdmVycy9pbnB1dC9rZXlib2FyZC9tY3NfdG91Y2hrZXkuYwo+IGluZGV4IDhjYjAwNjJi OThlNC4uYWMxNjM3YTMzODllIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaW5wdXQva2V5Ym9hcmQv bWNzX3RvdWNoa2V5LmMKPiArKysgYi9kcml2ZXJzL2lucHV0L2tleWJvYXJkL21jc190b3VjaGtl eS5jCj4gQEAgLTE5NCw3ICsxOTQsNyBAQCBzdGF0aWMgaW50IG1jc190b3VjaGtleV9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBlcnJv cjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG1jc190b3VjaGtleV9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbWNzX3RvdWNoa2V5X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbWNz X3RvdWNoa2V5X2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+ IEBAIC0yMDMsOCArMjAzLDYgQEAgc3RhdGljIGludCBtY3NfdG91Y2hrZXlfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGRhdGEtPnBvd2Vyb24oZmFsc2UpOwo+IMKgwqDCoMKgwqDCoMKgwqBpbnB1dF91bnJlZ2lzdGVy X2RldmljZShkYXRhLT5pbnB1dF9kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShkYXRhKTsK PiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyB2b2lk IG1jc190b3VjaGtleV9zaHV0ZG93bihzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2lucHV0L2tleWJvYXJkL3F0MTA3MC5jCj4gYi9kcml2ZXJzL2lucHV0 L2tleWJvYXJkL3F0MTA3MC5jCj4gaW5kZXggNzE3NGUxZGYxZWUzLi45ZmNjZTE4YjFkNjUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1dC9rZXlib2FyZC9xdDEwNzAuYwo+ICsrKyBiL2RyaXZl cnMvaW5wdXQva2V5Ym9hcmQvcXQxMDcwLmMKPiBAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyBp bnQgcXQxMDcwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHF0MTA3MF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcXQxMDcwX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg cXQxMDcwX2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBA IC0yMjUsOCArMjI1LDYgQEAgc3RhdGljIGludCBxdDEwNzBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpbnB1dF91bnJlZ2lzdGVyX2Rl dmljZShkYXRhLT5pbnB1dCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGRhdGEpOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTV9T TEVFUAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L2tleWJvYXJkL3F0MjE2MC5jCj4gYi9k cml2ZXJzL2lucHV0L2tleWJvYXJkL3F0MjE2MC5jCj4gaW5kZXggMzJkNGEwNzZlYWEzLi4zODJi MTUxOTIxOGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1dC9rZXlib2FyZC9xdDIxNjAuYwo+ ICsrKyBiL2RyaXZlcnMvaW5wdXQva2V5Ym9hcmQvcXQyMTYwLmMKPiBAQCAtNDMyLDcgKzQzMiw3 IEBAIHN0YXRpYyBpbnQgcXQyMTYwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycm9yOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg cXQyMTYwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBx dDIxNjBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBxdDIxNjBfZGF0YSAqcXQyMTYwID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqAKPiBAQCAtNDQ2LDggKzQ0Niw2IEBAIHN0YXRpYyBpbnQgcXQyMTYwX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaW5w dXRfdW5yZWdpc3Rlcl9kZXZpY2UocXQyMTYwLT5pbnB1dCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGtm cmVlKHF0MjE2MCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgcXQyMTYwX2lkdGFibGVbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9rZXlib2FyZC90Y2E2NDE2LWtleXBhZC5jCj4g Yi9kcml2ZXJzL2lucHV0L2tleWJvYXJkL3RjYTY0MTYta2V5cGFkLmMKPiBpbmRleCAyYTk3NTU5 MTAwNjUuLmFmY2RmYmIwMDJmZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lucHV0L2tleWJvYXJk L3RjYTY0MTYta2V5cGFkLmMKPiArKysgYi9kcml2ZXJzL2lucHV0L2tleWJvYXJkL3RjYTY0MTYt a2V5cGFkLmMKPiBAQCAtMzA3LDcgKzMwNyw3IEBAIHN0YXRpYyBpbnQgdGNhNjQxNl9rZXlwYWRf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gZXJyb3I7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0Y2E2NDE2X2tleXBhZF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdGNhNjQxNl9rZXlwYWRf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCB0Y2E2NDE2X2tleXBhZF9jaGlwICpjaGlwID0KPiBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoAo+IEBAIC0zMTgsOCArMzE4LDYgQEAgc3RhdGljIGludCB0Y2E2NDE2X2tl eXBhZF9yZW1vdmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoGlucHV0X3VucmVnaXN0ZXJfZGV2aWNlKGNoaXAtPmlucHV0KTsKPiDCoMKgwqDCoMKg wqDCoMKga2ZyZWUoY2hpcCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNX1NMRUVQCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5w dXQvbWlzYy9hZHhsMzR4LWkyYy5jCj4gYi9kcml2ZXJzL2lucHV0L21pc2MvYWR4bDM0eC1pMmMu Ywo+IGluZGV4IGEzYjVmODhkMmJkMS4uNWJlNjM2YWFhOTRmIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvaW5wdXQvbWlzYy9hZHhsMzR4LWkyYy5jCj4gKysrIGIvZHJpdmVycy9pbnB1dC9taXNjL2Fk eGwzNHgtaTJjLmMKPiBAQCAtOTksMTMgKzk5LDExIEBAIHN0YXRpYyBpbnQgYWR4bDM0eF9pMmNf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFkeGwzNHhfaTJjX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhZHhsMzR4X2kyY19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGFk eGwzNHggKmFjID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKgYWR4bDM0eF9yZW1vdmUoYWMpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBhZHhsMzR4X2kyY19zdXNw ZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9taXNj L2JtYTE1MC5jCj4gYi9kcml2ZXJzL2lucHV0L21pc2MvYm1hMTUwLmMKPiBpbmRleCBhOWQ5ODRk YTk1ZjMuLjg0ZmUzOTRkYTdhNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lucHV0L21pc2MvYm1h MTUwLmMKPiArKysgYi9kcml2ZXJzL2lucHV0L21pc2MvYm1hMTUwLmMKPiBAQCAtNTEzLDExICs1 MTMsOSBAQCBzdGF0aWMgaW50IGJtYTE1MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg Ym1hMTUwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBi bWExNTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJsZSgmY2xpZW50LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBi bWExNTBfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv aW5wdXQvbWlzYy9jbWEzMDAwX2QweF9pMmMuYwo+IGIvZHJpdmVycy9pbnB1dC9taXNjL2NtYTMw MDBfZDB4X2kyYy5jCj4gaW5kZXggMDNmYjQ5MTI3YzNhLi4zYjIzMjEwYzQ2YjcgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9pbnB1dC9taXNjL2NtYTMwMDBfZDB4X2kyYy5jCj4gKysrIGIvZHJpdmVy cy9pbnB1dC9taXNjL2NtYTMwMDBfZDB4X2kyYy5jCj4gQEAgLTU4LDEzICs1OCwxMSBAQCBzdGF0 aWMgaW50IGNtYTMwMDBfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjbWEzMDAw X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgY21h MzAwMF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBjbWEzMDAwX2FjY2xfZGF0YSAqZGF0YSA9IGkyY19nZXRfY2xpZW50 ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGNtYTMwMDBfZXhpdChkYXRhKTsK PiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05G SUdfUE0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9taXNjL3BjZjg1NzRfa2V5cGFkLmMK PiBiL2RyaXZlcnMvaW5wdXQvbWlzYy9wY2Y4NTc0X2tleXBhZC5jCj4gaW5kZXggYWJjNDIzMTY1 NTIyLi5jZmQ2NjQwZTRmODIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1dC9taXNjL3BjZjg1 NzRfa2V5cGFkLmMKPiArKysgYi9kcml2ZXJzL2lucHV0L21pc2MvcGNmODU3NF9rZXlwYWQuYwo+ IEBAIC0xNTcsNyArMTU3LDcgQEAgc3RhdGljIGludCBwY2Y4NTc0X2twX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCwgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaQo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcGNmODU3NF9rcF9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcGNmODU3NF9r cF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IGtwX2RhdGEgKmxwID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAK PiBAQCAtMTY1LDggKzE2NSw2IEBAIHN0YXRpYyBpbnQgcGNmODU3NF9rcF9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlucHV0X3VucmVn aXN0ZXJfZGV2aWNlKGxwLT5pZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUobHApOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19Q TQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L21vdXNlL3N5bmFwdGljc19pMmMuYwo+IGIv ZHJpdmVycy9pbnB1dC9tb3VzZS9zeW5hcHRpY3NfaTJjLmMKPiBpbmRleCBmYTMwNDY0OGQ2MTEu Ljk4N2VlNjdhMTA0NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lucHV0L21vdXNlL3N5bmFwdGlj c19pMmMuYwo+ICsrKyBiL2RyaXZlcnMvaW5wdXQvbW91c2Uvc3luYXB0aWNzX2kyYy5jCj4gQEAg LTU4Nyw3ICs1ODcsNyBAQCBzdGF0aWMgaW50IHN5bmFwdGljc19pMmNfcHJvYmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+ IMKgCj4gLXN0YXRpYyBpbnQgc3luYXB0aWNzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgc3luYXB0aWNzX2kyY19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHN5bmFwdGljc19p MmMgKnRvdWNoID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtNTk2LDgg KzU5Niw2IEBAIHN0YXRpYyBpbnQgc3luYXB0aWNzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlucHV0X3VucmVnaXN0ZXJfZGV2 aWNlKHRvdWNoLT5pbnB1dCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKHRvdWNoKTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19tYXli ZV91bnVzZWQgc3luYXB0aWNzX2kyY19zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9ybWk0L3JtaV9zbWJ1cy5jCj4gYi9kcml2ZXJzL2lucHV0 L3JtaTQvcm1pX3NtYnVzLmMKPiBpbmRleCAyNDA3ZWE0M2RlNTkuLmMxMzA0Njg1NDFiNyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2lucHV0L3JtaTQvcm1pX3NtYnVzLmMKPiArKysgYi9kcml2ZXJz L2lucHV0L3JtaTQvcm1pX3NtYnVzLmMKPiBAQCAtMzM4LDEzICszMzgsMTEgQEAgc3RhdGljIGlu dCBybWlfc21iX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBybWlfc21iX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBybWlfc21iX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg cm1pX3NtYl94cG9ydCAqcm1pX3NtYiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoHJtaV91bnJlZ2lzdGVyX3RyYW5zcG9ydF9kZXZpY2UoJnJtaV9z bWItPnhwb3J0KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDC oHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgcm1pX3NtYl9zdXNwZW5kKHN0cnVjdCBkZXZpY2Ug KmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9hdG1lbF9teHRf dHMuYwo+IGIvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9hdG1lbF9teHRfdHMuYwo+IGluZGV4 IGViNjZjZDI2ODliNy4uNGVlZGVhMDhiMGI1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaW5wdXQv dG91Y2hzY3JlZW4vYXRtZWxfbXh0X3RzLmMKPiArKysgYi9kcml2ZXJzL2lucHV0L3RvdWNoc2Ny ZWVuL2F0bWVsX214dF90cy5jCj4gQEAgLTMyODQsNyArMzI4NCw3IEBAIHN0YXRpYyBpbnQgbXh0 X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4gY29uc3Qgc3RydWN0IGkyY19kZXZp Y2VfaWQgKmlkKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyb3I7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCBteHRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRp YyB2b2lkIG14dF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IG14dF9kYXRhICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqAKPiBAQCAtMzI5NCw4ICszMjk0LDYgQEAgc3RhdGljIGludCBteHRfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgbXh0X2ZyZWVf b2JqZWN0X3RhYmxlKGRhdGEpOwo+IMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0b3JfYnVsa19kaXNh YmxlKEFSUkFZX1NJWkUoZGF0YS0+cmVndWxhdG9ycyksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRhdGEtPnJlZ3VsYXRvcnMp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGlu dCBfX21heWJlX3VudXNlZCBteHRfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vYnUyMTAxM190cy5jCj4gYi9kcml2ZXJz L2lucHV0L3RvdWNoc2NyZWVuL2J1MjEwMTNfdHMuYwo+IGluZGV4IDJmMWYwZDc2MDdmOC4uMzRm NDIyZTI0NmVmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vYnUyMTAx M190cy5jCj4gKysrIGIvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9idTIxMDEzX3RzLmMKPiBA QCAtNTUyLDE1ICs1NTIsMTMgQEAgc3RhdGljIGludCBidTIxMDEzX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiAtc3RhdGljIGludCBidTIxMDEzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ ICtzdGF0aWMgdm9pZCBidTIxMDEzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYnUyMTAxM190cyAqdHMgPSBpMmNfZ2V0X2Ns aWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqAvKiBNYWtlIHN1cmUgSVJR IHdpbGwgZXhpdCBxdWlja2x5IGV2ZW4gaWYgdGhlcmUgaXMgY29udGFjdAo+ICovCj4gwqDCoMKg wqDCoMKgwqDCoHRzLT50b3VjaF9zdG9wcGVkID0gdHJ1ZTsKPiDCoMKgwqDCoMKgwqDCoMKgLyog VGhlIHJlc291cmNlcyB3aWxsIGJlIGZyZWVkIGJ5IGRldm0gKi8KPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgYnUy MTAxM19zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9p bnB1dC90b3VjaHNjcmVlbi9jeXR0c3A0X2kyYy5jCj4gYi9kcml2ZXJzL2lucHV0L3RvdWNoc2Ny ZWVuL2N5dHRzcDRfaTJjLmMKPiBpbmRleCBjNjVjY2IyZjQ3MTYuLjI4YWU3YzE1Mzk3YSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2lucHV0L3RvdWNoc2NyZWVuL2N5dHRzcDRfaTJjLmMKPiArKysg Yi9kcml2ZXJzL2lucHV0L3RvdWNoc2NyZWVuL2N5dHRzcDRfaTJjLmMKPiBAQCAtNDMsMTMgKzQz LDExIEBAIHN0YXRpYyBpbnQgY3l0dHNwNF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAq Y2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gUFRSX0VSUl9PUl9aRVJPKHRzKTsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IGN5dHRzcDRfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBjeXR0c3A0X2kyY19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGN5dHRzcDQgKnRz ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgY3l0 dHNwNF9yZW1vdmUodHMpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGN5dHRzcDRfaTJjX2lkW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vZWR0LWZ0NXgwNi5j Cj4gYi9kcml2ZXJzL2lucHV0L3RvdWNoc2NyZWVuL2VkdC1mdDV4MDYuYwo+IGluZGV4IGJiMmUx Y2JmZmJhNy4uMGMzMjUxMzJhOTU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaW5wdXQvdG91Y2hz Y3JlZW4vZWR0LWZ0NXgwNi5jCj4gKysrIGIvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9lZHQt ZnQ1eDA2LmMKPiBAQCAtMTI2NiwxMyArMTI2NiwxMSBAQCBzdGF0aWMgaW50IGVkdF9mdDV4MDZf dHNfcHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGVkdF9mdDV4MDZfdHNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGVkdF9mdDV4MDZfdHNfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCBlZHRfZnQ1eDA2X3RzX2RhdGEgKnRzZGF0YSA9Cj4gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZWR0X2Z0NXgwNl90c190ZWFyZG93bl9kZWJ1 Z2ZzKHRzZGF0YSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIGVkdF9mdDV4MDZfdHNfc3VzcGVuZChzdHJ1Y3Qg ZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vZ29v ZGl4LmMKPiBiL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vZ29vZGl4LmMKPiBpbmRleCAzYWQ5 ODcwZGIxMDguLjE2MTdkZDkzMTg3NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lucHV0L3RvdWNo c2NyZWVuL2dvb2RpeC5jCj4gKysrIGIvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9nb29kaXgu Ywo+IEBAIC0xMzgzLDE0ICsxMzgzLDEyIEBAIHN0YXRpYyBpbnQgZ29vZGl4X3RzX3Byb2JlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBnb29kaXhfdHNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGdvb2RpeF90c19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGdvb2RpeF90c19kYXRh ICp0cyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDC oGlmICh0cy0+bG9hZF9jZmdfZnJvbV9kaXNrKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgd2FpdF9mb3JfY29tcGxldGlvbigmdHMtPmZpcm13YXJlX2xvYWRpbmdfY29tcGxldGUp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGlu dCBfX21heWJlX3VudXNlZCBnb29kaXhfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vbWlnb3JfdHMuYwo+IGIvZHJpdmVy cy9pbnB1dC90b3VjaHNjcmVlbi9taWdvcl90cy5jCj4gaW5kZXggNDJkM2ZkN2UwNGQ3Li43OWNk NjYwZDg3OWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9taWdvcl90 cy5jCj4gKysrIGIvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9taWdvcl90cy5jCj4gQEAgLTE3 Niw3ICsxNzYsNyBAQCBzdGF0aWMgaW50IG1pZ29yX3RzX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycm9yOwo+IMKgfQo+IMKgCj4g LXN0YXRpYyBpbnQgbWlnb3JfdHNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIG1pZ29yX3RzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbWlnb3JfdHNfcHJpdiAqcHJpdiA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTE4NSw4ICsxODUsNiBAQCBzdGF0aWMg aW50IG1pZ29yX3RzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKg wqDCoMKgwqDCoGtmcmVlKHByaXYpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGRldl9zZXRfZHJ2 ZGF0YSgmY2xpZW50LT5kZXYsIE5VTEwpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBtaWdvcl90c19zdXNwZW5k KHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC90b3VjaHNj cmVlbi9zNnN5NzYxLmMKPiBiL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vczZzeTc2MS5jCj4g aW5kZXggODVhMWY0NjVjMDk3Li4xYTdkMDAyODliNGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9p bnB1dC90b3VjaHNjcmVlbi9zNnN5NzYxLmMKPiArKysgYi9kcml2ZXJzL2lucHV0L3RvdWNoc2Ny ZWVuL3M2c3k3NjEuYwo+IEBAIC00NzUsMTEgKzQ3NSw5IEBAIHN0YXRpYyBpbnQgczZzeTc2MV9w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgczZzeTc2MV9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgczZzeTc2MV9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxl KCZjbGllbnQtPmRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIHM2c3k3NjFfcnVudGltZV9zdXNwZW5kKHN0 cnVjdCBkZXZpY2UKPiAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L3RvdWNoc2Ny ZWVuL3N0bWZ0cy5jCj4gYi9kcml2ZXJzL2lucHV0L3RvdWNoc2NyZWVuL3N0bWZ0cy5jCj4gaW5k ZXggYzE3NWQ0NGM1MmYzLi5kNWJkMTcwODA4ZmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1 dC90b3VjaHNjcmVlbi9zdG1mdHMuYwo+ICsrKyBiL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4v c3RtZnRzLmMKPiBAQCAtNzM4LDExICs3MzgsOSBAQCBzdGF0aWMgaW50IHN0bWZ0c19wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc3RtZnRzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzdG1mdHNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJsZSgmY2xpZW50 LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGludCBfX21heWJlX3VudXNlZCBzdG1mdHNfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZp Y2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi90c2MyMDA0 LmMKPiBiL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vdHNjMjAwNC5jCj4gaW5kZXggOWZkZDg3 MGM0YzBiLi5hOTU2NTM1M2VlOTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9pbnB1dC90b3VjaHNj cmVlbi90c2MyMDA0LmMKPiArKysgYi9kcml2ZXJzL2lucHV0L3RvdWNoc2NyZWVuL3RzYzIwMDQu Ywo+IEBAIC00MywxMSArNDMsOSBAQCBzdGF0aWMgaW50IHRzYzIwMDRfcHJvYmUoc3RydWN0IGky Y19jbGllbnQgKmkyYywKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB0c2MyMDA0X2NtZCk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0 c2MyMDA0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCB0c2My MDA0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqB0c2MyMDB4X3JlbW92ZSgmaTJjLT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHRzYzIw MDRfaWR0YWJsZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2xlZHMvZmxhc2gvbGVkcy1h czM2NDVhLmMKPiBiL2RyaXZlcnMvbGVkcy9mbGFzaC9sZWRzLWFzMzY0NWEuYwo+IGluZGV4IGFh M2Y4MmJlMGE5Yy4uYmIyMjQ5NzcxYWNiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbGVkcy9mbGFz aC9sZWRzLWFzMzY0NWEuYwo+ICsrKyBiL2RyaXZlcnMvbGVkcy9mbGFzaC9sZWRzLWFzMzY0NWEu Ywo+IEBAIC03MjQsNyArNzI0LDcgQEAgc3RhdGljIGludCBhczM2NDVhX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJ2YWw7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBhczM2NDVhX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+ICtzdGF0aWMgdm9pZCBhczM2NDVhX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYXMzNjQ1YSAqZmxhc2ggPSBpMmNf Z2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC03NDAsOCArNzQwLDYgQEAgc3RhdGlj IGludCBhczM2NDVhX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDC oMKgwqDCoMKgwqDCoMKgZndub2RlX2hhbmRsZV9wdXQoZmxhc2gtPmZsYXNoX25vZGUpOwo+IMKg wqDCoMKgwqDCoMKgwqBmd25vZGVfaGFuZGxlX3B1dChmbGFzaC0+aW5kaWNhdG9yX25vZGUpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0 IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGFzMzY0NWFfaWRfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9sZWRzL2ZsYXNoL2xlZHMtbG0zNjAxeC5jCj4gYi9kcml2ZXJzL2xlZHMvZmxh c2gvbGVkcy1sbTM2MDF4LmMKPiBpbmRleCAzN2UxZDZlNjg2ODcuLjc4NzMwZTA2NmE3MyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvZmxhc2gvbGVkcy1sbTM2MDF4LmMKPiArKysgYi9kcml2 ZXJzL2xlZHMvZmxhc2gvbGVkcy1sbTM2MDF4LmMKPiBAQCAtNDQwLDcgKzQ0MCw3IEBAIHN0YXRp YyBpbnQgbG0zNjAxeF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiBsbTM2MDF4X3JlZ2lzdGVyX2xlZHMobGVkLCBmd25vZGUpOwo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgbG0zNjAxeF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiArc3RhdGljIHZvaWQgbG0zNjAxeF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxtMzYwMXhfbGVkICpsZWQgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgaW50IHJldDsKPiBA QCAtNDUwLDggKzQ1MCw2IEBAIHN0YXRpYyBpbnQgbG0zNjAxeF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBpZiAocmV0KQo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X3dhcm4oJmNsaWVudC0+ZGV2LAo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiRmFpbGVkIHRvIHB1dCBpbnRv IHN0YW5kYnkgKCVwZSlcbiIsCj4gRVJSX1BUUihyZXQpKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9p ZCBsbTM2MDF4X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGVkcy9mbGFzaC9sZWRz LXJ0NDUwNS5jCj4gYi9kcml2ZXJzL2xlZHMvZmxhc2gvbGVkcy1ydDQ1MDUuYwo+IGluZGV4IGVl MTI5YWI3MjU1ZC4uZTQwNGZlOGIwMzE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbGVkcy9mbGFz aC9sZWRzLXJ0NDUwNS5jCj4gKysrIGIvZHJpdmVycy9sZWRzL2ZsYXNoL2xlZHMtcnQ0NTA1LmMK PiBAQCAtMzkzLDEyICszOTMsMTEgQEAgc3RhdGljIGludCBydDQ1MDVfcHJvYmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IHJ0NDUwNV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgcnQ0NTA1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcnQ0NTA1X3ByaXYgKnByaXYgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2ZsYXNoX3Jl bGVhc2UocHJpdi0+djRsMl9mbGFzaCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyB2b2lkIHJ0NDUwNV9zaHV0ZG93bihzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2xlZHMvbGVkcy1hbjMwMjU5YS5jIGIvZHJp dmVycy9sZWRzL2xlZHMtCj4gYW4zMDI1OWEuYwo+IGluZGV4IGEwZGYxZmIyODc3NC4uZTA3MmVl NTQwOWY3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbGVkcy9sZWRzLWFuMzAyNTlhLmMKPiArKysg Yi9kcml2ZXJzL2xlZHMvbGVkcy1hbjMwMjU5YS5jCj4gQEAgLTMzNCwxMyArMzM0LDExIEBAIHN0 YXRpYyBpbnQgYW4zMDI1OWFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYW4zMDI1 OWFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGFuMzAy NTlhX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgYW4zMDI1OWEgKmNoaXAgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZjaGlwLT5tdXRleCk7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCBhbjMwMjU5YV9tYXRjaF90YWJsZVtdID0gewo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2xlZHMvbGVkcy1hdzIwMTMuYyBiL2RyaXZlcnMvbGVkcy9sZWRzLWF3MjAxMy5j Cj4gaW5kZXggODBkOTM3NDU0YWVlLi4wYjUyZmM5MDk3YzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9sZWRzL2xlZHMtYXcyMDEzLmMKPiArKysgYi9kcml2ZXJzL2xlZHMvbGVkcy1hdzIwMTMuYwo+ IEBAIC00MDEsMTUgKzQwMSwxMyBAQCBzdGF0aWMgaW50IGF3MjAxM19wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBhdzIwMTNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIGF3MjAxM19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGF3MjAxMyAqY2hpcCA9IGkyY19nZXRfY2xp ZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGF3MjAxM19jaGlwX2Rpc2Fi bGUoY2hpcCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgmY2hpcC0+bXV0 ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYXcyMDEzX21hdGNoX3RhYmxlW10gPSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbGVkcy9sZWRzLWJkMjgwMi5jIGIvZHJpdmVycy9sZWRzL2xlZHMt YmQyODAyLmMKPiBpbmRleCA4YmJhZWY1YTI5ODYuLjJiNjY3OGY2YmQ1NiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2xlZHMvbGVkcy1iZDI4MDIuYwo+ICsrKyBiL2RyaXZlcnMvbGVkcy9sZWRzLWJk MjgwMi5jCj4gQEAgLTcyMiw3ICs3MjIsNyBAQCBzdGF0aWMgaW50IGJkMjgwMl9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBiZDI4MDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIGJkMjgwMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGJkMjgwMl9sZWQgKmxlZCA9IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBpbnQgaTsKPiBAQCAt NzMzLDggKzczMyw2IEBAIHN0YXRpYyBpbnQgYmQyODAyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBiZDI4MDJfZGlz YWJsZV9hZHZfY29uZihsZWQpOwo+IMKgwqDCoMKgwqDCoMKgwqBmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShiZDI4MDJfYXR0cmlidXRlcyk7IGkrKykKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGRldmljZV9yZW1vdmVfZmlsZSgmbGVkLT5jbGllbnQtPmRldiwKPiBiZDI4MDJf YXR0cmlidXRlc1tpXSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqAjaWZkZWYgQ09ORklHX1BNX1NMRUVQCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGVkcy9s ZWRzLWJsaW5rbS5jIGIvZHJpdmVycy9sZWRzL2xlZHMtYmxpbmttLmMKPiBpbmRleCBiZDdkMGQ1 Y2YzYjYuLjNmYjZhMmZkYWVmYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvbGVkcy1ibGlu a20uYwo+ICsrKyBiL2RyaXZlcnMvbGVkcy9sZWRzLWJsaW5rbS5jCj4gQEAgLTY3Nyw3ICs2Nzcs NyBAQCBzdGF0aWMgaW50IGJsaW5rbV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQs Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBi bGlua21fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGJs aW5rbV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IGJsaW5rbV9kYXRhICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVu dCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCByZXQgPSAwOwo+IEBAIC03MTYsNyArNzE2LDYgQEAg c3RhdGljIGludCBibGlua21fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9lcnIoJmNsaWVudC0+ZGV2LCAiRmFp bHVyZSBpbiBibGlua21fcmVtb3ZlCj4gaWdub3JlZC4gQ29udGludWluZy5cbiIpOwo+IMKgCj4g wqDCoMKgwqDCoMKgwqDCoHN5c2ZzX3JlbW92ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJmJs aW5rbV9ncm91cCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBibGlua21faWRbXSA9IHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9sZWRzL2xlZHMtaXMzMWZsMzE5eC5jIGIvZHJpdmVycy9sZWRzL2xlZHMt Cj4gaXMzMWZsMzE5eC5jCj4gaW5kZXggNDE2MWI5ZGQ3ZTQ4Li43YWVlNjIyMTE3NTAgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9sZWRzL2xlZHMtaXMzMWZsMzE5eC5jCj4gKysrIGIvZHJpdmVycy9s ZWRzL2xlZHMtaXMzMWZsMzE5eC5jCj4gQEAgLTQxNCwxMiArNDE0LDExIEBAIHN0YXRpYyBpbnQg aXMzMWZsMzE5eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBpczMxZmwzMTl4X3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpczMxZmwzMTl4 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgaXMzMWZsMzE5eF9jaGlwICppczMxID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVu dCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgmaXMzMS0+bG9jayk7Cj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbGVkcy9sZWRzLWlzMzFmbDMyeHguYyBiL2RyaXZlcnMvbGVkcy9sZWRzLQo+IGlz MzFmbDMyeHguYwo+IGluZGV4IGZjNjNmY2UzOGMxOS4uMGQyMTljMWFjM2I1IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvbGVkcy9sZWRzLWlzMzFmbDMyeHguYwo+ICsrKyBiL2RyaXZlcnMvbGVkcy9s ZWRzLWlzMzFmbDMyeHguYwo+IEBAIC00NTcsNyArNDU3LDcgQEAgc3RhdGljIGludCBpczMxZmwz Mnh4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBpczMxZmwzMnh4X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpczMxZmwzMnh4X3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg aXMzMWZsMzJ4eF9wcml2ICpwcml2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDC oMKgwqDCoMKgwqDCoGludCByZXQ7Cj4gQEAgLTQ2Niw4ICs0NjYsNiBAQCBzdGF0aWMgaW50IGlz MzFmbDMyeHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKg wqDCoMKgaWYgKHJldCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9lcnIo JmNsaWVudC0+ZGV2LCAiRmFpbGVkIHRvIHJlc2V0IHJlZ2lzdGVycyBvbgo+IHJlbW92YWwgKCVw ZSlcbiIsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg RVJSX1BUUihyZXQpKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGVkcy9sZWRzLWxtMzUzMC5jIGIvZHJpdmVy cy9sZWRzL2xlZHMtbG0zNTMwLmMKPiBpbmRleCBlNzIzOTM1MzRiNzIuLmJhOTA2YzI1M2M3ZiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvbGVkcy1sbTM1MzAuYwo+ICsrKyBiL2RyaXZlcnMv bGVkcy9sZWRzLWxtMzUzMC5jCj4gQEAgLTQ3MCwxMyArNDcwLDEyIEBAIHN0YXRpYyBpbnQgbG0z NTMwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBsbTM1MzBfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGxtMzUzMF9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxtMzUzMF9k YXRhICpkcnZkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDC oMKgwqDCoMKgbG0zNTMwX2xlZF9kaXNhYmxlKGRydmRhdGEpOwo+IMKgwqDCoMKgwqDCoMKgwqBs ZWRfY2xhc3NkZXZfdW5yZWdpc3RlcigmZHJ2ZGF0YS0+bGVkX2Rldik7Cj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rldmlj ZV9pZCBsbTM1MzBfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZWRzL2xlZHMtbG0z NTMyLmMgYi9kcml2ZXJzL2xlZHMvbGVkcy1sbTM1MzIuYwo+IGluZGV4IGJlYjUzMDQwZTA5ZS4u ZGI2NGQ0NGJjYmJmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbGVkcy9sZWRzLWxtMzUzMi5jCj4g KysrIGIvZHJpdmVycy9sZWRzL2xlZHMtbG0zNTMyLmMKPiBAQCAtNzA0LDcgKzcwNCw3IEBAIHN0 YXRpYyBpbnQgbG0zNTMyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGxtMzUzMl9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbG0zNTMyX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgbG0zNTMyX2RhdGEgKmRydmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsK PiDCoAo+IEBAIC03MTIsOCArNzEyLDYgQEAgc3RhdGljIGludCBsbTM1MzJfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoZHJ2ZGF0 YS0+ZW5hYmxlX2dwaW8pCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBncGlvZF9k aXJlY3Rpb25fb3V0cHV0KGRydmRhdGEtPmVuYWJsZV9ncGlvLCAwKTsKPiAtCj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2 aWNlX2lkIG9mX2xtMzUzMl9sZWRzX21hdGNoW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bGVkcy9sZWRzLWxtMzU1eC5jIGIvZHJpdmVycy9sZWRzL2xlZHMtbG0zNTV4LmMKPiBpbmRleCAy ZDNlMTE4NDViYTUuLmRhYTM1OTI3YjMwMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvbGVk cy1sbTM1NXguYwo+ICsrKyBiL2RyaXZlcnMvbGVkcy9sZWRzLWxtMzU1eC5jCj4gQEAgLTQ5MSw3 ICs0OTEsNyBAQCBzdGF0aWMgaW50IGxtMzU1eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCBsbTM1NXhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2 b2lkIGxtMzU1eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IGxtMzU1eF9jaGlwX2RhdGEgKmNoaXAgPSBpMmNfZ2V0X2NsaWVu dGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxtMzU1eF9yZWdfZGF0YSAq cHJlZyA9IGNoaXAtPnJlZ3M7Cj4gQEAgLTUwMSw4ICs1MDEsNiBAQCBzdGF0aWMgaW50IGxtMzU1 eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBs ZWRfY2xhc3NkZXZfdW5yZWdpc3RlcigmY2hpcC0+Y2Rldl90b3JjaCk7Cj4gwqDCoMKgwqDCoMKg wqDCoGxlZF9jbGFzc2Rldl91bnJlZ2lzdGVyKCZjaGlwLT5jZGV2X2ZsYXNoKTsKPiDCoMKgwqDC oMKgwqDCoMKgZGV2X2luZm8oJmNsaWVudC0+ZGV2LCAiJXMgaXMgcmVtb3ZlZFxuIiwgbG0zNTV4 X25hbWVbY2hpcC0KPiA+dHlwZV0pOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGxtMzU1eF9pZFtd ID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2xlZHMvbGVkcy1sbTM2NDIuYyBiL2RyaXZlcnMv bGVkcy9sZWRzLWxtMzY0Mi5jCj4gaW5kZXggNDM1MzA5MTU0ZTZiLi40MjhhNWQ5MjgxNTAgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9sZWRzL2xlZHMtbG0zNjQyLmMKPiArKysgYi9kcml2ZXJzL2xl ZHMvbGVkcy1sbTM2NDIuYwo+IEBAIC0zODAsNyArMzgwLDcgQEAgc3RhdGljIGludCBsbTM2NDJf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbG0zNjQyX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBsbTM2NDJfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBsbTM2NDJfY2hp cF9kYXRhICpjaGlwID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMzg4 LDcgKzM4OCw2IEBAIHN0YXRpYyBpbnQgbG0zNjQyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGxlZF9jbGFzc2Rldl91bnJlZ2lzdGVyKCZjaGlw LT5jZGV2X3RvcmNoKTsKPiDCoMKgwqDCoMKgwqDCoMKgbGVkX2NsYXNzZGV2X3VucmVnaXN0ZXIo JmNoaXAtPmNkZXZfZmxhc2gpOwo+IMKgwqDCoMKgwqDCoMKgwqByZWdtYXBfd3JpdGUoY2hpcC0+ cmVnbWFwLCBSRUdfRU5BQkxFLCAwKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0K PiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGxtMzY0Ml9pZFtdID0g ewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2xlZHMvbGVkcy1sbTM2OTJ4LmMgYi9kcml2ZXJzL2xl ZHMvbGVkcy0KPiBsbTM2OTJ4LmMKPiBpbmRleCA4N2NkMjRjZTNmOTUuLjU0YjQ2NjJiZmY0MSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvbGVkcy1sbTM2OTJ4LmMKPiArKysgYi9kcml2ZXJz L2xlZHMvbGVkcy1sbTM2OTJ4LmMKPiBAQCAtNDkxLDE0ICs0OTEsMTIgQEAgc3RhdGljIGludCBs bTM2OTJ4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBsbTM2OTJ4X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBsbTM2OTJ4X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbG0z NjkyeF9sZWQgKmxlZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKg wqDCoMKgwqDCoGxtMzY5MnhfbGVkc19kaXNhYmxlKGxlZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoG11 dGV4X2Rlc3Ryb3koJmxlZC0+bG9jayk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbG0zNjkyeF9p ZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2xlZHMvbGVkcy1sbTM2OTcuYyBiL2RyaXZl cnMvbGVkcy9sZWRzLWxtMzY5Ny5jCj4gaW5kZXggM2VjZjkwZmJjMDZjLi43MTIzMWE2MGVlYmMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9sZWRzL2xlZHMtbG0zNjk3LmMKPiArKysgYi9kcml2ZXJz L2xlZHMvbGVkcy1sbTM2OTcuYwo+IEBAIC0zMzcsNyArMzM3LDcgQEAgc3RhdGljIGludCBsbTM2 OTdfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gbG0zNjk3X2luaXQobGVkKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGxtMzY5N19y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbG0zNjk3X3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgbG0zNjk3ICpsZWQgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IGRldmljZSAqZGV2ID0gJmxlZC0+Y2xpZW50LT5kZXY7Cj4gQEAgLTM1 OCw4ICszNTgsNiBAQCBzdGF0aWMgaW50IGxtMzY5N19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbXV0 ZXhfZGVzdHJveSgmbGVkLT5sb2NrKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBsbTM2OTdfaWRb XSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZWRzL2xlZHMtbHAzOTQ0LmMgYi9kcml2ZXJz L2xlZHMvbGVkcy1scDM5NDQuYwo+IGluZGV4IDQzN2M3MTFiMmEyNy4uNjczYWQ4YzA0ZjQxIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvbGVkcy9sZWRzLWxwMzk0NC5jCj4gKysrIGIvZHJpdmVycy9s ZWRzL2xlZHMtbHAzOTQ0LmMKPiBAQCAtMzk3LDcgKzM5Nyw3IEBAIHN0YXRpYyBpbnQgbHAzOTQ0 X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBscDM5NDRfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGxwMzk0NF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxwMzk0NF9wbGF0 Zm9ybV9kYXRhICpwZGF0YSA9Cj4gZGV2X2dldF9wbGF0ZGF0YSgmY2xpZW50LT5kZXYpOwo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbHAzOTQ0X2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiBAQCAtNDE0LDggKzQxNCw2IEBAIHN0YXRpYyBpbnQgbHAzOTQ0X3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkZWZhdWx0Ogo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGJyZWFrOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyogbHAzOTQ0IGkyYyBk cml2ZXIgc3RydWN0ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGVkcy9sZWRzLWxwMzk1Mi5j IGIvZHJpdmVycy9sZWRzL2xlZHMtbHAzOTUyLmMKPiBpbmRleCA2ZWU5MTMxZmJmMjUuLmJmMGFk MWI1Y2UyNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvbGVkcy1scDM5NTIuYwo+ICsrKyBi L2RyaXZlcnMvbGVkcy9sZWRzLWxwMzk1Mi5jCj4gQEAgLTI1NSwxNSArMjU1LDEzIEBAIHN0YXRp YyBpbnQgbHAzOTUyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBscDM5NTJfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGxwMzk1Ml9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IGxwMzk1Ml9sZWRfYXJyYXkgKnByaXY7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgcHJpdiA9IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBscDM5NTJfb25fb2Zm KHByaXYsIExQMzk1Ml9MRURfQUxMLCBmYWxzZSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGdwaW9kX3Nl dF92YWx1ZShwcml2LT5lbmFibGVfZ3BpbywgMCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbHAz OTUyX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGVkcy9sZWRzLWxwNTB4eC5jIGIv ZHJpdmVycy9sZWRzL2xlZHMtbHA1MHh4LmMKPiBpbmRleCBlMTI5ZGNjNjU2YjguLjI4ZDZiMzlm YTcyZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvbGVkcy1scDUweHguYwo+ICsrKyBiL2Ry aXZlcnMvbGVkcy9sZWRzLWxwNTB4eC5jCj4gQEAgLTU2Myw3ICs1NjMsNyBAQCBzdGF0aWMgaW50 IGxwNTB4eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiBscDUweHhfcHJvYmVfZHQobGVkKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IGxwNTB4eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg bHA1MHh4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgbHA1MHh4ICpsZWQgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsK PiDCoMKgwqDCoMKgwqDCoMKgaW50IHJldDsKPiBAQCAtNTc5LDggKzU3OSw2IEBAIHN0YXRpYyBp bnQgbHA1MHh4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoH0KPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZsZWQtPmxvY2sp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNv bnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGxwNTB4eF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2xlZHMvbGVkcy1scDU1MjEuYyBiL2RyaXZlcnMvbGVkcy9sZWRzLWxwNTUyMS5jCj4g aW5kZXggYTllNzUwN2M5OThjLi43ZmYyMGMyNjA1MDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9s ZWRzL2xlZHMtbHA1NTIxLmMKPiArKysgYi9kcml2ZXJzL2xlZHMvbGVkcy1scDU1MjEuYwo+IEBA IC01NzksNyArNTc5LDcgQEAgc3RhdGljIGludCBscDU1MjFfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4g LXN0YXRpYyBpbnQgbHA1NTIxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtz dGF0aWMgdm9pZCBscDU1MjFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBscDU1eHhfbGVkICpsZWQgPSBpMmNfZ2V0X2NsaWVu dGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxwNTV4eF9jaGlwICpjaGlw ID0gbGVkLT5jaGlwOwo+IEBAIC01ODcsOCArNTg3LDYgQEAgc3RhdGljIGludCBscDU1MjFfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgbHA1NTIx X3N0b3BfYWxsX2VuZ2luZXMoY2hpcCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGxwNTV4eF91bnJlZ2lz dGVyX3N5c2ZzKGNoaXApOwo+IMKgwqDCoMKgwqDCoMKgwqBscDU1eHhfZGVpbml0X2RldmljZShj aGlwKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRp YyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBscDU1MjFfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9sZWRzL2xlZHMtbHA1NTIzLmMgYi9kcml2ZXJzL2xlZHMvbGVkcy1scDU1MjMu Ywo+IGluZGV4IGIxNTkwY2I0YTE4OC4uMzY5ZDQwYjBiNjViIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbGVkcy9sZWRzLWxwNTUyMy5jCj4gKysrIGIvZHJpdmVycy9sZWRzL2xlZHMtbHA1NTIzLmMK PiBAQCAtOTQ3LDcgKzk0Nyw3IEBAIHN0YXRpYyBpbnQgbHA1NTIzX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IGxwNTUyM19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgbHA1NTIzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbHA1NXh4X2xlZCAqbGVkID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBscDU1eHhfY2hpcCAq Y2hpcCA9IGxlZC0+Y2hpcDsKPiBAQCAtOTU1LDggKzk1NSw2IEBAIHN0YXRpYyBpbnQgbHA1NTIz X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGxw NTUyM19zdG9wX2FsbF9lbmdpbmVzKGNoaXApOwo+IMKgwqDCoMKgwqDCoMKgwqBscDU1eHhfdW5y ZWdpc3Rlcl9zeXNmcyhjaGlwKTsKPiDCoMKgwqDCoMKgwqDCoMKgbHA1NXh4X2RlaW5pdF9kZXZp Y2UoY2hpcCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbHA1NTIzX2lkW10gPSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbGVkcy9sZWRzLWxwNTU2Mi5jIGIvZHJpdmVycy9sZWRzL2xlZHMtbHA1 NTYyLmMKPiBpbmRleCAzMWMxNDAxNmQyODkuLjBlNDkwMDg1ZmYzNSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2xlZHMvbGVkcy1scDU1NjIuYwo+ICsrKyBiL2RyaXZlcnMvbGVkcy9sZWRzLWxwNTU2 Mi5jCj4gQEAgLTU3Myw3ICs1NzMsNyBAQCBzdGF0aWMgaW50IGxwNTU2Ml9wcm9iZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBscDU1NjJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gK3N0YXRpYyB2b2lkIGxwNTU2Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxwNTV4eF9sZWQgKmxlZCA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbHA1NXh4X2No aXAgKmNoaXAgPSBsZWQtPmNoaXA7Cj4gQEAgLTU4Miw4ICs1ODIsNiBAQCBzdGF0aWMgaW50IGxw NTU2Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoGxwNTV4eF91bnJlZ2lzdGVyX3N5c2ZzKGNoaXApOwo+IMKgwqDCoMKgwqDCoMKgwqBs cDU1eHhfZGVpbml0X2RldmljZShjaGlwKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBscDU1NjJf aWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZWRzL2xlZHMtbHA4NTAxLmMgYi9kcml2 ZXJzL2xlZHMvbGVkcy1scDg1MDEuYwo+IGluZGV4IDJkMmZkYTJhYjEwNC4uYWUxMWEwMmMwYWIy IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbGVkcy9sZWRzLWxwODUwMS5jCj4gKysrIGIvZHJpdmVy cy9sZWRzL2xlZHMtbHA4NTAxLmMKPiBAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyBpbnQgbHA4 NTAxX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGxwODUwMV9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbHA4NTAxX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbHA1NXh4 X2xlZCAqbGVkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBscDU1eHhfY2hpcCAqY2hpcCA9IGxlZC0+Y2hpcDsKPiBAQCAtMzcwLDggKzM3MCw2 IEBAIHN0YXRpYyBpbnQgbHA4NTAxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoGxwODUwMV9zdG9wX2VuZ2luZShjaGlwKTsKPiDCoMKgwqDCoMKg wqDCoMKgbHA1NXh4X3VucmVnaXN0ZXJfc3lzZnMoY2hpcCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGxw NTV4eF9kZWluaXRfZGV2aWNlKGNoaXApOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGxwODUwMV9p ZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2xlZHMvbGVkcy1scDg4NjAuYyBiL2RyaXZl cnMvbGVkcy9sZWRzLWxwODg2MC5jCj4gaW5kZXggM2M2OTNkNWUzYjQ0Li5lMmIzNmQzMTg3ZWIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9sZWRzL2xlZHMtbHA4ODYwLmMKPiArKysgYi9kcml2ZXJz L2xlZHMvbGVkcy1scDg4NjAuYwo+IEBAIC00NDUsNyArNDQ1LDcgQEAgc3RhdGljIGludCBscDg4 NjBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGxwODg2MF9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbHA4ODYwX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbHA4ODYwX2xl ZCAqbGVkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGlu dCByZXQ7Cj4gQEAgLTQ2MSw4ICs0NjEsNiBAQCBzdGF0aWMgaW50IGxwODg2MF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgmbGVkLT5sb2NrKTsKPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rldmlj ZV9pZCBscDg4NjBfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZWRzL2xlZHMtcGNh OTUzMi5jIGIvZHJpdmVycy9sZWRzL2xlZHMtCj4gcGNhOTUzMi5jCj4gaW5kZXggZjcyYjVkMWJl M2E2Li5kZjgzZDk3Y2I0NzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9sZWRzL2xlZHMtcGNhOTUz Mi5jCj4gKysrIGIvZHJpdmVycy9sZWRzL2xlZHMtcGNhOTUzMi5jCj4gQEAgLTUyLDcgKzUyLDcg QEAgc3RydWN0IHBjYTk1MzJfZGF0YSB7Cj4gwqAKPiDCoHN0YXRpYyBpbnQgcGNhOTUzMl9wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBjb25zdCBzdHJ1 Y3QgaTJjX2RldmljZV9pZCAqaWQpOwo+IC1zdGF0aWMgaW50IHBjYTk1MzJfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpOwo+ICtzdGF0aWMgdm9pZCBwY2E5NTMyX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KTsKPiDCoAo+IMKgZW51bSB7Cj4gwqDCoMKgwqDCoMKgwqDC oHBjYTk1MzAsCj4gQEAgLTU0NiwxMyArNTQ2LDExIEBAIHN0YXRpYyBpbnQgcGNhOTUzMl9wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBw Y2E5NTMyX2NvbmZpZ3VyZShjbGllbnQsIGRhdGEsIHBjYTk1MzJfcGRhdGEpOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgcGNhOTUzMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgcGNhOTUzMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHBjYTk1MzJfZGF0YSAqZGF0YSA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHBjYTk1MzJfZGVz dHJveV9kZXZpY2VzKGRhdGEsIGRhdGEtPmNoaXBfaW5mby0+bnVtX2xlZHMpOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgbW9kdWxlX2kyY19kcml2ZXIocGNh OTUzMl9kcml2ZXIpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2xlZHMvbGVkcy10Y2E2NTA3LmMg Yi9kcml2ZXJzL2xlZHMvbGVkcy0KPiB0Y2E2NTA3LmMKPiBpbmRleCAxNDczY2VkODY2NGMuLjE2 MWJlZjY1YzZiNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvbGVkcy10Y2E2NTA3LmMKPiAr KysgYi9kcml2ZXJzL2xlZHMvbGVkcy10Y2E2NTA3LmMKPiBAQCAtNzkwLDcgKzc5MCw3IEBAIHN0 YXRpYyBpbnQgdGNhNjUwN19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0Y2E2NTA3 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0Y2E2NTA3 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBpbnQgaTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRjYTY1MDdfY2hpcCAqdGNhID0gaTJj X2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gQEAgLTgwMiw4ICs4MDIsNiBAQCBzdGF0aWMgaW50 IHRjYTY1MDdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKg wqDCoMKgfQo+IMKgwqDCoMKgwqDCoMKgwqB0Y2E2NTA3X3JlbW92ZV9ncGlvKHRjYSk7Cj4gwqDC oMKgwqDCoMKgwqDCoGNhbmNlbF93b3JrX3N5bmMoJnRjYS0+d29yayk7Cj4gLQo+IC3CoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIg dGNhNjUwN19kcml2ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGVkcy9sZWRzLXR1cnJp cy1vbW5pYS5jIGIvZHJpdmVycy9sZWRzL2xlZHMtCj4gdHVycmlzLW9tbmlhLmMKPiBpbmRleCAx YWRmZWQxYzA2MTkuLjY2MDQwZTg2MjFhZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvbGVk cy10dXJyaXMtb21uaWEuYwo+ICsrKyBiL2RyaXZlcnMvbGVkcy9sZWRzLXR1cnJpcy1vbW5pYS5j Cj4gQEAgLTI0NSw3ICsyNDUsNyBAQCBzdGF0aWMgaW50IG9tbmlhX2xlZHNfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IG9tbmlhX2xlZHNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIG9tbmlhX2xlZHNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHU4IGJ1Zls1XTsKPiDCoAo+IEBAIC0y NjEsOCArMjYxLDYgQEAgc3RhdGljIGludCBvbW5pYV9sZWRzX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGJ1Zls0XSA9IDI1NTsKPiDCoAo+IMKg wqDCoMKgwqDCoMKgwqBpMmNfbWFzdGVyX3NlbmQoY2xpZW50LCBidWYsIDUpOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBv Zl9kZXZpY2VfaWQgb2Zfb21uaWFfbGVkc19tYXRjaFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL21hY2ludG9zaC9hbXMvYW1zLWkyYy5jCj4gYi9kcml2ZXJzL21hY2ludG9zaC9hbXMvYW1z LWkyYy5jCj4gaW5kZXggZDJmMGNkZTZmOWM3Li4zNjJmYzU2YjY5ZGMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tYWNpbnRvc2gvYW1zL2Ftcy1pMmMuYwo+ICsrKyBiL2RyaXZlcnMvbWFjaW50b3No L2Ftcy9hbXMtaTJjLmMKPiBAQCAtMjMwLDcgKzIzMCw3IEBAIHN0YXRpYyBpbnQgYW1zX2kyY19w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYW1zX2kyY19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYW1zX2kyY19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGFtc19pbmZvLmhhc19k ZXZpY2UpIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGFtc19zZW5zb3JfZGV0 YWNoKCk7Cj4gQEAgLTI0NSw4ICsyNDUsNiBAQCBzdGF0aWMgaW50IGFtc19pMmNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgYW1zX2luZm8uaGFzX2RldmljZSA9IDA7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyB2b2lkIGFt c19pMmNfZXhpdCh2b2lkKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21hY2ludG9zaC90aGVybV9h ZHQ3NDZ4LmMKPiBiL2RyaXZlcnMvbWFjaW50b3NoL3RoZXJtX2FkdDc0NnguYwo+IGluZGV4IGU2 MDRjYmM5MTc2My4uYjAwNGVhMmExMTAyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWFjaW50b3No L3RoZXJtX2FkdDc0NnguYwo+ICsrKyBiL2RyaXZlcnMvbWFjaW50b3NoL3RoZXJtX2FkdDc0Nngu Ywo+IEBAIC01NjMsNyArNTYzLDcgQEAgc3RhdGljIGludCBwcm9iZV90aGVybW9zdGF0KHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCByZW1vdmVfdGhlcm1vc3RhdChzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCByZW1vdmVfdGhlcm1vc3RhdChzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdGhlcm1vc3RhdCAqdGgg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgaW50IGk7Cj4g QEAgLTU4NSw4ICs1ODUsNiBAQCBzdGF0aWMgaW50IHJlbW92ZV90aGVybW9zdGF0KHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgd3JpdGVfYm90aF9mYW5fc3Bl ZWQodGgsIC0xKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZSh0aCk7Cj4gLQo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGky Y19kZXZpY2VfaWQgdGhlcm1fYWR0NzQ2eF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21hY2ludG9zaC90aGVybV93aW5kdHVubmVsLmMKPiBiL2RyaXZlcnMvbWFjaW50b3NoL3RoZXJt X3dpbmR0dW5uZWwuYwo+IGluZGV4IDkyMjZiNzRmYTA4Zi4uNjFmZTJhYjkxMGI4IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvbWFjaW50b3NoL3RoZXJtX3dpbmR0dW5uZWwuYwo+ICsrKyBiL2RyaXZl cnMvbWFjaW50b3NoL3RoZXJtX3dpbmR0dW5uZWwuYwo+IEBAIC0zMzQsNyArMzM0LDcgQEAgc3Rh dGljIHZvaWQgZG9fYXR0YWNoKHN0cnVjdCBpMmNfYWRhcHRlcgo+ICphZGFwdGVyKQo+IMKgwqDC oMKgwqDCoMKgwqB9Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludAo+ICtzdGF0aWMgdm9pZAo+IMKg ZG9fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoGlmICh4LnJ1bm5pbmcpIHsKPiBAQCAtMzQ4LDggKzM0OCw2IEBAIGRvX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg eC5mYW4gPSBOVUxMOwo+IMKgwqDCoMKgwqDCoMKgwqBlbHNlCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBwcmludGsoS0VSTl9FUlIgImc0ZmFuOiBiYWQgY2xpZW50XG4iKTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvd2luZGZhcm1fYWQ3NDE3X3NlbnNvci5jCj4g Yi9kcml2ZXJzL21hY2ludG9zaC93aW5kZmFybV9hZDc0MTdfc2Vuc29yLmMKPiBpbmRleCA2YWQ2 NDQxYWJjYmMuLmM1YzU0YTRjZTkxZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21hY2ludG9zaC93 aW5kZmFybV9hZDc0MTdfc2Vuc29yLmMKPiArKysgYi9kcml2ZXJzL21hY2ludG9zaC93aW5kZmFy bV9hZDc0MTdfc2Vuc29yLmMKPiBAQCAtMjg5LDcgKzI4OSw3IEBAIHN0YXRpYyBpbnQgd2ZfYWQ3 NDE3X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB3Zl9hZDc0MTdfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHdmX2FkNzQxN19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHdm X2FkNzQxN19wcml2ICpwdiA9IGRldl9nZXRfZHJ2ZGF0YSgmY2xpZW50LT5kZXYpOwo+IMKgwqDC oMKgwqDCoMKgwqBpbnQgaTsKPiBAQCAtMzAyLDggKzMwMiw2IEBAIHN0YXRpYyBpbnQgd2ZfYWQ3 NDE3X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB3Zl91bnJlZ2lzdGVyX3NlbnNvcigmcHYtPnNlbnNvcnNbaV0pOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGtyZWZfcHV0KCZwdi0+cmVmLCB3Zl9hZDc0MTdfcmVsZWFz ZSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg Y29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgd2ZfYWQ3NDE3X2lkW10gPSB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWFjaW50b3NoL3dpbmRmYXJtX2ZjdV9jb250cm9scy5jCj4gYi9kcml2ZXJz L21hY2ludG9zaC93aW5kZmFybV9mY3VfY29udHJvbHMuYwo+IGluZGV4IDgyZTdiMjAwNWFlNy4u YzViMWNhNWJjZDczIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWFjaW50b3NoL3dpbmRmYXJtX2Zj dV9jb250cm9scy5jCj4gKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvd2luZGZhcm1fZmN1X2NvbnRy b2xzLmMKPiBAQCAtNTYwLDcgKzU2MCw3IEBAIHN0YXRpYyBpbnQgd2ZfZmN1X3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCB3Zl9mY3VfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gK3N0YXRpYyB2b2lkIHdmX2ZjdV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHdmX2ZjdV9wcml2ICpwdiA9IGRldl9n ZXRfZHJ2ZGF0YSgmY2xpZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgd2ZfZmN1 X2ZhbiAqZmFuOwo+IEBAIC01NzEsNyArNTcxLDYgQEAgc3RhdGljIGludCB3Zl9mY3VfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHdmX3VucmVnaXN0ZXJfY29udHJvbCgmZmFuLT5jdHJsKTsKPiDCoMKgwqDCoMKgwqDC oMKgfQo+IMKgwqDCoMKgwqDCoMKgwqBrcmVmX3B1dCgmcHYtPnJlZiwgd2ZfZmN1X3JlbGVhc2Up Owo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qg c3RydWN0IGkyY19kZXZpY2VfaWQgd2ZfZmN1X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWFjaW50b3NoL3dpbmRmYXJtX2xtNzVfc2Vuc29yLmMKPiBiL2RyaXZlcnMvbWFjaW50b3No L3dpbmRmYXJtX2xtNzVfc2Vuc29yLmMKPiBpbmRleCBlYjdlN2YwYmQyMTkuLjIwNDY2MWM4ZTkx OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21hY2ludG9zaC93aW5kZmFybV9sbTc1X3NlbnNvci5j Cj4gKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvd2luZGZhcm1fbG03NV9zZW5zb3IuYwo+IEBAIC0x NDcsNyArMTQ3LDcgQEAgc3RhdGljIGludCB3Zl9sbTc1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJjOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgd2ZfbG03NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3Rh dGljIHZvaWQgd2ZfbG03NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHdmX2xtNzVfc2Vuc29yICpsbSA9IGkyY19nZXRfY2xp ZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTE1Niw4ICsxNTYsNiBAQCBzdGF0aWMgaW50IHdm X2xtNzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqAvKiByZWxlYXNlIHNlbnNvciAqLwo+IMKgwqDCoMKgwqDCoMKgwqB3Zl91bnJlZ2lz dGVyX3NlbnNvcigmbG0tPnNlbnMpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHdmX2xtNzVfaWRb XSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvd2luZGZhcm1fbG04N19zZW5z b3IuYwo+IGIvZHJpdmVycy9tYWNpbnRvc2gvd2luZGZhcm1fbG04N19zZW5zb3IuYwo+IGluZGV4 IDgwN2VmZGRlODZiYy4uNDBkMjU0NjMzNDZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWFjaW50 b3NoL3dpbmRmYXJtX2xtODdfc2Vuc29yLmMKPiArKysgYi9kcml2ZXJzL21hY2ludG9zaC93aW5k ZmFybV9sbTg3X3NlbnNvci5jCj4gQEAgLTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgaW50IHdmX2xt ODdfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gcmM7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB3Zl9sbTg3X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB3Zl9sbTg3X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgd2ZfbG04 N19zZW5zb3IgKmxtID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMTU0 LDggKzE1NCw2IEBAIHN0YXRpYyBpbnQgd2ZfbG04N19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoC8qIHJlbGVhc2Ugc2Vuc29yICovCj4g wqDCoMKgwqDCoMKgwqDCoHdmX3VucmVnaXN0ZXJfc2Vuc29yKCZsbS0+c2Vucyk7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0 IGkyY19kZXZpY2VfaWQgd2ZfbG04N19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21h Y2ludG9zaC93aW5kZmFybV9tYXg2NjkwX3NlbnNvci5jCj4gYi9kcml2ZXJzL21hY2ludG9zaC93 aW5kZmFybV9tYXg2NjkwX3NlbnNvci5jCj4gaW5kZXggNTVlZTQxN2ZiODc4Li5jMGQ0MDRlYmM3 OTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvd2luZGZhcm1fbWF4NjY5MF9zZW5z b3IuYwo+ICsrKyBiL2RyaXZlcnMvbWFjaW50b3NoL3dpbmRmYXJtX21heDY2OTBfc2Vuc29yLmMK PiBAQCAtMTA0LDE0ICsxMDQsMTIgQEAgc3RhdGljIGludCB3Zl9tYXg2NjkwX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJjOwo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgd2ZfbWF4NjY5MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgd2ZfbWF4NjY5MF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHdmXzY2OTBfc2Vuc29y ICptYXggPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqBtYXgtPmkyYyA9IE5VTEw7Cj4gwqDCoMKgwqDCoMKgwqDCoHdmX3VucmVnaXN0ZXJfc2Vuc29y KCZtYXgtPnNlbnMpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHdmX21heDY2OTBfaWRbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvd2luZGZhcm1fc211X3NhdC5jCj4gYi9k cml2ZXJzL21hY2ludG9zaC93aW5kZmFybV9zbXVfc2F0LmMKPiBpbmRleCA1YWRlNjI3ZWFhNzgu LmJlNWQ0NTkzZGI5MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21hY2ludG9zaC93aW5kZmFybV9z bXVfc2F0LmMKPiArKysgYi9kcml2ZXJzL21hY2ludG9zaC93aW5kZmFybV9zbXVfc2F0LmMKPiBA QCAtMzE2LDcgKzMxNiw3IEBAIHN0YXRpYyBpbnQgd2Zfc2F0X3Byb2JlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCB3Zl9zYXRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIHdmX3NhdF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHdmX3NhdCAqc2F0ID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB3Zl9zYXRfc2Vuc29yICpzZW5zOwo+ IEBAIC0zMzAsOCArMzMwLDYgQEAgc3RhdGljIGludCB3Zl9zYXRfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgwqDCoMKgwqDCoMKgwqBz YXQtPmkyYyA9IE5VTEw7Cj4gwqDCoMKgwqDCoMKgwqDCoGtyZWZfcHV0KCZzYXQtPnJlZiwgd2Zf c2F0X3JlbGVhc2UpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHdmX3NhdF9pZFtdID0gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NlYy9pMmMvY2g3MzIyLmMKPiBiL2RyaXZlcnMvbWVk aWEvY2VjL2kyYy9jaDczMjIuYwo+IGluZGV4IDA4MTQzMzhjNDNlNC4uMzRmYWQ3MTIzNzA0IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvY2VjL2kyYy9jaDczMjIuYwo+ICsrKyBiL2RyaXZl cnMvbWVkaWEvY2VjL2kyYy9jaDczMjIuYwo+IEBAIC01NjUsNyArNTY1LDcgQEAgc3RhdGljIGlu dCBjaDczMjJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY2g3MzIyX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBjaDczMjJfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBj aDczMjIgKmNoNzMyMiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTU3 OCw4ICs1NzgsNiBAQCBzdGF0aWMgaW50IGNoNzMyMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZjaDczMjItPm11dGV4 KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBkZXZfaW5mbygmY2xpZW50LT5kZXYsICJkZXZpY2Ug dW5yZWdpc3RlcmVkXG4iKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGNoNzMyMl9vZl9tYXRjaFtd ID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvYTgyOTMuYyBi L2RyaXZlcnMvbWVkaWEvZHZiLQo+IGZyb250ZW5kcy9hODI5My5jCj4gaW5kZXggNTdmNTJjMDA0 YTIzLi5iYTM4NzgzYjJiNGYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRl bmRzL2E4MjkzLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvYTgyOTMuYwo+ IEBAIC05OCwxNCArOTgsMTMgQEAgc3RhdGljIGludCBhODI5M19wcm9iZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4g LXN0YXRpYyBpbnQgYTgyOTNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIGE4MjkzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYTgyOTNfZGV2ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBkZXZfZGJnKCZjbGllbnQtPmRldiwg IlxuIik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoZGV2KTsKPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNl X2lkIGE4MjkzX2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZi LWZyb250ZW5kcy9hZjkwMTMuYwo+IGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL2FmOTAx My5jCj4gaW5kZXggN2Q3YzM0MWIyYmQ4Li5kODU5Mjk1ODJjM2YgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL2FmOTAxMy5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9k dmItZnJvbnRlbmRzL2FmOTAxMy5jCj4gQEAgLTE1NDAsNyArMTU0MCw3IEBAIHN0YXRpYyBpbnQg YWY5MDEzX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFmOTAxM19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWY5MDEzX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWY5 MDEzX3N0YXRlICpzdGF0ZSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAg LTE1NTEsOCArMTU1MSw2IEBAIHN0YXRpYyBpbnQgYWY5MDEzX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ21hcF9leGl0KHN0YXRlLT5yZWdt YXApOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKHN0YXRlKTsKPiAtCj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rl dmljZV9pZCBhZjkwMTNfaWRfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9kdmItZnJvbnRlbmRzL2FmOTAzMy5jCj4gYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMv YWY5MDMzLmMKPiBpbmRleCA3ODVjNDliM2QzMDcuLjgwOGRhN2E5ZmZlNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvYWY5MDMzLmMKPiArKysgYi9kcml2ZXJzL21l ZGlhL2R2Yi1mcm9udGVuZHMvYWY5MDMzLmMKPiBAQCAtMTE2Myw3ICsxMTYzLDcgQEAgc3RhdGlj IGludCBhZjkwMzNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWY5MDMzX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhZjkwMzNfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBhZjkwMzNfZGV2ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBA IC0xMTcxLDggKzExNzEsNiBAQCBzdGF0aWMgaW50IGFmOTAzM19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ21hcF9leGl0KGRldi0+ cmVnbWFwKTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rldmlj ZV9pZCBhZjkwMzNfaWRfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9k dmItZnJvbnRlbmRzL2F1ODUyMl9kZWNvZGVyLmMKPiBiL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250 ZW5kcy9hdTg1MjJfZGVjb2Rlci5jCj4gaW5kZXggOGNkY2EwNTFlNTFiLi5lNGY5OWJkNDY4Y2Ig MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL2F1ODUyMl9kZWNvZGVy LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvYXU4NTIyX2RlY29kZXIuYwo+ IEBAIC03NTgsMTMgKzc1OCwxMiBAQCBzdGF0aWMgaW50IGF1ODUyMl9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgYXU4NTIyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ ICtzdGF0aWMgdm9pZCBhdTg1MjJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2Ns aWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rl cl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKHNk LT5jdHJsX2hhbmRsZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBhdTg1MjJfcmVsZWFzZV9zdGF0ZSh0 b19zdGF0ZShzZCkpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYXU4NTIyX2lkW10gPSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9jeGQyMDk5LmMKPiBiL2RyaXZlcnMv bWVkaWEvZHZiLWZyb250ZW5kcy9jeGQyMDk5LmMKPiBpbmRleCAxYzgyMDdhYjg5ODguLmZiYzY2 NmZhMDRlYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvY3hkMjA5 OS5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL2N4ZDIwOTkuYwo+IEBAIC02 NjQsMTQgKzY2NCwxMiBAQCBzdGF0aWMgaW50IGN4ZDIwOTlfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4g LXN0YXRpYyBpbnQgY3hkMjA5OV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgY3hkMjA5OV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDC oHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGN4ZCAqY2kgPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZWdtYXBfZXhpdChjaS0+cmVnbWFwKTsK PiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoY2kpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGN4ZDIw OTlfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL2N4 ZDI4MjByX2NvcmUuYwo+IGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL2N4ZDI4MjByX2Nv cmUuYwo+IGluZGV4IGIxNjE4MzM5ZWVjMC4uNWQ5ODIyMmY5ZGYwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9jeGQyODIwcl9jb3JlLmMKPiArKysgYi9kcml2ZXJz L21lZGlhL2R2Yi1mcm9udGVuZHMvY3hkMjgyMHJfY29yZS5jCj4gQEAgLTcwNSw3ICs3MDUsNyBA QCBzdGF0aWMgaW50IGN4ZDI4MjByX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGN4 ZDI4MjByX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBj eGQyODIwcl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IGN4ZDI4MjByX3ByaXYgKnByaXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoAo+IEBAIC03MjEsOCArNzIxLDYgQEAgc3RhdGljIGludCBjeGQyODIwcl9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZWdt YXBfZXhpdChwcml2LT5yZWdtYXBbMF0pOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKHBy aXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGN4ZDI4MjByX2lkX3RhYmxlW10gPSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9kdmItcGxsLmMKPiBiL2RyaXZl cnMvbWVkaWEvZHZiLWZyb250ZW5kcy9kdmItcGxsLmMKPiBpbmRleCBkNDViNGRkYzhmOTEuLmJh ZjJhMzc4ZTU2NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvZHZi LXBsbC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL2R2Yi1wbGwuYwo+IEBA IC04OTksMTQgKzg5OSwxMyBAQCBkdmJfcGxsX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQsIGNvbnN0Cj4gc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGR2Yl9wbGxfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGR2Yl9wbGxfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkdmJfZnJv bnRlbmQgKmZlID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBkdmJfcGxsX3ByaXYgKnByaXYgPSBmZS0+dHVuZXJfcHJpdjsKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqBpZGFfc2ltcGxlX3JlbW92ZSgmcGxsX2lkYSwgcHJpdi0+bnIpOwo+IMKgwqDC oMKgwqDCoMKgwqBkdmJfcGxsX3JlbGVhc2UoZmUpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gwqAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRl bmRzL2xnZHQzMzA2YS5jCj4gYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbGdkdDMzMDZh LmMKPiBpbmRleCAxMzZiNzZjYjQ4MDcuLjQyNDMxMWFmYjJiZiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbGdkdDMzMDZhLmMKPiArKysgYi9kcml2ZXJzL21lZGlh L2R2Yi1mcm9udGVuZHMvbGdkdDMzMDZhLmMKPiBAQCAtMjIyNiw3ICsyMjI2LDcgQEAgc3RhdGlj IGludCBsZ2R0MzMwNmFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbGdkdDMzMDZh X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBsZ2R0MzMw NmFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoHN0cnVjdCBsZ2R0MzMwNmFfc3RhdGUgKnN0YXRlID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqAKPiBAQCAtMjIzNyw4ICsyMjM3LDYgQEAgc3RhdGljIGludCBsZ2R0MzMwNmFf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqBrZnJlZShzdGF0ZS0+Y2ZnKTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoc3RhdGUpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0 cnVjdCBpMmNfZGV2aWNlX2lkIGxnZHQzMzA2YV9pZF90YWJsZVtdID0gewo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbGdkdDMzMHguYwo+IGIvZHJpdmVycy9tZWRp YS9kdmItZnJvbnRlbmRzL2xnZHQzMzB4LmMKPiBpbmRleCBkYTNhOGM1ZTE4ZDguLmVhOWFlMjJm ZDIwMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbGdkdDMzMHgu Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9sZ2R0MzMweC5jCj4gQEAgLTk3 NCwxNSArOTc0LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHZiX2Zyb250ZW5kX29wcwo+IGxn ZHQzMzAzX29wcyA9IHsKPiDCoMKgwqDCoMKgwqDCoMKgLnJlbGVhc2XCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCA9IGxnZHQzMzB4X3JlbGVhc2UsCj4gwqB9Owo+IMKgCj4gLXN0YXRpYyBpbnQg bGdkdDMzMHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lk IGxnZHQzMzB4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgbGdkdDMzMHhfc3RhdGUgKnN0YXRlID0gaTJjX2dldF9jbGllbnRk YXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZGV2X2RiZygmY2xpZW50LT5kZXYs ICJcbiIpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKHN0YXRlKTsKPiAtCj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJj X2RldmljZV9pZCBsZ2R0MzMweF9pZF90YWJsZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL2R2Yi1mcm9udGVuZHMvbTg4ZHMzMTAzLmMKPiBiL2RyaXZlcnMvbWVkaWEvZHZiLWZy b250ZW5kcy9tODhkczMxMDMuYwo+IGluZGV4IGJjZTBmNDJmM2QxOS4uNGU4NDRiMmVmNTk3IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9tODhkczMxMDMuYwo+ICsr KyBiL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9tODhkczMxMDMuYwo+IEBAIC0xOTE0LDcg KzE5MTQsNyBAQCBzdGF0aWMgaW50IG04OGRzMzEwM19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCBtODhkczMxMDNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIG04OGRzMzEwM19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDC oHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG04OGRzMzEwM19kZXYgKmRldiA9IGkyY19nZXRf Y2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTE5MjYsNyArMTkyNiw2IEBAIHN0YXRpYyBp bnQgbTg4ZHMzMTAzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKg wqDCoMKgwqDCoGkyY19tdXhfZGVsX2FkYXB0ZXJzKGRldi0+bXV4Yyk7Cj4gwqAKPiDCoMKgwqDC oMKgwqDCoMKga2ZyZWUoZGV2KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG04OGRzMzEwM19pZF90YWJs ZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbW44ODQ0 M3guYwo+IGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL21uODg0NDN4LmMKPiBpbmRleCBm ZmYyMTJjMGJmM2IuLjQ1MjU3MWIzODBiNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2R2 Yi1mcm9udGVuZHMvbW44ODQ0M3guYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5k cy9tbjg4NDQzeC5jCj4gQEAgLTc2MiwxNSArNzYyLDEzIEBAIHN0YXRpYyBpbnQgbW44ODQ0M3hf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbW44ODQ0M3hfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1uODg0NDN4X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbW44ODQ0 M3hfcHJpdiAqY2hpcCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKg wqDCoMKgwqDCoG1uODg0NDN4X2Ntbl9wb3dlcl9vZmYoY2hpcCk7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKgaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGNoaXAtPmNsaWVudF90KTsKPiAtCj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgbW44 ODQ0M3hfc3BlYyBtbjg4NDQzeF9zcGVjX3ByaSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t ZWRpYS9kdmItZnJvbnRlbmRzL21uODg0NzIuYwo+IGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRl bmRzL21uODg0NzIuYwo+IGluZGV4IDczOTIyZmM4ZjM5Yy4uMmIwMWNjNjc4ZjdlIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9tbjg4NDcyLmMKPiArKysgYi9kcml2 ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbW44ODQ3Mi5jCj4gQEAgLTY5MSw3ICs2OTEsNyBAQCBz dGF0aWMgaW50IG1uODg0NzJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbW44ODQ3 Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbW44ODQ3 Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IG1uODg0NzJfZGV2ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsK PiDCoAo+IEBAIC03MDYsOCArNzA2LDYgQEAgc3RhdGljIGludCBtbjg4NDcyX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ21hcF9leGl0KGRl di0+cmVnbWFwWzBdKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShkZXYpOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVj dCBpMmNfZGV2aWNlX2lkIG1uODg0NzJfaWRfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL21uODg0NzMuYwo+IGIvZHJpdmVycy9tZWRpYS9kdmIt ZnJvbnRlbmRzL21uODg0NzMuYwo+IGluZGV4IDQ4Mzg5NjllZjczNS4uZjBlY2Y1OTEwYzAyIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9tbjg4NDczLmMKPiArKysg Yi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbW44ODQ3My5jCj4gQEAgLTcyNiw3ICs3MjYs NyBAQCBzdGF0aWMgaW50IG1uODg0NzNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg bW44ODQ3M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg bW44ODQ3M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IG1uODg0NzNfZGV2ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoAo+IEBAIC03NDEsOCArNzQxLDYgQEAgc3RhdGljIGludCBtbjg4NDczX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ21hcF9l eGl0KGRldi0+cmVnbWFwWzBdKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShkZXYpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0 IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG1uODg0NzNfaWRfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL214bDY5Mi5jCj4gYi9kcml2ZXJzL21lZGlh L2R2Yi1mcm9udGVuZHMvbXhsNjkyLmMKPiBpbmRleCBkZDc5NTRlOGY1NTMuLjEyOTYzMGNiZmZm ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbXhsNjkyLmMKPiAr KysgYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbXhsNjkyLmMKPiBAQCAtMTMzNywxNSAr MTMzNywxMyBAQCBzdGF0aWMgaW50IG14bDY5Ml9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRU5PREVWOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgbXhsNjkyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCBteGw2OTJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBteGw2OTJfZGV2ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBkZXYtPmZlLmRlbW9kdWxhdG9yX3By aXYgPSBOVUxMOwo+IMKgwqDCoMKgwqDCoMKgwqBpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBO VUxMKTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9p ZCBteGw2OTJfaWRfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIt ZnJvbnRlbmRzL3J0bDI4MzAuYwo+IGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3J0bDI4 MzAuYwo+IGluZGV4IGU2YjgzNjdjOGNjZS4uZTBmYmY0MTMxNmFlIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9ydGwyODMwLmMKPiArKysgYi9kcml2ZXJzL21lZGlh L2R2Yi1mcm9udGVuZHMvcnRsMjgzMC5jCj4gQEAgLTg2NSw3ICs4NjUsNyBAQCBzdGF0aWMgaW50 IHJ0bDI4MzBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcnRsMjgzMF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcnRsMjgzMF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHJ0bDI4MzBfZGV2ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBA IC04NzQsOCArODc0LDYgQEAgc3RhdGljIGludCBydGwyODMwX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGkyY19tdXhfZGVsX2FkYXB0ZXJzKGRl di0+bXV4Yyk7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ21hcF9leGl0KGRldi0+cmVnbWFwKTsKPiDC oMKgwqDCoMKgwqDCoMKga2ZyZWUoZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBydGwyODMw X2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5k cy9ydGwyODMyLmMKPiBiL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9ydGwyODMyLmMKPiBp bmRleCBkY2JlYjlmNWUxMmEuLjRmYTg4NGVkYTVkNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21l ZGlhL2R2Yi1mcm9udGVuZHMvcnRsMjgzMi5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9kdmItZnJv bnRlbmRzL3J0bDI4MzIuYwo+IEBAIC0xMTEwLDcgKzExMTAsNyBAQCBzdGF0aWMgaW50IHJ0bDI4 MzJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcnRsMjgzMl9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcnRsMjgzMl9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHJ0bDI4 MzJfZGV2ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0xMTIz LDggKzExMjMsNiBAQCBzdGF0aWMgaW50IHJ0bDI4MzJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmVnbWFwX2V4aXQoZGV2LT5yZWdtYXApOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQg cnRsMjgzMl9pZF90YWJsZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi1m cm9udGVuZHMvc2kyMTY1LmMKPiBiL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9zaTIxNjUu Ywo+IGluZGV4IGViZWUyMzBhZmI3Yi4uODZiMGQ1OTE2OWRkIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWVkaWEvZHZiLWZyb250ZW5kcy9zaTIxNjUuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvZHZi LWZyb250ZW5kcy9zaTIxNjUuYwo+IEBAIC0xMjc0LDE0ICsxMjc0LDEzIEBAIHN0YXRpYyBpbnQg c2kyMTY1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHNpMjE2NV9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgc2kyMTY1X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgc2ky MTY1X3N0YXRlICpzdGF0ZSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoGRldl9kYmcoJmNsaWVudC0+ZGV2LCAiXG4iKTsKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqBrZnJlZShzdGF0ZSk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBzaTIxNjVfaWRfdGFibGVb XSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3NpMjE2OC5j Cj4gYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvc2kyMTY4LmMKPiBpbmRleCAxOTZlMDI4 YTY2MTcuLjgxNTdkZjQ1NzBkMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9u dGVuZHMvc2kyMTY4LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvc2kyMTY4 LmMKPiBAQCAtNzc0LDcgKzc3NCw3IEBAIHN0YXRpYyBpbnQgc2kyMTY4X3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IHNpMjE2OF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgc2kyMTY4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgc2kyMTY4X2RldiAqZGV2ID0gaTJjX2dl dF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtNzg2LDggKzc4Niw2IEBAIHN0YXRpYyBp bnQgc2kyMTY4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoGRldi0+ZmUuZGVtb2R1bGF0b3JfcHJpdiA9IE5VTEw7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKga2ZyZWUoZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBzaTIxNjhfaWRfdGFibGVb XSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3NwMi5jIGIv ZHJpdmVycy9tZWRpYS9kdmItCj4gZnJvbnRlbmRzL3NwMi5jCj4gaW5kZXggOTkyZjIyMTY3ZmJl Li4yN2U3MDM3ZTEzMGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRz L3NwMi5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3NwMi5jCj4gQEAgLTM5 OCwxNCArMzk4LDEzIEBAIHN0YXRpYyBpbnQgc3AyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCBzcDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lk IHNwMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IHNwMiAqcyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4g wqDCoMKgwqDCoMKgwqDCoGRldl9kYmcoJmNsaWVudC0+ZGV2LCAiXG4iKTsKPiDCoMKgwqDCoMKg wqDCoMKgc3AyX2V4aXQoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUocyk7Cj4gLcKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aTJjX2RldmljZV9pZCBzcDJfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9k dmItZnJvbnRlbmRzL3N0djA5MHguYwo+IGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3N0 djA5MHguYwo+IGluZGV4IDkwZDI0MTMxZDMzNS4uMGE2MDBjMWQ3ZDFiIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9zdHYwOTB4LmMKPiArKysgYi9kcml2ZXJzL21l ZGlhL2R2Yi1mcm9udGVuZHMvc3R2MDkweC5jCj4gQEAgLTUwMzIsMTIgKzUwMzIsMTEgQEAgc3Rh dGljIGludCBzdHYwOTB4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHN0djA5MHhf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHN0djA5MHhf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBzdHYwOTB4X3N0YXRlICpzdGF0ZSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHN0djA5MHhfcmVsZWFzZSgmc3RhdGUtPmZyb250ZW5k KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RydWN0IGR2Yl9m cm9udGVuZCAqc3R2MDkweF9hdHRhY2goc3RydWN0IHN0djA5MHhfY29uZmlnICpjb25maWcsCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9zdHY2MTEweC5jCj4gYi9k cml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvc3R2NjExMHguYwo+IGluZGV4IDUwMTJkMDIzMTY1 Mi4uZmJjNGRiZDYyMTUxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5k cy9zdHY2MTEweC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3N0djYxMTB4 LmMKPiBAQCAtNDM2LDEyICs0MzYsMTEgQEAgc3RhdGljIGludCBzdHY2MTEweF9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgc3R2NjExMHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIHN0djYxMTB4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgc3R2NjExMHhfc3RhdGUgKnN0 djYxMTB4ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgc3R2NjExMHhfcmVsZWFzZShzdHY2MTEweC0+ZnJvbnRlbmQpOwo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBjb25zdCBzdHJ1Y3Qgc3R2NjExMHhfZGV2Y3RsICpz dHY2MTEweF9hdHRhY2goc3RydWN0IGR2Yl9mcm9udGVuZAo+ICpmZSwKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3RjOTA1MjIuYwo+IGIvZHJpdmVycy9tZWRpYS9k dmItZnJvbnRlbmRzL3RjOTA1MjIuYwo+IGluZGV4IGU4MzgzNmIyOTcxNS4uYzIyZDJhMmIyYTQ1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy90YzkwNTIyLmMKPiAr KysgYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvdGM5MDUyMi5jCj4gQEAgLTgxOSwxNCAr ODE5LDEzIEBAIHN0YXRpYyBpbnQgdGM5MDUyMl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCB0YzkwNTIyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMg dm9pZCB0YzkwNTIyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdGM5MDUyMl9zdGF0ZSAqc3RhdGU7Cj4gwqAKPiDCoMKgwqDC oMKgwqDCoMKgc3RhdGUgPSBjZmdfdG9fc3RhdGUoaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCkp Owo+IMKgwqDCoMKgwqDCoMKgwqBpMmNfZGVsX2FkYXB0ZXIoJnN0YXRlLT50dW5lcl9pMmMpOwo+ IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShzdGF0ZSk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVu ZHMvdGRhMTAwNzEuYwo+IGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3RkYTEwMDcxLmMK PiBpbmRleCA2ODVjMGFjNzE4MTkuLmQxMDk4ZWYyMGE4YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L21lZGlhL2R2Yi1mcm9udGVuZHMvdGRhMTAwNzEuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvZHZi LWZyb250ZW5kcy90ZGExMDA3MS5jCj4gQEAgLTEyMjEsMTQgKzEyMjEsMTMgQEAgc3RhdGljIGlu dCB0ZGExMDA3MV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0ZGExMDA3MV9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdGRhMTAwNzFfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCB0ZGExMDA3MV9kZXYgKmRldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoGRldl9kYmcoJmNsaWVudC0+ZGV2LCAiXG4iKTsKPiDCoAo+IMKg wqDCoMKgwqDCoMKgwqBrZnJlZShkZXYpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgdGRhMTAwNzFfaWRf dGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3Rz MjAyMC5jCj4gYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvdHMyMDIwLmMKPiBpbmRleCAz ZTM4MzkxMmJjZmQuLjAyMzM4MjU2Yjk3NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2R2 Yi1mcm9udGVuZHMvdHMyMDIwLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMv dHMyMDIwLmMKPiBAQCAtNjk2LDcgKzY5Niw3IEBAIHN0YXRpYyBpbnQgdHMyMDIwX3Byb2JlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsK PiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRzMjAyMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHMyMDIwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdHMyMDIwX3ByaXYgKmRldiA9 IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTcwOCw3ICs3MDgsNiBAQCBz dGF0aWMgaW50IHRzMjAyMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ21hcF9leGl0KGRldi0+cmVnbWFwKTsKPiDCoMKgwqDCoMKg wqDCoMKga2ZyZWUoZGV2KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHRzMjAyMF9pZF90YWJsZVtdID0g ewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9hZDU4MjAuYyBiL2RyaXZlcnMvbWVk aWEvaTJjL2FkNTgyMC5jCj4gaW5kZXggMjk1OGE0Njk0NDYxLi41MTZkZTI3OGNjNDkgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvYWQ1ODIwLmMKPiArKysgYi9kcml2ZXJzL21lZGlh L2kyYy9hZDU4MjAuYwo+IEBAIC0zNDIsNyArMzQyLDcgQEAgc3RhdGljIGludCBhZDU4MjBfcHJv YmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4g cmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWQ1ODIwX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhZDU4MjBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAq c3ViZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCBhZDU4MjBfZGV2aWNlICpjb2lsID0gdG9fYWQ1ODIwX2RldmljZShzdWJkZXYpOwo+IEBA IC0zNTEsNyArMzUxLDYgQEAgc3RhdGljIGludCBhZDU4MjBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgm Y29pbC0+Y3RybHMpOwo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmY29p bC0+c3ViZGV2LmVudGl0eSk7Cj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJmNvaWwt PnBvd2VyX2xvY2spOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYWQ1ODIwX2lkX3RhYmxlW10gPSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2FkOTM4OWIuYwo+IGIvZHJpdmVycy9tZWRp YS9pMmMvYWQ5Mzg5Yi5jCj4gaW5kZXggODY3OWE0NGU2NDEzLi40YTI1NWE0OTI5MTggMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvYWQ5Mzg5Yi5jCj4gKysrIGIvZHJpdmVycy9tZWRp YS9pMmMvYWQ5Mzg5Yi5jCj4gQEAgLTExNzQsNyArMTE3NCw3IEBAIHN0YXRpYyBpbnQgYWQ5Mzg5 Yl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsIGNvbnN0IHN0cnVjdCBpMmNfZGV2 aWNlX2lkICoKPiDCoAo+IMKgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tLS0gKi8KPiDCoAo+IC1zdGF0aWMg aW50IGFkOTM4OWJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2 b2lkIGFkOTM4OWJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGFkOTM4OWJfc3RhdGUgKnN0YXRlID0g Z2V0X2FkOTM4OWJfc3RhdGUoc2QpOwo+IEBAIC0xMTkyLDcgKzExOTIsNiBAQCBzdGF0aWMgaW50 IGFkOTM4OWJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKg wqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKg wqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc2QtPmVudGl0eSk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0 bDJfY3RybF9oYW5kbGVyX2ZyZWUoc2QtPmN0cmxfaGFuZGxlcik7Cj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gLS0tLS0tICovCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2FkcDE2NTMuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMv YWRwMTY1My5jCj4gaW5kZXggNTIyYTBiMTBlNDE1Li4xZjM1MzE1N2RmMDcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9tZWRpYS9pMmMvYWRwMTY1My5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMv YWRwMTY1My5jCj4gQEAgLTUxMCw3ICs1MTAsNyBAQCBzdGF0aWMgaW50IGFkcDE2NTNfcHJvYmUo c3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0 Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWRwMTY1M19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWRwMTY1M19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpz dWJkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGFkcDE2NTNfZmxhc2ggKmZsYXNoID0gdG9fYWRwMTY1M19mbGFzaChzdWJkZXYpOwo+IEBA IC01MTgsOCArNTE4LDYgQEAgc3RhdGljIGludCBhZHAxNjUzX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJf c3ViZGV2KCZmbGFzaC0+c3ViZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRs ZXJfZnJlZSgmZmxhc2gtPmN0cmxzKTsKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5X2Ns ZWFudXAoJmZsYXNoLT5zdWJkZXYuZW50aXR5KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBhZHAx NjUzX2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2Fkdjcx NzAuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE3MC5jCj4gaW5kZXggNzE0ZTMxZjk5M2Ux Li42MWEyZjg3ZDNjNjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE3MC5j Cj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE3MC5jCj4gQEAgLTM2OCwxMiArMzY4LDEx IEBAIHN0YXRpYyBpbnQgYWR2NzE3MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQs Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWR2 NzE3MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWR2 NzE3MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNk KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiAtLS0tLS0gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE3NS5jCj4g Yi9kcml2ZXJzL21lZGlhL2kyYy9hZHY3MTc1LmMKPiBpbmRleCAxODEzZjY3ZjBmZTEuLmI1ODY4 OTcyODI0MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9hZHY3MTc1LmMKPiArKysg Yi9kcml2ZXJzL21lZGlhL2kyYy9hZHY3MTc1LmMKPiBAQCAtNDIzLDEyICs0MjMsMTEgQEAgc3Rh dGljIGludCBhZHY3MTc1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBhZHY3MTc1X3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhZHY3MTc1X3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAvKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0t LSAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9hZHY3MTgwLmMKPiBiL2RyaXZl cnMvbWVkaWEvaTJjL2FkdjcxODAuYwo+IGluZGV4IGUzYTU3YzE3OGM2Yi4uZjg1ZTViZjIyOGYx IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL2FkdjcxODAuYwo+ICsrKyBiL2RyaXZl cnMvbWVkaWEvaTJjL2FkdjcxODAuYwo+IEBAIC0xNTExLDcgKzE1MTEsNyBAQCBzdGF0aWMgaW50 IGFkdjcxODBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWR2NzE4MF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWR2NzE4MF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgYWR2NzE4MF9zdGF0ZSAqc3RhdGUgPSB0b19zdGF0ZShzZCk7Cj4gQEAg LTE1MzEsOCArMTUzMSw2IEBAIHN0YXRpYyBpbnQgYWR2NzE4MF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBhZHY3MTgwX3NldF9wb3dlcl9waW4o c3RhdGUsIGZhbHNlKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZzdGF0 ZS0+bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKg c3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGFkdjcxODBfaWRbXSA9IHsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE4My5jCj4gYi9kcml2ZXJzL21lZGlhL2ky Yy9hZHY3MTgzLmMKPiBpbmRleCBiYTc0NmExOWZkMzkuLjMxM2M3MDZlODMzNSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL21lZGlhL2kyYy9hZHY3MTgzLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2ky Yy9hZHY3MTgzLmMKPiBAQCAtNjEzLDEzICs2MTMsMTIgQEAgc3RhdGljIGludCBhZHY3MTgzX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBhZHY3MTgzX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhZHY3MTgzX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYg KnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg djRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwy X2N0cmxfaGFuZGxlcl9mcmVlKHNkLT5jdHJsX2hhbmRsZXIpOwo+IC3CoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQg YWR2NzE4M19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9hZHY3MzQz LmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL2FkdjczNDMuYwo+IGluZGV4IDYzZTk0ZGZjYjVkMy4u N2U4NDg2OWQyNDM0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL2FkdjczNDMuYwo+ ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2FkdjczNDMuYwo+IEBAIC00OTIsMTUgKzQ5MiwxMyBA QCBzdGF0aWMgaW50IGFkdjczNDNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWR2 NzM0M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWR2 NzM0M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWR2NzM0M19zdGF0ZSAqc3RhdGUgPSB0b19zdGF0 ZShzZCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9hc3luY191bnJlZ2lzdGVyX3N1YmRl digmc3RhdGUtPnNkKTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgm c3RhdGUtPmhkbCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYWR2NzM0M19pZFtdID0gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9hZHY3MzkzLmMKPiBiL2RyaXZlcnMvbWVkaWEv aTJjL2FkdjczOTMuYwo+IGluZGV4IGI2MjM0YzgyMzFjOS4uZmI1ZmVmYTgzYjE4IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL2FkdjczOTMuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEv aTJjL2FkdjczOTMuYwo+IEBAIC00MzcsMTUgKzQzNywxMyBAQCBzdGF0aWMgaW50IGFkdjczOTNf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWR2NzM5M19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWR2NzM5M19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3Vi ZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgYWR2NzM5M19zdGF0ZSAqc3RhdGUgPSB0b19zdGF0ZShzZCk7Cj4gwqAKPiDCoMKgwqDC oMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDC oMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZzdGF0ZS0+aGRsKTsKPiAtCj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rl dmljZV9pZCBhZHY3MzkzX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJj L2Fkdjc0OHgvYWR2NzQ4eC1jb3JlLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL2Fkdjc0OHgvYWR2 NzQ4eC1jb3JlLmMKPiBpbmRleCA0ZTU0MTQ4MTQ3YjkuLjQ0OThkNzhhMjM1NyAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL21lZGlhL2kyYy9hZHY3NDh4L2Fkdjc0OHgtY29yZS5jCj4gKysrIGIvZHJp dmVycy9tZWRpYS9pMmMvYWR2NzQ4eC9hZHY3NDh4LWNvcmUuYwo+IEBAIC04MTUsNyArODE1LDcg QEAgc3RhdGljIGludCBhZHY3NDh4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFk djc0OHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGFk djc0OHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBhZHY3NDh4X3N0YXRlICpzdGF0ZSA9IGkyY19nZXRfY2xpZW50ZGF0YShj bGllbnQpOwo+IMKgCj4gQEAgLTgyOCw4ICs4MjgsNiBAQCBzdGF0aWMgaW50IGFkdjc0OHhfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgYWR2NzQ4 eF91bnJlZ2lzdGVyX2NsaWVudHMoc3RhdGUpOwo+IMKgwqDCoMKgwqDCoMKgwqBhZHY3NDh4X2R0 X2NsZWFudXAoc3RhdGUpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZzdGF0ZS0+ bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYWR2NzQ4eF9vZl90YWJsZVtdID0gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9hZHY3NTExLXY0bDIuYwo+IGIvZHJpdmVycy9t ZWRpYS9pMmMvYWR2NzUxMS12NGwyLmMKPiBpbmRleCAyMDJlMGNkODNmOTAuLjQ5YWNhNTc5NTc2 YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9hZHY3NTExLXY0bDIuYwo+ICsrKyBi L2RyaXZlcnMvbWVkaWEvaTJjL2Fkdjc1MTEtdjRsMi5jCj4gQEAgLTE5MjMsNyArMTkyMyw3IEBA IHN0YXRpYyBpbnQgYWR2NzUxMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsIGNv bnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICoKPiDCoAo+IMKgLyogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tLS0g Ki8KPiDCoAo+IC1zdGF0aWMgaW50IGFkdjc1MTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIGFkdjc1MTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGFkdjc1 MTFfc3RhdGUgKnN0YXRlID0gZ2V0X2Fkdjc1MTFfc3RhdGUoc2QpOwo+IEBAIC0xOTQzLDcgKzE5 NDMsNiBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2Qp Owo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc2QtPmVudGl0eSk7Cj4g wqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoc2QtPmN0cmxfaGFuZGxlcik7 Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g LS0tLS0tICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2Fkdjc2MDQuYwo+IGIv ZHJpdmVycy9tZWRpYS9pMmMvYWR2NzYwNC5jCj4gaW5kZXggYmIwYzhmYzZkMzgzLi5lNjNhYmY5 M2NjYWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzYwNC5jCj4gKysrIGIv ZHJpdmVycy9tZWRpYS9pMmMvYWR2NzYwNC5jCj4gQEAgLTM2NjEsNyArMzY2MSw3IEBAIHN0YXRp YyBpbnQgYWR2NzZ4eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqAKPiDC oC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4gLS0tLS0tICovCj4gwqAKPiAtc3RhdGljIGludCBhZHY3Nnh4X3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBhZHY3Nnh4X3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBhZHY3Nnh4X3N0YXRlICpzdGF0ZSA9IHRvX3N0YXRlKHNkKTsKPiBA QCAtMzY3OCw3ICszNjc4LDYgQEAgc3RhdGljIGludCBhZHY3Nnh4X3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG1lZGlhX2VudGl0eV9jbGVhbnVw KCZzZC0+ZW50aXR5KTsKPiDCoMKgwqDCoMKgwqDCoMKgYWR2NzZ4eF91bnJlZ2lzdGVyX2NsaWVu dHModG9fc3RhdGUoc2QpKTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJl ZShzZC0+Y3RybF9oYW5kbGVyKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tLS0gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9pMmMvYWR2Nzg0Mi5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy9hZHY3ODQyLmMKPiBpbmRleCAy MmNhYTA3MDI3M2IuLmE4ZGQ5Mjk0OGRmMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2ky Yy9hZHY3ODQyLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9hZHY3ODQyLmMKPiBAQCAtMzU5 Myw3ICszNTkzLDcgQEAgc3RhdGljIGludCBhZHY3ODQyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCwKPiDCoAo+IMKgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tLS0gKi8KPiDCoAo+IC1zdGF0 aWMgaW50IGFkdjc4NDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRp YyB2b2lkIGFkdjc4NDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGFkdjc4NDJfc3RhdGUgKnN0YXRl ID0gdG9fc3RhdGUoc2QpOwo+IEBAIC0zNjA0LDcgKzM2MDQsNiBAQCBzdGF0aWMgaW50IGFkdjc4 NDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKg bWVkaWFfZW50aXR5X2NsZWFudXAoJnNkLT5lbnRpdHkpOwo+IMKgwqDCoMKgwqDCoMKgwqBhZHY3 ODQyX3VucmVnaXN0ZXJfY2xpZW50cyhzZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9o YW5kbGVyX2ZyZWUoc2QtPmN0cmxfaGFuZGxlcik7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gLS0tLS0tICovCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbWVkaWEvaTJjL2FrNzM3NS5jIGIvZHJpdmVycy9tZWRpYS9pMmMvYWs3Mzc1LmMKPiBp bmRleCA0MGIxYTRhYTg0NmMuLjFhZjlmNjk4ZWVjZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21l ZGlhL2kyYy9hazczNzUuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2FrNzM3NS5jCj4gQEAg LTE2OSw3ICsxNjksNyBAQCBzdGF0aWMgaW50IGFrNzM3NV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCBhazczNzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIGFrNzM3NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50 ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWs3Mzc1X2RldmljZSAqYWs3 Mzc1X2RldiA9IHNkX3RvX2FrNzM3NV92Y20oc2QpOwo+IEBAIC0xNzcsOCArMTc3LDYgQEAgc3Rh dGljIGludCBhazczNzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgYWs3Mzc1X3N1YmRldl9jbGVhbnVwKGFrNzM3NV9kZXYpOwo+IMKgwqDCoMKg wqDCoMKgwqBwbV9ydW50aW1lX2Rpc2FibGUoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDC oMKgcG1fcnVudGltZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRldik7Cj4gLQo+IC3CoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAvKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL2kyYy9hazg4MXguYyBiL2RyaXZlcnMvbWVkaWEvaTJjL2FrODgxeC5jCj4gaW5kZXgg ZGM1NjlkNWE0ZDlkLi4wMzcwYWQ2YjY4MTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9p MmMvYWs4ODF4LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9hazg4MXguYwo+IEBAIC0yOTcs MTMgKzI5NywxMSBAQCBzdGF0aWMgaW50IGFrODgxeF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRp YyBpbnQgYWs4ODF4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMg dm9pZCBhazg4MXhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCBhazg4MXggKmFrODgxeCA9IHRvX2FrODgxeChjbGllbnQpOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KCZhazg4 MXgtPnN1YmRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYWs4ODF4X2lkW10gPSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2J0ODE5LmMgYi9kcml2ZXJzL21lZGlhL2kyYy9i dDgxOS5jCj4gaW5kZXggNzNiYzUwYzkxOWQ3Li40ZDliYjZlYjdkNjUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZWRpYS9pMmMvYnQ4MTkuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2J0ODE5 LmMKPiBAQCAtNDQ2LDE0ICs0NDYsMTMgQEAgc3RhdGljIGludCBidDgxOV9wcm9iZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gLXN0YXRpYyBpbnQgYnQ4MTlfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIGJ0ODE5X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBidDgxOSAqZGVjb2Rl ciA9IHRvX2J0ODE5KHNkKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2RldmljZV91bnJl Z2lzdGVyX3N1YmRldihzZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2Zy ZWUoJmRlY29kZXItPmhkbCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gLS0tLS0tICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv aTJjL2J0ODU2LmMgYi9kcml2ZXJzL21lZGlhL2kyYy9idDg1Ni5jCj4gaW5kZXggYzEzNGZkYTI3 MGExLi43MDQ0M2VmMWFjNDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvYnQ4NTYu Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2J0ODU2LmMKPiBAQCAtMjIzLDEyICsyMjMsMTEg QEAgc3RhdGljIGludCBidDg1Nl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4g wqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYnQ4NTZf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGJ0ODU2X3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0 IGkyY19kZXZpY2VfaWQgYnQ4NTZfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9pMmMvYnQ4NjYuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL2J0ODY2LmMKPiBpbmRleCAxYThkZjlm MThmZmIuLmMyNTA4Y2JhZmQwMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9idDg2 Ni5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvYnQ4NjYuYwo+IEBAIC0xOTAsMTIgKzE5MCwx MSBAQCBzdGF0aWMgaW50IGJ0ODY2X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBidDg2 Nl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYnQ4NjZf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTJjX2RldmljZV9pZCBidDg2Nl9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL2kyYy9jY3MvY2NzLWNvcmUuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvY2NzL2Njcy1jb3Jl LmMKPiBpbmRleCA3NjA5YWRkMmFmZjQuLjRhMTRkN2U1ZDlmMiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21lZGlhL2kyYy9jY3MvY2NzLWNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2Nj cy9jY3MtY29yZS5jCj4gQEAgLTM2NjUsNyArMzY2NSw3IEBAIHN0YXRpYyBpbnQgY2NzX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBydmFs Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY2NzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCBjY3NfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc3ViZGV2ID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBjY3Nf c2Vuc29yICpzZW5zb3IgPSB0b19jY3Nfc2Vuc29yKHN1YmRldik7Cj4gQEAgLTM2ODcsOCArMzY4 Nyw2IEBAIHN0YXRpYyBpbnQgY2NzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKHNlbnNvci0+Y2NzX2xpbWl0cyk7Cj4gwqDCoMKgwqDC oMKgwqDCoGt2ZnJlZShzZW5zb3ItPnNkYXRhLmJhY2tpbmcpOwo+IMKgwqDCoMKgwqDCoMKgwqBr dmZyZWUoc2Vuc29yLT5tZGF0YS5iYWNraW5nKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgY2NzX2RldmljZSBzbWlhX2Rl dmljZSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvY3MzMzA4LmMgYi9kcml2 ZXJzL21lZGlhL2kyYy9jczMzMDguYwo+IGluZGV4IGViZTU1ZTI2MWJmZi4uZDkwMWE1OTg4M2E5 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL2NzMzMwOC5jCj4gKysrIGIvZHJpdmVy cy9tZWRpYS9pMmMvY3MzMzA4LmMKPiBAQCAtOTksMTMgKzk5LDEyIEBAIHN0YXRpYyBpbnQgY3Mz MzA4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoAo+IMKgLyogLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KPiAtLS0tLS0gKi8KPiDCoAo+IC1zdGF0aWMgaW50IGNzMzMwOF9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgY3MzMzA4X3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJk ZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqBr ZnJlZShzZCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gLS0tLS0tICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2NzNTM0 NS5jIGIvZHJpdmVycy9tZWRpYS9pMmMvY3M1MzQ1LmMKPiBpbmRleCBmNmRkNWVkZjc3ZGQuLjU5 MWIxZTdiMjRlZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9jczUzNDUuYwo+ICsr KyBiL2RyaXZlcnMvbWVkaWEvaTJjL2NzNTM0NS5jCj4gQEAgLTE3OCwxNCArMTc4LDEzIEBAIHN0 YXRpYyBpbnQgY3M1MzQ1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoAo+ IMKgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiAtLS0tLS0gKi8KPiDCoAo+IC1zdGF0aWMgaW50IGNzNTM0NV9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgY3M1MzQ1X3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBjczUzNDVfc3RhdGUgKnN0YXRlID0gdG9fc3RhdGUoc2QpOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNkKTsKPiDC oMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgmc3RhdGUtPmhkbCk7Cj4gLcKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gLS0tLS0t ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2NzNTNsMzJhLmMKPiBiL2RyaXZl cnMvbWVkaWEvaTJjL2NzNTNsMzJhLmMKPiBpbmRleCA5YTQxMTEwNmNmYjMuLjk0NjE1ODlhZWEz MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9jczUzbDMyYS5jCj4gKysrIGIvZHJp dmVycy9tZWRpYS9pMmMvY3M1M2wzMmEuYwo+IEBAIC0xOTAsMTQgKzE5MCwxMyBAQCBzdGF0aWMg aW50IGNzNTNsMzJhX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjczUzbDMyYV9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgY3M1M2wzMmFfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IGNzNTNsMzJhX3N0YXRlICpzdGF0ZSA9IHRvX3N0YXRlKHNkKTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7 Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJnN0YXRlLT5oZGwpOwo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3Ry dWN0IGkyY19kZXZpY2VfaWQgY3M1M2wzMmFfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tZWRpYS9pMmMvY3gyNTg0MC9jeDI1ODQwLWNvcmUuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMv Y3gyNTg0MC9jeDI1ODQwLWNvcmUuYwo+IGluZGV4IGRjMzE5NDRjN2Q1Yi4uZjFhOTc4YWY4MmVm IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL2N4MjU4NDAvY3gyNTg0MC1jb3JlLmMK PiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9jeDI1ODQwL2N4MjU4NDAtY29yZS5jCj4gQEAgLTYw MjYsNyArNjAyNiw3IEBAIHN0YXRpYyBpbnQgY3gyNTg0MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgY3gyNTg0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3Rh dGljIHZvaWQgY3gyNTg0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50 ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgY3gyNTg0MF9zdGF0ZSAqc3Rh dGUgPSB0b19zdGF0ZShzZCk7Cj4gQEAgLTYwMzQsNyArNjAzNCw2IEBAIHN0YXRpYyBpbnQgY3gy NTg0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKg wqBjeDI1ODQwX2lyX3JlbW92ZShzZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3Vu cmVnaXN0ZXJfc3ViZGV2KHNkKTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJf ZnJlZSgmc3RhdGUtPmhkbCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBjeDI1ODQwX2lkW10gPSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2R3OTcxNC5jIGIvZHJpdmVycy9tZWRpYS9p MmMvZHc5NzE0LmMKPiBpbmRleCAyMDZkNzQzMzhiOWMuLmFmNTk2ODczODNhYSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL21lZGlhL2kyYy9kdzk3MTQuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJj L2R3OTcxNC5jCj4gQEAgLTE5MCw3ICsxOTAsNyBAQCBzdGF0aWMgaW50IGR3OTcxNF9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBydmFs Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgZHc5NzE0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBkdzk3MTRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2Qg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGR3 OTcxNF9kZXZpY2UgKmR3OTcxNF9kZXYgPSBzZF90b19kdzk3MTRfdmNtKHNkKTsKPiBAQCAtMjA2 LDggKzIwNiw2IEBAIHN0YXRpYyBpbnQgZHc5NzE0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGlt ZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoGR3OTcxNF9z dWJkZXZfY2xlYW51cChkdzk3MTRfZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2R3OTc2 OC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvZHc5NzY4LmMKPiBpbmRleCBjMDg2NTgwZWZhYzcuLjBm NDdlZjAxNWExZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9kdzk3NjguYwo+ICsr KyBiL2RyaXZlcnMvbWVkaWEvaTJjL2R3OTc2OC5jCj4gQEAgLTQ5OSw3ICs0OTksNyBAQCBzdGF0 aWMgaW50IGR3OTc2OF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBkdzk3NjhfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGR3OTc2OF9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgZHc5NzY4ICpkdzk3NjggPSBzZF90b19kdzk3Njgoc2QpOwo+IEBA IC01MTEsOCArNTExLDYgQEAgc3RhdGljIGludCBkdzk3NjhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCFwbV9ydW50aW1lX3N0YXR1c19z dXNwZW5kZWQoJmNsaWVudC0+ZGV2KSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGR3OTc2OF9ydW50aW1lX3N1c3BlbmQoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKg cG1fcnVudGltZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRldik7Cj4gLQo+IC3CoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBkdzk3Njhfb2ZfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9p MmMvZHc5ODA3LXZjbS5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy9kdzk4MDctdmNtLmMKPiBpbmRl eCAwMWMzNzI5MjVhODAuLjM1OTk3MjBkYjdlOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlh L2kyYy9kdzk4MDctdmNtLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9kdzk4MDctdmNtLmMK PiBAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyBpbnQgZHc5ODA3X3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJ2YWw7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBkdzk4MDdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIGR3OTgwN19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRf Y2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZHc5ODA3X2Rldmlj ZSAqZHc5ODA3X2RldiA9IHNkX3RvX2R3OTgwN192Y20oc2QpOwo+IEBAIC0yMjQsOCArMjI0LDYg QEAgc3RhdGljIGludCBkdzk4MDdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkK PiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKCZjbGllbnQtPmRldik7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgZHc5ODA3X3N1YmRldl9jbGVhbnVwKGR3OTgwN19kZXYpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyoKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9pMmMvZXQ4ZWs4L2V0OGVrOF9kcml2ZXIuYwo+IGIvZHJpdmVycy9t ZWRpYS9pMmMvZXQ4ZWs4L2V0OGVrOF9kcml2ZXIuYwo+IGluZGV4IDg3M2Q2MTQzMzliYi4uZmY5 YmI5ZmM5N2RkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL2V0OGVrOC9ldDhlazhf ZHJpdmVyLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9ldDhlazgvZXQ4ZWs4X2RyaXZlci5j Cj4gQEAgLTE0NjAsNyArMTQ2MCw3IEBAIHN0YXRpYyBpbnQgZXQ4ZWs4X3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IF9fZXhpdCBldDhlazhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIF9fZXhpdCBldDhlazhfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRl diAqc3ViZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBldDhlazhfc2Vuc29yICpzZW5zb3IgPSB0b19ldDhlazhfc2Vuc29yKHN1YmRldik7 Cj4gQEAgLTE0NzcsOCArMTQ3Nyw2IEBAIHN0YXRpYyBpbnQgX19leGl0IGV0OGVrOF9yZW1vdmUo c3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2FzeW5j X3VucmVnaXN0ZXJfc3ViZGV2KCZzZW5zb3ItPnN1YmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoG1l ZGlhX2VudGl0eV9jbGVhbnVwKCZzZW5zb3ItPnN1YmRldi5lbnRpdHkpOwo+IMKgwqDCoMKgwqDC oMKgwqBtdXRleF9kZXN0cm95KCZzZW5zb3ItPnBvd2VyX2xvY2spOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgZXQ4ZWs4X29mX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv aTJjL2hpNTU2LmMgYi9kcml2ZXJzL21lZGlhL2kyYy9oaTU1Ni5jCj4gaW5kZXggMDU1ZDFhYTg0 MTBlLi5lNDIyYWM3NjA5YjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvaGk1NTYu Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2hpNTU2LmMKPiBAQCAtMTEwMSw3ICsxMTAxLDcg QEAgc3RhdGljIGludCBoaTU1Nl9jaGVja19od2NmZyhzdHJ1Y3QgZGV2aWNlCj4gKmRldikKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGhpNTU2 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBoaTU1Nl9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaGk1NTYgKmhpNTU2ID0gdG9faGk1NTYoc2QpOwo+IEBAIC0x MTExLDggKzExMTEsNiBAQCBzdGF0aWMgaW50IGhpNTU2X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoc2Qt PmN0cmxfaGFuZGxlcik7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJsZSgmY2xp ZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZoaTU1Ni0+bXV0ZXgp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGlu dCBoaTU1Nl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL21lZGlhL2kyYy9oaTg0Ni5jIGIvZHJpdmVycy9tZWRpYS9pMmMvaGk4NDYuYwo+IGlu ZGV4IGFkMzVjM2ZmMzYxMS4uYzViNjk4MjNmMjU3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVk aWEvaTJjL2hpODQ2LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9oaTg0Ni5jCj4gQEAgLTIx NDMsNyArMjE0Myw3IEBAIHN0YXRpYyBpbnQgaGk4NDZfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgaGk4NDZfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRp YyB2b2lkIGhpODQ2X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBoaTg0NiAqaGk4NDYgPSB0b19oaTg0 NihzZCk7Cj4gQEAgLTIxNTgsOCArMjE1OCw2IEBAIHN0YXRpYyBpbnQgaGk4NDZfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9z ZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRldik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhf ZGVzdHJveSgmaGk4NDYtPm11dGV4KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBoaTg0Nl9wbV9vcHMg PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2hpODQ3LmMgYi9kcml2ZXJzL21l ZGlhL2kyYy9oaTg0Ny5jCj4gaW5kZXggN2U4NTM0OWUxODUyLi41YTgyYjE1YTk1MTMgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvaGk4NDcuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEv aTJjL2hpODQ3LmMKPiBAQCAtMjkwMyw3ICsyOTAzLDcgQEAgc3RhdGljIGludCBoaTg0N19jaGVj a19od2NmZyhzdHJ1Y3QgZGV2aWNlCj4gKmRldikKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJl dDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGhpODQ3X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBoaTg0N19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9 IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaGk4 NDcgKmhpODQ3ID0gdG9faGk4NDcoc2QpOwo+IEBAIC0yOTEzLDggKzI5MTMsNiBAQCBzdGF0aWMg aW50IGhpODQ3X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoc2QtPmN0cmxfaGFuZGxlcik7Cj4gwqDCoMKg wqDCoMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJsZSgmY2xpZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDC oMKgwqBtdXRleF9kZXN0cm95KCZoaTg0Ny0+bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBoaTg0N19wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9pbXgyMDgu YyBiL2RyaXZlcnMvbWVkaWEvaTJjL2lteDIwOC5jCj4gaW5kZXggYjk1MTZiMmYxYzE1Li5hMGUx N2JiOWQ0Y2EgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvaW14MjA4LmMKPiArKysg Yi9kcml2ZXJzL21lZGlhL2kyYy9pbXgyMDguYwo+IEBAIC0xMDYxLDcgKzEwNjEsNyBAQCBzdGF0 aWMgaW50IGlteDIwOF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBpbXgyMDhfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGlteDIwOF9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgaW14MjA4ICppbXgyMDggPSB0b19pbXgyMDgoc2QpOwo+IEBAIC0x MDc1LDggKzEwNzUsNiBAQCBzdGF0aWMgaW50IGlteDIwOF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3NldF9zdXNwZW5kZWQo JmNsaWVudC0+ZGV2KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZpbXgy MDgtPmlteDIwOF9teCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgaW14MjA4X3BtX29wcyA9IHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvaW14MjE0LmMgYi9kcml2ZXJzL21lZGlhL2ky Yy9pbXgyMTQuYwo+IGluZGV4IDgzYzE3MzdhYmVlYy4uNzEwYzlmYjUxNWZkIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvbWVkaWEvaTJjL2lteDIxNC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMv aW14MjE0LmMKPiBAQCAtMTA4MCw3ICsxMDgwLDcgQEAgc3RhdGljIGludCBpbXgyMTRfcHJvYmUo c3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0 Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaW14MjE0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpbXgyMTRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2Qg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlt eDIxNCAqaW14MjE0ID0gdG9faW14MjE0KHNkKTsKPiBAQCAtMTA5Myw4ICsxMDkzLDYgQEAgc3Rh dGljIGludCBpbXgyMTRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgcG1fcnVudGltZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRldik7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgmaW14MjE0LT5tdXRleCk7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0 IG9mX2RldmljZV9pZCBpbXgyMTRfb2ZfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tZWRpYS9pMmMvaW14MjE5LmMgYi9kcml2ZXJzL21lZGlhL2kyYy9pbXgyMTkuYwo+IGluZGV4 IGUxMGFmM2Y3NGIzOC4uNzdiZDc5YTU5NTRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEv aTJjL2lteDIxOS5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvaW14MjE5LmMKPiBAQCAtMTU2 Miw3ICsxNTYyLDcgQEAgc3RhdGljIGludCBpbXgyMTlfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgaW14MjE5X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCBpbXgyMTlfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlteDIxOSAqaW14MjE5ID0gdG9f aW14MjE5KHNkKTsKPiBAQCAtMTU3NSw4ICsxNTc1LDYgQEAgc3RhdGljIGludCBpbXgyMTlfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCFw bV9ydW50aW1lX3N0YXR1c19zdXNwZW5kZWQoJmNsaWVudC0+ZGV2KSkKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGlteDIxOV9wb3dlcl9vZmYoJmNsaWVudC0+ZGV2KTsKPiDCoMKg wqDCoMKgwqDCoMKgcG1fcnVudGltZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRldik7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCBpbXgyMTlfZHRfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWVkaWEvaTJjL2lteDI1OC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvaW14MjU4LmMKPiBpbmRl eCBjMjQ5NTA3YWEyZGIuLmVhYjVmYzFlZTJmNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlh L2kyYy9pbXgyNTguYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2lteDI1OC5jCj4gQEAgLTEz MzgsNyArMTMzOCw3IEBAIHN0YXRpYyBpbnQgaW14MjU4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1z dGF0aWMgaW50IGlteDI1OF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3Rh dGljIHZvaWQgaW14MjU4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRk YXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpbXgyNTggKmlteDI1OCA9IHRv X2lteDI1OChzZCk7Cj4gQEAgLTEzNTEsOCArMTM1MSw2IEBAIHN0YXRpYyBpbnQgaW14MjU4X3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlmICgh cG1fcnVudGltZV9zdGF0dXNfc3VzcGVuZGVkKCZjbGllbnQtPmRldikpCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBpbXgyNThfcG93ZXJfb2ZmKCZjbGllbnQtPmRldik7Cj4gwqDC oMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfc2V0X3N1c3BlbmRlZCgmY2xpZW50LT5kZXYpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0 cnVjdCBkZXZfcG1fb3BzIGlteDI1OF9wbV9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvaTJjL2lteDI3NC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvaW14Mjc0LmMKPiBpbmRleCA3 ZGUxZjI5NDhlNTMuLmEwMDc2MWIxZTE4YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2ky Yy9pbXgyNzQuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2lteDI3NC5jCj4gQEAgLTIxNDIs NyArMjE0Miw3IEBAIHN0YXRpYyBpbnQgaW14Mjc0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4g KmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IGlteDI3NF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGlj IHZvaWQgaW14Mjc0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzdGlteDI3NCAqaW14Mjc0ID0gdG9f aW14Mjc0KHNkKTsKPiBAQCAtMjE1Nyw3ICsyMTU3LDYgQEAgc3RhdGljIGludCBpbXgyNzRfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBt ZWRpYV9lbnRpdHlfY2xlYW51cCgmc2QtPmVudGl0eSk7Cj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4 X2Rlc3Ryb3koJmlteDI3NC0+bG9jayk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBpbXgyNzRfcG1fb3BzID0g ewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9pbXgyOTAuYyBiL2RyaXZlcnMvbWVk aWEvaTJjL2lteDI5MC5jCj4gaW5kZXggOTlmMmE1MGQzOWE0Li4xY2U2NGRjZGY3ZjAgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvaW14MjkwLmMKPiArKysgYi9kcml2ZXJzL21lZGlh L2kyYy9pbXgyOTAuYwo+IEBAIC0xMTE5LDcgKzExMTksNyBAQCBzdGF0aWMgaW50IGlteDI5MF9w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBpbXgyOTBfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGlteDI5MF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2 ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgaW14MjkwICppbXgyOTAgPSB0b19pbXgyOTAoc2QpOwo+IEBAIC0xMTM0LDggKzExMzQsNiBA QCBzdGF0aWMgaW50IGlteDI5MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqBpZiAoIXBtX3J1bnRpbWVfc3RhdHVzX3N1c3BlbmRlZChpbXgyOTAt PmRldikpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpbXgyOTBfcG93ZXJfb2Zm KGlteDI5MC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9zZXRfc3VzcGVuZGVk KGlteDI5MC0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlteDI5MF9vZl9tYXRjaFtdID0g ewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9pbXgzMTkuYyBiL2RyaXZlcnMvbWVk aWEvaTJjL2lteDMxOS5jCj4gaW5kZXggYTJiNWEzNGRlNzZiLi4yNDVhMThmYjQwYWQgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvaW14MzE5LmMKPiArKysgYi9kcml2ZXJzL21lZGlh L2kyYy9pbXgzMTkuYwo+IEBAIC0yNTIzLDcgKzI1MjMsNyBAQCBzdGF0aWMgaW50IGlteDMxOV9w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBpbXgzMTlfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGlteDMxOV9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2 ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgaW14MzE5ICppbXgzMTkgPSB0b19pbXgzMTkoc2QpOwo+IEBAIC0yNTM2LDggKzI1MzYsNiBA QCBzdGF0aWMgaW50IGlteDMxOV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3NldF9zdXNwZW5kZWQoJmNsaWVudC0+ZGV2KTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZpbXgzMTktPm11dGV4KTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBz dHJ1Y3QgZGV2X3BtX29wcyBpbXgzMTlfcG1fb3BzID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL2kyYy9pbXgzMzQuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL2lteDMzNC5jCj4gaW5kZXgg MDYyMTI1NTAxNzg4Li43YjBhOTA4NjQ0N2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9p MmMvaW14MzM0LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9pbXgzMzQuYwo+IEBAIC0xMDg5 LDcgKzEwODksNyBAQCBzdGF0aWMgaW50IGlteDMzNF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqAgKgo+IMKgICogUmV0dXJuOiAwIGlmIHN1Y2Nlc3NmdWwsIGVycm9yIGNv ZGUgb3RoZXJ3aXNlLgo+IMKgICovCj4gLXN0YXRpYyBpbnQgaW14MzM0X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpbXgzMzRfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1 YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IGlteDMzNCAqaW14MzM0ID0gdG9faW14MzM0KHNkKTsKPiBAQCAtMTEwMiw4ICsxMTAy LDYgQEAgc3RhdGljIGludCBpbXgzMzRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9zdXNwZW5kZWQoJmNsaWVudC0+ZGV2KTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZpbXgzMzQtPm11dGV4KTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBz dHJ1Y3QgZGV2X3BtX29wcyBpbXgzMzRfcG1fb3BzID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL2kyYy9pbXgzMzUuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL2lteDMzNS5jCj4gaW5kZXgg NDEwZDZiODZmZWI1Li4wNzhlZGUyYjdhMDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9p MmMvaW14MzM1LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9pbXgzMzUuYwo+IEBAIC0xMDgz LDcgKzEwODMsNyBAQCBzdGF0aWMgaW50IGlteDMzNV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqAgKgo+IMKgICogUmV0dXJuOiAwIGlmIHN1Y2Nlc3NmdWwsIGVycm9yIGNv ZGUgb3RoZXJ3aXNlLgo+IMKgICovCj4gLXN0YXRpYyBpbnQgaW14MzM1X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpbXgzMzVfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1 YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IGlteDMzNSAqaW14MzM1ID0gdG9faW14MzM1KHNkKTsKPiBAQCAtMTA5OCw4ICsxMDk4 LDYgQEAgc3RhdGljIGludCBpbXgzMzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRl dik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgmaW14MzM1LT5tdXRleCk7 Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29u c3Qgc3RydWN0IGRldl9wbV9vcHMgaW14MzM1X3BtX29wcyA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZWRpYS9pMmMvaW14MzU1LmMgYi9kcml2ZXJzL21lZGlhL2kyYy9pbXgzNTUuYwo+IGlu ZGV4IDM5MjJiOTMwNTk3OC4uYjQ2MTc4NjgxYzA1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVk aWEvaTJjL2lteDM1NS5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvaW14MzU1LmMKPiBAQCAt MTgxMCw3ICsxODEwLDcgQEAgc3RhdGljIGludCBpbXgzNTVfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4g LXN0YXRpYyBpbnQgaW14MzU1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtz dGF0aWMgdm9pZCBpbXgzNTVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVu dGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlteDM1NSAqaW14MzU1ID0g dG9faW14MzU1KHNkKTsKPiBAQCAtMTgyMyw4ICsxODIzLDYgQEAgc3RhdGljIGludCBpbXgzNTVf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcG1f cnVudGltZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRldik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgbXV0ZXhfZGVzdHJveSgmaW14MzU1LT5tdXRleCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgaW14 MzU1X3BtX29wcyA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvaW14NDEyLmMg Yi9kcml2ZXJzL21lZGlhL2kyYy9pbXg0MTIuYwo+IGluZGV4IGExMzk0ZDZjMTQzMi4uN2Y2ZDI5 ZTBlN2M0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL2lteDQxMi5jCj4gKysrIGIv ZHJpdmVycy9tZWRpYS9pMmMvaW14NDEyLmMKPiBAQCAtMTI1Nyw3ICsxMjU3LDcgQEAgc3RhdGlj IGludCBpbXg0MTJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgICoKPiDC oCAqIFJldHVybjogMCBpZiBzdWNjZXNzZnVsLCBlcnJvciBjb2RlIG90aGVyd2lzZS4KPiDCoCAq Lwo+IC1zdGF0aWMgaW50IGlteDQxMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgaW14NDEyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpbXg0MTIgKmlteDQx MiA9IHRvX2lteDQxMihzZCk7Cj4gQEAgLTEyNzIsOCArMTI3Miw2IEBAIHN0YXRpYyBpbnQgaW14 NDEyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDC oHBtX3J1bnRpbWVfc2V0X3N1c3BlbmRlZCgmY2xpZW50LT5kZXYpOwo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoG11dGV4X2Rlc3Ryb3koJmlteDQxMi0+bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3Bz IGlteDQxMl9wbV9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2lyLWti ZC1pMmMuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL2lyLQo+IGtiZC1pMmMuYwo+IGluZGV4IDU2Njc0 MTczNTI0Zi4uZWU2YmJiYjk3N2Y3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL2ly LWtiZC1pMmMuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2lyLWtiZC1pMmMuYwo+IEBAIC05 MTUsNyArOTE1LDcgQEAgc3RhdGljIGludCBpcl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50LAo+IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGlyX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpcl9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IElSX2kyYyAqaXIgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC05MjQsOCArOTI0LDYgQEAgc3Rh dGljIGludCBpcl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoMKgwqDCoMKg wqDCoMKgaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGlyLT50eF9jKTsKPiDCoAo+IMKgwqDCoMKgwqDC oMKgwqByY191bnJlZ2lzdGVyX2RldmljZShpci0+cmMpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lk IGlyX2tiZF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9pc2w3OTk4 eC5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy9pc2w3OTk4eC5jCj4gaW5kZXggZGMzMDY4NTQ5ZGZh Li4yNDZkOGQxODJhOGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvaXNsNzk5OHgu Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2lzbDc5OTh4LmMKPiBAQCAtMTU0NCw3ICsxNTQ0 LDcgQEAgc3RhdGljIGludCBpc2w3OTk4eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBpc2w3OTk4eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZv aWQgaXNsNzk5OHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCBpc2w3OTk4eCAqaXNsNzk5OHggPSBpMmNfdG9faXNsNzk5OHgo Y2xpZW50KTsKPiDCoAo+IEBAIC0xNTUyLDggKzE1NTIsNiBAQCBzdGF0aWMgaW50IGlzbDc5OTh4 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHY0 bDJfYXN5bmNfdW5yZWdpc3Rlcl9zdWJkZXYoJmlzbDc5OTh4LT5zdWJkZXYpOwo+IMKgwqDCoMKg wqDCoMKgwqBpc2w3OTk4eF9yZW1vdmVfY29udHJvbHMoaXNsNzk5OHgpOwo+IMKgwqDCoMKgwqDC oMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmaXNsNzk5OHgtPnN1YmRldi5lbnRpdHkpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0 cnVjdCBvZl9kZXZpY2VfaWQgaXNsNzk5OHhfb2ZfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9pMmMva3MwMTI3LmMgYi9kcml2ZXJzL21lZGlhL2kyYy9rczAxMjcuYwo+ IGluZGV4IGMwNzdmNTNiOWMzMC4uMjE1ZDlhNDNiMGI5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv bWVkaWEvaTJjL2tzMDEyNy5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMva3MwMTI3LmMKPiBA QCAtNjc1LDE0ICs2NzUsMTMgQEAgc3RhdGljIGludCBrczAxMjdfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50LCBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaQo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGtzMDEyN19yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQga3MwMTI3X3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg djRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKg wqDCoMKgwqBrczAxMjdfd3JpdGUoc2QsIEtTX09GTVRBLCAweDIwKTsgLyogdHJpc3RhdGUgKi8K PiDCoMKgwqDCoMKgwqDCoMKga3MwMTI3X3dyaXRlKHNkLCBLU19DTURBLCAweDJjIHwgMHg4MCk7 IC8qIHBvd2VyIGRvd24gKi8KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGtzMDEyN19pZFtdID0gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9sbTM1NjAuYyBiL2RyaXZlcnMvbWVkaWEvaTJj L2xtMzU2MC5jCj4gaW5kZXggOWUzNGNjY2U0ZmMzLi5lZGFkMzEzOGNiMDcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9tZWRpYS9pMmMvbG0zNTYwLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9s bTM1NjAuYwo+IEBAIC00NDMsNyArNDQzLDcgQEAgc3RhdGljIGludCBsbTM1NjBfcHJvYmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IGxtMzU2MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiArc3RhdGljIHZvaWQgbG0zNTYwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbG0zNTYwX2ZsYXNoICpmbGFzaCA9 IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqB1bnNpZ25lZCBp bnQgaTsKPiBAQCAtNDUzLDggKzQ1Myw2IEBAIHN0YXRpYyBpbnQgbG0zNTYwX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZmbGFzaC0+Y3RybHNfbGVkW2ldKTsKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG1lZGlhX2VudGl0eV9jbGVhbnVwKCZmbGFzaC0+c3Vi ZGV2X2xlZFtpXS5lbnRpdHkpOwo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gLQo+IC3CoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZp Y2VfaWQgbG0zNTYwX2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv aTJjL2xtMzY0Ni5jIGIvZHJpdmVycy9tZWRpYS9pMmMvbG0zNjQ2LmMKPiBpbmRleCBjNzZjY2Y2 N2E5MDkuLjBhYWE5NjM5MTdkOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9sbTM2 NDYuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL2xtMzY0Ni5jCj4gQEAgLTM3NywxNSArMzc3 LDEzIEBAIHN0YXRpYyBpbnQgbG0zNjQ2X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBs bTM2NDZfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGxt MzY0Nl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IGxtMzY0Nl9mbGFzaCAqZmxhc2ggPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1YmRl digmZmxhc2gtPnN1YmRldl9sZWQpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxl cl9mcmVlKCZmbGFzaC0+Y3RybHNfbGVkKTsKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5 X2NsZWFudXAoJmZsYXNoLT5zdWJkZXZfbGVkLmVudGl0eSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2Vf aWQgbG0zNjQ2X2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJj L201Mjc5MC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvbTUyNzkwLmMKPiBpbmRleCAwYTFlZmMxNDE3 YmMuLjJhYjkxYjk5M2MzMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9tNTI3OTAu Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL201Mjc5MC5jCj4gQEAgLTE1NCwxMiArMTU0LDEx IEBAIHN0YXRpYyBpbnQgbTUyNzkwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBtNTI3 OTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG01Mjc5 MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNkKTsK PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAt LS0tLS0gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvbTVtb2xzL201bW9sc19j b3JlLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL201bW9scy9tNW1vbHNfY29yZS5jCj4gaW5kZXgg YzE5NTkwMzg5YmZlLi4yMjAxZDJhMjYzNTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9p MmMvbTVtb2xzL201bW9sc19jb3JlLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9tNW1vbHMv bTVtb2xzX2NvcmUuYwo+IEBAIC0xMDIwLDE1ICsxMDIwLDEzIEBAIHN0YXRpYyBpbnQgbTVtb2xz X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG01bW9sc19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbTVtb2xzX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJk ZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2 NGwyX2N0cmxfaGFuZGxlcl9mcmVlKHNkLT5jdHJsX2hhbmRsZXIpOwo+IMKgwqDCoMKgwqDCoMKg wqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc2QtPmVudGl0eSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2Vf aWQgbTVtb2xzX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL21heDIx NzUuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvbWF4MjE3NS5jCj4gaW5kZXggMGVlYTIwMDEyNGQy Li4xMDE5MDIwZjNhMzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvbWF4MjE3NS5j Cj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvbWF4MjE3NS5jCj4gQEAgLTE0MDMsMTUgKzE0MDMs MTMgQEAgc3RhdGljIGludCBtYXgyMTc1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IG1heDIxNzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lk IG1heDIxNzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG1heDIxNzUgKmN0eCA9IG1heDIxNzVfZnJv bV9zZChzZCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgm Y3R4LT5jdHJsX2hkbCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfYXN5bmNfdW5yZWdpc3Rlcl9z dWJkZXYoc2QpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKg c3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG1heDIxNzVfaWRbXSA9IHsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvbWF4OTI4Ni5jCj4gYi9kcml2ZXJzL21lZGlhL2ky Yy9tYXg5Mjg2LmMKPiBpbmRleCAzNjg0ZmFhNzIyNTMuLjljMDgzY2YxNDIzMSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL21lZGlhL2kyYy9tYXg5Mjg2LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2ky Yy9tYXg5Mjg2LmMKPiBAQCAtMTM3OCw3ICsxMzc4LDcgQEAgc3RhdGljIGludCBtYXg5Mjg2X3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG1heDkyODZfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1heDkyODZfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBtYXg5Mjg2X3By aXYgKnByaXYgPQo+IHNkX3RvX21heDkyODYoaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCkpOwo+ IMKgCj4gQEAgLTEzOTEsOCArMTM5MSw2IEBAIHN0YXRpYyBpbnQgbWF4OTI4Nl9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBncGlvZF9zZXRfdmFs dWVfY2Fuc2xlZXAocHJpdi0+Z3Bpb2RfcHdkbiwgMCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg bWF4OTI4Nl9jbGVhbnVwX2R0KHByaXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWF4OTI4Nl9k dF9pZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvbWw4NnY3NjY3LmMK PiBiL2RyaXZlcnMvbWVkaWEvaTJjL21sODZ2NzY2Ny5jCj4gaW5kZXggNDhjYzBiMDkyMmY0Li40 OWVjNTliMGNhNDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvbWw4NnY3NjY3LmMK PiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9tbDg2djc2NjcuYwo+IEBAIC00MTUsMTUgKzQxNSwx MyBAQCBzdGF0aWMgaW50IG1sODZ2NzY2N19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBtbDg2djc2NjdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2 b2lkIG1sODZ2NzY2N19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbWw4NnY3NjY3X3ByaXYgKnByaXYg PSB0b19tbDg2djc2Njcoc2QpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5k bGVyX2ZyZWUoJnByaXYtPmhkbCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVn aXN0ZXJfc3ViZGV2KCZwcml2LT5zZCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbWw4NnY3NjY3 X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL21zcDM0MDAtZHJpdmVy LmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL21zcDM0MDAtZHJpdmVyLmMKPiBpbmRleCAzOTUzMGQ0 MzU5MGUuLjRjZTdhMTVhOTg4NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9tc3Az NDAwLWRyaXZlci5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvbXNwMzQwMC1kcml2ZXIuYwo+ IEBAIC04NTksNyArODU5LDcgQEAgc3RhdGljIGludCBtc3BfcHJvYmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCwKPiBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbXNwX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBtc3BfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBtc3Bfc3Rh dGUgKnN0YXRlID0KPiB0b19zdGF0ZShpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KSk7Cj4gwqAK PiBAQCAtODcyLDcgKzg3Miw2IEBAIHN0YXRpYyBpbnQgbXNwX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBtc3BfcmVzZXQoY2xpZW50KTsKPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZzdGF0ZS0+aGRsKTsKPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0t LS0gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvbXQ5bTAwMS5jCj4gYi9kcml2 ZXJzL21lZGlhL2kyYy9tdDltMDAxLmMKPiBpbmRleCBhZDEzYjBjODkwYzAuLmViZjljZjFlMWJj ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9tdDltMDAxLmMKPiArKysgYi9kcml2 ZXJzL21lZGlhL2kyYy9tdDltMDAxLmMKPiBAQCAtODMzLDcgKzgzMyw3IEBAIHN0YXRpYyBpbnQg bXQ5bTAwMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBtdDltMDAxX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBtdDltMDAxX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg bXQ5bTAwMSAqbXQ5bTAwMSA9IHRvX210OW0wMDEoY2xpZW50KTsKPiDCoAo+IEBAIC04NTMsOCAr ODUzLDYgQEAgc3RhdGljIGludCBtdDltMDAxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgmbXQ5 bTAwMS0+aGRsKTsKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgmbXQ5bTAwMS0+bXV0 ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG10OW0wMDFfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9pMmMvbXQ5bTAzMi5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy9tdDlt MDMyLmMKPiBpbmRleCBiYTBjMGVhOTFjOTUuLjc2YjhjOWMwOGM4MiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL21lZGlhL2kyYy9tdDltMDMyLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9tdDlt MDMyLmMKPiBAQCAtODU4LDcgKzg1OCw3IEBAIHN0YXRpYyBpbnQgbXQ5bTAzMl9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBtdDltMDMyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCBtdDltMDMyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnN1YmRl diA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg bXQ5bTAzMiAqc2Vuc29yID0gdG9fbXQ5bTAzMihzdWJkZXYpOwo+IEBAIC04NjcsNyArODY3LDYg QEAgc3RhdGljIGludCBtdDltMDMyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJnNlbnNvci0+Y3RybHMp Owo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc3ViZGV2LT5lbnRpdHkp Owo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZzZW5zb3ItPmxvY2spOwo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGky Y19kZXZpY2VfaWQgbXQ5bTAzMl9pZF90YWJsZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL2kyYy9tdDltMTExLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL210OW0xMTEuYwo+IGlu ZGV4IGFmYzg2ZWZhOWUzZS4uZjVmZTI3MmQxMjA1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVk aWEvaTJjL210OW0xMTEuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL210OW0xMTEuYwo+IEBA IC0xMzU5LDE1ICsxMzU5LDEzIEBAIHN0YXRpYyBpbnQgbXQ5bTExMV9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBtdDltMTExX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBtdDltMTExX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbXQ5bTExMSAqbXQ5bTExMSA9IHRvX210 OW0xMTEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2FzeW5jX3VucmVnaXN0 ZXJfc3ViZGV2KCZtdDltMTExLT5zdWJkZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRp dHlfY2xlYW51cCgmbXQ5bTExMS0+c3ViZGV2LmVudGl0eSk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0 bDJfY3RybF9oYW5kbGVyX2ZyZWUoJm10OW0xMTEtPmhkbCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXQ5 bTExMV9vZl9tYXRjaFtdID0gewo+IMKgwqDCoMKgwqDCoMKgwqB7IC5jb21wYXRpYmxlID0gIm1p Y3JvbixtdDltMTExIiwgfSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvbXQ5cDAz MS5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy9tdDlwMDMxLmMKPiBpbmRleCBjYmNlOGI4OGRiY2Yu LjAwZGE1ODRhNDdiNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9tdDlwMDMxLmMK PiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9tdDlwMDMxLmMKPiBAQCAtMTIwMCw3ICsxMjAwLDcg QEAgc3RhdGljIGludCBtdDlwMDMxX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG10 OXAwMzFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG10 OXAwMzFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc3ViZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBtdDlwMDMxICptdDlwMDMxID0gdG9fbXQ5 cDAzMShzdWJkZXYpOwo+IEBAIC0xMjA5LDggKzEyMDksNiBAQCBzdGF0aWMgaW50IG10OXAwMzFf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgdjRs Ml9hc3luY191bnJlZ2lzdGVyX3N1YmRldihzdWJkZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBtZWRp YV9lbnRpdHlfY2xlYW51cCgmc3ViZGV2LT5lbnRpdHkpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRl eF9kZXN0cm95KCZtdDlwMDMxLT5wb3dlcl9sb2NrKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBt dDlwMDMxX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL210OXQwMDEu Ywo+IGIvZHJpdmVycy9tZWRpYS9pMmMvbXQ5dDAwMS5jCj4gaW5kZXggYjY1MWVlNGEyNmU4Li5k NWFiZTRhN2VmMDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvbXQ5dDAwMS5jCj4g KysrIGIvZHJpdmVycy9tZWRpYS9pMmMvbXQ5dDAwMS5jCj4gQEAgLTk2MSw3ICs5NjEsNyBAQCBz dGF0aWMgaW50IG10OXQwMDFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbXQ5dDAw MV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbXQ5dDAw MV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzdWJkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50 KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG10OXQwMDEgKm10OXQwMDEgPSB0b19tdDl0MDAx KHN1YmRldik7Cj4gQEAgLTk2OSw3ICs5NjksNiBAQCBzdGF0aWMgaW50IG10OXQwMDFfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJs X2hhbmRsZXJfZnJlZSgmbXQ5dDAwMS0+Y3RybHMpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2Rl dmljZV91bnJlZ2lzdGVyX3N1YmRldihzdWJkZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9l bnRpdHlfY2xlYW51cCgmc3ViZGV2LT5lbnRpdHkpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbXQ5dDAw MV9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9tdDl0MTEyLmMKPiBi L2RyaXZlcnMvbWVkaWEvaTJjL210OXQxMTIuYwo+IGluZGV4IDhkMmUzY2FhOWIyOC4uYWQ1NjQw OTVkMGNmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL210OXQxMTIuYwo+ICsrKyBi L2RyaXZlcnMvbWVkaWEvaTJjL210OXQxMTIuYwo+IEBAIC0xMTAyLDE0ICsxMTAyLDEyIEBAIHN0 YXRpYyBpbnQgbXQ5dDExMl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiB2NGwyX2FzeW5jX3JlZ2lzdGVyX3N1YmRldigmcHJpdi0+c3Vi ZGV2KTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG10OXQxMTJfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG10OXQxMTJfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBtdDl0MTEyX3By aXYgKnByaXYgPSB0b19tdDl0MTEyKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgY2xr X2Rpc2FibGVfdW5wcmVwYXJlKHByaXYtPmNsayk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfYXN5 bmNfdW5yZWdpc3Rlcl9zdWJkZXYoJnByaXYtPnN1YmRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2Vf aWQgbXQ5dDExMl9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9tdDl2 MDExLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL210OXYwMTEuYwo+IGluZGV4IDc2OTllNjRlMTEy Ny4uOTk1MmNlMDZlYmIyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL210OXYwMTEu Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL210OXYwMTEuYwo+IEBAIC01NjEsNyArNTYxLDcg QEAgc3RhdGljIGludCBtdDl2MDExX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjLAo+IMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG10OXYwMTFfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjKQo+ICtzdGF0aWMgdm9pZCBtdDl2MDExX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJf c3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjKTsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IG10OXYwMTEgKmNvcmUgPSB0b19tdDl2MDExKHNkKTsKPiBAQCAtNTcyLDggKzU3Miw2IEBA IHN0YXRpYyBpbnQgbXQ5djAxMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmMpCj4gwqAKPiDC oMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDC oMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZjb3JlLT5jdHJscyk7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAvKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0t LSAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9tdDl2MDMyLmMKPiBiL2RyaXZl cnMvbWVkaWEvaTJjL210OXYwMzIuYwo+IGluZGV4IDRjZmRkM2RmYmQ0Mi4uYmM0Mzg4Y2NjMmE4 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL210OXYwMzIuYwo+ICsrKyBiL2RyaXZl cnMvbWVkaWEvaTJjL210OXYwMzIuYwo+IEBAIC0xMTkyLDcgKzExOTIsNyBAQCBzdGF0aWMgaW50 IG10OXYwMzJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbXQ5djAzMl9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbXQ5djAzMl9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHY0bDJfc3ViZGV2ICpzdWJkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IG10OXYwMzIgKm10OXYwMzIgPSB0b19tdDl2MDMyKHN1YmRldik7 Cj4gQEAgLTEyMDAsOCArMTIwMCw2IEBAIHN0YXRpYyBpbnQgbXQ5djAzMl9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2FzeW5jX3VucmVn aXN0ZXJfc3ViZGV2KHN1YmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVy X2ZyZWUoJm10OXYwMzItPmN0cmxzKTsKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5X2Ns ZWFudXAoJnN1YmRldi0+ZW50aXR5KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXQ5djAzMl9tb2RlbF9kYXRhIG10OXYw MzJfbW9kZWxfZGF0YVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9tdDl2 MTExLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL210OXYxMTEuYwo+IGluZGV4IDJkYzRhMGYyNGNl OC4uZmUxOGU1MjU4ZDdhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL210OXYxMTEu Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL210OXYxMTEuYwo+IEBAIC0xMjM4LDcgKzEyMzgs NyBAQCBzdGF0aWMgaW50IG10OXYxMTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg bXQ5djExMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg bXQ5djExMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbXQ5djExMV9kZXYgKm10OXYxMTEgPSBzZF90 b19tdDl2MTExKHNkKTsKPiBAQCAtMTI1Myw4ICsxMjUzLDYgQEAgc3RhdGljIGludCBtdDl2MTEx X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgbXV0ZXhfZGVzdHJveSgmbXQ5djExMS0+cHdyX211dGV4KTsKPiDCoMKgwqDCoMKgwqDCoMKg bXV0ZXhfZGVzdHJveSgmbXQ5djExMS0+c3RyZWFtX211dGV4KTsKPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNl X2lkIG10OXYxMTFfb2ZfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9p MmMvbm9vbjAxMHBjMzAuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvbm9vbjAxMHBjMzAuYwo+IGlu ZGV4IGJjNTE4N2Y0NjM2NS4uZWNhZjVlOTA1N2YxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVk aWEvaTJjL25vb24wMTBwYzMwLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9ub29uMDEwcGMz MC5jCj4gQEAgLTc4OSw3ICs3ODksNyBAQCBzdGF0aWMgaW50IG5vb24wMTBfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgbm9vbjAxMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiArc3RhdGljIHZvaWQgbm9vbjAxMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgbm9vbjAx MF9pbmZvICppbmZvID0gdG9fbm9vbjAxMChzZCk7Cj4gQEAgLTc5Nyw4ICs3OTcsNiBAQCBzdGF0 aWMgaW50IG5vb24wMTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKg wqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZpbmZvLT5oZGwpOwo+IMKgwqDCoMKgwqDC oMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc2QtPmVudGl0eSk7Cj4gLQo+IC3CoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZp Y2VfaWQgbm9vbjAxMF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9v ZzAxYTFiLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL29nMDFhMWIuYwo+IGluZGV4IDg3MTc5ZmMw NGUwMC4uMzU2NjNjMTBmY2Q5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL29nMDFh MWIuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL29nMDFhMWIuYwo+IEBAIC0xMDE1LDcgKzEw MTUsNyBAQCBzdGF0aWMgaW50IG9nMDFhMWJfY2hlY2tfaHdjZmcoc3RydWN0IGRldmljZQo+ICpk ZXYpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBvZzAxYTFiX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBvZzAxYTFiX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBvZzAxYTFiICpvZzAxYTFiID0gdG9fb2cw MWExYihzZCk7Cj4gQEAgLTEwMjUsOCArMTAyNSw2IEBAIHN0YXRpYyBpbnQgb2cwMWExYl9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0 cmxfaGFuZGxlcl9mcmVlKHNkLT5jdHJsX2hhbmRsZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBwbV9y dW50aW1lX2Rpc2FibGUoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfZGVz dHJveSgmb2cwMWExYi0+bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGludCBvZzAxYTFiX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL292MDJhMTAuYwo+IGIvZHJp dmVycy9tZWRpYS9pMmMvb3YwMmExMC5jCj4gaW5kZXggMGYwOGMwNTMzM2VhLi4yYzFlYjcyNGQ4 ZTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvb3YwMmExMC5jCj4gKysrIGIvZHJp dmVycy9tZWRpYS9pMmMvb3YwMmExMC5jCj4gQEAgLTk3NSw3ICs5NzUsNyBAQCBzdGF0aWMgaW50 IG92MDJhMTBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgb3YwMmExMF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgb3YwMmExMF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3Qgb3YwMmExMCAqb3YwMmExMCA9IHRvX292MDJhMTAoc2QpOwo+IEBAIC05 ODgsOCArOTg4LDYgQEAgc3RhdGljIGludCBvdjAyYTEwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBvdjAyYTEwX3Bv d2VyX29mZigmY2xpZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3NldF9z dXNwZW5kZWQoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgm b3YwMmExMC0+bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb3YwMmExMF9vZl9tYXRjaFtd ID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9vdjA4ZDEwLmMKPiBiL2RyaXZl cnMvbWVkaWEvaTJjL292MDhkMTAuYwo+IGluZGV4IGU1ZWY2NDY2YTNlYy4uYzE3MDM1OTZjM2Rj IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL292MDhkMTAuYwo+ICsrKyBiL2RyaXZl cnMvbWVkaWEvaTJjL292MDhkMTAuYwo+IEBAIC0xNDE1LDcgKzE0MTUsNyBAQCBzdGF0aWMgaW50 IG92MDhkMTBfZ2V0X2h3Y2ZnKHN0cnVjdCBvdjA4ZDEwCj4gKm92MDhkMTAsIHN0cnVjdCBkZXZp Y2UgKmRldikKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IG92MDhkMTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRp YyB2b2lkIG92MDhkMTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92MDhkMTAgKm92MDhkMTAgPSB0 b19vdjA4ZDEwKHNkKTsKPiBAQCAtMTQyNSw4ICsxNDI1LDYgQEAgc3RhdGljIGludCBvdjA4ZDEw X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHY0 bDJfY3RybF9oYW5kbGVyX2ZyZWUoc2QtPmN0cmxfaGFuZGxlcik7Cj4gwqDCoMKgwqDCoMKgwqDC oHBtX3J1bnRpbWVfZGlzYWJsZSgmY2xpZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRl eF9kZXN0cm95KCZvdjA4ZDEwLT5tdXRleCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50IG92MDhkMTBfcHJvYmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvb3YxMzg1OC5jCj4g Yi9kcml2ZXJzL21lZGlhL2kyYy9vdjEzODU4LmMKPiBpbmRleCBkNWZlNjdjNzYzZjcuLmU2MThi NjEzZTA3OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9vdjEzODU4LmMKPiArKysg Yi9kcml2ZXJzL21lZGlhL2kyYy9vdjEzODU4LmMKPiBAQCAtMTc2OSw3ICsxNzY5LDcgQEAgc3Rh dGljIGludCBvdjEzODU4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG92MTM4NThf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG92MTM4NThf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IG92MTM4NTggKm92MTM4NTggPSB0b19vdjEzODU4KHNkKTsK PiBAQCAtMTc3OSw4ICsxNzc5LDYgQEAgc3RhdGljIGludCBvdjEzODU4X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG92MTM4NThfZnJlZV9jb250 cm9scyhvdjEzODU4KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX2Rpc2FibGUo JmNsaWVudC0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBvdjEzODU4X2lkX3RhYmxlW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL292MTNiMTAuYwo+IGIvZHJpdmVy cy9tZWRpYS9pMmMvb3YxM2IxMC5jCj4gaW5kZXggN2NhZWFlNjQxMDUxLi41NDllNWQ5M2U1Njgg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvb3YxM2IxMC5jCj4gKysrIGIvZHJpdmVy cy9tZWRpYS9pMmMvb3YxM2IxMC5jCj4gQEAgLTE0NDcsNyArMTQ0Nyw3IEBAIHN0YXRpYyBpbnQg b3YxM2IxMF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBvdjEzYjEwX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBvdjEzYjEwX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg djRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBvdjEzYjEwICpvdjEzYiA9IHRvX292MTNiMTAoc2QpOwo+IEBAIC0xNDU3 LDggKzE0NTcsNiBAQCBzdGF0aWMgaW50IG92MTNiMTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgb3YxM2IxMF9mcmVlX2NvbnRyb2xzKG92MTNi KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX2Rpc2FibGUoJmNsaWVudC0+ZGV2 KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBj b25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBvdjEzYjEwX3BtX29wcyA9IHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9pMmMvb3YyNjQwLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjI2NDAuYwo+ IGluZGV4IDRiNzVkYTU1YjI2MC4uMjllZDBlZjhjMDMzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv bWVkaWEvaTJjL292MjY0MC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3YyNjQwLmMKPiBA QCAtMTI3MSw3ICsxMjcxLDcgQEAgc3RhdGljIGludCBvdjI2NDBfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgb3YyNjQwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ ICtzdGF0aWMgdm9pZCBvdjI2NDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBvdjI2NDBfcHJpdsKgwqDCoMKgwqDCoCAqcHJp diA9IHRvX292MjY0MChjbGllbnQpOwo+IMKgCj4gQEAgLTEyODEsNyArMTI4MSw2IEBAIHN0YXRp YyBpbnQgb3YyNjQwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKg wqDCoMKgwqDCoG1lZGlhX2VudGl0eV9jbGVhbnVwKCZwcml2LT5zdWJkZXYuZW50aXR5KTsKPiDC oMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoJnByaXYtPnN1YmRl dik7Cj4gwqDCoMKgwqDCoMKgwqDCoGNsa19kaXNhYmxlX3VucHJlcGFyZShwcml2LT5jbGspOwo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3Ry dWN0IGkyY19kZXZpY2VfaWQgb3YyNjQwX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvaTJjL292MjY1OS5jIGIvZHJpdmVycy9tZWRpYS9pMmMvb3YyNjU5LmMKPiBpbmRleCAx M2RlZDViMmFhNjYuLjQyZmM2NGFkYTA4YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2ky Yy9vdjI2NTkuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL292MjY1OS5jCj4gQEAgLTE1NDQs NyArMTU0NCw3IEBAIHN0YXRpYyBpbnQgb3YyNjU5X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4g KmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IG92MjY1OV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGlj IHZvaWQgb3YyNjU5X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBvdjI2NTkgKm92MjY1OSA9IHRvX292 MjY1OShzZCk7Cj4gQEAgLTE1NTgsOCArMTU1OCw2IEBAIHN0YXRpYyBpbnQgb3YyNjU5X3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlmICghcG1f cnVudGltZV9zdGF0dXNfc3VzcGVuZGVkKCZjbGllbnQtPmRldikpCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBvdjI2NTlfcG93ZXJfb2ZmKCZjbGllbnQtPmRldik7Cj4gwqDCoMKg wqDCoMKgwqDCoHBtX3J1bnRpbWVfc2V0X3N1c3BlbmRlZCgmY2xpZW50LT5kZXYpOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVj dCBkZXZfcG1fb3BzIG92MjY1OV9wbV9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVk aWEvaTJjL292MjY4MC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvb3YyNjgwLmMKPiBpbmRleCA5MDZj NzExZjY4MjEuLmRlNjZkMzM5NWE0ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9v djI2ODAuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL292MjY4MC5jCj4gQEAgLTEwOTcsNyAr MTA5Nyw3IEBAIHN0YXRpYyBpbnQgb3YyNjgwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMg aW50IG92MjY4MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZv aWQgb3YyNjgwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBvdjI2ODBfZGV2ICpzZW5zb3IgPSB0b19v djI2ODBfZGV2KHNkKTsKPiBAQCAtMTEwNiw4ICsxMTA2LDYgQEAgc3RhdGljIGludCBvdjI2ODBf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgbXV0 ZXhfZGVzdHJveSgmc2Vuc29yLT5sb2NrKTsKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5 X2NsZWFudXAoJnNlbnNvci0+c2QuZW50aXR5KTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJs X2hhbmRsZXJfZnJlZSgmc2Vuc29yLT5jdHJscy5oYW5kbGVyKTsKPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgb3Yy NjgwX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL2kyYy9vdjI2ODUuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL292MjY4NS5jCj4gaW5kZXggYjZl MDEwZWEzMjQ5Li5hM2I1MjRmMTVkODkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMv b3YyNjg1LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjI2ODUuYwo+IEBAIC03OTgsNyAr Nzk4LDcgQEAgc3RhdGljIGludCBvdjI2ODVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBp bnQgb3YyNjg1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBvdjI2ODVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92MjY4NSAqb3YyNjg1ID0gdG9fb3YyNjg1 KHNkKTsKPiBAQCAtODE0LDggKzgxNCw2IEBAIHN0YXRpYyBpbnQgb3YyNjg1X3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlmICghcG1fcnVudGlt ZV9zdGF0dXNfc3VzcGVuZGVkKCZjbGllbnQtPmRldikpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBfX292MjY4NV9wb3dlcl9vZmYob3YyNjg1KTsKPiDCoMKgwqDCoMKgwqDCoMKg cG1fcnVudGltZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQtPmRldik7Cj4gLQo+IC3CoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAjaWYgSVNfRU5BQkxFRChDT05GSUdfT0YpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL292Mjc0MC5jIGIvZHJpdmVycy9tZWRpYS9p MmMvb3YyNzQwLmMKPiBpbmRleCBkNWYwZWFiZjIwYzYuLjVkNzRhZDQ3OTIxNCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL21lZGlhL2kyYy9vdjI3NDAuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJj L292Mjc0MC5jCj4gQEAgLTEwNTMsNyArMTA1Myw3IEBAIHN0YXRpYyBpbnQgb3YyNzQwX2NoZWNr X2h3Y2ZnKHN0cnVjdCBkZXZpY2UKPiAqZGV2KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0 Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgb3YyNzQwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBvdjI3NDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2Qg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92 Mjc0MCAqb3YyNzQwID0gdG9fb3YyNzQwKHNkKTsKPiBAQCAtMTA2Myw4ICsxMDYzLDYgQEAgc3Rh dGljIGludCBvdjI3NDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZShzZC0+Y3RybF9oYW5kbGVyKTsKPiDC oMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKCZjbGllbnQtPmRldik7Cj4gwqDCoMKg wqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJm92Mjc0MC0+bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBvdjI3NDBfbnZtZW1fcmVh ZCh2b2lkICpwcml2LCB1bnNpZ25lZCBpbnQgb2ZmLCB2b2lkCj4gKnZhbCwKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQwLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjU2NDAu Ywo+IGluZGV4IGRiNWExOWJhYmU2Ny4uN2JjZmRmZGQxMjQ4IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWVkaWEvaTJjL292NTY0MC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQwLmMK PiBAQCAtMzE4MCw3ICszMTgwLDcgQEAgc3RhdGljIGludCBvdjU2NDBfcHJvYmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+ IMKgCj4gLXN0YXRpYyBpbnQgb3Y1NjQwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBvdjU2NDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92NTY0MF9kZXYg KnNlbnNvciA9IHRvX292NTY0MF9kZXYoc2QpOwo+IEBAIC0zMTg5LDggKzMxODksNiBAQCBzdGF0 aWMgaW50IG92NTY0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDC oMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc2Vuc29yLT5zZC5lbnRpdHkpOwo+IMKg wqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZzZW5zb3ItPmN0cmxzLmhhbmRs ZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZzZW5zb3ItPmxvY2spOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0 cnVjdCBpMmNfZGV2aWNlX2lkIG92NTY0MF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL2kyYy9vdjU2NDUuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL292NTY0NS5jCj4gaW5kZXgg NTYyYzYyZjE5MmM0Li44MWU0ZTg3ZTE4MjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9p MmMvb3Y1NjQ1LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjU2NDUuYwo+IEBAIC0xMjU2 LDcgKzEyNTYsNyBAQCBzdGF0aWMgaW50IG92NTY0NV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCBvdjU2NDVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRp YyB2b2lkIG92NTY0NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgb3Y1NjQ1ICpvdjU2NDUgPSB0b19v djU2NDUoc2QpOwo+IEBAIC0xMjY1LDggKzEyNjUsNiBAQCBzdGF0aWMgaW50IG92NTY0NV9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9l bnRpdHlfY2xlYW51cCgmb3Y1NjQ1LT5zZC5lbnRpdHkpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwy X2N0cmxfaGFuZGxlcl9mcmVlKCZvdjU2NDUtPmN0cmxzKTsKPiDCoMKgwqDCoMKgwqDCoMKgbXV0 ZXhfZGVzdHJveSgmb3Y1NjQ1LT5wb3dlcl9sb2NrKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBv djU2NDVfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQ3LmMg Yi9kcml2ZXJzL21lZGlhL2kyYy9vdjU2NDcuYwo+IGluZGV4IGQzNDZkMThjZTYyOS4uODQ3YTdi YmI2OWM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL292NTY0Ny5jCj4gKysrIGIv ZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQ3LmMKPiBAQCAtMTQ0OCw3ICsxNDQ4LDcgQEAgc3RhdGlj IGludCBvdjU2NDdfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgb3Y1NjQ3X3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBvdjU2NDdfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IG92NTY0NyAqc2Vuc29yID0gdG9fc2Vuc29yKHNkKTsKPiBAQCAtMTQ1 OSw4ICsxNDU5LDYgQEAgc3RhdGljIGludCBvdjU2NDdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJk ZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX2Rpc2FibGUoJmNsaWVudC0+ZGV2 KTsKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgmc2Vuc29yLT5sb2NrKTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZGV2X3BtX29wcyBvdjU2NDdfcG1fb3BzID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL2kyYy9vdjU2NDguYyBiL2RyaXZlcnMvbWVkaWEvaTJjL292NTY0OC5jCj4gaW5kZXggZGZj ZDMzZTllZTEzLi44NDYwNGVhN2JkZjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMv b3Y1NjQ4LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjU2NDguYwo+IEBAIC0yNTg3LDcg KzI1ODcsNyBAQCBzdGF0aWMgaW50IG92NTY0OF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCBvdjU2NDhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2 b2lkIG92NTY0OF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzdWJkZXYgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92NTY0OF9zZW5zb3IgKnNlbnNv ciA9IG92NTY0OF9zdWJkZXZfc2Vuc29yKHN1YmRldik7Cj4gQEAgLTI1OTcsOCArMjU5Nyw2IEBA IHN0YXRpYyBpbnQgb3Y1NjQ4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4g wqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJnNlbnNvci0+Y3RybHMuaGFu ZGxlcik7Cj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJnNlbnNvci0+bXV0ZXgpOwo+ IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc3ViZGV2LT5lbnRpdHkpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0 IHN0cnVjdCBkZXZfcG1fb3BzIG92NTY0OF9wbV9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWVkaWEvaTJjL292NTY3MC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjcwLmMKPiBpbmRl eCAwMmY3NWMxOGU0ODAuLmJjOWZjM2JjOTBjMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlh L2kyYy9vdjU2NzAuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL292NTY3MC5jCj4gQEAgLTI1 NTcsNyArMjU1Nyw3IEBAIHN0YXRpYyBpbnQgb3Y1NjcwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1z dGF0aWMgaW50IG92NTY3MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3Rh dGljIHZvaWQgb3Y1NjcwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRk YXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBvdjU2NzAgKm92NTY3MCA9IHRv X292NTY3MChzZCk7Cj4gQEAgLTI1NjgsOCArMjU2OCw2IEBAIHN0YXRpYyBpbnQgb3Y1NjcwX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4 X2Rlc3Ryb3koJm92NTY3MC0+bXV0ZXgpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRp bWVfZGlzYWJsZSgmY2xpZW50LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIG92NTY3MF9wbV9v cHMgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL292NTY3NS5jIGIvZHJpdmVy cy9tZWRpYS9pMmMvb3Y1Njc1LmMKPiBpbmRleCA4MmJhOWY1NmJhZWMuLjk0ZGM4Y2I3YTdjMCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9vdjU2NzUuYwo+ICsrKyBiL2RyaXZlcnMv bWVkaWEvaTJjL292NTY3NS5jCj4gQEAgLTExNzUsNyArMTE3NSw3IEBAIHN0YXRpYyBpbnQgb3Y1 Njc1X2NoZWNrX2h3Y2ZnKHN0cnVjdCBkZXZpY2UKPiAqZGV2KQo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgb3Y1Njc1X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBvdjU2NzVfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1 YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IG92NTY3NSAqb3Y1Njc1ID0gdG9fb3Y1Njc1KHNkKTsKPiBAQCAtMTE4NSw4ICsxMTg1 LDYgQEAgc3RhdGljIGludCBvdjU2NzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZShzZC0+Y3RybF9oYW5k bGVyKTsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKCZjbGllbnQtPmRldik7 Cj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJm92NTY3NS0+bXV0ZXgpOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBvdjU2NzVf cHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t ZWRpYS9pMmMvb3Y1NjkzLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjU2OTMuYwo+IGluZGV4IDEx N2ZmNTQwMzMxMi4uNWEwNTM1NmJjZmI2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJj L292NTY5My5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjkzLmMKPiBAQCAtMTQ4OSw3 ICsxNDg5LDcgQEAgc3RhdGljIGludCBvdjU2OTNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAq Y2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRp YyBpbnQgb3Y1NjkzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMg dm9pZCBvdjU2OTNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92NTY5M19kZXZpY2UgKm92NTY5MyA9 IHRvX292NTY5M19zZW5zb3Ioc2QpOwo+IEBAIC0xNTA3LDggKzE1MDcsNiBAQCBzdGF0aWMgaW50 IG92NTY5M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDC oMKgwqBpZiAoIXBtX3J1bnRpbWVfc3RhdHVzX3N1c3BlbmRlZCgmY2xpZW50LT5kZXYpKQo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgb3Y1NjkzX3NlbnNvcl9wb3dlcmRvd24ob3Y1 NjkzKTsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9zZXRfc3VzcGVuZGVkKCZjbGllbnQt PmRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgb3Y1NjkzX3BtX29wcyA9IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y1Njk1LmMgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjU2OTUu Ywo+IGluZGV4IDkxMDMwOTc4Mzg4NS4uNjE5MDZmYzU0ZTM3IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWVkaWEvaTJjL292NTY5NS5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y1Njk1LmMK PiBAQCAtMTM2MSw3ICsxMzYxLDcgQEAgc3RhdGljIGludCBvdjU2OTVfcHJvYmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+ IMKgCj4gLXN0YXRpYyBpbnQgb3Y1Njk1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBvdjU2OTVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92NTY5NSAqb3Y1 Njk1ID0gdG9fb3Y1Njk1KHNkKTsKPiBAQCAtMTM3Nyw4ICsxMzc3LDYgQEAgc3RhdGljIGludCBv djU2OTVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDC oMKgaWYgKCFwbV9ydW50aW1lX3N0YXR1c19zdXNwZW5kZWQoJmNsaWVudC0+ZGV2KSkKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9fb3Y1Njk1X3Bvd2VyX29mZihvdjU2OTUpOwo+ IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3NldF9zdXNwZW5kZWQoJmNsaWVudC0+ZGV2KTsK PiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZiBJU19FTkFC TEVEKENPTkZJR19PRikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y2NjUwLmMg Yi9kcml2ZXJzL21lZGlhL2kyYy9vdjY2NTAuYwo+IGluZGV4IDY0NThlOTZkOTA5MS4uMThmMDQx ZTk4NWI3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL292NjY1MC5jCj4gKysrIGIv ZHJpdmVycy9tZWRpYS9pMmMvb3Y2NjUwLmMKPiBAQCAtMTA5NiwxMyArMTA5NiwxMiBAQCBzdGF0 aWMgaW50IG92NjY1MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBvdjY2NTBfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG92NjY1MF9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IG92NjY1MCAqcHJpdiA9IHRvX292NjY1MChjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoHY0bDJfYXN5bmNfdW5yZWdpc3Rlcl9zdWJkZXYoJnByaXYtPnN1YmRldik7Cj4gwqDCoMKg wqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJnByaXYtPmhkbCk7Cj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rl dmljZV9pZCBvdjY2NTBfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMv b3Y3MjUxLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjcyNTEuYwo+IGluZGV4IDBlN2JlMTViYzIw YS4uNWQ4MzdhNzgyYWM4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL292NzI1MS5j Cj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y3MjUxLmMKPiBAQCAtMTc2Niw3ICsxNzY2LDcg QEAgc3RhdGljIGludCBvdjcyNTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgb3Y3 MjUxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBvdjcy NTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92NzI1MSAqb3Y3MjUxID0gdG9fb3Y3MjUxKHNkKTsK PiBAQCAtMTc4MCw4ICsxNzgwLDYgQEAgc3RhdGljIGludCBvdjcyNTFfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCFwbV9ydW50aW1lX3N0 YXR1c19zdXNwZW5kZWQob3Y3MjUxLT5kZXYpKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgb3Y3MjUxX3NldF9wb3dlcl9vZmYob3Y3MjUxLT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKg wqBwbV9ydW50aW1lX3NldF9zdXNwZW5kZWQob3Y3MjUxLT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1f b3BzIG92NzI1MV9wbV9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL292 NzY0MC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y3NjQwLmMKPiBpbmRleCA5NzdjZDJkOGFkMzMu LjVlMmQ2N2YwZjlmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9vdjc2NDAuYwo+ ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL292NzY0MC5jCj4gQEAgLTcwLDEzICs3MCwxMSBAQCBz dGF0aWMgaW50IG92NzY0MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqB9 Cj4gwqAKPiDCoAo+IC1zdGF0aWMgaW50IG92NzY0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgb3Y3NjQwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9k ZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG92NzY0 MF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9vdjc2NzAuYyBiL2Ry aXZlcnMvbWVkaWEvaTJjL292NzY3MC5jCj4gaW5kZXggMWJlMmMwZTViZGMxLi40YjliMTU2YjUz YzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y3NjcwLmMKPiArKysgYi9kcml2 ZXJzL21lZGlhL2kyYy9vdjc2NzAuYwo+IEBAIC0yMDA5LDcgKzIwMDksNyBAQCBzdGF0aWMgaW50 IG92NzY3MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBvdjc2NzBfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG92NzY3MF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0 bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3Qgb3Y3NjcwX2luZm8gKmluZm8gPSB0b19zdGF0ZShzZCk7Cj4gQEAgLTIwMTcs NyArMjAxNyw2IEBAIHN0YXRpYyBpbnQgb3Y3NjcwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfYXN5bmNfdW5yZWdpc3Rlcl9zdWJkZXYo c2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZpbmZvLT5oZGwp Owo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmaW5mby0+c2QuZW50aXR5 KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0 IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG92NzY3MF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL21lZGlhL2kyYy9vdjc3MnguYyBiL2RyaXZlcnMvbWVkaWEvaTJjL292NzcyeC5jCj4gaW5k ZXggNzg2MDJhMmY3MGIwLi40MTg5ZTNmYzNkNTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRp YS9pMmMvb3Y3NzJ4LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjc3MnguYwo+IEBAIC0x NTIxLDcgKzE1MjEsNyBAQCBzdGF0aWMgaW50IG92NzcyeF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCBvdjc3MnhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIG92NzcyeF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92NzcyeF9wcml2ICpwcml2ID0KPiB0b19vdjc3Mngo aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCkpOwo+IMKgCj4gQEAgLTE1MzIsOCArMTUzMiw2IEBA IHN0YXRpYyBpbnQgb3Y3NzJ4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4g wqDCoMKgwqDCoMKgwqDCoHY0bDJfYXN5bmNfdW5yZWdpc3Rlcl9zdWJkZXYoJnByaXYtPnN1YmRl dik7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJnByaXYtPmhkbCk7 Cj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJnByaXYtPmxvY2spOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBp MmNfZGV2aWNlX2lkIG92NzcyeF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlh L2kyYy9vdjc3NDAuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL292Nzc0MC5jCj4gaW5kZXggMjUzOWNm ZWU4NWM4Li5jOWZkOWIwYmM1NGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y3 NzQwLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjc3NDAuYwo+IEBAIC0xMTUzLDcgKzEx NTMsNyBAQCBzdGF0aWMgaW50IG92Nzc0MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBvdjc3NDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lk IG92Nzc0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgb3Y3NzQwICpvdjc3NDAgPSBjb250YWluZXJf b2Yoc2QsIHN0cnVjdCBvdjc3NDAsCj4gc3ViZGV2KTsKPiBAQCAtMTE3MCw3ICsxMTcwLDYgQEAg c3RhdGljIGludCBvdjc3NDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9wdXRfbm9pZGxlKCZjbGllbnQtPmRldik7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgb3Y3NzQwX3NldF9wb3dlcihvdjc3NDAsIDApOwo+IC3CoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2Vk IG92Nzc0MF9ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL21lZGlhL2kyYy9vdjg4NTYuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL292ODg1Ni5j Cj4gaW5kZXggYTk3MjhhZmM4MWQ0Li5lZmExOGQwMjZhYzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9tZWRpYS9pMmMvb3Y4ODU2LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjg4NTYuYwo+ IEBAIC0yNDQwLDcgKzI0NDAsNyBAQCBzdGF0aWMgaW50IG92ODg1Nl9nZXRfaHdjZmcoc3RydWN0 IG92ODg1Ngo+ICpvdjg4NTYsIHN0cnVjdCBkZXZpY2UgKmRldikKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG92ODg1Nl9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgb3Y4ODU2X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9z dWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBvdjg4NTYgKm92ODg1NiA9IHRvX292ODg1NihzZCk7Cj4gQEAgLTI0NTIsOCArMjQ1 Miw2IEBAIHN0YXRpYyBpbnQgb3Y4ODU2X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQpCj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJm92ODg1Ni0+bXV0ZXgpOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoF9fb3Y4ODU2X3Bvd2VyX29mZihvdjg4NTYpOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBvdjg4NTZfcHJv YmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9pMmMvb3Y4ODY1LmMgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjg4NjUuYwo+IGluZGV4IGI4ZjRm MGQzZTMzZC4uYTIzM2MzNGIxNjhlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL292 ODg2NS5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y4ODY1LmMKPiBAQCAtMzExOSw3ICsz MTE5LDcgQEAgc3RhdGljIGludCBvdjg4NjVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBp bnQgb3Y4ODY1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBvdjg4NjVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc3ViZGV2ID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBvdjg4NjVfc2Vuc29yICpzZW5zb3Ig PSBvdjg4NjVfc3ViZGV2X3NlbnNvcihzdWJkZXYpOwo+IEBAIC0zMTMxLDggKzMxMzEsNiBAQCBz dGF0aWMgaW50IG92ODg2NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKg wqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc3ViZGV2LT5lbnRpdHkpOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZndub2RlX2VuZHBvaW50X2ZyZWUoJnNlbnNvci0+ZW5k cG9pbnQpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIG92ODg2NV9wbV9vcHMgPSB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvaTJjL292OTI4Mi5jIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y5Mjgy LmMKPiBpbmRleCAyZTBiMzE1ODAxZTUuLmRmMTQ0YTJmNmVkYSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21lZGlhL2kyYy9vdjkyODIuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL292OTI4Mi5j Cj4gQEAgLTEwOTEsNyArMTA5MSw3IEBAIHN0YXRpYyBpbnQgb3Y5MjgyX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoCAqCj4gwqAgKiBSZXR1cm46IDAgaWYgc3VjY2Vzc2Z1 bCwgZXJyb3IgY29kZSBvdGhlcndpc2UuCj4gwqAgKi8KPiAtc3RhdGljIGludCBvdjkyODJfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG92OTI4Ml9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3Qgb3Y5MjgyICpvdjkyODIgPSB0b19vdjkyODIoc2QpOwo+IEBAIC0x MTA2LDggKzExMDYsNiBAQCBzdGF0aWMgaW50IG92OTI4Ml9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3NldF9zdXNwZW5kZWQo JmNsaWVudC0+ZGV2KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZvdjky ODItPm11dGV4KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDC oHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBvdjkyODJfcG1fb3BzID0gewo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9vdjk2NDAuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL292 OTY0MC5jCj4gaW5kZXggOWY0NGVkNTJkMTY0Li44YjgwYmUzM2M1ZjQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZWRpYS9pMmMvb3Y5NjQwLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjk2 NDAuYwo+IEBAIC03NDQsMTUgKzc0NCwxMyBAQCBzdGF0aWMgaW50IG92OTY0MF9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBvdjk2NDBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIG92OTY0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgb3Y5NjQw X3ByaXYgKnByaXYgPSB0b19vdjk2NDBfc2Vuc29yKHNkKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqB2NGwyX2FzeW5jX3VucmVnaXN0ZXJfc3ViZGV2KCZwcml2LT5zdWJkZXYpOwo+IMKgwqDCoMKg wqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZwcml2LT5oZGwpOwo+IC0KPiAtwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNf ZGV2aWNlX2lkIG92OTY0MF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2ky Yy9vdjk2NTAuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL292OTY1MC5jCj4gaW5kZXggYzMxM2UxMWE5 NzU0Li40ZDQ1ODk5M2U2ZDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y5NjUw LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjk2NTAuYwo+IEBAIC0xNTg0LDcgKzE1ODQs NyBAQCBzdGF0aWMgaW50IG92OTY1eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBv djk2NXhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG92 OTY1eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgb3Y5NjV4ICpvdjk2NXggPSB0b19vdjk2NXgoc2Qp Owo+IEBAIC0xNTkzLDggKzE1OTMsNiBAQCBzdGF0aWMgaW50IG92OTY1eF9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxl cl9mcmVlKHNkLT5jdHJsX2hhbmRsZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlf Y2xlYW51cCgmc2QtPmVudGl0eSk7Cj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJm92 OTY1eC0+bG9jayk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgb3Y5NjV4X2lkW10gPSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL292OTczNC5jIGIvZHJpdmVycy9tZWRpYS9pMmMv b3Y5NzM0LmMKPiBpbmRleCBkZjUzOGNlYjcxYzMuLjhiMGExNThjYjI5NyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL21lZGlhL2kyYy9vdjk3MzQuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL292 OTczNC5jCj4gQEAgLTkzMCw3ICs5MzAsNyBAQCBzdGF0aWMgaW50IG92OTczNF9jaGVja19od2Nm ZyhzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBvdjk3MzRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gK3N0YXRpYyB2b2lkIG92OTczNF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgb3Y5NzM0ICpv djk3MzQgPSB0b19vdjk3MzQoc2QpOwo+IEBAIC05NDAsOCArOTQwLDYgQEAgc3RhdGljIGludCBv djk3MzRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDC oMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZShzZC0+Y3RybF9oYW5kbGVyKTsKPiDCoMKgwqDCoMKg wqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKCZjbGllbnQtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDC oG11dGV4X2Rlc3Ryb3koJm92OTczNC0+bXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBvdjk3MzRfcHJvYmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvcmRhY20yMC5j Cj4gYi9kcml2ZXJzL21lZGlhL2kyYy9yZGFjbTIwLmMKPiBpbmRleCAyNjE1YWQxNTRmNDkuLmEy MjYzZmE4MjViNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9yZGFjbTIwLmMKPiAr KysgYi9kcml2ZXJzL21lZGlhL2kyYy9yZGFjbTIwLmMKPiBAQCAtNjQ2LDcgKzY0Niw3IEBAIHN0 YXRpYyBpbnQgcmRhY20yMF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCByZGFjbTIw X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCByZGFjbTIw X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgcmRhY20yMF9kZXZpY2UgKmRldiA9IGkyY190b19yZGFjbTIwKGNsaWVudCk7Cj4g wqAKPiBAQCAtNjU1LDggKzY1NSw2IEBAIHN0YXRpYyBpbnQgcmRhY20yMF9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxl cl9mcmVlKCZkZXYtPmN0cmxzKTsKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5X2NsZWFu dXAoJmRldi0+c2QuZW50aXR5KTsKPiDCoMKgwqDCoMKgwqDCoMKgaTJjX3VucmVnaXN0ZXJfZGV2 aWNlKGRldi0+c2Vuc29yKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyB2b2lkIHJkYWNtMjBfc2h1dGRvd24oc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvcmRhY20yMS5jCj4gYi9kcml2 ZXJzL21lZGlhL2kyYy9yZGFjbTIxLmMKPiBpbmRleCBlZjMxY2Y1ZjIzY2EuLjljY2M1NmMzMGQz YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9yZGFjbTIxLmMKPiArKysgYi9kcml2 ZXJzL21lZGlhL2kyYy9yZGFjbTIxLmMKPiBAQCAtNjE0LDcgKzYxNCw3IEBAIHN0YXRpYyBpbnQg cmRhY20yMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCByZGFjbTIxX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCByZGFjbTIxX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg cmRhY20yMV9kZXZpY2UgKmRldiA9Cj4gc2RfdG9fcmRhY20yMShpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KSk7Cj4gwqAKPiBAQCAtNjIyLDggKzYyMiw2IEBAIHN0YXRpYyBpbnQgcmRhY20yMV9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwy X2N0cmxfaGFuZGxlcl9mcmVlKCZkZXYtPmN0cmxzKTsKPiDCoMKgwqDCoMKgwqDCoMKgaTJjX3Vu cmVnaXN0ZXJfZGV2aWNlKGRldi0+aXNwKTsKPiDCoMKgwqDCoMKgwqDCoMKgZndub2RlX2hhbmRs ZV9wdXQoZGV2LT5zZC5md25vZGUpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcmRhY20yMV9vZl9p ZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvcmo1NG4xY2IwYy5jCj4g Yi9kcml2ZXJzL21lZGlhL2kyYy9yajU0bjFjYjBjLmMKPiBpbmRleCAyZTQwMThjMjY5MTIuLjFj MzUwMmYzNGNkMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9yajU0bjFjYjBjLmMK PiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9yajU0bjFjYjBjLmMKPiBAQCAtMTM5OCw3ICsxMzk4 LDcgQEAgc3RhdGljIGludCByajU0bjFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg cmo1NG4xX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBy ajU0bjFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCByajU0bjEgKnJqNTRuMSA9IHRvX3JqNTRuMShjbGllbnQpOwo+IMKgCj4g QEAgLTE0MTAsOCArMTQxMCw2IEBAIHN0YXRpYyBpbnQgcmo1NG4xX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGNsa19wdXQocmo1NG4xLT5jbGsp Owo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZyajU0bjEtPmhkbCk7 Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfYXN5bmNfdW5yZWdpc3Rlcl9zdWJkZXYoJnJqNTRuMS0+ c3ViZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCByajU0bjFfaWRbXSA9IHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvczVjNzNtMy9zNWM3M20zLWNvcmUuYwo+IGIvZHJpdmVy cy9tZWRpYS9pMmMvczVjNzNtMy9zNWM3M20zLWNvcmUuYwo+IGluZGV4IGUyYjg4YzVlNGY5OC4u ZDk2YmE1OGNlMWU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3M1YzczbTMvczVj NzNtMy1jb3JlLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWM3M20zL3M1YzczbTMtY29y ZS5jCj4gQEAgLTE3NzAsNyArMTc3MCw3IEBAIHN0YXRpYyBpbnQgczVjNzNtM19wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBzNWM3M20zX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzNWM3M20zX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKm9pZl9z ZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg czVjNzNtMyAqc3RhdGUgPSBvaWZfc2RfdG9fczVjNzNtMyhvaWZfc2QpOwo+IEBAIC0xNzg1LDgg KzE3ODUsNiBAQCBzdGF0aWMgaW50IHM1YzczbTNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4g KmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5X2NsZWFudXAoJnNlbnNvcl9z ZC0+ZW50aXR5KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBzNWM3M20zX3VucmVnaXN0ZXJfc3Bp X2RyaXZlcihzdGF0ZSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgczVjNzNtM19pZFtdID0gewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9zNWs0ZWNneC5jCj4gYi9kcml2ZXJzL21l ZGlhL2kyYy9zNWs0ZWNneC5jCj4gaW5kZXggYWY5YTMwNTI0MmNkLi4zZGRkY2Q5ZGQzNTEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvczVrNGVjZ3guYwo+ICsrKyBiL2RyaXZlcnMv bWVkaWEvaTJjL3M1azRlY2d4LmMKPiBAQCAtOTk2LDcgKzk5Niw3IEBAIHN0YXRpYyBpbnQgczVr NGVjZ3hfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgczVrNGVjZ3hfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHM1azRlY2d4X3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg djRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBzNWs0ZWNneCAqcHJpdiA9IHRvX3M1azRlY2d4KHNkKTsKPiBAQCAtMTAw Niw4ICsxMDA2LDYgQEAgc3RhdGljIGludCBzNWs0ZWNneF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1 YmRldihzZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJnByaXYt PmhhbmRsZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc2QtPmVu dGl0eSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgczVrNGVjZ3hfaWRbXSA9IHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvczVrNWJhZi5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy9z NWs1YmFmLmMKPiBpbmRleCA2YTVkY2ViNjk5YTguLjVjMjI1M2FiM2I2ZiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL21lZGlhL2kyYy9zNWs1YmFmLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9z NWs1YmFmLmMKPiBAQCAtMjAxOCw3ICsyMDE4LDcgQEAgc3RhdGljIGludCBzNWs1YmFmX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgczVrNWJhZl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmMp Cj4gK3N0YXRpYyB2b2lkIHM1azViYWZfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjKQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGll bnRkYXRhKGMpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgczVrNWJhZiAqc3RhdGUgPSB0b19z NWs1YmFmKHNkKTsKPiBAQCAtMjAzMCw4ICsyMDMwLDYgQEAgc3RhdGljIGludCBzNWs1YmFmX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqYykKPiDCoMKgwqDCoMKgwqDCoMKgc2QgPSAmc3RhdGUt PmNpc19zZDsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYo c2QpOwo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmc2QtPmVudGl0eSk7 Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29u c3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgczVrNWJhZl9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL21lZGlhL2kyYy9zNWs2YTMuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL3M1azZhMy5jCj4g aW5kZXggZjZlY2Y2ZjkyYmIyLi5hNGVmZDZkMTBiNDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9t ZWRpYS9pMmMvczVrNmEzLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWs2YTMuYwo+IEBA IC0zNTQsMTQgKzM1NCwxMyBAQCBzdGF0aWMgaW50IHM1azZhM19wcm9iZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAK PiAtc3RhdGljIGludCBzNWs2YTNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIHM1azZhM19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDC oHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xp ZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJs ZSgmY2xpZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2FzeW5jX3VucmVnaXN0ZXJf c3ViZGV2KHNkKTsKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5X2NsZWFudXAoJnNkLT5l bnRpdHkpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg Y29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgczVrNmEzX2lkc1tdID0gewo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL21lZGlhL2kyYy9zNWs2YWEuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL3M1azZhYS5j Cj4gaW5kZXggMTA1YTRiN2Q4MzU0Li4wNTkyMTE3ODhhNjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9tZWRpYS9pMmMvczVrNmFhLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWs2YWEuYwo+ IEBAIC0xNjIxLDE1ICsxNjIxLDEzIEBAIHN0YXRpYyBpbnQgczVrNmFhX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IHM1azZhYV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgczVrNmFhX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dl dF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2Vf dW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxl cl9mcmVlKHNkLT5jdHJsX2hhbmRsZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlf Y2xlYW51cCgmc2QtPmVudGl0eSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgczVrNmFhX2lkW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTY1ODguYwo+IGIvZHJpdmVy cy9tZWRpYS9pMmMvc2FhNjU4OC5jCj4gaW5kZXggZDFlMDcxNmJkZmZmLi5kNmE1MWJlYWJkMDIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvc2FhNjU4OC5jCj4gKysrIGIvZHJpdmVy cy9tZWRpYS9pMmMvc2FhNjU4OC5jCj4gQEAgLTQ4NCw3ICs0ODQsNyBAQCBzdGF0aWMgaW50IHNh YTY1ODhfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHNhYTY1ODhfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHNhYTY1ODhfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwy X3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IHNhYTY1ODggKnMgPSB0b19zYWE2NTg4KHNkKTsKPiBAQCAtNDkyLDggKzQ5Miw2 IEBAIHN0YXRpYyBpbnQgc2FhNjU4OF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4g wqAKPiDCoMKgwqDCoMKgwqDCoMKgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZzLT53b3JrKTsK PiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gLS0tLS0tICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTY3NTJocy5j Cj4gYi9kcml2ZXJzL21lZGlhL2kyYy9zYWE2NzUyaHMuYwo+IGluZGV4IGE3ZjA0M2NhZDE0OS4u NTkyOGNjNmY0NTk1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTY3NTJocy5j Cj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvc2FhNjc1MmhzLmMKPiBAQCAtNzY0LDEzICs3NjQs MTIgQEAgc3RhdGljIGludCBzYWE2NzUyaHNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IHNhYTY3NTJoc19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZv aWQgc2FhNjc1MmhzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9z dWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZ0b19z dGF0ZShzZCktPmhkbCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDC oHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBzYWE2NzUyaHNfaWRbXSA9IHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvc2FhNzExMC5jCj4gYi9kcml2ZXJzL21lZGlh L2kyYy9zYWE3MTEwLmMKPiBpbmRleCAwYzdhOWNlMGE2OTMuLjUwNjc1MjVkOGIxMSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9zYWE3MTEwLmMKPiArKysgYi9kcml2ZXJzL21lZGlh L2kyYy9zYWE3MTEwLmMKPiBAQCAtNDI4LDE0ICs0MjgsMTMgQEAgc3RhdGljIGludCBzYWE3MTEw X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBzYWE3MTEwX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzYWE3MTEwX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJk ZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCBzYWE3MTEwICpkZWNvZGVyID0gdG9fc2FhNzExMChzZCk7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKg wqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZkZWNvZGVyLT5oZGwpOwo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0tLSAqLwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9zYWE3MTE1LmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJj L3NhYTcxMTUuYwo+IGluZGV4IDE1ZmY4MGU2MzAxZS4uODZlNzBhOTgwMjE4IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTcxMTUuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJj L3NhYTcxMTUuYwo+IEBAIC0xOTI3LDEzICsxOTI3LDEyIEBAIHN0YXRpYyBpbnQgc2FhNzExeF9w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g LS0tLS0tICovCj4gwqAKPiAtc3RhdGljIGludCBzYWE3MTF4X3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzYWE3MTF4X3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYg KnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg djRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwy X2N0cmxfaGFuZGxlcl9mcmVlKHNkLT5jdHJsX2hhbmRsZXIpOwo+IC3CoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQg c2FhNzExeF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9zYWE3MTI3 LmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTcxMjcuYwo+IGluZGV4IDg5MTE5MmY2NDEyYS4u NzhjOTM4OGMyZWExIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTcxMjcuYwo+ ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTcxMjcuYwo+IEBAIC03ODUsMTQgKzc4NSwxMyBA QCBzdGF0aWMgaW50IHNhYTcxMjdfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+ IMKgCj4gwqAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0tLSAqLwo+IMKgCj4gLXN0YXRpYyBpbnQgc2FhNzEy N19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgc2FhNzEy N19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNkKTsK PiDCoMKgwqDCoMKgwqDCoMKgLyogVHVybiBvZmYgVFYgb3V0cHV0ICovCj4gwqDCoMKgwqDCoMKg wqDCoHNhYTcxMjdfc2V0X3ZpZGVvX2VuYWJsZShzZCwgMCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gLS0tLS0tICovCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTcxN3guYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvc2Fh NzE3eC5jCj4gaW5kZXggYWRmOTA1MzYwMTcxLi40ZjNkMWI0MzJhNGUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZWRpYS9pMmMvc2FhNzE3eC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvc2Fh NzE3eC5jCj4gQEAgLTEzMjQsMTMgKzEzMjQsMTIgQEAgc3RhdGljIGludCBzYWE3MTd4X3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBzYWE3MTd4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzYWE3MTd4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNk ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRs Ml9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0 cmxfaGFuZGxlcl9mcmVlKHNkLT5jdHJsX2hhbmRsZXIpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0tLSAqLwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL21lZGlhL2kyYy9zYWE3MTg1LmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTcx ODUuYwo+IGluZGV4IDdhMDQ0MjJkZjhjOC4uMjY2NDYyMzI1ZDMwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvbWVkaWEvaTJjL3NhYTcxODUuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTcx ODUuYwo+IEBAIC0zMjIsNyArMzIyLDcgQEAgc3RhdGljIGludCBzYWE3MTg1X3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBzYWE3MTg1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+ICtzdGF0aWMgdm9pZCBzYWE3MTg1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJj X2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzYWE3MTg1 ICplbmNvZGVyID0gdG9fc2FhNzE4NShzZCk7Cj4gQEAgLTMzMCw3ICszMzAsNiBAQCBzdGF0aWMg aW50IHNhYTcxODVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDC oMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDC oMKgwqAvKiBTVzogb3V0cHV0IG9mZiBpcyBhY3RpdmUgKi8KPiDCoMKgwqDCoMKgwqDCoMKgc2Fh NzE4NV93cml0ZShzZCwgMHg2MSwgKGVuY29kZXItPnJlZ1sweDYxXSkgfCAweDQwKTsKPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tLS0g Ki8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvc29ueS1idGYtbXB4LmMKPiBiL2Ry aXZlcnMvbWVkaWEvaTJjL3NvbnktYnRmLW1weC5jCj4gaW5kZXggYWQyMzkyODBjNDJlLi45Mjdh OWVjNDE0NjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvc29ueS1idGYtbXB4LmMK PiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9zb255LWJ0Zi1tcHguYwo+IEBAIC0zNTcsMTMgKzM1 NywxMSBAQCBzdGF0aWMgaW50IHNvbnlfYnRmX21weF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRp YyBpbnQgc29ueV9idGZfbXB4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtz dGF0aWMgdm9pZCBzb255X2J0Zl9tcHhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2RldmljZV91 bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gwqAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0tLSAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL2kyYy9zcjAzMHBjMzAuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvc3IwMzBwYzMwLmMK PiBpbmRleCAxOWMwMjUyZGYyZjEuLmZmMTg2OTNiZWI1YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L21lZGlhL2kyYy9zcjAzMHBjMzAuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3NyMDMwcGMz MC5jCj4gQEAgLTczMiwxMyArNzMyLDEyIEBAIHN0YXRpYyBpbnQgc3IwMzBwYzMwX3Byb2JlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBzcjAzMHBjMzBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHNyMDMwcGMzMF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpz ZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0 bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNkKTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9j dHJsX2hhbmRsZXJfZnJlZShzZC0+Y3RybF9oYW5kbGVyKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHNy MDMwcGMzMF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9zdC1taXBp ZDAyLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9zdC0KPiBtaXBpZDAyLmMKPiBpbmRleCBlZjk3NmQw ODVkNzIuLjAzODkyMjNhNjFmNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9zdC1t aXBpZDAyLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy9zdC1taXBpZDAyLmMKPiBAQCAtMTA0 MSw3ICsxMDQxLDcgQEAgc3RhdGljIGludCBtaXBpZDAyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1z dGF0aWMgaW50IG1pcGlkMDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0 YXRpYyB2b2lkIG1pcGlkMDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVu dGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG1pcGlkMDJfZGV2ICpicmlk Z2UgPSB0b19taXBpZDAyX2RldihzZCk7Cj4gQEAgLTEwNTIsOCArMTA1Miw2IEBAIHN0YXRpYyBp bnQgbWlwaWQwMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKg wqDCoMKgwqBtaXBpZDAyX3NldF9wb3dlcl9vZmYoYnJpZGdlKTsKPiDCoMKgwqDCoMKgwqDCoMKg bWVkaWFfZW50aXR5X2NsZWFudXAoJmJyaWRnZS0+c2QuZW50aXR5KTsKPiDCoMKgwqDCoMKgwqDC oMKgbXV0ZXhfZGVzdHJveSgmYnJpZGdlLT5sb2NrKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG1p cGlkMDJfZHRfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL3RjMzU4 NzQzLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL3RjMzU4NzQzLmMKPiBpbmRleCBlMThiODk0N2Fk N2UuLmQ5OWVlZGJkZjAxMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy90YzM1ODc0 My5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvdGMzNTg3NDMuYwo+IEBAIC0yMTY5LDcgKzIx NjksNyBAQCBzdGF0aWMgaW50IHRjMzU4NzQzX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMg aW50IHRjMzU4NzQzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMg dm9pZCB0YzM1ODc0M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdGMzNTg3NDNfc3RhdGUgKnN0YXRl ID0gdG9fc3RhdGUoc2QpOwo+IEBAIC0yMTg1LDggKzIxODUsNiBAQCBzdGF0aWMgaW50IHRjMzU4 NzQzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDC oG11dGV4X2Rlc3Ryb3koJnN0YXRlLT5jb25mY3RsX211dGV4KTsKPiDCoMKgwqDCoMKgwqDCoMKg bWVkaWFfZW50aXR5X2NsZWFudXAoJnNkLT5lbnRpdHkpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwy X2N0cmxfaGFuZGxlcl9mcmVlKCZzdGF0ZS0+aGRsKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB0 YzM1ODc0M19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy90ZGExOTk3 eC5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy90ZGExOTk3eC5jCj4gaW5kZXggOGZhZmNlMjZkNjJm Li40N2Q2MGY5YTY1NmYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvdGRhMTk5N3gu Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3RkYTE5OTd4LmMKPiBAQCAtMjgwNSw3ICsyODA1 LDcgQEAgc3RhdGljIGludCB0ZGExOTk3eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCB0ZGExOTk3eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZv aWQgdGRhMTk5N3hfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRkYTE5OTd4X3N0YXRlICpzdGF0ZSA9 IHRvX3N0YXRlKHNkKTsKPiBAQCAtMjgyNyw4ICsyODI3LDYgQEAgc3RhdGljIGludCB0ZGExOTk3 eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBt dXRleF9kZXN0cm95KCZzdGF0ZS0+bG9jayk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUo c3RhdGUpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIHN0cnVjdCBpMmNfZHJpdmVyIHRkYTE5OTd4X2kyY19kcml2ZXIgPSB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvaTJjL3RkYTc0MzIuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvdGRh NzQzMi5jCj4gaW5kZXggY2JkYzliZTBhNTk3Li4xMWU5MTgzMTFiMTMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZWRpYS9pMmMvdGRhNzQzMi5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvdGRh NzQzMi5jCj4gQEAgLTM5MCw3ICszOTAsNyBAQCBzdGF0aWMgaW50IHRkYTc0MzJfcHJvYmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IHRkYTc0MzJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIHRkYTc0MzJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRkYTc0 MzIgKnQgPSB0b19zdGF0ZShzZCk7Cj4gQEAgLTM5OCw3ICszOTgsNiBAQCBzdGF0aWMgaW50IHRk YTc0MzJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDC oMKgdGRhNzQzMl9zZXQoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2RldmljZV91bnJlZ2lz dGVyX3N1YmRldihzZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUo JnQtPmhkbCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRp YyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB0ZGE3NDMyX2lkW10gPSB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvaTJjL3RkYTk4NDAuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvdGRh OTg0MC5jCj4gaW5kZXggOGM2ZGZlNzQ2YjIwLi5hYWE3NDk0NGZjN2MgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZWRpYS9pMmMvdGRhOTg0MC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvdGRh OTg0MC5jCj4gQEAgLTE3NSwxMiArMTc1LDExIEBAIHN0YXRpYyBpbnQgdGRhOTg0MF9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdGRhOTg0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgdGRhOTg0MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9 IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJf ZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNkKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHRkYTk4NDBf aWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvdGVhNjQxNWMuYwo+IGIv ZHJpdmVycy9tZWRpYS9pMmMvdGVhNjQxNWMuYwo+IGluZGV4IDY3Mzc4ZGJjYzc0Yi4uNTBlNzQz MTRmMzE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3RlYTY0MTVjLmMKPiArKysg Yi9kcml2ZXJzL21lZGlhL2kyYy90ZWE2NDE1Yy5jCj4gQEAgLTEzNCwxMiArMTM0LDExIEBAIHN0 YXRpYyBpbnQgdGVhNjQxNWNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRlYTY0MTVj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0ZWE2NDE1 Y19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNkKTsK PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0 cnVjdCBpMmNfZGV2aWNlX2lkIHRlYTY0MTVjX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWVkaWEvaTJjL3RlYTY0MjAuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvdGVhNjQyMC5jCj4g aW5kZXggNzEyMTQxYjI2MWVkLi4yNDZmMmIxMGNjYzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9t ZWRpYS9pMmMvdGVhNjQyMC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvdGVhNjQyMC5jCj4g QEAgLTExNiwxMiArMTE2LDExIEBAIHN0YXRpYyBpbnQgdGVhNjQyMF9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgdGVhNjQyMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgdGVhNjQyMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRf Y2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3Vu cmVnaXN0ZXJfc3ViZGV2KHNkKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHRlYTY0MjBfaWRbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvdGhzNzMwMy5jCj4gYi9kcml2ZXJzL21l ZGlhL2kyYy90aHM3MzAzLmMKPiBpbmRleCA4MjA2YmY3YTVhOGYuLjJhMGY5YTNkMWE2NiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy90aHM3MzAzLmMKPiArKysgYi9kcml2ZXJzL21l ZGlhL2kyYy90aHM3MzAzLmMKPiBAQCAtMzU4LDEzICszNTgsMTEgQEAgc3RhdGljIGludCB0aHM3 MzAzX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0aHM3MzAzX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0aHM3MzAzX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9z dWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2 aWNlX2lkIHRoczczMDNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMv dGhzODIwMC5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy90aHM4MjAwLmMKPiBpbmRleCBjNTJmZTg0 Y2JhMWIuLjA4MWVmNWE0Yjk1MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy90aHM4 MjAwLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy90aHM4MjAwLmMKPiBAQCAtNDY4LDcgKzQ2 OCw3IEBAIHN0YXRpYyBpbnQgdGhzODIwMF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg dGhzODIwMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg dGhzODIwMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdGhzODIwMF9zdGF0ZSAqZGVjb2RlciA9IHRv X3N0YXRlKHNkKTsKPiBAQCAtNDc4LDggKzQ3OCw2IEBAIHN0YXRpYyBpbnQgdGhzODIwMF9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHRo czgyMDBfc19wb3dlcihzZCwgZmFsc2UpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2FzeW5jX3Vu cmVnaXN0ZXJfc3ViZGV2KCZkZWNvZGVyLT5zZCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgdGhz ODIwMF9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy90bHYzMjBhaWMy M2IuYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvdGx2MzIwYWljMjNiLmMKPiBpbmRleCBlNGMyMTk5 MGZlYTkuLjkzN2ZhMWRiYWVjYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy90bHYz MjBhaWMyM2IuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3RsdjMyMGFpYzIzYi5jCj4gQEAg LTE3NywxNCArMTc3LDEzIEBAIHN0YXRpYyBpbnQgdGx2MzIwYWljMjNiX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCB0bHYzMjBhaWMyM2JfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIHRsdjMyMGFpYzIzYl9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpz ZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg dGx2MzIwYWljMjNiX3N0YXRlICpzdGF0ZSA9IHRvX3N0YXRlKHNkKTsKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqB2NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4gwqDCoMKgwqDCoMKg wqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJnN0YXRlLT5oZGwpOwo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0tLSAqLwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy90dmF1ZGlvLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJj L3R2YXVkaW8uYwo+IGluZGV4IGU2Nzk2ZTk0ZGFkZi4uOWYxZWQwNzhiNjYxIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvbWVkaWEvaTJjL3R2YXVkaW8uYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJj L3R2YXVkaW8uYwo+IEBAIC0yMDY1LDcgKzIwNjUsNyBAQCBzdGF0aWMgaW50IHR2YXVkaW9fcHJv YmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LCBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9p ZCAqCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg dHZhdWRpb19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg dHZhdWRpb19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgQ0hJUFNUQVRFICpjaGlwID0gdG9fc3RhdGUo c2QpOwo+IEBAIC0yMDc5LDcgKzIwNzksNiBAQCBzdGF0aWMgaW50IHR2YXVkaW9fcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2Rl dmljZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9o YW5kbGVyX2ZyZWUoJmNoaXAtPmhkbCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoC8qIFRoaXMgZHJpdmVyIHN1cHBvcnRzIG1hbnkgZGV2aWNlcyBhbmQgdGhlIGlk ZWEgaXMgdG8gbGV0IHRoZQo+IGRyaXZlcgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2ky Yy90dnA1MTR4LmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL3R2cDUxNHguYwo+IGluZGV4IGNlZTYw Zjk0NTAzNi4uYTc0NmQ5Njg3NWY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3R2 cDUxNHguYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3R2cDUxNHguYwo+IEBAIC0xMTIxLDcg KzExMjEsNyBAQCB0dnA1MTR4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIGNvbnN0 Cj4gc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQo+IMKgICogVW5yZWdpc3RlciBkZWNvZGVyIGFz IGFuIGkyYyBjbGllbnQgZGV2aWNlIGFuZCBWNEwyCj4gwqAgKiBkZXZpY2UuIENvbXBsZW1lbnQg b2YgdHZwNTE0eF9wcm9iZSgpLgo+IMKgICovCj4gLXN0YXRpYyBpbnQgdHZwNTE0eF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHZwNTE0eF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgdHZwNTE0eF9kZWNvZGVyICpkZWNvZGVyID0gdG9fZGVjb2RlcihzZCk7 Cj4gQEAgLTExMjksNyArMTEyOSw2IEBAIHN0YXRpYyBpbnQgdHZwNTE0eF9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2FzeW5jX3VucmVn aXN0ZXJfc3ViZGV2KCZkZWNvZGVyLT5zZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoG1lZGlhX2VudGl0 eV9jbGVhbnVwKCZkZWNvZGVyLT5zZC5lbnRpdHkpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0 cmxfaGFuZGxlcl9mcmVlKCZkZWNvZGVyLT5oZGwpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgLyogVFZQNTE0NiBJbml0L1Bvd2VyIG9uIFNlcXVlbmNlICovCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IHR2cDUxNHhfcmVnIHR2cDUxNDZfaW5pdF9yZWdfc2VxW10gPSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL3R2cDUxNTAuYwo+IGIvZHJpdmVycy9tZWRp YS9pMmMvdHZwNTE1MC5jCj4gaW5kZXggNjU0NzI0Mzg0NDRiLi5kZTIxZTY3YzA3MDkgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvdHZwNTE1MC5jCj4gKysrIGIvZHJpdmVycy9tZWRp YS9pMmMvdHZwNTE1MC5jCj4gQEAgLTIyMzAsNyArMjIzMCw3IEBAIHN0YXRpYyBpbnQgdHZwNTE1 MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqYykKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJl czsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHR2cDUxNTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjKQo+ICtzdGF0aWMgdm9pZCB0dnA1MTUwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq YykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19n ZXRfY2xpZW50ZGF0YShjKTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHR2cDUxNTAgKmRlY29k ZXIgPSB0b190dnA1MTUwKHNkKTsKPiBAQCAtMjI1MCw4ICsyMjUwLDYgQEAgc3RhdGljIGludCB0 dnA1MTUwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqYykKPiDCoMKgwqDCoMKgwqDCoMKgdjRs Ml9jdHJsX2hhbmRsZXJfZnJlZSgmZGVjb2Rlci0+aGRsKTsKPiDCoMKgwqDCoMKgwqDCoMKgcG1f cnVudGltZV9kaXNhYmxlKCZjLT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3Nl dF9zdXNwZW5kZWQoJmMtPmRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gwqAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0tLSAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL2kyYy90dnA3MDAyLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL3R2cDcwMDIuYwo+IGlu ZGV4IDJkZTE4ODMzYjA3Yi4uNGNjZDIxOGY1NTg0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVk aWEvaTJjL3R2cDcwMDIuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3R2cDcwMDIuYwo+IEBA IC0xMDQ0LDcgKzEwNDQsNyBAQCBzdGF0aWMgaW50IHR2cDcwMDJfcHJvYmUoc3RydWN0IGkyY19j bGllbnQgKmMpCj4gwqAgKiBSZXNldCB0aGUgVFZQNzAwMiBkZXZpY2UKPiDCoCAqIFJldHVybnMg emVyby4KPiDCoCAqLwo+IC1zdGF0aWMgaW50IHR2cDcwMDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjKQo+ICtzdGF0aWMgdm9pZCB0dnA3MDAyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq YykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19n ZXRfY2xpZW50ZGF0YShjKTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHR2cDcwMDIgKmRldmlj ZSA9IHRvX3R2cDcwMDIoc2QpOwo+IEBAIC0xMDU2LDcgKzEwNTYsNiBAQCBzdGF0aWMgaW50IHR2 cDcwMDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjKQo+IMKgwqDCoMKgwqDCoMKgwqBtZWRp YV9lbnRpdHlfY2xlYW51cCgmZGV2aWNlLT5zZC5lbnRpdHkpOwo+IMKgI2VuZGlmCj4gwqDCoMKg wqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJmRldmljZS0+aGRsKTsKPiAtwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyogSTJDIERldmljZSBJRCB0YWJsZSAq Lwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy90dzI4MDQuYyBiL2RyaXZlcnMvbWVk aWEvaTJjL3R3MjgwNC5jCj4gaW5kZXggY2QwNWYxZmY1MDRkLi5jN2M4ZGZlOGE4YTggMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvdHcyODA0LmMKPiArKysgYi9kcml2ZXJzL21lZGlh L2kyYy90dzI4MDQuYwo+IEBAIC00MDUsMTQgKzQwNSwxMyBAQCBzdGF0aWMgaW50IHR3MjgwNF9w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdHcyODA0X3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0dzI4MDRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAq c2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHR3MjgwNCAqc3RhdGUgPSB0b19zdGF0ZShzZCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRs Ml9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0 cmxfaGFuZGxlcl9mcmVlKCZzdGF0ZS0+aGRsKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHR3MjgwNF9p ZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy90dzk5MDMuYyBiL2RyaXZl cnMvbWVkaWEvaTJjL3R3OTkwMy5jCj4gaW5kZXggZjhlM2FiNDkwOWQ4Li5kN2VlZjc5ODZiNzUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvdHc5OTAzLmMKPiArKysgYi9kcml2ZXJz L21lZGlhL2kyYy90dzk5MDMuYwo+IEBAIC0yMzUsMTMgKzIzNSwxMiBAQCBzdGF0aWMgaW50IHR3 OTkwM19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdHc5OTAzX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0dzk5MDNfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1 YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDC oMKgwqB2NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4gwqDCoMKgwqDCoMKgwqDC oHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJnRvX3N0YXRlKHNkKS0+aGRsKTsKPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tLS0gKi8KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvdHc5OTA2LmMgYi9kcml2ZXJzL21lZGlhL2ky Yy90dzk5MDYuYwo+IGluZGV4IGM1MjhlYjAxZmVkMC4uNTQ5YWQ4ZjcyZjEyIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvbWVkaWEvaTJjL3R3OTkwNi5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMv dHc5OTA2LmMKPiBAQCAtMjAzLDEzICsyMDMsMTIgQEAgc3RhdGljIGludCB0dzk5MDZfcHJvYmUo c3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHR3OTkwNl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHc5OTA2X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9k ZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxf aGFuZGxlcl9mcmVlKCZ0b19zdGF0ZShzZCktPmhkbCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gLS0tLS0tICovCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbWVkaWEvaTJjL3R3OTkxMC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvdHc5OTEwLmMK PiBpbmRleCAwOWY1YjM5ODY5MjguLjg1M2I1YWNlYWQzMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L21lZGlhL2kyYy90dzk5MTAuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3R3OTkxMC5jCj4g QEAgLTk5Myw3ICs5OTMsNyBAQCBzdGF0aWMgaW50IHR3OTkxMF9wcm9iZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAK PiAtc3RhdGljIGludCB0dzk5MTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIHR3OTkxMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDC oHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHR3OTkxMF9wcml2ICpwcml2ID0gdG9fdHc5OTEw KGNsaWVudCk7Cj4gwqAKPiBAQCAtMTAwMSw4ICsxMDAxLDYgQEAgc3RhdGljIGludCB0dzk5MTBf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGdwaW9kX3B1dChwcml2LT5wZG5fZ3Bpbyk7Cj4gwqDCoMKgwqDCoMKgwqDC oGNsa19wdXQocHJpdi0+Y2xrKTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9hc3luY191bnJlZ2lz dGVyX3N1YmRldigmcHJpdi0+c3ViZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB0dzk5MTBf aWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvdWRhMTM0Mi5jCj4gYi9k cml2ZXJzL21lZGlhL2kyYy91ZGExMzQyLmMKPiBpbmRleCBiMGE5YzZkNzE2M2YuLmQwNjU5YzQz OTJmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2kyYy91ZGExMzQyLmMKPiArKysgYi9k cml2ZXJzL21lZGlhL2kyYy91ZGExMzQyLmMKPiBAQCAtNzIsMTIgKzcyLDExIEBAIHN0YXRpYyBp bnQgdWRhMTM0Ml9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdWRhMTM0Ml9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdWRhMTM0Ml9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNkKTsKPiAtwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNf ZGV2aWNlX2lkIHVkYTEzNDJfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9p MmMvdXBkNjQwMzFhLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL3VwZDY0MDMxYS5jCj4gaW5kZXgg ZWYzNWM2NTc0Nzg1Li40ZGUyNmVkMmJhMDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9p MmMvdXBkNjQwMzFhLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy91cGQ2NDAzMWEuYwo+IEBA IC0yMTAsMTIgKzIxMCwxMSBAQCBzdGF0aWMgaW50IHVwZDY0MDMxYV9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgdXBkNjQwMzFhX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCB1cGQ2NDAzMWFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNf Z2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2Rldmlj ZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gLS0tLS0tICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvaTJjL3VwZDY0MDgzLmMKPiBiL2RyaXZlcnMvbWVkaWEvaTJjL3VwZDY0MDgzLmMKPiBp bmRleCBkNmExNjk4Y2FhMmEuLjJiZmQ1NDQzZDQwNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21l ZGlhL2kyYy91cGQ2NDA4My5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvdXBkNjQwODMuYwo+ IEBAIC0xODEsMTIgKzE4MSwxMSBAQCBzdGF0aWMgaW50IHVwZDY0MDgzX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCB1cGQ2NDA4M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgdXBkNjQwODNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNf Z2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2Rldmlj ZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gLS0tLS0tICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvaTJjL3ZpZGVvLWkyYy5jIGIvZHJpdmVycy9tZWRpYS9pMmMvdmlkZW8tCj4gaTJjLmMK PiBpbmRleCBlMDhlMzU3OWMwYTEuLmYxNWVmMmQxMzA1OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L21lZGlhL2kyYy92aWRlby1pMmMuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3ZpZGVvLWky Yy5jCj4gQEAgLTg5NSw3ICs4OTUsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2kyY19wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCB2aWRlb19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHZpZGVvX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHZpZGVvX2kyY19kYXRh ICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtOTA4LDggKzkw OCw2IEBAIHN0YXRpYyBpbnQgdmlkZW9faTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLT5jaGlwLT5zZXRf cG93ZXIoZGF0YSwgZmFsc2UpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHZpZGVvX3VucmVnaXN0 ZXJfZGV2aWNlKCZkYXRhLT52ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfUE0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9pMmMvdnAyN3NtcHguYwo+IGIvZHJpdmVycy9tZWRpYS9pMmMvdnAyN3NtcHguYwo+IGluZGV4 IDQ5MmFmODc0OWZjYS4uYzgzMmVkYWQ1ZmE3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEv aTJjL3ZwMjdzbXB4LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy92cDI3c21weC5jCj4gQEAg LTE2MywxMiArMTYzLDExIEBAIHN0YXRpYyBpbnQgdnAyN3NtcHhfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IHZwMjdzbXB4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ ICtzdGF0aWMgdm9pZCB2cDI3c21weF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRf Y2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3Vu cmVnaXN0ZXJfc3ViZGV2KHNkKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tLS0gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9pMmMvdnB4MzIyMC5jCj4gYi9kcml2ZXJzL21lZGlhL2kyYy92cHgzMjIwLmMKPiBpbmRleCA4 YmUwM2ZlNTkyOGMuLmI0ODFlYzE5NmI4OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2ky Yy92cHgzMjIwLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2kyYy92cHgzMjIwLmMKPiBAQCAtNTI2 LDE1ICs1MjYsMTMgQEAgc3RhdGljIGludCB2cHgzMjIwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCB2cHgzMjIwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCB2cHgzMjIwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRk YXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2cHgzMjIwICpkZWNvZGVyID0g dG9fdnB4MzIyMChzZCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdp c3Rlcl9zdWJkZXYoc2QpOwo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVl KCZkZWNvZGVyLT5oZGwpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHZweDMyMjBfaWRbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvdnM2NjI0LmMgYi9kcml2ZXJzL21lZGlh L2kyYy92czY2MjQuYwo+IGluZGV4IDI5MDAzZGVjNmYyZC4uZDQ5NmJiNDVmMjAxIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3ZzNjYyNC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9p MmMvdnM2NjI0LmMKPiBAQCAtODI0LDEzICs4MjQsMTIgQEAgc3RhdGljIGludCB2czY2MjRfcHJv YmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4g cmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdnM2NjI0X3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB2czY2MjRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAq c2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2 NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJf Y3RybF9oYW5kbGVyX2ZyZWUoc2QtPmN0cmxfaGFuZGxlcik7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB2 czY2MjRfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvd204NzM5LmMg Yi9kcml2ZXJzL21lZGlhL2kyYy93bTg3MzkuYwo+IGluZGV4IGVkNTMzODM0ZGI1NC4uMTgwYjM1 MzQ3NTIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3dtODczOS5jCj4gKysrIGIv ZHJpdmVycy9tZWRpYS9pMmMvd204NzM5LmMKPiBAQCAtMjM0LDE0ICsyMzQsMTMgQEAgc3RhdGlj IGludCB3bTg3MzlfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHdtODczOV9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgd204NzM5X3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg djRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCB3bTg3Mzlfc3RhdGUgKnN0YXRlID0gdG9fc3RhdGUoc2QpOwo+IMKgCj4g wqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KHNkKTsKPiDCoMKg wqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgmc3RhdGUtPmhkbCk7Cj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJj X2RldmljZV9pZCB3bTg3MzlfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9p MmMvd204Nzc1LmMgYi9kcml2ZXJzL21lZGlhL2kyYy93bTg3NzUuYwo+IGluZGV4IGQ0YzgzYzM5 ODkyYS4uOGZmOTc4NjdkM2NkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3dtODc3 NS5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvd204Nzc1LmMKPiBAQCAtMjgwLDE0ICsyODAs MTMgQEAgc3RhdGljIGludCB3bTg3NzVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHdt ODc3NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgd204 Nzc1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB3bTg3NzVfc3RhdGUgKnN0YXRlID0gdG9fc3RhdGUo c2QpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2 KHNkKTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgmc3RhdGUtPmhk bCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25z dCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB3bTg3NzVfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZWRpYS9yYWRpby9yYWRpby10ZWE1NzY0LmMKPiBiL2RyaXZlcnMvbWVkaWEvcmFkaW8v cmFkaW8tdGVhNTc2NC5jCj4gaW5kZXggODc3YTI0ZTVjNTc3Li5hYmRhNDBlODE2MTIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9yYWRpby9yYWRpby10ZWE1NzY0LmMKPiArKysgYi9kcml2 ZXJzL21lZGlhL3JhZGlvL3JhZGlvLXRlYTU3NjQuYwo+IEBAIC00ODcsNyArNDg3LDcgQEAgc3Rh dGljIGludCB0ZWE1NzY0X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4g wqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0ZWE1 NzY0X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg dGVhNTc2NF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCB0ZWE1NzY0X2RldmljZSAqcmFkaW8gPSBpMmNfZ2V0X2NsaWVu dGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC00OTksNyArNDk5LDYgQEAgc3RhdGljIGludCB0ZWE1 NzY0X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3RlcigmcmFkaW8tPnY0bDJf ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGtmcmVlKHJhZGlvKTsKPiDC oMKgwqDCoMKgwqDCoMKgfQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqAvKiBJMkMgc3Vic3lzdGVtIGludGVyZmFjZSAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL3JhZGlvL3NhYTc3MDZoLmMKPiBiL2RyaXZlcnMvbWVkaWEvcmFkaW8vc2FhNzcwNmguYwo+ IGluZGV4IGFkYjY2Zjg2OWRkMi4uZjllOTkwYTljM2VmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv bWVkaWEvcmFkaW8vc2FhNzcwNmguYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcmFkaW8vc2FhNzcw NmguYwo+IEBAIC0zODQsNyArMzg0LDcgQEAgc3RhdGljIGludCBzYWE3NzA2aF9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBlcnI7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCBzYWE3NzA2aF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgc2FhNzcwNmhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2Qg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHNh YTc3MDZoX3N0YXRlICpzdGF0ZSA9IHRvX3N0YXRlKHNkKTsKPiBAQCAtMzkzLDcgKzM5Myw2IEBA IHN0YXRpYyBpbnQgc2FhNzcwNmhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkK PiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rlcl9zdWJkZXYoc2QpOwo+IMKg wqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZzdGF0ZS0+aGRsKTsKPiDCoMKg wqDCoMKgwqDCoMKga2ZyZWUodG9fc3RhdGUoc2QpKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHNhYTc3 MDZoX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcmFkaW8vc2k0NzB4L3Jh ZGlvLXNpNDcweC1pMmMuYwo+IGIvZHJpdmVycy9tZWRpYS9yYWRpby9zaTQ3MHgvcmFkaW8tc2k0 NzB4LWkyYy5jCj4gaW5kZXggNTliM2Q3N2UyODJkLi5hNmFkOTI2YzJiNGUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9tZWRpYS9yYWRpby9zaTQ3MHgvcmFkaW8tc2k0NzB4LWkyYy5jCj4gKysrIGIv ZHJpdmVycy9tZWRpYS9yYWRpby9zaTQ3MHgvcmFkaW8tc2k0NzB4LWkyYy5jCj4gQEAgLTQ2MSw3 ICs0NjEsNyBAQCBzdGF0aWMgaW50IHNpNDcweF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgLyoKPiDCoCAqIHNpNDcweF9pMmNfcmVtb3ZlIC0gcmVtb3ZlIHRoZSBk ZXZpY2UKPiDCoCAqLwo+IC1zdGF0aWMgaW50IHNpNDcweF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHNpNDcweF9pMmNfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzaTQ3MHhf ZGV2aWNlICpyYWRpbyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTQ3 Miw3ICs0NzIsNiBAQCBzdGF0aWMgaW50IHNpNDcweF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9m cmVlKCZyYWRpby0+aGRsKTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9kZXZpY2VfdW5yZWdpc3Rl cigmcmFkaW8tPnY0bDJfZGV2KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcmFkaW8vc2k0NzEzL3NpNDcxMy5j Cj4gYi9kcml2ZXJzL21lZGlhL3JhZGlvL3NpNDcxMy9zaTQ3MTMuYwo+IGluZGV4IGFkYmY0M2Zm NmEyMS4uMmFlYzY0MjEzM2ExIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcmFkaW8vc2k0 NzEzL3NpNDcxMy5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9yYWRpby9zaTQ3MTMvc2k0NzEzLmMK PiBAQCAtMTYyMyw3ICsxNjIzLDcgQEAgc3RhdGljIGludCBzaTQ3MTNfcHJvYmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50KQo+IMKgfQo+IMKgCj4gwqAvKiBzaTQ3MTNfcmVtb3ZlIC0gcmVt b3ZlIHRoZSBkZXZpY2UgKi8KPiAtc3RhdGljIGludCBzaTQ3MTNfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHNpNDcxM19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2 ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3Qgc2k0NzEzX2RldmljZSAqc2RldiA9IHRvX3NpNDcxM19kZXZpY2Uoc2QpOwo+IEBAIC0xNjM1 LDggKzE2MzUsNiBAQCBzdGF0aWMgaW50IHNpNDcxM19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJf c3ViZGV2KHNkKTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZShzZC0+ Y3RybF9oYW5kbGVyKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoC8qIHNpNDcxM19pMmNfZHJpdmVyIC0gaTJjIGRyaXZlciBpbnRlcmZhY2UgKi8KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9yYWRpby90ZWY2ODYyLmMKPiBiL2RyaXZlcnMvbWVkaWEv cmFkaW8vdGVmNjg2Mi5jCj4gaW5kZXggZDg4MTA0OTJkYjRmLi43YjA4NzBhOTc4NWIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9yYWRpby90ZWY2ODYyLmMKPiArKysgYi9kcml2ZXJzL21l ZGlhL3JhZGlvL3RlZjY4NjIuYwo+IEBAIC0xNjUsMTMgKzE2NSwxMiBAQCBzdGF0aWMgaW50IHRl ZjY4NjJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRlZjY4NjJfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHRlZjY4NjJfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwy X3N1YmRldiAqc2QgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqB2NGwyX2RldmljZV91bnJlZ2lzdGVyX3N1YmRldihzZCk7Cj4gwqDCoMKgwqDCoMKg wqDCoGtmcmVlKHRvX3N0YXRlKHNkKSk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB0ZWY2ODYyX2lkW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpZHR2L3ZpZHR2 X2RlbW9kLmMKPiBiL2RyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpZHR2L3ZpZHR2X2RlbW9k LmMKPiBpbmRleCBiNzgyM2Q5N2IzMGQuLmU3OTU5YWIxYWRkOCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aWR0di92aWR0dl9kZW1vZC5jCj4gKysrIGIvZHJpdmVy cy9tZWRpYS90ZXN0LWRyaXZlcnMvdmlkdHYvdmlkdHZfZGVtb2QuYwo+IEBAIC00MzgsMTMgKzQz OCwxMSBAQCBzdGF0aWMgaW50IHZpZHR2X2RlbW9kX2kyY19wcm9iZShzdHJ1Y3QKPiBpMmNfY2xp ZW50ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgdmlkdHZfZGVtb2RfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCB2aWR0dl9kZW1vZF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2aWR0dl9kZW1vZF9zdGF0 ZSAqc3RhdGUgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDC oMKgwqBrZnJlZShzdGF0ZSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgdmlkdHZfZGVtb2RfaTJjX2RyaXZlciA9 IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdmlkdHYvdmlkdHZf dHVuZXIuYwo+IGIvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdmlkdHYvdmlkdHZfdHVuZXIu Ywo+IGluZGV4IDE0YjZiYzkwMmVlMS4uYWFiYzk3ZWQ3MzZiIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpZHR2L3ZpZHR2X3R1bmVyLmMKPiArKysgYi9kcml2ZXJz L21lZGlhL3Rlc3QtZHJpdmVycy92aWR0di92aWR0dl90dW5lci5jCj4gQEAgLTQxNCwxMyArNDE0 LDExIEBAIHN0YXRpYyBpbnQgdmlkdHZfdHVuZXJfaTJjX3Byb2JlKHN0cnVjdAo+IGkyY19jbGll bnQgKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCB2aWR0dl90dW5lcl9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIHZpZHR2X3R1bmVyX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHZpZHR2X3R1bmVyX2RldiAq dHVuZXJfZGV2ID0KPiBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqBrZnJlZSh0dW5lcl9kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHZpZHR2X3R1bmVyX2kyY19k cml2ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdHVuZXJzL2U0MDAwLmMKPiBi L2RyaXZlcnMvbWVkaWEvdHVuZXJzL2U0MDAwLmMKPiBpbmRleCBhM2E4ZDA1MWRjNmMuLjYxYWU4 ODRlYTU5YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3R1bmVycy9lNDAwMC5jCj4gKysr IGIvZHJpdmVycy9tZWRpYS90dW5lcnMvZTQwMDAuYwo+IEBAIC03MDYsNyArNzA2LDcgQEAgc3Rh dGljIGludCBlNDAwMF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgZTQwMDBfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGU0MDAwX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg djRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBlNDAwMF9kZXYgKmRldiA9IGNvbnRhaW5lcl9vZihzZCwgc3RydWN0IGU0 MDAwX2RldiwKPiBzZCk7Cj4gQEAgLTcxNyw4ICs3MTcsNiBAQCBzdGF0aWMgaW50IGU0MDAwX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJf Y3RybF9oYW5kbGVyX2ZyZWUoJmRldi0+aGRsKTsKPiDCoCNlbmRpZgo+IMKgwqDCoMKgwqDCoMKg wqBrZnJlZShkZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGU0MDAwX2lkX3RhYmxlW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdHVuZXJzL2ZjMjU4MC5jCj4gYi9kcml2ZXJz L21lZGlhL3R1bmVycy9mYzI1ODAuYwo+IGluZGV4IDFiNTk2MWJkZjJkNS4uZjMwOTMyZTFhMGYz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvdHVuZXJzL2ZjMjU4MC5jCj4gKysrIGIvZHJp dmVycy9tZWRpYS90dW5lcnMvZmMyNTgwLmMKPiBAQCAtNTg4LDcgKzU4OCw3IEBAIHN0YXRpYyBp bnQgZmMyNTgwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGZjMjU4MF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgZmMyNTgwX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg ZmMyNTgwX2RldiAqZGV2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAt NTk4LDcgKzU5OCw2IEBAIHN0YXRpYyBpbnQgZmMyNTgwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJmRl di0+aGRsKTsKPiDCoCNlbmRpZgo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShkZXYpOwo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGky Y19kZXZpY2VfaWQgZmMyNTgwX2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvdHVuZXJzL204OHJzNjAwMHQuYwo+IGIvZHJpdmVycy9tZWRpYS90dW5lcnMvbTg4cnM2 MDAwdC5jCj4gaW5kZXggODY0N2M1MGI2NmU1Li5lMzJlM2U5ZGFhMTUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZWRpYS90dW5lcnMvbTg4cnM2MDAwdC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS90 dW5lcnMvbTg4cnM2MDAwdC5jCj4gQEAgLTY5Nyw3ICs2OTcsNyBAQCBzdGF0aWMgaW50IG04OHJz NjAwMHRfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbTg4cnM2MDAwdF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbTg4cnM2MDAwdF9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IG04OHJzNjAwMHRfZGV2ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IGR2Yl9mcm9udGVuZCAqZmUgPSBkZXYtPmNmZy5mZTsKPiBA QCAtNzA3LDggKzcwNyw2IEBAIHN0YXRpYyBpbnQgbTg4cnM2MDAwdF9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBtZW1zZXQoJmZlLT5vcHMudHVu ZXJfb3BzLCAwLCBzaXplb2Yoc3RydWN0IGR2Yl90dW5lcl9vcHMpKTsKPiDCoMKgwqDCoMKgwqDC oMKgZmUtPnR1bmVyX3ByaXYgPSBOVUxMOwo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShkZXYpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0 IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG04OHJzNjAwMHRfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS90dW5lcnMvbXQyMDYwLmMKPiBiL2RyaXZlcnMvbWVkaWEvdHVuZXJzL210 MjA2MC5jCj4gaW5kZXggMjA0ZTYxODZiZjcxLi4zMjJjODA2MjI4YTUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZWRpYS90dW5lcnMvbXQyMDYwLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL3R1bmVy cy9tdDIwNjAuYwo+IEBAIC01MDksMTEgKzUwOSw5IEBAIHN0YXRpYyBpbnQgbXQyMDYwX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJl dDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG10MjA2MF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbXQyMDYwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBkZXZfZGJnKCZjbGllbnQtPmRldiwg IlxuIik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbXQyMDYwX2lkX3RhYmxlW10gPSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdHVuZXJzL214bDMwMXJmLmMKPiBiL2RyaXZlcnMvbWVk aWEvdHVuZXJzL214bDMwMXJmLmMKPiBpbmRleCBjNjI4NDM1YTFiMDYuLjY0MjIwNTYxODVhOSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3R1bmVycy9teGwzMDFyZi5jCj4gKysrIGIvZHJp dmVycy9tZWRpYS90dW5lcnMvbXhsMzAxcmYuYwo+IEBAIC0zMDcsMTQgKzMwNywxMyBAQCBzdGF0 aWMgaW50IG14bDMwMXJmX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBteGwzMDFyZl9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbXhsMzAxcmZf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBteGwzMDFyZl9zdGF0ZSAqc3RhdGU7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgc3Rh dGUgPSBjZmdfdG9fc3RhdGUoaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCkpOwo+IMKgwqDCoMKg wqDCoMKgwqBzdGF0ZS0+Y2ZnLmZlLT50dW5lcl9wcml2ID0gTlVMTDsKPiDCoMKgwqDCoMKgwqDC oMKga2ZyZWUoc3RhdGUpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS90dW5lcnMvcW0xZDFiMDAwNC5jCj4gYi9k cml2ZXJzL21lZGlhL3R1bmVycy9xbTFkMWIwMDA0LmMKPiBpbmRleCAwMDhhZDg3MGMwMGYuLjlj YmEwODkzMjA3YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3R1bmVycy9xbTFkMWIwMDA0 LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL3R1bmVycy9xbTFkMWIwMDA0LmMKPiBAQCAtMjMyLDE0 ICsyMzIsMTMgQEAgcW0xZDFiMDAwNF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+ IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHFtMWQxYjAwMDRfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHFtMWQxYjAwMDRfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkdmJf ZnJvbnRlbmQgKmZlOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGZlID0gaTJjX2dldF9jbGllbnRk YXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGZlLT50dW5lcl9wcml2KTsKPiDC oMKgwqDCoMKgwqDCoMKgZmUtPnR1bmVyX3ByaXYgPSBOVUxMOwo+IC3CoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gwqAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS90dW5l cnMvcW0xZDFjMDA0Mi5jCj4gYi9kcml2ZXJzL21lZGlhL3R1bmVycy9xbTFkMWMwMDQyLmMKPiBp bmRleCA1M2FhMjU1OGY3MWUuLjJkNjBiZjUwMWZiNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21l ZGlhL3R1bmVycy9xbTFkMWMwMDQyLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL3R1bmVycy9xbTFk MWMwMDQyLmMKPiBAQCAtNDI0LDE0ICs0MjQsMTMgQEAgc3RhdGljIGludCBxbTFkMWMwMDQyX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBxbTFkMWMwMDQyX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBxbTFkMWMwMDQyX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcW0xZDFj MDA0Ml9zdGF0ZSAqc3RhdGU7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgc3RhdGUgPSBjZmdfdG9f c3RhdGUoaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCkpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdGF0 ZS0+Y2ZnLmZlLT50dW5lcl9wcml2ID0gTlVMTDsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoc3Rh dGUpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS90dW5lcnMvc2kyMTU3LmMKPiBiL2RyaXZlcnMvbWVkaWEvdHVu ZXJzL3NpMjE1Ny5jCj4gaW5kZXggMGRlNTg3YjQxMmQ0Li40NzZiMzJjMDRjMjAgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9tZWRpYS90dW5lcnMvc2kyMTU3LmMKPiArKysgYi9kcml2ZXJzL21lZGlh L3R1bmVycy9zaTIxNTcuYwo+IEBAIC05NTEsNyArOTUxLDcgQEAgc3RhdGljIGludCBzaTIxNTdf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc2kyMTU3X3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzaTIxNTdfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzaTIxNTdfZGV2 ICpkZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGR2Yl9mcm9udGVuZCAqZmUgPSBkZXYtPmZlOwo+IEBAIC05NjksOCArOTY5LDYgQEAgc3Rh dGljIGludCBzaTIxNTdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgbWVtc2V0KCZmZS0+b3BzLnR1bmVyX29wcywgMCwgc2l6ZW9mKHN0cnVjdCBk dmJfdHVuZXJfb3BzKSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGZlLT50dW5lcl9wcml2ID0gTlVMTDsK PiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdHVuZXJz L3RkYTE4MjEyLmMKPiBiL2RyaXZlcnMvbWVkaWEvdHVuZXJzL3RkYTE4MjEyLmMKPiBpbmRleCBi ZjQ4ZjFjZDgzZDIuLmViOTc3MTFjOWM2OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3R1 bmVycy90ZGExODIxMi5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS90dW5lcnMvdGRhMTgyMTIuYwo+ IEBAIC0yNDIsNyArMjQyLDcgQEAgc3RhdGljIGludCB0ZGExODIxMl9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCB0ZGExODIxMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgdGRhMTgyMTJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0ZGExODIxMl9kZXYgKmRldiA9IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZHZiX2Zy b250ZW5kICpmZSA9IGRldi0+Y2ZnLmZlOwo+IEBAIC0yNTIsOCArMjUyLDYgQEAgc3RhdGljIGlu dCB0ZGExODIxMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKg wqDCoMKgwqBtZW1zZXQoJmZlLT5vcHMudHVuZXJfb3BzLCAwLCBzaXplb2Yoc3RydWN0IGR2Yl90 dW5lcl9vcHMpKTsKPiDCoMKgwqDCoMKgwqDCoMKgZmUtPnR1bmVyX3ByaXYgPSBOVUxMOwo+IMKg wqDCoMKgwqDCoMKgwqBrZnJlZShkZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHRkYTE4MjEy X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdHVuZXJzL3RkYTE4MjUwLmMK PiBiL2RyaXZlcnMvbWVkaWEvdHVuZXJzL3RkYTE4MjUwLmMKPiBpbmRleCA4YTU3ODFiOTY2ZWUu LmU0MDRhNWFmYWQ0YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3R1bmVycy90ZGExODI1 MC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS90dW5lcnMvdGRhMTgyNTAuYwo+IEBAIC04NTYsNyAr ODU2LDcgQEAgc3RhdGljIGludCB0ZGExODI1MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCB0ZGExODI1MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGlj IHZvaWQgdGRhMTgyNTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0ZGExODI1MF9kZXYgKmRldiA9IGkyY19nZXRfY2xpZW50 ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZHZiX2Zyb250ZW5kICpmZSA9 IGRldi0+ZmU7Cj4gQEAgLTg2Niw4ICs4NjYsNiBAQCBzdGF0aWMgaW50IHRkYTE4MjUwX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG1lbXNldCgm ZmUtPm9wcy50dW5lcl9vcHMsIDAsIHNpemVvZihzdHJ1Y3QgZHZiX3R1bmVyX29wcykpOwo+IMKg wqDCoMKgwqDCoMKgwqBmZS0+dHVuZXJfcHJpdiA9IE5VTEw7Cj4gwqDCoMKgwqDCoMKgwqDCoGtm cmVlKGRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgdGRhMTgyNTBfaWRfdGFibGVbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS90dW5lcnMvdHVhOTAwMS5jCj4gYi9kcml2ZXJz L21lZGlhL3R1bmVycy90dWE5MDAxLmMKPiBpbmRleCBhZjdkNWVhMWY3N2UuLmQxNDFkMDAwYjgx OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3R1bmVycy90dWE5MDAxLmMKPiArKysgYi9k cml2ZXJzL21lZGlhL3R1bmVycy90dWE5MDAxLmMKPiBAQCAtMjI3LDcgKzIyNyw3IEBAIHN0YXRp YyBpbnQgdHVhOTAwMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0dWE5MDAxX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0dWE5MDAxX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgdHVhOTAwMV9kZXYgKmRldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZHZiX2Zyb250ZW5kICpmZSA9IGRldi0+ZmU7Cj4gQEAgLTI0 Myw3ICsyNDMsNiBAQCBzdGF0aWMgaW50IHR1YTkwMDFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBkZXZfZXJyKCZjbGllbnQtPmRldiwgIlR1bmVyIGRpc2FibGUgZmFpbGVkCj4gKCVwZSlc biIsIEVSUl9QVFIocmV0KSk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoMKgwqDCoMKgwqDCoMKg a2ZyZWUoZGV2KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHR1YTkwMDFfaWRfdGFibGVbXSA9IHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS91c2IvZ283MDA3L3MyMjUwLWJvYXJkLmMKPiBiL2Ry aXZlcnMvbWVkaWEvdXNiL2dvNzAwNy9zMjI1MC1ib2FyZC5jCj4gaW5kZXggMWZhNmYxMGVlMTU3 Li4yZjQ1MTg4YmY5ZDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS91c2IvZ283MDA3L3My MjUwLWJvYXJkLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL3VzYi9nbzcwMDcvczIyNTAtYm9hcmQu Ywo+IEBAIC02MDEsNyArNjAxLDcgQEAgc3RhdGljIGludCBzMjI1MF9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgczIyNTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIHMyMjUwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgczIyNTAgKnN0YXRlID0gdG9fc3RhdGUoaTJjX2dl dF9jbGllbnRkYXRhKGNsaWVudCkpOwo+IMKgCj4gQEAgLTYwOSw3ICs2MDksNiBAQCBzdGF0aWMg aW50IHMyMjUwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoHY0bDJfZGV2aWNlX3VucmVnaXN0ZXJfc3ViZGV2KCZzdGF0ZS0+c2QpOwo+IMKgwqDC oMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZzdGF0ZS0+aGRsKTsKPiDCoMKgwqDC oMKgwqDCoMKga2ZyZWUoc3RhdGUpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgczIyNTBfaWRbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdHVuZXItY29yZS5jCj4gYi9k cml2ZXJzL21lZGlhL3Y0bDItY29yZS90dW5lci1jb3JlLmMKPiBpbmRleCAyZDQ3YzEwZGUwNjIu LjMzMTYyZGMxZGFmNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS90dW5l ci1jb3JlLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS90dW5lci1jb3JlLmMKPiBA QCAtNzc5LDcgKzc3OSw3IEBAIHN0YXRpYyBpbnQgdHVuZXJfcHJvYmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCwKPiDCoCAqIEBjbGllbnQ6wqDCoMKgwqBpMmNfY2xpZW50IGRlc2NyaXB0b3IK PiDCoCAqLwo+IMKgCj4gLXN0YXRpYyBpbnQgdHVuZXJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHR1bmVyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdHVuZXIgKnQgPSB0b190dW5l cihpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KSk7Cj4gwqAKPiBAQCAtNzg5LDcgKzc4OSw2IEBA IHN0YXRpYyBpbnQgdHVuZXJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBsaXN0X2RlbCgmdC0+bGlzdCk7Cj4gwqDCoMKgwqDCoMKgwqDC oGtmcmVlKHQpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAvKgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC84OHBtODAwLmMgYi9kcml2ZXJzL21mZC84OHBtODAw LmMKPiBpbmRleCBlYWY5ODQ1NjMzYjQuLmEzMGU0N2I3NDMyNyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21mZC84OHBtODAwLmMKPiArKysgYi9kcml2ZXJzL21mZC84OHBtODAwLmMKPiBAQCAtNTgz LDcgKzU4Myw3IEBAIHN0YXRpYyBpbnQgcG04MDBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMg aW50IHBtODAwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBwbTgwMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IHBtODB4X2NoaXAgKmNoaXAgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoAo+IEBAIC01OTIsOCArNTkyLDYgQEAgc3RhdGljIGludCBwbTgwMF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHBtODAw X3BhZ2VzX2V4aXQoY2hpcCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtODB4X2RlaW5pdCgpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBp MmNfZHJpdmVyIHBtODAwX2RyaXZlciA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvODhw bTgwNS5jIGIvZHJpdmVycy9tZmQvODhwbTgwNS5jCj4gaW5kZXggYWRhNmM1MTMzMDJiLi4xMGQz NjM3ODQwYzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvODhwbTgwNS5jCj4gKysrIGIvZHJp dmVycy9tZmQvODhwbTgwNS5jCj4gQEAgLTIzOSw3ICsyMzksNyBAQCBzdGF0aWMgaW50IHBtODA1 X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBwbTgwNV9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcG04MDVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBwbTgweF9jaGlwICpj aGlwID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMjQ3LDggKzI0Nyw2 IEBAIHN0YXRpYyBpbnQgcG04MDVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkK PiDCoMKgwqDCoMKgwqDCoMKgZGV2aWNlX2lycV9leGl0XzgwNShjaGlwKTsKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqBwbTgweF9kZWluaXQoKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBwbTgwNV9kcml2ZXIgPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkLzg4cG04NjB4LWNvcmUuYyBiL2RyaXZlcnMvbWZk Lzg4cG04NjB4LQo+IGNvcmUuYwo+IGluZGV4IGIxZTgyOWVhOTA5Yi4uNWRjODZkZDY2MjAyIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkLzg4cG04NjB4LWNvcmUuYwo+ICsrKyBiL2RyaXZlcnMv bWZkLzg4cG04NjB4LWNvcmUuYwo+IEBAIC0xMjAxLDcgKzEyMDEsNyBAQCBzdGF0aWMgaW50IHBt ODYweF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcG04NjB4X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBwbTg2MHhfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBwbTg2MHhf Y2hpcCAqY2hpcCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTEyMTAs NyArMTIxMCw2IEBAIHN0YXRpYyBpbnQgcG04NjB4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZWdtYXBfZXhpdChj aGlwLT5yZWdtYXBfY29tcGFuaW9uKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGkyY191bnJlZ2lzdGVyX2RldmljZShjaGlwLT5jb21wYW5pb24pOwo+IMKgwqDCoMKgwqDCoMKg wqB9Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05G SUdfUE1fU0xFRVAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvYWNlci1lYy1hNTAwLmMgYi9k cml2ZXJzL21mZC9hY2VyLWVjLWE1MDAuYwo+IGluZGV4IDgwYzJmZGQxNGZjNC4uN2ZkOGI5OTg4 MDc1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL2FjZXItZWMtYTUwMC5jCj4gKysrIGIvZHJp dmVycy9tZmQvYWNlci1lYy1hNTAwLmMKPiBAQCAtMTY5LDcgKzE2OSw3IEBAIHN0YXRpYyBpbnQg YTUwMF9lY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYTUwMF9lY19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYTUwMF9lY19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKG9mX2Rl dmljZV9pc19zeXN0ZW1fcG93ZXJfY29udHJvbGxlcihjbGllbnQtCj4gPmRldi5vZl9ub2RlKSkg ewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKHBtX3Bvd2VyX29mZiA9PSBh NTAwX2VjX3Bvd2Vyb2ZmKQo+IEBAIC0xNzcsOCArMTc3LDYgQEAgc3RhdGljIGludCBhNTAwX2Vj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHVucmVnaXN0ZXJfcmVzdGFydF9oYW5kbGVyKCZhNTAwX2VjX3Jl c3RhcnRfaGFuZGxlcik7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lk IGE1MDBfZWNfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvYXJpem9uYS1p MmMuYyBiL2RyaXZlcnMvbWZkL2FyaXpvbmEtaTJjLmMKPiBpbmRleCA2ZDgzZTZiOWE2OTIuLmJm YzdjZjU2ZmYyYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21mZC9hcml6b25hLWkyYy5jCj4gKysr IGIvZHJpdmVycy9tZmQvYXJpem9uYS1pMmMuYwo+IEBAIC04NCwxMyArODQsMTEgQEAgc3RhdGlj IGludCBhcml6b25hX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMsCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiBhcml6b25hX2Rldl9pbml0KGFyaXpvbmEpOwo+IMKgfQo+IMKgCj4g LXN0YXRpYyBpbnQgYXJpem9uYV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4g K3N0YXRpYyB2b2lkIGFyaXpvbmFfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYXJpem9uYSAqYXJpem9uYSA9IGRldl9nZXRf ZHJ2ZGF0YSgmaTJjLT5kZXYpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGFyaXpvbmFfZGV2X2V4 aXQoYXJpem9uYSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYXJpem9uYV9pMmNfaWRbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvYXhwMjB4LWkyYy5jIGIvZHJpdmVycy9tZmQvYXhw MjB4LWkyYy5jCj4gaW5kZXggMDBhYjQ4MDE4ZDhkLi44ZmQ2NzI3ZGMzMGEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9tZmQvYXhwMjB4LWkyYy5jCj4gKysrIGIvZHJpdmVycy9tZmQvYXhwMjB4LWky Yy5jCj4gQEAgLTUwLDEzICs1MCwxMSBAQCBzdGF0aWMgaW50IGF4cDIweF9pMmNfcHJvYmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqaTJjLAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gYXhwMjB4X2Rl dmljZV9wcm9iZShheHAyMHgpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYXhwMjB4X2kyY19y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgYXhwMjB4X2kyY19y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGF4cDIweF9kZXYgKmF4cDIweCA9IGkyY19nZXRfY2xpZW50ZGF0YShpMmMpOwo+IMKgCj4g wqDCoMKgwqDCoMKgwqDCoGF4cDIweF9kZXZpY2VfcmVtb3ZlKGF4cDIweCk7Cj4gLQo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX09GCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWZkL2RhOTAzeC5jIGIvZHJpdmVycy9tZmQvZGE5MDN4LmMKPiBp bmRleCBhODE4ZmJiNTU5ODguLjNmOGY2YWQzYTk4YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21m ZC9kYTkwM3guYwo+ICsrKyBiL2RyaXZlcnMvbWZkL2RhOTAzeC5jCj4gQEAgLTUzMiwxMiArNTMy LDExIEBAIHN0YXRpYyBpbnQgZGE5MDN4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGRhOTAzeF9hZGRfc3ViZGV2cyhjaGlwLCBwZGF0 YSk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBkYTkwM3hfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGRhOTAzeF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRhOTAzeF9jaGlwICpj aGlwID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg ZGE5MDN4X3JlbW92ZV9zdWJkZXZzKGNoaXApOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgZGE5MDN4X2RyaXZlciA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvZGE5MDUyLWkyYy5jIGIvZHJpdmVycy9tZmQvZGE5 MDUyLWkyYy5jCj4gaW5kZXggOGRlOTNkYjM1ZjNhLi41YTc0Njk2Yzg3MDQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9tZmQvZGE5MDUyLWkyYy5jCj4gKysrIGIvZHJpdmVycy9tZmQvZGE5MDUyLWky Yy5jCj4gQEAgLTE2OCwxMiArMTY4LDExIEBAIHN0YXRpYyBpbnQgZGE5MDUyX2kyY19wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBkYTkw NTJfZGV2aWNlX2luaXQoZGE5MDUyLCBpZC0+ZHJpdmVyX2RhdGEpOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgZGE5MDUyX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgZGE5MDUyX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRhOTA1MiAqZGE5MDUyID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZGE5MDUyX2RldmljZV9l eGl0KGRhOTA1Mik7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBkYTkwNTJfaTJjX2RyaXZlciA9IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZmQvZGE5MDU1LWkyYy5jIGIvZHJpdmVycy9tZmQvZGE5MDU1LWkyYy5jCj4g aW5kZXggYmM2MDQzM2I2OGRiLi4yNzZjN2QxYzUwOWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9t ZmQvZGE5MDU1LWkyYy5jCj4gKysrIGIvZHJpdmVycy9tZmQvZGE5MDU1LWkyYy5jCj4gQEAgLTQx LDEzICs0MSwxMSBAQCBzdGF0aWMgaW50IGRhOTA1NV9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqaTJjLAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZGE5MDU1X2RldmljZV9pbml0KGRh OTA1NSk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBkYTkwNTVfaTJjX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBkYTkwNTVfaTJjX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZGE5MDU1ICpk YTkwNTUgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBk YTkwNTVfZGV2aWNlX2V4aXQoZGE5MDU1KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL2RhOTA2Mi1jb3Jl LmMgYi9kcml2ZXJzL21mZC9kYTkwNjItY29yZS5jCj4gaW5kZXggMjc3NGIyY2JhZWE2Li4wYTgw ZDgyYzY4NTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvZGE5MDYyLWNvcmUuYwo+ICsrKyBi L2RyaXZlcnMvbWZkL2RhOTA2Mi1jb3JlLmMKPiBAQCAtNzIzLDE0ICs3MjMsMTIgQEAgc3RhdGlj IGludCBkYTkwNjJfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYywKPiDCoMKgwqDC oMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGRhOTA2Ml9pMmNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gK3N0YXRpYyB2b2lkIGRhOTA2Ml9pMmNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCBkYTkwNjIgKmNoaXAgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqBtZmRfcmVtb3ZlX2RldmljZXMoY2hpcC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDC oMKgcmVnbWFwX2RlbF9pcnFfY2hpcChpMmMtPmlycSwgY2hpcC0+cmVnbWFwX2lycSk7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3Ry dWN0IGkyY19kZXZpY2VfaWQgZGE5MDYyX2kyY19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL21mZC9kYTkxNTAtY29yZS5jIGIvZHJpdmVycy9tZmQvZGE5MTUwLWNvcmUuYwo+IGluZGV4 IDU4MDA5YzhjYjg3MC4uNmFlNTZlNDZkMjRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL2Rh OTE1MC1jb3JlLmMKPiArKysgYi9kcml2ZXJzL21mZC9kYTkxNTAtY29yZS5jCj4gQEAgLTQ3MSwx NSArNDcxLDEzIEBAIHN0YXRpYyBpbnQgZGE5MTUwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4g KmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IGRhOTE1MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGlj IHZvaWQgZGE5MTUwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZGE5MTUwICpkYTkxNTAgPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZWdtYXBfZGVsX2lycV9jaGlwKGRhOTE1 MC0+aXJxLCBkYTkxNTAtPnJlZ21hcF9pcnFfZGF0YSk7Cj4gwqDCoMKgwqDCoMKgwqDCoG1mZF9y ZW1vdmVfZGV2aWNlcyhkYTkxNTAtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoGkyY191bnJlZ2lz dGVyX2RldmljZShkYTkxNTAtPmNvcmVfcWlmKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyB2b2lkIGRhOTE1MF9zaHV0ZG93bihzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9kbTM1NWV2bV9tc3Au YyBiL2RyaXZlcnMvbWZkL2RtMzU1ZXZtX21zcC5jCj4gaW5kZXggNTRmYjZjYmQyYWEwLi43NTlj NTk2OTA2ODAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvZG0zNTVldm1fbXNwLmMKPiArKysg Yi9kcml2ZXJzL21mZC9kbTM1NWV2bV9tc3AuYwo+IEBAIC0zNzUsMTEgKzM3NSwxMCBAQCBzdGF0 aWMgdm9pZCBkbTM1NWV2bV9wb3dlcl9vZmYodm9pZCkKPiDCoMKgwqDCoMKgwqDCoMKgZG0zNTVl dm1fY29tbWFuZChNU1BfQ09NTUFORF9QT1dFUk9GRik7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBkbTM1NWV2bV9tc3BfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRp YyB2b2lkIGRtMzU1ZXZtX21zcF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDC oHsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcG93ZXJfb2ZmID0gTlVMTDsKPiDCoMKgwqDCoMKgwqDC oMKgbXNwNDMwID0gTlVMTDsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGludAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9lbmUta2IzOTMwLmMgYi9k cml2ZXJzL21mZC9lbmUta2IzOTMwLmMKPiBpbmRleCAxYjczMzE4ZDFmMWYuLjNlZmY5OGUyNmJl YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21mZC9lbmUta2IzOTMwLmMKPiArKysgYi9kcml2ZXJz L21mZC9lbmUta2IzOTMwLmMKPiBAQCAtMTc3LDcgKzE3Nyw3IEBAIHN0YXRpYyBpbnQga2IzOTMw X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBrYjM5MzBfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGtiMzkzMF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGtiMzkzMCAqZGRh dGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0xODcsOCArMTg3LDYg QEAgc3RhdGljIGludCBrYjM5MzBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkK PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHVucmVnaXN0ZXJfcmVzdGFydF9oYW5k bGVyKCZrYjM5MzBfcmVzdGFydF9uYik7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoMKgwqDCoMKg wqDCoMKga2IzOTMwX3Bvd2VyX29mZiA9IE5VTEw7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBrYjM5 MzBfZHRfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL2dhdGV3b3Jrcy1nc2Mu YyBiL2RyaXZlcnMvbWZkL2dhdGV3b3Jrcy0KPiBnc2MuYwo+IGluZGV4IGQ4Nzg3Njc0N2I5MS4u OWQ3ZDg3MGM0NGE4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL2dhdGV3b3Jrcy1nc2MuYwo+ ICsrKyBiL2RyaXZlcnMvbWZkL2dhdGV3b3Jrcy1nc2MuYwo+IEBAIC0yNTUsMTEgKzI1NSw5IEBA IHN0YXRpYyBpbnQgZ3NjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgZ3NjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBnc2NfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN5c2ZzX3JlbW92 ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJmF0dHJfZ3JvdXApOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGdz Y19kcml2ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL2ludGVsX3NvY19wbWljX2Nv cmUuYwo+IGIvZHJpdmVycy9tZmQvaW50ZWxfc29jX3BtaWNfY29yZS5jCj4gaW5kZXggNWU4Yzk0 ZTAwOGVkLi5iODI0ZTE1ZjRkMjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvaW50ZWxfc29j X3BtaWNfY29yZS5jCj4gKysrIGIvZHJpdmVycy9tZmQvaW50ZWxfc29jX3BtaWNfY29yZS5jCj4g QEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGludCBpbnRlbF9zb2NfcG1pY19pMmNfcHJvYmUoc3Ry dWN0Cj4gaTJjX2NsaWVudCAqaTJjLAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgaW50ZWxfc29jX3BtaWNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBpbnRlbF9zb2NfcG1pY19pMmNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBpbnRl bF9zb2NfcG1pYyAqcG1pYyA9IGRldl9nZXRfZHJ2ZGF0YSgmaTJjLT5kZXYpOwo+IMKgCj4gQEAg LTkxLDggKzkxLDYgQEAgc3RhdGljIGludCBpbnRlbF9zb2NfcG1pY19pMmNfcmVtb3ZlKHN0cnVj dAo+IGkyY19jbGllbnQgKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgcHdtX3JlbW92ZV90YWJsZShj cmNfcHdtX2xvb2t1cCwgQVJSQVlfU0laRShjcmNfcHdtX2xvb2t1cCkpOwo+IMKgCj4gwqDCoMKg wqDCoMKgwqDCoG1mZF9yZW1vdmVfZGV2aWNlcygmaTJjLT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHZvaWQgaW50ZWxfc29jX3BtaWNf c2h1dGRvd24oc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t ZmQvaXFzNjJ4LmMgYi9kcml2ZXJzL21mZC9pcXM2MnguYwo+IGluZGV4IDU3NWFiNjdlMjQzZC4u MTg5NWZjZTI1YjA2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL2lxczYyeC5jCj4gKysrIGIv ZHJpdmVycy9tZmQvaXFzNjJ4LmMKPiBAQCAtMTAwOCwxMyArMTAwOCwxMSBAQCBzdGF0aWMgaW50 IGlxczYyeF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBpcXM2MnhfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGlxczYyeF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGlx czYyeF9jb3JlICppcXM2MnggPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKg wqDCoMKgwqDCoMKgwqB3YWl0X2Zvcl9jb21wbGV0aW9uKCZpcXM2MngtPmZ3X2RvbmUpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21h eWJlX3VudXNlZCBpcXM2Mnhfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWZkL2xtMzUzMy1jb3JlLmMgYi9kcml2ZXJzL21mZC9sbTM1MzMtY29yZS5j Cj4gaW5kZXggNTY5MDc2OGYzZTYzLi5iZTMyZmZjNWFmMzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9tZmQvbG0zNTMzLWNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvbWZkL2xtMzUzMy1jb3JlLmMKPiBA QCAtNjA3LDE1ICs2MDcsMTMgQEAgc3RhdGljIGludCBsbTM1MzNfaTJjX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmkyYywKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGxtMzUzM19kZXZpY2Vf aW5pdChsbTM1MzMpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbG0zNTMzX2kyY19yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgbG0zNTMzX2kyY19yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxt MzUzMyAqbG0zNTMzID0gaTJjX2dldF9jbGllbnRkYXRhKGkyYyk7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKgZGV2X2RiZygmaTJjLT5kZXYsICIlc1xuIiwgX19mdW5jX18pOwo+IMKgCj4gwqDCoMKg wqDCoMKgwqDCoGxtMzUzM19kZXZpY2VfZXhpdChsbTM1MzMpOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNl X2lkIGxtMzUzM19pMmNfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL2xwODc4 OC5jIGIvZHJpdmVycy9tZmQvbHA4Nzg4LmMKPiBpbmRleCBjMjIzZDJjNmEzNjMuLmU3YzYwMWJj YTllZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21mZC9scDg3ODguYwo+ICsrKyBiL2RyaXZlcnMv bWZkL2xwODc4OC5jCj4gQEAgLTE5OSwxMyArMTk5LDEyIEBAIHN0YXRpYyBpbnQgbHA4Nzg4X3By b2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbCwKPiBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAq aWQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIEFSUkFZX1NJWkUobHA4Nzg4X2RldnMpLCBOVUxMLCAwLAo+IE5VTEwpOwo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgbHA4Nzg4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2wp Cj4gK3N0YXRpYyB2b2lkIGxwODc4OF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsKQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbHA4Nzg4ICpscCA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbWZkX3JlbW92ZV9kZXZpY2VzKGxwLT5kZXYp Owo+IMKgwqDCoMKgwqDCoMKgwqBscDg3ODhfaXJxX2V4aXQobHApOwo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2Vf aWQgbHA4Nzg4X2lkc1tdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9tYWRlcmEtaTJj LmMgYi9kcml2ZXJzL21mZC9tYWRlcmEtaTJjLmMKPiBpbmRleCA3ZGY1YjliYTU4NTUuLjkxNWQy Zjk1YmFkMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21mZC9tYWRlcmEtaTJjLmMKPiArKysgYi9k cml2ZXJzL21mZC9tYWRlcmEtaTJjLmMKPiBAQCAtMTEyLDEzICsxMTIsMTEgQEAgc3RhdGljIGlu dCBtYWRlcmFfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYywKPiDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIG1hZGVyYV9kZXZfaW5pdChtYWRlcmEpOwo+IMKgfQo+IMKgCj4gLXN0YXRp YyBpbnQgbWFkZXJhX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGlj IHZvaWQgbWFkZXJhX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IG1hZGVyYSAqbWFkZXJhID0gZGV2X2dldF9kcnZkYXRhKCZp MmMtPmRldik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbWFkZXJhX2Rldl9leGl0KG1hZGVyYSk7 Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29u c3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbWFkZXJhX2kyY19pZFtdID0gewo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL21mZC9tYXgxNDU3Ny5jIGIvZHJpdmVycy9tZmQvbWF4MTQ1NzcuYwo+IGluZGV4 IDZjNDg3ZmExNGU5Yy4uZDQ0YWQ2ZjMzNzQyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL21h eDE0NTc3LmMKPiArKysgYi9kcml2ZXJzL21mZC9tYXgxNDU3Ny5jCj4gQEAgLTQ2Myw3ICs0NjMs NyBAQCBzdGF0aWMgaW50IG1heDE0NTc3X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpp MmMsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBtYXgxNDU3N19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gK3N0YXRpYyB2 b2lkIG1heDE0NTc3X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IG1heDE0NTc3ICptYXgxNDU3NyA9IGkyY19nZXRfY2xpZW50 ZGF0YShpMmMpOwo+IMKgCj4gQEAgLTQ3MSw4ICs0NzEsNiBAQCBzdGF0aWMgaW50IG1heDE0NTc3 X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqBy ZWdtYXBfZGVsX2lycV9jaGlwKG1heDE0NTc3LT5pcnEsIG1heDE0NTc3LT5pcnFfZGF0YSk7Cj4g wqDCoMKgwqDCoMKgwqDCoGlmIChtYXgxNDU3Ny0+ZGV2X3R5cGUgPT0gTUFYSU1fREVWSUNFX1RZ UEVfTUFYNzc4MzYpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBtYXg3NzgzNl9y ZW1vdmUobWF4MTQ1NzcpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG1heDE0NTc3X2kyY19pZFtd ID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9tYXg3NzY5My5jIGIvZHJpdmVycy9tZmQv bWF4Nzc2OTMuYwo+IGluZGV4IDRlNjI0NGUxNzU1OS4uNzA4OGNiNmY5MTc0IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvbWZkL21heDc3NjkzLmMKPiArKysgYi9kcml2ZXJzL21mZC9tYXg3NzY5My5j Cj4gQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgaW50IG1heDc3NjkzX2kyY19wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICppMmMsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBtYXg3NzY5M19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICppMmMpCj4gK3N0YXRpYyB2b2lkIG1heDc3NjkzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG1heDc3NjkzX2RldiAqbWF4 Nzc2OTMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+IEBAIC0zMDcsOCArMzA3LDYg QEAgc3RhdGljIGludCBtYXg3NzY5M19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmky YykKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UobWF4Nzc2OTMt PmkyY19tdWljKTsKPiDCoMKgwqDCoMKgwqDCoMKgaTJjX3VucmVnaXN0ZXJfZGV2aWNlKG1heDc3 NjkzLT5pMmNfaGFwdGljKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBtYXg3NzY5M19pMmNfaWRb XSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvbWF4ODkwNy5jIGIvZHJpdmVycy9tZmQv bWF4ODkwNy5jCj4gaW5kZXggNDFmNTY2ZTZhMDk2Li5jMzQwMDgwOTcxY2UgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9tZmQvbWF4ODkwNy5jCj4gKysrIGIvZHJpdmVycy9tZmQvbWF4ODkwNy5jCj4g QEAgLTI4Miw3ICsyODIsNyBAQCBzdGF0aWMgaW50IG1heDg5MDdfaTJjX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmkyYywKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IG1heDg5MDdfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJj KQo+ICtzdGF0aWMgdm9pZCBtYXg4OTA3X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmky YykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG1heDg5MDcgKm1heDg5MDcgPSBpMmNf Z2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+IEBAIC0yOTMsOCArMjkzLDYgQEAgc3RhdGljIGlu dCBtYXg4OTA3X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKg wqDCoMKgwqByZWdtYXBfZGVsX2lycV9jaGlwKG1heDg5MDctPmkyY19nZW4tPmlycSwgbWF4ODkw Ny0KPiA+aXJxY19jaGcpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGkyY191bnJlZ2lzdGVyX2Rl dmljZShtYXg4OTA3LT5pMmNfcnRjKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfT0YKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQv bWF4ODkyNS1pMmMuYyBiL2RyaXZlcnMvbWZkL21heDg5MjUtaTJjLmMKPiBpbmRleCAxMTRlOTA1 YmVmMjUuLjA0MTAxZGE0MmJkMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21mZC9tYXg4OTI1LWky Yy5jCj4gKysrIGIvZHJpdmVycy9tZmQvbWF4ODkyNS1pMmMuYwo+IEBAIC0xOTgsMTQgKzE5OCwx MyBAQCBzdGF0aWMgaW50IG1heDg5MjVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG1h eDg5MjVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1h eDg5MjVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBtYXg4OTI1X2NoaXAgKmNoaXAgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtYXg4OTI1X2RldmljZV9leGl0KGNoaXApOwo+ IMKgwqDCoMKgwqDCoMKgwqBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoY2hpcC0+YWRjKTsKPiDCoMKg wqDCoMKgwqDCoMKgaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGNoaXAtPnJ0Yyk7Cj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfUE1fU0xFRVAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvbWMxM3h4eC1pMmMuYyBiL2RyaXZlcnMvbWZkL21jMTN4 eHgtaTJjLmMKPiBpbmRleCBmYjkzN2Y2NjI3N2UuLmViOTRmMzAwNGNmMyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL21mZC9tYzEzeHh4LWkyYy5jCj4gKysrIGIvZHJpdmVycy9tZmQvbWMxM3h4eC1p MmMuYwo+IEBAIC04NSwxMCArODUsOSBAQCBzdGF0aWMgaW50IG1jMTN4eHhfaTJjX3Byb2JlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIG1jMTN4 eHhfY29tbW9uX2luaXQoJmNsaWVudC0+ZGV2KTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG1j MTN4eHhfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBtYzEzeHh4X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgbWMxM3h4eF9jb21tb25fZXhpdCgmY2xpZW50LT5kZXYpOwo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0IGkyY19kcml2 ZXIgbWMxM3h4eF9pMmNfZHJpdmVyID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9tZW5l bGF1cy5jIGIvZHJpdmVycy9tZmQvbWVuZWxhdXMuYwo+IGluZGV4IDA3ZTBjYTJlNDY3Yy4uZWIw OGY2OTAwMWY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL21lbmVsYXVzLmMKPiArKysgYi9k cml2ZXJzL21mZC9tZW5lbGF1cy5jCj4gQEAgLTEyMjIsMTQgKzEyMjIsMTMgQEAgc3RhdGljIGlu dCBtZW5lbGF1c19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBtZW5lbGF1c19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbWVuZWxhdXNfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCBtZW5lbGF1c19jaGlwwqDCoMKgwqAqbWVuZWxhdXMgPQo+IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGZyZWVfaXJxKGNsaWVudC0+aXJxLCBt ZW5lbGF1cyk7Cj4gwqDCoMKgwqDCoMKgwqDCoGZsdXNoX3dvcmsoJm1lbmVsYXVzLT53b3JrKTsK PiDCoMKgwqDCoMKgwqDCoMKgdGhlX21lbmVsYXVzID0gTlVMTDsKPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lk IG1lbmVsYXVzX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL250eGVjLmMgYi9k cml2ZXJzL21mZC9udHhlYy5jCj4gaW5kZXggYjcxMWU3M2VlZGNiLi5lMTZhN2E4MmE5MjkgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvbnR4ZWMuYwo+ICsrKyBiL2RyaXZlcnMvbWZkL250eGVj LmMKPiBAQCAtMjM5LDE1ICsyMzksMTMgQEAgc3RhdGljIGludCBudHhlY19wcm9iZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXM7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBudHhlY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgbnR4ZWNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGlmIChjbGllbnQgPT0gcG93ZXJvZmZfcmVzdGFydF9j bGllbnQpIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBvd2Vyb2ZmX3Jlc3Rh cnRfY2xpZW50ID0gTlVMTDsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBtX3Bv d2VyX29mZiA9IE5VTEw7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1bnJlZ2lz dGVyX3Jlc3RhcnRfaGFuZGxlcigmbnR4ZWNfcmVzdGFydF9oYW5kbGVyKTsKPiDCoMKgwqDCoMKg wqDCoMKgfQo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbnR4ZWNfbWF0Y2hfdGFibGVbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvcGFsbWFzLmMgYi9kcml2ZXJzL21mZC9wYWxtYXMu Ywo+IGluZGV4IGY1YjNmYTk3M2IxMy4uOGI3NDI5YmQyZTNlIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWZkL3BhbG1hcy5jCj4gKysrIGIvZHJpdmVycy9tZmQvcGFsbWFzLmMKPiBAQCAtNzAwLDcg KzcwMCw3IEBAIHN0YXRpYyBpbnQgcGFsbWFzX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICppMmMsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCBwYWxtYXNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMg dm9pZCBwYWxtYXNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcGFsbWFzICpwYWxtYXMgPSBpMmNfZ2V0X2NsaWVudGRhdGEo aTJjKTsKPiDCoMKgwqDCoMKgwqDCoMKgaW50IGk7Cj4gQEAgLTcxNiw4ICs3MTYsNiBAQCBzdGF0 aWMgaW50IHBhbG1hc19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBtX3Bvd2VyX29mZiA9IE5VTEw7Cj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwYWxtYXNfZGV2ID0gTlVMTDsKPiDCoMKgwqDCoMKg wqDCoMKgfQo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHBhbG1hc19pMmNfaWRbXSA9IHsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZmQvcGNmNTA2MzMtY29yZS5jIGIvZHJpdmVycy9tZmQvcGNmNTA2 MzMtCj4gY29yZS5jCj4gaW5kZXggZTljNTY1Y2YwZjU0Li40Y2NjMmMzZTc2ODEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9tZmQvcGNmNTA2MzMtY29yZS5jCj4gKysrIGIvZHJpdmVycy9tZmQvcGNm NTA2MzMtY29yZS5jCj4gQEAgLTI3Myw3ICsyNzMsNyBAQCBzdGF0aWMgaW50IHBjZjUwNjMzX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHBjZjUwNjMzX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBwY2Y1MDYzM19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHBjZjUwNjMz ICpwY2YgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgaW50 IGk7Cj4gQEAgLTI4OSw4ICsyODksNiBAQCBzdGF0aWMgaW50IHBjZjUwNjMzX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZm9yIChpID0g MDsgaSA8IFBDRjUwNjMzX05VTV9SRUdVTEFUT1JTOyBpKyspCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihwY2YtPnJlZ3VsYXRvcl9w ZGV2W2ldKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBwY2Y1MDYzM19pZF90YWJsZVtdID0gewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9yZXR1LW1mZC5jIGIvZHJpdmVycy9tZmQvcmV0dS1t ZmQuYwo+IGluZGV4IGM3NDhmZDI5YTIyMC4uM2I1YWNmN2NhMzljIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvbWZkL3JldHUtbWZkLmMKPiArKysgYi9kcml2ZXJzL21mZC9yZXR1LW1mZC5jCj4gQEAg LTI4Nyw3ICsyODcsNyBAQCBzdGF0aWMgaW50IHJldHVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQg KmkyYywKPiBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4gwqDCoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcmV0dV9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgcmV0dV9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHJldHVfZGV2ICpyZGV2ID0g aTJjX2dldF9jbGllbnRkYXRhKGkyYyk7Cj4gwqAKPiBAQCAtMjk3LDggKzI5Nyw2IEBAIHN0YXRp YyBpbnQgcmV0dV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoMKgwqDCoMKgwqDC oMKgfQo+IMKgwqDCoMKgwqDCoMKgwqBtZmRfcmVtb3ZlX2RldmljZXMocmRldi0+ZGV2KTsKPiDC oMKgwqDCoMKgwqDCoMKgcmVnbWFwX2RlbF9pcnFfY2hpcChpMmMtPmlycSwgcmRldi0+aXJxX2Rh dGEpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGlj IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHJldHVfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZmQvcms4MDguYyBiL2RyaXZlcnMvbWZkL3JrODA4LmMKPiBpbmRleCA0MTQyYjYz OGU1ZmEuLmQ1ZDY0MWVmYTA3NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21mZC9yazgwOC5jCj4g KysrIGIvZHJpdmVycy9tZmQvcms4MDguYwo+IEBAIC03NzgsNyArNzc4LDcgQEAgc3RhdGljIGlu dCByazgwOF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcms4MDhfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHJrODA4X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgcms4MDgg KnJrODA4ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtNzkyLDggKzc5 Miw2IEBAIHN0YXRpYyBpbnQgcms4MDhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBtX3Bvd2VyX29mZiA9IE5VTEw7 Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdW5yZWdpc3Rlcl9yZXN0YXJ0X2hhbmRsZXIoJnJrODA4 X3Jlc3RhcnRfaGFuZGxlcik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIHJrOHh4X3N1c3BlbmQoc3RydWN0IGRl dmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9ybjV0NjE4LmMgYi9kcml2ZXJz L21mZC9ybjV0NjE4LmMKPiBpbmRleCAzODRhY2I0NTk0MjcuLmViODAwNWI0ZTU4ZCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL21mZC9ybjV0NjE4LmMKPiArKysgYi9kcml2ZXJzL21mZC9ybjV0NjE4 LmMKPiBAQCAtMjQxLDcgKzI0MSw3IEBAIHN0YXRpYyBpbnQgcm41dDYxOF9pMmNfcHJvYmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcm41dDYxOF9p cnFfaW5pdChwcml2KTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHJuNXQ2MThfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBybjV0NjE4X2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGky YyA9PSBybjV0NjE4X3BtX3Bvd2VyX29mZikgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgcm41dDYxOF9wbV9wb3dlcl9vZmYgPSBOVUxMOwo+IEBAIC0yNDksOCArMjQ5LDYgQEAg c3RhdGljIGludCBybjV0NjE4X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+ IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdW5yZWdpc3Rlcl9yZXN0 YXJ0X2hhbmRsZXIoJnJuNXQ2MThfcmVzdGFydF9oYW5kbGVyKTsKPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgcm41 dDYxOF9pMmNfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWZkL3JzbXVfaTJjLmMgYi9kcml2ZXJzL21mZC9yc211X2kyYy5jCj4gaW5kZXggZGMwMDFj OTc5MWMxLi5mNzE2YWI4MDM5YTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvcnNtdV9pMmMu Ywo+ICsrKyBiL2RyaXZlcnMvbWZkL3JzbXVfaTJjLmMKPiBAQCAtMTQ2LDEzICsxNDYsMTEgQEAg c3RhdGljIGludCByc211X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4g wqDCoMKgwqDCoMKgwqDCoHJldHVybiByc211X2NvcmVfaW5pdChyc211KTsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IHJzbXVfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ ICtzdGF0aWMgdm9pZCByc211X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHJzbXVfZGRhdGEgKnJzbXUgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByc211X2NvcmVfZXhp dChyc211KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCByc211X2kyY19pZFtdID0gewo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21mZC9ydDQ4MzEuYyBiL2RyaXZlcnMvbWZkL3J0NDgzMS5jCj4gaW5k ZXggZmIzYmQ3ODhhM2ViLi5jNmQzNGRjMmI1MjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQv cnQ0ODMxLmMKPiArKysgYi9kcml2ZXJzL21mZC9ydDQ4MzEuYwo+IEBAIC04Nyw3ICs4Nyw3IEBA IHN0YXRpYyBpbnQgcnQ0ODMxX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBBUlJBWV9TSVpFKHJ0NDgzMV9zdWJkZXZzKSwgTlVMTCwKPiAwLCBOVUxMKTsK PiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHJ0NDgzMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgcnQ0ODMxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcmVnbWFwICpyZWdtYXAgPSBk ZXZfZ2V0X3JlZ21hcCgmY2xpZW50LT5kZXYsIE5VTEwpOwo+IMKgwqDCoMKgwqDCoMKgwqBpbnQg cmV0Owo+IEBAIC05Niw4ICs5Niw2IEBAIHN0YXRpYyBpbnQgcnQ0ODMxX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXQgPSByZWdtYXBfdXBkYXRl X2JpdHMocmVnbWFwLCBSVDQ4MzFfUkVHX0VOQUJMRSwKPiBSVDQ4MzFfUkVTRVRfTUFTSywgUlQ0 ODMxX1JFU0VUX01BU0spOwo+IMKgwqDCoMKgwqDCoMKgwqBpZiAocmV0KQo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X3dhcm4oJmNsaWVudC0+ZGV2LCAiRmFpbGVkIHRvIGRp c2FibGUgb3V0cHV0cwo+ICglcGUpXG4iLCBFUlJfUFRSKHJldCkpOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgX19tYXliZV91bnVzZWQgcnQ0ODMxX29mX21hdGNoW10gPQo+IHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZmQvc2k0NzZ4LWkyYy5jIGIvZHJpdmVycy9tZmQvc2k0NzZ4LWkyYy5jCj4g aW5kZXggYTI2MzVjMmQ5ZDFhLi44MTY2OTQ5YjcyNWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9t ZmQvc2k0NzZ4LWkyYy5jCj4gKysrIGIvZHJpdmVycy9tZmQvc2k0NzZ4LWkyYy5jCj4gQEAgLTgz NSw3ICs4MzUsNyBAQCBzdGF0aWMgaW50IHNpNDc2eF9jb3JlX3Byb2JlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJ2YWw7Cj4gwqB9Cj4gwqAK PiAtc3RhdGljIGludCBzaTQ3NnhfY29yZV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgc2k0NzZ4X2NvcmVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzaTQ3NnhfY29yZSAqY29yZSA9 IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTg1MSw4ICs4NTEsNiBAQCBz dGF0aWMgaW50IHNpNDc2eF9jb3JlX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGdwaW9faXNfdmFsaWQoY29yZS0+Z3Bpb19yZXNl dCkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBncGlvX2ZyZWUoY29yZS0+Z3Bp b19yZXNldCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvc3RtZnguYyBiL2RyaXZlcnMvbWZkL3N0bWZ4LmMK PiBpbmRleCAxMjJmOTYwOTQ0MTAuLjVkZDdkOTY4ODQ1OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L21mZC9zdG1meC5jCj4gKysrIGIvZHJpdmVycy9tZmQvc3RtZnguYwo+IEBAIC00NjcsMTMgKzQ2 NywxMSBAQCBzdGF0aWMgaW50IHN0bWZ4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IHN0bWZ4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBz dG1meF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RtZnhfaXJxX2V4aXQoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBzdG1m eF9jaGlwX2V4aXQoY2xpZW50KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfUE1fU0xFRVAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t ZmQvc3RtcGUtaTJjLmMgYi9kcml2ZXJzL21mZC9zdG1wZS1pMmMuYwo+IGluZGV4IGQzZWVkZjNk NjA3ZS4uNGQ1NTQ5NGE5N2M0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL3N0bXBlLWkyYy5j Cj4gKysrIGIvZHJpdmVycy9tZmQvc3RtcGUtaTJjLmMKPiBAQCAtOTEsMTMgKzkxLDExIEBAIHN0 bXBlX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjLCBjb25zdAo+IHN0cnVjdCBpMmNf ZGV2aWNlX2lkICppZCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHN0bXBlX3Byb2JlKCZpMmNf Y2ksIHBhcnRudW0pOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc3RtcGVfaTJjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBzdG1wZV9pMmNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzdG1w ZSAqc3RtcGUgPSBkZXZfZ2V0X2RydmRhdGEoJmkyYy0+ZGV2KTsKPiDCoAo+IMKgwqDCoMKgwqDC oMKgwqBzdG1wZV9yZW1vdmUoc3RtcGUpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHN0bXBlX2ky Y19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC90YzM1ODl4LmMgYi9kcml2ZXJz L21mZC90YzM1ODl4LmMKPiBpbmRleCAxMzU4M2NkYjkzYjYuLmQ1ZDBlYzExN2FjYiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL21mZC90YzM1ODl4LmMKPiArKysgYi9kcml2ZXJzL21mZC90YzM1ODl4 LmMKPiBAQCAtNDI5LDEzICs0MjksMTEgQEAgc3RhdGljIGludCB0YzM1ODl4X3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmkyYywKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCB0YzM1ODl4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCB0YzM1ODl4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdGMzNTg5eCAqdGMzNTg5eCA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG1mZF9yZW1vdmVf ZGV2aWNlcyh0YzM1ODl4LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTV9TTEVFUAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21mZC90cHM2MTA1eC5jIGIvZHJpdmVycy9tZmQvdHBzNjEwNXguYwo+IGluZGV4IGM5MDYzMjRk MjkzZS4uYjM2MDU2OGVhNjc1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL3RwczYxMDV4LmMK PiArKysgYi9kcml2ZXJzL21mZC90cHM2MTA1eC5jCj4gQEAgLTE3OSw3ICsxNzksNyBAQCBzdGF0 aWMgaW50IHRwczYxMDV4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRwczYxMDV4 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0cHM2MTA1 eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IHRwczYxMDV4ICp0cHM2MTA1eCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgCj4gQEAgLTE4OSw4ICsxODksNiBAQCBzdGF0aWMgaW50IHRwczYxMDV4X3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ21hcF91cGRh dGVfYml0cyh0cHM2MTA1eC0+cmVnbWFwLCBUUFM2MTA1WF9SRUdfMCwKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoFRQUzYxMDVYX1JFRzBfTU9ERV9NQVNLLAo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgVFBTNjEwNVhfTU9ERV9TSFVURE9XTiA8PCBUUFM2MTA1WF9S RUcwX01PREVfU0hJRlQpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHRwczYxMDV4X2lkW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL3RwczY1MDEwLmMgYi9kcml2ZXJzL21mZC90cHM2 NTAxMC5jCj4gaW5kZXggN2U3ZGJlZTU4Y2E5Li5jMmFmYTJlNjlmNDIgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZmQvdHBzNjUwMTAuYwo+ICsrKyBiL2RyaXZlcnMvbWZkL3RwczY1MDEwLmMKPiBA QCAtNTAxLDcgKzUwMSw3IEBAIHN0YXRpYyBpbnQgdHBzNjUwMTBfZ3Bpb19nZXQoc3RydWN0IGdw aW9fY2hpcAo+ICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQpCj4gwqAKPiDCoHN0YXRpYyBzdHJ1Y3Qg dHBzNjUwMTAgKnRoZV90cHM7Cj4gwqAKPiAtc3RhdGljIGludCB0cHM2NTAxMF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHBzNjUwMTBfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0 cHM2NTAxMMKgwqDCoMKgwqDCoMKgwqDCoCp0cHMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50 KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRwczY1MDEwX2JvYXJkwqDCoMKgKmJvYXJkID0g ZGV2X2dldF9wbGF0ZGF0YSgmY2xpZW50LQo+ID5kZXYpOwo+IEBAIC01MTcsNyArNTE3LDYgQEAg c3RhdGljIGludCB0cHM2NTAxMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqBjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJnRwcy0+d29yayk7Cj4g wqDCoMKgwqDCoMKgwqDCoGRlYnVnZnNfcmVtb3ZlKHRwcy0+ZmlsZSk7Cj4gwqDCoMKgwqDCoMKg wqDCoHRoZV90cHMgPSBOVUxMOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqBzdGF0aWMgaW50IHRwczY1MDEwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQs Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL3RwczY1MDg2LmMgYi9kcml2ZXJzL21mZC90cHM2 NTA4Ni5jCj4gaW5kZXggM2JkNTcyODg0NGEwLi5lYjVhZmJlYjBlOTEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZmQvdHBzNjUwODYuYwo+ICsrKyBiL2RyaXZlcnMvbWZkL3RwczY1MDg2LmMKPiBA QCAtMTE5LDE0ICsxMTksMTIgQEAgc3RhdGljIGludCB0cHM2NTA4Nl9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCB0cHM2NTA4Nl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiArc3RhdGljIHZvaWQgdHBzNjUwODZfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0cHM2NTA4NiAqdHBzID0gaTJjX2dl dF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHRwcy0+aXJx ID4gMCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJlZ21hcF9kZWxfaXJxX2No aXAodHBzLT5pcnEsIHRwcy0+aXJxX2RhdGEpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHRwczY1 MDg2X2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL3RwczY1MjE3LmMg Yi9kcml2ZXJzL21mZC90cHM2NTIxNy5jCj4gaW5kZXggODAyN2IwYTllMTRmLi5hNzIwMGRkZDg1 ZTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvdHBzNjUyMTcuYwo+ICsrKyBiL2RyaXZlcnMv bWZkL3RwczY1MjE3LmMKPiBAQCAtMzgyLDcgKzM4Miw3IEBAIHN0YXRpYyBpbnQgdHBzNjUyMTdf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRwczY1MjE3X3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0cHM2NTIxN19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRwczY1MjE3 ICp0cHMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgdW5z aWduZWQgaW50IHZpcnE7Cj4gQEAgLTM5Niw4ICszOTYsNiBAQCBzdGF0aWMgaW50IHRwczY1MjE3 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgaXJxX2RvbWFpbl9yZW1vdmUodHBzLT5pcnFfZG9tYWluKTsKPiDCoMKgwqDCoMKgwqDCoMKg dHBzLT5pcnFfZG9tYWluID0gTlVMTDsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB0cHM2NTIxN19p ZF90YWJsZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC90cHM2NTg2eC5jIGIvZHJp dmVycy9tZmQvdHBzNjU4NnguYwo+IGluZGV4IGM5MzAzZDNkNjYwMi4uZmIzNDBkYTY0YmJjIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL3RwczY1ODZ4LmMKPiArKysgYi9kcml2ZXJzL21mZC90 cHM2NTg2eC5jCj4gQEAgLTU3OSw3ICs1NzksNyBAQCBzdGF0aWMgaW50IHRwczY1ODZ4X2kyY19w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0cHM2NTg2eF9pMmNfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHRwczY1ODZ4X2kyY19yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHRwczY1ODZ4ICp0cHM2NTg2eCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4g QEAgLTU4Nyw3ICs1ODcsNiBAQCBzdGF0aWMgaW50IHRwczY1ODZ4X2kyY19yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBtZmRfcmVtb3ZlX2Rldmlj ZXModHBzNjU4NngtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoGlmIChjbGllbnQtPmlycSkKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZyZWVfaXJxKGNsaWVudC0+aXJxLCB0cHM2 NTg2eCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBp bnQgX19tYXliZV91bnVzZWQgdHBzNjU4NnhfaTJjX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2 KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC90cHM2NTkxMi1pMmMuYyBiL2RyaXZlcnMvbWZk L3RwczY1OTEyLWkyYy5jCj4gaW5kZXggMDZlYjI3ODRkMzIyLi5jYmJhYzE1NjdlYWEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZmQvdHBzNjU5MTItaTJjLmMKPiArKysgYi9kcml2ZXJzL21mZC90 cHM2NTkxMi1pMmMuYwo+IEBAIC01MSwxMyArNTEsMTEgQEAgc3RhdGljIGludCB0cHM2NTkxMl9p MmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gdHBzNjU5MTJfZGV2aWNlX2luaXQodHBzKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IHRwczY1OTEyX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGlj IHZvaWQgdHBzNjU5MTJfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdHBzNjU5MTIgKnRwcyA9IGkyY19nZXRfY2xpZW50 ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHRwczY1OTEyX2RldmljZV9leGl0 KHRwcyk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgdHBzNjU5MTJfaTJjX2lkX3RhYmxlW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL3R3bC1jb3JlLmMgYi9kcml2ZXJzL21mZC90d2wt Y29yZS5jCj4gaW5kZXggYmQ2NjU5Y2YzYmMwLi44OWE5NmRiMTViMzMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZmQvdHdsLWNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvbWZkL3R3bC1jb3JlLmMKPiBA QCAtMTAzMyw3ICsxMDMzLDcgQEAgc3RhdGljIHZvaWQgY2xvY2tzX2luaXQoc3RydWN0IGRldmlj ZSAqZGV2LAo+IMKgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0tKi8KPiDCoAo+IMKgCj4gLXN0YXRpYyBpbnQg dHdsX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB0d2xf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHVuc2lnbmVkIGksIG51bV9zbGF2ZXM7Cj4gwqAKPiBAQCAtMTA1MSw3ICsxMDUxLDYgQEAgc3Rh dGljIGludCB0d2xfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHR3bC0+Y2xpZW50ID0gTlVMTDsKPiDCoMKgwqDCoMKg wqDCoMKgfQo+IMKgwqDCoMKgwqDCoMKgwqB0d2xfcHJpdi0+cmVhZHkgPSBmYWxzZTsKPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBvZl9kZXZf YXV4ZGF0YSB0d2xfYXV4ZGF0YV9sb29rdXBbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t ZmQvdHdsNjA0MC5jIGIvZHJpdmVycy9tZmQvdHdsNjA0MC5jCj4gaW5kZXggYjljNmQ5NGI0MDAy Li5mNDI5YjhmMDBkYjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvdHdsNjA0MC5jCj4gKysr IGIvZHJpdmVycy9tZmQvdHdsNjA0MC5jCj4gQEAgLTgwOCw3ICs4MDgsNyBAQCBzdGF0aWMgaW50 IHR3bDYwNDBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdHdsNjA0MF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHdsNjA0MF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0 IHR3bDYwNDAgKnR3bDYwNDAgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBA IC04MjAsOCArODIwLDYgQEAgc3RhdGljIGludCB0d2w2MDQwX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG1mZF9yZW1vdmVfZGV2aWNlcygmY2xp ZW50LT5kZXYpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9idWxrX2Rpc2FibGUo VFdMNjA0MF9OVU1fU1VQUExJRVMsIHR3bDYwNDAtCj4gPnN1cHBsaWVzKTsKPiAtCj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJj X2RldmljZV9pZCB0d2w2MDQwX2kyY19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21m ZC93bTg5OTQtY29yZS5jIGIvZHJpdmVycy9tZmQvd204OTk0LWNvcmUuYwo+IGluZGV4IDdiMWQy NzA3MjJiYS4uN2U4OGY1YjBhYmU2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL3dtODk5NC1j b3JlLmMKPiArKysgYi9kcml2ZXJzL21mZC93bTg5OTQtY29yZS5jCj4gQEAgLTY1NywxMyArNjU3 LDExIEBAIHN0YXRpYyBpbnQgd204OTk0X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpp MmMsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiB3bTg5OTRfZGV2aWNlX2luaXQod204OTk0LCBp MmMtPmlycSk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB3bTg5OTRfaTJjX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCB3bTg5OTRfaTJjX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgd204OTk0 ICp3bTg5OTQgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqB3bTg5OTRfZGV2aWNlX2V4aXQod204OTk0KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB3bTg5 OTRfaTJjX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9hZDUyNXhfZHBvdC1p MmMuYwo+IGIvZHJpdmVycy9taXNjL2FkNTI1eF9kcG90LWkyYy5jCj4gaW5kZXggMGVlMGM2ZDgw OGMzLi4yOGZmYjQzNzdkOTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNjL2FkNTI1eF9kcG90 LWkyYy5jCj4gKysrIGIvZHJpdmVycy9taXNjL2FkNTI1eF9kcG90LWkyYy5jCj4gQEAgLTY3LDEw ICs2Nyw5IEBAIHN0YXRpYyBpbnQgYWRfZHBvdF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gYWRfZHBvdF9wcm9iZSgmY2xpZW50 LT5kZXYsICZiZGF0YSwgaWQtPmRyaXZlcl9kYXRhLAo+IGlkLT5uYW1lKTsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IGFkX2Rwb3RfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBhZF9kcG90X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgYWRfZHBvdF9yZW1vdmUoJmNsaWVudC0+ZGV2 KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0 IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGFkX2Rwb3RfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9taXNjL2FwZHM5ODAyYWxzLmMgYi9kcml2ZXJzL21pc2MvYXBkczk4MDJhbHMuYwo+IGlu ZGV4IDZmZmY0NGI5NTJiZC4uYTMyNDMxZjRiMzcwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWlz Yy9hcGRzOTgwMmFscy5jCj4gKysrIGIvZHJpdmVycy9taXNjL2FwZHM5ODAyYWxzLmMKPiBAQCAt MjQyLDcgKzI0Miw3IEBAIHN0YXRpYyBpbnQgYXBkczk4MDJhbHNfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmVzOwo+IMKgfQo+IMKg Cj4gLXN0YXRpYyBpbnQgYXBkczk4MDJhbHNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gK3N0YXRpYyB2b2lkIGFwZHM5ODAyYWxzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWxzX2RhdGEgKmRhdGEgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0yNTYsNyArMjU2LDYgQEAgc3Rh dGljIGludCBhcGRzOTgwMmFsc19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX3B1dF9ub2lkbGUoJmNsaWVudC0+ZGV2KTsKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShkYXRhKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21pc2MvYXBkczk5MHguYyBiL2RyaXZlcnMvbWlzYy9hcGRzOTkweC5jCj4gaW5kZXggNDVmNWI5 OTdhMGUxLi5lMjEwMGNjNDJjZTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNjL2FwZHM5OTB4 LmMKPiArKysgYi9kcml2ZXJzL21pc2MvYXBkczk5MHguYwo+IEBAIC0xMTg1LDcgKzExODUsNyBA QCBzdGF0aWMgaW50IGFwZHM5OTB4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFw ZHM5OTB4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBh cGRzOTkweF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IGFwZHM5OTB4X2NoaXAgKmNoaXAgPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiDCoAo+IEBAIC0xMjA1LDcgKzEyMDUsNiBAQCBzdGF0aWMgaW50IGFwZHM5OTB4 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJl Z3VsYXRvcl9idWxrX2ZyZWUoQVJSQVlfU0laRShjaGlwLT5yZWdzKSwgY2hpcC0+cmVncyk7Cj4g wqAKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoY2hpcCk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfUE1fU0xFRVAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9taXNjL2JoMTc3MGdsYy5jIGIvZHJpdmVycy9taXNjL2JoMTc3MGdsYy5jCj4gaW5k ZXggMDU4MWJiOWNlZjJlLi5kMGRmYTY3NDQxNGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNj L2JoMTc3MGdsYy5jCj4gKysrIGIvZHJpdmVycy9taXNjL2JoMTc3MGdsYy5jCj4gQEAgLTEyODAs NyArMTI4MCw3IEBAIHN0YXRpYyBpbnQgYmgxNzcwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4g KmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IGJoMTc3MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGlj IHZvaWQgYmgxNzcwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYmgxNzcwX2NoaXAgKmNoaXAgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoAo+IEBAIC0xMjk5LDggKzEyOTksNiBAQCBzdGF0aWMgaW50IGJoMTc3 MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoHBtX3J1bnRpbWVfZGlzYWJsZSgmY2xpZW50LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBw bV9ydW50aW1lX3NldF9zdXNwZW5kZWQoJmNsaWVudC0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfUE1fU0xFRVAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9taXNjL2RzMTY4Mi5jIGIvZHJpdmVycy9taXNjL2RzMTY4Mi5jCj4g aW5kZXggNDJmMzE2YzJkNzE5Li4wNjk4ZGRjNWY0ZDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9t aXNjL2RzMTY4Mi5jCj4gKysrIGIvZHJpdmVycy9taXNjL2RzMTY4Mi5jCj4gQEAgLTIyOCwxMSAr MjI4LDEwIEBAIHN0YXRpYyBpbnQgZHMxNjgyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJjOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBp bnQgZHMxNjgyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBkczE2ODJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoHN5c2ZzX3JlbW92ZV9iaW5fZmlsZSgmY2xpZW50LT5kZXYua29iaiwKPiAmZHMx NjgyX2VlcHJvbV9hdHRyKTsKPiDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfcmVtb3ZlX2dyb3VwKCZj bGllbnQtPmRldi5rb2JqLCAmZHMxNjgyX2dyb3VwKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGRzMTY4 Ml9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvZWVwcm9tL2F0MjQuYyBiL2Ry aXZlcnMvbWlzYy9lZXByb20vYXQyNC5jCj4gaW5kZXggNjMzZTFjZjA4ZDZlLi45MzhjNGY0MWI5 OGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNjL2VlcHJvbS9hdDI0LmMKPiArKysgYi9kcml2 ZXJzL21pc2MvZWVwcm9tL2F0MjQuYwo+IEBAIC03OTEsNyArNzkxLDcgQEAgc3RhdGljIGludCBh dDI0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYXQyNF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYXQyNF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGF0MjRfZGF0YSAqYXQy NCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTgwMSw4ICs4MDEsNiBA QCBzdGF0aWMgaW50IGF0MjRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2Rp c2FibGUoYXQyNC0+dmNjX3JlZyk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBw bV9ydW50aW1lX3NldF9zdXNwZW5kZWQoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKg fQo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGlu dCBfX21heWJlX3VudXNlZCBhdDI0X3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21pc2MvZWVwcm9tL2VlMTAwNC5jCj4gYi9kcml2ZXJzL21pc2MvZWVw cm9tL2VlMTAwNC5jCj4gaW5kZXggOWZiZmU3ODRkNzEwLi5jOGM2ZGViN2VkODkgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9taXNjL2VlcHJvbS9lZTEwMDQuYwo+ICsrKyBiL2RyaXZlcnMvbWlzYy9l ZXByb20vZWUxMDA0LmMKPiBAQCAtMjE5LDE0ICsyMTksMTIgQEAgc3RhdGljIGludCBlZTEwMDRf cHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgZWUxMDA0X3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBlZTEwMDRfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoC8qIFJlbW92ZSBwYWdlIHNl bGVjdCBjbGllbnRzIGlmIHRoaXMgaXMgdGhlIGxhc3QgZGV2aWNlICovCj4gwqDCoMKgwqDCoMKg wqDCoG11dGV4X2xvY2soJmVlMTAwNF9idXNfbG9jayk7Cj4gwqDCoMKgwqDCoMKgwqDCoGVlMTAw NF9jbGVhbnVwKEVFMTAwNF9OVU1fUEFHRVMpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF91bmxv Y2soJmVlMTAwNF9idXNfbG9jayk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gwqAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0tLS0tLS0qLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21pc2MvZWVwcm9tL2VlcHJvbS5jCj4gYi9kcml2ZXJzL21pc2MvZWVwcm9tL2VlcHJvbS5jCj4g aW5kZXggMzRmYTM4NWRmZDRiLi40YTk0NDVmZWE5M2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9t aXNjL2VlcHJvbS9lZXByb20uYwo+ICsrKyBiL2RyaXZlcnMvbWlzYy9lZXByb20vZWVwcm9tLmMK PiBAQCAtMTgzLDExICsxODMsOSBAQCBzdGF0aWMgaW50IGVlcHJvbV9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBzeXNmc19jcmVhdGVf YmluX2ZpbGUoJmNsaWVudC0+ZGV2LmtvYmosCj4gJmVlcHJvbV9hdHRyKTsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IGVlcHJvbV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgZWVwcm9tX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzeXNmc19yZW1vdmVfYmluX2ZpbGUoJmNsaWVudC0+ZGV2Lmtv YmosICZlZXByb21fYXR0cik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgZWVwcm9tX2lkW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9lZXByb20vaWR0Xzg5aHBlc3guYwo+IGIvZHJp dmVycy9taXNjL2VlcHJvbS9pZHRfODlocGVzeC5jCj4gaW5kZXggYjBjZmY0YjE1MmRhLi4wYzIz ZTkwOWJjM2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNjL2VlcHJvbS9pZHRfODlocGVzeC5j Cj4gKysrIGIvZHJpdmVycy9taXNjL2VlcHJvbS9pZHRfODlocGVzeC5jCj4gQEAgLTE0MDEsNyAr MTQwMSw3IEBAIHN0YXRpYyBpbnQgaWR0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQs Cj4gY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQo+IMKgLyoKPiDCoCAqIGlkdF9yZW1v dmUoKSAtIElEVCA4OUhQRVN4IGRyaXZlciByZW1vdmUoKSBjYWxsYmFjayBtZXRob2QKPiDCoCAq Lwo+IC1zdGF0aWMgaW50IGlkdF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgaWR0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+ IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWR0Xzg5aHBlc3hfZGV2ICpwZGV2ID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMTQxMyw4ICsxNDEzLDYgQEAgc3RhdGljIGlu dCBpZHRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqAvKiBEaXNjYXJkIGRyaXZlciBkYXRhIHN0cnVjdHVyZSAqLwo+IMKgwqDCoMKgwqDC oMKgwqBpZHRfZnJlZV9wZGV2KHBkZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgLyoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2VlcHJvbS9tYXg2 ODc1LmMKPiBiL2RyaXZlcnMvbWlzYy9lZXByb20vbWF4Njg3NS5jCj4gaW5kZXggOWRhODFmNmQ0 YTFjLi42YmQ0ZjQzMzlhZjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNjL2VlcHJvbS9tYXg2 ODc1LmMKPiArKysgYi9kcml2ZXJzL21pc2MvZWVwcm9tL21heDY4NzUuYwo+IEBAIC0xNzMsNyAr MTczLDcgQEAgc3RhdGljIGludCBtYXg2ODc1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMg aW50IG1heDY4NzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2 b2lkIG1heDY4NzVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDC oMKgwqDCoMKgwqDCoHN0cnVjdCBtYXg2ODc1X2RhdGEgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiDCoAo+IEBAIC0xODEsOCArMTgxLDYgQEAgc3RhdGljIGludCBtYXg2ODc1 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgc3lzZnNfcmVtb3ZlX2Jpbl9maWxlKCZjbGllbnQtPmRldi5rb2JqLCAmdXNlcl9lZXByb21f YXR0cik7Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGRhdGEpOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNl X2lkIG1heDY4NzVfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2htYzYzNTIu YyBiL2RyaXZlcnMvbWlzYy9obWM2MzUyLmMKPiBpbmRleCA1NzJhMmZmMTBmMDAuLjQyYjlhZGVm MjhhMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21pc2MvaG1jNjM1Mi5jCj4gKysrIGIvZHJpdmVy cy9taXNjL2htYzYzNTIuYwo+IEBAIC0xMTYsMTAgKzExNiw5IEBAIHN0YXRpYyBpbnQgaG1jNjM1 Ml9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaG1jNjM1Ml9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgaG1jNjM1Ml9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfcmVtb3ZlX2dy b3VwKCZjbGllbnQtPmRldi5rb2JqLCAmbV9jb21wYXNzX2dyKTsKPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lk IGhtYzYzNTJfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2ljczkzMnM0MDEu YyBiL2RyaXZlcnMvbWlzYy9pY3M5MzJzNDAxLmMKPiBpbmRleCAwZjllYTc1YjBiMTguLjJjNGJi NmQ2ZTFhMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21pc2MvaWNzOTMyczQwMS5jCj4gKysrIGIv ZHJpdmVycy9taXNjL2ljczkzMnM0MDEuYwo+IEBAIC05Myw3ICs5Myw3IEBAIHN0YXRpYyBpbnQg aWNzOTMyczQwMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBpMmNf ZGV2aWNlX2lkICppZCk7Cj4gwqBzdGF0aWMgaW50IGljczkzMnM0MDFfZGV0ZWN0KHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgc3RydWN0IGkyY19ib2FyZF9pbmZvICppbmZvKTsKPiAtc3RhdGljIGlu dCBpY3M5MzJzNDAxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KTsKPiArc3RhdGlj IHZvaWQgaWNzOTMyczQwMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBpY3M5MzJzNDAxX2lkW10gPSB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHsgImljczkzMnM0MDEiLCAwIH0sCj4gQEAgLTQ2MCwxMyArNDYw LDEyIEBAIHN0YXRpYyBpbnQgaWNzOTMyczQwMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiAtc3RhdGlj IGludCBpY3M5MzJzNDAxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCBpY3M5MzJzNDAxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaWNzOTMyczQwMV9kYXRhICpkYXRhID0gaTJjX2dl dF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfcmVtb3Zl X2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmZGF0YS0+YXR0cnMpOwo+IMKgwqDCoMKgwqDCoMKg wqBrZnJlZShkYXRhKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKg bW9kdWxlX2kyY19kcml2ZXIoaWNzOTMyczQwMV9kcml2ZXIpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL21pc2MvaXNsMjkwMDMuYyBiL2RyaXZlcnMvbWlzYy9pc2wyOTAwMy5jCj4gaW5kZXggNzAz ZDIwZTgzZWJkLi44YWI2MWJlNzljNzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNjL2lzbDI5 MDAzLmMKPiArKysgYi9kcml2ZXJzL21pc2MvaXNsMjkwMDMuYwo+IEBAIC00MTAsMTIgKzQxMCwx MSBAQCBzdGF0aWMgaW50IGlzbDI5MDAzX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IGlzbDI5MDAzX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBpc2wyOTAwM19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgc3lzZnNfcmVtb3ZlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmaXNsMjkw MDNfYXR0cl9ncm91cCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGlzbDI5MDAzX3NldF9wb3dlcl9zdGF0 ZShjbGllbnQsIDApOwo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KSk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRl ZiBDT05GSUdfUE1fU0xFRVAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2lzbDI5MDIwLmMg Yi9kcml2ZXJzL21pc2MvaXNsMjkwMjAuYwo+IGluZGV4IGZjNWZmMjgwNWI5NC4uYzZmMmE5NGY1 MDFhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWlzYy9pc2wyOTAyMC5jCj4gKysrIGIvZHJpdmVy cy9taXNjL2lzbDI5MDIwLmMKPiBAQCAtMTcxLDExICsxNzEsMTAgQEAgc3RhdGljIGludMKgIGlz bDI5MDIwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIHJlczsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGlzbDI5MDIwX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBpc2wyOTAyMF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVu dGltZV9kaXNhYmxlKCZjbGllbnQtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHN5c2ZzX3JlbW92 ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJm1fYWxzX2dyKTsKPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lk IGlzbDI5MDIwX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9saXMzbHYwMmQv bGlzM2x2MDJkX2kyYy5jCj4gYi9kcml2ZXJzL21pc2MvbGlzM2x2MDJkL2xpczNsdjAyZF9pMmMu Ywo+IGluZGV4IDUyNTU1ZDJlODI0Yi4uZDdkYWEwMWZlN2NhIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWlzYy9saXMzbHYwMmQvbGlzM2x2MDJkX2kyYy5jCj4gKysrIGIvZHJpdmVycy9taXNjL2xp czNsdjAyZC9saXMzbHYwMmRfaTJjLmMKPiBAQCAtMTc3LDcgKzE3Nyw3IEBAIHN0YXRpYyBpbnQg bGlzM2x2MDJkX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBsaXMzbHYwMmRf aTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBsaXMz bHYwMmRfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgbGlzM2x2MDJkICpsaXMzID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBsaXMzbHYwMmRfcGxhdGZvcm1fZGF0YSAq cGRhdGEgPSBjbGllbnQtCj4gPmRldi5wbGF0Zm9ybV9kYXRhOwo+IEBAIC0xOTAsNyArMTkwLDYg QEAgc3RhdGljIGludCBsaXMzbHYwMmRfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2J1bGtfZnJlZShBUlJBWV9T SVpFKGxpczMtPnJlZ3VsYXRvcnMpLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsaXMzX2Rldi5yZWd1bGF0b3JzKTsKPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTV9TTEVFUAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvdHNsMjU1MC5jIGIvZHJpdmVycy9taXNjL3RzbDI1NTAu Ywo+IGluZGV4IDZkNzE4NjVjODA0Mi4uMTY1MmZiOWIzODU2IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWlzYy90c2wyNTUwLmMKPiArKysgYi9kcml2ZXJzL21pc2MvdHNsMjU1MC5jCj4gQEAgLTM4 OSw3ICszODksNyBAQCBzdGF0aWMgaW50IHRzbDI1NTBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgdHNsMjU1MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3Rh dGljIHZvaWQgdHNsMjU1MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfcmVtb3ZlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAm dHNsMjU1MF9hdHRyX2dyb3VwKTsKPiDCoAo+IEBAIC0zOTcsOCArMzk3LDYgQEAgc3RhdGljIGlu dCB0c2wyNTUwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoHRzbDI1NTBfc2V0X3Bvd2VyX3N0YXRlKGNsaWVudCwgMCk7Cj4gwqAKPiDCoMKgwqDC oMKgwqDCoMKga2ZyZWUoaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCkpOwo+IC0KPiAtwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTV9TTEVFUAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tYXBzL3Bpc21vLmMgYi9kcml2ZXJzL210ZC9tYXBz L3Bpc21vLmMKPiBpbmRleCA5NDZiYTgwZjk3NTguLjVmY2VmY2QwYmFjYSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL210ZC9tYXBzL3Bpc21vLmMKPiArKysgYi9kcml2ZXJzL210ZC9tYXBzL3Bpc21v LmMKPiBAQCAtMTk1LDcgKzE5NSw3IEBAIHN0YXRpYyB2b2lkIHBpc21vX2FkZF9vbmUoc3RydWN0 IHBpc21vX2RhdGEKPiAqcGlzbW8sIGludCBpLAo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBwaXNtb19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgcGlzbW9fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBwaXNtb19kYXRhICpwaXNtbyA9IGkyY19nZXRf Y2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBpbnQgaTsKPiBAQCAtMjA0LDgg KzIwNCw2IEBAIHN0YXRpYyBpbnQgcGlzbW9fcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBsYXRmb3JtX2RldmljZV91 bnJlZ2lzdGVyKHBpc21vLT5kZXZbaV0pOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKHBp c21vKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRp YyBpbnQgcGlzbW9fcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZHNhL2xhbjkzMDNfaTJjLmMKPiBiL2RyaXZlcnMvbmV0L2RzYS9sYW45 MzAzX2kyYy5jCj4gaW5kZXggOGNhNDcxMzMxMGZhLi5iMjVlOTFiMjZkOTkgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9uZXQvZHNhL2xhbjkzMDNfaTJjLmMKPiArKysgYi9kcml2ZXJzL25ldC9kc2Ev bGFuOTMwM19pMmMuYwo+IEBAIC02NSwxOCArNjUsMTYgQEAgc3RhdGljIGludCBsYW45MzAzX2ky Y19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbGFuOTMwM19pMmNfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGxhbjkzMDNfaTJjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg bGFuOTMwM19pMmMgKnN3X2RldiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4g wqDCoMKgwqDCoMKgwqDCoGlmICghc3dfZGV2KQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGxhbjkzMDNfcmVtb3ZlKCZzd19kZXYtPmNoaXApOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoGkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIE5VTEwpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHZvaWQgbGFu OTMwM19pMmNfc2h1dGRvd24oc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZHNhL21pY3JvY2hpcC9rc3o5NDc3X2kyYy5jCj4gYi9kcml2ZXJzL25l dC9kc2EvbWljcm9jaGlwL2tzejk0NzdfaTJjLmMKPiBpbmRleCBmYWEzMTYzYzg2YjAuLmVmOWQz Y2M0YjE1YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL25ldC9kc2EvbWljcm9jaGlwL2tzejk0Nzdf aTJjLmMKPiArKysgYi9kcml2ZXJzL25ldC9kc2EvbWljcm9jaGlwL2tzejk0NzdfaTJjLmMKPiBA QCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgaW50IGtzejk0NzdfaTJjX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmkyYywKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCBrc3o5NDc3X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiAr c3RhdGljIHZvaWQga3N6OTQ3N19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBrc3pfZGV2aWNlICpkZXYgPSBpMmNfZ2V0X2Ns aWVudGRhdGEoaTJjKTsKPiDCoAo+IEBAIC02MCw4ICs2MCw2IEBAIHN0YXRpYyBpbnQga3N6OTQ3 N19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGtzel9zd2l0Y2hfcmVtb3ZlKGRldik7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKgaTJjX3NldF9jbGllbnRkYXRhKGkyYywgTlVMTCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgdm9pZCBrc3o5NDc3X2kyY19zaHV0ZG93 bihzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2Ev eHJzNzAweC94cnM3MDB4X2kyYy5jCj4gYi9kcml2ZXJzL25ldC9kc2EveHJzNzAweC94cnM3MDB4 X2kyYy5jCj4gaW5kZXggNmRlYWUzODhhMGQ2Li5iYmFmNWEzZmJmMDAgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9uZXQvZHNhL3hyczcwMHgveHJzNzAweF9pMmMuYwo+ICsrKyBiL2RyaXZlcnMvbmV0 L2RzYS94cnM3MDB4L3hyczcwMHhfaTJjLmMKPiBAQCAtMTA1LDE4ICsxMDUsMTYgQEAgc3RhdGlj IGludCB4cnM3MDB4X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMsCj4gwqDCoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgeHJzNzAweF9pMmNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gK3N0YXRpYyB2b2lkIHhyczcwMHhfaTJj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgeHJzNzAweCAqcHJpdiA9IGkyY19nZXRfY2xpZW50ZGF0YShpMmMpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoGlmICghcHJpdikKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybjsKPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqB4cnM3MDB4X3N3aXRjaF9yZW1vdmUocHJpdik7Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgaTJjX3NldF9jbGllbnRkYXRhKGkyYywgTlVMTCk7Cj4gLQo+IC3CoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgdm9pZCB4cnM3MDB4X2kyY19z aHV0ZG93bihzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9pMmMuYwo+IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4c3cvaTJjLmMKPiBpbmRleCBjZTg0M2VhOTE0NjQuLjUwYjcxMjFhNWUzYyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9pMmMuYwo+ ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L2kyYy5jCj4gQEAgLTY1 NiwxNCArNjU2LDEyIEBAIHN0YXRpYyBpbnQgbWx4c3dfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IG1seHN3X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgbWx4c3dfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbWx4c3dfaTJjICptbHhzd19pMmMgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtbHhzd19j b3JlX2J1c19kZXZpY2VfdW5yZWdpc3RlcihtbHhzd19pMmMtPmNvcmUsIGZhbHNlKTsKPiDCoMKg wqDCoMKgwqDCoMKgbXV0ZXhfZGVzdHJveSgmbWx4c3dfaTJjLT5jbWQubG9jayk7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBpbnQgbWx4c3dfaTJjX2RyaXZl cl9yZWdpc3RlcihzdHJ1Y3QgaTJjX2RyaXZlciAqaTJjX2RyaXZlcikKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvbWN0cC9tY3RwLWkyYy5jIGIvZHJpdmVycy9uZXQvbWN0cC9tY3RwLQo+IGky Yy5jCj4gaW5kZXggNTM4NDZjNmI1NmNhLi42NzBhZDliMzA2ZmUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9uZXQvbWN0cC9tY3RwLWkyYy5jCj4gKysrIGIvZHJpdmVycy9uZXQvbWN0cC9tY3RwLWky Yy5jCj4gQEAgLTk4Niw3ICs5ODYsNyBAQCBzdGF0aWMgaW50IG1jdHBfaTJjX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJjOwo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgbWN0cF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIG1jdHBfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbWN0cF9pMmNfY2xpZW50ICpt Y2xpID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCBtY3RwX2kyY19kZXYgKm1pZGV2ID0gTlVMTCwgKnRtcCA9IE5VTEw7Cj4gQEAgLTEwMDAsNyAr MTAwMCw2IEBAIHN0YXRpYyBpbnQgbWN0cF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4g KmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgbWN0cF9pMmNfZnJlZV9jbGllbnQobWNsaSk7Cj4g wqDCoMKgwqDCoMKgwqDCoG11dGV4X3VubG9jaygmZHJpdmVyX2NsaWVudHNfbG9jayk7Cj4gwqDC oMKgwqDCoMKgwqDCoC8qIENhbGxlcnMgaWdub3JlIHJldHVybiBjb2RlICovCj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qIFdlIGxvb2sgZm9yIGEgJ21jdHAtY29u dHJvbGxlcicgcHJvcGVydHkgb24gSTJDIGJ1c3NlcyBhcyB0aGV5Cj4gYXJlCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmZjL2ZkcC9pMmMuYyBiL2RyaXZlcnMvbmZjL2ZkcC9pMmMuYwo+IGluZGV4 IDI4YTllMWViOWJjZi4uMmQ1M2UwZjg4ZDJmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmZjL2Zk cC9pMmMuYwo+ICsrKyBiL2RyaXZlcnMvbmZjL2ZkcC9pMmMuYwo+IEBAIC0zMzYsMTQgKzMzNiwx MiBAQCBzdGF0aWMgaW50IGZkcF9uY2lfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBmZHBfbmNpX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGlj IHZvaWQgZmRwX25jaV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBmZHBfaTJjX3BoeSAqcGh5ID0gaTJjX2dldF9jbGll bnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZmRwX25jaV9yZW1vdmUocGh5 LT5uZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgZmRwX25jaV9pMmNfZGlzYWJsZShwaHkpOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0 cnVjdCBhY3BpX2RldmljZV9pZCBmZHBfbmNpX2kyY19hY3BpX21hdGNoW10gPSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmZjL21pY3JvcmVhZC9pMmMuYwo+IGIvZHJpdmVycy9uZmMvbWljcm9y ZWFkL2kyYy5jCj4gaW5kZXggMDY3Mjk1MTI0ZWI5Li41ZWFhMThmODEzNTUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9uZmMvbWljcm9yZWFkL2kyYy5jCj4gKysrIGIvZHJpdmVycy9uZmMvbWljcm9y ZWFkL2kyYy5jCj4gQEAgLTI2OCwxNSArMjY4LDEzIEBAIHN0YXRpYyBpbnQgbWljcm9yZWFkX2ky Y19wcm9iZShzdHJ1Y3QKPiBpMmNfY2xpZW50ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiByOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbWljcm9yZWFkX2kyY19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbWljcm9yZWFkX2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IG1pY3JvcmVhZF9pMmNfcGh5ICpwaHkgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBtaWNyb3JlYWRfcmVtb3ZlKHBoeS0+aGRldik7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgZnJlZV9pcnEoY2xpZW50LT5pcnEsIHBoeSk7Cj4gLQo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGky Y19kZXZpY2VfaWQgbWljcm9yZWFkX2kyY19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L25mYy9uZmNtcnZsL2kyYy5jIGIvZHJpdmVycy9uZmMvbmZjbXJ2bC9pMmMuYwo+IGluZGV4IGNl ZWY4MWQ5M2FjOS4uNjFmMWUyMDE5YzBhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmZjL25mY21y dmwvaTJjLmMKPiArKysgYi9kcml2ZXJzL25mYy9uZmNtcnZsL2kyYy5jCj4gQEAgLTIzMSwxMyAr MjMxLDExIEBAIHN0YXRpYyBpbnQgbmZjbXJ2bF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IG5mY21ydmxfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtz dGF0aWMgdm9pZCBuZmNtcnZsX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG5mY21ydmxfaTJjX2Rydl9kYXRhICpkcnZf ZGF0YSA9Cj4gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgbmZjbXJ2bF9uY2lfdW5yZWdpc3Rlcl9kZXYoZHJ2X2RhdGEtPnByaXYpOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmZjL254cC1uY2kvaTJjLmMgYi9kcml2ZXJzL25mYy9ueHAtbmNpL2kyYy5jCj4gaW5kZXgg N2U0NTFjMTA5ODVkLi44MmEyZTJmYjE0NzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZmMvbnhw LW5jaS9pMmMuYwo+ICsrKyBiL2RyaXZlcnMvbmZjL254cC1uY2kvaTJjLmMKPiBAQCAtMzA3LDE0 ICszMDcsMTIgQEAgc3RhdGljIGludCBueHBfbmNpX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgbnhwX25jaV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIG54cF9uY2lfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbnhwX25jaV9pMmNfcGh5ICpwaHkgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBueHBfbmNp X3JlbW92ZShwaHktPm5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBmcmVlX2lycShjbGllbnQtPmly cSwgcGh5KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBueHBfbmNpX2kyY19pZF90YWJsZVtdID0g ewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25mYy9wbjUzMy9pMmMuYyBiL2RyaXZlcnMvbmZjL3Bu NTMzL2kyYy5jCj4gaW5kZXggNjczZWI1ZTliODg3Li5kZGYzZGIyODZiYWQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9uZmMvcG41MzMvaTJjLmMKPiArKysgYi9kcml2ZXJzL25mYy9wbjUzMy9pMmMu Ywo+IEBAIC0yMjcsNyArMjI3LDcgQEAgc3RhdGljIGludCBwbjUzM19pMmNfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcjsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IHBuNTMzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCkKPiArc3RhdGljIHZvaWQgcG41MzNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcG41MzNfaTJjX3BoeSAqcGh5 ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMjM1LDggKzIzNSw2IEBA IHN0YXRpYyBpbnQgcG41MzNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQp Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgcG41M3hfdW5yZWdpc3Rlcl9uZmMocGh5LT5wcml2KTsK PiDCoMKgwqDCoMKgwqDCoMKgcG41M3hfY29tbW9uX2NsZWFuKHBoeS0+cHJpdik7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0 IG9mX2RldmljZV9pZCBvZl9wbjUzM19pMmNfbWF0Y2hbXSBfX21heWJlX3VudXNlZAo+ID0gewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL25mYy9wbjU0NC9pMmMuYyBiL2RyaXZlcnMvbmZjL3BuNTQ0 L2kyYy5jCj4gaW5kZXggNjJhMGYxYTAxMGNiLi45ZTc1NGFiY2ZhMmEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9uZmMvcG41NDQvaTJjLmMKPiArKysgYi9kcml2ZXJzL25mYy9wbjU0NC9pMmMuYwo+ IEBAIC05MjgsNyArOTI4LDcgQEAgc3RhdGljIGludCBwbjU0NF9oY2lfaTJjX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBwbjU0NF9oY2lfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBwbjU0NF9oY2lfaTJjX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcG41NDRfaTJj X3BoeSAqcGh5ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtOTQwLDgg Kzk0MCw2IEBAIHN0YXRpYyBpbnQgcG41NDRfaGNpX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50KQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChwaHktPnBvd2VyZWQpCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwbjU0NF9oY2lfaTJjX2Rpc2FibGUocGh5 KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBj b25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX3BuNTQ0X2kyY19tYXRjaFtdIF9fbWF5YmVfdW51 c2VkCj4gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmZjL3MzZndybjUvaTJjLmMgYi9kcml2 ZXJzL25mYy9zM2Z3cm41L2kyYy5jCj4gaW5kZXggNGQxY2YxYmI1NWIwLi5mODI0ZGM3MDk5Y2Ug MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZmMvczNmd3JuNS9pMmMuYwo+ICsrKyBiL2RyaXZlcnMv bmZjL3MzZndybjUvaTJjLmMKPiBAQCAtMjQ2LDE0ICsyNDYsMTIgQEAgc3RhdGljIGludCBzM2Z3 cm41X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBzM2Z3cm41X2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgczNmd3JuNV9pMmNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBzM2Z3cm41X2kyY19waHkgKnBoeSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHMzZndybjVfcmVtb3ZlKHBoeS0+Y29tbW9uLm5kZXYp Owo+IMKgwqDCoMKgwqDCoMKgwqBjbGtfZGlzYWJsZV91bnByZXBhcmUocGh5LT5jbGspOwo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0 cnVjdCBpMmNfZGV2aWNlX2lkIHMzZndybjVfaTJjX2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmZjL3N0LW5jaS9pMmMuYyBiL2RyaXZlcnMvbmZjL3N0LW5jaS9pMmMuYwo+ IGluZGV4IGNiZDk2OGYwMTNjNy4uODlmYTI0ZDcxYmVmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv bmZjL3N0LW5jaS9pMmMuYwo+ICsrKyBiL2RyaXZlcnMvbmZjL3N0LW5jaS9pMmMuYwo+IEBAIC0y NTAsMTMgKzI1MCwxMSBAQCBzdGF0aWMgaW50IHN0X25jaV9pMmNfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcjsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IHN0X25jaV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIHN0X25jaV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzdF9uY2lfaTJjX3BoeSAqcGh5ID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbmRsY19y ZW1vdmUocGh5LT5uZGxjKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBzdF9uY2lfaTJjX2lkX3Rh YmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmZjL3N0MjFuZmNhL2kyYy5jIGIvZHJp dmVycy9uZmMvc3QyMW5mY2EvaTJjLmMKPiBpbmRleCA0MmRjMGU1ZWIxNjEuLjc2YjU1OTg2YmNm OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL25mYy9zdDIxbmZjYS9pMmMuYwo+ICsrKyBiL2RyaXZl cnMvbmZjL3N0MjFuZmNhL2kyYy5jCj4gQEAgLTU2Miw3ICs1NjIsNyBAQCBzdGF0aWMgaW50IHN0 MjFuZmNhX2hjaV9pMmNfcHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50LAo+IMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gcjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHN0MjFuZmNhX2hj aV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHN0 MjFuZmNhX2hjaV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzdDIxbmZjYV9pMmNfcGh5ICpwaHkgPSBpMmNfZ2V0X2Ns aWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC01NzEsOCArNTcxLDYgQEAgc3RhdGljIGludCBz dDIxbmZjYV9oY2lfaTJjX3JlbW92ZShzdHJ1Y3QKPiBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDC oMKgwqDCoMKgwqDCoGlmIChwaHktPnBvd2VyZWQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBzdDIxbmZjYV9oY2lfaTJjX2Rpc2FibGUocGh5KTsKPiDCoMKgwqDCoMKgwqDCoMKg a2ZyZWVfc2tiKHBoeS0+cGVuZGluZ19za2IpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHN0MjFu ZmNhX2hjaV9pMmNfaWRfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9vZi91bml0 dGVzdC5jIGIvZHJpdmVycy9vZi91bml0dGVzdC5jCj4gaW5kZXggN2Y2YmJhMThjNTE1Li5lMGI5 OGNlOWM1ZTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9vZi91bml0dGVzdC5jCj4gKysrIGIvZHJp dmVycy9vZi91bml0dGVzdC5jCj4gQEAgLTI1MjUsMTMgKzI1MjUsMTIgQEAgc3RhdGljIGludCB1 bml0dGVzdF9pMmNfZGV2X3Byb2JlKHN0cnVjdAo+IGkyY19jbGllbnQgKmNsaWVudCwKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Owo+IMKgCj4gLXN0YXRpYyBpbnQgdW5pdHRlc3Rf aTJjX2Rldl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg dW5pdHRlc3RfaTJjX2Rldl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRldmljZSAqZGV2ID0gJmNsaWVudC0+ZGV2Owo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gY2xpZW50LT5kZXYub2Zfbm9k ZTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBkZXZfZGJnKGRldiwgIiVzIGZvciBub2RlIEAlcE9G XG4iLCBfX2Z1bmNfXywgbnApOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgdW5pdHRlc3RfaTJjX2Rldl9p ZFtdID0gewo+IEBAIC0yNjAyLDcgKzI2MDEsNyBAQCBzdGF0aWMgaW50IHVuaXR0ZXN0X2kyY19t dXhfcHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH07Cj4gwqAKPiAtc3RhdGljIGludCB1bml0dGVzdF9pMmNfbXV4X3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB1bml0dGVzdF9pMmNf bXV4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmY2xpZW50LT5kZXY7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBjbGllbnQtPmRldi5vZl9ub2RlOwo+IEBAIC0yNjEw LDcgKzI2MDksNiBAQCBzdGF0aWMgaW50IHVuaXR0ZXN0X2kyY19tdXhfcmVtb3ZlKHN0cnVjdAo+ IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBkZXZfZGJnKGRldiwg IiVzIGZvciBub2RlIEAlcE9GXG4iLCBfX2Z1bmNfXywgbnApOwo+IMKgwqDCoMKgwqDCoMKgwqBp MmNfbXV4X2RlbF9hZGFwdGVycyhtdXhjKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHVuaXR0ZXN0X2ky Y19tdXhfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS9jaHJvbWUvY3Jv c19lY19pMmMuYwo+IGIvZHJpdmVycy9wbGF0Zm9ybS9jaHJvbWUvY3Jvc19lY19pMmMuYwo+IGlu ZGV4IDlmNWI5NTc2MzE3My4uYjY4MjNjNjU0YzNmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGxh dGZvcm0vY2hyb21lL2Nyb3NfZWNfaTJjLmMKPiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL2Nocm9t ZS9jcm9zX2VjX2kyYy5jCj4gQEAgLTMxNywxMyArMzE3LDExIEBAIHN0YXRpYyBpbnQgY3Jvc19l Y19pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGNyb3NfZWNfaTJjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBjcm9zX2VjX2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGNyb3NfZWNfZGV2aWNlICplY19kZXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBjcm9zX2VjX3VucmVnaXN0ZXIoZWNfZGV2KTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfUE1f U0xFRVAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS9zdXJmYWNlL3N1cmZhY2UzX3Bv d2VyLmMKPiBiL2RyaXZlcnMvcGxhdGZvcm0vc3VyZmFjZS9zdXJmYWNlM19wb3dlci5jCj4gaW5k ZXggNDQ0ZWM4MWJhMDJkLi4zYjIwZGRkZWI4MTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wbGF0 Zm9ybS9zdXJmYWNlL3N1cmZhY2UzX3Bvd2VyLmMKPiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3N1 cmZhY2Uvc3VyZmFjZTNfcG93ZXIuYwo+IEBAIC01NTQsNyArNTU0LDcgQEAgc3RhdGljIGludCBt c2h3MDAxMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiBlcnJvcjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG1zaHcwMDExX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBtc2h3MDAxMV9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IG1zaHcwMDExX2RhdGEgKmNkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4g wqAKPiBAQCAtNTY0LDggKzU2NCw2IEBAIHN0YXRpYyBpbnQgbXNodzAwMTFfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGt0aHJlYWRfc3RvcChjZGF0YS0+cG9sbF90YXNrKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBp MmNfdW5yZWdpc3Rlcl9kZXZpY2UoY2RhdGEtPmJhdDApOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBhY3BpX2RldmljZV9p ZCBtc2h3MDAxMV9hY3BpX21hdGNoW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZv cm0veDg2L2FzdXMtdGYxMDNjLWRvY2suYwo+IGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXN1cy10 ZjEwM2MtZG9jay5jCj4gaW5kZXggNmZkMGM5ZmVhODJkLi42MjMxMGUwNjI4MmIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXN1cy10ZjEwM2MtZG9jay5jCj4gKysrIGIvZHJp dmVycy9wbGF0Zm9ybS94ODYvYXN1cy10ZjEwM2MtZG9jay5jCj4gQEAgLTg3OCwxNCArODc4LDEy IEBAIHN0YXRpYyBpbnQgdGYxMDNjX2RvY2tfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IHRmMTAzY19kb2NrX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMg dm9pZCB0ZjEwM2NfZG9ja19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRmMTAzY19kb2NrX2RhdGEgKmRvY2sgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB0ZjEwM2NfZG9ja19z dG9wX2hwZChkb2NrKTsKPiDCoMKgwqDCoMKgwqDCoMKgdGYxMDNjX2RvY2tfZGlzYWJsZShkb2Nr KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBp bnQgX19tYXliZV91bnVzZWQgdGYxMDNjX2RvY2tfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYp Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsL2ludDM0NzIvdHBzNjg0 NzAuYwo+IGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWwvaW50MzQ3Mi90cHM2ODQ3MC5jCj4g aW5kZXggMjJmNjFiNDdmOWU1Li41ZGQ4MWJiMDUyNTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9w bGF0Zm9ybS94ODYvaW50ZWwvaW50MzQ3Mi90cHM2ODQ3MC5jCj4gKysrIGIvZHJpdmVycy9wbGF0 Zm9ybS94ODYvaW50ZWwvaW50MzQ3Mi90cHM2ODQ3MC5jCj4gQEAgLTE3OCwxNSArMTc4LDEzIEBA IHN0YXRpYyBpbnQgc2tsX2ludDM0NzJfdHBzNjg0NzBfcHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgc2tsX2ludDM0NzJfdHBzNjg0NzBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyB2b2lkIHNrbF9pbnQzNDcyX3RwczY4NDcwX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBjb25zdCBzdHJ1Y3Qg aW50MzQ3Ml90cHM2ODQ3MF9ib2FyZF9kYXRhICpib2FyZF9kYXRhOwo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoGJvYXJkX2RhdGEgPQo+IGludDM0NzJfdHBzNjg0NzBfZ2V0X2JvYXJkX2RhdGEoZGV2 X25hbWUoJmNsaWVudC0+ZGV2KSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGlmIChib2FyZF9kYXRhKQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZ3Bpb2RfcmVtb3ZlX2xvb2t1cF90YWJs ZShib2FyZF9kYXRhLQo+ID50cHM2ODQ3MF9ncGlvX2xvb2t1cF90YWJsZSk7Cj4gLQo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGFj cGlfZGV2aWNlX2lkIGludDM0NzJfZGV2aWNlX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvcG93ZXIvc3VwcGx5L2JxMjQxNXhfY2hhcmdlci5jCj4gYi9kcml2ZXJzL3Bvd2VyL3N1cHBs eS9icTI0MTV4X2NoYXJnZXIuYwo+IGluZGV4IDU3MjQwMDFlNjZiOS4uNmI5OWUxYzY3NWI4IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2JxMjQxNXhfY2hhcmdlci5jCj4gKysr IGIvZHJpdmVycy9wb3dlci9zdXBwbHkvYnEyNDE1eF9jaGFyZ2VyLmMKPiBAQCAtMTY5Niw3ICsx Njk2LDcgQEAgc3RhdGljIGludCBicTI0MTV4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNs aWVudCwKPiDCoAo+IMKgLyogbWFpbiBicTI0MTV4IHJlbW92ZSBmdW5jdGlvbiAqLwo+IMKgCj4g LXN0YXRpYyBpbnQgYnEyNDE1eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgYnEyNDE1eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDC oHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGJxMjQxNXhfZGV2aWNlICpicSA9IGkyY19nZXRf Y2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTE3MTUsOCArMTcxNSw2IEBAIHN0YXRpYyBp bnQgYnEyNDE1eF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKg wqDCoMKgwqBkZXZfaW5mbyhicS0+ZGV2LCAiZHJpdmVyIHVucmVnaXN0ZXJlZFxuIik7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoYnEtPm5hbWUpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lk IGJxMjQxNXhfaTJjX2lkX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcG93ZXIv c3VwcGx5L2JxMjQxOTBfY2hhcmdlci5jCj4gYi9kcml2ZXJzL3Bvd2VyL3N1cHBseS9icTI0MTkw X2NoYXJnZXIuYwo+IGluZGV4IDI3ZjVjNzY0ODYxNy4uMjI3NDY3OWM1ZGRkIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2JxMjQxOTBfY2hhcmdlci5jCj4gKysrIGIvZHJpdmVy cy9wb3dlci9zdXBwbHkvYnEyNDE5MF9jaGFyZ2VyLmMKPiBAQCAtMTkwMSw3ICsxOTAxLDcgQEAg c3RhdGljIGludCBicTI0MTkwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGJxMjQx OTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGJxMjQx OTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoHN0cnVjdCBicTI0MTkwX2Rldl9pbmZvICpiZGkgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgaW50IGVycm9yOwo+IEBAIC0xOTE4LDggKzE5MTgsNiBA QCBzdGF0aWMgaW50IGJxMjQxOTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkK PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfcHV0X3N5bmMoYmRp LT5kZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX2RvbnRfdXNlX2F1dG9zdXNwZW5k KGJkaS0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKGJkaS0+ZGV2 KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyB2 b2lkIGJxMjQxOTBfc2h1dGRvd24oc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9wb3dlci9zdXBwbHkvYnEyNDI1N19jaGFyZ2VyLmMKPiBiL2RyaXZlcnMv cG93ZXIvc3VwcGx5L2JxMjQyNTdfY2hhcmdlci5jCj4gaW5kZXggOTZjYjMyOTBiY2FhLi5kYWZi NjRiMzJjZWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wb3dlci9zdXBwbHkvYnEyNDI1N19jaGFy Z2VyLmMKPiArKysgYi9kcml2ZXJzL3Bvd2VyL3N1cHBseS9icTI0MjU3X2NoYXJnZXIuYwo+IEBA IC0xMDc3LDcgKzEwNzcsNyBAQCBzdGF0aWMgaW50IGJxMjQyNTdfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IGJxMjQyNTdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIGJxMjQyNTdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBicTI0MjU3X2RldmljZSAqYnEgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0xMDg1LDggKzEwODUsNiBAQCBzdGF0aWMg aW50IGJxMjQyNTdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmYnEtPmlp bGltaXRfc2V0dXBfd29yayk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgYnEyNDI1N19maWVsZF93 cml0ZShicSwgRl9SRVNFVCwgMSk7IC8qIHJlc2V0IHRvIGRlZmF1bHRzICovCj4gLQo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNX1NMRUVQ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2JxMjU4OTBfY2hhcmdlci5jCj4g Yi9kcml2ZXJzL3Bvd2VyL3N1cHBseS9icTI1ODkwX2NoYXJnZXIuYwo+IGluZGV4IDg1MmE2ZmVj NDMzOS4uMDZlYTczOTlkMTUxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2Jx MjU4OTBfY2hhcmdlci5jCj4gKysrIGIvZHJpdmVycy9wb3dlci9zdXBwbHkvYnEyNTg5MF9jaGFy Z2VyLmMKPiBAQCAtMTI1OCw3ICsxMjU4LDcgQEAgc3RhdGljIGludCBicTI1ODkwX3Byb2JlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsK PiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGJxMjU4OTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGJxMjU4OTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBicTI1ODkwX2RldmljZSAq YnEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0xMjY5LDggKzEyNjks NiBAQCBzdGF0aWMgaW50IGJxMjU4OTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qIHJlc2V0IGFsbCByZWdpc3Rl cnMgdG8gZGVmYXVsdCB2YWx1ZXMgKi8KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGJxMjU4OTBfY2hpcF9yZXNldChicSk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyB2b2lkIGJxMjU4OTBfc2h1 dGRvd24oc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9w b3dlci9zdXBwbHkvYnEyN3h4eF9iYXR0ZXJ5X2kyYy5jCj4gYi9kcml2ZXJzL3Bvd2VyL3N1cHBs eS9icTI3eHh4X2JhdHRlcnlfaTJjLmMKPiBpbmRleCBjZjM4Y2JmZTEzZTkuLjk0YjAwYmI4OWMx NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Bvd2VyL3N1cHBseS9icTI3eHh4X2JhdHRlcnlfaTJj LmMKPiArKysgYi9kcml2ZXJzL3Bvd2VyL3N1cHBseS9icTI3eHh4X2JhdHRlcnlfaTJjLmMKPiBA QCAtMjA1LDcgKzIwNSw3IEBAIHN0YXRpYyBpbnQgYnEyN3h4eF9iYXR0ZXJ5X2kyY19wcm9iZShz dHJ1Y3QKPiBpMmNfY2xpZW50ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBicTI3eHh4X2JhdHRlcnlfaTJjX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBicTI3eHh4X2JhdHRlcnlfaTJj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgYnEyN3h4eF9kZXZpY2VfaW5mbyAqZGkgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoAo+IEBAIC0yMTQsOCArMjE0LDYgQEAgc3RhdGljIGludCBicTI3eHh4X2JhdHRl cnlfaTJjX3JlbW92ZShzdHJ1Y3QKPiBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoG11dGV4X2xvY2soJmJhdHRlcnlfbXV0ZXgpOwo+IMKgwqDCoMKgwqDCoMKgwqBpZHJfcmVt b3ZlKCZiYXR0ZXJ5X2lkLCBkaS0+aWQpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF91bmxvY2so JmJhdHRlcnlfbXV0ZXgpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGJxMjd4eHhfaTJjX2lkX3Rh YmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2N3MjAxNV9iYXR0 ZXJ5LmMKPiBiL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2N3MjAxNV9iYXR0ZXJ5LmMKPiBpbmRleCA3 MjhlMmE2Y2M5YzMuLjgxZTE3YWQ4MDE2MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Bvd2VyL3N1 cHBseS9jdzIwMTVfYmF0dGVyeS5jCj4gKysrIGIvZHJpdmVycy9wb3dlci9zdXBwbHkvY3cyMDE1 X2JhdHRlcnkuYwo+IEBAIC03MjUsMTMgKzcyNSwxMiBAQCBzdGF0aWMgaW50IF9fbWF5YmVfdW51 c2VkIGN3X2JhdF9yZXN1bWUoc3RydWN0Cj4gZGV2aWNlICpkZXYpCj4gwqAKPiDCoHN0YXRpYyBT SU1QTEVfREVWX1BNX09QUyhjd19iYXRfcG1fb3BzLCBjd19iYXRfc3VzcGVuZCwKPiBjd19iYXRf cmVzdW1lKTsKPiDCoAo+IC1zdGF0aWMgaW50IGN3X2JhdF9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgY3dfYmF0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgY3dfYmF0dGVyeSAqY3df YmF0ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg Y2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZjd19iYXQtPmJhdHRlcnlfZGVsYXlfd29yayk7Cj4g wqDCoMKgwqDCoMKgwqDCoHBvd2VyX3N1cHBseV9wdXRfYmF0dGVyeV9pbmZvKGN3X2JhdC0+cmtf YmF0LCBjd19iYXQtCj4gPmJhdHRlcnkpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgY3dfYmF0X2lkX3Rh YmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2RzMjc4Ml9iYXR0 ZXJ5LmMKPiBiL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2RzMjc4Ml9iYXR0ZXJ5LmMKPiBpbmRleCA5 YWUyNzNmZGU3YTIuLmQ3OGNkMDU0MDJmNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Bvd2VyL3N1 cHBseS9kczI3ODJfYmF0dGVyeS5jCj4gKysrIGIvZHJpdmVycy9wb3dlci9zdXBwbHkvZHMyNzgy X2JhdHRlcnkuYwo+IEBAIC0zMTIsNyArMzEyLDcgQEAgc3RhdGljIHZvaWQgZHMyNzh4X3Bvd2Vy X3N1cHBseV9pbml0KHN0cnVjdAo+IHBvd2VyX3N1cHBseV9kZXNjICpiYXR0ZXJ5KQo+IMKgwqDC oMKgwqDCoMKgwqBiYXR0ZXJ5LT5leHRlcm5hbF9wb3dlcl9jaGFuZ2VkwqA9IE5VTEw7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBkczI3OHhfYmF0dGVyeV9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgZHMyNzh4X2JhdHRlcnlfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkczI3OHhf aW5mbyAqaW5mbyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDCoMKgwqDCoMKg wqBpbnQgaWQgPSBpbmZvLT5pZDsKPiBAQCAtMzI1LDggKzMyNSw2IEBAIHN0YXRpYyBpbnQgZHMy Nzh4X2JhdHRlcnlfcmVtb3ZlKHN0cnVjdAo+IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoMKgwqDC oMKgwqDCoMKgbXV0ZXhfbG9jaygmYmF0dGVyeV9sb2NrKTsKPiDCoMKgwqDCoMKgwqDCoMKgaWRy X3JlbW92ZSgmYmF0dGVyeV9pZCwgaWQpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF91bmxvY2so JmJhdHRlcnlfbG9jayk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqAjaWZkZWYgQ09ORklHX1BNX1NMRUVQCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcG93ZXIv c3VwcGx5L2xwODcyN19jaGFyZ2VyLmMKPiBiL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2xwODcyN19j aGFyZ2VyLmMKPiBpbmRleCA5ZWU1NGUzOTc3NTQuLjM4NGEzNzRiNTJjMSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL3Bvd2VyL3N1cHBseS9scDg3MjdfY2hhcmdlci5jCj4gKysrIGIvZHJpdmVycy9w b3dlci9zdXBwbHkvbHA4NzI3X2NoYXJnZXIuYwo+IEBAIC01OTAsMTMgKzU5MCwxMiBAQCBzdGF0 aWMgaW50IGxwODcyN19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2wsCj4gY29uc3Qgc3RydWN0 IGkyY19kZXZpY2VfaWQgKmlkKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IGxwODcyN19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsKQo+ICtz dGF0aWMgdm9pZCBscDg3MjdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbCkKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IGxwODcyN19jaGcgKnBjaGcgPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2wpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGxwODcyN19yZWxlYXNlX2lycShwY2hnKTsK PiDCoMKgwqDCoMKgwqDCoMKgbHA4NzI3X3VucmVnaXN0ZXJfcHN5KHBjaGcpOwo+IC3CoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rl dmljZV9pZCBscDg3MjdfZHRfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcG93ZXIv c3VwcGx5L3J0NTAzM19iYXR0ZXJ5LmMKPiBiL2RyaXZlcnMvcG93ZXIvc3VwcGx5L3J0NTAzM19i YXR0ZXJ5LmMKPiBpbmRleCA3YTIzYzcwZjQ4NzkuLjczNmRlYzYwOGZmNiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL3Bvd2VyL3N1cHBseS9ydDUwMzNfYmF0dGVyeS5jCj4gKysrIGIvZHJpdmVycy9w b3dlci9zdXBwbHkvcnQ1MDMzX2JhdHRlcnkuYwo+IEBAIC0xNDksMTMgKzE0OSwxMSBAQCBzdGF0 aWMgaW50IHJ0NTAzM19iYXR0ZXJ5X3Byb2JlKHN0cnVjdAo+IGkyY19jbGllbnQgKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBydDUw MzNfYmF0dGVyeV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZv aWQgcnQ1MDMzX2JhdHRlcnlfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7 Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBydDUwMzNfYmF0dGVyeSAqYmF0dGVyeSA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHBvd2VyX3N1cHBs eV91bnJlZ2lzdGVyKGJhdHRlcnktPnBzeSk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgcnQ1MDMz X2JhdHRlcnlfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wb3dlci9zdXBwbHkvcnQ5 NDU1X2NoYXJnZXIuYwo+IGIvZHJpdmVycy9wb3dlci9zdXBwbHkvcnQ5NDU1X2NoYXJnZXIuYwo+ IGluZGV4IDc0ZWU1NDMyMGU2YS4uNzI5NjIyODZkNzA0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv cG93ZXIvc3VwcGx5L3J0OTQ1NV9jaGFyZ2VyLmMKPiArKysgYi9kcml2ZXJzL3Bvd2VyL3N1cHBs eS9ydDk0NTVfY2hhcmdlci5jCj4gQEAgLTE2OTgsNyArMTY5OCw3IEBAIHN0YXRpYyBpbnQgcnQ5 NDU1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHJ0OTQ1NV9yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcnQ5NDU1X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBpbnQgcmV0Owo+IMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcnQ5NDU1X2luZm8gKmluZm8gPSBpMmNfZ2V0X2NsaWVudGRh dGEoY2xpZW50KTsKPiBAQCAtMTcxNSw4ICsxNzE1LDYgQEAgc3RhdGljIGludCBydDk0NTVfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgY2FuY2Vs X2RlbGF5ZWRfd29ya19zeW5jKCZpbmZvLT5wd3JfcmR5X3dvcmspOwo+IMKgwqDCoMKgwqDCoMKg wqBjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmluZm8tPm1heF9jaGFyZ2luZ190aW1lX3dvcmsp Owo+IMKgwqDCoMKgwqDCoMKgwqBjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmluZm8tPmJhdHRf cHJlc2VuY2Vfd29yayk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgcnQ5NDU1X2kyY19pZF90YWJs ZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Bvd2VyL3N1cHBseS9zbWIzNDctY2hhcmdl ci5jCj4gYi9kcml2ZXJzL3Bvd2VyL3N1cHBseS9zbWIzNDctY2hhcmdlci5jCj4gaW5kZXggMTUx MWY3MWY5MzdjLi45OTZhODJmOGEyYTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wb3dlci9zdXBw bHkvc21iMzQ3LWNoYXJnZXIuYwo+ICsrKyBiL2RyaXZlcnMvcG93ZXIvc3VwcGx5L3NtYjM0Ny1j aGFyZ2VyLmMKPiBAQCAtMTU5NSwxNCArMTU5NSwxMiBAQCBzdGF0aWMgaW50IHNtYjM0N19wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc21iMzQ3X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzbWIzNDdfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBzbWIzNDdfY2hhcmdlciAq c21iID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg c21iMzQ3X3VzYl92YnVzX3JlZ3VsYXRvcl9kaXNhYmxlKHNtYi0+dXNiX3JkZXYpOwo+IMKgwqDC oMKgwqDCoMKgwqBzbWIzNDdfaXJxX2Rpc2FibGUoc21iKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyB2b2lkIHNtYjM0N19zaHV0ZG93bihzdHJ1 Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Bvd2VyL3N1cHBs eS96Ml9iYXR0ZXJ5LmMKPiBiL2RyaXZlcnMvcG93ZXIvc3VwcGx5L3oyX2JhdHRlcnkuYwo+IGlu ZGV4IDdlZDRlNGJiMjZlYy4uMTg5N2MyOTg0ODYwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcG93 ZXIvc3VwcGx5L3oyX2JhdHRlcnkuYwo+ICsrKyBiL2RyaXZlcnMvcG93ZXIvc3VwcGx5L3oyX2Jh dHRlcnkuYwo+IEBAIC0yNTEsNyArMjUxLDcgQEAgc3RhdGljIGludCB6Ml9iYXR0X3Byb2JlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsK PiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHoyX2JhdHRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHoyX2JhdHRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB6Ml9jaGFyZ2VyICpjaGFy Z2VyID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMjYzLDggKzI2Myw2 IEBAIHN0YXRpYyBpbnQgejJfYmF0dF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZnJlZV9pcnEoZ3Bpb2RfdG9faXJx KGNoYXJnZXItPmNoYXJnZV9ncGlvZCksCj4gY2hhcmdlcik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKga2ZyZWUoY2hhcmdlcik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcHdtL3B3bS1w Y2E5Njg1LmMgYi9kcml2ZXJzL3B3bS9wd20tcGNhOTY4NS5jCj4gaW5kZXggYzkxZmE3ZjllMzNk Li5mMjMwYzEwZDI4YmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wd20vcHdtLXBjYTk2ODUuYwo+ ICsrKyBiL2RyaXZlcnMvcHdtL3B3bS1wY2E5Njg1LmMKPiBAQCAtNTk4LDcgKzU5OCw3IEBAIHN0 YXRpYyBpbnQgcGNhOTY4NV9wd21fcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHBjYTk2 ODVfcHdtX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBw Y2E5Njg1X3B3bV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IHBjYTk2ODUgKnBjYSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IMKgCj4gQEAgLTYxMCw4ICs2MTAsNiBAQCBzdGF0aWMgaW50IHBjYTk2ODVfcHdtX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX2Rpc2FibGUoJmNsaWVudC0+ZGV2KTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19t YXliZV91bnVzZWQgcGNhOTY4NV9wd21fcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UKPiAq ZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3JlZ3VsYXRvci9kYTkxMjEtcmVndWxhdG9yLmMK PiBiL2RyaXZlcnMvcmVndWxhdG9yL2RhOTEyMS1yZWd1bGF0b3IuYwo+IGluZGV4IDc2ZTBlMjNi ZjU5OC4uZTRjNzUzYjgzMDg4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcmVndWxhdG9yL2RhOTEy MS1yZWd1bGF0b3IuYwo+ICsrKyBiL2RyaXZlcnMvcmVndWxhdG9yL2RhOTEyMS1yZWd1bGF0b3Iu Ywo+IEBAIC0xMTY0LDcgKzExNjQsNyBAQCBzdGF0aWMgaW50IGRhOTEyMV9pMmNfcHJvYmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqaTJjLAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgZGE5MTIxX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmkyYykKPiArc3RhdGljIHZvaWQgZGE5MTIxX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRhOTEyMSAqY2hpcCA9IGkyY19n ZXRfY2xpZW50ZGF0YShpMmMpOwo+IMKgwqDCoMKgwqDCoMKgwqBjb25zdCBpbnQgbWFza19hbGxb NF0gPSB7IDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYgfTsKPiBAQCAtMTE3Niw3ICsxMTc2LDYgQEAg c3RhdGljIGludCBkYTkxMjFfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4g wqDCoMKgwqDCoMKgwqDCoHJldCA9IHJlZ21hcF9idWxrX3dyaXRlKGNoaXAtPnJlZ21hcCwgREE5 MTIxX1JFR19TWVNfTUFTS18wLAo+IG1hc2tfYWxsLCA0KTsKPiDCoMKgwqDCoMKgwqDCoMKgaWYg KHJldCAhPSAwKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X2VycihjaGlw LT5kZXYsICJGYWlsZWQgdG8gc2V0IElSUSBtYXNrczogJWRcbiIsCj4gcmV0KTsKPiAtwqDCoMKg wqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNf ZGV2aWNlX2lkIGRhOTEyMV9pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZWd1 bGF0b3IvbHA4NzU1LmMgYi9kcml2ZXJzL3JlZ3VsYXRvci9scDg3NTUuYwo+IGluZGV4IDMyMWJl YzZlM2Y4ZC4uMzFiNDM0MjZkNDdjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcmVndWxhdG9yL2xw ODc1NS5jCj4gKysrIGIvZHJpdmVycy9yZWd1bGF0b3IvbHA4NzU1LmMKPiBAQCAtNDIyLDE1ICs0 MjIsMTMgQEAgc3RhdGljIGludCBscDg3NTVfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBp bnQgbHA4NzU1X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBscDg3NTVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoGludCBpY250Owo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbHA4NzU1X2NoaXAg KnBjaGlwID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDC oMKgZm9yIChpY250ID0gMDsgaWNudCA8IExQODc1NV9CVUNLX01BWDsgaWNudCsrKQo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVnbWFwX3dyaXRlKHBjaGlwLT5yZWdtYXAsIGlj bnQsIDB4MDApOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKg c3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGxwODc1NV9pZFtdID0gewo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3JlZ3VsYXRvci9ycGktcGFuZWwtYXR0aW55LXJlZ3VsYXRvci5jCj4g Yi9kcml2ZXJzL3JlZ3VsYXRvci9ycGktcGFuZWwtYXR0aW55LXJlZ3VsYXRvci5jCj4gaW5kZXgg ZmE4NzA2YTM1MmNlLi4wNGI0YWIxMzE5ODUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9yZWd1bGF0 b3IvcnBpLXBhbmVsLWF0dGlueS1yZWd1bGF0b3IuYwo+ICsrKyBiL2RyaXZlcnMvcmVndWxhdG9y L3JwaS1wYW5lbC1hdHRpbnktcmVndWxhdG9yLmMKPiBAQCAtMzg1LDEzICszODUsMTEgQEAgc3Rh dGljIGludCBhdHRpbnlfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYywKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGF0dGlueV9p MmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGF0dGlu eV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBhdHRpbnlfbGNkICpzdGF0ZSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG11dGV4X2Rlc3Ryb3koJnN0YXRlLT5sb2NrKTsK PiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25z dCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGF0dGlueV9kdF9pZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ydGMvcnRjLWJxMzJrLmMgYi9kcml2ZXJzL3J0Yy9ydGMtYnEzMmsuYwo+IGluZGV4 IDIyMzVjOTY4ODQyZC4uZjE5ODY2M2YyMGM3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcnRjL3J0 Yy1icTMyay5jCj4gKysrIGIvZHJpdmVycy9ydGMvcnRjLWJxMzJrLmMKPiBAQCAtMjk4LDExICsy OTgsOSBAQCBzdGF0aWMgaW50IGJxMzJrX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBi cTMya19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYnEz MmtfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoGJxMzJrX3N5c2ZzX3VucmVnaXN0ZXIoJmNsaWVudC0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rl dmljZV9pZCBicTMya19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtZHMx Mzc0LmMgYi9kcml2ZXJzL3J0Yy9ydGMtZHMxMzc0LmMKPiBpbmRleCA4ZGI1YTYzMWJjYTguLjQ0 MTQ4ODAyYjFhNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3J0Yy9ydGMtZHMxMzc0LmMKPiArKysg Yi9kcml2ZXJzL3J0Yy9ydGMtZHMxMzc0LmMKPiBAQCAtNTMxLDcgKzUzMSw3IEBAIHN0YXRpYyBp bnQgZHMxMzc0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBkczEzNzRfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGRzMTM3NF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRz MTM3NCAqZHMxMzc0ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtNTQz LDggKzU0Myw2IEBAIHN0YXRpYyBpbnQgZHMxMzc0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXZtX2ZyZWVfaXJx KCZjbGllbnQtPmRldiwgY2xpZW50LT5pcnEsIGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBjYW5jZWxfd29ya19zeW5jKCZkczEzNzQtPndvcmspOwo+IMKgwqDCoMKg wqDCoMKgwqB9Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAj aWZkZWYgQ09ORklHX1BNX1NMRUVQCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1pc2wx MjAyNi5jIGIvZHJpdmVycy9ydGMvcnRjLWlzbDEyMDI2LmMKPiBpbmRleCAxZmM2NjI3ZDg1NGQu LjFiZmNhMzkwNzlkNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3J0Yy9ydGMtaXNsMTIwMjYuYwo+ ICsrKyBiL2RyaXZlcnMvcnRjL3J0Yy1pc2wxMjAyNi5jCj4gQEAgLTQ3MiwxMiArNDcyLDExIEBA IHN0YXRpYyBpbnQgaXNsMTIwMjZfcHJvYmVfbmV3KHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGRldm1fcnRjX3JlZ2lzdGVyX2RldmljZShwcml2 LT5ydGMpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaXNsMTIwMjZfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGlzbDEyMDI2X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaXNsMTIw MjYgKnByaXYgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDC oMKgwqBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UocHJpdi0+bnZtX2NsaWVudCk7Cj4gLcKgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2 aWNlX2lkIGlzbDEyMDI2X2R0X21hdGNoW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRj L3J0Yy1tNDF0ODAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1tNDF0ODAuYwo+IGluZGV4IGQ4Njg0NThj ZDQwZS4uZTBiNGQzNzk0MzIwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1tNDF0ODAu Ywo+ICsrKyBiL2RyaXZlcnMvcnRjL3J0Yy1tNDF0ODAuYwo+IEBAIC05ODksNyArOTg5LDcgQEAg c3RhdGljIGludCBtNDF0ODBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG00MXQ4MF9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgbTQxdDgwX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgI2lmZGVmIENPTkZJR19S VENfRFJWX000MVQ4MF9XRFQKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG00MXQ4MF9kYXRhICpj bGllbnRkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gQEAgLTk5OSw4ICs5OTks NiBAQCBzdGF0aWMgaW50IG00MXQ4MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdW5yZWdpc3Rlcl9yZWJvb3Rfbm90 aWZpZXIoJndkdF9ub3RpZmllcik7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoCNlbmRpZgo+IC0K PiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBp MmNfZHJpdmVyIG00MXQ4MF9kcml2ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0 Yy1yczVjMzcyLmMgYi9kcml2ZXJzL3J0Yy9ydGMtcnM1YzM3Mi5jCj4gaW5kZXggY2IxNTk4MzM4 M2Y1Li45NTYyYzQ3N2UxYzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ydGMvcnRjLXJzNWMzNzIu Ywo+ICsrKyBiL2RyaXZlcnMvcnRjL3J0Yy1yczVjMzcyLmMKPiBAQCAtOTEwLDEwICs5MTAsOSBA QCBzdGF0aWMgaW50IHJzNWMzNzJfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcnM1 YzM3Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcnM1 YzM3Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgcnM1Y19zeXNmc191bnJlZ2lzdGVyKCZjbGllbnQtPmRldik7Cj4gLcKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciByczVj MzcyX2RyaXZlciA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLXgxMjA1LmMgYi9k cml2ZXJzL3J0Yy9ydGMteDEyMDUuYwo+IGluZGV4IGQxZDVhNDRkOTEyMi4uNzc5MmUyMmRlODA1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcnRjL3J0Yy14MTIwNS5jCj4gKysrIGIvZHJpdmVycy9y dGMvcnRjLXgxMjA1LmMKPiBAQCAtNjU4LDEwICs2NTgsOSBAQCBzdGF0aWMgaW50IHgxMjA1X3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB4MTIwNV9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgeDEyMDVfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHgxMjA1X3N5c2ZzX3VucmVnaXN0ZXIo JmNsaWVudC0+ZGV2KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKg c3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHgxMjA1X2lkW10gPSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9hdG9taXNwL2kyYy9hdG9taXNwLWdjMDMxMC5j Cj4gYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvYXRvbWlzcC9pMmMvYXRvbWlzcC1nYzAzMTAuYwo+ IGluZGV4IGNiYzhiMWQ5MTk5NS4uNzgzZjFiODhlYmYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv c3RhZ2luZy9tZWRpYS9hdG9taXNwL2kyYy9hdG9taXNwLWdjMDMxMC5jCj4gKysrIGIvZHJpdmVy cy9zdGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL2F0b21pc3AtZ2MwMzEwLmMKPiBAQCAtMTE5NCw3 ICsxMTk0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2NGwyX3N1YmRldl9vcHMgZ2MwMzEwX29w cwo+ID0gewo+IMKgwqDCoMKgwqDCoMKgwqAuc2Vuc29yID0gJmdjMDMxMF9zZW5zb3Jfb3BzLAo+ IMKgfTsKPiDCoAo+IC1zdGF0aWMgaW50IGdjMDMxMF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgZ2MwMzEwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBnYzAz MTBfZGV2aWNlICpkZXYgPSB0b19nYzAzMTBfc2Vuc29yKHNkKTsKPiBAQCAtMTIwNyw4ICsxMjA3 LDYgQEAgc3RhdGljIGludCBnYzAzMTBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5X2NsZWFudXAoJmRldi0+c2QuZW50aXR5 KTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgmZGV2LT5jdHJsX2hh bmRsZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShkZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBnYzAzMTBfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlh L2F0b21pc3AvaTJjL2F0b21pc3AtZ2MyMjM1LmMKPiBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9h dG9taXNwL2kyYy9hdG9taXNwLWdjMjIzNS5jCj4gaW5kZXggMGU2YjJlNjEwMGQxLi40ZDVhN2Uz MzVmODUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL2F0 b21pc3AtZ2MyMjM1LmMKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvYXRvbWlzcC9pMmMv YXRvbWlzcC1nYzIyMzUuYwo+IEBAIC05NTIsNyArOTUyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCB2NGwyX3N1YmRldl9vcHMgZ2MyMjM1X29wcyA9Cj4gewo+IMKgwqDCoMKgwqDCoMKgwqAuc2Vu c29yID0gJmdjMjIzNV9zZW5zb3Jfb3BzLAo+IMKgfTsKPiDCoAo+IC1zdGF0aWMgaW50IGdjMjIz NV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgZ2MyMjM1 X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBnYzIyMzVfZGV2aWNlICpkZXYgPSB0b19nYzIyMzVfc2Vu c29yKHNkKTsKPiBAQCAtOTY1LDggKzk2NSw2IEBAIHN0YXRpYyBpbnQgZ2MyMjM1X3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG1lZGlhX2VudGl0 eV9jbGVhbnVwKCZkZXYtPnNkLmVudGl0eSk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfY3RybF9o YW5kbGVyX2ZyZWUoJmRldi0+Y3RybF9oYW5kbGVyKTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUo ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRp YyBpbnQgZ2MyMjM1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9hdG9taXNwL2kyYy9hdG9taXNwLWxtMzU1NC5jCj4g Yi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvYXRvbWlzcC9pMmMvYXRvbWlzcC1sbTM1NTQuYwo+IGlu ZGV4IGUwNDY0ODljZDI1My4uNzVkMTZiNTI1Mjk0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9hdG9taXNwL2kyYy9hdG9taXNwLWxtMzU1NC5jCj4gKysrIGIvZHJpdmVycy9z dGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL2F0b21pc3AtbG0zNTU0LmMKPiBAQCAtOTEwLDcgKzkx MCw3IEBAIHN0YXRpYyBpbnQgbG0zNTU0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVu dCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IGxtMzU1NF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg bG0zNTU0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVu dCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBsbTM1NTQgKmZsYXNoID0gdG9fbG0zNTU0KHNk KTsKPiBAQCAtOTI2LDggKzkyNiw2IEBAIHN0YXRpYyBpbnQgbG0zNTU0X3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGxtMzU1NF9ncGlvX3VuaW5p dChjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGZsYXNoKTsKPiAtCj4gLcKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZGV2X3BtX29wcyBsbTM1NTRfcG1fb3BzID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdp bmcvbWVkaWEvYXRvbWlzcC9pMmMvYXRvbWlzcC1tdDltMTE0LmMKPiBiL2RyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9hdG9taXNwL2kyYy9hdG9taXNwLW10OW0xMTQuYwo+IGluZGV4IDAwZDY4NDJjMDdk Ni4uNDYwMWEyMzhjYjg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9hdG9t aXNwL2kyYy9hdG9taXNwLW10OW0xMTQuYwo+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9h dG9taXNwL2kyYy9hdG9taXNwLW10OW0xMTQuYwo+IEBAIC0xNzExLDcgKzE3MTEsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHY0bDJfc3ViZGV2X29wcyBtdDltMTE0X29wcwo+ID0gewo+IMKgwqDC oMKgwqDCoMKgwqAuc2Vuc29yID0gJm10OW0xMTRfc2Vuc29yX29wcywKPiDCoH07Cj4gwqAKPiAt c3RhdGljIGludCBtdDltMTE0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtz dGF0aWMgdm9pZCBtdDltMTE0X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKg ewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbXQ5bTExNF9kZXZpY2UgKmRldjsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IEBAIC0xNzIyLDcgKzE3MjIsNiBAQCBzdGF0aWMgaW50IG10OW0xMTRfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50aXR5 X2NsZWFudXAoJmRldi0+c2QuZW50aXR5KTsKPiDCoMKgwqDCoMKgwqDCoMKgdjRsMl9jdHJsX2hh bmRsZXJfZnJlZSgmZGV2LT5jdHJsX2hhbmRsZXIpOwo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZShk ZXYpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50 IG10OW0xMTRfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL2F0b21pc3Atb3YyNjgwLmMKPiBiL2Ry aXZlcnMvc3RhZ2luZy9tZWRpYS9hdG9taXNwL2kyYy9hdG9taXNwLW92MjY4MC5jCj4gaW5kZXgg NGJhOTljNjYwNjgxLi44ZjQ4YjIzYmUzYWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5n L21lZGlhL2F0b21pc3AvaTJjL2F0b21pc3Atb3YyNjgwLmMKPiArKysgYi9kcml2ZXJzL3N0YWdp bmcvbWVkaWEvYXRvbWlzcC9pMmMvYXRvbWlzcC1vdjI2ODAuYwo+IEBAIC0xMTM1LDcgKzExMzUs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfc3ViZGV2X29wcyBvdjI2ODBfb3BzCj4gPSB7 Cj4gwqDCoMKgwqDCoMKgwqDCoC5zZW5zb3IgPSAmb3YyNjgwX3NlbnNvcl9vcHMsCj4gwqB9Owo+ IMKgCj4gLXN0YXRpYyBpbnQgb3YyNjgwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBvdjI2ODBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX3N1YmRldiAqc2QgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG92MjY4MF9kZXZp Y2UgKmRldiA9IHRvX292MjY4MF9zZW5zb3Ioc2QpOwo+IEBAIC0xMTQ4LDggKzExNDgsNiBAQCBz dGF0aWMgaW50IG92MjY4MF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKg wqDCoMKgwqDCoMKgwqBtZWRpYV9lbnRpdHlfY2xlYW51cCgmZGV2LT5zZC5lbnRpdHkpOwo+IMKg wqDCoMKgwqDCoMKgwqB2NGwyX2N0cmxfaGFuZGxlcl9mcmVlKCZkZXYtPmN0cmxfaGFuZGxlcik7 Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50IG92MjY4MF9wcm9iZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvYXRvbWlz cC9pMmMvYXRvbWlzcC1vdjI3MjIuYwo+IGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0b21pc3Av aTJjL2F0b21pc3Atb3YyNzIyLmMKPiBpbmRleCBkYTk4MDk0ZDcwOTQuLjcxNWE3YWVlZGExOCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvYXRvbWlzcC9pMmMvYXRvbWlzcC1v djI3MjIuYwo+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9hdG9taXNwL2kyYy9hdG9taXNw LW92MjcyMi5jCj4gQEAgLTEwOTQsNyArMTA5NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdjRs Ml9zdWJkZXZfb3BzIG92MjcyMl9vcHMKPiA9IHsKPiDCoMKgwqDCoMKgwqDCoMKgLnNlbnNvciA9 ICZvdjI3MjJfc2Vuc29yX29wcywKPiDCoH07Cj4gwqAKPiAtc3RhdGljIGludCBvdjI3MjJfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG92MjcyMl9yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3Qgb3YyNzIyX2RldmljZSAqZGV2ID0gdG9fb3YyNzIyX3NlbnNvcihz ZCk7Cj4gQEAgLTExMDcsOCArMTEwNyw2IEBAIHN0YXRpYyBpbnQgb3YyNzIyX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbWVkaWFfZW50 aXR5X2NsZWFudXAoJmRldi0+c2QuZW50aXR5KTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoZGV2 KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBp bnQgX19vdjI3MjJfaW5pdF9jdHJsX2hhbmRsZXIoc3RydWN0IG92MjcyMl9kZXZpY2UgKmRldikK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL292NTY5My9h dG9taXNwLQo+IG92NTY5My5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL292 NTY5My9hdG9taXNwLW92NTY5My5jCj4gaW5kZXggNmM5NWY1N2E1MmU5Li5jMWNkNjMxNDU1ZTYg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0b21pc3AvaTJjL292NTY5My9h dG9taXNwLW92NTY5My5jCj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2F0b21pc3AvaTJj L292NTY5My9hdG9taXNwLW92NTY5My5jCj4gQEAgLTE4NzcsNyArMTg3Nyw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgdjRsMl9zdWJkZXZfb3BzIG92NTY5M19vcHMKPiA9IHsKPiDCoMKgwqDCoMKg wqDCoMKgLnBhZCA9ICZvdjU2OTNfcGFkX29wcywKPiDCoH07Cj4gwqAKPiAtc3RhdGljIGludCBv djU2OTNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG92 NTY5M19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IHY0bDJfc3ViZGV2ICpzZCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgb3Y1NjkzX2RldmljZSAqZGV2ID0gdG9fb3Y1Njkz X3NlbnNvcihzZCk7Cj4gQEAgLTE4OTMsOCArMTg5Myw2IEBAIHN0YXRpYyBpbnQgb3Y1NjkzX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoG1lZGlh X2VudGl0eV9jbGVhbnVwKCZkZXYtPnNkLmVudGl0eSk7Cj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJf Y3RybF9oYW5kbGVyX2ZyZWUoJmRldi0+Y3RybF9oYW5kbGVyKTsKPiDCoMKgwqDCoMKgwqDCoMKg a2ZyZWUoZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDC oHN0YXRpYyBpbnQgb3Y1NjkzX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9tYXg5NjcxMi9tYXg5NjcxMi5jCj4gYi9k cml2ZXJzL3N0YWdpbmcvbWVkaWEvbWF4OTY3MTIvbWF4OTY3MTIuYwo+IGluZGV4IDZiNWFiZDk1 OGJmZi4uOTliMzMzYjY4MTk4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9t YXg5NjcxMi9tYXg5NjcxMi5jCj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL21heDk2NzEy L21heDk2NzEyLmMKPiBAQCAtNDA3LDE1ICs0MDcsMTMgQEAgc3RhdGljIGludCBtYXg5NjcxMl9w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biBtYXg5NjcxMl92NGwyX3JlZ2lzdGVyKHByaXYpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg bWF4OTY3MTJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lk IG1heDk2NzEyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgbWF4OTY3MTJfcHJpdiAqcHJpdiA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHY0bDJfYXN5bmNfdW5yZWdpc3Rlcl9z dWJkZXYoJnByaXYtPnNkKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBncGlvZF9zZXRfdmFsdWVf Y2Fuc2xlZXAocHJpdi0+Z3Bpb2RfcHdkbiwgMCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBtYXg5 NjcxMl9vZl90YWJsZVtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbW9zdC9p MmMvaTJjLmMKPiBiL2RyaXZlcnMvc3RhZ2luZy9tb3N0L2kyYy9pMmMuYwo+IGluZGV4IDcwNDJm MTA4ODdiYi4uMjg1YTA3MWYwMmJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tb3N0 L2kyYy9pMmMuYwo+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tb3N0L2kyYy9pMmMuYwo+IEBAIC0z NDAsMTQgKzM0MCwxMiBAQCBzdGF0aWMgaW50IGkyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50LAo+IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPiDCoCAqCj4gwqAgKiBV bnJlZ2lzdGVyIHRoZSBpMmMgY2xpZW50IGRldmljZSBhcyBhIE1PU1QgaW50ZXJmYWNlCj4gwqAg Ki8KPiAtc3RhdGljIGludCBpMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIGkyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGhkbV9pMmMgKmRldiA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoG1vc3RfZGVyZWdpc3Rlcl9pbnRlcmZh Y2UoJmRldi0+bW9zdF9pZmFjZSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKGRldik7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3Ry dWN0IGkyY19kZXZpY2VfaWQgaTJjX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3Rh Z2luZy9vbHBjX2Rjb24vb2xwY19kY29uLmMKPiBiL2RyaXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24v b2xwY19kY29uLmMKPiBpbmRleCA3Mjg0Y2I0YWMzOTUuLmFlYTI4NDFmNzU5OCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL3N0YWdpbmcvb2xwY19kY29uL29scGNfZGNvbi5jCj4gKysrIGIvZHJpdmVy cy9zdGFnaW5nL29scGNfZGNvbi9vbHBjX2Rjb24uYwo+IEBAIC02NzEsNyArNjcxLDcgQEAgc3Rh dGljIGludCBkY29uX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4gY29uc3Qgc3Ry dWN0IGkyY19kZXZpY2VfaWQgKmlkKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmM7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBkY29uX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 KQo+ICtzdGF0aWMgdm9pZCBkY29uX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZGNvbl9wcml2ICpkY29uID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtNjg3LDggKzY4Nyw2IEBAIHN0YXRpYyBpbnQg ZGNvbl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKg Y2FuY2VsX3dvcmtfc3luYygmZGNvbi0+c3dpdGNoX3NvdXJjZSk7Cj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKga2ZyZWUoZGNvbik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdHR5L3Nlcmlh bC9zYzE2aXM3eHguYwo+IGIvZHJpdmVycy90dHkvc2VyaWFsL3NjMTZpczd4eC5jCj4gaW5kZXgg ODQ3MmJmNzA0NzdjLi5jYzNiMjJjYmRhOWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy90dHkvc2Vy aWFsL3NjMTZpczd4eC5jCj4gKysrIGIvZHJpdmVycy90dHkvc2VyaWFsL3NjMTZpczd4eC5jCj4g QEAgLTE2ODMsMTEgKzE2ODMsOSBAQCBzdGF0aWMgaW50IHNjMTZpczd4eF9pMmNfcHJvYmUoc3Ry dWN0Cj4gaTJjX2NsaWVudCAqaTJjLAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gc2MxNmlzN3h4 X3Byb2JlKCZpMmMtPmRldiwgZGV2dHlwZSwgcmVnbWFwLCBpMmMtPmlycSk7Cj4gwqB9Cj4gwqAK PiAtc3RhdGljIGludCBzYzE2aXM3eHhfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+ICtzdGF0aWMgdm9pZCBzYzE2aXM3eHhfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzYzE2aXM3eHhfcmVtb3ZlKCZjbGll bnQtPmRldik7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgc2MxNmlzN3h4X2kyY19pZF90YWJsZVtd ID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL3VzYjM1MDMuYyBiL2RyaXZlcnMv dXNiL21pc2MvdXNiMzUwMy5jCj4gaW5kZXggMzMwZjQ5NGNkMTU4Li4zYzlmYTY2MzQ3NWYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvbWlzYy91c2IzNTAzLmMKPiArKysgYi9kcml2ZXJzL3Vz Yi9taXNjL3VzYjM1MDMuYwo+IEBAIC0yODksMTQgKzI4OSwxMiBAQCBzdGF0aWMgaW50IHVzYjM1 MDNfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYywKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIHVzYjM1MDNfcHJvYmUoaHViKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHVzYjM1 MDNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCB1c2Iz NTAzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IHVzYjM1MDMgKmh1YjsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBodWIgPSBp MmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoMKgwqDCoMKgwqDCoMKgY2xrX2Rpc2FibGVfdW5w cmVwYXJlKGh1Yi0+Y2xrKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyBpbnQgdXNiMzUwM19wbGF0Zm9ybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9waHkvcGh5LWlzcDEzMDEt b21hcC5jCj4gYi9kcml2ZXJzL3VzYi9waHkvcGh5LWlzcDEzMDEtb21hcC5jCj4gaW5kZXggZjhi ZDkzZmU2OWNkLi5lNWQzZjIwNjA5N2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvcGh5L3Bo eS1pc3AxMzAxLW9tYXAuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL3BoeS9waHktaXNwMTMwMS1vbWFw LmMKPiBAQCAtMTE5Niw3ICsxMTk2LDcgQEAgc3RhdGljIHZvaWQgaXNwMTMwMV9yZWxlYXNlKHN0 cnVjdCBkZXZpY2UgKmRldikKPiDCoAo+IMKgc3RhdGljIHN0cnVjdCBpc3AxMzAxICp0aGVfdHJh bnNjZWl2ZXI7Cj4gwqAKPiAtc3RhdGljIGludCBpc3AxMzAxX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBpc3AxMzAxX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgaXNwMTMwMcKgwqAqaXNwOwo+ IMKgCj4gQEAgLTEyMTQsOCArMTIxNCw2IEBAIHN0YXRpYyBpbnQgaXNwMTMwMV9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHB1dF9kZXZpY2Uo JmkyYy0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgdGhlX3RyYW5zY2VpdmVyID0gTlVMTDsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoC8qLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g LS0tLS0tLSovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3BoeS9waHktaXNwMTMwMS5jIGIv ZHJpdmVycy91c2IvcGh5L3BoeS0KPiBpc3AxMzAxLmMKPiBpbmRleCBhZDNkNTdmMWMyNzMuLmMy Nzc3YTVjMWY0ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9waHkvcGh5LWlzcDEzMDEuYwo+ ICsrKyBiL2RyaXZlcnMvdXNiL3BoeS9waHktaXNwMTMwMS5jCj4gQEAgLTEyMCwxNCArMTIwLDEy IEBAIHN0YXRpYyBpbnQgaXNwMTMwMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQs Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgaXNw MTMwMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgaXNw MTMwMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IGlzcDEzMDEgKmlzcCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHVzYl9yZW1vdmVfcGh5KCZpc3AtPnBoeSk7Cj4gwqDCoMKg wqDCoMKgwqDCoGlzcDEzMDFfaTJjX2NsaWVudCA9IE5VTEw7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgaXNwMTMw MV9kcml2ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5cGVjL2hkM3NzMzIyMC5j Cj4gYi9kcml2ZXJzL3VzYi90eXBlYy9oZDNzczMyMjAuYwo+IGluZGV4IGNkNDdjMzU5N2UxOS4u MmE1ODE4NWZiMTRjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL2hkM3NzMzIyMC5j Cj4gKysrIGIvZHJpdmVycy91c2IvdHlwZWMvaGQzc3MzMjIwLmMKPiBAQCAtMjQ1LDE0ICsyNDUs MTIgQEAgc3RhdGljIGludCBoZDNzczMyMjBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xp ZW50LAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBp bnQgaGQzc3MzMjIwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMg dm9pZCBoZDNzczMyMjBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBoZDNzczMyMjAgKmhkM3NzMzIyMCA9IGkyY19nZXRfY2xp ZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHR5cGVjX3VucmVnaXN0ZXJf cG9ydChoZDNzczMyMjAtPnBvcnQpOwo+IMKgwqDCoMKgwqDCoMKgwqB1c2Jfcm9sZV9zd2l0Y2hf cHV0KGhkM3NzMzIyMC0+cm9sZV9zdyk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkZXZfaWRzW10g PSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5cGVjL211eC9mc2E0NDgwLmMKPiBiL2Ry aXZlcnMvdXNiL3R5cGVjL211eC9mc2E0NDgwLmMKPiBpbmRleCA2MTg0ZjUzNjcxOTAuLmQ2NDk1 ZTUzM2U1OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi90eXBlYy9tdXgvZnNhNDQ4MC5jCj4g KysrIGIvZHJpdmVycy91c2IvdHlwZWMvbXV4L2ZzYTQ0ODAuYwo+IEBAIC0xODEsMTQgKzE4MSwx MiBAQCBzdGF0aWMgaW50IGZzYTQ0ODBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50 KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGZz YTQ0ODBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGZz YTQ0ODBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBmc2E0NDgwICpmc2EgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB0eXBlY19tdXhfdW5yZWdpc3Rlcihmc2EtPm11eCk7Cj4g wqDCoMKgwqDCoMKgwqDCoHR5cGVjX3N3aXRjaF91bnJlZ2lzdGVyKGZzYS0+c3cpOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVj dCBpMmNfZGV2aWNlX2lkIGZzYTQ0ODBfdGFibGVbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy91c2IvdHlwZWMvbXV4L3BpM3VzYjMwNTMyLmMKPiBiL2RyaXZlcnMvdXNiL3R5cGVjL211eC9w aTN1c2IzMDUzMi5jCj4gaW5kZXggNmNlOWYyODI1OTRlLi4xY2QzODhiNTVjMzAgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy91c2IvdHlwZWMvbXV4L3BpM3VzYjMwNTMyLmMKPiArKysgYi9kcml2ZXJz L3VzYi90eXBlYy9tdXgvcGkzdXNiMzA1MzIuYwo+IEBAIC0xNjAsMTMgKzE2MCwxMiBAQCBzdGF0 aWMgaW50IHBpM3VzYjMwNTMyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBwaTN1c2Iz MDUzMl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgcGkz dXNiMzA1MzJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBwaTN1c2IzMDUzMiAqcGkgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xp ZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB0eXBlY19tdXhfdW5yZWdpc3RlcihwaS0+bXV4 KTsKPiDCoMKgwqDCoMKgwqDCoMKgdHlwZWNfc3dpdGNoX3VucmVnaXN0ZXIocGktPnN3KTsKPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVj dCBpMmNfZGV2aWNlX2lkIHBpM3VzYjMwNTMyX3RhYmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL3R5cGVjL3J0MTcxOS5jIGIvZHJpdmVycy91c2IvdHlwZWMvcnQxNzE5LmMKPiBp bmRleCBmMWI2OThlZGQ3ZWIuLmVhOGI3MDBiMGNlYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Vz Yi90eXBlYy9ydDE3MTkuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL3R5cGVjL3J0MTcxOS5jCj4gQEAg LTkzMCwxNCArOTMwLDEyIEBAIHN0YXRpYyBpbnQgcnQxNzE5X3Byb2JlKHN0cnVjdCBpMmNfY2xp ZW50ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCBydDE3MTlfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gK3N0YXRpYyB2 b2lkIHJ0MTcxOV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IHJ0MTcxOV9kYXRhICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGky Yyk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdHlwZWNfdW5yZWdpc3Rlcl9wb3J0KGRhdGEtPnBv cnQpOwo+IMKgwqDCoMKgwqDCoMKgwqB1c2Jfcm9sZV9zd2l0Y2hfcHV0KGRhdGEtPnJvbGVfc3cp Owo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNv bnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgX19tYXliZV91bnVzZWQKPiBydDE3MTlfZGV2aWNlX3Rh YmxlW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5cGVjL3N0dXNiMTYweC5jCj4g Yi9kcml2ZXJzL3VzYi90eXBlYy9zdHVzYjE2MHguYwo+IGluZGV4IGU3NzQ1ZDFjMmE1Yy4uODYz OGYxZDM5ODk2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3N0dXNiMTYweC5jCj4g KysrIGIvZHJpdmVycy91c2IvdHlwZWMvc3R1c2IxNjB4LmMKPiBAQCAtODAxLDcgKzgwMSw3IEBA IHN0YXRpYyBpbnQgc3R1c2IxNjB4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHN0 dXNiMTYweF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg c3R1c2IxNjB4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3Qgc3R1c2IxNjB4ICpjaGlwID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqAKPiBAQCAtODIzLDggKzgyMyw2IEBAIHN0YXRpYyBpbnQgc3R1c2IxNjB4X3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg aWYgKGNoaXAtPm1haW5fc3VwcGx5KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg cmVndWxhdG9yX2Rpc2FibGUoY2hpcC0+bWFpbl9zdXBwbHkpOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBzdHVz YjE2MHhfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv dXNiL3R5cGVjL3RjcG0vZnVzYjMwMi5jCj4gYi9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL2Z1c2Iz MDIuYwo+IGluZGV4IDk2YzU1ZWFmM2Y4MC4uNWU5MzQ4ZjI4ZDUwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvdXNiL3R5cGVjL3RjcG0vZnVzYjMwMi5jCj4gKysrIGIvZHJpdmVycy91c2IvdHlwZWMv dGNwbS9mdXNiMzAyLmMKPiBAQCAtMTc3MSw3ICsxNzcxLDcgQEAgc3RhdGljIGludCBmdXNiMzAy X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGZ1c2IzMDJfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGZ1c2IzMDJfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBmdXNiMzAy X2NoaXAgKmNoaXAgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0xNzgz LDggKzE3ODMsNiBAQCBzdGF0aWMgaW50IGZ1c2IzMDJfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgZndub2RlX2hhbmRsZV9wdXQoY2hpcC0+dGNw Y19kZXYuZndub2RlKTsKPiDCoMKgwqDCoMKgwqDCoMKgZGVzdHJveV93b3JrcXVldWUoY2hpcC0+ d3EpOwo+IMKgwqDCoMKgwqDCoMKgwqBmdXNiMzAyX2RlYnVnZnNfZXhpdChjaGlwKTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgZnVzYjMw Ml9wbV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91 c2IvdHlwZWMvdGNwbS90Y3BjaS5jCj4gYi9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcGNpLmMK PiBpbmRleCBmMzNlMDhlYjc2NzAuLmM0OGZjYTYwYmIwNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L3VzYi90eXBlYy90Y3BtL3RjcGNpLmMKPiArKysgYi9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL3Rj cGNpLmMKPiBAQCAtODY5LDcgKzg2OSw3IEBAIHN0YXRpYyBpbnQgdGNwY2lfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCB0Y3BjaV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgdGNwY2lfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g wqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0Y3BjaV9jaGlwICpjaGlwID0gaTJjX2dldF9j bGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBlcnI7Cj4gQEAgLTg4MCw4 ICs4ODAsNiBAQCBzdGF0aWMgaW50IHRjcGNpX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpj bGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXZfd2FybigmY2xpZW50 LT5kZXYsICJGYWlsZWQgdG8gZGlzYWJsZSBpcnFzCj4gKCVwZSlcbiIsIEVSUl9QVFIoZXJyKSk7 Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgdGNwY2lfdW5yZWdpc3Rlcl9wb3J0KGNoaXAtPnRjcGNp KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBj b25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB0Y3BjaV9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcGNpX21heGltLmMKPiBiL2RyaXZlcnMvdXNiL3R5cGVj L3RjcG0vdGNwY2lfbWF4aW0uYwo+IGluZGV4IGRmMjUwNTU3MGYwNy4uYTExYmU1NzU0MTI4IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNwY2lfbWF4aW0uYwo+ICsrKyBi L2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNwY2lfbWF4aW0uYwo+IEBAIC00OTMsMTQgKzQ5Mywx MiBAQCBzdGF0aWMgaW50IG1heF90Y3BjaV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBy ZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBtYXhfdGNwY2lfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1heF90Y3BjaV9yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IG1heF90Y3Bj aV9jaGlwICpjaGlwID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDC oMKgwqDCoMKgaWYgKCFJU19FUlJfT1JfTlVMTChjaGlwLT50Y3BjaSkpCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB0Y3BjaV91bnJlZ2lzdGVyX3BvcnQoY2hpcC0+dGNwY2kpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0 IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG1heF90Y3BjaV9pZFtdID0gewo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcGNpX3J0MTcxMWguYwo+IGIvZHJpdmVycy91c2IvdHlw ZWMvdGNwbS90Y3BjaV9ydDE3MTFoLmMKPiBpbmRleCBiNTZhMDg4MGEwNDQuLjlhZDQ5MjRiNGJh NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcGNpX3J0MTcxMWguYwo+ ICsrKyBiL2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNwY2lfcnQxNzExaC5jCj4gQEAgLTI2Mywx MiArMjYzLDExIEBAIHN0YXRpYyBpbnQgcnQxNzExaF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRp YyBpbnQgcnQxNzExaF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGlj IHZvaWQgcnQxNzExaF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IHJ0MTcxMWhfY2hpcCAqY2hpcCA9IGkyY19nZXRfY2xpZW50 ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHRjcGNpX3VucmVnaXN0ZXJfcG9y dChjaGlwLT50Y3BjaSk7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDC oHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBydDE3MTFoX2lkW10gPSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5cGVjL3RpcGQvY29yZS5jCj4gYi9kcml2ZXJzL3VzYi90 eXBlYy90aXBkL2NvcmUuYwo+IGluZGV4IGRmYmJhNWFlOTQ4Ny4uYjYzN2U4YjM3OGIzIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3RpcGQvY29yZS5jCj4gKysrIGIvZHJpdmVycy91 c2IvdHlwZWMvdGlwZC9jb3JlLmMKPiBAQCAtODU3LDE1ICs4NTcsMTMgQEAgc3RhdGljIGludCB0 cHM2NTk4eF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB0cHM2NTk4eF9yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdHBzNjU5OHhfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVj dCB0cHM2NTk4eCAqdHBzID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgdHBzNjU5OHhfZGlzY29ubmVjdCh0cHMsIDApOwo+IMKgwqDCoMKgwqDCoMKg wqB0eXBlY191bnJlZ2lzdGVyX3BvcnQodHBzLT5wb3J0KTsKPiDCoMKgwqDCoMKgwqDCoMKgdXNi X3JvbGVfc3dpdGNoX3B1dCh0cHMtPnJvbGVfc3cpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgdHBz NjU5OHhfb2ZfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvdHlwZWMvdWNz aS91Y3NpX2NjZy5jCj4gYi9kcml2ZXJzL3VzYi90eXBlYy91Y3NpL3Vjc2lfY2NnLmMKPiBpbmRl eCA2ZGI3YzhkZGQ1MWMuLjkyMGI3ZTc0M2Y1NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi90 eXBlYy91Y3NpL3Vjc2lfY2NnLmMKPiArKysgYi9kcml2ZXJzL3VzYi90eXBlYy91Y3NpL3Vjc2lf Y2NnLmMKPiBAQCAtMTM5OCw3ICsxMzk4LDcgQEAgc3RhdGljIGludCB1Y3NpX2NjZ19wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBzdGF0 dXM7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB1Y3NpX2NjZ19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdWNzaV9jY2dfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB1Y3NpX2NjZyAq dWMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0xNDA4LDggKzE0MDgs NiBAQCBzdGF0aWMgaW50IHVjc2lfY2NnX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQpCj4gwqDCoMKgwqDCoMKgwqDCoHVjc2lfdW5yZWdpc3Rlcih1Yy0+dWNzaSk7Cj4gwqDCoMKg wqDCoMKgwqDCoHVjc2lfZGVzdHJveSh1Yy0+dWNzaSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGZyZWVf aXJxKHVjLT5pcnEsIHVjKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4g wqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB1Y3NpX2NjZ19kZXZpY2Vf aWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvdHlwZWMvd3VzYjM4MDEuYwo+IGIv ZHJpdmVycy91c2IvdHlwZWMvd3VzYjM4MDEuYwo+IGluZGV4IGU2MzUwOWY4YjAxZS4uM2NjN2Ex NWVjYmQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3d1c2IzODAxLmMKPiArKysg Yi9kcml2ZXJzL3VzYi90eXBlYy93dXNiMzgwMS5jCj4gQEAgLTM5OSw3ICszOTksNyBAQCBzdGF0 aWMgaW50IHd1c2IzODAxX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHd1c2IzODAx X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCB3dXNiMzgw MV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDC oMKgc3RydWN0IHd1c2IzODAxICp3dXNiMzgwMSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQp Owo+IMKgCj4gQEAgLTQxMSw4ICs0MTEsNiBAQCBzdGF0aWMgaW50IHd1c2IzODAxX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHd1 c2IzODAxLT52YnVzX29uKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVndWxh dG9yX2Rpc2FibGUod3VzYjM4MDEtPnZidXNfc3VwcGx5KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lk IHd1c2IzODAxX29mX21hdGNoW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L2FkcDg4NjBfYmwuYwo+IGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg2MF9i bC5jCj4gaW5kZXggOGVjMTk0MjU2NzFmLi5iMGZlMDIyNzNlODcgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg2MF9ibC5jCj4gKysrIGIvZHJpdmVycy92aWRlby9i YWNrbGlnaHQvYWRwODg2MF9ibC5jCj4gQEAgLTc1Myw3ICs3NTMsNyBAQCBzdGF0aWMgaW50IGFk cDg4NjBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWRwODg2MF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWRwODg2MF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGFk cDg4NjBfYmwgKmRhdGEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC03 NjUsOCArNzY1LDYgQEAgc3RhdGljIGludCBhZHA4ODYwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChkYXRhLT5lbl9hbWJsX3NlbnMpCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzeXNmc19yZW1vdmVfZ3JvdXAoJmRhdGEt PmJsLT5kZXYua29iaiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAmYWRwODg2MF9ibF9hdHRyX2dyb3VwKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBDT05GSUdfUE1fU0xFRVAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg3MF9ibC5jCj4gYi9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9hZHA4ODcwX2JsLmMKPiBpbmRleCA4YjUyMTNhMzk1MjcuLjViZWNhY2UzZmQw ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA4ODcwX2JsLmMKPiAr KysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA4ODcwX2JsLmMKPiBAQCAtOTI1LDcgKzky NSw3IEBAIHN0YXRpYyBpbnQgYWRwODg3MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGlu dCBhZHA4ODcwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9p ZCBhZHA4ODcwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgYWRwODg3MF9ibCAqZGF0YSA9IGkyY19nZXRfY2xpZW50ZGF0YShj bGllbnQpOwo+IMKgCj4gQEAgLTkzNyw4ICs5MzcsNiBAQCBzdGF0aWMgaW50IGFkcDg4NzBfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKGRh dGEtPnBkYXRhLT5lbl9hbWJsX3NlbnMpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBzeXNmc19yZW1vdmVfZ3JvdXAoJmRhdGEtPmJsLT5kZXYua29iaiwKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAmYWRwODg3MF9ibF9hdHRyX2dyb3Vw KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoCNpZmRlZiBD T05GSUdfUE1fU0xFRVAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYXJj eGNubl9ibC5jCj4gYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hcmN4Y25uX2JsLmMKPiBpbmRl eCA3YjFjMGEwZTZjYWQuLjA2MGMwZWVmNmE1MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9hcmN4Y25uX2JsLmMKPiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9h cmN4Y25uX2JsLmMKPiBAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyBpbnQgYXJjeGNubl9wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2wsCj4gY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlk KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg YXJjeGNubl9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsKQo+ICtzdGF0aWMgdm9pZCBhcmN4 Y25uX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2wpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDC oHN0cnVjdCBhcmN4Y25uICpscCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbCk7Cj4gwqAKPiBAQCAt Mzc2LDggKzM3Niw2IEBAIHN0YXRpYyBpbnQgYXJjeGNubl9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsKQo+IMKgwqDCoMKgwqDCoMKgwqBscC0+YmwtPnByb3BzLmJyaWdodG5lc3MgPSAwOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGJhY2tsaWdodF91cGRhdGVfc3RhdHVzKGxwLT5ibCk7Cj4g LQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBhcmN4Y25uX2R0X2lkc1tdID0gewo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iZDYxMDcuYwo+IGIvZHJpdmVycy92aWRlby9iYWNrbGln aHQvYmQ2MTA3LmMKPiBpbmRleCA1MTUxODRmYmUzM2EuLmE1MDY4NzJkNDM5NiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iZDYxMDcuYwo+ICsrKyBiL2RyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0L2JkNjEwNy5jCj4gQEAgLTE3NSwxNCArMTc1LDEyIEBAIHN0YXRpYyBpbnQg YmQ2MTA3X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBiZDYxMDdfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGJkNjEwN19yZW1vdmUoc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGJhY2ts aWdodF9kZXZpY2UgKmJhY2tsaWdodCA9Cj4gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4g wqAKPiDCoMKgwqDCoMKgwqDCoMKgYmFja2xpZ2h0LT5wcm9wcy5icmlnaHRuZXNzID0gMDsKPiDC oMKgwqDCoMKgwqDCoMKgYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmFja2xpZ2h0KTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTJjX2RldmljZV9pZCBiZDYxMDdfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L2xtMzYzMGFfYmwuYwo+IGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv bG0zNjMwYV9ibC5jCj4gaW5kZXggMWQxN2M0Mzk0MzBlLi40NzVmMzU2MzViZjYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG0zNjMwYV9ibC5jCj4gKysrIGIvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvbG0zNjMwYV9ibC5jCj4gQEAgLTU3OSw3ICs1NzksNyBAQCBzdGF0 aWMgaW50IGxtMzYzMGFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGxtMzYzMGFfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGxtMzYzMGFfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGlu dCBydmFsOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbG0zNjMwYV9jaGlwICpwY2hpcCA9IGky Y19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IEBAIC01OTYsNyArNTk2LDYgQEAgc3RhdGljIGlu dCBsbTM2MzBhX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmcmVlX2lycShwY2hpcC0+aXJxLCBwY2hpcCk7Cj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXN0cm95X3dvcmtxdWV1ZShwY2hpcC0+aXJx dGhyZWFkKTsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbG0zNjMwYV9p ZFtdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sbTM2MzlfYmwu Ywo+IGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG0zNjM5X2JsLmMKPiBpbmRleCA0OGMwNDE1 NWE1ZjkuLjY1ODA5MTE2NzFhMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC9sbTM2MzlfYmwuYwo+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzYzOV9ibC5j Cj4gQEAgLTM5MCw3ICszOTAsNyBAQCBzdGF0aWMgaW50IGxtMzYzOV9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4g wqAKPiAtc3RhdGljIGludCBsbTM2MzlfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gK3N0YXRpYyB2b2lkIGxtMzYzOV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGxtMzYzOV9jaGlwX2RhdGEgKnBjaGlwID0g aTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtNDAwLDcgKzQwMCw2IEBAIHN0 YXRpYyBpbnQgbG0zNjM5X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDC oMKgwqDCoMKgwqDCoGxlZF9jbGFzc2Rldl91bnJlZ2lzdGVyKCZwY2hpcC0+Y2Rldl9mbGFzaCk7 Cj4gwqDCoMKgwqDCoMKgwqDCoGlmIChwY2hpcC0+YmxlZCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGRldmljZV9yZW1vdmVfZmlsZSgmKHBjaGlwLT5ibGVkLT5kZXYpLAo+ICZk ZXZfYXR0cl9ibGVkX21vZGUpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbG0zNjM5X2lkW10gPSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xwODU1eF9ibC5jCj4gYi9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9scDg1NXhfYmwuYwo+IGluZGV4IDJiOWUyYmJiYjAzZS4uNDNi MzljZjY4YjA0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xwODU1eF9i bC5jCj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHA4NTV4X2JsLmMKPiBAQCAtNTM3 LDcgKzUzNyw3IEBAIHN0YXRpYyBpbnQgbHA4NTV4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpj bCwKPiBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBscDg1NXhfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbCkKPiArc3RhdGljIHZvaWQgbHA4NTV4X3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqY2wpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBscDg1NXggKmxwID0gaTJj X2dldF9jbGllbnRkYXRhKGNsKTsKPiDCoAo+IEBAIC01NDgsOCArNTQ4LDYgQEAgc3RhdGljIGlu dCBscDg1NXhfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbCkKPiDCoMKgwqDCoMKgwqDCoMKg aWYgKGxwLT5zdXBwbHkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0 b3JfZGlzYWJsZShscC0+c3VwcGx5KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfcmVtb3ZlX2dy b3VwKCZscC0+ZGV2LT5rb2JqLCAmbHA4NTV4X2F0dHJfZ3JvdXApOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgbHA4NTV4X2R0X2lkc1tdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9sdjUyMDdscC5jCj4gYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sdjUyMDdscC5j Cj4gaW5kZXggMTg0MmFlOWE1NWY4Li43NjdiODAwZDc5ZmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvbHY1MjA3bHAuYwo+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xp Z2h0L2x2NTIwN2xwLmMKPiBAQCAtMTI0LDE0ICsxMjQsMTIgQEAgc3RhdGljIGludCBsdjUyMDds cF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbHY1MjA3bHBfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGx2NTIwN2xwX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYmFja2xp Z2h0X2RldmljZSAqYmFja2xpZ2h0ID0KPiBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBiYWNrbGlnaHQtPnByb3BzLmJyaWdodG5lc3MgPSAwOwo+IMKg wqDCoMKgwqDCoMKgwqBiYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhiYWNrbGlnaHQpOwo+IC0KPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVj dCBpMmNfZGV2aWNlX2lkIGx2NTIwN2xwX2lkc1tdID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC90b3NhX2JsLmMKPiBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3Rv c2FfYmwuYwo+IGluZGV4IDZkZjZmY2QxMzJlMy4uZjU1YjNkNjE2YTg3IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3Rvc2FfYmwuYwo+ICsrKyBiL2RyaXZlcnMvdmlkZW8v YmFja2xpZ2h0L3Rvc2FfYmwuYwo+IEBAIC0xMjEsMTIgKzEyMSwxMSBAQCBzdGF0aWMgaW50IHRv c2FfYmxfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50LAo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdG9zYV9ibF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdG9zYV9ibF9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRv c2FfYmxfZGF0YSAqZGF0YSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoGRhdGEtPmJsID0gTlVMTDsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTV9TTEVFUAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L21hdHJveC9tYXRyb3hmYl9tYXZlbi5jCj4gYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21hdHJveC9tYXRyb3hmYl9tYXZlbi5jCj4gaW5kZXggOWE5OGM0YTZiYTMzLi5mMmUw Mjk1ODY3M2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9tYXRyb3gvbWF0cm94 ZmJfbWF2ZW4uYwo+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWF0cm94L21hdHJveGZiX21h dmVuLmMKPiBAQCAtMTI3NiwxMSArMTI3NiwxMCBAQCBFUlJPUjA6Owo+IMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gZXJyOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbWF2ZW5fcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG1hdmVuX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBtYXZlbl9zaHV0ZG93 bl9jbGllbnQoY2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKga2ZyZWUoaTJjX2dldF9jbGllbnRk YXRhKGNsaWVudCkpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgbWF2ZW5faWRbXSA9IHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYwo+IGIvZHJpdmVycy92aWRlby9m YmRldi9zc2QxMzA3ZmIuYwo+IGluZGV4IDVjNzY1NjU1ZDAwMC4uZmJmMjZjZGZiMWMwIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3NkMTMwN2ZiLmMKPiArKysgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L3NzZDEzMDdmYi5jCj4gQEAgLTgxNyw3ICs4MTcsNyBAQCBzdGF0aWMgaW50 IHNzZDEzMDdmYl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBzc2QxMzA3ZmJfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHNzZDEzMDdmYl9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IGZiX2luZm8gKmluZm8gPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IHNzZDEzMDdmYl9wYXIgKnBhciA9IGluZm8tPnBhcjsKPiBAQCAt ODM2LDggKzgzNiw2IEBAIHN0YXRpYyBpbnQgc3NkMTMwN2ZiX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoGZiX2RlZmVycmVkX2lvX2NsZWFudXAo aW5mbyk7Cj4gwqDCoMKgwqDCoMKgwqDCoF9fZnJlZV9wYWdlcyhfX3ZhKGluZm8tPmZpeC5zbWVt X3N0YXJ0KSwgZ2V0X29yZGVyKGluZm8tCj4gPmZpeC5zbWVtX2xlbikpOwo+IMKgwqDCoMKgwqDC oMKgwqBmcmFtZWJ1ZmZlcl9yZWxlYXNlKGluZm8pOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1 cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHNz ZDEzMDdmYl9pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy93MS9tYXN0ZXJzL2Rz MjQ4Mi5jCj4gYi9kcml2ZXJzL3cxL21hc3RlcnMvZHMyNDgyLmMKPiBpbmRleCA2Yzk2MmU4ODUw MWMuLjYyYzQ0NjE2ZDhhOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3cxL21hc3RlcnMvZHMyNDgy LmMKPiArKysgYi9kcml2ZXJzL3cxL21hc3RlcnMvZHMyNDgyLmMKPiBAQCAtNTI1LDcgKzUyNSw3 IEBAIHN0YXRpYyBpbnQgZHMyNDgyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCwK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGVycjsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGRz MjQ4Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgZHMy NDgyX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgZHMyNDgyX2RhdGHCoMKgICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNs aWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBpZHg7Cj4gQEAgLTUzOCw3ICs1MzgsNiBAQCBz dGF0aWMgaW50IGRzMjQ4Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoC8qIEZyZWUgdGhlIG1lbW9yeSAqLwo+IMKgwqDCoMKgwqDCoMKg wqBrZnJlZShkYXRhKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKg LyoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy93YXRjaGRvZy96aWlyYXZlX3dkdC5jCj4gYi9kcml2 ZXJzL3dhdGNoZG9nL3ppaXJhdmVfd2R0LmMKPiBpbmRleCBjNWE5YjgyMGQ0M2EuLmQwZTg4ODc1 NDQzYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3dhdGNoZG9nL3ppaXJhdmVfd2R0LmMKPiArKysg Yi9kcml2ZXJzL3dhdGNoZG9nL3ppaXJhdmVfd2R0LmMKPiBAQCAtNzA4LDEzICs3MDgsMTEgQEAg c3RhdGljIGludCB6aWlyYXZlX3dkdF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQs Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB6 aWlyYXZlX3dkdF9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZv aWQgemlpcmF2ZV93ZHRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB6aWlyYXZlX3dkdF9kYXRhICp3X3ByaXYgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqB3YXRjaGRvZ191bnJl Z2lzdGVyX2RldmljZSgmd19wcml2LT53ZGQpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHppaXJh dmVfd2R0X2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjLmggYi9pbmNs dWRlL2xpbnV4L2kyYy5oCj4gaW5kZXggZmJkYTVhZGEyYWZjLi4wNjZiNTQxYTBkNWQgMTAwNjQ0 Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9pMmMuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvaTJjLmgK PiBAQCAtMjczLDcgKzI3Myw3IEBAIHN0cnVjdCBpMmNfZHJpdmVyIHsKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqAvKiBTdGFuZGFyZCBkcml2ZXIgbW9kZWwgaW50ZXJmYWNlcyAqLwo+IMKgwqDCoMKg wqDCoMKgwqBpbnQgKCpwcm9iZSkoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgY29uc3Qgc3Ry dWN0Cj4gaTJjX2RldmljZV9pZCAqaWQpOwo+IC3CoMKgwqDCoMKgwqDCoGludCAoKnJlbW92ZSko c3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gK8KgwqDCoMKgwqDCoMKgdm9pZCAoKnJlbW92 ZSkoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgLyog TmV3IGRyaXZlciBtb2RlbCBpbnRlcmZhY2UgdG8gYWlkIHRoZSBzZWFtbGVzcyByZW1vdmFsIG9m Cj4gdGhlCj4gwqDCoMKgwqDCoMKgwqDCoCAqIGN1cnJlbnQgcHJvYmUoKSdzLCBtb3JlIGNvbW1v bmx5IHVudXNlZCB0aGFuIHVzZWQgc2Vjb25kCj4gcGFyYW1ldGVyLgo+IGRpZmYgLS1naXQgYS9s aWIvS2NvbmZpZy5rYXNhbiBiL2xpYi9LY29uZmlnLmthc2FuCj4gaW5kZXggZjA5NzNkYTU4M2Uw Li4zNjZlNjE2MzljYjIgMTAwNjQ0Cj4gLS0tIGEvbGliL0tjb25maWcua2FzYW4KPiArKysgYi9s aWIvS2NvbmZpZy5rYXNhbgo+IEBAIC0xNDksNiArMTQ5LDcgQEAgY29uZmlnIEtBU0FOX1NUQUNL Cj4gwqDCoMKgwqDCoMKgwqDCoGRlcGVuZHMgb24gS0FTQU5fR0VORVJJQyB8fCBLQVNBTl9TV19U QUdTCj4gwqDCoMKgwqDCoMKgwqDCoGRlcGVuZHMgb24gIUFSQ0hfRElTQUJMRV9LQVNBTl9JTkxJ TkUKPiDCoMKgwqDCoMKgwqDCoMKgZGVmYXVsdCB5IGlmIENDX0lTX0dDQwo+ICvCoMKgwqDCoMKg wqDCoGRlcGVuZHMgb24gIUFSTQo+IMKgwqDCoMKgwqDCoMKgwqBoZWxwCj4gwqDCoMKgwqDCoMKg wqDCoMKgIERpc2FibGVzIHN0YWNrIGluc3RydW1lbnRhdGlvbiBhbmQgdGh1cyBLQVNBTidzIGFi aWxpdHkgdG8KPiBkZXRlY3QKPiDCoMKgwqDCoMKgwqDCoMKgwqAgb3V0LW9mLWJvdW5kcyBidWdz IGluIHN0YWNrIHZhcmlhYmxlcy4KPiBkaWZmIC0tZ2l0IGEvc291bmQvYW9hL2NvZGVjcy9vbnl4 LmMgYi9zb3VuZC9hb2EvY29kZWNzL29ueXguYwo+IGluZGV4IDFhYmVlODQxY2M0NS4uMmQwZjkw NGFiYTAwIDEwMDY0NAo+IC0tLSBhL3NvdW5kL2FvYS9jb2RlY3Mvb255eC5jCj4gKysrIGIvc291 bmQvYW9hL2NvZGVjcy9vbnl4LmMKPiBAQCAtMTAyOSw3ICsxMDI5LDcgQEAgc3RhdGljIGludCBv bnl4X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiAtRU5PREVWOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgb255eF9pMmNfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIG9ueXhfaTJjX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3Qgb255eCAqb255eCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAg LTEwMzcsNyArMTAzNyw2IEBAIHN0YXRpYyBpbnQgb255eF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgb2Zfbm9kZV9wdXQob255eC0+Y29k ZWMubm9kZSk7Cj4gwqDCoMKgwqDCoMKgwqDCoGtmcmVlKG9ueXgtPmNvZGVjX2luZm8pOwo+IMKg wqDCoMKgwqDCoMKgwqBrZnJlZShvbnl4KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG9ueXhfaTJjX2lk W10gPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL2FvYS9jb2RlY3MvdGFzLmMgYi9zb3VuZC9hb2Ev Y29kZWNzL3Rhcy5jCj4gaW5kZXggYWIxOWEzN2UyYTY4Li5hYjg5NDc1Yjc3MTUgMTAwNjQ0Cj4g LS0tIGEvc291bmQvYW9hL2NvZGVjcy90YXMuYwo+ICsrKyBiL3NvdW5kL2FvYS9jb2RlY3MvdGFz LmMKPiBAQCAtOTEyLDcgKzkxMiw3IEBAIHN0YXRpYyBpbnQgdGFzX2kyY19wcm9iZShzdHJ1Y3Qg aTJjX2NsaWVudAo+ICpjbGllbnQsCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRUlOVkFMOwo+ IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdGFzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiArc3RhdGljIHZvaWQgdGFzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRhcyAqdGFzID0gaTJjX2dl dF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHU4IHRtcCA9IFRBU19BQ1Jf QU5BTE9HX1BET1dOOwo+IEBAIC05MjUsNyArOTI1LDYgQEAgc3RhdGljIGludCB0YXNfaTJjX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKg bXV0ZXhfZGVzdHJveSgmdGFzLT5tdHgpOwo+IMKgwqDCoMKgwqDCoMKgwqBrZnJlZSh0YXMpOwo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3Ry dWN0IGkyY19kZXZpY2VfaWQgdGFzX2kyY19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9zb3VuZC9w Y2kvaGRhL2NzMzVsNDFfaGRhX2kyYy5jCj4gYi9zb3VuZC9wY2kvaGRhL2NzMzVsNDFfaGRhX2ky Yy5jCj4gaW5kZXggZTgxMGIyNzhmYjkxLi5hY2FiOGMwNThlNjYgMTAwNjQ0Cj4gLS0tIGEvc291 bmQvcGNpL2hkYS9jczM1bDQxX2hkYV9pMmMuYwo+ICsrKyBiL3NvdW5kL3BjaS9oZGEvY3MzNWw0 MV9oZGFfaTJjLmMKPiBAQCAtMzAsMTEgKzMwLDkgQEAgc3RhdGljIGludCBjczM1bDQxX2hkYV9p MmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2x0LCBjb25zdCBzdHJ1Y3QgaTJjX2Rldmlj ZQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgZGV2bV9yZWdtYXBfaW5pdF9pMmMoY2x0LAo+ICZjczM1bDQxX3JlZ21hcF9p MmMpKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGNzMzVsNDFfaGRhX2kyY19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsdCkKPiArc3RhdGljIHZvaWQgY3MzNWw0MV9oZGFfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2x0KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBjczM1bDQx X2hkYV9yZW1vdmUoJmNsdC0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBjczM1bDQxX2hk YV9pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvcHBjL2tleXdlc3QuYyBiL3NvdW5k L3BwYy9rZXl3ZXN0LmMKPiBpbmRleCA2ZTVkYWFlMThmOWQuLjgwZTUxMDgxNTdlZiAxMDA2NDQK PiAtLS0gYS9zb3VuZC9wcGMva2V5d2VzdC5jCj4gKysrIGIvc291bmQvcHBjL2tleXdlc3QuYwo+ IEBAIC03MSwxNCArNzEsMTIgQEAgc3RhdGljIGludCBrZXl3ZXN0X2F0dGFjaF9hZGFwdGVyKHN0 cnVjdAo+IGkyY19hZGFwdGVyICphZGFwdGVyKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGtleXdlc3RfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGtleXdlc3RfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGlmICghIGtleXdlc3RfY3R4KQo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuOwo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoY2xpZW50ID09IGtl eXdlc3RfY3R4LT5jbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBrZXl3 ZXN0X2N0eC0+Y2xpZW50ID0gTlVMTDsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoAo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FkYXUxNzYxLWky Yy5jCj4gYi9zb3VuZC9zb2MvY29kZWNzL2FkYXUxNzYxLWkyYy5jCj4gaW5kZXggMDY4M2NhZjg2 YWVhLi4wY2VmZmY0OTU2OWMgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9hZGF1MTc2 MS1pMmMuYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3MvYWRhdTE3NjEtaTJjLmMKPiBAQCAtMzAs MTAgKzMwLDkgQEAgc3RhdGljIGludCBhZGF1MTc2MV9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWQtPmRyaXZl cl9kYXRhLCBOVUxMKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFkYXUxNzYxX2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgYWRhdTE3NjFfaTJj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBhZGF1MTd4MV9yZW1vdmUoJmNsaWVudC0+ZGV2KTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGFkYXUx NzYxX2kyY19pZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9hZGF1MTc4 MS1pMmMuYwo+IGIvc291bmQvc29jL2NvZGVjcy9hZGF1MTc4MS1pMmMuYwo+IGluZGV4IGUwNDZk ZTBlYmNjNy4uMzkwMjFiOGNmYjYyIDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvYWRh dTE3ODEtaTJjLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL2FkYXUxNzgxLWkyYy5jCj4gQEAg LTMwLDEwICszMCw5IEBAIHN0YXRpYyBpbnQgYWRhdTE3ODFfaTJjX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlkLT5k cml2ZXJfZGF0YSwgTlVMTCk7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBhZGF1MTc4MV9pMmNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGFkYXUxNzgx X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKg wqDCoMKgYWRhdTE3eDFfcmVtb3ZlKCZjbGllbnQtPmRldik7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBh ZGF1MTc4MV9pMmNfaWRzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvYWs0 Mzc1LmMgYi9zb3VuZC9zb2MvY29kZWNzL2FrNDM3NS5jCj4gaW5kZXggOWE3YjY2MjAxNmI5Li5i ZmVkMDhmZTRiOWUgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9hazQzNzUuYwo+ICsr KyBiL3NvdW5kL3NvYy9jb2RlY3MvYWs0Mzc1LmMKPiBAQCAtNTgxLDExICs1ODEsOSBAQCBzdGF0 aWMgaW50IGFrNDM3NV9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFrNDM3NV9pMmNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gK3N0YXRpYyB2b2lkIGFrNDM3NV9pMmNf cmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHBt X3J1bnRpbWVfZGlzYWJsZSgmaTJjLT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4g MDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYWs0Mzc1 X29mX21hdGNoW10gPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvYWs0NDU4LmMg Yi9zb3VuZC9zb2MvY29kZWNzL2FrNDQ1OC5jCj4gaW5kZXggYmFhOWZmNWQwY2U1Li45MTlhYTA5 NzMwNTAgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9hazQ0NTguYwo+ICsrKyBiL3Nv dW5kL3NvYy9jb2RlY3MvYWs0NDU4LmMKPiBAQCAtODI2LDExICs4MjYsOSBAQCBzdGF0aWMgaW50 IGFrNDQ1OF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFrNDQ1OF9pMmNfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gK3N0YXRpYyB2b2lkIGFrNDQ1OF9pMmNfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRp bWVfZGlzYWJsZSgmaTJjLT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDC oH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYWs0NDU4X29mX21h dGNoW10gPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvYWs0NjQxLmMgYi9zb3Vu ZC9zb2MvY29kZWNzL2FrNDY0MS5jCj4gaW5kZXggZDhkOWNjNzEyZDY3Li42NWExMWNkMzlhNDMg MTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9hazQ2NDEuYwo+ICsrKyBiL3NvdW5kL3Nv Yy9jb2RlY3MvYWs0NjQxLmMKPiBAQCAtNjA1LDcgKzYwNSw3IEBAIHN0YXRpYyBpbnQgYWs0NjQx X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBhazQ2NDFfaTJjX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBhazQ2NDFfaTJjX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYWs0NjQx X3BsYXRmb3JtX2RhdGEgKnBkYXRhID0gaTJjLT5kZXYucGxhdGZvcm1fZGF0YTsKPiDCoAo+IEBA IC02MTcsOCArNjE3LDYgQEAgc3RhdGljIGludCBhazQ2NDFfaTJjX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoZ3Bp b19pc192YWxpZChwZGF0YS0+Z3Bpb19ucGRuKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBncGlvX2ZyZWUocGRhdGEtPmdwaW9fbnBkbik7Cj4gwqDC oMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAK PiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBhazQ2NDFfaTJjX2lkW10gPSB7 Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvYWs1NTU4LmMgYi9zb3VuZC9zb2MvY29k ZWNzL2FrNTU1OC5jCj4gaW5kZXggYzk0Y2ZkZTNlNGE4Li5kZjgxNDA5MDdhYzUgMTAwNjQ0Cj4g LS0tIGEvc291bmQvc29jL2NvZGVjcy9hazU1NTguYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3Mv YWs1NTU4LmMKPiBAQCAtNDgxLDExICs0ODEsOSBAQCBzdGF0aWMgaW50IGFrNTU1OF9pMmNfcHJv YmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsK PiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFrNTU1OF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICppMmMpCj4gK3N0YXRpYyB2b2lkIGFrNTU1OF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJsZSgmaTJj LT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3Rh dGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYWs1NTU4X2kyY19kdF9pZHNbXSBfX21heWJl X3VudXNlZAo+ID0gewo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2NzMzVsMzIuYyBi L3NvdW5kL3NvYy9jb2RlY3MvY3MzNWwzMi5jCj4gaW5kZXggYmFkZmM1NWJjNWZhLi43YWVjMTI2 ODhkYTkgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9jczM1bDMyLmMKPiArKysgYi9z b3VuZC9zb2MvY29kZWNzL2NzMzVsMzIuYwo+IEBAIC00OTgsMTQgKzQ5OCwxMiBAQCBzdGF0aWMg aW50IGNzMzVsMzJfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyY19jbGllbnQpCj4g wqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjczM1 bDMyX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyY19jbGllbnQpCj4gK3N0YXRpYyB2 b2lkIGNzMzVsMzJfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjX2NsaWVudCkKPiDC oHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGNzMzVsMzJfcHJpdmF0ZSAqY3MzNWwzMiA9Cj4g aTJjX2dldF9jbGllbnRkYXRhKGkyY19jbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoC8q IEhvbGQgZG93biByZXNldCAqLwo+IMKgwqDCoMKgwqDCoMKgwqBncGlvZF9zZXRfdmFsdWVfY2Fu c2xlZXAoY3MzNWwzMi0+cmVzZXRfZ3BpbywgMCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBhL3NvdW5k L3NvYy9jb2RlY3MvY3MzNWwzMy5jIGIvc291bmQvc29jL2NvZGVjcy9jczM1bDMzLmMKPiBpbmRl eCA0N2RjMGY2ZDkwYTIuLjQ2OTcyYzg2ZmQ4OCAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29k ZWNzL2NzMzVsMzMuYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3MvY3MzNWwzMy5jCj4gQEAgLTEy NTEsNyArMTI1MSw3IEBAIHN0YXRpYyBpbnQgY3MzNWwzM19pMmNfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqaTJjX2NsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IGNzMzVsMzNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAq Y2xpZW50KQo+ICtzdGF0aWMgdm9pZCBjczM1bDMzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGNzMzVsMzNfcHJpdmF0 ZSAqY3MzNWwzMyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKgCj4gQEAgLTEyNjAs OCArMTI2MCw2IEBAIHN0YXRpYyBpbnQgY3MzNWwzM19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKCZjbGll bnQtPmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9idWxrX2Rpc2FibGUoY3MzNWwz My0+bnVtX2NvcmVfc3VwcGxpZXMsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBj czM1bDMzLT5jb3JlX3N1cHBsaWVzKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGNzMzVsMzNfb2Zf bWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9jczM1bDM0LmMgYi9z b3VuZC9zb2MvY29kZWNzL2NzMzVsMzQuYwo+IGluZGV4IDUwZDUwOWEwNjA3MS4uYzM2YjgyNGI2 NmU2IDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvY3MzNWwzNC5jCj4gKysrIGIvc291 bmQvc29jL2NvZGVjcy9jczM1bDM0LmMKPiBAQCAtMTEyOSw3ICsxMTI5LDcgQEAgc3RhdGljIGlu dCBjczM1bDM0X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmNfY2xpZW50KQo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY3MzNWwz NF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGNz MzVsMzRfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgY3MzNWwzNF9wcml2YXRlICpjczM1bDM0ID0gaTJjX2dldF9jbGll bnRkYXRhKGNsaWVudCk7Cj4gwqAKPiBAQCAtMTEzOCw4ICsxMTM4LDYgQEAgc3RhdGljIGludCBj czM1bDM0X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKg wqDCoMKgwqBwbV9ydW50aW1lX2Rpc2FibGUoJmNsaWVudC0+ZGV2KTsKPiDCoMKgwqDCoMKgwqDC oMKgcmVndWxhdG9yX2J1bGtfZGlzYWJsZShjczM1bDM0LT5udW1fY29yZV9zdXBwbGllcywKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNzMzVsMzQtPmNvcmVfc3VwcGxpZXMpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBf X21heWJlX3VudXNlZCBjczM1bDM0X3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikK PiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9jczM1bDM1LmMgYi9zb3VuZC9zb2MvY29k ZWNzL2NzMzVsMzUuYwo+IGluZGV4IDZiNzBhZmI3MGE2Ny4uMGY2OTY4YTI5YWNlIDEwMDY0NAo+ IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvY3MzNWwzNS5jCj4gKysrIGIvc291bmQvc29jL2NvZGVj cy9jczM1bDM1LmMKPiBAQCAtMTYyOCwxNCArMTYyOCwxMiBAQCBzdGF0aWMgaW50IGNzMzVsMzVf aTJjX3Byb2JlKHN0cnVjdAo+IGkyY19jbGllbnQgKmkyY19jbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjczM1bDM1X2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmkyY19jbGllbnQpCj4gK3N0YXRpYyB2b2lkIGNzMzVsMzVf aTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjX2NsaWVudCkKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IGNzMzVsMzVfcHJpdmF0ZSAqY3MzNWwzNSA9Cj4gaTJjX2dldF9jbGll bnRkYXRhKGkyY19jbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9idWxr X2Rpc2FibGUoY3MzNWwzNS0+bnVtX3N1cHBsaWVzLCBjczM1bDM1LQo+ID5zdXBwbGllcyk7Cj4g wqDCoMKgwqDCoMKgwqDCoGdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChjczM1bDM1LT5yZXNldF9n cGlvLCAwKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGNzMzVsMzVfb2ZfbWF0Y2hbXSA9IHsKPiBk aWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9jczM1bDM2LmMgYi9zb3VuZC9zb2MvY29kZWNz L2NzMzVsMzYuYwo+IGluZGV4IGRmZTg1ZGMyY2QyMC4uODA4NDQ0NzEzMDlkIDEwMDY0NAo+IC0t LSBhL3NvdW5kL3NvYy9jb2RlY3MvY3MzNWwzNi5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9j czM1bDM2LmMKPiBAQCAtMTkxMSw3ICsxOTExLDcgQEAgc3RhdGljIGludCBjczM1bDM2X2kyY19w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmNfY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY3MzNWwzNl9pMmNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGNzMzVsMzZfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgY3MzNWwzNl9wcml2YXRlICpjczM1bDM2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7 Cj4gwqAKPiBAQCAtMTkyNSw4ICsxOTI1LDYgQEAgc3RhdGljIGludCBjczM1bDM2X2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgZ3Bpb2Rfc2V0X3ZhbHVlX2NhbnNsZWVwKGNzMzVsMzYtPnJlc2V0X2dwaW8sIDAp Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9idWxrX2Rpc2FibGUoY3MzNWwzNi0+ bnVtX3N1cHBsaWVzLCBjczM1bDM2LQo+ID5zdXBwbGllcyk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgfQo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgY3Mz NWwzNl9vZl9tYXRjaFtdID0gewo+IMKgwqDCoMKgwqDCoMKgwqB7LmNvbXBhdGlibGUgPSAiY2ly cnVzLGNzMzVsMzYifSwKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9jczM1bDQxLWky Yy5jCj4gYi9zb3VuZC9zb2MvY29kZWNzL2NzMzVsNDEtaTJjLmMKPiBpbmRleCAzN2M3MDNjMDhm ZDUuLjM2NzZiNTk2ZjYwYiAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL2NzMzVsNDEt aTJjLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL2NzMzVsNDEtaTJjLmMKPiBAQCAtNTYsMTMg KzU2LDExIEBAIHN0YXRpYyBpbnQgY3MzNWw0MV9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQK PiAqY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gY3MzNWw0MV9wcm9iZShjczM1bDQx LCBod19jZmcpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY3MzNWw0MV9pMmNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGNzMzVsNDFfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgY3MzNWw0MV9wcml2YXRlICpjczM1bDQxID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7 Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgY3MzNWw0MV9yZW1vdmUoY3MzNWw0MSk7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX09GCj4g ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvY3MzNWw0NS1pMmMuYwo+IGIvc291bmQvc29j L2NvZGVjcy9jczM1bDQ1LWkyYy5jCj4gaW5kZXggMDZjMmRkZmZiOWM1Li4zOWQyODY0MTQyOWUg MTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9jczM1bDQ1LWkyYy5jCj4gKysrIGIvc291 bmQvc29jL2NvZGVjcy9jczM1bDQ1LWkyYy5jCj4gQEAgLTM2LDEzICszNiwxMSBAQCBzdGF0aWMg aW50IGNzMzVsNDVfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIGNzMzVsNDVfcHJvYmUoY3MzNWw0NSk7Cj4gwqB9Cj4gwqAKPiAt c3RhdGljIGludCBjczM1bDQ1X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgY3MzNWw0NV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBjczM1bDQ1X3ByaXZhdGUgKmNzMzVs NDUgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBj czM1bDQ1X3JlbW92ZShjczM1bDQ1KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g wqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGNzMzVsNDVfb2Zf bWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9jczQyMzQuYyBiL3Nv dW5kL3NvYy9jb2RlY3MvY3M0MjM0LmMKPiBpbmRleCA4ODFjNWJhNzBjMGUuLjE4YmRkZWI2Mzc2 MiAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL2NzNDIzNC5jCj4gKysrIGIvc291bmQv c29jL2NvZGVjcy9jczQyMzQuYwo+IEBAIC04NTEsNyArODUxLDcgQEAgc3RhdGljIGludCBjczQy MzRfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyY19jbGllbnQpCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjczQyMzRfaTJjX3Jl bW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjX2NsaWVudCkKPiArc3RhdGljIHZvaWQgY3M0MjM0 X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyY19jbGllbnQpCj4gwqB7Cj4gwqDCoMKg wqDCoMKgwqDCoHN0cnVjdCBjczQyMzQgKmNzNDIzNCA9IGkyY19nZXRfY2xpZW50ZGF0YShpMmNf Y2xpZW50KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGRldmljZSAqZGV2ID0gJmkyY19jbGll bnQtPmRldjsKPiBAQCAtODU5LDggKzg1OSw2IEBAIHN0YXRpYyBpbnQgY3M0MjM0X2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjX2NsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgc25k X3NvY191bnJlZ2lzdGVyX2NvbXBvbmVudChkZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50 aW1lX2Rpc2FibGUoZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgY3M0MjM0X3NodXRkb3duKGNzNDIz NCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg aW50IF9fbWF5YmVfdW51c2VkIGNzNDIzNF9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpk ZXYpCj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjY1LmMgYi9zb3VuZC9zb2Mv Y29kZWNzL2NzNDI2NS5jCj4gaW5kZXggODZiZmE4ZDVlYzc4Li5jMTZjMGEwZDNiNTYgMTAwNjQ0 Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9jczQyNjUuYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2Rl Y3MvY3M0MjY1LmMKPiBAQCAtNjI0LDE0ICs2MjQsMTIgQEAgc3RhdGljIGludCBjczQyNjVfaTJj X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyY19jbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgQVJSQVlfU0laRShjczQyNjVfZGFpKSk7 Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjczQyNjVfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBjczQyNjVfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2Ns aWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgY3M0MjY1X3ByaXZhdGUg KmNzNDI2NSA9IGkyY19nZXRfY2xpZW50ZGF0YShpMmMpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDC oGlmIChjczQyNjUtPnJlc2V0X2dwaW8pCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAoY3M0MjY1LT5yZXNldF9ncGlvLCAwKTsKPiAtCj4g LcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkIGNzNDI2NV9vZl9tYXRjaFtdID0gewo+IGRpZmYgLS1naXQgYS9zb3Vu ZC9zb2MvY29kZWNzL2NzNDI3MC5jIGIvc291bmQvc29jL2NvZGVjcy9jczQyNzAuYwo+IGluZGV4 IDUzMWY2M2IwMTU1NC4uNmJmZGRiMWI5OTY4IDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2Rl Y3MvY3M0MjcwLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5jCj4gQEAgLTY1MSwx MyArNjUxLDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBjczQyNzBfcmVn bWFwCj4gPSB7Cj4gwqAgKiBUaGlzIGZ1bmN0aW9uIHB1dHMgdGhlIGNoaXAgaW50byBsb3cgcG93 ZXIgbW9kZSB3aGVuIHRoZSBpMmMKPiBkZXZpY2UKPiDCoCAqIGlzIHJlbW92ZWQuCj4gwqAgKi8K PiAtc3RhdGljIGludCBjczQyNzBfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjX2Ns aWVudCkKPiArc3RhdGljIHZvaWQgY3M0MjcwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmkyY19jbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBjczQyNzBfcHJpdmF0 ZSAqY3M0MjcwID0KPiBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjX2NsaWVudCk7Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgZ3Bpb2Rfc2V0X3ZhbHVlX2NhbnNsZWVwKGNzNDI3MC0+cmVzZXRfZ3Bpbywg MCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAvKioKPiBk aWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9jczQybDQyLmMgYi9zb3VuZC9zb2MvY29kZWNz L2NzNDJsNDIuYwo+IGluZGV4IDRmYWRlMjM4ODc5Ny4uYWI4NDhmZTVmNzIxIDEwMDY0NAo+IC0t LSBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0Mmw0Mi5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9j czQybDQyLmMKPiBAQCAtMjM0Miw3ICsyMzQyLDcgQEAgc3RhdGljIGludCBjczQybDQyX2kyY19w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmNfY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY3M0Mmw0Ml9pMmNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICppMmNfY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBjczQybDQyX2kyY19y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyY19jbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKg wqDCoHN0cnVjdCBjczQybDQyX3ByaXZhdGUgKmNzNDJsNDIgPQo+IGkyY19nZXRfY2xpZW50ZGF0 YShpMmNfY2xpZW50KTsKPiDCoAo+IEBAIC0yMzU5LDggKzIzNTksNiBAQCBzdGF0aWMgaW50IGNz NDJsNDJfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmNfY2xpZW50KQo+IMKgCj4g wqDCoMKgwqDCoMKgwqDCoGdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChjczQybDQyLT5yZXNldF9n cGlvLCAwKTsKPiDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2J1bGtfZGlzYWJsZShBUlJBWV9T SVpFKGNzNDJsNDItPnN1cHBsaWVzKSwKPiBjczQybDQyLT5zdXBwbGllcyk7Cj4gLQo+IC3CoMKg wqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGRl dl9wbV9vcHMgY3M0Mmw0Ml9wbV9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2Rl Y3MvY3M0Mmw1MS1pMmMuYwo+IGIvc291bmQvc29jL2NvZGVjcy9jczQybDUxLWkyYy5jCj4gaW5k ZXggMzYxM2ZiMTJkNjIzLi44NTIzODMzOWZiY2EgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2Nv ZGVjcy9jczQybDUxLWkyYy5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9jczQybDUxLWkyYy5j Cj4gQEAgLTI4LDExICsyOCw5IEBAIHN0YXRpYyBpbnQgY3M0Mmw1MV9pMmNfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gY3M0Mmw1MV9wcm9i ZSgmaTJjLT5kZXYsIGRldm1fcmVnbWFwX2luaXRfaTJjKGkyYywKPiAmY29uZmlnKSk7Cj4gwqB9 Cj4gwqAKPiAtc3RhdGljIGludCBjczQybDUxX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQg KmkyYykKPiArc3RhdGljIHZvaWQgY3M0Mmw1MV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGNzNDJsNTFfcmVtb3ZlKCZpMmMtPmRldik7 Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29u c3Qgc3RydWN0IGRldl9wbV9vcHMgY3M0Mmw1MV9wbV9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL3Nv dW5kL3NvYy9jb2RlY3MvY3M0Mmw1Ni5jIGIvc291bmQvc29jL2NvZGVjcy9jczQybDU2LmMKPiBp bmRleCA1MTBjOTQyNjViMWYuLmQxY2FlMjRkMDE1ZiAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2Mv Y29kZWNzL2NzNDJsNTYuYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3MvY3M0Mmw1Ni5jCj4gQEAg LTEzMjEsMTMgKzEzMjEsMTIgQEAgc3RhdGljIGludCBjczQybDU2X2kyY19wcm9iZShzdHJ1Y3QK PiBpMmNfY2xpZW50ICppMmNfY2xpZW50KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+ IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgY3M0Mmw1Nl9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGNzNDJsNTZfaTJjX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgY3M0Mmw1Nl9w cml2YXRlICpjczQybDU2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgcmVndWxhdG9yX2J1bGtfZGlzYWJsZShBUlJBWV9TSVpFKGNzNDJsNTYtPnN1 cHBsaWVzKSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgY3M0Mmw1Ni0+c3VwcGxpZXMpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBjczQy bDU2X29mX21hdGNoW10gPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0Mnh4 OC1pMmMuYwo+IGIvc291bmQvc29jL2NvZGVjcy9jczQyeHg4LWkyYy5jCj4gaW5kZXggY2IwNmEw NmQ0OGIwLi5iZDgwZTlmYzkwN2YgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9jczQy eHg4LWkyYy5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9jczQyeHg4LWkyYy5jCj4gQEAgLTMw LDExICszMCw5IEBAIHN0YXRpYyBpbnQgY3M0Mnh4OF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IGNzNDJ4eDhfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0 aWMgdm9pZCBjczQyeHg4X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKCZpMmMtPmRldik7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0IGkyY19k ZXZpY2VfaWQgY3M0Mnh4OF9pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2Nv ZGVjcy9jczQzMTMwLmMgYi9zb3VuZC9zb2MvY29kZWNzL2NzNDMxMzAuYwo+IGluZGV4IGEyYmNl MGY5ZjI0Ny4uOTQ0YmI5YTI2Y2E5IDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0 MzEzMC5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9jczQzMTMwLmMKPiBAQCAtMjU4NCw3ICsy NTg0LDcgQEAgc3RhdGljIGludCBjczQzMTMwX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCBjczQzMTMwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgY3M0MzEzMF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBjczQzMTMwX3ByaXZhdGUgKmNzNDMxMzAg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0yNjExLDggKzI2MTEsNiBA QCBzdGF0aWMgaW50IGNzNDMxMzBfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGll bnQpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKCZjbGllbnQtPmRl dik7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9idWxrX2Rpc2FibGUoQ1M0MzEzMF9OVU1f U1VQUExJRVMsIGNzNDMxMzAtCj4gPnN1cHBsaWVzKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0 dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgY3M0MzEzMF9y dW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZQo+ICpkZXYpCj4gZGlmZiAtLWdpdCBhL3NvdW5k L3NvYy9jb2RlY3MvY3M0MzQ5LmMgYi9zb3VuZC9zb2MvY29kZWNzL2NzNDM0OS5jCj4gaW5kZXgg NzA2OWU5YjU0ODU3Li40MTQ3MmVkMjIyMDkgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVj cy9jczQzNDkuYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3MvY3M0MzQ5LmMKPiBAQCAtMzA2LDE0 ICszMDYsMTIgQEAgc3RhdGljIGludCBjczQzNDlfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCZjczQzNDlfZGFp LCAxKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGNzNDM0OV9pMmNfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIGNzNDM0OV9pMmNfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBjczQz NDlfcHJpdmF0ZSAqY3M0MzQ5ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4gwqAKPiDC oMKgwqDCoMKgwqDCoMKgLyogSG9sZCBkb3duIHJlc2V0ICovCj4gwqDCoMKgwqDCoMKgwqDCoGdw aW9kX3NldF92YWx1ZV9jYW5zbGVlcChjczQzNDktPnJlc2V0X2dwaW8sIDApOwo+IC0KPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJR19QTQo+IGRp ZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2NzNTNsMzAuYyBiL3NvdW5kL3NvYy9jb2RlY3Mv Y3M1M2wzMC5jCj4gaW5kZXggMzYwY2EyZmZkNTA2Li43MTI5OGExOGVlMWEgMTAwNjQ0Cj4gLS0t IGEvc291bmQvc29jL2NvZGVjcy9jczUzbDMwLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL2Nz NTNsMzAuYwo+IEBAIC0xMDQ0LDcgKzEwNDQsNyBAQCBzdGF0aWMgaW50IGNzNTNsMzBfaTJjX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGNzNTNsMzBfaTJjX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBjczUzbDMwX2kyY19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGNz NTNsMzBfcHJpdmF0ZSAqY3M1M2wzMCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwo+IMKg Cj4gQEAgLTEwNTMsOCArMTA1Myw2IEBAIHN0YXRpYyBpbnQgY3M1M2wzMF9pMmNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0 b3JfYnVsa19kaXNhYmxlKEFSUkFZX1NJWkUoY3M1M2wzMC0+c3VwcGxpZXMpLAo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjczUz bDMwLT5zdXBwbGllcyk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvY3gy MDcyeC5jIGIvc291bmQvc29jL2NvZGVjcy9jeDIwNzJ4LmMKPiBpbmRleCBiMzVkZWJiNTgxOGQu LmMyNDkxNWY3ZGVjMyAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL2N4MjA3MnguYwo+ ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3MvY3gyMDcyeC5jCj4gQEAgLTE2NzYsMTAgKzE2NzYsOSBA QCBzdGF0aWMgaW50IGN4MjA3MnhfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjeDIw NzJ4X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgY3gy MDcyeF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJsZSgmaTJjLT5kZXYpOwo+IC3CoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQg Y3gyMDcyeF9pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9tYXg5 ODA5MC5jCj4gYi9zb3VuZC9zb2MvY29kZWNzL21heDk4MDkwLmMKPiBpbmRleCA1NzYyNzdhODJk NDEuLjQxNmU2ZjY2MDU0MSAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL21heDk4MDkw LmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL21heDk4MDkwLmMKPiBAQCAtMjYxOCwxMSArMjYx OCw5IEBAIHN0YXRpYyB2b2lkIG1heDk4MDkwX2kyY19zaHV0ZG93bihzdHJ1Y3QKPiBpMmNfY2xp ZW50ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoG1zbGVlcCg0MCk7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCBtYXg5ODA5MF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4g K3N0YXRpYyB2b2lkIG1heDk4MDkwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgbWF4OTgwOTBfaTJjX3NodXRkb3duKGNsaWVudCk7 Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAjaWZkZWYgQ09O RklHX1BNCj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvbWF4OTg2MC5jIGIvc291bmQv c29jL2NvZGVjcy9tYXg5ODYwLmMKPiBpbmRleCA4MmYyMGE4ZTI3YWQuLjJiMGQwMjk4ZGE4MyAx MDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL21heDk4NjAuYwo+ICsrKyBiL3NvdW5kL3Nv Yy9jb2RlY3MvbWF4OTg2MC5jCj4gQEAgLTcwMiwxNCArNzAyLDEzIEBAIHN0YXRpYyBpbnQgbWF4 OTg2MF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoHJl dHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBtYXg5ODYwX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBtYXg5ODYwX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZGV2aWNlICpkZXYg PSAmaTJjLT5kZXY7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBtYXg5ODYwX3ByaXYgKm1heDk4 NjAgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50 aW1lX2Rpc2FibGUoZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgcmVndWxhdG9yX2Rpc2FibGUobWF4 OTg2MC0+ZHZkZGlvKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKg c3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIG1heDk4NjBfaTJjX2lkW10gPSB7Cj4g ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvbWF4OTg5MjcuYwo+IGIvc291bmQvc29jL2Nv ZGVjcy9tYXg5ODkyNy5jCj4gaW5kZXggYjdjZmY3NmQ3YjViLi5jOTY5NGJhOWMzNDEgMTAwNjQ0 Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9tYXg5ODkyNy5jCj4gKysrIGIvc291bmQvc29jL2Nv ZGVjcy9tYXg5ODkyNy5jCj4gQEAgLTkzNSwxNSArOTM1LDEzIEBAIHN0YXRpYyBpbnQgbWF4OTg5 MjdfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG1heDk4OTI3X2kyY19yZW1vdmUo c3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgbWF4OTg5MjdfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg bWF4OTg5MjdfcHJpdiAqbWF4OTg5MjcgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqBpZiAobWF4OTg5MjctPnJlc2V0X2dwaW8pIHsKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChtYXg5ODkyNy0+ cmVzZXRfZ3BpbywgMSk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9p ZCBtYXg5ODkyN19pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9t dDY2NjAuYyBiL3NvdW5kL3NvYy9jb2RlY3MvbXQ2NjYwLmMKPiBpbmRleCBiYTExNTU1Nzk2YWQu LjQ5NzFjZDBiOTBmOCAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL210NjY2MC5jCj4g KysrIGIvc291bmQvc29jL2NvZGVjcy9tdDY2NjAuYwo+IEBAIC01MTYsMTQgKzUxNiwxMyBAQCBz dGF0aWMgaW50IG10NjY2MF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgbXQ2 NjYwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQg bXQ2NjYwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IG10NjY2MF9jaGlwICpjaGlwID0gaTJjX2dldF9jbGllbnRkYXRh KGNsaWVudCk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKGNoaXAt PmRldik7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfc2V0X3N1c3BlbmRlZChjaGlwLT5k ZXYpOwo+IMKgwqDCoMKgwqDCoMKgwqBtdXRleF9kZXN0cm95KCZjaGlwLT5pb19sb2NrKTsKPiAt wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGludCBfX21heWJl X3VudXNlZCBtdDY2NjBfaTJjX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlCj4gKmRldikK PiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9uYXU4ODIxLmMgYi9zb3VuZC9zb2MvY29k ZWNzL25hdTg4MjEuYwo+IGluZGV4IGNlNGU3ZjQ2YmIwNi4uZGNhZTQxYmEyZTAyIDEwMDY0NAo+ IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvbmF1ODgyMS5jCj4gKysrIGIvc291bmQvc29jL2NvZGVj cy9uYXU4ODIxLmMKPiBAQCAtMTY2NSwxMyArMTY2NSwxMSBAQCBzdGF0aWMgaW50IG5hdTg4MjFf aTJjX3Byb2JlKHN0cnVjdAo+IGkyY19jbGllbnQgKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IG5hdTg4MjFfaTJjX3JlbW92ZShzdHJ1 Y3QgaTJjX2NsaWVudCAqaTJjX2NsaWVudCkKPiArc3RhdGljIHZvaWQgbmF1ODgyMV9pMmNfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmNfY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgbmF1ODgyMSAqbmF1ODgyMSA9IGkyY19nZXRfY2xpZW50ZGF0YShpMmNfY2xpZW50 KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBkZXZtX2ZyZWVfaXJxKG5hdTg4MjEtPmRldiwgbmF1 ODgyMS0+aXJxLCBuYXU4ODIxKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9 Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBuYXU4ODIxX2kyY19p ZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9uYXU4ODI1LmMgYi9zb3Vu ZC9zb2MvY29kZWNzL25hdTg4MjUuYwo+IGluZGV4IDIwZTQ1YTMzN2I4Zi4uYmQzNGM4NDUwN2Rh IDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvbmF1ODgyNS5jCj4gKysrIGIvc291bmQv c29jL2NvZGVjcy9uYXU4ODI1LmMKPiBAQCAtMjY2OSwxMCArMjY2OSw4IEBAIHN0YXRpYyBpbnQg bmF1ODgyNV9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgJm5hdTg4MjVfZGFpLCAxKTsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IG5hdTg4MjVfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IC17 Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gLX0KPiArc3RhdGljIHZvaWQgbmF1ODgyNV9p MmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3t9Cj4gwqAKPiDCoHN0YXRp YyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBuYXU4ODI1X2kyY19pZHNbXSA9IHsKPiDCoMKg wqDCoMKgwqDCoMKgeyAibmF1ODgyNSIsIDAgfSwKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2Nv ZGVjcy9wY20xNzg5LWkyYy5jCj4gYi9zb3VuZC9zb2MvY29kZWNzL3BjbTE3ODktaTJjLmMKPiBp bmRleCAxZDJmNzQ4MGE2ZTQuLmZhZmUwZGNiZTRlYSAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2Mv Y29kZWNzL3BjbTE3ODktaTJjLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3BjbTE3ODktaTJj LmMKPiBAQCAtMjcsMTEgKzI3LDkgQEAgc3RhdGljIGludCBwY20xNzg5X2kyY19wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBwY20xNzg5 X2NvbW1vbl9pbml0KCZjbGllbnQtPmRldiwgcmVnbWFwKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMg aW50IHBjbTE3ODlfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0 aWMgdm9pZCBwY20xNzg5X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDC oHsKPiDCoMKgwqDCoMKgwqDCoMKgcGNtMTc4OV9jb21tb25fZXhpdCgmY2xpZW50LT5kZXYpOwo+ IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVmIENPTkZJ R19PRgo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3BjbTMxNjhhLWkyYy5jCj4gYi9z b3VuZC9zb2MvY29kZWNzL3BjbTMxNjhhLWkyYy5jCj4gaW5kZXggYzBmYTBkYzgwZThmLi5hMGVl YzgyZTk4NzIgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9wY20zMTY4YS1pMmMuYwo+ ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3MvcGNtMzE2OGEtaTJjLmMKPiBAQCAtMjYsMTEgKzI2LDkg QEAgc3RhdGljIGludCBwY20zMTY4YV9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJj KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcGNtMzE2OGFfcHJvYmUoJmkyYy0+ZGV2LCByZWdt YXApOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcGNtMzE2OGFfaTJjX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBwY20zMTY4YV9pMmNfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHBjbTMxNjhhX3JlbW92 ZSgmaTJjLT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHBjbTMxNjhhX2kyY19pZFtdID0g ewo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3BjbTUxMngtaTJjLmMKPiBiL3NvdW5k L3NvYy9jb2RlY3MvcGNtNTEyeC1pMmMuYwo+IGluZGV4IDgxNzU0ZTE0MWE1NS4uOWRmYmJlOGY0 YTBiIDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvcGNtNTEyeC1pMmMuYwo+ICsrKyBi L3NvdW5kL3NvYy9jb2RlY3MvcGNtNTEyeC1pMmMuYwo+IEBAIC0yOSwxMCArMjksOSBAQCBzdGF0 aWMgaW50IHBjbTUxMnhfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHBjbTUxMnhfcHJvYmUoJmkyYy0+ZGV2LCByZWdtYXApOwo+IMKg fQo+IMKgCj4gLXN0YXRpYyBpbnQgcGNtNTEyeF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICppMmMpCj4gK3N0YXRpYyB2b2lkIHBjbTUxMnhfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBwY201MTJ4X3JlbW92ZSgmaTJjLT5kZXYp Owo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qg c3RydWN0IGkyY19kZXZpY2VfaWQgcGNtNTEyeF9pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy9ydDI3NC5jIGIvc291bmQvc29jL2NvZGVjcy9ydDI3NC5jCj4gaW5k ZXggYWIwOTNiZGI1NTUyLi5jYjIxNDdmODY4MTggMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2Nv ZGVjcy9ydDI3NC5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9ydDI3NC5jCj4gQEAgLTEyMDcs MTQgKzEyMDcsMTIgQEAgc3RhdGljIGludCBydDI3NF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgcnQyNzRfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0 aWMgdm9pZCBydDI3NF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBydDI3NF9wcml2ICpydDI3NCA9IGkyY19nZXRfY2xpZW50 ZGF0YShpMmMpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChpMmMtPmlycSkKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZyZWVfaXJxKGkyYy0+aXJxLCBydDI3NCk7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAKPiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy9ydDI4Ni5jIGIvc291bmQvc29jL2NvZGVjcy9ydDI4Ni5jCj4gaW5k ZXggYWQ4ZWExZmE3YzIzLi5jNjZkYjA3NjBhMGYgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2Nv ZGVjcy9ydDI4Ni5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9ydDI4Ni5jCj4gQEAgLTEyNTQs MTQgKzEyNTQsMTIgQEAgc3RhdGljIGludCBydDI4Nl9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgcnQyODZfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0 aWMgdm9pZCBydDI4Nl9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBydDI4Nl9wcml2ICpydDI4NiA9IGkyY19nZXRfY2xpZW50 ZGF0YShpMmMpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChpMmMtPmlycSkKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZyZWVfaXJxKGkyYy0+aXJxLCBydDI4Nik7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAKPiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy9ydDI5OC5jIGIvc291bmQvc29jL2NvZGVjcy9ydDI5OC5jCj4gaW5k ZXggYzI5MTc4NmRjODJkLi45ZjQ0ZWFiZmRiZGIgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2Nv ZGVjcy9ydDI5OC5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9ydDI5OC5jCj4gQEAgLTEyOTcs MTQgKzEyOTcsMTIgQEAgc3RhdGljIGludCBydDI5OF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgcnQyOThfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0 aWMgdm9pZCBydDI5OF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBydDI5OF9wcml2ICpydDI5OCA9IGkyY19nZXRfY2xpZW50 ZGF0YShpMmMpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChpMmMtPmlycSkKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZyZWVfaXJxKGkyYy0+aXJxLCBydDI5OCk7Cj4gLQo+ IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqAKPiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy9ydDU2MTYuYyBiL3NvdW5kL3NvYy9jb2RlY3MvcnQ1NjE2LmMKPiBp bmRleCAzN2YxYmY1NTJlZmYuLjdhOTk0YWJlZWRiMCAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2Mv Y29kZWNzL3J0NTYxNi5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9ydDU2MTYuYwo+IEBAIC0x Mzg5LDEwICsxMzg5LDggQEAgc3RhdGljIGludCBydDU2MTZfaTJjX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBydDU2MTZfZGFpLAo+IEFSUkFZX1NJ WkUocnQ1NjE2X2RhaSkpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgcnQ1NjE2X2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiAtewo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAw Owo+IC19Cj4gK3N0YXRpYyB2b2lkIHJ0NTYxNl9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICppMmMpCj4gK3t9Cj4gwqAKPiDCoHN0YXRpYyB2b2lkIHJ0NTYxNl9pMmNfc2h1dGRvd24oc3Ry dWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2Nv ZGVjcy9ydDU2MzEuYyBiL3NvdW5kL3NvYy9jb2RlY3MvcnQ1NjMxLmMKPiBpbmRleCBjOTQxZTg3 ODQ3MWMuLmQ4MjI2NGVkZDI1YyAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL3J0NTYz MS5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9ydDU2MzEuYwo+IEBAIC0xNzIxLDEwICsxNzIx LDggQEAgc3RhdGljIGludCBydDU2MzFfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmky YykKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50 IHJ0NTYzMV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gLXsKPiAtwqDC oMKgwqDCoMKgwqByZXR1cm4gMDsKPiAtfQo+ICtzdGF0aWMgdm9pZCBydDU2MzFfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICt7fQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0 IGkyY19kcml2ZXIgcnQ1NjMxX2kyY19kcml2ZXIgPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoC5kcml2 ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvcnQ1NjQ1LmMgYi9zb3VuZC9z b2MvY29kZWNzL3J0NTY0NS5jCj4gaW5kZXggNTA3YWJhOGRlM2NjLi5lNzdiZGJjMWEwOTggMTAw NjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9ydDU2NDUuYwo+ICsrKyBiL3NvdW5kL3NvYy9j b2RlY3MvcnQ1NjQ1LmMKPiBAQCAtNDE0Niw3ICs0MTQ2LDcgQEAgc3RhdGljIGludCBydDU2NDVf aTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHJ0NTY0NV9pMmNfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICppMmMpCj4gK3N0YXRpYyB2b2lkIHJ0NTY0NV9pMmNfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBydDU2NDVf cHJpdiAqcnQ1NjQ1ID0gaTJjX2dldF9jbGllbnRkYXRhKGkyYyk7Cj4gwqAKPiBAQCAtNDE2Myw4 ICs0MTYzLDYgQEAgc3RhdGljIGludCBydDU2NDVfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmcnQ1 NjQ1LT5yY2Nsb2NrX3dvcmspOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9idWxr X2Rpc2FibGUoQVJSQVlfU0laRShydDU2NDUtPnN1cHBsaWVzKSwgcnQ1NjQ1LQo+ID5zdXBwbGll cyk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMg dm9pZCBydDU2NDVfaTJjX3NodXRkb3duKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gZGlmZiAt LWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvcnQ1NjYzLmMgYi9zb3VuZC9zb2MvY29kZWNzL3J0NTY2 My5jCj4gaW5kZXggZTUxZWVkOGE3OWFiLi4xNTI5NmUwZmE1NDUgMTAwNjQ0Cj4gLS0tIGEvc291 bmQvc29jL2NvZGVjcy9ydDU2NjMuYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3MvcnQ1NjYzLmMK PiBAQCAtMzcxMSw3ICszNzExLDcgQEAgc3RhdGljIGludCBydDU2NjNfaTJjX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoH0K PiDCoAo+IC1zdGF0aWMgaW50IHJ0NTY2M19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpp MmMpCj4gK3N0YXRpYyB2b2lkIHJ0NTY2M19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpp MmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBydDU2NjNfcHJpdiAqcnQ1NjYzID0g aTJjX2dldF9jbGllbnRkYXRhKGkyYyk7Cj4gwqAKPiBAQCAtMzcxOSw4ICszNzE5LDYgQEAgc3Rh dGljIGludCBydDU2NjNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmcmVlX2lycShpMmMtPmlycSwgcnQ1NjYzKTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0b3JfYnVsa19kaXNhYmxlKEFSUkFZX1NJWkUo cnQ1NjYzLT5zdXBwbGllcyksIHJ0NTY2My0KPiA+c3VwcGxpZXMpOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHZvaWQgcnQ1NjYzX2kyY19zaHV0 ZG93bihzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2Mv Y29kZWNzL3J0NTY3MC5jIGIvc291bmQvc29jL2NvZGVjcy9ydDU2NzAuYwo+IGluZGV4IDhhOTdm NmRiMDRkNS4uZWI3M2UyNjI0NTdjIDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvcnQ1 NjcwLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3J0NTY3MC5jCj4gQEAgLTMzMjEsMTEgKzMz MjEsOSBAQCBzdGF0aWMgaW50IHJ0NTY3MF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAq aTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBp bnQgcnQ1NjcwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZv aWQgcnQ1NjcwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgcG1fcnVudGltZV9kaXNhYmxlKCZpMmMtPmRldik7Cj4gLQo+IC3CoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIg cnQ1NjcwX2kyY19kcml2ZXIgPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvcnQ1 Njc3LmMgYi9zb3VuZC9zb2MvY29kZWNzL3J0NTY3Ny5jCj4gaW5kZXggNGE4YzI2N2Q0ZmJjLi4z MTYxMDIyZjA3NTcgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9ydDU2NzcuYwo+ICsr KyBiL3NvdW5kL3NvYy9jb2RlY3MvcnQ1Njc3LmMKPiBAQCAtNTY5NCwxMSArNTY5NCw5IEBAIHN0 YXRpYyBpbnQgcnQ1Njc3X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcnQ1Njc3X2RhaSwKPiBBUlJBWV9TSVpFKHJ0NTY3N19kYWkpKTsKPiDC oH0KPiDCoAo+IC1zdGF0aWMgaW50IHJ0NTY3N19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICppMmMpCj4gK3N0YXRpYyB2b2lkIHJ0NTY3N19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50 ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHJ0NTY3N19mcmVlX2dwaW8oaTJjKTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBzdHJ1Y3Qg aTJjX2RyaXZlciBydDU2NzdfaTJjX2RyaXZlciA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29j L2NvZGVjcy9ydDU2ODItaTJjLmMgYi9zb3VuZC9zb2MvY29kZWNzL3J0NTY4Mi0KPiBpMmMuYwo+ IGluZGV4IDNmNzJmNjA5MzQzNi4uMjkzNWMxYmI4MWYzIDEwMDY0NAo+IC0tLSBhL3NvdW5kL3Nv Yy9jb2RlY3MvcnQ1NjgyLWkyYy5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9ydDU2ODItaTJj LmMKPiBAQCAtMzAyLDExICszMDIsOSBAQCBzdGF0aWMgdm9pZCBydDU2ODJfaTJjX3NodXRkb3du KHN0cnVjdAo+IGkyY19jbGllbnQgKmNsaWVudCkKPiDCoMKgwqDCoMKgwqDCoMKgcnQ1NjgyX3Jl c2V0KHJ0NTY4Mik7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBydDU2ODJfaTJjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBydDU2ODJfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBydDU2 ODJfaTJjX3NodXRkb3duKGNsaWVudCk7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+ IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBydDU2ODJfb2Zf bWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9ydDU2ODJzLmMgYi9z b3VuZC9zb2MvY29kZWNzL3J0NTY4MnMuYwo+IGluZGV4IDRkNDRlZGRlZTkwMS4uYTgwYzY4NjYx M2Y0IDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvcnQ1Njgycy5jCj4gKysrIGIvc291 bmQvc29jL2NvZGVjcy9ydDU2ODJzLmMKPiBAQCAtMzE5NSwxMSArMzE5NSw5IEBAIHN0YXRpYyB2 b2lkIHJ0NTY4MnNfaTJjX3NodXRkb3duKHN0cnVjdAo+IGkyY19jbGllbnQgKmNsaWVudCkKPiDC oMKgwqDCoMKgwqDCoMKgcnQ1Njgyc19yZXNldChydDU2ODJzKTsKPiDCoH0KPiDCoAo+IC1zdGF0 aWMgaW50IHJ0NTY4MnNfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtz dGF0aWMgdm9pZCBydDU2ODJzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgcnQ1Njgyc19pMmNfc2h1dGRvd24oY2xpZW50KTsKPiAt Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBz dHJ1Y3Qgb2ZfZGV2aWNlX2lkIHJ0NTY4MnNfb2ZfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy9ydDkxMjAuYyBiL3NvdW5kL3NvYy9jb2RlY3MvcnQ5MTIwLmMKPiBp bmRleCBkYTQ5NWJkYzg0MTUuLjY0NDMwMGU4OGI0YyAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2Mv Y29kZWNzL3J0OTEyMC5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy9ydDkxMjAuYwo+IEBAIC01 NzIsMTEgKzU3MiwxMCBAQCBzdGF0aWMgaW50IHJ0OTEyMF9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dCAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZydDkxMjBfZGFp LCAxKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHJ0OTEyMF9yZW1vdmUoc3RydWN0IGkyY19j bGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgcnQ5MTIwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBwbV9ydW50aW1lX2Rpc2FibGUoJmkyYy0+ ZGV2KTsKPiDCoMKgwqDCoMKgwqDCoMKgcG1fcnVudGltZV9zZXRfc3VzcGVuZGVkKCZpMmMtPmRl dik7Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQg X19tYXliZV91bnVzZWQgcnQ5MTIwX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYp Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvc2d0bDUwMDAuYwo+IGIvc291bmQvc29j L2NvZGVjcy9zZ3RsNTAwMC5jCj4gaW5kZXggMmFhNDhhZWY2YTk3Li5mMjliZDUwZmU0Y2QgMTAw NjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9zZ3RsNTAwMC5jCj4gKysrIGIvc291bmQvc29j L2NvZGVjcy9zZ3RsNTAwMC5jCj4gQEAgLTE3OTEsMTUgKzE3OTEsMTMgQEAgc3RhdGljIGludCBz Z3RsNTAwMF9pMmNfcHJvYmUoc3RydWN0Cj4gaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgc2d0bDUwMDBfaTJj X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBzZ3RsNTAw MF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCBzZ3RsNTAwMF9wcml2ICpzZ3RsNTAwMCA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGNsa19kaXNhYmxlX3VucHJlcGFyZShz Z3RsNTAwMC0+bWNsayk7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9idWxrX2Rpc2FibGUo c2d0bDUwMDAtPm51bV9zdXBwbGllcywgc2d0bDUwMDAtCj4gPnN1cHBsaWVzKTsKPiDCoMKgwqDC oMKgwqDCoMKgcmVndWxhdG9yX2J1bGtfZnJlZShzZ3RsNTAwMC0+bnVtX3N1cHBsaWVzLCBzZ3Rs NTAwMC0KPiA+c3VwcGxpZXMpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0K PiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHNndGw1MDAwX2lkW10g PSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvc3RhMzUwLmMgYi9zb3VuZC9zb2Mv Y29kZWNzL3N0YTM1MC5jCj4gaW5kZXggOTE4OWZiMzY0OGY3Li4wNjc2YzgyMjQ1OGYgMTAwNjQ0 Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy9zdGEzNTAuYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2Rl Y3Mvc3RhMzUwLmMKPiBAQCAtMTI0MywxMCArMTI0Myw4IEBAIHN0YXRpYyBpbnQgc3RhMzUwX2ky Y19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVy biByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBzdGEzNTBfaTJjX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQo+IC17Cj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gLX0K PiArc3RhdGljIHZvaWQgc3RhMzUwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiAre30KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHN0YTM1 MF9pMmNfaWRbXSA9IHsKPiDCoMKgwqDCoMKgwqDCoMKgeyAic3RhMzUwIiwgMCB9LAo+IGRpZmYg LS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3RhczI1NTIuYyBiL3NvdW5kL3NvYy9jb2RlY3MvdGFz MjU1Mi5jCj4gaW5kZXggYjVjOWM2MWZmNWE4Li4wMjU5YWU5NmQ5N2UgMTAwNjQ0Cj4gLS0tIGEv c291bmQvc29jL2NvZGVjcy90YXMyNTUyLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3RhczI1 NTIuYwo+IEBAIC03MzcsMTAgKzczNyw5IEBAIHN0YXRpYyBpbnQgdGFzMjU1Ml9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCB0YXMyNTUyX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdGFzMjU1Ml9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRpbWVfZGlzYWJs ZSgmY2xpZW50LT5kZXYpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4g wqBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgdGFzMjU1Ml9pZFtdID0gewo+IGRp ZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3RhczUwODYuYyBiL3NvdW5kL3NvYy9jb2RlY3Mv dGFzNTA4Ni5jCj4gaW5kZXggNWMwZGYzY2Q0ODMyLi5iMGE3MzI0NGVlMzEgMTAwNjQ0Cj4gLS0t IGEvc291bmQvc29jL2NvZGVjcy90YXM1MDg2LmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3Rh czUwODYuYwo+IEBAIC05ODIsMTAgKzk4Miw4IEBAIHN0YXRpYyBpbnQgdGFzNTA4Nl9pMmNfcHJv YmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0 Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgdGFzNTA4Nl9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICppMmMpCj4gLXsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiAtfQo+ICtzdGF0 aWMgdm9pZCB0YXM1MDg2X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiAre30K PiDCoAo+IMKgc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHRhczUwODZfaTJjX2RyaXZlciA9IHsK PiDCoMKgwqDCoMKgwqDCoMKgLmRyaXZlciA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2Nv ZGVjcy90YXM1NzF4LmMgYi9zb3VuZC9zb2MvY29kZWNzL3RhczU3MXguYwo+IGluZGV4IDdiNTk5 NjY0ZGIyMC4uMWEwNjBlODU2MjFmIDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvdGFz NTcxeC5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy90YXM1NzF4LmMKPiBAQCAtODg1LDEzICs4 ODUsMTEgQEAgc3RhdGljIGludCB0YXM1NzF4X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3Rh dGljIGludCB0YXM1NzF4X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAr c3RhdGljIHZvaWQgdGFzNTcxeF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0YXM1NzF4X3ByaXZhdGUgKnByaXYgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZWd1bGF0 b3JfYnVsa19kaXNhYmxlKHByaXYtPmNoaXAtPm51bV9zdXBwbHlfbmFtZXMsIHByaXYtCj4gPnN1 cHBsaWVzKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHRhczU3MXhfb2ZfbWF0Y2hbXSBfX21heWJl X3VudXNlZCA9Cj4gewo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3RhczU4MDVtLmMK PiBiL3NvdW5kL3NvYy9jb2RlY3MvdGFzNTgwNW0uYwo+IGluZGV4IGZhMGU4MWVjODc1YS4uNDc4 MmQ5YzQ3OTkyIDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvdGFzNTgwNW0uYwo+ICsr KyBiL3NvdW5kL3NvYy9jb2RlY3MvdGFzNTgwNW0uYwo+IEBAIC01MjMsNyArNTIzLDcgQEAgc3Rh dGljIGludCB0YXM1ODA1bV9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHRhczU4MDVt X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgdGFzNTgw NW1faTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmaTJjLT5kZXY7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCB0YXM1ODA1bV9wcml2ICp0YXM1ODA1bSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+IEBA IC01MzIsNyArNTMyLDYgQEAgc3RhdGljIGludCB0YXM1ODA1bV9pMmNfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgZ3Bpb2Rfc2V0X3ZhbHVlKHRhczU4 MDVtLT5ncGlvX3Bkbl9uLCAwKTsKPiDCoMKgwqDCoMKgwqDCoMKgdXNsZWVwX3JhbmdlKDEwMDAw LCAxNTAwMCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9kaXNhYmxlKHRhczU4MDVtLT5w dmRkKTsKPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNv bnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIHRhczU4MDVtX2kyY19pZFtdID0gewo+IGRpZmYgLS1n aXQgYS9zb3VuZC9zb2MvY29kZWNzL3RhczY0MjQuYyBiL3NvdW5kL3NvYy9jb2RlY3MvdGFzNjQy NC5jCj4gaW5kZXggMjJiNTM4NTZlNjkxLi5mZDFmMzdkNDg5ODIgMTAwNjQ0Cj4gLS0tIGEvc291 bmQvc29jL2NvZGVjcy90YXM2NDI0LmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3RhczY0MjQu Ywo+IEBAIC03NzUsNyArNzc1LDcgQEAgc3RhdGljIGludCB0YXM2NDI0X2kyY19wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4g wqB9Cj4gwqAKPiAtc3RhdGljIGludCB0YXM2NDI0X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgdGFzNjQyNF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkZXZpY2UgKmRl diA9ICZjbGllbnQtPmRldjsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHRhczY0MjRfZGF0YSAq dGFzNjQyNCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+IEBAIC03OTEsOCArNzkxLDYgQEAgc3Rh dGljIGludCB0YXM2NDI0X2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB0YXM2NDI0LT5zdXBwbGllcyk7Cj4gwqDCoMKgwqDCoMKgwqDCoGlm IChyZXQgPCAwKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X2VycihkZXYs ICJ1bmFibGUgdG8gZGlzYWJsZSBzdXBwbGllczogJWRcbiIsCj4gcmV0KTsKPiAtCj4gLcKgwqDC oMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJj X2RldmljZV9pZCB0YXM2NDI0X2kyY19pZHNbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29j L2NvZGVjcy90bHYzMjBhZGMzeHh4LmMKPiBiL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWRjM3h4 eC5jCj4gaW5kZXggODI1MzJhZDAwYzNjLi44MmQ3OGU3YzYxMGUgMTAwNjQ0Cj4gLS0tIGEvc291 bmQvc29jL2NvZGVjcy90bHYzMjBhZGMzeHh4LmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3Rs djMyMGFkYzN4eHguYwo+IEBAIC0xNDI3LDcgKzE0MjcsNyBAQCBzdGF0aWMgaW50IGFkYzN4eHhf aTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IF9fZXhpdCBhZGMzeHh4X2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiArc3RhdGljIHZvaWQgX19leGl0IGFkYzN4 eHhfaTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+IMKgewo+IMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgYWRjM3h4eCAqYWRjM3h4eCA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+IMKgCj4gQEAgLTE0MzUsNyArMTQzNSw2IEBAIHN0YXRpYyBpbnQgX19leGl0IGFkYzN4 eHhfaTJjX3JlbW92ZShzdHJ1Y3QKPiBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBjbGtfZGlzYWJsZV91bnByZXBhcmUoYWRjM3h4eC0+bWNsayk7 Cj4gwqDCoMKgwqDCoMKgwqDCoGFkYzN4eHhfZnJlZV9ncGlvKGFkYzN4eHgpOwo+IMKgwqDCoMKg wqDCoMKgwqBzbmRfc29jX3VucmVnaXN0ZXJfY29tcG9uZW50KCZjbGllbnQtPmRldik7Cj4gLcKg wqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qg b2ZfZGV2aWNlX2lkIHRsdjMyMGFkYzN4eHhfb2ZfbWF0Y2hbXSA9IHsKPiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzMng0LWkyYy5jCj4gYi9zb3VuZC9zb2MvY29kZWNz L3RsdjMyMGFpYzMyeDQtaTJjLmMKPiBpbmRleCAwNjQ1MjM5OTAxYjEuLmQxZTU0M2NhMzUyMSAx MDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzMyeDQtaTJjLmMKPiArKysg Yi9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzMyeDQtaTJjLmMKPiBAQCAtNDUsMTEgKzQ1LDkg QEAgc3RhdGljIGludCBhaWMzMng0X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMp Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBhaWMzMng0X3Byb2JlKCZpMmMtPmRldiwgcmVnbWFw KTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IGFpYzMyeDRfaTJjX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBhaWMzMng0X2kyY19yZW1vdmUoc3RydWN0IGky Y19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgYWljMzJ4NF9yZW1vdmUoJmky Yy0+ZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiDCoHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBhaWMzMng0X2kyY19pZFtdID0gewo+IGRp ZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LWkyYy5jCj4gYi9zb3VuZC9z b2MvY29kZWNzL3RsdjMyMGFpYzN4LWkyYy5jCj4gaW5kZXggN2JkOWNlMDhiYjdiLi5kN2U5NGQ1 NjRkYmYgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC1pMmMuYwo+ ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3gtaTJjLmMKPiBAQCAtNDEsMTEgKzQx LDkgQEAgc3RhdGljIGludCBhaWMzeF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykK PiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGFpYzN4X3Byb2JlKCZpMmMtPmRldiwgcmVnbWFwLCBp ZC0+ZHJpdmVyX2RhdGEpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgYWljM3hfaTJjX3JlbW92 ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCBhaWMzeF9pMmNfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGFpYzN4X3Jl bW92ZSgmaTJjLT5kZXYpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDC oAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYWljM3hfb2ZfaWRbXSA9IHsK PiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy90bHYzMjBkYWMzMy5jCj4gYi9zb3VuZC9z b2MvY29kZWNzL3RsdjMyMGRhYzMzLmMKPiBpbmRleCA2NmYxZDFjZDZjZjAuLjhhODZiZmU4MjY2 YyAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGRhYzMzLmMKPiArKysgYi9z b3VuZC9zb2MvY29kZWNzL3RsdjMyMGRhYzMzLmMKPiBAQCAtMTUzOSw3ICsxNTM5LDcgQEAgc3Rh dGljIGludCBkYWMzM19pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqY2xpZW50KQo+IMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgZGFjMzNf aTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICtzdGF0aWMgdm9pZCBkYWMz M19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDC oMKgwqDCoHN0cnVjdCB0bHYzMjBkYWMzM19wcml2ICpkYWMzMyA9IGkyY19nZXRfY2xpZW50ZGF0 YShjbGllbnQpOwo+IMKgCj4gQEAgLTE1NDgsOCArMTU0OCw2IEBAIHN0YXRpYyBpbnQgZGFjMzNf aTJjX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqAKPiDCoMKgwqDCoMKg wqDCoMKgaWYgKGRhYzMzLT5wb3dlcl9ncGlvID49IDApCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBncGlvX2ZyZWUoZGFjMzMtPnBvd2VyX2dwaW8pOwo+IC0KPiAtwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2 aWNlX2lkIHRsdjMyMGRhYzMzX2kyY19pZFtdID0gewo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2Mv Y29kZWNzL3dtMTI1MC1ldjEuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd20xMjUwLQo+IGV2MS5jCj4g aW5kZXggYjYzNjZkZWExNWE2Li40OWRiZDE5ZDI2Y2MgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29j L2NvZGVjcy93bTEyNTAtZXYxLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtMTI1MC1ldjEu Ywo+IEBAIC0yMjksMTEgKzIyOSw5IEBAIHN0YXRpYyBpbnQgd20xMjUwX2V2MV9wcm9iZShzdHJ1 Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+ IMKgCj4gLXN0YXRpYyBpbnQgd20xMjUwX2V2MV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmky YykKPiArc3RhdGljIHZvaWQgd20xMjUwX2V2MV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmky YykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgd20xMjUwX2V2MV9mcmVlKGkyYyk7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0 IGkyY19kZXZpY2VfaWQgd20xMjUwX2V2MV9pMmNfaWRbXSA9IHsKPiBkaWZmIC0tZ2l0IGEvc291 bmQvc29jL2NvZGVjcy93bTIyMDAuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd20yMjAwLmMKPiBpbmRl eCAxY2Q1NDQ1ODBjODMuLjg1NTdjMzNlZWVlNyAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29k ZWNzL3dtMjIwMC5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy93bTIyMDAuYwo+IEBAIC0yNDE1 LDcgKzI0MTUsNyBAQCBzdGF0aWMgaW50IHdtMjIwMF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGll bnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbnQgd20yMjAwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3Rh dGljIHZvaWQgd20yMjAwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHdtMjIwMF9wcml2ICp3bTIyMDAgPSBpMmNfZ2V0X2Ns aWVudGRhdGEoaTJjKTsKPiDCoAo+IEBAIC0yNDI4LDggKzI0MjgsNiBAQCBzdGF0aWMgaW50IHdt MjIwMF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGdwaW9fc2V0X3ZhbHVlX2NhbnNsZWVwKHdtMjIwMC0+cGRhdGEu bGRvX2VuYSwgMCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlZ3VsYXRvcl9idWxrX2Rpc2FibGUoQVJS QVlfU0laRSh3bTIyMDAtPmNvcmVfc3VwcGxpZXMpLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3bTIyMDAtPmNvcmVfc3VwcGxp ZXMpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiDCoAo+IMKgI2lmZGVm IENPTkZJR19QTQo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtNTEwMC5jIGIvc291 bmQvc29jL2NvZGVjcy93bTUxMDAuYwo+IGluZGV4IGE4OTg3MDkxODE3NC4uMjExZWY4MTkwYzYx IDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd201MTAwLmMKPiArKysgYi9zb3VuZC9z b2MvY29kZWNzL3dtNTEwMC5jCj4gQEAgLTI2MzYsNyArMjYzNiw3IEBAIHN0YXRpYyBpbnQgd201 MTAwX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDC oHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCB3bTUxMDBfaTJjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+ICtzdGF0aWMgdm9pZCB3bTUxMDBfaTJjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgd201 MTAwX3ByaXYgKndtNTEwMCA9IGkyY19nZXRfY2xpZW50ZGF0YShpMmMpOwo+IMKgCj4gQEAgLTI2 NTIsOCArMjY1Miw2IEBAIHN0YXRpYyBpbnQgd201MTAwX2kyY19yZW1vdmUoc3RydWN0IGkyY19j bGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZ3Bpb19zZXRf dmFsdWVfY2Fuc2xlZXAod201MTAwLT5wZGF0YS5sZG9fZW5hLCAwKTsKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGdwaW9fZnJlZSh3bTUxMDAtPnBkYXRhLmxkb19lbmEpOwo+IMKg wqDCoMKgwqDCoMKgwqB9Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKg Cj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204 ODA0LWkyYy5jIGIvc291bmQvc29jL2NvZGVjcy93bTg4MDQtCj4gaTJjLmMKPiBpbmRleCAwNGRj OWZiNWFmYjQuLjNjZTFhMzlkNzZlYiAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dt ODgwNC1pMmMuYwo+ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204ODA0LWkyYy5jCj4gQEAgLTI1 LDEwICsyNSw5IEBAIHN0YXRpYyBpbnQgd204ODA0X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVu dAo+ICppMmMpCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiB3bTg4MDRfcHJvYmUoJmkyYy0+ZGV2 LCByZWdtYXApOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgd204ODA0X2kyY19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQgd204ODA0X2kyY19yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgd204ODA0X3JlbW92 ZSgmaTJjLT5kZXYpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gwqBz dGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgd204ODA0X2kyY19pZFtdID0gewo+IGRp ZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODkwMC5jIGIvc291bmQvc29jL2NvZGVjcy93 bTg5MDAuYwo+IGluZGV4IDg0YTNkYWYwYzExZS4uMjhlMjk2ZjJmOTY5IDEwMDY0NAo+IC0tLSBh L3NvdW5kL3NvYy9jb2RlY3Mvd204OTAwLmMKPiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODkw MC5jCj4gQEAgLTEyODMsMTAgKzEyODMsOCBAQCBzdGF0aWMgaW50IHdtODkwMF9pMmNfcHJvYmUo c3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+ IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgd204OTAwX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPiAtewo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IC19Cj4gK3N0YXRp YyB2b2lkIHdtODkwMF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3t9 Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB3bTg5MDBfaTJjX2lk W10gPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoHsgIndtODkwMCIsIDAgfSwKPiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy93bTg5MDMuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTAzLmMKPiBp bmRleCAzYzk1YzJhZWE1MTUuLjk2N2JlNjI5Yjg0NiAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2Mv Y29kZWNzL3dtODkwMy5jCj4gKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg5MDMuYwo+IEBAIC0y MTgzLDcgKzIxODMsNyBAQCBzdGF0aWMgaW50IHdtODkwM19pMmNfcHJvYmUoc3RydWN0IGkyY19j bGllbnQKPiAqaTJjKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4g LXN0YXRpYyBpbnQgd204OTAzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkK PiArc3RhdGljIHZvaWQgd204OTAzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKPiDCoHsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHdtODkwM19wcml2ICp3bTg5MDMgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiDCoAo+IEBAIC0yMTkyLDggKzIxOTIsNiBAQCBz dGF0aWMgaW50IHdtODkwM19pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmNsaWVudCkK PiDCoMKgwqDCoMKgwqDCoMKgaWYgKGNsaWVudC0+aXJxKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZnJlZV9pcnEoY2xpZW50LT5pcnEsIHdtODkwMyk7Cj4gwqDCoMKgwqDCoMKg wqDCoHdtODkwM19mcmVlX2dwaW8od204OTAzKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHdtODkw M19vZl9tYXRjaFtdID0gewo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODk2MC5j IGIvc291bmQvc29jL2NvZGVjcy93bTg5NjAuYwo+IGluZGV4IDhjOGYzMmIyMzA4My4uM2M0Y2Q0 N2Y1YWQ5IDEwMDY0NAo+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204OTYwLmMKPiArKysgYi9z b3VuZC9zb2MvY29kZWNzL3dtODk2MC5jCj4gQEAgLTE0ODcsMTAgKzE0ODcsOCBAQCBzdGF0aWMg aW50IHdtODk2MF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJjKQo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgd204OTYwX2kyY19y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAtewo+IC3CoMKgwqDCoMKgwqDCoHJl dHVybiAwOwo+IC19Cj4gK3N0YXRpYyB2b2lkIHdtODk2MF9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCj4gK3t9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rl dmljZV9pZCB3bTg5NjBfaTJjX2lkW10gPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoHsgIndtODk2MCIs IDAgfSwKPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg5NjIuYyBiL3NvdW5kL3Nv Yy9jb2RlY3Mvd204OTYyLmMKPiBpbmRleCA1Y2NhODkzNjQyODAuLjg1MDg5MzA0ZjVlNyAxMDA2 NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtODk2Mi5jCj4gKysrIGIvc291bmQvc29jL2Nv ZGVjcy93bTg5NjIuYwo+IEBAIC0zNzc5LDEwICszNzc5LDkgQEAgc3RhdGljIGludCB3bTg5NjJf aTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHdtODk2Ml9pMmNfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHdtODk2Ml9pMmNfcmVtb3ZlKHN0 cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHBtX3J1bnRp bWVfZGlzYWJsZSgmY2xpZW50LT5kZXYpOwo+IC3CoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IMKg fQo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX1BNCj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2Rl Y3Mvd204OTkzLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODk5My5jCj4gaW5kZXggZjRkYTc3ZWM5 ZDZjLi5mZTFjNWFhYjBhYjYgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg5OTMu Ywo+ICsrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkzLmMKPiBAQCAtMTcyMywxNSArMTcyMywx MyBAQCBzdGF0aWMgaW50IHdtODk5M19pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQKPiAqaTJj KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQg d204OTkzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiArc3RhdGljIHZvaWQg d204OTkzX2kyY19yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPiDCoHsKPiDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IHdtODk5M19wcml2ICp3bTg5OTMgPSBpMmNfZ2V0X2NsaWVudGRhdGEo aTJjKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoaTJjLT5pcnEpCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBmcmVlX2lycShpMmMtPmlycSwgd204OTkzKTsKPiDCoMKgwqDC oMKgwqDCoMKgcmVndWxhdG9yX2J1bGtfZGlzYWJsZShBUlJBWV9TSVpFKHdtODk5My0+c3VwcGxp ZXMpLCB3bTg5OTMtCj4gPnN1cHBsaWVzKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB3bTg5OTNf aTJjX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204OTk2LmMgYi9z b3VuZC9zb2MvY29kZWNzL3dtODk5Ni5jCj4gaW5kZXggZjdiYjI3ZDFjNzZkLi41ZjJiM2FmNDdj MTIgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg5OTYuYwo+ICsrKyBiL3NvdW5k L3NvYy9jb2RlY3Mvd204OTk2LmMKPiBAQCAtMzA2Nyw3ICszMDY3LDcgQEAgc3RhdGljIGludCB3 bTg5OTZfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50Cj4gKmkyYykKPiDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIHJldDsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgaW50IHdtODk5Nl9pMmNfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3N0YXRpYyB2b2lkIHdtODk5Nl9pMmNfcmVt b3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoHN0 cnVjdCB3bTg5OTZfcHJpdiAqd204OTk2ID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Cj4g wqAKPiBAQCAtMzA3Niw4ICszMDc2LDYgQEAgc3RhdGljIGludCB3bTg5OTZfaTJjX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudAo+ICpjbGllbnQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBncGlvX3NldF92YWx1ZV9jYW5zbGVlcCh3bTg5OTYtPnBkYXRhLmxkb19lbmEsIDApOwo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZ3Bpb19mcmVlKHdtODk5Ni0+cGRhdGEu bGRvX2VuYSk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCB3bTg5 OTZfaTJjX2lkW10gPSB7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd205MDgxLmMg Yi9zb3VuZC9zb2MvY29kZWNzL3dtOTA4MS5jCj4gaW5kZXggODdiNTg0NDhjZWE3Li42MTg0ZDhj MDY1NjQgMTAwNjQ0Cj4gLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTkwODEuYwo+ICsrKyBiL3Nv dW5kL3NvYy9jb2RlY3Mvd205MDgxLmMKPiBAQCAtMTM1NywxMCArMTM1Nyw4IEBAIHN0YXRpYyBp bnQgd205MDgxX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudAo+ICppMmMpCj4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiAwOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyBpbnQgd205MDgxX2kyY19yZW1v dmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiAtewo+IC3CoMKgwqDCoMKgwqDCoHJldHVy biAwOwo+IC19Cj4gK3N0YXRpYyB2b2lkIHdtOTA4MV9pMmNfcmVtb3ZlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQpCj4gK3t9Cj4gwqAKPiDCoHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2Rldmlj ZV9pZCB3bTkwODFfaTJjX2lkW10gPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoHsgIndtOTA4MSIsIDAg fSwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo=