From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dmta0020.nifty.com (mta-snd00010.nifty.com [106.153.226.42]) by sourceware.org (Postfix) with ESMTPS id B920838582B7 for ; Thu, 4 Jan 2024 00:55:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B920838582B7 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=nifty.ne.jp Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B920838582B7 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=106.153.226.42 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704329721; cv=none; b=bUN2INXfVdgN46nrRIcXvv+Ee12nCk6TX8BbwZvrWgxlTTiy8GzKs1QFiTUEkF+2sJY+tZQxBVAv4DACtnhzPap6NDCyy0mvISQsjUyvriZnk8PLgC637l7iJwbAlCjrns35GzLcR+cU4oaTB+dvzUcuU62v2dyUTSP1LzZR0IE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704329721; c=relaxed/simple; bh=ckMDNCNrgVQnoP2pEe9vB/N5LZ9agUuoaCgfsv0QWkw=; h=Date:From:To:Subject:Message-Id:Mime-Version; b=ur4F29Wfyo7IL0HdQlLkguQjuP0p+tPpRu/st507Xrg6+op3z5UsZ60m6qHo1s2htBfHEs/kKmltKzTKAtta8M/5d+PSoQKWfm+VxJ8A4oEv3Mkn9tALL0+rt6T2WMhcj3n0KRCqdju0jSHFm0jeREQPy7x8Y0VlqchMZMH/M4w= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from HP-Z230 by dmta0020.nifty.com with ESMTP id <20240104005507034.LXUU.110240.HP-Z230@nifty.com> for ; Thu, 4 Jan 2024 09:55:07 +0900 Date: Thu, 4 Jan 2024 09:55:07 +0900 From: Takashi Yano To: cygwin-apps@cygwin.com Subject: Re: [ITA] pocl Message-Id: <20240104095507.dd5460a1595929dddf3530dd@nifty.ne.jp> In-Reply-To: <20240103230827.98ecd39b918605c7c0d59e2a@nifty.ne.jp> References: <20240103141412.d00b68976af90778eb7e7c03@nifty.ne.jp> <20240103142533.ee77d69e3a93cea0275cfd00@nifty.ne.jp> <90ac340c-236b-4ec2-b304-37564da46320@gmail.com> <20240103182954.954d9470d93c013e2b73a67a@nifty.ne.jp> <20240103210007.548250af5b62f082bc441d8c@nifty.ne.jp> <20240103213002.d0fc284413dd28233217941b@nifty.ne.jp> <20240103230827.98ecd39b918605c7c0d59e2a@nifty.ne.jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Thu__4_Jan_2024_09_55_07_+0900_U00Z3ANfBPmS4X4Q" X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --Multipart=_Thu__4_Jan_2024_09_55_07_+0900_U00Z3ANfBPmS4X4Q Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Wed, 3 Jan 2024 23:08:27 +0900 Takashi Yano wrote: > On Wed, 3 Jan 2024 21:30:02 +0900 > Takashi Yano wrote: > > On Wed, 3 Jan 2024 21:00:07 +0900 > > Takashi Yano wrote: > > > On Wed, 3 Jan 2024 04:38:02 -0700 > > > Brian Inglis wrote: > > > > On 2024-01-03 02:29, Takashi Yano via Cygwin-apps wrote: > > > > > On Wed, 3 Jan 2024 08:54:17 +0100 > > > > > Marco Atzeri wrote: > > > > >> On 03/01/2024 06:25, Takashi Yano via Cygwin-apps wrote: > > > > >>> On Wed, 3 Jan 2024 14:14:12 +0900 > > > > >>> Takashi Yano via Cygwin-apps wrote: > > > > >>>> I'd like to adopt the pocl package. > > > > >>>> - Update to latest upstream release. > > > > > > > > >> $ git diff |grep "^+" > > > > >> +++ b/cygwin-pkg-maint > > > > >> +pocl Takashi Yano > > > > > > > > >>> Sorry, the latest upstream release is 5.0 however, 4.0 and later > > > > >>> cannot be built in current cygwin because LLVM package is old. > > > > >>> This update is up to 3.1. > > > > > > > > >>>> - Enable CUDA support. > > > > > > > > >> Curiosity, how do we support CUDA on Cygwin ? > > > > > > > > > nvidia cuda toolkit is used in build stage of user programs. > > > > > Although this is not very desirable for cygwin package, I thought > > > > > that the advantage of being able to use the GPU was greater than > > > > > the disadvantage. > > > > > However, on the second thought, cuda support should be a separeted > > > > > package from the base package, and suggest installing cuda toolkit > > > > > in the install stage of of that package. > > > > > Let me consider a bit. If you have any idea, please let me know. > > > > > > > > Please note CUDA is Nvidia proprietary closed source - I do not think we can or > > > > should touch it when OpenCL 3+ supports Nvidia devices. > > > > Fedora does not support CUDA although others do in their non-free "sources". > > > > > > We do not touch CUDA itself or distribute its binaries, but just use binaries > > > distributed by NVIDIA. Source code in pocl is not NVIDIA proprietary. In that > > > sense, cygwin itself uses microsoft proprietary closed source modules. > > > > > > So, enabling CUDA support in pocl should also be allowed, I think. > > > > D'oh! I missed that libpocl-devices-cuda.so is linked with cuda.lib > > from CUDA Toolkit. > > > > I'll give up enabling CUDA support for pocl. > > Ah, cuda.lib is just a import library for nvcuda.dll, so > we can easily create non-proprietary import library using > dlltool. > > Then, libpocl-devices-cuda.so will be free from NVIDIA binaries > just like libkernel32.a of w32api-runtime. Package files are revised. - Stop to link libpocl-devices-cuda.so against cuda.lib which is a part of CUDA Toolkit. Instead, self-built import library (i.e. libcuda.a) for nvcuda.dll is used just like libkernel32.a in cygwin1.dll. Now, the package itself is completely free from CUDA Toolkit. Only user programs which use CUDA need the toolkit at the first execution time to build the kernel objects. If no CUDA Toolkit is found at this time, the message: "[CUDA] failed to open libdevice library file. Most likely, you do not have NVIDIA CUDA Toolkit. Please consider to install it. If you have it installed, set CUDA_PATH properly." will be shown. Any comments and advices will be appreciated. -- Takashi Yano --Multipart=_Thu__4_Jan_2024_09_55_07_+0900_U00Z3ANfBPmS4X4Q Content-Type: text/plain; name="pocl.cygport" Content-Disposition: attachment; filename="pocl.cygport" Content-Transfer-Encoding: base64 aW5oZXJpdCBjbGFuZyBjbWFrZQ0KDQpOQU1FPSJwb2NsIg0KVkVSU0lPTj0zLjENClJFTEVBU0U9 MQ0KQ0FURUdPUlk9IkxpYnMiDQojIFRoZSBlbnRpcmUgY29kZSBpcyB1bmRlciBNSVQNCiMgaW5j bHVkZS91dGxpc3QuaCB3aGljaCBpcyB1bmRlciBCU0QtMS1DbGF1c2UgKHVuYnVuZGxlZCkNCiMg bGliL2tlcm5lbC92ZWNtYXRoIHdoaWNoIGlzIHVuZGVyIEdQTC0zLjAtb3ItbGF0ZXIgT1IgTEdQ TC0zLjAtb3ItbGF0ZXINCkxJQ0VOU0U9Ik1JVCwgQlNELTEtQ2xhdXNlLCBHUEwtMy4wLW9yLWxh dGVyIE9SIExHUEwtMy4wLW9yLWxhdGVyIg0KU1VNTUFSWT0iT3BlbkNMIGJhY2tlbmQgaW1wbGVt ZW50YXRpb24iDQpERVNDUklQVElPTj0iUG9ydGFibGUgQ29tcHV0aW5nIExhbmd1YWdlIChwb2Ns KSBhaW1zIHRvIGJlY29tZSBhIE1JVC1saWNlbnNlZA0Kb3BlbiBzb3VyY2UgaW1wbGVtZW50YXRp b24gb2YgdGhlIE9wZW5DTCBzdGFuZGFyZCB3aGljaCBjYW4gYmUgZWFzaWx5IGFkYXB0ZWQNCmZv ciBuZXcgdGFyZ2V0cyBhbmQgZGV2aWNlcywgYm90aCBmb3IgaG9tb2dlbmVvdXMgQ1BVIGFuZCBo ZXRlcm9nZW5vdXMgR1BVcy8NCmFjY2VsZXJhdG9ycy4gIHBvY2wgdXNlcyBDbGFuZyBhcyBhbiBP cGVuQ0wgQyBmcm9udGVuZCBhbmQgTExWTSBmb3IgdGhlIGtlcm5lbA0KY29tcGlsZXIgaW1wbGVt ZW50YXRpb24sIGFuZCBhcyBhIHBvcnRhYmlsaXR5IGxheWVyLiINCkhPTUVQQUdFPSJodHRwOi8v cG9ydGFibGVjbC5vcmcvIg0KU1JDX1VSST0iaHR0cHM6Ly9naXRodWIuY29tL3BvY2wvcG9jbC9h cmNoaXZlL3Yke1ZFUlNJT059L3BvY2wtdiR7VkVSU0lPTn0udGFyLmd6Ig0KDQpQS0dfTkFNRVM9 ImxpYnBvY2wyIGxpYnBvY2wtY29tbW9uIGxpYnBvY2wtZGV2ZWwiDQpsaWJwb2NsMl9SRVFVSVJF Uz0iY2xhbmcgbGlicG9jbC1jb21tb24iDQpsaWJwb2NsMl9DT05URU5UUz0iDQoJdXNyL2Jpbi9j eWdwb2NsLTIuZGxsDQoJdXNyL2Jpbi9saWJwb2NsLWRldmljZXMtYmFzaWMuc28NCgl1c3IvYmlu L2xpYnBvY2wtZGV2aWNlcy1jdWRhLnNvDQoJdXNyL2Jpbi9saWJwb2NsLWRldmljZXMtcHRocmVh ZC5zbw0KIg0KbGlicG9jbF9jb21tb25fQ09OVEVOVFM9Ig0KCWV0Yy9PcGVuQ0wvdmVuZG9ycy9w b2NsLmljZA0KCXVzci9zaGFyZS9kb2MvcG9jbC8NCgl1c3Ivc2hhcmUvcG9jbC8NCiINCmxpYnBv Y2xfZGV2ZWxfT0JTT0xFVEVTPSJsaWJwb2NsdS1kZXZlbCINCmxpYnBvY2xfZGV2ZWxfUkVRVUlS RVM9ImxpYnBvY2wtY29tbW9uIGxpYnBvY2wyIg0KbGlicG9jbF9kZXZlbF9DT05URU5UUz0iDQoJ dXNyL2Jpbi9wb2NsY2MuZXhlDQoJdXNyL2xpYi9saWJwb2NsLmRsbC5hDQoJdXNyL2xpYi9wa2dj b25maWcvcG9jbC5wYw0KCXVzci9saWIvcG9jbC9jeWdsbHZtb3BlbmNsLmRsbA0KCXVzci9saWIv bGlicG9jbC1kZXZpY2VzLWJhc2ljLmRsbC5hDQoJdXNyL2xpYi9saWJwb2NsLWRldmljZXMtY3Vk YS5kbGwuYQ0KCXVzci9saWIvbGlicG9jbC1kZXZpY2VzLXB0aHJlYWQuZGxsLmENCiINCg0KRElG Rl9FWENMVURFUz0iY2wuaHBwKiB0ZXN0c3VpdGUiDQoNCkNZR0NNQUtFX0FSR1M9Ig0KCS1EUE9D TF9JTlNUQUxMX0lDRF9WRU5ET1JESVI9L2V0Yy9PcGVuQ0wvdmVuZG9ycw0KCS1EUE9DTF9JQ0Rf QUJTT0xVVEVfUEFUSD1PRkYNCgktREVOQUJMRV9JQ0Q9T04NCgktREVOQUJMRV9MSUJMTFZNT1BF TkNMPU9ODQoJLURFTkFCTEVfQ1VEQT1PTg0KCS1EQ01BS0VfSU5TVEFMTF9QUkVGSVg9L3Vzcg0K Ig0K --Multipart=_Thu__4_Jan_2024_09_55_07_+0900_U00Z3ANfBPmS4X4Q Content-Type: text/plain; name="pocl-3.1-1.src.patch" Content-Disposition: attachment; filename="pocl-3.1-1.src.patch" Content-Transfer-Encoding: base64 LS0tIG9yaWdzcmMvcG9jbC0zLjEvQ01ha2VMaXN0cy50eHQJMjAyMi0xMi0wNSAyMTozNjowOC4w MDAwMDAwMDAgKzA5MDANCisrKyBzcmMvcG9jbC0zLjEvQ01ha2VMaXN0cy50eHQJMjAyNC0wMS0w NCAwMzowNToxNS4wMzUxNjE2MDAgKzA5MDANCkBAIC04MTcsOSArODE3LDkgQEAgZW5kaWYoKQ0K ICMgY29uc3RhbnQgYWRkcnNwYWNlIHZhcmlhYmxlcywgYW5kIHN0YWNrIHByb3RlY3RvciBsaWtl bHkgc2xvd3MNCiAjIGRvd24gdGhlIGtlcm5lbHMsIHNvIGl0IG5lZWRzIHRvIGJlIGRldGVybWlu ZWQgd2hldGhlciBpdCdzIHdvcnRoDQogIyB0aGUgdHJvdWJsZS4NCi1zZXQoREVGQVVMVF9LRVJO RUxfQ0xfRkxBR1MgICIteGNsIC1mbm8tc3RhY2stcHJvdGVjdG9yIC1mUElDICR7RkxPQVRDT05W X0ZMQUd9ICR7T1BBUVVFX1BUUl9GTEFHU30iKQ0KLXNldChERUZBVUxUX0tFUk5FTF9DX0ZMQUdT ICIteGMgLXN0ZD1jMTEgLURfX0NCVUlMRF9fIC1mbm8tbWF0aC1lcnJubyAtZm5vLXN0YWNrLXBy b3RlY3RvciAtZlBJQyAke0ZMT0FUQ09OVl9GTEFHfSAke09QQVFVRV9QVFJfRkxBR1N9IikNCi1z ZXQoREVGQVVMVF9LRVJORUxfQ1hYX0ZMQUdTICIteGMrKyAtc3RkPWMrKzExIC1mbm8tc3RhY2st cHJvdGVjdG9yIC1mUElDICR7RkxPQVRDT05WX0ZMQUd9ICR7T1BBUVVFX1BUUl9GTEFHU30iKQ0K K3NldChERUZBVUxUX0tFUk5FTF9DTF9GTEFHUyAgIi14Y2wgLWZuby1zdGFjay1wcm90ZWN0b3Ig JHtGTE9BVENPTlZfRkxBR30gJHtPUEFRVUVfUFRSX0ZMQUdTfSIpDQorc2V0KERFRkFVTFRfS0VS TkVMX0NfRkxBR1MgIi14YyAtc3RkPWMxMSAtRF9fQ0JVSUxEX18gLWZuby1tYXRoLWVycm5vIC1m bm8tc3RhY2stcHJvdGVjdG9yICR7RkxPQVRDT05WX0ZMQUd9ICR7T1BBUVVFX1BUUl9GTEFHU30i KQ0KK3NldChERUZBVUxUX0tFUk5FTF9DWFhfRkxBR1MgIi14YysrIC1zdGQ9YysrMTEgLWZuby1z dGFjay1wcm90ZWN0b3IgJHtGTE9BVENPTlZfRkxBR30gJHtPUEFRVUVfUFRSX0ZMQUdTfSIpDQog DQogDQogc2V0KEVYVFJBX0tFUk5FTF9GTEFHUyAiIiBDQUNIRSBTVFJJTkcgIkV4dHJhIGFyZ3Vt ZW50cyB0byBhbGwga2VybmVsIGNvbXBpbGF0aW9uIGNvbW1hbmRzIChkZWZhdWx0cyB0byBlbXB0 eSkiKQ0KQEAgLTg4MywxMSArODgzLDEyIEBAIGlmKEVOQUJMRV9TUElSKQ0KICAgZW5kaWYoKQ0K IA0KICAgIyByZXF1aXJlZCBmb3IgdGhlIHdyYXBwZXIgZ2VuZXJhdG9yDQotICBpZihDTUFLRV9W RVJTSU9OIFZFUlNJT05fTEVTUyAzLjEyLjApDQotICAgIGZpbmRfcHJvZ3JhbShQeXRob24zX0VY RUNVVEFCTEUgTkFNRVMgInB5dGhvbjMiIFJFUVVJUkVEKQ0KLSAgZWxzZSgpDQotICAgIGZpbmRf cGFja2FnZShQeXRob24zIFJFUVVJUkVEIENPTVBPTkVOVFMgSW50ZXJwcmV0ZXIpDQotICBlbmRp ZigpDQorICAjaWYoQ01BS0VfVkVSU0lPTiBWRVJTSU9OX0xFU1MgMy4xMi4wKQ0KKyAgIyAgZmlu ZF9wcm9ncmFtKFB5dGhvbjNfRVhFQ1VUQUJMRSBOQU1FUyAicHl0aG9uMyIgUkVRVUlSRUQpDQor ICAjZWxzZSgpDQorICAjICBmaW5kX3BhY2thZ2UoUHl0aG9uMyBSRVFVSVJFRCBDT01QT05FTlRT IEludGVycHJldGVyKQ0KKyAgI2VuZGlmKCkNCisgIHNldChQeXRob24zX0VYRUNVVEFCTEUgIi91 c3IvYmluL3B5dGhvbjMiKQ0KIA0KIGVuZGlmKCkNCiANCi0tLSBvcmlnc3JjL3BvY2wtMy4xL2Nt YWtlL0xMVk0uY21ha2UJMjAyMi0xMi0wNSAyMTozNjowOC4wMDAwMDAwMDAgKzA5MDANCisrKyBz cmMvcG9jbC0zLjEvY21ha2UvTExWTS5jbWFrZQkyMDI0LTAxLTA0IDAzOjA1OjE1LjAzNzE2MDUw MCArMDkwMA0KQEAgLTI4Nyw3ICsyODcsNyBAQCBlbmRmb3JlYWNoKCkNCiANCiBtYWNybyhmaW5k X3Byb2dyYW1fb3JfZGllIE9VVFBVVF9WQVIgUFJPR19OQU1FIERPQ1NUUklORykNCiAgIGZpbmRf cHJvZ3JhbSgke09VVFBVVF9WQVJ9DQotICAgIE5BTUVTICIke1BST0dfTkFNRX0ke0xMVk1fQklO QVJZX1NVRkZJWH0ke0NNQUtFX0VYRUNVVEFCTEVfU1VGRklYfSIgIiR7UFJPR19OQU1FfSR7Q01B S0VfRVhFQ1VUQUJMRV9TVUZGSVh9Ig0KKyAgICBOQU1FUyAiJHtQUk9HX05BTUV9JHtMTFZNX0JJ TkFSWV9TVUZGSVh9IiAiJHtQUk9HX05BTUV9Ig0KICAgICBISU5UUyAiJHtMTFZNX0JJTkRJUn0i ICIke0xMVk1fQ09ORklHX0xPQ0FUSU9OfSIgIiR7TExWTV9QUkVGSVh9IiAiJHtMTFZNX1BSRUZJ WF9CSU59Ig0KICAgICBET0MgIiR7RE9DU1RSSU5HfSINCiAgICAgTk9fQ01BS0VfUEFUSA0KLS0t IG9yaWdzcmMvcG9jbC0zLjEvbGliL0NML0NNYWtlTGlzdHMudHh0CTIwMjItMTItMDUgMjE6MzY6 MDguMDAwMDAwMDAwICswOTAwDQorKysgc3JjL3BvY2wtMy4xL2xpYi9DTC9DTWFrZUxpc3RzLnR4 dAkyMDI0LTAxLTA0IDAzOjA1OjE1LjA0MDE1OTIwMCArMDkwMA0KQEAgLTI5NCw5ICsyOTQsMTAg QEAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCIke1BPQ0xfTElCUkFSWV9OQQ0KIA0KIHRhcmdldF9s aW5rX2xpYnJhcmllcygiJHtQT0NMX0xJQlJBUllfTkFNRX0iIFBSSVZBVEUgJHtQT0NMX1BSSVZB VEVfTElOS19MSVNUfSkNCiBpbnN0YWxsKFRBUkdFVFMgIiR7UE9DTF9MSUJSQVJZX05BTUV9Ig0K LSAgICAgICAgQVJDSElWRSBERVNUSU5BVElPTiAke1BPQ0xfSU5TVEFMTF9QVUJMSUNfTElCRElS fS9zdGF0aWMNCisgICAgICAgIEFSQ0hJVkUgREVTVElOQVRJT04gJHtQT0NMX0lOU1RBTExfUFVC TElDX0xJQkRJUn0NCiAgICAgICAgIENPTVBPTkVOVCAiZGV2Ig0KICAgICAgICAgTElCUkFSWSBE RVNUSU5BVElPTiAke1BPQ0xfSU5TVEFMTF9QVUJMSUNfTElCRElSfQ0KKyAgICAgICAgUlVOVElN RSBERVNUSU5BVElPTiAke1BPQ0xfSU5TVEFMTF9QVUJMSUNfQklORElSfQ0KICAgICAgICAgQ09N UE9ORU5UICJsaWIiDQogKQ0KIA0KLS0tIG9yaWdzcmMvcG9jbC0zLjEvbGliL0NML2RldmljZXMv Y3VkYS9DTWFrZUxpc3RzLnR4dAkyMDIyLTEyLTA1IDIxOjM2OjA4LjAwMDAwMDAwMCArMDkwMA0K KysrIHNyYy9wb2NsLTMuMS9saWIvQ0wvZGV2aWNlcy9jdWRhL0NNYWtlTGlzdHMudHh0CTIwMjQt MDEtMDQgMDM6MDU6MTUuMDQyMTU3NzAwICswOTAwDQpAQCAtMjMsMTYgKzIzLDEzIEBADQogIw0K ICM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KIA0KLWZpbmRfcGFja2FnZShDVURBIFJFUVVJUkVEKQ0K LW1lc3NhZ2UoU1RBVFVTICJDVURBX1RPT0xLSVRfUk9PVF9ESVIgPSAke0NVREFfVE9PTEtJVF9S T09UX0RJUn0iKQ0KLQ0KIHNldChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAk e0xMVk1fQ1hYRkxBR1N9IikNCiBpbmNsdWRlX2RpcmVjdG9yaWVzKCR7TExWTV9JTkNMVURFX0RJ UlN9ICR7Q1VEQV9JTkNMVURFX0RJUlN9ICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8u Li8uLi9sbHZtb3BlbmNsKQ0KIA0KLWFkZF9wb2NsX2RldmljZV9saWJyYXJ5KCJwb2NsLWRldmlj ZXMtY3VkYSIgcG9jbC1jdWRhLmMgcG9jbC1jdWRhLmggcG9jbC1wdHgtZ2VuLmNjIHBvY2wtcHR4 LWdlbi5oKQ0KLXRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKCJwb2NsLWRldmljZXMtY3VkYSIg UFJJVkFURSAiLURDVURBX1RPT0xLSVRfUk9PVF9ESVI9XCIke0NVREFfVE9PTEtJVF9ST09UX0RJ Un1cIiIpDQorYWRkX3BvY2xfZGV2aWNlX2xpYnJhcnkoInBvY2wtZGV2aWNlcy1jdWRhIiBwb2Ns LWN1ZGEuYyBwb2NsLWN1ZGEuaCBwb2NsLXB0eC1nZW4uY2MgcG9jbC1wdHgtZ2VuLmggY3VkYS5o KQ0KK2FkZF9jdXN0b21fY29tbWFuZChUQVJHRVQgcG9jbC1kZXZpY2VzLWN1ZGEgUFJFX0xJTksg Q09NTUFORCBkbGx0b29sIC1kICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9udmN1ZGEuZGVm IC1EIG52Y3VkYS5kbGwgLWwgbGliY3VkYS5hKQ0KIGlmKEVOQUJMRV9MT0FEQUJMRV9EUklWRVJT KQ0KLSAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBvY2wtZGV2aWNlcy1jdWRhIFBSSVZBVEUgY3Vk YSAke1BPQ0xfTExWTV9MSUJTfSAke1BUSFJFQURfTElCUkFSWX0pDQorICB0YXJnZXRfbGlua19s aWJyYXJpZXMocG9jbC1kZXZpY2VzLWN1ZGEgUFJJVkFURSAtTCR7Q01BS0VfQ1VSUkVOVF9CSU5B UllfRElSfSBjdWRhICR7UE9DTF9MTFZNX0xJQlN9ICR7UFRIUkVBRF9MSUJSQVJZfSkNCiBlbmRp ZigpDQogDQogaWYoRU5BQkxFX0NVRE5OKQ0KLS0tIG9yaWdzcmMvcG9jbC0zLjEvbGliL0NML2Rl dmljZXMvY3VkYS9jdWRhLmgJMTk3MC0wMS0wMSAwOTowMDowMC4wMDAwMDAwMDAgKzA5MDANCisr KyBzcmMvcG9jbC0zLjEvbGliL0NML2RldmljZXMvY3VkYS9jdWRhLmgJMjAyNC0wMS0wNCAwMzow NToxNS4wNDYxNTU0MDAgKzA5MDANCkBAIC0wLDAgKzEsMTE5IEBADQorI2lmbmRlZiBfQ1VEQV9I Xw0KKyNkZWZpbmUgX0NVREFfSF8NCit0eXBlZGVmIHVuc2lnbmVkIGludCBDVWRldmljZTsNCit0 eXBlZGVmIHZvaWQgKkNVY29udGV4dDsNCit0eXBlZGVmIHZvaWQgKkNVZXZlbnQ7DQordHlwZWRl ZiB2b2lkICpDVXN0cmVhbTsNCit0eXBlZGVmIHZvaWQgKkNVbW9kdWxlOw0KK3R5cGVkZWYgdm9p ZCAqQ1VmdW5jdGlvbjsNCit0eXBlZGVmIHVuc2lnbmVkIGludCBDVXJlc3VsdDsNCit0eXBlZGVm IHVuc2lnbmVkIGludCBDVWRldmljZV9hdHRpcmJ1dGU7DQordHlwZWRlZiB1bnNpZ25lZCBsb25n IGxvbmcgQ1VkZXZpY2VwdHI7DQordHlwZWRlZiB1bnNpZ25lZCBpbnQgQ1VtZW1vcnl0eXBlOw0K K3R5cGVkZWYgdm9pZCAqQ1VhcnJheTsNCit0eXBlZGVmIHVuc2lnbmVkIGludCBDVWppdF9vcHRp b247DQordHlwZWRlZiBzdHJ1Y3Qgew0KKwlzaXplX3Qgc3JjWEluQnl0ZXM7DQorCXNpemVfdCBz cmNZOw0KKwlzaXplX3Qgc3JjWjsNCisJc2l6ZV90IHNyY0xPRDsNCisJQ1VtZW1vcnl0eXBlIHNy Y01lbW9yeVR5cGU7DQorCWNvbnN0IHZvaWQgKnNyY0hvc3Q7DQorCUNVZGV2aWNlcHRyIHNyY0Rl dmljZTsNCisJQ1VhcnJheSBzcmNBcnJheTsNCisJdm9pZCAqcmVzZXJ2ZWQwOw0KKwlzaXplX3Qg c3JjUGl0Y2g7DQorCXNpemVfdCBzcmNIZWlnaHQ7DQorCXNpemVfdCBkc3RYSW5CeXRlczsNCisJ c2l6ZV90IGRzdFk7DQorCXNpemVfdCBkc3RaOw0KKwlzaXplX3QgZHN0TE9EOw0KKwlDVW1lbW9y eXR5cGUgZHN0TWVtb3J5VHlwZTsNCisJdm9pZCAqZHN0SG9zdDsNCisJQ1VkZXZpY2VwdHIgZHN0 RGV2aWNlOw0KKwlDVWFycmF5IGRzdEFycmF5Ow0KKwl2b2lkICpyZXNlcnZlZDE7DQorCXNpemVf dCBkc3RQaXRjaDsNCisJc2l6ZV90IGRzdEhlaWdodDsNCisJc2l6ZV90IFdpZHRoSW5CeXRlczsN CisJc2l6ZV90IEhlaWdodDsNCisJc2l6ZV90IERlcHRoOw0KK30gQ1VEQV9NRU1DUFkzRDsNCisj ZGVmaW5lIENVREFfU1VDQ0VTUyAwDQorI2RlZmluZSBDVURBX0VSUk9SX0hPU1RfTUVNT1JZX0FM UkVBRFlfUkVHSVNURVJFRCA3MTINCisjZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfTUFYX1RI UkVBRFNfUEVSX0JMT0NLIDENCisjZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfTUFYX0JMT0NL X0RJTV9YIDINCisjZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfTUFYX0JMT0NLX0RJTV9ZIDMN CisjZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfTUFYX0JMT0NLX0RJTV9aIDQNCisjZGVmaW5l IENVX0RFVklDRV9BVFRSSUJVVEVfVE9UQUxfQ09OU1RBTlRfTUVNT1JZIDkNCisjZGVmaW5lIENV X0RFVklDRV9BVFRSSUJVVEVfV0FSUF9TSVpFIDEwDQorI2RlZmluZSBDVV9ERVZJQ0VfQVRUUklC VVRFX01BWF9SRUdJU1RFUlNfUEVSX0JMT0NLIDEyDQorI2RlZmluZSBDVV9ERVZJQ0VfQVRUUklC VVRFX0NMT0NLX1JBVEUgMTMNCisjZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfVEVYVFVSRV9B TElHTk1FTlQgMTQNCisjZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfR1BVX09WRVJMQVAgMTUN CisjZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfTVVMVElQUk9DRVNTT1JfQ09VTlQgMTYNCisj ZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfS0VSTkVMX0VYRUNfVElNRU9VVCAxNw0KKyNkZWZp bmUgQ1VfREVWSUNFX0FUVFJJQlVURV9JTlRFR1JBVEVEIDE4DQorI2RlZmluZSBDVV9ERVZJQ0Vf QVRUUklCVVRFX0VDQ19FTkFCTEVEIDMyDQorI2RlZmluZSBDVV9ERVZJQ0VfQVRUUklCVVRFX1BD SV9CVVNfSUQgMzMNCisjZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfUENJX0RFVklDRV9JRCAz NA0KKyNkZWZpbmUgQ1VfREVWSUNFX0FUVFJJQlVURV9BU1lOQ19FTkdJTkVfQ09VTlQgNDANCisj ZGVmaW5lIENVX0RFVklDRV9BVFRSSUJVVEVfUENJX0RPTUFJTl9JRCA1MA0KKyNkZWZpbmUgQ1Vf REVWSUNFX0FUVFJJQlVURV9DT01QVVRFX0NBUEFCSUxJVFlfTUFKT1IgNzUNCisjZGVmaW5lIENV X0RFVklDRV9BVFRSSUJVVEVfQ09NUFVURV9DQVBBQklMSVRZX01JTk9SIDc2DQorI2RlZmluZSBD VV9ERVZJQ0VfQVRUUklCVVRFX01BWF9TSEFSRURfTUVNT1JZX1BFUl9CTE9DSyA5Nw0KKyNkZWZp bmUgQ1VfQ1RYX01BUF9IT1NUIDgNCisjZGVmaW5lIENVX0VWRU5UX0RFRkFVTFQgMA0KKyNkZWZp bmUgQ1VfRVZFTlRfRElTQUJMRV9USU1JTkcgMg0KKyNkZWZpbmUgQ1VfU1RSRUFNX1dBSVRfVkFM VUVfR0VRIDANCisjZGVmaW5lIENVX1NUUkVBTV9OT05fQkxPQ0tJTkcgMQ0KKyNkZWZpbmUgQ1Vf TUVNSE9TVFJFR0lTVEVSX0RFVklDRU1BUCAyDQorI2RlZmluZSBDVV9NRU1PUllUWVBFX0hPU1Qg MQ0KKyNkZWZpbmUgQ1VfTUVNT1JZVFlQRV9ERVZJQ0UgMg0KKyNkZWZpbmUgQ1VfTUVNSE9TVEFM TE9DX0RFVklDRU1BUCAyDQorI2RlZmluZSBDVV9KSVRfRVJST1JfTE9HX0JVRkZFUiA1DQorI2Rl ZmluZSBDVV9KSVRfRVJST1JfTE9HX0JVRkZFUl9TSVpFX0JZVEVTIDYNCitDVXJlc3VsdCBjdUN0 eENyZWF0ZShDVWNvbnRleHQgKiwgdW5zaWduZWQgaW50LCBDVWRldmljZSk7DQorQ1VyZXN1bHQg Y3VDdHhEZXN0cm95KENVY29udGV4dCk7DQorQ1VyZXN1bHQgY3VDdHhTZXRDdXJyZW50KENVY29u dGV4dCk7DQorQ1VyZXN1bHQgY3VEZXZpY2VHZXQoQ1VkZXZpY2UgKiwgaW50KTsNCitDVXJlc3Vs dCBjdURldmljZUdldEF0dHJpYnV0ZShpbnQgKiwgQ1VkZXZpY2VfYXR0aXJidXRlLCBDVWRldmlj ZSk7DQorQ1VyZXN1bHQgY3VEZXZpY2VHZXRDb3VudChpbnQgKik7DQorQ1VyZXN1bHQgY3VEZXZp Y2VHZXROYW1lKGNoYXIgKiwgaW50LCBDVWRldmljZSk7DQorQ1VyZXN1bHQgY3VFdmVudENyZWF0 ZShDVWV2ZW50ICosIHVuc2lnbmVkIGludCk7DQorQ1VyZXN1bHQgY3VFdmVudERlc3Ryb3koQ1Vl dmVudCk7DQorQ1VyZXN1bHQgY3VFdmVudEVsYXBzZWRUaW1lKGZsb2F0ICosIENVZXZlbnQsIENV ZXZlbnQpOw0KK0NVcmVzdWx0IGN1RXZlbnRSZWNvcmQoQ1VldmVudCwgQ1VzdHJlYW0pOw0KK0NV cmVzdWx0IGN1RXZlbnRTeW5jaHJvbml6ZShDVWV2ZW50KTsNCitDVXJlc3VsdCBjdUdldEVycm9y TmFtZShDVXJlc3VsdCBlcnJvciwgY29uc3QgY2hhciAqKik7DQorQ1VyZXN1bHQgY3VHZXRFcnJv clN0cmluZyhDVXJlc3VsdCBlcnJvciwgY29uc3QgY2hhciAqKik7DQorQ1VyZXN1bHQgY3VJbml0 KGludCk7DQorQ1VyZXN1bHQgY3VMYXVuY2hLZXJuZWwoQ1VmdW5jdGlvbiwgdW5zaWduZWQgaW50 LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQs IHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCBDVXN0cmVhbSwgdm9pZCAqKiwgdm9pZCAqKik7 DQorQ1VyZXN1bHQgY3VNZW1BbGxvYyhDVWRldmljZXB0ciAqLCBzaXplX3QpOw0KK0NVcmVzdWx0 IGN1TWVtY3B5M0RBc3luYyhjb25zdCBDVURBX01FTUNQWTNEICosIENVc3RyZWFtKTsNCitDVXJl c3VsdCBjdU1lbWNweUR0b0RBc3luYyhDVWRldmljZXB0ciwgQ1VkZXZpY2VwdHIsIHNpemVfdCwg Q1VzdHJlYW0pOw0KK0NVcmVzdWx0IGN1TWVtY3B5RHRvSCh2b2lkICosIENVZGV2aWNlcHRyLCBz aXplX3QpOw0KK0NVcmVzdWx0IGN1TWVtY3B5RHRvSEFzeW5jKHZvaWQgKiwgQ1VkZXZpY2VwdHIs IHNpemVfdCwgQ1VzdHJlYW0pOw0KK0NVcmVzdWx0IGN1TWVtY3B5SHRvRChDVWRldmljZXB0ciwg Y29uc3Qgdm9pZCAqLCBzaXplX3QpOw0KK0NVcmVzdWx0IGN1TWVtY3B5SHRvRChDVWRldmljZXB0 ciwgY29uc3Qgdm9pZCAqLCBzaXplX3QpOw0KK0NVcmVzdWx0IGN1TWVtY3B5SHRvREFzeW5jKENV ZGV2aWNlcHRyLCBjb25zdCB2b2lkICosIHVuc2lnbmVkIGludCwgQ1VzdHJlYW0pOw0KK0NVcmVz dWx0IGN1TWVtRnJlZShDVWRldmljZXB0cik7DQorQ1VyZXN1bHQgY3VNZW1GcmVlSG9zdCh2b2lk ICopOw0KK0NVcmVzdWx0IGN1TWVtR2V0SW5mbyhzaXplX3QgKiwgc2l6ZV90ICopOw0KK0NVcmVz dWx0IGN1TWVtSG9zdEFsbG9jKHZvaWQgKiosIHNpemVfdCwgdW5zaWduZWQgaW50KTsNCitDVXJl c3VsdCBjdU1lbUhvc3RHZXREZXZpY2VQb2ludGVyKENVZGV2aWNlcHRyICosIHZvaWQgKiwgdW5z aWduZWQgaW50KTsNCitDVXJlc3VsdCBjdU1lbUhvc3RSZWdpc3Rlcih2b2lkICosIHNpemVfdCwg dW5zaWduZWQgaW50KTsNCitDVXJlc3VsdCBjdU1lbUhvc3RVbnJlZ2lzdGVyKHZvaWQgKik7DQor Q1VyZXN1bHQgY3VNZW1zZXREMTZBc3luYyhDVWRldmljZXB0ciwgdW5zaWduZWQgc2hvcnQsIHNp emVfdCwgQ1VzdHJlYW0pOw0KK0NVcmVzdWx0IGN1TWVtc2V0RDMyQXN5bmMoQ1VkZXZpY2VwdHIs IHVuc2lnbmVkIGludCwgc2l6ZV90LCBDVXN0cmVhbSk7DQorQ1VyZXN1bHQgY3VNZW1zZXREOEFz eW5jKENVZGV2aWNlcHRyLCB1bnNpZ25lZCBjaGFyLCBzaXplX3QsIENVc3RyZWFtKTsNCitDVXJl c3VsdCBjdU1vZHVsZUdldEZ1bmN0aW9uKENVZnVuY3Rpb24gKiwgQ1Vtb2R1bGUsIGNvbnN0IGNo YXIgKik7DQorQ1VyZXN1bHQgY3VNb2R1bGVHZXRHbG9iYWwoQ1VkZXZpY2VwdHIgKiwgc2l6ZV90 ICosIENVbW9kdWxlLCBjb25zdCBjaGFyICopOw0KK0NVcmVzdWx0IGN1TW9kdWxlTG9hZERhdGEo Q1Vtb2R1bGUgKiwgY29uc3Qgdm9pZCAqKTsNCitDVXJlc3VsdCBjdU1vZHVsZUxvYWREYXRhRXgo Q1Vtb2R1bGUgKiwgY29uc3Qgdm9pZCAqLCB1bnNpZ25lZCBpbnQsIENVaml0X29wdGlvbiAqLCB2 b2lkICoqKTsNCitDVXJlc3VsdCBjdVN0cmVhbUNyZWF0ZShDVXN0cmVhbSAqLCB1bnNpZ25lZCBp bnQpOw0KK0NVcmVzdWx0IGN1U3RyZWFtRGVzdHJveShDVXN0cmVhbSk7DQorQ1VyZXN1bHQgY3VT dHJlYW1TeW5jaHJvbml6ZShDVXN0cmVhbSk7DQorQ1VyZXN1bHQgY3VTdHJlYW1XYWl0RXZlbnQo Q1VzdHJlYW0sIENVZXZlbnQsIHVuc2lnbmVkIGludCk7DQorQ1VyZXN1bHQgY3VTdHJlYW1XYWl0 VmFsdWUzMihDVXN0cmVhbSwgQ1VkZXZpY2VwdHIsIHVpbnQzMl90LCB1bnNpZ25lZCBpbnQpOw0K KyNlbmRpZiAvKiBfQ1VEQV9IXyAqLw0KLS0tIG9yaWdzcmMvcG9jbC0zLjEvbGliL0NML2Rldmlj ZXMvY3VkYS9udmN1ZGEuZGVmCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwDQor Kysgc3JjL3BvY2wtMy4xL2xpYi9DTC9kZXZpY2VzL2N1ZGEvbnZjdWRhLmRlZgkyMDI0LTAxLTA0 IDAzOjA1OjE1LjA0OTE1MzcwMCArMDkwMA0KQEAgLTAsMCArMSw2NTcgQEANCis7DQorOyBEZWZp bml0aW9uIGZpbGUgb2YgbnZjdWRhX2xvYWRlci5kbGwNCis7IEF1dG9tYXRpYyBnZW5lcmF0ZWQg YnkgZ2VuZGVmDQorOyB3cml0dGVuIGJ5IEthaSBUaWV0eiAyMDA4DQorOw0KK0xJQlJBUlkgIm52 Y3VkYV9sb2FkZXIuZGxsIg0KK0VYUE9SVFMNCitjdUFycmF5M0RDcmVhdGUNCitjdUFycmF5M0RD cmVhdGVfdjINCitjdUFycmF5M0RHZXREZXNjcmlwdG9yDQorY3VBcnJheTNER2V0RGVzY3JpcHRv cl92Mg0KK2N1QXJyYXlDcmVhdGUNCitjdUFycmF5Q3JlYXRlX3YyDQorY3VBcnJheURlc3Ryb3kN CitjdUFycmF5R2V0RGVzY3JpcHRvcg0KK2N1QXJyYXlHZXREZXNjcmlwdG9yX3YyDQorY3VBcnJh eUdldE1lbW9yeVJlcXVpcmVtZW50cw0KK2N1QXJyYXlHZXRQbGFuZQ0KK2N1QXJyYXlHZXRTcGFy c2VQcm9wZXJ0aWVzDQorY3VDb3JlZHVtcEdldEF0dHJpYnV0ZQ0KK2N1Q29yZWR1bXBHZXRBdHRy aWJ1dGVHbG9iYWwNCitjdUNvcmVkdW1wU2V0QXR0cmlidXRlDQorY3VDb3JlZHVtcFNldEF0dHJp YnV0ZUdsb2JhbA0KK2N1Q3R4QXR0YWNoDQorY3VDdHhDcmVhdGUNCitjdUN0eENyZWF0ZV92Mg0K K2N1Q3R4Q3JlYXRlX3YzDQorY3VDdHhEZXN0cm95DQorY3VDdHhEZXN0cm95X3YyDQorY3VDdHhE ZXRhY2gNCitjdUN0eERpc2FibGVQZWVyQWNjZXNzDQorY3VDdHhFbmFibGVQZWVyQWNjZXNzDQor Y3VDdHhHZXRBcGlWZXJzaW9uDQorY3VDdHhHZXRDYWNoZUNvbmZpZw0KK2N1Q3R4R2V0Q3VycmVu dA0KK2N1Q3R4R2V0RGV2aWNlDQorY3VDdHhHZXRFeGVjQWZmaW5pdHkNCitjdUN0eEdldEZsYWdz DQorY3VDdHhHZXRJZA0KK2N1Q3R4R2V0TGltaXQNCitjdUN0eEdldFNoYXJlZE1lbUNvbmZpZw0K K2N1Q3R4R2V0U3RyZWFtUHJpb3JpdHlSYW5nZQ0KK2N1Q3R4UG9wQ3VycmVudA0KK2N1Q3R4UG9w Q3VycmVudF92Mg0KK2N1Q3R4UHVzaEN1cnJlbnQNCitjdUN0eFB1c2hDdXJyZW50X3YyDQorY3VD dHhSZXNldFBlcnNpc3RpbmdMMkNhY2hlDQorY3VDdHhTZXRDYWNoZUNvbmZpZw0KK2N1Q3R4U2V0 Q3VycmVudA0KK2N1Q3R4U2V0RmxhZ3MNCitjdUN0eFNldExpbWl0DQorY3VDdHhTZXRTaGFyZWRN ZW1Db25maWcNCitjdUN0eFN5bmNocm9uaXplDQorY3VEM0QxMEN0eENyZWF0ZQ0KK2N1RDNEMTBD dHhDcmVhdGVPbkRldmljZQ0KK2N1RDNEMTBDdHhDcmVhdGVfdjINCitjdUQzRDEwR2V0RGV2aWNl DQorY3VEM0QxMEdldERldmljZXMNCitjdUQzRDEwR2V0RGlyZWN0M0REZXZpY2UNCitjdUQzRDEw TWFwUmVzb3VyY2VzDQorY3VEM0QxMFJlZ2lzdGVyUmVzb3VyY2UNCitjdUQzRDEwUmVzb3VyY2VH ZXRNYXBwZWRBcnJheQ0KK2N1RDNEMTBSZXNvdXJjZUdldE1hcHBlZFBpdGNoDQorY3VEM0QxMFJl c291cmNlR2V0TWFwcGVkUGl0Y2hfdjINCitjdUQzRDEwUmVzb3VyY2VHZXRNYXBwZWRQb2ludGVy DQorY3VEM0QxMFJlc291cmNlR2V0TWFwcGVkUG9pbnRlcl92Mg0KK2N1RDNEMTBSZXNvdXJjZUdl dE1hcHBlZFNpemUNCitjdUQzRDEwUmVzb3VyY2VHZXRNYXBwZWRTaXplX3YyDQorY3VEM0QxMFJl c291cmNlR2V0U3VyZmFjZURpbWVuc2lvbnMNCitjdUQzRDEwUmVzb3VyY2VHZXRTdXJmYWNlRGlt ZW5zaW9uc192Mg0KK2N1RDNEMTBSZXNvdXJjZVNldE1hcEZsYWdzDQorY3VEM0QxMFVubWFwUmVz b3VyY2VzDQorY3VEM0QxMFVucmVnaXN0ZXJSZXNvdXJjZQ0KK2N1RDNEMTFDdHhDcmVhdGUNCitj dUQzRDExQ3R4Q3JlYXRlT25EZXZpY2UNCitjdUQzRDExQ3R4Q3JlYXRlX3YyDQorY3VEM0QxMUdl dERldmljZQ0KK2N1RDNEMTFHZXREZXZpY2VzDQorY3VEM0QxMUdldERpcmVjdDNERGV2aWNlDQor Y3VEM0Q5QmVnaW4NCitjdUQzRDlDdHhDcmVhdGUNCitjdUQzRDlDdHhDcmVhdGVPbkRldmljZQ0K K2N1RDNEOUN0eENyZWF0ZV92Mg0KK2N1RDNEOUVuZA0KK2N1RDNEOUdldERldmljZQ0KK2N1RDNE OUdldERldmljZXMNCitjdUQzRDlHZXREaXJlY3QzRERldmljZQ0KK2N1RDNEOU1hcFJlc291cmNl cw0KK2N1RDNEOU1hcFZlcnRleEJ1ZmZlcg0KK2N1RDNEOU1hcFZlcnRleEJ1ZmZlcl92Mg0KK2N1 RDNEOVJlZ2lzdGVyUmVzb3VyY2UNCitjdUQzRDlSZWdpc3RlclZlcnRleEJ1ZmZlcg0KK2N1RDNE OVJlc291cmNlR2V0TWFwcGVkQXJyYXkNCitjdUQzRDlSZXNvdXJjZUdldE1hcHBlZFBpdGNoDQor Y3VEM0Q5UmVzb3VyY2VHZXRNYXBwZWRQaXRjaF92Mg0KK2N1RDNEOVJlc291cmNlR2V0TWFwcGVk UG9pbnRlcg0KK2N1RDNEOVJlc291cmNlR2V0TWFwcGVkUG9pbnRlcl92Mg0KK2N1RDNEOVJlc291 cmNlR2V0TWFwcGVkU2l6ZQ0KK2N1RDNEOVJlc291cmNlR2V0TWFwcGVkU2l6ZV92Mg0KK2N1RDNE OVJlc291cmNlR2V0U3VyZmFjZURpbWVuc2lvbnMNCitjdUQzRDlSZXNvdXJjZUdldFN1cmZhY2VE aW1lbnNpb25zX3YyDQorY3VEM0Q5UmVzb3VyY2VTZXRNYXBGbGFncw0KK2N1RDNEOVVubWFwUmVz b3VyY2VzDQorY3VEM0Q5VW5tYXBWZXJ0ZXhCdWZmZXINCitjdUQzRDlVbnJlZ2lzdGVyUmVzb3Vy Y2UNCitjdUQzRDlVbnJlZ2lzdGVyVmVydGV4QnVmZmVyDQorY3VEZXN0cm95RXh0ZXJuYWxNZW1v cnkNCitjdURlc3Ryb3lFeHRlcm5hbFNlbWFwaG9yZQ0KK2N1RGV2aWNlQ2FuQWNjZXNzUGVlcg0K K2N1RGV2aWNlQ29tcHV0ZUNhcGFiaWxpdHkNCitjdURldmljZUdldA0KK2N1RGV2aWNlR2V0QXR0 cmlidXRlDQorY3VEZXZpY2VHZXRCeVBDSUJ1c0lkDQorY3VEZXZpY2VHZXRDb3VudA0KK2N1RGV2 aWNlR2V0RGVmYXVsdE1lbVBvb2wNCitjdURldmljZUdldEV4ZWNBZmZpbml0eVN1cHBvcnQNCitj dURldmljZUdldEdyYXBoTWVtQXR0cmlidXRlDQorY3VEZXZpY2VHZXRMdWlkDQorY3VEZXZpY2VH ZXRNZW1Qb29sDQorY3VEZXZpY2VHZXROYW1lDQorY3VEZXZpY2VHZXRQMlBBdHRyaWJ1dGUNCitj dURldmljZUdldFBDSUJ1c0lkDQorY3VEZXZpY2VHZXRQcm9wZXJ0aWVzDQorY3VEZXZpY2VHZXRU ZXh0dXJlMURMaW5lYXJNYXhXaWR0aA0KK2N1RGV2aWNlR2V0VXVpZA0KK2N1RGV2aWNlR2V0VXVp ZF92Mg0KK2N1RGV2aWNlR3JhcGhNZW1UcmltDQorY3VEZXZpY2VQcmltYXJ5Q3R4R2V0U3RhdGUN CitjdURldmljZVByaW1hcnlDdHhSZWxlYXNlDQorY3VEZXZpY2VQcmltYXJ5Q3R4UmVsZWFzZV92 Mg0KK2N1RGV2aWNlUHJpbWFyeUN0eFJlc2V0DQorY3VEZXZpY2VQcmltYXJ5Q3R4UmVzZXRfdjIN CitjdURldmljZVByaW1hcnlDdHhSZXRhaW4NCitjdURldmljZVByaW1hcnlDdHhTZXRGbGFncw0K K2N1RGV2aWNlUHJpbWFyeUN0eFNldEZsYWdzX3YyDQorY3VEZXZpY2VTZXRHcmFwaE1lbUF0dHJp YnV0ZQ0KK2N1RGV2aWNlU2V0TWVtUG9vbA0KK2N1RGV2aWNlVG90YWxNZW0NCitjdURldmljZVRv dGFsTWVtX3YyDQorY3VEcml2ZXJHZXRWZXJzaW9uDQorY3VFdmVudENyZWF0ZQ0KK2N1RXZlbnRE ZXN0cm95DQorY3VFdmVudERlc3Ryb3lfdjINCitjdUV2ZW50RWxhcHNlZFRpbWUNCitjdUV2ZW50 UXVlcnkNCitjdUV2ZW50UmVjb3JkDQorY3VFdmVudFJlY29yZFdpdGhGbGFncw0KK2N1RXZlbnRS ZWNvcmRXaXRoRmxhZ3NfcHRzeg0KK2N1RXZlbnRSZWNvcmRfcHRzeg0KK2N1RXZlbnRTeW5jaHJv bml6ZQ0KK2N1RXh0ZXJuYWxNZW1vcnlHZXRNYXBwZWRCdWZmZXINCitjdUV4dGVybmFsTWVtb3J5 R2V0TWFwcGVkTWlwbWFwcGVkQXJyYXkNCitjdUZsdXNoR1BVRGlyZWN0UkRNQVdyaXRlcw0KK2N1 RnVuY0dldEF0dHJpYnV0ZQ0KK2N1RnVuY0dldE1vZHVsZQ0KK2N1RnVuY0dldE5hbWUNCitjdUZ1 bmNTZXRBdHRyaWJ1dGUNCitjdUZ1bmNTZXRCbG9ja1NoYXBlDQorY3VGdW5jU2V0Q2FjaGVDb25m aWcNCitjdUZ1bmNTZXRTaGFyZWRNZW1Db25maWcNCitjdUZ1bmNTZXRTaGFyZWRTaXplDQorY3VH TEN0eENyZWF0ZQ0KK2N1R0xDdHhDcmVhdGVfdjINCitjdUdMR2V0RGV2aWNlcw0KK2N1R0xHZXRE ZXZpY2VzX3YyDQorY3VHTEluaXQNCitjdUdMTWFwQnVmZmVyT2JqZWN0DQorY3VHTE1hcEJ1ZmZl ck9iamVjdEFzeW5jDQorY3VHTE1hcEJ1ZmZlck9iamVjdEFzeW5jX3YyDQorY3VHTE1hcEJ1ZmZl ck9iamVjdEFzeW5jX3YyX3B0c3oNCitjdUdMTWFwQnVmZmVyT2JqZWN0X3YyDQorY3VHTE1hcEJ1 ZmZlck9iamVjdF92Ml9wdGRzDQorY3VHTFJlZ2lzdGVyQnVmZmVyT2JqZWN0DQorY3VHTFNldEJ1 ZmZlck9iamVjdE1hcEZsYWdzDQorY3VHTFVubWFwQnVmZmVyT2JqZWN0DQorY3VHTFVubWFwQnVm ZmVyT2JqZWN0QXN5bmMNCitjdUdMVW5yZWdpc3RlckJ1ZmZlck9iamVjdA0KK2N1R2V0RXJyb3JO YW1lDQorY3VHZXRFcnJvclN0cmluZw0KK2N1R2V0RXhwb3J0VGFibGUNCitjdUdldFByb2NBZGRy ZXNzDQorY3VHZXRQcm9jQWRkcmVzc192Mg0KK2N1R3JhcGhBZGRCYXRjaE1lbU9wTm9kZQ0KK2N1 R3JhcGhBZGRDaGlsZEdyYXBoTm9kZQ0KK2N1R3JhcGhBZGREZXBlbmRlbmNpZXMNCitjdUdyYXBo QWRkRGVwZW5kZW5jaWVzX3YyDQorY3VHcmFwaEFkZEVtcHR5Tm9kZQ0KK2N1R3JhcGhBZGRFdmVu dFJlY29yZE5vZGUNCitjdUdyYXBoQWRkRXZlbnRXYWl0Tm9kZQ0KK2N1R3JhcGhBZGRFeHRlcm5h bFNlbWFwaG9yZXNTaWduYWxOb2RlDQorY3VHcmFwaEFkZEV4dGVybmFsU2VtYXBob3Jlc1dhaXRO b2RlDQorY3VHcmFwaEFkZEhvc3ROb2RlDQorY3VHcmFwaEFkZEtlcm5lbE5vZGUNCitjdUdyYXBo QWRkS2VybmVsTm9kZV92Mg0KK2N1R3JhcGhBZGRNZW1BbGxvY05vZGUNCitjdUdyYXBoQWRkTWVt RnJlZU5vZGUNCitjdUdyYXBoQWRkTWVtY3B5Tm9kZQ0KK2N1R3JhcGhBZGRNZW1zZXROb2RlDQor Y3VHcmFwaEFkZE5vZGUNCitjdUdyYXBoQWRkTm9kZV92Mg0KK2N1R3JhcGhCYXRjaE1lbU9wTm9k ZUdldFBhcmFtcw0KK2N1R3JhcGhCYXRjaE1lbU9wTm9kZVNldFBhcmFtcw0KK2N1R3JhcGhDaGls ZEdyYXBoTm9kZUdldEdyYXBoDQorY3VHcmFwaENsb25lDQorY3VHcmFwaENvbmRpdGlvbmFsSGFu ZGxlQ3JlYXRlDQorY3VHcmFwaENyZWF0ZQ0KK2N1R3JhcGhEZWJ1Z0RvdFByaW50DQorY3VHcmFw aERlc3Ryb3kNCitjdUdyYXBoRGVzdHJveU5vZGUNCitjdUdyYXBoRXZlbnRSZWNvcmROb2RlR2V0 RXZlbnQNCitjdUdyYXBoRXZlbnRSZWNvcmROb2RlU2V0RXZlbnQNCitjdUdyYXBoRXZlbnRXYWl0 Tm9kZUdldEV2ZW50DQorY3VHcmFwaEV2ZW50V2FpdE5vZGVTZXRFdmVudA0KK2N1R3JhcGhFeGVj QmF0Y2hNZW1PcE5vZGVTZXRQYXJhbXMNCitjdUdyYXBoRXhlY0NoaWxkR3JhcGhOb2RlU2V0UGFy YW1zDQorY3VHcmFwaEV4ZWNEZXN0cm95DQorY3VHcmFwaEV4ZWNFdmVudFJlY29yZE5vZGVTZXRF dmVudA0KK2N1R3JhcGhFeGVjRXZlbnRXYWl0Tm9kZVNldEV2ZW50DQorY3VHcmFwaEV4ZWNFeHRl cm5hbFNlbWFwaG9yZXNTaWduYWxOb2RlU2V0UGFyYW1zDQorY3VHcmFwaEV4ZWNFeHRlcm5hbFNl bWFwaG9yZXNXYWl0Tm9kZVNldFBhcmFtcw0KK2N1R3JhcGhFeGVjR2V0RmxhZ3MNCitjdUdyYXBo RXhlY0hvc3ROb2RlU2V0UGFyYW1zDQorY3VHcmFwaEV4ZWNLZXJuZWxOb2RlU2V0UGFyYW1zDQor Y3VHcmFwaEV4ZWNLZXJuZWxOb2RlU2V0UGFyYW1zX3YyDQorY3VHcmFwaEV4ZWNNZW1jcHlOb2Rl U2V0UGFyYW1zDQorY3VHcmFwaEV4ZWNNZW1zZXROb2RlU2V0UGFyYW1zDQorY3VHcmFwaEV4ZWNO b2RlU2V0UGFyYW1zDQorY3VHcmFwaEV4ZWNVcGRhdGUNCitjdUdyYXBoRXhlY1VwZGF0ZV92Mg0K K2N1R3JhcGhFeHRlcm5hbFNlbWFwaG9yZXNTaWduYWxOb2RlR2V0UGFyYW1zDQorY3VHcmFwaEV4 dGVybmFsU2VtYXBob3Jlc1NpZ25hbE5vZGVTZXRQYXJhbXMNCitjdUdyYXBoRXh0ZXJuYWxTZW1h cGhvcmVzV2FpdE5vZGVHZXRQYXJhbXMNCitjdUdyYXBoRXh0ZXJuYWxTZW1hcGhvcmVzV2FpdE5v ZGVTZXRQYXJhbXMNCitjdUdyYXBoR2V0RWRnZXMNCitjdUdyYXBoR2V0RWRnZXNfdjINCitjdUdy YXBoR2V0Tm9kZXMNCitjdUdyYXBoR2V0Um9vdE5vZGVzDQorY3VHcmFwaEhvc3ROb2RlR2V0UGFy YW1zDQorY3VHcmFwaEhvc3ROb2RlU2V0UGFyYW1zDQorY3VHcmFwaEluc3RhbnRpYXRlDQorY3VH cmFwaEluc3RhbnRpYXRlV2l0aEZsYWdzDQorY3VHcmFwaEluc3RhbnRpYXRlV2l0aFBhcmFtcw0K K2N1R3JhcGhJbnN0YW50aWF0ZVdpdGhQYXJhbXNfcHRzeg0KK2N1R3JhcGhJbnN0YW50aWF0ZV92 Mg0KK2N1R3JhcGhLZXJuZWxOb2RlQ29weUF0dHJpYnV0ZXMNCitjdUdyYXBoS2VybmVsTm9kZUdl dEF0dHJpYnV0ZQ0KK2N1R3JhcGhLZXJuZWxOb2RlR2V0UGFyYW1zDQorY3VHcmFwaEtlcm5lbE5v ZGVHZXRQYXJhbXNfdjINCitjdUdyYXBoS2VybmVsTm9kZVNldEF0dHJpYnV0ZQ0KK2N1R3JhcGhL ZXJuZWxOb2RlU2V0UGFyYW1zDQorY3VHcmFwaEtlcm5lbE5vZGVTZXRQYXJhbXNfdjINCitjdUdy YXBoTGF1bmNoDQorY3VHcmFwaExhdW5jaF9wdHN6DQorY3VHcmFwaE1lbUFsbG9jTm9kZUdldFBh cmFtcw0KK2N1R3JhcGhNZW1GcmVlTm9kZUdldFBhcmFtcw0KK2N1R3JhcGhNZW1jcHlOb2RlR2V0 UGFyYW1zDQorY3VHcmFwaE1lbWNweU5vZGVTZXRQYXJhbXMNCitjdUdyYXBoTWVtc2V0Tm9kZUdl dFBhcmFtcw0KK2N1R3JhcGhNZW1zZXROb2RlU2V0UGFyYW1zDQorY3VHcmFwaE5vZGVGaW5kSW5D bG9uZQ0KK2N1R3JhcGhOb2RlR2V0RGVwZW5kZW5jaWVzDQorY3VHcmFwaE5vZGVHZXREZXBlbmRl bmNpZXNfdjINCitjdUdyYXBoTm9kZUdldERlcGVuZGVudE5vZGVzDQorY3VHcmFwaE5vZGVHZXRE ZXBlbmRlbnROb2Rlc192Mg0KK2N1R3JhcGhOb2RlR2V0RW5hYmxlZA0KK2N1R3JhcGhOb2RlR2V0 VHlwZQ0KK2N1R3JhcGhOb2RlU2V0RW5hYmxlZA0KK2N1R3JhcGhOb2RlU2V0UGFyYW1zDQorY3VH cmFwaFJlbGVhc2VVc2VyT2JqZWN0DQorY3VHcmFwaFJlbW92ZURlcGVuZGVuY2llcw0KK2N1R3Jh cGhSZW1vdmVEZXBlbmRlbmNpZXNfdjINCitjdUdyYXBoUmV0YWluVXNlck9iamVjdA0KK2N1R3Jh cGhVcGxvYWQNCitjdUdyYXBoVXBsb2FkX3B0c3oNCitjdUdyYXBoaWNzRDNEMTBSZWdpc3RlclJl c291cmNlDQorY3VHcmFwaGljc0QzRDExUmVnaXN0ZXJSZXNvdXJjZQ0KK2N1R3JhcGhpY3NEM0Q5 UmVnaXN0ZXJSZXNvdXJjZQ0KK2N1R3JhcGhpY3NHTFJlZ2lzdGVyQnVmZmVyDQorY3VHcmFwaGlj c0dMUmVnaXN0ZXJJbWFnZQ0KK2N1R3JhcGhpY3NNYXBSZXNvdXJjZXMNCitjdUdyYXBoaWNzTWFw UmVzb3VyY2VzX3B0c3oNCitjdUdyYXBoaWNzUmVzb3VyY2VHZXRNYXBwZWRNaXBtYXBwZWRBcnJh eQ0KK2N1R3JhcGhpY3NSZXNvdXJjZUdldE1hcHBlZFBvaW50ZXINCitjdUdyYXBoaWNzUmVzb3Vy Y2VHZXRNYXBwZWRQb2ludGVyX3YyDQorY3VHcmFwaGljc1Jlc291cmNlU2V0TWFwRmxhZ3MNCitj dUdyYXBoaWNzUmVzb3VyY2VTZXRNYXBGbGFnc192Mg0KK2N1R3JhcGhpY3NTdWJSZXNvdXJjZUdl dE1hcHBlZEFycmF5DQorY3VHcmFwaGljc1VubWFwUmVzb3VyY2VzDQorY3VHcmFwaGljc1VubWFw UmVzb3VyY2VzX3B0c3oNCitjdUdyYXBoaWNzVW5yZWdpc3RlclJlc291cmNlDQorY3VJbXBvcnRF eHRlcm5hbE1lbW9yeQ0KK2N1SW1wb3J0RXh0ZXJuYWxTZW1hcGhvcmUNCitjdUluaXQNCitjdUlw Y0Nsb3NlTWVtSGFuZGxlDQorY3VJcGNHZXRFdmVudEhhbmRsZQ0KK2N1SXBjR2V0TWVtSGFuZGxl DQorY3VJcGNPcGVuRXZlbnRIYW5kbGUNCitjdUlwY09wZW5NZW1IYW5kbGUNCitjdUlwY09wZW5N ZW1IYW5kbGVfdjINCitjdUtlcm5lbEdldEF0dHJpYnV0ZQ0KK2N1S2VybmVsR2V0RnVuY3Rpb24N CitjdUtlcm5lbEdldE5hbWUNCitjdUtlcm5lbFNldEF0dHJpYnV0ZQ0KK2N1S2VybmVsU2V0Q2Fj aGVDb25maWcNCitjdUxhdW5jaA0KK2N1TGF1bmNoQ29vcGVyYXRpdmVLZXJuZWwNCitjdUxhdW5j aENvb3BlcmF0aXZlS2VybmVsTXVsdGlEZXZpY2UNCitjdUxhdW5jaENvb3BlcmF0aXZlS2VybmVs X3B0c3oNCitjdUxhdW5jaEdyaWQNCitjdUxhdW5jaEdyaWRBc3luYw0KK2N1TGF1bmNoSG9zdEZ1 bmMNCitjdUxhdW5jaEhvc3RGdW5jX3B0c3oNCitjdUxhdW5jaEtlcm5lbA0KK2N1TGF1bmNoS2Vy bmVsRXgNCitjdUxhdW5jaEtlcm5lbEV4X3B0c3oNCitjdUxhdW5jaEtlcm5lbF9wdHN6DQorY3VM aWJyYXJ5R2V0R2xvYmFsDQorY3VMaWJyYXJ5R2V0S2VybmVsDQorY3VMaWJyYXJ5R2V0TWFuYWdl ZA0KK2N1TGlicmFyeUdldE1vZHVsZQ0KK2N1TGlicmFyeUdldFVuaWZpZWRGdW5jdGlvbg0KK2N1 TGlicmFyeUxvYWREYXRhDQorY3VMaWJyYXJ5TG9hZEZyb21GaWxlDQorY3VMaWJyYXJ5VW5sb2Fk DQorY3VMaW5rQWRkRGF0YQ0KK2N1TGlua0FkZERhdGFfdjINCitjdUxpbmtBZGRGaWxlDQorY3VM aW5rQWRkRmlsZV92Mg0KK2N1TGlua0NvbXBsZXRlDQorY3VMaW5rQ3JlYXRlDQorY3VMaW5rQ3Jl YXRlX3YyDQorY3VMaW5rRGVzdHJveQ0KK2N1TWVtQWRkcmVzc0ZyZWUNCitjdU1lbUFkZHJlc3NS ZXNlcnZlDQorY3VNZW1BZHZpc2UNCitjdU1lbUFkdmlzZV92Mg0KK2N1TWVtQWxsb2MNCitjdU1l bUFsbG9jQXN5bmMNCitjdU1lbUFsbG9jQXN5bmNfcHRzeg0KK2N1TWVtQWxsb2NGcm9tUG9vbEFz eW5jDQorY3VNZW1BbGxvY0Zyb21Qb29sQXN5bmNfcHRzeg0KK2N1TWVtQWxsb2NIb3N0DQorY3VN ZW1BbGxvY0hvc3RfdjINCitjdU1lbUFsbG9jTWFuYWdlZA0KK2N1TWVtQWxsb2NQaXRjaA0KK2N1 TWVtQWxsb2NQaXRjaF92Mg0KK2N1TWVtQWxsb2NfdjINCitjdU1lbUNyZWF0ZQ0KK2N1TWVtRXhw b3J0VG9TaGFyZWFibGVIYW5kbGUNCitjdU1lbUZyZWUNCitjdU1lbUZyZWVBc3luYw0KK2N1TWVt RnJlZUFzeW5jX3B0c3oNCitjdU1lbUZyZWVIb3N0DQorY3VNZW1GcmVlX3YyDQorY3VNZW1HZXRB Y2Nlc3MNCitjdU1lbUdldEFkZHJlc3NSYW5nZQ0KK2N1TWVtR2V0QWRkcmVzc1JhbmdlX3YyDQor Y3VNZW1HZXRBbGxvY2F0aW9uR3JhbnVsYXJpdHkNCitjdU1lbUdldEFsbG9jYXRpb25Qcm9wZXJ0 aWVzRnJvbUhhbmRsZQ0KK2N1TWVtR2V0SGFuZGxlRm9yQWRkcmVzc1JhbmdlDQorY3VNZW1HZXRJ bmZvDQorY3VNZW1HZXRJbmZvX3YyDQorY3VNZW1Ib3N0QWxsb2MNCitjdU1lbUhvc3RHZXREZXZp Y2VQb2ludGVyDQorY3VNZW1Ib3N0R2V0RGV2aWNlUG9pbnRlcl92Mg0KK2N1TWVtSG9zdEdldEZs YWdzDQorY3VNZW1Ib3N0UmVnaXN0ZXINCitjdU1lbUhvc3RSZWdpc3Rlcl92Mg0KK2N1TWVtSG9z dFVucmVnaXN0ZXINCitjdU1lbUltcG9ydEZyb21TaGFyZWFibGVIYW5kbGUNCitjdU1lbU1hcA0K K2N1TWVtTWFwQXJyYXlBc3luYw0KK2N1TWVtTWFwQXJyYXlBc3luY19wdHN6DQorY3VNZW1Qb29s Q3JlYXRlDQorY3VNZW1Qb29sRGVzdHJveQ0KK2N1TWVtUG9vbEV4cG9ydFBvaW50ZXINCitjdU1l bVBvb2xFeHBvcnRUb1NoYXJlYWJsZUhhbmRsZQ0KK2N1TWVtUG9vbEdldEFjY2Vzcw0KK2N1TWVt UG9vbEdldEF0dHJpYnV0ZQ0KK2N1TWVtUG9vbEltcG9ydEZyb21TaGFyZWFibGVIYW5kbGUNCitj dU1lbVBvb2xJbXBvcnRQb2ludGVyDQorY3VNZW1Qb29sU2V0QWNjZXNzDQorY3VNZW1Qb29sU2V0 QXR0cmlidXRlDQorY3VNZW1Qb29sVHJpbVRvDQorY3VNZW1QcmVmZXRjaEFzeW5jDQorY3VNZW1Q cmVmZXRjaEFzeW5jX3B0c3oNCitjdU1lbVByZWZldGNoQXN5bmNfdjINCitjdU1lbVByZWZldGNo QXN5bmNfdjJfcHRzeg0KK2N1TWVtUmFuZ2VHZXRBdHRyaWJ1dGUNCitjdU1lbVJhbmdlR2V0QXR0 cmlidXRlcw0KK2N1TWVtUmVsZWFzZQ0KK2N1TWVtUmV0YWluQWxsb2NhdGlvbkhhbmRsZQ0KK2N1 TWVtU2V0QWNjZXNzDQorY3VNZW1Vbm1hcA0KK2N1TWVtY3B5DQorY3VNZW1jcHkyRA0KK2N1TWVt Y3B5MkRBc3luYw0KK2N1TWVtY3B5MkRBc3luY192Mg0KK2N1TWVtY3B5MkRBc3luY192Ml9wdHN6 DQorY3VNZW1jcHkyRFVuYWxpZ25lZA0KK2N1TWVtY3B5MkRVbmFsaWduZWRfdjINCitjdU1lbWNw eTJEVW5hbGlnbmVkX3YyX3B0ZHMNCitjdU1lbWNweTJEX3YyDQorY3VNZW1jcHkyRF92Ml9wdGRz DQorY3VNZW1jcHkzRA0KK2N1TWVtY3B5M0RBc3luYw0KK2N1TWVtY3B5M0RBc3luY192Mg0KK2N1 TWVtY3B5M0RBc3luY192Ml9wdHN6DQorY3VNZW1jcHkzRFBlZXINCitjdU1lbWNweTNEUGVlckFz eW5jDQorY3VNZW1jcHkzRFBlZXJBc3luY19wdHN6DQorY3VNZW1jcHkzRFBlZXJfcHRkcw0KK2N1 TWVtY3B5M0RfdjINCitjdU1lbWNweTNEX3YyX3B0ZHMNCitjdU1lbWNweUFzeW5jDQorY3VNZW1j cHlBc3luY19wdHN6DQorY3VNZW1jcHlBdG9BDQorY3VNZW1jcHlBdG9BX3YyDQorY3VNZW1jcHlB dG9BX3YyX3B0ZHMNCitjdU1lbWNweUF0b0QNCitjdU1lbWNweUF0b0RfdjINCitjdU1lbWNweUF0 b0RfdjJfcHRkcw0KK2N1TWVtY3B5QXRvSA0KK2N1TWVtY3B5QXRvSEFzeW5jDQorY3VNZW1jcHlB dG9IQXN5bmNfdjINCitjdU1lbWNweUF0b0hBc3luY192Ml9wdHN6DQorY3VNZW1jcHlBdG9IX3Yy DQorY3VNZW1jcHlBdG9IX3YyX3B0ZHMNCitjdU1lbWNweUR0b0ENCitjdU1lbWNweUR0b0FfdjIN CitjdU1lbWNweUR0b0FfdjJfcHRkcw0KK2N1TWVtY3B5RHRvRA0KK2N1TWVtY3B5RHRvREFzeW5j DQorY3VNZW1jcHlEdG9EQXN5bmNfdjINCitjdU1lbWNweUR0b0RBc3luY192Ml9wdHN6DQorY3VN ZW1jcHlEdG9EX3YyDQorY3VNZW1jcHlEdG9EX3YyX3B0ZHMNCitjdU1lbWNweUR0b0gNCitjdU1l bWNweUR0b0hBc3luYw0KK2N1TWVtY3B5RHRvSEFzeW5jX3YyDQorY3VNZW1jcHlEdG9IQXN5bmNf djJfcHRzeg0KK2N1TWVtY3B5RHRvSF92Mg0KK2N1TWVtY3B5RHRvSF92Ml9wdGRzDQorY3VNZW1j cHlIdG9BDQorY3VNZW1jcHlIdG9BQXN5bmMNCitjdU1lbWNweUh0b0FBc3luY192Mg0KK2N1TWVt Y3B5SHRvQUFzeW5jX3YyX3B0c3oNCitjdU1lbWNweUh0b0FfdjINCitjdU1lbWNweUh0b0FfdjJf cHRkcw0KK2N1TWVtY3B5SHRvRA0KK2N1TWVtY3B5SHRvREFzeW5jDQorY3VNZW1jcHlIdG9EQXN5 bmNfdjINCitjdU1lbWNweUh0b0RBc3luY192Ml9wdHN6DQorY3VNZW1jcHlIdG9EX3YyDQorY3VN ZW1jcHlIdG9EX3YyX3B0ZHMNCitjdU1lbWNweVBlZXINCitjdU1lbWNweVBlZXJBc3luYw0KK2N1 TWVtY3B5UGVlckFzeW5jX3B0c3oNCitjdU1lbWNweVBlZXJfcHRkcw0KK2N1TWVtY3B5X3B0ZHMN CitjdU1lbXNldEQxNg0KK2N1TWVtc2V0RDE2QXN5bmMNCitjdU1lbXNldEQxNkFzeW5jX3B0c3oN CitjdU1lbXNldEQxNl92Mg0KK2N1TWVtc2V0RDE2X3YyX3B0ZHMNCitjdU1lbXNldEQyRDE2DQor Y3VNZW1zZXREMkQxNkFzeW5jDQorY3VNZW1zZXREMkQxNkFzeW5jX3B0c3oNCitjdU1lbXNldEQy RDE2X3YyDQorY3VNZW1zZXREMkQxNl92Ml9wdGRzDQorY3VNZW1zZXREMkQzMg0KK2N1TWVtc2V0 RDJEMzJBc3luYw0KK2N1TWVtc2V0RDJEMzJBc3luY19wdHN6DQorY3VNZW1zZXREMkQzMl92Mg0K K2N1TWVtc2V0RDJEMzJfdjJfcHRkcw0KK2N1TWVtc2V0RDJEOA0KK2N1TWVtc2V0RDJEOEFzeW5j DQorY3VNZW1zZXREMkQ4QXN5bmNfcHRzeg0KK2N1TWVtc2V0RDJEOF92Mg0KK2N1TWVtc2V0RDJE OF92Ml9wdGRzDQorY3VNZW1zZXREMzINCitjdU1lbXNldEQzMkFzeW5jDQorY3VNZW1zZXREMzJB c3luY19wdHN6DQorY3VNZW1zZXREMzJfdjINCitjdU1lbXNldEQzMl92Ml9wdGRzDQorY3VNZW1z ZXREOA0KK2N1TWVtc2V0RDhBc3luYw0KK2N1TWVtc2V0RDhBc3luY19wdHN6DQorY3VNZW1zZXRE OF92Mg0KK2N1TWVtc2V0RDhfdjJfcHRkcw0KK2N1TWlwbWFwcGVkQXJyYXlDcmVhdGUNCitjdU1p cG1hcHBlZEFycmF5RGVzdHJveQ0KK2N1TWlwbWFwcGVkQXJyYXlHZXRMZXZlbA0KK2N1TWlwbWFw cGVkQXJyYXlHZXRNZW1vcnlSZXF1aXJlbWVudHMNCitjdU1pcG1hcHBlZEFycmF5R2V0U3BhcnNl UHJvcGVydGllcw0KK2N1TW9kdWxlR2V0RnVuY3Rpb24NCitjdU1vZHVsZUdldEdsb2JhbA0KK2N1 TW9kdWxlR2V0R2xvYmFsX3YyDQorY3VNb2R1bGVHZXRMb2FkaW5nTW9kZQ0KK2N1TW9kdWxlR2V0 U3VyZlJlZg0KK2N1TW9kdWxlR2V0VGV4UmVmDQorY3VNb2R1bGVMb2FkDQorY3VNb2R1bGVMb2Fk RGF0YQ0KK2N1TW9kdWxlTG9hZERhdGFFeA0KK2N1TW9kdWxlTG9hZEZhdEJpbmFyeQ0KK2N1TW9k dWxlVW5sb2FkDQorY3VNdWx0aWNhc3RBZGREZXZpY2UNCitjdU11bHRpY2FzdEJpbmRBZGRyDQor Y3VNdWx0aWNhc3RCaW5kTWVtDQorY3VNdWx0aWNhc3RDcmVhdGUNCitjdU11bHRpY2FzdEdldEdy YW51bGFyaXR5DQorY3VNdWx0aWNhc3RVbmJpbmQNCitjdU9jY3VwYW5jeUF2YWlsYWJsZUR5bmFt aWNTTWVtUGVyQmxvY2sNCitjdU9jY3VwYW5jeU1heEFjdGl2ZUJsb2Nrc1Blck11bHRpcHJvY2Vz c29yDQorY3VPY2N1cGFuY3lNYXhBY3RpdmVCbG9ja3NQZXJNdWx0aXByb2Nlc3NvcldpdGhGbGFn cw0KK2N1T2NjdXBhbmN5TWF4QWN0aXZlQ2x1c3RlcnMNCitjdU9jY3VwYW5jeU1heFBvdGVudGlh bEJsb2NrU2l6ZQ0KK2N1T2NjdXBhbmN5TWF4UG90ZW50aWFsQmxvY2tTaXplV2l0aEZsYWdzDQor Y3VPY2N1cGFuY3lNYXhQb3RlbnRpYWxDbHVzdGVyU2l6ZQ0KK2N1UGFyYW1TZXRTaXplDQorY3VQ YXJhbVNldFRleFJlZg0KK2N1UGFyYW1TZXRmDQorY3VQYXJhbVNldGkNCitjdVBhcmFtU2V0dg0K K2N1UG9pbnRlckdldEF0dHJpYnV0ZQ0KK2N1UG9pbnRlckdldEF0dHJpYnV0ZXMNCitjdVBvaW50 ZXJTZXRBdHRyaWJ1dGUNCitjdVByb2ZpbGVySW5pdGlhbGl6ZQ0KK2N1UHJvZmlsZXJTdGFydA0K K2N1UHJvZmlsZXJTdG9wDQorY3VTaWduYWxFeHRlcm5hbFNlbWFwaG9yZXNBc3luYw0KK2N1U2ln bmFsRXh0ZXJuYWxTZW1hcGhvcmVzQXN5bmNfcHRzeg0KK2N1U3RyZWFtQWRkQ2FsbGJhY2sNCitj dVN0cmVhbUFkZENhbGxiYWNrX3B0c3oNCitjdVN0cmVhbUF0dGFjaE1lbUFzeW5jDQorY3VTdHJl YW1BdHRhY2hNZW1Bc3luY19wdHN6DQorY3VTdHJlYW1CYXRjaE1lbU9wDQorY3VTdHJlYW1CYXRj aE1lbU9wX3B0c3oNCitjdVN0cmVhbUJhdGNoTWVtT3BfdjINCitjdVN0cmVhbUJhdGNoTWVtT3Bf djJfcHRzeg0KK2N1U3RyZWFtQmVnaW5DYXB0dXJlDQorY3VTdHJlYW1CZWdpbkNhcHR1cmVUb0dy YXBoDQorY3VTdHJlYW1CZWdpbkNhcHR1cmVUb0dyYXBoX3B0c3oNCitjdVN0cmVhbUJlZ2luQ2Fw dHVyZV9wdHN6DQorY3VTdHJlYW1CZWdpbkNhcHR1cmVfdjINCitjdVN0cmVhbUJlZ2luQ2FwdHVy ZV92Ml9wdHN6DQorY3VTdHJlYW1Db3B5QXR0cmlidXRlcw0KK2N1U3RyZWFtQ29weUF0dHJpYnV0 ZXNfcHRzeg0KK2N1U3RyZWFtQ3JlYXRlDQorY3VTdHJlYW1DcmVhdGVXaXRoUHJpb3JpdHkNCitj dVN0cmVhbURlc3Ryb3kNCitjdVN0cmVhbURlc3Ryb3lfdjINCitjdVN0cmVhbUVuZENhcHR1cmUN CitjdVN0cmVhbUVuZENhcHR1cmVfcHRzeg0KK2N1U3RyZWFtR2V0QXR0cmlidXRlDQorY3VTdHJl YW1HZXRBdHRyaWJ1dGVfcHRzeg0KK2N1U3RyZWFtR2V0Q2FwdHVyZUluZm8NCitjdVN0cmVhbUdl dENhcHR1cmVJbmZvX3B0c3oNCitjdVN0cmVhbUdldENhcHR1cmVJbmZvX3YyDQorY3VTdHJlYW1H ZXRDYXB0dXJlSW5mb192Ml9wdHN6DQorY3VTdHJlYW1HZXRDYXB0dXJlSW5mb192Mw0KK2N1U3Ry ZWFtR2V0Q2FwdHVyZUluZm9fdjNfcHRzeg0KK2N1U3RyZWFtR2V0Q3R4DQorY3VTdHJlYW1HZXRD dHhfcHRzeg0KK2N1U3RyZWFtR2V0RmxhZ3MNCitjdVN0cmVhbUdldEZsYWdzX3B0c3oNCitjdVN0 cmVhbUdldElkDQorY3VTdHJlYW1HZXRJZF9wdHN6DQorY3VTdHJlYW1HZXRQcmlvcml0eQ0KK2N1 U3RyZWFtR2V0UHJpb3JpdHlfcHRzeg0KK2N1U3RyZWFtSXNDYXB0dXJpbmcNCitjdVN0cmVhbUlz Q2FwdHVyaW5nX3B0c3oNCitjdVN0cmVhbVF1ZXJ5DQorY3VTdHJlYW1RdWVyeV9wdHN6DQorY3VT dHJlYW1TZXRBdHRyaWJ1dGUNCitjdVN0cmVhbVNldEF0dHJpYnV0ZV9wdHN6DQorY3VTdHJlYW1T eW5jaHJvbml6ZQ0KK2N1U3RyZWFtU3luY2hyb25pemVfcHRzeg0KK2N1U3RyZWFtVXBkYXRlQ2Fw dHVyZURlcGVuZGVuY2llcw0KK2N1U3RyZWFtVXBkYXRlQ2FwdHVyZURlcGVuZGVuY2llc19wdHN6 DQorY3VTdHJlYW1VcGRhdGVDYXB0dXJlRGVwZW5kZW5jaWVzX3YyDQorY3VTdHJlYW1VcGRhdGVD YXB0dXJlRGVwZW5kZW5jaWVzX3YyX3B0c3oNCitjdVN0cmVhbVdhaXRFdmVudA0KK2N1U3RyZWFt V2FpdEV2ZW50X3B0c3oNCitjdVN0cmVhbVdhaXRWYWx1ZTMyDQorY3VTdHJlYW1XYWl0VmFsdWUz Ml9wdHN6DQorY3VTdHJlYW1XYWl0VmFsdWUzMl92Mg0KK2N1U3RyZWFtV2FpdFZhbHVlMzJfdjJf cHRzeg0KK2N1U3RyZWFtV2FpdFZhbHVlNjQNCitjdVN0cmVhbVdhaXRWYWx1ZTY0X3B0c3oNCitj dVN0cmVhbVdhaXRWYWx1ZTY0X3YyDQorY3VTdHJlYW1XYWl0VmFsdWU2NF92Ml9wdHN6DQorY3VT dHJlYW1Xcml0ZVZhbHVlMzINCitjdVN0cmVhbVdyaXRlVmFsdWUzMl9wdHN6DQorY3VTdHJlYW1X cml0ZVZhbHVlMzJfdjINCitjdVN0cmVhbVdyaXRlVmFsdWUzMl92Ml9wdHN6DQorY3VTdHJlYW1X cml0ZVZhbHVlNjQNCitjdVN0cmVhbVdyaXRlVmFsdWU2NF9wdHN6DQorY3VTdHJlYW1Xcml0ZVZh bHVlNjRfdjINCitjdVN0cmVhbVdyaXRlVmFsdWU2NF92Ml9wdHN6DQorY3VTdXJmT2JqZWN0Q3Jl YXRlDQorY3VTdXJmT2JqZWN0RGVzdHJveQ0KK2N1U3VyZk9iamVjdEdldFJlc291cmNlRGVzYw0K K2N1U3VyZlJlZkdldEFycmF5DQorY3VTdXJmUmVmU2V0QXJyYXkNCitjdVRlbnNvck1hcEVuY29k ZUltMmNvbA0KK2N1VGVuc29yTWFwRW5jb2RlVGlsZWQNCitjdVRlbnNvck1hcFJlcGxhY2VBZGRy ZXNzDQorY3VUZXhPYmplY3RDcmVhdGUNCitjdVRleE9iamVjdERlc3Ryb3kNCitjdVRleE9iamVj dEdldFJlc291cmNlRGVzYw0KK2N1VGV4T2JqZWN0R2V0UmVzb3VyY2VWaWV3RGVzYw0KK2N1VGV4 T2JqZWN0R2V0VGV4dHVyZURlc2MNCitjdVRleFJlZkNyZWF0ZQ0KK2N1VGV4UmVmRGVzdHJveQ0K K2N1VGV4UmVmR2V0QWRkcmVzcw0KK2N1VGV4UmVmR2V0QWRkcmVzc01vZGUNCitjdVRleFJlZkdl dEFkZHJlc3NfdjINCitjdVRleFJlZkdldEFycmF5DQorY3VUZXhSZWZHZXRCb3JkZXJDb2xvcg0K K2N1VGV4UmVmR2V0RmlsdGVyTW9kZQ0KK2N1VGV4UmVmR2V0RmxhZ3MNCitjdVRleFJlZkdldEZv cm1hdA0KK2N1VGV4UmVmR2V0TWF4QW5pc290cm9weQ0KK2N1VGV4UmVmR2V0TWlwbWFwRmlsdGVy TW9kZQ0KK2N1VGV4UmVmR2V0TWlwbWFwTGV2ZWxCaWFzDQorY3VUZXhSZWZHZXRNaXBtYXBMZXZl bENsYW1wDQorY3VUZXhSZWZHZXRNaXBtYXBwZWRBcnJheQ0KK2N1VGV4UmVmU2V0QWRkcmVzcw0K K2N1VGV4UmVmU2V0QWRkcmVzczJEDQorY3VUZXhSZWZTZXRBZGRyZXNzMkRfdjINCitjdVRleFJl ZlNldEFkZHJlc3MyRF92Mw0KK2N1VGV4UmVmU2V0QWRkcmVzc01vZGUNCitjdVRleFJlZlNldEFk ZHJlc3NfdjINCitjdVRleFJlZlNldEFycmF5DQorY3VUZXhSZWZTZXRCb3JkZXJDb2xvcg0KK2N1 VGV4UmVmU2V0RmlsdGVyTW9kZQ0KK2N1VGV4UmVmU2V0RmxhZ3MNCitjdVRleFJlZlNldEZvcm1h dA0KK2N1VGV4UmVmU2V0TWF4QW5pc290cm9weQ0KK2N1VGV4UmVmU2V0TWlwbWFwRmlsdGVyTW9k ZQ0KK2N1VGV4UmVmU2V0TWlwbWFwTGV2ZWxCaWFzDQorY3VUZXhSZWZTZXRNaXBtYXBMZXZlbENs YW1wDQorY3VUZXhSZWZTZXRNaXBtYXBwZWRBcnJheQ0KK2N1VGhyZWFkRXhjaGFuZ2VTdHJlYW1D YXB0dXJlTW9kZQ0KK2N1VXNlck9iamVjdENyZWF0ZQ0KK2N1VXNlck9iamVjdFJlbGVhc2UNCitj dVVzZXJPYmplY3RSZXRhaW4NCitjdVdHTEdldERldmljZQ0KK2N1V2FpdEV4dGVybmFsU2VtYXBo b3Jlc0FzeW5jDQorY3VXYWl0RXh0ZXJuYWxTZW1hcGhvcmVzQXN5bmNfcHRzeg0KK2N1ZGJnQXBp QXR0YWNoDQorY3VkYmdBcGlEZXRhY2gNCitjdWRiZ0FwaUluaXQNCitjdWRiZ0dldEFQSQ0KK2N1 ZGJnR2V0QVBJVmVyc2lvbg0KK2N1ZGJnTWFpbg0KLS0tIG9yaWdzcmMvcG9jbC0zLjEvbGliL0NM L2RldmljZXMvY3VkYS9wb2NsLWN1ZGEuYwkyMDIyLTEyLTA1IDIxOjM2OjA4LjAwMDAwMDAwMCAr MDkwMA0KKysrIHNyYy9wb2NsLTMuMS9saWIvQ0wvZGV2aWNlcy9jdWRhL3BvY2wtY3VkYS5jCTIw MjQtMDEtMDQgMDM6MDU6MTUuMDUyMTUyMDAwICswOTAwDQpAQCAtNDcsOCArNDcsNyBAQA0KICNp bmNsdWRlIDxzeXMvc3RhdC5oPg0KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiANCi0jaW5jbHVk ZSA8Y3VkYS5oPg0KLSNpbmNsdWRlIDxjdWRhX3J1bnRpbWUuaD4NCisjaW5jbHVkZSAiY3VkYS5o Ig0KIA0KICNpZmRlZiBFTkFCTEVfQ1VETk4NCiAjaW5jbHVkZSA8Y3Vkbm4uaD4NCkBAIC03Myw2 ICs3MiwxMCBAQCBjdWRubkhhbmRsZV90IGN1ZG5uOw0KICAgICAgIH0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwN CiAgIH0NCiANCisjaWZkZWYgX19DWUdXSU5fXw0KKyN1bmRlZiBQT0NMX0RFQlVHX01FU1NBR0VT DQorI2VuZGlmDQorDQogdHlwZWRlZiBzdHJ1Y3QgcG9jbF9jdWRhX2RldmljZV9kYXRhX3MNCiB7 DQogICBDVWRldmljZSBkZXZpY2U7DQpAQCAtMjEwNyw3ICsyMTEzLDggQEAgcG9jbF9jdWRhX2Zy ZWVfZXZlbnRfZGF0YSAoY2xfZXZlbnQgZXZlbg0KICAgICB7DQogICAgICAgcG9jbF9jdWRhX2V2 ZW50X2RhdGFfdCAqZXZlbnRfZGF0YQ0KICAgICAgICAgICA9IChwb2NsX2N1ZGFfZXZlbnRfZGF0 YV90ICopZXZlbnQtPmRhdGE7DQotICAgICAgUFRIUkVBRF9DSEVDSyAocHRocmVhZF9jb25kX2Rl c3Ryb3kgKCZldmVudF9kYXRhLT5ldmVudF9jb25kKSk7DQorICAgICAgaWYgKGV2ZW50X2RhdGEt PmV2ZW50X2NvbmQpDQorICAgICAgICBQVEhSRUFEX0NIRUNLIChwdGhyZWFkX2NvbmRfZGVzdHJv eSAoJmV2ZW50X2RhdGEtPmV2ZW50X2NvbmQpKTsNCiAgICAgICBpZiAoZXZlbnQtPnF1ZXVlLT5w cm9wZXJ0aWVzICYgQ0xfUVVFVUVfUFJPRklMSU5HX0VOQUJMRSkNCiAgICAgICAgIGN1RXZlbnRE ZXN0cm95IChldmVudF9kYXRhLT5zdGFydCk7DQogICAgICAgY3VFdmVudERlc3Ryb3kgKGV2ZW50 X2RhdGEtPmVuZCk7DQotLS0gb3JpZ3NyYy9wb2NsLTMuMS9saWIvQ0wvZGV2aWNlcy9jdWRhL3Bv Y2wtcHR4LWdlbi5jYwkyMDIyLTEyLTA1IDIxOjM2OjA4LjAwMDAwMDAwMCArMDkwMA0KKysrIHNy Yy9wb2NsLTMuMS9saWIvQ0wvZGV2aWNlcy9jdWRhL3BvY2wtcHR4LWdlbi5jYwkyMDI0LTAxLTA0 IDAzOjE4OjM3LjQyMTY2NzUwMCArMDkwMA0KQEAgLTU1NSw4ICs1NTUsOSBAQCBpbnQgZmluZExp YkRldmljZShjaGFyIExpYkRldmljZVBhdGhbUEFUDQogICAgIExpYkRldmljZVNNID0gMzA7DQog DQogICBjb25zdCBjaGFyICpCYXNlUGF0aFtdID0gew0KLSAgICBwb2NsX2dldF9zdHJpbmdfb3B0 aW9uKCJQT0NMX0NVREFfVE9PTEtJVF9QQVRIIiwgQ1VEQV9UT09MS0lUX1JPT1RfRElSKSwNCisg ICAgcG9jbF9nZXRfc3RyaW5nX29wdGlvbigiUE9DTF9DVURBX1RPT0xLSVRfUEFUSCIsICIvdXNy L2xvY2FsL2N1ZGEiKSwNCiAgICAgcG9jbF9nZXRfc3RyaW5nX29wdGlvbigiQ1VEQV9IT01FIiwg Ii91c3IvbG9jYWwvY3VkYSIpLA0KKyAgICBwb2NsX2dldF9zdHJpbmdfb3B0aW9uKCJDVURBX1BB VEgiLCAiL3Vzci9sb2NhbC9jdWRhIiksDQogICAgICIvdXNyL2xvY2FsL2xpYi9jdWRhIiwNCiAg ICAgIi91c3IvbG9jYWwvbGliIiwNCiAgICAgIi91c3IvbGliIiwNCkBAIC02MTMsNyArNjE0LDcg QEAgdm9pZCBsaW5rTGliRGV2aWNlKGxsdm06Ok1vZHVsZSAqTW9kdWxlLA0KICAgICAgICAgICAg ICAgICAgICBjb25zdCBjaGFyICpMaWJEZXZpY2VQYXRoKSB7DQogICBhdXRvIEJ1ZmZlciA9IGxs dm06Ok1lbW9yeUJ1ZmZlcjo6Z2V0RmlsZShMaWJEZXZpY2VQYXRoKTsNCiAgIGlmICghQnVmZmVy KQ0KLSAgICBQT0NMX0FCT1JUKCJbQ1VEQV0gZmFpbGVkIHRvIG9wZW4gbGliZGV2aWNlIGxpYnJh cnkgZmlsZVxuIik7DQorICAgIFBPQ0xfQUJPUlQoIltDVURBXSBmYWlsZWQgdG8gb3BlbiBsaWJk ZXZpY2UgbGlicmFyeSBmaWxlLiBNb3N0IGxpa2VseSwgeW91IGRvIG5vdCBoYXZlIE5WSURJQSBD VURBIFRvb2xraXQuIFBsZWFzZSBjb25zaWRlciB0byBpbnN0YWxsIGl0LiBJZiB5b3UgaGF2ZSBp dCBpbnN0YWxsZWQsIHNldCBDVURBX1BBVEggcHJvcGVybHkuXG4iKTsNCiANCiAgIFBPQ0xfTVNH X1BSSU5UX0lORk8oImxvYWRpbmcgbGliZGV2aWNlIGZyb20gJyVzJ1xuIiwgTGliRGV2aWNlUGF0 aCk7DQogDQpAQCAtOTYwLDExICs5NjEsMTkgQEAgaW50IHBvY2xfY3VkYV9nZXRfcHRyX2FyZ19h bGlnbm1lbnQoY29ucw0KICAgICAgICAgICAgICAgICBsbHZtOjpkeW5fY2FzdDxsbHZtOjpHZXRF bGVtZW50UHRySW5zdD4oVSkpIHsNCiAgICAgICAgICAgZm9yIChhdXRvIFVVIDogR0VQLT51c2Vy cygpKSB7DQogICAgICAgICAgICAgaWYgKGxsdm06OlN0b3JlSW5zdCAqU0kgPSBsbHZtOjpkeW5f Y2FzdDxsbHZtOjpTdG9yZUluc3Q+KFVVKSkgew0KKyNpZmRlZiBMTFZNX09MREVSX1RIQU5fMTVf MA0KKyAgICAgICAgICAgICAgQWxpZ25tZW50c1tpXSA9IFNJLT5nZXRBbGlnbm1lbnQoKTsNCisj ZWxzZQ0KICAgICAgICAgICAgICAgQWxpZ25tZW50c1tpXSA9IFNJLT5nZXRBbGlnbigpLnZhbHVl KCk7DQorI2VuZGlmDQogICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgaWYgKGxsdm06OkxvYWRJbnN0ICpMSSA9IGxsdm06OmR5bl9jYXN0PGxsdm06Okxv YWRJbnN0PihVVSkpIHsNCisjaWZkZWYgTExWTV9PTERFUl9USEFOXzE1XzANCisgICAgICAgICAg ICAgIEFsaWdubWVudHNbaV0gPSBMSS0+Z2V0QWxpZ25tZW50KCk7DQorI2Vsc2UNCiAgICAgICAg ICAgICAgIEFsaWdubWVudHNbaV0gPSBMSS0+Z2V0QWxpZ24oKS52YWx1ZSgpOw0KKyNlbmRpZg0K ICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgfQ0KICAgICAgICAgICB9DQotLS0g b3JpZ3NyYy9wb2NsLTMuMS9saWIvQ0wvZGV2aWNlcy90b3BvbG9neS9wb2NsX3RvcG9sb2d5LmMJ MjAyMi0xMi0wNSAyMTozNjowOC4wMDAwMDAwMDAgKzA5MDANCisrKyBzcmMvcG9jbC0zLjEvbGli L0NML2RldmljZXMvdG9wb2xvZ3kvcG9jbF90b3BvbG9neS5jCTIwMjQtMDEtMDQgMDM6MDU6MTUu MDU4MTQ4NjAwICswOTAwDQpAQCAtMjA1LDcgKzIwNSw3IEBAIGV4aXRfZGVzdHJveToNCiB9DQog DQogLy8gI2lmZGVmIEhXTE9DDQotI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQo X19BTkRST0lEX18pDQorI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19BTkRS T0lEX18pIHx8IGRlZmluZWQoX19DWUdXSU5fXykNCiANCiAjZGVmaW5lIEwzX0NBQ0hFX1NJWkUg Ii9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdTAvY2FjaGUvaW5kZXgzL3NpemUiDQogI2RlZmlu ZSBMMl9DQUNIRV9TSVpFICIvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9jcHUwL2NhY2hlL2luZGV4 Mi9zaXplIg0KLS0tIG9yaWdzcmMvcG9jbC0zLjEvbGliL0NML3BvY2xfYnVpbGQuYwkyMDIyLTEy LTA1IDIxOjM2OjA4LjAwMDAwMDAwMCArMDkwMA0KKysrIHNyYy9wb2NsLTMuMS9saWIvQ0wvcG9j bF9idWlsZC5jCTIwMjQtMDEtMDQgMDM6MDU6MTUuMDYxMTQ3MDAwICswOTAwDQpAQCAtNjkwLDYg KzY5MCwxMyBAQCBjb21waWxlX2FuZF9saW5rX3Byb2dyYW0oaW50IGNvbXBpbGVfcHJvDQogICAg ICAgICBnb3RvIEVSUk9SX0NMRUFOX09QVElPTlM7DQogICAgIH0NCiANCisjaWZkZWYgX19DWUdX SU5fXw0KKyAgaWYgKHByb2dyYW0tPmNvbXBpbGVyX29wdGlvbnMgPT0gTlVMTCkNCisgICAgew0K KyAgICAgIHByb2dyYW0tPmNvbXBpbGVyX29wdGlvbnMgPSAoY2hhciAqKW1hbGxvYyg1MTIpOw0K KyAgICAgIHByb2dyYW0tPmNvbXBpbGVyX29wdGlvbnNbMF0gPSAnXDAnOw0KKyAgICB9DQorI2Vu ZGlmDQogICBQT0NMX01TR19QUklOVF9MTFZNICgiYnVpbGRpbmcgcHJvZ3JhbSB3aXRoIG9wdGlv bnMgJXNcbiIsDQogICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtLT5jb21waWxlcl9vcHRp b25zKTsNCiANCi0tLSBvcmlnc3JjL3BvY2wtMy4xL2xpYi9DTC9wb2NsX3V0aWwuYwkyMDIyLTEy LTA1IDIxOjM2OjA4LjAwMDAwMDAwMCArMDkwMA0KKysrIHNyYy9wb2NsLTMuMS9saWIvQ0wvcG9j bF91dGlsLmMJMjAyNC0wMS0wNCAwMzowNToxNS4wNjQxNDUxMDAgKzA5MDANCkBAIC01OSw4ICs1 OSwxMCBAQA0KICNpZiBkZWZpbmVkKF9fQVBQTEVfXykNCiAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UNCiAjZW5kaWYNCi0jaWZkZWYgX19saW51eF9fDQorI2lmIGRlZmluZWQoX19saW51eF9fKSB8 fCBkZWZpbmVkKF9fQ1lHV0lOX18pDQogI2RlZmluZSBfR05VX1NPVVJDRQ0KKyN1bmRlZiBfX0dO VV9WSVNJQkxFDQorI2RlZmluZSBfX0dOVV9WSVNJQkxFIDENCiAjZW5kaWYNCiAjaW5jbHVkZSA8 ZGxmY24uaD4NCiAjZW5kaWYNCi0tLSBvcmlnc3JjL3BvY2wtMy4xL2xpYi9rZXJuZWwvaG9zdC9z cGlyX3dyYXBwZXIzMi5sbAkyMDIyLTEyLTA1IDIxOjM2OjA4LjAwMDAwMDAwMCArMDkwMA0KKysr IHNyYy9wb2NsLTMuMS9saWIva2VybmVsL2hvc3Qvc3Bpcl93cmFwcGVyMzIubGwJMjAyNC0wMS0w NCAwMzowNToxNS4wNjYxNDM5MDAgKzA5MDANCkBAIC0yNjYzLDcgKzI2NjMsNyBAQCBhdHRyaWJ1 dGVzICMwID0geyBub3Vud2luZCAiY29ycmVjdGx5LXJvDQogDQogITAgPSAhe2kzMiAxLCBpMzIg Mn0NCiAhMSA9ICF7ISJjbGFuZyB2ZXJzaW9uIDYuMC4wIn0NCi0hMiA9ICF7aTMyIDEsICEid2No YXJfc2l6ZSIsIGkzMiA0fQ0KKyEyID0gIXtpMzIgMSwgISJ3Y2hhcl9zaXplIiwgaTMyIDJ9DQog ITMgPSAhe2kzMiA3LCAhIlBJQyBMZXZlbCIsIGkzMiAyfQ0KIA0KIA0KLS0tIG9yaWdzcmMvcG9j bC0zLjEvbGliL2tlcm5lbC9ob3N0L3NwaXJfd3JhcHBlcjY0LmxsCTIwMjItMTItMDUgMjE6MzY6 MDguMDAwMDAwMDAwICswOTAwDQorKysgc3JjL3BvY2wtMy4xL2xpYi9rZXJuZWwvaG9zdC9zcGly X3dyYXBwZXI2NC5sbAkyMDI0LTAxLTA0IDAzOjA1OjE1LjA3MTE0MTEwMCArMDkwMA0KQEAgLTE0 NzMxLDcgKzE0NzMxLDcgQEAgYXR0cmlidXRlcyAjMCA9IHsgbm91bndpbmQgImNvcnJlY3RseS1y bw0KIA0KICEwID0gIXtpMzIgMSwgaTMyIDJ9DQogITEgPSAheyEiY2xhbmcgdmVyc2lvbiA2LjAu MCJ9DQotITIgPSAhe2kzMiAxLCAhIndjaGFyX3NpemUiLCBpMzIgNH0NCishMiA9ICF7aTMyIDEs ICEid2NoYXJfc2l6ZSIsIGkzMiAyfQ0KICEzID0gIXtpMzIgNywgISJQSUMgTGV2ZWwiLCBpMzIg Mn0NCiANCiANCi0tLSBvcmlnc3JjL3BvY2wtMy4xL2xpYi9sbHZtb3BlbmNsL0NNYWtlTGlzdHMu dHh0CTIwMjItMTItMDUgMjE6MzY6MDguMDAwMDAwMDAwICswOTAwDQorKysgc3JjL3BvY2wtMy4x L2xpYi9sbHZtb3BlbmNsL0NNYWtlTGlzdHMudHh0CTIwMjQtMDEtMDQgMDM6MDU6MTUuMDc1MTM4 NzAwICswOTAwDQpAQCAtMTE1LDkgKzExNSwxMCBAQCBoYXJkZW4oImxsdm1vcGVuY2wiKQ0KIA0K ICMgbm90IHN1cmUgd2hlcmUgb3RoZXIgcGxhdGZvcm1zIGdldCB0aGVpciBsaWJyYXJ5IGxpbmth Z2UgbGlzdCwgcHJvYmFibHkgdGhlcmUgaXMNCiAjIHdheSB0byBtYWtlIHRoaXMgbW9yZSBjb25z aXN0ZW50IG9uIGRpZmZlcmVudCBwbGF0Zm9ybXMNCi1pZihNU1ZDKQ0KK2lmKFdJTjMyIE9SIENZ R1dJTikNCisgIHRhcmdldF9saW5rX2xpYnJhcmllcygibGx2bW9wZW5jbCIgcG9jbCkNCiAgIHRh cmdldF9saW5rX2xpYnJhcmllcygibGx2bW9wZW5jbCIgJHtQT0NMX0xMVk1fTElCU30pDQotZW5k aWYoTVNWQykNCitlbmRpZihXSU4zMiBPUiBDWUdXSU4pDQogDQogI3RhcmdldF9saW5rX2xpYnJh cmllcygibGx2bW9wZW5jbCIgIiR7TExWTV9TWVNMSUJTfSIpDQogZW5kaWYoRU5BQkxFX0xJQkxM Vk1PUEVOQ0wpDQotLS0gb3JpZ3NyYy9wb2NsLTMuMS9saWIvbGx2bW9wZW5jbC9EZWJ1Z0hlbHBl cnMuaAkyMDIyLTEyLTA1IDIxOjM2OjA4LjAwMDAwMDAwMCArMDkwMA0KKysrIHNyYy9wb2NsLTMu MS9saWIvbGx2bW9wZW5jbC9EZWJ1Z0hlbHBlcnMuaAkyMDI0LTAxLTA0IDAzOjA1OjE1LjA3NzEz NzYwMCArMDkwMA0KQEAgLTI0LDcgKzI0LDcgQEANCiAjZGVmaW5lIF9QT0NMX0RFQlVHX0hFTFBF UlNfSA0KIA0KICNpbmNsdWRlIDxzdHJpbmc+DQotI2lmIF9NU0NfVkVSDQorI2lmIF9NU0NfVkVS IHx8IGRlZmluZWQoX19DWUdXSU5fXykNCiAjICBpbmNsdWRlIDxzZXQ+DQogI2VuZGlmDQogDQo= --Multipart=_Thu__4_Jan_2024_09_55_07_+0900_U00Z3ANfBPmS4X4Q--