delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/04/15/15:05:53

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:date:message-id:subject:from:to
:content-type; q=dns; s=default; b=S1M93dATYsGriinRq4/MlbgUHxbG7
HqSxDdOsymTrsQgK4zVhwFi8Vqt9qj4HMW9XCrEc/8hRP0X+KA0l30ZsY4QB3V6k
Y267XzbQxead2yyuCGmqdoFnGFEBtglyBvmXXz1y9oECeeg1UZHchp+ZCWVvuIxL
llXiPvY2DudNFo=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:date:message-id:subject:from:to
:content-type; s=default; bh=xp+mFgRF15BSQdUWNmABeBrIqpk=; b=sOo
/NySIqNBNhZx/jYbOrTGLfGC86cLYgbkMvP9Zr+wG+IEvATkQBoC7O4mVieANP0r
uSe7xX79el2PNkTCXD25U2vwQvYjULfdENVWOFjFK4e3IOxWj+j4lPj04nUNcd42
5gn21P0abIRnc1JdpEMzBQD6GTVFDOAjLVYWzSDk=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=tracker, Success, troubles, Visual
X-HELO: mail-vk0-f50.google.com
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to; bh=W0t7T4wCcLrlf8k6UmjiNpof9mzKBzT9hn4D/vtTEtE=; b=gd3ST9Md8/BzgGuyd5U/xrHVEfqb89bQxv/3rtx5rIwAitrjWJd+Y+s7DXJeL2A6sD guDIO2fAj6P1SaYZwYrRvHH2C3qaWByZSv/OLIEW8P9a9TPdjOkKZC5SxBlU27JT474r RRnrYy90dqq30VzTBP5DDeUxANYSx5kUKov1QKtzlDnj998nzliqYzSM/rFZ+FGHM3MJ JrB/Oz0iQtQLbZ2XPfV/STbNs3n7rJBVnKQ94DvdgajrHpOpaV5DsX+kQ4shdvMWWl1d tkVOm0CtFmlGJuUVJj5b+pH6XrYuRF+HlhMvXGpEbjowzou4v6bbWB3nKj8mI8RKUXO2 tV6A==
X-Gm-Message-State: AOPr4FXCDGJ9BTQTBawHGJxZzgqnPhJu1KY8mHTGbIpzsaekA9iLId1sOGkvZxuWsA+dTbfloZCwQg2yc/6GYg==
MIME-Version: 1.0
X-Received: by 10.31.8.142 with SMTP id 136mr11755181vki.14.1460747118793; Fri, 15 Apr 2016 12:05:18 -0700 (PDT)
Date: Fri, 15 Apr 2016 12:05:18 -0700
Message-ID: <CAAkR8+sqWOntu_zZ3K_CvkVA5mjnJEM1N=GN1SzK-oFvJ3BxsA@mail.gmail.com>
Subject: Cygwin 64bits gcc produces erroneous constants with the win32 headers.
From: Nicolas Noble <nicolas AT nobis-crew DOT org>
To: cygwin AT cygwin DOT com

--001a114577881ff31805308ab1a9
Content-Type: text/plain; charset=UTF-8

I originally entered a bug on msys2's bug tracker, but it turns out
they only repackage cygwin packages, and I have verified this is an
issue on cygwin too, so I am now sending that report here.

Original entry:

https://github.com/Alexpux/MSYS2-packages/issues/555



Basically, the 64 bits "gcc-core" and "w32api-headers" cygwin packages
aren't really compatible with each others. As far as I understand,
this isn't an issue already documented here:
https://cygwin.com/faq-nochunks.html#faq.programming.win32-api
.

The 64 bits gcc that gets compiled in has sizeof(long) == 8. This
causes various troubles with the win32 api headers. These troubles
don't exist with the mingw64 compiler which has sizeof(long) == 4.

