<?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>162962</bug_id>
          
          <creation_ts>2007-01-20 18:44 0000</creation_ts>
          <short_desc>genkernel: feed LUKS with key from removable device (linuxrc patch)</short_desc>
          <delta_ts>2008-01-12 00:51:15 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Hosted Projects</product>
          <component>genkernel</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>bettlertho@sis.unibe.ch</reporter>
          <assigned_to>genkernel@gentoo.org</assigned_to>
          <cc>nelson_batalha@hotmail.com</cc>

      

      
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-01-20 18:44:06 0000</bug_when>
            <thetext>Hi wolf31o2 (or whoever will look at my patch)

I wrote a patch to make the linuxrc and initrd.script, to add some features
- provide unencrypted keys for root / swap on any device (gpg not yet)
- resume from swsusp
- omit resuming (noresume param)


Therefore I introduced further parameters.

root_key: a file holding the key for the root partition (relative path)
swap_key:           ~ for the swap partition (relative path)
root_keydev: the device holding the unencrypted key for root 
			(preferably removable one)
swap_keydev: 		~ for the swap partition

real_resume: any device to resume from (using swsusp)
noresume: skip resuming

Hope you like it. It works well for me, so I&apos;d like to share it.
Greetings Thomas</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-01-20 18:45:57 0000</bug_when>
            <thetext>Created an attachment (id=107569)
genkernel-initrd_provide_luks_key.patch

The patch is against genkernel-3.4.6</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-03-12 20:53:13 0000</bug_when>
            <thetext>Created an attachment (id=113106)
genkernel_3.4.6.patch

Correct some mistakes. This one works out of the box.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-06-21 22:59:05 0000</bug_when>
            <thetext>Sorry that this has been so long since you posted this.  I&apos;ve been terribly busy, and had to learn how in the world LUKS works so I can support it in genkernel.  What I was wondering is if you could modify this to take into account the changes made to genkernel for bug #174294 which has already been added.  I&apos;d love to have it default to reading from /livecd if a key isn&apos;t specified.  If you don&apos;t have time, I can do it, but it&apos;ll definitely take me long to get to than it would probably take you to do it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-07-08 22:12:18 0000</bug_when>
            <thetext>Hi Chris

These few lines of code look really pretty. I&apos;d like to adapt my patch to match against HEAD, but for the next few weeks I simply can&apos;t manage to do it. If you&apos;re willing to wait until then, I will try to do it myself.

Thanks a lot for maintenance.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-07-27 11:05:08 0000</bug_when>
            <thetext>Hi, I&apos;ll do it (I did bug #174294 and read your patch) I know exactly what needs to be done.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-07-29 20:37:24 0000</bug_when>
            <thetext>Here it is. (bugzilla bug didn&apos;t let me submit as patch)

http://mega.ist.utl.pt/~nhqb/gentoo/catalyst/genkernel_key_03.patch

It has some minor corrections, both to your code and existing one.

I tested with and without a keyfile on some encrypted livecds.

In the next patch I&apos;ll implement the crypt_silent argument completely, and do some code cleaning/abstraction.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-07-31 15:36:20 0000</bug_when>
            <thetext>Thank you Nelson for your work on the patch. Yes, sure, some more abstraction of the key device recognition and the encryption process is warmly welcome. You may go for it... (I for the moment still got no time, so feel free =];-)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-01 15:08:32 0000</bug_when>
            <thetext>(In reply to comment #7)

Ok, done most. But could you explain the need to have another two boot options to have a separate key for the swap? Just trying to limit the boot args, as it&apos;ll have to show up in the man page, and later was thinking of writing a luks guide.

I mean, immediately we think that having two keys is more secure. But an attacker would always try to decrypt the root first (and there is almost nothing the swap has the root doesn&apos;t), so mathematically the chances of getting to your files are the same. Correct me if I&apos;m wrong.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-08-01 15:22:24 0000</bug_when>
            <thetext>Hmm. I just never looked at it like this, sine I chose a different key for each partition. - Mathematically your absolutely right, just that I practically chose a different way.

Anyway you make me thinking of sharing one key among them...

If you manage to detect which partitions {root,swap} are encrypted and try the key on them you would make me perfectly happy.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-06 14:06:40 0000</bug_when>
            <thetext>Created an attachment (id=127069)
hopefully last patch, improved and tested this a lot

(Actually if you have a key for each partition it&apos;s different, but let&apos;s just keep swap and root with the same key for now)

Ok, I&apos;ve done considerable changes since the previous patch. 

Here are the changes:

# openLUKS from Thomas Bettler completely rewritten, it&apos;s smaller and acts exactly as is supposed to ;) (I&apos;m talking about the possible paths of error/decryption in openLUKS, device naming got wrong, etc).
Automatic key finding now works at the beginning (see man page) or if the given key device is not found.
# added whereis(), replaces 5 instances of similar code. 
# also abstracted things like findkeymount,findcdmount, device lists &gt;&gt; findmediamount
# crypt_silent implemented
# man page updated
# other things from Thomas Bettler (bug 162962) with some micro changes.

in general corrected
# tests like [ &quot;${variable}&quot; -eq &apos;1&apos; ] give an ugly ouput if variable is not defined (like NORESUME). Corrected to !=.
# tests like [ -d ${variable} ] are true for variable not defined. [ -d &quot;${variable}&quot; ] are false.
# same goes for -f and -e
(I was getting some ugly output, wasn&apos;t sure were it came from, so I just correct the whole file)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-08-06 16:38:38 0000</bug_when>
            <thetext>Hi Nelson

Thanks for all your work. I will try it ...

Just looked at the man page and saw the crypt_swap initrd option isn&apos;t in. 
This isn&apos;t your fault, but we might add it for completeness of the manual.

Greetings</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-08 01:51:34 0000</bug_when>
            <thetext>Created an attachment (id=127219)
genkernel_key_07.patch

Ok, added that to the man page. Also I didn&apos;t notice the initrd.defaults so I changed something I shouldn&apos;t have, sorry, now fixed. 

Thanks Thomas, please test (I did so only on livecd&apos;s), and thanks for your work too.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-19 03:58:02 0000</bug_when>
            <thetext>Created an attachment (id=128509)
genkernel_key_08.patch

ok, I tested this myself on hd by encrypting my swap, it didn&apos;t work because of lack of directories the livecd&apos;s have, now fixed.

Also added back swap keys since the previous case didn&apos;t allow root unencrypted w/ swap enc.

There&apos;s a non important message at reboot, I&apos;ll see if I can fix it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-19 20:16:39 0000</bug_when>
            <thetext>Created an attachment (id=128608)
genkernel_key_085.patch

Fixed it, easier than I thought. No issues that I see using encrypted swap.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-08-21 22:00:24 0000</bug_when>
            <thetext>Thank you Nelson for all your development.
I will try your newest patch also, I guess I manage it this weekend.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-21 22:25:42 0000</bug_when>
            <thetext>I&apos;m not sure how you&apos;re doing it, it takes a few minutes, here&apos;s a script:

cd
svn co http://anonsvn.gentoo.org/repositories/genkernel
wget http://bugs.gentoo.org/attachment.cgi?id=128608
patch -p0 &lt; attachment.cgi?id=128608
su
rm -rf /usr/share/genkernel
svn export genkernel/trunk /usr/share/genkernel
mount /boot
for i in $(ls /boot/initramfs-genkernel*); do mv /boot/$i /boot/$i-safe;done
genkernel --luks &lt;more opts&gt; initrd
nano /boot/grub/grub.conf # remove root_keydev=...
reboot #;)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-23 07:33:16 0000</bug_when>
            <thetext>Created an attachment (id=128927)
genkernel_key_09.patch

Small mistake, noticed while doing bug #189901, maybe you could test it too? :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-08-26 16:41:09 0000</bug_when>
            <thetext>Hi Nelson, I just tested your newest patch genkernel_key_09.patch

The autodetection of the key_device works apparently, but with autodetection as well as with the key_device specified as parameter, I get a prompt to enter the LUKS key.
I guess this is not intended, as the key should be read from the file.

I&apos;m sorry I got ATM no time for further investigations - the next week I&apos;m abroad, but after I can help you with a more extended bug report. 

using: 
sys-fs/cryptsetup-luks-1.0.4-r3
sys-kernel/genkernel-3.4.9_pre1

And thanks a lot for all the work you did already!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-26 18:06:49 0000</bug_when>
            <thetext>&gt; sys-kernel/genkernel-3.4.9_pre1

You should try svn, in the revision mentioned on the patch, until I update it (if necessary).

&gt; The autodetection of the key_device works apparently, but with autodetection as
&gt; well as with the key_device specified as parameter, I get a prompt to enter the
&gt; LUKS key.

That&apos;s odd. You mean the keyname or key value? In what situation does it ask for the key? Is it for the root or swap, or both? I have two computers with this (for swap), and it only asks for the key if something goes badly wrong (and I had to force these situations to test it, otherwise I don&apos;t need to insert anything). </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-08-27 19:02:46 0000</bug_when>
            <thetext>Ehh... 3.4.9_pre1 is identical to SVN currently.  If it works against 3.4.9_pre1, I&apos;ll add it to SVN and roll up a newer pre-release for testing.  I&apos;m getting close to starting the next release cycle, so any testing/help you guys can get in now will allow for a longer testing cycle for the changes.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-27 21:05:07 0000</bug_when>
            <thetext>&gt; Ehh... 3.4.9_pre1 is identical to SVN currently. 
Yes, but not at the revision I used (not sure what you did after).

Thing is, this works in my two pc&apos;s and in the bug #189901 (same cycle). Thomas said it worked but may&apos;ve made some mistake as he didn&apos;t  have much time.

If you didn&apos;t modify the inits you can just merge now and label the keyfile functions as experimental (in the ebuild warning messages). This shouldn&apos;t break for users currently not using keyfiles and will allow greater user input.

You can add the ebuild:

ewarn &quot;The LUKS keyfile functions are experimental. Please submit any bugs along with your bootloader config (such as grub.conf), /etc/fstab and removable media devices you have.&quot;
ewarn &quot;Make sure you have no other device with a file with the same location and name as your key, and your key devices support is built in the kernel.&quot;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-08-28 00:18:15 0000</bug_when>
            <thetext>Well, this is going to be the last release (hopefully) for genkernel 3.4.x as I will be working on genkernel 3.5 after this, and we won&apos;t have a new genkernel for  a *long* time after 3.4.9, so I am trying to get it in now.  As for what is &quot;experimental&quot; or not, I consider everything in genkernel to be supported at the same level, whether I want to or not... :P

If it doesn&apos;t work, it doesn&apos;t go in.  If it goes in and is proven really broken, I&apos;d remove it until it was fixed, rather than keep it in an experimental state.  I simply prefer genkernel &quot;work&quot; for everyone or not support functions that sometimes work, or only work under certain circumstances.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-08-28 00:31:58 0000</bug_when>
            <thetext>Ok, but without Thomas Bettler how do we know it&apos;s working? I&apos;m almost going away for a semester, after that I may not be able to work here.

Anyway I think I know what happened to him.

Thomas:
&gt; The autodetection of the key_device works apparently, but with autodetection as
&gt; well as with the key_device specified as parameter, I get a prompt to enter the
&gt; LUKS key.

Did you set the root_key? If you get the Luks prompt it&apos;s the only explanation (You see, it locates the keydev, but you still need to tell him the key name - that&apos;s how he recognizes it). Whenever you can, please share info asked on my previous comment.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-08-29 21:00:19 0000</bug_when>
            <thetext>Hi Nelson

It was exactly that in the hurry I was, I forgot to change the bootparams from root_key back to swap_key. After this adoption it works really well, even autodetection, that&apos;s fantastic!

I encourage the integration into new genkernel revision 3.4.9

PS:
Thank you all for your work on LUKS integration.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-08-29 21:01:00 0000</bug_when>
            <thetext>(From update of attachment 113106)
really obsolete now</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bettlertho@sis.unibe.ch</who>
            <bug_when>2007-11-11 23:42:20 0000</bug_when>
            <thetext>What&apos;s the plan for integration in 3.4.9 - are these plans still alive?

For many months I use the genkernel_key_09.patch from Nelson Batalha, which is working really fine! I&apos;d be glad to see it integrated.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-11-13 22:58:37 0000</bug_when>
            <thetext>I&apos;m planning on adding it to 3.4.9, but with all the other changes we&apos;ve made recently, it no longer applies to current SVN.  I haven&apos;t had the time to spend to go through the patch and make it apply.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-12-23 22:45:21 0000</bug_when>
            <thetext>The latest patch (with a few modifications due to changes in SVN) has been applied to SVN. This will be in the next release.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-12-27 19:11:15 0000</bug_when>
            <thetext>This is fixed in 3.4.9_pre12, so please try it out and report back any problems.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-12-28 00:49:47 0000</bug_when>
            <thetext>I was looking back at this patch for another bug, and I&apos;ve got some concerns about one of the changes. In the findmediamount function (was findcdmount), you&apos;ve got:

  if [ -n &quot;${CDROOT_DEV}&quot; -a \( ${media}=&quot;cdrom&quot; \) ]; then
    mount -r -t auto ${x} ${NEW_ROOT}/mnt/cdrom &gt;/dev/null 2&gt;&amp;1
  else
    mount -r -t auto ${x} ${mntdir} &gt;/dev/null 2&gt;&amp;1
  fi

That doesn&apos;t really make sense. What&apos;s the point of testing for $media = &quot;cdrom&quot; when you essentially run the same command for both of them? This should probably be:

  if [ &quot;${media}&quot; = &quot;cdrom&quot; ]; then
    mount -r -t iso9660 ${x} ${mntdir} &amp;&gt; /dev/null
  else
    mount -r -t auto ${x} ${mntdir} &amp;&gt; /dev/null
  fi

This keeps the logic the same as it was previously (only using iso9660 for mounting a CD). Any objections?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>robbat2@gentoo.org</who>
            <bug_when>2007-12-28 00:57:14 0000</bug_when>
            <thetext>agaffney: one of the reasons to not explicitly use iso9660, and use &apos;auto&apos; instead, was apparent in some earlier genkernel versions, when copied directly to other media (such as a USB stick) - see the liveUSB howto, that is the liveCD just copied directly to a USB stick, with a some minor modifications to make syslinux happy (vs. isolinux).

iirc, this also crops up if you burn the contents to a DVD as a pure UDF image instead of ISO9660 (or hybrid UDF/iso9660).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-12-28 01:17:29 0000</bug_when>
            <thetext>Exactly what I was writing. I think I wanted the first line to be:

mount -r -t iso9660 ${x} ${mntdir} &gt;/dev/null 2&gt;&amp;1

I&apos;m sure I corrected that, and even searched to see if there was a need to do iso9660 instead of auto, and there was. Must&apos;ve lost changes, sorry.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-12-28 01:32:44 0000</bug_when>
            <thetext>I made this change in SVN.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-12-28 22:36:03 0000</bug_when>
            <thetext>Created an attachment (id=139541)
correct latest svn changes

Sorry I believe it&apos;s actually worse now. It&apos;s broken for liveusb and now keyfile recognition is broken too since findmediamount now mounts only cd medias...

You&apos;ll find what you were looking for in the patch. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-12-28 22:52:18 0000</bug_when>
            <thetext>My fix was not &quot;broken&quot;. Please explain how it breaks liveusb.

I just condensed it down to a single mount statement. That -t auto is going to break the same way as it would for mounting the CD. We don&apos;t want it there by default. For booting a CD and using a USB key with vfat for the key, you&apos;d want something like &quot;cdroot_type=iso9660,vfat&quot; or just &quot;cdroot_type=auto&quot;. It&apos;s not &quot;ideal&quot;, but it&apos;s the least likely to break.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-12-28 23:27:44 0000</bug_when>
            <thetext>Created an attachment (id=139545)
still small corrections

It&apos;s like Robin Johnson said. Ok, the liveusb howto could be changed to include cdroot_type=auto, and you could warn people about using udf. 

&apos;-t auto&apos; was the default before my patch, like the two mount statements. If it&apos;s  necessary to change that, add a new argument to findmediamount. Here:</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-12-29 00:32:14 0000</bug_when>
            <thetext>Looking back through the commit history, it looks like the initramfs has been using -t auto for everything due to a logic error all the way since 2006-08-14. I&apos;m better that this change wasn&apos;t in for 2006.1 (which is why people bitched about liveusb not working with 2006.1), but it was in for 2007.0 (I don&apos;t know if it works with this one).

Anyway, my point is that it&apos;s apparently been -t auto for over a year, and I haven&apos;t seen any bugs relating to this. Perhaps this means that whatever the problem was with vfat many moons ago is now gone, and it&apos;s completely safe to use -t auto globally again. To be safe, we could do a global -t auto and reverse my previous change to override the -t auto with something of your choosing if you run into problems.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nelson_batalha@hotmail.com</who>
            <bug_when>2007-12-29 11:01:04 0000</bug_when>
            <thetext>(In reply to comment #37)
&gt; To be safe, we could do a global -t auto and
&gt; reverse my previous change to override the -t auto with something of your
&gt; choosing if you run into problems.

This was placed in rev442 but now I can&apos;t find bugs that motivated this. If there are issues they must be in very special conditions, maybe wolf31o2 remembers? He said in #182818 : &quot;we cannot use -t auto everywhere, for a reason.  It causes lockups under some  circumstances &quot;
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2008-01-10 01:05:33 0000</bug_when>
            <thetext>So what do I need to do here?  It looks like &quot;-t auto&quot; should be fine, globally, especially since that was the case before and it can still be overridden...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-01-10 01:55:15 0000</bug_when>
            <thetext>Just switch the CDROOT_TYPE=&apos;iso9660&apos; to auto in generic/initrd.defaults and that should be all that&apos;s needed.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2008-01-12 00:51:15 0000</bug_when>
            <thetext>This should be resolved in genkernel 3.4.9, which will be hitting the tree shortly.  If this is still an issue with that version, please REOPEN this bug (or comment, if you cannot REOPEN it).</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107569</attachid>
            <date>2007-01-20 18:45 0000</date>
            <desc>genkernel-initrd_provide_luks_key.patch</desc>
            <filename>genkernel-initrd_provide_luks_key.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC91c3Ivc2hhcmUvZ2Vua2VybmVsL2dlbmVyaWMvaW5pdHJkLnNjcmlwdHMuT1JJRwkyMDA3
LTAxLTE5IDIyOjIyOjU0LjAwMDAwMDAwMCArMDEwMAorKysgL3Vzci9zaGFyZS9nZW5rZXJuZWwv
Z2VuZXJpYy9pbml0cmQuc2NyaXB0cwkyMDA3LTAxLTIwIDE4OjAxOjA1LjAwMDAwMDAwMCArMDEw
MApAQCAtNTk3LDU3ICs1OTcsMTY0IEBACiAjIE9wZW4gYSBMVUtTIGRldmljZQogIyAkMSBMVUtT
IGRldmljZQogIyAkMiBMVUtTIG5hbWUKKyMgJDIgTFVLUyBrZXkgKHJlbGF0aXZlIHBhdGggb24g
ZGV2aWNlKQorIyAkMiBMVUtTIGtleWRldmljZSAoY29udGFpbmluZyB0aGUga2V5KQogb3BlbkxV
S1MoKSB7CisJbG9jYWwgY3J5cHRzZXR1cF9vcHRpb25zCiAJTFVLU19ERVZJQ0U9IiQxIgogCUxV
S1NfTkFNRT0iJDIiCi0JaWYgWyAtZSAvc2Jpbi9jcnlwdHNldHVwIF0KKwlMVUtTX0tFWT0iJDMi
CisJTFVLU19LRVlERVY9IiQ0IgorCWlmIFsgISAtZSAvc2Jpbi9jcnlwdHNldHVwIF0KIAl0aGVu
CisJCWJhZF9tc2cgIlRoZSBpbml0cmQgZG9lcyBub3Qgc3VwcG9ydCBMVUtTIgorCWVsc2UKIAkJ
d2hpbGUgWyAxIF0KIAkJZG8KLQkJCWlmIFsgIiR7TFVLU19ERVZJQ0V9IiA9ICcnIF0KKwkJCWlm
IFsgIiR7TFVLU19ERVZJQ0V9IiA9ICdlcnJvcicgXQogCQkJdGhlbgogCQkJCSMgTFVLUyBkZXZp
Y2UgY291bGQgbm90IGJlIG9wZW5lZC4gUHJvbXB0IHVzZXIgZm9yIGRldmljZS4KIAkJCQliYWRf
bXNnICJUaGUgTFVLUyAke0xVS1NfTkFNRX0gYmxvY2sgZGV2aWNlIGlzIG5vdCBkZXRlY3RlZC4i
CiAJCQkJZWNobyAiICAgUGxlYXNlIHNwZWNpZnkgYSAke0xVS1NfTkFNRX0gTFVLUyBkZXZpY2Ug
dG8gb3BlbiwgInEiIHRvIHNraXAsIG9yICJzaGVsbCIgZm9yIGEgc2hlbGwuLi4iCi0JCQkJZWNo
byAtbiAiTFVLUyAke0xVS1NfTkFNRX0oKSA6OiAiCisJCQkJZWNobyAtbiAiTFVLUyAke0xVS1Nf
TkFNRX0oJDEpIDo6ICIKIAkJCQlyZWFkIExVS1NfREVWSUNFCisJCQkJWyAteiAkTFVLU19ERVZJ
Q0UgXSAmJiBMVUtTX0RFVklDRT0iJDEiCisJCQkJY29udGludWUKKwkJCWVsaWYgWyAiJHtMVUtT
X0tFWX0iID0gJ2Vycm9yJyBdCisJCQl0aGVuCisJCQkJIyBMVUtTIGtleV9kZXZpY2UgY291bGQg
bm90IGJlIG9wZW5lZC4gUHJvbXB0IHVzZXIgZm9yIGRldmljZS4KKwkJCQliYWRfbXNnICJUaGUg
TFVLUyAke0xVS1NfS0VZfSBpcyBub3QgZm91bmQuIgorCQkJCWVjaG8gIiAgIFBsZWFzZSBzcGVj
aWZ5IHRoZSBjb3JyZWN0IGtleSwgInEiIHRvIHNraXAsIG9yICJzaGVsbCIgZm9yIGEgc2hlbGwu
Li4iCisJCQkJZWNobyAtbiAiTFVLUyAke0xVS1NfTkFNRX0oJDMpIDo6ICIKKwkJCQlyZWFkIExV
S1NfS0VZCisJCQkJWyAteiAkTFVLU19LRVkgXSAmJiBMVUtTX0tFWT0iJDMiCiAJCQkJY29udGlu
dWUKLQkJCWVsaWYgWyAiJHtMVUtTX0RFVklDRX0iID0gJ3NoZWxsJyBdCisJCQllbGlmIFsgIiR7
TFVLU19LRVlERVZ9IiA9ICdlcnJvcicgXQogCQkJdGhlbgorCQkJCSMgTFVLUyBrZXlfZGV2aWNl
IGNvdWxkIG5vdCBiZSBvcGVuZWQuIFByb21wdCB1c2VyIGZvciBkZXZpY2UuCisJCQkJYmFkX21z
ZyAiVGhlIExVS1MgJHtMVUtTX0tFWURFVn0gZGV2aWNlIGlzIG5vdCBkZXRlY3RlZCwiCisJCQkJ
YmFkX21zZyAidW5hYmxlIHRvIG1vdW50IG9yIG5vdCB0aGUgb25lIGNvbnRhaW5pbmcgdGhlIGtl
eSIKKwkJCQllY2hvICIgICBQbGVhc2Ugc3BlY2lmeSB0aGUgY29ycmVjdCBrZXkgZGV2aWNlLCAi
cSIgdG8gc2tpcCwgb3IgInNoZWxsIiBmb3IgYSBzaGVsbC4uLiIKKwkJCQllY2hvIC1uICJMVUtT
ICR7TFVLU19OQU1FfSgkNCkgOjogIgorCQkJCXJlYWQgTFVLU19LRVlERVYKKwkJCQlbIC16ICRM
VUtTX0tFWURFViBdICYmIExVS1NfS0VZREVWPSIkNCIKKwkJCQljb250aW51ZQorCQkJZWxpZiBb
ICIke0xVS1NfREVWSUNFfSIgPSAnc2hlbGwnIC1vICIke0xVS1NfS0VZfSIgPSAnc2hlbGwnIC1v
ICIke0xVS1NfS0VZREVWfSIgPSAnc2hlbGwnIF0KKwkJCXRoZW4KKwkJCQllY2hvICJUbyBsZWF2
ZSBhbmQgdHJ5IGFnYWluIGp1c3QgcHJlc3MgPEN0cmw+K0QiCisJCQkJTFVLU19ERVZJQ0U9IiQx
IgorCQkJCUxVS1NfS0VZPSIkMyIKKwkJCQlMVUtTX0tFWURFVj0iJDQiCiAJCQkJcnVuX3NoZWxs
Ci0JCQkJCi0JCQkJTFVLU19ERVZJQ0U9JycKIAkJCQljb250aW51ZQotCQkJZWxpZiBbICIke0xV
S1NfREVWSUNFfSIgPSAncScgXQorCQkJZWxpZiBbICIke0xVS1NfREVWSUNFfSIgPSAncScgLW8g
IiR7TFVLU19LRVl9IiA9ICdxJyAtbyAiJHtMVUtTX0tFWURFVn0iID0gJ3EnIF0KIAkJCXRoZW4K
IAkJCQlicmVhawogCQkJZWxzZQotCQkJCWlmIGNyeXB0c2V0dXAgaXNMdWtzICR7TFVLU19ERVZJ
Q0V9CisJCQkJY3J5cHRzZXR1cCBpc0x1a3MgJHtMVUtTX0RFVklDRX0KKwkJCQlpZiBbICEgIiQ/
IiAtZXEgJzAnIF0KIAkJCQl0aGVuCisJCQkJCWJhZF9tc2cgIlRoZSBMVUtTIGRldmljZSAke0xV
S1NfREVWSUNFfSBkb2VzIG5vdCBjb250YWluIGEgTFVLUyBoZWFkZXIiCisJCQkJCUxVS1NfREVW
SUNFPSdlcnJvcicKKwkJCQkJY29udGludWUKKwkJCQllbHNlCisJCQkJCSMgSGFuZGxlIGtleXMK
KwkJCQkJaWYgWyAtbiAiJExVS1NfS0VZIiBdOyB0aGVuCisJCQkJCQkjIGhhbmRsZSBrZXkgb24g
cmVtb3ZhYmxlIGRldmljZQorCQkJCQkJaWYgWyAtbiAiJExVS1NfS0VZREVWIiBdOyB0aGVuCisJ
CQkJCQkJIyBjaGVjayBmb3IgYW5kIGNvbnRpbnVlIG9uIGRldmljZSBwcmVzZW5jZQorCQkJCQkJ
CWlmIFsgLWUgIiRMVUtTX0tFWURFViIgXQorCQkJCQkJCXRoZW4KKwkJCQkJCQkJZ29vZF9tc2cg
IlJlbW92YWJsZSBkZXZpY2UgJHtMVUtTX0tFWURFVn0gZGV0ZWN0ZWQuIgorCQkJCQkJCWVsc2UK
KwkJCQkJCQkJZWNobyAiUGxlYXNlIGluc2VydCByZW1vdmFibGUgZGV2aWNlICR7TFVLU19LRVlE
RVZ9IGZvciAke0xVS1NfTkFNRX0iCisjCQkJCQkJCQkjIGFib3J0IGFmdGVyIDIwIHNlY3MKKwkJ
CQkJCQkJY291bnQ9MjAKKwkJCQkJCQkJd2hpbGUgWyAkY291bnQgLWd0IDAgXQorCQkJCQkJCQlk
byAKKwkJCQkJCQkJCWNvdW50PSQoKGNvdW50LTEpKQorCQkJCQkJCQkJc2xlZXAgMQorCQkJCQkJ
CQkJaWYgWyAtZSAiJExVS1NfS0VZREVWIiBdCisJCQkJCQkJCQl0aGVuCisJCQkJCQkJCQkJZ29v
ZF9tc2cgIlJlbW92YWJsZSBkZXZpY2UgJHtMVUtTX0tFWURFVn0gZGV0ZWN0ZWQuIgorCQkJCQkJ
CQkJCWJyZWFrCisJCQkJCQkJCQlmaQorCQkJCQkJCQlkb25lCisJCQkJCQkJCWlmIFsgISAtZSAi
JExVS1NfS0VZREVWIiBdOyB0aGVuCisJCQkJCQkJCQlMVUtTX0tFWURFVj0nZXJyb3InCisJCQkJ
CQkJCQliYWRfbXNnICJSZW1vdmFibGUgZGV2aWNlICR7TFVLU19LRVlERVZ9IG5vdCBmb3VuZC4i
CisJCQkJCQkJCQljb250aW51ZQorCQkJCQkJCQlmaQorCQkJCQkJCWZpCisJCQkJCQkJCisJCQkJ
CQkJIyB0ZW1wIGRpcmVjdG9yeSB0byBtb3VudCByZW1vdmFibGUgZGV2aWNlCisJCQkJCQkJbG9j
YWwgbW50a2V5PS9tbnQva2V5ZGV2CisKKwkJCQkJCQlbICEgLWQgIiRtbnRrZXkiIF0gJiYgbWtk
aXIgLXAgJHttbnRrZXl9IDI+L2Rldi9udWxsID4vZGV2L251bGwKKwkJCQkJCQltb3VudCAtbiAt
byBybyAke0xVS1NfS0VZREVWfSAke21udGtleX0gMj4vZGV2L251bGwgPi9kZXYvbnVsbAorCQkJ
CQkJCWlmIFsgISAiJD8iIC1lcSAnMCcgXQorCQkJCQkJCXRoZW4KKwkJCQkJCQkJTFVLU19LRVlE
RVY9J2Vycm9yJworCQkJCQkJCQliYWRfbXNnICJNb3VudGluZyBkZXZpY2UgJHtMVUtTX0tFWURF
Vn0gZmFpbGVkLiIKKwkJCQkJCQkJZWNobyAiICAgTWFrZSBzdXJlIHlvdSBpbnNlcnRlZCB0aGUg
cmlnaHQgZGV2aWNlLiIKKwkJCQkJCQkJY29udGludWUKKwkJCQkJCQllbHNlCisJCQkJCQkJCWdv
b2RfbXNnICJSZW1vdmFibGUgZGV2aWNlICR7TFVLU19LRVlERVZ9IG1vdW50ZWQuIgorCQkJCQkJ
CQlzbGVlcCAyCisJCQkJCQkJCSMga2V5ZmlsZSBleGlzdHM/CisJCQkJCQkJCWlmIFsgISAtZSAi
JHttbnRrZXl9JHtMVUtTX0tFWX0iIF07IHRoZW4KKwkJCQkJCQkJCXVtb3VudCAtbiAke21udGtl
eX0gMj4vZGV2L251bGwgPi9kZXYvbnVsbAorCQkJCQkJCQkJcm1kaXIgJHttbnRrZXl9IDI+L2Rl
di9udWxsID4vZGV2L251bGwKKwkJCQkJCQkJCUxVS1NfS0VZPSdlcnJvcicKKwkJCQkJCQkJCUxV
S1NfS0VZREVWPSdlcnJvcicKKwkJCQkJCQkJCWJhZF9tc2cgIktleSB7TFVLU19LRVl9IG9uIGRl
dmljZSAke0xVS1NfS0VZREVWfSBub3QgZm91bmQuIgorCQkJCQkJCQkJY29udGludWUKKwkJCQkJ
CQkJZWxzZQorCQkJCQkJCQkJZ29vZF9tc2cgIiR7TFVLU19LRVl9IG9uIGRldmljZSAke0xVS1Nf
S0VZREVWfSBmb3VuZCIKKwkJCQkJCQkJCUxVS1NfS0VZPSIke21udGtleX0ke0xVS1NfS0VZfSIK
KwkJCQkJCQkJZmkKKwkJCQkJCQlmaQorCisJCQkJCQllbHNlICAgICMga2V5ZmlsZSAhIG9uIHJl
bW92YWJsZSBkZXZpY2UKKwkJCQkJCQlpZiBbICEgLWUgIiRMVUtTX0tFWSIgXTsgdGhlbgorCQkJ
CQkJCQlMVUtTX0tFWT0nZXJyb3InCisJCQkJCQkJCWJhZF9tc2cgIlJlYXNvbjoga2V5ZmlsZSAk
e0xVS1NfS0VZfSBkb2VzIG5vdCBleGlzdC4iCisJCQkJCQkJCWNvbnRpbnVlCisJCQkJCQkJZWxz
ZQorCQkJCQkJCQlnb29kX21zZyAiJHtMVUtTX0tFWX0gZm91bmQiCisJCQkJCQkJZmkKKwkJCQkJ
CWZpCisJCQkJCWZpCisJCQkJCQogCQkJCQlnb29kX21zZyAiT3BlbmluZyBMVUtTIGRldmljZSAk
e0xVS1NfREVWSUNFfSIKIAkJCQkJCi0JCQkJCWNyeXB0c2V0dXAgbHVrc09wZW4gJHtMVUtTX0RF
VklDRX0gJHtMVUtTX05BTUV9Ci0JCQkJCWlmIFsgISAiJD8iIC1lcSAnMCcgXQorCQkJCQlpZiBb
IC1uICIkTFVLU19LRVkiIF07IHRoZW4KKwkJCQkJCWNyeXB0c2V0dXBfb3B0aW9ucz0iLWQgJHtM
VUtTX0tFWX0iCisJCQkJCWZpCisJCQkJCWNyeXB0c2V0dXAgJHtjcnlwdHNldHVwX29wdGlvbnN9
IGx1a3NPcGVuICIke0xVS1NfREVWSUNFfSIgIiR7TFVLU19OQU1FfSIKKwkJCQkJaWYgWyAiJD8i
IC1lcSAnMCcgXQogCQkJCQl0aGVuCi0JCQkJCQliYWRfbXNnICJGYWlsZWQgb3BlbiBMVUtTIGRl
dmljZSAke0xVS1NfREVWSUNFfSIKLQkJCQkJZWxzZQorCQkJCQkJZ29vZF9tc2cgIkxVS1MgZGV2
aWNlICR7TFVLU19ERVZJQ0V9IG9wZW5lZCIKIAkJCQkJCWJyZWFrCisJCQkJCWVsc2UKKwkJCQkJ
CWJhZF9tc2cgIkZhaWxlZCBvcGVuIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IgogCQkJCQlm
aQotCQkJCWVsc2UKLQkJCQkJYmFkX21zZyAiVGhlIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9
IGRvZXMgbm90IGNvbnRhaW4gYSBMVUtTIGhlYWRlciIKIAkJCQlmaQogCQkJZmkKLQkJCUxVS1Nf
REVWSUNFPScnCisJCQlMVUtTX0RFVklDRT0nZXJyb3InCiAJCWRvbmUKLQllbHNlCi0JCWJhZF9t
c2cgIlRoZSBpbml0cmQgZG9lcyBub3Qgc3VwcG9ydCBMVUtTIgorCisJCWlmIFsgLWQgIiRtbnRr
ZXkiIF07IHRoZW4KKwkJCXVtb3VudCAtbiAke21udGtleX0gMj4vZGV2L251bGwgPi9kZXYvbnVs
bAorCQkJcm1kaXIgJHttbnRrZXl9IDI+L2Rldi9udWxsID4vZGV2L251bGwKKwkJZmkKIAlmaQog
fQogCiBzdGFydExVS1MoKSB7CiAJaWYgWyAtbiAiJHtMVUtTX1JPT1R9IiBdCiAJdGhlbgotCQlv
cGVuTFVLUyAiJHtMVUtTX1JPT1R9IiAicm9vdCIgCisJCW9wZW5MVUtTICIke0xVS1NfUk9PVH0i
ICJyb290IiAiJHtMVUtTX1JPT1RfS0VZfSIgIiR7TFVLU19ST09UX0tFWURFVn0iCiAJCWlmIFsg
LW4gIiR7UkVBTF9ST09UfSIgXQogCQl0aGVuCiAJCQkjIFJlc2NhbiB2b2x1bWVzCkBAIC02NTgs
OCArNzY1LDEyIEBACiAJZmkKIAlpZiBbIC1uICIke0xVS1NfU1dBUH0iIF0KIAl0aGVuCi0JCW9w
ZW5MVUtTICIke0xVS1NfU1dBUH0iICJzd2FwIiAKLQkJYnJlYWsKKwkJb3BlbkxVS1MgIiR7TFVL
U19TV0FQfSIgInN3YXAiICIke0xVS1NfU1dBUF9LRVl9IiAiJHtMVUtTX1NXQVBfS0VZREVWfSIK
KwkJaWYgWyAteiAiJHtSRUFMX1JFU1VNRX0iIF0KKwkJdGhlbgorCQkJIyBSZXN1bWUgZnJvbSBz
d2FwIGFzIGRlZmF1bHQKKwkJCVJFQUxfUkVTVU1FPSIvZGV2L21hcHBlci9zd2FwIgorCQlmaQog
CWZpCiB9CiAKQEAgLTc4OCw2ICs4OTksMTMgQEAKIAlmaQogfQogCitzd3N1c3BfcmVzdW1lKCkg
eworIyMjIGRldGVybWluZSBzd2FwIHJlc3VtZSBwYXJ0aXRpb24KKwlsb2NhbCBkZXZpY2U9JChs
cyAtbCAiJHtSRUFMX1JFU1VNRX0iIHwgc2VkICdzL1wgKi8gL2cnIHwgY3V0IC1kIFwgIC1mIDYt
NyB8IHNlZCAncy8sXCAqLzovJykKKwllY2hvICIke2RldmljZX0iID4gL3N5cy9wb3dlci9yZXN1
bWUKKwlyZXR1cm4gMAorfQorCiBzdXNwZW5kX3Jlc3VtZSgpIHsKIAlbIC14IC9zYmluL3Jlc3Vt
ZSBdIHx8IHJldHVybiAwCiAJL3NiaW4vcmVzdW1lCi0tLSAvdXNyL3NoYXJlL2dlbmtlcm5lbC9n
ZW5lcmljL2xpbnV4cmMuT1JJRwkyMDA3LTAxLTE5IDIyOjIzOjAwLjAwMDAwMDAwMCArMDEwMAor
KysgL3Vzci9zaGFyZS9nZW5rZXJuZWwvZ2VuZXJpYy9saW51eHJjCTIwMDctMDEtMjAgMTY6MDE6
NTkuMDAwMDAwMDAwICswMTAwCkBAIC0xNzksNiArMTc5LDI0IEBACiAJCWNyeXB0X3N3YXBcPSop
CiAJCQlMVUtTX1NXQVA9YHBhcnNlX29wdCAiJHt4fSJgCiAJCTs7CisJCXJvb3Rfa2V5XD0qKQor
CQkJTFVLU19ST09UX0tFWT1gcGFyc2Vfb3B0ICIke3h9ImAKKwkJOzsKKwkJc3dhcF9rZXlcPSop
CisJCQlMVUtTX1NXQVBfS0VZPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7OworCQlyb290X2tleWRl
dlw9KikKKwkJCUxVS1NfUk9PVF9LRVlERVY9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7CisJCXN3
YXBfa2V5ZGV2XD0qKQorCQkJTFVLU19TV0FQX0tFWURFVj1gcGFyc2Vfb3B0ICIke3h9ImAKKwkJ
OzsKKwkJcmVhbF9yZXN1bWVcPSopCisJCQlSRUFMX1JFU1VNRT1gcGFyc2Vfb3B0ICIke3h9ImAK
KwkJOzsKKwkJbm9yZXN1bWUpCisJCQlOT1JFU1VNRT0xCisJCTs7CiAJCXJlYWxfcm9vdGZsYWdz
XD0qKQogCQkJUkVBTF9ST09URkxBR1M9YHBhcnNlX29wdCAiJHt4fSJgCiAJCTs7CkBAIC0yNTAs
OCArMjY4LDEyIEBACiAjIFJ1biBkZWJ1ZyBzaGVsbCBpZiByZXF1ZXN0ZWQKIHJ1bmRlYnVnc2hl
bGwKIAotc3VzcGVuZF9yZXN1bWUKLXN1c3BlbmQyX3Jlc3VtZQoraWYgWyAiJHtOT1JFU1VNRX0i
IC1uZSAnMScgXQordGhlbgorCXN3c3VzcF9yZXN1bWUKKwlzdXNwZW5kX3Jlc3VtZQorCXN1c3Bl
bmQyX3Jlc3VtZQorZmkKIAogaWYgWyAiJHtDRFJPT1R9IiAtZXEgJzEnIF0KIHRoZW4K
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113106</attachid>
            <date>2007-03-12 20:53 0000</date>
            <desc>genkernel_3.4.6.patch</desc>
            <filename>genkernel_3.4.6.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC91c3Ivc2hhcmUvZ2Vua2VybmVsL2dlbmVyaWMvaW5pdHJkLnNjcmlwdHMJMjAwNy0wMy0x
MiAyMTo0Mzo0NC4wMDAwMDAwMDAgKzAxMDAKKysrIC91c3Ivc2hhcmUvZ2Vua2VybmVsL2dlbmVy
aWMvaW5pdHJkLnNjcmlwdHMuTkVXCTIwMDctMDMtMTIgMjE6NDc6MTguMDAwMDAwMDAwICswMTAw
CkBAIC01OTcsNTcgKzU5NywxNjQgQEAKICMgT3BlbiBhIExVS1MgZGV2aWNlCiAjICQxIExVS1Mg
ZGV2aWNlCiAjICQyIExVS1MgbmFtZQorIyAkMiBMVUtTIGtleSAocmVsYXRpdmUgcGF0aCBvbiBk
ZXZpY2UpCisjICQyIExVS1Mga2V5ZGV2aWNlIChjb250YWluaW5nIHRoZSBrZXkpCiBvcGVuTFVL
UygpIHsKKwlsb2NhbCBjcnlwdHNldHVwX29wdGlvbnMKIAlMVUtTX0RFVklDRT0iJDEiCiAJTFVL
U19OQU1FPSIkMiIKLQlpZiBbIC1lIC9zYmluL2NyeXB0c2V0dXAgXQorCUxVS1NfS0VZPSIkMyIK
KwlMVUtTX0tFWURFVj0iJDQiCisJaWYgWyAhIC1lIC9zYmluL2NyeXB0c2V0dXAgXQogCXRoZW4K
KwkJYmFkX21zZyAiVGhlIGluaXRyZCBkb2VzIG5vdCBzdXBwb3J0IExVS1MiCisJZWxzZQogCQl3
aGlsZSBbIDEgXQogCQlkbwotCQkJaWYgWyAiJHtMVUtTX0RFVklDRX0iID0gJycgXQorCQkJaWYg
WyAiJHtMVUtTX0RFVklDRX0iID0gJ2Vycm9yJyBdCiAJCQl0aGVuCiAJCQkJIyBMVUtTIGRldmlj
ZSBjb3VsZCBub3QgYmUgb3BlbmVkLiBQcm9tcHQgdXNlciBmb3IgZGV2aWNlLgogCQkJCWJhZF9t
c2cgIlRoZSBMVUtTICR7TFVLU19OQU1FfSBibG9jayBkZXZpY2UgaXMgbm90IGRldGVjdGVkLiIK
IAkJCQllY2hvICIgICBQbGVhc2Ugc3BlY2lmeSBhICR7TFVLU19OQU1FfSBMVUtTIGRldmljZSB0
byBvcGVuLCAicSIgdG8gc2tpcCwgb3IgInNoZWxsIiBmb3IgYSBzaGVsbC4uLiIKLQkJCQllY2hv
IC1uICJMVUtTICR7TFVLU19OQU1FfSgpIDo6ICIKKwkJCQllY2hvIC1uICJMVUtTICR7TFVLU19O
QU1FfSgkMSkgOjogIgogCQkJCXJlYWQgTFVLU19ERVZJQ0UKKwkJCQlbIC16ICRMVUtTX0RFVklD
RSBdICYmIExVS1NfREVWSUNFPSIkMSIKKwkJCQljb250aW51ZQorCQkJZWxpZiBbICIke0xVS1Nf
S0VZfSIgPSAnZXJyb3InIF0KKwkJCXRoZW4KKwkJCQkjIExVS1Mga2V5X2RldmljZSBjb3VsZCBu
b3QgYmUgb3BlbmVkLiBQcm9tcHQgdXNlciBmb3IgZGV2aWNlLgorCQkJCWJhZF9tc2cgIlRoZSBM
VUtTICR7TFVLU19LRVl9IGlzIG5vdCBmb3VuZC4iCisJCQkJZWNobyAiICAgUGxlYXNlIHNwZWNp
ZnkgdGhlIGNvcnJlY3Qga2V5LCAicSIgdG8gc2tpcCwgb3IgInNoZWxsIiBmb3IgYSBzaGVsbC4u
LiIKKwkJCQllY2hvIC1uICJMVUtTICR7TFVLU19OQU1FfSgkMykgOjogIgorCQkJCXJlYWQgTFVL
U19LRVkKKwkJCQlbIC16ICRMVUtTX0tFWSBdICYmIExVS1NfS0VZPSIkMyIKIAkJCQljb250aW51
ZQotCQkJZWxpZiBbICIke0xVS1NfREVWSUNFfSIgPSAnc2hlbGwnIF0KKwkJCWVsaWYgWyAiJHtM
VUtTX0tFWURFVn0iID0gJ2Vycm9yJyBdCiAJCQl0aGVuCisJCQkJIyBMVUtTIGtleV9kZXZpY2Ug
Y291bGQgbm90IGJlIG9wZW5lZC4gUHJvbXB0IHVzZXIgZm9yIGRldmljZS4KKwkJCQliYWRfbXNn
ICJUaGUgTFVLUyAke0xVS1NfS0VZREVWfSBkZXZpY2UgaXMgbm90IGRldGVjdGVkLCIKKwkJCQli
YWRfbXNnICJ1bmFibGUgdG8gbW91bnQgb3Igbm90IHRoZSBvbmUgY29udGFpbmluZyB0aGUga2V5
IgorCQkJCWVjaG8gIiAgIFBsZWFzZSBzcGVjaWZ5IHRoZSBjb3JyZWN0IGtleSBkZXZpY2UsICJx
IiB0byBza2lwLCBvciAic2hlbGwiIGZvciBhIHNoZWxsLi4uIgorCQkJCWVjaG8gLW4gIkxVS1Mg
JHtMVUtTX05BTUV9KCQ0KSA6OiAiCisJCQkJcmVhZCBMVUtTX0tFWURFVgorCQkJCVsgLXogJExV
S1NfS0VZREVWIF0gJiYgTFVLU19LRVlERVY9IiQ0IgorCQkJCWNvbnRpbnVlCisJCQllbGlmIFsg
IiR7TFVLU19ERVZJQ0V9IiA9ICdzaGVsbCcgLW8gIiR7TFVLU19LRVl9IiA9ICdzaGVsbCcgLW8g
IiR7TFVLU19LRVlERVZ9IiA9ICdzaGVsbCcgXQorCQkJdGhlbgorCQkJCWVjaG8gIlRvIGxlYXZl
IGFuZCB0cnkgYWdhaW4ganVzdCBwcmVzcyA8Q3RybD4rRCIKKwkJCQlMVUtTX0RFVklDRT0iJDEi
CisJCQkJTFVLU19LRVk9IiQzIgorCQkJCUxVS1NfS0VZREVWPSIkNCIKIAkJCQlydW5fc2hlbGwK
LQkJCQkKLQkJCQlMVUtTX0RFVklDRT0nJwogCQkJCWNvbnRpbnVlCi0JCQllbGlmIFsgIiR7TFVL
U19ERVZJQ0V9IiA9ICdxJyBdCisJCQllbGlmIFsgIiR7TFVLU19ERVZJQ0V9IiA9ICdxJyAtbyAi
JHtMVUtTX0tFWX0iID0gJ3EnIC1vICIke0xVS1NfS0VZREVWfSIgPSAncScgXQogCQkJdGhlbgog
CQkJCWJyZWFrCiAJCQllbHNlCi0JCQkJaWYgY3J5cHRzZXR1cCBpc0x1a3MgJHtMVUtTX0RFVklD
RX0KKwkJCQljcnlwdHNldHVwIGlzTHVrcyAke0xVS1NfREVWSUNFfQorCQkJCWlmIFsgISAiJD8i
IC1lcSAnMCcgXQogCQkJCXRoZW4KKwkJCQkJYmFkX21zZyAiVGhlIExVS1MgZGV2aWNlICR7TFVL
U19ERVZJQ0V9IGRvZXMgbm90IGNvbnRhaW4gYSBMVUtTIGhlYWRlciIKKwkJCQkJTFVLU19ERVZJ
Q0U9J2Vycm9yJworCQkJCQljb250aW51ZQorCQkJCWVsc2UKKwkJCQkJIyBIYW5kbGUga2V5cwor
CQkJCQlpZiBbIC1uICIkTFVLU19LRVkiIF07IHRoZW4KKwkJCQkJCSMgaGFuZGxlIGtleSBvbiBy
ZW1vdmFibGUgZGV2aWNlCisJCQkJCQlpZiBbIC1uICIkTFVLU19LRVlERVYiIF07IHRoZW4KKwkJ
CQkJCQkjIGNoZWNrIGZvciBhbmQgY29udGludWUgb24gZGV2aWNlIHByZXNlbmNlCisJCQkJCQkJ
aWYgWyAtZSAiJExVS1NfS0VZREVWIiBdCisJCQkJCQkJdGhlbgorCQkJCQkJCQlnb29kX21zZyAi
UmVtb3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBkZXRlY3RlZC4iCisJCQkJCQkJZWxzZQor
CQkJCQkJCQllY2hvICJQbGVhc2UgaW5zZXJ0IHJlbW92YWJsZSBkZXZpY2UgJHtMVUtTX0tFWURF
Vn0gZm9yICR7TFVLU19OQU1FfSIKKyMJCQkJCQkJCSMgYWJvcnQgYWZ0ZXIgMjAgc2VjcworCQkJ
CQkJCQljb3VudD0yMAorCQkJCQkJCQl3aGlsZSBbICRjb3VudCAtZ3QgMCBdCisJCQkJCQkJCWRv
IAorCQkJCQkJCQkJY291bnQ9JCgoY291bnQtMSkpCisJCQkJCQkJCQlzbGVlcCAxCisJCQkJCQkJ
CQlpZiBbIC1lICIkTFVLU19LRVlERVYiIF0KKwkJCQkJCQkJCXRoZW4KKwkJCQkJCQkJCQlnb29k
X21zZyAiUmVtb3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBkZXRlY3RlZC4iCisJCQkJCQkJ
CQkJYnJlYWsKKwkJCQkJCQkJCWZpCisJCQkJCQkJCWRvbmUKKwkJCQkJCQkJaWYgWyAhIC1lICIk
TFVLU19LRVlERVYiIF07IHRoZW4KKwkJCQkJCQkJCUxVS1NfS0VZREVWPSdlcnJvcicKKwkJCQkJ
CQkJCWJhZF9tc2cgIlJlbW92YWJsZSBkZXZpY2UgJHtMVUtTX0tFWURFVn0gbm90IGZvdW5kLiIK
KwkJCQkJCQkJCWNvbnRpbnVlCisJCQkJCQkJCWZpCisJCQkJCQkJZmkKKwkJCQkJCQkKKwkJCQkJ
CQkjIHRlbXAgZGlyZWN0b3J5IHRvIG1vdW50IHJlbW92YWJsZSBkZXZpY2UKKwkJCQkJCQlsb2Nh
bCBtbnRrZXk9L21udC9rZXlkZXYKKworCQkJCQkJCVsgISAtZCAiJG1udGtleSIgXSAmJiBta2Rp
ciAtcCAke21udGtleX0gMj4vZGV2L251bGwgPi9kZXYvbnVsbAorCQkJCQkJCW1vdW50IC1uIC1v
IHJvICR7TFVLU19LRVlERVZ9ICR7bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxsCisJCQkJ
CQkJaWYgWyAhICIkPyIgLWVxICcwJyBdCisJCQkJCQkJdGhlbgorCQkJCQkJCQlMVUtTX0tFWURF
Vj0nZXJyb3InCisJCQkJCQkJCWJhZF9tc2cgIk1vdW50aW5nIGRldmljZSAke0xVS1NfS0VZREVW
fSBmYWlsZWQuIgorCQkJCQkJCQllY2hvICIgICBNYWtlIHN1cmUgeW91IGluc2VydGVkIHRoZSBy
aWdodCBkZXZpY2UuIgorCQkJCQkJCQljb250aW51ZQorCQkJCQkJCWVsc2UKKwkJCQkJCQkJZ29v
ZF9tc2cgIlJlbW92YWJsZSBkZXZpY2UgJHtMVUtTX0tFWURFVn0gbW91bnRlZC4iCisJCQkJCQkJ
CXNsZWVwIDIKKwkJCQkJCQkJIyBrZXlmaWxlIGV4aXN0cz8KKwkJCQkJCQkJaWYgWyAhIC1lICIk
e21udGtleX0ke0xVS1NfS0VZfSIgXTsgdGhlbgorCQkJCQkJCQkJdW1vdW50IC1uICR7bW50a2V5
fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxsCisJCQkJCQkJCQlybWRpciAke21udGtleX0gMj4vZGV2
L251bGwgPi9kZXYvbnVsbAorCQkJCQkJCQkJTFVLU19LRVk9J2Vycm9yJworCQkJCQkJCQkJTFVL
U19LRVlERVY9J2Vycm9yJworCQkJCQkJCQkJYmFkX21zZyAiS2V5IHtMVUtTX0tFWX0gb24gZGV2
aWNlICR7TFVLU19LRVlERVZ9IG5vdCBmb3VuZC4iCisJCQkJCQkJCQljb250aW51ZQorCQkJCQkJ
CQllbHNlCisJCQkJCQkJCQlnb29kX21zZyAiJHtMVUtTX0tFWX0gb24gZGV2aWNlICR7TFVLU19L
RVlERVZ9IGZvdW5kIgorCQkJCQkJCQkJTFVLU19LRVk9IiR7bW50a2V5fSR7TFVLU19LRVl9Igor
CQkJCQkJCQlmaQorCQkJCQkJCWZpCisKKwkJCQkJCWVsc2UgICAgIyBrZXlmaWxlICEgb24gcmVt
b3ZhYmxlIGRldmljZQorCQkJCQkJCWlmIFsgISAtZSAiJExVS1NfS0VZIiBdOyB0aGVuCisJCQkJ
CQkJCUxVS1NfS0VZPSdlcnJvcicKKwkJCQkJCQkJYmFkX21zZyAiUmVhc29uOiBrZXlmaWxlICR7
TFVLU19LRVl9IGRvZXMgbm90IGV4aXN0LiIKKwkJCQkJCQkJY29udGludWUKKwkJCQkJCQllbHNl
CisJCQkJCQkJCWdvb2RfbXNnICIke0xVS1NfS0VZfSBmb3VuZCIKKwkJCQkJCQlmaQorCQkJCQkJ
ZmkKKwkJCQkJZmkKKwkJCQkJCiAJCQkJCWdvb2RfbXNnICJPcGVuaW5nIExVS1MgZGV2aWNlICR7
TFVLU19ERVZJQ0V9IgogCQkJCQkKLQkJCQkJY3J5cHRzZXR1cCBsdWtzT3BlbiAke0xVS1NfREVW
SUNFfSAke0xVS1NfTkFNRX0KLQkJCQkJaWYgWyAhICIkPyIgLWVxICcwJyBdCisJCQkJCWlmIFsg
LW4gIiRMVUtTX0tFWSIgXTsgdGhlbgorCQkJCQkJY3J5cHRzZXR1cF9vcHRpb25zPSItZCAke0xV
S1NfS0VZfSIKKwkJCQkJZmkKKwkJCQkJY3J5cHRzZXR1cCAke2NyeXB0c2V0dXBfb3B0aW9uc30g
bHVrc09wZW4gIiR7TFVLU19ERVZJQ0V9IiAiJHtMVUtTX05BTUV9IgorCQkJCQlpZiBbICIkPyIg
LWVxICcwJyBdCiAJCQkJCXRoZW4KLQkJCQkJCWJhZF9tc2cgIkZhaWxlZCBvcGVuIExVS1MgZGV2
aWNlICR7TFVLU19ERVZJQ0V9IgotCQkJCQllbHNlCisJCQkJCQlnb29kX21zZyAiTFVLUyBkZXZp
Y2UgJHtMVUtTX0RFVklDRX0gb3BlbmVkIgogCQkJCQkJYnJlYWsKKwkJCQkJZWxzZQorCQkJCQkJ
YmFkX21zZyAiRmFpbGVkIG9wZW4gTFVLUyBkZXZpY2UgJHtMVUtTX0RFVklDRX0iCiAJCQkJCWZp
Ci0JCQkJZWxzZQotCQkJCQliYWRfbXNnICJUaGUgTFVLUyBkZXZpY2UgJHtMVUtTX0RFVklDRX0g
ZG9lcyBub3QgY29udGFpbiBhIExVS1MgaGVhZGVyIgogCQkJCWZpCiAJCQlmaQotCQkJTFVLU19E
RVZJQ0U9JycKKwkJCUxVS1NfREVWSUNFPSdlcnJvcicKIAkJZG9uZQotCWVsc2UKLQkJYmFkX21z
ZyAiVGhlIGluaXRyZCBkb2VzIG5vdCBzdXBwb3J0IExVS1MiCisKKwkJaWYgWyAtZCAiJG1udGtl
eSIgXTsgdGhlbgorCQkJdW1vdW50IC1uICR7bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxs
CisJCQlybWRpciAke21udGtleX0gMj4vZGV2L251bGwgPi9kZXYvbnVsbAorCQlmaQogCWZpCiB9
CiAKIHN0YXJ0TFVLUygpIHsKIAlpZiBbIC1uICIke0xVS1NfUk9PVH0iIF0KIAl0aGVuCi0JCW9w
ZW5MVUtTICIke0xVS1NfUk9PVH0iICJyb290IiAKKwkJb3BlbkxVS1MgIiR7TFVLU19ST09UfSIg
InJvb3QiICIke0xVS1NfUk9PVF9LRVl9IiAiJHtMVUtTX1JPT1RfS0VZREVWfSIKIAkJaWYgWyAt
biAiJHtSRUFMX1JPT1R9IiBdCiAJCXRoZW4KIAkJCSMgUmVzY2FuIHZvbHVtZXMKQEAgLTY1OCw4
ICs3NjUsMTIgQEAKIAlmaQogCWlmIFsgLW4gIiR7TFVLU19TV0FQfSIgXQogCXRoZW4KLQkJb3Bl
bkxVS1MgIiR7TFVLU19TV0FQfSIgInN3YXAiIAotCQlicmVhaworCQlvcGVuTFVLUyAiJHtMVUtT
X1NXQVB9IiAic3dhcCIgIiR7TFVLU19TV0FQX0tFWX0iICIke0xVS1NfU1dBUF9LRVlERVZ9Igor
CQlpZiBbIC16ICIke1JFQUxfUkVTVU1FfSIgXQorCQl0aGVuCisJCQkjIFJlc3VtZSBmcm9tIHN3
YXAgYXMgZGVmYXVsdAorCQkJUkVBTF9SRVNVTUU9Ii9kZXYvbWFwcGVyL3N3YXAiCisJCWZpCiAJ
ZmkKIH0KIApAQCAtNzg4LDYgKzg5OSwxMyBAQAogCWZpCiB9CiAKK3N3c3VzcF9yZXN1bWUoKSB7
CisjIyMgZGV0ZXJtaW5lIHN3YXAgcmVzdW1lIHBhcnRpdGlvbgorCWxvY2FsIGRldmljZT0kKGxz
IC1sICIke1JFQUxfUkVTVU1FfSIgfCBzZWQgJ3MvXCAqLyAvZycgfCBjdXQgLWQgXCAgLWYgNi03
IHwgc2VkICdzLyxcICovOi8nKQorCWVjaG8gIiR7ZGV2aWNlfSIgPiAvc3lzL3Bvd2VyL3Jlc3Vt
ZQorCXJldHVybiAwCit9CisKIHN1c3BlbmRfcmVzdW1lKCkgewogCVsgLXggL3NiaW4vcmVzdW1l
IF0gfHwgcmV0dXJuIDAKIAkvc2Jpbi9yZXN1bWUKLS0tIC91c3Ivc2hhcmUvZ2Vua2VybmVsL2dl
bmVyaWMvbGludXhyYwkyMDA3LTAzLTEyIDIxOjQzOjQ0LjAwMDAwMDAwMCArMDEwMAorKysgL3Vz
ci9zaGFyZS9nZW5rZXJuZWwvZ2VuZXJpYy9saW51eHJjLk5FVwkyMDA3LTAzLTEyIDIxOjQ2OjU1
LjAwMDAwMDAwMCArMDEwMApAQCAtMTc5LDYgKzE3OSwyNCBAQAogCQljcnlwdF9zd2FwXD0qKQog
CQkJTFVLU19TV0FQPWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OworCQlyb290X2tleVw9KikKKwkJ
CUxVS1NfUk9PVF9LRVk9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7CisJCXN3YXBfa2V5XD0qKQor
CQkJTFVLU19TV0FQX0tFWT1gcGFyc2Vfb3B0ICIke3h9ImAKKwkJOzsKKwkJcm9vdF9rZXlkZXZc
PSopCisJCQlMVUtTX1JPT1RfS0VZREVWPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7OworCQlzd2Fw
X2tleWRldlw9KikKKwkJCUxVS1NfU1dBUF9LRVlERVY9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7
CisJCXJlYWxfcmVzdW1lXD0qKQorCQkJUkVBTF9SRVNVTUU9YHBhcnNlX29wdCAiJHt4fSJgCisJ
CTs7CisJCW5vcmVzdW1lKQorCQkJTk9SRVNVTUU9MQorCQk7OwogCQlyZWFsX3Jvb3RmbGFnc1w9
KikKIAkJCVJFQUxfUk9PVEZMQUdTPWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OwpAQCAtMjUwLDgg
KzI2OCwxMiBAQAogIyBSdW4gZGVidWcgc2hlbGwgaWYgcmVxdWVzdGVkCiBydW5kZWJ1Z3NoZWxs
CiAKLXN1c3BlbmRfcmVzdW1lCi1zdXNwZW5kMl9yZXN1bWUKK2lmIFsgIiR7Tk9SRVNVTUV9IiAt
bmUgJzEnIF0KK3RoZW4KKwlzd3N1c3BfcmVzdW1lCisJc3VzcGVuZF9yZXN1bWUKKwlzdXNwZW5k
Ml9yZXN1bWUKK2ZpCiAKIGlmIFsgIiR7Q0RST09UfSIgLWVxICcxJyBdCiB0aGVuCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127069</attachid>
            <date>2007-08-06 14:06 0000</date>
            <desc>hopefully last patch, improved and tested this a lot</desc>
            <filename>genkernel_key_06.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGdlbmtlcm5lbC90cnVuay9nZW5rZXJuZWwuOAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnZW5rZXJu
ZWwvdHJ1bmsvZ2Vua2VybmVsLjgJKHJldmlzaW9uIDUyNCkKKysrIGdlbmtlcm5lbC90cnVuay9n
ZW5rZXJuZWwuOAkod29ya2luZyBjb3B5KQpAQCAtMjY2LDYgKzI2NiwxNyBAQAogVGhpcyBzcGVj
aWZpZXMgdGhlIGRldmljZSBlbmNyeXB0ZWQgYnkgTHVrcywgd2hpY2ggY29udGFpbnMgdGhlIHJv
b3QgCiBmaWxlc3lzdGVtIHRvIG1vdW50LgogLlRQCitcZkJyb290X2tleT1cZlI8Li4uPgorSW4g
Y2FzZSB5b3VyIHJvb3QgYW5kL29yIHN3YXAgYXJlIGVuY3J5cHRlZCB3aXRoIGEgYmluYXJ5IGtl
eSwgeW91IGNhbiB1c2UgYSBkZXZpY2UgbGlrZSBhIHVzYiBwZW4gdG8gc3RvcmUgdGhlIGtleS4g
CitUaGlzIHZhbHVlIHNob3VsZCBiZSB0aGUga2V5IHBhdGggcmVsYXRpdmUgdG8gdGhlIG1vdW50
IHBvaW50LgorLlRQCitcZkJyb290X2tleWRldj1cZlI8Li4uPgorSWYgbmVjZXNzYXJ5IHByb3Zp
ZGUgdGhlIG5hbWUgb2YgdGhlIGRldmljZSB0aGF0IGNhcnJpZXMgdGhlIHJvb3Rfa2V5LgorSWYg
dW5zZXQgd2hpbGUgdXNpbmcgcm9vdF9rZXksIGl0IHdpbGwgYXV0b21hdGljYWxseSBsb29rIGZv
ciB0aGUgZGV2aWNlIGluIGV2ZXJ5IGJvb3QuCisuVFAKK1xmQmNyeXB0X3NpbGVudFxmUgorU2V0
IHRoaXMgdG8gc2lsZW50IGFsbCB0aGUgb3V0cHV0IHJlbGF0ZWQgdG8gdGhlIGNyeXB0b2dyYXBo
aWMgc29mdHdhcmUsIGFuZCBpbiBjYXNlIHlvdXIgZW5jcnlwdGVkIGRldmljZSBpc24ndCBvcGVu
IHdpdGggdGhlIGtleSwgaXQgb3BlbnMgYSBzaGVsbCBpbiB0aGUgaW5pdHJkIHF1aWV0bHkuCisu
VFAKIFxmQmRvZG1yYWlkPVxmUjwuLi4+CiBQYXNzZXMgYXJndW1lbnRzIHRvIGRtcmFpZCBvbiBi
b290dXAuCiAuVFAKSW5kZXg6IGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5zY3JpcHRz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5zY3JpcHRzCShy
ZXZpc2lvbiA1MjQpCisrKyBnZW5rZXJuZWwvdHJ1bmsvZ2VuZXJpYy9pbml0cmQuc2NyaXB0cwko
d29ya2luZyBjb3B5KQpAQCAtMzcsOSArMzcsOSBAQAogCiBtb2R1bGVzX3NjYW4oKSB7CiAJbG9j
YWwgTU9EUwotCVsgLWQgL2V0Yy9tb2R1bGVzLyR7MX0gXSB8fCB0b3VjaCAvZXRjL21vZHVsZXMv
JHsxfQorCVsgLWQgIi9ldGMvbW9kdWxlcy8kezF9IiBdIHx8IHRvdWNoIC9ldGMvbW9kdWxlcy8k
ezF9CiAKLQlbIC1mIC9ldGMvbW9kdWxlcy8kezF9IF0gJiYgTU9EUz1gY2F0IC9ldGMvbW9kdWxl
cy8kezF9YAorCVsgLWYgIi9ldGMvbW9kdWxlcy8kezF9IiBdICYmIE1PRFM9YGNhdCAvZXRjL21v
ZHVsZXMvJHsxfWAKIAlmb3IgeCBpbiAke01PRFN9CiAJZG8KIAkJTUxPQUQ9YGVjaG8gJHtNTElT
VH0gfCBzZWQgLWUgInMvLioke3h9LiovJHt4fS8iYApAQCAtNjMsNyArNjMsMTkgQEAKIAlkb25l
CiB9CiAKLWZpbmRjZG1vdW50KCkgeworZmluZG1lZGlhbW91bnQoKSB7CisJIyAkMSA9IG1vdW50
IGRpciBuYW1lIC8gbWVkaWEgbmFtZQorCSMgJDIgPSByZWNvZ25pdGlvbiBmaWxlCisJIyAkMyA9
IHZhcmlhYmxlIHRvIGhhdmUgdGhlIGRldmljZSBwYXRoCisJIyBhcmdzIHJlbWFpbmluZyBhcmUg
cG9zc2libGUgZGV2aWNlcyAKKworCWxvY2FsIG1lZGlhPSQxCisJbG9jYWwgcmVjb249JDIKKwls
b2NhbCB2cmJsPSQzCisJc2hpZnQ7c2hpZnQ7c2hpZnQKKworCWdvb2RfbXNnICJMb29raW5nIGZv
ciB0aGUgJHttZWRpYX0iICR7Q1JZUFRfU0lMRU5UfQorCiAJaWYgWyAiJCMiIC1ndCAiMCIgXQog
CXRoZW4KIAkJZm9yIHggaW4gJCoKQEAgLTcxLDc1ICs4Myw2NCBAQAogCQkJIyBDaGVjayBmb3Ig
YSBibG9jayBkZXZpY2UgdG8gbW91bnQKIAkJCWlmIFsgLWIgIiR7eH0iIF0KIAkJCXRoZW4KLQkJ
CQlnb29kX21zZyAiQXR0ZW1wdGluZyB0byBtb3VudCBtZWRpYTotICR7eH0iCi0JCQkJaWYgWyAt
eiAiJHtDRFJPT1RfREVWfSIgXQotCQkJCXRoZW4KLQkJCQkJbW91bnQgLXIgLXQgYXV0byAke3h9
ICR7TkVXX1JPT1R9L21udC9jZHJvbSBcCisJCQkJZ29vZF9tc2cgIkF0dGVtcHRpbmcgdG8gbW91
bnQgbWVkaWE6LSAke3h9IiAke0NSWVBUX1NJTEVOVH0KKwkKKwkJCQltb3VudCAtciAtdCBhdXRv
ICR7eH0gJHtORVdfUk9PVH0vbW50LyR7bWVkaWF9IFwKIAkJCQkJCT4gL2Rldi9udWxsIDI+JjEK
LQkJCQllbHNlCi0JCQkJCW1vdW50IC1yIC10IGlzbzk2NjAgJHt4fSAke05FV19ST09UfS9tbnQv
Y2Ryb20gXAotCQkJCQkJPiAvZGV2L251bGwgMj4mMQotCQkJCWZpCisJCQkJCiAJCQkJaWYgWyAi
JD8iID0gJzAnIF0KIAkJCQl0aGVuCi0JCQkJCSMgQ2hlY2sgZm9yIGEgTGl2ZUNECi0JCQkJCWlm
IFsgLWYgJHtORVdfUk9PVH0vbW50L2Nkcm9tLyR7U1VCRElSfS9saXZlY2QgXQorCQkJCQkjIENo
ZWNrIGZvciB0aGUgbWVkaWEKKwkJCQkJaWYgWyAtZiAiJHtORVdfUk9PVH0vbW50LyR7bWVkaWF9
LyR7cmVjb259IiBdCiAJCQkJCXRoZW4KLQkJCQkJCVJFQUxfUk9PVD0iJHt4fSIKKwkJCQkJCSNz
ZXQgUkVBTF9ST09ULCBDUllQVF9ST09UX0tFWURFViBvciB3aGF0ZXZlciAke3ZyYmx9IGlzCisJ
CQkJCQlldmFsICR7dnJibH0nPSciJHt4fSIKKwkJCQkJCWdvb2RfbXNnICJNZWRpYSBmb3VuZCBv
biAke3h9IiAke0NSWVBUX1NJTEVOVH0KIAkJCQkJCWJyZWFrCiAJCQkJCWVsc2UKLQkJCQkJCXVt
b3VudCAke05FV19ST09UfS9tbnQvY2Ryb20KKwkJCQkJCXVtb3VudCAke05FV19ST09UfS9tbnQv
JHttZWRpYX0KIAkJCQkJZmkKIAkJCQlmaQogCQkJZmkKIAkJZG9uZQotCQlpZiBbICIke1JFQUxf
Uk9PVH0iICE9ICcnIF0KLQkJdGhlbgotCQkJZ29vZF9tc2cgIk1lZGlhIGZvdW5kIG9uICR7eH0i
Ci0JCWZpCiAJZmkKKworCWV2YWwgbG9jYWwgcmVzdWx0PSckJyR7dnJibH0KKworCVsgLW4gIiR7
cmVzdWx0fSIgXSB8fCBiYWRfbXNnICJNZWRpYSBub3QgZm91bmQiICR7Q1JZUFRfU0lMRU5UfQog
fQogCi1maW5ka2V5bW91bnQoKSB7Ci0gICAgICAgIGlmIFsgIiQjIiAtZ3QgIjAiIF0KLSAgICAg
ICAgdGhlbgotICAgICAgICAgICAgICAgIGZvciB4IGluICQqCi0gICAgICAgICAgICAgICAgZG8K
LSAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIGEgYmxvY2sgZGV2aWNlIHRvIG1v
dW50Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBbIC1iICIke3h9IiBdCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0aGVuCi0JCQkJaWYgWyAke2NyeXB0X3NpbGVudH0gPSAnJyBdCi0JCQkJ
dGhlbgotCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29vZF9tc2cgIkF0dGVtcHRp
bmcgdG8gbW91bnQga2V5IG1lZGlhOi0gJHt4fSIKLQkJCQlmaQorZGV2aWNlbGlzdCgpeworCSMg
TG9jYXRlIHRoZSBjZHJvbSBkZXZpY2Ugd2l0aCBvdXIgbWVkaWEgb24gaXQuCisJIyBDRFJPTSBE
RVZJQ0VTCisJbG9jYWwgREVWSUNFUz0iL2Rldi9jZHJvbXMvKiAvZGV2L2lkZS9jZC8qIC9kZXYv
c3IqIgorCSMgVVNCIEtleWNoYWluL1N0b3JhZ2UKKwlERVZJQ0VTPSIkREVWSUNFUyAvZGV2L3Nk
KiIKKwkjIElERSBkZXZpY2VzCisJREVWSUNFUz0iJERFVklDRVMgL2Rldi9oZCoiCisJIyBVU0Ig
dXNpbmcgdGhlIFVTQiBCbG9jayBEcml2ZXIKKwlERVZJQ0VTPSIkREVWSUNFUyAvZGV2L3ViZCog
L2Rldi91YmQvKiIKKwkjIGlTZXJpZXMgZGV2aWNlcworCURFVklDRVM9IiRERVZJQ0VTIC9kZXYv
aXNlcmllcy92Y2QqIgorCWVjaG8gJHtERVZJQ0VTfQorfQogCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1vdW50IC1yIC10IGF1dG8gJHt4fSAke05FV19ST09UfS9tbnQva2V5ZGV2
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gL2Rl
di9udWxsIDI+JjEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgWyAiJD8iID0g
JzAnIF0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbgotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIHRoZSBrZXkKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBbIC1lICR7TkVXX1JPT1R9L21udC9r
ZXlkZXYvJHtMVUtTX1JPT1RfS0VZfSBdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTFVLU19ST09UX0tFWURFVj0iJHt4fSIKLQkJCQkJCXVtb3VudCAke05FV19ST09UfS9t
bnQva2V5ZGV2Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVtb3VudCAke05F
V19ST09UfS9tbnQva2V5ZGV2Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGZpCi0gICAgICAgICAgICAgICAgZG9uZQotICAgICAgICAgICAgICAgIGlmIFsg
IiR7TFVLU19ST09UX0tFWURFVn0iICE9ICcnIF0KLSAgICAgICAgICAgICAgICB0aGVuCi0JCQlp
ZiBbICR7Y3J5cHRfc2lsZW50fSA9ICcnIF0KLQkJCXRoZW4KLQkgICAgICAgICAgICAgICAgICAg
ICAgICBnb29kX21zZyAiS2V5IG1lZGlhIGZvdW5kIG9uICR7eH0iCi0JCQlmaQotICAgICAgICAg
ICAgICAgIGZpCi0gICAgICAgIGZpCitib290c3RyYXBDRCgpIHsKKwkKKwlsb2NhbCBERVZJQ0VT
PWBkZXZpY2VsaXN0YAorCSMgVGhlIGRldmljZSB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5k
IGxpbmUuICBTaG9sZCB3ZSBldmVuIGJlIGRvaW5nIGEKKwkjIHNjYW4gYXQgdGhpcyBwb2ludD8g
IEkgdGhpbmsgbm90LgorCVsgLW4gIiR7Q0RST09UX0RFVn0iIF0gJiYgREVWSUNFUz0iJERFVklD
RVMgJHtDRFJPT1RfREVWfSIKKworCWZpbmRtZWRpYW1vdW50ICJjZHJvbSIgIiR7U1VCRElSfS9s
aXZlY2QiICJSRUFMX1JPT1QiICR7REVWSUNFU30KIH0KIAorYm9vdHN0cmFwS2V5KCkgeworCWxv
Y2FsIEtFWURFVlM9YGRldmljZWxpc3RgCiAKKwlmaW5kbWVkaWFtb3VudCAia2V5IiAiJHtDUllQ
VF9ST09UX0tFWX0iICJDUllQVF9ST09UX0tFWURFViIgJHtLRVlERVZTfQorfQorCiBjYWNoZV9j
ZF9jb250ZW50cygpIHsKIAkjIENoZWNrIGxvb3AgZmlsZSBleGlzdHMgYW5kIGNhY2hlIHRvIHJh
bWRpc2sgaWYgRE9fY2FjaGUgaXMgZW5hYmxlZAogCWlmIFsgIiR7TE9PUFRZUEV9IiAhPSAibm9s
b29wIiBdICYmIFsgIiR7TE9PUFRZUEV9IiAhPSAic2dpbWlwcyIgXQpAQCAtMzI4LDI1ICszMjks
NzUgQEAKIAlmaQogfQogCi1nb29kX21zZygpIHsKKworIyBtc2cgZnVuY3Rpb25zIGFyZ3VtZW50
cworIyAkMSBzdHJpbmcKKyMgJDIgaGlkZSBmbGFnCisKK2dvb2RfbXNnKCkgewkKIAltc2dfc3Ry
aW5nPSQxCiAJbXNnX3N0cmluZz0iJHttc2dfc3RyaW5nOi0uLi59IgotCWVjaG8gLWUgIiR7R09P
RH0+PiR7Tk9STUFMfSR7Qk9MRH0gJHttc2dfc3RyaW5nfSAke05PUk1BTH0iCisJWyAiJDIiICE9
IDEgXSAmJiBlY2hvIC1lICIke0dPT0R9Pj4ke05PUk1BTH0ke0JPTER9ICR7bXNnX3N0cmluZ30g
JHtOT1JNQUx9IgogfQogCiBiYWRfbXNnKCkgewogCW1zZ19zdHJpbmc9JDEKIAltc2dfc3RyaW5n
PSIke21zZ19zdHJpbmc6LS4uLn0iCi0Jc3BsYXNoICd2ZXJib3NlJyA+IC9kZXYvbnVsbCAmCi0J
ZWNobyAtZSAiJHtCQUR9ISEke05PUk1BTH0ke0JPTER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9
IgorCWlmIFsgIiQyIiAhPSAxIF0KKwl0aGVuCisJCXNwbGFzaCAndmVyYm9zZScgPiAvZGV2L251
bGwgJgorCQllY2hvIC1lICIke0JBRH0hISR7Tk9STUFMfSR7Qk9MRH0gJHttc2dfc3RyaW5nfSAk
e05PUk1BTH0iCisJZmkKIH0gCiAKIHdhcm5fbXNnKCkgewogCW1zZ19zdHJpbmc9JDEKIAltc2df
c3RyaW5nPSIke21zZ19zdHJpbmc6LS4uLn0iCi0JZWNobyAtZSAiJHtXQVJOfSoqJHtOT1JNQUx9
JHtCT0xEfSAke21zZ19zdHJpbmd9ICR7Tk9STUFMfSIKLX0gCisJWyAiJDIiICE9IDEgXSAmJiBl
Y2hvIC1lICIke1dBUk59Kioke05PUk1BTH0ke0JPTER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9
IgorfQogCitjcnlwdF9maWx0ZXIoKSB7CisJaWYgWyAke0NSWVBUX1NJTEVOVH0gLWVxIDEgXQor
CXRoZW4KKwkJZXZhbCAkMSA+L2Rldi9udWxsIDI+L2Rldi9udWxsCisJZWxzZQorCQlldmFsICQx
CisJZmkKK30KKword2hlcmVpcygpeworCSMgJDEgPSB2YXJpYWJsZSB3aG9zZSB2YWx1ZSBpcyB0
aGUgcGF0aCAoZXhhbXBsZXM6ICJSRUFMX1JPT1QiLCAiTFVLU19LRVlERVYiKQorCSMgJDIgPSBs
YWJlbAorCSMgJDMgPSBvcHRpb25hbCBleHBsYW5hdGlvbnMgZm9yIGZhaWx1cmUKKworCWV2YWwg
bG9jYWwgb2xkdmFsdWU9JyQnJHsxfQorCisJWyBcKCAkIyAhPSAyIFwpIC1hIFwoICQjICE9IDMg
XCkgXSAmJiBcCisJCWJhZF9tc2cgIkJhZCBpbnZvY2F0aW9uIG9mIGZ1bmN0aW9uIHdoZXJlaXMs
IHBsZWFzZSBmaWxlIGEgYnVnIFwKKwkJcmVwb3J0IHdpdGggdGhpcyBtZXNzYWdlIiAmJiBleGl0
IDEKKwlbIC1uICIkezN9IiBdICYmIGxvY2FsIGV4cGxudD0iIG9yIDogJHszfSIgfHwgbG9jYWwg
ZXhwbG50PSIuIgorCQorCWJhZF9tc2cgIkNvdWxkIG5vdCBmaW5kIHRoZSAkezJ9IGluICR7b2xk
dmFsdWV9JHtleHBsbnR9IgorCWVjaG8gJyAgIFBsZWFzZSBzcGVjaWZ5IGFub3RoZXIgdmFsdWUg
b3I6IHByZXNzIEVudGVyIGZvciB0aGUgc2FtZSwgdHlwZSAic2hlbGwiIGZvciBhIHNoZWxsLCBv
ciAicSIgdG8gc2tpcC4uLicKKwllY2hvIC1uICIkezJ9KCR7b2xkdmFsdWV9KSA6OiAiCisJcmVh
ZCAkezF9CisJY2FzZSBgZXZhbCBlY2hvICckJyR7MX1gIGluCisJCSdxJykKKwkJCWV2YWwgJHsx
fSc9JyR7b2xkdmFsdWV9CisJCQl3YXJuX21zZyAiU2tpcHBpbmcgc3RlcCwgdGhpcyB3aWxsIGxp
a2VseSBjYXVzZSBhIGJvb3QgZmFpbHVyZS4iCisJCQlicmVhaworCQkJOzsKKwkJJ3NoZWxsJykK
KwkJCWV2YWwgJHsxfSc9JyR7b2xkdmFsdWV9CisJCQllY2hvICJUbyBsZWF2ZSBhbmQgdHJ5IGFn
YWluIGp1c3QgcHJlc3MgPEN0cmw+K0QiCisJCQlydW5fc2hlbGwKKwkJCTs7CisJCScnKQorCQkJ
ZXZhbCAkezF9Jz0nJHtvbGR2YWx1ZX0KKwkJCTs7CisJZXNhYworfQorCiBiaW5kX21vdW50X2Rl
digpIHsKIAkjIGJpbmQtbW91bnQgL2Rldi8gc28gdGhhdCBsb29wIGRldmljZXMgY2FuIGJlIGZv
dW5kCiAJbW91bnQgLW8gYmluZCAke05FV19ST09UfS9kZXYgL2RldgpAQCAtMzU0LDE0ICs0MDUs
MTQgQEAKIAogc3RhcnRfZGV2X21ncigpIHsKIAkjIENoZWNrIHVkZXYgaXMgYXZhaWxhYmxlLi4u
Ci0JaWYgWyAiJHtLVl8yXzZfT1JfR1JFQVRFUn0iIC1hICEgIiR7VVNFX1VERVZfTk9STUFMfSIg
LWVxICcwJyBdCisJaWYgWyAiJHtLVl8yXzZfT1JfR1JFQVRFUn0iIC1hICIke1VTRV9VREVWX05P
Uk1BTH0iICE9ICcwJyBdCiAJdGhlbgogCQlVU0VfVURFVl9OT1JNQUw9MQogCWVsc2UKIAkJVVNF
X1VERVZfTk9STUFMPTAKIAlmaQogCi0JaWYgWyAiJHtVU0VfVURFVl9OT1JNQUx9IiAtZXEgJzEn
IF0KKwlpZiBbICIke1VTRV9VREVWX05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCWNkIC9zeXMK
IAkJWyAiJHtET19zbG93dXNifSIgXSAmJiBzbGVlcCAxMApAQCAtMzc4LDQyICs0MjksNiBAQAog
CWZpCiB9CiAKLWJvb3RzdHJhcENEKCkgewotCSMgTG9jYXRlIHRoZSBjZHJvbSBkZXZpY2Ugd2l0
aCBvdXIgbWVkaWEgb24gaXQuCi0JIyBDRFJPTSBERVZJQ0VTCi0JREVWSUNFUz0iL2Rldi9jZHJv
bXMvKiAvZGV2L2lkZS9jZC8qIC9kZXYvc3IqIgotCSMgVVNCIEtleWNoYWluL1N0b3JhZ2UKLQlE
RVZJQ0VTPSIkREVWSUNFUyAvZGV2L3NkKiIKLQkjIElERSBkZXZpY2VzCi0JREVWSUNFUz0iJERF
VklDRVMgL2Rldi9oZCoiCi0JIyBVU0IgdXNpbmcgdGhlIFVTQiBCbG9jayBEcml2ZXIKLQlERVZJ
Q0VTPSIkREVWSUNFUyAvZGV2L3ViZCogL2Rldi91YmQvKiIKLQkjIGlTZXJpZXMgZGV2aWNlcwot
CURFVklDRVM9IiRERVZJQ0VTIC9kZXYvaXNlcmllcy92Y2QqIgotCSMgVGhlIGRldmljZSB3YXMg
c3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUuICBTaG9sZCB3ZSBldmVuIGJlIGRvaW5nIGEK
LQkjIHNjYW4gYXQgdGhpcyBwb2ludD8gIEkgdGhpbmsgbm90LgotCVsgLW4gIiR7Q0RST09UX0RF
Vn0iIF0gJiYgREVWSUNFUz0iJERFVklDRVMgJHtDRFJPT1RfREVWfSIKLQotCWZpbmRjZG1vdW50
ICRERVZJQ0VTCi19Ci0KLWJvb3RzdHJhcEtleSgpIHsKLSAgICAgICAgIyBMb2NhdGUgdGhlIGRl
dmljZSB3aXRoIG91ciBrZXkgb24gaXQuCi0gICAgICAgICMgVVNCIEtleWNoYWluL1N0b3JhZ2UK
LSAgICAgICAgS0VZREVWUz0iL2Rldi9zZCoiCi0gICAgICAgICMgQ0RST00gREVWSUNFUwotICAg
ICAgICBLRVlERVZTPSIke0tFWURFVlN9IC9kZXYvY2Ryb21zLyogL2Rldi9pZGUvY2QvKiAvZGV2
L3NyKiIKLSAgICAgICAgIyBJREUgZGV2aWNlcwotICAgICAgICBLRVlERVZTPSIke0tFWURFVlN9
IC9kZXYvaGQqIgotICAgICAgICAjIFVTQiB1c2luZyB0aGUgVVNCIEJsb2NrIERyaXZlcgotICAg
ICAgICBLRVlERVZTPSIke0tFWURFVlN9IC9kZXYvdWJkKiAvZGV2L3ViZC8qIgotICAgICAgICAj
IGlTZXJpZXMgZGV2aWNlcwotICAgICAgICBLRVlERVZTPSIke0tFWURFVnN9IC9kZXYvaXNlcmll
cy92Y2QqIgotCi0gICAgICAgIGZpbmRrZXltb3VudCAke0tFWURFVlN9Ci19Ci0KLQogY21kbGlu
ZV9od29wdHMoKSB7CiAJIyBTY2FuIENNRExJTkUgZm9yIGFueSAiZG9zY3NpIiBvciAibm9zY3Np
Ii10eXBlIGFyZ3VtZW50cwogCQpAQCAtNTEwLDcgKzUyNSw3IEBACiAKIAkJY2hvb3NlS2V5bWFw
CiAKLQkJWyAiJHtERVZCSU5EfSIgLWVxICcxJyBdICYmIHVtb3VudCAvZGV2CisJCVsgIiR7REVW
QklORH0iID0gJzEnIF0gJiYgdW1vdW50IC9kZXYKIAkJCiAJCWlmIFsgLWUgL2V0Yy9zeXNjb25m
aWcva2V5Ym9hcmQgLWEgIiR7Q0RST09UfSIgLWVxICcxJyBdCiAJCXRoZW4KQEAgLTYwMiw3ICs2
MTcsNyBAQAogCQlsbiAtc2YgL2Rldi9kZXZpY2UtbWFwcGVyIC9kZXYvbWFwcGVyL2NvbnRyb2wK
IAlmaQogCQotCWlmIFsgIiR7VVNFX0RNUkFJRF9OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIk
e1VTRV9ETVJBSURfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJaWYgWyAtZSAnL3NiaW4vZG1y
YWlkJyBdCiAJCXRoZW4KQEAgLTYxNiw3ICs2MzEsNyBAQAogCQlmaQogCWZpCiAKLQlpZiBbICIk
e1VTRV9MVk0yX05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX0xWTTJfTk9STUFMfSIg
PSAnMScgXQogCXRoZW4KIAkJaWYgWyAtZSAnL2Jpbi92Z3NjYW4nIC1hIC1lICcvYmluL3ZnY2hh
bmdlJyBdCiAJCXRoZW4KQEAgLTYzMSw3ICs2NDYsNyBAQAogCQkJL2Jpbi92Z2NoYW5nZSAtYXkg
LS1pZ25vcmVsb2NraW5nZmFpbHVyZSAyPi9kZXYvbnVsbAogCiAJCQkjIERpc2FibGUgRVZNUyBz
aW5jZSBsdm0yIGlzIGFjdGl2YXRlZCBhbmQgdGhleSBkb250IHdvcmsgdG9nZXRoZXIuCi0JCQlp
ZiBbICIke1VTRV9FVk1TMl9OT1JNQUx9IiAtZXEgJzEnIF0KKwkJCWlmIFsgIiR7VVNFX0VWTVMy
X05PUk1BTH0iID0gJzEnIF0KIAkJCXRoZW4KIAkJCQliYWRfbXNnICJEaXNhYmxpbmcgRVZNUyBT
dXBwb3J0IGJlY2F1c2UgTFZNMiBzdGFydGVkIgogCQkJCWJhZF9tc2cgIkRvIG5vdCBhZGQgZG9s
dm0yIHRvIHRoZSBjbWRsaW5lIGlmIHRoaXMgaXMgbm90IHdoYXQgeW91IHdhbnQiCkBAIC02NDMs
NyArNjU4LDcgQEAKIAkJZmkKIAlmaQogCi0JaWYgWyAiJHtVU0VfRVZNUzJfTk9STUFMfSIgLWVx
ICcxJyBdCisJaWYgWyAiJHtVU0VfRVZNUzJfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJaWYg
WyAtZSAnL3NiaW4vZXZtc19hY3RpdmF0ZScgXQogCQl0aGVuCkBAIC02NTYsNTggKzY3MSwxMzAg
QEAKICMgT3BlbiBhIExVS1MgZGV2aWNlCiAjICQxIExVS1MgZGV2aWNlCiAjICQyIExVS1MgbmFt
ZQorIyAkMyBMVUtTIGtleSAocmVsYXRpdmUgcGF0aCBvbiBkZXZpY2UpCisjICQ0IExVS1Mga2V5
ZGV2aWNlIChjb250YWluaW5nIHRoZSBrZXkpCiBvcGVuTFVLUygpIHsKIAlMVUtTX0RFVklDRT0i
JDEiCiAJTFVLU19OQU1FPSIkMiIKLQlpZiBbIC1lIC9zYmluL2NyeXB0c2V0dXAgXQotCXRoZW4K
LQkJd2hpbGUgWyAxIF0KLQkJZG8KLQkJCWlmIFsgIiR7TFVLU19ERVZJQ0V9IiA9ICcnIF0KKwlM
VUtTX0tFWT0iJDMiCisJTFVLU19LRVlERVY9IiQ0IgorCWxvY2FsIERFVl9FUlJPUj0wOyBsb2Nh
bCBLRVlfRVJST1I9MDsgbG9jYWwgS0VZREVWX0VSUk9SPTAKKwlsb2NhbCBtbnRrZXk9L21udC9r
ZXkvOyBsb2NhbCBjcnlwdHNldHVwX29wdGlvbnM9JycKKworCVsgISAtZSAvc2Jpbi9jcnlwdHNl
dHVwIF0gJiYgYmFkX21zZyAiVGhlIGluaXRyZCBkb2VzIG5vdCBzdXBwb3J0IExVS1MiICYmIGV4
aXQgMQorCXdoaWxlIFsgMSBdCisJZG8KKwkJIyBpZiBjcnlwdF9zaWxlbnQ9MSBhbmQgc29tZSBl
cnJvciBvY2N1cnMsIGVudGVyIHNoZWxsIHF1aWV0bHkKKwkJaWYgWyBcKCAke0NSWVBUX1NJTEVO
VH0gLWVxIDEgXCkgLWEgXCggXCggXCggJHtERVZfRVJST1J9IC1lcSAxIFwpIC1vIFwoICR7S0VZ
X0VSUk9SfSAtZXEgMSBcKSBcKSAtbyBcKCAke0tFWURFVl9FUlJPUn0gLWVxIDEgXCkgXCkgXQor
CQl0aGVuCisJCQlydW5fc2hlbGwKKwkJZWxpZiBbICR7REVWX0VSUk9SfSAtZXEgMSBdCisJCXRo
ZW4KKwkJCXdoZXJlaXMgIkxVS1NfREVWSUNFIiAiJHtMVUtTX05BTUV9IgorCQkJREVWX0VSUk9S
PTAKKwkJZWxpZiBbICR7S0VZX0VSUk9SfSAtZXEgMSBdCisJCXRoZW4KKwkJCXdoZXJlaXMgIkxV
S1NfS0VZIiAiJHtMVUtTX05BTUV9IGtleSIKKwkJCUtFWV9FUlJPUj0wCisJCWVsaWYgWyAke0tF
WURFVl9FUlJPUn0gLWVxIDEgXQorCQl0aGVuCisJCQl3aGVyZWlzICJMVUtTX0tFWURFViIgIiR7
TFVLU19OQU1FfSBrZXkgZGV2aWNlIgorCQkJS0VZREVWX0VSUk9SPTAKKwkJZWxzZQorCQkJc2V0
dXBfbWRfZGV2aWNlICR7TFVLU19ERVZJQ0V9CisJCQljcnlwdHNldHVwIGlzTHVrcyAke0xVS1Nf
REVWSUNFfQorCQkJaWYgWyAhICIkPyIgLWVxICcwJyBdCiAJCQl0aGVuCi0JCQkJIyBMVUtTIGRl
dmljZSBjb3VsZCBub3QgYmUgb3BlbmVkLiBQcm9tcHQgdXNlciBmb3IgZGV2aWNlLgotCQkJCWJh
ZF9tc2cgIlRoZSBMVUtTICR7TFVLU19OQU1FfSBibG9jayBkZXZpY2UgaXMgbm90IGRldGVjdGVk
LiIKLQkJCQllY2hvICIgICBQbGVhc2Ugc3BlY2lmeSBhICR7TFVLU19OQU1FfSBMVUtTIGRldmlj
ZSB0byBvcGVuLCAicSIgdG8gc2tpcCwgb3IgInNoZWxsIiBmb3IgYSBzaGVsbC4uLiIKLQkJCQll
Y2hvIC1uICJMVUtTICR7TFVLU19OQU1FfSgpIDo6ICIKLQkJCQlyZWFkIExVS1NfREVWSUNFCisJ
CQkJYmFkX21zZyAiVGhlIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IGRvZXMgbm90IGNvbnRh
aW4gYSBMVUtTIGhlYWRlciIgJHtDUllQVF9TSUxFTlR9CisJCQkJREVWX0VSUk9SPTEKIAkJCQlj
b250aW51ZQotCQkJZWxpZiBbICIke0xVS1NfREVWSUNFfSIgPSAnc2hlbGwnIF0KLQkJCXRoZW4K
LQkJCQlydW5fc2hlbGwKLQkJCQkKLQkJCQlMVUtTX0RFVklDRT0nJwotCQkJCWNvbnRpbnVlCi0J
CQllbGlmIFsgIiR7TFVLU19ERVZJQ0V9IiA9ICdxJyBdCi0JCQl0aGVuCi0JCQkJYnJlYWsKIAkJ
CWVsc2UKLQkJCQlzZXR1cF9tZF9kZXZpY2UgJHtMVUtTX0RFVklDRX0KLQkJCQlpZiBjcnlwdHNl
dHVwIGlzTHVrcyAke0xVS1NfREVWSUNFfQorCQkJCSMgSGFuZGxlIGtleXMKKwkJCQlpZiBbIC1u
ICIke0xVS1NfS0VZfSIgXSAKIAkJCQl0aGVuCi0JCQkJCWdvb2RfbXNnICJPcGVuaW5nIExVS1Mg
ZGV2aWNlICR7TFVLU19ERVZJQ0V9IgotCQkJCQkKLQkJCQkJY3J5cHRzZXR1cCBsdWtzT3BlbiAk
e0xVS1NfREVWSUNFfSAke0xVS1NfTkFNRX0KLQkJCQkJaWYgWyAhICIkPyIgLWVxICcwJyBdCisJ
CQkJCWlmIFsgISAtZSAiJHttbnRrZXl9JHtMVUtTX0tFWX0iIF0gCiAJCQkJCXRoZW4KLQkJCQkJ
CWJhZF9tc2cgIkZhaWxlZCBvcGVuIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IgotCQkJCQll
bHNlCi0JCQkJCQlicmVhaworCQkJCQkJaWYgWyAtYiAiJHtMVUtTX0tFWURFVn0iIF0KKwkJCQkJ
CXRoZW4gZ29vZF9tc2cgIlVzaW5nIGtleSBkZXZpY2UgJHtMVUtTX0tFWURFVn0uIiAke0NSWVBU
X1NJTEVOVH0KKwkJCQkJCWVsc2UKKwkJCQkJCQlnb29kX21zZyAiUGxlYXNlIGluc2VydCByZW1v
dmFibGUgZGV2aWNlICR7TFVLU19LRVlERVZ9IGZvciAke0xVS1NfTkFNRX0iICR7Q1JZUFRfU0lM
RU5UfQorCQkJCQkJCSMgYWJvcnQgYWZ0ZXIgMTAgc2VjcworCQkJCQkJCWxvY2FsIGNvdW50PTEw
CisJCQkJCQkJd2hpbGUgWyAke2NvdW50fSAtZ3QgMCBdCisJCQkJCQkJZG8gCisJCQkJCQkJCWNv
dW50PSQoKGNvdW50LTEpKQorCQkJCQkJCQlzbGVlcCAxCisJCQkJCQkJCWlmIFsgLWIgIiR7TFVL
U19LRVlERVZ9IiBdCisJCQkJCQkJCXRoZW4KKwkJCQkJCQkJCWdvb2RfbXNnICJSZW1vdmFibGUg
ZGV2aWNlICR7TFVLU19LRVlERVZ9IGRldGVjdGVkLiIgJHtDUllQVF9TSUxFTlR9CisJCQkJCQkJ
CQlicmVhaworCQkJCQkJCQlmaQorCQkJCQkJCWRvbmUKKwkJCQkJCQlpZiBbICEgLWIgIiR7TFVL
U19LRVlERVZ9IiBdCisJCQkJCQkJdGhlbgorCQkJCQkJCQlDUllQVF9ST09UX0tFWT0ke0xVS1Nf
S0VZfQorCQkJCQkJCQlib290c3RyYXBLZXkKKwkJCQkJCQkJTFVLU19LRVlERVY9JHtDUllQVF9S
T09UX0tFWURFVn0KKwkJCQkJCQkJaWYgWyAhIC1iICIke0xVS1NfS0VZREVWfSIgXTsgdGhlbgor
CQkJCQkJCQkJS0VZREVWX0VSUk9SPTEKKwkJCQkJCQkJCWJhZF9tc2cgIlJlbW92YWJsZSBkZXZp
Y2UgJHtMVUtTX0tFWURFVn0gbm90IGZvdW5kLiIgJHtDUllQVF9TSUxFTlR9CisJCQkJCQkJCQlj
b250aW51ZQorCQkJCQkJCQlmaQorCQkJCQkJCWZpCisJCQkJCQlmaQorCQkJCQkJIyBBdCB0aGlz
IHBvaW50IGEgZGV2aWNlIHdhcyByZWNvZ25pemVkLCBub3cgbGV0J3Mgc2VlIGlmIHRoZSBrZXkg
aXMgdGhlcmUKKwkJCQkJCVsgISAtZCAiJG1udGtleSIgXSAmJiBta2RpciAtcCAke21udGtleX0g
Mj4vZGV2L251bGwgPi9kZXYvbnVsbAorCisJCQkJCQltb3VudCAtbiAtbyBybyAke0xVS1NfS0VZ
REVWfSAke21udGtleX0gPi9kZXYvbnVsbCAyPi9kZXYvbnVsbAorCQkJCQkJaWYgWyAiJD8iICE9
ICcwJyBdCisJCQkJCQl0aGVuCisJCQkJCQkJS0VZREVWX0VSUk9SPTEKKwkJCQkJCQliYWRfbXNn
ICJNb3VudGluZyBvZiBkZXZpY2UgJHtMVUtTX0tFWURFVn0gZmFpbGVkLiIgJHtDUllQVF9TSUxF
TlR9CisJCQkJCQkJY29udGludWUKKwkJCQkJCWVsc2UKKwkJCQkJCQlnb29kX21zZyAiUmVtb3Zh
YmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBtb3VudGVkLiIgJHtDUllQVF9TSUxFTlR9CisJCQkJ
CQkJc2xlZXAgMgorCQkJCQkJCSMga2V5ZmlsZSBleGlzdHM/CisJCQkJCQkJaWYgWyAhIC1lICIk
e21udGtleX0ke0xVS1NfS0VZfSIgXTsgdGhlbgorCQkJCQkJCQl1bW91bnQgLW4gJHttbnRrZXl9
IDI+L2Rldi9udWxsID4vZGV2L251bGwKKwkJCQkJCQkJS0VZX0VSUk9SPTEKKwkJCQkJCQkJS0VZ
REVWX0VSUk9SPTEKKwkJCQkJCQkJYmFkX21zZyAiS2V5IHtMVUtTX0tFWX0gb24gZGV2aWNlICR7
TFVLU19LRVlERVZ9IG5vdCBmb3VuZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCQljb250aW51
ZQorCQkJCQkJCWZpCisJCQkJCQlmaQogCQkJCQlmaQorCQkJCQkjIEF0IHRoaXMgcG9pbnQgYSBj
YW5kaWRhdGUga2V5IGV4aXN0cyAoZWl0aGVyIG1vdW50ZWQgYmVmb3JlIG9yIG5vdCkKKwkJCQkJ
Z29vZF9tc2cgIiR7TFVLU19LRVl9IG9uIGRldmljZSAke0xVS1NfS0VZREVWfSBmb3VuZCIgJHtD
UllQVF9TSUxFTlR9CisJCQkJCWNyeXB0c2V0dXBfb3B0aW9ucz0iLWQgJHttbnRrZXl9JHtMVUtT
X0tFWX0iCisJCQkJZmkKKwkJCQkjIEF0IHRoaXMgcG9pbnQsIGtleWZpbGUgb3Igbm90LCB3ZSdy
ZSByZWFkeSEKKwkJCQljcnlwdF9maWx0ZXIgImNyeXB0c2V0dXAgJHtjcnlwdHNldHVwX29wdGlv
bnN9IGx1a3NPcGVuICR7TFVLU19ERVZJQ0V9ICR7TFVLU19OQU1FfSIKKwkJCQlpZiBbICQ/IC1l
cSAwIF0KKwkJCQl0aGVuCisJCQkJCWdvb2RfbXNnICJMVUtTIGRldmljZSAke0xVS1NfREVWSUNF
fSBvcGVuZWQiICR7Q1JZUFRfU0lMRU5UfQorCQkJCQlicmVhawogCQkJCWVsc2UKLQkJCQkJYmFk
X21zZyAiVGhlIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IGRvZXMgbm90IGNvbnRhaW4gYSBM
VUtTIGhlYWRlciIKKwkJCQkJYmFkX21zZyAiRmFpbGVkIHRvIG9wZW4gTFVLUyBkZXZpY2UgJHtM
VUtTX0RFVklDRX0iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQlERVZfRVJST1I9MQogCQkJCWZpCiAJ
CQlmaQotCQkJTFVLU19ERVZJQ0U9JycKLQkJZG9uZQotCWVsc2UKLQkJYmFkX21zZyAiVGhlIGlu
aXRyZCBkb2VzIG5vdCBzdXBwb3J0IExVS1MiCi0JZmkKKwkJZmkKKwlkb25lCisJdW1vdW50ICR7
bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxsCisJcm1kaXIgJHttbnRrZXl9IDI+L2Rldi9u
dWxsID4vZGV2L251bGwKIH0KIAogc3RhcnRMVUtTKCkgewotCWlmIFsgLW4gIiR7TFVLU19ST09U
fSIgXQorCisJIyBpZiBrZXkgaXMgc2V0IGJ1dCBrZXkgZGV2aWNlIGlzbid0LCBmaW5kIGl0CisJ
CisJWyAtbiAiJHtDUllQVF9ST09UfSIgXSAmJiBbIC1uICIke0NSWVBUX1JPT1RfS0VZfSIgXSAm
JiBbIC16ICIke0NSWVBUX1JPT1RfS0VZREVWfSIgXSBcCisJCSYmIGJvb3RzdHJhcEtleQorCisJ
aWYgWyAtbiAiJHtDUllQVF9ST09UfSIgXQogCXRoZW4KLQkJb3BlbkxVS1MgIiR7TFVLU19ST09U
fSIgInJvb3QiIAorCQlvcGVuTFVLUyAiJHtDUllQVF9ST09UfSIgInJvb3QiICIke0NSWVBUX1JP
T1RfS0VZfSIgIiR7Q1JZUFRfUk9PVF9LRVlERVZ9IgogCQlpZiBbIC1uICIke1JFQUxfUk9PVH0i
IF0KIAkJdGhlbgogCQkJIyBSZXNjYW4gdm9sdW1lcwpAQCAtNzE2LDEwICs4MDMsMTQgQEAKIAkJ
CVJFQUxfUk9PVD0iL2Rldi9tYXBwZXIvcm9vdCIKIAkJZmkKIAlmaQotCWlmIFsgLW4gIiR7TFVL
U19TV0FQfSIgXQorCWlmIFsgLW4gIiR7Q1JZUFRfU1dBUH0iIF0KIAl0aGVuCi0JCW9wZW5MVUtT
ICIke0xVS1NfU1dBUH0iICJzd2FwIiAKLQkJYnJlYWsKKwkJb3BlbkxVS1MgIiR7Q1JZUFRfU1dB
UH0iICJzd2FwIiAiJHtDUllQVF9ST09UX0tFWX0iICIke0NSWVBUX1JPT1RfS0VZREVWfSIKKwkJ
aWYgWyAteiAiJHtSRUFMX1JFU1VNRX0iIF0KKwkJdGhlbgorCQkJIyBSZXN1bWUgZnJvbSBzd2Fw
IGFzIGRlZmF1bHQKKwkJCVJFQUxfUkVTVU1FPSIvZGV2L21hcHBlci9zd2FwIgorCQlmaQogCWZp
CiB9CiAKQEAgLTc0Niw3ICs4MzcsNyBAQAogCiAKIGNkdXBkYXRlKCkgewotCWlmIFsgIiR7Q0RS
T09UfSIgLWVxICcxJyBdCisJaWYgWyAiJHtDRFJPT1R9IiA9ICcxJyBdCiAJdGhlbgogCQlpZiBb
IC14IC8ke05FV19ST09UfS9tbnQvY2Ryb20vY2R1cGRhdGUuc2ggXQogCQl0aGVuCkBAIC03OTIs
NyArODgzLDcgQEAKIH0KIAogc2V0dXBfdW5pb25mcygpIHsKLQlpZiBbICIke1VTRV9VTklPTkZT
X05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgPSAnMScg
XQogCXRoZW4KIAkJIyBEaXJlY3RvcnkgdXNlZCBmb3IgcncgY2hhbmdlcyBpbiB1bmlvbiBtb3Vu
dCBmaWxlc3lzdGVtCiAJCVVOSU9OPS91bmlvbgpAQCAtODQ3LDYgKzkzOCwxNSBAQAogCWZpCiB9
CiAKKworc3dzdXNwX3Jlc3VtZSgpIHsKKyMjIyBkZXRlcm1pbmUgc3dhcCByZXN1bWUgcGFydGl0
aW9uCisJbG9jYWwgZGV2aWNlPSQobHMgLWwgIiR7UkVBTF9SRVNVTUV9IiB8IHNlZCAncy9cICov
IC9nJyB8IGN1dCAtZCBcICAtZiA2LTcgfCBzZWQgJ3MvLFwgKi86LycpCisJWyAtZiAvc3lzL3Bv
d2VyL3Jlc3VtZSBdICYmIGVjaG8gIiR7ZGV2aWNlfSIgPiAvc3lzL3Bvd2VyL3Jlc3VtZQorCXJl
dHVybiAwCit9CisKKwogc3VzcGVuZF9yZXN1bWUoKSB7CiAJWyAteCAvc2Jpbi9yZXN1bWUgXSB8
fCByZXR1cm4gMAogCS9zYmluL3Jlc3VtZQpJbmRleDogZ2Vua2VybmVsL3RydW5rL2dlbmVyaWMv
bGludXhyYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBnZW5rZXJuZWwvdHJ1bmsvZ2VuZXJpYy9saW51eHJjCShy
ZXZpc2lvbiA1MjQpCisrKyBnZW5rZXJuZWwvdHJ1bmsvZ2VuZXJpYy9saW51eHJjCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogIyEvYmluL3NoCi0jIENvcHlyaWdodCAyMDAzLTIwMDYg
R2VudG9vIEZvdW5kYXRpb24gCisjIENvcHlyaWdodCAyMDAzLTIwMDcgR2VudG9vIEZvdW5kYXRp
b24gCiAjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgdjIKIAogLiAvZXRjL2luaXRyZC5kZWZhdWx0cwpAQCAtNDYsNiArNDYsNyBA
QAogUkVBTF9ST09UPScnCiBGQUtFX1JPT1Q9JycKIFJFQUxfUk9PVEZMQUdTPScnCitDUllQVF9T
SUxFTlQ9MAogZm9yIHggaW4gJHtDTURMSU5FfQogZG8KIAljYXNlICIke3h9IiBpbgpAQCAtMTc0
LDI0ICsxNzUsMzggQEAKIAkJCU5GU1JPT1Q9YHBhcnNlX29wdCAiJHt4fSJgCiAJCTs7CiAJCWNy
eXB0X3Jvb3RcPSopCi0JCQlMVUtTX1JPT1Q9YHBhcnNlX29wdCAiJHt4fSJgCisJCQlDUllQVF9S
T09UPWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OwogCQljcnlwdF9zd2FwXD0qKQotCQkJTFVLU19T
V0FQPWBwYXJzZV9vcHQgIiR7eH0iYAorCQkJQ1JZUFRfU1dBUD1gcGFyc2Vfb3B0ICIke3h9ImAK
IAkJOzsKLQkJY3J5cHRfc2lsZW50XD0qKQotCQkJTFVLU19TSUxFTlQ9YHBhcnNlX29wdCAiJHt4
fSJgCisJCXJvb3Rfa2V5XD0qKQorCQkJQ1JZUFRfUk9PVF9LRVk9YHBhcnNlX29wdCAiJHt4fSJg
CiAJCTs7CisJCXJvb3Rfa2V5ZGV2XD0qKQorCQkJQ1JZUFRfUk9PVF9LRVlERVY9YHBhcnNlX29w
dCAiJHt4fSJgCisJCTs7CisJCXJlYWxfcmVzdW1lXD0qKQorCQkJUkVBTF9SRVNVTUU9YHBhcnNl
X29wdCAiJHt4fSJgCisJCTs7CisJCW5vcmVzdW1lKQorCQkJTk9SRVNVTUU9MQorCQk7OworCQlj
cnlwdF9zaWxlbnQpCisJCQlDUllQVF9TSUxFTlQ9MQorCQk7OwogCQlyZWFsX3Jvb3RmbGFnc1w9
KikKIAkJCVJFQUxfUk9PVEZMQUdTPWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OwogCWVzYWMKIGRv
bmUKIAotaWYgWyAteiAiJHtSRUFMX1JPT1R9IiAtYSBcKCAiJHtDRFJPT1R9IiAtZXEgMCBcKSAg
LWEgXCggIiR7RkFLRV9ST09UfSIgIT0gIi9kZXYvcmFtMCIgXCkgXQotdGhlbgotCVJFQUxfUk9P
VD0iJHtGQUtFX1JPT1R9IgkKLWZpCisjIFdoYXQgaXMgdGhlIGNvZGUgYmVsb3cgZm9yPyAKKyMg
Q0RST09UIG9uIHRoZSBwcmV2aW91cyByZXZpc2lvbiBjYW4gbmV2ZXIgYmUgemVybyBhdCB0aGlz
IHBvaW50LCBzbyBpZiBuZWNlc3NhcnkgdXBkYXRlIHRoaXMgb3IgZGVsZXRlCisjaWYgWyAteiAi
JHtSRUFMX1JPT1R9IiAtYSBcKCAiJHtDRFJPT1R9IiAtZXEgMCBcKSAgLWEgXCggIiR7RkFLRV9S
T09UfSIgIT0gIi9kZXYvcmFtMCIgXCkgXQorI3RoZW4KKyMJUkVBTF9ST09UPSIke0ZBS0VfUk9P
VH0iCQorI2ZpCiAKIHNwbGFzaCAnaW5pdCcKIApAQCAtMjAzLDcgKzIxOCw3IEBACiB0aGVuCiAJ
Z29vZF9tc2cgJ0xvYWRpbmcgbW9kdWxlcycKIAkjIExvYWQgYXBwcm9wcmlhdGUga2VybmVsIG1v
ZHVsZXMKLQlpZiBbICIke05PREVURUNUfSIgLW5lICcxJyBdCisJaWYgWyAiJHtOT0RFVEVDVH0i
ICE9ICcxJyBdCiAJdGhlbgogCQlmb3IgbW9kdWxlcyBpbiAkTVlfSFdPUFRTCiAJCWRvCkBAIC0y
MzcsNyArMjUyLDcgQEAKIHN0YXJ0Vm9sdW1lcwogCiAjIEluaXRpYWxpemUgTFVLUyByb290IGRl
dmljZSBleGNlcHQgZm9yIGxpdmVjZCdzCi1pZiBbICIke0NEUk9PVH0iIC1uZSAnMScgXQoraWYg
WyAiJHtDRFJPT1R9IiAhPSAxIF0KIHRoZW4KIAlzdGFydExVS1MKIGZpCkBAIC0yNDYsNyArMjYx
LDcgQEAKIG1rZGlyIC1wICR7TkVXX1JPT1R9CiBzZXR1cF91bmlvbmZzCiAKLWlmIFsgIiR7VVNF
X1VOSU9ORlNfTk9STUFMfSIgLWVxICcxJyBdCitpZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0i
ID0gJzEnIF0KIHRoZW4KIAlDSFJPT1Q9JHtVTklPTn0KIGVsc2UKQEAgLTI1NiwxOCArMjcxLDIy
IEBACiAjIFJ1biBkZWJ1ZyBzaGVsbCBpZiByZXF1ZXN0ZWQKIHJ1bmRlYnVnc2hlbGwKIAotc3Vz
cGVuZF9yZXN1bWUKLXN1c3BlbmQyX3Jlc3VtZQoraWYgWyAiJHtOT1JFU1VNRX0iICE9ICcxJyBd
Cit0aGVuCisJc3dzdXNwX3Jlc3VtZQorCXN1c3BlbmRfcmVzdW1lCisJc3VzcGVuZDJfcmVzdW1l
CitmaQogCi1pZiBbICIke0NEUk9PVH0iIC1lcSAnMScgXQoraWYgWyAiJHtDRFJPT1R9IiA9ICcx
JyBdCiB0aGVuCi0JaWYgWyAhICIke1VTRV9VTklPTkZTX05PUk1BTH0iIC1lcSAnMScgXQorCWlm
IFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgIT0gJzEnIF0KIAl0aGVuCiAJCWdvb2RfbXNnICJN
YWtpbmcgdG1wZnMgZm9yICR7TkVXX1JPT1R9IgogCQltb3VudCAtdCB0bXBmcyB0bXBmcyAke05F
V19ST09UfQogCWZpCiAJCi0JZm9yIGkgaW4gZGV2IG1udCBtbnQvY2Ryb20gbW50L2xpdmVjZCBt
bnQva2V5ZGV2IHRtcCB0bXAvLmluaXRyZCBtbnQvZ2VudG9vIHN5cworCWZvciBpIGluIGRldiBt
bnQgbW50L2Nkcm9tIG1udC9saXZlY2QgbW50L2tleSB0bXAgdG1wLy5pbml0cmQgbW50L2dlbnRv
byBzeXMKIAlkbwogCQlta2RpciAtcCAke05FV19ST09UfS8kaQogCQljaG1vZCA3NTUgJHtORVdf
Uk9PVH0vJGkKQEAgLTM1OCwzMSArMzc3LDE3IEBACiAJCQkJCWdvb2RfbXNnICJEZXRlY3RlZCBy
ZWFsX3Jvb3Q9JHtST09UX0RFVn0iCiAJCQkJCVJFQUxfUk9PVD0iJHtST09UX0RFVn0iCiAJCQkJ
ZWxzZQotCQkJCQliYWRfbXNnICJDb3VsZCBub3QgZmluZCByb290IGJsb2NrIGRldmljZTogJHtS
RUFMX1JPT1R9IgotCQkJCQllY2hvICcgICBQbGVhc2Ugc3BlY2lmeSBhIGRldmljZSB0byBib290
LCBvciAic2hlbGwiIGZvciBhIHNoZWxsLi4uJwotCQkJCQllY2hvIC1uICdib290KCkgOjogJwot
CQkJCQlyZWFkIFJFQUxfUk9PVAorCQkJCQl3aGVyZWlzICJSRUFMX1JPT1QiICJyb290IGJsb2Nr
IGRldmljZSIKIAkJCQkJZ290X2dvb2Rfcm9vdD0wCiAJCQkJCWNvbnRpbnVlCiAJCQkJZmkKIAkJ
CQk7OwogCQllc2FjCiAJCQkJCi0JCWlmIFsgIiR7UkVBTF9ST09UfSIgPSAnc2hlbGwnIF0KKwkJ
aWYgWyAiJHtSRUFMX1JPT1R9IiA9ICcnIF0KIAkJdGhlbgotCQkJcnVuX3NoZWxsCi0KLQkJCVJF
QUxfUk9PVD0nJwotCQkJZ290X2dvb2Rfcm9vdD0wCi0JCQljb250aW51ZQotCQkKLQkJZWxpZiBb
ICIke1JFQUxfUk9PVH0iID0gJycgXQotCQl0aGVuCiAJCQkjIE5vIFJFQUxfUk9PVCBkZXRlcm1p
bmVkL3NwZWNpZmllZC4gUHJvbXB0IHVzZXIgZm9yIHJvb3QgYmxvY2sgZGV2aWNlLgotCQkJYmFk
X21zZyAiVGhlIHJvb3QgYmxvY2sgZGV2aWNlIGlzIHVuc3BlY2lmaWVkIG9yIG5vdCBkZXRlY3Rl
ZC4iCi0JCQllY2hvICcgICBQbGVhc2Ugc3BlY2lmeSBhIGRldmljZSB0byBib290LCBvciAic2hl
bGwiIGZvciBhIHNoZWxsLi4uJwotCQkJZWNobyAtbiAnYm9vdCgpIDo6ICcKLQkJCXJlYWQgUkVB
TF9ST09UCisJCQl3aGVyZWlzICJSRUFMX1JPT1QiICJyb290IGJsb2NrIGRldmljZSIKIAkJCWdv
dF9nb29kX3Jvb3Q9MAogCiAJCSMgQ2hlY2sgZm9yIGEgYmxvY2sgZGV2aWNlIG9yIC9kZXYvbmZz
CkBAIC0zOTgsNyArNDAzLDcgQEAKIAlkb25lCiAKIAotCWlmIFsgIiR7Q0RST09UfSIgLWVxICcx
JyAtYSAiJHtnb3RfZ29vZF9yb290fSIgPSAnMScgLWEgIiR7UkVBTF9ST09UfSIgIT0gIi9kZXYv
bmZzIiBdCisJaWYgWyAiJHtDRFJPT1R9IiA9IDEgLWEgIiR7Z290X2dvb2Rfcm9vdH0iID0gJzEn
IC1hICIke1JFQUxfUk9PVH0iICE9ICIvZGV2L25mcyIgXQogCXRoZW4KIAkJIyBDRCBhbHJlYWR5
IG1vdW50ZWQ7IG5vIGZ1cnRoZXIgY2hlY2tzIG5lY2Vzc2FyeQogCQlicmVhawpAQCAtNDQyLDcg
KzQ0Nyw3IEBACiAKICN2ZXJib3NlX2ttc2cKIAotIyBJZiBjZHJvb3QgaXMgc2V0IGRldGVybWlu
ZSB0aGUgbG9vcHR5cGUgdG8gYm9vdAorIyBJZiBjZCByb290IGlzIHNldCBkZXRlcm1pbmUgdGhl
IGxvb3B0eXBlIHRvIGJvb3QKIGlmIFsgIiR7Q0RST09UfSIgPSAnMScgXQogdGhlbgogCWdvb2Rf
bXNnICdEZXRlcm1pbmluZyBsb29wdHlwZSAuLi4nCkBAIC00OTYsMjggKzUwMSwxOSBAQAogCWZp
CiAKIAljYWNoZV9jZF9jb250ZW50cwotCQogCiAgICAgICAgICMgSWYgZW5jcnlwdGVkLCBmaW5k
IGtleSBhbmQgbW91bnQsIG90aGVyd2lzZSBtb3VudCBhcyB1c3VhbAotCWlmIFsgIiR7TFVLU19S
T09UfSIgIT0gJycgXSAKKwlpZiBbIC1uICIke0NSWVBUX1JPT1R9IiBdIAogCXRoZW4KLQkJaWYg
WyAiJHtMVUtTX1NJTEVOVH0iID0gJycgXQotCQl0aGVuCi0JCQlnb29kX21zZyAnWW91IGJvb3Rl
ZCBhbiBlbmNyeXB0ZWQgbGl2ZWNkJwotCQlmaQorCQlnb29kX21zZyAnWW91IGJvb3RlZCBhbiBl
bmNyeXB0ZWQgbGl2ZWNkJyAke0NSWVBUX1NJTEVOVH0KIAotCQlMVUtTX1JPT1RfS0VZPSQoaGVh
ZCAtbiAxICR7TkVXX1JPT1R9L21udC9jZHJvbS9saXZlY2QpCi0KLQkJaWYgWyAiJHtMVUtTX1JP
T1RfS0VZfSIgXQotCQl0aGVuCi0JCQlib290c3RyYXBLZXkKLQkJZmkKKwkJQ1JZUFRfUk9PVF9L
RVk9JChoZWFkIC1uIDEgJHtORVdfUk9PVH0vbW50L2Nkcm9tL2xpdmVjZCkKIAkJCiAJCWxvc2V0
dXAgL2Rldi9sb29wMCAke05FV19ST09UfS9tbnQvY2Ryb20vJHtMT09QRVhUfSR7TE9PUH0KIAkJ
CiAJCXRlc3Rfc3VjY2VzcyAnUHJlcGFyaW5nIGxvb3AgZmlsZXN5c3RlbScKIAkJCi0JCUxVS1Nf
Uk9PVD0nL2Rldi9sb29wMCcKKwkJQ1JZUFRfUk9PVD0nL2Rldi9sb29wMCcKIAkJCiAJCXN0YXJ0
TFVLUwogCQkKQEAgLTYwMiw3ICs1OTgsNyBAQAogIyBFbmQgY2Ryb20gbG9vcHR5cGUgZGV0ZXJt
aW5hdGlvbiBhbmQgbW91bnRpbmcgaWYgbmVjZXNzYXJ5CiAjCiAKLQlpZiBbICIke1VTRV9VTklP
TkZTX05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgPSAn
MScgXQogCXRoZW4KIAkJdW5pb25faW5zZXJ0X2RpciAke1VOSU9OfSAke05FV19ST09UfS8ke0ZT
X0xPQ0FUSU9OfQogCQkKQEAgLTYyOCw3ICs2MjQsNyBAQAogCWZpCiAKIAkKLQlpZiBbICEgIiR7
VVNFX1VOSU9ORlNfTk9STUFMfSIgLWVxICcxJyBdCisJaWYgWyAiJHtVU0VfVU5JT05GU19OT1JN
QUx9IiAhPSAnMScgXQogCXRoZW4KIAkJZ29vZF9tc2cgIkNvcHlpbmcgcmVhZC13cml0ZSBpbWFn
ZSBjb250ZW50cyB0byB0bXBmcyIKIAkJIyBDb3B5IG92ZXIgc3R1ZmYgdGhhdCBzaG91bGQgYmUg
d3JpdGFibGUKQEAgLTY5Niw3ICs2OTIsNyBAQAogCQlzbGVlcCAxMAogCWZpCiBlbHNlCi0JaWYg
WyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VTklPTkZT
X05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCXVuaW9uX2luc2VydF9kaXIgJHtVTklPTn0gJHtO
RVdfUk9PVH0KIAkJbWtkaXIgLXAgJHtVTklPTn0vdG1wLy5pbml0cmQKQEAgLTcxOCw3ICs3MTQs
NyBAQAogIyBpbml0IHNjcmlwdHMgd2lsbCBiZSBhYmxlIHRvIHVubW91bnQgaXQgcHJvcGVybHkg
YXQgbmV4dCByZWJvb3QKICMKICMgRXZlbnR1YWxseSwgYWxsICJ1bmlvbnMgb3ZlciAvIiBtb3Vu
dHMgc2hvdWxkIGdvIGluIHRoYXQgLy51bmlvbnMvCi1pZiBbICIke1VTRV9VTklPTkZTX05PUk1B
TH0iIC1lcSAnMScgXQoraWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiA9ICcxJyBdCiB0aGVu
CiAJbWtkaXIgLXAgLyR7Q0hST09UfS8udW5pb25zL21lbW9yeSAyPi9kZXYvbnVsbAogCW1vdW50
IC1vIG1vdmUgL21lbW9yeSAvJHtDSFJPT1R9Ly51bmlvbnMvbWVtb3J5IHx8IGVjaG8gJyo6IEZh
aWxlZCB0byBtb3ZlIHVuaW9uZnMgL21lbW9yeSBpbnRvIHRoZSBzeXN0ZW0gcm9vdCEnCkBAIC03
MzgsMTIgKzczNCwxMiBAQAogCWZpCiAJZWNobyAtbiAnLicKIAotCWlmIC90bXAvLmluaXRyZC9i
aW4vWyAiJHtVU0VfREVWRlNfTk9STUFMfSIgLWVxICcxJyAtYSAiJHtDRFJPT1R9IiAtZXEgJzAn
IF0KKwlpZiAvdG1wLy5pbml0cmQvYmluL1sgIiR7VVNFX0RFVkZTX05PUk1BTH0iID0gJzEnIC1h
ICIke0NEUk9PVH0iID0gMCBdCiAJdGhlbgogCQl1bW91bnQgL3RtcC8uaW5pdHJkL3Byb2MgfHwg
ZWNobyAnKjogRmFpbGVkIHRvIHVubW91bnQgdGhlIGluaXRyZCAvcHJvYyEnCiAJCW1vdW50IC1u
IC0tbW92ZSAvdG1wLy5pbml0cmQvZGV2IGRldiB8fCBlY2hvICcqOiBGYWlsZWQgdG8gbW92ZSBv
dmVyIHRoZSAvZGV2IHRyZWUhJwogCQlybSAtcmYgL3RtcC8uaW5pdHJkL2RldiB8fCBlY2hvICcq
OiBGYWlsZWQgdG8gcmVtb3ZlIHRoZSBpbml0cmQgL2RldiEnCi0JZWxpZiAvdG1wLy5pbml0cmQv
YmluL1sgIiR7VVNFX1VERVZfTk9STUFMfSIgLWVxICcxJyBdCisJZWxpZiAvdG1wLy5pbml0cmQv
YmluL1sgIiR7VVNFX1VERVZfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJL3RtcC8uaW5pdHJk
L2Jpbi9bIC1lIC90bXAvLmluaXRyZC9kZXYvZmQgXSAmJiBybSAvdG1wLy5pbml0cmQvZGV2L2Zk
CiAJCS90bXAvLmluaXRyZC9iaW4vWyAtZSAvdG1wLy5pbml0cmQvZGV2L3N0ZGluIF0gJiYgcm0g
L3RtcC8uaW5pdHJkL2Rldi9zdGRpbgpAQCAtNzUzLDcgKzc0OSw3IEBACiAJCXVtb3VudCAvdG1w
Ly5pbml0cmQvZGV2IHx8IGVjaG8gJyo6IEZhaWxlZCB0byB1bm1vdW50IHRoZSBpbml0cmQgL2Rl
diEnCiAJCXVtb3VudCAvdG1wLy5pbml0cmQvcHJvYyB8fCBlY2hvICcqOiBGYWlsZWQgdG8gdW5t
b3VudCB0aGUgaW5pdHJkIC9wcm9jIScKIAkJdW1vdW50IC90bXAvLmluaXRyZC9zeXMgfHwgZWNo
byAnKjogRmFpbGVkIHRvIHVubW91bnQgdGhlIGluaXRyZCAvc3lzIScKLQllbGlmIC90bXAvLmlu
aXRyZC9iaW4vWyAiJHtDRFJPT1R9IiAtZXEgJzEnIF0KKwllbGlmIC90bXAvLmluaXRyZC9iaW4v
WyAiJHtDRFJPT1R9IiAtZXEgMSBdCiAJdGhlbgogCQl1bW91bnQgL3RtcC8uaW5pdHJkL3Byb2Mg
fHwgZWNobyAiKjogRmFpbGVkIHRvIHVubW91bnQgdGhlIGluaXRyZCAvcHJvYyEiCiAJCXVtb3Vu
dCAvZGV2IDI+L2Rldi9udWxsCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127219</attachid>
            <date>2007-08-08 01:51 0000</date>
            <desc>genkernel_key_07.patch</desc>
            <filename>genkernel_key_07.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IHRydW5rL2dlbmVyaWMvaW5pdHJkLnNjcmlwdHMNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSB0cnVu
ay9nZW5lcmljL2luaXRyZC5zY3JpcHRzCShyZXZpc2lvbiA1MjQpDQorKysgdHJ1bmsvZ2VuZXJp
Yy9pbml0cmQuc2NyaXB0cwkod29ya2luZyBjb3B5KQ0KQEAgLTM3LDkgKzM3LDkgQEANCiAKIG1v
ZHVsZXNfc2NhbigpIHsKIAlsb2NhbCBNT0RTCi0JWyAtZCAvZXRjL21vZHVsZXMvJHsxfSBdIHx8
IHRvdWNoIC9ldGMvbW9kdWxlcy8kezF9CisJWyAtZCAiL2V0Yy9tb2R1bGVzLyR7MX0iIF0gfHwg
dG91Y2ggL2V0Yy9tb2R1bGVzLyR7MX0KIAotCVsgLWYgL2V0Yy9tb2R1bGVzLyR7MX0gXSAmJiBN
T0RTPWBjYXQgL2V0Yy9tb2R1bGVzLyR7MX1gCisJWyAtZiAiL2V0Yy9tb2R1bGVzLyR7MX0iIF0g
JiYgTU9EUz1gY2F0IC9ldGMvbW9kdWxlcy8kezF9YAogCWZvciB4IGluICR7TU9EU30KIAlkbwog
CQlNTE9BRD1gZWNobyAke01MSVNUfSB8IHNlZCAtZSAicy8uKiR7eH0uKi8ke3h9LyJgCkBAIC02
Myw3ICs2MywxOSBAQA0KIAlkb25lCiB9CiAKLWZpbmRjZG1vdW50KCkgeworZmluZG1lZGlhbW91
bnQoKSB7CisJIyAkMSA9IG1vdW50IGRpciBuYW1lIC8gbWVkaWEgbmFtZQorCSMgJDIgPSByZWNv
Z25pdGlvbiBmaWxlCisJIyAkMyA9IHZhcmlhYmxlIHRvIGhhdmUgdGhlIGRldmljZSBwYXRoCisJ
IyBhcmdzIHJlbWFpbmluZyBhcmUgcG9zc2libGUgZGV2aWNlcyAKKworCWxvY2FsIG1lZGlhPSQx
CisJbG9jYWwgcmVjb249JDIKKwlsb2NhbCB2cmJsPSQzCisJc2hpZnQ7c2hpZnQ7c2hpZnQKKwor
CWdvb2RfbXNnICJMb29raW5nIGZvciB0aGUgJHttZWRpYX0iICR7Q1JZUFRfU0lMRU5UfQorCiAJ
aWYgWyAiJCMiIC1ndCAiMCIgXQogCXRoZW4KIAkJZm9yIHggaW4gJCoKQEAgLTcxLDc1ICs4Myw2
NCBAQA0KIAkJCSMgQ2hlY2sgZm9yIGEgYmxvY2sgZGV2aWNlIHRvIG1vdW50CiAJCQlpZiBbIC1i
ICIke3h9IiBdCiAJCQl0aGVuCi0JCQkJZ29vZF9tc2cgIkF0dGVtcHRpbmcgdG8gbW91bnQgbWVk
aWE6LSAke3h9IgotCQkJCWlmIFsgLXogIiR7Q0RST09UX0RFVn0iIF0KLQkJCQl0aGVuCi0JCQkJ
CW1vdW50IC1yIC10IGF1dG8gJHt4fSAke05FV19ST09UfS9tbnQvY2Ryb20gXAorCQkJCWdvb2Rf
bXNnICJBdHRlbXB0aW5nIHRvIG1vdW50IG1lZGlhOi0gJHt4fSIgJHtDUllQVF9TSUxFTlR9CisJ
CisJCQkJbW91bnQgLXIgLXQgYXV0byAke3h9ICR7TkVXX1JPT1R9L21udC8ke21lZGlhfSBcCiAJ
CQkJCQk+IC9kZXYvbnVsbCAyPiYxCi0JCQkJZWxzZQotCQkJCQltb3VudCAtciAtdCBpc285NjYw
ICR7eH0gJHtORVdfUk9PVH0vbW50L2Nkcm9tIFwKLQkJCQkJCT4gL2Rldi9udWxsIDI+JjEKLQkJ
CQlmaQorCQkJCQogCQkJCWlmIFsgIiQ/IiA9ICcwJyBdCiAJCQkJdGhlbgotCQkJCQkjIENoZWNr
IGZvciBhIExpdmVDRAotCQkJCQlpZiBbIC1mICR7TkVXX1JPT1R9L21udC9jZHJvbS8ke1NVQkRJ
Un0vbGl2ZWNkIF0KKwkJCQkJIyBDaGVjayBmb3IgdGhlIG1lZGlhCisJCQkJCWlmIFsgLWYgIiR7
TkVXX1JPT1R9L21udC8ke21lZGlhfS8ke3JlY29ufSIgXQogCQkJCQl0aGVuCi0JCQkJCQlSRUFM
X1JPT1Q9IiR7eH0iCisJCQkJCQkjc2V0IFJFQUxfUk9PVCwgQ1JZUFRfUk9PVF9LRVlERVYgb3Ig
d2hhdGV2ZXIgJHt2cmJsfSBpcworCQkJCQkJZXZhbCAke3ZyYmx9Jz0nIiR7eH0iCisJCQkJCQln
b29kX21zZyAiTWVkaWEgZm91bmQgb24gJHt4fSIgJHtDUllQVF9TSUxFTlR9CiAJCQkJCQlicmVh
awogCQkJCQllbHNlCi0JCQkJCQl1bW91bnQgJHtORVdfUk9PVH0vbW50L2Nkcm9tCisJCQkJCQl1
bW91bnQgJHtORVdfUk9PVH0vbW50LyR7bWVkaWF9CiAJCQkJCWZpCiAJCQkJZmkKIAkJCWZpCiAJ
CWRvbmUKLQkJaWYgWyAiJHtSRUFMX1JPT1R9IiAhPSAnJyBdCi0JCXRoZW4KLQkJCWdvb2RfbXNn
ICJNZWRpYSBmb3VuZCBvbiAke3h9IgotCQlmaQogCWZpCisKKwlldmFsIGxvY2FsIHJlc3VsdD0n
JCcke3ZyYmx9CisKKwlbIC1uICIke3Jlc3VsdH0iIF0gfHwgYmFkX21zZyAiTWVkaWEgbm90IGZv
dW5kIiAke0NSWVBUX1NJTEVOVH0KIH0KIAotZmluZGtleW1vdW50KCkgewotICAgICAgICBpZiBb
ICIkIyIgLWd0ICIwIiBdCi0gICAgICAgIHRoZW4KLSAgICAgICAgICAgICAgICBmb3IgeCBpbiAk
KgotICAgICAgICAgICAgICAgIGRvCi0gICAgICAgICAgICAgICAgICAgICAgICAjIENoZWNrIGZv
ciBhIGJsb2NrIGRldmljZSB0byBtb3VudAotICAgICAgICAgICAgICAgICAgICAgICAgaWYgWyAt
YiAiJHt4fSIgXQotICAgICAgICAgICAgICAgICAgICAgICAgdGhlbgotCQkJCWlmIFsgJHtjcnlw
dF9zaWxlbnR9ID0gJycgXQotCQkJCXRoZW4KLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvb2RfbXNnICJBdHRlbXB0aW5nIHRvIG1vdW50IGtleSBtZWRpYTotICR7eH0iCi0JCQkJ
ZmkKK2RldmljZWxpc3QoKXsKKwkjIExvY2F0ZSB0aGUgY2Ryb20gZGV2aWNlIHdpdGggb3VyIG1l
ZGlhIG9uIGl0LgorCSMgQ0RST00gREVWSUNFUworCWxvY2FsIERFVklDRVM9Ii9kZXYvY2Ryb21z
LyogL2Rldi9pZGUvY2QvKiAvZGV2L3NyKiIKKwkjIFVTQiBLZXljaGFpbi9TdG9yYWdlCisJREVW
SUNFUz0iJERFVklDRVMgL2Rldi9zZCoiCisJIyBJREUgZGV2aWNlcworCURFVklDRVM9IiRERVZJ
Q0VTIC9kZXYvaGQqIgorCSMgVVNCIHVzaW5nIHRoZSBVU0IgQmxvY2sgRHJpdmVyCisJREVWSUNF
Uz0iJERFVklDRVMgL2Rldi91YmQqIC9kZXYvdWJkLyoiCisJIyBpU2VyaWVzIGRldmljZXMKKwlE
RVZJQ0VTPSIkREVWSUNFUyAvZGV2L2lzZXJpZXMvdmNkKiIKKwllY2hvICR7REVWSUNFU30KK30K
IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VudCAtciAtdCBhdXRvICR7eH0g
JHtORVdfUk9PVH0vbW50L2tleWRldiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA+IC9kZXYvbnVsbCAyPiYxCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIFsgIiQ/IiA9ICcwJyBdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENoZWNr
IGZvciB0aGUga2V5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
WyAtZSAke05FV19ST09UfS9tbnQva2V5ZGV2LyR7TFVLU19ST09UX0tFWX0gXQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW4KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExVS1NfUk9PVF9LRVlERVY9IiR7eH0iCi0JCQkJ
CQl1bW91bnQgJHtORVdfUk9PVH0vbW50L2tleWRldgotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bW91bnQgJHtORVdfUk9PVH0vbW50L2tleWRldgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpCi0gICAgICAgICAgICAgICAgICAgICAgICBmaQotICAgICAgICAgICAgICAgIGRvbmUK
LSAgICAgICAgICAgICAgICBpZiBbICIke0xVS1NfUk9PVF9LRVlERVZ9IiAhPSAnJyBdCi0gICAg
ICAgICAgICAgICAgdGhlbgotCQkJaWYgWyAke2NyeXB0X3NpbGVudH0gPSAnJyBdCi0JCQl0aGVu
Ci0JICAgICAgICAgICAgICAgICAgICAgICAgZ29vZF9tc2cgIktleSBtZWRpYSBmb3VuZCBvbiAk
e3h9IgotCQkJZmkKLSAgICAgICAgICAgICAgICBmaQotICAgICAgICBmaQorYm9vdHN0cmFwQ0Qo
KSB7CisJCisJbG9jYWwgREVWSUNFUz1gZGV2aWNlbGlzdGAKKwkjIFRoZSBkZXZpY2Ugd2FzIHNw
ZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLiAgU2hvbGQgd2UgZXZlbiBiZSBkb2luZyBhCisJ
IyBzY2FuIGF0IHRoaXMgcG9pbnQ/ICBJIHRoaW5rIG5vdC4KKwlbIC1uICIke0NEUk9PVF9ERVZ9
IiBdICYmIERFVklDRVM9IiRERVZJQ0VTICR7Q0RST09UX0RFVn0iCisKKwlmaW5kbWVkaWFtb3Vu
dCAiY2Ryb20iICIke1NVQkRJUn0vbGl2ZWNkIiAiUkVBTF9ST09UIiAke0RFVklDRVN9CiB9CiAK
K2Jvb3RzdHJhcEtleSgpIHsKKwlsb2NhbCBLRVlERVZTPWBkZXZpY2VsaXN0YAogCisJZmluZG1l
ZGlhbW91bnQgImtleSIgIiR7Q1JZUFRfUk9PVF9LRVl9IiAiQ1JZUFRfUk9PVF9LRVlERVYiICR7
S0VZREVWU30KK30KKwogY2FjaGVfY2RfY29udGVudHMoKSB7CiAJIyBDaGVjayBsb29wIGZpbGUg
ZXhpc3RzIGFuZCBjYWNoZSB0byByYW1kaXNrIGlmIERPX2NhY2hlIGlzIGVuYWJsZWQKIAlpZiBb
ICIke0xPT1BUWVBFfSIgIT0gIm5vbG9vcCIgXSAmJiBbICIke0xPT1BUWVBFfSIgIT0gInNnaW1p
cHMiIF0KQEAgLTMyOCwyNSArMzI5LDc1IEBADQogCWZpCiB9CiAKLWdvb2RfbXNnKCkgeworCisj
IG1zZyBmdW5jdGlvbnMgYXJndW1lbnRzCisjICQxIHN0cmluZworIyAkMiBoaWRlIGZsYWcKKwor
Z29vZF9tc2coKSB7CQogCW1zZ19zdHJpbmc9JDEKIAltc2dfc3RyaW5nPSIke21zZ19zdHJpbmc6
LS4uLn0iCi0JZWNobyAtZSAiJHtHT09EfT4+JHtOT1JNQUx9JHtCT0xEfSAke21zZ19zdHJpbmd9
ICR7Tk9STUFMfSIKKwlbICIkMiIgIT0gMSBdICYmIGVjaG8gLWUgIiR7R09PRH0+PiR7Tk9STUFM
fSR7Qk9MRH0gJHttc2dfc3RyaW5nfSAke05PUk1BTH0iCiB9CiAKIGJhZF9tc2coKSB7CiAJbXNn
X3N0cmluZz0kMQogCW1zZ19zdHJpbmc9IiR7bXNnX3N0cmluZzotLi4ufSIKLQlzcGxhc2ggJ3Zl
cmJvc2UnID4gL2Rldi9udWxsICYKLQllY2hvIC1lICIke0JBRH0hISR7Tk9STUFMfSR7Qk9MRH0g
JHttc2dfc3RyaW5nfSAke05PUk1BTH0iCisJaWYgWyAiJDIiICE9IDEgXQorCXRoZW4KKwkJc3Bs
YXNoICd2ZXJib3NlJyA+IC9kZXYvbnVsbCAmCisJCWVjaG8gLWUgIiR7QkFEfSEhJHtOT1JNQUx9
JHtCT0xEfSAke21zZ19zdHJpbmd9ICR7Tk9STUFMfSIKKwlmaQogfSAKIAogd2Fybl9tc2coKSB7
CiAJbXNnX3N0cmluZz0kMQogCW1zZ19zdHJpbmc9IiR7bXNnX3N0cmluZzotLi4ufSIKLQllY2hv
IC1lICIke1dBUk59Kioke05PUk1BTH0ke0JPTER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9Igot
fSAKKwlbICIkMiIgIT0gMSBdICYmIGVjaG8gLWUgIiR7V0FSTn0qKiR7Tk9STUFMfSR7Qk9MRH0g
JHttc2dfc3RyaW5nfSAke05PUk1BTH0iCit9CiAKK2NyeXB0X2ZpbHRlcigpIHsKKwlpZiBbICR7
Q1JZUFRfU0lMRU5UfSAtZXEgMSBdCisJdGhlbgorCQlldmFsICQxID4vZGV2L251bGwgMj4vZGV2
L251bGwKKwllbHNlCisJCWV2YWwgJDEKKwlmaQorfQorCit3aGVyZWlzKCl7CisJIyAkMSA9IHZh
cmlhYmxlIHdob3NlIHZhbHVlIGlzIHRoZSBwYXRoIChleGFtcGxlczogIlJFQUxfUk9PVCIsICJM
VUtTX0tFWURFViIpCisJIyAkMiA9IGxhYmVsCisJIyAkMyA9IG9wdGlvbmFsIGV4cGxhbmF0aW9u
cyBmb3IgZmFpbHVyZQorCisJZXZhbCBsb2NhbCBvbGR2YWx1ZT0nJCckezF9CisKKwlbIFwoICQj
ICE9IDIgXCkgLWEgXCggJCMgIT0gMyBcKSBdICYmIFwKKwkJYmFkX21zZyAiQmFkIGludm9jYXRp
b24gb2YgZnVuY3Rpb24gd2hlcmVpcywgcGxlYXNlIGZpbGUgYSBidWcgXAorCQlyZXBvcnQgd2l0
aCB0aGlzIG1lc3NhZ2UiICYmIGV4aXQgMQorCVsgLW4gIiR7M30iIF0gJiYgbG9jYWwgZXhwbG50
PSIgb3IgOiAkezN9IiB8fCBsb2NhbCBleHBsbnQ9Ii4iCisJCisJYmFkX21zZyAiQ291bGQgbm90
IGZpbmQgdGhlICR7Mn0gaW4gJHtvbGR2YWx1ZX0ke2V4cGxudH0iCisJZWNobyAnICAgUGxlYXNl
IHNwZWNpZnkgYW5vdGhlciB2YWx1ZSBvcjogcHJlc3MgRW50ZXIgZm9yIHRoZSBzYW1lLCB0eXBl
ICJzaGVsbCIgZm9yIGEgc2hlbGwsIG9yICJxIiB0byBza2lwLi4uJworCWVjaG8gLW4gIiR7Mn0o
JHtvbGR2YWx1ZX0pIDo6ICIKKwlyZWFkICR7MX0KKwljYXNlIGBldmFsIGVjaG8gJyQnJHsxfWAg
aW4KKwkJJ3EnKQorCQkJZXZhbCAkezF9Jz0nJHtvbGR2YWx1ZX0KKwkJCXdhcm5fbXNnICJTa2lw
cGluZyBzdGVwLCB0aGlzIHdpbGwgbGlrZWx5IGNhdXNlIGEgYm9vdCBmYWlsdXJlLiIKKwkJCWJy
ZWFrCisJCQk7OworCQknc2hlbGwnKQorCQkJZXZhbCAkezF9Jz0nJHtvbGR2YWx1ZX0KKwkJCWVj
aG8gIlRvIGxlYXZlIGFuZCB0cnkgYWdhaW4ganVzdCBwcmVzcyA8Q3RybD4rRCIKKwkJCXJ1bl9z
aGVsbAorCQkJOzsKKwkJJycpCisJCQlldmFsICR7MX0nPScke29sZHZhbHVlfQorCQkJOzsKKwll
c2FjCit9CisKIGJpbmRfbW91bnRfZGV2KCkgewogCSMgYmluZC1tb3VudCAvZGV2LyBzbyB0aGF0
IGxvb3AgZGV2aWNlcyBjYW4gYmUgZm91bmQKIAltb3VudCAtbyBiaW5kICR7TkVXX1JPT1R9L2Rl
diAvZGV2CkBAIC0zNTQsMTQgKzQwNSwxNCBAQA0KIAogc3RhcnRfZGV2X21ncigpIHsKIAkjIENo
ZWNrIHVkZXYgaXMgYXZhaWxhYmxlLi4uCi0JaWYgWyAiJHtLVl8yXzZfT1JfR1JFQVRFUn0iIC1h
ICEgIiR7VVNFX1VERVZfTk9STUFMfSIgLWVxICcwJyBdCisJaWYgWyAiJHtLVl8yXzZfT1JfR1JF
QVRFUn0iIC1hICIke1VTRV9VREVWX05PUk1BTH0iICE9ICcwJyBdCiAJdGhlbgogCQlVU0VfVURF
Vl9OT1JNQUw9MQogCWVsc2UKIAkJVVNFX1VERVZfTk9STUFMPTAKIAlmaQogCi0JaWYgWyAiJHtV
U0VfVURFVl9OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VREVWX05PUk1BTH0iID0g
JzEnIF0KIAl0aGVuCiAJCWNkIC9zeXMKIAkJWyAiJHtET19zbG93dXNifSIgXSAmJiBzbGVlcCAx
MApAQCAtMzc4LDQyICs0MjksNiBAQA0KIAlmaQogfQogCi1ib290c3RyYXBDRCgpIHsKLQkjIExv
Y2F0ZSB0aGUgY2Ryb20gZGV2aWNlIHdpdGggb3VyIG1lZGlhIG9uIGl0LgotCSMgQ0RST00gREVW
SUNFUwotCURFVklDRVM9Ii9kZXYvY2Ryb21zLyogL2Rldi9pZGUvY2QvKiAvZGV2L3NyKiIKLQkj
IFVTQiBLZXljaGFpbi9TdG9yYWdlCi0JREVWSUNFUz0iJERFVklDRVMgL2Rldi9zZCoiCi0JIyBJ
REUgZGV2aWNlcwotCURFVklDRVM9IiRERVZJQ0VTIC9kZXYvaGQqIgotCSMgVVNCIHVzaW5nIHRo
ZSBVU0IgQmxvY2sgRHJpdmVyCi0JREVWSUNFUz0iJERFVklDRVMgL2Rldi91YmQqIC9kZXYvdWJk
LyoiCi0JIyBpU2VyaWVzIGRldmljZXMKLQlERVZJQ0VTPSIkREVWSUNFUyAvZGV2L2lzZXJpZXMv
dmNkKiIKLQkjIFRoZSBkZXZpY2Ugd2FzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLiAg
U2hvbGQgd2UgZXZlbiBiZSBkb2luZyBhCi0JIyBzY2FuIGF0IHRoaXMgcG9pbnQ/ICBJIHRoaW5r
IG5vdC4KLQlbIC1uICIke0NEUk9PVF9ERVZ9IiBdICYmIERFVklDRVM9IiRERVZJQ0VTICR7Q0RS
T09UX0RFVn0iCi0KLQlmaW5kY2Rtb3VudCAkREVWSUNFUwotfQotCi1ib290c3RyYXBLZXkoKSB7
Ci0gICAgICAgICMgTG9jYXRlIHRoZSBkZXZpY2Ugd2l0aCBvdXIga2V5IG9uIGl0LgotICAgICAg
ICAjIFVTQiBLZXljaGFpbi9TdG9yYWdlCi0gICAgICAgIEtFWURFVlM9Ii9kZXYvc2QqIgotICAg
ICAgICAjIENEUk9NIERFVklDRVMKLSAgICAgICAgS0VZREVWUz0iJHtLRVlERVZTfSAvZGV2L2Nk
cm9tcy8qIC9kZXYvaWRlL2NkLyogL2Rldi9zcioiCi0gICAgICAgICMgSURFIGRldmljZXMKLSAg
ICAgICAgS0VZREVWUz0iJHtLRVlERVZTfSAvZGV2L2hkKiIKLSAgICAgICAgIyBVU0IgdXNpbmcg
dGhlIFVTQiBCbG9jayBEcml2ZXIKLSAgICAgICAgS0VZREVWUz0iJHtLRVlERVZTfSAvZGV2L3Vi
ZCogL2Rldi91YmQvKiIKLSAgICAgICAgIyBpU2VyaWVzIGRldmljZXMKLSAgICAgICAgS0VZREVW
Uz0iJHtLRVlERVZzfSAvZGV2L2lzZXJpZXMvdmNkKiIKLQotICAgICAgICBmaW5ka2V5bW91bnQg
JHtLRVlERVZTfQotfQotCi0KIGNtZGxpbmVfaHdvcHRzKCkgewogCSMgU2NhbiBDTURMSU5FIGZv
ciBhbnkgImRvc2NzaSIgb3IgIm5vc2NzaSItdHlwZSBhcmd1bWVudHMKIAkKQEAgLTUxMCw3ICs1
MjUsNyBAQA0KIAogCQljaG9vc2VLZXltYXAKIAotCQlbICIke0RFVkJJTkR9IiAtZXEgJzEnIF0g
JiYgdW1vdW50IC9kZXYKKwkJWyAiJHtERVZCSU5EfSIgPSAnMScgXSAmJiB1bW91bnQgL2Rldgog
CQkKIAkJaWYgWyAtZSAvZXRjL3N5c2NvbmZpZy9rZXlib2FyZCAtYSAiJHtDRFJPT1R9IiAtZXEg
JzEnIF0KIAkJdGhlbgpAQCAtNjAyLDcgKzYxNyw3IEBADQogCQlsbiAtc2YgL2Rldi9kZXZpY2Ut
bWFwcGVyIC9kZXYvbWFwcGVyL2NvbnRyb2wKIAlmaQogCQotCWlmIFsgIiR7VVNFX0RNUkFJRF9O
T1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9ETVJBSURfTk9STUFMfSIgPSAnMScgXQog
CXRoZW4KIAkJaWYgWyAtZSAnL3NiaW4vZG1yYWlkJyBdCiAJCXRoZW4KQEAgLTYxNiw3ICs2MzEs
NyBAQA0KIAkJZmkKIAlmaQogCi0JaWYgWyAiJHtVU0VfTFZNMl9OT1JNQUx9IiAtZXEgJzEnIF0K
KwlpZiBbICIke1VTRV9MVk0yX05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCWlmIFsgLWUgJy9i
aW4vdmdzY2FuJyAtYSAtZSAnL2Jpbi92Z2NoYW5nZScgXQogCQl0aGVuCkBAIC02MzEsNyArNjQ2
LDcgQEANCiAJCQkvYmluL3ZnY2hhbmdlIC1heSAtLWlnbm9yZWxvY2tpbmdmYWlsdXJlIDI+L2Rl
di9udWxsCiAKIAkJCSMgRGlzYWJsZSBFVk1TIHNpbmNlIGx2bTIgaXMgYWN0aXZhdGVkIGFuZCB0
aGV5IGRvbnQgd29yayB0b2dldGhlci4KLQkJCWlmIFsgIiR7VVNFX0VWTVMyX05PUk1BTH0iIC1l
cSAnMScgXQorCQkJaWYgWyAiJHtVU0VfRVZNUzJfTk9STUFMfSIgPSAnMScgXQogCQkJdGhlbgog
CQkJCWJhZF9tc2cgIkRpc2FibGluZyBFVk1TIFN1cHBvcnQgYmVjYXVzZSBMVk0yIHN0YXJ0ZWQi
CiAJCQkJYmFkX21zZyAiRG8gbm90IGFkZCBkb2x2bTIgdG8gdGhlIGNtZGxpbmUgaWYgdGhpcyBp
cyBub3Qgd2hhdCB5b3Ugd2FudCIKQEAgLTY0Myw3ICs2NTgsNyBAQA0KIAkJZmkKIAlmaQogCi0J
aWYgWyAiJHtVU0VfRVZNUzJfTk9STUFMfSIgLWVxICcxJyBdCisJaWYgWyAiJHtVU0VfRVZNUzJf
Tk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJaWYgWyAtZSAnL3NiaW4vZXZtc19hY3RpdmF0ZScg
XQogCQl0aGVuCkBAIC02NTYsNTggKzY3MSwxMzAgQEANCiAjIE9wZW4gYSBMVUtTIGRldmljZQog
IyAkMSBMVUtTIGRldmljZQogIyAkMiBMVUtTIG5hbWUKKyMgJDMgTFVLUyBrZXkgKHJlbGF0aXZl
IHBhdGggb24gZGV2aWNlKQorIyAkNCBMVUtTIGtleWRldmljZSAoY29udGFpbmluZyB0aGUga2V5
KQogb3BlbkxVS1MoKSB7CiAJTFVLU19ERVZJQ0U9IiQxIgogCUxVS1NfTkFNRT0iJDIiCi0JaWYg
WyAtZSAvc2Jpbi9jcnlwdHNldHVwIF0KLQl0aGVuCi0JCXdoaWxlIFsgMSBdCi0JCWRvCi0JCQlp
ZiBbICIke0xVS1NfREVWSUNFfSIgPSAnJyBdCisJTFVLU19LRVk9IiQzIgorCUxVS1NfS0VZREVW
PSIkNCIKKwlsb2NhbCBERVZfRVJST1I9MDsgbG9jYWwgS0VZX0VSUk9SPTA7IGxvY2FsIEtFWURF
Vl9FUlJPUj0wCisJbG9jYWwgbW50a2V5PS9tbnQva2V5LzsgbG9jYWwgY3J5cHRzZXR1cF9vcHRp
b25zPScnCisKKwlbICEgLWUgL3NiaW4vY3J5cHRzZXR1cCBdICYmIGJhZF9tc2cgIlRoZSBpbml0
cmQgZG9lcyBub3Qgc3VwcG9ydCBMVUtTIiAmJiBleGl0IDEKKwl3aGlsZSBbIDEgXQorCWRvCisJ
CSMgaWYgY3J5cHRfc2lsZW50PTEgYW5kIHNvbWUgZXJyb3Igb2NjdXJzLCBlbnRlciBzaGVsbCBx
dWlldGx5CisJCWlmIFsgXCggJHtDUllQVF9TSUxFTlR9IC1lcSAxIFwpIC1hIFwoIFwoIFwoICR7
REVWX0VSUk9SfSAtZXEgMSBcKSAtbyBcKCAke0tFWV9FUlJPUn0gLWVxIDEgXCkgXCkgLW8gXCgg
JHtLRVlERVZfRVJST1J9IC1lcSAxIFwpIFwpIF0KKwkJdGhlbgorCQkJcnVuX3NoZWxsCisJCWVs
aWYgWyAke0RFVl9FUlJPUn0gLWVxIDEgXQorCQl0aGVuCisJCQl3aGVyZWlzICJMVUtTX0RFVklD
RSIgIiR7TFVLU19OQU1FfSIKKwkJCURFVl9FUlJPUj0wCisJCWVsaWYgWyAke0tFWV9FUlJPUn0g
LWVxIDEgXQorCQl0aGVuCisJCQl3aGVyZWlzICJMVUtTX0tFWSIgIiR7TFVLU19OQU1FfSBrZXki
CisJCQlLRVlfRVJST1I9MAorCQllbGlmIFsgJHtLRVlERVZfRVJST1J9IC1lcSAxIF0KKwkJdGhl
bgorCQkJd2hlcmVpcyAiTFVLU19LRVlERVYiICIke0xVS1NfTkFNRX0ga2V5IGRldmljZSIKKwkJ
CUtFWURFVl9FUlJPUj0wCisJCWVsc2UKKwkJCXNldHVwX21kX2RldmljZSAke0xVS1NfREVWSUNF
fQorCQkJY3J5cHRzZXR1cCBpc0x1a3MgJHtMVUtTX0RFVklDRX0KKwkJCWlmIFsgISAiJD8iIC1l
cSAnMCcgXQogCQkJdGhlbgotCQkJCSMgTFVLUyBkZXZpY2UgY291bGQgbm90IGJlIG9wZW5lZC4g
UHJvbXB0IHVzZXIgZm9yIGRldmljZS4KLQkJCQliYWRfbXNnICJUaGUgTFVLUyAke0xVS1NfTkFN
RX0gYmxvY2sgZGV2aWNlIGlzIG5vdCBkZXRlY3RlZC4iCi0JCQkJZWNobyAiICAgUGxlYXNlIHNw
ZWNpZnkgYSAke0xVS1NfTkFNRX0gTFVLUyBkZXZpY2UgdG8gb3BlbiwgInEiIHRvIHNraXAsIG9y
ICJzaGVsbCIgZm9yIGEgc2hlbGwuLi4iCi0JCQkJZWNobyAtbiAiTFVLUyAke0xVS1NfTkFNRX0o
KSA6OiAiCi0JCQkJcmVhZCBMVUtTX0RFVklDRQorCQkJCWJhZF9tc2cgIlRoZSBMVUtTIGRldmlj
ZSAke0xVS1NfREVWSUNFfSBkb2VzIG5vdCBjb250YWluIGEgTFVLUyBoZWFkZXIiICR7Q1JZUFRf
U0lMRU5UfQorCQkJCURFVl9FUlJPUj0xCiAJCQkJY29udGludWUKLQkJCWVsaWYgWyAiJHtMVUtT
X0RFVklDRX0iID0gJ3NoZWxsJyBdCi0JCQl0aGVuCi0JCQkJcnVuX3NoZWxsCi0JCQkJCi0JCQkJ
TFVLU19ERVZJQ0U9JycKLQkJCQljb250aW51ZQotCQkJZWxpZiBbICIke0xVS1NfREVWSUNFfSIg
PSAncScgXQotCQkJdGhlbgotCQkJCWJyZWFrCiAJCQllbHNlCi0JCQkJc2V0dXBfbWRfZGV2aWNl
ICR7TFVLU19ERVZJQ0V9Ci0JCQkJaWYgY3J5cHRzZXR1cCBpc0x1a3MgJHtMVUtTX0RFVklDRX0K
KwkJCQkjIEhhbmRsZSBrZXlzCisJCQkJaWYgWyAtbiAiJHtMVUtTX0tFWX0iIF0gCiAJCQkJdGhl
bgotCQkJCQlnb29kX21zZyAiT3BlbmluZyBMVUtTIGRldmljZSAke0xVS1NfREVWSUNFfSIKLQkJ
CQkJCi0JCQkJCWNyeXB0c2V0dXAgbHVrc09wZW4gJHtMVUtTX0RFVklDRX0gJHtMVUtTX05BTUV9
Ci0JCQkJCWlmIFsgISAiJD8iIC1lcSAnMCcgXQorCQkJCQlpZiBbICEgLWUgIiR7bW50a2V5fSR7
TFVLU19LRVl9IiBdIAogCQkJCQl0aGVuCi0JCQkJCQliYWRfbXNnICJGYWlsZWQgb3BlbiBMVUtT
IGRldmljZSAke0xVS1NfREVWSUNFfSIKLQkJCQkJZWxzZQotCQkJCQkJYnJlYWsKKwkJCQkJCWlm
IFsgLWIgIiR7TFVLU19LRVlERVZ9IiBdCisJCQkJCQl0aGVuIGdvb2RfbXNnICJVc2luZyBrZXkg
ZGV2aWNlICR7TFVLU19LRVlERVZ9LiIgJHtDUllQVF9TSUxFTlR9CisJCQkJCQllbHNlCisJCQkJ
CQkJZ29vZF9tc2cgIlBsZWFzZSBpbnNlcnQgcmVtb3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVW
fSBmb3IgJHtMVUtTX05BTUV9IiAke0NSWVBUX1NJTEVOVH0KKwkJCQkJCQkjIGFib3J0IGFmdGVy
IDEwIHNlY3MKKwkJCQkJCQlsb2NhbCBjb3VudD0xMAorCQkJCQkJCXdoaWxlIFsgJHtjb3VudH0g
LWd0IDAgXQorCQkJCQkJCWRvIAorCQkJCQkJCQljb3VudD0kKChjb3VudC0xKSkKKwkJCQkJCQkJ
c2xlZXAgMQorCQkJCQkJCQlpZiBbIC1iICIke0xVS1NfS0VZREVWfSIgXQorCQkJCQkJCQl0aGVu
CisJCQkJCQkJCQlnb29kX21zZyAiUmVtb3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBkZXRl
Y3RlZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCQkJYnJlYWsKKwkJCQkJCQkJZmkKKwkJCQkJ
CQlkb25lCisJCQkJCQkJaWYgWyAhIC1iICIke0xVS1NfS0VZREVWfSIgXQorCQkJCQkJCXRoZW4K
KwkJCQkJCQkJQ1JZUFRfUk9PVF9LRVk9JHtMVUtTX0tFWX0KKwkJCQkJCQkJYm9vdHN0cmFwS2V5
CisJCQkJCQkJCUxVS1NfS0VZREVWPSR7Q1JZUFRfUk9PVF9LRVlERVZ9CisJCQkJCQkJCWlmIFsg
ISAtYiAiJHtMVUtTX0tFWURFVn0iIF07IHRoZW4KKwkJCQkJCQkJCUtFWURFVl9FUlJPUj0xCisJ
CQkJCQkJCQliYWRfbXNnICJSZW1vdmFibGUgZGV2aWNlICR7TFVLU19LRVlERVZ9IG5vdCBmb3Vu
ZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCQkJY29udGludWUKKwkJCQkJCQkJZmkKKwkJCQkJ
CQlmaQorCQkJCQkJZmkKKwkJCQkJCSMgQXQgdGhpcyBwb2ludCBhIGRldmljZSB3YXMgcmVjb2du
aXplZCwgbm93IGxldCdzIHNlZSBpZiB0aGUga2V5IGlzIHRoZXJlCisJCQkJCQlbICEgLWQgIiRt
bnRrZXkiIF0gJiYgbWtkaXIgLXAgJHttbnRrZXl9IDI+L2Rldi9udWxsID4vZGV2L251bGwKKwor
CQkJCQkJbW91bnQgLW4gLW8gcm8gJHtMVUtTX0tFWURFVn0gJHttbnRrZXl9ID4vZGV2L251bGwg
Mj4vZGV2L251bGwKKwkJCQkJCWlmIFsgIiQ/IiAhPSAnMCcgXQorCQkJCQkJdGhlbgorCQkJCQkJ
CUtFWURFVl9FUlJPUj0xCisJCQkJCQkJYmFkX21zZyAiTW91bnRpbmcgb2YgZGV2aWNlICR7TFVL
U19LRVlERVZ9IGZhaWxlZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCWNvbnRpbnVlCisJCQkJ
CQllbHNlCisJCQkJCQkJZ29vZF9tc2cgIlJlbW92YWJsZSBkZXZpY2UgJHtMVUtTX0tFWURFVn0g
bW91bnRlZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCXNsZWVwIDIKKwkJCQkJCQkjIGtleWZp
bGUgZXhpc3RzPworCQkJCQkJCWlmIFsgISAtZSAiJHttbnRrZXl9JHtMVUtTX0tFWX0iIF07IHRo
ZW4KKwkJCQkJCQkJdW1vdW50IC1uICR7bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxsCisJ
CQkJCQkJCUtFWV9FUlJPUj0xCisJCQkJCQkJCUtFWURFVl9FUlJPUj0xCisJCQkJCQkJCWJhZF9t
c2cgIktleSB7TFVLU19LRVl9IG9uIGRldmljZSAke0xVS1NfS0VZREVWfSBub3QgZm91bmQuIiAk
e0NSWVBUX1NJTEVOVH0KKwkJCQkJCQkJY29udGludWUKKwkJCQkJCQlmaQorCQkJCQkJZmkKIAkJ
CQkJZmkKKwkJCQkJIyBBdCB0aGlzIHBvaW50IGEgY2FuZGlkYXRlIGtleSBleGlzdHMgKGVpdGhl
ciBtb3VudGVkIGJlZm9yZSBvciBub3QpCisJCQkJCWdvb2RfbXNnICIke0xVS1NfS0VZfSBvbiBk
ZXZpY2UgJHtMVUtTX0tFWURFVn0gZm91bmQiICR7Q1JZUFRfU0lMRU5UfQorCQkJCQljcnlwdHNl
dHVwX29wdGlvbnM9Ii1kICR7bW50a2V5fSR7TFVLU19LRVl9IgorCQkJCWZpCisJCQkJIyBBdCB0
aGlzIHBvaW50LCBrZXlmaWxlIG9yIG5vdCwgd2UncmUgcmVhZHkhCisJCQkJY3J5cHRfZmlsdGVy
ICJjcnlwdHNldHVwICR7Y3J5cHRzZXR1cF9vcHRpb25zfSBsdWtzT3BlbiAke0xVS1NfREVWSUNF
fSAke0xVS1NfTkFNRX0iCisJCQkJaWYgWyAkPyAtZXEgMCBdCisJCQkJdGhlbgorCQkJCQlnb29k
X21zZyAiTFVLUyBkZXZpY2UgJHtMVUtTX0RFVklDRX0gb3BlbmVkIiAke0NSWVBUX1NJTEVOVH0K
KwkJCQkJYnJlYWsKIAkJCQllbHNlCi0JCQkJCWJhZF9tc2cgIlRoZSBMVUtTIGRldmljZSAke0xV
S1NfREVWSUNFfSBkb2VzIG5vdCBjb250YWluIGEgTFVLUyBoZWFkZXIiCisJCQkJCWJhZF9tc2cg
IkZhaWxlZCB0byBvcGVuIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IiAke0NSWVBUX1NJTEVO
VH0KKwkJCQkJREVWX0VSUk9SPTEKIAkJCQlmaQogCQkJZmkKLQkJCUxVS1NfREVWSUNFPScnCi0J
CWRvbmUKLQllbHNlCi0JCWJhZF9tc2cgIlRoZSBpbml0cmQgZG9lcyBub3Qgc3VwcG9ydCBMVUtT
IgotCWZpCisJCWZpCisJZG9uZQorCXVtb3VudCAke21udGtleX0gMj4vZGV2L251bGwgPi9kZXYv
bnVsbAorCXJtZGlyICR7bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxsCiB9CiAKIHN0YXJ0
TFVLUygpIHsKLQlpZiBbIC1uICIke0xVS1NfUk9PVH0iIF0KKworCSMgaWYga2V5IGlzIHNldCBi
dXQga2V5IGRldmljZSBpc24ndCwgZmluZCBpdAorCQorCVsgLW4gIiR7Q1JZUFRfUk9PVH0iIF0g
JiYgWyAtbiAiJHtDUllQVF9ST09UX0tFWX0iIF0gJiYgWyAteiAiJHtDUllQVF9ST09UX0tFWURF
Vn0iIF0gXAorCQkmJiBib290c3RyYXBLZXkKKworCWlmIFsgLW4gIiR7Q1JZUFRfUk9PVH0iIF0K
IAl0aGVuCi0JCW9wZW5MVUtTICIke0xVS1NfUk9PVH0iICJyb290IiAKKwkJb3BlbkxVS1MgIiR7
Q1JZUFRfUk9PVH0iICJyb290IiAiJHtDUllQVF9ST09UX0tFWX0iICIke0NSWVBUX1JPT1RfS0VZ
REVWfSIKIAkJaWYgWyAtbiAiJHtSRUFMX1JPT1R9IiBdCiAJCXRoZW4KIAkJCSMgUmVzY2FuIHZv
bHVtZXMKQEAgLTcxNiwxMCArODAzLDE0IEBADQogCQkJUkVBTF9ST09UPSIvZGV2L21hcHBlci9y
b290IgogCQlmaQogCWZpCi0JaWYgWyAtbiAiJHtMVUtTX1NXQVB9IiBdCisJaWYgWyAtbiAiJHtD
UllQVF9TV0FQfSIgXQogCXRoZW4KLQkJb3BlbkxVS1MgIiR7TFVLU19TV0FQfSIgInN3YXAiIAot
CQlicmVhaworCQlvcGVuTFVLUyAiJHtDUllQVF9TV0FQfSIgInN3YXAiICIke0NSWVBUX1JPT1Rf
S0VZfSIgIiR7Q1JZUFRfUk9PVF9LRVlERVZ9IgorCQlpZiBbIC16ICIke1JFQUxfUkVTVU1FfSIg
XQorCQl0aGVuCisJCQkjIFJlc3VtZSBmcm9tIHN3YXAgYXMgZGVmYXVsdAorCQkJUkVBTF9SRVNV
TUU9Ii9kZXYvbWFwcGVyL3N3YXAiCisJCWZpCiAJZmkKIH0KIApAQCAtNzQ2LDcgKzgzNyw3IEBA
DQogCiAKIGNkdXBkYXRlKCkgewotCWlmIFsgIiR7Q0RST09UfSIgLWVxICcxJyBdCisJaWYgWyAi
JHtDRFJPT1R9IiA9ICcxJyBdCiAJdGhlbgogCQlpZiBbIC14IC8ke05FV19ST09UfS9tbnQvY2Ry
b20vY2R1cGRhdGUuc2ggXQogCQl0aGVuCkBAIC03OTIsNyArODgzLDcgQEANCiB9CiAKIHNldHVw
X3VuaW9uZnMoKSB7Ci0JaWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0KKwlp
ZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCSMgRGlyZWN0b3J5
IHVzZWQgZm9yIHJ3IGNoYW5nZXMgaW4gdW5pb24gbW91bnQgZmlsZXN5c3RlbQogCQlVTklPTj0v
dW5pb24KQEAgLTg0Nyw2ICs5MzgsMTUgQEANCiAJZmkKIH0KIAorCitzd3N1c3BfcmVzdW1lKCkg
eworIyMjIGRldGVybWluZSBzd2FwIHJlc3VtZSBwYXJ0aXRpb24KKwlsb2NhbCBkZXZpY2U9JChs
cyAtbCAiJHtSRUFMX1JFU1VNRX0iIHwgc2VkICdzL1wgKi8gL2cnIHwgY3V0IC1kIFwgIC1mIDYt
NyB8IHNlZCAncy8sXCAqLzovJykKKwlbIC1mIC9zeXMvcG93ZXIvcmVzdW1lIF0gJiYgZWNobyAi
JHtkZXZpY2V9IiA+IC9zeXMvcG93ZXIvcmVzdW1lCisJcmV0dXJuIDAKK30KKworCiBzdXNwZW5k
X3Jlc3VtZSgpIHsKIAlbIC14IC9zYmluL3Jlc3VtZSBdIHx8IHJldHVybiAwCiAJL3NiaW4vcmVz
dW1lCkluZGV4OiB0cnVuay9nZW5lcmljL2xpbnV4cmMNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSB0cnVuay9n
ZW5lcmljL2xpbnV4cmMJKHJldmlzaW9uIDUyNCkNCisrKyB0cnVuay9nZW5lcmljL2xpbnV4cmMJ
KHdvcmtpbmcgY29weSkNCkBAIC0xLDUgKzEsNSBAQA0KICMhL2Jpbi9zaAotIyBDb3B5cmlnaHQg
MjAwMy0yMDA2IEdlbnRvbyBGb3VuZGF0aW9uIAorIyBDb3B5cmlnaHQgMjAwMy0yMDA3IEdlbnRv
byBGb3VuZGF0aW9uIAogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyCiAKIC4gL2V0Yy9pbml0cmQuZGVmYXVsdHMKQEAgLTQ2
LDYgKzQ2LDcgQEANCiBSRUFMX1JPT1Q9JycKIEZBS0VfUk9PVD0nJwogUkVBTF9ST09URkxBR1M9
JycKK0NSWVBUX1NJTEVOVD0wCiBmb3IgeCBpbiAke0NNRExJTkV9CiBkbwogCWNhc2UgIiR7eH0i
IGluCkBAIC0xNzQsMTQgKzE3NSwyNiBAQA0KIAkJCU5GU1JPT1Q9YHBhcnNlX29wdCAiJHt4fSJg
CiAJCTs7CiAJCWNyeXB0X3Jvb3RcPSopCi0JCQlMVUtTX1JPT1Q9YHBhcnNlX29wdCAiJHt4fSJg
CisJCQlDUllQVF9ST09UPWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OwogCQljcnlwdF9zd2FwXD0q
KQotCQkJTFVLU19TV0FQPWBwYXJzZV9vcHQgIiR7eH0iYAorCQkJQ1JZUFRfU1dBUD1gcGFyc2Vf
b3B0ICIke3h9ImAKIAkJOzsKLQkJY3J5cHRfc2lsZW50XD0qKQotCQkJTFVLU19TSUxFTlQ9YHBh
cnNlX29wdCAiJHt4fSJgCisJCXJvb3Rfa2V5XD0qKQorCQkJQ1JZUFRfUk9PVF9LRVk9YHBhcnNl
X29wdCAiJHt4fSJgCiAJCTs7CisJCXJvb3Rfa2V5ZGV2XD0qKQorCQkJQ1JZUFRfUk9PVF9LRVlE
RVY9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7CisJCXJlYWxfcmVzdW1lXD0qKQorCQkJUkVBTF9S
RVNVTUU9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7CisJCW5vcmVzdW1lKQorCQkJTk9SRVNVTUU9
MQorCQk7OworCQljcnlwdF9zaWxlbnQpCisJCQlDUllQVF9TSUxFTlQ9MQorCQk7OwogCQlyZWFs
X3Jvb3RmbGFnc1w9KikKIAkJCVJFQUxfUk9PVEZMQUdTPWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7
OwpAQCAtMjAzLDcgKzIxNiw3IEBADQogdGhlbgogCWdvb2RfbXNnICdMb2FkaW5nIG1vZHVsZXMn
CiAJIyBMb2FkIGFwcHJvcHJpYXRlIGtlcm5lbCBtb2R1bGVzCi0JaWYgWyAiJHtOT0RFVEVDVH0i
IC1uZSAnMScgXQorCWlmIFsgIiR7Tk9ERVRFQ1R9IiAhPSAnMScgXQogCXRoZW4KIAkJZm9yIG1v
ZHVsZXMgaW4gJE1ZX0hXT1BUUwogCQlkbwpAQCAtMjM3LDcgKzI1MCw3IEBADQogc3RhcnRWb2x1
bWVzCiAKICMgSW5pdGlhbGl6ZSBMVUtTIHJvb3QgZGV2aWNlIGV4Y2VwdCBmb3IgbGl2ZWNkJ3MK
LWlmIFsgIiR7Q0RST09UfSIgLW5lICcxJyBdCitpZiBbICIke0NEUk9PVH0iICE9IDEgXQogdGhl
bgogCXN0YXJ0TFVLUwogZmkKQEAgLTI0Niw3ICsyNTksNyBAQA0KIG1rZGlyIC1wICR7TkVXX1JP
T1R9CiBzZXR1cF91bmlvbmZzCiAKLWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgLWVxICcx
JyBdCitpZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0iID0gJzEnIF0KIHRoZW4KIAlDSFJPT1Q9
JHtVTklPTn0KIGVsc2UKQEAgLTI1NiwxOCArMjY5LDIyIEBADQogIyBSdW4gZGVidWcgc2hlbGwg
aWYgcmVxdWVzdGVkCiBydW5kZWJ1Z3NoZWxsCiAKLXN1c3BlbmRfcmVzdW1lCi1zdXNwZW5kMl9y
ZXN1bWUKK2lmIFsgIiR7Tk9SRVNVTUV9IiAhPSAnMScgXQordGhlbgorCXN3c3VzcF9yZXN1bWUK
KwlzdXNwZW5kX3Jlc3VtZQorCXN1c3BlbmQyX3Jlc3VtZQorZmkKIAotaWYgWyAiJHtDRFJPT1R9
IiAtZXEgJzEnIF0KK2lmIFsgIiR7Q0RST09UfSIgPSAnMScgXQogdGhlbgotCWlmIFsgISAiJHtV
U0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VTklPTkZTX05PUk1B
TH0iICE9ICcxJyBdCiAJdGhlbgogCQlnb29kX21zZyAiTWFraW5nIHRtcGZzIGZvciAke05FV19S
T09UfSIKIAkJbW91bnQgLXQgdG1wZnMgdG1wZnMgJHtORVdfUk9PVH0KIAlmaQogCQotCWZvciBp
IGluIGRldiBtbnQgbW50L2Nkcm9tIG1udC9saXZlY2QgbW50L2tleWRldiB0bXAgdG1wLy5pbml0
cmQgbW50L2dlbnRvbyBzeXMKKwlmb3IgaSBpbiBkZXYgbW50IG1udC9jZHJvbSBtbnQvbGl2ZWNk
IG1udC9rZXkgdG1wIHRtcC8uaW5pdHJkIG1udC9nZW50b28gc3lzCiAJZG8KIAkJbWtkaXIgLXAg
JHtORVdfUk9PVH0vJGkKIAkJY2htb2QgNzU1ICR7TkVXX1JPT1R9LyRpCkBAIC0zNTgsMzEgKzM3
NSwxNyBAQA0KIAkJCQkJZ29vZF9tc2cgIkRldGVjdGVkIHJlYWxfcm9vdD0ke1JPT1RfREVWfSIK
IAkJCQkJUkVBTF9ST09UPSIke1JPT1RfREVWfSIKIAkJCQllbHNlCi0JCQkJCWJhZF9tc2cgIkNv
dWxkIG5vdCBmaW5kIHJvb3QgYmxvY2sgZGV2aWNlOiAke1JFQUxfUk9PVH0iCi0JCQkJCWVjaG8g
JyAgIFBsZWFzZSBzcGVjaWZ5IGEgZGV2aWNlIHRvIGJvb3QsIG9yICJzaGVsbCIgZm9yIGEgc2hl
bGwuLi4nCi0JCQkJCWVjaG8gLW4gJ2Jvb3QoKSA6OiAnCi0JCQkJCXJlYWQgUkVBTF9ST09UCisJ
CQkJCXdoZXJlaXMgIlJFQUxfUk9PVCIgInJvb3QgYmxvY2sgZGV2aWNlIgogCQkJCQlnb3RfZ29v
ZF9yb290PTAKIAkJCQkJY29udGludWUKIAkJCQlmaQogCQkJCTs7CiAJCWVzYWMKIAkJCQkKLQkJ
aWYgWyAiJHtSRUFMX1JPT1R9IiA9ICdzaGVsbCcgXQorCQlpZiBbICIke1JFQUxfUk9PVH0iID0g
JycgXQogCQl0aGVuCi0JCQlydW5fc2hlbGwKLQotCQkJUkVBTF9ST09UPScnCi0JCQlnb3RfZ29v
ZF9yb290PTAKLQkJCWNvbnRpbnVlCi0JCQotCQllbGlmIFsgIiR7UkVBTF9ST09UfSIgPSAnJyBd
Ci0JCXRoZW4KIAkJCSMgTm8gUkVBTF9ST09UIGRldGVybWluZWQvc3BlY2lmaWVkLiBQcm9tcHQg
dXNlciBmb3Igcm9vdCBibG9jayBkZXZpY2UuCi0JCQliYWRfbXNnICJUaGUgcm9vdCBibG9jayBk
ZXZpY2UgaXMgdW5zcGVjaWZpZWQgb3Igbm90IGRldGVjdGVkLiIKLQkJCWVjaG8gJyAgIFBsZWFz
ZSBzcGVjaWZ5IGEgZGV2aWNlIHRvIGJvb3QsIG9yICJzaGVsbCIgZm9yIGEgc2hlbGwuLi4nCi0J
CQllY2hvIC1uICdib290KCkgOjogJwotCQkJcmVhZCBSRUFMX1JPT1QKKwkJCXdoZXJlaXMgIlJF
QUxfUk9PVCIgInJvb3QgYmxvY2sgZGV2aWNlIgogCQkJZ290X2dvb2Rfcm9vdD0wCiAKIAkJIyBD
aGVjayBmb3IgYSBibG9jayBkZXZpY2Ugb3IgL2Rldi9uZnMKQEAgLTM5OCw3ICs0MDEsNyBAQA0K
IAlkb25lCiAKIAotCWlmIFsgIiR7Q0RST09UfSIgLWVxICcxJyAtYSAiJHtnb3RfZ29vZF9yb290
fSIgPSAnMScgLWEgIiR7UkVBTF9ST09UfSIgIT0gIi9kZXYvbmZzIiBdCisJaWYgWyAiJHtDRFJP
T1R9IiA9IDEgLWEgIiR7Z290X2dvb2Rfcm9vdH0iID0gJzEnIC1hICIke1JFQUxfUk9PVH0iICE9
ICIvZGV2L25mcyIgXQogCXRoZW4KIAkJIyBDRCBhbHJlYWR5IG1vdW50ZWQ7IG5vIGZ1cnRoZXIg
Y2hlY2tzIG5lY2Vzc2FyeQogCQlicmVhawpAQCAtNDQyLDcgKzQ0NSw3IEBADQogCiAjdmVyYm9z
ZV9rbXNnCiAKLSMgSWYgY2Ryb290IGlzIHNldCBkZXRlcm1pbmUgdGhlIGxvb3B0eXBlIHRvIGJv
b3QKKyMgSWYgY2Qgcm9vdCBpcyBzZXQgZGV0ZXJtaW5lIHRoZSBsb29wdHlwZSB0byBib290CiBp
ZiBbICIke0NEUk9PVH0iID0gJzEnIF0KIHRoZW4KIAlnb29kX21zZyAnRGV0ZXJtaW5pbmcgbG9v
cHR5cGUgLi4uJwpAQCAtNDk2LDI4ICs0OTksMTkgQEANCiAJZmkKIAogCWNhY2hlX2NkX2NvbnRl
bnRzCi0JCiAKICAgICAgICAgIyBJZiBlbmNyeXB0ZWQsIGZpbmQga2V5IGFuZCBtb3VudCwgb3Ro
ZXJ3aXNlIG1vdW50IGFzIHVzdWFsCi0JaWYgWyAiJHtMVUtTX1JPT1R9IiAhPSAnJyBdIAorCWlm
IFsgLW4gIiR7Q1JZUFRfUk9PVH0iIF0gCiAJdGhlbgotCQlpZiBbICIke0xVS1NfU0lMRU5UfSIg
PSAnJyBdCi0JCXRoZW4KLQkJCWdvb2RfbXNnICdZb3UgYm9vdGVkIGFuIGVuY3J5cHRlZCBsaXZl
Y2QnCi0JCWZpCisJCWdvb2RfbXNnICdZb3UgYm9vdGVkIGFuIGVuY3J5cHRlZCBsaXZlY2QnICR7
Q1JZUFRfU0lMRU5UfQogCi0JCUxVS1NfUk9PVF9LRVk9JChoZWFkIC1uIDEgJHtORVdfUk9PVH0v
bW50L2Nkcm9tL2xpdmVjZCkKLQotCQlpZiBbICIke0xVS1NfUk9PVF9LRVl9IiBdCi0JCXRoZW4K
LQkJCWJvb3RzdHJhcEtleQotCQlmaQorCQlDUllQVF9ST09UX0tFWT0kKGhlYWQgLW4gMSAke05F
V19ST09UfS9tbnQvY2Ryb20vbGl2ZWNkKQogCQkKIAkJbG9zZXR1cCAvZGV2L2xvb3AwICR7TkVX
X1JPT1R9L21udC9jZHJvbS8ke0xPT1BFWFR9JHtMT09QfQogCQkKIAkJdGVzdF9zdWNjZXNzICdQ
cmVwYXJpbmcgbG9vcCBmaWxlc3lzdGVtJwogCQkKLQkJTFVLU19ST09UPScvZGV2L2xvb3AwJwor
CQlDUllQVF9ST09UPScvZGV2L2xvb3AwJwogCQkKIAkJc3RhcnRMVUtTCiAJCQpAQCAtNjAyLDcg
KzU5Niw3IEBADQogIyBFbmQgY2Ryb20gbG9vcHR5cGUgZGV0ZXJtaW5hdGlvbiBhbmQgbW91bnRp
bmcgaWYgbmVjZXNzYXJ5CiAjCiAKLQlpZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0iIC1lcSAn
MScgXQorCWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJdW5p
b25faW5zZXJ0X2RpciAke1VOSU9OfSAke05FV19ST09UfS8ke0ZTX0xPQ0FUSU9OfQogCQkKQEAg
LTYyOCw3ICs2MjIsNyBAQA0KIAlmaQogCiAJCi0JaWYgWyAhICIke1VTRV9VTklPTkZTX05PUk1B
TH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgIT0gJzEnIF0KIAl0
aGVuCiAJCWdvb2RfbXNnICJDb3B5aW5nIHJlYWQtd3JpdGUgaW1hZ2UgY29udGVudHMgdG8gdG1w
ZnMiCiAJCSMgQ29weSBvdmVyIHN0dWZmIHRoYXQgc2hvdWxkIGJlIHdyaXRhYmxlCkBAIC02OTYs
NyArNjkwLDcgQEANCiAJCXNsZWVwIDEwCiAJZmkKIGVsc2UKLQlpZiBbICIke1VTRV9VTklPTkZT
X05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgPSAnMScg
XQogCXRoZW4KIAkJdW5pb25faW5zZXJ0X2RpciAke1VOSU9OfSAke05FV19ST09UfQogCQlta2Rp
ciAtcCAke1VOSU9OfS90bXAvLmluaXRyZApAQCAtNzE4LDcgKzcxMiw3IEBADQogIyBpbml0IHNj
cmlwdHMgd2lsbCBiZSBhYmxlIHRvIHVubW91bnQgaXQgcHJvcGVybHkgYXQgbmV4dCByZWJvb3QK
ICMKICMgRXZlbnR1YWxseSwgYWxsICJ1bmlvbnMgb3ZlciAvIiBtb3VudHMgc2hvdWxkIGdvIGlu
IHRoYXQgLy51bmlvbnMvCi1pZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0iIC1lcSAnMScgXQor
aWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiA9ICcxJyBdCiB0aGVuCiAJbWtkaXIgLXAgLyR7
Q0hST09UfS8udW5pb25zL21lbW9yeSAyPi9kZXYvbnVsbAogCW1vdW50IC1vIG1vdmUgL21lbW9y
eSAvJHtDSFJPT1R9Ly51bmlvbnMvbWVtb3J5IHx8IGVjaG8gJyo6IEZhaWxlZCB0byBtb3ZlIHVu
aW9uZnMgL21lbW9yeSBpbnRvIHRoZSBzeXN0ZW0gcm9vdCEnCkBAIC03MzgsMTIgKzczMiwxMiBA
QA0KIAlmaQogCWVjaG8gLW4gJy4nCiAKLQlpZiAvdG1wLy5pbml0cmQvYmluL1sgIiR7VVNFX0RF
VkZTX05PUk1BTH0iIC1lcSAnMScgLWEgIiR7Q0RST09UfSIgLWVxICcwJyBdCisJaWYgL3RtcC8u
aW5pdHJkL2Jpbi9bICIke1VTRV9ERVZGU19OT1JNQUx9IiA9ICcxJyAtYSAiJHtDRFJPT1R9IiA9
IDAgXQogCXRoZW4KIAkJdW1vdW50IC90bXAvLmluaXRyZC9wcm9jIHx8IGVjaG8gJyo6IEZhaWxl
ZCB0byB1bm1vdW50IHRoZSBpbml0cmQgL3Byb2MhJwogCQltb3VudCAtbiAtLW1vdmUgL3RtcC8u
aW5pdHJkL2RldiBkZXYgfHwgZWNobyAnKjogRmFpbGVkIHRvIG1vdmUgb3ZlciB0aGUgL2RldiB0
cmVlIScKIAkJcm0gLXJmIC90bXAvLmluaXRyZC9kZXYgfHwgZWNobyAnKjogRmFpbGVkIHRvIHJl
bW92ZSB0aGUgaW5pdHJkIC9kZXYhJwotCWVsaWYgL3RtcC8uaW5pdHJkL2Jpbi9bICIke1VTRV9V
REVWX05PUk1BTH0iIC1lcSAnMScgXQorCWVsaWYgL3RtcC8uaW5pdHJkL2Jpbi9bICIke1VTRV9V
REVWX05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCS90bXAvLmluaXRyZC9iaW4vWyAtZSAvdG1w
Ly5pbml0cmQvZGV2L2ZkIF0gJiYgcm0gL3RtcC8uaW5pdHJkL2Rldi9mZAogCQkvdG1wLy5pbml0
cmQvYmluL1sgLWUgL3RtcC8uaW5pdHJkL2Rldi9zdGRpbiBdICYmIHJtIC90bXAvLmluaXRyZC9k
ZXYvc3RkaW4KQEAgLTc1Myw3ICs3NDcsNyBAQA0KIAkJdW1vdW50IC90bXAvLmluaXRyZC9kZXYg
fHwgZWNobyAnKjogRmFpbGVkIHRvIHVubW91bnQgdGhlIGluaXRyZCAvZGV2IScKIAkJdW1vdW50
IC90bXAvLmluaXRyZC9wcm9jIHx8IGVjaG8gJyo6IEZhaWxlZCB0byB1bm1vdW50IHRoZSBpbml0
cmQgL3Byb2MhJwogCQl1bW91bnQgL3RtcC8uaW5pdHJkL3N5cyB8fCBlY2hvICcqOiBGYWlsZWQg
dG8gdW5tb3VudCB0aGUgaW5pdHJkIC9zeXMhJwotCWVsaWYgL3RtcC8uaW5pdHJkL2Jpbi9bICIk
e0NEUk9PVH0iIC1lcSAnMScgXQorCWVsaWYgL3RtcC8uaW5pdHJkL2Jpbi9bICIke0NEUk9PVH0i
IC1lcSAxIF0KIAl0aGVuCiAJCXVtb3VudCAvdG1wLy5pbml0cmQvcHJvYyB8fCBlY2hvICIqOiBG
YWlsZWQgdG8gdW5tb3VudCB0aGUgaW5pdHJkIC9wcm9jISIKIAkJdW1vdW50IC9kZXYgMj4vZGV2
L251bGwKSW5kZXg6IHRydW5rL2dlbmtlcm5lbC44DQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gdHJ1bmsvZ2Vu
a2VybmVsLjgJKHJldmlzaW9uIDUyNCkNCisrKyB0cnVuay9nZW5rZXJuZWwuOAkod29ya2luZyBj
b3B5KQ0KQEAgLTI2Niw2ICsyNjYsMjAgQEANCiBUaGlzIHNwZWNpZmllcyB0aGUgZGV2aWNlIGVu
Y3J5cHRlZCBieSBMdWtzLCB3aGljaCBjb250YWlucyB0aGUgcm9vdCAKIGZpbGVzeXN0ZW0gdG8g
bW91bnQuCiAuVFAKK1xmQmNyeXB0X3N3YXA9XGZSPC4uLj4KK1RoaXMgc3BlY2lmaWVzIHRoZSBz
d2FwIGRldmljZSBlbmNyeXB0ZWQgYnkgTHVrcy4KKy5UUAorXGZCcm9vdF9rZXk9XGZSPC4uLj4K
K0luIGNhc2UgeW91ciByb290IGFuZC9vciBzd2FwIGFyZSBlbmNyeXB0ZWQgd2l0aCBhIGJpbmFy
eSBrZXksIHlvdSBjYW4gdXNlIGEgZGV2aWNlIGxpa2UgYSB1c2IgcGVuIHRvIHN0b3JlIHRoZSBr
ZXkuIAorVGhpcyB2YWx1ZSBzaG91bGQgYmUgdGhlIGtleSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBt
b3VudCBwb2ludC4KKy5UUAorXGZCcm9vdF9rZXlkZXY9XGZSPC4uLj4KK0lmIG5lY2Vzc2FyeSBw
cm92aWRlIHRoZSBuYW1lIG9mIHRoZSBkZXZpY2UgdGhhdCBjYXJyaWVzIHRoZSByb290X2tleS4K
K0lmIHVuc2V0IHdoaWxlIHVzaW5nIHJvb3Rfa2V5LCBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgbG9v
ayBmb3IgdGhlIGRldmljZSBpbiBldmVyeSBib290LgorLlRQCitcZkJjcnlwdF9zaWxlbnRcZlIK
K1NldCB0aGlzIHRvIHNpbGVudCBhbGwgdGhlIG91dHB1dCByZWxhdGVkIHRvIHRoZSBjcnlwdG9n
cmFwaGljIHNvZnR3YXJlLCBhbmQgaW4gY2FzZSB5b3VyIGVuY3J5cHRlZCBkZXZpY2UgaXNuJ3Qg
b3BlbiB3aXRoIHRoZSBrZXksIGl0IG9wZW5zIGEgc2hlbGwgaW4gdGhlIGluaXRyZCBxdWlldGx5
LgorLlRQCiBcZkJkb2RtcmFpZD1cZlI8Li4uPgogUGFzc2VzIGFyZ3VtZW50cyB0byBkbXJhaWQg
b24gYm9vdHVwLgogLlRQCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128509</attachid>
            <date>2007-08-19 03:58 0000</date>
            <desc>genkernel_key_08.patch</desc>
            <filename>genkernel_key_08.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGdlbmtlcm5lbC90cnVuay9nZW5rZXJuZWwuOAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnZW5rZXJu
ZWwvdHJ1bmsvZ2Vua2VybmVsLjgJKHJldmlzaW9uIDUyNCkKKysrIGdlbmtlcm5lbC90cnVuay9n
ZW5rZXJuZWwuOAkod29ya2luZyBjb3B5KQpAQCAtMjY2LDYgKzI2NiwyNiBAQAogVGhpcyBzcGVj
aWZpZXMgdGhlIGRldmljZSBlbmNyeXB0ZWQgYnkgTHVrcywgd2hpY2ggY29udGFpbnMgdGhlIHJv
b3QgCiBmaWxlc3lzdGVtIHRvIG1vdW50LgogLlRQCitcZkJjcnlwdF9zd2FwPVxmUjwuLi4+CitU
aGlzIHNwZWNpZmllcyB0aGUgc3dhcCBkZXZpY2UgZW5jcnlwdGVkIGJ5IEx1a3MuCisuVFAKK1xm
QnJvb3Rfa2V5PVxmUjwuLi4+CitJbiBjYXNlIHlvdXIgcm9vdCBpcyBlbmNyeXB0ZWQgd2l0aCBh
IGtleSwgeW91IGNhbiB1c2UgYSBkZXZpY2UgbGlrZSBhIHVzYiBwZW4gdG8gc3RvcmUgdGhlIGtl
eS4gCitUaGlzIHZhbHVlIHNob3VsZCBiZSB0aGUga2V5IHBhdGggcmVsYXRpdmUgdG8gdGhlIG1v
dW50IHBvaW50LgorLlRQCitcZkJyb290X2tleWRldj1cZlI8Li4uPgorSWYgbmVjZXNzYXJ5IHBy
b3ZpZGUgdGhlIG5hbWUgb2YgdGhlIGRldmljZSB0aGF0IGNhcnJpZXMgdGhlIHJvb3Rfa2V5Lgor
SWYgdW5zZXQgd2hpbGUgdXNpbmcgcm9vdF9rZXksIGl0IHdpbGwgYXV0b21hdGljYWxseSBsb29r
IGZvciB0aGUgZGV2aWNlIGluIGV2ZXJ5IGJvb3QuCisuVFAKK1xmQnN3YXBfa2V5PVxmUjwuLi4+
CitTYW1lIGFzIHJvb3Rfa2V5IGZvciBzd2FwLgorLlRQCitcZkJzd2FwX2tleWRldj1cZlI8Li4u
PgorU2FtZSBhcyByb290X2tleWRldiBmb3Igc3dhcC4KKy5UUAorXGZCY3J5cHRfc2lsZW50XGZS
CitTZXQgdGhpcyB0byBzaWxlbnQgYWxsIHRoZSBvdXRwdXQgcmVsYXRlZCB0byB0aGUgY3J5cHRv
Z3JhcGhpYyBzb2Z0d2FyZSwgYW5kIGluIGNhc2UgeW91ciBlbmNyeXB0ZWQgZGV2aWNlIGlzbid0
IG9wZW4gd2l0aCB0aGUga2V5LCBpdCBvcGVucyBhIHNoZWxsIGluIHRoZSBpbml0cmQgcXVpZXRs
eS4KKy5UUAogXGZCZG9kbXJhaWQ9XGZSPC4uLj4KIFBhc3NlcyBhcmd1bWVudHMgdG8gZG1yYWlk
IG9uIGJvb3R1cC4KIC5UUApJbmRleDogZ2Vua2VybmVsL3RydW5rL2dlbmVyaWMvaW5pdHJkLnNj
cmlwdHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gZ2Vua2VybmVsL3RydW5rL2dlbmVyaWMvaW5pdHJkLnNjcmlw
dHMJKHJldmlzaW9uIDUyNCkKKysrIGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5zY3Jp
cHRzCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBACiAKIG1vZHVsZXNfc2NhbigpIHsK
IAlsb2NhbCBNT0RTCi0JWyAtZCAvZXRjL21vZHVsZXMvJHsxfSBdIHx8IHRvdWNoIC9ldGMvbW9k
dWxlcy8kezF9CisJWyAtZCAiL2V0Yy9tb2R1bGVzLyR7MX0iIF0gfHwgdG91Y2ggL2V0Yy9tb2R1
bGVzLyR7MX0KIAotCVsgLWYgL2V0Yy9tb2R1bGVzLyR7MX0gXSAmJiBNT0RTPWBjYXQgL2V0Yy9t
b2R1bGVzLyR7MX1gCisJWyAtZiAiL2V0Yy9tb2R1bGVzLyR7MX0iIF0gJiYgTU9EUz1gY2F0IC9l
dGMvbW9kdWxlcy8kezF9YAogCWZvciB4IGluICR7TU9EU30KIAlkbwogCQlNTE9BRD1gZWNobyAk
e01MSVNUfSB8IHNlZCAtZSAicy8uKiR7eH0uKi8ke3h9LyJgCkBAIC02Myw4MyArNjMsOTIgQEAK
IAlkb25lCiB9CiAKLWZpbmRjZG1vdW50KCkgewordXBwZXJjYXNlKCl7CisJIyBuZWVkcyB0ciBv
biBidXN5Ym94CisJZWNobyAkMSB8IHRyICdhLXonICdBLVonCit9CisKKworZmluZG1lZGlhbW91
bnQoKSB7CisJIyAkMSA9IG1vdW50IGRpciBuYW1lIC8gbWVkaWEgbmFtZQorCSMgJDIgPSByZWNv
Z25pdGlvbiBmaWxlCisJIyAkMyA9IHZhcmlhYmxlIHRvIGhhdmUgdGhlIGRldmljZSBwYXRoCisJ
IyAkNCA9IGRpcmVjdG9yeSBiZWZvcmUgL21udCwgZm9yIE5FV19ST09UCisJIyBhcmdzIHJlbWFp
bmluZyBhcmUgcG9zc2libGUgZGV2aWNlcyAKKworCWxvY2FsIG1lZGlhPSQxIHJlY29uPSQyIHZy
Ymw9JDMgbW50ZGlyPSIkezR9L21udC8ke21lZGlhfSIKKwlzaGlmdCA0CisKKwlnb29kX21zZyAi
TG9va2luZyBmb3IgdGhlICR7bWVkaWF9IiAke0NSWVBUX1NJTEVOVH0KKwogCWlmIFsgIiQjIiAt
Z3QgIjAiIF0KIAl0aGVuCisKKwkJWyAhIC1kICIke21udGRpcn0iIF0gJiYgbWtkaXIgLXAgJHtt
bnRkaXJ9IDI+L2Rldi9udWxsID4vZGV2L251bGwKKwogCQlmb3IgeCBpbiAkKgogCQlkbwogCQkJ
IyBDaGVjayBmb3IgYSBibG9jayBkZXZpY2UgdG8gbW91bnQKIAkJCWlmIFsgLWIgIiR7eH0iIF0K
IAkJCXRoZW4KLQkJCQlnb29kX21zZyAiQXR0ZW1wdGluZyB0byBtb3VudCBtZWRpYTotICR7eH0i
Ci0JCQkJaWYgWyAteiAiJHtDRFJPT1RfREVWfSIgXQotCQkJCXRoZW4KLQkJCQkJbW91bnQgLXIg
LXQgYXV0byAke3h9ICR7TkVXX1JPT1R9L21udC9jZHJvbSBcCisJCQkJZ29vZF9tc2cgIkF0dGVt
cHRpbmcgdG8gbW91bnQgbWVkaWE6LSAke3h9IiAke0NSWVBUX1NJTEVOVH0KKwkKKwkJCQltb3Vu
dCAtciAtdCBhdXRvICR7eH0gJHttbnRkaXJ9IFwKIAkJCQkJCT4gL2Rldi9udWxsIDI+JjEKLQkJ
CQllbHNlCi0JCQkJCW1vdW50IC1yIC10IGlzbzk2NjAgJHt4fSAke05FV19ST09UfS9tbnQvY2Ry
b20gXAotCQkJCQkJPiAvZGV2L251bGwgMj4mMQotCQkJCWZpCisJCQkJCiAJCQkJaWYgWyAiJD8i
ID0gJzAnIF0KIAkJCQl0aGVuCi0JCQkJCSMgQ2hlY2sgZm9yIGEgTGl2ZUNECi0JCQkJCWlmIFsg
LWYgJHtORVdfUk9PVH0vbW50L2Nkcm9tLyR7U1VCRElSfS9saXZlY2QgXQorCQkJCQkjIENoZWNr
IGZvciB0aGUgbWVkaWEKKwkJCQkJaWYgWyAtZiAiJHttbnRkaXJ9LyR7cmVjb259IiBdCiAJCQkJ
CXRoZW4KLQkJCQkJCVJFQUxfUk9PVD0iJHt4fSIKKwkJCQkJCSNzZXQgUkVBTF9ST09ULCBDUllQ
VF9ST09UX0tFWURFViBvciB3aGF0ZXZlciAke3ZyYmx9IGlzCisJCQkJCQlldmFsICR7dnJibH0n
PSciJHt4fSIKKwkJCQkJCWdvb2RfbXNnICJNZWRpYSBmb3VuZCBvbiAke3h9IiAke0NSWVBUX1NJ
TEVOVH0KIAkJCQkJCWJyZWFrCiAJCQkJCWVsc2UKLQkJCQkJCXVtb3VudCAke05FV19ST09UfS9t
bnQvY2Ryb20KKwkJCQkJCXVtb3VudCAke21udGRpcn0KIAkJCQkJZmkKIAkJCQlmaQogCQkJZmkK
IAkJZG9uZQotCQlpZiBbICIke1JFQUxfUk9PVH0iICE9ICcnIF0KLQkJdGhlbgotCQkJZ29vZF9t
c2cgIk1lZGlhIGZvdW5kIG9uICR7eH0iCi0JCWZpCiAJZmkKKworCWV2YWwgbG9jYWwgcmVzdWx0
PSckJyR7dnJibH0KKworCVsgLW4gIiR7cmVzdWx0fSIgXSB8fCBiYWRfbXNnICJNZWRpYSBub3Qg
Zm91bmQiICR7Q1JZUFRfU0lMRU5UfQogfQogCi1maW5ka2V5bW91bnQoKSB7Ci0gICAgICAgIGlm
IFsgIiQjIiAtZ3QgIjAiIF0KLSAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgIGZvciB4IGlu
ICQqCi0gICAgICAgICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sg
Zm9yIGEgYmxvY2sgZGV2aWNlIHRvIG1vdW50Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBb
IC1iICIke3h9IiBdCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGVuCi0JCQkJaWYgWyAke2Ny
eXB0X3NpbGVudH0gPSAnJyBdCi0JCQkJdGhlbgotCSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ29vZF9tc2cgIkF0dGVtcHRpbmcgdG8gbW91bnQga2V5IG1lZGlhOi0gJHt4fSIKLQkJ
CQlmaQorZGV2aWNlbGlzdCgpeworCSMgTG9jYXRlIHRoZSBjZHJvbSBkZXZpY2Ugd2l0aCBvdXIg
bWVkaWEgb24gaXQuCisJIyBDRFJPTSBERVZJQ0VTCisJbG9jYWwgREVWSUNFUz0iL2Rldi9jZHJv
bXMvKiAvZGV2L2lkZS9jZC8qIC9kZXYvc3IqIgorCSMgVVNCIEtleWNoYWluL1N0b3JhZ2UKKwlE
RVZJQ0VTPSIkREVWSUNFUyAvZGV2L3NkKiIKKwkjIElERSBkZXZpY2VzCisJREVWSUNFUz0iJERF
VklDRVMgL2Rldi9oZCoiCisJIyBVU0IgdXNpbmcgdGhlIFVTQiBCbG9jayBEcml2ZXIKKwlERVZJ
Q0VTPSIkREVWSUNFUyAvZGV2L3ViZCogL2Rldi91YmQvKiIKKwkjIGlTZXJpZXMgZGV2aWNlcwor
CURFVklDRVM9IiRERVZJQ0VTIC9kZXYvaXNlcmllcy92Y2QqIgorCWVjaG8gJHtERVZJQ0VTfQor
fQogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50IC1yIC10IGF1dG8gJHt4
fSAke05FV19ST09UfS9tbnQva2V5ZGV2IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID4gL2Rldi9udWxsIDI+JjEKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgWyAiJD8iID0gJzAnIF0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hl
Y2sgZm9yIHRoZSBrZXkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiBbIC1lICR7TkVXX1JPT1R9L21udC9rZXlkZXYvJHtMVUtTX1JPT1RfS0VZfSBdCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFVLU19ST09UX0tFWURFVj0iJHt4fSIKLQkJ
CQkJCXVtb3VudCAke05FV19ST09UfS9tbnQva2V5ZGV2Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVtb3VudCAke05FV19ST09UfS9tbnQva2V5ZGV2Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmkKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICAgICAgZG9u
ZQotICAgICAgICAgICAgICAgIGlmIFsgIiR7TFVLU19ST09UX0tFWURFVn0iICE9ICcnIF0KLSAg
ICAgICAgICAgICAgICB0aGVuCi0JCQlpZiBbICR7Y3J5cHRfc2lsZW50fSA9ICcnIF0KLQkJCXRo
ZW4KLQkgICAgICAgICAgICAgICAgICAgICAgICBnb29kX21zZyAiS2V5IG1lZGlhIGZvdW5kIG9u
ICR7eH0iCi0JCQlmaQotICAgICAgICAgICAgICAgIGZpCi0gICAgICAgIGZpCitib290c3RyYXBD
RCgpIHsKKwkKKwlsb2NhbCBERVZJQ0VTPWBkZXZpY2VsaXN0YAorCSMgVGhlIGRldmljZSB3YXMg
c3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUuICBTaG9sZCB3ZSBldmVuIGJlIGRvaW5nIGEK
KwkjIHNjYW4gYXQgdGhpcyBwb2ludD8gIEkgdGhpbmsgbm90LgorCVsgLW4gIiR7Q0RST09UX0RF
Vn0iIF0gJiYgREVWSUNFUz0iJERFVklDRVMgJHtDRFJPT1RfREVWfSIKKworCWZpbmRtZWRpYW1v
dW50ICJjZHJvbSIgIiR7U1VCRElSfS9saXZlY2QiICJSRUFMX1JPT1QiICIke05FV19ST09UfSIg
JHtERVZJQ0VTfQogfQogCitib290c3RyYXBLZXkoKSB7CisJbG9jYWwgS0VZREVWUz1gZGV2aWNl
bGlzdGAKIAorCWV2YWwgZmluZG1lZGlhbW91bnQgImtleSIgJyIke0NSWVBUXyckezF9J19LRVl9
IicgIkNSWVBUXyR7MX1fS0VZREVWIiAiIiAke0tFWURFVlN9Cit9CisKIGNhY2hlX2NkX2NvbnRl
bnRzKCkgewogCSMgQ2hlY2sgbG9vcCBmaWxlIGV4aXN0cyBhbmQgY2FjaGUgdG8gcmFtZGlzayBp
ZiBET19jYWNoZSBpcyBlbmFibGVkCiAJaWYgWyAiJHtMT09QVFlQRX0iICE9ICJub2xvb3AiIF0g
JiYgWyAiJHtMT09QVFlQRX0iICE9ICJzZ2ltaXBzIiBdCkBAIC0zMjgsMjUgKzMzNyw3NSBAQAog
CWZpCiB9CiAKLWdvb2RfbXNnKCkgeworCisjIG1zZyBmdW5jdGlvbnMgYXJndW1lbnRzCisjICQx
IHN0cmluZworIyAkMiBoaWRlIGZsYWcKKworZ29vZF9tc2coKSB7CQogCW1zZ19zdHJpbmc9JDEK
IAltc2dfc3RyaW5nPSIke21zZ19zdHJpbmc6LS4uLn0iCi0JZWNobyAtZSAiJHtHT09EfT4+JHtO
T1JNQUx9JHtCT0xEfSAke21zZ19zdHJpbmd9ICR7Tk9STUFMfSIKKwlbICIkMiIgIT0gMSBdICYm
IGVjaG8gLWUgIiR7R09PRH0+PiR7Tk9STUFMfSR7Qk9MRH0gJHttc2dfc3RyaW5nfSAke05PUk1B
TH0iCiB9CiAKIGJhZF9tc2coKSB7CiAJbXNnX3N0cmluZz0kMQogCW1zZ19zdHJpbmc9IiR7bXNn
X3N0cmluZzotLi4ufSIKLQlzcGxhc2ggJ3ZlcmJvc2UnID4gL2Rldi9udWxsICYKLQllY2hvIC1l
ICIke0JBRH0hISR7Tk9STUFMfSR7Qk9MRH0gJHttc2dfc3RyaW5nfSAke05PUk1BTH0iCisJaWYg
WyAiJDIiICE9IDEgXQorCXRoZW4KKwkJc3BsYXNoICd2ZXJib3NlJyA+IC9kZXYvbnVsbCAmCisJ
CWVjaG8gLWUgIiR7QkFEfSEhJHtOT1JNQUx9JHtCT0xEfSAke21zZ19zdHJpbmd9ICR7Tk9STUFM
fSIKKwlmaQogfSAKIAogd2Fybl9tc2coKSB7CiAJbXNnX3N0cmluZz0kMQogCW1zZ19zdHJpbmc9
IiR7bXNnX3N0cmluZzotLi4ufSIKLQllY2hvIC1lICIke1dBUk59Kioke05PUk1BTH0ke0JPTER9
ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9IgotfSAKKwlbICIkMiIgIT0gMSBdICYmIGVjaG8gLWUg
IiR7V0FSTn0qKiR7Tk9STUFMfSR7Qk9MRH0gJHttc2dfc3RyaW5nfSAke05PUk1BTH0iCit9CiAK
K2NyeXB0X2ZpbHRlcigpIHsKKwlpZiBbICR7Q1JZUFRfU0lMRU5UfSAtZXEgMSBdCisJdGhlbgor
CQlldmFsICQxID4vZGV2L251bGwgMj4vZGV2L251bGwKKwllbHNlCisJCWV2YWwgJDEKKwlmaQor
fQorCit3aGVyZWlzKCl7CisJIyAkMSA9IHZhcmlhYmxlIHdob3NlIHZhbHVlIGlzIHRoZSBwYXRo
IChleGFtcGxlczogIlJFQUxfUk9PVCIsICJMVUtTX0tFWURFViIpCisJIyAkMiA9IGxhYmVsCisJ
IyAkMyA9IG9wdGlvbmFsIGV4cGxhbmF0aW9ucyBmb3IgZmFpbHVyZQorCisJZXZhbCBsb2NhbCBv
bGR2YWx1ZT0nJCckezF9CisKKwlbIFwoICQjICE9IDIgXCkgLWEgXCggJCMgIT0gMyBcKSBdICYm
IFwKKwkJYmFkX21zZyAiQmFkIGludm9jYXRpb24gb2YgZnVuY3Rpb24gd2hlcmVpcywgcGxlYXNl
IGZpbGUgYSBidWcgXAorCQlyZXBvcnQgd2l0aCB0aGlzIG1lc3NhZ2UiICYmIGV4aXQgMQorCVsg
LW4gIiR7M30iIF0gJiYgbG9jYWwgZXhwbG50PSIgb3IgOiAkezN9IiB8fCBsb2NhbCBleHBsbnQ9
Ii4iCisJCisJYmFkX21zZyAiQ291bGQgbm90IGZpbmQgdGhlICR7Mn0gaW4gJHtvbGR2YWx1ZX0k
e2V4cGxudH0iCisJZWNobyAnICAgUGxlYXNlIHNwZWNpZnkgYW5vdGhlciB2YWx1ZSBvcjogcHJl
c3MgRW50ZXIgZm9yIHRoZSBzYW1lLCB0eXBlICJzaGVsbCIgZm9yIGEgc2hlbGwsIG9yICJxIiB0
byBza2lwLi4uJworCWVjaG8gLW4gIiR7Mn0oJHtvbGR2YWx1ZX0pIDo6ICIKKwlyZWFkICR7MX0K
KwljYXNlIGBldmFsIGVjaG8gJyQnJHsxfWAgaW4KKwkJJ3EnKQorCQkJZXZhbCAkezF9Jz0nJHtv
bGR2YWx1ZX0KKwkJCXdhcm5fbXNnICJTa2lwcGluZyBzdGVwLCB0aGlzIHdpbGwgbGlrZWx5IGNh
dXNlIGEgYm9vdCBmYWlsdXJlLiIKKwkJCWJyZWFrCisJCQk7OworCQknc2hlbGwnKQorCQkJZXZh
bCAkezF9Jz0nJHtvbGR2YWx1ZX0KKwkJCWVjaG8gIlRvIGxlYXZlIGFuZCB0cnkgYWdhaW4ganVz
dCBwcmVzcyA8Q3RybD4rRCIKKwkJCXJ1bl9zaGVsbAorCQkJOzsKKwkJJycpCisJCQlldmFsICR7
MX0nPScke29sZHZhbHVlfQorCQkJOzsKKwllc2FjCit9CisKIGJpbmRfbW91bnRfZGV2KCkgewog
CSMgYmluZC1tb3VudCAvZGV2LyBzbyB0aGF0IGxvb3AgZGV2aWNlcyBjYW4gYmUgZm91bmQKIAlt
b3VudCAtbyBiaW5kICR7TkVXX1JPT1R9L2RldiAvZGV2CkBAIC0zNTQsMTQgKzQxMywxNCBAQAog
CiBzdGFydF9kZXZfbWdyKCkgewogCSMgQ2hlY2sgdWRldiBpcyBhdmFpbGFibGUuLi4KLQlpZiBb
ICIke0tWXzJfNl9PUl9HUkVBVEVSfSIgLWEgISAiJHtVU0VfVURFVl9OT1JNQUx9IiAtZXEgJzAn
IF0KKwlpZiBbICIke0tWXzJfNl9PUl9HUkVBVEVSfSIgLWEgIiR7VVNFX1VERVZfTk9STUFMfSIg
IT0gJzAnIF0KIAl0aGVuCiAJCVVTRV9VREVWX05PUk1BTD0xCiAJZWxzZQogCQlVU0VfVURFVl9O
T1JNQUw9MAogCWZpCiAKLQlpZiBbICIke1VTRV9VREVWX05PUk1BTH0iIC1lcSAnMScgXQorCWlm
IFsgIiR7VVNFX1VERVZfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJY2QgL3N5cwogCQlbICIk
e0RPX3Nsb3d1c2J9IiBdICYmIHNsZWVwIDEwCkBAIC0zNzgsNDIgKzQzNyw2IEBACiAJZmkKIH0K
IAotYm9vdHN0cmFwQ0QoKSB7Ci0JIyBMb2NhdGUgdGhlIGNkcm9tIGRldmljZSB3aXRoIG91ciBt
ZWRpYSBvbiBpdC4KLQkjIENEUk9NIERFVklDRVMKLQlERVZJQ0VTPSIvZGV2L2Nkcm9tcy8qIC9k
ZXYvaWRlL2NkLyogL2Rldi9zcioiCi0JIyBVU0IgS2V5Y2hhaW4vU3RvcmFnZQotCURFVklDRVM9
IiRERVZJQ0VTIC9kZXYvc2QqIgotCSMgSURFIGRldmljZXMKLQlERVZJQ0VTPSIkREVWSUNFUyAv
ZGV2L2hkKiIKLQkjIFVTQiB1c2luZyB0aGUgVVNCIEJsb2NrIERyaXZlcgotCURFVklDRVM9IiRE
RVZJQ0VTIC9kZXYvdWJkKiAvZGV2L3ViZC8qIgotCSMgaVNlcmllcyBkZXZpY2VzCi0JREVWSUNF
Uz0iJERFVklDRVMgL2Rldi9pc2VyaWVzL3ZjZCoiCi0JIyBUaGUgZGV2aWNlIHdhcyBzcGVjaWZp
ZWQgb24gdGhlIGNvbW1hbmQgbGluZS4gIFNob2xkIHdlIGV2ZW4gYmUgZG9pbmcgYQotCSMgc2Nh
biBhdCB0aGlzIHBvaW50PyAgSSB0aGluayBub3QuCi0JWyAtbiAiJHtDRFJPT1RfREVWfSIgXSAm
JiBERVZJQ0VTPSIkREVWSUNFUyAke0NEUk9PVF9ERVZ9IgotCi0JZmluZGNkbW91bnQgJERFVklD
RVMKLX0KLQotYm9vdHN0cmFwS2V5KCkgewotICAgICAgICAjIExvY2F0ZSB0aGUgZGV2aWNlIHdp
dGggb3VyIGtleSBvbiBpdC4KLSAgICAgICAgIyBVU0IgS2V5Y2hhaW4vU3RvcmFnZQotICAgICAg
ICBLRVlERVZTPSIvZGV2L3NkKiIKLSAgICAgICAgIyBDRFJPTSBERVZJQ0VTCi0gICAgICAgIEtF
WURFVlM9IiR7S0VZREVWU30gL2Rldi9jZHJvbXMvKiAvZGV2L2lkZS9jZC8qIC9kZXYvc3IqIgot
ICAgICAgICAjIElERSBkZXZpY2VzCi0gICAgICAgIEtFWURFVlM9IiR7S0VZREVWU30gL2Rldi9o
ZCoiCi0gICAgICAgICMgVVNCIHVzaW5nIHRoZSBVU0IgQmxvY2sgRHJpdmVyCi0gICAgICAgIEtF
WURFVlM9IiR7S0VZREVWU30gL2Rldi91YmQqIC9kZXYvdWJkLyoiCi0gICAgICAgICMgaVNlcmll
cyBkZXZpY2VzCi0gICAgICAgIEtFWURFVlM9IiR7S0VZREVWc30gL2Rldi9pc2VyaWVzL3ZjZCoi
Ci0KLSAgICAgICAgZmluZGtleW1vdW50ICR7S0VZREVWU30KLX0KLQotCiBjbWRsaW5lX2h3b3B0
cygpIHsKIAkjIFNjYW4gQ01ETElORSBmb3IgYW55ICJkb3Njc2kiIG9yICJub3Njc2kiLXR5cGUg
YXJndW1lbnRzCiAJCkBAIC01MTAsNyArNTMzLDcgQEAKIAogCQljaG9vc2VLZXltYXAKIAotCQlb
ICIke0RFVkJJTkR9IiAtZXEgJzEnIF0gJiYgdW1vdW50IC9kZXYKKwkJWyAiJHtERVZCSU5EfSIg
PSAnMScgXSAmJiB1bW91bnQgL2RldgogCQkKIAkJaWYgWyAtZSAvZXRjL3N5c2NvbmZpZy9rZXli
b2FyZCAtYSAiJHtDRFJPT1R9IiAtZXEgJzEnIF0KIAkJdGhlbgpAQCAtNjAyLDcgKzYyNSw3IEBA
CiAJCWxuIC1zZiAvZGV2L2RldmljZS1tYXBwZXIgL2Rldi9tYXBwZXIvY29udHJvbAogCWZpCiAJ
Ci0JaWYgWyAiJHtVU0VfRE1SQUlEX05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX0RN
UkFJRF9OT1JNQUx9IiA9ICcxJyBdCiAJdGhlbgogCQlpZiBbIC1lICcvc2Jpbi9kbXJhaWQnIF0K
IAkJdGhlbgpAQCAtNjE2LDcgKzYzOSw3IEBACiAJCWZpCiAJZmkKIAotCWlmIFsgIiR7VVNFX0xW
TTJfTk9STUFMfSIgLWVxICcxJyBdCisJaWYgWyAiJHtVU0VfTFZNMl9OT1JNQUx9IiA9ICcxJyBd
CiAJdGhlbgogCQlpZiBbIC1lICcvYmluL3Znc2NhbicgLWEgLWUgJy9iaW4vdmdjaGFuZ2UnIF0K
IAkJdGhlbgpAQCAtNjMxLDcgKzY1NCw3IEBACiAJCQkvYmluL3ZnY2hhbmdlIC1heSAtLWlnbm9y
ZWxvY2tpbmdmYWlsdXJlIDI+L2Rldi9udWxsCiAKIAkJCSMgRGlzYWJsZSBFVk1TIHNpbmNlIGx2
bTIgaXMgYWN0aXZhdGVkIGFuZCB0aGV5IGRvbnQgd29yayB0b2dldGhlci4KLQkJCWlmIFsgIiR7
VVNFX0VWTVMyX05PUk1BTH0iIC1lcSAnMScgXQorCQkJaWYgWyAiJHtVU0VfRVZNUzJfTk9STUFM
fSIgPSAnMScgXQogCQkJdGhlbgogCQkJCWJhZF9tc2cgIkRpc2FibGluZyBFVk1TIFN1cHBvcnQg
YmVjYXVzZSBMVk0yIHN0YXJ0ZWQiCiAJCQkJYmFkX21zZyAiRG8gbm90IGFkZCBkb2x2bTIgdG8g
dGhlIGNtZGxpbmUgaWYgdGhpcyBpcyBub3Qgd2hhdCB5b3Ugd2FudCIKQEAgLTY0Myw3ICs2NjYs
NyBAQAogCQlmaQogCWZpCiAKLQlpZiBbICIke1VTRV9FVk1TMl9OT1JNQUx9IiAtZXEgJzEnIF0K
KwlpZiBbICIke1VTRV9FVk1TMl9OT1JNQUx9IiA9ICcxJyBdCiAJdGhlbgogCQlpZiBbIC1lICcv
c2Jpbi9ldm1zX2FjdGl2YXRlJyBdCiAJCXRoZW4KQEAgLTY1NCw2MCArNjc3LDEzOSBAQAogfQog
CiAjIE9wZW4gYSBMVUtTIGRldmljZQotIyAkMSBMVUtTIGRldmljZQotIyAkMiBMVUtTIG5hbWUK
KyMgSXQgaXMgZWl0aGVyIHRoZSByb290IG9yIGEgc3dhcCwgb3RoZXIgZGV2aWNlcyBhcmUgc3Vw
cG9ydGVkIGluIHRoZSBzY3JpcHRzIHByb3ZpZGVkIHdpdGggc3lzLWZzL2NyeXB0c2V0dXAtbHVr
cworIyAkMSAtIHJvb3Qvc3dhcAogb3BlbkxVS1MoKSB7Ci0JTFVLU19ERVZJQ0U9IiQxIgotCUxV
S1NfTkFNRT0iJDIiCi0JaWYgWyAtZSAvc2Jpbi9jcnlwdHNldHVwIF0KLQl0aGVuCi0JCXdoaWxl
IFsgMSBdCi0JCWRvCi0JCQlpZiBbICIke0xVS1NfREVWSUNFfSIgPSAnJyBdCisJIyBwbGVhc2Ug
dXNlICd0cicgYW5kIHRoaXMgbGluZSwgb3IgcmVtb3ZlIGl0CisJIyBldmFsIGxvY2FsIFRZUEU9
YHVwcGVyY2FzZSAkMWAKKworCWNhc2UgJDEgaW4KKwkJcm9vdCkKKwkJCWxvY2FsIFRZUEU9Uk9P
VAorCQkJOzsKKwkJc3dhcCkKKwkJCWxvY2FsIFRZUEU9U1dBUAorCQkJOzsKKwllc2FjCisKKwll
dmFsIGxvY2FsIExVS1NfREVWSUNFPSciJHtDUllQVF8nJHtUWVBFfSd9IicgTFVLU19OQU1FPSIk
MSIgTFVLU19LRVk9JyIke0NSWVBUXycke1RZUEV9J19LRVl9IicgTFVLU19LRVlERVY9JyIke0NS
WVBUXycke1RZUEV9J19LRVlERVZ9IicKKwlsb2NhbCBERVZfRVJST1I9MCBLRVlfRVJST1I9MCBL
RVlERVZfRVJST1I9MAorCWxvY2FsIG1udGtleT0iL21udC9rZXkvIiBjcnlwdHNldHVwX29wdGlv
bnM9JycKKworCVsgISAtZSAvc2Jpbi9jcnlwdHNldHVwIF0gJiYgYmFkX21zZyAiVGhlIGluaXRy
ZCBkb2VzIG5vdCBzdXBwb3J0IExVS1MiICYmIGV4aXQgMQorCXdoaWxlIFsgMSBdCisJZG8KKwkJ
IyBpZiBjcnlwdF9zaWxlbnQ9MSBhbmQgc29tZSBlcnJvciBvY2N1cnMsIGVudGVyIHNoZWxsIHF1
aWV0bHkKKwkJaWYgWyBcKCAke0NSWVBUX1NJTEVOVH0gLWVxIDEgXCkgLWEgXCggXCggXCggJHtE
RVZfRVJST1J9IC1lcSAxIFwpIC1vIFwoICR7S0VZX0VSUk9SfSAtZXEgMSBcKSBcKSAtbyBcKCAk
e0tFWURFVl9FUlJPUn0gLWVxIDEgXCkgXCkgXQorCQl0aGVuCisJCQlydW5fc2hlbGwKKwkJZWxp
ZiBbICR7REVWX0VSUk9SfSAtZXEgMSBdCisJCXRoZW4KKwkJCXdoZXJlaXMgIkxVS1NfREVWSUNF
IiAiJHtMVUtTX05BTUV9IgorCQkJREVWX0VSUk9SPTAKKwkJZWxpZiBbICR7S0VZX0VSUk9SfSAt
ZXEgMSBdCisJCXRoZW4KKwkJCXdoZXJlaXMgIkxVS1NfS0VZIiAiJHtMVUtTX05BTUV9IGtleSIK
KwkJCUtFWV9FUlJPUj0wCisJCWVsaWYgWyAke0tFWURFVl9FUlJPUn0gLWVxIDEgXQorCQl0aGVu
CisJCQl3aGVyZWlzICJMVUtTX0tFWURFViIgIiR7TFVLU19OQU1FfSBrZXkgZGV2aWNlIgorCQkJ
S0VZREVWX0VSUk9SPTAKKwkJZWxzZQorCQkJc2V0dXBfbWRfZGV2aWNlICR7TFVLU19ERVZJQ0V9
CisJCQljcnlwdHNldHVwIGlzTHVrcyAke0xVS1NfREVWSUNFfQorCQkJaWYgWyAhICIkPyIgLWVx
ICcwJyBdCiAJCQl0aGVuCi0JCQkJIyBMVUtTIGRldmljZSBjb3VsZCBub3QgYmUgb3BlbmVkLiBQ
cm9tcHQgdXNlciBmb3IgZGV2aWNlLgotCQkJCWJhZF9tc2cgIlRoZSBMVUtTICR7TFVLU19OQU1F
fSBibG9jayBkZXZpY2UgaXMgbm90IGRldGVjdGVkLiIKLQkJCQllY2hvICIgICBQbGVhc2Ugc3Bl
Y2lmeSBhICR7TFVLU19OQU1FfSBMVUtTIGRldmljZSB0byBvcGVuLCAicSIgdG8gc2tpcCwgb3Ig
InNoZWxsIiBmb3IgYSBzaGVsbC4uLiIKLQkJCQllY2hvIC1uICJMVUtTICR7TFVLU19OQU1FfSgp
IDo6ICIKLQkJCQlyZWFkIExVS1NfREVWSUNFCisJCQkJYmFkX21zZyAiVGhlIExVS1MgZGV2aWNl
ICR7TFVLU19ERVZJQ0V9IGRvZXMgbm90IGNvbnRhaW4gYSBMVUtTIGhlYWRlciIgJHtDUllQVF9T
SUxFTlR9CisJCQkJREVWX0VSUk9SPTEKIAkJCQljb250aW51ZQotCQkJZWxpZiBbICIke0xVS1Nf
REVWSUNFfSIgPSAnc2hlbGwnIF0KLQkJCXRoZW4KLQkJCQlydW5fc2hlbGwKLQkJCQkKLQkJCQlM
VUtTX0RFVklDRT0nJwotCQkJCWNvbnRpbnVlCi0JCQllbGlmIFsgIiR7TFVLU19ERVZJQ0V9IiA9
ICdxJyBdCi0JCQl0aGVuCi0JCQkJYnJlYWsKIAkJCWVsc2UKLQkJCQlzZXR1cF9tZF9kZXZpY2Ug
JHtMVUtTX0RFVklDRX0KLQkJCQlpZiBjcnlwdHNldHVwIGlzTHVrcyAke0xVS1NfREVWSUNFfQor
CQkJCSMgSGFuZGxlIGtleXMKKwkJCQlpZiBbIC1uICIke0xVS1NfS0VZfSIgXSAKIAkJCQl0aGVu
Ci0JCQkJCWdvb2RfbXNnICJPcGVuaW5nIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IgotCQkJ
CQkKLQkJCQkJY3J5cHRzZXR1cCBsdWtzT3BlbiAke0xVS1NfREVWSUNFfSAke0xVS1NfTkFNRX0K
LQkJCQkJaWYgWyAhICIkPyIgLWVxICcwJyBdCisJCQkJCWlmIFsgISAtZSAiJHttbnRrZXl9JHtM
VUtTX0tFWX0iIF0gCiAJCQkJCXRoZW4KLQkJCQkJCWJhZF9tc2cgIkZhaWxlZCBvcGVuIExVS1Mg
ZGV2aWNlICR7TFVLU19ERVZJQ0V9IgotCQkJCQllbHNlCi0JCQkJCQlicmVhaworCQkJCQkJaWYg
WyAtYiAiJHtMVUtTX0tFWURFVn0iIF0KKwkJCQkJCXRoZW4gZ29vZF9tc2cgIlVzaW5nIGtleSBk
ZXZpY2UgJHtMVUtTX0tFWURFVn0uIiAke0NSWVBUX1NJTEVOVH0KKwkJCQkJCWVsc2UKKwkJCQkJ
CQlnb29kX21zZyAiUGxlYXNlIGluc2VydCByZW1vdmFibGUgZGV2aWNlICR7TFVLU19LRVlERVZ9
IGZvciAke0xVS1NfTkFNRX0iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCSMgYWJvcnQgYWZ0ZXIg
MTAgc2VjcworCQkJCQkJCWxvY2FsIGNvdW50PTEwCisJCQkJCQkJd2hpbGUgWyAke2NvdW50fSAt
Z3QgMCBdCisJCQkJCQkJZG8gCisJCQkJCQkJCWNvdW50PSQoKGNvdW50LTEpKQorCQkJCQkJCQlz
bGVlcCAxCisJCQkJCQkJCWlmIFsgLWIgIiR7TFVLU19LRVlERVZ9IiBdCisJCQkJCQkJCXRoZW4K
KwkJCQkJCQkJCWdvb2RfbXNnICJSZW1vdmFibGUgZGV2aWNlICR7TFVLU19LRVlERVZ9IGRldGVj
dGVkLiIgJHtDUllQVF9TSUxFTlR9CisJCQkJCQkJCQlicmVhaworCQkJCQkJCQlmaQorCQkJCQkJ
CWRvbmUKKwkJCQkJCQlpZiBbICEgLWIgIiR7TFVLU19LRVlERVZ9IiBdCisJCQkJCQkJdGhlbgor
CQkJCQkJCQlldmFsIENSWVBUXyR7VFlQRX1fS0VZREVWPSR7TFVLU19LRVl9CisJCQkJCQkJCWJv
b3RzdHJhcEtleSAke1RZUEV9CisJCQkJCQkJCWV2YWwgTFVLU19LRVlERVY9JyIke0NSWVBUXyck
e1RZUEV9J19LRVlERVZ9IicKKwkJCQkJCQkJaWYgWyAhIC1iICIke0xVS1NfS0VZREVWfSIgXTsg
dGhlbgorCQkJCQkJCQkJS0VZREVWX0VSUk9SPTEKKwkJCQkJCQkJCWJhZF9tc2cgIlJlbW92YWJs
ZSBkZXZpY2UgJHtMVUtTX0tFWURFVn0gbm90IGZvdW5kLiIgJHtDUllQVF9TSUxFTlR9CisJCQkJ
CQkJCQljb250aW51ZQorCQkJCQkJCQlmaQorCQkJCQkJCWZpCisJCQkJCQlmaQorCQkJCQkJIyBB
dCB0aGlzIHBvaW50IGEgZGV2aWNlIHdhcyByZWNvZ25pemVkLCBub3cgbGV0J3Mgc2VlIGlmIHRo
ZSBrZXkgaXMgdGhlcmUKKwkJCQkJCVsgISAtZCAiJG1udGtleSIgXSAmJiBta2RpciAtcCAke21u
dGtleX0gMj4vZGV2L251bGwgPi9kZXYvbnVsbAorCisJCQkJCQltb3VudCAtbiAtbyBybyAke0xV
S1NfS0VZREVWfSAke21udGtleX0gPi9kZXYvbnVsbCAyPi9kZXYvbnVsbAorCQkJCQkJaWYgWyAi
JD8iICE9ICcwJyBdCisJCQkJCQl0aGVuCisJCQkJCQkJS0VZREVWX0VSUk9SPTEKKwkJCQkJCQli
YWRfbXNnICJNb3VudGluZyBvZiBkZXZpY2UgJHtMVUtTX0tFWURFVn0gZmFpbGVkLiIgJHtDUllQ
VF9TSUxFTlR9CisJCQkJCQkJY29udGludWUKKwkJCQkJCWVsc2UKKwkJCQkJCQlnb29kX21zZyAi
UmVtb3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBtb3VudGVkLiIgJHtDUllQVF9TSUxFTlR9
CisJCQkJCQkJc2xlZXAgMgorCQkJCQkJCSMga2V5ZmlsZSBleGlzdHM/CisJCQkJCQkJaWYgWyAh
IC1lICIke21udGtleX0ke0xVS1NfS0VZfSIgXTsgdGhlbgorCQkJCQkJCQl1bW91bnQgLW4gJHtt
bnRrZXl9IDI+L2Rldi9udWxsID4vZGV2L251bGwKKwkJCQkJCQkJS0VZX0VSUk9SPTEKKwkJCQkJ
CQkJS0VZREVWX0VSUk9SPTEKKwkJCQkJCQkJYmFkX21zZyAiS2V5IHtMVUtTX0tFWX0gb24gZGV2
aWNlICR7TFVLU19LRVlERVZ9IG5vdCBmb3VuZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCQlj
b250aW51ZQorCQkJCQkJCWZpCisJCQkJCQlmaQogCQkJCQlmaQorCQkJCQkjIEF0IHRoaXMgcG9p
bnQgYSBjYW5kaWRhdGUga2V5IGV4aXN0cyAoZWl0aGVyIG1vdW50ZWQgYmVmb3JlIG9yIG5vdCkK
KwkJCQkJZ29vZF9tc2cgIiR7TFVLU19LRVl9IG9uIGRldmljZSAke0xVS1NfS0VZREVWfSBmb3Vu
ZCIgJHtDUllQVF9TSUxFTlR9CisJCQkJCWNyeXB0c2V0dXBfb3B0aW9ucz0iLWQgJHttbnRrZXl9
JHtMVUtTX0tFWX0iCisJCQkJZmkKKwkJCQkjIEF0IHRoaXMgcG9pbnQsIGtleWZpbGUgb3Igbm90
LCB3ZSdyZSByZWFkeSEKKwkJCQljcnlwdF9maWx0ZXIgImNyeXB0c2V0dXAgJHtjcnlwdHNldHVw
X29wdGlvbnN9IGx1a3NPcGVuICR7TFVLU19ERVZJQ0V9ICR7TFVLU19OQU1FfSIKKwkJCQlpZiBb
ICQ/IC1lcSAwIF0KKwkJCQl0aGVuCisJCQkJCWdvb2RfbXNnICJMVUtTIGRldmljZSAke0xVS1Nf
REVWSUNFfSBvcGVuZWQiICR7Q1JZUFRfU0lMRU5UfQorCQkJCQlicmVhawogCQkJCWVsc2UKLQkJ
CQkJYmFkX21zZyAiVGhlIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IGRvZXMgbm90IGNvbnRh
aW4gYSBMVUtTIGhlYWRlciIKKwkJCQkJYmFkX21zZyAiRmFpbGVkIHRvIG9wZW4gTFVLUyBkZXZp
Y2UgJHtMVUtTX0RFVklDRX0iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQlERVZfRVJST1I9MQogCQkJ
CWZpCiAJCQlmaQotCQkJTFVLU19ERVZJQ0U9JycKLQkJZG9uZQotCWVsc2UKLQkJYmFkX21zZyAi
VGhlIGluaXRyZCBkb2VzIG5vdCBzdXBwb3J0IExVS1MiCi0JZmkKKwkJZmkKKwlkb25lCisJdW1v
dW50ICR7bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxsCisJcm1kaXIgLXAgJHttbnRrZXl9
IDI+L2Rldi9udWxsID4vZGV2L251bGwKIH0KIAogc3RhcnRMVUtTKCkgewotCWlmIFsgLW4gIiR7
TFVLU19ST09UfSIgXQorCisJIyBpZiBrZXkgaXMgc2V0IGJ1dCBrZXkgZGV2aWNlIGlzbid0LCBm
aW5kIGl0CisJCisJWyAtbiAiJHtDUllQVF9ST09UX0tFWX0iIF0gJiYgWyAteiAiJHtDUllQVF9S
T09UX0tFWURFVn0iIF0gXAorCQkmJiBzbGVlcCA2ICYmIGJvb3RzdHJhcEtleSAiUk9PVCIKKwor
CWlmIFsgLW4gIiR7Q1JZUFRfUk9PVH0iIF0KIAl0aGVuCi0JCW9wZW5MVUtTICIke0xVS1NfUk9P
VH0iICJyb290IiAKKwkJb3BlbkxVS1MgInJvb3QiCiAJCWlmIFsgLW4gIiR7UkVBTF9ST09UfSIg
XQogCQl0aGVuCiAJCQkjIFJlc2NhbiB2b2x1bWVzCkBAIC03MTYsMTAgKzgxOCwxOSBAQAogCQkJ
UkVBTF9ST09UPSIvZGV2L21hcHBlci9yb290IgogCQlmaQogCWZpCi0JaWYgWyAtbiAiJHtMVUtT
X1NXQVB9IiBdCisKKwkjIHNhbWUgZm9yIHN3YXAsIGJ1dCBubyBuZWVkIHRvIHNsZWVwIGlmIHJv
b3Qgd2FzIHVuZW5jcnlwdGVkCisJWyAtbiAiJHtDUllQVF9TV0FQX0tFWX0iIF0gJiYgWyAteiAi
JHtDUllQVF9TV0FQX0tFWURFVn0iIF0gXAorCQkmJiB7IFsgLXogIiR7Q1JZUFRfUk9PVH0iIF0g
JiYgc2xlZXAgNjsgYm9vdHN0cmFwS2V5ICJTV0FQIjsgfQorCisJaWYgWyAtbiAiJHtDUllQVF9T
V0FQfSIgXQogCXRoZW4KLQkJb3BlbkxVS1MgIiR7TFVLU19TV0FQfSIgInN3YXAiIAotCQlicmVh
aworCQlvcGVuTFVLUyAic3dhcCIKKwkJaWYgWyAteiAiJHtSRUFMX1JFU1VNRX0iIF0KKwkJdGhl
bgorCQkJIyBSZXN1bWUgZnJvbSBzd2FwIGFzIGRlZmF1bHQKKwkJCVJFQUxfUkVTVU1FPSIvZGV2
L21hcHBlci9zd2FwIgorCQlmaQogCWZpCiB9CiAKQEAgLTc0Niw3ICs4NTcsNyBAQAogCiAKIGNk
dXBkYXRlKCkgewotCWlmIFsgIiR7Q0RST09UfSIgLWVxICcxJyBdCisJaWYgWyAiJHtDRFJPT1R9
IiA9ICcxJyBdCiAJdGhlbgogCQlpZiBbIC14IC8ke05FV19ST09UfS9tbnQvY2Ryb20vY2R1cGRh
dGUuc2ggXQogCQl0aGVuCkBAIC03OTIsNyArOTAzLDcgQEAKIH0KIAogc2V0dXBfdW5pb25mcygp
IHsKLQlpZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNF
X1VOSU9ORlNfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJIyBEaXJlY3RvcnkgdXNlZCBmb3Ig
cncgY2hhbmdlcyBpbiB1bmlvbiBtb3VudCBmaWxlc3lzdGVtCiAJCVVOSU9OPS91bmlvbgpAQCAt
ODQ3LDYgKzk1OCwxNSBAQAogCWZpCiB9CiAKKworc3dzdXNwX3Jlc3VtZSgpIHsKKyMjIyBkZXRl
cm1pbmUgc3dhcCByZXN1bWUgcGFydGl0aW9uCisJbG9jYWwgZGV2aWNlPSQobHMgLWwgIiR7UkVB
TF9SRVNVTUV9IiB8IHNlZCAncy9cICovIC9nJyB8IGN1dCAtZCBcICAtZiA2LTcgfCBzZWQgJ3Mv
LFwgKi86LycpCisJWyAtZiAvc3lzL3Bvd2VyL3Jlc3VtZSBdICYmIGVjaG8gIiR7ZGV2aWNlfSIg
PiAvc3lzL3Bvd2VyL3Jlc3VtZQorCXJldHVybiAwCit9CisKKwogc3VzcGVuZF9yZXN1bWUoKSB7
CiAJWyAteCAvc2Jpbi9yZXN1bWUgXSB8fCByZXR1cm4gMAogCS9zYmluL3Jlc3VtZQpJbmRleDog
Z2Vua2VybmVsL3RydW5rL2dlbmVyaWMvbGludXhyYwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnZW5rZXJuZWwv
dHJ1bmsvZ2VuZXJpYy9saW51eHJjCShyZXZpc2lvbiA1MjQpCisrKyBnZW5rZXJuZWwvdHJ1bmsv
Z2VuZXJpYy9saW51eHJjCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogIyEvYmluL3No
Ci0jIENvcHlyaWdodCAyMDAzLTIwMDYgR2VudG9vIEZvdW5kYXRpb24gCisjIENvcHlyaWdodCAy
MDAzLTIwMDcgR2VudG9vIEZvdW5kYXRpb24gCiAjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIKIAogLiAvZXRjL2luaXRyZC5k
ZWZhdWx0cwpAQCAtNDYsNiArNDYsNyBAQAogUkVBTF9ST09UPScnCiBGQUtFX1JPT1Q9JycKIFJF
QUxfUk9PVEZMQUdTPScnCitDUllQVF9TSUxFTlQ9MAogZm9yIHggaW4gJHtDTURMSU5FfQogZG8K
IAljYXNlICIke3h9IiBpbgpAQCAtMTc0LDE0ICsxNzUsMzIgQEAKIAkJCU5GU1JPT1Q9YHBhcnNl
X29wdCAiJHt4fSJgCiAJCTs7CiAJCWNyeXB0X3Jvb3RcPSopCi0JCQlMVUtTX1JPT1Q9YHBhcnNl
X29wdCAiJHt4fSJgCisJCQlDUllQVF9ST09UPWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OwogCQlj
cnlwdF9zd2FwXD0qKQotCQkJTFVLU19TV0FQPWBwYXJzZV9vcHQgIiR7eH0iYAorCQkJQ1JZUFRf
U1dBUD1gcGFyc2Vfb3B0ICIke3h9ImAKIAkJOzsKLQkJY3J5cHRfc2lsZW50XD0qKQotCQkJTFVL
U19TSUxFTlQ9YHBhcnNlX29wdCAiJHt4fSJgCisJCXJvb3Rfa2V5XD0qKQorCQkJQ1JZUFRfUk9P
VF9LRVk9YHBhcnNlX29wdCAiJHt4fSJgCiAJCTs7CisJCXJvb3Rfa2V5ZGV2XD0qKQorCQkJQ1JZ
UFRfUk9PVF9LRVlERVY9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7CisJCXN3YXBfa2V5XD0qKQor
CQkJQ1JZUFRfU1dBUF9LRVk9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7CisJCXN3YXBfa2V5ZGV2
XD0qKQorCQkJQ1JZUFRfU1dBUF9LRVlERVY9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7CisJCXJl
YWxfcmVzdW1lXD0qKQorCQkJUkVBTF9SRVNVTUU9YHBhcnNlX29wdCAiJHt4fSJgCisJCTs7CisJ
CW5vcmVzdW1lKQorCQkJTk9SRVNVTUU9MQorCQk7OworCQljcnlwdF9zaWxlbnQpCisJCQlDUllQ
VF9TSUxFTlQ9MQorCQk7OwogCQlyZWFsX3Jvb3RmbGFnc1w9KikKIAkJCVJFQUxfUk9PVEZMQUdT
PWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OwpAQCAtMjAzLDcgKzIyMiw3IEBACiB0aGVuCiAJZ29v
ZF9tc2cgJ0xvYWRpbmcgbW9kdWxlcycKIAkjIExvYWQgYXBwcm9wcmlhdGUga2VybmVsIG1vZHVs
ZXMKLQlpZiBbICIke05PREVURUNUfSIgLW5lICcxJyBdCisJaWYgWyAiJHtOT0RFVEVDVH0iICE9
ICcxJyBdCiAJdGhlbgogCQlmb3IgbW9kdWxlcyBpbiAkTVlfSFdPUFRTCiAJCWRvCkBAIC0yMzcs
NyArMjU2LDcgQEAKIHN0YXJ0Vm9sdW1lcwogCiAjIEluaXRpYWxpemUgTFVLUyByb290IGRldmlj
ZSBleGNlcHQgZm9yIGxpdmVjZCdzCi1pZiBbICIke0NEUk9PVH0iIC1uZSAnMScgXQoraWYgWyAi
JHtDRFJPT1R9IiAhPSAxIF0KIHRoZW4KIAlzdGFydExVS1MKIGZpCkBAIC0yNDYsNyArMjY1LDcg
QEAKIG1rZGlyIC1wICR7TkVXX1JPT1R9CiBzZXR1cF91bmlvbmZzCiAKLWlmIFsgIiR7VVNFX1VO
SU9ORlNfTk9STUFMfSIgLWVxICcxJyBdCitpZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0iID0g
JzEnIF0KIHRoZW4KIAlDSFJPT1Q9JHtVTklPTn0KIGVsc2UKQEAgLTI1NiwxOCArMjc1LDIyIEBA
CiAjIFJ1biBkZWJ1ZyBzaGVsbCBpZiByZXF1ZXN0ZWQKIHJ1bmRlYnVnc2hlbGwKIAotc3VzcGVu
ZF9yZXN1bWUKLXN1c3BlbmQyX3Jlc3VtZQoraWYgWyAiJHtOT1JFU1VNRX0iICE9ICcxJyBdCit0
aGVuCisJc3dzdXNwX3Jlc3VtZQorCXN1c3BlbmRfcmVzdW1lCisJc3VzcGVuZDJfcmVzdW1lCitm
aQogCi1pZiBbICIke0NEUk9PVH0iIC1lcSAnMScgXQoraWYgWyAiJHtDRFJPT1R9IiA9ICcxJyBd
CiB0aGVuCi0JaWYgWyAhICIke1VTRV9VTklPTkZTX05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsg
IiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgIT0gJzEnIF0KIAl0aGVuCiAJCWdvb2RfbXNnICJNYWtp
bmcgdG1wZnMgZm9yICR7TkVXX1JPT1R9IgogCQltb3VudCAtdCB0bXBmcyB0bXBmcyAke05FV19S
T09UfQogCWZpCiAJCi0JZm9yIGkgaW4gZGV2IG1udCBtbnQvY2Ryb20gbW50L2xpdmVjZCBtbnQv
a2V5ZGV2IHRtcCB0bXAvLmluaXRyZCBtbnQvZ2VudG9vIHN5cworCWZvciBpIGluIGRldiBtbnQg
bW50L2Nkcm9tIG1udC9saXZlY2QgbW50L2tleSB0bXAgdG1wLy5pbml0cmQgbW50L2dlbnRvbyBz
eXMKIAlkbwogCQlta2RpciAtcCAke05FV19ST09UfS8kaQogCQljaG1vZCA3NTUgJHtORVdfUk9P
VH0vJGkKQEAgLTM1OCwzMSArMzgxLDE3IEBACiAJCQkJCWdvb2RfbXNnICJEZXRlY3RlZCByZWFs
X3Jvb3Q9JHtST09UX0RFVn0iCiAJCQkJCVJFQUxfUk9PVD0iJHtST09UX0RFVn0iCiAJCQkJZWxz
ZQotCQkJCQliYWRfbXNnICJDb3VsZCBub3QgZmluZCByb290IGJsb2NrIGRldmljZTogJHtSRUFM
X1JPT1R9IgotCQkJCQllY2hvICcgICBQbGVhc2Ugc3BlY2lmeSBhIGRldmljZSB0byBib290LCBv
ciAic2hlbGwiIGZvciBhIHNoZWxsLi4uJwotCQkJCQllY2hvIC1uICdib290KCkgOjogJwotCQkJ
CQlyZWFkIFJFQUxfUk9PVAorCQkJCQl3aGVyZWlzICJSRUFMX1JPT1QiICJyb290IGJsb2NrIGRl
dmljZSIKIAkJCQkJZ290X2dvb2Rfcm9vdD0wCiAJCQkJCWNvbnRpbnVlCiAJCQkJZmkKIAkJCQk7
OwogCQllc2FjCiAJCQkJCi0JCWlmIFsgIiR7UkVBTF9ST09UfSIgPSAnc2hlbGwnIF0KKwkJaWYg
WyAiJHtSRUFMX1JPT1R9IiA9ICcnIF0KIAkJdGhlbgotCQkJcnVuX3NoZWxsCi0KLQkJCVJFQUxf
Uk9PVD0nJwotCQkJZ290X2dvb2Rfcm9vdD0wCi0JCQljb250aW51ZQotCQkKLQkJZWxpZiBbICIk
e1JFQUxfUk9PVH0iID0gJycgXQotCQl0aGVuCiAJCQkjIE5vIFJFQUxfUk9PVCBkZXRlcm1pbmVk
L3NwZWNpZmllZC4gUHJvbXB0IHVzZXIgZm9yIHJvb3QgYmxvY2sgZGV2aWNlLgotCQkJYmFkX21z
ZyAiVGhlIHJvb3QgYmxvY2sgZGV2aWNlIGlzIHVuc3BlY2lmaWVkIG9yIG5vdCBkZXRlY3RlZC4i
Ci0JCQllY2hvICcgICBQbGVhc2Ugc3BlY2lmeSBhIGRldmljZSB0byBib290LCBvciAic2hlbGwi
IGZvciBhIHNoZWxsLi4uJwotCQkJZWNobyAtbiAnYm9vdCgpIDo6ICcKLQkJCXJlYWQgUkVBTF9S
T09UCisJCQl3aGVyZWlzICJSRUFMX1JPT1QiICJyb290IGJsb2NrIGRldmljZSIKIAkJCWdvdF9n
b29kX3Jvb3Q9MAogCiAJCSMgQ2hlY2sgZm9yIGEgYmxvY2sgZGV2aWNlIG9yIC9kZXYvbmZzCkBA
IC0zOTgsNyArNDA3LDcgQEAKIAlkb25lCiAKIAotCWlmIFsgIiR7Q0RST09UfSIgLWVxICcxJyAt
YSAiJHtnb3RfZ29vZF9yb290fSIgPSAnMScgLWEgIiR7UkVBTF9ST09UfSIgIT0gIi9kZXYvbmZz
IiBdCisJaWYgWyAiJHtDRFJPT1R9IiA9IDEgLWEgIiR7Z290X2dvb2Rfcm9vdH0iID0gJzEnIC1h
ICIke1JFQUxfUk9PVH0iICE9ICIvZGV2L25mcyIgXQogCXRoZW4KIAkJIyBDRCBhbHJlYWR5IG1v
dW50ZWQ7IG5vIGZ1cnRoZXIgY2hlY2tzIG5lY2Vzc2FyeQogCQlicmVhawpAQCAtNDQyLDcgKzQ1
MSw3IEBACiAKICN2ZXJib3NlX2ttc2cKIAotIyBJZiBjZHJvb3QgaXMgc2V0IGRldGVybWluZSB0
aGUgbG9vcHR5cGUgdG8gYm9vdAorIyBJZiBjZCByb290IGlzIHNldCBkZXRlcm1pbmUgdGhlIGxv
b3B0eXBlIHRvIGJvb3QKIGlmIFsgIiR7Q0RST09UfSIgPSAnMScgXQogdGhlbgogCWdvb2RfbXNn
ICdEZXRlcm1pbmluZyBsb29wdHlwZSAuLi4nCkBAIC00OTYsMjggKzUwNSwxOSBAQAogCWZpCiAK
IAljYWNoZV9jZF9jb250ZW50cwotCQogCiAgICAgICAgICMgSWYgZW5jcnlwdGVkLCBmaW5kIGtl
eSBhbmQgbW91bnQsIG90aGVyd2lzZSBtb3VudCBhcyB1c3VhbAotCWlmIFsgIiR7TFVLU19ST09U
fSIgIT0gJycgXSAKKwlpZiBbIC1uICIke0NSWVBUX1JPT1R9IiBdIAogCXRoZW4KLQkJaWYgWyAi
JHtMVUtTX1NJTEVOVH0iID0gJycgXQotCQl0aGVuCi0JCQlnb29kX21zZyAnWW91IGJvb3RlZCBh
biBlbmNyeXB0ZWQgbGl2ZWNkJwotCQlmaQorCQlnb29kX21zZyAnWW91IGJvb3RlZCBhbiBlbmNy
eXB0ZWQgbGl2ZWNkJyAke0NSWVBUX1NJTEVOVH0KIAotCQlMVUtTX1JPT1RfS0VZPSQoaGVhZCAt
biAxICR7TkVXX1JPT1R9L21udC9jZHJvbS9saXZlY2QpCi0KLQkJaWYgWyAiJHtMVUtTX1JPT1Rf
S0VZfSIgXQotCQl0aGVuCi0JCQlib290c3RyYXBLZXkKLQkJZmkKKwkJQ1JZUFRfUk9PVF9LRVk9
JChoZWFkIC1uIDEgJHtORVdfUk9PVH0vbW50L2Nkcm9tL2xpdmVjZCkKIAkJCiAJCWxvc2V0dXAg
L2Rldi9sb29wMCAke05FV19ST09UfS9tbnQvY2Ryb20vJHtMT09QRVhUfSR7TE9PUH0KIAkJCiAJ
CXRlc3Rfc3VjY2VzcyAnUHJlcGFyaW5nIGxvb3AgZmlsZXN5c3RlbScKIAkJCi0JCUxVS1NfUk9P
VD0nL2Rldi9sb29wMCcKKwkJQ1JZUFRfUk9PVD0nL2Rldi9sb29wMCcKIAkJCiAJCXN0YXJ0TFVL
UwogCQkKQEAgLTYwMiw3ICs2MDIsNyBAQAogIyBFbmQgY2Ryb20gbG9vcHR5cGUgZGV0ZXJtaW5h
dGlvbiBhbmQgbW91bnRpbmcgaWYgbmVjZXNzYXJ5CiAjCiAKLQlpZiBbICIke1VTRV9VTklPTkZT
X05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgPSAnMScg
XQogCXRoZW4KIAkJdW5pb25faW5zZXJ0X2RpciAke1VOSU9OfSAke05FV19ST09UfS8ke0ZTX0xP
Q0FUSU9OfQogCQkKQEAgLTYyOCw3ICs2MjgsNyBAQAogCWZpCiAKIAkKLQlpZiBbICEgIiR7VVNF
X1VOSU9ORlNfTk9STUFMfSIgLWVxICcxJyBdCisJaWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9
IiAhPSAnMScgXQogCXRoZW4KIAkJZ29vZF9tc2cgIkNvcHlpbmcgcmVhZC13cml0ZSBpbWFnZSBj
b250ZW50cyB0byB0bXBmcyIKIAkJIyBDb3B5IG92ZXIgc3R1ZmYgdGhhdCBzaG91bGQgYmUgd3Jp
dGFibGUKQEAgLTY5Niw3ICs2OTYsNyBAQAogCQlzbGVlcCAxMAogCWZpCiBlbHNlCi0JaWYgWyAi
JHtVU0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VTklPTkZTX05P
Uk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCXVuaW9uX2luc2VydF9kaXIgJHtVTklPTn0gJHtORVdf
Uk9PVH0KIAkJbWtkaXIgLXAgJHtVTklPTn0vdG1wLy5pbml0cmQKQEAgLTcxOCw3ICs3MTgsNyBA
QAogIyBpbml0IHNjcmlwdHMgd2lsbCBiZSBhYmxlIHRvIHVubW91bnQgaXQgcHJvcGVybHkgYXQg
bmV4dCByZWJvb3QKICMKICMgRXZlbnR1YWxseSwgYWxsICJ1bmlvbnMgb3ZlciAvIiBtb3VudHMg
c2hvdWxkIGdvIGluIHRoYXQgLy51bmlvbnMvCi1pZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0i
IC1lcSAnMScgXQoraWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiA9ICcxJyBdCiB0aGVuCiAJ
bWtkaXIgLXAgLyR7Q0hST09UfS8udW5pb25zL21lbW9yeSAyPi9kZXYvbnVsbAogCW1vdW50IC1v
IG1vdmUgL21lbW9yeSAvJHtDSFJPT1R9Ly51bmlvbnMvbWVtb3J5IHx8IGVjaG8gJyo6IEZhaWxl
ZCB0byBtb3ZlIHVuaW9uZnMgL21lbW9yeSBpbnRvIHRoZSBzeXN0ZW0gcm9vdCEnCkBAIC03Mzgs
MTIgKzczOCwxMiBAQAogCWZpCiAJZWNobyAtbiAnLicKIAotCWlmIC90bXAvLmluaXRyZC9iaW4v
WyAiJHtVU0VfREVWRlNfTk9STUFMfSIgLWVxICcxJyAtYSAiJHtDRFJPT1R9IiAtZXEgJzAnIF0K
KwlpZiAvdG1wLy5pbml0cmQvYmluL1sgIiR7VVNFX0RFVkZTX05PUk1BTH0iID0gJzEnIC1hICIk
e0NEUk9PVH0iID0gMCBdCiAJdGhlbgogCQl1bW91bnQgL3RtcC8uaW5pdHJkL3Byb2MgfHwgZWNo
byAnKjogRmFpbGVkIHRvIHVubW91bnQgdGhlIGluaXRyZCAvcHJvYyEnCiAJCW1vdW50IC1uIC0t
bW92ZSAvdG1wLy5pbml0cmQvZGV2IGRldiB8fCBlY2hvICcqOiBGYWlsZWQgdG8gbW92ZSBvdmVy
IHRoZSAvZGV2IHRyZWUhJwogCQlybSAtcmYgL3RtcC8uaW5pdHJkL2RldiB8fCBlY2hvICcqOiBG
YWlsZWQgdG8gcmVtb3ZlIHRoZSBpbml0cmQgL2RldiEnCi0JZWxpZiAvdG1wLy5pbml0cmQvYmlu
L1sgIiR7VVNFX1VERVZfTk9STUFMfSIgLWVxICcxJyBdCisJZWxpZiAvdG1wLy5pbml0cmQvYmlu
L1sgIiR7VVNFX1VERVZfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJL3RtcC8uaW5pdHJkL2Jp
bi9bIC1lIC90bXAvLmluaXRyZC9kZXYvZmQgXSAmJiBybSAvdG1wLy5pbml0cmQvZGV2L2ZkCiAJ
CS90bXAvLmluaXRyZC9iaW4vWyAtZSAvdG1wLy5pbml0cmQvZGV2L3N0ZGluIF0gJiYgcm0gL3Rt
cC8uaW5pdHJkL2Rldi9zdGRpbgpAQCAtNzUzLDcgKzc1Myw3IEBACiAJCXVtb3VudCAvdG1wLy5p
bml0cmQvZGV2IHx8IGVjaG8gJyo6IEZhaWxlZCB0byB1bm1vdW50IHRoZSBpbml0cmQgL2RldiEn
CiAJCXVtb3VudCAvdG1wLy5pbml0cmQvcHJvYyB8fCBlY2hvICcqOiBGYWlsZWQgdG8gdW5tb3Vu
dCB0aGUgaW5pdHJkIC9wcm9jIScKIAkJdW1vdW50IC90bXAvLmluaXRyZC9zeXMgfHwgZWNobyAn
KjogRmFpbGVkIHRvIHVubW91bnQgdGhlIGluaXRyZCAvc3lzIScKLQllbGlmIC90bXAvLmluaXRy
ZC9iaW4vWyAiJHtDRFJPT1R9IiAtZXEgJzEnIF0KKwllbGlmIC90bXAvLmluaXRyZC9iaW4vWyAi
JHtDRFJPT1R9IiAtZXEgMSBdCiAJdGhlbgogCQl1bW91bnQgL3RtcC8uaW5pdHJkL3Byb2MgfHwg
ZWNobyAiKjogRmFpbGVkIHRvIHVubW91bnQgdGhlIGluaXRyZCAvcHJvYyEiCiAJCXVtb3VudCAv
ZGV2IDI+L2Rldi9udWxsCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128608</attachid>
            <date>2007-08-19 20:16 0000</date>
            <desc>genkernel_key_085.patch</desc>
            <filename>genkernel_key_085.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGdlbmtlcm5lbC90cnVuay9nZW5rZXJuZWwuOAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnZW5rZXJu
ZWwvdHJ1bmsvZ2Vua2VybmVsLjgJKHJldmlzaW9uIDUyNCkKKysrIGdlbmtlcm5lbC90cnVuay9n
ZW5rZXJuZWwuOAkod29ya2luZyBjb3B5KQpAQCAtMjY2LDYgKzI2NiwyNiBAQAogVGhpcyBzcGVj
aWZpZXMgdGhlIGRldmljZSBlbmNyeXB0ZWQgYnkgTHVrcywgd2hpY2ggY29udGFpbnMgdGhlIHJv
b3QgCiBmaWxlc3lzdGVtIHRvIG1vdW50LgogLlRQCitcZkJjcnlwdF9zd2FwPVxmUjwuLi4+CitU
aGlzIHNwZWNpZmllcyB0aGUgc3dhcCBkZXZpY2UgZW5jcnlwdGVkIGJ5IEx1a3MuCisuVFAKK1xm
QnJvb3Rfa2V5PVxmUjwuLi4+CitJbiBjYXNlIHlvdXIgcm9vdCBpcyBlbmNyeXB0ZWQgd2l0aCBh
IGtleSwgeW91IGNhbiB1c2UgYSBkZXZpY2UgbGlrZSBhIHVzYiBwZW4gdG8gc3RvcmUgdGhlIGtl
eS4gCitUaGlzIHZhbHVlIHNob3VsZCBiZSB0aGUga2V5IHBhdGggcmVsYXRpdmUgdG8gdGhlIG1v
dW50IHBvaW50LgorLlRQCitcZkJyb290X2tleWRldj1cZlI8Li4uPgorSWYgbmVjZXNzYXJ5IHBy
b3ZpZGUgdGhlIG5hbWUgb2YgdGhlIGRldmljZSB0aGF0IGNhcnJpZXMgdGhlIHJvb3Rfa2V5Lgor
SWYgdW5zZXQgd2hpbGUgdXNpbmcgcm9vdF9rZXksIGl0IHdpbGwgYXV0b21hdGljYWxseSBsb29r
IGZvciB0aGUgZGV2aWNlIGluIGV2ZXJ5IGJvb3QuCisuVFAKK1xmQnN3YXBfa2V5PVxmUjwuLi4+
CitTYW1lIGFzIHJvb3Rfa2V5IGZvciBzd2FwLgorLlRQCitcZkJzd2FwX2tleWRldj1cZlI8Li4u
PgorU2FtZSBhcyByb290X2tleWRldiBmb3Igc3dhcC4KKy5UUAorXGZCY3J5cHRfc2lsZW50XGZS
CitTZXQgdGhpcyB0byBzaWxlbnQgYWxsIHRoZSBvdXRwdXQgcmVsYXRlZCB0byB0aGUgY3J5cHRv
Z3JhcGhpYyBzb2Z0d2FyZSwgYW5kIGluIGNhc2UgeW91ciBlbmNyeXB0ZWQgZGV2aWNlIGlzbid0
IG9wZW4gd2l0aCB0aGUga2V5LCBpdCBvcGVucyBhIHNoZWxsIGluIHRoZSBpbml0cmQgcXVpZXRs
eS4KKy5UUAogXGZCZG9kbXJhaWQ9XGZSPC4uLj4KIFBhc3NlcyBhcmd1bWVudHMgdG8gZG1yYWlk
IG9uIGJvb3R1cC4KIC5UUApJbmRleDogZ2Vua2VybmVsL3RydW5rL2dlbmVyaWMvaW5pdHJkLnNj
cmlwdHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gZ2Vua2VybmVsL3RydW5rL2dlbmVyaWMvaW5pdHJkLnNjcmlw
dHMJKHJldmlzaW9uIDUyNCkKKysrIGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5zY3Jp
cHRzCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBACiAKIG1vZHVsZXNfc2NhbigpIHsK
IAlsb2NhbCBNT0RTCi0JWyAtZCAvZXRjL21vZHVsZXMvJHsxfSBdIHx8IHRvdWNoIC9ldGMvbW9k
dWxlcy8kezF9CisJWyAtZCAiL2V0Yy9tb2R1bGVzLyR7MX0iIF0gfHwgdG91Y2ggL2V0Yy9tb2R1
bGVzLyR7MX0KIAotCVsgLWYgL2V0Yy9tb2R1bGVzLyR7MX0gXSAmJiBNT0RTPWBjYXQgL2V0Yy9t
b2R1bGVzLyR7MX1gCisJWyAtZiAiL2V0Yy9tb2R1bGVzLyR7MX0iIF0gJiYgTU9EUz1gY2F0IC9l
dGMvbW9kdWxlcy8kezF9YAogCWZvciB4IGluICR7TU9EU30KIAlkbwogCQlNTE9BRD1gZWNobyAk
e01MSVNUfSB8IHNlZCAtZSAicy8uKiR7eH0uKi8ke3h9LyJgCkBAIC02Myw4MyArNjMsOTcgQEAK
IAlkb25lCiB9CiAKLWZpbmRjZG1vdW50KCkgewordXBwZXJjYXNlKCl7CisJIyBuZWVkcyB0ciBv
biBidXN5Ym94CisJZWNobyAkMSB8IHRyICdhLXonICdBLVonCit9CisKKworZmluZG1lZGlhbW91
bnQoKSB7CisJIyAkMSA9IG1vdW50IGRpciBuYW1lIC8gbWVkaWEgbmFtZQorCSMgJDIgPSByZWNv
Z25pdGlvbiBmaWxlCisJIyAkMyA9IHZhcmlhYmxlIHRvIGhhdmUgdGhlIGRldmljZSBwYXRoCisJ
IyAkNCA9IGRpcmVjdG9yeSBiZWZvcmUgL21udCwgbGlrZSBORVdfUk9PVAorCSMgYXJncyByZW1h
aW5pbmcgYXJlIHBvc3NpYmxlIGRldmljZXMgCisKKwlsb2NhbCBtZWRpYT0kMSByZWNvbj0kMiB2
cmJsPSQzCisJbG9jYWwgbW50ZGlyPSIkezR9L21udC8ke21lZGlhfSIKKwlzaGlmdCA0CisKKwln
b29kX21zZyAiTG9va2luZyBmb3IgdGhlICR7bWVkaWF9IiAke0NSWVBUX1NJTEVOVH0KKwogCWlm
IFsgIiQjIiAtZ3QgIjAiIF0KIAl0aGVuCisKKwkJWyAhIC1kICIke21udGRpcn0iIF0gJiYgbWtk
aXIgLXAgJHttbnRkaXJ9IDI+L2Rldi9udWxsID4vZGV2L251bGwKKwogCQlmb3IgeCBpbiAkKgog
CQlkbwogCQkJIyBDaGVjayBmb3IgYSBibG9jayBkZXZpY2UgdG8gbW91bnQKIAkJCWlmIFsgLWIg
IiR7eH0iIF0KIAkJCXRoZW4KLQkJCQlnb29kX21zZyAiQXR0ZW1wdGluZyB0byBtb3VudCBtZWRp
YTotICR7eH0iCi0JCQkJaWYgWyAteiAiJHtDRFJPT1RfREVWfSIgXQotCQkJCXRoZW4KLQkJCQkJ
bW91bnQgLXIgLXQgYXV0byAke3h9ICR7TkVXX1JPT1R9L21udC9jZHJvbSBcCi0JCQkJCQk+IC9k
ZXYvbnVsbCAyPiYxCisJCQkJZ29vZF9tc2cgIkF0dGVtcHRpbmcgdG8gbW91bnQgbWVkaWE6LSAk
e3h9IiAke0NSWVBUX1NJTEVOVH0KKwkKKwkJCQlpZiBbIC1uICIke0NEUk9PVF9ERVZ9IiAtYSBc
KCAke21lZGlhfT0iY2Ryb20iIFwpIF07IHRoZW4KKwkJCQkJbW91bnQgLXIgLXQgYXV0byAke3h9
ICR7TkVXX1JPT1R9L21udC9jZHJvbSA+L2Rldi9udWxsIDI+JjEKIAkJCQllbHNlCi0JCQkJCW1v
dW50IC1yIC10IGlzbzk2NjAgJHt4fSAke05FV19ST09UfS9tbnQvY2Ryb20gXAotCQkJCQkJPiAv
ZGV2L251bGwgMj4mMQotCQkJCWZpCisJCQkJCW1vdW50IC1yIC10IGF1dG8gJHt4fSAke21udGRp
cn0gPi9kZXYvbnVsbCAyPiYxCisJCQkJZmkJCQkJCiAJCQkJaWYgWyAiJD8iID0gJzAnIF0KIAkJ
CQl0aGVuCi0JCQkJCSMgQ2hlY2sgZm9yIGEgTGl2ZUNECi0JCQkJCWlmIFsgLWYgJHtORVdfUk9P
VH0vbW50L2Nkcm9tLyR7U1VCRElSfS9saXZlY2QgXQorCQkJCQkjIENoZWNrIGZvciB0aGUgbWVk
aWEKKwkJCQkJaWYgWyAtZiAiJHttbnRkaXJ9LyR7cmVjb259IiBdCiAJCQkJCXRoZW4KLQkJCQkJ
CVJFQUxfUk9PVD0iJHt4fSIKKwkJCQkJCSNzZXQgUkVBTF9ST09ULCBDUllQVF9ST09UX0tFWURF
ViBvciB3aGF0ZXZlciAke3ZyYmx9IGlzCisJCQkJCQlldmFsICR7dnJibH0nPSciJHt4fSIKKwkJ
CQkJCWdvb2RfbXNnICJNZWRpYSBmb3VuZCBvbiAke3h9IiAke0NSWVBUX1NJTEVOVH0KIAkJCQkJ
CWJyZWFrCiAJCQkJCWVsc2UKLQkJCQkJCXVtb3VudCAke05FV19ST09UfS9tbnQvY2Ryb20KKwkJ
CQkJCXVtb3VudCAke21udGRpcn0KIAkJCQkJZmkKIAkJCQlmaQogCQkJZmkKIAkJZG9uZQotCQlp
ZiBbICIke1JFQUxfUk9PVH0iICE9ICcnIF0KLQkJdGhlbgotCQkJZ29vZF9tc2cgIk1lZGlhIGZv
dW5kIG9uICR7eH0iCi0JCWZpCiAJZmkKKworCWV2YWwgbG9jYWwgcmVzdWx0PSckJyR7dnJibH0K
KworCVsgLW4gIiR7cmVzdWx0fSIgXSB8fCBiYWRfbXNnICJNZWRpYSBub3QgZm91bmQiICR7Q1JZ
UFRfU0lMRU5UfQogfQogCi1maW5ka2V5bW91bnQoKSB7Ci0gICAgICAgIGlmIFsgIiQjIiAtZ3Qg
IjAiIF0KLSAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgIGZvciB4IGluICQqCi0gICAgICAg
ICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIGEgYmxvY2sg
ZGV2aWNlIHRvIG1vdW50Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBbIC1iICIke3h9IiBd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGVuCi0JCQkJaWYgWyAke2NyeXB0X3NpbGVudH0g
PSAnJyBdCi0JCQkJdGhlbgotCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29vZF9t
c2cgIkF0dGVtcHRpbmcgdG8gbW91bnQga2V5IG1lZGlhOi0gJHt4fSIKLQkJCQlmaQorZGV2aWNl
bGlzdCgpeworCSMgTG9jYXRlIHRoZSBjZHJvbSBkZXZpY2Ugd2l0aCBvdXIgbWVkaWEgb24gaXQu
CisJIyBDRFJPTSBERVZJQ0VTCisJbG9jYWwgREVWSUNFUz0iL2Rldi9jZHJvbXMvKiAvZGV2L2lk
ZS9jZC8qIC9kZXYvc3IqIgorCSMgVVNCIEtleWNoYWluL1N0b3JhZ2UKKwlERVZJQ0VTPSIkREVW
SUNFUyAvZGV2L3NkKiIKKwkjIElERSBkZXZpY2VzCisJREVWSUNFUz0iJERFVklDRVMgL2Rldi9o
ZCoiCisJIyBVU0IgdXNpbmcgdGhlIFVTQiBCbG9jayBEcml2ZXIKKwlERVZJQ0VTPSIkREVWSUNF
UyAvZGV2L3ViZCogL2Rldi91YmQvKiIKKwkjIGlTZXJpZXMgZGV2aWNlcworCURFVklDRVM9IiRE
RVZJQ0VTIC9kZXYvaXNlcmllcy92Y2QqIgorCWVjaG8gJHtERVZJQ0VTfQorfQogCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50IC1yIC10IGF1dG8gJHt4fSAke05FV19ST09U
fS9tbnQva2V5ZGV2IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID4gL2Rldi9udWxsIDI+JjEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgWyAiJD8iID0gJzAnIF0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbgot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIHRoZSBr
ZXkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBbIC1lICR7TkVX
X1JPT1R9L21udC9rZXlkZXYvJHtMVUtTX1JPT1RfS0VZfSBdCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTFVLU19ST09UX0tFWURFVj0iJHt4fSIKLQkJCQkJCXVtb3VudCAk
e05FV19ST09UfS9tbnQva2V5ZGV2Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVtb3VudCAke05FV19ST09UfS9tbnQva2V5ZGV2Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICAgICAgZG9uZQotICAgICAgICAg
ICAgICAgIGlmIFsgIiR7TFVLU19ST09UX0tFWURFVn0iICE9ICcnIF0KLSAgICAgICAgICAgICAg
ICB0aGVuCi0JCQlpZiBbICR7Y3J5cHRfc2lsZW50fSA9ICcnIF0KLQkJCXRoZW4KLQkgICAgICAg
ICAgICAgICAgICAgICAgICBnb29kX21zZyAiS2V5IG1lZGlhIGZvdW5kIG9uICR7eH0iCi0JCQlm
aQotICAgICAgICAgICAgICAgIGZpCi0gICAgICAgIGZpCitib290c3RyYXBDRCgpIHsKKwkKKwls
b2NhbCBERVZJQ0VTPWBkZXZpY2VsaXN0YAorCSMgVGhlIGRldmljZSB3YXMgc3BlY2lmaWVkIG9u
IHRoZSBjb21tYW5kIGxpbmUuICBTaG9sZCB3ZSBldmVuIGJlIGRvaW5nIGEKKwkjIHNjYW4gYXQg
dGhpcyBwb2ludD8gIEkgdGhpbmsgbm90LgorCVsgLW4gIiR7Q0RST09UX0RFVn0iIF0gJiYgREVW
SUNFUz0iJERFVklDRVMgJHtDRFJPT1RfREVWfSIKKworCWZpbmRtZWRpYW1vdW50ICJjZHJvbSIg
IiR7U1VCRElSfS9saXZlY2QiICJSRUFMX1JPT1QiICIke05FV19ST09UfSIgJHtERVZJQ0VTfQog
fQogCitib290c3RyYXBLZXkoKSB7CisJIyAkMSA9IFJPT1QvU1dBUAorCWxvY2FsIEtFWURFVlM9
YGRldmljZWxpc3RgCisJZXZhbCBsb2NhbCBrZXlsb2M9JyIke0NSWVBUXyckezF9J19LRVl9IicK
IAorCWZpbmRtZWRpYW1vdW50ICJrZXkiICIke2tleWxvY30iICJDUllQVF8kezF9X0tFWURFViIg
IiIgJHtLRVlERVZTfQorfQorCiBjYWNoZV9jZF9jb250ZW50cygpIHsKIAkjIENoZWNrIGxvb3Ag
ZmlsZSBleGlzdHMgYW5kIGNhY2hlIHRvIHJhbWRpc2sgaWYgRE9fY2FjaGUgaXMgZW5hYmxlZAog
CWlmIFsgIiR7TE9PUFRZUEV9IiAhPSAibm9sb29wIiBdICYmIFsgIiR7TE9PUFRZUEV9IiAhPSAi
c2dpbWlwcyIgXQpAQCAtMzI4LDI1ICszNDIsNzUgQEAKIAlmaQogfQogCi1nb29kX21zZygpIHsK
KworIyBtc2cgZnVuY3Rpb25zIGFyZ3VtZW50cworIyAkMSBzdHJpbmcKKyMgJDIgaGlkZSBmbGFn
CisKK2dvb2RfbXNnKCkgewkKIAltc2dfc3RyaW5nPSQxCiAJbXNnX3N0cmluZz0iJHttc2dfc3Ry
aW5nOi0uLi59IgotCWVjaG8gLWUgIiR7R09PRH0+PiR7Tk9STUFMfSR7Qk9MRH0gJHttc2dfc3Ry
aW5nfSAke05PUk1BTH0iCisJWyAiJDIiICE9IDEgXSAmJiBlY2hvIC1lICIke0dPT0R9Pj4ke05P
Uk1BTH0ke0JPTER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9IgogfQogCiBiYWRfbXNnKCkgewog
CW1zZ19zdHJpbmc9JDEKIAltc2dfc3RyaW5nPSIke21zZ19zdHJpbmc6LS4uLn0iCi0Jc3BsYXNo
ICd2ZXJib3NlJyA+IC9kZXYvbnVsbCAmCi0JZWNobyAtZSAiJHtCQUR9ISEke05PUk1BTH0ke0JP
TER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9IgorCWlmIFsgIiQyIiAhPSAxIF0KKwl0aGVuCisJ
CXNwbGFzaCAndmVyYm9zZScgPiAvZGV2L251bGwgJgorCQllY2hvIC1lICIke0JBRH0hISR7Tk9S
TUFMfSR7Qk9MRH0gJHttc2dfc3RyaW5nfSAke05PUk1BTH0iCisJZmkKIH0gCiAKIHdhcm5fbXNn
KCkgewogCW1zZ19zdHJpbmc9JDEKIAltc2dfc3RyaW5nPSIke21zZ19zdHJpbmc6LS4uLn0iCi0J
ZWNobyAtZSAiJHtXQVJOfSoqJHtOT1JNQUx9JHtCT0xEfSAke21zZ19zdHJpbmd9ICR7Tk9STUFM
fSIKLX0gCisJWyAiJDIiICE9IDEgXSAmJiBlY2hvIC1lICIke1dBUk59Kioke05PUk1BTH0ke0JP
TER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9IgorfQogCitjcnlwdF9maWx0ZXIoKSB7CisJaWYg
WyAke0NSWVBUX1NJTEVOVH0gLWVxIDEgXQorCXRoZW4KKwkJZXZhbCAkMSA+L2Rldi9udWxsIDI+
L2Rldi9udWxsCisJZWxzZQorCQlldmFsICQxCisJZmkKK30KKword2hlcmVpcygpeworCSMgJDEg
PSB2YXJpYWJsZSB3aG9zZSB2YWx1ZSBpcyB0aGUgcGF0aCAoZXhhbXBsZXM6ICJSRUFMX1JPT1Qi
LCAiTFVLU19LRVlERVYiKQorCSMgJDIgPSBsYWJlbAorCSMgJDMgPSBvcHRpb25hbCBleHBsYW5h
dGlvbnMgZm9yIGZhaWx1cmUKKworCWV2YWwgbG9jYWwgb2xkdmFsdWU9JyQnJHsxfQorCisJWyBc
KCAkIyAhPSAyIFwpIC1hIFwoICQjICE9IDMgXCkgXSAmJiBcCisJCWJhZF9tc2cgIkJhZCBpbnZv
Y2F0aW9uIG9mIGZ1bmN0aW9uIHdoZXJlaXMsIHBsZWFzZSBmaWxlIGEgYnVnIFwKKwkJcmVwb3J0
IHdpdGggdGhpcyBtZXNzYWdlIiAmJiBleGl0IDEKKwlbIC1uICIkezN9IiBdICYmIGxvY2FsIGV4
cGxudD0iIG9yIDogJHszfSIgfHwgbG9jYWwgZXhwbG50PSIuIgorCQorCWJhZF9tc2cgIkNvdWxk
IG5vdCBmaW5kIHRoZSAkezJ9IGluICR7b2xkdmFsdWV9JHtleHBsbnR9IgorCWVjaG8gJyAgIFBs
ZWFzZSBzcGVjaWZ5IGFub3RoZXIgdmFsdWUgb3I6IHByZXNzIEVudGVyIGZvciB0aGUgc2FtZSwg
dHlwZSAic2hlbGwiIGZvciBhIHNoZWxsLCBvciAicSIgdG8gc2tpcC4uLicKKwllY2hvIC1uICIk
ezJ9KCR7b2xkdmFsdWV9KSA6OiAiCisJcmVhZCAkezF9CisJY2FzZSBgZXZhbCBlY2hvICckJyR7
MX1gIGluCisJCSdxJykKKwkJCWV2YWwgJHsxfSc9JyR7b2xkdmFsdWV9CisJCQl3YXJuX21zZyAi
U2tpcHBpbmcgc3RlcCwgdGhpcyB3aWxsIGxpa2VseSBjYXVzZSBhIGJvb3QgZmFpbHVyZS4iCisJ
CQlicmVhaworCQkJOzsKKwkJJ3NoZWxsJykKKwkJCWV2YWwgJHsxfSc9JyR7b2xkdmFsdWV9CisJ
CQllY2hvICJUbyBsZWF2ZSBhbmQgdHJ5IGFnYWluIGp1c3QgcHJlc3MgPEN0cmw+K0QiCisJCQly
dW5fc2hlbGwKKwkJCTs7CisJCScnKQorCQkJZXZhbCAkezF9Jz0nJHtvbGR2YWx1ZX0KKwkJCTs7
CisJZXNhYworfQorCiBiaW5kX21vdW50X2RldigpIHsKIAkjIGJpbmQtbW91bnQgL2Rldi8gc28g
dGhhdCBsb29wIGRldmljZXMgY2FuIGJlIGZvdW5kCiAJbW91bnQgLW8gYmluZCAke05FV19ST09U
fS9kZXYgL2RldgpAQCAtMzU0LDE0ICs0MTgsMTQgQEAKIAogc3RhcnRfZGV2X21ncigpIHsKIAkj
IENoZWNrIHVkZXYgaXMgYXZhaWxhYmxlLi4uCi0JaWYgWyAiJHtLVl8yXzZfT1JfR1JFQVRFUn0i
IC1hICEgIiR7VVNFX1VERVZfTk9STUFMfSIgLWVxICcwJyBdCisJaWYgWyAiJHtLVl8yXzZfT1Jf
R1JFQVRFUn0iIC1hICIke1VTRV9VREVWX05PUk1BTH0iICE9ICcwJyBdCiAJdGhlbgogCQlVU0Vf
VURFVl9OT1JNQUw9MQogCWVsc2UKIAkJVVNFX1VERVZfTk9STUFMPTAKIAlmaQogCi0JaWYgWyAi
JHtVU0VfVURFVl9OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VREVWX05PUk1BTH0i
ID0gJzEnIF0KIAl0aGVuCiAJCWNkIC9zeXMKIAkJWyAiJHtET19zbG93dXNifSIgXSAmJiBzbGVl
cCAxMApAQCAtMzc4LDQyICs0NDIsNiBAQAogCWZpCiB9CiAKLWJvb3RzdHJhcENEKCkgewotCSMg
TG9jYXRlIHRoZSBjZHJvbSBkZXZpY2Ugd2l0aCBvdXIgbWVkaWEgb24gaXQuCi0JIyBDRFJPTSBE
RVZJQ0VTCi0JREVWSUNFUz0iL2Rldi9jZHJvbXMvKiAvZGV2L2lkZS9jZC8qIC9kZXYvc3IqIgot
CSMgVVNCIEtleWNoYWluL1N0b3JhZ2UKLQlERVZJQ0VTPSIkREVWSUNFUyAvZGV2L3NkKiIKLQkj
IElERSBkZXZpY2VzCi0JREVWSUNFUz0iJERFVklDRVMgL2Rldi9oZCoiCi0JIyBVU0IgdXNpbmcg
dGhlIFVTQiBCbG9jayBEcml2ZXIKLQlERVZJQ0VTPSIkREVWSUNFUyAvZGV2L3ViZCogL2Rldi91
YmQvKiIKLQkjIGlTZXJpZXMgZGV2aWNlcwotCURFVklDRVM9IiRERVZJQ0VTIC9kZXYvaXNlcmll
cy92Y2QqIgotCSMgVGhlIGRldmljZSB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUu
ICBTaG9sZCB3ZSBldmVuIGJlIGRvaW5nIGEKLQkjIHNjYW4gYXQgdGhpcyBwb2ludD8gIEkgdGhp
bmsgbm90LgotCVsgLW4gIiR7Q0RST09UX0RFVn0iIF0gJiYgREVWSUNFUz0iJERFVklDRVMgJHtD
RFJPT1RfREVWfSIKLQotCWZpbmRjZG1vdW50ICRERVZJQ0VTCi19Ci0KLWJvb3RzdHJhcEtleSgp
IHsKLSAgICAgICAgIyBMb2NhdGUgdGhlIGRldmljZSB3aXRoIG91ciBrZXkgb24gaXQuCi0gICAg
ICAgICMgVVNCIEtleWNoYWluL1N0b3JhZ2UKLSAgICAgICAgS0VZREVWUz0iL2Rldi9zZCoiCi0g
ICAgICAgICMgQ0RST00gREVWSUNFUwotICAgICAgICBLRVlERVZTPSIke0tFWURFVlN9IC9kZXYv
Y2Ryb21zLyogL2Rldi9pZGUvY2QvKiAvZGV2L3NyKiIKLSAgICAgICAgIyBJREUgZGV2aWNlcwot
ICAgICAgICBLRVlERVZTPSIke0tFWURFVlN9IC9kZXYvaGQqIgotICAgICAgICAjIFVTQiB1c2lu
ZyB0aGUgVVNCIEJsb2NrIERyaXZlcgotICAgICAgICBLRVlERVZTPSIke0tFWURFVlN9IC9kZXYv
dWJkKiAvZGV2L3ViZC8qIgotICAgICAgICAjIGlTZXJpZXMgZGV2aWNlcwotICAgICAgICBLRVlE
RVZTPSIke0tFWURFVnN9IC9kZXYvaXNlcmllcy92Y2QqIgotCi0gICAgICAgIGZpbmRrZXltb3Vu
dCAke0tFWURFVlN9Ci19Ci0KLQogY21kbGluZV9od29wdHMoKSB7CiAJIyBTY2FuIENNRExJTkUg
Zm9yIGFueSAiZG9zY3NpIiBvciAibm9zY3NpIi10eXBlIGFyZ3VtZW50cwogCQpAQCAtNTEwLDcg
KzUzOCw3IEBACiAKIAkJY2hvb3NlS2V5bWFwCiAKLQkJWyAiJHtERVZCSU5EfSIgLWVxICcxJyBd
ICYmIHVtb3VudCAvZGV2CisJCVsgIiR7REVWQklORH0iID0gJzEnIF0gJiYgdW1vdW50IC9kZXYK
IAkJCiAJCWlmIFsgLWUgL2V0Yy9zeXNjb25maWcva2V5Ym9hcmQgLWEgIiR7Q0RST09UfSIgLWVx
ICcxJyBdCiAJCXRoZW4KQEAgLTYwMiw3ICs2MzAsNyBAQAogCQlsbiAtc2YgL2Rldi9kZXZpY2Ut
bWFwcGVyIC9kZXYvbWFwcGVyL2NvbnRyb2wKIAlmaQogCQotCWlmIFsgIiR7VVNFX0RNUkFJRF9O
T1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9ETVJBSURfTk9STUFMfSIgPSAnMScgXQog
CXRoZW4KIAkJaWYgWyAtZSAnL3NiaW4vZG1yYWlkJyBdCiAJCXRoZW4KQEAgLTYxNiw3ICs2NDQs
NyBAQAogCQlmaQogCWZpCiAKLQlpZiBbICIke1VTRV9MVk0yX05PUk1BTH0iIC1lcSAnMScgXQor
CWlmIFsgIiR7VVNFX0xWTTJfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJaWYgWyAtZSAnL2Jp
bi92Z3NjYW4nIC1hIC1lICcvYmluL3ZnY2hhbmdlJyBdCiAJCXRoZW4KQEAgLTYzMSw3ICs2NTks
NyBAQAogCQkJL2Jpbi92Z2NoYW5nZSAtYXkgLS1pZ25vcmVsb2NraW5nZmFpbHVyZSAyPi9kZXYv
bnVsbAogCiAJCQkjIERpc2FibGUgRVZNUyBzaW5jZSBsdm0yIGlzIGFjdGl2YXRlZCBhbmQgdGhl
eSBkb250IHdvcmsgdG9nZXRoZXIuCi0JCQlpZiBbICIke1VTRV9FVk1TMl9OT1JNQUx9IiAtZXEg
JzEnIF0KKwkJCWlmIFsgIiR7VVNFX0VWTVMyX05PUk1BTH0iID0gJzEnIF0KIAkJCXRoZW4KIAkJ
CQliYWRfbXNnICJEaXNhYmxpbmcgRVZNUyBTdXBwb3J0IGJlY2F1c2UgTFZNMiBzdGFydGVkIgog
CQkJCWJhZF9tc2cgIkRvIG5vdCBhZGQgZG9sdm0yIHRvIHRoZSBjbWRsaW5lIGlmIHRoaXMgaXMg
bm90IHdoYXQgeW91IHdhbnQiCkBAIC02NDMsNyArNjcxLDcgQEAKIAkJZmkKIAlmaQogCi0JaWYg
WyAiJHtVU0VfRVZNUzJfTk9STUFMfSIgLWVxICcxJyBdCisJaWYgWyAiJHtVU0VfRVZNUzJfTk9S
TUFMfSIgPSAnMScgXQogCXRoZW4KIAkJaWYgWyAtZSAnL3NiaW4vZXZtc19hY3RpdmF0ZScgXQog
CQl0aGVuCkBAIC02NTQsNjAgKzY4MiwxMzggQEAKIH0KIAogIyBPcGVuIGEgTFVLUyBkZXZpY2UK
LSMgJDEgTFVLUyBkZXZpY2UKLSMgJDIgTFVLUyBuYW1lCisjIEl0IGlzIGVpdGhlciB0aGUgcm9v
dCBvciBhIHN3YXAsIG90aGVyIGRldmljZXMgYXJlIHN1cHBvcnRlZCBpbiB0aGUgc2NyaXB0cyBw
cm92aWRlZCB3aXRoIHN5cy1mcy9jcnlwdHNldHVwLWx1a3MKKyMgJDEgLSByb290L3N3YXAKIG9w
ZW5MVUtTKCkgewotCUxVS1NfREVWSUNFPSIkMSIKLQlMVUtTX05BTUU9IiQyIgotCWlmIFsgLWUg
L3NiaW4vY3J5cHRzZXR1cCBdCi0JdGhlbgotCQl3aGlsZSBbIDEgXQotCQlkbwotCQkJaWYgWyAi
JHtMVUtTX0RFVklDRX0iID0gJycgXQorCSMgcGxlYXNlIHVzZSAndHInIGFuZCB0aGlzIGxpbmUs
IG9yIHJlbW92ZSBpdAorCSMgZXZhbCBsb2NhbCBUWVBFPWB1cHBlcmNhc2UgJDFgCisKKwljYXNl
ICQxIGluCisJCXJvb3QpCisJCQlsb2NhbCBUWVBFPVJPT1QKKwkJCTs7CisJCXN3YXApCisJCQls
b2NhbCBUWVBFPVNXQVAKKwkJCTs7CisJZXNhYworCisJZXZhbCBsb2NhbCBMVUtTX0RFVklDRT0n
IiR7Q1JZUFRfJyR7VFlQRX0nfSInIExVS1NfTkFNRT0iJDEiIExVS1NfS0VZPSciJHtDUllQVF8n
JHtUWVBFfSdfS0VZfSInIExVS1NfS0VZREVWPSciJHtDUllQVF8nJHtUWVBFfSdfS0VZREVWfSIn
CisJbG9jYWwgREVWX0VSUk9SPTAgS0VZX0VSUk9SPTAgS0VZREVWX0VSUk9SPTAKKwlsb2NhbCBt
bnRrZXk9Ii9tbnQva2V5LyIgY3J5cHRzZXR1cF9vcHRpb25zPScnCisKKwlbICEgLWUgL3NiaW4v
Y3J5cHRzZXR1cCBdICYmIGJhZF9tc2cgIlRoZSBpbml0cmQgZG9lcyBub3Qgc3VwcG9ydCBMVUtT
IiAmJiBleGl0IDEKKwl3aGlsZSBbIDEgXQorCWRvCisJCSMgaWYgY3J5cHRfc2lsZW50PTEgYW5k
IHNvbWUgZXJyb3Igb2NjdXJzLCBlbnRlciBzaGVsbCBxdWlldGx5CisJCWlmIFsgXCggJHtDUllQ
VF9TSUxFTlR9IC1lcSAxIFwpIC1hIFwoIFwoIFwoICR7REVWX0VSUk9SfSAtZXEgMSBcKSAtbyBc
KCAke0tFWV9FUlJPUn0gLWVxIDEgXCkgXCkgLW8gXCggJHtLRVlERVZfRVJST1J9IC1lcSAxIFwp
IFwpIF0KKwkJdGhlbgorCQkJcnVuX3NoZWxsCisJCWVsaWYgWyAke0RFVl9FUlJPUn0gLWVxIDEg
XQorCQl0aGVuCisJCQl3aGVyZWlzICJMVUtTX0RFVklDRSIgIiR7TFVLU19OQU1FfSIKKwkJCURF
Vl9FUlJPUj0wCisJCWVsaWYgWyAke0tFWV9FUlJPUn0gLWVxIDEgXQorCQl0aGVuCisJCQl3aGVy
ZWlzICJMVUtTX0tFWSIgIiR7TFVLU19OQU1FfSBrZXkiCisJCQlLRVlfRVJST1I9MAorCQllbGlm
IFsgJHtLRVlERVZfRVJST1J9IC1lcSAxIF0KKwkJdGhlbgorCQkJd2hlcmVpcyAiTFVLU19LRVlE
RVYiICIke0xVS1NfTkFNRX0ga2V5IGRldmljZSIKKwkJCUtFWURFVl9FUlJPUj0wCisJCWVsc2UK
KwkJCXNldHVwX21kX2RldmljZSAke0xVS1NfREVWSUNFfQorCQkJY3J5cHRzZXR1cCBpc0x1a3Mg
JHtMVUtTX0RFVklDRX0KKwkJCWlmIFsgISAiJD8iIC1lcSAnMCcgXQogCQkJdGhlbgotCQkJCSMg
TFVLUyBkZXZpY2UgY291bGQgbm90IGJlIG9wZW5lZC4gUHJvbXB0IHVzZXIgZm9yIGRldmljZS4K
LQkJCQliYWRfbXNnICJUaGUgTFVLUyAke0xVS1NfTkFNRX0gYmxvY2sgZGV2aWNlIGlzIG5vdCBk
ZXRlY3RlZC4iCi0JCQkJZWNobyAiICAgUGxlYXNlIHNwZWNpZnkgYSAke0xVS1NfTkFNRX0gTFVL
UyBkZXZpY2UgdG8gb3BlbiwgInEiIHRvIHNraXAsIG9yICJzaGVsbCIgZm9yIGEgc2hlbGwuLi4i
Ci0JCQkJZWNobyAtbiAiTFVLUyAke0xVS1NfTkFNRX0oKSA6OiAiCi0JCQkJcmVhZCBMVUtTX0RF
VklDRQorCQkJCWJhZF9tc2cgIlRoZSBMVUtTIGRldmljZSAke0xVS1NfREVWSUNFfSBkb2VzIG5v
dCBjb250YWluIGEgTFVLUyBoZWFkZXIiICR7Q1JZUFRfU0lMRU5UfQorCQkJCURFVl9FUlJPUj0x
CiAJCQkJY29udGludWUKLQkJCWVsaWYgWyAiJHtMVUtTX0RFVklDRX0iID0gJ3NoZWxsJyBdCi0J
CQl0aGVuCi0JCQkJcnVuX3NoZWxsCi0JCQkJCi0JCQkJTFVLU19ERVZJQ0U9JycKLQkJCQljb250
aW51ZQotCQkJZWxpZiBbICIke0xVS1NfREVWSUNFfSIgPSAncScgXQotCQkJdGhlbgotCQkJCWJy
ZWFrCiAJCQllbHNlCi0JCQkJc2V0dXBfbWRfZGV2aWNlICR7TFVLU19ERVZJQ0V9Ci0JCQkJaWYg
Y3J5cHRzZXR1cCBpc0x1a3MgJHtMVUtTX0RFVklDRX0KKwkJCQkjIEhhbmRsZSBrZXlzCisJCQkJ
aWYgWyAtbiAiJHtMVUtTX0tFWX0iIF0gCiAJCQkJdGhlbgotCQkJCQlnb29kX21zZyAiT3Blbmlu
ZyBMVUtTIGRldmljZSAke0xVS1NfREVWSUNFfSIKLQkJCQkJCi0JCQkJCWNyeXB0c2V0dXAgbHVr
c09wZW4gJHtMVUtTX0RFVklDRX0gJHtMVUtTX05BTUV9Ci0JCQkJCWlmIFsgISAiJD8iIC1lcSAn
MCcgXQorCQkJCQlpZiBbICEgLWUgIiR7bW50a2V5fSR7TFVLU19LRVl9IiBdIAogCQkJCQl0aGVu
Ci0JCQkJCQliYWRfbXNnICJGYWlsZWQgb3BlbiBMVUtTIGRldmljZSAke0xVS1NfREVWSUNFfSIK
LQkJCQkJZWxzZQotCQkJCQkJYnJlYWsKKwkJCQkJCWlmIFsgLWIgIiR7TFVLU19LRVlERVZ9IiBd
CisJCQkJCQl0aGVuIGdvb2RfbXNnICJVc2luZyBrZXkgZGV2aWNlICR7TFVLU19LRVlERVZ9LiIg
JHtDUllQVF9TSUxFTlR9CisJCQkJCQllbHNlCisJCQkJCQkJZ29vZF9tc2cgIlBsZWFzZSBpbnNl
cnQgcmVtb3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBmb3IgJHtMVUtTX05BTUV9IiAke0NS
WVBUX1NJTEVOVH0KKwkJCQkJCQkjIGFib3J0IGFmdGVyIDEwIHNlY3MKKwkJCQkJCQlsb2NhbCBj
b3VudD0xMAorCQkJCQkJCXdoaWxlIFsgJHtjb3VudH0gLWd0IDAgXQorCQkJCQkJCWRvIAorCQkJ
CQkJCQljb3VudD0kKChjb3VudC0xKSkKKwkJCQkJCQkJc2xlZXAgMQorCQkJCQkJCQlpZiBbIC1i
ICIke0xVS1NfS0VZREVWfSIgXQorCQkJCQkJCQl0aGVuCisJCQkJCQkJCQlnb29kX21zZyAiUmVt
b3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBkZXRlY3RlZC4iICR7Q1JZUFRfU0lMRU5UfQor
CQkJCQkJCQkJYnJlYWsKKwkJCQkJCQkJZmkKKwkJCQkJCQlkb25lCisJCQkJCQkJaWYgWyAhIC1i
ICIke0xVS1NfS0VZREVWfSIgXQorCQkJCQkJCXRoZW4KKwkJCQkJCQkJZXZhbCBDUllQVF8ke1RZ
UEV9X0tFWURFVj0ke0xVS1NfS0VZfQorCQkJCQkJCQlib290c3RyYXBLZXkgJHtUWVBFfQorCQkJ
CQkJCQlldmFsIExVS1NfS0VZREVWPSciJHtDUllQVF8nJHtUWVBFfSdfS0VZREVWfSInCisJCQkJ
CQkJCWlmIFsgISAtYiAiJHtMVUtTX0tFWURFVn0iIF07IHRoZW4KKwkJCQkJCQkJCUtFWURFVl9F
UlJPUj0xCisJCQkJCQkJCQliYWRfbXNnICJSZW1vdmFibGUgZGV2aWNlICR7TFVLU19LRVlERVZ9
IG5vdCBmb3VuZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCQkJY29udGludWUKKwkJCQkJCQkJ
ZmkKKwkJCQkJCQlmaQorCQkJCQkJZmkKKwkJCQkJCSMgQXQgdGhpcyBwb2ludCBhIGRldmljZSB3
YXMgcmVjb2duaXplZCwgbm93IGxldCdzIHNlZSBpZiB0aGUga2V5IGlzIHRoZXJlCisJCQkJCQlb
ICEgLWQgIiRtbnRrZXkiIF0gJiYgbWtkaXIgLXAgJHttbnRrZXl9IDI+L2Rldi9udWxsID4vZGV2
L251bGwKKworCQkJCQkJbW91bnQgLW4gLW8gcm8gJHtMVUtTX0tFWURFVn0gJHttbnRrZXl9ID4v
ZGV2L251bGwgMj4vZGV2L251bGwKKwkJCQkJCWlmIFsgIiQ/IiAhPSAnMCcgXQorCQkJCQkJdGhl
bgorCQkJCQkJCUtFWURFVl9FUlJPUj0xCisJCQkJCQkJYmFkX21zZyAiTW91bnRpbmcgb2YgZGV2
aWNlICR7TFVLU19LRVlERVZ9IGZhaWxlZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCWNvbnRp
bnVlCisJCQkJCQllbHNlCisJCQkJCQkJZ29vZF9tc2cgIlJlbW92YWJsZSBkZXZpY2UgJHtMVUtT
X0tFWURFVn0gbW91bnRlZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCXNsZWVwIDIKKwkJCQkJ
CQkjIGtleWZpbGUgZXhpc3RzPworCQkJCQkJCWlmIFsgISAtZSAiJHttbnRrZXl9JHtMVUtTX0tF
WX0iIF07IHRoZW4KKwkJCQkJCQkJdW1vdW50IC1uICR7bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rl
di9udWxsCisJCQkJCQkJCUtFWV9FUlJPUj0xCisJCQkJCQkJCUtFWURFVl9FUlJPUj0xCisJCQkJ
CQkJCWJhZF9tc2cgIktleSB7TFVLU19LRVl9IG9uIGRldmljZSAke0xVS1NfS0VZREVWfSBub3Qg
Zm91bmQuIiAke0NSWVBUX1NJTEVOVH0KKwkJCQkJCQkJY29udGludWUKKwkJCQkJCQlmaQorCQkJ
CQkJZmkKIAkJCQkJZmkKKwkJCQkJIyBBdCB0aGlzIHBvaW50IGEgY2FuZGlkYXRlIGtleSBleGlz
dHMgKGVpdGhlciBtb3VudGVkIGJlZm9yZSBvciBub3QpCisJCQkJCWdvb2RfbXNnICIke0xVS1Nf
S0VZfSBvbiBkZXZpY2UgJHtMVUtTX0tFWURFVn0gZm91bmQiICR7Q1JZUFRfU0lMRU5UfQorCQkJ
CQljcnlwdHNldHVwX29wdGlvbnM9Ii1kICR7bW50a2V5fSR7TFVLU19LRVl9IgorCQkJCWZpCisJ
CQkJIyBBdCB0aGlzIHBvaW50LCBrZXlmaWxlIG9yIG5vdCwgd2UncmUgcmVhZHkhCisJCQkJY3J5
cHRfZmlsdGVyICJjcnlwdHNldHVwICR7Y3J5cHRzZXR1cF9vcHRpb25zfSBsdWtzT3BlbiAke0xV
S1NfREVWSUNFfSAke0xVS1NfTkFNRX0iCisJCQkJaWYgWyAkPyAtZXEgMCBdCisJCQkJdGhlbgor
CQkJCQlnb29kX21zZyAiTFVLUyBkZXZpY2UgJHtMVUtTX0RFVklDRX0gb3BlbmVkIiAke0NSWVBU
X1NJTEVOVH0KKwkJCQkJYnJlYWsKIAkJCQllbHNlCi0JCQkJCWJhZF9tc2cgIlRoZSBMVUtTIGRl
dmljZSAke0xVS1NfREVWSUNFfSBkb2VzIG5vdCBjb250YWluIGEgTFVLUyBoZWFkZXIiCisJCQkJ
CWJhZF9tc2cgIkZhaWxlZCB0byBvcGVuIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IiAke0NS
WVBUX1NJTEVOVH0KKwkJCQkJREVWX0VSUk9SPTEKIAkJCQlmaQogCQkJZmkKLQkJCUxVS1NfREVW
SUNFPScnCi0JCWRvbmUKLQllbHNlCi0JCWJhZF9tc2cgIlRoZSBpbml0cmQgZG9lcyBub3Qgc3Vw
cG9ydCBMVUtTIgotCWZpCisJCWZpCisJZG9uZQorCXVtb3VudCAke21udGtleX0gMj4vZGV2L251
bGwgPi9kZXYvbnVsbAorCXJtZGlyIC1wICR7bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxs
CiB9CiAKIHN0YXJ0TFVLUygpIHsKLQlpZiBbIC1uICIke0xVS1NfUk9PVH0iIF0KLQl0aGVuCi0J
CW9wZW5MVUtTICIke0xVS1NfUk9PVH0iICJyb290IiAKKworCSMgaWYga2V5IGlzIHNldCBidXQg
a2V5IGRldmljZSBpc24ndCwgZmluZCBpdAorCQorCVsgLW4gIiR7Q1JZUFRfUk9PVF9LRVl9IiBd
ICYmIFsgLXogIiR7Q1JZUFRfUk9PVF9LRVlERVZ9IiBdIFwKKwkJJiYgc2xlZXAgNiAmJiBib290
c3RyYXBLZXkgIlJPT1QiCisKKwlpZiBbIC1uICIke0NSWVBUX1JPT1R9IiBdOyB0aGVuCisJCW9w
ZW5MVUtTICJyb290IgogCQlpZiBbIC1uICIke1JFQUxfUk9PVH0iIF0KIAkJdGhlbgogCQkJIyBS
ZXNjYW4gdm9sdW1lcwpAQCAtNzE2LDEwICs4MjIsMTggQEAKIAkJCVJFQUxfUk9PVD0iL2Rldi9t
YXBwZXIvcm9vdCIKIAkJZmkKIAlmaQotCWlmIFsgLW4gIiR7TFVLU19TV0FQfSIgXQotCXRoZW4K
LQkJb3BlbkxVS1MgIiR7TFVLU19TV0FQfSIgInN3YXAiIAotCQlicmVhaworCisJIyBzYW1lIGZv
ciBzd2FwLCBidXQgbm8gbmVlZCB0byBzbGVlcCBpZiByb290IHdhcyB1bmVuY3J5cHRlZAorCVsg
LW4gIiR7Q1JZUFRfU1dBUF9LRVl9IiBdICYmIFsgLXogIiR7Q1JZUFRfU1dBUF9LRVlERVZ9IiBd
IFwKKwkJJiYgeyBbIC16ICIke0NSWVBUX1JPT1R9IiBdICYmIHNsZWVwIDY7IGJvb3RzdHJhcEtl
eSAiU1dBUCI7IH0KKworCWlmIFsgLW4gIiR7Q1JZUFRfU1dBUH0iIF07IHRoZW4KKwkJb3BlbkxV
S1MgInN3YXAiCisJCWlmIFsgLXogIiR7UkVBTF9SRVNVTUV9IiBdCisJCXRoZW4KKwkJCSMgUmVz
dW1lIGZyb20gc3dhcCBhcyBkZWZhdWx0CisJCQlSRUFMX1JFU1VNRT0iL2Rldi9tYXBwZXIvc3dh
cCIKKwkJZmkKIAlmaQogfQogCkBAIC03NDYsNyArODYwLDcgQEAKIAogCiBjZHVwZGF0ZSgpIHsK
LQlpZiBbICIke0NEUk9PVH0iIC1lcSAnMScgXQorCWlmIFsgIiR7Q0RST09UfSIgPSAnMScgXQog
CXRoZW4KIAkJaWYgWyAteCAvJHtORVdfUk9PVH0vbW50L2Nkcm9tL2NkdXBkYXRlLnNoIF0KIAkJ
dGhlbgpAQCAtNzkyLDcgKzkwNiw3IEBACiB9CiAKIHNldHVwX3VuaW9uZnMoKSB7Ci0JaWYgWyAi
JHtVU0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VTklPTkZTX05P
Uk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCSMgRGlyZWN0b3J5IHVzZWQgZm9yIHJ3IGNoYW5nZXMg
aW4gdW5pb24gbW91bnQgZmlsZXN5c3RlbQogCQlVTklPTj0vdW5pb24KQEAgLTg0Nyw2ICs5NjEs
MTUgQEAKIAlmaQogfQogCisKK3N3c3VzcF9yZXN1bWUoKSB7CisjIyMgZGV0ZXJtaW5lIHN3YXAg
cmVzdW1lIHBhcnRpdGlvbgorCWxvY2FsIGRldmljZT0kKGxzIC1sICIke1JFQUxfUkVTVU1FfSIg
fCBzZWQgJ3MvXCAqLyAvZycgfCBjdXQgLWQgXCAgLWYgNi03IHwgc2VkICdzLyxcICovOi8nKQor
CVsgLWYgL3N5cy9wb3dlci9yZXN1bWUgXSAmJiBlY2hvICIke2RldmljZX0iID4gL3N5cy9wb3dl
ci9yZXN1bWUKKwlyZXR1cm4gMAorfQorCisKIHN1c3BlbmRfcmVzdW1lKCkgewogCVsgLXggL3Ni
aW4vcmVzdW1lIF0gfHwgcmV0dXJuIDAKIAkvc2Jpbi9yZXN1bWUKSW5kZXg6IGdlbmtlcm5lbC90
cnVuay9nZW5lcmljL2xpbnV4cmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2Vua2VybmVsL3RydW5rL2dlbmVy
aWMvbGludXhyYwkocmV2aXNpb24gNTI0KQorKysgZ2Vua2VybmVsL3RydW5rL2dlbmVyaWMvbGlu
dXhyYwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKICMhL2Jpbi9zaAotIyBDb3B5cmln
aHQgMjAwMy0yMDA2IEdlbnRvbyBGb3VuZGF0aW9uIAorIyBDb3B5cmlnaHQgMjAwMy0yMDA3IEdl
bnRvbyBGb3VuZGF0aW9uIAogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyCiAKIC4gL2V0Yy9pbml0cmQuZGVmYXVsdHMKQEAg
LTQ2LDYgKzQ2LDcgQEAKIFJFQUxfUk9PVD0nJwogRkFLRV9ST09UPScnCiBSRUFMX1JPT1RGTEFH
Uz0nJworQ1JZUFRfU0lMRU5UPTAKIGZvciB4IGluICR7Q01ETElORX0KIGRvCiAJY2FzZSAiJHt4
fSIgaW4KQEAgLTE3NCwxNCArMTc1LDMyIEBACiAJCQlORlNST09UPWBwYXJzZV9vcHQgIiR7eH0i
YAogCQk7OwogCQljcnlwdF9yb290XD0qKQotCQkJTFVLU19ST09UPWBwYXJzZV9vcHQgIiR7eH0i
YAorCQkJQ1JZUFRfUk9PVD1gcGFyc2Vfb3B0ICIke3h9ImAKIAkJOzsKIAkJY3J5cHRfc3dhcFw9
KikKLQkJCUxVS1NfU1dBUD1gcGFyc2Vfb3B0ICIke3h9ImAKKwkJCUNSWVBUX1NXQVA9YHBhcnNl
X29wdCAiJHt4fSJgCiAJCTs7Ci0JCWNyeXB0X3NpbGVudFw9KikKLQkJCUxVS1NfU0lMRU5UPWBw
YXJzZV9vcHQgIiR7eH0iYAorCQlyb290X2tleVw9KikKKwkJCUNSWVBUX1JPT1RfS0VZPWBwYXJz
ZV9vcHQgIiR7eH0iYAogCQk7OworCQlyb290X2tleWRldlw9KikKKwkJCUNSWVBUX1JPT1RfS0VZ
REVWPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7OworCQlzd2FwX2tleVw9KikKKwkJCUNSWVBUX1NX
QVBfS0VZPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7OworCQlzd2FwX2tleWRldlw9KikKKwkJCUNS
WVBUX1NXQVBfS0VZREVWPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7OworCQlyZWFsX3Jlc3VtZVw9
KikKKwkJCVJFQUxfUkVTVU1FPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7OworCQlub3Jlc3VtZSkK
KwkJCU5PUkVTVU1FPTEKKwkJOzsKKwkJY3J5cHRfc2lsZW50KQorCQkJQ1JZUFRfU0lMRU5UPTEK
KwkJOzsKIAkJcmVhbF9yb290ZmxhZ3NcPSopCiAJCQlSRUFMX1JPT1RGTEFHUz1gcGFyc2Vfb3B0
ICIke3h9ImAKIAkJOzsKQEAgLTIwMyw3ICsyMjIsNyBAQAogdGhlbgogCWdvb2RfbXNnICdMb2Fk
aW5nIG1vZHVsZXMnCiAJIyBMb2FkIGFwcHJvcHJpYXRlIGtlcm5lbCBtb2R1bGVzCi0JaWYgWyAi
JHtOT0RFVEVDVH0iIC1uZSAnMScgXQorCWlmIFsgIiR7Tk9ERVRFQ1R9IiAhPSAnMScgXQogCXRo
ZW4KIAkJZm9yIG1vZHVsZXMgaW4gJE1ZX0hXT1BUUwogCQlkbwpAQCAtMjM3LDcgKzI1Niw3IEBA
CiBzdGFydFZvbHVtZXMKIAogIyBJbml0aWFsaXplIExVS1Mgcm9vdCBkZXZpY2UgZXhjZXB0IGZv
ciBsaXZlY2QncwotaWYgWyAiJHtDRFJPT1R9IiAtbmUgJzEnIF0KK2lmIFsgIiR7Q0RST09UfSIg
IT0gMSBdCiB0aGVuCiAJc3RhcnRMVUtTCiBmaQpAQCAtMjQ2LDcgKzI2NSw3IEBACiBta2RpciAt
cCAke05FV19ST09UfQogc2V0dXBfdW5pb25mcwogCi1pZiBbICIke1VTRV9VTklPTkZTX05PUk1B
TH0iIC1lcSAnMScgXQoraWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiA9ICcxJyBdCiB0aGVu
CiAJQ0hST09UPSR7VU5JT059CiBlbHNlCkBAIC0yNTYsMTggKzI3NSwyMiBAQAogIyBSdW4gZGVi
dWcgc2hlbGwgaWYgcmVxdWVzdGVkCiBydW5kZWJ1Z3NoZWxsCiAKLXN1c3BlbmRfcmVzdW1lCi1z
dXNwZW5kMl9yZXN1bWUKK2lmIFsgIiR7Tk9SRVNVTUV9IiAhPSAnMScgXQordGhlbgorCXN3c3Vz
cF9yZXN1bWUKKwlzdXNwZW5kX3Jlc3VtZQorCXN1c3BlbmQyX3Jlc3VtZQorZmkKIAotaWYgWyAi
JHtDRFJPT1R9IiAtZXEgJzEnIF0KK2lmIFsgIiR7Q0RST09UfSIgPSAnMScgXQogdGhlbgotCWlm
IFsgISAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VTklP
TkZTX05PUk1BTH0iICE9ICcxJyBdCiAJdGhlbgogCQlnb29kX21zZyAiTWFraW5nIHRtcGZzIGZv
ciAke05FV19ST09UfSIKIAkJbW91bnQgLXQgdG1wZnMgdG1wZnMgJHtORVdfUk9PVH0KIAlmaQog
CQotCWZvciBpIGluIGRldiBtbnQgbW50L2Nkcm9tIG1udC9saXZlY2QgbW50L2tleWRldiB0bXAg
dG1wLy5pbml0cmQgbW50L2dlbnRvbyBzeXMKKwlmb3IgaSBpbiBkZXYgbW50IG1udC9jZHJvbSBt
bnQvbGl2ZWNkIG1udC9rZXkgdG1wIHRtcC8uaW5pdHJkIG1udC9nZW50b28gc3lzCiAJZG8KIAkJ
bWtkaXIgLXAgJHtORVdfUk9PVH0vJGkKIAkJY2htb2QgNzU1ICR7TkVXX1JPT1R9LyRpCkBAIC0z
NTgsMzEgKzM4MSwxNyBAQAogCQkJCQlnb29kX21zZyAiRGV0ZWN0ZWQgcmVhbF9yb290PSR7Uk9P
VF9ERVZ9IgogCQkJCQlSRUFMX1JPT1Q9IiR7Uk9PVF9ERVZ9IgogCQkJCWVsc2UKLQkJCQkJYmFk
X21zZyAiQ291bGQgbm90IGZpbmQgcm9vdCBibG9jayBkZXZpY2U6ICR7UkVBTF9ST09UfSIKLQkJ
CQkJZWNobyAnICAgUGxlYXNlIHNwZWNpZnkgYSBkZXZpY2UgdG8gYm9vdCwgb3IgInNoZWxsIiBm
b3IgYSBzaGVsbC4uLicKLQkJCQkJZWNobyAtbiAnYm9vdCgpIDo6ICcKLQkJCQkJcmVhZCBSRUFM
X1JPT1QKKwkJCQkJd2hlcmVpcyAiUkVBTF9ST09UIiAicm9vdCBibG9jayBkZXZpY2UiCiAJCQkJ
CWdvdF9nb29kX3Jvb3Q9MAogCQkJCQljb250aW51ZQogCQkJCWZpCiAJCQkJOzsKIAkJZXNhYwog
CQkJCQotCQlpZiBbICIke1JFQUxfUk9PVH0iID0gJ3NoZWxsJyBdCisJCWlmIFsgIiR7UkVBTF9S
T09UfSIgPSAnJyBdCiAJCXRoZW4KLQkJCXJ1bl9zaGVsbAotCi0JCQlSRUFMX1JPT1Q9JycKLQkJ
CWdvdF9nb29kX3Jvb3Q9MAotCQkJY29udGludWUKLQkJCi0JCWVsaWYgWyAiJHtSRUFMX1JPT1R9
IiA9ICcnIF0KLQkJdGhlbgogCQkJIyBObyBSRUFMX1JPT1QgZGV0ZXJtaW5lZC9zcGVjaWZpZWQu
IFByb21wdCB1c2VyIGZvciByb290IGJsb2NrIGRldmljZS4KLQkJCWJhZF9tc2cgIlRoZSByb290
IGJsb2NrIGRldmljZSBpcyB1bnNwZWNpZmllZCBvciBub3QgZGV0ZWN0ZWQuIgotCQkJZWNobyAn
ICAgUGxlYXNlIHNwZWNpZnkgYSBkZXZpY2UgdG8gYm9vdCwgb3IgInNoZWxsIiBmb3IgYSBzaGVs
bC4uLicKLQkJCWVjaG8gLW4gJ2Jvb3QoKSA6OiAnCi0JCQlyZWFkIFJFQUxfUk9PVAorCQkJd2hl
cmVpcyAiUkVBTF9ST09UIiAicm9vdCBibG9jayBkZXZpY2UiCiAJCQlnb3RfZ29vZF9yb290PTAK
IAogCQkjIENoZWNrIGZvciBhIGJsb2NrIGRldmljZSBvciAvZGV2L25mcwpAQCAtMzk4LDcgKzQw
Nyw3IEBACiAJZG9uZQogCiAKLQlpZiBbICIke0NEUk9PVH0iIC1lcSAnMScgLWEgIiR7Z290X2dv
b2Rfcm9vdH0iID0gJzEnIC1hICIke1JFQUxfUk9PVH0iICE9ICIvZGV2L25mcyIgXQorCWlmIFsg
IiR7Q0RST09UfSIgPSAxIC1hICIke2dvdF9nb29kX3Jvb3R9IiA9ICcxJyAtYSAiJHtSRUFMX1JP
T1R9IiAhPSAiL2Rldi9uZnMiIF0KIAl0aGVuCiAJCSMgQ0QgYWxyZWFkeSBtb3VudGVkOyBubyBm
dXJ0aGVyIGNoZWNrcyBuZWNlc3NhcnkKIAkJYnJlYWsKQEAgLTQ0Miw3ICs0NTEsNyBAQAogCiAj
dmVyYm9zZV9rbXNnCiAKLSMgSWYgY2Ryb290IGlzIHNldCBkZXRlcm1pbmUgdGhlIGxvb3B0eXBl
IHRvIGJvb3QKKyMgSWYgY2Qgcm9vdCBpcyBzZXQgZGV0ZXJtaW5lIHRoZSBsb29wdHlwZSB0byBi
b290CiBpZiBbICIke0NEUk9PVH0iID0gJzEnIF0KIHRoZW4KIAlnb29kX21zZyAnRGV0ZXJtaW5p
bmcgbG9vcHR5cGUgLi4uJwpAQCAtNDk2LDI4ICs1MDUsMTkgQEAKIAlmaQogCiAJY2FjaGVfY2Rf
Y29udGVudHMKLQkKIAogICAgICAgICAjIElmIGVuY3J5cHRlZCwgZmluZCBrZXkgYW5kIG1vdW50
LCBvdGhlcndpc2UgbW91bnQgYXMgdXN1YWwKLQlpZiBbICIke0xVS1NfUk9PVH0iICE9ICcnIF0g
CisJaWYgWyAtbiAiJHtDUllQVF9ST09UfSIgXSAKIAl0aGVuCi0JCWlmIFsgIiR7TFVLU19TSUxF
TlR9IiA9ICcnIF0KLQkJdGhlbgotCQkJZ29vZF9tc2cgJ1lvdSBib290ZWQgYW4gZW5jcnlwdGVk
IGxpdmVjZCcKLQkJZmkKKwkJZ29vZF9tc2cgJ1lvdSBib290ZWQgYW4gZW5jcnlwdGVkIGxpdmVj
ZCcgJHtDUllQVF9TSUxFTlR9CiAKLQkJTFVLU19ST09UX0tFWT0kKGhlYWQgLW4gMSAke05FV19S
T09UfS9tbnQvY2Ryb20vbGl2ZWNkKQotCi0JCWlmIFsgIiR7TFVLU19ST09UX0tFWX0iIF0KLQkJ
dGhlbgotCQkJYm9vdHN0cmFwS2V5Ci0JCWZpCisJCUNSWVBUX1JPT1RfS0VZPSQoaGVhZCAtbiAx
ICR7TkVXX1JPT1R9L21udC9jZHJvbS9saXZlY2QpCiAJCQogCQlsb3NldHVwIC9kZXYvbG9vcDAg
JHtORVdfUk9PVH0vbW50L2Nkcm9tLyR7TE9PUEVYVH0ke0xPT1B9CiAJCQogCQl0ZXN0X3N1Y2Nl
c3MgJ1ByZXBhcmluZyBsb29wIGZpbGVzeXN0ZW0nCiAJCQotCQlMVUtTX1JPT1Q9Jy9kZXYvbG9v
cDAnCisJCUNSWVBUX1JPT1Q9Jy9kZXYvbG9vcDAnCiAJCQogCQlzdGFydExVS1MKIAkJCkBAIC02
MDIsNyArNjAyLDcgQEAKICMgRW5kIGNkcm9tIGxvb3B0eXBlIGRldGVybWluYXRpb24gYW5kIG1v
dW50aW5nIGlmIG5lY2Vzc2FyeQogIwogCi0JaWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiAt
ZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJ
CXVuaW9uX2luc2VydF9kaXIgJHtVTklPTn0gJHtORVdfUk9PVH0vJHtGU19MT0NBVElPTn0KIAkJ
CkBAIC02MjgsNyArNjI4LDcgQEAKIAlmaQogCiAJCi0JaWYgWyAhICIke1VTRV9VTklPTkZTX05P
Uk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgIT0gJzEnIF0K
IAl0aGVuCiAJCWdvb2RfbXNnICJDb3B5aW5nIHJlYWQtd3JpdGUgaW1hZ2UgY29udGVudHMgdG8g
dG1wZnMiCiAJCSMgQ29weSBvdmVyIHN0dWZmIHRoYXQgc2hvdWxkIGJlIHdyaXRhYmxlCkBAIC02
OTYsNyArNjk2LDcgQEAKIAkJc2xlZXAgMTAKIAlmaQogZWxzZQotCWlmIFsgIiR7VVNFX1VOSU9O
RlNfTk9STUFMfSIgLWVxICcxJyBdCisJaWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiA9ICcx
JyBdCiAJdGhlbgogCQl1bmlvbl9pbnNlcnRfZGlyICR7VU5JT059ICR7TkVXX1JPT1R9CiAJCW1r
ZGlyIC1wICR7VU5JT059L3RtcC8uaW5pdHJkCkBAIC03MTgsNyArNzE4LDcgQEAKICMgaW5pdCBz
Y3JpcHRzIHdpbGwgYmUgYWJsZSB0byB1bm1vdW50IGl0IHByb3Blcmx5IGF0IG5leHQgcmVib290
CiAjCiAjIEV2ZW50dWFsbHksIGFsbCAidW5pb25zIG92ZXIgLyIgbW91bnRzIHNob3VsZCBnbyBp
biB0aGF0IC8udW5pb25zLwotaWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0K
K2lmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgPSAnMScgXQogdGhlbgogCW1rZGlyIC1wIC8k
e0NIUk9PVH0vLnVuaW9ucy9tZW1vcnkgMj4vZGV2L251bGwKIAltb3VudCAtbyBtb3ZlIC9tZW1v
cnkgLyR7Q0hST09UfS8udW5pb25zL21lbW9yeSB8fCBlY2hvICcqOiBGYWlsZWQgdG8gbW92ZSB1
bmlvbmZzIC9tZW1vcnkgaW50byB0aGUgc3lzdGVtIHJvb3QhJwpAQCAtNzM4LDEyICs3MzgsMTIg
QEAKIAlmaQogCWVjaG8gLW4gJy4nCiAKLQlpZiAvdG1wLy5pbml0cmQvYmluL1sgIiR7VVNFX0RF
VkZTX05PUk1BTH0iIC1lcSAnMScgLWEgIiR7Q0RST09UfSIgLWVxICcwJyBdCisJaWYgL3RtcC8u
aW5pdHJkL2Jpbi9bICIke1VTRV9ERVZGU19OT1JNQUx9IiA9ICcxJyAtYSAiJHtDRFJPT1R9IiA9
IDAgXQogCXRoZW4KIAkJdW1vdW50IC90bXAvLmluaXRyZC9wcm9jIHx8IGVjaG8gJyo6IEZhaWxl
ZCB0byB1bm1vdW50IHRoZSBpbml0cmQgL3Byb2MhJwogCQltb3VudCAtbiAtLW1vdmUgL3RtcC8u
aW5pdHJkL2RldiBkZXYgfHwgZWNobyAnKjogRmFpbGVkIHRvIG1vdmUgb3ZlciB0aGUgL2RldiB0
cmVlIScKIAkJcm0gLXJmIC90bXAvLmluaXRyZC9kZXYgfHwgZWNobyAnKjogRmFpbGVkIHRvIHJl
bW92ZSB0aGUgaW5pdHJkIC9kZXYhJwotCWVsaWYgL3RtcC8uaW5pdHJkL2Jpbi9bICIke1VTRV9V
REVWX05PUk1BTH0iIC1lcSAnMScgXQorCWVsaWYgL3RtcC8uaW5pdHJkL2Jpbi9bICIke1VTRV9V
REVWX05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCS90bXAvLmluaXRyZC9iaW4vWyAtZSAvdG1w
Ly5pbml0cmQvZGV2L2ZkIF0gJiYgcm0gL3RtcC8uaW5pdHJkL2Rldi9mZAogCQkvdG1wLy5pbml0
cmQvYmluL1sgLWUgL3RtcC8uaW5pdHJkL2Rldi9zdGRpbiBdICYmIHJtIC90bXAvLmluaXRyZC9k
ZXYvc3RkaW4KQEAgLTc1Myw3ICs3NTMsNyBAQAogCQl1bW91bnQgL3RtcC8uaW5pdHJkL2RldiB8
fCBlY2hvICcqOiBGYWlsZWQgdG8gdW5tb3VudCB0aGUgaW5pdHJkIC9kZXYhJwogCQl1bW91bnQg
L3RtcC8uaW5pdHJkL3Byb2MgfHwgZWNobyAnKjogRmFpbGVkIHRvIHVubW91bnQgdGhlIGluaXRy
ZCAvcHJvYyEnCiAJCXVtb3VudCAvdG1wLy5pbml0cmQvc3lzIHx8IGVjaG8gJyo6IEZhaWxlZCB0
byB1bm1vdW50IHRoZSBpbml0cmQgL3N5cyEnCi0JZWxpZiAvdG1wLy5pbml0cmQvYmluL1sgIiR7
Q0RST09UfSIgLWVxICcxJyBdCisJZWxpZiAvdG1wLy5pbml0cmQvYmluL1sgIiR7Q0RST09UfSIg
LWVxIDEgXQogCXRoZW4KIAkJdW1vdW50IC90bXAvLmluaXRyZC9wcm9jIHx8IGVjaG8gIio6IEZh
aWxlZCB0byB1bm1vdW50IHRoZSBpbml0cmQgL3Byb2MhIgogCQl1bW91bnQgL2RldiAyPi9kZXYv
bnVsbAo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128927</attachid>
            <date>2007-08-23 07:33 0000</date>
            <desc>genkernel_key_09.patch</desc>
            <filename>genkernel_key_09.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGdlbmtlcm5lbC90cnVuay9nZW5rZXJuZWwuOAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnZW5rZXJu
ZWwvdHJ1bmsvZ2Vua2VybmVsLjgJKHJldmlzaW9uIDUyNCkKKysrIGdlbmtlcm5lbC90cnVuay9n
ZW5rZXJuZWwuOAkod29ya2luZyBjb3B5KQpAQCAtMjY2LDYgKzI2NiwyNiBAQAogVGhpcyBzcGVj
aWZpZXMgdGhlIGRldmljZSBlbmNyeXB0ZWQgYnkgTHVrcywgd2hpY2ggY29udGFpbnMgdGhlIHJv
b3QgCiBmaWxlc3lzdGVtIHRvIG1vdW50LgogLlRQCitcZkJjcnlwdF9zd2FwPVxmUjwuLi4+CitU
aGlzIHNwZWNpZmllcyB0aGUgc3dhcCBkZXZpY2UgZW5jcnlwdGVkIGJ5IEx1a3MuCisuVFAKK1xm
QnJvb3Rfa2V5PVxmUjwuLi4+CitJbiBjYXNlIHlvdXIgcm9vdCBpcyBlbmNyeXB0ZWQgd2l0aCBh
IGtleSwgeW91IGNhbiB1c2UgYSBkZXZpY2UgbGlrZSBhIHVzYiBwZW4gdG8gc3RvcmUgdGhlIGtl
eS4gCitUaGlzIHZhbHVlIHNob3VsZCBiZSB0aGUga2V5IHBhdGggcmVsYXRpdmUgdG8gdGhlIG1v
dW50IHBvaW50LgorLlRQCitcZkJyb290X2tleWRldj1cZlI8Li4uPgorSWYgbmVjZXNzYXJ5IHBy
b3ZpZGUgdGhlIG5hbWUgb2YgdGhlIGRldmljZSB0aGF0IGNhcnJpZXMgdGhlIHJvb3Rfa2V5Lgor
SWYgdW5zZXQgd2hpbGUgdXNpbmcgcm9vdF9rZXksIGl0IHdpbGwgYXV0b21hdGljYWxseSBsb29r
IGZvciB0aGUgZGV2aWNlIGluIGV2ZXJ5IGJvb3QuCisuVFAKK1xmQnN3YXBfa2V5PVxmUjwuLi4+
CitTYW1lIGFzIHJvb3Rfa2V5IGZvciBzd2FwLgorLlRQCitcZkJzd2FwX2tleWRldj1cZlI8Li4u
PgorU2FtZSBhcyByb290X2tleWRldiBmb3Igc3dhcC4KKy5UUAorXGZCY3J5cHRfc2lsZW50XGZS
CitTZXQgdGhpcyB0byBzaWxlbnQgYWxsIHRoZSBvdXRwdXQgcmVsYXRlZCB0byB0aGUgY3J5cHRv
Z3JhcGhpYyBzb2Z0d2FyZSwgYW5kIGluIGNhc2UgeW91ciBlbmNyeXB0ZWQgZGV2aWNlIGlzbid0
IG9wZW4gd2l0aCB0aGUga2V5LCBpdCBvcGVucyBhIHNoZWxsIGluIHRoZSBpbml0cmQgcXVpZXRs
eS4KKy5UUAogXGZCZG9kbXJhaWQ9XGZSPC4uLj4KIFBhc3NlcyBhcmd1bWVudHMgdG8gZG1yYWlk
IG9uIGJvb3R1cC4KIC5UUApJbmRleDogZ2Vua2VybmVsL3RydW5rL2dlbmVyaWMvaW5pdHJkLnNj
cmlwdHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gZ2Vua2VybmVsL3RydW5rL2dlbmVyaWMvaW5pdHJkLnNjcmlw
dHMJKHJldmlzaW9uIDUyNCkKKysrIGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5zY3Jp
cHRzCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBACiAKIG1vZHVsZXNfc2NhbigpIHsK
IAlsb2NhbCBNT0RTCi0JWyAtZCAvZXRjL21vZHVsZXMvJHsxfSBdIHx8IHRvdWNoIC9ldGMvbW9k
dWxlcy8kezF9CisJWyAtZCAiL2V0Yy9tb2R1bGVzLyR7MX0iIF0gfHwgdG91Y2ggL2V0Yy9tb2R1
bGVzLyR7MX0KIAotCVsgLWYgL2V0Yy9tb2R1bGVzLyR7MX0gXSAmJiBNT0RTPWBjYXQgL2V0Yy9t
b2R1bGVzLyR7MX1gCisJWyAtZiAiL2V0Yy9tb2R1bGVzLyR7MX0iIF0gJiYgTU9EUz1gY2F0IC9l
dGMvbW9kdWxlcy8kezF9YAogCWZvciB4IGluICR7TU9EU30KIAlkbwogCQlNTE9BRD1gZWNobyAk
e01MSVNUfSB8IHNlZCAtZSAicy8uKiR7eH0uKi8ke3h9LyJgCkBAIC02Myw4MyArNjMsOTcgQEAK
IAlkb25lCiB9CiAKLWZpbmRjZG1vdW50KCkgewordXBwZXJjYXNlKCl7CisJIyBuZWVkcyB0ciBv
biBidXN5Ym94CisJZWNobyAkMSB8IHRyICdhLXonICdBLVonCit9CisKKworZmluZG1lZGlhbW91
bnQoKSB7CisJIyAkMSA9IG1vdW50IGRpciBuYW1lIC8gbWVkaWEgbmFtZQorCSMgJDIgPSByZWNv
Z25pdGlvbiBmaWxlCisJIyAkMyA9IHZhcmlhYmxlIHRvIGhhdmUgdGhlIGRldmljZSBwYXRoCisJ
IyAkNCA9IGRpcmVjdG9yeSBiZWZvcmUgL21udCwgbGlrZSBORVdfUk9PVAorCSMgYXJncyByZW1h
aW5pbmcgYXJlIHBvc3NpYmxlIGRldmljZXMgCisKKwlsb2NhbCBtZWRpYT0kMSByZWNvbj0kMiB2
cmJsPSQzCisJbG9jYWwgbW50ZGlyPSIkezR9L21udC8ke21lZGlhfSIKKwlzaGlmdCA0CisKKwln
b29kX21zZyAiTG9va2luZyBmb3IgdGhlICR7bWVkaWF9IiAke0NSWVBUX1NJTEVOVH0KKwogCWlm
IFsgIiQjIiAtZ3QgIjAiIF0KIAl0aGVuCisKKwkJWyAhIC1kICIke21udGRpcn0iIF0gJiYgbWtk
aXIgLXAgJHttbnRkaXJ9IDI+L2Rldi9udWxsID4vZGV2L251bGwKKwogCQlmb3IgeCBpbiAkKgog
CQlkbwogCQkJIyBDaGVjayBmb3IgYSBibG9jayBkZXZpY2UgdG8gbW91bnQKIAkJCWlmIFsgLWIg
IiR7eH0iIF0KIAkJCXRoZW4KLQkJCQlnb29kX21zZyAiQXR0ZW1wdGluZyB0byBtb3VudCBtZWRp
YTotICR7eH0iCi0JCQkJaWYgWyAteiAiJHtDRFJPT1RfREVWfSIgXQotCQkJCXRoZW4KLQkJCQkJ
bW91bnQgLXIgLXQgYXV0byAke3h9ICR7TkVXX1JPT1R9L21udC9jZHJvbSBcCi0JCQkJCQk+IC9k
ZXYvbnVsbCAyPiYxCisJCQkJZ29vZF9tc2cgIkF0dGVtcHRpbmcgdG8gbW91bnQgbWVkaWE6LSAk
e3h9IiAke0NSWVBUX1NJTEVOVH0KKwkKKwkJCQlpZiBbIC1uICIke0NEUk9PVF9ERVZ9IiAtYSBc
KCAke21lZGlhfT0iY2Ryb20iIFwpIF07IHRoZW4KKwkJCQkJbW91bnQgLXIgLXQgYXV0byAke3h9
ICR7TkVXX1JPT1R9L21udC9jZHJvbSA+L2Rldi9udWxsIDI+JjEKIAkJCQllbHNlCi0JCQkJCW1v
dW50IC1yIC10IGlzbzk2NjAgJHt4fSAke05FV19ST09UfS9tbnQvY2Ryb20gXAotCQkJCQkJPiAv
ZGV2L251bGwgMj4mMQotCQkJCWZpCisJCQkJCW1vdW50IC1yIC10IGF1dG8gJHt4fSAke21udGRp
cn0gPi9kZXYvbnVsbCAyPiYxCisJCQkJZmkJCQkJCiAJCQkJaWYgWyAiJD8iID0gJzAnIF0KIAkJ
CQl0aGVuCi0JCQkJCSMgQ2hlY2sgZm9yIGEgTGl2ZUNECi0JCQkJCWlmIFsgLWYgJHtORVdfUk9P
VH0vbW50L2Nkcm9tLyR7U1VCRElSfS9saXZlY2QgXQorCQkJCQkjIENoZWNrIGZvciB0aGUgbWVk
aWEKKwkJCQkJaWYgWyAtZiAiJHttbnRkaXJ9LyR7cmVjb259IiBdCiAJCQkJCXRoZW4KLQkJCQkJ
CVJFQUxfUk9PVD0iJHt4fSIKKwkJCQkJCSNzZXQgUkVBTF9ST09ULCBDUllQVF9ST09UX0tFWURF
ViBvciB3aGF0ZXZlciAke3ZyYmx9IGlzCisJCQkJCQlldmFsICR7dnJibH0nPSciJHt4fSIKKwkJ
CQkJCWdvb2RfbXNnICJNZWRpYSBmb3VuZCBvbiAke3h9IiAke0NSWVBUX1NJTEVOVH0KIAkJCQkJ
CWJyZWFrCiAJCQkJCWVsc2UKLQkJCQkJCXVtb3VudCAke05FV19ST09UfS9tbnQvY2Ryb20KKwkJ
CQkJCXVtb3VudCAke21udGRpcn0KIAkJCQkJZmkKIAkJCQlmaQogCQkJZmkKIAkJZG9uZQotCQlp
ZiBbICIke1JFQUxfUk9PVH0iICE9ICcnIF0KLQkJdGhlbgotCQkJZ29vZF9tc2cgIk1lZGlhIGZv
dW5kIG9uICR7eH0iCi0JCWZpCiAJZmkKKworCWV2YWwgbG9jYWwgcmVzdWx0PSckJyR7dnJibH0K
KworCVsgLW4gIiR7cmVzdWx0fSIgXSB8fCBiYWRfbXNnICJNZWRpYSBub3QgZm91bmQiICR7Q1JZ
UFRfU0lMRU5UfQogfQogCi1maW5ka2V5bW91bnQoKSB7Ci0gICAgICAgIGlmIFsgIiQjIiAtZ3Qg
IjAiIF0KLSAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgIGZvciB4IGluICQqCi0gICAgICAg
ICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIGEgYmxvY2sg
ZGV2aWNlIHRvIG1vdW50Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBbIC1iICIke3h9IiBd
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGVuCi0JCQkJaWYgWyAke2NyeXB0X3NpbGVudH0g
PSAnJyBdCi0JCQkJdGhlbgotCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29vZF9t
c2cgIkF0dGVtcHRpbmcgdG8gbW91bnQga2V5IG1lZGlhOi0gJHt4fSIKLQkJCQlmaQorZGV2aWNl
bGlzdCgpeworCSMgTG9jYXRlIHRoZSBjZHJvbSBkZXZpY2Ugd2l0aCBvdXIgbWVkaWEgb24gaXQu
CisJIyBDRFJPTSBERVZJQ0VTCisJbG9jYWwgREVWSUNFUz0iL2Rldi9jZHJvbXMvKiAvZGV2L2lk
ZS9jZC8qIC9kZXYvc3IqIgorCSMgVVNCIEtleWNoYWluL1N0b3JhZ2UKKwlERVZJQ0VTPSIkREVW
SUNFUyAvZGV2L3NkKiIKKwkjIElERSBkZXZpY2VzCisJREVWSUNFUz0iJERFVklDRVMgL2Rldi9o
ZCoiCisJIyBVU0IgdXNpbmcgdGhlIFVTQiBCbG9jayBEcml2ZXIKKwlERVZJQ0VTPSIkREVWSUNF
UyAvZGV2L3ViZCogL2Rldi91YmQvKiIKKwkjIGlTZXJpZXMgZGV2aWNlcworCURFVklDRVM9IiRE
RVZJQ0VTIC9kZXYvaXNlcmllcy92Y2QqIgorCWVjaG8gJHtERVZJQ0VTfQorfQogCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50IC1yIC10IGF1dG8gJHt4fSAke05FV19ST09U
fS9tbnQva2V5ZGV2IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID4gL2Rldi9udWxsIDI+JjEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgWyAiJD8iID0gJzAnIF0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbgot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIHRoZSBr
ZXkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBbIC1lICR7TkVX
X1JPT1R9L21udC9rZXlkZXYvJHtMVUtTX1JPT1RfS0VZfSBdCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTFVLU19ST09UX0tFWURFVj0iJHt4fSIKLQkJCQkJCXVtb3VudCAk
e05FV19ST09UfS9tbnQva2V5ZGV2Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVtb3VudCAke05FV19ST09UfS9tbnQva2V5ZGV2Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICAgICAgZG9uZQotICAgICAgICAg
ICAgICAgIGlmIFsgIiR7TFVLU19ST09UX0tFWURFVn0iICE9ICcnIF0KLSAgICAgICAgICAgICAg
ICB0aGVuCi0JCQlpZiBbICR7Y3J5cHRfc2lsZW50fSA9ICcnIF0KLQkJCXRoZW4KLQkgICAgICAg
ICAgICAgICAgICAgICAgICBnb29kX21zZyAiS2V5IG1lZGlhIGZvdW5kIG9uICR7eH0iCi0JCQlm
aQotICAgICAgICAgICAgICAgIGZpCi0gICAgICAgIGZpCitib290c3RyYXBDRCgpIHsKKwkKKwls
b2NhbCBERVZJQ0VTPWBkZXZpY2VsaXN0YAorCSMgVGhlIGRldmljZSB3YXMgc3BlY2lmaWVkIG9u
IHRoZSBjb21tYW5kIGxpbmUuICBTaG9sZCB3ZSBldmVuIGJlIGRvaW5nIGEKKwkjIHNjYW4gYXQg
dGhpcyBwb2ludD8gIEkgdGhpbmsgbm90LgorCVsgLW4gIiR7Q0RST09UX0RFVn0iIF0gJiYgREVW
SUNFUz0iJERFVklDRVMgJHtDRFJPT1RfREVWfSIKKworCWZpbmRtZWRpYW1vdW50ICJjZHJvbSIg
IiR7U1VCRElSfS9saXZlY2QiICJSRUFMX1JPT1QiICIke05FV19ST09UfSIgJHtERVZJQ0VTfQog
fQogCitib290c3RyYXBLZXkoKSB7CisJIyAkMSA9IFJPT1QvU1dBUAorCWxvY2FsIEtFWURFVlM9
YGRldmljZWxpc3RgCisJZXZhbCBsb2NhbCBrZXlsb2M9JyIke0NSWVBUXyckezF9J19LRVl9IicK
IAorCWZpbmRtZWRpYW1vdW50ICJrZXkiICIke2tleWxvY30iICJDUllQVF8kezF9X0tFWURFViIg
IiIgJHtLRVlERVZTfQorfQorCiBjYWNoZV9jZF9jb250ZW50cygpIHsKIAkjIENoZWNrIGxvb3Ag
ZmlsZSBleGlzdHMgYW5kIGNhY2hlIHRvIHJhbWRpc2sgaWYgRE9fY2FjaGUgaXMgZW5hYmxlZAog
CWlmIFsgIiR7TE9PUFRZUEV9IiAhPSAibm9sb29wIiBdICYmIFsgIiR7TE9PUFRZUEV9IiAhPSAi
c2dpbWlwcyIgXQpAQCAtMzI4LDI1ICszNDIsNzUgQEAKIAlmaQogfQogCi1nb29kX21zZygpIHsK
KworIyBtc2cgZnVuY3Rpb25zIGFyZ3VtZW50cworIyAkMSBzdHJpbmcKKyMgJDIgaGlkZSBmbGFn
CisKK2dvb2RfbXNnKCkgewkKIAltc2dfc3RyaW5nPSQxCiAJbXNnX3N0cmluZz0iJHttc2dfc3Ry
aW5nOi0uLi59IgotCWVjaG8gLWUgIiR7R09PRH0+PiR7Tk9STUFMfSR7Qk9MRH0gJHttc2dfc3Ry
aW5nfSAke05PUk1BTH0iCisJWyAiJDIiICE9IDEgXSAmJiBlY2hvIC1lICIke0dPT0R9Pj4ke05P
Uk1BTH0ke0JPTER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9IgogfQogCiBiYWRfbXNnKCkgewog
CW1zZ19zdHJpbmc9JDEKIAltc2dfc3RyaW5nPSIke21zZ19zdHJpbmc6LS4uLn0iCi0Jc3BsYXNo
ICd2ZXJib3NlJyA+IC9kZXYvbnVsbCAmCi0JZWNobyAtZSAiJHtCQUR9ISEke05PUk1BTH0ke0JP
TER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9IgorCWlmIFsgIiQyIiAhPSAxIF0KKwl0aGVuCisJ
CXNwbGFzaCAndmVyYm9zZScgPiAvZGV2L251bGwgJgorCQllY2hvIC1lICIke0JBRH0hISR7Tk9S
TUFMfSR7Qk9MRH0gJHttc2dfc3RyaW5nfSAke05PUk1BTH0iCisJZmkKIH0gCiAKIHdhcm5fbXNn
KCkgewogCW1zZ19zdHJpbmc9JDEKIAltc2dfc3RyaW5nPSIke21zZ19zdHJpbmc6LS4uLn0iCi0J
ZWNobyAtZSAiJHtXQVJOfSoqJHtOT1JNQUx9JHtCT0xEfSAke21zZ19zdHJpbmd9ICR7Tk9STUFM
fSIKLX0gCisJWyAiJDIiICE9IDEgXSAmJiBlY2hvIC1lICIke1dBUk59Kioke05PUk1BTH0ke0JP
TER9ICR7bXNnX3N0cmluZ30gJHtOT1JNQUx9IgorfQogCitjcnlwdF9maWx0ZXIoKSB7CisJaWYg
WyAke0NSWVBUX1NJTEVOVH0gLWVxIDEgXQorCXRoZW4KKwkJZXZhbCAkMSA+L2Rldi9udWxsIDI+
L2Rldi9udWxsCisJZWxzZQorCQlldmFsICQxCisJZmkKK30KKword2hlcmVpcygpeworCSMgJDEg
PSB2YXJpYWJsZSB3aG9zZSB2YWx1ZSBpcyB0aGUgcGF0aCAoZXhhbXBsZXM6ICJSRUFMX1JPT1Qi
LCAiTFVLU19LRVlERVYiKQorCSMgJDIgPSBsYWJlbAorCSMgJDMgPSBvcHRpb25hbCBleHBsYW5h
dGlvbnMgZm9yIGZhaWx1cmUKKworCWV2YWwgbG9jYWwgb2xkdmFsdWU9JyQnJHsxfQorCisJWyBc
KCAkIyAhPSAyIFwpIC1hIFwoICQjICE9IDMgXCkgXSAmJiBcCisJCWJhZF9tc2cgIkJhZCBpbnZv
Y2F0aW9uIG9mIGZ1bmN0aW9uIHdoZXJlaXMsIHBsZWFzZSBmaWxlIGEgYnVnIFwKKwkJcmVwb3J0
IHdpdGggdGhpcyBtZXNzYWdlIiAmJiBleGl0IDEKKwlbIC1uICIkezN9IiBdICYmIGxvY2FsIGV4
cGxudD0iIG9yIDogJHszfSIgfHwgbG9jYWwgZXhwbG50PSIuIgorCQorCWJhZF9tc2cgIkNvdWxk
IG5vdCBmaW5kIHRoZSAkezJ9IGluICR7b2xkdmFsdWV9JHtleHBsbnR9IgorCWVjaG8gJyAgIFBs
ZWFzZSBzcGVjaWZ5IGFub3RoZXIgdmFsdWUgb3I6IHByZXNzIEVudGVyIGZvciB0aGUgc2FtZSwg
dHlwZSAic2hlbGwiIGZvciBhIHNoZWxsLCBvciAicSIgdG8gc2tpcC4uLicKKwllY2hvIC1uICIk
ezJ9KCR7b2xkdmFsdWV9KSA6OiAiCisJcmVhZCAkezF9CisJY2FzZSBgZXZhbCBlY2hvICckJyR7
MX1gIGluCisJCSdxJykKKwkJCWV2YWwgJHsxfSc9JyR7b2xkdmFsdWV9CisJCQl3YXJuX21zZyAi
U2tpcHBpbmcgc3RlcCwgdGhpcyB3aWxsIGxpa2VseSBjYXVzZSBhIGJvb3QgZmFpbHVyZS4iCisJ
CQlicmVhaworCQkJOzsKKwkJJ3NoZWxsJykKKwkJCWV2YWwgJHsxfSc9JyR7b2xkdmFsdWV9CisJ
CQllY2hvICJUbyBsZWF2ZSBhbmQgdHJ5IGFnYWluIGp1c3QgcHJlc3MgPEN0cmw+K0QiCisJCQly
dW5fc2hlbGwKKwkJCTs7CisJCScnKQorCQkJZXZhbCAkezF9Jz0nJHtvbGR2YWx1ZX0KKwkJCTs7
CisJZXNhYworfQorCiBiaW5kX21vdW50X2RldigpIHsKIAkjIGJpbmQtbW91bnQgL2Rldi8gc28g
dGhhdCBsb29wIGRldmljZXMgY2FuIGJlIGZvdW5kCiAJbW91bnQgLW8gYmluZCAke05FV19ST09U
fS9kZXYgL2RldgpAQCAtMzU0LDE0ICs0MTgsMTQgQEAKIAogc3RhcnRfZGV2X21ncigpIHsKIAkj
IENoZWNrIHVkZXYgaXMgYXZhaWxhYmxlLi4uCi0JaWYgWyAiJHtLVl8yXzZfT1JfR1JFQVRFUn0i
IC1hICEgIiR7VVNFX1VERVZfTk9STUFMfSIgLWVxICcwJyBdCisJaWYgWyAiJHtLVl8yXzZfT1Jf
R1JFQVRFUn0iIC1hICIke1VTRV9VREVWX05PUk1BTH0iICE9ICcwJyBdCiAJdGhlbgogCQlVU0Vf
VURFVl9OT1JNQUw9MQogCWVsc2UKIAkJVVNFX1VERVZfTk9STUFMPTAKIAlmaQogCi0JaWYgWyAi
JHtVU0VfVURFVl9OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VREVWX05PUk1BTH0i
ID0gJzEnIF0KIAl0aGVuCiAJCWNkIC9zeXMKIAkJWyAiJHtET19zbG93dXNifSIgXSAmJiBzbGVl
cCAxMApAQCAtMzc4LDQyICs0NDIsNiBAQAogCWZpCiB9CiAKLWJvb3RzdHJhcENEKCkgewotCSMg
TG9jYXRlIHRoZSBjZHJvbSBkZXZpY2Ugd2l0aCBvdXIgbWVkaWEgb24gaXQuCi0JIyBDRFJPTSBE
RVZJQ0VTCi0JREVWSUNFUz0iL2Rldi9jZHJvbXMvKiAvZGV2L2lkZS9jZC8qIC9kZXYvc3IqIgot
CSMgVVNCIEtleWNoYWluL1N0b3JhZ2UKLQlERVZJQ0VTPSIkREVWSUNFUyAvZGV2L3NkKiIKLQkj
IElERSBkZXZpY2VzCi0JREVWSUNFUz0iJERFVklDRVMgL2Rldi9oZCoiCi0JIyBVU0IgdXNpbmcg
dGhlIFVTQiBCbG9jayBEcml2ZXIKLQlERVZJQ0VTPSIkREVWSUNFUyAvZGV2L3ViZCogL2Rldi91
YmQvKiIKLQkjIGlTZXJpZXMgZGV2aWNlcwotCURFVklDRVM9IiRERVZJQ0VTIC9kZXYvaXNlcmll
cy92Y2QqIgotCSMgVGhlIGRldmljZSB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUu
ICBTaG9sZCB3ZSBldmVuIGJlIGRvaW5nIGEKLQkjIHNjYW4gYXQgdGhpcyBwb2ludD8gIEkgdGhp
bmsgbm90LgotCVsgLW4gIiR7Q0RST09UX0RFVn0iIF0gJiYgREVWSUNFUz0iJERFVklDRVMgJHtD
RFJPT1RfREVWfSIKLQotCWZpbmRjZG1vdW50ICRERVZJQ0VTCi19Ci0KLWJvb3RzdHJhcEtleSgp
IHsKLSAgICAgICAgIyBMb2NhdGUgdGhlIGRldmljZSB3aXRoIG91ciBrZXkgb24gaXQuCi0gICAg
ICAgICMgVVNCIEtleWNoYWluL1N0b3JhZ2UKLSAgICAgICAgS0VZREVWUz0iL2Rldi9zZCoiCi0g
ICAgICAgICMgQ0RST00gREVWSUNFUwotICAgICAgICBLRVlERVZTPSIke0tFWURFVlN9IC9kZXYv
Y2Ryb21zLyogL2Rldi9pZGUvY2QvKiAvZGV2L3NyKiIKLSAgICAgICAgIyBJREUgZGV2aWNlcwot
ICAgICAgICBLRVlERVZTPSIke0tFWURFVlN9IC9kZXYvaGQqIgotICAgICAgICAjIFVTQiB1c2lu
ZyB0aGUgVVNCIEJsb2NrIERyaXZlcgotICAgICAgICBLRVlERVZTPSIke0tFWURFVlN9IC9kZXYv
dWJkKiAvZGV2L3ViZC8qIgotICAgICAgICAjIGlTZXJpZXMgZGV2aWNlcwotICAgICAgICBLRVlE
RVZTPSIke0tFWURFVnN9IC9kZXYvaXNlcmllcy92Y2QqIgotCi0gICAgICAgIGZpbmRrZXltb3Vu
dCAke0tFWURFVlN9Ci19Ci0KLQogY21kbGluZV9od29wdHMoKSB7CiAJIyBTY2FuIENNRExJTkUg
Zm9yIGFueSAiZG9zY3NpIiBvciAibm9zY3NpIi10eXBlIGFyZ3VtZW50cwogCQpAQCAtNTEwLDcg
KzUzOCw3IEBACiAKIAkJY2hvb3NlS2V5bWFwCiAKLQkJWyAiJHtERVZCSU5EfSIgLWVxICcxJyBd
ICYmIHVtb3VudCAvZGV2CisJCVsgIiR7REVWQklORH0iID0gJzEnIF0gJiYgdW1vdW50IC9kZXYK
IAkJCiAJCWlmIFsgLWUgL2V0Yy9zeXNjb25maWcva2V5Ym9hcmQgLWEgIiR7Q0RST09UfSIgLWVx
ICcxJyBdCiAJCXRoZW4KQEAgLTYwMiw3ICs2MzAsNyBAQAogCQlsbiAtc2YgL2Rldi9kZXZpY2Ut
bWFwcGVyIC9kZXYvbWFwcGVyL2NvbnRyb2wKIAlmaQogCQotCWlmIFsgIiR7VVNFX0RNUkFJRF9O
T1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9ETVJBSURfTk9STUFMfSIgPSAnMScgXQog
CXRoZW4KIAkJaWYgWyAtZSAnL3NiaW4vZG1yYWlkJyBdCiAJCXRoZW4KQEAgLTYxNiw3ICs2NDQs
NyBAQAogCQlmaQogCWZpCiAKLQlpZiBbICIke1VTRV9MVk0yX05PUk1BTH0iIC1lcSAnMScgXQor
CWlmIFsgIiR7VVNFX0xWTTJfTk9STUFMfSIgPSAnMScgXQogCXRoZW4KIAkJaWYgWyAtZSAnL2Jp
bi92Z3NjYW4nIC1hIC1lICcvYmluL3ZnY2hhbmdlJyBdCiAJCXRoZW4KQEAgLTYzMSw3ICs2NTks
NyBAQAogCQkJL2Jpbi92Z2NoYW5nZSAtYXkgLS1pZ25vcmVsb2NraW5nZmFpbHVyZSAyPi9kZXYv
bnVsbAogCiAJCQkjIERpc2FibGUgRVZNUyBzaW5jZSBsdm0yIGlzIGFjdGl2YXRlZCBhbmQgdGhl
eSBkb250IHdvcmsgdG9nZXRoZXIuCi0JCQlpZiBbICIke1VTRV9FVk1TMl9OT1JNQUx9IiAtZXEg
JzEnIF0KKwkJCWlmIFsgIiR7VVNFX0VWTVMyX05PUk1BTH0iID0gJzEnIF0KIAkJCXRoZW4KIAkJ
CQliYWRfbXNnICJEaXNhYmxpbmcgRVZNUyBTdXBwb3J0IGJlY2F1c2UgTFZNMiBzdGFydGVkIgog
CQkJCWJhZF9tc2cgIkRvIG5vdCBhZGQgZG9sdm0yIHRvIHRoZSBjbWRsaW5lIGlmIHRoaXMgaXMg
bm90IHdoYXQgeW91IHdhbnQiCkBAIC02NDMsNyArNjcxLDcgQEAKIAkJZmkKIAlmaQogCi0JaWYg
WyAiJHtVU0VfRVZNUzJfTk9STUFMfSIgLWVxICcxJyBdCisJaWYgWyAiJHtVU0VfRVZNUzJfTk9S
TUFMfSIgPSAnMScgXQogCXRoZW4KIAkJaWYgWyAtZSAnL3NiaW4vZXZtc19hY3RpdmF0ZScgXQog
CQl0aGVuCkBAIC02NTQsNjAgKzY4MiwxNDIgQEAKIH0KIAogIyBPcGVuIGEgTFVLUyBkZXZpY2UK
LSMgJDEgTFVLUyBkZXZpY2UKLSMgJDIgTFVLUyBuYW1lCisjIEl0IGlzIGVpdGhlciB0aGUgcm9v
dCBvciBhIHN3YXAsIG90aGVyIGRldmljZXMgYXJlIHN1cHBvcnRlZCBpbiB0aGUgc2NyaXB0cyBw
cm92aWRlZCB3aXRoIHN5cy1mcy9jcnlwdHNldHVwLWx1a3MKKyMgJDEgLSByb290L3N3YXAKIG9w
ZW5MVUtTKCkgewotCUxVS1NfREVWSUNFPSIkMSIKLQlMVUtTX05BTUU9IiQyIgotCWlmIFsgLWUg
L3NiaW4vY3J5cHRzZXR1cCBdCi0JdGhlbgotCQl3aGlsZSBbIDEgXQotCQlkbwotCQkJaWYgWyAi
JHtMVUtTX0RFVklDRX0iID0gJycgXQorCSMgcGxlYXNlIHVzZSAndHInIGFuZCB0aGlzIGxpbmUs
IG9yIHJlbW92ZSBpdAorCSMgZXZhbCBsb2NhbCBUWVBFPWB1cHBlcmNhc2UgJDFgCisKKwljYXNl
ICQxIGluCisJCXJvb3QpCisJCQlsb2NhbCBUWVBFPVJPT1QKKwkJCTs7CisJCXN3YXApCisJCQls
b2NhbCBUWVBFPVNXQVAKKwkJCTs7CisJZXNhYworCisJZXZhbCBsb2NhbCBMVUtTX0RFVklDRT0n
IiR7Q1JZUFRfJyR7VFlQRX0nfSInIExVS1NfTkFNRT0iJDEiIExVS1NfS0VZPSciJHtDUllQVF8n
JHtUWVBFfSdfS0VZfSInIExVS1NfS0VZREVWPSciJHtDUllQVF8nJHtUWVBFfSdfS0VZREVWfSIn
CisJbG9jYWwgREVWX0VSUk9SPTAgS0VZX0VSUk9SPTAgS0VZREVWX0VSUk9SPTAKKwlsb2NhbCBt
bnRrZXk9Ii9tbnQva2V5LyIgY3J5cHRzZXR1cF9vcHRpb25zPScnCisKKwlbICEgLWUgL3NiaW4v
Y3J5cHRzZXR1cCBdICYmIGJhZF9tc2cgIlRoZSBpbml0cmQgZG9lcyBub3Qgc3VwcG9ydCBMVUtT
IiAmJiBleGl0IDEKKwl3aGlsZSBbIDEgXQorCWRvCisJCSMgaWYgY3J5cHRfc2lsZW50PTEgYW5k
IHNvbWUgZXJyb3Igb2NjdXJzLCBlbnRlciBzaGVsbCBxdWlldGx5CisJCWlmIFsgXCggJHtDUllQ
VF9TSUxFTlR9IC1lcSAxIFwpIC1hIFwoIFwoIFwoICR7REVWX0VSUk9SfSAtZXEgMSBcKSAtbyBc
KCAke0tFWV9FUlJPUn0gLWVxIDEgXCkgXCkgLW8gXCggJHtLRVlERVZfRVJST1J9IC1lcSAxIFwp
IFwpIF0KKwkJdGhlbgorCQkJcnVuX3NoZWxsCisJCWVsaWYgWyAke0RFVl9FUlJPUn0gLWVxIDEg
XQorCQl0aGVuCisJCQl3aGVyZWlzICJMVUtTX0RFVklDRSIgIiR7TFVLU19OQU1FfSIKKwkJCURF
Vl9FUlJPUj0wCisJCWVsaWYgWyAke0tFWV9FUlJPUn0gLWVxIDEgXQorCQl0aGVuCisJCQl3aGVy
ZWlzICJMVUtTX0tFWSIgIiR7TFVLU19OQU1FfSBrZXkiCisJCQlLRVlfRVJST1I9MAorCQllbGlm
IFsgJHtLRVlERVZfRVJST1J9IC1lcSAxIF0KKwkJdGhlbgorCQkJd2hlcmVpcyAiTFVLU19LRVlE
RVYiICIke0xVS1NfTkFNRX0ga2V5IGRldmljZSIKKwkJCUtFWURFVl9FUlJPUj0wCisJCWVsc2UK
KwkJCXNldHVwX21kX2RldmljZSAke0xVS1NfREVWSUNFfQorCQkJY3J5cHRzZXR1cCBpc0x1a3Mg
JHtMVUtTX0RFVklDRX0KKwkJCWlmIFsgISAiJD8iIC1lcSAnMCcgXQogCQkJdGhlbgotCQkJCSMg
TFVLUyBkZXZpY2UgY291bGQgbm90IGJlIG9wZW5lZC4gUHJvbXB0IHVzZXIgZm9yIGRldmljZS4K
LQkJCQliYWRfbXNnICJUaGUgTFVLUyAke0xVS1NfTkFNRX0gYmxvY2sgZGV2aWNlIGlzIG5vdCBk
ZXRlY3RlZC4iCi0JCQkJZWNobyAiICAgUGxlYXNlIHNwZWNpZnkgYSAke0xVS1NfTkFNRX0gTFVL
UyBkZXZpY2UgdG8gb3BlbiwgInEiIHRvIHNraXAsIG9yICJzaGVsbCIgZm9yIGEgc2hlbGwuLi4i
Ci0JCQkJZWNobyAtbiAiTFVLUyAke0xVS1NfTkFNRX0oKSA6OiAiCi0JCQkJcmVhZCBMVUtTX0RF
VklDRQorCQkJCWJhZF9tc2cgIlRoZSBMVUtTIGRldmljZSAke0xVS1NfREVWSUNFfSBkb2VzIG5v
dCBjb250YWluIGEgTFVLUyBoZWFkZXIiICR7Q1JZUFRfU0lMRU5UfQorCQkJCURFVl9FUlJPUj0x
CiAJCQkJY29udGludWUKLQkJCWVsaWYgWyAiJHtMVUtTX0RFVklDRX0iID0gJ3NoZWxsJyBdCi0J
CQl0aGVuCi0JCQkJcnVuX3NoZWxsCi0JCQkJCi0JCQkJTFVLU19ERVZJQ0U9JycKLQkJCQljb250
aW51ZQotCQkJZWxpZiBbICIke0xVS1NfREVWSUNFfSIgPSAncScgXQotCQkJdGhlbgotCQkJCWJy
ZWFrCiAJCQllbHNlCi0JCQkJc2V0dXBfbWRfZGV2aWNlICR7TFVLU19ERVZJQ0V9Ci0JCQkJaWYg
Y3J5cHRzZXR1cCBpc0x1a3MgJHtMVUtTX0RFVklDRX0KKwkJCQkjIEhhbmRsZSBrZXlzCisJCQkJ
aWYgWyAtbiAiJHtMVUtTX0tFWX0iIF0gCiAJCQkJdGhlbgotCQkJCQlnb29kX21zZyAiT3Blbmlu
ZyBMVUtTIGRldmljZSAke0xVS1NfREVWSUNFfSIKLQkJCQkJCi0JCQkJCWNyeXB0c2V0dXAgbHVr
c09wZW4gJHtMVUtTX0RFVklDRX0gJHtMVUtTX05BTUV9Ci0JCQkJCWlmIFsgISAiJD8iIC1lcSAn
MCcgXQorCQkJCQlpZiBbICEgLWUgIiR7bW50a2V5fSR7TFVLU19LRVl9IiBdIAogCQkJCQl0aGVu
Ci0JCQkJCQliYWRfbXNnICJGYWlsZWQgb3BlbiBMVUtTIGRldmljZSAke0xVS1NfREVWSUNFfSIK
LQkJCQkJZWxzZQotCQkJCQkJYnJlYWsKKwkJCQkJCWlmIFsgLWIgIiR7TFVLU19LRVlERVZ9IiBd
CisJCQkJCQl0aGVuIGdvb2RfbXNnICJVc2luZyBrZXkgZGV2aWNlICR7TFVLU19LRVlERVZ9LiIg
JHtDUllQVF9TSUxFTlR9CisJCQkJCQllbHNlCisJCQkJCQkJZ29vZF9tc2cgIlBsZWFzZSBpbnNl
cnQgcmVtb3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBmb3IgJHtMVUtTX05BTUV9IiAke0NS
WVBUX1NJTEVOVH0KKwkJCQkJCQkjIGFib3J0IGFmdGVyIDEwIHNlY3MKKwkJCQkJCQlsb2NhbCBj
b3VudD0xMAorCQkJCQkJCXdoaWxlIFsgJHtjb3VudH0gLWd0IDAgXQorCQkJCQkJCWRvIAorCQkJ
CQkJCQljb3VudD0kKChjb3VudC0xKSkKKwkJCQkJCQkJc2xlZXAgMQorCQkJCQkJCQlpZiBbIC1i
ICIke0xVS1NfS0VZREVWfSIgXQorCQkJCQkJCQl0aGVuCisJCQkJCQkJCQlnb29kX21zZyAiUmVt
b3ZhYmxlIGRldmljZSAke0xVS1NfS0VZREVWfSBkZXRlY3RlZC4iICR7Q1JZUFRfU0lMRU5UfQor
CQkJCQkJCQkJYnJlYWsKKwkJCQkJCQkJZmkKKwkJCQkJCQlkb25lCisJCQkJCQkJaWYgWyAhIC1i
ICIke0xVS1NfS0VZREVWfSIgXQorCQkJCQkJCXRoZW4KKwkJCQkJCQkJZXZhbCBDUllQVF8ke1RZ
UEV9X0tFWT0ke0xVS1NfS0VZfQorCQkJCQkJCQlib290c3RyYXBLZXkgJHtUWVBFfQorCQkJCQkJ
CQlldmFsIExVS1NfS0VZREVWPSciJHtDUllQVF8nJHtUWVBFfSdfS0VZREVWfSInCisJCQkJCQkJ
CWlmIFsgISAtYiAiJHtMVUtTX0tFWURFVn0iIF07IHRoZW4KKwkJCQkJCQkJCUtFWURFVl9FUlJP
Uj0xCisJCQkJCQkJCQliYWRfbXNnICJSZW1vdmFibGUgZGV2aWNlICR7TFVLU19LRVlERVZ9IG5v
dCBmb3VuZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCQkJY29udGludWUKKwkJCQkJCQkJZmkK
KwkJCQkJCQkJIyBjb250aW51ZSBvdGhlcndpc2Ugd2lsbCBtb3VudCBrZXlkZXYgd2hpY2ggaXMg
bW91bnRlZCBieSBib290c3RyYXAKKwkJCQkJCQkJY29udGludWUKKwkJCQkJCQlmaQorCQkJCQkJ
ZmkKKwkJCQkJCSMgQXQgdGhpcyBwb2ludCBhIGRldmljZSB3YXMgcmVjb2duaXplZCwgbm93IGxl
dCdzIHNlZSBpZiB0aGUga2V5IGlzIHRoZXJlCisJCQkJCQlbICEgLWQgIiRtbnRrZXkiIF0gJiYg
bWtkaXIgLXAgJHttbnRrZXl9IDI+L2Rldi9udWxsID4vZGV2L251bGwKKworCQkJCQkJbW91bnQg
LW4gLW8gcm8gJHtMVUtTX0tFWURFVn0gJHttbnRrZXl9ID4vZGV2L251bGwgMj4vZGV2L251bGwK
KwkJCQkJCWlmIFsgIiQ/IiAhPSAnMCcgXQorCQkJCQkJdGhlbgorCQkJCQkJCUtFWURFVl9FUlJP
Uj0xCisJCQkJCQkJYmFkX21zZyAiTW91bnRpbmcgb2YgZGV2aWNlICR7TFVLU19LRVlERVZ9IGZh
aWxlZC4iICR7Q1JZUFRfU0lMRU5UfQorCQkJCQkJCWNvbnRpbnVlCisJCQkJCQllbHNlCisJCQkJ
CQkJZ29vZF9tc2cgIlJlbW92YWJsZSBkZXZpY2UgJHtMVUtTX0tFWURFVn0gbW91bnRlZC4iICR7
Q1JZUFRfU0lMRU5UfQorCQkJCQkJCXNsZWVwIDIKKwkJCQkJCQkjIGtleWZpbGUgZXhpc3RzPwor
CQkJCQkJCWlmIFsgISAtZSAiJHttbnRrZXl9JHtMVUtTX0tFWX0iIF07IHRoZW4KKwkJCQkJCQkJ
dW1vdW50IC1uICR7bW50a2V5fSAyPi9kZXYvbnVsbCA+L2Rldi9udWxsCisJCQkJCQkJCUtFWV9F
UlJPUj0xCisJCQkJCQkJCUtFWURFVl9FUlJPUj0xCisJCQkJCQkJCWJhZF9tc2cgIktleSB7TFVL
U19LRVl9IG9uIGRldmljZSAke0xVS1NfS0VZREVWfSBub3QgZm91bmQuIiAke0NSWVBUX1NJTEVO
VH0KKwkJCQkJCQkJY29udGludWUKKwkJCQkJCQlmaQorCQkJCQkJZmkKIAkJCQkJZmkKKwkJCQkJ
IyBBdCB0aGlzIHBvaW50IGEgY2FuZGlkYXRlIGtleSBleGlzdHMgKGVpdGhlciBtb3VudGVkIGJl
Zm9yZSBvciBub3QpCisJCQkJCWdvb2RfbXNnICIke0xVS1NfS0VZfSBvbiBkZXZpY2UgJHtMVUtT
X0tFWURFVn0gZm91bmQiICR7Q1JZUFRfU0lMRU5UfQorCQkJCQljcnlwdHNldHVwX29wdGlvbnM9
Ii1kICR7bW50a2V5fSR7TFVLU19LRVl9IgorCQkJCWZpCisJCQkJIyBBdCB0aGlzIHBvaW50LCBr
ZXlmaWxlIG9yIG5vdCwgd2UncmUgcmVhZHkhCisJCQkJY3J5cHRfZmlsdGVyICJjcnlwdHNldHVw
ICR7Y3J5cHRzZXR1cF9vcHRpb25zfSBsdWtzT3BlbiAke0xVS1NfREVWSUNFfSAke0xVS1NfTkFN
RX0iCisJCQkJaWYgWyAkPyAtZXEgMCBdCisJCQkJdGhlbgorCQkJCQlnb29kX21zZyAiTFVLUyBk
ZXZpY2UgJHtMVUtTX0RFVklDRX0gb3BlbmVkIiAke0NSWVBUX1NJTEVOVH0KKwkJCQkJYnJlYWsK
IAkJCQllbHNlCi0JCQkJCWJhZF9tc2cgIlRoZSBMVUtTIGRldmljZSAke0xVS1NfREVWSUNFfSBk
b2VzIG5vdCBjb250YWluIGEgTFVLUyBoZWFkZXIiCisJCQkJCWJhZF9tc2cgIkZhaWxlZCB0byBv
cGVuIExVS1MgZGV2aWNlICR7TFVLU19ERVZJQ0V9IiAke0NSWVBUX1NJTEVOVH0KKwkJCQkJREVW
X0VSUk9SPTEKKwkJCQkJS0VZX0VSUk9SPTEKKwkJCQkJS0VZREVWX0VSUk9SPTEKIAkJCQlmaQog
CQkJZmkKLQkJCUxVS1NfREVWSUNFPScnCi0JCWRvbmUKLQllbHNlCi0JCWJhZF9tc2cgIlRoZSBp
bml0cmQgZG9lcyBub3Qgc3VwcG9ydCBMVUtTIgotCWZpCisJCWZpCisJZG9uZQorCXVtb3VudCAk
e21udGtleX0gMj4vZGV2L251bGwgPi9kZXYvbnVsbAorCXJtZGlyIC1wICR7bW50a2V5fSAyPi9k
ZXYvbnVsbCA+L2Rldi9udWxsCiB9CiAKIHN0YXJ0TFVLUygpIHsKLQlpZiBbIC1uICIke0xVS1Nf
Uk9PVH0iIF0KLQl0aGVuCi0JCW9wZW5MVUtTICIke0xVS1NfUk9PVH0iICJyb290IiAKKworCSMg
aWYga2V5IGlzIHNldCBidXQga2V5IGRldmljZSBpc24ndCwgZmluZCBpdAorCQorCVsgLW4gIiR7
Q1JZUFRfUk9PVF9LRVl9IiBdICYmIFsgLXogIiR7Q1JZUFRfUk9PVF9LRVlERVZ9IiBdIFwKKwkJ
JiYgc2xlZXAgNiAmJiBib290c3RyYXBLZXkgIlJPT1QiCisKKwlpZiBbIC1uICIke0NSWVBUX1JP
T1R9IiBdOyB0aGVuCisJCW9wZW5MVUtTICJyb290IgogCQlpZiBbIC1uICIke1JFQUxfUk9PVH0i
IF0KIAkJdGhlbgogCQkJIyBSZXNjYW4gdm9sdW1lcwpAQCAtNzE2LDEwICs4MjYsMTggQEAKIAkJ
CVJFQUxfUk9PVD0iL2Rldi9tYXBwZXIvcm9vdCIKIAkJZmkKIAlmaQotCWlmIFsgLW4gIiR7TFVL
U19TV0FQfSIgXQotCXRoZW4KLQkJb3BlbkxVS1MgIiR7TFVLU19TV0FQfSIgInN3YXAiIAotCQli
cmVhaworCisJIyBzYW1lIGZvciBzd2FwLCBidXQgbm8gbmVlZCB0byBzbGVlcCBpZiByb290IHdh
cyB1bmVuY3J5cHRlZAorCVsgLW4gIiR7Q1JZUFRfU1dBUF9LRVl9IiBdICYmIFsgLXogIiR7Q1JZ
UFRfU1dBUF9LRVlERVZ9IiBdIFwKKwkJJiYgeyBbIC16ICIke0NSWVBUX1JPT1R9IiBdICYmIHNs
ZWVwIDY7IGJvb3RzdHJhcEtleSAiU1dBUCI7IH0KKworCWlmIFsgLW4gIiR7Q1JZUFRfU1dBUH0i
IF07IHRoZW4KKwkJb3BlbkxVS1MgInN3YXAiCisJCWlmIFsgLXogIiR7UkVBTF9SRVNVTUV9IiBd
CisJCXRoZW4KKwkJCSMgUmVzdW1lIGZyb20gc3dhcCBhcyBkZWZhdWx0CisJCQlSRUFMX1JFU1VN
RT0iL2Rldi9tYXBwZXIvc3dhcCIKKwkJZmkKIAlmaQogfQogCkBAIC03NDYsNyArODY0LDcgQEAK
IAogCiBjZHVwZGF0ZSgpIHsKLQlpZiBbICIke0NEUk9PVH0iIC1lcSAnMScgXQorCWlmIFsgIiR7
Q0RST09UfSIgPSAnMScgXQogCXRoZW4KIAkJaWYgWyAteCAvJHtORVdfUk9PVH0vbW50L2Nkcm9t
L2NkdXBkYXRlLnNoIF0KIAkJdGhlbgpAQCAtNzkyLDcgKzkxMCw3IEBACiB9CiAKIHNldHVwX3Vu
aW9uZnMoKSB7Ci0JaWYgWyAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBb
ICIke1VTRV9VTklPTkZTX05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCSMgRGlyZWN0b3J5IHVz
ZWQgZm9yIHJ3IGNoYW5nZXMgaW4gdW5pb24gbW91bnQgZmlsZXN5c3RlbQogCQlVTklPTj0vdW5p
b24KQEAgLTg0Nyw2ICs5NjUsMTUgQEAKIAlmaQogfQogCisKK3N3c3VzcF9yZXN1bWUoKSB7Cisj
IyMgZGV0ZXJtaW5lIHN3YXAgcmVzdW1lIHBhcnRpdGlvbgorCWxvY2FsIGRldmljZT0kKGxzIC1s
ICIke1JFQUxfUkVTVU1FfSIgfCBzZWQgJ3MvXCAqLyAvZycgfCBjdXQgLWQgXCAgLWYgNi03IHwg
c2VkICdzLyxcICovOi8nKQorCVsgLWYgL3N5cy9wb3dlci9yZXN1bWUgXSAmJiBlY2hvICIke2Rl
dmljZX0iID4gL3N5cy9wb3dlci9yZXN1bWUKKwlyZXR1cm4gMAorfQorCisKIHN1c3BlbmRfcmVz
dW1lKCkgewogCVsgLXggL3NiaW4vcmVzdW1lIF0gfHwgcmV0dXJuIDAKIAkvc2Jpbi9yZXN1bWUK
SW5kZXg6IGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2xpbnV4cmMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2Vu
a2VybmVsL3RydW5rL2dlbmVyaWMvbGludXhyYwkocmV2aXNpb24gNTI0KQorKysgZ2Vua2VybmVs
L3RydW5rL2dlbmVyaWMvbGludXhyYwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKICMh
L2Jpbi9zaAotIyBDb3B5cmlnaHQgMjAwMy0yMDA2IEdlbnRvbyBGb3VuZGF0aW9uIAorIyBDb3B5
cmlnaHQgMjAwMy0yMDA3IEdlbnRvbyBGb3VuZGF0aW9uIAogIyBEaXN0cmlidXRlZCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyCiAKIC4gL2V0Yy9p
bml0cmQuZGVmYXVsdHMKQEAgLTQ2LDYgKzQ2LDcgQEAKIFJFQUxfUk9PVD0nJwogRkFLRV9ST09U
PScnCiBSRUFMX1JPT1RGTEFHUz0nJworQ1JZUFRfU0lMRU5UPTAKIGZvciB4IGluICR7Q01ETElO
RX0KIGRvCiAJY2FzZSAiJHt4fSIgaW4KQEAgLTE3NCwxNCArMTc1LDMyIEBACiAJCQlORlNST09U
PWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OwogCQljcnlwdF9yb290XD0qKQotCQkJTFVLU19ST09U
PWBwYXJzZV9vcHQgIiR7eH0iYAorCQkJQ1JZUFRfUk9PVD1gcGFyc2Vfb3B0ICIke3h9ImAKIAkJ
OzsKIAkJY3J5cHRfc3dhcFw9KikKLQkJCUxVS1NfU1dBUD1gcGFyc2Vfb3B0ICIke3h9ImAKKwkJ
CUNSWVBUX1NXQVA9YHBhcnNlX29wdCAiJHt4fSJgCiAJCTs7Ci0JCWNyeXB0X3NpbGVudFw9KikK
LQkJCUxVS1NfU0lMRU5UPWBwYXJzZV9vcHQgIiR7eH0iYAorCQlyb290X2tleVw9KikKKwkJCUNS
WVBUX1JPT1RfS0VZPWBwYXJzZV9vcHQgIiR7eH0iYAogCQk7OworCQlyb290X2tleWRldlw9KikK
KwkJCUNSWVBUX1JPT1RfS0VZREVWPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7OworCQlzd2FwX2tl
eVw9KikKKwkJCUNSWVBUX1NXQVBfS0VZPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7OworCQlzd2Fw
X2tleWRldlw9KikKKwkJCUNSWVBUX1NXQVBfS0VZREVWPWBwYXJzZV9vcHQgIiR7eH0iYAorCQk7
OworCQlyZWFsX3Jlc3VtZVw9KikKKwkJCVJFQUxfUkVTVU1FPWBwYXJzZV9vcHQgIiR7eH0iYAor
CQk7OworCQlub3Jlc3VtZSkKKwkJCU5PUkVTVU1FPTEKKwkJOzsKKwkJY3J5cHRfc2lsZW50KQor
CQkJQ1JZUFRfU0lMRU5UPTEKKwkJOzsKIAkJcmVhbF9yb290ZmxhZ3NcPSopCiAJCQlSRUFMX1JP
T1RGTEFHUz1gcGFyc2Vfb3B0ICIke3h9ImAKIAkJOzsKQEAgLTIwMyw3ICsyMjIsNyBAQAogdGhl
bgogCWdvb2RfbXNnICdMb2FkaW5nIG1vZHVsZXMnCiAJIyBMb2FkIGFwcHJvcHJpYXRlIGtlcm5l
bCBtb2R1bGVzCi0JaWYgWyAiJHtOT0RFVEVDVH0iIC1uZSAnMScgXQorCWlmIFsgIiR7Tk9ERVRF
Q1R9IiAhPSAnMScgXQogCXRoZW4KIAkJZm9yIG1vZHVsZXMgaW4gJE1ZX0hXT1BUUwogCQlkbwpA
QCAtMjM3LDcgKzI1Niw3IEBACiBzdGFydFZvbHVtZXMKIAogIyBJbml0aWFsaXplIExVS1Mgcm9v
dCBkZXZpY2UgZXhjZXB0IGZvciBsaXZlY2QncwotaWYgWyAiJHtDRFJPT1R9IiAtbmUgJzEnIF0K
K2lmIFsgIiR7Q0RST09UfSIgIT0gMSBdCiB0aGVuCiAJc3RhcnRMVUtTCiBmaQpAQCAtMjQ2LDcg
KzI2NSw3IEBACiBta2RpciAtcCAke05FV19ST09UfQogc2V0dXBfdW5pb25mcwogCi1pZiBbICIk
e1VTRV9VTklPTkZTX05PUk1BTH0iIC1lcSAnMScgXQoraWYgWyAiJHtVU0VfVU5JT05GU19OT1JN
QUx9IiA9ICcxJyBdCiB0aGVuCiAJQ0hST09UPSR7VU5JT059CiBlbHNlCkBAIC0yNTYsMTggKzI3
NSwyMiBAQAogIyBSdW4gZGVidWcgc2hlbGwgaWYgcmVxdWVzdGVkCiBydW5kZWJ1Z3NoZWxsCiAK
LXN1c3BlbmRfcmVzdW1lCi1zdXNwZW5kMl9yZXN1bWUKK2lmIFsgIiR7Tk9SRVNVTUV9IiAhPSAn
MScgXQordGhlbgorCXN3c3VzcF9yZXN1bWUKKwlzdXNwZW5kX3Jlc3VtZQorCXN1c3BlbmQyX3Jl
c3VtZQorZmkKIAotaWYgWyAiJHtDRFJPT1R9IiAtZXEgJzEnIF0KK2lmIFsgIiR7Q0RST09UfSIg
PSAnMScgXQogdGhlbgotCWlmIFsgISAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0K
KwlpZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0iICE9ICcxJyBdCiAJdGhlbgogCQlnb29kX21z
ZyAiTWFraW5nIHRtcGZzIGZvciAke05FV19ST09UfSIKIAkJbW91bnQgLXQgdG1wZnMgdG1wZnMg
JHtORVdfUk9PVH0KIAlmaQogCQotCWZvciBpIGluIGRldiBtbnQgbW50L2Nkcm9tIG1udC9saXZl
Y2QgbW50L2tleWRldiB0bXAgdG1wLy5pbml0cmQgbW50L2dlbnRvbyBzeXMKKwlmb3IgaSBpbiBk
ZXYgbW50IG1udC9jZHJvbSBtbnQvbGl2ZWNkIG1udC9rZXkgdG1wIHRtcC8uaW5pdHJkIG1udC9n
ZW50b28gc3lzCiAJZG8KIAkJbWtkaXIgLXAgJHtORVdfUk9PVH0vJGkKIAkJY2htb2QgNzU1ICR7
TkVXX1JPT1R9LyRpCkBAIC0zNTgsMzEgKzM4MSwxNyBAQAogCQkJCQlnb29kX21zZyAiRGV0ZWN0
ZWQgcmVhbF9yb290PSR7Uk9PVF9ERVZ9IgogCQkJCQlSRUFMX1JPT1Q9IiR7Uk9PVF9ERVZ9Igog
CQkJCWVsc2UKLQkJCQkJYmFkX21zZyAiQ291bGQgbm90IGZpbmQgcm9vdCBibG9jayBkZXZpY2U6
ICR7UkVBTF9ST09UfSIKLQkJCQkJZWNobyAnICAgUGxlYXNlIHNwZWNpZnkgYSBkZXZpY2UgdG8g
Ym9vdCwgb3IgInNoZWxsIiBmb3IgYSBzaGVsbC4uLicKLQkJCQkJZWNobyAtbiAnYm9vdCgpIDo6
ICcKLQkJCQkJcmVhZCBSRUFMX1JPT1QKKwkJCQkJd2hlcmVpcyAiUkVBTF9ST09UIiAicm9vdCBi
bG9jayBkZXZpY2UiCiAJCQkJCWdvdF9nb29kX3Jvb3Q9MAogCQkJCQljb250aW51ZQogCQkJCWZp
CiAJCQkJOzsKIAkJZXNhYwogCQkJCQotCQlpZiBbICIke1JFQUxfUk9PVH0iID0gJ3NoZWxsJyBd
CisJCWlmIFsgIiR7UkVBTF9ST09UfSIgPSAnJyBdCiAJCXRoZW4KLQkJCXJ1bl9zaGVsbAotCi0J
CQlSRUFMX1JPT1Q9JycKLQkJCWdvdF9nb29kX3Jvb3Q9MAotCQkJY29udGludWUKLQkJCi0JCWVs
aWYgWyAiJHtSRUFMX1JPT1R9IiA9ICcnIF0KLQkJdGhlbgogCQkJIyBObyBSRUFMX1JPT1QgZGV0
ZXJtaW5lZC9zcGVjaWZpZWQuIFByb21wdCB1c2VyIGZvciByb290IGJsb2NrIGRldmljZS4KLQkJ
CWJhZF9tc2cgIlRoZSByb290IGJsb2NrIGRldmljZSBpcyB1bnNwZWNpZmllZCBvciBub3QgZGV0
ZWN0ZWQuIgotCQkJZWNobyAnICAgUGxlYXNlIHNwZWNpZnkgYSBkZXZpY2UgdG8gYm9vdCwgb3Ig
InNoZWxsIiBmb3IgYSBzaGVsbC4uLicKLQkJCWVjaG8gLW4gJ2Jvb3QoKSA6OiAnCi0JCQlyZWFk
IFJFQUxfUk9PVAorCQkJd2hlcmVpcyAiUkVBTF9ST09UIiAicm9vdCBibG9jayBkZXZpY2UiCiAJ
CQlnb3RfZ29vZF9yb290PTAKIAogCQkjIENoZWNrIGZvciBhIGJsb2NrIGRldmljZSBvciAvZGV2
L25mcwpAQCAtMzk4LDcgKzQwNyw3IEBACiAJZG9uZQogCiAKLQlpZiBbICIke0NEUk9PVH0iIC1l
cSAnMScgLWEgIiR7Z290X2dvb2Rfcm9vdH0iID0gJzEnIC1hICIke1JFQUxfUk9PVH0iICE9ICIv
ZGV2L25mcyIgXQorCWlmIFsgIiR7Q0RST09UfSIgPSAxIC1hICIke2dvdF9nb29kX3Jvb3R9IiA9
ICcxJyAtYSAiJHtSRUFMX1JPT1R9IiAhPSAiL2Rldi9uZnMiIF0KIAl0aGVuCiAJCSMgQ0QgYWxy
ZWFkeSBtb3VudGVkOyBubyBmdXJ0aGVyIGNoZWNrcyBuZWNlc3NhcnkKIAkJYnJlYWsKQEAgLTQ0
Miw3ICs0NTEsNyBAQAogCiAjdmVyYm9zZV9rbXNnCiAKLSMgSWYgY2Ryb290IGlzIHNldCBkZXRl
cm1pbmUgdGhlIGxvb3B0eXBlIHRvIGJvb3QKKyMgSWYgY2Qgcm9vdCBpcyBzZXQgZGV0ZXJtaW5l
IHRoZSBsb29wdHlwZSB0byBib290CiBpZiBbICIke0NEUk9PVH0iID0gJzEnIF0KIHRoZW4KIAln
b29kX21zZyAnRGV0ZXJtaW5pbmcgbG9vcHR5cGUgLi4uJwpAQCAtNDk2LDI4ICs1MDUsMTkgQEAK
IAlmaQogCiAJY2FjaGVfY2RfY29udGVudHMKLQkKIAogICAgICAgICAjIElmIGVuY3J5cHRlZCwg
ZmluZCBrZXkgYW5kIG1vdW50LCBvdGhlcndpc2UgbW91bnQgYXMgdXN1YWwKLQlpZiBbICIke0xV
S1NfUk9PVH0iICE9ICcnIF0gCisJaWYgWyAtbiAiJHtDUllQVF9ST09UfSIgXSAKIAl0aGVuCi0J
CWlmIFsgIiR7TFVLU19TSUxFTlR9IiA9ICcnIF0KLQkJdGhlbgotCQkJZ29vZF9tc2cgJ1lvdSBi
b290ZWQgYW4gZW5jcnlwdGVkIGxpdmVjZCcKLQkJZmkKKwkJZ29vZF9tc2cgJ1lvdSBib290ZWQg
YW4gZW5jcnlwdGVkIGxpdmVjZCcgJHtDUllQVF9TSUxFTlR9CiAKLQkJTFVLU19ST09UX0tFWT0k
KGhlYWQgLW4gMSAke05FV19ST09UfS9tbnQvY2Ryb20vbGl2ZWNkKQotCi0JCWlmIFsgIiR7TFVL
U19ST09UX0tFWX0iIF0KLQkJdGhlbgotCQkJYm9vdHN0cmFwS2V5Ci0JCWZpCisJCUNSWVBUX1JP
T1RfS0VZPSQoaGVhZCAtbiAxICR7TkVXX1JPT1R9L21udC9jZHJvbS9saXZlY2QpCiAJCQogCQls
b3NldHVwIC9kZXYvbG9vcDAgJHtORVdfUk9PVH0vbW50L2Nkcm9tLyR7TE9PUEVYVH0ke0xPT1B9
CiAJCQogCQl0ZXN0X3N1Y2Nlc3MgJ1ByZXBhcmluZyBsb29wIGZpbGVzeXN0ZW0nCiAJCQotCQlM
VUtTX1JPT1Q9Jy9kZXYvbG9vcDAnCisJCUNSWVBUX1JPT1Q9Jy9kZXYvbG9vcDAnCiAJCQogCQlz
dGFydExVS1MKIAkJCkBAIC02MDIsNyArNjAyLDcgQEAKICMgRW5kIGNkcm9tIGxvb3B0eXBlIGRl
dGVybWluYXRpb24gYW5kIG1vdW50aW5nIGlmIG5lY2Vzc2FyeQogIwogCi0JaWYgWyAiJHtVU0Vf
VU5JT05GU19OT1JNQUx9IiAtZXEgJzEnIF0KKwlpZiBbICIke1VTRV9VTklPTkZTX05PUk1BTH0i
ID0gJzEnIF0KIAl0aGVuCiAJCXVuaW9uX2luc2VydF9kaXIgJHtVTklPTn0gJHtORVdfUk9PVH0v
JHtGU19MT0NBVElPTn0KIAkJCkBAIC02MjgsNyArNjI4LDcgQEAKIAlmaQogCiAJCi0JaWYgWyAh
ICIke1VTRV9VTklPTkZTX05PUk1BTH0iIC1lcSAnMScgXQorCWlmIFsgIiR7VVNFX1VOSU9ORlNf
Tk9STUFMfSIgIT0gJzEnIF0KIAl0aGVuCiAJCWdvb2RfbXNnICJDb3B5aW5nIHJlYWQtd3JpdGUg
aW1hZ2UgY29udGVudHMgdG8gdG1wZnMiCiAJCSMgQ29weSBvdmVyIHN0dWZmIHRoYXQgc2hvdWxk
IGJlIHdyaXRhYmxlCkBAIC02OTYsNyArNjk2LDcgQEAKIAkJc2xlZXAgMTAKIAlmaQogZWxzZQot
CWlmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgLWVxICcxJyBdCisJaWYgWyAiJHtVU0VfVU5J
T05GU19OT1JNQUx9IiA9ICcxJyBdCiAJdGhlbgogCQl1bmlvbl9pbnNlcnRfZGlyICR7VU5JT059
ICR7TkVXX1JPT1R9CiAJCW1rZGlyIC1wICR7VU5JT059L3RtcC8uaW5pdHJkCkBAIC03MTgsNyAr
NzE4LDcgQEAKICMgaW5pdCBzY3JpcHRzIHdpbGwgYmUgYWJsZSB0byB1bm1vdW50IGl0IHByb3Bl
cmx5IGF0IG5leHQgcmVib290CiAjCiAjIEV2ZW50dWFsbHksIGFsbCAidW5pb25zIG92ZXIgLyIg
bW91bnRzIHNob3VsZCBnbyBpbiB0aGF0IC8udW5pb25zLwotaWYgWyAiJHtVU0VfVU5JT05GU19O
T1JNQUx9IiAtZXEgJzEnIF0KK2lmIFsgIiR7VVNFX1VOSU9ORlNfTk9STUFMfSIgPSAnMScgXQog
dGhlbgogCW1rZGlyIC1wIC8ke0NIUk9PVH0vLnVuaW9ucy9tZW1vcnkgMj4vZGV2L251bGwKIAlt
b3VudCAtbyBtb3ZlIC9tZW1vcnkgLyR7Q0hST09UfS8udW5pb25zL21lbW9yeSB8fCBlY2hvICcq
OiBGYWlsZWQgdG8gbW92ZSB1bmlvbmZzIC9tZW1vcnkgaW50byB0aGUgc3lzdGVtIHJvb3QhJwpA
QCAtNzM4LDEyICs3MzgsMTIgQEAKIAlmaQogCWVjaG8gLW4gJy4nCiAKLQlpZiAvdG1wLy5pbml0
cmQvYmluL1sgIiR7VVNFX0RFVkZTX05PUk1BTH0iIC1lcSAnMScgLWEgIiR7Q0RST09UfSIgLWVx
ICcwJyBdCisJaWYgL3RtcC8uaW5pdHJkL2Jpbi9bICIke1VTRV9ERVZGU19OT1JNQUx9IiA9ICcx
JyAtYSAiJHtDRFJPT1R9IiA9IDAgXQogCXRoZW4KIAkJdW1vdW50IC90bXAvLmluaXRyZC9wcm9j
IHx8IGVjaG8gJyo6IEZhaWxlZCB0byB1bm1vdW50IHRoZSBpbml0cmQgL3Byb2MhJwogCQltb3Vu
dCAtbiAtLW1vdmUgL3RtcC8uaW5pdHJkL2RldiBkZXYgfHwgZWNobyAnKjogRmFpbGVkIHRvIG1v
dmUgb3ZlciB0aGUgL2RldiB0cmVlIScKIAkJcm0gLXJmIC90bXAvLmluaXRyZC9kZXYgfHwgZWNo
byAnKjogRmFpbGVkIHRvIHJlbW92ZSB0aGUgaW5pdHJkIC9kZXYhJwotCWVsaWYgL3RtcC8uaW5p
dHJkL2Jpbi9bICIke1VTRV9VREVWX05PUk1BTH0iIC1lcSAnMScgXQorCWVsaWYgL3RtcC8uaW5p
dHJkL2Jpbi9bICIke1VTRV9VREVWX05PUk1BTH0iID0gJzEnIF0KIAl0aGVuCiAJCS90bXAvLmlu
aXRyZC9iaW4vWyAtZSAvdG1wLy5pbml0cmQvZGV2L2ZkIF0gJiYgcm0gL3RtcC8uaW5pdHJkL2Rl
di9mZAogCQkvdG1wLy5pbml0cmQvYmluL1sgLWUgL3RtcC8uaW5pdHJkL2Rldi9zdGRpbiBdICYm
IHJtIC90bXAvLmluaXRyZC9kZXYvc3RkaW4KQEAgLTc1Myw3ICs3NTMsNyBAQAogCQl1bW91bnQg
L3RtcC8uaW5pdHJkL2RldiB8fCBlY2hvICcqOiBGYWlsZWQgdG8gdW5tb3VudCB0aGUgaW5pdHJk
IC9kZXYhJwogCQl1bW91bnQgL3RtcC8uaW5pdHJkL3Byb2MgfHwgZWNobyAnKjogRmFpbGVkIHRv
IHVubW91bnQgdGhlIGluaXRyZCAvcHJvYyEnCiAJCXVtb3VudCAvdG1wLy5pbml0cmQvc3lzIHx8
IGVjaG8gJyo6IEZhaWxlZCB0byB1bm1vdW50IHRoZSBpbml0cmQgL3N5cyEnCi0JZWxpZiAvdG1w
Ly5pbml0cmQvYmluL1sgIiR7Q0RST09UfSIgLWVxICcxJyBdCisJZWxpZiAvdG1wLy5pbml0cmQv
YmluL1sgIiR7Q0RST09UfSIgLWVxIDEgXQogCXRoZW4KIAkJdW1vdW50IC90bXAvLmluaXRyZC9w
cm9jIHx8IGVjaG8gIio6IEZhaWxlZCB0byB1bm1vdW50IHRoZSBpbml0cmQgL3Byb2MhIgogCQl1
bW91bnQgL2RldiAyPi9kZXYvbnVsbAo=
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139541</attachid>
            <date>2007-12-28 22:36 0000</date>
            <desc>correct latest svn changes</desc>
            <filename>genkernel-iso9660.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5zY3JpcHRzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5zY3JpcHRzCShyZXZpc2lvbiA1Nzgp
CisrKyBnZW5rZXJuZWwvdHJ1bmsvZ2VuZXJpYy9pbml0cmQuc2NyaXB0cwkod29ya2luZyBjb3B5
KQpAQCAtOTQsMTIgKzk0LDEyIEBACiAJCQl0aGVuCiAJCQkJZ29vZF9tc2cgIkF0dGVtcHRpbmcg
dG8gbW91bnQgbWVkaWE6LSAke3h9IiAke0NSWVBUX1NJTEVOVH0KIAotIwkJCQlpZiBbICIke21l
ZGlhfSIgPSAiY2Ryb20iIF07IHRoZW4KLSMJCQkJCW1vdW50IC1yIC10IGlzbzk2NjAgJHt4fSAk
e21udGRpcn0gJj4vZGV2L251bGwKLSMJCQkJZWxzZQotIwkJCQkJbW91bnQgLXIgLXQgYXV0byAk
e3h9ICR7bW50ZGlyfSAmPi9kZXYvbnVsbAotIwkJCQlmaQotCQkJCW1vdW50IC1yIC10ICR7Q0RS
T09UX1RZUEV9ICR7eH0gJHttbnRkaXJ9ICY+L2Rldi9udWxsCisJCQkJaWYgWyAtbiAiJHtDRFJP
T1RfREVWfSIgLWEgXCggJHttZWRpYX09ImNkcm9tIiBcKSBdOyB0aGVuCisJCQkJCW1vdW50IC1y
IC10ICR7Q0RST09UX1RZUEV9ICR7eH0gJHttbnRkaXJ9ID4vZGV2L251bGwgMj4mMQorCQkJCWVs
c2UKKwkJCQkJbW91bnQgLXIgLXQgYXV0byAke3h9ICR7bW50ZGlyfSA+L2Rldi9udWxsIDI+JjEK
KwkJCQlmaQkJCisKIAkJCQlpZiBbICIkPyIgPSAnMCcgXQogCQkJCXRoZW4KIAkJCQkJIyBDaGVj
ayBmb3IgdGhlIG1lZGlhCg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139545</attachid>
            <date>2007-12-28 23:27 0000</date>
            <desc>still small corrections</desc>
            <filename>genkernel-iso9660.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5kZWZhdWx0cwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBnZW5rZXJuZWwvdHJ1bmsvZ2VuZXJpYy9pbml0cmQuZGVmYXVsdHMJKHJldmlzaW9uIDU3
OCkKKysrIGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2luaXRyZC5kZWZhdWx0cwkod29ya2luZyBj
b3B5KQpAQCAtNzYsNiArNzYsNyBAQAogQ0RST09UX1RZUEU9J2lzbzk2NjAnCiBORVdfUk9PVD0i
L25ld3Jvb3QiCiBDT05TT0xFPSIvZGV2L2NvbnNvbGUiCitDUllQVF9TSUxFTlQ9MAogCiAjIE9u
bHkgc2VjdGlvbnMgdGhhdCBhcmUgaW4gYnkgZGVmYXVsdCBvciB0aG9zZSB0aGF0CiAjIGFyZSBu
b3QgbW9kdWxlIGdyb3VwcyBuZWVkIHRvIGJlIGRlZmluZWQgaGVyZS4uLgpJbmRleDogZ2Vua2Vy
bmVsL3RydW5rL2dlbmVyaWMvaW5pdHJkLnNjcmlwdHMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2Vua2VybmVs
L3RydW5rL2dlbmVyaWMvaW5pdHJkLnNjcmlwdHMJKHJldmlzaW9uIDU3OCkKKysrIGdlbmtlcm5l
bC90cnVuay9nZW5lcmljL2luaXRyZC5zY3JpcHRzCSh3b3JraW5nIGNvcHkpCkBAIC03NCwxMSAr
NzQsMTYgQEAKIAkjICQyID0gcmVjb2duaXRpb24gZmlsZQogCSMgJDMgPSB2YXJpYWJsZSB0byBo
YXZlIHRoZSBkZXZpY2UgcGF0aAogCSMgJDQgPSBkaXJlY3RvcnkgYmVmb3JlIC9tbnQsIGxpa2Ug
TkVXX1JPT1QKKyAgICAgICAgIyAkNSA9IG1vdW50IHR5cGUgZm9yIGRldmljZXMKIAkjIGFyZ3Mg
cmVtYWluaW5nIGFyZSBwb3NzaWJsZSBkZXZpY2VzIAogCi0JbG9jYWwgbWVkaWE9JDEgcmVjb249
JDIgdnJibD0kMworCSgoICQjIDwgNiApKSAmJiBcCisgICAgICAgICAgICAgICAgYmFkX21zZyAi
QmFkIGludm9jYXRpb24gb2YgZnVuY3Rpb24gZmluZG1lZGlhbW91bnQsIHBsZWFzZSBmaWxlIGEg
YnVnIFwKKyAgICAgICAgICAgICAgICByZXBvcnQgd2l0aCB0aGlzIG1lc3NhZ2UiICYmIGV4aXQg
MQorCisJbG9jYWwgbWVkaWE9JDEgcmVjb249JDIgdnJibD0kMyBtbnR0eXBlPSQ1CiAJbG9jYWwg
bW50ZGlyPSIkezR9L21udC8ke21lZGlhfSIKLQlzaGlmdCA0CisJc2hpZnQgNQogCiAJZ29vZF9t
c2cgIkxvb2tpbmcgZm9yIHRoZSAke21lZGlhfSIgJHtDUllQVF9TSUxFTlR9CiAKQEAgLTk0LDEy
ICs5OSw4IEBACiAJCQl0aGVuCiAJCQkJZ29vZF9tc2cgIkF0dGVtcHRpbmcgdG8gbW91bnQgbWVk
aWE6LSAke3h9IiAke0NSWVBUX1NJTEVOVH0KIAotIwkJCQlpZiBbICIke21lZGlhfSIgPSAiY2Ry
b20iIF07IHRoZW4KLSMJCQkJCW1vdW50IC1yIC10IGlzbzk2NjAgJHt4fSAke21udGRpcn0gJj4v
ZGV2L251bGwKLSMJCQkJZWxzZQotIwkJCQkJbW91bnQgLXIgLXQgYXV0byAke3h9ICR7bW50ZGly
fSAmPi9kZXYvbnVsbAotIwkJCQlmaQotCQkJCW1vdW50IC1yIC10ICR7Q0RST09UX1RZUEV9ICR7
eH0gJHttbnRkaXJ9ICY+L2Rldi9udWxsCisJCQkJbW91bnQgLXIgLXQgJHttbnR0eXBlfSAke3h9
ICR7bW50ZGlyfSA+L2Rldi9udWxsIDI+JjEKKwkJCQkKIAkJCQlpZiBbICIkPyIgPSAnMCcgXQog
CQkJCXRoZW4KIAkJCQkJIyBDaGVjayBmb3IgdGhlIG1lZGlhCkBAIC0xNDMsNyArMTQ0LDcgQEAK
IAkjIGEgYnVuY2ggb2YgZXh0cmEgZGV2aWNlcwogCVsgLW4gIiR7Q0RST09UX0RFVn0iIF0gJiYg
REVWSUNFUz0iJHtDRFJPT1RfREVWfSIKIAotCWZpbmRtZWRpYW1vdW50ICJjZHJvbSIgIiR7U1VC
RElSfS9saXZlY2QiICJSRUFMX1JPT1QiICIke05FV19ST09UfSIgJHtERVZJQ0VTfQorCWZpbmRt
ZWRpYW1vdW50ICJjZHJvbSIgIiR7U1VCRElSfS9saXZlY2QiICJSRUFMX1JPT1QiICIke05FV19S
T09UfSIgIiR7Q0RST09UX1RZUEV9IiAke0RFVklDRVN9CiB9CiAKIGJvb3RzdHJhcEtleSgpIHsK
QEAgLTE1MSw3ICsxNTIsNyBAQAogCWxvY2FsIEtFWURFVlM9YGRldmljZWxpc3RgCiAJZXZhbCBs
b2NhbCBrZXlsb2M9JyIke0NSWVBUXyckezF9J19LRVl9IicKIAotCWZpbmRtZWRpYW1vdW50ICJr
ZXkiICIke2tleWxvY30iICJDUllQVF8kezF9X0tFWURFViIgIiIgJHtLRVlERVZTfQorCWZpbmRt
ZWRpYW1vdW50ICJrZXkiICIke2tleWxvY30iICJDUllQVF8kezF9X0tFWURFViIgIiIgImF1dG8i
ICR7S0VZREVWU30KIH0KIAogY2FjaGVfY2RfY29udGVudHMoKSB7CkluZGV4OiBnZW5rZXJuZWwv
dHJ1bmsvZ2VuZXJpYy9saW51eHJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdlbmtlcm5lbC90cnVuay9nZW5l
cmljL2xpbnV4cmMJKHJldmlzaW9uIDU3OCkKKysrIGdlbmtlcm5lbC90cnVuay9nZW5lcmljL2xp
bnV4cmMJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDYgQEAKIFJFQUxfUk9PVD0nJwogRkFL
RV9ST09UPScnCiBSRUFMX1JPT1RGTEFHUz0nJwotQ1JZUFRfU0lMRU5UPTAKIGZvciB4IGluICR7
Q01ETElORX0KIGRvCiAJY2FzZSAiJHt4fSIgaW4K
</data>        

          </attachment>
    </bug>

</bugzilla>