From owner-freebsd-ports@FreeBSD.ORG Wed Mar 27 16:41:04 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id ADC9032A; Wed, 27 Mar 2013 16:41:04 +0000 (UTC) (envelope-from andrew.w.nosenko@gmail.com) Received: from mail-ie0-x22a.google.com (mail-ie0-x22a.google.com [IPv6:2607:f8b0:4001:c03::22a]) by mx1.freebsd.org (Postfix) with ESMTP id 70826CC3; Wed, 27 Mar 2013 16:41:04 +0000 (UTC) Received: by mail-ie0-f170.google.com with SMTP id c11so10710910ieb.29 for ; Wed, 27 Mar 2013 09:41:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=V5Trz8LFRHcUdynRXolxwNRkOlpK0Xx4IfkpBnz6jCI=; b=nhmxiSyMqJrXMf3cD1FWls9hFhz5WaIB6sMdhtZMeC/VkWUQAmdWYbOaxH1NAEPWdk R+Ze+A89vo5fpR4jcN27dQttUybB3fCaPLruDl/ElKogWf0mCm0n4o6i/RnfXbY7aa6C rfHAuzVPd4MluKGY0TXBAu+1IsmEoezY9AE1Y7EEXCqwesir/RjMFhTGx57GVSYkXjXo RQ4CLDhbx5yhviKtqtAXM8mmi1PrEYlVdt53KaWvzakKdDFpHWmkGNcfwrIX9otbjKY+ EBmH3Dle8y+NtelyieIfkHjQez8iDEPy0wr6OtJhT/9DokV9lme3vU1Rf57CTdNzqGkA nBKg== MIME-Version: 1.0 X-Received: by 10.42.98.76 with SMTP id r12mr12001321icn.10.1364402464172; Wed, 27 Mar 2013 09:41:04 -0700 (PDT) Received: by 10.64.68.106 with HTTP; Wed, 27 Mar 2013 09:41:03 -0700 (PDT) In-Reply-To: References: <201303261050.r2QAo9v6041217@mech-cluster241.men.bris.ac.uk> Date: Wed, 27 Mar 2013 18:41:03 +0200 Message-ID: Subject: Re: is it a good idea to overwrite GCC_DEFAULT_VERSION= in Mk/bsd.gcc.mk? From: "Andrew W. Nosenko" To: Jeremy Messenger Content-Type: multipart/mixed; boundary=90e6ba614a96353c2304d8eab4ea Cc: gerald@pfeifer.com, mexas@bristol.ac.uk, freebsd-ports@freebsd.org, bdrewery@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Mar 2013 16:41:04 -0000 --90e6ba614a96353c2304d8eab4ea Content-Type: text/plain; charset=ISO-8859-1 On Wed, Mar 27, 2013 at 12:21 AM, Jeremy Messenger wrote: > On Tue, Mar 26, 2013 at 11:52 AM, Andrew W. Nosenko > wrote: >> On Tue, Mar 26, 2013 at 5:46 PM, Jeremy Messenger >> wrote: >>> On Tue, Mar 26, 2013 at 10:00 AM, Andrew W. Nosenko >>> wrote: >>>> On Tue, Mar 26, 2013 at 2:49 PM, Jeremy Messenger >>>> wrote: >>>>> On Tue, Mar 26, 2013 at 6:33 AM, Andrew W. Nosenko >>>>> wrote: >>>>>> On Tue, Mar 26, 2013 at 12:50 PM, Anton Shterenlikht >>>>>> 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 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 >>>>>> 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 , 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 --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--