Here's an example of what I'm talking about. In the winsock API, the
FIONBIO ioctl command constant is computed using sizeof(u_long) (the
relevance of such method isn't discussed here). Using Visual Studio,
or mingw64's gcc, the value of FIONBIO is always 0x8004667e. But using
cygwin's gcc, when producing a 64 bits binary, the value of that
constant becomes 0x8008667e, which is an invalid ioctl command.

Either cygwin's gcc should have sizeof(long) == 4, or the
w32api-headers package should be fixed to replace long references with
something that is 32 bits in the locations that are relevant, such as
the computation of such constants. For that specific problem for
instance, all the lines such as

#define FIONBIO _IOW('f',126,u_long)

should become something like

#define FIONBIO _IOW('f',126,uint32_t)

I have attached a sample code, and its output when compiled using
cygwin 64 bits. The same code compiled with mingw gcc or Visual Studio
will always produces proper results all the time.

Here's the output in cygwin:

nnoble AT NNOBLE0-W ~
$ gcc -o test-code test-code.c -lws2_32
nnoble AT NNOBLE0-W ~
$ file test-code.exe
test-code.exe: PE32+ executable (console) x86-64, for MS Windows
nnoble AT NNOBLE0-W ~
$ ./test-code.exe
Calling WSAIoctl with FIONBIO = 8008667e - sizeof(param1) = 8
WSAIoctl failed with error: -1
Calling WSAIoctl with FIONBIO = 8008667e - sizeof(param2) = 4
WSAIoctl failed with error: -1
Calling WSAIoctl with FIONBIO_PROPER = 8004667e - sizeof(param1) = 8
Success.
Calling WSAIoctl with FIONBIO_PROPER = 8004667e - sizeof(param2) = 4
Success.

--001a114577881ff31805308ab1a9
Content-Type: application/octet-stream; name="cygcheck.out"
Content-Disposition: attachment; filename="cygcheck.out"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_in2344x50

DQpDeWd3aW4gQ29uZmlndXJhdGlvbiBEaWFnbm9zdGljcw0KQ3VycmVudCBT
eXN0ZW0gVGltZTogRnJpIEFwciAxNSAxOToxMTo0OCAyMDE2DQoNCldpbmRv
d3MgNyBFbnRlcnByaXNlIFZlciA2LjEgQnVpbGQgNzYwMSBTZXJ2aWNlIFBh
Y2sgMQ0KDQpQYXRoOglDOlxjeWd3aW42NFx1c3JcbG9jYWxcYmluDQoJQzpc
Y3lnd2luNjRcYmluDQoJQzpcV2luZG93c1xDQ00NCglDOlxQcm9ncmFtRGF0
YVxPcmFjbGVcSmF2YVxqYXZhcGF0aA0KCUM6XFdpbmRvd3Ncc3lzdGVtMzIN
CglDOlxXaW5kb3dzDQoJQzpcV2luZG93c1xTeXN0ZW0zMlxXYmVtDQoJQzpc
V2luZG93c1xTeXN0ZW0zMlxXaW5kb3dzUG93ZXJTaGVsbFx2MS4wDQoJQzpc
V2luZG93c1xTeXN0ZW0zMlxXaW5kb3dzUG93ZXJTaGVsbFx2MS4wDQoJQzpc
d2luZG93c1xjb3JwYW0NCglDOlxQcm9ncmFtIEZpbGVzICh4ODYpXEdvb2ds
ZVxDZXJ0IEluc3RhbGxlcg0KCUM6XFdpbmRvd3NcbXJtYWdvbw0KCUM6XHB5
dGhvbl8yN19hbWQ2NFxmaWxlcw0KCUM6XFdpbmRvd3NcY2Ntc2V0dXANCglD
OlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdCBTUUwgU2VydmVyXDExMFxUb29s
c1xCaW5uDQoJQzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxCaXQ5XFBhcml0eSBB
Z2VudA0KCUM6XGdudWJieVxiaW4NCglDOlxQcm9ncmFtIEZpbGVzICh4ODYp
XE1pY3Jvc29mdCBTREtzXFR5cGVTY3JpcHRcMS4wDQoJQzpcUHJvZ3JhbSBG
aWxlc1xNaWNyb3NvZnQgU1FMIFNlcnZlclwxMjBcVG9vbHNcQmlubg0KCUM6
XHdpbmRvd3NcY29ycGFtDQoJQzpcUHJvZ3JhbSBGaWxlc1xHb29nbGVcQ2xv
dWQgU0RLXGdvb2dsZS1jbG91ZC1zZGtcYmluDQoJQzpcd2luZG93c1xjb3Jw
YW0NCglDOlxTdHJhd2JlcnJ5XGNcYmluDQoJQzpcU3RyYXdiZXJyeVxwZXJs
XHNpdGVcYmluDQoJQzpcU3RyYXdiZXJyeVxwZXJsXGJpbg0KCUM6XFByb2dy
YW0gRmlsZXNcVG9ydG9pc2VHaXRcYmluDQoJQzpcR29cYmluDQoJQzpcUHJv
Z3JhbSBGaWxlcyAoeDg2KVxHb29nbGVcZ1dpbmRvd3MtVXBkYXRlcg0KCUM6
XFByb2dyYW0gRmlsZXNcUHVwcGV0IExhYnNcUHVwcGV0XGJpbg0KCSVVU0VS
UFJPRklMRSVcLmRueFxiaW4NCglDOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29m
dCBETlhcRG52bQ0KCUM6XFByb2dyYW0gRmlsZXMgKHg4NilcV2luZG93cyBL
aXRzXDEwXFdpbmRvd3MgUGVyZm9ybWFuY2UgVG9vbGtpdA0KCUM6XFByb2dy
YW0gRmlsZXMgKHg4Nilcbm9kZWpzDQoJQzpcUnVieTIyLXg2NFxiaW4NCglD
OlxVc2Vyc1xubm9ibGVcQXBwRGF0YVxMb2NhbFxDb2RlXGJpbg0KCUM6XFVz
ZXJzXG5ub2JsZVxBcHBEYXRhXFJvYW1pbmdcbnBtDQoNCk91dHB1dCBmcm9t
IEM6XGN5Z3dpbjY0XGJpblxpZC5leGUNClVJRDogMTc1NTE1NChubm9ibGUp
DQpHSUQ6IDEwNDkwODkoRG9tYWluIFVzZXJzKQ0KMTA0OTA4OShEb21haW4g
VXNlcnMpDQoxOTc2MTAoTk5PQkxFMC1XK2xvZ2luX3VzZXJzKQ0KNTU5KFBl
cmZvcm1hbmNlIExvZyBVc2VycykNCjU1NShSZW1vdGUgRGVza3RvcCBVc2Vy
cykNCjU0NShVc2VycykNCjQoSU5URVJBQ1RJVkUpDQo2NjA0OShDT05TT0xF
IExPR09OKQ0KMTEoQXV0aGVudGljYXRlZCBVc2VycykNCjE1KFRoaXMgT3Jn
YW5pemF0aW9uKQ0KNDA5NShDdXJyZW50U2Vzc2lvbikNCjY2MDQ4KExPQ0FM
KQ0KMTY3MDE4OChjbG91ZC1pbmNlbnRpdmVzLWRhc2hib2FyZCkNCjE0Nzc4
NDcoZ3QtcHJpbnRlcnMtYWNjZXNzKQ0KMTA3Mjk0NShlbmcpDQoxNTkwMTc3
KHdpbmRvd3MtY2xpZW50LWV4cGVyaW1lbnRzLTEwKQ0KMTU5MDE3OCh3aW5k
b3dzLWNsaWVudC1leHBlcmltZW50cy11c2Vycy0xMCkNCjE0MzU4NTMobm9u
Y29uZikNCjExOTIyMTkoZ29vZ2xlKQ0KMTIyODg1OSh3aXJlbGVzc3VzZXJz
KQ0KMTUwMDMxNShkaXNhYmxlLWF1dG9lbnJvbGwpDQoxNjQwMDEzKHVycy10
ZWFtKQ0KNzAxNDUoQXV0aGVudGljYXRpb24gYXV0aG9yaXR5IGFzc2VydGVk
IGlkZW50aXR5KQ0KNDAxNDA4KE1lZGl1bSBNYW5kYXRvcnkgTGV2ZWwpDQoN
ClN5c0RpcjogQzpcV2luZG93c1xzeXN0ZW0zMg0KV2luRGlyOiBDOlxXaW5k
b3dzDQoNClVTRVIgPSAnbm5vYmxlJw0KUFdEID0gJy9ob21lL25ub2JsZScN
CkhPTUUgPSAnL2hvbWUvbm5vYmxlJw0KDQpIT01FUEFUSCA9ICdcVXNlcnNc
bm5vYmxlJw0KQVBQREFUQSA9ICdDOlxVc2Vyc1xubm9ibGVcQXBwRGF0YVxS
b2FtaW5nJw0KU1NIX0FHRU5UX1BJRCA9ICczMDM2Jw0KUHJvZ3JhbVc2NDMy
ID0gJ0M6XFByb2dyYW0gRmlsZXMnDQpIT1NUTkFNRSA9ICdOTk9CTEUwLVcn
DQpTSEVMTCA9ICcvYmluL2Jhc2gnDQpURVJNID0gJ3h0ZXJtJw0KUFJPQ0VT
U09SX0lERU5USUZJRVIgPSAnSW50ZWw2NCBGYW1pbHkgNiBNb2RlbCA2MiBT
dGVwcGluZyA0LCBHZW51aW5lSW50ZWwnDQpQUk9GSUxFUkVBRCA9ICd0cnVl
Jw0KV0lORElSID0gJ0M6XFdpbmRvd3MnDQpUVlQgPSAnQzpcUHJvZ3JhbSBG
aWxlcyAoeDg2KVxMZW5vdm8nDQpQVUJMSUMgPSAnQzpcVXNlcnNcUHVibGlj
Jw0KT0xEUFdEID0gJy91c3IvaW5jbHVkZS93MzJhcGknDQpPUklHSU5BTF9Q
QVRIID0gJy9jeWdkcml2ZS9jL1dpbmRvd3MvQ0NNOi9jeWdkcml2ZS9jL1By
b2dyYW1EYXRhL09yYWNsZS9KYXZhL2phdmFwYXRoOi9jeWdkcml2ZS9jL1dp
bmRvd3Mvc3lzdGVtMzI6L2N5Z2RyaXZlL2MvV2luZG93czovY3lnZHJpdmUv
Yy9XaW5kb3dzL1N5c3RlbTMyL1diZW06L2N5Z2RyaXZlL2MvV2luZG93cy9T
eXN0ZW0zMi9XaW5kb3dzUG93ZXJTaGVsbC92MS4wOi9jeWdkcml2ZS9jL1dp
bmRvd3MvU3lzdGVtMzIvV2luZG93c1Bvd2VyU2hlbGwvdjEuMDovY3lnZHJp
dmUvYy93aW5kb3dzL2NvcnBhbTovY3lnZHJpdmUvYy9Qcm9ncmFtIEZpbGVz
ICh4ODYpL0dvb2dsZS9DZXJ0IEluc3RhbGxlcjovY3lnZHJpdmUvYy9XaW5k
b3dzL21ybWFnb286L2N5Z2RyaXZlL2MvcHl0aG9uXzI3X2FtZDY0L2ZpbGVz
Oi9jeWdkcml2ZS9jL1dpbmRvd3MvY2Ntc2V0dXA6L2N5Z2RyaXZlL2MvUHJv
Z3JhbSBGaWxlcy9NaWNyb3NvZnQgU1FMIFNlcnZlci8xMTAvVG9vbHMvQmlu
bjovY3lnZHJpdmUvYy9Qcm9ncmFtIEZpbGVzICh4ODYpL0JpdDkvUGFyaXR5
IEFnZW50Oi9jeWdkcml2ZS9jL2dudWJieS9iaW46L2N5Z2RyaXZlL2MvUHJv
Z3JhbSBGaWxlcyAoeDg2KS9NaWNyb3NvZnQgU0RLcy9UeXBlU2NyaXB0LzEu
MDovY3lnZHJpdmUvYy9Qcm9ncmFtIEZpbGVzL01pY3Jvc29mdCBTUUwgU2Vy
dmVyLzEyMC9Ub29scy9CaW5uOi9jeWdkcml2ZS9jL3dpbmRvd3MvY29ycGFt
Oi9jeWdkcml2ZS9jL1Byb2dyYW0gRmlsZXMvR29vZ2xlL0Nsb3VkIFNESy9n
b29nbGUtY2xvdWQtc2RrL2JpbjovY3lnZHJpdmUvYy93aW5kb3dzL2NvcnBh
bTovY3lnZHJpdmUvYy9TdHJhd2JlcnJ5L2MvYmluOi9jeWdkcml2ZS9jL1N0
cmF3YmVycnkvcGVybC9zaXRlL2JpbjovY3lnZHJpdmUvYy9TdHJhd2JlcnJ5
L3BlcmwvYmluOi9jeWdkcml2ZS9jL1Byb2dyYW0gRmlsZXMvVG9ydG9pc2VH
aXQvYmluOi9jeWdkcml2ZS9jL0dvL2JpbjovY3lnZHJpdmUvYy9Qcm9ncmFt
IEZpbGVzICh4ODYpL0dvb2dsZS9nV2luZG93cy1VcGRhdGVyOi9jeWdkcml2
ZS9jL1Byb2dyYW0gRmlsZXMvUHVwcGV0IExhYnMvUHVwcGV0L2JpbjolVVNF
UlBST0ZJTEUlLy5kbngvYmluOi9jeWdkcml2ZS9jL1Byb2dyYW0gRmlsZXMv
TWljcm9zb2Z0IEROWC9EbnZtOi9jeWdkcml2ZS9jL1Byb2dyYW0gRmlsZXMg
KHg4NikvV2luZG93cyBLaXRzLzEwL1dpbmRvd3MgUGVyZm9ybWFuY2UgVG9v
bGtpdDovY3lnZHJpdmUvYy9Qcm9ncmFtIEZpbGVzICh4ODYpL25vZGVqczov
Y3lnZHJpdmUvYy9SdWJ5MjIteDY0L2JpbjovY3lnZHJpdmUvYy9Vc2Vycy9u
bm9ibGUvQXBwRGF0YS9Mb2NhbC9Db2RlL2JpbjovY3lnZHJpdmUvYy9Vc2Vy
cy9ubm9ibGUvQXBwRGF0YS9Sb2FtaW5nL25wbScNClVTRVJET01BSU4gPSAn
R09PR0xFJw0KQ29tbW9uUHJvZ3JhbUZpbGVzKHg4NikgPSAnQzpcUHJvZ3Jh
bSBGaWxlcyAoeDg2KVxDb21tb24gRmlsZXMnDQpVQVREQVRBID0gJ0M6XFdp
bmRvd3NcQ0NNXFVBVERhdGFcRDlGOEMzOTUtQ0FCOC00OTFkLUI4QUMtMTc5
QTFGRTFCRTc3Jw0KT1MgPSAnV2luZG93c19OVCcNCkFMTFVTRVJTUFJPRklM
RSA9ICdDOlxQcm9ncmFtRGF0YScNCndpbmRvd3NfdHJhY2luZ19mbGFncyA9
ICczJw0Kd2luZG93c190cmFjaW5nX2xvZ2ZpbGUgPSAnQzpcQlZUQmluXFRl
c3RzXGluc3RhbGxwYWNrYWdlXGNzaWxvZ2ZpbGUubG9nJw0KITo6ID0gJzo6
XCcNClRFTVAgPSAnL3RtcCcNCkNPTU1PTlBST0dSQU1GSUxFUyA9ICdDOlxQ
cm9ncmFtIEZpbGVzXENvbW1vbiBGaWxlcycNClNTSF9BVVRIX1NPQ0sgPSAn
L3RtcC9zc2gtRXdOWnlyV0J4VTY2L2FnZW50LjI5MzInDQpVU0VSTkFNRSA9
ICdubm9ibGUnDQpWU1NESzE0MEluc3RhbGwgPSAnQzpcUHJvZ3JhbSBGaWxl
cyAoeDg2KVxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxNC4wXFZTU0RLXCcN
ClBST0NFU1NPUl9MRVZFTCA9ICc2Jw0KUHJvZ3JhbUZpbGVzKHg4NikgPSAn
QzpcUHJvZ3JhbSBGaWxlcyAoeDg2KScNClBTTW9kdWxlUGF0aCA9ICdDOlxQ
cm9ncmFtIEZpbGVzICh4ODYpXE91dGVyY3VydmUgRm91bmRhdGlvblxNb2R1
bGVzXDtDOlxXaW5kb3dzXHN5c3RlbTMyXFdpbmRvd3NQb3dlclNoZWxsXHYx
LjBcTW9kdWxlc1w7YzpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnQgU2VjdXJp
dHkgQ2xpZW50XE1wUHJvdmlkZXJcO0M6XFByb2dyYW1EYXRhXEdvb2dsZUlu
dGVybmFsXGxpYicNCkZQX05PX0hPU1RfQ0hFQ0sgPSAnTk8nDQpTWVNURU1E
UklWRSA9ICdDOicNCkxBTkcgPSAnZW5fVVMuVVRGLTgnDQpWUzEyMENPTU5U
T09MUyA9ICdDOlxQcm9ncmFtIEZpbGVzICh4ODYpXE1pY3Jvc29mdCBWaXN1
YWwgU3R1ZGlvIDEyLjBcQ29tbW9uN1xUb29sc1wnDQpVU0VSUFJPRklMRSA9
ICdDOlxVc2Vyc1xubm9ibGUnDQpGQUNURVJfZW52aXJvbm1lbnQgPSAnc3Rh
YmxlJw0KVFogPSAnQW1lcmljYS9Mb3NfQW5nZWxlcycNCkdOVUJCWV9QUk9N
UFQgPSAnL3Vzci9iaW4vR251YmJ5UHJvbXB0Mi5leGUnDQpQUzEgPSAnXFtc
ZV0wO1x3XGFcXVxuXFtcZVszMm1cXVx1QFxoIFxbXGVbMzNtXF1cd1xbXGVb
MG1cXVxuXCQgJw0KTE9HT05TRVJWRVIgPSAnXFxDQkYtREMtNCcNCkNvbW1v
blByb2dyYW1XNjQzMiA9ICdDOlxQcm9ncmFtIEZpbGVzXENvbW1vbiBGaWxl
cycNClBST0NFU1NPUl9BUkNISVRFQ1RVUkUgPSAnQU1ENjQnDQpMT0NBTEFQ
UERBVEEgPSAnQzpcVXNlcnNcbm5vYmxlXEFwcERhdGFcTG9jYWwnDQpTU0hf
QVNLUEFTUyA9ICcvdXNyL2Jpbi9HbnViYnlBc2tQYXNzMy5leGUnDQpQcm9n
cmFtRGF0YSA9ICdDOlxQcm9ncmFtRGF0YScNCkVYRUNJR05PUkUgPSAnKi5k
bGwnDQpTSExWTCA9ICcxJw0KVVNFUkROU0RPTUFJTiA9ICdBRC5DT1JQLkdP
T0dMRS5DT00nDQpQQVRIRVhUID0gJy5DT007LkVYRTsuQkFUOy5DTUQ7LlZC
UzsuVkJFOy5KUzsuSlNFOy5XU0Y7LldTSDsuTVNDJw0KR09ST09UID0gJ0M6
XEdvXCcNCk9QRU5TU0xfQ09ORiA9ICdDOlxPcGVuU1NMLVdpbjMyXGJpblxv
cGVuc3NsLmNmZycNCkhPTUVEUklWRSA9ICdDOicNClZCT1hfTVNJX0lOU1RB
TExfUEFUSCA9ICdDOlxQcm9ncmFtIEZpbGVzXE9yYWNsZVxWaXJ0dWFsQm94
XCcNCkNPTVNQRUMgPSAnQzpcV2luZG93c1xzeXN0ZW0zMlxjbWQuZXhlJw0K
VE1QID0gJy90bXAnDQpTWVNURU1ST09UID0gJ0M6XFdpbmRvd3MnDQpQUklO
VEVSID0gJ01pY3Jvc29mdCBYUFMgRG9jdW1lbnQgV3JpdGVyJw0KUFJPQ0VT
U09SX1JFVklTSU9OID0gJzNlMDQnDQpWUzEwMENPTU5UT09MUyA9ICdDOlxQ
cm9ncmFtIEZpbGVzICh4ODYpXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDEw
LjBcQ29tbW9uN1xUb29sc1wnDQpJTkZPUEFUSCA9ICcvdXNyL2xvY2FsL2lu
Zm86L3Vzci9zaGFyZS9pbmZvOi91c3IvaW5mbycNClBST0dSQU1GSUxFUyA9
ICdDOlxQcm9ncmFtIEZpbGVzJw0KVlMxNDBDT01OVE9PTFMgPSAnQzpcUHJv
Z3JhbSBGaWxlcyAoeDg2KVxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxNC4w
XENvbW1vbjdcVG9vbHNcJw0KRElTUExBWSA9ICc6MCcNClZTMTEwQ09NTlRP
T0xTID0gJ0M6XFByb2dyYW0gRmlsZXMgKHg4NilcTWljcm9zb2Z0IFZpc3Vh
bCBTdHVkaW8gMTEuMFxDb21tb243XFRvb2xzXCcNCk5VTUJFUl9PRl9QUk9D
RVNTT1JTID0gJzEyJw0KU0VTU0lPTk5BTUUgPSAnQ29uc29sZScNCkNPTVBV
VEVSTkFNRSA9ICdOTk9CTEUwLVcnDQpfID0gJy91c3IvYmluL2N5Z2NoZWNr
Jw0KDQpIS0VZX0NVUlJFTlRfVVNFUlxTb2Z0d2FyZVxDeWd3aW4NCkhLRVlf
Q1VSUkVOVF9VU0VSXFNvZnR3YXJlXEN5Z3dpblxJbnN0YWxsYXRpb25zDQog
IChkZWZhdWx0KSA9ICdcPz9cQzpcZ251YmJ5Jw0KICBlMDIyNTgyMTE1YzEw
ODc5ID0gJ1w/P1xDOlxjeWd3aW42NCcNCkhLRVlfQ1VSUkVOVF9VU0VSXFNv
ZnR3YXJlXEN5Z3dpblxQcm9ncmFtIE9wdGlvbnMNCkhLRVlfTE9DQUxfTUFD
SElORVxTT0ZUV0FSRVxDeWd3aW4NCkhLRVlfTE9DQUxfTUFDSElORVxTT0ZU
V0FSRVxDeWd3aW5cSW5zdGFsbGF0aW9ucw0KICAoZGVmYXVsdCkgPSAnXD8/
XGM6XGdudWJieScNCiAgZTAyMjU4MjExNWMxMDg3OSA9ICdcPz9cQzpcY3ln
d2luNjQnDQpIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcQ3lnd2luXFBy
b2dyYW0gT3B0aW9ucw0KSEtFWV9MT0NBTF9NQUNISU5FXFNPRlRXQVJFXEN5
Z3dpblxzZXR1cA0KICAoZGVmYXVsdCkgPSAnQzpcY3lnd2luNjQnDQpIS0VZ
X0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcV293NjQzMk5vZGVcQ3lnd2luDQpI
S0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcV293NjQzMk5vZGVcQ3lnd2lu
XEluc3RhbGxhdGlvbnMNCiAgKGRlZmF1bHQpID0gJ1w/P1xjOlxnbnViYnkn
DQoNCm9iY2FzZWluc2Vuc2l0aXZlIHNldCB0byAxDQoNCkN5Z3dpbiBpbnN0
YWxsYXRpb25zIGZvdW5kIGluIHRoZSByZWdpc3RyeToNCiAgU3lzdGVtOiBL
ZXk6IDA2ODg4MTZjMjZkMGNlMWIgUGF0aDogYzpcZ251YmJ5DQogIFN5c3Rl
bTogS2V5OiBlMDIyNTgyMTE1YzEwODc5IFBhdGg6IEM6XGN5Z3dpbjY0DQog
IFVzZXI6ICAgS2V5OiAwNjg4ODE2YzI2ZDBjZTFiIFBhdGg6IEM6XGdudWJi
eQ0KICBVc2VyOiAgIEtleTogZTAyMjU4MjExNWMxMDg3OSBQYXRoOiBDOlxj
eWd3aW42NA0KDQpjOiAgaGQgIE5URlMgICAgOTUzNTE2TWIgIDM0JSBDUCBD
UyBVTiBQQSBGQyAgICAgDQoNCkM6XGN5Z3dpbjY0ICAgICAgLyAgICAgICAg
ICBzeXN0ZW0gIGJpbmFyeSxhdXRvDQpDOlxjeWd3aW42NFxiaW4gIC91c3Iv
YmluICAgc3lzdGVtICBiaW5hcnksYXV0bw0KQzpcY3lnd2luNjRcbGliICAv
dXNyL2xpYiAgIHN5c3RlbSAgYmluYXJ5LGF1dG8NCmN5Z2RyaXZlIHByZWZp
eCAgL2N5Z2RyaXZlICB1c2VyICAgIGJpbmFyeSxwb3NpeD0wLGF1dG8NCg0K
Rm91bmQ6IEM6XGN5Z3dpbjY0XGJpblxhd2sNCiAtPiBDOlxjeWd3aW42NFxi
aW5cZ2F3ay5leGUNCkZvdW5kOiBDOlxjeWd3aW42NFxiaW5cYmFzaC5leGUN
CkZvdW5kOiBDOlxjeWd3aW42NFxiaW5cY2F0LmV4ZQ0KRm91bmQ6IEM6XGN5
Z3dpbjY0XGJpblxjcC5leGUNCkZvdW5kOiBDOlxjeWd3aW42NFxiaW5cY3Bw
LmV4ZQ0KTm90IEZvdW5kOiBjcm9udGFiDQpGb3VuZDogQzpcY3lnd2luNjRc
YmluXGZpbmQuZXhlDQpGb3VuZDogQzpcV2luZG93c1xzeXN0ZW0zMlxmaW5k
LmV4ZQ0KV2FybmluZzogQzpcY3lnd2luNjRcYmluXGZpbmQuZXhlIGhpZGVz
IEM6XFdpbmRvd3Ncc3lzdGVtMzJcZmluZC5leGUNCkZvdW5kOiBDOlxjeWd3
aW42NFxiaW5cZ2NjLmV4ZQ0KTm90IEZvdW5kOiBnZGINCkZvdW5kOiBDOlxj
eWd3aW42NFxiaW5cZ3JlcC5leGUNCkZvdW5kOiBDOlxjeWd3aW42NFxiaW5c
a2lsbC5leGUNCkZvdW5kOiBDOlxjeWd3aW42NFxiaW5cbGQuZXhlDQpGb3Vu
ZDogQzpcY3lnd2luNjRcYmluXGxzLmV4ZQ0KTm90IEZvdW5kOiBtYWtlDQpG
b3VuZDogQzpcY3lnd2luNjRcYmluXG12LmV4ZQ0KTm90IEZvdW5kOiBwYXRj
aA0KTm90IEZvdW5kOiBwZXJsDQpGb3VuZDogQzpcY3lnd2luNjRcYmluXHJt
LmV4ZQ0KRm91bmQ6IEM6XGN5Z3dpbjY0XGJpblxzZWQuZXhlDQpGb3VuZDog
QzpcZ251YmJ5XGJpblxzc2guZXhlDQpGb3VuZDogQzpcY3lnd2luNjRcYmlu
XHNoLmV4ZQ0KRm91bmQ6IEM6XGdudWJieVxiaW5cc2guZXhlDQpXYXJuaW5n
OiBDOlxjeWd3aW42NFxiaW5cc2guZXhlIGhpZGVzIEM6XGdudWJieVxiaW5c
c2guZXhlDQpGb3VuZDogQzpcY3lnd2luNjRcYmluXHRhci5leGUNCkZvdW5k
OiBDOlxjeWd3aW42NFxiaW5cdGVzdC5leGUNCkZvdW5kOiBDOlxjeWd3aW42
NFxiaW5cdmkuZXhlDQpOb3QgRm91bmQ6IHZpbQ0KDQogICAzOGsgMjAxMy8w
Ny8xOSBDOlxjeWd3aW42NFxiaW5cY3lnYXJncC0wLmRsbCAtIG9zPTQuMCBp
bWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAgICJjeWdhcmdwLTAu
ZGxsIiB2MC4wIHRzPTIwMTMtMDctMTkgMTU6MDcNCiAgIDg4ayAyMDE2LzAy
LzI3IEM6XGN5Z3dpbjY0XGJpblxjeWdhdG9taWMtMS5kbGwgLSBvcz00LjAg
aW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAgICAgICAiY3lnYXRvbWlj
LTEuZGxsIiB2MC4wIHRzPTIwMTYtMDItMjcgMDY6NTANCiAgIDE2ayAyMDEz
LzAzLzI2IEM6XGN5Z3dpbjY0XGJpblxjeWdhdHRyLTEuZGxsIC0gb3M9NC4w
IGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5Z2F0dHIt
MS5kbGwiIHYwLjAgdHM9MjAxMy0wMy0yNiAxODoyNg0KICAxODBrIDIwMTUv
MDMvMjMgQzpcY3lnd2luNjRcYmluXGN5Z2Jsa2lkLTEuZGxsIC0gb3M9NC4w
IGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5Z2Jsa2lk
LTEuZGxsIiB2MC4wIHRzPTIwMTUtMDMtMjMgMDk6NDYNCiAgIDY0ayAyMDEz
LzAzLzA3IEM6XGN5Z3dpbjY0XGJpblxjeWdiejItMS5kbGwgLSBvcz00LjAg
aW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAgICAgICAiY3lnYnoyLTEu
ZGxsIiB2MC4wIHRzPTIwMTMtMDMtMDcgMDI6NTQNCiAgMTE3ayAyMDEzLzA1
LzA1IEM6XGN5Z3dpbjY0XGJpblxjeWdjbG9vZy1pc2wtNC5kbGwgLSBvcz00
LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAgICAgICAiY3lnY2xv
b2ctaXNsLTQuZGxsIiB2MC4wIHRzPTIwMTMtMDUtMDUgMTY6NDENCiAyMjMx
ayAyMDE2LzAzLzA4IEM6XGN5Z3dpbjY0XGJpblxjeWdjcnlwdG8tMS4wLjAu
ZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAg
ICAgImN5Z2NyeXB0by0xLjAuMC5kbGwiIHYwLjAgdHM9MjAxNi0wMy0wOCAw
OTo0MQ0KICAgMjdrIDIwMTUvMTEvMTcgQzpcY3lnd2luNjRcYmluXGN5Z2Zm
aS02LmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAg
ICAgICAgICJjeWdmZmktNi5kbGwiIHYwLjAgdHM9MjAxNS0xMS0xNyAyMjox
NA0KICAgNTVrIDIwMTYvMDMvMDYgQzpcY3lnd2luNjRcYmluXGN5Z2Zvcm13
LTEwLmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAg
ICAgICAgICJjeWdmb3Jtdy0xMC5kbGwiIHYwLjAgdHM9MjAxNi0wMy0wNiAx
OToyNw0KICAgNzBrIDIwMTYvMDIvMjcgQzpcY3lnd2luNjRcYmluXGN5Z2dj
Y19zLXNlaC0xLmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAg
ICAgICAgICAgICAgICJjeWdnY2Nfcy1zZWgtMS5kbGwiIHYwLjAgdHM9MjAx
Ni0wMi0yNyAwNTo0OA0KICAgNDBrIDIwMTQvMDUvMjcgQzpcY3lnd2luNjRc
YmluXGN5Z2dkYm0tNC5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQog
ICAgICAgICAgICAgICAgICAiY3lnZ2RibS00LmRsbCIgdjAuMCB0cz0xOTcw
LTAxLTAxIDAwOjAwDQogICAxM2sgMjAxNC8wNS8yNyBDOlxjeWd3aW42NFxi
aW5cY3lnZ2RibV9jb21wYXQtNC5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9
NS4yDQogICAgICAgICAgICAgICAgICAiY3lnZ2RibV9jb21wYXQtNC5kbGwi
IHYwLjAgdHM9MTk3MC0wMS0wMSAwMDowMA0KICA1MjhrIDIwMTUvMTIvMDYg
QzpcY3lnd2luNjRcYmluXGN5Z2dtcC0xMC5kbGwgLSBvcz00LjAgaW1nPTAu
MCBzeXM9NS4yDQogICAgICAgICAgICAgICAgICAiY3lnZ21wLTEwLmRsbCIg
djAuMCB0cz0yMDE1LTEyLTA2IDA4OjM3DQogIDEwNWsgMjAxNi8wMi8yNyBD
OlxjeWd3aW42NFxiaW5cY3lnZ29tcC0xLmRsbCAtIG9zPTQuMCBpbWc9MC4w
IHN5cz01LjINCiAgICAgICAgICAgICAgICAgICJjeWdnb21wLTEuZGxsIiB2
MC4wIHRzPTIwMTYtMDItMjcgMDU6NTMNCiAgIDEwayAyMDE2LzAyLzI3IEM6
XGN5Z3dpbjY0XGJpblxjeWdnb21wLXBsdWdpbi1ob3N0X25vbnNobS0xLmRs
bCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAg
ICJjeWdnb21wLXBsdWdpbi1ob3N0X25vbnNobS0xLmRsbCIgdjAuMCB0cz0y
MDE2LTAyLTI3IDA1OjU0DQogICAzMGsgMjAxNS8wMS8yNyBDOlxjeWd3aW42
NFxiaW5cY3lnaGlzdG9yeTcuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUu
Mg0KICAgICAgICAgICAgICAgICAgImN5Z2hpc3Rvcnk3LmRsbCIgdjAuMCB0
cz0yMDE1LTAxLTI3IDAzOjUxDQogMTAwOWsgMjAxNS8wMi8yMCBDOlxjeWd3
aW42NFxiaW5cY3lnaWNvbnYtMi5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9
NS4yDQogICAgICAgICAgICAgICAgICAiY3lnaWNvbnYtMi5kbGwiIHYwLjAg
dHM9MjAxNS0wMi0yMCAxNzowNw0KICAgNDBrIDIwMTUvMDkvMjAgQzpcY3ln
d2luNjRcYmluXGN5Z2ludGwtOC5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9
NS4yDQogICAgICAgICAgICAgICAgICAiY3lnaW50bC04LmRsbCIgdjAuMCB0
cz0yMDE1LTA5LTIwIDE5OjEwDQogIDg4OGsgMjAxMy8wNS8wNSBDOlxjeWd3
aW42NFxiaW5cY3lnaXNsLTEwLmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01
LjINCiAgICAgICAgICAgICAgICAgICJjeWdpc2wtMTAuZGxsIiB2MC4wIHRz
PTIwMTMtMDUtMDUgMTY6MzYNCiAxMDM5ayAyMDE1LzA5LzIwIEM6XGN5Z3dp
bjY0XGJpblxjeWdpc2wtMTMuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUu
Mg0KICAgICAgICAgICAgICAgICAgImN5Z2lzbC0xMy5kbGwiIHYwLjAgdHM9
MjAxNS0wOS0yMCAxMjozOQ0KICAgIDZrIDIwMTYvMDQvMTEgQzpcY3lnd2lu
NjRcYmluXGN5Z2xzYTY0LmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjIN
CiAgICAgICAgICAgICAgICAgICJjeWdsc2E2NC5kbGwiIHYwLjAgdHM9MjAx
Ni0wNC0xMSAwODo1Nw0KICAxMzlrIDIwMTUvMTEvMDkgQzpcY3lnd2luNjRc
YmluXGN5Z2x6bWEtNS5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQog
ICAgICAgICAgICAgICAgICAiY3lnbHptYS01LmRsbCIgdjAuMCB0cz0yMDE1
LTExLTA5IDA2OjEyDQogIDExNGsgMjAxNi8wMS8xMSBDOlxjeWd3aW42NFxi
aW5cY3lnbWFnaWMtMS5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQog
ICAgICAgICAgICAgICAgICAiY3lnbWFnaWMtMS5kbGwiIHYwLjAgdHM9MjAx
Ni0wMS0xMSAyMjoxOQ0KICAxNjhrIDIwMTUvMTAvMDkgQzpcY3lnd2luNjRc
YmluXGN5Z21hbi0yLTctNC5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4y
DQogICAgICAgICAgICAgICAgICAiY3lnbWFuLTItNy00LmRsbCIgdjAuMCB0
cz0yMDE1LTEwLTA5IDAzOjEyDQogICAyMmsgMjAxNS8xMC8wOSBDOlxjeWd3
aW42NFxiaW5cY3lnbWFuZGItMi03LTQuZGxsIC0gb3M9NC4wIGltZz0wLjAg
c3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5Z21hbmRiLTItNy00LmRs
bCIgdjAuMCB0cz0yMDE1LTEwLTA5IDAzOjE4DQogICAyOWsgMjAxNi8wMy8w
NiBDOlxjeWd3aW42NFxiaW5cY3lnbWVudXctMTAuZGxsIC0gb3M9NC4wIGlt
Zz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5Z21lbnV3LTEw
LmRsbCIgdjAuMCB0cz0yMDE2LTAzLTA2IDE5OjI3DQogICA4OWsgMjAxNS8w
My8wMSBDOlxjeWd3aW42NFxiaW5cY3lnbXBjLTMuZGxsIC0gb3M9NC4wIGlt
Zz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5Z21wYy0zLmRs
bCIgdjAuMCB0cz0yMDE1LTAzLTAxIDIwOjI0DQogIDM0NWsgMjAxNi8wMy8w
NiBDOlxjeWd3aW42NFxiaW5cY3lnbXBmci00LmRsbCAtIG9zPTQuMCBpbWc9
MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAgICJjeWdtcGZyLTQuZGxs
IiB2MC4wIHRzPTIwMTYtMDMtMDYgMTY6MjkNCiAgIDUzayAyMDE2LzAzLzA2
IEM6XGN5Z3dpbjY0XGJpblxjeWduY3Vyc2VzKyt3LTEwLmRsbCAtIG9zPTQu
MCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAgICJjeWduY3Vy
c2VzKyt3LTEwLmRsbCIgdjAuMCB0cz0yMDE2LTAzLTA2IDE5OjMxDQogIDI3
OWsgMjAxNi8wMy8wNiBDOlxjeWd3aW42NFxiaW5cY3lnbmN1cnNlc3ctMTAu
ZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAg
ICAgImN5Z25jdXJzZXN3LTEwLmRsbCIgdjAuMCB0cz0yMDE2LTAzLTA2IDE5
OjI2DQogIDMxOWsgMjAxNS8wNi8wMSBDOlxjeWd3aW42NFxiaW5cY3lncDEx
LWtpdC0wLmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAg
ICAgICAgICAgICJjeWdwMTEta2l0LTAuZGxsIiB2MC4wIHRzPTIwMTUtMDYt
MDEgMTk6MDINCiAgIDE0ayAyMDE2LzAzLzA2IEM6XGN5Z3dpbjY0XGJpblxj
eWdwYW5lbHctMTAuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAg
ICAgICAgICAgICAgICAgImN5Z3BhbmVsdy0xMC5kbGwiIHYwLjAgdHM9MjAx
Ni0wMy0wNiAxOToyNw0KICA0NjVrIDIwMTYvMDMvMzAgQzpcY3lnd2luNjRc
YmluXGN5Z3BjcmUtMS5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQog
ICAgICAgICAgICAgICAgICAiY3lncGNyZS0xLmRsbCIgdjAuMCB0cz0yMDE2
LTAzLTMwIDIyOjAwDQogICAzOWsgMjAxNS8wNC8wOSBDOlxjeWd3aW42NFxi
aW5cY3lncGlwZWxpbmUtMS5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4y
DQogICAgICAgICAgICAgICAgICAiY3lncGlwZWxpbmUtMS5kbGwiIHYwLjAg
dHM9MjAxNS0wNC0wOSAyMTowNA0KICAgNDFrIDIwMTMvMTAvMjEgQzpcY3ln
d2luNjRcYmluXGN5Z3BvcHQtMC5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9
NS4yDQogICAgICAgICAgICAgICAgICAiY3lncG9wdC0wLmRsbCIgdjAuMCB0
cz0yMDEzLTEwLTIxIDIxOjUyDQogIDMwOGsgMjAxNi8wMi8yNyBDOlxjeWd3
aW42NFxiaW5cY3lncXVhZG1hdGgtMC5kbGwgLSBvcz00LjAgaW1nPTAuMCBz
eXM9NS4yDQogICAgICAgICAgICAgICAgICAiY3lncXVhZG1hdGgtMC5kbGwi
IHYwLjAgdHM9MjAxNi0wMi0yNyAwNjo1Mw0KICAyMDdrIDIwMTUvMDEvMjcg
QzpcY3lnd2luNjRcYmluXGN5Z3JlYWRsaW5lNy5kbGwgLSBvcz00LjAgaW1n
PTAuMCBzeXM9NS4yDQogICAgICAgICAgICAgICAgICAiY3lncmVhZGxpbmU3
LmRsbCIgdjAuMCB0cz0yMDE1LTAxLTI3IDAzOjUxDQogICA4OWsgMjAxNS8w
My8yMyBDOlxjeWd3aW42NFxiaW5cY3lnc21hcnRjb2xzLTEuZGxsIC0gb3M9
NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5Z3Nt
YXJ0Y29scy0xLmRsbCIgdjAuMCB0cz0yMDE1LTAzLTIzIDA5OjQ2DQogIDQy
NGsgMjAxNi8wMy8wOCBDOlxjeWd3aW42NFxiaW5cY3lnc3NsLTEuMC4wLmRs
bCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAg
ICJjeWdzc2wtMS4wLjAuZGxsIiB2MC4wIHRzPTIwMTYtMDMtMDggMDk6NDEN
CiAgIDEyayAyMDE2LzAyLzI3IEM6XGN5Z3dpbjY0XGJpblxjeWdzc3AtMC5k
bGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAgICAg
ICAiY3lnc3NwLTAuZGxsIiB2MC4wIHRzPTIwMTYtMDItMjcgMDY6NDUNCiAx
MzM5ayAyMDE2LzAyLzI3IEM6XGN5Z3dpbjY0XGJpblxjeWdzdGRjKystNi5k
bGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAgICAg
ICAiY3lnc3RkYysrLTYuZGxsIiB2MC4wIHRzPTIwMTYtMDItMjcgMDY6MTEN
CiAgIDY2ayAyMDE2LzAyLzA0IEM6XGN5Z3dpbjY0XGJpblxjeWd0YXNuMS02
LmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAg
ICAgICJjeWd0YXNuMS02LmRsbCIgdjAuMCB0cz0yMDE2LTAyLTA0IDEzOjUz
DQogICA1M2sgMjAxNi8wMy8wNiBDOlxjeWd3aW42NFxiaW5cY3lndGljdy0x
MC5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAg
ICAgICAiY3lndGljdy0xMC5kbGwiIHYwLjAgdHM9MjAxNi0wMy0wNiAxOToy
Ng0KICAgMTVrIDIwMTUvMDMvMjMgQzpcY3lnd2luNjRcYmluXGN5Z3V1aWQt
MS5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAg
ICAgICAiY3lndXVpZC0xLmRsbCIgdjAuMCB0cz0yMDE1LTAzLTIzIDA5OjQ2
DQogICAgOGsgMjAxNi8wMi8yNyBDOlxjeWd3aW42NFxiaW5cY3lndnR2LTAu
ZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAg
ICAgImN5Z3Z0di0wLmRsbCIgdjAuMCB0cz0yMDE2LTAyLTI3IDA2OjQ1DQog
ICAgOGsgMjAxNi8wMi8yNyBDOlxjeWd3aW42NFxiaW5cY3lndnR2X3N0dWJz
LTAuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAg
ICAgICAgImN5Z3Z0dl9zdHVicy0wLmRsbCIgdjAuMCB0cz0yMDE2LTAyLTI3
IDA2OjQ2DQogICA4MGsgMjAxNC8xMS8xOSBDOlxjeWd3aW42NFxiaW5cY3ln
ei5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAg
ICAgICAiY3lnei5kbGwiIHYwLjAgdHM9MjAxNC0xMS0xOSAyMzowOA0KIDM0
NTZrIDIwMTYvMDQvMTEgQzpcY3lnd2luNjRcYmluXGN5Z3dpbjEuZGxsIC0g
b3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5
Z3dpbjEuZGxsIiB2MC4wIHRzPTIwMTYtMDQtMTEgMDg6NTgNCiAgICBDeWd3
aW4gRExMIHZlcnNpb24gaW5mbzoNCiAgICAgICAgRExMIHZlcnNpb246IDIu
NS4wDQogICAgICAgIERMTCBlcG9jaDogMTkNCiAgICAgICAgRExMIG9sZCB0
ZXJtaW9zOiA1DQogICAgICAgIERMTCBtYWxsb2MgZW52OiAyOA0KICAgICAg
ICBDeWd3aW4gY29udjogMTgxDQogICAgICAgIEFQSSBtYWpvcjogMA0KICAg
ICAgICBBUEkgbWlub3I6IDI5Nw0KICAgICAgICBTaGFyZWQgZGF0YTogNQ0K
ICAgICAgICBETEwgaWRlbnRpZmllcjogY3lnd2luMQ0KICAgICAgICBNb3Vu
dCByZWdpc3RyeTogMw0KICAgICAgICBDeWd3aW4gcmVnaXN0cnkgbmFtZTog
Q3lnd2luDQogICAgICAgIEluc3RhbGxhdGlvbnMgbmFtZTogSW5zdGFsbGF0
aW9ucw0KICAgICAgICBDeWdkcml2ZSBkZWZhdWx0IHByZWZpeDogDQogICAg
ICAgIEJ1aWxkIGRhdGU6IA0KICAgICAgICBTaGFyZWQgaWQ6IGN5Z3dpbjFT
NQ0KDQogICAxM2sgMjAxNi8wMS8yNiBDOlxnbnViYnlcYmluXGN5Z2NvbV9l
cnItMi5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAg
ICAgICAgICAiY3lnY29tX2Vyci0yLmRsbCIgdjAuMCB0cz0yMDE1LTAzLTE5
IDAyOjQ0DQogMjIxN2sgMjAxNi8wMS8yNiBDOlxnbnViYnlcYmluXGN5Z2Ny
eXB0by0xLjAuMC5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAg
ICAgICAgICAgICAgICAiY3lnY3J5cHRvLTEuMC4wLmRsbCIgdjAuMCB0cz0y
MDE1LTEyLTAzIDIwOjM4DQogICA2OWsgMjAxNi8wMS8yNiBDOlxnbnViYnlc
YmluXGN5Z2djY19zLTEuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0K
ICAgICAgICAgICAgICAgICAgImN5Z2djY19zLXNlaC0xLmRsbCIgdjAuMCB0
cz0yMDE1LTA3LTAxIDE4OjAzDQogICA2OWsgMjAxNi8wMS8yNiBDOlxnbnVi
YnlcYmluXGN5Z2djY19zLXNlaC0xLmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5
cz01LjINCiAgICAgICAgICAgICAgICAgICJjeWdnY2Nfcy1zZWgtMS5kbGwi
IHYwLjAgdHM9MjAxNS0wNy0wMSAxODowMw0KICAyNThrIDIwMTYvMDEvMjYg
QzpcZ251YmJ5XGJpblxjeWdnc3NhcGlfa3JiNS0yLmRsbCAtIG9zPTQuMCBp
bWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAgICJjeWdnc3NhcGlf
a3JiNS0yLmRsbCIgdjAuMCB0cz0yMDE1LTExLTA5IDE2OjU0DQogMTAwOWsg
MjAxNi8wMS8yNiBDOlxnbnViYnlcYmluXGN5Z2ljb252LTIuZGxsIC0gb3M9
NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5Z2lj
b252LTIuZGxsIiB2MC4wIHRzPTIwMTUtMDItMjAgMTc6MDcNCiAgIDQwayAy
MDE2LzAxLzI2IEM6XGdudWJieVxiaW5cY3lnaW50bC04LmRsbCAtIG9zPTQu
MCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAgICJjeWdpbnRs
LTguZGxsIiB2MC4wIHRzPTIwMTUtMDktMjAgMTk6MTANCiAgMTgwayAyMDE2
LzAxLzI2IEM6XGdudWJieVxiaW5cY3lnazVjcnlwdG8tMy5kbGwgLSBvcz00
LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAgICAgICAiY3lnazVj
cnlwdG8tMy5kbGwiIHYwLjAgdHM9MjAxNS0xMS0wOSAxNjo1Mw0KICA3MjBr
IDIwMTYvMDEvMjYgQzpcZ251YmJ5XGJpblxjeWdrcmI1LTMuZGxsIC0gb3M9
NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAgICAgICAgImN5Z2ty
YjUtMy5kbGwiIHYwLjAgdHM9MjAxNS0xMS0wOSAxNjo1Mw0KICAgMzVrIDIw
MTYvMDEvMjYgQzpcZ251YmJ5XGJpblxjeWdrcmI1c3VwcG9ydC0wLmRsbCAt
IG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAgICJj
eWdrcmI1c3VwcG9ydC0wLmRsbCIgdjAuMCB0cz0yMDE1LTExLTA5IDE2OjUz
DQogIDMwMWsgMjAxNi8wMS8yNiBDOlxnbnViYnlcYmluXGN5Z25jdXJzZXN3
LTEwLmRsbCAtIG9zPTQuMCBpbWc9MC4wIHN5cz01LjINCiAgICAgICAgICAg
ICAgICAgICJjeWduY3Vyc2Vzdy0xMC5kbGwiIHYwLjAgdHM9MjAxNS0xMC0y
MCAxNjo1OQ0KICAgNDFrIDIwMTYvMDEvMjYgQzpcZ251YmJ5XGJpblxjeWdw
b3B0LTAuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAg
ICAgICAgICAgImN5Z3BvcHQtMC5kbGwiIHYwLjAgdHM9MjAxMy0xMC0yMSAy
MTo1Mg0KICAyMDdrIDIwMTYvMDEvMjYgQzpcZ251YmJ5XGJpblxjeWdyZWFk
bGluZTcuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAg
ICAgICAgICAgImN5Z3JlYWRsaW5lNy5kbGwiIHYwLjAgdHM9MjAxNS0wMS0y
NyAwMzo1MQ0KICAgMTJrIDIwMTYvMDEvMjYgQzpcZ251YmJ5XGJpblxjeWdz
c3AtMC5kbGwgLSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAg
ICAgICAgICAiY3lnc3NwLTAuZGxsIiB2MC4wIHRzPTIwMTUtMDctMDEgMTg6
NTMNCiAgOTQwayAyMDE2LzAxLzI2IEM6XGdudWJieVxiaW5cY3lnc3RkYysr
LTYuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAg
ICAgICAgImN5Z3N0ZGMrKy02LmRsbCIgdjAuMCB0cz0yMDE1LTA3LTAxIDE4
OjE3DQogIDEyNGsgMjAxNi8wMS8yNiBDOlxnbnViYnlcYmluXGN5Z3VzYi0x
LjAuZGxsIC0gb3M9NC4wIGltZz0wLjAgc3lzPTUuMg0KICAgICAgICAgICAg
ICAgICAgImN5Z3VzYi0xLjAuZGxsIiB2MC4wIHRzPTIwMTUtMTEtMDQgMjA6
MDkNCiAgIDgwayAyMDE2LzAxLzI2IEM6XGdudWJieVxiaW5cY3lnei5kbGwg
LSBvcz00LjAgaW1nPTAuMCBzeXM9NS4yDQogICAgICAgICAgICAgICAgICAi
Y3lnei5kbGwiIHYwLjAgdHM9MjAxNC0xMS0xOSAyMzowOA0KIDMzMTJrIDIw
MTYvMDEvMjYgQzpcZ251YmJ5XGJpblxjeWd3aW4xLmRsbCAtIG9zPTQuMCBp
bWc9MC4wIHN5cz01LjINCiAgICAgICAgICAgICAgICAgICJjeWd3aW4xLmRs
bCIgdjAuMCB0cz0yMDE1LTExLTE0IDExOjQ0DQogICAgQ3lnd2luIERMTCB2
ZXJzaW9uIGluZm86DQogICAgICAgIERMTCB2ZXJzaW9uOiAyLjMuMQ0KICAg
ICAgICBETEwgZXBvY2g6IDE5DQogICAgICAgIERMTCBvbGQgdGVybWlvczog
NQ0KICAgICAgICBETEwgbWFsbG9jIGVudjogMjgNCiAgICAgICAgQ3lnd2lu
IGNvbnY6IDE4MQ0KICAgICAgICBBUEkgbWFqb3I6IDANCiAgICAgICAgQVBJ
IG1pbm9yOiAyOTENCiAgICAgICAgU2hhcmVkIGRhdGE6IDUNCiAgICAgICAg
RExMIGlkZW50aWZpZXI6IGN5Z3dpbjENCiAgICAgICAgTW91bnQgcmVnaXN0
cnk6IDMNCiAgICAgICAgQ3lnd2luIHJlZ2lzdHJ5IG5hbWU6IEN5Z3dpbg0K
ICAgICAgICBJbnN0YWxsYXRpb25zIG5hbWU6IEluc3RhbGxhdGlvbnMNCiAg
ICAgICAgQ3lnZHJpdmUgZGVmYXVsdCBwcmVmaXg6IA0KICAgICAgICBCdWls
ZCBkYXRlOiANCiAgICAgICAgU2hhcmVkIGlkOiBjeWd3aW4xUzUNCg0KV2Fy
bmluZzogVGhlcmUgYXJlIG11bHRpcGxlIGN5Z3dpbjEuZGxscyBvbiB5b3Vy
IHBhdGgNCg0KQ2FuJ3QgZmluZCB0aGUgY3lncnVuc3J2IHV0aWxpdHksIHNr
aXBwaW5nIHNlcnZpY2VzIGNoZWNrLg0KDQoNCkN5Z3dpbiBQYWNrYWdlIElu
Zm9ybWF0aW9uDQpMYXN0IGRvd25sb2FkZWQgZmlsZXMgdG86IEM6XFVzZXJz
XG5ub2JsZVxEb3dubG9hZHMNCkxhc3QgZG93bmxvYWRlZCBmaWxlcyBmcm9t
OiBodHRwOi8vY3lnd2luLm1pcnJvci5jb25zdGFudC5jb20vDQoNClBhY2th
Z2UgICAgICAgICAgICAgICAgICBWZXJzaW9uICAgICAgICAgICAgU3RhdHVz
DQpfYXV0b3JlYmFzZSAgICAgICAgICAgICAgMDAxMDAzLTIgICAgICAgICAg
IE9LDQphbHRlcm5hdGl2ZXMgICAgICAgICAgICAgMS4zLjMwYy0xMCAgICAg
ICAgIE9LDQpiYXNlLWN5Z3dpbiAgICAgICAgICAgICAgMy44LTEgICAgICAg
ICAgICAgIE9LDQpiYXNlLWZpbGVzICAgICAgICAgICAgICAgNC4yLTQgICAg
ICAgICAgICAgIE9LDQpiYXNoICAgICAgICAgICAgICAgICAgICAgNC4zLjQy
LTQgICAgICAgICAgIE9LDQpiaW51dGlscyAgICAgICAgICAgICAgICAgMi4y
NS00ICAgICAgICAgICAgIE9LDQpiemlwMiAgICAgICAgICAgICAgICAgICAg
MS4wLjYtMiAgICAgICAgICAgIE9LDQpjYS1jZXJ0aWZpY2F0ZXMgICAgICAg
ICAgMi43LTEgICAgICAgICAgICAgIE9LDQpjb3JldXRpbHMgICAgICAgICAg
ICAgICAgOC4yNS0zICAgICAgICAgICAgIE9LDQpjeWd1dGlscyAgICAgICAg
ICAgICAgICAgMS40LjE1LTIgICAgICAgICAgIE9LDQpjeWd3aW4gICAgICAg
ICAgICAgICAgICAgMi41LjAtMSAgICAgICAgICAgIE9LDQpjeWd3aW4tZGV2
ZWwgICAgICAgICAgICAgMi41LjAtMSAgICAgICAgICAgIE9LDQpkYXNoICAg
ICAgICAgICAgICAgICAgICAgMC41LjgtMyAgICAgICAgICAgIE9LDQplZGl0
cmlnaHRzICAgICAgICAgICAgICAgMS4wMy0xICAgICAgICAgICAgIE9LDQpm
aWxlICAgICAgICAgICAgICAgICAgICAgNS4yNS0xICAgICAgICAgICAgIE9L
DQpmaW5kdXRpbHMgICAgICAgICAgICAgICAgNC42LjAtMSAgICAgICAgICAg
IE9LDQpnYXdrICAgICAgICAgICAgICAgICAgICAgNC4xLjMtMSAgICAgICAg
ICAgIE9LDQpnY2MtY29yZSAgICAgICAgICAgICAgICAgNS4zLjAtMyAgICAg
ICAgICAgIE9LDQpnZXRlbnQgICAgICAgICAgICAgICAgICAgMi4xOC45MC00
ICAgICAgICAgIE9LDQpncmVwICAgICAgICAgICAgICAgICAgICAgMi4yNC0x
ICAgICAgICAgICAgIE9LDQpncm9mZiAgICAgICAgICAgICAgICAgICAgMS4y
Mi4zLTEgICAgICAgICAgIE9LDQpnemlwICAgICAgICAgICAgICAgICAgICAg
MS43LTEgICAgICAgICAgICAgIE9LDQpob3N0bmFtZSAgICAgICAgICAgICAg
ICAgMy4xMy0xICAgICAgICAgICAgIE9LDQppbmZvICAgICAgICAgICAgICAg
ICAgICAgNi4xLTIgICAgICAgICAgICAgIE9LDQppcGMtdXRpbHMgICAgICAg
ICAgICAgICAgMS4wLTIgICAgICAgICAgICAgIE9LDQpsZXNzICAgICAgICAg
ICAgICAgICAgICAgNDgxLTEgICAgICAgICAgICAgIE9LDQpsaWJhcmdwICAg
ICAgICAgICAgICAgICAgMjAxMTA5MjEtMiAgICAgICAgIE9LDQpsaWJhdG9t
aWMxICAgICAgICAgICAgICAgNS4zLjAtMyAgICAgICAgICAgIE9LDQpsaWJh
dHRyMSAgICAgICAgICAgICAgICAgMi40LjQ2LTEgICAgICAgICAgIE9LDQps
aWJibGtpZDEgICAgICAgICAgICAgICAgMi4yNS4yLTIgICAgICAgICAgIE9L
DQpsaWJiejJfMSAgICAgICAgICAgICAgICAgMS4wLjYtMiAgICAgICAgICAg
IE9LDQpsaWJjbG9vZy1pc2w0ICAgICAgICAgICAgMC4xOC4wLTIgICAgICAg
ICAgIE9LDQpsaWJmZmk2ICAgICAgICAgICAgICAgICAgMy4yLjEtMiAgICAg
ICAgICAgIE9LDQpsaWJnY2MxICAgICAgICAgICAgICAgICAgNS4zLjAtMyAg
ICAgICAgICAgIE9LDQpsaWJnZGJtNCAgICAgICAgICAgICAgICAgMS4xMS0x
ICAgICAgICAgICAgIE9LDQpsaWJnbXAxMCAgICAgICAgICAgICAgICAgNi4x
LjAtM3AxICAgICAgICAgIE9LDQpsaWJnb21wMSAgICAgICAgICAgICAgICAg
NS4zLjAtMyAgICAgICAgICAgIE9LDQpsaWJpY29udiAgICAgICAgICAgICAg
ICAgMS4xNC0zICAgICAgICAgICAgIE9LDQpsaWJpY29udjIgICAgICAgICAg
ICAgICAgMS4xNC0zICAgICAgICAgICAgIE9LDQpsaWJpbnRsOCAgICAgICAg
ICAgICAgICAgMC4xOS41LjEtMiAgICAgICAgIE9LDQpsaWJpc2wxMCAgICAg
ICAgICAgICAgICAgMC4xMS4xLTIgICAgICAgICAgIE9LDQpsaWJpc2wxMyAg
ICAgICAgICAgICAgICAgMC4xNC4xLTEgICAgICAgICAgIE9LDQpsaWJsem1h
NSAgICAgICAgICAgICAgICAgNS4yLjItMSAgICAgICAgICAgIE9LDQpsaWJt
cGMzICAgICAgICAgICAgICAgICAgMS4wLjMtMSAgICAgICAgICAgIE9LDQps
aWJtcGZyNCAgICAgICAgICAgICAgICAgMy4xLjQtMSAgICAgICAgICAgIE9L
DQpsaWJuY3Vyc2VzdzEwICAgICAgICAgICAgNi4wLTQuMjAxNjAzMDUgICAg
IE9LDQpsaWJvcGVuc3NsMTAwICAgICAgICAgICAgMS4wLjJnLTMgICAgICAg
ICAgIE9LDQpsaWJwMTEta2l0MCAgICAgICAgICAgICAgMC4yMi4xLTEgICAg
ICAgICAgIE9LDQpsaWJwY3JlMSAgICAgICAgICAgICAgICAgOC4zOC0zICAg
ICAgICAgICAgIE9LDQpsaWJwaXBlbGluZTEgICAgICAgICAgICAgMS40LjAt
MSAgICAgICAgICAgIE9LDQpFbXB0eSBwYWNrYWdlIGxpYnBvcHQwDQpsaWJw
b3B0MCAgICAgICAgICAgICAgICAgMS4xNi0xICAgICAgICAgICAgIE9LDQps
aWJxdWFkbWF0aDAgICAgICAgICAgICAgNS4zLjAtMyAgICAgICAgICAgIE9L
DQpsaWJyZWFkbGluZTcgICAgICAgICAgICAgNi4zLjgtMSAgICAgICAgICAg
IE9LDQpsaWJzbWFydGNvbHMxICAgICAgICAgICAgMi4yNS4yLTIgICAgICAg
ICAgIE9LDQpsaWJzc3AwICAgICAgICAgICAgICAgICAgNS4zLjAtMyAgICAg
ICAgICAgIE9LDQpsaWJzdGRjKys2ICAgICAgICAgICAgICAgNS4zLjAtMyAg
ICAgICAgICAgIE9LDQpsaWJ0YXNuMV82ICAgICAgICAgICAgICAgNC43LTEg
ICAgICAgICAgICAgIE9LDQpsaWJ1dWlkMSAgICAgICAgICAgICAgICAgMi4y
NS4yLTIgICAgICAgICAgIE9LDQpsaWJ2dHYwICAgICAgICAgICAgICAgICAg
NS4zLjAtMyAgICAgICAgICAgIE9LDQpsb2dpbiAgICAgICAgICAgICAgICAg
ICAgMS4xMS0xICAgICAgICAgICAgIE9LDQpseW54ICAgICAgICAgICAgICAg
ICAgICAgMi44LjctMiAgICAgICAgICAgIE9LDQptYW4tZGIgICAgICAgICAg
ICAgICAgICAgMi43LjQtMSAgICAgICAgICAgIE9LDQptaW50dHkgICAgICAg
ICAgICAgICAgICAgMi4zLjUtMCAgICAgICAgICAgIE9LDQpuY3Vyc2VzICAg
ICAgICAgICAgICAgICAgNi4wLTQuMjAxNjAzMDUgICAgIE9LDQpvcGVuc3Ns
ICAgICAgICAgICAgICAgICAgMS4wLjJnLTMgICAgICAgICAgIE9LDQpwMTEt
a2l0ICAgICAgICAgICAgICAgICAgMC4yMi4xLTEgICAgICAgICAgIE9LDQpw
MTEta2l0LXRydXN0ICAgICAgICAgICAgMC4yMi4xLTEgICAgICAgICAgIE9L
DQpwb3B0ICAgICAgICAgICAgICAgICAgICAgMS4xNi0xICAgICAgICAgICAg
IE9LDQpyZWJhc2UgICAgICAgICAgICAgICAgICAgNC40LjItMSAgICAgICAg
ICAgIE9LDQpydW4gICAgICAgICAgICAgICAgICAgICAgMS4zLjQtMiAgICAg
ICAgICAgIE9LDQpzZWQgICAgICAgICAgICAgICAgICAgICAgNC4yLjItMyAg
ICAgICAgICAgIE9LDQp0YXIgICAgICAgICAgICAgICAgICAgICAgMS4yOC0x
ICAgICAgICAgICAgIE9LDQp0ZXJtaW5mbyAgICAgICAgICAgICAgICAgNi4w
LTQuMjAxNjAzMDUgICAgIE9LDQp0emNvZGUgICAgICAgICAgICAgICAgICAg
MjAxNmMtMSAgICAgICAgICAgIE9LDQp1dGlsLWxpbnV4ICAgICAgICAgICAg
ICAgMi4yNS4yLTIgICAgICAgICAgIE9LDQp2aW0tbWluaW1hbCAgICAgICAg
ICAgICAgNy40LjE1NTgtMSAgICAgICAgIE9LDQp3MzJhcGktaGVhZGVycyAg
ICAgICAgICAgNC4wLjItMSAgICAgICAgICAgIE9LDQp3MzJhcGktcnVudGlt
ZSAgICAgICAgICAgNC4wLjQtMSAgICAgICAgICAgIE9LDQp3aGljaCAgICAg
ICAgICAgICAgICAgICAgMi4yMC0yICAgICAgICAgICAgIE9LDQp3aW5kb3dz
LWRlZmF1bHQtbWFuaWZlc3QgNi40LTEgICAgICAgICAgICAgIE9LDQp4eiAg
ICAgICAgICAgICAgICAgICAgICAgNS4yLjItMSAgICAgICAgICAgIE9LDQp6
bGliMCAgICAgICAgICAgICAgICAgICAgMS4yLjgtMyAgICAgICAgICAgIE9L
DQpVc2UgLWggdG8gc2VlIGhlbHAgYWJvdXQgZWFjaCBzZWN0aW9uDQo=

--001a114577881ff31805308ab1a9
Content-Type: text/x-csrc; charset=US-ASCII; name="test-code.c"
Content-Disposition: attachment; filename="test-code.c"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_in2344xk1

I2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCgojaW5jbHVkZSA8d2luZG93
cy5oPgojaW5jbHVkZSA8d2luc29jazIuaD4KI2luY2x1ZGUgPHdzMnRjcGlw
Lmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0ZGlvLmg+Cgoj
ZGVmaW5lIEZJT05CSU9fUFJPUEVSIDB4ODAwNDY2N2UKCmludCBtYWluKGlu
dCBhcmdjLCBjaGFyICoqYXJndikgIHsKICAgIFdTQURBVEEgd3NhRGF0YTsK
ICAgIFNPQ0tFVCBDb25uZWN0U29ja2V0ID0gSU5WQUxJRF9TT0NLRVQ7CiAg
ICBpbnQgaVJlc3VsdDsKICAgIERXT1JEIGRSZXN1bHQ7CiAgICB1bnNpZ25l
ZCBsb25nIHBhcmFtMSA9IDE7CiAgICB1bnNpZ25lZCBpbnQgcGFyYW0yID0g
MTsKICAgIGludCBpUmV0ID0gMDsKCiAgICAvLyBJbml0aWFsaXplIFdpbnNv
Y2sKICAgIGlSZXN1bHQgPSBXU0FTdGFydHVwKE1BS0VXT1JEKDIsMiksICZ3
c2FEYXRhKTsKICAgIGlmIChpUmVzdWx0ICE9IDApIHsKICAgICAgICBwcmlu
dGYoIldTQVN0YXJ0dXAgZmFpbGVkIHdpdGggZXJyb3I6ICVkXG4iLCBpUmVz
dWx0KTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBDb25uZWN0U29j
a2V0ID0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RD
UCk7CiAgICBpZiAoQ29ubmVjdFNvY2tldCA9PSBJTlZBTElEX1NPQ0tFVCkg
ewogICAgICAgIHByaW50Zigic29ja2V0IGZhaWxlZCB3aXRoIGVycm9yOiAl
bGRcbiIsIFdTQUdldExhc3RFcnJvcigpKTsKICAgICAgICBXU0FDbGVhbnVw
KCk7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgcHJpbnRmKCJDYWxs
aW5nIFdTQUlvY3RsIHdpdGggRklPTkJJTyA9ICUwOHggLSBzaXplb2YocGFy
YW0xKSA9ICVkXG4iLCBGSU9OQklPLCBzaXplb2YocGFyYW0xKSk7CiAgICBp
UmVzdWx0ID0gV1NBSW9jdGwoQ29ubmVjdFNvY2tldCwgRklPTkJJTywgJnBh
cmFtMSwgc2l6ZW9mKHBhcmFtMSksIE5VTEwsIDAsICZkUmVzdWx0LCBOVUxM
LCBOVUxMKTsKICAgIGlmIChpUmVzdWx0ICE9IDApIHsKICAgICAgICBwcmlu
dGYoIldTQUlvY3RsIGZhaWxlZCB3aXRoIGVycm9yOiAlZFxuIiwgaVJlc3Vs
dCk7CiAgICAgICAgaVJldCA9IDE7CiAgICB9IGVsc2UgewogICAgICAgIHBy
aW50ZigiU3VjY2Vzcy5cbiIpOwogICAgfQoKICAgIHByaW50ZigiQ2FsbGlu
ZyBXU0FJb2N0bCB3aXRoIEZJT05CSU8gPSAlMDh4IC0gc2l6ZW9mKHBhcmFt
MikgPSAlZFxuIiwgRklPTkJJTywgc2l6ZW9mKHBhcmFtMikpOwogICAgaVJl
c3VsdCA9IFdTQUlvY3RsKENvbm5lY3RTb2NrZXQsIEZJT05CSU8sICZwYXJh
bTIsIHNpemVvZihwYXJhbTIpLCBOVUxMLCAwLCAmZFJlc3VsdCwgTlVMTCwg
TlVMTCk7CiAgICBpZiAoaVJlc3VsdCAhPSAwKSB7CiAgICAgICAgcHJpbnRm
KCJXU0FJb2N0bCBmYWlsZWQgd2l0aCBlcnJvcjogJWRcbiIsIGlSZXN1bHQp
OwogICAgICAgIGlSZXQgPSAxOwogICAgfSBlbHNlIHsKICAgICAgICBwcmlu
dGYoIlN1Y2Nlc3MuXG4iKTsKICAgIH0KCiAgICBwcmludGYoIkNhbGxpbmcg
V1NBSW9jdGwgd2l0aCBGSU9OQklPX1BST1BFUiA9ICUwOHggLSBzaXplb2Yo
cGFyYW0xKSA9ICVkXG4iLCBGSU9OQklPX1BST1BFUiwgc2l6ZW9mKHBhcmFt
MSkpOwogICAgaVJlc3VsdCA9IFdTQUlvY3RsKENvbm5lY3RTb2NrZXQsIEZJ
T05CSU9fUFJPUEVSLCAmcGFyYW0xLCBzaXplb2YocGFyYW0xKSwgTlVMTCwg
MCwgJmRSZXN1bHQsIE5VTEwsIE5VTEwpOwogICAgaWYgKGlSZXN1bHQgIT0g
MCkgewogICAgICAgIHByaW50ZigiV1NBSW9jdGwgZmFpbGVkIHdpdGggZXJy
b3I6ICVkXG4iLCBpUmVzdWx0KTsKICAgICAgICBpUmV0ID0gMTsKICAgIH0g
ZWxzZSB7CiAgICAgICAgcHJpbnRmKCJTdWNjZXNzLlxuIik7CiAgICB9Cgog
ICAgcHJpbnRmKCJDYWxsaW5nIFdTQUlvY3RsIHdpdGggRklPTkJJT19QUk9Q
RVIgPSAlMDh4IC0gc2l6ZW9mKHBhcmFtMikgPSAlZFxuIiwgRklPTkJJT19Q
Uk9QRVIsIHNpemVvZihwYXJhbTIpKTsKICAgIGlSZXN1bHQgPSBXU0FJb2N0
bChDb25uZWN0U29ja2V0LCBGSU9OQklPX1BST1BFUiwgJnBhcmFtMiwgc2l6
ZW9mKHBhcmFtMiksIE5VTEwsIDAsICZkUmVzdWx0LCBOVUxMLCBOVUxMKTsK
ICAgIGlmIChpUmVzdWx0ICE9IDApIHsKICAgICAgICBwcmludGYoIldTQUlv
Y3RsIGZhaWxlZCB3aXRoIGVycm9yOiAlZFxuIiwgaVJlc3VsdCk7CiAgICAg
ICAgaVJldCA9IDE7CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiU3Vj
Y2Vzcy5cbiIpOwogICAgfQoKICAgIGNsb3Nlc29ja2V0KENvbm5lY3RTb2Nr
ZXQpOwogICAgV1NBQ2xlYW51cCgpOwoKICAgIHJldHVybiBpUmV0Owp9Cg==


--001a114577881ff31805308ab1a9
Content-Type: text/plain; charset=us-ascii

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
--001a114577881ff31805308ab1a9--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019