<?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>78404</bug_id>
          
          <creation_ts>2005-01-17 12:42 0000</creation_ts>
          <short_desc>mjpegtools-1.6.2-r3 causes an &quot;motion.c:143: internal compiler error: asm clobber conflict with output operand&quot; when compiling</short_desc>
          <delta_ts>2005-04-17 13:58:46 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>Applications</component>
          <version>unspecified</version>
          <rep_platform>x86</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>
          
          <blocked>77694</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>jorre_vdb@hotmail.com</reporter>
          <assigned_to>media-video@gentoo.org</assigned_to>
          <cc>kevquinn@gentoo.org</cc>
    
    <cc>mike@nerone.org</cc>
    
    <cc>solar@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>jorre_vdb@hotmail.com</who>
            <bug_when>2005-01-17 12:42:02 0000</bug_when>
            <thetext>emerge -uD world suggested to upgrade to mjpegtools-1.6.2-r3

[ebuild     U ] media-video/mjpegtools-1.6.2-r3 [1.6.1.90-r2] -3dnow +X +avi -debug -dv +gtk -mmx +quicktime +sdl -sse -yv12 0 kB

results in

motion.c: In function `calc_SAD_mmx&apos;:
motion.c:143: internal compiler error: asm clobber conflict with output operand
Please submit a full bug report,
with preprocessed source if appropriate.
See &lt;URL:http://bugs.gentoo.org/&gt; for instructions.
Preprocessed source stored into /var/tmp/portage/mjpegtools-1.6.2-r3/temp/cc7RnmCk.out file, please attach this to your bugreport.
make[2]: *** [motion.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.2-r3/work/mjpegtools-1.6.2/yuvdenoise&apos;
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.2-r3/work/mjpegtools-1.6.2&apos;
make: *** [all] Error 2

Reproducible: Always
Steps to Reproduce:
1. emerge mjpegtools
2.
3.



Expected Results:  
compiled and installed software

Portage 2.0.51-r3 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20040808-r1,
 2.6.7 i686)
=================================================================
System uname: 2.6.7 i686 AMD Athlon(tm) XP 1800+
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CFLAGS=&quot;-march=athlon-xp -O2 -pipe -fomit-frame-pointer&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
COMPILER=&quot;&quot;
CONFIG_PROTECT=&quot;/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2
/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /
usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/sha
re/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/gen
eric/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qma
il/control&quot;
CONFIG_PROTECT_MASK=&quot;/etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-march=athlon-xp -O2 -pipe -fomit-frame-pointer&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoaddcvs autoconfig ccache distlocks sandbox sfperms userpriv usersa
ndbox&quot;
GENTOO_MIRRORS=&quot;ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gent
oo.tiscali.nl/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;X alsa apm arts avi berkdb bitmap-fonts cdr crypt cups dvd encode esd f77 f
am flac font-server foomaticdb fortran gdbm gif gnome gpg gpm gstreamer gtk gtk2
 hardened imagemagick imlib ipv6 java jpeg junit libg++ libwww mad mikmod motif 
mozilla mpeg nas ncurses nls oggvorbis opengl oss pam pdflib perl png python qt 
quicktime readline sdl slang spell sqlite ssl svga tcltk tcpd tetex tiff truetyp
e truetype-fonts type1-fonts x86 xml xml2 xmms xv zlib&quot;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jorre_vdb@hotmail.com</who>
            <bug_when>2005-01-17 12:45:50 0000</bug_when>
            <thetext>Created an attachment (id=48775)
output file of compilation

Suggested by portae to include this file.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kevquinn@gentoo.org</who>
            <bug_when>2005-01-29 06:29:08 0000</bug_when>
            <thetext>Created an attachment (id=49827)
Fixes allow motion.c to build

This is the well-known %%ebx PIC problem.

The patch here swaps use of %%ebx with use of %%esi, for a change.  Normally
I&apos;d push/pop ebx.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>solar@gentoo.org</who>
            <bug_when>2005-01-29 07:59:52 0000</bug_when>
            <thetext>I can confirm that mjpegtools compiles with this and the patch from bug #77694 but I&apos;m not sure how to confirm runtime. Perhaps we should wrapper the asm changes in #ifdef __PIC__\n\tNEW_CODE_HERE\n#else\nOLD_CODE_HERE\n#endif </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kevquinn@gentoo.org</who>
            <bug_when>2005-01-29 08:18:52 0000</bug_when>
            <thetext>Created an attachment (id=49839)
Same as before, but with #ifdefs to preserve original code on non-pic

Just to be safe; avoid potentially breaking it where it already works.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kevquinn@gentoo.org</who>
            <bug_when>2005-02-09 11:04:07 0000</bug_when>
            <thetext>Created an attachment (id=50843)
Full patch, enabling simd-accel stuff with PIC.

This patch corrects a few missing PIC-ability issues in the asm of this
package.

This integrates the patch I supplied for motion.c here, the patch for
deinterlace.c I supplied on bug #77694, and also patches a couple of the nasm
&apos;.s&apos; files which generate text relocations due to non-PIC data.

Ebuild modifications are needed to get the existing PIC patches to work, not
just to apply this patch; ebuild patch to follow.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kevquinn@gentoo.org</who>
            <bug_when>2005-02-09 11:24:06 0000</bug_when>
            <thetext>Created an attachment (id=50845)
Patch to 1.6.2-r3 ebuild, to apply PIC patch and fix other related ebuild
problems

This patch to the ebuild adds the patch in attachment id #50843 above.	In
addition, it sorts out some src_unpack problems:

1) patching configure.in (-nogtk and altivec-fix- patches) and the Makefile.am
files (existing PIC patch) require autoreconf to be effective
2) the &apos;-gcc34.patch&apos; must be done after autoreconf as it patches configure
rather than configure.in (it could be changed to modify configure.in, but for
those that don&apos;t otherwise need autoreconf it&apos;s quicker to just patch
configure).

Lastly, the strip of fstack-protector that was added for earlier versions is
removed from src_compile() as it builds fine here, and the unusual &apos;has_pie&apos;
section is removed - again, no problems here. 

I&apos;ve built with &quot;everything on&quot; i.e. all use flags but -gtk (x86 p3 &amp;
athlon-xp, hardened/pic/pie), without problems.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>solar@gentoo.org</who>
            <bug_when>2005-02-16 19:00:45 0000</bug_when>
            <thetext>video herd. ping..</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kevquinn@gentoo.org</who>
            <bug_when>2005-02-26 09:22:52 0000</bug_when>
            <thetext>Created an attachment (id=52188)
Updated patch to 1.6.2-r3 latest version (1.15), and fix gtk logic error

Slight fix; got the logic upside down on gtk check.  Updated to patch against
current ebuild (where some of the src_unpack() issues have been mitigated
recently by forcing the autoreconf stuff always - I&apos;ve done things slightly
differently here).

Any comment (favourable or otherwise) from media-video would be appreciated.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>cfalonso@gmail.com</who>
            <bug_when>2005-03-01 10:04:58 0000</bug_when>
            <thetext>It works:

+3dnow +X +avi -debug -dv -gtk +mmx +pic +quicktime -sdl +sse -yv12

Portage 2.0.51.18 (default-linux/x86/2004.0, gcc-3.4.3, glibc-2.3.4.20050125-r0, 2.6.10-nitro4 i686)
=================================================================
System uname: 2.6.10-nitro4 i686 AMD Athlon(TM) XP 1800+
Gentoo Base System version 1.6.9

ccache version 2.3 [enabled]
CFLAGS=&quot;-march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -ffast-math -O2 -fomit-frame-pointer -frename-registers -funroll-loops -fPIC -fstack-protector -pipe&quot;
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>blauwers@gentoo.org</who>
            <bug_when>2005-03-08 08:29:52 0000</bug_when>
            <thetext>patch works for me</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mike@nerone.org</who>
            <bug_when>2005-04-12 21:38:10 0000</bug_when>
            <thetext>Ahem...a fix for this would be nice. Anyone from media-video have a bit of time? Or hardened? Somebody? :)

BTW...the ebuild patch no longer applies cleanly.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kevquinn@gentoo.org</who>
            <bug_when>2005-04-13 04:10:25 0000</bug_when>
            <thetext>We&apos;ve been waiting for media-video to respond for some time.  If they show any interest, I&apos;ll re-work/re-check against current CVS.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>luckyduck@gentoo.org</who>
            <bug_when>2005-04-13 10:27:41 0000</bug_when>
            <thetext>Kevin, would be nice if you could update the patch once again. I&apos;ll review it then and I&apos;m inclined to apply it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kevquinn@gentoo.org</who>
            <bug_when>2005-04-14 05:37:54 0000</bug_when>
            <thetext>Created an attachment (id=56250)
Patch against 1.6.2-r3 ebuild v1.21

Breakdown of changes:

1) Add &quot;pic&quot; to IUSE, so it can be used to conditionally apply the mmx patch

2) Add &apos;use pic &amp;&amp; epatch ...&apos; to apply the patch

3) Remove &apos;strip-flags -fstack-protector&apos; - this was probably supposed to be
   filter-flags rather than strip-flags (which won&apos;t remove ssp on hardened
   systems).  I haven&apos;t had any problems yet with ssp enabled.

4) Remove &apos;if has_pie&apos; block.  For info, the &quot;right&quot; way to do this is via
   &apos;filter-flags -fpie&apos; but it&apos;s no longer necessary with this patch.

The result is that on hardened systems, it builds PIC &amp; PIE without any
TEXTRELs instead of failing to build.  On non-hardened systems, it should
build exactly as before.


The only &apos;use&apos; flag I haven&apos;t built with is quicktime, but I don&apos;t think
that should cause any trouble (see bug #85432).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>luckyduck@gentoo.org</who>
            <bug_when>2005-04-17 12:37:44 0000</bug_when>
            <thetext>hmm, just one thing. the pic useflag shouldnt be used, only by some toolchain packages.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>solar@gentoo.org</who>
            <bug_when>2005-04-17 13:34:11 0000</bug_when>
            <thetext>Your right. This patch should be applied all the time and the option for mmx misbehaviors should be corrected for everybody.
/usr/lib/libmplex2-1.6.so.0.2.2 and /usr/lib/libmpeg2encpp-1.6.so.0.2.2 both violate existing shared object q/a policy.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>luckyduck@gentoo.org</who>
            <bug_when>2005-04-17 13:58:46 0000</bug_when>
            <thetext>ok, thanks a lot guys. i&apos;ve uploaded the patch to my devspace as it takes some time until it&apos;s available on all mirrors. i&apos;ll change SRC_URI in the ebuild in a few days to the mirror://gentoo location. thanks again!</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>48775</attachid>
            <date>2005-01-17 12:45 0000</date>
            <desc>output file of compilation</desc>
            <filename>ccUWnj5K.out</filename>
            <type>text/plain</type>
            <data encoding="base64">Ly8gL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjMuNS9jYzEgLXF1aWV0IC1J
LiAtSS4gLUkuLiAtSSAuLi91dGlscyAtSSAuLiAtTUQgbW90aW9uLmQgLU1GIC5kZXBzL21vdGlv
bi5UcG8gLU1QIC1NVCBtb3Rpb24ubyAtTVEgbW90aW9uLm8gLURfX0dOVUNfXz0zIC1EX19HTlVD
X01JTk9SX189MyAtRF9fR05VQ19QQVRDSExFVkVMX189NSAtREhBVkVfQ09ORklHX0ggbW90aW9u
LmMgLWZQSUUgLWZzdGFjay1wcm90ZWN0b3IgLWZzdGFjay1wcm90ZWN0b3ItYWxsIC1xdWlldCAt
ZHVtcGJhc2UgbW90aW9uLmMgLW1hcmNoPWF0aGxvbi14cCAtbW5vLXNzZTIgLWF1eGJhc2Utc3Ry
aXAgbW90aW9uLm8gLU8yIC1mdW5yb2xsLWFsbC1sb29wcyAtZmlubGluZS1mdW5jdGlvbnMgLWZm
YXN0LW1hdGggLWZyZXJ1bi1jc2UtYWZ0ZXItbG9vcCAtZnJlcnVuLWxvb3Atb3B0IC1mZXhwZW5z
aXZlLW9wdGltaXphdGlvbnMgLWZtb3ZlLWFsbC1tb3ZhYmxlcyAtZm9taXQtZnJhbWUtcG9pbnRl
ciAtbyAtIC1mcmFuZG9tLXNlZWQ9MAojIDEgIm1vdGlvbi5jIgojIDEgIjxidWlsdC1pbj4iCiMg
MSAiPGNvbW1hbmQgbGluZT4iCiMgMSAibW90aW9uLmMiCgojIDEgIi4uL2NvbmZpZy5oIiAxCiMg
MyAibW90aW9uLmMiIDIKCgojIDEgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAxIDMgNAojIDI4ICIv
dXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2ZlYXR1cmVzLmgiIDEg
MyA0CiMgMjk2ICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRl
L3N5cy9jZGVmcy5oIiAxIDMgNAojIDI5NyAiL3Vzci9pbmNsdWRlL2ZlYXR1cmVzLmgiIDIgMyA0
CiMgMzE5ICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2du
dS9zdHVicy5oIiAxIDMgNAojIDMyMCAiL3Vzci9pbmNsdWRlL2ZlYXR1cmVzLmgiIDIgMyA0CiMg
MjkgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAyIDMgNAoKCgoKCiMgMSAiL3Vzci9saWIvZ2NjLWxp
Yi9pNjg2LXBjLWxpbnV4LWdudS8zLjMuNS9pbmNsdWRlL3N0ZGRlZi5oIiAxIDMgNAojIDIxMyAi
L3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjMuNS9pbmNsdWRlL3N0ZGRlZi5o
IiAzIDQKdHlwZWRlZiB1bnNpZ25lZCBpbnQgc2l6ZV90OwojIDM1ICIvdXNyL2luY2x1ZGUvc3Rk
aW8uaCIgMiAzIDQKCiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIgMSAzIDQKIyAyOCAi
L3Vzci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvd29y
ZHNpemUuaCIgMSAzIDQKIyAyOSAiL3Vzci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIgMiAzIDQKCgoj
IDEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4zLjUvaW5jbHVkZS9zdGRk
ZWYuaCIgMSAzIDQKIyAzMiAiL3Vzci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIgMiAzIDQKCgp0eXBl
ZGVmIHVuc2lnbmVkIGNoYXIgX191X2NoYXI7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IF9f
dV9zaG9ydDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgX191X2ludDsKdHlwZWRlZiB1bnNpZ25lZCBs
b25nIGludCBfX3VfbG9uZzsKCgp0eXBlZGVmIHNpZ25lZCBjaGFyIF9faW50OF90Owp0eXBlZGVm
IHVuc2lnbmVkIGNoYXIgX191aW50OF90Owp0eXBlZGVmIHNpZ25lZCBzaG9ydCBpbnQgX19pbnQx
Nl90Owp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGludCBfX3VpbnQxNl90Owp0eXBlZGVmIHNpZ25l
ZCBpbnQgX19pbnQzMl90Owp0eXBlZGVmIHVuc2lnbmVkIGludCBfX3VpbnQzMl90OwoKCgoKX19l
eHRlbnNpb25fXyB0eXBlZGVmIHNpZ25lZCBsb25nIGxvbmcgaW50IF9faW50NjRfdDsKX19leHRl
bnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX191aW50NjRfdDsKCgoKCgoK
Cl9fZXh0ZW5zaW9uX18gdHlwZWRlZiBsb25nIGxvbmcgaW50IF9fcXVhZF90OwpfX2V4dGVuc2lv
bl9fIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCBfX3VfcXVhZF90OwojIDEyOSAiL3Vz
ci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvdHlwZXNp
emVzLmgiIDEgMyA0CiMgMTMwICIvdXNyL2luY2x1ZGUvYml0cy90eXBlcy5oIiAyIDMgNAoKCgoK
CgpfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCBfX2Rldl90Owpf
X2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5zaWduZWQgaW50IF9fdWlkX3Q7Cl9fZXh0ZW5zaW9uX18g
dHlwZWRlZiB1bnNpZ25lZCBpbnQgX19naWRfdDsKX19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgaW50IF9faW5vX3Q7Cl9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25n
IGxvbmcgaW50IF9faW5vNjRfdDsKX19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGludCBf
X21vZGVfdDsKX19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGludCBfX25saW5rX3Q7Cl9f
ZXh0ZW5zaW9uX18gdHlwZWRlZiBsb25nIGludCBfX29mZl90OwpfX2V4dGVuc2lvbl9fIHR5cGVk
ZWYgbG9uZyBsb25nIGludCBfX29mZjY0X3Q7Cl9fZXh0ZW5zaW9uX18gdHlwZWRlZiBpbnQgX19w
aWRfdDsKX19leHRlbnNpb25fXyB0eXBlZGVmIHN0cnVjdCB7IGludCBfX3ZhbFsyXTsgfSBfX2Zz
aWRfdDsKX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgaW50IF9fY2xvY2tfdDsKX19leHRlbnNp
b25fXyB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IF9fcmxpbV90OwpfX2V4dGVuc2lvbl9fIHR5
cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCBfX3JsaW02NF90OwpfX2V4dGVuc2lvbl9fIHR5
cGVkZWYgdW5zaWduZWQgaW50IF9faWRfdDsKX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgaW50
IF9fdGltZV90OwpfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5zaWduZWQgaW50IF9fdXNlY29uZHNf
dDsKX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgaW50IF9fc3VzZWNvbmRzX3Q7CgpfX2V4dGVu
c2lvbl9fIHR5cGVkZWYgaW50IF9fZGFkZHJfdDsKX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcg
aW50IF9fc3dibGtfdDsKX19leHRlbnNpb25fXyB0eXBlZGVmIGludCBfX2tleV90OwoKCl9fZXh0
ZW5zaW9uX18gdHlwZWRlZiBpbnQgX19jbG9ja2lkX3Q7CgoKX19leHRlbnNpb25fXyB0eXBlZGVm
IGludCBfX3RpbWVyX3Q7CgoKX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgaW50IF9fYmxrc2l6
ZV90OwoKCgoKX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgaW50IF9fYmxrY250X3Q7Cl9fZXh0
ZW5zaW9uX18gdHlwZWRlZiBsb25nIGxvbmcgaW50IF9fYmxrY250NjRfdDsKCgpfX2V4dGVuc2lv
bl9fIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgX19mc2Jsa2NudF90OwpfX2V4dGVuc2lvbl9f
IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCBfX2ZzYmxrY250NjRfdDsKCgpfX2V4dGVu
c2lvbl9fIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgX19mc2ZpbGNudF90OwpfX2V4dGVuc2lv
bl9fIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCBfX2ZzZmlsY250NjRfdDsKCl9fZXh0
ZW5zaW9uX18gdHlwZWRlZiBpbnQgX19zc2l6ZV90OwoKCgp0eXBlZGVmIF9fb2ZmNjRfdCBfX2xv
ZmZfdDsKdHlwZWRlZiBfX3F1YWRfdCAqX19xYWRkcl90Owp0eXBlZGVmIGNoYXIgKl9fY2FkZHJf
dDsKCgpfX2V4dGVuc2lvbl9fIHR5cGVkZWYgaW50IF9faW50cHRyX3Q7CgoKX19leHRlbnNpb25f
XyB0eXBlZGVmIHVuc2lnbmVkIGludCBfX3NvY2tsZW5fdDsKIyAzNyAiL3Vzci9pbmNsdWRlL3N0
ZGlvLmgiIDIgMyA0CgoKCgoKCgoKCnR5cGVkZWYgc3RydWN0IF9JT19GSUxFIEZJTEU7CgoKCgoK
IyA2MiAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAp0eXBlZGVmIHN0cnVjdCBfSU9fRklMRSBf
X0ZJTEU7CiMgNzIgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUv
bGliaW8uaCIgMSAzIDQKIyAzMiAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMgNAojIDEgIi91c3Iv
aW5jbHVkZS9fR19jb25maWcuaCIgMSAzIDQKIyAxNCAiL3Vzci9pbmNsdWRlL19HX2NvbmZpZy5o
IiAzIDQKIyAxICIvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMy41L2luY2x1
ZGUvc3RkZGVmLmgiIDEgMyA0CiMgMzI1ICIvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgt
Z251LzMuMy41L2luY2x1ZGUvc3RkZGVmLmgiIDMgNAp0eXBlZGVmIGxvbmcgaW50IHdjaGFyX3Q7
CiMgMzU0ICIvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMy41L2luY2x1ZGUv
c3RkZGVmLmgiIDMgNAp0eXBlZGVmIHVuc2lnbmVkIGludCB3aW50X3Q7CiMgMTUgIi91c3IvaW5j
bHVkZS9fR19jb25maWcuaCIgMiAzIDQKIyAyNCAiL3Vzci9pbmNsdWRlL19HX2NvbmZpZy5oIiAz
IDQKIyAxICIvdXNyL2luY2x1ZGUvd2NoYXIuaCIgMSAzIDQKIyA0OCAiL3Vzci9pbmNsdWRlL3dj
aGFyLmgiIDMgNAojIDEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4zLjUv
aW5jbHVkZS9zdGRkZWYuaCIgMSAzIDQKIyA0OSAiL3Vzci9pbmNsdWRlL3djaGFyLmgiIDIgMyA0
CgojIDEgIi91c3IvaW5jbHVkZS9iaXRzL3djaGFyLmgiIDEgMyA0CiMgNTEgIi91c3IvaW5jbHVk
ZS93Y2hhci5oIiAyIDMgNAojIDc2ICIvdXNyL2luY2x1ZGUvd2NoYXIuaCIgMyA0CnR5cGVkZWYg
c3RydWN0CnsKICBpbnQgX19jb3VudDsKICB1bmlvbgogIHsKICAgIHdpbnRfdCBfX3djaDsKICAg
IGNoYXIgX193Y2hiWzRdOwogIH0gX192YWx1ZTsKfSBfX21ic3RhdGVfdDsKIyAyNSAiL3Vzci9p
bmNsdWRlL19HX2NvbmZpZy5oIiAyIDMgNAoKdHlwZWRlZiBzdHJ1Y3QKewogIF9fb2ZmX3QgX19w
b3M7CiAgX19tYnN0YXRlX3QgX19zdGF0ZTsKfSBfR19mcG9zX3Q7CnR5cGVkZWYgc3RydWN0CnsK
ICBfX29mZjY0X3QgX19wb3M7CiAgX19tYnN0YXRlX3QgX19zdGF0ZTsKfSBfR19mcG9zNjRfdDsK
IyA0NCAiL3Vzci9pbmNsdWRlL19HX2NvbmZpZy5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvZ2Nv
bnYuaCIgMSAzIDQKIyAyOCAiL3Vzci9pbmNsdWRlL2djb252LmgiIDMgNAojIDEgIi91c3IvaW5j
bHVkZS93Y2hhci5oIiAxIDMgNAojIDQ4ICIvdXNyL2luY2x1ZGUvd2NoYXIuaCIgMyA0CiMgMSAi
L3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjMuNS9pbmNsdWRlL3N0ZGRlZi5o
IiAxIDMgNAojIDQ5ICIvdXNyL2luY2x1ZGUvd2NoYXIuaCIgMiAzIDQKIyAyOSAiL3Vzci9pbmNs
dWRlL2djb252LmgiIDIgMyA0CgoKIyAxICIvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgt
Z251LzMuMy41L2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0CiMgMzIgIi91c3IvaW5jbHVkZS9nY29u
di5oIiAyIDMgNAoKCgoKCmVudW0KewogIF9fR0NPTlZfT0sgPSAwLAogIF9fR0NPTlZfTk9DT05W
LAogIF9fR0NPTlZfTk9EQiwKICBfX0dDT05WX05PTUVNLAoKICBfX0dDT05WX0VNUFRZX0lOUFVU
LAogIF9fR0NPTlZfRlVMTF9PVVRQVVQsCiAgX19HQ09OVl9JTExFR0FMX0lOUFVULAogIF9fR0NP
TlZfSU5DT01QTEVURV9JTlBVVCwKCiAgX19HQ09OVl9JTExFR0FMX0RFU0NSSVBUT1IsCiAgX19H
Q09OVl9JTlRFUk5BTF9FUlJPUgp9OwoKCgplbnVtCnsKICBfX0dDT05WX0lTX0xBU1QgPSAweDAw
MDEsCiAgX19HQ09OVl9JR05PUkVfRVJST1JTID0gMHgwMDAyCn07CgoKCnN0cnVjdCBfX2djb252
X3N0ZXA7CnN0cnVjdCBfX2djb252X3N0ZXBfZGF0YTsKc3RydWN0IF9fZ2NvbnZfbG9hZGVkX29i
amVjdDsKc3RydWN0IF9fZ2NvbnZfdHJhbnNfZGF0YTsKCgoKdHlwZWRlZiBpbnQgKCpfX2djb252
X2ZjdCkgKHN0cnVjdCBfX2djb252X3N0ZXAgKiwgc3RydWN0IF9fZ2NvbnZfc3RlcF9kYXRhICos
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IHVuc2lnbmVkIGNoYXIgKiosIF9f
Y29uc3QgdW5zaWduZWQgY2hhciAqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciAqKiwgc2l6ZV90ICosIGludCwgaW50KTsKCgp0eXBlZGVmIHdpbnRfdCAoKl9fZ2Nv
bnZfYnRvd2NfZmN0KSAoc3RydWN0IF9fZ2NvbnZfc3RlcCAqLCB1bnNpZ25lZCBjaGFyKTsKCgp0
eXBlZGVmIGludCAoKl9fZ2NvbnZfaW5pdF9mY3QpIChzdHJ1Y3QgX19nY29udl9zdGVwICopOwp0
eXBlZGVmIHZvaWQgKCpfX2djb252X2VuZF9mY3QpIChzdHJ1Y3QgX19nY29udl9zdGVwICopOwoK
Cgp0eXBlZGVmIGludCAoKl9fZ2NvbnZfdHJhbnNfZmN0KSAoc3RydWN0IF9fZ2NvbnZfc3RlcCAq
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IF9fZ2NvbnZfc3RlcF9k
YXRhICosIHZvaWQgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3Qg
dW5zaWduZWQgY2hhciAqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19jb25z
dCB1bnNpZ25lZCBjaGFyICoqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19j
b25zdCB1bnNpZ25lZCBjaGFyICosIHVuc2lnbmVkIGNoYXIgKiosCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaXplX3QgKik7CgoKdHlwZWRlZiBpbnQgKCpfX2djb252X3RyYW5z
X2NvbnRleHRfZmN0KSAodm9pZCAqLCBfX2NvbnN0IHVuc2lnbmVkIGNoYXIgKiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19jb25zdCB1bnNpZ25lZCBjaGFyICos
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIg
KiwgdW5zaWduZWQgY2hhciAqKTsKCgp0eXBlZGVmIGludCAoKl9fZ2NvbnZfdHJhbnNfcXVlcnlf
ZmN0KSAoX19jb25zdCBjaGFyICosIF9fY29uc3QgY2hhciAqKiosCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgKik7CgoKdHlwZWRlZiBpbnQgKCpfX2djb252
X3RyYW5zX2luaXRfZmN0KSAodm9pZCAqKiwgY29uc3QgY2hhciAqKTsKdHlwZWRlZiB2b2lkICgq
X19nY29udl90cmFuc19lbmRfZmN0KSAodm9pZCAqKTsKCnN0cnVjdCBfX2djb252X3RyYW5zX2Rh
dGEKewoKICBfX2djb252X3RyYW5zX2ZjdCBfX3RyYW5zX2ZjdDsKICBfX2djb252X3RyYW5zX2Nv
bnRleHRfZmN0IF9fdHJhbnNfY29udGV4dF9mY3Q7CiAgX19nY29udl90cmFuc19lbmRfZmN0IF9f
dHJhbnNfZW5kX2ZjdDsKICB2b2lkICpfX2RhdGE7CiAgc3RydWN0IF9fZ2NvbnZfdHJhbnNfZGF0
YSAqX19uZXh0Owp9OwoKCgpzdHJ1Y3QgX19nY29udl9zdGVwCnsKICBzdHJ1Y3QgX19nY29udl9s
b2FkZWRfb2JqZWN0ICpfX3NobGliX2hhbmRsZTsKICBfX2NvbnN0IGNoYXIgKl9fbW9kbmFtZTsK
CiAgaW50IF9fY291bnRlcjsKCiAgY2hhciAqX19mcm9tX25hbWU7CiAgY2hhciAqX190b19uYW1l
OwoKICBfX2djb252X2ZjdCBfX2ZjdDsKICBfX2djb252X2J0b3djX2ZjdCBfX2J0b3djX2ZjdDsK
ICBfX2djb252X2luaXRfZmN0IF9faW5pdF9mY3Q7CiAgX19nY29udl9lbmRfZmN0IF9fZW5kX2Zj
dDsKCgoKICBpbnQgX19taW5fbmVlZGVkX2Zyb207CiAgaW50IF9fbWF4X25lZWRlZF9mcm9tOwog
IGludCBfX21pbl9uZWVkZWRfdG87CiAgaW50IF9fbWF4X25lZWRlZF90bzsKCgogIGludCBfX3N0
YXRlZnVsOwoKICB2b2lkICpfX2RhdGE7Cn07CgoKCnN0cnVjdCBfX2djb252X3N0ZXBfZGF0YQp7
CiAgdW5zaWduZWQgY2hhciAqX19vdXRidWY7CiAgdW5zaWduZWQgY2hhciAqX19vdXRidWZlbmQ7
CgoKCiAgaW50IF9fZmxhZ3M7CgoKCiAgaW50IF9faW52b2NhdGlvbl9jb3VudGVyOwoKCgogIGlu
dCBfX2ludGVybmFsX3VzZTsKCiAgX19tYnN0YXRlX3QgKl9fc3RhdGVwOwogIF9fbWJzdGF0ZV90
IF9fc3RhdGU7CgoKCiAgc3RydWN0IF9fZ2NvbnZfdHJhbnNfZGF0YSAqX190cmFuczsKfTsKCgoK
dHlwZWRlZiBzdHJ1Y3QgX19nY29udl9pbmZvCnsKICBzaXplX3QgX19uc3RlcHM7CiAgc3RydWN0
IF9fZ2NvbnZfc3RlcCAqX19zdGVwczsKICBfX2V4dGVuc2lvbl9fIHN0cnVjdCBfX2djb252X3N0
ZXBfZGF0YSBfX2RhdGEgW107Cn0gKl9fZ2NvbnZfdDsKIyA0NSAiL3Vzci9pbmNsdWRlL19HX2Nv
bmZpZy5oIiAyIDMgNAp0eXBlZGVmIHVuaW9uCnsKICBzdHJ1Y3QgX19nY29udl9pbmZvIF9fY2Q7
CiAgc3RydWN0CiAgewogICAgc3RydWN0IF9fZ2NvbnZfaW5mbyBfX2NkOwogICAgc3RydWN0IF9f
Z2NvbnZfc3RlcF9kYXRhIF9fZGF0YTsKICB9IF9fY29tYmluZWQ7Cn0gX0dfaWNvbnZfdDsKCnR5
cGVkZWYgaW50IF9HX2ludDE2X3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9fIChfX0hJX18pKSk7
CnR5cGVkZWYgaW50IF9HX2ludDMyX3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9fIChfX1NJX18p
KSk7CnR5cGVkZWYgdW5zaWduZWQgaW50IF9HX3VpbnQxNl90IF9fYXR0cmlidXRlX18gKChfX21v
ZGVfXyAoX19ISV9fKSkpOwp0eXBlZGVmIHVuc2lnbmVkIGludCBfR191aW50MzJfdCBfX2F0dHJp
YnV0ZV9fICgoX19tb2RlX18gKF9fU0lfXykpKTsKIyAzMyAiL3Vzci9pbmNsdWRlL2xpYmlvLmgi
IDIgMyA0CiMgNTMgIi91c3IvaW5jbHVkZS9saWJpby5oIiAzIDQKIyAxICIvdXNyL2xpYi9nY2Mt
bGliL2k2ODYtcGMtbGludXgtZ251LzMuMy41L2luY2x1ZGUvc3RkYXJnLmgiIDEgMyA0CiMgNDMg
Ii91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4zLjUvaW5jbHVkZS9zdGRhcmcu
aCIgMyA0CnR5cGVkZWYgX19idWlsdGluX3ZhX2xpc3QgX19nbnVjX3ZhX2xpc3Q7CiMgNTQgIi91
c3IvaW5jbHVkZS9saWJpby5oIiAyIDMgNAojIDE2MyAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMg
NApzdHJ1Y3QgX0lPX2p1bXBfdDsgc3RydWN0IF9JT19GSUxFOwojIDE3MyAiL3Vzci9pbmNsdWRl
L2xpYmlvLmgiIDMgNAp0eXBlZGVmIHZvaWQgX0lPX2xvY2tfdDsKCgoKCgpzdHJ1Y3QgX0lPX21h
cmtlciB7CiAgc3RydWN0IF9JT19tYXJrZXIgKl9uZXh0OwogIHN0cnVjdCBfSU9fRklMRSAqX3Ni
dWY7CgoKCiAgaW50IF9wb3M7CiMgMTk2ICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cn07CgoK
ZW51bSBfX2NvZGVjdnRfcmVzdWx0CnsKICBfX2NvZGVjdnRfb2ssCiAgX19jb2RlY3Z0X3BhcnRp
YWwsCiAgX19jb2RlY3Z0X2Vycm9yLAogIF9fY29kZWN2dF9ub2NvbnYKfTsKIyAyNjQgIi91c3Iv
aW5jbHVkZS9saWJpby5oIiAzIDQKc3RydWN0IF9JT19GSUxFIHsKICBpbnQgX2ZsYWdzOwoKCgoK
ICBjaGFyKiBfSU9fcmVhZF9wdHI7CiAgY2hhciogX0lPX3JlYWRfZW5kOwogIGNoYXIqIF9JT19y
ZWFkX2Jhc2U7CiAgY2hhciogX0lPX3dyaXRlX2Jhc2U7CiAgY2hhciogX0lPX3dyaXRlX3B0cjsK
ICBjaGFyKiBfSU9fd3JpdGVfZW5kOwogIGNoYXIqIF9JT19idWZfYmFzZTsKICBjaGFyKiBfSU9f
YnVmX2VuZDsKCiAgY2hhciAqX0lPX3NhdmVfYmFzZTsKICBjaGFyICpfSU9fYmFja3VwX2Jhc2U7
CiAgY2hhciAqX0lPX3NhdmVfZW5kOwoKICBzdHJ1Y3QgX0lPX21hcmtlciAqX21hcmtlcnM7Cgog
IHN0cnVjdCBfSU9fRklMRSAqX2NoYWluOwoKICBpbnQgX2ZpbGVubzsKCgoKICBpbnQgX2ZsYWdz
MjsKCiAgX19vZmZfdCBfb2xkX29mZnNldDsKCgoKICB1bnNpZ25lZCBzaG9ydCBfY3VyX2NvbHVt
bjsKICBzaWduZWQgY2hhciBfdnRhYmxlX29mZnNldDsKICBjaGFyIF9zaG9ydGJ1ZlsxXTsKCgoK
ICBfSU9fbG9ja190ICpfbG9jazsKIyAzMTIgIi91c3IvaW5jbHVkZS9saWJpby5oIiAzIDQKICBf
X29mZjY0X3QgX29mZnNldDsKCgoKCgogIHZvaWQgKl9fcGFkMTsKICB2b2lkICpfX3BhZDI7Cgog
IGludCBfbW9kZTsKCiAgY2hhciBfdW51c2VkMlsxNSAqIHNpemVvZiAoaW50KSAtIDIgKiBzaXpl
b2YgKHZvaWQgKildOwoKfTsKCgp0eXBlZGVmIHN0cnVjdCBfSU9fRklMRSBfSU9fRklMRTsKCgpz
dHJ1Y3QgX0lPX0ZJTEVfcGx1czsKCmV4dGVybiBzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyBfSU9fMl8x
X3N0ZGluXzsKZXh0ZXJuIHN0cnVjdCBfSU9fRklMRV9wbHVzIF9JT18yXzFfc3Rkb3V0XzsKZXh0
ZXJuIHN0cnVjdCBfSU9fRklMRV9wbHVzIF9JT18yXzFfc3RkZXJyXzsKIyAzNTEgIi91c3IvaW5j
bHVkZS9saWJpby5oIiAzIDQKdHlwZWRlZiBfX3NzaXplX3QgX19pb19yZWFkX2ZuICh2b2lkICpf
X2Nvb2tpZSwgY2hhciAqX19idWYsIHNpemVfdCBfX25ieXRlcyk7CgoKCgoKCgp0eXBlZGVmIF9f
c3NpemVfdCBfX2lvX3dyaXRlX2ZuICh2b2lkICpfX2Nvb2tpZSwgX19jb25zdCBjaGFyICpfX2J1
ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IF9fbik7CgoKCgoKCgp0
eXBlZGVmIGludCBfX2lvX3NlZWtfZm4gKHZvaWQgKl9fY29va2llLCBfX29mZjY0X3QgKl9fcG9z
LCBpbnQgX193KTsKCgp0eXBlZGVmIGludCBfX2lvX2Nsb3NlX2ZuICh2b2lkICpfX2Nvb2tpZSk7
CgoKCgp0eXBlZGVmIF9faW9fcmVhZF9mbiBjb29raWVfcmVhZF9mdW5jdGlvbl90Owp0eXBlZGVm
IF9faW9fd3JpdGVfZm4gY29va2llX3dyaXRlX2Z1bmN0aW9uX3Q7CnR5cGVkZWYgX19pb19zZWVr
X2ZuIGNvb2tpZV9zZWVrX2Z1bmN0aW9uX3Q7CnR5cGVkZWYgX19pb19jbG9zZV9mbiBjb29raWVf
Y2xvc2VfZnVuY3Rpb25fdDsKCgp0eXBlZGVmIHN0cnVjdAp7CiAgX19pb19yZWFkX2ZuICpyZWFk
OwogIF9faW9fd3JpdGVfZm4gKndyaXRlOwogIF9faW9fc2Vla19mbiAqc2VlazsKICBfX2lvX2Ns
b3NlX2ZuICpjbG9zZTsKfSBfSU9fY29va2llX2lvX2Z1bmN0aW9uc190Owp0eXBlZGVmIF9JT19j
b29raWVfaW9fZnVuY3Rpb25zX3QgY29va2llX2lvX2Z1bmN0aW9uc190OwoKc3RydWN0IF9JT19j
b29raWVfZmlsZTsKCgpleHRlcm4gdm9pZCBfSU9fY29va2llX2luaXQgKHN0cnVjdCBfSU9fY29v
a2llX2ZpbGUgKl9fY2ZpbGUsIGludCBfX3JlYWRfd3JpdGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdm9pZCAqX19jb29raWUsIF9JT19jb29raWVfaW9fZnVuY3Rpb25zX3QgX19mbnMp
OwoKCgoKCgoKZXh0ZXJuIGludCBfX3VuZGVyZmxvdyAoX0lPX0ZJTEUgKikgOwpleHRlcm4gaW50
IF9fdWZsb3cgKF9JT19GSUxFICopIDsKZXh0ZXJuIGludCBfX292ZXJmbG93IChfSU9fRklMRSAq
LCBpbnQpIDsKZXh0ZXJuIHdpbnRfdCBfX3d1bmRlcmZsb3cgKF9JT19GSUxFICopIDsKZXh0ZXJu
IHdpbnRfdCBfX3d1ZmxvdyAoX0lPX0ZJTEUgKikgOwpleHRlcm4gd2ludF90IF9fd292ZXJmbG93
IChfSU9fRklMRSAqLCB3aW50X3QpIDsKIyA0NDEgIi91c3IvaW5jbHVkZS9saWJpby5oIiAzIDQK
ZXh0ZXJuIGludCBfSU9fZ2V0YyAoX0lPX0ZJTEUgKl9fZnApIDsKZXh0ZXJuIGludCBfSU9fcHV0
YyAoaW50IF9fYywgX0lPX0ZJTEUgKl9fZnApIDsKZXh0ZXJuIGludCBfSU9fZmVvZiAoX0lPX0ZJ
TEUgKl9fZnApIDsKZXh0ZXJuIGludCBfSU9fZmVycm9yIChfSU9fRklMRSAqX19mcCkgOwoKZXh0
ZXJuIGludCBfSU9fcGVla2NfbG9ja2VkIChfSU9fRklMRSAqX19mcCkgOwoKCgoKCmV4dGVybiB2
b2lkIF9JT19mbG9ja2ZpbGUgKF9JT19GSUxFICopIDsKZXh0ZXJuIHZvaWQgX0lPX2Z1bmxvY2tm
aWxlIChfSU9fRklMRSAqKSA7CmV4dGVybiBpbnQgX0lPX2Z0cnlsb2NrZmlsZSAoX0lPX0ZJTEUg
KikgOwojIDQ3MSAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMgNApleHRlcm4gaW50IF9JT192ZnNj
YW5mIChfSU9fRklMRSAqIF9fcmVzdHJpY3QsIGNvbnN0IGNoYXIgKiBfX3Jlc3RyaWN0LAogICAg
ICAgICAgICAgICAgICAgICAgICBfX2dudWNfdmFfbGlzdCwgaW50ICpfX3Jlc3RyaWN0KSA7CmV4
dGVybiBpbnQgX0lPX3ZmcHJpbnRmIChfSU9fRklMRSAqX19yZXN0cmljdCwgY29uc3QgY2hhciAq
X19yZXN0cmljdCwKICAgICAgICAgICAgICAgICAgICAgICAgIF9fZ251Y192YV9saXN0KSA7CmV4
dGVybiBfX3NzaXplX3QgX0lPX3BhZG4gKF9JT19GSUxFICosIGludCwgX19zc2l6ZV90KSA7CmV4
dGVybiBzaXplX3QgX0lPX3NnZXRuIChfSU9fRklMRSAqLCB2b2lkICosIHNpemVfdCkgOwoKZXh0
ZXJuIF9fb2ZmNjRfdCBfSU9fc2Vla29mZiAoX0lPX0ZJTEUgKiwgX19vZmY2NF90LCBpbnQsIGlu
dCkgOwpleHRlcm4gX19vZmY2NF90IF9JT19zZWVrcG9zIChfSU9fRklMRSAqLCBfX29mZjY0X3Qs
IGludCkgOwoKZXh0ZXJuIHZvaWQgX0lPX2ZyZWVfYmFja3VwX2FyZWEgKF9JT19GSUxFICopIDsK
IyA3MyAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0CgoKCgp0eXBlZGVmIF9fZ251Y192YV9s
aXN0IHZhX2xpc3Q7CiMgODYgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKCgoKCnR5cGVkZWYg
X0dfZnBvczY0X3QgZnBvc190OwoKCgp0eXBlZGVmIF9HX2Zwb3M2NF90IGZwb3M2NF90OwojIDEz
OCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAojIDEgIi91c3IvaW5jbHVkZS9iaXRzL3N0ZGlv
X2xpbS5oIiAxIDMgNAojIDEzOSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0CgoKCmV4dGVy
biBzdHJ1Y3QgX0lPX0ZJTEUgKnN0ZGluOwpleHRlcm4gc3RydWN0IF9JT19GSUxFICpzdGRvdXQ7
CmV4dGVybiBzdHJ1Y3QgX0lPX0ZJTEUgKnN0ZGVycjsKCgoKCgoKCmV4dGVybiBpbnQgcmVtb3Zl
IChfX2NvbnN0IGNoYXIgKl9fZmlsZW5hbWUpIDsKCmV4dGVybiBpbnQgcmVuYW1lIChfX2NvbnN0
IGNoYXIgKl9fb2xkLCBfX2NvbnN0IGNoYXIgKl9fbmV3KSA7CgoKCgojIDE2NyAiL3Vzci9pbmNs
dWRlL3N0ZGlvLmgiIDMgNApleHRlcm4gRklMRSAqdG1wZmlsZSAodm9pZCkgX19hc21fXyAoIiIg
InRtcGZpbGU2NCIpOwoKCgoKCgpleHRlcm4gRklMRSAqdG1wZmlsZTY0ICh2b2lkKTsKCgoKZXh0
ZXJuIGNoYXIgKnRtcG5hbSAoY2hhciAqX19zKSA7CgoKCgoKZXh0ZXJuIGNoYXIgKnRtcG5hbV9y
IChjaGFyICpfX3MpIDsKIyAxOTYgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKZXh0ZXJuIGNo
YXIgKnRlbXBuYW0gKF9fY29uc3QgY2hhciAqX19kaXIsIF9fY29uc3QgY2hhciAqX19wZngpCiAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKTsKCgoKCgoKCgpleHRlcm4gaW50IGZjbG9z
ZSAoRklMRSAqX19zdHJlYW0pOwoKCgoKZXh0ZXJuIGludCBmZmx1c2ggKEZJTEUgKl9fc3RyZWFt
KTsKCiMgMjIxICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0CmV4dGVybiBpbnQgZmZsdXNoX3Vu
bG9ja2VkIChGSUxFICpfX3N0cmVhbSk7CiMgMjMxICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0
CmV4dGVybiBpbnQgZmNsb3NlYWxsICh2b2lkKTsKCgoKCiMgMjUyICIvdXNyL2luY2x1ZGUvc3Rk
aW8uaCIgMyA0CmV4dGVybiBGSUxFICpmb3BlbiAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9f
ZmlsZW5hbWUsIF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX21vZGVzKSBfX2FzbV9fICgiIiAi
Zm9wZW42NCIpOwoKZXh0ZXJuIEZJTEUgKmZyZW9wZW4gKF9fY29uc3QgY2hhciAqX19yZXN0cmlj
dCBfX2ZpbGVuYW1lLCBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19tb2RlcywgRklMRSAqX19y
ZXN0cmljdCBfX3N0cmVhbSkgX19hc21fXyAoIiIgImZyZW9wZW42NCIpOwoKCgoKCgoKCgpleHRl
cm4gRklMRSAqZm9wZW42NCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZmlsZW5hbWUsCiAg
ICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19tb2Rlcyk7CmV4
dGVybiBGSUxFICpmcmVvcGVuNjQgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2ZpbGVuYW1l
LAogICAgICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19tb2Rl
cywKICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSk7CgoK
CgpleHRlcm4gRklMRSAqZmRvcGVuIChpbnQgX19mZCwgX19jb25zdCBjaGFyICpfX21vZGVzKSA7
CgoKCgoKZXh0ZXJuIEZJTEUgKmZvcGVuY29va2llICh2b2lkICpfX3Jlc3RyaWN0IF9fbWFnaWNf
Y29va2llLAogICAgICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hhciAqX19yZXN0cmlj
dCBfX21vZGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgIF9JT19jb29raWVfaW9fZnVuY3Rp
b25zX3QgX19pb19mdW5jcykgOwoKCmV4dGVybiBGSUxFICpmbWVtb3BlbiAodm9pZCAqX19zLCBz
aXplX3QgX19sZW4sIF9fY29uc3QgY2hhciAqX19tb2RlcykgOwoKCgoKZXh0ZXJuIEZJTEUgKm9w
ZW5fbWVtc3RyZWFtIChjaGFyICoqX19yZXN0cmljdCBfX2J1ZmxvYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaXplX3QgKl9fcmVzdHJpY3QgX19zaXplbG9jKSA7CgoKCgoKCmV4dGVy
biB2b2lkIHNldGJ1ZiAoRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSwgY2hhciAqX19yZXN0cmlj
dCBfX2J1ZikgOwoKCgpleHRlcm4gaW50IHNldHZidWYgKEZJTEUgKl9fcmVzdHJpY3QgX19zdHJl
YW0sIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsCiAgICAgICAgICAgICAgICAgICAgaW50IF9fbW9k
ZXMsIHNpemVfdCBfX24pIDsKCgoKCgpleHRlcm4gdm9pZCBzZXRidWZmZXIgKEZJTEUgKl9fcmVz
dHJpY3QgX19zdHJlYW0sIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsCiAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZV90IF9fc2l6ZSkgOwoKCmV4dGVybiB2b2lkIHNldGxpbmVidWYgKEZJTEUgKl9f
c3RyZWFtKSA7CgoKCgoKCgoKZXh0ZXJuIGludCBmcHJpbnRmIChGSUxFICpfX3Jlc3RyaWN0IF9f
c3RyZWFtLAogICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zv
cm1hdCwgLi4uKTsKCgoKCmV4dGVybiBpbnQgcHJpbnRmIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJp
Y3QgX19mb3JtYXQsIC4uLik7CgpleHRlcm4gaW50IHNwcmludGYgKGNoYXIgKl9fcmVzdHJpY3Qg
X19zLAogICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1h
dCwgLi4uKSA7CgoKCgoKZXh0ZXJuIGludCB2ZnByaW50ZiAoRklMRSAqX19yZXN0cmljdCBfX3Ms
IF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwKICAgICAgICAgICAgICAgICAgICAg
X19nbnVjX3ZhX2xpc3QgX19hcmcpOwoKCgoKZXh0ZXJuIGludCB2cHJpbnRmIChfX2NvbnN0IGNo
YXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIF9fZ251Y192YV9saXN0IF9fYXJnKTsKCmV4dGVybiBp
bnQgdnNwcmludGYgKGNoYXIgKl9fcmVzdHJpY3QgX19zLCBfX2NvbnN0IGNoYXIgKl9fcmVzdHJp
Y3QgX19mb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgIF9fZ251Y192YV9saXN0IF9fYXJnKSA7
CgoKCgoKZXh0ZXJuIGludCBzbnByaW50ZiAoY2hhciAqX19yZXN0cmljdCBfX3MsIHNpemVfdCBf
X21heGxlbiwKICAgICAgICAgICAgICAgICAgICAgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9f
Zm9ybWF0LCAuLi4pCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18s
IDMsIDQpKSk7CgpleHRlcm4gaW50IHZzbnByaW50ZiAoY2hhciAqX19yZXN0cmljdCBfX3MsIHNp
emVfdCBfX21heGxlbiwKICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hhciAqX19yZXN0
cmljdCBfX2Zvcm1hdCwgX19nbnVjX3ZhX2xpc3QgX19hcmcpCiAgICAgX19hdHRyaWJ1dGVfXyAo
KF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMsIDApKSk7CgoKCgoKCmV4dGVybiBpbnQgdmFzcHJp
bnRmIChjaGFyICoqX19yZXN0cmljdCBfX3B0ciwgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9f
ZiwKICAgICAgICAgICAgICAgICAgICAgIF9fZ251Y192YV9saXN0IF9fYXJnKQogICAgIF9fYXR0
cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAwKSkpOwpleHRlcm4gaW50IF9f
YXNwcmludGYgKGNoYXIgKipfX3Jlc3RyaWN0IF9fcHRyLAogICAgICAgICAgICAgICAgICAgICAg
IF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2ZtdCwgLi4uKQogICAgIF9fYXR0cmlidXRlX18g
KChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOwpleHRlcm4gaW50IGFzcHJpbnRmIChj
aGFyICoqX19yZXN0cmljdCBfX3B0ciwKICAgICAgICAgICAgICAgICAgICAgX19jb25zdCBjaGFy
ICpfX3Jlc3RyaWN0IF9fZm10LCAuLi4pCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18g
KF9fcHJpbnRmX18sIDIsIDMpKSk7CgoKCgoKCgpleHRlcm4gaW50IHZkcHJpbnRmIChpbnQgX19m
ZCwgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm10LAogICAgICAgICAgICAgICAgICAgICBf
X2dudWNfdmFfbGlzdCBfX2FyZykKICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19w
cmludGZfXywgMiwgMCkpKTsKZXh0ZXJuIGludCBkcHJpbnRmIChpbnQgX19mZCwgX19jb25zdCBj
aGFyICpfX3Jlc3RyaWN0IF9fZm10LCAuLi4pCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0
X18gKF9fcHJpbnRmX18sIDIsIDMpKSk7CgoKCgoKCgoKZXh0ZXJuIGludCBmc2NhbmYgKEZJTEUg
Kl9fcmVzdHJpY3QgX19zdHJlYW0sCiAgICAgICAgICAgICAgICAgICBfX2NvbnN0IGNoYXIgKl9f
cmVzdHJpY3QgX19mb3JtYXQsIC4uLik7CgoKCgpleHRlcm4gaW50IHNjYW5mIChfX2NvbnN0IGNo
YXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIC4uLik7CgpleHRlcm4gaW50IHNzY2FuZiAoX19jb25z
dCBjaGFyICpfX3Jlc3RyaWN0IF9fcywKICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hhciAq
X19yZXN0cmljdCBfX2Zvcm1hdCwgLi4uKSA7CgoKCgoKCgoKZXh0ZXJuIGludCB2ZnNjYW5mIChG
SUxFICpfX3Jlc3RyaWN0IF9fcywgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LAog
ICAgICAgICAgICAgICAgICAgIF9fZ251Y192YV9saXN0IF9fYXJnKQogICAgIF9fYXR0cmlidXRl
X18gKChfX2Zvcm1hdF9fIChfX3NjYW5mX18sIDIsIDApKSk7CgoKCgoKZXh0ZXJuIGludCB2c2Nh
bmYgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgX19nbnVjX3ZhX2xpc3QgX19h
cmcpCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fc2NhbmZfXywgMSwgMCkpKTsK
CgpleHRlcm4gaW50IHZzc2NhbmYgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3MsCiAgICAg
ICAgICAgICAgICAgICAgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCBfX2dudWNf
dmFfbGlzdCBfX2FyZykKICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19zY2FuZl9f
LCAyLCAwKSkpOwoKCgoKCgoKCgpleHRlcm4gaW50IGZnZXRjIChGSUxFICpfX3N0cmVhbSk7CmV4
dGVybiBpbnQgZ2V0YyAoRklMRSAqX19zdHJlYW0pOwoKCgoKCmV4dGVybiBpbnQgZ2V0Y2hhciAo
dm9pZCk7CgojIDQ1NCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNApleHRlcm4gaW50IGdldGNf
dW5sb2NrZWQgKEZJTEUgKl9fc3RyZWFtKTsKZXh0ZXJuIGludCBnZXRjaGFyX3VubG9ja2VkICh2
b2lkKTsKIyA0NjUgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKZXh0ZXJuIGludCBmZ2V0Y191
bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pOwoKCgoKCgoKCgoKCmV4dGVybiBpbnQgZnB1dGMgKGlu
dCBfX2MsIEZJTEUgKl9fc3RyZWFtKTsKZXh0ZXJuIGludCBwdXRjIChpbnQgX19jLCBGSUxFICpf
X3N0cmVhbSk7CgoKCgoKZXh0ZXJuIGludCBwdXRjaGFyIChpbnQgX19jKTsKCiMgNDk4ICIvdXNy
L2luY2x1ZGUvc3RkaW8uaCIgMyA0CmV4dGVybiBpbnQgZnB1dGNfdW5sb2NrZWQgKGludCBfX2Ms
IEZJTEUgKl9fc3RyZWFtKTsKCgoKCgoKCmV4dGVybiBpbnQgcHV0Y191bmxvY2tlZCAoaW50IF9f
YywgRklMRSAqX19zdHJlYW0pOwpleHRlcm4gaW50IHB1dGNoYXJfdW5sb2NrZWQgKGludCBfX2Mp
OwoKCgoKCgpleHRlcm4gaW50IGdldHcgKEZJTEUgKl9fc3RyZWFtKTsKCgpleHRlcm4gaW50IHB1
dHcgKGludCBfX3csIEZJTEUgKl9fc3RyZWFtKTsKCgoKCgoKCgpleHRlcm4gY2hhciAqZmdldHMg
KGNoYXIgKl9fcmVzdHJpY3QgX19zLCBpbnQgX19uLCBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFt
KTsKCgoKCgoKZXh0ZXJuIGNoYXIgKmdldHMgKGNoYXIgKl9fcyk7CgojIDU0MyAiL3Vzci9pbmNs
dWRlL3N0ZGlvLmgiIDMgNApleHRlcm4gY2hhciAqZmdldHNfdW5sb2NrZWQgKGNoYXIgKl9fcmVz
dHJpY3QgX19zLCBpbnQgX19uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKl9f
cmVzdHJpY3QgX19zdHJlYW0pOwojIDU1OSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNApleHRl
cm4gX19zc2l6ZV90IF9fZ2V0ZGVsaW0gKGNoYXIgKipfX3Jlc3RyaWN0IF9fbGluZXB0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAqX19yZXN0cmljdCBfX24sIGludCBf
X2RlbGltaXRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKl9fcmVzdHJp
Y3QgX19zdHJlYW0pOwpleHRlcm4gX19zc2l6ZV90IGdldGRlbGltIChjaGFyICoqX19yZXN0cmlj
dCBfX2xpbmVwdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpfX3Jlc3Ry
aWN0IF9fbiwgaW50IF9fZGVsaW1pdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJ
TEUgKl9fcmVzdHJpY3QgX19zdHJlYW0pOwoKCgoKCgoKZXh0ZXJuIF9fc3NpemVfdCBnZXRsaW5l
IChjaGFyICoqX19yZXN0cmljdCBfX2xpbmVwdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplX3QgKl9fcmVzdHJpY3QgX19uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgRklM
RSAqX19yZXN0cmljdCBfX3N0cmVhbSk7CgoKCgoKCgoKZXh0ZXJuIGludCBmcHV0cyAoX19jb25z
dCBjaGFyICpfX3Jlc3RyaWN0IF9fcywgRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSk7CgoKCgoK
ZXh0ZXJuIGludCBwdXRzIChfX2NvbnN0IGNoYXIgKl9fcyk7CgoKCgoKCmV4dGVybiBpbnQgdW5n
ZXRjIChpbnQgX19jLCBGSUxFICpfX3N0cmVhbSk7CgoKCgoKCmV4dGVybiBzaXplX3QgZnJlYWQg
KHZvaWQgKl9fcmVzdHJpY3QgX19wdHIsIHNpemVfdCBfX3NpemUsCiAgICAgICAgICAgICAgICAg
ICAgIHNpemVfdCBfX24sIEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0pOwoKCgoKZXh0ZXJuIHNp
emVfdCBmd3JpdGUgKF9fY29uc3Qgdm9pZCAqX19yZXN0cmljdCBfX3B0ciwgc2l6ZV90IF9fc2l6
ZSwKICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBfX24sIEZJTEUgKl9fcmVzdHJpY3QgX19z
KTsKCiMgNjIwICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0CmV4dGVybiBpbnQgZnB1dHNfdW5s
b2NrZWQgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3MsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0pOwojIDYzMSAiL3Vzci9pbmNsdWRlL3N0
ZGlvLmgiIDMgNApleHRlcm4gc2l6ZV90IGZyZWFkX3VubG9ja2VkICh2b2lkICpfX3Jlc3RyaWN0
IF9fcHRyLCBzaXplX3QgX19zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl
X3QgX19uLCBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKTsKZXh0ZXJuIHNpemVfdCBmd3JpdGVf
dW5sb2NrZWQgKF9fY29uc3Qgdm9pZCAqX19yZXN0cmljdCBfX3B0ciwgc2l6ZV90IF9fc2l6ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBfX24sIEZJTEUgKl9fcmVzdHJp
Y3QgX19zdHJlYW0pOwoKCgoKCgoKCmV4dGVybiBpbnQgZnNlZWsgKEZJTEUgKl9fc3RyZWFtLCBs
b25nIGludCBfX29mZiwgaW50IF9fd2hlbmNlKTsKCgoKCmV4dGVybiBsb25nIGludCBmdGVsbCAo
RklMRSAqX19zdHJlYW0pOwoKCgoKZXh0ZXJuIHZvaWQgcmV3aW5kIChGSUxFICpfX3N0cmVhbSk7
CgojIDY3NSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNApleHRlcm4gaW50IGZzZWVrbyAoRklM
RSAqX19zdHJlYW0sIF9fb2ZmNjRfdCBfX29mZiwgaW50IF9fd2hlbmNlKSBfX2FzbV9fICgiIiAi
ZnNlZWtvNjQiKTsKCgpleHRlcm4gX19vZmY2NF90IGZ0ZWxsbyAoRklMRSAqX19zdHJlYW0pIF9f
YXNtX18gKCIiICJmdGVsbG82NCIpOwoKCgoKCgoKCiMgNzAwICIvdXNyL2luY2x1ZGUvc3RkaW8u
aCIgMyA0CmV4dGVybiBpbnQgZmdldHBvcyAoRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSwgZnBv
c190ICpfX3Jlc3RyaWN0IF9fcG9zKSBfX2FzbV9fICgiIiAiZmdldHBvczY0Iik7CgpleHRlcm4g
aW50IGZzZXRwb3MgKEZJTEUgKl9fc3RyZWFtLCBfX2NvbnN0IGZwb3NfdCAqX19wb3MpIF9fYXNt
X18gKCIiICJmc2V0cG9zNjQiKTsKCgoKCgoKCgoKZXh0ZXJuIGludCBmc2Vla282NCAoRklMRSAq
X19zdHJlYW0sIF9fb2ZmNjRfdCBfX29mZiwgaW50IF9fd2hlbmNlKTsKZXh0ZXJuIF9fb2ZmNjRf
dCBmdGVsbG82NCAoRklMRSAqX19zdHJlYW0pOwpleHRlcm4gaW50IGZnZXRwb3M2NCAoRklMRSAq
X19yZXN0cmljdCBfX3N0cmVhbSwgZnBvczY0X3QgKl9fcmVzdHJpY3QgX19wb3MpOwpleHRlcm4g
aW50IGZzZXRwb3M2NCAoRklMRSAqX19zdHJlYW0sIF9fY29uc3QgZnBvczY0X3QgKl9fcG9zKTsK
CgoKCmV4dGVybiB2b2lkIGNsZWFyZXJyIChGSUxFICpfX3N0cmVhbSkgOwoKZXh0ZXJuIGludCBm
ZW9mIChGSUxFICpfX3N0cmVhbSkgOwoKZXh0ZXJuIGludCBmZXJyb3IgKEZJTEUgKl9fc3RyZWFt
KSA7CgoKCgpleHRlcm4gdm9pZCBjbGVhcmVycl91bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pIDsK
ZXh0ZXJuIGludCBmZW9mX3VubG9ja2VkIChGSUxFICpfX3N0cmVhbSkgOwpleHRlcm4gaW50IGZl
cnJvcl91bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pIDsKCgoKCgoKCgpleHRlcm4gdm9pZCBwZXJy
b3IgKF9fY29uc3QgY2hhciAqX19zKTsKCgoKCgoKIyAxICIvdXNyL2luY2x1ZGUvYml0cy9zeXNf
ZXJybGlzdC5oIiAxIDMgNAojIDI3ICIvdXNyL2luY2x1ZGUvYml0cy9zeXNfZXJybGlzdC5oIiAz
IDQKZXh0ZXJuIGludCBzeXNfbmVycjsKZXh0ZXJuIF9fY29uc3QgY2hhciAqX19jb25zdCBzeXNf
ZXJybGlzdFtdOwoKCmV4dGVybiBpbnQgX3N5c19uZXJyOwpleHRlcm4gX19jb25zdCBjaGFyICpf
X2NvbnN0IF9zeXNfZXJybGlzdFtdOwojIDc0OCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0
CgoKCgpleHRlcm4gaW50IGZpbGVubyAoRklMRSAqX19zdHJlYW0pIDsKCgoKCmV4dGVybiBpbnQg
ZmlsZW5vX3VubG9ja2VkIChGSUxFICpfX3N0cmVhbSkgOwojIDc2NyAiL3Vzci9pbmNsdWRlL3N0
ZGlvLmgiIDMgNApleHRlcm4gRklMRSAqcG9wZW4gKF9fY29uc3QgY2hhciAqX19jb21tYW5kLCBf
X2NvbnN0IGNoYXIgKl9fbW9kZXMpOwoKCgoKCmV4dGVybiBpbnQgcGNsb3NlIChGSUxFICpfX3N0
cmVhbSk7CgoKCgoKZXh0ZXJuIGNoYXIgKmN0ZXJtaWQgKGNoYXIgKl9fcykgOwoKCgoKCmV4dGVy
biBjaGFyICpjdXNlcmlkIChjaGFyICpfX3MpOwoKCgoKc3RydWN0IG9ic3RhY2s7CgoKZXh0ZXJu
IGludCBvYnN0YWNrX3ByaW50ZiAoc3RydWN0IG9ic3RhY2sgKl9fcmVzdHJpY3QgX19vYnN0YWNr
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19m
b3JtYXQsIC4uLikKICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywg
MiwgMykpKTsKZXh0ZXJuIGludCBvYnN0YWNrX3ZwcmludGYgKHN0cnVjdCBvYnN0YWNrICpfX3Jl
c3RyaWN0IF9fb2JzdGFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hh
ciAqX19yZXN0cmljdCBfX2Zvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fZ251
Y192YV9saXN0IF9fYXJncykKICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmlu
dGZfXywgMiwgMCkpKTsKCgoKCgoKCmV4dGVybiB2b2lkIGZsb2NrZmlsZSAoRklMRSAqX19zdHJl
YW0pIDsKCgoKZXh0ZXJuIGludCBmdHJ5bG9ja2ZpbGUgKEZJTEUgKl9fc3RyZWFtKSA7CgoKZXh0
ZXJuIHZvaWQgZnVubG9ja2ZpbGUgKEZJTEUgKl9fc3RyZWFtKSA7CiMgODI4ICIvdXNyL2luY2x1
ZGUvc3RkaW8uaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc3RkaW8uaCIgMSAzIDQKIyAz
MyAiL3Vzci9pbmNsdWRlL2JpdHMvc3RkaW8uaCIgMyA0CmV4dGVybiBfX2lubGluZSBpbnQKdnBy
aW50ZiAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm10LCBfX2dudWNfdmFfbGlzdCBfX2Fy
ZykKewogIHJldHVybiB2ZnByaW50ZiAoc3Rkb3V0LCBfX2ZtdCwgX19hcmcpOwp9CgoKZXh0ZXJu
IF9faW5saW5lIGludApnZXRjaGFyICh2b2lkKQp7CiAgcmV0dXJuIF9JT19nZXRjIChzdGRpbik7
Cn0KCgoKCmV4dGVybiBfX2lubGluZSBpbnQKZ2V0Y191bmxvY2tlZCAoRklMRSAqX19mcCkKewog
IHJldHVybiAoX19idWlsdGluX2V4cGVjdCAoKF9fZnApLT5fSU9fcmVhZF9wdHIgPj0gKF9fZnAp
LT5fSU9fcmVhZF9lbmQsIDApID8gX191ZmxvdyAoX19mcCkgOiAqKHVuc2lnbmVkIGNoYXIgKikg
KF9fZnApLT5fSU9fcmVhZF9wdHIrKyk7Cn0KCgpleHRlcm4gX19pbmxpbmUgaW50CmdldGNoYXJf
dW5sb2NrZWQgKHZvaWQpCnsKICByZXR1cm4gKF9fYnVpbHRpbl9leHBlY3QgKChzdGRpbiktPl9J
T19yZWFkX3B0ciA+PSAoc3RkaW4pLT5fSU9fcmVhZF9lbmQsIDApID8gX191ZmxvdyAoc3RkaW4p
IDogKih1bnNpZ25lZCBjaGFyICopIChzdGRpbiktPl9JT19yZWFkX3B0cisrKTsKfQoKCgoKZXh0
ZXJuIF9faW5saW5lIGludApwdXRjaGFyIChpbnQgX19jKQp7CiAgcmV0dXJuIF9JT19wdXRjIChf
X2MsIHN0ZG91dCk7Cn0KCgoKCmV4dGVybiBfX2lubGluZSBpbnQKZnB1dGNfdW5sb2NrZWQgKGlu
dCBfX2MsIEZJTEUgKl9fc3RyZWFtKQp7CiAgcmV0dXJuIChfX2J1aWx0aW5fZXhwZWN0ICgoX19z
dHJlYW0pLT5fSU9fd3JpdGVfcHRyID49IChfX3N0cmVhbSktPl9JT193cml0ZV9lbmQsIDApID8g
X19vdmVyZmxvdyAoX19zdHJlYW0sICh1bnNpZ25lZCBjaGFyKSAoX19jKSkgOiAodW5zaWduZWQg
Y2hhcikgKCooX19zdHJlYW0pLT5fSU9fd3JpdGVfcHRyKysgPSAoX19jKSkpOwp9CgoKCgoKZXh0
ZXJuIF9faW5saW5lIGludApwdXRjX3VubG9ja2VkIChpbnQgX19jLCBGSUxFICpfX3N0cmVhbSkK
ewogIHJldHVybiAoX19idWlsdGluX2V4cGVjdCAoKF9fc3RyZWFtKS0+X0lPX3dyaXRlX3B0ciA+
PSAoX19zdHJlYW0pLT5fSU9fd3JpdGVfZW5kLCAwKSA/IF9fb3ZlcmZsb3cgKF9fc3RyZWFtLCAo
dW5zaWduZWQgY2hhcikgKF9fYykpIDogKHVuc2lnbmVkIGNoYXIpICgqKF9fc3RyZWFtKS0+X0lP
X3dyaXRlX3B0cisrID0gKF9fYykpKTsKfQoKCmV4dGVybiBfX2lubGluZSBpbnQKcHV0Y2hhcl91
bmxvY2tlZCAoaW50IF9fYykKewogIHJldHVybiAoX19idWlsdGluX2V4cGVjdCAoKHN0ZG91dCkt
Pl9JT193cml0ZV9wdHIgPj0gKHN0ZG91dCktPl9JT193cml0ZV9lbmQsIDApID8gX19vdmVyZmxv
dyAoc3Rkb3V0LCAodW5zaWduZWQgY2hhcikgKF9fYykpIDogKHVuc2lnbmVkIGNoYXIpICgqKHN0
ZG91dCktPl9JT193cml0ZV9wdHIrKyA9IChfX2MpKSk7Cn0KCgoKCgpleHRlcm4gX19pbmxpbmUg
X19zc2l6ZV90CmdldGxpbmUgKGNoYXIgKipfX2xpbmVwdHIsIHNpemVfdCAqX19uLCBGSUxFICpf
X3N0cmVhbSkKewogIHJldHVybiBfX2dldGRlbGltIChfX2xpbmVwdHIsIF9fbiwgJ1xuJywgX19z
dHJlYW0pOwp9CgoKCgoKZXh0ZXJuIF9faW5saW5lIGludApmZW9mX3VubG9ja2VkIChGSUxFICpf
X3N0cmVhbSkKewogIHJldHVybiAoKChfX3N0cmVhbSktPl9mbGFncyAmIDB4MTApICE9IDApOwp9
CgoKZXh0ZXJuIF9faW5saW5lIGludApmZXJyb3JfdW5sb2NrZWQgKEZJTEUgKl9fc3RyZWFtKQp7
CiAgcmV0dXJuICgoKF9fc3RyZWFtKS0+X2ZsYWdzICYgMHgyMCkgIT0gMCk7Cn0KIyA4MjkgIi91
c3IvaW5jbHVkZS9zdGRpby5oIiAyIDMgNAoKCgojIDYgIm1vdGlvbi5jIiAyCiMgMSAiL3Vzci9p
bmNsdWRlL3N0ZGxpYi5oIiAxIDMgNAojIDMzICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAoj
IDEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4zLjUvaW5jbHVkZS9zdGRk
ZWYuaCIgMSAzIDQKIyAzNCAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAyIDMgNAoKCgoKCgoKCiMg
MSAiL3Vzci9pbmNsdWRlL2JpdHMvd2FpdGZsYWdzLmgiIDEgMyA0CiMgNDMgIi91c3IvaW5jbHVk
ZS9zdGRsaWIuaCIgMiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvYml0cy93YWl0c3RhdHVzLmgiIDEg
MyA0CiMgNjMgIi91c3IvaW5jbHVkZS9iaXRzL3dhaXRzdGF0dXMuaCIgMyA0CiMgMSAiL3Vzci9p
bmNsdWRlL2VuZGlhbi5oIiAxIDMgNAojIDM3ICIvdXNyL2luY2x1ZGUvZW5kaWFuLmgiIDMgNAoj
IDEgIi91c3IvaW5jbHVkZS9iaXRzL2VuZGlhbi5oIiAxIDMgNAojIDM4ICIvdXNyL2luY2x1ZGUv
ZW5kaWFuLmgiIDIgMyA0CiMgNjQgIi91c3IvaW5jbHVkZS9iaXRzL3dhaXRzdGF0dXMuaCIgMiAz
IDQKCnVuaW9uIHdhaXQKICB7CiAgICBpbnQgd19zdGF0dXM7CiAgICBzdHJ1Y3QKICAgICAgewoK
ICAgICAgICB1bnNpZ25lZCBpbnQgX193X3Rlcm1zaWc6NzsKICAgICAgICB1bnNpZ25lZCBpbnQg
X193X2NvcmVkdW1wOjE7CiAgICAgICAgdW5zaWduZWQgaW50IF9fd19yZXRjb2RlOjg7CiAgICAg
ICAgdW5zaWduZWQgaW50OjE2OwoKCgoKCgoKICAgICAgfSBfX3dhaXRfdGVybWluYXRlZDsKICAg
IHN0cnVjdAogICAgICB7CgogICAgICAgIHVuc2lnbmVkIGludCBfX3dfc3RvcHZhbDo4OwogICAg
ICAgIHVuc2lnbmVkIGludCBfX3dfc3RvcHNpZzo4OwogICAgICAgIHVuc2lnbmVkIGludDoxNjsK
CgoKCgoKICAgICAgfSBfX3dhaXRfc3RvcHBlZDsKICB9OwojIDQ0ICIvdXNyL2luY2x1ZGUvc3Rk
bGliLmgiIDIgMyA0CiMgNjggIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMyA0CnR5cGVkZWYgdW5p
b24KICB7CiAgICB1bmlvbiB3YWl0ICpfX3VwdHI7CiAgICBpbnQgKl9faXB0cjsKICB9IF9fV0FJ
VF9TVEFUVVMgX19hdHRyaWJ1dGVfXyAoKF9fdHJhbnNwYXJlbnRfdW5pb25fXykpOwojIDkzICIv
dXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAoKCnR5cGVkZWYgc3RydWN0CiAgewogICAgaW50IHF1
b3Q7CiAgICBpbnQgcmVtOwogIH0gZGl2X3Q7CgoKCnR5cGVkZWYgc3RydWN0CiAgewogICAgbG9u
ZyBpbnQgcXVvdDsKICAgIGxvbmcgaW50IHJlbTsKICB9IGxkaXZfdDsKCgoKCgoKCl9fZXh0ZW5z
aW9uX18gdHlwZWRlZiBzdHJ1Y3QKICB7CiAgICBsb25nIGxvbmcgaW50IHF1b3Q7CiAgICBsb25n
IGxvbmcgaW50IHJlbTsKICB9IGxsZGl2X3Q7CgoKIyAxMzcgIi91c3IvaW5jbHVkZS9zdGRsaWIu
aCIgMyA0CmV4dGVybiBzaXplX3QgX19jdHlwZV9nZXRfbWJfY3VyX21heCAodm9pZCkgOwoKCgoK
ZXh0ZXJuIGRvdWJsZSBhdG9mIChfX2NvbnN0IGNoYXIgKl9fbnB0cikgX19hdHRyaWJ1dGVfXyAo
KF9fcHVyZV9fKSk7CgpleHRlcm4gaW50IGF0b2kgKF9fY29uc3QgY2hhciAqX19ucHRyKSBfX2F0
dHJpYnV0ZV9fICgoX19wdXJlX18pKTsKCmV4dGVybiBsb25nIGludCBhdG9sIChfX2NvbnN0IGNo
YXIgKl9fbnB0cikgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSk7CgoKCgoKX19leHRlbnNpb25f
XyBleHRlcm4gbG9uZyBsb25nIGludCBhdG9sbCAoX19jb25zdCBjaGFyICpfX25wdHIpCiAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSk7CgoKCgoKZXh0ZXJuIGRvdWJsZSBzdHJ0b2QgKF9f
Y29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICBjaGFy
ICoqX19yZXN0cmljdCBfX2VuZHB0cikgOwoKCgoKCmV4dGVybiBmbG9hdCBzdHJ0b2YgKF9fY29u
c3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipf
X3Jlc3RyaWN0IF9fZW5kcHRyKSA7CgpleHRlcm4gbG9uZyBkb3VibGUgc3RydG9sZCAoX19jb25z
dCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo
YXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyKSA7CgoKCgoKZXh0ZXJuIGxvbmcgaW50IHN0cnRvbCAo
X19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
Y2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpIDsKCmV4dGVybiB1bnNpZ25l
ZCBsb25nIGludCBzdHJ0b3VsIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIs
IGludCBfX2Jhc2UpCiAgICAgOwoKCgoKX19leHRlbnNpb25fXwpleHRlcm4gbG9uZyBsb25nIGlu
dCBzdHJ0b3EgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpIDsK
Cl9fZXh0ZW5zaW9uX18KZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc3RydG91cSAoX19j
b25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpCiAgICAg
OwoKCgoKCl9fZXh0ZW5zaW9uX18KZXh0ZXJuIGxvbmcgbG9uZyBpbnQgc3RydG9sbCAoX19jb25z
dCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpIDsKCl9fZXh0ZW5zaW9uX18K
ZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc3RydG91bGwgKF9fY29uc3QgY2hhciAqX19y
ZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
aGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwgaW50IF9fYmFzZSkKICAgICA7CgojIDIyNSAiL3Vz
ci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUveGxvY2FsZS5oIiAxIDMg
NAojIDI4ICIvdXNyL2luY2x1ZGUveGxvY2FsZS5oIiAzIDQKdHlwZWRlZiBzdHJ1Y3QgX19sb2Nh
bGVfc3RydWN0CnsKCiAgc3RydWN0IGxvY2FsZV9kYXRhICpfX2xvY2FsZXNbMTNdOwoKCiAgY29u
c3QgdW5zaWduZWQgc2hvcnQgaW50ICpfX2N0eXBlX2I7CiAgY29uc3QgaW50ICpfX2N0eXBlX3Rv
bG93ZXI7CiAgY29uc3QgaW50ICpfX2N0eXBlX3RvdXBwZXI7CgoKICBjb25zdCBjaGFyICpfX25h
bWVzWzEzXTsKfSAqX19sb2NhbGVfdDsKIyAyMjYgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMiAz
IDQKCgoKZXh0ZXJuIGxvbmcgaW50IHN0cnRvbF9sIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3Qg
X19ucHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5k
cHRyLCBpbnQgX19iYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgIF9fbG9jYWxlX3QgX19s
b2MpIDsKCmV4dGVybiB1bnNpZ25lZCBsb25nIGludCBzdHJ0b3VsX2wgKF9fY29uc3QgY2hhciAq
X19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo
YXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgX19iYXNlLCBfX2xvY2FsZV90IF9fbG9jKSA7CgpfX2V4dGVuc2lvbl9fCmV4dGVy
biBsb25nIGxvbmcgaW50IHN0cnRvbGxfbCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2Vu
ZHB0ciwgaW50IF9fYmFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2xvY2Fs
ZV90IF9fbG9jKSA7CgpfX2V4dGVuc2lvbl9fCmV4dGVybiB1bnNpZ25lZCBsb25nIGxvbmcgaW50
IHN0cnRvdWxsX2wgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgX19iYXNlLCBf
X2xvY2FsZV90IF9fbG9jKQogICAgIDsKCmV4dGVybiBkb3VibGUgc3RydG9kX2wgKF9fY29uc3Qg
Y2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipf
X3Jlc3RyaWN0IF9fZW5kcHRyLCBfX2xvY2FsZV90IF9fbG9jKQogICAgIDsKCmV4dGVybiBmbG9h
dCBzdHJ0b2ZfbCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAg
ICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwgX19sb2NhbGVfdCBfX2xvYykg
OwoKZXh0ZXJuIGxvbmcgZG91YmxlIHN0cnRvbGRfbCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0
IF9fbnB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3Qg
X19lbmRwdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbG9jYWxlX3QgX19sb2Mp
IDsKCgoKCgoKZXh0ZXJuIGRvdWJsZSBfX3N0cnRvZF9pbnRlcm5hbCAoX19jb25zdCBjaGFyICpf
X3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAq
Kl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2dyb3VwKQogICAgIDsKZXh0ZXJuIGZsb2F0IF9f
c3RydG9mX2ludGVybmFsIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLCBpbnQg
X19ncm91cCkKICAgICA7CmV4dGVybiBsb25nIGRvdWJsZSBfX3N0cnRvbGRfaW50ZXJuYWwgKF9f
Y29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgX19ncm91cCkgOwoKZXh0ZXJuIGxvbmcgaW50IF9f
c3RydG9sX2ludGVybmFsIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBfX2Jhc2UsIGludCBfX2dyb3Vw
KSA7CgoKCmV4dGVybiB1bnNpZ25lZCBsb25nIGludCBfX3N0cnRvdWxfaW50ZXJuYWwgKF9fY29u
c3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgX19iYXNlLCBpbnQgX19ncm91cCkg
OwoKCgoKX19leHRlbnNpb25fXwpleHRlcm4gbG9uZyBsb25nIGludCBfX3N0cnRvbGxfaW50ZXJu
YWwgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IF9fYmFzZSwgaW50IF9fZ3JvdXAp
IDsKCgoKX19leHRlbnNpb25fXwpleHRlcm4gdW5zaWduZWQgbG9uZyBsb25nIGludCBfX3N0cnRv
dWxsX2ludGVybmFsIChfX2NvbnN0IGNoYXIgKgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX19l
bmRwdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBfX2Jhc2UsIGludCBfX2dyb3VwKQogICAgIDsKCgoKCgoKCgpleHRlcm4gX19pbmxpbmUg
ZG91YmxlCnN0cnRvZCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwgY2hhciAqKl9f
cmVzdHJpY3QgX19lbmRwdHIpCnsKICByZXR1cm4gX19zdHJ0b2RfaW50ZXJuYWwgKF9fbnB0ciwg
X19lbmRwdHIsIDApOwp9CmV4dGVybiBfX2lubGluZSBsb25nIGludApzdHJ0b2wgKF9fY29uc3Qg
Y2hhciAqX19yZXN0cmljdCBfX25wdHIsIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLAogICAg
ICAgIGludCBfX2Jhc2UpCnsKICByZXR1cm4gX19zdHJ0b2xfaW50ZXJuYWwgKF9fbnB0ciwgX19l
bmRwdHIsIF9fYmFzZSwgMCk7Cn0KZXh0ZXJuIF9faW5saW5lIHVuc2lnbmVkIGxvbmcgaW50CnN0
cnRvdWwgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsIGNoYXIgKipfX3Jlc3RyaWN0
IF9fZW5kcHRyLAogICAgICAgICBpbnQgX19iYXNlKQp7CiAgcmV0dXJuIF9fc3RydG91bF9pbnRl
cm5hbCAoX19ucHRyLCBfX2VuZHB0ciwgX19iYXNlLCAwKTsKfQoKCgoKZXh0ZXJuIF9faW5saW5l
IGZsb2F0CnN0cnRvZiAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwgY2hhciAqKl9f
cmVzdHJpY3QgX19lbmRwdHIpCnsKICByZXR1cm4gX19zdHJ0b2ZfaW50ZXJuYWwgKF9fbnB0ciwg
X19lbmRwdHIsIDApOwp9CmV4dGVybiBfX2lubGluZSBsb25nIGRvdWJsZQpzdHJ0b2xkIChfX2Nv
bnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLCBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0cikK
ewogIHJldHVybiBfX3N0cnRvbGRfaW50ZXJuYWwgKF9fbnB0ciwgX19lbmRwdHIsIDApOwp9CgoK
CgpfX2V4dGVuc2lvbl9fIGV4dGVybiBfX2lubGluZSBsb25nIGxvbmcgaW50CnN0cnRvcSAoX19j
b25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIs
CiAgICAgICAgaW50IF9fYmFzZSkKewogIHJldHVybiBfX3N0cnRvbGxfaW50ZXJuYWwgKF9fbnB0
ciwgX19lbmRwdHIsIF9fYmFzZSwgMCk7Cn0KX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxpbmUg
dW5zaWduZWQgbG9uZyBsb25nIGludApzdHJ0b3VxIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3Qg
X19ucHRyLCBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwKICAgICAgICAgaW50IF9fYmFzZSkK
ewogIHJldHVybiBfX3N0cnRvdWxsX2ludGVybmFsIChfX25wdHIsIF9fZW5kcHRyLCBfX2Jhc2Us
IDApOwp9CgoKCgpfX2V4dGVuc2lvbl9fIGV4dGVybiBfX2lubGluZSBsb25nIGxvbmcgaW50CnN0
cnRvbGwgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsIGNoYXIgKipfX3Jlc3RyaWN0
IF9fZW5kcHRyLAogICAgICAgICBpbnQgX19iYXNlKQp7CiAgcmV0dXJuIF9fc3RydG9sbF9pbnRl
cm5hbCAoX19ucHRyLCBfX2VuZHB0ciwgX19iYXNlLCAwKTsKfQpfX2V4dGVuc2lvbl9fIGV4dGVy
biBfX2lubGluZSB1bnNpZ25lZCBsb25nIGxvbmcgaW50CnN0cnRvdWxsIChfX2NvbnN0IGNoYXIg
KiBfX3Jlc3RyaWN0IF9fbnB0ciwgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsCiAgICAgICAg
ICBpbnQgX19iYXNlKQp7CiAgcmV0dXJuIF9fc3RydG91bGxfaW50ZXJuYWwgKF9fbnB0ciwgX19l
bmRwdHIsIF9fYmFzZSwgMCk7Cn0KCgoKCmV4dGVybiBfX2lubGluZSBkb3VibGUKYXRvZiAoX19j
b25zdCBjaGFyICpfX25wdHIpCnsKICByZXR1cm4gc3RydG9kIChfX25wdHIsIChjaGFyICoqKSAo
KHZvaWQgKikwKSk7Cn0KZXh0ZXJuIF9faW5saW5lIGludAphdG9pIChfX2NvbnN0IGNoYXIgKl9f
bnB0cikKewogIHJldHVybiAoaW50KSBzdHJ0b2wgKF9fbnB0ciwgKGNoYXIgKiopICgodm9pZCAq
KTApLCAxMCk7Cn0KZXh0ZXJuIF9faW5saW5lIGxvbmcgaW50CmF0b2wgKF9fY29uc3QgY2hhciAq
X19ucHRyKQp7CiAgcmV0dXJuIHN0cnRvbCAoX19ucHRyLCAoY2hhciAqKikgKCh2b2lkICopMCks
IDEwKTsKfQoKCgoKX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxpbmUgbG9uZyBsb25nIGludAph
dG9sbCAoX19jb25zdCBjaGFyICpfX25wdHIpCnsKICByZXR1cm4gc3RydG9sbCAoX19ucHRyLCAo
Y2hhciAqKikgKCh2b2lkICopMCksIDEwKTsKfQoKIyA0MDggIi91c3IvaW5jbHVkZS9zdGRsaWIu
aCIgMyA0CmV4dGVybiBjaGFyICpsNjRhIChsb25nIGludCBfX24pIDsKCgpleHRlcm4gbG9uZyBp
bnQgYTY0bCAoX19jb25zdCBjaGFyICpfX3MpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpOwoK
CgoKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDEgMyA0CiMgMjkgIi91c3IvaW5jbHVk
ZS9zeXMvdHlwZXMuaCIgMyA0CgoKCgoKCnR5cGVkZWYgX191X2NoYXIgdV9jaGFyOwp0eXBlZGVm
IF9fdV9zaG9ydCB1X3Nob3J0Owp0eXBlZGVmIF9fdV9pbnQgdV9pbnQ7CnR5cGVkZWYgX191X2xv
bmcgdV9sb25nOwp0eXBlZGVmIF9fcXVhZF90IHF1YWRfdDsKdHlwZWRlZiBfX3VfcXVhZF90IHVf
cXVhZF90Owp0eXBlZGVmIF9fZnNpZF90IGZzaWRfdDsKCgoKCnR5cGVkZWYgX19sb2ZmX3QgbG9m
Zl90OwoKCgoKCnR5cGVkZWYgX19pbm82NF90IGlub190OwoKCgoKdHlwZWRlZiBfX2lubzY0X3Qg
aW5vNjRfdDsKCgoKCnR5cGVkZWYgX19kZXZfdCBkZXZfdDsKCgoKCnR5cGVkZWYgX19naWRfdCBn
aWRfdDsKCgoKCnR5cGVkZWYgX19tb2RlX3QgbW9kZV90OwoKCgoKdHlwZWRlZiBfX25saW5rX3Qg
bmxpbmtfdDsKCgoKCnR5cGVkZWYgX191aWRfdCB1aWRfdDsKCgoKCgoKCnR5cGVkZWYgX19vZmY2
NF90IG9mZl90OwoKCgoKdHlwZWRlZiBfX29mZjY0X3Qgb2ZmNjRfdDsKCgoKCnR5cGVkZWYgX19w
aWRfdCBwaWRfdDsKCgoKCnR5cGVkZWYgX19pZF90IGlkX3Q7CgoKCgp0eXBlZGVmIF9fc3NpemVf
dCBzc2l6ZV90OwoKCgoKCnR5cGVkZWYgX19kYWRkcl90IGRhZGRyX3Q7CnR5cGVkZWYgX19jYWRk
cl90IGNhZGRyX3Q7CgoKCgoKdHlwZWRlZiBfX2tleV90IGtleV90OwojIDEzMyAiL3Vzci9pbmNs
dWRlL3N5cy90eXBlcy5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvdGltZS5oIiAxIDMgNAojIDU4
ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzIDQKCgp0eXBlZGVmIF9fY2xvY2tfdCBjbG9ja190OwoK
CgojIDc0ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzIDQKCgp0eXBlZGVmIF9fdGltZV90IHRpbWVf
dDsKCgoKIyA5MiAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMyA0CnR5cGVkZWYgX19jbG9ja2lkX3Qg
Y2xvY2tpZF90OwojIDEwNCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMyA0CnR5cGVkZWYgX190aW1l
cl90IHRpbWVyX3Q7CiMgMTM0ICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIgMyA0CgoKCnR5
cGVkZWYgX191c2Vjb25kc190IHVzZWNvbmRzX3Q7CgoKCnR5cGVkZWYgX19zdXNlY29uZHNfdCBz
dXNlY29uZHNfdDsKCgoKCgojIDEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUv
My4zLjUvaW5jbHVkZS9zdGRkZWYuaCIgMSAzIDQKIyAxNDggIi91c3IvaW5jbHVkZS9zeXMvdHlw
ZXMuaCIgMiAzIDQKCgoKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1bG9uZzsKdHlwZWRlZiB1
bnNpZ25lZCBzaG9ydCBpbnQgdXNob3J0Owp0eXBlZGVmIHVuc2lnbmVkIGludCB1aW50OwojIDE5
MSAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKdHlwZWRlZiBpbnQgaW50OF90IF9fYXR0
cmlidXRlX18gKChfX21vZGVfXyAoX19RSV9fKSkpOwp0eXBlZGVmIGludCBpbnQxNl90IF9fYXR0
cmlidXRlX18gKChfX21vZGVfXyAoX19ISV9fKSkpOwp0eXBlZGVmIGludCBpbnQzMl90IF9fYXR0
cmlidXRlX18gKChfX21vZGVfXyAoX19TSV9fKSkpOwp0eXBlZGVmIGludCBpbnQ2NF90IF9fYXR0
cmlidXRlX18gKChfX21vZGVfXyAoX19ESV9fKSkpOwoKCnR5cGVkZWYgdW5zaWduZWQgaW50IHVf
aW50OF90IF9fYXR0cmlidXRlX18gKChfX21vZGVfXyAoX19RSV9fKSkpOwp0eXBlZGVmIHVuc2ln
bmVkIGludCB1X2ludDE2X3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9fIChfX0hJX18pKSk7CnR5
cGVkZWYgdW5zaWduZWQgaW50IHVfaW50MzJfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9f
U0lfXykpKTsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdV9pbnQ2NF90IF9fYXR0cmlidXRlX18gKChf
X21vZGVfXyAoX19ESV9fKSkpOwoKdHlwZWRlZiBpbnQgcmVnaXN0ZXJfdCBfX2F0dHJpYnV0ZV9f
ICgoX19tb2RlX18gKF9fd29yZF9fKSkpOwojIDIxNiAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5o
IiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAxIDMgNAojIDMxICIvdXNyL2lu
Y2x1ZGUvc3lzL3NlbGVjdC5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvYml0cy9zZWxlY3QuaCIg
MSAzIDQKIyAzMiAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMiAzIDQKCgojIDEgIi91c3Iv
aW5jbHVkZS9iaXRzL3NpZ3NldC5oIiAxIDMgNAojIDIzICIvdXNyL2luY2x1ZGUvYml0cy9zaWdz
ZXQuaCIgMyA0CnR5cGVkZWYgaW50IF9fc2lnX2F0b21pY190OwoKCgoKdHlwZWRlZiBzdHJ1Y3QK
ICB7CiAgICB1bnNpZ25lZCBsb25nIGludCBfX3ZhbFsoMTAyNCAvICg4ICogc2l6ZW9mICh1bnNp
Z25lZCBsb25nIGludCkpKV07CiAgfSBfX3NpZ3NldF90OwojIDM1ICIvdXNyL2luY2x1ZGUvc3lz
L3NlbGVjdC5oIiAyIDMgNAoKCgp0eXBlZGVmIF9fc2lnc2V0X3Qgc2lnc2V0X3Q7CgoKCgoKIyAx
ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAxIDMgNAojIDExOCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIg
MyA0CnN0cnVjdCB0aW1lc3BlYwogIHsKICAgIF9fdGltZV90IHR2X3NlYzsKICAgIGxvbmcgaW50
IHR2X25zZWM7CiAgfTsKIyA0NSAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMiAzIDQKCiMg
MSAiL3Vzci9pbmNsdWRlL2JpdHMvdGltZS5oIiAxIDMgNAojIDY5ICIvdXNyL2luY2x1ZGUvYml0
cy90aW1lLmgiIDMgNApzdHJ1Y3QgdGltZXZhbAogIHsKICAgIF9fdGltZV90IHR2X3NlYzsKICAg
IF9fc3VzZWNvbmRzX3QgdHZfdXNlYzsKICB9OwojIDQ3ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVj
dC5oIiAyIDMgNAojIDU1ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzIDQKdHlwZWRlZiBs
b25nIGludCBfX2ZkX21hc2s7CiMgNjcgIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0LmgiIDMgNAp0
eXBlZGVmIHN0cnVjdAogIHsKCgoKICAgIF9fZmRfbWFzayBmZHNfYml0c1sxMDI0IC8gKDggKiBz
aXplb2YgKF9fZmRfbWFzaykpXTsKCgoKCgogIH0gZmRfc2V0OwoKCgoKCgp0eXBlZGVmIF9fZmRf
bWFzayBmZF9tYXNrOwojIDk5ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzIDQKCiMgMTA5
ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzIDQKZXh0ZXJuIGludCBzZWxlY3QgKGludCBf
X25mZHMsIGZkX3NldCAqX19yZXN0cmljdCBfX3JlYWRmZHMsCiAgICAgICAgICAgICAgICAgICBm
ZF9zZXQgKl9fcmVzdHJpY3QgX193cml0ZWZkcywKICAgICAgICAgICAgICAgICAgIGZkX3NldCAq
X19yZXN0cmljdCBfX2V4Y2VwdGZkcywKICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1ldmFs
ICpfX3Jlc3RyaWN0IF9fdGltZW91dCk7CiMgMTIxICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5o
IiAzIDQKZXh0ZXJuIGludCBwc2VsZWN0IChpbnQgX19uZmRzLCBmZF9zZXQgKl9fcmVzdHJpY3Qg
X19yZWFkZmRzLAogICAgICAgICAgICAgICAgICAgIGZkX3NldCAqX19yZXN0cmljdCBfX3dyaXRl
ZmRzLAogICAgICAgICAgICAgICAgICAgIGZkX3NldCAqX19yZXN0cmljdCBfX2V4Y2VwdGZkcywK
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKl9fcmVzdHJpY3QgX190
aW1lb3V0LAogICAgICAgICAgICAgICAgICAgIGNvbnN0IF9fc2lnc2V0X3QgKl9fcmVzdHJpY3Qg
X19zaWdtYXNrKTsKCgoKIyAyMTcgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMiAzIDQKCgoj
IDEgIi91c3IvaW5jbHVkZS9zeXMvc3lzbWFjcm9zLmgiIDEgMyA0CiMgMjkgIi91c3IvaW5jbHVk
ZS9zeXMvc3lzbWFjcm9zLmgiIDMgNApfX2V4dGVuc2lvbl9fCmV4dGVybiBfX2lubGluZSB1bnNp
Z25lZCBpbnQgZ251X2Rldl9tYWpvciAodW5zaWduZWQgbG9uZyBsb25nIGludCBfX2RldikKICAg
ICA7Cl9fZXh0ZW5zaW9uX18KZXh0ZXJuIF9faW5saW5lIHVuc2lnbmVkIGludCBnbnVfZGV2X21p
bm9yICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9fZGV2KQogICAgIDsKX19leHRlbnNpb25fXwpl
eHRlcm4gX19pbmxpbmUgdW5zaWduZWQgbG9uZyBsb25nIGludCBnbnVfZGV2X21ha2VkZXYgKHVu
c2lnbmVkIGludCBfX21ham9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBfX21pbm9yKQogICAgIDsKCgpfX2V4dGVu
c2lvbl9fIGV4dGVybiBfX2lubGluZSB1bnNpZ25lZCBpbnQKZ251X2Rldl9tYWpvciAodW5zaWdu
ZWQgbG9uZyBsb25nIGludCBfX2RldikKewogIHJldHVybiAoKF9fZGV2ID4+IDgpICYgMHhmZmYp
IHwgKCh1bnNpZ25lZCBpbnQpIChfX2RldiA+PiAzMikgJiB+MHhmZmYpOwp9CgpfX2V4dGVuc2lv
bl9fIGV4dGVybiBfX2lubGluZSB1bnNpZ25lZCBpbnQKZ251X2Rldl9taW5vciAodW5zaWduZWQg
bG9uZyBsb25nIGludCBfX2RldikKewogIHJldHVybiAoX19kZXYgJiAweGZmKSB8ICgodW5zaWdu
ZWQgaW50KSAoX19kZXYgPj4gMTIpICYgfjB4ZmYpOwp9CgpfX2V4dGVuc2lvbl9fIGV4dGVybiBf
X2lubGluZSB1bnNpZ25lZCBsb25nIGxvbmcgaW50CmdudV9kZXZfbWFrZWRldiAodW5zaWduZWQg
aW50IF9fbWFqb3IsIHVuc2lnbmVkIGludCBfX21pbm9yKQp7CiAgcmV0dXJuICgoX19taW5vciAm
IDB4ZmYpIHwgKChfX21ham9yICYgMHhmZmYpIDw8IDgpCiAgICAgICAgICB8ICgoKHVuc2lnbmVk
IGxvbmcgbG9uZyBpbnQpIChfX21pbm9yICYgfjB4ZmYpKSA8PCAxMikKICAgICAgICAgIHwgKCgo
dW5zaWduZWQgbG9uZyBsb25nIGludCkgKF9fbWFqb3IgJiB+MHhmZmYpKSA8PCAzMikpOwp9CiMg
MjIwICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIgMyA0CgoKCgp0eXBlZGVmIF9fYmxrc2l6
ZV90IGJsa3NpemVfdDsKIyAyNDQgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMyA0CnR5cGVk
ZWYgX19ibGtjbnQ2NF90IGJsa2NudF90OwoKCgp0eXBlZGVmIF9fZnNibGtjbnQ2NF90IGZzYmxr
Y250X3Q7CgoKCnR5cGVkZWYgX19mc2ZpbGNudDY0X3QgZnNmaWxjbnRfdDsKCgoKCgp0eXBlZGVm
IF9fYmxrY250NjRfdCBibGtjbnQ2NF90Owp0eXBlZGVmIF9fZnNibGtjbnQ2NF90IGZzYmxrY250
NjRfdDsKdHlwZWRlZiBfX2ZzZmlsY250NjRfdCBmc2ZpbGNudDY0X3Q7CgoKCgoKIyAxICIvdXNy
L2luY2x1ZGUvYml0cy9wdGhyZWFkdHlwZXMuaCIgMSAzIDQKIyAyMyAiL3Vzci9pbmNsdWRlL2Jp
dHMvcHRocmVhZHR5cGVzLmgiIDMgNAojIDEgIi91c3IvaW5jbHVkZS9iaXRzL3NjaGVkLmgiIDEg
MyA0CiMgODMgIi91c3IvaW5jbHVkZS9iaXRzL3NjaGVkLmgiIDMgNApzdHJ1Y3QgX19zY2hlZF9w
YXJhbQogIHsKICAgIGludCBfX3NjaGVkX3ByaW9yaXR5OwogIH07CiMgMjQgIi91c3IvaW5jbHVk
ZS9iaXRzL3B0aHJlYWR0eXBlcy5oIiAyIDMgNAoKCnN0cnVjdCBfcHRocmVhZF9mYXN0bG9jawp7
CiAgbG9uZyBpbnQgX19zdGF0dXM7CiAgaW50IF9fc3BpbmxvY2s7Cgp9OwoKCgp0eXBlZGVmIHN0
cnVjdCBfcHRocmVhZF9kZXNjcl9zdHJ1Y3QgKl9wdGhyZWFkX2Rlc2NyOwoKCgoKCnR5cGVkZWYg
c3RydWN0IF9fcHRocmVhZF9hdHRyX3MKewogIGludCBfX2RldGFjaHN0YXRlOwogIGludCBfX3Nj
aGVkcG9saWN5OwogIHN0cnVjdCBfX3NjaGVkX3BhcmFtIF9fc2NoZWRwYXJhbTsKICBpbnQgX19p
bmhlcml0c2NoZWQ7CiAgaW50IF9fc2NvcGU7CiAgc2l6ZV90IF9fZ3VhcmRzaXplOwogIGludCBf
X3N0YWNrYWRkcl9zZXQ7CiAgdm9pZCAqX19zdGFja2FkZHI7CiAgc2l6ZV90IF9fc3RhY2tzaXpl
Owp9IHB0aHJlYWRfYXR0cl90OwoKCgoKCl9fZXh0ZW5zaW9uX18gdHlwZWRlZiBsb25nIGxvbmcg
X19wdGhyZWFkX2NvbmRfYWxpZ25fdDsKCgoKCnR5cGVkZWYgc3RydWN0CnsKICBzdHJ1Y3QgX3B0
aHJlYWRfZmFzdGxvY2sgX19jX2xvY2s7CiAgX3B0aHJlYWRfZGVzY3IgX19jX3dhaXRpbmc7CiAg
Y2hhciBfX3BhZGRpbmdbNDggLSBzaXplb2YgKHN0cnVjdCBfcHRocmVhZF9mYXN0bG9jaykKICAg
ICAgICAgICAgICAgICAtIHNpemVvZiAoX3B0aHJlYWRfZGVzY3IpIC0gc2l6ZW9mIChfX3B0aHJl
YWRfY29uZF9hbGlnbl90KV07CiAgX19wdGhyZWFkX2NvbmRfYWxpZ25fdCBfX2FsaWduOwp9IHB0
aHJlYWRfY29uZF90OwoKCgp0eXBlZGVmIHN0cnVjdAp7CiAgaW50IF9fZHVtbXk7Cn0gcHRocmVh
ZF9jb25kYXR0cl90OwoKCnR5cGVkZWYgdW5zaWduZWQgaW50IHB0aHJlYWRfa2V5X3Q7CgoKCgoK
dHlwZWRlZiBzdHJ1Y3QKewogIGludCBfX21fcmVzZXJ2ZWQ7CiAgaW50IF9fbV9jb3VudDsKICBf
cHRocmVhZF9kZXNjciBfX21fb3duZXI7CiAgaW50IF9fbV9raW5kOwogIHN0cnVjdCBfcHRocmVh
ZF9mYXN0bG9jayBfX21fbG9jazsKfSBwdGhyZWFkX211dGV4X3Q7CgoKCnR5cGVkZWYgc3RydWN0
CnsKICBpbnQgX19tdXRleGtpbmQ7Cn0gcHRocmVhZF9tdXRleGF0dHJfdDsKCgoKdHlwZWRlZiBp
bnQgcHRocmVhZF9vbmNlX3Q7CgoKCgp0eXBlZGVmIHN0cnVjdCBfcHRocmVhZF9yd2xvY2tfdAp7
CiAgc3RydWN0IF9wdGhyZWFkX2Zhc3Rsb2NrIF9fcndfbG9jazsKICBpbnQgX19yd19yZWFkZXJz
OwogIF9wdGhyZWFkX2Rlc2NyIF9fcndfd3JpdGVyOwogIF9wdGhyZWFkX2Rlc2NyIF9fcndfcmVh
ZF93YWl0aW5nOwogIF9wdGhyZWFkX2Rlc2NyIF9fcndfd3JpdGVfd2FpdGluZzsKICBpbnQgX19y
d19raW5kOwogIGludCBfX3J3X3BzaGFyZWQ7Cn0gcHRocmVhZF9yd2xvY2tfdDsKCgoKdHlwZWRl
ZiBzdHJ1Y3QKewogIGludCBfX2xvY2traW5kOwogIGludCBfX3BzaGFyZWQ7Cn0gcHRocmVhZF9y
d2xvY2thdHRyX3Q7CgoKCgp0eXBlZGVmIHZvbGF0aWxlIGludCBwdGhyZWFkX3NwaW5sb2NrX3Q7
CgoKdHlwZWRlZiBzdHJ1Y3QgewogIHN0cnVjdCBfcHRocmVhZF9mYXN0bG9jayBfX2JhX2xvY2s7
CiAgaW50IF9fYmFfcmVxdWlyZWQ7CiAgaW50IF9fYmFfcHJlc2VudDsKICBfcHRocmVhZF9kZXNj
ciBfX2JhX3dhaXRpbmc7Cn0gcHRocmVhZF9iYXJyaWVyX3Q7CgoKdHlwZWRlZiBzdHJ1Y3Qgewog
IGludCBfX3BzaGFyZWQ7Cn0gcHRocmVhZF9iYXJyaWVyYXR0cl90OwoKCgoKCnR5cGVkZWYgdW5z
aWduZWQgbG9uZyBpbnQgcHRocmVhZF90OwojIDI2NyAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5o
IiAyIDMgNAoKCgojIDQxNyAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAyIDMgNAoKCgoKCgpleHRl
cm4gbG9uZyBpbnQgcmFuZG9tICh2b2lkKSA7CgoKZXh0ZXJuIHZvaWQgc3JhbmRvbSAodW5zaWdu
ZWQgaW50IF9fc2VlZCkgOwoKCgoKCmV4dGVybiBjaGFyICppbml0c3RhdGUgKHVuc2lnbmVkIGlu
dCBfX3NlZWQsIGNoYXIgKl9fc3RhdGVidWYsCiAgICAgICAgICAgICAgICAgICAgICAgIHNpemVf
dCBfX3N0YXRlbGVuKSA7CgoKCmV4dGVybiBjaGFyICpzZXRzdGF0ZSAoY2hhciAqX19zdGF0ZWJ1
ZikgOwoKCgoKCgoKc3RydWN0IHJhbmRvbV9kYXRhCiAgewogICAgaW50MzJfdCAqZnB0cjsKICAg
IGludDMyX3QgKnJwdHI7CiAgICBpbnQzMl90ICpzdGF0ZTsKICAgIGludCByYW5kX3R5cGU7CiAg
ICBpbnQgcmFuZF9kZWc7CiAgICBpbnQgcmFuZF9zZXA7CiAgICBpbnQzMl90ICplbmRfcHRyOwog
IH07CgpleHRlcm4gaW50IHJhbmRvbV9yIChzdHJ1Y3QgcmFuZG9tX2RhdGEgKl9fcmVzdHJpY3Qg
X19idWYsCiAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgKl9fcmVzdHJpY3QgX19yZXN1bHQp
IDsKCmV4dGVybiBpbnQgc3JhbmRvbV9yICh1bnNpZ25lZCBpbnQgX19zZWVkLCBzdHJ1Y3QgcmFu
ZG9tX2RhdGEgKl9fYnVmKSA7CgpleHRlcm4gaW50IGluaXRzdGF0ZV9yICh1bnNpZ25lZCBpbnQg
X19zZWVkLCBjaGFyICpfX3Jlc3RyaWN0IF9fc3RhdGVidWYsCiAgICAgICAgICAgICAgICAgICAg
ICAgIHNpemVfdCBfX3N0YXRlbGVuLAogICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcmFu
ZG9tX2RhdGEgKl9fcmVzdHJpY3QgX19idWYpIDsKCmV4dGVybiBpbnQgc2V0c3RhdGVfciAoY2hh
ciAqX19yZXN0cmljdCBfX3N0YXRlYnVmLAogICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy
YW5kb21fZGF0YSAqX19yZXN0cmljdCBfX2J1ZikgOwoKCgoKCgpleHRlcm4gaW50IHJhbmQgKHZv
aWQpIDsKCmV4dGVybiB2b2lkIHNyYW5kICh1bnNpZ25lZCBpbnQgX19zZWVkKSA7CgoKCgpleHRl
cm4gaW50IHJhbmRfciAodW5zaWduZWQgaW50ICpfX3NlZWQpIDsKCgoKCgoKCmV4dGVybiBkb3Vi
bGUgZHJhbmQ0OCAodm9pZCkgOwpleHRlcm4gZG91YmxlIGVyYW5kNDggKHVuc2lnbmVkIHNob3J0
IGludCBfX3hzdWJpWzNdKSA7CgoKZXh0ZXJuIGxvbmcgaW50IGxyYW5kNDggKHZvaWQpIDsKZXh0
ZXJuIGxvbmcgaW50IG5yYW5kNDggKHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNdKSA7CgoK
ZXh0ZXJuIGxvbmcgaW50IG1yYW5kNDggKHZvaWQpIDsKZXh0ZXJuIGxvbmcgaW50IGpyYW5kNDgg
KHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNdKSA7CgoKZXh0ZXJuIHZvaWQgc3JhbmQ0OCAo
bG9uZyBpbnQgX19zZWVkdmFsKSA7CmV4dGVybiB1bnNpZ25lZCBzaG9ydCBpbnQgKnNlZWQ0OCAo
dW5zaWduZWQgc2hvcnQgaW50IF9fc2VlZDE2dlszXSkgOwpleHRlcm4gdm9pZCBsY29uZzQ4ICh1
bnNpZ25lZCBzaG9ydCBpbnQgX19wYXJhbVs3XSkgOwoKCgoKCnN0cnVjdCBkcmFuZDQ4X2RhdGEK
ICB7CiAgICB1bnNpZ25lZCBzaG9ydCBpbnQgX194WzNdOwogICAgdW5zaWduZWQgc2hvcnQgaW50
IF9fb2xkX3hbM107CiAgICB1bnNpZ25lZCBzaG9ydCBpbnQgX19jOwogICAgdW5zaWduZWQgc2hv
cnQgaW50IF9faW5pdDsKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX19hOwogIH07CgoKZXh0
ZXJuIGludCBkcmFuZDQ4X3IgKHN0cnVjdCBkcmFuZDQ4X2RhdGEgKl9fcmVzdHJpY3QgX19idWZm
ZXIsCiAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgKl9fcmVzdHJpY3QgX19yZXN1bHQpIDsK
ZXh0ZXJuIGludCBlcmFuZDQ4X3IgKHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNdLAogICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IGRyYW5kNDhfZGF0YSAqX19yZXN0cmljdCBfX2J1ZmZl
ciwKICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSAqX19yZXN0cmljdCBfX3Jlc3VsdCkgOwoK
CmV4dGVybiBpbnQgbHJhbmQ0OF9yIChzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX3Jlc3RyaWN0IF9f
YnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgbG9uZyBpbnQgKl9fcmVzdHJpY3QgX19yZXN1
bHQpIDsKZXh0ZXJuIGludCBucmFuZDQ4X3IgKHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNd
LAogICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRyYW5kNDhfZGF0YSAqX19yZXN0cmljdCBf
X2J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgIGxvbmcgaW50ICpfX3Jlc3RyaWN0IF9fcmVz
dWx0KSA7CgoKZXh0ZXJuIGludCBtcmFuZDQ4X3IgKHN0cnVjdCBkcmFuZDQ4X2RhdGEgKl9fcmVz
dHJpY3QgX19idWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICBsb25nIGludCAqX19yZXN0cmlj
dCBfX3Jlc3VsdCkgOwpleHRlcm4gaW50IGpyYW5kNDhfciAodW5zaWduZWQgc2hvcnQgaW50IF9f
eHN1YmlbM10sCiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX3Jl
c3RyaWN0IF9fYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgbG9uZyBpbnQgKl9fcmVzdHJp
Y3QgX19yZXN1bHQpIDsKCgpleHRlcm4gaW50IHNyYW5kNDhfciAobG9uZyBpbnQgX19zZWVkdmFs
LCBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX2J1ZmZlcikKICAgICA7CgpleHRlcm4gaW50IHNlZWQ0
OF9yICh1bnNpZ25lZCBzaG9ydCBpbnQgX19zZWVkMTZ2WzNdLAogICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX2J1ZmZlcikgOwoKZXh0ZXJuIGludCBsY29uZzQ4X3Ig
KHVuc2lnbmVkIHNob3J0IGludCBfX3BhcmFtWzddLAogICAgICAgICAgICAgICAgICAgICAgc3Ry
dWN0IGRyYW5kNDhfZGF0YSAqX19idWZmZXIpIDsKCgoKCgoKCgoKZXh0ZXJuIHZvaWQgKm1hbGxv
YyAoc2l6ZV90IF9fc2l6ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKTsKCmV4dGVybiB2
b2lkICpjYWxsb2MgKHNpemVfdCBfX25tZW1iLCBzaXplX3QgX19zaXplKQogICAgIF9fYXR0cmli
dXRlX18gKChfX21hbGxvY19fKSk7CgoKCgoKCgpleHRlcm4gdm9pZCAqcmVhbGxvYyAodm9pZCAq
X19wdHIsIHNpemVfdCBfX3NpemUpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSk7CgpleHRl
cm4gdm9pZCBmcmVlICh2b2lkICpfX3B0cikgOwoKCgoKZXh0ZXJuIHZvaWQgY2ZyZWUgKHZvaWQg
Kl9fcHRyKSA7CgoKCiMgMSAiL3Vzci9pbmNsdWRlL2FsbG9jYS5oIiAxIDMgNAojIDI1ICIvdXNy
L2luY2x1ZGUvYWxsb2NhLmgiIDMgNAojIDEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51
eC1nbnUvMy4zLjUvaW5jbHVkZS9zdGRkZWYuaCIgMSAzIDQKIyAyNiAiL3Vzci9pbmNsdWRlL2Fs
bG9jYS5oIiAyIDMgNAoKCgoKCgoKZXh0ZXJuIHZvaWQgKmFsbG9jYSAoc2l6ZV90IF9fc2l6ZSkg
OwoKCgoKCgojIDU3OSAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAyIDMgNAoKCgoKZXh0ZXJuIHZv
aWQgKnZhbGxvYyAoc2l6ZV90IF9fc2l6ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKTsK
CgoKCmV4dGVybiBpbnQgcG9zaXhfbWVtYWxpZ24gKHZvaWQgKipfX21lbXB0ciwgc2l6ZV90IF9f
YWxpZ25tZW50LCBzaXplX3QgX19zaXplKQogICAgIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19f
KSk7CgoKCgpleHRlcm4gdm9pZCBhYm9ydCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1
cm5fXykpOwoKCgpleHRlcm4gaW50IGF0ZXhpdCAodm9pZCAoKl9fZnVuYykgKHZvaWQpKSA7CgoK
CgoKZXh0ZXJuIGludCBvbl9leGl0ICh2b2lkICgqX19mdW5jKSAoaW50IF9fc3RhdHVzLCB2b2lk
ICpfX2FyZyksIHZvaWQgKl9fYXJnKQogICAgIDsKCgoKCgoKZXh0ZXJuIHZvaWQgZXhpdCAoaW50
IF9fc3RhdHVzKSBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSk7CgoKCgoKCmV4dGVybiB2
b2lkIF9FeGl0IChpbnQgX19zdGF0dXMpIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKTsK
CgoKCgoKZXh0ZXJuIGNoYXIgKmdldGVudiAoX19jb25zdCBjaGFyICpfX25hbWUpIDsKCgoKCmV4
dGVybiBjaGFyICpfX3NlY3VyZV9nZXRlbnYgKF9fY29uc3QgY2hhciAqX19uYW1lKSA7CgoKCgoK
ZXh0ZXJuIGludCBwdXRlbnYgKGNoYXIgKl9fc3RyaW5nKSA7CgoKCgoKZXh0ZXJuIGludCBzZXRl
bnYgKF9fY29uc3QgY2hhciAqX19uYW1lLCBfX2NvbnN0IGNoYXIgKl9fdmFsdWUsIGludCBfX3Jl
cGxhY2UpCiAgICAgOwoKCmV4dGVybiBpbnQgdW5zZXRlbnYgKF9fY29uc3QgY2hhciAqX19uYW1l
KSA7CgoKCgoKCmV4dGVybiBpbnQgY2xlYXJlbnYgKHZvaWQpIDsKIyA2NjMgIi91c3IvaW5jbHVk
ZS9zdGRsaWIuaCIgMyA0CmV4dGVybiBjaGFyICpta3RlbXAgKGNoYXIgKl9fdGVtcGxhdGUpIDsK
IyA2NzcgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMyA0CmV4dGVybiBpbnQgbWtzdGVtcCAoY2hh
ciAqX190ZW1wbGF0ZSkgX19hc21fXyAoIiIgIm1rc3RlbXA2NCIpOwoKCgoKCmV4dGVybiBpbnQg
bWtzdGVtcDY0IChjaGFyICpfX3RlbXBsYXRlKTsKIyA2OTMgIi91c3IvaW5jbHVkZS9zdGRsaWIu
aCIgMyA0CmV4dGVybiBjaGFyICpta2R0ZW1wIChjaGFyICpfX3RlbXBsYXRlKSA7CgoKCgoKCgoK
ZXh0ZXJuIGludCBzeXN0ZW0gKF9fY29uc3QgY2hhciAqX19jb21tYW5kKTsKCgoKCgoKCmV4dGVy
biBjaGFyICpjYW5vbmljYWxpemVfZmlsZV9uYW1lIChfX2NvbnN0IGNoYXIgKl9fbmFtZSkgOwoj
IDcyMCAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKZXh0ZXJuIGNoYXIgKnJlYWxwYXRoIChf
X2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19uYW1lLAogICAgICAgICAgICAgICAgICAgICAgIGNo
YXIgKl9fcmVzdHJpY3QgX19yZXNvbHZlZCkgOwoKCgoKCgp0eXBlZGVmIGludCAoKl9fY29tcGFy
X2ZuX3QpIChfX2NvbnN0IHZvaWQgKiwgX19jb25zdCB2b2lkICopOwoKCnR5cGVkZWYgX19jb21w
YXJfZm5fdCBjb21wYXJpc29uX2ZuX3Q7CgoKCgoKCmV4dGVybiB2b2lkICpic2VhcmNoIChfX2Nv
bnN0IHZvaWQgKl9fa2V5LCBfX2NvbnN0IHZvaWQgKl9fYmFzZSwKICAgICAgICAgICAgICAgICAg
ICAgIHNpemVfdCBfX25tZW1iLCBzaXplX3QgX19zaXplLCBfX2NvbXBhcl9mbl90IF9fY29tcGFy
KTsKCgoKZXh0ZXJuIHZvaWQgcXNvcnQgKHZvaWQgKl9fYmFzZSwgc2l6ZV90IF9fbm1lbWIsIHNp
emVfdCBfX3NpemUsCiAgICAgICAgICAgICAgICAgICBfX2NvbXBhcl9mbl90IF9fY29tcGFyKTsK
CgoKZXh0ZXJuIGludCBhYnMgKGludCBfX3gpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsK
ZXh0ZXJuIGxvbmcgaW50IGxhYnMgKGxvbmcgaW50IF9feCkgX19hdHRyaWJ1dGVfXyAoKF9fY29u
c3RfXykpOwoKCgpfX2V4dGVuc2lvbl9fIGV4dGVybiBsb25nIGxvbmcgaW50IGxsYWJzIChsb25n
IGxvbmcgaW50IF9feCkKICAgICBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7CgoKCgoKCgpl
eHRlcm4gZGl2X3QgZGl2IChpbnQgX19udW1lciwgaW50IF9fZGVub20pCiAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fY29uc3RfXykpOwpleHRlcm4gbGRpdl90IGxkaXYgKGxvbmcgaW50IF9fbnVtZXIs
IGxvbmcgaW50IF9fZGVub20pCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwoKCgoK
X19leHRlbnNpb25fXyBleHRlcm4gbGxkaXZfdCBsbGRpdiAobG9uZyBsb25nIGludCBfX251bWVy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nIGxvbmcgaW50IF9fZGVu
b20pCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwoKIyA3ODQgIi91c3IvaW5jbHVk
ZS9zdGRsaWIuaCIgMyA0CmV4dGVybiBjaGFyICplY3Z0IChkb3VibGUgX192YWx1ZSwgaW50IF9f
bmRpZ2l0LCBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwKICAgICAgICAgICAgICAgICAgIGludCAq
X19yZXN0cmljdCBfX3NpZ24pIDsKCgoKCmV4dGVybiBjaGFyICpmY3Z0IChkb3VibGUgX192YWx1
ZSwgaW50IF9fbmRpZ2l0LCBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwKICAgICAgICAgICAgICAg
ICAgIGludCAqX19yZXN0cmljdCBfX3NpZ24pIDsKCgoKCmV4dGVybiBjaGFyICpnY3Z0IChkb3Vi
bGUgX192YWx1ZSwgaW50IF9fbmRpZ2l0LCBjaGFyICpfX2J1ZikgOwoKCgoKZXh0ZXJuIGNoYXIg
KnFlY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsCiAgICAgICAgICAgICAg
ICAgICAgaW50ICpfX3Jlc3RyaWN0IF9fZGVjcHQsIGludCAqX19yZXN0cmljdCBfX3NpZ24pIDsK
ZXh0ZXJuIGNoYXIgKnFmY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsCiAg
ICAgICAgICAgICAgICAgICAgaW50ICpfX3Jlc3RyaWN0IF9fZGVjcHQsIGludCAqX19yZXN0cmlj
dCBfX3NpZ24pIDsKZXh0ZXJuIGNoYXIgKnFnY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQg
X19uZGlnaXQsIGNoYXIgKl9fYnVmKSA7CgoKCgpleHRlcm4gaW50IGVjdnRfciAoZG91YmxlIF9f
dmFsdWUsIGludCBfX25kaWdpdCwgaW50ICpfX3Jlc3RyaWN0IF9fZGVjcHQsCiAgICAgICAgICAg
ICAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19zaWduLCBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLAog
ICAgICAgICAgICAgICAgICAgc2l6ZV90IF9fbGVuKSA7CmV4dGVybiBpbnQgZmN2dF9yIChkb3Vi
bGUgX192YWx1ZSwgaW50IF9fbmRpZ2l0LCBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwKICAgICAg
ICAgICAgICAgICAgIGludCAqX19yZXN0cmljdCBfX3NpZ24sIGNoYXIgKl9fcmVzdHJpY3QgX19i
dWYsCiAgICAgICAgICAgICAgICAgICBzaXplX3QgX19sZW4pIDsKCmV4dGVybiBpbnQgcWVjdnRf
ciAobG9uZyBkb3VibGUgX192YWx1ZSwgaW50IF9fbmRpZ2l0LAogICAgICAgICAgICAgICAgICAg
IGludCAqX19yZXN0cmljdCBfX2RlY3B0LCBpbnQgKl9fcmVzdHJpY3QgX19zaWduLAogICAgICAg
ICAgICAgICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsIHNpemVfdCBfX2xlbikgOwpleHRl
cm4gaW50IHFmY3Z0X3IgKGxvbmcgZG91YmxlIF9fdmFsdWUsIGludCBfX25kaWdpdCwKICAgICAg
ICAgICAgICAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwgaW50ICpfX3Jlc3RyaWN0IF9f
c2lnbiwKICAgICAgICAgICAgICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3Qg
X19sZW4pIDsKCgoKCgoKCmV4dGVybiBpbnQgbWJsZW4gKF9fY29uc3QgY2hhciAqX19zLCBzaXpl
X3QgX19uKSA7CgoKZXh0ZXJuIGludCBtYnRvd2MgKHdjaGFyX3QgKl9fcmVzdHJpY3QgX19wd2Ms
CiAgICAgICAgICAgICAgICAgICBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zLCBzaXplX3Qg
X19uKSA7CgoKZXh0ZXJuIGludCB3Y3RvbWIgKGNoYXIgKl9fcywgd2NoYXJfdCBfX3djaGFyKSA7
CgoKCmV4dGVybiBzaXplX3QgbWJzdG93Y3MgKHdjaGFyX3QgKl9fcmVzdHJpY3QgX19wd2NzLAog
ICAgICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zLCBzaXpl
X3QgX19uKSA7CgpleHRlcm4gc2l6ZV90IHdjc3RvbWJzIChjaGFyICpfX3Jlc3RyaWN0IF9fcywK
ICAgICAgICAgICAgICAgICAgICAgICAgX19jb25zdCB3Y2hhcl90ICpfX3Jlc3RyaWN0IF9fcHdj
cywgc2l6ZV90IF9fbikKICAgICA7CgoKCgoKCgoKZXh0ZXJuIGludCBycG1hdGNoIChfX2NvbnN0
IGNoYXIgKl9fcmVzcG9uc2UpIDsKIyA4NjYgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMyA0CmV4
dGVybiBpbnQgZ2V0c3Vib3B0IChjaGFyICoqX19yZXN0cmljdCBfX29wdGlvbnAsCiAgICAgICAg
ICAgICAgICAgICAgICBjaGFyICpfX2NvbnN0ICpfX3Jlc3RyaWN0IF9fdG9rZW5zLAogICAgICAg
ICAgICAgICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX192YWx1ZXApIDsKCgoKCgpleHRlcm4g
dm9pZCBzZXRrZXkgKF9fY29uc3QgY2hhciAqX19rZXkpIDsKCgoKCgoKCmV4dGVybiBpbnQgcG9z
aXhfb3BlbnB0IChpbnQgX19vZmxhZyk7CgoKCgoKCgpleHRlcm4gaW50IGdyYW50cHQgKGludCBf
X2ZkKSA7CgoKCmV4dGVybiBpbnQgdW5sb2NrcHQgKGludCBfX2ZkKSA7CgoKCgpleHRlcm4gY2hh
ciAqcHRzbmFtZSAoaW50IF9fZmQpIDsKCgoKCgoKZXh0ZXJuIGludCBwdHNuYW1lX3IgKGludCBf
X2ZkLCBjaGFyICpfX2J1Ziwgc2l6ZV90IF9fYnVmbGVuKSA7CgoKZXh0ZXJuIGludCBnZXRwdCAo
dm9pZCk7CgoKCgoKCmV4dGVybiBpbnQgZ2V0bG9hZGF2ZyAoZG91YmxlIF9fbG9hZGF2Z1tdLCBp
bnQgX19uZWxlbSkgOwoKCgoKCgojIDcgIm1vdGlvbi5jIiAyCiMgMSAiL3Vzci9pbmNsdWRlL3Vu
aXN0ZC5oIiAxIDMgNAojIDI4ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAoKIyAxNzEgIi91
c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvcG9zaXhfb3B0
LmgiIDEgMyA0CiMgMTcyICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDIgMyA0CgoKCiMgMSAiL3Vz
ci9pbmNsdWRlL2JpdHMvZW52aXJvbm1lbnRzLmgiIDEgMyA0CiMgMjMgIi91c3IvaW5jbHVkZS9i
aXRzL2Vudmlyb25tZW50cy5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvYml0cy93b3Jkc2l6ZS5o
IiAxIDMgNAojIDI0ICIvdXNyL2luY2x1ZGUvYml0cy9lbnZpcm9ubWVudHMuaCIgMiAzIDQKIyAx
NzYgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMiAzIDQKIyAxOTUgIi91c3IvaW5jbHVkZS91bmlz
dGQuaCIgMyA0CiMgMSAiL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjMuNS9p
bmNsdWRlL3N0ZGRlZi5oIiAxIDMgNAojIDE5NiAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAyIDMg
NAojIDIzNiAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKdHlwZWRlZiBfX2ludHB0cl90IGlu
dHB0cl90OwoKCgoKCgp0eXBlZGVmIF9fc29ja2xlbl90IHNvY2tsZW5fdDsKIyAyNTYgIi91c3Iv
aW5jbHVkZS91bmlzdGQuaCIgMyA0CmV4dGVybiBpbnQgYWNjZXNzIChfX2NvbnN0IGNoYXIgKl9f
bmFtZSwgaW50IF9fdHlwZSkgOwoKCgoKZXh0ZXJuIGludCBldWlkYWNjZXNzIChfX2NvbnN0IGNo
YXIgKl9fbmFtZSwgaW50IF9fdHlwZSkgOwojIDI4OSAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAz
IDQKZXh0ZXJuIF9fb2ZmNjRfdCBsc2VlayAoaW50IF9fZmQsIF9fb2ZmNjRfdCBfX29mZnNldCwg
aW50IF9fd2hlbmNlKSBfX2FzbV9fICgiIiAibHNlZWs2NCIpOwojIDI5OCAiL3Vzci9pbmNsdWRl
L3VuaXN0ZC5oIiAzIDQKZXh0ZXJuIF9fb2ZmNjRfdCBsc2VlazY0IChpbnQgX19mZCwgX19vZmY2
NF90IF9fb2Zmc2V0LCBpbnQgX193aGVuY2UpIDsKCgoKCgoKZXh0ZXJuIGludCBjbG9zZSAoaW50
IF9fZmQpOwoKCgoKCgpleHRlcm4gc3NpemVfdCByZWFkIChpbnQgX19mZCwgdm9pZCAqX19idWYs
IHNpemVfdCBfX25ieXRlcyk7CgoKCgoKZXh0ZXJuIHNzaXplX3Qgd3JpdGUgKGludCBfX2ZkLCBf
X2NvbnN0IHZvaWQgKl9fYnVmLCBzaXplX3QgX19uKTsKIyAzNDAgIi91c3IvaW5jbHVkZS91bmlz
dGQuaCIgMyA0CmV4dGVybiBzc2l6ZV90IHByZWFkIChpbnQgX19mZCwgdm9pZCAqX19idWYsIHNp
emVfdCBfX25ieXRlcywgX19vZmY2NF90IF9fb2Zmc2V0KSBfX2FzbV9fICgiIiAicHJlYWQ2NCIp
OwoKCmV4dGVybiBzc2l6ZV90IHB3cml0ZSAoaW50IF9fZmQsIF9fY29uc3Qgdm9pZCAqX19idWYs
IHNpemVfdCBfX25ieXRlcywgX19vZmY2NF90IF9fb2Zmc2V0KSBfX2FzbV9fICgiIiAicHdyaXRl
NjQiKTsKIyAzNTYgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0CmV4dGVybiBzc2l6ZV90IHBy
ZWFkNjQgKGludCBfX2ZkLCB2b2lkICpfX2J1Ziwgc2l6ZV90IF9fbmJ5dGVzLAogICAgICAgICAg
ICAgICAgICAgICAgICBfX29mZjY0X3QgX19vZmZzZXQpOwoKCmV4dGVybiBzc2l6ZV90IHB3cml0
ZTY0IChpbnQgX19mZCwgX19jb25zdCB2b2lkICpfX2J1Ziwgc2l6ZV90IF9fbiwKICAgICAgICAg
ICAgICAgICAgICAgICAgIF9fb2ZmNjRfdCBfX29mZnNldCk7CgoKCgoKCgpleHRlcm4gaW50IHBp
cGUgKGludCBfX3BpcGVkZXNbMl0pIDsKIyAzNzggIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0
CmV4dGVybiB1bnNpZ25lZCBpbnQgYWxhcm0gKHVuc2lnbmVkIGludCBfX3NlY29uZHMpIDsKIyAz
OTAgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0CmV4dGVybiB1bnNpZ25lZCBpbnQgc2xlZXAg
KHVuc2lnbmVkIGludCBfX3NlY29uZHMpOwoKCgoKCgpleHRlcm4gX191c2Vjb25kc190IHVhbGFy
bSAoX191c2Vjb25kc190IF9fdmFsdWUsIF9fdXNlY29uZHNfdCBfX2ludGVydmFsKQogICAgIDsK
CgoKCgoKZXh0ZXJuIGludCB1c2xlZXAgKF9fdXNlY29uZHNfdCBfX3VzZWNvbmRzKTsKIyA0MTQg
Ii91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0CmV4dGVybiBpbnQgcGF1c2UgKHZvaWQpOwoKCgpl
eHRlcm4gaW50IGNob3duIChfX2NvbnN0IGNoYXIgKl9fZmlsZSwgX191aWRfdCBfX293bmVyLCBf
X2dpZF90IF9fZ3JvdXApCiAgICAgOwoKCgpleHRlcm4gaW50IGZjaG93biAoaW50IF9fZmQsIF9f
dWlkX3QgX19vd25lciwgX19naWRfdCBfX2dyb3VwKSA7CgoKCgpleHRlcm4gaW50IGxjaG93biAo
X19jb25zdCBjaGFyICpfX2ZpbGUsIF9fdWlkX3QgX19vd25lciwgX19naWRfdCBfX2dyb3VwKQog
ICAgIDsKCgoKCmV4dGVybiBpbnQgY2hkaXIgKF9fY29uc3QgY2hhciAqX19wYXRoKSA7CgoKCmV4
dGVybiBpbnQgZmNoZGlyIChpbnQgX19mZCkgOwojIDQ0OCAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5o
IiAzIDQKZXh0ZXJuIGNoYXIgKmdldGN3ZCAoY2hhciAqX19idWYsIHNpemVfdCBfX3NpemUpIDsK
CgoKCgpleHRlcm4gY2hhciAqZ2V0X2N1cnJlbnRfZGlyX25hbWUgKHZvaWQpIDsKCgoKCgoKZXh0
ZXJuIGNoYXIgKmdldHdkIChjaGFyICpfX2J1ZikgOwoKCgoKZXh0ZXJuIGludCBkdXAgKGludCBf
X2ZkKSA7CgoKZXh0ZXJuIGludCBkdXAyIChpbnQgX19mZCwgaW50IF9fZmQyKSA7CgoKZXh0ZXJu
IGNoYXIgKipfX2Vudmlyb247CgpleHRlcm4gY2hhciAqKmVudmlyb247CgoKCgoKZXh0ZXJuIGlu
dCBleGVjdmUgKF9fY29uc3QgY2hhciAqX19wYXRoLCBjaGFyICpfX2NvbnN0IF9fYXJndltdLAog
ICAgICAgICAgICAgICAgICAgY2hhciAqX19jb25zdCBfX2VudnBbXSkgOwoKCgoKZXh0ZXJuIGlu
dCBmZXhlY3ZlIChpbnQgX19mZCwgY2hhciAqX19jb25zdCBfX2FyZ3ZbXSwgY2hhciAqX19jb25z
dCBfX2VudnBbXSkKICAgICA7CgoKCgpleHRlcm4gaW50IGV4ZWN2IChfX2NvbnN0IGNoYXIgKl9f
cGF0aCwgY2hhciAqX19jb25zdCBfX2FyZ3ZbXSkgOwoKCgpleHRlcm4gaW50IGV4ZWNsZSAoX19j
b25zdCBjaGFyICpfX3BhdGgsIF9fY29uc3QgY2hhciAqX19hcmcsIC4uLikgOwoKCgpleHRlcm4g
aW50IGV4ZWNsIChfX2NvbnN0IGNoYXIgKl9fcGF0aCwgX19jb25zdCBjaGFyICpfX2FyZywgLi4u
KSA7CgoKCmV4dGVybiBpbnQgZXhlY3ZwIChfX2NvbnN0IGNoYXIgKl9fZmlsZSwgY2hhciAqX19j
b25zdCBfX2FyZ3ZbXSkgOwoKCgoKZXh0ZXJuIGludCBleGVjbHAgKF9fY29uc3QgY2hhciAqX19m
aWxlLCBfX2NvbnN0IGNoYXIgKl9fYXJnLCAuLi4pIDsKCgoKCmV4dGVybiBpbnQgbmljZSAoaW50
IF9faW5jKSA7CgoKCgpleHRlcm4gdm9pZCBfZXhpdCAoaW50IF9fc3RhdHVzKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3JldHVybl9fKSk7CgoKCgoKIyAxICIvdXNyL2luY2x1ZGUvYml0cy9jb25mbmFt
ZS5oIiAxIDMgNAojIDI2ICIvdXNyL2luY2x1ZGUvYml0cy9jb25mbmFtZS5oIiAzIDQKZW51bQog
IHsKICAgIF9QQ19MSU5LX01BWCwKCiAgICBfUENfTUFYX0NBTk9OLAoKICAgIF9QQ19NQVhfSU5Q
VVQsCgogICAgX1BDX05BTUVfTUFYLAoKICAgIF9QQ19QQVRIX01BWCwKCiAgICBfUENfUElQRV9C
VUYsCgogICAgX1BDX0NIT1dOX1JFU1RSSUNURUQsCgogICAgX1BDX05PX1RSVU5DLAoKICAgIF9Q
Q19WRElTQUJMRSwKCiAgICBfUENfU1lOQ19JTywKCiAgICBfUENfQVNZTkNfSU8sCgogICAgX1BD
X1BSSU9fSU8sCgogICAgX1BDX1NPQ0tfTUFYQlVGLAoKICAgIF9QQ19GSUxFU0laRUJJVFMsCgog
ICAgX1BDX1JFQ19JTkNSX1hGRVJfU0laRSwKCiAgICBfUENfUkVDX01BWF9YRkVSX1NJWkUsCgog
ICAgX1BDX1JFQ19NSU5fWEZFUl9TSVpFLAoKICAgIF9QQ19SRUNfWEZFUl9BTElHTiwKCiAgICBf
UENfQUxMT0NfU0laRV9NSU4sCgogICAgX1BDX1NZTUxJTktfTUFYLAoKICAgIF9QQ18yX1NZTUxJ
TktTCgogIH07CgoKZW51bQogIHsKICAgIF9TQ19BUkdfTUFYLAoKICAgIF9TQ19DSElMRF9NQVgs
CgogICAgX1NDX0NMS19UQ0ssCgogICAgX1NDX05HUk9VUFNfTUFYLAoKICAgIF9TQ19PUEVOX01B
WCwKCiAgICBfU0NfU1RSRUFNX01BWCwKCiAgICBfU0NfVFpOQU1FX01BWCwKCiAgICBfU0NfSk9C
X0NPTlRST0wsCgogICAgX1NDX1NBVkVEX0lEUywKCiAgICBfU0NfUkVBTFRJTUVfU0lHTkFMUywK
CiAgICBfU0NfUFJJT1JJVFlfU0NIRURVTElORywKCiAgICBfU0NfVElNRVJTLAoKICAgIF9TQ19B
U1lOQ0hST05PVVNfSU8sCgogICAgX1NDX1BSSU9SSVRJWkVEX0lPLAoKICAgIF9TQ19TWU5DSFJP
TklaRURfSU8sCgogICAgX1NDX0ZTWU5DLAoKICAgIF9TQ19NQVBQRURfRklMRVMsCgogICAgX1ND
X01FTUxPQ0ssCgogICAgX1NDX01FTUxPQ0tfUkFOR0UsCgogICAgX1NDX01FTU9SWV9QUk9URUNU
SU9OLAoKICAgIF9TQ19NRVNTQUdFX1BBU1NJTkcsCgogICAgX1NDX1NFTUFQSE9SRVMsCgogICAg
X1NDX1NIQVJFRF9NRU1PUllfT0JKRUNUUywKCiAgICBfU0NfQUlPX0xJU1RJT19NQVgsCgogICAg
X1NDX0FJT19NQVgsCgogICAgX1NDX0FJT19QUklPX0RFTFRBX01BWCwKCiAgICBfU0NfREVMQVlU
SU1FUl9NQVgsCgogICAgX1NDX01RX09QRU5fTUFYLAoKICAgIF9TQ19NUV9QUklPX01BWCwKCiAg
ICBfU0NfVkVSU0lPTiwKCiAgICBfU0NfUEFHRVNJWkUsCgoKICAgIF9TQ19SVFNJR19NQVgsCgog
ICAgX1NDX1NFTV9OU0VNU19NQVgsCgogICAgX1NDX1NFTV9WQUxVRV9NQVgsCgogICAgX1NDX1NJ
R1FVRVVFX01BWCwKCiAgICBfU0NfVElNRVJfTUFYLAoKCgoKICAgIF9TQ19CQ19CQVNFX01BWCwK
CiAgICBfU0NfQkNfRElNX01BWCwKCiAgICBfU0NfQkNfU0NBTEVfTUFYLAoKICAgIF9TQ19CQ19T
VFJJTkdfTUFYLAoKICAgIF9TQ19DT0xMX1dFSUdIVFNfTUFYLAoKICAgIF9TQ19FUVVJVl9DTEFT
U19NQVgsCgogICAgX1NDX0VYUFJfTkVTVF9NQVgsCgogICAgX1NDX0xJTkVfTUFYLAoKICAgIF9T
Q19SRV9EVVBfTUFYLAoKICAgIF9TQ19DSEFSQ0xBU1NfTkFNRV9NQVgsCgoKICAgIF9TQ18yX1ZF
UlNJT04sCgogICAgX1NDXzJfQ19CSU5ELAoKICAgIF9TQ18yX0NfREVWLAoKICAgIF9TQ18yX0ZP
UlRfREVWLAoKICAgIF9TQ18yX0ZPUlRfUlVOLAoKICAgIF9TQ18yX1NXX0RFViwKCiAgICBfU0Nf
Ml9MT0NBTEVERUYsCgoKICAgIF9TQ19QSUksCgogICAgX1NDX1BJSV9YVEksCgogICAgX1NDX1BJ
SV9TT0NLRVQsCgogICAgX1NDX1BJSV9JTlRFUk5FVCwKCiAgICBfU0NfUElJX09TSSwKCiAgICBf
U0NfUE9MTCwKCiAgICBfU0NfU0VMRUNULAoKICAgIF9TQ19VSU9fTUFYSU9WLAoKICAgIF9TQ19J
T1ZfTUFYID0gX1NDX1VJT19NQVhJT1YsCgogICAgX1NDX1BJSV9JTlRFUk5FVF9TVFJFQU0sCgog
ICAgX1NDX1BJSV9JTlRFUk5FVF9ER1JBTSwKCiAgICBfU0NfUElJX09TSV9DT1RTLAoKICAgIF9T
Q19QSUlfT1NJX0NMVFMsCgogICAgX1NDX1BJSV9PU0lfTSwKCiAgICBfU0NfVF9JT1ZfTUFYLAoK
CgogICAgX1NDX1RIUkVBRFMsCgogICAgX1NDX1RIUkVBRF9TQUZFX0ZVTkNUSU9OUywKCiAgICBf
U0NfR0VUR1JfUl9TSVpFX01BWCwKCiAgICBfU0NfR0VUUFdfUl9TSVpFX01BWCwKCiAgICBfU0Nf
TE9HSU5fTkFNRV9NQVgsCgogICAgX1NDX1RUWV9OQU1FX01BWCwKCiAgICBfU0NfVEhSRUFEX0RF
U1RSVUNUT1JfSVRFUkFUSU9OUywKCiAgICBfU0NfVEhSRUFEX0tFWVNfTUFYLAoKICAgIF9TQ19U
SFJFQURfU1RBQ0tfTUlOLAoKICAgIF9TQ19USFJFQURfVEhSRUFEU19NQVgsCgogICAgX1NDX1RI
UkVBRF9BVFRSX1NUQUNLQUREUiwKCiAgICBfU0NfVEhSRUFEX0FUVFJfU1RBQ0tTSVpFLAoKICAg
IF9TQ19USFJFQURfUFJJT1JJVFlfU0NIRURVTElORywKCiAgICBfU0NfVEhSRUFEX1BSSU9fSU5I
RVJJVCwKCiAgICBfU0NfVEhSRUFEX1BSSU9fUFJPVEVDVCwKCiAgICBfU0NfVEhSRUFEX1BST0NF
U1NfU0hBUkVELAoKCiAgICBfU0NfTlBST0NFU1NPUlNfQ09ORiwKCiAgICBfU0NfTlBST0NFU1NP
UlNfT05MTiwKCiAgICBfU0NfUEhZU19QQUdFUywKCiAgICBfU0NfQVZQSFlTX1BBR0VTLAoKICAg
IF9TQ19BVEVYSVRfTUFYLAoKICAgIF9TQ19QQVNTX01BWCwKCgogICAgX1NDX1hPUEVOX1ZFUlNJ
T04sCgogICAgX1NDX1hPUEVOX1hDVV9WRVJTSU9OLAoKICAgIF9TQ19YT1BFTl9VTklYLAoKICAg
IF9TQ19YT1BFTl9DUllQVCwKCiAgICBfU0NfWE9QRU5fRU5IX0kxOE4sCgogICAgX1NDX1hPUEVO
X1NITSwKCgogICAgX1NDXzJfQ0hBUl9URVJNLAoKICAgIF9TQ18yX0NfVkVSU0lPTiwKCiAgICBf
U0NfMl9VUEUsCgoKICAgIF9TQ19YT1BFTl9YUEcyLAoKICAgIF9TQ19YT1BFTl9YUEczLAoKICAg
IF9TQ19YT1BFTl9YUEc0LAoKCiAgICBfU0NfQ0hBUl9CSVQsCgogICAgX1NDX0NIQVJfTUFYLAoK
ICAgIF9TQ19DSEFSX01JTiwKCiAgICBfU0NfSU5UX01BWCwKCiAgICBfU0NfSU5UX01JTiwKCiAg
ICBfU0NfTE9OR19CSVQsCgogICAgX1NDX1dPUkRfQklULAoKICAgIF9TQ19NQl9MRU5fTUFYLAoK
ICAgIF9TQ19OWkVSTywKCiAgICBfU0NfU1NJWkVfTUFYLAoKICAgIF9TQ19TQ0hBUl9NQVgsCgog
ICAgX1NDX1NDSEFSX01JTiwKCiAgICBfU0NfU0hSVF9NQVgsCgogICAgX1NDX1NIUlRfTUlOLAoK
ICAgIF9TQ19VQ0hBUl9NQVgsCgogICAgX1NDX1VJTlRfTUFYLAoKICAgIF9TQ19VTE9OR19NQVgs
CgogICAgX1NDX1VTSFJUX01BWCwKCgogICAgX1NDX05MX0FSR01BWCwKCiAgICBfU0NfTkxfTEFO
R01BWCwKCiAgICBfU0NfTkxfTVNHTUFYLAoKICAgIF9TQ19OTF9OTUFYLAoKICAgIF9TQ19OTF9T
RVRNQVgsCgogICAgX1NDX05MX1RFWFRNQVgsCgoKICAgIF9TQ19YQlM1X0lMUDMyX09GRjMyLAoK
ICAgIF9TQ19YQlM1X0lMUDMyX09GRkJJRywKCiAgICBfU0NfWEJTNV9MUDY0X09GRjY0LAoKICAg
IF9TQ19YQlM1X0xQQklHX09GRkJJRywKCgogICAgX1NDX1hPUEVOX0xFR0FDWSwKCiAgICBfU0Nf
WE9QRU5fUkVBTFRJTUUsCgogICAgX1NDX1hPUEVOX1JFQUxUSU1FX1RIUkVBRFMsCgoKICAgIF9T
Q19BRFZJU09SWV9JTkZPLAoKICAgIF9TQ19CQVJSSUVSUywKCiAgICBfU0NfQkFTRSwKCiAgICBf
U0NfQ19MQU5HX1NVUFBPUlQsCgogICAgX1NDX0NfTEFOR19TVVBQT1JUX1IsCgogICAgX1NDX0NM
T0NLX1NFTEVDVElPTiwKCiAgICBfU0NfQ1BVVElNRSwKCiAgICBfU0NfVEhSRUFEX0NQVVRJTUUs
CgogICAgX1NDX0RFVklDRV9JTywKCiAgICBfU0NfREVWSUNFX1NQRUNJRklDLAoKICAgIF9TQ19E
RVZJQ0VfU1BFQ0lGSUNfUiwKCiAgICBfU0NfRkRfTUdNVCwKCiAgICBfU0NfRklGTywKCiAgICBf
U0NfUElQRSwKCiAgICBfU0NfRklMRV9BVFRSSUJVVEVTLAoKICAgIF9TQ19GSUxFX0xPQ0tJTkcs
CgogICAgX1NDX0ZJTEVfU1lTVEVNLAoKICAgIF9TQ19NT05PVE9OSUNfQ0xPQ0ssCgogICAgX1ND
X01VTFRJX1BST0NFU1MsCgogICAgX1NDX1NJTkdMRV9QUk9DRVNTLAoKICAgIF9TQ19ORVRXT1JL
SU5HLAoKICAgIF9TQ19SRUFERVJfV1JJVEVSX0xPQ0tTLAoKICAgIF9TQ19TUElOX0xPQ0tTLAoK
ICAgIF9TQ19SRUdFWFAsCgogICAgX1NDX1JFR0VYX1ZFUlNJT04sCgogICAgX1NDX1NIRUxMLAoK
ICAgIF9TQ19TSUdOQUxTLAoKICAgIF9TQ19TUEFXTiwKCiAgICBfU0NfU1BPUkFESUNfU0VSVkVS
LAoKICAgIF9TQ19USFJFQURfU1BPUkFESUNfU0VSVkVSLAoKICAgIF9TQ19TWVNURU1fREFUQUJB
U0UsCgogICAgX1NDX1NZU1RFTV9EQVRBQkFTRV9SLAoKICAgIF9TQ19USU1FT1VUUywKCiAgICBf
U0NfVFlQRURfTUVNT1JZX09CSkVDVFMsCgogICAgX1NDX1VTRVJfR1JPVVBTLAoKICAgIF9TQ19V
U0VSX0dST1VQU19SLAoKICAgIF9TQ18yX1BCUywKCiAgICBfU0NfMl9QQlNfQUNDT1VOVElORywK
CiAgICBfU0NfMl9QQlNfTE9DQVRFLAoKICAgIF9TQ18yX1BCU19NRVNTQUdFLAoKICAgIF9TQ18y
X1BCU19UUkFDSywKCiAgICBfU0NfU1lNTE9PUF9NQVgsCgogICAgX1NDX1NUUkVBTVMsCgogICAg
X1NDXzJfUEJTX0NIRUNLUE9JTlQsCgoKICAgIF9TQ19WNl9JTFAzMl9PRkYzMiwKCiAgICBfU0Nf
VjZfSUxQMzJfT0ZGQklHLAoKICAgIF9TQ19WNl9MUDY0X09GRjY0LAoKICAgIF9TQ19WNl9MUEJJ
R19PRkZCSUcsCgoKICAgIF9TQ19IT1NUX05BTUVfTUFYLAoKICAgIF9TQ19UUkFDRSwKCiAgICBf
U0NfVFJBQ0VfRVZFTlRfRklMVEVSLAoKICAgIF9TQ19UUkFDRV9JTkhFUklULAoKICAgIF9TQ19U
UkFDRV9MT0csCgoKICAgIF9TQ19MRVZFTDFfSUNBQ0hFX1NJWkUsCgogICAgX1NDX0xFVkVMMV9J
Q0FDSEVfQVNTT0MsCgogICAgX1NDX0xFVkVMMV9JQ0FDSEVfTElORVNJWkUsCgogICAgX1NDX0xF
VkVMMV9EQ0FDSEVfU0laRSwKCiAgICBfU0NfTEVWRUwxX0RDQUNIRV9BU1NPQywKCiAgICBfU0Nf
TEVWRUwxX0RDQUNIRV9MSU5FU0laRSwKCiAgICBfU0NfTEVWRUwyX0NBQ0hFX1NJWkUsCgogICAg
X1NDX0xFVkVMMl9DQUNIRV9BU1NPQywKCiAgICBfU0NfTEVWRUwyX0NBQ0hFX0xJTkVTSVpFLAoK
ICAgIF9TQ19MRVZFTDNfQ0FDSEVfU0laRSwKCiAgICBfU0NfTEVWRUwzX0NBQ0hFX0FTU09DLAoK
ICAgIF9TQ19MRVZFTDNfQ0FDSEVfTElORVNJWkUsCgogICAgX1NDX0xFVkVMNF9DQUNIRV9TSVpF
LAoKICAgIF9TQ19MRVZFTDRfQ0FDSEVfQVNTT0MsCgogICAgX1NDX0xFVkVMNF9DQUNIRV9MSU5F
U0laRQoKCiAgfTsKCgplbnVtCiAgewogICAgX0NTX1BBVEgsCgoKICAgIF9DU19WNl9XSURUSF9S
RVNUUklDVEVEX0VOVlMsCgoKICAgIF9DU19HTlVfTElCQ19WRVJTSU9OLAoKICAgIF9DU19HTlVf
TElCUFRIUkVBRF9WRVJTSU9OLAoKCiAgICBfQ1NfTEZTX0NGTEFHUyA9IDEwMDAsCgogICAgX0NT
X0xGU19MREZMQUdTLAoKICAgIF9DU19MRlNfTElCUywKCiAgICBfQ1NfTEZTX0xJTlRGTEFHUywK
CiAgICBfQ1NfTEZTNjRfQ0ZMQUdTLAoKICAgIF9DU19MRlM2NF9MREZMQUdTLAoKICAgIF9DU19M
RlM2NF9MSUJTLAoKICAgIF9DU19MRlM2NF9MSU5URkxBR1MsCgoKICAgIF9DU19YQlM1X0lMUDMy
X09GRjMyX0NGTEFHUyA9IDExMDAsCgogICAgX0NTX1hCUzVfSUxQMzJfT0ZGMzJfTERGTEFHUywK
CiAgICBfQ1NfWEJTNV9JTFAzMl9PRkYzMl9MSUJTLAoKICAgIF9DU19YQlM1X0lMUDMyX09GRjMy
X0xJTlRGTEFHUywKCiAgICBfQ1NfWEJTNV9JTFAzMl9PRkZCSUdfQ0ZMQUdTLAoKICAgIF9DU19Y
QlM1X0lMUDMyX09GRkJJR19MREZMQUdTLAoKICAgIF9DU19YQlM1X0lMUDMyX09GRkJJR19MSUJT
LAoKICAgIF9DU19YQlM1X0lMUDMyX09GRkJJR19MSU5URkxBR1MsCgogICAgX0NTX1hCUzVfTFA2
NF9PRkY2NF9DRkxBR1MsCgogICAgX0NTX1hCUzVfTFA2NF9PRkY2NF9MREZMQUdTLAoKICAgIF9D
U19YQlM1X0xQNjRfT0ZGNjRfTElCUywKCiAgICBfQ1NfWEJTNV9MUDY0X09GRjY0X0xJTlRGTEFH
UywKCiAgICBfQ1NfWEJTNV9MUEJJR19PRkZCSUdfQ0ZMQUdTLAoKICAgIF9DU19YQlM1X0xQQklH
X09GRkJJR19MREZMQUdTLAoKICAgIF9DU19YQlM1X0xQQklHX09GRkJJR19MSUJTLAoKICAgIF9D
U19YQlM1X0xQQklHX09GRkJJR19MSU5URkxBR1MsCgoKICAgIF9DU19QT1NJWF9WNl9JTFAzMl9P
RkYzMl9DRkxBR1MsCgogICAgX0NTX1BPU0lYX1Y2X0lMUDMyX09GRjMyX0xERkxBR1MsCgogICAg
X0NTX1BPU0lYX1Y2X0lMUDMyX09GRjMyX0xJQlMsCgogICAgX0NTX1BPU0lYX1Y2X0lMUDMyX09G
RjMyX0xJTlRGTEFHUywKCiAgICBfQ1NfUE9TSVhfVjZfSUxQMzJfT0ZGQklHX0NGTEFHUywKCiAg
ICBfQ1NfUE9TSVhfVjZfSUxQMzJfT0ZGQklHX0xERkxBR1MsCgogICAgX0NTX1BPU0lYX1Y2X0lM
UDMyX09GRkJJR19MSUJTLAoKICAgIF9DU19QT1NJWF9WNl9JTFAzMl9PRkZCSUdfTElOVEZMQUdT
LAoKICAgIF9DU19QT1NJWF9WNl9MUDY0X09GRjY0X0NGTEFHUywKCiAgICBfQ1NfUE9TSVhfVjZf
TFA2NF9PRkY2NF9MREZMQUdTLAoKICAgIF9DU19QT1NJWF9WNl9MUDY0X09GRjY0X0xJQlMsCgog
ICAgX0NTX1BPU0lYX1Y2X0xQNjRfT0ZGNjRfTElOVEZMQUdTLAoKICAgIF9DU19QT1NJWF9WNl9M
UEJJR19PRkZCSUdfQ0ZMQUdTLAoKICAgIF9DU19QT1NJWF9WNl9MUEJJR19PRkZCSUdfTERGTEFH
UywKCiAgICBfQ1NfUE9TSVhfVjZfTFBCSUdfT0ZGQklHX0xJQlMsCgogICAgX0NTX1BPU0lYX1Y2
X0xQQklHX09GRkJJR19MSU5URkxBR1MKCiAgfTsKIyA1MjYgIi91c3IvaW5jbHVkZS91bmlzdGQu
aCIgMiAzIDQKCgpleHRlcm4gbG9uZyBpbnQgcGF0aGNvbmYgKF9fY29uc3QgY2hhciAqX19wYXRo
LCBpbnQgX19uYW1lKSA7CgoKZXh0ZXJuIGxvbmcgaW50IGZwYXRoY29uZiAoaW50IF9fZmQsIGlu
dCBfX25hbWUpIDsKCgpleHRlcm4gbG9uZyBpbnQgc3lzY29uZiAoaW50IF9fbmFtZSkgX19hdHRy
aWJ1dGVfXyAoKF9fY29uc3RfXykpOwoKCgpleHRlcm4gc2l6ZV90IGNvbmZzdHIgKGludCBfX25h
bWUsIGNoYXIgKl9fYnVmLCBzaXplX3QgX19sZW4pIDsKCgoKCmV4dGVybiBfX3BpZF90IGdldHBp
ZCAodm9pZCkgOwoKCmV4dGVybiBfX3BpZF90IGdldHBwaWQgKHZvaWQpIDsKCgoKCmV4dGVybiBf
X3BpZF90IGdldHBncnAgKHZvaWQpIDsKIyA1NjEgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0
CmV4dGVybiBfX3BpZF90IF9fZ2V0cGdpZCAoX19waWRfdCBfX3BpZCkgOwoKZXh0ZXJuIF9fcGlk
X3QgZ2V0cGdpZCAoX19waWRfdCBfX3BpZCkgOwoKCgoKCgpleHRlcm4gaW50IHNldHBnaWQgKF9f
cGlkX3QgX19waWQsIF9fcGlkX3QgX19wZ2lkKSA7CiMgNTg3ICIvdXNyL2luY2x1ZGUvdW5pc3Rk
LmgiIDMgNApleHRlcm4gaW50IHNldHBncnAgKHZvaWQpIDsKIyA2MDUgIi91c3IvaW5jbHVkZS91
bmlzdGQuaCIgMyA0CmV4dGVybiBfX3BpZF90IHNldHNpZCAodm9pZCkgOwoKCgpleHRlcm4gX19w
aWRfdCBnZXRzaWQgKF9fcGlkX3QgX19waWQpIDsKCgoKZXh0ZXJuIF9fdWlkX3QgZ2V0dWlkICh2
b2lkKSA7CgoKZXh0ZXJuIF9fdWlkX3QgZ2V0ZXVpZCAodm9pZCkgOwoKCmV4dGVybiBfX2dpZF90
IGdldGdpZCAodm9pZCkgOwoKCmV4dGVybiBfX2dpZF90IGdldGVnaWQgKHZvaWQpIDsKCgoKCmV4
dGVybiBpbnQgZ2V0Z3JvdXBzIChpbnQgX19zaXplLCBfX2dpZF90IF9fbGlzdFtdKSA7CgoKCmV4
dGVybiBpbnQgZ3JvdXBfbWVtYmVyIChfX2dpZF90IF9fZ2lkKSA7CgoKCgoKCmV4dGVybiBpbnQg
c2V0dWlkIChfX3VpZF90IF9fdWlkKSA7CgoKCgpleHRlcm4gaW50IHNldHJldWlkIChfX3VpZF90
IF9fcnVpZCwgX191aWRfdCBfX2V1aWQpIDsKCgoKCmV4dGVybiBpbnQgc2V0ZXVpZCAoX191aWRf
dCBfX3VpZCkgOwoKCgoKCgpleHRlcm4gaW50IHNldGdpZCAoX19naWRfdCBfX2dpZCkgOwoKCgoK
ZXh0ZXJuIGludCBzZXRyZWdpZCAoX19naWRfdCBfX3JnaWQsIF9fZ2lkX3QgX19lZ2lkKSA7CgoK
CgpleHRlcm4gaW50IHNldGVnaWQgKF9fZ2lkX3QgX19naWQpIDsKCgoKCgpleHRlcm4gaW50IGdl
dHJlc3VpZCAoX191aWRfdCAqX19ldWlkLCBfX3VpZF90ICpfX3J1aWQsIF9fdWlkX3QgKl9fc3Vp
ZCk7CgoKCmV4dGVybiBpbnQgZ2V0cmVzZ2lkIChfX2dpZF90ICpfX2VnaWQsIF9fZ2lkX3QgKl9f
cmdpZCwgX19naWRfdCAqX19zZ2lkKTsKCgoKZXh0ZXJuIGludCBzZXRyZXN1aWQgKF9fdWlkX3Qg
X19ldWlkLCBfX3VpZF90IF9fcnVpZCwgX191aWRfdCBfX3N1aWQpOwoKCgpleHRlcm4gaW50IHNl
dHJlc2dpZCAoX19naWRfdCBfX2VnaWQsIF9fZ2lkX3QgX19yZ2lkLCBfX2dpZF90IF9fc2dpZCk7
CgoKCgoKCmV4dGVybiBfX3BpZF90IGZvcmsgKHZvaWQpIDsKCgoKCgoKZXh0ZXJuIF9fcGlkX3Qg
dmZvcmsgKHZvaWQpIDsKCgoKCgpleHRlcm4gY2hhciAqdHR5bmFtZSAoaW50IF9fZmQpIDsKCgoK
ZXh0ZXJuIGludCB0dHluYW1lX3IgKGludCBfX2ZkLCBjaGFyICpfX2J1Ziwgc2l6ZV90IF9fYnVm
bGVuKSA7CgoKCmV4dGVybiBpbnQgaXNhdHR5IChpbnQgX19mZCkgOwoKCgoKCmV4dGVybiBpbnQg
dHR5c2xvdCAodm9pZCkgOwoKCgoKZXh0ZXJuIGludCBsaW5rIChfX2NvbnN0IGNoYXIgKl9fZnJv
bSwgX19jb25zdCBjaGFyICpfX3RvKSA7CgoKCmV4dGVybiBpbnQgc3ltbGluayAoX19jb25zdCBj
aGFyICpfX2Zyb20sIF9fY29uc3QgY2hhciAqX190bykgOwoKCgoKZXh0ZXJuIGludCByZWFkbGlu
ayAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcGF0aCwgY2hhciAqX19yZXN0cmljdCBfX2J1
ZiwKICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IF9fbGVuKSA7CgoKCmV4dGVybiBpbnQgdW5s
aW5rIChfX2NvbnN0IGNoYXIgKl9fbmFtZSkgOwoKCmV4dGVybiBpbnQgcm1kaXIgKF9fY29uc3Qg
Y2hhciAqX19wYXRoKSA7CgoKCmV4dGVybiBfX3BpZF90IHRjZ2V0cGdycCAoaW50IF9fZmQpIDsK
CgpleHRlcm4gaW50IHRjc2V0cGdycCAoaW50IF9fZmQsIF9fcGlkX3QgX19wZ3JwX2lkKSA7CgoK
CgoKCmV4dGVybiBjaGFyICpnZXRsb2dpbiAodm9pZCk7CgoKCgoKCgpleHRlcm4gaW50IGdldGxv
Z2luX3IgKGNoYXIgKl9fbmFtZSwgc2l6ZV90IF9fbmFtZV9sZW4pOwoKCgoKZXh0ZXJuIGludCBz
ZXRsb2dpbiAoX19jb25zdCBjaGFyICpfX25hbWUpIDsKIyA3NzUgIi91c3IvaW5jbHVkZS91bmlz
dGQuaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2dldG9wdC5oIiAxIDMgNAojIDU5ICIvdXNyL2lu
Y2x1ZGUvZ2V0b3B0LmgiIDMgNApleHRlcm4gY2hhciAqb3B0YXJnOwojIDczICIvdXNyL2luY2x1
ZGUvZ2V0b3B0LmgiIDMgNApleHRlcm4gaW50IG9wdGluZDsKCgoKCmV4dGVybiBpbnQgb3B0ZXJy
OwoKCgpleHRlcm4gaW50IG9wdG9wdDsKIyAxNTIgIi91c3IvaW5jbHVkZS9nZXRvcHQuaCIgMyA0
CmV4dGVybiBpbnQgZ2V0b3B0IChpbnQgX19fYXJnYywgY2hhciAqY29uc3QgKl9fX2FyZ3YsIGNv
bnN0IGNoYXIgKl9fc2hvcnRvcHRzKQogICAgICAgOwojIDc3NiAiL3Vzci9pbmNsdWRlL3VuaXN0
ZC5oIiAyIDMgNAoKCgoKCgoKZXh0ZXJuIGludCBnZXRob3N0bmFtZSAoY2hhciAqX19uYW1lLCBz
aXplX3QgX19sZW4pIDsKCgoKCgoKZXh0ZXJuIGludCBzZXRob3N0bmFtZSAoX19jb25zdCBjaGFy
ICpfX25hbWUsIHNpemVfdCBfX2xlbikgOwoKCgpleHRlcm4gaW50IHNldGhvc3RpZCAobG9uZyBp
bnQgX19pZCkgOwoKCgoKCmV4dGVybiBpbnQgZ2V0ZG9tYWlubmFtZSAoY2hhciAqX19uYW1lLCBz
aXplX3QgX19sZW4pIDsKZXh0ZXJuIGludCBzZXRkb21haW5uYW1lIChfX2NvbnN0IGNoYXIgKl9f
bmFtZSwgc2l6ZV90IF9fbGVuKSA7CgoKCgoKZXh0ZXJuIGludCB2aGFuZ3VwICh2b2lkKSA7CgoK
ZXh0ZXJuIGludCByZXZva2UgKF9fY29uc3QgY2hhciAqX19maWxlKSA7CgoKCgoKCgpleHRlcm4g
aW50IHByb2ZpbCAodW5zaWduZWQgc2hvcnQgaW50ICpfX3NhbXBsZV9idWZmZXIsIHNpemVfdCBf
X3NpemUsCiAgICAgICAgICAgICAgICAgICBzaXplX3QgX19vZmZzZXQsIHVuc2lnbmVkIGludCBf
X3NjYWxlKSA7CgoKCgoKZXh0ZXJuIGludCBhY2N0IChfX2NvbnN0IGNoYXIgKl9fbmFtZSkgOwoK
CgpleHRlcm4gY2hhciAqZ2V0dXNlcnNoZWxsICh2b2lkKSA7CmV4dGVybiB2b2lkIGVuZHVzZXJz
aGVsbCAodm9pZCkgOwpleHRlcm4gdm9pZCBzZXR1c2Vyc2hlbGwgKHZvaWQpIDsKCgoKCgpleHRl
cm4gaW50IGRhZW1vbiAoaW50IF9fbm9jaGRpciwgaW50IF9fbm9jbG9zZSkgOwoKCgoKCgpleHRl
cm4gaW50IGNocm9vdCAoX19jb25zdCBjaGFyICpfX3BhdGgpIDsKCgoKZXh0ZXJuIGNoYXIgKmdl
dHBhc3MgKF9fY29uc3QgY2hhciAqX19wcm9tcHQpOwojIDg1NyAiL3Vzci9pbmNsdWRlL3VuaXN0
ZC5oIiAzIDQKZXh0ZXJuIGludCBmc3luYyAoaW50IF9fZmQpOwoKCgoKCgpleHRlcm4gbG9uZyBp
bnQgZ2V0aG9zdGlkICh2b2lkKTsKCgpleHRlcm4gdm9pZCBzeW5jICh2b2lkKSA7CgoKCgpleHRl
cm4gaW50IGdldHBhZ2VzaXplICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7CgoK
CgoKCgpleHRlcm4gaW50IHRydW5jYXRlIChfX2NvbnN0IGNoYXIgKl9fZmlsZSwgX19vZmY2NF90
IF9fbGVuZ3RoKSBfX2FzbV9fICgiIiAidHJ1bmNhdGU2NCIpOwoKCgoKCgoKZXh0ZXJuIGludCB0
cnVuY2F0ZTY0IChfX2NvbnN0IGNoYXIgKl9fZmlsZSwgX19vZmY2NF90IF9fbGVuZ3RoKSA7CgoK
CgoKCgpleHRlcm4gaW50IGZ0cnVuY2F0ZSAoaW50IF9fZmQsIF9fb2ZmNjRfdCBfX2xlbmd0aCkg
X19hc21fXyAoIiIgImZ0cnVuY2F0ZTY0Iik7CgoKCgoKCmV4dGVybiBpbnQgZnRydW5jYXRlNjQg
KGludCBfX2ZkLCBfX29mZjY0X3QgX19sZW5ndGgpIDsKCgoKCgpleHRlcm4gaW50IGdldGR0YWJs
ZXNpemUgKHZvaWQpIDsKIyA5MTggIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0CmV4dGVybiBp
bnQgYnJrICh2b2lkICpfX2FkZHIpIDsKCgoKCgpleHRlcm4gdm9pZCAqc2JyayAoaW50cHRyX3Qg
X19kZWx0YSkgOwojIDkzOSAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKZXh0ZXJuIGxvbmcg
aW50IHN5c2NhbGwgKGxvbmcgaW50IF9fc3lzbm8sIC4uLikgOwojIDk2NSAiL3Vzci9pbmNsdWRl
L3VuaXN0ZC5oIiAzIDQKZXh0ZXJuIGludCBsb2NrZiAoaW50IF9fZmQsIGludCBfX2NtZCwgX19v
ZmY2NF90IF9fbGVuKSBfX2FzbV9fICgiIiAibG9ja2Y2NCIpOwoKCgoKCgpleHRlcm4gaW50IGxv
Y2tmNjQgKGludCBfX2ZkLCBpbnQgX19jbWQsIF9fb2ZmNjRfdCBfX2xlbik7CiMgOTkzICIvdXNy
L2luY2x1ZGUvdW5pc3RkLmgiIDMgNApleHRlcm4gaW50IGZkYXRhc3luYyAoaW50IF9fZmlsZGVz
KSA7CgoKCgoKCgpleHRlcm4gY2hhciAqY3J5cHQgKF9fY29uc3QgY2hhciAqX19rZXksIF9fY29u
c3QgY2hhciAqX19zYWx0KSA7CgoKCmV4dGVybiB2b2lkIGVuY3J5cHQgKGNoYXIgKl9fYmxvY2ss
IGludCBfX2VkZmxhZykgOwoKCgoKCgpleHRlcm4gdm9pZCBzd2FiIChfX2NvbnN0IHZvaWQgKl9f
cmVzdHJpY3QgX19mcm9tLCB2b2lkICpfX3Jlc3RyaWN0IF9fdG8sCiAgICAgICAgICAgICAgICAg
IHNzaXplX3QgX19uKSA7CgoKCgoKCgpleHRlcm4gY2hhciAqY3Rlcm1pZCAoY2hhciAqX19zKSA7
CgoKCiMgOCAibW90aW9uLmMiIDIKIyAxICIuLi91dGlscy9tanBlZ190eXBlcy5oIiAxCiMgMzIg
Ii4uL3V0aWxzL21qcGVnX3R5cGVzLmgiCiMgMSAiL3Vzci9pbmNsdWRlL3N0ZGludC5oIiAxIDMg
NAojIDI4ICIvdXNyL2luY2x1ZGUvc3RkaW50LmgiIDMgNAojIDEgIi91c3IvaW5jbHVkZS9iaXRz
L3dvcmRzaXplLmgiIDEgMyA0CiMgMjkgIi91c3IvaW5jbHVkZS9zdGRpbnQuaCIgMiAzIDQKIyA0
OSAiL3Vzci9pbmNsdWRlL3N0ZGludC5oIiAzIDQKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVpbnQ4
X3Q7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IHVpbnQxNl90OwoKdHlwZWRlZiB1bnNpZ25l
ZCBpbnQgdWludDMyX3Q7CgoKCgoKX19leHRlbnNpb25fXwp0eXBlZGVmIHVuc2lnbmVkIGxvbmcg
bG9uZyBpbnQgdWludDY0X3Q7CgoKCgoKCnR5cGVkZWYgc2lnbmVkIGNoYXIgaW50X2xlYXN0OF90
Owp0eXBlZGVmIHNob3J0IGludCBpbnRfbGVhc3QxNl90Owp0eXBlZGVmIGludCBpbnRfbGVhc3Qz
Ml90OwoKCgpfX2V4dGVuc2lvbl9fCnR5cGVkZWYgbG9uZyBsb25nIGludCBpbnRfbGVhc3Q2NF90
OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludF9sZWFzdDhfdDsKdHlwZWRlZiB1bnNpZ25l
ZCBzaG9ydCBpbnQgdWludF9sZWFzdDE2X3Q7CnR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnRfbGVh
c3QzMl90OwoKCgpfX2V4dGVuc2lvbl9fCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCB1
aW50X2xlYXN0NjRfdDsKCgoKCgoKdHlwZWRlZiBzaWduZWQgY2hhciBpbnRfZmFzdDhfdDsKCgoK
Cgp0eXBlZGVmIGludCBpbnRfZmFzdDE2X3Q7CnR5cGVkZWYgaW50IGludF9mYXN0MzJfdDsKX19l
eHRlbnNpb25fXwp0eXBlZGVmIGxvbmcgbG9uZyBpbnQgaW50X2Zhc3Q2NF90OwoKCgp0eXBlZGVm
IHVuc2lnbmVkIGNoYXIgdWludF9mYXN0OF90OwoKCgoKCnR5cGVkZWYgdW5zaWduZWQgaW50IHVp
bnRfZmFzdDE2X3Q7CnR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnRfZmFzdDMyX3Q7Cl9fZXh0ZW5z
aW9uX18KdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHVpbnRfZmFzdDY0X3Q7CiMgMTI5
ICIvdXNyL2luY2x1ZGUvc3RkaW50LmgiIDMgNAp0eXBlZGVmIHVuc2lnbmVkIGludCB1aW50cHRy
X3Q7CiMgMTM4ICIvdXNyL2luY2x1ZGUvc3RkaW50LmgiIDMgNApfX2V4dGVuc2lvbl9fCnR5cGVk
ZWYgbG9uZyBsb25nIGludCBpbnRtYXhfdDsKX19leHRlbnNpb25fXwp0eXBlZGVmIHVuc2lnbmVk
IGxvbmcgbG9uZyBpbnQgdWludG1heF90OwojIDMzICIuLi91dGlscy9tanBlZ190eXBlcy5oIiAy
CiMgOSAibW90aW9uLmMiIDIKIyAxICJnbG9iYWwuaCIgMQojIDM0ICJnbG9iYWwuaCIKc3RydWN0
IEROU1JfR0xPQkFMCiAgewoKCgoKICAgIHVpbnQ4X3QgbW9kZTsKCgogICAgdWludDhfdCByYWRp
dXM7CgoKICAgIHVpbnQ4X3QgdGhyZXNob2xkWTsKICAgIHVpbnQ4X3QgdGhyZXNob2xkQ2I7CiAg
ICB1aW50OF90IHRocmVzaG9sZENyOwogICAgdWludDhfdCBjaHJvbWFfZmxpY2tlcjsKICAgIHVp
bnQ4X3QgcHBfdGhyZXNob2xkOwoKCiAgICB1aW50OF90IGRlbGF5WTsKICAgIHVpbnQ4X3QgZGVs
YXlDYjsKICAgIHVpbnQ4X3QgZGVsYXlDcjsKCgogICAgdWludDhfdCBkZWludGVybGFjZTsKCgog
ICAgdWludDE2X3QgcG9zdHByb2Nlc3M7CiAgICB1aW50MTZfdCBsdW1hX2NvbnRyYXN0OwogICAg
dWludDE2X3QgY2hyb21hX2NvbnRyYXN0OwogICAgdWludDE2X3Qgc2hhcnBlbjsKCgogICAgc3Ry
dWN0CiAgICB7CiAgICAgIGludDMyX3QgdzsKICAgICAgaW50MzJfdCBoOwogICAgICBpbnQzMl90
IEN3OwogICAgICBpbnQzMl90IENoOwogICAgICB1aW50OF90IHNzX2g7CiAgICAgIHVpbnQ4X3Qg
c3NfdjsKCiAgICAgIHVpbnQ4X3QgKmlvWzNdOwogICAgICB1aW50OF90ICpyZWZbM107CiAgICAg
IHVpbnQ4X3QgKmF2Z1szXTsKICAgICAgdWludDhfdCAqZGlmWzNdOwogICAgICB1aW50OF90ICpk
aWYyWzNdOwogICAgICB1aW50OF90ICphdmcyWzNdOwogICAgICB1aW50OF90ICp0bXBbM107CiAg
ICAgIHVpbnQ4X3QgKnN1YjJyZWZbM107CiAgICAgIHVpbnQ4X3QgKnN1YjJhdmdbM107CiAgICAg
IHVpbnQ4X3QgKnN1YjRyZWZbM107CiAgICAgIHVpbnQ4X3QgKnN1YjRhdmdbM107CiAgICB9IGZy
YW1lOwoKCiAgICBzdHJ1Y3QKICAgIHsKICAgICAgdWludDE2X3QgeDsKICAgICAgdWludDE2X3Qg
eTsKICAgICAgaW50MTZfdCB3OwogICAgICBpbnQxNl90IGg7CiAgICB9IGJvcmRlcjsKCiAgfTsK
CnN0cnVjdCBETlNSX1ZFQ1RPUgp7CiAgaW50OF90IHg7CiAgaW50OF90IHk7CiAgdWludDMyX3Qg
U0FEOwp9OwoKdWludDhfdCBsdW1hX2NvbnRyYXN0X3ZlY3RvclsyNTZdOwojIDEwICJtb3Rpb24u
YyIgMgojIDEgIm1vdGlvbi5oIiAxCgp2b2lkCnN1YnNhbXBsZV9mcmFtZSAodWludDhfdCAqIGRz
dFszXSwgdWludDhfdCAqIHNyY1szXSwgaW50IHcsIGludCBoKTsKCgp2b2lkCm1iX3NlYXJjaF80
NCAodWludDE2X3QgeCwgdWludDE2X3QgeSk7Cgp2b2lkCm1iX3NlYXJjaF8yMiAodWludDE2X3Qg
eCwgdWludDE2X3QgeSk7Cgp2b2lkCm1iX3NlYXJjaF8xMSAodWludDE2X3QgeCwgdWludDE2X3Qg
eSk7Cgp2b2lkCm1iX3NlYXJjaF8wMCAodWludDE2X3QgeCwgdWludDE2X3QgeSk7CgoKdWludDMy
X3QKY2FsY19TQURfbm9hY2NlbCAodWludDhfdCAqIGZybSwgdWludDhfdCAqIHJlZik7Cgp1aW50
MzJfdApjYWxjX1NBRF91dl9ub2FjY2VsICh1aW50OF90ICogZnJtLCB1aW50OF90ICogcmVmKTsK
CnVpbnQzMl90CmNhbGNfU0FEX2hhbGZfbm9hY2NlbCAodWludDhfdCAqIHJlZiwgdWludDhfdCAq
IGZybTEsIHVpbnQ4X3QgKiBmcm0yKTsKCgp1aW50MzJfdApjYWxjX1NBRF9tbXhlICh1aW50OF90
ICogZnJtLCB1aW50OF90ICogcmVmKTsKCnVpbnQzMl90CmNhbGNfU0FEX3V2NDIwX21teGUgKHVp
bnQ4X3QgKiBmcm0sIHVpbnQ4X3QgKiByZWYpOwoKdWludDMyX3QKY2FsY19TQURfdXY0MTFfbW14
ZSAodWludDhfdCAqIGZybSwgdWludDhfdCAqIHJlZik7Cgp1aW50MzJfdApjYWxjX1NBRF9oYWxm
X21teGUgKHVpbnQ4X3QgKiByZWYsIHVpbnQ4X3QgKiBmcm0xLCB1aW50OF90ICogZnJtMik7CgoK
dWludDMyX3QKY2FsY19TQURfbW14ICh1aW50OF90ICogZnJtLCB1aW50OF90ICogcmVmKTsKCnVp
bnQzMl90CmNhbGNfU0FEX3V2NDIwX21teCAodWludDhfdCAqIGZybSwgdWludDhfdCAqIHJlZik7
Cgp1aW50MzJfdApjYWxjX1NBRF91djQxMV9tbXggKHVpbnQ4X3QgKiBmcm0sIHVpbnQ4X3QgKiBy
ZWYpOwoKdWludDMyX3QKY2FsY19TQURfaGFsZl9tbXggKHVpbnQ4X3QgKiByZWYsIHVpbnQ4X3Qg
KiBmcm0xLCB1aW50OF90ICogZnJtMik7CiMgMTEgIm1vdGlvbi5jIiAyCgoKdWludDMyX3QgKCpj
YWxjX1NBRCkgKHVpbnQ4X3QgKiAsIHVpbnQ4X3QgKiApOwp1aW50MzJfdCAoKmNhbGNfU0FEX3V2
KSAodWludDhfdCAqICwgdWludDhfdCAqICk7CnVpbnQzMl90ICgqY2FsY19TQURfaGFsZikgKHVp
bnQ4X3QgKiAsIHVpbnQ4X3QgKiAsdWludDhfdCAqKTsKCgpleHRlcm4gc3RydWN0IEROU1JfR0xP
QkFMIGRlbm9pc2VyOwoKc3RydWN0IEROU1JfVkVDVE9SIHZlY3RvcjsKc3RydWN0IEROU1JfVkVD
VE9SIHZhcnJheTQ0WzhdOwpzdHJ1Y3QgRE5TUl9WRUNUT1IgdmFycmF5MjJbOF07CiMgMzQgIm1v
dGlvbi5jIgp2b2lkCnN1YnNhbXBsZV9mcmFtZSAodWludDhfdCAqIGRzdFszXSwgdWludDhfdCAq
IHNyY1szXSwgaW50IHcsIGludCBoKQp7CiAgaW50IHgsIHk7CiAgaW50IEN3PXcvKGRlbm9pc2Vy
LmZyYW1lLnNzX2gpOwogIGludCBDaD1oLyhkZW5vaXNlci5mcmFtZS5zc192KTsKCiAgdWludDhf
dCAqcyA9IHNyY1swXTsKICB1aW50OF90ICpzMiA9IHNyY1swXSsoZGVub2lzZXIuZnJhbWUudyk7
CiAgdWludDhfdCAqZCA9IGRzdFswXTsKCgoKICBmb3IgKHkgPSAwOyB5IDwgKGg+PjEpOyB5ICs9
IDEpCiAgewogICAgICBmb3IgKHggPSAwOyB4IDwgdzsgeCArPSAyKQogICAgICB7CiAgICAgICAg
ICAqKGQgKyAoeD4+MSkpID0KICAgICAgICAgICAgICAoCiAgICAgICAgICAgICAgICAgICoocyAr
IHggKSArCiAgICAgICAgICAgICAgICAgICoocyArIHggKyAxKSArCiAgICAgICAgICAgICAgICAg
ICooczIgKyB4ICkgKwogICAgICAgICAgICAgICAgICAqKHMyICsgeCArIDEpICsgMiApPj4yOwog
ICAgICB9CiAgICAgIHMrPTIqKGRlbm9pc2VyLmZyYW1lLncpOwogICAgICBzMis9MiooZGVub2lz
ZXIuZnJhbWUudyk7CiAgICAgIGQrPShkZW5vaXNlci5mcmFtZS53KTsKICB9CgoKCiAgcyA9IHNy
Y1sxXTsKICBzMiA9IHNyY1sxXSsoZGVub2lzZXIuZnJhbWUuQ3cpOwogIGQgPSBkc3RbMV07Cgog
IGZvciAoeSA9IDA7IHkgPCAoQ2g+PjEpOyB5ICs9IDEpCiAgewogICAgICBmb3IgKHggPSAwOyB4
IDwgQ3c7IHggKz0gMikKICAgICAgewogICAgICAgICAgKihkICsgKHg+PjEpKSA9CiAgICAgICAg
ICAgICAgKAogICAgICAgICAgICAgICAgICAqKHMgKyB4ICkgKwogICAgICAgICAgICAgICAgICAq
KHMgKyB4ICsgMSkgKwogICAgICAgICAgICAgICAgICAqKHMyICsgeCApICsKICAgICAgICAgICAg
ICAgICAgKihzMiArIHggKyAxKSArMiApPj4yOwogICAgICB9CiAgICAgIHMrPTIqKGRlbm9pc2Vy
LmZyYW1lLkN3KTsKICAgICAgczIrPTIqKGRlbm9pc2VyLmZyYW1lLkN3KTsKICAgICAgZCs9KGRl
bm9pc2VyLmZyYW1lLkN3KTsKICB9CgogIHMgPSBzcmNbMl07CiAgczIgPSBzcmNbMl0rKGRlbm9p
c2VyLmZyYW1lLkN3KTsKICBkID0gZHN0WzJdOwoKICBmb3IgKHkgPSAwOyB5IDwgKENoPj4xKTsg
eSArPSAxKQogIHsKICAgICAgZm9yICh4ID0gMDsgeCA8IEN3OyB4ICs9IDIpCiAgICAgIHsKICAg
ICAgICAgICooZCArICh4Pj4xKSkgPQogICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAg
KihzICsgeCApICsKICAgICAgICAgICAgICAgICAgKihzICsgeCArIDEpICsKICAgICAgICAgICAg
ICAgICAgKihzMiArIHggKSArCiAgICAgICAgICAgICAgICAgICooczIgKyB4ICsgMSkgKyAyICk+
PjI7CiAgICAgIH0KICAgICAgcys9MiooZGVub2lzZXIuZnJhbWUuQ3cpOwogICAgICBzMis9Mioo
ZGVub2lzZXIuZnJhbWUuQ3cpOwogICAgICBkKz0oZGVub2lzZXIuZnJhbWUuQ3cpOwogIH0KCn0K
IyAxMTQgIm1vdGlvbi5jIgp1aW50MzJfdApjYWxjX1NBRF9ub2FjY2VsICh1aW50OF90ICogZnJt
LCB1aW50OF90ICogcmVmKQp7CiAgdWludDhfdCBkeCA9IDA7CiAgdWludDhfdCBkeSA9IDA7CiAg
aW50MzJfdCBZID0gMDsKICB1aW50MzJfdCBkID0gMDsKCiAgZm9yKGR5PTA7ZHk8ODtkeSsrKQog
ICAgZm9yKGR4PTA7ZHg8ODtkeCsrKQogICAgewogICAgICBZPSooZnJtK2R4K2R5KmRlbm9pc2Vy
LmZyYW1lLncpLSoocmVmK2R4K2R5KmRlbm9pc2VyLmZyYW1lLncpOwogICAgICBkKz0oWTwwKT8g
LVk6WTsKICAgIH0KICByZXR1cm4gZDsKfQoKCgoKCgoKdWludDMyX3QKY2FsY19TQURfbW14ICh1
aW50OF90ICogZnJtLCB1aW50OF90ICogcmVmKQp7CiAgc3RhdGljIHVpbnQxNl90IGFbNF07CgoK
ICBfX2FzbV9fIF9fdm9sYXRpbGVfXwogICAgKAogICAgIiBweG9yICAgICAgICAlJW1tMCAsICUl
bW0wOyAgICAgICAgICAgLyogY2xlYXIgbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKICAgICIgcHhvciAgICAgICAgJSVtbTcgLCAlJW1tNzsgICAgICAg
ICAgIC8qIGNsZWFyIG1tNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCiAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAg
IiBtb3ZsICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVz
cyBpbnRvIGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92bCAgICAg
ICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYngg
ICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdmwgICAgICAgICAlMyAgICAs
ICUlZWN4OyAgICAgICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8gZWN4ICAgICAgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgogICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKICAgICIucmVwdCA4ICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qIExv
b3AgZm9yIDggbGluZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAg
ICAiIG1vdnEgICAgICAgICglJWVheCksICUlbW0xOyAgICAgICAgICAvKiA4IFBpeGVscyBmcm9t
IGZpbHRlcmVkIGZyYW1lIHRvIG1tMSAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBtb3ZxICAg
ICAgICAoJSVlYngpLCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSByZWZlcmVuY2Ug
ZnJhbWUgdG8gbW0yICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92cSAgICAgICAgICUlbW0y
ICwgJSVtbTM7ICAgICAgICAgIC8qIGhvbGQgYSBjb3B5IG9mIG1tMiBpbiBtbTMgICAgICAgICAg
ICAgICAgICAgICAgICAgICovXG4iCiAgICAiIHBzdWJ1c2IgICAgICAlJW1tMSAsICUlbW0zOyAg
ICAgICAgICAvKiBwb3NpdGl2ZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIG1tMiBhbmQgbW0xICAgICAg
ICAgICAqL1xuIgogICAgIiBwc3VidXNiICAgICAgJSVtbTIgLCAlJW1tMTsgICAgICAgICAgLyog
cG9zaXRpdmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtbTEgYW5kIG1tMyAgICAgICAgICAgKi9cbiIK
ICAgICIgcGFkZHVzYiAgICAgICUlbW0zICwgJSVtbTE7ICAgICAgICAgIC8qIG1tMSBub3cgY29u
dGFpbnMgYWJzKG1tMS1tbTIpICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdnEg
ICAgICAgICAlJW1tMSAsICUlbW0yOyAgICAgICAgICAvKiBjb3B5IG1tMSB0byBtbTIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBwdW5wY2tsYncgICAgJSVt
bTcgLCAlJW1tMTsgICAgICAgICAgLyogdW5wYWNrIG1tMSBpbnRvIG1tMSBhbmQgbW0yICAgICAg
ICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgcHVucGNraGJ3ICAgICUlbW03ICwgJSVtbTI7
ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovXG4iCiAgICAiIHBhZGR1c3cgICAgICAlJW1tMSAsICUlbW0wOyAgICAgICAgICAv
KiBhZGQgbW0xIChzdG9yZWQgaW4gbW0xIGFuZCBtbTIuLi4pICAgICAgICAgICAgICAgICAqL1xu
IgogICAgIiBwYWRkdXN3ICAgICAgJSVtbTIgLCAlJW1tMDsgICAgICAgICAgLyogdG8gbW0wICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgYWRk
bCAgICAgICAgICUlZWN4ICwgJSVlYXg7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZy
YW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIGFkZGwgICAgICAgICAl
JWVjeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3Mg
ICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLyogZW5kIGxvb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov
XG4iCiAgICAiIG1vdnEgICAgICAgICAlJW1tMCAsICUwICAgOyAgICAgICAgICAvKiBtYWtlIG1t
MCBhdmFpbGFibGUgdG8gZ2NjIC4uLiAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgOiI9
bSIgKGEpCiAgICA6Im0iIChmcm0pLCAibSIgKHJlZiksICJtIiAoZGVub2lzZXIuZnJhbWUudykK
ICAgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3giCiAgICApOwoKCiAgcmV0dXJuICh1aW50MzJfdCko
YVswXSthWzFdK2FbMl0rYVszXSk7Cn0KCgoKCgoKCnVpbnQzMl90CmNhbGNfU0FEX21teGUgKHVp
bnQ4X3QgKiBmcm0sIHVpbnQ4X3QgKiByZWYpCnsKICBzdGF0aWMgdWludDMyX3QgYTsKCgogIF9f
YXNtX18gX192b2xhdGlsZV9fCiAgICAoCiAgICAiIHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0w
OyAgICAgICAgICAvKiBjbGVhciBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqL1xuIgogICAgIiBtb3ZsICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAg
LyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9c
biIKICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJh
bWVhZHJlc3MgaW50byBlYnggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1v
dmwgICAgICAgICAlMyAgICAsICUlZWN4OyAgICAgICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGlu
dG8gZWN4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgLnJlcHQgOCAgICAgICAgICAgICAgICAg
ICA7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovXG4iCiAgICAiIG1vdnEgICAgICAgICglJWVheCksICUlbW0xOyAgICAgICAg
ICAvKiA4IFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMSAgICAgICAgICAgICAgICAq
L1xuIgogICAgIiBwc2FkYncgICAgICAoJSVlYngpLCAlJW1tMTsgICAgICAgICAgLyogOCBQaXhl
bHMgZGlmZmVyZW5jZSB0byBtbTEgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIg
cGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAgICAgIC8qIGFkZCByZXN1bHQgdG8gbW0w
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIGFkZGwgICAgICAg
ICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJl
c3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAl
JWVieDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKICAgICIgLmVuZHIgICAgICAgICAgICAgICAgICAgICA7ICAgICAg
ICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCiAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAg
IiBtb3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAgICAgICAgLyogbWFrZSBtbTAgYXZhaWxh
YmxlIHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgIDoiPW0iIChhKQog
ICAgOiJtIiAoZnJtKSwgIm0iIChyZWYpLCAibSIgKGRlbm9pc2VyLmZyYW1lLncpCiAgICA6IiVl
YXgiLCAiJWVieCIsICIlZWN4IgogICAgKTsKCiAgcmV0dXJuIGE7Cn0KIyAyMjEgIm1vdGlvbi5j
Igp1aW50MzJfdApjYWxjX1NBRF91dl9ub2FjY2VsICh1aW50OF90ICogZnJtLCB1aW50OF90ICog
cmVmKQp7CiAgcmVnaXN0ZXIgdWludDhfdCBkeCA9IDA7CiAgcmVnaXN0ZXIgdWludDhfdCBkeSA9
IDA7CiAgaW50MzJfdCBZID0gMDsKICB1aW50MzJfdCBkID0gMDsKCiAgZm9yKGR5PTA7ZHk8OC8o
ZGVub2lzZXIuZnJhbWUuc3Nfdik7ZHkrKykKICAgIGZvcihkeD0wO2R4PDgvKGRlbm9pc2VyLmZy
YW1lLnNzX2gpO2R4KyspCiAgICB7CiAgICAgIFk9Kihmcm0rZHgrZHkqKGRlbm9pc2VyLmZyYW1l
LkN3KSktKihyZWYrZHgrZHkqKGRlbm9pc2VyLmZyYW1lLkN3KSk7CiAgICAgIGQrPShZPDApPyAt
WTpZOwogICAgfQogIHJldHVybiBkOwp9CgoKCgoKCgp1aW50MzJfdApjYWxjX1NBRF91djQyMF9t
bXggKHVpbnQ4X3QgKiBmcm0sIHVpbnQ4X3QgKiByZWYpCnsKICBzdGF0aWMgdWludDE2X3QgYVs0
XTsKCgogIGludDMyX3QgaGFsZndpZHRoID0gZGVub2lzZXIuZnJhbWUudyAvIDI7CiAgX19hc21f
XyBfX3ZvbGF0aWxlX18KICAgICgKICAgICIgcHhvciAgICAgICAgJSVtbTAgLCAlJW1tMDsgICAg
ICAgICAgIC8qIGNsZWFyIG1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCiAgICAiIHB4b3IgICAgICAgICUlbW03ICwgJSVtbTc7ICAgICAgICAgICAvKiBj
bGVhciBtbTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgog
ICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92bCAg
ICAgICAgICUxICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBl
YXggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdmwgICAgICAgICAlMiAg
ICAsICUlZWJ4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWJ4ICAgICAgICAg
ICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBtb3ZsICAgICAgICAgJTMgICAgLCAlJWVjeDsg
ICAgICAgICAgLyogbG9hZCB3aWR0aCAgICAgICBpbnRvIGVjeCAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi9cbiIKICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4i
CiAgICAiLnJlcHQgNCAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiBMb29wIGZvciA0
IGxpbmVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBtb3Zk
ICAgICAgICAoJSVlYXgpLCAlJW1tMTsgICAgICAgICAgLyogNCBQaXhlbHMgZnJvbSBmaWx0ZXJl
ZCBmcmFtZSB0byBtbTEgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92ZCAgICAgICAgKCUl
ZWJ4KSwgJSVtbTI7ICAgICAgICAgIC8qIDQgUGl4ZWxzIGZyb20gcmVmZXJlbmNlIGZyYW1lIHRv
IG1tMiAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdnEgICAgICAgICAlJW1tMiAsICUlbW0z
OyAgICAgICAgICAvKiBob2xkIGEgY29weSBvZiBtbTIgaW4gbW0zICAgICAgICAgICAgICAgICAg
ICAgICAgICAqL1xuIgogICAgIiBwc3VidXNiICAgICAgJSVtbTEgLCAlJW1tMzsgICAgICAgICAg
LyogcG9zaXRpdmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtbTIgYW5kIG1tMSAgICAgICAgICAgKi9c
biIKICAgICIgcHN1YnVzYiAgICAgICUlbW0yICwgJSVtbTE7ICAgICAgICAgIC8qIHBvc2l0aXZl
IGRpZmZlcmVuY2VzIGJldHdlZW4gbW0xIGFuZCBtbTMgICAgICAgICAgICovXG4iCiAgICAiIHBh
ZGR1c2IgICAgICAlJW1tMyAsICUlbW0xOyAgICAgICAgICAvKiBtbTIgbm93IGNvbnRhaW5zIGFi
cyhtbTEtbW0yKSAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBtb3ZxICAgICAgICAg
JSVtbTEgLCAlJW1tMjsgICAgICAgICAgLyogY29weSBtbTEgdG8gbW0yICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgcHVucGNrbGJ3ICAgICUlbW03ICwgJSVt
bTE7ICAgICAgICAgIC8qIHVucGFjayBtbTEgaW50byBtbTEgYW5kIG1tMiAgICAgICAgICAgICAg
ICAgICAgICAgICovXG4iCiAgICAiIHB1bnBja2hidyAgICAlJW1tNyAsICUlbW0yOyAgICAgICAg
ICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgIiBwYWRkdXN3ICAgICAgJSVtbTEgLCAlJW1tMjsgICAgICAgICAgLyogYWRkIG1t
MSAoc3RvcmVkIGluIG1tMSBhbmQgbW0yLi4uKSAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIg
cGFkZHVzdyAgICAgICUlbW0yICwgJSVtbTA7ICAgICAgICAgIC8qIHRvIG1tMCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIGFkZGwgICAgICAg
ICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJl
c3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAl
JWVieDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKICAgICIgLmVuZHIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8qIGVuZCBsb29wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCiAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAg
IiBtb3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAgICAgICAgLyogbWFrZSBtbTAgYXZhaWxh
YmxlIHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgIDoiPW0iIChhKQog
ICAgOiJtIiAoZnJtKSwgIm0iIChyZWYpLCAibSIgKGhhbGZ3aWR0aCkKICAgIDoiJWVheCIsICIl
ZWJ4IiwgIiVlY3giCiAgICApOwoKICByZXR1cm4gKHVpbnQzMl90KShhWzBdK2FbMV0rYVsyXSth
WzNdKTsKfQoKCgoKCgoKdWludDMyX3QKY2FsY19TQURfdXY0MTFfbW14ICh1aW50OF90ICogZnJt
LCB1aW50OF90ICogcmVmKQp7CiAgc3RhdGljIHVpbnQxNl90IGFbOF07CgoKICBfX2FzbV9fIF9f
dm9sYXRpbGVfXwogICAgKAogICAgIiBweG9yICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAgICAg
ICAgLyogY2xlYXIgbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKICAgICIgcHhvciAgICAgICAgJSVtbTcgLCAlJW1tNzsgICAgICAgICAgIC8qIGNsZWFy
IG1tNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAi
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBtb3ZsICAgICAg
ICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92bCAgICAgICAgICUyICAgICwg
JSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYnggICAgICAgICAgICAg
ICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdmwgICAgICAgICAlMyAgICAsICUlZWN4OyAgICAg
ICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8gZWN4ICAgICAgICAgICAgICAgICAgICAgICAg
ICAqL1xuIgogICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAg
ICIucmVwdCA4ICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qIExvb3AgZm9yIDggbGlu
ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdncgICAg
ICAgICglJWVheCksICAlJWR4OyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBtb3ZkICAgICAgICAgJSVlZHgg
LCAlJW1tMTsgICAgICAgICAgLyogMiBQaXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTEg
ICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92dyAgICAgICAgKCUlZWJ4KSwgICUlZHg7ICAg
ICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCiAgICAiIG1vdmQgICAgICAgICAlJWVkeCAsICUlbW0yOyAgICAgICAgICAvKiAy
IFBpeGVscyBmcm9tIHJlZmVyZW5jZSBmcmFtZSB0byBtbTIgICAgICAgICAgICAgICAqL1xuIgog
ICAgIiBtb3ZxICAgICAgICAgJSVtbTIgLCAlJW1tMzsgICAgICAgICAgLyogaG9sZCBhIGNvcHkg
b2YgbW0yIGluIG1tMyAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgcHN1YnVz
YiAgICAgICUlbW0xICwgJSVtbTM7ICAgICAgICAgIC8qIHBvc2l0aXZlIGRpZmZlcmVuY2VzIGJl
dHdlZW4gbW0yIGFuZCBtbTEgICAgICAgICAgICovXG4iCiAgICAiIHBzdWJ1c2IgICAgICAlJW1t
MiAsICUlbW0xOyAgICAgICAgICAvKiBwb3NpdGl2ZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIG1tMSBh
bmQgbW0zICAgICAgICAgICAqL1xuIgogICAgIiBwYWRkdXNiICAgICAgJSVtbTMgLCAlJW1tMTsg
ICAgICAgICAgLyogbW0yIG5vdyBjb250YWlucyBhYnMobW0xLW1tMikgICAgICAgICAgICAgICAg
ICAgICAgKi9cbiIKICAgICIgbW92cSAgICAgICAgICUlbW0xICwgJSVtbTI7ICAgICAgICAgIC8q
IGNvcHkgbW0xIHRvIG1tMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4i
CiAgICAiIHB1bnBja2xidyAgICAlJW1tNyAsICUlbW0xOyAgICAgICAgICAvKiB1bnBhY2sgbW0x
IGludG8gbW0xIGFuZCBtbTIgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBwdW5w
Y2toYncgICAgJSVtbTcgLCAlJW1tMjsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgcGFkZHVzdyAgICAgICUl
bW0xICwgJSVtbTI7ICAgICAgICAgIC8qIGFkZCBtbTEgKHN0b3JlZCBpbiBtbTEgYW5kIG1tMi4u
LikgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIHBhZGR1c3cgICAgICAlJW1tMiAsICUlbW0w
OyAgICAgICAgICAvKiB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqL1xuIgogICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVheDsgICAgICAgICAg
LyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9c
biIKICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8qIGFkZCBmcmFt
ZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIC5l
bmRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBlbmQgbG9vcCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92cSAgICAgICAgICUlbW0wICwgJTAg
ICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2YWlsYWJsZSB0byBnY2MgLi4uICAgICAgICAgICAg
ICAgICAgICAgICovXG4iCiAgICA6Ij1tIiAoYSkKICAgIDoibSIgKGZybSksICJtIiAocmVmKSwg
Im0iICgoZGVub2lzZXIuZnJhbWUuQ3cpKQogICAgOiIlZWF4IiwgIiVlYngiLCAiJWVjeCIKICAg
ICk7CgogIHJldHVybiAodWludDMyX3QpKGFbMF0rYVsxXSthWzJdK2FbM10rYVs0XSthWzVdK2Fb
Nl0rYVs3XSk7Cn0KIyAzNDAgIm1vdGlvbi5jIgp1aW50MzJfdApjYWxjX1NBRF91djQyMF9tbXhl
ICh1aW50OF90ICogZnJtLCB1aW50OF90ICogcmVmKQp7CiAgc3RhdGljIHVpbnQzMl90IGE7CgoK
ICBpbnQzMl90IGhhbGZ3aWR0aCA9IGRlbm9pc2VyLmZyYW1lLncgLyAyOwogIF9fYXNtX18gX192
b2xhdGlsZV9fCiAgICAoCiAgICAiIHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAgICAg
ICAvKiBjbGVhciBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgIiBtb3ZsICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBm
cmFtZWFkcmVzcyBpbnRvIGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIg
bW92bCAgICAgICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3Mg
aW50byBlYnggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdmwgICAgICAg
ICAlMyAgICAsICUlZWN4OyAgICAgICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8gZWN4ICAg
ICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKICAgICIgLnJlcHQgNCAgICAgICAgICAgICAgICAgICA7ICAgICAg
ICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCiAgICAiIG1vdmQgICAgICAgICglJWVheCksICUlbW0xOyAgICAgICAgICAvKiA0IFBp
eGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMSAgICAgICAgICAgICAgICAqL1xuIgogICAg
IiBtb3ZkICAgICAgICAoJSVlYngpLCAlJW1tMjsgICAgICAgICAgLyogNCBQaXhlbHMgZnJvbSBm
aWx0ZXJlZCBmcmFtZSB0byBtbTIgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgcHNhZGJ3ICAg
ICAgICUlbW0yICwgJSVtbTE7ICAgICAgICAgIC8qIDQgUGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0x
ICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIHBhZGR1c3cgICAgICAlJW1tMSAs
ICUlbW0wOyAgICAgICAgICAvKiBhZGQgcmVzdWx0IHRvIG1tMCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgogICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVheDsgICAg
ICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8qIGFk
ZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCiAg
ICAiIC5lbmRyICAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92cSAgICAgICAgICUlbW0w
ICwgJTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2YWlsYWJsZSB0byBnY2MgLi4uICAgICAg
ICAgICAgICAgICAgICAgICovXG4iCiAgICA6Ij1tIiAoYSkKICAgIDoibSIgKGZybSksICJtIiAo
cmVmKSwgIm0iIChoYWxmd2lkdGgpCiAgICA6IiVlYXgiLCAiJWVieCIsICIlZWN4IgogICAgKTsK
CiAgcmV0dXJuIGE7Cn0KCgoKCgoKCnVpbnQzMl90CmNhbGNfU0FEX3V2NDExX21teGUgKHVpbnQ4
X3QgKiBmcm0sIHVpbnQ4X3QgKiByZWYpCnsKICBzdGF0aWMgdWludDMyX3QgYTsKCgogIF9fYXNt
X18gX192b2xhdGlsZV9fCiAgICAoCiAgICAiIHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0wOyAg
ICAgICAgICAvKiBjbGVhciBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqL1xuIgogICAgIiBtb3ZsICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyog
bG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIK
ICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVh
ZHJlc3MgaW50byBlYnggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdmwg
ICAgICAgICAlMyAgICAsICUlZWN4OyAgICAgICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8g
ZWN4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgLnJlcHQgOCAgICAgICAgICAgICAgICAgICA7
ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovXG4iCiAgICAiIG1vdncgICAgICAgICglJWVheCksICAlJWR4OyAgICAgICAgICAv
KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xu
IgogICAgIiBtb3ZkICAgICAgICAgJSVlZHggLCAlJW1tMTsgICAgICAgICAgLyogMiBQaXhlbHMg
ZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgbW92
dyAgICAgICAgKCUlZWJ4KSwgICUlZHg7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiIG1vdmQgICAgICAgICAl
JWVkeCAsICUlbW0yOyAgICAgICAgICAvKiAyIFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRv
IG1tMiAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBwc2FkYncgICAgICAgJSVtbTIgLCAlJW1t
MTsgICAgICAgICAgLyogMiBQaXhlbHMgZGlmZmVyZW5jZSB0byBtbTEgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAgICAg
IC8qIGFkZCByZXN1bHQgdG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov
XG4iCiAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQgZnJh
bWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIiBh
ZGRsICAgICAgICAgJSVlY3ggLCAlJWVieDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8g
ZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICIgLmVuZHIgICAgICAg
ICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAiICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogICAgIiBtb3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAgICAg
ICAgLyogbWFrZSBtbTAgYXZhaWxhYmxlIHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKICAgIDoiPW0iIChhKQogICAgOiJtIiAoZnJtKSwgIm0iIChyZWYpLCAibSIgKChkZW5v
aXNlci5mcmFtZS5DdykpCiAgICA6IiVlYXgiLCAiJWVieCIsICIlZWN4IgogICAgKTsKCiAgcmV0
dXJuIGE7Cn0KCgoKCgoKCnVpbnQzMl90CmNhbGNfU0FEX2hhbGZfbm9hY2NlbCAodWludDhfdCAq
IHJlZiwgdWludDhfdCAqIGZybTEsIHVpbnQ4X3QgKiBmcm0yKQp7CiAgdWludDhfdCBkeCA9IDA7
CiAgdWludDhfdCBkeSA9IDA7CiAgaW50MzJfdCBZID0gMDsKICB1aW50MzJfdCBkID0gMDsKCiAg
Zm9yKGR5PTA7ZHk8ODtkeSsrKQogICAgZm9yKGR4PTA7ZHg8ODtkeCsrKQogICAgewogICAgICBZ
PSgoKihmcm0xK2R4K2R5KmRlbm9pc2VyLmZyYW1lLncpKyooZnJtMitkeCtkeSpkZW5vaXNlci5m
cmFtZS53KSk+PjEpLSoocmVmK2R4K2R5KmRlbm9pc2VyLmZyYW1lLncpOwogICAgICBkKz0oWTww
KT8gLVk6WTsKICAgIH0KICByZXR1cm4gZDsKfQoKCgoKCgoKdWludDMyX3QKY2FsY19TQURfaGFs
Zl9tbXggKHVpbnQ4X3QgKiByZWYsIHVpbnQ4X3QgKiBmcm0xLCB1aW50OF90ICogZnJtMikKewog
IHN0YXRpYyB1aW50MzJfdCBhOwoKICBzdGF0aWMgdWludDMyX3QgYml0X21hc2tbMl0gPSB7MHg3
ZjdmN2Y3ZiwweDdmN2Y3ZjdmfTsKCiAgX19hc21fXyBfX3ZvbGF0aWxlX18KICAgICAgKAogICAg
ICAgICAgIiBweG9yICAgICAgICAgJSVtbTAgLCAlJW1tMDsgICAgICAgICAgLyogY2xlYXIgbW0w
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAgICAgICAgICAi
IG1vdmwgICAgICAgICAlMSAgICAsICUlZWF4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNz
IGludG8gZWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAqLyIKICAgICAgICAgICIgbW92bCAg
ICAgICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBl
YnggICAgICAgICAgICAgICAgICAgICAgICAgICovIgogICAgICAgICAgIiBtb3ZsICAgICAgICAg
JTMgICAgLCAlJWVjeDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVjeCAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi8iCiAgICAgICAgICAiIG1vdmwgICAgICAgICAlNCAgICAs
ICUlZWR4OyAgICAgICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8gZWR4ICAgICAgICAgICAg
ICAgICAgICAgICAgICAqLyIKICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICA7
ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovIgogICAgICAgICAgIiAucmVwdCA4ICAgICAgICAgICAgICAgICAgIDsgICAgICAg
ICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki8iCiAgICAgICAgICAiIG1vdnEgICAgICAgICglJWVheCksICUlbW0xOyAgICAgICAgICAvKiA4
IFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMSAgICAgICAgICAgICAgICAqLyIKICAg
ICAgICAgICIgbW92cSAgICAgICAgKCUlZWJ4KSwgJSVtbTI7ICAgICAgICAgIC8qIDggUGl4ZWxz
IGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0yIChkaXNwbGFjZWQpICAgICovIgogICAgICAgICAg
IiBtb3ZxICAgICAgICAoJSVlY3gpLCAlJW1tMzsgICAgICAgICAgLyogcmVmZXJlbmNlIHRvIG1t
MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAgICAgICAgICAiIHBzcmxx
ICAgICAgICAkMSAgICAsICUlbW0xOyAgICAgICAgICAvKiBhdmVyYWdlIHNvdXJjZSBwaXhlbHMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLyIKICAgICAgICAgICIgcHNybHEgICAgICAg
ICQxICAgICwgJSVtbTI7ICAgICAgICAgIC8qIHNoaWZ0IHJpZ2h0IGJ5IG9uZSAoZGl2aWRlIGJ5
IHR3bykgICAgICAgICAgICAgICAgICovIgogICAgICAgICAgIiBwYW5kICAgICAgICAgJTUgICAg
LCAlJW1tMTsgICAgICAgICAgLyoga2lsbCBkb3duc2hpZnRlZCBiaXRzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi8iCiAgICAgICAgICAiIHBhbmQgICAgICAgICAlNSAgICAsICUlbW0y
OyAgICAgICAgICAvKiBraWxsIGRvd25zaGlmdGVkIGJpdHMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqLyIKICAgICAgICAgICIgcGFkZHVzdyAgICAgICUlbW0yICwgJSVtbTE7ICAgICAg
ICAgIC8qIGFkZCB1cCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovIgoKICAgICAgICAgICIgbW92cSAgICAgICAgICUlbW0zICwgJSVtbTQ7ICAgICAgICAgIC8q
IGNvcHkgcmVmZXJlbmNlIHRvIG1tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovIgog
ICAgICAgICAgIiBwc3VidXNiICAgICAgJSVtbTEgLCAlJW1tMzsgICAgICAgICAgLyogcG9zaXRp
dmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtbTIgYW5kIG1tMSAqLyIKICAgICAgICAgICIgcHN1YnVz
YiAgICAgICUlbW00ICwgJSVtbTE7ICAgICAgICAgIC8qIHBvc2l0aXZlIGRpZmZlcmVuY2VzIGJl
dHdlZW4gbW0xIGFuZCBtbTMgKi8iCiAgICAgICAgICAiIHBhZGR1c2IgICAgICAlJW1tMyAsICUl
bW0xOyAgICAgICAgICAvKiBtbTEgbm93IGNvbnRhaW5zIGFicyhtbTEtbW0yKSAqLyIKICAgICAg
ICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAgICAgIC8qIGFkZCByZXN1bHQg
dG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovIgogICAgICAgICAgIiBh
ZGRsICAgICAgICAgJSVlZHggLCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8g
ZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi8iCiAgICAgICAgICAiIGFkZGwgICAg
ICAgICAlJWVkeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFk
ZHJlc3MgICAgICAgICAgICAgICAgICAgICAqLyIKICAgICAgICAgICIgYWRkbCAgICAgICAgICUl
ZWR4ICwgJSVlY3g7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAg
ICAgICAgICAgICAgICAgICAgICovIgogICAgICAgICAgIiAuZW5kciAgICAgICAgICAgICAgICAg
ICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi8iCiAgICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqLyIKICAgICAgICAgICIgbW92cSAgICAgICAgICUlbW0wICwgJTAgICA7ICAgICAgICAg
IC8qIG1ha2UgbW0wIGF2YWlsYWJsZSB0byBnY2MgLi4uICAgICAgICAgICAgICAgICAgICAgICov
IgogICAgICAgICAgOiI9bSIgKGEpCiAgICAgICAgICA6Im0iIChmcm0xKSwibSIgKGZybTIpLCAi
bSIgKHJlZiksICJtIiAoZGVub2lzZXIuZnJhbWUudyksICJtIiAoKmJpdF9tYXNrKQogICAgICAg
ICAgOiIlZWF4IiwgIiVlYngiLCAiJWVjeCIsICIlZWR4IgogICAgICAgICAgKTsKCiAgcmV0dXJu
IGE7Cn0KCgoKCgoKCnVpbnQzMl90CmNhbGNfU0FEX2hhbGZfbW14ZSAodWludDhfdCAqIHJlZiwg
dWludDhfdCAqIGZybTEsIHVpbnQ4X3QgKiBmcm0yKQp7CiAgc3RhdGljIHVpbnQzMl90IGE7CgoK
ICBfX2FzbV9fIF9fdm9sYXRpbGVfXwogICAgICAoCiAgICAgICAgICAiIHB4b3IgICAgICAgICAl
JW1tMCAsICUlbW0wOyAgICAgICAgICAvKiBjbGVhciBtbTAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICAgICAgIiBtb3ZsICAgICAgICAgJTEgICAg
LCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi9cbiIKICAgICAgICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVl
Yng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYnggICAgICAgICAgICAgICAg
ICAgICAgICAgICovXG4iCiAgICAgICAgICAiIG1vdmwgICAgICAgICAlMyAgICAsICUlZWN4OyAg
ICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWN4ICAgICAgICAgICAgICAgICAgICAg
ICAgICAqL1xuIgogICAgICAgICAgIiBtb3ZsICAgICAgICAgJTQgICAgLCAlJWVkeDsgICAgICAg
ICAgLyogbG9hZCB3aWR0aCAgICAgICBpbnRvIGVkeCAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8q
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4i
CiAgICAgICAgICAiIC5yZXB0IDggICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAg
ICAgICAgIiBtb3ZxICAgICAgICAoJSVlYXgpLCAlJW1tMTsgICAgICAgICAgLyogOCBQaXhlbHMg
ZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAgICAgICAgICAgKi9cbiIKICAgICAgICAg
ICIgbW92cSAgICAgICAgKCUlZWJ4KSwgJSVtbTI7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20g
ZmlsdGVyZWQgZnJhbWUgdG8gbW0yIChkaXNwbGFjZWQpICAgICovXG4iCiAgICAgICAgICAiIG1v
dnEgICAgICAgICglJWVjeCksICUlbW0zOyAgICAgICAgICAvKiA4IFBpeGVscyBmcm9tIHJlZmVy
ZW5jZSBmcmFtZSB0byBtbTMgICAgICAgICAgICAgICAqL1xuIgogICAgICAgICAgIiBwYXZnYiAg
ICAgICAgJSVtbTIgLCAlJW1tMTsgICAgICAgICAgLyogYXZlcmFnZSBzb3VyY2UgcGl4ZWxzICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAgICAgICIgcHNhZGJ3ICAgICAg
ICUlbW0zICwgJSVtbTE7ICAgICAgICAgIC8qIDggUGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0xICAg
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgICAgICAiIHBhZGR1c3cgICAgICAlJW1t
MSAsICUlbW0wOyAgICAgICAgICAvKiBhZGQgcmVzdWx0IHRvIG1tMCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAqL1xuIgogICAgICAgICAgIiBhZGRsICAgICAgICAgJSVlZHggLCAl
JWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKICAgICAgICAgICIgYWRkbCAgICAgICAgICUlZWR4ICwgJSVlYng7
ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAg
ICAgICAgICovXG4iCiAgICAgICAgICAiIGFkZGwgICAgICAgICAlJWVkeCAsICUlZWN4OyAgICAg
ICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAg
ICAqL1xuIgogICAgICAgICAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAg
LyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9c
biIKICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAg
ICAgICAgICAiIG1vdnEgICAgICAgICAlJW1tMCAsICUwICAgOyAgICAgICAgICAvKiBtYWtlIG1t
MCBhdmFpbGFibGUgdG8gZ2NjIC4uLiAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICAg
ICAgOiI9bSIgKGEpCiAgICAgICAgICA6Im0iIChmcm0xKSwibSIgKGZybTIpLCAibSIgKHJlZiks
ICJtIiAoZGVub2lzZXIuZnJhbWUudykKICAgICAgICAgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3gi
LCAiJWVkeCIKICAgICAgICAgICk7CgogIHJldHVybiBhOwp9CgoKCgoKCgp2b2lkCm1iX3NlYXJj
aF80NCAodWludDE2X3QgeCwgdWludDE2X3QgeSkKewogIHVpbnQzMl90IGJlc3RfU0FEPTB4MDBm
ZmZmZmY7CiAgdWludDMyX3QgU0FEPTB4MDBmZmZmZmY7CiAgdWludDMyX3QgU0FEX3V2PTB4MDBm
ZmZmZmY7CiAgdWludDhfdCByYWRpdXMgPSBkZW5vaXNlci5yYWRpdXM+PjI7CiAgaW50MzJfdCBN
Ql9yZWZfb2Zmc2V0ID0gZGVub2lzZXIuZnJhbWUudyAqICh5Pj4yKSArICh4Pj4yKTsKICBpbnQz
Ml90IE1CX2F2Z19vZmZzZXQ7CiAgaW50MzJfdCBNQl9yZWZfb2Zmc2V0X3V2ID0gKGRlbm9pc2Vy
LmZyYW1lLkN3KSAqICh5Pj4yKS8oZGVub2lzZXIuZnJhbWUuc3NfdikgKyAoeD4+MikvKGRlbm9p
c2VyLmZyYW1lLnNzX2gpOwogIGludDMyX3QgTUJfYXZnX29mZnNldF91djsKICBpbnQzMl90IGxh
c3RfdXZfb2Zmc2V0PTA7CiAgaW50MTZfdCB4eDsKICBpbnQxNl90IHl5OwoKICBTQUQgPSBjYWxj
X1NBRCAoIGRlbm9pc2VyLmZyYW1lLnN1YjRyZWZbMF0rTUJfcmVmX29mZnNldCwKICAgICAgICAg
ICAgICAgICAgIGRlbm9pc2VyLmZyYW1lLnN1YjRhdmdbMF0rTUJfcmVmX29mZnNldCApOwoKICBT
QUQgKz0gY2FsY19TQURfdXYgKCBkZW5vaXNlci5mcmFtZS5zdWI0cmVmWzFdK01CX3JlZl9vZmZz
ZXRfdXYsCiAgICAgICAgICAgICAgICAgICAgICAgZGVub2lzZXIuZnJhbWUuc3ViNGF2Z1sxXStN
Ql9yZWZfb2Zmc2V0X3V2ICk7CiAgU0FEICs9IGNhbGNfU0FEX3V2ICggZGVub2lzZXIuZnJhbWUu
c3ViNHJlZlsyXStNQl9yZWZfb2Zmc2V0X3V2LAogICAgICAgICAgICAgICAgICAgICAgIGRlbm9p
c2VyLmZyYW1lLnN1YjRhdmdbMl0rTUJfcmVmX29mZnNldF91diApOwoKICBmb3IoeXk9LXJhZGl1
czt5eTw9cmFkaXVzO3l5KyspCiAgICBmb3IoeHg9LXJhZGl1czt4eDw9cmFkaXVzO3h4KyspCiAg
ICB7CiAgICAgIE1CX2F2Z19vZmZzZXQgPSBNQl9yZWZfb2Zmc2V0Kyh4eCkrKHl5KmRlbm9pc2Vy
LmZyYW1lLncpOwogICAgICBNQl9hdmdfb2Zmc2V0X3V2ID0gTUJfcmVmX29mZnNldF91disoeHgv
KGRlbm9pc2VyLmZyYW1lLnNzX2gpKSsoKHl5LyhkZW5vaXNlci5mcmFtZS5zc192KSkqZGVub2lz
ZXIuZnJhbWUuQ3cpOwoKICAgICAgU0FEID0gY2FsY19TQUQgKCBkZW5vaXNlci5mcmFtZS5zdWI0
cmVmWzBdK01CX3JlZl9vZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgZGVub2lzZXIuZnJh
bWUuc3ViNGF2Z1swXStNQl9hdmdfb2Zmc2V0ICk7CgogICAgICBpZihNQl9yZWZfb2Zmc2V0X3V2
ICE9IGxhc3RfdXZfb2Zmc2V0KQogICAgICAgIHsKICAgICAgICAgIGxhc3RfdXZfb2Zmc2V0PU1C
X3JlZl9vZmZzZXRfdXY7CiAgICAgICAgICBTQURfdXYgPSBjYWxjX1NBRF91diAoIGRlbm9pc2Vy
LmZyYW1lLnN1YjRyZWZbMV0rTUJfcmVmX29mZnNldF91diwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGVub2lzZXIuZnJhbWUuc3ViNGF2Z1sxXStNQl9hdmdfb2Zmc2V0X3V2ICk7
CiAgICAgICAgICBTQURfdXYgKz0gY2FsY19TQURfdXYgKCBkZW5vaXNlci5mcmFtZS5zdWI0cmVm
WzJdK01CX3JlZl9vZmZzZXRfdXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZW5vaXNlci5mcmFtZS5zdWI0YXZnWzJdK01CX2F2Z19vZmZzZXRfdXYgKTsKICAgICAgICB9CiAg
ICAgICAgU0FEICs9IFNBRF91djsKCiAgICAgIFNBRCArPSB4eCp4eCArIHl5Knl5OwoKICAgICAg
aWYoU0FEPD1iZXN0X1NBRCkKICAgICAgewogICAgICAgIGJlc3RfU0FEID0gU0FEOwoKICAgICAg
ICB2ZWN0b3IueCA9IHh4OwogICAgICAgIHZlY3Rvci55ID0geXk7CiAgICAgIH0KICAgIH0KfQoK
CgoKCgoKdm9pZAptYl9zZWFyY2hfMjIgKHVpbnQxNl90IHgsIHVpbnQxNl90IHkpCnsKICB1aW50
MzJfdCBiZXN0X1NBRD0weDAwZmZmZmZmOwogIHVpbnQzMl90IFNBRD0weDAwZmZmZmZmOwogIHVp
bnQzMl90IFNBRF91dj0weDAwZmZmZmZmOwogIGludDMyX3QgTUJfcmVmX29mZnNldCA9IGRlbm9p
c2VyLmZyYW1lLncgKiAoeT4+MSkgKyAoeD4+MSk7CiAgaW50MzJfdCBNQl9hdmdfb2Zmc2V0Owog
IGludDMyX3QgTUJfcmVmX29mZnNldF91diA9IChkZW5vaXNlci5mcmFtZS5DdykgKiAoeT4+MSkv
KGRlbm9pc2VyLmZyYW1lLnNzX3YpICsgKHg+PjEpLyhkZW5vaXNlci5mcmFtZS5zc19oKTsKICBp
bnQzMl90IE1CX2F2Z19vZmZzZXRfdXY7CiAgaW50MzJfdCBsYXN0X3V2X29mZnNldD0wOwogIGlu
dDE2X3QgeHg7CiAgaW50MTZfdCB5eTsKICBpbnQxNl90IHZ4PXZlY3Rvci54PDwxOwogIGludDE2
X3Qgdnk9dmVjdG9yLnk8PDE7CgoKCiAgZm9yKHl5PS0yO3l5PD0yO3l5KyspCiAgICBmb3IoeHg9
LTI7eHg8PTI7eHgrKykKICAgIHsKICAgICAgTUJfYXZnX29mZnNldD1NQl9yZWZfb2Zmc2V0Kyh4
eCt2eCkrKCh5eSt2eSkqZGVub2lzZXIuZnJhbWUudyk7CgogICAgICBNQl9hdmdfb2Zmc2V0X3V2
ID0gTUJfcmVmX29mZnNldF91disoKHh4K3Z4KS8oZGVub2lzZXIuZnJhbWUuc3NfaCkpKygoeXkr
dnkpLyhkZW5vaXNlci5mcmFtZS5zc192KSkqKGRlbm9pc2VyLmZyYW1lLkN3KTsKCiAgICAgIFNB
RCA9IGNhbGNfU0FEICggZGVub2lzZXIuZnJhbWUuc3ViMnJlZlswXStNQl9yZWZfb2Zmc2V0LAog
ICAgICAgICAgICAgICAgICAgICAgIGRlbm9pc2VyLmZyYW1lLnN1YjJhdmdbMF0rTUJfYXZnX29m
ZnNldCApOwoKICAgICAgaWYoTUJfcmVmX29mZnNldF91diAhPSBsYXN0X3V2X29mZnNldCkKICAg
ICAgewogICAgICAgIGxhc3RfdXZfb2Zmc2V0PU1CX3JlZl9vZmZzZXRfdXY7CiAgICAgICAgU0FE
X3V2ID0gY2FsY19TQURfdXYgKCBkZW5vaXNlci5mcmFtZS5zdWIycmVmWzFdK01CX3JlZl9vZmZz
ZXRfdXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZW5vaXNlci5mcmFtZS5zdWIy
YXZnWzFdK01CX2F2Z19vZmZzZXRfdXYgKTsKICAgICAgICBTQURfdXYgKz0gY2FsY19TQURfdXYg
KCBkZW5vaXNlci5mcmFtZS5zdWIycmVmWzJdK01CX3JlZl9vZmZzZXRfdXYsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGVub2lzZXIuZnJhbWUuc3ViMmF2Z1syXStNQl9hdmdfb2Zm
c2V0X3V2ICk7CiAgICAgIH0KICAgICAgU0FEICs9IFNBRF91djsKCiAgICAgIGlmKFNBRDw9YmVz
dF9TQUQpCiAgICAgIHsKICAgICAgICBiZXN0X1NBRCA9IFNBRDsKCiAgICAgICAgdmFycmF5MjJb
Ml09dmFycmF5MjJbMV07CiAgICAgICAgdmFycmF5MjJbMV09dmFycmF5MjJbMF07CgogICAgICAg
IHZhcnJheTIyWzBdLnggPSB4eCt2eDsKICAgICAgICB2YXJyYXkyMlswXS55ID0geXkrdnk7CiAg
ICAgICAgdmVjdG9yLnggPSB4eCt2eDsKICAgICAgICB2ZWN0b3IueSA9IHl5K3Z5OwogICAgICB9
CiAgICB9Cn0KIyA2NTIgIm1vdGlvbi5jIgp2b2lkCm1iX3NlYXJjaF8xMSAodWludDE2X3QgeCwg
dWludDE2X3QgeSkKewogIHVpbnQzMl90IGJlc3RfU0FEID0gMHgwMGZmZmZmZjsKICB1aW50MzJf
dCBTQUQ9MHgwMGZmZmZmZjsKICB1aW50MzJfdCBTQURfdXY9MHgwMGZmZmZmZjsKICBpbnQzMl90
IE1CX3JlZl9vZmZzZXQgPSBkZW5vaXNlci5mcmFtZS53ICogKHkpICsgKHgpOwogIGludDMyX3Qg
TUJfYXZnX29mZnNldDsKICBpbnQzMl90IE1CX3JlZl9vZmZzZXRfdXYgPSAoZGVub2lzZXIuZnJh
bWUuQ3cpICogeS8oZGVub2lzZXIuZnJhbWUuc3NfdikgKyB4LyhkZW5vaXNlci5mcmFtZS5zc19o
KTsKICBpbnQzMl90IE1CX2F2Z19vZmZzZXRfdXY7CiAgaW50MzJfdCBsYXN0X3V2X29mZnNldD0w
OwogIGludDE2X3QgeHg7CiAgaW50MTZfdCB5eTsKICBpbnQxNl90IHZ4PXZlY3Rvci54PDwxOwog
IGludDE2X3Qgdnk9dmVjdG9yLnk8PDE7CgoKCiAgZm9yKHl5PS0yO3l5PD0yO3l5KyspCiAgICBm
b3IoeHg9LTI7eHg8PTI7eHgrKykKICAgIHsKICAgICAgTUJfYXZnX29mZnNldD1NQl9yZWZfb2Zm
c2V0Kyh4eCt2eCkrKCh5eSt2eSkqZGVub2lzZXIuZnJhbWUudyk7CiAgICAgIE1CX2F2Z19vZmZz
ZXRfdXYgPSBNQl9yZWZfb2Zmc2V0X3V2KygoeHgrdngpLyhkZW5vaXNlci5mcmFtZS5zc19oKSkr
KCh5eSt2eSkvKGRlbm9pc2VyLmZyYW1lLnNzX3YpKSooZGVub2lzZXIuZnJhbWUuQ3cpOwoKICAg
ICAgICBTQUQgPSBjYWxjX1NBRCAoIGRlbm9pc2VyLmZyYW1lLnJlZlswXStNQl9yZWZfb2Zmc2V0
LAogICAgICAgICAgICAgICAgICAgICAgICAgZGVub2lzZXIuZnJhbWUuYXZnWzBdK01CX2F2Z19v
ZmZzZXQgKTsKCiAgICAgIGlmKE1CX3JlZl9vZmZzZXRfdXYgIT0gbGFzdF91dl9vZmZzZXQpCiAg
ICAgIHsKICAgICAgICBsYXN0X3V2X29mZnNldD1NQl9yZWZfb2Zmc2V0X3V2OwogICAgICAgIFNB
RF91diA9IGNhbGNfU0FEX3V2ICggZGVub2lzZXIuZnJhbWUuc3ViMnJlZlsxXStNQl9yZWZfb2Zm
c2V0X3V2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVub2lzZXIuZnJhbWUuc3Vi
MmF2Z1sxXStNQl9hdmdfb2Zmc2V0X3V2ICk7CiAgICAgICAgU0FEX3V2ICs9IGNhbGNfU0FEX3V2
ICggZGVub2lzZXIuZnJhbWUuc3ViMnJlZlsyXStNQl9yZWZfb2Zmc2V0X3V2LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlbm9pc2VyLmZyYW1lLnN1YjJhdmdbMl0rTUJfYXZnX29m
ZnNldF91diApOwogICAgICB9CiAgICAgIFNBRCArPSBTQURfdXY7CgogICAgICBpZihTQUQ8YmVz
dF9TQUQpCiAgICAgIHsKICAgICAgICBiZXN0X1NBRCA9IFNBRDsKICAgICAgICB2ZWN0b3IuU0FE
ID0gU0FEOwogICAgICAgIHZlY3Rvci54ID0geHgrdng7CiAgICAgICAgdmVjdG9yLnkgPSB5eSt2
eTsKICAgICAgfQogICAgfQoKCgogIFNBRCA9IGNhbGNfU0FEICggZGVub2lzZXIuZnJhbWUucmVm
WzBdK01CX3JlZl9vZmZzZXQsCiAgICAgICAgICAgICAgICAgICBkZW5vaXNlci5mcmFtZS5hdmdb
MF0rTUJfcmVmX29mZnNldCApOwoKICBpZihTQUQ8PWJlc3RfU0FEKQogIHsKICAgIHZlY3Rvci54
ID0gMDsKICAgIHZlY3Rvci55ID0gMDsKICAgIHZlY3Rvci5TQUQgPSBTQUQ7CiAgfQp9CiMgNzE4
ICJtb3Rpb24uYyIKdm9pZAptYl9zZWFyY2hfMDAgKHVpbnQxNl90IHgsIHVpbnQxNl90IHkpCnsK
ICB1aW50MzJfdCBiZXN0X1NBRCA9IDB4MDBmZmZmZmY7CiAgdWludDMyX3QgU0FEOwogIGludDMy
X3QgTUJfcmVmX29mZnNldCA9IGRlbm9pc2VyLmZyYW1lLncgKiAoeSkgKyAoeCk7CiAgaW50MzJf
dCBNQl9hdmdfb2Zmc2V0MTsKICBpbnQzMl90IE1CX2F2Z19vZmZzZXQyOwogIGludDE2X3QgeHg7
CiAgaW50MTZfdCB5eTsKICBpbnQxNl90IHZ4PXZlY3Rvci54OwogIGludDE2X3Qgdnk9dmVjdG9y
Lnk7CgogIE1CX2F2Z19vZmZzZXQxPU1CX3JlZl9vZmZzZXQrKHZ4KSsoKHZ5KSpkZW5vaXNlci5m
cmFtZS53KTsKCiAgZm9yKHl5PS0xO3l5PD0xO3l5KyspCiAgICBmb3IoeHg9LTE7eHg8PTE7eHgr
KykKICAgIHsKICAgICAgTUJfYXZnX29mZnNldDI9TUJfcmVmX29mZnNldCsodngreHgpKygodnkr
eXkpKmRlbm9pc2VyLmZyYW1lLncpOwoKICAgICAgU0FEID0gY2FsY19TQURfaGFsZiAoZGVub2lz
ZXIuZnJhbWUucmVmWzBdK01CX3JlZl9vZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkZW5vaXNlci5mcmFtZS5hdmdbMF0rTUJfYXZnX29mZnNldDEsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkZW5vaXNlci5mcmFtZS5hdmdbMF0rTUJfYXZnX29mZnNldDIpOwoKICAgICAg
aWYoU0FEPGJlc3RfU0FEKQogICAgICB7CiAgICAgICAgYmVzdF9TQUQgPSBTQUQ7CiAgICAgICAg
dmVjdG9yLnggPSB4eCt2eCoyOwogICAgICAgIHZlY3Rvci55ID0geXkrdnkqMjsKICAgICAgfQog
ICAgfQp9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49827</attachid>
            <date>2005-01-29 06:29 0000</date>
            <desc>Fixes allow motion.c to build</desc>
            <filename>motion.c-pic.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIG1qcGVndG9vbHMtMS42LjIveXV2ZGVub2lzZS9tb3Rpb24uYy5vcmlnCTIwMDUtMDEtMjkg
MTU6MDg6NTAuNTE1NDU4MDgwICswMTAwCisrKyBtanBlZ3Rvb2xzLTEuNi4yL3l1dmRlbm9pc2Uv
bW90aW9uLmMJMjAwNS0wMS0yOSAxNToyNTo0OS4yMjA1OTEzNjAgKzAxMDAKQEAgLTE0NiwxMiAr
MTQ2LDEyIEBACiAgICAgIiBweG9yICAgICAgICAlJW1tNyAsICUlbW03OyAgICAgICAgICAgLyog
Y2xlYXIgbW03ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIK
ICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92
bCAgICAgICAgICUxICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50
byBlYXggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCi0gICAgIiBtb3ZsICAgICAgICAg
JTIgICAgLCAlJWVieDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVieCAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyAgICAiIG1vdmwgICAgICAgICAlMiAgICAsICUl
ZXNpOyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZXNpICAgICAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogICAgICIgbW92bCAgICAgICAgICUzICAgICwgJSVlY3g7ICAgICAg
ICAgIC8qIGxvYWQgd2lkdGggICAgICAgaW50byBlY3ggICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCiAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAg
ICAiLnJlcHQgOCAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiBMb29wIGZvciA4IGxp
bmVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92cSAg
ICAgICAgKCUlZWF4KSwgJSVtbTE7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20gZmlsdGVyZWQg
ZnJhbWUgdG8gbW0xICAgICAgICAgICAgICAgICovXG4iCi0gICAgIiBtb3ZxICAgICAgICAoJSVl
YngpLCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSByZWZlcmVuY2UgZnJhbWUgdG8g
bW0yICAgICAgICAgICAgICAgKi9cbiIKKyAgICAiIG1vdnEgICAgICAgICglJWVzaSksICUlbW0y
OyAgICAgICAgICAvKiA4IFBpeGVscyBmcm9tIHJlZmVyZW5jZSBmcmFtZSB0byBtbTIgICAgICAg
ICAgICAgICAqL1xuIgogICAgICIgbW92cSAgICAgICAgICUlbW0yICwgJSVtbTM7ICAgICAgICAg
IC8qIGhvbGQgYSBjb3B5IG9mIG1tMiBpbiBtbTMgICAgICAgICAgICAgICAgICAgICAgICAgICov
XG4iCiAgICAgIiBwc3VidXNiICAgICAgJSVtbTEgLCAlJW1tMzsgICAgICAgICAgLyogcG9zaXRp
dmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtbTIgYW5kIG1tMSAgICAgICAgICAgKi9cbiIKICAgICAi
IHBzdWJ1c2IgICAgICAlJW1tMiAsICUlbW0xOyAgICAgICAgICAvKiBwb3NpdGl2ZSBkaWZmZXJl
bmNlcyBiZXR3ZWVuIG1tMSBhbmQgbW0zICAgICAgICAgICAqL1xuIgpAQCAtMTYyLDEzICsxNjIs
MTMgQEAKICAgICAiIHBhZGR1c3cgICAgICAlJW1tMSAsICUlbW0wOyAgICAgICAgICAvKiBhZGQg
bW0xIChzdG9yZWQgaW4gbW0xIGFuZCBtbTIuLi4pICAgICAgICAgICAgICAgICAqL1xuIgogICAg
ICIgcGFkZHVzdyAgICAgICUlbW0yICwgJSVtbTA7ICAgICAgICAgIC8qIHRvIG1tMCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBhZGRsICAg
ICAgICAgJSVlY3ggLCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVh
ZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIGFkZGwgICAgICAgICAlJWVj
eCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAg
ICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlc2k7
ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAg
ICAgICAgICovXG4iCiAgICAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogZW5kIGxvb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9c
biIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIg
bW92cSAgICAgICAgICUlbW0wICwgJTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2YWlsYWJs
ZSB0byBnY2MgLi4uICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgOiI9bSIgKGEpICAg
ICAKICAgICA6Im0iIChmcm0pLCAibSIgKHJlZiksICJtIiAoZGVub2lzZXIuZnJhbWUudykKLSAg
ICA6IiVlYXgiLCAiJWVieCIsICIlZWN4IgorICAgIDoiJWVheCIsICIlZXNpIiwgIiVlY3giCiAg
ICAgKTsKICNlbmRpZgogCkBAIC0xOTEsMjEgKzE5MSwyMSBAQAogICAgICgKICAgICAiIHB4b3Ig
ICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAgICAgICAvKiBjbGVhciBtbTAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92bCAgICAgICAgICUx
ICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYXggICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCi0gICAgIiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVi
eDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVieCAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKKyAgICAiIG1vdmwgICAgICAgICAlMiAgICAsICUlZXNpOyAgICAgICAg
ICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZXNpICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICIgbW92bCAgICAgICAgICUzICAgICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQg
d2lkdGggICAgICAgaW50byBlY3ggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAg
IiAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIC5yZXB0IDgg
ICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92cSAgICAgICAgKCUlZWF4
KSwgJSVtbTE7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0x
ICAgICAgICAgICAgICAgICovXG4iCi0gICAgIiBwc2FkYncgICAgICAoJSVlYngpLCAlJW1tMTsg
ICAgICAgICAgLyogOCBQaXhlbHMgZGlmZmVyZW5jZSB0byBtbTEgICAgICAgICAgICAgICAgICAg
ICAgICAgKi9cbiIKKyAgICAiIHBzYWRidyAgICAgICglJWVzaSksICUlbW0xOyAgICAgICAgICAv
KiA4IFBpeGVscyBkaWZmZXJlbmNlIHRvIG1tMSAgICAgICAgICAgICAgICAgICAgICAgICAqL1xu
IgogICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAgICAgIC8qIGFkZCByZXN1
bHQgdG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBh
ZGRsICAgICAgICAgJSVlY3ggLCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8g
ZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIGFkZGwgICAgICAg
ICAlJWVjeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJl
c3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwg
JSVlc2k7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAg
ICAgICAgICAgICAgICovXG4iCiAgICAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgIDsgICAg
ICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgog
ICAgICIgbW92cSAgICAgICAgICUlbW0wICwgJTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2
YWlsYWJsZSB0byBnY2MgLi4uICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgOiI9bSIg
KGEpICAgICAKICAgICA6Im0iIChmcm0pLCAibSIgKHJlZiksICJtIiAoZGVub2lzZXIuZnJhbWUu
dykKLSAgICA6IiVlYXgiLCAiJWVieCIsICIlZWN4IgorICAgIDoiJWVheCIsICIlZXNpIiwgIiVl
Y3giCiAgICAgKTsKICNlbmRpZgogICByZXR1cm4gYTsKQEAgLTI1NCwxMiArMjU0LDEyIEBACiAg
ICAgIiBweG9yICAgICAgICAlJW1tNyAsICUlbW03OyAgICAgICAgICAgLyogY2xlYXIgbW03ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92bCAgICAgICAgICUx
ICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYXggICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCi0gICAgIiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVi
eDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVieCAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKKyAgICAiIG1vdmwgICAgICAgICAlMiAgICAsICUlZXNpOyAgICAgICAg
ICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZXNpICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICIgbW92bCAgICAgICAgICUzICAgICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQg
d2lkdGggICAgICAgaW50byBlY3ggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAg
IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiLnJlcHQgNCAg
ICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiBMb29wIGZvciA0IGxpbmVzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92ZCAgICAgICAgKCUlZWF4
KSwgJSVtbTE7ICAgICAgICAgIC8qIDQgUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0x
ICAgICAgICAgICAgICAgICovXG4iCi0gICAgIiBtb3ZkICAgICAgICAoJSVlYngpLCAlJW1tMjsg
ICAgICAgICAgLyogNCBQaXhlbHMgZnJvbSByZWZlcmVuY2UgZnJhbWUgdG8gbW0yICAgICAgICAg
ICAgICAgKi9cbiIKKyAgICAiIG1vdmQgICAgICAgICglJWVzaSksICUlbW0yOyAgICAgICAgICAv
KiA0IFBpeGVscyBmcm9tIHJlZmVyZW5jZSBmcmFtZSB0byBtbTIgICAgICAgICAgICAgICAqL1xu
IgogICAgICIgbW92cSAgICAgICAgICUlbW0yICwgJSVtbTM7ICAgICAgICAgIC8qIGhvbGQgYSBj
b3B5IG9mIG1tMiBpbiBtbTMgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBw
c3VidXNiICAgICAgJSVtbTEgLCAlJW1tMzsgICAgICAgICAgLyogcG9zaXRpdmUgZGlmZmVyZW5j
ZXMgYmV0d2VlbiBtbTIgYW5kIG1tMSAgICAgICAgICAgKi9cbiIKICAgICAiIHBzdWJ1c2IgICAg
ICAlJW1tMiAsICUlbW0xOyAgICAgICAgICAvKiBwb3NpdGl2ZSBkaWZmZXJlbmNlcyBiZXR3ZWVu
IG1tMSBhbmQgbW0zICAgICAgICAgICAqL1xuIgpAQCAtMjcwLDEzICsyNzAsMTMgQEAKICAgICAi
IHBhZGR1c3cgICAgICAlJW1tMSAsICUlbW0yOyAgICAgICAgICAvKiBhZGQgbW0xIChzdG9yZWQg
aW4gbW0xIGFuZCBtbTIuLi4pICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgcGFkZHVzdyAg
ICAgICUlbW0yICwgJSVtbTA7ICAgICAgICAgIC8qIHRvIG1tMCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBhZGRsICAgICAgICAgJSVlY3gg
LCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAg
ICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZWJ4OyAg
ICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAg
ICAgICAqL1xuIgorICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlc2k7ICAgICAgICAgIC8q
IGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4i
CiAgICAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZW5kIGxvb3Ag
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92cSAgICAgICAg
ICUlbW0wICwgJTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2YWlsYWJsZSB0byBnY2MgLi4u
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgOiI9bSIgKGEpICAgICAKICAgICA6Im0i
IChmcm0pLCAibSIgKHJlZiksICJtIiAoaGFsZndpZHRoKQotICAgIDoiJWVheCIsICIlZWJ4Iiwg
IiVlY3giCisgICAgOiIlZWF4IiwgIiVlc2kiLCAiJWVjeCIKICAgICApOwogI2VuZGlmCiAgIHJl
dHVybiAodWludDMyX3QpKGFbMF0rYVsxXSthWzJdK2FbM10pOwpAQCAtMzAwLDEzICszMDAsMTMg
QEAKICAgICAiIHB4b3IgICAgICAgICUlbW03ICwgJSVtbTc7ICAgICAgICAgICAvKiBjbGVhciBt
bTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZsICAgICAg
ICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIG1vdmwgICAgICAgICAlMiAgICAs
ICUlZWJ4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWJ4ICAgICAgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgorICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlc2k7ICAg
ICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCiAgICAgIiBtb3ZsICAgICAgICAgJTMgICAgLCAlJWVjeDsgICAgICAgICAgLyog
bG9hZCB3aWR0aCAgICAgICBpbnRvIGVjeCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIK
ICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIucmVw
dCA4ICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qIExvb3AgZm9yIDggbGluZXMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3Z3ICAgICAgICAo
JSVlYXgpLCAgJSVkeDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdmQgICAgICAgICAlJWVkeCAsICUl
bW0xOyAgICAgICAgICAvKiAyIFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMSAgICAg
ICAgICAgICAgICAqL1xuIgotICAgICIgbW92dyAgICAgICAgKCUlZWJ4KSwgICUlZHg7ICAgICAg
ICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCisgICAgIiBtb3Z3ICAgICAgICAoJSVlc2kpLCAgJSVkeDsgICAgICAgICAgLyogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAg
ICAiIG1vdmQgICAgICAgICAlJWVkeCAsICUlbW0yOyAgICAgICAgICAvKiAyIFBpeGVscyBmcm9t
IHJlZmVyZW5jZSBmcmFtZSB0byBtbTIgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92cSAg
ICAgICAgICUlbW0yICwgJSVtbTM7ICAgICAgICAgIC8qIGhvbGQgYSBjb3B5IG9mIG1tMiBpbiBt
bTMgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBwc3VidXNiICAgICAgJSVt
bTEgLCAlJW1tMzsgICAgICAgICAgLyogcG9zaXRpdmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtbTIg
YW5kIG1tMSAgICAgICAgICAgKi9cbiIKQEAgLTMxOCwxMyArMzE4LDEzIEBACiAgICAgIiBwYWRk
dXN3ICAgICAgJSVtbTEgLCAlJW1tMjsgICAgICAgICAgLyogYWRkIG1tMSAoc3RvcmVkIGluIG1t
MSBhbmQgbW0yLi4uKSAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIHBhZGR1c3cgICAgICAl
JW1tMiAsICUlbW0wOyAgICAgICAgICAvKiB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVl
YXg7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAg
ICAgICAgICAgICovXG4iCi0gICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVieDsgICAgICAg
ICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKKyAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZXNpOyAgICAgICAgICAvKiBhZGQg
ZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAg
ICIgLmVuZHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGVuZCBsb29wICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdnEgICAgICAgICAlJW1t
MCAsICUwICAgOyAgICAgICAgICAvKiBtYWtlIG1tMCBhdmFpbGFibGUgdG8gZ2NjIC4uLiAgICAg
ICAgICAgICAgICAgICAgICAqL1xuIgogICAgIDoiPW0iIChhKSAgICAgCiAgICAgOiJtIiAoZnJt
KSwgIm0iIChyZWYpLCAibSIgKFcyKQotICAgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3giCisgICAg
OiIlZWF4IiwgIiVlc2kiLCAiJWVjeCIKICAgICApOwogI2VuZGlmCiAgIHJldHVybiAodWludDMy
X3QpKGFbMF0rYVsxXSthWzJdK2FbM10rYVs0XSthWzVdK2FbNl0rYVs3XSk7CkBAIC0zNDgsMjIg
KzM0OCwyMiBAQAogICAgICgKICAgICAiIHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAg
ICAgICAvKiBjbGVhciBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqL1xuIgogICAgICIgbW92bCAgICAgICAgICUxICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxv
YWQgZnJhbWVhZHJlc3MgaW50byBlYXggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCi0g
ICAgIiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVieDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFk
cmVzcyBpbnRvIGVieCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyAgICAiIG1vdmwg
ICAgICAgICAlMiAgICAsICUlZXNpOyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8g
ZXNpICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92bCAgICAgICAgICUz
ICAgICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQgd2lkdGggICAgICAgaW50byBlY3ggICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAg
IDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKICAgICAiIC5yZXB0IDQgICAgICAgICAgICAgICAgICAgOyAgICAgICAg
ICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICIgbW92ZCAgICAgICAgKCUlZWF4KSwgJSVtbTE7ICAgICAgICAgIC8qIDQgUGl4
ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0xICAgICAgICAgICAgICAgICovXG4iCi0gICAg
IiBtb3ZkICAgICAgICAoJSVlYngpLCAlJW1tMjsgICAgICAgICAgLyogNCBQaXhlbHMgZnJvbSBm
aWx0ZXJlZCBmcmFtZSB0byBtbTIgICAgICAgICAgICAgICAgKi9cbiIKKyAgICAiIG1vdmQgICAg
ICAgICglJWVzaSksICUlbW0yOyAgICAgICAgICAvKiA0IFBpeGVscyBmcm9tIGZpbHRlcmVkIGZy
YW1lIHRvIG1tMiAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgcHNhZGJ3ICAgICAgICUlbW0y
ICwgJSVtbTE7ICAgICAgICAgIC8qIDQgUGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0xICAgICAgICAg
ICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBwYWRkdXN3ICAgICAgJSVtbTEgLCAlJW1tMDsg
ICAgICAgICAgLyogYWRkIHJlc3VsdCB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi9cbiIKICAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAv
KiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xu
IgotICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8qIGFkZCBmcmFt
ZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisgICAgIiBh
ZGRsICAgICAgICAgJSVlY3ggLCAlJWVzaTsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8g
ZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIC5lbmRyICAgICAg
ICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAg
ICAgICAgLyogbWFrZSBtbTAgYXZhaWxhYmxlIHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKICAgICA6Ij1tIiAoYSkgICAgIAogICAgIDoibSIgKGZybSksICJtIiAocmVmKSwg
Im0iIChoYWxmd2lkdGgpCi0gICAgOiIlZWF4IiwgIiVlYngiLCAiJWVjeCIKKyAgICA6IiVlYXgi
LCAiJWVzaSIsICIlZWN4IgogICAgICk7CiAjZW5kaWYKICAgcmV0dXJuIGE7CkBAIC0zODUsMjQg
KzM4NSwyNCBAQAogICAgICgKICAgICAiIHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAg
ICAgICAvKiBjbGVhciBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqL1xuIgogICAgICIgbW92bCAgICAgICAgICUxICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxv
YWQgZnJhbWVhZHJlc3MgaW50byBlYXggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCi0g
ICAgIiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVieDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFk
cmVzcyBpbnRvIGVieCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyAgICAiIG1vdmwg
ICAgICAgICAlMiAgICAsICUlZXNpOyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8g
ZXNpICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92bCAgICAgICAgICUz
ICAgICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQgd2lkdGggICAgICAgaW50byBlY3ggICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAg
IDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKICAgICAiIC5yZXB0IDggICAgICAgICAgICAgICAgICAgOyAgICAgICAg
ICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICIgbW92dyAgICAgICAgKCUlZWF4KSwgICUlZHg7ICAgICAgICAgIC8qICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAg
IiBtb3ZkICAgICAgICAgJSVlZHggLCAlJW1tMTsgICAgICAgICAgLyogMiBQaXhlbHMgZnJvbSBm
aWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIG1vdncgICAg
ICAgICglJWVieCksICAlJWR4OyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgbW92dyAgICAgICAgKCUlZXNp
KSwgICUlZHg7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZkICAgICAgICAgJSVlZHggLCAlJW1tMjsg
ICAgICAgICAgLyogMiBQaXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTIgICAgICAgICAg
ICAgICAgKi9cbiIKICAgICAiIHBzYWRidyAgICAgICAlJW1tMiAsICUlbW0xOyAgICAgICAgICAv
KiAyIFBpeGVscyBkaWZmZXJlbmNlIHRvIG1tMSAgICAgICAgICAgICAgICAgICAgICAgICAqL1xu
IgogICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAgICAgIC8qIGFkZCByZXN1
bHQgdG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBh
ZGRsICAgICAgICAgJSVlY3ggLCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8g
ZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIGFkZGwgICAgICAg
ICAlJWVjeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJl
c3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwg
JSVlc2k7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAg
ICAgICAgICAgICAgICovXG4iCiAgICAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgIDsgICAg
ICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgog
ICAgICIgbW92cSAgICAgICAgICUlbW0wICwgJTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2
YWlsYWJsZSB0byBnY2MgLi4uICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgOiI9bSIg
KGEpICAgICAKICAgICA6Im0iIChmcm0pLCAibSIgKHJlZiksICJtIiAoVzIpCi0gICAgOiIlZWF4
IiwgIiVlYngiLCAiJWVjeCIKKyAgICA6IiVlYXgiLCAiJWVzaSIsICIlZWN4IgogICAgICk7CiAj
ZW5kaWYKICAgcmV0dXJuIGE7CkBAIC00NDgsMTMgKzQ0OCwxMyBAQAogICAgICAgKAogCSAgIiBw
eG9yICAgICAgICAgJSVtbTAgLCAlJW1tMDsgICAgICAgICAgLyogY2xlYXIgbW0wICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAJICAiIG1vdmwgICAgICAgICAl
MSAgICAsICUlZWF4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWF4ICAgICAg
ICAgICAgICAgICAgICAgICAgICAqLyIKLQkgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlYng7
ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYnggICAgICAgICAgICAgICAgICAg
ICAgICAgICovIgorCSAgIiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVzaTsgICAgICAgICAgLyog
bG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVzaSAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAJ
ICAiIG1vdmwgICAgICAgICAlMyAgICAsICUlZWN4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRy
ZXNzIGludG8gZWN4ICAgICAgICAgICAgICAgICAgICAgICAgICAqLyIKIAkgICIgbW92bCAgICAg
ICAgICU0ICAgICwgJSVlZHg7ICAgICAgICAgIC8qIGxvYWQgd2lkdGggICAgICAgaW50byBlZHgg
ICAgICAgICAgICAgICAgICAgICAgICAgICovIgogCSAgIiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi8iCiAJICAiIC5yZXB0IDggICAgICAgICAgICAgICAgICAgOyAgICAgICAg
ICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
LyIKIAkgICIgbW92cSAgICAgICAgKCUlZWF4KSwgJSVtbTE7ICAgICAgICAgIC8qIDggUGl4ZWxz
IGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0xICAgICAgICAgICAgICAgICovIgotCSAgIiBtb3Zx
ICAgICAgICAoJSVlYngpLCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBmaWx0ZXJl
ZCBmcmFtZSB0byBtbTIgKGRpc3BsYWNlZCkgICAgKi8iCisJICAiIG1vdnEgICAgICAgICglJWVz
aSksICUlbW0yOyAgICAgICAgICAvKiA4IFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1t
MiAoZGlzcGxhY2VkKSAgICAqLyIKIAkgICIgbW92cSAgICAgICAgKCUlZWN4KSwgJSVtbTM7ICAg
ICAgICAgIC8qIHJlZmVyZW5jZSB0byBtbTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovIgogCSAgIiBwc3JscSAgICAgICAgJDEgICAgLCAlJW1tMTsgICAgICAgICAgLyogYXZl
cmFnZSBzb3VyY2UgcGl4ZWxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAJICAi
IHBzcmxxICAgICAgICAkMSAgICAsICUlbW0yOyAgICAgICAgICAvKiBzaGlmdCByaWdodCBieSBv
bmUgKGRpdmlkZSBieSB0d28pICAgICAgICAgICAgICAgICAqLyIKQEAgLTQ2OCwxNCArNDY4LDE0
IEBACiAJICAiIHBhZGR1c2IgICAgICAlJW1tMyAsICUlbW0xOyAgICAgICAgICAvKiBtbTEgbm93
IGNvbnRhaW5zIGFicyhtbTEtbW0yKSAqLyIKIAkgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVt
bTA7ICAgICAgICAgIC8qIGFkZCByZXN1bHQgdG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovIgogCSAgIiBhZGRsICAgICAgICAgJSVlZHggLCAlJWVheDsgICAgICAgICAg
LyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi8i
Ci0JICAiIGFkZGwgICAgICAgICAlJWVkeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3
aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqLyIKKwkgICIgYWRkbCAg
ICAgICAgICUlZWR4ICwgJSVlc2k7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1l
YWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovIgogCSAgIiBhZGRsICAgICAgICAgJSVlZHgg
LCAlJWVjeDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAg
ICAgICAgICAgICAgICAgKi8iCiAJICAiIC5lbmRyICAgICAgICAgICAgICAgICAgICAgOyAgICAg
ICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqLyIKIAkgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovIgogCSAgIiBt
b3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAgICAgICAgLyogbWFrZSBtbTAgYXZhaWxhYmxl
IHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAgICAgKi8iCiAJICA6Ij1tIiAoYSkgICAgIAog
CSAgOiJtIiAoZnJtMSksIm0iIChmcm0yKSwgIm0iIChyZWYpLCAibSIgKGRlbm9pc2VyLmZyYW1l
LncpLCAibSIgKCpiaXRfbWFzaykKLQkgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3giLCAiJWVkeCIK
KwkgIDoiJWVheCIsICIlZXNpIiwgIiVlY3giLCAiJWVkeCIKIAkgICk7CiAjZW5kaWYKICAgcmV0
dXJuIGE7CkBAIC00OTcsMjYgKzQ5NywyNiBAQAogICAgICAgKAogCSAgIiBweG9yICAgICAgICAg
JSVtbTAgLCAlJW1tMDsgICAgICAgICAgLyogY2xlYXIgbW0wICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKIAkgICIgbW92bCAgICAgICAgICUxICAgICwgJSVl
YXg7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYXggICAgICAgICAgICAgICAg
ICAgICAgICAgICovXG4iCi0JICAiIG1vdmwgICAgICAgICAlMiAgICAsICUlZWJ4OyAgICAgICAg
ICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWJ4ICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgorCSAgIiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVzaTsgICAgICAgICAgLyogbG9hZCBm
cmFtZWFkcmVzcyBpbnRvIGVzaSAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKIAkgICIg
bW92bCAgICAgICAgICUzICAgICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3Mg
aW50byBlY3ggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJICAiIG1vdmwgICAgICAg
ICAlNCAgICAsICUlZWR4OyAgICAgICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8gZWR4ICAg
ICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgIiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKIAkgICIgLnJlcHQgOCAgICAgICAgICAgICAgICAgICA7ICAgICAg
ICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCiAJICAiIG1vdnEgICAgICAgICglJWVheCksICUlbW0xOyAgICAgICAgICAvKiA4IFBp
eGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMSAgICAgICAgICAgICAgICAqL1xuIgotCSAg
IiBtb3ZxICAgICAgICAoJSVlYngpLCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBm
aWx0ZXJlZCBmcmFtZSB0byBtbTIgKGRpc3BsYWNlZCkgICAgKi9cbiIKKwkgICIgbW92cSAgICAg
ICAgKCUlZXNpKSwgJSVtbTI7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJh
bWUgdG8gbW0yIChkaXNwbGFjZWQpICAgICovXG4iCiAJICAiIG1vdnEgICAgICAgICglJWVjeCks
ICUlbW0zOyAgICAgICAgICAvKiA4IFBpeGVscyBmcm9tIHJlZmVyZW5jZSBmcmFtZSB0byBtbTMg
ICAgICAgICAgICAgICAqL1xuIgogCSAgIiBwYXZnYiAgICAgICAgJSVtbTIgLCAlJW1tMTsgICAg
ICAgICAgLyogYXZlcmFnZSBzb3VyY2UgcGl4ZWxzICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKIAkgICIgcHNhZGJ3ICAgICAgICUlbW0zICwgJSVtbTE7ICAgICAgICAgIC8qIDgg
UGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0xICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJ
ICAiIHBhZGR1c3cgICAgICAlJW1tMSAsICUlbW0wOyAgICAgICAgICAvKiBhZGQgcmVzdWx0IHRv
IG1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgIiBhZGRsICAg
ICAgICAgJSVlZHggLCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVh
ZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLQkgICIgYWRkbCAgICAgICAgICUlZWR4
ICwgJSVlYng7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAg
ICAgICAgICAgICAgICAgICovXG4iCisJICAiIGFkZGwgICAgICAgICAlJWVkeCAsICUlZXNpOyAg
ICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAg
ICAgICAqL1xuIgogCSAgIiBhZGRsICAgICAgICAgJSVlZHggLCAlJWVjeDsgICAgICAgICAgLyog
YWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIK
IAkgICIgLmVuZHIgICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJICAiICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgIiBtb3ZxICAgICAgICAgJSVt
bTAgLCAlMCAgIDsgICAgICAgICAgLyogbWFrZSBtbTAgYXZhaWxhYmxlIHRvIGdjYyAuLi4gICAg
ICAgICAgICAgICAgICAgICAgKi9cbiIKIAkgIDoiPW0iIChhKSAgICAgCiAJICA6Im0iIChmcm0x
KSwibSIgKGZybTIpLCAibSIgKHJlZiksICJtIiAoZGVub2lzZXIuZnJhbWUudykKLQkgIDoiJWVh
eCIsICIlZWJ4IiwgIiVlY3giLCAiJWVkeCIKKwkgIDoiJWVheCIsICIlZXNpIiwgIiVlY3giLCAi
JWVkeCIKIAkgICk7CiAjZW5kaWYKICAgcmV0dXJuIGE7Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49839</attachid>
            <date>2005-01-29 08:18 0000</date>
            <desc>Same as before, but with #ifdefs to preserve original code on non-pic</desc>
            <filename>motion.c-pic.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIG1vdGlvbi5jLm9yaWcJMjAwNS0wMS0yOSAxNTowODo1MC41MTU0NTgwODAgKzAxMDAKKysr
IG1vdGlvbi5jCTIwMDUtMDEtMjkgMTc6MDc6MTQuOTgzNDE0Nzg0ICswMTAwCkBAIC0xNDYsMTIg
KzE0NiwyMCBAQAogICAgICIgcHhvciAgICAgICAgJSVtbTcgLCAlJW1tNzsgICAgICAgICAgIC8q
IGNsZWFyIG1tNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4i
CiAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1v
dmwgICAgICAgICAlMSAgICAsICUlZWF4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGlu
dG8gZWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2lmZGVmIF9fUElDX18KKyAg
ICAiIG1vdmwgICAgICAgICAlMiAgICAsICUlZXNpOyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRy
ZXNzIGludG8gZXNpICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2Vsc2UKICAgICAi
IG1vdmwgICAgICAgICAlMiAgICAsICUlZWJ4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNz
IGludG8gZWJ4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2VuZGlmCiAgICAgIiBt
b3ZsICAgICAgICAgJTMgICAgLCAlJWVjeDsgICAgICAgICAgLyogbG9hZCB3aWR0aCAgICAgICBp
bnRvIGVjeCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIucmVwdCA4ICAgICAgICAgICAgICAg
ICAgICA7ICAgICAgICAgIC8qIExvb3AgZm9yIDggbGluZXMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAoJSVlYXgpLCAlJW1tMTsgICAg
ICAgICAgLyogOCBQaXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAgICAgICAg
ICAgKi9cbiIKKyNpZmRlZiBfX1BJQ19fCisgICAgIiBtb3ZxICAgICAgICAoJSVlc2kpLCAlJW1t
MjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSByZWZlcmVuY2UgZnJhbWUgdG8gbW0yICAgICAg
ICAgICAgICAgKi9cbiIKKyNlbHNlCiAgICAgIiBtb3ZxICAgICAgICAoJSVlYngpLCAlJW1tMjsg
ICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSByZWZlcmVuY2UgZnJhbWUgdG8gbW0yICAgICAgICAg
ICAgICAgKi9cbiIKKyNlbmRpZgogICAgICIgbW92cSAgICAgICAgICUlbW0yICwgJSVtbTM7ICAg
ICAgICAgIC8qIGhvbGQgYSBjb3B5IG9mIG1tMiBpbiBtbTMgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCiAgICAgIiBwc3VidXNiICAgICAgJSVtbTEgLCAlJW1tMzsgICAgICAgICAgLyog
cG9zaXRpdmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtbTIgYW5kIG1tMSAgICAgICAgICAgKi9cbiIK
ICAgICAiIHBzdWJ1c2IgICAgICAlJW1tMiAsICUlbW0xOyAgICAgICAgICAvKiBwb3NpdGl2ZSBk
aWZmZXJlbmNlcyBiZXR3ZWVuIG1tMSBhbmQgbW0zICAgICAgICAgICAqL1xuIgpAQCAtMTYyLDEz
ICsxNzAsMjEgQEAKICAgICAiIHBhZGR1c3cgICAgICAlJW1tMSAsICUlbW0wOyAgICAgICAgICAv
KiBhZGQgbW0xIChzdG9yZWQgaW4gbW0xIGFuZCBtbTIuLi4pICAgICAgICAgICAgICAgICAqL1xu
IgogICAgICIgcGFkZHVzdyAgICAgICUlbW0yICwgJSVtbTA7ICAgICAgICAgIC8qIHRvIG1tMCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBh
ZGRsICAgICAgICAgJSVlY3ggLCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8g
ZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNpZmRlZiBfX1BJQ19fCisg
ICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVzaTsgICAgICAgICAgLyogYWRkIGZyYW1ld2lk
dGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNlbHNlCiAgICAg
IiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVieDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGgg
dG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNlbmRpZgogICAgICIg
LmVuZHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGVuZCBsb29wICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdnEgICAgICAgICAlJW1tMCAs
ICUwICAgOyAgICAgICAgICAvKiBtYWtlIG1tMCBhdmFpbGFibGUgdG8gZ2NjIC4uLiAgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgogICAgIDoiPW0iIChhKSAgICAgCiAgICAgOiJtIiAoZnJtKSwg
Im0iIChyZWYpLCAibSIgKGRlbm9pc2VyLmZyYW1lLncpCisjaWZkZWYgX19QSUNfXworICAgIDoi
JWVheCIsICIlZXNpIiwgIiVlY3giCisjZWxzZQogICAgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3gi
CisjZW5kaWYKICAgICApOwogI2VuZGlmCiAKQEAgLTE5MSwyMSArMjA3LDM3IEBACiAgICAgKAog
ICAgICIgcHhvciAgICAgICAgICUlbW0wICwgJSVtbTA7ICAgICAgICAgIC8qIGNsZWFyIG1tMCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3Zs
ICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRv
IGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNpZmRlZiBfX1BJQ19fCisgICAg
IiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVzaTsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVz
cyBpbnRvIGVzaSAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNlbHNlCiAgICAgIiBt
b3ZsICAgICAgICAgJTIgICAgLCAlJWVieDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBp
bnRvIGVieCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNlbmRpZgogICAgICIgbW92
bCAgICAgICAgICUzICAgICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQgd2lkdGggICAgICAgaW50
byBlY3ggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIC5yZXB0IDggICAgICAgICAgICAgICAg
ICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogICAgICIgbW92cSAgICAgICAgKCUlZWF4KSwgJSVtbTE7ICAgICAg
ICAgIC8qIDggUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0xICAgICAgICAgICAgICAg
ICovXG4iCisjaWZkZWYgX19QSUNfXworICAgICIgcHNhZGJ3ICAgICAgKCUlZXNpKSwgJSVtbTE7
ICAgICAgICAgIC8qIDggUGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0xICAgICAgICAgICAgICAgICAg
ICAgICAgICovXG4iCisjZWxzZQogICAgICIgcHNhZGJ3ICAgICAgKCUlZWJ4KSwgJSVtbTE7ICAg
ICAgICAgIC8qIDggUGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0xICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCisjZW5kaWYKICAgICAiIHBhZGR1c3cgICAgICAlJW1tMSAsICUlbW0wOyAgICAg
ICAgICAvKiBhZGQgcmVzdWx0IHRvIG1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqL1xuIgogICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYXg7ICAgICAgICAgIC8qIGFk
ZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisj
aWZkZWYgX19QSUNfXworICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlc2k7ICAgICAgICAg
IC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICov
XG4iCisjZWxzZQogICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8q
IGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4i
CisjZW5kaWYKICAgICAiIC5lbmRyICAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgog
ICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3Zx
ICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAgICAgICAgLyogbWFrZSBtbTAgYXZhaWxhYmxlIHRv
IGdjYyAuLi4gICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICA6Ij1tIiAoYSkgICAgIAog
ICAgIDoibSIgKGZybSksICJtIiAocmVmKSwgIm0iIChkZW5vaXNlci5mcmFtZS53KQorI2lmZGVm
IF9fUElDX18KKyAgICA6IiVlYXgiLCAiJWVzaSIsICIlZWN4IgorI2Vsc2UKICAgICA6IiVlYXgi
LCAiJWVieCIsICIlZWN4IgorI2VuZGlmCiAgICAgKTsKICNlbmRpZgogICByZXR1cm4gYTsKQEAg
LTI1NCwxMiArMjg2LDIwIEBACiAgICAgIiBweG9yICAgICAgICAlJW1tNyAsICUlbW03OyAgICAg
ICAgICAgLyogY2xlYXIgbW03ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgog
ICAgICIgbW92bCAgICAgICAgICUxICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVh
ZHJlc3MgaW50byBlYXggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisjaWZkZWYgX19Q
SUNfXworICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlc2k7ICAgICAgICAgIC8qIGxvYWQg
ZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisjZWxz
ZQogICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJh
bWVhZHJlc3MgaW50byBlYnggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisjZW5kaWYK
ICAgICAiIG1vdmwgICAgICAgICAlMyAgICAsICUlZWN4OyAgICAgICAgICAvKiBsb2FkIHdpZHRo
ICAgICAgIGludG8gZWN4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIi5yZXB0IDQgICAgICAg
ICAgICAgICAgICAgIDsgICAgICAgICAgLyogTG9vcCBmb3IgNCBsaW5lcyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdmQgICAgICAgICglJWVheCksICUl
bW0xOyAgICAgICAgICAvKiA0IFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMSAgICAg
ICAgICAgICAgICAqL1xuIgorI2lmZGVmIF9fUElDX18KKyAgICAiIG1vdmQgICAgICAgICglJWVz
aSksICUlbW0yOyAgICAgICAgICAvKiA0IFBpeGVscyBmcm9tIHJlZmVyZW5jZSBmcmFtZSB0byBt
bTIgICAgICAgICAgICAgICAqL1xuIgorI2Vsc2UKICAgICAiIG1vdmQgICAgICAgICglJWVieCks
ICUlbW0yOyAgICAgICAgICAvKiA0IFBpeGVscyBmcm9tIHJlZmVyZW5jZSBmcmFtZSB0byBtbTIg
ICAgICAgICAgICAgICAqL1xuIgorI2VuZGlmCiAgICAgIiBtb3ZxICAgICAgICAgJSVtbTIgLCAl
JW1tMzsgICAgICAgICAgLyogaG9sZCBhIGNvcHkgb2YgbW0yIGluIG1tMyAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKICAgICAiIHBzdWJ1c2IgICAgICAlJW1tMSAsICUlbW0zOyAgICAg
ICAgICAvKiBwb3NpdGl2ZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIG1tMiBhbmQgbW0xICAgICAgICAg
ICAqL1xuIgogICAgICIgcHN1YnVzYiAgICAgICUlbW0yICwgJSVtbTE7ICAgICAgICAgIC8qIHBv
c2l0aXZlIGRpZmZlcmVuY2VzIGJldHdlZW4gbW0xIGFuZCBtbTMgICAgICAgICAgICovXG4iCkBA
IC0yNzAsMTMgKzMxMCwyMSBAQAogICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTI7ICAg
ICAgICAgIC8qIGFkZCBtbTEgKHN0b3JlZCBpbiBtbTEgYW5kIG1tMi4uLikgICAgICAgICAgICAg
ICAgICovXG4iCiAgICAgIiBwYWRkdXN3ICAgICAgJSVtbTIgLCAlJW1tMDsgICAgICAgICAgLyog
dG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIK
ICAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3
aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2lmZGVmIF9f
UElDX18KKyAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZXNpOyAgICAgICAgICAvKiBhZGQg
ZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2Vs
c2UKICAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJh
bWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2VuZGlm
CiAgICAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZW5kIGxvb3Ag
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92cSAgICAgICAg
ICUlbW0wICwgJTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2YWlsYWJsZSB0byBnY2MgLi4u
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgOiI9bSIgKGEpICAgICAKICAgICA6Im0i
IChmcm0pLCAibSIgKHJlZiksICJtIiAoaGFsZndpZHRoKQorI2lmZGVmIF9fUElDX18KKyAgICA6
IiVlYXgiLCAiJWVzaSIsICIlZWN4IgorI2Vsc2UKICAgICA6IiVlYXgiLCAiJWVieCIsICIlZWN4
IgorI2VuZGlmCiAgICAgKTsKICNlbmRpZgogICByZXR1cm4gKHVpbnQzMl90KShhWzBdK2FbMV0r
YVsyXSthWzNdKTsKQEAgLTMwMCwxMyArMzQ4LDIxIEBACiAgICAgIiBweG9yICAgICAgICAlJW1t
NyAsICUlbW03OyAgICAgICAgICAgLyogY2xlYXIgbW03ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqL1xuIgogICAgICIgbW92bCAgICAgICAgICUxICAgICwgJSVlYXg7ICAgICAgICAg
IC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYXggICAgICAgICAgICAgICAgICAgICAgICAgICov
XG4iCisjaWZkZWYgX19QSUNfXworICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlc2k7ICAg
ICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCisjZWxzZQogICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlYng7ICAgICAg
ICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYnggICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCisjZW5kaWYKICAgICAiIG1vdmwgICAgICAgICAlMyAgICAsICUlZWN4OyAgICAgICAg
ICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8gZWN4ICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAg
Ii5yZXB0IDggICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgLyogTG9vcCBmb3IgOCBsaW5l
cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdncgICAg
ICAgICglJWVheCksICAlJWR4OyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92ZCAgICAgICAgICUlZWR4
ICwgJSVtbTE7ICAgICAgICAgIC8qIDIgUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0x
ICAgICAgICAgICAgICAgICovXG4iCisjaWZkZWYgX19QSUNfXworICAgICIgbW92dyAgICAgICAg
KCUlZXNpKSwgICUlZHg7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCisjZWxzZQogICAgICIgbW92dyAgICAgICAgKCUl
ZWJ4KSwgICUlZHg7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCisjZW5kaWYKICAgICAiIG1vdmQgICAgICAgICAlJWVk
eCAsICUlbW0yOyAgICAgICAgICAvKiAyIFBpeGVscyBmcm9tIHJlZmVyZW5jZSBmcmFtZSB0byBt
bTIgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92cSAgICAgICAgICUlbW0yICwgJSVtbTM7
ICAgICAgICAgIC8qIGhvbGQgYSBjb3B5IG9mIG1tMiBpbiBtbTMgICAgICAgICAgICAgICAgICAg
ICAgICAgICovXG4iCiAgICAgIiBwc3VidXNiICAgICAgJSVtbTEgLCAlJW1tMzsgICAgICAgICAg
LyogcG9zaXRpdmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtbTIgYW5kIG1tMSAgICAgICAgICAgKi9c
biIKQEAgLTMxOCwxMyArMzc0LDIxIEBACiAgICAgIiBwYWRkdXN3ICAgICAgJSVtbTEgLCAlJW1t
MjsgICAgICAgICAgLyogYWRkIG1tMSAoc3RvcmVkIGluIG1tMSBhbmQgbW0yLi4uKSAgICAgICAg
ICAgICAgICAgKi9cbiIKICAgICAiIHBhZGR1c3cgICAgICAlJW1tMiAsICUlbW0wOyAgICAgICAg
ICAvKiB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYXg7ICAgICAgICAgIC8qIGFkZCBm
cmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisjaWZk
ZWYgX19QSUNfXworICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlc2k7ICAgICAgICAgIC8q
IGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4i
CisjZWxzZQogICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8qIGFk
ZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisj
ZW5kaWYKICAgICAiIC5lbmRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBlbmQg
bG9vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAg
ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZxICAg
ICAgICAgJSVtbTAgLCAlMCAgIDsgICAgICAgICAgLyogbWFrZSBtbTAgYXZhaWxhYmxlIHRvIGdj
YyAuLi4gICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICA6Ij1tIiAoYSkgICAgIAogICAg
IDoibSIgKGZybSksICJtIiAocmVmKSwgIm0iIChXMikKKyNpZmRlZiBfX1BJQ19fCisgICAgOiIl
ZWF4IiwgIiVlc2kiLCAiJWVjeCIKKyNlbHNlCiAgICAgOiIlZWF4IiwgIiVlYngiLCAiJWVjeCIK
KyNlbmRpZgogICAgICk7CiAjZW5kaWYKICAgcmV0dXJuICh1aW50MzJfdCkoYVswXSthWzFdK2Fb
Ml0rYVszXSthWzRdK2FbNV0rYVs2XSthWzddKTsKQEAgLTM0OCwyMiArNDEyLDM4IEBACiAgICAg
KAogICAgICIgcHhvciAgICAgICAgICUlbW0wICwgJSVtbTA7ICAgICAgICAgIC8qIGNsZWFyIG1t
MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBt
b3ZsICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBp
bnRvIGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNpZmRlZiBfX1BJQ19fCisg
ICAgIiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVzaTsgICAgICAgICAgLyogbG9hZCBmcmFtZWFk
cmVzcyBpbnRvIGVzaSAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNlbHNlCiAgICAg
IiBtb3ZsICAgICAgICAgJTIgICAgLCAlJWVieDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVz
cyBpbnRvIGVieCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNlbmRpZgogICAgICIg
bW92bCAgICAgICAgICUzICAgICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQgd2lkdGggICAgICAg
aW50byBlY3ggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIC5yZXB0IDQgICAgICAgICAgICAg
ICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92ZCAgICAgICAgKCUlZWF4KSwgJSVtbTE7ICAg
ICAgICAgIC8qIDQgUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0xICAgICAgICAgICAg
ICAgICovXG4iCisjaWZkZWYgX19QSUNfXworICAgICIgbW92ZCAgICAgICAgKCUlZXNpKSwgJSVt
bTI7ICAgICAgICAgIC8qIDQgUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0yICAgICAg
ICAgICAgICAgICovXG4iCisjZWxzZQogICAgICIgbW92ZCAgICAgICAgKCUlZWJ4KSwgJSVtbTI7
ICAgICAgICAgIC8qIDQgUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0yICAgICAgICAg
ICAgICAgICovXG4iCisjZW5kaWYKICAgICAiIHBzYWRidyAgICAgICAlJW1tMiAsICUlbW0xOyAg
ICAgICAgICAvKiA0IFBpeGVscyBkaWZmZXJlbmNlIHRvIG1tMSAgICAgICAgICAgICAgICAgICAg
ICAgICAqL1xuIgogICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAgICAgIC8q
IGFkZCByZXN1bHQgdG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4i
CiAgICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1l
d2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNpZmRlZiBf
X1BJQ19fCisgICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVzaTsgICAgICAgICAgLyogYWRk
IGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNl
bHNlCiAgICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVieDsgICAgICAgICAgLyogYWRkIGZy
YW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNlbmRp
ZgogICAgICIgLmVuZHIgICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdnEgICAgICAg
ICAlJW1tMCAsICUwICAgOyAgICAgICAgICAvKiBtYWtlIG1tMCBhdmFpbGFibGUgdG8gZ2NjIC4u
LiAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIDoiPW0iIChhKSAgICAgCiAgICAgOiJt
IiAoZnJtKSwgIm0iIChyZWYpLCAibSIgKGhhbGZ3aWR0aCkKKyNpZmRlZiBfX1BJQ19fCisgICAg
OiIlZWF4IiwgIiVlc2kiLCAiJWVjeCIKKyNlbHNlCiAgICAgOiIlZWF4IiwgIiVlYngiLCAiJWVj
eCIKKyNlbmRpZgogICAgICk7CiAjZW5kaWYKICAgcmV0dXJuIGE7CkBAIC0zODUsMjQgKzQ2NSw0
MCBAQAogICAgICgKICAgICAiIHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAgICAgICAv
KiBjbGVhciBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xu
IgogICAgICIgbW92bCAgICAgICAgICUxICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxvYWQgZnJh
bWVhZHJlc3MgaW50byBlYXggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisjaWZkZWYg
X19QSUNfXworICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlc2k7ICAgICAgICAgIC8qIGxv
YWQgZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisj
ZWxzZQogICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQg
ZnJhbWVhZHJlc3MgaW50byBlYnggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisjZW5k
aWYKICAgICAiIG1vdmwgICAgICAgICAlMyAgICAsICUlZWN4OyAgICAgICAgICAvKiBsb2FkIHdp
ZHRoICAgICAgIGludG8gZWN4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIg
ICAgICAgICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAucmVwdCA4ICAg
ICAgICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdncgICAgICAgICglJWVheCks
ICAlJWR4OyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92ZCAgICAgICAgICUlZWR4ICwgJSVtbTE7ICAg
ICAgICAgIC8qIDIgUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0xICAgICAgICAgICAg
ICAgICovXG4iCisjaWZkZWYgX19QSUNfXworICAgICIgbW92dyAgICAgICAgKCUlZXNpKSwgICUl
ZHg7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovXG4iCisjZWxzZQogICAgICIgbW92dyAgICAgICAgKCUlZWJ4KSwgICUlZHg7
ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovXG4iCisjZW5kaWYKICAgICAiIG1vdmQgICAgICAgICAlJWVkeCAsICUlbW0yOyAg
ICAgICAgICAvKiAyIFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMiAgICAgICAgICAg
ICAgICAqL1xuIgogICAgICIgcHNhZGJ3ICAgICAgICUlbW0yICwgJSVtbTE7ICAgICAgICAgIC8q
IDIgUGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0xICAgICAgICAgICAgICAgICAgICAgICAgICovXG4i
CiAgICAgIiBwYWRkdXN3ICAgICAgJSVtbTEgLCAlJW1tMDsgICAgICAgICAgLyogYWRkIHJlc3Vs
dCB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIGFk
ZGwgICAgICAgICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBm
cmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2lmZGVmIF9fUElDX18KKyAg
ICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZXNpOyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0
aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2Vsc2UKICAgICAi
IGFkZGwgICAgICAgICAlJWVjeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0
byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2VuZGlmCiAgICAgIiAu
ZW5kciAgICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92cSAgICAgICAgICUlbW0wICwg
JTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2YWlsYWJsZSB0byBnY2MgLi4uICAgICAgICAg
ICAgICAgICAgICAgICovXG4iCiAgICAgOiI9bSIgKGEpICAgICAKICAgICA6Im0iIChmcm0pLCAi
bSIgKHJlZiksICJtIiAoVzIpCisjaWZkZWYgX19QSUNfXworICAgIDoiJWVheCIsICIlZXNpIiwg
IiVlY3giCisjZWxzZQogICAgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3giCisjZW5kaWYKICAgICAp
OwogI2VuZGlmCiAgIHJldHVybiBhOwpAQCAtNDQ4LDEzICs1NDQsMjEgQEAKICAgICAgICgKIAkg
ICIgcHhvciAgICAgICAgICUlbW0wICwgJSVtbTA7ICAgICAgICAgIC8qIGNsZWFyIG1tMCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovIgogCSAgIiBtb3ZsICAgICAg
ICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8iCisjaWZkZWYgX19QSUNfXworCSAgIiBtb3ZsICAg
ICAgICAgJTIgICAgLCAlJWVzaTsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVz
aSAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCisjZWxzZQogCSAgIiBtb3ZsICAgICAgICAg
JTIgICAgLCAlJWVieDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVieCAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi8iCisjZW5kaWYKIAkgICIgbW92bCAgICAgICAgICUzICAg
ICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlY3ggICAgICAgICAg
ICAgICAgICAgICAgICAgICovIgogCSAgIiBtb3ZsICAgICAgICAgJTQgICAgLCAlJWVkeDsgICAg
ICAgICAgLyogbG9hZCB3aWR0aCAgICAgICBpbnRvIGVkeCAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi8iCiAJICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLyIKIAkgICIg
LnJlcHQgOCAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovIgogCSAgIiBtb3ZxICAgICAgICAo
JSVlYXgpLCAlJW1tMTsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0
byBtbTEgICAgICAgICAgICAgICAgKi8iCisjaWZkZWYgX19QSUNfXworCSAgIiBtb3ZxICAgICAg
ICAoJSVlc2kpLCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFt
ZSB0byBtbTIgKGRpc3BsYWNlZCkgICAgKi8iCisjZWxzZQogCSAgIiBtb3ZxICAgICAgICAoJSVl
YngpLCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBt
bTIgKGRpc3BsYWNlZCkgICAgKi8iCisjZW5kaWYKIAkgICIgbW92cSAgICAgICAgKCUlZWN4KSwg
JSVtbTM7ICAgICAgICAgIC8qIHJlZmVyZW5jZSB0byBtbTMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovIgogCSAgIiBwc3JscSAgICAgICAgJDEgICAgLCAlJW1tMTsgICAgICAg
ICAgLyogYXZlcmFnZSBzb3VyY2UgcGl4ZWxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki8iCiAJICAiIHBzcmxxICAgICAgICAkMSAgICAsICUlbW0yOyAgICAgICAgICAvKiBzaGlmdCBy
aWdodCBieSBvbmUgKGRpdmlkZSBieSB0d28pICAgICAgICAgICAgICAgICAqLyIKQEAgLTQ2OCwx
NCArNTcyLDIyIEBACiAJICAiIHBhZGR1c2IgICAgICAlJW1tMyAsICUlbW0xOyAgICAgICAgICAv
KiBtbTEgbm93IGNvbnRhaW5zIGFicyhtbTEtbW0yKSAqLyIKIAkgICIgcGFkZHVzdyAgICAgICUl
bW0xICwgJSVtbTA7ICAgICAgICAgIC8qIGFkZCByZXN1bHQgdG8gbW0wICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICovIgogCSAgIiBhZGRsICAgICAgICAgJSVlZHggLCAlJWVheDsg
ICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAg
ICAgICAgKi8iCisjaWZkZWYgX19QSUNfXworCSAgIiBhZGRsICAgICAgICAgJSVlZHggLCAlJWVz
aTsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAg
ICAgICAgICAgKi8iCisjZWxzZQogCSAgIiBhZGRsICAgICAgICAgJSVlZHggLCAlJWVieDsgICAg
ICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAg
ICAgKi8iCisjZW5kaWYKIAkgICIgYWRkbCAgICAgICAgICUlZWR4ICwgJSVlY3g7ICAgICAgICAg
IC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICov
IgogCSAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAJICAiICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLyIKIAkgICIgbW92cSAgICAgICAgICUlbW0w
ICwgJTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2YWlsYWJsZSB0byBnY2MgLi4uICAgICAg
ICAgICAgICAgICAgICAgICovIgogCSAgOiI9bSIgKGEpICAgICAKIAkgIDoibSIgKGZybTEpLCJt
IiAoZnJtMiksICJtIiAocmVmKSwgIm0iIChkZW5vaXNlci5mcmFtZS53KSwgIm0iICgqYml0X21h
c2spCisjaWZkZWYgX19QSUNfXworCSAgOiIlZWF4IiwgIiVlc2kiLCAiJWVjeCIsICIlZWR4Igor
I2Vsc2UKIAkgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3giLCAiJWVkeCIKKyNlbmRpZgogCSAgKTsK
ICNlbmRpZgogICByZXR1cm4gYTsKQEAgLTQ5NywyNiArNjA5LDQyIEBACiAgICAgICAoCiAJICAi
IHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAgICAgICAvKiBjbGVhciBtbTAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgIiBtb3ZsICAgICAg
ICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyNpZmRlZiBfX1BJQ19fCisJICAiIG1vdmwg
ICAgICAgICAlMiAgICAsICUlZXNpOyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8g
ZXNpICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2Vsc2UKIAkgICIgbW92bCAgICAg
ICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYngg
ICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisjZW5kaWYKIAkgICIgbW92bCAgICAgICAg
ICUzICAgICwgJSVlY3g7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlY3ggICAg
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJICAiIG1vdmwgICAgICAgICAlNCAgICAsICUl
ZWR4OyAgICAgICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8gZWR4ICAgICAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogCSAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgICAgICAg
ICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKIAkgICIgLnJlcHQgOCAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJICAi
IG1vdnEgICAgICAgICglJWVheCksICUlbW0xOyAgICAgICAgICAvKiA4IFBpeGVscyBmcm9tIGZp
bHRlcmVkIGZyYW1lIHRvIG1tMSAgICAgICAgICAgICAgICAqL1xuIgorI2lmZGVmIF9fUElDX18K
KwkgICIgbW92cSAgICAgICAgKCUlZXNpKSwgJSVtbTI7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZy
b20gZmlsdGVyZWQgZnJhbWUgdG8gbW0yIChkaXNwbGFjZWQpICAgICovXG4iCisjZWxzZQogCSAg
IiBtb3ZxICAgICAgICAoJSVlYngpLCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBm
aWx0ZXJlZCBmcmFtZSB0byBtbTIgKGRpc3BsYWNlZCkgICAgKi9cbiIKKyNlbmRpZgogCSAgIiBt
b3ZxICAgICAgICAoJSVlY3gpLCAlJW1tMzsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSByZWZl
cmVuY2UgZnJhbWUgdG8gbW0zICAgICAgICAgICAgICAgKi9cbiIKIAkgICIgcGF2Z2IgICAgICAg
ICUlbW0yICwgJSVtbTE7ICAgICAgICAgIC8qIGF2ZXJhZ2Ugc291cmNlIHBpeGVscyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJICAiIHBzYWRidyAgICAgICAlJW1tMyAsICUl
bW0xOyAgICAgICAgICAvKiA4IFBpeGVscyBkaWZmZXJlbmNlIHRvIG1tMSAgICAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogCSAgIiBwYWRkdXN3ICAgICAgJSVtbTEgLCAlJW1tMDsgICAgICAg
ICAgLyogYWRkIHJlc3VsdCB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKIAkgICIgYWRkbCAgICAgICAgICUlZWR4ICwgJSVlYXg7ICAgICAgICAgIC8qIGFkZCBm
cmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisjaWZk
ZWYgX19QSUNfXworCSAgIiBhZGRsICAgICAgICAgJSVlZHggLCAlJWVzaTsgICAgICAgICAgLyog
YWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIK
KyNlbHNlCiAJICAiIGFkZGwgICAgICAgICAlJWVkeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQg
ZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgorI2Vu
ZGlmCiAJICAiIGFkZGwgICAgICAgICAlJWVkeCAsICUlZWN4OyAgICAgICAgICAvKiBhZGQgZnJh
bWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgIiAu
ZW5kciAgICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKIAkgICIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJICAiIG1vdnEgICAgICAgICAlJW1tMCAsICUw
ICAgOyAgICAgICAgICAvKiBtYWtlIG1tMCBhdmFpbGFibGUgdG8gZ2NjIC4uLiAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogCSAgOiI9bSIgKGEpICAgICAKIAkgIDoibSIgKGZybTEpLCJtIiAo
ZnJtMiksICJtIiAocmVmKSwgIm0iIChkZW5vaXNlci5mcmFtZS53KQorI2lmZGVmIF9fUElDX18K
KwkgIDoiJWVheCIsICIlZXNpIiwgIiVlY3giLCAiJWVkeCIKKyNlbHNlCiAJICA6IiVlYXgiLCAi
JWVieCIsICIlZWN4IiwgIiVlZHgiCisjZW5kaWYKIAkgICk7CiAjZW5kaWYKICAgcmV0dXJuIGE7
Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50843</attachid>
            <date>2005-02-09 11:04 0000</date>
            <desc>Full patch, enabling simd-accel stuff with PIC.</desc>
            <filename>mjpegtools-1.6.2-mmx-fPIC.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdXIgbWpwZWd0b29scy0xLjYuMi5vcmlnL3l1dmRlbm9pc2UvZGVpbnRlcmxhY2UuYyBt
anBlZ3Rvb2xzLTEuNi4yL3l1dmRlbm9pc2UvZGVpbnRlcmxhY2UuYwotLS0gbWpwZWd0b29scy0x
LjYuMi5vcmlnL3l1dmRlbm9pc2UvZGVpbnRlcmxhY2UuYwkyMDA1LTAyLTA0IDIxOjQ2OjAzLjAw
MDAwMDAwMCArMDEwMAorKysgbWpwZWd0b29scy0xLjYuMi95dXZkZW5vaXNlL2RlaW50ZXJsYWNl
LmMJMjAwNS0wMi0wNCAyMTo0Njo1MC4zMjc2ODIzNzYgKzAxMDAKQEAgLTE2MSw3ICsxNjEsNyBA
QAogICAgICAgICAgICAgICAgICAgIiBweG9yICAgICAgICAlJW1tNyAsICUlbW03OyAgICAgICAg
ICAgLyogY2xlYXIgbW03ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCiAgICAgICAgICAgICAgICAgICAiIG1vdmwgICAgICAgICAlMSAgICAsICUlZWF4
OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWF4ICAgICAgICAgICAgICAgICAg
ICAgICAgICAqL1xuIgotICAgICAgICAgICAgICAgICAgIiBtb3ZsICAgICAgICAgJTIgICAgLCAl
JWVieDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVieCAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKKyAgICAgICAgICAgICAgICAgICIgbW92bCAgICAgICAgICUyICAg
ICwgJSVlc2k7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAgICAg
ICAgICAgICAgICAgICAgICovXG4iCiAgICAgICAgICAgICAgICAgICAiIG1vdmwgICAgICAgICAl
MyAgICAsICUlZWN4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWN4ICAgICAg
ICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAgICAgICAgICAgICAgICIgLnJlcHQg
MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlcGVhdCAzIHRpbWVzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCkBAIC0xNzcsNyArMTc3LDcgQEAKICAg
ICAgICAgICAgICAgICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAgICAgIC8q
IGFkZCBtbTEgKHN0b3JlZCBpbiBtbTEgYW5kIG1tMi4uLikgICAgICAgICAgICAgICAgICovXG4i
CiAgICAgICAgICAgICAgICAgICAiIHBhZGR1c3cgICAgICAlJW1tMiAsICUlbW0wOyAgICAgICAg
ICAvKiB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKLSAgICAgICAgICAgICAgICAgICIgbW92cSAgICAgICAgKCUlZWJ4KSwgJSVtbTE7
ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20gbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovXG4iCisgICAgICAgICAgICAgICAgICAiIG1vdnEgICAgICAgICglJWVzaSksICUl
bW0xOyAgICAgICAgICAvKiA4IFBpeGVscyBmcm9tIGxpbmUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogICAgICAgICAgICAgICAgICAgIiBtb3ZxICAgICAgICAoJSVlY3gp
LCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBkaXNwbGFjZWQgbGluZSAgICAgICAg
ICAgICAgICAgICAgICAgKi9cbiIKICAgICAgICAgICAgICAgICAgICIgbW92cSAgICAgICAgICUl
bW0yICwgJSVtbTM7ICAgICAgICAgIC8qIGhvbGQgYSBjb3B5IG9mIG1tMiBpbiBtbTMgICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgICAgICAgICAgICAgICAiIHBzdWJ1c2IgICAg
ICAlJW1tMSAsICUlbW0zOyAgICAgICAgICAvKiBwb3NpdGl2ZSBkaWZmZXJlbmNlcyBiZXR3ZWVu
IG1tMiBhbmQgbW0xICAgICAgICAgICAqL1xuIgpAQCAtMTg5LDE0ICsxODksMTQgQEAKICAgICAg
ICAgICAgICAgICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAgICAgIC8qIGFk
ZCBtbTEgKHN0b3JlZCBpbiBtbTEgYW5kIG1tMi4uLikgICAgICAgICAgICAgICAgICovXG4iCiAg
ICAgICAgICAgICAgICAgICAiIHBhZGR1c3cgICAgICAlJW1tMiAsICUlbW0wOyAgICAgICAgICAv
KiB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xu
IgogICAgICAgICAgICAgICAgICAgIiBhZGRsICAgICAgICAgJDggICAgLCAlJWVheDsgICAgICAg
ICAgLyogYWRkIDggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKLSAgICAgICAgICAgICAgICAgICIgYWRkbCAgICAgICAgICQ4ICAgICwgJSVlYng7ICAg
ICAgICAgIC8qIGFkZCA4IHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCisgICAgICAgICAgICAgICAgICAiIGFkZGwgICAgICAgICAkOCAgICAsICUlZXNp
OyAgICAgICAgICAvKiBhZGQgOCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqL1xuIgogICAgICAgICAgICAgICAgICAgIiBhZGRsICAgICAgICAgJDggICAgLCAl
JWVjeDsgICAgICAgICAgLyogYWRkIDggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKICAgICAgICAgICAgICAgICAgICIgLmVuZHIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8qIGVuZCBsb29wICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICovXG4iCiAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICAgICAgICAgICAgICAgIiBtb3ZxICAgICAg
ICAgJSVtbTAgLCAlMCAgIDsgICAgICAgICAgLyogbWFrZSBtbTAgYXZhaWxhYmxlIHRvIGdjYyAu
Li4gICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAgICAgICAgICAgICAgIDoiPW0iIChh
KQogICAgICAgICAgICAgICAgICAgOiJtIiAocmVmMSksICJtIiAocmVmMiksICJtIiAocmVmMykK
LSAgICAgICAgICAgICAgICAgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3giCisgICAgICAgICAgICAg
ICAgICA6IiVlYXgiLCAiJWVzaSIsICIlZWN4IgogICAgICAgICAgICAgICAgICk7CiAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICBkPWFbMF0rYVsxXSthWzJdK2FbM107CmRpZmYgLXVyIG1q
cGVndG9vbHMtMS42LjIub3JpZy95dXZkZW5vaXNlL21vdGlvbi5jIG1qcGVndG9vbHMtMS42LjIv
eXV2ZGVub2lzZS9tb3Rpb24uYwotLS0gbWpwZWd0b29scy0xLjYuMi5vcmlnL3l1dmRlbm9pc2Uv
bW90aW9uLmMJMjAwNS0wMi0wNCAyMTo0NjowMy4wMDAwMDAwMDAgKzAxMDAKKysrIG1qcGVndG9v
bHMtMS42LjIveXV2ZGVub2lzZS9tb3Rpb24uYwkyMDA1LTAyLTA0IDIxOjQ3OjM3LjA0NTU4MDE3
NiArMDEwMApAQCAtMTQ2LDEyICsxNDYsMTIgQEAKICAgICAiIHB4b3IgICAgICAgICUlbW03ICwg
JSVtbTc7ICAgICAgICAgICAvKiBjbGVhciBtbTcgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCiAgICAgIiBtb3ZsICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyog
bG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIK
LSAgICAiIG1vdmwgICAgICAgICAlMiAgICAsICUlZWJ4OyAgICAgICAgICAvKiBsb2FkIGZyYW1l
YWRyZXNzIGludG8gZWJ4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgbW92
bCAgICAgICAgICUyICAgICwgJSVlc2k7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50
byBlc2kgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZsICAgICAgICAg
JTMgICAgLCAlJWVjeDsgICAgICAgICAgLyogbG9hZCB3aWR0aCAgICAgICBpbnRvIGVjeCAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogICAgICIucmVwdCA4ICAgICAgICAgICAgICAgICAgICA7ICAgICAg
ICAgIC8qIExvb3AgZm9yIDggbGluZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAoJSVlYXgpLCAlJW1tMTsgICAgICAgICAgLyogOCBQ
aXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAgICAgICAgICAgKi9cbiIKLSAg
ICAiIG1vdnEgICAgICAgICglJWVieCksICUlbW0yOyAgICAgICAgICAvKiA4IFBpeGVscyBmcm9t
IHJlZmVyZW5jZSBmcmFtZSB0byBtbTIgICAgICAgICAgICAgICAqL1xuIgorICAgICIgbW92cSAg
ICAgICAgKCUlZXNpKSwgJSVtbTI7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20gcmVmZXJlbmNl
IGZyYW1lIHRvIG1tMiAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAgJSVt
bTIgLCAlJW1tMzsgICAgICAgICAgLyogaG9sZCBhIGNvcHkgb2YgbW0yIGluIG1tMyAgICAgICAg
ICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIHBzdWJ1c2IgICAgICAlJW1tMSAsICUlbW0z
OyAgICAgICAgICAvKiBwb3NpdGl2ZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIG1tMiBhbmQgbW0xICAg
ICAgICAgICAqL1xuIgogICAgICIgcHN1YnVzYiAgICAgICUlbW0yICwgJSVtbTE7ICAgICAgICAg
IC8qIHBvc2l0aXZlIGRpZmZlcmVuY2VzIGJldHdlZW4gbW0xIGFuZCBtbTMgICAgICAgICAgICov
XG4iCkBAIC0xNjIsMTMgKzE2MiwxMyBAQAogICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVt
bTA7ICAgICAgICAgIC8qIGFkZCBtbTEgKHN0b3JlZCBpbiBtbTEgYW5kIG1tMi4uLikgICAgICAg
ICAgICAgICAgICovXG4iCiAgICAgIiBwYWRkdXN3ICAgICAgJSVtbTIgLCAlJW1tMDsgICAgICAg
ICAgLyogdG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKICAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQg
ZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgotICAg
ICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRo
IHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisgICAgIiBhZGRsICAg
ICAgICAgJSVlY3ggLCAlJWVzaTsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVh
ZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIC5lbmRyICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvKiBlbmQgbG9vcCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAgICAgICAg
LyogbWFrZSBtbTAgYXZhaWxhYmxlIHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAgICAgKi9c
biIKICAgICA6Ij1tIiAoYSkgICAgIAogICAgIDoibSIgKGZybSksICJtIiAocmVmKSwgIm0iIChk
ZW5vaXNlci5mcmFtZS53KQotICAgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3giCisgICAgOiIlZWF4
IiwgIiVlc2kiLCAiJWVjeCIKICAgICApOwogI2VuZGlmCiAKQEAgLTE5MSwyMSArMTkxLDIxIEBA
CiAgICAgKAogICAgICIgcHhvciAgICAgICAgICUlbW0wICwgJSVtbTA7ICAgICAgICAgIC8qIGNs
ZWFyIG1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAg
ICAgIiBtb3ZsICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFk
cmVzcyBpbnRvIGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIG1vdmwg
ICAgICAgICAlMiAgICAsICUlZWJ4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8g
ZWJ4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgbW92bCAgICAgICAgICUy
ICAgICwgJSVlc2k7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZsICAgICAgICAgJTMgICAgLCAlJWVj
eDsgICAgICAgICAgLyogbG9hZCB3aWR0aCAgICAgICBpbnRvIGVjeCAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgICAgICAg
ICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICIgLnJlcHQgOCAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAg
IiBtb3ZxICAgICAgICAoJSVlYXgpLCAlJW1tMTsgICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBm
aWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIHBzYWRidyAg
ICAgICglJWVieCksICUlbW0xOyAgICAgICAgICAvKiA4IFBpeGVscyBkaWZmZXJlbmNlIHRvIG1t
MSAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgcHNhZGJ3ICAgICAgKCUlZXNp
KSwgJSVtbTE7ICAgICAgICAgIC8qIDggUGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0xICAgICAgICAg
ICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBwYWRkdXN3ICAgICAgJSVtbTEgLCAlJW1tMDsg
ICAgICAgICAgLyogYWRkIHJlc3VsdCB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi9cbiIKICAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAv
KiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xu
IgotICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8qIGFkZCBmcmFt
ZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisgICAgIiBh
ZGRsICAgICAgICAgJSVlY3ggLCAlJWVzaTsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8g
ZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIC5lbmRyICAgICAg
ICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAg
ICAgICAgLyogbWFrZSBtbTAgYXZhaWxhYmxlIHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKICAgICA6Ij1tIiAoYSkgICAgIAogICAgIDoibSIgKGZybSksICJtIiAocmVmKSwg
Im0iIChkZW5vaXNlci5mcmFtZS53KQotICAgIDoiJWVheCIsICIlZWJ4IiwgIiVlY3giCisgICAg
OiIlZWF4IiwgIiVlc2kiLCAiJWVjeCIKICAgICApOwogI2VuZGlmCiAgIHJldHVybiBhOwpAQCAt
MjU0LDEyICsyNTQsMTIgQEAKICAgICAiIHB4b3IgICAgICAgICUlbW03ICwgJSVtbTc7ICAgICAg
ICAgICAvKiBjbGVhciBtbTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqL1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAg
ICAgIiBtb3ZsICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFk
cmVzcyBpbnRvIGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIG1vdmwg
ICAgICAgICAlMiAgICAsICUlZWJ4OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8g
ZWJ4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgbW92bCAgICAgICAgICUy
ICAgICwgJSVlc2k7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZsICAgICAgICAgJTMgICAgLCAlJWVj
eDsgICAgICAgICAgLyogbG9hZCB3aWR0aCAgICAgICBpbnRvIGVjeCAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
L1xuIgogICAgICIucmVwdCA0ICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qIExvb3Ag
Zm9yIDQgbGluZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAg
IiBtb3ZkICAgICAgICAoJSVlYXgpLCAlJW1tMTsgICAgICAgICAgLyogNCBQaXhlbHMgZnJvbSBm
aWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIG1vdmQgICAg
ICAgICglJWVieCksICUlbW0yOyAgICAgICAgICAvKiA0IFBpeGVscyBmcm9tIHJlZmVyZW5jZSBm
cmFtZSB0byBtbTIgICAgICAgICAgICAgICAqL1xuIgorICAgICIgbW92ZCAgICAgICAgKCUlZXNp
KSwgJSVtbTI7ICAgICAgICAgIC8qIDQgUGl4ZWxzIGZyb20gcmVmZXJlbmNlIGZyYW1lIHRvIG1t
MiAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAgJSVtbTIgLCAlJW1tMzsg
ICAgICAgICAgLyogaG9sZCBhIGNvcHkgb2YgbW0yIGluIG1tMyAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi9cbiIKICAgICAiIHBzdWJ1c2IgICAgICAlJW1tMSAsICUlbW0zOyAgICAgICAgICAv
KiBwb3NpdGl2ZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIG1tMiBhbmQgbW0xICAgICAgICAgICAqL1xu
IgogICAgICIgcHN1YnVzYiAgICAgICUlbW0yICwgJSVtbTE7ICAgICAgICAgIC8qIHBvc2l0aXZl
IGRpZmZlcmVuY2VzIGJldHdlZW4gbW0xIGFuZCBtbTMgICAgICAgICAgICovXG4iCkBAIC0yNzAs
MTMgKzI3MCwxMyBAQAogICAgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTI7ICAgICAgICAg
IC8qIGFkZCBtbTEgKHN0b3JlZCBpbiBtbTEgYW5kIG1tMi4uLikgICAgICAgICAgICAgICAgICov
XG4iCiAgICAgIiBwYWRkdXN3ICAgICAgJSVtbTIgLCAlJW1tMDsgICAgICAgICAgLyogdG8gbW0w
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAi
IGFkZGwgICAgICAgICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0
byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgotICAgICIgYWRkbCAgICAg
ICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRk
cmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisgICAgIiBhZGRsICAgICAgICAgJSVlY3gg
LCAlJWVzaTsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAg
ICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIC5lbmRyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvKiBlbmQgbG9vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqL1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4i
CiAgICAgIiBtb3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAgICAgICAgLyogbWFrZSBtbTAg
YXZhaWxhYmxlIHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICA6Ij1t
IiAoYSkgICAgIAogICAgIDoibSIgKGZybSksICJtIiAocmVmKSwgIm0iIChoYWxmd2lkdGgpCi0g
ICAgOiIlZWF4IiwgIiVlYngiLCAiJWVjeCIKKyAgICA6IiVlYXgiLCAiJWVzaSIsICIlZWN4Igog
ICAgICk7CiAjZW5kaWYKICAgcmV0dXJuICh1aW50MzJfdCkoYVswXSthWzFdK2FbMl0rYVszXSk7
CkBAIC0zMDAsMTMgKzMwMCwxMyBAQAogICAgICIgcHhvciAgICAgICAgJSVtbTcgLCAlJW1tNzsg
ICAgICAgICAgIC8qIGNsZWFyIG1tNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovXG4iCiAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9c
biIKICAgICAiIG1vdmwgICAgICAgICAlMSAgICAsICUlZWF4OyAgICAgICAgICAvKiBsb2FkIGZy
YW1lYWRyZXNzIGludG8gZWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgotICAgICIg
bW92bCAgICAgICAgICUyICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3Mg
aW50byBlYnggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisgICAgIiBtb3ZsICAgICAg
ICAgJTIgICAgLCAlJWVzaTsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVzaSAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdmwgICAgICAgICAlMyAgICAs
ICUlZWN4OyAgICAgICAgICAvKiBsb2FkIHdpZHRoICAgICAgIGludG8gZWN4ICAgICAgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovXG4iCiAgICAgIi5yZXB0IDggICAgICAgICAgICAgICAgICAgIDsgICAgICAgICAgLyog
TG9vcCBmb3IgOCBsaW5lcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIK
ICAgICAiIG1vdncgICAgICAgICglJWVheCksICAlJWR4OyAgICAgICAgICAvKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgbW92
ZCAgICAgICAgICUlZWR4ICwgJSVtbTE7ICAgICAgICAgIC8qIDIgUGl4ZWxzIGZyb20gZmlsdGVy
ZWQgZnJhbWUgdG8gbW0xICAgICAgICAgICAgICAgICovXG4iCi0gICAgIiBtb3Z3ICAgICAgICAo
JSVlYngpLCAgJSVkeDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKyAgICAiIG1vdncgICAgICAgICglJWVzaSksICAl
JWR4OyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqL1xuIgogICAgICIgbW92ZCAgICAgICAgICUlZWR4ICwgJSVtbTI7ICAgICAg
ICAgIC8qIDIgUGl4ZWxzIGZyb20gcmVmZXJlbmNlIGZyYW1lIHRvIG1tMiAgICAgICAgICAgICAg
ICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAgJSVtbTIgLCAlJW1tMzsgICAgICAgICAgLyogaG9s
ZCBhIGNvcHkgb2YgbW0yIGluIG1tMyAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAg
ICAiIHBzdWJ1c2IgICAgICAlJW1tMSAsICUlbW0zOyAgICAgICAgICAvKiBwb3NpdGl2ZSBkaWZm
ZXJlbmNlcyBiZXR3ZWVuIG1tMiBhbmQgbW0xICAgICAgICAgICAqL1xuIgpAQCAtMzE4LDEzICsz
MTgsMTMgQEAKICAgICAiIHBhZGR1c3cgICAgICAlJW1tMSAsICUlbW0yOyAgICAgICAgICAvKiBh
ZGQgbW0xIChzdG9yZWQgaW4gbW0xIGFuZCBtbTIuLi4pICAgICAgICAgICAgICAgICAqL1xuIgog
ICAgICIgcGFkZHVzdyAgICAgICUlbW0yICwgJSVtbTA7ICAgICAgICAgIC8qIHRvIG1tMCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBhZGRs
ICAgICAgICAgJSVlY3ggLCAlJWVheDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJh
bWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLSAgICAiIGFkZGwgICAgICAgICAl
JWVjeCAsICUlZWJ4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3Mg
ICAgICAgICAgICAgICAgICAgICAqL1xuIgorICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVl
c2k7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAg
ICAgICAgICAgICovXG4iCiAgICAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLyogZW5kIGxvb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki9cbiIKICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAg
ICIgbW92cSAgICAgICAgICUlbW0wICwgJTAgICA7ICAgICAgICAgIC8qIG1ha2UgbW0wIGF2YWls
YWJsZSB0byBnY2MgLi4uICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgOiI9bSIgKGEp
ICAgICAKICAgICA6Im0iIChmcm0pLCAibSIgKHJlZiksICJtIiAoVzIpCi0gICAgOiIlZWF4Iiwg
IiVlYngiLCAiJWVjeCIKKyAgICA6IiVlYXgiLCAiJWVzaSIsICIlZWN4IgogICAgICk7CiAjZW5k
aWYKICAgcmV0dXJuICh1aW50MzJfdCkoYVswXSthWzFdK2FbMl0rYVszXSthWzRdK2FbNV0rYVs2
XSthWzddKTsKQEAgLTM0OCwyMiArMzQ4LDIyIEBACiAgICAgKAogICAgICIgcHhvciAgICAgICAg
ICUlbW0wICwgJSVtbTA7ICAgICAgICAgIC8qIGNsZWFyIG1tMCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZsICAgICAgICAgJTEgICAgLCAl
JWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKLSAgICAiIG1vdmwgICAgICAgICAlMiAgICAsICUlZWJ4OyAgICAg
ICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWJ4ICAgICAgICAgICAgICAgICAgICAgICAg
ICAqL1xuIgorICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlc2k7ICAgICAgICAgIC8qIGxv
YWQgZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAg
ICAgIiBtb3ZsICAgICAgICAgJTMgICAgLCAlJWVjeDsgICAgICAgICAgLyogbG9hZCB3aWR0aCAg
ICAgICBpbnRvIGVjeCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgLnJlcHQgNCAgICAgICAg
ICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZkICAgICAgICAoJSVlYXgpLCAlJW1t
MTsgICAgICAgICAgLyogNCBQaXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAg
ICAgICAgICAgKi9cbiIKLSAgICAiIG1vdmQgICAgICAgICglJWVieCksICUlbW0yOyAgICAgICAg
ICAvKiA0IFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMiAgICAgICAgICAgICAgICAq
L1xuIgorICAgICIgbW92ZCAgICAgICAgKCUlZXNpKSwgJSVtbTI7ICAgICAgICAgIC8qIDQgUGl4
ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0yICAgICAgICAgICAgICAgICovXG4iCiAgICAg
IiBwc2FkYncgICAgICAgJSVtbTIgLCAlJW1tMTsgICAgICAgICAgLyogNCBQaXhlbHMgZGlmZmVy
ZW5jZSB0byBtbTEgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIHBhZGR1c3cg
ICAgICAlJW1tMSAsICUlbW0wOyAgICAgICAgICAvKiBhZGQgcmVzdWx0IHRvIG1tMCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgYWRkbCAgICAgICAgICUlZWN4
ICwgJSVlYXg7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAg
ICAgICAgICAgICAgICAgICovXG4iCi0gICAgIiBhZGRsICAgICAgICAgJSVlY3ggLCAlJWVieDsg
ICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAg
ICAgICAgKi9cbiIKKyAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZXNpOyAgICAgICAgICAv
KiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xu
IgogICAgICIgLmVuZHIgICAgICAgICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdnEgICAgICAg
ICAlJW1tMCAsICUwICAgOyAgICAgICAgICAvKiBtYWtlIG1tMCBhdmFpbGFibGUgdG8gZ2NjIC4u
LiAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgIDoiPW0iIChhKSAgICAgCiAgICAgOiJt
IiAoZnJtKSwgIm0iIChyZWYpLCAibSIgKGhhbGZ3aWR0aCkKLSAgICA6IiVlYXgiLCAiJWVieCIs
ICIlZWN4IgorICAgIDoiJWVheCIsICIlZXNpIiwgIiVlY3giCiAgICAgKTsKICNlbmRpZgogICBy
ZXR1cm4gYTsKQEAgLTM4NSwyNCArMzg1LDI0IEBACiAgICAgKAogICAgICIgcHhvciAgICAgICAg
ICUlbW0wICwgJSVtbTA7ICAgICAgICAgIC8qIGNsZWFyIG1tMCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZsICAgICAgICAgJTEgICAgLCAl
JWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVheCAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKLSAgICAiIG1vdmwgICAgICAgICAlMiAgICAsICUlZWJ4OyAgICAg
ICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZWJ4ICAgICAgICAgICAgICAgICAgICAgICAg
ICAqL1xuIgorICAgICIgbW92bCAgICAgICAgICUyICAgICwgJSVlc2k7ICAgICAgICAgIC8qIGxv
YWQgZnJhbWVhZHJlc3MgaW50byBlc2kgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAg
ICAgIiBtb3ZsICAgICAgICAgJTMgICAgLCAlJWVjeDsgICAgICAgICAgLyogbG9hZCB3aWR0aCAg
ICAgICBpbnRvIGVjeCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgLnJlcHQgOCAgICAgICAg
ICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3Z3ICAgICAgICAoJSVlYXgpLCAgJSVk
eDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi9cbiIKICAgICAiIG1vdmQgICAgICAgICAlJWVkeCAsICUlbW0xOyAgICAgICAg
ICAvKiAyIFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMSAgICAgICAgICAgICAgICAq
L1xuIgotICAgICIgbW92dyAgICAgICAgKCUlZWJ4KSwgICUlZHg7ICAgICAgICAgIC8qICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCisgICAg
IiBtb3Z3ICAgICAgICAoJSVlc2kpLCAgJSVkeDsgICAgICAgICAgLyogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIG1vdmQgICAg
ICAgICAlJWVkeCAsICUlbW0yOyAgICAgICAgICAvKiAyIFBpeGVscyBmcm9tIGZpbHRlcmVkIGZy
YW1lIHRvIG1tMiAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgcHNhZGJ3ICAgICAgICUlbW0y
ICwgJSVtbTE7ICAgICAgICAgIC8qIDIgUGl4ZWxzIGRpZmZlcmVuY2UgdG8gbW0xICAgICAgICAg
ICAgICAgICAgICAgICAgICovXG4iCiAgICAgIiBwYWRkdXN3ICAgICAgJSVtbTEgLCAlJW1tMDsg
ICAgICAgICAgLyogYWRkIHJlc3VsdCB0byBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi9cbiIKICAgICAiIGFkZGwgICAgICAgICAlJWVjeCAsICUlZWF4OyAgICAgICAgICAv
KiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xu
IgotICAgICIgYWRkbCAgICAgICAgICUlZWN4ICwgJSVlYng7ICAgICAgICAgIC8qIGFkZCBmcmFt
ZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCisgICAgIiBh
ZGRsICAgICAgICAgJSVlY3ggLCAlJWVzaTsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGggdG8g
ZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKICAgICAiIC5lbmRyICAgICAg
ICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogICAgICIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovXG4iCiAgICAgIiBtb3ZxICAgICAgICAgJSVtbTAgLCAlMCAgIDsgICAg
ICAgICAgLyogbWFrZSBtbTAgYXZhaWxhYmxlIHRvIGdjYyAuLi4gICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKICAgICA6Ij1tIiAoYSkgICAgIAogICAgIDoibSIgKGZybSksICJtIiAocmVmKSwg
Im0iIChXMikKLSAgICA6IiVlYXgiLCAiJWVieCIsICIlZWN4IgorICAgIDoiJWVheCIsICIlZXNp
IiwgIiVlY3giCiAgICAgKTsKICNlbmRpZgogICByZXR1cm4gYTsKQEAgLTQ0OCwxMyArNDQ4LDEz
IEBACiAgICAgICAoCiAJICAiIHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAgICAgICAv
KiBjbGVhciBtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLyIK
IAkgICIgbW92bCAgICAgICAgICUxICAgICwgJSVlYXg7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVh
ZHJlc3MgaW50byBlYXggICAgICAgICAgICAgICAgICAgICAgICAgICovIgotCSAgIiBtb3ZsICAg
ICAgICAgJTIgICAgLCAlJWVieDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVi
eCAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCisJICAiIG1vdmwgICAgICAgICAlMiAgICAs
ICUlZXNpOyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZXNpICAgICAgICAgICAg
ICAgICAgICAgICAgICAqLyIKIAkgICIgbW92bCAgICAgICAgICUzICAgICwgJSVlY3g7ICAgICAg
ICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlY3ggICAgICAgICAgICAgICAgICAgICAgICAg
ICovIgogCSAgIiBtb3ZsICAgICAgICAgJTQgICAgLCAlJWVkeDsgICAgICAgICAgLyogbG9hZCB3
aWR0aCAgICAgICBpbnRvIGVkeCAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAJICAiICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLyIKIAkgICIgLnJlcHQgOCAgICAgICAg
ICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICovIgogCSAgIiBtb3ZxICAgICAgICAoJSVlYXgpLCAlJW1tMTsg
ICAgICAgICAgLyogOCBQaXhlbHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTEgICAgICAgICAg
ICAgICAgKi8iCi0JICAiIG1vdnEgICAgICAgICglJWVieCksICUlbW0yOyAgICAgICAgICAvKiA4
IFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMiAoZGlzcGxhY2VkKSAgICAqLyIKKwkg
ICIgbW92cSAgICAgICAgKCUlZXNpKSwgJSVtbTI7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20g
ZmlsdGVyZWQgZnJhbWUgdG8gbW0yIChkaXNwbGFjZWQpICAgICovIgogCSAgIiBtb3ZxICAgICAg
ICAoJSVlY3gpLCAlJW1tMzsgICAgICAgICAgLyogcmVmZXJlbmNlIHRvIG1tMyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAJICAiIHBzcmxxICAgICAgICAkMSAgICAsICUl
bW0xOyAgICAgICAgICAvKiBhdmVyYWdlIHNvdXJjZSBwaXhlbHMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqLyIKIAkgICIgcHNybHEgICAgICAgICQxICAgICwgJSVtbTI7ICAgICAgICAg
IC8qIHNoaWZ0IHJpZ2h0IGJ5IG9uZSAoZGl2aWRlIGJ5IHR3bykgICAgICAgICAgICAgICAgICov
IgpAQCAtNDY4LDE0ICs0NjgsMTQgQEAKIAkgICIgcGFkZHVzYiAgICAgICUlbW0zICwgJSVtbTE7
ICAgICAgICAgIC8qIG1tMSBub3cgY29udGFpbnMgYWJzKG1tMS1tbTIpICovIgogCSAgIiBwYWRk
dXN3ICAgICAgJSVtbTEgLCAlJW1tMDsgICAgICAgICAgLyogYWRkIHJlc3VsdCB0byBtbTAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8iCiAJICAiIGFkZGwgICAgICAgICAlJWVk
eCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAg
ICAgICAgICAgICAgICAgICAqLyIKLQkgICIgYWRkbCAgICAgICAgICUlZWR4ICwgJSVlYng7ICAg
ICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRkcmVzcyAgICAgICAgICAgICAgICAg
ICAgICovIgorCSAgIiBhZGRsICAgICAgICAgJSVlZHggLCAlJWVzaTsgICAgICAgICAgLyogYWRk
IGZyYW1ld2lkdGggdG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi8iCiAJICAi
IGFkZGwgICAgICAgICAlJWVkeCAsICUlZWN4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0
byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqLyIKIAkgICIgLmVuZHIgICAgICAg
ICAgICAgICAgICAgICA7ICAgICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovIgogCSAgIiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi8iCiAJICAiIG1vdnEgICAgICAgICAlJW1tMCAsICUwICAgOyAgICAgICAgICAv
KiBtYWtlIG1tMCBhdmFpbGFibGUgdG8gZ2NjIC4uLiAgICAgICAgICAgICAgICAgICAgICAqLyIK
IAkgIDoiPW0iIChhKSAgICAgCiAJICA6Im0iIChmcm0xKSwibSIgKGZybTIpLCAibSIgKHJlZiks
ICJtIiAoZGVub2lzZXIuZnJhbWUudyksICJtIiAoKmJpdF9tYXNrKQotCSAgOiIlZWF4IiwgIiVl
YngiLCAiJWVjeCIsICIlZWR4IgorCSAgOiIlZWF4IiwgIiVlc2kiLCAiJWVjeCIsICIlZWR4Igog
CSAgKTsKICNlbmRpZgogICByZXR1cm4gYTsKQEAgLTQ5NywyNiArNDk3LDI2IEBACiAgICAgICAo
CiAJICAiIHB4b3IgICAgICAgICAlJW1tMCAsICUlbW0wOyAgICAgICAgICAvKiBjbGVhciBtbTAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgIiBtb3Zs
ICAgICAgICAgJTEgICAgLCAlJWVheDsgICAgICAgICAgLyogbG9hZCBmcmFtZWFkcmVzcyBpbnRv
IGVheCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiIKLQkgICIgbW92bCAgICAgICAgICUy
ICAgICwgJSVlYng7ICAgICAgICAgIC8qIGxvYWQgZnJhbWVhZHJlc3MgaW50byBlYnggICAgICAg
ICAgICAgICAgICAgICAgICAgICovXG4iCisJICAiIG1vdmwgICAgICAgICAlMiAgICAsICUlZXNp
OyAgICAgICAgICAvKiBsb2FkIGZyYW1lYWRyZXNzIGludG8gZXNpICAgICAgICAgICAgICAgICAg
ICAgICAgICAqL1xuIgogCSAgIiBtb3ZsICAgICAgICAgJTMgICAgLCAlJWVjeDsgICAgICAgICAg
LyogbG9hZCBmcmFtZWFkcmVzcyBpbnRvIGVjeCAgICAgICAgICAgICAgICAgICAgICAgICAgKi9c
biIKIAkgICIgbW92bCAgICAgICAgICU0ICAgICwgJSVlZHg7ICAgICAgICAgIC8qIGxvYWQgd2lk
dGggICAgICAgaW50byBlZHggICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJICAiICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOyAgICAgICAgICAvKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgIiAucmVwdCA4ICAgICAg
ICAgICAgICAgICAgIDsgICAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi9cbiIKIAkgICIgbW92cSAgICAgICAgKCUlZWF4KSwgJSVt
bTE7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20gZmlsdGVyZWQgZnJhbWUgdG8gbW0xICAgICAg
ICAgICAgICAgICovXG4iCi0JICAiIG1vdnEgICAgICAgICglJWVieCksICUlbW0yOyAgICAgICAg
ICAvKiA4IFBpeGVscyBmcm9tIGZpbHRlcmVkIGZyYW1lIHRvIG1tMiAoZGlzcGxhY2VkKSAgICAq
L1xuIgorCSAgIiBtb3ZxICAgICAgICAoJSVlc2kpLCAlJW1tMjsgICAgICAgICAgLyogOCBQaXhl
bHMgZnJvbSBmaWx0ZXJlZCBmcmFtZSB0byBtbTIgKGRpc3BsYWNlZCkgICAgKi9cbiIKIAkgICIg
bW92cSAgICAgICAgKCUlZWN4KSwgJSVtbTM7ICAgICAgICAgIC8qIDggUGl4ZWxzIGZyb20gcmVm
ZXJlbmNlIGZyYW1lIHRvIG1tMyAgICAgICAgICAgICAgICovXG4iCiAJICAiIHBhdmdiICAgICAg
ICAlJW1tMiAsICUlbW0xOyAgICAgICAgICAvKiBhdmVyYWdlIHNvdXJjZSBwaXhlbHMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgIiBwc2FkYncgICAgICAgJSVtbTMgLCAl
JW1tMTsgICAgICAgICAgLyogOCBQaXhlbHMgZGlmZmVyZW5jZSB0byBtbTEgICAgICAgICAgICAg
ICAgICAgICAgICAgKi9cbiIKIAkgICIgcGFkZHVzdyAgICAgICUlbW0xICwgJSVtbTA7ICAgICAg
ICAgIC8qIGFkZCByZXN1bHQgdG8gbW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovXG4iCiAJICAiIGFkZGwgICAgICAgICAlJWVkeCAsICUlZWF4OyAgICAgICAgICAvKiBhZGQg
ZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAqL1xuIgotCSAg
IiBhZGRsICAgICAgICAgJSVlZHggLCAlJWVieDsgICAgICAgICAgLyogYWRkIGZyYW1ld2lkdGgg
dG8gZnJhbWVhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgKi9cbiIKKwkgICIgYWRkbCAgICAg
ICAgICUlZWR4ICwgJSVlc2k7ICAgICAgICAgIC8qIGFkZCBmcmFtZXdpZHRoIHRvIGZyYW1lYWRk
cmVzcyAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJICAiIGFkZGwgICAgICAgICAlJWVkeCAs
ICUlZWN4OyAgICAgICAgICAvKiBhZGQgZnJhbWV3aWR0aCB0byBmcmFtZWFkZHJlc3MgICAgICAg
ICAgICAgICAgICAgICAqL1xuIgogCSAgIiAuZW5kciAgICAgICAgICAgICAgICAgICAgIDsgICAg
ICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi9cbiIKIAkgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4iCiAJ
ICAiIG1vdnEgICAgICAgICAlJW1tMCAsICUwICAgOyAgICAgICAgICAvKiBtYWtlIG1tMCBhdmFp
bGFibGUgdG8gZ2NjIC4uLiAgICAgICAgICAgICAgICAgICAgICAqL1xuIgogCSAgOiI9bSIgKGEp
ICAgICAKIAkgIDoibSIgKGZybTEpLCJtIiAoZnJtMiksICJtIiAocmVmKSwgIm0iIChkZW5vaXNl
ci5mcmFtZS53KQotCSAgOiIlZWF4IiwgIiVlYngiLCAiJWVjeCIsICIlZWR4IgorCSAgOiIlZWF4
IiwgIiVlc2kiLCAiJWVjeCIsICIlZWR4IgogCSAgKTsKICNlbmRpZgogICByZXR1cm4gYTsKLS0t
IG1qcGVndG9vbHMtMS42LjIub3JpZy9tcGVnMmVuYy9xdWFudF9tbXgucwkyMDA1LTAyLTA0IDIy
OjU4OjUzLjAwMDAwMDAwMCArMDEwMAorKysgbWpwZWd0b29scy0xLjYuMi9tcGVnMmVuYy9xdWFu
dF9tbXgucwkyMDA1LTAyLTA1IDE3OjQwOjIwLjcyOTM3Mzk1MiArMDEwMApAQCAtMTgsNiArMTgs
MTYgQEAKIDsKIDsKIDsKKzsgS2V2aW4gRi4gUXVpbm4gMDYgRmViIDIwMDUgLSBhZGQgR09UIGZv
ciBsb2NhbCBkYXRhIHJlZmVyZW5jZSwgaW4gb3JkZXIKKzsgdG8gYXZvaWQgVEVYVFJFTCBjYXVz
ZWQgYnkgbG9jYWwgZGF0YSBvdmVyZmxpbS4gIENoYW5nZXMgbWFya2VkIHdpdGgKKzsgJ0tGUSBz
dGFydCcgYW5kICdLRlEgZW5kJworCisKKzsgS0ZRIHN0YXJ0Cis7IEFkZCByZWZlcmVuY2UgdG8g
R09UIGZvciBQSUMtYWJpbGl0eQorZXh0ZXJuIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXworOyBLRlEg
ZW5kCisKIDsgIHF1YW50aXplX25pX21teC5zOiAgTU1YIG9wdGltaXplZCBjb2VmZmljaWVudCBx
dWFudGl6YXRpb24gc3ViLXJvdXRpbmUKIAogCkBAIC03NSw2ICs4NSwxNiBAQAogCXB1c2ggZXNp
ICAgICAKIAlwdXNoIGVkaQogCis7IEtGUSBzdGFydCAtIG5ldyBjb2RlIHNlZ21lbnQKKzsgUmV0
cmlldmUgdGhlIEdPVCwgYW5kIGdldCBvdmVyZmxpbSBsb2NhdGlvbiByZWxhdGl2ZSB0byBpdAor
ICAgICAgICBjYWxsIC5nZXRfR09UCisuZ2V0X0dPVDoKKyAgICAgICAgcG9wIGVzaQorICAgICAg
ICBhZGQgZXNpLCBfR0xPQkFMX09GRlNFVF9UQUJMRV8rJCQtLmdldF9HT1Qgd3J0IC4uZ290cGMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisJbW92cSAgbW02LCBb
ZXNpK292ZXJmbGltIHdydCAuLmdvdG9mZl07IG92ZXJmbG93IGxpbWl0Cis7IG5vdGU7IGRvbid0
IG5lZWQgR09UIGFnYWluLCBzbyByZXVzZSBvZiBlc2kgZnJvbSBoZXJlIG9uIGlzIG9rLgorOyBL
RlEgZW5kCisKIAltb3YgZWRpLCBbZWJwKzhdICAgIDsgZ2V0IGRzdAogCW1vdiBlc2ksIFtlYnAr
MTJdCTsgZ2V0IHBzcmMKIAltb3YgZWJ4LCBbZWJwKzE2XQk7IGdldCBwcW0KQEAgLTg0LDcgKzEw
NCwxMCBAQAogCXB1bnBja2x3ZCBtbTAsIG1tMSAgCiAJcHVucGNrbHdkIG1tMCwgbW0wICAgIDsg
bW0wID0gW2ltcXVhbnR8MC4uM11XCiAJCi0JbW92cSAgbW02LCBbb3ZlcmZsaW1dOyBvdmVyZmxv
dyBsaW1pdAorOyBLRlEgc3RhcnQKKzsgbW92ZWQgdXAsIHRvIHJldHJpZXZlIHZpYSBHT1QgYmVm
b3JlIGFsbCB0aGUgcmVnaXN0ZXJzIGFyZSBpbiB1c2UKKzsJbW92cSAgbW02LCBbb3ZlcmZsaW1d
OyBvdmVyZmxvdyBsaW1pdAorOyBLRlEgZW5kCiAKIAltb3ZkIG1tMSwgW2VicCszMl0gIDsgc2F0
X2xpbWl0CiAJbW92cSBtbTIsIG1tMQotLS0gbWpwZWd0b29scy0xLjYuMi5vcmlnL3V0aWxzL21t
eHNzZS9tYmxvY2tfc3Vtc3FfbW14LnMJMjAwNS0wMi0wNSAxODowMjoyOC4wMDAwMDAwMDAgKzAx
MDAKKysrIG1qcGVndG9vbHMtMS42LjIvdXRpbHMvbW14c3NlL21ibG9ja19zdW1zcV9tbXgucwky
MDA1LTAyLTA1IDE5OjAwOjUwLjc1ODA5Nzk3NiArMDEwMApAQCAtMTcsNiArMTcsMTUgQEAKIDsg
IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCiA7ICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJv
c3RvbiwgTUEgIDAyMTExLTEzMDcsIFVTQS4KIDsKKzsgS2V2aW4gRi4gUXVpbm4gMDYgRmViIDIw
MDUgLSBhZGQgR09UIGZvciBsb2NhbCBkYXRhIHJlZmVyZW5jZSwgaW4gb3JkZXIKKzsgdG8gYXZv
aWQgVEVYVFJFTCBjYXVzZWQgYnkgbG9jYWwgZGF0YSAidHdvcyIuICBDaGFuZ2VzIG1hcmtlZCB3
aXRoCis7ICdLRlEgc3RhcnQnIGFuZCAnS0ZRIGVuZCcKKworOyBLRlEgc3RhcnQKKzsgQWRkIHJl
ZmVyZW5jZSB0byBHT1QgZm9yIFBJQy1hYmlsaXR5CitleHRlcm4gX0dMT0JBTF9PRkZTRVRfVEFC
TEVfCis7IEtGUSBlbmQKKwogCiA7IHRvdGFsIHNxdWFyZWQgZGlmZmVyZW5jZSBiZXR3ZWVuIHR3
byAoMTYqaCkgYmxvY2tzCiA7IGluY2x1ZGluZyBvcHRpb25hbCBoYWxmIHBlbCBpbnRlcnBvbGF0
aW9uIG9mIFtlYnArOF0gOyBibGsxIChoeCxoeSkKQEAgLTMzOCw3ICszNDcsMTcgQEAKIAlwYWRk
dwkgIG1tMywgbW02CiAJcGFkZHcJICBtbTAsIG1tMgogCXBhZGR3CSAgbW0xLCBtbTMKLQltb3Zx
ICAgICAgbW02LCBbdHdvc10KKzsgS0ZRIHN0YXJ0Cis7IFJldHJpZXZlIHRoZSBHT1QsIGFuZCBn
ZXQgdHdvcyBsb2NhdGlvbiByZWxhdGl2ZSB0byBpdAorICAgICAgICBjYWxsIC5nZXRfR09UMQor
LmdldF9HT1QxOgorICAgICAgICBwb3AgICAgICAgZXNpCTsgbm90ZTsgZXNpIG5vdyBvdmVyd3Jp
dHRlbiBzbyBuZWVkIHRvIHJlc3RvcmUKKyAgICAgICAgYWRkICAgICAgIGVzaSwgX0dMT0JBTF9P
RkZTRVRfVEFCTEVfKyQkLS5nZXRfR09UMSB3cnQgLi5nb3RwYworCW1vdnEgICAgICBtbTYsIFtl
c2krdHdvcyB3cnQgLi5nb3RvZmZdCisJbW92ICAgICAgIGVzaSwgW2VicCsxNl0gOyByZXN0b3Jl
IGx4OyB0aGlzIGlzIG9ubHkgZXZlciByZWFkCis7CW1vdnEgICAgICBtbTYsIFt0d29zXQorOyBL
RlEgZW5kCisKIAlwYWRkdwkgIG1tMCwgbW02ICAgIDsgcm91bmQgbW0wCiAJcGFkZHcJICBtbTEs
IG1tNiAgICA7IHJvdW5kIG1tMQogCXBzcmx3CSAgbW0wLCAyCkBAIC0zODMsNyArNDAyLDE2IEBA
CiAJcGFkZHcJICBtbTEsIG1tMwogCXBhZGR3CSAgbW0yLCBtbTQKIAotCW1vdnEgICAgICBtbTYs
IFt0d29zXQorOyBLRlEgc3RhcnQKKzsgUmV0cmlldmUgdGhlIEdPVCwgYW5kIGdldCB0d29zIGxv
Y2F0aW9uIHJlbGF0aXZlIHRvIGl0CisgICAgICAgIGNhbGwgLmdldF9HT1QyCisuZ2V0X0dPVDI6
CisgICAgICAgIHBvcCAgICAgICBlc2kJOyBub3RlOyBlc2kgbm93IG92ZXJ3cml0dGVuIHNvIG5l
ZWQgdG8gcmVzdG9yZQorICAgICAgICBhZGQgICAgICAgZXNpLCBfR0xPQkFMX09GRlNFVF9UQUJM
RV8rJCQtLmdldF9HT1QyIHdydCAuLmdvdHBjCisJbW92cSAgICAgIG1tNiwgW2VzaSt0d29zIHdy
dCAuLmdvdG9mZl0KKwltb3YgICAgICAgZXNpLCBbZWJwKzE2XSA7IHJlc3RvcmUgbHg7IHRoaXMg
aXMgb25seSBldmVyIHJlYWQKKzsJbW92cSAgICAgIG1tNiwgW3R3b3NdCis7IEtGUSBlbmQKIAlw
YWRkdyAgICAgbW0xLCBtbTYKIAlwYWRkdwkgIG1tMiwgbW02CiAJCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50845</attachid>
            <date>2005-02-09 11:24 0000</date>
            <desc>Patch to 1.6.2-r3 ebuild, to apply PIC patch and fix other related ebuild problems</desc>
            <filename>mv-mj-ebuild.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIG1qcGVndG9vbHMtMS42LjItcjMuZWJ1aWxkLm9yaWcJMjAwNS0wMi0wOSAxOToyODoyNi4w
MDAwMDAwMDAgKzAxMDAKKysrIG1qcGVndG9vbHMtMS42LjItcjMuZWJ1aWxkCTIwMDUtMDItMDkg
MTk6NTM6NDMuMDAwMDAwMDAwICswMTAwCkBAIC0xLDYgKzEsNiBAQAogIyBDb3B5cmlnaHQgMTk5
OS0yMDA1IEdlbnRvbyBGb3VuZGF0aW9uCiAjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIKLSMgJEhlYWRlcjogL3Zhci9jdnNy
b290L2dlbnRvby14ODYvbWVkaWEtdmlkZW8vbWpwZWd0b29scy9tanBlZ3Rvb2xzLTEuNi4yLXIz
LmVidWlsZCx2IDEuMTQgMjAwNS8wMi8wNiAxNzoyNzo1NiBjb3JzYWlyIEV4cCAkCisjICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L21lZGlhLXZpZGVvL21qcGVndG9vbHMvbWpwZWd0
b29scy0xLjYuMi1yMy5lYnVpbGQsdiAxLjEzIDIwMDUvMDEvMTEgMTI6MTY6NTIgbHVfemVybyBF
eHAgJAogCiBpbmhlcml0IGZsYWctby1tYXRpYyBnY2MgZXV0aWxzCiAKQEAgLTEwLDggKzEwLDgg
QEAKIAogTElDRU5TRT0iYXMtaXMiCiBTTE9UPSIxIgotS0VZV09SRFM9Ing4NiBwcGMgYW1kNjQg
fnNwYXJjIHBwYzY0IgotSVVTRT0iZ3RrIGF2aSBkdiBxdWlja3RpbWUgc2RsIFggeXYxMiAzZG5v
dyBtbXggc3NlIgorS0VZV09SRFM9Ing4NiBwcGMgYW1kNjQgfnNwYXJjIH5wcGM2NCIKK0lVU0U9
Imd0ayBhdmkgZHYgcXVpY2t0aW1lIHNkbCBYIHl2MTIgM2Rub3cgbW14IHNzZSBwaWMiCiAKIERF
UEVORD0ibWVkaWEtbGlicy9qcGVnCiAJPj1zeXMtYXBwcy9zZWQtNApAQCAtMzAsMzEgKzMwLDUw
IEBACiAJWD8gKCB2aXJ0dWFsL3gxMSApIgogCiBzcmNfdW5wYWNrKCkgeworCWxvY2FsIGF1dG9y
ZWNvbmZmbGFncz0iIiBhdXRvcmVjb25mPSIiCiAJdW5wYWNrICR7QX0gOyBjZCAke1N9CiAJY3Ag
LXJmICR7U317LC5vcmlnfQogCi0JZXBhdGNoICR7RklMRVNESVJ9LyR7UH0tZlBJQy5wYXRjaAot
CWVwYXRjaCAke0ZJTEVTRElSfS8ke1B9LWdjYzM0LnBhdGNoCisJIyBQYXRjaCBjb25zdCBhbHRp
dmVjIHRhYmxlcyB0byBjb25zdCBpbiBhZ2dyZWdhdGVzCiAJZXBhdGNoICR7RklMRVNESVJ9LyR7
UH0tZ2NjMzQtYWx0aXZlYy5wYXRjaAogCi0JIyByZW1vdmUgY2hlY2tzIGZvciBndGsgaW4gY29u
ZmlndXJlIGluCi0JdXNlIGd0ayB8fCBlcGF0Y2ggJHtGSUxFU0RJUn0vJHtQfS1ub2d0ay5wYXRj
aAorCSMgcmVtb3ZlIGNoZWNrcyBmb3IgZ3RrIGluIGNvbmZpZ3VyZS5pbiAtIHJlY29uZiByZXF1
aXJlZAorCWlmIHVzZSBndGs7IHRoZW4KKwkJZXBhdGNoICR7RklMRVNESVJ9LyR7UH0tbm9ndGsu
cGF0Y2gKKwkJYXV0b3JlY29uZj0ieWVzIgorCWZpCiAKIAlpZiB1c2UgcHBjOyB0aGVuCiAJCSMg
Rml4IGFuIGVycm9yIGluIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGFsdGl2ZWMtc3VwcG9ydAotCQkj
IGluIHRoZSBjb21waWxlcgorCQkjIGluIHRoZSBjb21waWxlcjsgYWx0ZXJzIGNvbmZpZ3VyZS5p
biAtIHJlY29uZiByZXF1aXJlZAogCQllcGF0Y2ggIiR7RklMRVNESVJ9L2FsdGl2ZWMtZml4LSR7
UFZ9LnBhdGNoIgogCQlzZWQgLWkgJ3M6LU8zOjonIGNvbmZpZ3VyZS5pbgotCQlhdXRvcmVjb25m
IHx8IGRpZQorCQlhdXRvcmVjb25mPSJ5ZXMiCiAJZmkKIAotCWlmIHVzZSBhbWQ2NDsgdGhlbgot
CQlhY2xvY2FsCi0JCWxpYnRvb2xpemUgLS1jb3B5IC0tZm9yY2UKLQkJYXV0b3JlY29uZiB8fCBk
aWUKKwlpZiB1c2UgcGljIHx8IHVzZSBhbWQ2NDsgdGhlbgorCQkjIFBhdGNoIE1ha2VmaWxlLmFt
IGZpbGVzIHRvIG1ha2UgbWpwZWd1dGlscyBsaWJyYXJ5IHNoYXJlZDsgbGlidG9vbGl6ZQorCQkj
IHJlcXVpcmVkLgorCQllcGF0Y2ggJHtGSUxFU0RJUn0vJHtQfS1mUElDLnBhdGNoCisJCSMgUGF0
Y2ggTU1YIGFzc2VtYmxlciBmaWxlcyB0byBiZSBQSUMtY29tcGxpYW50LCB3aGVyZSBub3QgYWxy
ZWFkeS4KKwkJZXBhdGNoICR7RklMRVNESVJ9LyR7UH0tbW14LWZQSUMucGF0Y2gKKwkJIyBDYXVz
ZSBhdXRvcmVjb25mIGJlbG93IHRvIHJlLWxpYnRvb2xpemUsIGFuZCBmb3JjZSBsaWJ0b29saXpl
CisJCSMgdG8gcmVidWlsZCBmaWxlcyB0aGF0IGFyZW4ndCBvbGQgdy5yLnQuIHRoZWlyIHJlc3Bl
Y3RpdmUgc291cmNlLgorCQlhdXRvcmVjb25mZmxhZ3M9Ii0taW5zdGFsbCAtLWZvcmNlIgorCQlh
dXRvcmVjb25mPSJ5ZXMiCiAJZmkKIAorCWlmIFtbICR7YXV0b3JlY29uZn0gPSAieWVzIiBdXTsg
dGhlbgorCQkjIEF1dG9yZWNvbmYsIHRvIG1ha2UgY29uZmlndXJlLmluL01ha2VmaWxlLmFtIGV0
YyBwYXRjaGVzIGVmZmVjdGl2ZQorCQllaW5mbyBBdXRvLXJlY29uZmlndXJpbmcKKwkJYXV0b3Jl
Y29uZiAke2F1dG9yZWNvbmZmbGFnc30gfHwgZGllCisJZmkKKworCSMgUGF0Y2ggY29uZmlndXJl
LCBhbW9uZ3N0IG90aGVyIHRoaW5ncyAtIGRvIGFmdGVyIGF1dG9yZWNvbmYKKwllcGF0Y2ggJHtG
SUxFU0RJUn0vJHtQfS1nY2MzNC5wYXRjaAorCiAJdXNlIFggfHwgZXBhdGNoICIke0ZJTEVTRElS
fS9uby14MTEtbGliLTIucGF0Y2giCisKIH0KIAogc3JjX2NvbXBpbGUoKSB7CkBAIC04MSw3ICsx
MDAsNyBAQAogCWlmIHVzZSB4ODY7IHRoZW4KIAkJaWYgdXNlIG1teCB8fCB1c2UgM2Rub3cgfHwg
dXNlIHNzZTsgdGhlbgogCQkJbXljb25mPSIke215Y29uZn0gLS1lbmFibGUtc2ltZC1hY2NlbCIK
LQkJCXN0cmlwLWZsYWdzIC1mc3RhY2stcHJvdGVjdG9yCisJCQkjc3RyaXAtZmxhZ3MgLWZzdGFj
ay1wcm90ZWN0b3IKIAkJZmkKIAkJaWYgdXNlIG1teDsgdGhlbgogCQkJbXljb25mPSIke215Y29u
Zn0gLS13aXRoLWpwZWctbW14PS91c3IvaW5jbHVkZS9qcGVnLW1teCIKQEAgLTkwLDE2ICsxMDks
NiBAQAogCiAJZWNvbmYgJHtteWNvbmZ9IHx8IGRpZQogCi0JaWYgaGFzX3BpZSA7IHRoZW4KLQkJ
cGllX21hZ2ljPSJgdGVzdF9mbGFnIC1mbm8tcGljYCBgdGVzdF9mbGFnIC1ub3BpZWAiCi0JCWZv
ciBpIGluIGBmaW5kICIke1N9IiAtbmFtZSAiTWFrZWZpbGUiYCA7IGRvCi0JCQlzZWQgLWUgInM6
Q0MgPSBnY2M6Q0MgPSBnY2MgJHtwaWVfbWFnaWN9OmciIFwKLQkJCQktZSAiczpDWFggPSBnY2M6
Q1hYID0gZysrICR7cGllX21hZ2ljfTpnIiBcCi0JCQkJLWUgInM6Q1hYQ1BQID0gZ2NjIC1FOkNY
WCA9IGcrKyAtRSAke3BpZV9tYWdpY306ZyIgXAotCQkJCS1pICIke2l9IiB8fCBkaWUgInNlZCBm
YWlsZWQiCi0JCWRvbmUKLQlmaQotCiAJZW1ha2UgQ0ZMQUdTPSIke0NGTEFHU30iIENYWEZMQUdT
PSIke0NYWEZMQUdTfSIgLWoxIHx8IGRpZSAiY29tcGlsZSBwcm9ibGVtIgogCWNkIGRvY3MKIAls
b2NhbCBpbmZvZmlsZQo=
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52188</attachid>
            <date>2005-02-26 09:22 0000</date>
            <desc>Updated patch to 1.6.2-r3 latest version (1.15), and fix gtk logic error</desc>
            <filename>mjpegtools-picebuild.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIG1qcGVndG9vbHMtMS42LjItcjMuZWJ1aWxkLm9yaWcJMjAwNS0wMi0yNiAxNzowODoyOC4w
MDAwMDAwMDAgKzAxMDAKKysrIG1qcGVndG9vbHMtMS42LjItcjMuZWJ1aWxkCTIwMDUtMDItMjYg
MTg6MDQ6NDguMjE2MDMyMTYwICswMTAwCkBAIC0xMSw3ICsxMSw3IEBACiBMSUNFTlNFPSJhcy1p
cyIKIFNMT1Q9IjEiCiBLRVlXT1JEUz0ieDg2IHBwYyBhbWQ2NCB+c3BhcmMgcHBjNjQiCi1JVVNF
PSJndGsgYXZpIGR2IHF1aWNrdGltZSBzZGwgWCB5djEyIDNkbm93IG1teCBzc2UiCitJVVNFPSJn
dGsgYXZpIGR2IHF1aWNrdGltZSBzZGwgWCB5djEyIDNkbm93IG1teCBzc2UgcGljIgogCiBERVBF
TkQ9Im1lZGlhLWxpYnMvanBlZwogCT49c3lzLWFwcHMvc2VkLTQKQEAgLTMwLDI2ICszMCw0NSBA
QAogCVg/ICggdmlydHVhbC94MTEgKSIKIAogc3JjX3VucGFjaygpIHsKLQl1bnBhY2sgJHtBfSA7
IGNkICR7U30KKwlsb2NhbCBhdXRvcmVjb25mZmxhZ3M9IiIgYXV0b3JlY29uZj0iIgorCXVucGFj
ayAke0F9CisJY2QgJHtTfQorCiAJY3AgLXJmICR7U317LC5vcmlnfQogCi0JZXBhdGNoICR7RklM
RVNESVJ9LyR7UH0tZlBJQy5wYXRjaAotCWVwYXRjaCAke0ZJTEVTRElSfS8ke1B9LWdjYzM0LnBh
dGNoCisJIyBBZGQgJ2NvbnN0JyB0byBhZ2dyZWdhdGUgZWxlbWVudHMgb2YgdmVjdG9ycwogCWVw
YXRjaCAke0ZJTEVTRElSfS8ke1B9LWdjYzM0LWFsdGl2ZWMucGF0Y2gKIAotCSMgcmVtb3ZlIGNo
ZWNrcyBmb3IgZ3RrIGluIGNvbmZpZ3VyZSBpbgotCXVzZSBndGsgfHwgZXBhdGNoICR7RklMRVNE
SVJ9LyR7UH0tbm9ndGsucGF0Y2gKKwlpZiB1c2UgIWd0azsgdGhlbgorCQkjIEZvcmNlIG5vIGd0
azsgYWx0ZXJzIGNvbmZpZ3VyZS5pbiwgYXV0b3JlY29uZiByZXF1aXJlZAorCQllcGF0Y2ggJHtG
SUxFU0RJUn0vJHtQfS1ub2d0ay5wYXRjaAorCQlhdXRvcmVjb25mPSJ5ZXMiCisJZmkKIAogCWlm
IHVzZSBwcGM7IHRoZW4KIAkJIyBGaXggYW4gZXJyb3IgaW4gdGhlIGRldGVjdGlvbiBvZiB0aGUg
YWx0aXZlYy1zdXBwb3J0Ci0JCSMgaW4gdGhlIGNvbXBpbGVyCisJCSMgaW4gdGhlIGNvbXBpbGVy
OyBhbHRlcnMgY29uZmlndXJlLmluLCBhdXRvcmVjb25mIHJlcXVpcmVkCiAJCWVwYXRjaCAiJHtG
SUxFU0RJUn0vYWx0aXZlYy1maXgtJHtQVn0ucGF0Y2giCiAJCXNlZCAtaSAnczotTzM6OicgY29u
ZmlndXJlLmluCisJCWF1dG9yZWNvbmY9InllcyIKIAlmaQogCi0JYWNsb2NhbAotCWxpYnRvb2xp
emUgLS1jb3B5IC0tZm9yY2UKLQlhdXRvcmVjb25mIHx8IGRpZQorCWlmIHVzZSBwaWMgfHwgdXNl
IGFtZDY0OyB0aGVuCisJCSMgQnVpbGQgbGlibWpwZWd1dGlscyBhcyBzaGFyZWQgbGlicmFyeTsg
YWx0ZXJzIE1ha2VmaWxlLmFtCisJCSMgc28gYXV0b3JlY29uZiByZXF1aXJlZCBpbmNsdWRpbmcg
bGlidG9vbGl6ZQorCQllcGF0Y2ggJHtGSUxFU0RJUn0vJHtQfS1mUElDLnBhdGNoCisJCWVwYXRj
aCAke0ZJTEVTRElSfS8ke1B9LW1teC1mUElDLnBhdGNoCisJCWF1dG9yZWNvbmZmbGFncz0iLS1p
bnN0YWxsIC0tZm9yY2UiCisJCWF1dG9yZWNvbmY9InllcyIKKwlmaQorCWlmIFtbICR7YXV0b3Jl
Y29uZn0gPSAieWVzIiBdXTsgdGhlbgorCQllaW5mbyBBdXRvLXJlY29uZmlndXJpbmcKKwkJYXV0
b3JlY29uZiAke2F1dG9yZWNvbmZmbGFnc30gfHwgZGllZnVuYyAiJEZVTkNOQU1FIiAiJExJTkVO
TyIgIiQ/IgorCWZpCisKKwkjIENvbmZpZ3VyZSBwYXRjaCB0byByZW1vdmUgLW1jcHUgc2V0dGlu
Z3M7IGFsdGVycyBjb25maWd1cmUKKwkjIHNvIG11c3QgYmUgYWZ0ZXIgYW55IGF1dG9yZWNvbmYu
CisJZXBhdGNoICR7RklMRVNESVJ9LyR7UH0tZ2NjMzQucGF0Y2gKIAogCXVzZSBYIHx8IGVwYXRj
aCAiJHtGSUxFU0RJUn0vbm8teDExLWxpYi0yLnBhdGNoIgogfQpAQCAtNzgsNyArOTcsNyBAQAog
CWlmIHVzZSB4ODY7IHRoZW4KIAkJaWYgdXNlIG1teCB8fCB1c2UgM2Rub3cgfHwgdXNlIHNzZTsg
dGhlbgogCQkJbXljb25mPSIke215Y29uZn0gLS1lbmFibGUtc2ltZC1hY2NlbCIKLQkJCXN0cmlw
LWZsYWdzIC1mc3RhY2stcHJvdGVjdG9yCisJCQkjc3RyaXAtZmxhZ3MgLWZzdGFjay1wcm90ZWN0
b3IKIAkJZmkKIAkJaWYgdXNlIG1teDsgdGhlbgogCQkJbXljb25mPSIke215Y29uZn0gLS13aXRo
LWpwZWctbW14PS91c3IvaW5jbHVkZS9qcGVnLW1teCIKQEAgLTg3LDE2ICsxMDYsNiBAQAogCiAJ
ZWNvbmYgJHtteWNvbmZ9IHx8IGRpZQogCi0JaWYgaGFzX3BpZSA7IHRoZW4KLQkJcGllX21hZ2lj
PSJgdGVzdF9mbGFnIC1mbm8tcGljYCBgdGVzdF9mbGFnIC1ub3BpZWAiCi0JCWZvciBpIGluIGBm
aW5kICIke1N9IiAtbmFtZSAiTWFrZWZpbGUiYCA7IGRvCi0JCQlzZWQgLWUgInM6Q0MgPSBnY2M6
Q0MgPSBnY2MgJHtwaWVfbWFnaWN9OmciIFwKLQkJCQktZSAiczpDWFggPSBnY2M6Q1hYID0gZysr
ICR7cGllX21hZ2ljfTpnIiBcCi0JCQkJLWUgInM6Q1hYQ1BQID0gZ2NjIC1FOkNYWCA9IGcrKyAt
RSAke3BpZV9tYWdpY306ZyIgXAotCQkJCS1pICIke2l9IiB8fCBkaWUgInNlZCBmYWlsZWQiCi0J
CWRvbmUKLQlmaQotCiAJZW1ha2UgQ0ZMQUdTPSIke0NGTEFHU30iIENYWEZMQUdTPSIke0NYWEZM
QUdTfSIgLWoxIHx8IGRpZSAiY29tcGlsZSBwcm9ibGVtIgogCWNkIGRvY3MKIAlsb2NhbCBpbmZv
ZmlsZQo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56250</attachid>
            <date>2005-04-14 05:37 0000</date>
            <desc>Patch against 1.6.2-r3 ebuild v1.21</desc>
            <filename>mjpegtools-1.6.2-r3.ebuild-PIC.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC91c3IvcG9ydGFnZS9tZWRpYS12aWRlby9tanBlZ3Rvb2xzL21qcGVndG9vbHMtMS42LjIt
cjMuZWJ1aWxkCTIwMDUtMDMtMjkgMDQ6MzU6NDMuMDAwMDAwMDAwICswMjAwCisrKyBtanBlZ3Rv
b2xzLTEuNi4yLXIzLmVidWlsZAkyMDA1LTA0LTE0IDE0OjI1OjM4LjAwMDAwMDAwMCArMDIwMApA
QCAtMTQsNyArMTQsNyBAQAogTElDRU5TRT0iYXMtaXMiCiBTTE9UPSIxIgogS0VZV09SRFM9Ing4
NiBwcGMgYW1kNjQgfnNwYXJjIHBwYzY0IgotSVVTRT0iZ3RrIGF2aSBkdiBxdWlja3RpbWUgc2Rs
IFggeXYxMiAzZG5vdyBtbXggc3NlIHY0bCBkZ2EiCitJVVNFPSJndGsgYXZpIGR2IHF1aWNrdGlt
ZSBzZGwgWCB5djEyIDNkbm93IG1teCBzc2UgdjRsIGRnYSBwaWMiCiAKIFJERVBFTkQ9Im1lZGlh
LWxpYnMvanBlZwogCXg4Nj8gKCBtZWRpYS1saWJzL2xpYm1vdnRhcgpAQCAtNDMsNiArNDMsMTMg
QEAKIAllcGF0Y2ggJHtGSUxFU0RJUn0vJHtQfS1jb25maWd1cmUucGF0Y2gKIAllcGF0Y2ggJHtG
SUxFU0RJUn0vJHtQfS1mUElDLnBhdGNoCiAJZXBhdGNoICR7RklMRVNESVJ9LyR7UH0tZ2NjMzQu
cGF0Y2gKKwkjIGZpeHVwIG1teCBhc3NlbWJsZXIgZm9yIFBJQyBjb21wbGlhbmNlCisJIyAxKSBD
bG9iYmVyIGVzaSBpbnN0ZWFkIG9mIGVieCBpbiB5dWR2ZGVub2lzZS97ZGVpbnRlcmxhY2UsbW90
aW9ufS5jCisJIyAyKSBNYWtlIGRhdGEgcmVmZXJlbmNlcyBHT1QtcmVsYXRpdmUgaW4gbXBlZzJl
bmMvcXVhbnRfbW14LnMsCisJIyAgICB1dGlscy9tbXhzc2UvbWJsb2NrX3N1bXNxX21teC5zCisJ
IyBUaGUgbGF0dGVyIGhhcyBhIHNtYWxsIGltcGFjdCBvbiBwZXJmb3JtYW5jZSwgc28gdGhlIHBh
dGNoCisJIyBpcyBhcHBsaWVkIGNvbmRpdGlvbmFsbHkuCisJdXNlIHBpYyAmJiBlcGF0Y2ggJHtG
SUxFU0RJUn0vJHtQfS1tbXgtZlBJQy5wYXRjaAogCiAJaWYgdXNlIHBwYzsgdGhlbgogCQkjIEZp
eCBhbiBlcnJvciBpbiB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBhbHRpdmVjLXN1cHBvcnQKQEAgLTcz
LDcgKzgwLDYgQEAKIAlpZiB1c2UgeDg2OyB0aGVuCiAJCWlmIHVzZSBtbXggfHwgdXNlIDNkbm93
IHx8IHVzZSBzc2U7IHRoZW4KIAkJCW15Y29uZj0iJHtteWNvbmZ9IC0tZW5hYmxlLXNpbWQtYWNj
ZWwiCi0JCQlzdHJpcC1mbGFncyAtZnN0YWNrLXByb3RlY3RvcgogCQlmaQogCQlpZiB1c2UgbW14
OyB0aGVuCiAJCQlteWNvbmY9IiR7bXljb25mfSAtLXdpdGgtanBlZy1tbXg9L3Vzci9pbmNsdWRl
L2pwZWctbW14IgpAQCAtOTYsMTYgKzEwMiw2IEBACiAJCSQodXNlX3dpdGggZHYgZHYgL3Vzcikg
XAogCQkke215Y29uZn0gfHwgZGllCiAKLQlpZiBoYXNfcGllOyB0aGVuCi0JCXBpZV9tYWdpYz0i
JCh0ZXN0X2ZsYWcgLWZuby1waWMpICQodGVzdF9mbGFnIC1ub3BpZSkiCi0KLQkJZmluZCAiJHtT
fSIgLW5hbWUgTWFrZWZpbGUgfCB4YXJncyBzZWQgLWkgXAotCQkJLWUgInM6Q0MgPSBnY2M6Q0Mg
PSBnY2MgJHtwaWVfbWFnaWN9OmciIFwKLQkJCS1lICJzOkNYWCA9IGdjYzpDWFggPSBnKysgJHtw
aWVfbWFnaWN9OmciIFwKLQkJCS1lICJzOkNYWENQUCA9IGdjYyAtRTpDWFggPSBnKysgLUUgJHtw
aWVfbWFnaWN9OmciIFwKLQkJCXx8IGRpZSAic2VkIGZhaWxlZCIKLQlmaQotCiAJZW1ha2UgQ0ZM
QUdTPSIke0NGTEFHU30iIENYWEZMQUdTPSIke0NYWEZMQUdTfSIgLWoxIHx8IGRpZSAiZW1ha2Ug
ZmFpbGVkIgogCWNkIGRvY3MKIAlsb2NhbCBpbmZvZmlsZQo=
</data>        

          </attachment>
    </bug>

</bugzilla>