Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Mar 2013 18:41:03 +0200
From:      "Andrew W. Nosenko" <andrew.w.nosenko@gmail.com>
To:        Jeremy Messenger <mezz.freebsd@gmail.com>
Cc:        gerald@pfeifer.com, mexas@bristol.ac.uk, freebsd-ports@freebsd.org, bdrewery@freebsd.org
Subject:   Re: is it a good idea to overwrite GCC_DEFAULT_VERSION= in Mk/bsd.gcc.mk?
Message-ID:  <CALa-7vwcAVLHh63n_eq00rdA8mrwXpj5wqJ%2BYdrHV2wpXxUgWw@mail.gmail.com>
In-Reply-To: <CADLFtteEt2M2xxW9bOU%2BC_YoTUcBCCqorZnfUDHE66%2BPS-BWjg@mail.gmail.com>
References:  <CALa-7vw=e2GkfvReD4-eurUv%2BNaR6nJAT9cZ45tQVT6uac-n7Q@mail.gmail.com> <201303261050.r2QAo9v6041217@mech-cluster241.men.bris.ac.uk> <CALa-7vx_gHLiMJpZ3P_VgFHDpRof1Azzma3Afa0f8NtNarUi-Q@mail.gmail.com> <CADLFttcUBkj964auESWJEMx7%2BvnRRLPFO6LOwZcUHkTS=Vo0WQ@mail.gmail.com> <CALa-7vyQHGjzkdsPxvgV0q51z=YLdEtnXBR_u1fRo2bP_8FaSg@mail.gmail.com> <CADLFtteNg8BFBnMPD29Tij7Yt5n0TGR5ouXkEXfk2r_xVa7TxQ@mail.gmail.com> <CALa-7vyas_6Ygg5V-oM%2Bb4%2BhBZMhCS2qa0=Uv4%2B1brjTp6yOew@mail.gmail.com> <CADLFtteEt2M2xxW9bOU%2BC_YoTUcBCCqorZnfUDHE66%2BPS-BWjg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--90e6ba614a96353c2304d8eab4ea
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Mar 27, 2013 at 12:21 AM, Jeremy Messenger
<mezz.freebsd@gmail.com> wrote:
> On Tue, Mar 26, 2013 at 11:52 AM, Andrew W. Nosenko
> <andrew.w.nosenko@gmail.com> wrote:
>> On Tue, Mar 26, 2013 at 5:46 PM, Jeremy Messenger
>> <mezz.freebsd@gmail.com> wrote:
>>> On Tue, Mar 26, 2013 at 10:00 AM, Andrew W. Nosenko
>>> <andrew.w.nosenko@gmail.com> wrote:
>>>> On Tue, Mar 26, 2013 at 2:49 PM, Jeremy Messenger
>>>> <mezz.freebsd@gmail.com> wrote:
>>>>> On Tue, Mar 26, 2013 at 6:33 AM, Andrew W. Nosenko
>>>>> <andrew.w.nosenko@gmail.com> wrote:
>>>>>> On Tue, Mar 26, 2013 at 12:50 PM, Anton Shterenlikht
>>>>>> <mexas@bristol.ac.uk> wrote:
>>>>>>>         From andrew.w.nosenko@gmail.com Mon Mar 25 18:09:38 2013
>>>>>>>
>>>>>>>         On Mon, Mar 25, 2013 at 5:59 PM, Gerald Pfeifer <gerald@pfeifer.com> wrote:
>>>>>>>         > On Mon, 25 Mar 2013, Anton Shterenlikht wrote:
>>>>>>>         >> I've now run ia64 with the above change for over 2 weeks,
>>>>>>>         >> mostly rebuilding ports, etc.
>>>>>>>         >> I didn't see any issues with gcc47.
>>>>>>>         >> So, from my very limited testing,
>>>>>>>         >> gcc47 can be made default.
>>>>>>>         >
>>>>>>>         > Thanks for the feedback, Anton!  To really make that switch
>>>>>>>         > globally, we'll need more extensive testing, a full ports builds
>>>>>>>         > run, since there is a chance that some port you are not using may
>>>>>>>         > be broken, and I hope to get this done in the coming weeks.
>>>>>>>
>>>>>>>         >From my expiriense, devel/glib20 cannot be compiled with gcc47.
>>>>>>>
>>>>>>> Isn't it built with the system default compiler:
>>>>>>>
>>>>>>> configure:3954: checking for C compiler version
>>>>>>> configure:3963: cc --version >&5
>>>>>>> cc (GCC) 4.2.1 20070831 patched [FreeBSD]
>>>>>>>
>>>>>>> I think we are only talking about updating lang/gcc to 4.7.
>>>>>>
>>>>>> By default -- yes, it is going to build with base gcc.  But topic and,
>>>>>> therefore, my reaction was about overriding compiler to be lang/gcc*
>>>>>> from ports and whether there are ports, which fail in that case.  At
>>>>>> least, as I understand it.
>>>>>>
>>>>>> Now, why overriding the compiler for Glib seems important to me and
>>>>>> why I tried to do that:
>>>>>>
>>>>>> Since
>>>>>>     commit aba0f0c38bbfa11ad48b5410ebdbed2a99e68c58
>>>>>>     Author: Ryan Lortie <desrt@desrt.ca>
>>>>>>     Date:   Tue Oct 18 16:21:50 2011 -0400
>>>>>>
>>>>>>         gatomic: introduce G_ATOMIC_LOCK_FREE
>>>>>>
>>>>>> glib atomics implementation depends on gcc predefined macro
>>>>>> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, which is absent on the base
>>>>>> gcc-4.2 and on Clang (all version, at least at that time).
>>>>>>
>>>>>> As consequence, we have a mutex-based implementation of atomics.
>>>>>> Building Glib using more modern GCC (e.g. gcc-4.7) would help, but
>>>>>> gnome-libtool hack prevents us from that.
>>>>>
>>>>> Did you install all ports with GCC 4.7? If you install libtool with
>>>>> foo compiler then install other ports with bar compiler will be
>>>>> broken. You have to reinstall libtool with the bar compiler to make
>>>>> other ports with bar compiler works.
>>>>
>>>> No, I should not do that (of course if assume that port machinery
>>>> doesn't interfere with configure results by discarding part of them).
>>>
>>> You need to try it. You can't assume anything.
>>
>> I don't assume.  I just know it.  Know from everyday usage.
>
> # pkg_info -IX libtool
> libtool-2.4.2       Generic shared library support script
> # libtool --config | grep CC=
> LTCC="cc"
> CC="cc"

I's about system-wide libtool (/usr/local/bin/libtool), which is
irrelevant and unused when autoconf+automake+libtool chain works.
When package builds using autoconf+automake+libtool chain, then the
generated libtool script works there.

System-wide libtool:

    # pkg_info -xI libtool
    libtool-2.4.2       Generic shared library support script

    # /usr/local/bin/libtool --version
    libtool (GNU libtool) 2.4.2
    Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

    Copyright (C) 2011 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    # /usr/local/bin/libtool --config | grep CC=
    LTCC="cc"
    CC="cc"

    # /usr/local/bin/libtool --config > ~/libtool-system


Libtool, generated for devel/glib20 with default compiler (gcc-4.2 from base):

    # cd /usr/ports/devel/glib20

    # make clean
    ===>  Cleaning for glib-2.34.3

    # make extract
    ===>  License LGPL20 accepted by the user
    ===>  Found saved configuration for glib-2.34.3
    ===> Fetching all distfiles required by glib-2.34.3 for building
    ===>  Extracting for glib-2.34.3
    ===>  License LGPL20 accepted by the user
    ===>  Found saved configuration for glib-2.34.3
    ===> Fetching all distfiles required by glib-2.34.3 for building
    => SHA256 Checksum OK for gnome2/glib-2.34.3.tar.xz.
    ===>   glib-2.34.3 depends on file: /usr/local/bin/xz - found
    ===>   glib-2.34.3 depends on file: /usr/local/bin/perl5.12.4 - found

    # cd work/glib-2.34.3/

    # ls -l libtool
    ls: libtool: No such file or directory

    # ./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
    [output is skipped]

    # ls -l libtool
    -rwxr-xr-x  1 root  wheel  297882 Mar 27 17:31 libtool

    # ./libtool --config | grep CC=
    LTCC="gcc"
    CC="gcc"

    # ./libtool --config > ~/libtool-glib-gcc


Libtool, generated for devel/glib20 with gcc-4.7 from ports:

    # cd /usr/ports/devel/glib20

    # make clean
    ===>  Cleaning for glib-2.34.3

    # make extract
    ===>  License LGPL20 accepted by the user
    ===>  Found saved configuration for glib-2.34.3
    ===> Fetching all distfiles required by glib-2.34.3 for building
    ===>  Extracting for glib-2.34.3
    ===>  License LGPL20 accepted by the user
    ===>  Found saved configuration for glib-2.34.3
    ===> Fetching all distfiles required by glib-2.34.3 for building
    => SHA256 Checksum OK for gnome2/glib-2.34.3.tar.xz.
    ===>   glib-2.34.3 depends on file: /usr/local/bin/xz - found
    ===>   glib-2.34.3 depends on file: /usr/local/bin/perl5.12.4 - found

    # cd work/glib-2.34.3/

    # ls -l libtool
    ls: libtool: No such file or directory

    # ./configure CC=gcc47 CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib
    [output is skipped]

    # ls -l libtool
    -rwxr-xr-x  1 root  wheel  298022 Mar 27 17:38 libtool

    # ./libtool --config | grep CC=
    LTCC="gcc47"
    CC="gcc47"

    # ./libtool --config > ~/libtool-glib-gcc47

Differences:

system vs glib + default gcc:

    # diff -U0 ~/libtool-system ~/libtool-glib-gcc
    --- /root/libtool-system	2013-03-27 17:26:37.000000000 +0200
    +++ /root/libtool-glib-gcc	2013-03-27 17:34:11.000000000 +0200
    @@ -5,0 +6,3 @@
    +# Whether or not to build static libraries.
    +build_old_libs=no
    +
    @@ -18,3 +20,0 @@
    -# Whether or not to build static libraries.
    -build_old_libs=yes
    -
    @@ -28 +28 @@
    -SHELL="/bin/sh"
    +SHELL="/usr/local/bin/bash"
    @@ -38 +38 @@
    -host=amd64-portbld-freebsd8.0
    +host=x86_64-unknown-freebsd8.0
    @@ -42,2 +42,2 @@
    -build_alias=amd64-portbld-freebsd8.0
    -build=amd64-portbld-freebsd8.0
    +build_alias=
    +build=x86_64-unknown-freebsd8.0
    @@ -68 +68 @@
    -max_cmd_len=262144
    +max_cmd_len=196608
    @@ -127 +127 @@
    -LTCC="cc"
    +LTCC="gcc"
    @@ -130 +130 @@
    -LTCFLAGS="-O2 -pipe -O2 -march=native -fno-strict-aliasing"
    +LTCFLAGS="-g -O2 -Wall"
    @@ -244 +244 @@
    -dlopen_support=yes
    +dlopen_support=unknown
    @@ -247 +247 @@
    -dlopen_self=yes
    +dlopen_self=unknown
    @@ -250 +250 @@
    -dlopen_self_static=no
    +dlopen_self_static=unknown
    @@ -268 +268 @@
    -CC="cc"
    +CC="gcc"

system vs. glib + gcc-4.7:

    # diff -U0 ~/libtool-system ~/libtool-glib-gcc47
    --- /root/libtool-system	2013-03-27 17:26:37.000000000 +0200
    +++ /root/libtool-glib-gcc47	2013-03-27 17:39:40.000000000 +0200
    @@ -5,0 +6,3 @@
    +# Whether or not to build static libraries.
    +build_old_libs=no
    +
    @@ -18,3 +20,0 @@
    -# Whether or not to build static libraries.
    -build_old_libs=yes
    -
    @@ -28 +28 @@
    -SHELL="/bin/sh"
    +SHELL="/usr/local/bin/bash"
    @@ -38 +38 @@
    -host=amd64-portbld-freebsd8.0
    +host=x86_64-unknown-freebsd8.0
    @@ -42,2 +42,2 @@
    -build_alias=amd64-portbld-freebsd8.0
    -build=amd64-portbld-freebsd8.0
    +build_alias=
    +build=x86_64-unknown-freebsd8.0
    @@ -68 +68 @@
    -max_cmd_len=262144
    +max_cmd_len=196608
    @@ -127 +127 @@
    -LTCC="cc"
    +LTCC="gcc47"
    @@ -130 +130 @@
    -LTCFLAGS="-O2 -pipe -O2 -march=native -fno-strict-aliasing"
    +LTCFLAGS="-g -O2 -Wall"
    @@ -238 +238 @@
    -sys_lib_search_path_spec="/usr/lib "
    +sys_lib_search_path_spec="/usr/local/lib/gcc47/gcc/x86_64-portbld-freebsd8.0/4.7.3
/usr/local/x86_64-portbld-freebsd8.0/lib /usr/local/lib/gcc47 /lib
/usr/lib "
    @@ -244 +244 @@
    -dlopen_support=yes
    +dlopen_support=unknown
    @@ -247 +247 @@
    -dlopen_self=yes
    +dlopen_self=unknown
    @@ -250 +250 @@
    -dlopen_self_static=no
    +dlopen_self_static=unknown
    @@ -258 +258 @@
    -LD="/usr/bin/ld"
    +LD="/usr/local/bin/ld"
    @@ -268 +268 @@
    -CC="cc"
    +CC="gcc47"

glib + default gcc vs. glib + gcc-4.7:

    # diff -U0 ~/libtool-glib-gcc ~/libtool-glib-gcc47
    --- /root/libtool-glib-gcc	2013-03-27 17:34:11.000000000 +0200
    +++ /root/libtool-glib-gcc47	2013-03-27 17:39:40.000000000 +0200
    @@ -127 +127 @@
    -LTCC="gcc"
    +LTCC="gcc47"
    @@ -238 +238 @@
    -sys_lib_search_path_spec="/usr/lib "
    +sys_lib_search_path_spec="/usr/local/lib/gcc47/gcc/x86_64-portbld-freebsd8.0/4.7.3
/usr/local/x86_64-portbld-freebsd8.0/lib /usr/local/lib/gcc47 /lib
/usr/lib "
    @@ -258 +258 @@
    -LD="/usr/bin/ld"
    +LD="/usr/local/bin/ld"
    @@ -268 +268 @@
    -CC="gcc"
    +CC="gcc47"

Output of all three 'libtool --config' commands (system libtool, Glib
with default gcc and Glib with gcc-4.7) are attached just for any
case.

>
> MIght be has to do with
> http://svnweb.freebsd.org/ports/head/devel/libtool/files/patch-libltdl_config_ltmain.sh
> ?

Sorry, seems I don't understand you.
How it is related to the honoring or ignoring the configure results?

>
>>> It's well known that if
>>> you change the CC/CXX then you have to reinstall libtool. Although, I
>>> don't know if it's still true for present libtool, but it was problem
>>> with libtool15 at last time when I checked. The libtool15 will storage
>>> the CC, CXX and other stuff as default of what you used it on
>>> libtool15. (ie: Run 'libtool --config')
>>
>> My knowledge based on 2.x series.  At the times of 1.x, the "base"
>> compiler was modern enough for mitigate the need to redefine
>> compilers.
>>
>>>
>>> The gnome-libtool was copied from ${LOCALBASE}/bin/libtool (libtool
>>> port) then patch the bug of shared library version in gnome-libtool.
>>> It also changed the configure to look at gnome-libtool. Nothing more
>>> and nothing less. You can look at Mk/bsd.gnome.mk by search for
>>> ltverhack.
>>
>> I know it and knew at the time of writting.
>>
>> I don't know or don't understand why these "hacks" are needed, and, if
>> they are really needed, then why they maintained separatelly instead
>> of be pushed to the upstream and become part of libtool
>> out-of-the-box.
>
> The fix is really need. It is a bug in libtool that give wrong shared
> library version that will get bump at the every API change. See here:
> http://people.freebsd.org/~mezz/libtool.txt
>
>> If, for some reason, libtool upstream cannot be conviced, or just at
>> the transition stage, why patch the ${LOCALBASE}/bin/libtool?  Why
>> don't patch the "local" libtool generated by package's configure and
>> which contains all configure-gatchered variables properly filled (at
>> least for those packages, which use fresh enough libtool version)?  Or
>> why don't patch the devel/libtool (if need) for install the patched
>> ltmain.sh (if need) and then force package to re-grab
>> autotools/libtool related things and regenerate the configure script?
>
> The problem is that you can't just simply add patch in the libtool by
> default or it will affect on thousands of ports (require rebuild,
> chase a lot of library shared version, fix pkg-plist, bump ports and
> etc.). If we complete add patch in all ports tree. It's more likely
> the upstream and maintainer of port will accept patch. That's awful a
> lot of work. Any volunteers?
>
>>>> libtool script is a _generated_ thing when used with autoconf.
>>>> 'configure' does some checks (including how to execute linker
>>>> depending on used languages) and generates the "current" libtool sript
>>>> using these results.  This generated script has nothing with
>>>> /usr/local/bin/libtool.  Moreover, the system-wide libtool has no
>>>> business there, not used and may be completely absent until you want
>>>> regenerate and replace all package-supplied tools by your copy by
>>>> something like 'autoreconf -f'.
>>>>
>>>> As you can see, under proper workflow, there no dependency, which
>>>> version of compiler was installed or used on the time of
>>>> /usr/local/bin/libtool generation.  All knowledge about currently used
>>>> language, compiler, linker abelities and so on are gatchered by
>>>> configure and written into "local" package-specific libtool script (in
>>>> contrast to the "global" /usr/local/bin/libtool).
>>>>
>>>> The only one problem that ports machinery decides to trow out these
>>>> results and use own copy, which know nothing about actual package
>>>> preferences, needs, nor used language.
>>>>
>>>>>
>>>>>> See also:
>>>>>>     Thread "atomic ops broken on mac/xcode"
>>>>>>     https://mail.gnome.org/archives/gtk-devel-list/2012-August/msg00089.html
>>>>>>
>>>>>>     Gnome bugzilla #682818: atomic ops broken on mac/xcode
>>>>>>     https://bugzilla.gnome.org/show_bug.cgi?id=682818
>>>>>>
>>>>>>     LLVM/Clang bugzilla #11174: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_
>>>>>>     http://llvm.org/bugs/show_bug.cgi?id=11174
>>>>>>

-- 
Andrew W. Nosenko <andrew.w.nosenko@gmail.com>

--90e6ba614a96353c2304d8eab4ea
Content-Type: application/octet-stream; name=libtool-system
Content-Disposition: attachment; filename=libtool-system
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hespvvc60

CiMgV2hpY2ggcmVsZWFzZSBvZiBsaWJ0b29sLm00IHdhcyB1c2VkPwptYWNyb192ZXJzaW9uPTIu
NC4yCm1hY3JvX3JldmlzaW9uPTEuMzMzNwoKIyBBc3NlbWJsZXIgcHJvZ3JhbS4KQVM9ImFzIgoK
IyBETEwgY3JlYXRpb24gcHJvZ3JhbS4KRExMVE9PTD0iZmFsc2UiCgojIE9iamVjdCBkdW1wZXIg
cHJvZ3JhbS4KT0JKRFVNUD0ib2JqZHVtcCIKCiMgV2hldGhlciBvciBub3QgdG8gYnVpbGQgc2hh
cmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9saWJzPXllcwoKIyBXaGV0aGVyIG9yIG5vdCB0
byBidWlsZCBzdGF0aWMgbGlicmFyaWVzLgpidWlsZF9vbGRfbGlicz15ZXMKCiMgV2hhdCB0eXBl
IG9mIG9iamVjdHMgdG8gYnVpbGQuCnBpY19tb2RlPWRlZmF1bHQKCiMgV2hldGhlciBvciBub3Qg
dG8gb3B0aW1pemUgZm9yIGZhc3QgaW5zdGFsbGF0aW9uLgpmYXN0X2luc3RhbGw9bmVlZGxlc3MK
CiMgU2hlbGwgdG8gdXNlIHdoZW4gaW52b2tpbmcgc2hlbGwgc2NyaXB0cy4KU0hFTEw9Ii9iaW4v
c2giCgojIEFuIGVjaG8gcHJvZ3JhbSB0aGF0IHByb3RlY3RzIGJhY2tzbGFzaGVzLgpFQ0hPPSJw
cmludGYgJXNcXG4iCgojIFRoZSBQQVRIIHNlcGFyYXRvciBmb3IgdGhlIGJ1aWxkIHN5c3RlbS4K
UEFUSF9TRVBBUkFUT1I9IjoiCgojIFRoZSBob3N0IHN5c3RlbS4KaG9zdF9hbGlhcz0KaG9zdD1h
bWQ2NC1wb3J0YmxkLWZyZWVic2Q4LjAKaG9zdF9vcz1mcmVlYnNkOC4wCgojIFRoZSBidWlsZCBz
eXN0ZW0uCmJ1aWxkX2FsaWFzPWFtZDY0LXBvcnRibGQtZnJlZWJzZDguMApidWlsZD1hbWQ2NC1w
b3J0YmxkLWZyZWVic2Q4LjAKYnVpbGRfb3M9ZnJlZWJzZDguMAoKIyBBIHNlZCBwcm9ncmFtIHRo
YXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0LgpTRUQ9Ii91c3IvYmluL3NlZCIKCiMgU2VkIHRo
YXQgaGVscHMgdXMgYXZvaWQgYWNjaWRlbnRhbGx5IHRyaWdnZXJpbmcgZWNobygxKSBvcHRpb25z
IGxpa2UgLW4uClhzZWQ9IiRTRUQgLWUgMXMvXlgvLyIKCiMgQSBncmVwIHByb2dyYW0gdGhhdCBo
YW5kbGVzIGxvbmcgbGluZXMuCkdSRVA9Ii91c3IvYmluL2dyZXAiCgojIEFuIEVSRSBtYXRjaGVy
LgpFR1JFUD0iL3Vzci9iaW4vZ3JlcCAtRSIKCiMgQSBsaXRlcmFsIHN0cmluZyBtYXRjaGVyLgpG
R1JFUD0iL3Vzci9iaW4vZ3JlcCAtRiIKCiMgQSBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBs
aXN0ZXIuCk5NPSIvdXNyL2Jpbi9ubSAtQiIKCiMgV2hldGhlciB3ZSBuZWVkIHNvZnQgb3IgaGFy
ZCBsaW5rcy4KTE5fUz0ibG4gLXMiCgojIFdoYXQgaXMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGEg
Y29tbWFuZD8KbWF4X2NtZF9sZW49MjYyMTQ0CgojIE9iamVjdCBmaWxlIHN1ZmZpeCAobm9ybWFs
bHkgIm8iKS4Kb2JqZXh0PW8KCiMgRXhlY3V0YWJsZSBmaWxlIHN1ZmZpeCAobm9ybWFsbHkgIiIp
LgpleGVleHQ9CgojIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzICJ1bnNldCIuCmx0X3Vu
c2V0PXVuc2V0CgojIHR1cm4gc3BhY2VzIGludG8gbmV3bGluZXMuClNQMk5MPSJ0ciBcXDA0MCBc
XDAxMiIKCiMgdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KTkwyU1A9InRyIFxcMDE1XFwwMTIg
XFwwNDBcXDA0MCIKCiMgY29udmVydCAkYnVpbGQgZmlsZSBuYW1lcyB0byAkaG9zdCBmb3JtYXQu
CnRvX2hvc3RfZmlsZV9jbWQ9ZnVuY19jb252ZXJ0X2ZpbGVfbm9vcAoKIyBjb252ZXJ0ICRidWls
ZCBmaWxlcyB0byB0b29sY2hhaW4gZm9ybWF0Lgp0b190b29sX2ZpbGVfY21kPWZ1bmNfY29udmVy
dF9maWxlX25vb3AKCiMgTWV0aG9kIHRvIGNoZWNrIHdoZXRoZXIgZGVwZW5kZW50IGxpYnJhcmll
cyBhcmUgc2hhcmVkIG9iamVjdHMuCmRlcGxpYnNfY2hlY2tfbWV0aG9kPSJwYXNzX2FsbCIKCiMg
Q29tbWFuZCB0byB1c2Ugd2hlbiBkZXBsaWJzX2NoZWNrX21ldGhvZCA9ICJmaWxlX21hZ2ljIi4K
ZmlsZV9tYWdpY19jbWQ9IlwkTUFHSUNfQ01EIgoKIyBIb3cgdG8gZmluZCBwb3RlbnRpYWwgZmls
ZXMgd2hlbiBkZXBsaWJzX2NoZWNrX21ldGhvZCA9ICJmaWxlX21hZ2ljIi4KZmlsZV9tYWdpY19n
bG9iPSIiCgojIEZpbmQgcG90ZW50aWFsIGZpbGVzIHVzaW5nIG5vY2FzZWdsb2Igd2hlbiBkZXBs
aWJzX2NoZWNrX21ldGhvZCA9ICJmaWxlX21hZ2ljIi4Kd2FudF9ub2Nhc2VnbG9iPSJubyIKCiMg
Q29tbWFuZCB0byBhc3NvY2lhdGUgc2hhcmVkIGFuZCBsaW5rIGxpYnJhcmllcy4Kc2hhcmVkbGli
X2Zyb21fbGlua2xpYl9jbWQ9InByaW50ZiAlc1xcbiIKCiMgVGhlIGFyY2hpdmVyLgpBUj0iYXIi
CgojIEZsYWdzIHRvIGNyZWF0ZSBhbiBhcmNoaXZlLgpBUl9GTEFHUz0iY3J1IgoKIyBIb3cgdG8g
ZmVlZCBhIGZpbGUgbGlzdGluZyB0byB0aGUgYXJjaGl2ZXIuCmFyY2hpdmVyX2xpc3Rfc3BlYz0i
IgoKIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KU1RSSVA9InN0cmlwIgoKIyBDb21tYW5k
cyB1c2VkIHRvIGluc3RhbGwgYW4gb2xkLXN0eWxlIGFyY2hpdmUuClJBTkxJQj0icmFubGliIgpv
bGRfcG9zdGluc3RhbGxfY21kcz0iY2htb2QgNjQ0IFwkb2xkbGliflwkUkFOTElCIFwkdG9vbF9v
bGRsaWIiCm9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9IiIKCiMgV2hldGhlciB0byB1c2UgYSBsb2Nr
IGZvciBvbGQgYXJjaGl2ZSBleHRyYWN0aW9uLgpsb2NrX29sZF9hcmNoaXZlX2V4dHJhY3Rpb249
bm8KCiMgQSBDIGNvbXBpbGVyLgpMVENDPSJjYyIKCiMgTFRDQyBjb21waWxlciBmbGFncy4KTFRD
RkxBR1M9Ii1PMiAtcGlwZSAtTzIgLW1hcmNoPW5hdGl2ZSAtZm5vLXN0cmljdC1hbGlhc2luZyIK
CiMgVGFrZSB0aGUgb3V0cHV0IG9mIG5tIGFuZCBwcm9kdWNlIGEgbGlzdGluZyBvZiByYXcgc3lt
Ym9scyBhbmQgQyBuYW1lcy4KZ2xvYmFsX3N5bWJvbF9waXBlPSJzZWQgLW4gLWUgJ3MvXi4qWwkg
XVxcKFtBQkNER0lSU1RXXVtBQkNER0lSU1RXXSpcXClbCSBdWwkgXSpcXChbX0EtWmEtel1bX0Et
WmEtejAtOV0qXFwpXCQvXFwxIFxcMiBcXDIvcCcgfCBzZWQgJy8gX19nbnVfbHRvL2QnIgoKIyBU
cmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIHByb3BlciBDIGRlY2xhcmF0aW9uLgpnbG9i
YWxfc3ltYm9sX3RvX2NkZWNsPSJzZWQgLW4gLWUgJ3MvXlQgLiogXFwoLipcXClcJC9leHRlcm4g
aW50IFxcMSgpOy9wJyAtZSAncy9eW0FCQ0RHSVJTVFddKiAuKiBcXCguKlxcKVwkL2V4dGVybiBj
aGFyIFxcMTsvcCciCgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFk
ZHJlc3MgcGFpci4KZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0ic2VkIC1uIC1lICdz
L146IFxcKFteIF0qXFwpWyBdKlwkLyAge1xcXCJcXDFcXFwiLCAodm9pZCAqKSAwfSwvcCcgLWUg
J3MvXltBQkNER0lSU1RXXSogXFwoW14gXSpcXCkgXFwoW14gXSpcXClcJC8gIHtcIlxcMlwiLCAo
dm9pZCAqKSBcXCZcXDJ9LC9wJyIKCiMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBD
IG5hbWUgYWRkcmVzcyBwYWlyIHdoZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCmdsb2JhbF9zeW1i
b2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0ic2VkIC1uIC1lICdzL146IFxcKFteIF0q
XFwpWyBdKlwkLyAge1xcXCJcXDFcXFwiLCAodm9pZCAqKSAwfSwvcCcgLWUgJ3MvXltBQkNER0lS
U1RXXSogXFwoW14gXSpcXCkgXFwobGliW14gXSpcXClcJC8gIHtcIlxcMlwiLCAodm9pZCAqKSBc
XCZcXDJ9LC9wJyAtZSAncy9eW0FCQ0RHSVJTVFddKiBcXChbXiBdKlxcKSBcXChbXiBdKlxcKVwk
LyAge1wibGliXFwyXCIsICh2b2lkICopIFxcJlxcMn0sL3AnIgoKIyBTcGVjaWZ5IGZpbGVuYW1l
IGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMgZm9yICROTS4Kbm1fZmlsZV9saXN0X3NwZWM9IiIKCiMg
VGhlIHJvb3Qgd2hlcmUgdG8gc2VhcmNoIGZvciBkZXBlbmRlbnQgbGlicmFyaWVzLGFuZCBpbiB3
aGljaCBvdXIgbGlicmFyaWVzIHNob3VsZCBiZSBpbnN0YWxsZWQuCmx0X3N5c3Jvb3Q9CgojIFRo
ZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBm
aWxlcy4Kb2JqZGlyPS5saWJzCgojIFVzZWQgdG8gZXhhbWluZSBsaWJyYXJpZXMgd2hlbiBmaWxl
X21hZ2ljX2NtZCBiZWdpbnMgd2l0aCAiZmlsZSIuCk1BR0lDX0NNRD1maWxlCgojIE11c3Qgd2Ug
bG9jayBmaWxlcyB3aGVuIGRvaW5nIGNvbXBpbGF0aW9uPwpuZWVkX2xvY2tzPSJubyIKCiMgTWFu
aWZlc3QgdG9vbC4KTUFOSUZFU1RfVE9PTD0iOiIKCiMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hp
dmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KRFNZTVVUSUw9IiIKCiMg
VG9vbCB0byBjaGFuZ2UgZ2xvYmFsIHRvIGxvY2FsIHN5bWJvbHMgb24gTWFjIE9TIFguCk5NRURJ
VD0iIgoKIyBUb29sIHRvIG1hbmlwdWxhdGUgZmF0IG9iamVjdHMgYW5kIGFyY2hpdmVzIG9uIE1h
YyBPUyBYLgpMSVBPPSIiCgojIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgTWFjaC1PIGJpbmFy
aWVzIG9uIE1hYyBPUyBYLgpPVE9PTD0iIgoKIyBsZGQvcmVhZGVsZiBsaWtlIHRvb2wgZm9yIDY0
IGJpdCBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFggMTAuNC4KT1RPT0w2ND0iIgoKIyBPbGQg
YXJjaGl2ZSBzdWZmaXggKG5vcm1hbGx5ICJhIikuCmxpYmV4dD1hCgojIFNoYXJlZCBsaWJyYXJ5
IHN1ZmZpeCAobm9ybWFsbHkgIi5zbyIpLgpzaHJleHRfY21kcz0iLnNvIgoKIyBUaGUgY29tbWFu
ZHMgdG8gZXh0cmFjdCB0aGUgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBhIHNoYXJlZCBhcmNo
aXZlLgpleHRyYWN0X2V4cHN5bXNfY21kcz0iIgoKIyBWYXJpYWJsZXMgd2hvc2UgdmFsdWVzIHNo
b3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0cyBhbmQKIyByZXN0b3JlZCBh
dCBsaW5rIHRpbWUuCnZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSJQQVRIIExEX0xJQlJBUllf
UEFUSCBMRF9SVU5fUEFUSCBHQ0NfRVhFQ19QUkVGSVggQ09NUElMRVJfUEFUSCBMSUJSQVJZX1BB
VEgiCgojIERvIHdlIG5lZWQgdGhlICJsaWIiIHByZWZpeCBmb3IgbW9kdWxlcz8KbmVlZF9saWJf
cHJlZml4PW5vCgojIERvIHdlIG5lZWQgYSB2ZXJzaW9uIGZvciBsaWJyYXJpZXM/Cm5lZWRfdmVy
c2lvbj1ubwoKIyBMaWJyYXJ5IHZlcnNpb25pbmcgdHlwZS4KdmVyc2lvbl90eXBlPWZyZWVic2Qt
ZWxmCgojIFNoYXJlZCBsaWJyYXJ5IHJ1bnRpbWUgcGF0aCB2YXJpYWJsZS4KcnVucGF0aF92YXI9
TERfUlVOX1BBVEgKCiMgU2hhcmVkIGxpYnJhcnkgcGF0aCB2YXJpYWJsZS4Kc2hsaWJwYXRoX3Zh
cj1MRF9MSUJSQVJZX1BBVEgKCiMgSXMgc2hsaWJwYXRoIHNlYXJjaGVkIGJlZm9yZSB0aGUgaGFy
ZC1jb2RlZCBsaWJyYXJ5IHNlYXJjaCBwYXRoPwpzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9
eWVzCgojIEZvcm1hdCBvZiBsaWJyYXJ5IG5hbWUgcHJlZml4LgpsaWJuYW1lX3NwZWM9ImxpYlwk
bmFtZSIKCiMgTGlzdCBvZiBhcmNoaXZlIG5hbWVzLiAgRmlyc3QgbmFtZSBpcyB0aGUgcmVhbCBv
bmUsIHRoZSByZXN0IGFyZSBsaW5rcy4KIyBUaGUgbGFzdCBuYW1lIGlzIHRoZSBvbmUgdGhhdCB0
aGUgbGlua2VyIGZpbmRzIHdpdGggLWxOQU1FCmxpYnJhcnlfbmFtZXNfc3BlYz0iXCR7bGlibmFt
ZX1cJHtyZWxlYXNlfVwke3NoYXJlZF9leHR9XCR2ZXJzdWZmaXggXCR7bGlibmFtZX1cJHtyZWxl
YXNlfVwke3NoYXJlZF9leHR9IFwkbGlibmFtZVwke3NoYXJlZF9leHR9IgoKIyBUaGUgY29kZWQg
bmFtZSBvZiB0aGUgbGlicmFyeSwgaWYgZGlmZmVyZW50IGZyb20gdGhlIHJlYWwgbmFtZS4Kc29u
YW1lX3NwZWM9IiIKCiMgUGVybWlzc2lvbiBtb2RlIG92ZXJyaWRlIGZvciBpbnN0YWxsYXRpb24g
b2Ygc2hhcmVkIGxpYnJhcmllcy4KaW5zdGFsbF9vdmVycmlkZV9tb2RlPSIiCgojIENvbW1hbmQg
dG8gdXNlIGFmdGVyIGluc3RhbGxhdGlvbiBvZiBhIHNoYXJlZCBhcmNoaXZlLgpwb3N0aW5zdGFs
bF9jbWRzPSIiCgojIENvbW1hbmQgdG8gdXNlIGFmdGVyIHVuaW5zdGFsbGF0aW9uIG9mIGEgc2hh
cmVkIGFyY2hpdmUuCnBvc3R1bmluc3RhbGxfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGZp
bmlzaCBhIGxpYnRvb2wgbGlicmFyeSBpbnN0YWxsYXRpb24gaW4gYSBkaXJlY3RvcnkuCmZpbmlz
aF9jbWRzPSIiCgojIEFzICJmaW5pc2hfY21kcyIsIGV4Y2VwdCBhIHNpbmdsZSBzY3JpcHQgZnJh
Z21lbnQgdG8gYmUgZXZhbGVkIGJ1dAojIG5vdCBzaG93bi4KZmluaXNoX2V2YWw9IiIKCiMgV2hl
dGhlciB3ZSBzaG91bGQgaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIGxpYnJhcmllcy4KaGFy
ZGNvZGVfaW50b19saWJzPXllcwoKIyBDb21waWxlLXRpbWUgc3lzdGVtIHNlYXJjaCBwYXRoIGZv
ciBsaWJyYXJpZXMuCnN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIgIgoKIyBSdW4t
dGltZSBzeXN0ZW0gc2VhcmNoIHBhdGggZm9yIGxpYnJhcmllcy4Kc3lzX2xpYl9kbHNlYXJjaF9w
YXRoX3NwZWM9Ii9saWIgL3Vzci9saWIiCgojIFdoZXRoZXIgZGxvcGVuIGlzIHN1cHBvcnRlZC4K
ZGxvcGVuX3N1cHBvcnQ9eWVzCgojIFdoZXRoZXIgZGxvcGVuIG9mIHByb2dyYW1zIGlzIHN1cHBv
cnRlZC4KZGxvcGVuX3NlbGY9eWVzCgojIFdoZXRoZXIgZGxvcGVuIG9mIHN0YXRpY2FsbHkgbGlu
a2VkIHByb2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGZfc3RhdGljPW5vCgojIENvbW1h
bmRzIHRvIHN0cmlwIGxpYnJhcmllcy4Kb2xkX3N0cmlwbGliPSJzdHJpcCAtLXN0cmlwLWRlYnVn
IgpzdHJpcGxpYj0ic3RyaXAgLS1zdHJpcC11bm5lZWRlZCIKCgojIFRoZSBsaW5rZXIgdXNlZCB0
byBidWlsZCBsaWJyYXJpZXMuCkxEPSIvdXNyL2Jpbi9sZCIKCiMgSG93IHRvIGNyZWF0ZSByZWxv
YWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2NtZHM9IlwkTERc
JHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFS
X0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkdG9vbF9vbGRsaWIiCgojIEEgbGFu
Z3VhZ2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSJjYyIKCiMgSXMgdGhlIGNvbXBpbGVyIHRoZSBH
TlUgY29tcGlsZXI/CndpdGhfZ2NjPXllcwoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1
aWx0aW4gZnVuY3Rpb25zLgpub19idWlsdGluX2ZsYWc9IiAtZm5vLWJ1aWx0aW4iCgojIEFkZGl0
aW9uYWwgY29tcGlsZXIgZmxhZ3MgZm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2Zs
YWc9IiAtZlBJQyAtRFBJQyIKCiMgSG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRo
ZSBjb21waWxlci4Kd2w9Ii1XbCwiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWlj
IGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9Ii1zdGF0aWMiCgojIERvZXMgY29tcGlsZXIgc2lt
dWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMi
CgojIFdoZXRoZXIgb3Igbm90IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJp
ZXMuCmJ1aWxkX2xpYnRvb2xfbmVlZF9sYz1ubwoKIyBXaGV0aGVyIG9yIG5vdCB0byBkaXNhbGxv
dyBzaGFyZWQgbGlicyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljLgphbGxvd19saWJ0b29s
X2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9bm8KCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxvdyBy
ZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSJcJHt3bH0tLWV4cG9y
dC1keW5hbWljIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRp
cmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSJcJHt3bH0tLXdo
b2xlLWFyY2hpdmVcJGNvbnZlbmllbmNlIFwke3dsfS0tbm8td2hvbGUtYXJjaGl2ZSIKCiMgV2hl
dGhlciB0aGUgY29tcGlsZXIgY29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHku
CmNvbXBpbGVyX25lZWRzX29iamVjdD0ibm8iCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2
ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMg
Q3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBh
IHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21t
YW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iXCRDQyAt
c2hhcmVkIFwkcGljX2ZsYWcgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzIFwk
e3dsfS1zb25hbWUgXCR3bFwkc29uYW1lIC1vIFwkbGliIgphcmNoaXZlX2V4cHN5bV9jbWRzPSJc
JENDIC1zaGFyZWQgXCRwaWNfZmxhZyBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxh
Z3MgXCR7d2x9LXNvbmFtZSBcJHdsXCRzb25hbWUgXCR7d2x9LXJldGFpbi1zeW1ib2xzLWZpbGUg
XCR3bFwkZXhwb3J0X3N5bWJvbHMgLW8gXCRsaWIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQg
YSBsb2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBhIHNoYXJlZCBh
cmNoaXZlLgptb2R1bGVfY21kcz0iIgptb2R1bGVfZXhwc3ltX2NtZHM9IiIKCiMgV2hldGhlciB3
ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0ieWVzIgoKIyBG
bGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3ltYm9scyB0
byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0aGF0IGVuZm9yY2Vz
IG5vIHVuZGVmaW5lZCBzeW1ib2xzLgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRvIGhh
cmRjb2RlICRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qg
d29yayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlYz0iXCR7d2x9LXJwYXRoIFwke3dsfVwkbGliZGlyIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBz
aW5nbGUgIi1ycGF0aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7
c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3Vs
dGluZyBiaW5hcnkuCmhhcmRjb2RlX2RpcmVjdD1ubwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcg
RElSL2xpYk5BTUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBp
bnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5k
ZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcg
JHtzaGxpYnBhdGhfdmFyfSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVf
ZGlyZWN0X2Fic29sdXRlPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxh
ZyBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFy
eS4KaGFyZGNvZGVfbWludXNfTD1ubwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRI
X1ZBUj1ESVIgZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGlu
ZyBiaW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9dW5zdXBwb3J0ZWQKCiMgU2V0IHRvICJ5
ZXMiIGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBoYXJkY29kZXMg
RElSCiMgaW50byB0aGUgbGlicmFyeSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFuZCBl
eGVjdXRhYmxlcyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9bm8KCiMg
U2V0IHRvIHllcyBpZiBsaW5rZXIgYWRkcyBydW50aW1lIHBhdGhzIG9mIGRlcGVuZGVudCBsaWJy
YXJpZXMKIyB0byBydW50aW1lIHBhdGggbGlzdC4KaW5oZXJpdF9ycGF0aD1ubwoKIyBXaGV0aGVy
IGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBs
aWJyYXJpZXMuCmxpbmtfYWxsX2RlcGxpYnM9dW5rbm93bgoKIyBTZXQgdG8gInllcyIgaWYgZXhw
b3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFsd2F5c19leHBvcnRfc3ltYm9scz1ubwoKIyBU
aGUgY29tbWFuZHMgdG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9sc19jbWRz
PSJcJE5NIFwkbGlib2JqcyBcJGNvbnZlbmllbmNlIHwgXCRnbG9iYWxfc3ltYm9sX3BpcGUgfCBc
JFNFRCAncy8uKiAvLycgfCBzb3J0IHwgdW5pcSA+IFwkZXhwb3J0X3N5bWJvbHMiCgojIFN5bWJv
bHMgdGhhdCBzaG91bGQgbm90IGJlIGxpc3RlZCBpbiB0aGUgcHJlbG9hZGVkIHN5bWJvbHMuCmV4
Y2x1ZGVfZXhwc3ltcz0iX0dMT0JBTF9PRkZTRVRfVEFCTEVffF9HTE9CQUxfX0ZbSURdXy4qIgoK
IyBTeW1ib2xzIHRoYXQgbXVzdCBhbHdheXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0i
IgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGli
cmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJlbGlua19jbWRzPSIiCgojIENvbW1hbmRzIG5lY2Vz
c2FyeSBmb3IgZmluaXNoaW5nIGxpbmtpbmcgcHJvZ3JhbXMuCnBvc3RsaW5rX2NtZHM9IiIKCiMg
U3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgpmaWxlX2xpc3Rfc3BlYz0i
IgoKIyBIb3cgdG8gaGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0
YWJsZS4KaGFyZGNvZGVfYWN0aW9uPWltbWVkaWF0ZQoKIyBUaGUgZGlyZWN0b3JpZXMgc2VhcmNo
ZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBp
bGVyX2xpYl9zZWFyY2hfZGlycz0iIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFu
ZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGli
cmFyeS4KcHJlZGVwX29iamVjdHM9IiIKcG9zdGRlcF9vYmplY3RzPSIiCnByZWRlcHM9IiIKcG9z
dGRlcHM9IiIKCiMgVGhlIGxpYnJhcnkgc2VhcmNoIHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRo
ZSBjb21waWxlciB3aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJf
c2VhcmNoX3BhdGg9IiIKCg==
--90e6ba614a96353c2304d8eab4ea
Content-Type: application/octet-stream; name=libtool-glib-gcc
Content-Disposition: attachment; filename=libtool-glib-gcc
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hespw4je1

CiMgV2hpY2ggcmVsZWFzZSBvZiBsaWJ0b29sLm00IHdhcyB1c2VkPwptYWNyb192ZXJzaW9uPTIu
NC4yCm1hY3JvX3JldmlzaW9uPTEuMzMzNwoKIyBXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzdGF0
aWMgbGlicmFyaWVzLgpidWlsZF9vbGRfbGlicz1ubwoKIyBBc3NlbWJsZXIgcHJvZ3JhbS4KQVM9
ImFzIgoKIyBETEwgY3JlYXRpb24gcHJvZ3JhbS4KRExMVE9PTD0iZmFsc2UiCgojIE9iamVjdCBk
dW1wZXIgcHJvZ3JhbS4KT0JKRFVNUD0ib2JqZHVtcCIKCiMgV2hldGhlciBvciBub3QgdG8gYnVp
bGQgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9saWJzPXllcwoKIyBXaGF0IHR5cGUg
b2Ygb2JqZWN0cyB0byBidWlsZC4KcGljX21vZGU9ZGVmYXVsdAoKIyBXaGV0aGVyIG9yIG5vdCB0
byBvcHRpbWl6ZSBmb3IgZmFzdCBpbnN0YWxsYXRpb24uCmZhc3RfaW5zdGFsbD1uZWVkbGVzcwoK
IyBTaGVsbCB0byB1c2Ugd2hlbiBpbnZva2luZyBzaGVsbCBzY3JpcHRzLgpTSEVMTD0iL3Vzci9s
b2NhbC9iaW4vYmFzaCIKCiMgQW4gZWNobyBwcm9ncmFtIHRoYXQgcHJvdGVjdHMgYmFja3NsYXNo
ZXMuCkVDSE89InByaW50ZiAlc1xcbiIKCiMgVGhlIFBBVEggc2VwYXJhdG9yIGZvciB0aGUgYnVp
bGQgc3lzdGVtLgpQQVRIX1NFUEFSQVRPUj0iOiIKCiMgVGhlIGhvc3Qgc3lzdGVtLgpob3N0X2Fs
aWFzPQpob3N0PXg4Nl82NC11bmtub3duLWZyZWVic2Q4LjAKaG9zdF9vcz1mcmVlYnNkOC4wCgoj
IFRoZSBidWlsZCBzeXN0ZW0uCmJ1aWxkX2FsaWFzPQpidWlsZD14ODZfNjQtdW5rbm93bi1mcmVl
YnNkOC4wCmJ1aWxkX29zPWZyZWVic2Q4LjAKCiMgQSBzZWQgcHJvZ3JhbSB0aGF0IGRvZXMgbm90
IHRydW5jYXRlIG91dHB1dC4KU0VEPSIvdXNyL2Jpbi9zZWQiCgojIFNlZCB0aGF0IGhlbHBzIHVz
IGF2b2lkIGFjY2lkZW50YWxseSB0cmlnZ2VyaW5nIGVjaG8oMSkgb3B0aW9ucyBsaWtlIC1uLgpY
c2VkPSIkU0VEIC1lIDFzL15YLy8iCgojIEEgZ3JlcCBwcm9ncmFtIHRoYXQgaGFuZGxlcyBsb25n
IGxpbmVzLgpHUkVQPSIvdXNyL2Jpbi9ncmVwIgoKIyBBbiBFUkUgbWF0Y2hlci4KRUdSRVA9Ii91
c3IvYmluL2dyZXAgLUUiCgojIEEgbGl0ZXJhbCBzdHJpbmcgbWF0Y2hlci4KRkdSRVA9Ii91c3Iv
YmluL2dyZXAgLUYiCgojIEEgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyLgpOTT0i
L3Vzci9iaW4vbm0gLUIiCgojIFdoZXRoZXIgd2UgbmVlZCBzb2Z0IG9yIGhhcmQgbGlua3MuCkxO
X1M9ImxuIC1zIgoKIyBXaGF0IGlzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIGNvbW1hbmQ/Cm1h
eF9jbWRfbGVuPTE5NjYwOAoKIyBPYmplY3QgZmlsZSBzdWZmaXggKG5vcm1hbGx5ICJvIikuCm9i
amV4dD1vCgojIEV4ZWN1dGFibGUgZmlsZSBzdWZmaXggKG5vcm1hbGx5ICIiKS4KZXhlZXh0PQoK
IyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyAidW5zZXQiLgpsdF91bnNldD11bnNldAoK
IyB0dXJuIHNwYWNlcyBpbnRvIG5ld2xpbmVzLgpTUDJOTD0idHIgXFwwNDAgXFwwMTIiCgojIHR1
cm4gbmV3bGluZXMgaW50byBzcGFjZXMuCk5MMlNQPSJ0ciBcXDAxNVxcMDEyIFxcMDQwXFwwNDAi
CgojIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gJGhvc3QgZm9ybWF0Lgp0b19ob3N0X2Zp
bGVfY21kPWZ1bmNfY29udmVydF9maWxlX25vb3AKCiMgY29udmVydCAkYnVpbGQgZmlsZXMgdG8g
dG9vbGNoYWluIGZvcm1hdC4KdG9fdG9vbF9maWxlX2NtZD1mdW5jX2NvbnZlcnRfZmlsZV9ub29w
CgojIE1ldGhvZCB0byBjaGVjayB3aGV0aGVyIGRlcGVuZGVudCBsaWJyYXJpZXMgYXJlIHNoYXJl
ZCBvYmplY3RzLgpkZXBsaWJzX2NoZWNrX21ldGhvZD0icGFzc19hbGwiCgojIENvbW1hbmQgdG8g
dXNlIHdoZW4gZGVwbGlic19jaGVja19tZXRob2QgPSAiZmlsZV9tYWdpYyIuCmZpbGVfbWFnaWNf
Y21kPSJcJE1BR0lDX0NNRCIKCiMgSG93IHRvIGZpbmQgcG90ZW50aWFsIGZpbGVzIHdoZW4gZGVw
bGlic19jaGVja19tZXRob2QgPSAiZmlsZV9tYWdpYyIuCmZpbGVfbWFnaWNfZ2xvYj0iIgoKIyBG
aW5kIHBvdGVudGlhbCBmaWxlcyB1c2luZyBub2Nhc2VnbG9iIHdoZW4gZGVwbGlic19jaGVja19t
ZXRob2QgPSAiZmlsZV9tYWdpYyIuCndhbnRfbm9jYXNlZ2xvYj0ibm8iCgojIENvbW1hbmQgdG8g
YXNzb2NpYXRlIHNoYXJlZCBhbmQgbGluayBsaWJyYXJpZXMuCnNoYXJlZGxpYl9mcm9tX2xpbmts
aWJfY21kPSJwcmludGYgJXNcXG4iCgojIFRoZSBhcmNoaXZlci4KQVI9ImFyIgoKIyBGbGFncyB0
byBjcmVhdGUgYW4gYXJjaGl2ZS4KQVJfRkxBR1M9ImNydSIKCiMgSG93IHRvIGZlZWQgYSBmaWxl
IGxpc3RpbmcgdG8gdGhlIGFyY2hpdmVyLgphcmNoaXZlcl9saXN0X3NwZWM9IiIKCiMgQSBzeW1i
b2wgc3RyaXBwaW5nIHByb2dyYW0uClNUUklQPSJzdHJpcCIKCiMgQ29tbWFuZHMgdXNlZCB0byBp
bnN0YWxsIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpSQU5MSUI9InJhbmxpYiIKb2xkX3Bvc3RpbnN0
YWxsX2NtZHM9ImNobW9kIDY0NCBcJG9sZGxpYn5cJFJBTkxJQiBcJHRvb2xfb2xkbGliIgpvbGRf
cG9zdHVuaW5zdGFsbF9jbWRzPSIiCgojIFdoZXRoZXIgdG8gdXNlIGEgbG9jayBmb3Igb2xkIGFy
Y2hpdmUgZXh0cmFjdGlvbi4KbG9ja19vbGRfYXJjaGl2ZV9leHRyYWN0aW9uPW5vCgojIEEgQyBj
b21waWxlci4KTFRDQz0iZ2NjIgoKIyBMVENDIGNvbXBpbGVyIGZsYWdzLgpMVENGTEFHUz0iLWcg
LU8yIC1XYWxsIgoKIyBUYWtlIHRoZSBvdXRwdXQgb2Ygbm0gYW5kIHByb2R1Y2UgYSBsaXN0aW5n
IG9mIHJhdyBzeW1ib2xzIGFuZCBDIG5hbWVzLgpnbG9iYWxfc3ltYm9sX3BpcGU9InNlZCAtbiAt
ZSAncy9eLipbCSBdXFwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlxcKVsJIF1bCSBdKlxcKFtf
QS1aYS16XVtfQS1aYS16MC05XSpcXClcJC9cXDEgXFwyIFxcMi9wJyB8IHNlZCAnLyBfX2dudV9s
dG8vZCciCgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgcHJvcGVyIEMgZGVjbGFy
YXRpb24uCmdsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eVCAuKiBcXCguKlxc
KVwkL2V4dGVybiBpbnQgXFwxKCk7L3AnIC1lICdzL15bQUJDREdJUlNUV10qIC4qIFxcKC4qXFwp
XCQvZXh0ZXJuIGNoYXIgXFwxOy9wJyIKCiMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4g
YSBDIG5hbWUgYWRkcmVzcyBwYWlyLgpnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSJz
ZWQgLW4gLWUgJ3MvXjogXFwoW14gXSpcXClbIF0qXCQvICB7XFxcIlxcMVxcXCIsICh2b2lkICop
IDB9LC9wJyAtZSAncy9eW0FCQ0RHSVJTVFddKiBcXChbXiBdKlxcKSBcXChbXiBdKlxcKVwkLyAg
e1wiXFwyXCIsICh2b2lkICopIFxcJlxcMn0sL3AnIgoKIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBv
ZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZC4K
Z2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSJzZWQgLW4gLWUgJ3Mv
XjogXFwoW14gXSpcXClbIF0qXCQvICB7XFxcIlxcMVxcXCIsICh2b2lkICopIDB9LC9wJyAtZSAn
cy9eW0FCQ0RHSVJTVFddKiBcXChbXiBdKlxcKSBcXChsaWJbXiBdKlxcKVwkLyAge1wiXFwyXCIs
ICh2b2lkICopIFxcJlxcMn0sL3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxc
KFteIF0qXFwpXCQvICB7XCJsaWJcXDJcIiwgKHZvaWQgKikgXFwmXFwyfSwvcCciCgojIFNwZWNp
ZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcyBmb3IgJE5NLgpubV9maWxlX2xpc3Rf
c3BlYz0iIgoKIyBUaGUgcm9vdCB3aGVyZSB0byBzZWFyY2ggZm9yIGRlcGVuZGVudCBsaWJyYXJp
ZXMsYW5kIGluIHdoaWNoIG91ciBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxlZC4KbHRfc3lz
cm9vdD0KCiMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBvcmFy
eSBsaWJ0b29sIGZpbGVzLgpvYmpkaXI9LmxpYnMKCiMgVXNlZCB0byBleGFtaW5lIGxpYnJhcmll
cyB3aGVuIGZpbGVfbWFnaWNfY21kIGJlZ2lucyB3aXRoICJmaWxlIi4KTUFHSUNfQ01EPWZpbGUK
CiMgTXVzdCB3ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/Cm5lZWRfbG9ja3M9
Im5vIgoKIyBNYW5pZmVzdCB0b29sLgpNQU5JRkVTVF9UT09MPSI6IgoKIyBUb29sIHRvIG1hbmlw
dWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZpbGVzIG9uIE1hYyBPUyBYLgpEU1lN
VVRJTD0iIgoKIyBUb29sIHRvIGNoYW5nZSBnbG9iYWwgdG8gbG9jYWwgc3ltYm9scyBvbiBNYWMg
T1MgWC4KTk1FRElUPSIiCgojIFRvb2wgdG8gbWFuaXB1bGF0ZSBmYXQgb2JqZWN0cyBhbmQgYXJj
aGl2ZXMgb24gTWFjIE9TIFguCkxJUE89IiIKCiMgbGRkL3JlYWRlbGYgbGlrZSB0b29sIGZvciBN
YWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFguCk9UT09MPSIiCgojIGxkZC9yZWFkZWxmIGxpa2Ug
dG9vbCBmb3IgNjQgYml0IE1hY2gtTyBiaW5hcmllcyBvbiBNYWMgT1MgWCAxMC40LgpPVE9PTDY0
PSIiCgojIE9sZCBhcmNoaXZlIHN1ZmZpeCAobm9ybWFsbHkgImEiKS4KbGliZXh0PWEKCiMgU2hh
cmVkIGxpYnJhcnkgc3VmZml4IChub3JtYWxseSAiLnNvIikuCnNocmV4dF9jbWRzPSIuc28iCgoj
IFRoZSBjb21tYW5kcyB0byBleHRyYWN0IHRoZSBleHBvcnRlZCBzeW1ib2wgbGlzdCBmcm9tIGEg
c2hhcmVkIGFyY2hpdmUuCmV4dHJhY3RfZXhwc3ltc19jbWRzPSIiCgojIFZhcmlhYmxlcyB3aG9z
ZSB2YWx1ZXMgc2hvdWxkIGJlIHNhdmVkIGluIGxpYnRvb2wgd3JhcHBlciBzY3JpcHRzIGFuZAoj
IHJlc3RvcmVkIGF0IGxpbmsgdGltZS4KdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9IlBBVEgg
TERfTElCUkFSWV9QQVRIIExEX1JVTl9QQVRIIEdDQ19FWEVDX1BSRUZJWCBDT01QSUxFUl9QQVRI
IExJQlJBUllfUEFUSCIKCiMgRG8gd2UgbmVlZCB0aGUgImxpYiIgcHJlZml4IGZvciBtb2R1bGVz
PwpuZWVkX2xpYl9wcmVmaXg9bm8KCiMgRG8gd2UgbmVlZCBhIHZlcnNpb24gZm9yIGxpYnJhcmll
cz8KbmVlZF92ZXJzaW9uPW5vCgojIExpYnJhcnkgdmVyc2lvbmluZyB0eXBlLgp2ZXJzaW9uX3R5
cGU9ZnJlZWJzZC1lbGYKCiMgU2hhcmVkIGxpYnJhcnkgcnVudGltZSBwYXRoIHZhcmlhYmxlLgpy
dW5wYXRoX3Zhcj1MRF9SVU5fUEFUSAoKIyBTaGFyZWQgbGlicmFyeSBwYXRoIHZhcmlhYmxlLgpz
aGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAoKIyBJcyBzaGxpYnBhdGggc2VhcmNoZWQgYmVm
b3JlIHRoZSBoYXJkLWNvZGVkIGxpYnJhcnkgc2VhcmNoIHBhdGg/CnNobGlicGF0aF9vdmVycmlk
ZXNfcnVucGF0aD15ZXMKCiMgRm9ybWF0IG9mIGxpYnJhcnkgbmFtZSBwcmVmaXguCmxpYm5hbWVf
c3BlYz0ibGliXCRuYW1lIgoKIyBMaXN0IG9mIGFyY2hpdmUgbmFtZXMuICBGaXJzdCBuYW1lIGlz
IHRoZSByZWFsIG9uZSwgdGhlIHJlc3QgYXJlIGxpbmtzLgojIFRoZSBsYXN0IG5hbWUgaXMgdGhl
IG9uZSB0aGF0IHRoZSBsaW5rZXIgZmluZHMgd2l0aCAtbE5BTUUKbGlicmFyeV9uYW1lc19zcGVj
PSJcJHtsaWJuYW1lfVwke3JlbGVhc2V9XCR7c2hhcmVkX2V4dH1cJHZlcnN1ZmZpeCBcJHtsaWJu
YW1lfVwke3JlbGVhc2V9XCR7c2hhcmVkX2V4dH0gXCRsaWJuYW1lXCR7c2hhcmVkX2V4dH0iCgoj
IFRoZSBjb2RlZCBuYW1lIG9mIHRoZSBsaWJyYXJ5LCBpZiBkaWZmZXJlbnQgZnJvbSB0aGUgcmVh
bCBuYW1lLgpzb25hbWVfc3BlYz0iIgoKIyBQZXJtaXNzaW9uIG1vZGUgb3ZlcnJpZGUgZm9yIGlu
c3RhbGxhdGlvbiBvZiBzaGFyZWQgbGlicmFyaWVzLgppbnN0YWxsX292ZXJyaWRlX21vZGU9IiIK
CiMgQ29tbWFuZCB0byB1c2UgYWZ0ZXIgaW5zdGFsbGF0aW9uIG9mIGEgc2hhcmVkIGFyY2hpdmUu
CnBvc3RpbnN0YWxsX2NtZHM9IiIKCiMgQ29tbWFuZCB0byB1c2UgYWZ0ZXIgdW5pbnN0YWxsYXRp
b24gb2YgYSBzaGFyZWQgYXJjaGl2ZS4KcG9zdHVuaW5zdGFsbF9jbWRzPSIiCgojIENvbW1hbmRz
IHVzZWQgdG8gZmluaXNoIGEgbGlidG9vbCBsaWJyYXJ5IGluc3RhbGxhdGlvbiBpbiBhIGRpcmVj
dG9yeS4KZmluaXNoX2NtZHM9IiIKCiMgQXMgImZpbmlzaF9jbWRzIiwgZXhjZXB0IGEgc2luZ2xl
IHNjcmlwdCBmcmFnbWVudCB0byBiZSBldmFsZWQgYnV0CiMgbm90IHNob3duLgpmaW5pc2hfZXZh
bD0iIgoKIyBXaGV0aGVyIHdlIHNob3VsZCBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8gbGli
cmFyaWVzLgpoYXJkY29kZV9pbnRvX2xpYnM9eWVzCgojIENvbXBpbGUtdGltZSBzeXN0ZW0gc2Vh
cmNoIHBhdGggZm9yIGxpYnJhcmllcy4Kc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvdXNyL2xp
YiAiCgojIFJ1bi10aW1lIHN5c3RlbSBzZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVzLgpzeXNfbGli
X2Rsc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiIKCiMgV2hldGhlciBkbG9wZW4gaXMg
c3VwcG9ydGVkLgpkbG9wZW5fc3VwcG9ydD11bmtub3duCgojIFdoZXRoZXIgZGxvcGVuIG9mIHBy
b2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGY9dW5rbm93bgoKIyBXaGV0aGVyIGRsb3Bl
biBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtcyBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxm
X3N0YXRpYz11bmtub3duCgojIENvbW1hbmRzIHRvIHN0cmlwIGxpYnJhcmllcy4Kb2xkX3N0cmlw
bGliPSJzdHJpcCAtLXN0cmlwLWRlYnVnIgpzdHJpcGxpYj0ic3RyaXAgLS1zdHJpcC11bm5lZWRl
ZCIKCgojIFRoZSBsaW5rZXIgdXNlZCB0byBidWlsZCBsaWJyYXJpZXMuCkxEPSIvdXNyL2Jpbi9s
ZCIKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9
IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRf
b2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xk
X2FyY2hpdmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElC
IFwkdG9vbF9vbGRsaWIiCgojIEEgbGFuZ3VhZ2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSJnY2Mi
CgojIElzIHRoZSBjb21waWxlciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2djYz15ZXMKCiMgQ29t
cGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4Kbm9fYnVpbHRpbl9mbGFn
PSIgLWZuby1idWlsdGluIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWlsZGlu
ZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIgLWZQSUMgLURQSUMiCgojIEhvdyB0byBwYXNz
IGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSItV2wsIgoKIyBDb21waWxl
ciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgpsaW5rX3N0YXRpY19mbGFnPSItc3Rh
dGljIgoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9w
dGlvbnM/CmNvbXBpbGVyX2Nfbz0ieWVzIgoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZv
ciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25lZWRfbGM9bm8KCiMg
V2hldGhlciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1lIGxpYnMg
YXJlIHN0YXRpYy4KYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPW5vCgoj
IENvbXBpbGVyIGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3BlbnMuCmV4cG9ydF9keW5hbWlj
X2ZsYWdfc3BlYz0iXCR7d2x9LS1leHBvcnQtZHluYW1pYyIKCiMgQ29tcGlsZXIgZmxhZyB0byBn
ZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3aG9sZV9hcmNo
aXZlX2ZsYWdfc3BlYz0iXCR7d2x9LS13aG9sZS1hcmNoaXZlXCRjb252ZW5pZW5jZSBcJHt3bH0t
LW5vLXdob2xlLWFyY2hpdmUiCgojIFdoZXRoZXIgdGhlIGNvbXBpbGVyIGNvcGVzIHdpdGggcGFz
c2luZyBubyBvYmplY3RzIGRpcmVjdGx5Lgpjb21waWxlcl9uZWVkc19vYmplY3Q9Im5vIgoKIyBD
cmVhdGUgYW4gb2xkLXN0eWxlIGFyY2hpdmUgZnJvbSBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJj
aGl2ZV9mcm9tX25ld19jbWRzPSIiCgojIENyZWF0ZSBhIHRlbXBvcmFyeSBvbGQtc3R5bGUgYXJj
aGl2ZSB0byBsaW5rIGluc3RlYWQgb2YgYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJv
bV9leHBzeW1zX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhIHNoYXJlZCBhcmNo
aXZlLgphcmNoaXZlX2NtZHM9IlwkQ0MgLXNoYXJlZCBcJHBpY19mbGFnIFwkbGlib2JqcyBcJGRl
cGxpYnMgXCRjb21waWxlcl9mbGFncyBcJHt3bH0tc29uYW1lIFwkd2xcJHNvbmFtZSAtbyBcJGxp
YiIKYXJjaGl2ZV9leHBzeW1fY21kcz0iXCRDQyAtc2hhcmVkIFwkcGljX2ZsYWcgXCRsaWJvYmpz
IFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzIFwke3dsfS1zb25hbWUgXCR3bFwkc29uYW1lIFwk
e3dsfS1yZXRhaW4tc3ltYm9scy1maWxlIFwkd2xcJGV4cG9ydF9zeW1ib2xzIC1vIFwkbGliIgoK
IyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRpZmZlcmVudCBm
cm9tIGJ1aWxkaW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9kdWxlX2NtZHM9IiIKbW9kdWxlX2V4
cHN5bV9jbWRzPSIiCgojIFdoZXRoZXIgd2UgYXJlIGJ1aWxkaW5nIHdpdGggR05VIGxkIG9yIG5v
dC4Kd2l0aF9nbnVfbGQ9InllcyIKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVz
IHdpdGggdW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5lZF9mbGFn
PSIiCgojIEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZp
bmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVy
aW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4
aXN0CmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Ilwke3dsfS1ycGF0aCBcJHt3bH1cJGxpYmRp
ciIKCiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgiIGZsYWcgd2l0aCBhIHNlcGFy
YXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0iIgoKIyBTZXQgdG8gInll
cyIgaWYgdXNpbmcgRElSL2xpYk5BTUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRj
b2RlcwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9kaXJlY3Q9bm8K
CiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeSBhbmQgdGhl
IHJlc3VsdGluZyBsaWJyYXJ5IGRlcGVuZGVuY3kgaXMKIyAiYWJzb2x1dGUiLGkuZSBpbXBvc3Np
YmxlIHRvIGNoYW5nZSBieSBzZXR0aW5nICR7c2hsaWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGlicmFy
eSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT1ubwoKIyBTZXQgdG8gInll
cyIgaWYgdXNpbmcgdGhlIC1MRElSIGZsYWcgZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgoj
IGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX21pbnVzX0w9bm8KCiMgU2V0IHRv
ICJ5ZXMiIGlmIHVzaW5nIFNITElCUEFUSF9WQVI9RElSIGR1cmluZyBsaW5raW5nIGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9zaGxpYnBhdGhfdmFy
PXVuc3VwcG9ydGVkCgojIFNldCB0byAieWVzIiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5
IGF1dG9tYXRpY2FsbHkgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBz
dWJzZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdhaW5zdCBpdC4K
aGFyZGNvZGVfYXV0b21hdGljPW5vCgojIFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVudGlt
ZSBwYXRocyBvZiBkZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmlu
aGVyaXRfcnBhdGg9bm8KCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdh
aW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPXVua25v
d24KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdh
eXNfZXhwb3J0X3N5bWJvbHM9bm8KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3lt
Ym9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0iXCROTSBcJGxpYm9ianMgXCRjb252ZW5pZW5jZSB8
IFwkZ2xvYmFsX3N5bWJvbF9waXBlIHwgXCRTRUQgJ3MvLiogLy8nIHwgc29ydCB8IHVuaXEgPiBc
JGV4cG9ydF9zeW1ib2xzIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4g
dGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9Il9HTE9CQUxfT0ZGU0VUX1RB
QkxFX3xfR0xPQkFMX19GW0lEXV8uKiIKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4
cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5r
aW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtf
Y21kcz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dy
YW1zLgpwb3N0bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1
dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxp
YnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlvbj1pbW1lZGlhdGUK
CiMgVGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGlu
ZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9IiIKCiMgRGVwZW5k
ZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcgbGlua2Vk
IHRvCiMgY3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIiCnBvc3RkZXBf
b2JqZWN0cz0iIgpwcmVkZXBzPSIiCnBvc3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBw
YXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBzaGFy
ZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPSIiCgo=
--90e6ba614a96353c2304d8eab4ea
Content-Type: application/octet-stream; name=libtool-glib-gcc47
Content-Disposition: attachment; filename=libtool-glib-gcc47
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hespwgew2

CiMgV2hpY2ggcmVsZWFzZSBvZiBsaWJ0b29sLm00IHdhcyB1c2VkPwptYWNyb192ZXJzaW9uPTIu
NC4yCm1hY3JvX3JldmlzaW9uPTEuMzMzNwoKIyBXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzdGF0
aWMgbGlicmFyaWVzLgpidWlsZF9vbGRfbGlicz1ubwoKIyBBc3NlbWJsZXIgcHJvZ3JhbS4KQVM9
ImFzIgoKIyBETEwgY3JlYXRpb24gcHJvZ3JhbS4KRExMVE9PTD0iZmFsc2UiCgojIE9iamVjdCBk
dW1wZXIgcHJvZ3JhbS4KT0JKRFVNUD0ib2JqZHVtcCIKCiMgV2hldGhlciBvciBub3QgdG8gYnVp
bGQgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9saWJzPXllcwoKIyBXaGF0IHR5cGUg
b2Ygb2JqZWN0cyB0byBidWlsZC4KcGljX21vZGU9ZGVmYXVsdAoKIyBXaGV0aGVyIG9yIG5vdCB0
byBvcHRpbWl6ZSBmb3IgZmFzdCBpbnN0YWxsYXRpb24uCmZhc3RfaW5zdGFsbD1uZWVkbGVzcwoK
IyBTaGVsbCB0byB1c2Ugd2hlbiBpbnZva2luZyBzaGVsbCBzY3JpcHRzLgpTSEVMTD0iL3Vzci9s
b2NhbC9iaW4vYmFzaCIKCiMgQW4gZWNobyBwcm9ncmFtIHRoYXQgcHJvdGVjdHMgYmFja3NsYXNo
ZXMuCkVDSE89InByaW50ZiAlc1xcbiIKCiMgVGhlIFBBVEggc2VwYXJhdG9yIGZvciB0aGUgYnVp
bGQgc3lzdGVtLgpQQVRIX1NFUEFSQVRPUj0iOiIKCiMgVGhlIGhvc3Qgc3lzdGVtLgpob3N0X2Fs
aWFzPQpob3N0PXg4Nl82NC11bmtub3duLWZyZWVic2Q4LjAKaG9zdF9vcz1mcmVlYnNkOC4wCgoj
IFRoZSBidWlsZCBzeXN0ZW0uCmJ1aWxkX2FsaWFzPQpidWlsZD14ODZfNjQtdW5rbm93bi1mcmVl
YnNkOC4wCmJ1aWxkX29zPWZyZWVic2Q4LjAKCiMgQSBzZWQgcHJvZ3JhbSB0aGF0IGRvZXMgbm90
IHRydW5jYXRlIG91dHB1dC4KU0VEPSIvdXNyL2Jpbi9zZWQiCgojIFNlZCB0aGF0IGhlbHBzIHVz
IGF2b2lkIGFjY2lkZW50YWxseSB0cmlnZ2VyaW5nIGVjaG8oMSkgb3B0aW9ucyBsaWtlIC1uLgpY
c2VkPSIkU0VEIC1lIDFzL15YLy8iCgojIEEgZ3JlcCBwcm9ncmFtIHRoYXQgaGFuZGxlcyBsb25n
IGxpbmVzLgpHUkVQPSIvdXNyL2Jpbi9ncmVwIgoKIyBBbiBFUkUgbWF0Y2hlci4KRUdSRVA9Ii91
c3IvYmluL2dyZXAgLUUiCgojIEEgbGl0ZXJhbCBzdHJpbmcgbWF0Y2hlci4KRkdSRVA9Ii91c3Iv
YmluL2dyZXAgLUYiCgojIEEgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyLgpOTT0i
L3Vzci9iaW4vbm0gLUIiCgojIFdoZXRoZXIgd2UgbmVlZCBzb2Z0IG9yIGhhcmQgbGlua3MuCkxO
X1M9ImxuIC1zIgoKIyBXaGF0IGlzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIGNvbW1hbmQ/Cm1h
eF9jbWRfbGVuPTE5NjYwOAoKIyBPYmplY3QgZmlsZSBzdWZmaXggKG5vcm1hbGx5ICJvIikuCm9i
amV4dD1vCgojIEV4ZWN1dGFibGUgZmlsZSBzdWZmaXggKG5vcm1hbGx5ICIiKS4KZXhlZXh0PQoK
IyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyAidW5zZXQiLgpsdF91bnNldD11bnNldAoK
IyB0dXJuIHNwYWNlcyBpbnRvIG5ld2xpbmVzLgpTUDJOTD0idHIgXFwwNDAgXFwwMTIiCgojIHR1
cm4gbmV3bGluZXMgaW50byBzcGFjZXMuCk5MMlNQPSJ0ciBcXDAxNVxcMDEyIFxcMDQwXFwwNDAi
CgojIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gJGhvc3QgZm9ybWF0Lgp0b19ob3N0X2Zp
bGVfY21kPWZ1bmNfY29udmVydF9maWxlX25vb3AKCiMgY29udmVydCAkYnVpbGQgZmlsZXMgdG8g
dG9vbGNoYWluIGZvcm1hdC4KdG9fdG9vbF9maWxlX2NtZD1mdW5jX2NvbnZlcnRfZmlsZV9ub29w
CgojIE1ldGhvZCB0byBjaGVjayB3aGV0aGVyIGRlcGVuZGVudCBsaWJyYXJpZXMgYXJlIHNoYXJl
ZCBvYmplY3RzLgpkZXBsaWJzX2NoZWNrX21ldGhvZD0icGFzc19hbGwiCgojIENvbW1hbmQgdG8g
dXNlIHdoZW4gZGVwbGlic19jaGVja19tZXRob2QgPSAiZmlsZV9tYWdpYyIuCmZpbGVfbWFnaWNf
Y21kPSJcJE1BR0lDX0NNRCIKCiMgSG93IHRvIGZpbmQgcG90ZW50aWFsIGZpbGVzIHdoZW4gZGVw
bGlic19jaGVja19tZXRob2QgPSAiZmlsZV9tYWdpYyIuCmZpbGVfbWFnaWNfZ2xvYj0iIgoKIyBG
aW5kIHBvdGVudGlhbCBmaWxlcyB1c2luZyBub2Nhc2VnbG9iIHdoZW4gZGVwbGlic19jaGVja19t
ZXRob2QgPSAiZmlsZV9tYWdpYyIuCndhbnRfbm9jYXNlZ2xvYj0ibm8iCgojIENvbW1hbmQgdG8g
YXNzb2NpYXRlIHNoYXJlZCBhbmQgbGluayBsaWJyYXJpZXMuCnNoYXJlZGxpYl9mcm9tX2xpbmts
aWJfY21kPSJwcmludGYgJXNcXG4iCgojIFRoZSBhcmNoaXZlci4KQVI9ImFyIgoKIyBGbGFncyB0
byBjcmVhdGUgYW4gYXJjaGl2ZS4KQVJfRkxBR1M9ImNydSIKCiMgSG93IHRvIGZlZWQgYSBmaWxl
IGxpc3RpbmcgdG8gdGhlIGFyY2hpdmVyLgphcmNoaXZlcl9saXN0X3NwZWM9IiIKCiMgQSBzeW1i
b2wgc3RyaXBwaW5nIHByb2dyYW0uClNUUklQPSJzdHJpcCIKCiMgQ29tbWFuZHMgdXNlZCB0byBp
bnN0YWxsIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpSQU5MSUI9InJhbmxpYiIKb2xkX3Bvc3RpbnN0
YWxsX2NtZHM9ImNobW9kIDY0NCBcJG9sZGxpYn5cJFJBTkxJQiBcJHRvb2xfb2xkbGliIgpvbGRf
cG9zdHVuaW5zdGFsbF9jbWRzPSIiCgojIFdoZXRoZXIgdG8gdXNlIGEgbG9jayBmb3Igb2xkIGFy
Y2hpdmUgZXh0cmFjdGlvbi4KbG9ja19vbGRfYXJjaGl2ZV9leHRyYWN0aW9uPW5vCgojIEEgQyBj
b21waWxlci4KTFRDQz0iZ2NjNDciCgojIExUQ0MgY29tcGlsZXIgZmxhZ3MuCkxUQ0ZMQUdTPSIt
ZyAtTzIgLVdhbGwiCgojIFRha2UgdGhlIG91dHB1dCBvZiBubSBhbmQgcHJvZHVjZSBhIGxpc3Rp
bmcgb2YgcmF3IHN5bWJvbHMgYW5kIEMgbmFtZXMuCmdsb2JhbF9zeW1ib2xfcGlwZT0ic2VkIC1u
IC1lICdzL14uKlsJIF1cXChbQUJDREdJUlNUV11bQUJDREdJUlNUV10qXFwpWwkgXVsJIF0qXFwo
W19BLVphLXpdW19BLVphLXowLTldKlxcKVwkL1xcMSBcXDIgXFwyL3AnIHwgc2VkICcvIF9fZ251
X2x0by9kJyIKCiMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBwcm9wZXIgQyBkZWNs
YXJhdGlvbi4KZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFxcKC4q
XFwpXCQvZXh0ZXJuIGludCBcXDEoKTsvcCcgLWUgJ3MvXltBQkNER0lSU1RXXSogLiogXFwoLipc
XClcJC9leHRlcm4gY2hhciBcXDE7L3AnIgoKIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBp
biBhIEMgbmFtZSBhZGRyZXNzIHBhaXIuCmdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9
InNlZCAtbiAtZSAncy9eOiBcXChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZvaWQg
KikgMH0sL3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxcKFteIF0qXFwpXCQv
ICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwyfSwvcCciCgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0
IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVk
LgpnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9InNlZCAtbiAtZSAn
cy9eOiBcXChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZvaWQgKikgMH0sL3AnIC1l
ICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxcKGxpYlteIF0qXFwpXCQvICB7XCJcXDJc
IiwgKHZvaWQgKikgXFwmXFwyfSwvcCcgLWUgJ3MvXltBQkNER0lSU1RXXSogXFwoW14gXSpcXCkg
XFwoW14gXSpcXClcJC8gIHtcImxpYlxcMlwiLCAodm9pZCAqKSBcXCZcXDJ9LC9wJyIKCiMgU3Bl
Y2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzIGZvciAkTk0uCm5tX2ZpbGVfbGlz
dF9zcGVjPSIiCgojIFRoZSByb290IHdoZXJlIHRvIHNlYXJjaCBmb3IgZGVwZW5kZW50IGxpYnJh
cmllcyxhbmQgaW4gd2hpY2ggb3VyIGxpYnJhcmllcyBzaG91bGQgYmUgaW5zdGFsbGVkLgpsdF9z
eXNyb290PQoKIyBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9y
YXJ5IGxpYnRvb2wgZmlsZXMuCm9iamRpcj0ubGlicwoKIyBVc2VkIHRvIGV4YW1pbmUgbGlicmFy
aWVzIHdoZW4gZmlsZV9tYWdpY19jbWQgYmVnaW5zIHdpdGggImZpbGUiLgpNQUdJQ19DTUQ9Zmls
ZQoKIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KbmVlZF9sb2Nr
cz0ibm8iCgojIE1hbmlmZXN0IHRvb2wuCk1BTklGRVNUX1RPT0w9IjoiCgojIFRvb2wgdG8gbWFu
aXB1bGF0ZSBhcmNoaXZlZCBEV0FSRiBkZWJ1ZyBzeW1ib2wgZmlsZXMgb24gTWFjIE9TIFguCkRT
WU1VVElMPSIiCgojIFRvb2wgdG8gY2hhbmdlIGdsb2JhbCB0byBsb2NhbCBzeW1ib2xzIG9uIE1h
YyBPUyBYLgpOTUVESVQ9IiIKCiMgVG9vbCB0byBtYW5pcHVsYXRlIGZhdCBvYmplY3RzIGFuZCBh
cmNoaXZlcyBvbiBNYWMgT1MgWC4KTElQTz0iIgoKIyBsZGQvcmVhZGVsZiBsaWtlIHRvb2wgZm9y
IE1hY2gtTyBiaW5hcmllcyBvbiBNYWMgT1MgWC4KT1RPT0w9IiIKCiMgbGRkL3JlYWRlbGYgbGlr
ZSB0b29sIGZvciA2NCBiaXQgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYIDEwLjQuCk9UT09M
NjQ9IiIKCiMgT2xkIGFyY2hpdmUgc3VmZml4IChub3JtYWxseSAiYSIpLgpsaWJleHQ9YQoKIyBT
aGFyZWQgbGlicmFyeSBzdWZmaXggKG5vcm1hbGx5ICIuc28iKS4Kc2hyZXh0X2NtZHM9Ii5zbyIK
CiMgVGhlIGNvbW1hbmRzIHRvIGV4dHJhY3QgdGhlIGV4cG9ydGVkIHN5bWJvbCBsaXN0IGZyb20g
YSBzaGFyZWQgYXJjaGl2ZS4KZXh0cmFjdF9leHBzeW1zX2NtZHM9IiIKCiMgVmFyaWFibGVzIHdo
b3NlIHZhbHVlcyBzaG91bGQgYmUgc2F2ZWQgaW4gbGlidG9vbCB3cmFwcGVyIHNjcmlwdHMgYW5k
CiMgcmVzdG9yZWQgYXQgbGluayB0aW1lLgp2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0iUEFU
SCBMRF9MSUJSQVJZX1BBVEggTERfUlVOX1BBVEggR0NDX0VYRUNfUFJFRklYIENPTVBJTEVSX1BB
VEggTElCUkFSWV9QQVRIIgoKIyBEbyB3ZSBuZWVkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVs
ZXM/Cm5lZWRfbGliX3ByZWZpeD1ubwoKIyBEbyB3ZSBuZWVkIGEgdmVyc2lvbiBmb3IgbGlicmFy
aWVzPwpuZWVkX3ZlcnNpb249bm8KCiMgTGlicmFyeSB2ZXJzaW9uaW5nIHR5cGUuCnZlcnNpb25f
dHlwZT1mcmVlYnNkLWVsZgoKIyBTaGFyZWQgbGlicmFyeSBydW50aW1lIHBhdGggdmFyaWFibGUu
CnJ1bnBhdGhfdmFyPUxEX1JVTl9QQVRICgojIFNoYXJlZCBsaWJyYXJ5IHBhdGggdmFyaWFibGUu
CnNobGlicGF0aF92YXI9TERfTElCUkFSWV9QQVRICgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBi
ZWZvcmUgdGhlIGhhcmQtY29kZWQgbGlicmFyeSBzZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292ZXJy
aWRlc19ydW5wYXRoPXllcwoKIyBGb3JtYXQgb2YgbGlicmFyeSBuYW1lIHByZWZpeC4KbGlibmFt
ZV9zcGVjPSJsaWJcJG5hbWUiCgojIExpc3Qgb2YgYXJjaGl2ZSBuYW1lcy4gIEZpcnN0IG5hbWUg
aXMgdGhlIHJlYWwgb25lLCB0aGUgcmVzdCBhcmUgbGlua3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0
aGUgb25lIHRoYXQgdGhlIGxpbmtlciBmaW5kcyB3aXRoIC1sTkFNRQpsaWJyYXJ5X25hbWVzX3Nw
ZWM9Ilwke2xpYm5hbWV9XCR7cmVsZWFzZX1cJHtzaGFyZWRfZXh0fVwkdmVyc3VmZml4IFwke2xp
Ym5hbWV9XCR7cmVsZWFzZX1cJHtzaGFyZWRfZXh0fSBcJGxpYm5hbWVcJHtzaGFyZWRfZXh0fSIK
CiMgVGhlIGNvZGVkIG5hbWUgb2YgdGhlIGxpYnJhcnksIGlmIGRpZmZlcmVudCBmcm9tIHRoZSBy
ZWFsIG5hbWUuCnNvbmFtZV9zcGVjPSIiCgojIFBlcm1pc3Npb24gbW9kZSBvdmVycmlkZSBmb3Ig
aW5zdGFsbGF0aW9uIG9mIHNoYXJlZCBsaWJyYXJpZXMuCmluc3RhbGxfb3ZlcnJpZGVfbW9kZT0i
IgoKIyBDb21tYW5kIHRvIHVzZSBhZnRlciBpbnN0YWxsYXRpb24gb2YgYSBzaGFyZWQgYXJjaGl2
ZS4KcG9zdGluc3RhbGxfY21kcz0iIgoKIyBDb21tYW5kIHRvIHVzZSBhZnRlciB1bmluc3RhbGxh
dGlvbiBvZiBhIHNoYXJlZCBhcmNoaXZlLgpwb3N0dW5pbnN0YWxsX2NtZHM9IiIKCiMgQ29tbWFu
ZHMgdXNlZCB0byBmaW5pc2ggYSBsaWJ0b29sIGxpYnJhcnkgaW5zdGFsbGF0aW9uIGluIGEgZGly
ZWN0b3J5LgpmaW5pc2hfY21kcz0iIgoKIyBBcyAiZmluaXNoX2NtZHMiLCBleGNlcHQgYSBzaW5n
bGUgc2NyaXB0IGZyYWdtZW50IHRvIGJlIGV2YWxlZCBidXQKIyBub3Qgc2hvd24uCmZpbmlzaF9l
dmFsPSIiCgojIFdoZXRoZXIgd2Ugc2hvdWxkIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBs
aWJyYXJpZXMuCmhhcmRjb2RlX2ludG9fbGlicz15ZXMKCiMgQ29tcGlsZS10aW1lIHN5c3RlbSBz
ZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVzLgpzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Ii91c3Iv
bG9jYWwvbGliL2djYzQ3L2djYy94ODZfNjQtcG9ydGJsZC1mcmVlYnNkOC4wLzQuNy4zIC91c3Iv
bG9jYWwveDg2XzY0LXBvcnRibGQtZnJlZWJzZDguMC9saWIgL3Vzci9sb2NhbC9saWIvZ2NjNDcg
L2xpYiAvdXNyL2xpYiAiCgojIFJ1bi10aW1lIHN5c3RlbSBzZWFyY2ggcGF0aCBmb3IgbGlicmFy
aWVzLgpzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiIKCiMgV2hldGhl
ciBkbG9wZW4gaXMgc3VwcG9ydGVkLgpkbG9wZW5fc3VwcG9ydD11bmtub3duCgojIFdoZXRoZXIg
ZGxvcGVuIG9mIHByb2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGY9dW5rbm93bgoKIyBX
aGV0aGVyIGRsb3BlbiBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtcyBpcyBzdXBwb3J0ZWQu
CmRsb3Blbl9zZWxmX3N0YXRpYz11bmtub3duCgojIENvbW1hbmRzIHRvIHN0cmlwIGxpYnJhcmll
cy4Kb2xkX3N0cmlwbGliPSJzdHJpcCAtLXN0cmlwLWRlYnVnIgpzdHJpcGxpYj0ic3RyaXAgLS1z
dHJpcC11bm5lZWRlZCIKCgojIFRoZSBsaW5rZXIgdXNlZCB0byBidWlsZCBsaWJyYXJpZXMuCkxE
PSIvdXNyL2xvY2FsL2Jpbi9sZCIKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBm
aWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1v
IFwkb3V0cHV0XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBvbGQt
c3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xkbGli
XCRvbGRvYmpzflwkUkFOTElCIFwkdG9vbF9vbGRsaWIiCgojIEEgbGFuZ3VhZ2Ugc3BlY2lmaWMg
Y29tcGlsZXIuCkNDPSJnY2M0NyIKCiMgSXMgdGhlIGNvbXBpbGVyIHRoZSBHTlUgY29tcGlsZXI/
CndpdGhfZ2NjPXllcwoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rp
b25zLgpub19idWlsdGluX2ZsYWc9IiAtZm5vLWJ1aWx0aW4iCgojIEFkZGl0aW9uYWwgY29tcGls
ZXIgZmxhZ3MgZm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2ZsYWc9IiAtZlBJQyAt
RFBJQyIKCiMgSG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxlci4K
d2w9Ii1XbCwiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxp
bmtfc3RhdGljX2ZsYWc9Ii1zdGF0aWMiCgojIERvZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkg
c3VwcG9ydCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdoZXRoZXIg
b3Igbm90IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1aWxkX2xp
YnRvb2xfbmVlZF9sYz1ubwoKIyBXaGV0aGVyIG9yIG5vdCB0byBkaXNhbGxvdyBzaGFyZWQgbGli
cyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljLgphbGxvd19saWJ0b29sX2xpYnNfd2l0aF9z
dGF0aWNfcnVudGltZXM9bm8KCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxvdyByZWZsZXhpdmUgZGxv
cGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSJcJHt3bH0tLWV4cG9ydC1keW5hbWljIgoK
IyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20g
YXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSJcJHt3bH0tLXdob2xlLWFyY2hpdmVc
JGNvbnZlbmllbmNlIFwke3dsfS0tbm8td2hvbGUtYXJjaGl2ZSIKCiMgV2hldGhlciB0aGUgY29t
cGlsZXIgY29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVyX25l
ZWRzX29iamVjdD0ibm8iCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hh
cmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVt
cG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRv
IGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iXCRDQyAtc2hhcmVkIFwkcGlj
X2ZsYWcgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVyX2ZsYWdzIFwke3dsfS1zb25hbWUg
XCR3bFwkc29uYW1lIC1vIFwkbGliIgphcmNoaXZlX2V4cHN5bV9jbWRzPSJcJENDIC1zaGFyZWQg
XCRwaWNfZmxhZyBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgXCR7d2x9LXNv
bmFtZSBcJHdsXCRzb25hbWUgXCR7d2x9LXJldGFpbi1zeW1ib2xzLWZpbGUgXCR3bFwkZXhwb3J0
X3N5bWJvbHMgLW8gXCRsaWIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBsb2FkYWJsZSBt
b2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBhIHNoYXJlZCBhcmNoaXZlLgptb2R1
bGVfY21kcz0iIgptb2R1bGVfZXhwc3ltX2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRp
bmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0ieWVzIgoKIyBGbGFnIHRoYXQgYWxs
b3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBiZSBidWlsdC4K
YWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0aGF0IGVuZm9yY2VzIG5vIHVuZGVmaW5l
ZCBzeW1ib2xzLgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRsaWJk
aXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qgd29yayBldmVuIGlm
ICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iXCR7d2x9
LXJwYXRoIFwke3dsfVwkbGliZGlyIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0
aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJkaXJfc2VwYXJh
dG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0g
ZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnku
CmhhcmRjb2RlX2RpcmVjdD1ubwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUUk
e3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1
bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJh
YnNvbHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgJHtzaGxpYnBhdGhf
dmFyfSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVfZGlyZWN0X2Fic29s
dXRlPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBkdXJpbmcgbGlu
a2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVf
bWludXNfTD1ubwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVy
aW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhh
cmRjb2RlX3NobGlicGF0aF92YXI9dW5zdXBwb3J0ZWQKCiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxk
aW5nIGEgc2hhcmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50byB0
aGUgbGlicmFyeSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcyBs
aW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9bm8KCiMgU2V0IHRvIHllcyBp
ZiBsaW5rZXIgYWRkcyBydW50aW1lIHBhdGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMKIyB0byBy
dW50aW1lIHBhdGggbGlzdC4KaW5oZXJpdF9ycGF0aD1ubwoKIyBXaGV0aGVyIGxpYnRvb2wgbXVz
dCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCmxp
bmtfYWxsX2RlcGxpYnM9dW5rbm93bgoKIyBTZXQgdG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9s
cyBhcmUgcmVxdWlyZWQuCmFsd2F5c19leHBvcnRfc3ltYm9scz1ubwoKIyBUaGUgY29tbWFuZHMg
dG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9sc19jbWRzPSJcJE5NIFwkbGli
b2JqcyBcJGNvbnZlbmllbmNlIHwgXCRnbG9iYWxfc3ltYm9sX3BpcGUgfCBcJFNFRCAncy8uKiAv
LycgfCBzb3J0IHwgdW5pcSA+IFwkZXhwb3J0X3N5bWJvbHMiCgojIFN5bWJvbHMgdGhhdCBzaG91
bGQgbm90IGJlIGxpc3RlZCBpbiB0aGUgcHJlbG9hZGVkIHN5bWJvbHMuCmV4Y2x1ZGVfZXhwc3lt
cz0iX0dMT0JBTF9PRkZTRVRfVEFCTEVffF9HTE9CQUxfX0ZbSURdXy4qIgoKIyBTeW1ib2xzIHRo
YXQgbXVzdCBhbHdheXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0iIgoKIyBDb21tYW5k
cyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRo
IHRlbXBsYXRlcy4KcHJlbGlua19jbWRzPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgZmlu
aXNoaW5nIGxpbmtpbmcgcHJvZ3JhbXMuCnBvc3RsaW5rX2NtZHM9IiIKCiMgU3BlY2lmeSBmaWxl
bmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgpmaWxlX2xpc3Rfc3BlYz0iIgoKIyBIb3cgdG8g
aGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNv
ZGVfYWN0aW9uPWltbWVkaWF0ZQoKIyBUaGUgZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhpcyBj
b21waWxlciB3aGVuIGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFy
Y2hfZGlycz0iIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUg
b2JqZWN0cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4KcHJlZGVw
X29iamVjdHM9IiIKcG9zdGRlcF9vYmplY3RzPSIiCnByZWRlcHM9IiIKcG9zdGRlcHM9IiIKCiMg
VGhlIGxpYnJhcnkgc2VhcmNoIHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3
aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX3BhdGg9
IiIKCg==
--90e6ba614a96353c2304d8eab4ea--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALa-7vwcAVLHh63n_eq00rdA8mrwXpj5wqJ%2BYdrHV2wpXxUgWw>