<?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>174576</bug_id>
          
          <creation_ts>2007-04-14 11:19 0000</creation_ts>
          <short_desc>sci-mathematics/ginac-1.3.7 - cln problem</short_desc>
          <delta_ts>2008-12-20 14:39:14 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Ebuilds</component>
          <version>2006.1</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>barthoosh@wp.pl</reporter>
          <assigned_to>sci-mathematics@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>barthoosh@wp.pl</who>
            <bug_when>2007-04-14 11:19:18 0000</bug_when>
            <thetext>ginac-137 configure problem with cln on 2 machines:

(...)
checking for cln-config... /usr/bin/cln-config
checking for CLN - version &gt;= 1.1.0... no
*** Could not run CLN test program, checking why...
*** The test program compiled, but did not run. This usually means
*** that the run-time linker is not finding CLN or finding the wrong
*** version of CLN. If it is not finding CLN, you&apos;ll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location. Also, make sure you have run ldconfig if that
*** is required on your system
(...)
**** The following problems have been detected by configure.
**** Please check the messages below before running &quot;make&quot;.
**** (see the section &apos;Common Problems&apos; in the INSTALL file)

** No suitable installed version of CLN could be found.


!!! Please attach the following file when filing a report to bugs.gentoo.org:
!!! /var/tmp/portage/sci-mathematics/ginac-1.3.7/work/ginac-1.3.7/config.log

!!! ERROR: sci-mathematics/ginac-1.3.7 failed.


I&apos;ve checked cln-config:
# cln-config --version --cppflags --libs
1.1.13

-L/usr/lib -lcln -lgmp

emerge --info on first machine and second machines in attachmment</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>barthoosh@wp.pl</who>
            <bug_when>2007-04-14 11:21:23 0000</bug_when>
            <thetext>Created an attachment (id=116230)
emerge --info

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>markusle@gentoo.org</who>
            <bug_when>2007-04-19 12:45:24 0000</bug_when>
            <thetext>Hi Bartosz,

Could you please post your config.log so I can see why configure
is failing at detecting cln.

Thanks,
Markus</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brachu@go2.pl</who>
            <bug_when>2007-04-20 13:04:01 0000</bug_when>
            <thetext>Created an attachment (id=116794)
config.log on Pentium machine

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brachu@go2.pl</who>
            <bug_when>2007-04-20 13:09:46 0000</bug_when>
            <thetext>Created an attachment (id=116796)
config.log on AMD machine

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>markusle@gentoo.org</who>
            <bug_when>2007-04-21 11:49:52 0000</bug_when>
            <thetext>(In reply to comment #4)
&gt; Created an attachment (id=116796) [edit]
&gt; config.log on AMD machine
&gt; 

Thanks! It looks like you are getting a segmentation
fault during the configure step on both machines.
Could you please replace &apos;-Os&apos; with &apos;-O2&apos; and try
again. 

Thanks,
Markus
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brachu@go2.pl</who>
            <bug_when>2007-04-23 10:55:24 0000</bug_when>
            <thetext>Hi, I&apos;ve reemerged both: cln and ginac with -O2 flag. It works ;). Thank you !
Cheers</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>markusle@gentoo.org</who>
            <bug_when>2007-04-23 13:16:26 0000</bug_when>
            <thetext>Great :) I&apos;ll see if I can reproduce this on my machine and 
may filter -Os should this be the case.

Thanks,
Markus</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>markusle@gentoo.org</who>
            <bug_when>2007-04-24 21:45:47 0000</bug_when>
            <thetext>The cln-1.1.13 ebuild now filters -Os since it leads
to segmentation faults on both of my dev boxes as well.

Thanks,
Markus</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>flamemaniii@gmail.com</who>
            <bug_when>2008-12-20 14:39:14 0000</bug_when>
            <thetext>hi,
I am on a powerpc G4 machine

/etc/make.conf
  CFLAGS=&quot;-O2 -mcpu=G4 -mtune=G4 -maltivec -mabi=altivec -fno-strict-aliasing -pipe&quot;

I emerged  sci-mathematics/ginac-1.3.7

and I had issu with cln.1.2.2 while I had no issue with cln-1.1.13


also cln-1.1.13 has /usr/bin/cln-config, while cln-1.2.2 has not

does it mean shouldn&apos;t I update the cln to the 1.2.2. ?

regards</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>116230</attachid>
            <date>2007-04-14 11:21 0000</date>
            <desc>emerge --info</desc>
            <filename>emerge_info.txt</filename>
            <type>text/plain</type>
            <data encoding="base64">ZW1lcmdlIC0taW5mbyBvbiBmaXJzdCBtYWNoaW5lOgpQb3J0YWdlIDIuMS4yLjMgKGRlZmF1bHQt
bGludXgveDg2LzIwMDYuMCwgZ2NjLTQuMS4yLCBnbGliYy0yLjUtcjEsIDIuNi4xOS1yYzYtbW0y
IGk2ODYpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClN5c3RlbSB1bmFtZTogMi42LjE5LXJjNi1tbTIgaTY4NiBBTUQgQXRo
bG9uKHRtKSA2NCBQcm9jZXNzb3IgMzAwMCsKR2VudG9vIEJhc2UgU3lzdGVtIHJlbGVhc2UgMS4x
Mi4xMApUaW1lc3RhbXAgb2YgdHJlZTogU2F0LCAxNCBBcHIgMjAwNyAwMTo1MDowMSArMDAwMApk
aXN0Y2MgMi4xOC4zIGk2ODYtcGMtbGludXgtZ251IChwcm90b2NvbHMgMSBhbmQgMikgKGRlZmF1
bHQgcG9ydCAzNjMyKSBbZGlzYWJsZWRdCmRldi1qYXZhL2phdmEtY29uZmlnOiAxLjMuNywgMi4w
LjMxLXI1CmRldi1sYW5nL3B5dGhvbjogICAgIDIuMy42LCAyLjQuNApkZXYtcHl0aG9uL3B5Y3J5
cHRvOiAyLjAuMS1yNQpzeXMtYXBwcy9zYW5kYm94OiAgICAxLjIuMTguMQpzeXMtZGV2ZWwvYXV0
b2NvbmY6ICAyLjEzLCAyLjYxCnN5cy1kZXZlbC9hdXRvbWFrZTogIDEuNF9wNiwgMS41LCAxLjYu
MywgMS43LjktcjEsIDEuOC41LXIzLCAxLjkuNi1yMiwgMS4xMApzeXMtZGV2ZWwvYmludXRpbHM6
ICAyLjE3CnN5cy1kZXZlbC9nY2MtY29uZmlnOiAxLjMuMTYKc3lzLWRldmVsL2xpYnRvb2w6ICAg
MS41LjIzYgp2aXJ0dWFsL29zLWhlYWRlcnM6ICAyLjYuMjAtcjIKQUNDRVBUX0tFWVdPUkRTPSJ4
ODYgfng4NiIKQVVUT0NMRUFOPSJ5ZXMiCkNCVUlMRD0iaTY4Ni1wYy1saW51eC1nbnUiCkNGTEFH
Uz0iLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgIgpDSE9TVD0iaTY4Ni1wYy1saW51eC1nbnUi
CkNPTkZJR19QUk9URUNUPSIvZXRjIC91c3Iva2RlLzMuNS9lbnYgL3Vzci9rZGUvMy41L3NoYXJl
L2NvbmZpZyAvdXNyL2tkZS8zLjUvc2h1dGRvd24gL3Vzci9saWIvZmF4IC91c3Ivc2hhcmUvWDEx
L3hrYiAvdXNyL3NoYXJlL2NvbmZpZyAvdmFyL3NlcnZpY2UgL3Zhci9zcG9vbC9mYXgvZXRjIgpD
T05GSUdfUFJPVEVDVF9NQVNLPSIvZXRjL1gxMS94aW5pdC94aW5pdHJjIC9ldGMvY3VwcyAvZXRj
L2N1cHMvY3Vwc2QuY29uZiAvZXRjL2Vudi5kIC9ldGMvZW52LmQvamF2YS8gL2V0Yy9nY29uZiAv
ZXRjL2luaXQuZC9uZXQuZXRoMCAvZXRjL2phdmEtY29uZmlnL3Ztcy8gL2V0Yy9tb2R1bGVzLmF1
dG9sb2FkLmQva2VybmVsLTIuNiAvZXRjL3BvcnRhZ2UgL2V0Yy9yYy5kIC9ldGMvcmV2ZGVwLXJl
YnVpbGQgL2V0Yy9zYW1iYS8gL2V0Yy90ZXJtaW5mbyAvZXRjL3RleG1mL3dlYjJjIC9ldGMvdnNm
dHBkLyIKQ1hYRkxBR1M9Ii1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICIKRElTVERJUj0iL3Vz
ci9wb3J0YWdlL2Rpc3RmaWxlcyIKRkVBVFVSRVM9ImF1dG9jb25maWcgY29uZmNhY2hlIGRpc3Rs
b2NrcyBrZWVwd29yayBtZXRhZGF0YS10cmFuc2ZlciBwYXJhbGxlbC1mZXRjaCBwcmVsaW5rIHNh
bmRib3ggc2ZwZXJtcyBzcGxpdGRlYnVnIHN0cmljdCIKR0VOVE9PX01JUlJPUlM9Imh0dHA6Ly9k
aXN0ZmlsZXMuZ2VudG9vLm9yZyBodHRwOi8vZGlzdHJvLmliaWJsaW8ub3JnL3B1Yi9saW51eC9k
aXN0cmlidXRpb25zL2dlbnRvbyIKTEFORz0icGxfUEwiCkxDX0FMTD0icGxfUEwiCkxJTkdVQVM9
InBsIGVuIgpNQUtFT1BUUz0iLWozIgpQS0dESVI9Ii91c3IvcG9ydGFnZS9wYWNrYWdlcyIKUE9S
VEFHRV9SU1lOQ19PUFRTPSItLXJlY3Vyc2l2ZSAtLWxpbmtzIC0tc2FmZS1saW5rcyAtLXBlcm1z
IC0tdGltZXMgLS1jb21wcmVzcyAtLWZvcmNlIC0td2hvbGUtZmlsZSAtLWRlbGV0ZSAtLWRlbGV0
ZS1hZnRlciAtLXN0YXRzIC0tdGltZW91dD0xODAgLS1leGNsdWRlPS9kaXN0ZmlsZXMgLS1leGNs
dWRlPS9sb2NhbCAtLWV4Y2x1ZGU9L3BhY2thZ2VzIC0tZmlsdGVyPUhfKiovZmlsZXMvZGlnZXN0
LSoiClBPUlRBR0VfVE1QRElSPSIvdmFyL3RtcCIKUE9SVERJUj0iL3Vzci9wb3J0YWdlIgpQT1JU
RElSX09WRVJMQVk9Ii91c3IvbG9jYWwvZGlzdGNjX3BvcnRhZ2UiClNZTkM9InJzeW5jOi8vcnN5
bmMuZXVyb3BlLmdlbnRvby5vcmcvZ2VudG9vLXBvcnRhZ2UiClVTRT0iIyAmIDNkbm93IDNkbm93
ZXggM2Rub3dleHQgS0RFIFggWGF3M2QgYTUyIGFhYyBhY2wgYWNwaSBhZGEgYWltIGFsc2EgYW1k
IGFtciBhbmQgYXBwbGljYXRpb25zIGFydHdvcmtleHRyYSBhc2YgYXNtIGF1ZGlvIGF1ZGlvZmls
ZSBiYXNoLWNvbXBsZXRpb24gYmNtYXRoIGJkZiBiZWFnbGUgYmVya2RiIGJpZGkgYmluZmlsdGVy
IGJpdG1hcC1mb250cyBibCBibGVuZGVyLWdhbWUgYmx1ZXRvb3RoIGJ1cm5lciBiemlwMiBiemxp
YiBjYWlybyBjZHBhcmFub2lhIGNkciBjbGUyNjYgY2xpIGNvZGVjcyBjb21tdW5pY2F0b3JzIGNv
bXBpbGVycyBjb21wcmVzc2lvbiBjcGRmbGliIGNyYWNrbGliIGNyeXB0IGNzY29wZSBjc3MgY3R5
cGUgY3VwcyBjdnMgY3ZzZ3JhcGggZGFlbW9ucyBkYnVzIGRlc2lyZWQgZGV2aWNlcyBkZ2EgZGl2
eDRsaW51eCBkanZ1IGRsbG9hZGVyIGRtaSBkb2MgZHJpIGR0cyBkdiBkdmIgZHZkIGR2ZHIgZHZk
cmVhZCBkdmkgZHhyMyBlZGwgZW1ib3NzIGVuY29kZSBldGMgZXhhbXBsZXMgZXhpZiBleHBhdCBl
eHRlbnNpb25zIGV4dGVybmFsIGY3NyBmYW0gZmF0IGZiY29uIGZlYXR1cmVzIGZmbXBlZyBmZnR3
IGZpcmVmb3ggZmxhYyBmbGFzaCBmb250LXNlcnZlciBmb250cyBmb29tYXRpY2RiIGZvcnRyYW4g
ZnRwIGZ1c2UgZ2FpbSBnYiBnY2ogZ2QgZ2RiIGdkYm0gZ2cgZ2dpIGdpZiBnaW1wIGdpbXBwcmlu
dCBnaW5hYyBnbGFkZSBnbGliYy1jb21wYXQyMCBnbGliYy1vbWl0ZnAgZ2xpdHogZ2x4IGdtcCBn
bm9raWkgZ251cGxvdCBnbnV0bHMgZ3Bob3RvMiBncG0gZ3JhcGgvdmlkZW8gZ3JhcGhpY3MgZ3Mg
Z3RrIGd0azIgZ3VpIGd2aW0gZ3ppcCBoYWwgaGZzIGljb252IGljcSBpY3UgaWQzIGlkZWEgaWRu
IGlrc2VtZWwgaW1hZ2UgaW1hZ2VtYWdpY2sgaW1hcCBpbWxpYiBpbm5vZGIgaW9kYmMgaXByb3V0
ZTIgaXB2NiBpcHY2YXJwYSBpcmMgaXJkYSBpcm1jIGlyc3NpIGlzZG5sb2cgajJlZSBqYWJiZXIg
amF2YSBqYXZhY29tbSBqYXZhc2NyaXB0IGpiaWcgamZzIGpvaG4ganAyIGpwZWcganBlZzJrIGtk
ZSBrZGVlbmFibGVmaW5hbCBrZGVoaWRkZW52aXNpYmlsaXR5IGtkZXBpbSBrZGV4ZGVsdGFzIGtk
Z3JhcGhpY3MgbGFtZSBsYW5ndWFnZSBsYXRleCBsY21zIGxlc3N0aWYgbGliY2FjYSBsaWJlZGl0
IGxpYmcrKyBsaWJzIGxpYnd3dyBsaXZlIGx1YSBsem8gbHp3IG1hZCBtYWlsZGlyIG1hdHJvc2th
IG1kNXN1bSBtaWRpIG1pa21vZCBtaW1lIG1pbWVuY29kZSBtanBlZyBtbWFwIG1teCBtbXgyIG1t
eGV4dCBtbmcgbW5vZ29zZWFyY2ggbW9kIG1vbm8gbW90aWYgbW91c2UgbW96ZGV2ZWxvcCBtb3pz
dmcgbXAzIG1wNCBtcDRsaXZlIG1wZC1tYWQgbXBlZyBtcGVnMiBtcGVnNCBtcGxheWVyIG1weCBt
c24gbXVzZXBhY2sgbmF1dGlsdXMgbmN1cnNlcyBuZVh0IG5ldCBuZXR3b3JrIG5mb3JjZTIgbmZz
IG5scyBubnRwIG5vZHJtIG5vdCBucHRsIG5wdGxvbmx5IG5zcGx1Z2luIG50ZnMgbnRsbSBudmlk
aWEgbnZ0diBvYmpjIG9iamMrKyBvY3RhdmUgb2ZmZW5zaXZlIG9nZyBvcGVuYWwgb3BlbmV4ciBv
cGVuZ2wgb3BlbnNzaCBvc2Mgb3RoZXIgcGFtIHBhbmdvIHBhc2NhbCBwY250bCBwY3JlIHBkYSBw
ZGYgcGRma2l0IHBlZWNoIHBlcmwgcGhlYWRlcnMgcGxvdHV0aWxzIHBuZyBwb3NpeCBwb3ZyYXkg
cHBkcyBwcHBkIHByaW50IHByb2Nlc3NvciBwcm9ncmFtbWluZyBwcm90b2NvbHMgcHl0aG9uIHF0
IHF0MyBxdDQgcXVpY2t0aW1lIHJhciByZWFsIHJlYWxtZWRpYSByZWZsZWN0aW9uIHJlaXNlcjQg
cmVpc2VyZnMgcmxlIHNhbWJhIHNhc2wgc2Nhbm5lciBzY3Agc2NyZWVuIHNkayBzZGwgc2VhbW9u
a2V5IHNlY3VyaXR5IHNlbmRmaWxlIHNlcmlhbCBzZXNzaW9uIHNmdHAgc2Z0cGxvZ2dpbmcgc2hh
cGVyIHNob3J0ZW4gc2ltcGxleG1sIHNrZXkgc2xhbmcgc2xwIHNtaW1lIHNtcyBzbmRmaWxlIHNv
Y2tldHMgc29ja3M1IHNvdW5kIHNvdXJjZXZpZXcgc294IHNwZWVkbyBzcGVleCBzcGVsbCBzcGwg
c3FsIHNzZSBzc2UyIHNzZTMgc3NoIHNzbCBzdWJwIHN1YnRpdGxlcyBzdWJ2ZXJzaW9uIHN1cHBv
cnQgc3ZnIHN2Z2Egc3dmIHN5c2ZzIHN5c3RlbSBzeXN2aXBjIHN6aXAgdDFsaWIgdGNsIHRjbHRr
IHRjcGQgdGV0ZXggdGdhIHRoZW9yYSB0aHJlYWRzIHRpZmYgdGxlbiB0cmFuc2NvZGUgdHJ1ZXR5
cGUgdHJ1ZXR5cGUtZm9udHMgdHlwZTEgdHlwZTEtZm9udHMgdWNzMiB1ZGV2IHVuaWNvZGUgdW5r
bm93biB1c2IgdXNlZnVsIHVzZXJsb2NhbGVzIHV0ZjggdjRsIHY0bDIgdmFsZ3JpbmQgdmNkIHZk
ciB2ZmF0IHZpZGVvIHZpZGl4IHZpbSB2aW0td2l0aC14IHZvaWNlIHZvcmJpcyB3aW4zMmNvZGVj
cyB3bWEgd21hMTIzIHdtZiB3eHdpbmRvd3MgeDI2NCB4ODYgeGFuaW0geGZzIHhpbmUgeGluZXJh
bWEgeG1sIHhtbDIgeG1scmVhZGVyIHhtbHJwYyB4bWx3cml0ZXIgeG9yZyB4cG0geHByaW50IHh2
IHh2aWQgeHZtYyB5YWhvbyB5cCB5djEyIHppcCB6bGliIiBBTFNBX0NBUkRTPSJhbGk1NDUxIGFs
czQwMDAgYXRpaXhwIGF0aWl4cC1tb2RlbSBidDg3eCBjYTAxMDYgY21pcGNpIGVtdTEwazEgZW11
MTBrMXggZW5zMTM3MCBlbnMxMzcxIGVzMTkzOCBlczE5NjggZm04MDEgaGRhLWludGVsIGludGVs
OHgwIGludGVsOHgwbSBtYWVzdHJvMyB0cmlkZW50IHVzYi1hdWRpbyB2aWE4Mnh4IHZpYTgyeHgt
bW9kZW0geW1mcGNpIiBBTFNBX1BDTV9QTFVHSU5TPSJhZHBjbSBhbGF3IGFzeW0gY29weSBkbWl4
IGRzaGFyZSBkc25vb3AgZW1wdHkgZXh0cGx1ZyBmaWxlIGhvb2tzIGllYzk1OCBpb3BsdWcgbGFk
c3BhIGxmbG9hdCBsaW5lYXIgbWV0ZXIgbXVsYXcgbXVsdGkgbnVsbCBwbHVnIHJhdGUgcm91dGUg
c2hhcmUgc2htIHNvZnR2b2wiIEVMSUJDPSJnbGliYyIgSU5QVVRfREVWSUNFUz0ia2V5Ym9hcmQg
bW91c2UgZXZkZXYiIEtFUk5FTD0ibGludXgiIExDRF9ERVZJQ0VTPSJiYXlyYWQgY2ZvbnR6IGNm
b250ejYzMyBnbGsgaGQ0NDc4MCBsYjIxNiBsY2RtMDAxIG10eG9yYiBuY3Vyc2VzIHRleHQiIExJ
TkdVQVM9InBsIGVuIiBVU0VSTEFORD0iR05VIiBWSURFT19DQVJEUz0ibnZpZGlhIG52IgpVbnNl
dDogIENUQVJHRVQsIEVNRVJHRV9ERUZBVUxUX09QVFMsIElOU1RBTExfTUFTSywgTERGTEFHUywg
UE9SVEFHRV9DT01QUkVTUywgUE9SVEFHRV9DT01QUkVTU19GTEFHUywgUE9SVEFHRV9SU1lOQ19F
WFRSQV9PUFRTCgplbWVyZ2UgLS1pbmZvIG9uIHNlY29uZCBtYWNoaW5lOgpQb3J0YWdlIDIuMS4y
LjMgKGRlZmF1bHQtbGludXgveDg2LzIwMDYuMCwgZ2NjLTQuMS4yLCBnbGliYy0yLjUtcjEsIDIu
Ni4yMC1nZW50b28gaTY4NikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KU3lzdGVtIHVuYW1lOiAyLjYuMjAtZ2VudG9vIGk2
ODYgSW50ZWwoUikgUGVudGl1bShSKSA0IENQVSAzLjIwR0h6CkdlbnRvbyBCYXNlIFN5c3RlbSBy
ZWxlYXNlIDEuMTIuMTAKVGltZXN0YW1wIG9mIHRyZWU6IFR1ZSwgMTAgQXByIDIwMDcgMDg6MDA6
MDkgKzAwMDAKZGV2LWphdmEvamF2YS1jb25maWc6IDEuMy43LCAyLjAuMzEtcjUKZGV2LWxhbmcv
cHl0aG9uOiAgICAgMi40LjQKZGV2LXB5dGhvbi9weWNyeXB0bzogMi4wLjEtcjUKc3lzLWFwcHMv
c2FuZGJveDogICAgMS4yLjE4LjEKc3lzLWRldmVsL2F1dG9jb25mOiAgMi4xMywgMi42MQpzeXMt
ZGV2ZWwvYXV0b21ha2U6ICAxLjRfcDYsIDEuNSwgMS42LjMsIDEuNy45LXIxLCAxLjguNS1yMywg
MS45LjYtcjIsIDEuMTAKc3lzLWRldmVsL2JpbnV0aWxzOiAgMi4xNwpzeXMtZGV2ZWwvZ2NjLWNv
bmZpZzogMS4zLjE1LXIxCnN5cy1kZXZlbC9saWJ0b29sOiAgIDEuNS4yM2IKdmlydHVhbC9vcy1o
ZWFkZXJzOiAgMi42LjIwLXIyCkFDQ0VQVF9LRVlXT1JEUz0ieDg2IH54ODYiCkFVVE9DTEVBTj0i
eWVzIgpDQlVJTEQ9Imk2ODYtcGMtbGludXgtZ251IgpDRkxBR1M9Ii1PcyAtbWFyY2g9cGVudGl1
bTQgLXBpcGUiCkNIT1NUPSJpNjg2LXBjLWxpbnV4LWdudSIKQ09ORklHX1BST1RFQ1Q9Ii9ldGMg
L3Vzci9rZGUvMy41L2VudiAvdXNyL2tkZS8zLjUvc2hhcmUvY29uZmlnIC91c3Iva2RlLzMuNS9z
aHV0ZG93biAvdXNyL3NoYXJlL1gxMS94a2IgL3Vzci9zaGFyZS9jb25maWciCkNPTkZJR19QUk9U
RUNUX01BU0s9Ii9ldGMvZW52LmQgL2V0Yy9lbnYuZC9qYXZhLyAvZXRjL2djb25mIC9ldGMvamF2
YS1jb25maWcvdm1zLyAvZXRjL3BocC9hcGFjaGUxLXBocDUvZXh0LWFjdGl2ZS8gL2V0Yy9waHAv
YXBhY2hlMi1waHA1L2V4dC1hY3RpdmUvIC9ldGMvcGhwL2NnaS1waHA1L2V4dC1hY3RpdmUvIC9l
dGMvcGhwL2NsaS1waHA1L2V4dC1hY3RpdmUvIC9ldGMvcmV2ZGVwLXJlYnVpbGQgL2V0Yy90ZXJt
aW5mbyAvZXRjL3RleG1mL3dlYjJjIgpDWFhGTEFHUz0iLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlw
ZSIKRElTVERJUj0iL3Vzci9wb3J0YWdlL2Rpc3RmaWxlcyIKRkVBVFVSRVM9ImJ1aWxkcGtnIGNh
bmR5IGNjYWNoZSBkaXN0bG9ja3MgbWV0YWRhdGEtdHJhbnNmZXIgbW9vIHBhcmFsbGVsLWZldGNo
IHNhbmRib3ggc2ZwZXJtcyBzdHJpY3QgdXNlcnByaXYgdXNlcnNhbmRib3giCkdFTlRPT19NSVJS
T1JTPSJodHRwOi8vZGlzdGZpbGVzLmdlbnRvby5vcmcgaHR0cDovL2Rpc3Ryby5pYmlibGlvLm9y
Zy9wdWIvbGludXgvZGlzdHJpYnV0aW9ucy9nZW50b28iCkxBTkc9InBsX1BMIgpMQ19BTEw9InBs
X1BMIgpMSU5HVUFTPSJwbCBlbiIKTUFLRU9QVFM9Ii1qMyIKUEtHRElSPSIvdXNyL3BvcnRhZ2Uv
cGFja2FnZXMiClBPUlRBR0VfUlNZTkNfT1BUUz0iLS1yZWN1cnNpdmUgLS1saW5rcyAtLXNhZmUt
bGlua3MgLS1wZXJtcyAtLXRpbWVzIC0tY29tcHJlc3MgLS1mb3JjZSAtLXdob2xlLWZpbGUgLS1k
ZWxldGUgLS1kZWxldGUtYWZ0ZXIgLS1zdGF0cyAtLXRpbWVvdXQ9MTgwIC0tZXhjbHVkZT0vZGlz
dGZpbGVzIC0tZXhjbHVkZT0vbG9jYWwgLS1leGNsdWRlPS9wYWNrYWdlcyAtLWZpbHRlcj1IXyoq
L2ZpbGVzL2RpZ2VzdC0qIgpQT1JUQUdFX1RNUERJUj0iL3Zhci90bXAiClBPUlRESVI9Ii91c3Iv
cG9ydGFnZSIKU1lOQz0icnN5bmM6Ly9yc3luYy5nZW50b28ub3JnL2dlbnRvby1wb3J0YWdlIgpV
U0U9IlggWGF3M2QgYWFjIGFjbCBhY3BpIGFpZ2x4IGFpbSBhbHNhIGFwYWNoZTIgYXBpYyBhcnRz
IGF1ZGlvZmlsZSBhdmkgYmFzaC1jb21wbGV0aW9uIGJjbWF0aCBiZXJrZGIgYmlkaSBiaXRtYXAt
Zm9udHMgYmx1ZXRvb3RoIGJvbm9ibyBiemlwMiBjZHBhcmFub2lhIGNkciBjaWQgY2xmbHVzaCBj
bGkgY21vdiBjcGRmbGliIGNyYWNrbGliIGNyeXB0IGN0eXBlIGN1cHMgY3g4IGRidXMgZGUgZGV2
aGVscCBkZ2EgZGl2eDRsaW51eCBkb2MgZHJpIGR0cyBkdiBkdmIgZHZkIGR2ZHIgZHZkcmVhZCBl
ZHMgZW1ib3NzIGVuY29kZSBleGFtcGxlcyBleGlmIGV4dHJhZmlsdGVycyBmZm1wZWcgZmZ0dyBm
bGFjIGZsYXNoIGZvb21hdGljZGIgZm9ydHJhbiBmb3J0cmFuZnRwIGZwdSBmdHAgZnhzciBnY2og
Z2QgZ2RibSBnZ2kgZ2lmIGdpbXAgZ2luYWMgZ2x1dCBnbXAgZ251dGxzIGdwaG90bzIgZ3BtIGdz
IGd0ayBndGsyIGhhbCBob3dsIGh0IGh5cGVyd2F2ZS1hcGkgaWNvbnYgaWNxIGllZWUxMzk0IGlt
YWdlbWFnaWNrIGltYXAgaW1saWIgaXB2NiBpcmRhIGlzZG5sb2cgamF2YSBqYXZhc2NyaXB0IGpw
ZWcganBlZzJrIGpwZyBrZGUga2RlZW5hYmxlZmluYWwga2RlaGlkZGVudmlzaWJpbGl0eSBsaWJn
KysgbGlid3d3IGxpcmMgbHpvIG1hZCBtYXRyb3NrYSBtY2EgbWNlIG1oYXNoIG1pZGkgbWlrbW9k
IG1pbWUgbWluZyBtanBlZyBtbWFwIG1teCBtbmcgbW90aWYgbW96aWxsYSBtcDMgbXBlZyBtc24g
bXNyIG10cnIgbXVsdGlzbG90IG11c2VwYWNrIG15c3FsIG15c3FsaSBuY3Vyc2VzIG5scyBucHRs
IG5zcGx1Z2luIG9iamMgb2ZmZW5zaXZlIG9nZyBvZ2d2b3JiaXMgb3BlbmFsIG9wZW5nbCBvc3Mg
cGFlIHBhbSBwYXQgcGJlIHBjbnRsIHBjcmUgcGRmIHBkZmxpYiBwZXJsIHBnZSBwaHAgcGxvdHV0
aWxzIHBuZyBwb3NpeCBwcGRzIHBwcGQgcHNlIHBzZTM2IHB5dGhvbiBxdCBxdDMgcXQ0IHF1aWNr
dGltZSByZWFkbGluZSByZWFsIHJlZmxlY3Rpb24gc2FtYmEgc2Nhbm5lciBzZGwgc2VwIHNlc3Np
b24gc25kZmlsZSBzb3VyY2Ugc294IHNwZWV4IHNwZWxsIHNwbCBzcWwgc3Mgc3NlIHNzZTIgc3Ns
IHN1YnZlcnNpb24gc3ZnIHN5c3ZpcGMgc3ppcCB0Y2x0ayB0Y3BkIHRldGV4IHRoZW9yYSB0aHJl
YWRzIHRpZmYgdG0gdHJ1ZXR5cGUgdHJ1ZXR5cGUtZm9udHMgdHNjIHR5cGUxLWZvbnRzIHVuaWNv
ZGUgdXNiIHZjZCB2aWRpeCB2bWUgdm9yYmlzIHdpbjMyY29kZWNzIHdtZiB3eHdpbmRvd3MgeDg2
IHhpbmUgeGluZXJhbWEgeG1sIHhtbDIgeG9yZyB4b3NkIHhwbSB4cHJpbnQgeHRwciB4diB4dmlk
IHh2bWMgeWFob28gemlwIHpsaWIiIEFMU0FfQ0FSRFM9ImFsaTU0NTEgYWxzNDAwMCBhdGlpeHAg
YXRpaXhwLW1vZGVtIGJ0ODd4IGNhMDEwNiBjbWlwY2kgZW11MTBrMSBlbXUxMGsxeCBlbnMxMzcw
IGVuczEzNzEgZXMxOTM4IGVzMTk2OCBmbTgwMSBoZGEtaW50ZWwgaW50ZWw4eDAgaW50ZWw4eDBt
IG1hZXN0cm8zIHRyaWRlbnQgdXNiLWF1ZGlvIHZpYTgyeHggdmlhODJ4eC1tb2RlbSB5bWZwY2ki
IEFMU0FfUENNX1BMVUdJTlM9ImFkcGNtIGFsYXcgYXN5bSBjb3B5IGRtaXggZHNoYXJlIGRzbm9v
cCBlbXB0eSBleHRwbHVnIGZpbGUgaG9va3MgaWVjOTU4IGlvcGx1ZyBsYWRzcGEgbGZsb2F0IGxp
bmVhciBtZXRlciBtdWxhdyBtdWx0aSBudWxsIHBsdWcgcmF0ZSByb3V0ZSBzaGFyZSBzaG0gc29m
dHZvbCIgRUxJQkM9ImdsaWJjIiBJTlBVVF9ERVZJQ0VTPSJtb3VzZSBrZXlib2FyZCIgS0VSTkVM
PSJsaW51eCIgTENEX0RFVklDRVM9ImJheXJhZCBjZm9udHogY2ZvbnR6NjMzIGdsayBoZDQ0Nzgw
IGxiMjE2IGxjZG0wMDEgbXR4b3JiIG5jdXJzZXMgdGV4dCIgTElOR1VBUz0icGwgZW4iIFVTRVJM
QU5EPSJHTlUiIFZJREVPX0NBUkRTPSJyYWRlb24gYXRpIgpVbnNldDogIENUQVJHRVQsIEVNRVJH
RV9ERUZBVUxUX09QVFMsIElOU1RBTExfTUFTSywgTERGTEFHUywgUE9SVEFHRV9DT01QUkVTUywg
UE9SVEFHRV9DT01QUkVTU19GTEFHUywgUE9SVEFHRV9SU1lOQ19FWFRSQV9PUFRTLCBQT1JURElS
X09WRVJMQVk=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>116794</attachid>
            <date>2007-04-20 13:04 0000</date>
            <desc>config.log on Pentium machine</desc>
            <filename>config.log</filename>
            <type>text/plain</type>
            <data encoding="base64">VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IEdpTmFDIGNvbmZpZ3VyZSAxLjMuNywgd2hp
Y2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42MS4gIEludm9jYXRpb24gY29tbWFu
ZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1ob3N0PWk2ODYtcGMt
bGludXgtZ251IC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuIC0taW5mb2Rpcj0vdXNyL3NoYXJlL2lu
Zm8gLS1kYXRhZGlyPS91c3Ivc2hhcmUgLS1zeXNjb25mZGlyPS9ldGMgLS1sb2NhbHN0YXRlZGly
PS92YXIvbGliIC0tYnVpbGQ9aTY4Ni1wYy1saW51eC1nbnUKCiMjIC0tLS0tLS0tLSAjIwojIyBQ
bGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IHBhcHlydXMKdW5hbWUgLW0g
PSBpNjg2CnVuYW1lIC1yID0gMi42LjIwLWdlbnRvbwp1bmFtZSAtcyA9IExpbnV4CnVuYW1lIC12
ID0gIzEgU01QIFBSRUVNUFQgRnJpIEZlYiAyMyAxMjo1OTowNyBDRVQgMjAwNwoKL3Vzci9iaW4v
dW5hbWUgLXAgPSBJbnRlbChSKSBQZW50aXVtKFIpIDQgQ1BVIDMuMjBHSHoKL2Jpbi91bmFtZSAt
WCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAgICAgID0gaTY4NgovdXNyL2Jpbi9h
cmNoIC1rICAgICAgID0gaTY4NgovdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5rbm93bgovdXNy
L2Jpbi9ob3N0aW5mbyAgICAgID0gdW5rbm93bgovYmluL21hY2hpbmUgICAgICAgICAgID0gdW5r
bm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93bgovYmluL3VuaXZlcnNlICAgICAg
ICAgID0gdW5rbm93bgoKUEFUSDogL3Vzci9saWIvY2NhY2hlL2JpbgpQQVRIOiAvdXNyL2xvY2Fs
L3NiaW4KUEFUSDogL3NiaW4KUEFUSDogL3Vzci9zYmluClBBVEg6IC91c3IvbGliL3BvcnRhZ2Uv
YmluClBBVEg6IC91c3IvbG9jYWwvYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9iaW4KUEFUSDog
L29wdC9iaW4KUEFUSDogL3Vzci9pNjg2LXBjLWxpbnV4LWdudS9nY2MtYmluLzQuMS4yClBBVEg6
IC9vcHQvYXRpL2JpbgpQQVRIOiAvb3B0L2F0aS9zYmluClBBVEg6IC9vcHQvYmxhY2tkb3duLWpk
ay0xLjQuMi4wMy9iaW4KUEFUSDogL29wdC9ibGFja2Rvd24tamRrLTEuNC4yLjAzL2pyZS9iaW4K
UEFUSDogL3Vzci9rZGUvMy41L3NiaW4KUEFUSDogL3Vzci9rZGUvMy41L2JpbgpQQVRIOiAvdXNy
L3F0LzMvYmluCgoKIyMgLS0tLS0tLS0tLS0gIyMKIyMgQ29yZSB0ZXN0cy4gIyMKIyMgLS0tLS0t
LS0tLS0gIyMKCmNvbmZpZ3VyZToyMDIzOiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp
bnN0YWxsCmNvbmZpZ3VyZToyMDc5OiByZXN1bHQ6IC9iaW4vaW5zdGFsbCAtYwpjb25maWd1cmU6
MjA5MDogY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lCmNvbmZpZ3Vy
ZToyMTMzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE5ODogY2hlY2tpbmcgZm9yIGdhd2sKY29u
ZmlndXJlOjIyMTQ6IGZvdW5kIC9iaW4vZ2F3awpjb25maWd1cmU6MjIyNTogcmVzdWx0OiBnYXdr
CmNvbmZpZ3VyZToyMjM2OiBjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpCmNvbmZp
Z3VyZToyMjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQ5MjogY2hlY2tpbmcgZm9yIGk2ODYt
cGMtbGludXgtZ251LWcrKwpjb25maWd1cmU6MjUwODogZm91bmQgL3Vzci9iaW4vaTY4Ni1wYy1s
aW51eC1nbnUtZysrCmNvbmZpZ3VyZToyNTE5OiByZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251LWcr
Kwpjb25maWd1cmU6MjU5NDogY2hlY2tpbmcgZm9yIEMrKyBjb21waWxlciB2ZXJzaW9uCmNvbmZp
Z3VyZToyNjAxOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLS12ZXJzaW9uID4mNQppNjg2LXBjLWxp
bnV4LWdudS1nKysgKEdDQykgNC4xLjIgKEdlbnRvbyA0LjEuMikKQ29weXJpZ2h0IChDKSAyMDA2
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNl
ZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50
eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4KCmNvbmZpZ3VyZToyNjA0OiAkPyA9IDAKY29uZmlndXJlOjI2MTE6IGk2ODYt
cGMtbGludXgtZ251LWcrKyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuClRhcmdldDogaTY4
Ni1wYy1saW51eC1nbnUKQ29uZmlndXJlZCB3aXRoOiAvdmFyL3RtcC9wb3J0YWdlL3N5cy1kZXZl
bC9nY2MtNC4xLjIvd29yay9nY2MtNC4xLjIvY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1iaW5k
aXI9L3Vzci9pNjg2LXBjLWxpbnV4LWdudS9nY2MtYmluLzQuMS4yIC0taW5jbHVkZWRpcj0vdXNy
L2xpYi9nY2MvaTY4Ni1wYy1saW51eC1nbnUvNC4xLjIvaW5jbHVkZSAtLWRhdGFkaXI9L3Vzci9z
aGFyZS9nY2MtZGF0YS9pNjg2LXBjLWxpbnV4LWdudS80LjEuMiAtLW1hbmRpcj0vdXNyL3NoYXJl
L2djYy1kYXRhL2k2ODYtcGMtbGludXgtZ251LzQuMS4yL21hbiAtLWluZm9kaXI9L3Vzci9zaGFy
ZS9nY2MtZGF0YS9pNjg2LXBjLWxpbnV4LWdudS80LjEuMi9pbmZvIC0td2l0aC1neHgtaW5jbHVk
ZS1kaXI9L3Vzci9saWIvZ2NjL2k2ODYtcGMtbGludXgtZ251LzQuMS4yL2luY2x1ZGUvZysrLXY0
IC0taG9zdD1pNjg2LXBjLWxpbnV4LWdudSAtLWJ1aWxkPWk2ODYtcGMtbGludXgtZ251IC0tZGlz
YWJsZS1hbHRpdmVjIC0tZW5hYmxlLW5scyAtLXdpdGhvdXQtaW5jbHVkZWQtZ2V0dGV4dCAtLXdp
dGgtc3lzdGVtLXpsaWIgLS1kaXNhYmxlLWNoZWNraW5nIC0tZGlzYWJsZS13ZXJyb3IgLS1lbmFi
bGUtc2VjdXJlcGx0IC0tZGlzYWJsZS1saWJ1bndpbmQtZXhjZXB0aW9ucyAtLWRpc2FibGUtbXVs
dGlsaWIgLS1kaXNhYmxlLWxpYm11ZGZsYXAgLS1kaXNhYmxlLWxpYnNzcCAtLWVuYWJsZS1qYXZh
LWF3dD1ndGsgLS1lbmFibGUtb2JqYy1nYyAtLWVuYWJsZS1sYW5ndWFnZXM9YyxjKyssamF2YSxv
YmpjLG9iai1jKyssZm9ydHJhbiAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtdGhyZWFkcz1wb3Np
eCAtLWVuYWJsZS1fX2N4YV9hdGV4aXQgLS1lbmFibGUtY2xvY2FsZT1nbnUKVGhyZWFkIG1vZGVs
OiBwb3NpeApnY2MgdmVyc2lvbiA0LjEuMiAoR2VudG9vIDQuMS4yKQpjb25maWd1cmU6MjYxNDog
JD8gPSAwCmNvbmZpZ3VyZToyNjIxOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLVYgPiY1Cmk2ODYt
cGMtbGludXgtZ251LWcrKzogJy1WJyBvcHRpb24gbXVzdCBoYXZlIGFyZ3VtZW50CmNvbmZpZ3Vy
ZToyNjI0OiAkPyA9IDEKY29uZmlndXJlOjI2NDc6IGNoZWNraW5nIGZvciBDKysgY29tcGlsZXIg
ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZToyNjc0OiBpNjg2LXBjLWxpbnV4LWdu
dS1nKysgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgIGNvbmZ0ZXN0LmNwcCAgPiY1CmNvbmZp
Z3VyZToyNjc3OiAkPyA9IDAKY29uZmlndXJlOjI3MTU6IHJlc3VsdDogYS5vdXQKY29uZmlndXJl
OjI3MzI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6
Mjc0MjogLi9hLm91dApjb25maWd1cmU6Mjc0NTogJD8gPSAwCmNvbmZpZ3VyZToyNzYyOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6Mjc2OTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t
cGlsaW5nCmNvbmZpZ3VyZToyNzcxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNzc0OiBjaGVja2lu
ZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZToyNzgxOiBpNjg2LXBjLWxpbnV4
LWdudS1nKysgLW8gY29uZnRlc3QgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgIGNvbmZ0ZXN0
LmNwcCAgPiY1CmNvbmZpZ3VyZToyNzg0OiAkPyA9IDAKY29uZmlndXJlOjI4MDg6IHJlc3VsdDog
CmNvbmZpZ3VyZToyODE0OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25m
aWd1cmU6Mjg0MDogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQg
LXBpcGUgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjI4NDM6ICQ/ID0gMApjb25maWd1cmU6
Mjg2NjogcmVzdWx0OiBvCmNvbmZpZ3VyZToyODcwOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1
c2luZyB0aGUgR05VIEMrKyBjb21waWxlcgpjb25maWd1cmU6Mjg5OTogaTY4Ni1wYy1saW51eC1n
bnUtZysrIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIGNvbmZ0ZXN0LmNwcCA+JjUKY29u
ZmlndXJlOjI5MDU6ICQ/ID0gMApjb25maWd1cmU6MjkyMjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjI5Mjc6IGNoZWNraW5nIHdoZXRoZXIgaTY4Ni1wYy1saW51eC1nbnUtZysrIGFjY2VwdHMgLWcK
Y29uZmlndXJlOjI5NTc6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtYyAtZyAgY29uZnRlc3QuY3Bw
ID4mNQpjb25maWd1cmU6Mjk2MzogJD8gPSAwCmNvbmZpZ3VyZTozMDYyOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MzA5NjogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtl
CmNvbmZpZ3VyZTozMTI0OiByZXN1bHQ6IEdOVQpjb25maWd1cmU6MzE1MjogY2hlY2tpbmcgZGVw
ZW5kZW5jeSBzdHlsZSBvZiBpNjg2LXBjLWxpbnV4LWdudS1nKysKY29uZmlndXJlOjMyNDI6IHJl
c3VsdDogZ2NjMwpjb25maWd1cmU6MzI2NDogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQysrIHBy
ZXByb2Nlc3Nvcgpjb25maWd1cmU6MzMwMDogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1FICBjb25m
dGVzdC5jcHAKY29uZmlndXJlOjMzMDY6ICQ/ID0gMApjb25maWd1cmU6MzMzNzogaTY4Ni1wYy1s
aW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZnRlc3QuY3BwOjEyOjI4OiBlcnJvcjog
YWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MzM0
MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu
ICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHaU5hQyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
TkFNRSAiZ2luYWMiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEuMy43Igp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIkdpTmFDIDEuMy43Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg
IjxnaW5hYy1saXN0QGdpbmFjLmRlPiIKfCAjZGVmaW5lIFBBQ0tBR0UgImdpbmFjIgp8ICNkZWZp
bmUgVkVSU0lPTiAiMS4zLjciCnwgI2RlZmluZSBBUkNISVZFX1ZFUlNJT04gMgp8ICNkZWZpbmUg
QVJDSElWRV9BR0UgMgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9u
ZXhpc3RlbnQuaD4KY29uZmlndXJlOjMzNzY6IHJlc3VsdDogaTY4Ni1wYy1saW51eC1nbnUtZysr
IC1FCmNvbmZpZ3VyZTozNDA1OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLUUgIGNvbmZ0ZXN0LmNw
cApjb25maWd1cmU6MzQxMTogJD8gPSAwCmNvbmZpZ3VyZTozNDQyOiBpNjg2LXBjLWxpbnV4LWdu
dS1nKysgLUUgIGNvbmZ0ZXN0LmNwcApjb25mdGVzdC5jcHA6MTI6Mjg6IGVycm9yOiBhY19ub25l
eGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTozNDQ4OiAkPyA9
IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwg
I2RlZmluZSBQQUNLQUdFX05BTUUgIkdpTmFDIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJn
aW5hYyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMS4zLjciCnwgI2RlZmluZSBQQUNLQUdF
X1NUUklORyAiR2lOYUMgMS4zLjciCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiPGdpbmFj
LWxpc3RAZ2luYWMuZGU+Igp8ICNkZWZpbmUgUEFDS0FHRSAiZ2luYWMiCnwgI2RlZmluZSBWRVJT
SU9OICIxLjMuNyIKfCAjZGVmaW5lIEFSQ0hJVkVfVkVSU0lPTiAyCnwgI2RlZmluZSBBUkNISVZF
X0FHRSAyCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVu
dC5oPgpjb25maWd1cmU6MzQ5ODogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs
bApjb25maWd1cmU6MzU1NDogcmVzdWx0OiAvYmluL2luc3RhbGwgLWMKY29uZmlndXJlOjM2NDM6
IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTozNjYxOiByZXN1bHQ6IGk2ODYt
cGMtbGludXgtZ251CmNvbmZpZ3VyZTozNjgzOiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNv
bmZpZ3VyZTozNjk4OiByZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251CmNvbmZpZ3VyZTozNzI4OiBj
aGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtZ2NjCmNvbmZpZ3VyZTozNzQ0OiBmb3VuZCAv
dXNyL2Jpbi9pNjg2LXBjLWxpbnV4LWdudS1nY2MKY29uZmlndXJlOjM3NTU6IHJlc3VsdDogaTY4
Ni1wYy1saW51eC1nbnUtZ2NjCmNvbmZpZ3VyZTo0MDMzOiBjaGVja2luZyBmb3IgQyBjb21waWxl
ciB2ZXJzaW9uCmNvbmZpZ3VyZTo0MDQwOiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLS12ZXJzaW9u
ID4mNQppNjg2LXBjLWxpbnV4LWdudS1nY2MgKEdDQykgNC4xLjIgKEdlbnRvbyA0LjEuMikKQ29w
eXJpZ2h0IChDKSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZy
ZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVy
ZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTo0MDQzOiAkPyA9IDAKY29uZmln
dXJlOjQwNTA6IGk2ODYtcGMtbGludXgtZ251LWdjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3Bl
Y3MuClRhcmdldDogaTY4Ni1wYy1saW51eC1nbnUKQ29uZmlndXJlZCB3aXRoOiAvdmFyL3RtcC9w
b3J0YWdlL3N5cy1kZXZlbC9nY2MtNC4xLjIvd29yay9nY2MtNC4xLjIvY29uZmlndXJlIC0tcHJl
Zml4PS91c3IgLS1iaW5kaXI9L3Vzci9pNjg2LXBjLWxpbnV4LWdudS9nY2MtYmluLzQuMS4yIC0t
aW5jbHVkZWRpcj0vdXNyL2xpYi9nY2MvaTY4Ni1wYy1saW51eC1nbnUvNC4xLjIvaW5jbHVkZSAt
LWRhdGFkaXI9L3Vzci9zaGFyZS9nY2MtZGF0YS9pNjg2LXBjLWxpbnV4LWdudS80LjEuMiAtLW1h
bmRpcj0vdXNyL3NoYXJlL2djYy1kYXRhL2k2ODYtcGMtbGludXgtZ251LzQuMS4yL21hbiAtLWlu
Zm9kaXI9L3Vzci9zaGFyZS9nY2MtZGF0YS9pNjg2LXBjLWxpbnV4LWdudS80LjEuMi9pbmZvIC0t
d2l0aC1neHgtaW5jbHVkZS1kaXI9L3Vzci9saWIvZ2NjL2k2ODYtcGMtbGludXgtZ251LzQuMS4y
L2luY2x1ZGUvZysrLXY0IC0taG9zdD1pNjg2LXBjLWxpbnV4LWdudSAtLWJ1aWxkPWk2ODYtcGMt
bGludXgtZ251IC0tZGlzYWJsZS1hbHRpdmVjIC0tZW5hYmxlLW5scyAtLXdpdGhvdXQtaW5jbHVk
ZWQtZ2V0dGV4dCAtLXdpdGgtc3lzdGVtLXpsaWIgLS1kaXNhYmxlLWNoZWNraW5nIC0tZGlzYWJs
ZS13ZXJyb3IgLS1lbmFibGUtc2VjdXJlcGx0IC0tZGlzYWJsZS1saWJ1bndpbmQtZXhjZXB0aW9u
cyAtLWRpc2FibGUtbXVsdGlsaWIgLS1kaXNhYmxlLWxpYm11ZGZsYXAgLS1kaXNhYmxlLWxpYnNz
cCAtLWVuYWJsZS1qYXZhLWF3dD1ndGsgLS1lbmFibGUtb2JqYy1nYyAtLWVuYWJsZS1sYW5ndWFn
ZXM9YyxjKyssamF2YSxvYmpjLG9iai1jKyssZm9ydHJhbiAtLWVuYWJsZS1zaGFyZWQgLS1lbmFi
bGUtdGhyZWFkcz1wb3NpeCAtLWVuYWJsZS1fX2N4YV9hdGV4aXQgLS1lbmFibGUtY2xvY2FsZT1n
bnUKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0LjEuMiAoR2VudG9vIDQuMS4yKQpj
b25maWd1cmU6NDA1MzogJD8gPSAwCmNvbmZpZ3VyZTo0MDYwOiBpNjg2LXBjLWxpbnV4LWdudS1n
Y2MgLVYgPiY1Cmk2ODYtcGMtbGludXgtZ251LWdjYzogJy1WJyBvcHRpb24gbXVzdCBoYXZlIGFy
Z3VtZW50CmNvbmZpZ3VyZTo0MDYzOiAkPyA9IDEKY29uZmlndXJlOjQwNjY6IGNoZWNraW5nIHdo
ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlcgpjb25maWd1cmU6NDA5NTogaTY4
Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZpZ3VyZTo0MTAxOiAkPyA9IDAKY29uZmlndXJlOjQxMTg6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo0MTIzOiBjaGVja2luZyB3aGV0aGVyIGk2ODYtcGMtbGludXgtZ251LWdjYyBh
Y2NlcHRzIC1nCmNvbmZpZ3VyZTo0MTUzOiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLWcgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MTU5OiAkPyA9IDAKY29uZmlndXJlOjQyNTg6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTo0Mjc1OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtZ2Nj
IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6NDM0OTogaTY4Ni1wYy1saW51eC1n
bnUtZ2NjICAtYyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jID4mNQpjb25m
aWd1cmU6NDM1NTogJD8gPSAwCmNvbmZpZ3VyZTo0Mzc4OiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNv
bmZpZ3VyZTo0Mzk4OiBjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGk2ODYtcGMtbGludXgt
Z251LWdjYwpjb25maWd1cmU6NDQ4ODogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo0NTA1OiBjaGVj
a2luZyBmb3IgYSBzZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQKY29uZmlndXJlOjQ1
NTk6IHJlc3VsdDogL2Jpbi9zZWQKY29uZmlndXJlOjQ1NjI6IGNoZWNraW5nIGZvciBncmVwIHRo
YXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZQpjb25maWd1cmU6NDYzNjogcmVzdWx0OiAvYmlu
L2dyZXAKY29uZmlndXJlOjQ2NDE6IGNoZWNraW5nIGZvciBlZ3JlcApjb25maWd1cmU6NDcxOTog
cmVzdWx0OiAvYmluL2dyZXAgLUUKY29uZmlndXJlOjQ3MzU6IGNoZWNraW5nIGZvciBsZCB1c2Vk
IGJ5IGk2ODYtcGMtbGludXgtZ251LWdjYwpjb25maWd1cmU6NDgwMjogcmVzdWx0OiAvdXNyL2k2
ODYtcGMtbGludXgtZ251L2Jpbi9sZApjb25maWd1cmU6NDgxMTogY2hlY2tpbmcgaWYgdGhlIGxp
bmtlciAoL3Vzci9pNjg2LXBjLWxpbnV4LWdudS9iaW4vbGQpIGlzIEdOVSBsZApjb25maWd1cmU6
NDgyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MzE6IGNoZWNraW5nIGZvciAvdXNyL2k2ODYt
cGMtbGludXgtZ251L2Jpbi9sZCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcwpjb25maWd1
cmU6NDgzODogcmVzdWx0OiAtcgpjb25maWd1cmU6NDg1NjogY2hlY2tpbmcgZm9yIEJTRC1jb21w
YXRpYmxlIG5tCmNvbmZpZ3VyZTo0OTA1OiByZXN1bHQ6IC91c3IvYmluL25tIC1CCmNvbmZpZ3Vy
ZTo0OTA5OiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmNvbmZpZ3VyZTo0OTEzOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6NDkyMDogY2hlY2tpbmcgaG93IHRvIHJlY29nbmlzZSBkZXBlbmRl
bnQgbGlicmFyaWVzCmNvbmZpZ3VyZTo1MDk2OiByZXN1bHQ6IHBhc3NfYWxsCmNvbmZpZ3VyZTo1
MzMwOiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NTM3
MDogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1Mzc2OiAk
PyA9IDAKY29uZmlndXJlOjU0MDc6IGk2ODYtcGMtbGludXgtZ251LWdjYyAtRSAgY29uZnRlc3Qu
Ywpjb25mdGVzdC5jOjEyOjI4OiBlcnJvcjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NTQxMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH
aU5hQyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2luYWMiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjEuMy43Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdpTmFDIDEuMy43Igp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIjxnaW5hYy1saXN0QGdpbmFjLmRlPiIKfCAjZGVm
aW5lIFBBQ0tBR0UgImdpbmFjIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4zLjciCnwgI2RlZmluZSBB
UkNISVZFX1ZFUlNJT04gMgp8ICNkZWZpbmUgQVJDSElWRV9BR0UgMgp8IC8qIGVuZCBjb25mZGVm
cy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjU0NDY6IHJl
c3VsdDogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1FCmNvbmZpZ3VyZTo1NDc1OiBpNjg2LXBjLWxp
bnV4LWdudS1nY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjU0ODE6ICQ/ID0gMApjb25maWd1
cmU6NTUxMjogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6
MTI6Mjg6IGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbmZpZ3VyZTo1NTE4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg
LyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdpTmFDIgp8ICNkZWZp
bmUgUEFDS0FHRV9UQVJOQU1FICJnaW5hYyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMS4z
LjciCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR2lOYUMgMS4zLjciCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiPGdpbmFjLWxpc3RAZ2luYWMuZGU+Igp8ICNkZWZpbmUgUEFDS0FHRSAi
Z2luYWMiCnwgI2RlZmluZSBWRVJTSU9OICIxLjMuNyIKfCAjZGVmaW5lIEFSQ0hJVkVfVkVSU0lP
TiAyCnwgI2RlZmluZSBBUkNISVZFX0FHRSAyCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
bmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NTU1NjogY2hlY2tpbmcgZm9yIEFO
U0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjU1ODY6IGk2ODYtcGMtbGludXgtZ251LWdjYyAt
YyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTU5
MjogJD8gPSAwCmNvbmZpZ3VyZTo1NjkxOiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRl
c3QgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6
NTY5NDogJD8gPSAwCmNvbmZpZ3VyZTo1NzAwOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo1NzAzOiAk
PyA9IDAKY29uZmlndXJlOjU3MjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NzQ0OiBjaGVja2lu
ZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjU3NjU6IGk2ODYtcGMtbGludXgtZ251LWdjYyAt
YyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTc3
MTogJD8gPSAwCmNvbmZpZ3VyZTo1Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDogY2hl
Y2tpbmcgZm9yIHN5cy9zdGF0LmgKY29uZmlndXJlOjU3NjU6IGk2ODYtcGMtbGludXgtZ251LWdj
YyAtYyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6
NTc3MTogJD8gPSAwCmNvbmZpZ3VyZTo1Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDog
Y2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZTo1NzY1OiBpNjg2LXBjLWxpbnV4LWdudS1n
Y2MgLWMgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OjU3NzE6ICQ/ID0gMApjb25maWd1cmU6NTc4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3NDQ6
IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6NTc2NTogaTY4Ni1wYy1saW51eC1nbnUt
Z2NjIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy
ZTo1NzcxOiAkPyA9IDAKY29uZmlndXJlOjU3ODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NzQ0
OiBjaGVja2luZyBmb3IgbWVtb3J5LmgKY29uZmlndXJlOjU3NjU6IGk2ODYtcGMtbGludXgtZ251
LWdjYyAtYyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6NTc3MTogJD8gPSAwCmNvbmZpZ3VyZTo1Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0
NDogY2hlY2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6NTc2NTogaTY4Ni1wYy1saW51eC1n
bnUtZ2NjIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp
Z3VyZTo1NzcxOiAkPyA9IDAKY29uZmlndXJlOjU3ODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1
NzQ0OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6NTc2NTogaTY4Ni1wYy1saW51
eC1nbnUtZ2NjIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZTo1NzcxOiAkPyA9IDAKY29uZmlndXJlOjU3ODc6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo1NzQ0OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjU3NjU6IGk2ODYtcGMtbGlu
dXgtZ251LWdjYyAtYyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jID4mNQpj
b25maWd1cmU6NTc3MTogJD8gPSAwCmNvbmZpZ3VyZTo1Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NTc0NDogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo1NzY1OiBpNjg2LXBjLWxp
bnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjU3NzE6ICQ/ID0gMApjb25maWd1cmU6NTc4NzogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjU4MTQ6IGNoZWNraW5nIGRsZmNuLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1ODMxOiBpNjg2
LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjU4Mzc6ICQ/ID0gMApjb25maWd1cmU6NTg1MTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjU4NTU6IGNoZWNraW5nIGRsZmNuLmggcHJlc2VuY2UKY29uZmlndXJlOjU4NzA6
IGk2ODYtcGMtbGludXgtZ251LWdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NTg3NjogJD8g
PSAwCmNvbmZpZ3VyZTo1ODkwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTkyMzogY2hlY2tpbmcg
Zm9yIGRsZmNuLmgKY29uZmlndXJlOjU5MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1OTU0OiBj
aGVja2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZTo2MDY2OiBy
ZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtRQpjb25maWd1cmU6NjA5NTogaTY4Ni1wYy1s
aW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjYxMDE6ICQ/ID0gMApjb25m
aWd1cmU6NjEzMjogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZnRl
c3QuY3BwOjIzOjI4OiBlcnJvcjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb25maWd1cmU6NjEzODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHaU5hQyIK
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2luYWMiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ
T04gIjEuMy43Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdpTmFDIDEuMy43Igp8ICNkZWZp
bmUgUEFDS0FHRV9CVUdSRVBPUlQgIjxnaW5hYy1saXN0QGdpbmFjLmRlPiIKfCAjZGVmaW5lIFBB
Q0tBR0UgImdpbmFjIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4zLjciCnwgI2RlZmluZSBBUkNISVZF
X1ZFUlNJT04gMgp8ICNkZWZpbmUgQVJDSElWRV9BR0UgMgp8ICNkZWZpbmUgU1REQ19IRUFERVJT
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg
I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAvKiBlbmQgY29uZmRl
ZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTo2MTg3OiBj
aGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtZzc3CmNvbmZpZ3VyZTo2MjE3OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUteGxmCmNv
bmZpZ3VyZTo2MjE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4
Ni1wYy1saW51eC1nbnUtZjc3CmNvbmZpZ3VyZTo2MjE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2
MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtZnJ0CmNvbmZpZ3VyZTo2MjE3OiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUt
cGdmNzcKY29uZmlndXJlOjYyMTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxODc6IGNoZWNraW5n
IGZvciBpNjg2LXBjLWxpbnV4LWdudS1jZjc3CmNvbmZpZ3VyZTo2MjE3OiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtZm9ydDc3CmNvbmZp
Z3VyZTo2MjE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1w
Yy1saW51eC1nbnUtZmwzMgpjb25maWd1cmU6NjIxNzogcmVzdWx0OiBubwpjb25maWd1cmU6NjE4
NzogY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LWFmNzcKY29uZmlndXJlOjYyMTc6IHJl
c3VsdDogbm8KY29uZmlndXJlOjYxODc6IGNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdudS14
bGY5MApjb25maWd1cmU6NjIxNzogcmVzdWx0OiBubwpjb25maWd1cmU6NjE4NzogY2hlY2tpbmcg
Zm9yIGk2ODYtcGMtbGludXgtZ251LWY5MApjb25maWd1cmU6NjIxNzogcmVzdWx0OiBubwpjb25m
aWd1cmU6NjE4NzogY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LXBnZjkwCmNvbmZpZ3Vy
ZTo2MjE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1s
aW51eC1nbnUtcGdocGYKY29uZmlndXJlOjYyMTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxODc6
IGNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdudS1lcGNmOTAKY29uZmlndXJlOjYyMTc6IHJl
c3VsdDogbm8KY29uZmlndXJlOjYxODc6IGNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdudS1n
Zm9ydHJhbgpjb25maWd1cmU6NjIwMzogZm91bmQgL3Vzci9iaW4vaTY4Ni1wYy1saW51eC1nbnUt
Z2ZvcnRyYW4KY29uZmlndXJlOjYyMTQ6IHJlc3VsdDogaTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRy
YW4KY29uZmlndXJlOjYyODg6IGNoZWNraW5nIGZvciBGb3J0cmFuIDc3IGNvbXBpbGVyIHZlcnNp
b24KY29uZmlndXJlOjYyOTU6IGk2ODYtcGMtbGludXgtZ251LWdmb3J0cmFuIC0tdmVyc2lvbiA+
JjUKR05VIEZvcnRyYW4gOTUgKEdDQykgNC4xLjIgKEdlbnRvbyA0LjEuMikKQ29weXJpZ2h0IChD
KSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgoKR05VIEZvcnRyYW4gY29tZXMg
d2l0aCBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LgpZb3UgbWF5
IHJlZGlzdHJpYnV0ZSBjb3BpZXMgb2YgR05VIEZvcnRyYW4KdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQg
dGhlc2UgbWF0dGVycywgc2VlIHRoZSBmaWxlIG5hbWVkIENPUFlJTkcKCmNvbmZpZ3VyZTo2Mjk4
OiAkPyA9IDAKY29uZmlndXJlOjYzMDU6IGk2ODYtcGMtbGludXgtZ251LWdmb3J0cmFuIC12ID4m
NQpVc2luZyBidWlsdC1pbiBzcGVjcy4KVGFyZ2V0OiBpNjg2LXBjLWxpbnV4LWdudQpDb25maWd1
cmVkIHdpdGg6IC92YXIvdG1wL3BvcnRhZ2Uvc3lzLWRldmVsL2djYy00LjEuMi93b3JrL2djYy00
LjEuMi9jb25maWd1cmUgLS1wcmVmaXg9L3VzciAtLWJpbmRpcj0vdXNyL2k2ODYtcGMtbGludXgt
Z251L2djYy1iaW4vNC4xLjIgLS1pbmNsdWRlZGlyPS91c3IvbGliL2djYy9pNjg2LXBjLWxpbnV4
LWdudS80LjEuMi9pbmNsdWRlIC0tZGF0YWRpcj0vdXNyL3NoYXJlL2djYy1kYXRhL2k2ODYtcGMt
bGludXgtZ251LzQuMS4yIC0tbWFuZGlyPS91c3Ivc2hhcmUvZ2NjLWRhdGEvaTY4Ni1wYy1saW51
eC1nbnUvNC4xLjIvbWFuIC0taW5mb2Rpcj0vdXNyL3NoYXJlL2djYy1kYXRhL2k2ODYtcGMtbGlu
dXgtZ251LzQuMS4yL2luZm8gLS13aXRoLWd4eC1pbmNsdWRlLWRpcj0vdXNyL2xpYi9nY2MvaTY4
Ni1wYy1saW51eC1nbnUvNC4xLjIvaW5jbHVkZS9nKystdjQgLS1ob3N0PWk2ODYtcGMtbGludXgt
Z251IC0tYnVpbGQ9aTY4Ni1wYy1saW51eC1nbnUgLS1kaXNhYmxlLWFsdGl2ZWMgLS1lbmFibGUt
bmxzIC0td2l0aG91dC1pbmNsdWRlZC1nZXR0ZXh0IC0td2l0aC1zeXN0ZW0temxpYiAtLWRpc2Fi
bGUtY2hlY2tpbmcgLS1kaXNhYmxlLXdlcnJvciAtLWVuYWJsZS1zZWN1cmVwbHQgLS1kaXNhYmxl
LWxpYnVud2luZC1leGNlcHRpb25zIC0tZGlzYWJsZS1tdWx0aWxpYiAtLWRpc2FibGUtbGlibXVk
ZmxhcCAtLWRpc2FibGUtbGlic3NwIC0tZW5hYmxlLWphdmEtYXd0PWd0ayAtLWVuYWJsZS1vYmpj
LWdjIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxqYXZhLG9iamMsb2JqLWMrKyxmb3J0cmFuIC0t
ZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IC0tZW5hYmxlLV9fY3hhX2F0ZXhp
dCAtLWVuYWJsZS1jbG9jYWxlPWdudQpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQu
MS4yIChHZW50b28gNC4xLjIpCmNvbmZpZ3VyZTo2MzA4OiAkPyA9IDAKY29uZmlndXJlOjYzMTU6
IGk2ODYtcGMtbGludXgtZ251LWdmb3J0cmFuIC1WID4mNQppNjg2LXBjLWxpbnV4LWdudS1nZm9y
dHJhbjogJy1WJyBvcHRpb24gbXVzdCBoYXZlIGFyZ3VtZW50CmNvbmZpZ3VyZTo2MzE4OiAkPyA9
IDEKY29uZmlndXJlOjYzMjY6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUg
Rm9ydHJhbiA3NyBjb21waWxlcgpjb25maWd1cmU6NjM0NTogaTY4Ni1wYy1saW51eC1nbnUtZ2Zv
cnRyYW4gLWMgIGNvbmZ0ZXN0LkYgPiY1CmNvbmZpZ3VyZTo2MzUxOiAkPyA9IDAKY29uZmlndXJl
OjYzNjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2Mzc0OiBjaGVja2luZyB3aGV0aGVyIGk2ODYt
cGMtbGludXgtZ251LWdmb3J0cmFuIGFjY2VwdHMgLWcKY29uZmlndXJlOjYzOTE6IGk2ODYtcGMt
bGludXgtZ251LWdmb3J0cmFuIC1jIC1nIGNvbmZ0ZXN0LmYgPiY1CmNvbmZpZ3VyZTo2Mzk3OiAk
PyA9IDAKY29uZmlndXJlOjY0MTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDQzOiBjaGVja2lu
ZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cwpjb25maWd1cmU6
NjU1MjogcmVzdWx0OiAzMjc2OApjb25maWd1cmU6NjU2MzogY2hlY2tpbmcgY29tbWFuZCB0byBw
YXJzZSAvdXNyL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBpNjg2LXBjLWxpbnV4LWdudS1nY2Mgb2Jq
ZWN0CmNvbmZpZ3VyZTo2NjY4OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1w
ZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY2NzE6ICQ/ID0gMApjb25m
aWd1cmU6NjY3NTogL3Vzci9iaW4vbm0gLUIgY29uZnRlc3QubyBcfCBzZWQgLW4gLWUgJ3MvXi4q
WyAJXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWyAJXVsgCV0qXChbX0EtWmEtel1bX0Et
WmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnIFw+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZTo2Njc4OiAk
PyA9IDAKY29uZmlndXJlOjY3MzA6IGk2ODYtcGMtbGludXgtZ251LWdjYyAtbyBjb25mdGVzdCAt
T3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICAgY29uZnRlc3QuYyBjb25mdHN0bS5vID4mNQpjb25m
aWd1cmU6NjczMzogJD8gPSAwCmNvbmZpZ3VyZTo2NzcxOiByZXN1bHQ6IG9rCmNvbmZpZ3VyZTo2
Nzc1OiBjaGVja2luZyBmb3Igb2JqZGlyCmNvbmZpZ3VyZTo2NzkwOiByZXN1bHQ6IC5saWJzCmNv
bmZpZ3VyZTo2ODQyOiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtYXIKY29uZmlndXJl
OjY4NTg6IGZvdW5kIC91c3IvYmluL2k2ODYtcGMtbGludXgtZ251LWFyCmNvbmZpZ3VyZTo2ODY5
OiByZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251LWFyCmNvbmZpZ3VyZTo2OTM4OiBjaGVja2luZyBm
b3IgaTY4Ni1wYy1saW51eC1nbnUtcmFubGliCmNvbmZpZ3VyZTo2OTU0OiBmb3VuZCAvdXNyL2Jp
bi9pNjg2LXBjLWxpbnV4LWdudS1yYW5saWIKY29uZmlndXJlOjY5NjU6IHJlc3VsdDogaTY4Ni1w
Yy1saW51eC1nbnUtcmFubGliCmNvbmZpZ3VyZTo3MDM0OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1s
aW51eC1nbnUtc3RyaXAKY29uZmlndXJlOjcwNTA6IGZvdW5kIC91c3IvYmluL2k2ODYtcGMtbGlu
dXgtZ251LXN0cmlwCmNvbmZpZ3VyZTo3MDYxOiByZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251LXN0
cmlwCmNvbmZpZ3VyZTo3Mzg3OiBjaGVja2luZyBpZiBpNjg2LXBjLWxpbnV4LWdudS1nY2Mgc3Vw
cG9ydHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucwpjb25maWd1cmU6NzQwNTogaTY4Ni1wYy1s
aW51eC1nbnUtZ2NjIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIC1mbm8tcnR0aSAtZm5v
LWV4Y2VwdGlvbnMgY29uZnRlc3QuYyA+JjUKY2MxOiB3YXJuaW5nOiBjb21tYW5kIGxpbmUgb3B0
aW9uICItZm5vLXJ0dGkiIGlzIHZhbGlkIGZvciBDKysvT2JqQysrIGJ1dCBub3QgZm9yIEMKY29u
ZmlndXJlOjc0MDk6ICQ/ID0gMApjb25maWd1cmU6NzQyMjogcmVzdWx0OiBubwpjb25maWd1cmU6
NzQzNzogY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LWdjYyBvcHRpb24gdG8gcHJvZHVj
ZSBQSUMKY29uZmlndXJlOjc2NDc6IHJlc3VsdDogLWZQSUMKY29uZmlndXJlOjc2NTU6IGNoZWNr
aW5nIGlmIGk2ODYtcGMtbGludXgtZ251LWdjYyBQSUMgZmxhZyAtZlBJQyB3b3Jrcwpjb25maWd1
cmU6NzY3MzogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBp
cGUgIC1mUElDIC1EUElDIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3Njc3OiAkPyA9IDAKY29u
ZmlndXJlOjc2OTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3NzE4OiBjaGVja2luZyBpZiBpNjg2
LXBjLWxpbnV4LWdudS1nY2Mgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcwpjb25maWd1cmU6Nzc0
NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjc3NTY6IGNoZWNraW5nIGlmIGk2ODYtcGMtbGludXgt
Z251LWdjYyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjc3Nzc6IGk2ODYtcGMtbGlu
dXgtZ251LWdjYyAtYyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICAtbyBvdXQvY29uZnRlc3Qy
Lm8gY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc3ODE6ICQ/ID0gMApjb25maWd1cmU6NzgwMzog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjc4Mjk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGk2ODYtcGMt
bGludXgtZ251LWdjYyBsaW5rZXIgKC91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkKSBzdXBw
b3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZTo4NzgzOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6ODgwNDogY2hlY2tpbmcgd2hldGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2Vk
IGluCmNvbmZpZ3VyZTo4ODA5OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1w
ZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg4MTI6ICQ/ID0gMApjb25m
aWd1cmU6ODgyNzogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1zaGFyZWQgY29uZnRlc3QubyAgLXYg
LVdsLC1zb25hbWUgLVdsLGNvbmZ0ZXN0IC1vIGNvbmZ0ZXN0IDJcPlwmMSBcfCBncmVwICAtbGMg
IFw+L2Rldi9udWxsIDJcPlwmMQpjb25maWd1cmU6ODgzMDogJD8gPSAwCmNvbmZpZ3VyZTo4ODQy
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4ODUwOiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFy
YWN0ZXJpc3RpY3MKY29uZmlndXJlOjk0Mzg6IHJlc3VsdDogR05VL0xpbnV4IGxkLnNvCmNvbmZp
Z3VyZTo5NDQ3OiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHBy
b2dyYW1zCmNvbmZpZ3VyZTo5NDcyOiByZXN1bHQ6IGltbWVkaWF0ZQpjb25maWd1cmU6OTQ4Njog
Y2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlCmNvbmZpZ3Vy
ZTo5NDkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAyOTI6IGNoZWNraW5nIGlmIGxpYnRvb2wg
c3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTAyOTQ6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZToxMDI5NzogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVz
CmNvbmZpZ3VyZToxMDMxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMzIxOiBjaGVja2luZyB3
aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMKY29uZmlndXJlOjEwMzI1OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MTA0MTc6IGNyZWF0aW5nIGxpYnRvb2wKY29uZmlndXJlOjExMDA1OiBj
aGVja2luZyBmb3IgbGQgdXNlZCBieSBpNjg2LXBjLWxpbnV4LWdudS1nKysKY29uZmlndXJlOjEx
MDcyOiByZXN1bHQ6IC91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkCmNvbmZpZ3VyZToxMTA4
MTogY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoL3Vzci9pNjg2LXBjLWxpbnV4LWdudS9iaW4vbGQp
IGlzIEdOVSBsZApjb25maWd1cmU6MTEwOTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTE0Nzog
Y2hlY2tpbmcgd2hldGhlciB0aGUgaTY4Ni1wYy1saW51eC1nbnUtZysrIGxpbmtlciAoL3Vzci9p
Njg2LXBjLWxpbnV4LWdudS9iaW4vbGQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmln
dXJlOjEyMDgxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTIwOTk6IGk2ODYtcGMtbGludXgtZ251
LWcrKyAtYyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jcHAgPiY1CmNvbmZp
Z3VyZToxMjEwMjogJD8gPSAwCmNvbmZpZ3VyZToxMjIyMTogY2hlY2tpbmcgZm9yIGk2ODYtcGMt
bGludXgtZ251LWcrKyBvcHRpb24gdG8gcHJvZHVjZSBQSUMKY29uZmlndXJlOjEyNDk1OiByZXN1
bHQ6IC1mUElDCmNvbmZpZ3VyZToxMjUwMzogY2hlY2tpbmcgaWYgaTY4Ni1wYy1saW51eC1nbnUt
ZysrIFBJQyBmbGFnIC1mUElDIHdvcmtzCmNvbmZpZ3VyZToxMjUyMTogaTY4Ni1wYy1saW51eC1n
bnUtZysrIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIC1mUElDIC1EUElDIGNvbmZ0ZXN0
LmNwcCA+JjUKY29uZmlndXJlOjEyNTI1OiAkPyA9IDAKY29uZmlndXJlOjEyNTM4OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MTI1NjY6IGNoZWNraW5nIGlmIGk2ODYtcGMtbGludXgtZ251LWcrKyBz
dGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzCmNvbmZpZ3VyZToxMjU5NDogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjEyNjA0OiBjaGVja2luZyBpZiBpNjg2LXBjLWxpbnV4LWdudS1nKysgc3VwcG9ydHMg
LWMgLW8gZmlsZS5vCmNvbmZpZ3VyZToxMjYyNTogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1jIC1P
cyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIC1vIG91dC9jb25mdGVzdDIubyBjb25mdGVzdC5jcHAg
PiY1CmNvbmZpZ3VyZToxMjYyOTogJD8gPSAwCmNvbmZpZ3VyZToxMjY1MTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEyNjc3OiBjaGVja2luZyB3aGV0aGVyIHRoZSBpNjg2LXBjLWxpbnV4LWdudS1n
KysgbGlua2VyICgvdXNyL2k2ODYtcGMtbGludXgtZ251L2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVk
IGxpYnJhcmllcwpjb25maWd1cmU6MTI3MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjc2OTog
Y2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzCmNvbmZpZ3VyZToxMzM1Nzog
cmVzdWx0OiBHTlUvTGludXggbGQuc28KY29uZmlndXJlOjEzMzY2OiBjaGVja2luZyBob3cgdG8g
aGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zCmNvbmZpZ3VyZToxMzM5MTogcmVz
dWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjEzOTE3OiBjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBv
cnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjEzOTE5OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MTM5MjI6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcwpjb25m
aWd1cmU6MTM5NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzk0NTogY2hlY2tpbmcgd2hldGhl
ciB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzCmNvbmZpZ3VyZToxMzk0OTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEzOTU5OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRyYW4g
b3B0aW9uIHRvIHByb2R1Y2UgUElDCmNvbmZpZ3VyZToxNDE2OTogcmVzdWx0OiAtZlBJQwpjb25m
aWd1cmU6MTQxNzc6IGNoZWNraW5nIGlmIGk2ODYtcGMtbGludXgtZ251LWdmb3J0cmFuIFBJQyBm
bGFnIC1mUElDIHdvcmtzCmNvbmZpZ3VyZToxNDE5NTogaTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRy
YW4gLWMgLWcgLU8yIC1mUElDIGNvbmZ0ZXN0LmYgPiY1CmNvbmZpZ3VyZToxNDE5OTogJD8gPSAw
CmNvbmZpZ3VyZToxNDIxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MjQwOiBjaGVja2luZyBp
ZiBpNjg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzCmNv
bmZpZ3VyZToxNDI2ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0Mjc4OiBjaGVja2luZyBpZiBp
Njg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiBzdXBwb3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJl
OjE0Mjk5OiBpNjg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiAtYyAtZyAtTzIgLW8gb3V0L2NvbmZ0
ZXN0Mi5vIGNvbmZ0ZXN0LmYgPiY1CmNvbmZpZ3VyZToxNDMwMzogJD8gPSAwCmNvbmZpZ3VyZTox
NDMyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzUxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBp
Njg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiBsaW5rZXIgKC91c3IvaTY4Ni1wYy1saW51eC1nbnUv
YmluL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxNTI4NTogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjE1MzUyOiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJp
c3RpY3MKY29uZmlndXJlOjE1OTQwOiByZXN1bHQ6IEdOVS9MaW51eCBsZC5zbwpjb25maWd1cmU6
MTU5NDk6IGNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJvZ3Jh
bXMKY29uZmlndXJlOjE1OTc0OiByZXN1bHQ6IGltbWVkaWF0ZQpjb25maWd1cmU6MTk1MzU6IGNo
ZWNraW5nIGZvciBmbGV4CmNvbmZpZ3VyZToxOTU1MTogZm91bmQgL3Vzci9iaW4vZmxleApjb25m
aWd1cmU6MTk1NjI6IHJlc3VsdDogZmxleApjb25maWd1cmU6MTk1OTk6IGZsZXggY29uZnRlc3Qu
bApjb25maWd1cmU6MTk2MDI6ICQ/ID0gMApjb25maWd1cmU6MTk2MDQ6IGNoZWNraW5nIGxleCBv
dXRwdXQgZmlsZSByb290CmNvbmZpZ3VyZToxOTYyMDogcmVzdWx0OiBsZXgueXkKY29uZmlndXJl
OjE5NjI1OiBjaGVja2luZyBsZXggbGlicmFyeQpjb25maWd1cmU6MTk2NDQ6IGk2ODYtcGMtbGlu
dXgtZ251LWdjYyAtbyBjb25mdGVzdCAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBlICAgY29uZnRl
c3QuYyAgID4mNQovdmFyL3RtcC9wb3J0YWdlL3NjaS1tYXRoZW1hdGljcy9naW5hYy0xLjMuNy90
ZW1wL2NjTnFxOHlxLm86IEluIGZ1bmN0aW9uIGBpbnB1dCc6CmNvbmZ0ZXN0LmM6KC50ZXh0KzB4
YTQ2KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeXl3cmFwJwovdmFyL3RtcC9wb3J0YWdlL3Nj
aS1tYXRoZW1hdGljcy9naW5hYy0xLjMuNy90ZW1wL2NjTnFxOHlxLm86IEluIGZ1bmN0aW9uIGB5
eWxleCc6CmNvbmZ0ZXN0LmM6KC50ZXh0KzB4ZjAwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg
eXl3cmFwJwovdmFyL3RtcC9wb3J0YWdlL3NjaS1tYXRoZW1hdGljcy9naW5hYy0xLjMuNy90ZW1w
L2NjTnFxOHlxLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuYzooLnRleHQrMHhmZGQp
OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB5eXdyYXAnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAx
IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxOTY1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IAp8ICNsaW5lIDMgImxleC55eS5jIgp8IAp8ICNkZWZpbmUgIFlZX0lOVF9B
TElHTkVEIHNob3J0IGludAp8IAp8IC8qIEEgbGV4aWNhbCBzY2FubmVyIGdlbmVyYXRlZCBieSBm
bGV4ICovCnwgCnwgI2RlZmluZSBGTEVYX1NDQU5ORVIKfCAjZGVmaW5lIFlZX0ZMRVhfTUFKT1Jf
VkVSU0lPTiAyCnwgI2RlZmluZSBZWV9GTEVYX01JTk9SX1ZFUlNJT04gNQp8ICNkZWZpbmUgWVlf
RkxFWF9TVUJNSU5PUl9WRVJTSU9OIDMzCnwgI2lmIFlZX0ZMRVhfU1VCTUlOT1JfVkVSU0lPTiA+
IDAKfCAjZGVmaW5lIEZMRVhfQkVUQQp8ICNlbmRpZgp8IAp8IC8qIEZpcnN0LCB3ZSBkZWFsIHdp
dGggIHBsYXRmb3JtLXNwZWNpZmljIG9yIGNvbXBpbGVyLXNwZWNpZmljIGlzc3Vlcy4gKi8KfCAK
fCAvKiBiZWdpbiBzdGFuZGFyZCBDIGhlYWRlcnMuICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg
I2luY2x1ZGUgPHN0cmluZy5oPgp8ICNpbmNsdWRlIDxlcnJuby5oPgp8ICNpbmNsdWRlIDxzdGRs
aWIuaD4KfCAKfCAvKiBlbmQgc3RhbmRhcmQgQyBoZWFkZXJzLiAqLwp8IAp8IC8qIGZsZXggaW50
ZWdlciB0eXBlIGRlZmluaXRpb25zICovCnwgCnwgI2lmbmRlZiBGTEVYSU5UX0gKfCAjZGVmaW5l
IEZMRVhJTlRfSAp8IAp8IC8qIEM5OSBzeXN0ZW1zIGhhdmUgPGludHR5cGVzLmg+LiBOb24tQzk5
IHN5c3RlbXMgbWF5IG9yIG1heSBub3QuICovCnwgCnwgI2lmIF9fU1REQ19WRVJTSU9OX18gPj0g
MTk5OTAxTAp8IAp8IC8qIEM5OSBzYXlzIHRvIGRlZmluZSBfX1NURENfTElNSVRfTUFDUk9TIGJl
Zm9yZSBpbmNsdWRpbmcgc3RkaW50LmgsCnwgICogaWYgeW91IHdhbnQgdGhlIGxpbWl0IChtYXgv
bWluKSBtYWNyb3MgZm9yIGludCB0eXBlcy4gCnwgICovCnwgI2lmbmRlZiBfX1NURENfTElNSVRf
TUFDUk9TCnwgI2RlZmluZSBfX1NURENfTElNSVRfTUFDUk9TIDEKfCAjZW5kaWYKfCAKfCAjaW5j
bHVkZSA8aW50dHlwZXMuaD4KfCB0eXBlZGVmIGludDhfdCBmbGV4X2ludDhfdDsKfCB0eXBlZGVm
IHVpbnQ4X3QgZmxleF91aW50OF90Owp8IHR5cGVkZWYgaW50MTZfdCBmbGV4X2ludDE2X3Q7Cnwg
dHlwZWRlZiB1aW50MTZfdCBmbGV4X3VpbnQxNl90Owp8IHR5cGVkZWYgaW50MzJfdCBmbGV4X2lu
dDMyX3Q7CnwgdHlwZWRlZiB1aW50MzJfdCBmbGV4X3VpbnQzMl90Owp8ICNlbHNlCnwgdHlwZWRl
ZiBzaWduZWQgY2hhciBmbGV4X2ludDhfdDsKfCB0eXBlZGVmIHNob3J0IGludCBmbGV4X2ludDE2
X3Q7CnwgdHlwZWRlZiBpbnQgZmxleF9pbnQzMl90Owp8IHR5cGVkZWYgdW5zaWduZWQgY2hhciBm
bGV4X3VpbnQ4X3Q7IAp8IHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IGZsZXhfdWludDE2X3Q7
CnwgdHlwZWRlZiB1bnNpZ25lZCBpbnQgZmxleF91aW50MzJfdDsKfCAjZW5kaWYgLyogISBDOTkg
Ki8KfCAKfCAvKiBMaW1pdHMgb2YgaW50ZWdyYWwgdHlwZXMuICovCnwgI2lmbmRlZiBJTlQ4X01J
Tgp8ICNkZWZpbmUgSU5UOF9NSU4gICAgICAgICAgICAgICAoLTEyOCkKfCAjZW5kaWYKfCAjaWZu
ZGVmIElOVDE2X01JTgp8ICNkZWZpbmUgSU5UMTZfTUlOICAgICAgICAgICAgICAoLTMyNzY3LTEp
CnwgI2VuZGlmCnwgI2lmbmRlZiBJTlQzMl9NSU4KfCAjZGVmaW5lIElOVDMyX01JTiAgICAgICAg
ICAgICAgKC0yMTQ3NDgzNjQ3LTEpCnwgI2VuZGlmCnwgI2lmbmRlZiBJTlQ4X01BWAp8ICNkZWZp
bmUgSU5UOF9NQVggICAgICAgICAgICAgICAoMTI3KQp8ICNlbmRpZgp8ICNpZm5kZWYgSU5UMTZf
TUFYCnwgI2RlZmluZSBJTlQxNl9NQVggICAgICAgICAgICAgICgzMjc2NykKfCAjZW5kaWYKfCAj
aWZuZGVmIElOVDMyX01BWAp8ICNkZWZpbmUgSU5UMzJfTUFYICAgICAgICAgICAgICAoMjE0NzQ4
MzY0NykKfCAjZW5kaWYKfCAjaWZuZGVmIFVJTlQ4X01BWAp8ICNkZWZpbmUgVUlOVDhfTUFYICAg
ICAgICAgICAgICAoMjU1VSkKfCAjZW5kaWYKfCAjaWZuZGVmIFVJTlQxNl9NQVgKfCAjZGVmaW5l
IFVJTlQxNl9NQVggICAgICAgICAgICAgKDY1NTM1VSkKfCAjZW5kaWYKfCAjaWZuZGVmIFVJTlQz
Ml9NQVgKfCAjZGVmaW5lIFVJTlQzMl9NQVggICAgICAgICAgICAgKDQyOTQ5NjcyOTVVKQp8ICNl
bmRpZgp8IAp8ICNlbmRpZiAvKiAhIEZMRVhJTlRfSCAqLwp8IAp8ICNpZmRlZiBfX2NwbHVzcGx1
cwp8IAp8IC8qIFRoZSAiY29uc3QiIHN0b3JhZ2UtY2xhc3MtbW9kaWZpZXIgaXMgdmFsaWQuICov
CnwgI2RlZmluZSBZWV9VU0VfQ09OU1QKfCAKfCAjZWxzZQkvKiAhIF9fY3BsdXNwbHVzICovCnwg
CnwgI2lmIF9fU1REQ19fCnwgCnwgI2RlZmluZSBZWV9VU0VfQ09OU1QKfCAKfCAjZW5kaWYJLyog
X19TVERDX18gKi8KfCAjZW5kaWYJLyogISBfX2NwbHVzcGx1cyAqLwp8IAp8ICNpZmRlZiBZWV9V
U0VfQ09OU1QKfCAjZGVmaW5lIHl5Y29uc3QgY29uc3QKfCAjZWxzZQp8ICNkZWZpbmUgeXljb25z
dAp8ICNlbmRpZgp8IAp8IC8qIFJldHVybmVkIHVwb24gZW5kLW9mLWZpbGUuICovCnwgI2RlZmlu
ZSBZWV9OVUxMIDAKfCAKfCAvKiBQcm9tb3RlcyBhIHBvc3NpYmx5IG5lZ2F0aXZlLCBwb3NzaWJs
eSBzaWduZWQgY2hhciB0byBhbiB1bnNpZ25lZAp8ICAqIGludGVnZXIgZm9yIHVzZSBhcyBhbiBh
cnJheSBpbmRleC4gIElmIHRoZSBzaWduZWQgY2hhciBpcyBuZWdhdGl2ZSwKfCAgKiB3ZSB3YW50
IHRvIGluc3RlYWQgdHJlYXQgaXQgYXMgYW4gOC1iaXQgdW5zaWduZWQgY2hhciwgaGVuY2UgdGhl
CnwgICogZG91YmxlIGNhc3QuCnwgICovCnwgI2RlZmluZSBZWV9TQ19UT19VSShjKSAoKHVuc2ln
bmVkIGludCkgKHVuc2lnbmVkIGNoYXIpIGMpCnwgCnwgLyogRW50ZXIgYSBzdGFydCBjb25kaXRp
b24uICBUaGlzIG1hY3JvIHJlYWxseSBvdWdodCB0byB0YWtlIGEgcGFyYW1ldGVyLAp8ICAqIGJ1
dCB3ZSBkbyBpdCB0aGUgZGlzZ3VzdGluZyBjcnVmdHkgd2F5IGZvcmNlZCBvbiB1cyBieSB0aGUg
KCktbGVzcwp8ICAqIGRlZmluaXRpb24gb2YgQkVHSU4uCnwgICovCnwgI2RlZmluZSBCRUdJTiAo
eXlfc3RhcnQpID0gMSArIDIgKgp8IAp8IC8qIFRyYW5zbGF0ZSB0aGUgY3VycmVudCBzdGFydCBz
dGF0ZSBpbnRvIGEgdmFsdWUgdGhhdCBjYW4gYmUgbGF0ZXIgaGFuZGVkCnwgICogdG8gQkVHSU4g
dG8gcmV0dXJuIHRvIHRoZSBzdGF0ZS4gIFRoZSBZWVNUQVRFIGFsaWFzIGlzIGZvciBsZXgKfCAg
KiBjb21wYXRpYmlsaXR5Lgp8ICAqLwp8ICNkZWZpbmUgWVlfU1RBUlQgKCgoeXlfc3RhcnQpIC0g
MSkgLyAyKQp8ICNkZWZpbmUgWVlTVEFURSBZWV9TVEFSVAp8IAp8IC8qIEFjdGlvbiBudW1iZXIg
Zm9yIEVPRiBydWxlIG9mIGEgZ2l2ZW4gc3RhcnQgc3RhdGUuICovCnwgI2RlZmluZSBZWV9TVEFU
RV9FT0Yoc3RhdGUpIChZWV9FTkRfT0ZfQlVGRkVSICsgc3RhdGUgKyAxKQp8IAp8IC8qIFNwZWNp
YWwgYWN0aW9uIG1lYW5pbmcgInN0YXJ0IHByb2Nlc3NpbmcgYSBuZXcgZmlsZSIuICovCnwgI2Rl
ZmluZSBZWV9ORVdfRklMRSB5eXJlc3RhcnQoeXlpbiAgKQp8IAp8ICNkZWZpbmUgWVlfRU5EX09G
X0JVRkZFUl9DSEFSIDAKfCAKfCAvKiBTaXplIG9mIGRlZmF1bHQgaW5wdXQgYnVmZmVyLiAqLwp8
ICNpZm5kZWYgWVlfQlVGX1NJWkUKfCAjZGVmaW5lIFlZX0JVRl9TSVpFIDE2Mzg0CnwgI2VuZGlm
CnwgCnwgLyogVGhlIHN0YXRlIGJ1ZiBtdXN0IGJlIGxhcmdlIGVub3VnaCB0byBob2xkIG9uZSBz
dGF0ZSBwZXIgY2hhcmFjdGVyIGluIHRoZSBtYWluIGJ1ZmZlci4KfCAgKi8KfCAjZGVmaW5lIFlZ
X1NUQVRFX0JVRl9TSVpFICAgKChZWV9CVUZfU0laRSArIDIpICogc2l6ZW9mKHl5X3N0YXRlX3R5
cGUpKQp8IAp8ICNpZm5kZWYgWVlfVFlQRURFRl9ZWV9CVUZGRVJfU1RBVEUKfCAjZGVmaW5lIFlZ
X1RZUEVERUZfWVlfQlVGRkVSX1NUQVRFCnwgdHlwZWRlZiBzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRl
ICpZWV9CVUZGRVJfU1RBVEU7CnwgI2VuZGlmCnwgCnwgZXh0ZXJuIGludCB5eWxlbmc7CnwgCnwg
ZXh0ZXJuIEZJTEUgKnl5aW4sICp5eW91dDsKfCAKfCAjZGVmaW5lIEVPQl9BQ1RfQ09OVElOVUVf
U0NBTiAwCnwgI2RlZmluZSBFT0JfQUNUX0VORF9PRl9GSUxFIDEKfCAjZGVmaW5lIEVPQl9BQ1Rf
TEFTVF9NQVRDSCAyCnwgCnwgICAgICNkZWZpbmUgWVlfTEVTU19MSU5FTk8obikKfCAgICAgCnwg
LyogUmV0dXJuIGFsbCBidXQgdGhlIGZpcnN0ICJuIiBtYXRjaGVkIGNoYXJhY3RlcnMgYmFjayB0
byB0aGUgaW5wdXQgc3RyZWFtLiAqLwp8ICNkZWZpbmUgeXlsZXNzKG4pIFwKfCAJZG8gXAp8IAkJ
eyBcCnwgCQkvKiBVbmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQuICovIFwKfCAgICAg
ICAgIGludCB5eWxlc3NfbWFjcm9fYXJnID0gKG4pOyBcCnwgICAgICAgICBZWV9MRVNTX0xJTkVO
Tyh5eWxlc3NfbWFjcm9fYXJnKTtcCnwgCQkqeXlfY3AgPSAoeXlfaG9sZF9jaGFyKTsgXAp8IAkJ
WVlfUkVTVE9SRV9ZWV9NT1JFX09GRlNFVCBcCnwgCQkoeXlfY19idWZfcCkgPSB5eV9jcCA9IHl5
X2JwICsgeXlsZXNzX21hY3JvX2FyZyAtIFlZX01PUkVfQURKOyBcCnwgCQlZWV9ET19CRUZPUkVf
QUNUSU9OOyAvKiBzZXQgdXAgeXl0ZXh0IGFnYWluICovIFwKfCAJCX0gXAp8IAl3aGlsZSAoIDAg
KQp8IAp8ICNkZWZpbmUgdW5wdXQoYykgeXl1bnB1dCggYywgKHl5dGV4dF9wdHIpICApCnwgCnwg
LyogVGhlIGZvbGxvd2luZyBpcyBiZWNhdXNlIHdlIGNhbm5vdCBwb3J0YWJseSBnZXQgb3VyIGhh
bmRzIG9uIHNpemVfdAp8ICAqICh3aXRob3V0IGF1dG9jb25mJ3MgaGVscCwgd2hpY2ggaXNuJ3Qg
YXZhaWxhYmxlIGJlY2F1c2Ugd2Ugd2FudAp8ICAqIGZsZXgtZ2VuZXJhdGVkIHNjYW5uZXJzIHRv
IGNvbXBpbGUgb24gdGhlaXIgb3duKS4KfCAgKi8KfCAKfCAjaWZuZGVmIFlZX1RZUEVERUZfWVlf
U0laRV9UCnwgI2RlZmluZSBZWV9UWVBFREVGX1lZX1NJWkVfVAp8IHR5cGVkZWYgdW5zaWduZWQg
aW50IHl5X3NpemVfdDsKfCAjZW5kaWYKfCAKfCAjaWZuZGVmIFlZX1NUUlVDVF9ZWV9CVUZGRVJf
U1RBVEUKfCAjZGVmaW5lIFlZX1NUUlVDVF9ZWV9CVUZGRVJfU1RBVEUKfCBzdHJ1Y3QgeXlfYnVm
ZmVyX3N0YXRlCnwgCXsKfCAJRklMRSAqeXlfaW5wdXRfZmlsZTsKfCAKfCAJY2hhciAqeXlfY2hf
YnVmOwkJLyogaW5wdXQgYnVmZmVyICovCnwgCWNoYXIgKnl5X2J1Zl9wb3M7CQkvKiBjdXJyZW50
IHBvc2l0aW9uIGluIGlucHV0IGJ1ZmZlciAqLwp8IAp8IAkvKiBTaXplIG9mIGlucHV0IGJ1ZmZl
ciBpbiBieXRlcywgbm90IGluY2x1ZGluZyByb29tIGZvciBFT0IKfCAJICogY2hhcmFjdGVycy4K
fCAJICovCnwgCXl5X3NpemVfdCB5eV9idWZfc2l6ZTsKfCAKfCAJLyogTnVtYmVyIG9mIGNoYXJh
Y3RlcnMgcmVhZCBpbnRvIHl5X2NoX2J1Ziwgbm90IGluY2x1ZGluZyBFT0IKfCAJICogY2hhcmFj
dGVycy4KfCAJICovCnwgCWludCB5eV9uX2NoYXJzOwp8IAp8IAkvKiBXaGV0aGVyIHdlICJvd24i
IHRoZSBidWZmZXIgLSBpLmUuLCB3ZSBrbm93IHdlIGNyZWF0ZWQgaXQsCnwgCSAqIGFuZCBjYW4g
cmVhbGxvYygpIGl0IHRvIGdyb3cgaXQsIGFuZCBzaG91bGQgZnJlZSgpIGl0IHRvCnwgCSAqIGRl
bGV0ZSBpdC4KfCAJICovCnwgCWludCB5eV9pc19vdXJfYnVmZmVyOwp8IAp8IAkvKiBXaGV0aGVy
IHRoaXMgaXMgYW4gImludGVyYWN0aXZlIiBpbnB1dCBzb3VyY2U7IGlmIHNvLCBhbmQKfCAJICog
aWYgd2UncmUgdXNpbmcgc3RkaW8gZm9yIGlucHV0LCB0aGVuIHdlIHdhbnQgdG8gdXNlIGdldGMo
KQp8IAkgKiBpbnN0ZWFkIG9mIGZyZWFkKCksIHRvIG1ha2Ugc3VyZSB3ZSBzdG9wIGZldGNoaW5n
IGlucHV0IGFmdGVyCnwgCSAqIGVhY2ggbmV3bGluZS4KfCAJICovCnwgCWludCB5eV9pc19pbnRl
cmFjdGl2ZTsKfCAKfCAJLyogV2hldGhlciB3ZSdyZSBjb25zaWRlcmVkIHRvIGJlIGF0IHRoZSBi
ZWdpbm5pbmcgb2YgYSBsaW5lLgp8IAkgKiBJZiBzbywgJ14nIHJ1bGVzIHdpbGwgYmUgYWN0aXZl
IG9uIHRoZSBuZXh0IG1hdGNoLCBvdGhlcndpc2UKfCAJICogbm90Lgp8IAkgKi8KfCAJaW50IHl5
X2F0X2JvbDsKfCAKfCAgICAgaW50IHl5X2JzX2xpbmVubzsgLyoqPCBUaGUgbGluZSBjb3VudC4g
Ki8KfCAgICAgaW50IHl5X2JzX2NvbHVtbjsgLyoqPCBUaGUgY29sdW1uIGNvdW50LiAqLwp8ICAg
ICAKfCAJLyogV2hldGhlciB0byB0cnkgdG8gZmlsbCB0aGUgaW5wdXQgYnVmZmVyIHdoZW4gd2Ug
cmVhY2ggdGhlCnwgCSAqIGVuZCBvZiBpdC4KfCAJICovCnwgCWludCB5eV9maWxsX2J1ZmZlcjsK
fCAKfCAJaW50IHl5X2J1ZmZlcl9zdGF0dXM7CnwgCnwgI2RlZmluZSBZWV9CVUZGRVJfTkVXIDAK
fCAjZGVmaW5lIFlZX0JVRkZFUl9OT1JNQUwgMQp8IAkvKiBXaGVuIGFuIEVPRidzIGJlZW4gc2Vl
biBidXQgdGhlcmUncyBzdGlsbCBzb21lIHRleHQgdG8gcHJvY2Vzcwp8IAkgKiB0aGVuIHdlIG1h
cmsgdGhlIGJ1ZmZlciBhcyBZWV9FT0ZfUEVORElORywgdG8gaW5kaWNhdGUgdGhhdCB3ZQp8IAkg
KiBzaG91bGRuJ3QgdHJ5IHJlYWRpbmcgZnJvbSB0aGUgaW5wdXQgc291cmNlIGFueSBtb3JlLiAg
V2UgbWlnaHQKfCAJICogc3RpbGwgaGF2ZSBhIGJ1bmNoIG9mIHRva2VucyB0byBtYXRjaCwgdGhv
dWdoLCBiZWNhdXNlIG9mCnwgCSAqIHBvc3NpYmxlIGJhY2tpbmctdXAuCnwgCSAqCnwgCSAqIFdo
ZW4gd2UgYWN0dWFsbHkgc2VlIHRoZSBFT0YsIHdlIGNoYW5nZSB0aGUgc3RhdHVzIHRvICJuZXci
CnwgCSAqICh2aWEgeXlyZXN0YXJ0KCkpLCBzbyB0aGF0IHRoZSB1c2VyIGNhbiBjb250aW51ZSBz
Y2FubmluZyBieQp8IAkgKiBqdXN0IHBvaW50aW5nIHl5aW4gYXQgYSBuZXcgaW5wdXQgZmlsZS4K
fCAJICovCnwgI2RlZmluZSBZWV9CVUZGRVJfRU9GX1BFTkRJTkcgMgp8IAp8IAl9Owp8ICNlbmRp
ZiAvKiAhWVlfU1RSVUNUX1lZX0JVRkZFUl9TVEFURSAqLwp8IAp8IC8qIFN0YWNrIG9mIGlucHV0
IGJ1ZmZlcnMuICovCnwgc3RhdGljIHNpemVfdCB5eV9idWZmZXJfc3RhY2tfdG9wID0gMDsgLyoq
PCBpbmRleCBvZiB0b3Agb2Ygc3RhY2suICovCnwgc3RhdGljIHNpemVfdCB5eV9idWZmZXJfc3Rh
Y2tfbWF4ID0gMDsgLyoqPCBjYXBhY2l0eSBvZiBzdGFjay4gKi8KfCBzdGF0aWMgWVlfQlVGRkVS
X1NUQVRFICogeXlfYnVmZmVyX3N0YWNrID0gMDsgLyoqPCBTdGFjayBhcyBhbiBhcnJheS4gKi8K
fCAKfCAvKiBXZSBwcm92aWRlIG1hY3JvcyBmb3IgYWNjZXNzaW5nIGJ1ZmZlciBzdGF0ZXMgaW4g
Y2FzZSBpbiB0aGUKfCAgKiBmdXR1cmUgd2Ugd2FudCB0byBwdXQgdGhlIGJ1ZmZlciBzdGF0ZXMg
aW4gYSBtb3JlIGdlbmVyYWwKfCAgKiAic2Nhbm5lciBzdGF0ZSIuCnwgICoKfCAgKiBSZXR1cm5z
IHRoZSB0b3Agb2YgdGhlIHN0YWNrLCBvciBOVUxMLgp8ICAqLwp8ICNkZWZpbmUgWVlfQ1VSUkVO
VF9CVUZGRVIgKCAoeXlfYnVmZmVyX3N0YWNrKSBcCnwgICAgICAgICAgICAgICAgICAgICAgICAg
ICA/ICh5eV9idWZmZXJfc3RhY2spWyh5eV9idWZmZXJfc3RhY2tfdG9wKV0gXAp8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiBOVUxMKQp8IAp8IC8qIFNhbWUgYXMgcHJldmlvdXMgbWFjcm8s
IGJ1dCB1c2VmdWwgd2hlbiB3ZSBrbm93IHRoYXQgdGhlIGJ1ZmZlciBzdGFjayBpcyBub3QKfCAg
KiBOVUxMIG9yIHdoZW4gd2UgbmVlZCBhbiBsdmFsdWUuIEZvciBpbnRlcm5hbCB1c2Ugb25seS4K
fCAgKi8KfCAjZGVmaW5lIFlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRSAoeXlfYnVmZmVyX3N0YWNr
KVsoeXlfYnVmZmVyX3N0YWNrX3RvcCldCnwgCnwgLyogeXlfaG9sZF9jaGFyIGhvbGRzIHRoZSBj
aGFyYWN0ZXIgbG9zdCB3aGVuIHl5dGV4dCBpcyBmb3JtZWQuICovCnwgc3RhdGljIGNoYXIgeXlf
aG9sZF9jaGFyOwp8IHN0YXRpYyBpbnQgeXlfbl9jaGFyczsJCS8qIG51bWJlciBvZiBjaGFyYWN0
ZXJzIHJlYWQgaW50byB5eV9jaF9idWYgKi8KfCBpbnQgeXlsZW5nOwp8IAp8IC8qIFBvaW50cyB0
byBjdXJyZW50IGNoYXJhY3RlciBpbiBidWZmZXIuICovCnwgc3RhdGljIGNoYXIgKnl5X2NfYnVm
X3AgPSAoY2hhciAqKSAwOwp8IHN0YXRpYyBpbnQgeXlfaW5pdCA9IDA7CQkvKiB3aGV0aGVyIHdl
IG5lZWQgdG8gaW5pdGlhbGl6ZSAqLwp8IHN0YXRpYyBpbnQgeXlfc3RhcnQgPSAwOwkvKiBzdGFy
dCBzdGF0ZSBudW1iZXIgKi8KfCAKfCAvKiBGbGFnIHdoaWNoIGlzIHVzZWQgdG8gYWxsb3cgeXl3
cmFwKCkncyB0byBkbyBidWZmZXIgc3dpdGNoZXMKfCAgKiBpbnN0ZWFkIG9mIHNldHRpbmcgdXAg
YSBmcmVzaCB5eWluLiAgQSBiaXQgb2YgYSBoYWNrIC4uLgp8ICAqLwp8IHN0YXRpYyBpbnQgeXlf
ZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mOwp8IAp8IHZvaWQgeXlyZXN0YXJ0IChGSUxFICppbnB1
dF9maWxlICApOwp8IHZvaWQgeXlfc3dpdGNoX3RvX2J1ZmZlciAoWVlfQlVGRkVSX1NUQVRFIG5l
d19idWZmZXIgICk7CnwgWVlfQlVGRkVSX1NUQVRFIHl5X2NyZWF0ZV9idWZmZXIgKEZJTEUgKmZp
bGUsaW50IHNpemUgICk7Cnwgdm9pZCB5eV9kZWxldGVfYnVmZmVyIChZWV9CVUZGRVJfU1RBVEUg
YiAgKTsKfCB2b2lkIHl5X2ZsdXNoX2J1ZmZlciAoWVlfQlVGRkVSX1NUQVRFIGIgICk7Cnwgdm9p
ZCB5eXB1c2hfYnVmZmVyX3N0YXRlIChZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlciAgKTsKfCB2
b2lkIHl5cG9wX2J1ZmZlcl9zdGF0ZSAodm9pZCApOwp8IAp8IHN0YXRpYyB2b2lkIHl5ZW5zdXJl
X2J1ZmZlcl9zdGFjayAodm9pZCApOwp8IHN0YXRpYyB2b2lkIHl5X2xvYWRfYnVmZmVyX3N0YXRl
ICh2b2lkICk7Cnwgc3RhdGljIHZvaWQgeXlfaW5pdF9idWZmZXIgKFlZX0JVRkZFUl9TVEFURSBi
LEZJTEUgKmZpbGUgICk7CnwgCnwgI2RlZmluZSBZWV9GTFVTSF9CVUZGRVIgeXlfZmx1c2hfYnVm
ZmVyKFlZX0NVUlJFTlRfQlVGRkVSICkKfCAKfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9idWZm
ZXIgKGNoYXIgKmJhc2UseXlfc2l6ZV90IHNpemUgICk7CnwgWVlfQlVGRkVSX1NUQVRFIHl5X3Nj
YW5fc3RyaW5nICh5eWNvbnN0IGNoYXIgKnl5X3N0ciAgKTsKfCBZWV9CVUZGRVJfU1RBVEUgeXlf
c2Nhbl9ieXRlcyAoeXljb25zdCBjaGFyICpieXRlcyxpbnQgbGVuICApOwp8IAp8IHZvaWQgKnl5
YWxsb2MgKHl5X3NpemVfdCAgKTsKfCB2b2lkICp5eXJlYWxsb2MgKHZvaWQgKix5eV9zaXplX3Qg
ICk7Cnwgdm9pZCB5eWZyZWUgKHZvaWQgKiAgKTsKfCAKfCAjZGVmaW5lIHl5X25ld19idWZmZXIg
eXlfY3JlYXRlX2J1ZmZlcgp8IAp8ICNkZWZpbmUgeXlfc2V0X2ludGVyYWN0aXZlKGlzX2ludGVy
YWN0aXZlKSBcCnwgCXsgXAp8IAlpZiAoICEgWVlfQ1VSUkVOVF9CVUZGRVIgKXsgXAp8ICAgICAg
ICAgeXllbnN1cmVfYnVmZmVyX3N0YWNrICgpOyBcCnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFM
VUUgPSAgICBcCnwgICAgICAgICAgICAgeXlfY3JlYXRlX2J1ZmZlcih5eWluLFlZX0JVRl9TSVpF
ICk7IFwKfCAJfSBcCnwgCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfaXNfaW50ZXJhY3Rp
dmUgPSBpc19pbnRlcmFjdGl2ZTsgXAp8IAl9CnwgCnwgI2RlZmluZSB5eV9zZXRfYm9sKGF0X2Jv
bCkgXAp8IAl7IFwKfCAJaWYgKCAhIFlZX0NVUlJFTlRfQlVGRkVSICl7XAp8ICAgICAgICAgeXll
bnN1cmVfYnVmZmVyX3N0YWNrICgpOyBcCnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUgPSAg
ICBcCnwgICAgICAgICAgICAgeXlfY3JlYXRlX2J1ZmZlcih5eWluLFlZX0JVRl9TSVpFICk7IFwK
fCAJfSBcCnwgCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfYXRfYm9sID0gYXRfYm9sOyBc
CnwgCX0KfCAKfCAjZGVmaW5lIFlZX0FUX0JPTCgpIChZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUt
Pnl5X2F0X2JvbCkKfCAKfCAvKiBCZWdpbiB1c2VyIHNlY3QzICovCnwgCnwgdHlwZWRlZiB1bnNp
Z25lZCBjaGFyIFlZX0NIQVI7CnwgCnwgRklMRSAqeXlpbiA9IChGSUxFICopIDAsICp5eW91dCA9
IChGSUxFICopIDA7CnwgCnwgdHlwZWRlZiBpbnQgeXlfc3RhdGVfdHlwZTsKfCAKfCBleHRlcm4g
aW50IHl5bGluZW5vOwp8IAp8IGludCB5eWxpbmVubyA9IDE7CnwgCnwgZXh0ZXJuIGNoYXIgKnl5
dGV4dDsKfCAjZGVmaW5lIHl5dGV4dF9wdHIgeXl0ZXh0CnwgCnwgc3RhdGljIHl5X3N0YXRlX3R5
cGUgeXlfZ2V0X3ByZXZpb3VzX3N0YXRlICh2b2lkICk7Cnwgc3RhdGljIHl5X3N0YXRlX3R5cGUg
eXlfdHJ5X05VTF90cmFucyAoeXlfc3RhdGVfdHlwZSBjdXJyZW50X3N0YXRlICApOwp8IHN0YXRp
YyBpbnQgeXlfZ2V0X25leHRfYnVmZmVyICh2b2lkICk7Cnwgc3RhdGljIHZvaWQgeXlfZmF0YWxf
ZXJyb3IgKHl5Y29uc3QgY2hhciBtc2dbXSAgKTsKfCAKfCAvKiBEb25lIGFmdGVyIHRoZSBjdXJy
ZW50IHBhdHRlcm4gaGFzIGJlZW4gbWF0Y2hlZCBhbmQgYmVmb3JlIHRoZQp8ICAqIGNvcnJlc3Bv
bmRpbmcgYWN0aW9uIC0gc2V0cyB1cCB5eXRleHQuCnwgICovCnwgI2RlZmluZSBZWV9ET19CRUZP
UkVfQUNUSU9OIFwKfCAJKHl5dGV4dF9wdHIpID0geXlfYnA7IFwKfCAJKHl5dGV4dF9wdHIpIC09
ICh5eV9tb3JlX2xlbik7IFwKfCAJeXlsZW5nID0gKHNpemVfdCkgKHl5X2NwIC0gKHl5dGV4dF9w
dHIpKTsgXAp8IAkoeXlfaG9sZF9jaGFyKSA9ICp5eV9jcDsgXAp8IAkqeXlfY3AgPSAnXDAnOyBc
CnwgCSh5eV9jX2J1Zl9wKSA9IHl5X2NwOwp8IAp8ICNkZWZpbmUgWVlfTlVNX1JVTEVTIDgKfCAj
ZGVmaW5lIFlZX0VORF9PRl9CVUZGRVIgOQp8IC8qIFRoaXMgc3RydWN0IGlzIG5vdCB1c2VkIGlu
IHRoaXMgc2Nhbm5lciwKfCAgICBidXQgaXRzIHByZXNlbmNlIGlzIG5lY2Vzc2FyeS4gKi8KfCBz
dHJ1Y3QgeXlfdHJhbnNfaW5mbwp8IAl7CnwgCWZsZXhfaW50MzJfdCB5eV92ZXJpZnk7CnwgCWZs
ZXhfaW50MzJfdCB5eV9ueHQ7CnwgCX07Cnwgc3RhdGljIHl5Y29uc3QgZmxleF9pbnQxNl90IHl5
X2FjY2xpc3RbMjNdID0KfCAgICAgeyAgIDAsCnwgICAgICAgICA5LCAgICA3LCAgICA4LCAgICA4
LCAgICAxLCAgICA3LCAgICA4LCAgICAyLCAgICA3LCAgICA4LAp8ICAgICAgICAgMywgICAgNywg
ICAgOCwgICAgNCwgICAgNywgICAgOCwgICAgNSwgICAgNywgICAgOCwgICAgNiwKfCAgICAgICAg
IDcsICAgIDgKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3QgZmxleF9pbnQxNl90IHl5X2Fj
Y2VwdFsxNF0gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDIsICAg
IDQsICAgIDUsICAgIDgsICAgMTEsICAgMTQsICAgMTcsCnwgICAgICAgIDIwLCAgIDIzLCAgIDIz
CnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IGZsZXhfaW50MzJfdCB5eV9lY1syNTZdID0K
fCAgICAgeyAgIDAsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAyLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAg
ICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAzLCAgICA0LCAgICA1LCAgICA2LAp8
IAp8ICAgICAgICAgNywgICAgOCwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAg
ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAKfCAgICAgICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
CnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMQp8ICAgICB9IDsKfCAKfCBzdGF0aWMgeXljb25zdCBmbGV4X2lu
dDMyX3QgeXlfbWV0YVs5XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMQp8ICAgICB9IDsKfCAKfCBzdGF0aWMgeXljb25z
dCBmbGV4X2ludDE2X3QgeXlfYmFzZVsxM10gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDAsICAg
IDAsICAgIDksICAgMTAsICAgMTAsICAgMTAsICAgMTAsICAgMTAsICAgMTAsICAgMTAsCnwgICAg
ICAgIDEwLCAgIDEwCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IGZsZXhfaW50MTZfdCB5
eV9kZWZbMTNdID0KfCAgICAgeyAgIDAsCnwgICAgICAgIDEyLCAgICAxLCAgIDEyLCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLAp8ICAgICAgICAxMiwgICAgMAp8ICAg
ICB9IDsKfCAKfCBzdGF0aWMgeXljb25zdCBmbGV4X2ludDE2X3QgeXlfbnh0WzE5XSA9CnwgICAg
IHsgICAwLAp8ICAgICAgICAgNCwgICAgNSwgICAgNiwgICAgNywgICAgOCwgICAgOSwgICAxMCwg
ICAxMSwgICAxMiwgICAgMywKfCAgICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAg
MTIsICAgMTIsICAgMTIKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3QgZmxleF9pbnQxNl90
IHl5X2Noa1sxOV0gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDMsICAgMTIsCnwgICAgICAgIDEyLCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyCnwgICAgIH0gOwp8IAp8IGV4dGVybiBp
bnQgeXlfZmxleF9kZWJ1ZzsKfCBpbnQgeXlfZmxleF9kZWJ1ZyA9IDA7CnwgCnwgc3RhdGljIHl5
X3N0YXRlX3R5cGUgKnl5X3N0YXRlX2J1Zj0wLCAqeXlfc3RhdGVfcHRyPTA7Cnwgc3RhdGljIGNo
YXIgKnl5X2Z1bGxfbWF0Y2g7Cnwgc3RhdGljIGludCB5eV9scDsKfCAjZGVmaW5lIFJFSkVDVCBc
CnwgeyBcCnwgKnl5X2NwID0gKHl5X2hvbGRfY2hhcik7IC8qIHVuZG8gZWZmZWN0cyBvZiBzZXR0
aW5nIHVwIHl5dGV4dCAqLyBcCnwgeXlfY3AgPSAoeXlfZnVsbF9tYXRjaCk7IC8qIHJlc3RvcmUg
cG9zcy4gYmFja2VkLW92ZXIgdGV4dCAqLyBcCnwgKysoeXlfbHApOyBcCnwgZ290byBmaW5kX3J1
bGU7IFwKfCB9CnwgCnwgc3RhdGljIGludCB5eV9tb3JlX2ZsYWcgPSAwOwp8IHN0YXRpYyBpbnQg
eXlfbW9yZV9sZW4gPSAwOwp8ICNkZWZpbmUgeXltb3JlKCkgKCh5eV9tb3JlX2ZsYWcpID0gMSkK
fCAjZGVmaW5lIFlZX01PUkVfQURKICh5eV9tb3JlX2xlbikKfCAjZGVmaW5lIFlZX1JFU1RPUkVf
WVlfTU9SRV9PRkZTRVQKfCBjaGFyICp5eXRleHQ7CnwgI2xpbmUgMSAiY29uZnRlc3QubCIKfCAj
bGluZSA0NzIgImxleC55eS5jIgp8IAp8ICNkZWZpbmUgSU5JVElBTCAwCnwgCnwgI2lmbmRlZiBZ
WV9OT19VTklTVERfSAp8IC8qIFNwZWNpYWwgY2FzZSBmb3IgInVuaXN0ZC5oIiwgc2luY2UgaXQg
aXMgbm9uLUFOU0kuIFdlIGluY2x1ZGUgaXQgd2F5CnwgICogZG93biBoZXJlIGJlY2F1c2Ugd2Ug
d2FudCB0aGUgdXNlcidzIHNlY3Rpb24gMSB0byBoYXZlIGJlZW4gc2Nhbm5lZCBmaXJzdC4KfCAg
KiBUaGUgdXNlciBoYXMgYSBjaGFuY2UgdG8gb3ZlcnJpZGUgaXQgd2l0aCBhbiBvcHRpb24uCnwg
ICovCnwgI2luY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpZm5kZWYgWVlfRVhUUkFf
VFlQRQp8ICNkZWZpbmUgWVlfRVhUUkFfVFlQRSB2b2lkICoKfCAjZW5kaWYKfCAKfCBzdGF0aWMg
aW50IHl5X2luaXRfZ2xvYmFscyAodm9pZCApOwp8IAp8IC8qIE1hY3JvcyBhZnRlciB0aGlzIHBv
aW50IGNhbiBhbGwgYmUgb3ZlcnJpZGRlbiBieSB1c2VyIGRlZmluaXRpb25zIGluCnwgICogc2Vj
dGlvbiAxLgp8ICAqLwp8IAp8ICNpZm5kZWYgWVlfU0tJUF9ZWVdSQVAKfCAjaWZkZWYgX19jcGx1
c3BsdXMKfCBleHRlcm4gIkMiIGludCB5eXdyYXAgKHZvaWQgKTsKfCAjZWxzZQp8IGV4dGVybiBp
bnQgeXl3cmFwICh2b2lkICk7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICAgIHN0YXRpYyB2b2lk
IHl5dW5wdXQgKGludCBjLGNoYXIgKmJ1Zl9wdHIgICk7CnwgICAgIAp8ICNpZm5kZWYgeXl0ZXh0
X3B0cgp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfc3RybmNweSAoY2hhciAqLHl5Y29uc3QgY2hhciAq
LGludCApOwp8ICNlbmRpZgp8IAp8ICNpZmRlZiBZWV9ORUVEX1NUUkxFTgp8IHN0YXRpYyBpbnQg
eXlfZmxleF9zdHJsZW4gKHl5Y29uc3QgY2hhciAqICk7CnwgI2VuZGlmCnwgCnwgI2lmbmRlZiBZ
WV9OT19JTlBVVAp8IAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IHN0YXRpYyBpbnQgeXlpbnB1dCAo
dm9pZCApOwp8ICNlbHNlCnwgc3RhdGljIGludCBpbnB1dCAodm9pZCApOwp8ICNlbmRpZgp8IAp8
ICNlbmRpZgp8IAp8IC8qIEFtb3VudCBvZiBzdHVmZiB0byBzbHVycCB1cCB3aXRoIGVhY2ggcmVh
ZC4gKi8KfCAjaWZuZGVmIFlZX1JFQURfQlVGX1NJWkUKfCAjZGVmaW5lIFlZX1JFQURfQlVGX1NJ
WkUgODE5Mgp8ICNlbmRpZgp8IAp8IC8qIENvcHkgd2hhdGV2ZXIgdGhlIGxhc3QgcnVsZSBtYXRj
aGVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuICovCnwgI2lmbmRlZiBFQ0hPCnwgLyogVGhpcyB1
c2VkIHRvIGJlIGFuIGZwdXRzKCksIGJ1dCBzaW5jZSB0aGUgc3RyaW5nIG1pZ2h0IGNvbnRhaW4g
TlVMJ3MsCnwgICogd2Ugbm93IHVzZSBmd3JpdGUoKS4KfCAgKi8KfCAjZGVmaW5lIEVDSE8gKHZv
aWQpIGZ3cml0ZSggeXl0ZXh0LCB5eWxlbmcsIDEsIHl5b3V0ICkKfCAjZW5kaWYKfCAKfCAvKiBH
ZXRzIGlucHV0IGFuZCBzdHVmZnMgaXQgaW50byAiYnVmIi4gIG51bWJlciBvZiBjaGFyYWN0ZXJz
IHJlYWQsIG9yIFlZX05VTEwsCnwgICogaXMgcmV0dXJuZWQgaW4gInJlc3VsdCIuCnwgICovCnwg
I2lmbmRlZiBZWV9JTlBVVAp8ICNkZWZpbmUgWVlfSU5QVVQoYnVmLHJlc3VsdCxtYXhfc2l6ZSkg
XAp8IAlpZiAoIFlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfaXNfaW50ZXJhY3RpdmUgKSBc
CnwgCQl7IFwKfCAJCWludCBjID0gJyonOyBcCnwgCQlzaXplX3QgbjsgXAp8IAkJZm9yICggbiA9
IDA7IG4gPCBtYXhfc2l6ZSAmJiBcCnwgCQkJICAgICAoYyA9IGdldGMoIHl5aW4gKSkgIT0gRU9G
ICYmIGMgIT0gJ1xuJzsgKytuICkgXAp8IAkJCWJ1ZltuXSA9IChjaGFyKSBjOyBcCnwgCQlpZiAo
IGMgPT0gJ1xuJyApIFwKfCAJCQlidWZbbisrXSA9IChjaGFyKSBjOyBcCnwgCQlpZiAoIGMgPT0g
RU9GICYmIGZlcnJvciggeXlpbiApICkgXAp8IAkJCVlZX0ZBVEFMX0VSUk9SKCAiaW5wdXQgaW4g
ZmxleCBzY2FubmVyIGZhaWxlZCIgKTsgXAp8IAkJcmVzdWx0ID0gbjsgXAp8IAkJfSBcCnwgCWVs
c2UgXAp8IAkJeyBcCnwgCQllcnJubz0wOyBcCnwgCQl3aGlsZSAoIChyZXN1bHQgPSBmcmVhZChi
dWYsIDEsIG1heF9zaXplLCB5eWluKSk9PTAgJiYgZmVycm9yKHl5aW4pKSBcCnwgCQkJeyBcCnwg
CQkJaWYoIGVycm5vICE9IEVJTlRSKSBcCnwgCQkJCXsgXAp8IAkJCQlZWV9GQVRBTF9FUlJPUigg
ImlucHV0IGluIGZsZXggc2Nhbm5lciBmYWlsZWQiICk7IFwKfCAJCQkJYnJlYWs7IFwKfCAJCQkJ
fSBcCnwgCQkJZXJybm89MDsgXAp8IAkJCWNsZWFyZXJyKHl5aW4pOyBcCnwgCQkJfSBcCnwgCQl9
XAp8IFwKfCAKfCAjZW5kaWYKfCAKfCAvKiBObyBzZW1pLWNvbG9uIGFmdGVyIHJldHVybjsgY29y
cmVjdCB1c2FnZSBpcyB0byB3cml0ZSAieXl0ZXJtaW5hdGUoKTsiIC0KfCAgKiB3ZSBkb24ndCB3
YW50IGFuIGV4dHJhICc7JyBhZnRlciB0aGUgInJldHVybiIgYmVjYXVzZSB0aGF0IHdpbGwgY2F1
c2UKfCAgKiBzb21lIGNvbXBpbGVycyB0byBjb21wbGFpbiBhYm91dCB1bnJlYWNoYWJsZSBzdGF0
ZW1lbnRzLgp8ICAqLwp8ICNpZm5kZWYgeXl0ZXJtaW5hdGUKfCAjZGVmaW5lIHl5dGVybWluYXRl
KCkgcmV0dXJuIFlZX05VTEwKfCAjZW5kaWYKfCAKfCAvKiBOdW1iZXIgb2YgZW50cmllcyBieSB3
aGljaCBzdGFydC1jb25kaXRpb24gc3RhY2sgZ3Jvd3MuICovCnwgI2lmbmRlZiBZWV9TVEFSVF9T
VEFDS19JTkNSCnwgI2RlZmluZSBZWV9TVEFSVF9TVEFDS19JTkNSIDI1CnwgI2VuZGlmCnwgCnwg
LyogUmVwb3J0IGEgZmF0YWwgZXJyb3IuICovCnwgI2lmbmRlZiBZWV9GQVRBTF9FUlJPUgp8ICNk
ZWZpbmUgWVlfRkFUQUxfRVJST1IobXNnKSB5eV9mYXRhbF9lcnJvciggbXNnICkKfCAjZW5kaWYK
fCAKfCAvKiBlbmQgdGFibGVzIHNlcmlhbGl6YXRpb24gc3RydWN0dXJlcyBhbmQgcHJvdG90eXBl
cyAqLwp8IAp8IC8qIERlZmF1bHQgZGVjbGFyYXRpb24gb2YgZ2VuZXJhdGVkIHNjYW5uZXIgLSBh
IGRlZmluZSBzbyB0aGUgdXNlciBjYW4KfCAgKiBlYXNpbHkgYWRkIHBhcmFtZXRlcnMuCnwgICov
CnwgI2lmbmRlZiBZWV9ERUNMCnwgI2RlZmluZSBZWV9ERUNMX0lTX09VUlMgMQp8IAp8IGV4dGVy
biBpbnQgeXlsZXggKHZvaWQpOwp8IAp8ICNkZWZpbmUgWVlfREVDTCBpbnQgeXlsZXggKHZvaWQp
CnwgI2VuZGlmIC8qICFZWV9ERUNMICovCnwgCnwgLyogQ29kZSBleGVjdXRlZCBhdCB0aGUgYmVn
aW5uaW5nIG9mIGVhY2ggcnVsZSwgYWZ0ZXIgeXl0ZXh0IGFuZCB5eWxlbmcKfCAgKiBoYXZlIGJl
ZW4gc2V0IHVwLgp8ICAqLwp8ICNpZm5kZWYgWVlfVVNFUl9BQ1RJT04KfCAjZGVmaW5lIFlZX1VT
RVJfQUNUSU9OCnwgI2VuZGlmCnwgCnwgLyogQ29kZSBleGVjdXRlZCBhdCB0aGUgZW5kIG9mIGVh
Y2ggcnVsZS4gKi8KfCAjaWZuZGVmIFlZX0JSRUFLCnwgI2RlZmluZSBZWV9CUkVBSyBicmVhazsK
fCAjZW5kaWYKfCAKfCAjZGVmaW5lIFlZX1JVTEVfU0VUVVAgXAp8IAlZWV9VU0VSX0FDVElPTgp8
IAp8IC8qKiBUaGUgbWFpbiBzY2FubmVyIGZ1bmN0aW9uIHdoaWNoIGRvZXMgYWxsIHRoZSB3b3Jr
Lgp8ICAqLwp8IFlZX0RFQ0wKfCB7CnwgCXJlZ2lzdGVyIHl5X3N0YXRlX3R5cGUgeXlfY3VycmVu
dF9zdGF0ZTsKfCAJcmVnaXN0ZXIgY2hhciAqeXlfY3AsICp5eV9icDsKfCAJcmVnaXN0ZXIgaW50
IHl5X2FjdDsKfCAgICAgCnwgI2xpbmUgMSAiY29uZnRlc3QubCIKfCAKfCAjbGluZSA2MjcgImxl
eC55eS5jIgp8IAp8IAlpZiAoICEoeXlfaW5pdCkgKQp8IAkJewp8IAkJKHl5X2luaXQpID0gMTsK
fCAKfCAjaWZkZWYgWVlfVVNFUl9JTklUCnwgCQlZWV9VU0VSX0lOSVQ7CnwgI2VuZGlmCnwgCnwg
ICAgICAgICAvKiBDcmVhdGUgdGhlIHJlamVjdCBidWZmZXIgbGFyZ2UgZW5vdWdoIHRvIHNhdmUg
b25lIHN0YXRlIHBlciBhbGxvd2VkIGNoYXJhY3Rlci4gKi8KfCAgICAgICAgIGlmICggISAoeXlf
c3RhdGVfYnVmKSApCnwgICAgICAgICAgICAgKHl5X3N0YXRlX2J1ZikgPSAoeXlfc3RhdGVfdHlw
ZSAqKXl5YWxsb2MoWVlfU1RBVEVfQlVGX1NJWkUgICk7CnwgCnwgCQlpZiAoICEgKHl5X3N0YXJ0
KSApCnwgCQkJKHl5X3N0YXJ0KSA9IDE7CS8qIGZpcnN0IHN0YXJ0IHN0YXRlICovCnwgCnwgCQlp
ZiAoICEgeXlpbiApCnwgCQkJeXlpbiA9IHN0ZGluOwp8IAp8IAkJaWYgKCAhIHl5b3V0ICkKfCAJ
CQl5eW91dCA9IHN0ZG91dDsKfCAKfCAJCWlmICggISBZWV9DVVJSRU5UX0JVRkZFUiApIHsKfCAJ
CQl5eWVuc3VyZV9idWZmZXJfc3RhY2sgKCk7CnwgCQkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVF
ID0KfCAJCQkJeXlfY3JlYXRlX2J1ZmZlcih5eWluLFlZX0JVRl9TSVpFICk7CnwgCQl9CnwgCnwg
CQl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSggKTsKfCAJCX0KfCAKfCAJd2hpbGUgKCAxICkJCS8qIGxv
b3BzIHVudGlsIGVuZC1vZi1maWxlIGlzIHJlYWNoZWQgKi8KfCAJCXsKfCAJCSh5eV9tb3JlX2xl
bikgPSAwOwp8IAkJaWYgKCAoeXlfbW9yZV9mbGFnKSApCnwgCQkJewp8IAkJCSh5eV9tb3JlX2xl
bikgPSAoeXlfY19idWZfcCkgLSAoeXl0ZXh0X3B0cik7CnwgCQkJKHl5X21vcmVfZmxhZykgPSAw
Owp8IAkJCX0KfCAJCXl5X2NwID0gKHl5X2NfYnVmX3ApOwp8IAp8IAkJLyogU3VwcG9ydCBvZiB5
eXRleHQuICovCnwgCQkqeXlfY3AgPSAoeXlfaG9sZF9jaGFyKTsKfCAKfCAJCS8qIHl5X2JwIHBv
aW50cyB0byB0aGUgcG9zaXRpb24gaW4geXlfY2hfYnVmIG9mIHRoZSBzdGFydCBvZgp8IAkJICog
dGhlIGN1cnJlbnQgcnVuLgp8IAkJICovCnwgCQl5eV9icCA9IHl5X2NwOwp8IAp8IAkJeXlfY3Vy
cmVudF9zdGF0ZSA9ICh5eV9zdGFydCk7CnwgCnwgCQkoeXlfc3RhdGVfcHRyKSA9ICh5eV9zdGF0
ZV9idWYpOwp8IAkJKih5eV9zdGF0ZV9wdHIpKysgPSB5eV9jdXJyZW50X3N0YXRlOwp8IAp8IHl5
X21hdGNoOgp8IAkJZG8KfCAJCQl7CnwgCQkJcmVnaXN0ZXIgWVlfQ0hBUiB5eV9jID0geXlfZWNb
WVlfU0NfVE9fVUkoKnl5X2NwKV07CnwgCQkJd2hpbGUgKCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJy
ZW50X3N0YXRlXSArIHl5X2NdICE9IHl5X2N1cnJlbnRfc3RhdGUgKQp8IAkJCQl7CnwgCQkJCXl5
X2N1cnJlbnRfc3RhdGUgPSAoaW50KSB5eV9kZWZbeXlfY3VycmVudF9zdGF0ZV07CnwgCQkJCWlm
ICggeXlfY3VycmVudF9zdGF0ZSA+PSAxMyApCnwgCQkJCQl5eV9jID0geXlfbWV0YVsodW5zaWdu
ZWQgaW50KSB5eV9jXTsKfCAJCQkJfQp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlf
YmFzZVt5eV9jdXJyZW50X3N0YXRlXSArICh1bnNpZ25lZCBpbnQpIHl5X2NdOwp8IAkJCSooeXlf
c3RhdGVfcHRyKSsrID0geXlfY3VycmVudF9zdGF0ZTsKfCAJCQkrK3l5X2NwOwp8IAkJCX0KfCAJ
CXdoaWxlICggeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSAhPSAxMCApOwp8IAp8IHl5X2ZpbmRf
YWN0aW9uOgp8IAkJeXlfY3VycmVudF9zdGF0ZSA9ICotLSh5eV9zdGF0ZV9wdHIpOwp8IAkJKHl5
X2xwKSA9IHl5X2FjY2VwdFt5eV9jdXJyZW50X3N0YXRlXTsKfCBmaW5kX3J1bGU6IC8qIHdlIGJy
YW5jaCB0byB0aGlzIGxhYmVsIHdoZW4gYmFja2luZyB1cCAqLwp8IAkJZm9yICggOyA7ICkgLyog
dW50aWwgd2UgZmluZCB3aGF0IHJ1bGUgd2UgbWF0Y2hlZCAqLwp8IAkJCXsKfCAJCQlpZiAoICh5
eV9scCkgJiYgKHl5X2xwKSA8IHl5X2FjY2VwdFt5eV9jdXJyZW50X3N0YXRlICsgMV0gKQp8IAkJ
CQl7CnwgCQkJCXl5X2FjdCA9IHl5X2FjY2xpc3RbKHl5X2xwKV07CnwgCQkJCQl7CnwgCQkJCQko
eXlfZnVsbF9tYXRjaCkgPSB5eV9jcDsKfCAJCQkJCWJyZWFrOwp8IAkJCQkJfQp8IAkJCQl9Cnwg
CQkJLS15eV9jcDsKfCAJCQl5eV9jdXJyZW50X3N0YXRlID0gKi0tKHl5X3N0YXRlX3B0cik7Cnwg
CQkJKHl5X2xwKSA9IHl5X2FjY2VwdFt5eV9jdXJyZW50X3N0YXRlXTsKfCAJCQl9CnwgCnwgCQlZ
WV9ET19CRUZPUkVfQUNUSU9OOwp8IAp8IGRvX2FjdGlvbjoJLyogVGhpcyBsYWJlbCBpcyB1c2Vk
IG9ubHkgdG8gYWNjZXNzIEVPRiBhY3Rpb25zLiAqLwp8IAp8IAkJc3dpdGNoICggeXlfYWN0ICkK
fCAJeyAvKiBiZWdpbm5pbmcgb2YgYWN0aW9uIHN3aXRjaCAqLwp8IGNhc2UgMToKfCBZWV9SVUxF
X1NFVFVQCnwgI2xpbmUgMiAiY29uZnRlc3QubCIKfCB7IEVDSE87IH0KfCAJWVlfQlJFQUsKfCBj
YXNlIDI6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDMgImNvbmZ0ZXN0LmwiCnwgeyBSRUpFQ1Q7
IH0KfCAJWVlfQlJFQUsKfCBjYXNlIDM6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDQgImNvbmZ0
ZXN0LmwiCnwgeyB5eW1vcmUgKCk7IH0KfCAJWVlfQlJFQUsKfCBjYXNlIDQ6CnwgWVlfUlVMRV9T
RVRVUAp8ICNsaW5lIDUgImNvbmZ0ZXN0LmwiCnwgeyB5eWxlc3MgKDEpOyB9CnwgCVlZX0JSRUFL
CnwgY2FzZSA1Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA2ICJjb25mdGVzdC5sIgp8IHsgeXls
ZXNzIChpbnB1dCAoKSAhPSAwKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNjoKfCBZWV9SVUxFX1NF
VFVQCnwgI2xpbmUgNyAiY29uZnRlc3QubCIKfCB7IHVucHV0ICh5eXRleHRbMF0pOyB9CnwgCVlZ
X0JSRUFLCnwgY2FzZSA3Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA4ICJjb25mdGVzdC5sIgp8
IHsgQkVHSU4gSU5JVElBTDsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgODoKfCBZWV9SVUxFX1NFVFVQ
CnwgI2xpbmUgOSAiY29uZnRlc3QubCIKfCBFQ0hPOwp8IAlZWV9CUkVBSwp8ICNsaW5lIDc2MyAi
bGV4Lnl5LmMiCnwgCQkJY2FzZSBZWV9TVEFURV9FT0YoSU5JVElBTCk6CnwgCQkJCXl5dGVybWlu
YXRlKCk7CnwgCnwgCWNhc2UgWVlfRU5EX09GX0JVRkZFUjoKfCAJCXsKfCAJCS8qIEFtb3VudCBv
ZiB0ZXh0IG1hdGNoZWQgbm90IGluY2x1ZGluZyB0aGUgRU9CIGNoYXIuICovCnwgCQlpbnQgeXlf
YW1vdW50X29mX21hdGNoZWRfdGV4dCA9IChpbnQpICh5eV9jcCAtICh5eXRleHRfcHRyKSkgLSAx
Owp8IAp8IAkJLyogVW5kbyB0aGUgZWZmZWN0cyBvZiBZWV9ET19CRUZPUkVfQUNUSU9OLiAqLwp8
IAkJKnl5X2NwID0gKHl5X2hvbGRfY2hhcik7CnwgCQlZWV9SRVNUT1JFX1lZX01PUkVfT0ZGU0VU
CnwgCnwgCQlpZiAoIFlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfYnVmZmVyX3N0YXR1cyA9
PSBZWV9CVUZGRVJfTkVXICkKfCAJCQl7CnwgCQkJLyogV2UncmUgc2Nhbm5pbmcgYSBuZXcgZmls
ZSBvciBpbnB1dCBzb3VyY2UuICBJdCdzCnwgCQkJICogcG9zc2libGUgdGhhdCB0aGlzIGhhcHBl
bmVkIGJlY2F1c2UgdGhlIHVzZXIKfCAJCQkgKiBqdXN0IHBvaW50ZWQgeXlpbiBhdCBhIG5ldyBz
b3VyY2UgYW5kIGNhbGxlZAp8IAkJCSAqIHl5bGV4KCkuICBJZiBzbywgdGhlbiB3ZSBoYXZlIHRv
IGFzc3VyZQp8IAkJCSAqIGNvbnNpc3RlbmN5IGJldHdlZW4gWVlfQ1VSUkVOVF9CVUZGRVIgYW5k
IG91cgp8IAkJCSAqIGdsb2JhbHMuICBIZXJlIGlzIHRoZSByaWdodCBwbGFjZSB0byBkbyBzbywg
YmVjYXVzZQp8IAkJCSAqIHRoaXMgaXMgdGhlIGZpcnN0IGFjdGlvbiAob3RoZXIgdGhhbiBwb3Nz
aWJseSBhCnwgCQkJICogYmFjay11cCkgdGhhdCB3aWxsIG1hdGNoIGZvciB0aGUgbmV3IGlucHV0
IHNvdXJjZS4KfCAJCQkgKi8KfCAJCQkoeXlfbl9jaGFycykgPSBZWV9DVVJSRU5UX0JVRkZFUl9M
VkFMVUUtPnl5X25fY2hhcnM7CnwgCQkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9pbnB1
dF9maWxlID0geXlpbjsKfCAJCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1ZmZlcl9z
dGF0dXMgPSBZWV9CVUZGRVJfTk9STUFMOwp8IAkJCX0KfCAKfCAJCS8qIE5vdGUgdGhhdCBoZXJl
IHdlIHRlc3QgZm9yIHl5X2NfYnVmX3AgIjw9IiB0byB0aGUgcG9zaXRpb24KfCAJCSAqIG9mIHRo
ZSBmaXJzdCBFT0IgaW4gdGhlIGJ1ZmZlciwgc2luY2UgeXlfY19idWZfcCB3aWxsCnwgCQkgKiBh
bHJlYWR5IGhhdmUgYmVlbiBpbmNyZW1lbnRlZCBwYXN0IHRoZSBOVUwgY2hhcmFjdGVyCnwgCQkg
KiAoc2luY2UgYWxsIHN0YXRlcyBtYWtlIHRyYW5zaXRpb25zIG9uIEVPQiB0byB0aGUKfCAJCSAq
IGVuZC1vZi1idWZmZXIgc3RhdGUpLiAgQ29udHJhc3QgdGhpcyB3aXRoIHRoZSB0ZXN0CnwgCQkg
KiBpbiBpbnB1dCgpLgp8IAkJICovCnwgCQlpZiAoICh5eV9jX2J1Zl9wKSA8PSAmWVlfQ1VSUkVO
VF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZbKHl5X25fY2hhcnMpXSApCnwgCQkJeyAvKiBUaGlz
IHdhcyByZWFsbHkgYSBOVUwuICovCnwgCQkJeXlfc3RhdGVfdHlwZSB5eV9uZXh0X3N0YXRlOwp8
IAp8IAkJCSh5eV9jX2J1Zl9wKSA9ICh5eXRleHRfcHRyKSArIHl5X2Ftb3VudF9vZl9tYXRjaGVk
X3RleHQ7CnwgCnwgCQkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X2dldF9wcmV2aW91c19zdGF0ZSgg
ICk7CnwgCnwgCQkJLyogT2theSwgd2UncmUgbm93IHBvc2l0aW9uZWQgdG8gbWFrZSB0aGUgTlVM
CnwgCQkJICogdHJhbnNpdGlvbi4gIFdlIGNvdWxkbid0IGhhdmUKfCAJCQkgKiB5eV9nZXRfcHJl
dmlvdXNfc3RhdGUoKSBnbyBhaGVhZCBhbmQgZG8gaXQKfCAJCQkgKiBmb3IgdXMgYmVjYXVzZSBp
dCBkb2Vzbid0IGtub3cgaG93IHRvIGRlYWwKfCAJCQkgKiB3aXRoIHRoZSBwb3NzaWJpbGl0eSBv
ZiBqYW1taW5nIChhbmQgd2UgZG9uJ3QKfCAJCQkgKiB3YW50IHRvIGJ1aWxkIGphbW1pbmcgaW50
byBpdCBiZWNhdXNlIHRoZW4gaXQKfCAJCQkgKiB3aWxsIHJ1biBtb3JlIHNsb3dseSkuCnwgCQkJ
ICovCnwgCnwgCQkJeXlfbmV4dF9zdGF0ZSA9IHl5X3RyeV9OVUxfdHJhbnMoIHl5X2N1cnJlbnRf
c3RhdGUgKTsKfCAKfCAJCQl5eV9icCA9ICh5eXRleHRfcHRyKSArIFlZX01PUkVfQURKOwp8IAp8
IAkJCWlmICggeXlfbmV4dF9zdGF0ZSApCnwgCQkJCXsKfCAJCQkJLyogQ29uc3VtZSB0aGUgTlVM
LiAqLwp8IAkJCQl5eV9jcCA9ICsrKHl5X2NfYnVmX3ApOwp8IAkJCQl5eV9jdXJyZW50X3N0YXRl
ID0geXlfbmV4dF9zdGF0ZTsKfCAJCQkJZ290byB5eV9tYXRjaDsKfCAJCQkJfQp8IAp8IAkJCWVs
c2UKfCAJCQkJewp8IAkJCQl5eV9jcCA9ICh5eV9jX2J1Zl9wKTsKfCAJCQkJZ290byB5eV9maW5k
X2FjdGlvbjsKfCAJCQkJfQp8IAkJCX0KfCAKfCAJCWVsc2Ugc3dpdGNoICggeXlfZ2V0X25leHRf
YnVmZmVyKCAgKSApCnwgCQkJewp8IAkJCWNhc2UgRU9CX0FDVF9FTkRfT0ZfRklMRToKfCAJCQkJ
ewp8IAkJCQkoeXlfZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mKSA9IDA7CnwgCnwgCQkJCWlmICgg
eXl3cmFwKCApICkKfCAJCQkJCXsKfCAJCQkJCS8qIE5vdGU6IGJlY2F1c2Ugd2UndmUgdGFrZW4g
Y2FyZSBpbgp8IAkJCQkJICogeXlfZ2V0X25leHRfYnVmZmVyKCkgdG8gaGF2ZSBzZXQgdXAKfCAJ
CQkJCSAqIHl5dGV4dCwgd2UgY2FuIG5vdyBzZXQgdXAKfCAJCQkJCSAqIHl5X2NfYnVmX3Agc28g
dGhhdCBpZiBzb21lIHRvdGFsCnwgCQkJCQkgKiBob3NlciAobGlrZSBmbGV4IGl0c2VsZikgd2Fu
dHMgdG8KfCAJCQkJCSAqIGNhbGwgdGhlIHNjYW5uZXIgYWZ0ZXIgd2UgcmV0dXJuIHRoZQp8IAkJ
CQkJICogWVlfTlVMTCwgaXQnbGwgc3RpbGwgd29yayAtIGFub3RoZXIKfCAJCQkJCSAqIFlZX05V
TEwgd2lsbCBnZXQgcmV0dXJuZWQuCnwgCQkJCQkgKi8KfCAJCQkJCSh5eV9jX2J1Zl9wKSA9ICh5
eXRleHRfcHRyKSArIFlZX01PUkVfQURKOwp8IAp8IAkJCQkJeXlfYWN0ID0gWVlfU1RBVEVfRU9G
KFlZX1NUQVJUKTsKfCAJCQkJCWdvdG8gZG9fYWN0aW9uOwp8IAkJCQkJfQp8IAp8IAkJCQllbHNl
CnwgCQkJCQl7CnwgCQkJCQlpZiAoICEgKHl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZikgKQp8
IAkJCQkJCVlZX05FV19GSUxFOwp8IAkJCQkJfQp8IAkJCQlicmVhazsKfCAJCQkJfQp8IAp8IAkJ
CWNhc2UgRU9CX0FDVF9DT05USU5VRV9TQ0FOOgp8IAkJCQkoeXlfY19idWZfcCkgPQp8IAkJCQkJ
KHl5dGV4dF9wdHIpICsgeXlfYW1vdW50X29mX21hdGNoZWRfdGV4dDsKfCAKfCAJCQkJeXlfY3Vy
cmVudF9zdGF0ZSA9IHl5X2dldF9wcmV2aW91c19zdGF0ZSggICk7CnwgCnwgCQkJCXl5X2NwID0g
KHl5X2NfYnVmX3ApOwp8IAkJCQl5eV9icCA9ICh5eXRleHRfcHRyKSArIFlZX01PUkVfQURKOwp8
IAkJCQlnb3RvIHl5X21hdGNoOwp8IAp8IAkJCWNhc2UgRU9CX0FDVF9MQVNUX01BVENIOgp8IAkJ
CQkoeXlfY19idWZfcCkgPQp8IAkJCQkmWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9i
dWZbKHl5X25fY2hhcnMpXTsKfCAKfCAJCQkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X2dldF9wcmV2
aW91c19zdGF0ZSggICk7CnwgCnwgCQkJCXl5X2NwID0gKHl5X2NfYnVmX3ApOwp8IAkJCQl5eV9i
cCA9ICh5eXRleHRfcHRyKSArIFlZX01PUkVfQURKOwp8IAkJCQlnb3RvIHl5X2ZpbmRfYWN0aW9u
Owp8IAkJCX0KfCAJCWJyZWFrOwp8IAkJfQp8IAp8IAlkZWZhdWx0Ogp8IAkJWVlfRkFUQUxfRVJS
T1IoCnwgCQkJImZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZv
dW5kIiApOwp8IAl9IC8qIGVuZCBvZiBhY3Rpb24gc3dpdGNoICovCnwgCQl9IC8qIGVuZCBvZiBz
Y2FubmluZyBvbmUgdG9rZW4gKi8KfCB9IC8qIGVuZCBvZiB5eWxleCAqLwp8IAp8IC8qIHl5X2dl
dF9uZXh0X2J1ZmZlciAtIHRyeSB0byByZWFkIGluIGEgbmV3IGJ1ZmZlcgp8ICAqCnwgICogUmV0
dXJucyBhIGNvZGUgcmVwcmVzZW50aW5nIGFuIGFjdGlvbjoKfCAgKglFT0JfQUNUX0xBU1RfTUFU
Q0ggLQp8ICAqCUVPQl9BQ1RfQ09OVElOVUVfU0NBTiAtIGNvbnRpbnVlIHNjYW5uaW5nIGZyb20g
Y3VycmVudCBwb3NpdGlvbgp8ICAqCUVPQl9BQ1RfRU5EX09GX0ZJTEUgLSBlbmQgb2YgZmlsZQp8
ICAqLwp8IHN0YXRpYyBpbnQgeXlfZ2V0X25leHRfYnVmZmVyICh2b2lkKQp8IHsKfCAgICAgCXJl
Z2lzdGVyIGNoYXIgKmRlc3QgPSBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZjsK
fCAJcmVnaXN0ZXIgY2hhciAqc291cmNlID0gKHl5dGV4dF9wdHIpOwp8IAlyZWdpc3RlciBpbnQg
bnVtYmVyX3RvX21vdmUsIGk7CnwgCWludCByZXRfdmFsOwp8IAp8IAlpZiAoICh5eV9jX2J1Zl9w
KSA+ICZZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZlsoeXlfbl9jaGFycykgKyAx
XSApCnwgCQlZWV9GQVRBTF9FUlJPUigKfCAJCSJmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwg
ZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkIiApOwp8IAp8IAlpZiAoIFlZX0NVUlJFTlRfQlVG
RkVSX0xWQUxVRS0+eXlfZmlsbF9idWZmZXIgPT0gMCApCnwgCQl7IC8qIERvbid0IHRyeSB0byBm
aWxsIHRoZSBidWZmZXIsIHNvIHRoaXMgaXMgYW4gRU9GLiAqLwp8IAkJaWYgKCAoeXlfY19idWZf
cCkgLSAoeXl0ZXh0X3B0cikgLSBZWV9NT1JFX0FESiA9PSAxICkKfCAJCQl7CnwgCQkJLyogV2Ug
bWF0Y2hlZCBhIHNpbmdsZSBjaGFyYWN0ZXIsIHRoZSBFT0IsIHNvCnwgCQkJICogdHJlYXQgdGhp
cyBhcyBhIGZpbmFsIEVPRi4KfCAJCQkgKi8KfCAJCQlyZXR1cm4gRU9CX0FDVF9FTkRfT0ZfRklM
RTsKfCAJCQl9CnwgCnwgCQllbHNlCnwgCQkJewp8IAkJCS8qIFdlIG1hdGNoZWQgc29tZSB0ZXh0
IHByaW9yIHRvIHRoZSBFT0IsIGZpcnN0CnwgCQkJICogcHJvY2VzcyBpdC4KfCAJCQkgKi8KfCAJ
CQlyZXR1cm4gRU9CX0FDVF9MQVNUX01BVENIOwp8IAkJCX0KfCAJCX0KfCAKfCAJLyogVHJ5IHRv
IHJlYWQgbW9yZSBkYXRhLiAqLwp8IAp8IAkvKiBGaXJzdCBtb3ZlIGxhc3QgY2hhcnMgdG8gc3Rh
cnQgb2YgYnVmZmVyLiAqLwp8IAludW1iZXJfdG9fbW92ZSA9IChpbnQpICgoeXlfY19idWZfcCkg
LSAoeXl0ZXh0X3B0cikpIC0gMTsKfCAKfCAJZm9yICggaSA9IDA7IGkgPCBudW1iZXJfdG9fbW92
ZTsgKytpICkKfCAJCSooZGVzdCsrKSA9ICooc291cmNlKyspOwp8IAp8IAlpZiAoIFlZX0NVUlJF
TlRfQlVGRkVSX0xWQUxVRS0+eXlfYnVmZmVyX3N0YXR1cyA9PSBZWV9CVUZGRVJfRU9GX1BFTkRJ
TkcgKQp8IAkJLyogZG9uJ3QgZG8gdGhlIHJlYWQsIGl0J3Mgbm90IGd1YXJhbnRlZWQgdG8gcmV0
dXJuIGFuIEVPRiwKfCAJCSAqIGp1c3QgZm9yY2UgYW4gRU9GCnwgCQkgKi8KfCAJCVlZX0NVUlJF
TlRfQlVGRkVSX0xWQUxVRS0+eXlfbl9jaGFycyA9ICh5eV9uX2NoYXJzKSA9IDA7CnwgCnwgCWVs
c2UKfCAJCXsKfCAJCQlpbnQgbnVtX3RvX3JlYWQgPQp8IAkJCVlZX0NVUlJFTlRfQlVGRkVSX0xW
QUxVRS0+eXlfYnVmX3NpemUgLSBudW1iZXJfdG9fbW92ZSAtIDE7CnwgCnwgCQl3aGlsZSAoIG51
bV90b19yZWFkIDw9IDAgKQp8IAkJCXsgLyogTm90IGVub3VnaCByb29tIGluIHRoZSBidWZmZXIg
LSBncm93IGl0LiAqLwp8IAp8IAkJCVlZX0ZBVEFMX0VSUk9SKAp8ICJpbnB1dCBidWZmZXIgb3Zl
cmZsb3csIGNhbid0IGVubGFyZ2UgYnVmZmVyIGJlY2F1c2Ugc2Nhbm5lciB1c2VzIFJFSkVDVCIg
KTsKfCAKfCAJCQl9CnwgCnwgCQlpZiAoIG51bV90b19yZWFkID4gWVlfUkVBRF9CVUZfU0laRSAp
CnwgCQkJbnVtX3RvX3JlYWQgPSBZWV9SRUFEX0JVRl9TSVpFOwp8IAp8IAkJLyogUmVhZCBpbiBt
b3JlIGRhdGEuICovCnwgCQlZWV9JTlBVVCggKCZZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5
X2NoX2J1ZltudW1iZXJfdG9fbW92ZV0pLAp8IAkJCSh5eV9uX2NoYXJzKSwgbnVtX3RvX3JlYWQg
KTsKfCAKfCAJCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfbl9jaGFycyA9ICh5eV9uX2No
YXJzKTsKfCAJCX0KfCAKfCAJaWYgKCAoeXlfbl9jaGFycykgPT0gMCApCnwgCQl7CnwgCQlpZiAo
IG51bWJlcl90b19tb3ZlID09IFlZX01PUkVfQURKICkKfCAJCQl7CnwgCQkJcmV0X3ZhbCA9IEVP
Ql9BQ1RfRU5EX09GX0ZJTEU7CnwgCQkJeXlyZXN0YXJ0KHl5aW4gICk7CnwgCQkJfQp8IAp8IAkJ
ZWxzZQp8IAkJCXsKfCAJCQlyZXRfdmFsID0gRU9CX0FDVF9MQVNUX01BVENIOwp8IAkJCVlZX0NV
UlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfYnVmZmVyX3N0YXR1cyA9CnwgCQkJCVlZX0JVRkZFUl9F
T0ZfUEVORElORzsKfCAJCQl9CnwgCQl9CnwgCnwgCWVsc2UKfCAJCXJldF92YWwgPSBFT0JfQUNU
X0NPTlRJTlVFX1NDQU47CnwgCnwgCSh5eV9uX2NoYXJzKSArPSBudW1iZXJfdG9fbW92ZTsKfCAJ
WVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZbKHl5X25fY2hhcnMpXSA9IFlZX0VO
RF9PRl9CVUZGRVJfQ0hBUjsKfCAJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZb
KHl5X25fY2hhcnMpICsgMV0gPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7CnwgCnwgCSh5eXRleHRf
cHRyKSA9ICZZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZlswXTsKfCAKfCAJcmV0
dXJuIHJldF92YWw7CnwgfQp8IAp8IC8qIHl5X2dldF9wcmV2aW91c19zdGF0ZSAtIGdldCB0aGUg
c3RhdGUganVzdCBiZWZvcmUgdGhlIEVPQiBjaGFyIHdhcyByZWFjaGVkICovCnwgCnwgICAgIHN0
YXRpYyB5eV9zdGF0ZV90eXBlIHl5X2dldF9wcmV2aW91c19zdGF0ZSAodm9pZCkKfCB7CnwgCXJl
Z2lzdGVyIHl5X3N0YXRlX3R5cGUgeXlfY3VycmVudF9zdGF0ZTsKfCAJcmVnaXN0ZXIgY2hhciAq
eXlfY3A7CnwgICAgIAp8IAl5eV9jdXJyZW50X3N0YXRlID0gKHl5X3N0YXJ0KTsKfCAKfCAJKHl5
X3N0YXRlX3B0cikgPSAoeXlfc3RhdGVfYnVmKTsKfCAJKih5eV9zdGF0ZV9wdHIpKysgPSB5eV9j
dXJyZW50X3N0YXRlOwp8IAp8IAlmb3IgKCB5eV9jcCA9ICh5eXRleHRfcHRyKSArIFlZX01PUkVf
QURKOyB5eV9jcCA8ICh5eV9jX2J1Zl9wKTsgKyt5eV9jcCApCnwgCQl7CnwgCQlyZWdpc3RlciBZ
WV9DSEFSIHl5X2MgPSAoKnl5X2NwID8geXlfZWNbWVlfU0NfVE9fVUkoKnl5X2NwKV0gOiAxKTsK
fCAJCXdoaWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyB5eV9jXSAhPSB5
eV9jdXJyZW50X3N0YXRlICkKfCAJCQl7CnwgCQkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5
X2RlZlt5eV9jdXJyZW50X3N0YXRlXTsKfCAJCQlpZiAoIHl5X2N1cnJlbnRfc3RhdGUgPj0gMTMg
KQp8IAkJCQl5eV9jID0geXlfbWV0YVsodW5zaWduZWQgaW50KSB5eV9jXTsKfCAJCQl9CnwgCQl5
eV9jdXJyZW50X3N0YXRlID0geXlfbnh0W3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyAodW5z
aWduZWQgaW50KSB5eV9jXTsKfCAJCSooeXlfc3RhdGVfcHRyKSsrID0geXlfY3VycmVudF9zdGF0
ZTsKfCAJCX0KfCAKfCAJcmV0dXJuIHl5X2N1cnJlbnRfc3RhdGU7CnwgfQp8IAp8IC8qIHl5X3Ry
eV9OVUxfdHJhbnMgLSB0cnkgdG8gbWFrZSBhIHRyYW5zaXRpb24gb24gdGhlIE5VTCBjaGFyYWN0
ZXIKfCAgKgp8ICAqIHN5bm9wc2lzCnwgICoJbmV4dF9zdGF0ZSA9IHl5X3RyeV9OVUxfdHJhbnMo
IGN1cnJlbnRfc3RhdGUgKTsKfCAgKi8KfCAgICAgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfdHJ5
X05VTF90cmFucyAgKHl5X3N0YXRlX3R5cGUgeXlfY3VycmVudF9zdGF0ZSApCnwgewp8IAlyZWdp
c3RlciBpbnQgeXlfaXNfamFtOwp8ICAgICAKfCAJcmVnaXN0ZXIgWVlfQ0hBUiB5eV9jID0gMTsK
fCAJd2hpbGUgKCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9IHl5
X2N1cnJlbnRfc3RhdGUgKQp8IAkJewp8IAkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5X2Rl
Zlt5eV9jdXJyZW50X3N0YXRlXTsKfCAJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAxMyApCnwg
CQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkgeXlfY107CnwgCQl9CnwgCXl5X2N1cnJl
bnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArICh1bnNpZ25lZCBp
bnQpIHl5X2NdOwp8IAl5eV9pc19qYW0gPSAoeXlfY3VycmVudF9zdGF0ZSA9PSAxMik7CnwgCWlm
ICggISB5eV9pc19qYW0gKQp8IAkJKih5eV9zdGF0ZV9wdHIpKysgPSB5eV9jdXJyZW50X3N0YXRl
Owp8IAp8IAlyZXR1cm4geXlfaXNfamFtID8gMCA6IHl5X2N1cnJlbnRfc3RhdGU7CnwgfQp8IAp8
ICAgICBzdGF0aWMgdm9pZCB5eXVucHV0IChpbnQgYywgcmVnaXN0ZXIgY2hhciAqIHl5X2JwICkK
fCB7CnwgCXJlZ2lzdGVyIGNoYXIgKnl5X2NwOwp8ICAgICAKfCAgICAgeXlfY3AgPSAoeXlfY19i
dWZfcCk7CnwgCnwgCS8qIHVuZG8gZWZmZWN0cyBvZiBzZXR0aW5nIHVwIHl5dGV4dCAqLwp8IAkq
eXlfY3AgPSAoeXlfaG9sZF9jaGFyKTsKfCAKfCAJaWYgKCB5eV9jcCA8IFlZX0NVUlJFTlRfQlVG
RkVSX0xWQUxVRS0+eXlfY2hfYnVmICsgMiApCnwgCQl7IC8qIG5lZWQgdG8gc2hpZnQgdGhpbmdz
IHVwIHRvIG1ha2Ugcm9vbSAqLwp8IAkJLyogKzIgZm9yIEVPQiBjaGFycy4gKi8KfCAJCXJlZ2lz
dGVyIGludCBudW1iZXJfdG9fbW92ZSA9ICh5eV9uX2NoYXJzKSArIDI7CnwgCQlyZWdpc3RlciBj
aGFyICpkZXN0ID0gJllZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVmWwp8IAkJCQkJ
WVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9idWZfc2l6ZSArIDJdOwp8IAkJcmVnaXN0ZXIg
Y2hhciAqc291cmNlID0KfCAJCQkJJllZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVm
W251bWJlcl90b19tb3ZlXTsKfCAKfCAJCXdoaWxlICggc291cmNlID4gWVlfQ1VSUkVOVF9CVUZG
RVJfTFZBTFVFLT55eV9jaF9idWYgKQp8IAkJCSotLWRlc3QgPSAqLS1zb3VyY2U7CnwgCnwgCQl5
eV9jcCArPSAoaW50KSAoZGVzdCAtIHNvdXJjZSk7CnwgCQl5eV9icCArPSAoaW50KSAoZGVzdCAt
IHNvdXJjZSk7CnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X25fY2hhcnMgPQp8IAkJ
CSh5eV9uX2NoYXJzKSA9IFlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfYnVmX3NpemU7Cnwg
CnwgCQlpZiAoIHl5X2NwIDwgWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWYgKyAy
ICkKfCAJCQlZWV9GQVRBTF9FUlJPUiggImZsZXggc2Nhbm5lciBwdXNoLWJhY2sgb3ZlcmZsb3ci
ICk7CnwgCQl9CnwgCnwgCSotLXl5X2NwID0gKGNoYXIpIGM7CnwgCnwgCSh5eXRleHRfcHRyKSA9
IHl5X2JwOwp8IAkoeXlfaG9sZF9jaGFyKSA9ICp5eV9jcDsKfCAJKHl5X2NfYnVmX3ApID0geXlf
Y3A7CnwgfQp8IAp8ICNpZm5kZWYgWVlfTk9fSU5QVVQKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAg
ICAgc3RhdGljIGludCB5eWlucHV0ICh2b2lkKQp8ICNlbHNlCnwgICAgIHN0YXRpYyBpbnQgaW5w
dXQgICh2b2lkKQp8ICNlbmRpZgp8IAp8IHsKfCAJaW50IGM7CnwgICAgIAp8IAkqKHl5X2NfYnVm
X3ApID0gKHl5X2hvbGRfY2hhcik7CnwgCnwgCWlmICggKih5eV9jX2J1Zl9wKSA9PSBZWV9FTkRf
T0ZfQlVGRkVSX0NIQVIgKQp8IAkJewp8IAkJLyogeXlfY19idWZfcCBub3cgcG9pbnRzIHRvIHRo
ZSBjaGFyYWN0ZXIgd2Ugd2FudCB0byByZXR1cm4uCnwgCQkgKiBJZiB0aGlzIG9jY3VycyAqYmVm
b3JlKiB0aGUgRU9CIGNoYXJhY3RlcnMsIHRoZW4gaXQncyBhCnwgCQkgKiB2YWxpZCBOVUw7IGlm
IG5vdCwgdGhlbiB3ZSd2ZSBoaXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgp8IAkJICovCnwgCQlp
ZiAoICh5eV9jX2J1Zl9wKSA8ICZZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1Zlso
eXlfbl9jaGFycyldICkKfCAJCQkvKiBUaGlzIHdhcyByZWFsbHkgYSBOVUwuICovCnwgCQkJKih5
eV9jX2J1Zl9wKSA9ICdcMCc7CnwgCnwgCQllbHNlCnwgCQkJeyAvKiBuZWVkIG1vcmUgaW5wdXQg
Ki8KfCAJCQlpbnQgb2Zmc2V0ID0gKHl5X2NfYnVmX3ApIC0gKHl5dGV4dF9wdHIpOwp8IAkJCSsr
KHl5X2NfYnVmX3ApOwp8IAp8IAkJCXN3aXRjaCAoIHl5X2dldF9uZXh0X2J1ZmZlciggICkgKQp8
IAkJCQl7CnwgCQkJCWNhc2UgRU9CX0FDVF9MQVNUX01BVENIOgp8IAkJCQkJLyogVGhpcyBoYXBw
ZW5zIGJlY2F1c2UgeXlfZ19uX2IoKQp8IAkJCQkJICogc2VlcyB0aGF0IHdlJ3ZlIGFjY3VtdWxh
dGVkIGEKfCAJCQkJCSAqIHRva2VuIGFuZCBmbGFncyB0aGF0IHdlIG5lZWQgdG8KfCAJCQkJCSAq
IHRyeSBtYXRjaGluZyB0aGUgdG9rZW4gYmVmb3JlCnwgCQkJCQkgKiBwcm9jZWVkaW5nLiAgQnV0
IGZvciBpbnB1dCgpLAp8IAkJCQkJICogdGhlcmUncyBubyBtYXRjaGluZyB0byBjb25zaWRlci4K
fCAJCQkJCSAqIFNvIGNvbnZlcnQgdGhlIEVPQl9BQ1RfTEFTVF9NQVRDSAp8IAkJCQkJICogdG8g
RU9CX0FDVF9FTkRfT0ZfRklMRS4KfCAJCQkJCSAqLwp8IAp8IAkJCQkJLyogUmVzZXQgYnVmZmVy
IHN0YXR1cy4gKi8KfCAJCQkJCXl5cmVzdGFydCh5eWluICk7CnwgCnwgCQkJCQkvKkZBTExUSFJP
VUdIKi8KfCAKfCAJCQkJY2FzZSBFT0JfQUNUX0VORF9PRl9GSUxFOgp8IAkJCQkJewp8IAkJCQkJ
aWYgKCB5eXdyYXAoICkgKQp8IAkJCQkJCXJldHVybiBFT0Y7CnwgCnwgCQkJCQlpZiAoICEgKHl5
X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZikgKQp8IAkJCQkJCVlZX05FV19GSUxFOwp8ICNpZmRl
ZiBfX2NwbHVzcGx1cwp8IAkJCQkJcmV0dXJuIHl5aW5wdXQoKTsKfCAjZWxzZQp8IAkJCQkJcmV0
dXJuIGlucHV0KCk7CnwgI2VuZGlmCnwgCQkJCQl9CnwgCnwgCQkJCWNhc2UgRU9CX0FDVF9DT05U
SU5VRV9TQ0FOOgp8IAkJCQkJKHl5X2NfYnVmX3ApID0gKHl5dGV4dF9wdHIpICsgb2Zmc2V0Owp8
IAkJCQkJYnJlYWs7CnwgCQkJCX0KfCAJCQl9CnwgCQl9CnwgCnwgCWMgPSAqKHVuc2lnbmVkIGNo
YXIgKikgKHl5X2NfYnVmX3ApOwkvKiBjYXN0IGZvciA4LWJpdCBjaGFyJ3MgKi8KfCAJKih5eV9j
X2J1Zl9wKSA9ICdcMCc7CS8qIHByZXNlcnZlIHl5dGV4dCAqLwp8IAkoeXlfaG9sZF9jaGFyKSA9
ICorKyh5eV9jX2J1Zl9wKTsKfCAKfCAJcmV0dXJuIGM7CnwgfQp8ICNlbmRpZgkvKiBpZm5kZWYg
WVlfTk9fSU5QVVQgKi8KfCAKfCAvKiogSW1tZWRpYXRlbHkgc3dpdGNoIHRvIGEgZGlmZmVyZW50
IGlucHV0IHN0cmVhbS4KfCAgKiBAcGFyYW0gaW5wdXRfZmlsZSBBIHJlYWRhYmxlIHN0cmVhbS4K
fCAgKiAKfCAgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHJlc2V0IHRoZSBzdGFydCBj
b25kaXRpb24gdG8gQGMgSU5JVElBTCAuCnwgICovCnwgICAgIHZvaWQgeXlyZXN0YXJ0ICAoRklM
RSAqIGlucHV0X2ZpbGUgKQp8IHsKfCAgICAgCnwgCWlmICggISBZWV9DVVJSRU5UX0JVRkZFUiAp
ewp8ICAgICAgICAgeXllbnN1cmVfYnVmZmVyX3N0YWNrICgpOwp8IAkJWVlfQ1VSUkVOVF9CVUZG
RVJfTFZBTFVFID0KfCAgICAgICAgICAgICB5eV9jcmVhdGVfYnVmZmVyKHl5aW4sWVlfQlVGX1NJ
WkUgKTsKfCAJfQp8IAp8IAl5eV9pbml0X2J1ZmZlcihZWV9DVVJSRU5UX0JVRkZFUixpbnB1dF9m
aWxlICk7CnwgCXl5X2xvYWRfYnVmZmVyX3N0YXRlKCApOwp8IH0KfCAKfCAvKiogU3dpdGNoIHRv
IGEgZGlmZmVyZW50IGlucHV0IGJ1ZmZlci4KfCAgKiBAcGFyYW0gbmV3X2J1ZmZlciBUaGUgbmV3
IGlucHV0IGJ1ZmZlci4KfCAgKiAKfCAgKi8KfCAgICAgdm9pZCB5eV9zd2l0Y2hfdG9fYnVmZmVy
ICAoWVlfQlVGRkVSX1NUQVRFICBuZXdfYnVmZmVyICkKfCB7CnwgICAgIAp8IAkvKiBUT0RPLiBX
ZSBzaG91bGQgYmUgYWJsZSB0byByZXBsYWNlIHRoaXMgZW50aXJlIGZ1bmN0aW9uIGJvZHkKfCAJ
ICogd2l0aAp8IAkgKgkJeXlwb3BfYnVmZmVyX3N0YXRlKCk7CnwgCSAqCQl5eXB1c2hfYnVmZmVy
X3N0YXRlKG5ld19idWZmZXIpOwp8ICAgICAgKi8KfCAJeXllbnN1cmVfYnVmZmVyX3N0YWNrICgp
Owp8IAlpZiAoIFlZX0NVUlJFTlRfQlVGRkVSID09IG5ld19idWZmZXIgKQp8IAkJcmV0dXJuOwp8
IAp8IAlpZiAoIFlZX0NVUlJFTlRfQlVGRkVSICkKfCAJCXsKfCAJCS8qIEZsdXNoIG91dCBpbmZv
cm1hdGlvbiBmb3Igb2xkIGJ1ZmZlci4gKi8KfCAJCSooeXlfY19idWZfcCkgPSAoeXlfaG9sZF9j
aGFyKTsKfCAJCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfYnVmX3BvcyA9ICh5eV9jX2J1
Zl9wKTsKfCAJCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfbl9jaGFycyA9ICh5eV9uX2No
YXJzKTsKfCAJCX0KfCAKfCAJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFID0gbmV3X2J1ZmZlcjsK
fCAJeXlfbG9hZF9idWZmZXJfc3RhdGUoICk7CnwgCnwgCS8qIFdlIGRvbid0IGFjdHVhbGx5IGtu
b3cgd2hldGhlciB3ZSBkaWQgdGhpcyBzd2l0Y2ggZHVyaW5nCnwgCSAqIEVPRiAoeXl3cmFwKCkp
IHByb2Nlc3NpbmcsIGJ1dCB0aGUgb25seSB0aW1lIHRoaXMgZmxhZwp8IAkgKiBpcyBsb29rZWQg
YXQgaXMgYWZ0ZXIgeXl3cmFwKCkgaXMgY2FsbGVkLCBzbyBpdCdzIHNhZmUKfCAJICogdG8gZ28g
YWhlYWQgYW5kIGFsd2F5cyBzZXQgaXQuCnwgCSAqLwp8IAkoeXlfZGlkX2J1ZmZlcl9zd2l0Y2hf
b25fZW9mKSA9IDE7CnwgfQp8IAp8IHN0YXRpYyB2b2lkIHl5X2xvYWRfYnVmZmVyX3N0YXRlICAo
dm9pZCkKfCB7CnwgICAgIAkoeXlfbl9jaGFycykgPSBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUt
Pnl5X25fY2hhcnM7CnwgCSh5eXRleHRfcHRyKSA9ICh5eV9jX2J1Zl9wKSA9IFlZX0NVUlJFTlRf
QlVGRkVSX0xWQUxVRS0+eXlfYnVmX3BvczsKfCAJeXlpbiA9IFlZX0NVUlJFTlRfQlVGRkVSX0xW
QUxVRS0+eXlfaW5wdXRfZmlsZTsKfCAJKHl5X2hvbGRfY2hhcikgPSAqKHl5X2NfYnVmX3ApOwp8
IH0KfCAKfCAvKiogQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYW4gaW5wdXQgYnVmZmVyIHN0YXRl
Lgp8ICAqIEBwYXJhbSBmaWxlIEEgcmVhZGFibGUgc3RyZWFtLgp8ICAqIEBwYXJhbSBzaXplIFRo
ZSBjaGFyYWN0ZXIgYnVmZmVyIHNpemUgaW4gYnl0ZXMuIFdoZW4gaW4gZG91YnQsIHVzZSBAYyBZ
WV9CVUZfU0laRS4KfCAgKiAKfCAgKiBAcmV0dXJuIHRoZSBhbGxvY2F0ZWQgYnVmZmVyIHN0YXRl
Lgp8ICAqLwp8ICAgICBZWV9CVUZGRVJfU1RBVEUgeXlfY3JlYXRlX2J1ZmZlciAgKEZJTEUgKiBm
aWxlLCBpbnQgIHNpemUgKQp8IHsKfCAJWVlfQlVGRkVSX1NUQVRFIGI7CnwgICAgIAp8IAliID0g
KFlZX0JVRkZFUl9TVEFURSkgeXlhbGxvYyhzaXplb2YoIHN0cnVjdCB5eV9idWZmZXJfc3RhdGUg
KSAgKTsKfCAJaWYgKCAhIGIgKQp8IAkJWVlfRkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBt
ZW1vcnkgaW4geXlfY3JlYXRlX2J1ZmZlcigpIiApOwp8IAp8IAliLT55eV9idWZfc2l6ZSA9IHNp
emU7CnwgCnwgCS8qIHl5X2NoX2J1ZiBoYXMgdG8gYmUgMiBjaGFyYWN0ZXJzIGxvbmdlciB0aGFu
IHRoZSBzaXplIGdpdmVuIGJlY2F1c2UKfCAJICogd2UgbmVlZCB0byBwdXQgaW4gMiBlbmQtb2Yt
YnVmZmVyIGNoYXJhY3RlcnMuCnwgCSAqLwp8IAliLT55eV9jaF9idWYgPSAoY2hhciAqKSB5eWFs
bG9jKGItPnl5X2J1Zl9zaXplICsgMiAgKTsKfCAJaWYgKCAhIGItPnl5X2NoX2J1ZiApCnwgCQlZ
WV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9jcmVhdGVfYnVmZmVy
KCkiICk7CnwgCnwgCWItPnl5X2lzX291cl9idWZmZXIgPSAxOwp8IAp8IAl5eV9pbml0X2J1ZmZl
cihiLGZpbGUgKTsKfCAKfCAJcmV0dXJuIGI7CnwgfQp8IAp8IC8qKiBEZXN0cm95IHRoZSBidWZm
ZXIuCnwgICogQHBhcmFtIGIgYSBidWZmZXIgY3JlYXRlZCB3aXRoIHl5X2NyZWF0ZV9idWZmZXIo
KQp8ICAqIAp8ICAqLwp8ICAgICB2b2lkIHl5X2RlbGV0ZV9idWZmZXIgKFlZX0JVRkZFUl9TVEFU
RSAgYiApCnwgewp8ICAgICAKfCAJaWYgKCAhIGIgKQp8IAkJcmV0dXJuOwp8IAp8IAlpZiAoIGIg
PT0gWVlfQ1VSUkVOVF9CVUZGRVIgKSAvKiBOb3Qgc3VyZSBpZiB3ZSBzaG91bGQgcG9wIGhlcmUu
ICovCnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUgPSAoWVlfQlVGRkVSX1NUQVRFKSAwOwp8
IAp8IAlpZiAoIGItPnl5X2lzX291cl9idWZmZXIgKQp8IAkJeXlmcmVlKCh2b2lkICopIGItPnl5
X2NoX2J1ZiAgKTsKfCAKfCAJeXlmcmVlKCh2b2lkICopIGIgICk7CnwgfQp8IAp8ICNpZm5kZWYg
X1VOSVNURF9IIC8qIGFzc3VtZSB1bmlzdGQuaCBoYXMgaXNhdHR5KCkgZm9yIHVzICovCnwgI2lm
ZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIiB7CnwgI2VuZGlmCnwgI2lmZGVmIF9fVEhST1cg
LyogdGhpcyBpcyBhIGdudWlzbSAqLwp8IGV4dGVybiBpbnQgaXNhdHR5IChpbnQgKSBfX1RIUk9X
Owp8ICNlbHNlCnwgZXh0ZXJuIGludCBpc2F0dHkgKGludCApOwp8ICNlbmRpZgp8ICNpZmRlZiBf
X2NwbHVzcGx1cwp8IH0KfCAjZW5kaWYKfCAjZW5kaWYKfCAgICAgCnwgLyogSW5pdGlhbGl6ZXMg
b3IgcmVpbml0aWFsaXplcyBhIGJ1ZmZlci4KfCAgKiBUaGlzIGZ1bmN0aW9uIGlzIHNvbWV0aW1l
cyBjYWxsZWQgbW9yZSB0aGFuIG9uY2Ugb24gdGhlIHNhbWUgYnVmZmVyLAp8ICAqIHN1Y2ggYXMg
ZHVyaW5nIGEgeXlyZXN0YXJ0KCkgb3IgYXQgRU9GLgp8ICAqLwp8ICAgICBzdGF0aWMgdm9pZCB5
eV9pbml0X2J1ZmZlciAgKFlZX0JVRkZFUl9TVEFURSAgYiwgRklMRSAqIGZpbGUgKQp8IAp8IHsK
fCAJaW50IG9lcnJubyA9IGVycm5vOwp8ICAgICAKfCAJeXlfZmx1c2hfYnVmZmVyKGIgKTsKfCAK
fCAJYi0+eXlfaW5wdXRfZmlsZSA9IGZpbGU7CnwgCWItPnl5X2ZpbGxfYnVmZmVyID0gMTsKfCAK
fCAgICAgLyogSWYgYiBpcyB0aGUgY3VycmVudCBidWZmZXIsIHRoZW4geXlfaW5pdF9idWZmZXIg
d2FzIF9wcm9iYWJseV8KfCAgICAgICogY2FsbGVkIGZyb20geXlyZXN0YXJ0KCkgb3IgdGhyb3Vn
aCB5eV9nZXRfbmV4dF9idWZmZXIuCnwgICAgICAqIEluIHRoYXQgY2FzZSwgd2UgZG9uJ3Qgd2Fu
dCB0byByZXNldCB0aGUgbGluZW5vIG9yIGNvbHVtbi4KfCAgICAgICovCnwgICAgIGlmIChiICE9
IFlZX0NVUlJFTlRfQlVGRkVSKXsKfCAgICAgICAgIGItPnl5X2JzX2xpbmVubyA9IDE7CnwgICAg
ICAgICBiLT55eV9ic19jb2x1bW4gPSAwOwp8ICAgICB9CnwgCnwgICAgICAgICBiLT55eV9pc19p
bnRlcmFjdGl2ZSA9IGZpbGUgPyAoaXNhdHR5KCBmaWxlbm8oZmlsZSkgKSA+IDApIDogMDsKfCAg
ICAgCnwgCWVycm5vID0gb2Vycm5vOwp8IH0KfCAKfCAvKiogRGlzY2FyZCBhbGwgYnVmZmVyZWQg
Y2hhcmFjdGVycy4gT24gdGhlIG5leHQgc2NhbiwgWVlfSU5QVVQgd2lsbCBiZSBjYWxsZWQuCnwg
ICogQHBhcmFtIGIgdGhlIGJ1ZmZlciBzdGF0ZSB0byBiZSBmbHVzaGVkLCB1c3VhbGx5IEBjIFlZ
X0NVUlJFTlRfQlVGRkVSLgp8ICAqIAp8ICAqLwp8ICAgICB2b2lkIHl5X2ZsdXNoX2J1ZmZlciAo
WVlfQlVGRkVSX1NUQVRFICBiICkKfCB7CnwgICAgIAlpZiAoICEgYiApCnwgCQlyZXR1cm47Cnwg
CnwgCWItPnl5X25fY2hhcnMgPSAwOwp8IAp8IAkvKiBXZSBhbHdheXMgbmVlZCB0d28gZW5kLW9m
LWJ1ZmZlciBjaGFyYWN0ZXJzLiAgVGhlIGZpcnN0IGNhdXNlcwp8IAkgKiBhIHRyYW5zaXRpb24g
dG8gdGhlIGVuZC1vZi1idWZmZXIgc3RhdGUuICBUaGUgc2Vjb25kIGNhdXNlcwp8IAkgKiBhIGph
bSBpbiB0aGF0IHN0YXRlLgp8IAkgKi8KfCAJYi0+eXlfY2hfYnVmWzBdID0gWVlfRU5EX09GX0JV
RkZFUl9DSEFSOwp8IAliLT55eV9jaF9idWZbMV0gPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7Cnwg
CnwgCWItPnl5X2J1Zl9wb3MgPSAmYi0+eXlfY2hfYnVmWzBdOwp8IAp8IAliLT55eV9hdF9ib2wg
PSAxOwp8IAliLT55eV9idWZmZXJfc3RhdHVzID0gWVlfQlVGRkVSX05FVzsKfCAKfCAJaWYgKCBi
ID09IFlZX0NVUlJFTlRfQlVGRkVSICkKfCAJCXl5X2xvYWRfYnVmZmVyX3N0YXRlKCApOwp8IH0K
fCAKfCAvKiogUHVzaGVzIHRoZSBuZXcgc3RhdGUgb250byB0aGUgc3RhY2suIFRoZSBuZXcgc3Rh
dGUgYmVjb21lcwp8ICAqICB0aGUgY3VycmVudCBzdGF0ZS4gVGhpcyBmdW5jdGlvbiB3aWxsIGFs
bG9jYXRlIHRoZSBzdGFjawp8ICAqICBpZiBuZWNlc3NhcnkuCnwgICogIEBwYXJhbSBuZXdfYnVm
ZmVyIFRoZSBuZXcgc3RhdGUuCnwgICogIAp8ICAqLwp8IHZvaWQgeXlwdXNoX2J1ZmZlcl9zdGF0
ZSAoWVlfQlVGRkVSX1NUQVRFIG5ld19idWZmZXIgKQp8IHsKfCAgICAgCWlmIChuZXdfYnVmZmVy
ID09IE5VTEwpCnwgCQlyZXR1cm47CnwgCnwgCXl5ZW5zdXJlX2J1ZmZlcl9zdGFjaygpOwp8IAp8
IAkvKiBUaGlzIGJsb2NrIGlzIGNvcGllZCBmcm9tIHl5X3N3aXRjaF90b19idWZmZXIuICovCnwg
CWlmICggWVlfQ1VSUkVOVF9CVUZGRVIgKQp8IAkJewp8IAkJLyogRmx1c2ggb3V0IGluZm9ybWF0
aW9uIGZvciBvbGQgYnVmZmVyLiAqLwp8IAkJKih5eV9jX2J1Zl9wKSA9ICh5eV9ob2xkX2NoYXIp
Owp8IAkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9idWZfcG9zID0gKHl5X2NfYnVmX3Ap
Owp8IAkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9uX2NoYXJzID0gKHl5X25fY2hhcnMp
Owp8IAkJfQp8IAp8IAkvKiBPbmx5IHB1c2ggaWYgdG9wIGV4aXN0cy4gT3RoZXJ3aXNlLCByZXBs
YWNlIHRvcC4gKi8KfCAJaWYgKFlZX0NVUlJFTlRfQlVGRkVSKQp8IAkJKHl5X2J1ZmZlcl9zdGFj
a190b3ApKys7CnwgCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRSA9IG5ld19idWZmZXI7CnwgCnwg
CS8qIGNvcGllZCBmcm9tIHl5X3N3aXRjaF90b19idWZmZXIuICovCnwgCXl5X2xvYWRfYnVmZmVy
X3N0YXRlKCApOwp8IAkoeXlfZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mKSA9IDE7CnwgfQp8IAp8
IC8qKiBSZW1vdmVzIGFuZCBkZWxldGVzIHRoZSB0b3Agb2YgdGhlIHN0YWNrLCBpZiBwcmVzZW50
Lgp8ICAqICBUaGUgbmV4dCBlbGVtZW50IGJlY29tZXMgdGhlIG5ldyB0b3AuCnwgICogIAp8ICAq
Lwp8IHZvaWQgeXlwb3BfYnVmZmVyX3N0YXRlICh2b2lkKQp8IHsKfCAgICAgCWlmICghWVlfQ1VS
UkVOVF9CVUZGRVIpCnwgCQlyZXR1cm47CnwgCnwgCXl5X2RlbGV0ZV9idWZmZXIoWVlfQ1VSUkVO
VF9CVUZGRVIgKTsKfCAJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFID0gTlVMTDsKfCAJaWYgKCh5
eV9idWZmZXJfc3RhY2tfdG9wKSA+IDApCnwgCQktLSh5eV9idWZmZXJfc3RhY2tfdG9wKTsKfCAK
fCAJaWYgKFlZX0NVUlJFTlRfQlVGRkVSKSB7CnwgCQl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSggKTsK
fCAJCSh5eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9lb2YpID0gMTsKfCAJfQp8IH0KfCAKfCAvKiBB
bGxvY2F0ZXMgdGhlIHN0YWNrIGlmIGl0IGRvZXMgbm90IGV4aXN0Lgp8ICAqICBHdWFyYW50ZWVz
IHNwYWNlIGZvciBhdCBsZWFzdCBvbmUgcHVzaC4KfCAgKi8KfCBzdGF0aWMgdm9pZCB5eWVuc3Vy
ZV9idWZmZXJfc3RhY2sgKHZvaWQpCnwgewp8IAlpbnQgbnVtX3RvX2FsbG9jOwp8ICAgICAKfCAJ
aWYgKCEoeXlfYnVmZmVyX3N0YWNrKSkgewp8IAp8IAkJLyogRmlyc3QgYWxsb2NhdGlvbiBpcyBq
dXN0IGZvciAyIGVsZW1lbnRzLCBzaW5jZSB3ZSBkb24ndCBrbm93IGlmIHRoaXMKfCAJCSAqIHNj
YW5uZXIgd2lsbCBldmVuIG5lZWQgYSBzdGFjay4gV2UgdXNlIDIgaW5zdGVhZCBvZiAxIHRvIGF2
b2lkIGFuCnwgCQkgKiBpbW1lZGlhdGUgcmVhbGxvYyBvbiB0aGUgbmV4dCBjYWxsLgp8ICAgICAg
ICAgICovCnwgCQludW1fdG9fYWxsb2MgPSAxOwp8IAkJKHl5X2J1ZmZlcl9zdGFjaykgPSAoc3Ry
dWN0IHl5X2J1ZmZlcl9zdGF0ZSoqKXl5YWxsb2MKfCAJCQkJCQkJCShudW1fdG9fYWxsb2MgKiBz
aXplb2Yoc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSopCnwgCQkJCQkJCQkpOwp8IAkJCnwgCQltZW1z
ZXQoKHl5X2J1ZmZlcl9zdGFjayksIDAsIG51bV90b19hbGxvYyAqIHNpemVvZihzdHJ1Y3QgeXlf
YnVmZmVyX3N0YXRlKikpOwp8IAkJCQkKfCAJCSh5eV9idWZmZXJfc3RhY2tfbWF4KSA9IG51bV90
b19hbGxvYzsKfCAJCSh5eV9idWZmZXJfc3RhY2tfdG9wKSA9IDA7CnwgCQlyZXR1cm47CnwgCX0K
fCAKfCAJaWYgKCh5eV9idWZmZXJfc3RhY2tfdG9wKSA+PSAoKHl5X2J1ZmZlcl9zdGFja19tYXgp
KSAtIDEpewp8IAp8IAkJLyogSW5jcmVhc2UgdGhlIGJ1ZmZlciB0byBwcmVwYXJlIGZvciBhIHBv
c3NpYmxlIHB1c2guICovCnwgCQlpbnQgZ3Jvd19zaXplID0gOCAvKiBhcmJpdHJhcnkgZ3JvdyBz
aXplICovOwp8IAp8IAkJbnVtX3RvX2FsbG9jID0gKHl5X2J1ZmZlcl9zdGFja19tYXgpICsgZ3Jv
d19zaXplOwp8IAkJKHl5X2J1ZmZlcl9zdGFjaykgPSAoc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSoq
KXl5cmVhbGxvYwp8IAkJCQkJCQkJKCh5eV9idWZmZXJfc3RhY2spLAp8IAkJCQkJCQkJbnVtX3Rv
X2FsbG9jICogc2l6ZW9mKHN0cnVjdCB5eV9idWZmZXJfc3RhdGUqKQp8IAkJCQkJCQkJKTsKfCAK
fCAJCS8qIHplcm8gb25seSB0aGUgbmV3IHNsb3RzLiovCnwgCQltZW1zZXQoKHl5X2J1ZmZlcl9z
dGFjaykgKyAoeXlfYnVmZmVyX3N0YWNrX21heCksIDAsIGdyb3dfc2l6ZSAqIHNpemVvZihzdHJ1
Y3QgeXlfYnVmZmVyX3N0YXRlKikpOwp8IAkJKHl5X2J1ZmZlcl9zdGFja19tYXgpID0gbnVtX3Rv
X2FsbG9jOwp8IAl9CnwgfQp8IAp8IC8qKiBTZXR1cCB0aGUgaW5wdXQgYnVmZmVyIHN0YXRlIHRv
IHNjYW4gZGlyZWN0bHkgZnJvbSBhIHVzZXItc3BlY2lmaWVkIGNoYXJhY3RlciBidWZmZXIuCnwg
ICogQHBhcmFtIGJhc2UgdGhlIGNoYXJhY3RlciBidWZmZXIKfCAgKiBAcGFyYW0gc2l6ZSB0aGUg
c2l6ZSBpbiBieXRlcyBvZiB0aGUgY2hhcmFjdGVyIGJ1ZmZlcgp8ICAqIAp8ICAqIEByZXR1cm4g
dGhlIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIgc3RhdGUgb2JqZWN0LiAKfCAgKi8KfCBZWV9CVUZG
RVJfU1RBVEUgeXlfc2Nhbl9idWZmZXIgIChjaGFyICogYmFzZSwgeXlfc2l6ZV90ICBzaXplICkK
fCB7CnwgCVlZX0JVRkZFUl9TVEFURSBiOwp8ICAgICAKfCAJaWYgKCBzaXplIDwgMiB8fAp8IAkg
ICAgIGJhc2Vbc2l6ZS0yXSAhPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIgfHwKfCAJICAgICBiYXNl
W3NpemUtMV0gIT0gWVlfRU5EX09GX0JVRkZFUl9DSEFSICkKfCAJCS8qIFRoZXkgZm9yZ290IHRv
IGxlYXZlIHJvb20gZm9yIHRoZSBFT0Incy4gKi8KfCAJCXJldHVybiAwOwp8IAp8IAliID0gKFlZ
X0JVRkZFUl9TVEFURSkgeXlhbGxvYyhzaXplb2YoIHN0cnVjdCB5eV9idWZmZXJfc3RhdGUgKSAg
KTsKfCAJaWYgKCAhIGIgKQp8IAkJWVlfRkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBtZW1v
cnkgaW4geXlfc2Nhbl9idWZmZXIoKSIgKTsKfCAKfCAJYi0+eXlfYnVmX3NpemUgPSBzaXplIC0g
MjsJLyogIi0gMiIgdG8gdGFrZSBjYXJlIG9mIEVPQidzICovCnwgCWItPnl5X2J1Zl9wb3MgPSBi
LT55eV9jaF9idWYgPSBiYXNlOwp8IAliLT55eV9pc19vdXJfYnVmZmVyID0gMDsKfCAJYi0+eXlf
aW5wdXRfZmlsZSA9IDA7CnwgCWItPnl5X25fY2hhcnMgPSBiLT55eV9idWZfc2l6ZTsKfCAJYi0+
eXlfaXNfaW50ZXJhY3RpdmUgPSAwOwp8IAliLT55eV9hdF9ib2wgPSAxOwp8IAliLT55eV9maWxs
X2J1ZmZlciA9IDA7CnwgCWItPnl5X2J1ZmZlcl9zdGF0dXMgPSBZWV9CVUZGRVJfTkVXOwp8IAp8
IAl5eV9zd2l0Y2hfdG9fYnVmZmVyKGIgICk7CnwgCnwgCXJldHVybiBiOwp8IH0KfCAKfCAvKiog
U2V0dXAgdGhlIGlucHV0IGJ1ZmZlciBzdGF0ZSB0byBzY2FuIGEgc3RyaW5nLiBUaGUgbmV4dCBj
YWxsIHRvIHl5bGV4KCkgd2lsbAp8ICAqIHNjYW4gZnJvbSBhIEBlIGNvcHkgb2YgQGEgc3RyLgp8
ICAqIEBwYXJhbSBzdHIgYSBOVUwtdGVybWluYXRlZCBzdHJpbmcgdG8gc2Nhbgp8ICAqIAp8ICAq
IEByZXR1cm4gdGhlIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIgc3RhdGUgb2JqZWN0Lgp8ICAqIEBu
b3RlIElmIHlvdSB3YW50IHRvIHNjYW4gYnl0ZXMgdGhhdCBtYXkgY29udGFpbiBOVUwgdmFsdWVz
LCB0aGVuIHVzZQp8ICAqICAgICAgIHl5X3NjYW5fYnl0ZXMoKSBpbnN0ZWFkLgp8ICAqLwp8IFlZ
X0JVRkZFUl9TVEFURSB5eV9zY2FuX3N0cmluZyAoeXljb25zdCBjaGFyICogeXlzdHIgKQp8IHsK
fCAgICAgCnwgCXJldHVybiB5eV9zY2FuX2J5dGVzKHl5c3RyLHN0cmxlbih5eXN0cikgKTsKfCB9
CnwgCnwgLyoqIFNldHVwIHRoZSBpbnB1dCBidWZmZXIgc3RhdGUgdG8gc2NhbiB0aGUgZ2l2ZW4g
Ynl0ZXMuIFRoZSBuZXh0IGNhbGwgdG8geXlsZXgoKSB3aWxsCnwgICogc2NhbiBmcm9tIGEgQGUg
Y29weSBvZiBAYSBieXRlcy4KfCAgKiBAcGFyYW0gYnl0ZXMgdGhlIGJ5dGUgYnVmZmVyIHRvIHNj
YW4KfCAgKiBAcGFyYW0gbGVuIHRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIGJ1ZmZlciBwb2lu
dGVkIHRvIGJ5IEBhIGJ5dGVzLgp8ICAqIAp8ICAqIEByZXR1cm4gdGhlIG5ld2x5IGFsbG9jYXRl
ZCBidWZmZXIgc3RhdGUgb2JqZWN0Lgp8ICAqLwp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX2J5
dGVzICAoeXljb25zdCBjaGFyICogeXlieXRlcywgaW50ICBfeXlieXRlc19sZW4gKQp8IHsKfCAJ
WVlfQlVGRkVSX1NUQVRFIGI7CnwgCWNoYXIgKmJ1ZjsKfCAJeXlfc2l6ZV90IG47CnwgCWludCBp
Owp8ICAgICAKfCAJLyogR2V0IG1lbW9yeSBmb3IgZnVsbCBidWZmZXIsIGluY2x1ZGluZyBzcGFj
ZSBmb3IgdHJhaWxpbmcgRU9CJ3MuICovCnwgCW4gPSBfeXlieXRlc19sZW4gKyAyOwp8IAlidWYg
PSAoY2hhciAqKSB5eWFsbG9jKG4gICk7CnwgCWlmICggISBidWYgKQp8IAkJWVlfRkFUQUxfRVJS
T1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4geXlfc2Nhbl9ieXRlcygpIiApOwp8IAp8IAlm
b3IgKCBpID0gMDsgaSA8IF95eWJ5dGVzX2xlbjsgKytpICkKfCAJCWJ1ZltpXSA9IHl5Ynl0ZXNb
aV07CnwgCnwgCWJ1ZltfeXlieXRlc19sZW5dID0gYnVmW195eWJ5dGVzX2xlbisxXSA9IFlZX0VO
RF9PRl9CVUZGRVJfQ0hBUjsKfCAKfCAJYiA9IHl5X3NjYW5fYnVmZmVyKGJ1ZixuICk7CnwgCWlm
ICggISBiICkKfCAJCVlZX0ZBVEFMX0VSUk9SKCAiYmFkIGJ1ZmZlciBpbiB5eV9zY2FuX2J5dGVz
KCkiICk7CnwgCnwgCS8qIEl0J3Mgb2theSB0byBncm93IGV0Yy4gdGhpcyBidWZmZXIsIGFuZCB3
ZSBzaG91bGQgdGhyb3cgaXQKfCAJICogYXdheSB3aGVuIHdlJ3JlIGRvbmUuCnwgCSAqLwp8IAli
LT55eV9pc19vdXJfYnVmZmVyID0gMTsKfCAKfCAJcmV0dXJuIGI7CnwgfQp8IAp8ICNpZm5kZWYg
WVlfRVhJVF9GQUlMVVJFCnwgI2RlZmluZSBZWV9FWElUX0ZBSUxVUkUgMgp8ICNlbmRpZgp8IAp8
IHN0YXRpYyB2b2lkIHl5X2ZhdGFsX2Vycm9yICh5eWNvbnN0IGNoYXIqIG1zZyApCnwgewp8ICAg
ICAJKHZvaWQpIGZwcmludGYoIHN0ZGVyciwgIiVzXG4iLCBtc2cgKTsKfCAJZXhpdCggWVlfRVhJ
VF9GQUlMVVJFICk7CnwgfQp8IAp8IC8qIFJlZGVmaW5lIHl5bGVzcygpIHNvIGl0IHdvcmtzIGlu
IHNlY3Rpb24gMyBjb2RlLiAqLwp8IAp8ICN1bmRlZiB5eWxlc3MKfCAjZGVmaW5lIHl5bGVzcyhu
KSBcCnwgCWRvIFwKfCAJCXsgXAp8IAkJLyogVW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0
ZXh0LiAqLyBcCnwgICAgICAgICBpbnQgeXlsZXNzX21hY3JvX2FyZyA9IChuKTsgXAp8ICAgICAg
ICAgWVlfTEVTU19MSU5FTk8oeXlsZXNzX21hY3JvX2FyZyk7XAp8IAkJeXl0ZXh0W3l5bGVuZ10g
PSAoeXlfaG9sZF9jaGFyKTsgXAp8IAkJKHl5X2NfYnVmX3ApID0geXl0ZXh0ICsgeXlsZXNzX21h
Y3JvX2FyZzsgXAp8IAkJKHl5X2hvbGRfY2hhcikgPSAqKHl5X2NfYnVmX3ApOyBcCnwgCQkqKHl5
X2NfYnVmX3ApID0gJ1wwJzsgXAp8IAkJeXlsZW5nID0geXlsZXNzX21hY3JvX2FyZzsgXAp8IAkJ
fSBcCnwgCXdoaWxlICggMCApCnwgCnwgLyogQWNjZXNzb3IgIG1ldGhvZHMgKGdldC9zZXQgZnVu
Y3Rpb25zKSB0byBzdHJ1Y3QgbWVtYmVycy4gKi8KfCAKfCAvKiogR2V0IHRoZSBjdXJyZW50IGxp
bmUgbnVtYmVyLgp8ICAqIAp8ICAqLwp8IGludCB5eWdldF9saW5lbm8gICh2b2lkKQp8IHsKfCAg
ICAgICAgIAp8ICAgICByZXR1cm4geXlsaW5lbm87CnwgfQp8IAp8IC8qKiBHZXQgdGhlIGlucHV0
IHN0cmVhbS4KfCAgKiAKfCAgKi8KfCBGSUxFICp5eWdldF9pbiAgKHZvaWQpCnwgewp8ICAgICAg
ICAgcmV0dXJuIHl5aW47CnwgfQp8IAp8IC8qKiBHZXQgdGhlIG91dHB1dCBzdHJlYW0uCnwgICog
CnwgICovCnwgRklMRSAqeXlnZXRfb3V0ICAodm9pZCkKfCB7CnwgICAgICAgICByZXR1cm4geXlv
dXQ7CnwgfQp8IAp8IC8qKiBHZXQgdGhlIGxlbmd0aCBvZiB0aGUgY3VycmVudCB0b2tlbi4KfCAg
KiAKfCAgKi8KfCBpbnQgeXlnZXRfbGVuZyAgKHZvaWQpCnwgewp8ICAgICAgICAgcmV0dXJuIHl5
bGVuZzsKfCB9CnwgCnwgLyoqIEdldCB0aGUgY3VycmVudCB0b2tlbi4KfCAgKiAKfCAgKi8KfCAK
fCBjaGFyICp5eWdldF90ZXh0ICAodm9pZCkKfCB7CnwgICAgICAgICByZXR1cm4geXl0ZXh0Owp8
IH0KfCAKfCAvKiogU2V0IHRoZSBjdXJyZW50IGxpbmUgbnVtYmVyLgp8ICAqIEBwYXJhbSBsaW5l
X251bWJlcgp8ICAqIAp8ICAqLwp8IHZvaWQgeXlzZXRfbGluZW5vIChpbnQgIGxpbmVfbnVtYmVy
ICkKfCB7CnwgICAgIAp8ICAgICB5eWxpbmVubyA9IGxpbmVfbnVtYmVyOwp8IH0KfCAKfCAvKiog
U2V0IHRoZSBpbnB1dCBzdHJlYW0uIFRoaXMgZG9lcyBub3QgZGlzY2FyZCB0aGUgY3VycmVudAp8
ICAqIGlucHV0IGJ1ZmZlci4KfCAgKiBAcGFyYW0gaW5fc3RyIEEgcmVhZGFibGUgc3RyZWFtLgp8
ICAqIAp8ICAqIEBzZWUgeXlfc3dpdGNoX3RvX2J1ZmZlcgp8ICAqLwp8IHZvaWQgeXlzZXRfaW4g
KEZJTEUgKiAgaW5fc3RyICkKfCB7CnwgICAgICAgICB5eWluID0gaW5fc3RyIDsKfCB9CnwgCnwg
dm9pZCB5eXNldF9vdXQgKEZJTEUgKiAgb3V0X3N0ciApCnwgewp8ICAgICAgICAgeXlvdXQgPSBv
dXRfc3RyIDsKfCB9CnwgCnwgaW50IHl5Z2V0X2RlYnVnICAodm9pZCkKfCB7CnwgICAgICAgICBy
ZXR1cm4geXlfZmxleF9kZWJ1ZzsKfCB9CnwgCnwgdm9pZCB5eXNldF9kZWJ1ZyAoaW50ICBiZGVi
dWcgKQp8IHsKfCAgICAgICAgIHl5X2ZsZXhfZGVidWcgPSBiZGVidWcgOwp8IH0KfCAKfCBzdGF0
aWMgaW50IHl5X2luaXRfZ2xvYmFscyAodm9pZCkKfCB7CnwgICAgICAgICAvKiBJbml0aWFsaXph
dGlvbiBpcyB0aGUgc2FtZSBhcyBmb3IgdGhlIG5vbi1yZWVudHJhbnQgc2Nhbm5lci4KfCAgICAg
ICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSB5eWxleF9kZXN0cm95KCksIHNvIGRvbid0
IGFsbG9jYXRlIGhlcmUuCnwgICAgICAqLwp8IAp8ICAgICAoeXlfYnVmZmVyX3N0YWNrKSA9IDA7
CnwgICAgICh5eV9idWZmZXJfc3RhY2tfdG9wKSA9IDA7CnwgICAgICh5eV9idWZmZXJfc3RhY2tf
bWF4KSA9IDA7CnwgICAgICh5eV9jX2J1Zl9wKSA9IChjaGFyICopIDA7CnwgICAgICh5eV9pbml0
KSA9IDA7CnwgICAgICh5eV9zdGFydCkgPSAwOwp8IAp8ICAgICAoeXlfc3RhdGVfYnVmKSA9IDA7
CnwgICAgICh5eV9zdGF0ZV9wdHIpID0gMDsKfCAgICAgKHl5X2Z1bGxfbWF0Y2gpID0gMDsKfCAg
ICAgKHl5X2xwKSA9IDA7CnwgCnwgLyogRGVmaW5lZCBpbiBtYWluLmMgKi8KfCAjaWZkZWYgWVlf
U1RESU5JVAp8ICAgICB5eWluID0gc3RkaW47CnwgICAgIHl5b3V0ID0gc3Rkb3V0Owp8ICNlbHNl
CnwgICAgIHl5aW4gPSAoRklMRSAqKSAwOwp8ICAgICB5eW91dCA9IChGSUxFICopIDA7CnwgI2Vu
ZGlmCnwgCnwgICAgIC8qIEZvciBmdXR1cmUgcmVmZXJlbmNlOiBTZXQgZXJybm8gb24gZXJyb3Is
IHNpbmNlIHdlIGFyZSBjYWxsZWQgYnkKfCAgICAgICogeXlsZXhfaW5pdCgpCnwgICAgICAqLwp8
ICAgICByZXR1cm4gMDsKfCB9CnwgCnwgLyogeXlsZXhfZGVzdHJveSBpcyBmb3IgYm90aCByZWVu
dHJhbnQgYW5kIG5vbi1yZWVudHJhbnQgc2Nhbm5lcnMuICovCnwgaW50IHl5bGV4X2Rlc3Ryb3kg
ICh2b2lkKQp8IHsKfCAgICAgCnwgICAgIC8qIFBvcCB0aGUgYnVmZmVyIHN0YWNrLCBkZXN0cm95
aW5nIGVhY2ggZWxlbWVudC4gKi8KfCAJd2hpbGUoWVlfQ1VSUkVOVF9CVUZGRVIpewp8IAkJeXlf
ZGVsZXRlX2J1ZmZlcihZWV9DVVJSRU5UX0JVRkZFUiAgKTsKfCAJCVlZX0NVUlJFTlRfQlVGRkVS
X0xWQUxVRSA9IE5VTEw7CnwgCQl5eXBvcF9idWZmZXJfc3RhdGUoKTsKfCAJfQp8IAp8IAkvKiBE
ZXN0cm95IHRoZSBzdGFjayBpdHNlbGYuICovCnwgCXl5ZnJlZSgoeXlfYnVmZmVyX3N0YWNrKSAp
Owp8IAkoeXlfYnVmZmVyX3N0YWNrKSA9IE5VTEw7CnwgCnwgICAgIHl5ZnJlZSAoICh5eV9zdGF0
ZV9idWYpICk7CnwgICAgICh5eV9zdGF0ZV9idWYpICA9IE5VTEw7CnwgCnwgICAgIC8qIFJlc2V0
IHRoZSBnbG9iYWxzLiBUaGlzIGlzIGltcG9ydGFudCBpbiBhIG5vbi1yZWVudHJhbnQgc2Nhbm5l
ciBzbyB0aGUgbmV4dCB0aW1lCnwgICAgICAqIHl5bGV4KCkgaXMgY2FsbGVkLCBpbml0aWFsaXph
dGlvbiB3aWxsIG9jY3VyLiAqLwp8ICAgICB5eV9pbml0X2dsb2JhbHMoICk7CnwgCnwgICAgIHJl
dHVybiAwOwp8IH0KfCAKfCAvKgp8ICAqIEludGVybmFsIHV0aWxpdHkgcm91dGluZXMuCnwgICov
CnwgCnwgI2lmbmRlZiB5eXRleHRfcHRyCnwgc3RhdGljIHZvaWQgeXlfZmxleF9zdHJuY3B5IChj
aGFyKiBzMSwgeXljb25zdCBjaGFyICogczIsIGludCBuICkKfCB7CnwgCXJlZ2lzdGVyIGludCBp
Owp8IAlmb3IgKCBpID0gMDsgaSA8IG47ICsraSApCnwgCQlzMVtpXSA9IHMyW2ldOwp8IH0KfCAj
ZW5kaWYKfCAKfCAjaWZkZWYgWVlfTkVFRF9TVFJMRU4KfCBzdGF0aWMgaW50IHl5X2ZsZXhfc3Ry
bGVuICh5eWNvbnN0IGNoYXIgKiBzICkKfCB7CnwgCXJlZ2lzdGVyIGludCBuOwp8IAlmb3IgKCBu
ID0gMDsgc1tuXTsgKytuICkKfCAJCTsKfCAKfCAJcmV0dXJuIG47CnwgfQp8ICNlbmRpZgp8IAp8
IHZvaWQgKnl5YWxsb2MgKHl5X3NpemVfdCAgc2l6ZSApCnwgewp8IAlyZXR1cm4gKHZvaWQgKikg
bWFsbG9jKCBzaXplICk7CnwgfQp8IAp8IHZvaWQgKnl5cmVhbGxvYyAgKHZvaWQgKiBwdHIsIHl5
X3NpemVfdCAgc2l6ZSApCnwgewp8IAkvKiBUaGUgY2FzdCB0byAoY2hhciAqKSBpbiB0aGUgZm9s
bG93aW5nIGFjY29tbW9kYXRlcyBib3RoCnwgCSAqIGltcGxlbWVudGF0aW9ucyB0aGF0IHVzZSBj
aGFyKiBnZW5lcmljIHBvaW50ZXJzLCBhbmQgdGhvc2UKfCAJICogdGhhdCB1c2Ugdm9pZCogZ2Vu
ZXJpYyBwb2ludGVycy4gIEl0IHdvcmtzIHdpdGggdGhlIGxhdHRlcgp8IAkgKiBiZWNhdXNlIGJv
dGggQU5TSSBDIGFuZCBDKysgYWxsb3cgY2FzdGxlc3MgYXNzaWdubWVudCBmcm9tCnwgCSAqIGFu
eSBwb2ludGVyIHR5cGUgdG8gdm9pZCosIGFuZCBkZWFsIHdpdGggYXJndW1lbnQgY29udmVyc2lv
bnMKfCAJICogYXMgdGhvdWdoIGRvaW5nIGFuIGFzc2lnbm1lbnQuCnwgCSAqLwp8IAlyZXR1cm4g
KHZvaWQgKikgcmVhbGxvYyggKGNoYXIgKikgcHRyLCBzaXplICk7CnwgfQp8IAp8IHZvaWQgeXlm
cmVlICh2b2lkICogcHRyICkKfCB7CnwgCWZyZWUoIChjaGFyICopIHB0ciApOwkvKiBzZWUgeXly
ZWFsbG9jKCkgZm9yIChjaGFyICopIGNhc3QgKi8KfCB9CnwgCnwgI2RlZmluZSBZWVRBQkxFU19O
QU1FICJ5eXRhYmxlcyIKfCAKfCAjbGluZSA5ICJjb25mdGVzdC5sIgp8IAp8IAp8ICNpZmRlZiBZ
WVRFWFRfUE9JTlRFUgp8IGV4dGVybiBjaGFyICp5eXRleHQ7CnwgI2VuZGlmCnwgaW50CnwgbWFp
biAodm9pZCkKfCB7CnwgICByZXR1cm4gISB5eWxleCAoKSArICEgeXl3cmFwICgpOwp8IH0KY29u
ZmlndXJlOjE5NjQ0OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLU9zIC1tYXJj
aD1wZW50aXVtNCAtcGlwZSAgIGNvbmZ0ZXN0LmMgLWxmbCAgPiY1CmNvbmZpZ3VyZToxOTY1MDog
JD8gPSAwCmNvbmZpZ3VyZToxOTY3MTogcmVzdWx0OiAtbGZsCmNvbmZpZ3VyZToxOTY3NzogY2hl
Y2tpbmcgd2hldGhlciB5eXRleHQgaXMgYSBwb2ludGVyCmNvbmZpZ3VyZToxOTY5ODogaTY4Ni1w
Yy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgICBj
b25mdGVzdC5jIC1sZmwgID4mNQpjb25maWd1cmU6MTk3MDQ6ICQ/ID0gMApjb25maWd1cmU6MTk3
MjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTc0MjogY2hlY2tpbmcgZm9yIGJpc29uCmNvbmZp
Z3VyZToxOTc1ODogZm91bmQgL3Vzci9iaW4vYmlzb24KY29uZmlndXJlOjE5NzY5OiByZXN1bHQ6
IGJpc29uIC15CmNvbmZpZ3VyZToxOTc4MjogY2hlY2tpbmcgZm9yIGxvbmcKY29uZmlndXJlOjE5
ODEyOiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5ODE4OiAkPyA9IDAKY29uZmlndXJlOjE5ODMzOiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MTk4NDA6IGNoZWNraW5nIHNpemUgb2YgbG9uZwpjb25maWd1
cmU6MjAxNDI6IGk2ODYtcGMtbGludXgtZ251LWdjYyAtbyBjb25mdGVzdCAtT3MgLW1hcmNoPXBl
bnRpdW00IC1waXBlICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToyMDE0NTogJD8gPSAwCmNv
bmZpZ3VyZToyMDE1MTogLi9jb25mdGVzdApjb25maWd1cmU6MjAxNTQ6ICQ/ID0gMApjb25maWd1
cmU6MjAxNzc6IHJlc3VsdDogNApjb25maWd1cmU6MjAxODc6IGNoZWNraW5nIGZvciBsb25nIGxv
bmcKY29uZmlndXJlOjIwMjE3OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1w
ZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwMjIzOiAkPyA9IDAKY29u
ZmlndXJlOjIwMjM4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAyNDU6IGNoZWNraW5nIHNpemUg
b2YgbG9uZyBsb25nCmNvbmZpZ3VyZToyMDU0NzogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1vIGNv
bmZ0ZXN0IC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgICBjb25mdGVzdC5jICA+JjUKY29uZmln
dXJlOjIwNTUwOiAkPyA9IDAKY29uZmlndXJlOjIwNTU2OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToy
MDU1OTogJD8gPSAwCmNvbmZpZ3VyZToyMDU4MjogcmVzdWx0OiA4CmNvbmZpZ3VyZToyMDU5Mjog
Y2hlY2tpbmcgZm9yIGxvbmcgZG91YmxlCmNvbmZpZ3VyZToyMDYyMjogaTY4Ni1wYy1saW51eC1n
bnUtZ2NjIC1jIC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp
Z3VyZToyMDYyODogJD8gPSAwCmNvbmZpZ3VyZToyMDY0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjIwNjUwOiBjaGVja2luZyBzaXplIG9mIGxvbmcgZG91YmxlCmNvbmZpZ3VyZToyMDk1MjogaTY4
Ni1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUg
ICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjIwOTU1OiAkPyA9IDAKY29uZmlndXJlOjIwOTYx
OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyMDk2NDogJD8gPSAwCmNvbmZpZ3VyZToyMDk4NzogcmVz
dWx0OiAxMgpjb25maWd1cmU6MjEwMTE6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6
MjEwMTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTE1MTogY2hlY2tpbmcgd2hldGhlciBzdHJ1
Y3QgcnVzYWdlIGlzIGRlY2xhcmVkIGluIDxzeXMvcmVzb3VyY2UuaD4KY29uZmlndXJlOjIxMTgw
OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgY29u
ZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MjExODY6ICQ/ID0gMApjb25maWd1cmU6MjEyMDI6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToyMTIzMTogY2hlY2tpbmcgcmVhZGxpbmUvcmVhZGxpbmUuaCB1
c2FiaWxpdHkKY29uZmlndXJlOjIxMjQ4OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMgLU9zIC1t
YXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MjEyNTQ6ICQ/
ID0gMApjb25maWd1cmU6MjEyNjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTI3MjogY2hlY2tp
bmcgcmVhZGxpbmUvcmVhZGxpbmUuaCBwcmVzZW5jZQpjb25maWd1cmU6MjEyODc6IGk2ODYtcGMt
bGludXgtZ251LWcrKyAtRSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToyMTI5MzogJD8gPSAwCmNv
bmZpZ3VyZToyMTMwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMzQwOiBjaGVja2luZyBmb3Ig
cmVhZGxpbmUvcmVhZGxpbmUuaApjb25maWd1cmU6MjEzNDg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZToyMTIzMTogY2hlY2tpbmcgcmVhZGxpbmUvaGlzdG9yeS5oIHVzYWJpbGl0eQpjb25maWd1cmU6
MjEyNDg6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPXBlbnRpdW00IC1waXBl
ICBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZToyMTI1NDogJD8gPSAwCmNvbmZpZ3VyZToyMTI2
ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMjcyOiBjaGVja2luZyByZWFkbGluZS9oaXN0b3J5
LmggcHJlc2VuY2UKY29uZmlndXJlOjIxMjg3OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLUUgIGNv
bmZ0ZXN0LmNwcApjb25maWd1cmU6MjEyOTM6ICQ/ID0gMApjb25maWd1cmU6MjEzMDc6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZToyMTM0MDogY2hlY2tpbmcgZm9yIHJlYWRsaW5lL2hpc3RvcnkuaApj
b25maWd1cmU6MjEzNDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTM3NjogY2hlY2tpbmcgZm9y
IHRnZXRlbnQKY29uZmlndXJlOjIxNDMyOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLW8gY29uZnRl
c3QgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgIGNvbmZ0ZXN0LmNwcCAgPiY1Ci92YXIvdG1w
L3BvcnRhZ2Uvc2NpLW1hdGhlbWF0aWNzL2dpbmFjLTEuMy43L3RlbXAvY2N3c1RtUTgubzogSW4g
ZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5jcHA6KC50ZXh0KzB4MTIpOiB1bmRlZmluZWQgcmVm
ZXJlbmNlIHRvIGB0Z2V0ZW50Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpj
b25maWd1cmU6MjE0Mzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv
KiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR2lOYUMiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImdpbmFjIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjMu
NyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHaU5hQyAxLjMuNyIKfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICI8Z2luYWMtbGlzdEBnaW5hYy5kZT4iCnwgI2RlZmluZSBQQUNLQUdFICJn
aW5hYyIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMy43Igp8ICNkZWZpbmUgQVJDSElWRV9WRVJTSU9O
IDIKfCAjZGVmaW5lIEFSQ0hJVkVfQUdFIDIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg
SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF
X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO
SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRF
UiAxCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA0CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgK
fCAjZGVmaW5lIFNJWkVPRl9MT05HX0RPVUJMRSAxMgp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
CnwgI2RlZmluZSBIQVZFX1JVU0FHRQp8ICNkZWZpbmUgSEFWRV9SRUFETElORV9SRUFETElORV9I
IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTkVfSElTVE9SWV9IIDEKfCAvKiBlbmQgY29uZmRlZnMu
aC4gICovCnwgLyogRGVmaW5lIHRnZXRlbnQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh
c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyB0Z2V0ZW50Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAx
MWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgdGdldGVu
dCBpbm5vY3VvdXNfdGdldGVudAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1
YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNv
bmZsaWN0IHdpdGggY2hhciB0Z2V0ZW50ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMu
aD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGlt
aXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNp
ZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUg
PGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiB0Z2V0ZW50CnwgCnwgLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo
YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciB0
Z2V0ZW50ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu
ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0
aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRl
ZmluZWQgX19zdHViX3RnZXRlbnQgfHwgZGVmaW5lZCBfX3N0dWJfX190Z2V0ZW50CnwgY2hva2Ug
bWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiB0Z2V0ZW50ICgpOwp8
ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjE0NTY6IHJlc3VsdDogbm8KY29uZmln
dXJlOjIxNDY5OiBjaGVja2luZyBmb3IgdGdldGVudCBpbiAtbG5jdXJzZXMKY29uZmlndXJlOjIx
NTA0OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLW8gY29uZnRlc3QgLU9zIC1tYXJjaD1wZW50aXVt
NCAtcGlwZSAgIGNvbmZ0ZXN0LmNwcCAtbG5jdXJzZXMgICA+JjUKY29uZmlndXJlOjIxNTEwOiAk
PyA9IDAKY29uZmlndXJlOjIxNTI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE2MDk6IGNoZWNr
aW5nIGZvciByZWFkbGluZSBpbiAtbHJlYWRsaW5lCmNvbmZpZ3VyZToyMTY0NDogaTY4Ni1wYy1s
aW51eC1nbnUtZysrIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgICBjb25m
dGVzdC5jcHAgLWxyZWFkbGluZSAgLWxuY3Vyc2VzICA+JjUKY29uZmlndXJlOjIxNjUwOiAkPyA9
IDAKY29uZmlndXJlOjIxNjY4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE2ODA6IGNoZWNraW5n
IGZvciB2ZXJzaW9uIG9mIGxpYnJlYWRsaW5lCmNvbmZpZ3VyZToyMTcxNTogaTY4Ni1wYy1saW51
eC1nbnUtZysrIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgICBjb25mdGVz
dC5jcHAgLWxyZWFkbGluZSAtbG5jdXJzZXMgID4mNQpjb25maWd1cmU6MjE3MTg6ICQ/ID0gMApj
b25maWd1cmU6MjE3MjQ6IC4vY29uZnRlc3QKY29uZmlndXJlOjIxNzI3OiAkPyA9IDAKY29uZmln
dXJlOjIxNzQ0OiByZXN1bHQ6IDUuMgpjb25maWd1cmU6MjE4MDE6IGNoZWNraW5nIGlvc2Z3ZCB1
c2FiaWxpdHkKY29uZmlndXJlOjIxODE4OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMgLU9zIC1t
YXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MjE4MjQ6ICQ/
ID0gMApjb25maWd1cmU6MjE4Mzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTg0MjogY2hlY2tp
bmcgaW9zZndkIHByZXNlbmNlCmNvbmZpZ3VyZToyMTg1NzogaTY4Ni1wYy1saW51eC1nbnUtZysr
IC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjIxODYzOiAkPyA9IDAKY29uZmlndXJlOjIxODc3
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE5MTA6IGNoZWNraW5nIGZvciBpb3Nmd2QKY29uZmln
dXJlOjIxOTE3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE5NDI6IGNoZWNraW5nIGlvc3RyZWFt
IHVzYWJpbGl0eQpjb25maWd1cmU6MjE5NTk6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3Mg
LW1hcmNoPXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZToyMTk2NTog
JD8gPSAwCmNvbmZpZ3VyZToyMTk3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxOTgzOiBjaGVj
a2luZyBpb3N0cmVhbSBwcmVzZW5jZQpjb25maWd1cmU6MjE5OTg6IGk2ODYtcGMtbGludXgtZ251
LWcrKyAtRSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToyMjAwNDogJD8gPSAwCmNvbmZpZ3VyZToy
MjAxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMDUxOiBjaGVja2luZyBmb3IgaW9zdHJlYW0K
Y29uZmlndXJlOjIyMDU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjIwODM6IGNoZWNraW5nIHZl
Y3RvciB1c2FiaWxpdHkKY29uZmlndXJlOjIyMTAwOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMg
LU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MjIx
MDY6ICQ/ID0gMApjb25maWd1cmU6MjIxMjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjEyNDog
Y2hlY2tpbmcgdmVjdG9yIHByZXNlbmNlCmNvbmZpZ3VyZToyMjEzOTogaTY4Ni1wYy1saW51eC1n
bnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjIyMTQ1OiAkPyA9IDAKY29uZmlndXJl
OjIyMTU5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjIxOTI6IGNoZWNraW5nIGZvciB2ZWN0b3IK
Y29uZmlndXJlOjIyMTk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjIyMjQ6IGNoZWNraW5nIGxp
c3QgdXNhYmlsaXR5CmNvbmZpZ3VyZToyMjI0MTogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1jIC1P
cyAtbWFyY2g9cGVudGl1bTQgLXBpcGUgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIyMjQ3
OiAkPyA9IDAKY29uZmlndXJlOjIyMjYxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjIyNjU6IGNo
ZWNraW5nIGxpc3QgcHJlc2VuY2UKY29uZmlndXJlOjIyMjgwOiBpNjg2LXBjLWxpbnV4LWdudS1n
KysgLUUgIGNvbmZ0ZXN0LmNwcApjb25maWd1cmU6MjIyODY6ICQ/ID0gMApjb25maWd1cmU6MjIz
MDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjMzMzogY2hlY2tpbmcgZm9yIGxpc3QKY29uZmln
dXJlOjIyMzQwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjIzNjU6IGNoZWNraW5nIG1hcCB1c2Fi
aWxpdHkKY29uZmlndXJlOjIyMzgyOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMgLU9zIC1tYXJj
aD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MjIzODg6ICQ/ID0g
MApjb25maWd1cmU6MjI0MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjQwNjogY2hlY2tpbmcg
bWFwIHByZXNlbmNlCmNvbmZpZ3VyZToyMjQyMTogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1FICBj
b25mdGVzdC5jcHAKY29uZmlndXJlOjIyNDI3OiAkPyA9IDAKY29uZmlndXJlOjIyNDQxOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MjI0NzQ6IGNoZWNraW5nIGZvciBtYXAKY29uZmlndXJlOjIyNDgx
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI1MDY6IGNoZWNraW5nIHN0cmluZyB1c2FiaWxpdHkK
Y29uZmlndXJlOjIyNTIzOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMgLU9zIC1tYXJjaD1wZW50
aXVtNCAtcGlwZSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MjI1Mjk6ICQ/ID0gMApjb25m
aWd1cmU6MjI1NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjU0NzogY2hlY2tpbmcgc3RyaW5n
IHByZXNlbmNlCmNvbmZpZ3VyZToyMjU2MjogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1FICBjb25m
dGVzdC5jcHAKY29uZmlndXJlOjIyNTY4OiAkPyA9IDAKY29uZmlndXJlOjIyNTgyOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MjI2MTU6IGNoZWNraW5nIGZvciBzdHJpbmcKY29uZmlndXJlOjIyNjIy
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI2NDc6IGNoZWNraW5nIHNzdHJlYW0gdXNhYmlsaXR5
CmNvbmZpZ3VyZToyMjY2NDogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1jIC1PcyAtbWFyY2g9cGVu
dGl1bTQgLXBpcGUgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIyNjcwOiAkPyA9IDAKY29u
ZmlndXJlOjIyNjg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI2ODg6IGNoZWNraW5nIHNzdHJl
YW0gcHJlc2VuY2UKY29uZmlndXJlOjIyNzAzOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLUUgIGNv
bmZ0ZXN0LmNwcApjb25maWd1cmU6MjI3MDk6ICQ/ID0gMApjb25maWd1cmU6MjI3MjM6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZToyMjc1NjogY2hlY2tpbmcgZm9yIHNzdHJlYW0KY29uZmlndXJlOjIy
NzYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI3ODg6IGNoZWNraW5nIHR5cGVpbmZvIHVzYWJp
bGl0eQpjb25maWd1cmU6MjI4MDU6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNo
PXBlbnRpdW00IC1waXBlICBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZToyMjgxMTogJD8gPSAw
CmNvbmZpZ3VyZToyMjgyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyODI5OiBjaGVja2luZyB0
eXBlaW5mbyBwcmVzZW5jZQpjb25maWd1cmU6MjI4NDQ6IGk2ODYtcGMtbGludXgtZ251LWcrKyAt
RSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToyMjg1MDogJD8gPSAwCmNvbmZpZ3VyZToyMjg2NDog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyODk3OiBjaGVja2luZyBmb3IgdHlwZWluZm8KY29uZmln
dXJlOjIyOTA0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI5Mjk6IGNoZWNraW5nIHN0ZGV4Y2Vw
dCB1c2FiaWxpdHkKY29uZmlndXJlOjIyOTQ2OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMgLU9z
IC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MjI5NTI6
ICQ/ID0gMApjb25maWd1cmU6MjI5NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjk3MDogY2hl
Y2tpbmcgc3RkZXhjZXB0IHByZXNlbmNlCmNvbmZpZ3VyZToyMjk4NTogaTY4Ni1wYy1saW51eC1n
bnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjIyOTkxOiAkPyA9IDAKY29uZmlndXJl
OjIzMDA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMwMzg6IGNoZWNraW5nIGZvciBzdGRleGNl
cHQKY29uZmlndXJlOjIzMDQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMwNzA6IGNoZWNraW5n
IGFsZ29yaXRobSB1c2FiaWxpdHkKY29uZmlndXJlOjIzMDg3OiBpNjg2LXBjLWxpbnV4LWdudS1n
KysgLWMgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1
cmU6MjMwOTM6ICQ/ID0gMApjb25maWd1cmU6MjMxMDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy
MzExMTogY2hlY2tpbmcgYWxnb3JpdGhtIHByZXNlbmNlCmNvbmZpZ3VyZToyMzEyNjogaTY4Ni1w
Yy1saW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjIzMTMyOiAkPyA9IDAK
Y29uZmlndXJlOjIzMTQ2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMxNzk6IGNoZWNraW5nIGZv
ciBhbGdvcml0aG0KY29uZmlndXJlOjIzMTg2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMyMTE6
IGNoZWNraW5nIGxpbWl0cyB1c2FiaWxpdHkKY29uZmlndXJlOjIzMjI4OiBpNjg2LXBjLWxpbnV4
LWdudS1nKysgLWMgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAgY29uZnRlc3QuY3BwID4mNQpj
b25maWd1cmU6MjMyMzQ6ICQ/ID0gMApjb25maWd1cmU6MjMyNDg6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToyMzI1MjogY2hlY2tpbmcgbGltaXRzIHByZXNlbmNlCmNvbmZpZ3VyZToyMzI2NzogaTY4
Ni1wYy1saW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjIzMjczOiAkPyA9
IDAKY29uZmlndXJlOjIzMjg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMzMjA6IGNoZWNraW5n
IGZvciBsaW1pdHMKY29uZmlndXJlOjIzMzI3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjM1MjU6
IGNoZWNraW5nIGZvciBjbG4tY29uZmlnCmNvbmZpZ3VyZToyMzU0MzogZm91bmQgL3Vzci9iaW4v
Y2xuLWNvbmZpZwpjb25maWd1cmU6MjM1NTY6IHJlc3VsdDogL3Vzci9iaW4vY2xuLWNvbmZpZwpj
b25maWd1cmU6MjM1NjU6IGNoZWNraW5nIGZvciBDTE4gLSB2ZXJzaW9uID49IDEuMS4wCmNvbmZp
Z3VyZToyMzY2NzogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9
cGVudGl1bTQgLXBpcGUgICAgY29uZnRlc3QuY3BwICAtTC91c3IvbGliIC1sY2xuIC1sZ21wID4m
NQpjb25maWd1cmU6MjM2NzA6ICQ/ID0gMApjb25maWd1cmU6MjM2NzY6IC4vY29uZnRlc3QKLi9j
b25maWd1cmU6IGxpbmUgMjM2Nzc6ICA5MzU2IFNlZ21lbnRhdGlvbiBmYXVsdCAgICAgIC4vY29u
ZnRlc3QkYWNfZXhlZXh0CmNvbmZpZ3VyZToyMzY3OTogJD8gPSAxMzkKY29uZmlndXJlOiBwcm9n
cmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxMzkKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdpTmFDIgp8ICNk
ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnaW5hYyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
MS4zLjciCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR2lOYUMgMS4zLjciCnwgI2RlZmluZSBQ
QUNLQUdFX0JVR1JFUE9SVCAiPGdpbmFjLWxpc3RAZ2luYWMuZGU+Igp8ICNkZWZpbmUgUEFDS0FH
RSAiZ2luYWMiCnwgI2RlZmluZSBWRVJTSU9OICIxLjMuNyIKfCAjZGVmaW5lIEFSQ0hJVkVfVkVS
U0lPTiAyCnwgI2RlZmluZSBBUkNISVZFX0FHRSAyCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgWVlURVhUX1BP
SU5URVIgMQp8ICNkZWZpbmUgU0laRU9GX0xPTkcgNAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9O
RyA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19ET1VCTEUgMTIKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQp8ICNkZWZpbmUgSEFWRV9SVVNBR0UKfCAjZGVmaW5lIEhBVkVfUkVBRExJTkVfUkVBRExJ
TkVfSCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5FX0hJU1RPUllfSCAxCnwgI2RlZmluZSBIQVZF
X0xJQlJFQURMSU5FIDEKfCAjZGVmaW5lIFJFQUxMWV9IQVZFX0xJQlJFQURMSU5FCnwgI2RlZmlu
ZSBHSU5BQ19STF9WRVJTSU9OX01BSk9SIDUKfCAjZGVmaW5lIEdJTkFDX1JMX1ZFUlNJT05fTUlO
T1IgMgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAj
aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2luY2x1ZGUgPGNsbi92ZXJzaW9uLmg+CnwgCnwgLyogd2Ug
ZG8gbm90ICNpbmNsdWRlIDxzdGRsaWIuaD4gYmVjYXVzZSBhdXRvY29uZiBpbiBDKysgbW9kZSBp
bnNlcnRzIGEKfCAgICBwcm90b3R5cGUgZm9yIGV4aXQoKSB0aGF0IGNvbmZsaWN0cyB3aXRoIHRo
ZSBvbmUgaW4gc3RkbGliLmggKi8KfCBleHRlcm4gIkMiIGludCBzeXN0ZW0oY29uc3QgY2hhciAq
KTsKfCAKfCBpbnQgbWFpbih2b2lkKQp8IHsKfCAgICAgc3lzdGVtKCJ0b3VjaCBjb25mLmNsbnRl
c3QiKTsKfCAKfCAgICAgaWYgKChDTF9WRVJTSU9OX01BSk9SICE9IDEpIHx8CnwgICAgICAgICAo
Q0xfVkVSU0lPTl9NSU5PUiAhPSAxKSB8fAp8ICAgICAgICAgKENMX1ZFUlNJT05fUEFUQ0hMRVZF
TCAhPSAxMykpIHsKfCAgICAgICAgIHByaW50ZigiXG4qKiogJ2Nsbi1jb25maWcgLS12ZXJzaW9u
JyByZXR1cm5lZCAlZC4lZC4lZCwgYnV0IHRoZSBoZWFkZXIgZmlsZSBJIGZvdW5kXG4iLCAxLCAx
LCAxMyk7CnwgICAgICAgICBwcmludGYoIioqKiBjb3JyZXNwb25kcyB0byAlZC4lZC4lZC4gVGhp
cyBtaXNtYXRjaCBzdWdnZXN0cyB5b3VyIGluc3RhbGxhdGlvbiBvZiBDTE5cbiIsIENMX1ZFUlNJ
T05fTUFKT1IsIENMX1ZFUlNJT05fTUlOT1IsIENMX1ZFUlNJT05fUEFUQ0hMRVZFTCk7CnwgICAg
ICAgICBwcmludGYoIioqKiBpcyBjb3JydXB0ZWQgb3IgeW91IGhhdmUgc3BlY2lmaWVkIHNvbWUg
d3JvbmcgLUkgY29tcGlsZXIgZmxhZ3MuXG4iKTsKfCAgICAgICAgIHByaW50ZigiKioqIFBsZWFz
ZSBpbnF1aXJlIGFuZCBjb25zaWRlciByZWluc3RhbGxpbmcgQ0xOLlxuIik7CnwgICAgICAgICBy
ZXR1cm4gMTsKfCAgICAgfQp8ICAgICBpZiAoKGNsbjo6dmVyc2lvbl9tYWpvciAhPSAxKSB8fAp8
ICAgICAgICAgKGNsbjo6dmVyc2lvbl9taW5vciAhPSAxKSB8fAp8ICAgICAgICAgKGNsbjo6dmVy
c2lvbl9wYXRjaGxldmVsICE9IDEzKSkgewp8ICAgICAgICAgcHJpbnRmKCJcbioqKiAnY2xuLWNv
bmZpZyAtLXZlcnNpb24nIHJldHVybmVkICVkLiVkLiVkLCBidXQgdGhlIGxpYnJhcnkgSSBmb3Vu
ZFxuIiwgMSwgMSwgMTMpOwp8ICAgICAgICAgcHJpbnRmKCIqKiogY29ycmVzcG9uZHMgdG8gJWQu
JWQuJWQuIFRoaXMgbWlzbWF0Y2ggc3VnZ2VzdHMgeW91ciBpbnN0YWxsYXRpb24gb2YgQ0xOXG4i
LCBjbG46OnZlcnNpb25fbWFqb3IsIGNsbjo6dmVyc2lvbl9taW5vciwgY2xuOjp2ZXJzaW9uX3Bh
dGNobGV2ZWwpOwp8ICAgICAgICAgcHJpbnRmKCIqKiogaXMgY29ycnVwdGVkIG9yIHlvdSBoYXZl
IHNwZWNpZmllZCBzb21lIHdyb25nIC1MIGNvbXBpbGVyIGZsYWdzLlxuIik7CnwgICAgICAgICBw
cmludGYoIioqKiBQbGVhc2UgaW5xdWlyZSBhbmQgY29uc2lkZXIgcmVpbnN0YWxsaW5nIENMTi5c
biIpOwp8ICAgICAgICAgcmV0dXJuIDE7CnwgICAgIH0KfCAgICAgcmV0dXJuIDA7CnwgfQp8IApj
b25maWd1cmU6MjM3MDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzNzM1OiBpNjg2LXBjLWxpbnV4
LWdudS1nKysgLW8gY29uZnRlc3QgLU9zIC1tYXJjaD1wZW50aXVtNCAtcGlwZSAtT3MgLW1hcmNo
PXBlbnRpdW00IC1waXBlICAgY29uZnRlc3QuY3BwICAtTC91c3IvbGliIC1sY2xuIC1sZ21wID4m
NQpjb25maWd1cmU6MjM3NDE6ICQ/ID0gMApjb25maWd1cmU6MjM3OTA6IGNoZWNraW5nIGZvciBk
b3h5Z2VuCmNvbmZpZ3VyZToyMzgwODogZm91bmQgL3Vzci9iaW4vZG94eWdlbgpjb25maWd1cmU6
MjM4MjE6IHJlc3VsdDogL3Vzci9iaW4vZG94eWdlbgpjb25maWd1cmU6MjM4NDE6IGNoZWNraW5n
IGZvciBsYXRleApjb25maWd1cmU6MjM4NTk6IGZvdW5kIC91c3IvYmluL2xhdGV4CmNvbmZpZ3Vy
ZToyMzg3MjogcmVzdWx0OiAvdXNyL2Jpbi9sYXRleApjb25maWd1cmU6MjM4ODI6IGNoZWNraW5n
IGZvciBwZGZsYXRleApjb25maWd1cmU6MjM5MDA6IGZvdW5kIC91c3IvYmluL3BkZmxhdGV4CmNv
bmZpZ3VyZToyMzkxMzogcmVzdWx0OiAvdXNyL2Jpbi9wZGZsYXRleApjb25maWd1cmU6MjM5MjM6
IGNoZWNraW5nIGZvciBtYWtlaW5kZXgKY29uZmlndXJlOjIzOTQxOiBmb3VuZCAvdXNyL2Jpbi9t
YWtlaW5kZXgKY29uZmlndXJlOjIzOTU0OiByZXN1bHQ6IC91c3IvYmluL21ha2VpbmRleApjb25m
aWd1cmU6MjM5NjQ6IGNoZWNraW5nIGZvciBkdmlwcwpjb25maWd1cmU6MjM5ODI6IGZvdW5kIC91
c3IvYmluL2R2aXBzCmNvbmZpZ3VyZToyMzk5NTogcmVzdWx0OiAvdXNyL2Jpbi9kdmlwcwpjb25m
aWd1cmU6MjQwMTU6IGNoZWNraW5nIGZvciBmaWcyZGV2CmNvbmZpZ3VyZToyNDA0OTogcmVzdWx0
OiBubwpjb25maWd1cmU6MjQyMTE6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwoKIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR2lOYUMgY29u
ZmlnLnN0YXR1cyAxLjMuNywgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42
MS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBD
T05GSUdfSEVBREVSUyAgPSAKICBDT05GSUdfTElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMg
PSAKICAkIC4vY29uZmlnLnN0YXR1cyAKCm9uIHBhcHlydXMKCmNvbmZpZy5zdGF0dXM6NzEyOiBj
cmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgR2lOYUMuc3BlYwpj
b25maWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgZ2luYWMtY29uZmlnCmNvbmZpZy5zdGF0dXM6NzEy
OiBjcmVhdGluZyBnaW5hYy1jb25maWcuMQpjb25maWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgZ2lu
YWMucGMKY29uZmlnLnN0YXR1czo3MTI6IGNyZWF0aW5nIGdpbmFjL01ha2VmaWxlCmNvbmZpZy5z
dGF0dXM6NzEyOiBjcmVhdGluZyBnaW5hYy92ZXJzaW9uLmgKY29uZmlnLnN0YXR1czo3MTI6IGNy
ZWF0aW5nIGNoZWNrL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6NzEyOiBjcmVhdGluZyBnaW5zaC9N
YWtlZmlsZQpjb25maWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgZ2luc2gvZ2luc2guMQpjb25maWcu
c3RhdHVzOjcxMjogY3JlYXRpbmcgdG9vbHMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czo3MTI6IGNy
ZWF0aW5nIHRvb2xzL3ZpZXdnYXIuMQpjb25maWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgZG9jL01h
a2VmaWxlCmNvbmZpZy5zdGF0dXM6NzEyOiBjcmVhdGluZyBkb2MvdHV0b3JpYWwvTWFrZWZpbGUK
Y29uZmlnLnN0YXR1czo3MTI6IGNyZWF0aW5nIGRvYy9yZWZlcmVuY2UvTWFrZWZpbGUKY29uZmln
LnN0YXR1czo3MTI6IGNyZWF0aW5nIGRvYy9yZWZlcmVuY2UvRG94eWZpbGVIVE1MCmNvbmZpZy5z
dGF0dXM6NzEyOiBjcmVhdGluZyBkb2MvcmVmZXJlbmNlL0RveHlmaWxlVEVYCmNvbmZpZy5zdGF0
dXM6NzEyOiBjcmVhdGluZyBkb2MvcmVmZXJlbmNlL0RveHlmaWxlUERGCmNvbmZpZy5zdGF0dXM6
NzEyOiBjcmVhdGluZyBkb2MvcmVmZXJlbmNlL0RveHlmb290ZXIKY29uZmlnLnN0YXR1czo3MTI6
IGNyZWF0aW5nIGNvbmZpZy5oCmNvbmZpZy5zdGF0dXM6OTkzOiBleGVjdXRpbmcgZGVwZmlsZXMg
Y29tbWFuZHMKY29uZmlnLnN0YXR1czo5OTM6IGV4ZWN1dGluZyBkZWZhdWx0IGNvbW1hbmRzCgoj
IyAtLS0tLS0tLS0tLS0tLS0tICMjCiMjIENhY2hlIHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0t
LS0tLS0tLSAjIwoKYWNfY3ZfYnVpbGQ9aTY4Ni1wYy1saW51eC1nbnUKYWNfY3ZfY19jb21waWxl
cl9nbnU9eWVzCmFjX2N2X2N4eF9jb21waWxlcl9nbnU9eWVzCmFjX2N2X2Vudl9DQ0Nfc2V0PQph
Y19jdl9lbnZfQ0NDX3ZhbHVlPQphY19jdl9lbnZfQ0Nfc2V0PQphY19jdl9lbnZfQ0NfdmFsdWU9
CmFjX2N2X2Vudl9DRkxBR1Nfc2V0PXNldAphY19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPSctT3MgLW1h
cmNoPXBlbnRpdW00IC1waXBlJwphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PQphY19jdl9lbnZfQ1BQ
RkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBfc2V0PQphY19jdl9lbnZfQ1BQX3ZhbHVlPQphY19j
dl9lbnZfQ1hYQ1BQX3NldD0KYWNfY3ZfZW52X0NYWENQUF92YWx1ZT0KYWNfY3ZfZW52X0NYWEZM
QUdTX3NldD1zZXQKYWNfY3ZfZW52X0NYWEZMQUdTX3ZhbHVlPSctT3MgLW1hcmNoPXBlbnRpdW00
IC1waXBlJwphY19jdl9lbnZfQ1hYX3NldD0KYWNfY3ZfZW52X0NYWF92YWx1ZT0KYWNfY3ZfZW52
X0Y3N19zZXQ9CmFjX2N2X2Vudl9GNzdfdmFsdWU9CmFjX2N2X2Vudl9GRkxBR1Nfc2V0PQphY19j
dl9lbnZfRkZMQUdTX3ZhbHVlPQphY19jdl9lbnZfTERGTEFHU19zZXQ9CmFjX2N2X2Vudl9MREZM
QUdTX3ZhbHVlPQphY19jdl9lbnZfTElCU19zZXQ9CmFjX2N2X2Vudl9MSUJTX3ZhbHVlPQphY19j
dl9lbnZfWUFDQ19zZXQ9CmFjX2N2X2Vudl9ZQUNDX3ZhbHVlPQphY19jdl9lbnZfWUZMQUdTX3Nl
dD0KYWNfY3ZfZW52X1lGTEFHU192YWx1ZT0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD1zZXQK
YWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPWk2ODYtcGMtbGludXgtZ251CmFjX2N2X2Vudl9o
b3N0X2FsaWFzX3NldD1zZXQKYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFsdWU9aTY4Ni1wYy1saW51
eC1nbnUKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNf
dmFsdWU9CmFjX2N2X2Y3N19jb21waWxlcl9nbnU9eWVzCmFjX2N2X2Z1bmNfdGdldGVudD1ubwph
Y19jdl9oYXZlX3J1c2FnZT15ZXMKYWNfY3ZfaGVhZGVyX2FsZ29yaXRobT15ZXMKYWNfY3ZfaGVh
ZGVyX2RsZmNuX2g9eWVzCmFjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXllcwphY19jdl9oZWFkZXJf
aW9zZndkPXllcwphY19jdl9oZWFkZXJfaW9zdHJlYW09eWVzCmFjX2N2X2hlYWRlcl9saW1pdHM9
eWVzCmFjX2N2X2hlYWRlcl9saXN0PXllcwphY19jdl9oZWFkZXJfbWFwPXllcwphY19jdl9oZWFk
ZXJfbWVtb3J5X2g9eWVzCmFjX2N2X2hlYWRlcl9yZWFkbGluZV9oaXN0b3J5X2g9eWVzCmFjX2N2
X2hlYWRlcl9yZWFkbGluZV9yZWFkbGluZV9oPXllcwphY19jdl9oZWFkZXJfc3N0cmVhbT15ZXMK
YWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRleGNlcHQ9eWVzCmFjX2N2X2hl
YWRlcl9zdGRpbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGxpYl9oPXllcwphY19jdl9oZWFkZXJf
c3RyaW5nPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdz
X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3R5cGVz
X2g9eWVzCmFjX2N2X2hlYWRlcl90eXBlaW5mbz15ZXMKYWNfY3ZfaGVhZGVyX3VuaXN0ZF9oPXll
cwphY19jdl9oZWFkZXJfdmVjdG9yPXllcwphY19jdl9ob3N0PWk2ODYtcGMtbGludXgtZ251CmFj
X2N2X2xpYl9sZXg9LWxmbAphY19jdl9saWJfbmN1cnNlc190Z2V0ZW50PXllcwphY19jdl9saWJf
cmVhZGxpbmVfcmVhZGxpbmU9eWVzCmFjX2N2X29iamV4dD1vCmFjX2N2X3BhdGhfQ0xOX0NPTkZJ
Rz0vdXNyL2Jpbi9jbG4tY29uZmlnCmFjX2N2X3BhdGhfRE9YWUdFTj0vdXNyL2Jpbi9kb3h5Z2Vu
CmFjX2N2X3BhdGhfRFZJUFM9L3Vzci9iaW4vZHZpcHMKYWNfY3ZfcGF0aF9FR1JFUD0nL2Jpbi9n
cmVwIC1FJwphY19jdl9wYXRoX0ZJRzJERVY9CmFjX2N2X3BhdGhfR1JFUD0vYmluL2dyZXAKYWNf
Y3ZfcGF0aF9MQVRFWD0vdXNyL2Jpbi9sYXRleAphY19jdl9wYXRoX01BS0VJTkRFWD0vdXNyL2Jp
bi9tYWtlaW5kZXgKYWNfY3ZfcGF0aF9QREZMQVRFWD0vdXNyL2Jpbi9wZGZsYXRleAphY19jdl9w
YXRoX2luc3RhbGw9Jy9iaW4vaW5zdGFsbCAtYycKYWNfY3ZfcHJvZ19BUj1pNjg2LXBjLWxpbnV4
LWdudS1hcgphY19jdl9wcm9nX0FXSz1nYXdrCmFjX2N2X3Byb2dfQ0M9aTY4Ni1wYy1saW51eC1n
bnUtZ2NjCmFjX2N2X3Byb2dfQ1BQPSdpNjg2LXBjLWxpbnV4LWdudS1nY2MgLUUnCmFjX2N2X3By
b2dfQ1hYPWk2ODYtcGMtbGludXgtZ251LWcrKwphY19jdl9wcm9nX0NYWENQUD0naTY4Ni1wYy1s
aW51eC1nbnUtZysrIC1FJwphY19jdl9wcm9nX0Y3Nz1pNjg2LXBjLWxpbnV4LWdudS1nZm9ydHJh
bgphY19jdl9wcm9nX0xFWD1mbGV4CmFjX2N2X3Byb2dfUkFOTElCPWk2ODYtcGMtbGludXgtZ251
LXJhbmxpYgphY19jdl9wcm9nX1NUUklQPWk2ODYtcGMtbGludXgtZ251LXN0cmlwCmFjX2N2X3By
b2dfWUFDQz0nYmlzb24gLXknCmFjX2N2X3Byb2dfY2NfYzg5PQphY19jdl9wcm9nX2NjX2c9eWVz
CmFjX2N2X3Byb2dfY3h4X2c9eWVzCmFjX2N2X3Byb2dfZjc3X2c9eWVzCmFjX2N2X3Byb2dfbGV4
X3Jvb3Q9bGV4Lnl5CmFjX2N2X3Byb2dfbGV4X3l5dGV4dF9wb2ludGVyPXllcwphY19jdl9wcm9n
X21ha2VfbWFrZV9zZXQ9eWVzCmFjX2N2X3NpemVvZl9sb25nPTQKYWNfY3Zfc2l6ZW9mX2xvbmdf
ZG91YmxlPTEyCmFjX2N2X3NpemVvZl9sb25nX2xvbmc9OAphY19jdl90eXBlX2xvbmc9eWVzCmFj
X2N2X3R5cGVfbG9uZ19kb3VibGU9eWVzCmFjX2N2X3R5cGVfbG9uZ19sb25nPXllcwphbV9jdl9D
Q19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2MzCmFtX2N2X0NYWF9kZXBlbmRlbmNpZXNf
Y29tcGlsZXJfdHlwZT1nY2MzCmdpbmFjX2N2X3JsdmVyc2lvbj01LjIKbHRfY3ZfZGVwbGlic19j
aGVja19tZXRob2Q9cGFzc19hbGwKbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRNQUdJQ19DTUQnCmx0
X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPQpsdF9jdl9sZF9yZWxvYWRfZmxhZz0tcgpsdF9jdl9v
YmpkaXI9LmxpYnMKbHRfY3ZfcGF0aF9MRD0vdXNyL2k2ODYtcGMtbGludXgtZ251L2Jpbi9sZAps
dF9jdl9wYXRoX0xEQ1hYPS91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkCmx0X2N2X3BhdGhf
Tk09Jy91c3IvYmluL25tIC1CJwpsdF9jdl9wYXRoX1NFRD0vYmluL3NlZApsdF9jdl9wcm9nX2Nv
bXBpbGVyX2Nfbz15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fQ1hYPXllcwpsdF9jdl9wcm9n
X2NvbXBpbGVyX2Nfb19GNzc9eWVzCmx0X2N2X3Byb2dfY29tcGlsZXJfcnR0aV9leGNlcHRpb25z
PW5vCmx0X2N2X3Byb2dfZ251X2xkPXllcwpsdF9jdl9wcm9nX2dudV9sZGN4eD15ZXMKbHRfY3Zf
c3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nc2VkIC1uIC1lICdcJydzL14uKlsgCV1cKFtBQkNER0lS
U1RXXVtBQkNER0lSU1RXXSpcKVsgCV1bIAldKlwoW19BLVphLXpdW19BLVphLXowLTldKlwpJC9c
MSBcMiBcMi9wJ1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9
J3NlZCAtbiAtZSAnXCcncy9eOiBcKFteIF0qXCkgJC8gIHtcIlwxXCIsIChsdF9wdHIpIDB9LC9w
J1wnJyAtZSAnXCcncy9eW0JDREVHUlNUXSBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHsiXDIiLCAo
bHRfcHRyKSBcJlwyfSwvcCdcJycnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdz
ZWQgLW4gLWUgJ1wnJ3MvXi4gLiogXCguKlwpJC9leHRlcm4gaW50IFwxOy9wJ1wnJycKbHRfY3Zf
c3lzX21heF9jbWRfbGVuPTMyNzY4Cmx0X2x0X2N2X3Byb2dfY29tcGlsZXJfY19vPScieWVzIicK
bHRfbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fQ1hYPScieWVzIicKbHRfbHRfY3ZfcHJvZ19jb21w
aWxlcl9jX29fRjc3PScieWVzIicKbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nInNl
ZCAtbiAtZSAnXCcncy9eLipbIAldXFwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlxcKVsgCV1b
IAldKlxcKFtfQS1aYS16XVtfQS1aYS16MC05XSpcXClcJC9cXDEgXFwyIFxcMi9wJ1wnJyInCmx0
X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPScic2VkIC1uIC1lICdc
JydzL146IFxcKFteIF0qXFwpIFwkLyAge1xcXCJcXDFcXFwiLCAobHRfcHRyKSAwfSwvcCdcJycg
LWUgJ1wnJ3MvXltCQ0RFR1JTVF0gXFwoW14gXSpcXCkgXFwoW14gXSpcXClcJC8gIHtcIlxcMlwi
LCAobHRfcHRyKSBcXCZcXDJ9LC9wJ1wnJyInCmx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3Rv
X2NkZWNsPScic2VkIC1uIC1lICdcJydzL14uIC4qIFxcKC4qXFwpXCQvZXh0ZXJuIGludCBcXDE7
L3AnXCcnIicKCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMuICMj
CiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCgpBQ0xPQ0FMPScke1NIRUxMfSAvdmFyL3RtcC9wb3J0
YWdlL3NjaS1tYXRoZW1hdGljcy9naW5hYy0xLjMuNy93b3JrL2dpbmFjLTEuMy43L21pc3Npbmcg
LS1ydW4gYWNsb2NhbC0xLjknCkFNREVQQkFDS1NMQVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1E
RVBfVFJVRT0nJwpBTVRBUj0nJHtTSEVMTH0gL3Zhci90bXAvcG9ydGFnZS9zY2ktbWF0aGVtYXRp
Y3MvZ2luYWMtMS4zLjcvd29yay9naW5hYy0xLjMuNy9taXNzaW5nIC0tcnVuIHRhcicKQVI9J2k2
ODYtcGMtbGludXgtZ251LWFyJwpBUkNISVZFX0FHRT0nMicKQVJDSElWRV9WRVJTSU9OPScyJwpB
VVRPQ09ORj0nJHtTSEVMTH0gL3Zhci90bXAvcG9ydGFnZS9zY2ktbWF0aGVtYXRpY3MvZ2luYWMt
MS4zLjcvd29yay9naW5hYy0xLjMuNy9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRPSEVBREVS
PScke1NIRUxMfSAvdmFyL3RtcC9wb3J0YWdlL3NjaS1tYXRoZW1hdGljcy9naW5hYy0xLjMuNy93
b3JrL2dpbmFjLTEuMy43L21pc3NpbmcgLS1ydW4gYXV0b2hlYWRlcicKQVVUT01BS0U9JyR7U0hF
TEx9IC92YXIvdG1wL3BvcnRhZ2Uvc2NpLW1hdGhlbWF0aWNzL2dpbmFjLTEuMy43L3dvcmsvZ2lu
YWMtMS4zLjcvbWlzc2luZyAtLXJ1biBhdXRvbWFrZS0xLjknCkFXSz0nZ2F3aycKQ0M9J2k2ODYt
cGMtbGludXgtZ251LWdjYycKQ0NERVBNT0RFPSdkZXBtb2RlPWdjYzMnCkNGTEFHUz0nLU9zIC1t
YXJjaD1wZW50aXVtNCAtcGlwZScKQ0xOX0NPTkZJRz0nL3Vzci9iaW4vY2xuLWNvbmZpZycKQ0xO
X0NQUEZMQUdTPScnCkNMTl9MSUJTPScnCkNPTkZJR19ET1hZR0VOX0ZBTFNFPScjJwpDT05GSUdf
RE9YWUdFTl9UUlVFPScnCkNPTkZJR19GSUcyREVWX0ZBTFNFPScnCkNPTkZJR19GSUcyREVWX1RS
VUU9JyMnCkNPTkZJR19SVVNBR0U9J3llcycKQ09ORklHX1RFWF9GQUxTRT0nIycKQ09ORklHX1RF
WF9UUlVFPScnCkNQUD0naTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1FJwpDUFBGTEFHUz0nJwpDWFg9
J2k2ODYtcGMtbGludXgtZ251LWcrKycKQ1hYQ1BQPSdpNjg2LXBjLWxpbnV4LWdudS1nKysgLUUn
CkNYWERFUE1PREU9J2RlcG1vZGU9Z2NjMycKQ1hYRkxBR1M9Jy1PcyAtbWFyY2g9cGVudGl1bTQg
LXBpcGUnCkNZR1BBVEhfVz0nZWNobycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5k
ZXBzJwpET1hZR0VOPScvdXNyL2Jpbi9kb3h5Z2VuJwpEVklQUz0nL3Vzci9iaW4vZHZpcHMnCkVD
SE89J2VjaG8nCkVDSE9fQz0nJwpFQ0hPX049Jy1uJwpFQ0hPX1Q9JycKRUdSRVA9Jy9iaW4vZ3Jl
cCAtRScKRVhFRVhUPScnCkY3Nz0naTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRyYW4nCkZGTEFHUz0n
LWcgLU8yJwpGSUcyREVWPScnCkdJTkFDTElCX0NQUEZMQUdTPScnCkdJTkFDTElCX0xJQlM9JycK
R0lOQUNMSUJfTUFKT1JfVkVSU0lPTj0nMScKR0lOQUNMSUJfTUlDUk9fVkVSU0lPTj0nNycKR0lO
QUNMSUJfTUlOT1JfVkVSU0lPTj0nMycKR0lOQUNMSUJfVkVSU0lPTj0nMS4zLjcnCkdJTlNIX0xJ
QlM9Jy1scmVhZGxpbmUgLWxuY3Vyc2VzICcKR1JFUD0nL2Jpbi9ncmVwJwpJTlNUQUxMX0RBVEE9
JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX1BST0dSQU09JyR7SU5TVEFMTH0nCklOU1RBTExf
U0NSSVBUPScke0lOU1RBTEx9JwpJTlNUQUxMX1NUUklQX1BST0dSQU09JyR7U0hFTEx9ICQoaW5z
dGFsbF9zaCkgLWMgLXMnCkxBVEVYPScvdXNyL2Jpbi9sYXRleCcKTERGTEFHUz0nJwpMRVg9J2Zs
ZXgnCkxFWExJQj0nLWxmbCcKTEVYX09VVFBVVF9ST09UPSdsZXgueXknCkxJQk9CSlM9JycKTElC
Uz0nJwpMSUJURVJNQ0FQPSctbG5jdXJzZXMnCkxJQlRPT0w9JyQoU0hFTEwpICQodG9wX2J1aWxk
ZGlyKS9saWJ0b29sJwpMTl9TPSdsbiAtcycKTFRMSUJPQkpTPScnCkxUX1JFTEVBU0U9JzEuMycK
TFRfVkVSU0lPTl9JTkZPPSczOjQ6MScKTUFLRUlOREVYPScvdXNyL2Jpbi9tYWtlaW5kZXgnCk1B
S0VJTkZPPScke1NIRUxMfSAvdmFyL3RtcC9wb3J0YWdlL3NjaS1tYXRoZW1hdGljcy9naW5hYy0x
LjMuNy93b3JrL2dpbmFjLTEuMy43L21pc3NpbmcgLS1ydW4gbWFrZWluZm8nCk9CSkVYVD0nbycK
UEFDS0FHRT0nZ2luYWMnClBBQ0tBR0VfQlVHUkVQT1JUPSc8Z2luYWMtbGlzdEBnaW5hYy5kZT4n
ClBBQ0tBR0VfTkFNRT0nR2lOYUMnClBBQ0tBR0VfU1RSSU5HPSdHaU5hQyAxLjMuNycKUEFDS0FH
RV9UQVJOQU1FPSdnaW5hYycKUEFDS0FHRV9WRVJTSU9OPScxLjMuNycKUEFUSF9TRVBBUkFUT1I9
JzonClBERkxBVEVYPScvdXNyL2Jpbi9wZGZsYXRleCcKUkFOTElCPSdpNjg2LXBjLWxpbnV4LWdu
dS1yYW5saWInClNFVF9NQUtFPScnClNIRUxMPScvYmluL3NoJwpTVFJJUD0naTY4Ni1wYy1saW51
eC1nbnUtc3RyaXAnClZFUlNJT049JzEuMy43JwpZQUNDPSdiaXNvbiAteScKWUZMQUdTPScnCmFj
X2N0X0NDPScnCmFjX2N0X0NYWD0nJwphY19jdF9GNzc9JycKYW1fX2Zhc3RkZXBDQ19GQUxTRT0n
IycKYW1fX2Zhc3RkZXBDQ19UUlVFPScnCmFtX19mYXN0ZGVwQ1hYX0ZBTFNFPScjJwphbV9fZmFz
dGRlcENYWF9UUlVFPScnCmFtX19pbmNsdWRlPSdpbmNsdWRlJwphbV9fbGVhZGluZ19kb3Q9Jy4n
CmFtX19xdW90ZT0nJwphbV9fdGFyPScke0FNVEFSfSBjaG9mIC0gIiQkdGFyZGlyIicKYW1fX3Vu
dGFyPScke0FNVEFSfSB4ZiAtJwpiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L2JpbicKYnVpbGQ9J2k2
ODYtcGMtbGludXgtZ251JwpidWlsZF9hbGlhcz0naTY4Ni1wYy1saW51eC1nbnUnCmJ1aWxkX2Nw
dT0naTY4NicKYnVpbGRfb3M9J2xpbnV4LWdudScKYnVpbGRfdmVuZG9yPSdwYycKZGF0YWRpcj0n
L3Vzci9zaGFyZScKZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScKZG9jZGlyPScke2RhdGFy
b290ZGlyfS9kb2MvJHtQQUNLQUdFX1RBUk5BTUV9JwpkdmlkaXI9JyR7ZG9jZGlyfScKZXhlY19w
cmVmaXg9JyR7cHJlZml4fScKaG9zdD0naTY4Ni1wYy1saW51eC1nbnUnCmhvc3RfYWxpYXM9J2k2
ODYtcGMtbGludXgtZ251Jwpob3N0X2NwdT0naTY4NicKaG9zdF9vcz0nbGludXgtZ251Jwpob3N0
X3ZlbmRvcj0ncGMnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2lu
Y2x1ZGUnCmluZm9kaXI9Jy91c3Ivc2hhcmUvaW5mbycKaW5zdGFsbF9zaD0nL3Zhci90bXAvcG9y
dGFnZS9zY2ktbWF0aGVtYXRpY3MvZ2luYWMtMS4zLjcvd29yay9naW5hYy0xLjMuNy9pbnN0YWxs
LXNoJwpsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYicKbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZp
eH0vbGliZXhlYycKbG9jYWxlZGlyPScke2RhdGFyb290ZGlyfS9sb2NhbGUnCmxvY2Fsc3RhdGVk
aXI9Jy92YXIvbGliJwptYW5kaXI9Jy91c3Ivc2hhcmUvbWFuJwpta2Rpcl9wPSdta2RpciAtcCAt
LScKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7ZG9jZGlyfScKcHJlZml4
PScvdXNyJwpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdzLHgseCwnCnBzZGlyPScke2RvY2Rpcn0n
CnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCnNoYXJlZHN0YXRlZGlyPScke3ByZWZpeH0v
Y29tJwpzeXNjb25mZGlyPScvZXRjJwp0YXJnZXRfYWxpYXM9JycKCiMjIC0tLS0tLS0tLS0tICMj
CiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgojZGVmaW5lIFBBQ0tBR0VfTkFN
RSAiR2lOYUMiCiNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnaW5hYyIKI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjEuMy43IgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHaU5hQyAxLjMuNyIKI2Rl
ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiPGdpbmFjLWxpc3RAZ2luYWMuZGU+IgojZGVmaW5lIFBB
Q0tBR0UgImdpbmFjIgojZGVmaW5lIFZFUlNJT04gIjEuMy43IgojZGVmaW5lIEFSQ0hJVkVfVkVS
U0lPTiAyCiNkZWZpbmUgQVJDSElWRV9BR0UgMgojZGVmaW5lIFNURENfSEVBREVSUyAxCiNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1NUUklOR19IIDEKI2RlZmluZSBIQVZFX01FTU9S
WV9IIDEKI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
I2RlZmluZSBIQVZFX1NURElOVF9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBI
QVZFX0RMRkNOX0ggMQojZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKI2RlZmluZSBTSVpFT0ZfTE9O
RyA0CiNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CiNkZWZpbmUgU0laRU9GX0xPTkdfRE9VQkxF
IDEyCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgSEFWRV9SVVNBR0UKI2RlZmluZSBI
QVZFX1JFQURMSU5FX1JFQURMSU5FX0ggMQojZGVmaW5lIEhBVkVfUkVBRExJTkVfSElTVE9SWV9I
IDEKI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKI2RlZmluZSBSRUFMTFlfSEFWRV9MSUJSRUFE
TElORQojZGVmaW5lIEdJTkFDX1JMX1ZFUlNJT05fTUFKT1IgNQojZGVmaW5lIEdJTkFDX1JMX1ZF
UlNJT05fTUlOT1IgMgoKY29uZmlndXJlOiBleGl0IDEK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>116796</attachid>
            <date>2007-04-20 13:09 0000</date>
            <desc>config.log on AMD machine</desc>
            <filename>config.log</filename>
            <type>text/plain</type>
            <data encoding="base64">VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IEdpTmFDIGNvbmZpZ3VyZSAxLjMuNywgd2hp
Y2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42MS4gIEludm9jYXRpb24gY29tbWFu
ZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1ob3N0PWk2ODYtcGMt
bGludXgtZ251IC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuIC0taW5mb2Rpcj0vdXNyL3NoYXJlL2lu
Zm8gLS1kYXRhZGlyPS91c3Ivc2hhcmUgLS1zeXNjb25mZGlyPS9ldGMgLS1sb2NhbHN0YXRlZGly
PS92YXIvbGliIC0tYnVpbGQ9aTY4Ni1wYy1saW51eC1nbnUKCiMjIC0tLS0tLS0tLSAjIwojIyBQ
bGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IGJhcnRlY2tpCnVuYW1lIC1t
ID0gaTY4Ngp1bmFtZSAtciA9IDIuNi4xOS1yYzYtbW0yCnVuYW1lIC1zID0gTGludXgKdW5hbWUg
LXYgPSAjMSBNb24gTWFyIDE5IDE5OjU0OjU0IENFVCAyMDA3CgovdXNyL2Jpbi91bmFtZSAtcCA9
IHVua25vd24KL2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAg
ICAgID0gaTY4NgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bgovdXNyL2NvbnZleC9n
ZXRzeXNpbmZvID0gdW5rbm93bgovdXNyL2Jpbi9ob3N0aW5mbyAgICAgID0gdW5rbm93bgovYmlu
L21hY2hpbmUgICAgICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gdW5r
bm93bgovYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDogL3Vzci9sb2NhbC9z
YmluClBBVEg6IC9zYmluClBBVEg6IC91c3Ivc2JpbgpQQVRIOiAvdXNyL2xpYi9wb3J0YWdlL2Jp
bgpQQVRIOiAvdXNyL2xvY2FsL2JpbgpQQVRIOiAvYmluClBBVEg6IC91c3IvYmluClBBVEg6IC9v
cHQvYmluClBBVEg6IC91c3IvaTY4Ni1wYy1saW51eC1nbnUvZ2NjLWJpbi80LjEuMgpQQVRIOiAv
dXNyL2k2ODYtcGMtbGludXgtZ251L2k1ODYtcGMtbGludXgtZ251L2djYy1iaW4vNC4xLjEKUEFU
SDogL3Vzci9pNjg2LXBjLWxpbnV4LWdudS9nY2MtYmluLzMuMy41ClBBVEg6IC9vcHQvc3VuLWpk
ay0xLjQuMi4xMy9iaW4KUEFUSDogL29wdC9zdW4tamRrLTEuNC4yLjEzL2pyZS9iaW4KUEFUSDog
L29wdC9zdW4tamRrLTEuNC4yLjEzL2pyZS9qYXZhd3MKUEFUSDogL3Vzci9rZGUvMy41L3NiaW4K
UEFUSDogL3Vzci9rZGUvMy41L2JpbgpQQVRIOiAvdXNyL3F0LzMvYmluCgoKIyMgLS0tLS0tLS0t
LS0gIyMKIyMgQ29yZSB0ZXN0cy4gIyMKIyMgLS0tLS0tLS0tLS0gIyMKCmNvbmZpZ3VyZToyMDIz
OiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZToyMDc5OiBy
ZXN1bHQ6IC91c3IvYmluL2luc3RhbGwgLWMKY29uZmlndXJlOjIwOTA6IGNoZWNraW5nIHdoZXRo
ZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6MjEzMzogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjIxOTg6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZToyMjE0OiBmb3VuZCAv
YmluL2dhd2sKY29uZmlndXJlOjIyMjU6IHJlc3VsdDogZ2F3awpjb25maWd1cmU6MjIzNjogY2hl
Y2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6MjI1NzogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjI0OTI6IGNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdudS1nKysKY29u
ZmlndXJlOjI1MDg6IGZvdW5kIC91c3IvYmluL2k2ODYtcGMtbGludXgtZ251LWcrKwpjb25maWd1
cmU6MjUxOTogcmVzdWx0OiBpNjg2LXBjLWxpbnV4LWdudS1nKysKY29uZmlndXJlOjI1OTQ6IGNo
ZWNraW5nIGZvciBDKysgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MjYwMTogaTY4Ni1wYy1s
aW51eC1nbnUtZysrIC0tdmVyc2lvbiA+JjUKaTY4Ni1wYy1saW51eC1nbnUtZysrIChHQ0MpIDQu
MS4yIChHZW50b28gNC4xLjIpCkNvcHlyaWdodCAoQykgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29w
eWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1
cmU6MjYwNDogJD8gPSAwCmNvbmZpZ3VyZToyNjExOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLXYg
PiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpUYXJnZXQ6IGk2ODYtcGMtbGludXgtZ251CkNvbmZp
Z3VyZWQgd2l0aDogL3Zhci90bXAvcG9ydGFnZS9zeXMtZGV2ZWwvZ2NjLTQuMS4yL3dvcmsvZ2Nj
LTQuMS4yL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyIC0tYmluZGlyPS91c3IvaTY4Ni1wYy1saW51
eC1nbnUvZ2NjLWJpbi80LjEuMiAtLWluY2x1ZGVkaXI9L3Vzci9saWIvZ2NjL2k2ODYtcGMtbGlu
dXgtZ251LzQuMS4yL2luY2x1ZGUgLS1kYXRhZGlyPS91c3Ivc2hhcmUvZ2NjLWRhdGEvaTY4Ni1w
Yy1saW51eC1nbnUvNC4xLjIgLS1tYW5kaXI9L3Vzci9zaGFyZS9nY2MtZGF0YS9pNjg2LXBjLWxp
bnV4LWdudS80LjEuMi9tYW4gLS1pbmZvZGlyPS91c3Ivc2hhcmUvZ2NjLWRhdGEvaTY4Ni1wYy1s
aW51eC1nbnUvNC4xLjIvaW5mbyAtLXdpdGgtZ3h4LWluY2x1ZGUtZGlyPS91c3IvbGliL2djYy9p
Njg2LXBjLWxpbnV4LWdudS80LjEuMi9pbmNsdWRlL2crKy12NCAtLWhvc3Q9aTY4Ni1wYy1saW51
eC1nbnUgLS1idWlsZD1pNjg2LXBjLWxpbnV4LWdudSAtLWRpc2FibGUtYWx0aXZlYyAtLWVuYWJs
ZS1ubHMgLS13aXRob3V0LWluY2x1ZGVkLWdldHRleHQgLS13aXRoLXN5c3RlbS16bGliIC0tZGlz
YWJsZS1jaGVja2luZyAtLWRpc2FibGUtd2Vycm9yIC0tZW5hYmxlLXNlY3VyZXBsdCAtLWRpc2Fi
bGUtbGlidW53aW5kLWV4Y2VwdGlvbnMgLS1kaXNhYmxlLW11bHRpbGliIC0tZGlzYWJsZS1saWJt
dWRmbGFwIC0tZGlzYWJsZS1saWJzc3AgLS1lbmFibGUtamF2YS1hd3Q9Z3RrIC0tZW5hYmxlLWxh
bmd1YWdlcz1jLGMrKyxqYXZhLG9iamMsb2JqLWMrKyxmb3J0cmFuIC0tZW5hYmxlLXNoYXJlZCAt
LWVuYWJsZS10aHJlYWRzPXBvc2l4IC0tZW5hYmxlLV9fY3hhX2F0ZXhpdCAtLWVuYWJsZS1jbG9j
YWxlPWdudQpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQuMS4yIChHZW50b28gNC4x
LjIpCmNvbmZpZ3VyZToyNjE0OiAkPyA9IDAKY29uZmlndXJlOjI2MjE6IGk2ODYtcGMtbGludXgt
Z251LWcrKyAtViA+JjUKaTY4Ni1wYy1saW51eC1nbnUtZysrOiAnLVYnIG9wdGlvbiBtdXN0IGhh
dmUgYXJndW1lbnQKY29uZmlndXJlOjI2MjQ6ICQ/ID0gMQpjb25maWd1cmU6MjY0NzogY2hlY2tp
bmcgZm9yIEMrKyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUKY29uZmlndXJlOjI2
NzQ6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgICBj
b25mdGVzdC5jcHAgID4mNQpjb25maWd1cmU6MjY3NzogJD8gPSAwCmNvbmZpZ3VyZToyNzE1OiBy
ZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZToyNzMyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29t
cGlsZXIgd29ya3MKY29uZmlndXJlOjI3NDI6IC4vYS5vdXQKY29uZmlndXJlOjI3NDU6ICQ/ID0g
MApjb25maWd1cmU6Mjc2MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3Njk6IGNoZWNraW5nIHdo
ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZwpjb25maWd1cmU6Mjc3MTogcmVzdWx0OiBubwpj
b25maWd1cmU6Mjc3NDogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcwpjb25maWd1
cmU6Mjc4MTogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9YXRo
bG9uLXhwIC1waXBlICAgIGNvbmZ0ZXN0LmNwcCAgPiY1CmNvbmZpZ3VyZToyNzg0OiAkPyA9IDAK
Y29uZmlndXJlOjI4MDg6IHJlc3VsdDogCmNvbmZpZ3VyZToyODE0OiBjaGVja2luZyBmb3Igc3Vm
Zml4IG9mIG9iamVjdCBmaWxlcwpjb25maWd1cmU6Mjg0MDogaTY4Ni1wYy1saW51eC1nbnUtZysr
IC1jIC1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1
cmU6Mjg0MzogJD8gPSAwCmNvbmZpZ3VyZToyODY2OiByZXN1bHQ6IG8KY29uZmlndXJlOjI4NzA6
IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQysrIGNvbXBpbGVyCmNvbmZp
Z3VyZToyODk5OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMgLU9zIC1tYXJjaD1hdGhsb24teHAg
LXBpcGUgICBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZToyOTA1OiAkPyA9IDAKY29uZmlndXJl
OjI5MjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTI3OiBjaGVja2luZyB3aGV0aGVyIGk2ODYt
cGMtbGludXgtZ251LWcrKyBhY2NlcHRzIC1nCmNvbmZpZ3VyZToyOTU3OiBpNjg2LXBjLWxpbnV4
LWdudS1nKysgLWMgLWcgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjI5NjM6ICQ/ID0gMApj
b25maWd1cmU6MzA2MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMwOTY6IGNoZWNraW5nIGZvciBz
dHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZQpjb25maWd1cmU6MzEyNDogcmVzdWx0OiBHTlUK
Y29uZmlndXJlOjMxNTI6IGNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgaTY4Ni1wYy1saW51
eC1nbnUtZysrCmNvbmZpZ3VyZTozMjQyOiByZXN1bHQ6IGdjYzMKY29uZmlndXJlOjMyNjQ6IGNo
ZWNraW5nIGhvdyB0byBydW4gdGhlIEMrKyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjMzMDA6IGk2
ODYtcGMtbGludXgtZ251LWcrKyAtRSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZTozMzA2OiAkPyA9
IDAKY29uZmlndXJlOjMzMzc6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtRSAgY29uZnRlc3QuY3Bw
CmNvbmZ0ZXN0LmNwcDoxMjoyODogZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjMzNDM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw
cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi
R2lOYUMiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdpbmFjIgp8ICNkZWZpbmUgUEFDS0FH
RV9WRVJTSU9OICIxLjMuNyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHaU5hQyAxLjMuNyIK
fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICI8Z2luYWMtbGlzdEBnaW5hYy5kZT4iCnwgI2Rl
ZmluZSBQQUNLQUdFICJnaW5hYyIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMy43Igp8ICNkZWZpbmUg
QVJDSElWRV9WRVJTSU9OIDIKfCAjZGVmaW5lIEFSQ0hJVkVfQUdFIDIKfCAvKiBlbmQgY29uZmRl
ZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTozMzc2OiBy
ZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtRQpjb25maWd1cmU6MzQwNTogaTY4Ni1wYy1s
aW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjM0MTE6ICQ/ID0gMApjb25m
aWd1cmU6MzQ0MjogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZnRl
c3QuY3BwOjEyOjI4OiBlcnJvcjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb25maWd1cmU6MzQ0ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHaU5hQyIK
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2luYWMiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ
T04gIjEuMy43Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdpTmFDIDEuMy43Igp8ICNkZWZp
bmUgUEFDS0FHRV9CVUdSRVBPUlQgIjxnaW5hYy1saXN0QGdpbmFjLmRlPiIKfCAjZGVmaW5lIFBB
Q0tBR0UgImdpbmFjIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4zLjciCnwgI2RlZmluZSBBUkNISVZF
X1ZFUlNJT04gMgp8ICNkZWZpbmUgQVJDSElWRV9BR0UgMgp8IC8qIGVuZCBjb25mZGVmcy5oLiAg
Ki8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjM0OTg6IGNoZWNraW5n
IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjM1NTQ6IHJlc3VsdDogL3Vz
ci9iaW4vaW5zdGFsbCAtYwpjb25maWd1cmU6MzY0MzogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5
cGUKY29uZmlndXJlOjM2NjE6IHJlc3VsdDogaTY4Ni1wYy1saW51eC1nbnUKY29uZmlndXJlOjM2
ODM6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUKY29uZmlndXJlOjM2OTg6IHJlc3VsdDogaTY4
Ni1wYy1saW51eC1nbnUKY29uZmlndXJlOjM3Mjg6IGNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4
LWdudS1nY2MKY29uZmlndXJlOjM3NDQ6IGZvdW5kIC91c3IvYmluL2k2ODYtcGMtbGludXgtZ251
LWdjYwpjb25maWd1cmU6Mzc1NTogcmVzdWx0OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MKY29uZmln
dXJlOjQwMzM6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjQwNDA6
IGk2ODYtcGMtbGludXgtZ251LWdjYyAtLXZlcnNpb24gPiY1Cmk2ODYtcGMtbGludXgtZ251LWdj
YyAoR0NDKSA0LjEuMiAoR2VudG9vIDQuMS4yKQpDb3B5cmlnaHQgKEMpIDIwMDYgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3Vy
Y2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZl
biBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LgoKY29uZmlndXJlOjQwNDM6ICQ/ID0gMApjb25maWd1cmU6NDA1MDogaTY4Ni1wYy1saW51eC1n
bnUtZ2NjIC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KVGFyZ2V0OiBpNjg2LXBjLWxpbnV4
LWdudQpDb25maWd1cmVkIHdpdGg6IC92YXIvdG1wL3BvcnRhZ2Uvc3lzLWRldmVsL2djYy00LjEu
Mi93b3JrL2djYy00LjEuMi9jb25maWd1cmUgLS1wcmVmaXg9L3VzciAtLWJpbmRpcj0vdXNyL2k2
ODYtcGMtbGludXgtZ251L2djYy1iaW4vNC4xLjIgLS1pbmNsdWRlZGlyPS91c3IvbGliL2djYy9p
Njg2LXBjLWxpbnV4LWdudS80LjEuMi9pbmNsdWRlIC0tZGF0YWRpcj0vdXNyL3NoYXJlL2djYy1k
YXRhL2k2ODYtcGMtbGludXgtZ251LzQuMS4yIC0tbWFuZGlyPS91c3Ivc2hhcmUvZ2NjLWRhdGEv
aTY4Ni1wYy1saW51eC1nbnUvNC4xLjIvbWFuIC0taW5mb2Rpcj0vdXNyL3NoYXJlL2djYy1kYXRh
L2k2ODYtcGMtbGludXgtZ251LzQuMS4yL2luZm8gLS13aXRoLWd4eC1pbmNsdWRlLWRpcj0vdXNy
L2xpYi9nY2MvaTY4Ni1wYy1saW51eC1nbnUvNC4xLjIvaW5jbHVkZS9nKystdjQgLS1ob3N0PWk2
ODYtcGMtbGludXgtZ251IC0tYnVpbGQ9aTY4Ni1wYy1saW51eC1nbnUgLS1kaXNhYmxlLWFsdGl2
ZWMgLS1lbmFibGUtbmxzIC0td2l0aG91dC1pbmNsdWRlZC1nZXR0ZXh0IC0td2l0aC1zeXN0ZW0t
emxpYiAtLWRpc2FibGUtY2hlY2tpbmcgLS1kaXNhYmxlLXdlcnJvciAtLWVuYWJsZS1zZWN1cmVw
bHQgLS1kaXNhYmxlLWxpYnVud2luZC1leGNlcHRpb25zIC0tZGlzYWJsZS1tdWx0aWxpYiAtLWRp
c2FibGUtbGlibXVkZmxhcCAtLWRpc2FibGUtbGlic3NwIC0tZW5hYmxlLWphdmEtYXd0PWd0ayAt
LWVuYWJsZS1sYW5ndWFnZXM9YyxjKyssamF2YSxvYmpjLG9iai1jKyssZm9ydHJhbiAtLWVuYWJs
ZS1zaGFyZWQgLS1lbmFibGUtdGhyZWFkcz1wb3NpeCAtLWVuYWJsZS1fX2N4YV9hdGV4aXQgLS1l
bmFibGUtY2xvY2FsZT1nbnUKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0LjEuMiAo
R2VudG9vIDQuMS4yKQpjb25maWd1cmU6NDA1MzogJD8gPSAwCmNvbmZpZ3VyZTo0MDYwOiBpNjg2
LXBjLWxpbnV4LWdudS1nY2MgLVYgPiY1Cmk2ODYtcGMtbGludXgtZ251LWdjYzogJy1WJyBvcHRp
b24gbXVzdCBoYXZlIGFyZ3VtZW50CmNvbmZpZ3VyZTo0MDYzOiAkPyA9IDEKY29uZmlndXJlOjQw
NjY6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlcgpjb25m
aWd1cmU6NDA5NTogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1PcyAtbWFyY2g9YXRobG9uLXhw
IC1waXBlICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQxMDE6ICQ/ID0gMApjb25maWd1cmU6
NDExODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxMjM6IGNoZWNraW5nIHdoZXRoZXIgaTY4Ni1w
Yy1saW51eC1nbnUtZ2NjIGFjY2VwdHMgLWcKY29uZmlndXJlOjQxNTM6IGk2ODYtcGMtbGludXgt
Z251LWdjYyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQxNTk6ICQ/ID0gMApjb25m
aWd1cmU6NDI1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQyNzU6IGNoZWNraW5nIGZvciBpNjg2
LXBjLWxpbnV4LWdudS1nY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5CmNvbmZpZ3VyZTo0MzQ5
OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgIC1jIC1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNTU6ICQ/ID0gMApjb25maWd1cmU6NDM3ODogcmVz
dWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6NDM5ODogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls
ZSBvZiBpNjg2LXBjLWxpbnV4LWdudS1nY2MKY29uZmlndXJlOjQ0ODg6IHJlc3VsdDogZ2NjMwpj
b25maWd1cmU6NDUwNTogY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUg
b3V0cHV0CmNvbmZpZ3VyZTo0NTU5OiByZXN1bHQ6IC9iaW4vc2VkCmNvbmZpZ3VyZTo0NTYyOiBj
aGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUKY29uZmlndXJl
OjQ2MzY6IHJlc3VsdDogL2Jpbi9ncmVwCmNvbmZpZ3VyZTo0NjQxOiBjaGVja2luZyBmb3IgZWdy
ZXAKY29uZmlndXJlOjQ3MTk6IHJlc3VsdDogL2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo0NzM1OiBj
aGVja2luZyBmb3IgbGQgdXNlZCBieSBpNjg2LXBjLWxpbnV4LWdudS1nY2MKY29uZmlndXJlOjQ4
MDI6IHJlc3VsdDogL3Vzci9pNjg2LXBjLWxpbnV4LWdudS9iaW4vbGQKY29uZmlndXJlOjQ4MTE6
IGNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkKSBp
cyBHTlUgbGQKY29uZmlndXJlOjQ4MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODMxOiBjaGVj
a2luZyBmb3IgL3Vzci9pNjg2LXBjLWxpbnV4LWdudS9iaW4vbGQgb3B0aW9uIHRvIHJlbG9hZCBv
YmplY3QgZmlsZXMKY29uZmlndXJlOjQ4Mzg6IHJlc3VsdDogLXIKY29uZmlndXJlOjQ4NTY6IGNo
ZWNraW5nIGZvciBCU0QtY29tcGF0aWJsZSBubQpjb25maWd1cmU6NDkwNTogcmVzdWx0OiAvdXNy
L2Jpbi9ubSAtQgpjb25maWd1cmU6NDkwOTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpj
b25maWd1cmU6NDkxMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ5MjA6IGNoZWNraW5nIGhvdyB0
byByZWNvZ25pc2UgZGVwZW5kZW50IGxpYnJhcmllcwpjb25maWd1cmU6NTA5NjogcmVzdWx0OiBw
YXNzX2FsbApjb25maWd1cmU6NTMzMDogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9j
ZXNzb3IKY29uZmlndXJlOjUzNzA6IGk2ODYtcGMtbGludXgtZ251LWdjYyAtRSAgY29uZnRlc3Qu
Ywpjb25maWd1cmU6NTM3NjogJD8gPSAwCmNvbmZpZ3VyZTo1NDA3OiBpNjg2LXBjLWxpbnV4LWdu
dS1nY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMjoyODogZXJyb3I6IGFjX25vbmV4aXN0
ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjU0MTM6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAiR2lOYUMiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdpbmFj
Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjMuNyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS
SU5HICJHaU5hQyAxLjMuNyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICI8Z2luYWMtbGlz
dEBnaW5hYy5kZT4iCnwgI2RlZmluZSBQQUNLQUdFICJnaW5hYyIKfCAjZGVmaW5lIFZFUlNJT04g
IjEuMy43Igp8ICNkZWZpbmUgQVJDSElWRV9WRVJTSU9OIDIKfCAjZGVmaW5lIEFSQ0hJVkVfQUdF
IDIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+
CmNvbmZpZ3VyZTo1NDQ2OiByZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251LWdjYyAtRQpjb25maWd1
cmU6NTQ3NTogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1
NDgxOiAkPyA9IDAKY29uZmlndXJlOjU1MTI6IGk2ODYtcGMtbGludXgtZ251LWdjYyAtRSAgY29u
ZnRlc3QuYwpjb25mdGVzdC5jOjEyOjI4OiBlcnJvcjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NTUxODogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O
QU1FICJHaU5hQyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2luYWMiCnwgI2RlZmluZSBQ
QUNLQUdFX1ZFUlNJT04gIjEuMy43Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdpTmFDIDEu
My43Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIjxnaW5hYy1saXN0QGdpbmFjLmRlPiIK
fCAjZGVmaW5lIFBBQ0tBR0UgImdpbmFjIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4zLjciCnwgI2Rl
ZmluZSBBUkNISVZFX1ZFUlNJT04gMgp8ICNkZWZpbmUgQVJDSElWRV9BR0UgMgp8IC8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjU1
NTY6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo1NTg2OiBpNjg2
LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgICBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6NTU5MjogJD8gPSAwCmNvbmZpZ3VyZTo1NjkxOiBpNjg2LXBjLWxp
bnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgICAgY29u
ZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1Njk0OiAkPyA9IDAKY29uZmlndXJlOjU3MDA6IC4vY29u
ZnRlc3QKY29uZmlndXJlOjU3MDM6ICQ/ID0gMApjb25maWd1cmU6NTcyMDogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjU3NDQ6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6NTc2NTog
aTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICAgY29u
ZnRlc3QuYyA+JjUKY29uZmlndXJlOjU3NzE6ICQ/ID0gMApjb25maWd1cmU6NTc4NzogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjU3NDQ6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNvbmZpZ3VyZTo1
NzY1OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUg
ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTc3MTogJD8gPSAwCmNvbmZpZ3VyZTo1Nzg3OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3Vy
ZTo1NzY1OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBp
cGUgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTc3MTogJD8gPSAwCmNvbmZpZ3VyZTo1Nzg3
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDogY2hlY2tpbmcgZm9yIHN0cmluZy5oCmNvbmZp
Z3VyZTo1NzY1OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1hdGhsb24teHAg
LXBpcGUgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTc3MTogJD8gPSAwCmNvbmZpZ3VyZTo1
Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDogY2hlY2tpbmcgZm9yIG1lbW9yeS5oCmNv
bmZpZ3VyZTo1NzY1OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1hdGhsb24t
eHAgLXBpcGUgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTc3MTogJD8gPSAwCmNvbmZpZ3Vy
ZTo1Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDogY2hlY2tpbmcgZm9yIHN0cmluZ3Mu
aApjb25maWd1cmU6NTc2NTogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1PcyAtbWFyY2g9YXRo
bG9uLXhwIC1waXBlICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU3NzE6ICQ/ID0gMApjb25m
aWd1cmU6NTc4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3NDQ6IGNoZWNraW5nIGZvciBpbnR0
eXBlcy5oCmNvbmZpZ3VyZTo1NzY1OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJj
aD1hdGhsb24teHAgLXBpcGUgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTc3MTogJD8gPSAw
CmNvbmZpZ3VyZTo1Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDogY2hlY2tpbmcgZm9y
IHN0ZGludC5oCmNvbmZpZ3VyZTo1NzY1OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1t
YXJjaD1hdGhsb24teHAgLXBpcGUgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTc3MTogJD8g
PSAwCmNvbmZpZ3VyZTo1Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc0NDogY2hlY2tpbmcg
Zm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo1NzY1OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9z
IC1tYXJjaD1hdGhsb24teHAgLXBpcGUgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTc3MTog
JD8gPSAwCmNvbmZpZ3VyZTo1Nzg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTgxNDogY2hlY2tp
bmcgZGxmY24uaCB1c2FiaWxpdHkKY29uZmlndXJlOjU4MzE6IGk2ODYtcGMtbGludXgtZ251LWdj
YyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy
ZTo1ODM3OiAkPyA9IDAKY29uZmlndXJlOjU4NTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1ODU1
OiBjaGVja2luZyBkbGZjbi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1ODcwOiBpNjg2LXBjLWxpbnV4
LWdudS1nY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjU4NzY6ICQ/ID0gMApjb25maWd1cmU6
NTg5MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5MjM6IGNoZWNraW5nIGZvciBkbGZjbi5oCmNv
bmZpZ3VyZTo1OTMxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTk1NDogY2hlY2tpbmcgaG93IHRv
IHJ1biB0aGUgQysrIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NjA2NjogcmVzdWx0OiBpNjg2LXBj
LWxpbnV4LWdudS1nKysgLUUKY29uZmlndXJlOjYwOTU6IGk2ODYtcGMtbGludXgtZ251LWcrKyAt
RSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZTo2MTAxOiAkPyA9IDAKY29uZmlndXJlOjYxMzI6IGk2
ODYtcGMtbGludXgtZ251LWcrKyAtRSAgY29uZnRlc3QuY3BwCmNvbmZ0ZXN0LmNwcDoyMzoyODog
ZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln
dXJlOjYxMzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
ZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR2lOYUMiCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImdpbmFjIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjMuNyIKfCAj
ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHaU5hQyAxLjMuNyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH
UkVQT1JUICI8Z2luYWMtbGlzdEBnaW5hYy5kZT4iCnwgI2RlZmluZSBQQUNLQUdFICJnaW5hYyIK
fCAjZGVmaW5lIFZFUlNJT04gIjEuMy43Igp8ICNkZWZpbmUgQVJDSElWRV9WRVJTSU9OIDIKfCAj
ZGVmaW5lIEFSQ0hJVkVfQUdFIDIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI
QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
bmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NjE4NzogY2hlY2tpbmcgZm9yIGk2
ODYtcGMtbGludXgtZ251LWc3Nwpjb25maWd1cmU6NjIxNzogcmVzdWx0OiBubwpjb25maWd1cmU6
NjE4NzogY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LXhsZgpjb25maWd1cmU6NjIxNzog
cmVzdWx0OiBubwpjb25maWd1cmU6NjE4NzogY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251
LWY3Nwpjb25maWd1cmU6NjIxNzogcmVzdWx0OiBubwpjb25maWd1cmU6NjE4NzogY2hlY2tpbmcg
Zm9yIGk2ODYtcGMtbGludXgtZ251LWZydApjb25maWd1cmU6NjIxNzogcmVzdWx0OiBubwpjb25m
aWd1cmU6NjE4NzogY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LXBnZjc3CmNvbmZpZ3Vy
ZTo2MjE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1s
aW51eC1nbnUtY2Y3Nwpjb25maWd1cmU6NjIxNzogcmVzdWx0OiBubwpjb25maWd1cmU6NjE4Nzog
Y2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LWZvcnQ3Nwpjb25maWd1cmU6NjIxNzogcmVz
dWx0OiBubwpjb25maWd1cmU6NjE4NzogY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LWZs
MzIKY29uZmlndXJlOjYyMTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxODc6IGNoZWNraW5nIGZv
ciBpNjg2LXBjLWxpbnV4LWdudS1hZjc3CmNvbmZpZ3VyZTo2MjE3OiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUteGxmOTAKY29uZmlndXJl
OjYyMTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxODc6IGNoZWNraW5nIGZvciBpNjg2LXBjLWxp
bnV4LWdudS1mOTAKY29uZmlndXJlOjYyMTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxODc6IGNo
ZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdudS1wZ2Y5MApjb25maWd1cmU6NjIxNzogcmVzdWx0
OiBubwpjb25maWd1cmU6NjE4NzogY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LXBnaHBm
CmNvbmZpZ3VyZTo2MjE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTg3OiBjaGVja2luZyBmb3Ig
aTY4Ni1wYy1saW51eC1nbnUtZXBjZjkwCmNvbmZpZ3VyZTo2MjE3OiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZTo2MTg3OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRyYW4KY29uZmln
dXJlOjYyMDM6IGZvdW5kIC91c3IvYmluL2k2ODYtcGMtbGludXgtZ251LWdmb3J0cmFuCmNvbmZp
Z3VyZTo2MjE0OiByZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251LWdmb3J0cmFuCmNvbmZpZ3VyZTo2
Mjg4OiBjaGVja2luZyBmb3IgRm9ydHJhbiA3NyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo2
Mjk1OiBpNjg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiAtLXZlcnNpb24gPiY1CkdOVSBGb3J0cmFu
IDk1IChHQ0MpIDQuMS4yIChHZW50b28gNC4xLjIpCkNvcHlyaWdodCAoQykgMjAwNiBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KCkdOVSBGb3J0cmFuIGNvbWVzIHdpdGggTk8gV0FSUkFO
VFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KWW91IG1heSByZWRpc3RyaWJ1dGUg
Y29waWVzIG9mIEdOVSBGb3J0cmFuCnVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UuCkZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZXNlIG1hdHRlcnMs
IHNlZSB0aGUgZmlsZSBuYW1lZCBDT1BZSU5HCgpjb25maWd1cmU6NjI5ODogJD8gPSAwCmNvbmZp
Z3VyZTo2MzA1OiBpNjg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiAtdiA+JjUKVXNpbmcgYnVpbHQt
aW4gc3BlY3MuClRhcmdldDogaTY4Ni1wYy1saW51eC1nbnUKQ29uZmlndXJlZCB3aXRoOiAvdmFy
L3RtcC9wb3J0YWdlL3N5cy1kZXZlbC9nY2MtNC4xLjIvd29yay9nY2MtNC4xLjIvY29uZmlndXJl
IC0tcHJlZml4PS91c3IgLS1iaW5kaXI9L3Vzci9pNjg2LXBjLWxpbnV4LWdudS9nY2MtYmluLzQu
MS4yIC0taW5jbHVkZWRpcj0vdXNyL2xpYi9nY2MvaTY4Ni1wYy1saW51eC1nbnUvNC4xLjIvaW5j
bHVkZSAtLWRhdGFkaXI9L3Vzci9zaGFyZS9nY2MtZGF0YS9pNjg2LXBjLWxpbnV4LWdudS80LjEu
MiAtLW1hbmRpcj0vdXNyL3NoYXJlL2djYy1kYXRhL2k2ODYtcGMtbGludXgtZ251LzQuMS4yL21h
biAtLWluZm9kaXI9L3Vzci9zaGFyZS9nY2MtZGF0YS9pNjg2LXBjLWxpbnV4LWdudS80LjEuMi9p
bmZvIC0td2l0aC1neHgtaW5jbHVkZS1kaXI9L3Vzci9saWIvZ2NjL2k2ODYtcGMtbGludXgtZ251
LzQuMS4yL2luY2x1ZGUvZysrLXY0IC0taG9zdD1pNjg2LXBjLWxpbnV4LWdudSAtLWJ1aWxkPWk2
ODYtcGMtbGludXgtZ251IC0tZGlzYWJsZS1hbHRpdmVjIC0tZW5hYmxlLW5scyAtLXdpdGhvdXQt
aW5jbHVkZWQtZ2V0dGV4dCAtLXdpdGgtc3lzdGVtLXpsaWIgLS1kaXNhYmxlLWNoZWNraW5nIC0t
ZGlzYWJsZS13ZXJyb3IgLS1lbmFibGUtc2VjdXJlcGx0IC0tZGlzYWJsZS1saWJ1bndpbmQtZXhj
ZXB0aW9ucyAtLWRpc2FibGUtbXVsdGlsaWIgLS1kaXNhYmxlLWxpYm11ZGZsYXAgLS1kaXNhYmxl
LWxpYnNzcCAtLWVuYWJsZS1qYXZhLWF3dD1ndGsgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLGph
dmEsb2JqYyxvYmotYysrLGZvcnRyYW4gLS1lbmFibGUtc2hhcmVkIC0tZW5hYmxlLXRocmVhZHM9
cG9zaXggLS1lbmFibGUtX19jeGFfYXRleGl0IC0tZW5hYmxlLWNsb2NhbGU9Z251ClRocmVhZCBt
b2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gNC4xLjIgKEdlbnRvbyA0LjEuMikKY29uZmlndXJlOjYz
MDg6ICQ/ID0gMApjb25maWd1cmU6NjMxNTogaTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRyYW4gLVYg
PiY1Cmk2ODYtcGMtbGludXgtZ251LWdmb3J0cmFuOiAnLVYnIG9wdGlvbiBtdXN0IGhhdmUgYXJn
dW1lbnQKY29uZmlndXJlOjYzMTg6ICQ/ID0gMQpjb25maWd1cmU6NjMyNjogY2hlY2tpbmcgd2hl
dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBGb3J0cmFuIDc3IGNvbXBpbGVyCmNvbmZpZ3VyZTo2
MzQ1OiBpNjg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiAtYyAgY29uZnRlc3QuRiA+JjUKY29uZmln
dXJlOjYzNTE6ICQ/ID0gMApjb25maWd1cmU6NjM2ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYz
NzQ6IGNoZWNraW5nIHdoZXRoZXIgaTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRyYW4gYWNjZXB0cyAt
Zwpjb25maWd1cmU6NjM5MTogaTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRyYW4gLWMgLWcgY29uZnRl
c3QuZiA+JjUKY29uZmlndXJlOjYzOTc6ICQ/ID0gMApjb25maWd1cmU6NjQxMzogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjY0NDM6IGNoZWNraW5nIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBjb21tYW5k
IGxpbmUgYXJndW1lbnRzCmNvbmZpZ3VyZTo2NTUyOiByZXN1bHQ6IDMyNzY4CmNvbmZpZ3VyZTo2
NTYzOiBjaGVja2luZyBjb21tYW5kIHRvIHBhcnNlIC91c3IvYmluL25tIC1CIG91dHB1dCBmcm9t
IGk2ODYtcGMtbGludXgtZ251LWdjYyBvYmplY3QKY29uZmlndXJlOjY2Njg6IGk2ODYtcGMtbGlu
dXgtZ251LWdjYyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo2NjcxOiAkPyA9IDAKY29uZmlndXJlOjY2NzU6IC91c3IvYmluL25tIC1CIGNv
bmZ0ZXN0Lm8gXHwgc2VkIC1uIC1lICdzL14uKlsgCV1cKFtBQkNER0lSU1RXXVtBQkNER0lSU1RX
XSpcKVsgCV1bIAldKlwoW19BLVphLXpdW19BLVphLXowLTldKlwpJC9cMSBcMiBcMi9wJyBcPiBj
b25mdGVzdC5ubQpjb25maWd1cmU6NjY3ODogJD8gPSAwCmNvbmZpZ3VyZTo2NzMwOiBpNjg2LXBj
LWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgICAg
Y29uZnRlc3QuYyBjb25mdHN0bS5vID4mNQpjb25maWd1cmU6NjczMzogJD8gPSAwCmNvbmZpZ3Vy
ZTo2NzcxOiByZXN1bHQ6IG9rCmNvbmZpZ3VyZTo2Nzc1OiBjaGVja2luZyBmb3Igb2JqZGlyCmNv
bmZpZ3VyZTo2NzkwOiByZXN1bHQ6IC5saWJzCmNvbmZpZ3VyZTo2ODQyOiBjaGVja2luZyBmb3Ig
aTY4Ni1wYy1saW51eC1nbnUtYXIKY29uZmlndXJlOjY4NTg6IGZvdW5kIC91c3IvYmluL2k2ODYt
cGMtbGludXgtZ251LWFyCmNvbmZpZ3VyZTo2ODY5OiByZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251
LWFyCmNvbmZpZ3VyZTo2OTM4OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtcmFubGli
CmNvbmZpZ3VyZTo2OTU0OiBmb3VuZCAvdXNyL2Jpbi9pNjg2LXBjLWxpbnV4LWdudS1yYW5saWIK
Y29uZmlndXJlOjY5NjU6IHJlc3VsdDogaTY4Ni1wYy1saW51eC1nbnUtcmFubGliCmNvbmZpZ3Vy
ZTo3MDM0OiBjaGVja2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtc3RyaXAKY29uZmlndXJlOjcw
NTA6IGZvdW5kIC91c3IvYmluL2k2ODYtcGMtbGludXgtZ251LXN0cmlwCmNvbmZpZ3VyZTo3MDYx
OiByZXN1bHQ6IGk2ODYtcGMtbGludXgtZ251LXN0cmlwCmNvbmZpZ3VyZTo3Mzg3OiBjaGVja2lu
ZyBpZiBpNjg2LXBjLWxpbnV4LWdudS1nY2Mgc3VwcG9ydHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0
aW9ucwpjb25maWd1cmU6NzQwNTogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1PcyAtbWFyY2g9
YXRobG9uLXhwIC1waXBlICAgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyBjb25mdGVzdC5jID4m
NQpjYzE6IHdhcm5pbmc6IGNvbW1hbmQgbGluZSBvcHRpb24gIi1mbm8tcnR0aSIgaXMgdmFsaWQg
Zm9yIEMrKy9PYmpDKysgYnV0IG5vdCBmb3IgQwpjb25maWd1cmU6NzQwOTogJD8gPSAwCmNvbmZp
Z3VyZTo3NDIyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3NDM3OiBjaGVja2luZyBmb3IgaTY4Ni1w
Yy1saW51eC1nbnUtZ2NjIG9wdGlvbiB0byBwcm9kdWNlIFBJQwpjb25maWd1cmU6NzY0NzogcmVz
dWx0OiAtZlBJQwpjb25maWd1cmU6NzY1NTogY2hlY2tpbmcgaWYgaTY4Ni1wYy1saW51eC1nbnUt
Z2NjIFBJQyBmbGFnIC1mUElDIHdvcmtzCmNvbmZpZ3VyZTo3NjczOiBpNjg2LXBjLWxpbnV4LWdu
dS1nY2MgLWMgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgICAtZlBJQyAtRFBJQyBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6NzY3NzogJD8gPSAwCmNvbmZpZ3VyZTo3NjkwOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6NzcxODogY2hlY2tpbmcgaWYgaTY4Ni1wYy1saW51eC1nbnUtZ2NjIHN0YXRp
YyBmbGFnIC1zdGF0aWMgd29ya3MKY29uZmlndXJlOjc3NDY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo3NzU2OiBjaGVja2luZyBpZiBpNjg2LXBjLWxpbnV4LWdudS1nY2Mgc3VwcG9ydHMgLWMgLW8g
ZmlsZS5vCmNvbmZpZ3VyZTo3Nzc3OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJj
aD1hdGhsb24teHAgLXBpcGUgICAtbyBvdXQvY29uZnRlc3QyLm8gY29uZnRlc3QuYyA+JjUKY29u
ZmlndXJlOjc3ODE6ICQ/ID0gMApjb25maWd1cmU6NzgwMzogcmVzdWx0OiB5ZXMKY29uZmlndXJl
Ojc4Mjk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGk2ODYtcGMtbGludXgtZ251LWdjYyBsaW5rZXIg
KC91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVz
CmNvbmZpZ3VyZTo4NzgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODgwNDogY2hlY2tpbmcgd2hl
dGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluCmNvbmZpZ3VyZTo4ODA5OiBp
Njg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgICBjb25m
dGVzdC5jID4mNQpjb25maWd1cmU6ODgxMjogJD8gPSAwCmNvbmZpZ3VyZTo4ODI3OiBpNjg2LXBj
LWxpbnV4LWdudS1nY2MgLXNoYXJlZCBjb25mdGVzdC5vICAtdiAtV2wsLXNvbmFtZSAtV2wsY29u
ZnRlc3QgLW8gY29uZnRlc3QgMlw+XCYxIFx8IGdyZXAgIC1sYyAgXD4vZGV2L251bGwgMlw+XCYx
CmNvbmZpZ3VyZTo4ODMwOiAkPyA9IDAKY29uZmlndXJlOjg4NDI6IHJlc3VsdDogbm8KY29uZmln
dXJlOjg4NTA6IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcwpjb25maWd1
cmU6OTQzODogcmVzdWx0OiBHTlUvTGludXggbGQuc28KY29uZmlndXJlOjk0NDc6IGNoZWNraW5n
IGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMKY29uZmlndXJlOjk0
NzI6IHJlc3VsdDogaW1tZWRpYXRlCmNvbmZpZ3VyZTo5NDg2OiBjaGVja2luZyB3aGV0aGVyIHN0
cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUKY29uZmlndXJlOjk0OTE6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZToxMDI5MjogY2hlY2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGli
cmFyaWVzCmNvbmZpZ3VyZToxMDI5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMjk3OiBjaGVj
a2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjEwMzE4OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MTAzMjE6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3Rh
dGljIGxpYnJhcmllcwpjb25maWd1cmU6MTAzMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDQx
NzogY3JlYXRpbmcgbGlidG9vbApjb25maWd1cmU6MTEwMDU6IGNoZWNraW5nIGZvciBsZCB1c2Vk
IGJ5IGk2ODYtcGMtbGludXgtZ251LWcrKwpjb25maWd1cmU6MTEwNzI6IHJlc3VsdDogL3Vzci9p
Njg2LXBjLWxpbnV4LWdudS9iaW4vbGQKY29uZmlndXJlOjExMDgxOiBjaGVja2luZyBpZiB0aGUg
bGlua2VyICgvdXNyL2k2ODYtcGMtbGludXgtZ251L2Jpbi9sZCkgaXMgR05VIGxkCmNvbmZpZ3Vy
ZToxMTA5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExMTQ3OiBjaGVja2luZyB3aGV0aGVyIHRo
ZSBpNjg2LXBjLWxpbnV4LWdudS1nKysgbGlua2VyICgvdXNyL2k2ODYtcGMtbGludXgtZ251L2Jp
bi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTIwODE6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToxMjA5OTogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1jIC1PcyAtbWFyY2g9
YXRobG9uLXhwIC1waXBlICAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MTIxMDI6ICQ/ID0g
MApjb25maWd1cmU6MTIyMjE6IGNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdudS1nKysgb3B0
aW9uIHRvIHByb2R1Y2UgUElDCmNvbmZpZ3VyZToxMjQ5NTogcmVzdWx0OiAtZlBJQwpjb25maWd1
cmU6MTI1MDM6IGNoZWNraW5nIGlmIGk2ODYtcGMtbGludXgtZ251LWcrKyBQSUMgZmxhZyAtZlBJ
QyB3b3Jrcwpjb25maWd1cmU6MTI1MjE6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1h
cmNoPWF0aGxvbi14cCAtcGlwZSAgIC1mUElDIC1EUElDIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmln
dXJlOjEyNTI1OiAkPyA9IDAKY29uZmlndXJlOjEyNTM4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
MTI1NjY6IGNoZWNraW5nIGlmIGk2ODYtcGMtbGludXgtZ251LWcrKyBzdGF0aWMgZmxhZyAtc3Rh
dGljIHdvcmtzCmNvbmZpZ3VyZToxMjU5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNjA0OiBj
aGVja2luZyBpZiBpNjg2LXBjLWxpbnV4LWdudS1nKysgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNv
bmZpZ3VyZToxMjYyNTogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1jIC1PcyAtbWFyY2g9YXRobG9u
LXhwIC1waXBlICAgLW8gb3V0L2NvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJl
OjEyNjI5OiAkPyA9IDAKY29uZmlndXJlOjEyNjUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI2
Nzc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGk2ODYtcGMtbGludXgtZ251LWcrKyBsaW5rZXIgKC91
c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNv
bmZpZ3VyZToxMjcwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNzY5OiBjaGVja2luZyBkeW5h
bWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MKY29uZmlndXJlOjEzMzU3OiByZXN1bHQ6IEdOVS9M
aW51eCBsZC5zbwpjb25maWd1cmU6MTMzNjY6IGNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJy
YXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMKY29uZmlndXJlOjEzMzkxOiByZXN1bHQ6IGltbWVkaWF0
ZQpjb25maWd1cmU6MTM5MTc6IGNoZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxp
YnJhcmllcwpjb25maWd1cmU6MTM5MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzkyMjogY2hl
Y2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMzk0Mjog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTQ1OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0
YXRpYyBsaWJyYXJpZXMKY29uZmlndXJlOjEzOTQ5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM5
NTk6IGNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiBvcHRpb24gdG8gcHJv
ZHVjZSBQSUMKY29uZmlndXJlOjE0MTY5OiByZXN1bHQ6IC1mUElDCmNvbmZpZ3VyZToxNDE3Nzog
Y2hlY2tpbmcgaWYgaTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRyYW4gUElDIGZsYWcgLWZQSUMgd29y
a3MKY29uZmlndXJlOjE0MTk1OiBpNjg2LXBjLWxpbnV4LWdudS1nZm9ydHJhbiAtYyAtZyAtTzIg
LWZQSUMgY29uZnRlc3QuZiA+JjUKY29uZmlndXJlOjE0MTk5OiAkPyA9IDAKY29uZmlndXJlOjE0
MjEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQyNDA6IGNoZWNraW5nIGlmIGk2ODYtcGMtbGlu
dXgtZ251LWdmb3J0cmFuIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MKY29uZmlndXJlOjE0MjY4
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQyNzg6IGNoZWNraW5nIGlmIGk2ODYtcGMtbGludXgt
Z251LWdmb3J0cmFuIHN1cHBvcnRzIC1jIC1vIGZpbGUubwpjb25maWd1cmU6MTQyOTk6IGk2ODYt
cGMtbGludXgtZ251LWdmb3J0cmFuIC1jIC1nIC1PMiAtbyBvdXQvY29uZnRlc3QyLm8gY29uZnRl
c3QuZiA+JjUKY29uZmlndXJlOjE0MzAzOiAkPyA9IDAKY29uZmlndXJlOjE0MzI1OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MTQzNTE6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGk2ODYtcGMtbGludXgt
Z251LWdmb3J0cmFuIGxpbmtlciAoL3Vzci9pNjg2LXBjLWxpbnV4LWdudS9iaW4vbGQpIHN1cHBv
cnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjE1Mjg1OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MTUzNTI6IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcwpjb25maWd1
cmU6MTU5NDA6IHJlc3VsdDogR05VL0xpbnV4IGxkLnNvCmNvbmZpZ3VyZToxNTk0OTogY2hlY2tp
bmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBwcm9ncmFtcwpjb25maWd1cmU6
MTU5NzQ6IHJlc3VsdDogaW1tZWRpYXRlCmNvbmZpZ3VyZToxOTUzNTogY2hlY2tpbmcgZm9yIGZs
ZXgKY29uZmlndXJlOjE5NTUxOiBmb3VuZCAvdXNyL2Jpbi9mbGV4CmNvbmZpZ3VyZToxOTU2Mjog
cmVzdWx0OiBmbGV4CmNvbmZpZ3VyZToxOTU5OTogZmxleCBjb25mdGVzdC5sCmNvbmZpZ3VyZTox
OTYwMjogJD8gPSAwCmNvbmZpZ3VyZToxOTYwNDogY2hlY2tpbmcgbGV4IG91dHB1dCBmaWxlIHJv
b3QKY29uZmlndXJlOjE5NjIwOiByZXN1bHQ6IGxleC55eQpjb25maWd1cmU6MTk2MjU6IGNoZWNr
aW5nIGxleCBsaWJyYXJ5CmNvbmZpZ3VyZToxOTY0NDogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1v
IGNvbmZ0ZXN0IC1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICAgIGNvbmZ0ZXN0LmMgICA+JjUK
L3Zhci90bXAvcG9ydGFnZS9zY2ktbWF0aGVtYXRpY3MvZ2luYWMtMS4zLjcvdGVtcC9jYzE5Y0dl
by5vOiBJbiBmdW5jdGlvbiBgaW5wdXQnOgpjb25mdGVzdC5jOigudGV4dCsweGE0Nyk6IHVuZGVm
aW5lZCByZWZlcmVuY2UgdG8gYHl5d3JhcCcKL3Zhci90bXAvcG9ydGFnZS9zY2ktbWF0aGVtYXRp
Y3MvZ2luYWMtMS4zLjcvdGVtcC9jYzE5Y0dlby5vOiBJbiBmdW5jdGlvbiBgeXlsZXgnOgpjb25m
dGVzdC5jOigudGV4dCsweGYwMSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHl5d3JhcCcKL3Zh
ci90bXAvcG9ydGFnZS9zY2ktbWF0aGVtYXRpY3MvZ2luYWMtMS4zLjcvdGVtcC9jYzE5Y0dlby5v
OiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0KzB4ZmRlKTogdW5kZWZpbmVk
IHJlZmVyZW5jZSB0byBgeXl3cmFwJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1
cwpjb25maWd1cmU6MTk2NTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
fCAKfCAjbGluZSAzICJsZXgueXkuYyIKfCAKfCAjZGVmaW5lICBZWV9JTlRfQUxJR05FRCBzaG9y
dCBpbnQKfCAKfCAvKiBBIGxleGljYWwgc2Nhbm5lciBnZW5lcmF0ZWQgYnkgZmxleCAqLwp8IAp8
ICNkZWZpbmUgRkxFWF9TQ0FOTkVSCnwgI2RlZmluZSBZWV9GTEVYX01BSk9SX1ZFUlNJT04gMgp8
ICNkZWZpbmUgWVlfRkxFWF9NSU5PUl9WRVJTSU9OIDUKfCAjZGVmaW5lIFlZX0ZMRVhfU1VCTUlO
T1JfVkVSU0lPTiAzMwp8ICNpZiBZWV9GTEVYX1NVQk1JTk9SX1ZFUlNJT04gPiAwCnwgI2RlZmlu
ZSBGTEVYX0JFVEEKfCAjZW5kaWYKfCAKfCAvKiBGaXJzdCwgd2UgZGVhbCB3aXRoICBwbGF0Zm9y
bS1zcGVjaWZpYyBvciBjb21waWxlci1zcGVjaWZpYyBpc3N1ZXMuICovCnwgCnwgLyogYmVnaW4g
c3RhbmRhcmQgQyBoZWFkZXJzLiAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpbmNsdWRlIDxz
dHJpbmcuaD4KfCAjaW5jbHVkZSA8ZXJybm8uaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgCnwg
LyogZW5kIHN0YW5kYXJkIEMgaGVhZGVycy4gKi8KfCAKfCAvKiBmbGV4IGludGVnZXIgdHlwZSBk
ZWZpbml0aW9ucyAqLwp8IAp8ICNpZm5kZWYgRkxFWElOVF9ICnwgI2RlZmluZSBGTEVYSU5UX0gK
fCAKfCAvKiBDOTkgc3lzdGVtcyBoYXZlIDxpbnR0eXBlcy5oPi4gTm9uLUM5OSBzeXN0ZW1zIG1h
eSBvciBtYXkgbm90LiAqLwp8IAp8ICNpZiBfX1NURENfVkVSU0lPTl9fID49IDE5OTkwMUwKfCAK
fCAvKiBDOTkgc2F5cyB0byBkZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUyBiZWZvcmUgaW5jbHVk
aW5nIHN0ZGludC5oLAp8ICAqIGlmIHlvdSB3YW50IHRoZSBsaW1pdCAobWF4L21pbikgbWFjcm9z
IGZvciBpbnQgdHlwZXMuIAp8ICAqLwp8ICNpZm5kZWYgX19TVERDX0xJTUlUX01BQ1JPUwp8ICNk
ZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUyAxCnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPGludHR5
cGVzLmg+CnwgdHlwZWRlZiBpbnQ4X3QgZmxleF9pbnQ4X3Q7CnwgdHlwZWRlZiB1aW50OF90IGZs
ZXhfdWludDhfdDsKfCB0eXBlZGVmIGludDE2X3QgZmxleF9pbnQxNl90Owp8IHR5cGVkZWYgdWlu
dDE2X3QgZmxleF91aW50MTZfdDsKfCB0eXBlZGVmIGludDMyX3QgZmxleF9pbnQzMl90Owp8IHR5
cGVkZWYgdWludDMyX3QgZmxleF91aW50MzJfdDsKfCAjZWxzZQp8IHR5cGVkZWYgc2lnbmVkIGNo
YXIgZmxleF9pbnQ4X3Q7CnwgdHlwZWRlZiBzaG9ydCBpbnQgZmxleF9pbnQxNl90Owp8IHR5cGVk
ZWYgaW50IGZsZXhfaW50MzJfdDsKfCB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgZmxleF91aW50OF90
OyAKfCB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGludCBmbGV4X3VpbnQxNl90Owp8IHR5cGVkZWYg
dW5zaWduZWQgaW50IGZsZXhfdWludDMyX3Q7CnwgI2VuZGlmIC8qICEgQzk5ICovCnwgCnwgLyog
TGltaXRzIG9mIGludGVncmFsIHR5cGVzLiAqLwp8ICNpZm5kZWYgSU5UOF9NSU4KfCAjZGVmaW5l
IElOVDhfTUlOICAgICAgICAgICAgICAgKC0xMjgpCnwgI2VuZGlmCnwgI2lmbmRlZiBJTlQxNl9N
SU4KfCAjZGVmaW5lIElOVDE2X01JTiAgICAgICAgICAgICAgKC0zMjc2Ny0xKQp8ICNlbmRpZgp8
ICNpZm5kZWYgSU5UMzJfTUlOCnwgI2RlZmluZSBJTlQzMl9NSU4gICAgICAgICAgICAgICgtMjE0
NzQ4MzY0Ny0xKQp8ICNlbmRpZgp8ICNpZm5kZWYgSU5UOF9NQVgKfCAjZGVmaW5lIElOVDhfTUFY
ICAgICAgICAgICAgICAgKDEyNykKfCAjZW5kaWYKfCAjaWZuZGVmIElOVDE2X01BWAp8ICNkZWZp
bmUgSU5UMTZfTUFYICAgICAgICAgICAgICAoMzI3NjcpCnwgI2VuZGlmCnwgI2lmbmRlZiBJTlQz
Ml9NQVgKfCAjZGVmaW5lIElOVDMyX01BWCAgICAgICAgICAgICAgKDIxNDc0ODM2NDcpCnwgI2Vu
ZGlmCnwgI2lmbmRlZiBVSU5UOF9NQVgKfCAjZGVmaW5lIFVJTlQ4X01BWCAgICAgICAgICAgICAg
KDI1NVUpCnwgI2VuZGlmCnwgI2lmbmRlZiBVSU5UMTZfTUFYCnwgI2RlZmluZSBVSU5UMTZfTUFY
ICAgICAgICAgICAgICg2NTUzNVUpCnwgI2VuZGlmCnwgI2lmbmRlZiBVSU5UMzJfTUFYCnwgI2Rl
ZmluZSBVSU5UMzJfTUFYICAgICAgICAgICAgICg0Mjk0OTY3Mjk1VSkKfCAjZW5kaWYKfCAKfCAj
ZW5kaWYgLyogISBGTEVYSU5UX0ggKi8KfCAKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAKfCAvKiBU
aGUgImNvbnN0IiBzdG9yYWdlLWNsYXNzLW1vZGlmaWVyIGlzIHZhbGlkLiAqLwp8ICNkZWZpbmUg
WVlfVVNFX0NPTlNUCnwgCnwgI2Vsc2UJLyogISBfX2NwbHVzcGx1cyAqLwp8IAp8ICNpZiBfX1NU
RENfXwp8IAp8ICNkZWZpbmUgWVlfVVNFX0NPTlNUCnwgCnwgI2VuZGlmCS8qIF9fU1REQ19fICov
CnwgI2VuZGlmCS8qICEgX19jcGx1c3BsdXMgKi8KfCAKfCAjaWZkZWYgWVlfVVNFX0NPTlNUCnwg
I2RlZmluZSB5eWNvbnN0IGNvbnN0CnwgI2Vsc2UKfCAjZGVmaW5lIHl5Y29uc3QKfCAjZW5kaWYK
fCAKfCAvKiBSZXR1cm5lZCB1cG9uIGVuZC1vZi1maWxlLiAqLwp8ICNkZWZpbmUgWVlfTlVMTCAw
CnwgCnwgLyogUHJvbW90ZXMgYSBwb3NzaWJseSBuZWdhdGl2ZSwgcG9zc2libHkgc2lnbmVkIGNo
YXIgdG8gYW4gdW5zaWduZWQKfCAgKiBpbnRlZ2VyIGZvciB1c2UgYXMgYW4gYXJyYXkgaW5kZXgu
ICBJZiB0aGUgc2lnbmVkIGNoYXIgaXMgbmVnYXRpdmUsCnwgICogd2Ugd2FudCB0byBpbnN0ZWFk
IHRyZWF0IGl0IGFzIGFuIDgtYml0IHVuc2lnbmVkIGNoYXIsIGhlbmNlIHRoZQp8ICAqIGRvdWJs
ZSBjYXN0Lgp8ICAqLwp8ICNkZWZpbmUgWVlfU0NfVE9fVUkoYykgKCh1bnNpZ25lZCBpbnQpICh1
bnNpZ25lZCBjaGFyKSBjKQp8IAp8IC8qIEVudGVyIGEgc3RhcnQgY29uZGl0aW9uLiAgVGhpcyBt
YWNybyByZWFsbHkgb3VnaHQgdG8gdGFrZSBhIHBhcmFtZXRlciwKfCAgKiBidXQgd2UgZG8gaXQg
dGhlIGRpc2d1c3RpbmcgY3J1ZnR5IHdheSBmb3JjZWQgb24gdXMgYnkgdGhlICgpLWxlc3MKfCAg
KiBkZWZpbml0aW9uIG9mIEJFR0lOLgp8ICAqLwp8ICNkZWZpbmUgQkVHSU4gKHl5X3N0YXJ0KSA9
IDEgKyAyICoKfCAKfCAvKiBUcmFuc2xhdGUgdGhlIGN1cnJlbnQgc3RhcnQgc3RhdGUgaW50byBh
IHZhbHVlIHRoYXQgY2FuIGJlIGxhdGVyIGhhbmRlZAp8ICAqIHRvIEJFR0lOIHRvIHJldHVybiB0
byB0aGUgc3RhdGUuICBUaGUgWVlTVEFURSBhbGlhcyBpcyBmb3IgbGV4CnwgICogY29tcGF0aWJp
bGl0eS4KfCAgKi8KfCAjZGVmaW5lIFlZX1NUQVJUICgoKHl5X3N0YXJ0KSAtIDEpIC8gMikKfCAj
ZGVmaW5lIFlZU1RBVEUgWVlfU1RBUlQKfCAKfCAvKiBBY3Rpb24gbnVtYmVyIGZvciBFT0YgcnVs
ZSBvZiBhIGdpdmVuIHN0YXJ0IHN0YXRlLiAqLwp8ICNkZWZpbmUgWVlfU1RBVEVfRU9GKHN0YXRl
KSAoWVlfRU5EX09GX0JVRkZFUiArIHN0YXRlICsgMSkKfCAKfCAvKiBTcGVjaWFsIGFjdGlvbiBt
ZWFuaW5nICJzdGFydCBwcm9jZXNzaW5nIGEgbmV3IGZpbGUiLiAqLwp8ICNkZWZpbmUgWVlfTkVX
X0ZJTEUgeXlyZXN0YXJ0KHl5aW4gICkKfCAKfCAjZGVmaW5lIFlZX0VORF9PRl9CVUZGRVJfQ0hB
UiAwCnwgCnwgLyogU2l6ZSBvZiBkZWZhdWx0IGlucHV0IGJ1ZmZlci4gKi8KfCAjaWZuZGVmIFlZ
X0JVRl9TSVpFCnwgI2RlZmluZSBZWV9CVUZfU0laRSAxNjM4NAp8ICNlbmRpZgp8IAp8IC8qIFRo
ZSBzdGF0ZSBidWYgbXVzdCBiZSBsYXJnZSBlbm91Z2ggdG8gaG9sZCBvbmUgc3RhdGUgcGVyIGNo
YXJhY3RlciBpbiB0aGUgbWFpbiBidWZmZXIuCnwgICovCnwgI2RlZmluZSBZWV9TVEFURV9CVUZf
U0laRSAgICgoWVlfQlVGX1NJWkUgKyAyKSAqIHNpemVvZih5eV9zdGF0ZV90eXBlKSkKfCAKfCAj
aWZuZGVmIFlZX1RZUEVERUZfWVlfQlVGRkVSX1NUQVRFCnwgI2RlZmluZSBZWV9UWVBFREVGX1lZ
X0JVRkZFUl9TVEFURQp8IHR5cGVkZWYgc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSAqWVlfQlVGRkVS
X1NUQVRFOwp8ICNlbmRpZgp8IAp8IGV4dGVybiBpbnQgeXlsZW5nOwp8IAp8IGV4dGVybiBGSUxF
ICp5eWluLCAqeXlvdXQ7CnwgCnwgI2RlZmluZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU4gMAp8ICNk
ZWZpbmUgRU9CX0FDVF9FTkRfT0ZfRklMRSAxCnwgI2RlZmluZSBFT0JfQUNUX0xBU1RfTUFUQ0gg
Mgp8IAp8ICAgICAjZGVmaW5lIFlZX0xFU1NfTElORU5PKG4pCnwgICAgIAp8IC8qIFJldHVybiBh
bGwgYnV0IHRoZSBmaXJzdCAibiIgbWF0Y2hlZCBjaGFyYWN0ZXJzIGJhY2sgdG8gdGhlIGlucHV0
IHN0cmVhbS4gKi8KfCAjZGVmaW5lIHl5bGVzcyhuKSBcCnwgCWRvIFwKfCAJCXsgXAp8IAkJLyog
VW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0LiAqLyBcCnwgICAgICAgICBpbnQgeXls
ZXNzX21hY3JvX2FyZyA9IChuKTsgXAp8ICAgICAgICAgWVlfTEVTU19MSU5FTk8oeXlsZXNzX21h
Y3JvX2FyZyk7XAp8IAkJKnl5X2NwID0gKHl5X2hvbGRfY2hhcik7IFwKfCAJCVlZX1JFU1RPUkVf
WVlfTU9SRV9PRkZTRVQgXAp8IAkJKHl5X2NfYnVmX3ApID0geXlfY3AgPSB5eV9icCArIHl5bGVz
c19tYWNyb19hcmcgLSBZWV9NT1JFX0FESjsgXAp8IAkJWVlfRE9fQkVGT1JFX0FDVElPTjsgLyog
c2V0IHVwIHl5dGV4dCBhZ2FpbiAqLyBcCnwgCQl9IFwKfCAJd2hpbGUgKCAwICkKfCAKfCAjZGVm
aW5lIHVucHV0KGMpIHl5dW5wdXQoIGMsICh5eXRleHRfcHRyKSAgKQp8IAp8IC8qIFRoZSBmb2xs
b3dpbmcgaXMgYmVjYXVzZSB3ZSBjYW5ub3QgcG9ydGFibHkgZ2V0IG91ciBoYW5kcyBvbiBzaXpl
X3QKfCAgKiAod2l0aG91dCBhdXRvY29uZidzIGhlbHAsIHdoaWNoIGlzbid0IGF2YWlsYWJsZSBi
ZWNhdXNlIHdlIHdhbnQKfCAgKiBmbGV4LWdlbmVyYXRlZCBzY2FubmVycyB0byBjb21waWxlIG9u
IHRoZWlyIG93bikuCnwgICovCnwgCnwgI2lmbmRlZiBZWV9UWVBFREVGX1lZX1NJWkVfVAp8ICNk
ZWZpbmUgWVlfVFlQRURFRl9ZWV9TSVpFX1QKfCB0eXBlZGVmIHVuc2lnbmVkIGludCB5eV9zaXpl
X3Q7CnwgI2VuZGlmCnwgCnwgI2lmbmRlZiBZWV9TVFJVQ1RfWVlfQlVGRkVSX1NUQVRFCnwgI2Rl
ZmluZSBZWV9TVFJVQ1RfWVlfQlVGRkVSX1NUQVRFCnwgc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZQp8
IAl7CnwgCUZJTEUgKnl5X2lucHV0X2ZpbGU7CnwgCnwgCWNoYXIgKnl5X2NoX2J1ZjsJCS8qIGlu
cHV0IGJ1ZmZlciAqLwp8IAljaGFyICp5eV9idWZfcG9zOwkJLyogY3VycmVudCBwb3NpdGlvbiBp
biBpbnB1dCBidWZmZXIgKi8KfCAKfCAJLyogU2l6ZSBvZiBpbnB1dCBidWZmZXIgaW4gYnl0ZXMs
IG5vdCBpbmNsdWRpbmcgcm9vbSBmb3IgRU9CCnwgCSAqIGNoYXJhY3RlcnMuCnwgCSAqLwp8IAl5
eV9zaXplX3QgeXlfYnVmX3NpemU7CnwgCnwgCS8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIHJlYWQg
aW50byB5eV9jaF9idWYsIG5vdCBpbmNsdWRpbmcgRU9CCnwgCSAqIGNoYXJhY3RlcnMuCnwgCSAq
Lwp8IAlpbnQgeXlfbl9jaGFyczsKfCAKfCAJLyogV2hldGhlciB3ZSAib3duIiB0aGUgYnVmZmVy
IC0gaS5lLiwgd2Uga25vdyB3ZSBjcmVhdGVkIGl0LAp8IAkgKiBhbmQgY2FuIHJlYWxsb2MoKSBp
dCB0byBncm93IGl0LCBhbmQgc2hvdWxkIGZyZWUoKSBpdCB0bwp8IAkgKiBkZWxldGUgaXQuCnwg
CSAqLwp8IAlpbnQgeXlfaXNfb3VyX2J1ZmZlcjsKfCAKfCAJLyogV2hldGhlciB0aGlzIGlzIGFu
ICJpbnRlcmFjdGl2ZSIgaW5wdXQgc291cmNlOyBpZiBzbywgYW5kCnwgCSAqIGlmIHdlJ3JlIHVz
aW5nIHN0ZGlvIGZvciBpbnB1dCwgdGhlbiB3ZSB3YW50IHRvIHVzZSBnZXRjKCkKfCAJICogaW5z
dGVhZCBvZiBmcmVhZCgpLCB0byBtYWtlIHN1cmUgd2Ugc3RvcCBmZXRjaGluZyBpbnB1dCBhZnRl
cgp8IAkgKiBlYWNoIG5ld2xpbmUuCnwgCSAqLwp8IAlpbnQgeXlfaXNfaW50ZXJhY3RpdmU7Cnwg
CnwgCS8qIFdoZXRoZXIgd2UncmUgY29uc2lkZXJlZCB0byBiZSBhdCB0aGUgYmVnaW5uaW5nIG9m
IGEgbGluZS4KfCAJICogSWYgc28sICdeJyBydWxlcyB3aWxsIGJlIGFjdGl2ZSBvbiB0aGUgbmV4
dCBtYXRjaCwgb3RoZXJ3aXNlCnwgCSAqIG5vdC4KfCAJICovCnwgCWludCB5eV9hdF9ib2w7Cnwg
CnwgICAgIGludCB5eV9ic19saW5lbm87IC8qKjwgVGhlIGxpbmUgY291bnQuICovCnwgICAgIGlu
dCB5eV9ic19jb2x1bW47IC8qKjwgVGhlIGNvbHVtbiBjb3VudC4gKi8KfCAgICAgCnwgCS8qIFdo
ZXRoZXIgdG8gdHJ5IHRvIGZpbGwgdGhlIGlucHV0IGJ1ZmZlciB3aGVuIHdlIHJlYWNoIHRoZQp8
IAkgKiBlbmQgb2YgaXQuCnwgCSAqLwp8IAlpbnQgeXlfZmlsbF9idWZmZXI7CnwgCnwgCWludCB5
eV9idWZmZXJfc3RhdHVzOwp8IAp8ICNkZWZpbmUgWVlfQlVGRkVSX05FVyAwCnwgI2RlZmluZSBZ
WV9CVUZGRVJfTk9STUFMIDEKfCAJLyogV2hlbiBhbiBFT0YncyBiZWVuIHNlZW4gYnV0IHRoZXJl
J3Mgc3RpbGwgc29tZSB0ZXh0IHRvIHByb2Nlc3MKfCAJICogdGhlbiB3ZSBtYXJrIHRoZSBidWZm
ZXIgYXMgWVlfRU9GX1BFTkRJTkcsIHRvIGluZGljYXRlIHRoYXQgd2UKfCAJICogc2hvdWxkbid0
IHRyeSByZWFkaW5nIGZyb20gdGhlIGlucHV0IHNvdXJjZSBhbnkgbW9yZS4gIFdlIG1pZ2h0Cnwg
CSAqIHN0aWxsIGhhdmUgYSBidW5jaCBvZiB0b2tlbnMgdG8gbWF0Y2gsIHRob3VnaCwgYmVjYXVz
ZSBvZgp8IAkgKiBwb3NzaWJsZSBiYWNraW5nLXVwLgp8IAkgKgp8IAkgKiBXaGVuIHdlIGFjdHVh
bGx5IHNlZSB0aGUgRU9GLCB3ZSBjaGFuZ2UgdGhlIHN0YXR1cyB0byAibmV3Igp8IAkgKiAodmlh
IHl5cmVzdGFydCgpKSwgc28gdGhhdCB0aGUgdXNlciBjYW4gY29udGludWUgc2Nhbm5pbmcgYnkK
fCAJICoganVzdCBwb2ludGluZyB5eWluIGF0IGEgbmV3IGlucHV0IGZpbGUuCnwgCSAqLwp8ICNk
ZWZpbmUgWVlfQlVGRkVSX0VPRl9QRU5ESU5HIDIKfCAKfCAJfTsKfCAjZW5kaWYgLyogIVlZX1NU
UlVDVF9ZWV9CVUZGRVJfU1RBVEUgKi8KfCAKfCAvKiBTdGFjayBvZiBpbnB1dCBidWZmZXJzLiAq
Lwp8IHN0YXRpYyBzaXplX3QgeXlfYnVmZmVyX3N0YWNrX3RvcCA9IDA7IC8qKjwgaW5kZXggb2Yg
dG9wIG9mIHN0YWNrLiAqLwp8IHN0YXRpYyBzaXplX3QgeXlfYnVmZmVyX3N0YWNrX21heCA9IDA7
IC8qKjwgY2FwYWNpdHkgb2Ygc3RhY2suICovCnwgc3RhdGljIFlZX0JVRkZFUl9TVEFURSAqIHl5
X2J1ZmZlcl9zdGFjayA9IDA7IC8qKjwgU3RhY2sgYXMgYW4gYXJyYXkuICovCnwgCnwgLyogV2Ug
cHJvdmlkZSBtYWNyb3MgZm9yIGFjY2Vzc2luZyBidWZmZXIgc3RhdGVzIGluIGNhc2UgaW4gdGhl
CnwgICogZnV0dXJlIHdlIHdhbnQgdG8gcHV0IHRoZSBidWZmZXIgc3RhdGVzIGluIGEgbW9yZSBn
ZW5lcmFsCnwgICogInNjYW5uZXIgc3RhdGUiLgp8ICAqCnwgICogUmV0dXJucyB0aGUgdG9wIG9m
IHRoZSBzdGFjaywgb3IgTlVMTC4KfCAgKi8KfCAjZGVmaW5lIFlZX0NVUlJFTlRfQlVGRkVSICgg
KHl5X2J1ZmZlcl9zdGFjaykgXAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoeXlfYnVm
ZmVyX3N0YWNrKVsoeXlfYnVmZmVyX3N0YWNrX3RvcCldIFwKfCAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDogTlVMTCkKfCAKfCAvKiBTYW1lIGFzIHByZXZpb3VzIG1hY3JvLCBidXQgdXNlZnVs
IHdoZW4gd2Uga25vdyB0aGF0IHRoZSBidWZmZXIgc3RhY2sgaXMgbm90CnwgICogTlVMTCBvciB3
aGVuIHdlIG5lZWQgYW4gbHZhbHVlLiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuCnwgICovCnwgI2Rl
ZmluZSBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUgKHl5X2J1ZmZlcl9zdGFjaylbKHl5X2J1ZmZl
cl9zdGFja190b3ApXQp8IAp8IC8qIHl5X2hvbGRfY2hhciBob2xkcyB0aGUgY2hhcmFjdGVyIGxv
c3Qgd2hlbiB5eXRleHQgaXMgZm9ybWVkLiAqLwp8IHN0YXRpYyBjaGFyIHl5X2hvbGRfY2hhcjsK
fCBzdGF0aWMgaW50IHl5X25fY2hhcnM7CQkvKiBudW1iZXIgb2YgY2hhcmFjdGVycyByZWFkIGlu
dG8geXlfY2hfYnVmICovCnwgaW50IHl5bGVuZzsKfCAKfCAvKiBQb2ludHMgdG8gY3VycmVudCBj
aGFyYWN0ZXIgaW4gYnVmZmVyLiAqLwp8IHN0YXRpYyBjaGFyICp5eV9jX2J1Zl9wID0gKGNoYXIg
KikgMDsKfCBzdGF0aWMgaW50IHl5X2luaXQgPSAwOwkJLyogd2hldGhlciB3ZSBuZWVkIHRvIGlu
aXRpYWxpemUgKi8KfCBzdGF0aWMgaW50IHl5X3N0YXJ0ID0gMDsJLyogc3RhcnQgc3RhdGUgbnVt
YmVyICovCnwgCnwgLyogRmxhZyB3aGljaCBpcyB1c2VkIHRvIGFsbG93IHl5d3JhcCgpJ3MgdG8g
ZG8gYnVmZmVyIHN3aXRjaGVzCnwgICogaW5zdGVhZCBvZiBzZXR0aW5nIHVwIGEgZnJlc2ggeXlp
bi4gIEEgYml0IG9mIGEgaGFjayAuLi4KfCAgKi8KfCBzdGF0aWMgaW50IHl5X2RpZF9idWZmZXJf
c3dpdGNoX29uX2VvZjsKfCAKfCB2b2lkIHl5cmVzdGFydCAoRklMRSAqaW5wdXRfZmlsZSAgKTsK
fCB2b2lkIHl5X3N3aXRjaF90b19idWZmZXIgKFlZX0JVRkZFUl9TVEFURSBuZXdfYnVmZmVyICAp
Owp8IFlZX0JVRkZFUl9TVEFURSB5eV9jcmVhdGVfYnVmZmVyIChGSUxFICpmaWxlLGludCBzaXpl
ICApOwp8IHZvaWQgeXlfZGVsZXRlX2J1ZmZlciAoWVlfQlVGRkVSX1NUQVRFIGIgICk7Cnwgdm9p
ZCB5eV9mbHVzaF9idWZmZXIgKFlZX0JVRkZFUl9TVEFURSBiICApOwp8IHZvaWQgeXlwdXNoX2J1
ZmZlcl9zdGF0ZSAoWVlfQlVGRkVSX1NUQVRFIG5ld19idWZmZXIgICk7Cnwgdm9pZCB5eXBvcF9i
dWZmZXJfc3RhdGUgKHZvaWQgKTsKfCAKfCBzdGF0aWMgdm9pZCB5eWVuc3VyZV9idWZmZXJfc3Rh
Y2sgKHZvaWQgKTsKfCBzdGF0aWMgdm9pZCB5eV9sb2FkX2J1ZmZlcl9zdGF0ZSAodm9pZCApOwp8
IHN0YXRpYyB2b2lkIHl5X2luaXRfYnVmZmVyIChZWV9CVUZGRVJfU1RBVEUgYixGSUxFICpmaWxl
ICApOwp8IAp8ICNkZWZpbmUgWVlfRkxVU0hfQlVGRkVSIHl5X2ZsdXNoX2J1ZmZlcihZWV9DVVJS
RU5UX0JVRkZFUiApCnwgCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnVmZmVyIChjaGFyICpi
YXNlLHl5X3NpemVfdCBzaXplICApOwp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX3N0cmluZyAo
eXljb25zdCBjaGFyICp5eV9zdHIgICk7CnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMg
KHl5Y29uc3QgY2hhciAqYnl0ZXMsaW50IGxlbiAgKTsKfCAKfCB2b2lkICp5eWFsbG9jICh5eV9z
aXplX3QgICk7Cnwgdm9pZCAqeXlyZWFsbG9jICh2b2lkICoseXlfc2l6ZV90ICApOwp8IHZvaWQg
eXlmcmVlICh2b2lkICogICk7CnwgCnwgI2RlZmluZSB5eV9uZXdfYnVmZmVyIHl5X2NyZWF0ZV9i
dWZmZXIKfCAKfCAjZGVmaW5lIHl5X3NldF9pbnRlcmFjdGl2ZShpc19pbnRlcmFjdGl2ZSkgXAp8
IAl7IFwKfCAJaWYgKCAhIFlZX0NVUlJFTlRfQlVGRkVSICl7IFwKfCAgICAgICAgIHl5ZW5zdXJl
X2J1ZmZlcl9zdGFjayAoKTsgXAp8IAkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFID0gICAgXAp8
ICAgICAgICAgICAgIHl5X2NyZWF0ZV9idWZmZXIoeXlpbixZWV9CVUZfU0laRSApOyBcCnwgCX0g
XAp8IAlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2lzX2ludGVyYWN0aXZlID0gaXNfaW50
ZXJhY3RpdmU7IFwKfCAJfQp8IAp8ICNkZWZpbmUgeXlfc2V0X2JvbChhdF9ib2wpIFwKfCAJeyBc
CnwgCWlmICggISBZWV9DVVJSRU5UX0JVRkZFUiApe1wKfCAgICAgICAgIHl5ZW5zdXJlX2J1ZmZl
cl9zdGFjayAoKTsgXAp8IAkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFID0gICAgXAp8ICAgICAg
ICAgICAgIHl5X2NyZWF0ZV9idWZmZXIoeXlpbixZWV9CVUZfU0laRSApOyBcCnwgCX0gXAp8IAlZ
WV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2F0X2JvbCA9IGF0X2JvbDsgXAp8IAl9CnwgCnwg
I2RlZmluZSBZWV9BVF9CT0woKSAoWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9hdF9ib2wp
CnwgCnwgLyogQmVnaW4gdXNlciBzZWN0MyAqLwp8IAp8IHR5cGVkZWYgdW5zaWduZWQgY2hhciBZ
WV9DSEFSOwp8IAp8IEZJTEUgKnl5aW4gPSAoRklMRSAqKSAwLCAqeXlvdXQgPSAoRklMRSAqKSAw
Owp8IAp8IHR5cGVkZWYgaW50IHl5X3N0YXRlX3R5cGU7CnwgCnwgZXh0ZXJuIGludCB5eWxpbmVu
bzsKfCAKfCBpbnQgeXlsaW5lbm8gPSAxOwp8IAp8IGV4dGVybiBjaGFyICp5eXRleHQ7CnwgI2Rl
ZmluZSB5eXRleHRfcHRyIHl5dGV4dAp8IAp8IHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X2dldF9w
cmV2aW91c19zdGF0ZSAodm9pZCApOwp8IHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxf
dHJhbnMgKHl5X3N0YXRlX3R5cGUgY3VycmVudF9zdGF0ZSAgKTsKfCBzdGF0aWMgaW50IHl5X2dl
dF9uZXh0X2J1ZmZlciAodm9pZCApOwp8IHN0YXRpYyB2b2lkIHl5X2ZhdGFsX2Vycm9yICh5eWNv
bnN0IGNoYXIgbXNnW10gICk7CnwgCnwgLyogRG9uZSBhZnRlciB0aGUgY3VycmVudCBwYXR0ZXJu
IGhhcyBiZWVuIG1hdGNoZWQgYW5kIGJlZm9yZSB0aGUKfCAgKiBjb3JyZXNwb25kaW5nIGFjdGlv
biAtIHNldHMgdXAgeXl0ZXh0Lgp8ICAqLwp8ICNkZWZpbmUgWVlfRE9fQkVGT1JFX0FDVElPTiBc
CnwgCSh5eXRleHRfcHRyKSA9IHl5X2JwOyBcCnwgCSh5eXRleHRfcHRyKSAtPSAoeXlfbW9yZV9s
ZW4pOyBcCnwgCXl5bGVuZyA9IChzaXplX3QpICh5eV9jcCAtICh5eXRleHRfcHRyKSk7IFwKfCAJ
KHl5X2hvbGRfY2hhcikgPSAqeXlfY3A7IFwKfCAJKnl5X2NwID0gJ1wwJzsgXAp8IAkoeXlfY19i
dWZfcCkgPSB5eV9jcDsKfCAKfCAjZGVmaW5lIFlZX05VTV9SVUxFUyA4CnwgI2RlZmluZSBZWV9F
TkRfT0ZfQlVGRkVSIDkKfCAvKiBUaGlzIHN0cnVjdCBpcyBub3QgdXNlZCBpbiB0aGlzIHNjYW5u
ZXIsCnwgICAgYnV0IGl0cyBwcmVzZW5jZSBpcyBuZWNlc3NhcnkuICovCnwgc3RydWN0IHl5X3Ry
YW5zX2luZm8KfCAJewp8IAlmbGV4X2ludDMyX3QgeXlfdmVyaWZ5Owp8IAlmbGV4X2ludDMyX3Qg
eXlfbnh0Owp8IAl9Owp8IHN0YXRpYyB5eWNvbnN0IGZsZXhfaW50MTZfdCB5eV9hY2NsaXN0WzIz
XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgOSwgICAgNywgICAgOCwgICAgOCwgICAgMSwgICAg
NywgICAgOCwgICAgMiwgICAgNywgICAgOCwKfCAgICAgICAgIDMsICAgIDcsICAgIDgsICAgIDQs
ICAgIDcsICAgIDgsICAgIDUsICAgIDcsICAgIDgsICAgIDYsCnwgICAgICAgICA3LCAgICA4Cnwg
ICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IGZsZXhfaW50MTZfdCB5eV9hY2NlcHRbMTRdID0K
fCAgICAgeyAgIDAsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAyLCAgICA0LCAgICA1LCAg
ICA4LCAgIDExLCAgIDE0LCAgIDE3LAp8ICAgICAgICAyMCwgICAyMywgICAyMwp8ICAgICB9IDsK
fCAKfCBzdGF0aWMgeXljb25zdCBmbGV4X2ludDMyX3QgeXlfZWNbMjU2XSA9CnwgICAgIHsgICAw
LAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMiwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAg
ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMywgICAgNCwgICAgNSwgICAgNiwKfCAKfCAgICAgICAg
IDcsICAgIDgsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
CnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAg
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgCnwgICAgICAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwK
fCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3QgZmxleF9pbnQzMl90IHl5X21l
dGFbOV0gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3QgZmxleF9pbnQx
Nl90IHl5X2Jhc2VbMTNdID0KfCAgICAgeyAgIDAsCnwgICAgICAgICAwLCAgICAwLCAgICA5LCAg
IDEwLCAgIDEwLCAgIDEwLCAgIDEwLCAgIDEwLCAgIDEwLCAgIDEwLAp8ICAgICAgICAxMCwgICAx
MAp8ICAgICB9IDsKfCAKfCBzdGF0aWMgeXljb25zdCBmbGV4X2ludDE2X3QgeXlfZGVmWzEzXSA9
CnwgICAgIHsgICAwLAp8ICAgICAgICAxMiwgICAgMSwgICAxMiwgICAxMiwgICAxMiwgICAxMiwg
ICAxMiwgICAxMiwgICAxMiwgICAxMiwKfCAgICAgICAgMTIsICAgIDAKfCAgICAgfSA7CnwgCnwg
c3RhdGljIHl5Y29uc3QgZmxleF9pbnQxNl90IHl5X254dFsxOV0gPQp8ICAgICB7ICAgMCwKfCAg
ICAgICAgIDQsICAgIDUsICAgIDYsICAgIDcsICAgIDgsICAgIDksICAgMTAsICAgMTEsICAgMTIs
ICAgIDMsCnwgICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IGZsZXhfaW50MTZfdCB5eV9jaGtbMTld
ID0KfCAgICAgeyAgIDAsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAzLCAgIDEyLAp8ICAgICAgICAxMiwgICAxMiwgICAxMiwgICAxMiwg
ICAxMiwgICAxMiwgICAxMiwgICAxMgp8ICAgICB9IDsKfCAKfCBleHRlcm4gaW50IHl5X2ZsZXhf
ZGVidWc7CnwgaW50IHl5X2ZsZXhfZGVidWcgPSAwOwp8IAp8IHN0YXRpYyB5eV9zdGF0ZV90eXBl
ICp5eV9zdGF0ZV9idWY9MCwgKnl5X3N0YXRlX3B0cj0wOwp8IHN0YXRpYyBjaGFyICp5eV9mdWxs
X21hdGNoOwp8IHN0YXRpYyBpbnQgeXlfbHA7CnwgI2RlZmluZSBSRUpFQ1QgXAp8IHsgXAp8ICp5
eV9jcCA9ICh5eV9ob2xkX2NoYXIpOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRl
eHQgKi8gXAp8IHl5X2NwID0gKHl5X2Z1bGxfbWF0Y2gpOyAvKiByZXN0b3JlIHBvc3MuIGJhY2tl
ZC1vdmVyIHRleHQgKi8gXAp8ICsrKHl5X2xwKTsgXAp8IGdvdG8gZmluZF9ydWxlOyBcCnwgfQp8
IAp8IHN0YXRpYyBpbnQgeXlfbW9yZV9mbGFnID0gMDsKfCBzdGF0aWMgaW50IHl5X21vcmVfbGVu
ID0gMDsKfCAjZGVmaW5lIHl5bW9yZSgpICgoeXlfbW9yZV9mbGFnKSA9IDEpCnwgI2RlZmluZSBZ
WV9NT1JFX0FESiAoeXlfbW9yZV9sZW4pCnwgI2RlZmluZSBZWV9SRVNUT1JFX1lZX01PUkVfT0ZG
U0VUCnwgY2hhciAqeXl0ZXh0Owp8ICNsaW5lIDEgImNvbmZ0ZXN0LmwiCnwgI2xpbmUgNDcyICJs
ZXgueXkuYyIKfCAKfCAjZGVmaW5lIElOSVRJQUwgMAp8IAp8ICNpZm5kZWYgWVlfTk9fVU5JU1RE
X0gKfCAvKiBTcGVjaWFsIGNhc2UgZm9yICJ1bmlzdGQuaCIsIHNpbmNlIGl0IGlzIG5vbi1BTlNJ
LiBXZSBpbmNsdWRlIGl0IHdheQp8ICAqIGRvd24gaGVyZSBiZWNhdXNlIHdlIHdhbnQgdGhlIHVz
ZXIncyBzZWN0aW9uIDEgdG8gaGF2ZSBiZWVuIHNjYW5uZWQgZmlyc3QuCnwgICogVGhlIHVzZXIg
aGFzIGEgY2hhbmNlIHRvIG92ZXJyaWRlIGl0IHdpdGggYW4gb3B0aW9uLgp8ICAqLwp8ICNpbmNs
dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaWZuZGVmIFlZX0VYVFJBX1RZUEUKfCAjZGVm
aW5lIFlZX0VYVFJBX1RZUEUgdm9pZCAqCnwgI2VuZGlmCnwgCnwgc3RhdGljIGludCB5eV9pbml0
X2dsb2JhbHMgKHZvaWQgKTsKfCAKfCAvKiBNYWNyb3MgYWZ0ZXIgdGhpcyBwb2ludCBjYW4gYWxs
IGJlIG92ZXJyaWRkZW4gYnkgdXNlciBkZWZpbml0aW9ucyBpbgp8ICAqIHNlY3Rpb24gMS4KfCAg
Ki8KfCAKfCAjaWZuZGVmIFlZX1NLSVBfWVlXUkFQCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0
ZXJuICJDIiBpbnQgeXl3cmFwICh2b2lkICk7CnwgI2Vsc2UKfCBleHRlcm4gaW50IHl5d3JhcCAo
dm9pZCApOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgICBzdGF0aWMgdm9pZCB5eXVucHV0IChp
bnQgYyxjaGFyICpidWZfcHRyICApOwp8ICAgICAKfCAjaWZuZGVmIHl5dGV4dF9wdHIKfCBzdGF0
aWMgdm9pZCB5eV9mbGV4X3N0cm5jcHkgKGNoYXIgKix5eWNvbnN0IGNoYXIgKixpbnQgKTsKfCAj
ZW5kaWYKfCAKfCAjaWZkZWYgWVlfTkVFRF9TVFJMRU4KfCBzdGF0aWMgaW50IHl5X2ZsZXhfc3Ry
bGVuICh5eWNvbnN0IGNoYXIgKiApOwp8ICNlbmRpZgp8IAp8ICNpZm5kZWYgWVlfTk9fSU5QVVQK
fCAKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBzdGF0aWMgaW50IHl5aW5wdXQgKHZvaWQgKTsKfCAj
ZWxzZQp8IHN0YXRpYyBpbnQgaW5wdXQgKHZvaWQgKTsKfCAjZW5kaWYKfCAKfCAjZW5kaWYKfCAK
fCAvKiBBbW91bnQgb2Ygc3R1ZmYgdG8gc2x1cnAgdXAgd2l0aCBlYWNoIHJlYWQuICovCnwgI2lm
bmRlZiBZWV9SRUFEX0JVRl9TSVpFCnwgI2RlZmluZSBZWV9SRUFEX0JVRl9TSVpFIDgxOTIKfCAj
ZW5kaWYKfCAKfCAvKiBDb3B5IHdoYXRldmVyIHRoZSBsYXN0IHJ1bGUgbWF0Y2hlZCB0byB0aGUg
c3RhbmRhcmQgb3V0cHV0LiAqLwp8ICNpZm5kZWYgRUNITwp8IC8qIFRoaXMgdXNlZCB0byBiZSBh
biBmcHV0cygpLCBidXQgc2luY2UgdGhlIHN0cmluZyBtaWdodCBjb250YWluIE5VTCdzLAp8ICAq
IHdlIG5vdyB1c2UgZndyaXRlKCkuCnwgICovCnwgI2RlZmluZSBFQ0hPICh2b2lkKSBmd3JpdGUo
IHl5dGV4dCwgeXlsZW5nLCAxLCB5eW91dCApCnwgI2VuZGlmCnwgCnwgLyogR2V0cyBpbnB1dCBh
bmQgc3R1ZmZzIGl0IGludG8gImJ1ZiIuICBudW1iZXIgb2YgY2hhcmFjdGVycyByZWFkLCBvciBZ
WV9OVUxMLAp8ICAqIGlzIHJldHVybmVkIGluICJyZXN1bHQiLgp8ICAqLwp8ICNpZm5kZWYgWVlf
SU5QVVQKfCAjZGVmaW5lIFlZX0lOUFVUKGJ1ZixyZXN1bHQsbWF4X3NpemUpIFwKfCAJaWYgKCBZ
WV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2lzX2ludGVyYWN0aXZlICkgXAp8IAkJeyBcCnwg
CQlpbnQgYyA9ICcqJzsgXAp8IAkJc2l6ZV90IG47IFwKfCAJCWZvciAoIG4gPSAwOyBuIDwgbWF4
X3NpemUgJiYgXAp8IAkJCSAgICAgKGMgPSBnZXRjKCB5eWluICkpICE9IEVPRiAmJiBjICE9ICdc
bic7ICsrbiApIFwKfCAJCQlidWZbbl0gPSAoY2hhcikgYzsgXAp8IAkJaWYgKCBjID09ICdcbicg
KSBcCnwgCQkJYnVmW24rK10gPSAoY2hhcikgYzsgXAp8IAkJaWYgKCBjID09IEVPRiAmJiBmZXJy
b3IoIHl5aW4gKSApIFwKfCAJCQlZWV9GQVRBTF9FUlJPUiggImlucHV0IGluIGZsZXggc2Nhbm5l
ciBmYWlsZWQiICk7IFwKfCAJCXJlc3VsdCA9IG47IFwKfCAJCX0gXAp8IAllbHNlIFwKfCAJCXsg
XAp8IAkJZXJybm89MDsgXAp8IAkJd2hpbGUgKCAocmVzdWx0ID0gZnJlYWQoYnVmLCAxLCBtYXhf
c2l6ZSwgeXlpbikpPT0wICYmIGZlcnJvcih5eWluKSkgXAp8IAkJCXsgXAp8IAkJCWlmKCBlcnJu
byAhPSBFSU5UUikgXAp8IAkJCQl7IFwKfCAJCQkJWVlfRkFUQUxfRVJST1IoICJpbnB1dCBpbiBm
bGV4IHNjYW5uZXIgZmFpbGVkIiApOyBcCnwgCQkJCWJyZWFrOyBcCnwgCQkJCX0gXAp8IAkJCWVy
cm5vPTA7IFwKfCAJCQljbGVhcmVycih5eWluKTsgXAp8IAkJCX0gXAp8IAkJfVwKfCBcCnwgCnwg
I2VuZGlmCnwgCnwgLyogTm8gc2VtaS1jb2xvbiBhZnRlciByZXR1cm47IGNvcnJlY3QgdXNhZ2Ug
aXMgdG8gd3JpdGUgInl5dGVybWluYXRlKCk7IiAtCnwgICogd2UgZG9uJ3Qgd2FudCBhbiBleHRy
YSAnOycgYWZ0ZXIgdGhlICJyZXR1cm4iIGJlY2F1c2UgdGhhdCB3aWxsIGNhdXNlCnwgICogc29t
ZSBjb21waWxlcnMgdG8gY29tcGxhaW4gYWJvdXQgdW5yZWFjaGFibGUgc3RhdGVtZW50cy4KfCAg
Ki8KfCAjaWZuZGVmIHl5dGVybWluYXRlCnwgI2RlZmluZSB5eXRlcm1pbmF0ZSgpIHJldHVybiBZ
WV9OVUxMCnwgI2VuZGlmCnwgCnwgLyogTnVtYmVyIG9mIGVudHJpZXMgYnkgd2hpY2ggc3RhcnQt
Y29uZGl0aW9uIHN0YWNrIGdyb3dzLiAqLwp8ICNpZm5kZWYgWVlfU1RBUlRfU1RBQ0tfSU5DUgp8
ICNkZWZpbmUgWVlfU1RBUlRfU1RBQ0tfSU5DUiAyNQp8ICNlbmRpZgp8IAp8IC8qIFJlcG9ydCBh
IGZhdGFsIGVycm9yLiAqLwp8ICNpZm5kZWYgWVlfRkFUQUxfRVJST1IKfCAjZGVmaW5lIFlZX0ZB
VEFMX0VSUk9SKG1zZykgeXlfZmF0YWxfZXJyb3IoIG1zZyApCnwgI2VuZGlmCnwgCnwgLyogZW5k
IHRhYmxlcyBzZXJpYWxpemF0aW9uIHN0cnVjdHVyZXMgYW5kIHByb3RvdHlwZXMgKi8KfCAKfCAv
KiBEZWZhdWx0IGRlY2xhcmF0aW9uIG9mIGdlbmVyYXRlZCBzY2FubmVyIC0gYSBkZWZpbmUgc28g
dGhlIHVzZXIgY2FuCnwgICogZWFzaWx5IGFkZCBwYXJhbWV0ZXJzLgp8ICAqLwp8ICNpZm5kZWYg
WVlfREVDTAp8ICNkZWZpbmUgWVlfREVDTF9JU19PVVJTIDEKfCAKfCBleHRlcm4gaW50IHl5bGV4
ICh2b2lkKTsKfCAKfCAjZGVmaW5lIFlZX0RFQ0wgaW50IHl5bGV4ICh2b2lkKQp8ICNlbmRpZiAv
KiAhWVlfREVDTCAqLwp8IAp8IC8qIENvZGUgZXhlY3V0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBl
YWNoIHJ1bGUsIGFmdGVyIHl5dGV4dCBhbmQgeXlsZW5nCnwgICogaGF2ZSBiZWVuIHNldCB1cC4K
fCAgKi8KfCAjaWZuZGVmIFlZX1VTRVJfQUNUSU9OCnwgI2RlZmluZSBZWV9VU0VSX0FDVElPTgp8
ICNlbmRpZgp8IAp8IC8qIENvZGUgZXhlY3V0ZWQgYXQgdGhlIGVuZCBvZiBlYWNoIHJ1bGUuICov
CnwgI2lmbmRlZiBZWV9CUkVBSwp8ICNkZWZpbmUgWVlfQlJFQUsgYnJlYWs7CnwgI2VuZGlmCnwg
CnwgI2RlZmluZSBZWV9SVUxFX1NFVFVQIFwKfCAJWVlfVVNFUl9BQ1RJT04KfCAKfCAvKiogVGhl
IG1haW4gc2Nhbm5lciBmdW5jdGlvbiB3aGljaCBkb2VzIGFsbCB0aGUgd29yay4KfCAgKi8KfCBZ
WV9ERUNMCnwgewp8IAlyZWdpc3RlciB5eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGU7Cnwg
CXJlZ2lzdGVyIGNoYXIgKnl5X2NwLCAqeXlfYnA7CnwgCXJlZ2lzdGVyIGludCB5eV9hY3Q7Cnwg
ICAgIAp8ICNsaW5lIDEgImNvbmZ0ZXN0LmwiCnwgCnwgI2xpbmUgNjI3ICJsZXgueXkuYyIKfCAK
fCAJaWYgKCAhKHl5X2luaXQpICkKfCAJCXsKfCAJCSh5eV9pbml0KSA9IDE7CnwgCnwgI2lmZGVm
IFlZX1VTRVJfSU5JVAp8IAkJWVlfVVNFUl9JTklUOwp8ICNlbmRpZgp8IAp8ICAgICAgICAgLyog
Q3JlYXRlIHRoZSByZWplY3QgYnVmZmVyIGxhcmdlIGVub3VnaCB0byBzYXZlIG9uZSBzdGF0ZSBw
ZXIgYWxsb3dlZCBjaGFyYWN0ZXIuICovCnwgICAgICAgICBpZiAoICEgKHl5X3N0YXRlX2J1Zikg
KQp8ICAgICAgICAgICAgICh5eV9zdGF0ZV9idWYpID0gKHl5X3N0YXRlX3R5cGUgKil5eWFsbG9j
KFlZX1NUQVRFX0JVRl9TSVpFICApOwp8IAp8IAkJaWYgKCAhICh5eV9zdGFydCkgKQp8IAkJCSh5
eV9zdGFydCkgPSAxOwkvKiBmaXJzdCBzdGFydCBzdGF0ZSAqLwp8IAp8IAkJaWYgKCAhIHl5aW4g
KQp8IAkJCXl5aW4gPSBzdGRpbjsKfCAKfCAJCWlmICggISB5eW91dCApCnwgCQkJeXlvdXQgPSBz
dGRvdXQ7CnwgCnwgCQlpZiAoICEgWVlfQ1VSUkVOVF9CVUZGRVIgKSB7CnwgCQkJeXllbnN1cmVf
YnVmZmVyX3N0YWNrICgpOwp8IAkJCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRSA9CnwgCQkJCXl5
X2NyZWF0ZV9idWZmZXIoeXlpbixZWV9CVUZfU0laRSApOwp8IAkJfQp8IAp8IAkJeXlfbG9hZF9i
dWZmZXJfc3RhdGUoICk7CnwgCQl9CnwgCnwgCXdoaWxlICggMSApCQkvKiBsb29wcyB1bnRpbCBl
bmQtb2YtZmlsZSBpcyByZWFjaGVkICovCnwgCQl7CnwgCQkoeXlfbW9yZV9sZW4pID0gMDsKfCAJ
CWlmICggKHl5X21vcmVfZmxhZykgKQp8IAkJCXsKfCAJCQkoeXlfbW9yZV9sZW4pID0gKHl5X2Nf
YnVmX3ApIC0gKHl5dGV4dF9wdHIpOwp8IAkJCSh5eV9tb3JlX2ZsYWcpID0gMDsKfCAJCQl9Cnwg
CQl5eV9jcCA9ICh5eV9jX2J1Zl9wKTsKfCAKfCAJCS8qIFN1cHBvcnQgb2YgeXl0ZXh0LiAqLwp8
IAkJKnl5X2NwID0gKHl5X2hvbGRfY2hhcik7CnwgCnwgCQkvKiB5eV9icCBwb2ludHMgdG8gdGhl
IHBvc2l0aW9uIGluIHl5X2NoX2J1ZiBvZiB0aGUgc3RhcnQgb2YKfCAJCSAqIHRoZSBjdXJyZW50
IHJ1bi4KfCAJCSAqLwp8IAkJeXlfYnAgPSB5eV9jcDsKfCAKfCAJCXl5X2N1cnJlbnRfc3RhdGUg
PSAoeXlfc3RhcnQpOwp8IAp8IAkJKHl5X3N0YXRlX3B0cikgPSAoeXlfc3RhdGVfYnVmKTsKfCAJ
CSooeXlfc3RhdGVfcHRyKSsrID0geXlfY3VycmVudF9zdGF0ZTsKfCAKfCB5eV9tYXRjaDoKfCAJ
CWRvCnwgCQkJewp8IAkJCXJlZ2lzdGVyIFlZX0NIQVIgeXlfYyA9IHl5X2VjW1lZX1NDX1RPX1VJ
KCp5eV9jcCldOwp8IAkJCXdoaWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0g
KyB5eV9jXSAhPSB5eV9jdXJyZW50X3N0YXRlICkKfCAJCQkJewp8IAkJCQl5eV9jdXJyZW50X3N0
YXRlID0gKGludCkgeXlfZGVmW3l5X2N1cnJlbnRfc3RhdGVdOwp8IAkJCQlpZiAoIHl5X2N1cnJl
bnRfc3RhdGUgPj0gMTMgKQp8IAkJCQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkgeXlf
Y107CnwgCQkJCX0KfCAJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfbnh0W3l5X2Jhc2VbeXlfY3Vy
cmVudF9zdGF0ZV0gKyAodW5zaWduZWQgaW50KSB5eV9jXTsKfCAJCQkqKHl5X3N0YXRlX3B0cikr
KyA9IHl5X2N1cnJlbnRfc3RhdGU7CnwgCQkJKyt5eV9jcDsKfCAJCQl9CnwgCQl3aGlsZSAoIHl5
X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gIT0gMTAgKTsKfCAKfCB5eV9maW5kX2FjdGlvbjoKfCAJ
CXl5X2N1cnJlbnRfc3RhdGUgPSAqLS0oeXlfc3RhdGVfcHRyKTsKfCAJCSh5eV9scCkgPSB5eV9h
Y2NlcHRbeXlfY3VycmVudF9zdGF0ZV07CnwgZmluZF9ydWxlOiAvKiB3ZSBicmFuY2ggdG8gdGhp
cyBsYWJlbCB3aGVuIGJhY2tpbmcgdXAgKi8KfCAJCWZvciAoIDsgOyApIC8qIHVudGlsIHdlIGZp
bmQgd2hhdCBydWxlIHdlIG1hdGNoZWQgKi8KfCAJCQl7CnwgCQkJaWYgKCAoeXlfbHApICYmICh5
eV9scCkgPCB5eV9hY2NlcHRbeXlfY3VycmVudF9zdGF0ZSArIDFdICkKfCAJCQkJewp8IAkJCQl5
eV9hY3QgPSB5eV9hY2NsaXN0Wyh5eV9scCldOwp8IAkJCQkJewp8IAkJCQkJKHl5X2Z1bGxfbWF0
Y2gpID0geXlfY3A7CnwgCQkJCQlicmVhazsKfCAJCQkJCX0KfCAJCQkJfQp8IAkJCS0teXlfY3A7
CnwgCQkJeXlfY3VycmVudF9zdGF0ZSA9ICotLSh5eV9zdGF0ZV9wdHIpOwp8IAkJCSh5eV9scCkg
PSB5eV9hY2NlcHRbeXlfY3VycmVudF9zdGF0ZV07CnwgCQkJfQp8IAp8IAkJWVlfRE9fQkVGT1JF
X0FDVElPTjsKfCAKfCBkb19hY3Rpb246CS8qIFRoaXMgbGFiZWwgaXMgdXNlZCBvbmx5IHRvIGFj
Y2VzcyBFT0YgYWN0aW9ucy4gKi8KfCAKfCAJCXN3aXRjaCAoIHl5X2FjdCApCnwgCXsgLyogYmVn
aW5uaW5nIG9mIGFjdGlvbiBzd2l0Y2ggKi8KfCBjYXNlIDE6CnwgWVlfUlVMRV9TRVRVUAp8ICNs
aW5lIDIgImNvbmZ0ZXN0LmwiCnwgeyBFQ0hPOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSAyOgp8IFlZ
X1JVTEVfU0VUVVAKfCAjbGluZSAzICJjb25mdGVzdC5sIgp8IHsgUkVKRUNUOyB9CnwgCVlZX0JS
RUFLCnwgY2FzZSAzOgp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA0ICJjb25mdGVzdC5sIgp8IHsg
eXltb3JlICgpOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSA0Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGlu
ZSA1ICJjb25mdGVzdC5sIgp8IHsgeXlsZXNzICgxKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNToK
fCBZWV9SVUxFX1NFVFVQCnwgI2xpbmUgNiAiY29uZnRlc3QubCIKfCB7IHl5bGVzcyAoaW5wdXQg
KCkgIT0gMCk7IH0KfCAJWVlfQlJFQUsKfCBjYXNlIDY6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5l
IDcgImNvbmZ0ZXN0LmwiCnwgeyB1bnB1dCAoeXl0ZXh0WzBdKTsgfQp8IAlZWV9CUkVBSwp8IGNh
c2UgNzoKfCBZWV9SVUxFX1NFVFVQCnwgI2xpbmUgOCAiY29uZnRlc3QubCIKfCB7IEJFR0lOIElO
SVRJQUw7IH0KfCAJWVlfQlJFQUsKfCBjYXNlIDg6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDkg
ImNvbmZ0ZXN0LmwiCnwgRUNITzsKfCAJWVlfQlJFQUsKfCAjbGluZSA3NjMgImxleC55eS5jIgp8
IAkJCWNhc2UgWVlfU1RBVEVfRU9GKElOSVRJQUwpOgp8IAkJCQl5eXRlcm1pbmF0ZSgpOwp8IAp8
IAljYXNlIFlZX0VORF9PRl9CVUZGRVI6CnwgCQl7CnwgCQkvKiBBbW91bnQgb2YgdGV4dCBtYXRj
aGVkIG5vdCBpbmNsdWRpbmcgdGhlIEVPQiBjaGFyLiAqLwp8IAkJaW50IHl5X2Ftb3VudF9vZl9t
YXRjaGVkX3RleHQgPSAoaW50KSAoeXlfY3AgLSAoeXl0ZXh0X3B0cikpIC0gMTsKfCAKfCAJCS8q
IFVuZG8gdGhlIGVmZmVjdHMgb2YgWVlfRE9fQkVGT1JFX0FDVElPTi4gKi8KfCAJCSp5eV9jcCA9
ICh5eV9ob2xkX2NoYXIpOwp8IAkJWVlfUkVTVE9SRV9ZWV9NT1JFX09GRlNFVAp8IAp8IAkJaWYg
KCBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1ZmZlcl9zdGF0dXMgPT0gWVlfQlVGRkVS
X05FVyApCnwgCQkJewp8IAkJCS8qIFdlJ3JlIHNjYW5uaW5nIGEgbmV3IGZpbGUgb3IgaW5wdXQg
c291cmNlLiAgSXQncwp8IAkJCSAqIHBvc3NpYmxlIHRoYXQgdGhpcyBoYXBwZW5lZCBiZWNhdXNl
IHRoZSB1c2VyCnwgCQkJICoganVzdCBwb2ludGVkIHl5aW4gYXQgYSBuZXcgc291cmNlIGFuZCBj
YWxsZWQKfCAJCQkgKiB5eWxleCgpLiAgSWYgc28sIHRoZW4gd2UgaGF2ZSB0byBhc3N1cmUKfCAJ
CQkgKiBjb25zaXN0ZW5jeSBiZXR3ZWVuIFlZX0NVUlJFTlRfQlVGRkVSIGFuZCBvdXIKfCAJCQkg
KiBnbG9iYWxzLiAgSGVyZSBpcyB0aGUgcmlnaHQgcGxhY2UgdG8gZG8gc28sIGJlY2F1c2UKfCAJ
CQkgKiB0aGlzIGlzIHRoZSBmaXJzdCBhY3Rpb24gKG90aGVyIHRoYW4gcG9zc2libHkgYQp8IAkJ
CSAqIGJhY2stdXApIHRoYXQgd2lsbCBtYXRjaCBmb3IgdGhlIG5ldyBpbnB1dCBzb3VyY2UuCnwg
CQkJICovCnwgCQkJKHl5X25fY2hhcnMpID0gWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9u
X2NoYXJzOwp8IAkJCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfaW5wdXRfZmlsZSA9IHl5
aW47CnwgCQkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9idWZmZXJfc3RhdHVzID0gWVlf
QlVGRkVSX05PUk1BTDsKfCAJCQl9CnwgCnwgCQkvKiBOb3RlIHRoYXQgaGVyZSB3ZSB0ZXN0IGZv
ciB5eV9jX2J1Zl9wICI8PSIgdG8gdGhlIHBvc2l0aW9uCnwgCQkgKiBvZiB0aGUgZmlyc3QgRU9C
IGluIHRoZSBidWZmZXIsIHNpbmNlIHl5X2NfYnVmX3Agd2lsbAp8IAkJICogYWxyZWFkeSBoYXZl
IGJlZW4gaW5jcmVtZW50ZWQgcGFzdCB0aGUgTlVMIGNoYXJhY3Rlcgp8IAkJICogKHNpbmNlIGFs
bCBzdGF0ZXMgbWFrZSB0cmFuc2l0aW9ucyBvbiBFT0IgdG8gdGhlCnwgCQkgKiBlbmQtb2YtYnVm
ZmVyIHN0YXRlKS4gIENvbnRyYXN0IHRoaXMgd2l0aCB0aGUgdGVzdAp8IAkJICogaW4gaW5wdXQo
KS4KfCAJCSAqLwp8IAkJaWYgKCAoeXlfY19idWZfcCkgPD0gJllZX0NVUlJFTlRfQlVGRkVSX0xW
QUxVRS0+eXlfY2hfYnVmWyh5eV9uX2NoYXJzKV0gKQp8IAkJCXsgLyogVGhpcyB3YXMgcmVhbGx5
IGEgTlVMLiAqLwp8IAkJCXl5X3N0YXRlX3R5cGUgeXlfbmV4dF9zdGF0ZTsKfCAKfCAJCQkoeXlf
Y19idWZfcCkgPSAoeXl0ZXh0X3B0cikgKyB5eV9hbW91bnRfb2ZfbWF0Y2hlZF90ZXh0Owp8IAp8
IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoICApOwp8IAp8IAkJ
CS8qIE9rYXksIHdlJ3JlIG5vdyBwb3NpdGlvbmVkIHRvIG1ha2UgdGhlIE5VTAp8IAkJCSAqIHRy
YW5zaXRpb24uICBXZSBjb3VsZG4ndCBoYXZlCnwgCQkJICogeXlfZ2V0X3ByZXZpb3VzX3N0YXRl
KCkgZ28gYWhlYWQgYW5kIGRvIGl0CnwgCQkJICogZm9yIHVzIGJlY2F1c2UgaXQgZG9lc24ndCBr
bm93IGhvdyB0byBkZWFsCnwgCQkJICogd2l0aCB0aGUgcG9zc2liaWxpdHkgb2YgamFtbWluZyAo
YW5kIHdlIGRvbid0CnwgCQkJICogd2FudCB0byBidWlsZCBqYW1taW5nIGludG8gaXQgYmVjYXVz
ZSB0aGVuIGl0CnwgCQkJICogd2lsbCBydW4gbW9yZSBzbG93bHkpLgp8IAkJCSAqLwp8IAp8IAkJ
CXl5X25leHRfc3RhdGUgPSB5eV90cnlfTlVMX3RyYW5zKCB5eV9jdXJyZW50X3N0YXRlICk7Cnwg
CnwgCQkJeXlfYnAgPSAoeXl0ZXh0X3B0cikgKyBZWV9NT1JFX0FESjsKfCAKfCAJCQlpZiAoIHl5
X25leHRfc3RhdGUgKQp8IAkJCQl7CnwgCQkJCS8qIENvbnN1bWUgdGhlIE5VTC4gKi8KfCAJCQkJ
eXlfY3AgPSArKyh5eV9jX2J1Zl9wKTsKfCAJCQkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X25leHRf
c3RhdGU7CnwgCQkJCWdvdG8geXlfbWF0Y2g7CnwgCQkJCX0KfCAKfCAJCQllbHNlCnwgCQkJCXsK
fCAJCQkJeXlfY3AgPSAoeXlfY19idWZfcCk7CnwgCQkJCWdvdG8geXlfZmluZF9hY3Rpb247Cnwg
CQkJCX0KfCAJCQl9CnwgCnwgCQllbHNlIHN3aXRjaCAoIHl5X2dldF9uZXh0X2J1ZmZlciggICkg
KQp8IAkJCXsKfCAJCQljYXNlIEVPQl9BQ1RfRU5EX09GX0ZJTEU6CnwgCQkJCXsKfCAJCQkJKHl5
X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZikgPSAwOwp8IAp8IAkJCQlpZiAoIHl5d3JhcCggKSAp
CnwgCQkJCQl7CnwgCQkJCQkvKiBOb3RlOiBiZWNhdXNlIHdlJ3ZlIHRha2VuIGNhcmUgaW4KfCAJ
CQkJCSAqIHl5X2dldF9uZXh0X2J1ZmZlcigpIHRvIGhhdmUgc2V0IHVwCnwgCQkJCQkgKiB5eXRl
eHQsIHdlIGNhbiBub3cgc2V0IHVwCnwgCQkJCQkgKiB5eV9jX2J1Zl9wIHNvIHRoYXQgaWYgc29t
ZSB0b3RhbAp8IAkJCQkJICogaG9zZXIgKGxpa2UgZmxleCBpdHNlbGYpIHdhbnRzIHRvCnwgCQkJ
CQkgKiBjYWxsIHRoZSBzY2FubmVyIGFmdGVyIHdlIHJldHVybiB0aGUKfCAJCQkJCSAqIFlZX05V
TEwsIGl0J2xsIHN0aWxsIHdvcmsgLSBhbm90aGVyCnwgCQkJCQkgKiBZWV9OVUxMIHdpbGwgZ2V0
IHJldHVybmVkLgp8IAkJCQkJICovCnwgCQkJCQkoeXlfY19idWZfcCkgPSAoeXl0ZXh0X3B0cikg
KyBZWV9NT1JFX0FESjsKfCAKfCAJCQkJCXl5X2FjdCA9IFlZX1NUQVRFX0VPRihZWV9TVEFSVCk7
CnwgCQkJCQlnb3RvIGRvX2FjdGlvbjsKfCAJCQkJCX0KfCAKfCAJCQkJZWxzZQp8IAkJCQkJewp8
IAkJCQkJaWYgKCAhICh5eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9lb2YpICkKfCAJCQkJCQlZWV9O
RVdfRklMRTsKfCAJCQkJCX0KfCAJCQkJYnJlYWs7CnwgCQkJCX0KfCAKfCAJCQljYXNlIEVPQl9B
Q1RfQ09OVElOVUVfU0NBTjoKfCAJCQkJKHl5X2NfYnVmX3ApID0KfCAJCQkJCSh5eXRleHRfcHRy
KSArIHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQ7CnwgCnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUg
PSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoICApOwp8IAp8IAkJCQl5eV9jcCA9ICh5eV9jX2J1Zl9w
KTsKfCAJCQkJeXlfYnAgPSAoeXl0ZXh0X3B0cikgKyBZWV9NT1JFX0FESjsKfCAJCQkJZ290byB5
eV9tYXRjaDsKfCAKfCAJCQljYXNlIEVPQl9BQ1RfTEFTVF9NQVRDSDoKfCAJCQkJKHl5X2NfYnVm
X3ApID0KfCAJCQkJJllZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVmWyh5eV9uX2No
YXJzKV07CnwgCnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9nZXRfcHJldmlvdXNfc3RhdGUo
ICApOwp8IAp8IAkJCQl5eV9jcCA9ICh5eV9jX2J1Zl9wKTsKfCAJCQkJeXlfYnAgPSAoeXl0ZXh0
X3B0cikgKyBZWV9NT1JFX0FESjsKfCAJCQkJZ290byB5eV9maW5kX2FjdGlvbjsKfCAJCQl9Cnwg
CQlicmVhazsKfCAJCX0KfCAKfCAJZGVmYXVsdDoKfCAJCVlZX0ZBVEFMX0VSUk9SKAp8IAkJCSJm
YXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLW5vIGFjdGlvbiBmb3VuZCIgKTsKfCAJ
fSAvKiBlbmQgb2YgYWN0aW9uIHN3aXRjaCAqLwp8IAkJfSAvKiBlbmQgb2Ygc2Nhbm5pbmcgb25l
IHRva2VuICovCnwgfSAvKiBlbmQgb2YgeXlsZXggKi8KfCAKfCAvKiB5eV9nZXRfbmV4dF9idWZm
ZXIgLSB0cnkgdG8gcmVhZCBpbiBhIG5ldyBidWZmZXIKfCAgKgp8ICAqIFJldHVybnMgYSBjb2Rl
IHJlcHJlc2VudGluZyBhbiBhY3Rpb246CnwgICoJRU9CX0FDVF9MQVNUX01BVENIIC0KfCAgKglF
T0JfQUNUX0NPTlRJTlVFX1NDQU4gLSBjb250aW51ZSBzY2FubmluZyBmcm9tIGN1cnJlbnQgcG9z
aXRpb24KfCAgKglFT0JfQUNUX0VORF9PRl9GSUxFIC0gZW5kIG9mIGZpbGUKfCAgKi8KfCBzdGF0
aWMgaW50IHl5X2dldF9uZXh0X2J1ZmZlciAodm9pZCkKfCB7CnwgICAgIAlyZWdpc3RlciBjaGFy
ICpkZXN0ID0gWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWY7CnwgCXJlZ2lzdGVy
IGNoYXIgKnNvdXJjZSA9ICh5eXRleHRfcHRyKTsKfCAJcmVnaXN0ZXIgaW50IG51bWJlcl90b19t
b3ZlLCBpOwp8IAlpbnQgcmV0X3ZhbDsKfCAKfCAJaWYgKCAoeXlfY19idWZfcCkgPiAmWVlfQ1VS
UkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZbKHl5X25fY2hhcnMpICsgMV0gKQp8IAkJWVlf
RkFUQUxfRVJST1IoCnwgCQkiZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1lbmQg
b2YgYnVmZmVyIG1pc3NlZCIgKTsKfCAKfCAJaWYgKCBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUt
Pnl5X2ZpbGxfYnVmZmVyID09IDAgKQp8IAkJeyAvKiBEb24ndCB0cnkgdG8gZmlsbCB0aGUgYnVm
ZmVyLCBzbyB0aGlzIGlzIGFuIEVPRi4gKi8KfCAJCWlmICggKHl5X2NfYnVmX3ApIC0gKHl5dGV4
dF9wdHIpIC0gWVlfTU9SRV9BREogPT0gMSApCnwgCQkJewp8IAkJCS8qIFdlIG1hdGNoZWQgYSBz
aW5nbGUgY2hhcmFjdGVyLCB0aGUgRU9CLCBzbwp8IAkJCSAqIHRyZWF0IHRoaXMgYXMgYSBmaW5h
bCBFT0YuCnwgCQkJICovCnwgCQkJcmV0dXJuIEVPQl9BQ1RfRU5EX09GX0ZJTEU7CnwgCQkJfQp8
IAp8IAkJZWxzZQp8IAkJCXsKfCAJCQkvKiBXZSBtYXRjaGVkIHNvbWUgdGV4dCBwcmlvciB0byB0
aGUgRU9CLCBmaXJzdAp8IAkJCSAqIHByb2Nlc3MgaXQuCnwgCQkJICovCnwgCQkJcmV0dXJuIEVP
Ql9BQ1RfTEFTVF9NQVRDSDsKfCAJCQl9CnwgCQl9CnwgCnwgCS8qIFRyeSB0byByZWFkIG1vcmUg
ZGF0YS4gKi8KfCAKfCAJLyogRmlyc3QgbW92ZSBsYXN0IGNoYXJzIHRvIHN0YXJ0IG9mIGJ1ZmZl
ci4gKi8KfCAJbnVtYmVyX3RvX21vdmUgPSAoaW50KSAoKHl5X2NfYnVmX3ApIC0gKHl5dGV4dF9w
dHIpKSAtIDE7CnwgCnwgCWZvciAoIGkgPSAwOyBpIDwgbnVtYmVyX3RvX21vdmU7ICsraSApCnwg
CQkqKGRlc3QrKykgPSAqKHNvdXJjZSsrKTsKfCAKfCAJaWYgKCBZWV9DVVJSRU5UX0JVRkZFUl9M
VkFMVUUtPnl5X2J1ZmZlcl9zdGF0dXMgPT0gWVlfQlVGRkVSX0VPRl9QRU5ESU5HICkKfCAJCS8q
IGRvbid0IGRvIHRoZSByZWFkLCBpdCdzIG5vdCBndWFyYW50ZWVkIHRvIHJldHVybiBhbiBFT0Ys
CnwgCQkgKiBqdXN0IGZvcmNlIGFuIEVPRgp8IAkJICovCnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9M
VkFMVUUtPnl5X25fY2hhcnMgPSAoeXlfbl9jaGFycykgPSAwOwp8IAp8IAllbHNlCnwgCQl7Cnwg
CQkJaW50IG51bV90b19yZWFkID0KfCAJCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1
Zl9zaXplIC0gbnVtYmVyX3RvX21vdmUgLSAxOwp8IAp8IAkJd2hpbGUgKCBudW1fdG9fcmVhZCA8
PSAwICkKfCAJCQl7IC8qIE5vdCBlbm91Z2ggcm9vbSBpbiB0aGUgYnVmZmVyIC0gZ3JvdyBpdC4g
Ki8KfCAKfCAJCQlZWV9GQVRBTF9FUlJPUigKfCAiaW5wdXQgYnVmZmVyIG92ZXJmbG93LCBjYW4n
dCBlbmxhcmdlIGJ1ZmZlciBiZWNhdXNlIHNjYW5uZXIgdXNlcyBSRUpFQ1QiICk7CnwgCnwgCQkJ
fQp8IAp8IAkJaWYgKCBudW1fdG9fcmVhZCA+IFlZX1JFQURfQlVGX1NJWkUgKQp8IAkJCW51bV90
b19yZWFkID0gWVlfUkVBRF9CVUZfU0laRTsKfCAKfCAJCS8qIFJlYWQgaW4gbW9yZSBkYXRhLiAq
Lwp8IAkJWVlfSU5QVVQoICgmWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZbbnVt
YmVyX3RvX21vdmVdKSwKfCAJCQkoeXlfbl9jaGFycyksIG51bV90b19yZWFkICk7CnwgCnwgCQlZ
WV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X25fY2hhcnMgPSAoeXlfbl9jaGFycyk7CnwgCQl9
CnwgCnwgCWlmICggKHl5X25fY2hhcnMpID09IDAgKQp8IAkJewp8IAkJaWYgKCBudW1iZXJfdG9f
bW92ZSA9PSBZWV9NT1JFX0FESiApCnwgCQkJewp8IAkJCXJldF92YWwgPSBFT0JfQUNUX0VORF9P
Rl9GSUxFOwp8IAkJCXl5cmVzdGFydCh5eWluICApOwp8IAkJCX0KfCAKfCAJCWVsc2UKfCAJCQl7
CnwgCQkJcmV0X3ZhbCA9IEVPQl9BQ1RfTEFTVF9NQVRDSDsKfCAJCQlZWV9DVVJSRU5UX0JVRkZF
Ul9MVkFMVUUtPnl5X2J1ZmZlcl9zdGF0dXMgPQp8IAkJCQlZWV9CVUZGRVJfRU9GX1BFTkRJTkc7
CnwgCQkJfQp8IAkJfQp8IAp8IAllbHNlCnwgCQlyZXRfdmFsID0gRU9CX0FDVF9DT05USU5VRV9T
Q0FOOwp8IAp8IAkoeXlfbl9jaGFycykgKz0gbnVtYmVyX3RvX21vdmU7CnwgCVlZX0NVUlJFTlRf
QlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVmWyh5eV9uX2NoYXJzKV0gPSBZWV9FTkRfT0ZfQlVGRkVS
X0NIQVI7CnwgCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVmWyh5eV9uX2NoYXJz
KSArIDFdID0gWVlfRU5EX09GX0JVRkZFUl9DSEFSOwp8IAp8IAkoeXl0ZXh0X3B0cikgPSAmWVlf
Q1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZbMF07CnwgCnwgCXJldHVybiByZXRfdmFs
Owp8IH0KfCAKfCAvKiB5eV9nZXRfcHJldmlvdXNfc3RhdGUgLSBnZXQgdGhlIHN0YXRlIGp1c3Qg
YmVmb3JlIHRoZSBFT0IgY2hhciB3YXMgcmVhY2hlZCAqLwp8IAp8ICAgICBzdGF0aWMgeXlfc3Rh
dGVfdHlwZSB5eV9nZXRfcHJldmlvdXNfc3RhdGUgKHZvaWQpCnwgewp8IAlyZWdpc3RlciB5eV9z
dGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGU7CnwgCXJlZ2lzdGVyIGNoYXIgKnl5X2NwOwp8ICAg
ICAKfCAJeXlfY3VycmVudF9zdGF0ZSA9ICh5eV9zdGFydCk7CnwgCnwgCSh5eV9zdGF0ZV9wdHIp
ID0gKHl5X3N0YXRlX2J1Zik7CnwgCSooeXlfc3RhdGVfcHRyKSsrID0geXlfY3VycmVudF9zdGF0
ZTsKfCAKfCAJZm9yICggeXlfY3AgPSAoeXl0ZXh0X3B0cikgKyBZWV9NT1JFX0FESjsgeXlfY3Ag
PCAoeXlfY19idWZfcCk7ICsreXlfY3AgKQp8IAkJewp8IAkJcmVnaXN0ZXIgWVlfQ0hBUiB5eV9j
ID0gKCp5eV9jcCA/IHl5X2VjW1lZX1NDX1RPX1VJKCp5eV9jcCldIDogMSk7CnwgCQl3aGlsZSAo
IHl5X2Noa1t5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsgeXlfY10gIT0geXlfY3VycmVudF9z
dGF0ZSApCnwgCQkJewp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSAoaW50KSB5eV9kZWZbeXlfY3Vy
cmVudF9zdGF0ZV07CnwgCQkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDEzICkKfCAJCQkJeXlf
YyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkgeXlfY107CnwgCQkJfQp8IAkJeXlfY3VycmVudF9z
dGF0ZSA9IHl5X254dFt5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsgKHVuc2lnbmVkIGludCkg
eXlfY107CnwgCQkqKHl5X3N0YXRlX3B0cikrKyA9IHl5X2N1cnJlbnRfc3RhdGU7CnwgCQl9Cnwg
CnwgCXJldHVybiB5eV9jdXJyZW50X3N0YXRlOwp8IH0KfCAKfCAvKiB5eV90cnlfTlVMX3RyYW5z
IC0gdHJ5IHRvIG1ha2UgYSB0cmFuc2l0aW9uIG9uIHRoZSBOVUwgY2hhcmFjdGVyCnwgICoKfCAg
KiBzeW5vcHNpcwp8ICAqCW5leHRfc3RhdGUgPSB5eV90cnlfTlVMX3RyYW5zKCBjdXJyZW50X3N0
YXRlICk7CnwgICovCnwgICAgIHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxfdHJhbnMg
ICh5eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGUgKQp8IHsKfCAJcmVnaXN0ZXIgaW50IHl5
X2lzX2phbTsKfCAgICAgCnwgCXJlZ2lzdGVyIFlZX0NIQVIgeXlfYyA9IDE7CnwgCXdoaWxlICgg
eXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyB5eV9jXSAhPSB5eV9jdXJyZW50X3N0
YXRlICkKfCAJCXsKfCAJCXl5X2N1cnJlbnRfc3RhdGUgPSAoaW50KSB5eV9kZWZbeXlfY3VycmVu
dF9zdGF0ZV07CnwgCQlpZiAoIHl5X2N1cnJlbnRfc3RhdGUgPj0gMTMgKQp8IAkJCXl5X2MgPSB5
eV9tZXRhWyh1bnNpZ25lZCBpbnQpIHl5X2NdOwp8IAkJfQp8IAl5eV9jdXJyZW50X3N0YXRlID0g
eXlfbnh0W3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyAodW5zaWduZWQgaW50KSB5eV9jXTsK
fCAJeXlfaXNfamFtID0gKHl5X2N1cnJlbnRfc3RhdGUgPT0gMTIpOwp8IAlpZiAoICEgeXlfaXNf
amFtICkKfCAJCSooeXlfc3RhdGVfcHRyKSsrID0geXlfY3VycmVudF9zdGF0ZTsKfCAKfCAJcmV0
dXJuIHl5X2lzX2phbSA/IDAgOiB5eV9jdXJyZW50X3N0YXRlOwp8IH0KfCAKfCAgICAgc3RhdGlj
IHZvaWQgeXl1bnB1dCAoaW50IGMsIHJlZ2lzdGVyIGNoYXIgKiB5eV9icCApCnwgewp8IAlyZWdp
c3RlciBjaGFyICp5eV9jcDsKfCAgICAgCnwgICAgIHl5X2NwID0gKHl5X2NfYnVmX3ApOwp8IAp8
IAkvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQgKi8KfCAJKnl5X2NwID0gKHl5
X2hvbGRfY2hhcik7CnwgCnwgCWlmICggeXlfY3AgPCBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUt
Pnl5X2NoX2J1ZiArIDIgKQp8IAkJeyAvKiBuZWVkIHRvIHNoaWZ0IHRoaW5ncyB1cCB0byBtYWtl
IHJvb20gKi8KfCAJCS8qICsyIGZvciBFT0IgY2hhcnMuICovCnwgCQlyZWdpc3RlciBpbnQgbnVt
YmVyX3RvX21vdmUgPSAoeXlfbl9jaGFycykgKyAyOwp8IAkJcmVnaXN0ZXIgY2hhciAqZGVzdCA9
ICZZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZlsKfCAJCQkJCVlZX0NVUlJFTlRf
QlVGRkVSX0xWQUxVRS0+eXlfYnVmX3NpemUgKyAyXTsKfCAJCXJlZ2lzdGVyIGNoYXIgKnNvdXJj
ZSA9CnwgCQkJCSZZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZltudW1iZXJfdG9f
bW92ZV07CnwgCnwgCQl3aGlsZSAoIHNvdXJjZSA+IFlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+
eXlfY2hfYnVmICkKfCAJCQkqLS1kZXN0ID0gKi0tc291cmNlOwp8IAp8IAkJeXlfY3AgKz0gKGlu
dCkgKGRlc3QgLSBzb3VyY2UpOwp8IAkJeXlfYnAgKz0gKGludCkgKGRlc3QgLSBzb3VyY2UpOwp8
IAkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9uX2NoYXJzID0KfCAJCQkoeXlfbl9jaGFy
cykgPSBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1Zl9zaXplOwp8IAp8IAkJaWYgKCB5
eV9jcCA8IFlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVmICsgMiApCnwgCQkJWVlf
RkFUQUxfRVJST1IoICJmbGV4IHNjYW5uZXIgcHVzaC1iYWNrIG92ZXJmbG93IiApOwp8IAkJfQp8
IAp8IAkqLS15eV9jcCA9IChjaGFyKSBjOwp8IAp8IAkoeXl0ZXh0X3B0cikgPSB5eV9icDsKfCAJ
KHl5X2hvbGRfY2hhcikgPSAqeXlfY3A7CnwgCSh5eV9jX2J1Zl9wKSA9IHl5X2NwOwp8IH0KfCAK
fCAjaWZuZGVmIFlZX05PX0lOUFVUCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAgIHN0YXRpYyBp
bnQgeXlpbnB1dCAodm9pZCkKfCAjZWxzZQp8ICAgICBzdGF0aWMgaW50IGlucHV0ICAodm9pZCkK
fCAjZW5kaWYKfCAKfCB7CnwgCWludCBjOwp8ICAgICAKfCAJKih5eV9jX2J1Zl9wKSA9ICh5eV9o
b2xkX2NoYXIpOwp8IAp8IAlpZiAoICooeXlfY19idWZfcCkgPT0gWVlfRU5EX09GX0JVRkZFUl9D
SEFSICkKfCAJCXsKfCAJCS8qIHl5X2NfYnVmX3Agbm93IHBvaW50cyB0byB0aGUgY2hhcmFjdGVy
IHdlIHdhbnQgdG8gcmV0dXJuLgp8IAkJICogSWYgdGhpcyBvY2N1cnMgKmJlZm9yZSogdGhlIEVP
QiBjaGFyYWN0ZXJzLCB0aGVuIGl0J3MgYQp8IAkJICogdmFsaWQgTlVMOyBpZiBub3QsIHRoZW4g
d2UndmUgaGl0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4KfCAJCSAqLwp8IAkJaWYgKCAoeXlfY19i
dWZfcCkgPCAmWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZbKHl5X25fY2hhcnMp
XSApCnwgCQkJLyogVGhpcyB3YXMgcmVhbGx5IGEgTlVMLiAqLwp8IAkJCSooeXlfY19idWZfcCkg
PSAnXDAnOwp8IAp8IAkJZWxzZQp8IAkJCXsgLyogbmVlZCBtb3JlIGlucHV0ICovCnwgCQkJaW50
IG9mZnNldCA9ICh5eV9jX2J1Zl9wKSAtICh5eXRleHRfcHRyKTsKfCAJCQkrKyh5eV9jX2J1Zl9w
KTsKfCAKfCAJCQlzd2l0Y2ggKCB5eV9nZXRfbmV4dF9idWZmZXIoICApICkKfCAJCQkJewp8IAkJ
CQljYXNlIEVPQl9BQ1RfTEFTVF9NQVRDSDoKfCAJCQkJCS8qIFRoaXMgaGFwcGVucyBiZWNhdXNl
IHl5X2dfbl9iKCkKfCAJCQkJCSAqIHNlZXMgdGhhdCB3ZSd2ZSBhY2N1bXVsYXRlZCBhCnwgCQkJ
CQkgKiB0b2tlbiBhbmQgZmxhZ3MgdGhhdCB3ZSBuZWVkIHRvCnwgCQkJCQkgKiB0cnkgbWF0Y2hp
bmcgdGhlIHRva2VuIGJlZm9yZQp8IAkJCQkJICogcHJvY2VlZGluZy4gIEJ1dCBmb3IgaW5wdXQo
KSwKfCAJCQkJCSAqIHRoZXJlJ3Mgbm8gbWF0Y2hpbmcgdG8gY29uc2lkZXIuCnwgCQkJCQkgKiBT
byBjb252ZXJ0IHRoZSBFT0JfQUNUX0xBU1RfTUFUQ0gKfCAJCQkJCSAqIHRvIEVPQl9BQ1RfRU5E
X09GX0ZJTEUuCnwgCQkJCQkgKi8KfCAKfCAJCQkJCS8qIFJlc2V0IGJ1ZmZlciBzdGF0dXMuICov
CnwgCQkJCQl5eXJlc3RhcnQoeXlpbiApOwp8IAp8IAkJCQkJLypGQUxMVEhST1VHSCovCnwgCnwg
CQkJCWNhc2UgRU9CX0FDVF9FTkRfT0ZfRklMRToKfCAJCQkJCXsKfCAJCQkJCWlmICggeXl3cmFw
KCApICkKfCAJCQkJCQlyZXR1cm4gRU9GOwp8IAp8IAkJCQkJaWYgKCAhICh5eV9kaWRfYnVmZmVy
X3N3aXRjaF9vbl9lb2YpICkKfCAJCQkJCQlZWV9ORVdfRklMRTsKfCAjaWZkZWYgX19jcGx1c3Bs
dXMKfCAJCQkJCXJldHVybiB5eWlucHV0KCk7CnwgI2Vsc2UKfCAJCQkJCXJldHVybiBpbnB1dCgp
Owp8ICNlbmRpZgp8IAkJCQkJfQp8IAp8IAkJCQljYXNlIEVPQl9BQ1RfQ09OVElOVUVfU0NBTjoK
fCAJCQkJCSh5eV9jX2J1Zl9wKSA9ICh5eXRleHRfcHRyKSArIG9mZnNldDsKfCAJCQkJCWJyZWFr
Owp8IAkJCQl9CnwgCQkJfQp8IAkJfQp8IAp8IAljID0gKih1bnNpZ25lZCBjaGFyICopICh5eV9j
X2J1Zl9wKTsJLyogY2FzdCBmb3IgOC1iaXQgY2hhcidzICovCnwgCSooeXlfY19idWZfcCkgPSAn
XDAnOwkvKiBwcmVzZXJ2ZSB5eXRleHQgKi8KfCAJKHl5X2hvbGRfY2hhcikgPSAqKysoeXlfY19i
dWZfcCk7CnwgCnwgCXJldHVybiBjOwp8IH0KfCAjZW5kaWYJLyogaWZuZGVmIFlZX05PX0lOUFVU
ICovCnwgCnwgLyoqIEltbWVkaWF0ZWx5IHN3aXRjaCB0byBhIGRpZmZlcmVudCBpbnB1dCBzdHJl
YW0uCnwgICogQHBhcmFtIGlucHV0X2ZpbGUgQSByZWFkYWJsZSBzdHJlYW0uCnwgICogCnwgICog
QG5vdGUgVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXNldCB0aGUgc3RhcnQgY29uZGl0aW9uIHRv
IEBjIElOSVRJQUwgLgp8ICAqLwp8ICAgICB2b2lkIHl5cmVzdGFydCAgKEZJTEUgKiBpbnB1dF9m
aWxlICkKfCB7CnwgICAgIAp8IAlpZiAoICEgWVlfQ1VSUkVOVF9CVUZGRVIgKXsKfCAgICAgICAg
IHl5ZW5zdXJlX2J1ZmZlcl9zdGFjayAoKTsKfCAJCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRSA9
CnwgICAgICAgICAgICAgeXlfY3JlYXRlX2J1ZmZlcih5eWluLFlZX0JVRl9TSVpFICk7CnwgCX0K
fCAKfCAJeXlfaW5pdF9idWZmZXIoWVlfQ1VSUkVOVF9CVUZGRVIsaW5wdXRfZmlsZSApOwp8IAl5
eV9sb2FkX2J1ZmZlcl9zdGF0ZSggKTsKfCB9CnwgCnwgLyoqIFN3aXRjaCB0byBhIGRpZmZlcmVu
dCBpbnB1dCBidWZmZXIuCnwgICogQHBhcmFtIG5ld19idWZmZXIgVGhlIG5ldyBpbnB1dCBidWZm
ZXIuCnwgICogCnwgICovCnwgICAgIHZvaWQgeXlfc3dpdGNoX3RvX2J1ZmZlciAgKFlZX0JVRkZF
Ul9TVEFURSAgbmV3X2J1ZmZlciApCnwgewp8ICAgICAKfCAJLyogVE9ETy4gV2Ugc2hvdWxkIGJl
IGFibGUgdG8gcmVwbGFjZSB0aGlzIGVudGlyZSBmdW5jdGlvbiBib2R5CnwgCSAqIHdpdGgKfCAJ
ICoJCXl5cG9wX2J1ZmZlcl9zdGF0ZSgpOwp8IAkgKgkJeXlwdXNoX2J1ZmZlcl9zdGF0ZShuZXdf
YnVmZmVyKTsKfCAgICAgICovCnwgCXl5ZW5zdXJlX2J1ZmZlcl9zdGFjayAoKTsKfCAJaWYgKCBZ
WV9DVVJSRU5UX0JVRkZFUiA9PSBuZXdfYnVmZmVyICkKfCAJCXJldHVybjsKfCAKfCAJaWYgKCBZ
WV9DVVJSRU5UX0JVRkZFUiApCnwgCQl7CnwgCQkvKiBGbHVzaCBvdXQgaW5mb3JtYXRpb24gZm9y
IG9sZCBidWZmZXIuICovCnwgCQkqKHl5X2NfYnVmX3ApID0gKHl5X2hvbGRfY2hhcik7CnwgCQlZ
WV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1Zl9wb3MgPSAoeXlfY19idWZfcCk7CnwgCQlZ
WV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X25fY2hhcnMgPSAoeXlfbl9jaGFycyk7CnwgCQl9
CnwgCnwgCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRSA9IG5ld19idWZmZXI7CnwgCXl5X2xvYWRf
YnVmZmVyX3N0YXRlKCApOwp8IAp8IAkvKiBXZSBkb24ndCBhY3R1YWxseSBrbm93IHdoZXRoZXIg
d2UgZGlkIHRoaXMgc3dpdGNoIGR1cmluZwp8IAkgKiBFT0YgKHl5d3JhcCgpKSBwcm9jZXNzaW5n
LCBidXQgdGhlIG9ubHkgdGltZSB0aGlzIGZsYWcKfCAJICogaXMgbG9va2VkIGF0IGlzIGFmdGVy
IHl5d3JhcCgpIGlzIGNhbGxlZCwgc28gaXQncyBzYWZlCnwgCSAqIHRvIGdvIGFoZWFkIGFuZCBh
bHdheXMgc2V0IGl0Lgp8IAkgKi8KfCAJKHl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZikgPSAx
Owp8IH0KfCAKfCBzdGF0aWMgdm9pZCB5eV9sb2FkX2J1ZmZlcl9zdGF0ZSAgKHZvaWQpCnwgewp8
ICAgICAJKHl5X25fY2hhcnMpID0gWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9uX2NoYXJz
Owp8IAkoeXl0ZXh0X3B0cikgPSAoeXlfY19idWZfcCkgPSBZWV9DVVJSRU5UX0JVRkZFUl9MVkFM
VUUtPnl5X2J1Zl9wb3M7CnwgCXl5aW4gPSBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2lu
cHV0X2ZpbGU7CnwgCSh5eV9ob2xkX2NoYXIpID0gKih5eV9jX2J1Zl9wKTsKfCB9CnwgCnwgLyoq
IEFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGFuIGlucHV0IGJ1ZmZlciBzdGF0ZS4KfCAgKiBAcGFy
YW0gZmlsZSBBIHJlYWRhYmxlIHN0cmVhbS4KfCAgKiBAcGFyYW0gc2l6ZSBUaGUgY2hhcmFjdGVy
IGJ1ZmZlciBzaXplIGluIGJ5dGVzLiBXaGVuIGluIGRvdWJ0LCB1c2UgQGMgWVlfQlVGX1NJWkUu
CnwgICogCnwgICogQHJldHVybiB0aGUgYWxsb2NhdGVkIGJ1ZmZlciBzdGF0ZS4KfCAgKi8KfCAg
ICAgWVlfQlVGRkVSX1NUQVRFIHl5X2NyZWF0ZV9idWZmZXIgIChGSUxFICogZmlsZSwgaW50ICBz
aXplICkKfCB7CnwgCVlZX0JVRkZFUl9TVEFURSBiOwp8ICAgICAKfCAJYiA9IChZWV9CVUZGRVJf
U1RBVEUpIHl5YWxsb2Moc2l6ZW9mKCBzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRlICkgICk7CnwgCWlm
ICggISBiICkKfCAJCVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5
X2NyZWF0ZV9idWZmZXIoKSIgKTsKfCAKfCAJYi0+eXlfYnVmX3NpemUgPSBzaXplOwp8IAp8IAkv
KiB5eV9jaF9idWYgaGFzIHRvIGJlIDIgY2hhcmFjdGVycyBsb25nZXIgdGhhbiB0aGUgc2l6ZSBn
aXZlbiBiZWNhdXNlCnwgCSAqIHdlIG5lZWQgdG8gcHV0IGluIDIgZW5kLW9mLWJ1ZmZlciBjaGFy
YWN0ZXJzLgp8IAkgKi8KfCAJYi0+eXlfY2hfYnVmID0gKGNoYXIgKikgeXlhbGxvYyhiLT55eV9i
dWZfc2l6ZSArIDIgICk7CnwgCWlmICggISBiLT55eV9jaF9idWYgKQp8IAkJWVlfRkFUQUxfRVJS
T1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4geXlfY3JlYXRlX2J1ZmZlcigpIiApOwp8IAp8
IAliLT55eV9pc19vdXJfYnVmZmVyID0gMTsKfCAKfCAJeXlfaW5pdF9idWZmZXIoYixmaWxlICk7
CnwgCnwgCXJldHVybiBiOwp8IH0KfCAKfCAvKiogRGVzdHJveSB0aGUgYnVmZmVyLgp8ICAqIEBw
YXJhbSBiIGEgYnVmZmVyIGNyZWF0ZWQgd2l0aCB5eV9jcmVhdGVfYnVmZmVyKCkKfCAgKiAKfCAg
Ki8KfCAgICAgdm9pZCB5eV9kZWxldGVfYnVmZmVyIChZWV9CVUZGRVJfU1RBVEUgIGIgKQp8IHsK
fCAgICAgCnwgCWlmICggISBiICkKfCAJCXJldHVybjsKfCAKfCAJaWYgKCBiID09IFlZX0NVUlJF
TlRfQlVGRkVSICkgLyogTm90IHN1cmUgaWYgd2Ugc2hvdWxkIHBvcCBoZXJlLiAqLwp8IAkJWVlf
Q1VSUkVOVF9CVUZGRVJfTFZBTFVFID0gKFlZX0JVRkZFUl9TVEFURSkgMDsKfCAKfCAJaWYgKCBi
LT55eV9pc19vdXJfYnVmZmVyICkKfCAJCXl5ZnJlZSgodm9pZCAqKSBiLT55eV9jaF9idWYgICk7
CnwgCnwgCXl5ZnJlZSgodm9pZCAqKSBiICApOwp8IH0KfCAKfCAjaWZuZGVmIF9VTklTVERfSCAv
KiBhc3N1bWUgdW5pc3RkLmggaGFzIGlzYXR0eSgpIGZvciB1cyAqLwp8ICNpZmRlZiBfX2NwbHVz
cGx1cwp8IGV4dGVybiAiQyIgewp8ICNlbmRpZgp8ICNpZmRlZiBfX1RIUk9XIC8qIHRoaXMgaXMg
YSBnbnVpc20gKi8KfCBleHRlcm4gaW50IGlzYXR0eSAoaW50ICkgX19USFJPVzsKfCAjZWxzZQp8
IGV4dGVybiBpbnQgaXNhdHR5IChpbnQgKTsKfCAjZW5kaWYKfCAjaWZkZWYgX19jcGx1c3BsdXMK
fCB9CnwgI2VuZGlmCnwgI2VuZGlmCnwgICAgIAp8IC8qIEluaXRpYWxpemVzIG9yIHJlaW5pdGlh
bGl6ZXMgYSBidWZmZXIuCnwgICogVGhpcyBmdW5jdGlvbiBpcyBzb21ldGltZXMgY2FsbGVkIG1v
cmUgdGhhbiBvbmNlIG9uIHRoZSBzYW1lIGJ1ZmZlciwKfCAgKiBzdWNoIGFzIGR1cmluZyBhIHl5
cmVzdGFydCgpIG9yIGF0IEVPRi4KfCAgKi8KfCAgICAgc3RhdGljIHZvaWQgeXlfaW5pdF9idWZm
ZXIgIChZWV9CVUZGRVJfU1RBVEUgIGIsIEZJTEUgKiBmaWxlICkKfCAKfCB7CnwgCWludCBvZXJy
bm8gPSBlcnJubzsKfCAgICAgCnwgCXl5X2ZsdXNoX2J1ZmZlcihiICk7CnwgCnwgCWItPnl5X2lu
cHV0X2ZpbGUgPSBmaWxlOwp8IAliLT55eV9maWxsX2J1ZmZlciA9IDE7CnwgCnwgICAgIC8qIElm
IGIgaXMgdGhlIGN1cnJlbnQgYnVmZmVyLCB0aGVuIHl5X2luaXRfYnVmZmVyIHdhcyBfcHJvYmFi
bHlfCnwgICAgICAqIGNhbGxlZCBmcm9tIHl5cmVzdGFydCgpIG9yIHRocm91Z2ggeXlfZ2V0X25l
eHRfYnVmZmVyLgp8ICAgICAgKiBJbiB0aGF0IGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gcmVzZXQg
dGhlIGxpbmVubyBvciBjb2x1bW4uCnwgICAgICAqLwp8ICAgICBpZiAoYiAhPSBZWV9DVVJSRU5U
X0JVRkZFUil7CnwgICAgICAgICBiLT55eV9ic19saW5lbm8gPSAxOwp8ICAgICAgICAgYi0+eXlf
YnNfY29sdW1uID0gMDsKfCAgICAgfQp8IAp8ICAgICAgICAgYi0+eXlfaXNfaW50ZXJhY3RpdmUg
PSBmaWxlID8gKGlzYXR0eSggZmlsZW5vKGZpbGUpICkgPiAwKSA6IDA7CnwgICAgIAp8IAllcnJu
byA9IG9lcnJubzsKfCB9CnwgCnwgLyoqIERpc2NhcmQgYWxsIGJ1ZmZlcmVkIGNoYXJhY3RlcnMu
IE9uIHRoZSBuZXh0IHNjYW4sIFlZX0lOUFVUIHdpbGwgYmUgY2FsbGVkLgp8ICAqIEBwYXJhbSBi
IHRoZSBidWZmZXIgc3RhdGUgdG8gYmUgZmx1c2hlZCwgdXN1YWxseSBAYyBZWV9DVVJSRU5UX0JV
RkZFUi4KfCAgKiAKfCAgKi8KfCAgICAgdm9pZCB5eV9mbHVzaF9idWZmZXIgKFlZX0JVRkZFUl9T
VEFURSAgYiApCnwgewp8ICAgICAJaWYgKCAhIGIgKQp8IAkJcmV0dXJuOwp8IAp8IAliLT55eV9u
X2NoYXJzID0gMDsKfCAKfCAJLyogV2UgYWx3YXlzIG5lZWQgdHdvIGVuZC1vZi1idWZmZXIgY2hh
cmFjdGVycy4gIFRoZSBmaXJzdCBjYXVzZXMKfCAJICogYSB0cmFuc2l0aW9uIHRvIHRoZSBlbmQt
b2YtYnVmZmVyIHN0YXRlLiAgVGhlIHNlY29uZCBjYXVzZXMKfCAJICogYSBqYW0gaW4gdGhhdCBz
dGF0ZS4KfCAJICovCnwgCWItPnl5X2NoX2J1ZlswXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsK
fCAJYi0+eXlfY2hfYnVmWzFdID0gWVlfRU5EX09GX0JVRkZFUl9DSEFSOwp8IAp8IAliLT55eV9i
dWZfcG9zID0gJmItPnl5X2NoX2J1ZlswXTsKfCAKfCAJYi0+eXlfYXRfYm9sID0gMTsKfCAJYi0+
eXlfYnVmZmVyX3N0YXR1cyA9IFlZX0JVRkZFUl9ORVc7CnwgCnwgCWlmICggYiA9PSBZWV9DVVJS
RU5UX0JVRkZFUiApCnwgCQl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSggKTsKfCB9CnwgCnwgLyoqIFB1
c2hlcyB0aGUgbmV3IHN0YXRlIG9udG8gdGhlIHN0YWNrLiBUaGUgbmV3IHN0YXRlIGJlY29tZXMK
fCAgKiAgdGhlIGN1cnJlbnQgc3RhdGUuIFRoaXMgZnVuY3Rpb24gd2lsbCBhbGxvY2F0ZSB0aGUg
c3RhY2sKfCAgKiAgaWYgbmVjZXNzYXJ5Lgp8ICAqICBAcGFyYW0gbmV3X2J1ZmZlciBUaGUgbmV3
IHN0YXRlLgp8ICAqICAKfCAgKi8KfCB2b2lkIHl5cHVzaF9idWZmZXJfc3RhdGUgKFlZX0JVRkZF
Ul9TVEFURSBuZXdfYnVmZmVyICkKfCB7CnwgICAgIAlpZiAobmV3X2J1ZmZlciA9PSBOVUxMKQp8
IAkJcmV0dXJuOwp8IAp8IAl5eWVuc3VyZV9idWZmZXJfc3RhY2soKTsKfCAKfCAJLyogVGhpcyBi
bG9jayBpcyBjb3BpZWQgZnJvbSB5eV9zd2l0Y2hfdG9fYnVmZmVyLiAqLwp8IAlpZiAoIFlZX0NV
UlJFTlRfQlVGRkVSICkKfCAJCXsKfCAJCS8qIEZsdXNoIG91dCBpbmZvcm1hdGlvbiBmb3Igb2xk
IGJ1ZmZlci4gKi8KfCAJCSooeXlfY19idWZfcCkgPSAoeXlfaG9sZF9jaGFyKTsKfCAJCVlZX0NV
UlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfYnVmX3BvcyA9ICh5eV9jX2J1Zl9wKTsKfCAJCVlZX0NV
UlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfbl9jaGFycyA9ICh5eV9uX2NoYXJzKTsKfCAJCX0KfCAK
fCAJLyogT25seSBwdXNoIGlmIHRvcCBleGlzdHMuIE90aGVyd2lzZSwgcmVwbGFjZSB0b3AuICov
CnwgCWlmIChZWV9DVVJSRU5UX0JVRkZFUikKfCAJCSh5eV9idWZmZXJfc3RhY2tfdG9wKSsrOwp8
IAlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUgPSBuZXdfYnVmZmVyOwp8IAp8IAkvKiBjb3BpZWQg
ZnJvbSB5eV9zd2l0Y2hfdG9fYnVmZmVyLiAqLwp8IAl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSggKTsK
fCAJKHl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZikgPSAxOwp8IH0KfCAKfCAvKiogUmVtb3Zl
cyBhbmQgZGVsZXRlcyB0aGUgdG9wIG9mIHRoZSBzdGFjaywgaWYgcHJlc2VudC4KfCAgKiAgVGhl
IG5leHQgZWxlbWVudCBiZWNvbWVzIHRoZSBuZXcgdG9wLgp8ICAqICAKfCAgKi8KfCB2b2lkIHl5
cG9wX2J1ZmZlcl9zdGF0ZSAodm9pZCkKfCB7CnwgICAgIAlpZiAoIVlZX0NVUlJFTlRfQlVGRkVS
KQp8IAkJcmV0dXJuOwp8IAp8IAl5eV9kZWxldGVfYnVmZmVyKFlZX0NVUlJFTlRfQlVGRkVSICk7
CnwgCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRSA9IE5VTEw7CnwgCWlmICgoeXlfYnVmZmVyX3N0
YWNrX3RvcCkgPiAwKQp8IAkJLS0oeXlfYnVmZmVyX3N0YWNrX3RvcCk7CnwgCnwgCWlmIChZWV9D
VVJSRU5UX0JVRkZFUikgewp8IAkJeXlfbG9hZF9idWZmZXJfc3RhdGUoICk7CnwgCQkoeXlfZGlk
X2J1ZmZlcl9zd2l0Y2hfb25fZW9mKSA9IDE7CnwgCX0KfCB9CnwgCnwgLyogQWxsb2NhdGVzIHRo
ZSBzdGFjayBpZiBpdCBkb2VzIG5vdCBleGlzdC4KfCAgKiAgR3VhcmFudGVlcyBzcGFjZSBmb3Ig
YXQgbGVhc3Qgb25lIHB1c2guCnwgICovCnwgc3RhdGljIHZvaWQgeXllbnN1cmVfYnVmZmVyX3N0
YWNrICh2b2lkKQp8IHsKfCAJaW50IG51bV90b19hbGxvYzsKfCAgICAgCnwgCWlmICghKHl5X2J1
ZmZlcl9zdGFjaykpIHsKfCAKfCAJCS8qIEZpcnN0IGFsbG9jYXRpb24gaXMganVzdCBmb3IgMiBl
bGVtZW50cywgc2luY2Ugd2UgZG9uJ3Qga25vdyBpZiB0aGlzCnwgCQkgKiBzY2FubmVyIHdpbGwg
ZXZlbiBuZWVkIGEgc3RhY2suIFdlIHVzZSAyIGluc3RlYWQgb2YgMSB0byBhdm9pZCBhbgp8IAkJ
ICogaW1tZWRpYXRlIHJlYWxsb2Mgb24gdGhlIG5leHQgY2FsbC4KfCAgICAgICAgICAqLwp8IAkJ
bnVtX3RvX2FsbG9jID0gMTsKfCAJCSh5eV9idWZmZXJfc3RhY2spID0gKHN0cnVjdCB5eV9idWZm
ZXJfc3RhdGUqKil5eWFsbG9jCnwgCQkJCQkJCQkobnVtX3RvX2FsbG9jICogc2l6ZW9mKHN0cnVj
dCB5eV9idWZmZXJfc3RhdGUqKQp8IAkJCQkJCQkJKTsKfCAJCQp8IAkJbWVtc2V0KCh5eV9idWZm
ZXJfc3RhY2spLCAwLCBudW1fdG9fYWxsb2MgKiBzaXplb2Yoc3RydWN0IHl5X2J1ZmZlcl9zdGF0
ZSopKTsKfCAJCQkJCnwgCQkoeXlfYnVmZmVyX3N0YWNrX21heCkgPSBudW1fdG9fYWxsb2M7Cnwg
CQkoeXlfYnVmZmVyX3N0YWNrX3RvcCkgPSAwOwp8IAkJcmV0dXJuOwp8IAl9CnwgCnwgCWlmICgo
eXlfYnVmZmVyX3N0YWNrX3RvcCkgPj0gKCh5eV9idWZmZXJfc3RhY2tfbWF4KSkgLSAxKXsKfCAK
fCAJCS8qIEluY3JlYXNlIHRoZSBidWZmZXIgdG8gcHJlcGFyZSBmb3IgYSBwb3NzaWJsZSBwdXNo
LiAqLwp8IAkJaW50IGdyb3dfc2l6ZSA9IDggLyogYXJiaXRyYXJ5IGdyb3cgc2l6ZSAqLzsKfCAK
fCAJCW51bV90b19hbGxvYyA9ICh5eV9idWZmZXJfc3RhY2tfbWF4KSArIGdyb3dfc2l6ZTsKfCAJ
CSh5eV9idWZmZXJfc3RhY2spID0gKHN0cnVjdCB5eV9idWZmZXJfc3RhdGUqKil5eXJlYWxsb2MK
fCAJCQkJCQkJCSgoeXlfYnVmZmVyX3N0YWNrKSwKfCAJCQkJCQkJCW51bV90b19hbGxvYyAqIHNp
emVvZihzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRlKikKfCAJCQkJCQkJCSk7CnwgCnwgCQkvKiB6ZXJv
IG9ubHkgdGhlIG5ldyBzbG90cy4qLwp8IAkJbWVtc2V0KCh5eV9idWZmZXJfc3RhY2spICsgKHl5
X2J1ZmZlcl9zdGFja19tYXgpLCAwLCBncm93X3NpemUgKiBzaXplb2Yoc3RydWN0IHl5X2J1ZmZl
cl9zdGF0ZSopKTsKfCAJCSh5eV9idWZmZXJfc3RhY2tfbWF4KSA9IG51bV90b19hbGxvYzsKfCAJ
fQp8IH0KfCAKfCAvKiogU2V0dXAgdGhlIGlucHV0IGJ1ZmZlciBzdGF0ZSB0byBzY2FuIGRpcmVj
dGx5IGZyb20gYSB1c2VyLXNwZWNpZmllZCBjaGFyYWN0ZXIgYnVmZmVyLgp8ICAqIEBwYXJhbSBi
YXNlIHRoZSBjaGFyYWN0ZXIgYnVmZmVyCnwgICogQHBhcmFtIHNpemUgdGhlIHNpemUgaW4gYnl0
ZXMgb2YgdGhlIGNoYXJhY3RlciBidWZmZXIKfCAgKiAKfCAgKiBAcmV0dXJuIHRoZSBuZXdseSBh
bGxvY2F0ZWQgYnVmZmVyIHN0YXRlIG9iamVjdC4gCnwgICovCnwgWVlfQlVGRkVSX1NUQVRFIHl5
X3NjYW5fYnVmZmVyICAoY2hhciAqIGJhc2UsIHl5X3NpemVfdCAgc2l6ZSApCnwgewp8IAlZWV9C
VUZGRVJfU1RBVEUgYjsKfCAgICAgCnwgCWlmICggc2l6ZSA8IDIgfHwKfCAJICAgICBiYXNlW3Np
emUtMl0gIT0gWVlfRU5EX09GX0JVRkZFUl9DSEFSIHx8CnwgCSAgICAgYmFzZVtzaXplLTFdICE9
IFlZX0VORF9PRl9CVUZGRVJfQ0hBUiApCnwgCQkvKiBUaGV5IGZvcmdvdCB0byBsZWF2ZSByb29t
IGZvciB0aGUgRU9CJ3MuICovCnwgCQlyZXR1cm4gMDsKfCAKfCAJYiA9IChZWV9CVUZGRVJfU1RB
VEUpIHl5YWxsb2Moc2l6ZW9mKCBzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRlICkgICk7CnwgCWlmICgg
ISBiICkKfCAJCVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X3Nj
YW5fYnVmZmVyKCkiICk7CnwgCnwgCWItPnl5X2J1Zl9zaXplID0gc2l6ZSAtIDI7CS8qICItIDIi
IHRvIHRha2UgY2FyZSBvZiBFT0IncyAqLwp8IAliLT55eV9idWZfcG9zID0gYi0+eXlfY2hfYnVm
ID0gYmFzZTsKfCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDA7CnwgCWItPnl5X2lucHV0X2ZpbGUg
PSAwOwp8IAliLT55eV9uX2NoYXJzID0gYi0+eXlfYnVmX3NpemU7CnwgCWItPnl5X2lzX2ludGVy
YWN0aXZlID0gMDsKfCAJYi0+eXlfYXRfYm9sID0gMTsKfCAJYi0+eXlfZmlsbF9idWZmZXIgPSAw
Owp8IAliLT55eV9idWZmZXJfc3RhdHVzID0gWVlfQlVGRkVSX05FVzsKfCAKfCAJeXlfc3dpdGNo
X3RvX2J1ZmZlcihiICApOwp8IAp8IAlyZXR1cm4gYjsKfCB9CnwgCnwgLyoqIFNldHVwIHRoZSBp
bnB1dCBidWZmZXIgc3RhdGUgdG8gc2NhbiBhIHN0cmluZy4gVGhlIG5leHQgY2FsbCB0byB5eWxl
eCgpIHdpbGwKfCAgKiBzY2FuIGZyb20gYSBAZSBjb3B5IG9mIEBhIHN0ci4KfCAgKiBAcGFyYW0g
c3RyIGEgTlVMLXRlcm1pbmF0ZWQgc3RyaW5nIHRvIHNjYW4KfCAgKiAKfCAgKiBAcmV0dXJuIHRo
ZSBuZXdseSBhbGxvY2F0ZWQgYnVmZmVyIHN0YXRlIG9iamVjdC4KfCAgKiBAbm90ZSBJZiB5b3Ug
d2FudCB0byBzY2FuIGJ5dGVzIHRoYXQgbWF5IGNvbnRhaW4gTlVMIHZhbHVlcywgdGhlbiB1c2UK
fCAgKiAgICAgICB5eV9zY2FuX2J5dGVzKCkgaW5zdGVhZC4KfCAgKi8KfCBZWV9CVUZGRVJfU1RB
VEUgeXlfc2Nhbl9zdHJpbmcgKHl5Y29uc3QgY2hhciAqIHl5c3RyICkKfCB7CnwgICAgIAp8IAly
ZXR1cm4geXlfc2Nhbl9ieXRlcyh5eXN0cixzdHJsZW4oeXlzdHIpICk7CnwgfQp8IAp8IC8qKiBT
ZXR1cCB0aGUgaW5wdXQgYnVmZmVyIHN0YXRlIHRvIHNjYW4gdGhlIGdpdmVuIGJ5dGVzLiBUaGUg
bmV4dCBjYWxsIHRvIHl5bGV4KCkgd2lsbAp8ICAqIHNjYW4gZnJvbSBhIEBlIGNvcHkgb2YgQGEg
Ynl0ZXMuCnwgICogQHBhcmFtIGJ5dGVzIHRoZSBieXRlIGJ1ZmZlciB0byBzY2FuCnwgICogQHBh
cmFtIGxlbiB0aGUgbnVtYmVyIG9mIGJ5dGVzIGluIHRoZSBidWZmZXIgcG9pbnRlZCB0byBieSBA
YSBieXRlcy4KfCAgKiAKfCAgKiBAcmV0dXJuIHRoZSBuZXdseSBhbGxvY2F0ZWQgYnVmZmVyIHN0
YXRlIG9iamVjdC4KfCAgKi8KfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9ieXRlcyAgKHl5Y29u
c3QgY2hhciAqIHl5Ynl0ZXMsIGludCAgX3l5Ynl0ZXNfbGVuICkKfCB7CnwgCVlZX0JVRkZFUl9T
VEFURSBiOwp8IAljaGFyICpidWY7CnwgCXl5X3NpemVfdCBuOwp8IAlpbnQgaTsKfCAgICAgCnwg
CS8qIEdldCBtZW1vcnkgZm9yIGZ1bGwgYnVmZmVyLCBpbmNsdWRpbmcgc3BhY2UgZm9yIHRyYWls
aW5nIEVPQidzLiAqLwp8IAluID0gX3l5Ynl0ZXNfbGVuICsgMjsKfCAJYnVmID0gKGNoYXIgKikg
eXlhbGxvYyhuICApOwp8IAlpZiAoICEgYnVmICkKfCAJCVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9m
IGR5bmFtaWMgbWVtb3J5IGluIHl5X3NjYW5fYnl0ZXMoKSIgKTsKfCAKfCAJZm9yICggaSA9IDA7
IGkgPCBfeXlieXRlc19sZW47ICsraSApCnwgCQlidWZbaV0gPSB5eWJ5dGVzW2ldOwp8IAp8IAli
dWZbX3l5Ynl0ZXNfbGVuXSA9IGJ1ZltfeXlieXRlc19sZW4rMV0gPSBZWV9FTkRfT0ZfQlVGRkVS
X0NIQVI7CnwgCnwgCWIgPSB5eV9zY2FuX2J1ZmZlcihidWYsbiApOwp8IAlpZiAoICEgYiApCnwg
CQlZWV9GQVRBTF9FUlJPUiggImJhZCBidWZmZXIgaW4geXlfc2Nhbl9ieXRlcygpIiApOwp8IAp8
IAkvKiBJdCdzIG9rYXkgdG8gZ3JvdyBldGMuIHRoaXMgYnVmZmVyLCBhbmQgd2Ugc2hvdWxkIHRo
cm93IGl0CnwgCSAqIGF3YXkgd2hlbiB3ZSdyZSBkb25lLgp8IAkgKi8KfCAJYi0+eXlfaXNfb3Vy
X2J1ZmZlciA9IDE7CnwgCnwgCXJldHVybiBiOwp8IH0KfCAKfCAjaWZuZGVmIFlZX0VYSVRfRkFJ
TFVSRQp8ICNkZWZpbmUgWVlfRVhJVF9GQUlMVVJFIDIKfCAjZW5kaWYKfCAKfCBzdGF0aWMgdm9p
ZCB5eV9mYXRhbF9lcnJvciAoeXljb25zdCBjaGFyKiBtc2cgKQp8IHsKfCAgICAgCSh2b2lkKSBm
cHJpbnRmKCBzdGRlcnIsICIlc1xuIiwgbXNnICk7CnwgCWV4aXQoIFlZX0VYSVRfRkFJTFVSRSAp
Owp8IH0KfCAKfCAvKiBSZWRlZmluZSB5eWxlc3MoKSBzbyBpdCB3b3JrcyBpbiBzZWN0aW9uIDMg
Y29kZS4gKi8KfCAKfCAjdW5kZWYgeXlsZXNzCnwgI2RlZmluZSB5eWxlc3MobikgXAp8IAlkbyBc
CnwgCQl7IFwKfCAJCS8qIFVuZG8gZWZmZWN0cyBvZiBzZXR0aW5nIHVwIHl5dGV4dC4gKi8gXAp8
ICAgICAgICAgaW50IHl5bGVzc19tYWNyb19hcmcgPSAobik7IFwKfCAgICAgICAgIFlZX0xFU1Nf
TElORU5PKHl5bGVzc19tYWNyb19hcmcpO1wKfCAJCXl5dGV4dFt5eWxlbmddID0gKHl5X2hvbGRf
Y2hhcik7IFwKfCAJCSh5eV9jX2J1Zl9wKSA9IHl5dGV4dCArIHl5bGVzc19tYWNyb19hcmc7IFwK
fCAJCSh5eV9ob2xkX2NoYXIpID0gKih5eV9jX2J1Zl9wKTsgXAp8IAkJKih5eV9jX2J1Zl9wKSA9
ICdcMCc7IFwKfCAJCXl5bGVuZyA9IHl5bGVzc19tYWNyb19hcmc7IFwKfCAJCX0gXAp8IAl3aGls
ZSAoIDAgKQp8IAp8IC8qIEFjY2Vzc29yICBtZXRob2RzIChnZXQvc2V0IGZ1bmN0aW9ucykgdG8g
c3RydWN0IG1lbWJlcnMuICovCnwgCnwgLyoqIEdldCB0aGUgY3VycmVudCBsaW5lIG51bWJlci4K
fCAgKiAKfCAgKi8KfCBpbnQgeXlnZXRfbGluZW5vICAodm9pZCkKfCB7CnwgICAgICAgICAKfCAg
ICAgcmV0dXJuIHl5bGluZW5vOwp8IH0KfCAKfCAvKiogR2V0IHRoZSBpbnB1dCBzdHJlYW0uCnwg
ICogCnwgICovCnwgRklMRSAqeXlnZXRfaW4gICh2b2lkKQp8IHsKfCAgICAgICAgIHJldHVybiB5
eWluOwp8IH0KfCAKfCAvKiogR2V0IHRoZSBvdXRwdXQgc3RyZWFtLgp8ICAqIAp8ICAqLwp8IEZJ
TEUgKnl5Z2V0X291dCAgKHZvaWQpCnwgewp8ICAgICAgICAgcmV0dXJuIHl5b3V0Owp8IH0KfCAK
fCAvKiogR2V0IHRoZSBsZW5ndGggb2YgdGhlIGN1cnJlbnQgdG9rZW4uCnwgICogCnwgICovCnwg
aW50IHl5Z2V0X2xlbmcgICh2b2lkKQp8IHsKfCAgICAgICAgIHJldHVybiB5eWxlbmc7CnwgfQp8
IAp8IC8qKiBHZXQgdGhlIGN1cnJlbnQgdG9rZW4uCnwgICogCnwgICovCnwgCnwgY2hhciAqeXln
ZXRfdGV4dCAgKHZvaWQpCnwgewp8ICAgICAgICAgcmV0dXJuIHl5dGV4dDsKfCB9CnwgCnwgLyoq
IFNldCB0aGUgY3VycmVudCBsaW5lIG51bWJlci4KfCAgKiBAcGFyYW0gbGluZV9udW1iZXIKfCAg
KiAKfCAgKi8KfCB2b2lkIHl5c2V0X2xpbmVubyAoaW50ICBsaW5lX251bWJlciApCnwgewp8ICAg
ICAKfCAgICAgeXlsaW5lbm8gPSBsaW5lX251bWJlcjsKfCB9CnwgCnwgLyoqIFNldCB0aGUgaW5w
dXQgc3RyZWFtLiBUaGlzIGRvZXMgbm90IGRpc2NhcmQgdGhlIGN1cnJlbnQKfCAgKiBpbnB1dCBi
dWZmZXIuCnwgICogQHBhcmFtIGluX3N0ciBBIHJlYWRhYmxlIHN0cmVhbS4KfCAgKiAKfCAgKiBA
c2VlIHl5X3N3aXRjaF90b19idWZmZXIKfCAgKi8KfCB2b2lkIHl5c2V0X2luIChGSUxFICogIGlu
X3N0ciApCnwgewp8ICAgICAgICAgeXlpbiA9IGluX3N0ciA7CnwgfQp8IAp8IHZvaWQgeXlzZXRf
b3V0IChGSUxFICogIG91dF9zdHIgKQp8IHsKfCAgICAgICAgIHl5b3V0ID0gb3V0X3N0ciA7Cnwg
fQp8IAp8IGludCB5eWdldF9kZWJ1ZyAgKHZvaWQpCnwgewp8ICAgICAgICAgcmV0dXJuIHl5X2Zs
ZXhfZGVidWc7CnwgfQp8IAp8IHZvaWQgeXlzZXRfZGVidWcgKGludCAgYmRlYnVnICkKfCB7Cnwg
ICAgICAgICB5eV9mbGV4X2RlYnVnID0gYmRlYnVnIDsKfCB9CnwgCnwgc3RhdGljIGludCB5eV9p
bml0X2dsb2JhbHMgKHZvaWQpCnwgewp8ICAgICAgICAgLyogSW5pdGlhbGl6YXRpb24gaXMgdGhl
IHNhbWUgYXMgZm9yIHRoZSBub24tcmVlbnRyYW50IHNjYW5uZXIuCnwgICAgICAqIFRoaXMgZnVu
Y3Rpb24gaXMgY2FsbGVkIGZyb20geXlsZXhfZGVzdHJveSgpLCBzbyBkb24ndCBhbGxvY2F0ZSBo
ZXJlLgp8ICAgICAgKi8KfCAKfCAgICAgKHl5X2J1ZmZlcl9zdGFjaykgPSAwOwp8ICAgICAoeXlf
YnVmZmVyX3N0YWNrX3RvcCkgPSAwOwp8ICAgICAoeXlfYnVmZmVyX3N0YWNrX21heCkgPSAwOwp8
ICAgICAoeXlfY19idWZfcCkgPSAoY2hhciAqKSAwOwp8ICAgICAoeXlfaW5pdCkgPSAwOwp8ICAg
ICAoeXlfc3RhcnQpID0gMDsKfCAKfCAgICAgKHl5X3N0YXRlX2J1ZikgPSAwOwp8ICAgICAoeXlf
c3RhdGVfcHRyKSA9IDA7CnwgICAgICh5eV9mdWxsX21hdGNoKSA9IDA7CnwgICAgICh5eV9scCkg
PSAwOwp8IAp8IC8qIERlZmluZWQgaW4gbWFpbi5jICovCnwgI2lmZGVmIFlZX1NURElOSVQKfCAg
ICAgeXlpbiA9IHN0ZGluOwp8ICAgICB5eW91dCA9IHN0ZG91dDsKfCAjZWxzZQp8ICAgICB5eWlu
ID0gKEZJTEUgKikgMDsKfCAgICAgeXlvdXQgPSAoRklMRSAqKSAwOwp8ICNlbmRpZgp8IAp8ICAg
ICAvKiBGb3IgZnV0dXJlIHJlZmVyZW5jZTogU2V0IGVycm5vIG9uIGVycm9yLCBzaW5jZSB3ZSBh
cmUgY2FsbGVkIGJ5CnwgICAgICAqIHl5bGV4X2luaXQoKQp8ICAgICAgKi8KfCAgICAgcmV0dXJu
IDA7CnwgfQp8IAp8IC8qIHl5bGV4X2Rlc3Ryb3kgaXMgZm9yIGJvdGggcmVlbnRyYW50IGFuZCBu
b24tcmVlbnRyYW50IHNjYW5uZXJzLiAqLwp8IGludCB5eWxleF9kZXN0cm95ICAodm9pZCkKfCB7
CnwgICAgIAp8ICAgICAvKiBQb3AgdGhlIGJ1ZmZlciBzdGFjaywgZGVzdHJveWluZyBlYWNoIGVs
ZW1lbnQuICovCnwgCXdoaWxlKFlZX0NVUlJFTlRfQlVGRkVSKXsKfCAJCXl5X2RlbGV0ZV9idWZm
ZXIoWVlfQ1VSUkVOVF9CVUZGRVIgICk7CnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUgPSBO
VUxMOwp8IAkJeXlwb3BfYnVmZmVyX3N0YXRlKCk7CnwgCX0KfCAKfCAJLyogRGVzdHJveSB0aGUg
c3RhY2sgaXRzZWxmLiAqLwp8IAl5eWZyZWUoKHl5X2J1ZmZlcl9zdGFjaykgKTsKfCAJKHl5X2J1
ZmZlcl9zdGFjaykgPSBOVUxMOwp8IAp8ICAgICB5eWZyZWUgKCAoeXlfc3RhdGVfYnVmKSApOwp8
ICAgICAoeXlfc3RhdGVfYnVmKSAgPSBOVUxMOwp8IAp8ICAgICAvKiBSZXNldCB0aGUgZ2xvYmFs
cy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gYSBub24tcmVlbnRyYW50IHNjYW5uZXIgc28gdGhlIG5l
eHQgdGltZQp8ICAgICAgKiB5eWxleCgpIGlzIGNhbGxlZCwgaW5pdGlhbGl6YXRpb24gd2lsbCBv
Y2N1ci4gKi8KfCAgICAgeXlfaW5pdF9nbG9iYWxzKCApOwp8IAp8ICAgICByZXR1cm4gMDsKfCB9
CnwgCnwgLyoKfCAgKiBJbnRlcm5hbCB1dGlsaXR5IHJvdXRpbmVzLgp8ICAqLwp8IAp8ICNpZm5k
ZWYgeXl0ZXh0X3B0cgp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfc3RybmNweSAoY2hhciogczEsIHl5
Y29uc3QgY2hhciAqIHMyLCBpbnQgbiApCnwgewp8IAlyZWdpc3RlciBpbnQgaTsKfCAJZm9yICgg
aSA9IDA7IGkgPCBuOyArK2kgKQp8IAkJczFbaV0gPSBzMltpXTsKfCB9CnwgI2VuZGlmCnwgCnwg
I2lmZGVmIFlZX05FRURfU1RSTEVOCnwgc3RhdGljIGludCB5eV9mbGV4X3N0cmxlbiAoeXljb25z
dCBjaGFyICogcyApCnwgewp8IAlyZWdpc3RlciBpbnQgbjsKfCAJZm9yICggbiA9IDA7IHNbbl07
ICsrbiApCnwgCQk7CnwgCnwgCXJldHVybiBuOwp8IH0KfCAjZW5kaWYKfCAKfCB2b2lkICp5eWFs
bG9jICh5eV9zaXplX3QgIHNpemUgKQp8IHsKfCAJcmV0dXJuICh2b2lkICopIG1hbGxvYyggc2l6
ZSApOwp8IH0KfCAKfCB2b2lkICp5eXJlYWxsb2MgICh2b2lkICogcHRyLCB5eV9zaXplX3QgIHNp
emUgKQp8IHsKfCAJLyogVGhlIGNhc3QgdG8gKGNoYXIgKikgaW4gdGhlIGZvbGxvd2luZyBhY2Nv
bW1vZGF0ZXMgYm90aAp8IAkgKiBpbXBsZW1lbnRhdGlvbnMgdGhhdCB1c2UgY2hhciogZ2VuZXJp
YyBwb2ludGVycywgYW5kIHRob3NlCnwgCSAqIHRoYXQgdXNlIHZvaWQqIGdlbmVyaWMgcG9pbnRl
cnMuICBJdCB3b3JrcyB3aXRoIHRoZSBsYXR0ZXIKfCAJICogYmVjYXVzZSBib3RoIEFOU0kgQyBh
bmQgQysrIGFsbG93IGNhc3RsZXNzIGFzc2lnbm1lbnQgZnJvbQp8IAkgKiBhbnkgcG9pbnRlciB0
eXBlIHRvIHZvaWQqLCBhbmQgZGVhbCB3aXRoIGFyZ3VtZW50IGNvbnZlcnNpb25zCnwgCSAqIGFz
IHRob3VnaCBkb2luZyBhbiBhc3NpZ25tZW50Lgp8IAkgKi8KfCAJcmV0dXJuICh2b2lkICopIHJl
YWxsb2MoIChjaGFyICopIHB0ciwgc2l6ZSApOwp8IH0KfCAKfCB2b2lkIHl5ZnJlZSAodm9pZCAq
IHB0ciApCnwgewp8IAlmcmVlKCAoY2hhciAqKSBwdHIgKTsJLyogc2VlIHl5cmVhbGxvYygpIGZv
ciAoY2hhciAqKSBjYXN0ICovCnwgfQp8IAp8ICNkZWZpbmUgWVlUQUJMRVNfTkFNRSAieXl0YWJs
ZXMiCnwgCnwgI2xpbmUgOSAiY29uZnRlc3QubCIKfCAKfCAKfCAjaWZkZWYgWVlURVhUX1BPSU5U
RVIKfCBleHRlcm4gY2hhciAqeXl0ZXh0Owp8ICNlbmRpZgp8IGludAp8IG1haW4gKHZvaWQpCnwg
ewp8ICAgcmV0dXJuICEgeXlsZXggKCkgKyAhIHl5d3JhcCAoKTsKfCB9CmNvbmZpZ3VyZToxOTY0
NDogaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9YXRobG9uLXhw
IC1waXBlICAgIGNvbmZ0ZXN0LmMgLWxmbCAgPiY1CmNvbmZpZ3VyZToxOTY1MDogJD8gPSAwCmNv
bmZpZ3VyZToxOTY3MTogcmVzdWx0OiAtbGZsCmNvbmZpZ3VyZToxOTY3NzogY2hlY2tpbmcgd2hl
dGhlciB5eXRleHQgaXMgYSBwb2ludGVyCmNvbmZpZ3VyZToxOTY5ODogaTY4Ni1wYy1saW51eC1n
bnUtZ2NjIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICAgIGNvbmZ0ZXN0
LmMgLWxmbCAgPiY1CmNvbmZpZ3VyZToxOTcwNDogJD8gPSAwCmNvbmZpZ3VyZToxOTcyMzogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjE5NzQyOiBjaGVja2luZyBmb3IgYmlzb24KY29uZmlndXJlOjE5
NzU4OiBmb3VuZCAvdXNyL2Jpbi9iaXNvbgpjb25maWd1cmU6MTk3Njk6IHJlc3VsdDogYmlzb24g
LXkKY29uZmlndXJlOjE5NzgyOiBjaGVja2luZyBmb3IgbG9uZwpjb25maWd1cmU6MTk4MTI6IGk2
ODYtcGMtbGludXgtZ251LWdjYyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0
ZXN0LmMgPiY1CmNvbmZpZ3VyZToxOTgxODogJD8gPSAwCmNvbmZpZ3VyZToxOTgzMzogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjE5ODQwOiBjaGVja2luZyBzaXplIG9mIGxvbmcKY29uZmlndXJlOjIw
MTQyOiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLU9zIC1tYXJjaD1hdGhsb24t
eHAgLXBpcGUgICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToyMDE0NTogJD8gPSAwCmNvbmZp
Z3VyZToyMDE1MTogLi9jb25mdGVzdApjb25maWd1cmU6MjAxNTQ6ICQ/ID0gMApjb25maWd1cmU6
MjAxNzc6IHJlc3VsdDogNApjb25maWd1cmU6MjAxODc6IGNoZWNraW5nIGZvciBsb25nIGxvbmcK
Y29uZmlndXJlOjIwMjE3OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLU9zIC1tYXJjaD1hdGhs
b24teHAgLXBpcGUgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjAyMjM6ICQ/ID0gMApjb25m
aWd1cmU6MjAyMzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDI0NTogY2hlY2tpbmcgc2l6ZSBv
ZiBsb25nIGxvbmcKY29uZmlndXJlOjIwNTQ3OiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgLW8gY29u
ZnRlc3QgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgICAgY29uZnRlc3QuYyAgPiY1CmNvbmZp
Z3VyZToyMDU1MDogJD8gPSAwCmNvbmZpZ3VyZToyMDU1NjogLi9jb25mdGVzdApjb25maWd1cmU6
MjA1NTk6ICQ/ID0gMApjb25maWd1cmU6MjA1ODI6IHJlc3VsdDogOApjb25maWd1cmU6MjA1OTI6
IGNoZWNraW5nIGZvciBsb25nIGRvdWJsZQpjb25maWd1cmU6MjA2MjI6IGk2ODYtcGMtbGludXgt
Z251LWdjYyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZToyMDYyODogJD8gPSAwCmNvbmZpZ3VyZToyMDY0MzogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjIwNjUwOiBjaGVja2luZyBzaXplIG9mIGxvbmcgZG91YmxlCmNvbmZpZ3VyZToyMDk1Mjog
aTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9YXRobG9uLXhwIC1w
aXBlICAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MjA5NTU6ICQ/ID0gMApjb25maWd1cmU6
MjA5NjE6IC4vY29uZnRlc3QKY29uZmlndXJlOjIwOTY0OiAkPyA9IDAKY29uZmlndXJlOjIwOTg3
OiByZXN1bHQ6IDEyCmNvbmZpZ3VyZToyMTAxMTogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZp
Z3VyZToyMTAxNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMTUxOiBjaGVja2luZyB3aGV0aGVy
IHN0cnVjdCBydXNhZ2UgaXMgZGVjbGFyZWQgaW4gPHN5cy9yZXNvdXJjZS5oPgpjb25maWd1cmU6
MjExODA6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlw
ZSAgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIxMTg2OiAkPyA9IDAKY29uZmlndXJlOjIx
MjAyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjEyMzE6IGNoZWNraW5nIHJlYWRsaW5lL3JlYWRs
aW5lLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyMTI0ODogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1j
IC1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6
MjEyNTQ6ICQ/ID0gMApjb25maWd1cmU6MjEyNjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTI3
MjogY2hlY2tpbmcgcmVhZGxpbmUvcmVhZGxpbmUuaCBwcmVzZW5jZQpjb25maWd1cmU6MjEyODc6
IGk2ODYtcGMtbGludXgtZ251LWcrKyAtRSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToyMTI5Mzog
JD8gPSAwCmNvbmZpZ3VyZToyMTMwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMzQwOiBjaGVj
a2luZyBmb3IgcmVhZGxpbmUvcmVhZGxpbmUuaApjb25maWd1cmU6MjEzNDg6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZToyMTIzMTogY2hlY2tpbmcgcmVhZGxpbmUvaGlzdG9yeS5oIHVzYWJpbGl0eQpj
b25maWd1cmU6MjEyNDg6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxv
bi14cCAtcGlwZSAgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIxMjU0OiAkPyA9IDAKY29u
ZmlndXJlOjIxMjY4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjEyNzI6IGNoZWNraW5nIHJlYWRs
aW5lL2hpc3RvcnkuaCBwcmVzZW5jZQpjb25maWd1cmU6MjEyODc6IGk2ODYtcGMtbGludXgtZ251
LWcrKyAtRSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToyMTI5MzogJD8gPSAwCmNvbmZpZ3VyZToy
MTMwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMzQwOiBjaGVja2luZyBmb3IgcmVhZGxpbmUv
aGlzdG9yeS5oCmNvbmZpZ3VyZToyMTM0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMzc2OiBj
aGVja2luZyBmb3IgdGdldGVudApjb25maWd1cmU6MjE0MzI6IGk2ODYtcGMtbGludXgtZ251LWcr
KyAtbyBjb25mdGVzdCAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgICBjb25mdGVzdC5jcHAg
ID4mNQovdmFyL3RtcC9wb3J0YWdlL3NjaS1tYXRoZW1hdGljcy9naW5hYy0xLjMuNy90ZW1wL2Nj
R0trNjdSLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuY3BwOigudGV4dCsweDEyKTog
dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdGdldGVudCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEg
ZXhpdCBzdGF0dXMKY29uZmlndXJlOjIxNDM4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv
Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdp
TmFDIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnaW5hYyIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiMS4zLjciCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR2lOYUMgMS4zLjciCnwg
I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiPGdpbmFjLWxpc3RAZ2luYWMuZGU+Igp8ICNkZWZp
bmUgUEFDS0FHRSAiZ2luYWMiCnwgI2RlZmluZSBWRVJTSU9OICIxLjMuNyIKfCAjZGVmaW5lIEFS
Q0hJVkVfVkVSU0lPTiAyCnwgI2RlZmluZSBBUkNISVZFX0FHRSAyCnwgI2RlZmluZSBTVERDX0hF
QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I
IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8
ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk
ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUg
WVlURVhUX1BPSU5URVIgMQp8ICNkZWZpbmUgU0laRU9GX0xPTkcgNAp8ICNkZWZpbmUgU0laRU9G
X0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19ET1VCTEUgMTIKfCAjZGVmaW5lIEhB
VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9SVVNBR0UKfCAjZGVmaW5lIEhBVkVfUkVBRExJ
TkVfUkVBRExJTkVfSCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5FX0hJU1RPUllfSCAxCnwgLyog
ZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSB0Z2V0ZW50IHRvIGFuIGlubm9jdW91cyB2
YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgdGdldGVudC4KfCAgICBGb3IgZXhh
bXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAj
ZGVmaW5lIHRnZXRlbnQgaW5ub2N1b3VzX3RnZXRlbnQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRv
IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAg
IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdGdldGVudCAoKTsgYmVsb3cuCnwgICAgIFBy
ZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu
Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz
LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNl
CnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgdGdldGVudAp8IAp8
IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y
Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv
ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs
ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl
bmRpZgp8IGNoYXIgdGdldGVudCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRo
aXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWls
IHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNv
bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu
ICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl90Z2V0ZW50IHx8IGRlZmluZWQgX19zdHViX19fdGdl
dGVudAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g
dGdldGVudCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIxNDU2OiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZToyMTQ2OTogY2hlY2tpbmcgZm9yIHRnZXRlbnQgaW4gLWxuY3Vyc2Vz
CmNvbmZpZ3VyZToyMTUwNDogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1vIGNvbmZ0ZXN0IC1PcyAt
bWFyY2g9YXRobG9uLXhwIC1waXBlICAgIGNvbmZ0ZXN0LmNwcCAtbG5jdXJzZXMgICA+JjUKY29u
ZmlndXJlOjIxNTEwOiAkPyA9IDAKY29uZmlndXJlOjIxNTI4OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MjE2MDk6IGNoZWNraW5nIGZvciByZWFkbGluZSBpbiAtbHJlYWRsaW5lCmNvbmZpZ3VyZToy
MTY0NDogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1vIGNvbmZ0ZXN0IC1PcyAtbWFyY2g9YXRobG9u
LXhwIC1waXBlICAgIGNvbmZ0ZXN0LmNwcCAtbHJlYWRsaW5lICAtbG5jdXJzZXMgID4mNQpjb25m
aWd1cmU6MjE2NTA6ICQ/ID0gMApjb25maWd1cmU6MjE2Njg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZToyMTY4MDogY2hlY2tpbmcgZm9yIHZlcnNpb24gb2YgbGlicmVhZGxpbmUKY29uZmlndXJlOjIx
NzE1OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLW8gY29uZnRlc3QgLU9zIC1tYXJjaD1hdGhsb24t
eHAgLXBpcGUgICAgY29uZnRlc3QuY3BwIC1scmVhZGxpbmUgLWxuY3Vyc2VzICA+JjUKY29uZmln
dXJlOjIxNzE4OiAkPyA9IDAKY29uZmlndXJlOjIxNzI0OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToy
MTcyNzogJD8gPSAwCmNvbmZpZ3VyZToyMTc0NDogcmVzdWx0OiA1LjIKY29uZmlndXJlOjIxODAx
OiBjaGVja2luZyBpb3Nmd2QgdXNhYmlsaXR5CmNvbmZpZ3VyZToyMTgxODogaTY4Ni1wYy1saW51
eC1nbnUtZysrIC1jIC1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICAgY29uZnRlc3QuY3BwID4m
NQpjb25maWd1cmU6MjE4MjQ6ICQ/ID0gMApjb25maWd1cmU6MjE4Mzg6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZToyMTg0MjogY2hlY2tpbmcgaW9zZndkIHByZXNlbmNlCmNvbmZpZ3VyZToyMTg1Nzog
aTY4Ni1wYy1saW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjIxODYzOiAk
PyA9IDAKY29uZmlndXJlOjIxODc3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE5MTA6IGNoZWNr
aW5nIGZvciBpb3Nmd2QKY29uZmlndXJlOjIxOTE3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE5
NDI6IGNoZWNraW5nIGlvc3RyZWFtIHVzYWJpbGl0eQpjb25maWd1cmU6MjE5NTk6IGk2ODYtcGMt
bGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0ZXN0LmNw
cCA+JjUKY29uZmlndXJlOjIxOTY1OiAkPyA9IDAKY29uZmlndXJlOjIxOTc5OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MjE5ODM6IGNoZWNraW5nIGlvc3RyZWFtIHByZXNlbmNlCmNvbmZpZ3VyZToy
MTk5ODogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjIy
MDA0OiAkPyA9IDAKY29uZmlndXJlOjIyMDE4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjIwNTE6
IGNoZWNraW5nIGZvciBpb3N0cmVhbQpjb25maWd1cmU6MjIwNTg6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToyMjA4MzogY2hlY2tpbmcgdmVjdG9yIHVzYWJpbGl0eQpjb25maWd1cmU6MjIxMDA6IGk2
ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0
ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIyMTA2OiAkPyA9IDAKY29uZmlndXJlOjIyMTIwOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MjIxMjQ6IGNoZWNraW5nIHZlY3RvciBwcmVzZW5jZQpjb25maWd1
cmU6MjIxMzk6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtRSAgY29uZnRlc3QuY3BwCmNvbmZpZ3Vy
ZToyMjE0NTogJD8gPSAwCmNvbmZpZ3VyZToyMjE1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIy
MTkyOiBjaGVja2luZyBmb3IgdmVjdG9yCmNvbmZpZ3VyZToyMjE5OTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjIyMjI0OiBjaGVja2luZyBsaXN0IHVzYWJpbGl0eQpjb25maWd1cmU6MjIyNDE6IGk2
ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0
ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIyMjQ3OiAkPyA9IDAKY29uZmlndXJlOjIyMjYxOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MjIyNjU6IGNoZWNraW5nIGxpc3QgcHJlc2VuY2UKY29uZmlndXJl
OjIyMjgwOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLUUgIGNvbmZ0ZXN0LmNwcApjb25maWd1cmU6
MjIyODY6ICQ/ID0gMApjb25maWd1cmU6MjIzMDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjMz
MzogY2hlY2tpbmcgZm9yIGxpc3QKY29uZmlndXJlOjIyMzQwOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MjIzNjU6IGNoZWNraW5nIG1hcCB1c2FiaWxpdHkKY29uZmlndXJlOjIyMzgyOiBpNjg2LXBj
LWxpbnV4LWdudS1nKysgLWMgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgICBjb25mdGVzdC5j
cHAgPiY1CmNvbmZpZ3VyZToyMjM4ODogJD8gPSAwCmNvbmZpZ3VyZToyMjQwMjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjIyNDA2OiBjaGVja2luZyBtYXAgcHJlc2VuY2UKY29uZmlndXJlOjIyNDIx
OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLUUgIGNvbmZ0ZXN0LmNwcApjb25maWd1cmU6MjI0Mjc6
ICQ/ID0gMApjb25maWd1cmU6MjI0NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjQ3NDogY2hl
Y2tpbmcgZm9yIG1hcApjb25maWd1cmU6MjI0ODE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjUw
NjogY2hlY2tpbmcgc3RyaW5nIHVzYWJpbGl0eQpjb25maWd1cmU6MjI1MjM6IGk2ODYtcGMtbGlu
dXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0ZXN0LmNwcCA+
JjUKY29uZmlndXJlOjIyNTI5OiAkPyA9IDAKY29uZmlndXJlOjIyNTQzOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MjI1NDc6IGNoZWNraW5nIHN0cmluZyBwcmVzZW5jZQpjb25maWd1cmU6MjI1NjI6
IGk2ODYtcGMtbGludXgtZ251LWcrKyAtRSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToyMjU2ODog
JD8gPSAwCmNvbmZpZ3VyZToyMjU4MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyNjE1OiBjaGVj
a2luZyBmb3Igc3RyaW5nCmNvbmZpZ3VyZToyMjYyMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIy
NjQ3OiBjaGVja2luZyBzc3RyZWFtIHVzYWJpbGl0eQpjb25maWd1cmU6MjI2NjQ6IGk2ODYtcGMt
bGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0ZXN0LmNw
cCA+JjUKY29uZmlndXJlOjIyNjcwOiAkPyA9IDAKY29uZmlndXJlOjIyNjg0OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MjI2ODg6IGNoZWNraW5nIHNzdHJlYW0gcHJlc2VuY2UKY29uZmlndXJlOjIy
NzAzOiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLUUgIGNvbmZ0ZXN0LmNwcApjb25maWd1cmU6MjI3
MDk6ICQ/ID0gMApjb25maWd1cmU6MjI3MjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjc1Njog
Y2hlY2tpbmcgZm9yIHNzdHJlYW0KY29uZmlndXJlOjIyNzYzOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MjI3ODg6IGNoZWNraW5nIHR5cGVpbmZvIHVzYWJpbGl0eQpjb25maWd1cmU6MjI4MDU6IGk2
ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlwZSAgIGNvbmZ0
ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIyODExOiAkPyA9IDAKY29uZmlndXJlOjIyODI1OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MjI4Mjk6IGNoZWNraW5nIHR5cGVpbmZvIHByZXNlbmNlCmNvbmZp
Z3VyZToyMjg0NDogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmln
dXJlOjIyODUwOiAkPyA9IDAKY29uZmlndXJlOjIyODY0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
MjI4OTc6IGNoZWNraW5nIGZvciB0eXBlaW5mbwpjb25maWd1cmU6MjI5MDQ6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZToyMjkyOTogY2hlY2tpbmcgc3RkZXhjZXB0IHVzYWJpbGl0eQpjb25maWd1cmU6
MjI5NDY6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtYyAtT3MgLW1hcmNoPWF0aGxvbi14cCAtcGlw
ZSAgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIyOTUyOiAkPyA9IDAKY29uZmlndXJlOjIy
OTY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjI5NzA6IGNoZWNraW5nIHN0ZGV4Y2VwdCBwcmVz
ZW5jZQpjb25maWd1cmU6MjI5ODU6IGk2ODYtcGMtbGludXgtZ251LWcrKyAtRSAgY29uZnRlc3Qu
Y3BwCmNvbmZpZ3VyZToyMjk5MTogJD8gPSAwCmNvbmZpZ3VyZToyMzAwNTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjIzMDM4OiBjaGVja2luZyBmb3Igc3RkZXhjZXB0CmNvbmZpZ3VyZToyMzA0NTog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzMDcwOiBjaGVja2luZyBhbGdvcml0aG0gdXNhYmlsaXR5
CmNvbmZpZ3VyZToyMzA4NzogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1jIC1PcyAtbWFyY2g9YXRo
bG9uLXhwIC1waXBlICAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MjMwOTM6ICQ/ID0gMApj
b25maWd1cmU6MjMxMDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzExMTogY2hlY2tpbmcgYWxn
b3JpdGhtIHByZXNlbmNlCmNvbmZpZ3VyZToyMzEyNjogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1F
ICBjb25mdGVzdC5jcHAKY29uZmlndXJlOjIzMTMyOiAkPyA9IDAKY29uZmlndXJlOjIzMTQ2OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MjMxNzk6IGNoZWNraW5nIGZvciBhbGdvcml0aG0KY29uZmln
dXJlOjIzMTg2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMyMTE6IGNoZWNraW5nIGxpbWl0cyB1
c2FiaWxpdHkKY29uZmlndXJlOjIzMjI4OiBpNjg2LXBjLWxpbnV4LWdudS1nKysgLWMgLU9zIC1t
YXJjaD1hdGhsb24teHAgLXBpcGUgICBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZToyMzIzNDog
JD8gPSAwCmNvbmZpZ3VyZToyMzI0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzMjUyOiBjaGVj
a2luZyBsaW1pdHMgcHJlc2VuY2UKY29uZmlndXJlOjIzMjY3OiBpNjg2LXBjLWxpbnV4LWdudS1n
KysgLUUgIGNvbmZ0ZXN0LmNwcApjb25maWd1cmU6MjMyNzM6ICQ/ID0gMApjb25maWd1cmU6MjMy
ODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzMyMDogY2hlY2tpbmcgZm9yIGxpbWl0cwpjb25m
aWd1cmU6MjMzMjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzUyNTogY2hlY2tpbmcgZm9yIGNs
bi1jb25maWcKY29uZmlndXJlOjIzNTQzOiBmb3VuZCAvdXNyL2Jpbi9jbG4tY29uZmlnCmNvbmZp
Z3VyZToyMzU1NjogcmVzdWx0OiAvdXNyL2Jpbi9jbG4tY29uZmlnCmNvbmZpZ3VyZToyMzU2NTog
Y2hlY2tpbmcgZm9yIENMTiAtIHZlcnNpb24gPj0gMS4xLjAKY29uZmlndXJlOjIzNjY3OiBpNjg2
LXBjLWxpbnV4LWdudS1nKysgLW8gY29uZnRlc3QgLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUg
ICAgIGNvbmZ0ZXN0LmNwcCAgLUwvdXNyL2xpYiAtbGNsbiAtbGdtcCA+JjUKY29uZmlndXJlOjIz
NjcwOiAkPyA9IDAKY29uZmlndXJlOjIzNjc2OiAuL2NvbmZ0ZXN0Ci4vY29uZmlndXJlOiBsaW5l
IDIzNjc3OiAxNDg2MiBTZWdtZW50YXRpb24gZmF1bHQgICAgICAuL2NvbmZ0ZXN0JGFjX2V4ZWV4
dApjb25maWd1cmU6MjM2Nzk6ICQ/ID0gMTM5CmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0
aCBzdGF0dXMgMTM5CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz
LmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHaU5hQyIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VEFSTkFNRSAiZ2luYWMiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEuMy43Igp8ICNkZWZp
bmUgUEFDS0FHRV9TVFJJTkcgIkdpTmFDIDEuMy43Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgIjxnaW5hYy1saXN0QGdpbmFjLmRlPiIKfCAjZGVmaW5lIFBBQ0tBR0UgImdpbmFjIgp8ICNk
ZWZpbmUgVkVSU0lPTiAiMS4zLjciCnwgI2RlZmluZSBBUkNISVZFX1ZFUlNJT04gMgp8ICNkZWZp
bmUgQVJDSElWRV9BR0UgMgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S
WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKfCAjZGVm
aW5lIFNJWkVPRl9MT05HIDQKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUg
U0laRU9GX0xPTkdfRE9VQkxFIDEyCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l
IEhBVkVfUlVTQUdFCnwgI2RlZmluZSBIQVZFX1JFQURMSU5FX1JFQURMSU5FX0ggMQp8ICNkZWZp
bmUgSEFWRV9SRUFETElORV9ISVNUT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAx
CnwgI2RlZmluZSBSRUFMTFlfSEFWRV9MSUJSRUFETElORQp8ICNkZWZpbmUgR0lOQUNfUkxfVkVS
U0lPTl9NQUpPUiA1CnwgI2RlZmluZSBHSU5BQ19STF9WRVJTSU9OX01JTk9SIDIKfCAvKiBlbmQg
Y29uZmRlZnMuaC4gICovCnwgCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2luY2x1ZGUgPHN0cmlu
Zy5oPgp8ICNpbmNsdWRlIDxjbG4vdmVyc2lvbi5oPgp8IAp8IC8qIHdlIGRvIG5vdCAjaW5jbHVk
ZSA8c3RkbGliLmg+IGJlY2F1c2UgYXV0b2NvbmYgaW4gQysrIG1vZGUgaW5zZXJ0cyBhCnwgICAg
cHJvdG90eXBlIGZvciBleGl0KCkgdGhhdCBjb25mbGljdHMgd2l0aCB0aGUgb25lIGluIHN0ZGxp
Yi5oICovCnwgZXh0ZXJuICJDIiBpbnQgc3lzdGVtKGNvbnN0IGNoYXIgKik7CnwgCnwgaW50IG1h
aW4odm9pZCkKfCB7CnwgICAgIHN5c3RlbSgidG91Y2ggY29uZi5jbG50ZXN0Iik7CnwgCnwgICAg
IGlmICgoQ0xfVkVSU0lPTl9NQUpPUiAhPSAxKSB8fAp8ICAgICAgICAgKENMX1ZFUlNJT05fTUlO
T1IgIT0gMSkgfHwKfCAgICAgICAgIChDTF9WRVJTSU9OX1BBVENITEVWRUwgIT0gMTMpKSB7Cnwg
ICAgICAgICBwcmludGYoIlxuKioqICdjbG4tY29uZmlnIC0tdmVyc2lvbicgcmV0dXJuZWQgJWQu
JWQuJWQsIGJ1dCB0aGUgaGVhZGVyIGZpbGUgSSBmb3VuZFxuIiwgMSwgMSwgMTMpOwp8ICAgICAg
ICAgcHJpbnRmKCIqKiogY29ycmVzcG9uZHMgdG8gJWQuJWQuJWQuIFRoaXMgbWlzbWF0Y2ggc3Vn
Z2VzdHMgeW91ciBpbnN0YWxsYXRpb24gb2YgQ0xOXG4iLCBDTF9WRVJTSU9OX01BSk9SLCBDTF9W
RVJTSU9OX01JTk9SLCBDTF9WRVJTSU9OX1BBVENITEVWRUwpOwp8ICAgICAgICAgcHJpbnRmKCIq
KiogaXMgY29ycnVwdGVkIG9yIHlvdSBoYXZlIHNwZWNpZmllZCBzb21lIHdyb25nIC1JIGNvbXBp
bGVyIGZsYWdzLlxuIik7CnwgICAgICAgICBwcmludGYoIioqKiBQbGVhc2UgaW5xdWlyZSBhbmQg
Y29uc2lkZXIgcmVpbnN0YWxsaW5nIENMTi5cbiIpOwp8ICAgICAgICAgcmV0dXJuIDE7CnwgICAg
IH0KfCAgICAgaWYgKChjbG46OnZlcnNpb25fbWFqb3IgIT0gMSkgfHwKfCAgICAgICAgIChjbG46
OnZlcnNpb25fbWlub3IgIT0gMSkgfHwKfCAgICAgICAgIChjbG46OnZlcnNpb25fcGF0Y2hsZXZl
bCAhPSAxMykpIHsKfCAgICAgICAgIHByaW50ZigiXG4qKiogJ2Nsbi1jb25maWcgLS12ZXJzaW9u
JyByZXR1cm5lZCAlZC4lZC4lZCwgYnV0IHRoZSBsaWJyYXJ5IEkgZm91bmRcbiIsIDEsIDEsIDEz
KTsKfCAgICAgICAgIHByaW50ZigiKioqIGNvcnJlc3BvbmRzIHRvICVkLiVkLiVkLiBUaGlzIG1p
c21hdGNoIHN1Z2dlc3RzIHlvdXIgaW5zdGFsbGF0aW9uIG9mIENMTlxuIiwgY2xuOjp2ZXJzaW9u
X21ham9yLCBjbG46OnZlcnNpb25fbWlub3IsIGNsbjo6dmVyc2lvbl9wYXRjaGxldmVsKTsKfCAg
ICAgICAgIHByaW50ZigiKioqIGlzIGNvcnJ1cHRlZCBvciB5b3UgaGF2ZSBzcGVjaWZpZWQgc29t
ZSB3cm9uZyAtTCBjb21waWxlciBmbGFncy5cbiIpOwp8ICAgICAgICAgcHJpbnRmKCIqKiogUGxl
YXNlIGlucXVpcmUgYW5kIGNvbnNpZGVyIHJlaW5zdGFsbGluZyBDTE4uXG4iKTsKfCAgICAgICAg
IHJldHVybiAxOwp8ICAgICB9CnwgICAgIHJldHVybiAwOwp8IH0KfCAKY29uZmlndXJlOjIzNzA1
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMzczNTogaTY4Ni1wYy1saW51eC1nbnUtZysrIC1vIGNv
bmZ0ZXN0IC1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICAtT3MgLW1hcmNoPWF0aGxvbi14cCAt
cGlwZSAgICBjb25mdGVzdC5jcHAgIC1ML3Vzci9saWIgLWxjbG4gLWxnbXAgPiY1CmNvbmZpZ3Vy
ZToyMzc0MTogJD8gPSAwCmNvbmZpZ3VyZToyMzc5MDogY2hlY2tpbmcgZm9yIGRveHlnZW4KY29u
ZmlndXJlOjIzODA4OiBmb3VuZCAvdXNyL2Jpbi9kb3h5Z2VuCmNvbmZpZ3VyZToyMzgyMTogcmVz
dWx0OiAvdXNyL2Jpbi9kb3h5Z2VuCmNvbmZpZ3VyZToyMzg0MTogY2hlY2tpbmcgZm9yIGxhdGV4
CmNvbmZpZ3VyZToyMzg1OTogZm91bmQgL3Vzci9iaW4vbGF0ZXgKY29uZmlndXJlOjIzODcyOiBy
ZXN1bHQ6IC91c3IvYmluL2xhdGV4CmNvbmZpZ3VyZToyMzg4MjogY2hlY2tpbmcgZm9yIHBkZmxh
dGV4CmNvbmZpZ3VyZToyMzkwMDogZm91bmQgL3Vzci9iaW4vcGRmbGF0ZXgKY29uZmlndXJlOjIz
OTEzOiByZXN1bHQ6IC91c3IvYmluL3BkZmxhdGV4CmNvbmZpZ3VyZToyMzkyMzogY2hlY2tpbmcg
Zm9yIG1ha2VpbmRleApjb25maWd1cmU6MjM5NDE6IGZvdW5kIC91c3IvYmluL21ha2VpbmRleApj
b25maWd1cmU6MjM5NTQ6IHJlc3VsdDogL3Vzci9iaW4vbWFrZWluZGV4CmNvbmZpZ3VyZToyMzk2
NDogY2hlY2tpbmcgZm9yIGR2aXBzCmNvbmZpZ3VyZToyMzk4MjogZm91bmQgL3Vzci9iaW4vZHZp
cHMKY29uZmlndXJlOjIzOTk1OiByZXN1bHQ6IC91c3IvYmluL2R2aXBzCmNvbmZpZ3VyZToyNDAx
NTogY2hlY2tpbmcgZm9yIGZpZzJkZXYKY29uZmlndXJlOjI0MDMzOiBmb3VuZCAvdXNyL2Jpbi9m
aWcyZGV2CmNvbmZpZ3VyZToyNDA0NjogcmVzdWx0OiAvdXNyL2Jpbi9maWcyZGV2CmNvbmZpZ3Vy
ZToyNDIxMTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHaU5hQyBjb25maWcuc3RhdHVzIDEu
My43LCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjYxLiAgSW52b2NhdGlv
biBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAogIENPTkZJR19IRUFERVJT
ICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25m
aWcuc3RhdHVzIAoKb24gYmFydGVja2kKCmNvbmZpZy5zdGF0dXM6NzEyOiBjcmVhdGluZyBNYWtl
ZmlsZQpjb25maWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgR2lOYUMuc3BlYwpjb25maWcuc3RhdHVz
OjcxMjogY3JlYXRpbmcgZ2luYWMtY29uZmlnCmNvbmZpZy5zdGF0dXM6NzEyOiBjcmVhdGluZyBn
aW5hYy1jb25maWcuMQpjb25maWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgZ2luYWMucGMKY29uZmln
LnN0YXR1czo3MTI6IGNyZWF0aW5nIGdpbmFjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6NzEyOiBj
cmVhdGluZyBnaW5hYy92ZXJzaW9uLmgKY29uZmlnLnN0YXR1czo3MTI6IGNyZWF0aW5nIGNoZWNr
L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6NzEyOiBjcmVhdGluZyBnaW5zaC9NYWtlZmlsZQpjb25m
aWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgZ2luc2gvZ2luc2guMQpjb25maWcuc3RhdHVzOjcxMjog
Y3JlYXRpbmcgdG9vbHMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czo3MTI6IGNyZWF0aW5nIHRvb2xz
L3ZpZXdnYXIuMQpjb25maWcuc3RhdHVzOjcxMjogY3JlYXRpbmcgZG9jL01ha2VmaWxlCmNvbmZp
Zy5zdGF0dXM6NzEyOiBjcmVhdGluZyBkb2MvdHV0b3JpYWwvTWFrZWZpbGUKY29uZmlnLnN0YXR1
czo3MTI6IGNyZWF0aW5nIGRvYy9yZWZlcmVuY2UvTWFrZWZpbGUKY29uZmlnLnN0YXR1czo3MTI6
IGNyZWF0aW5nIGRvYy9yZWZlcmVuY2UvRG94eWZpbGVIVE1MCmNvbmZpZy5zdGF0dXM6NzEyOiBj
cmVhdGluZyBkb2MvcmVmZXJlbmNlL0RveHlmaWxlVEVYCmNvbmZpZy5zdGF0dXM6NzEyOiBjcmVh
dGluZyBkb2MvcmVmZXJlbmNlL0RveHlmaWxlUERGCmNvbmZpZy5zdGF0dXM6NzEyOiBjcmVhdGlu
ZyBkb2MvcmVmZXJlbmNlL0RveHlmb290ZXIKY29uZmlnLnN0YXR1czo3MTI6IGNyZWF0aW5nIGNv
bmZpZy5oCmNvbmZpZy5zdGF0dXM6OTQ3OiBjb25maWcuaCBpcyB1bmNoYW5nZWQKY29uZmlnLnN0
YXR1czo5OTM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwpjb25maWcuc3RhdHVzOjk5Mzog
ZXhlY3V0aW5nIGRlZmF1bHQgY29tbWFuZHMKCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2Fj
aGUgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tICMjCgphY19jdl9idWlsZD1pNjg2
LXBjLWxpbnV4LWdudQphY19jdl9jX2NvbXBpbGVyX2dudT15ZXMKYWNfY3ZfY3h4X2NvbXBpbGVy
X2dudT15ZXMKYWNfY3ZfZW52X0NDQ19zZXQ9CmFjX2N2X2Vudl9DQ0NfdmFsdWU9CmFjX2N2X2Vu
dl9DQ19zZXQ9CmFjX2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52X0NGTEFHU19zZXQ9c2V0CmFj
X2N2X2Vudl9DRkxBR1NfdmFsdWU9Jy1PcyAtbWFyY2g9YXRobG9uLXhwIC1waXBlICcKYWNfY3Zf
ZW52X0NQUEZMQUdTX3NldD0KYWNfY3ZfZW52X0NQUEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQ
X3NldD0KYWNfY3ZfZW52X0NQUF92YWx1ZT0KYWNfY3ZfZW52X0NYWENQUF9zZXQ9CmFjX2N2X2Vu
dl9DWFhDUFBfdmFsdWU9CmFjX2N2X2Vudl9DWFhGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DWFhG
TEFHU192YWx1ZT0nLU9zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgJwphY19jdl9lbnZfQ1hYX3Nl
dD0KYWNfY3ZfZW52X0NYWF92YWx1ZT0KYWNfY3ZfZW52X0Y3N19zZXQ9CmFjX2N2X2Vudl9GNzdf
dmFsdWU9CmFjX2N2X2Vudl9GRkxBR1Nfc2V0PQphY19jdl9lbnZfRkZMQUdTX3ZhbHVlPQphY19j
dl9lbnZfTERGTEFHU19zZXQ9CmFjX2N2X2Vudl9MREZMQUdTX3ZhbHVlPQphY19jdl9lbnZfTElC
U19zZXQ9CmFjX2N2X2Vudl9MSUJTX3ZhbHVlPQphY19jdl9lbnZfWUFDQ19zZXQ9CmFjX2N2X2Vu
dl9ZQUNDX3ZhbHVlPQphY19jdl9lbnZfWUZMQUdTX3NldD0KYWNfY3ZfZW52X1lGTEFHU192YWx1
ZT0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD1zZXQKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3Zh
bHVlPWk2ODYtcGMtbGludXgtZ251CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3NldD1zZXQKYWNfY3Zf
ZW52X2hvc3RfYWxpYXNfdmFsdWU9aTY4Ni1wYy1saW51eC1nbnUKYWNfY3ZfZW52X3RhcmdldF9h
bGlhc19zZXQ9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9CmFjX2N2X2Y3N19jb21waWxl
cl9nbnU9eWVzCmFjX2N2X2Z1bmNfdGdldGVudD1ubwphY19jdl9oYXZlX3J1c2FnZT15ZXMKYWNf
Y3ZfaGVhZGVyX2FsZ29yaXRobT15ZXMKYWNfY3ZfaGVhZGVyX2RsZmNuX2g9eWVzCmFjX2N2X2hl
YWRlcl9pbnR0eXBlc19oPXllcwphY19jdl9oZWFkZXJfaW9zZndkPXllcwphY19jdl9oZWFkZXJf
aW9zdHJlYW09eWVzCmFjX2N2X2hlYWRlcl9saW1pdHM9eWVzCmFjX2N2X2hlYWRlcl9saXN0PXll
cwphY19jdl9oZWFkZXJfbWFwPXllcwphY19jdl9oZWFkZXJfbWVtb3J5X2g9eWVzCmFjX2N2X2hl
YWRlcl9yZWFkbGluZV9oaXN0b3J5X2g9eWVzCmFjX2N2X2hlYWRlcl9yZWFkbGluZV9yZWFkbGlu
ZV9oPXllcwphY19jdl9oZWFkZXJfc3N0cmVhbT15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFj
X2N2X2hlYWRlcl9zdGRleGNlcHQ9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNfY3Zf
aGVhZGVyX3N0ZGxpYl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nPXllcwphY19jdl9oZWFkZXJf
c3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNf
c3RhdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl90eXBl
aW5mbz15ZXMKYWNfY3ZfaGVhZGVyX3VuaXN0ZF9oPXllcwphY19jdl9oZWFkZXJfdmVjdG9yPXll
cwphY19jdl9ob3N0PWk2ODYtcGMtbGludXgtZ251CmFjX2N2X2xpYl9sZXg9LWxmbAphY19jdl9s
aWJfbmN1cnNlc190Z2V0ZW50PXllcwphY19jdl9saWJfcmVhZGxpbmVfcmVhZGxpbmU9eWVzCmFj
X2N2X29iamV4dD1vCmFjX2N2X3BhdGhfQ0xOX0NPTkZJRz0vdXNyL2Jpbi9jbG4tY29uZmlnCmFj
X2N2X3BhdGhfRE9YWUdFTj0vdXNyL2Jpbi9kb3h5Z2VuCmFjX2N2X3BhdGhfRFZJUFM9L3Vzci9i
aW4vZHZpcHMKYWNfY3ZfcGF0aF9FR1JFUD0nL2Jpbi9ncmVwIC1FJwphY19jdl9wYXRoX0ZJRzJE
RVY9L3Vzci9iaW4vZmlnMmRldgphY19jdl9wYXRoX0dSRVA9L2Jpbi9ncmVwCmFjX2N2X3BhdGhf
TEFURVg9L3Vzci9iaW4vbGF0ZXgKYWNfY3ZfcGF0aF9NQUtFSU5ERVg9L3Vzci9iaW4vbWFrZWlu
ZGV4CmFjX2N2X3BhdGhfUERGTEFURVg9L3Vzci9iaW4vcGRmbGF0ZXgKYWNfY3ZfcGF0aF9pbnN0
YWxsPScvdXNyL2Jpbi9pbnN0YWxsIC1jJwphY19jdl9wcm9nX0FSPWk2ODYtcGMtbGludXgtZ251
LWFyCmFjX2N2X3Byb2dfQVdLPWdhd2sKYWNfY3ZfcHJvZ19DQz1pNjg2LXBjLWxpbnV4LWdudS1n
Y2MKYWNfY3ZfcHJvZ19DUFA9J2k2ODYtcGMtbGludXgtZ251LWdjYyAtRScKYWNfY3ZfcHJvZ19D
WFg9aTY4Ni1wYy1saW51eC1nbnUtZysrCmFjX2N2X3Byb2dfQ1hYQ1BQPSdpNjg2LXBjLWxpbnV4
LWdudS1nKysgLUUnCmFjX2N2X3Byb2dfRjc3PWk2ODYtcGMtbGludXgtZ251LWdmb3J0cmFuCmFj
X2N2X3Byb2dfTEVYPWZsZXgKYWNfY3ZfcHJvZ19SQU5MSUI9aTY4Ni1wYy1saW51eC1nbnUtcmFu
bGliCmFjX2N2X3Byb2dfU1RSSVA9aTY4Ni1wYy1saW51eC1nbnUtc3RyaXAKYWNfY3ZfcHJvZ19Z
QUNDPSdiaXNvbiAteScKYWNfY3ZfcHJvZ19jY19jODk9CmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNf
Y3ZfcHJvZ19jeHhfZz15ZXMKYWNfY3ZfcHJvZ19mNzdfZz15ZXMKYWNfY3ZfcHJvZ19sZXhfcm9v
dD1sZXgueXkKYWNfY3ZfcHJvZ19sZXhfeXl0ZXh0X3BvaW50ZXI9eWVzCmFjX2N2X3Byb2dfbWFr
ZV9tYWtlX3NldD15ZXMKYWNfY3Zfc2l6ZW9mX2xvbmc9NAphY19jdl9zaXplb2ZfbG9uZ19kb3Vi
bGU9MTIKYWNfY3Zfc2l6ZW9mX2xvbmdfbG9uZz04CmFjX2N2X3R5cGVfbG9uZz15ZXMKYWNfY3Zf
dHlwZV9sb25nX2RvdWJsZT15ZXMKYWNfY3ZfdHlwZV9sb25nX2xvbmc9eWVzCmFtX2N2X0NDX2Rl
cGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKYW1fY3ZfQ1hYX2RlcGVuZGVuY2llc19jb21w
aWxlcl90eXBlPWdjYzMKZ2luYWNfY3Zfcmx2ZXJzaW9uPTUuMgpsdF9jdl9kZXBsaWJzX2NoZWNr
X21ldGhvZD1wYXNzX2FsbApsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE1BR0lDX0NNRCcKbHRfY3Zf
ZmlsZV9tYWdpY190ZXN0X2ZpbGU9Cmx0X2N2X2xkX3JlbG9hZF9mbGFnPS1yCmx0X2N2X29iamRp
cj0ubGlicwpsdF9jdl9wYXRoX0xEPS91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkCmx0X2N2
X3BhdGhfTERDWFg9L3Vzci9pNjg2LXBjLWxpbnV4LWdudS9iaW4vbGQKbHRfY3ZfcGF0aF9OTT0n
L3Vzci9iaW4vbm0gLUInCmx0X2N2X3BhdGhfU0VEPS9iaW4vc2VkCmx0X2N2X3Byb2dfY29tcGls
ZXJfY19vPXllcwpsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19DWFg9eWVzCmx0X2N2X3Byb2dfY29t
cGlsZXJfY19vX0Y3Nz15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9ydHRpX2V4Y2VwdGlvbnM9bm8K
bHRfY3ZfcHJvZ19nbnVfbGQ9eWVzCmx0X2N2X3Byb2dfZ251X2xkY3h4PXllcwpsdF9jdl9zeXNf
Z2xvYmFsX3N5bWJvbF9waXBlPSdzZWQgLW4gLWUgJ1wnJ3MvXi4qWyAJXVwoW0FCQ0RHSVJTVFdd
W0FCQ0RHSVJTVFddKlwpWyAJXVsgCV0qXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwy
IFwyL3AnXCcnJwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nc2Vk
IC1uIC1lICdcJydzL146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKGx0X3B0cikgMH0sL3AnXCcn
IC1lICdcJydzL15bQkNERUdSU1RdIFwoW14gXSpcKSBcKFteIF0qXCkkLyAgeyJcMiIsIChsdF9w
dHIpIFwmXDJ9LC9wJ1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J3NlZCAt
biAtZSAnXCcncy9eLiAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDE7L3AnXCcnJwpsdF9jdl9zeXNf
bWF4X2NtZF9sZW49MzI3NjgKbHRfbHRfY3ZfcHJvZ19jb21waWxlcl9jX289JyJ5ZXMiJwpsdF9s
dF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19DWFg9JyJ5ZXMiJwpsdF9sdF9jdl9wcm9nX2NvbXBpbGVy
X2Nfb19GNzc9JyJ5ZXMiJwpsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPScic2VkIC1u
IC1lICdcJydzL14uKlsgCV1cXChbQUJDREdJUlNUV11bQUJDREdJUlNUV10qXFwpWyAJXVsgCV0q
XFwoW19BLVphLXpdW19BLVphLXowLTldKlxcKVwkL1xcMSBcXDIgXFwyL3AnXCcnIicKbHRfbHRf
Y3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JyJzZWQgLW4gLWUgJ1wnJ3Mv
XjogXFwoW14gXSpcXCkgXCQvICB7XFxcIlxcMVxcXCIsIChsdF9wdHIpIDB9LC9wJ1wnJyAtZSAn
XCcncy9eW0JDREVHUlNUXSBcXChbXiBdKlxcKSBcXChbXiBdKlxcKVwkLyAge1wiXFwyXCIsIChs
dF9wdHIpIFxcJlxcMn0sL3AnXCcnIicKbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2Rl
Y2w9JyJzZWQgLW4gLWUgJ1wnJ3MvXi4gLiogXFwoLipcXClcJC9leHRlcm4gaW50IFxcMTsvcCdc
JyciJwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMg
LS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9IC92YXIvdG1wL3BvcnRhZ2Uv
c2NpLW1hdGhlbWF0aWNzL2dpbmFjLTEuMy43L3dvcmsvZ2luYWMtMS4zLjcvbWlzc2luZyAtLXJ1
biBhY2xvY2FsLTEuOScKQU1ERVBCQUNLU0xBU0g9J1wnCkFNREVQX0ZBTFNFPScjJwpBTURFUF9U
UlVFPScnCkFNVEFSPScke1NIRUxMfSAvdmFyL3RtcC9wb3J0YWdlL3NjaS1tYXRoZW1hdGljcy9n
aW5hYy0xLjMuNy93b3JrL2dpbmFjLTEuMy43L21pc3NpbmcgLS1ydW4gdGFyJwpBUj0naTY4Ni1w
Yy1saW51eC1nbnUtYXInCkFSQ0hJVkVfQUdFPScyJwpBUkNISVZFX1ZFUlNJT049JzInCkFVVE9D
T05GPScke1NIRUxMfSAvdmFyL3RtcC9wb3J0YWdlL3NjaS1tYXRoZW1hdGljcy9naW5hYy0xLjMu
Ny93b3JrL2dpbmFjLTEuMy43L21pc3NpbmcgLS1ydW4gYXV0b2NvbmYnCkFVVE9IRUFERVI9JyR7
U0hFTEx9IC92YXIvdG1wL3BvcnRhZ2Uvc2NpLW1hdGhlbWF0aWNzL2dpbmFjLTEuMy43L3dvcmsv
Z2luYWMtMS4zLjcvbWlzc2luZyAtLXJ1biBhdXRvaGVhZGVyJwpBVVRPTUFLRT0nJHtTSEVMTH0g
L3Zhci90bXAvcG9ydGFnZS9zY2ktbWF0aGVtYXRpY3MvZ2luYWMtMS4zLjcvd29yay9naW5hYy0x
LjMuNy9taXNzaW5nIC0tcnVuIGF1dG9tYWtlLTEuOScKQVdLPSdnYXdrJwpDQz0naTY4Ni1wYy1s
aW51eC1nbnUtZ2NjJwpDQ0RFUE1PREU9J2RlcG1vZGU9Z2NjMycKQ0ZMQUdTPSctT3MgLW1hcmNo
PWF0aGxvbi14cCAtcGlwZSAnCkNMTl9DT05GSUc9Jy91c3IvYmluL2Nsbi1jb25maWcnCkNMTl9D
UFBGTEFHUz0nJwpDTE5fTElCUz0nJwpDT05GSUdfRE9YWUdFTl9GQUxTRT0nIycKQ09ORklHX0RP
WFlHRU5fVFJVRT0nJwpDT05GSUdfRklHMkRFVl9GQUxTRT0nIycKQ09ORklHX0ZJRzJERVZfVFJV
RT0nJwpDT05GSUdfUlVTQUdFPSd5ZXMnCkNPTkZJR19URVhfRkFMU0U9JyMnCkNPTkZJR19URVhf
VFJVRT0nJwpDUFA9J2k2ODYtcGMtbGludXgtZ251LWdjYyAtRScKQ1BQRkxBR1M9JycKQ1hYPSdp
Njg2LXBjLWxpbnV4LWdudS1nKysnCkNYWENQUD0naTY4Ni1wYy1saW51eC1nbnUtZysrIC1FJwpD
WFhERVBNT0RFPSdkZXBtb2RlPWdjYzMnCkNYWEZMQUdTPSctT3MgLW1hcmNoPWF0aGxvbi14cCAt
cGlwZSAnCkNZR1BBVEhfVz0nZWNobycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5k
ZXBzJwpET1hZR0VOPScvdXNyL2Jpbi9kb3h5Z2VuJwpEVklQUz0nL3Vzci9iaW4vZHZpcHMnCkVD
SE89J2VjaG8nCkVDSE9fQz0nJwpFQ0hPX049Jy1uJwpFQ0hPX1Q9JycKRUdSRVA9Jy9iaW4vZ3Jl
cCAtRScKRVhFRVhUPScnCkY3Nz0naTY4Ni1wYy1saW51eC1nbnUtZ2ZvcnRyYW4nCkZGTEFHUz0n
LWcgLU8yJwpGSUcyREVWPScvdXNyL2Jpbi9maWcyZGV2JwpHSU5BQ0xJQl9DUFBGTEFHUz0nJwpH
SU5BQ0xJQl9MSUJTPScnCkdJTkFDTElCX01BSk9SX1ZFUlNJT049JzEnCkdJTkFDTElCX01JQ1JP
X1ZFUlNJT049JzcnCkdJTkFDTElCX01JTk9SX1ZFUlNJT049JzMnCkdJTkFDTElCX1ZFUlNJT049
JzEuMy43JwpHSU5TSF9MSUJTPSctbHJlYWRsaW5lIC1sbmN1cnNlcyAnCkdSRVA9Jy9iaW4vZ3Jl
cCcKSU5TVEFMTF9EQVRBPScke0lOU1RBTEx9IC1tIDY0NCcKSU5TVEFMTF9QUk9HUkFNPScke0lO
U1RBTEx9JwpJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKSU5TVEFMTF9TVFJJUF9QUk9HUkFN
PScke1NIRUxMfSAkKGluc3RhbGxfc2gpIC1jIC1zJwpMQVRFWD0nL3Vzci9iaW4vbGF0ZXgnCkxE
RkxBR1M9JycKTEVYPSdmbGV4JwpMRVhMSUI9Jy1sZmwnCkxFWF9PVVRQVVRfUk9PVD0nbGV4Lnl5
JwpMSUJPQkpTPScnCkxJQlM9JycKTElCVEVSTUNBUD0nLWxuY3Vyc2VzJwpMSUJUT09MPSckKFNI
RUxMKSAkKHRvcF9idWlsZGRpcikvbGlidG9vbCcKTE5fUz0nbG4gLXMnCkxUTElCT0JKUz0nJwpM
VF9SRUxFQVNFPScxLjMnCkxUX1ZFUlNJT05fSU5GTz0nMzo0OjEnCk1BS0VJTkRFWD0nL3Vzci9i
aW4vbWFrZWluZGV4JwpNQUtFSU5GTz0nJHtTSEVMTH0gL3Zhci90bXAvcG9ydGFnZS9zY2ktbWF0
aGVtYXRpY3MvZ2luYWMtMS4zLjcvd29yay9naW5hYy0xLjMuNy9taXNzaW5nIC0tcnVuIG1ha2Vp
bmZvJwpPQkpFWFQ9J28nClBBQ0tBR0U9J2dpbmFjJwpQQUNLQUdFX0JVR1JFUE9SVD0nPGdpbmFj
LWxpc3RAZ2luYWMuZGU+JwpQQUNLQUdFX05BTUU9J0dpTmFDJwpQQUNLQUdFX1NUUklORz0nR2lO
YUMgMS4zLjcnClBBQ0tBR0VfVEFSTkFNRT0nZ2luYWMnClBBQ0tBR0VfVkVSU0lPTj0nMS4zLjcn
ClBBVEhfU0VQQVJBVE9SPSc6JwpQREZMQVRFWD0nL3Vzci9iaW4vcGRmbGF0ZXgnClJBTkxJQj0n
aTY4Ni1wYy1saW51eC1nbnUtcmFubGliJwpTRVRfTUFLRT0nJwpTSEVMTD0nL2Jpbi9zaCcKU1RS
SVA9J2k2ODYtcGMtbGludXgtZ251LXN0cmlwJwpWRVJTSU9OPScxLjMuNycKWUFDQz0nYmlzb24g
LXknCllGTEFHUz0nJwphY19jdF9DQz0nJwphY19jdF9DWFg9JycKYWNfY3RfRjc3PScnCmFtX19m
YXN0ZGVwQ0NfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ0NfVFJVRT0nJwphbV9fZmFzdGRlcENYWF9G
QUxTRT0nIycKYW1fX2Zhc3RkZXBDWFhfVFJVRT0nJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1f
X2xlYWRpbmdfZG90PScuJwphbV9fcXVvdGU9JycKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIk
JHRhcmRpciInCmFtX191bnRhcj0nJHtBTVRBUn0geGYgLScKYmluZGlyPScke2V4ZWNfcHJlZml4
fS9iaW4nCmJ1aWxkPSdpNjg2LXBjLWxpbnV4LWdudScKYnVpbGRfYWxpYXM9J2k2ODYtcGMtbGlu
dXgtZ251JwpidWlsZF9jcHU9J2k2ODYnCmJ1aWxkX29zPSdsaW51eC1nbnUnCmJ1aWxkX3ZlbmRv
cj0ncGMnCmRhdGFkaXI9Jy91c3Ivc2hhcmUnCmRhdGFyb290ZGlyPScke3ByZWZpeH0vc2hhcmUn
CmRvY2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfScKZHZpZGlyPSck
e2RvY2Rpcn0nCmV4ZWNfcHJlZml4PScke3ByZWZpeH0nCmhvc3Q9J2k2ODYtcGMtbGludXgtZ251
Jwpob3N0X2FsaWFzPSdpNjg2LXBjLWxpbnV4LWdudScKaG9zdF9jcHU9J2k2ODYnCmhvc3Rfb3M9
J2xpbnV4LWdudScKaG9zdF92ZW5kb3I9J3BjJwpodG1sZGlyPScke2RvY2Rpcn0nCmluY2x1ZGVk
aXI9JyR7cHJlZml4fS9pbmNsdWRlJwppbmZvZGlyPScvdXNyL3NoYXJlL2luZm8nCmluc3RhbGxf
c2g9Jy92YXIvdG1wL3BvcnRhZ2Uvc2NpLW1hdGhlbWF0aWNzL2dpbmFjLTEuMy43L3dvcmsvZ2lu
YWMtMS4zLjcvaW5zdGFsbC1zaCcKbGliZGlyPScke2V4ZWNfcHJlZml4fS9saWInCmxpYmV4ZWNk
aXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnCmxvY2FsZWRpcj0nJHtkYXRhcm9vdGRpcn0vbG9j
YWxlJwpsb2NhbHN0YXRlZGlyPScvdmFyL2xpYicKbWFuZGlyPScvdXNyL3NoYXJlL21hbicKbWtk
aXJfcD0nbWtkaXIgLXAgLS0nCm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScKcGRmZGlyPSck
e2RvY2Rpcn0nCnByZWZpeD0nL3VzcicKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgsJwpw
c2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFyZWRzdGF0
ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3lzY29uZmRpcj0nL2V0YycKdGFyZ2V0X2FsaWFzPScnCgoj
IyAtLS0tLS0tLS0tLSAjIwojIyBjb25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKI2Rl
ZmluZSBQQUNLQUdFX05BTUUgIkdpTmFDIgojZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2luYWMi
CiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjMuNyIKI2RlZmluZSBQQUNLQUdFX1NUUklORyAi
R2lOYUMgMS4zLjciCiNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIjxnaW5hYy1saXN0QGdpbmFj
LmRlPiIKI2RlZmluZSBQQUNLQUdFICJnaW5hYyIKI2RlZmluZSBWRVJTSU9OICIxLjMuNyIKI2Rl
ZmluZSBBUkNISVZFX1ZFUlNJT04gMgojZGVmaW5lIEFSQ0hJVkVfQUdFIDIKI2RlZmluZSBTVERD
X0hFQURFUlMgMQojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNk
ZWZpbmUgSEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9VTklT
VERfSCAxCiNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCiNk
ZWZpbmUgU0laRU9GX0xPTkcgNAojZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAojZGVmaW5lIFNJ
WkVPRl9MT05HX0RPVUJMRSAxMgojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQojZGVmaW5lIEhBVkVf
UlVTQUdFCiNkZWZpbmUgSEFWRV9SRUFETElORV9SRUFETElORV9IIDEKI2RlZmluZSBIQVZFX1JF
QURMSU5FX0hJU1RPUllfSCAxCiNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCiNkZWZpbmUgUkVB
TExZX0hBVkVfTElCUkVBRExJTkUKI2RlZmluZSBHSU5BQ19STF9WRVJTSU9OX01BSk9SIDUKI2Rl
ZmluZSBHSU5BQ19STF9WRVJTSU9OX01JTk9SIDIKCmNvbmZpZ3VyZTogZXhpdCAxCg==
</data>        

          </attachment>
    </bug>

</bugzilla>