<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>171123</bug_id>
          
          <creation_ts>2007-03-16 05:17 0000</creation_ts>
          <short_desc>[2.6.20 regression] tifm sd/mmc driver broken</short_desc>
          <delta_ts>2007-05-25 02:41:20 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Core system</component>
          <version>unspecified</version>
          <rep_platform>AMD64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          <bug_file_loc>http://bugzilla.kernel.org/show_bug.cgi?id=8052</bug_file_loc>
          <status_whiteboard>linux-2.6.20-regression</status_whiteboard>
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>gentoo_bugzilla@kbc.net.au</reporter>
          <assigned_to>dsd@gentoo.org</assigned_to>
          <cc>bg@nick125.com</cc>
    
    <cc>gentoo_bugzilla@kbc.net.au</cc>
    
    <cc>kernel@gentoo.org</cc>
    
    <cc>mpagano@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-16 05:17:31 0000</bug_when>
            <thetext>Using identical kernel configuration for MMC/SD support, the upgrade to the 2.6.60 series kernels stops a listing appearing in /dev for the MMC/SD reader.

Boot back into the 2.6.19 kernel, it works again.

Reproducible: Always

Steps to Reproduce:
1. Boot with 2.6.20 kernel.
2. Plug in MMC/SD card
2. Look in /dev

Actual Results:  
No mention of MMC/SD device in /dev

Expected Results:  
MMC/SD device should appear in /dev.

Kernel config files:

Working:
http://www.smiffysplace.com/files/kernel_config_2.6.19_20070316

Non-working:
http://www.smiffysplace.com/files/kernel_config_2.6.20_20070316

Dmesg output:
http://www.smiffysplace.com/files/dmesg_20070316

The latter lines show me inserting and removing the card a couple of times, with 2.6.20-gentoo-r2, nothing appearing in /dev.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2007-03-16 08:16:54 0000</bug_when>
            <thetext>Please, attach all the files here; third party links render bugs useless in days.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-16 08:19:02 0000</bug_when>
            <thetext>Created an attachment (id=113442)
Kernel config, 2.6.19

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-16 08:19:45 0000</bug_when>
            <thetext>Created an attachment (id=113443)
Kernel config, 2.6.20

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-16 08:20:06 0000</bug_when>
            <thetext>Created an attachment (id=113445)
Dmesg output

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-16 08:21:10 0000</bug_when>
            <thetext>Files attached as requested.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-03-24 23:59:12 0000</bug_when>
            <thetext>Which device node are you looking for?

You seem to have both sdhci and tifm hardware. Do you know which one you are trying to use?

Can you boot 2.6.19, and run &quot;dmesg&quot;. Then plug a card in, ensure the device node is created, run &quot;dmesg&quot; again and paste here which messages have been added to the end since you plugged the card in. Then do the same for 2.6.20.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 00:28:09 0000</bug_when>
            <thetext>(In reply to comment #6)
&gt; Which device node are you looking for?
These are what appear with 2.6.19:

brw-rw---- 1 root disk  254,    0 Mar 23 15:50 mmcblk0
brw-rw---- 1 root disk  254,    1 Mar 23 15:50 mmcblk0p1

&gt; You seem to have both sdhci and tifm hardware. Do you know which one you are
&gt; trying to use?
Sorry, I wouldn&apos;t know.  I just enabled it in the kernel and it just worked in 2.6.19.

&gt; Can you boot 2.6.19, and run &quot;dmesg&quot;. Then plug a card in, ensure the device
&gt; node is created, run &quot;dmesg&quot; again and paste here which messages have been
&gt; added to the end since you plugged the card in. Then do the same for 2.6.20.

I have done this, diff&apos;ing the results, and am submitting attachments dmesg_19.diff and dmesg_20.diff, respectively.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 00:30:04 0000</bug_when>
            <thetext>Created an attachment (id=114308)
Booted to 2.6.19, difference between dmesg without card and dmesg with card.

Note: Although this shows errors, card can be mounted and accessed without problems.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 00:30:57 0000</bug_when>
            <thetext>Created an attachment (id=114309)
Booted to 2.6.20, difference between dmesg without card and dmesg with card.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-03-25 00:49:38 0000</bug_when>
            <thetext>Nothing obvious there. Can you reproduce this on the latest development kernel, currently 2.6.21-rc4?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 01:48:13 0000</bug_when>
            <thetext>(In reply to comment #10)
&gt; Nothing obvious there. Can you reproduce this on the latest development kernel,
&gt; currently 2.6.21-rc4?

No gentoo-sources package available for amd64 post 2.6.20-r3.  

Looks like I&apos;ll have to pull down source from kernel.org to do this, so may take a while to get it configured and working on this laptop.  I will report back when I have been able to do this.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-03-25 02:04:12 0000</bug_when>
            <thetext>gentoo-sources doesn&apos;t do -rc releases but switching to a -rc is generally easy as gentoo-sources doesn&apos;t include much.

emerge -n ketchup
cd /usr/src
mkdir -p linux-2.6.21-rc4
cd linux-2.6.21-rc4
ketchup 2.6.21-rc4</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 05:37:16 0000</bug_when>
            <thetext>Thanks for the guidance on ketchup.  I have now built 2.6.21-rc4, the problem persists: no device nodes are created when the card is inserted.  Full dmesg and post-insertion diff to be attached.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 05:38:02 0000</bug_when>
            <thetext>Created an attachment (id=114318)
2.6.21-rc4 dmesg, card not inserted

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 05:39:04 0000</bug_when>
            <thetext>Created an attachment (id=114320)
diff between dmesg before and after card insertion, kernel 2.6.21-rc4

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-03-25 19:25:03 0000</bug_when>
            <thetext>Thanks for the quick testing. The next step is to file a bug upstream against the tifm driver at http://bugzilla.kernel.org.

Mention that 2.6.19 works, 2.6.20 breaks, and 2.6.21-rc4 is still broken.

As this is a regression you can track down the exact buggy commit which introduced the bug, however it is a fairly time consuming process. If you&apos;re keen, see http://www.reactivated.net/weblog/archives/2006/01/using-git-bisect-to-find-buggy-kernel-patches/
You might want to wait for 2-3 days after filing the bug before going down this route, in case it is not needed.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-03-25 19:25:25 0000</bug_when>
            <thetext>please post the new bug URL here when you have filed it upstream</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 21:23:30 0000</bug_when>
            <thetext>I did a quick check on the kernel Bugzilla before opening a new one and found one open (but nothing happening) which I guess is the same. I have, therefore, posted against: http://bugzilla.kernel.org/show_bug.cgi?id=8052

Thanks for your help, Daniel, I just hope someone up there knows how to fix this otherwise I&apos;m going to be trying to shoehorn 2.6.19 code back into the new kernel.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-03-25 22:14:10 0000</bug_when>
            <thetext>Your 2.6.21 logs show that mmcblk0 and mmcblk0p1 are being detected, although there are a fair number of errors too. Do those device nodes really not appear under 2.6.21 or has the problem changed with this kernel release?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-03-25 22:59:17 0000</bug_when>
            <thetext>(In reply to comment #19)
&gt; Your 2.6.21 logs show that mmcblk0 and mmcblk0p1 are being detected, although
&gt; there are a fair number of errors too. Do those device nodes really not appear
&gt; under 2.6.21 or has the problem changed with this kernel release?

I have now re-emerged all necessary packages so that I can run 2.6.21-r4 as my default, to save all the re-booting.

Whilst dmesg shows mmc stuff when card inserted (it did on 2.6.20, too), I can confirm that nodes are still NOT found in /dev. 

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-04-27 22:58:29 0000</bug_when>
            <thetext>Created an attachment (id=117456)
tifm v0.8d for 2.6.21

Please test gentoo-sources-2.6.21. If it&apos;s still broken there, apply this patch on top of gentoo-sources-2.6.21 and see if it helps.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-04-28 05:48:52 0000</bug_when>
            <thetext>Device node is not created with linux-2.6.21-gentoo either before or after patching.

Eject and insert events can be seen on dmesg - this is very similar to the way it was on 2.6.20 prior to using the external module build from the bug on kernel.org</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-04-29 14:31:37 0000</bug_when>
            <thetext>Strange, I thought that patch should bring it in line with the external version. I&apos;ll check this soon.

In the mean time, could you double check that you applied the patch correctly and installed the new kernel/module successfully?

If you compile the driver as a module, you can check with &quot;modinfo /lib/modules/&lt;VERSION&gt;/kernel/drivers/mmc/tifm_sd.ko&quot; -- the version field should read 0.8, not 0.6

If you compile the driver into the kernel, check the last modified time of drivers/mmc/tifm_sd.c in the kernel directory -- it should be equal to when you applied the patch. If so, while booted into the kernel you believe is patched, run &quot;uname -v&quot;. The value there is the time/date that kernel was compiled -- mentally check this is when you recompiled the kernel, and also check that it is newer than the modified time for the tifm_sd.c file.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-04-30 04:58:11 0000</bug_when>
            <thetext>Yep, this is version 0.8.  Just for reference, here&apos;s the modinfo for all in that directory:

filename:       /lib/modules/2.6.21-gentoo/kernel/drivers/mmc/mmc_block.ko
license:        GPL
description:    Multimedia Card (MMC) block device driver
vermagic:       2.6.21-gentoo SMP mod_unload
depends:        mmc_core
parm:           major:specify the major device number for MMC block driver (int)

filename:       /lib/modules/2.6.21-gentoo/kernel/drivers/mmc/mmc_core.ko
license:        GPL
vermagic:       2.6.21-gentoo SMP mod_unload
depends:

filename:       /lib/modules/2.6.21-gentoo/kernel/drivers/mmc/tifm_sd.ko
author:         Alex Dubov
description:    TI FlashMedia SD driver
license:        GPL
version:        0.8
vermagic:       2.6.21-gentoo SMP mod_unload
depends:        mmc_core,tifm_core
srcversion:     C11C3EBB8F4E8ECA33554AC
parm:           fixed_timeout:bool
parm:           no_dma:bool

And this is the one that lurks in ../misc:

filename:       /lib/modules/2.6.21-gentoo/kernel/drivers/misc/tifm_7xx1.ko
author:         Alex Dubov
description:    TI FlashMedia host driver
license:        GPL
version:        0.8
vermagic:       2.6.21-gentoo SMP mod_unload
depends:        tifm_core
alias:          pci:v0000104Cd00008033sv*sd*bc*sc*i*
alias:          pci:v0000104Cd0000803Bsv*sd*bc*sc*i*
alias:          pci:v0000104Cd0000AC8Fsv*sd*bc*sc*i*
srcversion:     D736152CA27D661613954A9
filename:       /lib/modules/2.6.21-gentoo/kernel/drivers/misc/tifm_core.ko
license:        GPL
author:         Alex Dubov
description:    TI FlashMedia core driver
license:        GPL
version:        0.8
vermagic:       2.6.21-gentoo SMP mod_unload
depends:
srcversion:     BE1DF8B52CD61BF90C0A9A2</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mpagano@gentoo.org</who>
            <bug_when>2007-05-01 19:14:54 0000</bug_when>
            <thetext>Created an attachment (id=117883)
diff of comment 21 patch against upstream .08d

patched 2.6.21 (with patch from comment #21) and then diff&apos;ed them against tifm_7xx1.c tifm_core.c tifm_sd.c and tifm.h from external version 0.8d from upstream</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mpagano@gentoo.org</who>
            <bug_when>2007-05-01 19:55:04 0000</bug_when>
            <thetext>Created an attachment (id=117885)
Patch for 2.6.21 to upstream version 08d

Smiffy,

Can you please apply this patch to your 2.6.21 source and test?

Thanks,
Mike</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mpagano@gentoo.org</who>
            <bug_when>2007-05-01 21:09:43 0000</bug_when>
            <thetext>Created an attachment (id=117890)
Patch for 2.6.21 to upstream version 08d

Smiffy,

Can you please ignore the last patch and instead apply this patch to your 2.6.21 source and test?

Thanks,
Mike</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mpagano@gentoo.org</who>
            <bug_when>2007-05-02 00:13:15 0000</bug_when>
            <thetext>Created an attachment (id=117908)
Patch for 2.6.21 to upstream version 08d

This one can be properly applied with -p1 </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-02 09:18:29 0000</bug_when>
            <thetext>I applied the patch to a fresh emerge by entering /usr/src/linux-2.6.21-gentoo and running:

patch -p1 tifm-update-to-0.8d.patch

This reported that the files had been patched successfully.

However, when I came to make the kernel, I got the following error:

  CC [M]  drivers/misc/tifm_core.o
  CC [M]  drivers/misc/tifm_7xx1.o
  CC [M]  drivers/mmc/mmc.o
  CC [M]  drivers/mmc/mmc_sysfs.o
  CC [M]  drivers/mmc/mmc_queue.o
  LD [M]  drivers/mmc/mmc_core.o
  CC [M]  drivers/mmc/mmc_block.o
  CC [M]  drivers/mmc/tifm_sd.o
drivers/mmc/tifm_sd.c: In function &apos;tifm_sd_probe&apos;:
drivers/mmc/tifm_sd.c:987: error: &apos;struct mmc_host&apos; has no member named &apos;max_sectors&apos;
make[2]: *** [drivers/mmc/tifm_sd.o] Error 1
make[1]: *** [drivers/mmc] Error 2
make: *** [drivers] Error 2

I will attach my .config, in case this has any bearing on the matter, although I&apos;m sure that I have seen this error before, when I tried to apply the 2.6.20 patch to 2.6.21.  (I may be wrong, but I have seen it before somewhere.)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-02 09:20:11 0000</bug_when>
            <thetext>Created an attachment (id=117931)
Kernel .config to go with report on latest compliation attempt.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mpagano@gentoo.org</who>
            <bug_when>2007-05-02 11:56:55 0000</bug_when>
            <thetext>thanks for the .config

It also failed for me. I am going to try applying this patch to 2.6.21.1 and see what happens.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mpagano@gentoo.org</who>
            <bug_when>2007-05-02 12:26:00 0000</bug_when>
            <thetext>Created an attachment (id=117948)
Patch for 2.6.21.1 to upstream version 08e

Here&apos;s the patch to upstream version 0.8e

This does compile when applied to 2.6.21.1, but not 2.6.21

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-02 22:23:18 0000</bug_when>
            <thetext>Will 2.6.21.1 be released as a 2.6.21-gentoo-rx ebuild?  If so, would this patch be already applied?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mpagano@gentoo.org</who>
            <bug_when>2007-05-03 00:07:25 0000</bug_when>
            <thetext>Smitty,

I was incorrect when I said the version 08e patch doesn&apos;t compile against linux-2.6.21-gentoo. It did compile for me.

Can you apply the patch &quot;Patch for 2.6.21.1 to upstream version 08e&quot; to linux-2.6.21, and test the result?

Thanks</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-03 00:32:32 0000</bug_when>
            <thetext>gentoo-sources now re-emerged and patched with tifm-update-to-0.8e.patch

The kernel build was successful, but the device node still does not appear.  Modules appear to be loaded (from lsmod):

tifm_sd                13320  0
mmc_core               27208  1 tifm_sd
tifm_7xx1               8576  0
tifm_core              11144  2 tifm_sd,tifm_7xx1

However, if I run modinfo, version only comes back as 0.8 - is this correct or should it say 0.8e?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-05-03 01:34:40 0000</bug_when>
            <thetext>That&apos;s correct. The plot thickens...

Can you revert that patch, remove tifm from your kernel config, remove the modules from /lib/modules, and then install and test the external tifm-0.8e against 2.6.21?

Direct link to download is http://prdownload.berlios.de/tifmxx/tifm-0.8e.tar.bz2

Basically we need to try and figure out what&apos;s going on.. the patch I posted (against 2.6.20) should have brought things just about inline with the external 0.8d (which you said worked fine), and Mike&apos;s patch above did similar, so its a bit of a mystery why these patches aren&apos;t working if the external versions are...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-03 02:52:31 0000</bug_when>
            <thetext>External module for 08e works fine, just like in the case of 2.6.20 and its external module.

Whether it is relevant or not, the Makefile is broken in that it does not create /lib/modules/2.6.21-gentoo/kernel/drivers/misc/ and /lib/modules/2.6.21-gentoo/kernel/drivers/mmc which breaks make install.  I have to create these by hand first, then run make install.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bg@nick125.com</who>
            <bug_when>2007-05-13 01:58:38 0000</bug_when>
            <thetext>I&apos;ve also been having issues with tifm (mainly buffer and I/O errors in dmesg, corrupt files, etc). I tried applying the 2.6.21.1 patch posted by Mike to gentoo-sources-2.6.21 and it has fixed my issue. If this could get into gentoo-sources-2.6.21-r1, that would be great. (It does appear that they are planning to merge it into 2.6.22, and I think tifm 0.8 is in the kernel git tree, I&apos;d have to check though).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bg@nick125.com</who>
            <bug_when>2007-05-13 05:38:10 0000</bug_when>
            <thetext>(In reply to comment #38)
&gt; I&apos;ve also been having issues with tifm (mainly buffer and I/O errors in dmesg,
&gt; corrupt files, etc). I tried applying the 2.6.21.1 patch posted by Mike to
&gt; gentoo-sources-2.6.21 and it has fixed my issue. If this could get into
&gt; gentoo-sources-2.6.21-r1, that would be great. (It does appear that they are
&gt; planning to merge it into 2.6.22, and I think tifm 0.8 is in the kernel git
&gt; tree, I&apos;d have to check though).
&gt; 

Err, I should clarify which patch I&apos;m talking about: Patch for 2.6.21.1 to upstream version 08e (attachment #117948)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bg@nick125.com</who>
            <bug_when>2007-05-13 06:30:00 0000</bug_when>
            <thetext>It seems that tifm 0.8e has been merged into 2.6.22-rc1. I gave it a try here, and it seems to have resolved the issue. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-05-13 15:05:08 0000</bug_when>
            <thetext>Smiffy, any chance you could test 2.6.22-rc1?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-05-13 23:52:59 0000</bug_when>
            <thetext>Yes, vanilla kernel with the appropriate options selected</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-14 00:03:39 0000</bug_when>
            <thetext>I should be able to test 2.6.22-rc1 in the next couple of days - will advise results.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-14 00:25:47 0000</bug_when>
            <thetext>I&apos;ve started the configuration of the new kernel, but there appears to be a problem in make menuconfig:

&lt;*&gt; MMC/SD card support  ---&gt;

This does not expand to offer the driver options as it does in the previous kernels, so I am unable to fulfill:

&quot;If you want MMC support, you should say Y here and also to the specific driver for your MMC interface.&quot;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-14 00:31:19 0000</bug_when>
            <thetext>Ignore previous, this has been hidden under Misc Devices for some reason.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bg@nick125.com</who>
            <bug_when>2007-05-14 00:33:49 0000</bug_when>
            <thetext>(In reply to comment #45)
&gt; Ignore previous, this has been hidden under Misc Devices for some reason.
&gt; 

I think it was in Misc devices in 2.6.19 as well ;-)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-14 02:42:49 0000</bug_when>
            <thetext>OK, firstly, 2.6.22-rc1 works.  However, to get it to work, I had to modprobe something called mmc_block, which I had not had to do before.  (I only found it whilst I was having a nose around /lib/modules/----/kernel/drivers/; I modprobed it to see what it did and all of a sudden it worked...)

Having discovered this, I rebooted to my (patched) 2.6.21-gentoo, did the same modprobe and found it worked there too.  Please note, I did not have to do this modprobe with the external module in 2.6.21 or 2.6.20.  Could this be the missing link?

NOTE:  make menuconfig on 2.6.22-rc1 doesn&apos;t set CONFIG_MMC_TIFM_SD - don&apos;t know if this is another parameter hidden in some daft place or whether it has been missed.  I had to go back and set this manually to build the module and get this working.

@nick - there were three things I spotted that had been moved around menuconfig; made it a helluva job to copy my .21 to my .22 configuration.  Something&apos;s also been broken in the SATA AHCI driver so that I have to change the BIOS if I want to swap between 2.6.22 and Solaris (2.6.21 and Solaris, no problems).  When someone puts GNU+Solaris kernel+Portage, I&apos;ll be there like a shot ;-)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bg@nick125.com</who>
            <bug_when>2007-05-14 04:54:21 0000</bug_when>
            <thetext>Just a quick question, what do you have to change in the BIOS when you switch between 2.6.22 and Solaris? (I&apos;m just kind of curious)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-14 06:42:39 0000</bug_when>
            <thetext>Comment #48 answered at length, off-list.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-05-18 22:50:15 0000</bug_when>
            <thetext>OK, thanks for the testing. Time to backport the patches from 2.6.22. This won&apos;t make it into the gentoo-sources-2.6.21 release being generated right now, but hopefully will make it into the next one.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo_bugzilla@kbc.net.au</who>
            <bug_when>2007-05-19 23:39:13 0000</bug_when>
            <thetext>I have just upgraded to kernel 2.6.21-gentoo-r1 (x86_64) and have applied patch tifm-update-to-0.8e.patch.  I can confirm that my card reader is WORKING.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-05-25 02:41:20 0000</bug_when>
            <thetext>Fixed in gentoo-sources-2.6.21-r2 (genpatches-2.6.21-3), thanks for testing.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>113442</attachid>
            <date>2007-03-16 08:19 0000</date>
            <desc>Kernel config, 2.6.19</desc>
            <filename>kernel_config_2.6.19_20070316</filename>
            <type>text/plain</type>
            <data encoding="base64">IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMgTGlu
dXgga2VybmVsIHZlcnNpb246IDIuNi4xOS1nZW50b28tcjUKIyBTYXQgRmViIDEwIDE0OjU5OjA2
IDIwMDcKIwpDT05GSUdfWDg2XzY0PXkKQ09ORklHXzY0QklUPXkKQ09ORklHX1g4Nj15CkNPTkZJ
R19aT05FX0RNQTMyPXkKQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CkNPTkZJR19TVEFDS1RSQUNF
X1NVUFBPUlQ9eQpDT05GSUdfU0VNQVBIT1JFX1NMRUVQRVJTPXkKQ09ORklHX01NVT15CkNPTkZJ
R19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CkNPTkZJ
R19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CkNPTkZJR19YODZfQ01QWENIRz15CkNPTkZJR19F
QVJMWV9QUklOVEs9eQpDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkKQ09ORklHX0dFTkVSSUNfSU9N
QVA9eQpDT05GSUdfQVJDSF9NQVlfSEFWRV9QQ19GREM9eQpDT05GSUdfQVJDSF9QT1BVTEFURVNf
Tk9ERV9NQVA9eQpDT05GSUdfRE1JPXkKQ09ORklHX0FVRElUX0FSQ0g9eQpDT05GSUdfREVGQ09O
RklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgoKIwojIENvZGUg
bWF0dXJpdHkgbGV2ZWwgb3B0aW9ucwojCkNPTkZJR19FWFBFUklNRU5UQUw9eQpDT05GSUdfTE9D
S19LRVJORUw9eQpDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCgojCiMgR2VuZXJhbCBzZXR1
cAojCkNPTkZJR19MT0NBTFZFUlNJT049IiIKQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKQ09O
RklHX1NXQVA9eQpDT05GSUdfU1lTVklQQz15CiMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CkNP
TkZJR19QT1NJWF9NUVVFVUU9eQojIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQK
IyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQK
IyBDT05GSUdfQVVESVQgaXMgbm90IHNldApDT05GSUdfSUtDT05GSUc9eQpDT05GSUdfSUtDT05G
SUdfUFJPQz15CiMgQ09ORklHX0NQVVNFVFMgaXMgbm90IHNldAojIENPTkZJR19SRUxBWSBpcyBu
b3Qgc2V0CkNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCkNPTkZJR19DQ19PUFRJTUlaRV9GT1Jf
U0laRT15CkNPTkZJR19TWVNDVEw9eQojIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CkNPTkZJ
R19VSUQxNj15CkNPTkZJR19TWVNDVExfU1lTQ0FMTD15CkNPTkZJR19LQUxMU1lNUz15CkNPTkZJ
R19LQUxMU1lNU19BTEw9eQojIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQK
Q09ORklHX0hPVFBMVUc9eQpDT05GSUdfUFJJTlRLPXkKQ09ORklHX0JVRz15CkNPTkZJR19FTEZf
Q09SRT15CkNPTkZJR19CQVNFX0ZVTEw9eQpDT05GSUdfRlVURVg9eQpDT05GSUdfRVBPTEw9eQpD
T05GSUdfU0hNRU09eQpDT05GSUdfU0xBQj15CkNPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CkNP
TkZJR19SVF9NVVRFWEVTPXkKIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CkNPTkZJR19C
QVNFX1NNQUxMPTAKIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CgojCiMgTG9hZGFibGUgbW9kdWxl
IHN1cHBvcnQKIwpDT05GSUdfTU9EVUxFUz15CkNPTkZJR19NT0RVTEVfVU5MT0FEPXkKQ09ORklH
X01PRFVMRV9GT1JDRV9VTkxPQUQ9eQojIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiMg
Q09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiMgQ09ORklHX0tNT0QgaXMg
bm90IHNldApDT05GSUdfU1RPUF9NQUNISU5FPXkKCiMKIyBCbG9jayBsYXllcgojCkNPTkZJR19C
TE9DSz15CkNPTkZJR19MQkQ9eQojIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQK
IyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKCiMKIyBJTyBTY2hlZHVsZXJzCiMKQ09ORklHX0lPU0NI
RURfTk9PUD15CiMgQ09ORklHX0lPU0NIRURfQVMgaXMgbm90IHNldApDT05GSUdfSU9TQ0hFRF9E
RUFETElORT15CkNPTkZJR19JT1NDSEVEX0NGUT15CiMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90
IHNldAojIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFVTFRf
Q0ZRPXkKIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFVTFRfSU9T
Q0hFRD0iY2ZxIgoKIwojIFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcwojCkNPTkZJR19YODZf
UEM9eQojIENPTkZJR19YODZfVlNNUCBpcyBub3Qgc2V0CiMgQ09ORklHX01LOCBpcyBub3Qgc2V0
CkNPTkZJR19NUFNDPXkKIyBDT05GSUdfR0VORVJJQ19DUFUgaXMgbm90IHNldApDT05GSUdfWDg2
X0wxX0NBQ0hFX0JZVEVTPTEyOApDT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTcKQ09ORklHX1g4
Nl9JTlRFUk5PREVfQ0FDSEVfQllURVM9MTI4CkNPTkZJR19YODZfVFNDPXkKQ09ORklHX1g4Nl9H
T09EX0FQSUM9eQpDT05GSUdfTUlDUk9DT0RFPXkKQ09ORklHX01JQ1JPQ09ERV9PTERfSU5URVJG
QUNFPXkKQ09ORklHX1g4Nl9NU1I9eQpDT05GSUdfWDg2X0NQVUlEPXkKQ09ORklHX1g4Nl9IVD15
CkNPTkZJR19YODZfSU9fQVBJQz15CkNPTkZJR19YODZfTE9DQUxfQVBJQz15CkNPTkZJR19NVFJS
PXkKQ09ORklHX1NNUD15CkNPTkZJR19TQ0hFRF9TTVQ9eQpDT05GSUdfU0NIRURfTUM9eQojIENP
TkZJR19QUkVFTVBUX05PTkUgaXMgbm90IHNldApDT05GSUdfUFJFRU1QVF9WT0xVTlRBUlk9eQoj
IENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKQ09ORklHX1BSRUVNUFRfQktMPXkKQ09ORklHX05V
TUE9eQpDT05GSUdfSzhfTlVNQT15CkNPTkZJR19OT0RFU19TSElGVD02CkNPTkZJR19YODZfNjRf
QUNQSV9OVU1BPXkKQ09ORklHX05VTUFfRU1VPXkKQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VO
QUJMRT15CkNPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9ERUZBVUxUPXkKQ09ORklHX0FSQ0hfU1BB
UlNFTUVNX0VOQUJMRT15CkNPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIyBDT05GSUdfRkxB
VE1FTV9NQU5VQUwgaXMgbm90IHNldApDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTD15CiMgQ09O
RklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldApDT05GSUdfRElTQ09OVElHTUVNPXkKQ09O
RklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVM9eQojIENP
TkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKQ09ORklHX1NQTElUX1BUTE9DS19DUFVT
PTQKQ09ORklHX01JR1JBVElPTj15CkNPTkZJR19SRVNPVVJDRVNfNjRCSVQ9eQpDT05GSUdfSEFW
RV9BUkNIX0VBUkxZX1BGTl9UT19OSUQ9eQpDT05GSUdfT1VUX09GX0xJTkVfUEZOX1RPX1BBR0U9
eQpDT05GSUdfTlJfQ1BVUz0zMgpDT05GSUdfSE9UUExVR19DUFU9eQpDT05GSUdfQVJDSF9FTkFC
TEVfTUVNT1JZX0hPVFBMVUc9eQpDT05GSUdfSFBFVF9USU1FUj15CkNPTkZJR19IUEVUX0VNVUxB
VEVfUlRDPXkKQ09ORklHX0lPTU1VPXkKIyBDT05GSUdfQ0FMR0FSWV9JT01NVSBpcyBub3Qgc2V0
CkNPTkZJR19TV0lPVExCPXkKQ09ORklHX1g4Nl9NQ0U9eQpDT05GSUdfWDg2X01DRV9JTlRFTD15
CiMgQ09ORklHX1g4Nl9NQ0VfQU1EIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VYRUMgaXMgbm90IHNl
dAojIENPTkZJR19DUkFTSF9EVU1QIGlzIG5vdCBzZXQKQ09ORklHX1BIWVNJQ0FMX1NUQVJUPTB4
MjAwMDAwCkNPTkZJR19TRUNDT01QPXkKIyBDT05GSUdfQ0NfU1RBQ0tQUk9URUNUT1IgaXMgbm90
IHNldAojIENPTkZJR19IWl8xMDAgaXMgbm90IHNldApDT05GSUdfSFpfMjUwPXkKIyBDT05GSUdf
SFpfMTAwMCBpcyBub3Qgc2V0CkNPTkZJR19IWj0yNTAKIyBDT05GSUdfUkVPUkRFUiBpcyBub3Qg
c2V0CkNPTkZJR19LOF9OQj15CkNPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQ09ORklHX0dFTkVS
SUNfSVJRX1BST0JFPXkKQ09ORklHX0lTQV9ETUFfQVBJPXkKQ09ORklHX0dFTkVSSUNfUEVORElO
R19JUlE9eQoKIwojIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwojCkNPTkZJR19QTT15CiMgQ09O
RklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKIyBD
T05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0CkNPTkZJR19TT0ZUV0FSRV9TVVNQ
RU5EPXkKQ09ORklHX1BNX1NURF9QQVJUSVRJT049IiIKQ09ORklHX1NVU1BFTkRfU01QPXkKCiMK
IyBBQ1BJIChBZHZhbmNlZCBDb25maWd1cmF0aW9uIGFuZCBQb3dlciBJbnRlcmZhY2UpIFN1cHBv
cnQKIwpDT05GSUdfQUNQST15CkNPTkZJR19BQ1BJX1NMRUVQPXkKQ09ORklHX0FDUElfU0xFRVBf
UFJPQ19GUz15CkNPTkZJR19BQ1BJX1NMRUVQX1BST0NfU0xFRVA9eQpDT05GSUdfQUNQSV9BQz15
CkNPTkZJR19BQ1BJX0JBVFRFUlk9eQpDT05GSUdfQUNQSV9CVVRUT049eQpDT05GSUdfQUNQSV9W
SURFTz15CiMgQ09ORklHX0FDUElfSE9US0VZIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfRkFOPXkK
IyBDT05GSUdfQUNQSV9ET0NLIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfUFJPQ0VTU09SPXkKQ09O
RklHX0FDUElfSE9UUExVR19DUFU9eQpDT05GSUdfQUNQSV9USEVSTUFMPXkKQ09ORklHX0FDUElf
TlVNQT15CiMgQ09ORklHX0FDUElfQVNVUyBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX0lCTT15CiMg
Q09ORklHX0FDUElfSUJNX0RPQ0sgaXMgbm90IHNldAojIENPTkZJR19BQ1BJX1RPU0hJQkEgaXMg
bm90IHNldApDT05GSUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0wCiMgQ09ORklHX0FDUElfREVCVUcg
aXMgbm90IHNldApDT05GSUdfQUNQSV9FQz15CkNPTkZJR19BQ1BJX1BPV0VSPXkKQ09ORklHX0FD
UElfU1lTVEVNPXkKQ09ORklHX1g4Nl9QTV9USU1FUj15CkNPTkZJR19BQ1BJX0NPTlRBSU5FUj15
CiMgQ09ORklHX0FDUElfU0JTIGlzIG5vdCBzZXQKCiMKIyBDUFUgRnJlcXVlbmN5IHNjYWxpbmcK
IwojIENPTkZJR19DUFVfRlJFUSBpcyBub3Qgc2V0CgojCiMgQnVzIG9wdGlvbnMgKFBDSSBldGMu
KQojCkNPTkZJR19QQ0k9eQpDT05GSUdfUENJX0RJUkVDVD15CkNPTkZJR19QQ0lfTU1DT05GSUc9
eQpDT05GSUdfUENJRVBPUlRCVVM9eQpDT05GSUdfUENJRUFFUj15CkNPTkZJR19QQ0lfTVNJPXkK
IyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfSFRfSVJRIGlzIG5vdCBzZXQK
CiMKIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CiMKQ09ORklHX1BDQ0FSRD1tCiMg
Q09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19QQ01DSUE9bQpDT05GSUdfUENN
Q0lBX0xPQURfQ0lTPXkKQ09ORklHX1BDTUNJQV9JT0NUTD15CkNPTkZJR19DQVJEQlVTPXkKCiMK
IyBQQy1jYXJkIGJyaWRnZXMKIwojIENPTkZJR19ZRU5UQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BE
NjcyOSBpcyBub3Qgc2V0CiMgQ09ORklHX0k4MjA5MiBpcyBub3Qgc2V0CgojCiMgUENJIEhvdHBs
dWcgU3VwcG9ydAojCiMgQ09ORklHX0hPVFBMVUdfUENJIGlzIG5vdCBzZXQKCiMKIyBFeGVjdXRh
YmxlIGZpbGUgZm9ybWF0cyAvIEVtdWxhdGlvbnMKIwpDT05GSUdfQklORk1UX0VMRj15CkNPTkZJ
R19CSU5GTVRfTUlTQz15CkNPTkZJR19JQTMyX0VNVUxBVElPTj15CkNPTkZJR19JQTMyX0FPVVQ9
eQpDT05GSUdfQ09NUEFUPXkKQ09ORklHX1NZU1ZJUENfQ09NUEFUPXkKCiMKIyBOZXR3b3JraW5n
CiMKQ09ORklHX05FVD15CgojCiMgTmV0d29ya2luZyBvcHRpb25zCiMKIyBDT05GSUdfTkVUREVC
VUcgaXMgbm90IHNldApDT05GSUdfUEFDS0VUPXkKIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90
IHNldApDT05GSUdfVU5JWD15CiMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldApDT05GSUdfSU5F
VD15CkNPTkZJR19JUF9NVUxUSUNBU1Q9eQojIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMg
bm90IHNldApDT05GSUdfSVBfRklCX0hBU0g9eQpDT05GSUdfSVBfUE5QPXkKQ09ORklHX0lQX1BO
UF9ESENQPXkKIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfUE5Q
X1JBUlAgaXMgbm90IHNldAojIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiMgQ09ORklHX05F
VF9JUEdSRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiMgQ09ORklH
X0FSUEQgaXMgbm90IHNldAojIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiMgQ09ORklH
X0lORVRfQUggaXMgbm90IHNldAojIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CiMgQ09ORklH
X0lORVRfSVBDT01QIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qg
c2V0CiMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01P
REVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlz
IG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CkNPTkZJR19J
TkVUX0RJQUc9eQpDT05GSUdfSU5FVF9UQ1BfRElBRz15CiMgQ09ORklHX1RDUF9DT05HX0FEVkFO
Q0VEIGlzIG5vdCBzZXQKQ09ORklHX1RDUF9DT05HX0NVQklDPXkKQ09ORklHX0RFRkFVTFRfVENQ
X0NPTkc9ImN1YmljIgpDT05GSUdfSVBWNj15CiMgQ09ORklHX0lQVjZfUFJJVkFDWSBpcyBub3Qg
c2V0CiMgQ09ORklHX0lQVjZfUk9VVEVSX1BSRUYgaXMgbm90IHNldAojIENPTkZJR19JTkVUNl9B
SCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2X0VTUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2
X0lQQ09NUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQVjZfTUlQNiBpcyBub3Qgc2V0CiMgQ09ORklH
X0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5v
dCBzZXQKIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CiMgQ09O
RklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAojIENPTkZJR19JTkVUNl9YRlJN
X01PREVfQkVFVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9ST1VURU9QVElN
SVpBVElPTiBpcyBub3Qgc2V0CkNPTkZJR19JUFY2X1NJVD15CiMgQ09ORklHX0lQVjZfVFVOTkVM
IGlzIG5vdCBzZXQKIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAojIENP
TkZJR19ORVRMQUJFTCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qg
c2V0CiMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CgojCiMgRENDUCBDb25maWd1cmF0aW9u
IChFWFBFUklNRU5UQUwpCiMKIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CgojCiMgU0NUUCBD
b25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwpCiMKIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0
CgojCiMgVElQQyBDb25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwpCiMKIyBDT05GSUdfVElQQyBp
cyBub3Qgc2V0CiMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CiMgQ09ORklHX0JSSURHRSBpcyBub3Qg
c2V0CiMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAojIENPTkZJR19ERUNORVQgaXMgbm90
IHNldAojIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKIyBD
T05GSUdfQVRBTEsgaXMgbm90IHNldAojIENPTkZJR19YMjUgaXMgbm90IHNldAojIENPTkZJR19M
QVBCIGlzIG5vdCBzZXQKIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKIyBDT05GSUdfV0FOX1JP
VVRFUiBpcyBub3Qgc2V0CgojCiMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCiMKIyBDT05GSUdf
TkVUX1NDSEVEIGlzIG5vdCBzZXQKCiMKIyBOZXR3b3JrIHRlc3RpbmcKIwojIENPTkZJR19ORVRf
UEtUR0VOIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKIyBDT05G
SUdfSEFNUkFESU8gaXMgbm90IHNldApDT05GSUdfSVJEQT15CgojCiMgSXJEQSBwcm90b2NvbHMK
IwojIENPTkZJR19JUkxBTiBpcyBub3Qgc2V0CiMgQ09ORklHX0lSQ09NTSBpcyBub3Qgc2V0CiMg
Q09ORklHX0lSREFfVUxUUkEgaXMgbm90IHNldAoKIwojIElyREEgb3B0aW9ucwojCiMgQ09ORklH
X0lSREFfQ0FDSEVfTEFTVF9MU0FQIGlzIG5vdCBzZXQKIyBDT05GSUdfSVJEQV9GQVNUX1JSIGlz
IG5vdCBzZXQKIyBDT05GSUdfSVJEQV9ERUJVRyBpcyBub3Qgc2V0CgojCiMgSW5mcmFyZWQtcG9y
dCBkZXZpY2UgZHJpdmVycwojCgojCiMgU0lSIGRldmljZSBkcml2ZXJzCiMKIyBDT05GSUdfSVJU
VFlfU0lSIGlzIG5vdCBzZXQKCiMKIyBEb25nbGUgc3VwcG9ydAojCgojCiMgT2xkIFNJUiBkZXZp
Y2UgZHJpdmVycwojCgojCiMgT2xkIFNlcmlhbCBkb25nbGUgc3VwcG9ydAojCgojCiMgRklSIGRl
dmljZSBkcml2ZXJzCiMKIyBDT05GSUdfVVNCX0lSREEgaXMgbm90IHNldAojIENPTkZJR19TSUdN
QVRFTF9GSVIgaXMgbm90IHNldAojIENPTkZJR19OU0NfRklSIGlzIG5vdCBzZXQKIyBDT05GSUdf
V0lOQk9ORF9GSVIgaXMgbm90IHNldAojIENPTkZJR19TTUNfSVJDQ19GSVIgaXMgbm90IHNldAoj
IENPTkZJR19BTElfRklSIGlzIG5vdCBzZXQKIyBDT05GSUdfVkxTSV9GSVIgaXMgbm90IHNldAoj
IENPTkZJR19WSUFfRklSIGlzIG5vdCBzZXQKIyBDT05GSUdfTUNTX0ZJUiBpcyBub3Qgc2V0CkNP
TkZJR19CVD15CiMgQ09ORklHX0JUX0wyQ0FQIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRfU0NPIGlz
IG5vdCBzZXQKCiMKIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKIwojIENPTkZJR19CVF9IQ0lV
U0IgaXMgbm90IHNldAojIENPTkZJR19CVF9IQ0lVQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRf
SENJQkNNMjAzWCBpcyBub3Qgc2V0CiMgQ09ORklHX0JUX0hDSUJQQTEwWCBpcyBub3Qgc2V0CiMg
Q09ORklHX0JUX0hDSUJGVVNCIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRfSENJRFRMMSBpcyBub3Qg
c2V0CiMgQ09ORklHX0JUX0hDSUJUM0MgaXMgbm90IHNldAojIENPTkZJR19CVF9IQ0lCTFVFQ0FS
RCBpcyBub3Qgc2V0CiMgQ09ORklHX0JUX0hDSUJUVUFSVCBpcyBub3Qgc2V0CiMgQ09ORklHX0JU
X0hDSVZIQ0kgaXMgbm90IHNldAojIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldApDT05GSUdf
V0lSRUxFU1NfRVhUPXkKCiMKIyBEZXZpY2UgRHJpdmVycwojCgojCiMgR2VuZXJpYyBEcml2ZXIg
T3B0aW9ucwojCkNPTkZJR19TVEFOREFMT05FPXkKQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJ
TEQ9eQpDT05GSUdfRldfTE9BREVSPXkKIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQK
IyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAoKIwojIENvbm5lY3RvciAtIHVuaWZp
ZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKIwojIENPTkZJR19DT05ORUNUT1Ig
aXMgbm90IHNldAoKIwojIE1lbW9yeSBUZWNobm9sb2d5IERldmljZXMgKE1URCkKIwojIENPTkZJ
R19NVEQgaXMgbm90IHNldAoKIwojIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAojCiMgQ09ORklHX1BB
UlBPUlQgaXMgbm90IHNldAoKIwojIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAojCiMgQ09ORklHX1BO
UCBpcyBub3Qgc2V0CgojCiMgQmxvY2sgZGV2aWNlcwojCiMgQ09ORklHX0JMS19ERVZfRkQgaXMg
bm90IHNldAojIENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0NQUV9D
SVNTX0RBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90IHNldAojIENP
TkZJR19CTEtfREVWX1VNRU0gaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0NPV19DT01NT04g
aXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9MT09QPXkKIyBDT05GSUdfQkxLX0RFVl9DUllQVE9M
T09QIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAojIENPTkZJR19C
TEtfREVWX1NYOCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldApDT05G
SUdfQkxLX0RFVl9SQU09eQpDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKQ09ORklHX0JMS19E
RVZfUkFNX1NJWkU9NDA5NgpDT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKQ09ORklH
X0JMS19ERVZfSU5JVFJEPXkKIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiMgQ09O
RklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CgojCiMgTWlzYyBkZXZpY2VzCiMKIyBDT05GSUdf
SUJNX0FTTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKQ09ORklHX1RJ
Rk1fQ09SRT15CkNPTkZJR19USUZNXzdYWDE9eQoKIwojIEFUQS9BVEFQSS9NRk0vUkxMIHN1cHBv
cnQKIwpDT05GSUdfSURFPXkKQ09ORklHX0JMS19ERVZfSURFPXkKCiMKIyBQbGVhc2Ugc2VlIERv
Y3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKIwojIENPTkZJ
R19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9IRF9JREUgaXMg
bm90IHNldApDT05GSUdfQkxLX0RFVl9JREVESVNLPXkKQ09ORklHX0lERURJU0tfTVVMVElfTU9E
RT15CiMgQ09ORklHX0JMS19ERVZfSURFQ1MgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9JREVD
RD15CiMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZf
SURFRkxPUFBZIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JREVTQ1NJIGlzIG5vdCBzZXQK
IyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAoKIwojIElERSBjaGlwc2V0IHN1cHBv
cnQvYnVnZml4ZXMKIwpDT05GSUdfSURFX0dFTkVSSUM9eQojIENPTkZJR19CTEtfREVWX0NNRDY0
MCBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX0lERVBDST15CiMgQ09ORklHX0lERVBDSV9TSEFS
RV9JUlEgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX09GRkJPQVJEIGlzIG5vdCBzZXQKIyBD
T05GSUdfQkxLX0RFVl9HRU5FUklDIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIx
IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9SWjEwMDAgaXMgbm90IHNldApDT05GSUdfQkxL
X0RFVl9JREVETUFfUENJPXkKIyBDT05GSUdfQkxLX0RFVl9JREVETUFfRk9SQ0VEIGlzIG5vdCBz
ZXQKQ09ORklHX0lERURNQV9QQ0lfQVVUTz15CiMgQ09ORklHX0lERURNQV9PTkxZRElTSyBpcyBu
b3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfQUVDNjJYWCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E
RVZfQUxJMTVYMyBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX0FNRDc0WFg9eQpDT05GSUdfQkxL
X0RFVl9BVElJWFA9eQojIENPTkZJR19CTEtfREVWX0NNRDY0WCBpcyBub3Qgc2V0CiMgQ09ORklH
X0JMS19ERVZfVFJJRkxFWCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfQ1k4MkM2OTMgaXMg
bm90IHNldAojIENPTkZJR19CTEtfREVWX0NTNTUyMCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E
RVZfQ1M1NTMwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9IUFQzNFggaXMgbm90IHNldAoj
IENPTkZJR19CTEtfREVWX0hQVDM2NiBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSk1JQ1JP
TiBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU0MxMjAwIGlzIG5vdCBzZXQKQ09ORklHX0JM
S19ERVZfUElJWD15CiMgQ09ORklHX0JMS19ERVZfSVQ4MjFYIGlzIG5vdCBzZXQKIyBDT05GSUdf
QkxLX0RFVl9OUzg3NDE1IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9PTEQg
aXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9ORVc9eQojIENPTkZJR19CTEtfREVW
X1NWV0tTIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TSUlNQUdFIGlzIG5vdCBzZXQKIyBD
T05GSUdfQkxLX0RFVl9TSVM1NTEzIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TTEM5MEU2
NiBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVFJNMjkwIGlzIG5vdCBzZXQKIyBDT05GSUdf
QkxLX0RFVl9WSUE4MkNYWFggaXMgbm90IHNldAojIENPTkZJR19JREVfQVJNIGlzIG5vdCBzZXQK
Q09ORklHX0JMS19ERVZfSURFRE1BPXkKIyBDT05GSUdfSURFRE1BX0lWQiBpcyBub3Qgc2V0CkNP
TkZJR19JREVETUFfQVVUTz15CiMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAoKIwojIFND
U0kgZGV2aWNlIHN1cHBvcnQKIwojIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKQ09ORklH
X1NDU0k9eQojIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX1BS
T0NfRlMgaXMgbm90IHNldAoKIwojIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1S
T00pCiMKQ09ORklHX0JMS19ERVZfU0Q9eQojIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQK
IyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfU1I9eQojIENP
TkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CkNPTkZJR19DSFJfREVWX1NHPXkKIyBD
T05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAoKIwojIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcu
IENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwojCiMgQ09ORklHX1NDU0lfTVVMVElf
TFVOIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfQ09OU1RBTlRTPXkKIyBDT05GSUdfU0NTSV9MT0dH
SU5HIGlzIG5vdCBzZXQKCiMKIyBTQ1NJIFRyYW5zcG9ydHMKIwpDT05GSUdfU0NTSV9TUElfQVRU
UlM9eQojIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9JU0NT
SV9BVFRSUyBpcyBub3Qgc2V0CkNPTkZJR19TQ1NJX1NBU19BVFRSUz15CiMgQ09ORklHX1NDU0lf
U0FTX0xJQlNBUyBpcyBub3Qgc2V0CgojCiMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwojCiMgQ09O
RklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9B
Q0FSRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUFDUkFJRCBpcyBub3Qgc2V0CiMgQ09ORklH
X1NDU0lfQUlDN1hYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUlDN1hYWF9PTEQgaXMgbm90
IHNldAojIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FJQzk0
WFggaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0CiMgQ09ORklHX01F
R0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0CiMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qg
c2V0CiMgQ09ORklHX01FR0FSQUlEX1NBUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSFBUSU9Q
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9CVVNMT0dJQyBpcyBub3Qgc2V0CiMgQ09ORklHX1ND
U0lfRE1YMzE5MUQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0VBVEEgaXMgbm90IHNldAojIENP
TkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0dEVEggaXMg
bm90IHNldAojIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSU5JVElP
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NT
SV9TVEVYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CiMg
Q09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9RTEFf
SVNDU0kgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNldAojIENPTkZJR19T
Q1NJX0RDMzk1eCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfREMzOTBUIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CgojCiMgUENNQ0lBIFNDU0kgYWRhcHRlciBzdXBw
b3J0CiMKIyBDT05GSUdfUENNQ0lBX0ZET01BSU4gaXMgbm90IHNldAojIENPTkZJR19QQ01DSUFf
UUxPR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfUENNQ0lBX1NZTTUzQzUwMCBpcyBub3Qgc2V0Cgoj
CiMgU2VyaWFsIEFUQSAocHJvZCkgYW5kIFBhcmFsbGVsIEFUQSAoZXhwZXJpbWVudGFsKSBkcml2
ZXJzCiMKQ09ORklHX0FUQT15CkNPTkZJR19TQVRBX0FIQ0k9eQojIENPTkZJR19TQVRBX1NWVyBp
cyBub3Qgc2V0CkNPTkZJR19BVEFfUElJWD15CiMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNldAoj
IENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAoj
IENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5v
dCBzZXQKIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NJTCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NJUyBp
cyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9WSUEg
aXMgbm90IHNldAojIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldApDT05GSUdfU0FUQV9J
TlRFTF9DT01CSU5FRD15CiMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFU
QV9BTUQgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKIyBDT05GSUdf
UEFUQV9BVElJWFAgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CiMg
Q09ORklHX1BBVEFfQ1M1NTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90
IHNldAojIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0VGQVIg
aXMgbm90IHNldAojIENPTkZJR19BVEFfR0VORVJJQyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFf
SFBUMzY2IGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMgbm90IHNldAojIENPTkZJ
R19QQVRBX0hQVDNYMk4gaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0
CiMgQ09ORklHX1BBVEFfSVQ4MjFYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9KTUlDUk9OIGlz
IG5vdCBzZXQKIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9N
UElJWCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CiMgQ09ORklH
X1BBVEFfTkVUQ0VMTCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0
CiMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBu
b3Qgc2V0CiMgQ09ORklHX1BBVEFfUENNQ0lBIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9QRENf
T0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKIyBDT05GSUdf
UEFUQV9SWjEwMDAgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1NDMTIwMCBpcyBub3Qgc2V0CiMg
Q09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1BEQzIwMjdY
IGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMgbm90IHNldAojIENPTkZJR19QQVRB
X1NJUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfVklBIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFU
QV9XSU5CT05EIGlzIG5vdCBzZXQKCiMKIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQg
TFZNKQojCiMgQ09ORklHX01EIGlzIG5vdCBzZXQKCiMKIyBGdXNpb24gTVBUIGRldmljZSBzdXBw
b3J0CiMKQ09ORklHX0ZVU0lPTj15CkNPTkZJR19GVVNJT05fU1BJPXkKIyBDT05GSUdfRlVTSU9O
X0ZDIGlzIG5vdCBzZXQKQ09ORklHX0ZVU0lPTl9TQVM9eQpDT05GSUdfRlVTSU9OX01BWF9TR0U9
MTI4CiMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90IHNldAoKIwojIElFRUUgMTM5NCAoRmlyZVdp
cmUpIHN1cHBvcnQKIwpDT05GSUdfSUVFRTEzOTQ9eQoKIwojIFN1YnN5c3RlbSBPcHRpb25zCiMK
IyBDT05GSUdfSUVFRTEzOTRfVkVSQk9TRURFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfSUVFRTEz
OTRfT1VJX0RCIGlzIG5vdCBzZXQKIyBDT05GSUdfSUVFRTEzOTRfRVhUUkFfQ09ORklHX1JPTVMg
aXMgbm90IHNldAojIENPTkZJR19JRUVFMTM5NF9FWFBPUlRfRlVMTF9BUEkgaXMgbm90IHNldAoK
IwojIERldmljZSBEcml2ZXJzCiMKQ09ORklHX0lFRUUxMzk0X1BDSUxZTlg9bQpDT05GSUdfSUVF
RTEzOTRfT0hDSTEzOTQ9eQoKIwojIFByb3RvY29sIERyaXZlcnMKIwojIENPTkZJR19JRUVFMTM5
NF9WSURFTzEzOTQgaXMgbm90IHNldAojIENPTkZJR19JRUVFMTM5NF9TQlAyIGlzIG5vdCBzZXQK
IyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NCBpcyBub3Qgc2V0CiMgQ09ORklHX0lFRUUxMzk0X0RW
MTM5NCBpcyBub3Qgc2V0CkNPTkZJR19JRUVFMTM5NF9SQVdJTz15CgojCiMgSTJPIGRldmljZSBz
dXBwb3J0CiMKIyBDT05GSUdfSTJPIGlzIG5vdCBzZXQKCiMKIyBOZXR3b3JrIGRldmljZSBzdXBw
b3J0CiMKQ09ORklHX05FVERFVklDRVM9eQojIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiMgQ09O
RklHX0JPTkRJTkcgaXMgbm90IHNldAojIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldApDT05G
SUdfVFVOPXkKCiMKIyBBUkNuZXQgZGV2aWNlcwojCiMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0
CgojCiMgUEhZIGRldmljZSBzdXBwb3J0CiMKIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKCiMK
IyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKIwpDT05GSUdfTkVUX0VUSEVSTkVUPXkKQ09ORklH
X01JST15CiMgQ09ORklHX0hBUFBZTUVBTCBpcyBub3Qgc2V0CiMgQ09ORklHX1NVTkdFTSBpcyBu
b3Qgc2V0CiMgQ09ORklHX0NBU1NJTkkgaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVORE9SXzND
T00gaXMgbm90IHNldAoKIwojIFR1bGlwIGZhbWlseSBuZXR3b3JrIGRldmljZSBzdXBwb3J0CiMK
Q09ORklHX05FVF9UVUxJUD15CiMgQ09ORklHX0RFMjEwNFggaXMgbm90IHNldApDT05GSUdfVFVM
SVA9eQojIENPTkZJR19UVUxJUF9NV0kgaXMgbm90IHNldAojIENPTkZJR19UVUxJUF9NTUlPIGlz
IG5vdCBzZXQKIyBDT05GSUdfVFVMSVBfTkFQSSBpcyBub3Qgc2V0CiMgQ09ORklHX0RFNFg1IGlz
IG5vdCBzZXQKIyBDT05GSUdfV0lOQk9ORF84NDAgaXMgbm90IHNldAojIENPTkZJR19ETTkxMDIg
aXMgbm90IHNldAojIENPTkZJR19VTEk1MjZYIGlzIG5vdCBzZXQKIyBDT05GSUdfUENNQ0lBX1hJ
UkNPTSBpcyBub3Qgc2V0CiMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1BD
SSBpcyBub3Qgc2V0CgojCiMgRXRoZXJuZXQgKDEwMDAgTWJpdCkKIwojIENPTkZJR19BQ0VOSUMg
aXMgbm90IHNldAojIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKIyBDT05GSUdfRTEwMDAgaXMgbm90
IHNldAojIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKIyBDT05GSUdfSEFNQUNISSBpcyBub3Qg
c2V0CiMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0CiMgQ09ORklHX1I4MTY5IGlzIG5vdCBz
ZXQKIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0CiMg
Q09ORklHX1NLWTIgaXMgbm90IHNldAojIENPTkZJR19TSzk4TElOIGlzIG5vdCBzZXQKQ09ORklH
X1RJR09OMz1tCiMgQ09ORklHX0JOWDIgaXMgbm90IHNldAojIENPTkZJR19RTEEzWFhYIGlzIG5v
dCBzZXQKCiMKIyBFdGhlcm5ldCAoMTAwMDAgTWJpdCkKIwojIENPTkZJR19DSEVMU0lPX1QxIGlz
IG5vdCBzZXQKIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0CiMgQ09ORklHX1MySU8gaXMgbm90IHNl
dAojIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CgojCiMgVG9rZW4gUmluZyBkZXZpY2VzCiMK
IyBDT05GSUdfVFIgaXMgbm90IHNldAoKIwojIFdpcmVsZXNzIExBTiAobm9uLWhhbXJhZGlvKQoj
CkNPTkZJR19ORVRfUkFESU89eQojIENPTkZJR19ORVRfV0lSRUxFU1NfUlRORVRMSU5LIGlzIG5v
dCBzZXQKCiMKIyBPYnNvbGV0ZSBXaXJlbGVzcyBjYXJkcyBzdXBwb3J0IChwcmUtODAyLjExKQoj
CiMgQ09ORklHX1NUUklQIGlzIG5vdCBzZXQKIyBDT05GSUdfUENNQ0lBX1dBVkVMQU4gaXMgbm90
IHNldAojIENPTkZJR19QQ01DSUFfTkVUV0FWRSBpcyBub3Qgc2V0CgojCiMgV2lyZWxlc3MgODAy
LjExIEZyZXF1ZW5jeSBIb3BwaW5nIGNhcmRzIHN1cHBvcnQKIwojIENPTkZJR19QQ01DSUFfUkFZ
Q1MgaXMgbm90IHNldAoKIwojIFdpcmVsZXNzIDgwMi4xMWIgSVNBL1BDSSBjYXJkcyBzdXBwb3J0
CiMKIyBDT05GSUdfSVBXMjEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQVzIyMDAgaXMgbm90IHNl
dAojIENPTkZJR19BSVJPIGlzIG5vdCBzZXQKIyBDT05GSUdfSEVSTUVTIGlzIG5vdCBzZXQKIyBD
T05GSUdfQVRNRUwgaXMgbm90IHNldAoKIwojIFdpcmVsZXNzIDgwMi4xMWIgUGNtY2lhL0NhcmRi
dXMgY2FyZHMgc3VwcG9ydAojCiMgQ09ORklHX0FJUk9fQ1MgaXMgbm90IHNldAojIENPTkZJR19Q
Q01DSUFfV0wzNTAxIGlzIG5vdCBzZXQKCiMKIyBQcmlzbSBHVC9EdWV0dGUgODAyLjExKGEvYi9n
KSBQQ0kvQ2FyZGJ1cyBzdXBwb3J0CiMKIyBDT05GSUdfUFJJU001NCBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9aRDEyMDEgaXMgbm90IHNldAojIENPTkZJR19IT1NUQVAgaXMgbm90IHNldApDT05G
SUdfTkVUX1dJUkVMRVNTPXkKCiMKIyBQQ01DSUEgbmV0d29yayBkZXZpY2Ugc3VwcG9ydAojCiMg
Q09ORklHX05FVF9QQ01DSUEgaXMgbm90IHNldAoKIwojIFdhbiBpbnRlcmZhY2VzCiMKIyBDT05G
SUdfV0FOIGlzIG5vdCBzZXQKIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CiMgQ09ORklHX0hJUFBJ
IGlzIG5vdCBzZXQKIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKIyBDT05GSUdfU0xJUCBpcyBub3Qg
c2V0CiMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0CiMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0
CkNPTkZJR19ORVRDT05TT0xFPXkKQ09ORklHX05FVFBPTEw9eQojIENPTkZJR19ORVRQT0xMX1JY
IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUUE9MTF9UUkFQIGlzIG5vdCBzZXQKQ09ORklHX05FVF9Q
T0xMX0NPTlRST0xMRVI9eQoKIwojIElTRE4gc3Vic3lzdGVtCiMKIyBDT05GSUdfSVNETiBpcyBu
b3Qgc2V0CgojCiMgVGVsZXBob255IFN1cHBvcnQKIwojIENPTkZJR19QSE9ORSBpcyBub3Qgc2V0
CgojCiMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdfSU5QVVQ9eQojIENPTkZJR19JTlBV
VF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKCiMKIyBVc2VybGFuZCBpbnRlcmZhY2VzCiMKQ09ORklH
X0lOUFVUX01PVVNFREVWPXkKQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKQ09ORklHX0lO
UFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9Z
PTc2OAojIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9UU0RF
ViBpcyBub3Qgc2V0CkNPTkZJR19JTlBVVF9FVkRFVj15CiMgQ09ORklHX0lOUFVUX0VWQlVHIGlz
IG5vdCBzZXQKCiMKIyBJbnB1dCBEZXZpY2UgRHJpdmVycwojCkNPTkZJR19JTlBVVF9LRVlCT0FS
RD15CkNPTkZJR19LRVlCT0FSRF9BVEtCRD15CiMgQ09ORklHX0tFWUJPQVJEX1NVTktCRCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX0xLS0JEIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9B
UkRfWFRLQkQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAoj
IENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0CkNPTkZJR19JTlBVVF9NT1VTRT15
CkNPTkZJR19NT1VTRV9QUzI9eQojIENPTkZJR19NT1VTRV9TRVJJQUwgaXMgbm90IHNldAojIENP
TkZJR19NT1VTRV9WU1hYWEFBIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMg
bm90IHNldAojIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiMgQ09ORklHX0lO
UFVUX01JU0MgaXMgbm90IHNldAoKIwojIEhhcmR3YXJlIEkvTyBwb3J0cwojCkNPTkZJR19TRVJJ
Tz15CkNPTkZJR19TRVJJT19JODA0Mj15CiMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNl
dAojIENPTkZJR19TRVJJT19DVDgyQzcxMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklPX1BDSVBT
MiBpcyBub3Qgc2V0CkNPTkZJR19TRVJJT19MSUJQUzI9eQojIENPTkZJR19TRVJJT19SQVcgaXMg
bm90IHNldAojIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CgojCiMgQ2hhcmFjdGVyIGRldmlj
ZXMKIwpDT05GSUdfVlQ9eQpDT05GSUdfVlRfQ09OU09MRT15CkNPTkZJR19IV19DT05TT0xFPXkK
IyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFM
X05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKCiMKIyBTZXJpYWwgZHJpdmVycwojCkNPTkZJR19TRVJJ
QUxfODI1MD15CkNPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKQ09ORklHX1NFUklBTF84MjUw
X1BDST15CiMgQ09ORklHX1NFUklBTF84MjUwX0NTIGlzIG5vdCBzZXQKQ09ORklHX1NFUklBTF84
MjUwX05SX1VBUlRTPTQKQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NAojIENPTkZJ
R19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CgojCiMgTm9uLTgyNTAgc2VyaWFsIHBv
cnQgc3VwcG9ydAojCkNPTkZJR19TRVJJQUxfQ09SRT15CkNPTkZJR19TRVJJQUxfQ09SRV9DT05T
T0xFPXkKIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CkNPTkZJR19VTklYOThfUFRZUz15
CkNPTkZJR19MRUdBQ1lfUFRZUz15CkNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgoKIwojIElQ
TUkKIwojIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAoKIwojIFdhdGNoZG9nIENhcmRz
CiMKIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldApDT05GSUdfSFdfUkFORE9NPXkKQ09ORklH
X0hXX1JBTkRPTV9JTlRFTD15CkNPTkZJR19IV19SQU5ET01fQU1EPXkKIyBDT05GSUdfSFdfUkFO
RE9NX0dFT0RFIGlzIG5vdCBzZXQKIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldApDT05GSUdfUlRD
PXkKIyBDT05GSUdfRFRMSyBpcyBub3Qgc2V0CiMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKIyBD
T05GSUdfQVBQTElDT00gaXMgbm90IHNldAoKIwojIEZ0YXBlLCB0aGUgZmxvcHB5IHRhcGUgZGV2
aWNlIGRyaXZlcgojCkNPTkZJR19BR1A9eQpDT05GSUdfQUdQX0FNRDY0PXkKQ09ORklHX0FHUF9J
TlRFTD15CiMgQ09ORklHX0FHUF9TSVMgaXMgbm90IHNldAojIENPTkZJR19BR1BfVklBIGlzIG5v
dCBzZXQKQ09ORklHX0RSTT15CiMgQ09ORklHX0RSTV9UREZYIGlzIG5vdCBzZXQKIyBDT05GSUdf
RFJNX1IxMjggaXMgbm90IHNldAojIENPTkZJR19EUk1fUkFERU9OIGlzIG5vdCBzZXQKIyBDT05G
SUdfRFJNX0k4MTAgaXMgbm90IHNldAojIENPTkZJR19EUk1fSTgzMCBpcyBub3Qgc2V0CiMgQ09O
RklHX0RSTV9JOTE1IGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX01HQSBpcyBub3Qgc2V0CiMgQ09O
RklHX0RSTV9TSVMgaXMgbm90IHNldAojIENPTkZJR19EUk1fVklBIGlzIG5vdCBzZXQKIyBDT05G
SUdfRFJNX1NBVkFHRSBpcyBub3Qgc2V0CgojCiMgUENNQ0lBIGNoYXJhY3RlciBkZXZpY2VzCiMK
IyBDT05GSUdfU1lOQ0xJTktfQ1MgaXMgbm90IHNldAojIENPTkZJR19DQVJETUFOXzQwMDAgaXMg
bm90IHNldAojIENPTkZJR19DQVJETUFOXzQwNDAgaXMgbm90IHNldAojIENPTkZJR19NV0FWRSBp
cyBub3Qgc2V0CiMgQ09ORklHX1BDODczNnhfR1BJTyBpcyBub3Qgc2V0CkNPTkZJR19SQVdfRFJJ
VkVSPXkKQ09ORklHX01BWF9SQVdfREVWUz0yNTYKQ09ORklHX0hQRVQ9eQojIENPTkZJR19IUEVU
X1JUQ19JUlEgaXMgbm90IHNldApDT05GSUdfSFBFVF9NTUFQPXkKIyBDT05GSUdfSEFOR0NIRUNL
X1RJTUVSIGlzIG5vdCBzZXQKCiMKIyBUUE0gZGV2aWNlcwojCkNPTkZJR19UQ0dfVFBNPW0KQ09O
RklHX1RDR19BVE1FTD1tCiMgQ09ORklHX1RFTENMT0NLIGlzIG5vdCBzZXQKCiMKIyBJMkMgc3Vw
cG9ydAojCkNPTkZJR19JMkM9bQpDT05GSUdfSTJDX0NIQVJERVY9bQoKIwojIEkyQyBBbGdvcml0
aG1zCiMKQ09ORklHX0kyQ19BTEdPQklUPW0KIyBDT05GSUdfSTJDX0FMR09QQ0YgaXMgbm90IHNl
dAojIENPTkZJR19JMkNfQUxHT1BDQSBpcyBub3Qgc2V0CgojCiMgSTJDIEhhcmR3YXJlIEJ1cyBz
dXBwb3J0CiMKIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAojIENPTkZJR19JMkNfQUxJ
MTU2MyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKIyBDT05GSUdf
STJDX0FNRDc1NiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKQ09O
RklHX0kyQ19JODAxPW0KIyBDT05GSUdfSTJDX0k4MTAgaXMgbm90IHNldAojIENPTkZJR19JMkNf
UElJWDQgaXMgbm90IHNldApDT05GSUdfSTJDX0lTQT1tCiMgQ09ORklHX0kyQ19ORk9SQ0UyIGlz
IG5vdCBzZXQKIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19QQVJQ
T1JUX0xJR0hUIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1BST1NBVkFHRSBpcyBub3Qgc2V0CiMg
Q09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90
IHNldAojIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NJUzk2WCBp
cyBub3Qgc2V0CiMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1ZJQSBp
cyBub3Qgc2V0CiMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAojIENPTkZJR19JMkNfVk9P
RE9PMyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19QQ0FfSVNBIGlzIG5vdCBzZXQKCiMKIyBNaXNj
ZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKIwojIENPTkZJR19TRU5TT1JTX0RTMTMzNyBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRFMxMzc0IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09S
U19FRVBST00gaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX1BDQTk1MzkgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1BDRjg1
OTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAojIENPTkZJ
R19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5v
dCBzZXQKIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19ERUJV
R19DSElQIGlzIG5vdCBzZXQKCiMKIyBTUEkgc3VwcG9ydAojCiMgQ09ORklHX1NQSSBpcyBub3Qg
c2V0CiMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAoKIwojIERhbGxhcydzIDEtd2lyZSBi
dXMKIwpDT05GSUdfVzE9bQoKIwojIDEtd2lyZSBCdXMgTWFzdGVycwojCiMgQ09ORklHX1cxX01B
U1RFUl9NQVRST1ggaXMgbm90IHNldApDT05GSUdfVzFfTUFTVEVSX0RTMjQ5MD1tCiMgQ09ORklH
X1cxX01BU1RFUl9EUzI0ODIgaXMgbm90IHNldAoKIwojIDEtd2lyZSBTbGF2ZXMKIwojIENPTkZJ
R19XMV9TTEFWRV9USEVSTSBpcyBub3Qgc2V0CiMgQ09ORklHX1cxX1NMQVZFX1NNRU0gaXMgbm90
IHNldAojIENPTkZJR19XMV9TTEFWRV9EUzI0MzMgaXMgbm90IHNldAoKIwojIEhhcmR3YXJlIE1v
bml0b3Jpbmcgc3VwcG9ydAojCkNPTkZJR19IV01PTj15CiMgQ09ORklHX0hXTU9OX1ZJRCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQUJJVFVHVVJVIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19BRE0xMDIxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRE0xMDI1IGlzIG5vdCBz
ZXQKIyBDT05GSUdfU0VOU09SU19BRE0xMDI2IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19B
RE0xMDMxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VOU09SU19LOFRFTVAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FTQjEwMCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQVRYUDEgaXMgbm90IHNldAojIENPTkZJR19TRU5T
T1JTX0RTMTYyMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRjcxODA1RiBpcyBub3Qgc2V0
CiMgQ09ORklHX1NFTlNPUlNfRlNDSEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19GU0NQ
T1MgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0dMNTE4U00gaXMgbm90IHNldAojIENPTkZJ
R19TRU5TT1JTX0dMNTIwU00gaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90
IHNldAojIENPTkZJR19TRU5TT1JTX0xNNjMgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xN
NzUgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNNzcgaXMgbm90IHNldAojIENPTkZJR19T
RU5TT1JTX0xNNzggaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNODAgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX0xNODMgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNODUgaXMg
bm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNODcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JT
X0xNOTAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTIgaXMgbm90IHNldAojIENPTkZJ
R19TRU5TT1JTX01BWDE2MTkgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1BDODczNjAgaXMg
bm90IHNldAojIENPTkZJR19TRU5TT1JTX1NJUzU1OTUgaXMgbm90IHNldAojIENPTkZJR19TRU5T
T1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyIGlzIG5v
dCBzZXQKQ09ORklHX1NFTlNPUlNfU01TQzQ3QjM5Nz1tCiMgQ09ORklHX1NFTlNPUlNfVklBNjg2
QSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19WVDgyMzEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90
IHNldAojIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JT
X1c4Mzc5MkQgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0
CiMgQ09ORklHX1NFTlNPUlNfVzgzNjI3SEYgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4
MzYyN0VIRiBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX0hEQVBTPW0KIyBDT05GSUdfSFdNT05f
REVCVUdfQ0hJUCBpcyBub3Qgc2V0CgojCiMgTXVsdGltZWRpYSBkZXZpY2VzCiMKQ09ORklHX1ZJ
REVPX0RFVj1tCkNPTkZJR19WSURFT19WNEwxPXkKQ09ORklHX1ZJREVPX1Y0TDFfQ09NUEFUPXkK
Q09ORklHX1ZJREVPX1Y0TDI9eQoKIwojIFZpZGVvIENhcHR1cmUgQWRhcHRlcnMKIwoKIwojIFZp
ZGVvIENhcHR1cmUgQWRhcHRlcnMKIwojIENPTkZJR19WSURFT19BRFZfREVCVUcgaXMgbm90IHNl
dApDT05GSUdfVklERU9fSEVMUEVSX0NISVBTX0FVVE89eQojIENPTkZJR19WSURFT19WSVZJIGlz
IG5vdCBzZXQKIyBDT05GSUdfVklERU9fQlQ4NDggaXMgbm90IHNldAojIENPTkZJR19WSURFT19D
UElBIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fQ1BJQTIgaXMgbm90IHNldAojIENPTkZJR19W
SURFT19TQUE1MjQ2QSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX1NBQTUyNDkgaXMgbm90IHNl
dAojIENPTkZJR19UVU5FUl8zMDM2IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fU1RSQURJUyBp
cyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX1pPUkFOIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9f
U0FBNzEzNCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX01YQiBpcyBub3Qgc2V0CiMgQ09ORklH
X1ZJREVPX0RQQyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0hFWElVTV9PUklPTiBpcyBub3Qg
c2V0CiMgQ09ORklHX1ZJREVPX0hFWElVTV9HRU1JTkkgaXMgbm90IHNldAojIENPTkZJR19WSURF
T19DWDg4IGlzIG5vdCBzZXQKCiMKIyBWNEwgVVNCIGRldmljZXMKIwojIENPTkZJR19WSURFT19Q
VlJVU0IyIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fRU0yOFhYIGlzIG5vdCBzZXQKIyBDT05G
SUdfVVNCX1ZJQ0FNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lCTUNBTSBpcyBub3Qgc2V0CiMg
Q09ORklHX1VTQl9LT05JQ0FXQyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9RVUlDS0NBTV9NRVNT
RU5HRVIgaXMgbm90IHNldAojIENPTkZJR19VU0JfRVQ2MVgyNTEgaXMgbm90IHNldAojIENPTkZJ
R19WSURFT19PVkNBTUNISVAgaXMgbm90IHNldAojIENPTkZJR19VU0JfVzk5NjhDRiBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9PVjUxMSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRTQwMSBpcyBu
b3Qgc2V0CiMgQ09ORklHX1VTQl9TTjlDMTAyIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUVjY4
MCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9aQzAzMDEgaXMgbm90IHNldAojIENPTkZJR19VU0Jf
UFdDIGlzIG5vdCBzZXQKCiMKIyBSYWRpbyBBZGFwdGVycwojCiMgQ09ORklHX1JBRElPX0dFTVRF
S19QQ0kgaXMgbm90IHNldAojIENPTkZJR19SQURJT19NQVhJUkFESU8gaXMgbm90IHNldAojIENP
TkZJR19SQURJT19NQUVTVFJPIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0RTQlIgaXMgbm90IHNl
dAoKIwojIERpZ2l0YWwgVmlkZW8gQnJvYWRjYXN0aW5nIERldmljZXMKIwojIENPTkZJR19EVkIg
aXMgbm90IHNldAojIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKCiMKIyBHcmFwaGljcyBz
dXBwb3J0CiMKIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCIGlz
IG5vdCBzZXQKQ09ORklHX1ZJREVPX1NFTEVDVD15CgojCiMgQ29uc29sZSBkaXNwbGF5IGRyaXZl
ciBzdXBwb3J0CiMKQ09ORklHX1ZHQV9DT05TT0xFPXkKQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9M
TEJBQ0s9eQpDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTI1NgpDT05GSUdfRFVN
TVlfQ09OU09MRT15CiMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0Cgoj
CiMgU3BlYWt1cCBjb25zb2xlIHNwZWVjaAojCiMgQ09ORklHX1NQRUFLVVAgaXMgbm90IHNldAoK
IwojIFNvdW5kCiMKQ09ORklHX1NPVU5EPXkKCiMKIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNo
aXRlY3R1cmUKIwpDT05GSUdfU05EPW0KQ09ORklHX1NORF9USU1FUj1tCkNPTkZJR19TTkRfUENN
PW0KQ09ORklHX1NORF9IV0RFUD1tCkNPTkZJR19TTkRfUkFXTUlEST1tCkNPTkZJR19TTkRfU0VR
VUVOQ0VSPW0KQ09ORklHX1NORF9TRVFfRFVNTVk9bQpDT05GSUdfU05EX09TU0VNVUw9eQpDT05G
SUdfU05EX01JWEVSX09TUz1tCkNPTkZJR19TTkRfUENNX09TUz1tCkNPTkZJR19TTkRfUENNX09T
U19QTFVHSU5TPXkKQ09ORklHX1NORF9TRVFVRU5DRVJfT1NTPXkKQ09ORklHX1NORF9SVENUSU1F
Uj1tCkNPTkZJR19TTkRfU0VRX1JUQ1RJTUVSX0RFRkFVTFQ9eQojIENPTkZJR19TTkRfRFlOQU1J
Q19NSU5PUlMgaXMgbm90IHNldApDT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15CkNPTkZJR19T
TkRfVkVSQk9TRV9QUk9DRlM9eQojIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNl
dAojIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAoKIwojIEdlbmVyaWMgZGV2aWNlcwojCiMg
Q09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9WSVJNSURJIGlzIG5vdCBz
ZXQKIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1NFUklBTF9VMTY1
NTAgaXMgbm90IHNldAojIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKCiMKIyBQQ0kgZGV2
aWNlcwojCiMgQ09ORklHX1NORF9BRDE4ODkgaXMgbm90IHNldAojIENPTkZJR19TTkRfQUxTMzAw
IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FMUzQwMDAgaXMgbm90IHNldAojIENPTkZJR19TTkRf
QUxJNTQ1MSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAojIENPTkZJ
R19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qg
c2V0CiMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAojIENPTkZJR19TTkRfQVU4ODMwIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAojIENPTkZJR19TTkRfQlQ4
N1ggaXMgbm90IHNldAojIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X0NNSVBDSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAojIENPTkZJ
R19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90
IHNldAojIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9HSU5BMjQg
aXMgbm90IHNldAojIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9N
T05BIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9F
Q0hPM0cgaXMgbm90IHNldAojIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX0lORElHT0lPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQK
IyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAojIENPTkZJR19TTkRfRU1VMTBLMVggaXMg
bm90IHNldAojIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FTlMx
MzcxIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VTMTkzOCBpcyBub3Qgc2V0CiMgQ09ORklHX1NO
RF9FUzE5NjggaXMgbm90IHNldAojIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldApDT05GSUdf
U05EX0hEQV9JTlRFTD1tCiMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X0hEU1BNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAojIENPTkZJ
R19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0
CiMgQ09ORklHX1NORF9JTlRFTDhYME0gaXMgbm90IHNldAojIENPTkZJR19TTkRfS09SRzEyMTIg
aXMgbm90IHNldAojIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90IHNldAojIENPTkZJR19TTkRf
TUlYQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX1BDWEhSIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1JJUFRJREUgaXMgbm90IHNldAojIENP
TkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAojIENPTkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAojIENPTkZJR19TTkRfVklB
ODJYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKIyBD
T05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0
CgojCiMgVVNCIGRldmljZXMKIwpDT05GSUdfU05EX1VTQl9BVURJTz1tCiMgQ09ORklHX1NORF9V
U0JfVVNYMlkgaXMgbm90IHNldAoKIwojIFBDTUNJQSBkZXZpY2VzCiMKIyBDT05GSUdfU05EX1ZY
UE9DS0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1BEQVVESU9DRiBpcyBub3Qgc2V0CgojCiMg
T3BlbiBTb3VuZCBTeXN0ZW0KIwojIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0CgojCiMg
VVNCIHN1cHBvcnQKIwpDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CkNPTkZJR19VU0JfQVJDSF9I
QVNfT0hDST15CkNPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CkNPTkZJR19VU0I9eQojIENPTkZJ
R19VU0JfREVCVUcgaXMgbm90IHNldAoKIwojIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKIwpD
T05GSUdfVVNCX0RFVklDRUZTPXkKIyBDT05GSUdfVVNCX0JBTkRXSURUSCBpcyBub3Qgc2V0CiMg
Q09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVVNQRU5E
IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CgojCiMgVVNCIEhvc3QgQ29u
dHJvbGxlciBEcml2ZXJzCiMKQ09ORklHX1VTQl9FSENJX0hDRD15CiMgQ09ORklHX1VTQl9FSENJ
X1NQTElUX0lTTyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQgaXMgbm90IHNldAojIENPTkZJR19V
U0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldApDT05GSUdfVVNCX09IQ0lfSENEPXkKIyBDT05GSUdf
VVNCX09IQ0lfQklHX0VORElBTiBpcyBub3Qgc2V0CkNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5E
SUFOPXkKQ09ORklHX1VTQl9VSENJX0hDRD15CiMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90
IHNldAoKIwojIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwojCiMgQ09ORklHX1VTQl9BQ00gaXMg
bm90IHNldApDT05GSUdfVVNCX1BSSU5URVI9eQoKIwojIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJs
ZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKIwoKIwojIG1heSBhbHNvIGJlIG5lZWRl
ZDsgc2VlIFVTQl9TVE9SQUdFIEhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24KIwpDT05GSUdfVVNC
X1NUT1JBR0U9eQojIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9GUkVF
Q09NIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX1VT
QkFUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0Vf
SlVNUFNIT1QgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNl
dAojIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MSUJV
U1VBTCBpcyBub3Qgc2V0CgojCiMgVVNCIElucHV0IERldmljZXMKIwpDT05GSUdfVVNCX0hJRD15
CkNPTkZJR19VU0JfSElESU5QVVQ9eQojIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlz
IG5vdCBzZXQKIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0hJRERFViBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9BSVBURUsgaXMgbm90IHNldAojIENPTkZJR19VU0JfV0FD
T00gaXMgbm90IHNldAojIENPTkZJR19VU0JfQUNFQ0FEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC
X0tCVEFCIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1BPV0VSTUFURSBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ZRUFMSU5LIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX1hQQUQgaXMgbm90IHNldAojIENPTkZJR19VU0JfQVRJX1JFTU9U
RSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9BVElfUkVNT1RFMiBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9BUFBMRVRPVUNIIGlz
IG5vdCBzZXQKCiMKIyBVU0IgSW1hZ2luZyBkZXZpY2VzCiMKIyBDT05GSUdfVVNCX01EQzgwMCBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0CgojCiMgVVNCIE5ldHdv
cmsgQWRhcHRlcnMKIwojIENPTkZJR19VU0JfQ0FUQyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9L
QVdFVEggaXMgbm90IHNldAojIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNl
dAojIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9NT049eQoKIwojIFVT
QiBwb3J0IGRyaXZlcnMKIwoKIwojIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKIwpDT05G
SUdfVVNCX1NFUklBTD15CiMgQ09ORklHX1VTQl9TRVJJQUxfQ09OU09MRSBpcyBub3Qgc2V0CkNP
TkZJR19VU0JfU0VSSUFMX0dFTkVSSUM9eQojIENPTkZJR19VU0JfU0VSSUFMX0FJUkNBQkxFIGlz
IG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9BSVJQUklNRSBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9TRVJJQUxfQVJLMzExNiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfQkVMS0lO
IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9XSElURUhFQVQgaXMgbm90IHNldAojIENP
TkZJR19VU0JfU0VSSUFMX0RJR0lfQUNDRUxFUE9SVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9T
RVJJQUxfQ1AyMTAxIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9DWVBSRVNTX004IGlz
IG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9FTVBFRyBpcyBub3Qgc2V0CiMgQ09ORklHX1VT
Ql9TRVJJQUxfRlRESV9TSU8gaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0ZVTlNPRlQg
aXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1ZJU09SIGlzIG5vdCBzZXQKIyBDT05GSUdf
VVNCX1NFUklBTF9JUEFRIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9JUiBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfRURHRVBPUlQgaXMgbm90IHNldAojIENPTkZJR19VU0Jf
U0VSSUFMX0VER0VQT1JUX1RJIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9HQVJNSU4g
aXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0lQVyBpcyBub3Qgc2V0CiMgQ09ORklHX1VT
Ql9TRVJJQUxfS0VZU1BBTl9QREEgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQ
QU4gaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0tMU0kgaXMgbm90IHNldAojIENPTkZJ
R19VU0JfU0VSSUFMX0tPQklMX1NDVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfTUNU
X1UyMzIgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX01PUzc3MjAgaXMgbm90IHNldAoj
IENPTkZJR19VU0JfU0VSSUFMX01PUzc4NDAgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFM
X05BVk1BTiBpcyBub3Qgc2V0CkNPTkZJR19VU0JfU0VSSUFMX1BMMjMwMz1tCiMgQ09ORklHX1VT
Ql9TRVJJQUxfSFA0WCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfU0FGRSBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfU0lFUlJBV0lSRUxFU1MgaXMgbm90IHNldAojIENPTkZJ
R19VU0JfU0VSSUFMX1RJIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9DWUJFUkpBQ0sg
aXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1hJUkNPTSBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9TRVJJQUxfT1BUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9PTU5JTkVU
IGlzIG5vdCBzZXQKCiMKIyBVU0IgTWlzY2VsbGFuZW91cyBkcml2ZXJzCiMKIyBDT05GSUdfVVNC
X0VNSTYyIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VNSTI2IGlzIG5vdCBzZXQKIyBDT05GSUdf
VVNCX0FEVVRVWCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9BVUVSU1dBTEQgaXMgbm90IHNldAoj
IENPTkZJR19VU0JfUklPNTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0xFR09UT1dFUiBpcyBu
b3Qgc2V0CiMgQ09ORklHX1VTQl9MQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfTEVEIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX0NZUFJFU1NfQ1k3QzYzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC
X0NZVEhFUk0gaXMgbm90IHNldAojIENPTkZJR19VU0JfUEhJREdFVCBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9JRE1PVVNFIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9BUFBMRURJU1BMQVkgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0lT
VVNCVkdBIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC
X1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAoK
IwojIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAojCgojCiMgVVNCIEdhZGdldCBTdXBwb3J0CiMKIyBD
T05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CgojCiMgTU1DL1NEIENhcmQgc3VwcG9ydAojCkNP
TkZJR19NTUM9eQojIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldApDT05GSUdfTU1DX0JMT0NL
PXkKQ09ORklHX01NQ19TREhDST15CiMgQ09ORklHX01NQ19XQlNEIGlzIG5vdCBzZXQKQ09ORklH
X01NQ19USUZNX1NEPXkKCiMKIyBMRUQgZGV2aWNlcwojCiMgQ09ORklHX05FV19MRURTIGlzIG5v
dCBzZXQKCiMKIyBMRUQgZHJpdmVycwojCgojCiMgTEVEIFRyaWdnZXJzCiMKCiMKIyBJbmZpbmlC
YW5kIHN1cHBvcnQKIwojIENPTkZJR19JTkZJTklCQU5EIGlzIG5vdCBzZXQKCiMKIyBFREFDIC0g
ZXJyb3IgZGV0ZWN0aW9uIGFuZCByZXBvcnRpbmcgKFJBUykgKEVYUEVSSU1FTlRBTCkKIwojIENP
TkZJR19FREFDIGlzIG5vdCBzZXQKCiMKIyBSZWFsIFRpbWUgQ2xvY2sKIwojIENPTkZJR19SVENf
Q0xBU1MgaXMgbm90IHNldAoKIwojIERNQSBFbmdpbmUgc3VwcG9ydAojCiMgQ09ORklHX0RNQV9F
TkdJTkUgaXMgbm90IHNldAoKIwojIERNQSBDbGllbnRzCiMKCiMKIyBETUEgRGV2aWNlcwojCgoj
CiMgRmlybXdhcmUgRHJpdmVycwojCiMgQ09ORklHX0VERCBpcyBub3Qgc2V0CiMgQ09ORklHX0RF
TExfUkJVIGlzIG5vdCBzZXQKIyBDT05GSUdfRENEQkFTIGlzIG5vdCBzZXQKCiMKIyBGaWxlIHN5
c3RlbXMKIwpDT05GSUdfRVhUMl9GUz15CkNPTkZJR19FWFQyX0ZTX1hBVFRSPXkKQ09ORklHX0VY
VDJfRlNfUE9TSVhfQUNMPXkKIyBDT05GSUdfRVhUMl9GU19TRUNVUklUWSBpcyBub3Qgc2V0CiMg
Q09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKQ09ORklHX0VYVDNfRlM9eQpDT05GSUdfRVhU
M19GU19YQVRUUj15CkNPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTD15CiMgQ09ORklHX0VYVDNfRlNf
U0VDVVJJVFkgaXMgbm90IHNldAojIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKQ09ORklH
X0pCRD15CiMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19GU19NQkNBQ0hFPXkK
Q09ORklHX1JFSVNFUkZTX0ZTPXkKIyBDT05GSUdfUkVJU0VSRlNfQ0hFQ0sgaXMgbm90IHNldAoj
IENPTkZJR19SRUlTRVJGU19QUk9DX0lORk8gaXMgbm90IHNldApDT05GSUdfUkVJU0VSRlNfRlNf
WEFUVFI9eQpDT05GSUdfUkVJU0VSRlNfRlNfUE9TSVhfQUNMPXkKIyBDT05GSUdfUkVJU0VSRlNf
RlNfU0VDVVJJVFkgaXMgbm90IHNldAojIENPTkZJR19KRlNfRlMgaXMgbm90IHNldApDT05GSUdf
RlNfUE9TSVhfQUNMPXkKIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfR0ZTMl9G
UyBpcyBub3Qgc2V0CiMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlOSVhf
RlMgaXMgbm90IHNldAojIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CkNPTkZJR19JTk9USUZZ
PXkKQ09ORklHX0lOT1RJRllfVVNFUj15CiMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKQ09ORklH
X0ROT1RJRlk9eQojIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldApDT05GSUdfQVVUT0ZTNF9G
Uz15CiMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApDT05GSUdfR0VORVJJQ19BQ0w9eQoKIwoj
IENELVJPTS9EVkQgRmlsZXN5c3RlbXMKIwpDT05GSUdfSVNPOTY2MF9GUz15CkNPTkZJR19KT0xJ
RVQ9eQojIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAojIENPTkZJR19VREZfRlMgaXMgbm90IHNl
dAoKIwojIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKIwpDT05GSUdfRkFUX0ZTPXkKQ09ORklHX01T
RE9TX0ZTPXkKQ09ORklHX1ZGQVRfRlM9eQpDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3
CkNPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKQ09ORklHX05URlNfRlM9
eQojIENPTkZJR19OVEZTX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX05URlNfUlc9eQoKIwojIFBz
ZXVkbyBmaWxlc3lzdGVtcwojCkNPTkZJR19QUk9DX0ZTPXkKQ09ORklHX1BST0NfS0NPUkU9eQpD
T05GSUdfUFJPQ19TWVNDVEw9eQpDT05GSUdfU1lTRlM9eQpDT05GSUdfVE1QRlM9eQpDT05GSUdf
VE1QRlNfUE9TSVhfQUNMPXkKQ09ORklHX0hVR0VUTEJGUz15CkNPTkZJR19IVUdFVExCX1BBR0U9
eQpDT05GSUdfUkFNRlM9eQojIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CgojCiMgTWlz
Y2VsbGFuZW91cyBmaWxlc3lzdGVtcwojCiMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAojIENP
TkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05G
SUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAojIENP
TkZJR19CRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAojIENPTkZJ
R19DUkFNRlMgaXMgbm90IHNldAojIENPTkZJR19TUVVBU0hGUyBpcyBub3Qgc2V0CiMgQ09ORklH
X1ZYRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdf
UU5YNEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CkNPTkZJR19V
RlNfRlM9eQojIENPTkZJR19VRlNfRlNfV1JJVEUgaXMgbm90IHNldAojIENPTkZJR19VRlNfREVC
VUcgaXMgbm90IHNldAoKIwojIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCiMKQ09ORklHX05GU19GUz15
CkNPTkZJR19ORlNfVjM9eQojIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKQ09ORklHX05G
U19WND15CiMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CkNPTkZJR19ORlNEPXkKQ09O
RklHX05GU0RfVjM9eQojIENPTkZJR19ORlNEX1YzX0FDTCBpcyBub3Qgc2V0CiMgQ09ORklHX05G
U0RfVjQgaXMgbm90IHNldApDT05GSUdfTkZTRF9UQ1A9eQpDT05GSUdfUk9PVF9ORlM9eQpDT05G
SUdfTE9DS0Q9eQpDT05GSUdfTE9DS0RfVjQ9eQpDT05GSUdfRVhQT1JURlM9eQpDT05GSUdfTkZT
X0NPTU1PTj15CkNPTkZJR19TVU5SUEM9eQpDT05GSUdfU1VOUlBDX0dTUz15CkNPTkZJR19SUENT
RUNfR1NTX0tSQjU9eQojIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKQ09ORklH
X1NNQl9GUz15CiMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CkNPTkZJR19DSUZT
PXkKIyBDT05GSUdfQ0lGU19TVEFUUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NJRlNfV0VBS19QV19I
QVNIIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0lGU19YQVRUUiBpcyBub3Qgc2V0CiMgQ09ORklHX0NJ
RlNfREVCVUcyIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0lGU19FWFBFUklNRU5UQUwgaXMgbm90IHNl
dAojIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAojIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQK
IyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAoKIwoj
IFBhcnRpdGlvbiBUeXBlcwojCiMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0
CkNPTkZJR19NU0RPU19QQVJUSVRJT049eQoKIwojIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CiMK
Q09ORklHX05MUz15CkNPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgpDT05GSUdfTkxTX0NP
REVQQUdFXzQzNz15CiMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAojIENPTkZJ
R19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBp
cyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAojIENPTkZJR19O
TFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBu
b3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAojIENPTkZJR19OTFNf
Q09ERVBBR0VfODYxIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBpcyBub3Qg
c2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09E
RVBBR0VfODY0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBub3Qgc2V0
CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBB
R0VfODY5IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qgc2V0CiMg
Q09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0Vf
OTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0CiMgQ09O
RklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV84IGlz
IG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAojIENPTkZJR19O
TFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CkNPTkZJR19OTFNfQVNDSUk9eQpDT05GSUdfTkxT
X0lTTzg4NTlfMT15CiMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAojIENPTkZJR19O
TFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0
CiMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV82
IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0CiMgQ09ORklHX05M
U19JU084ODU5XzkgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0
CiMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKQ09ORklHX05MU19JU084ODU5XzE1
PXkKIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19LT0k4X1UgaXMg
bm90IHNldApDT05GSUdfTkxTX1VURjg9eQoKIwojIEluc3RydW1lbnRhdGlvbiBTdXBwb3J0CiMK
Q09ORklHX1BST0ZJTElORz15CkNPTkZJR19PUFJPRklMRT15CkNPTkZJR19LUFJPQkVTPXkKCiMK
IyBLZXJuZWwgaGFja2luZwojCkNPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIyBDT05G
SUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAojIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSyBpcyBu
b3Qgc2V0CkNPTkZJR19NQUdJQ19TWVNSUT15CkNPTkZJR19VTlVTRURfU1lNQk9MUz15CkNPTkZJ
R19ERUJVR19LRVJORUw9eQpDT05GSUdfTE9HX0JVRl9TSElGVD0xOApDT05GSUdfREVURUNUX1NP
RlRMT0NLVVA9eQojIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdf
U0xBQiBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAojIENP
TkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19TUElOTE9DSyBp
cyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAojIENPTkZJR19ERUJV
R19SV1NFTVMgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQK
IyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1NQSU5MT0NL
X1NMRUVQIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlz
IG5vdCBzZXQKIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVH
X0lORk8gaXMgbm90IHNldApDT05GSUdfREVCVUdfRlM9eQojIENPTkZJR19ERUJVR19WTSBpcyBu
b3Qgc2V0CiMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAojIENPTkZJR19GUkFNRV9QT0lO
VEVSIGlzIG5vdCBzZXQKQ09ORklHX1VOV0lORF9JTkZPPXkKQ09ORklHX1NUQUNLX1VOV0lORD15
CiMgQ09ORklHX0ZPUkNFRF9JTkxJTklORyBpcyBub3Qgc2V0CiMgQ09ORklHX0hFQURFUlNfQ0hF
Q0sgaXMgbm90IHNldAojIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKIyBDT05G
SUdfTEtEVE0gaXMgbm90IHNldAojIENPTkZJR19ERUJVR19ST0RBVEEgaXMgbm90IHNldAojIENP
TkZJR19JT01NVV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XPXkK
IyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAoKIwojIFNlY3VyaXR5IG9wdGlv
bnMKIwojIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKQ09ORklHX1NFQ1VSSVRZPXkKIyBDT05GSUdf
U0VDVVJJVFlfTkVUV09SSyBpcyBub3Qgc2V0CkNPTkZJR19TRUNVUklUWV9DQVBBQklMSVRJRVM9
bQojIENPTkZJR19TRUNVUklUWV9ST09UUExVRyBpcyBub3Qgc2V0CgojCiMgQ3J5cHRvZ3JhcGhp
YyBvcHRpb25zCiMKQ09ORklHX0NSWVBUTz15CkNPTkZJR19DUllQVE9fQUxHQVBJPXkKQ09ORklH
X0NSWVBUT19CTEtDSVBIRVI9eQpDT05GSUdfQ1JZUFRPX0hBU0g9bQpDT05GSUdfQ1JZUFRPX01B
TkFHRVI9eQpDT05GSUdfQ1JZUFRPX0hNQUM9bQpDT05GSUdfQ1JZUFRPX05VTEw9bQpDT05GSUdf
Q1JZUFRPX01END1tCkNPTkZJR19DUllQVE9fTUQ1PXkKQ09ORklHX0NSWVBUT19TSEExPW0KQ09O
RklHX0NSWVBUT19TSEEyNTY9bQpDT05GSUdfQ1JZUFRPX1NIQTUxMj1tCkNPTkZJR19DUllQVE9f
V1A1MTI9bQpDT05GSUdfQ1JZUFRPX1RHUjE5Mj1tCkNPTkZJR19DUllQVE9fRUNCPW0KQ09ORklH
X0NSWVBUT19DQkM9eQpDT05GSUdfQ1JZUFRPX0RFUz15CkNPTkZJR19DUllQVE9fQkxPV0ZJU0g9
bQojIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fVFdPRklT
SF9DT01NT049bQpDT05GSUdfQ1JZUFRPX1RXT0ZJU0hfWDg2XzY0PW0KQ09ORklHX0NSWVBUT19T
RVJQRU5UPW0KIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fQUVT
X1g4Nl82ND1tCkNPTkZJR19DUllQVE9fQ0FTVDU9bQpDT05GSUdfQ1JZUFRPX0NBU1Q2PW0KQ09O
RklHX0NSWVBUT19URUE9bQpDT05GSUdfQ1JZUFRPX0FSQzQ9eQpDT05GSUdfQ1JZUFRPX0tIQVpB
RD1tCkNPTkZJR19DUllQVE9fQU5VQklTPW0KQ09ORklHX0NSWVBUT19ERUZMQVRFPW0KQ09ORklH
X0NSWVBUT19NSUNIQUVMX01JQz1tCkNPTkZJR19DUllQVE9fQ1JDMzJDPW0KQ09ORklHX0NSWVBU
T19URVNUPW0KCiMKIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwojCgojCiMgTGlicmFyeSByb3V0
aW5lcwojCkNPTkZJR19DUkNfQ0NJVFQ9eQojIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CkNPTkZJ
R19DUkMzMj15CkNPTkZJR19MSUJDUkMzMkM9bQpDT05GSUdfWkxJQl9JTkZMQVRFPW0KQ09ORklH
X1pMSUJfREVGTEFURT1tCkNPTkZJR19QTElTVD15Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>113443</attachid>
            <date>2007-03-16 08:19 0000</date>
            <desc>Kernel config, 2.6.20</desc>
            <filename>kernel_config_2.6.20_20070316</filename>
            <type>text/plain</type>
            <data encoding="base64">IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMgTGlu
dXgga2VybmVsIHZlcnNpb246IDIuNi4yMC1nZW50b28tcjIKIyBTdW4gTWFyIDExIDE2OjI5OjI3
IDIwMDcKIwpDT05GSUdfWDg2XzY0PXkKQ09ORklHXzY0QklUPXkKQ09ORklHX1g4Nj15CkNPTkZJ
R19aT05FX0RNQTMyPXkKQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CkNPTkZJR19TVEFDS1RSQUNF
X1NVUFBPUlQ9eQpDT05GSUdfU0VNQVBIT1JFX1NMRUVQRVJTPXkKQ09ORklHX01NVT15CkNPTkZJ
R19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CkNPTkZJ
R19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CkNPTkZJR19YODZfQ01QWENIRz15CkNPTkZJR19F
QVJMWV9QUklOVEs9eQpDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkKQ09ORklHX0dFTkVSSUNfSU9N
QVA9eQpDT05GSUdfQVJDSF9NQVlfSEFWRV9QQ19GREM9eQpDT05GSUdfQVJDSF9QT1BVTEFURVNf
Tk9ERV9NQVA9eQpDT05GSUdfRE1JPXkKQ09ORklHX0FVRElUX0FSQ0g9eQpDT05GSUdfR0VORVJJ
Q19CVUc9eQojIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAojIENPTkZJR19B
UkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldApDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIv
bW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgoKIwojIENvZGUgbWF0dXJpdHkgbGV2ZWwg
b3B0aW9ucwojCkNPTkZJR19FWFBFUklNRU5UQUw9eQpDT05GSUdfTE9DS19LRVJORUw9eQpDT05G
SUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCgojCiMgR2VuZXJhbCBzZXR1cAojCkNPTkZJR19MT0NB
TFZFUlNJT049IiIKQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKQ09ORklHX1NXQVA9eQpDT05G
SUdfU1lTVklQQz15CiMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CkNPTkZJR19QT1NJWF9NUVVF
VUU9eQojIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKIyBDT05GSUdfVEFTS1NU
QVRTIGlzIG5vdCBzZXQKIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKIyBDT05GSUdfQVVESVQg
aXMgbm90IHNldApDT05GSUdfSUtDT05GSUc9eQpDT05GSUdfSUtDT05GSUdfUFJPQz15CiMgQ09O
RklHX0NQVVNFVFMgaXMgbm90IHNldApDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CiMgQ09ORklH
X1JFTEFZIGlzIG5vdCBzZXQKQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKQ09ORklHX0NDX09Q
VElNSVpFX0ZPUl9TSVpFPXkKQ09ORklHX1NZU0NUTD15CiMgQ09ORklHX0VNQkVEREVEIGlzIG5v
dCBzZXQKQ09ORklHX1VJRDE2PXkKQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKQ09ORklHX0tBTExT
WU1TPXkKQ09ORklHX0tBTExTWU1TX0FMTD15CiMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1Mg
aXMgbm90IHNldApDT05GSUdfSE9UUExVRz15CkNPTkZJR19QUklOVEs9eQpDT05GSUdfQlVHPXkK
Q09ORklHX0VMRl9DT1JFPXkKQ09ORklHX0JBU0VfRlVMTD15CkNPTkZJR19GVVRFWD15CkNPTkZJ
R19FUE9MTD15CkNPTkZJR19TSE1FTT15CkNPTkZJR19TTEFCPXkKQ09ORklHX1ZNX0VWRU5UX0NP
VU5URVJTPXkKQ09ORklHX1JUX01VVEVYRVM9eQojIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBz
ZXQKQ09ORklHX0JBU0VfU01BTEw9MAojIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKCiMKIyBMb2Fk
YWJsZSBtb2R1bGUgc3VwcG9ydAojCkNPTkZJR19NT0RVTEVTPXkKQ09ORklHX01PRFVMRV9VTkxP
QUQ9eQpDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CiMgQ09ORklHX01PRFZFUlNJT05TIGlz
IG5vdCBzZXQKIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIyBDT05G
SUdfS01PRCBpcyBub3Qgc2V0CkNPTkZJR19TVE9QX01BQ0hJTkU9eQoKIwojIEJsb2NrIGxheWVy
CiMKQ09ORklHX0JMT0NLPXkKIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0Cgoj
CiMgSU8gU2NoZWR1bGVycwojCkNPTkZJR19JT1NDSEVEX05PT1A9eQojIENPTkZJR19JT1NDSEVE
X0FTIGlzIG5vdCBzZXQKQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQpDT05GSUdfSU9TQ0hFRF9D
RlE9eQojIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVGQVVMVF9ERUFE
TElORSBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0NGUT15CiMgQ09ORklHX0RFRkFVTFRfTk9P
UCBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKCiMKIyBQcm9jZXNzb3Ig
dHlwZSBhbmQgZmVhdHVyZXMKIwpDT05GSUdfWDg2X1BDPXkKIyBDT05GSUdfWDg2X1ZTTVAgaXMg
bm90IHNldAojIENPTkZJR19NSzggaXMgbm90IHNldAojIENPTkZJR19NUFNDIGlzIG5vdCBzZXQK
Q09ORklHX01DT1JFMj15CiMgQ09ORklHX0dFTkVSSUNfQ1BVIGlzIG5vdCBzZXQKQ09ORklHX1g4
Nl9MMV9DQUNIRV9CWVRFUz02NApDT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTYKQ09ORklHX1g4
Nl9JTlRFUk5PREVfQ0FDSEVfQllURVM9NjQKQ09ORklHX1g4Nl9UU0M9eQpDT05GSUdfWDg2X0dP
T0RfQVBJQz15CiMgQ09ORklHX01JQ1JPQ09ERSBpcyBub3Qgc2V0CkNPTkZJR19YODZfTVNSPXkK
Q09ORklHX1g4Nl9DUFVJRD15CkNPTkZJR19YODZfSFQ9eQpDT05GSUdfWDg2X0lPX0FQSUM9eQpD
T05GSUdfWDg2X0xPQ0FMX0FQSUM9eQpDT05GSUdfTVRSUj15CkNPTkZJR19TTVA9eQpDT05GSUdf
U0NIRURfU01UPXkKQ09ORklHX1NDSEVEX01DPXkKIyBDT05GSUdfUFJFRU1QVF9OT05FIGlzIG5v
dCBzZXQKQ09ORklHX1BSRUVNUFRfVk9MVU5UQVJZPXkKIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qg
c2V0CkNPTkZJR19QUkVFTVBUX0JLTD15CkNPTkZJR19OVU1BPXkKQ09ORklHX0s4X05VTUE9eQpD
T05GSUdfTk9ERVNfU0hJRlQ9NgpDT05GSUdfWDg2XzY0X0FDUElfTlVNQT15CkNPTkZJR19OVU1B
X0VNVT15CkNPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEU9eQpDT05GSUdfQVJDSF9ESVND
T05USUdNRU1fREVGQVVMVD15CkNPTkZJR19BUkNIX1NQQVJTRU1FTV9FTkFCTEU9eQpDT05GSUdf
U0VMRUNUX01FTU9SWV9NT0RFTD15CiMgQ09ORklHX0ZMQVRNRU1fTUFOVUFMIGlzIG5vdCBzZXQK
Q09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUw9eQojIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlz
IG5vdCBzZXQKQ09ORklHX0RJU0NPTlRJR01FTT15CkNPTkZJR19GTEFUX05PREVfTUVNX01BUD15
CkNPTkZJR19ORUVEX01VTFRJUExFX05PREVTPXkKIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBp
cyBub3Qgc2V0CkNPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CkNPTkZJR19NSUdSQVRJT049eQpD
T05GSUdfUkVTT1VSQ0VTXzY0QklUPXkKQ09ORklHX0hBVkVfQVJDSF9FQVJMWV9QRk5fVE9fTklE
PXkKQ09ORklHX09VVF9PRl9MSU5FX1BGTl9UT19QQUdFPXkKQ09ORklHX05SX0NQVVM9MzIKQ09O
RklHX0hPVFBMVUdfQ1BVPXkKQ09ORklHX0FSQ0hfRU5BQkxFX01FTU9SWV9IT1RQTFVHPXkKQ09O
RklHX0hQRVRfVElNRVI9eQpDT05GSUdfSFBFVF9FTVVMQVRFX1JUQz15CkNPTkZJR19JT01NVT15
CiMgQ09ORklHX0NBTEdBUllfSU9NTVUgaXMgbm90IHNldApDT05GSUdfU1dJT1RMQj15CkNPTkZJ
R19YODZfTUNFPXkKQ09ORklHX1g4Nl9NQ0VfSU5URUw9eQpDT05GSUdfWDg2X01DRV9BTUQ9eQoj
IENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQVNIX0RVTVAgaXMgbm90IHNldApD
T05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgyMDAwMDAKQ09ORklHX1NFQ0NPTVA9eQojIENPTkZJR19D
Q19TVEFDS1BST1RFQ1RPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0haXzEwMCBpcyBub3Qgc2V0CkNP
TkZJR19IWl8yNTA9eQojIENPTkZJR19IWl8zMDAgaXMgbm90IHNldAojIENPTkZJR19IWl8xMDAw
IGlzIG5vdCBzZXQKQ09ORklHX0haPTI1MAojIENPTkZJR19SRU9SREVSIGlzIG5vdCBzZXQKQ09O
RklHX0s4X05CPXkKQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpDT05GSUdfR0VORVJJQ19JUlFf
UFJPQkU9eQpDT05GSUdfSVNBX0RNQV9BUEk9eQpDT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15
CgojCiMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiMKQ09ORklHX1BNPXkKIyBDT05GSUdfUE1f
TEVHQUNZIGlzIG5vdCBzZXQKIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAojIENPTkZJR19Q
TV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKQ09ORklHX1NPRlRXQVJFX1NVU1BFTkQ9eQpD
T05GSUdfUE1fU1REX1BBUlRJVElPTj0iIgpDT05GSUdfU1VTUEVORF9TTVA9eQoKIwojIEFDUEkg
KEFkdmFuY2VkIENvbmZpZ3VyYXRpb24gYW5kIFBvd2VyIEludGVyZmFjZSkgU3VwcG9ydAojCkNP
TkZJR19BQ1BJPXkKQ09ORklHX0FDUElfU0xFRVA9eQpDT05GSUdfQUNQSV9TTEVFUF9QUk9DX0ZT
PXkKQ09ORklHX0FDUElfU0xFRVBfUFJPQ19TTEVFUD15CkNPTkZJR19BQ1BJX0FDPXkKQ09ORklH
X0FDUElfQkFUVEVSWT15CkNPTkZJR19BQ1BJX0JVVFRPTj15CkNPTkZJR19BQ1BJX1ZJREVPPXkK
IyBDT05GSUdfQUNQSV9IT1RLRVkgaXMgbm90IHNldApDT05GSUdfQUNQSV9GQU49eQojIENPTkZJ
R19BQ1BJX0RPQ0sgaXMgbm90IHNldApDT05GSUdfQUNQSV9QUk9DRVNTT1I9eQpDT05GSUdfQUNQ
SV9IT1RQTFVHX0NQVT15CkNPTkZJR19BQ1BJX1RIRVJNQUw9eQpDT05GSUdfQUNQSV9OVU1BPXkK
IyBDT05GSUdfQUNQSV9BU1VTIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfSUJNPXkKIyBDT05GSUdf
QUNQSV9JQk1fRE9DSyBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUElfVE9TSElCQSBpcyBub3Qgc2V0
CkNPTkZJR19BQ1BJX0JMQUNLTElTVF9ZRUFSPTAKIyBDT05GSUdfQUNQSV9ERUJVRyBpcyBub3Qg
c2V0CkNPTkZJR19BQ1BJX0VDPXkKQ09ORklHX0FDUElfUE9XRVI9eQpDT05GSUdfQUNQSV9TWVNU
RU09eQpDT05GSUdfWDg2X1BNX1RJTUVSPXkKQ09ORklHX0FDUElfQ09OVEFJTkVSPXkKIyBDT05G
SUdfQUNQSV9TQlMgaXMgbm90IHNldAoKIwojIENQVSBGcmVxdWVuY3kgc2NhbGluZwojCkNPTkZJ
R19DUFVfRlJFUT15CkNPTkZJR19DUFVfRlJFUV9UQUJMRT15CkNPTkZJR19DUFVfRlJFUV9ERUJV
Rz15CkNPTkZJR19DUFVfRlJFUV9TVEFUPXkKIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVF9ERVRBSUxT
IGlzIG5vdCBzZXQKQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFPXkKIyBD
T05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfVVNFUlNQQUNFIGlzIG5vdCBzZXQKQ09ORklHX0NQ
VV9GUkVRX0dPVl9QRVJGT1JNQU5DRT15CiMgQ09ORklHX0NQVV9GUkVRX0dPVl9QT1dFUlNBVkUg
aXMgbm90IHNldApDT05GSUdfQ1BVX0ZSRVFfR09WX1VTRVJTUEFDRT15CkNPTkZJR19DUFVfRlJF
UV9HT1ZfT05ERU1BTkQ9eQojIENPTkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5v
dCBzZXQKCiMKIyBDUFVGcmVxIHByb2Nlc3NvciBkcml2ZXJzCiMKQ09ORklHX1g4Nl9QT1dFUk5P
V19LOD15CkNPTkZJR19YODZfUE9XRVJOT1dfSzhfQUNQST15CiMgQ09ORklHX1g4Nl9TUEVFRFNU
RVBfQ0VOVFJJTk8gaXMgbm90IHNldApDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT15CgojCiMgc2hh
cmVkIG9wdGlvbnMKIwpDT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEY9eQojIENPTkZJ
R19YODZfU1BFRURTVEVQX0xJQiBpcyBub3Qgc2V0CgojCiMgQnVzIG9wdGlvbnMgKFBDSSBldGMu
KQojCkNPTkZJR19QQ0k9eQpDT05GSUdfUENJX0RJUkVDVD15CkNPTkZJR19QQ0lfTU1DT05GSUc9
eQpDT05GSUdfUENJRVBPUlRCVVM9eQpDT05GSUdfUENJRUFFUj15CkNPTkZJR19QQ0lfTVNJPXkK
IyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfSFRfSVJRIGlzIG5vdCBzZXQK
CiMKIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CiMKQ09ORklHX1BDQ0FSRD1tCiMg
Q09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19QQ01DSUE9bQpDT05GSUdfUENN
Q0lBX0xPQURfQ0lTPXkKQ09ORklHX1BDTUNJQV9JT0NUTD15CkNPTkZJR19DQVJEQlVTPXkKCiMK
IyBQQy1jYXJkIGJyaWRnZXMKIwojIENPTkZJR19ZRU5UQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BE
NjcyOSBpcyBub3Qgc2V0CiMgQ09ORklHX0k4MjA5MiBpcyBub3Qgc2V0CgojCiMgUENJIEhvdHBs
dWcgU3VwcG9ydAojCiMgQ09ORklHX0hPVFBMVUdfUENJIGlzIG5vdCBzZXQKCiMKIyBFeGVjdXRh
YmxlIGZpbGUgZm9ybWF0cyAvIEVtdWxhdGlvbnMKIwpDT05GSUdfQklORk1UX0VMRj15CkNPTkZJ
R19CSU5GTVRfTUlTQz15CkNPTkZJR19JQTMyX0VNVUxBVElPTj15CkNPTkZJR19JQTMyX0FPVVQ9
eQpDT05GSUdfQ09NUEFUPXkKQ09ORklHX1NZU1ZJUENfQ09NUEFUPXkKCiMKIyBOZXR3b3JraW5n
CiMKQ09ORklHX05FVD15CgojCiMgTmV0d29ya2luZyBvcHRpb25zCiMKIyBDT05GSUdfTkVUREVC
VUcgaXMgbm90IHNldApDT05GSUdfUEFDS0VUPXkKIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90
IHNldApDT05GSUdfVU5JWD15CiMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldApDT05GSUdfSU5F
VD15CkNPTkZJR19JUF9NVUxUSUNBU1Q9eQojIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMg
bm90IHNldApDT05GSUdfSVBfRklCX0hBU0g9eQpDT05GSUdfSVBfUE5QPXkKQ09ORklHX0lQX1BO
UF9ESENQPXkKIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfUE5Q
X1JBUlAgaXMgbm90IHNldAojIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiMgQ09ORklHX05F
VF9JUEdSRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiMgQ09ORklH
X0FSUEQgaXMgbm90IHNldAojIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiMgQ09ORklH
X0lORVRfQUggaXMgbm90IHNldAojIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CiMgQ09ORklH
X0lORVRfSVBDT01QIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qg
c2V0CiMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01P
REVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlz
IG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CkNPTkZJR19J
TkVUX0RJQUc9eQpDT05GSUdfSU5FVF9UQ1BfRElBRz15CiMgQ09ORklHX1RDUF9DT05HX0FEVkFO
Q0VEIGlzIG5vdCBzZXQKQ09ORklHX1RDUF9DT05HX0NVQklDPXkKQ09ORklHX0RFRkFVTFRfVENQ
X0NPTkc9ImN1YmljIgojIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBW
NiBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05G
SUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUTEFCRUwgaXMgbm90IHNldAoj
IENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAojIENPTkZJR19ORVRGSUxURVIgaXMg
bm90IHNldAoKIwojIERDQ1AgQ29uZmlndXJhdGlvbiAoRVhQRVJJTUVOVEFMKQojCiMgQ09ORklH
X0lQX0RDQ1AgaXMgbm90IHNldAoKIwojIFNDVFAgQ29uZmlndXJhdGlvbiAoRVhQRVJJTUVOVEFM
KQojCiMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAoKIwojIFRJUEMgQ29uZmlndXJhdGlvbiAo
RVhQRVJJTUVOVEFMKQojCiMgQ09ORklHX1RJUEMgaXMgbm90IHNldAojIENPTkZJR19BVE0gaXMg
bm90IHNldAojIENPTkZJR19CUklER0UgaXMgbm90IHNldAojIENPTkZJR19WTEFOXzgwMjFRIGlz
IG5vdCBzZXQKIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKIyBDT05GSUdfTExDMiBpcyBub3Qg
c2V0CiMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CiMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKIyBD
T05GSUdfWDI1IGlzIG5vdCBzZXQKIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiMgQ09ORklHX0VD
T05FVCBpcyBub3Qgc2V0CiMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAoKIwojIFFvUyBh
bmQvb3IgZmFpciBxdWV1ZWluZwojCiMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CgojCiMg
TmV0d29yayB0ZXN0aW5nCiMKIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiMgQ09ORklH
X05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CiMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKQ09O
RklHX0lSREE9eQoKIwojIElyREEgcHJvdG9jb2xzCiMKIyBDT05GSUdfSVJMQU4gaXMgbm90IHNl
dAojIENPTkZJR19JUkNPTU0gaXMgbm90IHNldAojIENPTkZJR19JUkRBX1VMVFJBIGlzIG5vdCBz
ZXQKCiMKIyBJckRBIG9wdGlvbnMKIwojIENPTkZJR19JUkRBX0NBQ0hFX0xBU1RfTFNBUCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lSREFfRkFTVF9SUiBpcyBub3Qgc2V0CiMgQ09ORklHX0lSREFfREVC
VUcgaXMgbm90IHNldAoKIwojIEluZnJhcmVkLXBvcnQgZGV2aWNlIGRyaXZlcnMKIwoKIwojIFNJ
UiBkZXZpY2UgZHJpdmVycwojCiMgQ09ORklHX0lSVFRZX1NJUiBpcyBub3Qgc2V0CgojCiMgRG9u
Z2xlIHN1cHBvcnQKIwoKIwojIE9sZCBTSVIgZGV2aWNlIGRyaXZlcnMKIwoKIwojIE9sZCBTZXJp
YWwgZG9uZ2xlIHN1cHBvcnQKIwoKIwojIEZJUiBkZXZpY2UgZHJpdmVycwojCiMgQ09ORklHX1VT
Ql9JUkRBIGlzIG5vdCBzZXQKIyBDT05GSUdfU0lHTUFURUxfRklSIGlzIG5vdCBzZXQKIyBDT05G
SUdfTlNDX0ZJUiBpcyBub3Qgc2V0CiMgQ09ORklHX1dJTkJPTkRfRklSIGlzIG5vdCBzZXQKIyBD
T05GSUdfU01DX0lSQ0NfRklSIGlzIG5vdCBzZXQKIyBDT05GSUdfQUxJX0ZJUiBpcyBub3Qgc2V0
CiMgQ09ORklHX1ZMU0lfRklSIGlzIG5vdCBzZXQKIyBDT05GSUdfVklBX0ZJUiBpcyBub3Qgc2V0
CiMgQ09ORklHX01DU19GSVIgaXMgbm90IHNldApDT05GSUdfQlQ9eQojIENPTkZJR19CVF9MMkNB
UCBpcyBub3Qgc2V0CiMgQ09ORklHX0JUX1NDTyBpcyBub3Qgc2V0CgojCiMgQmx1ZXRvb3RoIGRl
dmljZSBkcml2ZXJzCiMKIyBDT05GSUdfQlRfSENJVVNCIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRf
SENJVUFSVCBpcyBub3Qgc2V0CiMgQ09ORklHX0JUX0hDSUJDTTIwM1ggaXMgbm90IHNldAojIENP
TkZJR19CVF9IQ0lCUEExMFggaXMgbm90IHNldAojIENPTkZJR19CVF9IQ0lCRlVTQiBpcyBub3Qg
c2V0CiMgQ09ORklHX0JUX0hDSURUTDEgaXMgbm90IHNldAojIENPTkZJR19CVF9IQ0lCVDNDIGlz
IG5vdCBzZXQKIyBDT05GSUdfQlRfSENJQkxVRUNBUkQgaXMgbm90IHNldAojIENPTkZJR19CVF9I
Q0lCVFVBUlQgaXMgbm90IHNldAojIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKQ09ORklH
X0lFRUU4MDIxMT15CiMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19J
RUVFODAyMTFfQ1JZUFRfV0VQPXkKQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPXkKQ09ORklH
X0lFRUU4MDIxMV9DUllQVF9US0lQPXkKIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90
IHNldApDT05GSUdfV0lSRUxFU1NfRVhUPXkKCiMKIyBEZXZpY2UgRHJpdmVycwojCgojCiMgR2Vu
ZXJpYyBEcml2ZXIgT3B0aW9ucwojCkNPTkZJR19TVEFOREFMT05FPXkKQ09ORklHX1BSRVZFTlRf
RklSTVdBUkVfQlVJTEQ9eQpDT05GSUdfRldfTE9BREVSPXkKIyBDT05GSUdfREVCVUdfRFJJVkVS
IGlzIG5vdCBzZXQKIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAoKIwojIENvbm5l
Y3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKIwojIENPTkZJ
R19DT05ORUNUT1IgaXMgbm90IHNldAoKIwojIE1lbW9yeSBUZWNobm9sb2d5IERldmljZXMgKE1U
RCkKIwojIENPTkZJR19NVEQgaXMgbm90IHNldAoKIwojIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAoj
CiMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAoKIwojIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAoj
CiMgQ09ORklHX1BOUCBpcyBub3Qgc2V0CgojCiMgQmxvY2sgZGV2aWNlcwojCiMgQ09ORklHX0JM
S19ERVZfRkQgaXMgbm90IHNldAojIENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKIyBDT05G
SUdfQkxLX0NQUV9DSVNTX0RBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMg
bm90IHNldAojIENPTkZJR19CTEtfREVWX1VNRU0gaXMgbm90IHNldAojIENPTkZJR19CTEtfREVW
X0NPV19DT01NT04gaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9MT09QPXkKIyBDT05GSUdfQkxL
X0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNl
dAojIENPTkZJR19CTEtfREVWX1NYOCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVUIgaXMg
bm90IHNldApDT05GSUdfQkxLX0RFVl9SQU09eQpDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYK
Q09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgpDT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpF
PTEwMjQKQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CgojCiMgTWlzYyBkZXZpY2Vz
CiMKIyBDT05GSUdfSUJNX0FTTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBz
ZXQKQ09ORklHX1RJRk1fQ09SRT15CkNPTkZJR19USUZNXzdYWDE9eQojIENPTkZJR19NU0lfTEFQ
VE9QIGlzIG5vdCBzZXQKCiMKIyBBVEEvQVRBUEkvTUZNL1JMTCBzdXBwb3J0CiMKQ09ORklHX0lE
RT15CkNPTkZJR19CTEtfREVWX0lERT15CgojCiMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lk
ZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCiMKIyBDT05GSUdfQkxLX0RFVl9JREVf
U0FUQSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSERfSURFIGlzIG5vdCBzZXQKQ09ORklH
X0JMS19ERVZfSURFRElTSz15CkNPTkZJR19JREVESVNLX01VTFRJX01PREU9eQojIENPTkZJR19C
TEtfREVWX0lERUNTIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfSURFQ0Q9eQojIENPTkZJR19C
TEtfREVWX0lERVRBUEUgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBu
b3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0CiMgQ09ORklHX0lERV9U
QVNLX0lPQ1RMIGlzIG5vdCBzZXQKCiMKIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCiMK
Q09ORklHX0lERV9HRU5FUklDPXkKIyBDT05GSUdfQkxLX0RFVl9DTUQ2NDAgaXMgbm90IHNldApD
T05GSUdfQkxLX0RFVl9JREVQQ0k9eQojIENPTkZJR19JREVQQ0lfU0hBUkVfSVJRIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQkxLX0RFVl9PRkZCT0FSRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZf
R0VORVJJQyBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfT1BUSTYyMSBpcyBub3Qgc2V0CiMg
Q09ORklHX0JMS19ERVZfUloxMDAwIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfSURFRE1BX1BD
ST15CiMgQ09ORklHX0JMS19ERVZfSURFRE1BX0ZPUkNFRCBpcyBub3Qgc2V0CkNPTkZJR19JREVE
TUFfUENJX0FVVE89eQojIENPTkZJR19JREVETUFfT05MWURJU0sgaXMgbm90IHNldAojIENPTkZJ
R19CTEtfREVWX0FFQzYyWFggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0FMSTE1WDMgaXMg
bm90IHNldApDT05GSUdfQkxLX0RFVl9BTUQ3NFhYPXkKQ09ORklHX0JMS19ERVZfQVRJSVhQPXkK
IyBDT05GSUdfQkxLX0RFVl9DTUQ2NFggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1RSSUZM
RVggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0NZODJDNjkzIGlzIG5vdCBzZXQKIyBDT05G
SUdfQkxLX0RFVl9DUzU1MjAgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0NTNTUzMCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSFBUMzRYIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RF
Vl9IUFQzNjYgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0pNSUNST04gaXMgbm90IHNldAoj
IENPTkZJR19CTEtfREVWX1NDMTIwMCBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX1BJSVg9eQoj
IENPTkZJR19CTEtfREVWX0lUODIxWCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfTlM4NzQx
NSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfT0xEIGlzIG5vdCBzZXQKQ09O
RklHX0JMS19ERVZfUERDMjAyWFhfTkVXPXkKIyBDT05GSUdfQkxLX0RFVl9TVldLUyBpcyBub3Qg
c2V0CiMgQ09ORklHX0JMS19ERVZfU0lJTUFHRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZf
U0lTNTUxMyBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU0xDOTBFNjYgaXMgbm90IHNldAoj
IENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVklBODJD
WFhYIGlzIG5vdCBzZXQKIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVW
X0lERURNQT15CiMgQ09ORklHX0lERURNQV9JVkIgaXMgbm90IHNldApDT05GSUdfSURFRE1BX0FV
VE89eQojIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKCiMKIyBTQ1NJIGRldmljZSBzdXBw
b3J0CiMKIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CkNPTkZJR19TQ1NJPXkKIyBDT05G
SUdfU0NTSV9UR1QgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAoj
IENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAoKIwojIFNDU0kgc3VwcG9ydCB0eXBlIChk
aXNrLCB0YXBlLCBDRC1ST00pCiMKQ09ORklHX0JMS19ERVZfU0Q9eQojIENPTkZJR19DSFJfREVW
X1NUIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKQ09ORklHX0JM
S19ERVZfU1I9eQojIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CkNPTkZJR19D
SFJfREVWX1NHPXkKIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAoKIwojIFNvbWUgU0NT
SSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwojCkNPTkZJ
R19TQ1NJX01VTFRJX0xVTj15CkNPTkZJR19TQ1NJX0NPTlNUQU5UUz15CiMgQ09ORklHX1NDU0lf
TE9HR0lORyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0Cgoj
CiMgU0NTSSBUcmFuc3BvcnRzCiMKQ09ORklHX1NDU0lfU1BJX0FUVFJTPXkKIyBDT05GSUdfU0NT
SV9GQ19BVFRSUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNl
dApDT05GSUdfU0NTSV9TQVNfQVRUUlM9eQojIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90
IHNldAoKIwojIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKIwojIENPTkZJR19JU0NTSV9UQ1AgaXMg
bm90IHNldAojIENPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0CiMgQ09ORklH
X1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUNBUkQgaXMgbm90IHNldAoj
IENPTkZJR19TQ1NJX0FBQ1JBSUQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FJQzdYWFggaXMg
bm90IHNldAojIENPTkZJR19TQ1NJX0FJQzdYWFhfT0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NT
SV9BSUM3OVhYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAojIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMg
bm90IHNldAojIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldAojIENPTkZJR19NRUdB
UkFJRF9TQVMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0hQVElPUCBpcyBub3Qgc2V0CiMgQ09O
RklHX1NDU0lfQlVTTE9HSUMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0RNWDMxOTFEIGlzIG5v
dCBzZXQKIyBDT05GSUdfU0NTSV9FQVRBIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9GVVRVUkVf
RE9NQUlOIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9HRFRIIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0NTSV9JUFMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0CiMgQ09O
RklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0
CiMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0lQUiBp
cyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAojIENPTkZJR19T
Q1NJX1FMQV9GQyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQK
IyBDT05GSUdfU0NTSV9MUEZDIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9EQzM5NXggaXMgbm90
IHNldAojIENPTkZJR19TQ1NJX0RDMzkwVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfREVCVUcg
aXMgbm90IHNldAojIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0CgojCiMgUENNQ0lBIFNDU0kg
YWRhcHRlciBzdXBwb3J0CiMKIyBDT05GSUdfUENNQ0lBX0ZET01BSU4gaXMgbm90IHNldAojIENP
TkZJR19QQ01DSUFfUUxPR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfUENNQ0lBX1NZTTUzQzUwMCBp
cyBub3Qgc2V0CgojCiMgU2VyaWFsIEFUQSAocHJvZCkgYW5kIFBhcmFsbGVsIEFUQSAoZXhwZXJp
bWVudGFsKSBkcml2ZXJzCiMKQ09ORklHX0FUQT15CiMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBp
cyBub3Qgc2V0CkNPTkZJR19TQVRBX0FIQ0k9eQojIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0
CkNPTkZJR19BVEFfUElJWD15CiMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNldAojIENPTkZJR19T
QVRBX05WIGlzIG5vdCBzZXQKIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAojIENPTkZJR19T
QVRBX1FTVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CiMg
Q09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0
CiMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNl
dAojIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldApDT05GSUdfU0FUQV9JTlRFTF9DT01C
SU5FRD15CiMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9BTUQgaXMg
bm90IHNldAojIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9BVElJ
WFAgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CiMgQ09ORklHX1BB
VEFfQ1M1NTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90IHNldAojIENP
TkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNl
dAojIENPTkZJR19BVEFfR0VORVJJQyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfSFBUMzY2IGlz
IG5vdCBzZXQKIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQ
VDNYMk4gaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CiMgQ09ORklH
X1BBVEFfSVQ4MjFYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9KTUlDUk9OIGlzIG5vdCBzZXQK
IyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlz
IG5vdCBzZXQKIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfT0xE
UElJWCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfTkVUQ0VMTCBpcyBub3Qgc2V0CiMgQ09ORklH
X1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CiMg
Q09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUENNQ0lBIGlzIG5v
dCBzZXQKIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9SQURJ
U1lTIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldAojIENPTkZJR19Q
QVRBX1NDMTIwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMgbm90IHNl
dAojIENPTkZJR19QQVRBX1BEQzIwMjdYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9TSUw2ODAg
aXMgbm90IHNldAojIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfVklB
IGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKCiMKIyBNdWx0aS1k
ZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQojCiMgQ09ORklHX01EIGlzIG5vdCBzZXQKCiMK
IyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0CiMKQ09ORklHX0ZVU0lPTj15CkNPTkZJR19GVVNJ
T05fU1BJPXkKIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKQ09ORklHX0ZVU0lPTl9TQVM9
eQpDT05GSUdfRlVTSU9OX01BWF9TR0U9MTI4CiMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90IHNl
dAoKIwojIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKIwpDT05GSUdfSUVFRTEzOTQ9eQoK
IwojIFN1YnN5c3RlbSBPcHRpb25zCiMKIyBDT05GSUdfSUVFRTEzOTRfVkVSQk9TRURFQlVHIGlz
IG5vdCBzZXQKIyBDT05GSUdfSUVFRTEzOTRfT1VJX0RCIGlzIG5vdCBzZXQKIyBDT05GSUdfSUVF
RTEzOTRfRVhUUkFfQ09ORklHX1JPTVMgaXMgbm90IHNldAojIENPTkZJR19JRUVFMTM5NF9FWFBP
UlRfRlVMTF9BUEkgaXMgbm90IHNldAoKIwojIERldmljZSBEcml2ZXJzCiMKQ09ORklHX0lFRUUx
Mzk0X1BDSUxZTlg9bQpDT05GSUdfSUVFRTEzOTRfT0hDSTEzOTQ9eQoKIwojIFByb3RvY29sIERy
aXZlcnMKIwojIENPTkZJR19JRUVFMTM5NF9WSURFTzEzOTQgaXMgbm90IHNldAojIENPTkZJR19J
RUVFMTM5NF9TQlAyIGlzIG5vdCBzZXQKIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NCBpcyBub3Qg
c2V0CiMgQ09ORklHX0lFRUUxMzk0X0RWMTM5NCBpcyBub3Qgc2V0CkNPTkZJR19JRUVFMTM5NF9S
QVdJTz15CgojCiMgSTJPIGRldmljZSBzdXBwb3J0CiMKIyBDT05GSUdfSTJPIGlzIG5vdCBzZXQK
CiMKIyBNYWNpbnRvc2ggZGV2aWNlIGRyaXZlcnMKIwojIENPTkZJR19NQUNfRU1VTU9VU0VCVE4g
aXMgbm90IHNldAoKIwojIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdfTkVUREVWSUNF
Uz15CiMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0
CiMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CkNPTkZJR19UVU49eQoKIwojIEFSQ25ldCBk
ZXZpY2VzCiMKIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKCiMKIyBQSFkgZGV2aWNlIHN1cHBv
cnQKIwojIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAoKIwojIEV0aGVybmV0ICgxMCBvciAxMDBN
Yml0KQojCkNPTkZJR19ORVRfRVRIRVJORVQ9eQpDT05GSUdfTUlJPXkKIyBDT05GSUdfSEFQUFlN
RUFMIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FTU0lO
SSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qgc2V0CgojCiMgVHVs
aXAgZmFtaWx5IG5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdfTkVUX1RVTElQPXkKIyBD
T05GSUdfREUyMTA0WCBpcyBub3Qgc2V0CkNPTkZJR19UVUxJUD15CiMgQ09ORklHX1RVTElQX01X
SSBpcyBub3Qgc2V0CiMgQ09ORklHX1RVTElQX01NSU8gaXMgbm90IHNldAojIENPTkZJR19UVUxJ
UF9OQVBJIGlzIG5vdCBzZXQKIyBDT05GSUdfREU0WDUgaXMgbm90IHNldAojIENPTkZJR19XSU5C
T05EXzg0MCBpcyBub3Qgc2V0CiMgQ09ORklHX0RNOTEwMiBpcyBub3Qgc2V0CiMgQ09ORklHX1VM
STUyNlggaXMgbm90IHNldAojIENPTkZJR19QQ01DSUFfWElSQ09NIGlzIG5vdCBzZXQKIyBDT05G
SUdfSFAxMDAgaXMgbm90IHNldAojIENPTkZJR19ORVRfUENJIGlzIG5vdCBzZXQKCiMKIyBFdGhl
cm5ldCAoMTAwMCBNYml0KQojCiMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiMgQ09ORklHX0RM
MksgaXMgbm90IHNldAojIENPTkZJR19FMTAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX05TODM4MjAg
aXMgbm90IHNldAojIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKIyBDT05GSUdfWUVMTE9XRklO
IGlzIG5vdCBzZXQKIyBDT05GSUdfUjgxNjkgaXMgbm90IHNldAojIENPTkZJR19TSVMxOTAgaXMg
bm90IHNldAojIENPTkZJR19TS0dFIGlzIG5vdCBzZXQKIyBDT05GSUdfU0tZMiBpcyBub3Qgc2V0
CiMgQ09ORklHX1NLOThMSU4gaXMgbm90IHNldApDT05GSUdfVElHT04zPW0KIyBDT05GSUdfQk5Y
MiBpcyBub3Qgc2V0CiMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAoKIwojIEV0aGVybmV0ICgx
MDAwMCBNYml0KQojCiMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAojIENPTkZJR19JWEdC
IGlzIG5vdCBzZXQKIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0CiMgQ09ORklHX01ZUkkxMEdFIGlz
IG5vdCBzZXQKIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0CgojCiMgVG9rZW4gUmluZyBk
ZXZpY2VzCiMKIyBDT05GSUdfVFIgaXMgbm90IHNldAoKIwojIFdpcmVsZXNzIExBTiAobm9uLWhh
bXJhZGlvKQojCkNPTkZJR19ORVRfUkFESU89eQojIENPTkZJR19ORVRfV0lSRUxFU1NfUlRORVRM
SU5LIGlzIG5vdCBzZXQKCiMKIyBPYnNvbGV0ZSBXaXJlbGVzcyBjYXJkcyBzdXBwb3J0IChwcmUt
ODAyLjExKQojCiMgQ09ORklHX1NUUklQIGlzIG5vdCBzZXQKIyBDT05GSUdfUENNQ0lBX1dBVkVM
QU4gaXMgbm90IHNldAojIENPTkZJR19QQ01DSUFfTkVUV0FWRSBpcyBub3Qgc2V0CgojCiMgV2ly
ZWxlc3MgODAyLjExIEZyZXF1ZW5jeSBIb3BwaW5nIGNhcmRzIHN1cHBvcnQKIwojIENPTkZJR19Q
Q01DSUFfUkFZQ1MgaXMgbm90IHNldAoKIwojIFdpcmVsZXNzIDgwMi4xMWIgSVNBL1BDSSBjYXJk
cyBzdXBwb3J0CiMKIyBDT05GSUdfSVBXMjEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQVzIyMDAg
aXMgbm90IHNldAojIENPTkZJR19BSVJPIGlzIG5vdCBzZXQKIyBDT05GSUdfSEVSTUVTIGlzIG5v
dCBzZXQKIyBDT05GSUdfQVRNRUwgaXMgbm90IHNldAoKIwojIFdpcmVsZXNzIDgwMi4xMWIgUGNt
Y2lhL0NhcmRidXMgY2FyZHMgc3VwcG9ydAojCiMgQ09ORklHX0FJUk9fQ1MgaXMgbm90IHNldAoj
IENPTkZJR19QQ01DSUFfV0wzNTAxIGlzIG5vdCBzZXQKCiMKIyBQcmlzbSBHVC9EdWV0dGUgODAy
LjExKGEvYi9nKSBQQ0kvQ2FyZGJ1cyBzdXBwb3J0CiMKIyBDT05GSUdfUFJJU001NCBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9aRDEyMDEgaXMgbm90IHNldAojIENPTkZJR19IT1NUQVAgaXMgbm90
IHNldApDT05GSUdfTkVUX1dJUkVMRVNTPXkKCiMKIyBQQ01DSUEgbmV0d29yayBkZXZpY2Ugc3Vw
cG9ydAojCiMgQ09ORklHX05FVF9QQ01DSUEgaXMgbm90IHNldAoKIwojIFdhbiBpbnRlcmZhY2Vz
CiMKIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CiMgQ09O
RklHX0hJUFBJIGlzIG5vdCBzZXQKIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKIyBDT05GSUdfU0xJ
UCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0CiMgQ09ORklHX1NIQVBFUiBp
cyBub3Qgc2V0CkNPTkZJR19ORVRDT05TT0xFPXkKQ09ORklHX05FVFBPTEw9eQojIENPTkZJR19O
RVRQT0xMX1JYIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUUE9MTF9UUkFQIGlzIG5vdCBzZXQKQ09O
RklHX05FVF9QT0xMX0NPTlRST0xMRVI9eQoKIwojIElTRE4gc3Vic3lzdGVtCiMKIyBDT05GSUdf
SVNETiBpcyBub3Qgc2V0CgojCiMgVGVsZXBob255IFN1cHBvcnQKIwojIENPTkZJR19QSE9ORSBp
cyBub3Qgc2V0CgojCiMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdfSU5QVVQ9eQojIENP
TkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKCiMKIyBVc2VybGFuZCBpbnRlcmZhY2Vz
CiMKQ09ORklHX0lOUFVUX01PVVNFREVWPXkKQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkK
Q09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKQ09ORklHX0lOUFVUX01PVVNFREVW
X1NDUkVFTl9ZPTc2OAojIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAojIENPTkZJR19J
TlBVVF9UU0RFViBpcyBub3Qgc2V0CkNPTkZJR19JTlBVVF9FVkRFVj15CiMgQ09ORklHX0lOUFVU
X0VWQlVHIGlzIG5vdCBzZXQKCiMKIyBJbnB1dCBEZXZpY2UgRHJpdmVycwojCkNPTkZJR19JTlBV
VF9LRVlCT0FSRD15CkNPTkZJR19LRVlCT0FSRF9BVEtCRD15CiMgQ09ORklHX0tFWUJPQVJEX1NV
TktCRCBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX0xLS0JEIGlzIG5vdCBzZXQKIyBDT05G
SUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMg
bm90IHNldAojIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0CkNPTkZJR19JTlBV
VF9NT1VTRT15CkNPTkZJR19NT1VTRV9QUzI9eQojIENPTkZJR19NT1VTRV9TRVJJQUwgaXMgbm90
IHNldAojIENPTkZJR19NT1VTRV9WU1hYWEFBIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfSk9Z
U1RJQ0sgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiMg
Q09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAoKIwojIEhhcmR3YXJlIEkvTyBwb3J0cwojCkNP
TkZJR19TRVJJTz15CkNPTkZJR19TRVJJT19JODA0Mj15CiMgQ09ORklHX1NFUklPX1NFUlBPUlQg
aXMgbm90IHNldAojIENPTkZJR19TRVJJT19DVDgyQzcxMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NF
UklPX1BDSVBTMiBpcyBub3Qgc2V0CkNPTkZJR19TRVJJT19MSUJQUzI9eQojIENPTkZJR19TRVJJ
T19SQVcgaXMgbm90IHNldAojIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CgojCiMgQ2hhcmFj
dGVyIGRldmljZXMKIwpDT05GSUdfVlQ9eQpDT05GSUdfVlRfQ09OU09MRT15CkNPTkZJR19IV19D
T05TT0xFPXkKIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKCiMKIyBTZXJpYWwgZHJpdmVycwojCkNP
TkZJR19TRVJJQUxfODI1MD15CkNPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKQ09ORklHX1NF
UklBTF84MjUwX1BDST15CiMgQ09ORklHX1NFUklBTF84MjUwX0NTIGlzIG5vdCBzZXQKQ09ORklH
X1NFUklBTF84MjUwX05SX1VBUlRTPTQKQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9
NAojIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CgojCiMgTm9uLTgyNTAg
c2VyaWFsIHBvcnQgc3VwcG9ydAojCkNPTkZJR19TRVJJQUxfQ09SRT15CkNPTkZJR19TRVJJQUxf
Q09SRV9DT05TT0xFPXkKIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CkNPTkZJR19VTklY
OThfUFRZUz15CkNPTkZJR19MRUdBQ1lfUFRZUz15CkNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1
NgoKIwojIElQTUkKIwojIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAoKIwojIFdhdGNo
ZG9nIENhcmRzCiMKIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldApDT05GSUdfSFdfUkFORE9N
PXkKQ09ORklHX0hXX1JBTkRPTV9JTlRFTD15CkNPTkZJR19IV19SQU5ET01fQU1EPXkKIyBDT05G
SUdfSFdfUkFORE9NX0dFT0RFIGlzIG5vdCBzZXQKIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldApD
T05GSUdfUlRDPXkKIyBDT05GSUdfRFRMSyBpcyBub3Qgc2V0CiMgQ09ORklHX1IzOTY0IGlzIG5v
dCBzZXQKIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldApDT05GSUdfQUdQPXkKQ09ORklHX0FH
UF9BTUQ2ND15CkNPTkZJR19BR1BfSU5URUw9eQojIENPTkZJR19BR1BfU0lTIGlzIG5vdCBzZXQK
IyBDT05GSUdfQUdQX1ZJQSBpcyBub3Qgc2V0CkNPTkZJR19EUk09eQojIENPTkZJR19EUk1fVERG
WCBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9SMTI4IGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX1JB
REVPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9JODEwIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJN
X0k4MzAgaXMgbm90IHNldAojIENPTkZJR19EUk1fSTkxNSBpcyBub3Qgc2V0CiMgQ09ORklHX0RS
TV9NR0EgaXMgbm90IHNldAojIENPTkZJR19EUk1fU0lTIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJN
X1ZJQSBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9TQVZBR0UgaXMgbm90IHNldAoKIwojIFBDTUNJ
QSBjaGFyYWN0ZXIgZGV2aWNlcwojCiMgQ09ORklHX1NZTkNMSU5LX0NTIGlzIG5vdCBzZXQKIyBD
T05GSUdfQ0FSRE1BTl80MDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5v
dCBzZXQKIyBDT05GSUdfTVdBVkUgaXMgbm90IHNldAojIENPTkZJR19QQzg3MzZ4X0dQSU8gaXMg
bm90IHNldApDT05GSUdfUkFXX0RSSVZFUj15CkNPTkZJR19NQVhfUkFXX0RFVlM9MjU2CkNPTkZJ
R19IUEVUPXkKIyBDT05GSUdfSFBFVF9SVENfSVJRIGlzIG5vdCBzZXQKQ09ORklHX0hQRVRfTU1B
UD15CiMgQ09ORklHX0hBTkdDSEVDS19USU1FUiBpcyBub3Qgc2V0CgojCiMgVFBNIGRldmljZXMK
IwojIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVMQ0xPQ0sgaXMgbm90IHNl
dAoKIwojIEkyQyBzdXBwb3J0CiMKQ09ORklHX0kyQz1tCkNPTkZJR19JMkNfQ0hBUkRFVj1tCgoj
CiMgSTJDIEFsZ29yaXRobXMKIwpDT05GSUdfSTJDX0FMR09CSVQ9bQojIENPTkZJR19JMkNfQUxH
T1BDRiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTEdPUENBIGlzIG5vdCBzZXQKCiMKIyBJMkMg
SGFyZHdhcmUgQnVzIHN1cHBvcnQKIwojIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CiMg
Q09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90
IHNldAojIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0FNRDgxMTEg
aXMgbm90IHNldAojIENPTkZJR19JMkNfSTgwMSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19JODEw
IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKQ09ORklHX0kyQ19JU0E9
bQojIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19PQ09SRVMgaXMg
bm90IHNldAojIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ky
Q19QUk9TQVZBR0UgaXMgbm90IHNldAojIENPTkZJR19JMkNfU0FWQUdFNCBpcyBub3Qgc2V0CiMg
Q09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qg
c2V0CiMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAojIENPTkZJR19JMkNfU1RVQiBpcyBu
b3Qgc2V0CiMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAojIENPTkZJR19JMkNfVklBUFJPIGlz
IG5vdCBzZXQKIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAojIENPTkZJR19JMkNfUENB
X0lTQSBpcyBub3Qgc2V0CgojCiMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CiMKIyBD
T05GSUdfU0VOU09SU19EUzEzMzcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0RTMTM3NCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19QQ0E5NTM5IGlzIG5vdCBz
ZXQKIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19N
QVg2ODc1IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAojIENP
TkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMg
bm90IHNldAojIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CgojCiMgU1BJIHN1cHBv
cnQKIwojIENPTkZJR19TUEkgaXMgbm90IHNldAojIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBz
ZXQKCiMKIyBEYWxsYXMncyAxLXdpcmUgYnVzCiMKQ09ORklHX1cxPW0KCiMKIyAxLXdpcmUgQnVz
IE1hc3RlcnMKIwojIENPTkZJR19XMV9NQVNURVJfTUFUUk9YIGlzIG5vdCBzZXQKQ09ORklHX1cx
X01BU1RFUl9EUzI0OTA9bQojIENPTkZJR19XMV9NQVNURVJfRFMyNDgyIGlzIG5vdCBzZXQKCiMK
IyAxLXdpcmUgU2xhdmVzCiMKIyBDT05GSUdfVzFfU0xBVkVfVEhFUk0gaXMgbm90IHNldAojIENP
TkZJR19XMV9TTEFWRV9TTUVNIGlzIG5vdCBzZXQKIyBDT05GSUdfVzFfU0xBVkVfRFMyNDMzIGlz
IG5vdCBzZXQKCiMKIyBIYXJkd2FyZSBNb25pdG9yaW5nIHN1cHBvcnQKIwpDT05GSUdfSFdNT049
eQojIENPTkZJR19IV01PTl9WSUQgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FCSVRVR1VS
VSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNMTAyMSBpcyBub3Qgc2V0CiMgQ09ORklH
X1NFTlNPUlNfQURNMTAyNSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNMTAyNiBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNMTAzMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP
UlNfQURNOTI0MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfSzhURU1QIGlzIG5vdCBzZXQK
IyBDT05GSUdfU0VOU09SU19BU0IxMDAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FUWFAx
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19EUzE2MjEgaXMgbm90IHNldAojIENPTkZJR19T
RU5TT1JTX0Y3MTgwNUYgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0ZTQ0hFUiBpcyBub3Qg
c2V0CiMgQ09ORklHX1NFTlNPUlNfRlNDUE9TIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19H
TDUxOFNNIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VOU09SU19JVDg3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTYzIGlzIG5v
dCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTc1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19M
TTc3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTc4IGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19MTTgwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTgzIGlzIG5vdCBzZXQK
IyBDT05GSUdfU0VOU09SU19MTTg1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTg3IGlz
IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTkwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09S
U19MTTkyIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVgxNjE5IGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VOU09SU19QQzg3MzYwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19QQzg3NDI3
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TSVM1NTk1IGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBp
cyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTc9bQojIENPTkZJR19TRU5TT1JTX1ZJ
QTY4NkEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CiMgQ09O
RklHX1NFTlNPUlNfVlQ4MjMxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM3OTFEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19XODM3OTJEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNl
dAojIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf
VzgzNjI3SEYgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0
CkNPTkZJR19TRU5TT1JTX0hEQVBTPW0KIyBDT05GSUdfSFdNT05fREVCVUdfQ0hJUCBpcyBub3Qg
c2V0CgojCiMgTXVsdGltZWRpYSBkZXZpY2VzCiMKQ09ORklHX1ZJREVPX0RFVj1tCkNPTkZJR19W
SURFT19WNEwxPXkKQ09ORklHX1ZJREVPX1Y0TDFfQ09NUEFUPXkKQ09ORklHX1ZJREVPX1Y0TDI9
eQoKIwojIFZpZGVvIENhcHR1cmUgQWRhcHRlcnMKIwoKIwojIFZpZGVvIENhcHR1cmUgQWRhcHRl
cnMKIwojIENPTkZJR19WSURFT19BRFZfREVCVUcgaXMgbm90IHNldApDT05GSUdfVklERU9fSEVM
UEVSX0NISVBTX0FVVE89eQojIENPTkZJR19WSURFT19WSVZJIGlzIG5vdCBzZXQKIyBDT05GSUdf
VklERU9fQlQ4NDggaXMgbm90IHNldAojIENPTkZJR19WSURFT19DUElBIGlzIG5vdCBzZXQKIyBD
T05GSUdfVklERU9fQ1BJQTIgaXMgbm90IHNldAojIENPTkZJR19WSURFT19TQUE1MjQ2QSBpcyBu
b3Qgc2V0CiMgQ09ORklHX1ZJREVPX1NBQTUyNDkgaXMgbm90IHNldAojIENPTkZJR19UVU5FUl8z
MDM2IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fU1RSQURJUyBpcyBub3Qgc2V0CiMgQ09ORklH
X1ZJREVPX1pPUkFOIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fU0FBNzEzNCBpcyBub3Qgc2V0
CiMgQ09ORklHX1ZJREVPX01YQiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0RQQyBpcyBub3Qg
c2V0CiMgQ09ORklHX1ZJREVPX0hFWElVTV9PUklPTiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVP
X0hFWElVTV9HRU1JTkkgaXMgbm90IHNldAojIENPTkZJR19WSURFT19DWDg4IGlzIG5vdCBzZXQK
IyBDT05GSUdfVklERU9fQ0FGRV9DQ0lDIGlzIG5vdCBzZXQKCiMKIyBWNEwgVVNCIGRldmljZXMK
IwojIENPTkZJR19WSURFT19QVlJVU0IyIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fRU0yOFhY
IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fVVNCVklTSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdf
VVNCX1ZJQ0FNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lCTUNBTSBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9LT05JQ0FXQyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9RVUlDS0NBTV9NRVNTRU5H
RVIgaXMgbm90IHNldAojIENPTkZJR19VU0JfRVQ2MVgyNTEgaXMgbm90IHNldAojIENPTkZJR19W
SURFT19PVkNBTUNISVAgaXMgbm90IHNldAojIENPTkZJR19VU0JfVzk5NjhDRiBpcyBub3Qgc2V0
CiMgQ09ORklHX1VTQl9PVjUxMSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRTQwMSBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9TTjlDMTAyIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUVjY4MCBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9aQzAzMDEgaXMgbm90IHNldAojIENPTkZJR19VU0JfUFdD
IGlzIG5vdCBzZXQKCiMKIyBSYWRpbyBBZGFwdGVycwojCiMgQ09ORklHX1JBRElPX0dFTVRFS19Q
Q0kgaXMgbm90IHNldAojIENPTkZJR19SQURJT19NQVhJUkFESU8gaXMgbm90IHNldAojIENPTkZJ
R19SQURJT19NQUVTVFJPIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0RTQlIgaXMgbm90IHNldAoK
IwojIERpZ2l0YWwgVmlkZW8gQnJvYWRjYXN0aW5nIERldmljZXMKIwojIENPTkZJR19EVkIgaXMg
bm90IHNldAojIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKCiMKIyBHcmFwaGljcyBzdXBw
b3J0CiMKIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCIGlzIG5v
dCBzZXQKQ09ORklHX1ZJREVPX1NFTEVDVD15CgojCiMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBz
dXBwb3J0CiMKQ09ORklHX1ZHQV9DT05TT0xFPXkKQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJB
Q0s9eQpDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTI1NgpDT05GSUdfRFVNTVlf
Q09OU09MRT15CiMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CkNPTkZJ
R19CQUNLTElHSFRfQ0xBU1NfREVWSUNFPXkKQ09ORklHX0JBQ0tMSUdIVF9ERVZJQ0U9eQoKIwoj
IFNwZWFrdXAgY29uc29sZSBzcGVlY2gKIwojIENPTkZJR19TUEVBS1VQIGlzIG5vdCBzZXQKCiMK
IyBTb3VuZAojCkNPTkZJR19TT1VORD15CgojCiMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0
ZWN0dXJlCiMKQ09ORklHX1NORD1tCkNPTkZJR19TTkRfVElNRVI9bQpDT05GSUdfU05EX1BDTT1t
CkNPTkZJR19TTkRfSFdERVA9bQpDT05GSUdfU05EX1JBV01JREk9bQpDT05GSUdfU05EX1NFUVVF
TkNFUj1tCkNPTkZJR19TTkRfU0VRX0RVTU1ZPW0KQ09ORklHX1NORF9PU1NFTVVMPXkKQ09ORklH
X1NORF9NSVhFUl9PU1M9bQpDT05GSUdfU05EX1BDTV9PU1M9bQpDT05GSUdfU05EX1BDTV9PU1Nf
UExVR0lOUz15CkNPTkZJR19TTkRfU0VRVUVOQ0VSX09TUz15CkNPTkZJR19TTkRfUlRDVElNRVI9
bQpDT05GSUdfU05EX1NFUV9SVENUSU1FUl9ERUZBVUxUPXkKIyBDT05GSUdfU05EX0RZTkFNSUNf
TUlOT1JTIGlzIG5vdCBzZXQKQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQpDT05GSUdfU05E
X1ZFUkJPU0VfUFJPQ0ZTPXkKIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQK
IyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBHZW5lcmljIGRldmljZXMKIwojIENP
TkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAojIENPTkZJR19TTkRfVklSTUlESSBpcyBub3Qgc2V0
CiMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUw
IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CgojCiMgUENJIGRldmlj
ZXMKIwojIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FMUzMwMCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NORF9BTFM0MDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FM
STU0NTEgaXMgbm90IHNldAojIENPTkZJR19TTkRfQVRJSVhQIGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX0FUSUlYUF9NT0RFTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNl
dAojIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FVODgzMCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0JUODdY
IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9D
TUlQQ0kgaXMgbm90IHNldAojIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX0NTNDZYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKIyBD
T05GSUdfU05EX0dJTkEyMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9MQVlMQTIwIGlzIG5vdCBz
ZXQKIyBDT05GSUdfU05EX0RBUkxBMjQgaXMgbm90IHNldAojIENPTkZJR19TTkRfR0lOQTI0IGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX0xBWUxBMjQgaXMgbm90IHNldAojIENPTkZJR19TTkRfTU9O
QSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NSUEgaXMgbm90IHNldAojIENPTkZJR19TTkRfRUNI
TzNHIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lORElHTyBpcyBub3Qgc2V0CiMgQ09ORklHX1NO
RF9JTkRJR09JTyBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JTkRJR09ESiBpcyBub3Qgc2V0CiMg
Q09ORklHX1NORF9FTVUxMEsxIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5v
dCBzZXQKIyBDT05GSUdfU05EX0VOUzEzNzAgaXMgbm90IHNldAojIENPTkZJR19TTkRfRU5TMTM3
MSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FUzE5MzggaXMgbm90IHNldAojIENPTkZJR19TTkRf
RVMxOTY4IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0ZNODAxIGlzIG5vdCBzZXQKQ09ORklHX1NO
RF9IREFfSU5URUw9bQojIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9I
RFNQTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX0lDRTE3MjQgaXMgbm90IHNldAojIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0tPUkcxMjEyIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01J
WEFSVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9OTTI1NiBpcyBub3Qgc2V0CiMgQ09ORklHX1NO
RF9QQ1hIUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX1JNRTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKIyBD
T05GSUdfU05EX1JNRTk2NTIgaXMgbm90IHNldAojIENPTkZJR19TTkRfU09OSUNWSUJFUyBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1ZJQTgy
WFggaXMgbm90IHNldAojIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0CiMgQ09O
RklHX1NORF9WWDIyMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAoK
IwojIFVTQiBkZXZpY2VzCiMKQ09ORklHX1NORF9VU0JfQVVESU89bQojIENPTkZJR19TTkRfVVNC
X1VTWDJZIGlzIG5vdCBzZXQKCiMKIyBQQ01DSUEgZGV2aWNlcwojCiMgQ09ORklHX1NORF9WWFBP
Q0tFVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9QREFVRElPQ0YgaXMgbm90IHNldAoKIwojIE9w
ZW4gU291bmQgU3lzdGVtCiMKIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAoKIwojIEhJ
RCBEZXZpY2VzCiMKQ09ORklHX0hJRD15CgojCiMgVVNCIHN1cHBvcnQKIwpDT05GSUdfVVNCX0FS
Q0hfSEFTX0hDRD15CkNPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CkNPTkZJR19VU0JfQVJDSF9I
QVNfRUhDST15CkNPTkZJR19VU0I9eQojIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAoKIwoj
IE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKIwpDT05GSUdfVVNCX0RFVklDRUZTPXkKIyBDT05G
SUdfVVNCX0JBTkRXSURUSCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX09U
RyBpcyBub3Qgc2V0CgojCiMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiMKQ09ORklHX1VT
Ql9FSENJX0hDRD15CiMgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTyBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9FSENJX1JPT1RfSFVCX1RUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VIQ0lfVFRf
TkVXU0NIRUQgaXMgbm90IHNldAojIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldApD
T05GSUdfVVNCX09IQ0lfSENEPXkKIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTiBpcyBub3Qg
c2V0CkNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKQ09ORklHX1VTQl9VSENJX0hDRD15
CiMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAoKIwojIFVTQiBEZXZpY2UgQ2xhc3Mg
ZHJpdmVycwojCiMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldApDT05GSUdfVVNCX1BSSU5URVI9
eQoKIwojIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3Vw
cG9ydCcKIwoKIwojIG1heSBhbHNvIGJlIG5lZWRlZDsgc2VlIFVTQl9TVE9SQUdFIEhlbHAgZm9y
IG1vcmUgaW5mb3JtYXRpb24KIwpDT05GSUdfVVNCX1NUT1JBR0U9eQojIENPTkZJR19VU0JfU1RP
UkFHRV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90
IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC
X1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBu
b3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC
X1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlz
IG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAojIENPTkZJ
R19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9LQVJN
QSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CgojCiMgVVNCIElu
cHV0IERldmljZXMKIwpDT05GSUdfVVNCX0hJRD15CiMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dF
UkJPT0sgaXMgbm90IHNldAojIENPTkZJR19ISURfRkYgaXMgbm90IHNldAojIENPTkZJR19VU0Jf
SElEREVWIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0FJUFRFSyBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9XQUNPTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9BQ0VDQUQgaXMgbm90IHNldAojIENP
TkZJR19VU0JfS0JUQUIgaXMgbm90IHNldAojIENPTkZJR19VU0JfUE9XRVJNQVRFIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVVNCX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1lFQUxJ
TksgaXMgbm90IHNldAojIENPTkZJR19VU0JfWFBBRCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9B
VElfUkVNT1RFIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0FUSV9SRU1PVEUyIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX0tFWVNQQU5fUkVNT1RFIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0FQUExF
VE9VQ0ggaXMgbm90IHNldAoKIwojIFVTQiBJbWFnaW5nIGRldmljZXMKIwojIENPTkZJR19VU0Jf
TURDODAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKCiMKIyBV
U0IgTmV0d29yayBBZGFwdGVycwojCiMgQ09ORklHX1VTQl9DQVRDIGlzIG5vdCBzZXQKIyBDT05G
SUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAojIENPTkZJR19VU0JfVVNCTkVUX01JSSBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldApDT05GSUdfVVNCX01PTj15
CgojCiMgVVNCIHBvcnQgZHJpdmVycwojCgojCiMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9y
dAojCkNPTkZJR19VU0JfU0VSSUFMPXkKIyBDT05GSUdfVVNCX1NFUklBTF9DT05TT0xFIGlzIG5v
dCBzZXQKQ09ORklHX1VTQl9TRVJJQUxfR0VORVJJQz15CiMgQ09ORklHX1VTQl9TRVJJQUxfQUlS
Q0FCTEUgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0FJUlBSSU1FIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1NFUklBTF9BUkszMTE2IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklB
TF9CRUxLSU4gaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1dISVRFSEVBVCBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfRElHSV9BQ0NFTEVQT1JUIGlzIG5vdCBzZXQKIyBDT05G
SUdfVVNCX1NFUklBTF9DUDIxMDEgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0NZUFJF
U1NfTTggaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0VNUEVHIGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX1NFUklBTF9GVERJX1NJTyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxf
RlVOU09GVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfVklTT1IgaXMgbm90IHNldAoj
IENPTkZJR19VU0JfU0VSSUFMX0lQQVEgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0lS
IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9FREdFUE9SVCBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9TRVJJQUxfRURHRVBPUlRfVEkgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFM
X0dBUk1JTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfSVBXIGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1BEQSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJ
QUxfS0VZU1BBTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfS0xTSSBpcyBub3Qgc2V0
CiMgQ09ORklHX1VTQl9TRVJJQUxfS09CSUxfU0NUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NF
UklBTF9NQ1RfVTIzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfTU9TNzcyMCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfTU9TNzg0MCBpcyBub3Qgc2V0CiMgQ09ORklHX1VT
Ql9TRVJJQUxfTkFWTUFOIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9TRVJJQUxfUEwyMzAzPW0KIyBD
T05GSUdfVVNCX1NFUklBTF9IUDRYIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9TQUZF
IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9TSUVSUkFXSVJFTEVTUyBpcyBub3Qgc2V0
CiMgQ09ORklHX1VTQl9TRVJJQUxfVEkgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0NZ
QkVSSkFDSyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfWElSQ09NIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1NFUklBTF9PUFRJT04gaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFM
X09NTklORVQgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0RFQlVHIGlzIG5vdCBzZXQK
CiMKIyBVU0IgTWlzY2VsbGFuZW91cyBkcml2ZXJzCiMKIyBDT05GSUdfVVNCX0VNSTYyIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX0VNSTI2IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0FEVVRVWCBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9BVUVSU1dBTEQgaXMgbm90IHNldAojIENPTkZJR19VU0Jf
UklPNTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0xFR09UT1dFUiBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9MQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfTEVEIGlzIG5vdCBzZXQKIyBDT05G
SUdfVVNCX0NZUFJFU1NfQ1k3QzYzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0NZVEhFUk0gaXMg
bm90IHNldAojIENPTkZJR19VU0JfUEhJREdFVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9JRE1P
VVNFIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9BUFBMRURJU1BMQVkgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0lTVVNCVkdBIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJB
VE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAoKIwojIFVTQiBEU0wg
bW9kZW0gc3VwcG9ydAojCgojCiMgVVNCIEdhZGdldCBTdXBwb3J0CiMKIyBDT05GSUdfVVNCX0dB
REdFVCBpcyBub3Qgc2V0CgojCiMgTU1DL1NEIENhcmQgc3VwcG9ydAojCkNPTkZJR19NTUM9eQpD
T05GSUdfTU1DX0RFQlVHPXkKQ09ORklHX01NQ19CTE9DSz15CkNPTkZJR19NTUNfU0RIQ0k9eQoj
IENPTkZJR19NTUNfV0JTRCBpcyBub3Qgc2V0CkNPTkZJR19NTUNfVElGTV9TRD15CgojCiMgTEVE
IGRldmljZXMKIwojIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CgojCiMgTEVEIGRyaXZlcnMK
IwoKIwojIExFRCBUcmlnZ2VycwojCgojCiMgSW5maW5pQmFuZCBzdXBwb3J0CiMKIyBDT05GSUdf
SU5GSU5JQkFORCBpcyBub3Qgc2V0CgojCiMgRURBQyAtIGVycm9yIGRldGVjdGlvbiBhbmQgcmVw
b3J0aW5nIChSQVMpIChFWFBFUklNRU5UQUwpCiMKIyBDT05GSUdfRURBQyBpcyBub3Qgc2V0Cgoj
CiMgUmVhbCBUaW1lIENsb2NrCiMKIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKCiMKIyBE
TUEgRW5naW5lIHN1cHBvcnQKIwojIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKCiMKIyBE
TUEgQ2xpZW50cwojCgojCiMgRE1BIERldmljZXMKIwoKIwojIFZpcnR1YWxpemF0aW9uCiMKQ09O
RklHX0tWTT1tCkNPTkZJR19LVk1fSU5URUw9bQojIENPTkZJR19LVk1fQU1EIGlzIG5vdCBzZXQK
CiMKIyBGaXJtd2FyZSBEcml2ZXJzCiMKIyBDT05GSUdfRUREIGlzIG5vdCBzZXQKIyBDT05GSUdf
REVMTF9SQlUgaXMgbm90IHNldAojIENPTkZJR19EQ0RCQVMgaXMgbm90IHNldAoKIwojIEZpbGUg
c3lzdGVtcwojCkNPTkZJR19FWFQyX0ZTPXkKQ09ORklHX0VYVDJfRlNfWEFUVFI9eQpDT05GSUdf
RVhUMl9GU19QT1NJWF9BQ0w9eQojIENPTkZJR19FWFQyX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQK
IyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldApDT05GSUdfRVhUM19GUz15CkNPTkZJR19F
WFQzX0ZTX1hBVFRSPXkKQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMPXkKIyBDT05GSUdfRVhUM19G
U19TRUNVUklUWSBpcyBub3Qgc2V0CiMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldApDT05G
SUdfSkJEPXkKIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX0ZTX01CQ0FDSEU9
eQpDT05GSUdfUkVJU0VSRlNfRlM9eQojIENPTkZJR19SRUlTRVJGU19DSEVDSyBpcyBub3Qgc2V0
CiMgQ09ORklHX1JFSVNFUkZTX1BST0NfSU5GTyBpcyBub3Qgc2V0CkNPTkZJR19SRUlTRVJGU19G
U19YQVRUUj15CkNPTkZJR19SRUlTRVJGU19GU19QT1NJWF9BQ0w9eQojIENPTkZJR19SRUlTRVJG
U19GU19TRUNVUklUWSBpcyBub3Qgc2V0CiMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CkNPTkZJ
R19GU19QT1NJWF9BQ0w9eQojIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19HRlMy
X0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAojIENPTkZJR19NSU5J
WF9GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0lOT1RJ
Rlk9eQpDT05GSUdfSU5PVElGWV9VU0VSPXkKIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldApDT05G
SUdfRE5PVElGWT15CiMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CkNPTkZJR19BVVRPRlM0
X0ZTPXkKIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkNPTkZJR19HRU5FUklDX0FDTD15Cgoj
CiMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwojCkNPTkZJR19JU085NjYwX0ZTPXkKQ09ORklHX0pP
TElFVD15CiMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CkNPTkZJR19VREZfRlM9bQpDT05GSUdf
VURGX05MUz15CgojCiMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwojCkNPTkZJR19GQVRfRlM9eQpD
T05GSUdfTVNET1NfRlM9eQpDT05GSUdfVkZBVF9GUz15CkNPTkZJR19GQVRfREVGQVVMVF9DT0RF
UEFHRT00MzcKQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgpDT05GSUdf
TlRGU19GUz15CiMgQ09ORklHX05URlNfREVCVUcgaXMgbm90IHNldApDT05GSUdfTlRGU19SVz15
CgojCiMgUHNldWRvIGZpbGVzeXN0ZW1zCiMKQ09ORklHX1BST0NfRlM9eQpDT05GSUdfUFJPQ19L
Q09SRT15CkNPTkZJR19QUk9DX1NZU0NUTD15CkNPTkZJR19TWVNGUz15CkNPTkZJR19UTVBGUz15
CkNPTkZJR19UTVBGU19QT1NJWF9BQ0w9eQpDT05GSUdfSFVHRVRMQkZTPXkKQ09ORklHX0hVR0VU
TEJfUEFHRT15CkNPTkZJR19SQU1GUz15CiMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQK
CiMKIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCiMKIyBDT05GSUdfQURGU19GUyBpcyBub3Qg
c2V0CiMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19FQ1JZUFRfRlMgaXMgbm90
IHNldAojIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5v
dCBzZXQKIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JGU19GUyBpcyBub3Qg
c2V0CiMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0
CiMgQ09ORklHX1NRVUFTSEZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0
CiMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNl
dAojIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKQ09ORklHX1VGU19GUz15CiMgQ09ORklHX1VG
U19GU19XUklURSBpcyBub3Qgc2V0CiMgQ09ORklHX1VGU19ERUJVRyBpcyBub3Qgc2V0CgojCiMg
TmV0d29yayBGaWxlIFN5c3RlbXMKIwpDT05GSUdfTkZTX0ZTPXkKQ09ORklHX05GU19WMz15CiMg
Q09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAojIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAoj
IENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldApDT05GSUdfTkZTRD15CkNPTkZJR19ORlNE
X1YzPXkKIyBDT05GSUdfTkZTRF9WM19BQ0wgaXMgbm90IHNldAojIENPTkZJR19ORlNEX1Y0IGlz
IG5vdCBzZXQKQ09ORklHX05GU0RfVENQPXkKQ09ORklHX1JPT1RfTkZTPXkKQ09ORklHX0xPQ0tE
PXkKQ09ORklHX0xPQ0tEX1Y0PXkKQ09ORklHX0VYUE9SVEZTPXkKQ09ORklHX05GU19DT01NT049
eQpDT05GSUdfU1VOUlBDPXkKIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKIyBD
T05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CkNPTkZJR19TTUJfRlM9eQojIENPTkZJ
R19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldApDT05GSUdfQ0lGUz15CiMgQ09ORklHX0NJRlNf
U1RBVFMgaXMgbm90IHNldAojIENPTkZJR19DSUZTX1dFQUtfUFdfSEFTSCBpcyBub3Qgc2V0CiMg
Q09ORklHX0NJRlNfWEFUVFIgaXMgbm90IHNldAojIENPTkZJR19DSUZTX0RFQlVHMiBpcyBub3Qg
c2V0CiMgQ09ORklHX0NJRlNfRVhQRVJJTUVOVEFMIGlzIG5vdCBzZXQKIyBDT05GSUdfTkNQX0ZT
IGlzIG5vdCBzZXQKIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FGU19GUyBp
cyBub3Qgc2V0CiMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKCiMKIyBQYXJ0aXRpb24gVHlwZXMK
IwojIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldApDT05GSUdfTVNET1NfUEFS
VElUSU9OPXkKCiMKIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAojCkNPTkZJR19OTFM9eQpDT05G
SUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQojIENP
TkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3
NSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAojIENPTkZJ
R19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBp
cyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAojIENPTkZJR19O
TFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBu
b3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAojIENPTkZJR19OTFNf
Q09ERVBBR0VfODYzIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qg
c2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09E
RVBBR0VfODY2IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0
CiMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBB
R0VfOTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzMiBpcyBub3Qgc2V0CiMg
Q09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0Vf
ODc0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBub3Qgc2V0CiMgQ09ORklH
X05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEg
aXMgbm90IHNldApDT05GSUdfTkxTX0FTQ0lJPXkKQ09ORklHX05MU19JU084ODU5XzE9eQojIENP
TkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBu
b3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNP
ODg1OV81IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0CiMgQ09O
RklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5v
dCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNP
ODg1OV8xNCBpcyBub3Qgc2V0CkNPTkZJR19OTFNfSVNPODg1OV8xNT15CiMgQ09ORklHX05MU19L
T0k4X1IgaXMgbm90IHNldAojIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKQ09ORklHX05M
U19VVEY4PXkKCiMKIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKIwojIENPTkZJR19ETE0gaXMg
bm90IHNldAoKIwojIEluc3RydW1lbnRhdGlvbiBTdXBwb3J0CiMKQ09ORklHX1BST0ZJTElORz15
CkNPTkZJR19PUFJPRklMRT15CkNPTkZJR19LUFJPQkVTPXkKCiMKIyBLZXJuZWwgaGFja2luZwoj
CkNPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMg
bm90IHNldAojIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSyBpcyBub3Qgc2V0CkNPTkZJR19NQUdJ
Q19TWVNSUT15CkNPTkZJR19VTlVTRURfU1lNQk9MUz15CkNPTkZJR19ERUJVR19GUz15CiMgQ09O
RklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldApDT05GSUdfREVCVUdfS0VSTkVMPXkKQ09ORklH
X0xPR19CVUZfU0hJRlQ9MTgKQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKIyBDT05GSUdfU0NI
RURTVEFUUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAojIENPTkZJ
R19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlz
IG5vdCBzZXQKIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAojIENPTkZJR19ERUJV
R19NVVRFWEVTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfUldTRU1TIGlzIG5vdCBzZXQKIyBD
T05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiMgQ09ORklHX1BST1ZFX0xPQ0tJTkcg
aXMgbm90IHNldAojIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiMgQ09O
RklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVH
X0tPQkpFQ1QgaXMgbm90IHNldApDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiMgQ09ORklHX0RF
QlVHX0lORk8gaXMgbm90IHNldAojIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CiMgQ09ORklH
X0RFQlVHX0xJU1QgaXMgbm90IHNldAojIENPTkZJR19GUkFNRV9QT0lOVEVSIGlzIG5vdCBzZXQK
IyBDT05GSUdfRk9SQ0VEX0lOTElOSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfUkNVX1RPUlRVUkVf
VEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKIyBDT05GSUdfRkFVTFRf
SU5KRUNUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfUk9EQVRBIGlzIG5vdCBzZXQKIyBD
T05GSUdfSU9NTVVfREVCVUcgaXMgbm90IHNldApDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVz15
CiMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKCiMKIyBTZWN1cml0eSBvcHRp
b25zCiMKQ09ORklHX0tFWVM9eQojIENPTkZJR19LRVlTX0RFQlVHX1BST0NfS0VZUyBpcyBub3Qg
c2V0CkNPTkZJR19TRUNVUklUWT15CiMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgaXMgbm90IHNl
dApDT05GSUdfU0VDVVJJVFlfQ0FQQUJJTElUSUVTPW0KIyBDT05GSUdfU0VDVVJJVFlfUk9PVFBM
VUcgaXMgbm90IHNldAoKIwojIENyeXB0b2dyYXBoaWMgb3B0aW9ucwojCkNPTkZJR19DUllQVE89
eQpDT05GSUdfQ1JZUFRPX0FMR0FQST15CkNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKQ09ORklH
X0NSWVBUT19IQVNIPW0KQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKQ09ORklHX0NSWVBUT19ITUFD
PW0KQ09ORklHX0NSWVBUT19YQ0JDPW0KQ09ORklHX0NSWVBUT19OVUxMPW0KQ09ORklHX0NSWVBU
T19NRDQ9bQpDT05GSUdfQ1JZUFRPX01ENT1tCkNPTkZJR19DUllQVE9fU0hBMT1tCkNPTkZJR19D
UllQVE9fU0hBMjU2PW0KQ09ORklHX0NSWVBUT19TSEE1MTI9bQpDT05GSUdfQ1JZUFRPX1dQNTEy
PW0KQ09ORklHX0NSWVBUT19UR1IxOTI9bQpDT05GSUdfQ1JZUFRPX0dGMTI4TVVMPW0KQ09ORklH
X0NSWVBUT19FQ0I9eQpDT05GSUdfQ1JZUFRPX0NCQz1tCkNPTkZJR19DUllQVE9fTFJXPW0KQ09O
RklHX0NSWVBUT19ERVM9bQpDT05GSUdfQ1JZUFRPX0JMT1dGSVNIPW0KQ09ORklHX0NSWVBUT19U
V09GSVNIPW0KQ09ORklHX0NSWVBUT19UV09GSVNIX0NPTU1PTj1tCkNPTkZJR19DUllQVE9fVFdP
RklTSF9YODZfNjQ9bQpDT05GSUdfQ1JZUFRPX1NFUlBFTlQ9bQpDT05GSUdfQ1JZUFRPX0FFUz15
CkNPTkZJR19DUllQVE9fQUVTX1g4Nl82ND1tCkNPTkZJR19DUllQVE9fQ0FTVDU9bQpDT05GSUdf
Q1JZUFRPX0NBU1Q2PW0KQ09ORklHX0NSWVBUT19URUE9bQpDT05GSUdfQ1JZUFRPX0FSQzQ9eQpD
T05GSUdfQ1JZUFRPX0tIQVpBRD1tCkNPTkZJR19DUllQVE9fQU5VQklTPW0KQ09ORklHX0NSWVBU
T19ERUZMQVRFPW0KQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQz15CkNPTkZJR19DUllQVE9fQ1JD
MzJDPW0KQ09ORklHX0NSWVBUT19URVNUPW0KCiMKIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwoj
CgojCiMgTGlicmFyeSByb3V0aW5lcwojCkNPTkZJR19CSVRSRVZFUlNFPXkKQ09ORklHX0NSQ19D
Q0lUVD15CiMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKQ09ORklHX0NSQzMyPXkKQ09ORklHX0xJ
QkNSQzMyQz1tCkNPTkZJR19aTElCX0lORkxBVEU9bQpDT05GSUdfWkxJQl9ERUZMQVRFPW0KQ09O
RklHX1BMSVNUPXkKQ09ORklHX0lPTUFQX0NPUFk9eQo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>113445</attachid>
            <date>2007-03-16 08:20 0000</date>
            <desc>Dmesg output</desc>
            <filename>dmesg_20070316</filename>
            <type>text/plain</type>
            <data encoding="base64">TGludXggdmVyc2lvbiAyLjYuMjAtZ2VudG9vLXIyIChyb290QGJydXR1cykgKGdjYyB2ZXJzaW9u
IDQuMS4xIChHZW50b28gNC4xLjEtcjMpKSAjMSBTTVAgU3VuIE1hciAxMSAxNjozNTo0MSBDU1Qg
MjAwNwpDb21tYW5kIGxpbmU6IHJvb3Q9L2Rldi9zZGEzCkJJT1MtcHJvdmlkZWQgcGh5c2ljYWwg
UkFNIG1hcDoKIEJJT1MtZTgyMDogMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWYwMDAg
KHVzYWJsZSkKIEJJT1MtZTgyMDogMDAwMDAwMDAwMDA5ZjAwMCAtIDAwMDAwMDAwMDAwYTAwMDAg
KHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAwMDAwMGRjMDAwIC0gMDAwMDAwMDAwMDEwMDAw
MCAocmVzZXJ2ZWQpCiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDVmZWQw
MDAwICh1c2FibGUpCiBCSU9TLWU4MjA6IDAwMDAwMDAwNWZlZDAwMDAgLSAwMDAwMDAwMDVmZWRm
MDAwIChBQ1BJIGRhdGEpCiBCSU9TLWU4MjA6IDAwMDAwMDAwNWZlZGYwMDAgLSAwMDAwMDAwMDVm
ZjAwMDAwIChBQ1BJIE5WUykKIEJJT1MtZTgyMDogMDAwMDAwMDA1ZmYwMDAwMCAtIDAwMDAwMDAw
NjAwMDAwMDAgKHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAwMGYwMDAwMDAwIC0gMDAwMDAw
MDBmNDAwMDAwMCAocmVzZXJ2ZWQpCiBCSU9TLWU4MjA6IDAwMDAwMDAwZmVjMDAwMDAgLSAwMDAw
MDAwMGZlYzEwMDAwIChyZXNlcnZlZCkKIEJJT1MtZTgyMDogMDAwMDAwMDBmZWQwMDAwMCAtIDAw
MDAwMDAwZmVkMDA0MDAgKHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAwMGZlZDE0MDAwIC0g
MDAwMDAwMDBmZWQxYTAwMCAocmVzZXJ2ZWQpCiBCSU9TLWU4MjA6IDAwMDAwMDAwZmVkMWMwMDAg
LSAwMDAwMDAwMGZlZDkwMDAwIChyZXNlcnZlZCkKIEJJT1MtZTgyMDogMDAwMDAwMDBmZWUwMDAw
MCAtIDAwMDAwMDAwZmVlMDEwMDAgKHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAwMGZmODAw
MDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCkVudGVyaW5nIGFkZF9hY3RpdmVfcmFu
Z2UoMCwgMCwgMTU5KSAwIGVudHJpZXMgb2YgMzIwMCB1c2VkCkVudGVyaW5nIGFkZF9hY3RpdmVf
cmFuZ2UoMCwgMjU2LCAzOTI5MTIpIDEgZW50cmllcyBvZiAzMjAwIHVzZWQKZW5kX3Bmbl9tYXAg
PSAxMDQ4NTc2CkRNSSBwcmVzZW50LgpBQ1BJOiBSU0RQICh2MDAyIExFTk9WTyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKSBAIDB4MDAwMDAwMDAwMDBmNjdhMApBQ1BJOiBYU0RUICh2
MDAxIExFTk9WTyBUUC03RiAgICAweDAwMDAyMTIwICBMVFAgMHgwMDAwMDAwMCkgQCAweDAwMDAw
MDAwNWZlZDFjZjUKQUNQSTogRkFEVCAodjAwMyBMRU5PVk8gVFAtN0YgICAgMHgwMDAwMjEyMCBM
TlZPIDB4MDAwMDAwMDEpIEAgMHgwMDAwMDAwMDVmZWQxZTAwCkFDUEk6IFNTRFQgKHYwMDEgTEVO
T1ZPIFRQLTdGICAgIDB4MDAwMDIxMjAgTVNGVCAweDAxMDAwMDBlKSBAIDB4MDAwMDAwMDA1ZmVk
MWZiNApBQ1BJOiBFQ0RUICh2MDAxIExFTk9WTyBUUC03RiAgICAweDAwMDAyMTIwIExOVk8gMHgw
MDAwMDAwMSkgQCAweDAwMDAwMDAwNWZlZGVkNzAKQUNQSTogVENQQSAodjAwMiBMRU5PVk8gVFAt
N0YgICAgMHgwMDAwMjEyMCBMTlZPIDB4MDAwMDAwMDEpIEAgMHgwMDAwMDAwMDVmZWRlZGMyCkFD
UEk6IE1BRFQgKHYwMDEgTEVOT1ZPIFRQLTdGICAgIDB4MDAwMDIxMjAgTE5WTyAweDAwMDAwMDAx
KSBAIDB4MDAwMDAwMDA1ZmVkZWRmNApBQ1BJOiBNQ0ZHICh2MDAxIExFTk9WTyBUUC03RiAgICAw
eDAwMDAyMTIwIExOVk8gMHgwMDAwMDAwMSkgQCAweDAwMDAwMDAwNWZlZGVlNWMKQUNQSTogSFBF
VCAodjAwMSBMRU5PVk8gVFAtN0YgICAgMHgwMDAwMjEyMCBMTlZPIDB4MDAwMDAwMDEpIEAgMHgw
MDAwMDAwMDVmZWRlZTk4CkFDUEk6IEJPT1QgKHYwMDEgTEVOT1ZPIFRQLTdGICAgIDB4MDAwMDIx
MjAgIExUUCAweDAwMDAwMDAxKSBAIDB4MDAwMDAwMDA1ZmVkZWZkOApBQ1BJOiBTU0RUICh2MDAx
IExFTk9WTyBUUC03RiAgICAweDAwMDAyMTIwIElOVEwgMHgyMDA1MDUxMykgQCAweDAwMDAwMDAw
NWZlZjI2NDQKQUNQSTogU1NEVCAodjAwMSBMRU5PVk8gVFAtN0YgICAgMHgwMDAwMjEyMCBJTlRM
IDB4MjAwNTA1MTMpIEAgMHgwMDAwMDAwMDVmZWYyOGEzCkFDUEk6IFNTRFQgKHYwMDEgTEVOT1ZP
IFRQLTdGICAgIDB4MDAwMDIxMjAgSU5UTCAweDIwMDUwNTEzKSBAIDB4MDAwMDAwMDA1ZmVmMjk0
OQpBQ1BJOiBTU0RUICh2MDAxIExFTk9WTyBUUC03RiAgICAweDAwMDAyMTIwIElOVEwgMHgyMDA1
MDUxMykgQCAweDAwMDAwMDAwNWZlZjJlNDAKQUNQSTogRFNEVCAodjAwMSBMRU5PVk8gVFAtN0Yg
ICAgMHgwMDAwMjEyMCBNU0ZUIDB4MDEwMDAwMGUpIEAgMHgwMDAwMDAwMDAwMDAwMDAwCk5vIE5V
TUEgY29uZmlndXJhdGlvbiBmb3VuZApGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAt
MDAwMDAwMDA1ZmVkMDAwMApFbnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKDAsIDAsIDE1OSkgMCBl
bnRyaWVzIG9mIDMyMDAgdXNlZApFbnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKDAsIDI1NiwgMzky
OTEyKSAxIGVudHJpZXMgb2YgMzIwMCB1c2VkCkJvb3RtZW0gc2V0dXAgbm9kZSAwIDAwMDAwMDAw
MDAwMDAwMDAtMDAwMDAwMDA1ZmVkMDAwMApab25lIFBGTiByYW5nZXM6CiAgRE1BICAgICAgICAg
ICAgIDAgLT4gICAgIDQwOTYKICBETUEzMiAgICAgICAgNDA5NiAtPiAgMTA0ODU3NgogIE5vcm1h
bCAgICAxMDQ4NTc2IC0+ICAxMDQ4NTc2CmVhcmx5X25vZGVfbWFwWzJdIGFjdGl2ZSBQRk4gcmFu
Z2VzCiAgICAwOiAgICAgICAgMCAtPiAgICAgIDE1OQogICAgMDogICAgICAyNTYgLT4gICAzOTI5
MTIKT24gbm9kZSAwIHRvdGFscGFnZXM6IDM5MjgxNQogIERNQSB6b25lOiA1NiBwYWdlcyB1c2Vk
IGZvciBtZW1tYXAKICBETUEgem9uZTogMTU1MSBwYWdlcyByZXNlcnZlZAogIERNQSB6b25lOiAy
MzkyIHBhZ2VzLCBMSUZPIGJhdGNoOjAKICBETUEzMiB6b25lOiA1MzE1IHBhZ2VzIHVzZWQgZm9y
IG1lbW1hcAogIERNQTMyIHpvbmU6IDM4MzUwMSBwYWdlcywgTElGTyBiYXRjaDozMQogIE5vcm1h
bCB6b25lOiAwIHBhZ2VzIHVzZWQgZm9yIG1lbW1hcApBQ1BJOiBQTS1UaW1lciBJTyBQb3J0OiAw
eDEwMDgKQUNQSTogTG9jYWwgQVBJQyBhZGRyZXNzIDB4ZmVlMDAwMDAKQUNQSTogTEFQSUMgKGFj
cGlfaWRbMHgwMF0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKUHJvY2Vzc29yICMwIChCb290dXAt
Q1BVKQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQpQ
cm9jZXNzb3IgIzEKQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MDBdIGhpZ2ggZWRnZSBsaW50
WzB4MV0pCkFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAxXSBoaWdoIGVkZ2UgbGludFsweDFd
KQpBQ1BJOiBJT0FQSUMgKGlkWzB4MDFdIGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0p
CklPQVBJQ1swXTogYXBpY19pZCAxLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCkFDUEk6
IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwpCkFDUEk6
IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGhpZ2ggbGV2ZWwpCkFD
UEk6IElSUTAgdXNlZCBieSBvdmVycmlkZS4KQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgpB
Q1BJOiBJUlE5IHVzZWQgYnkgb3ZlcnJpZGUuClNldHRpbmcgQVBJQyByb3V0aW5nIHRvIHBoeXNp
Y2FsIGZsYXQKQUNQSTogSFBFVCBpZDogMHg4MDg2YTIwMSBiYXNlOiAweGZlZDAwMDAwClVzaW5n
IEFDUEkgKE1BRFQpIGZvciBTTVAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgpOb3NhdmUgYWRk
cmVzcyByYW5nZTogMDAwMDAwMDAwMDA5ZjAwMCAtIDAwMDAwMDAwMDAwYTAwMDAKTm9zYXZlIGFk
ZHJlc3MgcmFuZ2U6IDAwMDAwMDAwMDAwYTAwMDAgLSAwMDAwMDAwMDAwMGRjMDAwCk5vc2F2ZSBh
ZGRyZXNzIHJhbmdlOiAwMDAwMDAwMDAwMGRjMDAwIC0gMDAwMDAwMDAwMDEwMDAwMApBbGxvY2F0
aW5nIFBDSSByZXNvdXJjZXMgc3RhcnRpbmcgYXQgNzAwMDAwMDAgKGdhcDogNjAwMDAwMDA6OTAw
MDAwMDApClNNUDogQWxsb3dpbmcgMiBDUFVzLCAwIGhvdHBsdWcgQ1BVcwpQRVJDUFU6IEFsbG9j
YXRpbmcgMzY0MTYgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhCkJ1aWx0IDEgem9uZWxpc3RzLiAgVG90
YWwgcGFnZXM6IDM4NTg5MwpLZXJuZWwgY29tbWFuZCBsaW5lOiByb290PS9kZXYvc2RhMwpJbml0
aWFsaXppbmcgQ1BVIzAKUElEIGhhc2ggdGFibGUgZW50cmllczogNDA5NiAob3JkZXI6IDEyLCAz
Mjc2OCBieXRlcykKQ29uc29sZTogY29sb3VyIFZHQSsgODB4MjUKRGVudHJ5IGNhY2hlIGhhc2gg
dGFibGUgZW50cmllczogMjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKSW5vZGUtY2Fj
aGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAxMzEwNzIgKG9yZGVyOiA4LCAxMDQ4NTc2IGJ5dGVzKQpD
aGVja2luZyBhcGVydHVyZS4uLgpNZW1vcnk6IDE1NDAwNTZrLzE1NzE2NDhrIGF2YWlsYWJsZSAo
MzI0M2sga2VybmVsIGNvZGUsIDMxMjA0ayByZXNlcnZlZCwgMTc0MGsgZGF0YSwgMzA4ayBpbml0
KQpDYWxpYnJhdGluZyBkZWxheSB1c2luZyB0aW1lciBzcGVjaWZpYyByb3V0aW5lLi4gMzY2Mi45
MCBCb2dvTUlQUyAobHBqPTczMjU4MTgpClNlY3VyaXR5IEZyYW1ld29yayB2MS4wLjAgaW5pdGlh
bGl6ZWQKTW91bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNTYKQ1BVOiBMMSBJIGNhY2hl
OiAzMkssIEwxIEQgY2FjaGU6IDMySwpDUFU6IEwyIGNhY2hlOiAyMDQ4SwpDUFUgMC8wIC0+IE5v
ZGUgMAp1c2luZyBtd2FpdCBpbiBpZGxlIHRocmVhZHMuCkNQVTogUGh5c2ljYWwgUHJvY2Vzc29y
IElEOiAwCkNQVTogUHJvY2Vzc29yIENvcmUgSUQ6IDAKQ1BVMDogVGhlcm1hbCBtb25pdG9yaW5n
IGVuYWJsZWQgKFRNMikKU01QIGFsdGVybmF0aXZlczogc3dpdGNoaW5nIHRvIFVQIGNvZGUKQUNQ
STogQ29yZSByZXZpc2lvbiAyMDA2MDcwNwpVc2luZyBsb2NhbCBBUElDIHRpbWVyIGludGVycnVw
dHMuCnJlc3VsdCAxMDM5MDYyMgpEZXRlY3RlZCAxMC4zOTAgTUh6IEFQSUMgdGltZXIuClNNUCBh
bHRlcm5hdGl2ZXM6IHN3aXRjaGluZyB0byBTTVAgY29kZQpCb290aW5nIHByb2Nlc3NvciAxLzIg
QVBJQyAweDEKSW5pdGlhbGl6aW5nIENQVSMxCkNhbGlicmF0aW5nIGRlbGF5IHVzaW5nIHRpbWVy
IHNwZWNpZmljIHJvdXRpbmUuLiAzNjA4LjgwIEJvZ29NSVBTIChscGo9NzIxNzYwOSkKQ1BVOiBM
MSBJIGNhY2hlOiAzMkssIEwxIEQgY2FjaGU6IDMySwpDUFU6IEwyIGNhY2hlOiAyMDQ4SwpDUFUg
MS8xIC0+IE5vZGUgMApDUFU6IFBoeXNpY2FsIFByb2Nlc3NvciBJRDogMApDUFU6IFByb2Nlc3Nv
ciBDb3JlIElEOiAxCkNQVTE6IFRoZXJtYWwgbW9uaXRvcmluZyBoYW5kbGVkIGJ5IFNNSQpJbnRl
bChSKSBDb3JlKFRNKTIgQ1BVICAgICAgICAgVDU2MDAgIEAgMS44M0dIeiBzdGVwcGluZyAwNgpD
UFUgMTogU3luY2luZyBUU0MgdG8gQ1BVIDAuCkNQVSAxOiBzeW5jaHJvbml6ZWQgVFNDIHdpdGgg
Q1BVIDAgKGxhc3QgZGlmZiAwIGN5Y2xlcywgbWF4ZXJyIDkwMiBjeWNsZXMpCkJyb3VnaHQgdXAg
MiBDUFVzCnRlc3RpbmcgTk1JIHdhdGNoZG9nIC4uLiBPSy4KdGltZS5jOiBVc2luZyAxNC4zMTgx
ODAgTUh6IFdBTEwgSFBFVCBHVE9EIEhQRVQgdGltZXIuCnRpbWUuYzogRGV0ZWN0ZWQgMTgyOC43
NTAgTUh6IHByb2Nlc3Nvci4KbWlncmF0aW9uX2Nvc3Q9MjYKTkVUOiBSZWdpc3RlcmVkIHByb3Rv
Y29sIGZhbWlseSAxNgpBQ1BJOiBidXMgdHlwZSBwY2kgcmVnaXN0ZXJlZApQQ0k6IFVzaW5nIE1N
Q09ORklHIGF0IGYwMDAwMDAwCkFDUEk6IEludGVycHJldGVyIGVuYWJsZWQKQUNQSTogVXNpbmcg
SU9BUElDIGZvciBpbnRlcnJ1cHQgcm91dGluZwpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xO
S0FdIChJUlFzIDMgNCA1IDYgNyA5IDEwICoxMSkKQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtM
TktCXSAoSVJRcyAzIDQgNSA2IDcgOSAxMCAqMTEpCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb
TE5LQ10gKElSUXMgMyA0IDUgNiA3IDkgMTAgKjExKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg
W0xOS0RdIChJUlFzIDMgNCA1IDYgNyA5IDEwICoxMSkKQUNQSTogUENJIEludGVycnVwdCBMaW5r
IFtMTktFXSAoSVJRcyAzIDQgNSA2IDcgOSAxMCAqMTEpCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGlu
ayBbTE5LRl0gKElSUXMgMyA0IDUgNiA3IDkgMTAgKjExKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExp
bmsgW0xOS0ddIChJUlFzIDMgNCA1IDYgNyA5IDEwICoxMSkKQUNQSTogUENJIEludGVycnVwdCBM
aW5rIFtMTktIXSAoSVJRcyAzIDQgNSA2IDcgOSAxMCAqMTEpCkFDUEk6IFBDSSBSb290IEJyaWRn
ZSBbUENJMF0gKDAwMDA6MDApClBDSTogUHJvYmluZyBQQ0kgaGFyZHdhcmUgKGJ1cyAwMCkKUENJ
IHF1aXJrOiByZWdpb24gMTAwMC0xMDdmIGNsYWltZWQgYnkgSUNINiBBQ1BJL0dQSU8vVENPClBD
SSBxdWlyazogcmVnaW9uIDExODAtMTFiZiBjbGFpbWVkIGJ5IElDSDYgR1BJTwpCb290IHZpZGVv
IGRldmljZSBpcyAwMDAwOjAxOjAwLjAKUENJOiBUcmFuc3BhcmVudCBicmlkZ2UgLSAwMDAwOjAw
OjFlLjAKQUNQSTogUENJIEludGVycnVwdCBSb3V0aW5nIFRhYmxlIFtcX1NCXy5QQ0kwLl9QUlRd
CkFDUEk6IFBvd2VyIFJlc291cmNlIFtQVUJTXSAob24pCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91
dGluZyBUYWJsZSBbXF9TQl8uUENJMC5BR1BfLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91
dGluZyBUYWJsZSBbXF9TQl8uUENJMC5FWFAwLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91
dGluZyBUYWJsZSBbXF9TQl8uUENJMC5FWFAxLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91
dGluZyBUYWJsZSBbXF9TQl8uUENJMC5FWFAyLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91
dGluZyBUYWJsZSBbXF9TQl8uUENJMC5FWFAzLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91
dGluZyBUYWJsZSBbXF9TQl8uUENJMC5QQ0kxLl9QUlRdClNDU0kgc3Vic3lzdGVtIGluaXRpYWxp
emVkCmxpYmF0YSB2ZXJzaW9uIDIuMDAgbG9hZGVkLgp1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBp
bnRlcmZhY2UgZHJpdmVyIHVzYmZzCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBk
cml2ZXIgaHViCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmljZSBkcml2ZXIgdXNiClBDSTog
VXNpbmcgQUNQSSBmb3IgSVJRIHJvdXRpbmcKUENJOiBJZiBhIGRldmljZSBkb2Vzbid0IHdvcmss
IHRyeSAicGNpPXJvdXRlaXJxIi4gIElmIGl0IGhlbHBzLCBwb3N0IGEgcmVwb3J0Ck5FVDogUmVn
aXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMjMKQmx1ZXRvb3RoOiBDb3JlIHZlciAyLjExCk5FVDog
UmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMzEKQmx1ZXRvb3RoOiBIQ0kgZGV2aWNlIGFuZCBj
b25uZWN0aW9uIG1hbmFnZXIgaW5pdGlhbGl6ZWQKQmx1ZXRvb3RoOiBIQ0kgc29ja2V0IGxheWVy
IGluaXRpYWxpemVkCmhwZXQwOiBhdCBNTUlPIDB4ZmVkMDAwMDAsIElSUXMgMiwgOCwgMApocGV0
MDogMyA2NC1iaXQgdGltZXJzLCAxNDMxODE4MCBIegpQQ0ktR0FSVDogTm8gQU1EIG5vcnRoYnJp
ZGdlIGZvdW5kLgpQQ0k6IEVuYWJsaW5nIGRldmljZSAwMDAwOjE1OjAwLjEgKDAwMDAgLT4gMDAw
MikKQUNQSTogUENJIEludGVycnVwdCAwMDAwOjE1OjAwLjFbQl0gLT4gR1NJIDE3IChsZXZlbCwg
bG93KSAtPiBJUlEgMTcKUENJOiBTZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6
MTU6MDAuMSB0byA2NApvaGNpMTM5NDogZnctaG9zdDA6IE9IQ0ktMTM5NCAxLjEgKFBDSSk6IElS
UT1bMTddICBNTUlPPVtlNDMwMjAwMC1lNDMwMjdmZl0gIE1heCBQYWNrZXQ9WzIwNDhdICBJUi9J
VCBjb250ZXh0cz1bNC84XQpQQ0k6IEJyaWRnZTogMDAwMDowMDowMS4wCiAgSU8gd2luZG93OiAy
MDAwLTJmZmYKICBNRU0gd2luZG93OiBlZTAwMDAwMC1lZTBmZmZmZgogIFBSRUZFVENIIHdpbmRv
dzogZDgwMDAwMDAtZGZmZmZmZmYKUENJOiBCcmlkZ2U6IDAwMDA6MDA6MWMuMAogIElPIHdpbmRv
dzogZGlzYWJsZWQuCiAgTUVNIHdpbmRvdzogZWUxMDAwMDAtZWUxZmZmZmYKICBQUkVGRVRDSCB3
aW5kb3c6IGRpc2FibGVkLgpQQ0k6IEJyaWRnZTogMDAwMDowMDoxYy4xCiAgSU8gd2luZG93OiAz
MDAwLTRmZmYKICBNRU0gd2luZG93OiBlYzAwMDAwMC1lZGZmZmZmZgogIFBSRUZFVENIIHdpbmRv
dzogZTQwMDAwMDAtZTQwZmZmZmYKUENJOiBCcmlkZ2U6IDAwMDA6MDA6MWMuMgogIElPIHdpbmRv
dzogNTAwMC02ZmZmCiAgTUVNIHdpbmRvdzogZTgwMDAwMDAtZTlmZmZmZmYKICBQUkVGRVRDSCB3
aW5kb3c6IGU0MTAwMDAwLWU0MWZmZmZmClBDSTogQnJpZGdlOiAwMDAwOjAwOjFjLjMKICBJTyB3
aW5kb3c6IDcwMDAtOGZmZgogIE1FTSB3aW5kb3c6IGVhMDAwMDAwLWViZmZmZmZmCiAgUFJFRkVU
Q0ggd2luZG93OiBlNDIwMDAwMC1lNDJmZmZmZgpQQ0k6IEJ1cyAyMiwgY2FyZGJ1cyBicmlkZ2U6
IDAwMDA6MTU6MDAuMAogIElPIHdpbmRvdzogMDAwMDkwMDAtMDAwMDkwZmYKICBJTyB3aW5kb3c6
IDAwMDA5NDAwLTAwMDA5NGZmCiAgUFJFRkVUQ0ggd2luZG93OiBlMDAwMDAwMC1lM2ZmZmZmZgog
IE1FTSB3aW5kb3c6IDcwMDAwMDAwLTczZmZmZmZmClBDSTogQnJpZGdlOiAwMDAwOjAwOjFlLjAK
ICBJTyB3aW5kb3c6IDkwMDAtY2ZmZgogIE1FTSB3aW5kb3c6IGU0MzAwMDAwLWU3ZmZmZmZmCiAg
UFJFRkVUQ0ggd2luZG93OiBlMDAwMDAwMC1lM2ZmZmZmZgpBQ1BJOiBQQ0kgSW50ZXJydXB0IDAw
MDA6MDA6MDEuMFtBXSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAxNgpQQ0k6IFNldHRp
bmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDowMDowMS4wIHRvIDY0CkFDUEk6IFBDSSBJ
bnRlcnJ1cHQgMDAwMDowMDoxYy4wW0FdIC0+IEdTSSAyMCAobGV2ZWwsIGxvdykgLT4gSVJRIDIw
ClBDSTogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFjLjAgdG8gNjQK
QUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjFjLjFbQl0gLT4gR1NJIDIxIChsZXZlbCwgbG93
KSAtPiBJUlEgMjEKUENJOiBTZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6
MWMuMSB0byA2NApBQ1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MDA6MWMuMltDXSAtPiBHU0kgMjIg
KGxldmVsLCBsb3cpIC0+IElSUSAyMgpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZp
Y2UgMDAwMDowMDoxYy4yIHRvIDY0CkFDUEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDowMDoxYy4zW0Rd
IC0+IEdTSSAyMyAobGV2ZWwsIGxvdykgLT4gSVJRIDIzClBDSTogU2V0dGluZyBsYXRlbmN5IHRp
bWVyIG9mIGRldmljZSAwMDAwOjAwOjFjLjMgdG8gNjQKUENJOiBFbmFibGluZyBkZXZpY2UgMDAw
MDowMDoxZS4wICgwMDA1IC0+IDAwMDcpClBDSTogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRl
dmljZSAwMDAwOjAwOjFlLjAgdG8gNjQKQUNQSTogUENJIEludGVycnVwdCAwMDAwOjE1OjAwLjBb
QV0gLT4gR1NJIDE2IChsZXZlbCwgbG93KSAtPiBJUlEgMTYKTkVUOiBSZWdpc3RlcmVkIHByb3Rv
Y29sIGZhbWlseSAyCklQIHJvdXRlIGNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNjU1MzYgKG9y
ZGVyOiA3LCA1MjQyODggYnl0ZXMpClRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJpZXM6
IDI2MjE0NCAob3JkZXI6IDEwLCA0MTk0MzA0IGJ5dGVzKQpUQ1AgYmluZCBoYXNoIHRhYmxlIGVu
dHJpZXM6IDY1NTM2IChvcmRlcjogOCwgMTA0ODU3NiBieXRlcykKVENQOiBIYXNoIHRhYmxlcyBj
b25maWd1cmVkIChlc3RhYmxpc2hlZCAyNjIxNDQgYmluZCA2NTUzNikKVENQIHJlbm8gcmVnaXN0
ZXJlZApTaW1wbGUgQm9vdCBGbGFnIGF0IDB4MzUgc2V0IHRvIDB4MQpUb3RhbCBIdWdlVExCIG1l
bW9yeSBhbGxvY2F0ZWQsIDAKSW5zdGFsbGluZyBrbmZzZCAoY29weXJpZ2h0IChDKSAxOTk2IG9r
aXJAbW9uYWQuc3diLmRlKS4KTlRGUyBkcml2ZXIgMi4xLjI4IFtGbGFnczogUi9XXS4KaW8gc2No
ZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZAppbyBzY2hlZHVsZXIgZGVhZGxpbmUgcmVnaXN0ZXJlZApp
byBzY2hlZHVsZXIgY2ZxIHJlZ2lzdGVyZWQgKGRlZmF1bHQpClBDSTogU2V0dGluZyBsYXRlbmN5
IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjAxLjAgdG8gNjQKYXNzaWduX2ludGVycnVwdF9tb2Rl
IEZvdW5kIE1TSSBjYXBhYmlsaXR5CkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAwOjAxLjA6
cGNpZTAwXQpBbGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDowMS4wOnBjaWUwM10KUENJOiBT
ZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWMuMCB0byA2NAphc3NpZ25f
aW50ZXJydXB0X21vZGUgRm91bmQgTVNJIGNhcGFiaWxpdHkKQWxsb2NhdGUgUG9ydCBTZXJ2aWNl
WzAwMDA6MDA6MWMuMDpwY2llMDBdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAwOjFjLjA6
cGNpZTAyXQpBbGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDoxYy4wOnBjaWUwM10KUENJOiBT
ZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWMuMSB0byA2NAphc3NpZ25f
aW50ZXJydXB0X21vZGUgRm91bmQgTVNJIGNhcGFiaWxpdHkKQWxsb2NhdGUgUG9ydCBTZXJ2aWNl
WzAwMDA6MDA6MWMuMTpwY2llMDBdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAwOjFjLjE6
cGNpZTAyXQpBbGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDoxYy4xOnBjaWUwM10KUENJOiBT
ZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWMuMiB0byA2NAphc3NpZ25f
aW50ZXJydXB0X21vZGUgRm91bmQgTVNJIGNhcGFiaWxpdHkKQWxsb2NhdGUgUG9ydCBTZXJ2aWNl
WzAwMDA6MDA6MWMuMjpwY2llMDBdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAwOjFjLjI6
cGNpZTAyXQpBbGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDoxYy4yOnBjaWUwM10KUENJOiBT
ZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWMuMyB0byA2NAphc3NpZ25f
aW50ZXJydXB0X21vZGUgRm91bmQgTVNJIGNhcGFiaWxpdHkKQWxsb2NhdGUgUG9ydCBTZXJ2aWNl
WzAwMDA6MDA6MWMuMzpwY2llMDBdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAwOjFjLjM6
cGNpZTAyXQpBbGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDoxYy4zOnBjaWUwM10KUmVhbCBU
aW1lIENsb2NrIERyaXZlciB2MS4xMmFjCmhwZXRfcmVzb3VyY2VzOiAweGZlZDAwMDAwIGlzIGJ1
c3kKaW50ZWxfcm5nOiBGV0ggbm90IGRldGVjdGVkCkxpbnV4IGFncGdhcnQgaW50ZXJmYWNlIHYw
LjEwMSAoYykgRGF2ZSBKb25lcwphZ3BnYXJ0OiBEZXRlY3RlZCBhbiBJbnRlbCA5NDVHTSBDaGlw
c2V0LgphZ3BnYXJ0OiBBR1AgYXBlcnR1cmUgaXMgMjU2TSBAIDB4MApbZHJtXSBJbml0aWFsaXpl
ZCBkcm0gMS4xLjAgMjAwNjA4MTAKQUNQSTogQUMgQWRhcHRlciBbQUNdIChvbi1saW5lKQpBQ1BJ
OiBCYXR0ZXJ5IFNsb3QgW0JBVDBdIChiYXR0ZXJ5IHByZXNlbnQpCmlucHV0OiBQb3dlciBCdXR0
b24gKEZGKSBhcyAvY2xhc3MvaW5wdXQvaW5wdXQwCkFDUEk6IFBvd2VyIEJ1dHRvbiAoRkYpIFtQ
V1JGXQppbnB1dDogTGlkIFN3aXRjaCBhcyAvY2xhc3MvaW5wdXQvaW5wdXQxCkFDUEk6IExpZCBT
d2l0Y2ggW0xJRF0KaW5wdXQ6IFNsZWVwIEJ1dHRvbiAoQ00pIGFzIC9jbGFzcy9pbnB1dC9pbnB1
dDIKQUNQSTogU2xlZXAgQnV0dG9uIChDTSkgW1NMUEJdCkFDUEk6IFZpZGVvIERldmljZSBbVklE
XSAobXVsdGktaGVhZDogeWVzICByb206IG5vICBwb3N0OiBubykKQUNQSTogVmlkZW8gRGV2aWNl
IFtWSURdIChtdWx0aS1oZWFkOiB5ZXMgIHJvbTogbm8gIHBvc3Q6IG5vKQpBQ1BJIChleGNvbmZp
Zy0wNDU1KTogRHluYW1pYyBTU0RUIExvYWQgLSBPZW1JZCBbIFBtUmVmXSBPZW1UYWJsZUlkIFsg
Q3B1MElzdF0gWzIwMDYwNzA3XQpBQ1BJIChleGNvbmZpZy0wNDU1KTogRHluYW1pYyBTU0RUIExv
YWQgLSBPZW1JZCBbIFBtUmVmXSBPZW1UYWJsZUlkIFsgQ3B1MENzdF0gWzIwMDYwNzA3XQpNb25p
dG9yLU13YWl0IHdpbGwgYmUgdXNlZCB0byBlbnRlciBDLTEgc3RhdGUKTW9uaXRvci1Nd2FpdCB3
aWxsIGJlIHVzZWQgdG8gZW50ZXIgQy0yIHN0YXRlCk1vbml0b3ItTXdhaXQgd2lsbCBiZSB1c2Vk
IHRvIGVudGVyIEMtMyBzdGF0ZQpBQ1BJOiBDUFUwIChwb3dlciBzdGF0ZXM6IEMxW0MxXSBDMltD
Ml0gQzNbQzNdKQpBQ1BJOiBQcm9jZXNzb3IgW0NQVTBdIChzdXBwb3J0cyA4IHRocm90dGxpbmcg
c3RhdGVzKQpBQ1BJIChleGNvbmZpZy0wNDU1KTogRHluYW1pYyBTU0RUIExvYWQgLSBPZW1JZCBb
IFBtUmVmXSBPZW1UYWJsZUlkIFsgQ3B1MUlzdF0gWzIwMDYwNzA3XQpBQ1BJIChleGNvbmZpZy0w
NDU1KTogRHluYW1pYyBTU0RUIExvYWQgLSBPZW1JZCBbIFBtUmVmXSBPZW1UYWJsZUlkIFsgQ3B1
MUNzdF0gWzIwMDYwNzA3XQpBQ1BJOiBDUFUxIChwb3dlciBzdGF0ZXM6IEMxW0MxXSBDMltDMl0g
QzNbQzNdKQpBQ1BJOiBQcm9jZXNzb3IgW0NQVTFdIChzdXBwb3J0cyA4IHRocm90dGxpbmcgc3Rh
dGVzKQpBQ1BJOiBUaGVybWFsIFpvbmUgW1RITTBdICg2NCBDKQpBQ1BJOiBUaGVybWFsIFpvbmUg
W1RITTFdICg2MyBDKQppYm1fYWNwaTogVGhpbmtQYWQgRUMgZmlybXdhcmUgN0ZIVDI2V1ctMS4w
OAppYm1fYWNwaTogSUJNIFRoaW5rUGFkIEFDUEkgRXh0cmFzIHYwLjEzCmlibV9hY3BpOiBodHRw
Oi8vaWJtLWFjcGkuc2YubmV0LwpTZXJpYWw6IDgyNTAvMTY1NTAgZHJpdmVyICRSZXZpc2lvbjog
MS45MCAkIDQgcG9ydHMsIElSUSBzaGFyaW5nIGRpc2FibGVkClJBTURJU0sgZHJpdmVyIGluaXRp
YWxpemVkOiAxNiBSQU0gZGlza3Mgb2YgNDA5Nksgc2l6ZSAxMDI0IGJsb2Nrc2l6ZQpsb29wOiBs
b2FkZWQgKG1heCA4IGRldmljZXMpCkFDUEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDoxNTowMC4yW0Fd
IC0+IEdTSSAxNiAobGV2ZWwsIGxvdykgLT4gSVJRIDE2ClBDSTogU2V0dGluZyBsYXRlbmN5IHRp
bWVyIG9mIGRldmljZSAwMDAwOjE1OjAwLjIgdG8gNjQKdHVuOiBVbml2ZXJzYWwgVFVOL1RBUCBk
ZXZpY2UgZHJpdmVyLCAxLjYKdHVuOiAoQykgMTk5OS0yMDA0IE1heCBLcmFzbnlhbnNreSA8bWF4
a0BxdWFsY29tbS5jb20+Cm5ldGNvbnNvbGU6IG5vdCBjb25maWd1cmVkLCBhYm9ydGluZwpVbmlm
b3JtIE11bHRpLVBsYXRmb3JtIEUtSURFIGRyaXZlciBSZXZpc2lvbjogNy4wMGFscGhhMgppZGU6
IEFzc3VtaW5nIDMzTUh6IHN5c3RlbSBidXMgc3BlZWQgZm9yIFBJTyBtb2Rlczsgb3ZlcnJpZGUg
d2l0aCBpZGVidXM9eHgKSUNINzogSURFIGNvbnRyb2xsZXIgYXQgUENJIHNsb3QgMDAwMDowMDox
Zi4xCkFDUEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDowMDoxZi4xW0NdIC0+IEdTSSAxNiAobGV2ZWws
IGxvdykgLT4gSVJRIDE2CklDSDc6IGNoaXBzZXQgcmV2aXNpb24gMgpJQ0g3OiBub3QgMTAwJSBu
YXRpdmUgbW9kZTogd2lsbCBwcm9iZSBpcnFzIGxhdGVyCiAgICBpZGUwOiBCTS1ETUEgYXQgMHgx
ODgwLTB4MTg4NywgQklPUyBzZXR0aW5nczogaGRhOkRNQSwgaGRiOnBpbwpQcm9iaW5nIElERSBp
bnRlcmZhY2UgaWRlMC4uLgp0aWZtXzd4eDE6IHNkIGNhcmQgZGV0ZWN0ZWQgaW4gc29ja2V0IDEK
aGRhOiBITC1EVC1TVCBEVkRSQU0gR01BLTQwODJOLCBBVEFQSSBDRC9EVkQtUk9NIGRyaXZlCmlk
ZTAgYXQgMHgxZjAtMHgxZjcsMHgzZjYgb24gaXJxIDE0ClByb2JpbmcgSURFIGludGVyZmFjZSBp
ZGUxLi4uCmllZWUxMzk0OiBIb3N0IGFkZGVkOiBJRDpCVVNbMC0wMDoxMDIzXSAgR1VJRFswMDA2
MWIwMDIwMjRjNzZmXQpoZGE6IEFUQVBJIDI0WCBEVkQtUk9NIERWRC1SLVJBTSBDRC1SL1JXIGRy
aXZlLCAyMDQ4a0IgQ2FjaGUsIFVETUEoMzMpClVuaWZvcm0gQ0QtUk9NIGRyaXZlciBSZXZpc2lv
bjogMy4yMAphaGNpIDAwMDA6MDA6MWYuMjogdmVyc2lvbiAyLjAKQUNQSTogUENJIEludGVycnVw
dCAwMDAwOjAwOjFmLjJbQl0gLT4gR1NJIDE2IChsZXZlbCwgbG93KSAtPiBJUlEgMTYKUENJOiBT
ZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWYuMiB0byA2NAphaGNpIDAw
MDA6MDA6MWYuMjogQUhDSSAwMDAxLjAxMDAgMzIgc2xvdHMgNCBwb3J0cyAxLjUgR2JwcyAweDEg
aW1wbCBTQVRBIG1vZGUKYWhjaSAwMDAwOjAwOjFmLjI6IGZsYWdzOiA2NGJpdCBuY3EgcG0gbGVk
IGNsbyBwaW8gc2x1bSBwYXJ0IAphdGExOiBTQVRBIG1heCBVRE1BLzEzMyBjbWQgMHhGRkZGQzIw
MDAwMDU0NTAwIGN0bCAweDAgYm1kbWEgMHgwIGlycSAxMjc0CmF0YTI6IFNBVEEgbWF4IFVETUEv
MTMzIGNtZCAweEZGRkZDMjAwMDAwNTQ1ODAgY3RsIDB4MCBibWRtYSAweDAgaXJxIDEyNzQKYXRh
MzogU0FUQSBtYXggVURNQS8xMzMgY21kIDB4RkZGRkMyMDAwMDA1NDYwMCBjdGwgMHgwIGJtZG1h
IDB4MCBpcnEgMTI3NAphdGE0OiBTQVRBIG1heCBVRE1BLzEzMyBjbWQgMHhGRkZGQzIwMDAwMDU0
NjgwIGN0bCAweDAgYm1kbWEgMHgwIGlycSAxMjc0CnNjc2kwIDogYWhjaQphdGExOiBTQVRBIGxp
bmsgdXAgMS41IEdicHMgKFNTdGF0dXMgMTEzIFNDb250cm9sIDMwMCkKYXRhMS4wMDogQVRBLTcs
IG1heCBVRE1BLzEwMCwgMTU2MzAxNDg4IHNlY3RvcnM6IExCQTQ4IAphdGExLjAwOiBhdGExOiBk
ZXYgMCBtdWx0aSBjb3VudCAxNgphdGExLjAwOiBjb25maWd1cmVkIGZvciBVRE1BLzEwMApzY3Np
MSA6IGFoY2kKYXRhMjogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAwKQpzY3Np
MiA6IGFoY2kKYXRhMzogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAwKQpzY3Np
MyA6IGFoY2kKYXRhNDogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAwKQpzY3Np
IDA6MDowOjA6IERpcmVjdC1BY2Nlc3MgICAgIEFUQSAgICAgIEhUUzU0MTA4MEc5U0EwMCAgTUI0
SSBQUTogMCBBTlNJOiA1ClNDU0kgZGV2aWNlIHNkYTogMTU2MzAxNDg4IDUxMi1ieXRlIGhkd3Ig
c2VjdG9ycyAoODAwMjYgTUIpCnNkYTogV3JpdGUgUHJvdGVjdCBpcyBvZmYKc2RhOiBNb2RlIFNl
bnNlOiAwMCAzYSAwMCAwMApTQ1NJIGRldmljZSBzZGE6IHdyaXRlIGNhY2hlOiBlbmFibGVkLCBy
ZWFkIGNhY2hlOiBlbmFibGVkLCBkb2Vzbid0IHN1cHBvcnQgRFBPIG9yIEZVQQpTQ1NJIGRldmlj
ZSBzZGE6IDE1NjMwMTQ4OCA1MTItYnl0ZSBoZHdyIHNlY3RvcnMgKDgwMDI2IE1CKQpzZGE6IFdy
aXRlIFByb3RlY3QgaXMgb2ZmCnNkYTogTW9kZSBTZW5zZTogMDAgM2EgMDAgMDAKU0NTSSBkZXZp
Y2Ugc2RhOiB3cml0ZSBjYWNoZTogZW5hYmxlZCwgcmVhZCBjYWNoZTogZW5hYmxlZCwgZG9lc24n
dCBzdXBwb3J0IERQTyBvciBGVUEKIHNkYTogc2RhMSBzZGEyIHNkYTMgc2RhNApzZCAwOjA6MDow
OiBBdHRhY2hlZCBzY3NpIGRpc2sgc2RhCnNkIDA6MDowOjA6IEF0dGFjaGVkIHNjc2kgZ2VuZXJp
YyBzZzAgdHlwZSAwCkZ1c2lvbiBNUFQgYmFzZSBkcml2ZXIgMy4wNC4wMwpDb3B5cmlnaHQgKGMp
IDE5OTktMjAwNyBMU0kgTG9naWMgQ29ycG9yYXRpb24KRnVzaW9uIE1QVCBTUEkgSG9zdCBkcml2
ZXIgMy4wNC4wMwpGdXNpb24gTVBUIFNBUyBIb3N0IGRyaXZlciAzLjA0LjAzCmllZWUxMzk0OiBy
YXcxMzk0OiAvZGV2L3JhdzEzOTQgZGV2aWNlIGluaXRpYWxpemVkCkFDUEk6IFBDSSBJbnRlcnJ1
cHQgMDAwMDowMDoxZC43W0RdIC0+IEdTSSAxOSAobGV2ZWwsIGxvdykgLT4gSVJRIDE5ClBDSTog
U2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFkLjcgdG8gNjQKZWhjaV9o
Y2QgMDAwMDowMDoxZC43OiBFSENJIEhvc3QgQ29udHJvbGxlcgplaGNpX2hjZCAwMDAwOjAwOjFk
Ljc6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgMQplaGNpX2hj
ZCAwMDAwOjAwOjFkLjc6IGRlYnVnIHBvcnQgMQpQQ0k6IGNhY2hlIGxpbmUgc2l6ZSBvZiAzMiBp
cyBub3Qgc3VwcG9ydGVkIGJ5IGRldmljZSAwMDAwOjAwOjFkLjcKZWhjaV9oY2QgMDAwMDowMDox
ZC43OiBpcnEgMTksIGlvIG1lbSAweGVlNDA0MDAwCmVoY2lfaGNkIDAwMDA6MDA6MWQuNzogVVNC
IDIuMCBzdGFydGVkLCBFSENJIDEuMDAsIGRyaXZlciAxMCBEZWMgMjAwNAp1c2IgdXNiMTogY29u
ZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQpodWIgMS0wOjEuMDogVVNCIGh1YiBm
b3VuZApodWIgMS0wOjEuMDogOCBwb3J0cyBkZXRlY3RlZApvaGNpX2hjZDogMjAwNiBBdWd1c3Qg
MDQgVVNCIDEuMSAnT3BlbicgSG9zdCBDb250cm9sbGVyIChPSENJKSBEcml2ZXIgKFBDSSkKVVNC
IFVuaXZlcnNhbCBIb3N0IENvbnRyb2xsZXIgSW50ZXJmYWNlIGRyaXZlciB2My4wCkFDUEk6IFBD
SSBJbnRlcnJ1cHQgMDAwMDowMDoxZC4wW0FdIC0+IEdTSSAxNiAobGV2ZWwsIGxvdykgLT4gSVJR
IDE2ClBDSTogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFkLjAgdG8g
NjQKdWhjaV9oY2QgMDAwMDowMDoxZC4wOiBVSENJIEhvc3QgQ29udHJvbGxlcgp1aGNpX2hjZCAw
MDAwOjAwOjFkLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIg
Mgp1aGNpX2hjZCAwMDAwOjAwOjFkLjA6IGlycSAxNiwgaW8gYmFzZSAweDAwMDAxODAwCnVzYiB1
c2IyOiBjb25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiAyLTA6MS4wOiBV
U0IgaHViIGZvdW5kCmh1YiAyLTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkCkFDUEk6IFBDSSBJbnRl
cnJ1cHQgMDAwMDowMDoxZC4xW0JdIC0+IEdTSSAxNyAobGV2ZWwsIGxvdykgLT4gSVJRIDE3ClBD
STogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFkLjEgdG8gNjQKdWhj
aV9oY2QgMDAwMDowMDoxZC4xOiBVSENJIEhvc3QgQ29udHJvbGxlcgp1aGNpX2hjZCAwMDAwOjAw
OjFkLjE6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgMwp1aGNp
X2hjZCAwMDAwOjAwOjFkLjE6IGlycSAxNywgaW8gYmFzZSAweDAwMDAxODIwCnVzYiB1c2IzOiBj
b25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiAzLTA6MS4wOiBVU0IgaHVi
IGZvdW5kCmh1YiAzLTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkCkFDUEk6IFBDSSBJbnRlcnJ1cHQg
MDAwMDowMDoxZC4yW0NdIC0+IEdTSSAxOCAobGV2ZWwsIGxvdykgLT4gSVJRIDE4ClBDSTogU2V0
dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFkLjIgdG8gNjQKdWhjaV9oY2Qg
MDAwMDowMDoxZC4yOiBVSENJIEhvc3QgQ29udHJvbGxlcgp1aGNpX2hjZCAwMDAwOjAwOjFkLjI6
IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgNAp1aGNpX2hjZCAw
MDAwOjAwOjFkLjI6IGlycSAxOCwgaW8gYmFzZSAweDAwMDAxODQwCnVzYiB1c2I0OiBjb25maWd1
cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiA0LTA6MS4wOiBVU0IgaHViIGZvdW5k
Cmh1YiA0LTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkCnVzYiAxLTU6IG5ldyBoaWdoIHNwZWVkIFVT
QiBkZXZpY2UgdXNpbmcgZWhjaV9oY2QgYW5kIGFkZHJlc3MgMgpBQ1BJOiBQQ0kgSW50ZXJydXB0
IDAwMDA6MDA6MWQuM1tEXSAtPiBHU0kgMTkgKGxldmVsLCBsb3cpIC0+IElSUSAxOQpQQ0k6IFNl
dHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDowMDoxZC4zIHRvIDY0CnVoY2lfaGNk
IDAwMDA6MDA6MWQuMzogVUhDSSBIb3N0IENvbnRyb2xsZXIKdWhjaV9oY2QgMDAwMDowMDoxZC4z
OiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDUKdWhjaV9oY2Qg
MDAwMDowMDoxZC4zOiBpcnEgMTksIGlvIGJhc2UgMHgwMDAwMTg2MAp1c2IgdXNiNTogY29uZmln
dXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQpodWIgNS0wOjEuMDogVVNCIGh1YiBmb3Vu
ZApodWIgNS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZAp1c2IgMS01OiBjb25maWd1cmF0aW9uICMx
IGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiAxLTU6MS4wOiBVU0IgaHViIGZvdW5kCmh1YiAxLTU6
MS4wOiAyIHBvcnRzIGRldGVjdGVkCnVzYiA0LTI6IG5ldyBmdWxsIHNwZWVkIFVTQiBkZXZpY2Ug
dXNpbmcgdWhjaV9oY2QgYW5kIGFkZHJlc3MgMgp1c2IgNC0yOiBjb25maWd1cmF0aW9uICMxIGNo
b3NlbiBmcm9tIDEgY2hvaWNlCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2
ZXIgdXNibHAKZHJpdmVycy91c2IvY2xhc3MvdXNibHAuYzogdjAuMTM6IFVTQiBQcmludGVyIERl
dmljZSBDbGFzcyBkcml2ZXIKSW5pdGlhbGl6aW5nIFVTQiBNYXNzIFN0b3JhZ2UgZHJpdmVyLi4u
CnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiLXN0b3JhZ2UKVVNC
IE1hc3MgU3RvcmFnZSBzdXBwb3J0IHJlZ2lzdGVyZWQuCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3
IGludGVyZmFjZSBkcml2ZXIgdXNiaGlkCmRyaXZlcnMvdXNiL2lucHV0L2hpZC1jb3JlLmM6IHYy
LjY6VVNCIEhJRCBjb3JlIGRyaXZlcgp1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2Ug
ZHJpdmVyIHVzYnNlcmlhbApkcml2ZXJzL3VzYi9zZXJpYWwvdXNiLXNlcmlhbC5jOiBVU0IgU2Vy
aWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgZ2VuZXJpYwp1c2Jjb3JlOiByZWdpc3RlcmVkIG5l
dyBpbnRlcmZhY2UgZHJpdmVyIHVzYnNlcmlhbF9nZW5lcmljCmRyaXZlcnMvdXNiL3NlcmlhbC91
c2Itc2VyaWFsLmM6IFVTQiBTZXJpYWwgRHJpdmVyIGNvcmUKc2VyaW86IGk4MDQyIEtCRCBwb3J0
IGF0IDB4NjAsMHg2NCBpcnEgMQpzZXJpbzogaTgwNDIgQVVYIHBvcnQgYXQgMHg2MCwweDY0IGly
cSAxMgptaWNlOiBQUy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9yIGFsbCBtaWNlCmlucHV0OiBB
VCBUcmFuc2xhdGVkIFNldCAyIGtleWJvYXJkIGFzIC9jbGFzcy9pbnB1dC9pbnB1dDMKc2RoY2k6
IFNlY3VyZSBEaWdpdGFsIEhvc3QgQ29udHJvbGxlciBJbnRlcmZhY2UgZHJpdmVyLCAwLjEyCnNk
aGNpOiBDb3B5cmlnaHQoYykgUGllcnJlIE9zc21hbgpzZGhjaTogU0RIQ0kgY29udHJvbGxlciBm
b3VuZCBhdCAwMDAwOjE1OjAwLjMgWzEwNGM6ODAzY10gKHJldiAwKQpzZGhjaSBbc2RoY2lfcHJv
YmUoKV06IGZvdW5kIDEgc2xvdChzKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MTU6MDAuM1tB
XSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAxNgpzZGhjaSBbc2RoY2lfcHJvYmVfc2xv
dCgpXTogc2xvdCAwIGF0IDB4ZTQzMDI4MDAsIGlycSAxNgpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0
aW1lciBvZiBkZXZpY2UgMDAwMDoxNTowMC4zIHRvIDY0CnNkaGNpOiA9PT09PT09PT09PT09PSBS
RUdJU1RFUiBEVU1QID09PT09PT09PT09PT09CnNkaGNpOiBTeXMgYWRkcjogMHgwMDAwMDAwMCB8
IFZlcnNpb246ICAweDAwMDA4OTAwCnNkaGNpOiBCbGsgc2l6ZTogMHgwMDAwMDAwMCB8IEJsayBj
bnQ6ICAweDAwMDAwMDAwCnNkaGNpOiBBcmd1bWVudDogMHgwMDAwMDAwMCB8IFRybiBtb2RlOiAw
eDAwMDAwMDAwCnNkaGNpOiBQcmVzZW50OiAgMHgwMWZhMDAwMCB8IEhvc3QgY3RsOiAweDAwMDAw
MDAwCnNkaGNpOiBQb3dlcjogICAgMHgwMDAwMDAwMCB8IEJsayBnYXA6ICAweDAwMDAwMDAwCnNk
aGNpOiBXYWtlLXVwOiAgMHgwMDAwMDAwMCB8IENsb2NrOiAgICAweDAwMDAwMDAwCnNkaGNpOiBU
aW1lb3V0OiAgMHgwMDAwMDAwMCB8IEludCBzdGF0OiAweDAwMDAwMDAwCnNkaGNpOiBJbnQgZW5h
YjogMHgwMGZmMDBmYiB8IFNpZyBlbmFiOiAweDAwZmYwMGZiCnNkaGNpOiBBQzEyIGVycjogMHgw
MDAwMDAwMCB8IFNsb3QgaW50OiAweDAwMDAwMDAwCnNkaGNpOiBDYXBzOiAgICAgMHgwMWUwMzBi
MCB8IE1heCBjdXJyOiAweDAwMDAwMDdkCnNkaGNpOiA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Cm1tYzA6IGNsb2NrIDBIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDAg
Y3MgMCBWZGQgMCB3aWR0aCAwCm1tYzA6IFNESENJIGF0IDB4ZTQzMDI4MDAgaXJxIDE2IERNQQpt
bWMwOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAxIGNzIDAgVmRkIDIxIHdpZHRoIDAK
bW1jMDogY2xvY2sgMTg3NTAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAyIGNzIDAgVmRkIDIxIHdp
ZHRoIDAKbW1jMDogY2xvY2sgMTg3NTAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAyIGNzIDEgVmRk
IDIxIHdpZHRoIDAKbW1jMDogc3RhcnRpbmcgQ01EMCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAw
NDAKc2RoY2kgW3NkaGNpX3Rhc2tsZXRfZmluaXNoKCldOiBFbmRpbmcgcmVxdWVzdCwgY21kICgw
KQptbWMwOiByZXEgZG9uZSAoQ01EMCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAptbWMwOiBjbG9jayAxODc1MDBIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3Mg
MCBWZGQgMjEgd2lkdGggMAptbWMwOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3Mg
MDAwMDAwMTUKc2RoY2kgW3NkaGNpX3Rhc2tsZXRfZmluaXNoKCldOiBFbmRpbmcgcmVxdWVzdCwg
Y21kICgzNykKbW1jMDogcmVxIGRvbmUgKENNRDU1KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCm1tYzA6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAwMCBmbGFn
cyAwMDAwMDAxNQpzZGhjaSBbc2RoY2lfdGFza2xldF9maW5pc2goKV06IEVuZGluZyByZXF1ZXN0
LCBjbWQgKDM3KQptbWMwOiByZXEgZG9uZSAoQ01ENTUpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMDogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZs
YWdzIDAwMDAwMDE1CnNkaGNpIFtzZGhjaV90YXNrbGV0X2ZpbmlzaCgpXTogRW5kaW5nIHJlcXVl
c3QsIGNtZCAoMzcpCm1tYzA6IHJlcSBkb25lIChDTUQ1NSk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMwOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAg
ZmxhZ3MgMDAwMDAwMTUKc2RoY2kgW3NkaGNpX3Rhc2tsZXRfZmluaXNoKCldOiBFbmRpbmcgcmVx
dWVzdCwgY21kICgzNykKbW1jMDogcmVxIGRvbmUgKENNRDU1KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCm1tYzA6IHN0YXJ0aW5nIENNRDEgYXJnIDAwMDAwMDAw
IGZsYWdzIDAwMDAwMDYxCnNkaGNpIFtzZGhjaV90YXNrbGV0X2ZpbmlzaCgpXTogRW5kaW5nIHJl
cXVlc3QsIGNtZCAoMSkKbW1jMDogcmVxIGRvbmUgKENNRDEpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMDogY2xvY2sgMEh6IGJ1c21vZGUgMSBwb3dlcm1v
ZGUgMCBjcyAwIFZkZCAwIHdpZHRoIDAKb3Byb2ZpbGU6IHVzaW5nIE5NSSBpbnRlcnJ1cHQuCnRp
Zm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMApUQ1AgY3ViaWMg
cmVnaXN0ZXJlZApORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDEKTkVUOiBSZWdpc3Rl
cmVkIHByb3RvY29sIGZhbWlseSAxNwppZWVlODAyMTE6IDgwMi4xMSBkYXRhL21hbmFnZW1lbnQv
Y29udHJvbCBzdGFjaywgZ2l0LTEuMS4xMwppZWVlODAyMTE6IENvcHlyaWdodCAoQykgMjAwNC0y
MDA1IEludGVsIENvcnBvcmF0aW9uIDxqa2V0cmVub0BsaW51eC5pbnRlbC5jb20+CmllZWU4MDIx
MV9jcnlwdDogcmVnaXN0ZXJlZCBhbGdvcml0aG0gJ05VTEwnCmllZWU4MDIxMV9jcnlwdDogcmVn
aXN0ZXJlZCBhbGdvcml0aG0gJ1dFUCcKaWVlZTgwMjExX2NyeXB0OiByZWdpc3RlcmVkIGFsZ29y
aXRobSAnQ0NNUCcKaWVlZTgwMjExX2NyeXB0OiByZWdpc3RlcmVkIGFsZ29yaXRobSAnVEtJUCcK
dGlmbV9zZCB0aWZtX3NkMDoxOiBhZGRpbmcgaG9zdAptbWMxOiBjbG9jayAwSHogYnVzbW9kZSAx
IHBvd2VybW9kZSAwIGNzIDAgVmRkIDAgd2lkdGggMAp0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRp
bmcgYnVzIHdpZHRoIDAsIHBvd2VyIDAKbW1jMTogY2xvY2sgMEh6IGJ1c21vZGUgMSBwb3dlcm1v
ZGUgMSBjcyAwIFZkZCAyMSB3aWR0aCAwCnRpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMg
d2lkdGggMCwgcG93ZXIgMQptbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2Rl
IDIgY3MgMCBWZGQgMjEgd2lkdGggMAp0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdp
ZHRoIDAsIHBvd2VyIDIKbW1jMTogY2xvY2sgMzMzMzMzSHogYnVzbW9kZSAxIHBvd2VybW9kZSAy
IGNzIDEgVmRkIDIxIHdpZHRoIDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0
aCAwLCBwb3dlciAyCm1tYzE6IHN0YXJ0aW5nIENNRDAgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAw
MDQwCnRpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDAsIGFyZzogMHgwLCBt
YXNrOiAweDQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMg
MAptbWMxOiByZXEgZG9uZSAoQ01EMCk6IDAvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAptbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3Mg
MCBWZGQgMjEgd2lkdGggMAp0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAs
IHBvd2VyIDIKbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDE1
CnRpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4MCwgbWFz
azogMHgyMTQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMg
MAptbWMxOiByZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDAwMDAxMjAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKbW1jMTogc3RhcnRpbmcgQ01ENDEgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAw
MDYxCnRpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDI5LCBhcmc6IDB4MCwg
bWFzazogMHgxMzQwCkFDUEk6IChzdXBwb3J0cyBTMCBTMzw3PnRpZm1fc2QgdGlmbV9zZDA6MTog
aG9zdF9zdGF0dXMgMTAwMSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01ENDEpOiAw
LzAvMDogMDBmZjgwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTogY2xvY2sgMzMz
MzMzSHogYnVzbW9kZSAxIHBvd2VybW9kZSAyIGNzIDAgVmRkIDIwIHdpZHRoIDAKdGlmbV9zZCB0
aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAyCm1tYzE6IGNsb2NrIDMzMzMz
M0h6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMiBjcyAxIFZkZCAyMCB3aWR0aCAwCnRpZm1fc2QgdGlm
bV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMgogUzQgUzUpCm1tYzE6IHN0YXJ0
aW5nIENNRDAgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDQwCnRpZm1fc2QgdGlmbV9zZDA6MTog
ZXhlY3V0aW5nIG9wY29kZSAweDAsIGFyZzogMHgwLCBtYXNrOiAweDQwCnRpZm1fc2QgdGlmbV9z
ZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01EMCk6
IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMxOiBjbG9jayAz
MzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMCBWZGQgMjAgd2lkdGggMAp0aWZtX3Nk
IHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDIKbW1jMTogc3RhcnRpbmcg
Q01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDE1CnRpZm1fc2QgdGlmbV9zZDA6MTogZXhl
Y3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4MCwgbWFzazogMHgyMTQwCnRpZm1fc2QgdGlmbV9z
ZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01ENTUp
OiAwLzAvMDogMDAwMDAxMjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTogc3RhcnRp
bmcgQ01ENDEgYXJnIDAwMzAwMDAwIGZsYWdzIDAwMDAwMDYxCnRpZm1fc2QgdGlmbV9zZDA6MTog
ZXhlY3V0aW5nIG9wY29kZSAweDI5LCBhcmc6IDB4MzAwMDAwLCBtYXNrOiAweDEzNDAKdGlmbV9z
ZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBk
b25lIChDTUQ0MSk6IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApt
bWMxOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKdGlmbV9zZCB0
aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MzcsIGFyZzogMHgwLCBtYXNrOiAweDIxNDAK
dGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJl
cSBkb25lIChDTUQ1NSk6IDAvMC8wOiAwMDAwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAptbWMxOiBzdGFydGluZyBDTUQ0MSBhcmcgMDAzMDAwMDAgZmxhZ3MgMDAwMDAwNjEKdGlmbV9z
ZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MjksIGFyZzogMHgzMDAwMDAsIG1hc2s6
IDB4MTM0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEwMDEsIGZpZm9fc3RhdHVz
IDAKbW1jMTogcmVxIGRvbmUgKENNRDQxKTogMC8wLzA6IDAwZmY4MDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCm1tYzE6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAwMCBmbGFncyAwMDAw
MDAxNQp0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAweDAs
IG1hc2s6IDB4MjE0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3Rh
dHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDU1KTogMC8wLzA6IDAwMDAwMTIwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCm1tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDMwMDAwMCBmbGFncyAw
MDAwMDA2MQp0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwgYXJnOiAw
eDMwMDAwMCwgbWFzazogMHgxMzQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMTAw
MSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogMDBmZjgwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAw
MDAwIGZsYWdzIDAwMDAwMDE1CnRpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAw
eDM3LCBhcmc6IDB4MCwgbWFzazogMHgyMTQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0
dXMgMSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDAwMDAx
MjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTogc3RhcnRpbmcgQ01ENDEgYXJnIDAw
MzAwMDAwIGZsYWdzIDAwMDAwMDYxCnRpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29k
ZSAweDI5LCBhcmc6IDB4MzAwMDAwLCBtYXNrOiAweDEzNDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBo
b3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQ0MSk6IDAv
MC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMxOiBzdGFydGluZyBD
TUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVj
dXRpbmcgb3Bjb2RlIDB4MzcsIGFyZzogMHgwLCBtYXNrOiAweDIxNDAKdGlmbV9zZCB0aWZtX3Nk
MDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQ1NSk6
IDAvMC8wOiAwMDAwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMxOiBzdGFydGlu
ZyBDTUQ0MSBhcmcgMDAzMDAwMDAgZmxhZ3MgMDAwMDAwNjEKdGlmbV9zZCB0aWZtX3NkMDoxOiBl
eGVjdXRpbmcgb3Bjb2RlIDB4MjksIGFyZzogMHgzMDAwMDAsIG1hc2s6IDB4MTM0MAp0aWZtX3Nk
IHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEwMDEsIGZpZm9fc3RhdHVzIDAKbW1jMTogcmVxIGRv
bmUgKENNRDQxKTogMC8wLzA6IDAwZmY4MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCm1t
YzE6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDAxNQp0aWZtX3NkIHRp
Zm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAweDAsIG1hc2s6IDB4MjE0MAp0
aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKbW1jMTogcmVx
IGRvbmUgKENNRDU1KTogMC8wLzA6IDAwMDAwMTIwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
Cm1tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDMwMDAwMCBmbGFncyAwMDAwMDA2MQp0aWZtX3Nk
IHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwgYXJnOiAweDMwMDAwMCwgbWFzazog
MHgxMzQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMApt
bWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogODBmZjgwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKbW1jMTogc3RhcnRpbmcgQ01EMiBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNjcK
dGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MiwgYXJnOiAweDAsIG1hc2s6
IDB4MTI0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAK
bW1jMTogcmVxIGRvbmUgKENNRDIpOiAwLzAvMDogMTM0YjQ3NTMgNDQzMDM2MzQgMTBhMDE2NGUg
ZGMwMDY0MGYKbW1jMTogc3RhcnRpbmcgQ01EMyBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNzUK
dGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MywgYXJnOiAweDAsIG1hc2s6
IDB4MTE0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDQwMDAsIGZpZm9fc3RhdHVz
IDAKbW1jMTogcmVxIGRvbmUgKENNRDMpOiA0LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MywgYXJn
OiAweDAsIG1hc2s6IDB4MTE0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDQwMDAs
IGZpZm9fc3RhdHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDMpOiA0LzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bj
b2RlIDB4MywgYXJnOiAweDAsIG1hc2s6IDB4MTE0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rf
c3RhdHVzIDQwMDAsIGZpZm9fc3RhdHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDMpOiA0LzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBl
eGVjdXRpbmcgb3Bjb2RlIDB4MywgYXJnOiAweDAsIG1hc2s6IDB4MTE0MAp0aWZtX3NkIHRpZm1f
c2QwOjE6IGhvc3Rfc3RhdHVzIDQwMDAsIGZpZm9fc3RhdHVzIDAKbW1jMTogcmVxIGRvbmUgKENN
RDMpOiA0LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTogc3Rh
cnRpbmcgQ01EMiBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNjcKdGlmbV9zZCB0aWZtX3NkMDox
OiBleGVjdXRpbmcgb3Bjb2RlIDB4MiwgYXJnOiAweDAsIG1hc2s6IDB4MTI0MAp0aWZtX3NkIHRp
Zm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgwLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChD
TUQyKTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCnRpZm1fc2Qg
dGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDIsIGFyZzogMHgwLCBtYXNrOiAweDEyNDAK
dGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA4MCwgZmlmb19zdGF0dXMgMAptbWMxOiBy
ZXEgZG9uZSAoQ01EMik6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyLCBhcmc6IDB4MCwgbWFz
azogMHgxMjQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgODAsIGZpZm9fc3RhdHVz
IDAKbW1jMTogcmVxIGRvbmUgKENNRDIpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MiwgYXJn
OiAweDAsIG1hc2s6IDB4MTI0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgwLCBm
aWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQyKTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCm1tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMiBwb3dl
cm1vZGUgMiBjcyAwIFZkZCAyMCB3aWR0aCAwCnRpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBi
dXMgd2lkdGggMCwgcG93ZXIgMgptbWMxOiBzZWxlY3RlZCAyNC4wMDBNSHogdHJhbnNmZXIgcmF0
ZQptbWMxOiBjbG9jayAyNDAwMDAwMEh6IGJ1c21vZGUgMiBwb3dlcm1vZGUgMiBjcyAwIFZkZCAy
MCB3aWR0aCAwCnRpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIg
MgptbWMxOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAwIGNzIDAgVmRkIDAgd2lkdGgg
MAp0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDAKU3luYXB0
aWNzIFRvdWNocGFkLCBtb2RlbDogMSwgZnc6IDYuMiwgaWQ6IDB4ODFhMGIxLCBjYXBzOiAweGEw
NDc5My8weDMwMDAwMApzZXJpbzogU3luYXB0aWNzIHBhc3MtdGhyb3VnaCBwb3J0IGF0IGlzYTAw
NjAvc2VyaW8xL2lucHV0MAppbnB1dDogU3luUFMvMiBTeW5hcHRpY3MgVG91Y2hQYWQgYXMgL2Ns
YXNzL2lucHV0L2lucHV0NApJQk0gVHJhY2tQb2ludCBmaXJtd2FyZTogMHgwZSwgYnV0dG9uczog
My8zCmlucHV0OiBUUFBTLzIgSUJNIFRyYWNrUG9pbnQgYXMgL2NsYXNzL2lucHV0L2lucHV0NQpr
am91cm5hbGQgc3RhcnRpbmcuICBDb21taXQgaW50ZXJ2YWwgNSBzZWNvbmRzCkVYVDMtZnM6IG1v
dW50ZWQgZmlsZXN5c3RlbSB3aXRoIG9yZGVyZWQgZGF0YSBtb2RlLgpWRlM6IE1vdW50ZWQgcm9v
dCAoZXh0MyBmaWxlc3lzdGVtKSByZWFkb25seS4KRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9y
eTogMzA4ayBmcmVlZApFWFQzIEZTIG9uIHNkYTMsIGludGVybmFsIGpvdXJuYWwKZmdscng6IG1v
ZHVsZSBsaWNlbnNlICdQcm9wcmlldGFyeS4gKEMpIDIwMDIgLSBBVEkgVGVjaG5vbG9naWVzLCBT
dGFybmJlcmcsIEdFUk1BTlknIHRhaW50cyBrZXJuZWwuCltmZ2xyeF0gTWF4aW11bSBtYWluIG1l
bW9yeSB0byB1c2UgZm9yIGxvY2tlZCBkbWEgYnVmZmVyczogMTQwMCBNQnl0ZXMuCltmZ2xyeDpm
aXJlZ2xfaW5pdF9tb2R1bGVdICpFUlJPUiogZmlyZWdsX3N0dWJfcmVnaXN0ZXIgZmFpbGVkCmlw
dzM5NDU6IEludGVsKFIpIFBSTy9XaXJlbGVzcyAzOTQ1IE5ldHdvcmsgQ29ubmVjdGlvbiBkcml2
ZXIgZm9yIExpbnV4LCAxLjIuMGRtcHIKaXB3Mzk0NTogQ29weXJpZ2h0KGMpIDIwMDMtMjAwNiBJ
bnRlbCBDb3Jwb3JhdGlvbgpBQ1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MDM6MDAuMFtBXSAtPiBH
U0kgMTcgKGxldmVsLCBsb3cpIC0+IElSUSAxNwpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBv
ZiBkZXZpY2UgMDAwMDowMzowMC4wIHRvIDY0CmlwdzM5NDU6IERldGVjdGVkIEludGVsIFBSTy9X
aXJlbGVzcyAzOTQ1QUJHIE5ldHdvcmsgQ29ubmVjdGlvbgpSZWFsdGltZSBMU00gaW5pdGlhbGl6
ZWQgKGdyb3VwIDE4LCBtbG9jaz0xKQpOVEZTIHZvbHVtZSB2ZXJzaW9uIDMuMS4KTlRGUy1mcyB3
YXJuaW5nIChkZXZpY2Ugc2RhMSk6IGxvYWRfc3lzdGVtX2ZpbGVzKCk6IFVuc3VwcG9ydGVkIHZv
bHVtZSBmbGFncyAweDQwMDAgZW5jb3VudGVyZWQuCk5URlMtZnMgZXJyb3IgKGRldmljZSBzZGEx
KTogbG9hZF9zeXN0ZW1fZmlsZXMoKTogVm9sdW1lIGhhcyB1bnN1cHBvcnRlZCBmbGFncyBzZXQu
ICBNb3VudGluZyByZWFkLW9ubHkuICBSdW4gY2hrZHNrIGFuZCBtb3VudCBpbiBXaW5kb3dzLgpO
VEZTLWZzIHdhcm5pbmcgKGRldmljZSBzZGExKTogbG9hZF9zeXN0ZW1fZmlsZXMoKTogJExvZ0Zp
bGUgaXMgbm90IGNsZWFuLiAgV2lsbCBub3QgYmUgYWJsZSB0byByZW1vdW50IHJlYWQtd3JpdGUu
ICBNb3VudCBpbiBXaW5kb3dzLgpBZGRpbmcgMzkwMjIzNmsgc3dhcCBvbiAvZGV2L3NkYTQuICBQ
cmlvcml0eTotMSBleHRlbnRzOjEgYWNyb3NzOjM5MDIyMzZrCkFDUEk6IFBDSSBJbnRlcnJ1cHQg
MDAwMDowMDoxYi4wW0JdIC0+IEdTSSAxNyAobGV2ZWwsIGxvdykgLT4gSVJRIDE3ClBDSTogU2V0
dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFiLjAgdG8gNjQKaGRhX2ludGVs
OiBhenhfZ2V0X3Jlc3BvbnNlIHRpbWVvdXQsIHN3aXRjaGluZyB0byBwb2xsaW5nIG1vZGUuLi4K
W2ZnbHJ4XSBNYXhpbXVtIG1haW4gbWVtb3J5IHRvIHVzZSBmb3IgbG9ja2VkIGRtYSBidWZmZXJz
OiAxNDAwIE1CeXRlcy4KW2ZnbHJ4OmZpcmVnbF9pbml0X21vZHVsZV0gKkVSUk9SKiBmaXJlZ2xf
c3R1Yl9yZWdpc3RlciBmYWlsZWQKaXB3Mzk0NTogRGV0ZWN0ZWQgZ2VvZ3JhcGh5IEFCRyAoMTEg
ODAyLjExYmcgY2hhbm5lbHMsIDEzIDgwMi4xMWEgY2hhbm5lbHMpCk1vbml0b3ItTXdhaXQgd2ls
bCBiZSB1c2VkIHRvIGVudGVyIEMtMyBzdGF0ZQppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6
IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIwMSl7MDJ9IGFyZygwMDIyMDAwMCkgb24gL3Vz
ci9sb2NhbC9pZS9pZTYvZHJpdmVfYy9Qcm9ncmFtIEZpbGVzL0ludGVybmV0IEV4cGxvcmVyCmlv
Y3RsMzIoSUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93biBjbWQgZmQoOSkgY21kKDgyMTg3MjAx
KXswMn0gYXJnKDAwMjIwMDAwKSBvbiAvdXNyL2xvY2FsL2llL2llNi9kcml2ZV9jL1Byb2dyYW0g
RmlsZXMvSW50ZXJuZXQgRXhwbG9yZXIKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBVbmtu
b3duIGNtZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9j
YWwvaWUvaWU2L2RyaXZlX2MvUHJvZ3JhbSBGaWxlcy9JbnRlcm5ldCBFeHBsb3Jlcgppb2N0bDMy
KElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIwMSl7MDJ9
IGFyZygwMDIyMDAwMCkgb24gL2hvbWUvc21pdGgKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5Nzkp
OiBVbmtub3duIGNtZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91
c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2MvUHJvZ3JhbSBGaWxlcy9JbnRlcm5ldCBFeHBsb3Jlcgpp
b2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIw
MSl7MDJ9IGFyZygwMDIyMDAwMCkgb24gL2hvbWUvc21pdGgKaW9jdGwzMihJRVhQTE9SRS5FWEU6
MTQ5NzkpOiBVbmtub3duIGNtZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDAp
IG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cy9zeXN0ZW0zMgppb2N0bDMyKElF
WFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIwMSl7MDJ9IGFy
ZygwMDIyMDAwMCkgb24gL3Vzci9sb2NhbC9pZS9pZTYvZHJpdmVfYy93aW5kb3dzL3N5c3RlbTMy
CmlvY3RsMzIoSUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93biBjbWQgZmQoOSkgY21kKDgyMTg3
MjAxKXswMn0gYXJnKDAwMjIwMDAwKSBvbiAvdXNyL2xvY2FsL2llL2llNi9kcml2ZV9jL3dpbmRv
d3Mvc3lzdGVtMzIKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBVbmtub3duIGNtZCBmZCg5
KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2Ry
aXZlX2MvUHJvZ3JhbSBGaWxlcy9JbnRlcm5ldCBFeHBsb3Jlcgppb2N0bDMyKElFWFBMT1JFLkVY
RToxNDk3OSk6IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIwMSl7MDJ9IGFyZygwMDIyMDAw
MCkgb24gL2hvbWUvc21pdGgKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBVbmtub3duIGNt
ZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUv
aWU2L2RyaXZlX2MvUHJvZ3JhbSBGaWxlcy9JbnRlcm5ldCBFeHBsb3Jlcgppb2N0bDMyKElFWFBM
T1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIwMSl7MDJ9IGFyZygw
MDIyMDAwMCkgb24gL2hvbWUvc21pdGgKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBVbmtu
b3duIGNtZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9j
YWwvaWUvaWU2L2RyaXZlX2MvUHJvZ3JhbSBGaWxlcy9JbnRlcm5ldCBFeHBsb3Jlcgppb2N0bDMy
KElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIwMSl7MDJ9
IGFyZygwMDIyMDAwMCkgb24gL2hvbWUvc21pdGgKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5Nzkp
OiBVbmtub3duIGNtZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91
c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2MvUHJvZ3JhbSBGaWxlcy9JbnRlcm5ldCBFeHBsb3Jlcgpp
b2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIw
MSl7MDJ9IGFyZygwMDIyMDAwMCkgb24gL2hvbWUvc21pdGgKaW9jdGwzMihJRVhQTE9SRS5FWEU6
MTQ5NzkpOiBVbmtub3duIGNtZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDAp
IG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cy9zeXN0ZW0zMgppb2N0bDMyKElF
WFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDkpIGNtZCg4MjE4NzIwMSl7MDJ9IGFy
ZygwMDIyMDAwMCkgb24gL3Vzci9sb2NhbC9pZS9pZTYvZHJpdmVfYy93aW5kb3dzL3N5c3RlbTMy
CmlvY3RsMzIoSUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93biBjbWQgZmQoOSkgY21kKDgyMTg3
MjAxKXswMn0gYXJnKDAwMjIwMDAwKSBvbiAvdXNyL2xvY2FsL2llL2llNi9kcml2ZV9jL1Byb2dy
YW0gRmlsZXMvSW50ZXJuZXQgRXhwbG9yZXIKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBV
bmtub3duIGNtZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC9ob21l
L3NtaXRoCmlvY3RsMzIoSUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93biBjbWQgZmQoOSkgY21k
KDgyMTg3MjAxKXswMn0gYXJnKDAwMjIwMDAwKSBvbiAvdXNyL2xvY2FsL2llL2llNi9kcml2ZV9j
L3dpbmRvd3Mvc3lzdGVtMzIKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBVbmtub3duIGNt
ZCBmZCg5KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUv
aWU2L2RyaXZlX2Mvd2luZG93cy9zeXN0ZW0zMgppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6
IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91
c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cwppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3
OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9u
IC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cy9mb250cwppb2N0bDMyKElFWFBMT1JF
LkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAy
MjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cwppb2N0bDMyKElFWFBM
T1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmco
MDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cy9mb250cwppb2N0
bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEp
ezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cwpp
b2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcy
MDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93
cy9mb250cwppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBj
bWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZl
X2Mvd2luZG93cwppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEy
KSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2Ry
aXZlX2Mvd2luZG93cwppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZk
KDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2
L2RyaXZlX2Mvd2luZG93cy9mb250cwppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25v
d24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9j
YWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cwppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVu
a25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3Iv
bG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cy9mb250cwppb2N0bDMyKElFWFBMT1JFLkVYRTox
NDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDAp
IG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cwppb2N0bDMyKElFWFBMT1JFLkVY
RToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAw
MDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cy9mb250cwppb2N0bDMyKElF
WFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBh
cmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cwppb2N0bDMy
KElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAy
fSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2Mvd2luZG93cy9mb250
cwppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIx
ODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC91c3IvbG9jYWwvaWUvaWU2L2RyaXZlX2MvUHJv
Z3JhbSBGaWxlcy9JbnRlcm5ldCBFeHBsb3Jlcgppb2N0bDMyKElFWFBMT1JFLkVYRToxNDk3OSk6
IFVua25vd24gY21kIGZkKDEyKSBjbWQoODIxODcyMDEpezAyfSBhcmcoMDAyMjAwMDApIG9uIC9o
b21lL3NtaXRoCmlvY3RsMzIoSUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93biBjbWQgZmQoMTIp
IGNtZCg4MjE4NzIwMSl7MDJ9IGFyZygwMDIyMDAwMCkgb24gL3Vzci9sb2NhbC9pZS9pZTYvZHJp
dmVfYy93aW5kb3dzL3N5c3RlbTMyCmlvY3RsMzIoSUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93
biBjbWQgZmQoMTIpIGNtZCg4MjE4NzIwMSl7MDJ9IGFyZygwMDIyMDAwMCkgb24gL3Vzci9sb2Nh
bC9pZS9pZTYvZHJpdmVfYy93aW5kb3dzL3N5c3RlbTMyCmlvY3RsMzIoSUVYUExPUkUuRVhFOjE0
OTc5KTogVW5rbm93biBjbWQgZmQoMTIpIGNtZCg4MjE4NzIwMSl7MDJ9IGFyZygwMDIyMDAwMCkg
b24gL3Vzci9sb2NhbC9pZS9pZTYvZHJpdmVfYy93aW5kb3dzCmlvY3RsMzIoSUVYUExPUkUuRVhF
OjE0OTc5KTogVW5rbm93biBjbWQgZmQoMTIpIGNtZCg4MjE4NzIwMSl7MDJ9IGFyZygwMDIyMDAw
MCkgb24gL3Vzci9sb2NhbC9pZS9pZTYvZHJpdmVfYy93aW5kb3dzL3N5c3RlbTMyCmlvY3RsMzIo
SUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93biBjbWQgZmQoMTIpIGNtZCg4MjE4NzIwMSl7MDJ9
IGFyZygwMDIyMDAwMCkgb24gL3Vzci9sb2NhbC9pZS9pZTYvZHJpdmVfYy93aW5kb3dzCmlvY3Rs
MzIoSUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93biBjbWQgZmQoMTUpIGNtZCg4MjE4NzIwMSl7
MDJ9IGFyZygwMDIyMDAwMCkgb24gL3Vzci9sb2NhbC9pZS9pZTYvZHJpdmVfYy9Qcm9ncmFtIEZp
bGVzL0ludGVybmV0IEV4cGxvcmVyCmlvY3RsMzIoSUVYUExPUkUuRVhFOjE0OTc5KTogVW5rbm93
biBjbWQgZmQoMTUpIGNtZCg4MjE4NzIwMSl7MDJ9IGFyZygwMDIyMDAwMCkgb24gL2hvbWUvc21p
dGgKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBVbmtub3duIGNtZCBmZCgxNSkgY21kKDgy
MTg3MjAxKXswMn0gYXJnKDAwMjIwMDAwKSBvbiAvdXNyL2xvY2FsL2llL2llNi9kcml2ZV9jL3dp
bmRvd3Mvc3lzdGVtMzIKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBVbmtub3duIGNtZCBm
ZCgxNSkgY21kKDgyMTg3MjAxKXswMn0gYXJnKDAwMjIwMDAwKSBvbiAvdXNyL2xvY2FsL2llL2ll
Ni9kcml2ZV9jL3dpbmRvd3Mvc3lzdGVtMzIKaW9jdGwzMihJRVhQTE9SRS5FWEU6MTQ5NzkpOiBV
bmtub3duIGNtZCBmZCgxNSkgY21kKDgyMTg3MjAxKXswMn0gYXJnKDAwMjIwMDAwKSBvbiAvdXNy
L2xvY2FsL2llL2llNi9kcml2ZV9jL3dpbmRvd3MKdXNiIDMtMTogbmV3IGZ1bGwgc3BlZWQgVVNC
IGRldmljZSB1c2luZyB1aGNpX2hjZCBhbmQgYWRkcmVzcyAyCnVzYiAzLTE6IGNvbmZpZ3VyYXRp
b24gIzEgY2hvc2VuIGZyb20gMSBjaG9pY2UKdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJm
YWNlIGRyaXZlciBzbmQtdXNiLWF1ZGlvCnVzYiAzLTE6IFVTQiBkaXNjb25uZWN0LCBhZGRyZXNz
IDIKdXNiIDItMjogbmV3IGZ1bGwgc3BlZWQgVVNCIGRldmljZSB1c2luZyB1aGNpX2hjZCBhbmQg
YWRkcmVzcyAyCnVzYiAyLTI6IGNvbmZpZ3VyYXRpb24gIzEgY2hvc2VuIGZyb20gMSBjaG9pY2UK
dXNiIDEtNS4xOiBuZXcgZnVsbCBzcGVlZCBVU0IgZGV2aWNlIHVzaW5nIGVoY2lfaGNkIGFuZCBh
ZGRyZXNzIDYKdXNiIDEtNS4xOiBjb25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNl
CnVzYiAxLTUuMTogVVNCIGRpc2Nvbm5lY3QsIGFkZHJlc3MgNgp1c2IgMi0yOiBVU0IgZGlzY29u
bmVjdCwgYWRkcmVzcyAyCnRpZm1fN3h4MTogZGVtYW5kIHJlbW92aW5nIGNhcmQgZnJvbSBzb2Nr
ZXQgMQptbWMxOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAwIGNzIDAgVmRkIDAgd2lk
dGggMAp0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDAKdGlm
bV83eHgxOiBzZCBjYXJkIGRldGVjdGVkIGluIHNvY2tldCAxCnRpZm1fc2QgdGlmbV9zZDA6MTog
aG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAp0aWZtX3NkIHRpZm1fc2QwOjE6IGFkZGluZyBo
b3N0Cm1tYzE6IGNsb2NrIDBIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDAgY3MgMCBWZGQgMCB3aWR0
aCAwCnRpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMAptbWMx
OiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAxIGNzIDAgVmRkIDIxIHdpZHRoIDAKdGlm
bV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAxCm1tYzE6IGNsb2Nr
IDMzMzMzM0h6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMiBjcyAwIFZkZCAyMSB3aWR0aCAwCnRpZm1f
c2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMgptbWMxOiBjbG9jayAz
MzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMSBWZGQgMjEgd2lkdGggMAp0aWZtX3Nk
IHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDIKbW1jMTogc3RhcnRpbmcg
Q01EMCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVj
dXRpbmcgb3Bjb2RlIDB4MCwgYXJnOiAweDAsIG1hc2s6IDB4NDAKdGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQwKTogMC8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCm1tYzE6IGNsb2NrIDMzMzMz
M0h6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMiBjcyAwIFZkZCAyMSB3aWR0aCAwCnRpZm1fc2QgdGlm
bV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMgptbWMxOiBzdGFydGluZyBDTUQ1
NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRp
bmcgb3Bjb2RlIDB4MzcsIGFyZzogMHgwLCBtYXNrOiAweDIxNDAKdGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQ1NSk6IDAv
MC8wOiAwMDAwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMxOiBzdGFydGluZyBD
TUQ0MSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNjEKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVj
dXRpbmcgb3Bjb2RlIDB4MjksIGFyZzogMHgwLCBtYXNrOiAweDEzNDAKdGlmbV9zZCB0aWZtX3Nk
MDoxOiBob3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQ0
MSk6IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMxOiBjbG9j
ayAzMzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMCBWZGQgMjAgd2lkdGggMAp0aWZt
X3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDIKbW1jMTogY2xvY2sg
MzMzMzMzSHogYnVzbW9kZSAxIHBvd2VybW9kZSAyIGNzIDEgVmRkIDIwIHdpZHRoIDAKdGlmbV9z
ZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAyCm1tYzE6IHN0YXJ0aW5n
IENNRDAgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDQwCnRpZm1fc2QgdGlmbV9zZDA6MTogZXhl
Y3V0aW5nIG9wY29kZSAweDAsIGFyZzogMHgwLCBtYXNrOiAweDQwCnRpZm1fc2QgdGlmbV9zZDA6
MTogaG9zdF9zdGF0dXMgMTAwMSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01EMCk6
IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMxOiBjbG9jayAz
MzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMCBWZGQgMjAgd2lkdGggMAp0aWZtX3Nk
IHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDIKbW1jMTogc3RhcnRpbmcg
Q01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDE1CnRpZm1fc2QgdGlmbV9zZDA6MTogZXhl
Y3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4MCwgbWFzazogMHgyMTQwCnRpZm1fc2QgdGlmbV9z
ZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01ENTUp
OiAwLzAvMDogMDAwMDAxMjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTogc3RhcnRp
bmcgQ01ENDEgYXJnIDAwMzAwMDAwIGZsYWdzIDAwMDAwMDYxCnRpZm1fc2QgdGlmbV9zZDA6MTog
ZXhlY3V0aW5nIG9wY29kZSAweDI5LCBhcmc6IDB4MzAwMDAwLCBtYXNrOiAweDEzNDAKdGlmbV9z
ZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBk
b25lIChDTUQ0MSk6IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApt
bWMxOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKdGlmbV9zZCB0
aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MzcsIGFyZzogMHgwLCBtYXNrOiAweDIxNDAK
dGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6
IHJlcSBkb25lIChDTUQ1NSk6IDAvMC8wOiAwMDAwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAptbWMxOiBzdGFydGluZyBDTUQ0MSBhcmcgMDAzMDAwMDAgZmxhZ3MgMDAwMDAwNjEKdGlm
bV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MjksIGFyZzogMHgzMDAwMDAsIG1h
c2s6IDB4MTM0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEwMDEsIGZpZm9fc3Rh
dHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDQxKTogMC8wLzA6IDAwZmY4MDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCm1tYzE6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAwMCBmbGFncyAw
MDAwMDAxNQp0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAw
eDAsIG1hc2s6IDB4MjE0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9f
c3RhdHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDU1KTogMC8wLzA6IDAwMDAwMTIwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCm1tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDMwMDAwMCBmbGFn
cyAwMDAwMDA2MQp0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwgYXJn
OiAweDMwMDAwMCwgbWFzazogMHgxMzQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMg
MTAwMSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogMDBmZjgw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIDAw
MDAwMDAwIGZsYWdzIDAwMDAwMDE1CnRpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29k
ZSAweDM3LCBhcmc6IDB4MCwgbWFzazogMHgyMTQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9z
dGF0dXMgMSwgZmlmb19zdGF0dXMgMAptbWMxOiByZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDAw
MDAxMjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTogc3RhcnRpbmcgQ01ENDEgYXJn
IDAwMzAwMDAwIGZsYWdzIDAwMDAwMDYxCnRpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9w
Y29kZSAweDI5LCBhcmc6IDB4MzAwMDAwLCBtYXNrOiAweDEzNDAKdGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQ0MSk6
IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMxOiBzdGFydGlu
ZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKdGlmbV9zZCB0aWZtX3NkMDoxOiBl
eGVjdXRpbmcgb3Bjb2RlIDB4MzcsIGFyZzogMHgwLCBtYXNrOiAweDIxNDAKdGlmbV9zZCB0aWZt
X3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQ1
NSk6IDAvMC8wOiAwMDAwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAptbWMxOiBzdGFy
dGluZyBDTUQ0MSBhcmcgMDAzMDAwMDAgZmxhZ3MgMDAwMDAwNjEKdGlmbV9zZCB0aWZtX3NkMDox
OiBleGVjdXRpbmcgb3Bjb2RlIDB4MjksIGFyZzogMHgzMDAwMDAsIG1hc2s6IDB4MTM0MAp0aWZt
X3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEwMDEsIGZpZm9fc3RhdHVzIDAKbW1jMTogcmVx
IGRvbmUgKENNRDQxKTogMC8wLzA6IDAwZmY4MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
Cm1tYzE6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDAxNQp0aWZtX3Nk
IHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAweDAsIG1hc2s6IDB4MjE0
MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKbW1jMTog
cmVxIGRvbmUgKENNRDU1KTogMC8wLzA6IDAwMDAwMTIwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCm1tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDMwMDAwMCBmbGFncyAwMDAwMDA2MQp0aWZt
X3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwgYXJnOiAweDMwMDAwMCwgbWFz
azogMHgxMzQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMg
MAptbWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogODBmZjgwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKbW1jMTogc3RhcnRpbmcgQ01EMiBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAw
NjcKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MiwgYXJnOiAweDAsIG1h
c2s6IDB4MTI0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVz
IDAKbW1jMTogcmVxIGRvbmUgKENNRDIpOiAwLzAvMDogMTM0YjQ3NTMgNDQzMDM2MzQgMTBhMDE2
NGUgZGMwMDY0MGYKbW1jMTogc3RhcnRpbmcgQ01EMyBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAw
NzUKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MywgYXJnOiAweDAsIG1h
c2s6IDB4MTE0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDQwMDAsIGZpZm9fc3Rh
dHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDMpOiA0LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4Mywg
YXJnOiAweDAsIG1hc2s6IDB4MTE0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDQw
MDAsIGZpZm9fc3RhdHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDMpOiA0LzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcg
b3Bjb2RlIDB4MywgYXJnOiAweDAsIG1hc2s6IDB4MTE0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhv
c3Rfc3RhdHVzIDQwMDAsIGZpZm9fc3RhdHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDMpOiA0LzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKdGlmbV9zZCB0aWZtX3NkMDox
OiBleGVjdXRpbmcgb3Bjb2RlIDB4MywgYXJnOiAweDAsIG1hc2s6IDB4MTE0MAp0aWZtX3NkIHRp
Zm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDQwMDAsIGZpZm9fc3RhdHVzIDAKbW1jMTogcmVxIGRvbmUg
KENNRDMpOiA0LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMTog
c3RhcnRpbmcgQ01EMiBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNjcKdGlmbV9zZCB0aWZtX3Nk
MDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MiwgYXJnOiAweDAsIG1hc2s6IDB4MTI0MAp0aWZtX3Nk
IHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgwLCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25l
IChDTUQyKTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCnRpZm1f
c2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDIsIGFyZzogMHgwLCBtYXNrOiAweDEy
NDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA4MCwgZmlmb19zdGF0dXMgMAptbWMx
OiByZXEgZG9uZSAoQ01EMik6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAp0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyLCBhcmc6IDB4MCwg
bWFzazogMHgxMjQwCnRpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgODAsIGZpZm9fc3Rh
dHVzIDAKbW1jMTogcmVxIGRvbmUgKENNRDIpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKdGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4Miwg
YXJnOiAweDAsIG1hc2s6IDB4MTI0MAp0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgw
LCBmaWZvX3N0YXR1cyAwCm1tYzE6IHJlcSBkb25lIChDTUQyKTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCm1tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMiBw
b3dlcm1vZGUgMiBjcyAwIFZkZCAyMCB3aWR0aCAwCnRpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGlu
ZyBidXMgd2lkdGggMCwgcG93ZXIgMgptbWMxOiBzZWxlY3RlZCAyNC4wMDBNSHogdHJhbnNmZXIg
cmF0ZQptbWMxOiBjbG9jayAyNDAwMDAwMEh6IGJ1c21vZGUgMiBwb3dlcm1vZGUgMiBjcyAwIFZk
ZCAyMCB3aWR0aCAwCnRpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93
ZXIgMgptbWMxOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAwIGNzIDAgVmRkIDAgd2lk
dGggMAp0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDAK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>114308</attachid>
            <date>2007-03-25 00:30 0000</date>
            <desc>Booted to 2.6.19, difference between dmesg without card and dmesg with card.</desc>
            <filename>dmesg_19.diff</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIGRtZXNnXzE5X25vY2FyZAkyMDA3LTAzLTI1IDA5OjQ2OjU1LjAwMDAwMDAwMCArMDkzMAor
KysgZG1lc2dfMTlfY2FyZAkyMDA3LTAzLTI1IDA5OjQ3OjE1LjAwMDAwMDAwMCArMDkzMApAQCAt
NDgwLDMgKzQ4MCwzMCBAQAogaXB3Mzk0NTogRGV0ZWN0ZWQgZ2VvZ3JhcGh5IEFCRyAoMTEgODAy
LjExYmcgY2hhbm5lbHMsIDEzIDgwMi4xMWEgY2hhbm5lbHMpCiBBRERSQ09ORihORVRERVZfVVAp
OiBldGgxOiBsaW5rIGlzIG5vdCByZWFkeQogZXRoMTogY291bGQgbm90IGluaXRpYWxpemUgV0VQ
OiBsb2FkIG1vZHVsZSBpZWVlODAyMTFfY3J5cHRfd2VwCit0aWZtXzd4eDE6IHNkIGNhcmQgZGV0
ZWN0ZWQgaW4gc29ja2V0IDEKK21tY2JsazA6IG1tYzE6YjM2OCBTRDA2NCA2MTMxMktpQiAKKyBt
bWNibGswOiBwMQorbW1jYmxrMDogZXJyb3IgNCBzZW5kaW5nIHN0b3AgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTYKK0J1ZmZlciBJL08g
ZXJyb3Igb24gZGV2aWNlIG1tY2JsazAsIGxvZ2ljYWwgYmxvY2sgMTUzMjcKK21tY2JsazA6IGVy
cm9yIDQgc2VuZGluZyBzdG9wIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgMTIyNjE2CitCdWZmZXIgSS9PIGVycm9yIG9uIGRldmljZSBtbWNibGsw
LCBsb2dpY2FsIGJsb2NrIDE1MzI3CittbWNibGswOiBlcnJvciA0IHNlbmRpbmcgc3RvcCBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxNgor
QnVmZmVyIEkvTyBlcnJvciBvbiBkZXZpY2UgbW1jYmxrMCwgbG9naWNhbCBibG9jayAxNTMyNwor
bW1jYmxrMDogZXJyb3IgNCBzZW5kaW5nIHN0b3AgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTYKK0J1ZmZlciBJL08gZXJyb3Igb24gZGV2
aWNlIG1tY2JsazAsIGxvZ2ljYWwgYmxvY2sgMTUzMjcKK21tY2JsazA6IGVycm9yIDQgc2VuZGlu
ZyBzdG9wIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgMTIyNjE2CitCdWZmZXIgSS9PIGVycm9yIG9uIGRldmljZSBtbWNibGswLCBsb2dpY2FsIGJs
b2NrIDE1MzI3CittbWNibGswOiBlcnJvciA0IHNlbmRpbmcgc3RvcCBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxNgorQnVmZmVyIEkvTyBl
cnJvciBvbiBkZXZpY2UgbW1jYmxrMCwgbG9naWNhbCBibG9jayAxNTMyNworbW1jYmxrMDogZXJy
b3IgNCBzZW5kaW5nIHN0b3AgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciAxMjI2MTYKK0J1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1tY2JsazAs
IGxvZ2ljYWwgYmxvY2sgMTUzMjcKK21tY2JsazA6IGVycm9yIDQgc2VuZGluZyBzdG9wIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjE2CitC
dWZmZXIgSS9PIGVycm9yIG9uIGRldmljZSBtbWNibGswLCBsb2dpY2FsIGJsb2NrIDE1MzI3Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>114309</attachid>
            <date>2007-03-25 00:30 0000</date>
            <desc>Booted to 2.6.20, difference between dmesg without card and dmesg with card.</desc>
            <filename>dmesg_20.diff</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIGRtZXNnXzIwX25vY2FyZAkyMDA3LTAzLTI1IDA5OjUwOjQzLjAwMDAwMDAwMCArMDkzMAor
KysgZG1lc2dfMjBfY2FyZAkyMDA3LTAzLTI1IDA5OjUwOjU5LjAwMDAwMDAwMCArMDkzMApAQCAt
NDg4LDMgKzQ4OCwxMjMgQEAKIGlwdzM5NDU6IERldGVjdGVkIGdlb2dyYXBoeSBBQkcgKDExIDgw
Mi4xMWJnIGNoYW5uZWxzLCAxMyA4MDIuMTFhIGNoYW5uZWxzKQogW2ZnbHJ4XSBNYXhpbXVtIG1h
aW4gbWVtb3J5IHRvIHVzZSBmb3IgbG9ja2VkIGRtYSBidWZmZXJzOiAxNDAwIE1CeXRlcy4KIFtm
Z2xyeDpmaXJlZ2xfaW5pdF9tb2R1bGVdICpFUlJPUiogZmlyZWdsX3N0dWJfcmVnaXN0ZXIgZmFp
bGVkCit0aWZtXzd4eDE6IHNkIGNhcmQgZGV0ZWN0ZWQgaW4gc29ja2V0IDEKK3RpZm1fc2QgdGlm
bV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAordGlmbV9zZCB0aWZtX3NkMDox
OiBhZGRpbmcgaG9zdAorbW1jMTogY2xvY2sgMEh6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMCBjcyAw
IFZkZCAwIHdpZHRoIDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwg
cG93ZXIgMAorbW1jMTogY2xvY2sgMEh6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMSBjcyAwIFZkZCAy
MSB3aWR0aCAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2Vy
IDEKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMiBjcyAwIFZkZCAy
MSB3aWR0aCAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2Vy
IDIKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMiBjcyAxIFZkZCAy
MSB3aWR0aCAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2Vy
IDIKK21tYzE6IHN0YXJ0aW5nIENNRDAgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDQwCit0aWZt
X3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgwLCBhcmc6IDB4MCwgbWFzazogMHg0
MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCittbWMx
OiByZXEgZG9uZSAoQ01EMCk6IDAvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jMTogY2xvY2sgMzMzMzMzSHogYnVzbW9kZSAxIHBvd2VybW9kZSAyIGNzIDAgVmRk
IDIxIHdpZHRoIDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93
ZXIgMgorbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDE1Cit0
aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAweDAsIG1hc2s6
IDB4MjE0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAw
CittbWMxOiByZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDAwMDAxMjAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDAwMDAwMCBmbGFncyAwMDAw
MDA2MQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MjksIGFyZzogMHgw
LCBtYXNrOiAweDEzNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMTAwMSwgZmlm
b19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDQxKTogMC8wLzA6IDAwZmY4MDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDEgcG93
ZXJtb2RlIDIgY3MgMCBWZGQgMjAgd2lkdGggMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5n
IGJ1cyB3aWR0aCAwLCBwb3dlciAyCittbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDEgcG93
ZXJtb2RlIDIgY3MgMSBWZGQgMjAgd2lkdGggMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5n
IGJ1cyB3aWR0aCAwLCBwb3dlciAyCittbWMxOiBzdGFydGluZyBDTUQwIGFyZyAwMDAwMDAwMCBm
bGFncyAwMDAwMDA0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MCwg
YXJnOiAweDAsIG1hc2s6IDB4NDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwg
Zmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDApOiAwLzAvMDogMDBmZjgwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMSBw
b3dlcm1vZGUgMiBjcyAwIFZkZCAyMCB3aWR0aCAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRp
bmcgYnVzIHdpZHRoIDAsIHBvd2VyIDIKK21tYzE6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAw
MCBmbGFncyAwMDAwMDAxNQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4
MzcsIGFyZzogMHgwLCBtYXNrOiAweDIxNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0
dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDU1KTogMC8wLzA6IDAwMDAw
MTIwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQ0MSBhcmcg
MDAzMDAwMDAgZmxhZ3MgMDAwMDAwNjEKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9w
Y29kZSAweDI5LCBhcmc6IDB4MzAwMDAwLCBtYXNrOiAweDEzNDAKK3RpZm1fc2QgdGlmbV9zZDA6
MTogaG9zdF9zdGF0dXMgMTAwMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDQx
KTogMC8wLzA6IDAwZmY4MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFy
dGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKK3RpZm1fc2QgdGlmbV9zZDA6
MTogZXhlY3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4MCwgbWFzazogMHgyMTQwCit0aWZtX3Nk
IHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25l
IChDTUQ1NSk6IDAvMC8wOiAwMDAwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
MTogc3RhcnRpbmcgQ01ENDEgYXJnIDAwMzAwMDAwIGZsYWdzIDAwMDAwMDYxCit0aWZtX3NkIHRp
Zm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwgYXJnOiAweDMwMDAwMCwgbWFzazogMHgx
MzQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEwMDEsIGZpZm9fc3RhdHVzIDAK
K21tYzE6IHJlcSBkb25lIChDTUQ0MSk6IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAw
MDE1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAweDAs
IG1hc2s6IDB4MjE0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0
YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDAwMDAxMjAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDMwMDAwMCBmbGFn
cyAwMDAwMDA2MQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MjksIGFy
ZzogMHgzMDAwMDAsIG1hc2s6IDB4MTM0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1
cyAxMDAxLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogMDBm
ZjgwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDU1IGFy
ZyAwMDAwMDAwMCBmbGFncyAwMDAwMDAxNQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcg
b3Bjb2RlIDB4MzcsIGFyZzogMHgwLCBtYXNrOiAweDIxNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTog
aG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDU1KTogMC8w
LzA6IDAwMDAwMTIwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBD
TUQ0MSBhcmcgMDAzMDAwMDAgZmxhZ3MgMDAwMDAwNjEKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhl
Y3V0aW5nIG9wY29kZSAweDI5LCBhcmc6IDB4MzAwMDAwLCBtYXNrOiAweDEzNDAKK3RpZm1fc2Qg
dGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMTAwMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRv
bmUgKENNRDQxKTogMC8wLzA6IDAwZmY4MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWMxOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKK3RpZm1fc2Qg
dGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4MCwgbWFzazogMHgyMTQw
Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6
IHJlcSBkb25lIChDTUQ1NSk6IDAvMC8wOiAwMDAwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENDEgYXJnIDAwMzAwMDAwIGZsYWdzIDAwMDAwMDYxCit0
aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwgYXJnOiAweDMwMDAwMCwg
bWFzazogMHgxMzQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEwMDEsIGZpZm9f
c3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ0MSk6IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZs
YWdzIDAwMDAwMDE1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywg
YXJnOiAweDAsIG1hc2s6IDB4MjE0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAx
LCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDAwMDAxMjAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDMw
MDAwMCBmbGFncyAwMDAwMDA2MQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2Rl
IDB4MjksIGFyZzogMHgzMDAwMDAsIG1hc2s6IDB4MTM0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBo
b3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAv
MDogODBmZjgwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENN
RDIgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDY3Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1
dGluZyBvcGNvZGUgMHgyLCBhcmc6IDB4MCwgbWFzazogMHgxMjQwCit0aWZtX3NkIHRpZm1fc2Qw
OjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQyKTog
MC8wLzA6IDEzNGI0NzUzIDQ0MzAzNjM0IDEwYTAxNjRlIGRjMDA2NDBmCittbWMxOiBzdGFydGlu
ZyBDTUQzIGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDA3NQordGlmbV9zZCB0aWZtX3NkMDoxOiBl
eGVjdXRpbmcgb3Bjb2RlIDB4MywgYXJnOiAweDAsIG1hc2s6IDB4MTE0MAordGlmbV9zZCB0aWZt
X3NkMDoxOiBob3N0X3N0YXR1cyA0MDAwLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAo
Q01EMyk6IDQvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAordGlmbV9z
ZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MywgYXJnOiAweDAsIG1hc2s6IDB4MTE0
MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA0MDAwLCBmaWZvX3N0YXR1cyAwCitt
bWMxOiByZXEgZG9uZSAoQ01EMyk6IDQvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MywgYXJnOiAw
eDAsIG1hc2s6IDB4MTE0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA0MDAwLCBm
aWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01EMyk6IDQvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bj
b2RlIDB4MywgYXJnOiAweDAsIG1hc2s6IDB4MTE0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0
X3N0YXR1cyA0MDAwLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01EMyk6IDQvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01E
MiBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNjcKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0
aW5nIG9wY29kZSAweDIsIGFyZzogMHgwLCBtYXNrOiAweDEyNDAKK3RpZm1fc2QgdGlmbV9zZDA6
MTogaG9zdF9zdGF0dXMgODAsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQyKTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCit0aWZtX3NkIHRpZm1f
c2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyLCBhcmc6IDB4MCwgbWFzazogMHgxMjQwCit0aWZt
X3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgwLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEg
ZG9uZSAoQ01EMik6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
dGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MiwgYXJnOiAweDAsIG1hc2s6
IDB4MTI0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA4MCwgZmlmb19zdGF0dXMg
MAorbW1jMTogcmVxIGRvbmUgKENNRDIpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDIsIGFy
ZzogMHgwLCBtYXNrOiAweDEyNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgODAs
IGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQyKTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDIg
cG93ZXJtb2RlIDIgY3MgMCBWZGQgMjAgd2lkdGggMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0
aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAyCittbWMxOiBzZWxlY3RlZCAyNC4wMDBNSHogdHJhbnNm
ZXIgcmF0ZQorbW1jMTogY2xvY2sgMjQwMDAwMDBIeiBidXNtb2RlIDIgcG93ZXJtb2RlIDIgY3Mg
MCBWZGQgMjAgd2lkdGggMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAw
LCBwb3dlciAyCittbWMxOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAwIGNzIDAgVmRk
IDAgd2lkdGggMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dl
ciAwCg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>114318</attachid>
            <date>2007-03-25 05:38 0000</date>
            <desc>2.6.21-rc4 dmesg, card not inserted</desc>
            <filename>dmesg_21_nocard</filename>
            <type>text/plain</type>
            <data encoding="base64">TGludXggdmVyc2lvbiAyLjYuMjEtcmM0IChyb290QGJydXR1cykgKGdjYyB2ZXJzaW9uIDQuMS4x
IChHZW50b28gNC4xLjEtcjMpKSAjMSBTTVAgU3VuIE1hciAyNSAxNDo0MjozMCBDU1QgMjAwNwpD
b21tYW5kIGxpbmU6IHJvb3Q9L2Rldi9zZGEzCkJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1h
cDoKIEJJT1MtZTgyMDogMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWYwMDAgKHVzYWJs
ZSkKIEJJT1MtZTgyMDogMDAwMDAwMDAwMDA5ZjAwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2Vy
dmVkKQogQklPUy1lODIwOiAwMDAwMDAwMDAwMGRjMDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVz
ZXJ2ZWQpCiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDVmZWQwMDAwICh1
c2FibGUpCiBCSU9TLWU4MjA6IDAwMDAwMDAwNWZlZDAwMDAgLSAwMDAwMDAwMDVmZWRmMDAwIChB
Q1BJIGRhdGEpCiBCSU9TLWU4MjA6IDAwMDAwMDAwNWZlZGYwMDAgLSAwMDAwMDAwMDVmZjAwMDAw
IChBQ1BJIE5WUykKIEJJT1MtZTgyMDogMDAwMDAwMDA1ZmYwMDAwMCAtIDAwMDAwMDAwNjAwMDAw
MDAgKHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAwMGYwMDAwMDAwIC0gMDAwMDAwMDBmNDAw
MDAwMCAocmVzZXJ2ZWQpCiBCSU9TLWU4MjA6IDAwMDAwMDAwZmVjMDAwMDAgLSAwMDAwMDAwMGZl
YzEwMDAwIChyZXNlcnZlZCkKIEJJT1MtZTgyMDogMDAwMDAwMDBmZWQwMDAwMCAtIDAwMDAwMDAw
ZmVkMDA0MDAgKHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAwMGZlZDE0MDAwIC0gMDAwMDAw
MDBmZWQxYTAwMCAocmVzZXJ2ZWQpCiBCSU9TLWU4MjA6IDAwMDAwMDAwZmVkMWMwMDAgLSAwMDAw
MDAwMGZlZDkwMDAwIChyZXNlcnZlZCkKIEJJT1MtZTgyMDogMDAwMDAwMDBmZWUwMDAwMCAtIDAw
MDAwMDAwZmVlMDEwMDAgKHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAwMGZmODAwMDAwIC0g
MDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2UoMCwg
MCwgMTU5KSAwIGVudHJpZXMgb2YgMzIwMCB1c2VkCkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2Uo
MCwgMjU2LCAzOTI5MTIpIDEgZW50cmllcyBvZiAzMjAwIHVzZWQKZW5kX3Bmbl9tYXAgPSAxMDQ4
NTc2CkRNSSBwcmVzZW50LgpBQ1BJOiBSU0RQIDAwMEY2N0EwLCAwMDI0IChyMiBMRU5PVk8pCkFD
UEk6IFhTRFQgNUZFRDFDRjUsIDAwODQgKHIxIExFTk9WTyBUUC03RiAgICAgICAgMjEyMCAgTFRQ
ICAgICAgICAwKQpBQ1BJOiBGQUNQIDVGRUQxRTAwLCAwMEY0IChyMyBMRU5PVk8gVFAtN0YgICAg
ICAgIDIxMjAgTE5WTyAgICAgICAgMSkKQUNQSSBXYXJuaW5nICh0YmZhZHQtMDQyMCk6IE9wdGlv
bmFsIGZpZWxkICJHcGUxQmxvY2siIGhhcyB6ZXJvIGFkZHJlc3Mgb3IgbGVuZ3RoOiAwMDAwMDAw
MDAwMDAxMDJDLzAgWzIwMDcwMTI2XQpBQ1BJOiBEU0RUIDVGRUQyMjNBLCBDQjM2IChyMSBMRU5P
Vk8gVFAtN0YgICAgICAgIDIxMjAgTVNGVCAgMTAwMDAwRSkKQUNQSTogRkFDUyA1RkVGNDAwMCwg
MDA0MApBQ1BJOiBTU0RUIDVGRUQxRkI0LCAwMjg2IChyMSBMRU5PVk8gVFAtN0YgICAgICAgIDIx
MjAgTVNGVCAgMTAwMDAwRSkKQUNQSTogRUNEVCA1RkVERUQ3MCwgMDA1MiAocjEgTEVOT1ZPIFRQ
LTdGICAgICAgICAyMTIwIExOVk8gICAgICAgIDEpCkFDUEk6IFRDUEEgNUZFREVEQzIsIDAwMzIg
KHIyIExFTk9WTyBUUC03RiAgICAgICAgMjEyMCBMTlZPICAgICAgICAxKQpBQ1BJOiBBUElDIDVG
RURFREY0LCAwMDY4IChyMSBMRU5PVk8gVFAtN0YgICAgICAgIDIxMjAgTE5WTyAgICAgICAgMSkK
QUNQSTogTUNGRyA1RkVERUU1QywgMDAzQyAocjEgTEVOT1ZPIFRQLTdGICAgICAgICAyMTIwIExO
Vk8gICAgICAgIDEpCkFDUEk6IEhQRVQgNUZFREVFOTgsIDAwMzggKHIxIExFTk9WTyBUUC03RiAg
ICAgICAgMjEyMCBMTlZPICAgICAgICAxKQpBQ1BJOiBCT09UIDVGRURFRkQ4LCAwMDI4IChyMSBM
RU5PVk8gVFAtN0YgICAgICAgIDIxMjAgIExUUCAgICAgICAgMSkKQUNQSTogU1NEVCA1RkVGMjY0
NCwgMDI1RiAocjEgTEVOT1ZPIFRQLTdGICAgICAgICAyMTIwIElOVEwgMjAwNTA1MTMpCkFDUEk6
IFNTRFQgNUZFRjI4QTMsIDAwQTYgKHIxIExFTk9WTyBUUC03RiAgICAgICAgMjEyMCBJTlRMIDIw
MDUwNTEzKQpBQ1BJOiBTU0RUIDVGRUYyOTQ5LCAwNEY3IChyMSBMRU5PVk8gVFAtN0YgICAgICAg
IDIxMjAgSU5UTCAyMDA1MDUxMykKQUNQSTogU1NEVCA1RkVGMkU0MCwgMDFEOCAocjEgTEVOT1ZP
IFRQLTdGICAgICAgICAyMTIwIElOVEwgMjAwNTA1MTMpCk5vIE5VTUEgY29uZmlndXJhdGlvbiBm
b3VuZApGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDA1ZmVkMDAwMApF
bnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKDAsIDAsIDE1OSkgMCBlbnRyaWVzIG9mIDMyMDAgdXNl
ZApFbnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKDAsIDI1NiwgMzkyOTEyKSAxIGVudHJpZXMgb2Yg
MzIwMCB1c2VkCkJvb3RtZW0gc2V0dXAgbm9kZSAwIDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDA1
ZmVkMDAwMApab25lIFBGTiByYW5nZXM6CiAgRE1BICAgICAgICAgICAgIDAgLT4gICAgIDQwOTYK
ICBETUEzMiAgICAgICAgNDA5NiAtPiAgMTA0ODU3NgogIE5vcm1hbCAgICAxMDQ4NTc2IC0+ICAx
MDQ4NTc2CmVhcmx5X25vZGVfbWFwWzJdIGFjdGl2ZSBQRk4gcmFuZ2VzCiAgICAwOiAgICAgICAg
MCAtPiAgICAgIDE1OQogICAgMDogICAgICAyNTYgLT4gICAzOTI5MTIKT24gbm9kZSAwIHRvdGFs
cGFnZXM6IDM5MjgxNQogIERNQSB6b25lOiA1NiBwYWdlcyB1c2VkIGZvciBtZW1tYXAKICBETUEg
em9uZTogMTYyOSBwYWdlcyByZXNlcnZlZAogIERNQSB6b25lOiAyMzE0IHBhZ2VzLCBMSUZPIGJh
dGNoOjAKICBETUEzMiB6b25lOiA1MzE1IHBhZ2VzIHVzZWQgZm9yIG1lbW1hcAogIERNQTMyIHpv
bmU6IDM4MzUwMSBwYWdlcywgTElGTyBiYXRjaDozMQogIE5vcm1hbCB6b25lOiAwIHBhZ2VzIHVz
ZWQgZm9yIG1lbW1hcApBQ1BJOiBQTS1UaW1lciBJTyBQb3J0OiAweDEwMDgKQUNQSTogTG9jYWwg
QVBJQyBhZGRyZXNzIDB4ZmVlMDAwMDAKQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMF0gbGFwaWNf
aWRbMHgwMF0gZW5hYmxlZCkKUHJvY2Vzc29yICMwIChCb290dXAtQ1BVKQpBQ1BJOiBMQVBJQyAo
YWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQpQcm9jZXNzb3IgIzEKQUNQSTog
TEFQSUNfTk1JIChhY3BpX2lkWzB4MDBdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCkFDUEk6IExBUElD
X05NSSAoYWNwaV9pZFsweDAxXSBoaWdoIGVkZ2UgbGludFsweDFdKQpBQ1BJOiBJT0FQSUMgKGlk
WzB4MDFdIGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCklPQVBJQ1swXTogYXBpY19p
ZCAxLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCkFDUEk6IElOVF9TUkNfT1ZSIChidXMg
MCBidXNfaXJxIDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwpCkFDUEk6IElOVF9TUkNfT1ZSIChidXMg
MCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGhpZ2ggbGV2ZWwpCkFDUEk6IElSUTAgdXNlZCBieSBv
dmVycmlkZS4KQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgpBQ1BJOiBJUlE5IHVzZWQgYnkg
b3ZlcnJpZGUuClNldHRpbmcgQVBJQyByb3V0aW5nIHRvIHBoeXNpY2FsIGZsYXQKQUNQSTogSFBF
VCBpZDogMHg4MDg2YTIwMSBiYXNlOiAweGZlZDAwMDAwClVzaW5nIEFDUEkgKE1BRFQpIGZvciBT
TVAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgpOb3NhdmUgYWRkcmVzcyByYW5nZTogMDAwMDAw
MDAwMDA5ZjAwMCAtIDAwMDAwMDAwMDAwYTAwMDAKTm9zYXZlIGFkZHJlc3MgcmFuZ2U6IDAwMDAw
MDAwMDAwYTAwMDAgLSAwMDAwMDAwMDAwMGRjMDAwCk5vc2F2ZSBhZGRyZXNzIHJhbmdlOiAwMDAw
MDAwMDAwMGRjMDAwIC0gMDAwMDAwMDAwMDEwMDAwMApBbGxvY2F0aW5nIFBDSSByZXNvdXJjZXMg
c3RhcnRpbmcgYXQgNzAwMDAwMDAgKGdhcDogNjAwMDAwMDA6OTAwMDAwMDApClNNUDogQWxsb3dp
bmcgMiBDUFVzLCAwIGhvdHBsdWcgQ1BVcwpQRVJDUFU6IEFsbG9jYXRpbmcgMzY5OTIgYnl0ZXMg
b2YgcGVyIGNwdSBkYXRhCkJ1aWx0IDEgem9uZWxpc3RzLiAgVG90YWwgcGFnZXM6IDM4NTgxNQpL
ZXJuZWwgY29tbWFuZCBsaW5lOiByb290PS9kZXYvc2RhMwpJbml0aWFsaXppbmcgQ1BVIzAKUElE
IGhhc2ggdGFibGUgZW50cmllczogNDA5NiAob3JkZXI6IDEyLCAzMjc2OCBieXRlcykKRXh0ZW5k
ZWQgQ01PUyB5ZWFyOiAyMDAwCnRpbWUuYzogRGV0ZWN0ZWQgMTgyOC43NTEgTUh6IHByb2Nlc3Nv
ci4KQ29uc29sZTogY29sb3VyIFZHQSsgODB4MjUKRGVudHJ5IGNhY2hlIGhhc2ggdGFibGUgZW50
cmllczogMjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKSW5vZGUtY2FjaGUgaGFzaCB0
YWJsZSBlbnRyaWVzOiAxMzEwNzIgKG9yZGVyOiA4LCAxMDQ4NTc2IGJ5dGVzKQpDaGVja2luZyBh
cGVydHVyZS4uLgpNZW1vcnk6IDE1Mzk3NDBrLzE1NzE2NDhrIGF2YWlsYWJsZSAoMzQzNmsga2Vy
bmVsIGNvZGUsIDMxNTIwayByZXNlcnZlZCwgMTgyNmsgZGF0YSwgMzI4ayBpbml0KQpDYWxpYnJh
dGluZyBkZWxheSB1c2luZyB0aW1lciBzcGVjaWZpYyByb3V0aW5lLi4gMzY2MS41MSBCb2dvTUlQ
UyAobHBqPTczMjMwMjUpClNlY3VyaXR5IEZyYW1ld29yayB2MS4wLjAgaW5pdGlhbGl6ZWQKTW91
bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNTYKQ1BVOiBMMSBJIGNhY2hlOiAzMkssIEwx
IEQgY2FjaGU6IDMySwpDUFU6IEwyIGNhY2hlOiAyMDQ4SwpDUFUgMC8wIC0+IE5vZGUgMAp1c2lu
ZyBtd2FpdCBpbiBpZGxlIHRocmVhZHMuCkNQVTogUGh5c2ljYWwgUHJvY2Vzc29yIElEOiAwCkNQ
VTogUHJvY2Vzc29yIENvcmUgSUQ6IDAKQ1BVMDogVGhlcm1hbCBtb25pdG9yaW5nIGVuYWJsZWQg
KFRNMikKU01QIGFsdGVybmF0aXZlczogc3dpdGNoaW5nIHRvIFVQIGNvZGUKQUNQSTogQ29yZSBy
ZXZpc2lvbiAyMDA3MDEyNgpVc2luZyBsb2NhbCBBUElDIHRpbWVyIGludGVycnVwdHMuCnJlc3Vs
dCAxMDM5MDYzMApEZXRlY3RlZCAxMC4zOTAgTUh6IEFQSUMgdGltZXIuClNNUCBhbHRlcm5hdGl2
ZXM6IHN3aXRjaGluZyB0byBTTVAgY29kZQpCb290aW5nIHByb2Nlc3NvciAxLzIgQVBJQyAweDEK
SW5pdGlhbGl6aW5nIENQVSMxCkNhbGlicmF0aW5nIGRlbGF5IHVzaW5nIHRpbWVyIHNwZWNpZmlj
IHJvdXRpbmUuLiAzNjU3LjU1IEJvZ29NSVBTIChscGo9NzMxNTEwMikKQ1BVOiBMMSBJIGNhY2hl
OiAzMkssIEwxIEQgY2FjaGU6IDMySwpDUFU6IEwyIGNhY2hlOiAyMDQ4SwpDUFUgMS8xIC0+IE5v
ZGUgMApDUFU6IFBoeXNpY2FsIFByb2Nlc3NvciBJRDogMApDUFU6IFByb2Nlc3NvciBDb3JlIElE
OiAxCkNQVTE6IFRoZXJtYWwgbW9uaXRvcmluZyBlbmFibGVkIChUTTIpCkludGVsKFIpIENvcmUo
VE0pMiBDUFUgICAgICAgICBUNTYwMCAgQCAxLjgzR0h6IHN0ZXBwaW5nIDA2CkJyb3VnaHQgdXAg
MiBDUFVzCm1pZ3JhdGlvbl9jb3N0PTM2Ck5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkg
MTYKQUNQSTogYnVzIHR5cGUgcGNpIHJlZ2lzdGVyZWQKUENJOiBVc2luZyBNTUNPTkZJRyBhdCBm
MDAwMDAwMCAtIGYzZmZmZmZmCkFDUEk6IEludGVycHJldGVyIGVuYWJsZWQKQUNQSTogKHN1cHBv
cnRzIFMwIFMzIFM0IFM1KQpBQ1BJOiBVc2luZyBJT0FQSUMgZm9yIGludGVycnVwdCByb3V0aW5n
CkFDUEk6IFBDSSBSb290IEJyaWRnZSBbUENJMF0gKDAwMDA6MDApClBDSTogUHJvYmluZyBQQ0kg
aGFyZHdhcmUgKGJ1cyAwMCkKUENJIHF1aXJrOiByZWdpb24gMTAwMC0xMDdmIGNsYWltZWQgYnkg
SUNINiBBQ1BJL0dQSU8vVENPClBDSSBxdWlyazogcmVnaW9uIDExODAtMTFiZiBjbGFpbWVkIGJ5
IElDSDYgR1BJTwowMDAwOjAwOjFmLjE6IHRyeWluZyB0byBjaGFuZ2UgQkFSMCBmcm9tIDAwMDAg
dG8gMDFGMAowMDAwOjAwOjFmLjE6IHRyeWluZyB0byBjaGFuZ2UgQkFSMSBmcm9tIDAwMDAgdG8g
MDNGNAowMDAwOjAwOjFmLjE6IHRyeWluZyB0byBjaGFuZ2UgQkFSMiBmcm9tIDAwMDAgdG8gMDE3
MAowMDAwOjAwOjFmLjE6IHRyeWluZyB0byBjaGFuZ2UgQkFSMyBmcm9tIDAwMDAgdG8gMDM3NApC
b290IHZpZGVvIGRldmljZSBpcyAwMDAwOjAxOjAwLjAKUENJOiBUcmFuc3BhcmVudCBicmlkZ2Ug
LSAwMDAwOjAwOjFlLjAKQUNQSTogUENJIEludGVycnVwdCBSb3V0aW5nIFRhYmxlIFtcX1NCXy5Q
Q0kwLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5B
R1BfLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5F
WFAwLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5F
WFAxLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5F
WFAyLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5F
WFAzLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5Q
Q0kxLl9QUlRdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LQV0gKElSUXMgMyA0IDUgNiA3
IDkgMTAgKjExKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0JdIChJUlFzIDMgNCA1IDYg
NyA5IDEwICoxMSkKQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktDXSAoSVJRcyAzIDQgNSA2
IDcgOSAxMCAqMTEpCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LRF0gKElSUXMgMyA0IDUg
NiA3IDkgMTAgKjExKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0VdIChJUlFzIDMgNCA1
IDYgNyA5IDEwICoxMSkKQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktGXSAoSVJRcyAzIDQg
NSA2IDcgOSAxMCAqMTEpCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LR10gKElSUXMgMyA0
IDUgNiA3IDkgMTAgKjExKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0hdIChJUlFzIDMg
NCA1IDYgNyA5IDEwICoxMSkKQUNQSTogUG93ZXIgUmVzb3VyY2UgW1BVQlNdIChvbikKTGludXgg
UGx1ZyBhbmQgUGxheSBTdXBwb3J0IHYwLjk3IChjKSBBZGFtIEJlbGF5CnBucDogUG5QIEFDUEkg
aW5pdApwbnA6IFBuUCBBQ1BJOiBmb3VuZCAxMiBkZXZpY2VzClNDU0kgc3Vic3lzdGVtIGluaXRp
YWxpemVkCmxpYmF0YSB2ZXJzaW9uIDIuMjAgbG9hZGVkLgp1c2Jjb3JlOiByZWdpc3RlcmVkIG5l
dyBpbnRlcmZhY2UgZHJpdmVyIHVzYmZzCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFj
ZSBkcml2ZXIgaHViCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmljZSBkcml2ZXIgdXNiClBD
STogVXNpbmcgQUNQSSBmb3IgSVJRIHJvdXRpbmcKUENJOiBJZiBhIGRldmljZSBkb2Vzbid0IHdv
cmssIHRyeSAicGNpPXJvdXRlaXJxIi4gIElmIGl0IGhlbHBzLCBwb3N0IGEgcmVwb3J0Ck5FVDog
UmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMjMKQmx1ZXRvb3RoOiBDb3JlIHZlciAyLjExCk5F
VDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMzEKQmx1ZXRvb3RoOiBIQ0kgZGV2aWNlIGFu
ZCBjb25uZWN0aW9uIG1hbmFnZXIgaW5pdGlhbGl6ZWQKQmx1ZXRvb3RoOiBIQ0kgc29ja2V0IGxh
eWVyIGluaXRpYWxpemVkClBDSS1HQVJUOiBObyBBTUQgbm9ydGhicmlkZ2UgZm91bmQuCmhwZXQw
OiBhdCBNTUlPIDB4ZmVkMDAwMDAsIElSUXMgMiwgOCwgMApocGV0MDogMyA2NC1iaXQgdGltZXJz
LCAxNDMxODE4MCBIegpwbnA6IDAwOjAwOiBpb21lbSByYW5nZSAweDAtMHg5ZmZmZiBjb3VsZCBu
b3QgYmUgcmVzZXJ2ZWQKcG5wOiAwMDowMDogaW9tZW0gcmFuZ2UgMHhjMDAwMC0weGMzZmZmIGhh
cyBiZWVuIHJlc2VydmVkCnBucDogMDA6MDA6IGlvbWVtIHJhbmdlIDB4YzQwMDAtMHhjN2ZmZiBo
YXMgYmVlbiByZXNlcnZlZApwbnA6IDAwOjAwOiBpb21lbSByYW5nZSAweGM4MDAwLTB4Y2JmZmYg
aGFzIGJlZW4gcmVzZXJ2ZWQKcG5wOiAwMDowMjogaW9tZW0gcmFuZ2UgMHhmMDAwMDAwMC0weGYz
ZmZmZmZmIGhhcyBiZWVuIHJlc2VydmVkCnBucDogMDA6MDI6IGlvbWVtIHJhbmdlIDB4ZmVkMWMw
MDAtMHhmZWQxZmZmZiBoYXMgYmVlbiByZXNlcnZlZApwbnA6IDAwOjAyOiBpb21lbSByYW5nZSAw
eGZlZDE0MDAwLTB4ZmVkMTdmZmYgaGFzIGJlZW4gcmVzZXJ2ZWQKcG5wOiAwMDowMjogaW9tZW0g
cmFuZ2UgMHhmZWQxODAwMC0weGZlZDE4ZmZmIGhhcyBiZWVuIHJlc2VydmVkClRpbWU6IGhwZXQg
Y2xvY2tzb3VyY2UgaGFzIGJlZW4gaW5zdGFsbGVkLgpQQ0k6IEVuYWJsaW5nIGRldmljZSAwMDAw
OjE1OjAwLjEgKDAwMDAgLT4gMDAwMikKQUNQSTogUENJIEludGVycnVwdCAwMDAwOjE1OjAwLjFb
Ql0gLT4gR1NJIDE3IChsZXZlbCwgbG93KSAtPiBJUlEgMTcKUENJOiBTZXR0aW5nIGxhdGVuY3kg
dGltZXIgb2YgZGV2aWNlIDAwMDA6MTU6MDAuMSB0byA2NApvaGNpMTM5NDogZnctaG9zdDA6IE9I
Q0ktMTM5NCAxLjEgKFBDSSk6IElSUT1bMTddICBNTUlPPVtlNDMwMjAwMC1lNDMwMjdmZl0gIE1h
eCBQYWNrZXQ9WzIwNDhdICBJUi9JVCBjb250ZXh0cz1bNC84XQpQQ0k6IEJyaWRnZTogMDAwMDow
MDowMS4wCiAgSU8gd2luZG93OiAyMDAwLTJmZmYKICBNRU0gd2luZG93OiBlZTAwMDAwMC1lZTBm
ZmZmZgogIFBSRUZFVENIIHdpbmRvdzogZDgwMDAwMDAtZGZmZmZmZmYKUENJOiBCcmlkZ2U6IDAw
MDA6MDA6MWMuMAogIElPIHdpbmRvdzogZGlzYWJsZWQuCiAgTUVNIHdpbmRvdzogZWUxMDAwMDAt
ZWUxZmZmZmYKICBQUkVGRVRDSCB3aW5kb3c6IGRpc2FibGVkLgpQQ0k6IEJyaWRnZTogMDAwMDow
MDoxYy4xCiAgSU8gd2luZG93OiAzMDAwLTRmZmYKICBNRU0gd2luZG93OiBlYzAwMDAwMC1lZGZm
ZmZmZgogIFBSRUZFVENIIHdpbmRvdzogZTQwMDAwMDAtZTQwZmZmZmYKUENJOiBCcmlkZ2U6IDAw
MDA6MDA6MWMuMgogIElPIHdpbmRvdzogNTAwMC02ZmZmCiAgTUVNIHdpbmRvdzogZTgwMDAwMDAt
ZTlmZmZmZmYKICBQUkVGRVRDSCB3aW5kb3c6IGU0MTAwMDAwLWU0MWZmZmZmClBDSTogQnJpZGdl
OiAwMDAwOjAwOjFjLjMKICBJTyB3aW5kb3c6IDcwMDAtOGZmZgogIE1FTSB3aW5kb3c6IGVhMDAw
MDAwLWViZmZmZmZmCiAgUFJFRkVUQ0ggd2luZG93OiBlNDIwMDAwMC1lNDJmZmZmZgpQQ0k6IEJ1
cyAyMiwgY2FyZGJ1cyBicmlkZ2U6IDAwMDA6MTU6MDAuMAogIElPIHdpbmRvdzogMDAwMDkwMDAt
MDAwMDkwZmYKICBJTyB3aW5kb3c6IDAwMDA5NDAwLTAwMDA5NGZmCiAgUFJFRkVUQ0ggd2luZG93
OiBlMDAwMDAwMC1lM2ZmZmZmZgogIE1FTSB3aW5kb3c6IDcwMDAwMDAwLTczZmZmZmZmClBDSTog
QnJpZGdlOiAwMDAwOjAwOjFlLjAKICBJTyB3aW5kb3c6IDkwMDAtY2ZmZgogIE1FTSB3aW5kb3c6
IGU0MzAwMDAwLWU3ZmZmZmZmCiAgUFJFRkVUQ0ggd2luZG93OiBlMDAwMDAwMC1lM2ZmZmZmZgpB
Q1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MDA6MDEuMFtBXSAtPiBHU0kgMTYgKGxldmVsLCBsb3cp
IC0+IElSUSAxNgpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDowMDow
MS4wIHRvIDY0CkFDUEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDowMDoxYy4wW0FdIC0+IEdTSSAyMCAo
bGV2ZWwsIGxvdykgLT4gSVJRIDIwClBDSTogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmlj
ZSAwMDAwOjAwOjFjLjAgdG8gNjQKQUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjFjLjFbQl0g
LT4gR1NJIDIxIChsZXZlbCwgbG93KSAtPiBJUlEgMjEKUENJOiBTZXR0aW5nIGxhdGVuY3kgdGlt
ZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWMuMSB0byA2NApBQ1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6
MDA6MWMuMltDXSAtPiBHU0kgMjIgKGxldmVsLCBsb3cpIC0+IElSUSAyMgpQQ0k6IFNldHRpbmcg
bGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDowMDoxYy4yIHRvIDY0CkFDUEk6IFBDSSBJbnRl
cnJ1cHQgMDAwMDowMDoxYy4zW0RdIC0+IEdTSSAyMyAobGV2ZWwsIGxvdykgLT4gSVJRIDIzClBD
STogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFjLjMgdG8gNjQKUENJ
OiBFbmFibGluZyBkZXZpY2UgMDAwMDowMDoxZS4wICgwMDA1IC0+IDAwMDcpClBDSTogU2V0dGlu
ZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFlLjAgdG8gNjQKQUNQSTogUENJIElu
dGVycnVwdCAwMDAwOjE1OjAwLjBbQV0gLT4gR1NJIDE2IChsZXZlbCwgbG93KSAtPiBJUlEgMTYK
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAyCklQIHJvdXRlIGNhY2hlIGhhc2ggdGFi
bGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA3LCA1MjQyODggYnl0ZXMpClRDUCBlc3RhYmxpc2hl
ZCBoYXNoIHRhYmxlIGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDksIDMxNDU3MjggYnl0ZXMpClRD
UCBiaW5kIGhhc2ggdGFibGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA4LCAxMDQ4NTc2IGJ5dGVz
KQpUQ1A6IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDEzMTA3MiBiaW5kIDY1
NTM2KQpUQ1AgcmVubyByZWdpc3RlcmVkClNpbXBsZSBCb290IEZsYWcgYXQgMHgzNSBzZXQgdG8g
MHgxClRvdGFsIEh1Z2VUTEIgbWVtb3J5IGFsbG9jYXRlZCwgMApJbnN0YWxsaW5nIGtuZnNkIChj
b3B5cmlnaHQgKEMpIDE5OTYgb2tpckBtb25hZC5zd2IuZGUpLgpOVEZTIGRyaXZlciAyLjEuMjgg
W0ZsYWdzOiBSL1ddLgppbyBzY2hlZHVsZXIgbm9vcCByZWdpc3RlcmVkCmlvIHNjaGVkdWxlciBk
ZWFkbGluZSByZWdpc3RlcmVkCmlvIHNjaGVkdWxlciBjZnEgcmVnaXN0ZXJlZCAoZGVmYXVsdCkK
UENJOiBTZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MDEuMCB0byA2NAph
c3NpZ25faW50ZXJydXB0X21vZGUgRm91bmQgTVNJIGNhcGFiaWxpdHkKQWxsb2NhdGUgUG9ydCBT
ZXJ2aWNlWzAwMDA6MDA6MDEuMDpwY2llMDBdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAw
OjAxLjA6cGNpZTAzXQpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDow
MDoxYy4wIHRvIDY0CmFzc2lnbl9pbnRlcnJ1cHRfbW9kZSBGb3VuZCBNU0kgY2FwYWJpbGl0eQpB
bGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDoxYy4wOnBjaWUwMF0KQWxsb2NhdGUgUG9ydCBT
ZXJ2aWNlWzAwMDA6MDA6MWMuMDpwY2llMDJdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAw
OjFjLjA6cGNpZTAzXQpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDow
MDoxYy4xIHRvIDY0CmFzc2lnbl9pbnRlcnJ1cHRfbW9kZSBGb3VuZCBNU0kgY2FwYWJpbGl0eQpB
bGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDoxYy4xOnBjaWUwMF0KQWxsb2NhdGUgUG9ydCBT
ZXJ2aWNlWzAwMDA6MDA6MWMuMTpwY2llMDJdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAw
OjFjLjE6cGNpZTAzXQpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDow
MDoxYy4yIHRvIDY0CmFzc2lnbl9pbnRlcnJ1cHRfbW9kZSBGb3VuZCBNU0kgY2FwYWJpbGl0eQpB
bGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDoxYy4yOnBjaWUwMF0KQWxsb2NhdGUgUG9ydCBT
ZXJ2aWNlWzAwMDA6MDA6MWMuMjpwY2llMDJdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAw
OjFjLjI6cGNpZTAzXQpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDow
MDoxYy4zIHRvIDY0CmFzc2lnbl9pbnRlcnJ1cHRfbW9kZSBGb3VuZCBNU0kgY2FwYWJpbGl0eQpB
bGxvY2F0ZSBQb3J0IFNlcnZpY2VbMDAwMDowMDoxYy4zOnBjaWUwMF0KQWxsb2NhdGUgUG9ydCBT
ZXJ2aWNlWzAwMDA6MDA6MWMuMzpwY2llMDJdCkFsbG9jYXRlIFBvcnQgU2VydmljZVswMDAwOjAw
OjFjLjM6cGNpZTAzXQpBQ1BJOiBBQyBBZGFwdGVyIFtBQ10gKG9uLWxpbmUpCkFDUEk6IEJhdHRl
cnkgU2xvdCBbQkFUMF0gKGJhdHRlcnkgcHJlc2VudCkKaW5wdXQ6IFBvd2VyIEJ1dHRvbiAoRkYp
IGFzIC9jbGFzcy9pbnB1dC9pbnB1dDAKQUNQSTogUG93ZXIgQnV0dG9uIChGRikgW1BXUkZdCmlu
cHV0OiBMaWQgU3dpdGNoIGFzIC9jbGFzcy9pbnB1dC9pbnB1dDEKQUNQSTogTGlkIFN3aXRjaCBb
TElEXQppbnB1dDogU2xlZXAgQnV0dG9uIChDTSkgYXMgL2NsYXNzL2lucHV0L2lucHV0MgpBQ1BJ
OiBTbGVlcCBCdXR0b24gKENNKSBbU0xQQl0Kc2V0X2xldmVsIHN0YXR1czogMApBQ1BJOiBWaWRl
byBEZXZpY2UgW1ZJRF0gKG11bHRpLWhlYWQ6IHllcyAgcm9tOiBubyAgcG9zdDogbm8pCnNldF9s
ZXZlbCBzdGF0dXM6IDAKQUNQSTogVmlkZW8gRGV2aWNlIFtWSURdIChtdWx0aS1oZWFkOiB5ZXMg
IHJvbTogbm8gIHBvc3Q6IG5vKQpBQ1BJOiBTU0RUIDVGRUYxRDI1LCAwMjQwIChyMSAgUG1SZWYg
IENwdTBJc3QgICAgICAxMDAgSU5UTCAyMDA1MDUxMykKQUNQSTogU1NEVCA1RkVGMUZFQSwgMDY1
QSAocjEgIFBtUmVmICBDcHUwQ3N0ICAgICAgMTAwIElOVEwgMjAwNTA1MTMpCk1vbml0b3ItTXdh
aXQgd2lsbCBiZSB1c2VkIHRvIGVudGVyIEMtMSBzdGF0ZQpNb25pdG9yLU13YWl0IHdpbGwgYmUg
dXNlZCB0byBlbnRlciBDLTIgc3RhdGUKTW9uaXRvci1Nd2FpdCB3aWxsIGJlIHVzZWQgdG8gZW50
ZXIgQy0zIHN0YXRlCkFDUEk6IENQVTAgKHBvd2VyIHN0YXRlczogQzFbQzFdIEMyW0MyXSBDM1tD
M10pCkFDUEk6IFByb2Nlc3NvciBbQ1BVMF0gKHN1cHBvcnRzIDggdGhyb3R0bGluZyBzdGF0ZXMp
CkFDUEk6IFNTRFQgNUZFRjFDNUQsIDAwQzggKHIxICBQbVJlZiAgQ3B1MUlzdCAgICAgIDEwMCBJ
TlRMIDIwMDUwNTEzKQpBQ1BJOiBTU0RUIDVGRUYxRjY1LCAwMDg1IChyMSAgUG1SZWYgIENwdTFD
c3QgICAgICAxMDAgSU5UTCAyMDA1MDUxMykKQUNQSTogQ1BVMSAocG93ZXIgc3RhdGVzOiBDMVtD
MV0gQzJbQzJdIEMzW0MzXSkKQUNQSTogUHJvY2Vzc29yIFtDUFUxXSAoc3VwcG9ydHMgOCB0aHJv
dHRsaW5nIHN0YXRlcykKQUNQSTogVGhlcm1hbCBab25lIFtUSE0wXSAoNTcgQykKQUNQSTogVGhl
cm1hbCBab25lIFtUSE0xXSAoNTUgQykKaWJtX2FjcGk6IElCTSBUaGlua1BhZCBBQ1BJIEV4dHJh
cyB2MC4xMwppYm1fYWNwaTogaHR0cDovL2libS1hY3BpLnNmLm5ldC8KaWJtX2FjcGk6IFRoaW5r
UGFkIEVDIGZpcm13YXJlIDdGSFQyNldXLTEuMDgKUmVhbCBUaW1lIENsb2NrIERyaXZlciB2MS4x
MmFjCmhwZXRfcmVzb3VyY2VzOiAweGZlZDAwMDAwIGlzIGJ1c3kKaW50ZWxfcm5nOiBGV0ggbm90
IGRldGVjdGVkCkxpbnV4IGFncGdhcnQgaW50ZXJmYWNlIHYwLjEwMiAoYykgRGF2ZSBKb25lcwph
Z3BnYXJ0OiBEZXRlY3RlZCBhbiBJbnRlbCA5NDVHTSBDaGlwc2V0LgphZ3BnYXJ0OiBBR1AgYXBl
cnR1cmUgaXMgMjU2TSBAIDB4MApbZHJtXSBJbml0aWFsaXplZCBkcm0gMS4xLjAgMjAwNjA4MTAK
U2VyaWFsOiA4MjUwLzE2NTUwIGRyaXZlciAkUmV2aXNpb246IDEuOTAgJCA0IHBvcnRzLCBJUlEg
c2hhcmluZyBkaXNhYmxlZApSQU1ESVNLIGRyaXZlciBpbml0aWFsaXplZDogMTYgUkFNIGRpc2tz
IG9mIDQwOTZLIHNpemUgMTAyNCBibG9ja3NpemUKbG9vcDogbG9hZGVkIChtYXggOCBkZXZpY2Vz
KQpBQ1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MTU6MDAuMltBXSAtPiBHU0kgMTYgKGxldmVsLCBs
b3cpIC0+IElSUSAxNgpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDox
NTowMC4yIHRvIDY0CnR1bjogVW5pdmVyc2FsIFRVTi9UQVAgZGV2aWNlIGRyaXZlciwgMS42CnR1
bjogKEMpIDE5OTktMjAwNCBNYXggS3Jhc255YW5za3kgPG1heGtAcXVhbGNvbW0uY29tPgpuZXRj
b25zb2xlOiBub3QgY29uZmlndXJlZCwgYWJvcnRpbmcKVW5pZm9ybSBNdWx0aS1QbGF0Zm9ybSBF
LUlERSBkcml2ZXIgUmV2aXNpb246IDcuMDBhbHBoYTIKaWRlOiBBc3N1bWluZyAzM01IeiBzeXN0
ZW0gYnVzIHNwZWVkIGZvciBQSU8gbW9kZXM7IG92ZXJyaWRlIHdpdGggaWRlYnVzPXh4CklDSDc6
IElERSBjb250cm9sbGVyIGF0IFBDSSBzbG90IDAwMDA6MDA6MWYuMQpBQ1BJOiBQQ0kgSW50ZXJy
dXB0IDAwMDA6MDA6MWYuMVtDXSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAxNgpJQ0g3
OiBjaGlwc2V0IHJldmlzaW9uIDIKSUNINzogbm90IDEwMCUgbmF0aXZlIG1vZGU6IHdpbGwgcHJv
YmUgaXJxcyBsYXRlcgogICAgaWRlMDogQk0tRE1BIGF0IDB4MTg4MC0weDE4ODcsIEJJT1Mgc2V0
dGluZ3M6IGhkYTpETUEsIGhkYjpwaW8KUHJvYmluZyBJREUgaW50ZXJmYWNlIGlkZTAuLi4KaGRh
OiBITC1EVC1TVCBEVkRSQU0gR01BLTQwODJOLCBBVEFQSSBDRC9EVkQtUk9NIGRyaXZlCmlkZTAg
YXQgMHgxZjAtMHgxZjcsMHgzZjYgb24gaXJxIDE0ClByb2JpbmcgSURFIGludGVyZmFjZSBpZGUx
Li4uCmllZWUxMzk0OiBIb3N0IGFkZGVkOiBJRDpCVVNbMC0wMDoxMDIzXSAgR1VJRFswMDA2MWIw
MDIwMjRjNzZmXQpoZGE6IEFUQVBJIDI0WCBEVkQtUk9NIERWRC1SLVJBTSBDRC1SL1JXIGRyaXZl
LCAyMDQ4a0IgQ2FjaGUsIFVETUEoMzMpClVuaWZvcm0gQ0QtUk9NIGRyaXZlciBSZXZpc2lvbjog
My4yMAphaGNpIDAwMDA6MDA6MWYuMjogdmVyc2lvbiAyLjEKQUNQSTogUENJIEludGVycnVwdCAw
MDAwOjAwOjFmLjJbQl0gLT4gR1NJIDE2IChsZXZlbCwgbG93KSAtPiBJUlEgMTYKUENJOiBTZXR0
aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWYuMiB0byA2NAphaGNpIDAwMDA6
MDA6MWYuMjogQUhDSSAwMDAxLjAxMDAgMzIgc2xvdHMgNCBwb3J0cyAxLjUgR2JwcyAweDEgaW1w
bCBTQVRBIG1vZGUKYWhjaSAwMDAwOjAwOjFmLjI6IGZsYWdzOiA2NGJpdCBuY3EgcG0gbGVkIGNs
byBwaW8gc2x1bSBwYXJ0IAphdGExOiBTQVRBIG1heCBVRE1BLzEzMyBjbWQgMHhmZmZmYzIwMDAw
MDZhNTAwIGN0bCAweDAwMDAwMDAwMDAwMDAwMDAgYm1kbWEgMHgwMDAwMDAwMDAwMDAwMDAwIGly
cSAxMjc0CmF0YTI6IFNBVEEgbWF4IFVETUEvMTMzIGNtZCAweGZmZmZjMjAwMDAwNmE1ODAgY3Rs
IDB4MDAwMDAwMDAwMDAwMDAwMCBibWRtYSAweDAwMDAwMDAwMDAwMDAwMDAgaXJxIDEyNzQKYXRh
MzogU0FUQSBtYXggVURNQS8xMzMgY21kIDB4ZmZmZmMyMDAwMDA2YTYwMCBjdGwgMHgwMDAwMDAw
MDAwMDAwMDAwIGJtZG1hIDB4MDAwMDAwMDAwMDAwMDAwMCBpcnEgMTI3NAphdGE0OiBTQVRBIG1h
eCBVRE1BLzEzMyBjbWQgMHhmZmZmYzIwMDAwMDZhNjgwIGN0bCAweDAwMDAwMDAwMDAwMDAwMDAg
Ym1kbWEgMHgwMDAwMDAwMDAwMDAwMDAwIGlycSAxMjc0CnNjc2kwIDogYWhjaQphdGExOiBTQVRB
IGxpbmsgdXAgMS41IEdicHMgKFNTdGF0dXMgMTEzIFNDb250cm9sIDMwMCkKYXRhMS4wMDogQVRB
LTc6IEhUUzU0MTA4MEc5U0EwMCwgTUI0SUM2MFIsIG1heCBVRE1BLzEwMAphdGExLjAwOiAxNTYz
MDE0ODggc2VjdG9ycywgbXVsdGkgMTY6IExCQTQ4IAphdGExLjAwOiBjb25maWd1cmVkIGZvciBV
RE1BLzEwMApzY3NpMSA6IGFoY2kKYXRhMjogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29u
dHJvbCAwKQpzY3NpMiA6IGFoY2kKYXRhMzogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29u
dHJvbCAwKQpzY3NpMyA6IGFoY2kKYXRhNDogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29u
dHJvbCAwKQpzY3NpIDA6MDowOjA6IERpcmVjdC1BY2Nlc3MgICAgIEFUQSAgICAgIEhUUzU0MTA4
MEc5U0EwMCAgTUI0SSBQUTogMCBBTlNJOiA1ClNDU0kgZGV2aWNlIHNkYTogMTU2MzAxNDg4IDUx
Mi1ieXRlIGhkd3Igc2VjdG9ycyAoODAwMjYgTUIpCnNkYTogV3JpdGUgUHJvdGVjdCBpcyBvZmYK
c2RhOiBNb2RlIFNlbnNlOiAwMCAzYSAwMCAwMApTQ1NJIGRldmljZSBzZGE6IHdyaXRlIGNhY2hl
OiBlbmFibGVkLCByZWFkIGNhY2hlOiBlbmFibGVkLCBkb2Vzbid0IHN1cHBvcnQgRFBPIG9yIEZV
QQpTQ1NJIGRldmljZSBzZGE6IDE1NjMwMTQ4OCA1MTItYnl0ZSBoZHdyIHNlY3RvcnMgKDgwMDI2
IE1CKQpzZGE6IFdyaXRlIFByb3RlY3QgaXMgb2ZmCnNkYTogTW9kZSBTZW5zZTogMDAgM2EgMDAg
MDAKU0NTSSBkZXZpY2Ugc2RhOiB3cml0ZSBjYWNoZTogZW5hYmxlZCwgcmVhZCBjYWNoZTogZW5h
YmxlZCwgZG9lc24ndCBzdXBwb3J0IERQTyBvciBGVUEKIHNkYTogc2RhMSBzZGEyIHNkYTMgc2Rh
NApzZCAwOjA6MDowOiBBdHRhY2hlZCBzY3NpIGRpc2sgc2RhCnNkIDA6MDowOjA6IEF0dGFjaGVk
IHNjc2kgZ2VuZXJpYyBzZzAgdHlwZSAwCkZ1c2lvbiBNUFQgYmFzZSBkcml2ZXIgMy4wNC4wNApD
b3B5cmlnaHQgKGMpIDE5OTktMjAwNyBMU0kgTG9naWMgQ29ycG9yYXRpb24KRnVzaW9uIE1QVCBT
UEkgSG9zdCBkcml2ZXIgMy4wNC4wNApGdXNpb24gTVBUIFNBUyBIb3N0IGRyaXZlciAzLjA0LjA0
CmllZWUxMzk0OiByYXcxMzk0OiAvZGV2L3JhdzEzOTQgZGV2aWNlIGluaXRpYWxpemVkCkFDUEk6
IFBDSSBJbnRlcnJ1cHQgMDAwMDowMDoxZC43W0RdIC0+IEdTSSAxOSAobGV2ZWwsIGxvdykgLT4g
SVJRIDE5ClBDSTogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFkLjcg
dG8gNjQKZWhjaV9oY2QgMDAwMDowMDoxZC43OiBFSENJIEhvc3QgQ29udHJvbGxlcgplaGNpX2hj
ZCAwMDAwOjAwOjFkLjc6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1i
ZXIgMQplaGNpX2hjZCAwMDAwOjAwOjFkLjc6IGRlYnVnIHBvcnQgMQpQQ0k6IGNhY2hlIGxpbmUg
c2l6ZSBvZiAzMiBpcyBub3Qgc3VwcG9ydGVkIGJ5IGRldmljZSAwMDAwOjAwOjFkLjcKZWhjaV9o
Y2QgMDAwMDowMDoxZC43OiBpcnEgMTksIGlvIG1lbSAweGVlNDA0MDAwCmVoY2lfaGNkIDAwMDA6
MDA6MWQuNzogVVNCIDIuMCBzdGFydGVkLCBFSENJIDEuMDAsIGRyaXZlciAxMCBEZWMgMjAwNAp1
c2IgdXNiMTogY29uZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQpodWIgMS0wOjEu
MDogVVNCIGh1YiBmb3VuZApodWIgMS0wOjEuMDogOCBwb3J0cyBkZXRlY3RlZApvaGNpX2hjZDog
MjAwNiBBdWd1c3QgMDQgVVNCIDEuMSAnT3BlbicgSG9zdCBDb250cm9sbGVyIChPSENJKSBEcml2
ZXIKVVNCIFVuaXZlcnNhbCBIb3N0IENvbnRyb2xsZXIgSW50ZXJmYWNlIGRyaXZlciB2My4wCkFD
UEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDowMDoxZC4wW0FdIC0+IEdTSSAxNiAobGV2ZWwsIGxvdykg
LT4gSVJRIDE2ClBDSTogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFk
LjAgdG8gNjQKdWhjaV9oY2QgMDAwMDowMDoxZC4wOiBVSENJIEhvc3QgQ29udHJvbGxlcgp1aGNp
X2hjZCAwMDAwOjAwOjFkLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBu
dW1iZXIgMgp1aGNpX2hjZCAwMDAwOjAwOjFkLjA6IGlycSAxNiwgaW8gYmFzZSAweDAwMDAxODAw
CnVzYiB1c2IyOiBjb25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiAyLTA6
MS4wOiBVU0IgaHViIGZvdW5kCmh1YiAyLTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkCkFDUEk6IFBD
SSBJbnRlcnJ1cHQgMDAwMDowMDoxZC4xW0JdIC0+IEdTSSAxNyAobGV2ZWwsIGxvdykgLT4gSVJR
IDE3ClBDSTogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFkLjEgdG8g
NjQKdWhjaV9oY2QgMDAwMDowMDoxZC4xOiBVSENJIEhvc3QgQ29udHJvbGxlcgp1aGNpX2hjZCAw
MDAwOjAwOjFkLjE6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIg
Mwp1aGNpX2hjZCAwMDAwOjAwOjFkLjE6IGlycSAxNywgaW8gYmFzZSAweDAwMDAxODIwCnVzYiB1
c2IzOiBjb25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiAzLTA6MS4wOiBV
U0IgaHViIGZvdW5kCmh1YiAzLTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkCkFDUEk6IFBDSSBJbnRl
cnJ1cHQgMDAwMDowMDoxZC4yW0NdIC0+IEdTSSAxOCAobGV2ZWwsIGxvdykgLT4gSVJRIDE4ClBD
STogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFkLjIgdG8gNjQKdWhj
aV9oY2QgMDAwMDowMDoxZC4yOiBVSENJIEhvc3QgQ29udHJvbGxlcgp1aGNpX2hjZCAwMDAwOjAw
OjFkLjI6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgNAp1aGNp
X2hjZCAwMDAwOjAwOjFkLjI6IGlycSAxOCwgaW8gYmFzZSAweDAwMDAxODQwCnVzYiB1c2I0OiBj
b25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiA0LTA6MS4wOiBVU0IgaHVi
IGZvdW5kCmh1YiA0LTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkCnVzYiAxLTU6IG5ldyBoaWdoIHNw
ZWVkIFVTQiBkZXZpY2UgdXNpbmcgZWhjaV9oY2QgYW5kIGFkZHJlc3MgMgpBQ1BJOiBQQ0kgSW50
ZXJydXB0IDAwMDA6MDA6MWQuM1tEXSAtPiBHU0kgMTkgKGxldmVsLCBsb3cpIC0+IElSUSAxOQpQ
Q0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDowMDoxZC4zIHRvIDY0CnVo
Y2lfaGNkIDAwMDA6MDA6MWQuMzogVUhDSSBIb3N0IENvbnRyb2xsZXIKdWhjaV9oY2QgMDAwMDow
MDoxZC4zOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDUKdWhj
aV9oY2QgMDAwMDowMDoxZC4zOiBpcnEgMTksIGlvIGJhc2UgMHgwMDAwMTg2MAp1c2IgdXNiNTog
Y29uZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQpodWIgNS0wOjEuMDogVVNCIGh1
YiBmb3VuZApodWIgNS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZAp1c2IgMS01OiBjb25maWd1cmF0
aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiAxLTU6MS4wOiBVU0IgaHViIGZvdW5kCmh1
YiAxLTU6MS4wOiAyIHBvcnRzIGRldGVjdGVkCnVzYiA0LTI6IG5ldyBmdWxsIHNwZWVkIFVTQiBk
ZXZpY2UgdXNpbmcgdWhjaV9oY2QgYW5kIGFkZHJlc3MgMgp1c2IgNC0yOiBjb25maWd1cmF0aW9u
ICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFj
ZSBkcml2ZXIgdXNibHAKZHJpdmVycy91c2IvY2xhc3MvdXNibHAuYzogdjAuMTM6IFVTQiBQcmlu
dGVyIERldmljZSBDbGFzcyBkcml2ZXIKSW5pdGlhbGl6aW5nIFVTQiBNYXNzIFN0b3JhZ2UgZHJp
dmVyLi4uCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiLXN0b3Jh
Z2UKVVNCIE1hc3MgU3RvcmFnZSBzdXBwb3J0IHJlZ2lzdGVyZWQuCnVzYmNvcmU6IHJlZ2lzdGVy
ZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiaGlkCmRyaXZlcnMvdXNiL2lucHV0L2hpZC1jb3Jl
LmM6IHYyLjY6VVNCIEhJRCBjb3JlIGRyaXZlcgp1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRl
cmZhY2UgZHJpdmVyIHVzYnNlcmlhbApkcml2ZXJzL3VzYi9zZXJpYWwvdXNiLXNlcmlhbC5jOiBV
U0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgZ2VuZXJpYwp1c2Jjb3JlOiByZWdpc3Rl
cmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYnNlcmlhbF9nZW5lcmljCmRyaXZlcnMvdXNiL3Nl
cmlhbC91c2Itc2VyaWFsLmM6IFVTQiBTZXJpYWwgRHJpdmVyIGNvcmUKUE5QOiBQUy8yIENvbnRy
b2xsZXIgW1BOUDAzMDM6S0JELFBOUDBmMTM6TU9VXSBhdCAweDYwLDB4NjQgaXJxIDEsMTIKc2Vy
aW86IGk4MDQyIEtCRCBwb3J0IGF0IDB4NjAsMHg2NCBpcnEgMQpzZXJpbzogaTgwNDIgQVVYIHBv
cnQgYXQgMHg2MCwweDY0IGlycSAxMgptaWNlOiBQUy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9y
IGFsbCBtaWNlCmlucHV0OiBBVCBUcmFuc2xhdGVkIFNldCAyIGtleWJvYXJkIGFzIC9jbGFzcy9p
bnB1dC9pbnB1dDMKc2RoY2k6IFNlY3VyZSBEaWdpdGFsIEhvc3QgQ29udHJvbGxlciBJbnRlcmZh
Y2UgZHJpdmVyCnNkaGNpOiBDb3B5cmlnaHQoYykgUGllcnJlIE9zc21hbgpzZGhjaTogU0RIQ0kg
Y29udHJvbGxlciBmb3VuZCBhdCAwMDAwOjE1OjAwLjMgWzEwNGM6ODAzY10gKHJldiAwKQpzZGhj
aSBbc2RoY2lfcHJvYmUoKV06IGZvdW5kIDEgc2xvdChzKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IDAw
MDA6MTU6MDAuM1tBXSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAxNgpzZGhjaSBbc2Ro
Y2lfcHJvYmVfc2xvdCgpXTogc2xvdCAwIGF0IDB4ZTQzMDI4MDAsIGlycSAxNgpQQ0k6IFNldHRp
bmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDoxNTowMC4zIHRvIDY0CnNkaGNpOiA9PT09
PT09PT09PT09PSBSRUdJU1RFUiBEVU1QID09PT09PT09PT09PT09CnNkaGNpOiBTeXMgYWRkcjog
MHgwMDAwMDAwMCB8IFZlcnNpb246ICAweDAwMDA4OTAwCnNkaGNpOiBCbGsgc2l6ZTogMHgwMDAw
MDAwMCB8IEJsayBjbnQ6ICAweDAwMDAwMDAwCnNkaGNpOiBBcmd1bWVudDogMHgwMDAwMDAwMCB8
IFRybiBtb2RlOiAweDAwMDAwMDAwCnNkaGNpOiBQcmVzZW50OiAgMHgwMDBhMDAwMCB8IEhvc3Qg
Y3RsOiAweDAwMDAwMDAwCnNkaGNpOiBQb3dlcjogICAgMHgwMDAwMDAwMCB8IEJsayBnYXA6ICAw
eDAwMDAwMDAwCnNkaGNpOiBXYWtlLXVwOiAgMHgwMDAwMDAwMCB8IENsb2NrOiAgICAweDAwMDAw
MDAwCnNkaGNpOiBUaW1lb3V0OiAgMHgwMDAwMDAwMCB8IEludCBzdGF0OiAweDAwMDAwMDAwCnNk
aGNpOiBJbnQgZW5hYjogMHgwMGZmMDBmYiB8IFNpZyBlbmFiOiAweDAwZmYwMGZiCnNkaGNpOiBB
QzEyIGVycjogMHgwMDAwMDAwMCB8IFNsb3QgaW50OiAweDAwMDAwMDAwCnNkaGNpOiBDYXBzOiAg
ICAgMHgwMWUwMzBiMCB8IE1heCBjdXJyOiAweDAwMDAwMDdkCnNkaGNpOiA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cm1tYzA6IGNsb2NrIDBIeiBidXNtb2RlIDEg
cG93ZXJtb2RlIDAgY3MgMCBWZGQgMCB3aWR0aCAwIHRpbWluZyAwCm1tYzA6IFNESENJIGF0IDB4
ZTQzMDI4MDAgaXJxIDE2IERNQQptbWMwOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAx
IGNzIDAgVmRkIDIxIHdpZHRoIDAgdGltaW5nIDAKb3Byb2ZpbGU6IHVzaW5nIE5NSSBpbnRlcnJ1
cHQuCm1tYzA6IGNsb2NrIDE4NzUwMEh6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMiBjcyAwIFZkZCAy
MSB3aWR0aCAwIHRpbWluZyAwClRDUCBjdWJpYyByZWdpc3RlcmVkCk5FVDogUmVnaXN0ZXJlZCBw
cm90b2NvbCBmYW1pbHkgMQpORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDEwCklQdjYg
b3ZlciBJUHY0IHR1bm5lbGluZyBkcml2ZXIKTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWls
eSAxNwppZWVlODAyMTE6IDgwMi4xMSBkYXRhL21hbmFnZW1lbnQvY29udHJvbCBzdGFjaywgZ2l0
LTEuMS4xMwppZWVlODAyMTE6IENvcHlyaWdodCAoQykgMjAwNC0yMDA1IEludGVsIENvcnBvcmF0
aW9uIDxqa2V0cmVub0BsaW51eC5pbnRlbC5jb20+Cm1tYzA6IGNsb2NrIDE4NzUwMEh6IGJ1c21v
ZGUgMSBwb3dlcm1vZGUgMiBjcyAxIFZkZCAyMSB3aWR0aCAwIHRpbWluZyAwCm1tYzA6IHN0YXJ0
aW5nIENNRDAgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDQwCnNkaGNpIFtzZGhjaV90YXNrbGV0
X2ZpbmlzaCgpXTogRW5kaW5nIHJlcXVlc3QsIGNtZCAoMCkKbW1jMDogcmVxIGRvbmUgKENNRDAp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKbW1jMDogY2xvY2sg
MTg3NTAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAyIGNzIDAgVmRkIDIxIHdpZHRoIDAgdGltaW5n
IDAKbW1jMDogc3RhcnRpbmcgQ01EOCBhcmcgMDAwMDAxYWEgZmxhZ3MgMDAwMDAwNzUKc2RoY2kg
W3NkaGNpX3Rhc2tsZXRfZmluaXNoKCldOiBFbmRpbmcgcmVxdWVzdCwgY21kICg4KQptbWMwOiBy
ZXEgZG9uZSAoQ01EOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAptbWMwOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKc2RoY2kg
W3NkaGNpX3Rhc2tsZXRfZmluaXNoKCldOiBFbmRpbmcgcmVxdWVzdCwgY21kICgzNykKbW1jMDog
cmVxIGRvbmUgKENNRDU1KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCm1tYzA6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDAxNQpzZGhj
aSBbc2RoY2lfdGFza2xldF9maW5pc2goKV06IEVuZGluZyByZXF1ZXN0LCBjbWQgKDM3KQptbWMw
OiByZXEgZG9uZSAoQ01ENTUpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKbW1jMDogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDE1CnNk
aGNpIFtzZGhjaV90YXNrbGV0X2ZpbmlzaCgpXTogRW5kaW5nIHJlcXVlc3QsIGNtZCAoMzcpCm1t
YzA6IHJlcSBkb25lIChDTUQ1NSk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAptbWMwOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUK
c2RoY2kgW3NkaGNpX3Rhc2tsZXRfZmluaXNoKCldOiBFbmRpbmcgcmVxdWVzdCwgY21kICgzNykK
bW1jMDogcmVxIGRvbmUgKENNRDU1KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCm1tYzA6IHN0YXJ0aW5nIENNRDEgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDYx
CnNkaGNpIFtzZGhjaV90YXNrbGV0X2ZpbmlzaCgpXTogRW5kaW5nIHJlcXVlc3QsIGNtZCAoMSkK
bW1jMDogcmVxIGRvbmUgKENNRDEpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKbW1jMDogY2xvY2sgMEh6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMCBjcyAwIFZkZCAw
IHdpZHRoIDAgdGltaW5nIDAKaWVlZTgwMjExX2NyeXB0OiByZWdpc3RlcmVkIGFsZ29yaXRobSAn
TlVMTCcKaWVlZTgwMjExX2NyeXB0OiByZWdpc3RlcmVkIGFsZ29yaXRobSAnV0VQJwppZWVlODAy
MTFfY3J5cHQ6IHJlZ2lzdGVyZWQgYWxnb3JpdGhtICdDQ01QJwpTeW5hcHRpY3MgVG91Y2hwYWQs
IG1vZGVsOiAxLCBmdzogNi4yLCBpZDogMHg4MWEwYjEsIGNhcHM6IDB4YTA0NzkzLzB4MzAwMDAw
CnNlcmlvOiBTeW5hcHRpY3MgcGFzcy10aHJvdWdoIHBvcnQgYXQgaXNhMDA2MC9zZXJpbzEvaW5w
dXQwCmlucHV0OiBTeW5QUy8yIFN5bmFwdGljcyBUb3VjaFBhZCBhcyAvY2xhc3MvaW5wdXQvaW5w
dXQ0CklCTSBUcmFja1BvaW50IGZpcm13YXJlOiAweDBlLCBidXR0b25zOiAzLzMKaW5wdXQ6IFRQ
UFMvMiBJQk0gVHJhY2tQb2ludCBhcyAvY2xhc3MvaW5wdXQvaW5wdXQ1Cmtqb3VybmFsZCBzdGFy
dGluZy4gIENvbW1pdCBpbnRlcnZhbCA1IHNlY29uZHMKRVhUMy1mczogbW91bnRlZCBmaWxlc3lz
dGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuClZGUzogTW91bnRlZCByb290IChleHQzIGZpbGVz
eXN0ZW0pIHJlYWRvbmx5LgpGcmVlaW5nIHVudXNlZCBrZXJuZWwgbWVtb3J5OiAzMjhrIGZyZWVk
CkVYVDMgRlMgb24gc2RhMywgaW50ZXJuYWwgam91cm5hbApOVEZTIHZvbHVtZSB2ZXJzaW9uIDMu
MS4KTlRGUy1mcyB3YXJuaW5nIChkZXZpY2Ugc2RhMSk6IGxvYWRfc3lzdGVtX2ZpbGVzKCk6IFVu
c3VwcG9ydGVkIHZvbHVtZSBmbGFncyAweDQwMDAgZW5jb3VudGVyZWQuCk5URlMtZnMgZXJyb3Ig
KGRldmljZSBzZGExKTogbG9hZF9zeXN0ZW1fZmlsZXMoKTogVm9sdW1lIGhhcyB1bnN1cHBvcnRl
ZCBmbGFncyBzZXQuICBNb3VudGluZyByZWFkLW9ubHkuICBSdW4gY2hrZHNrIGFuZCBtb3VudCBp
biBXaW5kb3dzLgpOVEZTLWZzIHdhcm5pbmcgKGRldmljZSBzZGExKTogbG9hZF9zeXN0ZW1fZmls
ZXMoKTogJExvZ0ZpbGUgaXMgbm90IGNsZWFuLiAgV2lsbCBub3QgYmUgYWJsZSB0byByZW1vdW50
IHJlYWQtd3JpdGUuICBNb3VudCBpbiBXaW5kb3dzLgpBZGRpbmcgMzkwMjIzNmsgc3dhcCBvbiAv
ZGV2L3NkYTQuICBQcmlvcml0eTotMSBleHRlbnRzOjEgYWNyb3NzOjM5MDIyMzZrCkFDUEk6IFBD
SSBJbnRlcnJ1cHQgMDAwMDowMDoxYi4wW0JdIC0+IEdTSSAxNyAobGV2ZWwsIGxvdykgLT4gSVJR
IDE3ClBDSTogU2V0dGluZyBsYXRlbmN5IHRpbWVyIG9mIGRldmljZSAwMDAwOjAwOjFiLjAgdG8g
NjQK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>114320</attachid>
            <date>2007-03-25 05:39 0000</date>
            <desc>diff between dmesg before and after card insertion, kernel 2.6.21-rc4</desc>
            <filename>dmesg_21.diff</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIGRtZXNnXzIxX25vY2FyZAkyMDA3LTAzLTI1IDE1OjAwOjI1LjAwMDAwMDAwMCArMDkzMAor
KysgZG1lc2dfMjFfY2FyZAkyMDA3LTAzLTI1IDE1OjAwOjQ5LjAwMDAwMDAwMCArMDkzMApAQCAt
NDk2LDMgKzQ5NiwyOTQwIEBACiBBZGRpbmcgMzkwMjIzNmsgc3dhcCBvbiAvZGV2L3NkYTQuICBQ
cmlvcml0eTotMSBleHRlbnRzOjEgYWNyb3NzOjM5MDIyMzZrCiBBQ1BJOiBQQ0kgSW50ZXJydXB0
IDAwMDA6MDA6MWIuMFtCXSAtPiBHU0kgMTcgKGxldmVsLCBsb3cpIC0+IElSUSAxNwogUENJOiBT
ZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWIuMCB0byA2NAordGlmbV83
eHgxOiBzZCBjYXJkIGRldGVjdGVkIGluIHNvY2tldCAxCittbWMxOiBjbG9jayAwSHogYnVzbW9k
ZSAxIHBvd2VybW9kZSAwIGNzIDAgVmRkIDAgd2lkdGggMCB0aW1pbmcgMAordGlmbV9zZCB0aWZt
X3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAwCittbWMxOiBjbG9jayAwSHogYnVz
bW9kZSAxIHBvd2VybW9kZSAxIGNzIDAgVmRkIDIxIHdpZHRoIDAgdGltaW5nIDAKK3RpZm1fc2Qg
dGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMQorbW1jMTogY2xvY2sgMzMz
MzMzSHogYnVzbW9kZSAxIHBvd2VybW9kZSAyIGNzIDAgVmRkIDIxIHdpZHRoIDAgdGltaW5nIDAK
K3RpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMgorbW1jMTog
Y2xvY2sgMzMzMzMzSHogYnVzbW9kZSAxIHBvd2VybW9kZSAyIGNzIDEgVmRkIDIxIHdpZHRoIDAg
dGltaW5nIDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIg
MgorbW1jMTogc3RhcnRpbmcgQ01EMCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNDAKK3RpZm1f
c2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDAsIGFyZzogMHgwLCBtYXNrOiAweDQw
Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6
IHJlcSBkb25lIChDTUQwKTogMC8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMCBWZGQg
MjEgd2lkdGggMCB0aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0
aCAwLCBwb3dlciAyCittbWMxOiBzdGFydGluZyBDTUQ4IGFyZyAwMDAwMDFhYSBmbGFncyAwMDAw
MDA3NQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4OCwgYXJnOiAweDFh
YSwgbWFzazogMHgxMTQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgwLCBmaWZv
X3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01EOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZs
YWdzIDAwMDAwMDE1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywg
YXJnOiAweDAsIG1hc2s6IDB4MjE0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA0
MDAwLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDA0MDAx
MjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAw
MDAwMDAwMCBmbGFncyAwMDAwMDA2MQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bj
b2RlIDB4MjksIGFyZzogMHgwLCBtYXNrOiAweDEzNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9z
dF9zdGF0dXMgMTAwMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDQxKTogMC8w
LzA6IDAwZmY4MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBjbG9jayAzMzMz
MzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMCBWZGQgMjAgd2lkdGggMCB0aW1pbmcgMAor
dGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAyCittbWMxOiBj
bG9jayAzMzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMSBWZGQgMjAgd2lkdGggMCB0
aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAy
CittbWMxOiBzdGFydGluZyBDTUQwIGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDA0MAordGlmbV9z
ZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MCwgYXJnOiAweDAsIG1hc2s6IDB4NDAK
K3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTog
cmVxIGRvbmUgKENNRDApOiAwLzAvMDogMDBmZjgwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMiBjcyAwIFZkZCAy
MCB3aWR0aCAwIHRpbWluZyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRo
IDAsIHBvd2VyIDIKK21tYzE6IHN0YXJ0aW5nIENNRDggYXJnIDAwMDAwMWFhIGZsYWdzIDAwMDAw
MDc1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHg4LCBhcmc6IDB4MWFh
LCBtYXNrOiAweDExNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgODAsIGZpZm9f
c3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ4KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxh
Z3MgMDAwMDAwMTUKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDM3LCBh
cmc6IDB4MCwgbWFzazogMHgyMTQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDQw
MDAsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ1NSk6IDAvMC8wOiAwMDQwMDEy
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENDEgYXJnIDAw
MzAwMDAwIGZsYWdzIDAwMDAwMDYxCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNv
ZGUgMHgyOSwgYXJnOiAweDMwMDAwMCwgbWFzazogMHgxMzQwCit0aWZtX3NkIHRpZm1fc2QwOjE6
IGhvc3Rfc3RhdHVzIDEwMDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ0MSk6
IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRp
bmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDE1Cit0aWZtX3NkIHRpZm1fc2QwOjE6
IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAweDAsIG1hc2s6IDB4MjE0MAordGlmbV9zZCB0
aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAo
Q01ENTUpOiAwLzAvMDogMDAwMDAxMjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6
IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDMwMDAwMCBmbGFncyAwMDAwMDA2MQordGlmbV9zZCB0aWZt
X3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MjksIGFyZzogMHgzMDAwMDAsIG1hc2s6IDB4MTM0
MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0YXR1cyAwCitt
bWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogMDBmZjgwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDAx
NQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MzcsIGFyZzogMHgwLCBt
YXNrOiAweDIxNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0
dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDU1KTogMC8wLzA6IDAwMDAwMTIwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQ0MSBhcmcgMDAzMDAwMDAgZmxhZ3Mg
MDAwMDAwNjEKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDI5LCBhcmc6
IDB4MzAwMDAwLCBtYXNrOiAweDEzNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMg
MTAwMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDQxKTogMC8wLzA6IDAwZmY4
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQ1NSBhcmcg
MDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9w
Y29kZSAweDM3LCBhcmc6IDB4MCwgbWFzazogMHgyMTQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhv
c3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ1NSk6IDAvMC8w
OiAwMDAwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01E
NDEgYXJnIDAwMzAwMDAwIGZsYWdzIDAwMDAwMDYxCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1
dGluZyBvcGNvZGUgMHgyOSwgYXJnOiAweDMwMDAwMCwgbWFzazogMHgxMzQwCit0aWZtX3NkIHRp
Zm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEwMDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25l
IChDTUQ0MSk6IDAvMC8wOiAwMGZmODAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
MTogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDE1Cit0aWZtX3NkIHRp
Zm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAweDAsIG1hc2s6IDB4MjE0MAor
dGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCittbWMxOiBy
ZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDAwMDAxMjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tYzE6IHN0YXJ0aW5nIENNRDQxIGFyZyAwMDMwMDAwMCBmbGFncyAwMDAwMDA2MQordGlm
bV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MjksIGFyZzogMHgzMDAwMDAsIG1h
c2s6IDB4MTM0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0
YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogMDBmZjgwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDU1IGFyZyAwMDAwMDAwMCBmbGFn
cyAwMDAwMDAxNQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MzcsIGFy
ZzogMHgwLCBtYXNrOiAweDIxNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwg
Zmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDU1KTogMC8wLzA6IDAwMDAwMTIwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQ0MSBhcmcgMDAzMDAw
MDAgZmxhZ3MgMDAwMDAwNjEKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAw
eDI5LCBhcmc6IDB4MzAwMDAwLCBtYXNrOiAweDEzNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9z
dF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDQxKTogMC8wLzA6
IDgwZmY4MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQy
IGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDA2NwordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRp
bmcgb3Bjb2RlIDB4MiwgYXJnOiAweDAsIG1hc2s6IDB4MTI0MAordGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01EMik6IDAv
MC8wOiAxMzRiNDc1MyA0NDMwMzYzNCAxMGEwMTY0ZSBkYzAwNjQwZgorbW1jMTogc3RhcnRpbmcg
Q01EMyBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNzUKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhl
Y3V0aW5nIG9wY29kZSAweDMsIGFyZzogMHgwLCBtYXNrOiAweDExNDAKK3RpZm1fc2QgdGlmbV9z
ZDA6MTogaG9zdF9zdGF0dXMgNDAwMCwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENN
RDMpOiAwLzAvMDogYjM2ODA1MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0
YXJ0aW5nIENNRDIgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDY3Cit0aWZtX3NkIHRpZm1fc2Qw
OjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyLCBhcmc6IDB4MCwgbWFzazogMHgxMjQwCit0aWZtX3Nk
IHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgwLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9u
ZSAoQ01EMik6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAordGlm
bV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MiwgYXJnOiAweDAsIG1hc2s6IDB4
MTI0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA4MCwgZmlmb19zdGF0dXMgMAor
bW1jMTogcmVxIGRvbmUgKENNRDIpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDIsIGFyZzog
MHgwLCBtYXNrOiAweDEyNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgODAsIGZp
Zm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQyKTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNv
ZGUgMHgyLCBhcmc6IDB4MCwgbWFzazogMHgxMjQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rf
c3RhdHVzIDgwLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01EMik6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogY2xvY2sgMzMzMzMzSHog
YnVzbW9kZSAyIHBvd2VybW9kZSAyIGNzIDAgVmRkIDIwIHdpZHRoIDAgdGltaW5nIDAKK3RpZm1f
c2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMgorbW1jMTogc3RhcnRp
bmcgQ01EOSBhcmcgYjM2ODAwMDAgZmxhZ3MgMDAwMDAwMDcKK3RpZm1fc2QgdGlmbV9zZDA6MTog
ZXhlY3V0aW5nIG9wY29kZSAweDksIGFyZzogMHhiMzY4MDAwMCwgbWFzazogMHgyMjAwCit0aWZt
X3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBk
b25lIChDTUQ5KTogMC8wLzA6IDAwNWUwMDMyIDVmNTk4M2JkIGVkYjViZjgxIDk2NDAwMGE3Citt
bWMxOiBzdGFydGluZyBDTUQ3IGFyZyBiMzY4MDAwMCBmbGFncyAwMDAwMDAxNQordGlmbV9zZCB0
aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4NywgYXJnOiAweGIzNjgwMDAwLCBtYXNrOiAw
eDIxMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAor
bW1jMTogcmVxIGRvbmUgKENNRDcpOiAwLzAvMDogMDAwMDA3MDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMiBwb3dlcm1vZGUgMiBjcyAw
IFZkZCAyMCB3aWR0aCAwIHRpbWluZyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVz
IHdpZHRoIDAsIHBvd2VyIDIKK21tYzE6IHN0YXJ0aW5nIENNRDU1IGFyZyBiMzY4MDAwMCBmbGFn
cyAwMDAwMDAxNQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MzcsIGFy
ZzogMHhiMzY4MDAwMCwgbWFzazogMHgyMTAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3Rh
dHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ1NSk6IDAvMC8wOiAwMDAw
MDkyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENTEgYXJn
IDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IHNldHRpbmcgZG1h
IGZvciAxIGJsb2NrcwordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MzMs
IGFyZzogMHgwLCBtYXNrOiAweGIxMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMg
MSwgZmlmb19zdGF0dXMgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAwLCBmaWZv
X3N0YXR1cyAxCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgsIGZpZm9fc3RhdHVz
IDAKK21tYzE6IHJlcSBkb25lIChDTUQ1MSk6IDAvMC8wOiAwMDAwMDkyMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENyBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAw
MDAwMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDcsIGFyZzogMHgw
LCBtYXNrOiAweDIwMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19z
dGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDcpOiAwLzAvMDogMDAwMDA5MjAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHNlbGVjdGVkIDI0LjAwME1IeiB0cmFuc2ZlciByYXRl
CittbWMxOiBjbG9jayAyNDAwMDAwMEh6IGJ1c21vZGUgMiBwb3dlcm1vZGUgMiBjcyAwIFZkZCAy
MCB3aWR0aCAwIHRpbWluZyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRo
IDAsIHBvd2VyIDIKK21tYzE6IHN0YXJ0aW5nIENNRDcgYXJnIGIzNjgwMDAwIGZsYWdzIDAwMDAw
MDE1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHg3LCBhcmc6IDB4YjM2
ODAwMDAsIG1hc2s6IDB4MjEwMAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxLCBm
aWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENyk6IDAvMC8wOiAwMDAwMDcwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIGIzNjgwMDAw
IGZsYWdzIDAwMDAwMDE1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgz
NywgYXJnOiAweGIzNjgwMDAwLCBtYXNrOiAweDIxMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9z
dF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDU1KTogMC8wLzA6
IDAwMDAwOTIwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQ2
IGFyZyAwMDAwMDAwMiBmbGFncyAwMDAwMDAxNQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRp
bmcgb3Bjb2RlIDB4NiwgYXJnOiAweDIsIG1hc2s6IDB4MjEwMAordGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENik6IDAv
MC8wOiAwMDAwMDkyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogY2xvY2sgMjQw
MDAwMDBIeiBidXNtb2RlIDIgcG93ZXJtb2RlIDIgY3MgMCBWZGQgMjAgd2lkdGggMiB0aW1pbmcg
MAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAyLCBwb3dlciAyCittbWMx
OiBzdGFydGluZyBDTUQxNiBhcmcgMDAwMDAyMDAgZmxhZ3MgMDAwMDAwMTUKK3RpZm1fc2QgdGlm
bV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDEwLCBhcmc6IDB4MjAwLCBtYXNrOiAweDIxMDAK
K3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTog
cmVxIGRvbmUgKENNRDE2KTogMC8wLzA6IDAwMDAwOTAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBtbWMxOmIzNjggU0QwNjQgNjEzMTJLaUIgCisgbW1jYmxrMDo8Nz5tbWMx
OiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK3RpZm1fc2QgdGlm
bV9zZDA6MTogc2V0dGluZyBkbWEgZm9yIDggYmxvY2tzCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4
ZWN1dGluZyBvcGNvZGUgMHgxMiwgYXJnOiAweDAsIG1hc2s6IDB4YjEwMAordGlmbV9zZCB0aWZt
X3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6
IGV4ZWN1dGluZyBvcGNvZGUgMHhjLCBhcmc6IDB4MCwgbWFzazogMHgyOTAwCit0aWZtX3NkIHRp
Zm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgsIGZpZm9fc3RhdHVzIDEKK3RpZm1fc2QgdGlmbV9zZDA6
MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDE4KTog
MC8wLzA6IDAwMDAwOTAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCisgcDEKK21tYzE6IHN0
YXJ0aW5nIENNRDE4IGFyZyAwM2JkMDAwMCBmbGFncyAwMDAwMDAzNQordGlmbV9zZCB0aWZtX3Nk
MDoxOiBzZXR0aW5nIGRtYSBmb3IgOCBibG9ja3MKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0
aW5nIG9wY29kZSAweDEyLCBhcmc6IDB4M2JkMDAwMCwgbWFzazogMHhiMTAwCit0aWZtX3NkIHRp
Zm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK3RpZm1fc2QgdGlmbV9zZDA6
MTogZXhlY3V0aW5nIG9wY29kZSAweGMsIGFyZzogMHgwLCBtYXNrOiAweDI5MDAKK3RpZm1fc2Qg
dGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgOCwgZmlmb19zdGF0dXMgMQordGlmbV9zZCB0aWZtX3Nk
MDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01EMTgp
OiAwLzAvMDogMDAwMDA5MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0
aW5nIENNRDE4IGFyZyAwM2JkZjAwMCBmbGFncyAwMDAwMDAzNQordGlmbV9zZCB0aWZtX3NkMDox
OiBzZXR0aW5nIGRtYSBmb3IgOCBibG9ja3MKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5n
IG9wY29kZSAweDEyLCBhcmc6IDB4M2JkZjAwMCwgbWFzazogMHhiMTAwCit0aWZtX3NkIHRpZm1f
c2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK3RpZm1fc2QgdGlmbV9zZDA6MTog
ZXhlY3V0aW5nIG9wY29kZSAweGMsIGFyZzogMHgwLCBtYXNrOiAweDI5MDAKK3RpZm1fc2QgdGlm
bV9zZDA6MTogaG9zdF9zdGF0dXMgOCwgZmlmb19zdGF0dXMgMQordGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyA0MDAwLCBmaWZvX3N0YXR1cyAwCit0aWZtX3NkOiBjYXJkIGZhaWxlZCB0
byByZXNwb25kIGZvciBhIGxvbmcgcGVyaW9kIG9mIHRpbWU8Nz5tbWMxOiByZXEgZG9uZSAoQ01E
MTgpOiAwLzAvMDogMDAwMDA5MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK3RpZm1fN3h4
MTogZGVtYW5kIHJlbW92aW5nIGNhcmQgZnJvbSBzb2NrZXQgMQorbW1jMTogc3RhcnRpbmcgQ01E
MTggYXJnIDAzYmQ4MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgMTIyNTYwCitCdWZmZXIgSS9PIGVycm9yIG9uIGRldmljZSBtbWNi
bGswLCBsb2dpY2FsIGJsb2NrIDE1MzIwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDNiZDgw
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciAxMjI1NjAKK0J1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1tY2JsazAsIGxvZ2ljYWwg
YmxvY2sgMTUzMjAKK21tYzE6IHN0YXJ0aW5nIENNRDE4IGFyZyAwM2JkZTAwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE4KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYwOAor
QnVmZmVyIEkvTyBlcnJvciBvbiBkZXZpY2UgbW1jYmxrMCwgbG9naWNhbCBibG9jayAxNTMyNgor
bW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAzYmRlMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjA4CitCdWZmZXIgSS9PIGVy
cm9yIG9uIGRldmljZSBtbWNibGswLCBsb2dpY2FsIGJsb2NrIDE1MzI2CittbWMxOiBzdGFydGlu
ZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
OCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCitCdWZmZXIgSS9PIGVycm9yIG9uIGRldmljZSBtbWNi
bGswLCBsb2dpY2FsIGJsb2NrIDAKK21tYzE6IHN0YXJ0aW5nIENNRDE4IGFyZyAwMDAwMDAwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE4KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDAKK0J1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1tY2JsazAsIGxvZ2ljYWwgYmxvY2sgMAor
bW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorQnVmZmVyIEkvTyBlcnJvciBv
biBkZXZpY2UgbW1jYmxrMCwgbG9naWNhbCBibG9jayAwCittbWMxOiBzdGFydGluZyBDTUQxOCBh
cmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciAwCitCdWZmZXIgSS9PIGVycm9yIG9uIGRldmljZSBtbWNibGswLCBsb2dp
Y2FsIGJsb2NrIDAKK21tYzE6IHN0YXJ0aW5nIENNRDE4IGFyZyAwMDAwMDAwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE4KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDAKK0J1ZmZl
ciBJL08gZXJyb3Igb24gZGV2aWNlIG1tY2JsazAsIGxvZ2ljYWwgYmxvY2sgMAorbW1jMTogc3Rh
cnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorQnVmZmVyIEkvTyBlcnJvciBvbiBkZXZpY2Ug
bW1jYmxrMCwgbG9naWNhbCBibG9jayAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAw
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFy
dGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAw
MDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBz
dGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcg
MDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMx
OiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBh
cmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCitt
bWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQx
OCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAw
CittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBD
TUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGlu
ZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
OCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAw
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFy
dGluZyBDTUQxOCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDAw
MDAwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciAwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiYzRlMDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI0MDcKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JjNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjQwOAorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAzYmM1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgMTIyNDA5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNi
YzU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciAxMjI0MTAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JjNTYwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjQx
MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmM1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNDEyCittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDNiYzVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI0MTMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwM2JjNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDEyMjQxNAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmM0ZTAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
MTIyNDA3CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiYzUwMDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI0MDgKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JjNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjQwOQorbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAzYmM1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgMTIyNDEwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiYzU2
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciAxMjI0MTEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JjNTgwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjQxMgor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmM1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNDEzCittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDNiYzVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI0MTQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
M2JkZWUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDEyMjYxNQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmMDAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIy
NjE2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGYyMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTcKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwM2JkZjQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxOAorbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAzYmRmNjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgMTIyNjE5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGY4MDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciAxMjI2MjAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZmEwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYyMQorbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmYzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjIyCittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDNiZGVlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2Jk
ZjAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDEyMjYxNgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmMjAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjE3
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGY0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTgKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwM2JkZjYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAzYmRmODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgMTIyNjIwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGZhMDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAx
MjI2MjEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZmMwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYyMgorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjIzCittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDNiZGZlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciAxMjI2MjMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZmUw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDEyMjYyMworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmZTAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjIzCitt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGVlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTUKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwM2JkZjAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxNgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAz
YmRmMjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgMTIyNjE3CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGY0MDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2
MTgKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZjYwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxOQorbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAzYmRmODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjIwCittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDNiZGZhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciAxMjI2MjEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZmMwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDEyMjYyMgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmQ3ZTAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNTU5CittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZDgwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI1NjAKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwM2JkODIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjU2MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmQ4
NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgMTIyNTYyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZDg2MDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI1NjMK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkODgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjU2NAorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAzYmQ4YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNTY1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDNiZDhjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciAxMjI1NjYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZGUwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEy
MjYwNworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRlMDAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjA4CittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDNiZGUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MDkKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwM2JkZTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDEyMjYxMAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRlNjAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgMTIyNjExCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGU4MDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTIKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxMworbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAzYmRlYzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjE0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNi
ZGZlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciAxMjI2MjMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZmUwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYy
MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUy
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciA0MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
NDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1
NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5Citt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAw
NWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAw
MDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAw
MDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
MDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAz
OQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU0
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
NDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1
ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQwCitt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAw
NWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAzOQorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0Mgor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVhMDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAw
MDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAw
MDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
MDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0
MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
NDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1
YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCitt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAw
NGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0Mwor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAw
MDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAw
MDA1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
MDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0
MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
NDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1
YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCitt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAw
NTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAw
MDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAw
MDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQw
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
MDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDQ2CittbWMxOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAwIGNzIDAg
VmRkIDAgd2lkdGggMCB0aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3
aWR0aCAwLCBwb3dlciAwCit0aWZtXzd4eDE6IHNkIGNhcmQgZGV0ZWN0ZWQgaW4gc29ja2V0IDEK
K21tYzE6IGNsb2NrIDBIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDAgY3MgMCBWZGQgMCB3aWR0aCAw
IHRpbWluZyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2Vy
IDAKK21tYzE6IGNsb2NrIDBIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDEgY3MgMCBWZGQgMjEgd2lk
dGggMCB0aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBw
b3dlciAxCittbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMCBW
ZGQgMjEgd2lkdGggMCB0aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3
aWR0aCAwLCBwb3dlciAyCittbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2Rl
IDIgY3MgMSBWZGQgMjEgd2lkdGggMCB0aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0
aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAyCittbWMxOiBzdGFydGluZyBDTUQwIGFyZyAwMDAwMDAw
MCBmbGFncyAwMDAwMDA0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4
MCwgYXJnOiAweDAsIG1hc2s6IDB4NDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMg
MSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDApOiAwLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUg
MSBwb3dlcm1vZGUgMiBjcyAwIFZkZCAyMSB3aWR0aCAwIHRpbWluZyAwCit0aWZtX3NkIHRpZm1f
c2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDIKK21tYzE6IHN0YXJ0aW5nIENNRDgg
YXJnIDAwMDAwMWFhIGZsYWdzIDAwMDAwMDc1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGlu
ZyBvcGNvZGUgMHg4LCBhcmc6IDB4MWFhLCBtYXNrOiAweDExNDAKK3RpZm1fc2QgdGlmbV9zZDA6
MTogaG9zdF9zdGF0dXMgODAsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ4KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGlu
ZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwMTUKK3RpZm1fc2QgdGlmbV9zZDA6MTog
ZXhlY3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4MCwgbWFzazogMHgyMTQwCit0aWZtX3NkIHRp
Zm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDQwMDAsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25l
IChDTUQ1NSk6IDAvMC8wOiAwMDQwMDEyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
MTogc3RhcnRpbmcgQ01ENDEgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDYxCit0aWZtX3NkIHRp
Zm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwgYXJnOiAweDAsIG1hc2s6IDB4MTM0MAor
dGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxMDAxLCBmaWZvX3N0YXR1cyAwCittbWMx
OiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogMDBmZjgwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMSBwb3dlcm1vZGUgMiBjcyAwIFZk
ZCAyMCB3aWR0aCAwIHRpbWluZyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRpbmcgYnVzIHdp
ZHRoIDAsIHBvd2VyIDIKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUgMSBwb3dlcm1vZGUg
MiBjcyAxIFZkZCAyMCB3aWR0aCAwIHRpbWluZyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IFNldHRp
bmcgYnVzIHdpZHRoIDAsIHBvd2VyIDIKK21tYzE6IHN0YXJ0aW5nIENNRDAgYXJnIDAwMDAwMDAw
IGZsYWdzIDAwMDAwMDQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgw
LCBhcmc6IDB4MCwgbWFzazogMHg0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAx
LCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01EMCk6IDAvMC8wOiAwMGZmODAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogY2xvY2sgMzMzMzMzSHogYnVzbW9kZSAx
IHBvd2VybW9kZSAyIGNzIDAgVmRkIDIwIHdpZHRoIDAgdGltaW5nIDAKK3RpZm1fc2QgdGlmbV9z
ZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMgorbW1jMTogc3RhcnRpbmcgQ01EOCBh
cmcgMDAwMDAxYWEgZmxhZ3MgMDAwMDAwNzUKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5n
IG9wY29kZSAweDgsIGFyZzogMHgxYWEsIG1hc2s6IDB4MTE0MAordGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyA4MCwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDgpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5n
IENNRDU1IGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDAxNQordGlmbV9zZCB0aWZtX3NkMDoxOiBl
eGVjdXRpbmcgb3Bjb2RlIDB4MzcsIGFyZzogMHgwLCBtYXNrOiAweDIxNDAKK3RpZm1fc2QgdGlm
bV9zZDA6MTogaG9zdF9zdGF0dXMgNDAwMCwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUg
KENNRDU1KTogMC8wLzA6IDAwNDAwMTIwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMx
OiBzdGFydGluZyBDTUQ0MSBhcmcgMDAzMDAwMDAgZmxhZ3MgMDAwMDAwNjEKK3RpZm1fc2QgdGlm
bV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDI5LCBhcmc6IDB4MzAwMDAwLCBtYXNrOiAweDEz
NDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMTAwMSwgZmlmb19zdGF0dXMgMAor
bW1jMTogcmVxIGRvbmUgKENNRDQxKTogMC8wLzA6IDAwZmY4MDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAw
MTUKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4MCwg
bWFzazogMHgyMTQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3Rh
dHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ1NSk6IDAvMC8wOiAwMDAwMDEyMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENDEgYXJnIDAwMzAwMDAwIGZsYWdz
IDAwMDAwMDYxCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwgYXJn
OiAweDMwMDAwMCwgbWFzazogMHgxMzQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVz
IDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ0MSk6IDAvMC8wOiA4MGZmODAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01EMiBhcmcgMDAw
MDAwMDAgZmxhZ3MgMDAwMDAwNjcKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29k
ZSAweDIsIGFyZzogMHgwLCBtYXNrOiAweDEyNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9z
dGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDIpOiAwLzAvMDogMTM0
YjQ3NTMgNDQzMDM2MzQgMTBhMDE2NGUgZGMwMDY0MGYKK21tYzE6IHN0YXJ0aW5nIENNRDMgYXJn
IDAwMDAwMDAwIGZsYWdzIDAwMDAwMDc1Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBv
cGNvZGUgMHgzLCBhcmc6IDB4MCwgbWFzazogMHgxMTQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhv
c3Rfc3RhdHVzIDQwMDAsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQzKTogMC8w
LzA6IGIzNjgwNTAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBD
TUQyIGFyZyAwMDAwMDAwMCBmbGFncyAwMDAwMDA2NwordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVj
dXRpbmcgb3Bjb2RlIDB4MiwgYXJnOiAweDAsIG1hc2s6IDB4MTI0MAordGlmbV9zZCB0aWZtX3Nk
MDoxOiBob3N0X3N0YXR1cyA4MCwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDIp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK3RpZm1fc2QgdGlm
bV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDIsIGFyZzogMHgwLCBtYXNrOiAweDEyNDAKK3Rp
Zm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgODAsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJl
cSBkb25lIChDTUQyKTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyLCBhcmc6IDB4MCwgbWFz
azogMHgxMjQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgwLCBmaWZvX3N0YXR1
cyAwCittbWMxOiByZXEgZG9uZSAoQ01EMik6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4Miwg
YXJnOiAweDAsIG1hc2s6IDB4MTI0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA4
MCwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDIpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IGNsb2NrIDMzMzMzM0h6IGJ1c21vZGUg
MiBwb3dlcm1vZGUgMiBjcyAwIFZkZCAyMCB3aWR0aCAwIHRpbWluZyAwCit0aWZtX3NkIHRpZm1f
c2QwOjE6IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDIKK21tYzE6IHN0YXJ0aW5nIENNRDkg
YXJnIGIzNjgwMDAwIGZsYWdzIDAwMDAwMDA3Cit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGlu
ZyBvcGNvZGUgMHg5LCBhcmc6IDB4YjM2ODAwMDAsIG1hc2s6IDB4MjIwMAordGlmbV9zZCB0aWZt
X3NkMDoxOiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01E
OSk6IDAvMC8wOiAwMDVlMDAzMiA1ZjU5ODNiZCBlZGI1YmY4MSA5NjQwMDBhNworbW1jMTogc3Rh
cnRpbmcgQ01ENyBhcmcgYjM2ODAwMDAgZmxhZ3MgMDAwMDAwMTUKK3RpZm1fc2QgdGlmbV9zZDA6
MTogZXhlY3V0aW5nIG9wY29kZSAweDcsIGFyZzogMHhiMzY4MDAwMCwgbWFzazogMHgyMTAwCit0
aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJl
cSBkb25lIChDTUQ3KTogMC8wLzA6IDAwMDAwNzAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWMxOiBjbG9jayAzMzMzMzNIeiBidXNtb2RlIDIgcG93ZXJtb2RlIDIgY3MgMCBWZGQgMjAg
d2lkdGggMCB0aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAw
LCBwb3dlciAyCittbWMxOiBzdGFydGluZyBDTUQ1NSBhcmcgYjM2ODAwMDAgZmxhZ3MgMDAwMDAw
MTUKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4YjM2
ODAwMDAsIG1hc2s6IDB4MjEwMAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAxLCBm
aWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENTUpOiAwLzAvMDogMDAwMDA5MjAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDUxIGFyZyAwMDAwMDAw
MCBmbGFncyAwMDAwMDAzNQordGlmbV9zZCB0aWZtX3NkMDoxOiBzZXR0aW5nIGRtYSBmb3IgMSBi
bG9ja3MKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDMzLCBhcmc6IDB4
MCwgbWFzazogMHhiMTAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9f
c3RhdHVzIDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMCwgZmlmb19zdGF0dXMg
MQordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA4LCBmaWZvX3N0YXR1cyAwCittbWMx
OiByZXEgZG9uZSAoQ01ENTEpOiAwLzAvMDogMDAwMDA5MjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDcgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDAwCit0
aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHg3LCBhcmc6IDB4MCwgbWFzazog
MHgyMDAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAK
K21tYzE6IHJlcSBkb25lIChDTUQ3KTogMC8wLzA6IDAwMDAwOTIwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWMxOiBzZWxlY3RlZCAyNC4wMDBNSHogdHJhbnNmZXIgcmF0ZQorbW1jMTog
Y2xvY2sgMjQwMDAwMDBIeiBidXNtb2RlIDIgcG93ZXJtb2RlIDIgY3MgMCBWZGQgMjAgd2lkdGgg
MCB0aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dl
ciAyCittbWMxOiBzdGFydGluZyBDTUQ3IGFyZyBiMzY4MDAwMCBmbGFncyAwMDAwMDAxNQordGlm
bV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4NywgYXJnOiAweGIzNjgwMDAwLCBt
YXNrOiAweDIxMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0
dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDcpOiAwLzAvMDogMDAwMDA3MDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tYzE6IHN0YXJ0aW5nIENNRDU1IGFyZyBiMzY4MDAwMCBmbGFncyAw
MDAwMDAxNQordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4MzcsIGFyZzog
MHhiMzY4MDAwMCwgbWFzazogMHgyMTAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVz
IDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ1NSk6IDAvMC8wOiAwMDAwMDky
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENiBhcmcgMDAw
MDAwMDIgZmxhZ3MgMDAwMDAwMTUKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29k
ZSAweDYsIGFyZzogMHgyLCBtYXNrOiAweDIxMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9z
dGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDYpOiAwLzAvMDogMDAw
MDA5MjAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IGNsb2NrIDI0MDAwMDAwSHog
YnVzbW9kZSAyIHBvd2VybW9kZSAyIGNzIDAgVmRkIDIwIHdpZHRoIDIgdGltaW5nIDAKK3RpZm1f
c2QgdGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMiwgcG93ZXIgMgorbW1jMTogc3RhcnRp
bmcgQ01EMTYgYXJnIDAwMDAwMjAwIGZsYWdzIDAwMDAwMDE1Cit0aWZtX3NkIHRpZm1fc2QwOjE6
IGV4ZWN1dGluZyBvcGNvZGUgMHgxMCwgYXJnOiAweDIwMCwgbWFzazogMHgyMTAwCit0aWZtX3Nk
IHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25l
IChDTUQxNik6IDAvMC8wOiAwMDAwMDkwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogbW1jMTpiMzY4IFNEMDY0IDYxMzEyS2lCIAorIG1tY2JsazA6PDc+bW1jMTogc3RhcnRp
bmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1Cit0aWZtX3NkIHRpZm1fc2QwOjE6
IHNldHRpbmcgZG1hIGZvciA4IGJsb2NrcwordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRpbmcg
b3Bjb2RlIDB4MTIsIGFyZzogMHgwLCBtYXNrOiAweGIxMDAKK3RpZm1fc2QgdGlmbV9zZDA6MTog
aG9zdF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBleGVjdXRp
bmcgb3Bjb2RlIDB4YywgYXJnOiAweDAsIG1hc2s6IDB4MjkwMAordGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyA4LCBmaWZvX3N0YXR1cyAxCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rf
c3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQxOCk6IDAvMC8wOiAw
MDAwMDkwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorIHAxCittbWMxOiBzdGFydGluZyBD
TUQxOCBhcmcgMDNiZDAwMDAgZmxhZ3MgMDAwMDAwMzUKK3RpZm1fc2QgdGlmbV9zZDA6MTogc2V0
dGluZyBkbWEgZm9yIDggYmxvY2tzCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNv
ZGUgMHgxMiwgYXJnOiAweDNiZDAwMDAsIG1hc2s6IDB4YjEwMAordGlmbV9zZCB0aWZtX3NkMDox
OiBob3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1
dGluZyBvcGNvZGUgMHhjLCBhcmc6IDB4MCwgbWFzazogMHgyOTAwCit0aWZtX3NkIHRpZm1fc2Qw
OjE6IGhvc3Rfc3RhdHVzIDgsIGZpZm9fc3RhdHVzIDEKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9z
dF9zdGF0dXMgMSwgZmlmb19zdGF0dXMgMAorbW1jMTogcmVxIGRvbmUgKENNRDE4KTogMC8wLzA6
IDAwMDAwOTAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQx
OCBhcmcgMDNiZGYwMDAgZmxhZ3MgMDAwMDAwMzUKK3RpZm1fc2QgdGlmbV9zZDA6MTogc2V0dGlu
ZyBkbWEgZm9yIDggYmxvY2tzCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUg
MHgxMiwgYXJnOiAweDNiZGYwMDAsIG1hc2s6IDB4YjEwMAordGlmbV9zZCB0aWZtX3NkMDoxOiBo
b3N0X3N0YXR1cyAxLCBmaWZvX3N0YXR1cyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGlu
ZyBvcGNvZGUgMHhjLCBhcmc6IDB4MCwgbWFzazogMHgyOTAwCit0aWZtX3NkIHRpZm1fc2QwOjE6
IGhvc3Rfc3RhdHVzIDgsIGZpZm9fc3RhdHVzIDEKK3RpZm1fc2QgdGlmbV9zZDA6MTogaG9zdF9z
dGF0dXMgNDAwMCwgZmlmb19zdGF0dXMgMAordGlmbV9zZDogY2FyZCBmYWlsZWQgdG8gcmVzcG9u
ZCBmb3IgYSBsb25nIHBlcmlvZCBvZiB0aW1lPDc+bW1jMTogcmVxIGRvbmUgKENNRDE4KTogMC8w
LzA6IDAwMDAwOTAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCit0aWZtXzd4eDE6IGRlbWFu
ZCByZW1vdmluZyBjYXJkIGZyb20gc29ja2V0IDEKK21tYzE6IHN0YXJ0aW5nIENNRDE4IGFyZyAw
M2JkODAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE4KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDEyMjU2MAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAzYmQ4MDAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIy
NTYwCittbWMxOiBzdGFydGluZyBDTUQxOCBhcmcgMDNiZGUwMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MDgKK21tYzE6IHN0
YXJ0aW5nIENNRDE4IGFyZyAwM2JkZTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE4KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYwOAorbW1jMTogc3RhcnRpbmcgQ01EMTgg
YXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAor
bW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01E
MTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
MAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcg
Q01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRp
bmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAw
MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3Rh
cnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAw
MDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTog
c3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJn
IDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1j
MTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTgg
YXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAor
bW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01E
MTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
MAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcg
Q01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRp
bmcgQ01EMTggYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTgpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgMAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmM0
ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgMTIyNDA3CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiYzUwMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI0MDgK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JjNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjQwOQorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAzYmM1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNDEwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDNiYzU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciAxMjI0MTEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JjNTgwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEy
MjQxMgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmM1YTAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNDEzCittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDNiYzVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI0MTQKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwM2JjNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDEyMjQwNworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmM1MDAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgMTIyNDA4CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiYzUyMDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI0MDkKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JjNTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjQxMAorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAzYmM1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgMTIyNDExCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNi
YzU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciAxMjI0MTIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JjNWEwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjQx
MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmM1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNDE0CittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDNiZGVlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwM2JkZjAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDEyMjYxNgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmMjAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
MTIyNjE3CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGY0MDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTgKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZjYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxOQorbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAzYmRmODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgMTIyNjIwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGZh
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciAxMjI2MjEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZmMwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYyMgor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRlZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjE1CittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDNiZGYwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
M2JkZjIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDEyMjYxNworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmNDAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIy
NjE4CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGY2MDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTkKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwM2JkZjgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYyMAorbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAzYmRmYTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgMTIyNjIxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGZjMDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciAxMjI2MjIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZmUwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYyMworbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjIzCittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDNiZGZlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MjMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2Jk
ZmUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDEyMjYyMworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRlZTAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjE1
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGYwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTYKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwM2JkZjIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxNworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAzYmRmNDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgMTIyNjE4CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGY2MDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAx
MjI2MTkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZjgwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYyMAorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRmYTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjIxCittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDNiZGZjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciAxMjI2MjIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkN2Uw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDEyMjU1OQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmQ4MDAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNTYwCitt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZDgyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI1NjEKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwM2JkODQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjU2MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAz
YmQ4NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgMTIyNTYzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZDg4MDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI1
NjQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkOGEwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjU2NQorbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAzYmQ4YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNTY2CittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDNiZGRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciAxMjI2MDcKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZTAwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDEyMjYwOAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRlMjAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjA5CittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTAKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwM2JkZTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxMQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAzYmRl
ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgMTIyNjEyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDNiZGVhMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAxMjI2MTMK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwM2JkZWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDEyMjYxNAorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAzYmRmZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgMTIyNjIzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDNiZGZlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciAxMjI2MjMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
MDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0
MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
NDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1
YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCitt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAw
NTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAw
MDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAw
MDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQw
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
MDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAzOQorbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0
MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVh
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
NDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0
ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCitt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAw
NTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAw
MDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAw
MDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQx
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
MDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0
MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVj
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
NDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1
MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0Citt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDM5CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAw
NTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDQyCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0Ngor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwMDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciA0MQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAw
MDU4MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciA0NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDAwMDRlMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgNDMKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAw
MDA1YzAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGlu
ZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGsw
LCBzZWN0b3IgNDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAw
MDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21t
YW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMx
OiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBk
b25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAor
bW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6
IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcg
YXJnIDAwMDA1MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAv
MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEg
c2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBt
bWNibGswLCBzZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFn
cyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0
ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQy
CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6
IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3Jl
cXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcg
Q01EMTcgYXJnIDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcp
OiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVy
cm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3Is
IGRldiBtbWNibGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEw
MCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVh
ZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2Vj
dG9yIDQ1CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUK
K21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAor
ZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3Rh
cnRpbmcgQ01EMTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAo
Q01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2Js
azA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08g
ZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAw
MDAwNTAwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRp
bmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxr
MCwgc2VjdG9yIDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAw
MDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29t
bWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1j
MTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEg
ZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
K21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0
OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3
IGFyZyAwMDAwNTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8w
LzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAx
IHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYg
bW1jYmxrMCwgc2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxh
Z3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3Jp
dGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0
NAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMx
OiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9y
ZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5n
IENNRDE3IGFyZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3
KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBl
cnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9y
LCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRl
MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJl
YWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNl
Y3RvciAzOQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1
CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQK
K2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0
YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUg
KENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNi
bGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9P
IGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcg
MDAwMDU0MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5k
aW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2Js
azAsIHNlY3RvciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAw
MDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNv
bW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21t
YzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVx
IGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
CittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVz
dDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQx
NyBhcmcgMDAwMDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEv
MC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3Ig
MSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2
IG1tY2JsazAsIHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZs
YWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dy
aXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3Ig
NDYKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1j
MTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRf
cmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGlu
ZyBDTUQxNyBhcmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQx
Nyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDog
ZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJv
ciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1
MjAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyBy
ZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBz
ZWN0b3IgNDEKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAz
NQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5k
CitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBz
dGFydGluZyBDTUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25l
IChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1j
YmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkv
TyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJn
IDAwMDA1ODAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDog
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2Vu
ZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNi
bGswLCBzZWN0b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAw
MDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBj
b21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1Citt
bWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJl
cSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVl
c3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogc3RhcnRpbmcgQ01E
MTcgYXJnIDAwMDA0ZTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAx
LzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9y
IDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRl
diBtbWNibGswLCBzZWN0b3IgMzkKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTAwMCBm
bGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93
cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9y
IDQwCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDUyMDAgZmxhZ3MgMDAwMDAwMzUKK21t
YzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5k
X3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0MQorbW1jMTogc3RhcnRp
bmcgQ01EMTcgYXJnIDAwMDA1NDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01E
MTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6
IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJy
b3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDIKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAw
NTYwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcg
cmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwg
c2VjdG9yIDQzCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU4MDAgZmxhZ3MgMDAwMDAw
MzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFu
ZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NAorbW1jMTog
c3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YTAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9u
ZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21t
Y2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJ
L08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDUKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFy
ZyAwMDAwNWMwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNl
bmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1j
YmxrMCwgc2VjdG9yIDQ2CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDRlMDAgZmxhZ3Mg
MDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUg
Y29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAzOQor
bW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MDAwIGZsYWdzIDAwMDAwMDM1CittbWMxOiBy
ZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1
ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDAKK21tYzE6IHN0YXJ0aW5nIENN
RDE3IGFyZyAwMDAwNTIwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENNRDE3KTog
MS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGswOiBlcnJv
ciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVycm9yLCBk
ZXYgbW1jYmxrMCwgc2VjdG9yIDQxCittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAwMDU0MDAg
ZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5nIHJlYWQv
d3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3Rv
ciA0MgorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1NjAwIGZsYWdzIDAwMDAwMDM1Citt
bWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1hbmQKK2Vu
ZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDMKK21tYzE6IHN0YXJ0
aW5nIENNRDE3IGFyZyAwMDAwNTgwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRvbmUgKENN
RDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWNibGsw
OiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDogSS9PIGVy
cm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ0CittbWMxOiBzdGFydGluZyBDTUQxNyBhcmcgMDAw
MDVhMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8wOiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBzZW5kaW5n
IHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAs
IHNlY3RvciA0NQorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1YzAwIGZsYWdzIDAwMDAw
MDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRlIGNvbW1h
bmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDYKK21tYzE6
IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNGUwMCBmbGFncyAwMDAwMDAzNQorbW1jMTogcmVxIGRv
bmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCitt
bWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVxdWVzdDog
SS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDM5CittbWMxOiBzdGFydGluZyBDTUQxNyBh
cmcgMDAwMDUwMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6IDEvMC8w
OiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJyb3IgMSBz
ZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1t
Y2JsazAsIHNlY3RvciA0MAorbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1MjAwIGZsYWdz
IDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFkL3dyaXRl
IGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0b3IgNDEK
K21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNTQwMCBmbGFncyAwMDAwMDAzNQorbW1jMTog
cmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitlbmRfcmVx
dWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQyCittbWMxOiBzdGFydGluZyBD
TUQxNyBhcmcgMDAwMDU2MDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChDTUQxNyk6
IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxrMDogZXJy
b3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBlcnJvciwg
ZGV2IG1tY2JsazAsIHNlY3RvciA0MworbW1jMTogc3RhcnRpbmcgQ01EMTcgYXJnIDAwMDA1ODAw
IGZsYWdzIDAwMDAwMDM1CittbWMxOiByZXEgZG9uZSAoQ01EMTcpOiAxLzAvMDogMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tY2JsazA6IGVycm9yIDEgc2VuZGluZyByZWFk
L3dyaXRlIGNvbW1hbmQKK2VuZF9yZXF1ZXN0OiBJL08gZXJyb3IsIGRldiBtbWNibGswLCBzZWN0
b3IgNDQKK21tYzE6IHN0YXJ0aW5nIENNRDE3IGFyZyAwMDAwNWEwMCBmbGFncyAwMDAwMDAzNQor
bW1jMTogcmVxIGRvbmUgKENNRDE3KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWNibGswOiBlcnJvciAxIHNlbmRpbmcgcmVhZC93cml0ZSBjb21tYW5kCitl
bmRfcmVxdWVzdDogSS9PIGVycm9yLCBkZXYgbW1jYmxrMCwgc2VjdG9yIDQ1CittbWMxOiBzdGFy
dGluZyBDTUQxNyBhcmcgMDAwMDVjMDAgZmxhZ3MgMDAwMDAwMzUKK21tYzE6IHJlcSBkb25lIChD
TUQxNyk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jYmxr
MDogZXJyb3IgMSBzZW5kaW5nIHJlYWQvd3JpdGUgY29tbWFuZAorZW5kX3JlcXVlc3Q6IEkvTyBl
cnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciA0NgorbW1jMTogY2xvY2sgMEh6IGJ1c21vZGUgMSBw
b3dlcm1vZGUgMCBjcyAwIFZkZCAwIHdpZHRoIDAgdGltaW5nIDAKK3RpZm1fc2QgdGlmbV9zZDA6
MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMAordGlmbV83eHgxOiBzZCBjYXJkIGRldGVj
dGVkIGluIHNvY2tldCAxCittbWMxOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAwIGNz
IDAgVmRkIDAgd2lkdGggMCB0aW1pbmcgMAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1
cyB3aWR0aCAwLCBwb3dlciAwCittbWMxOiBjbG9jayAwSHogYnVzbW9kZSAxIHBvd2VybW9kZSAx
IGNzIDAgVmRkIDIxIHdpZHRoIDAgdGltaW5nIDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogU2V0dGlu
ZyBidXMgd2lkdGggMCwgcG93ZXIgMQorbW1jMTogY2xvY2sgMzMzMzMzSHogYnVzbW9kZSAxIHBv
d2VybW9kZSAyIGNzIDAgVmRkIDIxIHdpZHRoIDAgdGltaW5nIDAKK3RpZm1fc2QgdGlmbV9zZDA6
MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMgorbW1jMTogY2xvY2sgMzMzMzMzSHogYnVz
bW9kZSAxIHBvd2VybW9kZSAyIGNzIDEgVmRkIDIxIHdpZHRoIDAgdGltaW5nIDAKK3RpZm1fc2Qg
dGlmbV9zZDA6MTogU2V0dGluZyBidXMgd2lkdGggMCwgcG93ZXIgMgorbW1jMTogc3RhcnRpbmcg
Q01EMCBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAwNDAKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhl
Y3V0aW5nIG9wY29kZSAweDAsIGFyZzogMHgwLCBtYXNrOiAweDQwCit0aWZtX3NkIHRpZm1fc2Qw
OjE6IGhvc3Rfc3RhdHVzIDEsIGZpZm9fc3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQwKTog
MC8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCittbWMxOiBjbG9jayAz
MzMzMzNIeiBidXNtb2RlIDEgcG93ZXJtb2RlIDIgY3MgMCBWZGQgMjEgd2lkdGggMCB0aW1pbmcg
MAordGlmbV9zZCB0aWZtX3NkMDoxOiBTZXR0aW5nIGJ1cyB3aWR0aCAwLCBwb3dlciAyCittbWMx
OiBzdGFydGluZyBDTUQ4IGFyZyAwMDAwMDFhYSBmbGFncyAwMDAwMDA3NQordGlmbV9zZCB0aWZt
X3NkMDoxOiBleGVjdXRpbmcgb3Bjb2RlIDB4OCwgYXJnOiAweDFhYSwgbWFzazogMHgxMTQwCit0
aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDgwLCBmaWZvX3N0YXR1cyAwCittbWMxOiBy
ZXEgZG9uZSAoQ01EOCk6IDEvMC8wOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MAorbW1jMTogc3RhcnRpbmcgQ01ENTUgYXJnIDAwMDAwMDAwIGZsYWdzIDAwMDAwMDE1Cit0aWZt
X3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgzNywgYXJnOiAweDAsIG1hc2s6IDB4
MjE0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyA4MCwgZmlmb19zdGF0dXMgMAor
bW1jMTogcmVxIGRvbmUgKENNRDU1KTogMS8wLzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwCittbWMxOiBzdGFydGluZyBDTUQ1NSBhcmcgMDAwMDAwMDAgZmxhZ3MgMDAwMDAw
MTUKK3RpZm1fc2QgdGlmbV9zZDA6MTogZXhlY3V0aW5nIG9wY29kZSAweDM3LCBhcmc6IDB4MCwg
bWFzazogMHgyMTQwCit0aWZtX3NkIHRpZm1fc2QwOjE6IGhvc3Rfc3RhdHVzIDQwMDAsIGZpZm9f
c3RhdHVzIDAKK21tYzE6IHJlcSBkb25lIChDTUQ1NSk6IDAvMC8wOiAwMDQwMDEyMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMAorbW1jMTogc3RhcnRpbmcgQ01ENDEgYXJnIDAwMDAwMDAwIGZs
YWdzIDAwMDAwMDYxCit0aWZtX3NkIHRpZm1fc2QwOjE6IGV4ZWN1dGluZyBvcGNvZGUgMHgyOSwg
YXJnOiAweDAsIG1hc2s6IDB4MTM0MAordGlmbV9zZCB0aWZtX3NkMDoxOiBob3N0X3N0YXR1cyAx
LCBmaWZvX3N0YXR1cyAwCittbWMxOiByZXEgZG9uZSAoQ01ENDEpOiAwLzAvMDogMDAwMDAxMjAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKK21tYzE6IGNsb2NrIDBIeiBidXNtb2RlIDEgcG93
ZXJtb2RlIDAgY3MgMCBWZGQgMCB3aWR0aCAwIHRpbWluZyAwCit0aWZtX3NkIHRpZm1fc2QwOjE6
IFNldHRpbmcgYnVzIHdpZHRoIDAsIHBvd2VyIDAK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117456</attachid>
            <date>2007-04-27 22:58 0000</date>
            <desc>tifm v0.8d for 2.6.21</desc>
            <filename>tifm.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">dGlmbSB2MC44ZAoKRnJvbSBmb3ItYW5kcmV3IGJyYW5jaCBvZiBtbWMuZ2l0LCBjb21taXRzOgoK
MDY1YjcyY2QwODljNjFhY2NkMjZmMmNkZWFlNzZlNmVlZTcwNTNjYQoyNWRkY2IzMmE4MWMzY2M4
YTAzYjY5NzE3YzdhNzZiNGQ2MDAwYThmCmJiOGUzYTQ3MGM0ZTU2NjYyNTA3NDQzYTk2OTA4YWFi
NTcwMGM0MTYKYzFkM2I3YWUzYTEyZmY1MTJlMjc1ODcxMzZjZjhjNzVmMDVlZmQzOQozZDMwYjk1
YmQ4YjQ4N2QzMmJhYzU2MzZkY2VkMjM2ZDcxYTcwODVmCmFjNDczYzlmNTQ0NDI0NzM3YTZkM2Yx
MTU5YzljY2RkMmEwNzU0OWIKODI5M2Y1NzZiOWI0YTRmODU0NzMxYTQwYjY1NTJhZWM5ZGI1MjRj
Ywo4ZGFkMzJjMWI3MmJmMGU4ZWUwNTFhODkyMTgxZjZkNmNjZTA0YjAzCmI3YjE2ZTg5ZjlkMDVl
ZTc3OGJkNWRkMDVmZGJhMDA2Nzc4MGI3MjYKNDJkMTRmOTdjZTgwZTVhNmZiMDg5ZWU0NmZmMGMz
ODU2M2QzN2M1NwpmNWQxODhiOThjZGIyMGUzOWM3OTc3MDk3ZmQxZjY4NWU4YTZiYmUxCmJhYzQw
ZDc5MWQ4ZGI2MTA1ZDAzMzZjMTA4MGExYWQwNTU1YmQ0ODMKMDVkZjVmMWVmMWFiMWY0MmMzYjI0
NzEyZTNlNjc5NjcyMWZkZmM1MQo5ZmMwZGVmOTNjYTg1OTE3NDgxYjE0YjFlYzU5NDhjMGIyY2Uz
YjhhCmJmM2FlMWU4MWNmZjI5YTZiYTA2YTU3Y2Q4MjEyZTgxNmI4NTI5MTQKMzE3Y2M2OTllYzY4
ZGYxMjZiNDhiMTNhYTI0N2IxZjU3NGIxYWEzNAozZTA3NTFkZDg5YjJhMTMzOGIxZWYyMjBlMTRk
MTg3ZDI3YjhhZDBkCgpJbmRleDogbGludXgtMi42LjIxLWdlbnRvby9kcml2ZXJzL21pc2MvdGlm
bV83eHgxLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gbGludXgtMi42LjIxLWdlbnRvby5vcmlnL2RyaXZlcnMv
bWlzYy90aWZtXzd4eDEuYworKysgbGludXgtMi42LjIxLWdlbnRvby9kcml2ZXJzL21pc2MvdGlm
bV83eHgxLmMKQEAgLTEwLDExICsxMCwyMCBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC90aWZt
Lmg+Ci0jaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9mcmVl
emVyLmg+CiAKICNkZWZpbmUgRFJJVkVSX05BTUUgInRpZm1fN3h4MSIKLSNkZWZpbmUgRFJJVkVS
X1ZFUlNJT04gIjAuNyIKKyNkZWZpbmUgRFJJVkVSX1ZFUlNJT04gIjAuOCIKKworI2RlZmluZSBU
SUZNX0lSUV9FTkFCTEUgICAgICAgICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgVElGTV9JUlFfU09D
S01BU0soeCkgICAgICAoeCkKKyNkZWZpbmUgVElGTV9JUlFfQ0FSRE1BU0soeCkgICAgICAoKHgp
IDw8IDgpCisjZGVmaW5lIFRJRk1fSVJRX0ZJRk9NQVNLKHgpICAgICAgKCh4KSA8PCAxNikKKyNk
ZWZpbmUgVElGTV9JUlFfU0VUQUxMICAgICAgICAgICAweGZmZmZmZmZmCisKK3N0YXRpYyB2b2lk
IHRpZm1fN3h4MV9kdW1teV9lamVjdChzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwKKwkJCQkgIHN0
cnVjdCB0aWZtX2RldiAqc29jaykKK3sKK30KIAogc3RhdGljIHZvaWQgdGlmbV83eHgxX2VqZWN0
KHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtLCBzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spCiB7CkBAIC0y
Miw3ICszMSw3IEBAIHN0YXRpYyB2b2lkIHRpZm1fN3h4MV9lamVjdChzdHJ1Y3QgdGlmbV8KIAog
CXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwogCWZtLT5zb2NrZXRfY2hhbmdl
X3NldCB8PSAxIDw8IHNvY2stPnNvY2tldF9pZDsKLQl3YWtlX3VwX2FsbCgmZm0tPmNoYW5nZV9z
ZXRfbm90aWZ5KTsKKwl0aWZtX3F1ZXVlX3dvcmsoJmZtLT5tZWRpYV9zd2l0Y2hlcik7CiAJc3Bp
bl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKIH0KIApAQCAtMzAsOCArMzks
NyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdGlmbV83eHgxX2lzcihpbnQgaXJxCiB7CiAJc3RydWN0
IHRpZm1fYWRhcHRlciAqZm0gPSBkZXZfaWQ7CiAJc3RydWN0IHRpZm1fZGV2ICpzb2NrOwotCXVu
c2lnbmVkIGludCBpcnFfc3RhdHVzOwotCXVuc2lnbmVkIGludCBzb2NrX2lycV9zdGF0dXMsIGNu
dDsKKwl1bnNpZ25lZCBpbnQgaXJxX3N0YXR1cywgY250OwogCiAJc3Bpbl9sb2NrKCZmbS0+bG9j
ayk7CiAJaXJxX3N0YXR1cyA9IHJlYWRsKGZtLT5hZGRyICsgRk1fSU5URVJSVVBUX1NUQVRVUyk7
CkBAIC00NSwxMiArNTMsMTIgQEAgc3RhdGljIGlycXJldHVybl90IHRpZm1fN3h4MV9pc3IoaW50
IGlycQogCiAJCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRzOyBjbnQrKykgewog
CQkJc29jayA9IGZtLT5zb2NrZXRzW2NudF07Ci0JCQlzb2NrX2lycV9zdGF0dXMgPSAoaXJxX3N0
YXR1cyA+PiBjbnQpCi0JCQkJCSAgJiAoVElGTV9JUlFfRklGT01BU0soMSkKLQkJCQkJICAgICB8
IFRJRk1fSVJRX0NBUkRNQVNLKDEpKTsKLQotCQkJaWYgKHNvY2sgJiYgc29ja19pcnFfc3RhdHVz
KQotCQkJCXNvY2stPnNpZ25hbF9pcnEoc29jaywgc29ja19pcnFfc3RhdHVzKTsKKwkJCWlmIChz
b2NrKSB7CisJCQkJaWYgKChpcnFfc3RhdHVzID4+IGNudCkgJiBUSUZNX0lSUV9GSUZPTUFTSygx
KSkKKwkJCQkJc29jay0+ZGF0YV9ldmVudChzb2NrKTsKKwkJCQlpZiAoKGlycV9zdGF0dXMgPj4g
Y250KSAmIFRJRk1fSVJRX0NBUkRNQVNLKDEpKQorCQkJCQlzb2NrLT5jYXJkX2V2ZW50KHNvY2sp
OworCQkJfQogCQl9CiAKIAkJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0IHw9IGlycV9zdGF0dXMKQEAg
LTU4LDU3ICs2Niw1NyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdGlmbV83eHgxX2lzcihpbnQgaXJx
CiAJfQogCXdyaXRlbChpcnFfc3RhdHVzLCBmbS0+YWRkciArIEZNX0lOVEVSUlVQVF9TVEFUVVMp
OwogCi0JaWYgKCFmbS0+c29ja2V0X2NoYW5nZV9zZXQpCisJaWYgKGZtLT5maW5pc2hfbWUpCisJ
CWNvbXBsZXRlX2FsbChmbS0+ZmluaXNoX21lKTsKKwllbHNlIGlmICghZm0tPnNvY2tldF9jaGFu
Z2Vfc2V0KQogCQl3cml0ZWwoVElGTV9JUlFfRU5BQkxFLCBmbS0+YWRkciArIEZNX1NFVF9JTlRF
UlJVUFRfRU5BQkxFKTsKIAllbHNlCi0JCXdha2VfdXBfYWxsKCZmbS0+Y2hhbmdlX3NldF9ub3Rp
ZnkpOworCQl0aWZtX3F1ZXVlX3dvcmsoJmZtLT5tZWRpYV9zd2l0Y2hlcik7CiAKIAlzcGluX3Vu
bG9jaygmZm0tPmxvY2spOwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAotc3RhdGljIHRpZm1f
bWVkaWFfaWQgdGlmbV83eHgxX3RvZ2dsZV9zb2NrX3Bvd2VyKGNoYXIgX19pb21lbSAqc29ja19h
ZGRyLAotCQkJCQkJIGludCBpc194MikKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHRpZm1fN3h4MV90
b2dnbGVfc29ja19wb3dlcihjaGFyIF9faW9tZW0gKnNvY2tfYWRkcikKIHsKIAl1bnNpZ25lZCBp
bnQgc19zdGF0ZTsKIAlpbnQgY250OwogCiAJd3JpdGVsKDB4MGUwMCwgc29ja19hZGRyICsgU09D
S19DT05UUk9MKTsKIAotCWZvciAoY250ID0gMDsgY250IDwgMTAwOyBjbnQrKykgeworCWZvciAo
Y250ID0gMTY7IGNudCA8PSAyNTY7IGNudCA8PD0gMSkgewogCQlpZiAoIShUSUZNX1NPQ0tfU1RB
VEVfUE9XRVJFRAogCQkgICAgICAmIHJlYWRsKHNvY2tfYWRkciArIFNPQ0tfUFJFU0VOVF9TVEFU
RSkpKQogCQkJYnJlYWs7Ci0JCW1zbGVlcCgxMCk7CisKKwkJbXNsZWVwKGNudCk7CiAJfQogCiAJ
c19zdGF0ZSA9IHJlYWRsKHNvY2tfYWRkciArIFNPQ0tfUFJFU0VOVF9TVEFURSk7CiAJaWYgKCEo
VElGTV9TT0NLX1NUQVRFX09DQ1VQSUVEICYgc19zdGF0ZSkpCi0JCXJldHVybiBGTV9OVUxMOwor
CQlyZXR1cm4gMDsKIAotCWlmIChpc194MikgewotCQl3cml0ZWwoKHNfc3RhdGUgJiA3KSB8IDB4
MGMwMCwgc29ja19hZGRyICsgU09DS19DT05UUk9MKTsKLQl9IGVsc2UgewotCQkvLyBTbWFydE1l
ZGlhIGNhcmRzIG5lZWQgZXh0cmEgNDAgbXNlYwotCQlpZiAoKChyZWFkbChzb2NrX2FkZHIgKyBT
T0NLX1BSRVNFTlRfU1RBVEUpID4+IDQpICYgNykgPT0gMSkKLQkJCW1zbGVlcCg0MCk7Ci0JCXdy
aXRlbChyZWFkbChzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpIHwgVElGTV9DVFJMX0xFRCwKLQkJ
ICAgICAgIHNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCk7Ci0JCW1zbGVlcCgxMCk7Ci0JCXdyaXRl
bCgoc19zdGF0ZSAmIDB4NykgfCAweDBjMDAgfCBUSUZNX0NUUkxfTEVELAotCQkJc29ja19hZGRy
ICsgU09DS19DT05UUk9MKTsKLQl9CisJd3JpdGVsKHJlYWRsKHNvY2tfYWRkciArIFNPQ0tfQ09O
VFJPTCkgfCBUSUZNX0NUUkxfTEVELAorCSAgICAgICBzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wp
OwogCi0JZm9yIChjbnQgPSAwOyBjbnQgPCAxMDA7IGNudCsrKSB7CisJLyogeGQgbmVlZHMgc29t
ZSBleHRyYSB0aW1lIGJlZm9yZSBwb3dlciBvbiAqLworCWlmICgoKHJlYWRsKHNvY2tfYWRkciAr
IFNPQ0tfUFJFU0VOVF9TVEFURSkgPj4gNCkgJiA3KQorCSAgICA9PSBUSUZNX1RZUEVfWEQpCisJ
CW1zbGVlcCg0MCk7CisKKwl3cml0ZWwoKHNfc3RhdGUgJiA3KSB8IDB4MGMwMCwgc29ja19hZGRy
ICsgU09DS19DT05UUk9MKTsKKwkvKiB3YWl0IGZvciBwb3dlciB0byBzdGFiaWxpemUgKi8KKwlt
c2xlZXAoMjApOworCWZvciAoY250ID0gMTY7IGNudCA8PSAyNTY7IGNudCA8PD0gMSkgewogCQlp
ZiAoKFRJRk1fU09DS19TVEFURV9QT1dFUkVECiAJCSAgICAgJiByZWFkbChzb2NrX2FkZHIgKyBT
T0NLX1BSRVNFTlRfU1RBVEUpKSkKIAkJCWJyZWFrOwotCQltc2xlZXAoMTApOworCisJCW1zbGVl
cChjbnQpOwogCX0KIAotCWlmICghaXNfeDIpCi0JCXdyaXRlbChyZWFkbChzb2NrX2FkZHIgKyBT
T0NLX0NPTlRST0wpICYgKH5USUZNX0NUUkxfTEVEKSwKLQkJICAgICAgIHNvY2tfYWRkciArIFNP
Q0tfQ09OVFJPTCk7CisJd3JpdGVsKHJlYWRsKHNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCkgJiAo
flRJRk1fQ1RSTF9MRUQpLAorCSAgICAgICBzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpOwogCiAJ
cmV0dXJuIChyZWFkbChzb2NrX2FkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpID4+IDQpICYgNzsK
IH0KQEAgLTExOSwxMjcgKzEyNyw3NyBAQCB0aWZtXzd4eDFfc29ja19hZGRyKGNoYXIgX19pb21l
bSAqYmFzZV9hCiAJcmV0dXJuIGJhc2VfYWRkciArICgoc29ja19udW0gKyAxKSA8PCAxMCk7CiB9
CiAKLXN0YXRpYyBpbnQgdGlmbV83eHgxX3N3aXRjaF9tZWRpYSh2b2lkICpkYXRhKQorc3RhdGlj
IHZvaWQgdGlmbV83eHgxX3N3aXRjaF9tZWRpYShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7
Ci0Jc3RydWN0IHRpZm1fYWRhcHRlciAqZm0gPSBkYXRhOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7
Ci0JdGlmbV9tZWRpYV9pZCBtZWRpYV9pZDsKLQljaGFyICpjYXJkX25hbWUgPSAieHgiOwotCWlu
dCBjbnQsIHJjOworCXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtID0gY29udGFpbmVyX29mKHdvcmss
IHN0cnVjdCB0aWZtX2FkYXB0ZXIsCisJCQkJCSAgICAgICBtZWRpYV9zd2l0Y2hlcik7CiAJc3Ry
dWN0IHRpZm1fZGV2ICpzb2NrOwotCXVuc2lnbmVkIGludCBzb2NrZXRfY2hhbmdlX3NldDsKLQot
CXdoaWxlICgxKSB7Ci0JCXJjID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKGZtLT5jaGFuZ2Vf
c2V0X25vdGlmeSwKLQkJCQkJICAgICAgZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KTsKLQkJaWYgKHJj
ID09IC1FUkVTVEFSVFNZUykKLQkJCXRyeV90b19mcmVlemUoKTsKKwl1bnNpZ25lZCBsb25nIGZs
YWdzOworCXVuc2lnbmVkIGNoYXIgbWVkaWFfaWQ7CisJdW5zaWduZWQgaW50IHNvY2tldF9jaGFu
Z2Vfc2V0LCBjbnQ7CiAKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0J
CXNvY2tldF9jaGFuZ2Vfc2V0ID0gZm0tPnNvY2tldF9jaGFuZ2Vfc2V0OwotCQlmbS0+c29ja2V0
X2NoYW5nZV9zZXQgPSAwOworCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwor
CXNvY2tldF9jaGFuZ2Vfc2V0ID0gZm0tPnNvY2tldF9jaGFuZ2Vfc2V0OworCWZtLT5zb2NrZXRf
Y2hhbmdlX3NldCA9IDA7CiAKLQkJZGV2X2RiZyhmbS0+ZGV2LCAiY2hlY2tpbmcgbWVkaWEgc2V0
ICV4XG4iLAotCQkJc29ja2V0X2NoYW5nZV9zZXQpOworCWRldl9kYmcoZm0tPmNkZXYuZGV2LCAi
Y2hlY2tpbmcgbWVkaWEgc2V0ICV4XG4iLAorCQlzb2NrZXRfY2hhbmdlX3NldCk7CiAKLQkJaWYg
KGt0aHJlYWRfc2hvdWxkX3N0b3AoKSkKLQkJCXNvY2tldF9jaGFuZ2Vfc2V0ID0gKDEgPDwgZm0t
Pm51bV9zb2NrZXRzKSAtIDE7CisJaWYgKCFzb2NrZXRfY2hhbmdlX3NldCkgewogCQlzcGluX3Vu
bG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOworCQlyZXR1cm47CisJfQogCi0JCWlm
ICghc29ja2V0X2NoYW5nZV9zZXQpCisJZm9yIChjbnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tl
dHM7IGNudCsrKSB7CisJCWlmICghKHNvY2tldF9jaGFuZ2Vfc2V0ICYgKDEgPDwgY250KSkpCiAJ
CQljb250aW51ZTsKLQotCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQkJ
Zm9yIChjbnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tldHM7IGNudCsrKSB7Ci0JCQlpZiAoIShz
b2NrZXRfY2hhbmdlX3NldCAmICgxIDw8IGNudCkpKQotCQkJCWNvbnRpbnVlOwotCQkJc29jayA9
IGZtLT5zb2NrZXRzW2NudF07Ci0JCQlpZiAoc29jaykgewotCQkJCXByaW50ayhLRVJOX0lORk8g
RFJJVkVSX05BTUUKLQkJCQkgICAgICAgIjogZGVtYW5kIHJlbW92aW5nIGNhcmQgZnJvbSBzb2Nr
ZXQgJWRcbiIsCi0JCQkJICAgICAgIGNudCk7Ci0JCQkJZm0tPnNvY2tldHNbY250XSA9IE5VTEw7
Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQkJCQlkZXZp
Y2VfdW5yZWdpc3Rlcigmc29jay0+ZGV2KTsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxv
Y2ssIGZsYWdzKTsKLQkJCQl3cml0ZWwoMHgwZTAwLAotCQkJCSAgICAgICB0aWZtXzd4eDFfc29j
a19hZGRyKGZtLT5hZGRyLCBjbnQpCi0JCQkJICAgICAgICsgU09DS19DT05UUk9MKTsKLQkJCX0K
LQkJCWlmIChrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCi0JCQkJY29udGludWU7Ci0KKwkJc29jayA9
IGZtLT5zb2NrZXRzW2NudF07CisJCWlmIChzb2NrKSB7CisJCQlwcmludGsoS0VSTl9JTkZPCisJ
CQkgICAgICAgIiVzIDogZGVtYW5kIHJlbW92aW5nIGNhcmQgZnJvbSBzb2NrZXQgJXU6JXVcbiIs
CisJCQkgICAgICAgZm0tPmNkZXYuY2xhc3NfaWQsIGZtLT5pZCwgY250KTsKKwkJCWZtLT5zb2Nr
ZXRzW2NudF0gPSBOVUxMOwogCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZs
YWdzKTsKLQkJCW1lZGlhX2lkID0gdGlmbV83eHgxX3RvZ2dsZV9zb2NrX3Bvd2VyKAotCQkJCQl0
aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCBjbnQpLAotCQkJCQlmbS0+bnVtX3NvY2tldHMg
PT0gMik7Ci0JCQlpZiAobWVkaWFfaWQpIHsKLQkJCQlzb2NrID0gdGlmbV9hbGxvY19kZXZpY2Uo
Zm0pOwotCQkJCWlmIChzb2NrKSB7Ci0JCQkJCXNvY2stPmFkZHIgPSB0aWZtXzd4eDFfc29ja19h
ZGRyKGZtLT5hZGRyLAotCQkJCQkJCQkJIGNudCk7Ci0JCQkJCXNvY2stPm1lZGlhX2lkID0gbWVk
aWFfaWQ7Ci0JCQkJCXNvY2stPnNvY2tldF9pZCA9IGNudDsKLQkJCQkJc3dpdGNoIChtZWRpYV9p
ZCkgewotCQkJCQljYXNlIDE6Ci0JCQkJCQljYXJkX25hbWUgPSAieGQiOwotCQkJCQkJYnJlYWs7
Ci0JCQkJCWNhc2UgMjoKLQkJCQkJCWNhcmRfbmFtZSA9ICJtcyI7Ci0JCQkJCQlicmVhazsKLQkJ
CQkJY2FzZSAzOgotCQkJCQkJY2FyZF9uYW1lID0gInNkIjsKLQkJCQkJCWJyZWFrOwotCQkJCQlk
ZWZhdWx0OgotCQkJCQkJdGlmbV9mcmVlX2RldmljZSgmc29jay0+ZGV2KTsKLQkJCQkJCXNwaW5f
bG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQkJCQkJY29udGludWU7Ci0JCQkJCX0K
LQkJCQkJc25wcmludGYoc29jay0+ZGV2LmJ1c19pZCwgQlVTX0lEX1NJWkUsCi0JCQkJCQkgInRp
Zm1fJXMldToldSIsIGNhcmRfbmFtZSwKLQkJCQkJCSBmbS0+aWQsIGNudCk7Ci0JCQkJCXByaW50
ayhLRVJOX0lORk8gRFJJVkVSX05BTUUKLQkJCQkJICAgICAgICI6ICVzIGNhcmQgZGV0ZWN0ZWQg
aW4gc29ja2V0ICVkXG4iLAotCQkJCQkgICAgICAgY2FyZF9uYW1lLCBjbnQpOwotCQkJCQlpZiAo
IWRldmljZV9yZWdpc3Rlcigmc29jay0+ZGV2KSkgewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUo
JmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJCQlpZiAoIWZtLT5zb2NrZXRzW2NudF0pIHsKLQkJCQkJ
CQlmbS0+c29ja2V0c1tjbnRdID0gc29jazsKLQkJCQkJCQlzb2NrID0gTlVMTDsKLQkJCQkJCX0K
LQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJCX0K
LQkJCQkJaWYgKHNvY2spCi0JCQkJCQl0aWZtX2ZyZWVfZGV2aWNlKCZzb2NrLT5kZXYpOwotCQkJ
CX0KLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQkJCX0KKwkJCWRl
dmljZV91bnJlZ2lzdGVyKCZzb2NrLT5kZXYpOworCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5s
b2NrLCBmbGFncyk7CisJCQl3cml0ZWwoMHgwZTAwLCB0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5h
ZGRyLCBjbnQpCisJCQkgICAgICAgKyBTT0NLX0NPTlRST0wpOwogCQl9CiAKLQkJaWYgKCFrdGhy
ZWFkX3Nob3VsZF9zdG9wKCkpIHsKLQkJCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhzb2NrZXRf
Y2hhbmdlX3NldCkKLQkJCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKHNvY2tldF9jaGFuZ2Vf
c2V0KSwKLQkJCSAgICAgICBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOwot
CQkJd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KQotCQkJICAgICAg
IHwgVElGTV9JUlFfQ0FSRE1BU0soc29ja2V0X2NoYW5nZV9zZXQpLAotCQkJICAgICAgIGZtLT5h
ZGRyICsgRk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUpOwotCQkJd3JpdGVsKFRJRk1fSVJRX0VOQUJM
RSwKLQkJCSAgICAgICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKLQkJCXNw
aW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCX0gZWxzZSB7Ci0JCQlm
b3IgKGNudCA9IDA7IGNudCA8IGZtLT5udW1fc29ja2V0czsgY250KyspIHsKLQkJCQlpZiAoZm0t
PnNvY2tldHNbY250XSkKLQkJCQkJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0IHw9IDEgPDwgY250Owot
CQkJfQotCQkJaWYgKCFmbS0+c29ja2V0X2NoYW5nZV9zZXQpIHsKLQkJCQlzcGluX3VubG9ja19p
cnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQkJCXJldHVybiAwOwotCQkJfSBlbHNlIHsK
KwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKKworCQltZWRpYV9p
ZCA9IHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dlcigKKwkJCQl0aWZtXzd4eDFfc29ja19hZGRy
KGZtLT5hZGRyLCBjbnQpKTsKKworCQkvLyB0aWZtX2FsbG9jX2RldmljZSB3aWxsIGNoZWNrIGlm
IG1lZGlhX2lkIGlzIHZhbGlkCisJCXNvY2sgPSB0aWZtX2FsbG9jX2RldmljZShmbSwgY250LCBt
ZWRpYV9pZCk7CisJCWlmIChzb2NrKSB7CisJCQlzb2NrLT5hZGRyID0gdGlmbV83eHgxX3NvY2tf
YWRkcihmbS0+YWRkciwgY250KTsKKworCQkJaWYgKCFkZXZpY2VfcmVnaXN0ZXIoJnNvY2stPmRl
dikpIHsKKwkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKKwkJCQlpZiAo
IWZtLT5zb2NrZXRzW2NudF0pIHsKKwkJCQkJZm0tPnNvY2tldHNbY250XSA9IHNvY2s7CisJCQkJ
CXNvY2sgPSBOVUxMOworCQkJCX0KIAkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9j
aywgZmxhZ3MpOwogCQkJfQorCQkJaWYgKHNvY2spCisJCQkJdGlmbV9mcmVlX2RldmljZSgmc29j
ay0+ZGV2KTsKIAkJfQorCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKIAl9
Ci0JcmV0dXJuIDA7CisKKwl3cml0ZWwoVElGTV9JUlFfRklGT01BU0soc29ja2V0X2NoYW5nZV9z
ZXQpCisJICAgICAgIHwgVElGTV9JUlFfQ0FSRE1BU0soc29ja2V0X2NoYW5nZV9zZXQpLAorCSAg
ICAgICBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOworCisJd3JpdGVsKFRJ
Rk1fSVJRX0ZJRk9NQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KQorCSAgICAgICB8IFRJRk1fSVJRX0NB
UkRNQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KSwKKwkgICAgICAgZm0tPmFkZHIgKyBGTV9TRVRfSU5U
RVJSVVBUX0VOQUJMRSk7CisKKwl3cml0ZWwoVElGTV9JUlFfRU5BQkxFLCBmbS0+YWRkciArIEZN
X1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9j
aywgZmxhZ3MpOwogfQogCiAjaWZkZWYgQ09ORklHX1BNCkBAIC0yNTgsOSArMjE2LDExIEBAIHN0
YXRpYyBpbnQgdGlmbV83eHgxX3N1c3BlbmQoc3RydWN0IHBjaV8KIHN0YXRpYyBpbnQgdGlmbV83
eHgxX3Jlc3VtZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQogewogCXN0cnVjdCB0aWZtX2FkYXB0ZXIg
KmZtID0gcGNpX2dldF9kcnZkYXRhKGRldik7Ci0JaW50IGNudCwgcmM7CisJaW50IHJjOworCXVu
c2lnbmVkIGludCBnb29kX3NvY2tldHMgPSAwLCBiYWRfc29ja2V0cyA9IDA7CiAJdW5zaWduZWQg
bG9uZyBmbGFnczsKLQl0aWZtX21lZGlhX2lkIG5ld19pZHNbZm0tPm51bV9zb2NrZXRzXTsKKwl1
bnNpZ25lZCBjaGFyIG5ld19pZHNbZm0tPm51bV9zb2NrZXRzXTsKKwlERUNMQVJFX0NPTVBMRVRJ
T05fT05TVEFDSyhmaW5pc2hfcmVzdW1lKTsKIAogCXBjaV9zZXRfcG93ZXJfc3RhdGUoZGV2LCBQ
Q0lfRDApOwogCXBjaV9yZXN0b3JlX3N0YXRlKGRldik7CkBAIC0yNzEsNDUgKzIzMSw0OSBAQCBz
dGF0aWMgaW50IHRpZm1fN3h4MV9yZXN1bWUoc3RydWN0IHBjaV9kCiAKIAlkZXZfZGJnKCZkZXYt
PmRldiwgInJlc3VtaW5nIGhvc3RcbiIpOwogCi0JZm9yIChjbnQgPSAwOyBjbnQgPCBmbS0+bnVt
X3NvY2tldHM7IGNudCsrKQotCQluZXdfaWRzW2NudF0gPSB0aWZtXzd4eDFfdG9nZ2xlX3NvY2tf
cG93ZXIoCi0JCQkJCXRpZm1fN3h4MV9zb2NrX2FkZHIoZm0tPmFkZHIsIGNudCksCi0JCQkJCWZt
LT5udW1fc29ja2V0cyA9PSAyKTsKKwlmb3IgKHJjID0gMDsgcmMgPCBmbS0+bnVtX3NvY2tldHM7
IHJjKyspCisJCW5ld19pZHNbcmNdID0gdGlmbV83eHgxX3RvZ2dsZV9zb2NrX3Bvd2VyKAorCQkJ
CQl0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCByYykpOwogCXNwaW5fbG9ja19pcnFzYXZl
KCZmbS0+bG9jaywgZmxhZ3MpOwotCWZtLT5zb2NrZXRfY2hhbmdlX3NldCA9IDA7Ci0JZm9yIChj
bnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tldHM7IGNudCsrKSB7Ci0JCWlmIChmbS0+c29ja2V0
c1tjbnRdKSB7Ci0JCQlpZiAoZm0tPnNvY2tldHNbY250XS0+bWVkaWFfaWQgPT0gbmV3X2lkc1tj
bnRdKQotCQkJCWZtLT5zb2NrZXRfY2hhbmdlX3NldCB8PSAxIDw8IGNudDsKLQotCQkJZm0tPnNv
Y2tldHNbY250XS0+bWVkaWFfaWQgPSBuZXdfaWRzW2NudF07CisJZm9yIChyYyA9IDA7IHJjIDwg
Zm0tPm51bV9zb2NrZXRzOyByYysrKSB7CisJCWlmIChmbS0+c29ja2V0c1tyY10pIHsKKwkJCWlm
IChmbS0+c29ja2V0c1tyY10tPnR5cGUgPT0gbmV3X2lkc1tyY10pCisJCQkJZ29vZF9zb2NrZXRz
IHw9IDEgPDwgcmM7CisJCQllbHNlCisJCQkJYmFkX3NvY2tldHMgfD0gMSA8PCByYzsKIAkJfQog
CX0KIAogCXdyaXRlbChUSUZNX0lSUV9FTkFCTEUgfCBUSUZNX0lSUV9TT0NLTUFTSygoMSA8PCBm
bS0+bnVtX3NvY2tldHMpIC0gMSksCiAJICAgICAgIGZtLT5hZGRyICsgRk1fU0VUX0lOVEVSUlVQ
VF9FTkFCTEUpOwotCWlmICghZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KSB7Ci0JCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybiAwOwotCX0gZWxzZSB7Ci0J
CWZtLT5zb2NrZXRfY2hhbmdlX3NldCA9IDA7CisJZGV2X2RiZygmZGV2LT5kZXYsICJjaGFuZ2Ug
c2V0cyBvbiByZXN1bWU6IGdvb2QgJXgsIGJhZCAleFxuIiwKKwkJZ29vZF9zb2NrZXRzLCBiYWRf
c29ja2V0cyk7CisKKwlmbS0+c29ja2V0X2NoYW5nZV9zZXQgPSAwOworCWlmIChnb29kX3NvY2tl
dHMpIHsKKwkJZm0tPmZpbmlzaF9tZSA9ICZmaW5pc2hfcmVzdW1lOwogCQlzcGluX3VubG9ja19p
cnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOworCQlyYyA9IHdhaXRfZm9yX2NvbXBsZXRpb25f
dGltZW91dCgmZmluaXNoX3Jlc3VtZSwgSFopOworCQlkZXZfZGJnKCZkZXYtPmRldiwgIndhaXQg
cmV0dXJuZWQgJWRcbiIsIHJjKTsKKwkJd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKGdvb2Rfc29j
a2V0cykKKwkJICAgICAgIHwgVElGTV9JUlFfQ0FSRE1BU0soZ29vZF9zb2NrZXRzKSwKKwkJICAg
ICAgIGZtLT5hZGRyICsgRk1fQ0xFQVJfSU5URVJSVVBUX0VOQUJMRSk7CisJCXdyaXRlbChUSUZN
X0lSUV9GSUZPTUFTSyhnb29kX3NvY2tldHMpCisJCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNL
KGdvb2Rfc29ja2V0cyksCisJCSAgICAgICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5B
QkxFKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7CisJCWZtLT5maW5p
c2hfbWUgPSBOVUxMOworCQlmbS0+c29ja2V0X2NoYW5nZV9zZXQgXj0gZ29vZF9zb2NrZXRzICYg
Zm0tPnNvY2tldF9jaGFuZ2Vfc2V0OwogCX0KIAotCXdhaXRfZXZlbnRfdGltZW91dChmbS0+Y2hh
bmdlX3NldF9ub3RpZnksIGZtLT5zb2NrZXRfY2hhbmdlX3NldCwgSFopOworCWZtLT5zb2NrZXRf
Y2hhbmdlX3NldCB8PSBiYWRfc29ja2V0czsKKwlpZiAoZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KQor
CQl0aWZtX3F1ZXVlX3dvcmsoJmZtLT5tZWRpYV9zd2l0Y2hlcik7CiAKLQlzcGluX2xvY2tfaXJx
c2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQl3cml0ZWwoVElGTV9JUlFfRklGT01BU0soZm0tPnNv
Y2tldF9jaGFuZ2Vfc2V0KQotCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKGZtLT5zb2NrZXRf
Y2hhbmdlX3NldCksCi0JICAgICAgIGZtLT5hZGRyICsgRk1fQ0xFQVJfSU5URVJSVVBUX0VOQUJM
RSk7Ci0Jd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKGZtLT5zb2NrZXRfY2hhbmdlX3NldCkKLQkg
ICAgICAgfCBUSUZNX0lSUV9DQVJETUFTSyhmbS0+c29ja2V0X2NoYW5nZV9zZXQpLAotCSAgICAg
ICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKKwlzcGluX3VubG9ja19pcnFy
ZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwogCXdyaXRlbChUSUZNX0lSUV9FTkFCTEUsCiAJICAg
ICAgIGZtLT5hZGRyICsgRk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUpOwotCWZtLT5zb2NrZXRfY2hh
bmdlX3NldCA9IDA7CiAKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3Mp
OwogCXJldHVybiAwOwogfQogCkBAIC0zNDUsMjAgKzMwOSwxNCBAQCBzdGF0aWMgaW50IHRpZm1f
N3h4MV9wcm9iZShzdHJ1Y3QgcGNpX2RlCiAKIAlwY2lfaW50eChkZXYsIDEpOwogCi0JZm0gPSB0
aWZtX2FsbG9jX2FkYXB0ZXIoKTsKKwlmbSA9IHRpZm1fYWxsb2NfYWRhcHRlcihkZXYtPmRldmlj
ZSA9PSBQQ0lfREVWSUNFX0lEX1RJX1hYMjFfWFgxMV9GTQorCQkJCT8gNCA6IDIsICZkZXYtPmRl
dik7CiAJaWYgKCFmbSkgewogCQlyYyA9IC1FTk9NRU07CiAJCWdvdG8gZXJyX291dF9pbnQ7CiAJ
fQogCi0JZm0tPmRldiA9ICZkZXYtPmRldjsKLQlmbS0+bnVtX3NvY2tldHMgPSAoZGV2LT5kZXZp
Y2UgPT0gUENJX0RFVklDRV9JRF9USV9YWDIxX1hYMTFfRk0pCi0JCQkgID8gNCA6IDI7Ci0JZm0t
PnNvY2tldHMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGlmbV9kZXYqKSAqIGZtLT5udW1fc29j
a2V0cywKLQkJCSAgICAgIEdGUF9LRVJORUwpOwotCWlmICghZm0tPnNvY2tldHMpCi0JCWdvdG8g
ZXJyX291dF9mcmVlOwotCisJSU5JVF9XT1JLKCZmbS0+bWVkaWFfc3dpdGNoZXIsIHRpZm1fN3h4
MV9zd2l0Y2hfbWVkaWEpOwogCWZtLT5lamVjdCA9IHRpZm1fN3h4MV9lamVjdDsKIAlwY2lfc2V0
X2RydmRhdGEoZGV2LCBmbSk7CiAKQEAgLTM2NywxOSArMzI1LDE2IEBAIHN0YXRpYyBpbnQgdGlm
bV83eHgxX3Byb2JlKHN0cnVjdCBwY2lfZGUKIAlpZiAoIWZtLT5hZGRyKQogCQlnb3RvIGVycl9v
dXRfZnJlZTsKIAotCXJjID0gcmVxdWVzdF9pcnEoZGV2LT5pcnEsIHRpZm1fN3h4MV9pc3IsIElS
UUZfU0hBUkVELCBEUklWRVJfTkFNRSwgZm0pOworCXJjID0gcmVxdWVzdF9pcnEoZGV2LT5pcnEs
IHRpZm1fN3h4MV9pc3IsIFNBX1NISVJRLCBEUklWRVJfTkFNRSwgZm0pOwogCWlmIChyYykKIAkJ
Z290byBlcnJfb3V0X3VubWFwOwogCi0JaW5pdF93YWl0cXVldWVfaGVhZCgmZm0tPmNoYW5nZV9z
ZXRfbm90aWZ5KTsKLQlyYyA9IHRpZm1fYWRkX2FkYXB0ZXIoZm0sIHRpZm1fN3h4MV9zd2l0Y2hf
bWVkaWEpOworCXJjID0gdGlmbV9hZGRfYWRhcHRlcihmbSk7CiAJaWYgKHJjKQogCQlnb3RvIGVy
cl9vdXRfaXJxOwogCi0Jd3JpdGVsKFRJRk1fSVJRX1NFVEFMTCwgZm0tPmFkZHIgKyBGTV9DTEVB
Ul9JTlRFUlJVUFRfRU5BQkxFKTsKIAl3cml0ZWwoVElGTV9JUlFfRU5BQkxFIHwgVElGTV9JUlFf
U09DS01BU0soKDEgPDwgZm0tPm51bV9zb2NrZXRzKSAtIDEpLAogCSAgICAgICBmbS0+YWRkciAr
IEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKLQl3YWtlX3VwX3Byb2Nlc3MoZm0tPm1lZGlhX3N3
aXRjaGVyKTsKIAlyZXR1cm4gMDsKIAogZXJyX291dF9pcnE6CkBAIC00MDEsMTggKzM1NiwxMiBA
QCBlcnJfb3V0Ogogc3RhdGljIHZvaWQgdGlmbV83eHgxX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAq
ZGV2KQogewogCXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtID0gcGNpX2dldF9kcnZkYXRhKGRldik7
Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAorCWZtLT5lamVjdCA9IHRpZm1fN3h4MV9kdW1teV9l
amVjdDsKIAl3cml0ZWwoVElGTV9JUlFfU0VUQUxMLCBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVS
UlVQVF9FTkFCTEUpOwogCW1taW93YigpOwogCWZyZWVfaXJxKGRldi0+aXJxLCBmbSk7CiAKLQlz
cGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQlmbS0+c29ja2V0X2NoYW5nZV9z
ZXQgPSAoMSA8PCBmbS0+bnVtX3NvY2tldHMpIC0gMTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3Jl
KCZmbS0+bG9jaywgZmxhZ3MpOwotCi0Ja3RocmVhZF9zdG9wKGZtLT5tZWRpYV9zd2l0Y2hlcik7
Ci0KIAl0aWZtX3JlbW92ZV9hZGFwdGVyKGZtKTsKIAogCXBjaV9zZXRfZHJ2ZGF0YShkZXYsIE5V
TEwpOwpJbmRleDogbGludXgtMi42LjIxLWdlbnRvby9kcml2ZXJzL21pc2MvdGlmbV9jb3JlLmMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gbGludXgtMi42LjIxLWdlbnRvby5vcmlnL2RyaXZlcnMvbWlzYy90aWZt
X2NvcmUuYworKysgbGludXgtMi42LjIxLWdlbnRvby9kcml2ZXJzL21pc2MvdGlmbV9jb3JlLmMK
QEAgLTE0LDcxICsxNCwxMjQgQEAKICNpbmNsdWRlIDxsaW51eC9pZHIuaD4KIAogI2RlZmluZSBE
UklWRVJfTkFNRSAidGlmbV9jb3JlIgotI2RlZmluZSBEUklWRVJfVkVSU0lPTiAiMC43IgorI2Rl
ZmluZSBEUklWRVJfVkVSU0lPTiAiMC44IgogCitzdGF0aWMgc3RydWN0IHdvcmtxdWV1ZV9zdHJ1
Y3QgKndvcmtxdWV1ZTsKIHN0YXRpYyBERUZJTkVfSURSKHRpZm1fYWRhcHRlcl9pZHIpOwogc3Rh
dGljIERFRklORV9TUElOTE9DSyh0aWZtX2FkYXB0ZXJfbG9jayk7CiAKLXN0YXRpYyB0aWZtX21l
ZGlhX2lkICp0aWZtX2RldmljZV9tYXRjaCh0aWZtX21lZGlhX2lkICppZHMsCi0JCQlzdHJ1Y3Qg
dGlmbV9kZXYgKmRldikKK3N0YXRpYyBjb25zdCBjaGFyICp0aWZtX21lZGlhX3R5cGVfbmFtZSh1
bnNpZ25lZCBjaGFyIHR5cGUsIHVuc2lnbmVkIGNoYXIgbnQpCiB7Ci0Jd2hpbGUgKCppZHMpIHsK
LQkJaWYgKGRldi0+bWVkaWFfaWQgPT0gKmlkcykKLQkJCXJldHVybiBpZHM7Ci0JCWlkcysrOwot
CX0KLQlyZXR1cm4gTlVMTDsKKwljb25zdCBjaGFyICpjYXJkX3R5cGVfbmFtZVszXVszXSA9IHsK
KwkJeyAiU21hcnRNZWRpYS94RCIsICJNZW1vcnlTdGljayIsICJNTUMvU0QiIH0sCisJCXsgIlhE
IiwgIk1TIiwgIlNEIn0sCisJCXsgInhkIiwgIm1zIiwgInNkIn0KKwl9OworCisJaWYgKG50ID4g
MiB8fCB0eXBlIDwgMSB8fCB0eXBlID4gMykKKwkJcmV0dXJuIE5VTEw7CisJcmV0dXJuIGNhcmRf
dHlwZV9uYW1lW250XVt0eXBlIC0gMV07CiB9CiAKLXN0YXRpYyBpbnQgdGlmbV9tYXRjaChzdHJ1
Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCitzdGF0aWMgaW50IHRp
Zm1fZGV2X21hdGNoKHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0IHRpZm1fZGV2aWNlX2lk
ICppZCkKIHsKLQlzdHJ1Y3QgdGlmbV9kZXYgKmZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0
cnVjdCB0aWZtX2RldiwgZGV2KTsKLQlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmZtX2RydjsKLQotCWZt
X2RydiA9IGNvbnRhaW5lcl9vZihkcnYsIHN0cnVjdCB0aWZtX2RyaXZlciwgZHJpdmVyKTsKLQlp
ZiAoIWZtX2Rydi0+aWRfdGFibGUpCi0JCXJldHVybiAtRUlOVkFMOwotCWlmICh0aWZtX2Rldmlj
ZV9tYXRjaChmbV9kcnYtPmlkX3RhYmxlLCBmbV9kZXYpKQorCWlmIChzb2NrLT50eXBlID09IGlk
LT50eXBlKQogCQlyZXR1cm4gMTsKLQlyZXR1cm4gLUVOT0RFVjsKKwlyZXR1cm4gMDsKK30KKwor
c3RhdGljIGludCB0aWZtX2J1c19tYXRjaChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZp
Y2VfZHJpdmVyICpkcnYpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29m
KGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZm1fZHJ2
ID0gY29udGFpbmVyX29mKGRydiwgc3RydWN0IHRpZm1fZHJpdmVyLAorCQkJCQkJICBkcml2ZXIp
OworCXN0cnVjdCB0aWZtX2RldmljZV9pZCAqaWRzID0gZm1fZHJ2LT5pZF90YWJsZTsKKworCWlm
IChpZHMpIHsKKwkJd2hpbGUgKGlkcy0+dHlwZSkgeworCQkJaWYgKHRpZm1fZGV2X21hdGNoKHNv
Y2ssIGlkcykpCisJCQkJcmV0dXJuIDE7CisJCQkrK2lkczsKKwkJfQorCX0KKwlyZXR1cm4gMDsK
IH0KIAogc3RhdGljIGludCB0aWZtX3VldmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIGNoYXIgKipl
bnZwLCBpbnQgbnVtX2VudnAsCiAJCSAgICAgICBjaGFyICpidWZmZXIsIGludCBidWZmZXJfc2l6
ZSkKIHsKLQlzdHJ1Y3QgdGlmbV9kZXYgKmZtX2RldjsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sg
PSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7CiAJaW50IGkgPSAwOwog
CWludCBsZW5ndGggPSAwOwotCWNvbnN0IGNoYXIgKmNhcmRfdHlwZV9uYW1lW10gPSB7IklOViIs
ICJTTSIsICJNUyIsICJTRCJ9OwogCi0JaWYgKCFkZXYgfHwgIShmbV9kZXYgPSBjb250YWluZXJf
b2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldikpKQotCQlyZXR1cm4gLUVOT0RFVjsKIAlpZiAo
YWRkX3VldmVudF92YXIoZW52cCwgbnVtX2VudnAsICZpLCBidWZmZXIsIGJ1ZmZlcl9zaXplLCAm
bGVuZ3RoLAotCQkJIlRJRk1fQ0FSRF9UWVBFPSVzIiwgY2FyZF90eXBlX25hbWVbZm1fZGV2LT5t
ZWRpYV9pZF0pKQorCQkJICAgIlRJRk1fQ0FSRF9UWVBFPSVzIiwKKwkJCSAgIHRpZm1fbWVkaWFf
dHlwZV9uYW1lKHNvY2stPnR5cGUsIDEpKSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlyZXR1cm4g
MDsKIH0KIAorc3RhdGljIGludCB0aWZtX2RldmljZV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYp
Cit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRp
Zm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gY29udGFpbmVyX29mKGRl
di0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJCSAgICAgICBkcml2ZXIpOworCWlu
dCByYyA9IC1FTk9ERVY7CisKKwlnZXRfZGV2aWNlKGRldik7CisJaWYgKGRldi0+ZHJpdmVyICYm
IGRydi0+cHJvYmUpIHsKKwkJcmMgPSBkcnYtPnByb2JlKHNvY2spOworCQlpZiAoIXJjKQorCQkJ
cmV0dXJuIDA7CisJfQorCXB1dF9kZXZpY2UoZGV2KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRp
YyB2b2lkIHRpZm1fZHVtbXlfZXZlbnQoc3RydWN0IHRpZm1fZGV2ICpzb2NrKQoreworCXJldHVy
bjsKK30KKworc3RhdGljIGludCB0aWZtX2RldmljZV9yZW1vdmUoc3RydWN0IGRldmljZSAqZGV2
KQoreworCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0
aWZtX2RldiwgZGV2KTsKKwlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGNvbnRhaW5lcl9vZihk
ZXYtPmRyaXZlciwgc3RydWN0IHRpZm1fZHJpdmVyLAorCQkJCQkgICAgICAgZHJpdmVyKTsKKwor
CWlmIChkZXYtPmRyaXZlciAmJiBkcnYtPnJlbW92ZSkgeworCQlzb2NrLT5jYXJkX2V2ZW50ID0g
dGlmbV9kdW1teV9ldmVudDsKKwkJc29jay0+ZGF0YV9ldmVudCA9IHRpZm1fZHVtbXlfZXZlbnQ7
CisJCWRydi0+cmVtb3ZlKHNvY2spOworCQlzb2NrLT5kZXYuZHJpdmVyID0gTlVMTDsKKwl9CisK
KwlwdXRfZGV2aWNlKGRldik7CisJcmV0dXJuIDA7Cit9CisKICNpZmRlZiBDT05GSUdfUE0KIAog
c3RhdGljIGludCB0aWZtX2RldmljZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgcG1fbWVz
c2FnZV90IHN0YXRlKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2ID0gY29udGFpbmVyX29m
KGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0g
Zm1fZGV2LT5kcnY7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwg
c3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gY29udGFp
bmVyX29mKGRldi0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJCSAgICAgICBkcml2
ZXIpOwogCi0JaWYgKGRydiAmJiBkcnYtPnN1c3BlbmQpCi0JCXJldHVybiBkcnYtPnN1c3BlbmQo
Zm1fZGV2LCBzdGF0ZSk7CisJaWYgKGRldi0+ZHJpdmVyICYmIGRydi0+c3VzcGVuZCkKKwkJcmV0
dXJuIGRydi0+c3VzcGVuZChzb2NrLCBzdGF0ZSk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBp
bnQgdGlmbV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgdGlm
bV9kZXYgKmZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsK
LQlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGZtX2Rldi0+ZHJ2OworCXN0cnVjdCB0aWZtX2Rl
diAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsKKwlzdHJ1
Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGNvbnRhaW5lcl9vZihkZXYtPmRyaXZlciwgc3RydWN0IHRp
Zm1fZHJpdmVyLAorCQkJCQkgICAgICAgZHJpdmVyKTsKIAotCWlmIChkcnYgJiYgZHJ2LT5yZXN1
bWUpCi0JCXJldHVybiBkcnYtPnJlc3VtZShmbV9kZXYpOworCWlmIChkZXYtPmRyaXZlciAmJiBk
cnYtPnJlc3VtZSkKKwkJcmV0dXJuIGRydi0+cmVzdW1lKHNvY2spOwogCXJldHVybiAwOwogfQog
CkBAIC04OSwxOSArMTQyLDMzIEBAIHN0YXRpYyBpbnQgdGlmbV9kZXZpY2VfcmVzdW1lKHN0cnVj
dCBkZXYKIAogI2VuZGlmIC8qIENPTkZJR19QTSAqLwogCitzdGF0aWMgc3NpemVfdCB0eXBlX3No
b3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJ
CSBjaGFyICpidWYpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRl
diwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiV4Iiwgc29j
ay0+dHlwZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSB0aWZtX2Rldl9h
dHRyc1tdID0geworCV9fQVRUUih0eXBlLCBTX0lSVUdPLCB0eXBlX3Nob3csIE5VTEwpLAorCV9f
QVRUUl9OVUxMCit9OworCiBzdGF0aWMgc3RydWN0IGJ1c190eXBlIHRpZm1fYnVzX3R5cGUgPSB7
Ci0JLm5hbWUgICAgPSAidGlmbSIsCi0JLm1hdGNoICAgPSB0aWZtX21hdGNoLAotCS51ZXZlbnQg
ID0gdGlmbV91ZXZlbnQsCi0JLnN1c3BlbmQgPSB0aWZtX2RldmljZV9zdXNwZW5kLAotCS5yZXN1
bWUgID0gdGlmbV9kZXZpY2VfcmVzdW1lCisJLm5hbWUgICAgICA9ICJ0aWZtIiwKKwkuZGV2X2F0
dHJzID0gdGlmbV9kZXZfYXR0cnMsCisJLm1hdGNoICAgICA9IHRpZm1fYnVzX21hdGNoLAorCS51
ZXZlbnQgICAgPSB0aWZtX3VldmVudCwKKwkucHJvYmUgICAgID0gdGlmbV9kZXZpY2VfcHJvYmUs
CisJLnJlbW92ZSAgICA9IHRpZm1fZGV2aWNlX3JlbW92ZSwKKwkuc3VzcGVuZCAgID0gdGlmbV9k
ZXZpY2Vfc3VzcGVuZCwKKwkucmVzdW1lICAgID0gdGlmbV9kZXZpY2VfcmVzdW1lCiB9OwogCiBz
dGF0aWMgdm9pZCB0aWZtX2ZyZWUoc3RydWN0IGNsYXNzX2RldmljZSAqY2RldikKIHsKIAlzdHJ1
Y3QgdGlmbV9hZGFwdGVyICpmbSA9IGNvbnRhaW5lcl9vZihjZGV2LCBzdHJ1Y3QgdGlmbV9hZGFw
dGVyLCBjZGV2KTsKIAotCWtmcmVlKGZtLT5zb2NrZXRzKTsKIAlrZnJlZShmbSk7CiB9CiAKQEAg
LTExMCwyOCArMTc3LDI1IEBAIHN0YXRpYyBzdHJ1Y3QgY2xhc3MgdGlmbV9hZGFwdGVyX2NsYXNz
ID0KIAkucmVsZWFzZSA9IHRpZm1fZnJlZQogfTsKIAotc3RydWN0IHRpZm1fYWRhcHRlciAqdGlm
bV9hbGxvY19hZGFwdGVyKHZvaWQpCitzdHJ1Y3QgdGlmbV9hZGFwdGVyICp0aWZtX2FsbG9jX2Fk
YXB0ZXIodW5zaWduZWQgaW50IG51bV9zb2NrZXRzLAorCQkJCQlzdHJ1Y3QgZGV2aWNlICpkZXYp
CiB7CiAJc3RydWN0IHRpZm1fYWRhcHRlciAqZm07CiAKLQlmbSA9IGt6YWxsb2Moc2l6ZW9mKHN0
cnVjdCB0aWZtX2FkYXB0ZXIpLCBHRlBfS0VSTkVMKTsKKwlmbSA9IGt6YWxsb2Moc2l6ZW9mKHN0
cnVjdCB0aWZtX2FkYXB0ZXIpCisJCSAgICAgKyBzaXplb2Yoc3RydWN0IHRpZm1fZGV2KikgKiBu
dW1fc29ja2V0cywgR0ZQX0tFUk5FTCk7CiAJaWYgKGZtKSB7CiAJCWZtLT5jZGV2LmNsYXNzID0g
JnRpZm1fYWRhcHRlcl9jbGFzczsKLQkJc3Bpbl9sb2NrX2luaXQoJmZtLT5sb2NrKTsKKwkJZm0t
PmNkZXYuZGV2ID0gZGV2OwogCQljbGFzc19kZXZpY2VfaW5pdGlhbGl6ZSgmZm0tPmNkZXYpOwor
CQlzcGluX2xvY2tfaW5pdCgmZm0tPmxvY2spOworCQlmbS0+bnVtX3NvY2tldHMgPSBudW1fc29j
a2V0czsKIAl9CiAJcmV0dXJuIGZtOwogfQogRVhQT1JUX1NZTUJPTCh0aWZtX2FsbG9jX2FkYXB0
ZXIpOwogCi12b2lkIHRpZm1fZnJlZV9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKQot
ewotCWNsYXNzX2RldmljZV9wdXQoJmZtLT5jZGV2KTsKLX0KLUVYUE9SVF9TWU1CT0wodGlmbV9m
cmVlX2FkYXB0ZXIpOwotCi1pbnQgdGlmbV9hZGRfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVy
ICpmbSwKLQkJICAgICBpbnQgKCptZWRpYXRocmVhZGZuKSh2b2lkICpkYXRhKSkKK2ludCB0aWZt
X2FkZF9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKQogewogCWludCByYzsKIApAQCAt
MTQxLDU5ICsyMDUsODAgQEAgaW50IHRpZm1fYWRkX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRl
cgogCXNwaW5fbG9jaygmdGlmbV9hZGFwdGVyX2xvY2spOwogCXJjID0gaWRyX2dldF9uZXcoJnRp
Zm1fYWRhcHRlcl9pZHIsIGZtLCAmZm0tPmlkKTsKIAlzcGluX3VubG9jaygmdGlmbV9hZGFwdGVy
X2xvY2spOwotCWlmICghcmMpIHsKLQkJc25wcmludGYoZm0tPmNkZXYuY2xhc3NfaWQsIEJVU19J
RF9TSVpFLCAidGlmbSV1IiwgZm0tPmlkKTsKLQkJZm0tPm1lZGlhX3N3aXRjaGVyID0ga3RocmVh
ZF9jcmVhdGUobWVkaWF0aHJlYWRmbiwKLQkJCQkJCSAgICBmbSwgInRpZm0vJXUiLCBmbS0+aWQp
OwotCi0JCWlmICghSVNfRVJSKGZtLT5tZWRpYV9zd2l0Y2hlcikpCi0JCQlyZXR1cm4gY2xhc3Nf
ZGV2aWNlX2FkZCgmZm0tPmNkZXYpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOwogCisJc25wcmlu
dGYoZm0tPmNkZXYuY2xhc3NfaWQsIEJVU19JRF9TSVpFLCAidGlmbSV1IiwgZm0tPmlkKTsKKwly
YyA9IGNsYXNzX2RldmljZV9hZGQoJmZtLT5jZGV2KTsKKwlpZiAocmMpIHsKIAkJc3Bpbl9sb2Nr
KCZ0aWZtX2FkYXB0ZXJfbG9jayk7CiAJCWlkcl9yZW1vdmUoJnRpZm1fYWRhcHRlcl9pZHIsIGZt
LT5pZCk7CiAJCXNwaW5fdW5sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7Ci0JCXJjID0gLUVOT01F
TTsKIAl9CisKIAlyZXR1cm4gcmM7CiB9CiBFWFBPUlRfU1lNQk9MKHRpZm1fYWRkX2FkYXB0ZXIp
OwogCiB2b2lkIHRpZm1fcmVtb3ZlX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pCiB7
Ci0JY2xhc3NfZGV2aWNlX2RlbCgmZm0tPmNkZXYpOworCXVuc2lnbmVkIGludCBjbnQ7CisKKwlm
bHVzaF93b3JrcXVldWUod29ya3F1ZXVlKTsKKwlmb3IgKGNudCA9IDA7IGNudCA8IGZtLT5udW1f
c29ja2V0czsgKytjbnQpIHsKKwkJaWYgKGZtLT5zb2NrZXRzW2NudF0pCisJCQlkZXZpY2VfdW5y
ZWdpc3RlcigmZm0tPnNvY2tldHNbY250XS0+ZGV2KTsKKwl9CiAKIAlzcGluX2xvY2soJnRpZm1f
YWRhcHRlcl9sb2NrKTsKIAlpZHJfcmVtb3ZlKCZ0aWZtX2FkYXB0ZXJfaWRyLCBmbS0+aWQpOwog
CXNwaW5fdW5sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7CisJY2xhc3NfZGV2aWNlX2RlbCgmZm0t
PmNkZXYpOwogfQogRVhQT1JUX1NZTUJPTCh0aWZtX3JlbW92ZV9hZGFwdGVyKTsKIAotdm9pZCB0
aWZtX2ZyZWVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3ZvaWQgdGlmbV9mcmVlX2FkYXB0
ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pCiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpmbV9kZXYg
PSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7Ci0Ja2ZyZWUoZm1fZGV2
KTsKKwljbGFzc19kZXZpY2VfcHV0KCZmbS0+Y2Rldik7CiB9Ci1FWFBPUlRfU1lNQk9MKHRpZm1f
ZnJlZV9kZXZpY2UpOworRVhQT1JUX1NZTUJPTCh0aWZtX2ZyZWVfYWRhcHRlcik7CiAKLXN0YXRp
YyB2b2lkIHRpZm1fZHVtbXlfc2lnbmFsX2lycShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssCi0JCQkJ
ICB1bnNpZ25lZCBpbnQgc29ja19pcnFfc3RhdHVzKQordm9pZCB0aWZtX2ZyZWVfZGV2aWNlKHN0
cnVjdCBkZXZpY2UgKmRldikKIHsKLQlyZXR1cm47CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0g
Y29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCWtmcmVlKHNvY2spOwog
fQorRVhQT1JUX1NZTUJPTCh0aWZtX2ZyZWVfZGV2aWNlKTsKIAotc3RydWN0IHRpZm1fZGV2ICp0
aWZtX2FsbG9jX2RldmljZShzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSkKK3N0cnVjdCB0aWZtX2Rl
diAqdGlmbV9hbGxvY19kZXZpY2Uoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sIHVuc2lnbmVkIGlu
dCBpZCwKKwkJCQkgICB1bnNpZ25lZCBjaGFyIHR5cGUpCiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpk
ZXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGlmbV9kZXYpLCBHRlBfS0VSTkVMKTsKKwlzdHJ1
Y3QgdGlmbV9kZXYgKnNvY2sgPSBOVUxMOwogCi0JaWYgKGRldikgewotCQlzcGluX2xvY2tfaW5p
dCgmZGV2LT5sb2NrKTsKKwlpZiAoIXRpZm1fbWVkaWFfdHlwZV9uYW1lKHR5cGUsIDApKQorCQly
ZXR1cm4gc29jazsKIAotCQlkZXYtPmRldi5wYXJlbnQgPSBmbS0+ZGV2OwotCQlkZXYtPmRldi5i
dXMgPSAmdGlmbV9idXNfdHlwZTsKLQkJZGV2LT5kZXYucmVsZWFzZSA9IHRpZm1fZnJlZV9kZXZp
Y2U7Ci0JCWRldi0+c2lnbmFsX2lycSA9IHRpZm1fZHVtbXlfc2lnbmFsX2lycTsKKwlzb2NrID0g
a3phbGxvYyhzaXplb2Yoc3RydWN0IHRpZm1fZGV2KSwgR0ZQX0tFUk5FTCk7CisJaWYgKHNvY2sp
IHsKKwkJc3Bpbl9sb2NrX2luaXQoJnNvY2stPmxvY2spOworCQlzb2NrLT50eXBlID0gdHlwZTsK
KwkJc29jay0+c29ja2V0X2lkID0gaWQ7CisJCXNvY2stPmNhcmRfZXZlbnQgPSB0aWZtX2R1bW15
X2V2ZW50OworCQlzb2NrLT5kYXRhX2V2ZW50ID0gdGlmbV9kdW1teV9ldmVudDsKKworCQlzb2Nr
LT5kZXYucGFyZW50ID0gZm0tPmNkZXYuZGV2OworCQlzb2NrLT5kZXYuYnVzID0gJnRpZm1fYnVz
X3R5cGU7CisJCXNvY2stPmRldi5kbWFfbWFzayA9IGZtLT5jZGV2LmRldi0+ZG1hX21hc2s7CisJ
CXNvY2stPmRldi5yZWxlYXNlID0gdGlmbV9mcmVlX2RldmljZTsKKworCQlzbnByaW50Zihzb2Nr
LT5kZXYuYnVzX2lkLCBCVVNfSURfU0laRSwKKwkJCSAidGlmbV8lcyV1OiV1IiwgdGlmbV9tZWRp
YV90eXBlX25hbWUodHlwZSwgMiksCisJCQkgZm0tPmlkLCBpZCk7CisJCXByaW50ayhLRVJOX0lO
Rk8gRFJJVkVSX05BTUUKKwkJICAgICAgICI6ICVzIGNhcmQgZGV0ZWN0ZWQgaW4gc29ja2V0ICV1
OiV1XG4iLAorCQkgICAgICAgdGlmbV9tZWRpYV90eXBlX25hbWUodHlwZSwgMCksIGZtLT5pZCwg
aWQpOwogCX0KLQlyZXR1cm4gZGV2OworCXJldHVybiBzb2NrOwogfQogRVhQT1JUX1NZTUJPTCh0
aWZtX2FsbG9jX2RldmljZSk7CiAKQEAgLTIxOCw1NCArMzAzLDE1IEBAIHZvaWQgdGlmbV91bm1h
cF9zZyhzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sKIH0KIEVYUE9SVF9TWU1CT0wodGlmbV91bm1hcF9z
Zyk7CiAKLXN0YXRpYyBpbnQgdGlmbV9kZXZpY2VfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2KQot
ewotCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2OwotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2Owot
CWludCByYyA9IDA7Ci0JY29uc3QgdGlmbV9tZWRpYV9pZCAqaWQ7Ci0KLQlkcnYgPSBjb250YWlu
ZXJfb2YoZGV2LT5kcml2ZXIsIHN0cnVjdCB0aWZtX2RyaXZlciwgZHJpdmVyKTsKLQlmbV9kZXYg
PSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7Ci0JZ2V0X2RldmljZShk
ZXYpOwotCWlmICghZm1fZGV2LT5kcnYgJiYgZHJ2LT5wcm9iZSAmJiBkcnYtPmlkX3RhYmxlKSB7
Ci0JCXJjID0gLUVOT0RFVjsKLQkJaWQgPSB0aWZtX2RldmljZV9tYXRjaChkcnYtPmlkX3RhYmxl
LCBmbV9kZXYpOwotCQlpZiAoaWQpCi0JCQlyYyA9IGRydi0+cHJvYmUoZm1fZGV2KTsKLQkJaWYg
KHJjID49IDApIHsKLQkJCXJjID0gMDsKLQkJCWZtX2Rldi0+ZHJ2ID0gZHJ2OwotCQl9Ci0JfQot
CWlmIChyYykKLQkJcHV0X2RldmljZShkZXYpOwotCXJldHVybiByYzsKLX0KLQotc3RhdGljIGlu
dCB0aWZtX2RldmljZV9yZW1vdmUoc3RydWN0IGRldmljZSAqZGV2KQordm9pZCB0aWZtX3F1ZXVl
X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1f
ZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0
aWZtX2RyaXZlciAqZHJ2ID0gZm1fZGV2LT5kcnY7Ci0KLQlpZiAoZHJ2KSB7Ci0JCWZtX2Rldi0+
c2lnbmFsX2lycSA9IHRpZm1fZHVtbXlfc2lnbmFsX2lycTsKLQkJaWYgKGRydi0+cmVtb3ZlKQot
CQkJZHJ2LT5yZW1vdmUoZm1fZGV2KTsKLQkJZm1fZGV2LT5kcnYgPSBOVUxMOwotCX0KLQotCXB1
dF9kZXZpY2UoZGV2KTsKLQlyZXR1cm4gMDsKKwlxdWV1ZV93b3JrKHdvcmtxdWV1ZSwgd29yayk7
CiB9CitFWFBPUlRfU1lNQk9MKHRpZm1fcXVldWVfd29yayk7CiAKIGludCB0aWZtX3JlZ2lzdGVy
X2RyaXZlcihzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydikKIHsKIAlkcnYtPmRyaXZlci5idXMgPSAm
dGlmbV9idXNfdHlwZTsKLQlkcnYtPmRyaXZlci5wcm9iZSA9IHRpZm1fZGV2aWNlX3Byb2JlOwot
CWRydi0+ZHJpdmVyLnJlbW92ZSA9IHRpZm1fZGV2aWNlX3JlbW92ZTsKLQlkcnYtPmRyaXZlci5z
dXNwZW5kID0gdGlmbV9kZXZpY2Vfc3VzcGVuZDsKLQlkcnYtPmRyaXZlci5yZXN1bWUgPSB0aWZt
X2RldmljZV9yZXN1bWU7CiAKIAlyZXR1cm4gZHJpdmVyX3JlZ2lzdGVyKCZkcnYtPmRyaXZlcik7
CiB9CkBAIC0yNzksMTMgKzMyNSwyNSBAQCBFWFBPUlRfU1lNQk9MKHRpZm1fdW5yZWdpc3Rlcl9k
cml2ZXIpOwogCiBzdGF0aWMgaW50IF9faW5pdCB0aWZtX2luaXQodm9pZCkKIHsKLQlpbnQgcmMg
PSBidXNfcmVnaXN0ZXIoJnRpZm1fYnVzX3R5cGUpOworCWludCByYzsKIAotCWlmICghcmMpIHsK
LQkJcmMgPSBjbGFzc19yZWdpc3RlcigmdGlmbV9hZGFwdGVyX2NsYXNzKTsKLQkJaWYgKHJjKQot
CQkJYnVzX3VucmVnaXN0ZXIoJnRpZm1fYnVzX3R5cGUpOwotCX0KKwl3b3JrcXVldWUgPSBjcmVh
dGVfZnJlZXplYWJsZV93b3JrcXVldWUoInRpZm0iKTsKKwlpZiAoIXdvcmtxdWV1ZSkKKwkJcmV0
dXJuIC1FTk9NRU07CisKKwlyYyA9IGJ1c19yZWdpc3RlcigmdGlmbV9idXNfdHlwZSk7CisKKwlp
ZiAocmMpCisJCWdvdG8gZXJyX291dF93cTsKKworCXJjID0gY2xhc3NfcmVnaXN0ZXIoJnRpZm1f
YWRhcHRlcl9jbGFzcyk7CisJaWYgKCFyYykKKwkJcmV0dXJuIDA7CisKKwlidXNfdW5yZWdpc3Rl
cigmdGlmbV9idXNfdHlwZSk7CisKK2Vycl9vdXRfd3E6CisJZGVzdHJveV93b3JrcXVldWUod29y
a3F1ZXVlKTsKIAogCXJldHVybiByYzsKIH0KQEAgLTI5NCw2ICszNTIsNyBAQCBzdGF0aWMgdm9p
ZCBfX2V4aXQgdGlmbV9leGl0KHZvaWQpCiB7CiAJY2xhc3NfdW5yZWdpc3RlcigmdGlmbV9hZGFw
dGVyX2NsYXNzKTsKIAlidXNfdW5yZWdpc3RlcigmdGlmbV9idXNfdHlwZSk7CisJZGVzdHJveV93
b3JrcXVldWUod29ya3F1ZXVlKTsKIH0KIAogc3Vic3lzX2luaXRjYWxsKHRpZm1faW5pdCk7Cklu
ZGV4OiBsaW51eC0yLjYuMjEtZ2VudG9vL2RyaXZlcnMvbW1jL3RpZm1fc2QuYwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBsaW51eC0yLjYuMjEtZ2VudG9vLm9yaWcvZHJpdmVycy9tbWMvdGlmbV9zZC5jCisrKyBs
aW51eC0yLjYuMjEtZ2VudG9vL2RyaXZlcnMvbW1jL3RpZm1fc2QuYwpAQCAtNyw2ICs3LDggQEAK
ICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
dmVyc2lvbiAyIGFzCiAgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bi4KICAqCisgKiBTcGVjaWFsIHRoYW5rcyB0byBCcmFkIENhbXBiZWxsIGZvciBleHRlbnNpdmUg
dGVzdGluZyBvZiB0aGlzIGRyaXZlci4KKyAqCiAgKi8KIAogCkBAIC0xNCwxMCArMTYsMTEgQEAK
ICNpbmNsdWRlIDxsaW51eC9tbWMvcHJvdG9jb2wuaD4KICNpbmNsdWRlIDxsaW51eC9tbWMvaG9z
dC5oPgogI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVy
bGlzdC5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAjZGVmaW5lIERSSVZFUl9OQU1FICJ0aWZt
X3NkIgotI2RlZmluZSBEUklWRVJfVkVSU0lPTiAiMC43IgorI2RlZmluZSBEUklWRVJfVkVSU0lP
TiAiMC44IgogCiBzdGF0aWMgaW50IG5vX2RtYSA9IDA7CiBzdGF0aWMgaW50IGZpeGVkX3RpbWVv
dXQgPSAwOwpAQCAtMzYsOSArMzksOSBAQCBtb2R1bGVfcGFyYW0oZml4ZWRfdGltZW91dCwgYm9v
bCwgMDY0NCk7CiAjZGVmaW5lIFRJRk1fTU1DU0RfSU5BQiAgICAgICAweDAwODAgICAvKiBhYm9y
dCAvIGluaXRpYWxpemUgY29tbWFuZCAqLwogI2RlZmluZSBUSUZNX01NQ1NEX1JFQUQgICAgICAg
MHg4MDAwCiAKLSNkZWZpbmUgVElGTV9NTUNTRF9EQVRBTUFTSyAgIDB4NDAxZCAgIC8qIHNldCBi
aXRzOiBDRVJSLCBFT0ZCLCBCUlMsIENCLCBFT0MgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9FUlJN
QVNLICAgIDB4MDFlMCAgIC8qIHNldCBiaXRzOiBDQ1JDLCBDVE8sIERDUkMsIERUTyAqLwogI2Rl
ZmluZSBUSUZNX01NQ1NEX0VPQyAgICAgICAgMHgwMDAxICAgLyogZW5kIG9mIGNvbW1hbmQgcGhh
c2UgICovCisjZGVmaW5lIFRJRk1fTU1DU0RfQ0QgICAgICAgICAweDAwMDIgICAvKiBjYXJkIGRl
dGVjdCAgICAgICAgICAgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9DQiAgICAgICAgIDB4MDAwNCAg
IC8qIGNhcmQgZW50ZXIgYnVzeSBzdGF0ZSAqLwogI2RlZmluZSBUSUZNX01NQ1NEX0JSUyAgICAg
ICAgMHgwMDA4ICAgLyogYmxvY2sgcmVjZWl2ZWQvc2VudCAgICovCiAjZGVmaW5lIFRJRk1fTU1D
U0RfRU9GQiAgICAgICAweDAwMTAgICAvKiBjYXJkIGV4aXQgYnVzeSBzdGF0ZSAgKi8KQEAgLTQ4
LDggKzUxLDEzIEBAIG1vZHVsZV9wYXJhbShmaXhlZF90aW1lb3V0LCBib29sLCAwNjQ0KTsKICNk
ZWZpbmUgVElGTV9NTUNTRF9DQ1JDICAgICAgIDB4MDEwMCAgIC8qIGNvbW1hbmQgY3JjIGVycm9y
ICAgICAqLwogI2RlZmluZSBUSUZNX01NQ1NEX0FGICAgICAgICAgMHgwNDAwICAgLyogZmlmbyBh
bG1vc3QgZnVsbCAgICAgICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfQUUgICAgICAgICAweDA4MDAg
ICAvKiBmaWZvIGFsbW9zdCBlbXB0eSAgICAgKi8KKyNkZWZpbmUgVElGTV9NTUNTRF9PQ1JCICAg
ICAgIDB4MTAwMCAgIC8qIE9DUiBidXN5ICAgICAgICAgICAgICAqLworI2RlZmluZSBUSUZNX01N
Q1NEX0NJUlEgICAgICAgMHgyMDAwICAgLyogY2FyZCBpcnEgKGNtZDQwL3NkaW8pICovCiAjZGVm
aW5lIFRJRk1fTU1DU0RfQ0VSUiAgICAgICAweDQwMDAgICAvKiBjYXJkIHN0YXR1cyBlcnJvciAg
ICAgKi8KIAorI2RlZmluZSBUSUZNX01NQ1NEX09EVE8gICAgICAgMHgwMDQwICAgLyogb3BlbiBk
cmFpbiAvIGV4dGVuZGVkIHRpbWVvdXQgKi8KKyNkZWZpbmUgVElGTV9NTUNTRF9DQVJEX1JPICAg
IDB4MDIwMCAgIC8qIGNhcmQgaXMgcmVhZC1vbmx5ICAgICAqLworCiAjZGVmaW5lIFRJRk1fTU1D
U0RfRklGT19TSVpFICAweDAwMjAKIAogI2RlZmluZSBUSUZNX01NQ1NEX1JTUF9SMCAgICAgMHgw
MDAwCkBAIC02Nyw5NyArNzUsMjU1IEBAIG1vZHVsZV9wYXJhbShmaXhlZF90aW1lb3V0LCBib29s
LCAwNjQ0KTsKICNkZWZpbmUgVElGTV9NTUNTRF9DTURfQUMgICAgIDB4MjAwMAogI2RlZmluZSBU
SUZNX01NQ1NEX0NNRF9BRFRDICAgMHgzMDAwCiAKLXR5cGVkZWYgZW51bSB7Ci0JSURMRSA9IDAs
Ci0JQ01ELCAgICAvKiBtYWluIGNvbW1hbmQgZW5kZWQgICAgICAgICAgICAgICAgICAgKi8KLQlC
UlMsICAgIC8qIGJsb2NrIHRyYW5zZmVyIGZpbmlzaGVkICAgICAgICAgICAgICAqLwotCVNDTUQs
ICAgLyogc3RvcCBjb21tYW5kIGVuZGVkICAgICAgICAgICAgICAgICAgICovCi0JQ0FSRCwgICAv
KiBjYXJkIGxlZnQgYnVzeSBzdGF0ZSAgICAgICAgICAgICAgICAgKi8KLQlGSUZPLCAgIC8qIEZJ
Rk8gb3BlcmF0aW9uIGNvbXBsZXRlZCAodW5jZXJ0YWluKSAqLwotCVJFQURZCi19IGNhcmRfc3Rh
dGVfdDsKKyNkZWZpbmUgVElGTV9NTUNTRF9NQVhfQkxPQ0tfU0laRSAgMHgwODAwVUwKIAogZW51
bSB7Ci0JRklGT19SRFkgICA9IDB4MDAwMSwgICAgIC8qIGhhcmR3YXJlIGRlcGVuZGVudCB2YWx1
ZSAqLwotCUVKRUNUICAgICAgPSAweDAwMDQsCi0JRUpFQ1RfRE9ORSA9IDB4MDAwOCwKLQlDQVJE
X0JVU1kgID0gMHgwMDEwLAotCU9QRU5EUkFJTiAgPSAweDAwNDAsICAgICAvKiBoYXJkd2FyZSBk
ZXBlbmRlbnQgdmFsdWUgKi8KLQlDQVJEX0VWRU5UID0gMHgwMTAwLCAgICAgLyogaGFyZHdhcmUg
ZGVwZW5kZW50IHZhbHVlICovCi0JQ0FSRF9STyAgICA9IDB4MDIwMCwgICAgIC8qIGhhcmR3YXJl
IGRlcGVuZGVudCB2YWx1ZSAqLwotCUZJRk9fRVZFTlQgPSAweDEwMDAwIH07ICAvKiBoYXJkd2Fy
ZSBkZXBlbmRlbnQgdmFsdWUgKi8KKwlDTURfUkVBRFkgICAgPSAweDAwMDEsCisJRklGT19SRUFE
WSAgID0gMHgwMDAyLAorCUJSU19SRUFEWSAgICA9IDB4MDAwNCwKKwlTQ01EX0FDVElWRSAgPSAw
eDAwMDgsCisJU0NNRF9SRUFEWSAgID0gMHgwMDEwLAorCUNBUkRfQlVTWSAgICA9IDB4MDAyMCwK
KwlEQVRBX0NBUlJZICAgPSAweDAwNDAKK307CiAKIHN0cnVjdCB0aWZtX3NkIHsKLQlzdHJ1Y3Qg
dGlmbV9kZXYgICAgICpkZXY7CisJc3RydWN0IHRpZm1fZGV2ICAgICAgICpkZXY7CiAKLQl1bnNp
Z25lZCBpbnQgICAgICAgIGZsYWdzOwotCWNhcmRfc3RhdGVfdCAgICAgICAgc3RhdGU7Ci0JdW5z
aWduZWQgaW50ICAgICAgICBjbGtfZnJlcTsKLQl1bnNpZ25lZCBpbnQgICAgICAgIGNsa19kaXY7
Ci0JdW5zaWduZWQgbG9uZyAgICAgICB0aW1lb3V0X2ppZmZpZXM7CisJdW5zaWduZWQgc2hvcnQg
ICAgICAgIGVqZWN0OjEsCisJCQkgICAgICBvcGVuX2RyYWluOjEsCisJCQkgICAgICBub19kbWE6
MTsKKwl1bnNpZ25lZCBzaG9ydCAgICAgICAgY21kX2ZsYWdzOworCisJdW5zaWduZWQgaW50ICAg
ICAgICAgIGNsa19mcmVxOworCXVuc2lnbmVkIGludCAgICAgICAgICBjbGtfZGl2OworCXVuc2ln
bmVkIGxvbmcgICAgICAgICB0aW1lb3V0X2ppZmZpZXM7CiAKIAlzdHJ1Y3QgdGFza2xldF9zdHJ1
Y3QgZmluaXNoX3Rhc2tsZXQ7CiAJc3RydWN0IHRpbWVyX2xpc3QgICAgIHRpbWVyOwogCXN0cnVj
dCBtbWNfcmVxdWVzdCAgICAqcmVxOwotCXdhaXRfcXVldWVfaGVhZF90ICAgICBub3RpZnk7Ci0K
LQlzaXplX3QgICAgICAgICAgICAgICAgd3JpdHRlbl9ibG9ja3M7Ci0Jc2l6ZV90ICAgICAgICAg
ICAgICAgIGJ1ZmZlcl9zaXplOwotCXNpemVfdCAgICAgICAgICAgICAgICBidWZmZXJfcG9zOwog
CisJaW50ICAgICAgICAgICAgICAgICAgIHNnX2xlbjsKKwlpbnQgICAgICAgICAgICAgICAgICAg
c2dfcG9zOworCXVuc2lnbmVkIGludCAgICAgICAgICBibG9ja19wb3M7CisJc3RydWN0IHNjYXR0
ZXJsaXN0ICAgIGJvdW5jZV9idWY7CisJdW5zaWduZWQgY2hhciAgICAgICAgIGJvdW5jZV9idWZf
ZGF0YVtUSUZNX01NQ1NEX01BWF9CTE9DS19TSVpFXTsKIH07CiAKLXN0YXRpYyBjaGFyKiB0aWZt
X3NkX2RhdGFfYnVmZmVyKHN0cnVjdCBtbWNfZGF0YSAqZGF0YSkKKy8qIGZvciBzb21lIHJlYXNv
biwgaG9zdCB3b24ndCByZXNwb25kIGNvcnJlY3RseSB0byByZWFkdy93cml0ZXcgKi8KK3N0YXRp
YyB2b2lkIHRpZm1fc2RfcmVhZF9maWZvKHN0cnVjdCB0aWZtX3NkICpob3N0LCBzdHJ1Y3QgcGFn
ZSAqcGcsCisJCQkgICAgICB1bnNpZ25lZCBpbnQgb2ZmLCB1bnNpZ25lZCBpbnQgY250KQogewot
CXJldHVybiBwYWdlX2FkZHJlc3MoZGF0YS0+c2ctPnBhZ2UpICsgZGF0YS0+c2ctPm9mZnNldDsK
KwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7CisJdW5zaWduZWQgY2hhciAqYnVm
OworCXVuc2lnbmVkIGludCBwb3MgPSAwLCB2YWw7CisKKwlidWYgPSBrbWFwX2F0b21pYyhwZywg
S01fQklPX0RTVF9JUlEpICsgb2ZmOworCWlmIChob3N0LT5jbWRfZmxhZ3MgJiBEQVRBX0NBUlJZ
KSB7CisJCWJ1Zltwb3MrK10gPSBob3N0LT5ib3VuY2VfYnVmX2RhdGFbMF07CisJCWhvc3QtPmNt
ZF9mbGFncyAmPSB+REFUQV9DQVJSWTsKKwl9CisKKwl3aGlsZSAocG9zIDwgY250KSB7CisJCXZh
bCA9IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0RBVEEpOworCQlidWZbcG9zKytdID0g
dmFsICYgMHhmZjsKKwkJaWYgKHBvcyA9PSBjbnQpIHsKKwkJCWhvc3QtPmJvdW5jZV9idWZfZGF0
YVswXSA9ICh2YWwgPj4gOCkgJiAweGZmOworCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IERBVEFfQ0FS
Ulk7CisJCQlicmVhazsKKwkJfQorCQlidWZbcG9zKytdID0gKHZhbCA+PiA4KSAmIDB4ZmY7CisJ
fQorCWt1bm1hcF9hdG9taWMoYnVmIC0gb2ZmLCBLTV9CSU9fRFNUX0lSUSk7CiB9CiAKLXN0YXRp
YyBpbnQgdGlmbV9zZF90cmFuc2Zlcl9kYXRhKHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0
IHRpZm1fc2QgKmhvc3QsCi0JCQkJIHVuc2lnbmVkIGludCBob3N0X3N0YXR1cykKK3N0YXRpYyB2
b2lkIHRpZm1fc2Rfd3JpdGVfZmlmbyhzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwgc3RydWN0IHBhZ2Ug
KnBnLAorCQkJICAgICAgIHVuc2lnbmVkIGludCBvZmYsIHVuc2lnbmVkIGludCBjbnQpCiB7Ci0J
c3RydWN0IG1tY19jb21tYW5kICpjbWQgPSBob3N0LT5yZXEtPmNtZDsKLQl1bnNpZ25lZCBpbnQg
dF92YWwgPSAwLCBjbnQgPSAwOwotCWNoYXIgKmJ1ZmZlcjsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNv
Y2sgPSBob3N0LT5kZXY7CisJdW5zaWduZWQgY2hhciAqYnVmOworCXVuc2lnbmVkIGludCBwb3Mg
PSAwLCB2YWw7CiAKLQlpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0JSUykgewotCQkvKiBp
biBub24tZG1hIHJ4IG1vZGUgQlJTIGZpcmVzIHdoZW4gZmlmbyBpcyBzdGlsbCBub3QgZW1wdHkg
Ki8KLQkJaWYgKG5vX2RtYSAmJiAoY21kLT5kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1JFQUQpKSB7
Ci0JCQlidWZmZXIgPSB0aWZtX3NkX2RhdGFfYnVmZmVyKGhvc3QtPnJlcS0+ZGF0YSk7Ci0JCQl3
aGlsZSAoaG9zdC0+YnVmZmVyX3NpemUgPiBob3N0LT5idWZmZXJfcG9zKSB7Ci0JCQkJdF92YWwg
PSByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9EQVRBKTsKLQkJCQlidWZmZXJbaG9zdC0+
YnVmZmVyX3BvcysrXSA9IHRfdmFsICYgMHhmZjsKLQkJCQlidWZmZXJbaG9zdC0+YnVmZmVyX3Bv
cysrXSA9Ci0JCQkJCQkJKHRfdmFsID4+IDgpICYgMHhmZjsKLQkJCX0KKwlidWYgPSBrbWFwX2F0
b21pYyhwZywgS01fQklPX1NSQ19JUlEpICsgb2ZmOworCWlmIChob3N0LT5jbWRfZmxhZ3MgJiBE
QVRBX0NBUlJZKSB7CisJCXZhbCA9IGhvc3QtPmJvdW5jZV9idWZfZGF0YVswXSB8ICgoYnVmW3Bv
cysrXSA8PCA4KSAmIDB4ZmYwMCk7CisJCXdyaXRlbCh2YWwsIHNvY2stPmFkZHIgKyBTT0NLX01N
Q1NEX0RBVEEpOworCQlob3N0LT5jbWRfZmxhZ3MgJj0gfkRBVEFfQ0FSUlk7CisJfQorCisJd2hp
bGUgKHBvcyA8IGNudCkgeworCQl2YWwgPSBidWZbcG9zKytdOworCQlpZiAocG9zID09IGNudCkg
eworCQkJaG9zdC0+Ym91bmNlX2J1Zl9kYXRhWzBdID0gdmFsICYgMHhmZjsKKwkJCWhvc3QtPmNt
ZF9mbGFncyB8PSBEQVRBX0NBUlJZOworCQkJYnJlYWs7CiAJCX0KLQkJcmV0dXJuIDE7Ci0JfSBl
bHNlIGlmIChub19kbWEpIHsKLQkJYnVmZmVyID0gdGlmbV9zZF9kYXRhX2J1ZmZlcihob3N0LT5y
ZXEtPmRhdGEpOwotCQlpZiAoKGNtZC0+ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9SRUFEKSAmJgot
CQkJCShob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQUYpKSB7Ci0JCQlmb3IgKGNudCA9IDA7IGNu
dCA8IFRJRk1fTU1DU0RfRklGT19TSVpFOyBjbnQrKykgewotCQkJCXRfdmFsID0gcmVhZGwoc29j
ay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7Ci0JCQkJaWYgKGhvc3QtPmJ1ZmZlcl9zaXplID4g
aG9zdC0+YnVmZmVyX3BvcykgewotCQkJCQlidWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSA9Ci0J
CQkJCQkJdF92YWwgJiAweGZmOwotCQkJCQlidWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSA9Ci0J
CQkJCQkJKHRfdmFsID4+IDgpICYgMHhmZjsKLQkJCQl9Ci0JCQl9Ci0JCX0gZWxzZSBpZiAoKGNt
ZC0+ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKLQkJCSAgICYmIChob3N0X3N0YXR1cyAm
IFRJRk1fTU1DU0RfQUUpKSB7Ci0JCQlmb3IgKGNudCA9IDA7IGNudCA8IFRJRk1fTU1DU0RfRklG
T19TSVpFOyBjbnQrKykgewotCQkJCWlmIChob3N0LT5idWZmZXJfc2l6ZSA+IGhvc3QtPmJ1ZmZl
cl9wb3MpIHsKLQkJCQkJdF92YWwgPSBidWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXQotCQkJCQkJ
JiAweDAwZmY7Ci0JCQkJCXRfdmFsIHw9ICgoYnVmZmVyW2hvc3QtPmJ1ZmZlcl9wb3MrK10pCi0J
CQkJCQkgIDw8IDgpICYgMHhmZjAwOwotCQkJCQl3cml0ZWwodF92YWwsCi0JCQkJCSAgICAgICBz
b2NrLT5hZGRyICsgU09DS19NTUNTRF9EQVRBKTsKLQkJCQl9CisJCXZhbCB8PSAoYnVmW3Bvcysr
XSA8PCA4KSAmIDB4ZmYwMDsKKwkJd3JpdGVsKHZhbCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0Rf
REFUQSk7CisJfQorCWt1bm1hcF9hdG9taWMoYnVmIC0gb2ZmLCBLTV9CSU9fU1JDX0lSUSk7Cit9
CisKK3N0YXRpYyB2b2lkIHRpZm1fc2RfdHJhbnNmZXJfZGF0YShzdHJ1Y3QgdGlmbV9zZCAqaG9z
dCkKK3sKKwlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9IGhvc3QtPnJlcS0+Y21kLT5kYXRhOwor
CXN0cnVjdCBzY2F0dGVybGlzdCAqc2cgPSByX2RhdGEtPnNnOworCXVuc2lnbmVkIGludCBvZmYs
IGNudCwgdF9zaXplID0gVElGTV9NTUNTRF9GSUZPX1NJWkUgKiAyOworCXVuc2lnbmVkIGludCBw
X29mZiwgcF9jbnQ7CisJc3RydWN0IHBhZ2UgKnBnOworCisJaWYgKGhvc3QtPnNnX3BvcyA9PSBo
b3N0LT5zZ19sZW4pCisJCXJldHVybjsKKwl3aGlsZSAodF9zaXplKSB7CisJCWNudCA9IHNnW2hv
c3QtPnNnX3Bvc10ubGVuZ3RoIC0gaG9zdC0+YmxvY2tfcG9zOworCQlpZiAoIWNudCkgeworCQkJ
aG9zdC0+YmxvY2tfcG9zID0gMDsKKwkJCWhvc3QtPnNnX3BvcysrOworCQkJaWYgKGhvc3QtPnNn
X3BvcyA9PSBob3N0LT5zZ19sZW4pIHsKKwkJCQlpZiAoKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFU
QV9XUklURSkKKwkJCQkgICAgJiYgREFUQV9DQVJSWSkKKwkJCQkJd3JpdGVsKGhvc3QtPmJvdW5j
ZV9idWZfZGF0YVswXSwKKwkJCQkJICAgICAgIGhvc3QtPmRldi0+YWRkcgorCQkJCQkgICAgICAg
KyBTT0NLX01NQ1NEX0RBVEEpOworCisJCQkJcmV0dXJuOwogCQkJfQorCQkJY250ID0gc2dbaG9z
dC0+c2dfcG9zXS5sZW5ndGg7CiAJCX0KKwkJb2ZmID0gc2dbaG9zdC0+c2dfcG9zXS5vZmZzZXQg
KyBob3N0LT5ibG9ja19wb3M7CisKKwkJcGcgPSBudGhfcGFnZShzZ1tob3N0LT5zZ19wb3NdLnBh
Z2UsIG9mZiA+PiBQQUdFX1NISUZUKTsKKwkJcF9vZmYgPSBvZmZzZXRfaW5fcGFnZShvZmYpOwor
CQlwX2NudCA9IFBBR0VfU0laRSAtIHBfb2ZmOworCQlwX2NudCA9IG1pbihwX2NudCwgY250KTsK
KwkJcF9jbnQgPSBtaW4ocF9jbnQsIHRfc2l6ZSk7CisKKwkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBN
TUNfREFUQV9SRUFEKQorCQkJdGlmbV9zZF9yZWFkX2ZpZm8oaG9zdCwgcGcsIHBfb2ZmLCBwX2Nu
dCk7CisJCWVsc2UgaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJCXRpZm1f
c2Rfd3JpdGVfZmlmbyhob3N0LCBwZywgcF9vZmYsIHBfY250KTsKKworCQl0X3NpemUgLT0gcF9j
bnQ7CisJCWhvc3QtPmJsb2NrX3BvcyArPSBwX2NudDsKIAl9Cit9CisKK3N0YXRpYyB2b2lkIHRp
Zm1fc2RfY29weV9wYWdlKHN0cnVjdCBwYWdlICpkc3QsIHVuc2lnbmVkIGludCBkc3Rfb2ZmLAor
CQkJICAgICAgc3RydWN0IHBhZ2UgKnNyYywgdW5zaWduZWQgaW50IHNyY19vZmYsCisJCQkgICAg
ICB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJdW5zaWduZWQgY2hhciAqc3JjX2J1ZiA9IGttYXBf
YXRvbWljKHNyYywgS01fQklPX1NSQ19JUlEpICsgc3JjX29mZjsKKwl1bnNpZ25lZCBjaGFyICpk
c3RfYnVmID0ga21hcF9hdG9taWMoZHN0LCBLTV9CSU9fRFNUX0lSUSkgKyBkc3Rfb2ZmOworCisJ
bWVtY3B5KGRzdF9idWYsIHNyY19idWYsIGNvdW50KTsKKworCWt1bm1hcF9hdG9taWMoZHN0X2J1
ZiAtIGRzdF9vZmYsIEtNX0JJT19EU1RfSVJRKTsKKwlrdW5tYXBfYXRvbWljKHNyY19idWYgLSBz
cmNfb2ZmLCBLTV9CSU9fU1JDX0lSUSk7Cit9CisKK3N0YXRpYyB2b2lkIHRpZm1fc2RfYm91bmNl
X2Jsb2NrKHN0cnVjdCB0aWZtX3NkICpob3N0LCBzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSkKK3sK
KwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnID0gcl9kYXRhLT5zZzsKKwl1bnNpZ25lZCBpbnQgdF9z
aXplID0gcl9kYXRhLT5ibGtzejsKKwl1bnNpZ25lZCBpbnQgb2ZmLCBjbnQ7CisJdW5zaWduZWQg
aW50IHBfb2ZmLCBwX2NudDsKKwlzdHJ1Y3QgcGFnZSAqcGc7CisKKwlkZXZfZGJnKCZob3N0LT5k
ZXYtPmRldiwgImJvdW5jaW5nIGJsb2NrXG4iKTsKKwl3aGlsZSAodF9zaXplKSB7CisJCWNudCA9
IHNnW2hvc3QtPnNnX3Bvc10ubGVuZ3RoIC0gaG9zdC0+YmxvY2tfcG9zOworCQlpZiAoIWNudCkg
eworCQkJaG9zdC0+YmxvY2tfcG9zID0gMDsKKwkJCWhvc3QtPnNnX3BvcysrOworCQkJaWYgKGhv
c3QtPnNnX3BvcyA9PSBob3N0LT5zZ19sZW4pCisJCQkJcmV0dXJuOworCQkJY250ID0gc2dbaG9z
dC0+c2dfcG9zXS5sZW5ndGg7CisJCX0KKwkJb2ZmID0gc2dbaG9zdC0+c2dfcG9zXS5vZmZzZXQg
KyBob3N0LT5ibG9ja19wb3M7CisKKwkJcGcgPSBudGhfcGFnZShzZ1tob3N0LT5zZ19wb3NdLnBh
Z2UsIG9mZiA+PiBQQUdFX1NISUZUKTsKKwkJcF9vZmYgPSBvZmZzZXRfaW5fcGFnZShvZmYpOwor
CQlwX2NudCA9IFBBR0VfU0laRSAtIHBfb2ZmOworCQlwX2NudCA9IG1pbihwX2NudCwgY250KTsK
KwkJcF9jbnQgPSBtaW4ocF9jbnQsIHRfc2l6ZSk7CisKKwkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBN
TUNfREFUQV9XUklURSkKKwkJCXRpZm1fc2RfY29weV9wYWdlKGhvc3QtPmJvdW5jZV9idWYucGFn
ZSwKKwkJCQkJICByX2RhdGEtPmJsa3N6IC0gdF9zaXplLAorCQkJCQkgIHBnLCBwX29mZiwgcF9j
bnQpOworCQllbHNlIGlmIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfUkVBRCkKKwkJCXRpZm1f
c2RfY29weV9wYWdlKHBnLCBwX29mZiwgaG9zdC0+Ym91bmNlX2J1Zi5wYWdlLAorCQkJCQkgIHJf
ZGF0YS0+Ymxrc3ogLSB0X3NpemUsIHBfY250KTsKKworCQl0X3NpemUgLT0gcF9jbnQ7CisJCWhv
c3QtPmJsb2NrX3BvcyArPSBwX2NudDsKKwl9Cit9CisKK2ludCB0aWZtX3NkX3NldF9kbWFfZGF0
YShzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwgc3RydWN0IG1tY19kYXRhICpyX2RhdGEpCit7CisJc3Ry
dWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OworCXVuc2lnbmVkIGludCB0X3NpemUgPSBU
SUZNX0RNQV9UU0laRSAqIHJfZGF0YS0+Ymxrc3o7CisJdW5zaWduZWQgaW50IGRtYV9sZW4sIGRt
YV9ibGtfY250LCBkbWFfb2ZmOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2cgPSBOVUxMOworCXVu
c2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAoaG9zdC0+c2dfcG9zID09IGhvc3QtPnNnX2xlbikK
KwkJcmV0dXJuIDE7CisKKwlpZiAoaG9zdC0+Y21kX2ZsYWdzICYgREFUQV9DQVJSWSkgeworCQlo
b3N0LT5jbWRfZmxhZ3MgJj0gfkRBVEFfQ0FSUlk7CisJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsK
KwkJdGlmbV9zZF9ib3VuY2VfYmxvY2soaG9zdCwgcl9kYXRhKTsKKwkJbG9jYWxfaXJxX3Jlc3Rv
cmUoZmxhZ3MpOworCQlpZiAoaG9zdC0+c2dfcG9zID09IGhvc3QtPnNnX2xlbikKKwkJCXJldHVy
biAxOworCX0KKworCWRtYV9sZW4gPSBzZ19kbWFfbGVuKCZyX2RhdGEtPnNnW2hvc3QtPnNnX3Bv
c10pIC0gaG9zdC0+YmxvY2tfcG9zOworCWlmICghZG1hX2xlbikgeworCQlob3N0LT5ibG9ja19w
b3MgPSAwOworCQlob3N0LT5zZ19wb3MrKzsKKwkJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5z
Z19sZW4pCisJCQlyZXR1cm4gMTsKKwkJZG1hX2xlbiA9IHNnX2RtYV9sZW4oJnJfZGF0YS0+c2db
aG9zdC0+c2dfcG9zXSk7CisJfQorCisJaWYgKGRtYV9sZW4gPCB0X3NpemUpIHsKKwkJZG1hX2Js
a19jbnQgPSBkbWFfbGVuIC8gcl9kYXRhLT5ibGtzejsKKwkJZG1hX29mZiA9IGhvc3QtPmJsb2Nr
X3BvczsKKwkJaG9zdC0+YmxvY2tfcG9zICs9IGRtYV9ibGtfY250ICogcl9kYXRhLT5ibGtzejsK
Kwl9IGVsc2UgeworCQlkbWFfYmxrX2NudCA9IFRJRk1fRE1BX1RTSVpFOworCQlkbWFfb2ZmID0g
aG9zdC0+YmxvY2tfcG9zOworCQlob3N0LT5ibG9ja19wb3MgKz0gdF9zaXplOworCX0KKworCWlm
IChkbWFfYmxrX2NudCkKKwkJc2cgPSAmcl9kYXRhLT5zZ1tob3N0LT5zZ19wb3NdOworCWVsc2Ug
aWYgKGRtYV9sZW4pIHsKKwkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgewor
CQkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCQkJdGlmbV9zZF9ib3VuY2VfYmxvY2soaG9zdCwg
cl9kYXRhKTsKKwkJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwkJfSBlbHNlCisJCQlob3N0
LT5jbWRfZmxhZ3MgfD0gREFUQV9DQVJSWTsKKworCQlzZyA9ICZob3N0LT5ib3VuY2VfYnVmOwor
CQlkbWFfb2ZmID0gMDsKKwkJZG1hX2Jsa19jbnQgPSAxOworCX0gZWxzZQorCQlyZXR1cm4gMTsK
KworCWRldl9kYmcoJnNvY2stPmRldiwgInNldHRpbmcgZG1hIGZvciAlZCBibG9ja3NcbiIsIGRt
YV9ibGtfY250KTsKKwl3cml0ZWwoc2dfZG1hX2FkZHJlc3Moc2cpICsgZG1hX29mZiwgc29jay0+
YWRkciArIFNPQ0tfRE1BX0FERFJFU1MpOworCWlmIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFf
V1JJVEUpCisJCXdyaXRlbCgoZG1hX2Jsa19jbnQgPDwgOCkgfCBUSUZNX0RNQV9UWCB8IFRJRk1f
RE1BX0VOLAorCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0NPTlRST0wpOworCWVsc2UK
KwkJd3JpdGVsKChkbWFfYmxrX2NudCA8PCA4KSB8IFRJRk1fRE1BX0VOLAorCQkgICAgICAgc29j
ay0+YWRkciArIFNPQ0tfRE1BX0NPTlRST0wpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIwNiw4
ICszNzIsMTAgQEAgc3RhdGljIHVuc2lnbmVkIGludCB0aWZtX3NkX29wX2ZsYWdzKHN0cgogc3Rh
dGljIHZvaWQgdGlmbV9zZF9leGVjKHN0cnVjdCB0aWZtX3NkICpob3N0LCBzdHJ1Y3QgbW1jX2Nv
bW1hbmQgKmNtZCkKIHsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7Ci0JdW5z
aWduZWQgaW50IGNtZF9tYXNrID0gdGlmbV9zZF9vcF9mbGFncyhjbWQpIHwKLQkJCQkoaG9zdC0+
ZmxhZ3MgJiBPUEVORFJBSU4pOworCXVuc2lnbmVkIGludCBjbWRfbWFzayA9IHRpZm1fc2Rfb3Bf
ZmxhZ3MoY21kKTsKKworCWlmIChob3N0LT5vcGVuX2RyYWluKQorCQljbWRfbWFzayB8PSBUSUZN
X01NQ1NEX09EVE87CiAKIAlpZiAoY21kLT5kYXRhICYmIChjbWQtPmRhdGEtPmZsYWdzICYgTU1D
X0RBVEFfUkVBRCkpCiAJCWNtZF9tYXNrIHw9IFRJRk1fTU1DU0RfUkVBRDsKQEAgLTIzMiwxOTEg
KzQwMCwxOTQgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9mZXRjaF9yZXNwKHN0cnVjdCBtbQogCQkg
ICAgICAgfCByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9SRVNQT05TRSArIDB4MDApOwog
fQogCi1zdGF0aWMgdm9pZCB0aWZtX3NkX3Byb2Nlc3NfY21kKHN0cnVjdCB0aWZtX2RldiAqc29j
aywgc3RydWN0IHRpZm1fc2QgKmhvc3QsCi0JCQkJICAgICAgIHVuc2lnbmVkIGludCBob3N0X3N0
YXR1cykKK3N0YXRpYyB2b2lkIHRpZm1fc2RfY2hlY2tfc3RhdHVzKHN0cnVjdCB0aWZtX3NkICpo
b3N0KQogeworCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKIAlzdHJ1Y3QgbW1j
X2NvbW1hbmQgKmNtZCA9IGhvc3QtPnJlcS0+Y21kOwogCi1jaGFuZ2Vfc3RhdGU6Ci0Jc3dpdGNo
IChob3N0LT5zdGF0ZSkgewotCWNhc2UgSURMRToKKwlpZiAoY21kLT5lcnJvciAhPSBNTUNfRVJS
X05PTkUpCisJCWdvdG8gZmluaXNoX3JlcXVlc3Q7CisKKwlpZiAoIShob3N0LT5jbWRfZmxhZ3Mg
JiBDTURfUkVBRFkpKQogCQlyZXR1cm47Ci0JY2FzZSBDTUQ6Ci0JCWlmIChob3N0X3N0YXR1cyAm
IChUSUZNX01NQ1NEX0VPQyB8IFRJRk1fTU1DU0RfQ0VSUikpIHsKLQkJCXRpZm1fc2RfZmV0Y2hf
cmVzcChjbWQsIHNvY2spOwotCQkJaWYgKGNtZC0+ZGF0YSkgewotCQkJCWhvc3QtPnN0YXRlID0g
QlJTOwotCQkJfSBlbHNlIHsKLQkJCQlob3N0LT5zdGF0ZSA9IFJFQURZOwotCQkJfQotCQkJZ290
byBjaGFuZ2Vfc3RhdGU7Ci0JCX0KLQkJYnJlYWs7Ci0JY2FzZSBCUlM6Ci0JCWlmICh0aWZtX3Nk
X3RyYW5zZmVyX2RhdGEoc29jaywgaG9zdCwgaG9zdF9zdGF0dXMpKSB7Ci0JCQlpZiAoY21kLT5k
YXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSB7Ci0JCQkJaG9zdC0+c3RhdGUgPSBDQVJEOwot
CQkJfSBlbHNlIHsKLQkJCQlpZiAobm9fZG1hKSB7Ci0JCQkJCWlmIChob3N0LT5yZXEtPnN0b3Ap
IHsKLQkJCQkJCXRpZm1fc2RfZXhlYyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOwotCQkJCQkJaG9z
dC0+c3RhdGUgPSBTQ01EOwotCQkJCQl9IGVsc2UgewotCQkJCQkJaG9zdC0+c3RhdGUgPSBSRUFE
WTsKLQkJCQkJfQotCQkJCX0gZWxzZSB7Ci0JCQkJCWhvc3QtPnN0YXRlID0gRklGTzsKLQkJCQl9
Ci0JCQl9Ci0JCQlnb3RvIGNoYW5nZV9zdGF0ZTsKLQkJfQotCQlicmVhazsKLQljYXNlIFNDTUQ6
Ci0JCWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRU9DKSB7Ci0JCQl0aWZtX3NkX2ZldGNo
X3Jlc3AoaG9zdC0+cmVxLT5zdG9wLCBzb2NrKTsKLQkJCWhvc3QtPnN0YXRlID0gUkVBRFk7Ci0J
CQlnb3RvIGNoYW5nZV9zdGF0ZTsKKworCWlmIChjbWQtPmRhdGEpIHsKKwkJaWYgKGNtZC0+ZGF0
YS0+ZXJyb3IgIT0gTU1DX0VSUl9OT05FKSB7CisJCQlpZiAoKGhvc3QtPmNtZF9mbGFncyAmIFND
TURfQUNUSVZFKQorCQkJICAgICYmICEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9SRUFEWSkpCisJ
CQkJcmV0dXJuOworCisJCQlnb3RvIGZpbmlzaF9yZXF1ZXN0OwogCQl9Ci0JCWJyZWFrOwotCWNh
c2UgQ0FSRDoKLQkJZGV2X2RiZygmc29jay0+ZGV2LCAid2FpdGluZyBmb3IgQ0FSRCwgaGF2ZSAl
emQgYmxvY2tzXG4iLAotCQkJaG9zdC0+d3JpdHRlbl9ibG9ja3MpOwotCQlpZiAoIShob3N0LT5m
bGFncyAmIENBUkRfQlVTWSkKLQkJICAgICYmIChob3N0LT53cml0dGVuX2Jsb2NrcyA9PSBjbWQt
PmRhdGEtPmJsb2NrcykpIHsKLQkJCWlmIChub19kbWEpIHsKLQkJCQlpZiAoaG9zdC0+cmVxLT5z
dG9wKSB7CisKKwkJaWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgQlJTX1JFQURZKSkKKwkJCXJldHVy
bjsKKworCQlpZiAoIShob3N0LT5ub19kbWEgfHwgKGhvc3QtPmNtZF9mbGFncyAmIEZJRk9fUkVB
RFkpKSkKKwkJCXJldHVybjsKKworCQlpZiAoY21kLT5kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dS
SVRFKSB7CisJCQlpZiAoaG9zdC0+cmVxLT5zdG9wKSB7CisJCQkJaWYgKCEoaG9zdC0+Y21kX2Zs
YWdzICYgU0NNRF9BQ1RJVkUpKSB7CisJCQkJCWhvc3QtPmNtZF9mbGFncyB8PSBTQ01EX0FDVElW
RTsKKwkJCQkJd3JpdGVsKFRJRk1fTU1DU0RfRU9GQgorCQkJCQkgICAgICAgfCByZWFkbChzb2Nr
LT5hZGRyCisJCQkJCQkgICAgICAgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpLAorCQkJCQkgICAg
ICAgc29jay0+YWRkcgorCQkJCQkgICAgICAgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwogCQkJ
CQl0aWZtX3NkX2V4ZWMoaG9zdCwgaG9zdC0+cmVxLT5zdG9wKTsKLQkJCQkJaG9zdC0+c3RhdGUg
PSBTQ01EOworCQkJCQlyZXR1cm47CiAJCQkJfSBlbHNlIHsKLQkJCQkJaG9zdC0+c3RhdGUgPSBS
RUFEWTsKKwkJCQkJaWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9SRUFEWSkKKwkJCQkJICAg
IHx8IChob3N0LT5jbWRfZmxhZ3MgJiBDQVJEX0JVU1kpKQorCQkJCQkJcmV0dXJuOworCQkJCQl3
cml0ZWwoKH5USUZNX01NQ1NEX0VPRkIpCisJCQkJCSAgICAgICAmIHJlYWRsKHNvY2stPmFkZHIK
KwkJCQkJCSAgICAgICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCisJCQkJCSAgICAgICBzb2Nr
LT5hZGRyCisJCQkJCSAgICAgICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7CiAJCQkJfQogCQkJ
fSBlbHNlIHsKLQkJCQlob3N0LT5zdGF0ZSA9IEZJRk87CisJCQkJaWYgKGhvc3QtPmNtZF9mbGFn
cyAmIENBUkRfQlVTWSkKKwkJCQkJcmV0dXJuOworCQkJCXdyaXRlbCgoflRJRk1fTU1DU0RfRU9G
QikKKwkJCQkgICAgICAgJiByZWFkbChzb2NrLT5hZGRyCisJCQkJCSAgICAgICArIFNPQ0tfTU1D
U0RfSU5UX0VOQUJMRSksCisJCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9F
TkFCTEUpOwogCQkJfQotCQkJZ290byBjaGFuZ2Vfc3RhdGU7Ci0JCX0KLQkJYnJlYWs7Ci0JY2Fz
ZSBGSUZPOgotCQlpZiAoaG9zdC0+ZmxhZ3MgJiBGSUZPX1JEWSkgewotCQkJaG9zdC0+ZmxhZ3Mg
Jj0gfkZJRk9fUkRZOworCQl9IGVsc2UgewogCQkJaWYgKGhvc3QtPnJlcS0+c3RvcCkgewotCQkJ
CXRpZm1fc2RfZXhlYyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOwotCQkJCWhvc3QtPnN0YXRlID0g
U0NNRDsKLQkJCX0gZWxzZSB7Ci0JCQkJaG9zdC0+c3RhdGUgPSBSRUFEWTsKKwkJCQlpZiAoISho
b3N0LT5jbWRfZmxhZ3MgJiBTQ01EX0FDVElWRSkpIHsKKwkJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9
IFNDTURfQUNUSVZFOworCQkJCQl0aWZtX3NkX2V4ZWMoaG9zdCwgaG9zdC0+cmVxLT5zdG9wKTsK
KwkJCQkJcmV0dXJuOworCQkJCX0gZWxzZSB7CisJCQkJCWlmICghKGhvc3QtPmNtZF9mbGFncyAm
IFNDTURfUkVBRFkpKQorCQkJCQkJcmV0dXJuOworCQkJCX0KIAkJCX0KLQkJCWdvdG8gY2hhbmdl
X3N0YXRlOwogCQl9Ci0JCWJyZWFrOwotCWNhc2UgUkVBRFk6Ci0JCXRhc2tsZXRfc2NoZWR1bGUo
Jmhvc3QtPmZpbmlzaF90YXNrbGV0KTsKLQkJcmV0dXJuOwogCX0KLQorZmluaXNoX3JlcXVlc3Q6
CisJdGFza2xldF9zY2hlZHVsZSgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQpOwogfQogCiAvKiBDYWxs
ZWQgZnJvbSBpbnRlcnJ1cHQgaGFuZGxlciAqLwotc3RhdGljIHZvaWQgdGlmbV9zZF9zaWduYWxf
aXJxKHN0cnVjdCB0aWZtX2RldiAqc29jaywKLQkJCSAgICAgICB1bnNpZ25lZCBpbnQgc29ja19p
cnFfc3RhdHVzKQorc3RhdGljIHZvaWQgdGlmbV9zZF9kYXRhX2V2ZW50KHN0cnVjdCB0aWZtX2Rl
diAqc29jaykKIHsKIAlzdHJ1Y3QgdGlmbV9zZCAqaG9zdDsKLQl1bnNpZ25lZCBpbnQgaG9zdF9z
dGF0dXMgPSAwLCBmaWZvX3N0YXR1cyA9IDA7Ci0JaW50IGVycm9yX2NvZGUgPSAwOworCXVuc2ln
bmVkIGludCBmaWZvX3N0YXR1cyA9IDA7CisJc3RydWN0IG1tY19kYXRhICpyX2RhdGEgPSBOVUxM
OwogCiAJc3Bpbl9sb2NrKCZzb2NrLT5sb2NrKTsKIAlob3N0ID0gbW1jX3ByaXYoKHN0cnVjdCBt
bWNfaG9zdCopdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKSk7CisJZmlmb19zdGF0dXMgPSByZWFkbChz
b2NrLT5hZGRyICsgU09DS19ETUFfRklGT19TVEFUVVMpOworCWRldl9kYmcoJnNvY2stPmRldiwg
ImRhdGEgZXZlbnQ6IGZpZm9fc3RhdHVzICV4LCBmbGFncyAleFxuIiwKKwkJZmlmb19zdGF0dXMs
IGhvc3QtPmNtZF9mbGFncyk7CiAKLQlpZiAoc29ja19pcnFfc3RhdHVzICYgRklGT19FVkVOVCkg
ewotCQlmaWZvX3N0YXR1cyA9IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX1NUQVRV
Uyk7Ci0JCXdyaXRlbChmaWZvX3N0YXR1cywgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fU1RB
VFVTKTsKKwlpZiAoaG9zdC0+cmVxKSB7CisJCXJfZGF0YSA9IGhvc3QtPnJlcS0+Y21kLT5kYXRh
OwogCi0JCWhvc3QtPmZsYWdzIHw9IGZpZm9fc3RhdHVzICYgRklGT19SRFk7CisJCWlmIChyX2Rh
dGEgJiYgKGZpZm9fc3RhdHVzICYgVElGTV9GSUZPX1JFQURZKSkgeworCQkJaWYgKHRpZm1fc2Rf
c2V0X2RtYV9kYXRhKGhvc3QsIHJfZGF0YSkpIHsKKwkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gRklG
T19SRUFEWTsKKwkJCQl0aWZtX3NkX2NoZWNrX3N0YXR1cyhob3N0KTsKKwkJCX0KKwkJfQogCX0K
IAotCWlmIChzb2NrX2lycV9zdGF0dXMgJiBDQVJEX0VWRU5UKSB7Ci0JCWhvc3Rfc3RhdHVzID0g
cmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfU1RBVFVTKTsKLQkJd3JpdGVsKGhvc3Rfc3Rh
dHVzLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOworCXdyaXRlbChmaWZvX3N0YXR1
cywgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fU1RBVFVTKTsKKwlzcGluX3VubG9jaygmc29j
ay0+bG9jayk7Cit9CiAKLQkJaWYgKCFob3N0LT5yZXEpCi0JCQlnb3RvIGRvbmU7CisvKiBDYWxs
ZWQgZnJvbSBpbnRlcnJ1cHQgaGFuZGxlciAqLworc3RhdGljIHZvaWQgdGlmbV9zZF9jYXJkX2V2
ZW50KHN0cnVjdCB0aWZtX2RldiAqc29jaykKK3sKKwlzdHJ1Y3QgdGlmbV9zZCAqaG9zdDsKKwl1
bnNpZ25lZCBpbnQgaG9zdF9zdGF0dXMgPSAwOworCWludCBjbWRfZXJyb3IgPSBNTUNfRVJSX05P
TkU7CisJc3RydWN0IG1tY19jb21tYW5kICpjbWQgPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgZmxh
Z3M7CisKKwlzcGluX2xvY2soJnNvY2stPmxvY2spOworCWhvc3QgPSBtbWNfcHJpdigoc3RydWN0
IG1tY19ob3N0Kil0aWZtX2dldF9kcnZkYXRhKHNvY2spKTsKKwlob3N0X3N0YXR1cyA9IHJlYWRs
KHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1NUQVRVUyk7CisJZGV2X2RiZygmc29jay0+ZGV2LCAi
aG9zdCBldmVudDogaG9zdF9zdGF0dXMgJXgsIGZsYWdzICV4XG4iLAorCQlob3N0X3N0YXR1cywg
aG9zdC0+Y21kX2ZsYWdzKTsKKworCWlmIChob3N0LT5yZXEpIHsKKwkJY21kID0gaG9zdC0+cmVx
LT5jbWQ7CiAKIAkJaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9FUlJNQVNLKSB7Ci0JCQlp
ZiAoaG9zdF9zdGF0dXMgJiAoVElGTV9NTUNTRF9DVE8gfCBUSUZNX01NQ1NEX0RUTykpCi0JCQkJ
ZXJyb3JfY29kZSA9IE1NQ19FUlJfVElNRU9VVDsKLQkJCWVsc2UgaWYgKGhvc3Rfc3RhdHVzCi0J
CQkJICYgKFRJRk1fTU1DU0RfQ0NSQyB8IFRJRk1fTU1DU0RfRENSQykpCi0JCQkJZXJyb3JfY29k
ZSA9IE1NQ19FUlJfQkFEQ1JDOworCQkJd3JpdGVsKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9F
UlJNQVNLLAorCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1NUQVRVUyk7CisJCQlp
ZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0NUTykKKwkJCQljbWRfZXJyb3IgPSBNTUNfRVJS
X1RJTUVPVVQ7CisJCQllbHNlIGlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQ0NSQykKKwkJ
CQljbWRfZXJyb3IgPSBNTUNfRVJSX0JBRENSQzsKKworCQkJaWYgKGNtZC0+ZGF0YSkgeworCQkJ
CWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRFRPKQorCQkJCQljbWQtPmRhdGEtPmVycm9y
ID0gTU1DX0VSUl9USU1FT1VUOworCQkJCWVsc2UgaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNT
RF9EQ1JDKQorCQkJCQljbWQtPmRhdGEtPmVycm9yID0gTU1DX0VSUl9CQURDUkM7CisJCQl9CiAK
IAkJCXdyaXRlbChUSUZNX0ZJRk9fSU5UX1NFVEFMTCwKIAkJCSAgICAgICBzb2NrLT5hZGRyICsg
U09DS19ETUFfRklGT19JTlRfRU5BQkxFX0NMRUFSKTsKIAkJCXdyaXRlbChUSUZNX0RNQV9SRVNF
VCwgc29jay0+YWRkciArIFNPQ0tfRE1BX0NPTlRST0wpOwogCiAJCQlpZiAoaG9zdC0+cmVxLT5z
dG9wKSB7Ci0JCQkJaWYgKGhvc3QtPnN0YXRlID09IFNDTUQpIHsKLQkJCQkJaG9zdC0+cmVxLT5z
dG9wLT5lcnJvciA9IGVycm9yX2NvZGU7Ci0JCQkJfSBlbHNlIGlmIChob3N0LT5zdGF0ZSA9PSBC
UlMKLQkJCQkJICAgfHwgaG9zdC0+c3RhdGUgPT0gQ0FSRAotCQkJCQkgICB8fCBob3N0LT5zdGF0
ZSA9PSBGSUZPKSB7Ci0JCQkJCWhvc3QtPnJlcS0+Y21kLT5lcnJvciA9IGVycm9yX2NvZGU7CisJ
CQkJaWYgKGhvc3QtPmNtZF9mbGFncyAmIFNDTURfQUNUSVZFKSB7CisJCQkJCWhvc3QtPnJlcS0+
c3RvcC0+ZXJyb3IgPSBjbWRfZXJyb3I7CisJCQkJCWhvc3QtPmNtZF9mbGFncyB8PSBTQ01EX1JF
QURZOworCQkJCX0gZWxzZSB7CisJCQkJCWNtZC0+ZXJyb3IgPSBjbWRfZXJyb3I7CisJCQkJCWhv
c3QtPmNtZF9mbGFncyB8PSBTQ01EX0FDVElWRTsKIAkJCQkJdGlmbV9zZF9leGVjKGhvc3QsIGhv
c3QtPnJlcS0+c3RvcCk7Ci0JCQkJCWhvc3QtPnN0YXRlID0gU0NNRDsKIAkJCQkJZ290byBkb25l
OwotCQkJCX0gZWxzZSB7Ci0JCQkJCWhvc3QtPnJlcS0+Y21kLT5lcnJvciA9IGVycm9yX2NvZGU7
CiAJCQkJfQotCQkJfSBlbHNlIHsKLQkJCQlob3N0LT5yZXEtPmNtZC0+ZXJyb3IgPSBlcnJvcl9j
b2RlOworCQkJfSBlbHNlCisJCQkJY21kLT5lcnJvciA9IGNtZF9lcnJvcjsKKwkJfSBlbHNlIHsK
KwkJCWlmIChob3N0X3N0YXR1cyAmIChUSUZNX01NQ1NEX0VPQyB8IFRJRk1fTU1DU0RfQ0VSUikp
IHsKKwkJCQlpZiAoIShob3N0LT5jbWRfZmxhZ3MgJiBDTURfUkVBRFkpKSB7CisJCQkJCWhvc3Qt
PmNtZF9mbGFncyB8PSBDTURfUkVBRFk7CisJCQkJCXRpZm1fc2RfZmV0Y2hfcmVzcChjbWQsIHNv
Y2spOworCQkJCX0gZWxzZSBpZiAoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9BQ1RJVkUpIHsKKwkJ
CQkJaG9zdC0+Y21kX2ZsYWdzIHw9IFNDTURfUkVBRFk7CisJCQkJCXRpZm1fc2RfZmV0Y2hfcmVz
cChob3N0LT5yZXEtPnN0b3AsCisJCQkJCQkJICAgc29jayk7CisJCQkJfQogCQkJfQotCQkJaG9z
dC0+c3RhdGUgPSBSRUFEWTsKKwkJCWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQlJTKQor
CQkJCWhvc3QtPmNtZF9mbGFncyB8PSBCUlNfUkVBRFk7CiAJCX0KIAotCQlpZiAoaG9zdF9zdGF0
dXMgJiBUSUZNX01NQ1NEX0NCKQotCQkJaG9zdC0+ZmxhZ3MgfD0gQ0FSRF9CVVNZOwotCQlpZiAo
KGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9FT0ZCKQotCQkgICAgJiYgKGhvc3QtPmZsYWdzICYg
Q0FSRF9CVVNZKSkgewotCQkJaG9zdC0+d3JpdHRlbl9ibG9ja3MrKzsKLQkJCWhvc3QtPmZsYWdz
ICY9IH5DQVJEX0JVU1k7CisJCWlmIChob3N0LT5ub19kbWEgJiYgY21kLT5kYXRhKSB7CisJCQlp
ZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0FFKQorCQkJCXdyaXRlbChob3N0X3N0YXR1cyAm
IFRJRk1fTU1DU0RfQUUsCisJCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1NUQVRV
Uyk7CisKKwkJCWlmIChob3N0X3N0YXR1cyAmIChUSUZNX01NQ1NEX0FFIHwgVElGTV9NTUNTRF9B
RgorCQkJCQkgICB8IFRJRk1fTU1DU0RfQlJTKSkgeworCQkJCWxvY2FsX2lycV9zYXZlKGZsYWdz
KTsKKwkJCQl0aWZtX3NkX3RyYW5zZmVyX2RhdGEoaG9zdCk7CisJCQkJbG9jYWxfaXJxX3Jlc3Rv
cmUoZmxhZ3MpOworCQkJCWhvc3Rfc3RhdHVzICY9IH5USUZNX01NQ1NEX0FFOworCQkJfQogCQl9
Ci0gICAgICAgIH0KLQotCWlmIChob3N0LT5yZXEpCi0JCXRpZm1fc2RfcHJvY2Vzc19jbWQoc29j
aywgaG9zdCwgaG9zdF9zdGF0dXMpOwotZG9uZToKLQlkZXZfZGJnKCZzb2NrLT5kZXYsICJob3N0
X3N0YXR1cyAleCwgZmlmb19zdGF0dXMgJXhcbiIsCi0JCWhvc3Rfc3RhdHVzLCBmaWZvX3N0YXR1
cyk7Ci0Jc3Bpbl91bmxvY2soJnNvY2stPmxvY2spOwotfQotCi1zdGF0aWMgdm9pZCB0aWZtX3Nk
X3ByZXBhcmVfZGF0YShzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwgc3RydWN0IG1tY19jb21tYW5kICpj
bWQpCi17Ci0Jc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwotCXVuc2lnbmVkIGlu
dCBkZXN0X2NudDsKIAotCS8qIERNQSBzdHlsZSBJTyAqLwotCWRldl9kYmcoJnNvY2stPmRldiwg
InNldHRpbmcgZG1hIGZvciAlZCBibG9ja3NcbiIsCi0JCWNtZC0+ZGF0YS0+YmxvY2tzKTsKLQl3
cml0ZWwoVElGTV9GSUZPX0lOVF9TRVRBTEwsCi0JICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RN
QV9GSUZPX0lOVF9FTkFCTEVfQ0xFQVIpOwotCXdyaXRlbChpbG9nMihjbWQtPmRhdGEtPmJsa3N6
KSAtIDIsCi0JICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0ZJRk9fUEFHRV9TSVpFKTsKLQl3cml0
ZWwoVElGTV9GSUZPX0VOQUJMRSwgc29jay0+YWRkciArIFNPQ0tfRklGT19DT05UUk9MKTsKLQl3
cml0ZWwoVElGTV9GSUZPX0lOVE1BU0ssIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9F
TkFCTEVfU0VUKTsKKwkJaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9FT0ZCKQorCQkJaG9z
dC0+Y21kX2ZsYWdzICY9IH5DQVJEX0JVU1k7CisJCWVsc2UgaWYgKGhvc3Rfc3RhdHVzICYgVElG
TV9NTUNTRF9DQikKKwkJCWhvc3QtPmNtZF9mbGFncyB8PSBDQVJEX0JVU1k7CiAKLQlkZXN0X2Nu
dCA9IChjbWQtPmRhdGEtPmJsb2NrcykgPDwgODsKLQotCXdyaXRlbChzZ19kbWFfYWRkcmVzcyhj
bWQtPmRhdGEtPnNnKSwgc29jay0+YWRkciArIFNPQ0tfRE1BX0FERFJFU1MpOwotCi0Jd3JpdGVs
KGNtZC0+ZGF0YS0+YmxvY2tzIC0gMSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfTlVNX0JMT0NL
Uyk7Ci0Jd3JpdGVsKGNtZC0+ZGF0YS0+Ymxrc3ogLSAxLCBzb2NrLT5hZGRyICsgU09DS19NTUNT
RF9CTE9DS19MRU4pOwotCi0JaWYgKGNtZC0+ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkg
ewotCQl3cml0ZWwoVElGTV9NTUNTRF9UWERFLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CVUZG
RVJfQ09ORklHKTsKLQkJd3JpdGVsKGRlc3RfY250IHwgVElGTV9ETUFfVFggfCBUSUZNX0RNQV9F
TiwKLQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9DT05UUk9MKTsKLQl9IGVsc2Ugewot
CQl3cml0ZWwoVElGTV9NTUNTRF9SWERFLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CVUZGRVJf
Q09ORklHKTsKLQkJd3JpdGVsKGRlc3RfY250IHwgVElGTV9ETUFfRU4sIHNvY2stPmFkZHIgKyBT
T0NLX0RNQV9DT05UUk9MKTsKKwkJdGlmbV9zZF9jaGVja19zdGF0dXMoaG9zdCk7CiAJfQorZG9u
ZToKKwl3cml0ZWwoaG9zdF9zdGF0dXMsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1NUQVRVUyk7
CisJc3Bpbl91bmxvY2soJnNvY2stPmxvY2spOwogfQogCiBzdGF0aWMgdm9pZCB0aWZtX3NkX3Nl
dF9kYXRhX3RpbWVvdXQoc3RydWN0IHRpZm1fc2QgKmhvc3QsCkBAIC00NTIsMTQ2ICs2MjMsOTkg
QEAgc3RhdGljIHZvaWQgdGlmbV9zZF9yZXF1ZXN0KHN0cnVjdCBtbWNfaAogCXN0cnVjdCB0aWZt
X3NkICpob3N0ID0gbW1jX3ByaXYobW1jKTsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0
LT5kZXY7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgc2dfY291bnQgPSAwOwogCXN0cnVj
dCBtbWNfZGF0YSAqcl9kYXRhID0gbXJxLT5jbWQtPmRhdGE7CiAKIAlzcGluX2xvY2tfaXJxc2F2
ZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCWlmIChob3N0LT5mbGFncyAmIEVKRUNUKSB7CisJaWYg
KGhvc3QtPmVqZWN0KSB7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZs
YWdzKTsKIAkJZ290byBlcnJfb3V0OwogCX0KIAogCWlmIChob3N0LT5yZXEpIHsKLQkJcHJpbnRr
KEtFUk5fRVJSIERSSVZFUl9OQU1FICI6IHVuZmluaXNoZWQgcmVxdWVzdCBkZXRlY3RlZFxuIik7
CisJCXByaW50ayhLRVJOX0VSUiAiJXMgOiB1bmZpbmlzaGVkIHJlcXVlc3QgZGV0ZWN0ZWRcbiIs
CisJCSAgICAgICBzb2NrLT5kZXYuYnVzX2lkKTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm
c29jay0+bG9jaywgZmxhZ3MpOwogCQlnb3RvIGVycl9vdXQ7CiAJfQogCisJaG9zdC0+Y21kX2Zs
YWdzID0gMDsKKwlob3N0LT5ibG9ja19wb3MgPSAwOworCWhvc3QtPnNnX3BvcyA9IDA7CisKIAlp
ZiAocl9kYXRhKSB7CiAJCXRpZm1fc2Rfc2V0X2RhdGFfdGltZW91dChob3N0LCByX2RhdGEpOwog
Ci0JCXNnX2NvdW50ID0gdGlmbV9tYXBfc2coc29jaywgcl9kYXRhLT5zZywgcl9kYXRhLT5zZ19s
ZW4sCi0JCQkJICAgICAgIG1ycS0+Y21kLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFCi0JCQkJICAg
ICAgID8gUENJX0RNQV9UT0RFVklDRSA6IFBDSV9ETUFfRlJPTURFVklDRSk7Ci0JCWlmIChzZ19j
b3VudCAhPSAxKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgRFJJVkVSX05BTUUKLQkJCQkiOiBzY2F0
dGVybGlzdCBtYXAgZmFpbGVkXG4iKTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2st
PmxvY2ssIGZsYWdzKTsKLQkJCWdvdG8gZXJyX291dDsKLQkJfQotCi0JCWhvc3QtPndyaXR0ZW5f
YmxvY2tzID0gMDsKLQkJaG9zdC0+ZmxhZ3MgJj0gfkNBUkRfQlVTWTsKLQkJdGlmbV9zZF9wcmVw
YXJlX2RhdGEoaG9zdCwgbXJxLT5jbWQpOwotCX0KLQotCWhvc3QtPnJlcSA9IG1ycTsKLQltb2Rf
dGltZXIoJmhvc3QtPnRpbWVyLCBqaWZmaWVzICsgaG9zdC0+dGltZW91dF9qaWZmaWVzKTsKLQlo
b3N0LT5zdGF0ZSA9IENNRDsKLQl3cml0ZWwoVElGTV9DVFJMX0xFRCB8IHJlYWRsKHNvY2stPmFk
ZHIgKyBTT0NLX0NPTlRST0wpLAotCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKTsK
LQl0aWZtX3NkX2V4ZWMoaG9zdCwgbXJxLT5jbWQpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo
JnNvY2stPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm47Ci0KLWVycl9vdXQ6Ci0JaWYgKHNnX2NvdW50
ID4gMCkKLQkJdGlmbV91bm1hcF9zZyhzb2NrLCByX2RhdGEtPnNnLCByX2RhdGEtPnNnX2xlbiwK
LQkJCSAgICAgIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCi0JCQkgICAgICA/IFBD
SV9ETUFfVE9ERVZJQ0UgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpOwotCi0JbXJxLT5jbWQtPmVycm9y
ID0gTU1DX0VSUl9USU1FT1VUOwotCW1tY19yZXF1ZXN0X2RvbmUobW1jLCBtcnEpOwotfQotCi1z
dGF0aWMgdm9pZCB0aWZtX3NkX2VuZF9jbWQodW5zaWduZWQgbG9uZyBkYXRhKQotewotCXN0cnVj
dCB0aWZtX3NkICpob3N0ID0gKHN0cnVjdCB0aWZtX3NkKilkYXRhOwotCXN0cnVjdCB0aWZtX2Rl
diAqc29jayA9IGhvc3QtPmRldjsKLQlzdHJ1Y3QgbW1jX2hvc3QgKm1tYyA9IHRpZm1fZ2V0X2Ry
dmRhdGEoc29jayk7Ci0Jc3RydWN0IG1tY19yZXF1ZXN0ICptcnE7Ci0Jc3RydWN0IG1tY19kYXRh
ICpyX2RhdGEgPSBOVUxMOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJx
c2F2ZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCi0JZGVsX3RpbWVyKCZob3N0LT50aW1lcik7Ci0J
bXJxID0gaG9zdC0+cmVxOwotCWhvc3QtPnJlcSA9IE5VTEw7Ci0JaG9zdC0+c3RhdGUgPSBJRExF
OworCQlpZiAoKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgJiYgIW1ycS0+c3RvcCkK
KwkJCSB3cml0ZWwoVElGTV9NTUNTRF9FT0ZCCisJCQkJfCByZWFkbChzb2NrLT5hZGRyICsgU09D
S19NTUNTRF9JTlRfRU5BQkxFKSwKKwkJCQlzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5B
QkxFKTsKKworCQlpZiAoaG9zdC0+bm9fZG1hKSB7CisJCQl3cml0ZWwoVElGTV9NTUNTRF9CVUZJ
TlQKKwkJCSAgICAgICB8IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUp
LAorCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOworCQkJd3Jp
dGVsKCgoVElGTV9NTUNTRF9GSUZPX1NJWkUgLSAxKSA8PCA4KQorCQkJICAgICAgIHwgKFRJRk1f
TU1DU0RfRklGT19TSVpFIC0gMSksCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0Rf
QlVGRkVSX0NPTkZJRyk7CiAKLQlpZiAoIW1ycSkgewotCQlwcmludGsoS0VSTl9FUlIgRFJJVkVS
X05BTUUgIjogbm8gcmVxdWVzdCB0byBjb21wbGV0ZT9cbiIpOwotCQlzcGluX3VubG9ja19pcnFy
ZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybjsKLQl9Ci0KLQlyX2RhdGEgPSBt
cnEtPmNtZC0+ZGF0YTsKLQlpZiAocl9kYXRhKSB7Ci0JCWlmIChyX2RhdGEtPmZsYWdzICYgTU1D
X0RBVEFfV1JJVEUpIHsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkID0gaG9zdC0+d3JpdHRlbl9i
bG9ja3MKLQkJCQkJICAgICAgICogcl9kYXRhLT5ibGtzejsKKwkJCWhvc3QtPnNnX2xlbiA9IHJf
ZGF0YS0+c2dfbGVuOwogCQl9IGVsc2UgewotCQkJcl9kYXRhLT5ieXRlc194ZmVyZWQgPSByX2Rh
dGEtPmJsb2NrcyAtCi0JCQkJcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfTlVNX0JMT0NL
UykgLSAxOwotCQkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKj0gcl9kYXRhLT5ibGtzejsKLQkJCXJf
ZGF0YS0+Ynl0ZXNfeGZlcmVkICs9IHJfZGF0YS0+Ymxrc3ogLQotCQkJCXJlYWRsKHNvY2stPmFk
ZHIgKyBTT0NLX01NQ1NEX0JMT0NLX0xFTikgKyAxOwotCQl9Ci0JCXRpZm1fdW5tYXBfc2coc29j
aywgcl9kYXRhLT5zZywgcl9kYXRhLT5zZ19sZW4sCi0JCQkgICAgICAocl9kYXRhLT5mbGFncyAm
IE1NQ19EQVRBX1dSSVRFKQotCQkJICAgICAgPyBQQ0lfRE1BX1RPREVWSUNFIDogUENJX0RNQV9G
Uk9NREVWSUNFKTsKLQl9Ci0KLQl3cml0ZWwoKH5USUZNX0NUUkxfTEVEKSAmIHJlYWRsKHNvY2st
PmFkZHIgKyBTT0NLX0NPTlRST0wpLAotCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19DT05UUk9M
KTsKKwkJCXNnX2luaXRfb25lKCZob3N0LT5ib3VuY2VfYnVmLCBob3N0LT5ib3VuY2VfYnVmX2Rh
dGEsCisJCQkJICAgIHJfZGF0YS0+Ymxrc3opOwogCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm
c29jay0+bG9jaywgZmxhZ3MpOwotCW1tY19yZXF1ZXN0X2RvbmUobW1jLCBtcnEpOwotfQotCi1z
dGF0aWMgdm9pZCB0aWZtX3NkX3JlcXVlc3Rfbm9kbWEoc3RydWN0IG1tY19ob3N0ICptbWMsIHN0
cnVjdCBtbWNfcmVxdWVzdCAqbXJxKQotewotCXN0cnVjdCB0aWZtX3NkICpob3N0ID0gbW1jX3By
aXYobW1jKTsKLQlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7Ci0JdW5zaWduZWQg
bG9uZyBmbGFnczsKLQlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9IG1ycS0+Y21kLT5kYXRhOwot
Ci0Jc3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQlpZiAoaG9zdC0+Zmxh
Z3MgJiBFSkVDVCkgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFn
cyk7Ci0JCWdvdG8gZXJyX291dDsKLQl9Ci0KLQlpZiAoaG9zdC0+cmVxKSB7Ci0JCXByaW50ayhL
RVJOX0VSUiBEUklWRVJfTkFNRSAiOiB1bmZpbmlzaGVkIHJlcXVlc3QgZGV0ZWN0ZWRcbiIpOwot
CQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0JCWdvdG8gZXJy
X291dDsKLQl9CisJCQlpZigxICE9IHRpZm1fbWFwX3NnKHNvY2ssICZob3N0LT5ib3VuY2VfYnVm
LCAxLAorCQkJCQkgICAgcl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFCisJCQkJCSAgICA/
IFBDSV9ETUFfVE9ERVZJQ0UKKwkJCQkJICAgIDogUENJX0RNQV9GUk9NREVWSUNFKSkgeworCQkJ
CXByaW50ayhLRVJOX0VSUiAiJXMgOiBzY2F0dGVybGlzdCBtYXAgZmFpbGVkXG4iLAorCQkJCSAg
ICAgICBzb2NrLT5kZXYuYnVzX2lkKTsKKwkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2Nr
LT5sb2NrLCBmbGFncyk7CisJCQkJZ290byBlcnJfb3V0OworCQkJfQorCQkJaG9zdC0+c2dfbGVu
ID0gdGlmbV9tYXBfc2coc29jaywgcl9kYXRhLT5zZywKKwkJCQkJCSAgIHJfZGF0YS0+c2dfbGVu
LAorCQkJCQkJICAgcl9kYXRhLT5mbGFncworCQkJCQkJICAgJiBNTUNfREFUQV9XUklURQorCQkJ
CQkJICAgPyBQQ0lfRE1BX1RPREVWSUNFCisJCQkJCQkgICA6IFBDSV9ETUFfRlJPTURFVklDRSk7
CisJCQlpZiAoaG9zdC0+c2dfbGVuIDwgMSkgeworCQkJCXByaW50ayhLRVJOX0VSUiAiJXMgOiBz
Y2F0dGVybGlzdCBtYXAgZmFpbGVkXG4iLAorCQkJCSAgICAgICBzb2NrLT5kZXYuYnVzX2lkKTsK
KwkJCQl0aWZtX3VubWFwX3NnKHNvY2ssICZob3N0LT5ib3VuY2VfYnVmLCAxLAorCQkJCQkgICAg
ICByX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUKKwkJCQkJICAgICAgPyBQQ0lfRE1BX1RP
REVWSUNFCisJCQkJCSAgICAgIDogUENJX0RNQV9GUk9NREVWSUNFKTsKKwkJCQlzcGluX3VubG9j
a19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7CisJCQkJZ290byBlcnJfb3V0OworCQkJ
fQogCi0JaWYgKHJfZGF0YSkgewotCQl0aWZtX3NkX3NldF9kYXRhX3RpbWVvdXQoaG9zdCwgcl9k
YXRhKTsKKwkJCXdyaXRlbChUSUZNX0ZJRk9fSU5UX1NFVEFMTCwKKwkJCSAgICAgICBzb2NrLT5h
ZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxFX0NMRUFSKTsKKwkJCXdyaXRlbChpbG9nMihy
X2RhdGEtPmJsa3N6KSAtIDIsCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRklGT19QQUdF
X1NJWkUpOworCQkJd3JpdGVsKFRJRk1fRklGT19FTkFCTEUsCisJCQkgICAgICAgc29jay0+YWRk
ciArIFNPQ0tfRklGT19DT05UUk9MKTsKKwkJCXdyaXRlbChUSUZNX0ZJRk9fSU5UTUFTSywKKwkJ
CSAgICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxFX1NFVCk7CisKKwkJ
CWlmIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCisJCQkJd3JpdGVsKFRJRk1fTU1D
U0RfVFhERSwKKwkJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQlVGRkVSX0NPTkZJ
Ryk7CisJCQllbHNlCisJCQkJd3JpdGVsKFRJRk1fTU1DU0RfUlhERSwKKwkJCQkgICAgICAgc29j
ay0+YWRkciArIFNPQ0tfTU1DU0RfQlVGRkVSX0NPTkZJRyk7CiAKLQkJaG9zdC0+YnVmZmVyX3Np
emUgPSBtcnEtPmNtZC0+ZGF0YS0+YmxvY2tzCi0JCQkJICAgICogbXJxLT5jbWQtPmRhdGEtPmJs
a3N6OworCQkJdGlmbV9zZF9zZXRfZG1hX2RhdGEoaG9zdCwgcl9kYXRhKTsKKwkJfQogCi0JCXdy
aXRlbChUSUZNX01NQ1NEX0JVRklOVAotCQkgICAgICAgfCByZWFkbChzb2NrLT5hZGRyICsgU09D
S19NTUNTRF9JTlRfRU5BQkxFKSwKLQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lO
VF9FTkFCTEUpOwotCQl3cml0ZWwoKChUSUZNX01NQ1NEX0ZJRk9fU0laRSAtIDEpIDw8IDgpCi0J
CSAgICAgICB8IChUSUZNX01NQ1NEX0ZJRk9fU0laRSAtIDEpLAotCQkgICAgICAgc29jay0+YWRk
ciArIFNPQ0tfTU1DU0RfQlVGRkVSX0NPTkZJRyk7Ci0KLQkJaG9zdC0+d3JpdHRlbl9ibG9ja3Mg
PSAwOwotCQlob3N0LT5mbGFncyAmPSB+Q0FSRF9CVVNZOwotCQlob3N0LT5idWZmZXJfcG9zID0g
MDsKLQkJd3JpdGVsKHJfZGF0YS0+YmxvY2tzIC0gMSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0Rf
TlVNX0JMT0NLUyk7Ci0JCXdyaXRlbChyX2RhdGEtPmJsa3N6IC0gMSwgc29jay0+YWRkciArIFNP
Q0tfTU1DU0RfQkxPQ0tfTEVOKTsKKwkJd3JpdGVsKHJfZGF0YS0+YmxvY2tzIC0gMSwKKwkJICAg
ICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX05VTV9CTE9DS1MpOworCQl3cml0ZWwocl9kYXRh
LT5ibGtzeiAtIDEsCisJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CTE9DS19MRU4p
OwogCX0KIAogCWhvc3QtPnJlcSA9IG1ycTsKIAltb2RfdGltZXIoJmhvc3QtPnRpbWVyLCBqaWZm
aWVzICsgaG9zdC0+dGltZW91dF9qaWZmaWVzKTsKLQlob3N0LT5zdGF0ZSA9IENNRDsKIAl3cml0
ZWwoVElGTV9DVFJMX0xFRCB8IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpLAogCSAg
ICAgICBzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKTsKIAl0aWZtX3NkX2V4ZWMoaG9zdCwgbXJx
LT5jbWQpOwpAQCAtNjAzLDcgKzcyNyw3IEBAIGVycl9vdXQ6CiAJbW1jX3JlcXVlc3RfZG9uZSht
bWMsIG1ycSk7CiB9CiAKLXN0YXRpYyB2b2lkIHRpZm1fc2RfZW5kX2NtZF9ub2RtYSh1bnNpZ25l
ZCBsb25nIGRhdGEpCitzdGF0aWMgdm9pZCB0aWZtX3NkX2VuZF9jbWQodW5zaWduZWQgbG9uZyBk
YXRhKQogewogCXN0cnVjdCB0aWZtX3NkICpob3N0ID0gKHN0cnVjdCB0aWZtX3NkKilkYXRhOwog
CXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKQEAgLTYxNyw2OCArNzQxLDUyIEBA
IHN0YXRpYyB2b2lkIHRpZm1fc2RfZW5kX2NtZF9ub2RtYSh1bnNpZ24KIAlkZWxfdGltZXIoJmhv
c3QtPnRpbWVyKTsKIAltcnEgPSBob3N0LT5yZXE7CiAJaG9zdC0+cmVxID0gTlVMTDsKLQlob3N0
LT5zdGF0ZSA9IElETEU7CiAKIAlpZiAoIW1ycSkgewotCQlwcmludGsoS0VSTl9FUlIgRFJJVkVS
X05BTUUgIjogbm8gcmVxdWVzdCB0byBjb21wbGV0ZT9cbiIpOworCQlwcmludGsoS0VSTl9FUlIg
IiAlcyA6IG5vIHJlcXVlc3QgdG8gY29tcGxldGU/XG4iLAorCQkgICAgICAgc29jay0+ZGV2LmJ1
c19pZCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIAkJ
cmV0dXJuOwogCX0KIAogCXJfZGF0YSA9IG1ycS0+Y21kLT5kYXRhOwogCWlmIChyX2RhdGEpIHsK
LQkJd3JpdGVsKCh+VElGTV9NTUNTRF9CVUZJTlQpICYKLQkJCXJlYWRsKHNvY2stPmFkZHIgKyBT
T0NLX01NQ1NEX0lOVF9FTkFCTEUpLAotCQkJc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VO
QUJMRSk7Ci0KLQkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgewotCQkJcl9k
YXRhLT5ieXRlc194ZmVyZWQgPSBob3N0LT53cml0dGVuX2Jsb2NrcwotCQkJCQkgICAgICAgKiBy
X2RhdGEtPmJsa3N6OworCQlpZiAoaG9zdC0+bm9fZG1hKSB7CisJCQl3cml0ZWwoKH5USUZNX01N
Q1NEX0JVRklOVCkKKwkJCSAgICAgICAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lO
VF9FTkFCTEUpLAorCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUp
OwogCQl9IGVsc2UgewotCQkJcl9kYXRhLT5ieXRlc194ZmVyZWQgPSByX2RhdGEtPmJsb2NrcyAt
Ci0JCQkJcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfTlVNX0JMT0NLUykgLSAxOwotCQkJ
cl9kYXRhLT5ieXRlc194ZmVyZWQgKj0gcl9kYXRhLT5ibGtzejsKLQkJCXJfZGF0YS0+Ynl0ZXNf
eGZlcmVkICs9IHJfZGF0YS0+Ymxrc3ogLQotCQkJCXJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01N
Q1NEX0JMT0NLX0xFTikgKyAxOworCQkJdGlmbV91bm1hcF9zZyhzb2NrLCAmaG9zdC0+Ym91bmNl
X2J1ZiwgMSwKKwkJCQkgICAgICAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKQorCQkJ
CSAgICAgID8gUENJX0RNQV9UT0RFVklDRSA6IFBDSV9ETUFfRlJPTURFVklDRSk7CisJCQl0aWZt
X3VubWFwX3NnKHNvY2ssIHJfZGF0YS0+c2csIHJfZGF0YS0+c2dfbGVuLAorCQkJCSAgICAgIChy
X2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCisJCQkJICAgICAgPyBQQ0lfRE1BX1RPREVW
SUNFIDogUENJX0RNQV9GUk9NREVWSUNFKTsKIAkJfQotCQlob3N0LT5idWZmZXJfcG9zID0gMDsK
LQkJaG9zdC0+YnVmZmVyX3NpemUgPSAwOworCisJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkID0gcl9k
YXRhLT5ibG9ja3MKKwkJCS0gcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfTlVNX0JMT0NL
UykgLSAxOworCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCAqPSByX2RhdGEtPmJsa3N6OworCQlyX2Rh
dGEtPmJ5dGVzX3hmZXJlZCArPSByX2RhdGEtPmJsa3N6CisJCQktIHJlYWRsKHNvY2stPmFkZHIg
KyBTT0NLX01NQ1NEX0JMT0NLX0xFTikgKyAxOwogCX0KIAogCXdyaXRlbCgoflRJRk1fQ1RSTF9M
RUQpICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCksCiAJICAgICAgIHNvY2stPmFk
ZHIgKyBTT0NLX0NPTlRST0wpOwogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9j
aywgZmxhZ3MpOwotCiAJbW1jX3JlcXVlc3RfZG9uZShtbWMsIG1ycSk7CiB9CiAKLXN0YXRpYyB2
b2lkIHRpZm1fc2RfdGVybWluYXRlKHN0cnVjdCB0aWZtX3NkICpob3N0KQotewotCXN0cnVjdCB0
aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jd3Jp
dGVsKDAsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwotCW1taW93YigpOwot
CXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0JaG9zdC0+ZmxhZ3MgfD0g
RUpFQ1Q7Ci0JaWYgKGhvc3QtPnJlcSkgewotCQl3cml0ZWwoVElGTV9GSUZPX0lOVF9TRVRBTEws
Ci0JCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxFX0NMRUFSKTsK
LQkJd3JpdGVsKDAsIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9FTkFCTEVfU0VUKTsK
LQkJdGFza2xldF9zY2hlZHVsZSgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQpOwotCX0KLQlzcGluX3Vu
bG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci19Ci0KIHN0YXRpYyB2b2lkIHRp
Zm1fc2RfYWJvcnQodW5zaWduZWQgbG9uZyBkYXRhKQogewogCXN0cnVjdCB0aWZtX3NkICpob3N0
ID0gKHN0cnVjdCB0aWZtX3NkKilkYXRhOwogCi0JcHJpbnRrKEtFUk5fRVJSIERSSVZFUl9OQU1F
Ci0JICAgICAgICI6IGNhcmQgZmFpbGVkIHRvIHJlc3BvbmQgZm9yIGEgbG9uZyBwZXJpb2Qgb2Yg
dGltZSIpOworCXByaW50ayhLRVJOX0VSUgorCSAgICAgICAiJXMgOiBjYXJkIGZhaWxlZCB0byBy
ZXNwb25kIGZvciBhIGxvbmcgcGVyaW9kIG9mIHRpbWUgIgorCSAgICAgICAiKCV4LCAleClcbiIs
CisJICAgICAgIGhvc3QtPmRldi0+ZGV2LmJ1c19pZCwgaG9zdC0+cmVxLT5jbWQtPm9wY29kZSwg
aG9zdC0+Y21kX2ZsYWdzKTsKIAotCXRpZm1fc2RfdGVybWluYXRlKGhvc3QpOwogCXRpZm1fZWpl
Y3QoaG9zdC0+ZGV2KTsKIH0KIApAQCAtNjkxLDggKzc5OSwxMSBAQCBzdGF0aWMgdm9pZCB0aWZt
X3NkX2lvcyhzdHJ1Y3QgbW1jX2hvc3QgCiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9j
aywgZmxhZ3MpOwogCi0JZGV2X2RiZygmc29jay0+ZGV2LCAiU2V0dGluZyBidXMgd2lkdGggJWQs
IHBvd2VyICVkXG4iLCBpb3MtPmJ1c193aWR0aCwKLQkJaW9zLT5wb3dlcl9tb2RlKTsKKwlkZXZf
ZGJnKCZzb2NrLT5kZXYsICJpb3M6IGNsb2NrID0gJXUsIHZkZCA9ICV4LCBidXNfbW9kZSA9ICV4
LCAiCisJCSJjaGlwX3NlbGVjdCA9ICV4LCBwb3dlcl9tb2RlID0gJXgsIGJ1c193aWR0aCA9ICV4
XG4iLAorCQlpb3MtPmNsb2NrLCBpb3MtPnZkZCwgaW9zLT5idXNfbW9kZSwgaW9zLT5jaGlwX3Nl
bGVjdCwKKwkJaW9zLT5wb3dlcl9tb2RlLCBpb3MtPmJ1c193aWR0aCk7CisKIAlpZiAoaW9zLT5i
dXNfd2lkdGggPT0gTU1DX0JVU19XSURUSF80KSB7CiAJCXdyaXRlbChUSUZNX01NQ1NEXzRCQlVT
IHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQ09ORklHKSwKIAkJICAgICAgIHNvY2st
PmFkZHIgKyBTT0NLX01NQ1NEX0NPTkZJRyk7CkBAIC03MzcsNDEgKzg0OCwzMCBAQCBzdGF0aWMg
dm9pZCB0aWZtX3NkX2lvcyhzdHJ1Y3QgbW1jX2hvc3QgCiAJCSAgJiByZWFkbChzb2NrLT5hZGRy
ICsgU09DS19NTUNTRF9DT05GSUcpKSwKIAkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0Rf
Q09ORklHKTsKIAotCWlmIChpb3MtPmJ1c19tb2RlID09IE1NQ19CVVNNT0RFX09QRU5EUkFJTikK
LQkJaG9zdC0+ZmxhZ3MgfD0gT1BFTkRSQUlOOwotCWVsc2UKLQkJaG9zdC0+ZmxhZ3MgJj0gfk9Q
RU5EUkFJTjsKKwlob3N0LT5vcGVuX2RyYWluID0gKGlvcy0+YnVzX21vZGUgPT0gTU1DX0JVU01P
REVfT1BFTkRSQUlOKTsKIAogCS8qIGNoaXBfc2VsZWN0IDogbWF5YmUgbGF0ZXIgKi8KIAkvL3Zk
ZAogCS8vcG93ZXIgaXMgc2V0IGJlZm9yZSBwcm9iZSAvIGFmdGVyIHJlbW92ZQotCS8vSSBiZWxp
ZXZlLCBwb3dlcl9vZmYgd2hlbiBhbHJlYWR5IG1hcmtlZCBmb3IgZWplY3QgaXMgc3VmZmljaWVu
dCB0bwotCS8vIGFsbG93IHJlbW92YWwuCi0JaWYgKChob3N0LT5mbGFncyAmIEVKRUNUKSAmJiBp
b3MtPnBvd2VyX21vZGUgPT0gTU1DX1BPV0VSX09GRikgewotCQlob3N0LT5mbGFncyB8PSBFSkVD
VF9ET05FOwotCQl3YWtlX3VwX2FsbCgmaG9zdC0+bm90aWZ5KTsKLQl9CiAKIAlzcGluX3VubG9j
a19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7CiB9CiAKIHN0YXRpYyBpbnQgdGlmbV9z
ZF9ybyhzdHJ1Y3QgbW1jX2hvc3QgKm1tYykKIHsKLQlpbnQgcmM7CisJaW50IHJjID0gMDsKIAlz
dHJ1Y3QgdGlmbV9zZCAqaG9zdCA9IG1tY19wcml2KG1tYyk7CiAJc3RydWN0IHRpZm1fZGV2ICpz
b2NrID0gaG9zdC0+ZGV2OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlzcGluX2xvY2tfaXJx
c2F2ZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCi0JaG9zdC0+ZmxhZ3MgfD0gKENBUkRfUk8gJiBy
ZWFkbChzb2NrLT5hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSk7Ci0JcmMgPSAoaG9zdC0+Zmxh
Z3MgJiBDQVJEX1JPKSA/IDEgOiAwOwotCisJaWYgKFRJRk1fTU1DU0RfQ0FSRF9STyAmIHJlYWRs
KHNvY2stPmFkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpKQorCQlyYyA9IDE7CiAJc3Bpbl91bmxv
Y2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwogCXJldHVybiByYzsKIH0KIAotc3Rh
dGljIHN0cnVjdCBtbWNfaG9zdF9vcHMgdGlmbV9zZF9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3Ry
dWN0IG1tY19ob3N0X29wcyB0aWZtX3NkX29wcyA9IHsKIAkucmVxdWVzdCA9IHRpZm1fc2RfcmVx
dWVzdCwKIAkuc2V0X2lvcyA9IHRpZm1fc2RfaW9zLAogCS5nZXRfcm8gID0gdGlmbV9zZF9ybwpA
QCAtNzkyLDcgKzg5Miw3IEBAIHN0YXRpYyBpbnQgdGlmbV9zZF9pbml0aWFsaXplX2hvc3Qoc3Ry
dWMKIAkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQ09ORklHKTsKIAogCS8qIHdhaXQg
dXAgdG8gMC41MSBzZWMgZm9yIHJlc2V0ICovCi0JZm9yIChyYyA9IDI7IHJjIDw9IDI1NjsgcmMg
PDw9IDEpIHsKKwlmb3IgKHJjID0gMzI7IHJjIDw9IDI1NjsgcmMgPDw9IDEpIHsKIAkJaWYgKDEg
JiByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9TWVNURU1fU1RBVFVTKSkgewogCQkJcmMg
PSAwOwogCQkJYnJlYWs7CkBAIC04MDEsOCArOTAxLDggQEAgc3RhdGljIGludCB0aWZtX3NkX2lu
aXRpYWxpemVfaG9zdChzdHJ1YwogCX0KIAogCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIg
RFJJVkVSX05BTUUKLQkJICAgICAgICI6IGNvbnRyb2xsZXIgZmFpbGVkIHRvIHJlc2V0XG4iKTsK
KwkJcHJpbnRrKEtFUk5fRVJSICIlcyA6IGNvbnRyb2xsZXIgZmFpbGVkIHRvIHJlc2V0XG4iLAor
CQkgICAgICAgc29jay0+ZGV2LmJ1c19pZCk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIApAQCAt
ODE1LDggKzkxNSw3IEBAIHN0YXRpYyBpbnQgdGlmbV9zZF9pbml0aWFsaXplX2hvc3Qoc3RydWMK
IAl3cml0ZWwoNjQsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0NPTU1BTkRfVE8pOwogCXdyaXRl
bChUSUZNX01NQ1NEX0lOQUIsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0NPTU1BTkQpOwogCi0J
LyogSU5BQiBzaG91bGQgdGFrZSBtdWNoIGxlc3MgdGhhbiByZXNldCAqLwotCWZvciAocmMgPSAx
OyByYyA8PSAxNjsgcmMgPDw9IDEpIHsKKwlmb3IgKHJjID0gMTY7IHJjIDw9IDY0OyByYyA8PD0g
MSkgewogCQlob3N0X3N0YXR1cyA9IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1NUQVRV
Uyk7CiAJCXdyaXRlbChob3N0X3N0YXR1cywgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfU1RBVFVT
KTsKIAkJaWYgKCEoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0VSUk1BU0spCkBAIC04MjgsMTIg
KzkyNywxNCBAQCBzdGF0aWMgaW50IHRpZm1fc2RfaW5pdGlhbGl6ZV9ob3N0KHN0cnVjCiAJfQog
CiAJaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBEUklWRVJfTkFNRQotCQkgICAgICAgIjog
Y2FyZCBub3QgcmVhZHkgLSBwcm9iZSBmYWlsZWQgb24gaW5pdGlhbGl6YXRpb25cbiIpOworCQlw
cmludGsoS0VSTl9FUlIKKwkJICAgICAgICIlcyA6IGNhcmQgbm90IHJlYWR5IC0gcHJvYmUgZmFp
bGVkIG9uIGluaXRpYWxpemF0aW9uXG4iLAorCQkgICAgICAgc29jay0+ZGV2LmJ1c19pZCk7CiAJ
CXJldHVybiAtRU5PREVWOwogCX0KIAotCXdyaXRlbChUSUZNX01NQ1NEX0RBVEFNQVNLIHwgVElG
TV9NTUNTRF9FUlJNQVNLLAorCXdyaXRlbChUSUZNX01NQ1NEX0NFUlIgfCBUSUZNX01NQ1NEX0JS
UyB8IFRJRk1fTU1DU0RfRU9DCisJICAgICAgIHwgVElGTV9NTUNTRF9FUlJNQVNLLAogCSAgICAg
ICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKTsKIAltbWlvd2IoKTsKIApAQCAt
ODQ4LDcgKzk0OSw4IEBAIHN0YXRpYyBpbnQgdGlmbV9zZF9wcm9iZShzdHJ1Y3QgdGlmbV9kZXYK
IAogCWlmICghKFRJRk1fU09DS19TVEFURV9PQ0NVUElFRAogCSAgICAgICYgcmVhZGwoc29jay0+
YWRkciArIFNPQ0tfUFJFU0VOVF9TVEFURSkpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgRFJJ
VkVSX05BTUUgIjogY2FyZCBnb25lLCB1bmV4cGVjdGVkbHlcbiIpOworCQlwcmludGsoS0VSTl9X
QVJOSU5HICIlcyA6IGNhcmQgZ29uZSwgdW5leHBlY3RlZGx5XG4iLAorCQkgICAgICAgc29jay0+
ZGV2LmJ1c19pZCk7CiAJCXJldHVybiByYzsKIAl9CiAKQEAgLTg1Nyw0MSArOTU5LDM3IEBAIHN0
YXRpYyBpbnQgdGlmbV9zZF9wcm9iZShzdHJ1Y3QgdGlmbV9kZXYKIAkJcmV0dXJuIC1FTk9NRU07
CiAKIAlob3N0ID0gbW1jX3ByaXYobW1jKTsKKwlob3N0LT5ub19kbWEgPSBub19kbWE7CiAJdGlm
bV9zZXRfZHJ2ZGF0YShzb2NrLCBtbWMpOwogCWhvc3QtPmRldiA9IHNvY2s7CiAJaG9zdC0+dGlt
ZW91dF9qaWZmaWVzID0gbXNlY3NfdG9famlmZmllcygxMDAwKTsKIAotCWluaXRfd2FpdHF1ZXVl
X2hlYWQoJmhvc3QtPm5vdGlmeSk7Ci0JdGFza2xldF9pbml0KCZob3N0LT5maW5pc2hfdGFza2xl
dCwKLQkJICAgICBub19kbWEgPyB0aWZtX3NkX2VuZF9jbWRfbm9kbWEgOiB0aWZtX3NkX2VuZF9j
bWQsCisJdGFza2xldF9pbml0KCZob3N0LT5maW5pc2hfdGFza2xldCwgdGlmbV9zZF9lbmRfY21k
LAogCQkgICAgICh1bnNpZ25lZCBsb25nKWhvc3QpOwogCXNldHVwX3RpbWVyKCZob3N0LT50aW1l
ciwgdGlmbV9zZF9hYm9ydCwgKHVuc2lnbmVkIGxvbmcpaG9zdCk7CiAKLQl0aWZtX3NkX29wcy5y
ZXF1ZXN0ID0gbm9fZG1hID8gdGlmbV9zZF9yZXF1ZXN0X25vZG1hIDogdGlmbV9zZF9yZXF1ZXN0
OwogCW1tYy0+b3BzID0gJnRpZm1fc2Rfb3BzOwogCW1tYy0+b2NyX2F2YWlsID0gTU1DX1ZERF8z
Ml8zMyB8IE1NQ19WRERfMzNfMzQ7CiAJbW1jLT5jYXBzID0gTU1DX0NBUF80X0JJVF9EQVRBIHwg
TU1DX0NBUF9NVUxUSVdSSVRFOwogCW1tYy0+Zl9taW4gPSAyMDAwMDAwMCAvIDYwOwogCW1tYy0+
Zl9tYXggPSAyNDAwMDAwMDsKLQltbWMtPm1heF9od19zZWdzID0gMTsKLQltbWMtPm1heF9waHlz
X3NlZ3MgPSAxOwotCS8vIGxpbWl0ZWQgYnkgRE1BIGNvdW50ZXIgLSBpdCdzIHNhZmVyIHRvIHN0
aWNrIHdpdGgKLQkvLyBibG9jayBjb3VudGVyIGhhcyAxMSBiaXRzIHRob3VnaAotCW1tYy0+bWF4
X2Jsa19jb3VudCA9IDI1NjsKLQkvLyAyayBtYXhpbXVtIGh3IGJsb2NrIGxlbmd0aAotCW1tYy0+
bWF4X2Jsa19zaXplID0gMjA0ODsKLQltbWMtPm1heF9yZXFfc2l6ZSA9IG1tYy0+bWF4X2Jsa19z
aXplICogbW1jLT5tYXhfYmxrX2NvdW50OwotCW1tYy0+bWF4X3NlZ19zaXplID0gbW1jLT5tYXhf
cmVxX3NpemU7Ci0Jc29jay0+c2lnbmFsX2lycSA9IHRpZm1fc2Rfc2lnbmFsX2lycTsKKworCW1t
Yy0+bWF4X2Jsa19jb3VudCA9IDIwNDg7CisJbW1jLT5tYXhfaHdfc2VncyA9IG1tYy0+bWF4X2Js
a19jb3VudDsKKwltbWMtPm1heF9ibGtfc2l6ZSA9IG1pbihUSUZNX01NQ1NEX01BWF9CTE9DS19T
SVpFLCBQQUdFX1NJWkUpOworCW1tYy0+bWF4X3NlZ19zaXplID0gbW1jLT5tYXhfYmxrX2NvdW50
ICogbW1jLT5tYXhfYmxrX3NpemU7CisJbW1jLT5tYXhfcmVxX3NpemUgPSBtbWMtPm1heF9zZWdf
c2l6ZTsKKwltbWMtPm1heF9waHlzX3NlZ3MgPSBtbWMtPm1heF9od19zZWdzOworCisJc29jay0+
Y2FyZF9ldmVudCA9IHRpZm1fc2RfY2FyZF9ldmVudDsKKwlzb2NrLT5kYXRhX2V2ZW50ID0gdGlm
bV9zZF9kYXRhX2V2ZW50OwogCXJjID0gdGlmbV9zZF9pbml0aWFsaXplX2hvc3QoaG9zdCk7CiAK
IAlpZiAoIXJjKQogCQlyYyA9IG1tY19hZGRfaG9zdChtbWMpOwotCWlmIChyYykKLQkJZ290byBv
dXRfZnJlZV9tbWM7CisJaWYgKCFyYykKKwkJcmV0dXJuIDA7CiAKLQlyZXR1cm4gMDsKLW91dF9m
cmVlX21tYzoKIAltbWNfZnJlZV9ob3N0KG1tYyk7CiAJcmV0dXJuIHJjOwogfQpAQCAtOTAwLDE5
ICs5OTgsMzQgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9yZW1vdmUoc3RydWN0IHRpZm1fZAogewog
CXN0cnVjdCBtbWNfaG9zdCAqbW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKIAlzdHJ1Y3Qg
dGlmbV9zZCAqaG9zdCA9IG1tY19wcml2KG1tYyk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwor
CXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7CisJaG9zdC0+ZWplY3QgPSAx
OworCXdyaXRlbCgwLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKTsKKwltbWlv
d2IoKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7CiAKLQlk
ZWxfdGltZXJfc3luYygmaG9zdC0+dGltZXIpOwotCXRpZm1fc2RfdGVybWluYXRlKGhvc3QpOwot
CXdhaXRfZXZlbnRfdGltZW91dChob3N0LT5ub3RpZnksIGhvc3QtPmZsYWdzICYgRUpFQ1RfRE9O
RSwKLQkJCSAgIGhvc3QtPnRpbWVvdXRfamlmZmllcyk7CiAJdGFza2xldF9raWxsKCZob3N0LT5m
aW5pc2hfdGFza2xldCk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywgZmxhZ3Mp
OworCWlmIChob3N0LT5yZXEpIHsKKwkJd3JpdGVsKFRJRk1fRklGT19JTlRfU0VUQUxMLAorCQkg
ICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VOQUJMRV9DTEVBUik7CisJCXdy
aXRlbCgwLCBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxFX1NFVCk7CisJCWhv
c3QtPnJlcS0+Y21kLT5lcnJvciA9IE1NQ19FUlJfVElNRU9VVDsKKwkJaWYgKGhvc3QtPnJlcS0+
c3RvcCkKKwkJCWhvc3QtPnJlcS0+c3RvcC0+ZXJyb3IgPSBNTUNfRVJSX1RJTUVPVVQ7CisJCXRh
c2tsZXRfc2NoZWR1bGUoJmhvc3QtPmZpbmlzaF90YXNrbGV0KTsKKwl9CisJc3Bpbl91bmxvY2tf
aXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwogCW1tY19yZW1vdmVfaG9zdChtbWMpOwor
CWRldl9kYmcoJnNvY2stPmRldiwgImFmdGVyIHJlbW92ZVxuIik7CiAKIAkvKiBUaGUgbWVhbmlu
ZyBvZiB0aGUgYml0IG1ham9yaXR5IGluIHRoaXMgY29uc3RhbnQgaXMgdW5rbm93bi4gKi8KIAl3
cml0ZWwoMHhmZmY4ICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCksCiAJICAgICAg
IHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpOwogCi0JdGlmbV9zZXRfZHJ2ZGF0YShzb2NrLCBO
VUxMKTsKIAltbWNfZnJlZV9ob3N0KG1tYyk7CiB9CiAKQEAgLTkzNCwxNCArMTA0NywxNyBAQCBz
dGF0aWMgaW50IHRpZm1fc2RfcmVzdW1lKHN0cnVjdCB0aWZtX2RlCiB7CiAJc3RydWN0IG1tY19o
b3N0ICptbWMgPSB0aWZtX2dldF9kcnZkYXRhKHNvY2spOwogCXN0cnVjdCB0aWZtX3NkICpob3N0
ID0gbW1jX3ByaXYobW1jKTsKKwlpbnQgcmM7CiAKLQlpZiAoc29jay0+bWVkaWFfaWQgIT0gRk1f
U0QKLQkgICAgfHwgdGlmbV9zZF9pbml0aWFsaXplX2hvc3QoaG9zdCkpIHsKLQkJdGlmbV9lamVj
dChzb2NrKTsKLQkJcmV0dXJuIDA7Ci0JfSBlbHNlIHsKLQkJcmV0dXJuIG1tY19yZXN1bWVfaG9z
dChtbWMpOwotCX0KKwlyYyA9IHRpZm1fc2RfaW5pdGlhbGl6ZV9ob3N0KGhvc3QpOworCWRldl9k
YmcoJnNvY2stPmRldiwgInJlc3VtZSBpbml0aWFsaXplICVkXG4iLCByYyk7CisKKwlpZiAocmMp
CisJCWhvc3QtPmVqZWN0ID0gMTsKKwllbHNlCisJCXJjID0gbW1jX3Jlc3VtZV9ob3N0KG1tYyk7
CisKKwlyZXR1cm4gcmM7CiB9CiAKICNlbHNlCkBAIC05NTEsOCArMTA2Nyw4IEBAIHN0YXRpYyBp
bnQgdGlmbV9zZF9yZXN1bWUoc3RydWN0IHRpZm1fZGUKIAogI2VuZGlmIC8qIENPTkZJR19QTSAq
LwogCi1zdGF0aWMgdGlmbV9tZWRpYV9pZCB0aWZtX3NkX2lkX3RibFtdID0gewotCUZNX1NELCAw
CitzdGF0aWMgc3RydWN0IHRpZm1fZGV2aWNlX2lkIHRpZm1fc2RfaWRfdGJsW10gPSB7CisJeyBU
SUZNX1RZUEVfU0QgfSwgeyB9CiB9OwogCiBzdGF0aWMgc3RydWN0IHRpZm1fZHJpdmVyIHRpZm1f
c2RfZHJpdmVyID0gewpJbmRleDogbGludXgtMi42LjIxLWdlbnRvby9pbmNsdWRlL2xpbnV4L3Rp
Zm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBsaW51eC0yLjYuMjEtZ2VudG9vLm9yaWcvaW5jbHVkZS9saW51
eC90aWZtLmgKKysrIGxpbnV4LTIuNi4yMS1nZW50b28vaW5jbHVkZS9saW51eC90aWZtLmgKQEAg
LTE0LDE2ICsxNCwxNiBAQAogCiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRl
IDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaW5jbHVkZSA8
bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9r
dGhyZWFkLmg+CisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CiAKIC8qIEhvc3QgcmVnaXN0
ZXJzIChyZWxhdGl2ZSB0byBwY2kgYmFzZSBhZGRyZXNzKTogKi8KIGVudW0gewogCUZNX1NFVF9J
TlRFUlJVUFRfRU5BQkxFICAgPSAweDAwOCwKIAlGTV9DTEVBUl9JTlRFUlJVUFRfRU5BQkxFID0g
MHgwMGMsCi0JRk1fSU5URVJSVVBUX1NUQVRVUyAgICAgICA9IDB4MDE0IH07CisJRk1fSU5URVJS
VVBUX1NUQVRVUyAgICAgICA9IDB4MDE0Cit9OwogCiAvKiBTb2NrZXQgcmVnaXN0ZXJzIChyZWxh
dGl2ZSB0byBzb2NrZXQgYmFzZSBhZGRyZXNzKTogKi8KIGVudW0gewpAQCAtNTgsMTQgKzU4LDgg
QEAgZW51bSB7CiAJU09DS19NU19EQVRBICAgICAgICAgICAgICAgICAgID0gMHgxODgsCiAJU09D
S19NU19TVEFUVVMgICAgICAgICAgICAgICAgID0gMHgxOGMsCiAJU09DS19NU19TWVNURU0gICAg
ICAgICAgICAgICAgID0gMHgxOTAsCi0JU09DS19GSUZPX0FDQ0VTUyAgICAgICAgICAgICAgID0g
MHgyMDAgfTsKLQotCi0jZGVmaW5lIFRJRk1fSVJRX0VOQUJMRSAgICAgICAgICAgMHg4MDAwMDAw
MAotI2RlZmluZSBUSUZNX0lSUV9TT0NLTUFTSyh4KSAgICAgICh4KQotI2RlZmluZSBUSUZNX0lS
UV9DQVJETUFTSyh4KSAgICAgICgoeCkgPDwgOCkKLSNkZWZpbmUgVElGTV9JUlFfRklGT01BU0so
eCkgICAgICAoKHgpIDw8IDE2KQotI2RlZmluZSBUSUZNX0lSUV9TRVRBTEwgICAgICAgICAgIDB4
ZmZmZmZmZmYKKwlTT0NLX0ZJRk9fQUNDRVNTICAgICAgICAgICAgICAgPSAweDIwMAorfTsKIAog
I2RlZmluZSBUSUZNX0NUUkxfTEVEICAgICAgICAgICAgIDB4MDAwMDAwNDAKICNkZWZpbmUgVElG
TV9DVFJMX0ZBU1RfQ0xLICAgICAgICAweDAwMDAwMTAwCkBAIC03Myw2MyArNjcsNzYgQEAgZW51
bSB7CiAjZGVmaW5lIFRJRk1fU09DS19TVEFURV9PQ0NVUElFRCAgMHgwMDAwMDAwOAogI2RlZmlu
ZSBUSUZNX1NPQ0tfU1RBVEVfUE9XRVJFRCAgIDB4MDAwMDAwODAKIAotI2RlZmluZSBUSUZNX0ZJ
Rk9fRU5BQkxFICAgICAgICAgIDB4MDAwMDAwMDEgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50
IGlzIHVudmVyaWZpZWQgKi8KKyNkZWZpbmUgVElGTV9GSUZPX0VOQUJMRSAgICAgICAgICAweDAw
MDAwMDAxCisjZGVmaW5lIFRJRk1fRklGT19SRUFEWSAgICAgICAgICAgMHgwMDAwMDAwMQogI2Rl
ZmluZSBUSUZNX0ZJRk9fSU5UX1NFVEFMTCAgICAgIDB4MDAwMGZmZmYKLSNkZWZpbmUgVElGTV9G
SUZPX0lOVE1BU0sgICAgICAgICAweDAwMDAwMDA1IC8qIE1lYW5pbmcgb2YgdGhpcyBjb25zdGFu
dCBpcyB1bnZlcmlmaWVkICovCisjZGVmaW5lIFRJRk1fRklGT19JTlRNQVNLICAgICAgICAgMHgw
MDAwMDAwNQogCi0jZGVmaW5lIFRJRk1fRE1BX1JFU0VUICAgICAgICAgICAgMHgwMDAwMDAwMiAv
KiBNZWFuaW5nIG9mIHRoaXMgY29uc3RhbnQgaXMgdW52ZXJpZmllZCAqLwotI2RlZmluZSBUSUZN
X0RNQV9UWCAgICAgICAgICAgICAgIDB4MDAwMDgwMDAgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0
YW50IGlzIHVudmVyaWZpZWQgKi8KLSNkZWZpbmUgVElGTV9ETUFfRU4gICAgICAgICAgICAgICAw
eDAwMDAwMDAxIC8qIE1lYW5pbmcgb2YgdGhpcyBjb25zdGFudCBpcyB1bnZlcmlmaWVkICovCisj
ZGVmaW5lIFRJRk1fRE1BX1JFU0VUICAgICAgICAgICAgMHgwMDAwMDAwMgorI2RlZmluZSBUSUZN
X0RNQV9UWCAgICAgICAgICAgICAgIDB4MDAwMDgwMDAKKyNkZWZpbmUgVElGTV9ETUFfRU4gICAg
ICAgICAgICAgICAweDAwMDAwMDAxCisjZGVmaW5lIFRJRk1fRE1BX1RTSVpFICAgICAgICAgICAg
MHgwMDAwMDA3ZgorCisjZGVmaW5lIFRJRk1fVFlQRV9YRCAxCisjZGVmaW5lIFRJRk1fVFlQRV9N
UyAyCisjZGVmaW5lIFRJRk1fVFlQRV9TRCAzCiAKLXR5cGVkZWYgZW51bSB7Rk1fTlVMTCA9IDAs
IEZNX1hEID0gMHgwMSwgRk1fTVMgPSAweDAyLCBGTV9TRCA9IDB4MDN9IHRpZm1fbWVkaWFfaWQ7
CitzdHJ1Y3QgdGlmbV9kZXZpY2VfaWQgeworCXVuc2lnbmVkIGNoYXIgdHlwZTsKK307CiAKIHN0
cnVjdCB0aWZtX2RyaXZlcjsKIHN0cnVjdCB0aWZtX2RldiB7Ci0JY2hhciBfX2lvbWVtICAgICAg
ICAgICAgKmFkZHI7Ci0Jc3BpbmxvY2tfdCAgICAgICAgICAgICAgbG9jazsKLQl0aWZtX21lZGlh
X2lkICAgICAgICAgICBtZWRpYV9pZDsKLQl1bnNpZ25lZCBpbnQgICAgICAgICAgICBzb2NrZXRf
aWQ7CisJY2hhciBfX2lvbWVtICAqYWRkcjsKKwlzcGlubG9ja190ICAgIGxvY2s7CisJdW5zaWdu
ZWQgY2hhciB0eXBlOworCXVuc2lnbmVkIGludCAgc29ja2V0X2lkOwogCi0Jdm9pZCAgICAgICAg
ICAgICAgICAgICAgKCpzaWduYWxfaXJxKShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssCi0JCQkJCSAg
ICAgIHVuc2lnbmVkIGludCBzb2NrX2lycV9zdGF0dXMpOworCXZvaWQgICAgICAgICAgKCpjYXJk
X2V2ZW50KShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOworCXZvaWQgICAgICAgICAgKCpkYXRhX2V2
ZW50KShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOwogCi0Jc3RydWN0IHRpZm1fZHJpdmVyICAgICAg
KmRydjsKLQlzdHJ1Y3QgZGV2aWNlICAgICAgICAgICBkZXY7CisJc3RydWN0IGRldmljZSBkZXY7
CiB9OwogCiBzdHJ1Y3QgdGlmbV9kcml2ZXIgewotCXRpZm1fbWVkaWFfaWQgICAgICAgICppZF90
YWJsZTsKLQlpbnQgICAgICAgICAgICAgICAgICAoKnByb2JlKShzdHJ1Y3QgdGlmbV9kZXYgKmRl
dik7Ci0Jdm9pZCAgICAgICAgICAgICAgICAgKCpyZW1vdmUpKHN0cnVjdCB0aWZtX2RldiAqZGV2
KTsKLQlpbnQgICAgICAgICAgICAgICAgICAoKnN1c3BlbmQpKHN0cnVjdCB0aWZtX2RldiAqZGV2
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBtX21lc3NhZ2VfdCBz
dGF0ZSk7Ci0JaW50ICAgICAgICAgICAgICAgICAgKCpyZXN1bWUpKHN0cnVjdCB0aWZtX2RldiAq
ZGV2KTsKKwlzdHJ1Y3QgdGlmbV9kZXZpY2VfaWQgKmlkX3RhYmxlOworCWludCAgICAgICAgICAg
ICAgICAgICAoKnByb2JlKShzdHJ1Y3QgdGlmbV9kZXYgKmRldik7CisJdm9pZCAgICAgICAgICAg
ICAgICAgICgqcmVtb3ZlKShzdHJ1Y3QgdGlmbV9kZXYgKmRldik7CisJaW50ICAgICAgICAgICAg
ICAgICAgICgqc3VzcGVuZCkoc3RydWN0IHRpZm1fZGV2ICpkZXYsCisJCQkJCSBwbV9tZXNzYWdl
X3Qgc3RhdGUpOworCWludCAgICAgICAgICAgICAgICAgICAoKnJlc3VtZSkoc3RydWN0IHRpZm1f
ZGV2ICpkZXYpOwogCi0Jc3RydWN0IGRldmljZV9kcml2ZXIgZHJpdmVyOworCXN0cnVjdCBkZXZp
Y2VfZHJpdmVyICBkcml2ZXI7CiB9OwogCiBzdHJ1Y3QgdGlmbV9hZGFwdGVyIHsKLQljaGFyIF9f
aW9tZW0gICAgICAgICAgICAqYWRkcjsKLQlzcGlubG9ja190ICAgICAgICAgICAgICBsb2NrOwot
CXVuc2lnbmVkIGludCAgICAgICAgICAgIGlycV9zdGF0dXM7Ci0JdW5zaWduZWQgaW50ICAgICAg
ICAgICAgc29ja2V0X2NoYW5nZV9zZXQ7Ci0Jd2FpdF9xdWV1ZV9oZWFkX3QgICAgICAgY2hhbmdl
X3NldF9ub3RpZnk7Ci0JdW5zaWduZWQgaW50ICAgICAgICAgICAgaWQ7Ci0JdW5zaWduZWQgaW50
ICAgICAgICAgICAgbnVtX3NvY2tldHM7Ci0Jc3RydWN0IHRpZm1fZGV2ICAgICAgICAgKipzb2Nr
ZXRzOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAgICAgICptZWRpYV9zd2l0Y2hlcjsKLQlzdHJ1Y3Qg
Y2xhc3NfZGV2aWNlICAgICBjZGV2OwotCXN0cnVjdCBkZXZpY2UgICAgICAgICAgICpkZXY7CisJ
Y2hhciBfX2lvbWVtICAgICAgICAqYWRkcjsKKwlzcGlubG9ja190ICAgICAgICAgIGxvY2s7CisJ
dW5zaWduZWQgaW50ICAgICAgICBpcnFfc3RhdHVzOworCXVuc2lnbmVkIGludCAgICAgICAgc29j
a2V0X2NoYW5nZV9zZXQ7CisJdW5zaWduZWQgaW50ICAgICAgICBpZDsKKwl1bnNpZ25lZCBpbnQg
ICAgICAgIG51bV9zb2NrZXRzOworCXN0cnVjdCBjb21wbGV0aW9uICAgKmZpbmlzaF9tZTsKKwor
CXN0cnVjdCB3b3JrX3N0cnVjdCAgbWVkaWFfc3dpdGNoZXI7CisJc3RydWN0IGNsYXNzX2Rldmlj
ZSBjZGV2OwogCi0Jdm9pZCAgICAgICAgICAgICAgICAgICAgKCplamVjdCkoc3RydWN0IHRpZm1f
YWRhcHRlciAqZm0sIHN0cnVjdCB0aWZtX2RldiAqc29jayk7CisJdm9pZCAgICAgICAgICAgICAg
ICAoKmVqZWN0KShzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwKKwkJCQkgICAgIHN0cnVjdCB0aWZt
X2RldiAqc29jayk7CisKKwlzdHJ1Y3QgdGlmbV9kZXYgICAgICpzb2NrZXRzWzBdOwogfTsKIAot
c3RydWN0IHRpZm1fYWRhcHRlciAqdGlmbV9hbGxvY19hZGFwdGVyKHZvaWQpOwotdm9pZCB0aWZt
X2ZyZWVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldik7Ci12b2lkIHRpZm1fZnJlZV9hZGFwdGVy
KHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKTsKLWludCB0aWZtX2FkZF9hZGFwdGVyKHN0cnVjdCB0
aWZtX2FkYXB0ZXIgKmZtLCBpbnQgKCptZWRpYXRocmVhZGZuKSh2b2lkICpkYXRhKSk7CitzdHJ1
Y3QgdGlmbV9hZGFwdGVyICp0aWZtX2FsbG9jX2FkYXB0ZXIodW5zaWduZWQgaW50IG51bV9zb2Nr
ZXRzLAorCQkJCQlzdHJ1Y3QgZGV2aWNlICpkZXYpOworaW50IHRpZm1fYWRkX2FkYXB0ZXIoc3Ry
dWN0IHRpZm1fYWRhcHRlciAqZm0pOwogdm9pZCB0aWZtX3JlbW92ZV9hZGFwdGVyKHN0cnVjdCB0
aWZtX2FkYXB0ZXIgKmZtKTsKLXN0cnVjdCB0aWZtX2RldiAqdGlmbV9hbGxvY19kZXZpY2Uoc3Ry
dWN0IHRpZm1fYWRhcHRlciAqZm0pOwordm9pZCB0aWZtX2ZyZWVfYWRhcHRlcihzdHJ1Y3QgdGlm
bV9hZGFwdGVyICpmbSk7CisKK3ZvaWQgdGlmbV9mcmVlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpk
ZXYpOworc3RydWN0IHRpZm1fZGV2ICp0aWZtX2FsbG9jX2RldmljZShzdHJ1Y3QgdGlmbV9hZGFw
dGVyICpmbSwgdW5zaWduZWQgaW50IGlkLAorCQkJCSAgIHVuc2lnbmVkIGNoYXIgdHlwZSk7CisK
IGludCB0aWZtX3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydik7CiB2b2lk
IHRpZm1fdW5yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHRpZm1fZHJpdmVyICpkcnYpOwogdm9pZCB0
aWZtX2VqZWN0KHN0cnVjdCB0aWZtX2RldiAqc29jayk7CkBAIC0xMzcsMTEgKzE0NCwxMSBAQCBp
bnQgdGlmbV9tYXBfc2coc3RydWN0IHRpZm1fZGV2ICpzb2NrLCBzCiAJCWludCBkaXJlY3Rpb24p
Owogdm9pZCB0aWZtX3VubWFwX3NnKHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0IHNjYXR0
ZXJsaXN0ICpzZywgaW50IG5lbnRzLAogCQkgICBpbnQgZGlyZWN0aW9uKTsKLQordm9pZCB0aWZt
X3F1ZXVlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIAogc3RhdGljIGlubGluZSB2
b2lkICp0aWZtX2dldF9kcnZkYXRhKHN0cnVjdCB0aWZtX2RldiAqZGV2KQogewotICAgICAgICBy
ZXR1cm4gZGV2X2dldF9kcnZkYXRhKCZkZXYtPmRldik7CisJcmV0dXJuIGRldl9nZXRfZHJ2ZGF0
YSgmZGV2LT5kZXYpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgdGlmbV9zZXRfZHJ2ZGF0YShz
dHJ1Y3QgdGlmbV9kZXYgKmRldiwgdm9pZCAqZGF0YSkKQEAgLTE0OSw4ICsxNTYsNCBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgdGlmbV9zZXRfZHJ2ZGF0YShzdHJ1CiAJZGV2X3NldF9kcnZkYXRhKCZk
ZXYtPmRldiwgZGF0YSk7CiB9CiAKLXN0cnVjdCB0aWZtX2RldmljZV9pZCB7Ci0JdGlmbV9tZWRp
YV9pZCBtZWRpYV9pZDsKLX07Ci0KICNlbmRpZgo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>117883</attachid>
            <date>2007-05-01 19:14 0000</date>
            <desc>diff of comment 21 patch against upstream .08d</desc>
            <filename>tifm.diff</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC9ob21lL21pa2Uva2VybmVsL3BhdGNoZXMvdGlmbS91cHN0cmVhbS9saW51eC90aWZtLmgJ
MjAwNy0wMi0xNyAwODo1OTozOC4wMDAwMDAwMDAgLTA1MDAKKysrIC9ob21lL21pa2Uva2VybmVs
L3BhdGNoZXMvd29yay9saW51eC0yLjYuMjEtZ2VudG9vL2luY2x1ZGUvbGludXgvdGlmbS5oCTIw
MDctMDUtMDEgMTQ6MjE6MTEuMDAwMDAwMDAwIC0wNDAwCkBAIC0xNCw3ICsxNCw2IEBACiAKICNp
bmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgot
I2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1
ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgpAQCAtMjMsNyAr
MjIsOCBAQAogZW51bSB7CiAJRk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUgICA9IDB4MDA4LAogCUZN
X0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUgPSAweDAwYywKLQlGTV9JTlRFUlJVUFRfU1RBVFVTICAg
ICAgID0gMHgwMTQgfTsKKwlGTV9JTlRFUlJVUFRfU1RBVFVTICAgICAgID0gMHgwMTQKK307CiAK
IC8qIFNvY2tldCByZWdpc3RlcnMgKHJlbGF0aXZlIHRvIHNvY2tldCBiYXNlIGFkZHJlc3MpOiAq
LwogZW51bSB7CkBAIC02NywxNSArNjcsMTUgQEAgZW51bSB7CiAjZGVmaW5lIFRJRk1fU09DS19T
VEFURV9PQ0NVUElFRCAgMHgwMDAwMDAwOAogI2RlZmluZSBUSUZNX1NPQ0tfU1RBVEVfUE9XRVJF
RCAgIDB4MDAwMDAwODAKIAotI2RlZmluZSBUSUZNX0ZJRk9fRU5BQkxFICAgICAgICAgIDB4MDAw
MDAwMDEgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KLSNkZWZp
bmUgVElGTV9GSUZPX1JFQURZICAgICAgICAgICAweDAwMDAwMDAxIC8qIE1lYW5pbmcgb2YgdGhp
cyBjb25zdGFudCBpcyB1bnZlcmlmaWVkICovCisjZGVmaW5lIFRJRk1fRklGT19FTkFCTEUgICAg
ICAgICAgMHgwMDAwMDAwMQorI2RlZmluZSBUSUZNX0ZJRk9fUkVBRFkgICAgICAgICAgIDB4MDAw
MDAwMDEKICNkZWZpbmUgVElGTV9GSUZPX0lOVF9TRVRBTEwgICAgICAweDAwMDBmZmZmCi0jZGVm
aW5lIFRJRk1fRklGT19JTlRNQVNLICAgICAgICAgMHgwMDAwMDAwNSAvKiBNZWFuaW5nIG9mIHRo
aXMgY29uc3RhbnQgaXMgdW52ZXJpZmllZCAqLworI2RlZmluZSBUSUZNX0ZJRk9fSU5UTUFTSyAg
ICAgICAgIDB4MDAwMDAwMDUKIAotI2RlZmluZSBUSUZNX0RNQV9SRVNFVCAgICAgICAgICAgIDB4
MDAwMDAwMDIgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KLSNk
ZWZpbmUgVElGTV9ETUFfVFggICAgICAgICAgICAgICAweDAwMDA4MDAwIC8qIE1lYW5pbmcgb2Yg
dGhpcyBjb25zdGFudCBpcyB1bnZlcmlmaWVkICovCi0jZGVmaW5lIFRJRk1fRE1BX0VOICAgICAg
ICAgICAgICAgMHgwMDAwMDAwMSAvKiBNZWFuaW5nIG9mIHRoaXMgY29uc3RhbnQgaXMgdW52ZXJp
ZmllZCAqLwotI2RlZmluZSBUSUZNX0RNQV9UU0laRSAgICAgICAgICAgIDB4MDAwMDAwN2YgLyog
TWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KKyNkZWZpbmUgVElGTV9E
TUFfUkVTRVQgICAgICAgICAgICAweDAwMDAwMDAyCisjZGVmaW5lIFRJRk1fRE1BX1RYICAgICAg
ICAgICAgICAgMHgwMDAwODAwMAorI2RlZmluZSBUSUZNX0RNQV9FTiAgICAgICAgICAgICAgIDB4
MDAwMDAwMDEKKyNkZWZpbmUgVElGTV9ETUFfVFNJWkUgICAgICAgICAgICAweDAwMDAwMDdmCiAK
ICNkZWZpbmUgVElGTV9UWVBFX1hEIDEKICNkZWZpbmUgVElGTV9UWVBFX01TIDIKQEAgLTkyLDcg
KzkyLDcgQEAgc3RydWN0IHRpZm1fZGV2IHsKIAl1bnNpZ25lZCBjaGFyIHR5cGU7CiAJdW5zaWdu
ZWQgaW50ICBzb2NrZXRfaWQ7CiAKLQl2b2lkICAgICAgICAgICgqZXZlbnQpKHN0cnVjdCB0aWZt
X2RldiAqc29jayk7CisJdm9pZCAgICAgICAgICAoKmNhcmRfZXZlbnQpKHN0cnVjdCB0aWZtX2Rl
diAqc29jayk7CiAJdm9pZCAgICAgICAgICAoKmRhdGFfZXZlbnQpKHN0cnVjdCB0aWZtX2RldiAq
c29jayk7CiAKIAlzdHJ1Y3QgZGV2aWNlIGRldjsKQEAgLTEwNiwzNCArMTA2LDI1IEBAIHN0cnVj
dCB0aWZtX2RyaXZlciB7CiAJCQkJCSBwbV9tZXNzYWdlX3Qgc3RhdGUpOwogCWludCAgICAgICAg
ICAgICAgICAgICAoKnJlc3VtZSkoc3RydWN0IHRpZm1fZGV2ICpkZXYpOwogCi0Jc3RydWN0IGRl
dmljZV9kcml2ZXIgZHJpdmVyOwotfTsKLQotLyogU29ja2V0IGNhcHM6ICovCi1lbnVtIHsKLQlU
SUZNX1NPQ0tfWERfQ0FQICAgPSAweDAwMDEsICAvLyBzb2NrZXQgc3VwcG9ydHMgeEQgY2FyZHMK
LQlUSUZNX1NPQ0tfTVNfUElGICAgPSAweDAwMDIgICAvLyBzb2NrZXQgaGFzIE1lbW9yeXN0aWNr
IHBhcmFsbGVsIGkvZgorCXN0cnVjdCBkZXZpY2VfZHJpdmVyICBkcml2ZXI7CiB9OwogCiBzdHJ1
Y3QgdGlmbV9hZGFwdGVyIHsKLQljaGFyIF9faW9tZW0gICAgICAgICAgICAqYWRkcjsKLQlzcGlu
bG9ja190ICAgICAgICAgICAgICBsb2NrOwotCXVuc2lnbmVkIGludCAgICAgICAgICAgIGlycV9z
dGF0dXM7Ci0JdW5zaWduZWQgaW50ICAgICAgICAgICAgc29ja2V0X2NoYW5nZV9zZXQ7Ci0JdW5z
aWduZWQgaW50ICAgICAgICAgICAgaWQ7Ci0JdW5zaWduZWQgaW50ICAgICAgICAgICAgbnVtX3Nv
Y2tldHM7Ci0Jc3RydWN0IGNvbXBsZXRpb24gICAgICAgKmZpbmlzaF9tZTsKLQotCXN0cnVjdCB3
b3JrX3N0cnVjdCAgICAgIG1lZGlhX3N3aXRjaGVyOwotCXN0cnVjdCBjbGFzc19kZXZpY2UgICAg
IGNkZXY7Ci0KLQl2b2lkICAgICAgICAgICAgICAgICAgICAoKmVqZWN0KShzdHJ1Y3QgdGlmbV9h
ZGFwdGVyICpmbSwKLQkJCQkJIHN0cnVjdCB0aWZtX2RldiAqc29jayk7Ci0KLQlzdHJ1Y3Qgc29j
a2V0X3QgewotCQlzdHJ1Y3QgdGlmbV9kZXYgKmRldjsKLQkJdW5zaWduZWQgaW50ICAgIGNhcHM7
Ci0JfSBzb2NrZXRzWzBdOworCWNoYXIgX19pb21lbSAgICAgICAgKmFkZHI7CisJc3BpbmxvY2tf
dCAgICAgICAgICBsb2NrOworCXVuc2lnbmVkIGludCAgICAgICAgaXJxX3N0YXR1czsKKwl1bnNp
Z25lZCBpbnQgICAgICAgIHNvY2tldF9jaGFuZ2Vfc2V0OworCXVuc2lnbmVkIGludCAgICAgICAg
aWQ7CisJdW5zaWduZWQgaW50ICAgICAgICBudW1fc29ja2V0czsKKwlzdHJ1Y3QgY29tcGxldGlv
biAgICpmaW5pc2hfbWU7CisKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgIG1lZGlhX3N3aXRjaGVyOwor
CXN0cnVjdCBjbGFzc19kZXZpY2UgY2RldjsKKworCXZvaWQgICAgICAgICAgICAgICAgKCplamVj
dCkoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sCisJCQkJICAgICBzdHJ1Y3QgdGlmbV9kZXYgKnNv
Y2spOworCisJc3RydWN0IHRpZm1fZGV2ICAgICAqc29ja2V0c1swXTsKIH07CiAKIHN0cnVjdCB0
aWZtX2FkYXB0ZXIgKnRpZm1fYWxsb2NfYWRhcHRlcih1bnNpZ25lZCBpbnQgbnVtX3NvY2tldHMs
CkBAIC0xNDksNyArMTQwLDYgQEAgc3RydWN0IHRpZm1fZGV2ICp0aWZtX2FsbG9jX2RldmljZShz
dHJ1YwogaW50IHRpZm1fcmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2KTsK
IHZvaWQgdGlmbV91bnJlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydik7CiB2
b2lkIHRpZm1fZWplY3Qoc3RydWN0IHRpZm1fZGV2ICpzb2NrKTsKLXVuc2lnbmVkIGludCB0aWZt
X2dldF9zb2NrX2NhcHMoc3RydWN0IHRpZm1fZGV2ICpzb2NrKTsKIGludCB0aWZtX21hcF9zZyhz
dHJ1Y3QgdGlmbV9kZXYgKnNvY2ssIHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIGludCBuZW50cywK
IAkJaW50IGRpcmVjdGlvbik7CiB2b2lkIHRpZm1fdW5tYXBfc2coc3RydWN0IHRpZm1fZGV2ICpz
b2NrLCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLCBpbnQgbmVudHMsCkBAIC0xNTgsNyArMTQ4LDcg
QEAgdm9pZCB0aWZtX3F1ZXVlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0IAogCiBzdGF0aWMgaW5s
aW5lIHZvaWQgKnRpZm1fZ2V0X2RydmRhdGEoc3RydWN0IHRpZm1fZGV2ICpkZXYpCiB7Ci0gICAg
ICAgIHJldHVybiBkZXZfZ2V0X2RydmRhdGEoJmRldi0+ZGV2KTsKKwlyZXR1cm4gZGV2X2dldF9k
cnZkYXRhKCZkZXYtPmRldik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCB0aWZtX3NldF9kcnZk
YXRhKHN0cnVjdCB0aWZtX2RldiAqZGV2LCB2b2lkICpkYXRhKQotLS0gL2hvbWUvbWlrZS9rZXJu
ZWwvcGF0Y2hlcy90aWZtL3Vwc3RyZWFtL3RpZm1fN3h4MS5jCTIwMDctMDItMjUgMDI6MjY6Mjku
MDAwMDAwMDAwIC0wNTAwCisrKyAvaG9tZS9taWtlL2tlcm5lbC9wYXRjaGVzL3dvcmsvbGludXgt
Mi42LjIxLWdlbnRvby9kcml2ZXJzL21pc2MvdGlmbV83eHgxLmMJMjAwNy0wNS0wMSAxNDoyMTox
MS4wMDAwMDAwMDAgLTA0MDAKQEAgLTksOCArOSw3IEBACiAgKgogICovCiAKLSNpbmNsdWRlICJs
aW51eC90aWZtLmgiCi0jaW5jbHVkZSAibGludXgvcGNpX2lkcy5oIgorI2luY2x1ZGUgPGxpbnV4
L3RpZm0uaD4KIAogI2RlZmluZSBEUklWRVJfTkFNRSAidGlmbV83eHgxIgogI2RlZmluZSBEUklW
RVJfVkVSU0lPTiAiMC44IgpAQCAtNTMsMTIgKzUyLDEyIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCB0
aWZtXzd4eDFfaXNyKGludCBpcnEKIAkJd3JpdGVsKFRJRk1fSVJRX0VOQUJMRSwgZm0tPmFkZHIg
KyBGTV9DTEVBUl9JTlRFUlJVUFRfRU5BQkxFKTsKIAogCQlmb3IgKGNudCA9IDA7IGNudCA8IGZt
LT5udW1fc29ja2V0czsgY250KyspIHsKLQkJCXNvY2sgPSBmbS0+c29ja2V0c1tjbnRdLmRldjsK
KwkJCXNvY2sgPSBmbS0+c29ja2V0c1tjbnRdOwogCQkJaWYgKHNvY2spIHsKIAkJCQlpZiAoKGly
cV9zdGF0dXMgPj4gY250KSAmIFRJRk1fSVJRX0ZJRk9NQVNLKDEpKQogCQkJCQlzb2NrLT5kYXRh
X2V2ZW50KHNvY2spOwogCQkJCWlmICgoaXJxX3N0YXR1cyA+PiBjbnQpICYgVElGTV9JUlFfQ0FS
RE1BU0soMSkpCi0JCQkJCXNvY2stPmV2ZW50KHNvY2spOworCQkJCQlzb2NrLT5jYXJkX2V2ZW50
KHNvY2spOwogCQkJfQogCQl9CiAKQEAgLTc4LDE1ICs3NywxMyBAQCBzdGF0aWMgaXJxcmV0dXJu
X3QgdGlmbV83eHgxX2lzcihpbnQgaXJxCiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCi1zdGF0
aWMgdW5zaWduZWQgY2hhciB0aWZtXzd4eDFfdG9nZ2xlX3NvY2tfcG93ZXIoY2hhciBfX2lvbWVt
ICpzb2NrX2FkZHIsCi0JCQkJCQkgdW5zaWduZWQgaW50IGNhcHMpCitzdGF0aWMgdW5zaWduZWQg
Y2hhciB0aWZtXzd4eDFfdG9nZ2xlX3NvY2tfcG93ZXIoY2hhciBfX2lvbWVtICpzb2NrX2FkZHIp
CiB7CiAJdW5zaWduZWQgaW50IHNfc3RhdGU7CiAJaW50IGNudDsKIAogCXdyaXRlbCgweDBlMDAs
IHNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCk7CiAKLQkvKiBoYWxmIGEgc2Vjb25kIHNob3VsZCBi
ZSBlbm91Z2ggICovCiAJZm9yIChjbnQgPSAxNjsgY250IDw9IDI1NjsgY250IDw8PSAxKSB7CiAJ
CWlmICghKFRJRk1fU09DS19TVEFURV9QT1dFUkVECiAJCSAgICAgICYgcmVhZGwoc29ja19hZGRy
ICsgU09DS19QUkVTRU5UX1NUQVRFKSkpCkBAIC0xMDIsMTMgKzk5LDE0IEBAIHN0YXRpYyB1bnNp
Z25lZCBjaGFyIHRpZm1fN3h4MV90b2dnbGVfc28KIAl3cml0ZWwocmVhZGwoc29ja19hZGRyICsg
U09DS19DT05UUk9MKSB8IFRJRk1fQ1RSTF9MRUQsCiAJICAgICAgIHNvY2tfYWRkciArIFNPQ0tf
Q09OVFJPTCk7CiAKLQlpZiAoY2FwcyAmIFRJRk1fU09DS19YRF9DQVApIHsKLQkJaWYgKCgocmVh
ZGwoc29ja19hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSA+PiA0KSAmIDcpID09IDEpCi0JCQlt
c2xlZXAoNDApOwotCX0KLQl3cml0ZWwoKHNfc3RhdGUgJiA3KSB8IDB4MGMwMCwgc29ja19hZGRy
ICsgU09DS19DT05UUk9MKTsKLQltc2xlZXAoMTApOworCS8qIHhkIG5lZWRzIHNvbWUgZXh0cmEg
dGltZSBiZWZvcmUgcG93ZXIgb24gKi8KKwlpZiAoKChyZWFkbChzb2NrX2FkZHIgKyBTT0NLX1BS
RVNFTlRfU1RBVEUpID4+IDQpICYgNykKKwkgICAgPT0gVElGTV9UWVBFX1hEKQorCQltc2xlZXAo
NDApOwogCisJd3JpdGVsKChzX3N0YXRlICYgNykgfCAweDBjMDAsIHNvY2tfYWRkciArIFNPQ0tf
Q09OVFJPTCk7CisJLyogd2FpdCBmb3IgcG93ZXIgdG8gc3RhYmlsaXplICovCisJbXNsZWVwKDIw
KTsKIAlmb3IgKGNudCA9IDE2OyBjbnQgPD0gMjU2OyBjbnQgPDw9IDEpIHsKIAkJaWYgKChUSUZN
X1NPQ0tfU1RBVEVfUE9XRVJFRAogCQkgICAgICYgcmVhZGwoc29ja19hZGRyICsgU09DS19QUkVT
RU5UX1NUQVRFKSkpCkBAIC0xNTMsMTIgKzE1MSwxMiBAQCBzdGF0aWMgdm9pZCB0aWZtXzd4eDFf
c3dpdGNoX21lZGlhKHN0cnVjCiAJZm9yIChjbnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tldHM7
IGNudCsrKSB7CiAJCWlmICghKHNvY2tldF9jaGFuZ2Vfc2V0ICYgKDEgPDwgY250KSkpCiAJCQlj
b250aW51ZTsKLQkJc29jayA9IGZtLT5zb2NrZXRzW2NudF0uZGV2OworCQlzb2NrID0gZm0tPnNv
Y2tldHNbY250XTsKIAkJaWYgKHNvY2spIHsKIAkJCXByaW50ayhLRVJOX0lORk8KIAkJCSAgICAg
ICAiJXMgOiBkZW1hbmQgcmVtb3ZpbmcgY2FyZCBmcm9tIHNvY2tldCAldToldVxuIiwKIAkJCSAg
ICAgICBmbS0+Y2Rldi5jbGFzc19pZCwgZm0tPmlkLCBjbnQpOwotCQkJZm0tPnNvY2tldHNbY250
XS5kZXYgPSBOVUxMOworCQkJZm0tPnNvY2tldHNbY250XSA9IE5VTEw7CiAJCQlzcGluX3VubG9j
a19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwogCQkJZGV2aWNlX3VucmVnaXN0ZXIoJnNv
Y2stPmRldik7CiAJCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKQEAgLTE2
OSw4ICsxNjcsNyBAQCBzdGF0aWMgdm9pZCB0aWZtXzd4eDFfc3dpdGNoX21lZGlhKHN0cnVjCiAJ
CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7CiAKIAkJbWVkaWFfaWQg
PSB0aWZtXzd4eDFfdG9nZ2xlX3NvY2tfcG93ZXIoCi0JCQkJdGlmbV83eHgxX3NvY2tfYWRkcihm
bS0+YWRkciwgY250KSwKLQkJCQlmbS0+c29ja2V0c1tjbnRdLmNhcHMpOworCQkJCXRpZm1fN3h4
MV9zb2NrX2FkZHIoZm0tPmFkZHIsIGNudCkpOwogCiAJCS8vIHRpZm1fYWxsb2NfZGV2aWNlIHdp
bGwgY2hlY2sgaWYgbWVkaWFfaWQgaXMgdmFsaWQKIAkJc29jayA9IHRpZm1fYWxsb2NfZGV2aWNl
KGZtLCBjbnQsIG1lZGlhX2lkKTsKQEAgLTE3OSw4ICsxNzYsOCBAQCBzdGF0aWMgdm9pZCB0aWZt
Xzd4eDFfc3dpdGNoX21lZGlhKHN0cnVjCiAKIAkJCWlmICghZGV2aWNlX3JlZ2lzdGVyKCZzb2Nr
LT5kZXYpKSB7CiAJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJ
aWYgKCFmbS0+c29ja2V0c1tjbnRdLmRldikgewotCQkJCQlmbS0+c29ja2V0c1tjbnRdLmRldiA9
IHNvY2s7CisJCQkJaWYgKCFmbS0+c29ja2V0c1tjbnRdKSB7CisJCQkJCWZtLT5zb2NrZXRzW2Nu
dF0gPSBzb2NrOwogCQkJCQlzb2NrID0gTlVMTDsKIAkJCQl9CiAJCQkJc3Bpbl91bmxvY2tfaXJx
cmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKQEAgLTIzNiwxMiArMjMzLDExIEBAIHN0YXRpYyBp
bnQgdGlmbV83eHgxX3Jlc3VtZShzdHJ1Y3QgcGNpX2QKIAogCWZvciAocmMgPSAwOyByYyA8IGZt
LT5udW1fc29ja2V0czsgcmMrKykKIAkJbmV3X2lkc1tyY10gPSB0aWZtXzd4eDFfdG9nZ2xlX3Nv
Y2tfcG93ZXIoCi0JCQkJCXRpZm1fN3h4MV9zb2NrX2FkZHIoZm0tPmFkZHIsIHJjKSwKLQkJCQkJ
Zm0tPnNvY2tldHNbcmNdLmNhcHMpOworCQkJCQl0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRy
LCByYykpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwogCWZvciAocmMg
PSAwOyByYyA8IGZtLT5udW1fc29ja2V0czsgcmMrKykgewotCQlpZiAoZm0tPnNvY2tldHNbcmNd
LmRldikgewotCQkJaWYgKGZtLT5zb2NrZXRzW3JjXS5kZXYtPnR5cGUgPT0gbmV3X2lkc1tyY10p
CisJCWlmIChmbS0+c29ja2V0c1tyY10pIHsKKwkJCWlmIChmbS0+c29ja2V0c1tyY10tPnR5cGUg
PT0gbmV3X2lkc1tyY10pCiAJCQkJZ29vZF9zb2NrZXRzIHw9IDEgPDwgcmM7CiAJCQllbHNlCiAJ
CQkJYmFkX3NvY2tldHMgfD0gMSA8PCByYzsKQEAgLTI3MSw3ICsyNjcsNyBAQCBzdGF0aWMgaW50
IHRpZm1fN3h4MV9yZXN1bWUoc3RydWN0IHBjaV9kCiAJfQogCiAJZm0tPnNvY2tldF9jaGFuZ2Vf
c2V0IHw9IGJhZF9zb2NrZXRzOwotCWlmIChmbS0+c29ja2V0X2NoYW5nZV9zZXQpCQkKKwlpZiAo
Zm0tPnNvY2tldF9jaGFuZ2Vfc2V0KQogCQl0aWZtX3F1ZXVlX3dvcmsoJmZtLT5tZWRpYV9zd2l0
Y2hlcik7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwpAQCAt
MzIwLDE4ICszMTYsNiBAQCBzdGF0aWMgaW50IHRpZm1fN3h4MV9wcm9iZShzdHJ1Y3QgcGNpX2Rl
CiAJCWdvdG8gZXJyX291dF9pbnQ7CiAJfQogCi0Jc3dpdGNoIChmbS0+bnVtX3NvY2tldHMpIHsK
LQljYXNlIDI6Ci0JCWZtLT5zb2NrZXRzWzBdLmNhcHMgfD0gVElGTV9TT0NLX01TX1BJRjsKLQkJ
YnJlYWs7Ci0JY2FzZSA0OgotCQlmbS0+c29ja2V0c1swXS5jYXBzIHw9IFRJRk1fU09DS19YRF9D
QVA7Ci0JCWZtLT5zb2NrZXRzWzFdLmNhcHMgfD0gVElGTV9TT0NLX1hEX0NBUDsKLQkJZm0tPnNv
Y2tldHNbMl0uY2FwcyB8PSBUSUZNX1NPQ0tfWERfQ0FQIHwgVElGTV9TT0NLX01TX1BJRjsKLQkJ
Zm0tPnNvY2tldHNbM10uY2FwcyB8PSBUSUZNX1NPQ0tfWERfQ0FQOwotCQlicmVhazsKLQl9Ci0K
IAlJTklUX1dPUksoJmZtLT5tZWRpYV9zd2l0Y2hlciwgdGlmbV83eHgxX3N3aXRjaF9tZWRpYSk7
CiAJZm0tPmVqZWN0ID0gdGlmbV83eHgxX2VqZWN0OwogCXBjaV9zZXRfZHJ2ZGF0YShkZXYsIGZt
KTsKLS0tIC9ob21lL21pa2Uva2VybmVsL3BhdGNoZXMvdGlmbS91cHN0cmVhbS90aWZtX2NvcmUu
YwkyMDA3LTAyLTE3IDAyOjM3OjAxLjAwMDAwMDAwMCAtMDUwMAorKysgL2hvbWUvbWlrZS9rZXJu
ZWwvcGF0Y2hlcy93b3JrL2xpbnV4LTIuNi4yMS1nZW50b28vZHJpdmVycy9taXNjL3RpZm1fY29y
ZS5jCTIwMDctMDUtMDEgMTQ6MjE6MTEuMDAwMDAwMDAwIC0wNDAwCkBAIC05LDcgKzksNyBAQAog
ICoKICAqLwogCi0jaW5jbHVkZSAibGludXgvdGlmbS5oIgorI2luY2x1ZGUgPGxpbnV4L3RpZm0u
aD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CiAKQEAg
LTEwMSw3ICsxMDEsNyBAQCBzdGF0aWMgaW50IHRpZm1fZGV2aWNlX3JlbW92ZShzdHJ1Y3QgZGV2
CiAJCQkJCSAgICAgICBkcml2ZXIpOwogCiAJaWYgKGRldi0+ZHJpdmVyICYmIGRydi0+cmVtb3Zl
KSB7Ci0JCXNvY2stPmV2ZW50ID0gdGlmbV9kdW1teV9ldmVudDsKKwkJc29jay0+Y2FyZF9ldmVu
dCA9IHRpZm1fZHVtbXlfZXZlbnQ7CiAJCXNvY2stPmRhdGFfZXZlbnQgPSB0aWZtX2R1bW15X2V2
ZW50OwogCQlkcnYtPnJlbW92ZShzb2NrKTsKIAkJc29jay0+ZGV2LmRyaXZlciA9IE5VTEw7CkBA
IC0xNTUsMTQgKzE1NSwxNCBAQCBzdGF0aWMgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgdGlmbV9k
ZXZfCiB9OwogCiBzdGF0aWMgc3RydWN0IGJ1c190eXBlIHRpZm1fYnVzX3R5cGUgPSB7Ci0JLm5h
bWUgICAgICAgICAgID0gInRpZm0iLAotCS5kZXZfYXR0cnMgICAgICA9IHRpZm1fZGV2X2F0dHJz
LAotCS5tYXRjaCAgICAgICAgICA9IHRpZm1fYnVzX21hdGNoLAotCS51ZXZlbnQgICAgICAgICA9
IHRpZm1fdWV2ZW50LAotCS5wcm9iZSAgICAgICAgICA9IHRpZm1fZGV2aWNlX3Byb2JlLAotCS5y
ZW1vdmUgICAgICAgICA9IHRpZm1fZGV2aWNlX3JlbW92ZSwKLQkuc3VzcGVuZCAgICAgICAgPSB0
aWZtX2RldmljZV9zdXNwZW5kLAotCS5yZXN1bWUgICAgICAgICA9IHRpZm1fZGV2aWNlX3Jlc3Vt
ZQorCS5uYW1lICAgICAgPSAidGlmbSIsCisJLmRldl9hdHRycyA9IHRpZm1fZGV2X2F0dHJzLAor
CS5tYXRjaCAgICAgPSB0aWZtX2J1c19tYXRjaCwKKwkudWV2ZW50ICAgID0gdGlmbV91ZXZlbnQs
CisJLnByb2JlICAgICA9IHRpZm1fZGV2aWNlX3Byb2JlLAorCS5yZW1vdmUgICAgPSB0aWZtX2Rl
dmljZV9yZW1vdmUsCisJLnN1c3BlbmQgICA9IHRpZm1fZGV2aWNlX3N1c3BlbmQsCisJLnJlc3Vt
ZSAgICA9IHRpZm1fZGV2aWNlX3Jlc3VtZQogfTsKIAogc3RhdGljIHZvaWQgdGlmbV9mcmVlKHN0
cnVjdCBjbGFzc19kZXZpY2UgKmNkZXYpCkBAIC0xODMsNyArMTgzLDcgQEAgc3RydWN0IHRpZm1f
YWRhcHRlciAqdGlmbV9hbGxvY19hZGFwdGVyKAogCXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtOwog
CiAJZm0gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGlmbV9hZGFwdGVyKQotCQkgICAgICsgc2l6
ZW9mKHN0cnVjdCBzb2NrZXRfdCkgKiBudW1fc29ja2V0cywgR0ZQX0tFUk5FTCk7CisJCSAgICAg
KyBzaXplb2Yoc3RydWN0IHRpZm1fZGV2KikgKiBudW1fc29ja2V0cywgR0ZQX0tFUk5FTCk7CiAJ
aWYgKGZtKSB7CiAJCWZtLT5jZGV2LmNsYXNzID0gJnRpZm1fYWRhcHRlcl9jbGFzczsKIAkJZm0t
PmNkZXYuZGV2ID0gZGV2OwpAQCAtMjE0LDEwICsyMTQsOSBAQCBpbnQgdGlmbV9hZGRfYWRhcHRl
cihzdHJ1Y3QgdGlmbV9hZGFwdGVyCiAJCXNwaW5fbG9jaygmdGlmbV9hZGFwdGVyX2xvY2spOwog
CQlpZHJfcmVtb3ZlKCZ0aWZtX2FkYXB0ZXJfaWRyLCBmbS0+aWQpOwogCQlzcGluX3VubG9jaygm
dGlmbV9hZGFwdGVyX2xvY2spOwotCQlyZXR1cm4gcmM7CiAJfQogCi0JcmV0dXJuIDA7CisJcmV0
dXJuIHJjOwogfQogRVhQT1JUX1NZTUJPTCh0aWZtX2FkZF9hZGFwdGVyKTsKIApAQCAtMjI3LDgg
KzIyNiw4IEBAIHZvaWQgdGlmbV9yZW1vdmVfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGEKIAogCWZs
dXNoX3dvcmtxdWV1ZSh3b3JrcXVldWUpOwogCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9z
b2NrZXRzOyArK2NudCkgewotCQlpZiAoZm0tPnNvY2tldHNbY250XS5kZXYpCi0JCQlkZXZpY2Vf
dW5yZWdpc3RlcigmZm0tPnNvY2tldHNbY250XS5kZXYtPmRldik7CisJCWlmIChmbS0+c29ja2V0
c1tjbnRdKQorCQkJZGV2aWNlX3VucmVnaXN0ZXIoJmZtLT5zb2NrZXRzW2NudF0tPmRldik7CiAJ
fQogCiAJc3Bpbl9sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7CkBAIC0yNjQsNyArMjYzLDcgQEAg
c3RydWN0IHRpZm1fZGV2ICp0aWZtX2FsbG9jX2RldmljZShzdHJ1YwogCQlzcGluX2xvY2tfaW5p
dCgmc29jay0+bG9jayk7CiAJCXNvY2stPnR5cGUgPSB0eXBlOwogCQlzb2NrLT5zb2NrZXRfaWQg
PSBpZDsKLQkJc29jay0+ZXZlbnQgPSB0aWZtX2R1bW15X2V2ZW50OworCQlzb2NrLT5jYXJkX2V2
ZW50ID0gdGlmbV9kdW1teV9ldmVudDsKIAkJc29jay0+ZGF0YV9ldmVudCA9IHRpZm1fZHVtbXlf
ZXZlbnQ7CiAKIAkJc29jay0+ZGV2LnBhcmVudCA9IGZtLT5jZGV2LmRldjsKLS0tIC9ob21lL21p
a2Uva2VybmVsL3BhdGNoZXMvdGlmbS91cHN0cmVhbS90aWZtX3NkLmMJMjAwNy0wMy0xMyAwOTow
OTo1NS4wMDAwMDAwMDAgLTA0MDAKKysrIC9ob21lL21pa2Uva2VybmVsL3BhdGNoZXMvd29yay9s
aW51eC0yLjYuMjEtZ2VudG9vL2RyaXZlcnMvbW1jL3RpZm1fc2QuYwkyMDA3LTA1LTAxIDE0OjIx
OjExLjAwMDAwMDAwMCAtMDQwMApAQCAtMTIsMTAgKzEyLDExIEBACiAgKi8KIAogCi0jaW5jbHVk
ZSAibGludXgvdGlmbS5oIgorI2luY2x1ZGUgPGxpbnV4L3RpZm0uaD4KICNpbmNsdWRlIDxsaW51
eC9tbWMvcHJvdG9jb2wuaD4KICNpbmNsdWRlIDxsaW51eC9tbWMvaG9zdC5oPgogI2luY2x1ZGUg
PGxpbnV4L2hpZ2htZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgogI2luY2x1
ZGUgPGFzbS9pby5oPgogCiAjZGVmaW5lIERSSVZFUl9OQU1FICJ0aWZtX3NkIgpAQCAtNzQsNyAr
NzUsNyBAQCBtb2R1bGVfcGFyYW0oZml4ZWRfdGltZW91dCwgYm9vbCwgMDY0NCk7CiAjZGVmaW5l
IFRJRk1fTU1DU0RfQ01EX0FDICAgICAweDIwMDAKICNkZWZpbmUgVElGTV9NTUNTRF9DTURfQURU
QyAgIDB4MzAwMAogCi0jZGVmaW5lIFRJRk1fTU1DU0RfTUFYX0JMT0NLX1NJWkUgIDB4MDgwMAor
I2RlZmluZSBUSUZNX01NQ1NEX01BWF9CTE9DS19TSVpFICAweDA4MDBVTAogCiBlbnVtIHsKIAlD
TURfUkVBRFkgICAgPSAweDAwMDEsCkBAIC0yNzksMTUgKzI4MCwxMyBAQCBpbnQgdGlmbV9zZF9z
ZXRfZG1hX2RhdGEoc3RydWN0IHRpZm1fc2QgCiAJCQlyZXR1cm4gMTsKIAl9CiAKLQl3aGlsZSAo
MSkgewotCQlkbWFfbGVuID0gc2dfZG1hX2xlbigmcl9kYXRhLT5zZ1tob3N0LT5zZ19wb3NdKQot
CQkJICAtIGhvc3QtPmJsb2NrX3BvczsKLQkJaWYgKGRtYV9sZW4pCi0JCQlicmVhazsKKwlkbWFf
bGVuID0gc2dfZG1hX2xlbigmcl9kYXRhLT5zZ1tob3N0LT5zZ19wb3NdKSAtIGhvc3QtPmJsb2Nr
X3BvczsKKwlpZiAoIWRtYV9sZW4pIHsKIAkJaG9zdC0+YmxvY2tfcG9zID0gMDsKIAkJaG9zdC0+
c2dfcG9zKys7CiAJCWlmIChob3N0LT5zZ19wb3MgPT0gaG9zdC0+c2dfbGVuKQogCQkJcmV0dXJu
IDE7CisJCWRtYV9sZW4gPSBzZ19kbWFfbGVuKCZyX2RhdGEtPnNnW2hvc3QtPnNnX3Bvc10pOwog
CX0KIAogCWlmIChkbWFfbGVuIDwgdF9zaXplKSB7CkBAIC0zNzMsOCArMzcyLDEwIEBAIHN0YXRp
YyB1bnNpZ25lZCBpbnQgdGlmbV9zZF9vcF9mbGFncyhzdHIKIHN0YXRpYyB2b2lkIHRpZm1fc2Rf
ZXhlYyhzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwgc3RydWN0IG1tY19jb21tYW5kICpjbWQpCiB7CiAJ
c3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwotCXVuc2lnbmVkIGludCBjbWRfbWFz
ayA9IHRpZm1fc2Rfb3BfZmxhZ3MoY21kKSB8Ci0JCQkJKGhvc3QtPm9wZW5fZHJhaW4gPyBUSUZN
X01NQ1NEX09EVE8gOiAwKTsKKwl1bnNpZ25lZCBpbnQgY21kX21hc2sgPSB0aWZtX3NkX29wX2Zs
YWdzKGNtZCk7CisKKwlpZiAoaG9zdC0+b3Blbl9kcmFpbikKKwkJY21kX21hc2sgfD0gVElGTV9N
TUNTRF9PRFRPOwogCiAJaWYgKGNtZC0+ZGF0YSAmJiAoY21kLT5kYXRhLT5mbGFncyAmIE1NQ19E
QVRBX1JFQUQpKQogCQljbWRfbWFzayB8PSBUSUZNX01NQ1NEX1JFQUQ7CkBAIC01MDAsNyArNTAx
LDcgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9kYXRhX2V2ZW50KHN0cnVjdCB0aQogfQogCiAvKiBD
YWxsZWQgZnJvbSBpbnRlcnJ1cHQgaGFuZGxlciAqLwotc3RhdGljIHZvaWQgdGlmbV9zZF9ldmVu
dChzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spCitzdGF0aWMgdm9pZCB0aWZtX3NkX2NhcmRfZXZlbnQo
c3RydWN0IHRpZm1fZGV2ICpzb2NrKQogewogCXN0cnVjdCB0aWZtX3NkICpob3N0OwogCXVuc2ln
bmVkIGludCBob3N0X3N0YXR1cyA9IDA7CkBAIC02NTksOSArNjYwLDggQEAgc3RhdGljIHZvaWQg
dGlmbV9zZF9yZXF1ZXN0KHN0cnVjdCBtbWNfaAogCiAJCQlob3N0LT5zZ19sZW4gPSByX2RhdGEt
PnNnX2xlbjsKIAkJfSBlbHNlIHsKLQkJCWhvc3QtPmJvdW5jZV9idWYub2Zmc2V0Ci0JCQkJPSBv
ZmZzZXRfaW5fcGFnZShob3N0LT5ib3VuY2VfYnVmX2RhdGEpOwotCQkJaG9zdC0+Ym91bmNlX2J1
Zi5sZW5ndGggPSByX2RhdGEtPmJsa3N6OworCQkJc2dfaW5pdF9vbmUoJmhvc3QtPmJvdW5jZV9i
dWYsIGhvc3QtPmJvdW5jZV9idWZfZGF0YSwKKwkJCQkgICAgcl9kYXRhLT5ibGtzeik7CiAKIAkJ
CWlmKDEgIT0gdGlmbV9tYXBfc2coc29jaywgJmhvc3QtPmJvdW5jZV9idWYsIDEsCiAJCQkJCSAg
ICByX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUKQEAgLTk2NCw4ICs5NjQsNiBAQCBzdGF0
aWMgaW50IHRpZm1fc2RfcHJvYmUoc3RydWN0IHRpZm1fZGV2CiAJaG9zdC0+ZGV2ID0gc29jazsK
IAlob3N0LT50aW1lb3V0X2ppZmZpZXMgPSBtc2Vjc190b19qaWZmaWVzKDEwMDApOwogCi0JaG9z
dC0+Ym91bmNlX2J1Zi5wYWdlID0gdmlydF90b19wYWdlKGhvc3QtPmJvdW5jZV9idWZfZGF0YSk7
Ci0KIAl0YXNrbGV0X2luaXQoJmhvc3QtPmZpbmlzaF90YXNrbGV0LCB0aWZtX3NkX2VuZF9jbWQs
CiAJCSAgICAgKHVuc2lnbmVkIGxvbmcpaG9zdCk7CiAJc2V0dXBfdGltZXIoJmhvc3QtPnRpbWVy
LCB0aWZtX3NkX2Fib3J0LCAodW5zaWduZWQgbG9uZylob3N0KTsKQEAgLTk3NiwxOSArOTc0LDE0
IEBAIHN0YXRpYyBpbnQgdGlmbV9zZF9wcm9iZShzdHJ1Y3QgdGlmbV9kZXYKIAltbWMtPmZfbWlu
ID0gMjAwMDAwMDAgLyA2MDsKIAltbWMtPmZfbWF4ID0gMjQwMDAwMDA7CiAKLS8vCW1tYy0+bWF4
X2Jsa19jb3VudCA9IDIwNDg7Ci0vLwltbWMtPm1heF9od19zZWdzID0gbW1jLT5tYXhfYmxrX2Nv
dW50OwotCW1tYy0+bWF4X2h3X3NlZ3MgPSAxNjsKLS8vCW1tYy0+bWF4X2Jsa19zaXplID0gbWlu
KDIwNDgsIFBBR0VfU0laRSk7Ci0vLwltbWMtPm1heF9zZWdfc2l6ZSA9IG1tYy0+bWF4X2Jsa19j
b3VudCAqIG1tYy0+bWF4X2Jsa19zaXplOwotCW1tYy0+bWF4X3NlZ19zaXplID0gMTI3ICogMjA0
ODsKLQorCW1tYy0+bWF4X2Jsa19jb3VudCA9IDIwNDg7CisJbW1jLT5tYXhfaHdfc2VncyA9IG1t
Yy0+bWF4X2Jsa19jb3VudDsKKwltbWMtPm1heF9ibGtfc2l6ZSA9IG1pbihUSUZNX01NQ1NEX01B
WF9CTE9DS19TSVpFLCBQQUdFX1NJWkUpOworCW1tYy0+bWF4X3NlZ19zaXplID0gbW1jLT5tYXhf
YmxrX2NvdW50ICogbW1jLT5tYXhfYmxrX3NpemU7CisJbW1jLT5tYXhfcmVxX3NpemUgPSBtbWMt
Pm1heF9zZWdfc2l6ZTsKIAltbWMtPm1heF9waHlzX3NlZ3MgPSBtbWMtPm1heF9od19zZWdzOwot
CW1tYy0+bWF4X3NlY3RvcnMgPSAxMjcgKiBtbWMtPm1heF9waHlzX3NlZ3M7Ci0KLS8vCW1tYy0+
bWF4X3JlcV9zaXplID0gbW1jLT5tYXhfc2VnX3NpemU7CiAKLQlzb2NrLT5ldmVudCA9IHRpZm1f
c2RfZXZlbnQ7CisJc29jay0+Y2FyZF9ldmVudCA9IHRpZm1fc2RfY2FyZF9ldmVudDsKIAlzb2Nr
LT5kYXRhX2V2ZW50ID0gdGlmbV9zZF9kYXRhX2V2ZW50OwogCXJjID0gdGlmbV9zZF9pbml0aWFs
aXplX2hvc3QoaG9zdCk7CiAKQEAgLTEwMDcsMTIgKzEwMDAsMTUgQEAgc3RhdGljIHZvaWQgdGlm
bV9zZF9yZW1vdmUoc3RydWN0IHRpZm1fZAogCXN0cnVjdCB0aWZtX3NkICpob3N0ID0gbW1jX3By
aXYobW1jKTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JdGFza2xldF9raWxsKCZob3N0LT5m
aW5pc2hfdGFza2xldCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsK
IAlob3N0LT5lamVjdCA9IDE7CiAJd3JpdGVsKDAsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lO
VF9FTkFCTEUpOwogCW1taW93YigpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxv
Y2ssIGZsYWdzKTsKIAorCXRhc2tsZXRfa2lsbCgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQpOworCisJ
c3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIAlpZiAoaG9zdC0+cmVxKSB7
CiAJCXdyaXRlbChUSUZNX0ZJRk9fSU5UX1NFVEFMTCwKIAkJICAgICAgIHNvY2stPmFkZHIgKyBT
T0NLX0RNQV9GSUZPX0lOVF9FTkFCTEVfQ0xFQVIpOwpAQCAtMTAyMyw4ICsxMDE5LDYgQEAgc3Rh
dGljIHZvaWQgdGlmbV9zZF9yZW1vdmUoc3RydWN0IHRpZm1fZAogCQl0YXNrbGV0X3NjaGVkdWxl
KCZob3N0LT5maW5pc2hfdGFza2xldCk7CiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNv
Y2stPmxvY2ssIGZsYWdzKTsKLQkvLyB0ZW1wb3JhcnkgaGFjawotCW1zbGVlcCgxMDAwKTsKIAlt
bWNfcmVtb3ZlX2hvc3QobW1jKTsKIAlkZXZfZGJnKCZzb2NrLT5kZXYsICJhZnRlciByZW1vdmVc
biIpOwogCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117885</attachid>
            <date>2007-05-01 19:55 0000</date>
            <desc>Patch for 2.6.21 to upstream version 08d</desc>
            <filename>tifm-08d.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIGxpbnV4LTIuNi4yMS1nZW50b28vaW5jbHVkZS9saW51eC90aWZtLmgJMjAwNy0wNS0wMSAx
NTo1MToxNy4wMDAwMDAwMDAgLTA0MDAKKysrIHVwc3RyZWFtL2xpbnV4L3RpZm0uaAkyMDA3LTA1
LTAxIDE1OjM1OjU2LjAwMDAwMDAwMCAtMDQwMApAQCAtMTcsNyArMTcsNyBAQAogI2luY2x1ZGUg
PGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4
L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC93b3Jr
cXVldWUuaD4KIAogLyogSG9zdCByZWdpc3RlcnMgKHJlbGF0aXZlIHRvIHBjaSBiYXNlIGFkZHJl
c3MpOiAqLwogZW51bSB7CkBAIC01OCwxNCArNTgsOCBAQCBlbnVtIHsKIAlTT0NLX01TX0RBVEEg
ICAgICAgICAgICAgICAgICAgPSAweDE4OCwKIAlTT0NLX01TX1NUQVRVUyAgICAgICAgICAgICAg
ICAgPSAweDE4YywKIAlTT0NLX01TX1NZU1RFTSAgICAgICAgICAgICAgICAgPSAweDE5MCwKLQlT
T0NLX0ZJRk9fQUNDRVNTICAgICAgICAgICAgICAgPSAweDIwMCB9OwotCi0KLSNkZWZpbmUgVElG
TV9JUlFfRU5BQkxFICAgICAgICAgICAweDgwMDAwMDAwCi0jZGVmaW5lIFRJRk1fSVJRX1NPQ0tN
QVNLKHgpICAgICAgKHgpCi0jZGVmaW5lIFRJRk1fSVJRX0NBUkRNQVNLKHgpICAgICAgKCh4KSA8
PCA4KQotI2RlZmluZSBUSUZNX0lSUV9GSUZPTUFTSyh4KSAgICAgICgoeCkgPDwgMTYpCi0jZGVm
aW5lIFRJRk1fSVJRX1NFVEFMTCAgICAgICAgICAgMHhmZmZmZmZmZgorCVNPQ0tfRklGT19BQ0NF
U1MgICAgICAgICAgICAgICA9IDB4MjAwCit9OwogCiAjZGVmaW5lIFRJRk1fQ1RSTF9MRUQgICAg
ICAgICAgICAgMHgwMDAwMDA0MAogI2RlZmluZSBUSUZNX0NUUkxfRkFTVF9DTEsgICAgICAgIDB4
MDAwMDAxMDAKQEAgLTc0LDcwICs2OCw5MyBAQCBlbnVtIHsKICNkZWZpbmUgVElGTV9TT0NLX1NU
QVRFX1BPV0VSRUQgICAweDAwMDAwMDgwCiAKICNkZWZpbmUgVElGTV9GSUZPX0VOQUJMRSAgICAg
ICAgICAweDAwMDAwMDAxIC8qIE1lYW5pbmcgb2YgdGhpcyBjb25zdGFudCBpcyB1bnZlcmlmaWVk
ICovCisjZGVmaW5lIFRJRk1fRklGT19SRUFEWSAgICAgICAgICAgMHgwMDAwMDAwMSAvKiBNZWFu
aW5nIG9mIHRoaXMgY29uc3RhbnQgaXMgdW52ZXJpZmllZCAqLwogI2RlZmluZSBUSUZNX0ZJRk9f
SU5UX1NFVEFMTCAgICAgIDB4MDAwMGZmZmYKICNkZWZpbmUgVElGTV9GSUZPX0lOVE1BU0sgICAg
ICAgICAweDAwMDAwMDA1IC8qIE1lYW5pbmcgb2YgdGhpcyBjb25zdGFudCBpcyB1bnZlcmlmaWVk
ICovCiAKICNkZWZpbmUgVElGTV9ETUFfUkVTRVQgICAgICAgICAgICAweDAwMDAwMDAyIC8qIE1l
YW5pbmcgb2YgdGhpcyBjb25zdGFudCBpcyB1bnZlcmlmaWVkICovCiAjZGVmaW5lIFRJRk1fRE1B
X1RYICAgICAgICAgICAgICAgMHgwMDAwODAwMCAvKiBNZWFuaW5nIG9mIHRoaXMgY29uc3RhbnQg
aXMgdW52ZXJpZmllZCAqLwogI2RlZmluZSBUSUZNX0RNQV9FTiAgICAgICAgICAgICAgIDB4MDAw
MDAwMDEgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KKyNkZWZp
bmUgVElGTV9ETUFfVFNJWkUgICAgICAgICAgICAweDAwMDAwMDdmIC8qIE1lYW5pbmcgb2YgdGhp
cyBjb25zdGFudCBpcyB1bnZlcmlmaWVkICovCiAKLXR5cGVkZWYgZW51bSB7Rk1fTlVMTCA9IDAs
IEZNX1hEID0gMHgwMSwgRk1fTVMgPSAweDAyLCBGTV9TRCA9IDB4MDN9IHRpZm1fbWVkaWFfaWQ7
CisjZGVmaW5lIFRJRk1fVFlQRV9YRCAxCisjZGVmaW5lIFRJRk1fVFlQRV9NUyAyCisjZGVmaW5l
IFRJRk1fVFlQRV9TRCAzCisKK3N0cnVjdCB0aWZtX2RldmljZV9pZCB7CisJdW5zaWduZWQgY2hh
ciB0eXBlOworfTsKIAogc3RydWN0IHRpZm1fZHJpdmVyOwogc3RydWN0IHRpZm1fZGV2IHsKLQlj
aGFyIF9faW9tZW0gICAgICAgICAgICAqYWRkcjsKLQlzcGlubG9ja190ICAgICAgICAgICAgICBs
b2NrOwotCXRpZm1fbWVkaWFfaWQgICAgICAgICAgIG1lZGlhX2lkOwotCXVuc2lnbmVkIGludCAg
ICAgICAgICAgIHNvY2tldF9pZDsKKwljaGFyIF9faW9tZW0gICphZGRyOworCXNwaW5sb2NrX3Qg
ICAgbG9jazsKKwl1bnNpZ25lZCBjaGFyIHR5cGU7CisJdW5zaWduZWQgaW50ICBzb2NrZXRfaWQ7
CiAKLQl2b2lkICAgICAgICAgICAgICAgICAgICAoKnNpZ25hbF9pcnEpKHN0cnVjdCB0aWZtX2Rl
diAqc29jaywKLQkJCQkJICAgICAgdW5zaWduZWQgaW50IHNvY2tfaXJxX3N0YXR1cyk7CisJdm9p
ZCAgICAgICAgICAoKmV2ZW50KShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOworCXZvaWQgICAgICAg
ICAgKCpkYXRhX2V2ZW50KShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOwogCi0Jc3RydWN0IHRpZm1f
ZHJpdmVyICAgICAgKmRydjsKLQlzdHJ1Y3QgZGV2aWNlICAgICAgICAgICBkZXY7CisJc3RydWN0
IGRldmljZSBkZXY7CiB9OwogCiBzdHJ1Y3QgdGlmbV9kcml2ZXIgewotCXRpZm1fbWVkaWFfaWQg
ICAgICAgICppZF90YWJsZTsKLQlpbnQgICAgICAgICAgICAgICAgICAoKnByb2JlKShzdHJ1Y3Qg
dGlmbV9kZXYgKmRldik7Ci0Jdm9pZCAgICAgICAgICAgICAgICAgKCpyZW1vdmUpKHN0cnVjdCB0
aWZtX2RldiAqZGV2KTsKLQlpbnQgICAgICAgICAgICAgICAgICAoKnN1c3BlbmQpKHN0cnVjdCB0
aWZtX2RldiAqZGV2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBt
X21lc3NhZ2VfdCBzdGF0ZSk7Ci0JaW50ICAgICAgICAgICAgICAgICAgKCpyZXN1bWUpKHN0cnVj
dCB0aWZtX2RldiAqZGV2KTsKKwlzdHJ1Y3QgdGlmbV9kZXZpY2VfaWQgKmlkX3RhYmxlOworCWlu
dCAgICAgICAgICAgICAgICAgICAoKnByb2JlKShzdHJ1Y3QgdGlmbV9kZXYgKmRldik7CisJdm9p
ZCAgICAgICAgICAgICAgICAgICgqcmVtb3ZlKShzdHJ1Y3QgdGlmbV9kZXYgKmRldik7CisJaW50
ICAgICAgICAgICAgICAgICAgICgqc3VzcGVuZCkoc3RydWN0IHRpZm1fZGV2ICpkZXYsCisJCQkJ
CSBwbV9tZXNzYWdlX3Qgc3RhdGUpOworCWludCAgICAgICAgICAgICAgICAgICAoKnJlc3VtZSko
c3RydWN0IHRpZm1fZGV2ICpkZXYpOwogCiAJc3RydWN0IGRldmljZV9kcml2ZXIgZHJpdmVyOwog
fTsKIAorLyogU29ja2V0IGNhcHM6ICovCitlbnVtIHsKKwlUSUZNX1NPQ0tfWERfQ0FQICAgPSAw
eDAwMDEsICAvLyBzb2NrZXQgc3VwcG9ydHMgeEQgY2FyZHMKKwlUSUZNX1NPQ0tfTVNfUElGICAg
PSAweDAwMDIgICAvLyBzb2NrZXQgaGFzIE1lbW9yeXN0aWNrIHBhcmFsbGVsIGkvZgorfTsKKwog
c3RydWN0IHRpZm1fYWRhcHRlciB7CiAJY2hhciBfX2lvbWVtICAgICAgICAgICAgKmFkZHI7CiAJ
c3BpbmxvY2tfdCAgICAgICAgICAgICAgbG9jazsKIAl1bnNpZ25lZCBpbnQgICAgICAgICAgICBp
cnFfc3RhdHVzOwogCXVuc2lnbmVkIGludCAgICAgICAgICAgIHNvY2tldF9jaGFuZ2Vfc2V0Owot
CXdhaXRfcXVldWVfaGVhZF90ICAgICAgIGNoYW5nZV9zZXRfbm90aWZ5OwogCXVuc2lnbmVkIGlu
dCAgICAgICAgICAgIGlkOwogCXVuc2lnbmVkIGludCAgICAgICAgICAgIG51bV9zb2NrZXRzOwot
CXN0cnVjdCB0aWZtX2RldiAgICAgICAgICoqc29ja2V0czsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3Qg
ICAgICAqbWVkaWFfc3dpdGNoZXI7CisJc3RydWN0IGNvbXBsZXRpb24gICAgICAgKmZpbmlzaF9t
ZTsKKworCXN0cnVjdCB3b3JrX3N0cnVjdCAgICAgIG1lZGlhX3N3aXRjaGVyOwogCXN0cnVjdCBj
bGFzc19kZXZpY2UgICAgIGNkZXY7Ci0Jc3RydWN0IGRldmljZSAgICAgICAgICAgKmRldjsKIAot
CXZvaWQgICAgICAgICAgICAgICAgICAgICgqZWplY3QpKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZt
LCBzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOworCXZvaWQgICAgICAgICAgICAgICAgICAgICgqZWpl
Y3QpKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtLAorCQkJCQkgc3RydWN0IHRpZm1fZGV2ICpzb2Nr
KTsKKworCXN0cnVjdCBzb2NrZXRfdCB7CisJCXN0cnVjdCB0aWZtX2RldiAqZGV2OworCQl1bnNp
Z25lZCBpbnQgICAgY2FwczsKKwl9IHNvY2tldHNbMF07CiB9OwogCi1zdHJ1Y3QgdGlmbV9hZGFw
dGVyICp0aWZtX2FsbG9jX2FkYXB0ZXIodm9pZCk7Ci12b2lkIHRpZm1fZnJlZV9kZXZpY2Uoc3Ry
dWN0IGRldmljZSAqZGV2KTsKLXZvaWQgdGlmbV9mcmVlX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRh
cHRlciAqZm0pOwotaW50IHRpZm1fYWRkX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0s
IGludCAoKm1lZGlhdGhyZWFkZm4pKHZvaWQgKmRhdGEpKTsKK3N0cnVjdCB0aWZtX2FkYXB0ZXIg
KnRpZm1fYWxsb2NfYWRhcHRlcih1bnNpZ25lZCBpbnQgbnVtX3NvY2tldHMsCisJCQkJCXN0cnVj
dCBkZXZpY2UgKmRldik7CitpbnQgdGlmbV9hZGRfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVy
ICpmbSk7CiB2b2lkIHRpZm1fcmVtb3ZlX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0p
Owotc3RydWN0IHRpZm1fZGV2ICp0aWZtX2FsbG9jX2RldmljZShzdHJ1Y3QgdGlmbV9hZGFwdGVy
ICpmbSk7Cit2b2lkIHRpZm1fZnJlZV9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKTsK
Kwordm9pZCB0aWZtX2ZyZWVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldik7CitzdHJ1Y3QgdGlm
bV9kZXYgKnRpZm1fYWxsb2NfZGV2aWNlKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtLCB1bnNpZ25l
ZCBpbnQgaWQsCisJCQkJICAgdW5zaWduZWQgY2hhciB0eXBlKTsKKwogaW50IHRpZm1fcmVnaXN0
ZXJfZHJpdmVyKHN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2KTsKIHZvaWQgdGlmbV91bnJlZ2lzdGVy
X2RyaXZlcihzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydik7CiB2b2lkIHRpZm1fZWplY3Qoc3RydWN0
IHRpZm1fZGV2ICpzb2NrKTsKK3Vuc2lnbmVkIGludCB0aWZtX2dldF9zb2NrX2NhcHMoc3RydWN0
IHRpZm1fZGV2ICpzb2NrKTsKIGludCB0aWZtX21hcF9zZyhzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ss
IHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIGludCBuZW50cywKIAkJaW50IGRpcmVjdGlvbik7CiB2
b2lkIHRpZm1fdW5tYXBfc2coc3RydWN0IHRpZm1fZGV2ICpzb2NrLCBzdHJ1Y3Qgc2NhdHRlcmxp
c3QgKnNnLCBpbnQgbmVudHMsCiAJCSAgIGludCBkaXJlY3Rpb24pOwotCit2b2lkIHRpZm1fcXVl
dWVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogCiBzdGF0aWMgaW5saW5lIHZvaWQg
KnRpZm1fZ2V0X2RydmRhdGEoc3RydWN0IHRpZm1fZGV2ICpkZXYpCiB7CkBAIC0xNDksOCArMTY2
LDQgQEAgc3RhdGljIGlubGluZSB2b2lkIHRpZm1fc2V0X2RydmRhdGEoc3RydQogCWRldl9zZXRf
ZHJ2ZGF0YSgmZGV2LT5kZXYsIGRhdGEpOwogfQogCi1zdHJ1Y3QgdGlmbV9kZXZpY2VfaWQgewot
CXRpZm1fbWVkaWFfaWQgbWVkaWFfaWQ7Ci19OwotCiAjZW5kaWYKLS0tIGxpbnV4LTIuNi4yMS1n
ZW50b28vZHJpdmVycy9taXNjL3RpZm1fN3h4MS5jCTIwMDctMDUtMDEgMTU6NTA6NDIuMDAwMDAw
MDAwIC0wNDAwCisrKyB1cHN0cmVhbS90aWZtXzd4eDEuYwkyMDA3LTA1LTAxIDE1OjM1OjU2LjAw
MDAwMDAwMCAtMDQwMApAQCAtOSwxMiArOSwyMiBAQAogICoKICAqLwogCi0jaW5jbHVkZSA8bGlu
dXgvdGlmbS5oPgotI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+Ci0jaW5jbHVkZSA8bGlu
dXgvZnJlZXplci5oPgorI2luY2x1ZGUgImxpbnV4L3RpZm0uaCIKKyNpbmNsdWRlICJsaW51eC9w
Y2lfaWRzLmgiCiAKICNkZWZpbmUgRFJJVkVSX05BTUUgInRpZm1fN3h4MSIKLSNkZWZpbmUgRFJJ
VkVSX1ZFUlNJT04gIjAuNyIKKyNkZWZpbmUgRFJJVkVSX1ZFUlNJT04gIjAuOCIKKworI2RlZmlu
ZSBUSUZNX0lSUV9FTkFCTEUgICAgICAgICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgVElGTV9JUlFf
U09DS01BU0soeCkgICAgICAoeCkKKyNkZWZpbmUgVElGTV9JUlFfQ0FSRE1BU0soeCkgICAgICAo
KHgpIDw8IDgpCisjZGVmaW5lIFRJRk1fSVJRX0ZJRk9NQVNLKHgpICAgICAgKCh4KSA8PCAxNikK
KyNkZWZpbmUgVElGTV9JUlFfU0VUQUxMICAgICAgICAgICAweGZmZmZmZmZmCisKK3N0YXRpYyB2
b2lkIHRpZm1fN3h4MV9kdW1teV9lamVjdChzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwKKwkJCQkg
IHN0cnVjdCB0aWZtX2RldiAqc29jaykKK3sKK30KIAogc3RhdGljIHZvaWQgdGlmbV83eHgxX2Vq
ZWN0KHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtLCBzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spCiB7CkBA
IC0yMiw3ICszMiw3IEBAIHN0YXRpYyB2b2lkIHRpZm1fN3h4MV9lamVjdChzdHJ1Y3QgdGlmbV8K
IAogCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwogCWZtLT5zb2NrZXRfY2hh
bmdlX3NldCB8PSAxIDw8IHNvY2stPnNvY2tldF9pZDsKLQl3YWtlX3VwX2FsbCgmZm0tPmNoYW5n
ZV9zZXRfbm90aWZ5KTsKKwl0aWZtX3F1ZXVlX3dvcmsoJmZtLT5tZWRpYV9zd2l0Y2hlcik7CiAJ
c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKIH0KIApAQCAtMzAsOCAr
NDAsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdGlmbV83eHgxX2lzcihpbnQgaXJxCiB7CiAJc3Ry
dWN0IHRpZm1fYWRhcHRlciAqZm0gPSBkZXZfaWQ7CiAJc3RydWN0IHRpZm1fZGV2ICpzb2NrOwot
CXVuc2lnbmVkIGludCBpcnFfc3RhdHVzOwotCXVuc2lnbmVkIGludCBzb2NrX2lycV9zdGF0dXMs
IGNudDsKKwl1bnNpZ25lZCBpbnQgaXJxX3N0YXR1cywgY250OwogCiAJc3Bpbl9sb2NrKCZmbS0+
bG9jayk7CiAJaXJxX3N0YXR1cyA9IHJlYWRsKGZtLT5hZGRyICsgRk1fSU5URVJSVVBUX1NUQVRV
Uyk7CkBAIC00NCwxMyArNTMsMTMgQEAgc3RhdGljIGlycXJldHVybl90IHRpZm1fN3h4MV9pc3Io
aW50IGlycQogCQl3cml0ZWwoVElGTV9JUlFfRU5BQkxFLCBmbS0+YWRkciArIEZNX0NMRUFSX0lO
VEVSUlVQVF9FTkFCTEUpOwogCiAJCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRz
OyBjbnQrKykgewotCQkJc29jayA9IGZtLT5zb2NrZXRzW2NudF07Ci0JCQlzb2NrX2lycV9zdGF0
dXMgPSAoaXJxX3N0YXR1cyA+PiBjbnQpCi0JCQkJCSAgJiAoVElGTV9JUlFfRklGT01BU0soMSkK
LQkJCQkJICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKDEpKTsKLQotCQkJaWYgKHNvY2sgJiYgc29j
a19pcnFfc3RhdHVzKQotCQkJCXNvY2stPnNpZ25hbF9pcnEoc29jaywgc29ja19pcnFfc3RhdHVz
KTsKKwkJCXNvY2sgPSBmbS0+c29ja2V0c1tjbnRdLmRldjsKKwkJCWlmIChzb2NrKSB7CisJCQkJ
aWYgKChpcnFfc3RhdHVzID4+IGNudCkgJiBUSUZNX0lSUV9GSUZPTUFTSygxKSkKKwkJCQkJc29j
ay0+ZGF0YV9ldmVudChzb2NrKTsKKwkJCQlpZiAoKGlycV9zdGF0dXMgPj4gY250KSAmIFRJRk1f
SVJRX0NBUkRNQVNLKDEpKQorCQkJCQlzb2NrLT5ldmVudChzb2NrKTsKKwkJCX0KIAkJfQogCiAJ
CWZtLT5zb2NrZXRfY2hhbmdlX3NldCB8PSBpcnFfc3RhdHVzCkBAIC01OCw1NyArNjcsNTggQEAg
c3RhdGljIGlycXJldHVybl90IHRpZm1fN3h4MV9pc3IoaW50IGlycQogCX0KIAl3cml0ZWwoaXJx
X3N0YXR1cywgZm0tPmFkZHIgKyBGTV9JTlRFUlJVUFRfU1RBVFVTKTsKIAotCWlmICghZm0tPnNv
Y2tldF9jaGFuZ2Vfc2V0KQorCWlmIChmbS0+ZmluaXNoX21lKQorCQljb21wbGV0ZV9hbGwoZm0t
PmZpbmlzaF9tZSk7CisJZWxzZSBpZiAoIWZtLT5zb2NrZXRfY2hhbmdlX3NldCkKIAkJd3JpdGVs
KFRJRk1fSVJRX0VOQUJMRSwgZm0tPmFkZHIgKyBGTV9TRVRfSU5URVJSVVBUX0VOQUJMRSk7CiAJ
ZWxzZQotCQl3YWtlX3VwX2FsbCgmZm0tPmNoYW5nZV9zZXRfbm90aWZ5KTsKKwkJdGlmbV9xdWV1
ZV93b3JrKCZmbS0+bWVkaWFfc3dpdGNoZXIpOwogCiAJc3Bpbl91bmxvY2soJmZtLT5sb2NrKTsK
IAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKLXN0YXRpYyB0aWZtX21lZGlhX2lkIHRpZm1fN3h4
MV90b2dnbGVfc29ja19wb3dlcihjaGFyIF9faW9tZW0gKnNvY2tfYWRkciwKLQkJCQkJCSBpbnQg
aXNfeDIpCitzdGF0aWMgdW5zaWduZWQgY2hhciB0aWZtXzd4eDFfdG9nZ2xlX3NvY2tfcG93ZXIo
Y2hhciBfX2lvbWVtICpzb2NrX2FkZHIsCisJCQkJCQkgdW5zaWduZWQgaW50IGNhcHMpCiB7CiAJ
dW5zaWduZWQgaW50IHNfc3RhdGU7CiAJaW50IGNudDsKIAogCXdyaXRlbCgweDBlMDAsIHNvY2tf
YWRkciArIFNPQ0tfQ09OVFJPTCk7CiAKLQlmb3IgKGNudCA9IDA7IGNudCA8IDEwMDsgY250Kysp
IHsKKwkvKiBoYWxmIGEgc2Vjb25kIHNob3VsZCBiZSBlbm91Z2ggICovCisJZm9yIChjbnQgPSAx
NjsgY250IDw9IDI1NjsgY250IDw8PSAxKSB7CiAJCWlmICghKFRJRk1fU09DS19TVEFURV9QT1dF
UkVECiAJCSAgICAgICYgcmVhZGwoc29ja19hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSkpCiAJ
CQlicmVhazsKLQkJbXNsZWVwKDEwKTsKKworCQltc2xlZXAoY250KTsKIAl9CiAKIAlzX3N0YXRl
ID0gcmVhZGwoc29ja19hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKTsKIAlpZiAoIShUSUZNX1NP
Q0tfU1RBVEVfT0NDVVBJRUQgJiBzX3N0YXRlKSkKLQkJcmV0dXJuIEZNX05VTEw7CisJCXJldHVy
biAwOwogCi0JaWYgKGlzX3gyKSB7Ci0JCXdyaXRlbCgoc19zdGF0ZSAmIDcpIHwgMHgwYzAwLCBz
b2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpOwotCX0gZWxzZSB7Ci0JCS8vIFNtYXJ0TWVkaWEgY2Fy
ZHMgbmVlZCBleHRyYSA0MCBtc2VjCisJd3JpdGVsKHJlYWRsKHNvY2tfYWRkciArIFNPQ0tfQ09O
VFJPTCkgfCBUSUZNX0NUUkxfTEVELAorCSAgICAgICBzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wp
OworCisJaWYgKGNhcHMgJiBUSUZNX1NPQ0tfWERfQ0FQKSB7CiAJCWlmICgoKHJlYWRsKHNvY2tf
YWRkciArIFNPQ0tfUFJFU0VOVF9TVEFURSkgPj4gNCkgJiA3KSA9PSAxKQogCQkJbXNsZWVwKDQw
KTsKLQkJd3JpdGVsKHJlYWRsKHNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCkgfCBUSUZNX0NUUkxf
TEVELAotCQkgICAgICAgc29ja19hZGRyICsgU09DS19DT05UUk9MKTsKLQkJbXNsZWVwKDEwKTsK
LQkJd3JpdGVsKChzX3N0YXRlICYgMHg3KSB8IDB4MGMwMCB8IFRJRk1fQ1RSTF9MRUQsCi0JCQlz
b2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpOwogCX0KKwl3cml0ZWwoKHNfc3RhdGUgJiA3KSB8IDB4
MGMwMCwgc29ja19hZGRyICsgU09DS19DT05UUk9MKTsKKwltc2xlZXAoMTApOwogCi0JZm9yIChj
bnQgPSAwOyBjbnQgPCAxMDA7IGNudCsrKSB7CisJZm9yIChjbnQgPSAxNjsgY250IDw9IDI1Njsg
Y250IDw8PSAxKSB7CiAJCWlmICgoVElGTV9TT0NLX1NUQVRFX1BPV0VSRUQKIAkJICAgICAmIHJl
YWRsKHNvY2tfYWRkciArIFNPQ0tfUFJFU0VOVF9TVEFURSkpKQogCQkJYnJlYWs7Ci0JCW1zbGVl
cCgxMCk7CisKKwkJbXNsZWVwKGNudCk7CiAJfQogCi0JaWYgKCFpc194MikKLQkJd3JpdGVsKHJl
YWRsKHNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCkgJiAoflRJRk1fQ1RSTF9MRUQpLAotCQkgICAg
ICAgc29ja19hZGRyICsgU09DS19DT05UUk9MKTsKKwl3cml0ZWwocmVhZGwoc29ja19hZGRyICsg
U09DS19DT05UUk9MKSAmICh+VElGTV9DVFJMX0xFRCksCisJICAgICAgIHNvY2tfYWRkciArIFNP
Q0tfQ09OVFJPTCk7CiAKIAlyZXR1cm4gKHJlYWRsKHNvY2tfYWRkciArIFNPQ0tfUFJFU0VOVF9T
VEFURSkgPj4gNCkgJiA3OwogfQpAQCAtMTE5LDEyNyArMTI5LDc4IEBAIHRpZm1fN3h4MV9zb2Nr
X2FkZHIoY2hhciBfX2lvbWVtICpiYXNlX2EKIAlyZXR1cm4gYmFzZV9hZGRyICsgKChzb2NrX251
bSArIDEpIDw8IDEwKTsKIH0KIAotc3RhdGljIGludCB0aWZtXzd4eDFfc3dpdGNoX21lZGlhKHZv
aWQgKmRhdGEpCitzdGF0aWMgdm9pZCB0aWZtXzd4eDFfc3dpdGNoX21lZGlhKHN0cnVjdCB3b3Jr
X3N0cnVjdCAqd29yaykKIHsKLQlzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSA9IGRhdGE7Ci0JdW5z
aWduZWQgbG9uZyBmbGFnczsKLQl0aWZtX21lZGlhX2lkIG1lZGlhX2lkOwotCWNoYXIgKmNhcmRf
bmFtZSA9ICJ4eCI7Ci0JaW50IGNudCwgcmM7CisJc3RydWN0IHRpZm1fYWRhcHRlciAqZm0gPSBj
b250YWluZXJfb2Yod29yaywgc3RydWN0IHRpZm1fYWRhcHRlciwKKwkJCQkJICAgICAgIG1lZGlh
X3N3aXRjaGVyKTsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2s7Ci0JdW5zaWduZWQgaW50IHNvY2tl
dF9jaGFuZ2Vfc2V0OwotCi0Jd2hpbGUgKDEpIHsKLQkJcmMgPSB3YWl0X2V2ZW50X2ludGVycnVw
dGlibGUoZm0tPmNoYW5nZV9zZXRfbm90aWZ5LAotCQkJCQkgICAgICBmbS0+c29ja2V0X2NoYW5n
ZV9zZXQpOwotCQlpZiAocmMgPT0gLUVSRVNUQVJUU1lTKQotCQkJdHJ5X3RvX2ZyZWV6ZSgpOwor
CXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgY2hhciBtZWRpYV9pZDsKKwl1bnNpZ25l
ZCBpbnQgc29ja2V0X2NoYW5nZV9zZXQsIGNudDsKIAotCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0t
PmxvY2ssIGZsYWdzKTsKLQkJc29ja2V0X2NoYW5nZV9zZXQgPSBmbS0+c29ja2V0X2NoYW5nZV9z
ZXQ7Ci0JCWZtLT5zb2NrZXRfY2hhbmdlX3NldCA9IDA7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmZt
LT5sb2NrLCBmbGFncyk7CisJc29ja2V0X2NoYW5nZV9zZXQgPSBmbS0+c29ja2V0X2NoYW5nZV9z
ZXQ7CisJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0ID0gMDsKIAotCQlkZXZfZGJnKGZtLT5kZXYsICJj
aGVja2luZyBtZWRpYSBzZXQgJXhcbiIsCi0JCQlzb2NrZXRfY2hhbmdlX3NldCk7CisJZGV2X2Ri
ZyhmbS0+Y2Rldi5kZXYsICJjaGVja2luZyBtZWRpYSBzZXQgJXhcbiIsCisJCXNvY2tldF9jaGFu
Z2Vfc2V0KTsKIAotCQlpZiAoa3RocmVhZF9zaG91bGRfc3RvcCgpKQotCQkJc29ja2V0X2NoYW5n
ZV9zZXQgPSAoMSA8PCBmbS0+bnVtX3NvY2tldHMpIC0gMTsKKwlpZiAoIXNvY2tldF9jaGFuZ2Vf
c2V0KSB7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7CisJCXJl
dHVybjsKKwl9CiAKLQkJaWYgKCFzb2NrZXRfY2hhbmdlX3NldCkKKwlmb3IgKGNudCA9IDA7IGNu
dCA8IGZtLT5udW1fc29ja2V0czsgY250KyspIHsKKwkJaWYgKCEoc29ja2V0X2NoYW5nZV9zZXQg
JiAoMSA8PCBjbnQpKSkKIAkJCWNvbnRpbnVlOwotCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+
bG9jaywgZmxhZ3MpOwotCQlmb3IgKGNudCA9IDA7IGNudCA8IGZtLT5udW1fc29ja2V0czsgY250
KyspIHsKLQkJCWlmICghKHNvY2tldF9jaGFuZ2Vfc2V0ICYgKDEgPDwgY250KSkpCi0JCQkJY29u
dGludWU7Ci0JCQlzb2NrID0gZm0tPnNvY2tldHNbY250XTsKLQkJCWlmIChzb2NrKSB7Ci0JCQkJ
cHJpbnRrKEtFUk5fSU5GTyBEUklWRVJfTkFNRQotCQkJCSAgICAgICAiOiBkZW1hbmQgcmVtb3Zp
bmcgY2FyZCBmcm9tIHNvY2tldCAlZFxuIiwKLQkJCQkgICAgICAgY250KTsKLQkJCQlmbS0+c29j
a2V0c1tjbnRdID0gTlVMTDsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywg
ZmxhZ3MpOwotCQkJCWRldmljZV91bnJlZ2lzdGVyKCZzb2NrLT5kZXYpOwotCQkJCXNwaW5fbG9j
a19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQkJCXdyaXRlbCgweDBlMDAsCi0JCQkJICAg
ICAgIHRpZm1fN3h4MV9zb2NrX2FkZHIoZm0tPmFkZHIsIGNudCkKLQkJCQkgICAgICAgKyBTT0NL
X0NPTlRST0wpOwotCQkJfQotCQkJaWYgKGt0aHJlYWRfc2hvdWxkX3N0b3AoKSkKLQkJCQljb250
aW51ZTsKLQorCQlzb2NrID0gZm0tPnNvY2tldHNbY250XS5kZXY7CisJCWlmIChzb2NrKSB7CisJ
CQlwcmludGsoS0VSTl9JTkZPCisJCQkgICAgICAgIiVzIDogZGVtYW5kIHJlbW92aW5nIGNhcmQg
ZnJvbSBzb2NrZXQgJXU6JXVcbiIsCisJCQkgICAgICAgZm0tPmNkZXYuY2xhc3NfaWQsIGZtLT5p
ZCwgY250KTsKKwkJCWZtLT5zb2NrZXRzW2NudF0uZGV2ID0gTlVMTDsKIAkJCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQltZWRpYV9pZCA9IHRpZm1fN3h4MV90
b2dnbGVfc29ja19wb3dlcigKLQkJCQkJdGlmbV83eHgxX3NvY2tfYWRkcihmbS0+YWRkciwgY250
KSwKLQkJCQkJZm0tPm51bV9zb2NrZXRzID09IDIpOwotCQkJaWYgKG1lZGlhX2lkKSB7Ci0JCQkJ
c29jayA9IHRpZm1fYWxsb2NfZGV2aWNlKGZtKTsKLQkJCQlpZiAoc29jaykgewotCQkJCQlzb2Nr
LT5hZGRyID0gdGlmbV83eHgxX3NvY2tfYWRkcihmbS0+YWRkciwKLQkJCQkJCQkJCSBjbnQpOwot
CQkJCQlzb2NrLT5tZWRpYV9pZCA9IG1lZGlhX2lkOwotCQkJCQlzb2NrLT5zb2NrZXRfaWQgPSBj
bnQ7Ci0JCQkJCXN3aXRjaCAobWVkaWFfaWQpIHsKLQkJCQkJY2FzZSAxOgotCQkJCQkJY2FyZF9u
YW1lID0gInhkIjsKLQkJCQkJCWJyZWFrOwotCQkJCQljYXNlIDI6Ci0JCQkJCQljYXJkX25hbWUg
PSAibXMiOwotCQkJCQkJYnJlYWs7Ci0JCQkJCWNhc2UgMzoKLQkJCQkJCWNhcmRfbmFtZSA9ICJz
ZCI7Ci0JCQkJCQlicmVhazsKLQkJCQkJZGVmYXVsdDoKLQkJCQkJCXRpZm1fZnJlZV9kZXZpY2Uo
JnNvY2stPmRldik7Ci0JCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsK
LQkJCQkJCWNvbnRpbnVlOwotCQkJCQl9Ci0JCQkJCXNucHJpbnRmKHNvY2stPmRldi5idXNfaWQs
IEJVU19JRF9TSVpFLAotCQkJCQkJICJ0aWZtXyVzJXU6JXUiLCBjYXJkX25hbWUsCi0JCQkJCQkg
Zm0tPmlkLCBjbnQpOwotCQkJCQlwcmludGsoS0VSTl9JTkZPIERSSVZFUl9OQU1FCi0JCQkJCSAg
ICAgICAiOiAlcyBjYXJkIGRldGVjdGVkIGluIHNvY2tldCAlZFxuIiwKLQkJCQkJICAgICAgIGNh
cmRfbmFtZSwgY250KTsKLQkJCQkJaWYgKCFkZXZpY2VfcmVnaXN0ZXIoJnNvY2stPmRldikpIHsK
LQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQkJCQkJaWYgKCFm
bS0+c29ja2V0c1tjbnRdKSB7Ci0JCQkJCQkJZm0tPnNvY2tldHNbY250XSA9IHNvY2s7Ci0JCQkJ
CQkJc29jayA9IE5VTEw7Ci0JCQkJCQl9Ci0JCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZm
bS0+bG9jaywgZmxhZ3MpOwotCQkJCQl9Ci0JCQkJCWlmIChzb2NrKQotCQkJCQkJdGlmbV9mcmVl
X2RldmljZSgmc29jay0+ZGV2KTsKLQkJCQl9Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5s
b2NrLCBmbGFncyk7Ci0JCQl9CisJCQlkZXZpY2VfdW5yZWdpc3Rlcigmc29jay0+ZGV2KTsKKwkJ
CXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOworCQkJd3JpdGVsKDB4MGUwMCwg
dGlmbV83eHgxX3NvY2tfYWRkcihmbS0+YWRkciwgY250KQorCQkJICAgICAgICsgU09DS19DT05U
Uk9MKTsKIAkJfQogCi0JCWlmICgha3RocmVhZF9zaG91bGRfc3RvcCgpKSB7Ci0JCQl3cml0ZWwo
VElGTV9JUlFfRklGT01BU0soc29ja2V0X2NoYW5nZV9zZXQpCi0JCQkgICAgICAgfCBUSUZNX0lS
UV9DQVJETUFTSyhzb2NrZXRfY2hhbmdlX3NldCksCi0JCQkgICAgICAgZm0tPmFkZHIgKyBGTV9D
TEVBUl9JTlRFUlJVUFRfRU5BQkxFKTsKLQkJCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhzb2Nr
ZXRfY2hhbmdlX3NldCkKLQkJCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKHNvY2tldF9jaGFu
Z2Vfc2V0KSwKLQkJCSAgICAgICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsK
LQkJCXdyaXRlbChUSUZNX0lSUV9FTkFCTEUsCi0JCQkgICAgICAgZm0tPmFkZHIgKyBGTV9TRVRf
SU5URVJSVVBUX0VOQUJMRSk7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywg
ZmxhZ3MpOwotCQl9IGVsc2UgewotCQkJZm9yIChjbnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tl
dHM7IGNudCsrKSB7Ci0JCQkJaWYgKGZtLT5zb2NrZXRzW2NudF0pCi0JCQkJCWZtLT5zb2NrZXRf
Y2hhbmdlX3NldCB8PSAxIDw8IGNudDsKLQkJCX0KLQkJCWlmICghZm0tPnNvY2tldF9jaGFuZ2Vf
c2V0KSB7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQkJ
CQlyZXR1cm4gMDsKLQkJCX0gZWxzZSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5s
b2NrLCBmbGFncyk7CisKKwkJbWVkaWFfaWQgPSB0aWZtXzd4eDFfdG9nZ2xlX3NvY2tfcG93ZXIo
CisJCQkJdGlmbV83eHgxX3NvY2tfYWRkcihmbS0+YWRkciwgY250KSwKKwkJCQlmbS0+c29ja2V0
c1tjbnRdLmNhcHMpOworCisJCS8vIHRpZm1fYWxsb2NfZGV2aWNlIHdpbGwgY2hlY2sgaWYgbWVk
aWFfaWQgaXMgdmFsaWQKKwkJc29jayA9IHRpZm1fYWxsb2NfZGV2aWNlKGZtLCBjbnQsIG1lZGlh
X2lkKTsKKwkJaWYgKHNvY2spIHsKKwkJCXNvY2stPmFkZHIgPSB0aWZtXzd4eDFfc29ja19hZGRy
KGZtLT5hZGRyLCBjbnQpOworCisJCQlpZiAoIWRldmljZV9yZWdpc3Rlcigmc29jay0+ZGV2KSkg
eworCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOworCQkJCWlmICghZm0t
PnNvY2tldHNbY250XS5kZXYpIHsKKwkJCQkJZm0tPnNvY2tldHNbY250XS5kZXYgPSBzb2NrOwor
CQkJCQlzb2NrID0gTlVMTDsKKwkJCQl9CiAJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0t
PmxvY2ssIGZsYWdzKTsKIAkJCX0KKwkJCWlmIChzb2NrKQorCQkJCXRpZm1fZnJlZV9kZXZpY2Uo
JnNvY2stPmRldik7CiAJCX0KKwkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7
CiAJfQotCXJldHVybiAwOworCisJd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKHNvY2tldF9jaGFu
Z2Vfc2V0KQorCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KSwK
KwkgICAgICAgZm0tPmFkZHIgKyBGTV9DTEVBUl9JTlRFUlJVUFRfRU5BQkxFKTsKKworCXdyaXRl
bChUSUZNX0lSUV9GSUZPTUFTSyhzb2NrZXRfY2hhbmdlX3NldCkKKwkgICAgICAgfCBUSUZNX0lS
UV9DQVJETUFTSyhzb2NrZXRfY2hhbmdlX3NldCksCisJICAgICAgIGZtLT5hZGRyICsgRk1fU0VU
X0lOVEVSUlVQVF9FTkFCTEUpOworCisJd3JpdGVsKFRJRk1fSVJRX0VOQUJMRSwgZm0tPmFkZHIg
KyBGTV9TRVRfSU5URVJSVVBUX0VOQUJMRSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0t
PmxvY2ssIGZsYWdzKTsKIH0KIAogI2lmZGVmIENPTkZJR19QTQpAQCAtMjU4LDkgKzIxOSwxMSBA
QCBzdGF0aWMgaW50IHRpZm1fN3h4MV9zdXNwZW5kKHN0cnVjdCBwY2lfCiBzdGF0aWMgaW50IHRp
Zm1fN3h4MV9yZXN1bWUoc3RydWN0IHBjaV9kZXYgKmRldikKIHsKIAlzdHJ1Y3QgdGlmbV9hZGFw
dGVyICpmbSA9IHBjaV9nZXRfZHJ2ZGF0YShkZXYpOwotCWludCBjbnQsIHJjOworCWludCByYzsK
Kwl1bnNpZ25lZCBpbnQgZ29vZF9zb2NrZXRzID0gMCwgYmFkX3NvY2tldHMgPSAwOwogCXVuc2ln
bmVkIGxvbmcgZmxhZ3M7Ci0JdGlmbV9tZWRpYV9pZCBuZXdfaWRzW2ZtLT5udW1fc29ja2V0c107
CisJdW5zaWduZWQgY2hhciBuZXdfaWRzW2ZtLT5udW1fc29ja2V0c107CisJREVDTEFSRV9DT01Q
TEVUSU9OX09OU1RBQ0soZmluaXNoX3Jlc3VtZSk7CiAKIAlwY2lfc2V0X3Bvd2VyX3N0YXRlKGRl
diwgUENJX0QwKTsKIAlwY2lfcmVzdG9yZV9zdGF0ZShkZXYpOwpAQCAtMjcxLDQ1ICsyMzQsNTAg
QEAgc3RhdGljIGludCB0aWZtXzd4eDFfcmVzdW1lKHN0cnVjdCBwY2lfZAogCiAJZGV2X2RiZygm
ZGV2LT5kZXYsICJyZXN1bWluZyBob3N0XG4iKTsKIAotCWZvciAoY250ID0gMDsgY250IDwgZm0t
Pm51bV9zb2NrZXRzOyBjbnQrKykKLQkJbmV3X2lkc1tjbnRdID0gdGlmbV83eHgxX3RvZ2dsZV9z
b2NrX3Bvd2VyKAotCQkJCQl0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCBjbnQpLAotCQkJ
CQlmbS0+bnVtX3NvY2tldHMgPT0gMik7CisJZm9yIChyYyA9IDA7IHJjIDwgZm0tPm51bV9zb2Nr
ZXRzOyByYysrKQorCQluZXdfaWRzW3JjXSA9IHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dlcigK
KwkJCQkJdGlmbV83eHgxX3NvY2tfYWRkcihmbS0+YWRkciwgcmMpLAorCQkJCQlmbS0+c29ja2V0
c1tyY10uY2Fwcyk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JZm0t
PnNvY2tldF9jaGFuZ2Vfc2V0ID0gMDsKLQlmb3IgKGNudCA9IDA7IGNudCA8IGZtLT5udW1fc29j
a2V0czsgY250KyspIHsKLQkJaWYgKGZtLT5zb2NrZXRzW2NudF0pIHsKLQkJCWlmIChmbS0+c29j
a2V0c1tjbnRdLT5tZWRpYV9pZCA9PSBuZXdfaWRzW2NudF0pCi0JCQkJZm0tPnNvY2tldF9jaGFu
Z2Vfc2V0IHw9IDEgPDwgY250OwotCi0JCQlmbS0+c29ja2V0c1tjbnRdLT5tZWRpYV9pZCA9IG5l
d19pZHNbY250XTsKKwlmb3IgKHJjID0gMDsgcmMgPCBmbS0+bnVtX3NvY2tldHM7IHJjKyspIHsK
KwkJaWYgKGZtLT5zb2NrZXRzW3JjXS5kZXYpIHsKKwkJCWlmIChmbS0+c29ja2V0c1tyY10uZGV2
LT50eXBlID09IG5ld19pZHNbcmNdKQorCQkJCWdvb2Rfc29ja2V0cyB8PSAxIDw8IHJjOworCQkJ
ZWxzZQorCQkJCWJhZF9zb2NrZXRzIHw9IDEgPDwgcmM7CiAJCX0KIAl9CiAKIAl3cml0ZWwoVElG
TV9JUlFfRU5BQkxFIHwgVElGTV9JUlFfU09DS01BU0soKDEgPDwgZm0tPm51bV9zb2NrZXRzKSAt
IDEpLAogCSAgICAgICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKLQlpZiAo
IWZtLT5zb2NrZXRfY2hhbmdlX3NldCkgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+
bG9jaywgZmxhZ3MpOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UgewotCQlmbS0+c29ja2V0X2NoYW5n
ZV9zZXQgPSAwOworCWRldl9kYmcoJmRldi0+ZGV2LCAiY2hhbmdlIHNldHMgb24gcmVzdW1lOiBn
b29kICV4LCBiYWQgJXhcbiIsCisJCWdvb2Rfc29ja2V0cywgYmFkX3NvY2tldHMpOworCisJZm0t
PnNvY2tldF9jaGFuZ2Vfc2V0ID0gMDsKKwlpZiAoZ29vZF9zb2NrZXRzKSB7CisJCWZtLT5maW5p
c2hfbWUgPSAmZmluaXNoX3Jlc3VtZTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxv
Y2ssIGZsYWdzKTsKKwkJcmMgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoJmZpbmlzaF9y
ZXN1bWUsIEhaKTsKKwkJZGV2X2RiZygmZGV2LT5kZXYsICJ3YWl0IHJldHVybmVkICVkXG4iLCBy
Yyk7CisJCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhnb29kX3NvY2tldHMpCisJCSAgICAgICB8
IFRJRk1fSVJRX0NBUkRNQVNLKGdvb2Rfc29ja2V0cyksCisJCSAgICAgICBmbS0+YWRkciArIEZN
X0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOworCQl3cml0ZWwoVElGTV9JUlFfRklGT01BU0soZ29v
ZF9zb2NrZXRzKQorCQkgICAgICAgfCBUSUZNX0lSUV9DQVJETUFTSyhnb29kX3NvY2tldHMpLAor
CQkgICAgICAgZm0tPmFkZHIgKyBGTV9TRVRfSU5URVJSVVBUX0VOQUJMRSk7CisJCXNwaW5fbG9j
a19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOworCQlmbS0+ZmluaXNoX21lID0gTlVMTDsKKwkJ
Zm0tPnNvY2tldF9jaGFuZ2Vfc2V0IF49IGdvb2Rfc29ja2V0cyAmIGZtLT5zb2NrZXRfY2hhbmdl
X3NldDsKIAl9CiAKLQl3YWl0X2V2ZW50X3RpbWVvdXQoZm0tPmNoYW5nZV9zZXRfbm90aWZ5LCBm
bS0+c29ja2V0X2NoYW5nZV9zZXQsIEhaKTsKKwlmbS0+c29ja2V0X2NoYW5nZV9zZXQgfD0gYmFk
X3NvY2tldHM7CisJaWYgKGZtLT5zb2NrZXRfY2hhbmdlX3NldCkJCQorCQl0aWZtX3F1ZXVlX3dv
cmsoJmZtLT5tZWRpYV9zd2l0Y2hlcik7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ss
IGZsYWdzKTsKLQl3cml0ZWwoVElGTV9JUlFfRklGT01BU0soZm0tPnNvY2tldF9jaGFuZ2Vfc2V0
KQotCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKGZtLT5zb2NrZXRfY2hhbmdlX3NldCksCi0J
ICAgICAgIGZtLT5hZGRyICsgRk1fQ0xFQVJfSU5URVJSVVBUX0VOQUJMRSk7Ci0Jd3JpdGVsKFRJ
Rk1fSVJRX0ZJRk9NQVNLKGZtLT5zb2NrZXRfY2hhbmdlX3NldCkKLQkgICAgICAgfCBUSUZNX0lS
UV9DQVJETUFTSyhmbS0+c29ja2V0X2NoYW5nZV9zZXQpLAotCSAgICAgICBmbS0+YWRkciArIEZN
X1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9j
aywgZmxhZ3MpOwogCXdyaXRlbChUSUZNX0lSUV9FTkFCTEUsCiAJICAgICAgIGZtLT5hZGRyICsg
Rk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUpOwotCWZtLT5zb2NrZXRfY2hhbmdlX3NldCA9IDA7CiAK
LQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwogCXJldHVybiAwOwog
fQogCkBAIC0zNDUsMjAgKzMxMywyNiBAQCBzdGF0aWMgaW50IHRpZm1fN3h4MV9wcm9iZShzdHJ1
Y3QgcGNpX2RlCiAKIAlwY2lfaW50eChkZXYsIDEpOwogCi0JZm0gPSB0aWZtX2FsbG9jX2FkYXB0
ZXIoKTsKKwlmbSA9IHRpZm1fYWxsb2NfYWRhcHRlcihkZXYtPmRldmljZSA9PSBQQ0lfREVWSUNF
X0lEX1RJX1hYMjFfWFgxMV9GTQorCQkJCT8gNCA6IDIsICZkZXYtPmRldik7CiAJaWYgKCFmbSkg
ewogCQlyYyA9IC1FTk9NRU07CiAJCWdvdG8gZXJyX291dF9pbnQ7CiAJfQogCi0JZm0tPmRldiA9
ICZkZXYtPmRldjsKLQlmbS0+bnVtX3NvY2tldHMgPSAoZGV2LT5kZXZpY2UgPT0gUENJX0RFVklD
RV9JRF9USV9YWDIxX1hYMTFfRk0pCi0JCQkgID8gNCA6IDI7Ci0JZm0tPnNvY2tldHMgPSBremFs
bG9jKHNpemVvZihzdHJ1Y3QgdGlmbV9kZXYqKSAqIGZtLT5udW1fc29ja2V0cywKLQkJCSAgICAg
IEdGUF9LRVJORUwpOwotCWlmICghZm0tPnNvY2tldHMpCi0JCWdvdG8gZXJyX291dF9mcmVlOwor
CXN3aXRjaCAoZm0tPm51bV9zb2NrZXRzKSB7CisJY2FzZSAyOgorCQlmbS0+c29ja2V0c1swXS5j
YXBzIHw9IFRJRk1fU09DS19NU19QSUY7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJZm0tPnNvY2tl
dHNbMF0uY2FwcyB8PSBUSUZNX1NPQ0tfWERfQ0FQOworCQlmbS0+c29ja2V0c1sxXS5jYXBzIHw9
IFRJRk1fU09DS19YRF9DQVA7CisJCWZtLT5zb2NrZXRzWzJdLmNhcHMgfD0gVElGTV9TT0NLX1hE
X0NBUCB8IFRJRk1fU09DS19NU19QSUY7CisJCWZtLT5zb2NrZXRzWzNdLmNhcHMgfD0gVElGTV9T
T0NLX1hEX0NBUDsKKwkJYnJlYWs7CisJfQogCisJSU5JVF9XT1JLKCZmbS0+bWVkaWFfc3dpdGNo
ZXIsIHRpZm1fN3h4MV9zd2l0Y2hfbWVkaWEpOwogCWZtLT5lamVjdCA9IHRpZm1fN3h4MV9lamVj
dDsKIAlwY2lfc2V0X2RydmRhdGEoZGV2LCBmbSk7CiAKQEAgLTM2NywxOSArMzQxLDE2IEBAIHN0
YXRpYyBpbnQgdGlmbV83eHgxX3Byb2JlKHN0cnVjdCBwY2lfZGUKIAlpZiAoIWZtLT5hZGRyKQog
CQlnb3RvIGVycl9vdXRfZnJlZTsKIAotCXJjID0gcmVxdWVzdF9pcnEoZGV2LT5pcnEsIHRpZm1f
N3h4MV9pc3IsIElSUUZfU0hBUkVELCBEUklWRVJfTkFNRSwgZm0pOworCXJjID0gcmVxdWVzdF9p
cnEoZGV2LT5pcnEsIHRpZm1fN3h4MV9pc3IsIFNBX1NISVJRLCBEUklWRVJfTkFNRSwgZm0pOwog
CWlmIChyYykKIAkJZ290byBlcnJfb3V0X3VubWFwOwogCi0JaW5pdF93YWl0cXVldWVfaGVhZCgm
Zm0tPmNoYW5nZV9zZXRfbm90aWZ5KTsKLQlyYyA9IHRpZm1fYWRkX2FkYXB0ZXIoZm0sIHRpZm1f
N3h4MV9zd2l0Y2hfbWVkaWEpOworCXJjID0gdGlmbV9hZGRfYWRhcHRlcihmbSk7CiAJaWYgKHJj
KQogCQlnb3RvIGVycl9vdXRfaXJxOwogCi0Jd3JpdGVsKFRJRk1fSVJRX1NFVEFMTCwgZm0tPmFk
ZHIgKyBGTV9DTEVBUl9JTlRFUlJVUFRfRU5BQkxFKTsKIAl3cml0ZWwoVElGTV9JUlFfRU5BQkxF
IHwgVElGTV9JUlFfU09DS01BU0soKDEgPDwgZm0tPm51bV9zb2NrZXRzKSAtIDEpLAogCSAgICAg
ICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKLQl3YWtlX3VwX3Byb2Nlc3Mo
Zm0tPm1lZGlhX3N3aXRjaGVyKTsKIAlyZXR1cm4gMDsKIAogZXJyX291dF9pcnE6CkBAIC00MDEs
MTggKzM3MiwxMiBAQCBlcnJfb3V0Ogogc3RhdGljIHZvaWQgdGlmbV83eHgxX3JlbW92ZShzdHJ1
Y3QgcGNpX2RldiAqZGV2KQogewogCXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtID0gcGNpX2dldF9k
cnZkYXRhKGRldik7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAorCWZtLT5lamVjdCA9IHRpZm1f
N3h4MV9kdW1teV9lamVjdDsKIAl3cml0ZWwoVElGTV9JUlFfU0VUQUxMLCBmbS0+YWRkciArIEZN
X0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOwogCW1taW93YigpOwogCWZyZWVfaXJxKGRldi0+aXJx
LCBmbSk7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQlmbS0+c29j
a2V0X2NoYW5nZV9zZXQgPSAoMSA8PCBmbS0+bnVtX3NvY2tldHMpIC0gMTsKLQlzcGluX3VubG9j
a19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwotCi0Ja3RocmVhZF9zdG9wKGZtLT5tZWRp
YV9zd2l0Y2hlcik7Ci0KIAl0aWZtX3JlbW92ZV9hZGFwdGVyKGZtKTsKIAogCXBjaV9zZXRfZHJ2
ZGF0YShkZXYsIE5VTEwpOwotLS0gbGludXgtMi42LjIxLWdlbnRvby9kcml2ZXJzL21pc2MvdGlm
bV9jb3JlLmMJMjAwNy0wNS0wMSAxNTo1MDo0Mi4wMDAwMDAwMDAgLTA0MDAKKysrIHVwc3RyZWFt
L3RpZm1fY29yZS5jCTIwMDctMDUtMDEgMTU6MzU6NTYuMDAwMDAwMDAwIC0wNDAwCkBAIC05LDc2
ICs5LDEyOSBAQAogICoKICAqLwogCi0jaW5jbHVkZSA8bGludXgvdGlmbS5oPgorI2luY2x1ZGUg
ImxpbnV4L3RpZm0uaCIKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgv
aWRyLmg+CiAKICNkZWZpbmUgRFJJVkVSX05BTUUgInRpZm1fY29yZSIKLSNkZWZpbmUgRFJJVkVS
X1ZFUlNJT04gIjAuNyIKKyNkZWZpbmUgRFJJVkVSX1ZFUlNJT04gIjAuOCIKIAorc3RhdGljIHN0
cnVjdCB3b3JrcXVldWVfc3RydWN0ICp3b3JrcXVldWU7CiBzdGF0aWMgREVGSU5FX0lEUih0aWZt
X2FkYXB0ZXJfaWRyKTsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodGlmbV9hZGFwdGVyX2xvY2sp
OwogCi1zdGF0aWMgdGlmbV9tZWRpYV9pZCAqdGlmbV9kZXZpY2VfbWF0Y2godGlmbV9tZWRpYV9p
ZCAqaWRzLAotCQkJc3RydWN0IHRpZm1fZGV2ICpkZXYpCitzdGF0aWMgY29uc3QgY2hhciAqdGlm
bV9tZWRpYV90eXBlX25hbWUodW5zaWduZWQgY2hhciB0eXBlLCB1bnNpZ25lZCBjaGFyIG50KQog
ewotCXdoaWxlICgqaWRzKSB7Ci0JCWlmIChkZXYtPm1lZGlhX2lkID09ICppZHMpCi0JCQlyZXR1
cm4gaWRzOwotCQlpZHMrKzsKLQl9Ci0JcmV0dXJuIE5VTEw7CisJY29uc3QgY2hhciAqY2FyZF90
eXBlX25hbWVbM11bM10gPSB7CisJCXsgIlNtYXJ0TWVkaWEveEQiLCAiTWVtb3J5U3RpY2siLCAi
TU1DL1NEIiB9LAorCQl7ICJYRCIsICJNUyIsICJTRCJ9LAorCQl7ICJ4ZCIsICJtcyIsICJzZCJ9
CisJfTsKKworCWlmIChudCA+IDIgfHwgdHlwZSA8IDEgfHwgdHlwZSA+IDMpCisJCXJldHVybiBO
VUxMOworCXJldHVybiBjYXJkX3R5cGVfbmFtZVtudF1bdHlwZSAtIDFdOwogfQogCi1zdGF0aWMg
aW50IHRpZm1fbWF0Y2goc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2RyaXZlciAq
ZHJ2KQorc3RhdGljIGludCB0aWZtX2Rldl9tYXRjaChzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssIHN0
cnVjdCB0aWZtX2RldmljZV9pZCAqaWQpCiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpmbV9kZXYgPSBj
b250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7Ci0Jc3RydWN0IHRpZm1fZHJp
dmVyICpmbV9kcnY7Ci0KLQlmbV9kcnYgPSBjb250YWluZXJfb2YoZHJ2LCBzdHJ1Y3QgdGlmbV9k
cml2ZXIsIGRyaXZlcik7Ci0JaWYgKCFmbV9kcnYtPmlkX3RhYmxlKQotCQlyZXR1cm4gLUVJTlZB
TDsKLQlpZiAodGlmbV9kZXZpY2VfbWF0Y2goZm1fZHJ2LT5pZF90YWJsZSwgZm1fZGV2KSkKKwlp
ZiAoc29jay0+dHlwZSA9PSBpZC0+dHlwZSkKIAkJcmV0dXJuIDE7Ci0JcmV0dXJuIC1FTk9ERVY7
CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGlmbV9idXNfbWF0Y2goc3RydWN0IGRldmlj
ZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2KQoreworCXN0cnVjdCB0aWZtX2RldiAq
c29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsKKwlzdHJ1Y3Qg
dGlmbV9kcml2ZXIgKmZtX2RydiA9IGNvbnRhaW5lcl9vZihkcnYsIHN0cnVjdCB0aWZtX2RyaXZl
ciwKKwkJCQkJCSAgZHJpdmVyKTsKKwlzdHJ1Y3QgdGlmbV9kZXZpY2VfaWQgKmlkcyA9IGZtX2Ry
di0+aWRfdGFibGU7CisKKwlpZiAoaWRzKSB7CisJCXdoaWxlIChpZHMtPnR5cGUpIHsKKwkJCWlm
ICh0aWZtX2Rldl9tYXRjaChzb2NrLCBpZHMpKQorCQkJCXJldHVybiAxOworCQkJKytpZHM7CisJ
CX0KKwl9CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgdGlmbV91ZXZlbnQoc3RydWN0IGRl
dmljZSAqZGV2LCBjaGFyICoqZW52cCwgaW50IG51bV9lbnZwLAogCQkgICAgICAgY2hhciAqYnVm
ZmVyLCBpbnQgYnVmZmVyX3NpemUpCiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpmbV9kZXY7CisJc3Ry
dWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBk
ZXYpOwogCWludCBpID0gMDsKIAlpbnQgbGVuZ3RoID0gMDsKLQljb25zdCBjaGFyICpjYXJkX3R5
cGVfbmFtZVtdID0geyJJTlYiLCAiU00iLCAiTVMiLCAiU0QifTsKIAotCWlmICghZGV2IHx8ICEo
Zm1fZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpKSkKLQkJcmV0
dXJuIC1FTk9ERVY7CiAJaWYgKGFkZF91ZXZlbnRfdmFyKGVudnAsIG51bV9lbnZwLCAmaSwgYnVm
ZmVyLCBidWZmZXJfc2l6ZSwgJmxlbmd0aCwKLQkJCSJUSUZNX0NBUkRfVFlQRT0lcyIsIGNhcmRf
dHlwZV9uYW1lW2ZtX2Rldi0+bWVkaWFfaWRdKSkKKwkJCSAgICJUSUZNX0NBUkRfVFlQRT0lcyIs
CisJCQkgICB0aWZtX21lZGlhX3R5cGVfbmFtZShzb2NrLT50eXBlLCAxKSkpCiAJCXJldHVybiAt
RU5PTUVNOwogCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgdGlmbV9kZXZpY2VfcHJvYmUo
c3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGNvbnRhaW5l
cl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsKKwlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRy
diA9IGNvbnRhaW5lcl9vZihkZXYtPmRyaXZlciwgc3RydWN0IHRpZm1fZHJpdmVyLAorCQkJCQkg
ICAgICAgZHJpdmVyKTsKKwlpbnQgcmMgPSAtRU5PREVWOworCisJZ2V0X2RldmljZShkZXYpOwor
CWlmIChkZXYtPmRyaXZlciAmJiBkcnYtPnByb2JlKSB7CisJCXJjID0gZHJ2LT5wcm9iZShzb2Nr
KTsKKwkJaWYgKCFyYykKKwkJCXJldHVybiAwOworCX0KKwlwdXRfZGV2aWNlKGRldik7CisJcmV0
dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCB0aWZtX2R1bW15X2V2ZW50KHN0cnVjdCB0aWZtX2Rl
diAqc29jaykKK3sKKwlyZXR1cm47Cit9CisKK3N0YXRpYyBpbnQgdGlmbV9kZXZpY2VfcmVtb3Zl
KHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBjb250YWlu
ZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7CisJc3RydWN0IHRpZm1fZHJpdmVyICpk
cnYgPSBjb250YWluZXJfb2YoZGV2LT5kcml2ZXIsIHN0cnVjdCB0aWZtX2RyaXZlciwKKwkJCQkJ
ICAgICAgIGRyaXZlcik7CisKKwlpZiAoZGV2LT5kcml2ZXIgJiYgZHJ2LT5yZW1vdmUpIHsKKwkJ
c29jay0+ZXZlbnQgPSB0aWZtX2R1bW15X2V2ZW50OworCQlzb2NrLT5kYXRhX2V2ZW50ID0gdGlm
bV9kdW1teV9ldmVudDsKKwkJZHJ2LT5yZW1vdmUoc29jayk7CisJCXNvY2stPmRldi5kcml2ZXIg
PSBOVUxMOworCX0KKworCXB1dF9kZXZpY2UoZGV2KTsKKwlyZXR1cm4gMDsKK30KKwogI2lmZGVm
IENPTkZJR19QTQogCiBzdGF0aWMgaW50IHRpZm1fZGV2aWNlX3N1c3BlbmQoc3RydWN0IGRldmlj
ZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpmbV9kZXYg
PSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7Ci0Jc3RydWN0IHRpZm1f
ZHJpdmVyICpkcnYgPSBmbV9kZXYtPmRydjsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBjb250
YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7CisJc3RydWN0IHRpZm1fZHJpdmVy
ICpkcnYgPSBjb250YWluZXJfb2YoZGV2LT5kcml2ZXIsIHN0cnVjdCB0aWZtX2RyaXZlciwKKwkJ
CQkJICAgICAgIGRyaXZlcik7CiAKLQlpZiAoZHJ2ICYmIGRydi0+c3VzcGVuZCkKLQkJcmV0dXJu
IGRydi0+c3VzcGVuZChmbV9kZXYsIHN0YXRlKTsKKwlpZiAoZGV2LT5kcml2ZXIgJiYgZHJ2LT5z
dXNwZW5kKQorCQlyZXR1cm4gZHJ2LT5zdXNwZW5kKHNvY2ssIHN0YXRlKTsKIAlyZXR1cm4gMDsK
IH0KIAogc3RhdGljIGludCB0aWZtX2RldmljZV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQog
ewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRp
Zm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gZm1fZGV2LT5kcnY7CisJ
c3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2
LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gY29udGFpbmVyX29mKGRldi0+ZHJp
dmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJCSAgICAgICBkcml2ZXIpOwogCi0JaWYgKGRy
diAmJiBkcnYtPnJlc3VtZSkKLQkJcmV0dXJuIGRydi0+cmVzdW1lKGZtX2Rldik7CisJaWYgKGRl
di0+ZHJpdmVyICYmIGRydi0+cmVzdW1lKQorCQlyZXR1cm4gZHJ2LT5yZXN1bWUoc29jayk7CiAJ
cmV0dXJuIDA7CiB9CiAKQEAgLTg5LDE5ICsxNDIsMzMgQEAgc3RhdGljIGludCB0aWZtX2Rldmlj
ZV9yZXN1bWUoc3RydWN0IGRldgogCiAjZW5kaWYgLyogQ09ORklHX1BNICovCiAKK3N0YXRpYyBz
c2l6ZV90IHR5cGVfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmli
dXRlICphdHRyLAorCQkJIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBj
b250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7CisJcmV0dXJuIHNwcmludGYo
YnVmLCAiJXgiLCBzb2NrLT50eXBlKTsKK30KKworc3RhdGljIHN0cnVjdCBkZXZpY2VfYXR0cmli
dXRlIHRpZm1fZGV2X2F0dHJzW10gPSB7CisJX19BVFRSKHR5cGUsIFNfSVJVR08sIHR5cGVfc2hv
dywgTlVMTCksCisJX19BVFRSX05VTEwKK307CisKIHN0YXRpYyBzdHJ1Y3QgYnVzX3R5cGUgdGlm
bV9idXNfdHlwZSA9IHsKLQkubmFtZSAgICA9ICJ0aWZtIiwKLQkubWF0Y2ggICA9IHRpZm1fbWF0
Y2gsCi0JLnVldmVudCAgPSB0aWZtX3VldmVudCwKLQkuc3VzcGVuZCA9IHRpZm1fZGV2aWNlX3N1
c3BlbmQsCi0JLnJlc3VtZSAgPSB0aWZtX2RldmljZV9yZXN1bWUKKwkubmFtZSAgICAgICAgICAg
PSAidGlmbSIsCisJLmRldl9hdHRycyAgICAgID0gdGlmbV9kZXZfYXR0cnMsCisJLm1hdGNoICAg
ICAgICAgID0gdGlmbV9idXNfbWF0Y2gsCisJLnVldmVudCAgICAgICAgID0gdGlmbV91ZXZlbnQs
CisJLnByb2JlICAgICAgICAgID0gdGlmbV9kZXZpY2VfcHJvYmUsCisJLnJlbW92ZSAgICAgICAg
ID0gdGlmbV9kZXZpY2VfcmVtb3ZlLAorCS5zdXNwZW5kICAgICAgICA9IHRpZm1fZGV2aWNlX3N1
c3BlbmQsCisJLnJlc3VtZSAgICAgICAgID0gdGlmbV9kZXZpY2VfcmVzdW1lCiB9OwogCiBzdGF0
aWMgdm9pZCB0aWZtX2ZyZWUoc3RydWN0IGNsYXNzX2RldmljZSAqY2RldikKIHsKIAlzdHJ1Y3Qg
dGlmbV9hZGFwdGVyICpmbSA9IGNvbnRhaW5lcl9vZihjZGV2LCBzdHJ1Y3QgdGlmbV9hZGFwdGVy
LCBjZGV2KTsKIAotCWtmcmVlKGZtLT5zb2NrZXRzKTsKIAlrZnJlZShmbSk7CiB9CiAKQEAgLTEx
MCwyOCArMTc3LDI1IEBAIHN0YXRpYyBzdHJ1Y3QgY2xhc3MgdGlmbV9hZGFwdGVyX2NsYXNzID0K
IAkucmVsZWFzZSA9IHRpZm1fZnJlZQogfTsKIAotc3RydWN0IHRpZm1fYWRhcHRlciAqdGlmbV9h
bGxvY19hZGFwdGVyKHZvaWQpCitzdHJ1Y3QgdGlmbV9hZGFwdGVyICp0aWZtX2FsbG9jX2FkYXB0
ZXIodW5zaWduZWQgaW50IG51bV9zb2NrZXRzLAorCQkJCQlzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7
CiAJc3RydWN0IHRpZm1fYWRhcHRlciAqZm07CiAKLQlmbSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVj
dCB0aWZtX2FkYXB0ZXIpLCBHRlBfS0VSTkVMKTsKKwlmbSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVj
dCB0aWZtX2FkYXB0ZXIpCisJCSAgICAgKyBzaXplb2Yoc3RydWN0IHNvY2tldF90KSAqIG51bV9z
b2NrZXRzLCBHRlBfS0VSTkVMKTsKIAlpZiAoZm0pIHsKIAkJZm0tPmNkZXYuY2xhc3MgPSAmdGlm
bV9hZGFwdGVyX2NsYXNzOwotCQlzcGluX2xvY2tfaW5pdCgmZm0tPmxvY2spOworCQlmbS0+Y2Rl
di5kZXYgPSBkZXY7CiAJCWNsYXNzX2RldmljZV9pbml0aWFsaXplKCZmbS0+Y2Rldik7CisJCXNw
aW5fbG9ja19pbml0KCZmbS0+bG9jayk7CisJCWZtLT5udW1fc29ja2V0cyA9IG51bV9zb2NrZXRz
OwogCX0KIAlyZXR1cm4gZm07CiB9CiBFWFBPUlRfU1lNQk9MKHRpZm1fYWxsb2NfYWRhcHRlcik7
CiAKLXZvaWQgdGlmbV9mcmVlX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pCi17Ci0J
Y2xhc3NfZGV2aWNlX3B1dCgmZm0tPmNkZXYpOwotfQotRVhQT1JUX1NZTUJPTCh0aWZtX2ZyZWVf
YWRhcHRlcik7Ci0KLWludCB0aWZtX2FkZF9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZt
LAotCQkgICAgIGludCAoKm1lZGlhdGhyZWFkZm4pKHZvaWQgKmRhdGEpKQoraW50IHRpZm1fYWRk
X2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pCiB7CiAJaW50IHJjOwogCkBAIC0xNDEs
NTkgKzIwNSw4MSBAQCBpbnQgdGlmbV9hZGRfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyCiAJ
c3Bpbl9sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7CiAJcmMgPSBpZHJfZ2V0X25ldygmdGlmbV9h
ZGFwdGVyX2lkciwgZm0sICZmbS0+aWQpOwogCXNwaW5fdW5sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9j
ayk7Ci0JaWYgKCFyYykgewotCQlzbnByaW50ZihmbS0+Y2Rldi5jbGFzc19pZCwgQlVTX0lEX1NJ
WkUsICJ0aWZtJXUiLCBmbS0+aWQpOwotCQlmbS0+bWVkaWFfc3dpdGNoZXIgPSBrdGhyZWFkX2Ny
ZWF0ZShtZWRpYXRocmVhZGZuLAotCQkJCQkJICAgIGZtLCAidGlmbS8ldSIsIGZtLT5pZCk7Ci0K
LQkJaWYgKCFJU19FUlIoZm0tPm1lZGlhX3N3aXRjaGVyKSkKLQkJCXJldHVybiBjbGFzc19kZXZp
Y2VfYWRkKCZmbS0+Y2Rldik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CiAKKwlzbnByaW50Zihm
bS0+Y2Rldi5jbGFzc19pZCwgQlVTX0lEX1NJWkUsICJ0aWZtJXUiLCBmbS0+aWQpOworCXJjID0g
Y2xhc3NfZGV2aWNlX2FkZCgmZm0tPmNkZXYpOworCWlmIChyYykgewogCQlzcGluX2xvY2soJnRp
Zm1fYWRhcHRlcl9sb2NrKTsKIAkJaWRyX3JlbW92ZSgmdGlmbV9hZGFwdGVyX2lkciwgZm0tPmlk
KTsKIAkJc3Bpbl91bmxvY2soJnRpZm1fYWRhcHRlcl9sb2NrKTsKLQkJcmMgPSAtRU5PTUVNOwor
CQlyZXR1cm4gcmM7CiAJfQotCXJldHVybiByYzsKKworCXJldHVybiAwOwogfQogRVhQT1JUX1NZ
TUJPTCh0aWZtX2FkZF9hZGFwdGVyKTsKIAogdm9pZCB0aWZtX3JlbW92ZV9hZGFwdGVyKHN0cnVj
dCB0aWZtX2FkYXB0ZXIgKmZtKQogewotCWNsYXNzX2RldmljZV9kZWwoJmZtLT5jZGV2KTsKKwl1
bnNpZ25lZCBpbnQgY250OworCisJZmx1c2hfd29ya3F1ZXVlKHdvcmtxdWV1ZSk7CisJZm9yIChj
bnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tldHM7ICsrY250KSB7CisJCWlmIChmbS0+c29ja2V0
c1tjbnRdLmRldikKKwkJCWRldmljZV91bnJlZ2lzdGVyKCZmbS0+c29ja2V0c1tjbnRdLmRldi0+
ZGV2KTsKKwl9CiAKIAlzcGluX2xvY2soJnRpZm1fYWRhcHRlcl9sb2NrKTsKIAlpZHJfcmVtb3Zl
KCZ0aWZtX2FkYXB0ZXJfaWRyLCBmbS0+aWQpOwogCXNwaW5fdW5sb2NrKCZ0aWZtX2FkYXB0ZXJf
bG9jayk7CisJY2xhc3NfZGV2aWNlX2RlbCgmZm0tPmNkZXYpOwogfQogRVhQT1JUX1NZTUJPTCh0
aWZtX3JlbW92ZV9hZGFwdGVyKTsKIAotdm9pZCB0aWZtX2ZyZWVfZGV2aWNlKHN0cnVjdCBkZXZp
Y2UgKmRldikKK3ZvaWQgdGlmbV9mcmVlX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0p
CiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpmbV9kZXYgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3Qg
dGlmbV9kZXYsIGRldik7Ci0Ja2ZyZWUoZm1fZGV2KTsKKwljbGFzc19kZXZpY2VfcHV0KCZmbS0+
Y2Rldik7CiB9Ci1FWFBPUlRfU1lNQk9MKHRpZm1fZnJlZV9kZXZpY2UpOworRVhQT1JUX1NZTUJP
TCh0aWZtX2ZyZWVfYWRhcHRlcik7CiAKLXN0YXRpYyB2b2lkIHRpZm1fZHVtbXlfc2lnbmFsX2ly
cShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssCi0JCQkJICB1bnNpZ25lZCBpbnQgc29ja19pcnFfc3Rh
dHVzKQordm9pZCB0aWZtX2ZyZWVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKLQlyZXR1
cm47CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRp
Zm1fZGV2LCBkZXYpOworCWtmcmVlKHNvY2spOwogfQorRVhQT1JUX1NZTUJPTCh0aWZtX2ZyZWVf
ZGV2aWNlKTsKIAotc3RydWN0IHRpZm1fZGV2ICp0aWZtX2FsbG9jX2RldmljZShzdHJ1Y3QgdGlm
bV9hZGFwdGVyICpmbSkKK3N0cnVjdCB0aWZtX2RldiAqdGlmbV9hbGxvY19kZXZpY2Uoc3RydWN0
IHRpZm1fYWRhcHRlciAqZm0sIHVuc2lnbmVkIGludCBpZCwKKwkJCQkgICB1bnNpZ25lZCBjaGFy
IHR5cGUpCiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpkZXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qg
dGlmbV9kZXYpLCBHRlBfS0VSTkVMKTsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBOVUxMOwog
Ci0JaWYgKGRldikgewotCQlzcGluX2xvY2tfaW5pdCgmZGV2LT5sb2NrKTsKKwlpZiAoIXRpZm1f
bWVkaWFfdHlwZV9uYW1lKHR5cGUsIDApKQorCQlyZXR1cm4gc29jazsKIAotCQlkZXYtPmRldi5w
YXJlbnQgPSBmbS0+ZGV2OwotCQlkZXYtPmRldi5idXMgPSAmdGlmbV9idXNfdHlwZTsKLQkJZGV2
LT5kZXYucmVsZWFzZSA9IHRpZm1fZnJlZV9kZXZpY2U7Ci0JCWRldi0+c2lnbmFsX2lycSA9IHRp
Zm1fZHVtbXlfc2lnbmFsX2lycTsKKwlzb2NrID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHRpZm1f
ZGV2KSwgR0ZQX0tFUk5FTCk7CisJaWYgKHNvY2spIHsKKwkJc3Bpbl9sb2NrX2luaXQoJnNvY2st
PmxvY2spOworCQlzb2NrLT50eXBlID0gdHlwZTsKKwkJc29jay0+c29ja2V0X2lkID0gaWQ7CisJ
CXNvY2stPmV2ZW50ID0gdGlmbV9kdW1teV9ldmVudDsKKwkJc29jay0+ZGF0YV9ldmVudCA9IHRp
Zm1fZHVtbXlfZXZlbnQ7CisKKwkJc29jay0+ZGV2LnBhcmVudCA9IGZtLT5jZGV2LmRldjsKKwkJ
c29jay0+ZGV2LmJ1cyA9ICZ0aWZtX2J1c190eXBlOworCQlzb2NrLT5kZXYuZG1hX21hc2sgPSBm
bS0+Y2Rldi5kZXYtPmRtYV9tYXNrOworCQlzb2NrLT5kZXYucmVsZWFzZSA9IHRpZm1fZnJlZV9k
ZXZpY2U7CisKKwkJc25wcmludGYoc29jay0+ZGV2LmJ1c19pZCwgQlVTX0lEX1NJWkUsCisJCQkg
InRpZm1fJXMldToldSIsIHRpZm1fbWVkaWFfdHlwZV9uYW1lKHR5cGUsIDIpLAorCQkJIGZtLT5p
ZCwgaWQpOworCQlwcmludGsoS0VSTl9JTkZPIERSSVZFUl9OQU1FCisJCSAgICAgICAiOiAlcyBj
YXJkIGRldGVjdGVkIGluIHNvY2tldCAldToldVxuIiwKKwkJICAgICAgIHRpZm1fbWVkaWFfdHlw
ZV9uYW1lKHR5cGUsIDApLCBmbS0+aWQsIGlkKTsKIAl9Ci0JcmV0dXJuIGRldjsKKwlyZXR1cm4g
c29jazsKIH0KIEVYUE9SVF9TWU1CT0wodGlmbV9hbGxvY19kZXZpY2UpOwogCkBAIC0yMTgsNTQg
KzMwNCwxNSBAQCB2b2lkIHRpZm1fdW5tYXBfc2coc3RydWN0IHRpZm1fZGV2ICpzb2NrCiB9CiBF
WFBPUlRfU1lNQk9MKHRpZm1fdW5tYXBfc2cpOwogCi1zdGF0aWMgaW50IHRpZm1fZGV2aWNlX3By
b2JlKHN0cnVjdCBkZXZpY2UgKmRldikKK3ZvaWQgdGlmbV9xdWV1ZV93b3JrKHN0cnVjdCB3b3Jr
X3N0cnVjdCAqd29yaykKIHsKLQlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydjsKLQlzdHJ1Y3QgdGlm
bV9kZXYgKmZtX2RldjsKLQlpbnQgcmMgPSAwOwotCWNvbnN0IHRpZm1fbWVkaWFfaWQgKmlkOwot
Ci0JZHJ2ID0gY29udGFpbmVyX29mKGRldi0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsIGRy
aXZlcik7Ci0JZm1fZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYp
OwotCWdldF9kZXZpY2UoZGV2KTsKLQlpZiAoIWZtX2Rldi0+ZHJ2ICYmIGRydi0+cHJvYmUgJiYg
ZHJ2LT5pZF90YWJsZSkgewotCQlyYyA9IC1FTk9ERVY7Ci0JCWlkID0gdGlmbV9kZXZpY2VfbWF0
Y2goZHJ2LT5pZF90YWJsZSwgZm1fZGV2KTsKLQkJaWYgKGlkKQotCQkJcmMgPSBkcnYtPnByb2Jl
KGZtX2Rldik7Ci0JCWlmIChyYyA+PSAwKSB7Ci0JCQlyYyA9IDA7Ci0JCQlmbV9kZXYtPmRydiA9
IGRydjsKLQkJfQotCX0KLQlpZiAocmMpCi0JCXB1dF9kZXZpY2UoZGV2KTsKLQlyZXR1cm4gcmM7
Ci19Ci0KLXN0YXRpYyBpbnQgdGlmbV9kZXZpY2VfcmVtb3ZlKHN0cnVjdCBkZXZpY2UgKmRldikK
LXsKLQlzdHJ1Y3QgdGlmbV9kZXYgKmZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0
aWZtX2RldiwgZGV2KTsKLQlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGZtX2Rldi0+ZHJ2Owot
Ci0JaWYgKGRydikgewotCQlmbV9kZXYtPnNpZ25hbF9pcnEgPSB0aWZtX2R1bW15X3NpZ25hbF9p
cnE7Ci0JCWlmIChkcnYtPnJlbW92ZSkKLQkJCWRydi0+cmVtb3ZlKGZtX2Rldik7Ci0JCWZtX2Rl
di0+ZHJ2ID0gTlVMTDsKLQl9Ci0KLQlwdXRfZGV2aWNlKGRldik7Ci0JcmV0dXJuIDA7CisJcXVl
dWVfd29yayh3b3JrcXVldWUsIHdvcmspOwogfQorRVhQT1JUX1NZTUJPTCh0aWZtX3F1ZXVlX3dv
cmspOwogCiBpbnQgdGlmbV9yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHRpZm1fZHJpdmVyICpkcnYp
CiB7CiAJZHJ2LT5kcml2ZXIuYnVzID0gJnRpZm1fYnVzX3R5cGU7Ci0JZHJ2LT5kcml2ZXIucHJv
YmUgPSB0aWZtX2RldmljZV9wcm9iZTsKLQlkcnYtPmRyaXZlci5yZW1vdmUgPSB0aWZtX2Rldmlj
ZV9yZW1vdmU7Ci0JZHJ2LT5kcml2ZXIuc3VzcGVuZCA9IHRpZm1fZGV2aWNlX3N1c3BlbmQ7Ci0J
ZHJ2LT5kcml2ZXIucmVzdW1lID0gdGlmbV9kZXZpY2VfcmVzdW1lOwogCiAJcmV0dXJuIGRyaXZl
cl9yZWdpc3RlcigmZHJ2LT5kcml2ZXIpOwogfQpAQCAtMjc5LDEzICszMjYsMjUgQEAgRVhQT1JU
X1NZTUJPTCh0aWZtX3VucmVnaXN0ZXJfZHJpdmVyKTsKIAogc3RhdGljIGludCBfX2luaXQgdGlm
bV9pbml0KHZvaWQpCiB7Ci0JaW50IHJjID0gYnVzX3JlZ2lzdGVyKCZ0aWZtX2J1c190eXBlKTsK
KwlpbnQgcmM7CiAKLQlpZiAoIXJjKSB7Ci0JCXJjID0gY2xhc3NfcmVnaXN0ZXIoJnRpZm1fYWRh
cHRlcl9jbGFzcyk7Ci0JCWlmIChyYykKLQkJCWJ1c191bnJlZ2lzdGVyKCZ0aWZtX2J1c190eXBl
KTsKLQl9CisJd29ya3F1ZXVlID0gY3JlYXRlX2ZyZWV6ZWFibGVfd29ya3F1ZXVlKCJ0aWZtIik7
CisJaWYgKCF3b3JrcXVldWUpCisJCXJldHVybiAtRU5PTUVNOworCisJcmMgPSBidXNfcmVnaXN0
ZXIoJnRpZm1fYnVzX3R5cGUpOworCisJaWYgKHJjKQorCQlnb3RvIGVycl9vdXRfd3E7CisKKwly
YyA9IGNsYXNzX3JlZ2lzdGVyKCZ0aWZtX2FkYXB0ZXJfY2xhc3MpOworCWlmICghcmMpCisJCXJl
dHVybiAwOworCisJYnVzX3VucmVnaXN0ZXIoJnRpZm1fYnVzX3R5cGUpOworCitlcnJfb3V0X3dx
OgorCWRlc3Ryb3lfd29ya3F1ZXVlKHdvcmtxdWV1ZSk7CiAKIAlyZXR1cm4gcmM7CiB9CkBAIC0y
OTQsNiArMzUzLDcgQEAgc3RhdGljIHZvaWQgX19leGl0IHRpZm1fZXhpdCh2b2lkKQogewogCWNs
YXNzX3VucmVnaXN0ZXIoJnRpZm1fYWRhcHRlcl9jbGFzcyk7CiAJYnVzX3VucmVnaXN0ZXIoJnRp
Zm1fYnVzX3R5cGUpOworCWRlc3Ryb3lfd29ya3F1ZXVlKHdvcmtxdWV1ZSk7CiB9CiAKIHN1YnN5
c19pbml0Y2FsbCh0aWZtX2luaXQpOwotLS0gbGludXgtMi42LjIxLWdlbnRvby9kcml2ZXJzL21t
Yy90aWZtX3NkLmMJMjAwNy0wNS0wMSAxNTo1MDo0Mi4wMDAwMDAwMDAgLTA0MDAKKysrIHVwc3Ry
ZWFtL3RpZm1fc2QuYwkyMDA3LTA1LTAxIDE1OjM1OjU2LjAwMDAwMDAwMCAtMDQwMApAQCAtNywx
NyArNywxOSBAQAogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKICAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLgogICoKKyAqIFNwZWNpYWwgdGhhbmtzIHRvIEJyYWQgQ2FtcGJlbGwgZm9y
IGV4dGVuc2l2ZSB0ZXN0aW5nIG9mIHRoaXMgZHJpdmVyLgorICoKICAqLwogCiAKLSNpbmNsdWRl
IDxsaW51eC90aWZtLmg+CisjaW5jbHVkZSAibGludXgvdGlmbS5oIgogI2luY2x1ZGUgPGxpbnV4
L21tYy9wcm90b2NvbC5oPgogI2luY2x1ZGUgPGxpbnV4L21tYy9ob3N0Lmg+CiAjaW5jbHVkZSA8
bGludXgvaGlnaG1lbS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAjZGVmaW5lIERSSVZFUl9O
QU1FICJ0aWZtX3NkIgotI2RlZmluZSBEUklWRVJfVkVSU0lPTiAiMC43IgorI2RlZmluZSBEUklW
RVJfVkVSU0lPTiAiMC44IgogCiBzdGF0aWMgaW50IG5vX2RtYSA9IDA7CiBzdGF0aWMgaW50IGZp
eGVkX3RpbWVvdXQgPSAwOwpAQCAtMzYsOSArMzgsOSBAQCBtb2R1bGVfcGFyYW0oZml4ZWRfdGlt
ZW91dCwgYm9vbCwgMDY0NCk7CiAjZGVmaW5lIFRJRk1fTU1DU0RfSU5BQiAgICAgICAweDAwODAg
ICAvKiBhYm9ydCAvIGluaXRpYWxpemUgY29tbWFuZCAqLwogI2RlZmluZSBUSUZNX01NQ1NEX1JF
QUQgICAgICAgMHg4MDAwCiAKLSNkZWZpbmUgVElGTV9NTUNTRF9EQVRBTUFTSyAgIDB4NDAxZCAg
IC8qIHNldCBiaXRzOiBDRVJSLCBFT0ZCLCBCUlMsIENCLCBFT0MgKi8KICNkZWZpbmUgVElGTV9N
TUNTRF9FUlJNQVNLICAgIDB4MDFlMCAgIC8qIHNldCBiaXRzOiBDQ1JDLCBDVE8sIERDUkMsIERU
TyAqLwogI2RlZmluZSBUSUZNX01NQ1NEX0VPQyAgICAgICAgMHgwMDAxICAgLyogZW5kIG9mIGNv
bW1hbmQgcGhhc2UgICovCisjZGVmaW5lIFRJRk1fTU1DU0RfQ0QgICAgICAgICAweDAwMDIgICAv
KiBjYXJkIGRldGVjdCAgICAgICAgICAgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9DQiAgICAgICAg
IDB4MDAwNCAgIC8qIGNhcmQgZW50ZXIgYnVzeSBzdGF0ZSAqLwogI2RlZmluZSBUSUZNX01NQ1NE
X0JSUyAgICAgICAgMHgwMDA4ICAgLyogYmxvY2sgcmVjZWl2ZWQvc2VudCAgICovCiAjZGVmaW5l
IFRJRk1fTU1DU0RfRU9GQiAgICAgICAweDAwMTAgICAvKiBjYXJkIGV4aXQgYnVzeSBzdGF0ZSAg
Ki8KQEAgLTQ4LDggKzUwLDEzIEBAIG1vZHVsZV9wYXJhbShmaXhlZF90aW1lb3V0LCBib29sLCAw
NjQ0KTsKICNkZWZpbmUgVElGTV9NTUNTRF9DQ1JDICAgICAgIDB4MDEwMCAgIC8qIGNvbW1hbmQg
Y3JjIGVycm9yICAgICAqLwogI2RlZmluZSBUSUZNX01NQ1NEX0FGICAgICAgICAgMHgwNDAwICAg
LyogZmlmbyBhbG1vc3QgZnVsbCAgICAgICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfQUUgICAgICAg
ICAweDA4MDAgICAvKiBmaWZvIGFsbW9zdCBlbXB0eSAgICAgKi8KKyNkZWZpbmUgVElGTV9NTUNT
RF9PQ1JCICAgICAgIDB4MTAwMCAgIC8qIE9DUiBidXN5ICAgICAgICAgICAgICAqLworI2RlZmlu
ZSBUSUZNX01NQ1NEX0NJUlEgICAgICAgMHgyMDAwICAgLyogY2FyZCBpcnEgKGNtZDQwL3NkaW8p
ICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfQ0VSUiAgICAgICAweDQwMDAgICAvKiBjYXJkIHN0YXR1
cyBlcnJvciAgICAgKi8KIAorI2RlZmluZSBUSUZNX01NQ1NEX09EVE8gICAgICAgMHgwMDQwICAg
Lyogb3BlbiBkcmFpbiAvIGV4dGVuZGVkIHRpbWVvdXQgKi8KKyNkZWZpbmUgVElGTV9NTUNTRF9D
QVJEX1JPICAgIDB4MDIwMCAgIC8qIGNhcmQgaXMgcmVhZC1vbmx5ICAgICAqLworCiAjZGVmaW5l
IFRJRk1fTU1DU0RfRklGT19TSVpFICAweDAwMjAKIAogI2RlZmluZSBUSUZNX01NQ1NEX1JTUF9S
MCAgICAgMHgwMDAwCkBAIC02Nyw5NyArNzQsMjU3IEBAIG1vZHVsZV9wYXJhbShmaXhlZF90aW1l
b3V0LCBib29sLCAwNjQ0KTsKICNkZWZpbmUgVElGTV9NTUNTRF9DTURfQUMgICAgIDB4MjAwMAog
I2RlZmluZSBUSUZNX01NQ1NEX0NNRF9BRFRDICAgMHgzMDAwCiAKLXR5cGVkZWYgZW51bSB7Ci0J
SURMRSA9IDAsCi0JQ01ELCAgICAvKiBtYWluIGNvbW1hbmQgZW5kZWQgICAgICAgICAgICAgICAg
ICAgKi8KLQlCUlMsICAgIC8qIGJsb2NrIHRyYW5zZmVyIGZpbmlzaGVkICAgICAgICAgICAgICAq
LwotCVNDTUQsICAgLyogc3RvcCBjb21tYW5kIGVuZGVkICAgICAgICAgICAgICAgICAgICovCi0J
Q0FSRCwgICAvKiBjYXJkIGxlZnQgYnVzeSBzdGF0ZSAgICAgICAgICAgICAgICAgKi8KLQlGSUZP
LCAgIC8qIEZJRk8gb3BlcmF0aW9uIGNvbXBsZXRlZCAodW5jZXJ0YWluKSAqLwotCVJFQURZCi19
IGNhcmRfc3RhdGVfdDsKKyNkZWZpbmUgVElGTV9NTUNTRF9NQVhfQkxPQ0tfU0laRSAgMHgwODAw
CiAKIGVudW0gewotCUZJRk9fUkRZICAgPSAweDAwMDEsICAgICAvKiBoYXJkd2FyZSBkZXBlbmRl
bnQgdmFsdWUgKi8KLQlFSkVDVCAgICAgID0gMHgwMDA0LAotCUVKRUNUX0RPTkUgPSAweDAwMDgs
Ci0JQ0FSRF9CVVNZICA9IDB4MDAxMCwKLQlPUEVORFJBSU4gID0gMHgwMDQwLCAgICAgLyogaGFy
ZHdhcmUgZGVwZW5kZW50IHZhbHVlICovCi0JQ0FSRF9FVkVOVCA9IDB4MDEwMCwgICAgIC8qIGhh
cmR3YXJlIGRlcGVuZGVudCB2YWx1ZSAqLwotCUNBUkRfUk8gICAgPSAweDAyMDAsICAgICAvKiBo
YXJkd2FyZSBkZXBlbmRlbnQgdmFsdWUgKi8KLQlGSUZPX0VWRU5UID0gMHgxMDAwMCB9OyAgLyog
aGFyZHdhcmUgZGVwZW5kZW50IHZhbHVlICovCisJQ01EX1JFQURZICAgID0gMHgwMDAxLAorCUZJ
Rk9fUkVBRFkgICA9IDB4MDAwMiwKKwlCUlNfUkVBRFkgICAgPSAweDAwMDQsCisJU0NNRF9BQ1RJ
VkUgID0gMHgwMDA4LAorCVNDTURfUkVBRFkgICA9IDB4MDAxMCwKKwlDQVJEX0JVU1kgICAgPSAw
eDAwMjAsCisJREFUQV9DQVJSWSAgID0gMHgwMDQwCit9OwogCiBzdHJ1Y3QgdGlmbV9zZCB7Ci0J
c3RydWN0IHRpZm1fZGV2ICAgICAqZGV2OworCXN0cnVjdCB0aWZtX2RldiAgICAgICAqZGV2Owog
Ci0JdW5zaWduZWQgaW50ICAgICAgICBmbGFnczsKLQljYXJkX3N0YXRlX3QgICAgICAgIHN0YXRl
OwotCXVuc2lnbmVkIGludCAgICAgICAgY2xrX2ZyZXE7Ci0JdW5zaWduZWQgaW50ICAgICAgICBj
bGtfZGl2OwotCXVuc2lnbmVkIGxvbmcgICAgICAgdGltZW91dF9qaWZmaWVzOworCXVuc2lnbmVk
IHNob3J0ICAgICAgICBlamVjdDoxLAorCQkJICAgICAgb3Blbl9kcmFpbjoxLAorCQkJICAgICAg
bm9fZG1hOjE7CisJdW5zaWduZWQgc2hvcnQgICAgICAgIGNtZF9mbGFnczsKKworCXVuc2lnbmVk
IGludCAgICAgICAgICBjbGtfZnJlcTsKKwl1bnNpZ25lZCBpbnQgICAgICAgICAgY2xrX2RpdjsK
Kwl1bnNpZ25lZCBsb25nICAgICAgICAgdGltZW91dF9qaWZmaWVzOwogCiAJc3RydWN0IHRhc2ts
ZXRfc3RydWN0IGZpbmlzaF90YXNrbGV0OwogCXN0cnVjdCB0aW1lcl9saXN0ICAgICB0aW1lcjsK
IAlzdHJ1Y3QgbW1jX3JlcXVlc3QgICAgKnJlcTsKLQl3YWl0X3F1ZXVlX2hlYWRfdCAgICAgbm90
aWZ5OwotCi0Jc2l6ZV90ICAgICAgICAgICAgICAgIHdyaXR0ZW5fYmxvY2tzOwotCXNpemVfdCAg
ICAgICAgICAgICAgICBidWZmZXJfc2l6ZTsKLQlzaXplX3QgICAgICAgICAgICAgICAgYnVmZmVy
X3BvczsKIAorCWludCAgICAgICAgICAgICAgICAgICBzZ19sZW47CisJaW50ICAgICAgICAgICAg
ICAgICAgIHNnX3BvczsKKwl1bnNpZ25lZCBpbnQgICAgICAgICAgYmxvY2tfcG9zOworCXN0cnVj
dCBzY2F0dGVybGlzdCAgICBib3VuY2VfYnVmOworCXVuc2lnbmVkIGNoYXIgICAgICAgICBib3Vu
Y2VfYnVmX2RhdGFbVElGTV9NTUNTRF9NQVhfQkxPQ0tfU0laRV07CiB9OwogCi1zdGF0aWMgY2hh
ciogdGlmbV9zZF9kYXRhX2J1ZmZlcihzdHJ1Y3QgbW1jX2RhdGEgKmRhdGEpCisvKiBmb3Igc29t
ZSByZWFzb24sIGhvc3Qgd29uJ3QgcmVzcG9uZCBjb3JyZWN0bHkgdG8gcmVhZHcvd3JpdGV3ICov
CitzdGF0aWMgdm9pZCB0aWZtX3NkX3JlYWRfZmlmbyhzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwgc3Ry
dWN0IHBhZ2UgKnBnLAorCQkJICAgICAgdW5zaWduZWQgaW50IG9mZiwgdW5zaWduZWQgaW50IGNu
dCkKIHsKLQlyZXR1cm4gcGFnZV9hZGRyZXNzKGRhdGEtPnNnLT5wYWdlKSArIGRhdGEtPnNnLT5v
ZmZzZXQ7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OworCXVuc2lnbmVkIGNo
YXIgKmJ1ZjsKKwl1bnNpZ25lZCBpbnQgcG9zID0gMCwgdmFsOworCisJYnVmID0ga21hcF9hdG9t
aWMocGcsIEtNX0JJT19EU1RfSVJRKSArIG9mZjsKKwlpZiAoaG9zdC0+Y21kX2ZsYWdzICYgREFU
QV9DQVJSWSkgeworCQlidWZbcG9zKytdID0gaG9zdC0+Ym91bmNlX2J1Zl9kYXRhWzBdOworCQlo
b3N0LT5jbWRfZmxhZ3MgJj0gfkRBVEFfQ0FSUlk7CisJfQorCisJd2hpbGUgKHBvcyA8IGNudCkg
eworCQl2YWwgPSByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9EQVRBKTsKKwkJYnVmW3Bv
cysrXSA9IHZhbCAmIDB4ZmY7CisJCWlmIChwb3MgPT0gY250KSB7CisJCQlob3N0LT5ib3VuY2Vf
YnVmX2RhdGFbMF0gPSAodmFsID4+IDgpICYgMHhmZjsKKwkJCWhvc3QtPmNtZF9mbGFncyB8PSBE
QVRBX0NBUlJZOworCQkJYnJlYWs7CisJCX0KKwkJYnVmW3BvcysrXSA9ICh2YWwgPj4gOCkgJiAw
eGZmOworCX0KKwlrdW5tYXBfYXRvbWljKGJ1ZiAtIG9mZiwgS01fQklPX0RTVF9JUlEpOwogfQog
Ci1zdGF0aWMgaW50IHRpZm1fc2RfdHJhbnNmZXJfZGF0YShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ss
IHN0cnVjdCB0aWZtX3NkICpob3N0LAotCQkJCSB1bnNpZ25lZCBpbnQgaG9zdF9zdGF0dXMpCitz
dGF0aWMgdm9pZCB0aWZtX3NkX3dyaXRlX2ZpZm8oc3RydWN0IHRpZm1fc2QgKmhvc3QsIHN0cnVj
dCBwYWdlICpwZywKKwkJCSAgICAgICB1bnNpZ25lZCBpbnQgb2ZmLCB1bnNpZ25lZCBpbnQgY250
KQogewotCXN0cnVjdCBtbWNfY29tbWFuZCAqY21kID0gaG9zdC0+cmVxLT5jbWQ7Ci0JdW5zaWdu
ZWQgaW50IHRfdmFsID0gMCwgY250ID0gMDsKLQljaGFyICpidWZmZXI7CisJc3RydWN0IHRpZm1f
ZGV2ICpzb2NrID0gaG9zdC0+ZGV2OworCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKwl1bnNpZ25lZCBp
bnQgcG9zID0gMCwgdmFsOwogCi0JaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9CUlMpIHsK
LQkJLyogaW4gbm9uLWRtYSByeCBtb2RlIEJSUyBmaXJlcyB3aGVuIGZpZm8gaXMgc3RpbGwgbm90
IGVtcHR5ICovCi0JCWlmIChub19kbWEgJiYgKGNtZC0+ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9S
RUFEKSkgewotCQkJYnVmZmVyID0gdGlmbV9zZF9kYXRhX2J1ZmZlcihob3N0LT5yZXEtPmRhdGEp
OwotCQkJd2hpbGUgKGhvc3QtPmJ1ZmZlcl9zaXplID4gaG9zdC0+YnVmZmVyX3BvcykgewotCQkJ
CXRfdmFsID0gcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7Ci0JCQkJYnVmZmVy
W2hvc3QtPmJ1ZmZlcl9wb3MrK10gPSB0X3ZhbCAmIDB4ZmY7Ci0JCQkJYnVmZmVyW2hvc3QtPmJ1
ZmZlcl9wb3MrK10gPQotCQkJCQkJCSh0X3ZhbCA+PiA4KSAmIDB4ZmY7Ci0JCQl9CisJYnVmID0g
a21hcF9hdG9taWMocGcsIEtNX0JJT19TUkNfSVJRKSArIG9mZjsKKwlpZiAoaG9zdC0+Y21kX2Zs
YWdzICYgREFUQV9DQVJSWSkgeworCQl2YWwgPSBob3N0LT5ib3VuY2VfYnVmX2RhdGFbMF0gfCAo
KGJ1Zltwb3MrK10gPDwgOCkgJiAweGZmMDApOworCQl3cml0ZWwodmFsLCBzb2NrLT5hZGRyICsg
U09DS19NTUNTRF9EQVRBKTsKKwkJaG9zdC0+Y21kX2ZsYWdzICY9IH5EQVRBX0NBUlJZOworCX0K
KworCXdoaWxlIChwb3MgPCBjbnQpIHsKKwkJdmFsID0gYnVmW3BvcysrXTsKKwkJaWYgKHBvcyA9
PSBjbnQpIHsKKwkJCWhvc3QtPmJvdW5jZV9idWZfZGF0YVswXSA9IHZhbCAmIDB4ZmY7CisJCQlo
b3N0LT5jbWRfZmxhZ3MgfD0gREFUQV9DQVJSWTsKKwkJCWJyZWFrOwogCQl9Ci0JCXJldHVybiAx
OwotCX0gZWxzZSBpZiAobm9fZG1hKSB7Ci0JCWJ1ZmZlciA9IHRpZm1fc2RfZGF0YV9idWZmZXIo
aG9zdC0+cmVxLT5kYXRhKTsKLQkJaWYgKChjbWQtPmRhdGEtPmZsYWdzICYgTU1DX0RBVEFfUkVB
RCkgJiYKLQkJCQkoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0FGKSkgewotCQkJZm9yIChjbnQg
PSAwOyBjbnQgPCBUSUZNX01NQ1NEX0ZJRk9fU0laRTsgY250KyspIHsKLQkJCQl0X3ZhbCA9IHJl
YWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0RBVEEpOwotCQkJCWlmIChob3N0LT5idWZmZXJf
c2l6ZSA+IGhvc3QtPmJ1ZmZlcl9wb3MpIHsKLQkJCQkJYnVmZmVyW2hvc3QtPmJ1ZmZlcl9wb3Mr
K10gPQotCQkJCQkJCXRfdmFsICYgMHhmZjsKLQkJCQkJYnVmZmVyW2hvc3QtPmJ1ZmZlcl9wb3Mr
K10gPQotCQkJCQkJCSh0X3ZhbCA+PiA4KSAmIDB4ZmY7Ci0JCQkJfQotCQkJfQotCQl9IGVsc2Ug
aWYgKChjbWQtPmRhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCi0JCQkgICAmJiAoaG9zdF9z
dGF0dXMgJiBUSUZNX01NQ1NEX0FFKSkgewotCQkJZm9yIChjbnQgPSAwOyBjbnQgPCBUSUZNX01N
Q1NEX0ZJRk9fU0laRTsgY250KyspIHsKLQkJCQlpZiAoaG9zdC0+YnVmZmVyX3NpemUgPiBob3N0
LT5idWZmZXJfcG9zKSB7Ci0JCQkJCXRfdmFsID0gYnVmZmVyW2hvc3QtPmJ1ZmZlcl9wb3MrK10K
LQkJCQkJCSYgMHgwMGZmOwotCQkJCQl0X3ZhbCB8PSAoKGJ1ZmZlcltob3N0LT5idWZmZXJfcG9z
KytdKQotCQkJCQkJICA8PCA4KSAmIDB4ZmYwMDsKLQkJCQkJd3JpdGVsKHRfdmFsLAotCQkJCQkg
ICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7Ci0JCQkJfQorCQl2YWwgfD0gKGJ1
Zltwb3MrK10gPDwgOCkgJiAweGZmMDA7CisJCXdyaXRlbCh2YWwsIHNvY2stPmFkZHIgKyBTT0NL
X01NQ1NEX0RBVEEpOworCX0KKwlrdW5tYXBfYXRvbWljKGJ1ZiAtIG9mZiwgS01fQklPX1NSQ19J
UlEpOworfQorCitzdGF0aWMgdm9pZCB0aWZtX3NkX3RyYW5zZmVyX2RhdGEoc3RydWN0IHRpZm1f
c2QgKmhvc3QpCit7CisJc3RydWN0IG1tY19kYXRhICpyX2RhdGEgPSBob3N0LT5yZXEtPmNtZC0+
ZGF0YTsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnID0gcl9kYXRhLT5zZzsKKwl1bnNpZ25lZCBp
bnQgb2ZmLCBjbnQsIHRfc2l6ZSA9IFRJRk1fTU1DU0RfRklGT19TSVpFICogMjsKKwl1bnNpZ25l
ZCBpbnQgcF9vZmYsIHBfY250OworCXN0cnVjdCBwYWdlICpwZzsKKworCWlmIChob3N0LT5zZ19w
b3MgPT0gaG9zdC0+c2dfbGVuKQorCQlyZXR1cm47CisJd2hpbGUgKHRfc2l6ZSkgeworCQljbnQg
PSBzZ1tob3N0LT5zZ19wb3NdLmxlbmd0aCAtIGhvc3QtPmJsb2NrX3BvczsKKwkJaWYgKCFjbnQp
IHsKKwkJCWhvc3QtPmJsb2NrX3BvcyA9IDA7CisJCQlob3N0LT5zZ19wb3MrKzsKKwkJCWlmICho
b3N0LT5zZ19wb3MgPT0gaG9zdC0+c2dfbGVuKSB7CisJCQkJaWYgKChyX2RhdGEtPmZsYWdzICYg
TU1DX0RBVEFfV1JJVEUpCisJCQkJICAgICYmIERBVEFfQ0FSUlkpCisJCQkJCXdyaXRlbChob3N0
LT5ib3VuY2VfYnVmX2RhdGFbMF0sCisJCQkJCSAgICAgICBob3N0LT5kZXYtPmFkZHIKKwkJCQkJ
ICAgICAgICsgU09DS19NTUNTRF9EQVRBKTsKKworCQkJCXJldHVybjsKIAkJCX0KKwkJCWNudCA9
IHNnW2hvc3QtPnNnX3Bvc10ubGVuZ3RoOworCQl9CisJCW9mZiA9IHNnW2hvc3QtPnNnX3Bvc10u
b2Zmc2V0ICsgaG9zdC0+YmxvY2tfcG9zOworCisJCXBnID0gbnRoX3BhZ2Uoc2dbaG9zdC0+c2df
cG9zXS5wYWdlLCBvZmYgPj4gUEFHRV9TSElGVCk7CisJCXBfb2ZmID0gb2Zmc2V0X2luX3BhZ2Uo
b2ZmKTsKKwkJcF9jbnQgPSBQQUdFX1NJWkUgLSBwX29mZjsKKwkJcF9jbnQgPSBtaW4ocF9jbnQs
IGNudCk7CisJCXBfY250ID0gbWluKHBfY250LCB0X3NpemUpOworCisJCWlmIChyX2RhdGEtPmZs
YWdzICYgTU1DX0RBVEFfUkVBRCkKKwkJCXRpZm1fc2RfcmVhZF9maWZvKGhvc3QsIHBnLCBwX29m
ZiwgcF9jbnQpOworCQllbHNlIGlmIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCisJ
CQl0aWZtX3NkX3dyaXRlX2ZpZm8oaG9zdCwgcGcsIHBfb2ZmLCBwX2NudCk7CisKKwkJdF9zaXpl
IC09IHBfY250OworCQlob3N0LT5ibG9ja19wb3MgKz0gcF9jbnQ7CisJfQorfQorCitzdGF0aWMg
dm9pZCB0aWZtX3NkX2NvcHlfcGFnZShzdHJ1Y3QgcGFnZSAqZHN0LCB1bnNpZ25lZCBpbnQgZHN0
X29mZiwKKwkJCSAgICAgIHN0cnVjdCBwYWdlICpzcmMsIHVuc2lnbmVkIGludCBzcmNfb2ZmLAor
CQkJICAgICAgdW5zaWduZWQgaW50IGNvdW50KQoreworCXVuc2lnbmVkIGNoYXIgKnNyY19idWYg
PSBrbWFwX2F0b21pYyhzcmMsIEtNX0JJT19TUkNfSVJRKSArIHNyY19vZmY7CisJdW5zaWduZWQg
Y2hhciAqZHN0X2J1ZiA9IGttYXBfYXRvbWljKGRzdCwgS01fQklPX0RTVF9JUlEpICsgZHN0X29m
ZjsKKworCW1lbWNweShkc3RfYnVmLCBzcmNfYnVmLCBjb3VudCk7CisKKwlrdW5tYXBfYXRvbWlj
KGRzdF9idWYgLSBkc3Rfb2ZmLCBLTV9CSU9fRFNUX0lSUSk7CisJa3VubWFwX2F0b21pYyhzcmNf
YnVmIC0gc3JjX29mZiwgS01fQklPX1NSQ19JUlEpOworfQorCitzdGF0aWMgdm9pZCB0aWZtX3Nk
X2JvdW5jZV9ibG9jayhzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwgc3RydWN0IG1tY19kYXRhICpyX2Rh
dGEpCit7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZyA9IHJfZGF0YS0+c2c7CisJdW5zaWduZWQg
aW50IHRfc2l6ZSA9IHJfZGF0YS0+Ymxrc3o7CisJdW5zaWduZWQgaW50IG9mZiwgY250OworCXVu
c2lnbmVkIGludCBwX29mZiwgcF9jbnQ7CisJc3RydWN0IHBhZ2UgKnBnOworCisJZGV2X2RiZygm
aG9zdC0+ZGV2LT5kZXYsICJib3VuY2luZyBibG9ja1xuIik7CisJd2hpbGUgKHRfc2l6ZSkgewor
CQljbnQgPSBzZ1tob3N0LT5zZ19wb3NdLmxlbmd0aCAtIGhvc3QtPmJsb2NrX3BvczsKKwkJaWYg
KCFjbnQpIHsKKwkJCWhvc3QtPmJsb2NrX3BvcyA9IDA7CisJCQlob3N0LT5zZ19wb3MrKzsKKwkJ
CWlmIChob3N0LT5zZ19wb3MgPT0gaG9zdC0+c2dfbGVuKQorCQkJCXJldHVybjsKKwkJCWNudCA9
IHNnW2hvc3QtPnNnX3Bvc10ubGVuZ3RoOwogCQl9CisJCW9mZiA9IHNnW2hvc3QtPnNnX3Bvc10u
b2Zmc2V0ICsgaG9zdC0+YmxvY2tfcG9zOworCisJCXBnID0gbnRoX3BhZ2Uoc2dbaG9zdC0+c2df
cG9zXS5wYWdlLCBvZmYgPj4gUEFHRV9TSElGVCk7CisJCXBfb2ZmID0gb2Zmc2V0X2luX3BhZ2Uo
b2ZmKTsKKwkJcF9jbnQgPSBQQUdFX1NJWkUgLSBwX29mZjsKKwkJcF9jbnQgPSBtaW4ocF9jbnQs
IGNudCk7CisJCXBfY250ID0gbWluKHBfY250LCB0X3NpemUpOworCisJCWlmIChyX2RhdGEtPmZs
YWdzICYgTU1DX0RBVEFfV1JJVEUpCisJCQl0aWZtX3NkX2NvcHlfcGFnZShob3N0LT5ib3VuY2Vf
YnVmLnBhZ2UsCisJCQkJCSAgcl9kYXRhLT5ibGtzeiAtIHRfc2l6ZSwKKwkJCQkJICBwZywgcF9v
ZmYsIHBfY250KTsKKwkJZWxzZSBpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1JFQUQpCisJ
CQl0aWZtX3NkX2NvcHlfcGFnZShwZywgcF9vZmYsIGhvc3QtPmJvdW5jZV9idWYucGFnZSwKKwkJ
CQkJICByX2RhdGEtPmJsa3N6IC0gdF9zaXplLCBwX2NudCk7CisKKwkJdF9zaXplIC09IHBfY250
OworCQlob3N0LT5ibG9ja19wb3MgKz0gcF9jbnQ7CisJfQorfQorCitpbnQgdGlmbV9zZF9zZXRf
ZG1hX2RhdGEoc3RydWN0IHRpZm1fc2QgKmhvc3QsIHN0cnVjdCBtbWNfZGF0YSAqcl9kYXRhKQor
eworCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKKwl1bnNpZ25lZCBpbnQgdF9z
aXplID0gVElGTV9ETUFfVFNJWkUgKiByX2RhdGEtPmJsa3N6OworCXVuc2lnbmVkIGludCBkbWFf
bGVuLCBkbWFfYmxrX2NudCwgZG1hX29mZjsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnID0gTlVM
TDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5z
Z19sZW4pCisJCXJldHVybiAxOworCisJaWYgKGhvc3QtPmNtZF9mbGFncyAmIERBVEFfQ0FSUlkp
IHsKKwkJaG9zdC0+Y21kX2ZsYWdzICY9IH5EQVRBX0NBUlJZOworCQlsb2NhbF9pcnFfc2F2ZShm
bGFncyk7CisJCXRpZm1fc2RfYm91bmNlX2Jsb2NrKGhvc3QsIHJfZGF0YSk7CisJCWxvY2FsX2ly
cV9yZXN0b3JlKGZsYWdzKTsKKwkJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5zZ19sZW4pCisJ
CQlyZXR1cm4gMTsKKwl9CisKKwl3aGlsZSAoMSkgeworCQlkbWFfbGVuID0gc2dfZG1hX2xlbigm
cl9kYXRhLT5zZ1tob3N0LT5zZ19wb3NdKQorCQkJICAtIGhvc3QtPmJsb2NrX3BvczsKKwkJaWYg
KGRtYV9sZW4pCisJCQlicmVhazsKKwkJaG9zdC0+YmxvY2tfcG9zID0gMDsKKwkJaG9zdC0+c2df
cG9zKys7CisJCWlmIChob3N0LT5zZ19wb3MgPT0gaG9zdC0+c2dfbGVuKQorCQkJcmV0dXJuIDE7
CisJfQorCisJaWYgKGRtYV9sZW4gPCB0X3NpemUpIHsKKwkJZG1hX2Jsa19jbnQgPSBkbWFfbGVu
IC8gcl9kYXRhLT5ibGtzejsKKwkJZG1hX29mZiA9IGhvc3QtPmJsb2NrX3BvczsKKwkJaG9zdC0+
YmxvY2tfcG9zICs9IGRtYV9ibGtfY250ICogcl9kYXRhLT5ibGtzejsKKwl9IGVsc2UgeworCQlk
bWFfYmxrX2NudCA9IFRJRk1fRE1BX1RTSVpFOworCQlkbWFfb2ZmID0gaG9zdC0+YmxvY2tfcG9z
OworCQlob3N0LT5ibG9ja19wb3MgKz0gdF9zaXplOwogCX0KKworCWlmIChkbWFfYmxrX2NudCkK
KwkJc2cgPSAmcl9kYXRhLT5zZ1tob3N0LT5zZ19wb3NdOworCWVsc2UgaWYgKGRtYV9sZW4pIHsK
KwkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgeworCQkJbG9jYWxfaXJxX3Nh
dmUoZmxhZ3MpOworCQkJdGlmbV9zZF9ib3VuY2VfYmxvY2soaG9zdCwgcl9kYXRhKTsKKwkJCWxv
Y2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwkJfSBlbHNlCisJCQlob3N0LT5jbWRfZmxhZ3MgfD0g
REFUQV9DQVJSWTsKKworCQlzZyA9ICZob3N0LT5ib3VuY2VfYnVmOworCQlkbWFfb2ZmID0gMDsK
KwkJZG1hX2Jsa19jbnQgPSAxOworCX0gZWxzZQorCQlyZXR1cm4gMTsKKworCWRldl9kYmcoJnNv
Y2stPmRldiwgInNldHRpbmcgZG1hIGZvciAlZCBibG9ja3NcbiIsIGRtYV9ibGtfY250KTsKKwl3
cml0ZWwoc2dfZG1hX2FkZHJlc3Moc2cpICsgZG1hX29mZiwgc29jay0+YWRkciArIFNPQ0tfRE1B
X0FERFJFU1MpOworCWlmIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCisJCXdyaXRl
bCgoZG1hX2Jsa19jbnQgPDwgOCkgfCBUSUZNX0RNQV9UWCB8IFRJRk1fRE1BX0VOLAorCQkgICAg
ICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0NPTlRST0wpOworCWVsc2UKKwkJd3JpdGVsKChkbWFf
YmxrX2NudCA8PCA4KSB8IFRJRk1fRE1BX0VOLAorCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tf
RE1BX0NPTlRST0wpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIwNyw3ICszNzQsNyBAQCBzdGF0
aWMgdm9pZCB0aWZtX3NkX2V4ZWMoc3RydWN0IHRpZm1fc2QgCiB7CiAJc3RydWN0IHRpZm1fZGV2
ICpzb2NrID0gaG9zdC0+ZGV2OwogCXVuc2lnbmVkIGludCBjbWRfbWFzayA9IHRpZm1fc2Rfb3Bf
ZmxhZ3MoY21kKSB8Ci0JCQkJKGhvc3QtPmZsYWdzICYgT1BFTkRSQUlOKTsKKwkJCQkoaG9zdC0+
b3Blbl9kcmFpbiA/IFRJRk1fTU1DU0RfT0RUTyA6IDApOwogCiAJaWYgKGNtZC0+ZGF0YSAmJiAo
Y21kLT5kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1JFQUQpKQogCQljbWRfbWFzayB8PSBUSUZNX01N
Q1NEX1JFQUQ7CkBAIC0yMzIsMTkxICszOTksMTk0IEBAIHN0YXRpYyB2b2lkIHRpZm1fc2RfZmV0
Y2hfcmVzcChzdHJ1Y3QgbW0KIAkJICAgICAgIHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1D
U0RfUkVTUE9OU0UgKyAweDAwKTsKIH0KIAotc3RhdGljIHZvaWQgdGlmbV9zZF9wcm9jZXNzX2Nt
ZChzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssIHN0cnVjdCB0aWZtX3NkICpob3N0LAotCQkJCSAgICAg
ICB1bnNpZ25lZCBpbnQgaG9zdF9zdGF0dXMpCitzdGF0aWMgdm9pZCB0aWZtX3NkX2NoZWNrX3N0
YXR1cyhzdHJ1Y3QgdGlmbV9zZCAqaG9zdCkKIHsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBo
b3N0LT5kZXY7CiAJc3RydWN0IG1tY19jb21tYW5kICpjbWQgPSBob3N0LT5yZXEtPmNtZDsKIAot
Y2hhbmdlX3N0YXRlOgotCXN3aXRjaCAoaG9zdC0+c3RhdGUpIHsKLQljYXNlIElETEU6CisJaWYg
KGNtZC0+ZXJyb3IgIT0gTU1DX0VSUl9OT05FKQorCQlnb3RvIGZpbmlzaF9yZXF1ZXN0OworCisJ
aWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgQ01EX1JFQURZKSkKIAkJcmV0dXJuOwotCWNhc2UgQ01E
OgotCQlpZiAoaG9zdF9zdGF0dXMgJiAoVElGTV9NTUNTRF9FT0MgfCBUSUZNX01NQ1NEX0NFUlIp
KSB7Ci0JCQl0aWZtX3NkX2ZldGNoX3Jlc3AoY21kLCBzb2NrKTsKLQkJCWlmIChjbWQtPmRhdGEp
IHsKLQkJCQlob3N0LT5zdGF0ZSA9IEJSUzsKLQkJCX0gZWxzZSB7Ci0JCQkJaG9zdC0+c3RhdGUg
PSBSRUFEWTsKLQkJCX0KLQkJCWdvdG8gY2hhbmdlX3N0YXRlOwotCQl9Ci0JCWJyZWFrOwotCWNh
c2UgQlJTOgotCQlpZiAodGlmbV9zZF90cmFuc2Zlcl9kYXRhKHNvY2ssIGhvc3QsIGhvc3Rfc3Rh
dHVzKSkgewotCQkJaWYgKGNtZC0+ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgewotCQkJ
CWhvc3QtPnN0YXRlID0gQ0FSRDsKLQkJCX0gZWxzZSB7Ci0JCQkJaWYgKG5vX2RtYSkgewotCQkJ
CQlpZiAoaG9zdC0+cmVxLT5zdG9wKSB7Ci0JCQkJCQl0aWZtX3NkX2V4ZWMoaG9zdCwgaG9zdC0+
cmVxLT5zdG9wKTsKLQkJCQkJCWhvc3QtPnN0YXRlID0gU0NNRDsKLQkJCQkJfSBlbHNlIHsKLQkJ
CQkJCWhvc3QtPnN0YXRlID0gUkVBRFk7Ci0JCQkJCX0KLQkJCQl9IGVsc2UgewotCQkJCQlob3N0
LT5zdGF0ZSA9IEZJRk87Ci0JCQkJfQotCQkJfQotCQkJZ290byBjaGFuZ2Vfc3RhdGU7Ci0JCX0K
LQkJYnJlYWs7Ci0JY2FzZSBTQ01EOgotCQlpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0VP
QykgewotCQkJdGlmbV9zZF9mZXRjaF9yZXNwKGhvc3QtPnJlcS0+c3RvcCwgc29jayk7Ci0JCQlo
b3N0LT5zdGF0ZSA9IFJFQURZOwotCQkJZ290byBjaGFuZ2Vfc3RhdGU7CisKKwlpZiAoY21kLT5k
YXRhKSB7CisJCWlmIChjbWQtPmRhdGEtPmVycm9yICE9IE1NQ19FUlJfTk9ORSkgeworCQkJaWYg
KChob3N0LT5jbWRfZmxhZ3MgJiBTQ01EX0FDVElWRSkKKwkJCSAgICAmJiAhKGhvc3QtPmNtZF9m
bGFncyAmIFNDTURfUkVBRFkpKQorCQkJCXJldHVybjsKKworCQkJZ290byBmaW5pc2hfcmVxdWVz
dDsKIAkJfQotCQlicmVhazsKLQljYXNlIENBUkQ6Ci0JCWRldl9kYmcoJnNvY2stPmRldiwgIndh
aXRpbmcgZm9yIENBUkQsIGhhdmUgJXpkIGJsb2Nrc1xuIiwKLQkJCWhvc3QtPndyaXR0ZW5fYmxv
Y2tzKTsKLQkJaWYgKCEoaG9zdC0+ZmxhZ3MgJiBDQVJEX0JVU1kpCi0JCSAgICAmJiAoaG9zdC0+
d3JpdHRlbl9ibG9ja3MgPT0gY21kLT5kYXRhLT5ibG9ja3MpKSB7Ci0JCQlpZiAobm9fZG1hKSB7
Ci0JCQkJaWYgKGhvc3QtPnJlcS0+c3RvcCkgeworCisJCWlmICghKGhvc3QtPmNtZF9mbGFncyAm
IEJSU19SRUFEWSkpCisJCQlyZXR1cm47CisKKwkJaWYgKCEoaG9zdC0+bm9fZG1hIHx8IChob3N0
LT5jbWRfZmxhZ3MgJiBGSUZPX1JFQURZKSkpCisJCQlyZXR1cm47CisKKwkJaWYgKGNtZC0+ZGF0
YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgeworCQkJaWYgKGhvc3QtPnJlcS0+c3RvcCkgewor
CQkJCWlmICghKGhvc3QtPmNtZF9mbGFncyAmIFNDTURfQUNUSVZFKSkgeworCQkJCQlob3N0LT5j
bWRfZmxhZ3MgfD0gU0NNRF9BQ1RJVkU7CisJCQkJCXdyaXRlbChUSUZNX01NQ1NEX0VPRkIKKwkJ
CQkJICAgICAgIHwgcmVhZGwoc29jay0+YWRkcgorCQkJCQkJICAgICAgICsgU09DS19NTUNTRF9J
TlRfRU5BQkxFKSwKKwkJCQkJICAgICAgIHNvY2stPmFkZHIKKwkJCQkJICAgICAgICsgU09DS19N
TUNTRF9JTlRfRU5BQkxFKTsKIAkJCQkJdGlmbV9zZF9leGVjKGhvc3QsIGhvc3QtPnJlcS0+c3Rv
cCk7Ci0JCQkJCWhvc3QtPnN0YXRlID0gU0NNRDsKKwkJCQkJcmV0dXJuOwogCQkJCX0gZWxzZSB7
Ci0JCQkJCWhvc3QtPnN0YXRlID0gUkVBRFk7CisJCQkJCWlmICghKGhvc3QtPmNtZF9mbGFncyAm
IFNDTURfUkVBRFkpCisJCQkJCSAgICB8fCAoaG9zdC0+Y21kX2ZsYWdzICYgQ0FSRF9CVVNZKSkK
KwkJCQkJCXJldHVybjsKKwkJCQkJd3JpdGVsKCh+VElGTV9NTUNTRF9FT0ZCKQorCQkJCQkgICAg
ICAgJiByZWFkbChzb2NrLT5hZGRyCisJCQkJCQkgICAgICAgKyBTT0NLX01NQ1NEX0lOVF9FTkFC
TEUpLAorCQkJCQkgICAgICAgc29jay0+YWRkcgorCQkJCQkgICAgICAgKyBTT0NLX01NQ1NEX0lO
VF9FTkFCTEUpOwogCQkJCX0KIAkJCX0gZWxzZSB7Ci0JCQkJaG9zdC0+c3RhdGUgPSBGSUZPOwor
CQkJCWlmIChob3N0LT5jbWRfZmxhZ3MgJiBDQVJEX0JVU1kpCisJCQkJCXJldHVybjsKKwkJCQl3
cml0ZWwoKH5USUZNX01NQ1NEX0VPRkIpCisJCQkJICAgICAgICYgcmVhZGwoc29jay0+YWRkcgor
CQkJCQkgICAgICAgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpLAorCQkJCSAgICAgICBzb2NrLT5h
ZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKTsKIAkJCX0KLQkJCWdvdG8gY2hhbmdlX3N0YXRl
OwotCQl9Ci0JCWJyZWFrOwotCWNhc2UgRklGTzoKLQkJaWYgKGhvc3QtPmZsYWdzICYgRklGT19S
RFkpIHsKLQkJCWhvc3QtPmZsYWdzICY9IH5GSUZPX1JEWTsKKwkJfSBlbHNlIHsKIAkJCWlmICho
b3N0LT5yZXEtPnN0b3ApIHsKLQkJCQl0aWZtX3NkX2V4ZWMoaG9zdCwgaG9zdC0+cmVxLT5zdG9w
KTsKLQkJCQlob3N0LT5zdGF0ZSA9IFNDTUQ7Ci0JCQl9IGVsc2UgewotCQkJCWhvc3QtPnN0YXRl
ID0gUkVBRFk7CisJCQkJaWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9BQ1RJVkUpKSB7CisJ
CQkJCWhvc3QtPmNtZF9mbGFncyB8PSBTQ01EX0FDVElWRTsKKwkJCQkJdGlmbV9zZF9leGVjKGhv
c3QsIGhvc3QtPnJlcS0+c3RvcCk7CisJCQkJCXJldHVybjsKKwkJCQl9IGVsc2UgeworCQkJCQlp
ZiAoIShob3N0LT5jbWRfZmxhZ3MgJiBTQ01EX1JFQURZKSkKKwkJCQkJCXJldHVybjsKKwkJCQl9
CiAJCQl9Ci0JCQlnb3RvIGNoYW5nZV9zdGF0ZTsKIAkJfQotCQlicmVhazsKLQljYXNlIFJFQURZ
OgotCQl0YXNrbGV0X3NjaGVkdWxlKCZob3N0LT5maW5pc2hfdGFza2xldCk7Ci0JCXJldHVybjsK
IAl9Ci0KK2ZpbmlzaF9yZXF1ZXN0OgorCXRhc2tsZXRfc2NoZWR1bGUoJmhvc3QtPmZpbmlzaF90
YXNrbGV0KTsKIH0KIAogLyogQ2FsbGVkIGZyb20gaW50ZXJydXB0IGhhbmRsZXIgKi8KLXN0YXRp
YyB2b2lkIHRpZm1fc2Rfc2lnbmFsX2lycShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssCi0JCQkgICAg
ICAgdW5zaWduZWQgaW50IHNvY2tfaXJxX3N0YXR1cykKK3N0YXRpYyB2b2lkIHRpZm1fc2RfZGF0
YV9ldmVudChzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spCiB7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3Q7
Ci0JdW5zaWduZWQgaW50IGhvc3Rfc3RhdHVzID0gMCwgZmlmb19zdGF0dXMgPSAwOwotCWludCBl
cnJvcl9jb2RlID0gMDsKKwl1bnNpZ25lZCBpbnQgZmlmb19zdGF0dXMgPSAwOworCXN0cnVjdCBt
bWNfZGF0YSAqcl9kYXRhID0gTlVMTDsKIAogCXNwaW5fbG9jaygmc29jay0+bG9jayk7CiAJaG9z
dCA9IG1tY19wcml2KChzdHJ1Y3QgbW1jX2hvc3QqKXRpZm1fZ2V0X2RydmRhdGEoc29jaykpOwor
CWZpZm9fc3RhdHVzID0gcmVhZGwoc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fU1RBVFVTKTsK
KwlkZXZfZGJnKCZzb2NrLT5kZXYsICJkYXRhIGV2ZW50OiBmaWZvX3N0YXR1cyAleCwgZmxhZ3Mg
JXhcbiIsCisJCWZpZm9fc3RhdHVzLCBob3N0LT5jbWRfZmxhZ3MpOwogCi0JaWYgKHNvY2tfaXJx
X3N0YXR1cyAmIEZJRk9fRVZFTlQpIHsKLQkJZmlmb19zdGF0dXMgPSByZWFkbChzb2NrLT5hZGRy
ICsgU09DS19ETUFfRklGT19TVEFUVVMpOwotCQl3cml0ZWwoZmlmb19zdGF0dXMsIHNvY2stPmFk
ZHIgKyBTT0NLX0RNQV9GSUZPX1NUQVRVUyk7CisJaWYgKGhvc3QtPnJlcSkgeworCQlyX2RhdGEg
PSBob3N0LT5yZXEtPmNtZC0+ZGF0YTsKIAotCQlob3N0LT5mbGFncyB8PSBmaWZvX3N0YXR1cyAm
IEZJRk9fUkRZOworCQlpZiAocl9kYXRhICYmIChmaWZvX3N0YXR1cyAmIFRJRk1fRklGT19SRUFE
WSkpIHsKKwkJCWlmICh0aWZtX3NkX3NldF9kbWFfZGF0YShob3N0LCByX2RhdGEpKSB7CisJCQkJ
aG9zdC0+Y21kX2ZsYWdzIHw9IEZJRk9fUkVBRFk7CisJCQkJdGlmbV9zZF9jaGVja19zdGF0dXMo
aG9zdCk7CisJCQl9CisJCX0KIAl9CiAKLQlpZiAoc29ja19pcnFfc3RhdHVzICYgQ0FSRF9FVkVO
VCkgewotCQlob3N0X3N0YXR1cyA9IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1NUQVRV
Uyk7Ci0JCXdyaXRlbChob3N0X3N0YXR1cywgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfU1RBVFVT
KTsKKwl3cml0ZWwoZmlmb19zdGF0dXMsIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX1NUQVRV
Uyk7CisJc3Bpbl91bmxvY2soJnNvY2stPmxvY2spOworfQogCi0JCWlmICghaG9zdC0+cmVxKQot
CQkJZ290byBkb25lOworLyogQ2FsbGVkIGZyb20gaW50ZXJydXB0IGhhbmRsZXIgKi8KK3N0YXRp
YyB2b2lkIHRpZm1fc2RfZXZlbnQoc3RydWN0IHRpZm1fZGV2ICpzb2NrKQoreworCXN0cnVjdCB0
aWZtX3NkICpob3N0OworCXVuc2lnbmVkIGludCBob3N0X3N0YXR1cyA9IDA7CisJaW50IGNtZF9l
cnJvciA9IE1NQ19FUlJfTk9ORTsKKwlzdHJ1Y3QgbW1jX2NvbW1hbmQgKmNtZCA9IE5VTEw7CisJ
dW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9jaygmc29jay0+bG9jayk7CisJaG9zdCA9
IG1tY19wcml2KChzdHJ1Y3QgbW1jX2hvc3QqKXRpZm1fZ2V0X2RydmRhdGEoc29jaykpOworCWhv
c3Rfc3RhdHVzID0gcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfU1RBVFVTKTsKKwlkZXZf
ZGJnKCZzb2NrLT5kZXYsICJob3N0IGV2ZW50OiBob3N0X3N0YXR1cyAleCwgZmxhZ3MgJXhcbiIs
CisJCWhvc3Rfc3RhdHVzLCBob3N0LT5jbWRfZmxhZ3MpOworCisJaWYgKGhvc3QtPnJlcSkgewor
CQljbWQgPSBob3N0LT5yZXEtPmNtZDsKIAogCQlpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NE
X0VSUk1BU0spIHsKLQkJCWlmIChob3N0X3N0YXR1cyAmIChUSUZNX01NQ1NEX0NUTyB8IFRJRk1f
TU1DU0RfRFRPKSkKLQkJCQllcnJvcl9jb2RlID0gTU1DX0VSUl9USU1FT1VUOwotCQkJZWxzZSBp
ZiAoaG9zdF9zdGF0dXMKLQkJCQkgJiAoVElGTV9NTUNTRF9DQ1JDIHwgVElGTV9NTUNTRF9EQ1JD
KSkKLQkJCQllcnJvcl9jb2RlID0gTU1DX0VSUl9CQURDUkM7CisJCQl3cml0ZWwoaG9zdF9zdGF0
dXMgJiBUSUZNX01NQ1NEX0VSUk1BU0ssCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1D
U0RfU1RBVFVTKTsKKwkJCWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQ1RPKQorCQkJCWNt
ZF9lcnJvciA9IE1NQ19FUlJfVElNRU9VVDsKKwkJCWVsc2UgaWYgKGhvc3Rfc3RhdHVzICYgVElG
TV9NTUNTRF9DQ1JDKQorCQkJCWNtZF9lcnJvciA9IE1NQ19FUlJfQkFEQ1JDOworCisJCQlpZiAo
Y21kLT5kYXRhKSB7CisJCQkJaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9EVE8pCisJCQkJ
CWNtZC0+ZGF0YS0+ZXJyb3IgPSBNTUNfRVJSX1RJTUVPVVQ7CisJCQkJZWxzZSBpZiAoaG9zdF9z
dGF0dXMgJiBUSUZNX01NQ1NEX0RDUkMpCisJCQkJCWNtZC0+ZGF0YS0+ZXJyb3IgPSBNTUNfRVJS
X0JBRENSQzsKKwkJCX0KIAogCQkJd3JpdGVsKFRJRk1fRklGT19JTlRfU0VUQUxMLAogCQkJICAg
ICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9FTkFCTEVfQ0xFQVIpOwogCQkJd3Jp
dGVsKFRJRk1fRE1BX1JFU0VULCBzb2NrLT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7CiAKIAkJ
CWlmIChob3N0LT5yZXEtPnN0b3ApIHsKLQkJCQlpZiAoaG9zdC0+c3RhdGUgPT0gU0NNRCkgewot
CQkJCQlob3N0LT5yZXEtPnN0b3AtPmVycm9yID0gZXJyb3JfY29kZTsKLQkJCQl9IGVsc2UgaWYg
KGhvc3QtPnN0YXRlID09IEJSUwotCQkJCQkgICB8fCBob3N0LT5zdGF0ZSA9PSBDQVJECi0JCQkJ
CSAgIHx8IGhvc3QtPnN0YXRlID09IEZJRk8pIHsKLQkJCQkJaG9zdC0+cmVxLT5jbWQtPmVycm9y
ID0gZXJyb3JfY29kZTsKKwkJCQlpZiAoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9BQ1RJVkUpIHsK
KwkJCQkJaG9zdC0+cmVxLT5zdG9wLT5lcnJvciA9IGNtZF9lcnJvcjsKKwkJCQkJaG9zdC0+Y21k
X2ZsYWdzIHw9IFNDTURfUkVBRFk7CisJCQkJfSBlbHNlIHsKKwkJCQkJY21kLT5lcnJvciA9IGNt
ZF9lcnJvcjsKKwkJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IFNDTURfQUNUSVZFOwogCQkJCQl0aWZt
X3NkX2V4ZWMoaG9zdCwgaG9zdC0+cmVxLT5zdG9wKTsKLQkJCQkJaG9zdC0+c3RhdGUgPSBTQ01E
OwogCQkJCQlnb3RvIGRvbmU7Ci0JCQkJfSBlbHNlIHsKLQkJCQkJaG9zdC0+cmVxLT5jbWQtPmVy
cm9yID0gZXJyb3JfY29kZTsKIAkJCQl9Ci0JCQl9IGVsc2UgewotCQkJCWhvc3QtPnJlcS0+Y21k
LT5lcnJvciA9IGVycm9yX2NvZGU7CisJCQl9IGVsc2UKKwkJCQljbWQtPmVycm9yID0gY21kX2Vy
cm9yOworCQl9IGVsc2UgeworCQkJaWYgKGhvc3Rfc3RhdHVzICYgKFRJRk1fTU1DU0RfRU9DIHwg
VElGTV9NTUNTRF9DRVJSKSkgeworCQkJCWlmICghKGhvc3QtPmNtZF9mbGFncyAmIENNRF9SRUFE
WSkpIHsKKwkJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IENNRF9SRUFEWTsKKwkJCQkJdGlmbV9zZF9m
ZXRjaF9yZXNwKGNtZCwgc29jayk7CisJCQkJfSBlbHNlIGlmIChob3N0LT5jbWRfZmxhZ3MgJiBT
Q01EX0FDVElWRSkgeworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gU0NNRF9SRUFEWTsKKwkJCQkJ
dGlmbV9zZF9mZXRjaF9yZXNwKGhvc3QtPnJlcS0+c3RvcCwKKwkJCQkJCQkgICBzb2NrKTsKKwkJ
CQl9CiAJCQl9Ci0JCQlob3N0LT5zdGF0ZSA9IFJFQURZOworCQkJaWYgKGhvc3Rfc3RhdHVzICYg
VElGTV9NTUNTRF9CUlMpCisJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IEJSU19SRUFEWTsKIAkJfQog
Ci0JCWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQ0IpCi0JCQlob3N0LT5mbGFncyB8PSBD
QVJEX0JVU1k7Ci0JCWlmICgoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0VPRkIpCi0JCSAgICAm
JiAoaG9zdC0+ZmxhZ3MgJiBDQVJEX0JVU1kpKSB7Ci0JCQlob3N0LT53cml0dGVuX2Jsb2Nrcysr
OwotCQkJaG9zdC0+ZmxhZ3MgJj0gfkNBUkRfQlVTWTsKKwkJaWYgKGhvc3QtPm5vX2RtYSAmJiBj
bWQtPmRhdGEpIHsKKwkJCWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQUUpCisJCQkJd3Jp
dGVsKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9BRSwKKwkJCQkgICAgICAgc29jay0+YWRkciAr
IFNPQ0tfTU1DU0RfU1RBVFVTKTsKKworCQkJaWYgKGhvc3Rfc3RhdHVzICYgKFRJRk1fTU1DU0Rf
QUUgfCBUSUZNX01NQ1NEX0FGCisJCQkJCSAgIHwgVElGTV9NTUNTRF9CUlMpKSB7CisJCQkJbG9j
YWxfaXJxX3NhdmUoZmxhZ3MpOworCQkJCXRpZm1fc2RfdHJhbnNmZXJfZGF0YShob3N0KTsKKwkJ
CQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJCQkJaG9zdF9zdGF0dXMgJj0gflRJRk1fTU1D
U0RfQUU7CisJCQl9CiAJCX0KLSAgICAgICAgfQotCi0JaWYgKGhvc3QtPnJlcSkKLQkJdGlmbV9z
ZF9wcm9jZXNzX2NtZChzb2NrLCBob3N0LCBob3N0X3N0YXR1cyk7Ci1kb25lOgotCWRldl9kYmco
JnNvY2stPmRldiwgImhvc3Rfc3RhdHVzICV4LCBmaWZvX3N0YXR1cyAleFxuIiwKLQkJaG9zdF9z
dGF0dXMsIGZpZm9fc3RhdHVzKTsKLQlzcGluX3VubG9jaygmc29jay0+bG9jayk7Ci19Ci0KLXN0
YXRpYyB2b2lkIHRpZm1fc2RfcHJlcGFyZV9kYXRhKHN0cnVjdCB0aWZtX3NkICpob3N0LCBzdHJ1
Y3QgbW1jX2NvbW1hbmQgKmNtZCkKLXsKLQlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5k
ZXY7Ci0JdW5zaWduZWQgaW50IGRlc3RfY250OwotCi0JLyogRE1BIHN0eWxlIElPICovCi0JZGV2
X2RiZygmc29jay0+ZGV2LCAic2V0dGluZyBkbWEgZm9yICVkIGJsb2Nrc1xuIiwKLQkJY21kLT5k
YXRhLT5ibG9ja3MpOwotCXdyaXRlbChUSUZNX0ZJRk9fSU5UX1NFVEFMTCwKLQkgICAgICAgc29j
ay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VOQUJMRV9DTEVBUik7Ci0Jd3JpdGVsKGlsb2cy
KGNtZC0+ZGF0YS0+Ymxrc3opIC0gMiwKLQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRklGT19Q
QUdFX1NJWkUpOwotCXdyaXRlbChUSUZNX0ZJRk9fRU5BQkxFLCBzb2NrLT5hZGRyICsgU09DS19G
SUZPX0NPTlRST0wpOwotCXdyaXRlbChUSUZNX0ZJRk9fSU5UTUFTSywgc29jay0+YWRkciArIFNP
Q0tfRE1BX0ZJRk9fSU5UX0VOQUJMRV9TRVQpOwotCi0JZGVzdF9jbnQgPSAoY21kLT5kYXRhLT5i
bG9ja3MpIDw8IDg7CiAKLQl3cml0ZWwoc2dfZG1hX2FkZHJlc3MoY21kLT5kYXRhLT5zZyksIHNv
Y2stPmFkZHIgKyBTT0NLX0RNQV9BRERSRVNTKTsKKwkJaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9N
TUNTRF9FT0ZCKQorCQkJaG9zdC0+Y21kX2ZsYWdzICY9IH5DQVJEX0JVU1k7CisJCWVsc2UgaWYg
KGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9DQikKKwkJCWhvc3QtPmNtZF9mbGFncyB8PSBDQVJE
X0JVU1k7CiAKLQl3cml0ZWwoY21kLT5kYXRhLT5ibG9ja3MgLSAxLCBzb2NrLT5hZGRyICsgU09D
S19NTUNTRF9OVU1fQkxPQ0tTKTsKLQl3cml0ZWwoY21kLT5kYXRhLT5ibGtzeiAtIDEsIHNvY2st
PmFkZHIgKyBTT0NLX01NQ1NEX0JMT0NLX0xFTik7Ci0KLQlpZiAoY21kLT5kYXRhLT5mbGFncyAm
IE1NQ19EQVRBX1dSSVRFKSB7Ci0JCXdyaXRlbChUSUZNX01NQ1NEX1RYREUsIHNvY2stPmFkZHIg
KyBTT0NLX01NQ1NEX0JVRkZFUl9DT05GSUcpOwotCQl3cml0ZWwoZGVzdF9jbnQgfCBUSUZNX0RN
QV9UWCB8IFRJRk1fRE1BX0VOLAotCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0NPTlRS
T0wpOwotCX0gZWxzZSB7Ci0JCXdyaXRlbChUSUZNX01NQ1NEX1JYREUsIHNvY2stPmFkZHIgKyBT
T0NLX01NQ1NEX0JVRkZFUl9DT05GSUcpOwotCQl3cml0ZWwoZGVzdF9jbnQgfCBUSUZNX0RNQV9F
Tiwgc29jay0+YWRkciArIFNPQ0tfRE1BX0NPTlRST0wpOworCQl0aWZtX3NkX2NoZWNrX3N0YXR1
cyhob3N0KTsKIAl9Citkb25lOgorCXdyaXRlbChob3N0X3N0YXR1cywgc29jay0+YWRkciArIFNP
Q0tfTU1DU0RfU1RBVFVTKTsKKwlzcGluX3VubG9jaygmc29jay0+bG9jayk7CiB9CiAKIHN0YXRp
YyB2b2lkIHRpZm1fc2Rfc2V0X2RhdGFfdGltZW91dChzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwKQEAg
LTQ1MiwxNDYgKzYyMiwxMDAgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9yZXF1ZXN0KHN0cnVjdCBt
bWNfaAogCXN0cnVjdCB0aWZtX3NkICpob3N0ID0gbW1jX3ByaXYobW1jKTsKIAlzdHJ1Y3QgdGlm
bV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgc2df
Y291bnQgPSAwOwogCXN0cnVjdCBtbWNfZGF0YSAqcl9kYXRhID0gbXJxLT5jbWQtPmRhdGE7CiAK
IAlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCWlmIChob3N0LT5mbGFn
cyAmIEVKRUNUKSB7CisJaWYgKGhvc3QtPmVqZWN0KSB7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3Rv
cmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIAkJZ290byBlcnJfb3V0OwogCX0KIAogCWlmIChob3N0
LT5yZXEpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIERSSVZFUl9OQU1FICI6IHVuZmluaXNoZWQgcmVx
dWVzdCBkZXRlY3RlZFxuIik7CisJCXByaW50ayhLRVJOX0VSUiAiJXMgOiB1bmZpbmlzaGVkIHJl
cXVlc3QgZGV0ZWN0ZWRcbiIsCisJCSAgICAgICBzb2NrLT5kZXYuYnVzX2lkKTsKIAkJc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwogCQlnb3RvIGVycl9vdXQ7CiAJ
fQogCisJaG9zdC0+Y21kX2ZsYWdzID0gMDsKKwlob3N0LT5ibG9ja19wb3MgPSAwOworCWhvc3Qt
PnNnX3BvcyA9IDA7CisKIAlpZiAocl9kYXRhKSB7CiAJCXRpZm1fc2Rfc2V0X2RhdGFfdGltZW91
dChob3N0LCByX2RhdGEpOwogCi0JCXNnX2NvdW50ID0gdGlmbV9tYXBfc2coc29jaywgcl9kYXRh
LT5zZywgcl9kYXRhLT5zZ19sZW4sCi0JCQkJICAgICAgIG1ycS0+Y21kLT5mbGFncyAmIE1NQ19E
QVRBX1dSSVRFCi0JCQkJICAgICAgID8gUENJX0RNQV9UT0RFVklDRSA6IFBDSV9ETUFfRlJPTURF
VklDRSk7Ci0JCWlmIChzZ19jb3VudCAhPSAxKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgRFJJVkVS
X05BTUUKLQkJCQkiOiBzY2F0dGVybGlzdCBtYXAgZmFpbGVkXG4iKTsKLQkJCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQkJCWdvdG8gZXJyX291dDsKLQkJfQot
Ci0JCWhvc3QtPndyaXR0ZW5fYmxvY2tzID0gMDsKLQkJaG9zdC0+ZmxhZ3MgJj0gfkNBUkRfQlVT
WTsKLQkJdGlmbV9zZF9wcmVwYXJlX2RhdGEoaG9zdCwgbXJxLT5jbWQpOwotCX0KLQotCWhvc3Qt
PnJlcSA9IG1ycTsKLQltb2RfdGltZXIoJmhvc3QtPnRpbWVyLCBqaWZmaWVzICsgaG9zdC0+dGlt
ZW91dF9qaWZmaWVzKTsKLQlob3N0LT5zdGF0ZSA9IENNRDsKLQl3cml0ZWwoVElGTV9DVFJMX0xF
RCB8IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpLAotCSAgICAgICBzb2NrLT5hZGRy
ICsgU09DS19DT05UUk9MKTsKLQl0aWZtX3NkX2V4ZWMoaG9zdCwgbXJxLT5jbWQpOwotCXNwaW5f
dW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm47Ci0KLWVycl9v
dXQ6Ci0JaWYgKHNnX2NvdW50ID4gMCkKLQkJdGlmbV91bm1hcF9zZyhzb2NrLCByX2RhdGEtPnNn
LCByX2RhdGEtPnNnX2xlbiwKLQkJCSAgICAgIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJ
VEUpCi0JCQkgICAgICA/IFBDSV9ETUFfVE9ERVZJQ0UgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpOwot
Ci0JbXJxLT5jbWQtPmVycm9yID0gTU1DX0VSUl9USU1FT1VUOwotCW1tY19yZXF1ZXN0X2RvbmUo
bW1jLCBtcnEpOwotfQotCi1zdGF0aWMgdm9pZCB0aWZtX3NkX2VuZF9jbWQodW5zaWduZWQgbG9u
ZyBkYXRhKQotewotCXN0cnVjdCB0aWZtX3NkICpob3N0ID0gKHN0cnVjdCB0aWZtX3NkKilkYXRh
OwotCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKLQlzdHJ1Y3QgbW1jX2hvc3Qg
Km1tYyA9IHRpZm1fZ2V0X2RydmRhdGEoc29jayk7Ci0Jc3RydWN0IG1tY19yZXF1ZXN0ICptcnE7
Ci0Jc3RydWN0IG1tY19kYXRhICpyX2RhdGEgPSBOVUxMOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7
Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCi0JZGVsX3RpbWVy
KCZob3N0LT50aW1lcik7Ci0JbXJxID0gaG9zdC0+cmVxOwotCWhvc3QtPnJlcSA9IE5VTEw7Ci0J
aG9zdC0+c3RhdGUgPSBJRExFOwotCi0JaWYgKCFtcnEpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIERS
SVZFUl9OQU1FICI6IG5vIHJlcXVlc3QgdG8gY29tcGxldGU/XG4iKTsKLQkJc3Bpbl91bmxvY2tf
aXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm47Ci0JfQorCQlpZiAoKHJf
ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgJiYgIW1ycS0+c3RvcCkKKwkJCSB3cml0ZWwo
VElGTV9NTUNTRF9FT0ZCCisJCQkJfCByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRf
RU5BQkxFKSwKKwkJCQlzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKTsKKworCQlp
ZiAoaG9zdC0+bm9fZG1hKSB7CisJCQl3cml0ZWwoVElGTV9NTUNTRF9CVUZJTlQKKwkJCSAgICAg
ICB8IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpLAorCQkJICAgICAg
IHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOworCQkJd3JpdGVsKCgoVElGTV9N
TUNTRF9GSUZPX1NJWkUgLSAxKSA8PCA4KQorCQkJICAgICAgIHwgKFRJRk1fTU1DU0RfRklGT19T
SVpFIC0gMSksCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQlVGRkVSX0NPTkZJ
Ryk7CiAKLQlyX2RhdGEgPSBtcnEtPmNtZC0+ZGF0YTsKLQlpZiAocl9kYXRhKSB7Ci0JCWlmIChy
X2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpIHsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVk
ID0gaG9zdC0+d3JpdHRlbl9ibG9ja3MKLQkJCQkJICAgICAgICogcl9kYXRhLT5ibGtzejsKKwkJ
CWhvc3QtPnNnX2xlbiA9IHJfZGF0YS0+c2dfbGVuOwogCQl9IGVsc2UgewotCQkJcl9kYXRhLT5i
eXRlc194ZmVyZWQgPSByX2RhdGEtPmJsb2NrcyAtCi0JCQkJcmVhZGwoc29jay0+YWRkciArIFNP
Q0tfTU1DU0RfTlVNX0JMT0NLUykgLSAxOwotCQkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKj0gcl9k
YXRhLT5ibGtzejsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkICs9IHJfZGF0YS0+Ymxrc3ogLQot
CQkJCXJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0JMT0NLX0xFTikgKyAxOwotCQl9Ci0J
CXRpZm1fdW5tYXBfc2coc29jaywgcl9kYXRhLT5zZywgcl9kYXRhLT5zZ19sZW4sCi0JCQkgICAg
ICAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKQotCQkJICAgICAgPyBQQ0lfRE1BX1RP
REVWSUNFIDogUENJX0RNQV9GUk9NREVWSUNFKTsKLQl9Ci0KLQl3cml0ZWwoKH5USUZNX0NUUkxf
TEVEKSAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpLAotCSAgICAgICBzb2NrLT5h
ZGRyICsgU09DS19DT05UUk9MKTsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxv
Y2ssIGZsYWdzKTsKLQltbWNfcmVxdWVzdF9kb25lKG1tYywgbXJxKTsKLX0KLQotc3RhdGljIHZv
aWQgdGlmbV9zZF9yZXF1ZXN0X25vZG1hKHN0cnVjdCBtbWNfaG9zdCAqbW1jLCBzdHJ1Y3QgbW1j
X3JlcXVlc3QgKm1ycSkKLXsKLQlzdHJ1Y3QgdGlmbV9zZCAqaG9zdCA9IG1tY19wcml2KG1tYyk7
Ci0Jc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwotCXVuc2lnbmVkIGxvbmcgZmxh
Z3M7Ci0Jc3RydWN0IG1tY19kYXRhICpyX2RhdGEgPSBtcnEtPmNtZC0+ZGF0YTsKLQotCXNwaW5f
bG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGhvc3QtPmZsYWdzICYgRUpF
Q1QpIHsKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCQln
b3RvIGVycl9vdXQ7Ci0JfQotCi0JaWYgKGhvc3QtPnJlcSkgewotCQlwcmludGsoS0VSTl9FUlIg
RFJJVkVSX05BTUUgIjogdW5maW5pc2hlZCByZXF1ZXN0IGRldGVjdGVkXG4iKTsKLQkJc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCQlnb3RvIGVycl9vdXQ7Ci0J
fQorCQkJaG9zdC0+Ym91bmNlX2J1Zi5vZmZzZXQKKwkJCQk9IG9mZnNldF9pbl9wYWdlKGhvc3Qt
PmJvdW5jZV9idWZfZGF0YSk7CisJCQlob3N0LT5ib3VuY2VfYnVmLmxlbmd0aCA9IHJfZGF0YS0+
Ymxrc3o7CisKKwkJCWlmKDEgIT0gdGlmbV9tYXBfc2coc29jaywgJmhvc3QtPmJvdW5jZV9idWYs
IDEsCisJCQkJCSAgICByX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUKKwkJCQkJICAgID8g
UENJX0RNQV9UT0RFVklDRQorCQkJCQkgICAgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpKSB7CisJCQkJ
cHJpbnRrKEtFUk5fRVJSICIlcyA6IHNjYXR0ZXJsaXN0IG1hcCBmYWlsZWRcbiIsCisJCQkJICAg
ICAgIHNvY2stPmRldi5idXNfaWQpOworCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2st
PmxvY2ssIGZsYWdzKTsKKwkJCQlnb3RvIGVycl9vdXQ7CisJCQl9CisJCQlob3N0LT5zZ19sZW4g
PSB0aWZtX21hcF9zZyhzb2NrLCByX2RhdGEtPnNnLAorCQkJCQkJICAgcl9kYXRhLT5zZ19sZW4s
CisJCQkJCQkgICByX2RhdGEtPmZsYWdzCisJCQkJCQkgICAmIE1NQ19EQVRBX1dSSVRFCisJCQkJ
CQkgICA/IFBDSV9ETUFfVE9ERVZJQ0UKKwkJCQkJCSAgIDogUENJX0RNQV9GUk9NREVWSUNFKTsK
KwkJCWlmIChob3N0LT5zZ19sZW4gPCAxKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICIlcyA6IHNj
YXR0ZXJsaXN0IG1hcCBmYWlsZWRcbiIsCisJCQkJICAgICAgIHNvY2stPmRldi5idXNfaWQpOwor
CQkJCXRpZm1fdW5tYXBfc2coc29jaywgJmhvc3QtPmJvdW5jZV9idWYsIDEsCisJCQkJCSAgICAg
IHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURQorCQkJCQkgICAgICA/IFBDSV9ETUFfVE9E
RVZJQ0UKKwkJCQkJICAgICAgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpOworCQkJCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKKwkJCQlnb3RvIGVycl9vdXQ7CisJCQl9
CiAKLQlpZiAocl9kYXRhKSB7Ci0JCXRpZm1fc2Rfc2V0X2RhdGFfdGltZW91dChob3N0LCByX2Rh
dGEpOworCQkJd3JpdGVsKFRJRk1fRklGT19JTlRfU0VUQUxMLAorCQkJICAgICAgIHNvY2stPmFk
ZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9FTkFCTEVfQ0xFQVIpOworCQkJd3JpdGVsKGlsb2cyKHJf
ZGF0YS0+Ymxrc3opIC0gMiwKKwkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19GSUZPX1BBR0Vf
U0laRSk7CisJCQl3cml0ZWwoVElGTV9GSUZPX0VOQUJMRSwKKwkJCSAgICAgICBzb2NrLT5hZGRy
ICsgU09DS19GSUZPX0NPTlRST0wpOworCQkJd3JpdGVsKFRJRk1fRklGT19JTlRNQVNLLAorCQkJ
ICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9FTkFCTEVfU0VUKTsKKworCQkJ
aWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJCQl3cml0ZWwoVElGTV9NTUNT
RF9UWERFLAorCQkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CVUZGRVJfQ09ORklH
KTsKKwkJCWVsc2UKKwkJCQl3cml0ZWwoVElGTV9NTUNTRF9SWERFLAorCQkJCSAgICAgICBzb2Nr
LT5hZGRyICsgU09DS19NTUNTRF9CVUZGRVJfQ09ORklHKTsKIAotCQlob3N0LT5idWZmZXJfc2l6
ZSA9IG1ycS0+Y21kLT5kYXRhLT5ibG9ja3MKLQkJCQkgICAgKiBtcnEtPmNtZC0+ZGF0YS0+Ymxr
c3o7CisJCQl0aWZtX3NkX3NldF9kbWFfZGF0YShob3N0LCByX2RhdGEpOworCQl9CiAKLQkJd3Jp
dGVsKFRJRk1fTU1DU0RfQlVGSU5UCi0JCSAgICAgICB8IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NL
X01NQ1NEX0lOVF9FTkFCTEUpLAotCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5U
X0VOQUJMRSk7Ci0JCXdyaXRlbCgoKFRJRk1fTU1DU0RfRklGT19TSVpFIC0gMSkgPDwgOCkKLQkJ
ICAgICAgIHwgKFRJRk1fTU1DU0RfRklGT19TSVpFIC0gMSksCi0JCSAgICAgICBzb2NrLT5hZGRy
ICsgU09DS19NTUNTRF9CVUZGRVJfQ09ORklHKTsKLQotCQlob3N0LT53cml0dGVuX2Jsb2NrcyA9
IDA7Ci0JCWhvc3QtPmZsYWdzICY9IH5DQVJEX0JVU1k7Ci0JCWhvc3QtPmJ1ZmZlcl9wb3MgPSAw
OwotCQl3cml0ZWwocl9kYXRhLT5ibG9ja3MgLSAxLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9O
VU1fQkxPQ0tTKTsKLQkJd3JpdGVsKHJfZGF0YS0+Ymxrc3ogLSAxLCBzb2NrLT5hZGRyICsgU09D
S19NTUNTRF9CTE9DS19MRU4pOworCQl3cml0ZWwocl9kYXRhLT5ibG9ja3MgLSAxLAorCQkgICAg
ICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfTlVNX0JMT0NLUyk7CisJCXdyaXRlbChyX2RhdGEt
PmJsa3N6IC0gMSwKKwkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0JMT0NLX0xFTik7
CiAJfQogCiAJaG9zdC0+cmVxID0gbXJxOwogCW1vZF90aW1lcigmaG9zdC0+dGltZXIsIGppZmZp
ZXMgKyBob3N0LT50aW1lb3V0X2ppZmZpZXMpOwotCWhvc3QtPnN0YXRlID0gQ01EOwogCXdyaXRl
bChUSUZNX0NUUkxfTEVEIHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCksCiAJICAg
ICAgIHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpOwogCXRpZm1fc2RfZXhlYyhob3N0LCBtcnEt
PmNtZCk7CkBAIC02MDMsNyArNzI3LDcgQEAgZXJyX291dDoKIAltbWNfcmVxdWVzdF9kb25lKG1t
YywgbXJxKTsKIH0KIAotc3RhdGljIHZvaWQgdGlmbV9zZF9lbmRfY21kX25vZG1hKHVuc2lnbmVk
IGxvbmcgZGF0YSkKK3N0YXRpYyB2b2lkIHRpZm1fc2RfZW5kX2NtZCh1bnNpZ25lZCBsb25nIGRh
dGEpCiB7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSAoc3RydWN0IHRpZm1fc2QqKWRhdGE7CiAJ
c3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwpAQCAtNjE3LDY4ICs3NDEsNTIgQEAg
c3RhdGljIHZvaWQgdGlmbV9zZF9lbmRfY21kX25vZG1hKHVuc2lnbgogCWRlbF90aW1lcigmaG9z
dC0+dGltZXIpOwogCW1ycSA9IGhvc3QtPnJlcTsKIAlob3N0LT5yZXEgPSBOVUxMOwotCWhvc3Qt
PnN0YXRlID0gSURMRTsKIAogCWlmICghbXJxKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBEUklWRVJf
TkFNRSAiOiBubyByZXF1ZXN0IHRvIGNvbXBsZXRlP1xuIik7CisJCXByaW50ayhLRVJOX0VSUiAi
ICVzIDogbm8gcmVxdWVzdCB0byBjb21wbGV0ZT9cbiIsCisJCSAgICAgICBzb2NrLT5kZXYuYnVz
X2lkKTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwogCQly
ZXR1cm47CiAJfQogCiAJcl9kYXRhID0gbXJxLT5jbWQtPmRhdGE7CiAJaWYgKHJfZGF0YSkgewot
CQl3cml0ZWwoKH5USUZNX01NQ1NEX0JVRklOVCkgJgotCQkJcmVhZGwoc29jay0+YWRkciArIFNP
Q0tfTU1DU0RfSU5UX0VOQUJMRSksCi0JCQlzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5B
QkxFKTsKLQotCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSB7Ci0JCQlyX2Rh
dGEtPmJ5dGVzX3hmZXJlZCA9IGhvc3QtPndyaXR0ZW5fYmxvY2tzCi0JCQkJCSAgICAgICAqIHJf
ZGF0YS0+Ymxrc3o7CisJCWlmIChob3N0LT5ub19kbWEpIHsKKwkJCXdyaXRlbCgoflRJRk1fTU1D
U0RfQlVGSU5UKQorCQkJICAgICAgICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5U
X0VOQUJMRSksCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7
CiAJCX0gZWxzZSB7Ci0JCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCA9IHJfZGF0YS0+YmxvY2tzIC0K
LQkJCQlyZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9OVU1fQkxPQ0tTKSAtIDE7Ci0JCQly
X2RhdGEtPmJ5dGVzX3hmZXJlZCAqPSByX2RhdGEtPmJsa3N6OwotCQkJcl9kYXRhLT5ieXRlc194
ZmVyZWQgKz0gcl9kYXRhLT5ibGtzeiAtCi0JCQkJcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1D
U0RfQkxPQ0tfTEVOKSArIDE7CisJCQl0aWZtX3VubWFwX3NnKHNvY2ssICZob3N0LT5ib3VuY2Vf
YnVmLCAxLAorCQkJCSAgICAgIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCisJCQkJ
ICAgICAgPyBQQ0lfRE1BX1RPREVWSUNFIDogUENJX0RNQV9GUk9NREVWSUNFKTsKKwkJCXRpZm1f
dW5tYXBfc2coc29jaywgcl9kYXRhLT5zZywgcl9kYXRhLT5zZ19sZW4sCisJCQkJICAgICAgKHJf
ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJCQkgICAgICA/IFBDSV9ETUFfVE9ERVZJ
Q0UgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpOwogCQl9Ci0JCWhvc3QtPmJ1ZmZlcl9wb3MgPSAwOwot
CQlob3N0LT5idWZmZXJfc2l6ZSA9IDA7CisKKwkJcl9kYXRhLT5ieXRlc194ZmVyZWQgPSByX2Rh
dGEtPmJsb2NrcworCQkJLSByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9OVU1fQkxPQ0tT
KSAtIDE7CisJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkICo9IHJfZGF0YS0+Ymxrc3o7CisJCXJfZGF0
YS0+Ynl0ZXNfeGZlcmVkICs9IHJfZGF0YS0+Ymxrc3oKKwkJCS0gcmVhZGwoc29jay0+YWRkciAr
IFNPQ0tfTU1DU0RfQkxPQ0tfTEVOKSArIDE7CiAJfQogCiAJd3JpdGVsKCh+VElGTV9DVFJMX0xF
RCkgJiByZWFkbChzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKSwKIAkgICAgICAgc29jay0+YWRk
ciArIFNPQ0tfQ09OVFJPTCk7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2Nr
LCBmbGFncyk7Ci0KIAltbWNfcmVxdWVzdF9kb25lKG1tYywgbXJxKTsKIH0KIAotc3RhdGljIHZv
aWQgdGlmbV9zZF90ZXJtaW5hdGUoc3RydWN0IHRpZm1fc2QgKmhvc3QpCi17Ci0Jc3RydWN0IHRp
Zm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQl3cml0
ZWwoMCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7Ci0JbW1pb3diKCk7Ci0J
c3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQlob3N0LT5mbGFncyB8PSBF
SkVDVDsKLQlpZiAoaG9zdC0+cmVxKSB7Ci0JCXdyaXRlbChUSUZNX0ZJRk9fSU5UX1NFVEFMTCwK
LQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9FTkFCTEVfQ0xFQVIpOwot
CQl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VOQUJMRV9TRVQpOwot
CQl0YXNrbGV0X3NjaGVkdWxlKCZob3N0LT5maW5pc2hfdGFza2xldCk7Ci0JfQotCXNwaW5fdW5s
b2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLX0KLQogc3RhdGljIHZvaWQgdGlm
bV9zZF9hYm9ydCh1bnNpZ25lZCBsb25nIGRhdGEpCiB7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3Qg
PSAoc3RydWN0IHRpZm1fc2QqKWRhdGE7CiAKLQlwcmludGsoS0VSTl9FUlIgRFJJVkVSX05BTUUK
LQkgICAgICAgIjogY2FyZCBmYWlsZWQgdG8gcmVzcG9uZCBmb3IgYSBsb25nIHBlcmlvZCBvZiB0
aW1lIik7CisJcHJpbnRrKEtFUk5fRVJSCisJICAgICAgICIlcyA6IGNhcmQgZmFpbGVkIHRvIHJl
c3BvbmQgZm9yIGEgbG9uZyBwZXJpb2Qgb2YgdGltZSAiCisJICAgICAgICIoJXgsICV4KVxuIiwK
KwkgICAgICAgaG9zdC0+ZGV2LT5kZXYuYnVzX2lkLCBob3N0LT5yZXEtPmNtZC0+b3Bjb2RlLCBo
b3N0LT5jbWRfZmxhZ3MpOwogCi0JdGlmbV9zZF90ZXJtaW5hdGUoaG9zdCk7CiAJdGlmbV9lamVj
dChob3N0LT5kZXYpOwogfQogCkBAIC02OTEsOCArNzk5LDExIEBAIHN0YXRpYyB2b2lkIHRpZm1f
c2RfaW9zKHN0cnVjdCBtbWNfaG9zdCAKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2Nr
LCBmbGFncyk7CiAKLQlkZXZfZGJnKCZzb2NrLT5kZXYsICJTZXR0aW5nIGJ1cyB3aWR0aCAlZCwg
cG93ZXIgJWRcbiIsIGlvcy0+YnVzX3dpZHRoLAotCQlpb3MtPnBvd2VyX21vZGUpOworCWRldl9k
YmcoJnNvY2stPmRldiwgImlvczogY2xvY2sgPSAldSwgdmRkID0gJXgsIGJ1c19tb2RlID0gJXgs
ICIKKwkJImNoaXBfc2VsZWN0ID0gJXgsIHBvd2VyX21vZGUgPSAleCwgYnVzX3dpZHRoID0gJXhc
biIsCisJCWlvcy0+Y2xvY2ssIGlvcy0+dmRkLCBpb3MtPmJ1c19tb2RlLCBpb3MtPmNoaXBfc2Vs
ZWN0LAorCQlpb3MtPnBvd2VyX21vZGUsIGlvcy0+YnVzX3dpZHRoKTsKKwogCWlmIChpb3MtPmJ1
c193aWR0aCA9PSBNTUNfQlVTX1dJRFRIXzQpIHsKIAkJd3JpdGVsKFRJRk1fTU1DU0RfNEJCVVMg
fCByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9DT05GSUcpLAogCQkgICAgICAgc29jay0+
YWRkciArIFNPQ0tfTU1DU0RfQ09ORklHKTsKQEAgLTczNyw0MSArODQ4LDMwIEBAIHN0YXRpYyB2
b2lkIHRpZm1fc2RfaW9zKHN0cnVjdCBtbWNfaG9zdCAKIAkJICAmIHJlYWRsKHNvY2stPmFkZHIg
KyBTT0NLX01NQ1NEX0NPTkZJRykpLAogCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9D
T05GSUcpOwogCi0JaWYgKGlvcy0+YnVzX21vZGUgPT0gTU1DX0JVU01PREVfT1BFTkRSQUlOKQot
CQlob3N0LT5mbGFncyB8PSBPUEVORFJBSU47Ci0JZWxzZQotCQlob3N0LT5mbGFncyAmPSB+T1BF
TkRSQUlOOworCWhvc3QtPm9wZW5fZHJhaW4gPSAoaW9zLT5idXNfbW9kZSA9PSBNTUNfQlVTTU9E
RV9PUEVORFJBSU4pOwogCiAJLyogY2hpcF9zZWxlY3QgOiBtYXliZSBsYXRlciAqLwogCS8vdmRk
CiAJLy9wb3dlciBpcyBzZXQgYmVmb3JlIHByb2JlIC8gYWZ0ZXIgcmVtb3ZlCi0JLy9JIGJlbGll
dmUsIHBvd2VyX29mZiB3aGVuIGFscmVhZHkgbWFya2VkIGZvciBlamVjdCBpcyBzdWZmaWNpZW50
IHRvCi0JLy8gYWxsb3cgcmVtb3ZhbC4KLQlpZiAoKGhvc3QtPmZsYWdzICYgRUpFQ1QpICYmIGlv
cy0+cG93ZXJfbW9kZSA9PSBNTUNfUE9XRVJfT0ZGKSB7Ci0JCWhvc3QtPmZsYWdzIHw9IEVKRUNU
X0RPTkU7Ci0JCXdha2VfdXBfYWxsKCZob3N0LT5ub3RpZnkpOwotCX0KIAogCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIH0KIAogc3RhdGljIGludCB0aWZtX3Nk
X3JvKHN0cnVjdCBtbWNfaG9zdCAqbW1jKQogewotCWludCByYzsKKwlpbnQgcmMgPSAwOwogCXN0
cnVjdCB0aWZtX3NkICpob3N0ID0gbW1jX3ByaXYobW1jKTsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNv
Y2sgPSBob3N0LT5kZXY7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXNwaW5fbG9ja19pcnFz
YXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0KLQlob3N0LT5mbGFncyB8PSAoQ0FSRF9STyAmIHJl
YWRsKHNvY2stPmFkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpKTsKLQlyYyA9IChob3N0LT5mbGFn
cyAmIENBUkRfUk8pID8gMSA6IDA7Ci0KKwlpZiAoVElGTV9NTUNTRF9DQVJEX1JPICYgcmVhZGwo
c29jay0+YWRkciArIFNPQ0tfUFJFU0VOVF9TVEFURSkpCisJCXJjID0gMTsKIAlzcGluX3VubG9j
a19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7CiAJcmV0dXJuIHJjOwogfQogCi1zdGF0
aWMgc3RydWN0IG1tY19ob3N0X29wcyB0aWZtX3NkX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1
Y3QgbW1jX2hvc3Rfb3BzIHRpZm1fc2Rfb3BzID0gewogCS5yZXF1ZXN0ID0gdGlmbV9zZF9yZXF1
ZXN0LAogCS5zZXRfaW9zID0gdGlmbV9zZF9pb3MsCiAJLmdldF9ybyAgPSB0aWZtX3NkX3JvCkBA
IC03OTIsNyArODkyLDcgQEAgc3RhdGljIGludCB0aWZtX3NkX2luaXRpYWxpemVfaG9zdChzdHJ1
YwogCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9DT05GSUcpOwogCiAJLyogd2FpdCB1
cCB0byAwLjUxIHNlYyBmb3IgcmVzZXQgKi8KLQlmb3IgKHJjID0gMjsgcmMgPD0gMjU2OyByYyA8
PD0gMSkgeworCWZvciAocmMgPSAzMjsgcmMgPD0gMjU2OyByYyA8PD0gMSkgewogCQlpZiAoMSAm
IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1NZU1RFTV9TVEFUVVMpKSB7CiAJCQlyYyA9
IDA7CiAJCQlicmVhazsKQEAgLTgwMSw4ICs5MDEsOCBAQCBzdGF0aWMgaW50IHRpZm1fc2RfaW5p
dGlhbGl6ZV9ob3N0KHN0cnVjCiAJfQogCiAJaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBE
UklWRVJfTkFNRQotCQkgICAgICAgIjogY29udHJvbGxlciBmYWlsZWQgdG8gcmVzZXRcbiIpOwor
CQlwcmludGsoS0VSTl9FUlIgIiVzIDogY29udHJvbGxlciBmYWlsZWQgdG8gcmVzZXRcbiIsCisJ
CSAgICAgICBzb2NrLT5kZXYuYnVzX2lkKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCkBAIC04
MTUsOCArOTE1LDcgQEAgc3RhdGljIGludCB0aWZtX3NkX2luaXRpYWxpemVfaG9zdChzdHJ1Ywog
CXdyaXRlbCg2NCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQ09NTUFORF9UTyk7CiAJd3JpdGVs
KFRJRk1fTU1DU0RfSU5BQiwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQ09NTUFORCk7CiAKLQkv
KiBJTkFCIHNob3VsZCB0YWtlIG11Y2ggbGVzcyB0aGFuIHJlc2V0ICovCi0JZm9yIChyYyA9IDE7
IHJjIDw9IDE2OyByYyA8PD0gMSkgeworCWZvciAocmMgPSAxNjsgcmMgPD0gNjQ7IHJjIDw8PSAx
KSB7CiAJCWhvc3Rfc3RhdHVzID0gcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfU1RBVFVT
KTsKIAkJd3JpdGVsKGhvc3Rfc3RhdHVzLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMp
OwogCQlpZiAoIShob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRVJSTUFTSykKQEAgLTgyOCwxMiAr
OTI3LDE0IEBAIHN0YXRpYyBpbnQgdGlmbV9zZF9pbml0aWFsaXplX2hvc3Qoc3RydWMKIAl9CiAK
IAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIERSSVZFUl9OQU1FCi0JCSAgICAgICAiOiBj
YXJkIG5vdCByZWFkeSAtIHByb2JlIGZhaWxlZCBvbiBpbml0aWFsaXphdGlvblxuIik7CisJCXBy
aW50ayhLRVJOX0VSUgorCQkgICAgICAgIiVzIDogY2FyZCBub3QgcmVhZHkgLSBwcm9iZSBmYWls
ZWQgb24gaW5pdGlhbGl6YXRpb25cbiIsCisJCSAgICAgICBzb2NrLT5kZXYuYnVzX2lkKTsKIAkJ
cmV0dXJuIC1FTk9ERVY7CiAJfQogCi0Jd3JpdGVsKFRJRk1fTU1DU0RfREFUQU1BU0sgfCBUSUZN
X01NQ1NEX0VSUk1BU0ssCisJd3JpdGVsKFRJRk1fTU1DU0RfQ0VSUiB8IFRJRk1fTU1DU0RfQlJT
IHwgVElGTV9NTUNTRF9FT0MKKwkgICAgICAgfCBUSUZNX01NQ1NEX0VSUk1BU0ssCiAJICAgICAg
IHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwogCW1taW93YigpOwogCkBAIC04
NDgsNyArOTQ5LDggQEAgc3RhdGljIGludCB0aWZtX3NkX3Byb2JlKHN0cnVjdCB0aWZtX2Rldgog
CiAJaWYgKCEoVElGTV9TT0NLX1NUQVRFX09DQ1VQSUVECiAJICAgICAgJiByZWFkbChzb2NrLT5h
ZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSkpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyBEUklW
RVJfTkFNRSAiOiBjYXJkIGdvbmUsIHVuZXhwZWN0ZWRseVxuIik7CisJCXByaW50ayhLRVJOX1dB
Uk5JTkcgIiVzIDogY2FyZCBnb25lLCB1bmV4cGVjdGVkbHlcbiIsCisJCSAgICAgICBzb2NrLT5k
ZXYuYnVzX2lkKTsKIAkJcmV0dXJuIHJjOwogCX0KIApAQCAtODU3LDQxICs5NTksNDQgQEAgc3Rh
dGljIGludCB0aWZtX3NkX3Byb2JlKHN0cnVjdCB0aWZtX2RldgogCQlyZXR1cm4gLUVOT01FTTsK
IAogCWhvc3QgPSBtbWNfcHJpdihtbWMpOworCWhvc3QtPm5vX2RtYSA9IG5vX2RtYTsKIAl0aWZt
X3NldF9kcnZkYXRhKHNvY2ssIG1tYyk7CiAJaG9zdC0+ZGV2ID0gc29jazsKIAlob3N0LT50aW1l
b3V0X2ppZmZpZXMgPSBtc2Vjc190b19qaWZmaWVzKDEwMDApOwogCi0JaW5pdF93YWl0cXVldWVf
aGVhZCgmaG9zdC0+bm90aWZ5KTsKLQl0YXNrbGV0X2luaXQoJmhvc3QtPmZpbmlzaF90YXNrbGV0
LAotCQkgICAgIG5vX2RtYSA/IHRpZm1fc2RfZW5kX2NtZF9ub2RtYSA6IHRpZm1fc2RfZW5kX2Nt
ZCwKKwlob3N0LT5ib3VuY2VfYnVmLnBhZ2UgPSB2aXJ0X3RvX3BhZ2UoaG9zdC0+Ym91bmNlX2J1
Zl9kYXRhKTsKKworCXRhc2tsZXRfaW5pdCgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQsIHRpZm1fc2Rf
ZW5kX2NtZCwKIAkJICAgICAodW5zaWduZWQgbG9uZylob3N0KTsKIAlzZXR1cF90aW1lcigmaG9z
dC0+dGltZXIsIHRpZm1fc2RfYWJvcnQsICh1bnNpZ25lZCBsb25nKWhvc3QpOwogCi0JdGlmbV9z
ZF9vcHMucmVxdWVzdCA9IG5vX2RtYSA/IHRpZm1fc2RfcmVxdWVzdF9ub2RtYSA6IHRpZm1fc2Rf
cmVxdWVzdDsKIAltbWMtPm9wcyA9ICZ0aWZtX3NkX29wczsKIAltbWMtPm9jcl9hdmFpbCA9IE1N
Q19WRERfMzJfMzMgfCBNTUNfVkREXzMzXzM0OwogCW1tYy0+Y2FwcyA9IE1NQ19DQVBfNF9CSVRf
REFUQSB8IE1NQ19DQVBfTVVMVElXUklURTsKIAltbWMtPmZfbWluID0gMjAwMDAwMDAgLyA2MDsK
IAltbWMtPmZfbWF4ID0gMjQwMDAwMDA7Ci0JbW1jLT5tYXhfaHdfc2VncyA9IDE7Ci0JbW1jLT5t
YXhfcGh5c19zZWdzID0gMTsKLQkvLyBsaW1pdGVkIGJ5IERNQSBjb3VudGVyIC0gaXQncyBzYWZl
ciB0byBzdGljayB3aXRoCi0JLy8gYmxvY2sgY291bnRlciBoYXMgMTEgYml0cyB0aG91Z2gKLQlt
bWMtPm1heF9ibGtfY291bnQgPSAyNTY7Ci0JLy8gMmsgbWF4aW11bSBodyBibG9jayBsZW5ndGgK
LQltbWMtPm1heF9ibGtfc2l6ZSA9IDIwNDg7Ci0JbW1jLT5tYXhfcmVxX3NpemUgPSBtbWMtPm1h
eF9ibGtfc2l6ZSAqIG1tYy0+bWF4X2Jsa19jb3VudDsKLQltbWMtPm1heF9zZWdfc2l6ZSA9IG1t
Yy0+bWF4X3JlcV9zaXplOwotCXNvY2stPnNpZ25hbF9pcnEgPSB0aWZtX3NkX3NpZ25hbF9pcnE7
CisKKy8vCW1tYy0+bWF4X2Jsa19jb3VudCA9IDIwNDg7CisvLwltbWMtPm1heF9od19zZWdzID0g
bW1jLT5tYXhfYmxrX2NvdW50OworCW1tYy0+bWF4X2h3X3NlZ3MgPSAxNjsKKy8vCW1tYy0+bWF4
X2Jsa19zaXplID0gbWluKDIwNDgsIFBBR0VfU0laRSk7CisvLwltbWMtPm1heF9zZWdfc2l6ZSA9
IG1tYy0+bWF4X2Jsa19jb3VudCAqIG1tYy0+bWF4X2Jsa19zaXplOworCW1tYy0+bWF4X3NlZ19z
aXplID0gMTI3ICogMjA0ODsKKworCW1tYy0+bWF4X3BoeXNfc2VncyA9IG1tYy0+bWF4X2h3X3Nl
Z3M7CisJbW1jLT5tYXhfc2VjdG9ycyA9IDEyNyAqIG1tYy0+bWF4X3BoeXNfc2VnczsKKworLy8J
bW1jLT5tYXhfcmVxX3NpemUgPSBtbWMtPm1heF9zZWdfc2l6ZTsKKworCXNvY2stPmV2ZW50ID0g
dGlmbV9zZF9ldmVudDsKKwlzb2NrLT5kYXRhX2V2ZW50ID0gdGlmbV9zZF9kYXRhX2V2ZW50Owog
CXJjID0gdGlmbV9zZF9pbml0aWFsaXplX2hvc3QoaG9zdCk7CiAKIAlpZiAoIXJjKQogCQlyYyA9
IG1tY19hZGRfaG9zdChtbWMpOwotCWlmIChyYykKLQkJZ290byBvdXRfZnJlZV9tbWM7CisJaWYg
KCFyYykKKwkJcmV0dXJuIDA7CiAKLQlyZXR1cm4gMDsKLW91dF9mcmVlX21tYzoKIAltbWNfZnJl
ZV9ob3N0KG1tYyk7CiAJcmV0dXJuIHJjOwogfQpAQCAtOTAwLDE5ICsxMDA1LDMzIEBAIHN0YXRp
YyB2b2lkIHRpZm1fc2RfcmVtb3ZlKHN0cnVjdCB0aWZtX2QKIHsKIAlzdHJ1Y3QgbW1jX2hvc3Qg
Km1tYyA9IHRpZm1fZ2V0X2RydmRhdGEoc29jayk7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSBt
bWNfcHJpdihtbWMpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlkZWxfdGltZXJfc3luYygm
aG9zdC0+dGltZXIpOwotCXRpZm1fc2RfdGVybWluYXRlKGhvc3QpOwotCXdhaXRfZXZlbnRfdGlt
ZW91dChob3N0LT5ub3RpZnksIGhvc3QtPmZsYWdzICYgRUpFQ1RfRE9ORSwKLQkJCSAgIGhvc3Qt
PnRpbWVvdXRfamlmZmllcyk7CiAJdGFza2xldF9raWxsKCZob3N0LT5maW5pc2hfdGFza2xldCk7
CisJc3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKKwlob3N0LT5lamVjdCA9
IDE7CisJd3JpdGVsKDAsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOworCW1t
aW93YigpOworCisJaWYgKGhvc3QtPnJlcSkgeworCQl3cml0ZWwoVElGTV9GSUZPX0lOVF9TRVRB
TEwsCisJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxFX0NMRUFS
KTsKKwkJd3JpdGVsKDAsIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9FTkFCTEVfU0VU
KTsKKwkJaG9zdC0+cmVxLT5jbWQtPmVycm9yID0gTU1DX0VSUl9USU1FT1VUOworCQlpZiAoaG9z
dC0+cmVxLT5zdG9wKQorCQkJaG9zdC0+cmVxLT5zdG9wLT5lcnJvciA9IE1NQ19FUlJfVElNRU9V
VDsKKwkJdGFza2xldF9zY2hlZHVsZSgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQpOworCX0KKwlzcGlu
X3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7CisJLy8gdGVtcG9yYXJ5IGhh
Y2sKKwltc2xlZXAoMTAwMCk7CiAJbW1jX3JlbW92ZV9ob3N0KG1tYyk7CisJZGV2X2RiZygmc29j
ay0+ZGV2LCAiYWZ0ZXIgcmVtb3ZlXG4iKTsKIAogCS8qIFRoZSBtZWFuaW5nIG9mIHRoZSBiaXQg
bWFqb3JpdHkgaW4gdGhpcyBjb25zdGFudCBpcyB1bmtub3duLiAqLwogCXdyaXRlbCgweGZmZjgg
JiByZWFkbChzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKSwKIAkgICAgICAgc29jay0+YWRkciAr
IFNPQ0tfQ09OVFJPTCk7CiAKLQl0aWZtX3NldF9kcnZkYXRhKHNvY2ssIE5VTEwpOwogCW1tY19m
cmVlX2hvc3QobW1jKTsKIH0KIApAQCAtOTM0LDE0ICsxMDUzLDE3IEBAIHN0YXRpYyBpbnQgdGlm
bV9zZF9yZXN1bWUoc3RydWN0IHRpZm1fZGUKIHsKIAlzdHJ1Y3QgbW1jX2hvc3QgKm1tYyA9IHRp
Zm1fZ2V0X2RydmRhdGEoc29jayk7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSBtbWNfcHJpdiht
bWMpOworCWludCByYzsKIAotCWlmIChzb2NrLT5tZWRpYV9pZCAhPSBGTV9TRAotCSAgICB8fCB0
aWZtX3NkX2luaXRpYWxpemVfaG9zdChob3N0KSkgewotCQl0aWZtX2VqZWN0KHNvY2spOwotCQly
ZXR1cm4gMDsKLQl9IGVsc2UgewotCQlyZXR1cm4gbW1jX3Jlc3VtZV9ob3N0KG1tYyk7Ci0JfQor
CXJjID0gdGlmbV9zZF9pbml0aWFsaXplX2hvc3QoaG9zdCk7CisJZGV2X2RiZygmc29jay0+ZGV2
LCAicmVzdW1lIGluaXRpYWxpemUgJWRcbiIsIHJjKTsKKworCWlmIChyYykKKwkJaG9zdC0+ZWpl
Y3QgPSAxOworCWVsc2UKKwkJcmMgPSBtbWNfcmVzdW1lX2hvc3QobW1jKTsKKworCXJldHVybiBy
YzsKIH0KIAogI2Vsc2UKQEAgLTk1MSw4ICsxMDczLDggQEAgc3RhdGljIGludCB0aWZtX3NkX3Jl
c3VtZShzdHJ1Y3QgdGlmbV9kZQogCiAjZW5kaWYgLyogQ09ORklHX1BNICovCiAKLXN0YXRpYyB0
aWZtX21lZGlhX2lkIHRpZm1fc2RfaWRfdGJsW10gPSB7Ci0JRk1fU0QsIDAKK3N0YXRpYyBzdHJ1
Y3QgdGlmbV9kZXZpY2VfaWQgdGlmbV9zZF9pZF90YmxbXSA9IHsKKwl7IFRJRk1fVFlQRV9TRCB9
LCB7IH0KIH07CiAKIHN0YXRpYyBzdHJ1Y3QgdGlmbV9kcml2ZXIgdGlmbV9zZF9kcml2ZXIgPSB7
Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117890</attachid>
            <date>2007-05-01 21:09 0000</date>
            <desc>Patch for 2.6.21 to upstream version 08d</desc>
            <filename>tifm-update-to-0.8d.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGtlcm5lbC9saW51eC0yLjYuMjEtZ2VudG9vL2RyaXZlcnMvbWlzYy90aWZtXzd4eDEu
Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBrZXJuZWwub3JpZy9saW51eC0yLjYuMjEtZ2VudG9vL2RyaXZlcnMv
bWlzYy90aWZtXzd4eDEuYworKysga2VybmVsL2xpbnV4LTIuNi4yMS1nZW50b28vZHJpdmVycy9t
aXNjL3RpZm1fN3h4MS5jCkBAIC05LDEyICs5LDIyIEBACiAgKgogICovCiAKLSNpbmNsdWRlIDxs
aW51eC90aWZtLmg+Ci0jaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KLSNpbmNsdWRlIDxs
aW51eC9mcmVlemVyLmg+CisjaW5jbHVkZSAibGludXgvdGlmbS5oIgorI2luY2x1ZGUgImxpbnV4
L3BjaV9pZHMuaCIKIAogI2RlZmluZSBEUklWRVJfTkFNRSAidGlmbV83eHgxIgotI2RlZmluZSBE
UklWRVJfVkVSU0lPTiAiMC43IgorI2RlZmluZSBEUklWRVJfVkVSU0lPTiAiMC44IgorCisjZGVm
aW5lIFRJRk1fSVJRX0VOQUJMRSAgICAgICAgICAgMHg4MDAwMDAwMAorI2RlZmluZSBUSUZNX0lS
UV9TT0NLTUFTSyh4KSAgICAgICh4KQorI2RlZmluZSBUSUZNX0lSUV9DQVJETUFTSyh4KSAgICAg
ICgoeCkgPDwgOCkKKyNkZWZpbmUgVElGTV9JUlFfRklGT01BU0soeCkgICAgICAoKHgpIDw8IDE2
KQorI2RlZmluZSBUSUZNX0lSUV9TRVRBTEwgICAgICAgICAgIDB4ZmZmZmZmZmYKKworc3RhdGlj
IHZvaWQgdGlmbV83eHgxX2R1bW15X2VqZWN0KHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtLAorCQkJ
CSAgc3RydWN0IHRpZm1fZGV2ICpzb2NrKQoreworfQogCiBzdGF0aWMgdm9pZCB0aWZtXzd4eDFf
ZWplY3Qoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sIHN0cnVjdCB0aWZtX2RldiAqc29jaykKIHsK
QEAgLTIyLDcgKzMyLDcgQEAgc3RhdGljIHZvaWQgdGlmbV83eHgxX2VqZWN0KHN0cnVjdCB0aWZt
XwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7CiAJZm0tPnNvY2tldF9j
aGFuZ2Vfc2V0IHw9IDEgPDwgc29jay0+c29ja2V0X2lkOwotCXdha2VfdXBfYWxsKCZmbS0+Y2hh
bmdlX3NldF9ub3RpZnkpOworCXRpZm1fcXVldWVfd29yaygmZm0tPm1lZGlhX3N3aXRjaGVyKTsK
IAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwogfQogCkBAIC0zMCw4
ICs0MCw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCB0aWZtXzd4eDFfaXNyKGludCBpcnEKIHsKIAlz
dHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSA9IGRldl9pZDsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2s7
Ci0JdW5zaWduZWQgaW50IGlycV9zdGF0dXM7Ci0JdW5zaWduZWQgaW50IHNvY2tfaXJxX3N0YXR1
cywgY250OworCXVuc2lnbmVkIGludCBpcnFfc3RhdHVzLCBjbnQ7CiAKIAlzcGluX2xvY2soJmZt
LT5sb2NrKTsKIAlpcnFfc3RhdHVzID0gcmVhZGwoZm0tPmFkZHIgKyBGTV9JTlRFUlJVUFRfU1RB
VFVTKTsKQEAgLTQ0LDEzICs1MywxMyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdGlmbV83eHgxX2lz
cihpbnQgaXJxCiAJCXdyaXRlbChUSUZNX0lSUV9FTkFCTEUsIGZtLT5hZGRyICsgRk1fQ0xFQVJf
SU5URVJSVVBUX0VOQUJMRSk7CiAKIAkJZm9yIChjbnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tl
dHM7IGNudCsrKSB7Ci0JCQlzb2NrID0gZm0tPnNvY2tldHNbY250XTsKLQkJCXNvY2tfaXJxX3N0
YXR1cyA9IChpcnFfc3RhdHVzID4+IGNudCkKLQkJCQkJICAmIChUSUZNX0lSUV9GSUZPTUFTSygx
KQotCQkJCQkgICAgIHwgVElGTV9JUlFfQ0FSRE1BU0soMSkpOwotCi0JCQlpZiAoc29jayAmJiBz
b2NrX2lycV9zdGF0dXMpCi0JCQkJc29jay0+c2lnbmFsX2lycShzb2NrLCBzb2NrX2lycV9zdGF0
dXMpOworCQkJc29jayA9IGZtLT5zb2NrZXRzW2NudF0uZGV2OworCQkJaWYgKHNvY2spIHsKKwkJ
CQlpZiAoKGlycV9zdGF0dXMgPj4gY250KSAmIFRJRk1fSVJRX0ZJRk9NQVNLKDEpKQorCQkJCQlz
b2NrLT5kYXRhX2V2ZW50KHNvY2spOworCQkJCWlmICgoaXJxX3N0YXR1cyA+PiBjbnQpICYgVElG
TV9JUlFfQ0FSRE1BU0soMSkpCisJCQkJCXNvY2stPmV2ZW50KHNvY2spOworCQkJfQogCQl9CiAK
IAkJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0IHw9IGlycV9zdGF0dXMKQEAgLTU4LDU3ICs2Nyw1OCBA
QCBzdGF0aWMgaXJxcmV0dXJuX3QgdGlmbV83eHgxX2lzcihpbnQgaXJxCiAJfQogCXdyaXRlbChp
cnFfc3RhdHVzLCBmbS0+YWRkciArIEZNX0lOVEVSUlVQVF9TVEFUVVMpOwogCi0JaWYgKCFmbS0+
c29ja2V0X2NoYW5nZV9zZXQpCisJaWYgKGZtLT5maW5pc2hfbWUpCisJCWNvbXBsZXRlX2FsbChm
bS0+ZmluaXNoX21lKTsKKwllbHNlIGlmICghZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KQogCQl3cml0
ZWwoVElGTV9JUlFfRU5BQkxFLCBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsK
IAllbHNlCi0JCXdha2VfdXBfYWxsKCZmbS0+Y2hhbmdlX3NldF9ub3RpZnkpOworCQl0aWZtX3F1
ZXVlX3dvcmsoJmZtLT5tZWRpYV9zd2l0Y2hlcik7CiAKIAlzcGluX3VubG9jaygmZm0tPmxvY2sp
OwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAotc3RhdGljIHRpZm1fbWVkaWFfaWQgdGlmbV83
eHgxX3RvZ2dsZV9zb2NrX3Bvd2VyKGNoYXIgX19pb21lbSAqc29ja19hZGRyLAotCQkJCQkJIGlu
dCBpc194MikKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dl
cihjaGFyIF9faW9tZW0gKnNvY2tfYWRkciwKKwkJCQkJCSB1bnNpZ25lZCBpbnQgY2FwcykKIHsK
IAl1bnNpZ25lZCBpbnQgc19zdGF0ZTsKIAlpbnQgY250OwogCiAJd3JpdGVsKDB4MGUwMCwgc29j
a19hZGRyICsgU09DS19DT05UUk9MKTsKIAotCWZvciAoY250ID0gMDsgY250IDwgMTAwOyBjbnQr
KykgeworCS8qIGhhbGYgYSBzZWNvbmQgc2hvdWxkIGJlIGVub3VnaCAgKi8KKwlmb3IgKGNudCA9
IDE2OyBjbnQgPD0gMjU2OyBjbnQgPDw9IDEpIHsKIAkJaWYgKCEoVElGTV9TT0NLX1NUQVRFX1BP
V0VSRUQKIAkJICAgICAgJiByZWFkbChzb2NrX2FkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpKSkK
IAkJCWJyZWFrOwotCQltc2xlZXAoMTApOworCisJCW1zbGVlcChjbnQpOwogCX0KIAogCXNfc3Rh
dGUgPSByZWFkbChzb2NrX2FkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpOwogCWlmICghKFRJRk1f
U09DS19TVEFURV9PQ0NVUElFRCAmIHNfc3RhdGUpKQotCQlyZXR1cm4gRk1fTlVMTDsKKwkJcmV0
dXJuIDA7CiAKLQlpZiAoaXNfeDIpIHsKLQkJd3JpdGVsKChzX3N0YXRlICYgNykgfCAweDBjMDAs
IHNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCk7Ci0JfSBlbHNlIHsKLQkJLy8gU21hcnRNZWRpYSBj
YXJkcyBuZWVkIGV4dHJhIDQwIG1zZWMKKwl3cml0ZWwocmVhZGwoc29ja19hZGRyICsgU09DS19D
T05UUk9MKSB8IFRJRk1fQ1RSTF9MRUQsCisJICAgICAgIHNvY2tfYWRkciArIFNPQ0tfQ09OVFJP
TCk7CisKKwlpZiAoY2FwcyAmIFRJRk1fU09DS19YRF9DQVApIHsKIAkJaWYgKCgocmVhZGwoc29j
a19hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSA+PiA0KSAmIDcpID09IDEpCiAJCQltc2xlZXAo
NDApOwotCQl3cml0ZWwocmVhZGwoc29ja19hZGRyICsgU09DS19DT05UUk9MKSB8IFRJRk1fQ1RS
TF9MRUQsCi0JCSAgICAgICBzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpOwotCQltc2xlZXAoMTAp
OwotCQl3cml0ZWwoKHNfc3RhdGUgJiAweDcpIHwgMHgwYzAwIHwgVElGTV9DVFJMX0xFRCwKLQkJ
CXNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCk7CiAJfQorCXdyaXRlbCgoc19zdGF0ZSAmIDcpIHwg
MHgwYzAwLCBzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpOworCW1zbGVlcCgxMCk7CiAKLQlmb3Ig
KGNudCA9IDA7IGNudCA8IDEwMDsgY250KyspIHsKKwlmb3IgKGNudCA9IDE2OyBjbnQgPD0gMjU2
OyBjbnQgPDw9IDEpIHsKIAkJaWYgKChUSUZNX1NPQ0tfU1RBVEVfUE9XRVJFRAogCQkgICAgICYg
cmVhZGwoc29ja19hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSkpCiAJCQlicmVhazsKLQkJbXNs
ZWVwKDEwKTsKKworCQltc2xlZXAoY250KTsKIAl9CiAKLQlpZiAoIWlzX3gyKQotCQl3cml0ZWwo
cmVhZGwoc29ja19hZGRyICsgU09DS19DT05UUk9MKSAmICh+VElGTV9DVFJMX0xFRCksCi0JCSAg
ICAgICBzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpOworCXdyaXRlbChyZWFkbChzb2NrX2FkZHIg
KyBTT0NLX0NPTlRST0wpICYgKH5USUZNX0NUUkxfTEVEKSwKKwkgICAgICAgc29ja19hZGRyICsg
U09DS19DT05UUk9MKTsKIAogCXJldHVybiAocmVhZGwoc29ja19hZGRyICsgU09DS19QUkVTRU5U
X1NUQVRFKSA+PiA0KSAmIDc7CiB9CkBAIC0xMTksMTI3ICsxMjksNzggQEAgdGlmbV83eHgxX3Nv
Y2tfYWRkcihjaGFyIF9faW9tZW0gKmJhc2VfYQogCXJldHVybiBiYXNlX2FkZHIgKyAoKHNvY2tf
bnVtICsgMSkgPDwgMTApOwogfQogCi1zdGF0aWMgaW50IHRpZm1fN3h4MV9zd2l0Y2hfbWVkaWEo
dm9pZCAqZGF0YSkKK3N0YXRpYyB2b2lkIHRpZm1fN3h4MV9zd2l0Y2hfbWVkaWEoc3RydWN0IHdv
cmtfc3RydWN0ICp3b3JrKQogewotCXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtID0gZGF0YTsKLQl1
bnNpZ25lZCBsb25nIGZsYWdzOwotCXRpZm1fbWVkaWFfaWQgbWVkaWFfaWQ7Ci0JY2hhciAqY2Fy
ZF9uYW1lID0gInh4IjsKLQlpbnQgY250LCByYzsKKwlzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSA9
IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgdGlmbV9hZGFwdGVyLAorCQkJCQkgICAgICAgbWVk
aWFfc3dpdGNoZXIpOwogCXN0cnVjdCB0aWZtX2RldiAqc29jazsKLQl1bnNpZ25lZCBpbnQgc29j
a2V0X2NoYW5nZV9zZXQ7Ci0KLQl3aGlsZSAoMSkgewotCQlyYyA9IHdhaXRfZXZlbnRfaW50ZXJy
dXB0aWJsZShmbS0+Y2hhbmdlX3NldF9ub3RpZnksCi0JCQkJCSAgICAgIGZtLT5zb2NrZXRfY2hh
bmdlX3NldCk7Ci0JCWlmIChyYyA9PSAtRVJFU1RBUlRTWVMpCi0JCQl0cnlfdG9fZnJlZXplKCk7
CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBjaGFyIG1lZGlhX2lkOworCXVuc2ln
bmVkIGludCBzb2NrZXRfY2hhbmdlX3NldCwgY250OwogCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZm
bS0+bG9jaywgZmxhZ3MpOwotCQlzb2NrZXRfY2hhbmdlX3NldCA9IGZtLT5zb2NrZXRfY2hhbmdl
X3NldDsKLQkJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0ID0gMDsKKwlzcGluX2xvY2tfaXJxc2F2ZSgm
Zm0tPmxvY2ssIGZsYWdzKTsKKwlzb2NrZXRfY2hhbmdlX3NldCA9IGZtLT5zb2NrZXRfY2hhbmdl
X3NldDsKKwlmbS0+c29ja2V0X2NoYW5nZV9zZXQgPSAwOwogCi0JCWRldl9kYmcoZm0tPmRldiwg
ImNoZWNraW5nIG1lZGlhIHNldCAleFxuIiwKLQkJCXNvY2tldF9jaGFuZ2Vfc2V0KTsKKwlkZXZf
ZGJnKGZtLT5jZGV2LmRldiwgImNoZWNraW5nIG1lZGlhIHNldCAleFxuIiwKKwkJc29ja2V0X2No
YW5nZV9zZXQpOwogCi0JCWlmIChrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCi0JCQlzb2NrZXRfY2hh
bmdlX3NldCA9ICgxIDw8IGZtLT5udW1fc29ja2V0cykgLSAxOworCWlmICghc29ja2V0X2NoYW5n
ZV9zZXQpIHsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKKwkJ
cmV0dXJuOworCX0KIAotCQlpZiAoIXNvY2tldF9jaGFuZ2Vfc2V0KQorCWZvciAoY250ID0gMDsg
Y250IDwgZm0tPm51bV9zb2NrZXRzOyBjbnQrKykgeworCQlpZiAoIShzb2NrZXRfY2hhbmdlX3Nl
dCAmICgxIDw8IGNudCkpKQogCQkJY29udGludWU7Ci0KLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZt
LT5sb2NrLCBmbGFncyk7Ci0JCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRzOyBj
bnQrKykgewotCQkJaWYgKCEoc29ja2V0X2NoYW5nZV9zZXQgJiAoMSA8PCBjbnQpKSkKLQkJCQlj
b250aW51ZTsKLQkJCXNvY2sgPSBmbS0+c29ja2V0c1tjbnRdOwotCQkJaWYgKHNvY2spIHsKLQkJ
CQlwcmludGsoS0VSTl9JTkZPIERSSVZFUl9OQU1FCi0JCQkJICAgICAgICI6IGRlbWFuZCByZW1v
dmluZyBjYXJkIGZyb20gc29ja2V0ICVkXG4iLAotCQkJCSAgICAgICBjbnQpOwotCQkJCWZtLT5z
b2NrZXRzW2NudF0gPSBOVUxMOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2Nr
LCBmbGFncyk7Ci0JCQkJZGV2aWNlX3VucmVnaXN0ZXIoJnNvY2stPmRldik7Ci0JCQkJc3Bpbl9s
b2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJd3JpdGVsKDB4MGUwMCwKLQkJCQkg
ICAgICAgdGlmbV83eHgxX3NvY2tfYWRkcihmbS0+YWRkciwgY250KQotCQkJCSAgICAgICArIFNP
Q0tfQ09OVFJPTCk7Ci0JCQl9Ci0JCQlpZiAoa3RocmVhZF9zaG91bGRfc3RvcCgpKQotCQkJCWNv
bnRpbnVlOwotCisJCXNvY2sgPSBmbS0+c29ja2V0c1tjbnRdLmRldjsKKwkJaWYgKHNvY2spIHsK
KwkJCXByaW50ayhLRVJOX0lORk8KKwkJCSAgICAgICAiJXMgOiBkZW1hbmQgcmVtb3ZpbmcgY2Fy
ZCBmcm9tIHNvY2tldCAldToldVxuIiwKKwkJCSAgICAgICBmbS0+Y2Rldi5jbGFzc19pZCwgZm0t
PmlkLCBjbnQpOworCQkJZm0tPnNvY2tldHNbY250XS5kZXYgPSBOVUxMOwogCQkJc3Bpbl91bmxv
Y2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQkJCW1lZGlhX2lkID0gdGlmbV83eHgx
X3RvZ2dsZV9zb2NrX3Bvd2VyKAotCQkJCQl0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCBj
bnQpLAotCQkJCQlmbS0+bnVtX3NvY2tldHMgPT0gMik7Ci0JCQlpZiAobWVkaWFfaWQpIHsKLQkJ
CQlzb2NrID0gdGlmbV9hbGxvY19kZXZpY2UoZm0pOwotCQkJCWlmIChzb2NrKSB7Ci0JCQkJCXNv
Y2stPmFkZHIgPSB0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLAotCQkJCQkJCQkJIGNudCk7
Ci0JCQkJCXNvY2stPm1lZGlhX2lkID0gbWVkaWFfaWQ7Ci0JCQkJCXNvY2stPnNvY2tldF9pZCA9
IGNudDsKLQkJCQkJc3dpdGNoIChtZWRpYV9pZCkgewotCQkJCQljYXNlIDE6Ci0JCQkJCQljYXJk
X25hbWUgPSAieGQiOwotCQkJCQkJYnJlYWs7Ci0JCQkJCWNhc2UgMjoKLQkJCQkJCWNhcmRfbmFt
ZSA9ICJtcyI7Ci0JCQkJCQlicmVhazsKLQkJCQkJY2FzZSAzOgotCQkJCQkJY2FyZF9uYW1lID0g
InNkIjsKLQkJCQkJCWJyZWFrOwotCQkJCQlkZWZhdWx0OgotCQkJCQkJdGlmbV9mcmVlX2Rldmlj
ZSgmc29jay0+ZGV2KTsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3Mp
OwotCQkJCQkJY29udGludWU7Ci0JCQkJCX0KLQkJCQkJc25wcmludGYoc29jay0+ZGV2LmJ1c19p
ZCwgQlVTX0lEX1NJWkUsCi0JCQkJCQkgInRpZm1fJXMldToldSIsIGNhcmRfbmFtZSwKLQkJCQkJ
CSBmbS0+aWQsIGNudCk7Ci0JCQkJCXByaW50ayhLRVJOX0lORk8gRFJJVkVSX05BTUUKLQkJCQkJ
ICAgICAgICI6ICVzIGNhcmQgZGV0ZWN0ZWQgaW4gc29ja2V0ICVkXG4iLAotCQkJCQkgICAgICAg
Y2FyZF9uYW1lLCBjbnQpOwotCQkJCQlpZiAoIWRldmljZV9yZWdpc3Rlcigmc29jay0+ZGV2KSkg
ewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJCQlpZiAo
IWZtLT5zb2NrZXRzW2NudF0pIHsKLQkJCQkJCQlmbS0+c29ja2V0c1tjbnRdID0gc29jazsKLQkJ
CQkJCQlzb2NrID0gTlVMTDsKLQkJCQkJCX0KLQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo
JmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJCX0KLQkJCQkJaWYgKHNvY2spCi0JCQkJCQl0aWZtX2Zy
ZWVfZGV2aWNlKCZzb2NrLT5kZXYpOwotCQkJCX0KLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0t
PmxvY2ssIGZsYWdzKTsKLQkJCX0KKwkJCWRldmljZV91bnJlZ2lzdGVyKCZzb2NrLT5kZXYpOwor
CQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7CisJCQl3cml0ZWwoMHgwZTAw
LCB0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCBjbnQpCisJCQkgICAgICAgKyBTT0NLX0NP
TlRST0wpOwogCQl9CiAKLQkJaWYgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKLQkJCXdyaXRl
bChUSUZNX0lSUV9GSUZPTUFTSyhzb2NrZXRfY2hhbmdlX3NldCkKLQkJCSAgICAgICB8IFRJRk1f
SVJRX0NBUkRNQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KSwKLQkJCSAgICAgICBmbS0+YWRkciArIEZN
X0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOwotCQkJd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKHNv
Y2tldF9jaGFuZ2Vfc2V0KQotCQkJICAgICAgIHwgVElGTV9JUlFfQ0FSRE1BU0soc29ja2V0X2No
YW5nZV9zZXQpLAotCQkJICAgICAgIGZtLT5hZGRyICsgRk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUp
OwotCQkJd3JpdGVsKFRJRk1fSVJRX0VOQUJMRSwKLQkJCSAgICAgICBmbS0+YWRkciArIEZNX1NF
VF9JTlRFUlJVUFRfRU5BQkxFKTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2Nr
LCBmbGFncyk7Ci0JCX0gZWxzZSB7Ci0JCQlmb3IgKGNudCA9IDA7IGNudCA8IGZtLT5udW1fc29j
a2V0czsgY250KyspIHsKLQkJCQlpZiAoZm0tPnNvY2tldHNbY250XSkKLQkJCQkJZm0tPnNvY2tl
dF9jaGFuZ2Vfc2V0IHw9IDEgPDwgY250OwotCQkJfQotCQkJaWYgKCFmbS0+c29ja2V0X2NoYW5n
ZV9zZXQpIHsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwot
CQkJCXJldHVybiAwOwotCQkJfSBlbHNlIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0t
PmxvY2ssIGZsYWdzKTsKKworCQltZWRpYV9pZCA9IHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dl
cigKKwkJCQl0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCBjbnQpLAorCQkJCWZtLT5zb2Nr
ZXRzW2NudF0uY2Fwcyk7CisKKwkJLy8gdGlmbV9hbGxvY19kZXZpY2Ugd2lsbCBjaGVjayBpZiBt
ZWRpYV9pZCBpcyB2YWxpZAorCQlzb2NrID0gdGlmbV9hbGxvY19kZXZpY2UoZm0sIGNudCwgbWVk
aWFfaWQpOworCQlpZiAoc29jaykgeworCQkJc29jay0+YWRkciA9IHRpZm1fN3h4MV9zb2NrX2Fk
ZHIoZm0tPmFkZHIsIGNudCk7CisKKwkJCWlmICghZGV2aWNlX3JlZ2lzdGVyKCZzb2NrLT5kZXYp
KSB7CisJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7CisJCQkJaWYgKCFm
bS0+c29ja2V0c1tjbnRdLmRldikgeworCQkJCQlmbS0+c29ja2V0c1tjbnRdLmRldiA9IHNvY2s7
CisJCQkJCXNvY2sgPSBOVUxMOworCQkJCX0KIAkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZm
bS0+bG9jaywgZmxhZ3MpOwogCQkJfQorCQkJaWYgKHNvY2spCisJCQkJdGlmbV9mcmVlX2Rldmlj
ZSgmc29jay0+ZGV2KTsKIAkJfQorCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdz
KTsKIAl9Ci0JcmV0dXJuIDA7CisKKwl3cml0ZWwoVElGTV9JUlFfRklGT01BU0soc29ja2V0X2No
YW5nZV9zZXQpCisJICAgICAgIHwgVElGTV9JUlFfQ0FSRE1BU0soc29ja2V0X2NoYW5nZV9zZXQp
LAorCSAgICAgICBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOworCisJd3Jp
dGVsKFRJRk1fSVJRX0ZJRk9NQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KQorCSAgICAgICB8IFRJRk1f
SVJRX0NBUkRNQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KSwKKwkgICAgICAgZm0tPmFkZHIgKyBGTV9T
RVRfSU5URVJSVVBUX0VOQUJMRSk7CisKKwl3cml0ZWwoVElGTV9JUlFfRU5BQkxFLCBmbS0+YWRk
ciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZm
bS0+bG9jaywgZmxhZ3MpOwogfQogCiAjaWZkZWYgQ09ORklHX1BNCkBAIC0yNTgsOSArMjE5LDEx
IEBAIHN0YXRpYyBpbnQgdGlmbV83eHgxX3N1c3BlbmQoc3RydWN0IHBjaV8KIHN0YXRpYyBpbnQg
dGlmbV83eHgxX3Jlc3VtZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQogewogCXN0cnVjdCB0aWZtX2Fk
YXB0ZXIgKmZtID0gcGNpX2dldF9kcnZkYXRhKGRldik7Ci0JaW50IGNudCwgcmM7CisJaW50IHJj
OworCXVuc2lnbmVkIGludCBnb29kX3NvY2tldHMgPSAwLCBiYWRfc29ja2V0cyA9IDA7CiAJdW5z
aWduZWQgbG9uZyBmbGFnczsKLQl0aWZtX21lZGlhX2lkIG5ld19pZHNbZm0tPm51bV9zb2NrZXRz
XTsKKwl1bnNpZ25lZCBjaGFyIG5ld19pZHNbZm0tPm51bV9zb2NrZXRzXTsKKwlERUNMQVJFX0NP
TVBMRVRJT05fT05TVEFDSyhmaW5pc2hfcmVzdW1lKTsKIAogCXBjaV9zZXRfcG93ZXJfc3RhdGUo
ZGV2LCBQQ0lfRDApOwogCXBjaV9yZXN0b3JlX3N0YXRlKGRldik7CkBAIC0yNzEsNDUgKzIzNCw1
MCBAQCBzdGF0aWMgaW50IHRpZm1fN3h4MV9yZXN1bWUoc3RydWN0IHBjaV9kCiAKIAlkZXZfZGJn
KCZkZXYtPmRldiwgInJlc3VtaW5nIGhvc3RcbiIpOwogCi0JZm9yIChjbnQgPSAwOyBjbnQgPCBm
bS0+bnVtX3NvY2tldHM7IGNudCsrKQotCQluZXdfaWRzW2NudF0gPSB0aWZtXzd4eDFfdG9nZ2xl
X3NvY2tfcG93ZXIoCi0JCQkJCXRpZm1fN3h4MV9zb2NrX2FkZHIoZm0tPmFkZHIsIGNudCksCi0J
CQkJCWZtLT5udW1fc29ja2V0cyA9PSAyKTsKKwlmb3IgKHJjID0gMDsgcmMgPCBmbS0+bnVtX3Nv
Y2tldHM7IHJjKyspCisJCW5ld19pZHNbcmNdID0gdGlmbV83eHgxX3RvZ2dsZV9zb2NrX3Bvd2Vy
KAorCQkJCQl0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCByYyksCisJCQkJCWZtLT5zb2Nr
ZXRzW3JjXS5jYXBzKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQlm
bS0+c29ja2V0X2NoYW5nZV9zZXQgPSAwOwotCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9z
b2NrZXRzOyBjbnQrKykgewotCQlpZiAoZm0tPnNvY2tldHNbY250XSkgewotCQkJaWYgKGZtLT5z
b2NrZXRzW2NudF0tPm1lZGlhX2lkID09IG5ld19pZHNbY250XSkKLQkJCQlmbS0+c29ja2V0X2No
YW5nZV9zZXQgfD0gMSA8PCBjbnQ7Ci0KLQkJCWZtLT5zb2NrZXRzW2NudF0tPm1lZGlhX2lkID0g
bmV3X2lkc1tjbnRdOworCWZvciAocmMgPSAwOyByYyA8IGZtLT5udW1fc29ja2V0czsgcmMrKykg
eworCQlpZiAoZm0tPnNvY2tldHNbcmNdLmRldikgeworCQkJaWYgKGZtLT5zb2NrZXRzW3JjXS5k
ZXYtPnR5cGUgPT0gbmV3X2lkc1tyY10pCisJCQkJZ29vZF9zb2NrZXRzIHw9IDEgPDwgcmM7CisJ
CQllbHNlCisJCQkJYmFkX3NvY2tldHMgfD0gMSA8PCByYzsKIAkJfQogCX0KIAogCXdyaXRlbChU
SUZNX0lSUV9FTkFCTEUgfCBUSUZNX0lSUV9TT0NLTUFTSygoMSA8PCBmbS0+bnVtX3NvY2tldHMp
IC0gMSksCiAJICAgICAgIGZtLT5hZGRyICsgRk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUpOwotCWlm
ICghZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZt
LT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybiAwOwotCX0gZWxzZSB7Ci0JCWZtLT5zb2NrZXRfY2hh
bmdlX3NldCA9IDA7CisJZGV2X2RiZygmZGV2LT5kZXYsICJjaGFuZ2Ugc2V0cyBvbiByZXN1bWU6
IGdvb2QgJXgsIGJhZCAleFxuIiwKKwkJZ29vZF9zb2NrZXRzLCBiYWRfc29ja2V0cyk7CisKKwlm
bS0+c29ja2V0X2NoYW5nZV9zZXQgPSAwOworCWlmIChnb29kX3NvY2tldHMpIHsKKwkJZm0tPmZp
bmlzaF9tZSA9ICZmaW5pc2hfcmVzdW1lOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+
bG9jaywgZmxhZ3MpOworCQlyYyA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgmZmluaXNo
X3Jlc3VtZSwgSFopOworCQlkZXZfZGJnKCZkZXYtPmRldiwgIndhaXQgcmV0dXJuZWQgJWRcbiIs
IHJjKTsKKwkJd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKGdvb2Rfc29ja2V0cykKKwkJICAgICAg
IHwgVElGTV9JUlFfQ0FSRE1BU0soZ29vZF9zb2NrZXRzKSwKKwkJICAgICAgIGZtLT5hZGRyICsg
Rk1fQ0xFQVJfSU5URVJSVVBUX0VOQUJMRSk7CisJCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhn
b29kX3NvY2tldHMpCisJCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKGdvb2Rfc29ja2V0cyks
CisJCSAgICAgICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKKwkJc3Bpbl9s
b2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7CisJCWZtLT5maW5pc2hfbWUgPSBOVUxMOwor
CQlmbS0+c29ja2V0X2NoYW5nZV9zZXQgXj0gZ29vZF9zb2NrZXRzICYgZm0tPnNvY2tldF9jaGFu
Z2Vfc2V0OwogCX0KIAotCXdhaXRfZXZlbnRfdGltZW91dChmbS0+Y2hhbmdlX3NldF9ub3RpZnks
IGZtLT5zb2NrZXRfY2hhbmdlX3NldCwgSFopOworCWZtLT5zb2NrZXRfY2hhbmdlX3NldCB8PSBi
YWRfc29ja2V0czsKKwlpZiAoZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KQkJCisJCXRpZm1fcXVldWVf
d29yaygmZm0tPm1lZGlhX3N3aXRjaGVyKTsKIAotCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9j
aywgZmxhZ3MpOwotCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhmbS0+c29ja2V0X2NoYW5nZV9z
ZXQpCi0JICAgICAgIHwgVElGTV9JUlFfQ0FSRE1BU0soZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KSwK
LQkgICAgICAgZm0tPmFkZHIgKyBGTV9DTEVBUl9JTlRFUlJVUFRfRU5BQkxFKTsKLQl3cml0ZWwo
VElGTV9JUlFfRklGT01BU0soZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KQotCSAgICAgICB8IFRJRk1f
SVJRX0NBUkRNQVNLKGZtLT5zb2NrZXRfY2hhbmdlX3NldCksCi0JICAgICAgIGZtLT5hZGRyICsg
Rk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5s
b2NrLCBmbGFncyk7CiAJd3JpdGVsKFRJRk1fSVJRX0VOQUJMRSwKIAkgICAgICAgZm0tPmFkZHIg
KyBGTV9TRVRfSU5URVJSVVBUX0VOQUJMRSk7Ci0JZm0tPnNvY2tldF9jaGFuZ2Vfc2V0ID0gMDsK
IAotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7CiAJcmV0dXJuIDA7
CiB9CiAKQEAgLTM0NSwyMCArMzEzLDI2IEBAIHN0YXRpYyBpbnQgdGlmbV83eHgxX3Byb2JlKHN0
cnVjdCBwY2lfZGUKIAogCXBjaV9pbnR4KGRldiwgMSk7CiAKLQlmbSA9IHRpZm1fYWxsb2NfYWRh
cHRlcigpOworCWZtID0gdGlmbV9hbGxvY19hZGFwdGVyKGRldi0+ZGV2aWNlID09IFBDSV9ERVZJ
Q0VfSURfVElfWFgyMV9YWDExX0ZNCisJCQkJPyA0IDogMiwgJmRldi0+ZGV2KTsKIAlpZiAoIWZt
KSB7CiAJCXJjID0gLUVOT01FTTsKIAkJZ290byBlcnJfb3V0X2ludDsKIAl9CiAKLQlmbS0+ZGV2
ID0gJmRldi0+ZGV2OwotCWZtLT5udW1fc29ja2V0cyA9IChkZXYtPmRldmljZSA9PSBQQ0lfREVW
SUNFX0lEX1RJX1hYMjFfWFgxMV9GTSkKLQkJCSAgPyA0IDogMjsKLQlmbS0+c29ja2V0cyA9IGt6
YWxsb2Moc2l6ZW9mKHN0cnVjdCB0aWZtX2RldiopICogZm0tPm51bV9zb2NrZXRzLAotCQkJICAg
ICAgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFmbS0+c29ja2V0cykKLQkJZ290byBlcnJfb3V0X2ZyZWU7
CisJc3dpdGNoIChmbS0+bnVtX3NvY2tldHMpIHsKKwljYXNlIDI6CisJCWZtLT5zb2NrZXRzWzBd
LmNhcHMgfD0gVElGTV9TT0NLX01TX1BJRjsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQlmbS0+c29j
a2V0c1swXS5jYXBzIHw9IFRJRk1fU09DS19YRF9DQVA7CisJCWZtLT5zb2NrZXRzWzFdLmNhcHMg
fD0gVElGTV9TT0NLX1hEX0NBUDsKKwkJZm0tPnNvY2tldHNbMl0uY2FwcyB8PSBUSUZNX1NPQ0tf
WERfQ0FQIHwgVElGTV9TT0NLX01TX1BJRjsKKwkJZm0tPnNvY2tldHNbM10uY2FwcyB8PSBUSUZN
X1NPQ0tfWERfQ0FQOworCQlicmVhazsKKwl9CiAKKwlJTklUX1dPUksoJmZtLT5tZWRpYV9zd2l0
Y2hlciwgdGlmbV83eHgxX3N3aXRjaF9tZWRpYSk7CiAJZm0tPmVqZWN0ID0gdGlmbV83eHgxX2Vq
ZWN0OwogCXBjaV9zZXRfZHJ2ZGF0YShkZXYsIGZtKTsKIApAQCAtMzY3LDE5ICszNDEsMTYgQEAg
c3RhdGljIGludCB0aWZtXzd4eDFfcHJvYmUoc3RydWN0IHBjaV9kZQogCWlmICghZm0tPmFkZHIp
CiAJCWdvdG8gZXJyX291dF9mcmVlOwogCi0JcmMgPSByZXF1ZXN0X2lycShkZXYtPmlycSwgdGlm
bV83eHgxX2lzciwgSVJRRl9TSEFSRUQsIERSSVZFUl9OQU1FLCBmbSk7CisJcmMgPSByZXF1ZXN0
X2lycShkZXYtPmlycSwgdGlmbV83eHgxX2lzciwgU0FfU0hJUlEsIERSSVZFUl9OQU1FLCBmbSk7
CiAJaWYgKHJjKQogCQlnb3RvIGVycl9vdXRfdW5tYXA7CiAKLQlpbml0X3dhaXRxdWV1ZV9oZWFk
KCZmbS0+Y2hhbmdlX3NldF9ub3RpZnkpOwotCXJjID0gdGlmbV9hZGRfYWRhcHRlcihmbSwgdGlm
bV83eHgxX3N3aXRjaF9tZWRpYSk7CisJcmMgPSB0aWZtX2FkZF9hZGFwdGVyKGZtKTsKIAlpZiAo
cmMpCiAJCWdvdG8gZXJyX291dF9pcnE7CiAKLQl3cml0ZWwoVElGTV9JUlFfU0VUQUxMLCBmbS0+
YWRkciArIEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOwogCXdyaXRlbChUSUZNX0lSUV9FTkFC
TEUgfCBUSUZNX0lSUV9TT0NLTUFTSygoMSA8PCBmbS0+bnVtX3NvY2tldHMpIC0gMSksCiAJICAg
ICAgIGZtLT5hZGRyICsgRk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUpOwotCXdha2VfdXBfcHJvY2Vz
cyhmbS0+bWVkaWFfc3dpdGNoZXIpOwogCXJldHVybiAwOwogCiBlcnJfb3V0X2lycToKQEAgLTQw
MSwxOCArMzcyLDEyIEBAIGVycl9vdXQ6CiBzdGF0aWMgdm9pZCB0aWZtXzd4eDFfcmVtb3ZlKHN0
cnVjdCBwY2lfZGV2ICpkZXYpCiB7CiAJc3RydWN0IHRpZm1fYWRhcHRlciAqZm0gPSBwY2lfZ2V0
X2RydmRhdGEoZGV2KTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCisJZm0tPmVqZWN0ID0gdGlm
bV83eHgxX2R1bW15X2VqZWN0OwogCXdyaXRlbChUSUZNX0lSUV9TRVRBTEwsIGZtLT5hZGRyICsg
Rk1fQ0xFQVJfSU5URVJSVVBUX0VOQUJMRSk7CiAJbW1pb3diKCk7CiAJZnJlZV9pcnEoZGV2LT5p
cnEsIGZtKTsKIAotCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCWZtLT5z
b2NrZXRfY2hhbmdlX3NldCA9ICgxIDw8IGZtLT5udW1fc29ja2V0cykgLSAxOwotCXNwaW5fdW5s
b2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0KLQlrdGhyZWFkX3N0b3AoZm0tPm1l
ZGlhX3N3aXRjaGVyKTsKLQogCXRpZm1fcmVtb3ZlX2FkYXB0ZXIoZm0pOwogCiAJcGNpX3NldF9k
cnZkYXRhKGRldiwgTlVMTCk7CkluZGV4OiBrZXJuZWwvbGludXgtMi42LjIxLWdlbnRvby9kcml2
ZXJzL21pc2MvdGlmbV9jb3JlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2VybmVsLm9yaWcvbGludXgtMi42
LjIxLWdlbnRvby9kcml2ZXJzL21pc2MvdGlmbV9jb3JlLmMKKysrIGtlcm5lbC9saW51eC0yLjYu
MjEtZ2VudG9vL2RyaXZlcnMvbWlzYy90aWZtX2NvcmUuYwpAQCAtOSw3NiArOSwxMjkgQEAKICAq
CiAgKi8KIAotI2luY2x1ZGUgPGxpbnV4L3RpZm0uaD4KKyNpbmNsdWRlICJsaW51eC90aWZtLmgi
CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgogCiAjZGVm
aW5lIERSSVZFUl9OQU1FICJ0aWZtX2NvcmUiCi0jZGVmaW5lIERSSVZFUl9WRVJTSU9OICIwLjci
CisjZGVmaW5lIERSSVZFUl9WRVJTSU9OICIwLjgiCiAKK3N0YXRpYyBzdHJ1Y3Qgd29ya3F1ZXVl
X3N0cnVjdCAqd29ya3F1ZXVlOwogc3RhdGljIERFRklORV9JRFIodGlmbV9hZGFwdGVyX2lkcik7
CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHRpZm1fYWRhcHRlcl9sb2NrKTsKIAotc3RhdGljIHRp
Zm1fbWVkaWFfaWQgKnRpZm1fZGV2aWNlX21hdGNoKHRpZm1fbWVkaWFfaWQgKmlkcywKLQkJCXN0
cnVjdCB0aWZtX2RldiAqZGV2KQorc3RhdGljIGNvbnN0IGNoYXIgKnRpZm1fbWVkaWFfdHlwZV9u
YW1lKHVuc2lnbmVkIGNoYXIgdHlwZSwgdW5zaWduZWQgY2hhciBudCkKIHsKLQl3aGlsZSAoKmlk
cykgewotCQlpZiAoZGV2LT5tZWRpYV9pZCA9PSAqaWRzKQotCQkJcmV0dXJuIGlkczsKLQkJaWRz
Kys7Ci0JfQotCXJldHVybiBOVUxMOworCWNvbnN0IGNoYXIgKmNhcmRfdHlwZV9uYW1lWzNdWzNd
ID0geworCQl7ICJTbWFydE1lZGlhL3hEIiwgIk1lbW9yeVN0aWNrIiwgIk1NQy9TRCIgfSwKKwkJ
eyAiWEQiLCAiTVMiLCAiU0QifSwKKwkJeyAieGQiLCAibXMiLCAic2QifQorCX07CisKKwlpZiAo
bnQgPiAyIHx8IHR5cGUgPCAxIHx8IHR5cGUgPiAzKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4g
Y2FyZF90eXBlX25hbWVbbnRdW3R5cGUgLSAxXTsKIH0KIAotc3RhdGljIGludCB0aWZtX21hdGNo
KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9kcml2ZXIgKmRydikKK3N0YXRpYyBp
bnQgdGlmbV9kZXZfbWF0Y2goc3RydWN0IHRpZm1fZGV2ICpzb2NrLCBzdHJ1Y3QgdGlmbV9kZXZp
Y2VfaWQgKmlkKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2ID0gY29udGFpbmVyX29mKGRl
diwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0aWZtX2RyaXZlciAqZm1fZHJ2Owot
Ci0JZm1fZHJ2ID0gY29udGFpbmVyX29mKGRydiwgc3RydWN0IHRpZm1fZHJpdmVyLCBkcml2ZXIp
OwotCWlmICghZm1fZHJ2LT5pZF90YWJsZSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKHRpZm1f
ZGV2aWNlX21hdGNoKGZtX2Rydi0+aWRfdGFibGUsIGZtX2RldikpCisJaWYgKHNvY2stPnR5cGUg
PT0gaWQtPnR5cGUpCiAJCXJldHVybiAxOwotCXJldHVybiAtRU5PREVWOworCXJldHVybiAwOwor
fQorCitzdGF0aWMgaW50IHRpZm1fYnVzX21hdGNoKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0
IGRldmljZV9kcml2ZXIgKmRydikKK3sKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBjb250YWlu
ZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7CisJc3RydWN0IHRpZm1fZHJpdmVyICpm
bV9kcnYgPSBjb250YWluZXJfb2YoZHJ2LCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJCQkgIGRy
aXZlcik7CisJc3RydWN0IHRpZm1fZGV2aWNlX2lkICppZHMgPSBmbV9kcnYtPmlkX3RhYmxlOwor
CisJaWYgKGlkcykgeworCQl3aGlsZSAoaWRzLT50eXBlKSB7CisJCQlpZiAodGlmbV9kZXZfbWF0
Y2goc29jaywgaWRzKSkKKwkJCQlyZXR1cm4gMTsKKwkJCSsraWRzOworCQl9CisJfQorCXJldHVy
biAwOwogfQogCiBzdGF0aWMgaW50IHRpZm1fdWV2ZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgY2hh
ciAqKmVudnAsIGludCBudW1fZW52cCwKIAkJICAgICAgIGNoYXIgKmJ1ZmZlciwgaW50IGJ1ZmZl
cl9zaXplKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2OworCXN0cnVjdCB0aWZtX2RldiAq
c29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsKIAlpbnQgaSA9
IDA7CiAJaW50IGxlbmd0aCA9IDA7Ci0JY29uc3QgY2hhciAqY2FyZF90eXBlX25hbWVbXSA9IHsi
SU5WIiwgIlNNIiwgIk1TIiwgIlNEIn07CiAKLQlpZiAoIWRldiB8fCAhKGZtX2RldiA9IGNvbnRh
aW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KSkpCi0JCXJldHVybiAtRU5PREVWOwog
CWlmIChhZGRfdWV2ZW50X3ZhcihlbnZwLCBudW1fZW52cCwgJmksIGJ1ZmZlciwgYnVmZmVyX3Np
emUsICZsZW5ndGgsCi0JCQkiVElGTV9DQVJEX1RZUEU9JXMiLCBjYXJkX3R5cGVfbmFtZVtmbV9k
ZXYtPm1lZGlhX2lkXSkpCisJCQkgICAiVElGTV9DQVJEX1RZUEU9JXMiLAorCQkJICAgdGlmbV9t
ZWRpYV90eXBlX25hbWUoc29jay0+dHlwZSwgMSkpKQogCQlyZXR1cm4gLUVOT01FTTsKIAogCXJl
dHVybiAwOwogfQogCitzdGF0aWMgaW50IHRpZm1fZGV2aWNlX3Byb2JlKHN0cnVjdCBkZXZpY2Ug
KmRldikKK3sKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1
Y3QgdGlmbV9kZXYsIGRldik7CisJc3RydWN0IHRpZm1fZHJpdmVyICpkcnYgPSBjb250YWluZXJf
b2YoZGV2LT5kcml2ZXIsIHN0cnVjdCB0aWZtX2RyaXZlciwKKwkJCQkJICAgICAgIGRyaXZlcik7
CisJaW50IHJjID0gLUVOT0RFVjsKKworCWdldF9kZXZpY2UoZGV2KTsKKwlpZiAoZGV2LT5kcml2
ZXIgJiYgZHJ2LT5wcm9iZSkgeworCQlyYyA9IGRydi0+cHJvYmUoc29jayk7CisJCWlmICghcmMp
CisJCQlyZXR1cm4gMDsKKwl9CisJcHV0X2RldmljZShkZXYpOworCXJldHVybiByYzsKK30KKwor
c3RhdGljIHZvaWQgdGlmbV9kdW1teV9ldmVudChzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spCit7CisJ
cmV0dXJuOworfQorCitzdGF0aWMgaW50IHRpZm1fZGV2aWNlX3JlbW92ZShzdHJ1Y3QgZGV2aWNl
ICpkZXYpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwgc3Ry
dWN0IHRpZm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gY29udGFpbmVy
X29mKGRldi0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJCSAgICAgICBkcml2ZXIp
OworCisJaWYgKGRldi0+ZHJpdmVyICYmIGRydi0+cmVtb3ZlKSB7CisJCXNvY2stPmV2ZW50ID0g
dGlmbV9kdW1teV9ldmVudDsKKwkJc29jay0+ZGF0YV9ldmVudCA9IHRpZm1fZHVtbXlfZXZlbnQ7
CisJCWRydi0+cmVtb3ZlKHNvY2spOworCQlzb2NrLT5kZXYuZHJpdmVyID0gTlVMTDsKKwl9CisK
KwlwdXRfZGV2aWNlKGRldik7CisJcmV0dXJuIDA7Cit9CisKICNpZmRlZiBDT05GSUdfUE0KIAog
c3RhdGljIGludCB0aWZtX2RldmljZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgcG1fbWVz
c2FnZV90IHN0YXRlKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2ID0gY29udGFpbmVyX29m
KGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0g
Zm1fZGV2LT5kcnY7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwg
c3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gY29udGFp
bmVyX29mKGRldi0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJCSAgICAgICBkcml2
ZXIpOwogCi0JaWYgKGRydiAmJiBkcnYtPnN1c3BlbmQpCi0JCXJldHVybiBkcnYtPnN1c3BlbmQo
Zm1fZGV2LCBzdGF0ZSk7CisJaWYgKGRldi0+ZHJpdmVyICYmIGRydi0+c3VzcGVuZCkKKwkJcmV0
dXJuIGRydi0+c3VzcGVuZChzb2NrLCBzdGF0ZSk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBp
bnQgdGlmbV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgdGlm
bV9kZXYgKmZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsK
LQlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGZtX2Rldi0+ZHJ2OworCXN0cnVjdCB0aWZtX2Rl
diAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsKKwlzdHJ1
Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGNvbnRhaW5lcl9vZihkZXYtPmRyaXZlciwgc3RydWN0IHRp
Zm1fZHJpdmVyLAorCQkJCQkgICAgICAgZHJpdmVyKTsKIAotCWlmIChkcnYgJiYgZHJ2LT5yZXN1
bWUpCi0JCXJldHVybiBkcnYtPnJlc3VtZShmbV9kZXYpOworCWlmIChkZXYtPmRyaXZlciAmJiBk
cnYtPnJlc3VtZSkKKwkJcmV0dXJuIGRydi0+cmVzdW1lKHNvY2spOwogCXJldHVybiAwOwogfQog
CkBAIC04OSwxOSArMTQyLDMzIEBAIHN0YXRpYyBpbnQgdGlmbV9kZXZpY2VfcmVzdW1lKHN0cnVj
dCBkZXYKIAogI2VuZGlmIC8qIENPTkZJR19QTSAqLwogCitzdGF0aWMgc3NpemVfdCB0eXBlX3No
b3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJ
CSBjaGFyICpidWYpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRl
diwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiV4Iiwgc29j
ay0+dHlwZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSB0aWZtX2Rldl9h
dHRyc1tdID0geworCV9fQVRUUih0eXBlLCBTX0lSVUdPLCB0eXBlX3Nob3csIE5VTEwpLAorCV9f
QVRUUl9OVUxMCit9OworCiBzdGF0aWMgc3RydWN0IGJ1c190eXBlIHRpZm1fYnVzX3R5cGUgPSB7
Ci0JLm5hbWUgICAgPSAidGlmbSIsCi0JLm1hdGNoICAgPSB0aWZtX21hdGNoLAotCS51ZXZlbnQg
ID0gdGlmbV91ZXZlbnQsCi0JLnN1c3BlbmQgPSB0aWZtX2RldmljZV9zdXNwZW5kLAotCS5yZXN1
bWUgID0gdGlmbV9kZXZpY2VfcmVzdW1lCisJLm5hbWUgICAgICAgICAgID0gInRpZm0iLAorCS5k
ZXZfYXR0cnMgICAgICA9IHRpZm1fZGV2X2F0dHJzLAorCS5tYXRjaCAgICAgICAgICA9IHRpZm1f
YnVzX21hdGNoLAorCS51ZXZlbnQgICAgICAgICA9IHRpZm1fdWV2ZW50LAorCS5wcm9iZSAgICAg
ICAgICA9IHRpZm1fZGV2aWNlX3Byb2JlLAorCS5yZW1vdmUgICAgICAgICA9IHRpZm1fZGV2aWNl
X3JlbW92ZSwKKwkuc3VzcGVuZCAgICAgICAgPSB0aWZtX2RldmljZV9zdXNwZW5kLAorCS5yZXN1
bWUgICAgICAgICA9IHRpZm1fZGV2aWNlX3Jlc3VtZQogfTsKIAogc3RhdGljIHZvaWQgdGlmbV9m
cmVlKHN0cnVjdCBjbGFzc19kZXZpY2UgKmNkZXYpCiB7CiAJc3RydWN0IHRpZm1fYWRhcHRlciAq
Zm0gPSBjb250YWluZXJfb2YoY2Rldiwgc3RydWN0IHRpZm1fYWRhcHRlciwgY2Rldik7CiAKLQlr
ZnJlZShmbS0+c29ja2V0cyk7CiAJa2ZyZWUoZm0pOwogfQogCkBAIC0xMTAsMjggKzE3NywyNSBA
QCBzdGF0aWMgc3RydWN0IGNsYXNzIHRpZm1fYWRhcHRlcl9jbGFzcyA9CiAJLnJlbGVhc2UgPSB0
aWZtX2ZyZWUKIH07CiAKLXN0cnVjdCB0aWZtX2FkYXB0ZXIgKnRpZm1fYWxsb2NfYWRhcHRlcih2
b2lkKQorc3RydWN0IHRpZm1fYWRhcHRlciAqdGlmbV9hbGxvY19hZGFwdGVyKHVuc2lnbmVkIGlu
dCBudW1fc29ja2V0cywKKwkJCQkJc3RydWN0IGRldmljZSAqZGV2KQogewogCXN0cnVjdCB0aWZt
X2FkYXB0ZXIgKmZtOwogCi0JZm0gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGlmbV9hZGFwdGVy
KSwgR0ZQX0tFUk5FTCk7CisJZm0gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGlmbV9hZGFwdGVy
KQorCQkgICAgICsgc2l6ZW9mKHN0cnVjdCBzb2NrZXRfdCkgKiBudW1fc29ja2V0cywgR0ZQX0tF
Uk5FTCk7CiAJaWYgKGZtKSB7CiAJCWZtLT5jZGV2LmNsYXNzID0gJnRpZm1fYWRhcHRlcl9jbGFz
czsKLQkJc3Bpbl9sb2NrX2luaXQoJmZtLT5sb2NrKTsKKwkJZm0tPmNkZXYuZGV2ID0gZGV2Owog
CQljbGFzc19kZXZpY2VfaW5pdGlhbGl6ZSgmZm0tPmNkZXYpOworCQlzcGluX2xvY2tfaW5pdCgm
Zm0tPmxvY2spOworCQlmbS0+bnVtX3NvY2tldHMgPSBudW1fc29ja2V0czsKIAl9CiAJcmV0dXJu
IGZtOwogfQogRVhQT1JUX1NZTUJPTCh0aWZtX2FsbG9jX2FkYXB0ZXIpOwogCi12b2lkIHRpZm1f
ZnJlZV9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKQotewotCWNsYXNzX2RldmljZV9w
dXQoJmZtLT5jZGV2KTsKLX0KLUVYUE9SVF9TWU1CT0wodGlmbV9mcmVlX2FkYXB0ZXIpOwotCi1p
bnQgdGlmbV9hZGRfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwKLQkJICAgICBpbnQg
KCptZWRpYXRocmVhZGZuKSh2b2lkICpkYXRhKSkKK2ludCB0aWZtX2FkZF9hZGFwdGVyKHN0cnVj
dCB0aWZtX2FkYXB0ZXIgKmZtKQogewogCWludCByYzsKIApAQCAtMTQxLDU5ICsyMDUsODEgQEAg
aW50IHRpZm1fYWRkX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlcgogCXNwaW5fbG9jaygmdGlm
bV9hZGFwdGVyX2xvY2spOwogCXJjID0gaWRyX2dldF9uZXcoJnRpZm1fYWRhcHRlcl9pZHIsIGZt
LCAmZm0tPmlkKTsKIAlzcGluX3VubG9jaygmdGlmbV9hZGFwdGVyX2xvY2spOwotCWlmICghcmMp
IHsKLQkJc25wcmludGYoZm0tPmNkZXYuY2xhc3NfaWQsIEJVU19JRF9TSVpFLCAidGlmbSV1Iiwg
Zm0tPmlkKTsKLQkJZm0tPm1lZGlhX3N3aXRjaGVyID0ga3RocmVhZF9jcmVhdGUobWVkaWF0aHJl
YWRmbiwKLQkJCQkJCSAgICBmbSwgInRpZm0vJXUiLCBmbS0+aWQpOwotCi0JCWlmICghSVNfRVJS
KGZtLT5tZWRpYV9zd2l0Y2hlcikpCi0JCQlyZXR1cm4gY2xhc3NfZGV2aWNlX2FkZCgmZm0tPmNk
ZXYpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOwogCisJc25wcmludGYoZm0tPmNkZXYuY2xhc3Nf
aWQsIEJVU19JRF9TSVpFLCAidGlmbSV1IiwgZm0tPmlkKTsKKwlyYyA9IGNsYXNzX2RldmljZV9h
ZGQoJmZtLT5jZGV2KTsKKwlpZiAocmMpIHsKIAkJc3Bpbl9sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9j
ayk7CiAJCWlkcl9yZW1vdmUoJnRpZm1fYWRhcHRlcl9pZHIsIGZtLT5pZCk7CiAJCXNwaW5fdW5s
b2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7Ci0JCXJjID0gLUVOT01FTTsKKwkJcmV0dXJuIHJjOwog
CX0KLQlyZXR1cm4gcmM7CisKKwlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wodGlmbV9hZGRf
YWRhcHRlcik7CiAKIHZvaWQgdGlmbV9yZW1vdmVfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVy
ICpmbSkKIHsKLQljbGFzc19kZXZpY2VfZGVsKCZmbS0+Y2Rldik7CisJdW5zaWduZWQgaW50IGNu
dDsKKworCWZsdXNoX3dvcmtxdWV1ZSh3b3JrcXVldWUpOworCWZvciAoY250ID0gMDsgY250IDwg
Zm0tPm51bV9zb2NrZXRzOyArK2NudCkgeworCQlpZiAoZm0tPnNvY2tldHNbY250XS5kZXYpCisJ
CQlkZXZpY2VfdW5yZWdpc3RlcigmZm0tPnNvY2tldHNbY250XS5kZXYtPmRldik7CisJfQogCiAJ
c3Bpbl9sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7CiAJaWRyX3JlbW92ZSgmdGlmbV9hZGFwdGVy
X2lkciwgZm0tPmlkKTsKIAlzcGluX3VubG9jaygmdGlmbV9hZGFwdGVyX2xvY2spOworCWNsYXNz
X2RldmljZV9kZWwoJmZtLT5jZGV2KTsKIH0KIEVYUE9SVF9TWU1CT0wodGlmbV9yZW1vdmVfYWRh
cHRlcik7CiAKLXZvaWQgdGlmbV9mcmVlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit2b2lk
IHRpZm1fZnJlZV9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKQogewotCXN0cnVjdCB0
aWZtX2RldiAqZm1fZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYp
OwotCWtmcmVlKGZtX2Rldik7CisJY2xhc3NfZGV2aWNlX3B1dCgmZm0tPmNkZXYpOwogfQotRVhQ
T1JUX1NZTUJPTCh0aWZtX2ZyZWVfZGV2aWNlKTsKK0VYUE9SVF9TWU1CT0wodGlmbV9mcmVlX2Fk
YXB0ZXIpOwogCi1zdGF0aWMgdm9pZCB0aWZtX2R1bW15X3NpZ25hbF9pcnEoc3RydWN0IHRpZm1f
ZGV2ICpzb2NrLAotCQkJCSAgdW5zaWduZWQgaW50IHNvY2tfaXJxX3N0YXR1cykKK3ZvaWQgdGlm
bV9mcmVlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0JcmV0dXJuOworCXN0cnVjdCB0
aWZtX2RldiAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsK
KwlrZnJlZShzb2NrKTsKIH0KK0VYUE9SVF9TWU1CT0wodGlmbV9mcmVlX2RldmljZSk7CiAKLXN0
cnVjdCB0aWZtX2RldiAqdGlmbV9hbGxvY19kZXZpY2Uoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0p
CitzdHJ1Y3QgdGlmbV9kZXYgKnRpZm1fYWxsb2NfZGV2aWNlKHN0cnVjdCB0aWZtX2FkYXB0ZXIg
KmZtLCB1bnNpZ25lZCBpbnQgaWQsCisJCQkJICAgdW5zaWduZWQgY2hhciB0eXBlKQogewotCXN0
cnVjdCB0aWZtX2RldiAqZGV2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHRpZm1fZGV2KSwgR0ZQ
X0tFUk5FTCk7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gTlVMTDsKIAotCWlmIChkZXYpIHsK
LQkJc3Bpbl9sb2NrX2luaXQoJmRldi0+bG9jayk7CisJaWYgKCF0aWZtX21lZGlhX3R5cGVfbmFt
ZSh0eXBlLCAwKSkKKwkJcmV0dXJuIHNvY2s7CiAKLQkJZGV2LT5kZXYucGFyZW50ID0gZm0tPmRl
djsKLQkJZGV2LT5kZXYuYnVzID0gJnRpZm1fYnVzX3R5cGU7Ci0JCWRldi0+ZGV2LnJlbGVhc2Ug
PSB0aWZtX2ZyZWVfZGV2aWNlOwotCQlkZXYtPnNpZ25hbF9pcnEgPSB0aWZtX2R1bW15X3NpZ25h
bF9pcnE7CisJc29jayA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB0aWZtX2RldiksIEdGUF9LRVJO
RUwpOworCWlmIChzb2NrKSB7CisJCXNwaW5fbG9ja19pbml0KCZzb2NrLT5sb2NrKTsKKwkJc29j
ay0+dHlwZSA9IHR5cGU7CisJCXNvY2stPnNvY2tldF9pZCA9IGlkOworCQlzb2NrLT5ldmVudCA9
IHRpZm1fZHVtbXlfZXZlbnQ7CisJCXNvY2stPmRhdGFfZXZlbnQgPSB0aWZtX2R1bW15X2V2ZW50
OworCisJCXNvY2stPmRldi5wYXJlbnQgPSBmbS0+Y2Rldi5kZXY7CisJCXNvY2stPmRldi5idXMg
PSAmdGlmbV9idXNfdHlwZTsKKwkJc29jay0+ZGV2LmRtYV9tYXNrID0gZm0tPmNkZXYuZGV2LT5k
bWFfbWFzazsKKwkJc29jay0+ZGV2LnJlbGVhc2UgPSB0aWZtX2ZyZWVfZGV2aWNlOworCisJCXNu
cHJpbnRmKHNvY2stPmRldi5idXNfaWQsIEJVU19JRF9TSVpFLAorCQkJICJ0aWZtXyVzJXU6JXUi
LCB0aWZtX21lZGlhX3R5cGVfbmFtZSh0eXBlLCAyKSwKKwkJCSBmbS0+aWQsIGlkKTsKKwkJcHJp
bnRrKEtFUk5fSU5GTyBEUklWRVJfTkFNRQorCQkgICAgICAgIjogJXMgY2FyZCBkZXRlY3RlZCBp
biBzb2NrZXQgJXU6JXVcbiIsCisJCSAgICAgICB0aWZtX21lZGlhX3R5cGVfbmFtZSh0eXBlLCAw
KSwgZm0tPmlkLCBpZCk7CiAJfQotCXJldHVybiBkZXY7CisJcmV0dXJuIHNvY2s7CiB9CiBFWFBP
UlRfU1lNQk9MKHRpZm1fYWxsb2NfZGV2aWNlKTsKIApAQCAtMjE4LDU0ICszMDQsMTUgQEAgdm9p
ZCB0aWZtX3VubWFwX3NnKHN0cnVjdCB0aWZtX2RldiAqc29jawogfQogRVhQT1JUX1NZTUJPTCh0
aWZtX3VubWFwX3NnKTsKIAotc3RhdGljIGludCB0aWZtX2RldmljZV9wcm9iZShzdHJ1Y3QgZGV2
aWNlICpkZXYpCit2b2lkIHRpZm1fcXVldWVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp
CiB7Ci0Jc3RydWN0IHRpZm1fZHJpdmVyICpkcnY7Ci0Jc3RydWN0IHRpZm1fZGV2ICpmbV9kZXY7
Ci0JaW50IHJjID0gMDsKLQljb25zdCB0aWZtX21lZGlhX2lkICppZDsKLQotCWRydiA9IGNvbnRh
aW5lcl9vZihkZXYtPmRyaXZlciwgc3RydWN0IHRpZm1fZHJpdmVyLCBkcml2ZXIpOwotCWZtX2Rl
diA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsKLQlnZXRfZGV2aWNl
KGRldik7Ci0JaWYgKCFmbV9kZXYtPmRydiAmJiBkcnYtPnByb2JlICYmIGRydi0+aWRfdGFibGUp
IHsKLQkJcmMgPSAtRU5PREVWOwotCQlpZCA9IHRpZm1fZGV2aWNlX21hdGNoKGRydi0+aWRfdGFi
bGUsIGZtX2Rldik7Ci0JCWlmIChpZCkKLQkJCXJjID0gZHJ2LT5wcm9iZShmbV9kZXYpOwotCQlp
ZiAocmMgPj0gMCkgewotCQkJcmMgPSAwOwotCQkJZm1fZGV2LT5kcnYgPSBkcnY7Ci0JCX0KLQl9
Ci0JaWYgKHJjKQotCQlwdXRfZGV2aWNlKGRldik7Ci0JcmV0dXJuIHJjOwotfQotCi1zdGF0aWMg
aW50IHRpZm1fZGV2aWNlX3JlbW92ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IHRp
Zm1fZGV2ICpmbV9kZXYgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7
Ci0Jc3RydWN0IHRpZm1fZHJpdmVyICpkcnYgPSBmbV9kZXYtPmRydjsKLQotCWlmIChkcnYpIHsK
LQkJZm1fZGV2LT5zaWduYWxfaXJxID0gdGlmbV9kdW1teV9zaWduYWxfaXJxOwotCQlpZiAoZHJ2
LT5yZW1vdmUpCi0JCQlkcnYtPnJlbW92ZShmbV9kZXYpOwotCQlmbV9kZXYtPmRydiA9IE5VTEw7
Ci0JfQotCi0JcHV0X2RldmljZShkZXYpOwotCXJldHVybiAwOworCXF1ZXVlX3dvcmsod29ya3F1
ZXVlLCB3b3JrKTsKIH0KK0VYUE9SVF9TWU1CT0wodGlmbV9xdWV1ZV93b3JrKTsKIAogaW50IHRp
Zm1fcmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2KQogewogCWRydi0+ZHJp
dmVyLmJ1cyA9ICZ0aWZtX2J1c190eXBlOwotCWRydi0+ZHJpdmVyLnByb2JlID0gdGlmbV9kZXZp
Y2VfcHJvYmU7Ci0JZHJ2LT5kcml2ZXIucmVtb3ZlID0gdGlmbV9kZXZpY2VfcmVtb3ZlOwotCWRy
di0+ZHJpdmVyLnN1c3BlbmQgPSB0aWZtX2RldmljZV9zdXNwZW5kOwotCWRydi0+ZHJpdmVyLnJl
c3VtZSA9IHRpZm1fZGV2aWNlX3Jlc3VtZTsKIAogCXJldHVybiBkcml2ZXJfcmVnaXN0ZXIoJmRy
di0+ZHJpdmVyKTsKIH0KQEAgLTI3OSwxMyArMzI2LDI1IEBAIEVYUE9SVF9TWU1CT0wodGlmbV91
bnJlZ2lzdGVyX2RyaXZlcik7CiAKIHN0YXRpYyBpbnQgX19pbml0IHRpZm1faW5pdCh2b2lkKQog
ewotCWludCByYyA9IGJ1c19yZWdpc3RlcigmdGlmbV9idXNfdHlwZSk7CisJaW50IHJjOwogCi0J
aWYgKCFyYykgewotCQlyYyA9IGNsYXNzX3JlZ2lzdGVyKCZ0aWZtX2FkYXB0ZXJfY2xhc3MpOwot
CQlpZiAocmMpCi0JCQlidXNfdW5yZWdpc3RlcigmdGlmbV9idXNfdHlwZSk7Ci0JfQorCXdvcmtx
dWV1ZSA9IGNyZWF0ZV9mcmVlemVhYmxlX3dvcmtxdWV1ZSgidGlmbSIpOworCWlmICghd29ya3F1
ZXVlKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJjID0gYnVzX3JlZ2lzdGVyKCZ0aWZtX2J1c190
eXBlKTsKKworCWlmIChyYykKKwkJZ290byBlcnJfb3V0X3dxOworCisJcmMgPSBjbGFzc19yZWdp
c3RlcigmdGlmbV9hZGFwdGVyX2NsYXNzKTsKKwlpZiAoIXJjKQorCQlyZXR1cm4gMDsKKworCWJ1
c191bnJlZ2lzdGVyKCZ0aWZtX2J1c190eXBlKTsKKworZXJyX291dF93cToKKwlkZXN0cm95X3dv
cmtxdWV1ZSh3b3JrcXVldWUpOwogCiAJcmV0dXJuIHJjOwogfQpAQCAtMjk0LDYgKzM1Myw3IEBA
IHN0YXRpYyB2b2lkIF9fZXhpdCB0aWZtX2V4aXQodm9pZCkKIHsKIAljbGFzc191bnJlZ2lzdGVy
KCZ0aWZtX2FkYXB0ZXJfY2xhc3MpOwogCWJ1c191bnJlZ2lzdGVyKCZ0aWZtX2J1c190eXBlKTsK
KwlkZXN0cm95X3dvcmtxdWV1ZSh3b3JrcXVldWUpOwogfQogCiBzdWJzeXNfaW5pdGNhbGwodGlm
bV9pbml0KTsKSW5kZXg6IGtlcm5lbC9saW51eC0yLjYuMjEtZ2VudG9vL2RyaXZlcnMvbW1jL3Rp
Zm1fc2QuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBrZXJuZWwub3JpZy9saW51eC0yLjYuMjEtZ2VudG9vL2Ry
aXZlcnMvbW1jL3RpZm1fc2QuYworKysga2VybmVsL2xpbnV4LTIuNi4yMS1nZW50b28vZHJpdmVy
cy9tbWMvdGlmbV9zZC5jCkBAIC03LDE3ICs3LDE5IEBACiAgKiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwogICogcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCiAgKgorICogU3BlY2lhbCB0aGFu
a3MgdG8gQnJhZCBDYW1wYmVsbCBmb3IgZXh0ZW5zaXZlIHRlc3Rpbmcgb2YgdGhpcyBkcml2ZXIu
CisgKgogICovCiAKIAotI2luY2x1ZGUgPGxpbnV4L3RpZm0uaD4KKyNpbmNsdWRlICJsaW51eC90
aWZtLmgiCiAjaW5jbHVkZSA8bGludXgvbW1jL3Byb3RvY29sLmg+CiAjaW5jbHVkZSA8bGludXgv
bW1jL2hvc3QuaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8YXNtL2lv
Lmg+CiAKICNkZWZpbmUgRFJJVkVSX05BTUUgInRpZm1fc2QiCi0jZGVmaW5lIERSSVZFUl9WRVJT
SU9OICIwLjciCisjZGVmaW5lIERSSVZFUl9WRVJTSU9OICIwLjgiCiAKIHN0YXRpYyBpbnQgbm9f
ZG1hID0gMDsKIHN0YXRpYyBpbnQgZml4ZWRfdGltZW91dCA9IDA7CkBAIC0zNiw5ICszOCw5IEBA
IG1vZHVsZV9wYXJhbShmaXhlZF90aW1lb3V0LCBib29sLCAwNjQ0KTsKICNkZWZpbmUgVElGTV9N
TUNTRF9JTkFCICAgICAgIDB4MDA4MCAgIC8qIGFib3J0IC8gaW5pdGlhbGl6ZSBjb21tYW5kICov
CiAjZGVmaW5lIFRJRk1fTU1DU0RfUkVBRCAgICAgICAweDgwMDAKIAotI2RlZmluZSBUSUZNX01N
Q1NEX0RBVEFNQVNLICAgMHg0MDFkICAgLyogc2V0IGJpdHM6IENFUlIsIEVPRkIsIEJSUywgQ0Is
IEVPQyAqLwogI2RlZmluZSBUSUZNX01NQ1NEX0VSUk1BU0sgICAgMHgwMWUwICAgLyogc2V0IGJp
dHM6IENDUkMsIENUTywgRENSQywgRFRPICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfRU9DICAgICAg
ICAweDAwMDEgICAvKiBlbmQgb2YgY29tbWFuZCBwaGFzZSAgKi8KKyNkZWZpbmUgVElGTV9NTUNT
RF9DRCAgICAgICAgIDB4MDAwMiAgIC8qIGNhcmQgZGV0ZWN0ICAgICAgICAgICAqLwogI2RlZmlu
ZSBUSUZNX01NQ1NEX0NCICAgICAgICAgMHgwMDA0ICAgLyogY2FyZCBlbnRlciBidXN5IHN0YXRl
ICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfQlJTICAgICAgICAweDAwMDggICAvKiBibG9jayByZWNl
aXZlZC9zZW50ICAgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9FT0ZCICAgICAgIDB4MDAxMCAgIC8q
IGNhcmQgZXhpdCBidXN5IHN0YXRlICAqLwpAQCAtNDgsOCArNTAsMTMgQEAgbW9kdWxlX3BhcmFt
KGZpeGVkX3RpbWVvdXQsIGJvb2wsIDA2NDQpOwogI2RlZmluZSBUSUZNX01NQ1NEX0NDUkMgICAg
ICAgMHgwMTAwICAgLyogY29tbWFuZCBjcmMgZXJyb3IgICAgICovCiAjZGVmaW5lIFRJRk1fTU1D
U0RfQUYgICAgICAgICAweDA0MDAgICAvKiBmaWZvIGFsbW9zdCBmdWxsICAgICAgKi8KICNkZWZp
bmUgVElGTV9NTUNTRF9BRSAgICAgICAgIDB4MDgwMCAgIC8qIGZpZm8gYWxtb3N0IGVtcHR5ICAg
ICAqLworI2RlZmluZSBUSUZNX01NQ1NEX09DUkIgICAgICAgMHgxMDAwICAgLyogT0NSIGJ1c3kg
ICAgICAgICAgICAgICovCisjZGVmaW5lIFRJRk1fTU1DU0RfQ0lSUSAgICAgICAweDIwMDAgICAv
KiBjYXJkIGlycSAoY21kNDAvc2RpbykgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9DRVJSICAgICAg
IDB4NDAwMCAgIC8qIGNhcmQgc3RhdHVzIGVycm9yICAgICAqLwogCisjZGVmaW5lIFRJRk1fTU1D
U0RfT0RUTyAgICAgICAweDAwNDAgICAvKiBvcGVuIGRyYWluIC8gZXh0ZW5kZWQgdGltZW91dCAq
LworI2RlZmluZSBUSUZNX01NQ1NEX0NBUkRfUk8gICAgMHgwMjAwICAgLyogY2FyZCBpcyByZWFk
LW9ubHkgICAgICovCisKICNkZWZpbmUgVElGTV9NTUNTRF9GSUZPX1NJWkUgIDB4MDAyMAogCiAj
ZGVmaW5lIFRJRk1fTU1DU0RfUlNQX1IwICAgICAweDAwMDAKQEAgLTY3LDk3ICs3NCwyNTcgQEAg
bW9kdWxlX3BhcmFtKGZpeGVkX3RpbWVvdXQsIGJvb2wsIDA2NDQpOwogI2RlZmluZSBUSUZNX01N
Q1NEX0NNRF9BQyAgICAgMHgyMDAwCiAjZGVmaW5lIFRJRk1fTU1DU0RfQ01EX0FEVEMgICAweDMw
MDAKIAotdHlwZWRlZiBlbnVtIHsKLQlJRExFID0gMCwKLQlDTUQsICAgIC8qIG1haW4gY29tbWFu
ZCBlbmRlZCAgICAgICAgICAgICAgICAgICAqLwotCUJSUywgICAgLyogYmxvY2sgdHJhbnNmZXIg
ZmluaXNoZWQgICAgICAgICAgICAgICovCi0JU0NNRCwgICAvKiBzdG9wIGNvbW1hbmQgZW5kZWQg
ICAgICAgICAgICAgICAgICAgKi8KLQlDQVJELCAgIC8qIGNhcmQgbGVmdCBidXN5IHN0YXRlICAg
ICAgICAgICAgICAgICAqLwotCUZJRk8sICAgLyogRklGTyBvcGVyYXRpb24gY29tcGxldGVkICh1
bmNlcnRhaW4pICovCi0JUkVBRFkKLX0gY2FyZF9zdGF0ZV90OworI2RlZmluZSBUSUZNX01NQ1NE
X01BWF9CTE9DS19TSVpFICAweDA4MDAKIAogZW51bSB7Ci0JRklGT19SRFkgICA9IDB4MDAwMSwg
ICAgIC8qIGhhcmR3YXJlIGRlcGVuZGVudCB2YWx1ZSAqLwotCUVKRUNUICAgICAgPSAweDAwMDQs
Ci0JRUpFQ1RfRE9ORSA9IDB4MDAwOCwKLQlDQVJEX0JVU1kgID0gMHgwMDEwLAotCU9QRU5EUkFJ
TiAgPSAweDAwNDAsICAgICAvKiBoYXJkd2FyZSBkZXBlbmRlbnQgdmFsdWUgKi8KLQlDQVJEX0VW
RU5UID0gMHgwMTAwLCAgICAgLyogaGFyZHdhcmUgZGVwZW5kZW50IHZhbHVlICovCi0JQ0FSRF9S
TyAgICA9IDB4MDIwMCwgICAgIC8qIGhhcmR3YXJlIGRlcGVuZGVudCB2YWx1ZSAqLwotCUZJRk9f
RVZFTlQgPSAweDEwMDAwIH07ICAvKiBoYXJkd2FyZSBkZXBlbmRlbnQgdmFsdWUgKi8KKwlDTURf
UkVBRFkgICAgPSAweDAwMDEsCisJRklGT19SRUFEWSAgID0gMHgwMDAyLAorCUJSU19SRUFEWSAg
ICA9IDB4MDAwNCwKKwlTQ01EX0FDVElWRSAgPSAweDAwMDgsCisJU0NNRF9SRUFEWSAgID0gMHgw
MDEwLAorCUNBUkRfQlVTWSAgICA9IDB4MDAyMCwKKwlEQVRBX0NBUlJZICAgPSAweDAwNDAKK307
CiAKIHN0cnVjdCB0aWZtX3NkIHsKLQlzdHJ1Y3QgdGlmbV9kZXYgICAgICpkZXY7CisJc3RydWN0
IHRpZm1fZGV2ICAgICAgICpkZXY7CiAKLQl1bnNpZ25lZCBpbnQgICAgICAgIGZsYWdzOwotCWNh
cmRfc3RhdGVfdCAgICAgICAgc3RhdGU7Ci0JdW5zaWduZWQgaW50ICAgICAgICBjbGtfZnJlcTsK
LQl1bnNpZ25lZCBpbnQgICAgICAgIGNsa19kaXY7Ci0JdW5zaWduZWQgbG9uZyAgICAgICB0aW1l
b3V0X2ppZmZpZXM7CisJdW5zaWduZWQgc2hvcnQgICAgICAgIGVqZWN0OjEsCisJCQkgICAgICBv
cGVuX2RyYWluOjEsCisJCQkgICAgICBub19kbWE6MTsKKwl1bnNpZ25lZCBzaG9ydCAgICAgICAg
Y21kX2ZsYWdzOworCisJdW5zaWduZWQgaW50ICAgICAgICAgIGNsa19mcmVxOworCXVuc2lnbmVk
IGludCAgICAgICAgICBjbGtfZGl2OworCXVuc2lnbmVkIGxvbmcgICAgICAgICB0aW1lb3V0X2pp
ZmZpZXM7CiAKIAlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgZmluaXNoX3Rhc2tsZXQ7CiAJc3RydWN0
IHRpbWVyX2xpc3QgICAgIHRpbWVyOwogCXN0cnVjdCBtbWNfcmVxdWVzdCAgICAqcmVxOwotCXdh
aXRfcXVldWVfaGVhZF90ICAgICBub3RpZnk7Ci0KLQlzaXplX3QgICAgICAgICAgICAgICAgd3Jp
dHRlbl9ibG9ja3M7Ci0Jc2l6ZV90ICAgICAgICAgICAgICAgIGJ1ZmZlcl9zaXplOwotCXNpemVf
dCAgICAgICAgICAgICAgICBidWZmZXJfcG9zOwogCisJaW50ICAgICAgICAgICAgICAgICAgIHNn
X2xlbjsKKwlpbnQgICAgICAgICAgICAgICAgICAgc2dfcG9zOworCXVuc2lnbmVkIGludCAgICAg
ICAgICBibG9ja19wb3M7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICAgIGJvdW5jZV9idWY7CisJdW5z
aWduZWQgY2hhciAgICAgICAgIGJvdW5jZV9idWZfZGF0YVtUSUZNX01NQ1NEX01BWF9CTE9DS19T
SVpFXTsKIH07CiAKLXN0YXRpYyBjaGFyKiB0aWZtX3NkX2RhdGFfYnVmZmVyKHN0cnVjdCBtbWNf
ZGF0YSAqZGF0YSkKKy8qIGZvciBzb21lIHJlYXNvbiwgaG9zdCB3b24ndCByZXNwb25kIGNvcnJl
Y3RseSB0byByZWFkdy93cml0ZXcgKi8KK3N0YXRpYyB2b2lkIHRpZm1fc2RfcmVhZF9maWZvKHN0
cnVjdCB0aWZtX3NkICpob3N0LCBzdHJ1Y3QgcGFnZSAqcGcsCisJCQkgICAgICB1bnNpZ25lZCBp
bnQgb2ZmLCB1bnNpZ25lZCBpbnQgY250KQogewotCXJldHVybiBwYWdlX2FkZHJlc3MoZGF0YS0+
c2ctPnBhZ2UpICsgZGF0YS0+c2ctPm9mZnNldDsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBo
b3N0LT5kZXY7CisJdW5zaWduZWQgY2hhciAqYnVmOworCXVuc2lnbmVkIGludCBwb3MgPSAwLCB2
YWw7CisKKwlidWYgPSBrbWFwX2F0b21pYyhwZywgS01fQklPX0RTVF9JUlEpICsgb2ZmOworCWlm
IChob3N0LT5jbWRfZmxhZ3MgJiBEQVRBX0NBUlJZKSB7CisJCWJ1Zltwb3MrK10gPSBob3N0LT5i
b3VuY2VfYnVmX2RhdGFbMF07CisJCWhvc3QtPmNtZF9mbGFncyAmPSB+REFUQV9DQVJSWTsKKwl9
CisKKwl3aGlsZSAocG9zIDwgY250KSB7CisJCXZhbCA9IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NL
X01NQ1NEX0RBVEEpOworCQlidWZbcG9zKytdID0gdmFsICYgMHhmZjsKKwkJaWYgKHBvcyA9PSBj
bnQpIHsKKwkJCWhvc3QtPmJvdW5jZV9idWZfZGF0YVswXSA9ICh2YWwgPj4gOCkgJiAweGZmOwor
CQkJaG9zdC0+Y21kX2ZsYWdzIHw9IERBVEFfQ0FSUlk7CisJCQlicmVhazsKKwkJfQorCQlidWZb
cG9zKytdID0gKHZhbCA+PiA4KSAmIDB4ZmY7CisJfQorCWt1bm1hcF9hdG9taWMoYnVmIC0gb2Zm
LCBLTV9CSU9fRFNUX0lSUSk7CiB9CiAKLXN0YXRpYyBpbnQgdGlmbV9zZF90cmFuc2Zlcl9kYXRh
KHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0IHRpZm1fc2QgKmhvc3QsCi0JCQkJIHVuc2ln
bmVkIGludCBob3N0X3N0YXR1cykKK3N0YXRpYyB2b2lkIHRpZm1fc2Rfd3JpdGVfZmlmbyhzdHJ1
Y3QgdGlmbV9zZCAqaG9zdCwgc3RydWN0IHBhZ2UgKnBnLAorCQkJICAgICAgIHVuc2lnbmVkIGlu
dCBvZmYsIHVuc2lnbmVkIGludCBjbnQpCiB7Ci0Jc3RydWN0IG1tY19jb21tYW5kICpjbWQgPSBo
b3N0LT5yZXEtPmNtZDsKLQl1bnNpZ25lZCBpbnQgdF92YWwgPSAwLCBjbnQgPSAwOwotCWNoYXIg
KmJ1ZmZlcjsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7CisJdW5zaWduZWQg
Y2hhciAqYnVmOworCXVuc2lnbmVkIGludCBwb3MgPSAwLCB2YWw7CiAKLQlpZiAoaG9zdF9zdGF0
dXMgJiBUSUZNX01NQ1NEX0JSUykgewotCQkvKiBpbiBub24tZG1hIHJ4IG1vZGUgQlJTIGZpcmVz
IHdoZW4gZmlmbyBpcyBzdGlsbCBub3QgZW1wdHkgKi8KLQkJaWYgKG5vX2RtYSAmJiAoY21kLT5k
YXRhLT5mbGFncyAmIE1NQ19EQVRBX1JFQUQpKSB7Ci0JCQlidWZmZXIgPSB0aWZtX3NkX2RhdGFf
YnVmZmVyKGhvc3QtPnJlcS0+ZGF0YSk7Ci0JCQl3aGlsZSAoaG9zdC0+YnVmZmVyX3NpemUgPiBo
b3N0LT5idWZmZXJfcG9zKSB7Ci0JCQkJdF92YWwgPSByZWFkbChzb2NrLT5hZGRyICsgU09DS19N
TUNTRF9EQVRBKTsKLQkJCQlidWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSA9IHRfdmFsICYgMHhm
ZjsKLQkJCQlidWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSA9Ci0JCQkJCQkJKHRfdmFsID4+IDgp
ICYgMHhmZjsKLQkJCX0KKwlidWYgPSBrbWFwX2F0b21pYyhwZywgS01fQklPX1NSQ19JUlEpICsg
b2ZmOworCWlmIChob3N0LT5jbWRfZmxhZ3MgJiBEQVRBX0NBUlJZKSB7CisJCXZhbCA9IGhvc3Qt
PmJvdW5jZV9idWZfZGF0YVswXSB8ICgoYnVmW3BvcysrXSA8PCA4KSAmIDB4ZmYwMCk7CisJCXdy
aXRlbCh2YWwsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0RBVEEpOworCQlob3N0LT5jbWRfZmxh
Z3MgJj0gfkRBVEFfQ0FSUlk7CisJfQorCisJd2hpbGUgKHBvcyA8IGNudCkgeworCQl2YWwgPSBi
dWZbcG9zKytdOworCQlpZiAocG9zID09IGNudCkgeworCQkJaG9zdC0+Ym91bmNlX2J1Zl9kYXRh
WzBdID0gdmFsICYgMHhmZjsKKwkJCWhvc3QtPmNtZF9mbGFncyB8PSBEQVRBX0NBUlJZOworCQkJ
YnJlYWs7CiAJCX0KLQkJcmV0dXJuIDE7Ci0JfSBlbHNlIGlmIChub19kbWEpIHsKLQkJYnVmZmVy
ID0gdGlmbV9zZF9kYXRhX2J1ZmZlcihob3N0LT5yZXEtPmRhdGEpOwotCQlpZiAoKGNtZC0+ZGF0
YS0+ZmxhZ3MgJiBNTUNfREFUQV9SRUFEKSAmJgotCQkJCShob3N0X3N0YXR1cyAmIFRJRk1fTU1D
U0RfQUYpKSB7Ci0JCQlmb3IgKGNudCA9IDA7IGNudCA8IFRJRk1fTU1DU0RfRklGT19TSVpFOyBj
bnQrKykgewotCQkJCXRfdmFsID0gcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7
Ci0JCQkJaWYgKGhvc3QtPmJ1ZmZlcl9zaXplID4gaG9zdC0+YnVmZmVyX3BvcykgewotCQkJCQli
dWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSA9Ci0JCQkJCQkJdF92YWwgJiAweGZmOwotCQkJCQli
dWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSA9Ci0JCQkJCQkJKHRfdmFsID4+IDgpICYgMHhmZjsK
LQkJCQl9Ci0JCQl9Ci0JCX0gZWxzZSBpZiAoKGNtZC0+ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9X
UklURSkKLQkJCSAgICYmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQUUpKSB7Ci0JCQlmb3Ig
KGNudCA9IDA7IGNudCA8IFRJRk1fTU1DU0RfRklGT19TSVpFOyBjbnQrKykgewotCQkJCWlmICho
b3N0LT5idWZmZXJfc2l6ZSA+IGhvc3QtPmJ1ZmZlcl9wb3MpIHsKLQkJCQkJdF92YWwgPSBidWZm
ZXJbaG9zdC0+YnVmZmVyX3BvcysrXQotCQkJCQkJJiAweDAwZmY7Ci0JCQkJCXRfdmFsIHw9ICgo
YnVmZmVyW2hvc3QtPmJ1ZmZlcl9wb3MrK10pCi0JCQkJCQkgIDw8IDgpICYgMHhmZjAwOwotCQkJ
CQl3cml0ZWwodF92YWwsCi0JCQkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9EQVRB
KTsKLQkJCQl9CisJCXZhbCB8PSAoYnVmW3BvcysrXSA8PCA4KSAmIDB4ZmYwMDsKKwkJd3JpdGVs
KHZhbCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7CisJfQorCWt1bm1hcF9hdG9taWMo
YnVmIC0gb2ZmLCBLTV9CSU9fU1JDX0lSUSk7Cit9CisKK3N0YXRpYyB2b2lkIHRpZm1fc2RfdHJh
bnNmZXJfZGF0YShzdHJ1Y3QgdGlmbV9zZCAqaG9zdCkKK3sKKwlzdHJ1Y3QgbW1jX2RhdGEgKnJf
ZGF0YSA9IGhvc3QtPnJlcS0+Y21kLT5kYXRhOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2cgPSBy
X2RhdGEtPnNnOworCXVuc2lnbmVkIGludCBvZmYsIGNudCwgdF9zaXplID0gVElGTV9NTUNTRF9G
SUZPX1NJWkUgKiAyOworCXVuc2lnbmVkIGludCBwX29mZiwgcF9jbnQ7CisJc3RydWN0IHBhZ2Ug
KnBnOworCisJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5zZ19sZW4pCisJCXJldHVybjsKKwl3
aGlsZSAodF9zaXplKSB7CisJCWNudCA9IHNnW2hvc3QtPnNnX3Bvc10ubGVuZ3RoIC0gaG9zdC0+
YmxvY2tfcG9zOworCQlpZiAoIWNudCkgeworCQkJaG9zdC0+YmxvY2tfcG9zID0gMDsKKwkJCWhv
c3QtPnNnX3BvcysrOworCQkJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5zZ19sZW4pIHsKKwkJ
CQlpZiAoKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJCQkgICAgJiYgREFUQV9D
QVJSWSkKKwkJCQkJd3JpdGVsKGhvc3QtPmJvdW5jZV9idWZfZGF0YVswXSwKKwkJCQkJICAgICAg
IGhvc3QtPmRldi0+YWRkcgorCQkJCQkgICAgICAgKyBTT0NLX01NQ1NEX0RBVEEpOworCisJCQkJ
cmV0dXJuOwogCQkJfQorCQkJY250ID0gc2dbaG9zdC0+c2dfcG9zXS5sZW5ndGg7CisJCX0KKwkJ
b2ZmID0gc2dbaG9zdC0+c2dfcG9zXS5vZmZzZXQgKyBob3N0LT5ibG9ja19wb3M7CisKKwkJcGcg
PSBudGhfcGFnZShzZ1tob3N0LT5zZ19wb3NdLnBhZ2UsIG9mZiA+PiBQQUdFX1NISUZUKTsKKwkJ
cF9vZmYgPSBvZmZzZXRfaW5fcGFnZShvZmYpOworCQlwX2NudCA9IFBBR0VfU0laRSAtIHBfb2Zm
OworCQlwX2NudCA9IG1pbihwX2NudCwgY250KTsKKwkJcF9jbnQgPSBtaW4ocF9jbnQsIHRfc2l6
ZSk7CisKKwkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9SRUFEKQorCQkJdGlmbV9zZF9y
ZWFkX2ZpZm8oaG9zdCwgcGcsIHBfb2ZmLCBwX2NudCk7CisJCWVsc2UgaWYgKHJfZGF0YS0+Zmxh
Z3MgJiBNTUNfREFUQV9XUklURSkKKwkJCXRpZm1fc2Rfd3JpdGVfZmlmbyhob3N0LCBwZywgcF9v
ZmYsIHBfY250KTsKKworCQl0X3NpemUgLT0gcF9jbnQ7CisJCWhvc3QtPmJsb2NrX3BvcyArPSBw
X2NudDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHRpZm1fc2RfY29weV9wYWdlKHN0cnVjdCBwYWdl
ICpkc3QsIHVuc2lnbmVkIGludCBkc3Rfb2ZmLAorCQkJICAgICAgc3RydWN0IHBhZ2UgKnNyYywg
dW5zaWduZWQgaW50IHNyY19vZmYsCisJCQkgICAgICB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJ
dW5zaWduZWQgY2hhciAqc3JjX2J1ZiA9IGttYXBfYXRvbWljKHNyYywgS01fQklPX1NSQ19JUlEp
ICsgc3JjX29mZjsKKwl1bnNpZ25lZCBjaGFyICpkc3RfYnVmID0ga21hcF9hdG9taWMoZHN0LCBL
TV9CSU9fRFNUX0lSUSkgKyBkc3Rfb2ZmOworCisJbWVtY3B5KGRzdF9idWYsIHNyY19idWYsIGNv
dW50KTsKKworCWt1bm1hcF9hdG9taWMoZHN0X2J1ZiAtIGRzdF9vZmYsIEtNX0JJT19EU1RfSVJR
KTsKKwlrdW5tYXBfYXRvbWljKHNyY19idWYgLSBzcmNfb2ZmLCBLTV9CSU9fU1JDX0lSUSk7Cit9
CisKK3N0YXRpYyB2b2lkIHRpZm1fc2RfYm91bmNlX2Jsb2NrKHN0cnVjdCB0aWZtX3NkICpob3N0
LCBzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSkKK3sKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnID0g
cl9kYXRhLT5zZzsKKwl1bnNpZ25lZCBpbnQgdF9zaXplID0gcl9kYXRhLT5ibGtzejsKKwl1bnNp
Z25lZCBpbnQgb2ZmLCBjbnQ7CisJdW5zaWduZWQgaW50IHBfb2ZmLCBwX2NudDsKKwlzdHJ1Y3Qg
cGFnZSAqcGc7CisKKwlkZXZfZGJnKCZob3N0LT5kZXYtPmRldiwgImJvdW5jaW5nIGJsb2NrXG4i
KTsKKwl3aGlsZSAodF9zaXplKSB7CisJCWNudCA9IHNnW2hvc3QtPnNnX3Bvc10ubGVuZ3RoIC0g
aG9zdC0+YmxvY2tfcG9zOworCQlpZiAoIWNudCkgeworCQkJaG9zdC0+YmxvY2tfcG9zID0gMDsK
KwkJCWhvc3QtPnNnX3BvcysrOworCQkJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5zZ19sZW4p
CisJCQkJcmV0dXJuOworCQkJY250ID0gc2dbaG9zdC0+c2dfcG9zXS5sZW5ndGg7CiAJCX0KKwkJ
b2ZmID0gc2dbaG9zdC0+c2dfcG9zXS5vZmZzZXQgKyBob3N0LT5ibG9ja19wb3M7CisKKwkJcGcg
PSBudGhfcGFnZShzZ1tob3N0LT5zZ19wb3NdLnBhZ2UsIG9mZiA+PiBQQUdFX1NISUZUKTsKKwkJ
cF9vZmYgPSBvZmZzZXRfaW5fcGFnZShvZmYpOworCQlwX2NudCA9IFBBR0VfU0laRSAtIHBfb2Zm
OworCQlwX2NudCA9IG1pbihwX2NudCwgY250KTsKKwkJcF9jbnQgPSBtaW4ocF9jbnQsIHRfc2l6
ZSk7CisKKwkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJCXRpZm1fc2Rf
Y29weV9wYWdlKGhvc3QtPmJvdW5jZV9idWYucGFnZSwKKwkJCQkJICByX2RhdGEtPmJsa3N6IC0g
dF9zaXplLAorCQkJCQkgIHBnLCBwX29mZiwgcF9jbnQpOworCQllbHNlIGlmIChyX2RhdGEtPmZs
YWdzICYgTU1DX0RBVEFfUkVBRCkKKwkJCXRpZm1fc2RfY29weV9wYWdlKHBnLCBwX29mZiwgaG9z
dC0+Ym91bmNlX2J1Zi5wYWdlLAorCQkJCQkgIHJfZGF0YS0+Ymxrc3ogLSB0X3NpemUsIHBfY250
KTsKKworCQl0X3NpemUgLT0gcF9jbnQ7CisJCWhvc3QtPmJsb2NrX3BvcyArPSBwX2NudDsKKwl9
Cit9CisKK2ludCB0aWZtX3NkX3NldF9kbWFfZGF0YShzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwgc3Ry
dWN0IG1tY19kYXRhICpyX2RhdGEpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+
ZGV2OworCXVuc2lnbmVkIGludCB0X3NpemUgPSBUSUZNX0RNQV9UU0laRSAqIHJfZGF0YS0+Ymxr
c3o7CisJdW5zaWduZWQgaW50IGRtYV9sZW4sIGRtYV9ibGtfY250LCBkbWFfb2ZmOworCXN0cnVj
dCBzY2F0dGVybGlzdCAqc2cgPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAo
aG9zdC0+c2dfcG9zID09IGhvc3QtPnNnX2xlbikKKwkJcmV0dXJuIDE7CisKKwlpZiAoaG9zdC0+
Y21kX2ZsYWdzICYgREFUQV9DQVJSWSkgeworCQlob3N0LT5jbWRfZmxhZ3MgJj0gfkRBVEFfQ0FS
Ulk7CisJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkJdGlmbV9zZF9ib3VuY2VfYmxvY2soaG9z
dCwgcl9kYXRhKTsKKwkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCQlpZiAoaG9zdC0+c2df
cG9zID09IGhvc3QtPnNnX2xlbikKKwkJCXJldHVybiAxOworCX0KKworCXdoaWxlICgxKSB7CisJ
CWRtYV9sZW4gPSBzZ19kbWFfbGVuKCZyX2RhdGEtPnNnW2hvc3QtPnNnX3Bvc10pCisJCQkgIC0g
aG9zdC0+YmxvY2tfcG9zOworCQlpZiAoZG1hX2xlbikKKwkJCWJyZWFrOworCQlob3N0LT5ibG9j
a19wb3MgPSAwOworCQlob3N0LT5zZ19wb3MrKzsKKwkJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0
LT5zZ19sZW4pCisJCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoZG1hX2xlbiA8IHRfc2l6ZSkgewor
CQlkbWFfYmxrX2NudCA9IGRtYV9sZW4gLyByX2RhdGEtPmJsa3N6OworCQlkbWFfb2ZmID0gaG9z
dC0+YmxvY2tfcG9zOworCQlob3N0LT5ibG9ja19wb3MgKz0gZG1hX2Jsa19jbnQgKiByX2RhdGEt
PmJsa3N6OworCX0gZWxzZSB7CisJCWRtYV9ibGtfY250ID0gVElGTV9ETUFfVFNJWkU7CisJCWRt
YV9vZmYgPSBob3N0LT5ibG9ja19wb3M7CisJCWhvc3QtPmJsb2NrX3BvcyArPSB0X3NpemU7CiAJ
fQorCisJaWYgKGRtYV9ibGtfY250KQorCQlzZyA9ICZyX2RhdGEtPnNnW2hvc3QtPnNnX3Bvc107
CisJZWxzZSBpZiAoZG1hX2xlbikgeworCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dS
SVRFKSB7CisJCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCQl0aWZtX3NkX2JvdW5jZV9ibG9j
ayhob3N0LCByX2RhdGEpOworCQkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCQl9IGVsc2UK
KwkJCWhvc3QtPmNtZF9mbGFncyB8PSBEQVRBX0NBUlJZOworCisJCXNnID0gJmhvc3QtPmJvdW5j
ZV9idWY7CisJCWRtYV9vZmYgPSAwOworCQlkbWFfYmxrX2NudCA9IDE7CisJfSBlbHNlCisJCXJl
dHVybiAxOworCisJZGV2X2RiZygmc29jay0+ZGV2LCAic2V0dGluZyBkbWEgZm9yICVkIGJsb2Nr
c1xuIiwgZG1hX2Jsa19jbnQpOworCXdyaXRlbChzZ19kbWFfYWRkcmVzcyhzZykgKyBkbWFfb2Zm
LCBzb2NrLT5hZGRyICsgU09DS19ETUFfQUREUkVTUyk7CisJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBN
TUNfREFUQV9XUklURSkKKwkJd3JpdGVsKChkbWFfYmxrX2NudCA8PCA4KSB8IFRJRk1fRE1BX1RY
IHwgVElGTV9ETUFfRU4sCisJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7
CisJZWxzZQorCQl3cml0ZWwoKGRtYV9ibGtfY250IDw8IDgpIHwgVElGTV9ETUFfRU4sCisJCSAg
ICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7CisKIAlyZXR1cm4gMDsKIH0KIApA
QCAtMjA3LDcgKzM3NCw3IEBAIHN0YXRpYyB2b2lkIHRpZm1fc2RfZXhlYyhzdHJ1Y3QgdGlmbV9z
ZCAKIHsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7CiAJdW5zaWduZWQgaW50
IGNtZF9tYXNrID0gdGlmbV9zZF9vcF9mbGFncyhjbWQpIHwKLQkJCQkoaG9zdC0+ZmxhZ3MgJiBP
UEVORFJBSU4pOworCQkJCShob3N0LT5vcGVuX2RyYWluID8gVElGTV9NTUNTRF9PRFRPIDogMCk7
CiAKIAlpZiAoY21kLT5kYXRhICYmIChjbWQtPmRhdGEtPmZsYWdzICYgTU1DX0RBVEFfUkVBRCkp
CiAJCWNtZF9tYXNrIHw9IFRJRk1fTU1DU0RfUkVBRDsKQEAgLTIzMiwxOTEgKzM5OSwxOTQgQEAg
c3RhdGljIHZvaWQgdGlmbV9zZF9mZXRjaF9yZXNwKHN0cnVjdCBtbQogCQkgICAgICAgfCByZWFk
bChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9SRVNQT05TRSArIDB4MDApOwogfQogCi1zdGF0aWMg
dm9pZCB0aWZtX3NkX3Byb2Nlc3NfY21kKHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0IHRp
Zm1fc2QgKmhvc3QsCi0JCQkJICAgICAgIHVuc2lnbmVkIGludCBob3N0X3N0YXR1cykKK3N0YXRp
YyB2b2lkIHRpZm1fc2RfY2hlY2tfc3RhdHVzKHN0cnVjdCB0aWZtX3NkICpob3N0KQogeworCXN0
cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKIAlzdHJ1Y3QgbW1jX2NvbW1hbmQgKmNt
ZCA9IGhvc3QtPnJlcS0+Y21kOwogCi1jaGFuZ2Vfc3RhdGU6Ci0Jc3dpdGNoIChob3N0LT5zdGF0
ZSkgewotCWNhc2UgSURMRToKKwlpZiAoY21kLT5lcnJvciAhPSBNTUNfRVJSX05PTkUpCisJCWdv
dG8gZmluaXNoX3JlcXVlc3Q7CisKKwlpZiAoIShob3N0LT5jbWRfZmxhZ3MgJiBDTURfUkVBRFkp
KQogCQlyZXR1cm47Ci0JY2FzZSBDTUQ6Ci0JCWlmIChob3N0X3N0YXR1cyAmIChUSUZNX01NQ1NE
X0VPQyB8IFRJRk1fTU1DU0RfQ0VSUikpIHsKLQkJCXRpZm1fc2RfZmV0Y2hfcmVzcChjbWQsIHNv
Y2spOwotCQkJaWYgKGNtZC0+ZGF0YSkgewotCQkJCWhvc3QtPnN0YXRlID0gQlJTOwotCQkJfSBl
bHNlIHsKLQkJCQlob3N0LT5zdGF0ZSA9IFJFQURZOwotCQkJfQotCQkJZ290byBjaGFuZ2Vfc3Rh
dGU7Ci0JCX0KLQkJYnJlYWs7Ci0JY2FzZSBCUlM6Ci0JCWlmICh0aWZtX3NkX3RyYW5zZmVyX2Rh
dGEoc29jaywgaG9zdCwgaG9zdF9zdGF0dXMpKSB7Ci0JCQlpZiAoY21kLT5kYXRhLT5mbGFncyAm
IE1NQ19EQVRBX1dSSVRFKSB7Ci0JCQkJaG9zdC0+c3RhdGUgPSBDQVJEOwotCQkJfSBlbHNlIHsK
LQkJCQlpZiAobm9fZG1hKSB7Ci0JCQkJCWlmIChob3N0LT5yZXEtPnN0b3ApIHsKLQkJCQkJCXRp
Zm1fc2RfZXhlYyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOwotCQkJCQkJaG9zdC0+c3RhdGUgPSBT
Q01EOwotCQkJCQl9IGVsc2UgewotCQkJCQkJaG9zdC0+c3RhdGUgPSBSRUFEWTsKLQkJCQkJfQot
CQkJCX0gZWxzZSB7Ci0JCQkJCWhvc3QtPnN0YXRlID0gRklGTzsKLQkJCQl9Ci0JCQl9Ci0JCQln
b3RvIGNoYW5nZV9zdGF0ZTsKLQkJfQotCQlicmVhazsKLQljYXNlIFNDTUQ6Ci0JCWlmIChob3N0
X3N0YXR1cyAmIFRJRk1fTU1DU0RfRU9DKSB7Ci0JCQl0aWZtX3NkX2ZldGNoX3Jlc3AoaG9zdC0+
cmVxLT5zdG9wLCBzb2NrKTsKLQkJCWhvc3QtPnN0YXRlID0gUkVBRFk7Ci0JCQlnb3RvIGNoYW5n
ZV9zdGF0ZTsKKworCWlmIChjbWQtPmRhdGEpIHsKKwkJaWYgKGNtZC0+ZGF0YS0+ZXJyb3IgIT0g
TU1DX0VSUl9OT05FKSB7CisJCQlpZiAoKGhvc3QtPmNtZF9mbGFncyAmIFNDTURfQUNUSVZFKQor
CQkJICAgICYmICEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9SRUFEWSkpCisJCQkJcmV0dXJuOwor
CisJCQlnb3RvIGZpbmlzaF9yZXF1ZXN0OwogCQl9Ci0JCWJyZWFrOwotCWNhc2UgQ0FSRDoKLQkJ
ZGV2X2RiZygmc29jay0+ZGV2LCAid2FpdGluZyBmb3IgQ0FSRCwgaGF2ZSAlemQgYmxvY2tzXG4i
LAotCQkJaG9zdC0+d3JpdHRlbl9ibG9ja3MpOwotCQlpZiAoIShob3N0LT5mbGFncyAmIENBUkRf
QlVTWSkKLQkJICAgICYmIChob3N0LT53cml0dGVuX2Jsb2NrcyA9PSBjbWQtPmRhdGEtPmJsb2Nr
cykpIHsKLQkJCWlmIChub19kbWEpIHsKLQkJCQlpZiAoaG9zdC0+cmVxLT5zdG9wKSB7CisKKwkJ
aWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgQlJTX1JFQURZKSkKKwkJCXJldHVybjsKKworCQlpZiAo
IShob3N0LT5ub19kbWEgfHwgKGhvc3QtPmNtZF9mbGFncyAmIEZJRk9fUkVBRFkpKSkKKwkJCXJl
dHVybjsKKworCQlpZiAoY21kLT5kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSB7CisJCQlp
ZiAoaG9zdC0+cmVxLT5zdG9wKSB7CisJCQkJaWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9B
Q1RJVkUpKSB7CisJCQkJCWhvc3QtPmNtZF9mbGFncyB8PSBTQ01EX0FDVElWRTsKKwkJCQkJd3Jp
dGVsKFRJRk1fTU1DU0RfRU9GQgorCQkJCQkgICAgICAgfCByZWFkbChzb2NrLT5hZGRyCisJCQkJ
CQkgICAgICAgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpLAorCQkJCQkgICAgICAgc29jay0+YWRk
cgorCQkJCQkgICAgICAgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwogCQkJCQl0aWZtX3NkX2V4
ZWMoaG9zdCwgaG9zdC0+cmVxLT5zdG9wKTsKLQkJCQkJaG9zdC0+c3RhdGUgPSBTQ01EOworCQkJ
CQlyZXR1cm47CiAJCQkJfSBlbHNlIHsKLQkJCQkJaG9zdC0+c3RhdGUgPSBSRUFEWTsKKwkJCQkJ
aWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9SRUFEWSkKKwkJCQkJICAgIHx8IChob3N0LT5j
bWRfZmxhZ3MgJiBDQVJEX0JVU1kpKQorCQkJCQkJcmV0dXJuOworCQkJCQl3cml0ZWwoKH5USUZN
X01NQ1NEX0VPRkIpCisJCQkJCSAgICAgICAmIHJlYWRsKHNvY2stPmFkZHIKKwkJCQkJCSAgICAg
ICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCisJCQkJCSAgICAgICBzb2NrLT5hZGRyCisJCQkJ
CSAgICAgICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7CiAJCQkJfQogCQkJfSBlbHNlIHsKLQkJ
CQlob3N0LT5zdGF0ZSA9IEZJRk87CisJCQkJaWYgKGhvc3QtPmNtZF9mbGFncyAmIENBUkRfQlVT
WSkKKwkJCQkJcmV0dXJuOworCQkJCXdyaXRlbCgoflRJRk1fTU1DU0RfRU9GQikKKwkJCQkgICAg
ICAgJiByZWFkbChzb2NrLT5hZGRyCisJCQkJCSAgICAgICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJM
RSksCisJCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwogCQkJ
fQotCQkJZ290byBjaGFuZ2Vfc3RhdGU7Ci0JCX0KLQkJYnJlYWs7Ci0JY2FzZSBGSUZPOgotCQlp
ZiAoaG9zdC0+ZmxhZ3MgJiBGSUZPX1JEWSkgewotCQkJaG9zdC0+ZmxhZ3MgJj0gfkZJRk9fUkRZ
OworCQl9IGVsc2UgewogCQkJaWYgKGhvc3QtPnJlcS0+c3RvcCkgewotCQkJCXRpZm1fc2RfZXhl
Yyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOwotCQkJCWhvc3QtPnN0YXRlID0gU0NNRDsKLQkJCX0g
ZWxzZSB7Ci0JCQkJaG9zdC0+c3RhdGUgPSBSRUFEWTsKKwkJCQlpZiAoIShob3N0LT5jbWRfZmxh
Z3MgJiBTQ01EX0FDVElWRSkpIHsKKwkJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IFNDTURfQUNUSVZF
OworCQkJCQl0aWZtX3NkX2V4ZWMoaG9zdCwgaG9zdC0+cmVxLT5zdG9wKTsKKwkJCQkJcmV0dXJu
OworCQkJCX0gZWxzZSB7CisJCQkJCWlmICghKGhvc3QtPmNtZF9mbGFncyAmIFNDTURfUkVBRFkp
KQorCQkJCQkJcmV0dXJuOworCQkJCX0KIAkJCX0KLQkJCWdvdG8gY2hhbmdlX3N0YXRlOwogCQl9
Ci0JCWJyZWFrOwotCWNhc2UgUkVBRFk6Ci0JCXRhc2tsZXRfc2NoZWR1bGUoJmhvc3QtPmZpbmlz
aF90YXNrbGV0KTsKLQkJcmV0dXJuOwogCX0KLQorZmluaXNoX3JlcXVlc3Q6CisJdGFza2xldF9z
Y2hlZHVsZSgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQpOwogfQogCiAvKiBDYWxsZWQgZnJvbSBpbnRl
cnJ1cHQgaGFuZGxlciAqLwotc3RhdGljIHZvaWQgdGlmbV9zZF9zaWduYWxfaXJxKHN0cnVjdCB0
aWZtX2RldiAqc29jaywKLQkJCSAgICAgICB1bnNpZ25lZCBpbnQgc29ja19pcnFfc3RhdHVzKQor
c3RhdGljIHZvaWQgdGlmbV9zZF9kYXRhX2V2ZW50KHN0cnVjdCB0aWZtX2RldiAqc29jaykKIHsK
IAlzdHJ1Y3QgdGlmbV9zZCAqaG9zdDsKLQl1bnNpZ25lZCBpbnQgaG9zdF9zdGF0dXMgPSAwLCBm
aWZvX3N0YXR1cyA9IDA7Ci0JaW50IGVycm9yX2NvZGUgPSAwOworCXVuc2lnbmVkIGludCBmaWZv
X3N0YXR1cyA9IDA7CisJc3RydWN0IG1tY19kYXRhICpyX2RhdGEgPSBOVUxMOwogCiAJc3Bpbl9s
b2NrKCZzb2NrLT5sb2NrKTsKIAlob3N0ID0gbW1jX3ByaXYoKHN0cnVjdCBtbWNfaG9zdCopdGlm
bV9nZXRfZHJ2ZGF0YShzb2NrKSk7CisJZmlmb19zdGF0dXMgPSByZWFkbChzb2NrLT5hZGRyICsg
U09DS19ETUFfRklGT19TVEFUVVMpOworCWRldl9kYmcoJnNvY2stPmRldiwgImRhdGEgZXZlbnQ6
IGZpZm9fc3RhdHVzICV4LCBmbGFncyAleFxuIiwKKwkJZmlmb19zdGF0dXMsIGhvc3QtPmNtZF9m
bGFncyk7CiAKLQlpZiAoc29ja19pcnFfc3RhdHVzICYgRklGT19FVkVOVCkgewotCQlmaWZvX3N0
YXR1cyA9IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX1NUQVRVUyk7Ci0JCXdyaXRl
bChmaWZvX3N0YXR1cywgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fU1RBVFVTKTsKKwlpZiAo
aG9zdC0+cmVxKSB7CisJCXJfZGF0YSA9IGhvc3QtPnJlcS0+Y21kLT5kYXRhOwogCi0JCWhvc3Qt
PmZsYWdzIHw9IGZpZm9fc3RhdHVzICYgRklGT19SRFk7CisJCWlmIChyX2RhdGEgJiYgKGZpZm9f
c3RhdHVzICYgVElGTV9GSUZPX1JFQURZKSkgeworCQkJaWYgKHRpZm1fc2Rfc2V0X2RtYV9kYXRh
KGhvc3QsIHJfZGF0YSkpIHsKKwkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gRklGT19SRUFEWTsKKwkJ
CQl0aWZtX3NkX2NoZWNrX3N0YXR1cyhob3N0KTsKKwkJCX0KKwkJfQogCX0KIAotCWlmIChzb2Nr
X2lycV9zdGF0dXMgJiBDQVJEX0VWRU5UKSB7Ci0JCWhvc3Rfc3RhdHVzID0gcmVhZGwoc29jay0+
YWRkciArIFNPQ0tfTU1DU0RfU1RBVFVTKTsKLQkJd3JpdGVsKGhvc3Rfc3RhdHVzLCBzb2NrLT5h
ZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOworCXdyaXRlbChmaWZvX3N0YXR1cywgc29jay0+YWRk
ciArIFNPQ0tfRE1BX0ZJRk9fU1RBVFVTKTsKKwlzcGluX3VubG9jaygmc29jay0+bG9jayk7Cit9
CiAKLQkJaWYgKCFob3N0LT5yZXEpCi0JCQlnb3RvIGRvbmU7CisvKiBDYWxsZWQgZnJvbSBpbnRl
cnJ1cHQgaGFuZGxlciAqLworc3RhdGljIHZvaWQgdGlmbV9zZF9ldmVudChzdHJ1Y3QgdGlmbV9k
ZXYgKnNvY2spCit7CisJc3RydWN0IHRpZm1fc2QgKmhvc3Q7CisJdW5zaWduZWQgaW50IGhvc3Rf
c3RhdHVzID0gMDsKKwlpbnQgY21kX2Vycm9yID0gTU1DX0VSUl9OT05FOworCXN0cnVjdCBtbWNf
Y29tbWFuZCAqY21kID0gTlVMTDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2Nr
KCZzb2NrLT5sb2NrKTsKKwlob3N0ID0gbW1jX3ByaXYoKHN0cnVjdCBtbWNfaG9zdCopdGlmbV9n
ZXRfZHJ2ZGF0YShzb2NrKSk7CisJaG9zdF9zdGF0dXMgPSByZWFkbChzb2NrLT5hZGRyICsgU09D
S19NTUNTRF9TVEFUVVMpOworCWRldl9kYmcoJnNvY2stPmRldiwgImhvc3QgZXZlbnQ6IGhvc3Rf
c3RhdHVzICV4LCBmbGFncyAleFxuIiwKKwkJaG9zdF9zdGF0dXMsIGhvc3QtPmNtZF9mbGFncyk7
CisKKwlpZiAoaG9zdC0+cmVxKSB7CisJCWNtZCA9IGhvc3QtPnJlcS0+Y21kOwogCiAJCWlmICho
b3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRVJSTUFTSykgewotCQkJaWYgKGhvc3Rfc3RhdHVzICYg
KFRJRk1fTU1DU0RfQ1RPIHwgVElGTV9NTUNTRF9EVE8pKQotCQkJCWVycm9yX2NvZGUgPSBNTUNf
RVJSX1RJTUVPVVQ7Ci0JCQllbHNlIGlmIChob3N0X3N0YXR1cwotCQkJCSAmIChUSUZNX01NQ1NE
X0NDUkMgfCBUSUZNX01NQ1NEX0RDUkMpKQotCQkJCWVycm9yX2NvZGUgPSBNTUNfRVJSX0JBRENS
QzsKKwkJCXdyaXRlbChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRVJSTUFTSywKKwkJCSAgICAg
ICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOworCQkJaWYgKGhvc3Rfc3RhdHVzICYg
VElGTV9NTUNTRF9DVE8pCisJCQkJY21kX2Vycm9yID0gTU1DX0VSUl9USU1FT1VUOworCQkJZWxz
ZSBpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0NDUkMpCisJCQkJY21kX2Vycm9yID0gTU1D
X0VSUl9CQURDUkM7CisKKwkJCWlmIChjbWQtPmRhdGEpIHsKKwkJCQlpZiAoaG9zdF9zdGF0dXMg
JiBUSUZNX01NQ1NEX0RUTykKKwkJCQkJY21kLT5kYXRhLT5lcnJvciA9IE1NQ19FUlJfVElNRU9V
VDsKKwkJCQllbHNlIGlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRENSQykKKwkJCQkJY21k
LT5kYXRhLT5lcnJvciA9IE1NQ19FUlJfQkFEQ1JDOworCQkJfQogCiAJCQl3cml0ZWwoVElGTV9G
SUZPX0lOVF9TRVRBTEwsCiAJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5U
X0VOQUJMRV9DTEVBUik7CiAJCQl3cml0ZWwoVElGTV9ETUFfUkVTRVQsIHNvY2stPmFkZHIgKyBT
T0NLX0RNQV9DT05UUk9MKTsKIAogCQkJaWYgKGhvc3QtPnJlcS0+c3RvcCkgewotCQkJCWlmICho
b3N0LT5zdGF0ZSA9PSBTQ01EKSB7Ci0JCQkJCWhvc3QtPnJlcS0+c3RvcC0+ZXJyb3IgPSBlcnJv
cl9jb2RlOwotCQkJCX0gZWxzZSBpZiAoaG9zdC0+c3RhdGUgPT0gQlJTCi0JCQkJCSAgIHx8IGhv
c3QtPnN0YXRlID09IENBUkQKLQkJCQkJICAgfHwgaG9zdC0+c3RhdGUgPT0gRklGTykgewotCQkJ
CQlob3N0LT5yZXEtPmNtZC0+ZXJyb3IgPSBlcnJvcl9jb2RlOworCQkJCWlmIChob3N0LT5jbWRf
ZmxhZ3MgJiBTQ01EX0FDVElWRSkgeworCQkJCQlob3N0LT5yZXEtPnN0b3AtPmVycm9yID0gY21k
X2Vycm9yOworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gU0NNRF9SRUFEWTsKKwkJCQl9IGVsc2Ug
eworCQkJCQljbWQtPmVycm9yID0gY21kX2Vycm9yOworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0g
U0NNRF9BQ1RJVkU7CiAJCQkJCXRpZm1fc2RfZXhlYyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOwot
CQkJCQlob3N0LT5zdGF0ZSA9IFNDTUQ7CiAJCQkJCWdvdG8gZG9uZTsKLQkJCQl9IGVsc2Ugewot
CQkJCQlob3N0LT5yZXEtPmNtZC0+ZXJyb3IgPSBlcnJvcl9jb2RlOwogCQkJCX0KLQkJCX0gZWxz
ZSB7Ci0JCQkJaG9zdC0+cmVxLT5jbWQtPmVycm9yID0gZXJyb3JfY29kZTsKKwkJCX0gZWxzZQor
CQkJCWNtZC0+ZXJyb3IgPSBjbWRfZXJyb3I7CisJCX0gZWxzZSB7CisJCQlpZiAoaG9zdF9zdGF0
dXMgJiAoVElGTV9NTUNTRF9FT0MgfCBUSUZNX01NQ1NEX0NFUlIpKSB7CisJCQkJaWYgKCEoaG9z
dC0+Y21kX2ZsYWdzICYgQ01EX1JFQURZKSkgeworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gQ01E
X1JFQURZOworCQkJCQl0aWZtX3NkX2ZldGNoX3Jlc3AoY21kLCBzb2NrKTsKKwkJCQl9IGVsc2Ug
aWYgKGhvc3QtPmNtZF9mbGFncyAmIFNDTURfQUNUSVZFKSB7CisJCQkJCWhvc3QtPmNtZF9mbGFn
cyB8PSBTQ01EX1JFQURZOworCQkJCQl0aWZtX3NkX2ZldGNoX3Jlc3AoaG9zdC0+cmVxLT5zdG9w
LAorCQkJCQkJCSAgIHNvY2spOworCQkJCX0KIAkJCX0KLQkJCWhvc3QtPnN0YXRlID0gUkVBRFk7
CisJCQlpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0JSUykKKwkJCQlob3N0LT5jbWRfZmxh
Z3MgfD0gQlJTX1JFQURZOwogCQl9CiAKLQkJaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9D
QikKLQkJCWhvc3QtPmZsYWdzIHw9IENBUkRfQlVTWTsKLQkJaWYgKChob3N0X3N0YXR1cyAmIFRJ
Rk1fTU1DU0RfRU9GQikKLQkJICAgICYmIChob3N0LT5mbGFncyAmIENBUkRfQlVTWSkpIHsKLQkJ
CWhvc3QtPndyaXR0ZW5fYmxvY2tzKys7Ci0JCQlob3N0LT5mbGFncyAmPSB+Q0FSRF9CVVNZOwor
CQlpZiAoaG9zdC0+bm9fZG1hICYmIGNtZC0+ZGF0YSkgeworCQkJaWYgKGhvc3Rfc3RhdHVzICYg
VElGTV9NTUNTRF9BRSkKKwkJCQl3cml0ZWwoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0FFLAor
CQkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOworCisJCQlpZiAoaG9z
dF9zdGF0dXMgJiAoVElGTV9NTUNTRF9BRSB8IFRJRk1fTU1DU0RfQUYKKwkJCQkJICAgfCBUSUZN
X01NQ1NEX0JSUykpIHsKKwkJCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCQkJdGlmbV9zZF90
cmFuc2Zlcl9kYXRhKGhvc3QpOworCQkJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwkJCQlo
b3N0X3N0YXR1cyAmPSB+VElGTV9NTUNTRF9BRTsKKwkJCX0KIAkJfQotICAgICAgICB9Ci0KLQlp
ZiAoaG9zdC0+cmVxKQotCQl0aWZtX3NkX3Byb2Nlc3NfY21kKHNvY2ssIGhvc3QsIGhvc3Rfc3Rh
dHVzKTsKLWRvbmU6Ci0JZGV2X2RiZygmc29jay0+ZGV2LCAiaG9zdF9zdGF0dXMgJXgsIGZpZm9f
c3RhdHVzICV4XG4iLAotCQlob3N0X3N0YXR1cywgZmlmb19zdGF0dXMpOwotCXNwaW5fdW5sb2Nr
KCZzb2NrLT5sb2NrKTsKLX0KLQotc3RhdGljIHZvaWQgdGlmbV9zZF9wcmVwYXJlX2RhdGEoc3Ry
dWN0IHRpZm1fc2QgKmhvc3QsIHN0cnVjdCBtbWNfY29tbWFuZCAqY21kKQotewotCXN0cnVjdCB0
aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKLQl1bnNpZ25lZCBpbnQgZGVzdF9jbnQ7Ci0KLQkv
KiBETUEgc3R5bGUgSU8gKi8KLQlkZXZfZGJnKCZzb2NrLT5kZXYsICJzZXR0aW5nIGRtYSBmb3Ig
JWQgYmxvY2tzXG4iLAotCQljbWQtPmRhdGEtPmJsb2Nrcyk7Ci0Jd3JpdGVsKFRJRk1fRklGT19J
TlRfU0VUQUxMLAotCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxF
X0NMRUFSKTsKLQl3cml0ZWwoaWxvZzIoY21kLT5kYXRhLT5ibGtzeikgLSAyLAotCSAgICAgICBz
b2NrLT5hZGRyICsgU09DS19GSUZPX1BBR0VfU0laRSk7Ci0Jd3JpdGVsKFRJRk1fRklGT19FTkFC
TEUsIHNvY2stPmFkZHIgKyBTT0NLX0ZJRk9fQ09OVFJPTCk7Ci0Jd3JpdGVsKFRJRk1fRklGT19J
TlRNQVNLLCBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxFX1NFVCk7Ci0KLQlk
ZXN0X2NudCA9IChjbWQtPmRhdGEtPmJsb2NrcykgPDwgODsKIAotCXdyaXRlbChzZ19kbWFfYWRk
cmVzcyhjbWQtPmRhdGEtPnNnKSwgc29jay0+YWRkciArIFNPQ0tfRE1BX0FERFJFU1MpOworCQlp
ZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0VPRkIpCisJCQlob3N0LT5jbWRfZmxhZ3MgJj0g
fkNBUkRfQlVTWTsKKwkJZWxzZSBpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0NCKQorCQkJ
aG9zdC0+Y21kX2ZsYWdzIHw9IENBUkRfQlVTWTsKIAotCXdyaXRlbChjbWQtPmRhdGEtPmJsb2Nr
cyAtIDEsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX05VTV9CTE9DS1MpOwotCXdyaXRlbChjbWQt
PmRhdGEtPmJsa3N6IC0gMSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQkxPQ0tfTEVOKTsKLQot
CWlmIChjbWQtPmRhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpIHsKLQkJd3JpdGVsKFRJRk1f
TU1DU0RfVFhERSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQlVGRkVSX0NPTkZJRyk7Ci0JCXdy
aXRlbChkZXN0X2NudCB8IFRJRk1fRE1BX1RYIHwgVElGTV9ETUFfRU4sCi0JCSAgICAgICBzb2Nr
LT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7Ci0JfSBlbHNlIHsKLQkJd3JpdGVsKFRJRk1fTU1D
U0RfUlhERSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQlVGRkVSX0NPTkZJRyk7Ci0JCXdyaXRl
bChkZXN0X2NudCB8IFRJRk1fRE1BX0VOLCBzb2NrLT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7
CisJCXRpZm1fc2RfY2hlY2tfc3RhdHVzKGhvc3QpOwogCX0KK2RvbmU6CisJd3JpdGVsKGhvc3Rf
c3RhdHVzLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOworCXNwaW5fdW5sb2NrKCZz
b2NrLT5sb2NrKTsKIH0KIAogc3RhdGljIHZvaWQgdGlmbV9zZF9zZXRfZGF0YV90aW1lb3V0KHN0
cnVjdCB0aWZtX3NkICpob3N0LApAQCAtNDUyLDE0NiArNjIyLDEwMCBAQCBzdGF0aWMgdm9pZCB0
aWZtX3NkX3JlcXVlc3Qoc3RydWN0IG1tY19oCiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSBtbWNf
cHJpdihtbWMpOwogCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKIAl1bnNpZ25l
ZCBsb25nIGZsYWdzOwotCWludCBzZ19jb3VudCA9IDA7CiAJc3RydWN0IG1tY19kYXRhICpyX2Rh
dGEgPSBtcnEtPmNtZC0+ZGF0YTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBm
bGFncyk7Ci0JaWYgKGhvc3QtPmZsYWdzICYgRUpFQ1QpIHsKKwlpZiAoaG9zdC0+ZWplY3QpIHsK
IAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwogCQlnb3RvIGVy
cl9vdXQ7CiAJfQogCiAJaWYgKGhvc3QtPnJlcSkgewotCQlwcmludGsoS0VSTl9FUlIgRFJJVkVS
X05BTUUgIjogdW5maW5pc2hlZCByZXF1ZXN0IGRldGVjdGVkXG4iKTsKKwkJcHJpbnRrKEtFUk5f
RVJSICIlcyA6IHVuZmluaXNoZWQgcmVxdWVzdCBkZXRlY3RlZFxuIiwKKwkJICAgICAgIHNvY2st
PmRldi5idXNfaWQpOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFn
cyk7CiAJCWdvdG8gZXJyX291dDsKIAl9CiAKKwlob3N0LT5jbWRfZmxhZ3MgPSAwOworCWhvc3Qt
PmJsb2NrX3BvcyA9IDA7CisJaG9zdC0+c2dfcG9zID0gMDsKKwogCWlmIChyX2RhdGEpIHsKIAkJ
dGlmbV9zZF9zZXRfZGF0YV90aW1lb3V0KGhvc3QsIHJfZGF0YSk7CiAKLQkJc2dfY291bnQgPSB0
aWZtX21hcF9zZyhzb2NrLCByX2RhdGEtPnNnLCByX2RhdGEtPnNnX2xlbiwKLQkJCQkgICAgICAg
bXJxLT5jbWQtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUKLQkJCQkgICAgICAgPyBQQ0lfRE1BX1RP
REVWSUNFIDogUENJX0RNQV9GUk9NREVWSUNFKTsKLQkJaWYgKHNnX2NvdW50ICE9IDEpIHsKLQkJ
CXByaW50ayhLRVJOX0VSUiBEUklWRVJfTkFNRQotCQkJCSI6IHNjYXR0ZXJsaXN0IG1hcCBmYWls
ZWRcbiIpOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwot
CQkJZ290byBlcnJfb3V0OwotCQl9Ci0KLQkJaG9zdC0+d3JpdHRlbl9ibG9ja3MgPSAwOwotCQlo
b3N0LT5mbGFncyAmPSB+Q0FSRF9CVVNZOwotCQl0aWZtX3NkX3ByZXBhcmVfZGF0YShob3N0LCBt
cnEtPmNtZCk7Ci0JfQotCi0JaG9zdC0+cmVxID0gbXJxOwotCW1vZF90aW1lcigmaG9zdC0+dGlt
ZXIsIGppZmZpZXMgKyBob3N0LT50aW1lb3V0X2ppZmZpZXMpOwotCWhvc3QtPnN0YXRlID0gQ01E
OwotCXdyaXRlbChUSUZNX0NUUkxfTEVEIHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfQ09OVFJP
TCksCi0JICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpOwotCXRpZm1fc2RfZXhlYyho
b3N0LCBtcnEtPmNtZCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxh
Z3MpOwotCXJldHVybjsKLQotZXJyX291dDoKLQlpZiAoc2dfY291bnQgPiAwKQotCQl0aWZtX3Vu
bWFwX3NnKHNvY2ssIHJfZGF0YS0+c2csIHJfZGF0YS0+c2dfbGVuLAotCQkJICAgICAgKHJfZGF0
YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKLQkJCSAgICAgID8gUENJX0RNQV9UT0RFVklDRSA6
IFBDSV9ETUFfRlJPTURFVklDRSk7Ci0KLQltcnEtPmNtZC0+ZXJyb3IgPSBNTUNfRVJSX1RJTUVP
VVQ7Ci0JbW1jX3JlcXVlc3RfZG9uZShtbWMsIG1ycSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHRpZm1f
c2RfZW5kX2NtZCh1bnNpZ25lZCBsb25nIGRhdGEpCi17Ci0Jc3RydWN0IHRpZm1fc2QgKmhvc3Qg
PSAoc3RydWN0IHRpZm1fc2QqKWRhdGE7Ci0Jc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+
ZGV2OwotCXN0cnVjdCBtbWNfaG9zdCAqbW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKLQlz
dHJ1Y3QgbW1jX3JlcXVlc3QgKm1ycTsKLQlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9IE5VTEw7
Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2Nr
LCBmbGFncyk7Ci0KLQlkZWxfdGltZXIoJmhvc3QtPnRpbWVyKTsKLQltcnEgPSBob3N0LT5yZXE7
Ci0JaG9zdC0+cmVxID0gTlVMTDsKLQlob3N0LT5zdGF0ZSA9IElETEU7Ci0KLQlpZiAoIW1ycSkg
ewotCQlwcmludGsoS0VSTl9FUlIgRFJJVkVSX05BTUUgIjogbm8gcmVxdWVzdCB0byBjb21wbGV0
ZT9cbiIpOwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0J
CXJldHVybjsKLQl9CisJCWlmICgocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSAmJiAh
bXJxLT5zdG9wKQorCQkJIHdyaXRlbChUSUZNX01NQ1NEX0VPRkIKKwkJCQl8IHJlYWRsKHNvY2st
PmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpLAorCQkJCXNvY2stPmFkZHIgKyBTT0NLX01N
Q1NEX0lOVF9FTkFCTEUpOworCisJCWlmIChob3N0LT5ub19kbWEpIHsKKwkJCXdyaXRlbChUSUZN
X01NQ1NEX0JVRklOVAorCQkJICAgICAgIHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0Rf
SU5UX0VOQUJMRSksCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJM
RSk7CisJCQl3cml0ZWwoKChUSUZNX01NQ1NEX0ZJRk9fU0laRSAtIDEpIDw8IDgpCisJCQkgICAg
ICAgfCAoVElGTV9NTUNTRF9GSUZPX1NJWkUgLSAxKSwKKwkJCSAgICAgICBzb2NrLT5hZGRyICsg
U09DS19NTUNTRF9CVUZGRVJfQ09ORklHKTsKIAotCXJfZGF0YSA9IG1ycS0+Y21kLT5kYXRhOwot
CWlmIChyX2RhdGEpIHsKLQkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgewot
CQkJcl9kYXRhLT5ieXRlc194ZmVyZWQgPSBob3N0LT53cml0dGVuX2Jsb2NrcwotCQkJCQkgICAg
ICAgKiByX2RhdGEtPmJsa3N6OworCQkJaG9zdC0+c2dfbGVuID0gcl9kYXRhLT5zZ19sZW47CiAJ
CX0gZWxzZSB7Ci0JCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCA9IHJfZGF0YS0+YmxvY2tzIC0KLQkJ
CQlyZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9OVU1fQkxPQ0tTKSAtIDE7Ci0JCQlyX2Rh
dGEtPmJ5dGVzX3hmZXJlZCAqPSByX2RhdGEtPmJsa3N6OwotCQkJcl9kYXRhLT5ieXRlc194ZmVy
ZWQgKz0gcl9kYXRhLT5ibGtzeiAtCi0JCQkJcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0Rf
QkxPQ0tfTEVOKSArIDE7Ci0JCX0KLQkJdGlmbV91bm1hcF9zZyhzb2NrLCByX2RhdGEtPnNnLCBy
X2RhdGEtPnNnX2xlbiwKLQkJCSAgICAgIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUp
Ci0JCQkgICAgICA/IFBDSV9ETUFfVE9ERVZJQ0UgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpOwotCX0K
LQotCXdyaXRlbCgoflRJRk1fQ1RSTF9MRUQpICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfQ09O
VFJPTCksCi0JICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpOwotCi0Jc3Bpbl91bmxv
Y2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCW1tY19yZXF1ZXN0X2RvbmUobW1j
LCBtcnEpOwotfQotCi1zdGF0aWMgdm9pZCB0aWZtX3NkX3JlcXVlc3Rfbm9kbWEoc3RydWN0IG1t
Y19ob3N0ICptbWMsIHN0cnVjdCBtbWNfcmVxdWVzdCAqbXJxKQotewotCXN0cnVjdCB0aWZtX3Nk
ICpob3N0ID0gbW1jX3ByaXYobW1jKTsKLQlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5k
ZXY7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9IG1y
cS0+Y21kLT5kYXRhOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsK
LQlpZiAoaG9zdC0+ZmxhZ3MgJiBFSkVDVCkgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZz
b2NrLT5sb2NrLCBmbGFncyk7Ci0JCWdvdG8gZXJyX291dDsKLQl9Ci0KLQlpZiAoaG9zdC0+cmVx
KSB7Ci0JCXByaW50ayhLRVJOX0VSUiBEUklWRVJfTkFNRSAiOiB1bmZpbmlzaGVkIHJlcXVlc3Qg
ZGV0ZWN0ZWRcbiIpOwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFn
cyk7Ci0JCWdvdG8gZXJyX291dDsKLQl9CisJCQlob3N0LT5ib3VuY2VfYnVmLm9mZnNldAorCQkJ
CT0gb2Zmc2V0X2luX3BhZ2UoaG9zdC0+Ym91bmNlX2J1Zl9kYXRhKTsKKwkJCWhvc3QtPmJvdW5j
ZV9idWYubGVuZ3RoID0gcl9kYXRhLT5ibGtzejsKKworCQkJaWYoMSAhPSB0aWZtX21hcF9zZyhz
b2NrLCAmaG9zdC0+Ym91bmNlX2J1ZiwgMSwKKwkJCQkJICAgIHJfZGF0YS0+ZmxhZ3MgJiBNTUNf
REFUQV9XUklURQorCQkJCQkgICAgPyBQQ0lfRE1BX1RPREVWSUNFCisJCQkJCSAgICA6IFBDSV9E
TUFfRlJPTURFVklDRSkpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIiVzIDogc2NhdHRlcmxpc3Qg
bWFwIGZhaWxlZFxuIiwKKwkJCQkgICAgICAgc29jay0+ZGV2LmJ1c19pZCk7CisJCQkJc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOworCQkJCWdvdG8gZXJyX291dDsK
KwkJCX0KKwkJCWhvc3QtPnNnX2xlbiA9IHRpZm1fbWFwX3NnKHNvY2ssIHJfZGF0YS0+c2csCisJ
CQkJCQkgICByX2RhdGEtPnNnX2xlbiwKKwkJCQkJCSAgIHJfZGF0YS0+ZmxhZ3MKKwkJCQkJCSAg
ICYgTU1DX0RBVEFfV1JJVEUKKwkJCQkJCSAgID8gUENJX0RNQV9UT0RFVklDRQorCQkJCQkJICAg
OiBQQ0lfRE1BX0ZST01ERVZJQ0UpOworCQkJaWYgKGhvc3QtPnNnX2xlbiA8IDEpIHsKKwkJCQlw
cmludGsoS0VSTl9FUlIgIiVzIDogc2NhdHRlcmxpc3QgbWFwIGZhaWxlZFxuIiwKKwkJCQkgICAg
ICAgc29jay0+ZGV2LmJ1c19pZCk7CisJCQkJdGlmbV91bm1hcF9zZyhzb2NrLCAmaG9zdC0+Ym91
bmNlX2J1ZiwgMSwKKwkJCQkJICAgICAgcl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFCisJ
CQkJCSAgICAgID8gUENJX0RNQV9UT0RFVklDRQorCQkJCQkgICAgICA6IFBDSV9ETUFfRlJPTURF
VklDRSk7CisJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwor
CQkJCWdvdG8gZXJyX291dDsKKwkJCX0KIAotCWlmIChyX2RhdGEpIHsKLQkJdGlmbV9zZF9zZXRf
ZGF0YV90aW1lb3V0KGhvc3QsIHJfZGF0YSk7CisJCQl3cml0ZWwoVElGTV9GSUZPX0lOVF9TRVRB
TEwsCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VOQUJMRV9DTEVB
Uik7CisJCQl3cml0ZWwoaWxvZzIocl9kYXRhLT5ibGtzeikgLSAyLAorCQkJICAgICAgIHNvY2st
PmFkZHIgKyBTT0NLX0ZJRk9fUEFHRV9TSVpFKTsKKwkJCXdyaXRlbChUSUZNX0ZJRk9fRU5BQkxF
LAorCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0ZJRk9fQ09OVFJPTCk7CisJCQl3cml0ZWwo
VElGTV9GSUZPX0lOVE1BU0ssCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9f
SU5UX0VOQUJMRV9TRVQpOworCisJCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRF
KQorCQkJCXdyaXRlbChUSUZNX01NQ1NEX1RYREUsCisJCQkJICAgICAgIHNvY2stPmFkZHIgKyBT
T0NLX01NQ1NEX0JVRkZFUl9DT05GSUcpOworCQkJZWxzZQorCQkJCXdyaXRlbChUSUZNX01NQ1NE
X1JYREUsCisJCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0JVRkZFUl9DT05GSUcp
OwogCi0JCWhvc3QtPmJ1ZmZlcl9zaXplID0gbXJxLT5jbWQtPmRhdGEtPmJsb2NrcwotCQkJCSAg
ICAqIG1ycS0+Y21kLT5kYXRhLT5ibGtzejsKKwkJCXRpZm1fc2Rfc2V0X2RtYV9kYXRhKGhvc3Qs
IHJfZGF0YSk7CisJCX0KIAotCQl3cml0ZWwoVElGTV9NTUNTRF9CVUZJTlQKLQkJICAgICAgIHwg
cmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCi0JCSAgICAgICBzb2Nr
LT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKTsKLQkJd3JpdGVsKCgoVElGTV9NTUNTRF9G
SUZPX1NJWkUgLSAxKSA8PCA4KQotCQkgICAgICAgfCAoVElGTV9NTUNTRF9GSUZPX1NJWkUgLSAx
KSwKLQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0JVRkZFUl9DT05GSUcpOwotCi0J
CWhvc3QtPndyaXR0ZW5fYmxvY2tzID0gMDsKLQkJaG9zdC0+ZmxhZ3MgJj0gfkNBUkRfQlVTWTsK
LQkJaG9zdC0+YnVmZmVyX3BvcyA9IDA7Ci0JCXdyaXRlbChyX2RhdGEtPmJsb2NrcyAtIDEsIHNv
Y2stPmFkZHIgKyBTT0NLX01NQ1NEX05VTV9CTE9DS1MpOwotCQl3cml0ZWwocl9kYXRhLT5ibGtz
eiAtIDEsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0JMT0NLX0xFTik7CisJCXdyaXRlbChyX2Rh
dGEtPmJsb2NrcyAtIDEsCisJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9OVU1fQkxP
Q0tTKTsKKwkJd3JpdGVsKHJfZGF0YS0+Ymxrc3ogLSAxLAorCQkgICAgICAgc29jay0+YWRkciAr
IFNPQ0tfTU1DU0RfQkxPQ0tfTEVOKTsKIAl9CiAKIAlob3N0LT5yZXEgPSBtcnE7CiAJbW9kX3Rp
bWVyKCZob3N0LT50aW1lciwgamlmZmllcyArIGhvc3QtPnRpbWVvdXRfamlmZmllcyk7Ci0JaG9z
dC0+c3RhdGUgPSBDTUQ7CiAJd3JpdGVsKFRJRk1fQ1RSTF9MRUQgfCByZWFkbChzb2NrLT5hZGRy
ICsgU09DS19DT05UUk9MKSwKIAkgICAgICAgc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCk7CiAJ
dGlmbV9zZF9leGVjKGhvc3QsIG1ycS0+Y21kKTsKQEAgLTYwMyw3ICs3MjcsNyBAQCBlcnJfb3V0
OgogCW1tY19yZXF1ZXN0X2RvbmUobW1jLCBtcnEpOwogfQogCi1zdGF0aWMgdm9pZCB0aWZtX3Nk
X2VuZF9jbWRfbm9kbWEodW5zaWduZWQgbG9uZyBkYXRhKQorc3RhdGljIHZvaWQgdGlmbV9zZF9l
bmRfY21kKHVuc2lnbmVkIGxvbmcgZGF0YSkKIHsKIAlzdHJ1Y3QgdGlmbV9zZCAqaG9zdCA9IChz
dHJ1Y3QgdGlmbV9zZCopZGF0YTsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7
CkBAIC02MTcsNjggKzc0MSw1MiBAQCBzdGF0aWMgdm9pZCB0aWZtX3NkX2VuZF9jbWRfbm9kbWEo
dW5zaWduCiAJZGVsX3RpbWVyKCZob3N0LT50aW1lcik7CiAJbXJxID0gaG9zdC0+cmVxOwogCWhv
c3QtPnJlcSA9IE5VTEw7Ci0JaG9zdC0+c3RhdGUgPSBJRExFOwogCiAJaWYgKCFtcnEpIHsKLQkJ
cHJpbnRrKEtFUk5fRVJSIERSSVZFUl9OQU1FICI6IG5vIHJlcXVlc3QgdG8gY29tcGxldGU/XG4i
KTsKKwkJcHJpbnRrKEtFUk5fRVJSICIgJXMgOiBubyByZXF1ZXN0IHRvIGNvbXBsZXRlP1xuIiwK
KwkJICAgICAgIHNvY2stPmRldi5idXNfaWQpOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZz
b2NrLT5sb2NrLCBmbGFncyk7CiAJCXJldHVybjsKIAl9CiAKIAlyX2RhdGEgPSBtcnEtPmNtZC0+
ZGF0YTsKIAlpZiAocl9kYXRhKSB7Ci0JCXdyaXRlbCgoflRJRk1fTU1DU0RfQlVGSU5UKSAmCi0J
CQlyZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKSwKLQkJCXNvY2stPmFk
ZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwotCi0JCWlmIChyX2RhdGEtPmZsYWdzICYgTU1D
X0RBVEFfV1JJVEUpIHsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkID0gaG9zdC0+d3JpdHRlbl9i
bG9ja3MKLQkJCQkJICAgICAgICogcl9kYXRhLT5ibGtzejsKKwkJaWYgKGhvc3QtPm5vX2RtYSkg
eworCQkJd3JpdGVsKCh+VElGTV9NTUNTRF9CVUZJTlQpCisJCQkgICAgICAgJiByZWFkbChzb2Nr
LT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKSwKKwkJCSAgICAgICBzb2NrLT5hZGRyICsg
U09DS19NTUNTRF9JTlRfRU5BQkxFKTsKIAkJfSBlbHNlIHsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZl
cmVkID0gcl9kYXRhLT5ibG9ja3MgLQotCQkJCXJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NE
X05VTV9CTE9DS1MpIC0gMTsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkICo9IHJfZGF0YS0+Ymxr
c3o7Ci0JCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCArPSByX2RhdGEtPmJsa3N6IC0KLQkJCQlyZWFk
bChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CTE9DS19MRU4pICsgMTsKKwkJCXRpZm1fdW5tYXBf
c2coc29jaywgJmhvc3QtPmJvdW5jZV9idWYsIDEsCisJCQkJICAgICAgKHJfZGF0YS0+ZmxhZ3Mg
JiBNTUNfREFUQV9XUklURSkKKwkJCQkgICAgICA/IFBDSV9ETUFfVE9ERVZJQ0UgOiBQQ0lfRE1B
X0ZST01ERVZJQ0UpOworCQkJdGlmbV91bm1hcF9zZyhzb2NrLCByX2RhdGEtPnNnLCByX2RhdGEt
PnNnX2xlbiwKKwkJCQkgICAgICAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKQorCQkJ
CSAgICAgID8gUENJX0RNQV9UT0RFVklDRSA6IFBDSV9ETUFfRlJPTURFVklDRSk7CiAJCX0KLQkJ
aG9zdC0+YnVmZmVyX3BvcyA9IDA7Ci0JCWhvc3QtPmJ1ZmZlcl9zaXplID0gMDsKKworCQlyX2Rh
dGEtPmJ5dGVzX3hmZXJlZCA9IHJfZGF0YS0+YmxvY2tzCisJCQktIHJlYWRsKHNvY2stPmFkZHIg
KyBTT0NLX01NQ1NEX05VTV9CTE9DS1MpIC0gMTsKKwkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKj0g
cl9kYXRhLT5ibGtzejsKKwkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKz0gcl9kYXRhLT5ibGtzegor
CQkJLSByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CTE9DS19MRU4pICsgMTsKIAl9CiAK
IAl3cml0ZWwoKH5USUZNX0NUUkxfTEVEKSAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0NPTlRS
T0wpLAogCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKTsKIAogCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQogCW1tY19yZXF1ZXN0X2RvbmUobW1j
LCBtcnEpOwogfQogCi1zdGF0aWMgdm9pZCB0aWZtX3NkX3Rlcm1pbmF0ZShzdHJ1Y3QgdGlmbV9z
ZCAqaG9zdCkKLXsKLQlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7Ci0JdW5zaWdu
ZWQgbG9uZyBmbGFnczsKLQotCXdyaXRlbCgwLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRf
RU5BQkxFKTsKLQltbWlvd2IoKTsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywgZmxh
Z3MpOwotCWhvc3QtPmZsYWdzIHw9IEVKRUNUOwotCWlmIChob3N0LT5yZXEpIHsKLQkJd3JpdGVs
KFRJRk1fRklGT19JTlRfU0VUQUxMLAotCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJ
Rk9fSU5UX0VOQUJMRV9DTEVBUik7Ci0JCXdyaXRlbCgwLCBzb2NrLT5hZGRyICsgU09DS19ETUFf
RklGT19JTlRfRU5BQkxFX1NFVCk7Ci0JCXRhc2tsZXRfc2NoZWR1bGUoJmhvc3QtPmZpbmlzaF90
YXNrbGV0KTsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3Mp
OwotfQotCiBzdGF0aWMgdm9pZCB0aWZtX3NkX2Fib3J0KHVuc2lnbmVkIGxvbmcgZGF0YSkKIHsK
IAlzdHJ1Y3QgdGlmbV9zZCAqaG9zdCA9IChzdHJ1Y3QgdGlmbV9zZCopZGF0YTsKIAotCXByaW50
ayhLRVJOX0VSUiBEUklWRVJfTkFNRQotCSAgICAgICAiOiBjYXJkIGZhaWxlZCB0byByZXNwb25k
IGZvciBhIGxvbmcgcGVyaW9kIG9mIHRpbWUiKTsKKwlwcmludGsoS0VSTl9FUlIKKwkgICAgICAg
IiVzIDogY2FyZCBmYWlsZWQgdG8gcmVzcG9uZCBmb3IgYSBsb25nIHBlcmlvZCBvZiB0aW1lICIK
KwkgICAgICAgIigleCwgJXgpXG4iLAorCSAgICAgICBob3N0LT5kZXYtPmRldi5idXNfaWQsIGhv
c3QtPnJlcS0+Y21kLT5vcGNvZGUsIGhvc3QtPmNtZF9mbGFncyk7CiAKLQl0aWZtX3NkX3Rlcm1p
bmF0ZShob3N0KTsKIAl0aWZtX2VqZWN0KGhvc3QtPmRldik7CiB9CiAKQEAgLTY5MSw4ICs3OTks
MTEgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9pb3Moc3RydWN0IG1tY19ob3N0IAogCiAJc3Bpbl9s
b2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIAotCWRldl9kYmcoJnNvY2stPmRldiwg
IlNldHRpbmcgYnVzIHdpZHRoICVkLCBwb3dlciAlZFxuIiwgaW9zLT5idXNfd2lkdGgsCi0JCWlv
cy0+cG93ZXJfbW9kZSk7CisJZGV2X2RiZygmc29jay0+ZGV2LCAiaW9zOiBjbG9jayA9ICV1LCB2
ZGQgPSAleCwgYnVzX21vZGUgPSAleCwgIgorCQkiY2hpcF9zZWxlY3QgPSAleCwgcG93ZXJfbW9k
ZSA9ICV4LCBidXNfd2lkdGggPSAleFxuIiwKKwkJaW9zLT5jbG9jaywgaW9zLT52ZGQsIGlvcy0+
YnVzX21vZGUsIGlvcy0+Y2hpcF9zZWxlY3QsCisJCWlvcy0+cG93ZXJfbW9kZSwgaW9zLT5idXNf
d2lkdGgpOworCiAJaWYgKGlvcy0+YnVzX3dpZHRoID09IE1NQ19CVVNfV0lEVEhfNCkgewogCQl3
cml0ZWwoVElGTV9NTUNTRF80QkJVUyB8IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0NP
TkZJRyksCiAJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9DT05GSUcpOwpAQCAtNzM3
LDQxICs4NDgsMzAgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9pb3Moc3RydWN0IG1tY19ob3N0IAog
CQkgICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQ09ORklHKSksCiAJICAgICAgIHNv
Y2stPmFkZHIgKyBTT0NLX01NQ1NEX0NPTkZJRyk7CiAKLQlpZiAoaW9zLT5idXNfbW9kZSA9PSBN
TUNfQlVTTU9ERV9PUEVORFJBSU4pCi0JCWhvc3QtPmZsYWdzIHw9IE9QRU5EUkFJTjsKLQllbHNl
Ci0JCWhvc3QtPmZsYWdzICY9IH5PUEVORFJBSU47CisJaG9zdC0+b3Blbl9kcmFpbiA9IChpb3Mt
PmJ1c19tb2RlID09IE1NQ19CVVNNT0RFX09QRU5EUkFJTik7CiAKIAkvKiBjaGlwX3NlbGVjdCA6
IG1heWJlIGxhdGVyICovCiAJLy92ZGQKIAkvL3Bvd2VyIGlzIHNldCBiZWZvcmUgcHJvYmUgLyBh
ZnRlciByZW1vdmUKLQkvL0kgYmVsaWV2ZSwgcG93ZXJfb2ZmIHdoZW4gYWxyZWFkeSBtYXJrZWQg
Zm9yIGVqZWN0IGlzIHN1ZmZpY2llbnQgdG8KLQkvLyBhbGxvdyByZW1vdmFsLgotCWlmICgoaG9z
dC0+ZmxhZ3MgJiBFSkVDVCkgJiYgaW9zLT5wb3dlcl9tb2RlID09IE1NQ19QT1dFUl9PRkYpIHsK
LQkJaG9zdC0+ZmxhZ3MgfD0gRUpFQ1RfRE9ORTsKLQkJd2FrZV91cF9hbGwoJmhvc3QtPm5vdGlm
eSk7Ci0JfQogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwog
fQogCiBzdGF0aWMgaW50IHRpZm1fc2Rfcm8oc3RydWN0IG1tY19ob3N0ICptbWMpCiB7Ci0JaW50
IHJjOworCWludCByYyA9IDA7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSBtbWNfcHJpdihtbWMp
OwogCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKIAl1bnNpZ25lZCBsb25nIGZs
YWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQotCWhvc3Qt
PmZsYWdzIHw9IChDQVJEX1JPICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfUFJFU0VOVF9TVEFU
RSkpOwotCXJjID0gKGhvc3QtPmZsYWdzICYgQ0FSRF9STykgPyAxIDogMDsKLQorCWlmIChUSUZN
X01NQ1NEX0NBUkRfUk8gJiByZWFkbChzb2NrLT5hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSkK
KwkJcmMgPSAxOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsK
IAlyZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgbW1jX2hvc3Rfb3BzIHRpZm1fc2Rfb3Bz
ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBtbWNfaG9zdF9vcHMgdGlmbV9zZF9vcHMgPSB7CiAJ
LnJlcXVlc3QgPSB0aWZtX3NkX3JlcXVlc3QsCiAJLnNldF9pb3MgPSB0aWZtX3NkX2lvcywKIAku
Z2V0X3JvICA9IHRpZm1fc2Rfcm8KQEAgLTc5Miw3ICs4OTIsNyBAQCBzdGF0aWMgaW50IHRpZm1f
c2RfaW5pdGlhbGl6ZV9ob3N0KHN0cnVjCiAJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NE
X0NPTkZJRyk7CiAKIAkvKiB3YWl0IHVwIHRvIDAuNTEgc2VjIGZvciByZXNldCAqLwotCWZvciAo
cmMgPSAyOyByYyA8PSAyNTY7IHJjIDw8PSAxKSB7CisJZm9yIChyYyA9IDMyOyByYyA8PSAyNTY7
IHJjIDw8PSAxKSB7CiAJCWlmICgxICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfU1lT
VEVNX1NUQVRVUykpIHsKIAkJCXJjID0gMDsKIAkJCWJyZWFrOwpAQCAtODAxLDggKzkwMSw4IEBA
IHN0YXRpYyBpbnQgdGlmbV9zZF9pbml0aWFsaXplX2hvc3Qoc3RydWMKIAl9CiAKIAlpZiAocmMp
IHsKLQkJcHJpbnRrKEtFUk5fRVJSIERSSVZFUl9OQU1FCi0JCSAgICAgICAiOiBjb250cm9sbGVy
IGZhaWxlZCB0byByZXNldFxuIik7CisJCXByaW50ayhLRVJOX0VSUiAiJXMgOiBjb250cm9sbGVy
IGZhaWxlZCB0byByZXNldFxuIiwKKwkJICAgICAgIHNvY2stPmRldi5idXNfaWQpOwogCQlyZXR1
cm4gLUVOT0RFVjsKIAl9CiAKQEAgLTgxNSw4ICs5MTUsNyBAQCBzdGF0aWMgaW50IHRpZm1fc2Rf
aW5pdGlhbGl6ZV9ob3N0KHN0cnVjCiAJd3JpdGVsKDY0LCBzb2NrLT5hZGRyICsgU09DS19NTUNT
RF9DT01NQU5EX1RPKTsKIAl3cml0ZWwoVElGTV9NTUNTRF9JTkFCLCBzb2NrLT5hZGRyICsgU09D
S19NTUNTRF9DT01NQU5EKTsKIAotCS8qIElOQUIgc2hvdWxkIHRha2UgbXVjaCBsZXNzIHRoYW4g
cmVzZXQgKi8KLQlmb3IgKHJjID0gMTsgcmMgPD0gMTY7IHJjIDw8PSAxKSB7CisJZm9yIChyYyA9
IDE2OyByYyA8PSA2NDsgcmMgPDw9IDEpIHsKIAkJaG9zdF9zdGF0dXMgPSByZWFkbChzb2NrLT5h
ZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOwogCQl3cml0ZWwoaG9zdF9zdGF0dXMsIHNvY2stPmFk
ZHIgKyBTT0NLX01NQ1NEX1NUQVRVUyk7CiAJCWlmICghKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNT
RF9FUlJNQVNLKQpAQCAtODI4LDEyICs5MjcsMTQgQEAgc3RhdGljIGludCB0aWZtX3NkX2luaXRp
YWxpemVfaG9zdChzdHJ1YwogCX0KIAogCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgRFJJ
VkVSX05BTUUKLQkJICAgICAgICI6IGNhcmQgbm90IHJlYWR5IC0gcHJvYmUgZmFpbGVkIG9uIGlu
aXRpYWxpemF0aW9uXG4iKTsKKwkJcHJpbnRrKEtFUk5fRVJSCisJCSAgICAgICAiJXMgOiBjYXJk
IG5vdCByZWFkeSAtIHByb2JlIGZhaWxlZCBvbiBpbml0aWFsaXphdGlvblxuIiwKKwkJICAgICAg
IHNvY2stPmRldi5idXNfaWQpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKLQl3cml0ZWwoVElG
TV9NTUNTRF9EQVRBTUFTSyB8IFRJRk1fTU1DU0RfRVJSTUFTSywKKwl3cml0ZWwoVElGTV9NTUNT
RF9DRVJSIHwgVElGTV9NTUNTRF9CUlMgfCBUSUZNX01NQ1NEX0VPQworCSAgICAgICB8IFRJRk1f
TU1DU0RfRVJSTUFTSywKIAkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJM
RSk7CiAJbW1pb3diKCk7CiAKQEAgLTg0OCw3ICs5NDksOCBAQCBzdGF0aWMgaW50IHRpZm1fc2Rf
cHJvYmUoc3RydWN0IHRpZm1fZGV2CiAKIAlpZiAoIShUSUZNX1NPQ0tfU1RBVEVfT0NDVVBJRUQK
IAkgICAgICAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpKSkgewotCQlw
cmludGsoS0VSTl9XQVJOSU5HIERSSVZFUl9OQU1FICI6IGNhcmQgZ29uZSwgdW5leHBlY3RlZGx5
XG4iKTsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiJXMgOiBjYXJkIGdvbmUsIHVuZXhwZWN0ZWRs
eVxuIiwKKwkJICAgICAgIHNvY2stPmRldi5idXNfaWQpOwogCQlyZXR1cm4gcmM7CiAJfQogCkBA
IC04NTcsNDEgKzk1OSw0NCBAQCBzdGF0aWMgaW50IHRpZm1fc2RfcHJvYmUoc3RydWN0IHRpZm1f
ZGV2CiAJCXJldHVybiAtRU5PTUVNOwogCiAJaG9zdCA9IG1tY19wcml2KG1tYyk7CisJaG9zdC0+
bm9fZG1hID0gbm9fZG1hOwogCXRpZm1fc2V0X2RydmRhdGEoc29jaywgbW1jKTsKIAlob3N0LT5k
ZXYgPSBzb2NrOwogCWhvc3QtPnRpbWVvdXRfamlmZmllcyA9IG1zZWNzX3RvX2ppZmZpZXMoMTAw
MCk7CiAKLQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZob3N0LT5ub3RpZnkpOwotCXRhc2tsZXRfaW5p
dCgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQsCi0JCSAgICAgbm9fZG1hID8gdGlmbV9zZF9lbmRfY21k
X25vZG1hIDogdGlmbV9zZF9lbmRfY21kLAorCWhvc3QtPmJvdW5jZV9idWYucGFnZSA9IHZpcnRf
dG9fcGFnZShob3N0LT5ib3VuY2VfYnVmX2RhdGEpOworCisJdGFza2xldF9pbml0KCZob3N0LT5m
aW5pc2hfdGFza2xldCwgdGlmbV9zZF9lbmRfY21kLAogCQkgICAgICh1bnNpZ25lZCBsb25nKWhv
c3QpOwogCXNldHVwX3RpbWVyKCZob3N0LT50aW1lciwgdGlmbV9zZF9hYm9ydCwgKHVuc2lnbmVk
IGxvbmcpaG9zdCk7CiAKLQl0aWZtX3NkX29wcy5yZXF1ZXN0ID0gbm9fZG1hID8gdGlmbV9zZF9y
ZXF1ZXN0X25vZG1hIDogdGlmbV9zZF9yZXF1ZXN0OwogCW1tYy0+b3BzID0gJnRpZm1fc2Rfb3Bz
OwogCW1tYy0+b2NyX2F2YWlsID0gTU1DX1ZERF8zMl8zMyB8IE1NQ19WRERfMzNfMzQ7CiAJbW1j
LT5jYXBzID0gTU1DX0NBUF80X0JJVF9EQVRBIHwgTU1DX0NBUF9NVUxUSVdSSVRFOwogCW1tYy0+
Zl9taW4gPSAyMDAwMDAwMCAvIDYwOwogCW1tYy0+Zl9tYXggPSAyNDAwMDAwMDsKLQltbWMtPm1h
eF9od19zZWdzID0gMTsKLQltbWMtPm1heF9waHlzX3NlZ3MgPSAxOwotCS8vIGxpbWl0ZWQgYnkg
RE1BIGNvdW50ZXIgLSBpdCdzIHNhZmVyIHRvIHN0aWNrIHdpdGgKLQkvLyBibG9jayBjb3VudGVy
IGhhcyAxMSBiaXRzIHRob3VnaAotCW1tYy0+bWF4X2Jsa19jb3VudCA9IDI1NjsKLQkvLyAyayBt
YXhpbXVtIGh3IGJsb2NrIGxlbmd0aAotCW1tYy0+bWF4X2Jsa19zaXplID0gMjA0ODsKLQltbWMt
Pm1heF9yZXFfc2l6ZSA9IG1tYy0+bWF4X2Jsa19zaXplICogbW1jLT5tYXhfYmxrX2NvdW50Owot
CW1tYy0+bWF4X3NlZ19zaXplID0gbW1jLT5tYXhfcmVxX3NpemU7Ci0Jc29jay0+c2lnbmFsX2ly
cSA9IHRpZm1fc2Rfc2lnbmFsX2lycTsKKworLy8JbW1jLT5tYXhfYmxrX2NvdW50ID0gMjA0ODsK
Ky8vCW1tYy0+bWF4X2h3X3NlZ3MgPSBtbWMtPm1heF9ibGtfY291bnQ7CisJbW1jLT5tYXhfaHdf
c2VncyA9IDE2OworLy8JbW1jLT5tYXhfYmxrX3NpemUgPSBtaW4oMjA0OCwgUEFHRV9TSVpFKTsK
Ky8vCW1tYy0+bWF4X3NlZ19zaXplID0gbW1jLT5tYXhfYmxrX2NvdW50ICogbW1jLT5tYXhfYmxr
X3NpemU7CisJbW1jLT5tYXhfc2VnX3NpemUgPSAxMjcgKiAyMDQ4OworCisJbW1jLT5tYXhfcGh5
c19zZWdzID0gbW1jLT5tYXhfaHdfc2VnczsKKwltbWMtPm1heF9zZWN0b3JzID0gMTI3ICogbW1j
LT5tYXhfcGh5c19zZWdzOworCisvLwltbWMtPm1heF9yZXFfc2l6ZSA9IG1tYy0+bWF4X3NlZ19z
aXplOworCisJc29jay0+ZXZlbnQgPSB0aWZtX3NkX2V2ZW50OworCXNvY2stPmRhdGFfZXZlbnQg
PSB0aWZtX3NkX2RhdGFfZXZlbnQ7CiAJcmMgPSB0aWZtX3NkX2luaXRpYWxpemVfaG9zdChob3N0
KTsKIAogCWlmICghcmMpCiAJCXJjID0gbW1jX2FkZF9ob3N0KG1tYyk7Ci0JaWYgKHJjKQotCQln
b3RvIG91dF9mcmVlX21tYzsKKwlpZiAoIXJjKQorCQlyZXR1cm4gMDsKIAotCXJldHVybiAwOwot
b3V0X2ZyZWVfbW1jOgogCW1tY19mcmVlX2hvc3QobW1jKTsKIAlyZXR1cm4gcmM7CiB9CkBAIC05
MDAsMTkgKzEwMDUsMzMgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9yZW1vdmUoc3RydWN0IHRpZm1f
ZAogewogCXN0cnVjdCBtbWNfaG9zdCAqbW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKIAlz
dHJ1Y3QgdGlmbV9zZCAqaG9zdCA9IG1tY19wcml2KG1tYyk7CisJdW5zaWduZWQgbG9uZyBmbGFn
czsKIAotCWRlbF90aW1lcl9zeW5jKCZob3N0LT50aW1lcik7Ci0JdGlmbV9zZF90ZXJtaW5hdGUo
aG9zdCk7Ci0Jd2FpdF9ldmVudF90aW1lb3V0KGhvc3QtPm5vdGlmeSwgaG9zdC0+ZmxhZ3MgJiBF
SkVDVF9ET05FLAotCQkJICAgaG9zdC0+dGltZW91dF9qaWZmaWVzKTsKIAl0YXNrbGV0X2tpbGwo
Jmhvc3QtPmZpbmlzaF90YXNrbGV0KTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywg
ZmxhZ3MpOworCWhvc3QtPmVqZWN0ID0gMTsKKwl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tf
TU1DU0RfSU5UX0VOQUJMRSk7CisJbW1pb3diKCk7CisKKwlpZiAoaG9zdC0+cmVxKSB7CisJCXdy
aXRlbChUSUZNX0ZJRk9fSU5UX1NFVEFMTCwKKwkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RN
QV9GSUZPX0lOVF9FTkFCTEVfQ0xFQVIpOworCQl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tf
RE1BX0ZJRk9fSU5UX0VOQUJMRV9TRVQpOworCQlob3N0LT5yZXEtPmNtZC0+ZXJyb3IgPSBNTUNf
RVJSX1RJTUVPVVQ7CisJCWlmIChob3N0LT5yZXEtPnN0b3ApCisJCQlob3N0LT5yZXEtPnN0b3At
PmVycm9yID0gTU1DX0VSUl9USU1FT1VUOworCQl0YXNrbGV0X3NjaGVkdWxlKCZob3N0LT5maW5p
c2hfdGFza2xldCk7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZs
YWdzKTsKKwkvLyB0ZW1wb3JhcnkgaGFjaworCW1zbGVlcCgxMDAwKTsKIAltbWNfcmVtb3ZlX2hv
c3QobW1jKTsKKwlkZXZfZGJnKCZzb2NrLT5kZXYsICJhZnRlciByZW1vdmVcbiIpOwogCiAJLyog
VGhlIG1lYW5pbmcgb2YgdGhlIGJpdCBtYWpvcml0eSBpbiB0aGlzIGNvbnN0YW50IGlzIHVua25v
d24uICovCiAJd3JpdGVsKDB4ZmZmOCAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wp
LAogCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKTsKIAotCXRpZm1fc2V0X2RydmRh
dGEoc29jaywgTlVMTCk7CiAJbW1jX2ZyZWVfaG9zdChtbWMpOwogfQogCkBAIC05MzQsMTQgKzEw
NTMsMTcgQEAgc3RhdGljIGludCB0aWZtX3NkX3Jlc3VtZShzdHJ1Y3QgdGlmbV9kZQogewogCXN0
cnVjdCBtbWNfaG9zdCAqbW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKIAlzdHJ1Y3QgdGlm
bV9zZCAqaG9zdCA9IG1tY19wcml2KG1tYyk7CisJaW50IHJjOwogCi0JaWYgKHNvY2stPm1lZGlh
X2lkICE9IEZNX1NECi0JICAgIHx8IHRpZm1fc2RfaW5pdGlhbGl6ZV9ob3N0KGhvc3QpKSB7Ci0J
CXRpZm1fZWplY3Qoc29jayk7Ci0JCXJldHVybiAwOwotCX0gZWxzZSB7Ci0JCXJldHVybiBtbWNf
cmVzdW1lX2hvc3QobW1jKTsKLQl9CisJcmMgPSB0aWZtX3NkX2luaXRpYWxpemVfaG9zdChob3N0
KTsKKwlkZXZfZGJnKCZzb2NrLT5kZXYsICJyZXN1bWUgaW5pdGlhbGl6ZSAlZFxuIiwgcmMpOwor
CisJaWYgKHJjKQorCQlob3N0LT5lamVjdCA9IDE7CisJZWxzZQorCQlyYyA9IG1tY19yZXN1bWVf
aG9zdChtbWMpOworCisJcmV0dXJuIHJjOwogfQogCiAjZWxzZQpAQCAtOTUxLDggKzEwNzMsOCBA
QCBzdGF0aWMgaW50IHRpZm1fc2RfcmVzdW1lKHN0cnVjdCB0aWZtX2RlCiAKICNlbmRpZiAvKiBD
T05GSUdfUE0gKi8KIAotc3RhdGljIHRpZm1fbWVkaWFfaWQgdGlmbV9zZF9pZF90YmxbXSA9IHsK
LQlGTV9TRCwgMAorc3RhdGljIHN0cnVjdCB0aWZtX2RldmljZV9pZCB0aWZtX3NkX2lkX3RibFtd
ID0geworCXsgVElGTV9UWVBFX1NEIH0sIHsgfQogfTsKIAogc3RhdGljIHN0cnVjdCB0aWZtX2Ry
aXZlciB0aWZtX3NkX2RyaXZlciA9IHsKSW5kZXg6IGtlcm5lbC9saW51eC0yLjYuMjEtZ2VudG9v
L2luY2x1ZGUvbGludXgvdGlmbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtlcm5lbC5vcmlnL2xpbnV4LTIu
Ni4yMS1nZW50b28vaW5jbHVkZS9saW51eC90aWZtLmgKKysrIGtlcm5lbC9saW51eC0yLjYuMjEt
Z2VudG9vL2luY2x1ZGUvbGludXgvdGlmbS5oCkBAIC0xNyw3ICsxNyw3IEBACiAjaW5jbHVkZSA8
bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgv
cGNpLmg+Ci0jaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgorI2luY2x1ZGUgPGxpbnV4L3dvcmtx
dWV1ZS5oPgogCiAvKiBIb3N0IHJlZ2lzdGVycyAocmVsYXRpdmUgdG8gcGNpIGJhc2UgYWRkcmVz
cyk6ICovCiBlbnVtIHsKQEAgLTU4LDE0ICs1OCw4IEBAIGVudW0gewogCVNPQ0tfTVNfREFUQSAg
ICAgICAgICAgICAgICAgICA9IDB4MTg4LAogCVNPQ0tfTVNfU1RBVFVTICAgICAgICAgICAgICAg
ICA9IDB4MThjLAogCVNPQ0tfTVNfU1lTVEVNICAgICAgICAgICAgICAgICA9IDB4MTkwLAotCVNP
Q0tfRklGT19BQ0NFU1MgICAgICAgICAgICAgICA9IDB4MjAwIH07Ci0KLQotI2RlZmluZSBUSUZN
X0lSUV9FTkFCTEUgICAgICAgICAgIDB4ODAwMDAwMDAKLSNkZWZpbmUgVElGTV9JUlFfU09DS01B
U0soeCkgICAgICAoeCkKLSNkZWZpbmUgVElGTV9JUlFfQ0FSRE1BU0soeCkgICAgICAoKHgpIDw8
IDgpCi0jZGVmaW5lIFRJRk1fSVJRX0ZJRk9NQVNLKHgpICAgICAgKCh4KSA8PCAxNikKLSNkZWZp
bmUgVElGTV9JUlFfU0VUQUxMICAgICAgICAgICAweGZmZmZmZmZmCisJU09DS19GSUZPX0FDQ0VT
UyAgICAgICAgICAgICAgID0gMHgyMDAKK307CiAKICNkZWZpbmUgVElGTV9DVFJMX0xFRCAgICAg
ICAgICAgICAweDAwMDAwMDQwCiAjZGVmaW5lIFRJRk1fQ1RSTF9GQVNUX0NMSyAgICAgICAgMHgw
MDAwMDEwMApAQCAtNzQsNzAgKzY4LDkzIEBAIGVudW0gewogI2RlZmluZSBUSUZNX1NPQ0tfU1RB
VEVfUE9XRVJFRCAgIDB4MDAwMDAwODAKIAogI2RlZmluZSBUSUZNX0ZJRk9fRU5BQkxFICAgICAg
ICAgIDB4MDAwMDAwMDEgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQg
Ki8KKyNkZWZpbmUgVElGTV9GSUZPX1JFQURZICAgICAgICAgICAweDAwMDAwMDAxIC8qIE1lYW5p
bmcgb2YgdGhpcyBjb25zdGFudCBpcyB1bnZlcmlmaWVkICovCiAjZGVmaW5lIFRJRk1fRklGT19J
TlRfU0VUQUxMICAgICAgMHgwMDAwZmZmZgogI2RlZmluZSBUSUZNX0ZJRk9fSU5UTUFTSyAgICAg
ICAgIDB4MDAwMDAwMDUgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQg
Ki8KIAogI2RlZmluZSBUSUZNX0RNQV9SRVNFVCAgICAgICAgICAgIDB4MDAwMDAwMDIgLyogTWVh
bmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KICNkZWZpbmUgVElGTV9ETUFf
VFggICAgICAgICAgICAgICAweDAwMDA4MDAwIC8qIE1lYW5pbmcgb2YgdGhpcyBjb25zdGFudCBp
cyB1bnZlcmlmaWVkICovCiAjZGVmaW5lIFRJRk1fRE1BX0VOICAgICAgICAgICAgICAgMHgwMDAw
MDAwMSAvKiBNZWFuaW5nIG9mIHRoaXMgY29uc3RhbnQgaXMgdW52ZXJpZmllZCAqLworI2RlZmlu
ZSBUSUZNX0RNQV9UU0laRSAgICAgICAgICAgIDB4MDAwMDAwN2YgLyogTWVhbmluZyBvZiB0aGlz
IGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KIAotdHlwZWRlZiBlbnVtIHtGTV9OVUxMID0gMCwg
Rk1fWEQgPSAweDAxLCBGTV9NUyA9IDB4MDIsIEZNX1NEID0gMHgwM30gdGlmbV9tZWRpYV9pZDsK
KyNkZWZpbmUgVElGTV9UWVBFX1hEIDEKKyNkZWZpbmUgVElGTV9UWVBFX01TIDIKKyNkZWZpbmUg
VElGTV9UWVBFX1NEIDMKKworc3RydWN0IHRpZm1fZGV2aWNlX2lkIHsKKwl1bnNpZ25lZCBjaGFy
IHR5cGU7Cit9OwogCiBzdHJ1Y3QgdGlmbV9kcml2ZXI7CiBzdHJ1Y3QgdGlmbV9kZXYgewotCWNo
YXIgX19pb21lbSAgICAgICAgICAgICphZGRyOwotCXNwaW5sb2NrX3QgICAgICAgICAgICAgIGxv
Y2s7Ci0JdGlmbV9tZWRpYV9pZCAgICAgICAgICAgbWVkaWFfaWQ7Ci0JdW5zaWduZWQgaW50ICAg
ICAgICAgICAgc29ja2V0X2lkOworCWNoYXIgX19pb21lbSAgKmFkZHI7CisJc3BpbmxvY2tfdCAg
ICBsb2NrOworCXVuc2lnbmVkIGNoYXIgdHlwZTsKKwl1bnNpZ25lZCBpbnQgIHNvY2tldF9pZDsK
IAotCXZvaWQgICAgICAgICAgICAgICAgICAgICgqc2lnbmFsX2lycSkoc3RydWN0IHRpZm1fZGV2
ICpzb2NrLAotCQkJCQkgICAgICB1bnNpZ25lZCBpbnQgc29ja19pcnFfc3RhdHVzKTsKKwl2b2lk
ICAgICAgICAgICgqZXZlbnQpKHN0cnVjdCB0aWZtX2RldiAqc29jayk7CisJdm9pZCAgICAgICAg
ICAoKmRhdGFfZXZlbnQpKHN0cnVjdCB0aWZtX2RldiAqc29jayk7CiAKLQlzdHJ1Y3QgdGlmbV9k
cml2ZXIgICAgICAqZHJ2OwotCXN0cnVjdCBkZXZpY2UgICAgICAgICAgIGRldjsKKwlzdHJ1Y3Qg
ZGV2aWNlIGRldjsKIH07CiAKIHN0cnVjdCB0aWZtX2RyaXZlciB7Ci0JdGlmbV9tZWRpYV9pZCAg
ICAgICAgKmlkX3RhYmxlOwotCWludCAgICAgICAgICAgICAgICAgICgqcHJvYmUpKHN0cnVjdCB0
aWZtX2RldiAqZGV2KTsKLQl2b2lkICAgICAgICAgICAgICAgICAoKnJlbW92ZSkoc3RydWN0IHRp
Zm1fZGV2ICpkZXYpOwotCWludCAgICAgICAgICAgICAgICAgICgqc3VzcGVuZCkoc3RydWN0IHRp
Zm1fZGV2ICpkZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG1f
bWVzc2FnZV90IHN0YXRlKTsKLQlpbnQgICAgICAgICAgICAgICAgICAoKnJlc3VtZSkoc3RydWN0
IHRpZm1fZGV2ICpkZXYpOworCXN0cnVjdCB0aWZtX2RldmljZV9pZCAqaWRfdGFibGU7CisJaW50
ICAgICAgICAgICAgICAgICAgICgqcHJvYmUpKHN0cnVjdCB0aWZtX2RldiAqZGV2KTsKKwl2b2lk
ICAgICAgICAgICAgICAgICAgKCpyZW1vdmUpKHN0cnVjdCB0aWZtX2RldiAqZGV2KTsKKwlpbnQg
ICAgICAgICAgICAgICAgICAgKCpzdXNwZW5kKShzdHJ1Y3QgdGlmbV9kZXYgKmRldiwKKwkJCQkJ
IHBtX21lc3NhZ2VfdCBzdGF0ZSk7CisJaW50ICAgICAgICAgICAgICAgICAgICgqcmVzdW1lKShz
dHJ1Y3QgdGlmbV9kZXYgKmRldik7CiAKIAlzdHJ1Y3QgZGV2aWNlX2RyaXZlciBkcml2ZXI7CiB9
OwogCisvKiBTb2NrZXQgY2FwczogKi8KK2VudW0geworCVRJRk1fU09DS19YRF9DQVAgICA9IDB4
MDAwMSwgIC8vIHNvY2tldCBzdXBwb3J0cyB4RCBjYXJkcworCVRJRk1fU09DS19NU19QSUYgICA9
IDB4MDAwMiAgIC8vIHNvY2tldCBoYXMgTWVtb3J5c3RpY2sgcGFyYWxsZWwgaS9mCit9OworCiBz
dHJ1Y3QgdGlmbV9hZGFwdGVyIHsKIAljaGFyIF9faW9tZW0gICAgICAgICAgICAqYWRkcjsKIAlz
cGlubG9ja190ICAgICAgICAgICAgICBsb2NrOwogCXVuc2lnbmVkIGludCAgICAgICAgICAgIGly
cV9zdGF0dXM7CiAJdW5zaWduZWQgaW50ICAgICAgICAgICAgc29ja2V0X2NoYW5nZV9zZXQ7Ci0J
d2FpdF9xdWV1ZV9oZWFkX3QgICAgICAgY2hhbmdlX3NldF9ub3RpZnk7CiAJdW5zaWduZWQgaW50
ICAgICAgICAgICAgaWQ7CiAJdW5zaWduZWQgaW50ICAgICAgICAgICAgbnVtX3NvY2tldHM7Ci0J
c3RydWN0IHRpZm1fZGV2ICAgICAgICAgKipzb2NrZXRzOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAg
ICAgICptZWRpYV9zd2l0Y2hlcjsKKwlzdHJ1Y3QgY29tcGxldGlvbiAgICAgICAqZmluaXNoX21l
OworCisJc3RydWN0IHdvcmtfc3RydWN0ICAgICAgbWVkaWFfc3dpdGNoZXI7CiAJc3RydWN0IGNs
YXNzX2RldmljZSAgICAgY2RldjsKLQlzdHJ1Y3QgZGV2aWNlICAgICAgICAgICAqZGV2OwogCi0J
dm9pZCAgICAgICAgICAgICAgICAgICAgKCplamVjdCkoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0s
IHN0cnVjdCB0aWZtX2RldiAqc29jayk7CisJdm9pZCAgICAgICAgICAgICAgICAgICAgKCplamVj
dCkoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sCisJCQkJCSBzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sp
OworCisJc3RydWN0IHNvY2tldF90IHsKKwkJc3RydWN0IHRpZm1fZGV2ICpkZXY7CisJCXVuc2ln
bmVkIGludCAgICBjYXBzOworCX0gc29ja2V0c1swXTsKIH07CiAKLXN0cnVjdCB0aWZtX2FkYXB0
ZXIgKnRpZm1fYWxsb2NfYWRhcHRlcih2b2lkKTsKLXZvaWQgdGlmbV9mcmVlX2RldmljZShzdHJ1
Y3QgZGV2aWNlICpkZXYpOwotdm9pZCB0aWZtX2ZyZWVfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFw
dGVyICpmbSk7Ci1pbnQgdGlmbV9hZGRfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwg
aW50ICgqbWVkaWF0aHJlYWRmbikodm9pZCAqZGF0YSkpOworc3RydWN0IHRpZm1fYWRhcHRlciAq
dGlmbV9hbGxvY19hZGFwdGVyKHVuc2lnbmVkIGludCBudW1fc29ja2V0cywKKwkJCQkJc3RydWN0
IGRldmljZSAqZGV2KTsKK2ludCB0aWZtX2FkZF9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIg
KmZtKTsKIHZvaWQgdGlmbV9yZW1vdmVfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSk7
Ci1zdHJ1Y3QgdGlmbV9kZXYgKnRpZm1fYWxsb2NfZGV2aWNlKHN0cnVjdCB0aWZtX2FkYXB0ZXIg
KmZtKTsKK3ZvaWQgdGlmbV9mcmVlX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pOwor
Cit2b2lkIHRpZm1fZnJlZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KTsKK3N0cnVjdCB0aWZt
X2RldiAqdGlmbV9hbGxvY19kZXZpY2Uoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sIHVuc2lnbmVk
IGludCBpZCwKKwkJCQkgICB1bnNpZ25lZCBjaGFyIHR5cGUpOworCiBpbnQgdGlmbV9yZWdpc3Rl
cl9kcml2ZXIoc3RydWN0IHRpZm1fZHJpdmVyICpkcnYpOwogdm9pZCB0aWZtX3VucmVnaXN0ZXJf
ZHJpdmVyKHN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2KTsKIHZvaWQgdGlmbV9lamVjdChzdHJ1Y3Qg
dGlmbV9kZXYgKnNvY2spOwordW5zaWduZWQgaW50IHRpZm1fZ2V0X3NvY2tfY2FwcyhzdHJ1Y3Qg
dGlmbV9kZXYgKnNvY2spOwogaW50IHRpZm1fbWFwX3NnKHN0cnVjdCB0aWZtX2RldiAqc29jaywg
c3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgaW50IG5lbnRzLAogCQlpbnQgZGlyZWN0aW9uKTsKIHZv
aWQgdGlmbV91bm1hcF9zZyhzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssIHN0cnVjdCBzY2F0dGVybGlz
dCAqc2csIGludCBuZW50cywKIAkJICAgaW50IGRpcmVjdGlvbik7Ci0KK3ZvaWQgdGlmbV9xdWV1
ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCAq
dGlmbV9nZXRfZHJ2ZGF0YShzdHJ1Y3QgdGlmbV9kZXYgKmRldikKIHsKQEAgLTE0OSw4ICsxNjYs
NCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdGlmbV9zZXRfZHJ2ZGF0YShzdHJ1CiAJZGV2X3NldF9k
cnZkYXRhKCZkZXYtPmRldiwgZGF0YSk7CiB9CiAKLXN0cnVjdCB0aWZtX2RldmljZV9pZCB7Ci0J
dGlmbV9tZWRpYV9pZCBtZWRpYV9pZDsKLX07Ci0KICNlbmRpZgo=
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117908</attachid>
            <date>2007-05-02 00:13 0000</date>
            <desc>Patch for 2.6.21 to upstream version 08d</desc>
            <filename>tifm-update-to-0.8d.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGxpbnV4LTIuNi4yMS1nZW50b28vZHJpdmVycy9taXNjL3RpZm1fN3h4MS5jCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIGxpbnV4LTIuNi4yMS1nZW50b28ub3JpZy9kcml2ZXJzL21pc2MvdGlmbV83eHgx
LmMKKysrIGxpbnV4LTIuNi4yMS1nZW50b28vZHJpdmVycy9taXNjL3RpZm1fN3h4MS5jCkBAIC05
LDEyICs5LDIyIEBACiAgKgogICovCiAKLSNpbmNsdWRlIDxsaW51eC90aWZtLmg+Ci0jaW5jbHVk
ZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9mcmVlemVyLmg+CisjaW5j
bHVkZSAibGludXgvdGlmbS5oIgorI2luY2x1ZGUgImxpbnV4L3BjaV9pZHMuaCIKIAogI2RlZmlu
ZSBEUklWRVJfTkFNRSAidGlmbV83eHgxIgotI2RlZmluZSBEUklWRVJfVkVSU0lPTiAiMC43Igor
I2RlZmluZSBEUklWRVJfVkVSU0lPTiAiMC44IgorCisjZGVmaW5lIFRJRk1fSVJRX0VOQUJMRSAg
ICAgICAgICAgMHg4MDAwMDAwMAorI2RlZmluZSBUSUZNX0lSUV9TT0NLTUFTSyh4KSAgICAgICh4
KQorI2RlZmluZSBUSUZNX0lSUV9DQVJETUFTSyh4KSAgICAgICgoeCkgPDwgOCkKKyNkZWZpbmUg
VElGTV9JUlFfRklGT01BU0soeCkgICAgICAoKHgpIDw8IDE2KQorI2RlZmluZSBUSUZNX0lSUV9T
RVRBTEwgICAgICAgICAgIDB4ZmZmZmZmZmYKKworc3RhdGljIHZvaWQgdGlmbV83eHgxX2R1bW15
X2VqZWN0KHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtLAorCQkJCSAgc3RydWN0IHRpZm1fZGV2ICpz
b2NrKQoreworfQogCiBzdGF0aWMgdm9pZCB0aWZtXzd4eDFfZWplY3Qoc3RydWN0IHRpZm1fYWRh
cHRlciAqZm0sIHN0cnVjdCB0aWZtX2RldiAqc29jaykKIHsKQEAgLTIyLDcgKzMyLDcgQEAgc3Rh
dGljIHZvaWQgdGlmbV83eHgxX2VqZWN0KHN0cnVjdCB0aWZtXwogCiAJc3Bpbl9sb2NrX2lycXNh
dmUoJmZtLT5sb2NrLCBmbGFncyk7CiAJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0IHw9IDEgPDwgc29j
ay0+c29ja2V0X2lkOwotCXdha2VfdXBfYWxsKCZmbS0+Y2hhbmdlX3NldF9ub3RpZnkpOworCXRp
Zm1fcXVldWVfd29yaygmZm0tPm1lZGlhX3N3aXRjaGVyKTsKIAlzcGluX3VubG9ja19pcnFyZXN0
b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwogfQogCkBAIC0zMCw4ICs0MCw3IEBAIHN0YXRpYyBpcnFy
ZXR1cm5fdCB0aWZtXzd4eDFfaXNyKGludCBpcnEKIHsKIAlzdHJ1Y3QgdGlmbV9hZGFwdGVyICpm
bSA9IGRldl9pZDsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2s7Ci0JdW5zaWduZWQgaW50IGlycV9z
dGF0dXM7Ci0JdW5zaWduZWQgaW50IHNvY2tfaXJxX3N0YXR1cywgY250OworCXVuc2lnbmVkIGlu
dCBpcnFfc3RhdHVzLCBjbnQ7CiAKIAlzcGluX2xvY2soJmZtLT5sb2NrKTsKIAlpcnFfc3RhdHVz
ID0gcmVhZGwoZm0tPmFkZHIgKyBGTV9JTlRFUlJVUFRfU1RBVFVTKTsKQEAgLTQ0LDEzICs1Mywx
MyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdGlmbV83eHgxX2lzcihpbnQgaXJxCiAJCXdyaXRlbChU
SUZNX0lSUV9FTkFCTEUsIGZtLT5hZGRyICsgRk1fQ0xFQVJfSU5URVJSVVBUX0VOQUJMRSk7CiAK
IAkJZm9yIChjbnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tldHM7IGNudCsrKSB7Ci0JCQlzb2Nr
ID0gZm0tPnNvY2tldHNbY250XTsKLQkJCXNvY2tfaXJxX3N0YXR1cyA9IChpcnFfc3RhdHVzID4+
IGNudCkKLQkJCQkJICAmIChUSUZNX0lSUV9GSUZPTUFTSygxKQotCQkJCQkgICAgIHwgVElGTV9J
UlFfQ0FSRE1BU0soMSkpOwotCi0JCQlpZiAoc29jayAmJiBzb2NrX2lycV9zdGF0dXMpCi0JCQkJ
c29jay0+c2lnbmFsX2lycShzb2NrLCBzb2NrX2lycV9zdGF0dXMpOworCQkJc29jayA9IGZtLT5z
b2NrZXRzW2NudF0uZGV2OworCQkJaWYgKHNvY2spIHsKKwkJCQlpZiAoKGlycV9zdGF0dXMgPj4g
Y250KSAmIFRJRk1fSVJRX0ZJRk9NQVNLKDEpKQorCQkJCQlzb2NrLT5kYXRhX2V2ZW50KHNvY2sp
OworCQkJCWlmICgoaXJxX3N0YXR1cyA+PiBjbnQpICYgVElGTV9JUlFfQ0FSRE1BU0soMSkpCisJ
CQkJCXNvY2stPmV2ZW50KHNvY2spOworCQkJfQogCQl9CiAKIAkJZm0tPnNvY2tldF9jaGFuZ2Vf
c2V0IHw9IGlycV9zdGF0dXMKQEAgLTU4LDU3ICs2Nyw1OCBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qg
dGlmbV83eHgxX2lzcihpbnQgaXJxCiAJfQogCXdyaXRlbChpcnFfc3RhdHVzLCBmbS0+YWRkciAr
IEZNX0lOVEVSUlVQVF9TVEFUVVMpOwogCi0JaWYgKCFmbS0+c29ja2V0X2NoYW5nZV9zZXQpCisJ
aWYgKGZtLT5maW5pc2hfbWUpCisJCWNvbXBsZXRlX2FsbChmbS0+ZmluaXNoX21lKTsKKwllbHNl
IGlmICghZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KQogCQl3cml0ZWwoVElGTV9JUlFfRU5BQkxFLCBm
bS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKIAllbHNlCi0JCXdha2VfdXBfYWxs
KCZmbS0+Y2hhbmdlX3NldF9ub3RpZnkpOworCQl0aWZtX3F1ZXVlX3dvcmsoJmZtLT5tZWRpYV9z
d2l0Y2hlcik7CiAKIAlzcGluX3VubG9jaygmZm0tPmxvY2spOwogCXJldHVybiBJUlFfSEFORExF
RDsKIH0KIAotc3RhdGljIHRpZm1fbWVkaWFfaWQgdGlmbV83eHgxX3RvZ2dsZV9zb2NrX3Bvd2Vy
KGNoYXIgX19pb21lbSAqc29ja19hZGRyLAotCQkJCQkJIGludCBpc194MikKK3N0YXRpYyB1bnNp
Z25lZCBjaGFyIHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dlcihjaGFyIF9faW9tZW0gKnNvY2tf
YWRkciwKKwkJCQkJCSB1bnNpZ25lZCBpbnQgY2FwcykKIHsKIAl1bnNpZ25lZCBpbnQgc19zdGF0
ZTsKIAlpbnQgY250OwogCiAJd3JpdGVsKDB4MGUwMCwgc29ja19hZGRyICsgU09DS19DT05UUk9M
KTsKIAotCWZvciAoY250ID0gMDsgY250IDwgMTAwOyBjbnQrKykgeworCS8qIGhhbGYgYSBzZWNv
bmQgc2hvdWxkIGJlIGVub3VnaCAgKi8KKwlmb3IgKGNudCA9IDE2OyBjbnQgPD0gMjU2OyBjbnQg
PDw9IDEpIHsKIAkJaWYgKCEoVElGTV9TT0NLX1NUQVRFX1BPV0VSRUQKIAkJICAgICAgJiByZWFk
bChzb2NrX2FkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpKSkKIAkJCWJyZWFrOwotCQltc2xlZXAo
MTApOworCisJCW1zbGVlcChjbnQpOwogCX0KIAogCXNfc3RhdGUgPSByZWFkbChzb2NrX2FkZHIg
KyBTT0NLX1BSRVNFTlRfU1RBVEUpOwogCWlmICghKFRJRk1fU09DS19TVEFURV9PQ0NVUElFRCAm
IHNfc3RhdGUpKQotCQlyZXR1cm4gRk1fTlVMTDsKKwkJcmV0dXJuIDA7CiAKLQlpZiAoaXNfeDIp
IHsKLQkJd3JpdGVsKChzX3N0YXRlICYgNykgfCAweDBjMDAsIHNvY2tfYWRkciArIFNPQ0tfQ09O
VFJPTCk7Ci0JfSBlbHNlIHsKLQkJLy8gU21hcnRNZWRpYSBjYXJkcyBuZWVkIGV4dHJhIDQwIG1z
ZWMKKwl3cml0ZWwocmVhZGwoc29ja19hZGRyICsgU09DS19DT05UUk9MKSB8IFRJRk1fQ1RSTF9M
RUQsCisJICAgICAgIHNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCk7CisKKwlpZiAoY2FwcyAmIFRJ
Rk1fU09DS19YRF9DQVApIHsKIAkJaWYgKCgocmVhZGwoc29ja19hZGRyICsgU09DS19QUkVTRU5U
X1NUQVRFKSA+PiA0KSAmIDcpID09IDEpCiAJCQltc2xlZXAoNDApOwotCQl3cml0ZWwocmVhZGwo
c29ja19hZGRyICsgU09DS19DT05UUk9MKSB8IFRJRk1fQ1RSTF9MRUQsCi0JCSAgICAgICBzb2Nr
X2FkZHIgKyBTT0NLX0NPTlRST0wpOwotCQltc2xlZXAoMTApOwotCQl3cml0ZWwoKHNfc3RhdGUg
JiAweDcpIHwgMHgwYzAwIHwgVElGTV9DVFJMX0xFRCwKLQkJCXNvY2tfYWRkciArIFNPQ0tfQ09O
VFJPTCk7CiAJfQorCXdyaXRlbCgoc19zdGF0ZSAmIDcpIHwgMHgwYzAwLCBzb2NrX2FkZHIgKyBT
T0NLX0NPTlRST0wpOworCW1zbGVlcCgxMCk7CiAKLQlmb3IgKGNudCA9IDA7IGNudCA8IDEwMDsg
Y250KyspIHsKKwlmb3IgKGNudCA9IDE2OyBjbnQgPD0gMjU2OyBjbnQgPDw9IDEpIHsKIAkJaWYg
KChUSUZNX1NPQ0tfU1RBVEVfUE9XRVJFRAogCQkgICAgICYgcmVhZGwoc29ja19hZGRyICsgU09D
S19QUkVTRU5UX1NUQVRFKSkpCiAJCQlicmVhazsKLQkJbXNsZWVwKDEwKTsKKworCQltc2xlZXAo
Y250KTsKIAl9CiAKLQlpZiAoIWlzX3gyKQotCQl3cml0ZWwocmVhZGwoc29ja19hZGRyICsgU09D
S19DT05UUk9MKSAmICh+VElGTV9DVFJMX0xFRCksCi0JCSAgICAgICBzb2NrX2FkZHIgKyBTT0NL
X0NPTlRST0wpOworCXdyaXRlbChyZWFkbChzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpICYgKH5U
SUZNX0NUUkxfTEVEKSwKKwkgICAgICAgc29ja19hZGRyICsgU09DS19DT05UUk9MKTsKIAogCXJl
dHVybiAocmVhZGwoc29ja19hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSA+PiA0KSAmIDc7CiB9
CkBAIC0xMTksMTI3ICsxMjksNzggQEAgdGlmbV83eHgxX3NvY2tfYWRkcihjaGFyIF9faW9tZW0g
KmJhc2VfYQogCXJldHVybiBiYXNlX2FkZHIgKyAoKHNvY2tfbnVtICsgMSkgPDwgMTApOwogfQog
Ci1zdGF0aWMgaW50IHRpZm1fN3h4MV9zd2l0Y2hfbWVkaWEodm9pZCAqZGF0YSkKK3N0YXRpYyB2
b2lkIHRpZm1fN3h4MV9zd2l0Y2hfbWVkaWEoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewot
CXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtID0gZGF0YTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwot
CXRpZm1fbWVkaWFfaWQgbWVkaWFfaWQ7Ci0JY2hhciAqY2FyZF9uYW1lID0gInh4IjsKLQlpbnQg
Y250LCByYzsKKwlzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSA9IGNvbnRhaW5lcl9vZih3b3JrLCBz
dHJ1Y3QgdGlmbV9hZGFwdGVyLAorCQkJCQkgICAgICAgbWVkaWFfc3dpdGNoZXIpOwogCXN0cnVj
dCB0aWZtX2RldiAqc29jazsKLQl1bnNpZ25lZCBpbnQgc29ja2V0X2NoYW5nZV9zZXQ7Ci0KLQl3
aGlsZSAoMSkgewotCQlyYyA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShmbS0+Y2hhbmdlX3Nl
dF9ub3RpZnksCi0JCQkJCSAgICAgIGZtLT5zb2NrZXRfY2hhbmdlX3NldCk7Ci0JCWlmIChyYyA9
PSAtRVJFU1RBUlRTWVMpCi0JCQl0cnlfdG9fZnJlZXplKCk7CisJdW5zaWduZWQgbG9uZyBmbGFn
czsKKwl1bnNpZ25lZCBjaGFyIG1lZGlhX2lkOworCXVuc2lnbmVkIGludCBzb2NrZXRfY2hhbmdl
X3NldCwgY250OwogCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQlz
b2NrZXRfY2hhbmdlX3NldCA9IGZtLT5zb2NrZXRfY2hhbmdlX3NldDsKLQkJZm0tPnNvY2tldF9j
aGFuZ2Vfc2V0ID0gMDsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKKwlz
b2NrZXRfY2hhbmdlX3NldCA9IGZtLT5zb2NrZXRfY2hhbmdlX3NldDsKKwlmbS0+c29ja2V0X2No
YW5nZV9zZXQgPSAwOwogCi0JCWRldl9kYmcoZm0tPmRldiwgImNoZWNraW5nIG1lZGlhIHNldCAl
eFxuIiwKLQkJCXNvY2tldF9jaGFuZ2Vfc2V0KTsKKwlkZXZfZGJnKGZtLT5jZGV2LmRldiwgImNo
ZWNraW5nIG1lZGlhIHNldCAleFxuIiwKKwkJc29ja2V0X2NoYW5nZV9zZXQpOwogCi0JCWlmIChr
dGhyZWFkX3Nob3VsZF9zdG9wKCkpCi0JCQlzb2NrZXRfY2hhbmdlX3NldCA9ICgxIDw8IGZtLT5u
dW1fc29ja2V0cykgLSAxOworCWlmICghc29ja2V0X2NoYW5nZV9zZXQpIHsKIAkJc3Bpbl91bmxv
Y2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKKwkJcmV0dXJuOworCX0KIAotCQlpZiAo
IXNvY2tldF9jaGFuZ2Vfc2V0KQorCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRz
OyBjbnQrKykgeworCQlpZiAoIShzb2NrZXRfY2hhbmdlX3NldCAmICgxIDw8IGNudCkpKQogCQkJ
Y29udGludWU7Ci0KLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCWZv
ciAoY250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRzOyBjbnQrKykgewotCQkJaWYgKCEoc29j
a2V0X2NoYW5nZV9zZXQgJiAoMSA8PCBjbnQpKSkKLQkJCQljb250aW51ZTsKLQkJCXNvY2sgPSBm
bS0+c29ja2V0c1tjbnRdOwotCQkJaWYgKHNvY2spIHsKLQkJCQlwcmludGsoS0VSTl9JTkZPIERS
SVZFUl9OQU1FCi0JCQkJICAgICAgICI6IGRlbWFuZCByZW1vdmluZyBjYXJkIGZyb20gc29ja2V0
ICVkXG4iLAotCQkJCSAgICAgICBjbnQpOwotCQkJCWZtLT5zb2NrZXRzW2NudF0gPSBOVUxMOwot
CQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJZGV2aWNl
X3VucmVnaXN0ZXIoJnNvY2stPmRldik7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2Nr
LCBmbGFncyk7Ci0JCQkJd3JpdGVsKDB4MGUwMCwKLQkJCQkgICAgICAgdGlmbV83eHgxX3NvY2tf
YWRkcihmbS0+YWRkciwgY250KQotCQkJCSAgICAgICArIFNPQ0tfQ09OVFJPTCk7Ci0JCQl9Ci0J
CQlpZiAoa3RocmVhZF9zaG91bGRfc3RvcCgpKQotCQkJCWNvbnRpbnVlOwotCisJCXNvY2sgPSBm
bS0+c29ja2V0c1tjbnRdLmRldjsKKwkJaWYgKHNvY2spIHsKKwkJCXByaW50ayhLRVJOX0lORk8K
KwkJCSAgICAgICAiJXMgOiBkZW1hbmQgcmVtb3ZpbmcgY2FyZCBmcm9tIHNvY2tldCAldToldVxu
IiwKKwkJCSAgICAgICBmbS0+Y2Rldi5jbGFzc19pZCwgZm0tPmlkLCBjbnQpOworCQkJZm0tPnNv
Y2tldHNbY250XS5kZXYgPSBOVUxMOwogCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxv
Y2ssIGZsYWdzKTsKLQkJCW1lZGlhX2lkID0gdGlmbV83eHgxX3RvZ2dsZV9zb2NrX3Bvd2VyKAot
CQkJCQl0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCBjbnQpLAotCQkJCQlmbS0+bnVtX3Nv
Y2tldHMgPT0gMik7Ci0JCQlpZiAobWVkaWFfaWQpIHsKLQkJCQlzb2NrID0gdGlmbV9hbGxvY19k
ZXZpY2UoZm0pOwotCQkJCWlmIChzb2NrKSB7Ci0JCQkJCXNvY2stPmFkZHIgPSB0aWZtXzd4eDFf
c29ja19hZGRyKGZtLT5hZGRyLAotCQkJCQkJCQkJIGNudCk7Ci0JCQkJCXNvY2stPm1lZGlhX2lk
ID0gbWVkaWFfaWQ7Ci0JCQkJCXNvY2stPnNvY2tldF9pZCA9IGNudDsKLQkJCQkJc3dpdGNoICht
ZWRpYV9pZCkgewotCQkJCQljYXNlIDE6Ci0JCQkJCQljYXJkX25hbWUgPSAieGQiOwotCQkJCQkJ
YnJlYWs7Ci0JCQkJCWNhc2UgMjoKLQkJCQkJCWNhcmRfbmFtZSA9ICJtcyI7Ci0JCQkJCQlicmVh
azsKLQkJCQkJY2FzZSAzOgotCQkJCQkJY2FyZF9uYW1lID0gInNkIjsKLQkJCQkJCWJyZWFrOwot
CQkJCQlkZWZhdWx0OgotCQkJCQkJdGlmbV9mcmVlX2RldmljZSgmc29jay0+ZGV2KTsKLQkJCQkJ
CXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQkJCQkJY29udGludWU7Ci0J
CQkJCX0KLQkJCQkJc25wcmludGYoc29jay0+ZGV2LmJ1c19pZCwgQlVTX0lEX1NJWkUsCi0JCQkJ
CQkgInRpZm1fJXMldToldSIsIGNhcmRfbmFtZSwKLQkJCQkJCSBmbS0+aWQsIGNudCk7Ci0JCQkJ
CXByaW50ayhLRVJOX0lORk8gRFJJVkVSX05BTUUKLQkJCQkJICAgICAgICI6ICVzIGNhcmQgZGV0
ZWN0ZWQgaW4gc29ja2V0ICVkXG4iLAotCQkJCQkgICAgICAgY2FyZF9uYW1lLCBjbnQpOwotCQkJ
CQlpZiAoIWRldmljZV9yZWdpc3Rlcigmc29jay0+ZGV2KSkgewotCQkJCQkJc3Bpbl9sb2NrX2ly
cXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJCQlpZiAoIWZtLT5zb2NrZXRzW2NudF0pIHsK
LQkJCQkJCQlmbS0+c29ja2V0c1tjbnRdID0gc29jazsKLQkJCQkJCQlzb2NrID0gTlVMTDsKLQkJ
CQkJCX0KLQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0J
CQkJCX0KLQkJCQkJaWYgKHNvY2spCi0JCQkJCQl0aWZtX2ZyZWVfZGV2aWNlKCZzb2NrLT5kZXYp
OwotCQkJCX0KLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQkJCX0K
KwkJCWRldmljZV91bnJlZ2lzdGVyKCZzb2NrLT5kZXYpOworCQkJc3Bpbl9sb2NrX2lycXNhdmUo
JmZtLT5sb2NrLCBmbGFncyk7CisJCQl3cml0ZWwoMHgwZTAwLCB0aWZtXzd4eDFfc29ja19hZGRy
KGZtLT5hZGRyLCBjbnQpCisJCQkgICAgICAgKyBTT0NLX0NPTlRST0wpOwogCQl9CiAKLQkJaWYg
KCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKLQkJCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhz
b2NrZXRfY2hhbmdlX3NldCkKLQkJCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKHNvY2tldF9j
aGFuZ2Vfc2V0KSwKLQkJCSAgICAgICBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFC
TEUpOwotCQkJd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KQotCQkJ
ICAgICAgIHwgVElGTV9JUlFfQ0FSRE1BU0soc29ja2V0X2NoYW5nZV9zZXQpLAotCQkJICAgICAg
IGZtLT5hZGRyICsgRk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUpOwotCQkJd3JpdGVsKFRJRk1fSVJR
X0VOQUJMRSwKLQkJCSAgICAgICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsK
LQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCX0gZWxzZSB7
Ci0JCQlmb3IgKGNudCA9IDA7IGNudCA8IGZtLT5udW1fc29ja2V0czsgY250KyspIHsKLQkJCQlp
ZiAoZm0tPnNvY2tldHNbY250XSkKLQkJCQkJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0IHw9IDEgPDwg
Y250OwotCQkJfQotCQkJaWYgKCFmbS0+c29ja2V0X2NoYW5nZV9zZXQpIHsKLQkJCQlzcGluX3Vu
bG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQkJCXJldHVybiAwOwotCQkJfSBl
bHNlIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKKworCQlt
ZWRpYV9pZCA9IHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dlcigKKwkJCQl0aWZtXzd4eDFfc29j
a19hZGRyKGZtLT5hZGRyLCBjbnQpLAorCQkJCWZtLT5zb2NrZXRzW2NudF0uY2Fwcyk7CisKKwkJ
Ly8gdGlmbV9hbGxvY19kZXZpY2Ugd2lsbCBjaGVjayBpZiBtZWRpYV9pZCBpcyB2YWxpZAorCQlz
b2NrID0gdGlmbV9hbGxvY19kZXZpY2UoZm0sIGNudCwgbWVkaWFfaWQpOworCQlpZiAoc29jaykg
eworCQkJc29jay0+YWRkciA9IHRpZm1fN3h4MV9zb2NrX2FkZHIoZm0tPmFkZHIsIGNudCk7CisK
KwkJCWlmICghZGV2aWNlX3JlZ2lzdGVyKCZzb2NrLT5kZXYpKSB7CisJCQkJc3Bpbl9sb2NrX2ly
cXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7CisJCQkJaWYgKCFmbS0+c29ja2V0c1tjbnRdLmRldikg
eworCQkJCQlmbS0+c29ja2V0c1tjbnRdLmRldiA9IHNvY2s7CisJCQkJCXNvY2sgPSBOVUxMOwor
CQkJCX0KIAkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwogCQkJ
fQorCQkJaWYgKHNvY2spCisJCQkJdGlmbV9mcmVlX2RldmljZSgmc29jay0+ZGV2KTsKIAkJfQor
CQlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKIAl9Ci0JcmV0dXJuIDA7CisK
Kwl3cml0ZWwoVElGTV9JUlFfRklGT01BU0soc29ja2V0X2NoYW5nZV9zZXQpCisJICAgICAgIHwg
VElGTV9JUlFfQ0FSRE1BU0soc29ja2V0X2NoYW5nZV9zZXQpLAorCSAgICAgICBmbS0+YWRkciAr
IEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOworCisJd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNL
KHNvY2tldF9jaGFuZ2Vfc2V0KQorCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKHNvY2tldF9j
aGFuZ2Vfc2V0KSwKKwkgICAgICAgZm0tPmFkZHIgKyBGTV9TRVRfSU5URVJSVVBUX0VOQUJMRSk7
CisKKwl3cml0ZWwoVElGTV9JUlFfRU5BQkxFLCBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRf
RU5BQkxFKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwogfQog
CiAjaWZkZWYgQ09ORklHX1BNCkBAIC0yNTgsOSArMjE5LDExIEBAIHN0YXRpYyBpbnQgdGlmbV83
eHgxX3N1c3BlbmQoc3RydWN0IHBjaV8KIHN0YXRpYyBpbnQgdGlmbV83eHgxX3Jlc3VtZShzdHJ1
Y3QgcGNpX2RldiAqZGV2KQogewogCXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtID0gcGNpX2dldF9k
cnZkYXRhKGRldik7Ci0JaW50IGNudCwgcmM7CisJaW50IHJjOworCXVuc2lnbmVkIGludCBnb29k
X3NvY2tldHMgPSAwLCBiYWRfc29ja2V0cyA9IDA7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQl0
aWZtX21lZGlhX2lkIG5ld19pZHNbZm0tPm51bV9zb2NrZXRzXTsKKwl1bnNpZ25lZCBjaGFyIG5l
d19pZHNbZm0tPm51bV9zb2NrZXRzXTsKKwlERUNMQVJFX0NPTVBMRVRJT05fT05TVEFDSyhmaW5p
c2hfcmVzdW1lKTsKIAogCXBjaV9zZXRfcG93ZXJfc3RhdGUoZGV2LCBQQ0lfRDApOwogCXBjaV9y
ZXN0b3JlX3N0YXRlKGRldik7CkBAIC0yNzEsNDUgKzIzNCw1MCBAQCBzdGF0aWMgaW50IHRpZm1f
N3h4MV9yZXN1bWUoc3RydWN0IHBjaV9kCiAKIAlkZXZfZGJnKCZkZXYtPmRldiwgInJlc3VtaW5n
IGhvc3RcbiIpOwogCi0JZm9yIChjbnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tldHM7IGNudCsr
KQotCQluZXdfaWRzW2NudF0gPSB0aWZtXzd4eDFfdG9nZ2xlX3NvY2tfcG93ZXIoCi0JCQkJCXRp
Zm1fN3h4MV9zb2NrX2FkZHIoZm0tPmFkZHIsIGNudCksCi0JCQkJCWZtLT5udW1fc29ja2V0cyA9
PSAyKTsKKwlmb3IgKHJjID0gMDsgcmMgPCBmbS0+bnVtX3NvY2tldHM7IHJjKyspCisJCW5ld19p
ZHNbcmNdID0gdGlmbV83eHgxX3RvZ2dsZV9zb2NrX3Bvd2VyKAorCQkJCQl0aWZtXzd4eDFfc29j
a19hZGRyKGZtLT5hZGRyLCByYyksCisJCQkJCWZtLT5zb2NrZXRzW3JjXS5jYXBzKTsKIAlzcGlu
X2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQlmbS0+c29ja2V0X2NoYW5nZV9zZXQg
PSAwOwotCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRzOyBjbnQrKykgewotCQlp
ZiAoZm0tPnNvY2tldHNbY250XSkgewotCQkJaWYgKGZtLT5zb2NrZXRzW2NudF0tPm1lZGlhX2lk
ID09IG5ld19pZHNbY250XSkKLQkJCQlmbS0+c29ja2V0X2NoYW5nZV9zZXQgfD0gMSA8PCBjbnQ7
Ci0KLQkJCWZtLT5zb2NrZXRzW2NudF0tPm1lZGlhX2lkID0gbmV3X2lkc1tjbnRdOworCWZvciAo
cmMgPSAwOyByYyA8IGZtLT5udW1fc29ja2V0czsgcmMrKykgeworCQlpZiAoZm0tPnNvY2tldHNb
cmNdLmRldikgeworCQkJaWYgKGZtLT5zb2NrZXRzW3JjXS5kZXYtPnR5cGUgPT0gbmV3X2lkc1ty
Y10pCisJCQkJZ29vZF9zb2NrZXRzIHw9IDEgPDwgcmM7CisJCQllbHNlCisJCQkJYmFkX3NvY2tl
dHMgfD0gMSA8PCByYzsKIAkJfQogCX0KIAogCXdyaXRlbChUSUZNX0lSUV9FTkFCTEUgfCBUSUZN
X0lSUV9TT0NLTUFTSygoMSA8PCBmbS0+bnVtX3NvY2tldHMpIC0gMSksCiAJICAgICAgIGZtLT5h
ZGRyICsgRk1fU0VUX0lOVEVSUlVQVF9FTkFCTEUpOwotCWlmICghZm0tPnNvY2tldF9jaGFuZ2Vf
c2V0KSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCXJl
dHVybiAwOwotCX0gZWxzZSB7Ci0JCWZtLT5zb2NrZXRfY2hhbmdlX3NldCA9IDA7CisJZGV2X2Ri
ZygmZGV2LT5kZXYsICJjaGFuZ2Ugc2V0cyBvbiByZXN1bWU6IGdvb2QgJXgsIGJhZCAleFxuIiwK
KwkJZ29vZF9zb2NrZXRzLCBiYWRfc29ja2V0cyk7CisKKwlmbS0+c29ja2V0X2NoYW5nZV9zZXQg
PSAwOworCWlmIChnb29kX3NvY2tldHMpIHsKKwkJZm0tPmZpbmlzaF9tZSA9ICZmaW5pc2hfcmVz
dW1lOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOworCQlyYyA9
IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgmZmluaXNoX3Jlc3VtZSwgSFopOworCQlkZXZf
ZGJnKCZkZXYtPmRldiwgIndhaXQgcmV0dXJuZWQgJWRcbiIsIHJjKTsKKwkJd3JpdGVsKFRJRk1f
SVJRX0ZJRk9NQVNLKGdvb2Rfc29ja2V0cykKKwkJICAgICAgIHwgVElGTV9JUlFfQ0FSRE1BU0so
Z29vZF9zb2NrZXRzKSwKKwkJICAgICAgIGZtLT5hZGRyICsgRk1fQ0xFQVJfSU5URVJSVVBUX0VO
QUJMRSk7CisJCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhnb29kX3NvY2tldHMpCisJCSAgICAg
ICB8IFRJRk1fSVJRX0NBUkRNQVNLKGdvb2Rfc29ja2V0cyksCisJCSAgICAgICBmbS0+YWRkciAr
IEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2Nr
LCBmbGFncyk7CisJCWZtLT5maW5pc2hfbWUgPSBOVUxMOworCQlmbS0+c29ja2V0X2NoYW5nZV9z
ZXQgXj0gZ29vZF9zb2NrZXRzICYgZm0tPnNvY2tldF9jaGFuZ2Vfc2V0OwogCX0KIAotCXdhaXRf
ZXZlbnRfdGltZW91dChmbS0+Y2hhbmdlX3NldF9ub3RpZnksIGZtLT5zb2NrZXRfY2hhbmdlX3Nl
dCwgSFopOworCWZtLT5zb2NrZXRfY2hhbmdlX3NldCB8PSBiYWRfc29ja2V0czsKKwlpZiAoZm0t
PnNvY2tldF9jaGFuZ2Vfc2V0KQkJCisJCXRpZm1fcXVldWVfd29yaygmZm0tPm1lZGlhX3N3aXRj
aGVyKTsKIAotCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCXdyaXRlbChU
SUZNX0lSUV9GSUZPTUFTSyhmbS0+c29ja2V0X2NoYW5nZV9zZXQpCi0JICAgICAgIHwgVElGTV9J
UlFfQ0FSRE1BU0soZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KSwKLQkgICAgICAgZm0tPmFkZHIgKyBG
TV9DTEVBUl9JTlRFUlJVUFRfRU5BQkxFKTsKLQl3cml0ZWwoVElGTV9JUlFfRklGT01BU0soZm0t
PnNvY2tldF9jaGFuZ2Vfc2V0KQotCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKGZtLT5zb2Nr
ZXRfY2hhbmdlX3NldCksCi0JICAgICAgIGZtLT5hZGRyICsgRk1fU0VUX0lOVEVSUlVQVF9FTkFC
TEUpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7CiAJd3JpdGVs
KFRJRk1fSVJRX0VOQUJMRSwKIAkgICAgICAgZm0tPmFkZHIgKyBGTV9TRVRfSU5URVJSVVBUX0VO
QUJMRSk7Ci0JZm0tPnNvY2tldF9jaGFuZ2Vfc2V0ID0gMDsKIAotCXNwaW5fdW5sb2NrX2lycXJl
c3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTM0NSwyMCArMzEz
LDI2IEBAIHN0YXRpYyBpbnQgdGlmbV83eHgxX3Byb2JlKHN0cnVjdCBwY2lfZGUKIAogCXBjaV9p
bnR4KGRldiwgMSk7CiAKLQlmbSA9IHRpZm1fYWxsb2NfYWRhcHRlcigpOworCWZtID0gdGlmbV9h
bGxvY19hZGFwdGVyKGRldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfVElfWFgyMV9YWDExX0ZN
CisJCQkJPyA0IDogMiwgJmRldi0+ZGV2KTsKIAlpZiAoIWZtKSB7CiAJCXJjID0gLUVOT01FTTsK
IAkJZ290byBlcnJfb3V0X2ludDsKIAl9CiAKLQlmbS0+ZGV2ID0gJmRldi0+ZGV2OwotCWZtLT5u
dW1fc29ja2V0cyA9IChkZXYtPmRldmljZSA9PSBQQ0lfREVWSUNFX0lEX1RJX1hYMjFfWFgxMV9G
TSkKLQkJCSAgPyA0IDogMjsKLQlmbS0+c29ja2V0cyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB0
aWZtX2RldiopICogZm0tPm51bV9zb2NrZXRzLAotCQkJICAgICAgR0ZQX0tFUk5FTCk7Ci0JaWYg
KCFmbS0+c29ja2V0cykKLQkJZ290byBlcnJfb3V0X2ZyZWU7CisJc3dpdGNoIChmbS0+bnVtX3Nv
Y2tldHMpIHsKKwljYXNlIDI6CisJCWZtLT5zb2NrZXRzWzBdLmNhcHMgfD0gVElGTV9TT0NLX01T
X1BJRjsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQlmbS0+c29ja2V0c1swXS5jYXBzIHw9IFRJRk1f
U09DS19YRF9DQVA7CisJCWZtLT5zb2NrZXRzWzFdLmNhcHMgfD0gVElGTV9TT0NLX1hEX0NBUDsK
KwkJZm0tPnNvY2tldHNbMl0uY2FwcyB8PSBUSUZNX1NPQ0tfWERfQ0FQIHwgVElGTV9TT0NLX01T
X1BJRjsKKwkJZm0tPnNvY2tldHNbM10uY2FwcyB8PSBUSUZNX1NPQ0tfWERfQ0FQOworCQlicmVh
azsKKwl9CiAKKwlJTklUX1dPUksoJmZtLT5tZWRpYV9zd2l0Y2hlciwgdGlmbV83eHgxX3N3aXRj
aF9tZWRpYSk7CiAJZm0tPmVqZWN0ID0gdGlmbV83eHgxX2VqZWN0OwogCXBjaV9zZXRfZHJ2ZGF0
YShkZXYsIGZtKTsKIApAQCAtMzY3LDE5ICszNDEsMTYgQEAgc3RhdGljIGludCB0aWZtXzd4eDFf
cHJvYmUoc3RydWN0IHBjaV9kZQogCWlmICghZm0tPmFkZHIpCiAJCWdvdG8gZXJyX291dF9mcmVl
OwogCi0JcmMgPSByZXF1ZXN0X2lycShkZXYtPmlycSwgdGlmbV83eHgxX2lzciwgSVJRRl9TSEFS
RUQsIERSSVZFUl9OQU1FLCBmbSk7CisJcmMgPSByZXF1ZXN0X2lycShkZXYtPmlycSwgdGlmbV83
eHgxX2lzciwgU0FfU0hJUlEsIERSSVZFUl9OQU1FLCBmbSk7CiAJaWYgKHJjKQogCQlnb3RvIGVy
cl9vdXRfdW5tYXA7CiAKLQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZmbS0+Y2hhbmdlX3NldF9ub3Rp
ZnkpOwotCXJjID0gdGlmbV9hZGRfYWRhcHRlcihmbSwgdGlmbV83eHgxX3N3aXRjaF9tZWRpYSk7
CisJcmMgPSB0aWZtX2FkZF9hZGFwdGVyKGZtKTsKIAlpZiAocmMpCiAJCWdvdG8gZXJyX291dF9p
cnE7CiAKLQl3cml0ZWwoVElGTV9JUlFfU0VUQUxMLCBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVS
UlVQVF9FTkFCTEUpOwogCXdyaXRlbChUSUZNX0lSUV9FTkFCTEUgfCBUSUZNX0lSUV9TT0NLTUFT
SygoMSA8PCBmbS0+bnVtX3NvY2tldHMpIC0gMSksCiAJICAgICAgIGZtLT5hZGRyICsgRk1fU0VU
X0lOVEVSUlVQVF9FTkFCTEUpOwotCXdha2VfdXBfcHJvY2VzcyhmbS0+bWVkaWFfc3dpdGNoZXIp
OwogCXJldHVybiAwOwogCiBlcnJfb3V0X2lycToKQEAgLTQwMSwxOCArMzcyLDEyIEBAIGVycl9v
dXQ6CiBzdGF0aWMgdm9pZCB0aWZtXzd4eDFfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCiB7
CiAJc3RydWN0IHRpZm1fYWRhcHRlciAqZm0gPSBwY2lfZ2V0X2RydmRhdGEoZGV2KTsKLQl1bnNp
Z25lZCBsb25nIGZsYWdzOwogCisJZm0tPmVqZWN0ID0gdGlmbV83eHgxX2R1bW15X2VqZWN0Owog
CXdyaXRlbChUSUZNX0lSUV9TRVRBTEwsIGZtLT5hZGRyICsgRk1fQ0xFQVJfSU5URVJSVVBUX0VO
QUJMRSk7CiAJbW1pb3diKCk7CiAJZnJlZV9pcnEoZGV2LT5pcnEsIGZtKTsKIAotCXNwaW5fbG9j
a19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCWZtLT5zb2NrZXRfY2hhbmdlX3NldCA9ICgx
IDw8IGZtLT5udW1fc29ja2V0cykgLSAxOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5s
b2NrLCBmbGFncyk7Ci0KLQlrdGhyZWFkX3N0b3AoZm0tPm1lZGlhX3N3aXRjaGVyKTsKLQogCXRp
Zm1fcmVtb3ZlX2FkYXB0ZXIoZm0pOwogCiAJcGNpX3NldF9kcnZkYXRhKGRldiwgTlVMTCk7Cklu
ZGV4OiBsaW51eC0yLjYuMjEtZ2VudG9vL2RyaXZlcnMvbWlzYy90aWZtX2NvcmUuYwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBsaW51eC0yLjYuMjEtZ2VudG9vLm9yaWcvZHJpdmVycy9taXNjL3RpZm1fY29yZS5j
CisrKyBsaW51eC0yLjYuMjEtZ2VudG9vL2RyaXZlcnMvbWlzYy90aWZtX2NvcmUuYwpAQCAtOSw3
NiArOSwxMjkgQEAKICAqCiAgKi8KIAotI2luY2x1ZGUgPGxpbnV4L3RpZm0uaD4KKyNpbmNsdWRl
ICJsaW51eC90aWZtLmgiCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4
L2lkci5oPgogCiAjZGVmaW5lIERSSVZFUl9OQU1FICJ0aWZtX2NvcmUiCi0jZGVmaW5lIERSSVZF
Ul9WRVJTSU9OICIwLjciCisjZGVmaW5lIERSSVZFUl9WRVJTSU9OICIwLjgiCiAKK3N0YXRpYyBz
dHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqd29ya3F1ZXVlOwogc3RhdGljIERFRklORV9JRFIodGlm
bV9hZGFwdGVyX2lkcik7CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHRpZm1fYWRhcHRlcl9sb2Nr
KTsKIAotc3RhdGljIHRpZm1fbWVkaWFfaWQgKnRpZm1fZGV2aWNlX21hdGNoKHRpZm1fbWVkaWFf
aWQgKmlkcywKLQkJCXN0cnVjdCB0aWZtX2RldiAqZGV2KQorc3RhdGljIGNvbnN0IGNoYXIgKnRp
Zm1fbWVkaWFfdHlwZV9uYW1lKHVuc2lnbmVkIGNoYXIgdHlwZSwgdW5zaWduZWQgY2hhciBudCkK
IHsKLQl3aGlsZSAoKmlkcykgewotCQlpZiAoZGV2LT5tZWRpYV9pZCA9PSAqaWRzKQotCQkJcmV0
dXJuIGlkczsKLQkJaWRzKys7Ci0JfQotCXJldHVybiBOVUxMOworCWNvbnN0IGNoYXIgKmNhcmRf
dHlwZV9uYW1lWzNdWzNdID0geworCQl7ICJTbWFydE1lZGlhL3hEIiwgIk1lbW9yeVN0aWNrIiwg
Ik1NQy9TRCIgfSwKKwkJeyAiWEQiLCAiTVMiLCAiU0QifSwKKwkJeyAieGQiLCAibXMiLCAic2Qi
fQorCX07CisKKwlpZiAobnQgPiAyIHx8IHR5cGUgPCAxIHx8IHR5cGUgPiAzKQorCQlyZXR1cm4g
TlVMTDsKKwlyZXR1cm4gY2FyZF90eXBlX25hbWVbbnRdW3R5cGUgLSAxXTsKIH0KIAotc3RhdGlj
IGludCB0aWZtX21hdGNoKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9kcml2ZXIg
KmRydikKK3N0YXRpYyBpbnQgdGlmbV9kZXZfbWF0Y2goc3RydWN0IHRpZm1fZGV2ICpzb2NrLCBz
dHJ1Y3QgdGlmbV9kZXZpY2VfaWQgKmlkKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2ID0g
Y29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0aWZtX2Ry
aXZlciAqZm1fZHJ2OwotCi0JZm1fZHJ2ID0gY29udGFpbmVyX29mKGRydiwgc3RydWN0IHRpZm1f
ZHJpdmVyLCBkcml2ZXIpOwotCWlmICghZm1fZHJ2LT5pZF90YWJsZSkKLQkJcmV0dXJuIC1FSU5W
QUw7Ci0JaWYgKHRpZm1fZGV2aWNlX21hdGNoKGZtX2Rydi0+aWRfdGFibGUsIGZtX2RldikpCisJ
aWYgKHNvY2stPnR5cGUgPT0gaWQtPnR5cGUpCiAJCXJldHVybiAxOwotCXJldHVybiAtRU5PREVW
OworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRpZm1fYnVzX21hdGNoKHN0cnVjdCBkZXZp
Y2UgKmRldiwgc3RydWN0IGRldmljZV9kcml2ZXIgKmRydikKK3sKKwlzdHJ1Y3QgdGlmbV9kZXYg
KnNvY2sgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7CisJc3RydWN0
IHRpZm1fZHJpdmVyICpmbV9kcnYgPSBjb250YWluZXJfb2YoZHJ2LCBzdHJ1Y3QgdGlmbV9kcml2
ZXIsCisJCQkJCQkgIGRyaXZlcik7CisJc3RydWN0IHRpZm1fZGV2aWNlX2lkICppZHMgPSBmbV9k
cnYtPmlkX3RhYmxlOworCisJaWYgKGlkcykgeworCQl3aGlsZSAoaWRzLT50eXBlKSB7CisJCQlp
ZiAodGlmbV9kZXZfbWF0Y2goc29jaywgaWRzKSkKKwkJCQlyZXR1cm4gMTsKKwkJCSsraWRzOwor
CQl9CisJfQorCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IHRpZm1fdWV2ZW50KHN0cnVjdCBk
ZXZpY2UgKmRldiwgY2hhciAqKmVudnAsIGludCBudW1fZW52cCwKIAkJICAgICAgIGNoYXIgKmJ1
ZmZlciwgaW50IGJ1ZmZlcl9zaXplKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2OworCXN0
cnVjdCB0aWZtX2RldiAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2Rldiwg
ZGV2KTsKIAlpbnQgaSA9IDA7CiAJaW50IGxlbmd0aCA9IDA7Ci0JY29uc3QgY2hhciAqY2FyZF90
eXBlX25hbWVbXSA9IHsiSU5WIiwgIlNNIiwgIk1TIiwgIlNEIn07CiAKLQlpZiAoIWRldiB8fCAh
KGZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KSkpCi0JCXJl
dHVybiAtRU5PREVWOwogCWlmIChhZGRfdWV2ZW50X3ZhcihlbnZwLCBudW1fZW52cCwgJmksIGJ1
ZmZlciwgYnVmZmVyX3NpemUsICZsZW5ndGgsCi0JCQkiVElGTV9DQVJEX1RZUEU9JXMiLCBjYXJk
X3R5cGVfbmFtZVtmbV9kZXYtPm1lZGlhX2lkXSkpCisJCQkgICAiVElGTV9DQVJEX1RZUEU9JXMi
LAorCQkJICAgdGlmbV9tZWRpYV90eXBlX25hbWUoc29jay0+dHlwZSwgMSkpKQogCQlyZXR1cm4g
LUVOT01FTTsKIAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHRpZm1fZGV2aWNlX3Byb2Jl
KHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBjb250YWlu
ZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7CisJc3RydWN0IHRpZm1fZHJpdmVyICpk
cnYgPSBjb250YWluZXJfb2YoZGV2LT5kcml2ZXIsIHN0cnVjdCB0aWZtX2RyaXZlciwKKwkJCQkJ
ICAgICAgIGRyaXZlcik7CisJaW50IHJjID0gLUVOT0RFVjsKKworCWdldF9kZXZpY2UoZGV2KTsK
KwlpZiAoZGV2LT5kcml2ZXIgJiYgZHJ2LT5wcm9iZSkgeworCQlyYyA9IGRydi0+cHJvYmUoc29j
ayk7CisJCWlmICghcmMpCisJCQlyZXR1cm4gMDsKKwl9CisJcHV0X2RldmljZShkZXYpOworCXJl
dHVybiByYzsKK30KKworc3RhdGljIHZvaWQgdGlmbV9kdW1teV9ldmVudChzdHJ1Y3QgdGlmbV9k
ZXYgKnNvY2spCit7CisJcmV0dXJuOworfQorCitzdGF0aWMgaW50IHRpZm1fZGV2aWNlX3JlbW92
ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFp
bmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAq
ZHJ2ID0gY29udGFpbmVyX29mKGRldi0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJ
CSAgICAgICBkcml2ZXIpOworCisJaWYgKGRldi0+ZHJpdmVyICYmIGRydi0+cmVtb3ZlKSB7CisJ
CXNvY2stPmV2ZW50ID0gdGlmbV9kdW1teV9ldmVudDsKKwkJc29jay0+ZGF0YV9ldmVudCA9IHRp
Zm1fZHVtbXlfZXZlbnQ7CisJCWRydi0+cmVtb3ZlKHNvY2spOworCQlzb2NrLT5kZXYuZHJpdmVy
ID0gTlVMTDsKKwl9CisKKwlwdXRfZGV2aWNlKGRldik7CisJcmV0dXJuIDA7Cit9CisKICNpZmRl
ZiBDT05GSUdfUE0KIAogc3RhdGljIGludCB0aWZtX2RldmljZV9zdXNwZW5kKHN0cnVjdCBkZXZp
Y2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2
ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0aWZt
X2RyaXZlciAqZHJ2ID0gZm1fZGV2LT5kcnY7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29u
dGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZl
ciAqZHJ2ID0gY29udGFpbmVyX29mKGRldi0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJ
CQkJCSAgICAgICBkcml2ZXIpOwogCi0JaWYgKGRydiAmJiBkcnYtPnN1c3BlbmQpCi0JCXJldHVy
biBkcnYtPnN1c3BlbmQoZm1fZGV2LCBzdGF0ZSk7CisJaWYgKGRldi0+ZHJpdmVyICYmIGRydi0+
c3VzcGVuZCkKKwkJcmV0dXJuIGRydi0+c3VzcGVuZChzb2NrLCBzdGF0ZSk7CiAJcmV0dXJuIDA7
CiB9CiAKIHN0YXRpYyBpbnQgdGlmbV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikK
IHsKLQlzdHJ1Y3QgdGlmbV9kZXYgKmZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0
aWZtX2RldiwgZGV2KTsKLQlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGZtX2Rldi0+ZHJ2Owor
CXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2Rl
diwgZGV2KTsKKwlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGNvbnRhaW5lcl9vZihkZXYtPmRy
aXZlciwgc3RydWN0IHRpZm1fZHJpdmVyLAorCQkJCQkgICAgICAgZHJpdmVyKTsKIAotCWlmIChk
cnYgJiYgZHJ2LT5yZXN1bWUpCi0JCXJldHVybiBkcnYtPnJlc3VtZShmbV9kZXYpOworCWlmIChk
ZXYtPmRyaXZlciAmJiBkcnYtPnJlc3VtZSkKKwkJcmV0dXJuIGRydi0+cmVzdW1lKHNvY2spOwog
CXJldHVybiAwOwogfQogCkBAIC04OSwxOSArMTQyLDMzIEBAIHN0YXRpYyBpbnQgdGlmbV9kZXZp
Y2VfcmVzdW1lKHN0cnVjdCBkZXYKIAogI2VuZGlmIC8qIENPTkZJR19QTSAqLwogCitzdGF0aWMg
c3NpemVfdCB0eXBlX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJp
YnV0ZSAqYXR0ciwKKwkJCSBjaGFyICpidWYpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0g
Y29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXJldHVybiBzcHJpbnRm
KGJ1ZiwgIiV4Iiwgc29jay0+dHlwZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJp
YnV0ZSB0aWZtX2Rldl9hdHRyc1tdID0geworCV9fQVRUUih0eXBlLCBTX0lSVUdPLCB0eXBlX3No
b3csIE5VTEwpLAorCV9fQVRUUl9OVUxMCit9OworCiBzdGF0aWMgc3RydWN0IGJ1c190eXBlIHRp
Zm1fYnVzX3R5cGUgPSB7Ci0JLm5hbWUgICAgPSAidGlmbSIsCi0JLm1hdGNoICAgPSB0aWZtX21h
dGNoLAotCS51ZXZlbnQgID0gdGlmbV91ZXZlbnQsCi0JLnN1c3BlbmQgPSB0aWZtX2RldmljZV9z
dXNwZW5kLAotCS5yZXN1bWUgID0gdGlmbV9kZXZpY2VfcmVzdW1lCisJLm5hbWUgICAgICAgICAg
ID0gInRpZm0iLAorCS5kZXZfYXR0cnMgICAgICA9IHRpZm1fZGV2X2F0dHJzLAorCS5tYXRjaCAg
ICAgICAgICA9IHRpZm1fYnVzX21hdGNoLAorCS51ZXZlbnQgICAgICAgICA9IHRpZm1fdWV2ZW50
LAorCS5wcm9iZSAgICAgICAgICA9IHRpZm1fZGV2aWNlX3Byb2JlLAorCS5yZW1vdmUgICAgICAg
ICA9IHRpZm1fZGV2aWNlX3JlbW92ZSwKKwkuc3VzcGVuZCAgICAgICAgPSB0aWZtX2RldmljZV9z
dXNwZW5kLAorCS5yZXN1bWUgICAgICAgICA9IHRpZm1fZGV2aWNlX3Jlc3VtZQogfTsKIAogc3Rh
dGljIHZvaWQgdGlmbV9mcmVlKHN0cnVjdCBjbGFzc19kZXZpY2UgKmNkZXYpCiB7CiAJc3RydWN0
IHRpZm1fYWRhcHRlciAqZm0gPSBjb250YWluZXJfb2YoY2Rldiwgc3RydWN0IHRpZm1fYWRhcHRl
ciwgY2Rldik7CiAKLQlrZnJlZShmbS0+c29ja2V0cyk7CiAJa2ZyZWUoZm0pOwogfQogCkBAIC0x
MTAsMjggKzE3NywyNSBAQCBzdGF0aWMgc3RydWN0IGNsYXNzIHRpZm1fYWRhcHRlcl9jbGFzcyA9
CiAJLnJlbGVhc2UgPSB0aWZtX2ZyZWUKIH07CiAKLXN0cnVjdCB0aWZtX2FkYXB0ZXIgKnRpZm1f
YWxsb2NfYWRhcHRlcih2b2lkKQorc3RydWN0IHRpZm1fYWRhcHRlciAqdGlmbV9hbGxvY19hZGFw
dGVyKHVuc2lnbmVkIGludCBudW1fc29ja2V0cywKKwkJCQkJc3RydWN0IGRldmljZSAqZGV2KQog
ewogCXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtOwogCi0JZm0gPSBremFsbG9jKHNpemVvZihzdHJ1
Y3QgdGlmbV9hZGFwdGVyKSwgR0ZQX0tFUk5FTCk7CisJZm0gPSBremFsbG9jKHNpemVvZihzdHJ1
Y3QgdGlmbV9hZGFwdGVyKQorCQkgICAgICsgc2l6ZW9mKHN0cnVjdCBzb2NrZXRfdCkgKiBudW1f
c29ja2V0cywgR0ZQX0tFUk5FTCk7CiAJaWYgKGZtKSB7CiAJCWZtLT5jZGV2LmNsYXNzID0gJnRp
Zm1fYWRhcHRlcl9jbGFzczsKLQkJc3Bpbl9sb2NrX2luaXQoJmZtLT5sb2NrKTsKKwkJZm0tPmNk
ZXYuZGV2ID0gZGV2OwogCQljbGFzc19kZXZpY2VfaW5pdGlhbGl6ZSgmZm0tPmNkZXYpOworCQlz
cGluX2xvY2tfaW5pdCgmZm0tPmxvY2spOworCQlmbS0+bnVtX3NvY2tldHMgPSBudW1fc29ja2V0
czsKIAl9CiAJcmV0dXJuIGZtOwogfQogRVhQT1JUX1NZTUJPTCh0aWZtX2FsbG9jX2FkYXB0ZXIp
OwogCi12b2lkIHRpZm1fZnJlZV9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKQotewot
CWNsYXNzX2RldmljZV9wdXQoJmZtLT5jZGV2KTsKLX0KLUVYUE9SVF9TWU1CT0wodGlmbV9mcmVl
X2FkYXB0ZXIpOwotCi1pbnQgdGlmbV9hZGRfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpm
bSwKLQkJICAgICBpbnQgKCptZWRpYXRocmVhZGZuKSh2b2lkICpkYXRhKSkKK2ludCB0aWZtX2Fk
ZF9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKQogewogCWludCByYzsKIApAQCAtMTQx
LDU5ICsyMDUsODEgQEAgaW50IHRpZm1fYWRkX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlcgog
CXNwaW5fbG9jaygmdGlmbV9hZGFwdGVyX2xvY2spOwogCXJjID0gaWRyX2dldF9uZXcoJnRpZm1f
YWRhcHRlcl9pZHIsIGZtLCAmZm0tPmlkKTsKIAlzcGluX3VubG9jaygmdGlmbV9hZGFwdGVyX2xv
Y2spOwotCWlmICghcmMpIHsKLQkJc25wcmludGYoZm0tPmNkZXYuY2xhc3NfaWQsIEJVU19JRF9T
SVpFLCAidGlmbSV1IiwgZm0tPmlkKTsKLQkJZm0tPm1lZGlhX3N3aXRjaGVyID0ga3RocmVhZF9j
cmVhdGUobWVkaWF0aHJlYWRmbiwKLQkJCQkJCSAgICBmbSwgInRpZm0vJXUiLCBmbS0+aWQpOwot
Ci0JCWlmICghSVNfRVJSKGZtLT5tZWRpYV9zd2l0Y2hlcikpCi0JCQlyZXR1cm4gY2xhc3NfZGV2
aWNlX2FkZCgmZm0tPmNkZXYpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOwogCisJc25wcmludGYo
Zm0tPmNkZXYuY2xhc3NfaWQsIEJVU19JRF9TSVpFLCAidGlmbSV1IiwgZm0tPmlkKTsKKwlyYyA9
IGNsYXNzX2RldmljZV9hZGQoJmZtLT5jZGV2KTsKKwlpZiAocmMpIHsKIAkJc3Bpbl9sb2NrKCZ0
aWZtX2FkYXB0ZXJfbG9jayk7CiAJCWlkcl9yZW1vdmUoJnRpZm1fYWRhcHRlcl9pZHIsIGZtLT5p
ZCk7CiAJCXNwaW5fdW5sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7Ci0JCXJjID0gLUVOT01FTTsK
KwkJcmV0dXJuIHJjOwogCX0KLQlyZXR1cm4gcmM7CisKKwlyZXR1cm4gMDsKIH0KIEVYUE9SVF9T
WU1CT0wodGlmbV9hZGRfYWRhcHRlcik7CiAKIHZvaWQgdGlmbV9yZW1vdmVfYWRhcHRlcihzdHJ1
Y3QgdGlmbV9hZGFwdGVyICpmbSkKIHsKLQljbGFzc19kZXZpY2VfZGVsKCZmbS0+Y2Rldik7CisJ
dW5zaWduZWQgaW50IGNudDsKKworCWZsdXNoX3dvcmtxdWV1ZSh3b3JrcXVldWUpOworCWZvciAo
Y250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRzOyArK2NudCkgeworCQlpZiAoZm0tPnNvY2tl
dHNbY250XS5kZXYpCisJCQlkZXZpY2VfdW5yZWdpc3RlcigmZm0tPnNvY2tldHNbY250XS5kZXYt
PmRldik7CisJfQogCiAJc3Bpbl9sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7CiAJaWRyX3JlbW92
ZSgmdGlmbV9hZGFwdGVyX2lkciwgZm0tPmlkKTsKIAlzcGluX3VubG9jaygmdGlmbV9hZGFwdGVy
X2xvY2spOworCWNsYXNzX2RldmljZV9kZWwoJmZtLT5jZGV2KTsKIH0KIEVYUE9SVF9TWU1CT0wo
dGlmbV9yZW1vdmVfYWRhcHRlcik7CiAKLXZvaWQgdGlmbV9mcmVlX2RldmljZShzdHJ1Y3QgZGV2
aWNlICpkZXYpCit2b2lkIHRpZm1fZnJlZV9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZt
KQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0
IHRpZm1fZGV2LCBkZXYpOwotCWtmcmVlKGZtX2Rldik7CisJY2xhc3NfZGV2aWNlX3B1dCgmZm0t
PmNkZXYpOwogfQotRVhQT1JUX1NZTUJPTCh0aWZtX2ZyZWVfZGV2aWNlKTsKK0VYUE9SVF9TWU1C
T0wodGlmbV9mcmVlX2FkYXB0ZXIpOwogCi1zdGF0aWMgdm9pZCB0aWZtX2R1bW15X3NpZ25hbF9p
cnEoc3RydWN0IHRpZm1fZGV2ICpzb2NrLAotCQkJCSAgdW5zaWduZWQgaW50IHNvY2tfaXJxX3N0
YXR1cykKK3ZvaWQgdGlmbV9mcmVlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0JcmV0
dXJuOworCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0
aWZtX2RldiwgZGV2KTsKKwlrZnJlZShzb2NrKTsKIH0KK0VYUE9SVF9TWU1CT0wodGlmbV9mcmVl
X2RldmljZSk7CiAKLXN0cnVjdCB0aWZtX2RldiAqdGlmbV9hbGxvY19kZXZpY2Uoc3RydWN0IHRp
Zm1fYWRhcHRlciAqZm0pCitzdHJ1Y3QgdGlmbV9kZXYgKnRpZm1fYWxsb2NfZGV2aWNlKHN0cnVj
dCB0aWZtX2FkYXB0ZXIgKmZtLCB1bnNpZ25lZCBpbnQgaWQsCisJCQkJICAgdW5zaWduZWQgY2hh
ciB0eXBlKQogewotCXN0cnVjdCB0aWZtX2RldiAqZGV2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0
IHRpZm1fZGV2KSwgR0ZQX0tFUk5FTCk7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gTlVMTDsK
IAotCWlmIChkZXYpIHsKLQkJc3Bpbl9sb2NrX2luaXQoJmRldi0+bG9jayk7CisJaWYgKCF0aWZt
X21lZGlhX3R5cGVfbmFtZSh0eXBlLCAwKSkKKwkJcmV0dXJuIHNvY2s7CiAKLQkJZGV2LT5kZXYu
cGFyZW50ID0gZm0tPmRldjsKLQkJZGV2LT5kZXYuYnVzID0gJnRpZm1fYnVzX3R5cGU7Ci0JCWRl
di0+ZGV2LnJlbGVhc2UgPSB0aWZtX2ZyZWVfZGV2aWNlOwotCQlkZXYtPnNpZ25hbF9pcnEgPSB0
aWZtX2R1bW15X3NpZ25hbF9pcnE7CisJc29jayA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB0aWZt
X2RldiksIEdGUF9LRVJORUwpOworCWlmIChzb2NrKSB7CisJCXNwaW5fbG9ja19pbml0KCZzb2Nr
LT5sb2NrKTsKKwkJc29jay0+dHlwZSA9IHR5cGU7CisJCXNvY2stPnNvY2tldF9pZCA9IGlkOwor
CQlzb2NrLT5ldmVudCA9IHRpZm1fZHVtbXlfZXZlbnQ7CisJCXNvY2stPmRhdGFfZXZlbnQgPSB0
aWZtX2R1bW15X2V2ZW50OworCisJCXNvY2stPmRldi5wYXJlbnQgPSBmbS0+Y2Rldi5kZXY7CisJ
CXNvY2stPmRldi5idXMgPSAmdGlmbV9idXNfdHlwZTsKKwkJc29jay0+ZGV2LmRtYV9tYXNrID0g
Zm0tPmNkZXYuZGV2LT5kbWFfbWFzazsKKwkJc29jay0+ZGV2LnJlbGVhc2UgPSB0aWZtX2ZyZWVf
ZGV2aWNlOworCisJCXNucHJpbnRmKHNvY2stPmRldi5idXNfaWQsIEJVU19JRF9TSVpFLAorCQkJ
ICJ0aWZtXyVzJXU6JXUiLCB0aWZtX21lZGlhX3R5cGVfbmFtZSh0eXBlLCAyKSwKKwkJCSBmbS0+
aWQsIGlkKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyBEUklWRVJfTkFNRQorCQkgICAgICAgIjogJXMg
Y2FyZCBkZXRlY3RlZCBpbiBzb2NrZXQgJXU6JXVcbiIsCisJCSAgICAgICB0aWZtX21lZGlhX3R5
cGVfbmFtZSh0eXBlLCAwKSwgZm0tPmlkLCBpZCk7CiAJfQotCXJldHVybiBkZXY7CisJcmV0dXJu
IHNvY2s7CiB9CiBFWFBPUlRfU1lNQk9MKHRpZm1fYWxsb2NfZGV2aWNlKTsKIApAQCAtMjE4LDU0
ICszMDQsMTUgQEAgdm9pZCB0aWZtX3VubWFwX3NnKHN0cnVjdCB0aWZtX2RldiAqc29jawogfQog
RVhQT1JUX1NZTUJPTCh0aWZtX3VubWFwX3NnKTsKIAotc3RhdGljIGludCB0aWZtX2RldmljZV9w
cm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit2b2lkIHRpZm1fcXVldWVfd29yayhzdHJ1Y3Qgd29y
a19zdHJ1Y3QgKndvcmspCiB7Ci0Jc3RydWN0IHRpZm1fZHJpdmVyICpkcnY7Ci0Jc3RydWN0IHRp
Zm1fZGV2ICpmbV9kZXY7Ci0JaW50IHJjID0gMDsKLQljb25zdCB0aWZtX21lZGlhX2lkICppZDsK
LQotCWRydiA9IGNvbnRhaW5lcl9vZihkZXYtPmRyaXZlciwgc3RydWN0IHRpZm1fZHJpdmVyLCBk
cml2ZXIpOwotCWZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2
KTsKLQlnZXRfZGV2aWNlKGRldik7Ci0JaWYgKCFmbV9kZXYtPmRydiAmJiBkcnYtPnByb2JlICYm
IGRydi0+aWRfdGFibGUpIHsKLQkJcmMgPSAtRU5PREVWOwotCQlpZCA9IHRpZm1fZGV2aWNlX21h
dGNoKGRydi0+aWRfdGFibGUsIGZtX2Rldik7Ci0JCWlmIChpZCkKLQkJCXJjID0gZHJ2LT5wcm9i
ZShmbV9kZXYpOwotCQlpZiAocmMgPj0gMCkgewotCQkJcmMgPSAwOwotCQkJZm1fZGV2LT5kcnYg
PSBkcnY7Ci0JCX0KLQl9Ci0JaWYgKHJjKQotCQlwdXRfZGV2aWNlKGRldik7Ci0JcmV0dXJuIHJj
OwotfQotCi1zdGF0aWMgaW50IHRpZm1fZGV2aWNlX3JlbW92ZShzdHJ1Y3QgZGV2aWNlICpkZXYp
Ci17Ci0Jc3RydWN0IHRpZm1fZGV2ICpmbV9kZXYgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3Qg
dGlmbV9kZXYsIGRldik7Ci0Jc3RydWN0IHRpZm1fZHJpdmVyICpkcnYgPSBmbV9kZXYtPmRydjsK
LQotCWlmIChkcnYpIHsKLQkJZm1fZGV2LT5zaWduYWxfaXJxID0gdGlmbV9kdW1teV9zaWduYWxf
aXJxOwotCQlpZiAoZHJ2LT5yZW1vdmUpCi0JCQlkcnYtPnJlbW92ZShmbV9kZXYpOwotCQlmbV9k
ZXYtPmRydiA9IE5VTEw7Ci0JfQotCi0JcHV0X2RldmljZShkZXYpOwotCXJldHVybiAwOworCXF1
ZXVlX3dvcmsod29ya3F1ZXVlLCB3b3JrKTsKIH0KK0VYUE9SVF9TWU1CT0wodGlmbV9xdWV1ZV93
b3JrKTsKIAogaW50IHRpZm1fcmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2
KQogewogCWRydi0+ZHJpdmVyLmJ1cyA9ICZ0aWZtX2J1c190eXBlOwotCWRydi0+ZHJpdmVyLnBy
b2JlID0gdGlmbV9kZXZpY2VfcHJvYmU7Ci0JZHJ2LT5kcml2ZXIucmVtb3ZlID0gdGlmbV9kZXZp
Y2VfcmVtb3ZlOwotCWRydi0+ZHJpdmVyLnN1c3BlbmQgPSB0aWZtX2RldmljZV9zdXNwZW5kOwot
CWRydi0+ZHJpdmVyLnJlc3VtZSA9IHRpZm1fZGV2aWNlX3Jlc3VtZTsKIAogCXJldHVybiBkcml2
ZXJfcmVnaXN0ZXIoJmRydi0+ZHJpdmVyKTsKIH0KQEAgLTI3OSwxMyArMzI2LDI1IEBAIEVYUE9S
VF9TWU1CT0wodGlmbV91bnJlZ2lzdGVyX2RyaXZlcik7CiAKIHN0YXRpYyBpbnQgX19pbml0IHRp
Zm1faW5pdCh2b2lkKQogewotCWludCByYyA9IGJ1c19yZWdpc3RlcigmdGlmbV9idXNfdHlwZSk7
CisJaW50IHJjOwogCi0JaWYgKCFyYykgewotCQlyYyA9IGNsYXNzX3JlZ2lzdGVyKCZ0aWZtX2Fk
YXB0ZXJfY2xhc3MpOwotCQlpZiAocmMpCi0JCQlidXNfdW5yZWdpc3RlcigmdGlmbV9idXNfdHlw
ZSk7Ci0JfQorCXdvcmtxdWV1ZSA9IGNyZWF0ZV9mcmVlemVhYmxlX3dvcmtxdWV1ZSgidGlmbSIp
OworCWlmICghd29ya3F1ZXVlKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJjID0gYnVzX3JlZ2lz
dGVyKCZ0aWZtX2J1c190eXBlKTsKKworCWlmIChyYykKKwkJZ290byBlcnJfb3V0X3dxOworCisJ
cmMgPSBjbGFzc19yZWdpc3RlcigmdGlmbV9hZGFwdGVyX2NsYXNzKTsKKwlpZiAoIXJjKQorCQly
ZXR1cm4gMDsKKworCWJ1c191bnJlZ2lzdGVyKCZ0aWZtX2J1c190eXBlKTsKKworZXJyX291dF93
cToKKwlkZXN0cm95X3dvcmtxdWV1ZSh3b3JrcXVldWUpOwogCiAJcmV0dXJuIHJjOwogfQpAQCAt
Mjk0LDYgKzM1Myw3IEBAIHN0YXRpYyB2b2lkIF9fZXhpdCB0aWZtX2V4aXQodm9pZCkKIHsKIAlj
bGFzc191bnJlZ2lzdGVyKCZ0aWZtX2FkYXB0ZXJfY2xhc3MpOwogCWJ1c191bnJlZ2lzdGVyKCZ0
aWZtX2J1c190eXBlKTsKKwlkZXN0cm95X3dvcmtxdWV1ZSh3b3JrcXVldWUpOwogfQogCiBzdWJz
eXNfaW5pdGNhbGwodGlmbV9pbml0KTsKSW5kZXg6IGxpbnV4LTIuNi4yMS1nZW50b28vZHJpdmVy
cy9tbWMvdGlmbV9zZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi4yMS1nZW50b28ub3JpZy9k
cml2ZXJzL21tYy90aWZtX3NkLmMKKysrIGxpbnV4LTIuNi4yMS1nZW50b28vZHJpdmVycy9tbWMv
dGlmbV9zZC5jCkBAIC03LDE3ICs3LDE5IEBACiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwogICogcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCiAgKgorICogU3BlY2lhbCB0aGFua3MgdG8g
QnJhZCBDYW1wYmVsbCBmb3IgZXh0ZW5zaXZlIHRlc3Rpbmcgb2YgdGhpcyBkcml2ZXIuCisgKgog
ICovCiAKIAotI2luY2x1ZGUgPGxpbnV4L3RpZm0uaD4KKyNpbmNsdWRlICJsaW51eC90aWZtLmgi
CiAjaW5jbHVkZSA8bGludXgvbW1jL3Byb3RvY29sLmg+CiAjaW5jbHVkZSA8bGludXgvbW1jL2hv
c3QuaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAK
ICNkZWZpbmUgRFJJVkVSX05BTUUgInRpZm1fc2QiCi0jZGVmaW5lIERSSVZFUl9WRVJTSU9OICIw
LjciCisjZGVmaW5lIERSSVZFUl9WRVJTSU9OICIwLjgiCiAKIHN0YXRpYyBpbnQgbm9fZG1hID0g
MDsKIHN0YXRpYyBpbnQgZml4ZWRfdGltZW91dCA9IDA7CkBAIC0zNiw5ICszOCw5IEBAIG1vZHVs
ZV9wYXJhbShmaXhlZF90aW1lb3V0LCBib29sLCAwNjQ0KTsKICNkZWZpbmUgVElGTV9NTUNTRF9J
TkFCICAgICAgIDB4MDA4MCAgIC8qIGFib3J0IC8gaW5pdGlhbGl6ZSBjb21tYW5kICovCiAjZGVm
aW5lIFRJRk1fTU1DU0RfUkVBRCAgICAgICAweDgwMDAKIAotI2RlZmluZSBUSUZNX01NQ1NEX0RB
VEFNQVNLICAgMHg0MDFkICAgLyogc2V0IGJpdHM6IENFUlIsIEVPRkIsIEJSUywgQ0IsIEVPQyAq
LwogI2RlZmluZSBUSUZNX01NQ1NEX0VSUk1BU0sgICAgMHgwMWUwICAgLyogc2V0IGJpdHM6IEND
UkMsIENUTywgRENSQywgRFRPICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfRU9DICAgICAgICAweDAw
MDEgICAvKiBlbmQgb2YgY29tbWFuZCBwaGFzZSAgKi8KKyNkZWZpbmUgVElGTV9NTUNTRF9DRCAg
ICAgICAgIDB4MDAwMiAgIC8qIGNhcmQgZGV0ZWN0ICAgICAgICAgICAqLwogI2RlZmluZSBUSUZN
X01NQ1NEX0NCICAgICAgICAgMHgwMDA0ICAgLyogY2FyZCBlbnRlciBidXN5IHN0YXRlICovCiAj
ZGVmaW5lIFRJRk1fTU1DU0RfQlJTICAgICAgICAweDAwMDggICAvKiBibG9jayByZWNlaXZlZC9z
ZW50ICAgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9FT0ZCICAgICAgIDB4MDAxMCAgIC8qIGNhcmQg
ZXhpdCBidXN5IHN0YXRlICAqLwpAQCAtNDgsOCArNTAsMTMgQEAgbW9kdWxlX3BhcmFtKGZpeGVk
X3RpbWVvdXQsIGJvb2wsIDA2NDQpOwogI2RlZmluZSBUSUZNX01NQ1NEX0NDUkMgICAgICAgMHgw
MTAwICAgLyogY29tbWFuZCBjcmMgZXJyb3IgICAgICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfQUYg
ICAgICAgICAweDA0MDAgICAvKiBmaWZvIGFsbW9zdCBmdWxsICAgICAgKi8KICNkZWZpbmUgVElG
TV9NTUNTRF9BRSAgICAgICAgIDB4MDgwMCAgIC8qIGZpZm8gYWxtb3N0IGVtcHR5ICAgICAqLwor
I2RlZmluZSBUSUZNX01NQ1NEX09DUkIgICAgICAgMHgxMDAwICAgLyogT0NSIGJ1c3kgICAgICAg
ICAgICAgICovCisjZGVmaW5lIFRJRk1fTU1DU0RfQ0lSUSAgICAgICAweDIwMDAgICAvKiBjYXJk
IGlycSAoY21kNDAvc2RpbykgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9DRVJSICAgICAgIDB4NDAw
MCAgIC8qIGNhcmQgc3RhdHVzIGVycm9yICAgICAqLwogCisjZGVmaW5lIFRJRk1fTU1DU0RfT0RU
TyAgICAgICAweDAwNDAgICAvKiBvcGVuIGRyYWluIC8gZXh0ZW5kZWQgdGltZW91dCAqLworI2Rl
ZmluZSBUSUZNX01NQ1NEX0NBUkRfUk8gICAgMHgwMjAwICAgLyogY2FyZCBpcyByZWFkLW9ubHkg
ICAgICovCisKICNkZWZpbmUgVElGTV9NTUNTRF9GSUZPX1NJWkUgIDB4MDAyMAogCiAjZGVmaW5l
IFRJRk1fTU1DU0RfUlNQX1IwICAgICAweDAwMDAKQEAgLTY3LDk3ICs3NCwyNTcgQEAgbW9kdWxl
X3BhcmFtKGZpeGVkX3RpbWVvdXQsIGJvb2wsIDA2NDQpOwogI2RlZmluZSBUSUZNX01NQ1NEX0NN
RF9BQyAgICAgMHgyMDAwCiAjZGVmaW5lIFRJRk1fTU1DU0RfQ01EX0FEVEMgICAweDMwMDAKIAot
dHlwZWRlZiBlbnVtIHsKLQlJRExFID0gMCwKLQlDTUQsICAgIC8qIG1haW4gY29tbWFuZCBlbmRl
ZCAgICAgICAgICAgICAgICAgICAqLwotCUJSUywgICAgLyogYmxvY2sgdHJhbnNmZXIgZmluaXNo
ZWQgICAgICAgICAgICAgICovCi0JU0NNRCwgICAvKiBzdG9wIGNvbW1hbmQgZW5kZWQgICAgICAg
ICAgICAgICAgICAgKi8KLQlDQVJELCAgIC8qIGNhcmQgbGVmdCBidXN5IHN0YXRlICAgICAgICAg
ICAgICAgICAqLwotCUZJRk8sICAgLyogRklGTyBvcGVyYXRpb24gY29tcGxldGVkICh1bmNlcnRh
aW4pICovCi0JUkVBRFkKLX0gY2FyZF9zdGF0ZV90OworI2RlZmluZSBUSUZNX01NQ1NEX01BWF9C
TE9DS19TSVpFICAweDA4MDAKIAogZW51bSB7Ci0JRklGT19SRFkgICA9IDB4MDAwMSwgICAgIC8q
IGhhcmR3YXJlIGRlcGVuZGVudCB2YWx1ZSAqLwotCUVKRUNUICAgICAgPSAweDAwMDQsCi0JRUpF
Q1RfRE9ORSA9IDB4MDAwOCwKLQlDQVJEX0JVU1kgID0gMHgwMDEwLAotCU9QRU5EUkFJTiAgPSAw
eDAwNDAsICAgICAvKiBoYXJkd2FyZSBkZXBlbmRlbnQgdmFsdWUgKi8KLQlDQVJEX0VWRU5UID0g
MHgwMTAwLCAgICAgLyogaGFyZHdhcmUgZGVwZW5kZW50IHZhbHVlICovCi0JQ0FSRF9STyAgICA9
IDB4MDIwMCwgICAgIC8qIGhhcmR3YXJlIGRlcGVuZGVudCB2YWx1ZSAqLwotCUZJRk9fRVZFTlQg
PSAweDEwMDAwIH07ICAvKiBoYXJkd2FyZSBkZXBlbmRlbnQgdmFsdWUgKi8KKwlDTURfUkVBRFkg
ICAgPSAweDAwMDEsCisJRklGT19SRUFEWSAgID0gMHgwMDAyLAorCUJSU19SRUFEWSAgICA9IDB4
MDAwNCwKKwlTQ01EX0FDVElWRSAgPSAweDAwMDgsCisJU0NNRF9SRUFEWSAgID0gMHgwMDEwLAor
CUNBUkRfQlVTWSAgICA9IDB4MDAyMCwKKwlEQVRBX0NBUlJZICAgPSAweDAwNDAKK307CiAKIHN0
cnVjdCB0aWZtX3NkIHsKLQlzdHJ1Y3QgdGlmbV9kZXYgICAgICpkZXY7CisJc3RydWN0IHRpZm1f
ZGV2ICAgICAgICpkZXY7CiAKLQl1bnNpZ25lZCBpbnQgICAgICAgIGZsYWdzOwotCWNhcmRfc3Rh
dGVfdCAgICAgICAgc3RhdGU7Ci0JdW5zaWduZWQgaW50ICAgICAgICBjbGtfZnJlcTsKLQl1bnNp
Z25lZCBpbnQgICAgICAgIGNsa19kaXY7Ci0JdW5zaWduZWQgbG9uZyAgICAgICB0aW1lb3V0X2pp
ZmZpZXM7CisJdW5zaWduZWQgc2hvcnQgICAgICAgIGVqZWN0OjEsCisJCQkgICAgICBvcGVuX2Ry
YWluOjEsCisJCQkgICAgICBub19kbWE6MTsKKwl1bnNpZ25lZCBzaG9ydCAgICAgICAgY21kX2Zs
YWdzOworCisJdW5zaWduZWQgaW50ICAgICAgICAgIGNsa19mcmVxOworCXVuc2lnbmVkIGludCAg
ICAgICAgICBjbGtfZGl2OworCXVuc2lnbmVkIGxvbmcgICAgICAgICB0aW1lb3V0X2ppZmZpZXM7
CiAKIAlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgZmluaXNoX3Rhc2tsZXQ7CiAJc3RydWN0IHRpbWVy
X2xpc3QgICAgIHRpbWVyOwogCXN0cnVjdCBtbWNfcmVxdWVzdCAgICAqcmVxOwotCXdhaXRfcXVl
dWVfaGVhZF90ICAgICBub3RpZnk7Ci0KLQlzaXplX3QgICAgICAgICAgICAgICAgd3JpdHRlbl9i
bG9ja3M7Ci0Jc2l6ZV90ICAgICAgICAgICAgICAgIGJ1ZmZlcl9zaXplOwotCXNpemVfdCAgICAg
ICAgICAgICAgICBidWZmZXJfcG9zOwogCisJaW50ICAgICAgICAgICAgICAgICAgIHNnX2xlbjsK
KwlpbnQgICAgICAgICAgICAgICAgICAgc2dfcG9zOworCXVuc2lnbmVkIGludCAgICAgICAgICBi
bG9ja19wb3M7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICAgIGJvdW5jZV9idWY7CisJdW5zaWduZWQg
Y2hhciAgICAgICAgIGJvdW5jZV9idWZfZGF0YVtUSUZNX01NQ1NEX01BWF9CTE9DS19TSVpFXTsK
IH07CiAKLXN0YXRpYyBjaGFyKiB0aWZtX3NkX2RhdGFfYnVmZmVyKHN0cnVjdCBtbWNfZGF0YSAq
ZGF0YSkKKy8qIGZvciBzb21lIHJlYXNvbiwgaG9zdCB3b24ndCByZXNwb25kIGNvcnJlY3RseSB0
byByZWFkdy93cml0ZXcgKi8KK3N0YXRpYyB2b2lkIHRpZm1fc2RfcmVhZF9maWZvKHN0cnVjdCB0
aWZtX3NkICpob3N0LCBzdHJ1Y3QgcGFnZSAqcGcsCisJCQkgICAgICB1bnNpZ25lZCBpbnQgb2Zm
LCB1bnNpZ25lZCBpbnQgY250KQogewotCXJldHVybiBwYWdlX2FkZHJlc3MoZGF0YS0+c2ctPnBh
Z2UpICsgZGF0YS0+c2ctPm9mZnNldDsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5k
ZXY7CisJdW5zaWduZWQgY2hhciAqYnVmOworCXVuc2lnbmVkIGludCBwb3MgPSAwLCB2YWw7CisK
KwlidWYgPSBrbWFwX2F0b21pYyhwZywgS01fQklPX0RTVF9JUlEpICsgb2ZmOworCWlmIChob3N0
LT5jbWRfZmxhZ3MgJiBEQVRBX0NBUlJZKSB7CisJCWJ1Zltwb3MrK10gPSBob3N0LT5ib3VuY2Vf
YnVmX2RhdGFbMF07CisJCWhvc3QtPmNtZF9mbGFncyAmPSB+REFUQV9DQVJSWTsKKwl9CisKKwl3
aGlsZSAocG9zIDwgY250KSB7CisJCXZhbCA9IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NE
X0RBVEEpOworCQlidWZbcG9zKytdID0gdmFsICYgMHhmZjsKKwkJaWYgKHBvcyA9PSBjbnQpIHsK
KwkJCWhvc3QtPmJvdW5jZV9idWZfZGF0YVswXSA9ICh2YWwgPj4gOCkgJiAweGZmOworCQkJaG9z
dC0+Y21kX2ZsYWdzIHw9IERBVEFfQ0FSUlk7CisJCQlicmVhazsKKwkJfQorCQlidWZbcG9zKytd
ID0gKHZhbCA+PiA4KSAmIDB4ZmY7CisJfQorCWt1bm1hcF9hdG9taWMoYnVmIC0gb2ZmLCBLTV9C
SU9fRFNUX0lSUSk7CiB9CiAKLXN0YXRpYyBpbnQgdGlmbV9zZF90cmFuc2Zlcl9kYXRhKHN0cnVj
dCB0aWZtX2RldiAqc29jaywgc3RydWN0IHRpZm1fc2QgKmhvc3QsCi0JCQkJIHVuc2lnbmVkIGlu
dCBob3N0X3N0YXR1cykKK3N0YXRpYyB2b2lkIHRpZm1fc2Rfd3JpdGVfZmlmbyhzdHJ1Y3QgdGlm
bV9zZCAqaG9zdCwgc3RydWN0IHBhZ2UgKnBnLAorCQkJICAgICAgIHVuc2lnbmVkIGludCBvZmYs
IHVuc2lnbmVkIGludCBjbnQpCiB7Ci0Jc3RydWN0IG1tY19jb21tYW5kICpjbWQgPSBob3N0LT5y
ZXEtPmNtZDsKLQl1bnNpZ25lZCBpbnQgdF92YWwgPSAwLCBjbnQgPSAwOwotCWNoYXIgKmJ1ZmZl
cjsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7CisJdW5zaWduZWQgY2hhciAq
YnVmOworCXVuc2lnbmVkIGludCBwb3MgPSAwLCB2YWw7CiAKLQlpZiAoaG9zdF9zdGF0dXMgJiBU
SUZNX01NQ1NEX0JSUykgewotCQkvKiBpbiBub24tZG1hIHJ4IG1vZGUgQlJTIGZpcmVzIHdoZW4g
ZmlmbyBpcyBzdGlsbCBub3QgZW1wdHkgKi8KLQkJaWYgKG5vX2RtYSAmJiAoY21kLT5kYXRhLT5m
bGFncyAmIE1NQ19EQVRBX1JFQUQpKSB7Ci0JCQlidWZmZXIgPSB0aWZtX3NkX2RhdGFfYnVmZmVy
KGhvc3QtPnJlcS0+ZGF0YSk7Ci0JCQl3aGlsZSAoaG9zdC0+YnVmZmVyX3NpemUgPiBob3N0LT5i
dWZmZXJfcG9zKSB7Ci0JCQkJdF92YWwgPSByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9E
QVRBKTsKLQkJCQlidWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSA9IHRfdmFsICYgMHhmZjsKLQkJ
CQlidWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSA9Ci0JCQkJCQkJKHRfdmFsID4+IDgpICYgMHhm
ZjsKLQkJCX0KKwlidWYgPSBrbWFwX2F0b21pYyhwZywgS01fQklPX1NSQ19JUlEpICsgb2ZmOwor
CWlmIChob3N0LT5jbWRfZmxhZ3MgJiBEQVRBX0NBUlJZKSB7CisJCXZhbCA9IGhvc3QtPmJvdW5j
ZV9idWZfZGF0YVswXSB8ICgoYnVmW3BvcysrXSA8PCA4KSAmIDB4ZmYwMCk7CisJCXdyaXRlbCh2
YWwsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0RBVEEpOworCQlob3N0LT5jbWRfZmxhZ3MgJj0g
fkRBVEFfQ0FSUlk7CisJfQorCisJd2hpbGUgKHBvcyA8IGNudCkgeworCQl2YWwgPSBidWZbcG9z
KytdOworCQlpZiAocG9zID09IGNudCkgeworCQkJaG9zdC0+Ym91bmNlX2J1Zl9kYXRhWzBdID0g
dmFsICYgMHhmZjsKKwkJCWhvc3QtPmNtZF9mbGFncyB8PSBEQVRBX0NBUlJZOworCQkJYnJlYWs7
CiAJCX0KLQkJcmV0dXJuIDE7Ci0JfSBlbHNlIGlmIChub19kbWEpIHsKLQkJYnVmZmVyID0gdGlm
bV9zZF9kYXRhX2J1ZmZlcihob3N0LT5yZXEtPmRhdGEpOwotCQlpZiAoKGNtZC0+ZGF0YS0+Zmxh
Z3MgJiBNTUNfREFUQV9SRUFEKSAmJgotCQkJCShob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQUYp
KSB7Ci0JCQlmb3IgKGNudCA9IDA7IGNudCA8IFRJRk1fTU1DU0RfRklGT19TSVpFOyBjbnQrKykg
ewotCQkJCXRfdmFsID0gcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7Ci0JCQkJ
aWYgKGhvc3QtPmJ1ZmZlcl9zaXplID4gaG9zdC0+YnVmZmVyX3BvcykgewotCQkJCQlidWZmZXJb
aG9zdC0+YnVmZmVyX3BvcysrXSA9Ci0JCQkJCQkJdF92YWwgJiAweGZmOwotCQkJCQlidWZmZXJb
aG9zdC0+YnVmZmVyX3BvcysrXSA9Ci0JCQkJCQkJKHRfdmFsID4+IDgpICYgMHhmZjsKLQkJCQl9
Ci0JCQl9Ci0JCX0gZWxzZSBpZiAoKGNtZC0+ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkK
LQkJCSAgICYmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQUUpKSB7Ci0JCQlmb3IgKGNudCA9
IDA7IGNudCA8IFRJRk1fTU1DU0RfRklGT19TSVpFOyBjbnQrKykgewotCQkJCWlmIChob3N0LT5i
dWZmZXJfc2l6ZSA+IGhvc3QtPmJ1ZmZlcl9wb3MpIHsKLQkJCQkJdF92YWwgPSBidWZmZXJbaG9z
dC0+YnVmZmVyX3BvcysrXQotCQkJCQkJJiAweDAwZmY7Ci0JCQkJCXRfdmFsIHw9ICgoYnVmZmVy
W2hvc3QtPmJ1ZmZlcl9wb3MrK10pCi0JCQkJCQkgIDw8IDgpICYgMHhmZjAwOwotCQkJCQl3cml0
ZWwodF92YWwsCi0JCQkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9EQVRBKTsKLQkJ
CQl9CisJCXZhbCB8PSAoYnVmW3BvcysrXSA8PCA4KSAmIDB4ZmYwMDsKKwkJd3JpdGVsKHZhbCwg
c29jay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7CisJfQorCWt1bm1hcF9hdG9taWMoYnVmIC0g
b2ZmLCBLTV9CSU9fU1JDX0lSUSk7Cit9CisKK3N0YXRpYyB2b2lkIHRpZm1fc2RfdHJhbnNmZXJf
ZGF0YShzdHJ1Y3QgdGlmbV9zZCAqaG9zdCkKK3sKKwlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9
IGhvc3QtPnJlcS0+Y21kLT5kYXRhOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2cgPSByX2RhdGEt
PnNnOworCXVuc2lnbmVkIGludCBvZmYsIGNudCwgdF9zaXplID0gVElGTV9NTUNTRF9GSUZPX1NJ
WkUgKiAyOworCXVuc2lnbmVkIGludCBwX29mZiwgcF9jbnQ7CisJc3RydWN0IHBhZ2UgKnBnOwor
CisJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5zZ19sZW4pCisJCXJldHVybjsKKwl3aGlsZSAo
dF9zaXplKSB7CisJCWNudCA9IHNnW2hvc3QtPnNnX3Bvc10ubGVuZ3RoIC0gaG9zdC0+YmxvY2tf
cG9zOworCQlpZiAoIWNudCkgeworCQkJaG9zdC0+YmxvY2tfcG9zID0gMDsKKwkJCWhvc3QtPnNn
X3BvcysrOworCQkJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5zZ19sZW4pIHsKKwkJCQlpZiAo
KHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJCQkgICAgJiYgREFUQV9DQVJSWSkK
KwkJCQkJd3JpdGVsKGhvc3QtPmJvdW5jZV9idWZfZGF0YVswXSwKKwkJCQkJICAgICAgIGhvc3Qt
PmRldi0+YWRkcgorCQkJCQkgICAgICAgKyBTT0NLX01NQ1NEX0RBVEEpOworCisJCQkJcmV0dXJu
OwogCQkJfQorCQkJY250ID0gc2dbaG9zdC0+c2dfcG9zXS5sZW5ndGg7CisJCX0KKwkJb2ZmID0g
c2dbaG9zdC0+c2dfcG9zXS5vZmZzZXQgKyBob3N0LT5ibG9ja19wb3M7CisKKwkJcGcgPSBudGhf
cGFnZShzZ1tob3N0LT5zZ19wb3NdLnBhZ2UsIG9mZiA+PiBQQUdFX1NISUZUKTsKKwkJcF9vZmYg
PSBvZmZzZXRfaW5fcGFnZShvZmYpOworCQlwX2NudCA9IFBBR0VfU0laRSAtIHBfb2ZmOworCQlw
X2NudCA9IG1pbihwX2NudCwgY250KTsKKwkJcF9jbnQgPSBtaW4ocF9jbnQsIHRfc2l6ZSk7CisK
KwkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9SRUFEKQorCQkJdGlmbV9zZF9yZWFkX2Zp
Zm8oaG9zdCwgcGcsIHBfb2ZmLCBwX2NudCk7CisJCWVsc2UgaWYgKHJfZGF0YS0+ZmxhZ3MgJiBN
TUNfREFUQV9XUklURSkKKwkJCXRpZm1fc2Rfd3JpdGVfZmlmbyhob3N0LCBwZywgcF9vZmYsIHBf
Y250KTsKKworCQl0X3NpemUgLT0gcF9jbnQ7CisJCWhvc3QtPmJsb2NrX3BvcyArPSBwX2NudDsK
Kwl9Cit9CisKK3N0YXRpYyB2b2lkIHRpZm1fc2RfY29weV9wYWdlKHN0cnVjdCBwYWdlICpkc3Qs
IHVuc2lnbmVkIGludCBkc3Rfb2ZmLAorCQkJICAgICAgc3RydWN0IHBhZ2UgKnNyYywgdW5zaWdu
ZWQgaW50IHNyY19vZmYsCisJCQkgICAgICB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJdW5zaWdu
ZWQgY2hhciAqc3JjX2J1ZiA9IGttYXBfYXRvbWljKHNyYywgS01fQklPX1NSQ19JUlEpICsgc3Jj
X29mZjsKKwl1bnNpZ25lZCBjaGFyICpkc3RfYnVmID0ga21hcF9hdG9taWMoZHN0LCBLTV9CSU9f
RFNUX0lSUSkgKyBkc3Rfb2ZmOworCisJbWVtY3B5KGRzdF9idWYsIHNyY19idWYsIGNvdW50KTsK
KworCWt1bm1hcF9hdG9taWMoZHN0X2J1ZiAtIGRzdF9vZmYsIEtNX0JJT19EU1RfSVJRKTsKKwlr
dW5tYXBfYXRvbWljKHNyY19idWYgLSBzcmNfb2ZmLCBLTV9CSU9fU1JDX0lSUSk7Cit9CisKK3N0
YXRpYyB2b2lkIHRpZm1fc2RfYm91bmNlX2Jsb2NrKHN0cnVjdCB0aWZtX3NkICpob3N0LCBzdHJ1
Y3QgbW1jX2RhdGEgKnJfZGF0YSkKK3sKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnID0gcl9kYXRh
LT5zZzsKKwl1bnNpZ25lZCBpbnQgdF9zaXplID0gcl9kYXRhLT5ibGtzejsKKwl1bnNpZ25lZCBp
bnQgb2ZmLCBjbnQ7CisJdW5zaWduZWQgaW50IHBfb2ZmLCBwX2NudDsKKwlzdHJ1Y3QgcGFnZSAq
cGc7CisKKwlkZXZfZGJnKCZob3N0LT5kZXYtPmRldiwgImJvdW5jaW5nIGJsb2NrXG4iKTsKKwl3
aGlsZSAodF9zaXplKSB7CisJCWNudCA9IHNnW2hvc3QtPnNnX3Bvc10ubGVuZ3RoIC0gaG9zdC0+
YmxvY2tfcG9zOworCQlpZiAoIWNudCkgeworCQkJaG9zdC0+YmxvY2tfcG9zID0gMDsKKwkJCWhv
c3QtPnNnX3BvcysrOworCQkJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5zZ19sZW4pCisJCQkJ
cmV0dXJuOworCQkJY250ID0gc2dbaG9zdC0+c2dfcG9zXS5sZW5ndGg7CiAJCX0KKwkJb2ZmID0g
c2dbaG9zdC0+c2dfcG9zXS5vZmZzZXQgKyBob3N0LT5ibG9ja19wb3M7CisKKwkJcGcgPSBudGhf
cGFnZShzZ1tob3N0LT5zZ19wb3NdLnBhZ2UsIG9mZiA+PiBQQUdFX1NISUZUKTsKKwkJcF9vZmYg
PSBvZmZzZXRfaW5fcGFnZShvZmYpOworCQlwX2NudCA9IFBBR0VfU0laRSAtIHBfb2ZmOworCQlw
X2NudCA9IG1pbihwX2NudCwgY250KTsKKwkJcF9jbnQgPSBtaW4ocF9jbnQsIHRfc2l6ZSk7CisK
KwkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJCXRpZm1fc2RfY29weV9w
YWdlKGhvc3QtPmJvdW5jZV9idWYucGFnZSwKKwkJCQkJICByX2RhdGEtPmJsa3N6IC0gdF9zaXpl
LAorCQkJCQkgIHBnLCBwX29mZiwgcF9jbnQpOworCQllbHNlIGlmIChyX2RhdGEtPmZsYWdzICYg
TU1DX0RBVEFfUkVBRCkKKwkJCXRpZm1fc2RfY29weV9wYWdlKHBnLCBwX29mZiwgaG9zdC0+Ym91
bmNlX2J1Zi5wYWdlLAorCQkJCQkgIHJfZGF0YS0+Ymxrc3ogLSB0X3NpemUsIHBfY250KTsKKwor
CQl0X3NpemUgLT0gcF9jbnQ7CisJCWhvc3QtPmJsb2NrX3BvcyArPSBwX2NudDsKKwl9Cit9CisK
K2ludCB0aWZtX3NkX3NldF9kbWFfZGF0YShzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwgc3RydWN0IG1t
Y19kYXRhICpyX2RhdGEpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2Owor
CXVuc2lnbmVkIGludCB0X3NpemUgPSBUSUZNX0RNQV9UU0laRSAqIHJfZGF0YS0+Ymxrc3o7CisJ
dW5zaWduZWQgaW50IGRtYV9sZW4sIGRtYV9ibGtfY250LCBkbWFfb2ZmOworCXN0cnVjdCBzY2F0
dGVybGlzdCAqc2cgPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAoaG9zdC0+
c2dfcG9zID09IGhvc3QtPnNnX2xlbikKKwkJcmV0dXJuIDE7CisKKwlpZiAoaG9zdC0+Y21kX2Zs
YWdzICYgREFUQV9DQVJSWSkgeworCQlob3N0LT5jbWRfZmxhZ3MgJj0gfkRBVEFfQ0FSUlk7CisJ
CWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkJdGlmbV9zZF9ib3VuY2VfYmxvY2soaG9zdCwgcl9k
YXRhKTsKKwkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCQlpZiAoaG9zdC0+c2dfcG9zID09
IGhvc3QtPnNnX2xlbikKKwkJCXJldHVybiAxOworCX0KKworCXdoaWxlICgxKSB7CisJCWRtYV9s
ZW4gPSBzZ19kbWFfbGVuKCZyX2RhdGEtPnNnW2hvc3QtPnNnX3Bvc10pCisJCQkgIC0gaG9zdC0+
YmxvY2tfcG9zOworCQlpZiAoZG1hX2xlbikKKwkJCWJyZWFrOworCQlob3N0LT5ibG9ja19wb3Mg
PSAwOworCQlob3N0LT5zZ19wb3MrKzsKKwkJaWYgKGhvc3QtPnNnX3BvcyA9PSBob3N0LT5zZ19s
ZW4pCisJCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoZG1hX2xlbiA8IHRfc2l6ZSkgeworCQlkbWFf
YmxrX2NudCA9IGRtYV9sZW4gLyByX2RhdGEtPmJsa3N6OworCQlkbWFfb2ZmID0gaG9zdC0+Ymxv
Y2tfcG9zOworCQlob3N0LT5ibG9ja19wb3MgKz0gZG1hX2Jsa19jbnQgKiByX2RhdGEtPmJsa3N6
OworCX0gZWxzZSB7CisJCWRtYV9ibGtfY250ID0gVElGTV9ETUFfVFNJWkU7CisJCWRtYV9vZmYg
PSBob3N0LT5ibG9ja19wb3M7CisJCWhvc3QtPmJsb2NrX3BvcyArPSB0X3NpemU7CiAJfQorCisJ
aWYgKGRtYV9ibGtfY250KQorCQlzZyA9ICZyX2RhdGEtPnNnW2hvc3QtPnNnX3Bvc107CisJZWxz
ZSBpZiAoZG1hX2xlbikgeworCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSB7
CisJCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCQl0aWZtX3NkX2JvdW5jZV9ibG9jayhob3N0
LCByX2RhdGEpOworCQkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCQl9IGVsc2UKKwkJCWhv
c3QtPmNtZF9mbGFncyB8PSBEQVRBX0NBUlJZOworCisJCXNnID0gJmhvc3QtPmJvdW5jZV9idWY7
CisJCWRtYV9vZmYgPSAwOworCQlkbWFfYmxrX2NudCA9IDE7CisJfSBlbHNlCisJCXJldHVybiAx
OworCisJZGV2X2RiZygmc29jay0+ZGV2LCAic2V0dGluZyBkbWEgZm9yICVkIGJsb2Nrc1xuIiwg
ZG1hX2Jsa19jbnQpOworCXdyaXRlbChzZ19kbWFfYWRkcmVzcyhzZykgKyBkbWFfb2ZmLCBzb2Nr
LT5hZGRyICsgU09DS19ETUFfQUREUkVTUyk7CisJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFU
QV9XUklURSkKKwkJd3JpdGVsKChkbWFfYmxrX2NudCA8PCA4KSB8IFRJRk1fRE1BX1RYIHwgVElG
TV9ETUFfRU4sCisJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7CisJZWxz
ZQorCQl3cml0ZWwoKGRtYV9ibGtfY250IDw8IDgpIHwgVElGTV9ETUFfRU4sCisJCSAgICAgICBz
b2NrLT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjA3
LDcgKzM3NCw3IEBAIHN0YXRpYyB2b2lkIHRpZm1fc2RfZXhlYyhzdHJ1Y3QgdGlmbV9zZCAKIHsK
IAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7CiAJdW5zaWduZWQgaW50IGNtZF9t
YXNrID0gdGlmbV9zZF9vcF9mbGFncyhjbWQpIHwKLQkJCQkoaG9zdC0+ZmxhZ3MgJiBPUEVORFJB
SU4pOworCQkJCShob3N0LT5vcGVuX2RyYWluID8gVElGTV9NTUNTRF9PRFRPIDogMCk7CiAKIAlp
ZiAoY21kLT5kYXRhICYmIChjbWQtPmRhdGEtPmZsYWdzICYgTU1DX0RBVEFfUkVBRCkpCiAJCWNt
ZF9tYXNrIHw9IFRJRk1fTU1DU0RfUkVBRDsKQEAgLTIzMiwxOTEgKzM5OSwxOTQgQEAgc3RhdGlj
IHZvaWQgdGlmbV9zZF9mZXRjaF9yZXNwKHN0cnVjdCBtbQogCQkgICAgICAgfCByZWFkbChzb2Nr
LT5hZGRyICsgU09DS19NTUNTRF9SRVNQT05TRSArIDB4MDApOwogfQogCi1zdGF0aWMgdm9pZCB0
aWZtX3NkX3Byb2Nlc3NfY21kKHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0IHRpZm1fc2Qg
Kmhvc3QsCi0JCQkJICAgICAgIHVuc2lnbmVkIGludCBob3N0X3N0YXR1cykKK3N0YXRpYyB2b2lk
IHRpZm1fc2RfY2hlY2tfc3RhdHVzKHN0cnVjdCB0aWZtX3NkICpob3N0KQogeworCXN0cnVjdCB0
aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKIAlzdHJ1Y3QgbW1jX2NvbW1hbmQgKmNtZCA9IGhv
c3QtPnJlcS0+Y21kOwogCi1jaGFuZ2Vfc3RhdGU6Ci0Jc3dpdGNoIChob3N0LT5zdGF0ZSkgewot
CWNhc2UgSURMRToKKwlpZiAoY21kLT5lcnJvciAhPSBNTUNfRVJSX05PTkUpCisJCWdvdG8gZmlu
aXNoX3JlcXVlc3Q7CisKKwlpZiAoIShob3N0LT5jbWRfZmxhZ3MgJiBDTURfUkVBRFkpKQogCQly
ZXR1cm47Ci0JY2FzZSBDTUQ6Ci0JCWlmIChob3N0X3N0YXR1cyAmIChUSUZNX01NQ1NEX0VPQyB8
IFRJRk1fTU1DU0RfQ0VSUikpIHsKLQkJCXRpZm1fc2RfZmV0Y2hfcmVzcChjbWQsIHNvY2spOwot
CQkJaWYgKGNtZC0+ZGF0YSkgewotCQkJCWhvc3QtPnN0YXRlID0gQlJTOwotCQkJfSBlbHNlIHsK
LQkJCQlob3N0LT5zdGF0ZSA9IFJFQURZOwotCQkJfQotCQkJZ290byBjaGFuZ2Vfc3RhdGU7Ci0J
CX0KLQkJYnJlYWs7Ci0JY2FzZSBCUlM6Ci0JCWlmICh0aWZtX3NkX3RyYW5zZmVyX2RhdGEoc29j
aywgaG9zdCwgaG9zdF9zdGF0dXMpKSB7Ci0JCQlpZiAoY21kLT5kYXRhLT5mbGFncyAmIE1NQ19E
QVRBX1dSSVRFKSB7Ci0JCQkJaG9zdC0+c3RhdGUgPSBDQVJEOwotCQkJfSBlbHNlIHsKLQkJCQlp
ZiAobm9fZG1hKSB7Ci0JCQkJCWlmIChob3N0LT5yZXEtPnN0b3ApIHsKLQkJCQkJCXRpZm1fc2Rf
ZXhlYyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOwotCQkJCQkJaG9zdC0+c3RhdGUgPSBTQ01EOwot
CQkJCQl9IGVsc2UgewotCQkJCQkJaG9zdC0+c3RhdGUgPSBSRUFEWTsKLQkJCQkJfQotCQkJCX0g
ZWxzZSB7Ci0JCQkJCWhvc3QtPnN0YXRlID0gRklGTzsKLQkJCQl9Ci0JCQl9Ci0JCQlnb3RvIGNo
YW5nZV9zdGF0ZTsKLQkJfQotCQlicmVhazsKLQljYXNlIFNDTUQ6Ci0JCWlmIChob3N0X3N0YXR1
cyAmIFRJRk1fTU1DU0RfRU9DKSB7Ci0JCQl0aWZtX3NkX2ZldGNoX3Jlc3AoaG9zdC0+cmVxLT5z
dG9wLCBzb2NrKTsKLQkJCWhvc3QtPnN0YXRlID0gUkVBRFk7Ci0JCQlnb3RvIGNoYW5nZV9zdGF0
ZTsKKworCWlmIChjbWQtPmRhdGEpIHsKKwkJaWYgKGNtZC0+ZGF0YS0+ZXJyb3IgIT0gTU1DX0VS
Ul9OT05FKSB7CisJCQlpZiAoKGhvc3QtPmNtZF9mbGFncyAmIFNDTURfQUNUSVZFKQorCQkJICAg
ICYmICEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9SRUFEWSkpCisJCQkJcmV0dXJuOworCisJCQln
b3RvIGZpbmlzaF9yZXF1ZXN0OwogCQl9Ci0JCWJyZWFrOwotCWNhc2UgQ0FSRDoKLQkJZGV2X2Ri
Zygmc29jay0+ZGV2LCAid2FpdGluZyBmb3IgQ0FSRCwgaGF2ZSAlemQgYmxvY2tzXG4iLAotCQkJ
aG9zdC0+d3JpdHRlbl9ibG9ja3MpOwotCQlpZiAoIShob3N0LT5mbGFncyAmIENBUkRfQlVTWSkK
LQkJICAgICYmIChob3N0LT53cml0dGVuX2Jsb2NrcyA9PSBjbWQtPmRhdGEtPmJsb2NrcykpIHsK
LQkJCWlmIChub19kbWEpIHsKLQkJCQlpZiAoaG9zdC0+cmVxLT5zdG9wKSB7CisKKwkJaWYgKCEo
aG9zdC0+Y21kX2ZsYWdzICYgQlJTX1JFQURZKSkKKwkJCXJldHVybjsKKworCQlpZiAoIShob3N0
LT5ub19kbWEgfHwgKGhvc3QtPmNtZF9mbGFncyAmIEZJRk9fUkVBRFkpKSkKKwkJCXJldHVybjsK
KworCQlpZiAoY21kLT5kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSB7CisJCQlpZiAoaG9z
dC0+cmVxLT5zdG9wKSB7CisJCQkJaWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9BQ1RJVkUp
KSB7CisJCQkJCWhvc3QtPmNtZF9mbGFncyB8PSBTQ01EX0FDVElWRTsKKwkJCQkJd3JpdGVsKFRJ
Rk1fTU1DU0RfRU9GQgorCQkJCQkgICAgICAgfCByZWFkbChzb2NrLT5hZGRyCisJCQkJCQkgICAg
ICAgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpLAorCQkJCQkgICAgICAgc29jay0+YWRkcgorCQkJ
CQkgICAgICAgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwogCQkJCQl0aWZtX3NkX2V4ZWMoaG9z
dCwgaG9zdC0+cmVxLT5zdG9wKTsKLQkJCQkJaG9zdC0+c3RhdGUgPSBTQ01EOworCQkJCQlyZXR1
cm47CiAJCQkJfSBlbHNlIHsKLQkJCQkJaG9zdC0+c3RhdGUgPSBSRUFEWTsKKwkJCQkJaWYgKCEo
aG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9SRUFEWSkKKwkJCQkJICAgIHx8IChob3N0LT5jbWRfZmxh
Z3MgJiBDQVJEX0JVU1kpKQorCQkJCQkJcmV0dXJuOworCQkJCQl3cml0ZWwoKH5USUZNX01NQ1NE
X0VPRkIpCisJCQkJCSAgICAgICAmIHJlYWRsKHNvY2stPmFkZHIKKwkJCQkJCSAgICAgICArIFNP
Q0tfTU1DU0RfSU5UX0VOQUJMRSksCisJCQkJCSAgICAgICBzb2NrLT5hZGRyCisJCQkJCSAgICAg
ICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7CiAJCQkJfQogCQkJfSBlbHNlIHsKLQkJCQlob3N0
LT5zdGF0ZSA9IEZJRk87CisJCQkJaWYgKGhvc3QtPmNtZF9mbGFncyAmIENBUkRfQlVTWSkKKwkJ
CQkJcmV0dXJuOworCQkJCXdyaXRlbCgoflRJRk1fTU1DU0RfRU9GQikKKwkJCQkgICAgICAgJiBy
ZWFkbChzb2NrLT5hZGRyCisJCQkJCSAgICAgICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCisJ
CQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwogCQkJfQotCQkJ
Z290byBjaGFuZ2Vfc3RhdGU7Ci0JCX0KLQkJYnJlYWs7Ci0JY2FzZSBGSUZPOgotCQlpZiAoaG9z
dC0+ZmxhZ3MgJiBGSUZPX1JEWSkgewotCQkJaG9zdC0+ZmxhZ3MgJj0gfkZJRk9fUkRZOworCQl9
IGVsc2UgewogCQkJaWYgKGhvc3QtPnJlcS0+c3RvcCkgewotCQkJCXRpZm1fc2RfZXhlYyhob3N0
LCBob3N0LT5yZXEtPnN0b3ApOwotCQkJCWhvc3QtPnN0YXRlID0gU0NNRDsKLQkJCX0gZWxzZSB7
Ci0JCQkJaG9zdC0+c3RhdGUgPSBSRUFEWTsKKwkJCQlpZiAoIShob3N0LT5jbWRfZmxhZ3MgJiBT
Q01EX0FDVElWRSkpIHsKKwkJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IFNDTURfQUNUSVZFOworCQkJ
CQl0aWZtX3NkX2V4ZWMoaG9zdCwgaG9zdC0+cmVxLT5zdG9wKTsKKwkJCQkJcmV0dXJuOworCQkJ
CX0gZWxzZSB7CisJCQkJCWlmICghKGhvc3QtPmNtZF9mbGFncyAmIFNDTURfUkVBRFkpKQorCQkJ
CQkJcmV0dXJuOworCQkJCX0KIAkJCX0KLQkJCWdvdG8gY2hhbmdlX3N0YXRlOwogCQl9Ci0JCWJy
ZWFrOwotCWNhc2UgUkVBRFk6Ci0JCXRhc2tsZXRfc2NoZWR1bGUoJmhvc3QtPmZpbmlzaF90YXNr
bGV0KTsKLQkJcmV0dXJuOwogCX0KLQorZmluaXNoX3JlcXVlc3Q6CisJdGFza2xldF9zY2hlZHVs
ZSgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQpOwogfQogCiAvKiBDYWxsZWQgZnJvbSBpbnRlcnJ1cHQg
aGFuZGxlciAqLwotc3RhdGljIHZvaWQgdGlmbV9zZF9zaWduYWxfaXJxKHN0cnVjdCB0aWZtX2Rl
diAqc29jaywKLQkJCSAgICAgICB1bnNpZ25lZCBpbnQgc29ja19pcnFfc3RhdHVzKQorc3RhdGlj
IHZvaWQgdGlmbV9zZF9kYXRhX2V2ZW50KHN0cnVjdCB0aWZtX2RldiAqc29jaykKIHsKIAlzdHJ1
Y3QgdGlmbV9zZCAqaG9zdDsKLQl1bnNpZ25lZCBpbnQgaG9zdF9zdGF0dXMgPSAwLCBmaWZvX3N0
YXR1cyA9IDA7Ci0JaW50IGVycm9yX2NvZGUgPSAwOworCXVuc2lnbmVkIGludCBmaWZvX3N0YXR1
cyA9IDA7CisJc3RydWN0IG1tY19kYXRhICpyX2RhdGEgPSBOVUxMOwogCiAJc3Bpbl9sb2NrKCZz
b2NrLT5sb2NrKTsKIAlob3N0ID0gbW1jX3ByaXYoKHN0cnVjdCBtbWNfaG9zdCopdGlmbV9nZXRf
ZHJ2ZGF0YShzb2NrKSk7CisJZmlmb19zdGF0dXMgPSByZWFkbChzb2NrLT5hZGRyICsgU09DS19E
TUFfRklGT19TVEFUVVMpOworCWRldl9kYmcoJnNvY2stPmRldiwgImRhdGEgZXZlbnQ6IGZpZm9f
c3RhdHVzICV4LCBmbGFncyAleFxuIiwKKwkJZmlmb19zdGF0dXMsIGhvc3QtPmNtZF9mbGFncyk7
CiAKLQlpZiAoc29ja19pcnFfc3RhdHVzICYgRklGT19FVkVOVCkgewotCQlmaWZvX3N0YXR1cyA9
IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX1NUQVRVUyk7Ci0JCXdyaXRlbChmaWZv
X3N0YXR1cywgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fU1RBVFVTKTsKKwlpZiAoaG9zdC0+
cmVxKSB7CisJCXJfZGF0YSA9IGhvc3QtPnJlcS0+Y21kLT5kYXRhOwogCi0JCWhvc3QtPmZsYWdz
IHw9IGZpZm9fc3RhdHVzICYgRklGT19SRFk7CisJCWlmIChyX2RhdGEgJiYgKGZpZm9fc3RhdHVz
ICYgVElGTV9GSUZPX1JFQURZKSkgeworCQkJaWYgKHRpZm1fc2Rfc2V0X2RtYV9kYXRhKGhvc3Qs
IHJfZGF0YSkpIHsKKwkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gRklGT19SRUFEWTsKKwkJCQl0aWZt
X3NkX2NoZWNrX3N0YXR1cyhob3N0KTsKKwkJCX0KKwkJfQogCX0KIAotCWlmIChzb2NrX2lycV9z
dGF0dXMgJiBDQVJEX0VWRU5UKSB7Ci0JCWhvc3Rfc3RhdHVzID0gcmVhZGwoc29jay0+YWRkciAr
IFNPQ0tfTU1DU0RfU1RBVFVTKTsKLQkJd3JpdGVsKGhvc3Rfc3RhdHVzLCBzb2NrLT5hZGRyICsg
U09DS19NTUNTRF9TVEFUVVMpOworCXdyaXRlbChmaWZvX3N0YXR1cywgc29jay0+YWRkciArIFNP
Q0tfRE1BX0ZJRk9fU1RBVFVTKTsKKwlzcGluX3VubG9jaygmc29jay0+bG9jayk7Cit9CiAKLQkJ
aWYgKCFob3N0LT5yZXEpCi0JCQlnb3RvIGRvbmU7CisvKiBDYWxsZWQgZnJvbSBpbnRlcnJ1cHQg
aGFuZGxlciAqLworc3RhdGljIHZvaWQgdGlmbV9zZF9ldmVudChzdHJ1Y3QgdGlmbV9kZXYgKnNv
Y2spCit7CisJc3RydWN0IHRpZm1fc2QgKmhvc3Q7CisJdW5zaWduZWQgaW50IGhvc3Rfc3RhdHVz
ID0gMDsKKwlpbnQgY21kX2Vycm9yID0gTU1DX0VSUl9OT05FOworCXN0cnVjdCBtbWNfY29tbWFu
ZCAqY21kID0gTlVMTDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrKCZzb2Nr
LT5sb2NrKTsKKwlob3N0ID0gbW1jX3ByaXYoKHN0cnVjdCBtbWNfaG9zdCopdGlmbV9nZXRfZHJ2
ZGF0YShzb2NrKSk7CisJaG9zdF9zdGF0dXMgPSByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNT
RF9TVEFUVVMpOworCWRldl9kYmcoJnNvY2stPmRldiwgImhvc3QgZXZlbnQ6IGhvc3Rfc3RhdHVz
ICV4LCBmbGFncyAleFxuIiwKKwkJaG9zdF9zdGF0dXMsIGhvc3QtPmNtZF9mbGFncyk7CisKKwlp
ZiAoaG9zdC0+cmVxKSB7CisJCWNtZCA9IGhvc3QtPnJlcS0+Y21kOwogCiAJCWlmIChob3N0X3N0
YXR1cyAmIFRJRk1fTU1DU0RfRVJSTUFTSykgewotCQkJaWYgKGhvc3Rfc3RhdHVzICYgKFRJRk1f
TU1DU0RfQ1RPIHwgVElGTV9NTUNTRF9EVE8pKQotCQkJCWVycm9yX2NvZGUgPSBNTUNfRVJSX1RJ
TUVPVVQ7Ci0JCQllbHNlIGlmIChob3N0X3N0YXR1cwotCQkJCSAmIChUSUZNX01NQ1NEX0NDUkMg
fCBUSUZNX01NQ1NEX0RDUkMpKQotCQkJCWVycm9yX2NvZGUgPSBNTUNfRVJSX0JBRENSQzsKKwkJ
CXdyaXRlbChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRVJSTUFTSywKKwkJCSAgICAgICBzb2Nr
LT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOworCQkJaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9N
TUNTRF9DVE8pCisJCQkJY21kX2Vycm9yID0gTU1DX0VSUl9USU1FT1VUOworCQkJZWxzZSBpZiAo
aG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0NDUkMpCisJCQkJY21kX2Vycm9yID0gTU1DX0VSUl9C
QURDUkM7CisKKwkJCWlmIChjbWQtPmRhdGEpIHsKKwkJCQlpZiAoaG9zdF9zdGF0dXMgJiBUSUZN
X01NQ1NEX0RUTykKKwkJCQkJY21kLT5kYXRhLT5lcnJvciA9IE1NQ19FUlJfVElNRU9VVDsKKwkJ
CQllbHNlIGlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRENSQykKKwkJCQkJY21kLT5kYXRh
LT5lcnJvciA9IE1NQ19FUlJfQkFEQ1JDOworCQkJfQogCiAJCQl3cml0ZWwoVElGTV9GSUZPX0lO
VF9TRVRBTEwsCiAJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VOQUJM
RV9DTEVBUik7CiAJCQl3cml0ZWwoVElGTV9ETUFfUkVTRVQsIHNvY2stPmFkZHIgKyBTT0NLX0RN
QV9DT05UUk9MKTsKIAogCQkJaWYgKGhvc3QtPnJlcS0+c3RvcCkgewotCQkJCWlmIChob3N0LT5z
dGF0ZSA9PSBTQ01EKSB7Ci0JCQkJCWhvc3QtPnJlcS0+c3RvcC0+ZXJyb3IgPSBlcnJvcl9jb2Rl
OwotCQkJCX0gZWxzZSBpZiAoaG9zdC0+c3RhdGUgPT0gQlJTCi0JCQkJCSAgIHx8IGhvc3QtPnN0
YXRlID09IENBUkQKLQkJCQkJICAgfHwgaG9zdC0+c3RhdGUgPT0gRklGTykgewotCQkJCQlob3N0
LT5yZXEtPmNtZC0+ZXJyb3IgPSBlcnJvcl9jb2RlOworCQkJCWlmIChob3N0LT5jbWRfZmxhZ3Mg
JiBTQ01EX0FDVElWRSkgeworCQkJCQlob3N0LT5yZXEtPnN0b3AtPmVycm9yID0gY21kX2Vycm9y
OworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gU0NNRF9SRUFEWTsKKwkJCQl9IGVsc2UgeworCQkJ
CQljbWQtPmVycm9yID0gY21kX2Vycm9yOworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gU0NNRF9B
Q1RJVkU7CiAJCQkJCXRpZm1fc2RfZXhlYyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOwotCQkJCQlo
b3N0LT5zdGF0ZSA9IFNDTUQ7CiAJCQkJCWdvdG8gZG9uZTsKLQkJCQl9IGVsc2UgewotCQkJCQlo
b3N0LT5yZXEtPmNtZC0+ZXJyb3IgPSBlcnJvcl9jb2RlOwogCQkJCX0KLQkJCX0gZWxzZSB7Ci0J
CQkJaG9zdC0+cmVxLT5jbWQtPmVycm9yID0gZXJyb3JfY29kZTsKKwkJCX0gZWxzZQorCQkJCWNt
ZC0+ZXJyb3IgPSBjbWRfZXJyb3I7CisJCX0gZWxzZSB7CisJCQlpZiAoaG9zdF9zdGF0dXMgJiAo
VElGTV9NTUNTRF9FT0MgfCBUSUZNX01NQ1NEX0NFUlIpKSB7CisJCQkJaWYgKCEoaG9zdC0+Y21k
X2ZsYWdzICYgQ01EX1JFQURZKSkgeworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gQ01EX1JFQURZ
OworCQkJCQl0aWZtX3NkX2ZldGNoX3Jlc3AoY21kLCBzb2NrKTsKKwkJCQl9IGVsc2UgaWYgKGhv
c3QtPmNtZF9mbGFncyAmIFNDTURfQUNUSVZFKSB7CisJCQkJCWhvc3QtPmNtZF9mbGFncyB8PSBT
Q01EX1JFQURZOworCQkJCQl0aWZtX3NkX2ZldGNoX3Jlc3AoaG9zdC0+cmVxLT5zdG9wLAorCQkJ
CQkJCSAgIHNvY2spOworCQkJCX0KIAkJCX0KLQkJCWhvc3QtPnN0YXRlID0gUkVBRFk7CisJCQlp
ZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0JSUykKKwkJCQlob3N0LT5jbWRfZmxhZ3MgfD0g
QlJTX1JFQURZOwogCQl9CiAKLQkJaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9DQikKLQkJ
CWhvc3QtPmZsYWdzIHw9IENBUkRfQlVTWTsKLQkJaWYgKChob3N0X3N0YXR1cyAmIFRJRk1fTU1D
U0RfRU9GQikKLQkJICAgICYmIChob3N0LT5mbGFncyAmIENBUkRfQlVTWSkpIHsKLQkJCWhvc3Qt
PndyaXR0ZW5fYmxvY2tzKys7Ci0JCQlob3N0LT5mbGFncyAmPSB+Q0FSRF9CVVNZOworCQlpZiAo
aG9zdC0+bm9fZG1hICYmIGNtZC0+ZGF0YSkgeworCQkJaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9N
TUNTRF9BRSkKKwkJCQl3cml0ZWwoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0FFLAorCQkJCSAg
ICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOworCisJCQlpZiAoaG9zdF9zdGF0
dXMgJiAoVElGTV9NTUNTRF9BRSB8IFRJRk1fTU1DU0RfQUYKKwkJCQkJICAgfCBUSUZNX01NQ1NE
X0JSUykpIHsKKwkJCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCQkJdGlmbV9zZF90cmFuc2Zl
cl9kYXRhKGhvc3QpOworCQkJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwkJCQlob3N0X3N0
YXR1cyAmPSB+VElGTV9NTUNTRF9BRTsKKwkJCX0KIAkJfQotICAgICAgICB9Ci0KLQlpZiAoaG9z
dC0+cmVxKQotCQl0aWZtX3NkX3Byb2Nlc3NfY21kKHNvY2ssIGhvc3QsIGhvc3Rfc3RhdHVzKTsK
LWRvbmU6Ci0JZGV2X2RiZygmc29jay0+ZGV2LCAiaG9zdF9zdGF0dXMgJXgsIGZpZm9fc3RhdHVz
ICV4XG4iLAotCQlob3N0X3N0YXR1cywgZmlmb19zdGF0dXMpOwotCXNwaW5fdW5sb2NrKCZzb2Nr
LT5sb2NrKTsKLX0KLQotc3RhdGljIHZvaWQgdGlmbV9zZF9wcmVwYXJlX2RhdGEoc3RydWN0IHRp
Zm1fc2QgKmhvc3QsIHN0cnVjdCBtbWNfY29tbWFuZCAqY21kKQotewotCXN0cnVjdCB0aWZtX2Rl
diAqc29jayA9IGhvc3QtPmRldjsKLQl1bnNpZ25lZCBpbnQgZGVzdF9jbnQ7Ci0KLQkvKiBETUEg
c3R5bGUgSU8gKi8KLQlkZXZfZGJnKCZzb2NrLT5kZXYsICJzZXR0aW5nIGRtYSBmb3IgJWQgYmxv
Y2tzXG4iLAotCQljbWQtPmRhdGEtPmJsb2Nrcyk7Ci0Jd3JpdGVsKFRJRk1fRklGT19JTlRfU0VU
QUxMLAotCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxFX0NMRUFS
KTsKLQl3cml0ZWwoaWxvZzIoY21kLT5kYXRhLT5ibGtzeikgLSAyLAotCSAgICAgICBzb2NrLT5h
ZGRyICsgU09DS19GSUZPX1BBR0VfU0laRSk7Ci0Jd3JpdGVsKFRJRk1fRklGT19FTkFCTEUsIHNv
Y2stPmFkZHIgKyBTT0NLX0ZJRk9fQ09OVFJPTCk7Ci0Jd3JpdGVsKFRJRk1fRklGT19JTlRNQVNL
LCBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19JTlRfRU5BQkxFX1NFVCk7Ci0KLQlkZXN0X2Nu
dCA9IChjbWQtPmRhdGEtPmJsb2NrcykgPDwgODsKIAotCXdyaXRlbChzZ19kbWFfYWRkcmVzcyhj
bWQtPmRhdGEtPnNnKSwgc29jay0+YWRkciArIFNPQ0tfRE1BX0FERFJFU1MpOworCQlpZiAoaG9z
dF9zdGF0dXMgJiBUSUZNX01NQ1NEX0VPRkIpCisJCQlob3N0LT5jbWRfZmxhZ3MgJj0gfkNBUkRf
QlVTWTsKKwkJZWxzZSBpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0NCKQorCQkJaG9zdC0+
Y21kX2ZsYWdzIHw9IENBUkRfQlVTWTsKIAotCXdyaXRlbChjbWQtPmRhdGEtPmJsb2NrcyAtIDEs
IHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX05VTV9CTE9DS1MpOwotCXdyaXRlbChjbWQtPmRhdGEt
PmJsa3N6IC0gMSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQkxPQ0tfTEVOKTsKLQotCWlmIChj
bWQtPmRhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpIHsKLQkJd3JpdGVsKFRJRk1fTU1DU0Rf
VFhERSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQlVGRkVSX0NPTkZJRyk7Ci0JCXdyaXRlbChk
ZXN0X2NudCB8IFRJRk1fRE1BX1RYIHwgVElGTV9ETUFfRU4sCi0JCSAgICAgICBzb2NrLT5hZGRy
ICsgU09DS19ETUFfQ09OVFJPTCk7Ci0JfSBlbHNlIHsKLQkJd3JpdGVsKFRJRk1fTU1DU0RfUlhE
RSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQlVGRkVSX0NPTkZJRyk7Ci0JCXdyaXRlbChkZXN0
X2NudCB8IFRJRk1fRE1BX0VOLCBzb2NrLT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7CisJCXRp
Zm1fc2RfY2hlY2tfc3RhdHVzKGhvc3QpOwogCX0KK2RvbmU6CisJd3JpdGVsKGhvc3Rfc3RhdHVz
LCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOworCXNwaW5fdW5sb2NrKCZzb2NrLT5s
b2NrKTsKIH0KIAogc3RhdGljIHZvaWQgdGlmbV9zZF9zZXRfZGF0YV90aW1lb3V0KHN0cnVjdCB0
aWZtX3NkICpob3N0LApAQCAtNDUyLDE0NiArNjIyLDEwMCBAQCBzdGF0aWMgdm9pZCB0aWZtX3Nk
X3JlcXVlc3Qoc3RydWN0IG1tY19oCiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSBtbWNfcHJpdiht
bWMpOwogCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKIAl1bnNpZ25lZCBsb25n
IGZsYWdzOwotCWludCBzZ19jb3VudCA9IDA7CiAJc3RydWN0IG1tY19kYXRhICpyX2RhdGEgPSBt
cnEtPmNtZC0+ZGF0YTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7
Ci0JaWYgKGhvc3QtPmZsYWdzICYgRUpFQ1QpIHsKKwlpZiAoaG9zdC0+ZWplY3QpIHsKIAkJc3Bp
bl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwogCQlnb3RvIGVycl9vdXQ7
CiAJfQogCiAJaWYgKGhvc3QtPnJlcSkgewotCQlwcmludGsoS0VSTl9FUlIgRFJJVkVSX05BTUUg
IjogdW5maW5pc2hlZCByZXF1ZXN0IGRldGVjdGVkXG4iKTsKKwkJcHJpbnRrKEtFUk5fRVJSICIl
cyA6IHVuZmluaXNoZWQgcmVxdWVzdCBkZXRlY3RlZFxuIiwKKwkJICAgICAgIHNvY2stPmRldi5i
dXNfaWQpOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7CiAJ
CWdvdG8gZXJyX291dDsKIAl9CiAKKwlob3N0LT5jbWRfZmxhZ3MgPSAwOworCWhvc3QtPmJsb2Nr
X3BvcyA9IDA7CisJaG9zdC0+c2dfcG9zID0gMDsKKwogCWlmIChyX2RhdGEpIHsKIAkJdGlmbV9z
ZF9zZXRfZGF0YV90aW1lb3V0KGhvc3QsIHJfZGF0YSk7CiAKLQkJc2dfY291bnQgPSB0aWZtX21h
cF9zZyhzb2NrLCByX2RhdGEtPnNnLCByX2RhdGEtPnNnX2xlbiwKLQkJCQkgICAgICAgbXJxLT5j
bWQtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUKLQkJCQkgICAgICAgPyBQQ0lfRE1BX1RPREVWSUNF
IDogUENJX0RNQV9GUk9NREVWSUNFKTsKLQkJaWYgKHNnX2NvdW50ICE9IDEpIHsKLQkJCXByaW50
ayhLRVJOX0VSUiBEUklWRVJfTkFNRQotCQkJCSI6IHNjYXR0ZXJsaXN0IG1hcCBmYWlsZWRcbiIp
OwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCQkJZ290
byBlcnJfb3V0OwotCQl9Ci0KLQkJaG9zdC0+d3JpdHRlbl9ibG9ja3MgPSAwOwotCQlob3N0LT5m
bGFncyAmPSB+Q0FSRF9CVVNZOwotCQl0aWZtX3NkX3ByZXBhcmVfZGF0YShob3N0LCBtcnEtPmNt
ZCk7Ci0JfQotCi0JaG9zdC0+cmVxID0gbXJxOwotCW1vZF90aW1lcigmaG9zdC0+dGltZXIsIGpp
ZmZpZXMgKyBob3N0LT50aW1lb3V0X2ppZmZpZXMpOwotCWhvc3QtPnN0YXRlID0gQ01EOwotCXdy
aXRlbChUSUZNX0NUUkxfTEVEIHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCksCi0J
ICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpOwotCXRpZm1fc2RfZXhlYyhob3N0LCBt
cnEtPmNtZCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwot
CXJldHVybjsKLQotZXJyX291dDoKLQlpZiAoc2dfY291bnQgPiAwKQotCQl0aWZtX3VubWFwX3Nn
KHNvY2ssIHJfZGF0YS0+c2csIHJfZGF0YS0+c2dfbGVuLAotCQkJICAgICAgKHJfZGF0YS0+Zmxh
Z3MgJiBNTUNfREFUQV9XUklURSkKLQkJCSAgICAgID8gUENJX0RNQV9UT0RFVklDRSA6IFBDSV9E
TUFfRlJPTURFVklDRSk7Ci0KLQltcnEtPmNtZC0+ZXJyb3IgPSBNTUNfRVJSX1RJTUVPVVQ7Ci0J
bW1jX3JlcXVlc3RfZG9uZShtbWMsIG1ycSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHRpZm1fc2RfZW5k
X2NtZCh1bnNpZ25lZCBsb25nIGRhdGEpCi17Ci0Jc3RydWN0IHRpZm1fc2QgKmhvc3QgPSAoc3Ry
dWN0IHRpZm1fc2QqKWRhdGE7Ci0Jc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2Owot
CXN0cnVjdCBtbWNfaG9zdCAqbW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKLQlzdHJ1Y3Qg
bW1jX3JlcXVlc3QgKm1ycTsKLQlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9IE5VTEw7Ci0JdW5z
aWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFn
cyk7Ci0KLQlkZWxfdGltZXIoJmhvc3QtPnRpbWVyKTsKLQltcnEgPSBob3N0LT5yZXE7Ci0JaG9z
dC0+cmVxID0gTlVMTDsKLQlob3N0LT5zdGF0ZSA9IElETEU7Ci0KLQlpZiAoIW1ycSkgewotCQlw
cmludGsoS0VSTl9FUlIgRFJJVkVSX05BTUUgIjogbm8gcmVxdWVzdCB0byBjb21wbGV0ZT9cbiIp
OwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVy
bjsKLQl9CisJCWlmICgocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSAmJiAhbXJxLT5z
dG9wKQorCQkJIHdyaXRlbChUSUZNX01NQ1NEX0VPRkIKKwkJCQl8IHJlYWRsKHNvY2stPmFkZHIg
KyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpLAorCQkJCXNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lO
VF9FTkFCTEUpOworCisJCWlmIChob3N0LT5ub19kbWEpIHsKKwkJCXdyaXRlbChUSUZNX01NQ1NE
X0JVRklOVAorCQkJICAgICAgIHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VO
QUJMRSksCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7CisJ
CQl3cml0ZWwoKChUSUZNX01NQ1NEX0ZJRk9fU0laRSAtIDEpIDw8IDgpCisJCQkgICAgICAgfCAo
VElGTV9NTUNTRF9GSUZPX1NJWkUgLSAxKSwKKwkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19N
TUNTRF9CVUZGRVJfQ09ORklHKTsKIAotCXJfZGF0YSA9IG1ycS0+Y21kLT5kYXRhOwotCWlmIChy
X2RhdGEpIHsKLQkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgewotCQkJcl9k
YXRhLT5ieXRlc194ZmVyZWQgPSBob3N0LT53cml0dGVuX2Jsb2NrcwotCQkJCQkgICAgICAgKiBy
X2RhdGEtPmJsa3N6OworCQkJaG9zdC0+c2dfbGVuID0gcl9kYXRhLT5zZ19sZW47CiAJCX0gZWxz
ZSB7Ci0JCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCA9IHJfZGF0YS0+YmxvY2tzIC0KLQkJCQlyZWFk
bChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9OVU1fQkxPQ0tTKSAtIDE7Ci0JCQlyX2RhdGEtPmJ5
dGVzX3hmZXJlZCAqPSByX2RhdGEtPmJsa3N6OwotCQkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKz0g
cl9kYXRhLT5ibGtzeiAtCi0JCQkJcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQkxPQ0tf
TEVOKSArIDE7Ci0JCX0KLQkJdGlmbV91bm1hcF9zZyhzb2NrLCByX2RhdGEtPnNnLCByX2RhdGEt
PnNnX2xlbiwKLQkJCSAgICAgIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCi0JCQkg
ICAgICA/IFBDSV9ETUFfVE9ERVZJQ0UgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpOwotCX0KLQotCXdy
aXRlbCgoflRJRk1fQ1RSTF9MRUQpICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCks
Ci0JICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpOwotCi0Jc3Bpbl91bmxvY2tfaXJx
cmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCW1tY19yZXF1ZXN0X2RvbmUobW1jLCBtcnEp
OwotfQotCi1zdGF0aWMgdm9pZCB0aWZtX3NkX3JlcXVlc3Rfbm9kbWEoc3RydWN0IG1tY19ob3N0
ICptbWMsIHN0cnVjdCBtbWNfcmVxdWVzdCAqbXJxKQotewotCXN0cnVjdCB0aWZtX3NkICpob3N0
ID0gbW1jX3ByaXYobW1jKTsKLQlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7Ci0J
dW5zaWduZWQgbG9uZyBmbGFnczsKLQlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9IG1ycS0+Y21k
LT5kYXRhOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQlpZiAo
aG9zdC0+ZmxhZ3MgJiBFSkVDVCkgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5s
b2NrLCBmbGFncyk7Ci0JCWdvdG8gZXJyX291dDsKLQl9Ci0KLQlpZiAoaG9zdC0+cmVxKSB7Ci0J
CXByaW50ayhLRVJOX0VSUiBEUklWRVJfTkFNRSAiOiB1bmZpbmlzaGVkIHJlcXVlc3QgZGV0ZWN0
ZWRcbiIpOwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0J
CWdvdG8gZXJyX291dDsKLQl9CisJCQlob3N0LT5ib3VuY2VfYnVmLm9mZnNldAorCQkJCT0gb2Zm
c2V0X2luX3BhZ2UoaG9zdC0+Ym91bmNlX2J1Zl9kYXRhKTsKKwkJCWhvc3QtPmJvdW5jZV9idWYu
bGVuZ3RoID0gcl9kYXRhLT5ibGtzejsKKworCQkJaWYoMSAhPSB0aWZtX21hcF9zZyhzb2NrLCAm
aG9zdC0+Ym91bmNlX2J1ZiwgMSwKKwkJCQkJICAgIHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9X
UklURQorCQkJCQkgICAgPyBQQ0lfRE1BX1RPREVWSUNFCisJCQkJCSAgICA6IFBDSV9ETUFfRlJP
TURFVklDRSkpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIiVzIDogc2NhdHRlcmxpc3QgbWFwIGZh
aWxlZFxuIiwKKwkJCQkgICAgICAgc29jay0+ZGV2LmJ1c19pZCk7CisJCQkJc3Bpbl91bmxvY2tf
aXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOworCQkJCWdvdG8gZXJyX291dDsKKwkJCX0K
KwkJCWhvc3QtPnNnX2xlbiA9IHRpZm1fbWFwX3NnKHNvY2ssIHJfZGF0YS0+c2csCisJCQkJCQkg
ICByX2RhdGEtPnNnX2xlbiwKKwkJCQkJCSAgIHJfZGF0YS0+ZmxhZ3MKKwkJCQkJCSAgICYgTU1D
X0RBVEFfV1JJVEUKKwkJCQkJCSAgID8gUENJX0RNQV9UT0RFVklDRQorCQkJCQkJICAgOiBQQ0lf
RE1BX0ZST01ERVZJQ0UpOworCQkJaWYgKGhvc3QtPnNnX2xlbiA8IDEpIHsKKwkJCQlwcmludGso
S0VSTl9FUlIgIiVzIDogc2NhdHRlcmxpc3QgbWFwIGZhaWxlZFxuIiwKKwkJCQkgICAgICAgc29j
ay0+ZGV2LmJ1c19pZCk7CisJCQkJdGlmbV91bm1hcF9zZyhzb2NrLCAmaG9zdC0+Ym91bmNlX2J1
ZiwgMSwKKwkJCQkJICAgICAgcl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFCisJCQkJCSAg
ICAgID8gUENJX0RNQV9UT0RFVklDRQorCQkJCQkgICAgICA6IFBDSV9ETUFfRlJPTURFVklDRSk7
CisJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOworCQkJCWdv
dG8gZXJyX291dDsKKwkJCX0KIAotCWlmIChyX2RhdGEpIHsKLQkJdGlmbV9zZF9zZXRfZGF0YV90
aW1lb3V0KGhvc3QsIHJfZGF0YSk7CisJCQl3cml0ZWwoVElGTV9GSUZPX0lOVF9TRVRBTEwsCisJ
CQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VOQUJMRV9DTEVBUik7CisJ
CQl3cml0ZWwoaWxvZzIocl9kYXRhLT5ibGtzeikgLSAyLAorCQkJICAgICAgIHNvY2stPmFkZHIg
KyBTT0NLX0ZJRk9fUEFHRV9TSVpFKTsKKwkJCXdyaXRlbChUSUZNX0ZJRk9fRU5BQkxFLAorCQkJ
ICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0ZJRk9fQ09OVFJPTCk7CisJCQl3cml0ZWwoVElGTV9G
SUZPX0lOVE1BU0ssCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VO
QUJMRV9TRVQpOworCisJCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKQorCQkJ
CXdyaXRlbChUSUZNX01NQ1NEX1RYREUsCisJCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01N
Q1NEX0JVRkZFUl9DT05GSUcpOworCQkJZWxzZQorCQkJCXdyaXRlbChUSUZNX01NQ1NEX1JYREUs
CisJCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0JVRkZFUl9DT05GSUcpOwogCi0J
CWhvc3QtPmJ1ZmZlcl9zaXplID0gbXJxLT5jbWQtPmRhdGEtPmJsb2NrcwotCQkJCSAgICAqIG1y
cS0+Y21kLT5kYXRhLT5ibGtzejsKKwkJCXRpZm1fc2Rfc2V0X2RtYV9kYXRhKGhvc3QsIHJfZGF0
YSk7CisJCX0KIAotCQl3cml0ZWwoVElGTV9NTUNTRF9CVUZJTlQKLQkJICAgICAgIHwgcmVhZGwo
c29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCi0JCSAgICAgICBzb2NrLT5hZGRy
ICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKTsKLQkJd3JpdGVsKCgoVElGTV9NTUNTRF9GSUZPX1NJ
WkUgLSAxKSA8PCA4KQotCQkgICAgICAgfCAoVElGTV9NTUNTRF9GSUZPX1NJWkUgLSAxKSwKLQkJ
ICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0JVRkZFUl9DT05GSUcpOwotCi0JCWhvc3Qt
PndyaXR0ZW5fYmxvY2tzID0gMDsKLQkJaG9zdC0+ZmxhZ3MgJj0gfkNBUkRfQlVTWTsKLQkJaG9z
dC0+YnVmZmVyX3BvcyA9IDA7Ci0JCXdyaXRlbChyX2RhdGEtPmJsb2NrcyAtIDEsIHNvY2stPmFk
ZHIgKyBTT0NLX01NQ1NEX05VTV9CTE9DS1MpOwotCQl3cml0ZWwocl9kYXRhLT5ibGtzeiAtIDEs
IHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0JMT0NLX0xFTik7CisJCXdyaXRlbChyX2RhdGEtPmJs
b2NrcyAtIDEsCisJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9OVU1fQkxPQ0tTKTsK
KwkJd3JpdGVsKHJfZGF0YS0+Ymxrc3ogLSAxLAorCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tf
TU1DU0RfQkxPQ0tfTEVOKTsKIAl9CiAKIAlob3N0LT5yZXEgPSBtcnE7CiAJbW9kX3RpbWVyKCZo
b3N0LT50aW1lciwgamlmZmllcyArIGhvc3QtPnRpbWVvdXRfamlmZmllcyk7Ci0JaG9zdC0+c3Rh
dGUgPSBDTUQ7CiAJd3JpdGVsKFRJRk1fQ1RSTF9MRUQgfCByZWFkbChzb2NrLT5hZGRyICsgU09D
S19DT05UUk9MKSwKIAkgICAgICAgc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCk7CiAJdGlmbV9z
ZF9leGVjKGhvc3QsIG1ycS0+Y21kKTsKQEAgLTYwMyw3ICs3MjcsNyBAQCBlcnJfb3V0OgogCW1t
Y19yZXF1ZXN0X2RvbmUobW1jLCBtcnEpOwogfQogCi1zdGF0aWMgdm9pZCB0aWZtX3NkX2VuZF9j
bWRfbm9kbWEodW5zaWduZWQgbG9uZyBkYXRhKQorc3RhdGljIHZvaWQgdGlmbV9zZF9lbmRfY21k
KHVuc2lnbmVkIGxvbmcgZGF0YSkKIHsKIAlzdHJ1Y3QgdGlmbV9zZCAqaG9zdCA9IChzdHJ1Y3Qg
dGlmbV9zZCopZGF0YTsKIAlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7CkBAIC02
MTcsNjggKzc0MSw1MiBAQCBzdGF0aWMgdm9pZCB0aWZtX3NkX2VuZF9jbWRfbm9kbWEodW5zaWdu
CiAJZGVsX3RpbWVyKCZob3N0LT50aW1lcik7CiAJbXJxID0gaG9zdC0+cmVxOwogCWhvc3QtPnJl
cSA9IE5VTEw7Ci0JaG9zdC0+c3RhdGUgPSBJRExFOwogCiAJaWYgKCFtcnEpIHsKLQkJcHJpbnRr
KEtFUk5fRVJSIERSSVZFUl9OQU1FICI6IG5vIHJlcXVlc3QgdG8gY29tcGxldGU/XG4iKTsKKwkJ
cHJpbnRrKEtFUk5fRVJSICIgJXMgOiBubyByZXF1ZXN0IHRvIGNvbXBsZXRlP1xuIiwKKwkJICAg
ICAgIHNvY2stPmRldi5idXNfaWQpOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5s
b2NrLCBmbGFncyk7CiAJCXJldHVybjsKIAl9CiAKIAlyX2RhdGEgPSBtcnEtPmNtZC0+ZGF0YTsK
IAlpZiAocl9kYXRhKSB7Ci0JCXdyaXRlbCgoflRJRk1fTU1DU0RfQlVGSU5UKSAmCi0JCQlyZWFk
bChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKSwKLQkJCXNvY2stPmFkZHIgKyBT
T0NLX01NQ1NEX0lOVF9FTkFCTEUpOwotCi0JCWlmIChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFf
V1JJVEUpIHsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkID0gaG9zdC0+d3JpdHRlbl9ibG9ja3MK
LQkJCQkJICAgICAgICogcl9kYXRhLT5ibGtzejsKKwkJaWYgKGhvc3QtPm5vX2RtYSkgeworCQkJ
d3JpdGVsKCh+VElGTV9NTUNTRF9CVUZJTlQpCisJCQkgICAgICAgJiByZWFkbChzb2NrLT5hZGRy
ICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKSwKKwkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19N
TUNTRF9JTlRfRU5BQkxFKTsKIAkJfSBlbHNlIHsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkID0g
cl9kYXRhLT5ibG9ja3MgLQotCQkJCXJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX05VTV9C
TE9DS1MpIC0gMTsKLQkJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkICo9IHJfZGF0YS0+Ymxrc3o7Ci0J
CQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCArPSByX2RhdGEtPmJsa3N6IC0KLQkJCQlyZWFkbChzb2Nr
LT5hZGRyICsgU09DS19NTUNTRF9CTE9DS19MRU4pICsgMTsKKwkJCXRpZm1fdW5tYXBfc2coc29j
aywgJmhvc3QtPmJvdW5jZV9idWYsIDEsCisJCQkJICAgICAgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNf
REFUQV9XUklURSkKKwkJCQkgICAgICA/IFBDSV9ETUFfVE9ERVZJQ0UgOiBQQ0lfRE1BX0ZST01E
RVZJQ0UpOworCQkJdGlmbV91bm1hcF9zZyhzb2NrLCByX2RhdGEtPnNnLCByX2RhdGEtPnNnX2xl
biwKKwkJCQkgICAgICAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKQorCQkJCSAgICAg
ID8gUENJX0RNQV9UT0RFVklDRSA6IFBDSV9ETUFfRlJPTURFVklDRSk7CiAJCX0KLQkJaG9zdC0+
YnVmZmVyX3BvcyA9IDA7Ci0JCWhvc3QtPmJ1ZmZlcl9zaXplID0gMDsKKworCQlyX2RhdGEtPmJ5
dGVzX3hmZXJlZCA9IHJfZGF0YS0+YmxvY2tzCisJCQktIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NL
X01NQ1NEX05VTV9CTE9DS1MpIC0gMTsKKwkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKj0gcl9kYXRh
LT5ibGtzejsKKwkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKz0gcl9kYXRhLT5ibGtzegorCQkJLSBy
ZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CTE9DS19MRU4pICsgMTsKIAl9CiAKIAl3cml0
ZWwoKH5USUZNX0NUUkxfTEVEKSAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpLAog
CSAgICAgICBzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKTsKIAogCXNwaW5fdW5sb2NrX2lycXJl
c3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQogCW1tY19yZXF1ZXN0X2RvbmUobW1jLCBtcnEp
OwogfQogCi1zdGF0aWMgdm9pZCB0aWZtX3NkX3Rlcm1pbmF0ZShzdHJ1Y3QgdGlmbV9zZCAqaG9z
dCkKLXsKLQlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7Ci0JdW5zaWduZWQgbG9u
ZyBmbGFnczsKLQotCXdyaXRlbCgwLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9JTlRfRU5BQkxF
KTsKLQltbWlvd2IoKTsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywgZmxhZ3MpOwot
CWhvc3QtPmZsYWdzIHw9IEVKRUNUOwotCWlmIChob3N0LT5yZXEpIHsKLQkJd3JpdGVsKFRJRk1f
RklGT19JTlRfU0VUQUxMLAotCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5U
X0VOQUJMRV9DTEVBUik7Ci0JCXdyaXRlbCgwLCBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19J
TlRfRU5BQkxFX1NFVCk7Ci0JCXRhc2tsZXRfc2NoZWR1bGUoJmhvc3QtPmZpbmlzaF90YXNrbGV0
KTsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotfQot
CiBzdGF0aWMgdm9pZCB0aWZtX3NkX2Fib3J0KHVuc2lnbmVkIGxvbmcgZGF0YSkKIHsKIAlzdHJ1
Y3QgdGlmbV9zZCAqaG9zdCA9IChzdHJ1Y3QgdGlmbV9zZCopZGF0YTsKIAotCXByaW50ayhLRVJO
X0VSUiBEUklWRVJfTkFNRQotCSAgICAgICAiOiBjYXJkIGZhaWxlZCB0byByZXNwb25kIGZvciBh
IGxvbmcgcGVyaW9kIG9mIHRpbWUiKTsKKwlwcmludGsoS0VSTl9FUlIKKwkgICAgICAgIiVzIDog
Y2FyZCBmYWlsZWQgdG8gcmVzcG9uZCBmb3IgYSBsb25nIHBlcmlvZCBvZiB0aW1lICIKKwkgICAg
ICAgIigleCwgJXgpXG4iLAorCSAgICAgICBob3N0LT5kZXYtPmRldi5idXNfaWQsIGhvc3QtPnJl
cS0+Y21kLT5vcGNvZGUsIGhvc3QtPmNtZF9mbGFncyk7CiAKLQl0aWZtX3NkX3Rlcm1pbmF0ZSho
b3N0KTsKIAl0aWZtX2VqZWN0KGhvc3QtPmRldik7CiB9CiAKQEAgLTY5MSw4ICs3OTksMTEgQEAg
c3RhdGljIHZvaWQgdGlmbV9zZF9pb3Moc3RydWN0IG1tY19ob3N0IAogCiAJc3Bpbl9sb2NrX2ly
cXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIAotCWRldl9kYmcoJnNvY2stPmRldiwgIlNldHRp
bmcgYnVzIHdpZHRoICVkLCBwb3dlciAlZFxuIiwgaW9zLT5idXNfd2lkdGgsCi0JCWlvcy0+cG93
ZXJfbW9kZSk7CisJZGV2X2RiZygmc29jay0+ZGV2LCAiaW9zOiBjbG9jayA9ICV1LCB2ZGQgPSAl
eCwgYnVzX21vZGUgPSAleCwgIgorCQkiY2hpcF9zZWxlY3QgPSAleCwgcG93ZXJfbW9kZSA9ICV4
LCBidXNfd2lkdGggPSAleFxuIiwKKwkJaW9zLT5jbG9jaywgaW9zLT52ZGQsIGlvcy0+YnVzX21v
ZGUsIGlvcy0+Y2hpcF9zZWxlY3QsCisJCWlvcy0+cG93ZXJfbW9kZSwgaW9zLT5idXNfd2lkdGgp
OworCiAJaWYgKGlvcy0+YnVzX3dpZHRoID09IE1NQ19CVVNfV0lEVEhfNCkgewogCQl3cml0ZWwo
VElGTV9NTUNTRF80QkJVUyB8IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0NPTkZJRyks
CiAJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9DT05GSUcpOwpAQCAtNzM3LDQxICs4
NDgsMzAgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9pb3Moc3RydWN0IG1tY19ob3N0IAogCQkgICYg
cmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQ09ORklHKSksCiAJICAgICAgIHNvY2stPmFk
ZHIgKyBTT0NLX01NQ1NEX0NPTkZJRyk7CiAKLQlpZiAoaW9zLT5idXNfbW9kZSA9PSBNTUNfQlVT
TU9ERV9PUEVORFJBSU4pCi0JCWhvc3QtPmZsYWdzIHw9IE9QRU5EUkFJTjsKLQllbHNlCi0JCWhv
c3QtPmZsYWdzICY9IH5PUEVORFJBSU47CisJaG9zdC0+b3Blbl9kcmFpbiA9IChpb3MtPmJ1c19t
b2RlID09IE1NQ19CVVNNT0RFX09QRU5EUkFJTik7CiAKIAkvKiBjaGlwX3NlbGVjdCA6IG1heWJl
IGxhdGVyICovCiAJLy92ZGQKIAkvL3Bvd2VyIGlzIHNldCBiZWZvcmUgcHJvYmUgLyBhZnRlciBy
ZW1vdmUKLQkvL0kgYmVsaWV2ZSwgcG93ZXJfb2ZmIHdoZW4gYWxyZWFkeSBtYXJrZWQgZm9yIGVq
ZWN0IGlzIHN1ZmZpY2llbnQgdG8KLQkvLyBhbGxvdyByZW1vdmFsLgotCWlmICgoaG9zdC0+Zmxh
Z3MgJiBFSkVDVCkgJiYgaW9zLT5wb3dlcl9tb2RlID09IE1NQ19QT1dFUl9PRkYpIHsKLQkJaG9z
dC0+ZmxhZ3MgfD0gRUpFQ1RfRE9ORTsKLQkJd2FrZV91cF9hbGwoJmhvc3QtPm5vdGlmeSk7Ci0J
fQogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwogfQogCiBz
dGF0aWMgaW50IHRpZm1fc2Rfcm8oc3RydWN0IG1tY19ob3N0ICptbWMpCiB7Ci0JaW50IHJjOwor
CWludCByYyA9IDA7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSBtbWNfcHJpdihtbWMpOwogCXN0
cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwog
CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLQotCWhvc3QtPmZsYWdz
IHw9IChDQVJEX1JPICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfUFJFU0VOVF9TVEFURSkpOwot
CXJjID0gKGhvc3QtPmZsYWdzICYgQ0FSRF9STykgPyAxIDogMDsKLQorCWlmIChUSUZNX01NQ1NE
X0NBUkRfUk8gJiByZWFkbChzb2NrLT5hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSkKKwkJcmMg
PSAxOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIAlyZXR1
cm4gcmM7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgbW1jX2hvc3Rfb3BzIHRpZm1fc2Rfb3BzID0gewor
c3RhdGljIGNvbnN0IHN0cnVjdCBtbWNfaG9zdF9vcHMgdGlmbV9zZF9vcHMgPSB7CiAJLnJlcXVl
c3QgPSB0aWZtX3NkX3JlcXVlc3QsCiAJLnNldF9pb3MgPSB0aWZtX3NkX2lvcywKIAkuZ2V0X3Jv
ICA9IHRpZm1fc2Rfcm8KQEAgLTc5Miw3ICs4OTIsNyBAQCBzdGF0aWMgaW50IHRpZm1fc2RfaW5p
dGlhbGl6ZV9ob3N0KHN0cnVjCiAJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0NPTkZJ
Ryk7CiAKIAkvKiB3YWl0IHVwIHRvIDAuNTEgc2VjIGZvciByZXNldCAqLwotCWZvciAocmMgPSAy
OyByYyA8PSAyNTY7IHJjIDw8PSAxKSB7CisJZm9yIChyYyA9IDMyOyByYyA8PSAyNTY7IHJjIDw8
PSAxKSB7CiAJCWlmICgxICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfU1lTVEVNX1NU
QVRVUykpIHsKIAkJCXJjID0gMDsKIAkJCWJyZWFrOwpAQCAtODAxLDggKzkwMSw4IEBAIHN0YXRp
YyBpbnQgdGlmbV9zZF9pbml0aWFsaXplX2hvc3Qoc3RydWMKIAl9CiAKIAlpZiAocmMpIHsKLQkJ
cHJpbnRrKEtFUk5fRVJSIERSSVZFUl9OQU1FCi0JCSAgICAgICAiOiBjb250cm9sbGVyIGZhaWxl
ZCB0byByZXNldFxuIik7CisJCXByaW50ayhLRVJOX0VSUiAiJXMgOiBjb250cm9sbGVyIGZhaWxl
ZCB0byByZXNldFxuIiwKKwkJICAgICAgIHNvY2stPmRldi5idXNfaWQpOwogCQlyZXR1cm4gLUVO
T0RFVjsKIAl9CiAKQEAgLTgxNSw4ICs5MTUsNyBAQCBzdGF0aWMgaW50IHRpZm1fc2RfaW5pdGlh
bGl6ZV9ob3N0KHN0cnVjCiAJd3JpdGVsKDY0LCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9DT01N
QU5EX1RPKTsKIAl3cml0ZWwoVElGTV9NTUNTRF9JTkFCLCBzb2NrLT5hZGRyICsgU09DS19NTUNT
RF9DT01NQU5EKTsKIAotCS8qIElOQUIgc2hvdWxkIHRha2UgbXVjaCBsZXNzIHRoYW4gcmVzZXQg
Ki8KLQlmb3IgKHJjID0gMTsgcmMgPD0gMTY7IHJjIDw8PSAxKSB7CisJZm9yIChyYyA9IDE2OyBy
YyA8PSA2NDsgcmMgPDw9IDEpIHsKIAkJaG9zdF9zdGF0dXMgPSByZWFkbChzb2NrLT5hZGRyICsg
U09DS19NTUNTRF9TVEFUVVMpOwogCQl3cml0ZWwoaG9zdF9zdGF0dXMsIHNvY2stPmFkZHIgKyBT
T0NLX01NQ1NEX1NUQVRVUyk7CiAJCWlmICghKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9FUlJN
QVNLKQpAQCAtODI4LDEyICs5MjcsMTQgQEAgc3RhdGljIGludCB0aWZtX3NkX2luaXRpYWxpemVf
aG9zdChzdHJ1YwogCX0KIAogCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgRFJJVkVSX05B
TUUKLQkJICAgICAgICI6IGNhcmQgbm90IHJlYWR5IC0gcHJvYmUgZmFpbGVkIG9uIGluaXRpYWxp
emF0aW9uXG4iKTsKKwkJcHJpbnRrKEtFUk5fRVJSCisJCSAgICAgICAiJXMgOiBjYXJkIG5vdCBy
ZWFkeSAtIHByb2JlIGZhaWxlZCBvbiBpbml0aWFsaXphdGlvblxuIiwKKwkJICAgICAgIHNvY2st
PmRldi5idXNfaWQpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKLQl3cml0ZWwoVElGTV9NTUNT
RF9EQVRBTUFTSyB8IFRJRk1fTU1DU0RfRVJSTUFTSywKKwl3cml0ZWwoVElGTV9NTUNTRF9DRVJS
IHwgVElGTV9NTUNTRF9CUlMgfCBUSUZNX01NQ1NEX0VPQworCSAgICAgICB8IFRJRk1fTU1DU0Rf
RVJSTUFTSywKIAkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7CiAJ
bW1pb3diKCk7CiAKQEAgLTg0OCw3ICs5NDksOCBAQCBzdGF0aWMgaW50IHRpZm1fc2RfcHJvYmUo
c3RydWN0IHRpZm1fZGV2CiAKIAlpZiAoIShUSUZNX1NPQ0tfU1RBVEVfT0NDVVBJRUQKIAkgICAg
ICAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpKSkgewotCQlwcmludGso
S0VSTl9XQVJOSU5HIERSSVZFUl9OQU1FICI6IGNhcmQgZ29uZSwgdW5leHBlY3RlZGx5XG4iKTsK
KwkJcHJpbnRrKEtFUk5fV0FSTklORyAiJXMgOiBjYXJkIGdvbmUsIHVuZXhwZWN0ZWRseVxuIiwK
KwkJICAgICAgIHNvY2stPmRldi5idXNfaWQpOwogCQlyZXR1cm4gcmM7CiAJfQogCkBAIC04NTcs
NDEgKzk1OSw0NCBAQCBzdGF0aWMgaW50IHRpZm1fc2RfcHJvYmUoc3RydWN0IHRpZm1fZGV2CiAJ
CXJldHVybiAtRU5PTUVNOwogCiAJaG9zdCA9IG1tY19wcml2KG1tYyk7CisJaG9zdC0+bm9fZG1h
ID0gbm9fZG1hOwogCXRpZm1fc2V0X2RydmRhdGEoc29jaywgbW1jKTsKIAlob3N0LT5kZXYgPSBz
b2NrOwogCWhvc3QtPnRpbWVvdXRfamlmZmllcyA9IG1zZWNzX3RvX2ppZmZpZXMoMTAwMCk7CiAK
LQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZob3N0LT5ub3RpZnkpOwotCXRhc2tsZXRfaW5pdCgmaG9z
dC0+ZmluaXNoX3Rhc2tsZXQsCi0JCSAgICAgbm9fZG1hID8gdGlmbV9zZF9lbmRfY21kX25vZG1h
IDogdGlmbV9zZF9lbmRfY21kLAorCWhvc3QtPmJvdW5jZV9idWYucGFnZSA9IHZpcnRfdG9fcGFn
ZShob3N0LT5ib3VuY2VfYnVmX2RhdGEpOworCisJdGFza2xldF9pbml0KCZob3N0LT5maW5pc2hf
dGFza2xldCwgdGlmbV9zZF9lbmRfY21kLAogCQkgICAgICh1bnNpZ25lZCBsb25nKWhvc3QpOwog
CXNldHVwX3RpbWVyKCZob3N0LT50aW1lciwgdGlmbV9zZF9hYm9ydCwgKHVuc2lnbmVkIGxvbmcp
aG9zdCk7CiAKLQl0aWZtX3NkX29wcy5yZXF1ZXN0ID0gbm9fZG1hID8gdGlmbV9zZF9yZXF1ZXN0
X25vZG1hIDogdGlmbV9zZF9yZXF1ZXN0OwogCW1tYy0+b3BzID0gJnRpZm1fc2Rfb3BzOwogCW1t
Yy0+b2NyX2F2YWlsID0gTU1DX1ZERF8zMl8zMyB8IE1NQ19WRERfMzNfMzQ7CiAJbW1jLT5jYXBz
ID0gTU1DX0NBUF80X0JJVF9EQVRBIHwgTU1DX0NBUF9NVUxUSVdSSVRFOwogCW1tYy0+Zl9taW4g
PSAyMDAwMDAwMCAvIDYwOwogCW1tYy0+Zl9tYXggPSAyNDAwMDAwMDsKLQltbWMtPm1heF9od19z
ZWdzID0gMTsKLQltbWMtPm1heF9waHlzX3NlZ3MgPSAxOwotCS8vIGxpbWl0ZWQgYnkgRE1BIGNv
dW50ZXIgLSBpdCdzIHNhZmVyIHRvIHN0aWNrIHdpdGgKLQkvLyBibG9jayBjb3VudGVyIGhhcyAx
MSBiaXRzIHRob3VnaAotCW1tYy0+bWF4X2Jsa19jb3VudCA9IDI1NjsKLQkvLyAyayBtYXhpbXVt
IGh3IGJsb2NrIGxlbmd0aAotCW1tYy0+bWF4X2Jsa19zaXplID0gMjA0ODsKLQltbWMtPm1heF9y
ZXFfc2l6ZSA9IG1tYy0+bWF4X2Jsa19zaXplICogbW1jLT5tYXhfYmxrX2NvdW50OwotCW1tYy0+
bWF4X3NlZ19zaXplID0gbW1jLT5tYXhfcmVxX3NpemU7Ci0Jc29jay0+c2lnbmFsX2lycSA9IHRp
Zm1fc2Rfc2lnbmFsX2lycTsKKworLy8JbW1jLT5tYXhfYmxrX2NvdW50ID0gMjA0ODsKKy8vCW1t
Yy0+bWF4X2h3X3NlZ3MgPSBtbWMtPm1heF9ibGtfY291bnQ7CisJbW1jLT5tYXhfaHdfc2VncyA9
IDE2OworLy8JbW1jLT5tYXhfYmxrX3NpemUgPSBtaW4oMjA0OCwgUEFHRV9TSVpFKTsKKy8vCW1t
Yy0+bWF4X3NlZ19zaXplID0gbW1jLT5tYXhfYmxrX2NvdW50ICogbW1jLT5tYXhfYmxrX3NpemU7
CisJbW1jLT5tYXhfc2VnX3NpemUgPSAxMjcgKiAyMDQ4OworCisJbW1jLT5tYXhfcGh5c19zZWdz
ID0gbW1jLT5tYXhfaHdfc2VnczsKKwltbWMtPm1heF9zZWN0b3JzID0gMTI3ICogbW1jLT5tYXhf
cGh5c19zZWdzOworCisvLwltbWMtPm1heF9yZXFfc2l6ZSA9IG1tYy0+bWF4X3NlZ19zaXplOwor
CisJc29jay0+ZXZlbnQgPSB0aWZtX3NkX2V2ZW50OworCXNvY2stPmRhdGFfZXZlbnQgPSB0aWZt
X3NkX2RhdGFfZXZlbnQ7CiAJcmMgPSB0aWZtX3NkX2luaXRpYWxpemVfaG9zdChob3N0KTsKIAog
CWlmICghcmMpCiAJCXJjID0gbW1jX2FkZF9ob3N0KG1tYyk7Ci0JaWYgKHJjKQotCQlnb3RvIG91
dF9mcmVlX21tYzsKKwlpZiAoIXJjKQorCQlyZXR1cm4gMDsKIAotCXJldHVybiAwOwotb3V0X2Zy
ZWVfbW1jOgogCW1tY19mcmVlX2hvc3QobW1jKTsKIAlyZXR1cm4gcmM7CiB9CkBAIC05MDAsMTkg
KzEwMDUsMzMgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9yZW1vdmUoc3RydWN0IHRpZm1fZAogewog
CXN0cnVjdCBtbWNfaG9zdCAqbW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKIAlzdHJ1Y3Qg
dGlmbV9zZCAqaG9zdCA9IG1tY19wcml2KG1tYyk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAot
CWRlbF90aW1lcl9zeW5jKCZob3N0LT50aW1lcik7Ci0JdGlmbV9zZF90ZXJtaW5hdGUoaG9zdCk7
Ci0Jd2FpdF9ldmVudF90aW1lb3V0KGhvc3QtPm5vdGlmeSwgaG9zdC0+ZmxhZ3MgJiBFSkVDVF9E
T05FLAotCQkJICAgaG9zdC0+dGltZW91dF9qaWZmaWVzKTsKIAl0YXNrbGV0X2tpbGwoJmhvc3Qt
PmZpbmlzaF90YXNrbGV0KTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywgZmxhZ3Mp
OworCWhvc3QtPmVqZWN0ID0gMTsKKwl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0Rf
SU5UX0VOQUJMRSk7CisJbW1pb3diKCk7CisKKwlpZiAoaG9zdC0+cmVxKSB7CisJCXdyaXRlbChU
SUZNX0ZJRk9fSU5UX1NFVEFMTCwKKwkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZP
X0lOVF9FTkFCTEVfQ0xFQVIpOworCQl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJ
Rk9fSU5UX0VOQUJMRV9TRVQpOworCQlob3N0LT5yZXEtPmNtZC0+ZXJyb3IgPSBNTUNfRVJSX1RJ
TUVPVVQ7CisJCWlmIChob3N0LT5yZXEtPnN0b3ApCisJCQlob3N0LT5yZXEtPnN0b3AtPmVycm9y
ID0gTU1DX0VSUl9USU1FT1VUOworCQl0YXNrbGV0X3NjaGVkdWxlKCZob3N0LT5maW5pc2hfdGFz
a2xldCk7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsK
KwkvLyB0ZW1wb3JhcnkgaGFjaworCW1zbGVlcCgxMDAwKTsKIAltbWNfcmVtb3ZlX2hvc3QobW1j
KTsKKwlkZXZfZGJnKCZzb2NrLT5kZXYsICJhZnRlciByZW1vdmVcbiIpOwogCiAJLyogVGhlIG1l
YW5pbmcgb2YgdGhlIGJpdCBtYWpvcml0eSBpbiB0aGlzIGNvbnN0YW50IGlzIHVua25vd24uICov
CiAJd3JpdGVsKDB4ZmZmOCAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpLAogCSAg
ICAgICBzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKTsKIAotCXRpZm1fc2V0X2RydmRhdGEoc29j
aywgTlVMTCk7CiAJbW1jX2ZyZWVfaG9zdChtbWMpOwogfQogCkBAIC05MzQsMTQgKzEwNTMsMTcg
QEAgc3RhdGljIGludCB0aWZtX3NkX3Jlc3VtZShzdHJ1Y3QgdGlmbV9kZQogewogCXN0cnVjdCBt
bWNfaG9zdCAqbW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKIAlzdHJ1Y3QgdGlmbV9zZCAq
aG9zdCA9IG1tY19wcml2KG1tYyk7CisJaW50IHJjOwogCi0JaWYgKHNvY2stPm1lZGlhX2lkICE9
IEZNX1NECi0JICAgIHx8IHRpZm1fc2RfaW5pdGlhbGl6ZV9ob3N0KGhvc3QpKSB7Ci0JCXRpZm1f
ZWplY3Qoc29jayk7Ci0JCXJldHVybiAwOwotCX0gZWxzZSB7Ci0JCXJldHVybiBtbWNfcmVzdW1l
X2hvc3QobW1jKTsKLQl9CisJcmMgPSB0aWZtX3NkX2luaXRpYWxpemVfaG9zdChob3N0KTsKKwlk
ZXZfZGJnKCZzb2NrLT5kZXYsICJyZXN1bWUgaW5pdGlhbGl6ZSAlZFxuIiwgcmMpOworCisJaWYg
KHJjKQorCQlob3N0LT5lamVjdCA9IDE7CisJZWxzZQorCQlyYyA9IG1tY19yZXN1bWVfaG9zdCht
bWMpOworCisJcmV0dXJuIHJjOwogfQogCiAjZWxzZQpAQCAtOTUxLDggKzEwNzMsOCBAQCBzdGF0
aWMgaW50IHRpZm1fc2RfcmVzdW1lKHN0cnVjdCB0aWZtX2RlCiAKICNlbmRpZiAvKiBDT05GSUdf
UE0gKi8KIAotc3RhdGljIHRpZm1fbWVkaWFfaWQgdGlmbV9zZF9pZF90YmxbXSA9IHsKLQlGTV9T
RCwgMAorc3RhdGljIHN0cnVjdCB0aWZtX2RldmljZV9pZCB0aWZtX3NkX2lkX3RibFtdID0gewor
CXsgVElGTV9UWVBFX1NEIH0sIHsgfQogfTsKIAogc3RhdGljIHN0cnVjdCB0aWZtX2RyaXZlciB0
aWZtX3NkX2RyaXZlciA9IHsKSW5kZXg6IGxpbnV4LTIuNi4yMS1nZW50b28vaW5jbHVkZS9saW51
eC90aWZtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gbGludXgtMi42LjIxLWdlbnRvby5vcmlnL2luY2x1ZGUv
bGludXgvdGlmbS5oCisrKyBsaW51eC0yLjYuMjEtZ2VudG9vL2luY2x1ZGUvbGludXgvdGlmbS5o
CkBAIC0xNyw3ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGxp
bnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgva3Ro
cmVhZC5oPgorI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogCiAvKiBIb3N0IHJlZ2lzdGVy
cyAocmVsYXRpdmUgdG8gcGNpIGJhc2UgYWRkcmVzcyk6ICovCiBlbnVtIHsKQEAgLTU4LDE0ICs1
OCw4IEBAIGVudW0gewogCVNPQ0tfTVNfREFUQSAgICAgICAgICAgICAgICAgICA9IDB4MTg4LAog
CVNPQ0tfTVNfU1RBVFVTICAgICAgICAgICAgICAgICA9IDB4MThjLAogCVNPQ0tfTVNfU1lTVEVN
ICAgICAgICAgICAgICAgICA9IDB4MTkwLAotCVNPQ0tfRklGT19BQ0NFU1MgICAgICAgICAgICAg
ICA9IDB4MjAwIH07Ci0KLQotI2RlZmluZSBUSUZNX0lSUV9FTkFCTEUgICAgICAgICAgIDB4ODAw
MDAwMDAKLSNkZWZpbmUgVElGTV9JUlFfU09DS01BU0soeCkgICAgICAoeCkKLSNkZWZpbmUgVElG
TV9JUlFfQ0FSRE1BU0soeCkgICAgICAoKHgpIDw8IDgpCi0jZGVmaW5lIFRJRk1fSVJRX0ZJRk9N
QVNLKHgpICAgICAgKCh4KSA8PCAxNikKLSNkZWZpbmUgVElGTV9JUlFfU0VUQUxMICAgICAgICAg
ICAweGZmZmZmZmZmCisJU09DS19GSUZPX0FDQ0VTUyAgICAgICAgICAgICAgID0gMHgyMDAKK307
CiAKICNkZWZpbmUgVElGTV9DVFJMX0xFRCAgICAgICAgICAgICAweDAwMDAwMDQwCiAjZGVmaW5l
IFRJRk1fQ1RSTF9GQVNUX0NMSyAgICAgICAgMHgwMDAwMDEwMApAQCAtNzQsNzAgKzY4LDkzIEBA
IGVudW0gewogI2RlZmluZSBUSUZNX1NPQ0tfU1RBVEVfUE9XRVJFRCAgIDB4MDAwMDAwODAKIAog
I2RlZmluZSBUSUZNX0ZJRk9fRU5BQkxFICAgICAgICAgIDB4MDAwMDAwMDEgLyogTWVhbmluZyBv
ZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KKyNkZWZpbmUgVElGTV9GSUZPX1JFQURZ
ICAgICAgICAgICAweDAwMDAwMDAxIC8qIE1lYW5pbmcgb2YgdGhpcyBjb25zdGFudCBpcyB1bnZl
cmlmaWVkICovCiAjZGVmaW5lIFRJRk1fRklGT19JTlRfU0VUQUxMICAgICAgMHgwMDAwZmZmZgog
I2RlZmluZSBUSUZNX0ZJRk9fSU5UTUFTSyAgICAgICAgIDB4MDAwMDAwMDUgLyogTWVhbmluZyBv
ZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KIAogI2RlZmluZSBUSUZNX0RNQV9SRVNF
VCAgICAgICAgICAgIDB4MDAwMDAwMDIgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVu
dmVyaWZpZWQgKi8KICNkZWZpbmUgVElGTV9ETUFfVFggICAgICAgICAgICAgICAweDAwMDA4MDAw
IC8qIE1lYW5pbmcgb2YgdGhpcyBjb25zdGFudCBpcyB1bnZlcmlmaWVkICovCiAjZGVmaW5lIFRJ
Rk1fRE1BX0VOICAgICAgICAgICAgICAgMHgwMDAwMDAwMSAvKiBNZWFuaW5nIG9mIHRoaXMgY29u
c3RhbnQgaXMgdW52ZXJpZmllZCAqLworI2RlZmluZSBUSUZNX0RNQV9UU0laRSAgICAgICAgICAg
IDB4MDAwMDAwN2YgLyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8K
IAotdHlwZWRlZiBlbnVtIHtGTV9OVUxMID0gMCwgRk1fWEQgPSAweDAxLCBGTV9NUyA9IDB4MDIs
IEZNX1NEID0gMHgwM30gdGlmbV9tZWRpYV9pZDsKKyNkZWZpbmUgVElGTV9UWVBFX1hEIDEKKyNk
ZWZpbmUgVElGTV9UWVBFX01TIDIKKyNkZWZpbmUgVElGTV9UWVBFX1NEIDMKKworc3RydWN0IHRp
Zm1fZGV2aWNlX2lkIHsKKwl1bnNpZ25lZCBjaGFyIHR5cGU7Cit9OwogCiBzdHJ1Y3QgdGlmbV9k
cml2ZXI7CiBzdHJ1Y3QgdGlmbV9kZXYgewotCWNoYXIgX19pb21lbSAgICAgICAgICAgICphZGRy
OwotCXNwaW5sb2NrX3QgICAgICAgICAgICAgIGxvY2s7Ci0JdGlmbV9tZWRpYV9pZCAgICAgICAg
ICAgbWVkaWFfaWQ7Ci0JdW5zaWduZWQgaW50ICAgICAgICAgICAgc29ja2V0X2lkOworCWNoYXIg
X19pb21lbSAgKmFkZHI7CisJc3BpbmxvY2tfdCAgICBsb2NrOworCXVuc2lnbmVkIGNoYXIgdHlw
ZTsKKwl1bnNpZ25lZCBpbnQgIHNvY2tldF9pZDsKIAotCXZvaWQgICAgICAgICAgICAgICAgICAg
ICgqc2lnbmFsX2lycSkoc3RydWN0IHRpZm1fZGV2ICpzb2NrLAotCQkJCQkgICAgICB1bnNpZ25l
ZCBpbnQgc29ja19pcnFfc3RhdHVzKTsKKwl2b2lkICAgICAgICAgICgqZXZlbnQpKHN0cnVjdCB0
aWZtX2RldiAqc29jayk7CisJdm9pZCAgICAgICAgICAoKmRhdGFfZXZlbnQpKHN0cnVjdCB0aWZt
X2RldiAqc29jayk7CiAKLQlzdHJ1Y3QgdGlmbV9kcml2ZXIgICAgICAqZHJ2OwotCXN0cnVjdCBk
ZXZpY2UgICAgICAgICAgIGRldjsKKwlzdHJ1Y3QgZGV2aWNlIGRldjsKIH07CiAKIHN0cnVjdCB0
aWZtX2RyaXZlciB7Ci0JdGlmbV9tZWRpYV9pZCAgICAgICAgKmlkX3RhYmxlOwotCWludCAgICAg
ICAgICAgICAgICAgICgqcHJvYmUpKHN0cnVjdCB0aWZtX2RldiAqZGV2KTsKLQl2b2lkICAgICAg
ICAgICAgICAgICAoKnJlbW92ZSkoc3RydWN0IHRpZm1fZGV2ICpkZXYpOwotCWludCAgICAgICAg
ICAgICAgICAgICgqc3VzcGVuZCkoc3RydWN0IHRpZm1fZGV2ICpkZXYsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcG1fbWVzc2FnZV90IHN0YXRlKTsKLQlpbnQgICAg
ICAgICAgICAgICAgICAoKnJlc3VtZSkoc3RydWN0IHRpZm1fZGV2ICpkZXYpOworCXN0cnVjdCB0
aWZtX2RldmljZV9pZCAqaWRfdGFibGU7CisJaW50ICAgICAgICAgICAgICAgICAgICgqcHJvYmUp
KHN0cnVjdCB0aWZtX2RldiAqZGV2KTsKKwl2b2lkICAgICAgICAgICAgICAgICAgKCpyZW1vdmUp
KHN0cnVjdCB0aWZtX2RldiAqZGV2KTsKKwlpbnQgICAgICAgICAgICAgICAgICAgKCpzdXNwZW5k
KShzdHJ1Y3QgdGlmbV9kZXYgKmRldiwKKwkJCQkJIHBtX21lc3NhZ2VfdCBzdGF0ZSk7CisJaW50
ICAgICAgICAgICAgICAgICAgICgqcmVzdW1lKShzdHJ1Y3QgdGlmbV9kZXYgKmRldik7CiAKIAlz
dHJ1Y3QgZGV2aWNlX2RyaXZlciBkcml2ZXI7CiB9OwogCisvKiBTb2NrZXQgY2FwczogKi8KK2Vu
dW0geworCVRJRk1fU09DS19YRF9DQVAgICA9IDB4MDAwMSwgIC8vIHNvY2tldCBzdXBwb3J0cyB4
RCBjYXJkcworCVRJRk1fU09DS19NU19QSUYgICA9IDB4MDAwMiAgIC8vIHNvY2tldCBoYXMgTWVt
b3J5c3RpY2sgcGFyYWxsZWwgaS9mCit9OworCiBzdHJ1Y3QgdGlmbV9hZGFwdGVyIHsKIAljaGFy
IF9faW9tZW0gICAgICAgICAgICAqYWRkcjsKIAlzcGlubG9ja190ICAgICAgICAgICAgICBsb2Nr
OwogCXVuc2lnbmVkIGludCAgICAgICAgICAgIGlycV9zdGF0dXM7CiAJdW5zaWduZWQgaW50ICAg
ICAgICAgICAgc29ja2V0X2NoYW5nZV9zZXQ7Ci0Jd2FpdF9xdWV1ZV9oZWFkX3QgICAgICAgY2hh
bmdlX3NldF9ub3RpZnk7CiAJdW5zaWduZWQgaW50ICAgICAgICAgICAgaWQ7CiAJdW5zaWduZWQg
aW50ICAgICAgICAgICAgbnVtX3NvY2tldHM7Ci0Jc3RydWN0IHRpZm1fZGV2ICAgICAgICAgKipz
b2NrZXRzOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAgICAgICptZWRpYV9zd2l0Y2hlcjsKKwlzdHJ1
Y3QgY29tcGxldGlvbiAgICAgICAqZmluaXNoX21lOworCisJc3RydWN0IHdvcmtfc3RydWN0ICAg
ICAgbWVkaWFfc3dpdGNoZXI7CiAJc3RydWN0IGNsYXNzX2RldmljZSAgICAgY2RldjsKLQlzdHJ1
Y3QgZGV2aWNlICAgICAgICAgICAqZGV2OwogCi0Jdm9pZCAgICAgICAgICAgICAgICAgICAgKCpl
amVjdCkoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sIHN0cnVjdCB0aWZtX2RldiAqc29jayk7CisJ
dm9pZCAgICAgICAgICAgICAgICAgICAgKCplamVjdCkoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0s
CisJCQkJCSBzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOworCisJc3RydWN0IHNvY2tldF90IHsKKwkJ
c3RydWN0IHRpZm1fZGV2ICpkZXY7CisJCXVuc2lnbmVkIGludCAgICBjYXBzOworCX0gc29ja2V0
c1swXTsKIH07CiAKLXN0cnVjdCB0aWZtX2FkYXB0ZXIgKnRpZm1fYWxsb2NfYWRhcHRlcih2b2lk
KTsKLXZvaWQgdGlmbV9mcmVlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpOwotdm9pZCB0aWZt
X2ZyZWVfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSk7Ci1pbnQgdGlmbV9hZGRfYWRh
cHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwgaW50ICgqbWVkaWF0aHJlYWRmbikodm9pZCAq
ZGF0YSkpOworc3RydWN0IHRpZm1fYWRhcHRlciAqdGlmbV9hbGxvY19hZGFwdGVyKHVuc2lnbmVk
IGludCBudW1fc29ja2V0cywKKwkJCQkJc3RydWN0IGRldmljZSAqZGV2KTsKK2ludCB0aWZtX2Fk
ZF9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKTsKIHZvaWQgdGlmbV9yZW1vdmVfYWRh
cHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSk7Ci1zdHJ1Y3QgdGlmbV9kZXYgKnRpZm1fYWxs
b2NfZGV2aWNlKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKTsKK3ZvaWQgdGlmbV9mcmVlX2FkYXB0
ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pOworCit2b2lkIHRpZm1fZnJlZV9kZXZpY2Uoc3Ry
dWN0IGRldmljZSAqZGV2KTsKK3N0cnVjdCB0aWZtX2RldiAqdGlmbV9hbGxvY19kZXZpY2Uoc3Ry
dWN0IHRpZm1fYWRhcHRlciAqZm0sIHVuc2lnbmVkIGludCBpZCwKKwkJCQkgICB1bnNpZ25lZCBj
aGFyIHR5cGUpOworCiBpbnQgdGlmbV9yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHRpZm1fZHJpdmVy
ICpkcnYpOwogdm9pZCB0aWZtX3VucmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB0aWZtX2RyaXZlciAq
ZHJ2KTsKIHZvaWQgdGlmbV9lamVjdChzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOwordW5zaWduZWQg
aW50IHRpZm1fZ2V0X3NvY2tfY2FwcyhzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOwogaW50IHRpZm1f
bWFwX3NnKHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgaW50
IG5lbnRzLAogCQlpbnQgZGlyZWN0aW9uKTsKIHZvaWQgdGlmbV91bm1hcF9zZyhzdHJ1Y3QgdGlm
bV9kZXYgKnNvY2ssIHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIGludCBuZW50cywKIAkJICAgaW50
IGRpcmVjdGlvbik7Ci0KK3ZvaWQgdGlmbV9xdWV1ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAq
d29yayk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCAqdGlmbV9nZXRfZHJ2ZGF0YShzdHJ1Y3QgdGlm
bV9kZXYgKmRldikKIHsKQEAgLTE0OSw4ICsxNjYsNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdGlm
bV9zZXRfZHJ2ZGF0YShzdHJ1CiAJZGV2X3NldF9kcnZkYXRhKCZkZXYtPmRldiwgZGF0YSk7CiB9
CiAKLXN0cnVjdCB0aWZtX2RldmljZV9pZCB7Ci0JdGlmbV9tZWRpYV9pZCBtZWRpYV9pZDsKLX07
Ci0KICNlbmRpZgo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>117931</attachid>
            <date>2007-05-02 09:20 0000</date>
            <desc>Kernel .config to go with report on latest compliation attempt.  Please see Comment #29: http://bugs.gentoo.org/show_bug.cgi?id=171123#c29</desc>
            <filename>.config</filename>
            <type>text/plain</type>
            <data encoding="base64">IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMgTGlu
dXgga2VybmVsIHZlcnNpb246IDIuNi4yMS1nZW50b28KIyBNb24gQXByIDMwIDE2OjA3OjA1IDIw
MDcKIwpDT05GSUdfWDg2XzY0PXkKQ09ORklHXzY0QklUPXkKQ09ORklHX1g4Nj15CkNPTkZJR19H
RU5FUklDX1RJTUU9eQpDT05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMPXkKQ09ORklHX1pPTkVf
RE1BMzI9eQpDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9S
VD15CkNPTkZJR19TRU1BUEhPUkVfU0xFRVBFUlM9eQpDT05GSUdfTU1VPXkKQ09ORklHX1pPTkVf
RE1BPXkKQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQpDT05GSUdfR0VORVJJQ19IV0VJ
R0hUPXkKQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKQ09ORklHX1g4Nl9DTVBYQ0hH
PXkKQ09ORklHX0VBUkxZX1BSSU5USz15CkNPTkZJR19HRU5FUklDX0lTQV9ETUE9eQpDT05GSUdf
R0VORVJJQ19JT01BUD15CkNPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15CkNPTkZJR19BUkNI
X1BPUFVMQVRFU19OT0RFX01BUD15CkNPTkZJR19ETUk9eQpDT05GSUdfQVVESVRfQVJDSD15CkNP
TkZJR19HRU5FUklDX0JVRz15CiMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0
CiMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CkNPTkZJR19ERUZDT05GSUdf
TElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCgojCiMgQ29kZSBtYXR1
cml0eSBsZXZlbCBvcHRpb25zCiMKQ09ORklHX0VYUEVSSU1FTlRBTD15CkNPTkZJR19MT0NLX0tF
Uk5FTD15CkNPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKCiMKIyBHZW5lcmFsIHNldHVwCiMK
Q09ORklHX0xPQ0FMVkVSU0lPTj0iIgpDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQpDT05GSUdf
U1dBUD15CkNPTkZJR19TWVNWSVBDPXkKIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKQ09ORklH
X1NZU1ZJUENfU1lTQ1RMPXkKQ09ORklHX1BPU0lYX01RVUVVRT15CiMgQ09ORklHX0JTRF9QUk9D
RVNTX0FDQ1QgaXMgbm90IHNldAojIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAojIENPTkZJ
R19VVFNfTlMgaXMgbm90IHNldAojIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CkNPTkZJR19JS0NP
TkZJRz15CkNPTkZJR19JS0NPTkZJR19QUk9DPXkKIyBDT05GSUdfQ1BVU0VUUyBpcyBub3Qgc2V0
CkNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldApDT05G
SUdfQkxLX0RFVl9JTklUUkQ9eQpDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgpDT05GSUdfQ0Nf
T1BUSU1JWkVfRk9SX1NJWkU9eQpDT05GSUdfU1lTQ1RMPXkKIyBDT05GSUdfRU1CRURERUQgaXMg
bm90IHNldApDT05GSUdfVUlEMTY9eQpDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQpDT05GSUdfS0FM
TFNZTVM9eQpDT05GSUdfS0FMTFNZTVNfQUxMPXkKIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFT
UyBpcyBub3Qgc2V0CkNPTkZJR19IT1RQTFVHPXkKQ09ORklHX1BSSU5USz15CkNPTkZJR19CVUc9
eQpDT05GSUdfRUxGX0NPUkU9eQpDT05GSUdfQkFTRV9GVUxMPXkKQ09ORklHX0ZVVEVYPXkKQ09O
RklHX0VQT0xMPXkKQ09ORklHX1NITUVNPXkKQ09ORklHX1NMQUI9eQpDT05GSUdfVk1fRVZFTlRf
Q09VTlRFUlM9eQpDT05GSUdfUlRfTVVURVhFUz15CiMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90
IHNldApDT05GSUdfQkFTRV9TTUFMTD0wCiMgQ09ORklHX1NMT0IgaXMgbm90IHNldAoKIwojIExv
YWRhYmxlIG1vZHVsZSBzdXBwb3J0CiMKQ09ORklHX01PRFVMRVM9eQpDT05GSUdfTU9EVUxFX1VO
TE9BRD15CkNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKIyBDT05GSUdfTU9EVkVSU0lPTlMg
aXMgbm90IHNldAojIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAojIENP
TkZJR19LTU9EIGlzIG5vdCBzZXQKQ09ORklHX1NUT1BfTUFDSElORT15CgojCiMgQmxvY2sgbGF5
ZXIKIwpDT05GSUdfQkxPQ0s9eQojIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQK
CiMKIyBJTyBTY2hlZHVsZXJzCiMKQ09ORklHX0lPU0NIRURfTk9PUD15CiMgQ09ORklHX0lPU0NI
RURfQVMgaXMgbm90IHNldApDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CkNPTkZJR19JT1NDSEVE
X0NGUT15CiMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAojIENPTkZJR19ERUZBVUxUX0RF
QURMSU5FIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFVTFRfQ0ZRPXkKIyBDT05GSUdfREVGQVVMVF9O
T09QIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgoKIwojIFByb2Nlc3Nv
ciB0eXBlIGFuZCBmZWF0dXJlcwojCkNPTkZJR19YODZfUEM9eQojIENPTkZJR19YODZfVlNNUCBp
cyBub3Qgc2V0CiMgQ09ORklHX01LOCBpcyBub3Qgc2V0CiMgQ09ORklHX01QU0MgaXMgbm90IHNl
dApDT05GSUdfTUNPUkUyPXkKIyBDT05GSUdfR0VORVJJQ19DUFUgaXMgbm90IHNldApDT05GSUdf
WDg2X0wxX0NBQ0hFX0JZVEVTPTY0CkNPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9NgpDT05GSUdf
WDg2X0lOVEVSTk9ERV9DQUNIRV9CWVRFUz02NApDT05GSUdfWDg2X1RTQz15CkNPTkZJR19YODZf
R09PRF9BUElDPXkKIyBDT05GSUdfTUlDUk9DT0RFIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9NU1I9
eQpDT05GSUdfWDg2X0NQVUlEPXkKQ09ORklHX1g4Nl9IVD15CkNPTkZJR19YODZfSU9fQVBJQz15
CkNPTkZJR19YODZfTE9DQUxfQVBJQz15CkNPTkZJR19NVFJSPXkKQ09ORklHX1NNUD15CkNPTkZJ
R19TQ0hFRF9TTVQ9eQpDT05GSUdfU0NIRURfTUM9eQojIENPTkZJR19QUkVFTVBUX05PTkUgaXMg
bm90IHNldApDT05GSUdfUFJFRU1QVF9WT0xVTlRBUlk9eQojIENPTkZJR19QUkVFTVBUIGlzIG5v
dCBzZXQKQ09ORklHX1BSRUVNUFRfQktMPXkKQ09ORklHX05VTUE9eQpDT05GSUdfSzhfTlVNQT15
CkNPTkZJR19OT0RFU19TSElGVD02CkNPTkZJR19YODZfNjRfQUNQSV9OVU1BPXkKQ09ORklHX05V
TUFfRU1VPXkKQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRT15CkNPTkZJR19BUkNIX0RJ
U0NPTlRJR01FTV9ERUZBVUxUPXkKQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0VOQUJMRT15CkNPTkZJ
R19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIyBDT05GSUdfRkxBVE1FTV9NQU5VQUwgaXMgbm90IHNl
dApDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTD15CiMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwg
aXMgbm90IHNldApDT05GSUdfRElTQ09OVElHTUVNPXkKQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQ
PXkKQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVM9eQojIENPTkZJR19TUEFSU0VNRU1fU1RBVElD
IGlzIG5vdCBzZXQKQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKQ09ORklHX01JR1JBVElPTj15
CkNPTkZJR19SRVNPVVJDRVNfNjRCSVQ9eQpDT05GSUdfWk9ORV9ETUFfRkxBRz0xCkNPTkZJR19I
QVZFX0FSQ0hfRUFSTFlfUEZOX1RPX05JRD15CkNPTkZJR19PVVRfT0ZfTElORV9QRk5fVE9fUEFH
RT15CkNPTkZJR19OUl9DUFVTPTMyCkNPTkZJR19IT1RQTFVHX0NQVT15CkNPTkZJR19BUkNIX0VO
QUJMRV9NRU1PUllfSE9UUExVRz15CkNPTkZJR19IUEVUX1RJTUVSPXkKQ09ORklHX0hQRVRfRU1V
TEFURV9SVEM9eQpDT05GSUdfSU9NTVU9eQojIENPTkZJR19DQUxHQVJZX0lPTU1VIGlzIG5vdCBz
ZXQKQ09ORklHX1NXSU9UTEI9eQpDT05GSUdfWDg2X01DRT15CkNPTkZJR19YODZfTUNFX0lOVEVM
PXkKQ09ORklHX1g4Nl9NQ0VfQU1EPXkKIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAojIENPTkZJ
R19DUkFTSF9EVU1QIGlzIG5vdCBzZXQKQ09ORklHX1BIWVNJQ0FMX1NUQVJUPTB4MjAwMDAwCkNP
TkZJR19TRUNDT01QPXkKIyBDT05GSUdfQ0NfU1RBQ0tQUk9URUNUT1IgaXMgbm90IHNldAojIENP
TkZJR19IWl8xMDAgaXMgbm90IHNldApDT05GSUdfSFpfMjUwPXkKIyBDT05GSUdfSFpfMzAwIGlz
IG5vdCBzZXQKIyBDT05GSUdfSFpfMTAwMCBpcyBub3Qgc2V0CkNPTkZJR19IWj0yNTAKIyBDT05G
SUdfUkVPUkRFUiBpcyBub3Qgc2V0CkNPTkZJR19LOF9OQj15CkNPTkZJR19HRU5FUklDX0hBUkRJ
UlFTPXkKQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKQ09ORklHX0lTQV9ETUFfQVBJPXkKQ09O
RklHX0dFTkVSSUNfUEVORElOR19JUlE9eQoKIwojIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwoj
CkNPTkZJR19QTT15CiMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiMgQ09ORklHX1BNX0RF
QlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0CkNP
TkZJR19TT0ZUV0FSRV9TVVNQRU5EPXkKQ09ORklHX1BNX1NURF9QQVJUSVRJT049IiIKQ09ORklH
X1NVU1BFTkRfU01QPXkKCiMKIyBBQ1BJIChBZHZhbmNlZCBDb25maWd1cmF0aW9uIGFuZCBQb3dl
ciBJbnRlcmZhY2UpIFN1cHBvcnQKIwpDT05GSUdfQUNQST15CkNPTkZJR19BQ1BJX1NMRUVQPXkK
Q09ORklHX0FDUElfU0xFRVBfUFJPQ19GUz15CkNPTkZJR19BQ1BJX1NMRUVQX1BST0NfU0xFRVA9
eQpDT05GSUdfQUNQSV9QUk9DRlM9eQpDT05GSUdfQUNQSV9BQz15CkNPTkZJR19BQ1BJX0JBVFRF
Ulk9eQpDT05GSUdfQUNQSV9CVVRUT049eQpDT05GSUdfQUNQSV9WSURFTz15CkNPTkZJR19BQ1BJ
X0ZBTj15CiMgQ09ORklHX0FDUElfRE9DSyBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX1BST0NFU1NP
Uj15CkNPTkZJR19BQ1BJX0hPVFBMVUdfQ1BVPXkKQ09ORklHX0FDUElfVEhFUk1BTD15CkNPTkZJ
R19BQ1BJX05VTUE9eQojIENPTkZJR19BQ1BJX0FTVVMgaXMgbm90IHNldApDT05GSUdfQUNQSV9J
Qk09eQojIENPTkZJR19BQ1BJX0lCTV9ET0NLIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfSUJNX0JB
WT15CiMgQ09ORklHX0FDUElfVE9TSElCQSBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX0JMQUNLTElT
VF9ZRUFSPTAKIyBDT05GSUdfQUNQSV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX0VDPXkK
Q09ORklHX0FDUElfUE9XRVI9eQpDT05GSUdfQUNQSV9TWVNURU09eQpDT05GSUdfWDg2X1BNX1RJ
TUVSPXkKQ09ORklHX0FDUElfQ09OVEFJTkVSPXkKIyBDT05GSUdfQUNQSV9TQlMgaXMgbm90IHNl
dAoKIwojIENQVSBGcmVxdWVuY3kgc2NhbGluZwojCkNPTkZJR19DUFVfRlJFUT15CkNPTkZJR19D
UFVfRlJFUV9UQUJMRT15CkNPTkZJR19DUFVfRlJFUV9ERUJVRz15CkNPTkZJR19DUFVfRlJFUV9T
VEFUPXkKIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVF9ERVRBSUxTIGlzIG5vdCBzZXQKQ09ORklHX0NQ
VV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFPXkKIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVM
VF9HT1ZfVVNFUlNQQUNFIGlzIG5vdCBzZXQKQ09ORklHX0NQVV9GUkVRX0dPVl9QRVJGT1JNQU5D
RT15CiMgQ09ORklHX0NQVV9GUkVRX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldApDT05GSUdfQ1BV
X0ZSRVFfR09WX1VTRVJTUEFDRT15CkNPTkZJR19DUFVfRlJFUV9HT1ZfT05ERU1BTkQ9eQojIENP
TkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKCiMKIyBDUFVGcmVxIHBy
b2Nlc3NvciBkcml2ZXJzCiMKQ09ORklHX1g4Nl9QT1dFUk5PV19LOD15CkNPTkZJR19YODZfUE9X
RVJOT1dfSzhfQUNQST15CiMgQ09ORklHX1g4Nl9TUEVFRFNURVBfQ0VOVFJJTk8gaXMgbm90IHNl
dApDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT15CgojCiMgc2hhcmVkIG9wdGlvbnMKIwpDT05GSUdf
WDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEY9eQojIENPTkZJR19YODZfU1BFRURTVEVQX0xJQiBp
cyBub3Qgc2V0CgojCiMgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQojCkNPTkZJR19QQ0k9eQpDT05G
SUdfUENJX0RJUkVDVD15CkNPTkZJR19QQ0lfTU1DT05GSUc9eQpDT05GSUdfUENJRVBPUlRCVVM9
eQpDT05GSUdfUENJRUFFUj15CkNPTkZJR19QQ0lfTVNJPXkKIyBDT05GSUdfUENJX0RFQlVHIGlz
IG5vdCBzZXQKIyBDT05GSUdfSFRfSVJRIGlzIG5vdCBzZXQKCiMKIyBQQ0NBUkQgKFBDTUNJQS9D
YXJkQnVzKSBzdXBwb3J0CiMKQ09ORklHX1BDQ0FSRD1tCiMgQ09ORklHX1BDTUNJQV9ERUJVRyBp
cyBub3Qgc2V0CkNPTkZJR19QQ01DSUE9bQpDT05GSUdfUENNQ0lBX0xPQURfQ0lTPXkKQ09ORklH
X1BDTUNJQV9JT0NUTD15CkNPTkZJR19DQVJEQlVTPXkKCiMKIyBQQy1jYXJkIGJyaWRnZXMKIwoj
IENPTkZJR19ZRU5UQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BENjcyOSBpcyBub3Qgc2V0CiMgQ09O
RklHX0k4MjA5MiBpcyBub3Qgc2V0CgojCiMgUENJIEhvdHBsdWcgU3VwcG9ydAojCiMgQ09ORklH
X0hPVFBMVUdfUENJIGlzIG5vdCBzZXQKCiMKIyBFeGVjdXRhYmxlIGZpbGUgZm9ybWF0cyAvIEVt
dWxhdGlvbnMKIwpDT05GSUdfQklORk1UX0VMRj15CkNPTkZJR19CSU5GTVRfTUlTQz15CkNPTkZJ
R19JQTMyX0VNVUxBVElPTj15CkNPTkZJR19JQTMyX0FPVVQ9eQpDT05GSUdfQ09NUEFUPXkKQ09O
RklHX1NZU1ZJUENfQ09NUEFUPXkKCiMKIyBOZXR3b3JraW5nCiMKQ09ORklHX05FVD15CgojCiMg
TmV0d29ya2luZyBvcHRpb25zCiMKIyBDT05GSUdfTkVUREVCVUcgaXMgbm90IHNldApDT05GSUdf
UEFDS0VUPXkKIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldApDT05GSUdfVU5JWD15CiMg
Q09ORklHX05FVF9LRVkgaXMgbm90IHNldApDT05GSUdfSU5FVD15CkNPTkZJR19JUF9NVUxUSUNB
U1Q9eQojIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldApDT05GSUdfSVBfRklC
X0hBU0g9eQpDT05GSUdfSVBfUE5QPXkKQ09ORklHX0lQX1BOUF9ESENQPXkKIyBDT05GSUdfSVBf
UE5QX0JPT1RQIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAojIENP
TkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CiMg
Q09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiMgQ09ORklHX0FSUEQgaXMgbm90IHNldAojIENP
TkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAoj
IENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CkNPTkZJR19JTkVUX1RVTk5F
TD15CiMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CiMgQ09ORklH
X0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfWEZSTV9NT0RF
X0JFRVQgaXMgbm90IHNldApDT05GSUdfSU5FVF9ESUFHPXkKQ09ORklHX0lORVRfVENQX0RJQUc9
eQojIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19D
VUJJQz15CkNPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKIyBDT05GSUdfVENQX01ENVNJ
RyBpcyBub3Qgc2V0CkNPTkZJR19JUFY2PXkKIyBDT05GSUdfSVBWNl9QUklWQUNZIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSVBWNl9ST1VURVJfUFJFRiBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2X0FI
IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVDZfRVNQIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVDZf
SVBDT01QIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBWNl9NSVA2IGlzIG5vdCBzZXQKIyBDT05GSUdf
SU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAojIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90
IHNldAojIENPTkZJR19JTkVUNl9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKIyBDT05G
SUdfSU5FVDZfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2X1hGUk1f
TU9ERV9CRUVUIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1JPVVRFT1BUSU1J
WkFUSU9OIGlzIG5vdCBzZXQKQ09ORklHX0lQVjZfU0lUPXkKIyBDT05GSUdfSVBWNl9UVU5ORUwg
aXMgbm90IHNldAojIENPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0CiMgQ09O
RklHX05FVExBQkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBz
ZXQKIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKCiMKIyBEQ0NQIENvbmZpZ3VyYXRpb24g
KEVYUEVSSU1FTlRBTCkKIwojIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKCiMKIyBTQ1RQIENv
bmZpZ3VyYXRpb24gKEVYUEVSSU1FTlRBTCkKIwojIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQK
CiMKIyBUSVBDIENvbmZpZ3VyYXRpb24gKEVYUEVSSU1FTlRBTCkKIwojIENPTkZJR19USVBDIGlz
IG5vdCBzZXQKIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKIyBDT05GSUdfQlJJREdFIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQ05FVCBpcyBub3Qg
c2V0CiMgQ09ORklHX0xMQzIgaXMgbm90IHNldAojIENPTkZJR19JUFggaXMgbm90IHNldAojIENP
TkZJR19BVEFMSyBpcyBub3Qgc2V0CiMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CiMgQ09ORklHX0xB
UEIgaXMgbm90IHNldAojIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAojIENPTkZJR19XQU5fUk9V
VEVSIGlzIG5vdCBzZXQKCiMKIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKIwojIENPTkZJR19O
RVRfU0NIRUQgaXMgbm90IHNldAoKIwojIE5ldHdvcmsgdGVzdGluZwojCiMgQ09ORklHX05FVF9Q
S1RHRU4gaXMgbm90IHNldAojIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAojIENPTkZJ
R19IQU1SQURJTyBpcyBub3Qgc2V0CkNPTkZJR19JUkRBPXkKCiMKIyBJckRBIHByb3RvY29scwoj
CiMgQ09ORklHX0lSTEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfSVJDT01NIGlzIG5vdCBzZXQKIyBD
T05GSUdfSVJEQV9VTFRSQSBpcyBub3Qgc2V0CgojCiMgSXJEQSBvcHRpb25zCiMKIyBDT05GSUdf
SVJEQV9DQUNIRV9MQVNUX0xTQVAgaXMgbm90IHNldAojIENPTkZJR19JUkRBX0ZBU1RfUlIgaXMg
bm90IHNldAojIENPTkZJR19JUkRBX0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBJbmZyYXJlZC1wb3J0
IGRldmljZSBkcml2ZXJzCiMKCiMKIyBTSVIgZGV2aWNlIGRyaXZlcnMKIwojIENPTkZJR19JUlRU
WV9TSVIgaXMgbm90IHNldAoKIwojIERvbmdsZSBzdXBwb3J0CiMKCiMKIyBPbGQgU0lSIGRldmlj
ZSBkcml2ZXJzCiMKCiMKIyBPbGQgU2VyaWFsIGRvbmdsZSBzdXBwb3J0CiMKCiMKIyBGSVIgZGV2
aWNlIGRyaXZlcnMKIwojIENPTkZJR19VU0JfSVJEQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NJR01B
VEVMX0ZJUiBpcyBub3Qgc2V0CiMgQ09ORklHX05TQ19GSVIgaXMgbm90IHNldAojIENPTkZJR19X
SU5CT05EX0ZJUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NNQ19JUkNDX0ZJUiBpcyBub3Qgc2V0CiMg
Q09ORklHX0FMSV9GSVIgaXMgbm90IHNldAojIENPTkZJR19WTFNJX0ZJUiBpcyBub3Qgc2V0CiMg
Q09ORklHX1ZJQV9GSVIgaXMgbm90IHNldAojIENPTkZJR19NQ1NfRklSIGlzIG5vdCBzZXQKQ09O
RklHX0JUPXkKIyBDT05GSUdfQlRfTDJDQVAgaXMgbm90IHNldAojIENPTkZJR19CVF9TQ08gaXMg
bm90IHNldAoKIwojIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwojCiMgQ09ORklHX0JUX0hDSVVT
QiBpcyBub3Qgc2V0CiMgQ09ORklHX0JUX0hDSVVBUlQgaXMgbm90IHNldAojIENPTkZJR19CVF9I
Q0lCQ00yMDNYIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRfSENJQlBBMTBYIGlzIG5vdCBzZXQKIyBD
T05GSUdfQlRfSENJQkZVU0IgaXMgbm90IHNldAojIENPTkZJR19CVF9IQ0lEVEwxIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQlRfSENJQlQzQyBpcyBub3Qgc2V0CiMgQ09ORklHX0JUX0hDSUJMVUVDQVJE
IGlzIG5vdCBzZXQKIyBDT05GSUdfQlRfSENJQlRVQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRf
SENJVkhDSSBpcyBub3Qgc2V0CkNPTkZJR19JRUVFODAyMTE9eQojIENPTkZJR19JRUVFODAyMTFf
REVCVUcgaXMgbm90IHNldApDT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD15CkNPTkZJR19JRUVF
ODAyMTFfQ1JZUFRfQ0NNUD15CkNPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUD15CiMgQ09ORklH
X0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKQ09ORklHX1dJUkVMRVNTX0VYVD15CgojCiMg
RGV2aWNlIERyaXZlcnMKIwoKIwojIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKIwpDT05GSUdfU1RB
TkRBTE9ORT15CkNPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKQ09ORklHX0ZXX0xPQURF
Uj15CiMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX0RFVlJF
UyBpcyBub3Qgc2V0CiMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKCiMKIyBDb25u
ZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCiMKIyBDT05G
SUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKCiMKIyBNZW1vcnkgVGVjaG5vbG9neSBEZXZpY2VzIChN
VEQpCiMKIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKCiMKIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQK
IwojIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKCiMKIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQK
IwpDT05GSUdfUE5QPXkKIyBDT05GSUdfUE5QX0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBQcm90b2Nv
bHMKIwpDT05GSUdfUE5QQUNQST15CgojCiMgQmxvY2sgZGV2aWNlcwojCiMgQ09ORklHX0JMS19E
RVZfRkQgaXMgbm90IHNldAojIENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKIyBDT05GSUdf
QkxLX0NQUV9DSVNTX0RBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90
IHNldAojIENPTkZJR19CTEtfREVWX1VNRU0gaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0NP
V19DT01NT04gaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9MT09QPXkKIyBDT05GSUdfQkxLX0RF
Vl9DUllQVE9MT09QIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAoj
IENPTkZJR19CTEtfREVWX1NYOCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90
IHNldApDT05GSUdfQkxLX0RFVl9SQU09eQpDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKQ09O
RklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgpDT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEw
MjQKIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiMgQ09ORklHX0FUQV9PVkVSX0VU
SCBpcyBub3Qgc2V0CgojCiMgTWlzYyBkZXZpY2VzCiMKIyBDT05GSUdfSUJNX0FTTSBpcyBub3Qg
c2V0CiMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKQ09ORklHX1RJRk1fQ09SRT1tCkNPTkZJ
R19USUZNXzdYWDE9bQojIENPTkZJR19NU0lfTEFQVE9QIGlzIG5vdCBzZXQKIyBDT05GSUdfU09O
WV9MQVBUT1AgaXMgbm90IHNldAoKIwojIEFUQS9BVEFQSS9NRk0vUkxMIHN1cHBvcnQKIwpDT05G
SUdfSURFPXkKQ09ORklHX0JMS19ERVZfSURFPXkKCiMKIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRp
b24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKIwojIENPTkZJR19CTEtfREVW
X0lERV9TQVRBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9IRF9JREUgaXMgbm90IHNldApD
T05GSUdfQkxLX0RFVl9JREVESVNLPXkKQ09ORklHX0lERURJU0tfTVVMVElfTU9ERT15CiMgQ09O
RklHX0JMS19ERVZfSURFQ1MgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0RFTEtJTiBpcyBu
b3Qgc2V0CkNPTkZJR19CTEtfREVWX0lERUNEPXkKIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlz
IG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JREVGTE9QUFkgaXMgbm90IHNldAojIENPTkZJR19C
TEtfREVWX0lERVNDU0kgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9JREVBQ1BJPXkKIyBDT05G
SUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAoKIwojIElERSBjaGlwc2V0IHN1cHBvcnQvYnVn
Zml4ZXMKIwpDT05GSUdfSURFX0dFTkVSSUM9eQojIENPTkZJR19CTEtfREVWX0NNRDY0MCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURFUE5QIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZf
SURFUENJPXkKIyBDT05GSUdfSURFUENJX1NIQVJFX0lSUSBpcyBub3Qgc2V0CiMgQ09ORklHX0JM
S19ERVZfT0ZGQk9BUkQgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0dFTkVSSUMgaXMgbm90
IHNldAojIENPTkZJR19CTEtfREVWX09QVEk2MjEgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVW
X1JaMTAwMCBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX0lERURNQV9QQ0k9eQojIENPTkZJR19C
TEtfREVWX0lERURNQV9GT1JDRUQgaXMgbm90IHNldAojIENPTkZJR19JREVETUFfT05MWURJU0sg
aXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0FFQzYyWFggaXMgbm90IHNldAojIENPTkZJR19C
TEtfREVWX0FMSTE1WDMgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9BTUQ3NFhYPXkKQ09ORklH
X0JMS19ERVZfQVRJSVhQPXkKIyBDT05GSUdfQkxLX0RFVl9DTUQ2NFggaXMgbm90IHNldAojIENP
TkZJR19CTEtfREVWX1RSSUZMRVggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0NZODJDNjkz
IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DUzU1MjAgaXMgbm90IHNldAojIENPTkZJR19C
TEtfREVWX0NTNTUzMCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSFBUMzRYIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQkxLX0RFVl9IUFQzNjYgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0pN
SUNST04gaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1NDMTIwMCBpcyBub3Qgc2V0CkNPTkZJ
R19CTEtfREVWX1BJSVg9eQojIENPTkZJR19CTEtfREVWX0lUODIxMyBpcyBub3Qgc2V0CiMgQ09O
RklHX0JMS19ERVZfSVQ4MjFYIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9OUzg3NDE1IGlz
IG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9PTEQgaXMgbm90IHNldApDT05GSUdf
QkxLX0RFVl9QREMyMDJYWF9ORVc9eQojIENPTkZJR19CTEtfREVWX1NWV0tTIGlzIG5vdCBzZXQK
IyBDT05GSUdfQkxLX0RFVl9TSUlNQUdFIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TSVM1
NTEzIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TTEM5MEU2NiBpcyBub3Qgc2V0CiMgQ09O
RklHX0JMS19ERVZfVFJNMjkwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9WSUE4MkNYWFgg
aXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1RDODZDMDAxIGlzIG5vdCBzZXQKIyBDT05GSUdf
SURFX0FSTSBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX0lERURNQT15CiMgQ09ORklHX0lERURN
QV9JVkIgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKCiMKIyBTQ1NJ
IGRldmljZSBzdXBwb3J0CiMKIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CkNPTkZJR19T
Q1NJPXkKIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX05FVExJTksg
aXMgbm90IHNldAojIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAoKIwojIFNDU0kgc3Vw
cG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCiMKQ09ORklHX0JMS19ERVZfU0Q9eQojIENP
TkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBz
ZXQKQ09ORklHX0JMS19ERVZfU1I9eQojIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qg
c2V0CkNPTkZJR19DSFJfREVWX1NHPXkKIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAoK
IwojIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUg
TFVOcwojCkNPTkZJR19TQ1NJX01VTFRJX0xVTj15CkNPTkZJR19TQ1NJX0NPTlNUQU5UUz15CiMg
Q09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBp
cyBub3Qgc2V0CgojCiMgU0NTSSBUcmFuc3BvcnRzCiMKQ09ORklHX1NDU0lfU1BJX0FUVFJTPXkK
IyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSVNDU0lfQVRU
UlMgaXMgbm90IHNldApDT05GSUdfU0NTSV9TQVNfQVRUUlM9eQojIENPTkZJR19TQ1NJX1NBU19M
SUJTQVMgaXMgbm90IHNldAoKIwojIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKIwojIENPTkZJR19J
U0NTSV9UQ1AgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qg
c2V0CiMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUNBUkQg
aXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FBQ1JBSUQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJ
X0FJQzdYWFggaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FJQzdYWFhfT0xEIGlzIG5vdCBzZXQK
IyBDT05GSUdfU0NTSV9BSUM3OVhYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAojIENPTkZJR19NRUdBUkFJ
RF9ORVdHRU4gaXMgbm90IHNldAojIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldAoj
IENPTkZJR19NRUdBUkFJRF9TQVMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0hQVElPUCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NDU0lfQlVTTE9HSUMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0RN
WDMxOTFEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9FQVRBIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0NTSV9GVVRVUkVfRE9NQUlOIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9HRFRIIGlzIG5vdCBz
ZXQKIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfU1RF
WCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAojIENPTkZJ
R19TQ1NJX0lQUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNl
dAojIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJ
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9MUEZDIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9E
QzM5NXggaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0RDMzkwVCBpcyBub3Qgc2V0CiMgQ09ORklH
X1NDU0lfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0CgojCiMg
UENNQ0lBIFNDU0kgYWRhcHRlciBzdXBwb3J0CiMKIyBDT05GSUdfUENNQ0lBX0ZET01BSU4gaXMg
bm90IHNldAojIENPTkZJR19QQ01DSUFfUUxPR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfUENNQ0lB
X1NZTTUzQzUwMCBpcyBub3Qgc2V0CgojCiMgU2VyaWFsIEFUQSAocHJvZCkgYW5kIFBhcmFsbGVs
IEFUQSAoZXhwZXJpbWVudGFsKSBkcml2ZXJzCiMKQ09ORklHX0FUQT15CiMgQ09ORklHX0FUQV9O
T05TVEFOREFSRCBpcyBub3Qgc2V0CkNPTkZJR19TQVRBX0FIQ0k9eQojIENPTkZJR19TQVRBX1NW
VyBpcyBub3Qgc2V0CkNPTkZJR19BVEFfUElJWD15CiMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNl
dAojIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNl
dAojIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NJTCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NJ
UyBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9W
SUEgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAojIENPTkZJR19T
QVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKQ09ORklHX1NBVEFfSU5URUxfQ09NQklORUQ9eQpDT05G
SUdfU0FUQV9BQ1BJPXkKIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAojIENPTkZJR19QQVRB
X0FNRCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNldAojIENPTkZJR19Q
QVRBX0FUSUlYUCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfQ01ENjRYIGlzIG5vdCBzZXQKIyBD
T05GSUdfUEFUQV9DUzU1MjAgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qg
c2V0CiMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfRUZBUiBp
cyBub3Qgc2V0CiMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9I
UFQzNjYgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDM3WCBpcyBub3Qgc2V0CiMgQ09ORklH
X1BBVEFfSFBUM1gyTiBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfSFBUM1gzIGlzIG5vdCBzZXQK
IyBDT05GSUdfUEFUQV9JVDgyMVggaXMgbm90IHNldAojIENPTkZJR19QQVRBX0lUODIxMyBpcyBu
b3Qgc2V0CiMgQ09ORklHX1BBVEFfSk1JQ1JPTiBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfVFJJ
RkxFWCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CiMgQ09ORklH
X1BBVEFfTVBJSVggaXMgbm90IHNldAojIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAoj
IENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAojIENPTkZJR19QQVRBX05TODc0MTAgaXMg
bm90IHNldAojIENPTkZJR19QQVRBX09QVEkgaXMgbm90IHNldAojIENPTkZJR19QQVRBX09QVElE
TUEgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1BDTUNJQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BB
VEFfUERDX09MRCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CiMg
Q09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9TQzEyMDAgaXMgbm90
IHNldAojIENPTkZJR19QQVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9Q
REMyMDI3WCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfU0lMNjgwIGlzIG5vdCBzZXQKIyBDT05G
SUdfUEFUQV9TSVMgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CiMgQ09O
RklHX1BBVEFfV0lOQk9ORCBpcyBub3Qgc2V0CgojCiMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJB
SUQgYW5kIExWTSkKIwojIENPTkZJR19NRCBpcyBub3Qgc2V0CgojCiMgRnVzaW9uIE1QVCBkZXZp
Y2Ugc3VwcG9ydAojCkNPTkZJR19GVVNJT049eQpDT05GSUdfRlVTSU9OX1NQST15CiMgQ09ORklH
X0ZVU0lPTl9GQyBpcyBub3Qgc2V0CkNPTkZJR19GVVNJT05fU0FTPXkKQ09ORklHX0ZVU0lPTl9N
QVhfU0dFPTEyOAojIENPTkZJR19GVVNJT05fQ1RMIGlzIG5vdCBzZXQKCiMKIyBJRUVFIDEzOTQg
KEZpcmVXaXJlKSBzdXBwb3J0CiMKQ09ORklHX0lFRUUxMzk0PXkKCiMKIyBTdWJzeXN0ZW0gT3B0
aW9ucwojCiMgQ09ORklHX0lFRUUxMzk0X1ZFUkJPU0VERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklH
X0lFRUUxMzk0X0VYVFJBX0NPTkZJR19ST01TIGlzIG5vdCBzZXQKCiMKIyBEZXZpY2UgRHJpdmVy
cwojCkNPTkZJR19JRUVFMTM5NF9QQ0lMWU5YPW0KQ09ORklHX0lFRUUxMzk0X09IQ0kxMzk0PXkK
CiMKIyBQcm90b2NvbCBEcml2ZXJzCiMKIyBDT05GSUdfSUVFRTEzOTRfVklERU8xMzk0IGlzIG5v
dCBzZXQKIyBDT05GSUdfSUVFRTEzOTRfU0JQMiBpcyBub3Qgc2V0CiMgQ09ORklHX0lFRUUxMzk0
X0VUSDEzOTQgaXMgbm90IHNldAojIENPTkZJR19JRUVFMTM5NF9EVjEzOTQgaXMgbm90IHNldApD
T05GSUdfSUVFRTEzOTRfUkFXSU89eQoKIwojIEkyTyBkZXZpY2Ugc3VwcG9ydAojCiMgQ09ORklH
X0kyTyBpcyBub3Qgc2V0CgojCiMgTWFjaW50b3NoIGRldmljZSBkcml2ZXJzCiMKIyBDT05GSUdf
TUFDX0VNVU1PVVNFQlROIGlzIG5vdCBzZXQKCiMKIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0CiMK
Q09ORklHX05FVERFVklDRVM9eQojIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiMgQ09ORklHX0JP
TkRJTkcgaXMgbm90IHNldAojIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldApDT05GSUdfVFVO
PXkKIyBDT05GSUdfTkVUX1NCMTAwMCBpcyBub3Qgc2V0CgojCiMgQVJDbmV0IGRldmljZXMKIwoj
IENPTkZJR19BUkNORVQgaXMgbm90IHNldAoKIwojIFBIWSBkZXZpY2Ugc3VwcG9ydAojCiMgQ09O
RklHX1BIWUxJQiBpcyBub3Qgc2V0CgojCiMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCiMKQ09O
RklHX05FVF9FVEhFUk5FVD15CkNPTkZJR19NSUk9eQojIENPTkZJR19IQVBQWU1FQUwgaXMgbm90
IHNldAojIENPTkZJR19TVU5HRU0gaXMgbm90IHNldAojIENPTkZJR19DQVNTSU5JIGlzIG5vdCBz
ZXQKIyBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NIGlzIG5vdCBzZXQKCiMKIyBUdWxpcCBmYW1pbHkg
bmV0d29yayBkZXZpY2Ugc3VwcG9ydAojCkNPTkZJR19ORVRfVFVMSVA9eQojIENPTkZJR19ERTIx
MDRYIGlzIG5vdCBzZXQKQ09ORklHX1RVTElQPXkKIyBDT05GSUdfVFVMSVBfTVdJIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVFVMSVBfTU1JTyBpcyBub3Qgc2V0CiMgQ09ORklHX1RVTElQX05BUEkgaXMg
bm90IHNldAojIENPTkZJR19ERTRYNSBpcyBub3Qgc2V0CiMgQ09ORklHX1dJTkJPTkRfODQwIGlz
IG5vdCBzZXQKIyBDT05GSUdfRE05MTAyIGlzIG5vdCBzZXQKIyBDT05GSUdfVUxJNTI2WCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1BDTUNJQV9YSVJDT00gaXMgbm90IHNldAojIENPTkZJR19IUDEwMCBp
cyBub3Qgc2V0CiMgQ09ORklHX05FVF9QQ0kgaXMgbm90IHNldAoKIwojIEV0aGVybmV0ICgxMDAw
IE1iaXQpCiMKIyBDT05GSUdfQUNFTklDIGlzIG5vdCBzZXQKIyBDT05GSUdfREwySyBpcyBub3Qg
c2V0CiMgQ09ORklHX0UxMDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0
CiMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAojIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNl
dAojIENPTkZJR19SODE2OSBpcyBub3Qgc2V0CiMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0CiMg
Q09ORklHX1NLR0UgaXMgbm90IHNldAojIENPTkZJR19TS1kyIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0s5OExJTiBpcyBub3Qgc2V0CkNPTkZJR19USUdPTjM9bQojIENPTkZJR19CTlgyIGlzIG5vdCBz
ZXQKIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTDEgaXMgbm90IHNldAoK
IwojIEV0aGVybmV0ICgxMDAwMCBNYml0KQojCiMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNl
dAojIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0
CiMgQ09ORklHX1MySU8gaXMgbm90IHNldAojIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CiMg
Q09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAoKIwojIFRva2VuIFJpbmcgZGV2aWNlcwojCiMg
Q09ORklHX1RSIGlzIG5vdCBzZXQKCiMKIyBXaXJlbGVzcyBMQU4gKG5vbi1oYW1yYWRpbykKIwpD
T05GSUdfTkVUX1JBRElPPXkKIyBDT05GSUdfTkVUX1dJUkVMRVNTX1JUTkVUTElOSyBpcyBub3Qg
c2V0CgojCiMgT2Jzb2xldGUgV2lyZWxlc3MgY2FyZHMgc3VwcG9ydCAocHJlLTgwMi4xMSkKIwoj
IENPTkZJR19TVFJJUCBpcyBub3Qgc2V0CiMgQ09ORklHX1BDTUNJQV9XQVZFTEFOIGlzIG5vdCBz
ZXQKIyBDT05GSUdfUENNQ0lBX05FVFdBVkUgaXMgbm90IHNldAoKIwojIFdpcmVsZXNzIDgwMi4x
MSBGcmVxdWVuY3kgSG9wcGluZyBjYXJkcyBzdXBwb3J0CiMKIyBDT05GSUdfUENNQ0lBX1JBWUNT
IGlzIG5vdCBzZXQKCiMKIyBXaXJlbGVzcyA4MDIuMTFiIElTQS9QQ0kgY2FyZHMgc3VwcG9ydAoj
CiMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAojIENPTkZJR19JUFcyMjAwIGlzIG5vdCBzZXQK
IyBDT05GSUdfQUlSTyBpcyBub3Qgc2V0CiMgQ09ORklHX0hFUk1FUyBpcyBub3Qgc2V0CiMgQ09O
RklHX0FUTUVMIGlzIG5vdCBzZXQKCiMKIyBXaXJlbGVzcyA4MDIuMTFiIFBjbWNpYS9DYXJkYnVz
IGNhcmRzIHN1cHBvcnQKIwojIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKIyBDT05GSUdfUENN
Q0lBX1dMMzUwMSBpcyBub3Qgc2V0CgojCiMgUHJpc20gR1QvRHVldHRlIDgwMi4xMShhL2IvZykg
UENJL0NhcmRidXMgc3VwcG9ydAojCiMgQ09ORklHX1BSSVNNNTQgaXMgbm90IHNldAojIENPTkZJ
R19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKIyBDT05GSUdfSE9TVEFQIGlzIG5vdCBzZXQKQ09ORklH
X05FVF9XSVJFTEVTUz15CgojCiMgUENNQ0lBIG5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKIwojIENP
TkZJR19ORVRfUENNQ0lBIGlzIG5vdCBzZXQKCiMKIyBXYW4gaW50ZXJmYWNlcwojCiMgQ09ORklH
X1dBTiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZEREkgaXMgbm90IHNldAojIENPTkZJR19ISVBQSSBp
cyBub3Qgc2V0CiMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NMSVAgaXMgbm90IHNl
dAojIENPTkZJR19ORVRfRkMgaXMgbm90IHNldAojIENPTkZJR19TSEFQRVIgaXMgbm90IHNldApD
T05GSUdfTkVUQ09OU09MRT15CkNPTkZJR19ORVRQT0xMPXkKIyBDT05GSUdfTkVUUE9MTF9SWCBp
cyBub3Qgc2V0CiMgQ09ORklHX05FVFBPTExfVFJBUCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfUE9M
TF9DT05UUk9MTEVSPXkKCiMKIyBJU0ROIHN1YnN5c3RlbQojCiMgQ09ORklHX0lTRE4gaXMgbm90
IHNldAoKIwojIFRlbGVwaG9ueSBTdXBwb3J0CiMKIyBDT05GSUdfUEhPTkUgaXMgbm90IHNldAoK
IwojIElucHV0IGRldmljZSBzdXBwb3J0CiMKQ09ORklHX0lOUFVUPXkKIyBDT05GSUdfSU5QVVRf
RkZfTUVNTEVTUyBpcyBub3Qgc2V0CgojCiMgVXNlcmxhbmQgaW50ZXJmYWNlcwojCkNPTkZJR19J
TlBVVF9NT1VTRURFVj15CkNPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CkNPTkZJR19JTlBV
VF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CkNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03
NjgKIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfVFNERVYg
aXMgbm90IHNldApDT05GSUdfSU5QVVRfRVZERVY9eQojIENPTkZJR19JTlBVVF9FVkJVRyBpcyBu
b3Qgc2V0CgojCiMgSW5wdXQgRGV2aWNlIERyaXZlcnMKIwpDT05GSUdfSU5QVVRfS0VZQk9BUkQ9
eQpDT05GSUdfS0VZQk9BUkRfQVRLQkQ9eQojIENPTkZJR19LRVlCT0FSRF9TVU5LQkQgaXMgbm90
IHNldAojIENPTkZJR19LRVlCT0FSRF9MS0tCRCBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJE
X1hUS0JEIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKIyBD
T05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldApDT05GSUdfSU5QVVRfTU9VU0U9eQpD
T05GSUdfTU9VU0VfUFMyPXkKIyBDT05GSUdfTU9VU0VfU0VSSUFMIGlzIG5vdCBzZXQKIyBDT05G
SUdfTU9VU0VfVlNYWFhBQSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5v
dCBzZXQKIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldApDT05GSUdfSU5QVVRf
TUlTQz15CiMgQ09ORklHX0lOUFVUX1BDU1BLUiBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0FU
TEFTX0JUTlMgaXMgbm90IHNldApDT05GSUdfSU5QVVRfVUlOUFVUPXkKCiMKIyBIYXJkd2FyZSBJ
L08gcG9ydHMKIwpDT05GSUdfU0VSSU89eQpDT05GSUdfU0VSSU9fSTgwNDI9eQojIENPTkZJR19T
RVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSU9fQ1Q4MkM3MTAgaXMgbm90IHNl
dAojIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldApDT05GSUdfU0VSSU9fTElCUFMyPXkK
IyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNl
dAoKIwojIENoYXJhY3RlciBkZXZpY2VzCiMKQ09ORklHX1ZUPXkKQ09ORklHX1ZUX0NPTlNPTEU9
eQpDT05GSUdfSFdfQ09OU09MRT15CiMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CgojCiMgU2VyaWFs
IGRyaXZlcnMKIwpDT05GSUdfU0VSSUFMXzgyNTA9eQpDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09M
RT15CkNPTkZJR19TRVJJQUxfODI1MF9QQ0k9eQpDT05GSUdfU0VSSUFMXzgyNTBfUE5QPXkKIyBD
T05GSUdfU0VSSUFMXzgyNTBfQ1MgaXMgbm90IHNldApDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFS
VFM9NApDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz00CiMgQ09ORklHX1NFUklBTF84
MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKCiMKIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0
CiMKQ09ORklHX1NFUklBTF9DT1JFPXkKQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQojIENP
TkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKQ09ORklHX1VOSVg5OF9QVFlTPXkKQ09ORklHX0xF
R0FDWV9QVFlTPXkKQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CgojCiMgSVBNSQojCiMgQ09O
RklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CgojCiMgV2F0Y2hkb2cgQ2FyZHMKIwojIENPTkZJ
R19XQVRDSERPRyBpcyBub3Qgc2V0CkNPTkZJR19IV19SQU5ET009eQpDT05GSUdfSFdfUkFORE9N
X0lOVEVMPXkKQ09ORklHX0hXX1JBTkRPTV9BTUQ9eQojIENPTkZJR19IV19SQU5ET01fR0VPREUg
aXMgbm90IHNldAojIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CkNPTkZJR19SVEM9eQojIENPTkZJ
R19EVExLIGlzIG5vdCBzZXQKIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAojIENPTkZJR19BUFBM
SUNPTSBpcyBub3Qgc2V0CkNPTkZJR19BR1A9eQpDT05GSUdfQUdQX0FNRDY0PXkKQ09ORklHX0FH
UF9JTlRFTD15CiMgQ09ORklHX0FHUF9TSVMgaXMgbm90IHNldAojIENPTkZJR19BR1BfVklBIGlz
IG5vdCBzZXQKIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKCiMKIyBQQ01DSUEgY2hhcmFjdGVyIGRl
dmljZXMKIwojIENPTkZJR19TWU5DTElOS19DUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NBUkRNQU5f
NDAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0NBUkRNQU5fNDA0MCBpcyBub3Qgc2V0CiMgQ09ORklH
X01XQVZFIGlzIG5vdCBzZXQKIyBDT05GSUdfUEM4NzM2eF9HUElPIGlzIG5vdCBzZXQKQ09ORklH
X1JBV19EUklWRVI9eQpDT05GSUdfTUFYX1JBV19ERVZTPTI1NgpDT05GSUdfSFBFVD15CiMgQ09O
RklHX0hQRVRfUlRDX0lSUSBpcyBub3Qgc2V0CkNPTkZJR19IUEVUX01NQVA9eQojIENPTkZJR19I
QU5HQ0hFQ0tfVElNRVIgaXMgbm90IHNldAoKIwojIFRQTSBkZXZpY2VzCiMKIyBDT05GSUdfVENH
X1RQTSBpcyBub3Qgc2V0CiMgQ09ORklHX1RFTENMT0NLIGlzIG5vdCBzZXQKCiMKIyBJMkMgc3Vw
cG9ydAojCkNPTkZJR19JMkM9bQpDT05GSUdfSTJDX0NIQVJERVY9bQoKIwojIEkyQyBBbGdvcml0
aG1zCiMKQ09ORklHX0kyQ19BTEdPQklUPW0KIyBDT05GSUdfSTJDX0FMR09QQ0YgaXMgbm90IHNl
dAojIENPTkZJR19JMkNfQUxHT1BDQSBpcyBub3Qgc2V0CgojCiMgSTJDIEhhcmR3YXJlIEJ1cyBz
dXBwb3J0CiMKIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAojIENPTkZJR19JMkNfQUxJ
MTU2MyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKIyBDT05GSUdf
STJDX0FNRDc1NiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKIyBD
T05GSUdfSTJDX0k4MDEgaXMgbm90IHNldAojIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CiMg
Q09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CkNPTkZJR19JMkNfSVNBPW0KIyBDT05GSUdfSTJD
X05GT1JDRTIgaXMgbm90IHNldAojIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKIyBDT05G
SUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAojIENPTkZJR19JMkNfUFJPU0FWQUdFIGlz
IG5vdCBzZXQKIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAojIENPTkZJR19JMkNfU0lT
NTU5NSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAojIENPTkZJR19J
MkNfU0lTOTZYIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAojIENPTkZJ
R19JMkNfVklBIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CiMgQ09O
RklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1BDQV9JU0EgaXMgbm90IHNl
dAoKIwojIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAojCiMgQ09ORklHX1NFTlNPUlNf
RFMxMzM3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19EUzEzNzQgaXMgbm90IHNldAojIENP
TkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUENBOTUzOSBpcyBub3Qgc2V0CiMgQ09ORklHX1NF
TlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qg
c2V0CiMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0RFQlVH
X0FMR08gaXMgbm90IHNldAojIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKIyBDT05G
SUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAoKIwojIFNQSSBzdXBwb3J0CiMKIyBDT05GSUdf
U1BJIGlzIG5vdCBzZXQKIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CgojCiMgRGFsbGFz
J3MgMS13aXJlIGJ1cwojCkNPTkZJR19XMT1tCgojCiMgMS13aXJlIEJ1cyBNYXN0ZXJzCiMKIyBD
T05GSUdfVzFfTUFTVEVSX01BVFJPWCBpcyBub3Qgc2V0CiMgQ09ORklHX1cxX01BU1RFUl9EUzI0
OTAgaXMgbm90IHNldAojIENPTkZJR19XMV9NQVNURVJfRFMyNDgyIGlzIG5vdCBzZXQKCiMKIyAx
LXdpcmUgU2xhdmVzCiMKIyBDT05GSUdfVzFfU0xBVkVfVEhFUk0gaXMgbm90IHNldAojIENPTkZJ
R19XMV9TTEFWRV9TTUVNIGlzIG5vdCBzZXQKIyBDT05GSUdfVzFfU0xBVkVfRFMyNDMzIGlzIG5v
dCBzZXQKCiMKIyBIYXJkd2FyZSBNb25pdG9yaW5nIHN1cHBvcnQKIwpDT05GSUdfSFdNT049eQoj
IENPTkZJR19IV01PTl9WSUQgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FCSVRVR1VSVSBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNMTAyMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NF
TlNPUlNfQURNMTAyNSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNMTAyNiBpcyBub3Qg
c2V0CiMgQ09ORklHX1NFTlNPUlNfQURNMTAyOSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf
QURNMTAzMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qgc2V0CiMg
Q09ORklHX1NFTlNPUlNfSzhURU1QIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BU0IxMDAg
aXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19EUzE2MjEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0Y3MTgwNUYgaXMgbm90IHNl
dAojIENPTkZJR19TRU5TT1JTX0ZTQ0hFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRlND
UE9TIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19HTDUxOFNNIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19JVDg3IGlzIG5v
dCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTYzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19M
TTc1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTc3IGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19MTTc4IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTgwIGlzIG5vdCBzZXQK
IyBDT05GSUdfU0VOU09SU19MTTgzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTg1IGlz
IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTg3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09S
U19MTTkwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MTTkyIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0VOU09SU19NQVgxNjE5IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19QQzg3MzYwIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19QQzg3NDI3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19TSVM1NTk1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qg
c2V0CiMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JT
X1NNU0M0N0IzOTc9bQojIENPTkZJR19TRU5TT1JTX1ZJQTY4NkEgaXMgbm90IHNldAojIENPTkZJ
R19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVlQ4MjMxIGlzIG5v
dCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09S
U19XODM3OTFEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM3OTJEIGlzIG5vdCBzZXQK
IyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4M0w3
ODVUUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgzNjI3SEYgaXMgbm90IHNldAojIENP
TkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX0hEQVBTPW0K
IyBDT05GSUdfSFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0CgojCiMgTXVsdGlmdW5jdGlvbiBk
ZXZpY2UgZHJpdmVycwojCiMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CgojCiMgTXVsdGlt
ZWRpYSBkZXZpY2VzCiMKQ09ORklHX1ZJREVPX0RFVj1tCkNPTkZJR19WSURFT19WNEwxPXkKQ09O
RklHX1ZJREVPX1Y0TDFfQ09NUEFUPXkKQ09ORklHX1ZJREVPX1Y0TDI9eQoKIwojIFZpZGVvIENh
cHR1cmUgQWRhcHRlcnMKIwoKIwojIFZpZGVvIENhcHR1cmUgQWRhcHRlcnMKIwojIENPTkZJR19W
SURFT19BRFZfREVCVUcgaXMgbm90IHNldApDT05GSUdfVklERU9fSEVMUEVSX0NISVBTX0FVVE89
eQojIENPTkZJR19WSURFT19WSVZJIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fQlQ4NDggaXMg
bm90IHNldAojIENPTkZJR19WSURFT19DUElBIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fQ1BJ
QTIgaXMgbm90IHNldAojIENPTkZJR19WSURFT19TQUE1MjQ2QSBpcyBub3Qgc2V0CiMgQ09ORklH
X1ZJREVPX1NBQTUyNDkgaXMgbm90IHNldAojIENPTkZJR19UVU5FUl8zMDM2IGlzIG5vdCBzZXQK
IyBDT05GSUdfVklERU9fU1RSQURJUyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX1pPUkFOIGlz
IG5vdCBzZXQKIyBDT05GSUdfVklERU9fU0FBNzEzNCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVP
X01YQiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0RQQyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJ
REVPX0hFWElVTV9PUklPTiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0hFWElVTV9HRU1JTkkg
aXMgbm90IHNldAojIENPTkZJR19WSURFT19DWDg4IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9f
Q0FGRV9DQ0lDIGlzIG5vdCBzZXQKCiMKIyBWNEwgVVNCIGRldmljZXMKIwojIENPTkZJR19WSURF
T19QVlJVU0IyIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fRU0yOFhYIGlzIG5vdCBzZXQKIyBD
T05GSUdfVklERU9fVVNCVklTSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1ZJQ0FNIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX0lCTUNBTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9LT05JQ0FX
QyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9RVUlDS0NBTV9NRVNTRU5HRVIgaXMgbm90IHNldAoj
IENPTkZJR19VU0JfRVQ2MVgyNTEgaXMgbm90IHNldAojIENPTkZJR19WSURFT19PVkNBTUNISVAg
aXMgbm90IHNldAojIENPTkZJR19VU0JfVzk5NjhDRiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9P
VjUxMSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRTQwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1VT
Ql9TTjlDMTAyIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUVjY4MCBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9aQzAzMDEgaXMgbm90IHNldAojIENPTkZJR19VU0JfUFdDIGlzIG5vdCBzZXQKCiMK
IyBSYWRpbyBBZGFwdGVycwojCiMgQ09ORklHX1JBRElPX0dFTVRFS19QQ0kgaXMgbm90IHNldAoj
IENPTkZJR19SQURJT19NQVhJUkFESU8gaXMgbm90IHNldAojIENPTkZJR19SQURJT19NQUVTVFJP
IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0RTQlIgaXMgbm90IHNldAoKIwojIERpZ2l0YWwgVmlk
ZW8gQnJvYWRjYXN0aW5nIERldmljZXMKIwojIENPTkZJR19EVkIgaXMgbm90IHNldAojIENPTkZJ
R19VU0JfREFCVVNCIGlzIG5vdCBzZXQKCiMKIyBHcmFwaGljcyBzdXBwb3J0CiMKIyBDT05GSUdf
QkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19E
RVZJQ0U9eQojIENPTkZJR19CQUNLTElHSFRfUFJPR0VBUiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZC
IGlzIG5vdCBzZXQKQ09ORklHX1ZJREVPX1NFTEVDVD15CgojCiMgQ29uc29sZSBkaXNwbGF5IGRy
aXZlciBzdXBwb3J0CiMKQ09ORklHX1ZHQV9DT05TT0xFPXkKQ09ORklHX1ZHQUNPTl9TT0ZUX1ND
Uk9MTEJBQ0s9eQpDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTI1NgpDT05GSUdf
RFVNTVlfQ09OU09MRT15CgojCiMgU3BlYWt1cCBjb25zb2xlIHNwZWVjaAojCiMgQ09ORklHX1NQ
RUFLVVAgaXMgbm90IHNldAoKIwojIFNvdW5kCiMKQ09ORklHX1NPVU5EPXkKCiMKIyBBZHZhbmNl
ZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKIwpDT05GSUdfU05EPW0KQ09ORklHX1NORF9USU1F
Uj1tCkNPTkZJR19TTkRfUENNPW0KQ09ORklHX1NORF9IV0RFUD1tCkNPTkZJR19TTkRfUkFXTUlE
ST1tCkNPTkZJR19TTkRfU0VRVUVOQ0VSPW0KQ09ORklHX1NORF9TRVFfRFVNTVk9bQpDT05GSUdf
U05EX09TU0VNVUw9eQpDT05GSUdfU05EX01JWEVSX09TUz1tCkNPTkZJR19TTkRfUENNX09TUz1t
CkNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKQ09ORklHX1NORF9TRVFVRU5DRVJfT1NTPXkK
Q09ORklHX1NORF9SVENUSU1FUj1tCkNPTkZJR19TTkRfU0VRX1JUQ1RJTUVSX0RFRkFVTFQ9eQoj
IENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldApDT05GSUdfU05EX1NVUFBPUlRf
T0xEX0FQST15CkNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQojIENPTkZJR19TTkRfVkVSQk9T
RV9QUklOVEsgaXMgbm90IHNldAojIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAoKIwojIEdl
bmVyaWMgZGV2aWNlcwojCiMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0CiMgQ09ORklHX1NO
RF9WSVJNSURJIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAojIENPTkZJR19TTkRfTVBVNDAxIGlzIG5v
dCBzZXQKCiMKIyBQQ0kgZGV2aWNlcwojCiMgQ09ORklHX1NORF9BRDE4ODkgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfQUxTMzAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FMUzQwMDAgaXMgbm90
IHNldAojIENPTkZJR19TTkRfQUxJNTQ1MSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVElJWFAg
aXMgbm90IHNldAojIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX0FVODgxMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAojIENP
TkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNl
dAojIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAojIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5v
dCBzZXQKIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9DUzQyODEg
aXMgbm90IHNldAojIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0RB
UkxBMjAgaXMgbm90IHNldAojIENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX0xBWUxBMjAgaXMgbm90IHNldAojIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CiMg
Q09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNldAojIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qg
c2V0CiMgQ09ORklHX1NORF9NT05BIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01JQSBpcyBub3Qg
c2V0CiMgQ09ORklHX1NORF9FQ0hPM0cgaXMgbm90IHNldAojIENPTkZJR19TTkRfSU5ESUdPIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX0lORElHT0lPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lO
RElHT0RKIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAojIENPTkZJ
R19TTkRfRU1VMTBLMVggaXMgbm90IHNldAojIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0
CiMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VTMTkzOCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NORF9FUzE5NjggaXMgbm90IHNldAojIENPTkZJR19TTkRfRk04MDEg
aXMgbm90IHNldApDT05GSUdfU05EX0hEQV9JTlRFTD1tCiMgQ09ORklHX1NORF9IRFNQIGlzIG5v
dCBzZXQKIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lDRTE3MTIg
aXMgbm90IHNldAojIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9J
TlRFTDhYMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JTlRFTDhYME0gaXMgbm90IHNldAojIENP
TkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAojIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90
IHNldAojIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX05NMjU2IGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1JJUFRJ
REUgaXMgbm90IHNldAojIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAojIENPTkZJR19TTkRf
Uk1FOTYgaXMgbm90IHNldAojIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0CiMgQ09ORklH
X1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNl
dAojIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9WSUE4MlhYX01P
REVNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X1lNRlBDSSBpcyBub3Qgc2V0CgojCiMgVVNCIGRldmljZXMKIwpDT05GSUdfU05EX1VTQl9BVURJ
Tz1tCiMgQ09ORklHX1NORF9VU0JfVVNYMlkgaXMgbm90IHNldAoKIwojIFBDTUNJQSBkZXZpY2Vz
CiMKIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1BEQVVESU9D
RiBpcyBub3Qgc2V0CgojCiMgU29DIGF1ZGlvIHN1cHBvcnQKIwojIENPTkZJR19TTkRfU09DIGlz
IG5vdCBzZXQKCiMKIyBPcGVuIFNvdW5kIFN5c3RlbQojCiMgQ09ORklHX1NPVU5EX1BSSU1FIGlz
IG5vdCBzZXQKCiMKIyBISUQgRGV2aWNlcwojCkNPTkZJR19ISUQ9eQojIENPTkZJR19ISURfREVC
VUcgaXMgbm90IHNldAoKIwojIFVTQiBzdXBwb3J0CiMKQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9
eQpDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQpDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQpD
T05GSUdfVVNCPXkKIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBNaXNjZWxsYW5l
b3VzIFVTQiBvcHRpb25zCiMKQ09ORklHX1VTQl9ERVZJQ0VGUz15CiMgQ09ORklHX1VTQl9EWU5B
TUlDX01JTk9SUyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX09URyBpcyBub3Qgc2V0CgojCiMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJz
CiMKQ09ORklHX1VTQl9FSENJX0hDRD15CiMgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTyBpcyBu
b3Qgc2V0CiMgQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUIGlzIG5vdCBzZXQKIyBDT05GSUdf
VVNCX0VIQ0lfVFRfTkVXU0NIRUQgaXMgbm90IHNldAojIENPTkZJR19VU0JfRUhDSV9CSUdfRU5E
SUFOX01NSU8gaXMgbm90IHNldAojIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldApD
T05GSUdfVVNCX09IQ0lfSENEPXkKIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlz
IG5vdCBzZXQKIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKQ09O
RklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQpDT05GSUdfVVNCX1VIQ0lfSENEPXkKIyBDT05G
SUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CgojCiMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJz
CiMKIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0CkNPTkZJR19VU0JfUFJJTlRFUj15CgojCiMg
Tk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0Jwoj
CgojCiMgbWF5IGFsc28gYmUgbmVlZGVkOyBzZWUgVVNCX1NUT1JBR0UgSGVscCBmb3IgbW9yZSBp
bmZvcm1hdGlvbgojCkNPTkZJR19VU0JfU1RPUkFHRT15CiMgQ09ORklHX1VTQl9TVE9SQUdFX0RF
QlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiMg
Q09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFH
RV9JU0QyMDAgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFH
RV9TRERSMDkgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNl
dAojIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9T
VE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKCiMKIyBVU0IgSW5wdXQgRGV2
aWNlcwojCkNPTkZJR19VU0JfSElEPXkKIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBp
cyBub3Qgc2V0CiMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ISURERVYg
aXMgbm90IHNldAojIENPTkZJR19VU0JfQUlQVEVLIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1dB
Q09NIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0FDRUNBRCBpcyBub3Qgc2V0CiMgQ09ORklHX1VT
Ql9LQlRBQiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9QT1dFUk1BVEUgaXMgbm90IHNldAojIENP
TkZJR19VU0JfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAojIENPTkZJR19VU0JfWUVBTElOSyBpcyBu
b3Qgc2V0CiMgQ09ORklHX1VTQl9YUEFEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0FUSV9SRU1P
VEUgaXMgbm90IHNldAojIENPTkZJR19VU0JfQVRJX1JFTU9URTIgaXMgbm90IHNldAojIENPTkZJ
R19VU0JfS0VZU1BBTl9SRU1PVEUgaXMgbm90IHNldAojIENPTkZJR19VU0JfQVBQTEVUT1VDSCBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9HVENPIGlzIG5vdCBzZXQKCiMKIyBVU0IgSW1hZ2luZyBk
ZXZpY2VzCiMKIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9NSUNS
T1RFSyBpcyBub3Qgc2V0CgojCiMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKIwojIENPTkZJR19VU0Jf
Q0FUQyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAojIENPTkZJR19V
U0JfUEVHQVNVUyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAojIENPTkZJR19VU0JfVVNCTkVUIGlzIG5v
dCBzZXQKQ09ORklHX1VTQl9NT049eQoKIwojIFVTQiBwb3J0IGRyaXZlcnMKIwoKIwojIFVTQiBT
ZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKIwpDT05GSUdfVVNCX1NFUklBTD15CiMgQ09ORklHX1VT
Ql9TRVJJQUxfQ09OU09MRSBpcyBub3Qgc2V0CkNPTkZJR19VU0JfU0VSSUFMX0dFTkVSSUM9eQoj
IENPTkZJR19VU0JfU0VSSUFMX0FJUkNBQkxFIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklB
TF9BSVJQUklNRSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfQVJLMzExNiBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfQkVMS0lOIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NF
UklBTF9XSElURUhFQVQgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0RJR0lfQUNDRUxF
UE9SVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfQ1AyMTAxIGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX1NFUklBTF9DWVBSRVNTX004IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklB
TF9FTVBFRyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfRlRESV9TSU8gaXMgbm90IHNl
dAojIENPTkZJR19VU0JfU0VSSUFMX0ZVTlNPRlQgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VS
SUFMX1ZJU09SIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9JUEFRIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1NFUklBTF9JUiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfRURH
RVBPUlQgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0VER0VQT1JUX1RJIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVVNCX1NFUklBTF9HQVJNSU4gaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VS
SUFMX0lQVyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9QREEgaXMgbm90
IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU4gaXMgbm90IHNldAojIENPTkZJR19VU0Jf
U0VSSUFMX0tMU0kgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0tPQklMX1NDVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfTUNUX1UyMzIgaXMgbm90IHNldAojIENPTkZJR19V
U0JfU0VSSUFMX01PUzc3MjAgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX01PUzc4NDAg
aXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX05BVk1BTiBpcyBub3Qgc2V0CkNPTkZJR19V
U0JfU0VSSUFMX1BMMjMwMz1tCiMgQ09ORklHX1VTQl9TRVJJQUxfSFA0WCBpcyBub3Qgc2V0CiMg
Q09ORklHX1VTQl9TRVJJQUxfU0FGRSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfU0lF
UlJBV0lSRUxFU1MgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1RJIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1NFUklBTF9DWUJFUkpBQ0sgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VS
SUFMX1hJUkNPTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfT1BUSU9OIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVVNCX1NFUklBTF9PTU5JTkVUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NF
UklBTF9ERUJVRyBpcyBub3Qgc2V0CgojCiMgVVNCIE1pc2NlbGxhbmVvdXMgZHJpdmVycwojCiMg
Q09ORklHX1VTQl9FTUk2MiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9FTUkyNiBpcyBub3Qgc2V0
CiMgQ09ORklHX1VTQl9BRFVUVVggaXMgbm90IHNldAojIENPTkZJR19VU0JfQVVFUlNXQUxEIGlz
IG5vdCBzZXQKIyBDT05GSUdfVVNCX1JJTzUwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MRUdP
VE9XRVIgaXMgbm90IHNldAojIENPTkZJR19VU0JfTENEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC
X0JFUlJZX0NIQVJHRSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MRUQgaXMgbm90IHNldAojIENP
TkZJR19VU0JfQ1lQUkVTU19DWTdDNjMgaXMgbm90IHNldAojIENPTkZJR19VU0JfQ1lUSEVSTSBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9QSElER0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lE
TU9VU0UgaXMgbm90IHNldAojIENPTkZJR19VU0JfRlRESV9FTEFOIGlzIG5vdCBzZXQKIyBDT05G
SUdfVVNCX0FQUExFRElTUExBWSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TSVNVU0JWR0EgaXMg
bm90IHNldAojIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAojIENPTkZJR19VU0JfVFJBTkNFVklC
UkFUT1IgaXMgbm90IHNldAojIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKIyBDT05G
SUdfVVNCX1RFU1QgaXMgbm90IHNldAoKIwojIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAojCgojCiMg
VVNCIEdhZGdldCBTdXBwb3J0CiMKIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CgojCiMg
TU1DL1NEIENhcmQgc3VwcG9ydAojCkNPTkZJR19NTUM9bQpDT05GSUdfTU1DX0RFQlVHPXkKQ09O
RklHX01NQ19CTE9DSz1tCiMgQ09ORklHX01NQ19TREhDSSBpcyBub3Qgc2V0CiMgQ09ORklHX01N
Q19XQlNEIGlzIG5vdCBzZXQKQ09ORklHX01NQ19USUZNX1NEPW0KCiMKIyBMRUQgZGV2aWNlcwoj
CiMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKCiMKIyBMRUQgZHJpdmVycwojCgojCiMgTEVE
IFRyaWdnZXJzCiMKCiMKIyBJbmZpbmlCYW5kIHN1cHBvcnQKIwojIENPTkZJR19JTkZJTklCQU5E
IGlzIG5vdCBzZXQKCiMKIyBFREFDIC0gZXJyb3IgZGV0ZWN0aW9uIGFuZCByZXBvcnRpbmcgKFJB
UykgKEVYUEVSSU1FTlRBTCkKIwojIENPTkZJR19FREFDIGlzIG5vdCBzZXQKCiMKIyBSZWFsIFRp
bWUgQ2xvY2sKIwojIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAoKIwojIERNQSBFbmdpbmUg
c3VwcG9ydAojCiMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAoKIwojIERNQSBDbGllbnRz
CiMKCiMKIyBETUEgRGV2aWNlcwojCgojCiMgQXV4aWxpYXJ5IERpc3BsYXkgc3VwcG9ydAojCgoj
CiMgVmlydHVhbGl6YXRpb24KIwpDT05GSUdfS1ZNPW0KQ09ORklHX0tWTV9JTlRFTD1tCiMgQ09O
RklHX0tWTV9BTUQgaXMgbm90IHNldAoKIwojIEZpcm13YXJlIERyaXZlcnMKIwojIENPTkZJR19F
REQgaXMgbm90IHNldAojIENPTkZJR19ERUxMX1JCVSBpcyBub3Qgc2V0CiMgQ09ORklHX0RDREJB
UyBpcyBub3Qgc2V0CgojCiMgRmlsZSBzeXN0ZW1zCiMKQ09ORklHX0VYVDJfRlM9eQpDT05GSUdf
RVhUMl9GU19YQVRUUj15CkNPTkZJR19FWFQyX0ZTX1BPU0lYX0FDTD15CiMgQ09ORklHX0VYVDJf
RlNfU0VDVVJJVFkgaXMgbm90IHNldAojIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CkNP
TkZJR19FWFQzX0ZTPXkKQ09ORklHX0VYVDNfRlNfWEFUVFI9eQpDT05GSUdfRVhUM19GU19QT1NJ
WF9BQ0w9eQojIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKIyBDT05GSUdfRVhU
NERFVl9GUyBpcyBub3Qgc2V0CkNPTkZJR19KQkQ9eQojIENPTkZJR19KQkRfREVCVUcgaXMgbm90
IHNldApDT05GSUdfRlNfTUJDQUNIRT15CkNPTkZJR19SRUlTRVJGU19GUz15CiMgQ09ORklHX1JF
SVNFUkZTX0NIRUNLIGlzIG5vdCBzZXQKIyBDT05GSUdfUkVJU0VSRlNfUFJPQ19JTkZPIGlzIG5v
dCBzZXQKQ09ORklHX1JFSVNFUkZTX0ZTX1hBVFRSPXkKQ09ORklHX1JFSVNFUkZTX0ZTX1BPU0lY
X0FDTD15CiMgQ09ORklHX1JFSVNFUkZTX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKIyBDT05GSUdf
SkZTX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0ZTX1BPU0lYX0FDTD15CiMgQ09ORklHX1hGU19GUyBp
cyBub3Qgc2V0CiMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAojIENPTkZJR19PQ0ZTMl9GUyBp
cyBub3Qgc2V0CiMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfUk9NRlNfRlMg
aXMgbm90IHNldApDT05GSUdfSU5PVElGWT15CkNPTkZJR19JTk9USUZZX1VTRVI9eQojIENPTkZJ
R19RVU9UQSBpcyBub3Qgc2V0CkNPTkZJR19ETk9USUZZPXkKIyBDT05GSUdfQVVUT0ZTX0ZTIGlz
IG5vdCBzZXQKQ09ORklHX0FVVE9GUzRfRlM9eQojIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQK
Q09ORklHX0dFTkVSSUNfQUNMPXkKCiMKIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiMKQ09ORklH
X0lTTzk2NjBfRlM9eQpDT05GSUdfSk9MSUVUPXkKIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQK
Q09ORklHX1VERl9GUz1tCkNPTkZJR19VREZfTkxTPXkKCiMKIyBET1MvRkFUL05UIEZpbGVzeXN0
ZW1zCiMKQ09ORklHX0ZBVF9GUz15CkNPTkZJR19NU0RPU19GUz15CkNPTkZJR19WRkFUX0ZTPXkK
Q09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwpDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFS
U0VUPSJpc284ODU5LTEiCkNPTkZJR19OVEZTX0ZTPXkKIyBDT05GSUdfTlRGU19ERUJVRyBpcyBu
b3Qgc2V0CkNPTkZJR19OVEZTX1JXPXkKCiMKIyBQc2V1ZG8gZmlsZXN5c3RlbXMKIwpDT05GSUdf
UFJPQ19GUz15CkNPTkZJR19QUk9DX0tDT1JFPXkKQ09ORklHX1BST0NfU1lTQ1RMPXkKQ09ORklH
X1NZU0ZTPXkKQ09ORklHX1RNUEZTPXkKQ09ORklHX1RNUEZTX1BPU0lYX0FDTD15CkNPTkZJR19I
VUdFVExCRlM9eQpDT05GSUdfSFVHRVRMQl9QQUdFPXkKQ09ORklHX1JBTUZTPXkKIyBDT05GSUdf
Q09ORklHRlNfRlMgaXMgbm90IHNldAoKIwojIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKIwoj
IENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CiMg
Q09ORklHX0VDUllQVF9GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CiMg
Q09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAojIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQK
IyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKIyBD
T05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKIyBDT05GSUdfU1FVQVNIRlMgaXMgbm90IHNldAojIENP
TkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiMgQ09O
RklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldApDT05G
SUdfVUZTX0ZTPXkKIyBDT05GSUdfVUZTX0ZTX1dSSVRFIGlzIG5vdCBzZXQKIyBDT05GSUdfVUZT
X0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwojCkNPTkZJR19ORlNf
RlM9eQpDT05GSUdfTkZTX1YzPXkKIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CiMgQ09O
RklHX05GU19WNCBpcyBub3Qgc2V0CiMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CkNP
TkZJR19ORlNEPXkKQ09ORklHX05GU0RfVjM9eQojIENPTkZJR19ORlNEX1YzX0FDTCBpcyBub3Qg
c2V0CiMgQ09ORklHX05GU0RfVjQgaXMgbm90IHNldApDT05GSUdfTkZTRF9UQ1A9eQpDT05GSUdf
Uk9PVF9ORlM9eQpDT05GSUdfTE9DS0Q9eQpDT05GSUdfTE9DS0RfVjQ9eQpDT05GSUdfRVhQT1JU
RlM9eQpDT05GSUdfTkZTX0NPTU1PTj15CkNPTkZJR19TVU5SUEM9eQojIENPTkZJR19SUENTRUNf
R1NTX0tSQjUgaXMgbm90IHNldAojIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQK
Q09ORklHX1NNQl9GUz15CiMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CkNPTkZJ
R19DSUZTPXkKIyBDT05GSUdfQ0lGU19TVEFUUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NJRlNfV0VB
S19QV19IQVNIIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0lGU19YQVRUUiBpcyBub3Qgc2V0CiMgQ09O
RklHX0NJRlNfREVCVUcyIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0lGU19FWFBFUklNRU5UQUwgaXMg
bm90IHNldAojIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAojIENPTkZJR19DT0RBX0ZTIGlzIG5v
dCBzZXQKIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfOVBfRlMgaXMgbm90IHNl
dAoKIwojIFBhcnRpdGlvbiBUeXBlcwojCiMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBu
b3Qgc2V0CkNPTkZJR19NU0RPU19QQVJUSVRJT049eQoKIwojIE5hdGl2ZSBMYW5ndWFnZSBTdXBw
b3J0CiMKQ09ORklHX05MUz15CkNPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgpDT05GSUdf
TkxTX0NPREVQQUdFXzQzNz15CiMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAoj
IENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdF
Xzg1MCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAojIENP
TkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1
NyBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAojIENPTkZJ
R19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBp
cyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAojIENPTkZJR19O
TFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBu
b3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAojIENPTkZJR19OTFNf
Q09ERVBBR0VfODY5IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qg
c2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09E
RVBBR0VfOTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0
CiMgQ09ORklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1
OV84IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAojIENP
TkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CkNPTkZJR19OTFNfQVNDSUk9eQpDT05G
SUdfTkxTX0lTTzg4NTlfMT15CiMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAojIENP
TkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBu
b3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNP
ODg1OV82IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0CiMgQ09O
RklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBu
b3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKQ09ORklHX05MU19JU084
ODU5XzE1PXkKIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19LT0k4
X1UgaXMgbm90IHNldApDT05GSUdfTkxTX1VURjg9eQoKIwojIERpc3RyaWJ1dGVkIExvY2sgTWFu
YWdlcgojCiMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CgojCiMgSW5zdHJ1bWVudGF0aW9uIFN1cHBv
cnQKIwpDT05GSUdfUFJPRklMSU5HPXkKQ09ORklHX09QUk9GSUxFPXkKQ09ORklHX0tQUk9CRVM9
eQoKIwojIEtlcm5lbCBoYWNraW5nCiMKQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQoj
IENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CiMgQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNL
IGlzIG5vdCBzZXQKQ09ORklHX01BR0lDX1NZU1JRPXkKQ09ORklHX1VOVVNFRF9TWU1CT0xTPXkK
Q09ORklHX0RFQlVHX0ZTPXkKIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CkNPTkZJ
R19ERUJVR19LRVJORUw9eQojIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0CkNPTkZJR19M
T0dfQlVGX1NISUZUPTE4CkNPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CiMgQ09ORklHX1NDSEVE
U1RBVFMgaXMgbm90IHNldAojIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CiMgQ09ORklH
X0RFQlVHX1NMQUIgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBz
ZXQKIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfU1BJ
TkxPQ0sgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKIyBDT05G
SUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMg
bm90IHNldAojIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiMgQ09ORklH
X0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX0tP
QkpFQ1QgaXMgbm90IHNldApDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiMgQ09ORklHX0RFQlVH
X0lORk8gaXMgbm90IHNldAojIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CiMgQ09ORklHX0RF
QlVHX0xJU1QgaXMgbm90IHNldAojIENPTkZJR19GUkFNRV9QT0lOVEVSIGlzIG5vdCBzZXQKIyBD
T05GSUdfRk9SQ0VEX0lOTElOSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVT
VCBpcyBub3Qgc2V0CiMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKIyBDT05GSUdfRkFVTFRfSU5K
RUNUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfUk9EQVRBIGlzIG5vdCBzZXQKIyBDT05G
SUdfSU9NTVVfREVCVUcgaXMgbm90IHNldApDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVz15CiMg
Q09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKCiMKIyBTZWN1cml0eSBvcHRpb25z
CiMKQ09ORklHX0tFWVM9eQojIENPTkZJR19LRVlTX0RFQlVHX1BST0NfS0VZUyBpcyBub3Qgc2V0
CkNPTkZJR19TRUNVUklUWT15CiMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgaXMgbm90IHNldApD
T05GSUdfU0VDVVJJVFlfQ0FQQUJJTElUSUVTPW0KIyBDT05GSUdfU0VDVVJJVFlfUk9PVFBMVUcg
aXMgbm90IHNldAoKIwojIENyeXB0b2dyYXBoaWMgb3B0aW9ucwojCkNPTkZJR19DUllQVE89eQpD
T05GSUdfQ1JZUFRPX0FMR0FQST15CkNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKQ09ORklHX0NS
WVBUT19IQVNIPW0KQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKQ09ORklHX0NSWVBUT19ITUFDPW0K
Q09ORklHX0NSWVBUT19YQ0JDPW0KQ09ORklHX0NSWVBUT19OVUxMPW0KQ09ORklHX0NSWVBUT19N
RDQ9bQpDT05GSUdfQ1JZUFRPX01ENT1tCkNPTkZJR19DUllQVE9fU0hBMT1tCkNPTkZJR19DUllQ
VE9fU0hBMjU2PW0KQ09ORklHX0NSWVBUT19TSEE1MTI9bQpDT05GSUdfQ1JZUFRPX1dQNTEyPW0K
Q09ORklHX0NSWVBUT19UR1IxOTI9bQpDT05GSUdfQ1JZUFRPX0dGMTI4TVVMPW0KQ09ORklHX0NS
WVBUT19FQ0I9eQpDT05GSUdfQ1JZUFRPX0NCQz1tCkNPTkZJR19DUllQVE9fUENCQz1tCkNPTkZJ
R19DUllQVE9fTFJXPW0KQ09ORklHX0NSWVBUT19ERVM9bQpDT05GSUdfQ1JZUFRPX0ZDUllQVD1t
CkNPTkZJR19DUllQVE9fQkxPV0ZJU0g9bQpDT05GSUdfQ1JZUFRPX1RXT0ZJU0g9bQpDT05GSUdf
Q1JZUFRPX1RXT0ZJU0hfQ09NTU9OPW0KQ09ORklHX0NSWVBUT19UV09GSVNIX1g4Nl82ND1tCkNP
TkZJR19DUllQVE9fU0VSUEVOVD1tCkNPTkZJR19DUllQVE9fQUVTPXkKQ09ORklHX0NSWVBUT19B
RVNfWDg2XzY0PW0KQ09ORklHX0NSWVBUT19DQVNUNT1tCkNPTkZJR19DUllQVE9fQ0FTVDY9bQpD
T05GSUdfQ1JZUFRPX1RFQT1tCkNPTkZJR19DUllQVE9fQVJDND15CkNPTkZJR19DUllQVE9fS0hB
WkFEPW0KQ09ORklHX0NSWVBUT19BTlVCSVM9bQpDT05GSUdfQ1JZUFRPX0RFRkxBVEU9bQpDT05G
SUdfQ1JZUFRPX01JQ0hBRUxfTUlDPXkKQ09ORklHX0NSWVBUT19DUkMzMkM9bQpDT05GSUdfQ1JZ
UFRPX0NBTUVMTElBPW0KQ09ORklHX0NSWVBUT19URVNUPW0KCiMKIyBIYXJkd2FyZSBjcnlwdG8g
ZGV2aWNlcwojCgojCiMgTGlicmFyeSByb3V0aW5lcwojCkNPTkZJR19CSVRSRVZFUlNFPXkKQ09O
RklHX0NSQ19DQ0lUVD15CiMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKQ09ORklHX0NSQzMyPXkK
Q09ORklHX0xJQkNSQzMyQz1tCkNPTkZJR19aTElCX0lORkxBVEU9bQpDT05GSUdfWkxJQl9ERUZM
QVRFPW0KQ09ORklHX1BMSVNUPXkKQ09ORklHX0hBU19JT01FTT15CkNPTkZJR19IQVNfSU9QT1JU
PXkK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117948</attachid>
            <date>2007-05-02 12:26 0000</date>
            <desc>Patch for 2.6.21.1 to upstream version 08e</desc>
            <filename>tifm-update-to-0.8e.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGxpbnV4LTIuNi4yMS4xL2RyaXZlcnMvbWlzYy90aWZtXzd4eDEuYwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBsaW51eC0yLjYuMjEuMS5vcmlnL2RyaXZlcnMvbWlzYy90aWZtXzd4eDEuYworKysgbGlu
dXgtMi42LjIxLjEvZHJpdmVycy9taXNjL3RpZm1fN3h4MS5jCkBAIC05LDEyICs5LDIxIEBACiAg
KgogICovCiAKLSNpbmNsdWRlIDxsaW51eC90aWZtLmg+Ci0jaW5jbHVkZSA8bGludXgvZG1hLW1h
cHBpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9mcmVlemVyLmg+CisjaW5jbHVkZSAibGludXgvdGlm
bS5oIgogCiAjZGVmaW5lIERSSVZFUl9OQU1FICJ0aWZtXzd4eDEiCi0jZGVmaW5lIERSSVZFUl9W
RVJTSU9OICIwLjciCisjZGVmaW5lIERSSVZFUl9WRVJTSU9OICIwLjgiCisKKyNkZWZpbmUgVElG
TV9JUlFfRU5BQkxFICAgICAgICAgICAweDgwMDAwMDAwCisjZGVmaW5lIFRJRk1fSVJRX1NPQ0tN
QVNLKHgpICAgICAgKHgpCisjZGVmaW5lIFRJRk1fSVJRX0NBUkRNQVNLKHgpICAgICAgKCh4KSA8
PCA4KQorI2RlZmluZSBUSUZNX0lSUV9GSUZPTUFTSyh4KSAgICAgICgoeCkgPDwgMTYpCisjZGVm
aW5lIFRJRk1fSVJRX1NFVEFMTCAgICAgICAgICAgMHhmZmZmZmZmZgorCitzdGF0aWMgdm9pZCB0
aWZtXzd4eDFfZHVtbXlfZWplY3Qoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sCisJCQkJICBzdHJ1
Y3QgdGlmbV9kZXYgKnNvY2spCit7Cit9CiAKIHN0YXRpYyB2b2lkIHRpZm1fN3h4MV9lamVjdChz
dHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwgc3RydWN0IHRpZm1fZGV2ICpzb2NrKQogewpAQCAtMjIs
NyArMzEsNyBAQCBzdGF0aWMgdm9pZCB0aWZtXzd4eDFfZWplY3Qoc3RydWN0IHRpZm1fCiAKIAlz
cGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKIAlmbS0+c29ja2V0X2NoYW5nZV9z
ZXQgfD0gMSA8PCBzb2NrLT5zb2NrZXRfaWQ7Ci0Jd2FrZV91cF9hbGwoJmZtLT5jaGFuZ2Vfc2V0
X25vdGlmeSk7CisJdGlmbV9xdWV1ZV93b3JrKCZmbS0+bWVkaWFfc3dpdGNoZXIpOwogCXNwaW5f
dW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7CiB9CiAKQEAgLTMwLDggKzM5LDcg
QEAgc3RhdGljIGlycXJldHVybl90IHRpZm1fN3h4MV9pc3IoaW50IGlycQogewogCXN0cnVjdCB0
aWZtX2FkYXB0ZXIgKmZtID0gZGV2X2lkOwogCXN0cnVjdCB0aWZtX2RldiAqc29jazsKLQl1bnNp
Z25lZCBpbnQgaXJxX3N0YXR1czsKLQl1bnNpZ25lZCBpbnQgc29ja19pcnFfc3RhdHVzLCBjbnQ7
CisJdW5zaWduZWQgaW50IGlycV9zdGF0dXMsIGNudDsKIAogCXNwaW5fbG9jaygmZm0tPmxvY2sp
OwogCWlycV9zdGF0dXMgPSByZWFkbChmbS0+YWRkciArIEZNX0lOVEVSUlVQVF9TVEFUVVMpOwpA
QCAtNDUsMTIgKzUzLDEyIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCB0aWZtXzd4eDFfaXNyKGludCBp
cnEKIAogCQlmb3IgKGNudCA9IDA7IGNudCA8IGZtLT5udW1fc29ja2V0czsgY250KyspIHsKIAkJ
CXNvY2sgPSBmbS0+c29ja2V0c1tjbnRdOwotCQkJc29ja19pcnFfc3RhdHVzID0gKGlycV9zdGF0
dXMgPj4gY250KQotCQkJCQkgICYgKFRJRk1fSVJRX0ZJRk9NQVNLKDEpCi0JCQkJCSAgICAgfCBU
SUZNX0lSUV9DQVJETUFTSygxKSk7Ci0KLQkJCWlmIChzb2NrICYmIHNvY2tfaXJxX3N0YXR1cykK
LQkJCQlzb2NrLT5zaWduYWxfaXJxKHNvY2ssIHNvY2tfaXJxX3N0YXR1cyk7CisJCQlpZiAoc29j
aykgeworCQkJCWlmICgoaXJxX3N0YXR1cyA+PiBjbnQpICYgVElGTV9JUlFfRklGT01BU0soMSkp
CisJCQkJCXNvY2stPmRhdGFfZXZlbnQoc29jayk7CisJCQkJaWYgKChpcnFfc3RhdHVzID4+IGNu
dCkgJiBUSUZNX0lSUV9DQVJETUFTSygxKSkKKwkJCQkJc29jay0+Y2FyZF9ldmVudChzb2NrKTsK
KwkJCX0KIAkJfQogCiAJCWZtLT5zb2NrZXRfY2hhbmdlX3NldCB8PSBpcnFfc3RhdHVzCkBAIC01
OCw1NyArNjYsNTcgQEAgc3RhdGljIGlycXJldHVybl90IHRpZm1fN3h4MV9pc3IoaW50IGlycQog
CX0KIAl3cml0ZWwoaXJxX3N0YXR1cywgZm0tPmFkZHIgKyBGTV9JTlRFUlJVUFRfU1RBVFVTKTsK
IAotCWlmICghZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KQorCWlmIChmbS0+ZmluaXNoX21lKQorCQlj
b21wbGV0ZV9hbGwoZm0tPmZpbmlzaF9tZSk7CisJZWxzZSBpZiAoIWZtLT5zb2NrZXRfY2hhbmdl
X3NldCkKIAkJd3JpdGVsKFRJRk1fSVJRX0VOQUJMRSwgZm0tPmFkZHIgKyBGTV9TRVRfSU5URVJS
VVBUX0VOQUJMRSk7CiAJZWxzZQotCQl3YWtlX3VwX2FsbCgmZm0tPmNoYW5nZV9zZXRfbm90aWZ5
KTsKKwkJdGlmbV9xdWV1ZV93b3JrKCZmbS0+bWVkaWFfc3dpdGNoZXIpOwogCiAJc3Bpbl91bmxv
Y2soJmZtLT5sb2NrKTsKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKLXN0YXRpYyB0aWZtX21l
ZGlhX2lkIHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dlcihjaGFyIF9faW9tZW0gKnNvY2tfYWRk
ciwKLQkJCQkJCSBpbnQgaXNfeDIpCitzdGF0aWMgdW5zaWduZWQgY2hhciB0aWZtXzd4eDFfdG9n
Z2xlX3NvY2tfcG93ZXIoY2hhciBfX2lvbWVtICpzb2NrX2FkZHIpCiB7CiAJdW5zaWduZWQgaW50
IHNfc3RhdGU7CiAJaW50IGNudDsKIAogCXdyaXRlbCgweDBlMDAsIHNvY2tfYWRkciArIFNPQ0tf
Q09OVFJPTCk7CiAKLQlmb3IgKGNudCA9IDA7IGNudCA8IDEwMDsgY250KyspIHsKKwlmb3IgKGNu
dCA9IDE2OyBjbnQgPD0gMjU2OyBjbnQgPDw9IDEpIHsKIAkJaWYgKCEoVElGTV9TT0NLX1NUQVRF
X1BPV0VSRUQKIAkJICAgICAgJiByZWFkbChzb2NrX2FkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUp
KSkKIAkJCWJyZWFrOwotCQltc2xlZXAoMTApOworCisJCW1zbGVlcChjbnQpOwogCX0KIAogCXNf
c3RhdGUgPSByZWFkbChzb2NrX2FkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpOwogCWlmICghKFRJ
Rk1fU09DS19TVEFURV9PQ0NVUElFRCAmIHNfc3RhdGUpKQotCQlyZXR1cm4gRk1fTlVMTDsKKwkJ
cmV0dXJuIDA7CiAKLQlpZiAoaXNfeDIpIHsKLQkJd3JpdGVsKChzX3N0YXRlICYgNykgfCAweDBj
MDAsIHNvY2tfYWRkciArIFNPQ0tfQ09OVFJPTCk7Ci0JfSBlbHNlIHsKLQkJLy8gU21hcnRNZWRp
YSBjYXJkcyBuZWVkIGV4dHJhIDQwIG1zZWMKLQkJaWYgKCgocmVhZGwoc29ja19hZGRyICsgU09D
S19QUkVTRU5UX1NUQVRFKSA+PiA0KSAmIDcpID09IDEpCi0JCQltc2xlZXAoNDApOwotCQl3cml0
ZWwocmVhZGwoc29ja19hZGRyICsgU09DS19DT05UUk9MKSB8IFRJRk1fQ1RSTF9MRUQsCi0JCSAg
ICAgICBzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpOwotCQltc2xlZXAoMTApOwotCQl3cml0ZWwo
KHNfc3RhdGUgJiAweDcpIHwgMHgwYzAwIHwgVElGTV9DVFJMX0xFRCwKLQkJCXNvY2tfYWRkciAr
IFNPQ0tfQ09OVFJPTCk7Ci0JfQorCXdyaXRlbChyZWFkbChzb2NrX2FkZHIgKyBTT0NLX0NPTlRS
T0wpIHwgVElGTV9DVFJMX0xFRCwKKwkgICAgICAgc29ja19hZGRyICsgU09DS19DT05UUk9MKTsK
IAotCWZvciAoY250ID0gMDsgY250IDwgMTAwOyBjbnQrKykgeworCS8qIHhkIG5lZWRzIHNvbWUg
ZXh0cmEgdGltZSBiZWZvcmUgcG93ZXIgb24gKi8KKwlpZiAoKChyZWFkbChzb2NrX2FkZHIgKyBT
T0NLX1BSRVNFTlRfU1RBVEUpID4+IDQpICYgNykKKwkgICAgPT0gVElGTV9UWVBFX1hEKQorCQlt
c2xlZXAoNDApOworCisJd3JpdGVsKChzX3N0YXRlICYgNykgfCAweDBjMDAsIHNvY2tfYWRkciAr
IFNPQ0tfQ09OVFJPTCk7CisJLyogd2FpdCBmb3IgcG93ZXIgdG8gc3RhYmlsaXplICovCisJbXNs
ZWVwKDIwKTsKKwlmb3IgKGNudCA9IDE2OyBjbnQgPD0gMjU2OyBjbnQgPDw9IDEpIHsKIAkJaWYg
KChUSUZNX1NPQ0tfU1RBVEVfUE9XRVJFRAogCQkgICAgICYgcmVhZGwoc29ja19hZGRyICsgU09D
S19QUkVTRU5UX1NUQVRFKSkpCiAJCQlicmVhazsKLQkJbXNsZWVwKDEwKTsKKworCQltc2xlZXAo
Y250KTsKIAl9CiAKLQlpZiAoIWlzX3gyKQotCQl3cml0ZWwocmVhZGwoc29ja19hZGRyICsgU09D
S19DT05UUk9MKSAmICh+VElGTV9DVFJMX0xFRCksCi0JCSAgICAgICBzb2NrX2FkZHIgKyBTT0NL
X0NPTlRST0wpOworCXdyaXRlbChyZWFkbChzb2NrX2FkZHIgKyBTT0NLX0NPTlRST0wpICYgKH5U
SUZNX0NUUkxfTEVEKSwKKwkgICAgICAgc29ja19hZGRyICsgU09DS19DT05UUk9MKTsKIAogCXJl
dHVybiAocmVhZGwoc29ja19hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSA+PiA0KSAmIDc7CiB9
CkBAIC0xMTksMTI3ICsxMjcsNzcgQEAgdGlmbV83eHgxX3NvY2tfYWRkcihjaGFyIF9faW9tZW0g
KmJhc2VfYQogCXJldHVybiBiYXNlX2FkZHIgKyAoKHNvY2tfbnVtICsgMSkgPDwgMTApOwogfQog
Ci1zdGF0aWMgaW50IHRpZm1fN3h4MV9zd2l0Y2hfbWVkaWEodm9pZCAqZGF0YSkKK3N0YXRpYyB2
b2lkIHRpZm1fN3h4MV9zd2l0Y2hfbWVkaWEoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewot
CXN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtID0gZGF0YTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwot
CXRpZm1fbWVkaWFfaWQgbWVkaWFfaWQ7Ci0JY2hhciAqY2FyZF9uYW1lID0gInh4IjsKLQlpbnQg
Y250LCByYzsKKwlzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSA9IGNvbnRhaW5lcl9vZih3b3JrLCBz
dHJ1Y3QgdGlmbV9hZGFwdGVyLAorCQkJCQkgICAgICAgbWVkaWFfc3dpdGNoZXIpOwogCXN0cnVj
dCB0aWZtX2RldiAqc29jazsKLQl1bnNpZ25lZCBpbnQgc29ja2V0X2NoYW5nZV9zZXQ7Ci0KLQl3
aGlsZSAoMSkgewotCQlyYyA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShmbS0+Y2hhbmdlX3Nl
dF9ub3RpZnksCi0JCQkJCSAgICAgIGZtLT5zb2NrZXRfY2hhbmdlX3NldCk7Ci0JCWlmIChyYyA9
PSAtRVJFU1RBUlRTWVMpCi0JCQl0cnlfdG9fZnJlZXplKCk7CisJdW5zaWduZWQgbG9uZyBmbGFn
czsKKwl1bnNpZ25lZCBjaGFyIG1lZGlhX2lkOworCXVuc2lnbmVkIGludCBzb2NrZXRfY2hhbmdl
X3NldCwgY250OwogCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQlz
b2NrZXRfY2hhbmdlX3NldCA9IGZtLT5zb2NrZXRfY2hhbmdlX3NldDsKLQkJZm0tPnNvY2tldF9j
aGFuZ2Vfc2V0ID0gMDsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKKwlz
b2NrZXRfY2hhbmdlX3NldCA9IGZtLT5zb2NrZXRfY2hhbmdlX3NldDsKKwlmbS0+c29ja2V0X2No
YW5nZV9zZXQgPSAwOwogCi0JCWRldl9kYmcoZm0tPmRldiwgImNoZWNraW5nIG1lZGlhIHNldCAl
eFxuIiwKLQkJCXNvY2tldF9jaGFuZ2Vfc2V0KTsKKwlkZXZfZGJnKGZtLT5jZGV2LmRldiwgImNo
ZWNraW5nIG1lZGlhIHNldCAleFxuIiwKKwkJc29ja2V0X2NoYW5nZV9zZXQpOwogCi0JCWlmIChr
dGhyZWFkX3Nob3VsZF9zdG9wKCkpCi0JCQlzb2NrZXRfY2hhbmdlX3NldCA9ICgxIDw8IGZtLT5u
dW1fc29ja2V0cykgLSAxOworCWlmICghc29ja2V0X2NoYW5nZV9zZXQpIHsKIAkJc3Bpbl91bmxv
Y2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKKwkJcmV0dXJuOworCX0KIAotCQlpZiAo
IXNvY2tldF9jaGFuZ2Vfc2V0KQorCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRz
OyBjbnQrKykgeworCQlpZiAoIShzb2NrZXRfY2hhbmdlX3NldCAmICgxIDw8IGNudCkpKQogCQkJ
Y29udGludWU7Ci0KLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCWZv
ciAoY250ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRzOyBjbnQrKykgewotCQkJaWYgKCEoc29j
a2V0X2NoYW5nZV9zZXQgJiAoMSA8PCBjbnQpKSkKLQkJCQljb250aW51ZTsKLQkJCXNvY2sgPSBm
bS0+c29ja2V0c1tjbnRdOwotCQkJaWYgKHNvY2spIHsKLQkJCQlwcmludGsoS0VSTl9JTkZPIERS
SVZFUl9OQU1FCi0JCQkJICAgICAgICI6IGRlbWFuZCByZW1vdmluZyBjYXJkIGZyb20gc29ja2V0
ICVkXG4iLAotCQkJCSAgICAgICBjbnQpOwotCQkJCWZtLT5zb2NrZXRzW2NudF0gPSBOVUxMOwot
CQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQkJZGV2aWNl
X3VucmVnaXN0ZXIoJnNvY2stPmRldik7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2Nr
LCBmbGFncyk7Ci0JCQkJd3JpdGVsKDB4MGUwMCwKLQkJCQkgICAgICAgdGlmbV83eHgxX3NvY2tf
YWRkcihmbS0+YWRkciwgY250KQotCQkJCSAgICAgICArIFNPQ0tfQ09OVFJPTCk7Ci0JCQl9Ci0J
CQlpZiAoa3RocmVhZF9zaG91bGRfc3RvcCgpKQotCQkJCWNvbnRpbnVlOwotCisJCXNvY2sgPSBm
bS0+c29ja2V0c1tjbnRdOworCQlpZiAoc29jaykgeworCQkJcHJpbnRrKEtFUk5fSU5GTworCQkJ
ICAgICAgICIlcyA6IGRlbWFuZCByZW1vdmluZyBjYXJkIGZyb20gc29ja2V0ICV1OiV1XG4iLAor
CQkJICAgICAgIGZtLT5jZGV2LmNsYXNzX2lkLCBmbS0+aWQsIGNudCk7CisJCQlmbS0+c29ja2V0
c1tjbnRdID0gTlVMTDsKIAkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFn
cyk7Ci0JCQltZWRpYV9pZCA9IHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dlcigKLQkJCQkJdGlm
bV83eHgxX3NvY2tfYWRkcihmbS0+YWRkciwgY250KSwKLQkJCQkJZm0tPm51bV9zb2NrZXRzID09
IDIpOwotCQkJaWYgKG1lZGlhX2lkKSB7Ci0JCQkJc29jayA9IHRpZm1fYWxsb2NfZGV2aWNlKGZt
KTsKLQkJCQlpZiAoc29jaykgewotCQkJCQlzb2NrLT5hZGRyID0gdGlmbV83eHgxX3NvY2tfYWRk
cihmbS0+YWRkciwKLQkJCQkJCQkJCSBjbnQpOwotCQkJCQlzb2NrLT5tZWRpYV9pZCA9IG1lZGlh
X2lkOwotCQkJCQlzb2NrLT5zb2NrZXRfaWQgPSBjbnQ7Ci0JCQkJCXN3aXRjaCAobWVkaWFfaWQp
IHsKLQkJCQkJY2FzZSAxOgotCQkJCQkJY2FyZF9uYW1lID0gInhkIjsKLQkJCQkJCWJyZWFrOwot
CQkJCQljYXNlIDI6Ci0JCQkJCQljYXJkX25hbWUgPSAibXMiOwotCQkJCQkJYnJlYWs7Ci0JCQkJ
CWNhc2UgMzoKLQkJCQkJCWNhcmRfbmFtZSA9ICJzZCI7Ci0JCQkJCQlicmVhazsKLQkJCQkJZGVm
YXVsdDoKLQkJCQkJCXRpZm1fZnJlZV9kZXZpY2UoJnNvY2stPmRldik7Ci0JCQkJCQlzcGluX2xv
Y2tfaXJxc2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQkJCQkJCWNvbnRpbnVlOwotCQkJCQl9Ci0J
CQkJCXNucHJpbnRmKHNvY2stPmRldi5idXNfaWQsIEJVU19JRF9TSVpFLAotCQkJCQkJICJ0aWZt
XyVzJXU6JXUiLCBjYXJkX25hbWUsCi0JCQkJCQkgZm0tPmlkLCBjbnQpOwotCQkJCQlwcmludGso
S0VSTl9JTkZPIERSSVZFUl9OQU1FCi0JCQkJCSAgICAgICAiOiAlcyBjYXJkIGRldGVjdGVkIGlu
IHNvY2tldCAlZFxuIiwKLQkJCQkJICAgICAgIGNhcmRfbmFtZSwgY250KTsKLQkJCQkJaWYgKCFk
ZXZpY2VfcmVnaXN0ZXIoJnNvY2stPmRldikpIHsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZm
bS0+bG9jaywgZmxhZ3MpOwotCQkJCQkJaWYgKCFmbS0+c29ja2V0c1tjbnRdKSB7Ci0JCQkJCQkJ
Zm0tPnNvY2tldHNbY250XSA9IHNvY2s7Ci0JCQkJCQkJc29jayA9IE5VTEw7Ci0JCQkJCQl9Ci0J
CQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQkJCQl9Ci0J
CQkJCWlmIChzb2NrKQotCQkJCQkJdGlmbV9mcmVlX2RldmljZSgmc29jay0+ZGV2KTsKLQkJCQl9
Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0JCQl9CisJCQlkZXZp
Y2VfdW5yZWdpc3Rlcigmc29jay0+ZGV2KTsKKwkJCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9j
aywgZmxhZ3MpOworCQkJd3JpdGVsKDB4MGUwMCwgdGlmbV83eHgxX3NvY2tfYWRkcihmbS0+YWRk
ciwgY250KQorCQkJICAgICAgICsgU09DS19DT05UUk9MKTsKIAkJfQogCi0JCWlmICgha3RocmVh
ZF9zaG91bGRfc3RvcCgpKSB7Ci0JCQl3cml0ZWwoVElGTV9JUlFfRklGT01BU0soc29ja2V0X2No
YW5nZV9zZXQpCi0JCQkgICAgICAgfCBUSUZNX0lSUV9DQVJETUFTSyhzb2NrZXRfY2hhbmdlX3Nl
dCksCi0JCQkgICAgICAgZm0tPmFkZHIgKyBGTV9DTEVBUl9JTlRFUlJVUFRfRU5BQkxFKTsKLQkJ
CXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhzb2NrZXRfY2hhbmdlX3NldCkKLQkJCSAgICAgICB8
IFRJRk1fSVJRX0NBUkRNQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KSwKLQkJCSAgICAgICBmbS0+YWRk
ciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKLQkJCXdyaXRlbChUSUZNX0lSUV9FTkFCTEUs
Ci0JCQkgICAgICAgZm0tPmFkZHIgKyBGTV9TRVRfSU5URVJSVVBUX0VOQUJMRSk7Ci0JCQlzcGlu
X3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQl9IGVsc2UgewotCQkJZm9y
IChjbnQgPSAwOyBjbnQgPCBmbS0+bnVtX3NvY2tldHM7IGNudCsrKSB7Ci0JCQkJaWYgKGZtLT5z
b2NrZXRzW2NudF0pCi0JCQkJCWZtLT5zb2NrZXRfY2hhbmdlX3NldCB8PSAxIDw8IGNudDsKLQkJ
CX0KLQkJCWlmICghZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KSB7Ci0JCQkJc3Bpbl91bmxvY2tfaXJx
cmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQkJCQlyZXR1cm4gMDsKLQkJCX0gZWxzZSB7CisJ
CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZtLT5sb2NrLCBmbGFncyk7CisKKwkJbWVkaWFfaWQg
PSB0aWZtXzd4eDFfdG9nZ2xlX3NvY2tfcG93ZXIoCisJCQkJdGlmbV83eHgxX3NvY2tfYWRkcihm
bS0+YWRkciwgY250KSk7CisKKwkJLy8gdGlmbV9hbGxvY19kZXZpY2Ugd2lsbCBjaGVjayBpZiBt
ZWRpYV9pZCBpcyB2YWxpZAorCQlzb2NrID0gdGlmbV9hbGxvY19kZXZpY2UoZm0sIGNudCwgbWVk
aWFfaWQpOworCQlpZiAoc29jaykgeworCQkJc29jay0+YWRkciA9IHRpZm1fN3h4MV9zb2NrX2Fk
ZHIoZm0tPmFkZHIsIGNudCk7CisKKwkJCWlmICghZGV2aWNlX3JlZ2lzdGVyKCZzb2NrLT5kZXYp
KSB7CisJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7CisJCQkJaWYgKCFm
bS0+c29ja2V0c1tjbnRdKSB7CisJCQkJCWZtLT5zb2NrZXRzW2NudF0gPSBzb2NrOworCQkJCQlz
b2NrID0gTlVMTDsKKwkJCQl9CiAJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ss
IGZsYWdzKTsKIAkJCX0KKwkJCWlmIChzb2NrKQorCQkJCXRpZm1fZnJlZV9kZXZpY2UoJnNvY2st
PmRldik7CiAJCX0KKwkJc3Bpbl9sb2NrX2lycXNhdmUoJmZtLT5sb2NrLCBmbGFncyk7CiAJfQot
CXJldHVybiAwOworCisJd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKHNvY2tldF9jaGFuZ2Vfc2V0
KQorCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKHNvY2tldF9jaGFuZ2Vfc2V0KSwKKwkgICAg
ICAgZm0tPmFkZHIgKyBGTV9DTEVBUl9JTlRFUlJVUFRfRU5BQkxFKTsKKworCXdyaXRlbChUSUZN
X0lSUV9GSUZPTUFTSyhzb2NrZXRfY2hhbmdlX3NldCkKKwkgICAgICAgfCBUSUZNX0lSUV9DQVJE
TUFTSyhzb2NrZXRfY2hhbmdlX3NldCksCisJICAgICAgIGZtLT5hZGRyICsgRk1fU0VUX0lOVEVS
UlVQVF9FTkFCTEUpOworCisJd3JpdGVsKFRJRk1fSVJRX0VOQUJMRSwgZm0tPmFkZHIgKyBGTV9T
RVRfSU5URVJSVVBUX0VOQUJMRSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ss
IGZsYWdzKTsKIH0KIAogI2lmZGVmIENPTkZJR19QTQpAQCAtMjU4LDkgKzIxNiwxMSBAQCBzdGF0
aWMgaW50IHRpZm1fN3h4MV9zdXNwZW5kKHN0cnVjdCBwY2lfCiBzdGF0aWMgaW50IHRpZm1fN3h4
MV9yZXN1bWUoc3RydWN0IHBjaV9kZXYgKmRldikKIHsKIAlzdHJ1Y3QgdGlmbV9hZGFwdGVyICpm
bSA9IHBjaV9nZXRfZHJ2ZGF0YShkZXYpOwotCWludCBjbnQsIHJjOworCWludCByYzsKKwl1bnNp
Z25lZCBpbnQgZ29vZF9zb2NrZXRzID0gMCwgYmFkX3NvY2tldHMgPSAwOwogCXVuc2lnbmVkIGxv
bmcgZmxhZ3M7Ci0JdGlmbV9tZWRpYV9pZCBuZXdfaWRzW2ZtLT5udW1fc29ja2V0c107CisJdW5z
aWduZWQgY2hhciBuZXdfaWRzW2ZtLT5udW1fc29ja2V0c107CisJREVDTEFSRV9DT01QTEVUSU9O
X09OU1RBQ0soZmluaXNoX3Jlc3VtZSk7CiAKIAlwY2lfc2V0X3Bvd2VyX3N0YXRlKGRldiwgUENJ
X0QwKTsKIAlwY2lfcmVzdG9yZV9zdGF0ZShkZXYpOwpAQCAtMjcxLDQ1ICsyMzEsNDkgQEAgc3Rh
dGljIGludCB0aWZtXzd4eDFfcmVzdW1lKHN0cnVjdCBwY2lfZAogCiAJZGV2X2RiZygmZGV2LT5k
ZXYsICJyZXN1bWluZyBob3N0XG4iKTsKIAotCWZvciAoY250ID0gMDsgY250IDwgZm0tPm51bV9z
b2NrZXRzOyBjbnQrKykKLQkJbmV3X2lkc1tjbnRdID0gdGlmbV83eHgxX3RvZ2dsZV9zb2NrX3Bv
d2VyKAotCQkJCQl0aWZtXzd4eDFfc29ja19hZGRyKGZtLT5hZGRyLCBjbnQpLAotCQkJCQlmbS0+
bnVtX3NvY2tldHMgPT0gMik7CisJZm9yIChyYyA9IDA7IHJjIDwgZm0tPm51bV9zb2NrZXRzOyBy
YysrKQorCQluZXdfaWRzW3JjXSA9IHRpZm1fN3h4MV90b2dnbGVfc29ja19wb3dlcigKKwkJCQkJ
dGlmbV83eHgxX3NvY2tfYWRkcihmbS0+YWRkciwgcmMpKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgm
Zm0tPmxvY2ssIGZsYWdzKTsKLQlmbS0+c29ja2V0X2NoYW5nZV9zZXQgPSAwOwotCWZvciAoY250
ID0gMDsgY250IDwgZm0tPm51bV9zb2NrZXRzOyBjbnQrKykgewotCQlpZiAoZm0tPnNvY2tldHNb
Y250XSkgewotCQkJaWYgKGZtLT5zb2NrZXRzW2NudF0tPm1lZGlhX2lkID09IG5ld19pZHNbY250
XSkKLQkJCQlmbS0+c29ja2V0X2NoYW5nZV9zZXQgfD0gMSA8PCBjbnQ7Ci0KLQkJCWZtLT5zb2Nr
ZXRzW2NudF0tPm1lZGlhX2lkID0gbmV3X2lkc1tjbnRdOworCWZvciAocmMgPSAwOyByYyA8IGZt
LT5udW1fc29ja2V0czsgcmMrKykgeworCQlpZiAoZm0tPnNvY2tldHNbcmNdKSB7CisJCQlpZiAo
Zm0tPnNvY2tldHNbcmNdLT50eXBlID09IG5ld19pZHNbcmNdKQorCQkJCWdvb2Rfc29ja2V0cyB8
PSAxIDw8IHJjOworCQkJZWxzZQorCQkJCWJhZF9zb2NrZXRzIHw9IDEgPDwgcmM7CiAJCX0KIAl9
CiAKIAl3cml0ZWwoVElGTV9JUlFfRU5BQkxFIHwgVElGTV9JUlFfU09DS01BU0soKDEgPDwgZm0t
Pm51bV9zb2NrZXRzKSAtIDEpLAogCSAgICAgICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRf
RU5BQkxFKTsKLQlpZiAoIWZtLT5zb2NrZXRfY2hhbmdlX3NldCkgewotCQlzcGluX3VubG9ja19p
cnFyZXN0b3JlKCZmbS0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UgewotCQlm
bS0+c29ja2V0X2NoYW5nZV9zZXQgPSAwOworCWRldl9kYmcoJmRldi0+ZGV2LCAiY2hhbmdlIHNl
dHMgb24gcmVzdW1lOiBnb29kICV4LCBiYWQgJXhcbiIsCisJCWdvb2Rfc29ja2V0cywgYmFkX3Nv
Y2tldHMpOworCisJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0ID0gMDsKKwlpZiAoZ29vZF9zb2NrZXRz
KSB7CisJCWZtLT5maW5pc2hfbWUgPSAmZmluaXNoX3Jlc3VtZTsKIAkJc3Bpbl91bmxvY2tfaXJx
cmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKKwkJcmMgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX3Rp
bWVvdXQoJmZpbmlzaF9yZXN1bWUsIEhaKTsKKwkJZGV2X2RiZygmZGV2LT5kZXYsICJ3YWl0IHJl
dHVybmVkICVkXG4iLCByYyk7CisJCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhnb29kX3NvY2tl
dHMpCisJCSAgICAgICB8IFRJRk1fSVJRX0NBUkRNQVNLKGdvb2Rfc29ja2V0cyksCisJCSAgICAg
ICBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUpOworCQl3cml0ZWwoVElGTV9J
UlFfRklGT01BU0soZ29vZF9zb2NrZXRzKQorCQkgICAgICAgfCBUSUZNX0lSUV9DQVJETUFTSyhn
b29kX3NvY2tldHMpLAorCQkgICAgICAgZm0tPmFkZHIgKyBGTV9TRVRfSU5URVJSVVBUX0VOQUJM
RSk7CisJCXNwaW5fbG9ja19pcnFzYXZlKCZmbS0+bG9jaywgZmxhZ3MpOworCQlmbS0+ZmluaXNo
X21lID0gTlVMTDsKKwkJZm0tPnNvY2tldF9jaGFuZ2Vfc2V0IF49IGdvb2Rfc29ja2V0cyAmIGZt
LT5zb2NrZXRfY2hhbmdlX3NldDsKIAl9CiAKLQl3YWl0X2V2ZW50X3RpbWVvdXQoZm0tPmNoYW5n
ZV9zZXRfbm90aWZ5LCBmbS0+c29ja2V0X2NoYW5nZV9zZXQsIEhaKTsKKwlmbS0+c29ja2V0X2No
YW5nZV9zZXQgfD0gYmFkX3NvY2tldHM7CisJaWYgKGZtLT5zb2NrZXRfY2hhbmdlX3NldCkKKwkJ
dGlmbV9xdWV1ZV93b3JrKCZmbS0+bWVkaWFfc3dpdGNoZXIpOwogCi0Jc3Bpbl9sb2NrX2lycXNh
dmUoJmZtLT5sb2NrLCBmbGFncyk7Ci0Jd3JpdGVsKFRJRk1fSVJRX0ZJRk9NQVNLKGZtLT5zb2Nr
ZXRfY2hhbmdlX3NldCkKLQkgICAgICAgfCBUSUZNX0lSUV9DQVJETUFTSyhmbS0+c29ja2V0X2No
YW5nZV9zZXQpLAotCSAgICAgICBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUp
OwotCXdyaXRlbChUSUZNX0lSUV9GSUZPTUFTSyhmbS0+c29ja2V0X2NoYW5nZV9zZXQpCi0JICAg
ICAgIHwgVElGTV9JUlFfQ0FSRE1BU0soZm0tPnNvY2tldF9jaGFuZ2Vfc2V0KSwKLQkgICAgICAg
Zm0tPmFkZHIgKyBGTV9TRVRfSU5URVJSVVBUX0VOQUJMRSk7CisJc3Bpbl91bmxvY2tfaXJxcmVz
dG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsKIAl3cml0ZWwoVElGTV9JUlFfRU5BQkxFLAogCSAgICAg
ICBmbS0+YWRkciArIEZNX1NFVF9JTlRFUlJVUFRfRU5BQkxFKTsKLQlmbS0+c29ja2V0X2NoYW5n
ZV9zZXQgPSAwOwogCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZm0tPmxvY2ssIGZsYWdzKTsK
IAlyZXR1cm4gMDsKIH0KIApAQCAtMzIwLDYgKzI4NCwyMSBAQCBzdGF0aWMgaW50IHRpZm1fN3h4
MV9yZXN1bWUoc3RydWN0IHBjaV9kCiAKICNlbmRpZiAvKiBDT05GSUdfUE0gKi8KIAorc3RhdGlj
IGludCB0aWZtXzd4eDFfZHVtbXlfaGFzX21zX3BpZihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwK
KwkJCQkgICAgICBzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0
YXRpYyBpbnQgdGlmbV83eHgxX2hhc19tc19waWYoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sIHN0
cnVjdCB0aWZtX2RldiAqc29jaykKK3sKKwlpZiAoKChmbS0+bnVtX3NvY2tldHMgPT0gNCkgJiYg
KHNvY2stPnNvY2tldF9pZCA9PSAyKSkKKwkgICAgfHwgKChmbS0+bnVtX3NvY2tldHMgPT0gMikg
JiYgKHNvY2stPnNvY2tldF9pZCA9PSAwKSkpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9
CisKIHN0YXRpYyBpbnQgdGlmbV83eHgxX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpkZXYsCiAJCQkg
ICBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZGV2X2lkKQogewpAQCAtMzQ1LDIxICszMjQs
MTYgQEAgc3RhdGljIGludCB0aWZtXzd4eDFfcHJvYmUoc3RydWN0IHBjaV9kZQogCiAJcGNpX2lu
dHgoZGV2LCAxKTsKIAotCWZtID0gdGlmbV9hbGxvY19hZGFwdGVyKCk7CisJZm0gPSB0aWZtX2Fs
bG9jX2FkYXB0ZXIoZGV2LT5kZXZpY2UgPT0gUENJX0RFVklDRV9JRF9USV9YWDIxX1hYMTFfRk0K
KwkJCQk/IDQgOiAyLCAmZGV2LT5kZXYpOwogCWlmICghZm0pIHsKIAkJcmMgPSAtRU5PTUVNOwog
CQlnb3RvIGVycl9vdXRfaW50OwogCX0KIAotCWZtLT5kZXYgPSAmZGV2LT5kZXY7Ci0JZm0tPm51
bV9zb2NrZXRzID0gKGRldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfVElfWFgyMV9YWDExX0ZN
KQotCQkJICA/IDQgOiAyOwotCWZtLT5zb2NrZXRzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHRp
Zm1fZGV2KikgKiBmbS0+bnVtX3NvY2tldHMsCi0JCQkgICAgICBHRlBfS0VSTkVMKTsKLQlpZiAo
IWZtLT5zb2NrZXRzKQotCQlnb3RvIGVycl9vdXRfZnJlZTsKLQorCUlOSVRfV09SSygmZm0tPm1l
ZGlhX3N3aXRjaGVyLCB0aWZtXzd4eDFfc3dpdGNoX21lZGlhKTsKIAlmbS0+ZWplY3QgPSB0aWZt
Xzd4eDFfZWplY3Q7CisJZm0tPmhhc19tc19waWYgPSB0aWZtXzd4eDFfaGFzX21zX3BpZjsKIAlw
Y2lfc2V0X2RydmRhdGEoZGV2LCBmbSk7CiAKIAlmbS0+YWRkciA9IGlvcmVtYXAocGNpX3Jlc291
cmNlX3N0YXJ0KGRldiwgMCksCkBAIC0zNjcsMTkgKzM0MSwxNiBAQCBzdGF0aWMgaW50IHRpZm1f
N3h4MV9wcm9iZShzdHJ1Y3QgcGNpX2RlCiAJaWYgKCFmbS0+YWRkcikKIAkJZ290byBlcnJfb3V0
X2ZyZWU7CiAKLQlyYyA9IHJlcXVlc3RfaXJxKGRldi0+aXJxLCB0aWZtXzd4eDFfaXNyLCBJUlFG
X1NIQVJFRCwgRFJJVkVSX05BTUUsIGZtKTsKKwlyYyA9IHJlcXVlc3RfaXJxKGRldi0+aXJxLCB0
aWZtXzd4eDFfaXNyLCBTQV9TSElSUSwgRFJJVkVSX05BTUUsIGZtKTsKIAlpZiAocmMpCiAJCWdv
dG8gZXJyX291dF91bm1hcDsKIAotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmZtLT5jaGFuZ2Vfc2V0
X25vdGlmeSk7Ci0JcmMgPSB0aWZtX2FkZF9hZGFwdGVyKGZtLCB0aWZtXzd4eDFfc3dpdGNoX21l
ZGlhKTsKKwlyYyA9IHRpZm1fYWRkX2FkYXB0ZXIoZm0pOwogCWlmIChyYykKIAkJZ290byBlcnJf
b3V0X2lycTsKIAotCXdyaXRlbChUSUZNX0lSUV9TRVRBTEwsIGZtLT5hZGRyICsgRk1fQ0xFQVJf
SU5URVJSVVBUX0VOQUJMRSk7CiAJd3JpdGVsKFRJRk1fSVJRX0VOQUJMRSB8IFRJRk1fSVJRX1NP
Q0tNQVNLKCgxIDw8IGZtLT5udW1fc29ja2V0cykgLSAxKSwKIAkgICAgICAgZm0tPmFkZHIgKyBG
TV9TRVRfSU5URVJSVVBUX0VOQUJMRSk7Ci0Jd2FrZV91cF9wcm9jZXNzKGZtLT5tZWRpYV9zd2l0
Y2hlcik7CiAJcmV0dXJuIDA7CiAKIGVycl9vdXRfaXJxOgpAQCAtNDAxLDE4ICszNzIsMTMgQEAg
ZXJyX291dDoKIHN0YXRpYyB2b2lkIHRpZm1fN3h4MV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKmRl
dikKIHsKIAlzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSA9IHBjaV9nZXRfZHJ2ZGF0YShkZXYpOwot
CXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKKwlmbS0+ZWplY3QgPSB0aWZtXzd4eDFfZHVtbXlfZWpl
Y3Q7CisJZm0tPmhhc19tc19waWYgPSB0aWZtXzd4eDFfZHVtbXlfaGFzX21zX3BpZjsKIAl3cml0
ZWwoVElGTV9JUlFfU0VUQUxMLCBmbS0+YWRkciArIEZNX0NMRUFSX0lOVEVSUlVQVF9FTkFCTEUp
OwogCW1taW93YigpOwogCWZyZWVfaXJxKGRldi0+aXJxLCBmbSk7CiAKLQlzcGluX2xvY2tfaXJx
c2F2ZSgmZm0tPmxvY2ssIGZsYWdzKTsKLQlmbS0+c29ja2V0X2NoYW5nZV9zZXQgPSAoMSA8PCBm
bS0+bnVtX3NvY2tldHMpIC0gMTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmbS0+bG9jaywg
ZmxhZ3MpOwotCi0Ja3RocmVhZF9zdG9wKGZtLT5tZWRpYV9zd2l0Y2hlcik7Ci0KIAl0aWZtX3Jl
bW92ZV9hZGFwdGVyKGZtKTsKIAogCXBjaV9zZXRfZHJ2ZGF0YShkZXYsIE5VTEwpOwpJbmRleDog
bGludXgtMi42LjIxLjEvZHJpdmVycy9taXNjL3RpZm1fY29yZS5jCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxp
bnV4LTIuNi4yMS4xLm9yaWcvZHJpdmVycy9taXNjL3RpZm1fY29yZS5jCisrKyBsaW51eC0yLjYu
MjEuMS9kcml2ZXJzL21pc2MvdGlmbV9jb3JlLmMKQEAgLTksNzYgKzksMTI5IEBACiAgKgogICov
CiAKLSNpbmNsdWRlIDxsaW51eC90aWZtLmg+CisjaW5jbHVkZSAibGludXgvdGlmbS5oIgogI2lu
Y2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pZHIuaD4KIAogI2RlZmluZSBE
UklWRVJfTkFNRSAidGlmbV9jb3JlIgotI2RlZmluZSBEUklWRVJfVkVSU0lPTiAiMC43IgorI2Rl
ZmluZSBEUklWRVJfVkVSU0lPTiAiMC44IgogCitzdGF0aWMgc3RydWN0IHdvcmtxdWV1ZV9zdHJ1
Y3QgKndvcmtxdWV1ZTsKIHN0YXRpYyBERUZJTkVfSURSKHRpZm1fYWRhcHRlcl9pZHIpOwogc3Rh
dGljIERFRklORV9TUElOTE9DSyh0aWZtX2FkYXB0ZXJfbG9jayk7CiAKLXN0YXRpYyB0aWZtX21l
ZGlhX2lkICp0aWZtX2RldmljZV9tYXRjaCh0aWZtX21lZGlhX2lkICppZHMsCi0JCQlzdHJ1Y3Qg
dGlmbV9kZXYgKmRldikKK3N0YXRpYyBjb25zdCBjaGFyICp0aWZtX21lZGlhX3R5cGVfbmFtZSh1
bnNpZ25lZCBjaGFyIHR5cGUsIHVuc2lnbmVkIGNoYXIgbnQpCiB7Ci0Jd2hpbGUgKCppZHMpIHsK
LQkJaWYgKGRldi0+bWVkaWFfaWQgPT0gKmlkcykKLQkJCXJldHVybiBpZHM7Ci0JCWlkcysrOwot
CX0KLQlyZXR1cm4gTlVMTDsKKwljb25zdCBjaGFyICpjYXJkX3R5cGVfbmFtZVszXVszXSA9IHsK
KwkJeyAiU21hcnRNZWRpYS94RCIsICJNZW1vcnlTdGljayIsICJNTUMvU0QiIH0sCisJCXsgIlhE
IiwgIk1TIiwgIlNEIn0sCisJCXsgInhkIiwgIm1zIiwgInNkIn0KKwl9OworCisJaWYgKG50ID4g
MiB8fCB0eXBlIDwgMSB8fCB0eXBlID4gMykKKwkJcmV0dXJuIE5VTEw7CisJcmV0dXJuIGNhcmRf
dHlwZV9uYW1lW250XVt0eXBlIC0gMV07CiB9CiAKLXN0YXRpYyBpbnQgdGlmbV9tYXRjaChzdHJ1
Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCitzdGF0aWMgaW50IHRp
Zm1fZGV2X21hdGNoKHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0IHRpZm1fZGV2aWNlX2lk
ICppZCkKIHsKLQlzdHJ1Y3QgdGlmbV9kZXYgKmZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0
cnVjdCB0aWZtX2RldiwgZGV2KTsKLQlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmZtX2RydjsKLQotCWZt
X2RydiA9IGNvbnRhaW5lcl9vZihkcnYsIHN0cnVjdCB0aWZtX2RyaXZlciwgZHJpdmVyKTsKLQlp
ZiAoIWZtX2Rydi0+aWRfdGFibGUpCi0JCXJldHVybiAtRUlOVkFMOwotCWlmICh0aWZtX2Rldmlj
ZV9tYXRjaChmbV9kcnYtPmlkX3RhYmxlLCBmbV9kZXYpKQorCWlmIChzb2NrLT50eXBlID09IGlk
LT50eXBlKQogCQlyZXR1cm4gMTsKLQlyZXR1cm4gLUVOT0RFVjsKKwlyZXR1cm4gMDsKK30KKwor
c3RhdGljIGludCB0aWZtX2J1c19tYXRjaChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZp
Y2VfZHJpdmVyICpkcnYpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29m
KGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZm1fZHJ2
ID0gY29udGFpbmVyX29mKGRydiwgc3RydWN0IHRpZm1fZHJpdmVyLAorCQkJCQkJICBkcml2ZXIp
OworCXN0cnVjdCB0aWZtX2RldmljZV9pZCAqaWRzID0gZm1fZHJ2LT5pZF90YWJsZTsKKworCWlm
IChpZHMpIHsKKwkJd2hpbGUgKGlkcy0+dHlwZSkgeworCQkJaWYgKHRpZm1fZGV2X21hdGNoKHNv
Y2ssIGlkcykpCisJCQkJcmV0dXJuIDE7CisJCQkrK2lkczsKKwkJfQorCX0KKwlyZXR1cm4gMDsK
IH0KIAogc3RhdGljIGludCB0aWZtX3VldmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIGNoYXIgKipl
bnZwLCBpbnQgbnVtX2VudnAsCiAJCSAgICAgICBjaGFyICpidWZmZXIsIGludCBidWZmZXJfc2l6
ZSkKIHsKLQlzdHJ1Y3QgdGlmbV9kZXYgKmZtX2RldjsKKwlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sg
PSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7CiAJaW50IGkgPSAwOwog
CWludCBsZW5ndGggPSAwOwotCWNvbnN0IGNoYXIgKmNhcmRfdHlwZV9uYW1lW10gPSB7IklOViIs
ICJTTSIsICJNUyIsICJTRCJ9OwogCi0JaWYgKCFkZXYgfHwgIShmbV9kZXYgPSBjb250YWluZXJf
b2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldikpKQotCQlyZXR1cm4gLUVOT0RFVjsKIAlpZiAo
YWRkX3VldmVudF92YXIoZW52cCwgbnVtX2VudnAsICZpLCBidWZmZXIsIGJ1ZmZlcl9zaXplLCAm
bGVuZ3RoLAotCQkJIlRJRk1fQ0FSRF9UWVBFPSVzIiwgY2FyZF90eXBlX25hbWVbZm1fZGV2LT5t
ZWRpYV9pZF0pKQorCQkJICAgIlRJRk1fQ0FSRF9UWVBFPSVzIiwKKwkJCSAgIHRpZm1fbWVkaWFf
dHlwZV9uYW1lKHNvY2stPnR5cGUsIDEpKSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlyZXR1cm4g
MDsKIH0KIAorc3RhdGljIGludCB0aWZtX2RldmljZV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYp
Cit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHRp
Zm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gY29udGFpbmVyX29mKGRl
di0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJCSAgICAgICBkcml2ZXIpOworCWlu
dCByYyA9IC1FTk9ERVY7CisKKwlnZXRfZGV2aWNlKGRldik7CisJaWYgKGRldi0+ZHJpdmVyICYm
IGRydi0+cHJvYmUpIHsKKwkJcmMgPSBkcnYtPnByb2JlKHNvY2spOworCQlpZiAoIXJjKQorCQkJ
cmV0dXJuIDA7CisJfQorCXB1dF9kZXZpY2UoZGV2KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRp
YyB2b2lkIHRpZm1fZHVtbXlfZXZlbnQoc3RydWN0IHRpZm1fZGV2ICpzb2NrKQoreworCXJldHVy
bjsKK30KKworc3RhdGljIGludCB0aWZtX2RldmljZV9yZW1vdmUoc3RydWN0IGRldmljZSAqZGV2
KQoreworCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0
aWZtX2RldiwgZGV2KTsKKwlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGNvbnRhaW5lcl9vZihk
ZXYtPmRyaXZlciwgc3RydWN0IHRpZm1fZHJpdmVyLAorCQkJCQkgICAgICAgZHJpdmVyKTsKKwor
CWlmIChkZXYtPmRyaXZlciAmJiBkcnYtPnJlbW92ZSkgeworCQlzb2NrLT5jYXJkX2V2ZW50ID0g
dGlmbV9kdW1teV9ldmVudDsKKwkJc29jay0+ZGF0YV9ldmVudCA9IHRpZm1fZHVtbXlfZXZlbnQ7
CisJCWRydi0+cmVtb3ZlKHNvY2spOworCQlzb2NrLT5kZXYuZHJpdmVyID0gTlVMTDsKKwl9CisK
KwlwdXRfZGV2aWNlKGRldik7CisJcmV0dXJuIDA7Cit9CisKICNpZmRlZiBDT05GSUdfUE0KIAog
c3RhdGljIGludCB0aWZtX2RldmljZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgcG1fbWVz
c2FnZV90IHN0YXRlKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2ID0gY29udGFpbmVyX29m
KGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0g
Zm1fZGV2LT5kcnY7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRldiwg
c3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gY29udGFp
bmVyX29mKGRldi0+ZHJpdmVyLCBzdHJ1Y3QgdGlmbV9kcml2ZXIsCisJCQkJCSAgICAgICBkcml2
ZXIpOwogCi0JaWYgKGRydiAmJiBkcnYtPnN1c3BlbmQpCi0JCXJldHVybiBkcnYtPnN1c3BlbmQo
Zm1fZGV2LCBzdGF0ZSk7CisJaWYgKGRldi0+ZHJpdmVyICYmIGRydi0+c3VzcGVuZCkKKwkJcmV0
dXJuIGRydi0+c3VzcGVuZChzb2NrLCBzdGF0ZSk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBp
bnQgdGlmbV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgdGlm
bV9kZXYgKmZtX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsK
LQlzdHJ1Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGZtX2Rldi0+ZHJ2OworCXN0cnVjdCB0aWZtX2Rl
diAqc29jayA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB0aWZtX2RldiwgZGV2KTsKKwlzdHJ1
Y3QgdGlmbV9kcml2ZXIgKmRydiA9IGNvbnRhaW5lcl9vZihkZXYtPmRyaXZlciwgc3RydWN0IHRp
Zm1fZHJpdmVyLAorCQkJCQkgICAgICAgZHJpdmVyKTsKIAotCWlmIChkcnYgJiYgZHJ2LT5yZXN1
bWUpCi0JCXJldHVybiBkcnYtPnJlc3VtZShmbV9kZXYpOworCWlmIChkZXYtPmRyaXZlciAmJiBk
cnYtPnJlc3VtZSkKKwkJcmV0dXJuIGRydi0+cmVzdW1lKHNvY2spOwogCXJldHVybiAwOwogfQog
CkBAIC04OSwxOSArMTQyLDMzIEBAIHN0YXRpYyBpbnQgdGlmbV9kZXZpY2VfcmVzdW1lKHN0cnVj
dCBkZXYKIAogI2VuZGlmIC8qIENPTkZJR19QTSAqLwogCitzdGF0aWMgc3NpemVfdCB0eXBlX3No
b3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJ
CSBjaGFyICpidWYpCit7CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gY29udGFpbmVyX29mKGRl
diwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiV4Iiwgc29j
ay0+dHlwZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSB0aWZtX2Rldl9h
dHRyc1tdID0geworCV9fQVRUUih0eXBlLCBTX0lSVUdPLCB0eXBlX3Nob3csIE5VTEwpLAorCV9f
QVRUUl9OVUxMCit9OworCiBzdGF0aWMgc3RydWN0IGJ1c190eXBlIHRpZm1fYnVzX3R5cGUgPSB7
Ci0JLm5hbWUgICAgPSAidGlmbSIsCi0JLm1hdGNoICAgPSB0aWZtX21hdGNoLAotCS51ZXZlbnQg
ID0gdGlmbV91ZXZlbnQsCi0JLnN1c3BlbmQgPSB0aWZtX2RldmljZV9zdXNwZW5kLAotCS5yZXN1
bWUgID0gdGlmbV9kZXZpY2VfcmVzdW1lCisJLm5hbWUgICAgICA9ICJ0aWZtIiwKKwkuZGV2X2F0
dHJzID0gdGlmbV9kZXZfYXR0cnMsCisJLm1hdGNoICAgICA9IHRpZm1fYnVzX21hdGNoLAorCS51
ZXZlbnQgICAgPSB0aWZtX3VldmVudCwKKwkucHJvYmUgICAgID0gdGlmbV9kZXZpY2VfcHJvYmUs
CisJLnJlbW92ZSAgICA9IHRpZm1fZGV2aWNlX3JlbW92ZSwKKwkuc3VzcGVuZCAgID0gdGlmbV9k
ZXZpY2Vfc3VzcGVuZCwKKwkucmVzdW1lICAgID0gdGlmbV9kZXZpY2VfcmVzdW1lCiB9OwogCiBz
dGF0aWMgdm9pZCB0aWZtX2ZyZWUoc3RydWN0IGNsYXNzX2RldmljZSAqY2RldikKIHsKIAlzdHJ1
Y3QgdGlmbV9hZGFwdGVyICpmbSA9IGNvbnRhaW5lcl9vZihjZGV2LCBzdHJ1Y3QgdGlmbV9hZGFw
dGVyLCBjZGV2KTsKIAotCWtmcmVlKGZtLT5zb2NrZXRzKTsKIAlrZnJlZShmbSk7CiB9CiAKQEAg
LTExMCwyOCArMTc3LDI1IEBAIHN0YXRpYyBzdHJ1Y3QgY2xhc3MgdGlmbV9hZGFwdGVyX2NsYXNz
ID0KIAkucmVsZWFzZSA9IHRpZm1fZnJlZQogfTsKIAotc3RydWN0IHRpZm1fYWRhcHRlciAqdGlm
bV9hbGxvY19hZGFwdGVyKHZvaWQpCitzdHJ1Y3QgdGlmbV9hZGFwdGVyICp0aWZtX2FsbG9jX2Fk
YXB0ZXIodW5zaWduZWQgaW50IG51bV9zb2NrZXRzLAorCQkJCQlzdHJ1Y3QgZGV2aWNlICpkZXYp
CiB7CiAJc3RydWN0IHRpZm1fYWRhcHRlciAqZm07CiAKLQlmbSA9IGt6YWxsb2Moc2l6ZW9mKHN0
cnVjdCB0aWZtX2FkYXB0ZXIpLCBHRlBfS0VSTkVMKTsKKwlmbSA9IGt6YWxsb2Moc2l6ZW9mKHN0
cnVjdCB0aWZtX2FkYXB0ZXIpCisJCSAgICAgKyBzaXplb2Yoc3RydWN0IHRpZm1fZGV2KikgKiBu
dW1fc29ja2V0cywgR0ZQX0tFUk5FTCk7CiAJaWYgKGZtKSB7CiAJCWZtLT5jZGV2LmNsYXNzID0g
JnRpZm1fYWRhcHRlcl9jbGFzczsKLQkJc3Bpbl9sb2NrX2luaXQoJmZtLT5sb2NrKTsKKwkJZm0t
PmNkZXYuZGV2ID0gZGV2OwogCQljbGFzc19kZXZpY2VfaW5pdGlhbGl6ZSgmZm0tPmNkZXYpOwor
CQlzcGluX2xvY2tfaW5pdCgmZm0tPmxvY2spOworCQlmbS0+bnVtX3NvY2tldHMgPSBudW1fc29j
a2V0czsKIAl9CiAJcmV0dXJuIGZtOwogfQogRVhQT1JUX1NZTUJPTCh0aWZtX2FsbG9jX2FkYXB0
ZXIpOwogCi12b2lkIHRpZm1fZnJlZV9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKQot
ewotCWNsYXNzX2RldmljZV9wdXQoJmZtLT5jZGV2KTsKLX0KLUVYUE9SVF9TWU1CT0wodGlmbV9m
cmVlX2FkYXB0ZXIpOwotCi1pbnQgdGlmbV9hZGRfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVy
ICpmbSwKLQkJICAgICBpbnQgKCptZWRpYXRocmVhZGZuKSh2b2lkICpkYXRhKSkKK2ludCB0aWZt
X2FkZF9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZtKQogewogCWludCByYzsKIApAQCAt
MTQxLDU5ICsyMDUsODAgQEAgaW50IHRpZm1fYWRkX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRl
cgogCXNwaW5fbG9jaygmdGlmbV9hZGFwdGVyX2xvY2spOwogCXJjID0gaWRyX2dldF9uZXcoJnRp
Zm1fYWRhcHRlcl9pZHIsIGZtLCAmZm0tPmlkKTsKIAlzcGluX3VubG9jaygmdGlmbV9hZGFwdGVy
X2xvY2spOwotCWlmICghcmMpIHsKLQkJc25wcmludGYoZm0tPmNkZXYuY2xhc3NfaWQsIEJVU19J
RF9TSVpFLCAidGlmbSV1IiwgZm0tPmlkKTsKLQkJZm0tPm1lZGlhX3N3aXRjaGVyID0ga3RocmVh
ZF9jcmVhdGUobWVkaWF0aHJlYWRmbiwKLQkJCQkJCSAgICBmbSwgInRpZm0vJXUiLCBmbS0+aWQp
OwotCi0JCWlmICghSVNfRVJSKGZtLT5tZWRpYV9zd2l0Y2hlcikpCi0JCQlyZXR1cm4gY2xhc3Nf
ZGV2aWNlX2FkZCgmZm0tPmNkZXYpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOwogCisJc25wcmlu
dGYoZm0tPmNkZXYuY2xhc3NfaWQsIEJVU19JRF9TSVpFLCAidGlmbSV1IiwgZm0tPmlkKTsKKwly
YyA9IGNsYXNzX2RldmljZV9hZGQoJmZtLT5jZGV2KTsKKwlpZiAocmMpIHsKIAkJc3Bpbl9sb2Nr
KCZ0aWZtX2FkYXB0ZXJfbG9jayk7CiAJCWlkcl9yZW1vdmUoJnRpZm1fYWRhcHRlcl9pZHIsIGZt
LT5pZCk7CiAJCXNwaW5fdW5sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7Ci0JCXJjID0gLUVOT01F
TTsKIAl9CisKIAlyZXR1cm4gcmM7CiB9CiBFWFBPUlRfU1lNQk9MKHRpZm1fYWRkX2FkYXB0ZXIp
OwogCiB2b2lkIHRpZm1fcmVtb3ZlX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pCiB7
Ci0JY2xhc3NfZGV2aWNlX2RlbCgmZm0tPmNkZXYpOworCXVuc2lnbmVkIGludCBjbnQ7CisKKwlm
bHVzaF93b3JrcXVldWUod29ya3F1ZXVlKTsKKwlmb3IgKGNudCA9IDA7IGNudCA8IGZtLT5udW1f
c29ja2V0czsgKytjbnQpIHsKKwkJaWYgKGZtLT5zb2NrZXRzW2NudF0pCisJCQlkZXZpY2VfdW5y
ZWdpc3RlcigmZm0tPnNvY2tldHNbY250XS0+ZGV2KTsKKwl9CiAKIAlzcGluX2xvY2soJnRpZm1f
YWRhcHRlcl9sb2NrKTsKIAlpZHJfcmVtb3ZlKCZ0aWZtX2FkYXB0ZXJfaWRyLCBmbS0+aWQpOwog
CXNwaW5fdW5sb2NrKCZ0aWZtX2FkYXB0ZXJfbG9jayk7CisJY2xhc3NfZGV2aWNlX2RlbCgmZm0t
PmNkZXYpOwogfQogRVhQT1JUX1NZTUJPTCh0aWZtX3JlbW92ZV9hZGFwdGVyKTsKIAotdm9pZCB0
aWZtX2ZyZWVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3ZvaWQgdGlmbV9mcmVlX2FkYXB0
ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pCiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpmbV9kZXYg
PSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgdGlmbV9kZXYsIGRldik7Ci0Ja2ZyZWUoZm1fZGV2
KTsKKwljbGFzc19kZXZpY2VfcHV0KCZmbS0+Y2Rldik7CiB9Ci1FWFBPUlRfU1lNQk9MKHRpZm1f
ZnJlZV9kZXZpY2UpOworRVhQT1JUX1NZTUJPTCh0aWZtX2ZyZWVfYWRhcHRlcik7CiAKLXN0YXRp
YyB2b2lkIHRpZm1fZHVtbXlfc2lnbmFsX2lycShzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssCi0JCQkJ
ICB1bnNpZ25lZCBpbnQgc29ja19pcnFfc3RhdHVzKQordm9pZCB0aWZtX2ZyZWVfZGV2aWNlKHN0
cnVjdCBkZXZpY2UgKmRldikKIHsKLQlyZXR1cm47CisJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0g
Y29udGFpbmVyX29mKGRldiwgc3RydWN0IHRpZm1fZGV2LCBkZXYpOworCWtmcmVlKHNvY2spOwog
fQorRVhQT1JUX1NZTUJPTCh0aWZtX2ZyZWVfZGV2aWNlKTsKIAotc3RydWN0IHRpZm1fZGV2ICp0
aWZtX2FsbG9jX2RldmljZShzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSkKK3N0cnVjdCB0aWZtX2Rl
diAqdGlmbV9hbGxvY19kZXZpY2Uoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sIHVuc2lnbmVkIGlu
dCBpZCwKKwkJCQkgICB1bnNpZ25lZCBjaGFyIHR5cGUpCiB7Ci0Jc3RydWN0IHRpZm1fZGV2ICpk
ZXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGlmbV9kZXYpLCBHRlBfS0VSTkVMKTsKKwlzdHJ1
Y3QgdGlmbV9kZXYgKnNvY2sgPSBOVUxMOwogCi0JaWYgKGRldikgewotCQlzcGluX2xvY2tfaW5p
dCgmZGV2LT5sb2NrKTsKKwlpZiAoIXRpZm1fbWVkaWFfdHlwZV9uYW1lKHR5cGUsIDApKQorCQly
ZXR1cm4gc29jazsKIAotCQlkZXYtPmRldi5wYXJlbnQgPSBmbS0+ZGV2OwotCQlkZXYtPmRldi5i
dXMgPSAmdGlmbV9idXNfdHlwZTsKLQkJZGV2LT5kZXYucmVsZWFzZSA9IHRpZm1fZnJlZV9kZXZp
Y2U7Ci0JCWRldi0+c2lnbmFsX2lycSA9IHRpZm1fZHVtbXlfc2lnbmFsX2lycTsKKwlzb2NrID0g
a3phbGxvYyhzaXplb2Yoc3RydWN0IHRpZm1fZGV2KSwgR0ZQX0tFUk5FTCk7CisJaWYgKHNvY2sp
IHsKKwkJc3Bpbl9sb2NrX2luaXQoJnNvY2stPmxvY2spOworCQlzb2NrLT50eXBlID0gdHlwZTsK
KwkJc29jay0+c29ja2V0X2lkID0gaWQ7CisJCXNvY2stPmNhcmRfZXZlbnQgPSB0aWZtX2R1bW15
X2V2ZW50OworCQlzb2NrLT5kYXRhX2V2ZW50ID0gdGlmbV9kdW1teV9ldmVudDsKKworCQlzb2Nr
LT5kZXYucGFyZW50ID0gZm0tPmNkZXYuZGV2OworCQlzb2NrLT5kZXYuYnVzID0gJnRpZm1fYnVz
X3R5cGU7CisJCXNvY2stPmRldi5kbWFfbWFzayA9IGZtLT5jZGV2LmRldi0+ZG1hX21hc2s7CisJ
CXNvY2stPmRldi5yZWxlYXNlID0gdGlmbV9mcmVlX2RldmljZTsKKworCQlzbnByaW50Zihzb2Nr
LT5kZXYuYnVzX2lkLCBCVVNfSURfU0laRSwKKwkJCSAidGlmbV8lcyV1OiV1IiwgdGlmbV9tZWRp
YV90eXBlX25hbWUodHlwZSwgMiksCisJCQkgZm0tPmlkLCBpZCk7CisJCXByaW50ayhLRVJOX0lO
Rk8gRFJJVkVSX05BTUUKKwkJICAgICAgICI6ICVzIGNhcmQgZGV0ZWN0ZWQgaW4gc29ja2V0ICV1
OiV1XG4iLAorCQkgICAgICAgdGlmbV9tZWRpYV90eXBlX25hbWUodHlwZSwgMCksIGZtLT5pZCwg
aWQpOwogCX0KLQlyZXR1cm4gZGV2OworCXJldHVybiBzb2NrOwogfQogRVhQT1JUX1NZTUJPTCh0
aWZtX2FsbG9jX2RldmljZSk7CiAKQEAgLTIwNCw2ICsyODksMTMgQEAgdm9pZCB0aWZtX2VqZWN0
KHN0cnVjdCB0aWZtX2RldiAqc29jaykKIH0KIEVYUE9SVF9TWU1CT0wodGlmbV9lamVjdCk7CiAK
K2ludCB0aWZtX2hhc19tc19waWYoc3RydWN0IHRpZm1fZGV2ICpzb2NrKQoreworCXN0cnVjdCB0
aWZtX2FkYXB0ZXIgKmZtID0gZGV2X2dldF9kcnZkYXRhKHNvY2stPmRldi5wYXJlbnQpOworCXJl
dHVybiBmbS0+aGFzX21zX3BpZihmbSwgc29jayk7Cit9CitFWFBPUlRfU1lNQk9MKHRpZm1faGFz
X21zX3BpZik7CisKIGludCB0aWZtX21hcF9zZyhzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssIHN0cnVj
dCBzY2F0dGVybGlzdCAqc2csIGludCBuZW50cywKIAkJaW50IGRpcmVjdGlvbikKIHsKQEAgLTIx
OCw1NCArMzEwLDE1IEBAIHZvaWQgdGlmbV91bm1hcF9zZyhzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sK
IH0KIEVYUE9SVF9TWU1CT0wodGlmbV91bm1hcF9zZyk7CiAKLXN0YXRpYyBpbnQgdGlmbV9kZXZp
Y2VfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2KQotewotCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2
OwotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2OwotCWludCByYyA9IDA7Ci0JY29uc3QgdGlmbV9t
ZWRpYV9pZCAqaWQ7Ci0KLQlkcnYgPSBjb250YWluZXJfb2YoZGV2LT5kcml2ZXIsIHN0cnVjdCB0
aWZtX2RyaXZlciwgZHJpdmVyKTsKLQlmbV9kZXYgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3Qg
dGlmbV9kZXYsIGRldik7Ci0JZ2V0X2RldmljZShkZXYpOwotCWlmICghZm1fZGV2LT5kcnYgJiYg
ZHJ2LT5wcm9iZSAmJiBkcnYtPmlkX3RhYmxlKSB7Ci0JCXJjID0gLUVOT0RFVjsKLQkJaWQgPSB0
aWZtX2RldmljZV9tYXRjaChkcnYtPmlkX3RhYmxlLCBmbV9kZXYpOwotCQlpZiAoaWQpCi0JCQly
YyA9IGRydi0+cHJvYmUoZm1fZGV2KTsKLQkJaWYgKHJjID49IDApIHsKLQkJCXJjID0gMDsKLQkJ
CWZtX2Rldi0+ZHJ2ID0gZHJ2OwotCQl9Ci0JfQotCWlmIChyYykKLQkJcHV0X2RldmljZShkZXYp
OwotCXJldHVybiByYzsKLX0KLQotc3RhdGljIGludCB0aWZtX2RldmljZV9yZW1vdmUoc3RydWN0
IGRldmljZSAqZGV2KQordm9pZCB0aWZtX3F1ZXVlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3
b3JrKQogewotCXN0cnVjdCB0aWZtX2RldiAqZm1fZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3Ry
dWN0IHRpZm1fZGV2LCBkZXYpOwotCXN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2ID0gZm1fZGV2LT5k
cnY7Ci0KLQlpZiAoZHJ2KSB7Ci0JCWZtX2Rldi0+c2lnbmFsX2lycSA9IHRpZm1fZHVtbXlfc2ln
bmFsX2lycTsKLQkJaWYgKGRydi0+cmVtb3ZlKQotCQkJZHJ2LT5yZW1vdmUoZm1fZGV2KTsKLQkJ
Zm1fZGV2LT5kcnYgPSBOVUxMOwotCX0KLQotCXB1dF9kZXZpY2UoZGV2KTsKLQlyZXR1cm4gMDsK
KwlxdWV1ZV93b3JrKHdvcmtxdWV1ZSwgd29yayk7CiB9CitFWFBPUlRfU1lNQk9MKHRpZm1fcXVl
dWVfd29yayk7CiAKIGludCB0aWZtX3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdGlmbV9kcml2ZXIg
KmRydikKIHsKIAlkcnYtPmRyaXZlci5idXMgPSAmdGlmbV9idXNfdHlwZTsKLQlkcnYtPmRyaXZl
ci5wcm9iZSA9IHRpZm1fZGV2aWNlX3Byb2JlOwotCWRydi0+ZHJpdmVyLnJlbW92ZSA9IHRpZm1f
ZGV2aWNlX3JlbW92ZTsKLQlkcnYtPmRyaXZlci5zdXNwZW5kID0gdGlmbV9kZXZpY2Vfc3VzcGVu
ZDsKLQlkcnYtPmRyaXZlci5yZXN1bWUgPSB0aWZtX2RldmljZV9yZXN1bWU7CiAKIAlyZXR1cm4g
ZHJpdmVyX3JlZ2lzdGVyKCZkcnYtPmRyaXZlcik7CiB9CkBAIC0yNzksMTMgKzMzMiwyNSBAQCBF
WFBPUlRfU1lNQk9MKHRpZm1fdW5yZWdpc3Rlcl9kcml2ZXIpOwogCiBzdGF0aWMgaW50IF9faW5p
dCB0aWZtX2luaXQodm9pZCkKIHsKLQlpbnQgcmMgPSBidXNfcmVnaXN0ZXIoJnRpZm1fYnVzX3R5
cGUpOworCWludCByYzsKIAotCWlmICghcmMpIHsKLQkJcmMgPSBjbGFzc19yZWdpc3RlcigmdGlm
bV9hZGFwdGVyX2NsYXNzKTsKLQkJaWYgKHJjKQotCQkJYnVzX3VucmVnaXN0ZXIoJnRpZm1fYnVz
X3R5cGUpOwotCX0KKwl3b3JrcXVldWUgPSBjcmVhdGVfZnJlZXplYWJsZV93b3JrcXVldWUoInRp
Zm0iKTsKKwlpZiAoIXdvcmtxdWV1ZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyYyA9IGJ1c19y
ZWdpc3RlcigmdGlmbV9idXNfdHlwZSk7CisKKwlpZiAocmMpCisJCWdvdG8gZXJyX291dF93cTsK
KworCXJjID0gY2xhc3NfcmVnaXN0ZXIoJnRpZm1fYWRhcHRlcl9jbGFzcyk7CisJaWYgKCFyYykK
KwkJcmV0dXJuIDA7CisKKwlidXNfdW5yZWdpc3RlcigmdGlmbV9idXNfdHlwZSk7CisKK2Vycl9v
dXRfd3E6CisJZGVzdHJveV93b3JrcXVldWUod29ya3F1ZXVlKTsKIAogCXJldHVybiByYzsKIH0K
QEAgLTI5NCw2ICszNTksNyBAQCBzdGF0aWMgdm9pZCBfX2V4aXQgdGlmbV9leGl0KHZvaWQpCiB7
CiAJY2xhc3NfdW5yZWdpc3RlcigmdGlmbV9hZGFwdGVyX2NsYXNzKTsKIAlidXNfdW5yZWdpc3Rl
cigmdGlmbV9idXNfdHlwZSk7CisJZGVzdHJveV93b3JrcXVldWUod29ya3F1ZXVlKTsKIH0KIAog
c3Vic3lzX2luaXRjYWxsKHRpZm1faW5pdCk7CkluZGV4OiBsaW51eC0yLjYuMjEuMS9kcml2ZXJz
L21tYy90aWZtX3NkLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGludXgtMi42LjIxLjEub3JpZy9kcml2ZXJz
L21tYy90aWZtX3NkLmMKKysrIGxpbnV4LTIuNi4yMS4xL2RyaXZlcnMvbW1jL3RpZm1fc2QuYwpA
QCAtNywxNyArNywyMCBAQAogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKICAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLgogICoKKyAqIFNwZWNpYWwgdGhhbmtzIHRvIEJyYWQgQ2FtcGJl
bGwgZm9yIGV4dGVuc2l2ZSB0ZXN0aW5nIG9mIHRoaXMgZHJpdmVyLgorICoKICAqLwogCiAKLSNp
bmNsdWRlIDxsaW51eC90aWZtLmg+CisjaW5jbHVkZSAibGludXgvdGlmbS5oIgogI2luY2x1ZGUg
PGxpbnV4L21tYy9wcm90b2NvbC5oPgogI2luY2x1ZGUgPGxpbnV4L21tYy9ob3N0Lmg+CiAjaW5j
bHVkZSA8bGludXgvaGlnaG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CiAj
aW5jbHVkZSA8YXNtL2lvLmg+CiAKICNkZWZpbmUgRFJJVkVSX05BTUUgInRpZm1fc2QiCi0jZGVm
aW5lIERSSVZFUl9WRVJTSU9OICIwLjciCisjZGVmaW5lIERSSVZFUl9WRVJTSU9OICIwLjgiCiAK
IHN0YXRpYyBpbnQgbm9fZG1hID0gMDsKIHN0YXRpYyBpbnQgZml4ZWRfdGltZW91dCA9IDA7CkBA
IC0zNiw5ICszOSw5IEBAIG1vZHVsZV9wYXJhbShmaXhlZF90aW1lb3V0LCBib29sLCAwNjQ0KTsK
ICNkZWZpbmUgVElGTV9NTUNTRF9JTkFCICAgICAgIDB4MDA4MCAgIC8qIGFib3J0IC8gaW5pdGlh
bGl6ZSBjb21tYW5kICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfUkVBRCAgICAgICAweDgwMDAKIAot
I2RlZmluZSBUSUZNX01NQ1NEX0RBVEFNQVNLICAgMHg0MDFkICAgLyogc2V0IGJpdHM6IENFUlIs
IEVPRkIsIEJSUywgQ0IsIEVPQyAqLwogI2RlZmluZSBUSUZNX01NQ1NEX0VSUk1BU0sgICAgMHgw
MWUwICAgLyogc2V0IGJpdHM6IENDUkMsIENUTywgRENSQywgRFRPICovCiAjZGVmaW5lIFRJRk1f
TU1DU0RfRU9DICAgICAgICAweDAwMDEgICAvKiBlbmQgb2YgY29tbWFuZCBwaGFzZSAgKi8KKyNk
ZWZpbmUgVElGTV9NTUNTRF9DRCAgICAgICAgIDB4MDAwMiAgIC8qIGNhcmQgZGV0ZWN0ICAgICAg
ICAgICAqLwogI2RlZmluZSBUSUZNX01NQ1NEX0NCICAgICAgICAgMHgwMDA0ICAgLyogY2FyZCBl
bnRlciBidXN5IHN0YXRlICovCiAjZGVmaW5lIFRJRk1fTU1DU0RfQlJTICAgICAgICAweDAwMDgg
ICAvKiBibG9jayByZWNlaXZlZC9zZW50ICAgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9FT0ZCICAg
ICAgIDB4MDAxMCAgIC8qIGNhcmQgZXhpdCBidXN5IHN0YXRlICAqLwpAQCAtNDgsOCArNTEsMTMg
QEAgbW9kdWxlX3BhcmFtKGZpeGVkX3RpbWVvdXQsIGJvb2wsIDA2NDQpOwogI2RlZmluZSBUSUZN
X01NQ1NEX0NDUkMgICAgICAgMHgwMTAwICAgLyogY29tbWFuZCBjcmMgZXJyb3IgICAgICovCiAj
ZGVmaW5lIFRJRk1fTU1DU0RfQUYgICAgICAgICAweDA0MDAgICAvKiBmaWZvIGFsbW9zdCBmdWxs
ICAgICAgKi8KICNkZWZpbmUgVElGTV9NTUNTRF9BRSAgICAgICAgIDB4MDgwMCAgIC8qIGZpZm8g
YWxtb3N0IGVtcHR5ICAgICAqLworI2RlZmluZSBUSUZNX01NQ1NEX09DUkIgICAgICAgMHgxMDAw
ICAgLyogT0NSIGJ1c3kgICAgICAgICAgICAgICovCisjZGVmaW5lIFRJRk1fTU1DU0RfQ0lSUSAg
ICAgICAweDIwMDAgICAvKiBjYXJkIGlycSAoY21kNDAvc2RpbykgKi8KICNkZWZpbmUgVElGTV9N
TUNTRF9DRVJSICAgICAgIDB4NDAwMCAgIC8qIGNhcmQgc3RhdHVzIGVycm9yICAgICAqLwogCisj
ZGVmaW5lIFRJRk1fTU1DU0RfT0RUTyAgICAgICAweDAwNDAgICAvKiBvcGVuIGRyYWluIC8gZXh0
ZW5kZWQgdGltZW91dCAqLworI2RlZmluZSBUSUZNX01NQ1NEX0NBUkRfUk8gICAgMHgwMjAwICAg
LyogY2FyZCBpcyByZWFkLW9ubHkgICAgICovCisKICNkZWZpbmUgVElGTV9NTUNTRF9GSUZPX1NJ
WkUgIDB4MDAyMAogCiAjZGVmaW5lIFRJRk1fTU1DU0RfUlNQX1IwICAgICAweDAwMDAKQEAgLTY3
LDk3ICs3NSwyNTUgQEAgbW9kdWxlX3BhcmFtKGZpeGVkX3RpbWVvdXQsIGJvb2wsIDA2NDQpOwog
I2RlZmluZSBUSUZNX01NQ1NEX0NNRF9BQyAgICAgMHgyMDAwCiAjZGVmaW5lIFRJRk1fTU1DU0Rf
Q01EX0FEVEMgICAweDMwMDAKIAotdHlwZWRlZiBlbnVtIHsKLQlJRExFID0gMCwKLQlDTUQsICAg
IC8qIG1haW4gY29tbWFuZCBlbmRlZCAgICAgICAgICAgICAgICAgICAqLwotCUJSUywgICAgLyog
YmxvY2sgdHJhbnNmZXIgZmluaXNoZWQgICAgICAgICAgICAgICovCi0JU0NNRCwgICAvKiBzdG9w
IGNvbW1hbmQgZW5kZWQgICAgICAgICAgICAgICAgICAgKi8KLQlDQVJELCAgIC8qIGNhcmQgbGVm
dCBidXN5IHN0YXRlICAgICAgICAgICAgICAgICAqLwotCUZJRk8sICAgLyogRklGTyBvcGVyYXRp
b24gY29tcGxldGVkICh1bmNlcnRhaW4pICovCi0JUkVBRFkKLX0gY2FyZF9zdGF0ZV90OworI2Rl
ZmluZSBUSUZNX01NQ1NEX01BWF9CTE9DS19TSVpFICAweDA4MDBVTAogCiBlbnVtIHsKLQlGSUZP
X1JEWSAgID0gMHgwMDAxLCAgICAgLyogaGFyZHdhcmUgZGVwZW5kZW50IHZhbHVlICovCi0JRUpF
Q1QgICAgICA9IDB4MDAwNCwKLQlFSkVDVF9ET05FID0gMHgwMDA4LAotCUNBUkRfQlVTWSAgPSAw
eDAwMTAsCi0JT1BFTkRSQUlOICA9IDB4MDA0MCwgICAgIC8qIGhhcmR3YXJlIGRlcGVuZGVudCB2
YWx1ZSAqLwotCUNBUkRfRVZFTlQgPSAweDAxMDAsICAgICAvKiBoYXJkd2FyZSBkZXBlbmRlbnQg
dmFsdWUgKi8KLQlDQVJEX1JPICAgID0gMHgwMjAwLCAgICAgLyogaGFyZHdhcmUgZGVwZW5kZW50
IHZhbHVlICovCi0JRklGT19FVkVOVCA9IDB4MTAwMDAgfTsgIC8qIGhhcmR3YXJlIGRlcGVuZGVu
dCB2YWx1ZSAqLworCUNNRF9SRUFEWSAgICA9IDB4MDAwMSwKKwlGSUZPX1JFQURZICAgPSAweDAw
MDIsCisJQlJTX1JFQURZICAgID0gMHgwMDA0LAorCVNDTURfQUNUSVZFICA9IDB4MDAwOCwKKwlT
Q01EX1JFQURZICAgPSAweDAwMTAsCisJQ0FSRF9CVVNZICAgID0gMHgwMDIwLAorCURBVEFfQ0FS
UlkgICA9IDB4MDA0MAorfTsKIAogc3RydWN0IHRpZm1fc2QgewotCXN0cnVjdCB0aWZtX2RldiAg
ICAgKmRldjsKKwlzdHJ1Y3QgdGlmbV9kZXYgICAgICAgKmRldjsKIAotCXVuc2lnbmVkIGludCAg
ICAgICAgZmxhZ3M7Ci0JY2FyZF9zdGF0ZV90ICAgICAgICBzdGF0ZTsKLQl1bnNpZ25lZCBpbnQg
ICAgICAgIGNsa19mcmVxOwotCXVuc2lnbmVkIGludCAgICAgICAgY2xrX2RpdjsKLQl1bnNpZ25l
ZCBsb25nICAgICAgIHRpbWVvdXRfamlmZmllczsKKwl1bnNpZ25lZCBzaG9ydCAgICAgICAgZWpl
Y3Q6MSwKKwkJCSAgICAgIG9wZW5fZHJhaW46MSwKKwkJCSAgICAgIG5vX2RtYToxOworCXVuc2ln
bmVkIHNob3J0ICAgICAgICBjbWRfZmxhZ3M7CisKKwl1bnNpZ25lZCBpbnQgICAgICAgICAgY2xr
X2ZyZXE7CisJdW5zaWduZWQgaW50ICAgICAgICAgIGNsa19kaXY7CisJdW5zaWduZWQgbG9uZyAg
ICAgICAgIHRpbWVvdXRfamlmZmllczsKIAogCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCBmaW5pc2hf
dGFza2xldDsKIAlzdHJ1Y3QgdGltZXJfbGlzdCAgICAgdGltZXI7CiAJc3RydWN0IG1tY19yZXF1
ZXN0ICAgICpyZXE7Ci0Jd2FpdF9xdWV1ZV9oZWFkX3QgICAgIG5vdGlmeTsKLQotCXNpemVfdCAg
ICAgICAgICAgICAgICB3cml0dGVuX2Jsb2NrczsKLQlzaXplX3QgICAgICAgICAgICAgICAgYnVm
ZmVyX3NpemU7Ci0Jc2l6ZV90ICAgICAgICAgICAgICAgIGJ1ZmZlcl9wb3M7CiAKKwlpbnQgICAg
ICAgICAgICAgICAgICAgc2dfbGVuOworCWludCAgICAgICAgICAgICAgICAgICBzZ19wb3M7CisJ
dW5zaWduZWQgaW50ICAgICAgICAgIGJsb2NrX3BvczsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgICAg
Ym91bmNlX2J1ZjsKKwl1bnNpZ25lZCBjaGFyICAgICAgICAgYm91bmNlX2J1Zl9kYXRhW1RJRk1f
TU1DU0RfTUFYX0JMT0NLX1NJWkVdOwogfTsKIAotc3RhdGljIGNoYXIqIHRpZm1fc2RfZGF0YV9i
dWZmZXIoc3RydWN0IG1tY19kYXRhICpkYXRhKQorLyogZm9yIHNvbWUgcmVhc29uLCBob3N0IHdv
bid0IHJlc3BvbmQgY29ycmVjdGx5IHRvIHJlYWR3L3dyaXRldyAqLworc3RhdGljIHZvaWQgdGlm
bV9zZF9yZWFkX2ZpZm8oc3RydWN0IHRpZm1fc2QgKmhvc3QsIHN0cnVjdCBwYWdlICpwZywKKwkJ
CSAgICAgIHVuc2lnbmVkIGludCBvZmYsIHVuc2lnbmVkIGludCBjbnQpCiB7Ci0JcmV0dXJuIHBh
Z2VfYWRkcmVzcyhkYXRhLT5zZy0+cGFnZSkgKyBkYXRhLT5zZy0+b2Zmc2V0OworCXN0cnVjdCB0
aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKKwl1bnNpZ25lZCBjaGFyICpidWY7CisJdW5zaWdu
ZWQgaW50IHBvcyA9IDAsIHZhbDsKKworCWJ1ZiA9IGttYXBfYXRvbWljKHBnLCBLTV9CSU9fRFNU
X0lSUSkgKyBvZmY7CisJaWYgKGhvc3QtPmNtZF9mbGFncyAmIERBVEFfQ0FSUlkpIHsKKwkJYnVm
W3BvcysrXSA9IGhvc3QtPmJvdW5jZV9idWZfZGF0YVswXTsKKwkJaG9zdC0+Y21kX2ZsYWdzICY9
IH5EQVRBX0NBUlJZOworCX0KKworCXdoaWxlIChwb3MgPCBjbnQpIHsKKwkJdmFsID0gcmVhZGwo
c29jay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7CisJCWJ1Zltwb3MrK10gPSB2YWwgJiAweGZm
OworCQlpZiAocG9zID09IGNudCkgeworCQkJaG9zdC0+Ym91bmNlX2J1Zl9kYXRhWzBdID0gKHZh
bCA+PiA4KSAmIDB4ZmY7CisJCQlob3N0LT5jbWRfZmxhZ3MgfD0gREFUQV9DQVJSWTsKKwkJCWJy
ZWFrOworCQl9CisJCWJ1Zltwb3MrK10gPSAodmFsID4+IDgpICYgMHhmZjsKKwl9CisJa3VubWFw
X2F0b21pYyhidWYgLSBvZmYsIEtNX0JJT19EU1RfSVJRKTsKIH0KIAotc3RhdGljIGludCB0aWZt
X3NkX3RyYW5zZmVyX2RhdGEoc3RydWN0IHRpZm1fZGV2ICpzb2NrLCBzdHJ1Y3QgdGlmbV9zZCAq
aG9zdCwKLQkJCQkgdW5zaWduZWQgaW50IGhvc3Rfc3RhdHVzKQorc3RhdGljIHZvaWQgdGlmbV9z
ZF93cml0ZV9maWZvKHN0cnVjdCB0aWZtX3NkICpob3N0LCBzdHJ1Y3QgcGFnZSAqcGcsCisJCQkg
ICAgICAgdW5zaWduZWQgaW50IG9mZiwgdW5zaWduZWQgaW50IGNudCkKIHsKLQlzdHJ1Y3QgbW1j
X2NvbW1hbmQgKmNtZCA9IGhvc3QtPnJlcS0+Y21kOwotCXVuc2lnbmVkIGludCB0X3ZhbCA9IDAs
IGNudCA9IDA7Ci0JY2hhciAqYnVmZmVyOworCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3Qt
PmRldjsKKwl1bnNpZ25lZCBjaGFyICpidWY7CisJdW5zaWduZWQgaW50IHBvcyA9IDAsIHZhbDsK
IAotCWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQlJTKSB7Ci0JCS8qIGluIG5vbi1kbWEg
cnggbW9kZSBCUlMgZmlyZXMgd2hlbiBmaWZvIGlzIHN0aWxsIG5vdCBlbXB0eSAqLwotCQlpZiAo
bm9fZG1hICYmIChjbWQtPmRhdGEtPmZsYWdzICYgTU1DX0RBVEFfUkVBRCkpIHsKLQkJCWJ1ZmZl
ciA9IHRpZm1fc2RfZGF0YV9idWZmZXIoaG9zdC0+cmVxLT5kYXRhKTsKLQkJCXdoaWxlIChob3N0
LT5idWZmZXJfc2l6ZSA+IGhvc3QtPmJ1ZmZlcl9wb3MpIHsKLQkJCQl0X3ZhbCA9IHJlYWRsKHNv
Y2stPmFkZHIgKyBTT0NLX01NQ1NEX0RBVEEpOwotCQkJCWJ1ZmZlcltob3N0LT5idWZmZXJfcG9z
KytdID0gdF92YWwgJiAweGZmOwotCQkJCWJ1ZmZlcltob3N0LT5idWZmZXJfcG9zKytdID0KLQkJ
CQkJCQkodF92YWwgPj4gOCkgJiAweGZmOwotCQkJfQorCWJ1ZiA9IGttYXBfYXRvbWljKHBnLCBL
TV9CSU9fU1JDX0lSUSkgKyBvZmY7CisJaWYgKGhvc3QtPmNtZF9mbGFncyAmIERBVEFfQ0FSUlkp
IHsKKwkJdmFsID0gaG9zdC0+Ym91bmNlX2J1Zl9kYXRhWzBdIHwgKChidWZbcG9zKytdIDw8IDgp
ICYgMHhmZjAwKTsKKwkJd3JpdGVsKHZhbCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfREFUQSk7
CisJCWhvc3QtPmNtZF9mbGFncyAmPSB+REFUQV9DQVJSWTsKKwl9CisKKwl3aGlsZSAocG9zIDwg
Y250KSB7CisJCXZhbCA9IGJ1Zltwb3MrK107CisJCWlmIChwb3MgPT0gY250KSB7CisJCQlob3N0
LT5ib3VuY2VfYnVmX2RhdGFbMF0gPSB2YWwgJiAweGZmOworCQkJaG9zdC0+Y21kX2ZsYWdzIHw9
IERBVEFfQ0FSUlk7CisJCQlicmVhazsKIAkJfQotCQlyZXR1cm4gMTsKLQl9IGVsc2UgaWYgKG5v
X2RtYSkgewotCQlidWZmZXIgPSB0aWZtX3NkX2RhdGFfYnVmZmVyKGhvc3QtPnJlcS0+ZGF0YSk7
Ci0JCWlmICgoY21kLT5kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1JFQUQpICYmCi0JCQkJKGhvc3Rf
c3RhdHVzICYgVElGTV9NTUNTRF9BRikpIHsKLQkJCWZvciAoY250ID0gMDsgY250IDwgVElGTV9N
TUNTRF9GSUZPX1NJWkU7IGNudCsrKSB7Ci0JCQkJdF92YWwgPSByZWFkbChzb2NrLT5hZGRyICsg
U09DS19NTUNTRF9EQVRBKTsKLQkJCQlpZiAoaG9zdC0+YnVmZmVyX3NpemUgPiBob3N0LT5idWZm
ZXJfcG9zKSB7Ci0JCQkJCWJ1ZmZlcltob3N0LT5idWZmZXJfcG9zKytdID0KLQkJCQkJCQl0X3Zh
bCAmIDB4ZmY7Ci0JCQkJCWJ1ZmZlcltob3N0LT5idWZmZXJfcG9zKytdID0KLQkJCQkJCQkodF92
YWwgPj4gOCkgJiAweGZmOwotCQkJCX0KLQkJCX0KLQkJfSBlbHNlIGlmICgoY21kLT5kYXRhLT5m
bGFncyAmIE1NQ19EQVRBX1dSSVRFKQotCQkJICAgJiYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNT
RF9BRSkpIHsKLQkJCWZvciAoY250ID0gMDsgY250IDwgVElGTV9NTUNTRF9GSUZPX1NJWkU7IGNu
dCsrKSB7Ci0JCQkJaWYgKGhvc3QtPmJ1ZmZlcl9zaXplID4gaG9zdC0+YnVmZmVyX3Bvcykgewot
CQkJCQl0X3ZhbCA9IGJ1ZmZlcltob3N0LT5idWZmZXJfcG9zKytdCi0JCQkJCQkmIDB4MDBmZjsK
LQkJCQkJdF92YWwgfD0gKChidWZmZXJbaG9zdC0+YnVmZmVyX3BvcysrXSkKLQkJCQkJCSAgPDwg
OCkgJiAweGZmMDA7Ci0JCQkJCXdyaXRlbCh0X3ZhbCwKLQkJCQkJICAgICAgIHNvY2stPmFkZHIg
KyBTT0NLX01NQ1NEX0RBVEEpOwotCQkJCX0KKwkJdmFsIHw9IChidWZbcG9zKytdIDw8IDgpICYg
MHhmZjAwOworCQl3cml0ZWwodmFsLCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9EQVRBKTsKKwl9
CisJa3VubWFwX2F0b21pYyhidWYgLSBvZmYsIEtNX0JJT19TUkNfSVJRKTsKK30KKworc3RhdGlj
IHZvaWQgdGlmbV9zZF90cmFuc2Zlcl9kYXRhKHN0cnVjdCB0aWZtX3NkICpob3N0KQoreworCXN0
cnVjdCBtbWNfZGF0YSAqcl9kYXRhID0gaG9zdC0+cmVxLT5jbWQtPmRhdGE7CisJc3RydWN0IHNj
YXR0ZXJsaXN0ICpzZyA9IHJfZGF0YS0+c2c7CisJdW5zaWduZWQgaW50IG9mZiwgY250LCB0X3Np
emUgPSBUSUZNX01NQ1NEX0ZJRk9fU0laRSAqIDI7CisJdW5zaWduZWQgaW50IHBfb2ZmLCBwX2Nu
dDsKKwlzdHJ1Y3QgcGFnZSAqcGc7CisKKwlpZiAoaG9zdC0+c2dfcG9zID09IGhvc3QtPnNnX2xl
bikKKwkJcmV0dXJuOworCXdoaWxlICh0X3NpemUpIHsKKwkJY250ID0gc2dbaG9zdC0+c2dfcG9z
XS5sZW5ndGggLSBob3N0LT5ibG9ja19wb3M7CisJCWlmICghY250KSB7CisJCQlob3N0LT5ibG9j
a19wb3MgPSAwOworCQkJaG9zdC0+c2dfcG9zKys7CisJCQlpZiAoaG9zdC0+c2dfcG9zID09IGhv
c3QtPnNnX2xlbikgeworCQkJCWlmICgocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKQor
CQkJCSAgICAmJiBEQVRBX0NBUlJZKQorCQkJCQl3cml0ZWwoaG9zdC0+Ym91bmNlX2J1Zl9kYXRh
WzBdLAorCQkJCQkgICAgICAgaG9zdC0+ZGV2LT5hZGRyCisJCQkJCSAgICAgICArIFNPQ0tfTU1D
U0RfREFUQSk7CisKKwkJCQlyZXR1cm47CiAJCQl9CisJCQljbnQgPSBzZ1tob3N0LT5zZ19wb3Nd
Lmxlbmd0aDsKIAkJfQorCQlvZmYgPSBzZ1tob3N0LT5zZ19wb3NdLm9mZnNldCArIGhvc3QtPmJs
b2NrX3BvczsKKworCQlwZyA9IG50aF9wYWdlKHNnW2hvc3QtPnNnX3Bvc10ucGFnZSwgb2ZmID4+
IFBBR0VfU0hJRlQpOworCQlwX29mZiA9IG9mZnNldF9pbl9wYWdlKG9mZik7CisJCXBfY250ID0g
UEFHRV9TSVpFIC0gcF9vZmY7CisJCXBfY250ID0gbWluKHBfY250LCBjbnQpOworCQlwX2NudCA9
IG1pbihwX2NudCwgdF9zaXplKTsKKworCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1JF
QUQpCisJCQl0aWZtX3NkX3JlYWRfZmlmbyhob3N0LCBwZywgcF9vZmYsIHBfY250KTsKKwkJZWxz
ZSBpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKQorCQkJdGlmbV9zZF93cml0ZV9m
aWZvKGhvc3QsIHBnLCBwX29mZiwgcF9jbnQpOworCisJCXRfc2l6ZSAtPSBwX2NudDsKKwkJaG9z
dC0+YmxvY2tfcG9zICs9IHBfY250OwogCX0KK30KKworc3RhdGljIHZvaWQgdGlmbV9zZF9jb3B5
X3BhZ2Uoc3RydWN0IHBhZ2UgKmRzdCwgdW5zaWduZWQgaW50IGRzdF9vZmYsCisJCQkgICAgICBz
dHJ1Y3QgcGFnZSAqc3JjLCB1bnNpZ25lZCBpbnQgc3JjX29mZiwKKwkJCSAgICAgIHVuc2lnbmVk
IGludCBjb3VudCkKK3sKKwl1bnNpZ25lZCBjaGFyICpzcmNfYnVmID0ga21hcF9hdG9taWMoc3Jj
LCBLTV9CSU9fU1JDX0lSUSkgKyBzcmNfb2ZmOworCXVuc2lnbmVkIGNoYXIgKmRzdF9idWYgPSBr
bWFwX2F0b21pYyhkc3QsIEtNX0JJT19EU1RfSVJRKSArIGRzdF9vZmY7CisKKwltZW1jcHkoZHN0
X2J1Ziwgc3JjX2J1ZiwgY291bnQpOworCisJa3VubWFwX2F0b21pYyhkc3RfYnVmIC0gZHN0X29m
ZiwgS01fQklPX0RTVF9JUlEpOworCWt1bm1hcF9hdG9taWMoc3JjX2J1ZiAtIHNyY19vZmYsIEtN
X0JJT19TUkNfSVJRKTsKK30KKworc3RhdGljIHZvaWQgdGlmbV9zZF9ib3VuY2VfYmxvY2soc3Ry
dWN0IHRpZm1fc2QgKmhvc3QsIHN0cnVjdCBtbWNfZGF0YSAqcl9kYXRhKQoreworCXN0cnVjdCBz
Y2F0dGVybGlzdCAqc2cgPSByX2RhdGEtPnNnOworCXVuc2lnbmVkIGludCB0X3NpemUgPSByX2Rh
dGEtPmJsa3N6OworCXVuc2lnbmVkIGludCBvZmYsIGNudDsKKwl1bnNpZ25lZCBpbnQgcF9vZmYs
IHBfY250OworCXN0cnVjdCBwYWdlICpwZzsKKworCWRldl9kYmcoJmhvc3QtPmRldi0+ZGV2LCAi
Ym91bmNpbmcgYmxvY2tcbiIpOworCXdoaWxlICh0X3NpemUpIHsKKwkJY250ID0gc2dbaG9zdC0+
c2dfcG9zXS5sZW5ndGggLSBob3N0LT5ibG9ja19wb3M7CisJCWlmICghY250KSB7CisJCQlob3N0
LT5ibG9ja19wb3MgPSAwOworCQkJaG9zdC0+c2dfcG9zKys7CisJCQlpZiAoaG9zdC0+c2dfcG9z
ID09IGhvc3QtPnNnX2xlbikKKwkJCQlyZXR1cm47CisJCQljbnQgPSBzZ1tob3N0LT5zZ19wb3Nd
Lmxlbmd0aDsKKwkJfQorCQlvZmYgPSBzZ1tob3N0LT5zZ19wb3NdLm9mZnNldCArIGhvc3QtPmJs
b2NrX3BvczsKKworCQlwZyA9IG50aF9wYWdlKHNnW2hvc3QtPnNnX3Bvc10ucGFnZSwgb2ZmID4+
IFBBR0VfU0hJRlQpOworCQlwX29mZiA9IG9mZnNldF9pbl9wYWdlKG9mZik7CisJCXBfY250ID0g
UEFHRV9TSVpFIC0gcF9vZmY7CisJCXBfY250ID0gbWluKHBfY250LCBjbnQpOworCQlwX2NudCA9
IG1pbihwX2NudCwgdF9zaXplKTsKKworCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dS
SVRFKQorCQkJdGlmbV9zZF9jb3B5X3BhZ2UoaG9zdC0+Ym91bmNlX2J1Zi5wYWdlLAorCQkJCQkg
IHJfZGF0YS0+Ymxrc3ogLSB0X3NpemUsCisJCQkJCSAgcGcsIHBfb2ZmLCBwX2NudCk7CisJCWVs
c2UgaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9SRUFEKQorCQkJdGlmbV9zZF9jb3B5X3Bh
Z2UocGcsIHBfb2ZmLCBob3N0LT5ib3VuY2VfYnVmLnBhZ2UsCisJCQkJCSAgcl9kYXRhLT5ibGtz
eiAtIHRfc2l6ZSwgcF9jbnQpOworCisJCXRfc2l6ZSAtPSBwX2NudDsKKwkJaG9zdC0+YmxvY2tf
cG9zICs9IHBfY250OworCX0KK30KKworaW50IHRpZm1fc2Rfc2V0X2RtYV9kYXRhKHN0cnVjdCB0
aWZtX3NkICpob3N0LCBzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSkKK3sKKwlzdHJ1Y3QgdGlmbV9k
ZXYgKnNvY2sgPSBob3N0LT5kZXY7CisJdW5zaWduZWQgaW50IHRfc2l6ZSA9IFRJRk1fRE1BX1RT
SVpFICogcl9kYXRhLT5ibGtzejsKKwl1bnNpZ25lZCBpbnQgZG1hX2xlbiwgZG1hX2Jsa19jbnQs
IGRtYV9vZmY7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZyA9IE5VTEw7CisJdW5zaWduZWQgbG9u
ZyBmbGFnczsKKworCWlmIChob3N0LT5zZ19wb3MgPT0gaG9zdC0+c2dfbGVuKQorCQlyZXR1cm4g
MTsKKworCWlmIChob3N0LT5jbWRfZmxhZ3MgJiBEQVRBX0NBUlJZKSB7CisJCWhvc3QtPmNtZF9m
bGFncyAmPSB+REFUQV9DQVJSWTsKKwkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCQl0aWZtX3Nk
X2JvdW5jZV9ibG9jayhob3N0LCByX2RhdGEpOworCQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7
CisJCWlmIChob3N0LT5zZ19wb3MgPT0gaG9zdC0+c2dfbGVuKQorCQkJcmV0dXJuIDE7CisJfQor
CisJZG1hX2xlbiA9IHNnX2RtYV9sZW4oJnJfZGF0YS0+c2dbaG9zdC0+c2dfcG9zXSkgLSBob3N0
LT5ibG9ja19wb3M7CisJaWYgKCFkbWFfbGVuKSB7CisJCWhvc3QtPmJsb2NrX3BvcyA9IDA7CisJ
CWhvc3QtPnNnX3BvcysrOworCQlpZiAoaG9zdC0+c2dfcG9zID09IGhvc3QtPnNnX2xlbikKKwkJ
CXJldHVybiAxOworCQlkbWFfbGVuID0gc2dfZG1hX2xlbigmcl9kYXRhLT5zZ1tob3N0LT5zZ19w
b3NdKTsKKwl9CisKKwlpZiAoZG1hX2xlbiA8IHRfc2l6ZSkgeworCQlkbWFfYmxrX2NudCA9IGRt
YV9sZW4gLyByX2RhdGEtPmJsa3N6OworCQlkbWFfb2ZmID0gaG9zdC0+YmxvY2tfcG9zOworCQlo
b3N0LT5ibG9ja19wb3MgKz0gZG1hX2Jsa19jbnQgKiByX2RhdGEtPmJsa3N6OworCX0gZWxzZSB7
CisJCWRtYV9ibGtfY250ID0gVElGTV9ETUFfVFNJWkU7CisJCWRtYV9vZmYgPSBob3N0LT5ibG9j
a19wb3M7CisJCWhvc3QtPmJsb2NrX3BvcyArPSB0X3NpemU7CisJfQorCisJaWYgKGRtYV9ibGtf
Y250KQorCQlzZyA9ICZyX2RhdGEtPnNnW2hvc3QtPnNnX3Bvc107CisJZWxzZSBpZiAoZG1hX2xl
bikgeworCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSB7CisJCQlsb2NhbF9p
cnFfc2F2ZShmbGFncyk7CisJCQl0aWZtX3NkX2JvdW5jZV9ibG9jayhob3N0LCByX2RhdGEpOwor
CQkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCQl9IGVsc2UKKwkJCWhvc3QtPmNtZF9mbGFn
cyB8PSBEQVRBX0NBUlJZOworCisJCXNnID0gJmhvc3QtPmJvdW5jZV9idWY7CisJCWRtYV9vZmYg
PSAwOworCQlkbWFfYmxrX2NudCA9IDE7CisJfSBlbHNlCisJCXJldHVybiAxOworCisJZGV2X2Ri
Zygmc29jay0+ZGV2LCAic2V0dGluZyBkbWEgZm9yICVkIGJsb2Nrc1xuIiwgZG1hX2Jsa19jbnQp
OworCXdyaXRlbChzZ19kbWFfYWRkcmVzcyhzZykgKyBkbWFfb2ZmLCBzb2NrLT5hZGRyICsgU09D
S19ETUFfQUREUkVTUyk7CisJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJ
d3JpdGVsKChkbWFfYmxrX2NudCA8PCA4KSB8IFRJRk1fRE1BX1RYIHwgVElGTV9ETUFfRU4sCisJ
CSAgICAgICBzb2NrLT5hZGRyICsgU09DS19ETUFfQ09OVFJPTCk7CisJZWxzZQorCQl3cml0ZWwo
KGRtYV9ibGtfY250IDw8IDgpIHwgVElGTV9ETUFfRU4sCisJCSAgICAgICBzb2NrLT5hZGRyICsg
U09DS19ETUFfQ09OVFJPTCk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjA2LDggKzM3MiwxMCBA
QCBzdGF0aWMgdW5zaWduZWQgaW50IHRpZm1fc2Rfb3BfZmxhZ3Moc3RyCiBzdGF0aWMgdm9pZCB0
aWZtX3NkX2V4ZWMoc3RydWN0IHRpZm1fc2QgKmhvc3QsIHN0cnVjdCBtbWNfY29tbWFuZCAqY21k
KQogewogCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3QtPmRldjsKLQl1bnNpZ25lZCBpbnQg
Y21kX21hc2sgPSB0aWZtX3NkX29wX2ZsYWdzKGNtZCkgfAotCQkJCShob3N0LT5mbGFncyAmIE9Q
RU5EUkFJTik7CisJdW5zaWduZWQgaW50IGNtZF9tYXNrID0gdGlmbV9zZF9vcF9mbGFncyhjbWQp
OworCisJaWYgKGhvc3QtPm9wZW5fZHJhaW4pCisJCWNtZF9tYXNrIHw9IFRJRk1fTU1DU0RfT0RU
TzsKIAogCWlmIChjbWQtPmRhdGEgJiYgKGNtZC0+ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9SRUFE
KSkKIAkJY21kX21hc2sgfD0gVElGTV9NTUNTRF9SRUFEOwpAQCAtMjMyLDE5MSArNDAwLDE5NSBA
QCBzdGF0aWMgdm9pZCB0aWZtX3NkX2ZldGNoX3Jlc3Aoc3RydWN0IG1tCiAJCSAgICAgICB8IHJl
YWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1JFU1BPTlNFICsgMHgwMCk7CiB9CiAKLXN0YXRp
YyB2b2lkIHRpZm1fc2RfcHJvY2Vzc19jbWQoc3RydWN0IHRpZm1fZGV2ICpzb2NrLCBzdHJ1Y3Qg
dGlmbV9zZCAqaG9zdCwKLQkJCQkgICAgICAgdW5zaWduZWQgaW50IGhvc3Rfc3RhdHVzKQorc3Rh
dGljIHZvaWQgdGlmbV9zZF9jaGVja19zdGF0dXMoc3RydWN0IHRpZm1fc2QgKmhvc3QpCiB7CisJ
c3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwogCXN0cnVjdCBtbWNfY29tbWFuZCAq
Y21kID0gaG9zdC0+cmVxLT5jbWQ7CiAKLWNoYW5nZV9zdGF0ZToKLQlzd2l0Y2ggKGhvc3QtPnN0
YXRlKSB7Ci0JY2FzZSBJRExFOgorCWlmIChjbWQtPmVycm9yICE9IE1NQ19FUlJfTk9ORSkKKwkJ
Z290byBmaW5pc2hfcmVxdWVzdDsKKworCWlmICghKGhvc3QtPmNtZF9mbGFncyAmIENNRF9SRUFE
WSkpCiAJCXJldHVybjsKLQljYXNlIENNRDoKLQkJaWYgKGhvc3Rfc3RhdHVzICYgKFRJRk1fTU1D
U0RfRU9DIHwgVElGTV9NTUNTRF9DRVJSKSkgewotCQkJdGlmbV9zZF9mZXRjaF9yZXNwKGNtZCwg
c29jayk7Ci0JCQlpZiAoY21kLT5kYXRhKSB7Ci0JCQkJaG9zdC0+c3RhdGUgPSBCUlM7Ci0JCQl9
IGVsc2UgewotCQkJCWhvc3QtPnN0YXRlID0gUkVBRFk7Ci0JCQl9Ci0JCQlnb3RvIGNoYW5nZV9z
dGF0ZTsKLQkJfQotCQlicmVhazsKLQljYXNlIEJSUzoKLQkJaWYgKHRpZm1fc2RfdHJhbnNmZXJf
ZGF0YShzb2NrLCBob3N0LCBob3N0X3N0YXR1cykpIHsKLQkJCWlmIChjbWQtPmRhdGEtPmZsYWdz
ICYgTU1DX0RBVEFfV1JJVEUpIHsKLQkJCQlob3N0LT5zdGF0ZSA9IENBUkQ7Ci0JCQl9IGVsc2Ug
ewotCQkJCWlmIChub19kbWEpIHsKLQkJCQkJaWYgKGhvc3QtPnJlcS0+c3RvcCkgewotCQkJCQkJ
dGlmbV9zZF9leGVjKGhvc3QsIGhvc3QtPnJlcS0+c3RvcCk7Ci0JCQkJCQlob3N0LT5zdGF0ZSA9
IFNDTUQ7Ci0JCQkJCX0gZWxzZSB7Ci0JCQkJCQlob3N0LT5zdGF0ZSA9IFJFQURZOwotCQkJCQl9
Ci0JCQkJfSBlbHNlIHsKLQkJCQkJaG9zdC0+c3RhdGUgPSBGSUZPOwotCQkJCX0KLQkJCX0KLQkJ
CWdvdG8gY2hhbmdlX3N0YXRlOwotCQl9Ci0JCWJyZWFrOwotCWNhc2UgU0NNRDoKLQkJaWYgKGhv
c3Rfc3RhdHVzICYgVElGTV9NTUNTRF9FT0MpIHsKLQkJCXRpZm1fc2RfZmV0Y2hfcmVzcChob3N0
LT5yZXEtPnN0b3AsIHNvY2spOwotCQkJaG9zdC0+c3RhdGUgPSBSRUFEWTsKLQkJCWdvdG8gY2hh
bmdlX3N0YXRlOworCisJaWYgKGNtZC0+ZGF0YSkgeworCQlpZiAoY21kLT5kYXRhLT5lcnJvciAh
PSBNTUNfRVJSX05PTkUpIHsKKwkJCWlmICgoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9BQ1RJVkUp
CisJCQkgICAgJiYgIShob3N0LT5jbWRfZmxhZ3MgJiBTQ01EX1JFQURZKSkKKwkJCQlyZXR1cm47
CisKKwkJCWdvdG8gZmluaXNoX3JlcXVlc3Q7CiAJCX0KLQkJYnJlYWs7Ci0JY2FzZSBDQVJEOgot
CQlkZXZfZGJnKCZzb2NrLT5kZXYsICJ3YWl0aW5nIGZvciBDQVJELCBoYXZlICV6ZCBibG9ja3Nc
biIsCi0JCQlob3N0LT53cml0dGVuX2Jsb2Nrcyk7Ci0JCWlmICghKGhvc3QtPmZsYWdzICYgQ0FS
RF9CVVNZKQotCQkgICAgJiYgKGhvc3QtPndyaXR0ZW5fYmxvY2tzID09IGNtZC0+ZGF0YS0+Ymxv
Y2tzKSkgewotCQkJaWYgKG5vX2RtYSkgewotCQkJCWlmIChob3N0LT5yZXEtPnN0b3ApIHsKKwor
CQlpZiAoIShob3N0LT5jbWRfZmxhZ3MgJiBCUlNfUkVBRFkpKQorCQkJcmV0dXJuOworCisJCWlm
ICghKGhvc3QtPm5vX2RtYSB8fCAoaG9zdC0+Y21kX2ZsYWdzICYgRklGT19SRUFEWSkpKQorCQkJ
cmV0dXJuOworCisJCWlmIChjbWQtPmRhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpIHsKKwkJ
CWlmIChob3N0LT5yZXEtPnN0b3ApIHsKKwkJCQlpZiAoIShob3N0LT5jbWRfZmxhZ3MgJiBTQ01E
X0FDVElWRSkpIHsKKwkJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IFNDTURfQUNUSVZFOworCQkJCQl3
cml0ZWwoVElGTV9NTUNTRF9FT0ZCCisJCQkJCSAgICAgICB8IHJlYWRsKHNvY2stPmFkZHIKKwkJ
CQkJCSAgICAgICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCisJCQkJCSAgICAgICBzb2NrLT5h
ZGRyCisJCQkJCSAgICAgICArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7CiAJCQkJCXRpZm1fc2Rf
ZXhlYyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOwotCQkJCQlob3N0LT5zdGF0ZSA9IFNDTUQ7CisJ
CQkJCXJldHVybjsKIAkJCQl9IGVsc2UgewotCQkJCQlob3N0LT5zdGF0ZSA9IFJFQURZOworCQkJ
CQlpZiAoIShob3N0LT5jbWRfZmxhZ3MgJiBTQ01EX1JFQURZKQorCQkJCQkgICAgfHwgKGhvc3Qt
PmNtZF9mbGFncyAmIENBUkRfQlVTWSkpCisJCQkJCQlyZXR1cm47CisJCQkJCXdyaXRlbCgoflRJ
Rk1fTU1DU0RfRU9GQikKKwkJCQkJICAgICAgICYgcmVhZGwoc29jay0+YWRkcgorCQkJCQkJICAg
ICAgICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKSwKKwkJCQkJICAgICAgIHNvY2stPmFkZHIKKwkJ
CQkJICAgICAgICsgU09DS19NTUNTRF9JTlRfRU5BQkxFKTsKIAkJCQl9CiAJCQl9IGVsc2Ugewot
CQkJCWhvc3QtPnN0YXRlID0gRklGTzsKKwkJCQlpZiAoaG9zdC0+Y21kX2ZsYWdzICYgQ0FSRF9C
VVNZKQorCQkJCQlyZXR1cm47CisJCQkJd3JpdGVsKCh+VElGTV9NTUNTRF9FT0ZCKQorCQkJCSAg
ICAgICAmIHJlYWRsKHNvY2stPmFkZHIKKwkJCQkJICAgICAgICsgU09DS19NTUNTRF9JTlRfRU5B
QkxFKSwKKwkJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7CiAJ
CQl9Ci0JCQlnb3RvIGNoYW5nZV9zdGF0ZTsKLQkJfQotCQlicmVhazsKLQljYXNlIEZJRk86Ci0J
CWlmIChob3N0LT5mbGFncyAmIEZJRk9fUkRZKSB7Ci0JCQlob3N0LT5mbGFncyAmPSB+RklGT19S
RFk7CisJCX0gZWxzZSB7CiAJCQlpZiAoaG9zdC0+cmVxLT5zdG9wKSB7Ci0JCQkJdGlmbV9zZF9l
eGVjKGhvc3QsIGhvc3QtPnJlcS0+c3RvcCk7Ci0JCQkJaG9zdC0+c3RhdGUgPSBTQ01EOwotCQkJ
fSBlbHNlIHsKLQkJCQlob3N0LT5zdGF0ZSA9IFJFQURZOworCQkJCWlmICghKGhvc3QtPmNtZF9m
bGFncyAmIFNDTURfQUNUSVZFKSkgeworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gU0NNRF9BQ1RJ
VkU7CisJCQkJCXRpZm1fc2RfZXhlYyhob3N0LCBob3N0LT5yZXEtPnN0b3ApOworCQkJCQlyZXR1
cm47CisJCQkJfSBlbHNlIHsKKwkJCQkJaWYgKCEoaG9zdC0+Y21kX2ZsYWdzICYgU0NNRF9SRUFE
WSkpCisJCQkJCQlyZXR1cm47CisJCQkJfQogCQkJfQotCQkJZ290byBjaGFuZ2Vfc3RhdGU7CiAJ
CX0KLQkJYnJlYWs7Ci0JY2FzZSBSRUFEWToKLQkJdGFza2xldF9zY2hlZHVsZSgmaG9zdC0+Zmlu
aXNoX3Rhc2tsZXQpOwotCQlyZXR1cm47CiAJfQotCitmaW5pc2hfcmVxdWVzdDoKKwl0YXNrbGV0
X3NjaGVkdWxlKCZob3N0LT5maW5pc2hfdGFza2xldCk7CiB9CiAKIC8qIENhbGxlZCBmcm9tIGlu
dGVycnVwdCBoYW5kbGVyICovCi1zdGF0aWMgdm9pZCB0aWZtX3NkX3NpZ25hbF9pcnEoc3RydWN0
IHRpZm1fZGV2ICpzb2NrLAotCQkJICAgICAgIHVuc2lnbmVkIGludCBzb2NrX2lycV9zdGF0dXMp
CitzdGF0aWMgdm9pZCB0aWZtX3NkX2RhdGFfZXZlbnQoc3RydWN0IHRpZm1fZGV2ICpzb2NrKQog
ewogCXN0cnVjdCB0aWZtX3NkICpob3N0OwotCXVuc2lnbmVkIGludCBob3N0X3N0YXR1cyA9IDAs
IGZpZm9fc3RhdHVzID0gMDsKLQlpbnQgZXJyb3JfY29kZSA9IDA7CisJdW5zaWduZWQgaW50IGZp
Zm9fc3RhdHVzID0gMDsKKwlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9IE5VTEw7CiAKIAlzcGlu
X2xvY2soJnNvY2stPmxvY2spOwogCWhvc3QgPSBtbWNfcHJpdigoc3RydWN0IG1tY19ob3N0Kil0
aWZtX2dldF9kcnZkYXRhKHNvY2spKTsKKwlmaWZvX3N0YXR1cyA9IHJlYWRsKHNvY2stPmFkZHIg
KyBTT0NLX0RNQV9GSUZPX1NUQVRVUyk7CisJZGV2X2RiZygmc29jay0+ZGV2LCAiZGF0YSBldmVu
dDogZmlmb19zdGF0dXMgJXgsIGZsYWdzICV4XG4iLAorCQlmaWZvX3N0YXR1cywgaG9zdC0+Y21k
X2ZsYWdzKTsKIAotCWlmIChzb2NrX2lycV9zdGF0dXMgJiBGSUZPX0VWRU5UKSB7Ci0JCWZpZm9f
c3RhdHVzID0gcmVhZGwoc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fU1RBVFVTKTsKLQkJd3Jp
dGVsKGZpZm9fc3RhdHVzLCBzb2NrLT5hZGRyICsgU09DS19ETUFfRklGT19TVEFUVVMpOworCWlm
IChob3N0LT5yZXEpIHsKKwkJcl9kYXRhID0gaG9zdC0+cmVxLT5jbWQtPmRhdGE7CiAKLQkJaG9z
dC0+ZmxhZ3MgfD0gZmlmb19zdGF0dXMgJiBGSUZPX1JEWTsKKwkJaWYgKHJfZGF0YSAmJiAoZmlm
b19zdGF0dXMgJiBUSUZNX0ZJRk9fUkVBRFkpKSB7CisJCQlpZiAodGlmbV9zZF9zZXRfZG1hX2Rh
dGEoaG9zdCwgcl9kYXRhKSkgeworCQkJCWhvc3QtPmNtZF9mbGFncyB8PSBGSUZPX1JFQURZOwor
CQkJCXRpZm1fc2RfY2hlY2tfc3RhdHVzKGhvc3QpOworCQkJfQorCQl9CiAJfQogCi0JaWYgKHNv
Y2tfaXJxX3N0YXR1cyAmIENBUkRfRVZFTlQpIHsKLQkJaG9zdF9zdGF0dXMgPSByZWFkbChzb2Nr
LT5hZGRyICsgU09DS19NTUNTRF9TVEFUVVMpOwotCQl3cml0ZWwoaG9zdF9zdGF0dXMsIHNvY2st
PmFkZHIgKyBTT0NLX01NQ1NEX1NUQVRVUyk7CisJd3JpdGVsKGZpZm9fc3RhdHVzLCBzb2NrLT5h
ZGRyICsgU09DS19ETUFfRklGT19TVEFUVVMpOworCXNwaW5fdW5sb2NrKCZzb2NrLT5sb2NrKTsK
K30KIAotCQlpZiAoIWhvc3QtPnJlcSkKLQkJCWdvdG8gZG9uZTsKKy8qIENhbGxlZCBmcm9tIGlu
dGVycnVwdCBoYW5kbGVyICovCitzdGF0aWMgdm9pZCB0aWZtX3NkX2NhcmRfZXZlbnQoc3RydWN0
IHRpZm1fZGV2ICpzb2NrKQoreworCXN0cnVjdCB0aWZtX3NkICpob3N0OworCXVuc2lnbmVkIGlu
dCBob3N0X3N0YXR1cyA9IDA7CisJaW50IGNtZF9lcnJvciA9IE1NQ19FUlJfTk9ORTsKKwlzdHJ1
Y3QgbW1jX2NvbW1hbmQgKmNtZCA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNw
aW5fbG9jaygmc29jay0+bG9jayk7CisJaG9zdCA9IG1tY19wcml2KChzdHJ1Y3QgbW1jX2hvc3Qq
KXRpZm1fZ2V0X2RydmRhdGEoc29jaykpOworCWhvc3Rfc3RhdHVzID0gcmVhZGwoc29jay0+YWRk
ciArIFNPQ0tfTU1DU0RfU1RBVFVTKTsKKwlkZXZfZGJnKCZzb2NrLT5kZXYsICJob3N0IGV2ZW50
OiBob3N0X3N0YXR1cyAleCwgZmxhZ3MgJXhcbiIsCisJCWhvc3Rfc3RhdHVzLCBob3N0LT5jbWRf
ZmxhZ3MpOworCisJaWYgKGhvc3QtPnJlcSkgeworCQljbWQgPSBob3N0LT5yZXEtPmNtZDsKIAog
CQlpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0VSUk1BU0spIHsKLQkJCWlmIChob3N0X3N0
YXR1cyAmIChUSUZNX01NQ1NEX0NUTyB8IFRJRk1fTU1DU0RfRFRPKSkKLQkJCQllcnJvcl9jb2Rl
ID0gTU1DX0VSUl9USU1FT1VUOwotCQkJZWxzZSBpZiAoaG9zdF9zdGF0dXMKLQkJCQkgJiAoVElG
TV9NTUNTRF9DQ1JDIHwgVElGTV9NTUNTRF9EQ1JDKSkKLQkJCQllcnJvcl9jb2RlID0gTU1DX0VS
Ul9CQURDUkM7CisJCQl3cml0ZWwoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0VSUk1BU0ssCisJ
CQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfU1RBVFVTKTsKKwkJCWlmIChob3N0X3N0
YXR1cyAmIFRJRk1fTU1DU0RfQ1RPKQorCQkJCWNtZF9lcnJvciA9IE1NQ19FUlJfVElNRU9VVDsK
KwkJCWVsc2UgaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9DQ1JDKQorCQkJCWNtZF9lcnJv
ciA9IE1NQ19FUlJfQkFEQ1JDOworCisJCQlpZiAoY21kLT5kYXRhKSB7CisJCQkJaWYgKGhvc3Rf
c3RhdHVzICYgVElGTV9NTUNTRF9EVE8pCisJCQkJCWNtZC0+ZGF0YS0+ZXJyb3IgPSBNTUNfRVJS
X1RJTUVPVVQ7CisJCQkJZWxzZSBpZiAoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0RDUkMpCisJ
CQkJCWNtZC0+ZGF0YS0+ZXJyb3IgPSBNTUNfRVJSX0JBRENSQzsKKwkJCX0KIAogCQkJd3JpdGVs
KFRJRk1fRklGT19JTlRfU0VUQUxMLAogCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9G
SUZPX0lOVF9FTkFCTEVfQ0xFQVIpOwogCQkJd3JpdGVsKFRJRk1fRE1BX1JFU0VULCBzb2NrLT5h
ZGRyICsgU09DS19ETUFfQ09OVFJPTCk7CiAKIAkJCWlmIChob3N0LT5yZXEtPnN0b3ApIHsKLQkJ
CQlpZiAoaG9zdC0+c3RhdGUgPT0gU0NNRCkgewotCQkJCQlob3N0LT5yZXEtPnN0b3AtPmVycm9y
ID0gZXJyb3JfY29kZTsKLQkJCQl9IGVsc2UgaWYgKGhvc3QtPnN0YXRlID09IEJSUwotCQkJCQkg
ICB8fCBob3N0LT5zdGF0ZSA9PSBDQVJECi0JCQkJCSAgIHx8IGhvc3QtPnN0YXRlID09IEZJRk8p
IHsKLQkJCQkJaG9zdC0+cmVxLT5jbWQtPmVycm9yID0gZXJyb3JfY29kZTsKLQkJCQkJdGlmbV9z
ZF9leGVjKGhvc3QsIGhvc3QtPnJlcS0+c3RvcCk7Ci0JCQkJCWhvc3QtPnN0YXRlID0gU0NNRDsK
LQkJCQkJZ290byBkb25lOworCQkJCWlmIChob3N0LT5jbWRfZmxhZ3MgJiBTQ01EX0FDVElWRSkg
eworCQkJCQlob3N0LT5yZXEtPnN0b3AtPmVycm9yID0gY21kX2Vycm9yOworCQkJCQlob3N0LT5j
bWRfZmxhZ3MgfD0gU0NNRF9SRUFEWTsKIAkJCQl9IGVsc2UgewotCQkJCQlob3N0LT5yZXEtPmNt
ZC0+ZXJyb3IgPSBlcnJvcl9jb2RlOworCQkJCQljbWQtPmVycm9yID0gY21kX2Vycm9yOworCQkJ
CQkvL2hvc3QtPmNtZF9mbGFncyB8PSBTQ01EX0FDVElWRTsKKwkJCQkJLy90aWZtX3NkX2V4ZWMo
aG9zdCwgaG9zdC0+cmVxLT5zdG9wKTsKKwkJCQkJdGlmbV9zZF9jaGVja19zdGF0dXMoaG9zdCk7
CisJCQkJCWdvdG8gZG9uZTsKKwkJCQl9CisJCQl9IGVsc2UKKwkJCQljbWQtPmVycm9yID0gY21k
X2Vycm9yOworCQl9IGVsc2UgeworCQkJaWYgKGhvc3Rfc3RhdHVzICYgKFRJRk1fTU1DU0RfRU9D
IHwgVElGTV9NTUNTRF9DRVJSKSkgeworCQkJCWlmICghKGhvc3QtPmNtZF9mbGFncyAmIENNRF9S
RUFEWSkpIHsKKwkJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IENNRF9SRUFEWTsKKwkJCQkJdGlmbV9z
ZF9mZXRjaF9yZXNwKGNtZCwgc29jayk7CisJCQkJfSBlbHNlIGlmIChob3N0LT5jbWRfZmxhZ3Mg
JiBTQ01EX0FDVElWRSkgeworCQkJCQlob3N0LT5jbWRfZmxhZ3MgfD0gU0NNRF9SRUFEWTsKKwkJ
CQkJdGlmbV9zZF9mZXRjaF9yZXNwKGhvc3QtPnJlcS0+c3RvcCwKKwkJCQkJCQkgICBzb2NrKTsK
IAkJCQl9Ci0JCQl9IGVsc2UgewotCQkJCWhvc3QtPnJlcS0+Y21kLT5lcnJvciA9IGVycm9yX2Nv
ZGU7CiAJCQl9Ci0JCQlob3N0LT5zdGF0ZSA9IFJFQURZOworCQkJaWYgKGhvc3Rfc3RhdHVzICYg
VElGTV9NTUNTRF9CUlMpCisJCQkJaG9zdC0+Y21kX2ZsYWdzIHw9IEJSU19SRUFEWTsKIAkJfQog
Ci0JCWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQ0IpCi0JCQlob3N0LT5mbGFncyB8PSBD
QVJEX0JVU1k7Ci0JCWlmICgoaG9zdF9zdGF0dXMgJiBUSUZNX01NQ1NEX0VPRkIpCi0JCSAgICAm
JiAoaG9zdC0+ZmxhZ3MgJiBDQVJEX0JVU1kpKSB7Ci0JCQlob3N0LT53cml0dGVuX2Jsb2Nrcysr
OwotCQkJaG9zdC0+ZmxhZ3MgJj0gfkNBUkRfQlVTWTsKKwkJaWYgKGhvc3QtPm5vX2RtYSAmJiBj
bWQtPmRhdGEpIHsKKwkJCWlmIChob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfQUUpCisJCQkJd3Jp
dGVsKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9BRSwKKwkJCQkgICAgICAgc29jay0+YWRkciAr
IFNPQ0tfTU1DU0RfU1RBVFVTKTsKKworCQkJaWYgKGhvc3Rfc3RhdHVzICYgKFRJRk1fTU1DU0Rf
QUUgfCBUSUZNX01NQ1NEX0FGCisJCQkJCSAgIHwgVElGTV9NTUNTRF9CUlMpKSB7CisJCQkJbG9j
YWxfaXJxX3NhdmUoZmxhZ3MpOworCQkJCXRpZm1fc2RfdHJhbnNmZXJfZGF0YShob3N0KTsKKwkJ
CQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJCQkJaG9zdF9zdGF0dXMgJj0gflRJRk1fTU1D
U0RfQUU7CisJCQl9CiAJCX0KLSAgICAgICAgfQotCi0JaWYgKGhvc3QtPnJlcSkKLQkJdGlmbV9z
ZF9wcm9jZXNzX2NtZChzb2NrLCBob3N0LCBob3N0X3N0YXR1cyk7Ci1kb25lOgotCWRldl9kYmco
JnNvY2stPmRldiwgImhvc3Rfc3RhdHVzICV4LCBmaWZvX3N0YXR1cyAleFxuIiwKLQkJaG9zdF9z
dGF0dXMsIGZpZm9fc3RhdHVzKTsKLQlzcGluX3VubG9jaygmc29jay0+bG9jayk7Ci19Ci0KLXN0
YXRpYyB2b2lkIHRpZm1fc2RfcHJlcGFyZV9kYXRhKHN0cnVjdCB0aWZtX3NkICpob3N0LCBzdHJ1
Y3QgbW1jX2NvbW1hbmQgKmNtZCkKLXsKLQlzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5k
ZXY7Ci0JdW5zaWduZWQgaW50IGRlc3RfY250OwotCi0JLyogRE1BIHN0eWxlIElPICovCi0JZGV2
X2RiZygmc29jay0+ZGV2LCAic2V0dGluZyBkbWEgZm9yICVkIGJsb2Nrc1xuIiwKLQkJY21kLT5k
YXRhLT5ibG9ja3MpOwotCXdyaXRlbChUSUZNX0ZJRk9fSU5UX1NFVEFMTCwKLQkgICAgICAgc29j
ay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VOQUJMRV9DTEVBUik7Ci0Jd3JpdGVsKGlsb2cy
KGNtZC0+ZGF0YS0+Ymxrc3opIC0gMiwKLQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRklGT19Q
QUdFX1NJWkUpOwotCXdyaXRlbChUSUZNX0ZJRk9fRU5BQkxFLCBzb2NrLT5hZGRyICsgU09DS19G
SUZPX0NPTlRST0wpOwotCXdyaXRlbChUSUZNX0ZJRk9fSU5UTUFTSywgc29jay0+YWRkciArIFNP
Q0tfRE1BX0ZJRk9fSU5UX0VOQUJMRV9TRVQpOwotCi0JZGVzdF9jbnQgPSAoY21kLT5kYXRhLT5i
bG9ja3MpIDw8IDg7Ci0KLQl3cml0ZWwoc2dfZG1hX2FkZHJlc3MoY21kLT5kYXRhLT5zZyksIHNv
Y2stPmFkZHIgKyBTT0NLX0RNQV9BRERSRVNTKTsKIAotCXdyaXRlbChjbWQtPmRhdGEtPmJsb2Nr
cyAtIDEsIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX05VTV9CTE9DS1MpOwotCXdyaXRlbChjbWQt
PmRhdGEtPmJsa3N6IC0gMSwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQkxPQ0tfTEVOKTsKKwkJ
aWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9FT0ZCKQorCQkJaG9zdC0+Y21kX2ZsYWdzICY9
IH5DQVJEX0JVU1k7CisJCWVsc2UgaWYgKGhvc3Rfc3RhdHVzICYgVElGTV9NTUNTRF9DQikKKwkJ
CWhvc3QtPmNtZF9mbGFncyB8PSBDQVJEX0JVU1k7CiAKLQlpZiAoY21kLT5kYXRhLT5mbGFncyAm
IE1NQ19EQVRBX1dSSVRFKSB7Ci0JCXdyaXRlbChUSUZNX01NQ1NEX1RYREUsIHNvY2stPmFkZHIg
KyBTT0NLX01NQ1NEX0JVRkZFUl9DT05GSUcpOwotCQl3cml0ZWwoZGVzdF9jbnQgfCBUSUZNX0RN
QV9UWCB8IFRJRk1fRE1BX0VOLAotCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfRE1BX0NPTlRS
T0wpOwotCX0gZWxzZSB7Ci0JCXdyaXRlbChUSUZNX01NQ1NEX1JYREUsIHNvY2stPmFkZHIgKyBT
T0NLX01NQ1NEX0JVRkZFUl9DT05GSUcpOwotCQl3cml0ZWwoZGVzdF9jbnQgfCBUSUZNX0RNQV9F
Tiwgc29jay0+YWRkciArIFNPQ0tfRE1BX0NPTlRST0wpOworCQl0aWZtX3NkX2NoZWNrX3N0YXR1
cyhob3N0KTsKIAl9Citkb25lOgorCXdyaXRlbChob3N0X3N0YXR1cywgc29jay0+YWRkciArIFNP
Q0tfTU1DU0RfU1RBVFVTKTsKKwlzcGluX3VubG9jaygmc29jay0+bG9jayk7CiB9CiAKIHN0YXRp
YyB2b2lkIHRpZm1fc2Rfc2V0X2RhdGFfdGltZW91dChzdHJ1Y3QgdGlmbV9zZCAqaG9zdCwKQEAg
LTQ1MiwxNDYgKzYyNCw5OSBAQCBzdGF0aWMgdm9pZCB0aWZtX3NkX3JlcXVlc3Qoc3RydWN0IG1t
Y19oCiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSBtbWNfcHJpdihtbWMpOwogCXN0cnVjdCB0aWZt
X2RldiAqc29jayA9IGhvc3QtPmRldjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBzZ19j
b3VudCA9IDA7CiAJc3RydWN0IG1tY19kYXRhICpyX2RhdGEgPSBtcnEtPmNtZC0+ZGF0YTsKIAog
CXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGhvc3QtPmZsYWdz
ICYgRUpFQ1QpIHsKKwlpZiAoaG9zdC0+ZWplY3QpIHsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9y
ZSgmc29jay0+bG9jaywgZmxhZ3MpOwogCQlnb3RvIGVycl9vdXQ7CiAJfQogCiAJaWYgKGhvc3Qt
PnJlcSkgewotCQlwcmludGsoS0VSTl9FUlIgRFJJVkVSX05BTUUgIjogdW5maW5pc2hlZCByZXF1
ZXN0IGRldGVjdGVkXG4iKTsKKwkJcHJpbnRrKEtFUk5fRVJSICIlcyA6IHVuZmluaXNoZWQgcmVx
dWVzdCBkZXRlY3RlZFxuIiwKKwkJICAgICAgIHNvY2stPmRldi5idXNfaWQpOwogCQlzcGluX3Vu
bG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7CiAJCWdvdG8gZXJyX291dDsKIAl9
CiAKKwlob3N0LT5jbWRfZmxhZ3MgPSAwOworCWhvc3QtPmJsb2NrX3BvcyA9IDA7CisJaG9zdC0+
c2dfcG9zID0gMDsKKwogCWlmIChyX2RhdGEpIHsKIAkJdGlmbV9zZF9zZXRfZGF0YV90aW1lb3V0
KGhvc3QsIHJfZGF0YSk7CiAKLQkJc2dfY291bnQgPSB0aWZtX21hcF9zZyhzb2NrLCByX2RhdGEt
PnNnLCByX2RhdGEtPnNnX2xlbiwKLQkJCQkgICAgICAgbXJxLT5jbWQtPmZsYWdzICYgTU1DX0RB
VEFfV1JJVEUKLQkJCQkgICAgICAgPyBQQ0lfRE1BX1RPREVWSUNFIDogUENJX0RNQV9GUk9NREVW
SUNFKTsKLQkJaWYgKHNnX2NvdW50ICE9IDEpIHsKLQkJCXByaW50ayhLRVJOX0VSUiBEUklWRVJf
TkFNRQotCQkJCSI6IHNjYXR0ZXJsaXN0IG1hcCBmYWlsZWRcbiIpOwotCQkJc3Bpbl91bmxvY2tf
aXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCQkJZ290byBlcnJfb3V0OwotCQl9Ci0K
LQkJaG9zdC0+d3JpdHRlbl9ibG9ja3MgPSAwOwotCQlob3N0LT5mbGFncyAmPSB+Q0FSRF9CVVNZ
OwotCQl0aWZtX3NkX3ByZXBhcmVfZGF0YShob3N0LCBtcnEtPmNtZCk7Ci0JfQotCi0JaG9zdC0+
cmVxID0gbXJxOwotCW1vZF90aW1lcigmaG9zdC0+dGltZXIsIGppZmZpZXMgKyBob3N0LT50aW1l
b3V0X2ppZmZpZXMpOwotCWhvc3QtPnN0YXRlID0gQ01EOwotCXdyaXRlbChUSUZNX0NUUkxfTEVE
IHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCksCi0JICAgICAgIHNvY2stPmFkZHIg
KyBTT0NLX0NPTlRST0wpOwotCXRpZm1fc2RfZXhlYyhob3N0LCBtcnEtPmNtZCk7Ci0Jc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9jaywgZmxhZ3MpOwotCXJldHVybjsKLQotZXJyX291
dDoKLQlpZiAoc2dfY291bnQgPiAwKQotCQl0aWZtX3VubWFwX3NnKHNvY2ssIHJfZGF0YS0+c2cs
IHJfZGF0YS0+c2dfbGVuLAotCQkJICAgICAgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklU
RSkKLQkJCSAgICAgID8gUENJX0RNQV9UT0RFVklDRSA6IFBDSV9ETUFfRlJPTURFVklDRSk7Ci0K
LQltcnEtPmNtZC0+ZXJyb3IgPSBNTUNfRVJSX1RJTUVPVVQ7Ci0JbW1jX3JlcXVlc3RfZG9uZSht
bWMsIG1ycSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHRpZm1fc2RfZW5kX2NtZCh1bnNpZ25lZCBsb25n
IGRhdGEpCi17Ci0Jc3RydWN0IHRpZm1fc2QgKmhvc3QgPSAoc3RydWN0IHRpZm1fc2QqKWRhdGE7
Ci0Jc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwotCXN0cnVjdCBtbWNfaG9zdCAq
bW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKLQlzdHJ1Y3QgbW1jX3JlcXVlc3QgKm1ycTsK
LQlzdHJ1Y3QgbW1jX2RhdGEgKnJfZGF0YSA9IE5VTEw7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsK
LQotCXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0KLQlkZWxfdGltZXIo
Jmhvc3QtPnRpbWVyKTsKLQltcnEgPSBob3N0LT5yZXE7Ci0JaG9zdC0+cmVxID0gTlVMTDsKLQlo
b3N0LT5zdGF0ZSA9IElETEU7Ci0KLQlpZiAoIW1ycSkgewotCQlwcmludGsoS0VSTl9FUlIgRFJJ
VkVSX05BTUUgIjogbm8gcmVxdWVzdCB0byBjb21wbGV0ZT9cbiIpOwotCQlzcGluX3VubG9ja19p
cnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybjsKLQl9CisJCWlmICgocl9k
YXRhLT5mbGFncyAmIE1NQ19EQVRBX1dSSVRFKSAmJiAhbXJxLT5zdG9wKQorCQkJIHdyaXRlbChU
SUZNX01NQ1NEX0VPRkIKKwkJCQl8IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9F
TkFCTEUpLAorCQkJCXNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOworCisJCWlm
IChob3N0LT5ub19kbWEpIHsKKwkJCXdyaXRlbChUSUZNX01NQ1NEX0JVRklOVAorCQkJICAgICAg
IHwgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCisJCQkgICAgICAg
c29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7CisJCQl3cml0ZWwoKChUSUZNX01N
Q1NEX0ZJRk9fU0laRSAtIDEpIDw8IDgpCisJCQkgICAgICAgfCAoVElGTV9NTUNTRF9GSUZPX1NJ
WkUgLSAxKSwKKwkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CVUZGRVJfQ09ORklH
KTsKIAotCXJfZGF0YSA9IG1ycS0+Y21kLT5kYXRhOwotCWlmIChyX2RhdGEpIHsKLQkJaWYgKHJf
ZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkgewotCQkJcl9kYXRhLT5ieXRlc194ZmVyZWQg
PSBob3N0LT53cml0dGVuX2Jsb2NrcwotCQkJCQkgICAgICAgKiByX2RhdGEtPmJsa3N6OworCQkJ
aG9zdC0+c2dfbGVuID0gcl9kYXRhLT5zZ19sZW47CiAJCX0gZWxzZSB7Ci0JCQlyX2RhdGEtPmJ5
dGVzX3hmZXJlZCA9IHJfZGF0YS0+YmxvY2tzIC0KLQkJCQlyZWFkbChzb2NrLT5hZGRyICsgU09D
S19NTUNTRF9OVU1fQkxPQ0tTKSAtIDE7Ci0JCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCAqPSByX2Rh
dGEtPmJsa3N6OwotCQkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKz0gcl9kYXRhLT5ibGtzeiAtCi0J
CQkJcmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQkxPQ0tfTEVOKSArIDE7Ci0JCX0KLQkJ
dGlmbV91bm1hcF9zZyhzb2NrLCByX2RhdGEtPnNnLCByX2RhdGEtPnNnX2xlbiwKLQkJCSAgICAg
IChyX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFfV1JJVEUpCi0JCQkgICAgICA/IFBDSV9ETUFfVE9E
RVZJQ0UgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpOwotCX0KKwkJCXNnX2luaXRfb25lKCZob3N0LT5i
b3VuY2VfYnVmLCBob3N0LT5ib3VuY2VfYnVmX2RhdGEsCisJCQkJICAgIHJfZGF0YS0+Ymxrc3op
OwogCi0Jd3JpdGVsKCh+VElGTV9DVFJMX0xFRCkgJiByZWFkbChzb2NrLT5hZGRyICsgU09DS19D
T05UUk9MKSwKLQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCk7Ci0KLQlzcGluX3Vu
bG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0JbW1jX3JlcXVlc3RfZG9uZSht
bWMsIG1ycSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHRpZm1fc2RfcmVxdWVzdF9ub2RtYShzdHJ1Y3Qg
bW1jX2hvc3QgKm1tYywgc3RydWN0IG1tY19yZXF1ZXN0ICptcnEpCi17Ci0Jc3RydWN0IHRpZm1f
c2QgKmhvc3QgPSBtbWNfcHJpdihtbWMpOwotCXN0cnVjdCB0aWZtX2RldiAqc29jayA9IGhvc3Qt
PmRldjsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXN0cnVjdCBtbWNfZGF0YSAqcl9kYXRhID0g
bXJxLT5jbWQtPmRhdGE7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywgZmxhZ3Mp
OwotCWlmIChob3N0LT5mbGFncyAmIEVKRUNUKSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo
JnNvY2stPmxvY2ssIGZsYWdzKTsKLQkJZ290byBlcnJfb3V0OwotCX0KLQotCWlmIChob3N0LT5y
ZXEpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIERSSVZFUl9OQU1FICI6IHVuZmluaXNoZWQgcmVxdWVz
dCBkZXRlY3RlZFxuIik7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZs
YWdzKTsKLQkJZ290byBlcnJfb3V0OwotCX0KKwkJCWlmKDEgIT0gdGlmbV9tYXBfc2coc29jaywg
Jmhvc3QtPmJvdW5jZV9idWYsIDEsCisJCQkJCSAgICByX2RhdGEtPmZsYWdzICYgTU1DX0RBVEFf
V1JJVEUKKwkJCQkJICAgID8gUENJX0RNQV9UT0RFVklDRQorCQkJCQkgICAgOiBQQ0lfRE1BX0ZS
T01ERVZJQ0UpKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICIlcyA6IHNjYXR0ZXJsaXN0IG1hcCBm
YWlsZWRcbiIsCisJCQkJICAgICAgIHNvY2stPmRldi5idXNfaWQpOworCQkJCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKKwkJCQlnb3RvIGVycl9vdXQ7CisJCQl9
CisJCQlob3N0LT5zZ19sZW4gPSB0aWZtX21hcF9zZyhzb2NrLCByX2RhdGEtPnNnLAorCQkJCQkJ
ICAgcl9kYXRhLT5zZ19sZW4sCisJCQkJCQkgICByX2RhdGEtPmZsYWdzCisJCQkJCQkgICAmIE1N
Q19EQVRBX1dSSVRFCisJCQkJCQkgICA/IFBDSV9ETUFfVE9ERVZJQ0UKKwkJCQkJCSAgIDogUENJ
X0RNQV9GUk9NREVWSUNFKTsKKwkJCWlmIChob3N0LT5zZ19sZW4gPCAxKSB7CisJCQkJcHJpbnRr
KEtFUk5fRVJSICIlcyA6IHNjYXR0ZXJsaXN0IG1hcCBmYWlsZWRcbiIsCisJCQkJICAgICAgIHNv
Y2stPmRldi5idXNfaWQpOworCQkJCXRpZm1fdW5tYXBfc2coc29jaywgJmhvc3QtPmJvdW5jZV9i
dWYsIDEsCisJCQkJCSAgICAgIHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURQorCQkJCQkg
ICAgICA/IFBDSV9ETUFfVE9ERVZJQ0UKKwkJCQkJICAgICAgOiBQQ0lfRE1BX0ZST01ERVZJQ0Up
OworCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKKwkJCQln
b3RvIGVycl9vdXQ7CisJCQl9CiAKLQlpZiAocl9kYXRhKSB7Ci0JCXRpZm1fc2Rfc2V0X2RhdGFf
dGltZW91dChob3N0LCByX2RhdGEpOworCQkJd3JpdGVsKFRJRk1fRklGT19JTlRfU0VUQUxMLAor
CQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9FTkFCTEVfQ0xFQVIpOwor
CQkJd3JpdGVsKGlsb2cyKHJfZGF0YS0+Ymxrc3opIC0gMiwKKwkJCSAgICAgICBzb2NrLT5hZGRy
ICsgU09DS19GSUZPX1BBR0VfU0laRSk7CisJCQl3cml0ZWwoVElGTV9GSUZPX0VOQUJMRSwKKwkJ
CSAgICAgICBzb2NrLT5hZGRyICsgU09DS19GSUZPX0NPTlRST0wpOworCQkJd3JpdGVsKFRJRk1f
RklGT19JTlRNQVNLLAorCQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9F
TkFCTEVfU0VUKTsKKworCQkJaWYgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJ
CQl3cml0ZWwoVElGTV9NTUNTRF9UWERFLAorCQkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19N
TUNTRF9CVUZGRVJfQ09ORklHKTsKKwkJCWVsc2UKKwkJCQl3cml0ZWwoVElGTV9NTUNTRF9SWERF
LAorCQkJCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CVUZGRVJfQ09ORklHKTsKIAot
CQlob3N0LT5idWZmZXJfc2l6ZSA9IG1ycS0+Y21kLT5kYXRhLT5ibG9ja3MKLQkJCQkgICAgKiBt
cnEtPmNtZC0+ZGF0YS0+Ymxrc3o7CisJCQl0aWZtX3NkX3NldF9kbWFfZGF0YShob3N0LCByX2Rh
dGEpOworCQl9CiAKLQkJd3JpdGVsKFRJRk1fTU1DU0RfQlVGSU5UCi0JCSAgICAgICB8IHJlYWRs
KHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpLAotCQkgICAgICAgc29jay0+YWRk
ciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSk7Ci0JCXdyaXRlbCgoKFRJRk1fTU1DU0RfRklGT19T
SVpFIC0gMSkgPDwgOCkKLQkJICAgICAgIHwgKFRJRk1fTU1DU0RfRklGT19TSVpFIC0gMSksCi0J
CSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CVUZGRVJfQ09ORklHKTsKLQotCQlob3N0
LT53cml0dGVuX2Jsb2NrcyA9IDA7Ci0JCWhvc3QtPmZsYWdzICY9IH5DQVJEX0JVU1k7Ci0JCWhv
c3QtPmJ1ZmZlcl9wb3MgPSAwOwotCQl3cml0ZWwocl9kYXRhLT5ibG9ja3MgLSAxLCBzb2NrLT5h
ZGRyICsgU09DS19NTUNTRF9OVU1fQkxPQ0tTKTsKLQkJd3JpdGVsKHJfZGF0YS0+Ymxrc3ogLSAx
LCBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9CTE9DS19MRU4pOworCQl3cml0ZWwocl9kYXRhLT5i
bG9ja3MgLSAxLAorCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfTlVNX0JMT0NLUyk7
CisJCXdyaXRlbChyX2RhdGEtPmJsa3N6IC0gMSwKKwkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NL
X01NQ1NEX0JMT0NLX0xFTik7CiAJfQogCiAJaG9zdC0+cmVxID0gbXJxOwogCW1vZF90aW1lcigm
aG9zdC0+dGltZXIsIGppZmZpZXMgKyBob3N0LT50aW1lb3V0X2ppZmZpZXMpOwotCWhvc3QtPnN0
YXRlID0gQ01EOwogCXdyaXRlbChUSUZNX0NUUkxfTEVEIHwgcmVhZGwoc29jay0+YWRkciArIFNP
Q0tfQ09OVFJPTCksCiAJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0NPTlRST0wpOwogCXRpZm1f
c2RfZXhlYyhob3N0LCBtcnEtPmNtZCk7CkBAIC02MDMsNyArNzI4LDcgQEAgZXJyX291dDoKIAlt
bWNfcmVxdWVzdF9kb25lKG1tYywgbXJxKTsKIH0KIAotc3RhdGljIHZvaWQgdGlmbV9zZF9lbmRf
Y21kX25vZG1hKHVuc2lnbmVkIGxvbmcgZGF0YSkKK3N0YXRpYyB2b2lkIHRpZm1fc2RfZW5kX2Nt
ZCh1bnNpZ25lZCBsb25nIGRhdGEpCiB7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSAoc3RydWN0
IHRpZm1fc2QqKWRhdGE7CiAJc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwpAQCAt
NjE3LDY4ICs3NDIsNTIgQEAgc3RhdGljIHZvaWQgdGlmbV9zZF9lbmRfY21kX25vZG1hKHVuc2ln
bgogCWRlbF90aW1lcigmaG9zdC0+dGltZXIpOwogCW1ycSA9IGhvc3QtPnJlcTsKIAlob3N0LT5y
ZXEgPSBOVUxMOwotCWhvc3QtPnN0YXRlID0gSURMRTsKIAogCWlmICghbXJxKSB7Ci0JCXByaW50
ayhLRVJOX0VSUiBEUklWRVJfTkFNRSAiOiBubyByZXF1ZXN0IHRvIGNvbXBsZXRlP1xuIik7CisJ
CXByaW50ayhLRVJOX0VSUiAiICVzIDogbm8gcmVxdWVzdCB0byBjb21wbGV0ZT9cbiIsCisJCSAg
ICAgICBzb2NrLT5kZXYuYnVzX2lkKTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+
bG9jaywgZmxhZ3MpOwogCQlyZXR1cm47CiAJfQogCiAJcl9kYXRhID0gbXJxLT5jbWQtPmRhdGE7
CiAJaWYgKHJfZGF0YSkgewotCQl3cml0ZWwoKH5USUZNX01NQ1NEX0JVRklOVCkgJgotCQkJcmVh
ZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCi0JCQlzb2NrLT5hZGRyICsg
U09DS19NTUNTRF9JTlRfRU5BQkxFKTsKLQotCQlpZiAocl9kYXRhLT5mbGFncyAmIE1NQ19EQVRB
X1dSSVRFKSB7Ci0JCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCA9IGhvc3QtPndyaXR0ZW5fYmxvY2tz
Ci0JCQkJCSAgICAgICAqIHJfZGF0YS0+Ymxrc3o7CisJCWlmIChob3N0LT5ub19kbWEpIHsKKwkJ
CXdyaXRlbCgoflRJRk1fTU1DU0RfQlVGSU5UKQorCQkJICAgICAgICYgcmVhZGwoc29jay0+YWRk
ciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJMRSksCisJCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tf
TU1DU0RfSU5UX0VOQUJMRSk7CiAJCX0gZWxzZSB7Ci0JCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCA9
IHJfZGF0YS0+YmxvY2tzIC0KLQkJCQlyZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9OVU1f
QkxPQ0tTKSAtIDE7Ci0JCQlyX2RhdGEtPmJ5dGVzX3hmZXJlZCAqPSByX2RhdGEtPmJsa3N6Owot
CQkJcl9kYXRhLT5ieXRlc194ZmVyZWQgKz0gcl9kYXRhLT5ibGtzeiAtCi0JCQkJcmVhZGwoc29j
ay0+YWRkciArIFNPQ0tfTU1DU0RfQkxPQ0tfTEVOKSArIDE7CisJCQl0aWZtX3VubWFwX3NnKHNv
Y2ssICZob3N0LT5ib3VuY2VfYnVmLCAxLAorCQkJCSAgICAgIChyX2RhdGEtPmZsYWdzICYgTU1D
X0RBVEFfV1JJVEUpCisJCQkJICAgICAgPyBQQ0lfRE1BX1RPREVWSUNFIDogUENJX0RNQV9GUk9N
REVWSUNFKTsKKwkJCXRpZm1fdW5tYXBfc2coc29jaywgcl9kYXRhLT5zZywgcl9kYXRhLT5zZ19s
ZW4sCisJCQkJICAgICAgKHJfZGF0YS0+ZmxhZ3MgJiBNTUNfREFUQV9XUklURSkKKwkJCQkgICAg
ICA/IFBDSV9ETUFfVE9ERVZJQ0UgOiBQQ0lfRE1BX0ZST01ERVZJQ0UpOwogCQl9Ci0JCWhvc3Qt
PmJ1ZmZlcl9wb3MgPSAwOwotCQlob3N0LT5idWZmZXJfc2l6ZSA9IDA7CisKKwkJcl9kYXRhLT5i
eXRlc194ZmVyZWQgPSByX2RhdGEtPmJsb2NrcworCQkJLSByZWFkbChzb2NrLT5hZGRyICsgU09D
S19NTUNTRF9OVU1fQkxPQ0tTKSAtIDE7CisJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkICo9IHJfZGF0
YS0+Ymxrc3o7CisJCXJfZGF0YS0+Ynl0ZXNfeGZlcmVkICs9IHJfZGF0YS0+Ymxrc3oKKwkJCS0g
cmVhZGwoc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQkxPQ0tfTEVOKSArIDE7CiAJfQogCiAJd3Jp
dGVsKCh+VElGTV9DVFJMX0xFRCkgJiByZWFkbChzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKSwK
IAkgICAgICAgc29jay0+YWRkciArIFNPQ0tfQ09OVFJPTCk7CiAKIAlzcGluX3VubG9ja19pcnFy
ZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0KIAltbWNfcmVxdWVzdF9kb25lKG1tYywgbXJx
KTsKIH0KIAotc3RhdGljIHZvaWQgdGlmbV9zZF90ZXJtaW5hdGUoc3RydWN0IHRpZm1fc2QgKmhv
c3QpCi17Ci0Jc3RydWN0IHRpZm1fZGV2ICpzb2NrID0gaG9zdC0+ZGV2OwotCXVuc2lnbmVkIGxv
bmcgZmxhZ3M7Ci0KLQl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5UX0VOQUJM
RSk7Ci0JbW1pb3diKCk7Ci0Jc3Bpbl9sb2NrX2lycXNhdmUoJnNvY2stPmxvY2ssIGZsYWdzKTsK
LQlob3N0LT5mbGFncyB8PSBFSkVDVDsKLQlpZiAoaG9zdC0+cmVxKSB7Ci0JCXdyaXRlbChUSUZN
X0ZJRk9fSU5UX1NFVEFMTCwKLQkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lO
VF9FTkFCTEVfQ0xFQVIpOwotCQl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9f
SU5UX0VOQUJMRV9TRVQpOwotCQl0YXNrbGV0X3NjaGVkdWxlKCZob3N0LT5maW5pc2hfdGFza2xl
dCk7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKLX0K
LQogc3RhdGljIHZvaWQgdGlmbV9zZF9hYm9ydCh1bnNpZ25lZCBsb25nIGRhdGEpCiB7CiAJc3Ry
dWN0IHRpZm1fc2QgKmhvc3QgPSAoc3RydWN0IHRpZm1fc2QqKWRhdGE7CiAKLQlwcmludGsoS0VS
Tl9FUlIgRFJJVkVSX05BTUUKLQkgICAgICAgIjogY2FyZCBmYWlsZWQgdG8gcmVzcG9uZCBmb3Ig
YSBsb25nIHBlcmlvZCBvZiB0aW1lIik7CisJcHJpbnRrKEtFUk5fRVJSCisJICAgICAgICIlcyA6
IGNhcmQgZmFpbGVkIHRvIHJlc3BvbmQgZm9yIGEgbG9uZyBwZXJpb2Qgb2YgdGltZSAiCisJICAg
ICAgICIoJXgsICV4KVxuIiwKKwkgICAgICAgaG9zdC0+ZGV2LT5kZXYuYnVzX2lkLCBob3N0LT5y
ZXEtPmNtZC0+b3Bjb2RlLCBob3N0LT5jbWRfZmxhZ3MpOwogCi0JdGlmbV9zZF90ZXJtaW5hdGUo
aG9zdCk7CiAJdGlmbV9lamVjdChob3N0LT5kZXYpOwogfQogCkBAIC02OTEsOCArODAwLDExIEBA
IHN0YXRpYyB2b2lkIHRpZm1fc2RfaW9zKHN0cnVjdCBtbWNfaG9zdCAKIAogCXNwaW5fbG9ja19p
cnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7CiAKLQlkZXZfZGJnKCZzb2NrLT5kZXYsICJTZXR0
aW5nIGJ1cyB3aWR0aCAlZCwgcG93ZXIgJWRcbiIsIGlvcy0+YnVzX3dpZHRoLAotCQlpb3MtPnBv
d2VyX21vZGUpOworCWRldl9kYmcoJnNvY2stPmRldiwgImlvczogY2xvY2sgPSAldSwgdmRkID0g
JXgsIGJ1c19tb2RlID0gJXgsICIKKwkJImNoaXBfc2VsZWN0ID0gJXgsIHBvd2VyX21vZGUgPSAl
eCwgYnVzX3dpZHRoID0gJXhcbiIsCisJCWlvcy0+Y2xvY2ssIGlvcy0+dmRkLCBpb3MtPmJ1c19t
b2RlLCBpb3MtPmNoaXBfc2VsZWN0LAorCQlpb3MtPnBvd2VyX21vZGUsIGlvcy0+YnVzX3dpZHRo
KTsKKwogCWlmIChpb3MtPmJ1c193aWR0aCA9PSBNTUNfQlVTX1dJRFRIXzQpIHsKIAkJd3JpdGVs
KFRJRk1fTU1DU0RfNEJCVVMgfCByZWFkbChzb2NrLT5hZGRyICsgU09DS19NTUNTRF9DT05GSUcp
LAogCQkgICAgICAgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQ09ORklHKTsKQEAgLTczNyw0MSAr
ODQ5LDMwIEBAIHN0YXRpYyB2b2lkIHRpZm1fc2RfaW9zKHN0cnVjdCBtbWNfaG9zdCAKIAkJICAm
IHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0NPTkZJRykpLAogCSAgICAgICBzb2NrLT5h
ZGRyICsgU09DS19NTUNTRF9DT05GSUcpOwogCi0JaWYgKGlvcy0+YnVzX21vZGUgPT0gTU1DX0JV
U01PREVfT1BFTkRSQUlOKQotCQlob3N0LT5mbGFncyB8PSBPUEVORFJBSU47Ci0JZWxzZQotCQlo
b3N0LT5mbGFncyAmPSB+T1BFTkRSQUlOOworCWhvc3QtPm9wZW5fZHJhaW4gPSAoaW9zLT5idXNf
bW9kZSA9PSBNTUNfQlVTTU9ERV9PUEVORFJBSU4pOwogCiAJLyogY2hpcF9zZWxlY3QgOiBtYXli
ZSBsYXRlciAqLwogCS8vdmRkCiAJLy9wb3dlciBpcyBzZXQgYmVmb3JlIHByb2JlIC8gYWZ0ZXIg
cmVtb3ZlCi0JLy9JIGJlbGlldmUsIHBvd2VyX29mZiB3aGVuIGFscmVhZHkgbWFya2VkIGZvciBl
amVjdCBpcyBzdWZmaWNpZW50IHRvCi0JLy8gYWxsb3cgcmVtb3ZhbC4KLQlpZiAoKGhvc3QtPmZs
YWdzICYgRUpFQ1QpICYmIGlvcy0+cG93ZXJfbW9kZSA9PSBNTUNfUE9XRVJfT0ZGKSB7Ci0JCWhv
c3QtPmZsYWdzIHw9IEVKRUNUX0RPTkU7Ci0JCXdha2VfdXBfYWxsKCZob3N0LT5ub3RpZnkpOwot
CX0KIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIH0KIAog
c3RhdGljIGludCB0aWZtX3NkX3JvKHN0cnVjdCBtbWNfaG9zdCAqbW1jKQogewotCWludCByYzsK
KwlpbnQgcmMgPSAwOwogCXN0cnVjdCB0aWZtX3NkICpob3N0ID0gbW1jX3ByaXYobW1jKTsKIAlz
dHJ1Y3QgdGlmbV9kZXYgKnNvY2sgPSBob3N0LT5kZXY7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsK
IAogCXNwaW5fbG9ja19pcnFzYXZlKCZzb2NrLT5sb2NrLCBmbGFncyk7Ci0KLQlob3N0LT5mbGFn
cyB8PSAoQ0FSRF9STyAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX1BSRVNFTlRfU1RBVEUpKTsK
LQlyYyA9IChob3N0LT5mbGFncyAmIENBUkRfUk8pID8gMSA6IDA7Ci0KKwlpZiAoVElGTV9NTUNT
RF9DQVJEX1JPICYgcmVhZGwoc29jay0+YWRkciArIFNPQ0tfUFJFU0VOVF9TVEFURSkpCisJCXJj
ID0gMTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzb2NrLT5sb2NrLCBmbGFncyk7CiAJcmV0
dXJuIHJjOwogfQogCi1zdGF0aWMgc3RydWN0IG1tY19ob3N0X29wcyB0aWZtX3NkX29wcyA9IHsK
K3N0YXRpYyBjb25zdCBzdHJ1Y3QgbW1jX2hvc3Rfb3BzIHRpZm1fc2Rfb3BzID0gewogCS5yZXF1
ZXN0ID0gdGlmbV9zZF9yZXF1ZXN0LAogCS5zZXRfaW9zID0gdGlmbV9zZF9pb3MsCiAJLmdldF9y
byAgPSB0aWZtX3NkX3JvCkBAIC03OTIsNyArODkzLDcgQEAgc3RhdGljIGludCB0aWZtX3NkX2lu
aXRpYWxpemVfaG9zdChzdHJ1YwogCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19NTUNTRF9DT05G
SUcpOwogCiAJLyogd2FpdCB1cCB0byAwLjUxIHNlYyBmb3IgcmVzZXQgKi8KLQlmb3IgKHJjID0g
MjsgcmMgPD0gMjU2OyByYyA8PD0gMSkgeworCWZvciAocmMgPSAzMjsgcmMgPD0gMjU2OyByYyA8
PD0gMSkgewogCQlpZiAoMSAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX1NZU1RFTV9T
VEFUVVMpKSB7CiAJCQlyYyA9IDA7CiAJCQlicmVhazsKQEAgLTgwMSw4ICs5MDIsOCBAQCBzdGF0
aWMgaW50IHRpZm1fc2RfaW5pdGlhbGl6ZV9ob3N0KHN0cnVjCiAJfQogCiAJaWYgKHJjKSB7Ci0J
CXByaW50ayhLRVJOX0VSUiBEUklWRVJfTkFNRQotCQkgICAgICAgIjogY29udHJvbGxlciBmYWls
ZWQgdG8gcmVzZXRcbiIpOworCQlwcmludGsoS0VSTl9FUlIgIiVzIDogY29udHJvbGxlciBmYWls
ZWQgdG8gcmVzZXRcbiIsCisJCSAgICAgICBzb2NrLT5kZXYuYnVzX2lkKTsKIAkJcmV0dXJuIC1F
Tk9ERVY7CiAJfQogCkBAIC04MTUsOCArOTE2LDcgQEAgc3RhdGljIGludCB0aWZtX3NkX2luaXRp
YWxpemVfaG9zdChzdHJ1YwogCXdyaXRlbCg2NCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfQ09N
TUFORF9UTyk7CiAJd3JpdGVsKFRJRk1fTU1DU0RfSU5BQiwgc29jay0+YWRkciArIFNPQ0tfTU1D
U0RfQ09NTUFORCk7CiAKLQkvKiBJTkFCIHNob3VsZCB0YWtlIG11Y2ggbGVzcyB0aGFuIHJlc2V0
ICovCi0JZm9yIChyYyA9IDE7IHJjIDw9IDE2OyByYyA8PD0gMSkgeworCWZvciAocmMgPSAxNjsg
cmMgPD0gNjQ7IHJjIDw8PSAxKSB7CiAJCWhvc3Rfc3RhdHVzID0gcmVhZGwoc29jay0+YWRkciAr
IFNPQ0tfTU1DU0RfU1RBVFVTKTsKIAkJd3JpdGVsKGhvc3Rfc3RhdHVzLCBzb2NrLT5hZGRyICsg
U09DS19NTUNTRF9TVEFUVVMpOwogCQlpZiAoIShob3N0X3N0YXR1cyAmIFRJRk1fTU1DU0RfRVJS
TUFTSykKQEAgLTgyOCwxMiArOTI4LDE0IEBAIHN0YXRpYyBpbnQgdGlmbV9zZF9pbml0aWFsaXpl
X2hvc3Qoc3RydWMKIAl9CiAKIAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIERSSVZFUl9O
QU1FCi0JCSAgICAgICAiOiBjYXJkIG5vdCByZWFkeSAtIHByb2JlIGZhaWxlZCBvbiBpbml0aWFs
aXphdGlvblxuIik7CisJCXByaW50ayhLRVJOX0VSUgorCQkgICAgICAgIiVzIDogY2FyZCBub3Qg
cmVhZHkgLSBwcm9iZSBmYWlsZWQgb24gaW5pdGlhbGl6YXRpb25cbiIsCisJCSAgICAgICBzb2Nr
LT5kZXYuYnVzX2lkKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCi0Jd3JpdGVsKFRJRk1fTU1D
U0RfREFUQU1BU0sgfCBUSUZNX01NQ1NEX0VSUk1BU0ssCisJd3JpdGVsKFRJRk1fTU1DU0RfQ0VS
UiB8IFRJRk1fTU1DU0RfQlJTIHwgVElGTV9NTUNTRF9FT0MKKwkgICAgICAgfCBUSUZNX01NQ1NE
X0VSUk1BU0ssCiAJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX01NQ1NEX0lOVF9FTkFCTEUpOwog
CW1taW93YigpOwogCkBAIC04NDgsNyArOTUwLDggQEAgc3RhdGljIGludCB0aWZtX3NkX3Byb2Jl
KHN0cnVjdCB0aWZtX2RldgogCiAJaWYgKCEoVElGTV9TT0NLX1NUQVRFX09DQ1VQSUVECiAJICAg
ICAgJiByZWFkbChzb2NrLT5hZGRyICsgU09DS19QUkVTRU5UX1NUQVRFKSkpIHsKLQkJcHJpbnRr
KEtFUk5fV0FSTklORyBEUklWRVJfTkFNRSAiOiBjYXJkIGdvbmUsIHVuZXhwZWN0ZWRseVxuIik7
CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzIDogY2FyZCBnb25lLCB1bmV4cGVjdGVkbHlcbiIs
CisJCSAgICAgICBzb2NrLT5kZXYuYnVzX2lkKTsKIAkJcmV0dXJuIHJjOwogCX0KIApAQCAtODU3
LDQxICs5NjAsNDIgQEAgc3RhdGljIGludCB0aWZtX3NkX3Byb2JlKHN0cnVjdCB0aWZtX2Rldgog
CQlyZXR1cm4gLUVOT01FTTsKIAogCWhvc3QgPSBtbWNfcHJpdihtbWMpOworCWhvc3QtPm5vX2Rt
YSA9IG5vX2RtYTsKIAl0aWZtX3NldF9kcnZkYXRhKHNvY2ssIG1tYyk7CiAJaG9zdC0+ZGV2ID0g
c29jazsKIAlob3N0LT50aW1lb3V0X2ppZmZpZXMgPSBtc2Vjc190b19qaWZmaWVzKDEwMDApOwog
Ci0JaW5pdF93YWl0cXVldWVfaGVhZCgmaG9zdC0+bm90aWZ5KTsKLQl0YXNrbGV0X2luaXQoJmhv
c3QtPmZpbmlzaF90YXNrbGV0LAotCQkgICAgIG5vX2RtYSA/IHRpZm1fc2RfZW5kX2NtZF9ub2Rt
YSA6IHRpZm1fc2RfZW5kX2NtZCwKKwl0YXNrbGV0X2luaXQoJmhvc3QtPmZpbmlzaF90YXNrbGV0
LCB0aWZtX3NkX2VuZF9jbWQsCiAJCSAgICAgKHVuc2lnbmVkIGxvbmcpaG9zdCk7CiAJc2V0dXBf
dGltZXIoJmhvc3QtPnRpbWVyLCB0aWZtX3NkX2Fib3J0LCAodW5zaWduZWQgbG9uZylob3N0KTsK
IAotCXRpZm1fc2Rfb3BzLnJlcXVlc3QgPSBub19kbWEgPyB0aWZtX3NkX3JlcXVlc3Rfbm9kbWEg
OiB0aWZtX3NkX3JlcXVlc3Q7CiAJbW1jLT5vcHMgPSAmdGlmbV9zZF9vcHM7CiAJbW1jLT5vY3Jf
YXZhaWwgPSBNTUNfVkREXzMyXzMzIHwgTU1DX1ZERF8zM18zNDsKIAltbWMtPmNhcHMgPSBNTUNf
Q0FQXzRfQklUX0RBVEEgfCBNTUNfQ0FQX01VTFRJV1JJVEU7CiAJbW1jLT5mX21pbiA9IDIwMDAw
MDAwIC8gNjA7CiAJbW1jLT5mX21heCA9IDI0MDAwMDAwOwotCW1tYy0+bWF4X2h3X3NlZ3MgPSAx
OwotCW1tYy0+bWF4X3BoeXNfc2VncyA9IDE7Ci0JLy8gbGltaXRlZCBieSBETUEgY291bnRlciAt
IGl0J3Mgc2FmZXIgdG8gc3RpY2sgd2l0aAotCS8vIGJsb2NrIGNvdW50ZXIgaGFzIDExIGJpdHMg
dGhvdWdoCi0JbW1jLT5tYXhfYmxrX2NvdW50ID0gMjU2OwotCS8vIDJrIG1heGltdW0gaHcgYmxv
Y2sgbGVuZ3RoCi0JbW1jLT5tYXhfYmxrX3NpemUgPSAyMDQ4OwotCW1tYy0+bWF4X3JlcV9zaXpl
ID0gbW1jLT5tYXhfYmxrX3NpemUgKiBtbWMtPm1heF9ibGtfY291bnQ7Ci0JbW1jLT5tYXhfc2Vn
X3NpemUgPSBtbWMtPm1heF9yZXFfc2l6ZTsKLQlzb2NrLT5zaWduYWxfaXJxID0gdGlmbV9zZF9z
aWduYWxfaXJxOworI2lmIDAKKwltbWMtPm1heF9zZWdfc2l6ZSA9IDIwNDggKiAyMDQ4OworCW1t
Yy0+bWF4X2h3X3NlZ3MgPSAyMDQ4OworCW1tYy0+bWF4X3BoeXNfc2VncyA9IDIwNDg7CisJbW1j
LT5tYXhfc2VjdG9ycyA9IDIwNDg7CisjZW5kaWYKKwltbWMtPm1heF9ibGtfY291bnQgPSAyMDQ4
OworCW1tYy0+bWF4X2h3X3NlZ3MgPSBtbWMtPm1heF9ibGtfY291bnQ7CisJbW1jLT5tYXhfcGh5
c19zZWdzID0gbW1jLT5tYXhfaHdfc2VnczsKKwltbWMtPm1heF9ibGtfc2l6ZSA9IG1pbigyMDQ4
VUwsIFBBR0VfU0laRSk7CisJbW1jLT5tYXhfc2VnX3NpemUgPSBtbWMtPm1heF9ibGtfY291bnQg
KiBtbWMtPm1heF9ibGtfc2l6ZTsKKwltbWMtPm1heF9yZXFfc2l6ZSA9IG1tYy0+bWF4X3NlZ19z
aXplOworCisJc29jay0+Y2FyZF9ldmVudCA9IHRpZm1fc2RfY2FyZF9ldmVudDsKKwlzb2NrLT5k
YXRhX2V2ZW50ID0gdGlmbV9zZF9kYXRhX2V2ZW50OwogCXJjID0gdGlmbV9zZF9pbml0aWFsaXpl
X2hvc3QoaG9zdCk7CiAKIAlpZiAoIXJjKQogCQlyYyA9IG1tY19hZGRfaG9zdChtbWMpOwotCWlm
IChyYykKLQkJZ290byBvdXRfZnJlZV9tbWM7CisJaWYgKCFyYykKKwkJcmV0dXJuIDA7CiAKLQly
ZXR1cm4gMDsKLW91dF9mcmVlX21tYzoKIAltbWNfZnJlZV9ob3N0KG1tYyk7CiAJcmV0dXJuIHJj
OwogfQpAQCAtOTAwLDE5ICsxMDA0LDM0IEBAIHN0YXRpYyB2b2lkIHRpZm1fc2RfcmVtb3ZlKHN0
cnVjdCB0aWZtX2QKIHsKIAlzdHJ1Y3QgbW1jX2hvc3QgKm1tYyA9IHRpZm1fZ2V0X2RydmRhdGEo
c29jayk7CiAJc3RydWN0IHRpZm1fc2QgKmhvc3QgPSBtbWNfcHJpdihtbWMpOworCXVuc2lnbmVk
IGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmc29jay0+bG9jaywgZmxhZ3MpOwor
CWhvc3QtPmVqZWN0ID0gMTsKKwl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tfTU1DU0RfSU5U
X0VOQUJMRSk7CisJbW1pb3diKCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc29jay0+bG9j
aywgZmxhZ3MpOwogCi0JZGVsX3RpbWVyX3N5bmMoJmhvc3QtPnRpbWVyKTsKLQl0aWZtX3NkX3Rl
cm1pbmF0ZShob3N0KTsKLQl3YWl0X2V2ZW50X3RpbWVvdXQoaG9zdC0+bm90aWZ5LCBob3N0LT5m
bGFncyAmIEVKRUNUX0RPTkUsCi0JCQkgICBob3N0LT50aW1lb3V0X2ppZmZpZXMpOwogCXRhc2ts
ZXRfa2lsbCgmaG9zdC0+ZmluaXNoX3Rhc2tsZXQpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnNv
Y2stPmxvY2ssIGZsYWdzKTsKKwlpZiAoaG9zdC0+cmVxKSB7CisJCXdyaXRlbChUSUZNX0ZJRk9f
SU5UX1NFVEFMTCwKKwkJICAgICAgIHNvY2stPmFkZHIgKyBTT0NLX0RNQV9GSUZPX0lOVF9FTkFC
TEVfQ0xFQVIpOworCQl3cml0ZWwoMCwgc29jay0+YWRkciArIFNPQ0tfRE1BX0ZJRk9fSU5UX0VO
QUJMRV9TRVQpOworCQlob3N0LT5yZXEtPmNtZC0+ZXJyb3IgPSBNTUNfRVJSX1RJTUVPVVQ7CisJ
CWlmIChob3N0LT5yZXEtPnN0b3ApCisJCQlob3N0LT5yZXEtPnN0b3AtPmVycm9yID0gTU1DX0VS
Ul9USU1FT1VUOworCQl0YXNrbGV0X3NjaGVkdWxlKCZob3N0LT5maW5pc2hfdGFza2xldCk7CisJ
fQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNvY2stPmxvY2ssIGZsYWdzKTsKIAltbWNfcmVt
b3ZlX2hvc3QobW1jKTsKKwlkZXZfZGJnKCZzb2NrLT5kZXYsICJhZnRlciByZW1vdmVcbiIpOwog
CiAJLyogVGhlIG1lYW5pbmcgb2YgdGhlIGJpdCBtYWpvcml0eSBpbiB0aGlzIGNvbnN0YW50IGlz
IHVua25vd24uICovCiAJd3JpdGVsKDB4ZmZmOCAmIHJlYWRsKHNvY2stPmFkZHIgKyBTT0NLX0NP
TlRST0wpLAogCSAgICAgICBzb2NrLT5hZGRyICsgU09DS19DT05UUk9MKTsKIAotCXRpZm1fc2V0
X2RydmRhdGEoc29jaywgTlVMTCk7CiAJbW1jX2ZyZWVfaG9zdChtbWMpOwogfQogCkBAIC05MzQs
MTQgKzEwNTMsMTcgQEAgc3RhdGljIGludCB0aWZtX3NkX3Jlc3VtZShzdHJ1Y3QgdGlmbV9kZQog
ewogCXN0cnVjdCBtbWNfaG9zdCAqbW1jID0gdGlmbV9nZXRfZHJ2ZGF0YShzb2NrKTsKIAlzdHJ1
Y3QgdGlmbV9zZCAqaG9zdCA9IG1tY19wcml2KG1tYyk7CisJaW50IHJjOwogCi0JaWYgKHNvY2st
Pm1lZGlhX2lkICE9IEZNX1NECi0JICAgIHx8IHRpZm1fc2RfaW5pdGlhbGl6ZV9ob3N0KGhvc3Qp
KSB7Ci0JCXRpZm1fZWplY3Qoc29jayk7Ci0JCXJldHVybiAwOwotCX0gZWxzZSB7Ci0JCXJldHVy
biBtbWNfcmVzdW1lX2hvc3QobW1jKTsKLQl9CisJcmMgPSB0aWZtX3NkX2luaXRpYWxpemVfaG9z
dChob3N0KTsKKwlkZXZfZGJnKCZzb2NrLT5kZXYsICJyZXN1bWUgaW5pdGlhbGl6ZSAlZFxuIiwg
cmMpOworCisJaWYgKHJjKQorCQlob3N0LT5lamVjdCA9IDE7CisJZWxzZQorCQlyYyA9IG1tY19y
ZXN1bWVfaG9zdChtbWMpOworCisJcmV0dXJuIHJjOwogfQogCiAjZWxzZQpAQCAtOTUxLDggKzEw
NzMsOCBAQCBzdGF0aWMgaW50IHRpZm1fc2RfcmVzdW1lKHN0cnVjdCB0aWZtX2RlCiAKICNlbmRp
ZiAvKiBDT05GSUdfUE0gKi8KIAotc3RhdGljIHRpZm1fbWVkaWFfaWQgdGlmbV9zZF9pZF90Ymxb
XSA9IHsKLQlGTV9TRCwgMAorc3RhdGljIHN0cnVjdCB0aWZtX2RldmljZV9pZCB0aWZtX3NkX2lk
X3RibFtdID0geworCXsgVElGTV9UWVBFX1NEIH0sIHsgfQogfTsKIAogc3RhdGljIHN0cnVjdCB0
aWZtX2RyaXZlciB0aWZtX3NkX2RyaXZlciA9IHsKSW5kZXg6IGxpbnV4LTIuNi4yMS4xL2luY2x1
ZGUvbGludXgvdGlmbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi4yMS4xLm9yaWcvaW5jbHVk
ZS9saW51eC90aWZtLmgKKysrIGxpbnV4LTIuNi4yMS4xL2luY2x1ZGUvbGludXgvdGlmbS5oCkBA
IC0xNCwxNiArMTQsMTYgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVk
ZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUg
PGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgv
a3RocmVhZC5oPgorI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogCiAvKiBIb3N0IHJlZ2lz
dGVycyAocmVsYXRpdmUgdG8gcGNpIGJhc2UgYWRkcmVzcyk6ICovCiBlbnVtIHsKIAlGTV9TRVRf
SU5URVJSVVBUX0VOQUJMRSAgID0gMHgwMDgsCiAJRk1fQ0xFQVJfSU5URVJSVVBUX0VOQUJMRSA9
IDB4MDBjLAotCUZNX0lOVEVSUlVQVF9TVEFUVVMgICAgICAgPSAweDAxNCB9OworCUZNX0lOVEVS
UlVQVF9TVEFUVVMgICAgICAgPSAweDAxNAorfTsKIAogLyogU29ja2V0IHJlZ2lzdGVycyAocmVs
YXRpdmUgdG8gc29ja2V0IGJhc2UgYWRkcmVzcyk6ICovCiBlbnVtIHsKQEAgLTU4LDE0ICs1OCw4
IEBAIGVudW0gewogCVNPQ0tfTVNfREFUQSAgICAgICAgICAgICAgICAgICA9IDB4MTg4LAogCVNP
Q0tfTVNfU1RBVFVTICAgICAgICAgICAgICAgICA9IDB4MThjLAogCVNPQ0tfTVNfU1lTVEVNICAg
ICAgICAgICAgICAgICA9IDB4MTkwLAotCVNPQ0tfRklGT19BQ0NFU1MgICAgICAgICAgICAgICA9
IDB4MjAwIH07Ci0KLQotI2RlZmluZSBUSUZNX0lSUV9FTkFCTEUgICAgICAgICAgIDB4ODAwMDAw
MDAKLSNkZWZpbmUgVElGTV9JUlFfU09DS01BU0soeCkgICAgICAoeCkKLSNkZWZpbmUgVElGTV9J
UlFfQ0FSRE1BU0soeCkgICAgICAoKHgpIDw8IDgpCi0jZGVmaW5lIFRJRk1fSVJRX0ZJRk9NQVNL
KHgpICAgICAgKCh4KSA8PCAxNikKLSNkZWZpbmUgVElGTV9JUlFfU0VUQUxMICAgICAgICAgICAw
eGZmZmZmZmZmCisJU09DS19GSUZPX0FDQ0VTUyAgICAgICAgICAgICAgID0gMHgyMDAKK307CiAK
ICNkZWZpbmUgVElGTV9DVFJMX0xFRCAgICAgICAgICAgICAweDAwMDAwMDQwCiAjZGVmaW5lIFRJ
Rk1fQ1RSTF9GQVNUX0NMSyAgICAgICAgMHgwMDAwMDEwMApAQCAtNzMsNzUgKzY3LDkxIEBAIGVu
dW0gewogI2RlZmluZSBUSUZNX1NPQ0tfU1RBVEVfT0NDVVBJRUQgIDB4MDAwMDAwMDgKICNkZWZp
bmUgVElGTV9TT0NLX1NUQVRFX1BPV0VSRUQgICAweDAwMDAwMDgwCiAKLSNkZWZpbmUgVElGTV9G
SUZPX0VOQUJMRSAgICAgICAgICAweDAwMDAwMDAxIC8qIE1lYW5pbmcgb2YgdGhpcyBjb25zdGFu
dCBpcyB1bnZlcmlmaWVkICovCisjZGVmaW5lIFRJRk1fRklGT19FTkFCTEUgICAgICAgICAgMHgw
MDAwMDAwMQorI2RlZmluZSBUSUZNX0ZJRk9fUkVBRFkgICAgICAgICAgIDB4MDAwMDAwMDEKICNk
ZWZpbmUgVElGTV9GSUZPX0lOVF9TRVRBTEwgICAgICAweDAwMDBmZmZmCi0jZGVmaW5lIFRJRk1f
RklGT19JTlRNQVNLICAgICAgICAgMHgwMDAwMDAwNSAvKiBNZWFuaW5nIG9mIHRoaXMgY29uc3Rh
bnQgaXMgdW52ZXJpZmllZCAqLworI2RlZmluZSBUSUZNX0ZJRk9fSU5UTUFTSyAgICAgICAgIDB4
MDAwMDAwMDUKIAotI2RlZmluZSBUSUZNX0RNQV9SRVNFVCAgICAgICAgICAgIDB4MDAwMDAwMDIg
LyogTWVhbmluZyBvZiB0aGlzIGNvbnN0YW50IGlzIHVudmVyaWZpZWQgKi8KLSNkZWZpbmUgVElG
TV9ETUFfVFggICAgICAgICAgICAgICAweDAwMDA4MDAwIC8qIE1lYW5pbmcgb2YgdGhpcyBjb25z
dGFudCBpcyB1bnZlcmlmaWVkICovCi0jZGVmaW5lIFRJRk1fRE1BX0VOICAgICAgICAgICAgICAg
MHgwMDAwMDAwMSAvKiBNZWFuaW5nIG9mIHRoaXMgY29uc3RhbnQgaXMgdW52ZXJpZmllZCAqLwor
I2RlZmluZSBUSUZNX0RNQV9SRVNFVCAgICAgICAgICAgIDB4MDAwMDAwMDIKKyNkZWZpbmUgVElG
TV9ETUFfVFggICAgICAgICAgICAgICAweDAwMDA4MDAwCisjZGVmaW5lIFRJRk1fRE1BX0VOICAg
ICAgICAgICAgICAgMHgwMDAwMDAwMQorI2RlZmluZSBUSUZNX0RNQV9UU0laRSAgICAgICAgICAg
IDB4MDAwMDAwN2YKKworI2RlZmluZSBUSUZNX1RZUEVfWEQgMQorI2RlZmluZSBUSUZNX1RZUEVf
TVMgMgorI2RlZmluZSBUSUZNX1RZUEVfU0QgMwogCi10eXBlZGVmIGVudW0ge0ZNX05VTEwgPSAw
LCBGTV9YRCA9IDB4MDEsIEZNX01TID0gMHgwMiwgRk1fU0QgPSAweDAzfSB0aWZtX21lZGlhX2lk
Oworc3RydWN0IHRpZm1fZGV2aWNlX2lkIHsKKwl1bnNpZ25lZCBjaGFyIHR5cGU7Cit9OwogCiBz
dHJ1Y3QgdGlmbV9kcml2ZXI7CiBzdHJ1Y3QgdGlmbV9kZXYgewotCWNoYXIgX19pb21lbSAgICAg
ICAgICAgICphZGRyOwotCXNwaW5sb2NrX3QgICAgICAgICAgICAgIGxvY2s7Ci0JdGlmbV9tZWRp
YV9pZCAgICAgICAgICAgbWVkaWFfaWQ7Ci0JdW5zaWduZWQgaW50ICAgICAgICAgICAgc29ja2V0
X2lkOworCWNoYXIgX19pb21lbSAgKmFkZHI7CisJc3BpbmxvY2tfdCAgICBsb2NrOworCXVuc2ln
bmVkIGNoYXIgdHlwZTsKKwl1bnNpZ25lZCBpbnQgIHNvY2tldF9pZDsKIAotCXZvaWQgICAgICAg
ICAgICAgICAgICAgICgqc2lnbmFsX2lycSkoc3RydWN0IHRpZm1fZGV2ICpzb2NrLAotCQkJCQkg
ICAgICB1bnNpZ25lZCBpbnQgc29ja19pcnFfc3RhdHVzKTsKKwl2b2lkICAgICAgICAgICgqY2Fy
ZF9ldmVudCkoc3RydWN0IHRpZm1fZGV2ICpzb2NrKTsKKwl2b2lkICAgICAgICAgICgqZGF0YV9l
dmVudCkoc3RydWN0IHRpZm1fZGV2ICpzb2NrKTsKIAotCXN0cnVjdCB0aWZtX2RyaXZlciAgICAg
ICpkcnY7Ci0Jc3RydWN0IGRldmljZSAgICAgICAgICAgZGV2OworCXN0cnVjdCBkZXZpY2UgZGV2
OwogfTsKIAogc3RydWN0IHRpZm1fZHJpdmVyIHsKLQl0aWZtX21lZGlhX2lkICAgICAgICAqaWRf
dGFibGU7Ci0JaW50ICAgICAgICAgICAgICAgICAgKCpwcm9iZSkoc3RydWN0IHRpZm1fZGV2ICpk
ZXYpOwotCXZvaWQgICAgICAgICAgICAgICAgICgqcmVtb3ZlKShzdHJ1Y3QgdGlmbV9kZXYgKmRl
dik7Ci0JaW50ICAgICAgICAgICAgICAgICAgKCpzdXNwZW5kKShzdHJ1Y3QgdGlmbV9kZXYgKmRl
diwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbV9tZXNzYWdlX3Qg
c3RhdGUpOwotCWludCAgICAgICAgICAgICAgICAgICgqcmVzdW1lKShzdHJ1Y3QgdGlmbV9kZXYg
KmRldik7CisJc3RydWN0IHRpZm1fZGV2aWNlX2lkICppZF90YWJsZTsKKwlpbnQgICAgICAgICAg
ICAgICAgICAgKCpwcm9iZSkoc3RydWN0IHRpZm1fZGV2ICpkZXYpOworCXZvaWQgICAgICAgICAg
ICAgICAgICAoKnJlbW92ZSkoc3RydWN0IHRpZm1fZGV2ICpkZXYpOworCWludCAgICAgICAgICAg
ICAgICAgICAoKnN1c3BlbmQpKHN0cnVjdCB0aWZtX2RldiAqZGV2LAorCQkJCQkgcG1fbWVzc2Fn
ZV90IHN0YXRlKTsKKwlpbnQgICAgICAgICAgICAgICAgICAgKCpyZXN1bWUpKHN0cnVjdCB0aWZt
X2RldiAqZGV2KTsKIAotCXN0cnVjdCBkZXZpY2VfZHJpdmVyIGRyaXZlcjsKKwlzdHJ1Y3QgZGV2
aWNlX2RyaXZlciAgZHJpdmVyOwogfTsKIAogc3RydWN0IHRpZm1fYWRhcHRlciB7Ci0JY2hhciBf
X2lvbWVtICAgICAgICAgICAgKmFkZHI7Ci0Jc3BpbmxvY2tfdCAgICAgICAgICAgICAgbG9jazsK
LQl1bnNpZ25lZCBpbnQgICAgICAgICAgICBpcnFfc3RhdHVzOwotCXVuc2lnbmVkIGludCAgICAg
ICAgICAgIHNvY2tldF9jaGFuZ2Vfc2V0OwotCXdhaXRfcXVldWVfaGVhZF90ICAgICAgIGNoYW5n
ZV9zZXRfbm90aWZ5OwotCXVuc2lnbmVkIGludCAgICAgICAgICAgIGlkOwotCXVuc2lnbmVkIGlu
dCAgICAgICAgICAgIG51bV9zb2NrZXRzOwotCXN0cnVjdCB0aWZtX2RldiAgICAgICAgICoqc29j
a2V0czsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgICAgICAqbWVkaWFfc3dpdGNoZXI7Ci0Jc3RydWN0
IGNsYXNzX2RldmljZSAgICAgY2RldjsKLQlzdHJ1Y3QgZGV2aWNlICAgICAgICAgICAqZGV2Owor
CWNoYXIgX19pb21lbSAgICAgICAgKmFkZHI7CisJc3BpbmxvY2tfdCAgICAgICAgICBsb2NrOwor
CXVuc2lnbmVkIGludCAgICAgICAgaXJxX3N0YXR1czsKKwl1bnNpZ25lZCBpbnQgICAgICAgIHNv
Y2tldF9jaGFuZ2Vfc2V0OworCXVuc2lnbmVkIGludCAgICAgICAgaWQ7CisJdW5zaWduZWQgaW50
ICAgICAgICBudW1fc29ja2V0czsKKwlzdHJ1Y3QgY29tcGxldGlvbiAgICpmaW5pc2hfbWU7CisK
KwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgIG1lZGlhX3N3aXRjaGVyOworCXN0cnVjdCBjbGFzc19kZXZp
Y2UgY2RldjsKKworCXZvaWQgICAgICAgICAgICAgICAgKCplamVjdCkoc3RydWN0IHRpZm1fYWRh
cHRlciAqZm0sCisJCQkJICAgICBzdHJ1Y3QgdGlmbV9kZXYgKnNvY2spOworCWludCAgICAgICAg
ICAgICAgICAgKCpoYXNfbXNfcGlmKShzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwKKwkJCQkJICBz
dHJ1Y3QgdGlmbV9kZXYgKnNvY2spOwogCi0Jdm9pZCAgICAgICAgICAgICAgICAgICAgKCplamVj
dCkoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sIHN0cnVjdCB0aWZtX2RldiAqc29jayk7CisJc3Ry
dWN0IHRpZm1fZGV2ICAgICAqc29ja2V0c1swXTsKIH07CiAKLXN0cnVjdCB0aWZtX2FkYXB0ZXIg
KnRpZm1fYWxsb2NfYWRhcHRlcih2b2lkKTsKLXZvaWQgdGlmbV9mcmVlX2RldmljZShzdHJ1Y3Qg
ZGV2aWNlICpkZXYpOwotdm9pZCB0aWZtX2ZyZWVfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVy
ICpmbSk7Ci1pbnQgdGlmbV9hZGRfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSwgaW50
ICgqbWVkaWF0aHJlYWRmbikodm9pZCAqZGF0YSkpOworc3RydWN0IHRpZm1fYWRhcHRlciAqdGlm
bV9hbGxvY19hZGFwdGVyKHVuc2lnbmVkIGludCBudW1fc29ja2V0cywKKwkJCQkJc3RydWN0IGRl
dmljZSAqZGV2KTsKK2ludCB0aWZtX2FkZF9hZGFwdGVyKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZt
KTsKIHZvaWQgdGlmbV9yZW1vdmVfYWRhcHRlcihzdHJ1Y3QgdGlmbV9hZGFwdGVyICpmbSk7Ci1z
dHJ1Y3QgdGlmbV9kZXYgKnRpZm1fYWxsb2NfZGV2aWNlKHN0cnVjdCB0aWZtX2FkYXB0ZXIgKmZt
KTsKK3ZvaWQgdGlmbV9mcmVlX2FkYXB0ZXIoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0pOworCit2
b2lkIHRpZm1fZnJlZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KTsKK3N0cnVjdCB0aWZtX2Rl
diAqdGlmbV9hbGxvY19kZXZpY2Uoc3RydWN0IHRpZm1fYWRhcHRlciAqZm0sIHVuc2lnbmVkIGlu
dCBpZCwKKwkJCQkgICB1bnNpZ25lZCBjaGFyIHR5cGUpOworCiBpbnQgdGlmbV9yZWdpc3Rlcl9k
cml2ZXIoc3RydWN0IHRpZm1fZHJpdmVyICpkcnYpOwogdm9pZCB0aWZtX3VucmVnaXN0ZXJfZHJp
dmVyKHN0cnVjdCB0aWZtX2RyaXZlciAqZHJ2KTsKIHZvaWQgdGlmbV9lamVjdChzdHJ1Y3QgdGlm
bV9kZXYgKnNvY2spOworaW50IHRpZm1faGFzX21zX3BpZihzdHJ1Y3QgdGlmbV9kZXYgKnNvY2sp
OwogaW50IHRpZm1fbWFwX3NnKHN0cnVjdCB0aWZtX2RldiAqc29jaywgc3RydWN0IHNjYXR0ZXJs
aXN0ICpzZywgaW50IG5lbnRzLAogCQlpbnQgZGlyZWN0aW9uKTsKIHZvaWQgdGlmbV91bm1hcF9z
ZyhzdHJ1Y3QgdGlmbV9kZXYgKnNvY2ssIHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIGludCBuZW50
cywKIAkJICAgaW50IGRpcmVjdGlvbik7Ci0KK3ZvaWQgdGlmbV9xdWV1ZV93b3JrKHN0cnVjdCB3
b3JrX3N0cnVjdCAqd29yayk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCAqdGlmbV9nZXRfZHJ2ZGF0
YShzdHJ1Y3QgdGlmbV9kZXYgKmRldikKIHsKLSAgICAgICAgcmV0dXJuIGRldl9nZXRfZHJ2ZGF0
YSgmZGV2LT5kZXYpOworCXJldHVybiBkZXZfZ2V0X2RydmRhdGEoJmRldi0+ZGV2KTsKIH0KIAog
c3RhdGljIGlubGluZSB2b2lkIHRpZm1fc2V0X2RydmRhdGEoc3RydWN0IHRpZm1fZGV2ICpkZXYs
IHZvaWQgKmRhdGEpCkBAIC0xNDksOCArMTU5LDQgQEAgc3RhdGljIGlubGluZSB2b2lkIHRpZm1f
c2V0X2RydmRhdGEoc3RydQogCWRldl9zZXRfZHJ2ZGF0YSgmZGV2LT5kZXYsIGRhdGEpOwogfQog
Ci1zdHJ1Y3QgdGlmbV9kZXZpY2VfaWQgewotCXRpZm1fbWVkaWFfaWQgbWVkaWFfaWQ7Ci19Owot
CiAjZW5kaWYK
</data>        

          </attachment>
    </bug>

</bugzilla>