[mew-int 3206] Patch for w3m-end-of-tag to handle HTML tags that enclose whitespace
Michael Ernst
mernst at example.com
Fri Apr 18 00:13:49 JST 2014
When an email message contains an HTML tag that encloses only whitespace,
as in
<blockquote> </blockquote>
, function w3m-end-of-tag can set the match-data in an inconsistent way
where the start of a group comes *after* the beginning of a group. In
particular, group 3 starts at the end of the enclosed whitespace, and
group 3 ends at the beginning of the enclosed whitespace. This causes
clients such as mew-w3m-cite-blockquote to fail.
The attached patch fixes this problem.
The attached email message reproduces the problem.
Other routines such as w3m-beginning-of-tag might suffer the same problem;
I have not investigated them.
-Mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mew-w3m-util.patch
Type: text/x-patch
Size: 499 bytes
Desc: not available
URL: <http://www.mew.org/pipermail/mew-int/attachments/20140417/df30f685/attachment.bin>
-------------- next part --------------
Delivered-To: mernst at example.com
Received: by 10.182.213.97 with SMTP id nr1csp203066obc;
Tue, 15 Apr 2014 10:06:12 -0700 (PDT)
X-Received: by 10.68.171.193 with SMTP id
aw1mr3078976pbc.117.1397581571874;
Tue, 15 Apr 2014 10:06:11 -0700 (PDT)
Return-Path: <damiano.macedonio at example.com>
Received: from mx4.cs.washington.edu (mx4.cs.washington.edu.
[2607:4000:200:17::35])
by mx.google.com with ESMTPS id
wh4si11174862pbc.348.2014.04.15.10.06.11
for <mernst at example.com>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Tue, 15 Apr 2014 10:06:11 -0700 (PDT)
Received-SPF: pass (google.com: domain of damiano.macedonio at example.com
designates 2607:4000:200:17::35 as permitted sender)
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of damiano.macedonio at example.com
designates 2607:4000:200:17::35 as permitted sender)
smtp.mail=damiano.macedonio at example.com;
dkim=pass header.i=@gmail.com
Received: from mx2.cs.washington.edu (mx2.cs.washington.edu
[IPv6:2607:4000:200:11::69])
by mx4.cs.washington.edu (8.14.7/8.14.7/1.12) with ESMTP id
s3FH68AC025387
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256
verify=FAIL)
for <mernst at example.com>; Tue, 15 Apr 2014 10:06:08 -0700
(envelope-from damiano.macedonio at example.com)
Received: from mail-oa0-x235.google.com (mail-oa0-x235.google.com
[IPv6:2607:f8b0:4003:c02::235])
by mx2.cs.washington.edu (8.14.7/8.14.7/1.12) with ESMTP id
s3FH63I0025819
(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT);
Tue, 15 Apr 2014 10:06:03 -0700
(envelope-from damiano.macedonio at example.com)
Received: by mail-oa0-f53.google.com with SMTP id j17so10848821oag.26
for <multiple recipients>; Tue, 15 Apr 2014 10:06:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:sender:in-reply-to:references:date:message-id:subject
:from:to:cc:content-type;
bh=wmCbzG6Xpdfu5brY8wkGSFQ4GE1jtF5IGZKM/jqr2vE=;
b=YpD141XlF9HxdypgEb3/Dg0soVR+BxMzkLn89iGF00c1GDMCgnycLFSoDFSLvEN4qO
J/l38/zTTSr2zrddrqfsyPJhaUboycTPOHt0uJAAp4pRAQdJatq/ME244gMSZj9tBGh7
P0i0yiHok+Wr7bWMQdCRRdAmgvZOYPOFwXY2k4DrLwpstjodXH8C8NDWy2o7x5vGnJRC
d5zLQspQcOM4fwiWhBQqszYHjBFRRH/cvdaIHpiu4F5/I7gSuedG0Wt/ViHxGbAr3zNZ
I1d1eR9/mLKyAmm8VwZrIEO9SLe1Erv6fKA/NWe8DGPW7bcqEqXehPu/ykKhQBYCuJIO
NBiA==
MIME-Version: 1.0
X-Received: by 10.182.120.40 with SMTP id kz8mr2492028obb.6.1397581563162;
Tue, 15 Apr 2014 10:06:03 -0700 (PDT)
Sender: damiano.macedonio at example.com
Received: by 10.182.186.71 with HTTP; Tue, 15 Apr 2014 10:06:02 -0700 (PDT)
In-Reply-To: <20140415.085825.525497345661014287.mernst at example.com>
References: <022235e2a9187ece238e0f10c4a712c9 at example.com>
<20140414.093327.1551137378242287599.mernst at example.com>
<CAMi4Anc7tVcH8=hAojgajNM9dLPygTxPSd_XgGaOS1E_ta6QPg at example.com>
<20140415.085825.525497345661014287.mernst at example.com>
Date: Tue, 15 Apr 2014 19:06:02 +0200
X-Google-Sender-Auth: xhP7X3MIvBUleg5qnSpPVSJZfe4
Message-ID:
<CADo8cTyHrheg16Gn-tuXRGevYdbG5gZ2Eb0=nk47tZdJPaOTyA at example.com>
Subject: Re: Lock inference for Google Guava library
From: Damiano Macedonio <damiano.macedonio at example.com>
To: Michael Ernst <mernst at example.com>
Cc: Fausto Spoto <fausto.spoto at example.com>,
Javier Thaine <jthaine at example.com>,
"alberto.lovato" <alberto.lovato at example.com>
Content-Type: multipart/mixed; boundary=089e0139fc3a9e12ef04f717d0a5
X-Uwcse-Spam-Status: No, score=0.0 required=5.0
tests=DKIM_SIGNED,DKIM_VALID,
FREEMAIL_FROM,HTML_MESSAGE,SPF_PASS autolearn=disabled
version=3.3.2-20140413
X-Uwcse-Spam-Checker-Version: SpamAssassin 3.3.2-20140413 (2011-06-06) on
mx4.cs.washington.edu
--089e0139fc3a9e12ef04f717d0a5
Content-Type: multipart/alternative; boundary=089e0139fc3a9e12ea04f717d0a3
--089e0139fc3a9e12ea04f717d0a3
Content-Type: text/plain; charset=UTF-8
Mike,
> You said "jaif ... generated by the Checker Framework".
> Can you clarify this? The Checker Framework doesn't do inference except
> intra-procedurally.
>
>
We mean the annotation inferred by the Checker Framework, as we want to
compare the Checker Framework's intraprocedural inference with Julia's.
I believe that the argument to @GuardedBy should be a string. Is it the
> symbol bottom, or a string with that content, or empty, or something
> else?
> Can you tell us exactly how you obtained the problematic jaif file so
> that
> we can reproduce the problem locally?
>
>
Yes, that's correct. We obtain a lot of @GuardedByBottom annotation, which
are of minor relevance as they represent an implementation detail of the
checker. We are looking for @GuardedBy annotation different from
@GuardedByBottom. At the moment we found just the annotation listed in the
file I am enclosing. We would like to know if we are missing something or
those are all the annotations that are intra-procedurally inferred by the
Checker.
Tanks a lot!
Damiano.
2014-04-15 17:58 GMT+02:00 Michael Ernst <mernst at example.com>:
> Fausto-
>
>
> this is completely fine. For the paper, we wanted however to compare the
>> jaif generated by Julia and that generated by the Checker Framework, on
>> the
>> same code. In this direction, we need to:
>>
>> 1) run the Checker Framework on the source code
>> 2) extract the inferred @GuardedBy and @Holding annotations
>>
>
> You said "jaif ... generated by the Checker Framework".
> Can you clarify this? The Checker Framework doesn't do inference except
> intra-procedurally.
>
> Maybe you mean "jaif for annotations that are verifiable by the Checker
> Framework". Or maybe you want to compare the Checker Framework's
> intraprocedural inference with Julia's. Or maybe something else and I'm
> not interpreting your writing correctly.
>
>
> At the moment, Damiano and Alberto get a jaif file with
>> @GuardedBy(bottom) annotations, that is not what we need. Is this a
>> problem
>> in the Checker Framework or in the annotation extraction tool? Or we
>> just
>> use the wrong options? How can we overcome it?
>>
>
> I believe that the argument to @GuardedBy should be a string. Is it the
> symbol bottom, or a string with that content, or empty, or something
> else?
> Can you tell us exactly how you obtained the problematic jaif file so
> that
> we can reproduce the problem locally?
>
> Thanks!
>
> -Mike
>
--089e0139fc3a9e12ea04f717d0a3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Mike,<br><br><div class=3D"gmail_extra"><div
class=3D"gmai=
l_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px
0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div
class=3D"">=
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px
0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote>
<br></div>
You said "jaif ... generated by the Checker Framework".<br>
Can you clarify this? =C2=A0The Checker Framework doesn't do inference
=
except intra-procedurally.<br>
<br></blockquote><div><br></div><div class=3D"">We mean the annotation
infe=
rred by the Checker Framework, as we want to compare the Checker
Framework&=
#39;s intraprocedural inference with Julia's.<br>
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px
0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I believe that the argument to @GuardedBy should be a string. =C2=A0Is it
t=
he symbol bottom, or a string with that content, or empty, or something
els=
e? Can you tell us exactly how you obtained the problematic jaif file so
th=
at we can reproduce the problem locally?<br>
<br>
</blockquote><div><br></div><div>Yes, that's correct. We obtain a lot
o=
f @GuardedByBottom annotation, which are of minor relevance as they
represe=
nt an implementation detail of the checker. We are looking for @GuardedBy
a=
nnotation different from @GuardedByBottom. At the moment we found just the
=
annotation listed in the file I am enclosing. We would like to know if we
a=
re missing something or those are all the annotations that are
intra-proced=
urally inferred by the Checker. <br>
<br></div><div>Tanks a
lot!<br><br></div><div>Damiano.<br></div></div></div=
></div><div class=3D"gmail_extra"><br><br><div
>class=3D"gmail_quote">2014-0=
4-15 17:58 GMT+02:00 Michael Ernst <span dir=3D"ltr"><<a
href=3D"mailto:=
mernst at example.com"
target=3D"_blank">mernst at example.com</a>>=
;</span>:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0
.8ex;border-left:1p=
x #ccc solid;padding-left:1ex">Fausto-<div class=3D""><br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0
.8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
this is completely fine. For the paper, we wanted however to compare the
ja=
if generated by Julia and that generated by the Checker Framework, on the
s=
ame code. In this direction, we need to:<br>
<br>
1) run the Checker Framework on the source code<br>
2) extract the inferred @GuardedBy and @Holding annotations<br>
</blockquote>
<br></div>
You said "jaif ... generated by the Checker Framework".<br>
Can you clarify this? =C2=A0The Checker Framework doesn't do inference
=
except intra-procedurally.<br>
<br>
Maybe you mean "jaif for annotations that are verifiable by the
Checke=
r Framework". =C2=A0Or maybe you want to compare the Checker
Framework=
's intraprocedural inference with Julia's. =C2=A0Or maybe
something=
else and I'm not interpreting your writing correctly.<div class=3D"">
<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0
.8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
At the moment, Damiano and Alberto get a jaif file with @GuardedBy(bottom)
=
annotations, that is not what we need. Is this a problem in the Checker
Fra=
mework or in the annotation extraction tool? Or we just use the wrong
optio=
ns? How can we overcome it?<br>
</blockquote>
<br></div>
I believe that the argument to @GuardedBy should be a string. =C2=A0Is it
t=
he symbol bottom, or a string with that content, or empty, or something
els=
e? Can you tell us exactly how you obtained the problematic jaif file so
th=
at we can reproduce the problem locally?<br>
<br>
Thanks!<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
-Mike=
<br>
</blockquote></div><br></div>
--089e0139fc3a9e12ea04f717d0a3--
--089e0139fc3a9e12ef04f717d0a5
Content-Type: text/plain; charset=US-ASCII;
name="checkerFrameworkIntraproceduralInferences.txt"
Content-Disposition: attachment;
filename="checkerFrameworkIntraproceduralInferences.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hu1fyp6i0
Ly8gc29ubyB0dXR0ZSBhbm5vdGF6aW9uaSBjaGUgZXJhbm8gcHJlc2VudGkgbmVsIHNvcmdlbnRl
IGNvbiBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuCi8vIGlsIENoZWNrZXIgbGUgaGEgdHJh
ZG90dGUgYW5jaGUgaW4gY2hlY2tlcnMubG9jay5xdWFscy4KCnBhY2thZ2UgY29tLmdvb2dsZS5j
b21tb24uY2FjaGU6CmNsYXNzIExvY2FsQ2FjaGUkU3Ryb25nQWNjZXNzV3JpdGVFbnRyeToKCiAg
ICBmaWVsZCBuZXh0QWNjZXNzOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRC
eSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMubG9jay5xdWFs
cy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAgCiAgICBmaWVsZCBwcmV2
aW91c0FjY2VzczogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9
IlNlZ21lbnQudGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRl
ZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQogICAgICAgIAogICAgZmllbGQgbmV4dFdyaXRlOiBA
amF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlz
IikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNl
Z21lbnQudGhpcyIpCiAgICAgICAgCiAgICBmaWVsZCBwcmV2aW91c1dyaXRlOiBAamF2YXguYW5u
b3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAg
ICB0eXBlOiBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhp
cyIpICAgICAgICAKICAgICAgICAKY2xhc3MgTG9jYWxDYWNoZTogQGNvbS5nb29nbGUuY29tbW9u
LmFubm90YXRpb25zLkd3dENvbXBhdGlibGUoZW11bGF0ZWQ9dHJ1ZSkKCiAgICBtZXRob2QgbmV3
RW50cnkoTGphdmEvbGFuZy9PYmplY3Q7SUxjb20vZ29vZ2xlL2NvbW1vbi9jYWNoZS9Mb2NhbENh
Y2hlJFJlZmVyZW5jZUVudHJ5OylMY29tL2dvb2dsZS9jb21tb24vY2FjaGUvTG9jYWxDYWNoZSRS
ZWZlcmVuY2VFbnRyeTs6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZh
bHVlPSJTZWdtZW50LnRoaXMiKSBAY29tLmdvb2dsZS5jb21tb24uYW5ub3RhdGlvbnMuVmlzaWJs
ZUZvclRlc3RpbmcKICAgICAgICByZXR1cm46IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRC
eSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICAKICAgIG1ldGhvZCBjb3B5RW50cnkoTGNv
bS9nb29nbGUvY29tbW9uL2NhY2hlL0xvY2FsQ2FjaGUkUmVmZXJlbmNlRW50cnk7TGNvbS9nb29n
bGUvY29tbW9uL2NhY2hlL0xvY2FsQ2FjaGUkUmVmZXJlbmNlRW50cnk7KUxjb20vZ29vZ2xlL2Nv
bW1vbi9jYWNoZS9Mb2NhbENhY2hlJFJlZmVyZW5jZUVudHJ5OzogQGphdmF4LmFubm90YXRpb24u
Y29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpIEBjb20uZ29vZ2xlLmNv
bW1vbi5hbm5vdGF0aW9ucy5WaXNpYmxlRm9yVGVzdGluZwogICAgICAgIHJldHVybjogQGNoZWNr
ZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQogICAgICAgIAog
ICAgbWV0aG9kIG5ld1ZhbHVlUmVmZXJlbmNlKExjb20vZ29vZ2xlL2NvbW1vbi9jYWNoZS9Mb2Nh
bENhY2hlJFJlZmVyZW5jZUVudHJ5O0xqYXZhL2xhbmcvT2JqZWN0O0kpTGNvbS9nb29nbGUvY29t
bW9uL2NhY2hlL0xvY2FsQ2FjaGUkVmFsdWVSZWZlcmVuY2U7OiBAamF2YXguYW5ub3RhdGlvbi5j
b25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikgQGNvbS5nb29nbGUuY29t
bW9uLmFubm90YXRpb25zLlZpc2libGVGb3JUZXN0aW5nCiAgICAgICAgcmV0dXJuOiBAY2hlY2tl
cnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCgpjbGFzcyBMb2Nh
bENhY2hlJFN0cm9uZ0FjY2Vzc0VudHJ5OgogICAgICAgIAogICAgZmllbGQgbmV4dEFjY2Vzczog
QGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhp
cyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJT
ZWdtZW50LnRoaXMiKQoKICAgIGZpZWxkIHByZXZpb3VzQWNjZXNzOiBAamF2YXguYW5ub3RhdGlv
bi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0eXBl
OiBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCgpj
bGFzcyBMb2NhbENhY2hlJFdlYWtXcml0ZUVudHJ5OgoKICAgIGZpZWxkIG5leHRXcml0ZTogQGph
dmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIp
CiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdt
ZW50LnRoaXMiKQoKICAgIGZpZWxkIHByZXZpb3VzV3JpdGU6IEBqYXZheC5hbm5vdGF0aW9uLmNv
bmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQogICAgICAgIHR5cGU6IEBj
aGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKCmNsYXNz
IExvY2FsQ2FjaGUkU2VnbWVudDoKCiAgICBmaWVsZCB0b3RhbFdlaWdodDogQGphdmF4LmFubm90
YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9InRoaXMiKQogICAgICAgIHR5cGU6IEBj
aGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIpCgogICAgZmllbGQgd3Jp
dGVRdWV1ZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9InRo
aXMiKQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0i
dGhpcyIpCiAgICAgICAKICAgIGZpZWxkIGFjY2Vzc1F1ZXVlOiBAamF2YXguYW5ub3RhdGlvbi5j
b25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJz
LmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJ0aGlzIikKCiAgICBtZXRob2QgbmV3RW50cnko
TGphdmEvbGFuZy9PYmplY3Q7SUxjb20vZ29vZ2xlL2NvbW1vbi9jYWNoZS9Mb2NhbENhY2hlJFJl
ZmVyZW5jZUVudHJ5OylMY29tL2dvb2dsZS9jb21tb24vY2FjaGUvTG9jYWxDYWNoZSRSZWZlcmVu
Y2VFbnRyeTs6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJ0
aGlzIikKICAgICAgICByZXR1cm46IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1
ZT0idGhpcyIpCiAgICAgCiAgICBtZXRob2QgY29weUVudHJ5KExjb20vZ29vZ2xlL2NvbW1vbi9j
YWNoZS9Mb2NhbENhY2hlJFJlZmVyZW5jZUVudHJ5O0xjb20vZ29vZ2xlL2NvbW1vbi9jYWNoZS9M
b2NhbENhY2hlJFJlZmVyZW5jZUVudHJ5OylMY29tL2dvb2dsZS9jb21tb24vY2FjaGUvTG9jYWxD
YWNoZSRSZWZlcmVuY2VFbnRyeTs6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRl
ZEJ5KHZhbHVlPSJ0aGlzIikKICAgICAgICByZXR1cm46IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1
YXJkZWRCeSh2YWx1ZT0idGhpcyIpCiAgICAgICAgCiAgICBtZXRob2QgcmVtb3ZlVmFsdWVGcm9t
Q2hhaW4oTGNvbS9nb29nbGUvY29tbW9uL2NhY2hlL0xvY2FsQ2FjaGUkUmVmZXJlbmNlRW50cnk7
TGNvbS9nb29nbGUvY29tbW9uL2NhY2hlL0xvY2FsQ2FjaGUkUmVmZXJlbmNlRW50cnk7TGphdmEv
bGFuZy9PYmplY3Q7SUxjb20vZ29vZ2xlL2NvbW1vbi9jYWNoZS9Mb2NhbENhY2hlJFZhbHVlUmVm
ZXJlbmNlO0xjb20vZ29vZ2xlL2NvbW1vbi9jYWNoZS9SZW1vdmFsQ2F1c2U7KUxjb20vZ29vZ2xl
L2NvbW1vbi9jYWNoZS9Mb2NhbENhY2hlJFJlZmVyZW5jZUVudHJ5OzogQGphdmF4LmFubm90YXRp
b24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9InRoaXMiKQogICAgICAgIHJldHVybjogQGph
dmF4LmFubm90YXRpb24uTnVsbGFibGUgQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZh
bHVlPSJ0aGlzIikKICAgICAgICAKICAgIG1ldGhvZCByZW1vdmVFbnRyeUZyb21DaGFpbihMY29t
L2dvb2dsZS9jb21tb24vY2FjaGUvTG9jYWxDYWNoZSRSZWZlcmVuY2VFbnRyeTtMY29tL2dvb2ds
ZS9jb21tb24vY2FjaGUvTG9jYWxDYWNoZSRSZWZlcmVuY2VFbnRyeTspTGNvbS9nb29nbGUvY29t
bW9uL2NhY2hlL0xvY2FsQ2FjaGUkUmVmZXJlbmNlRW50cnk7OiBAamF2YXguYW5ub3RhdGlvbi5j
b25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIpCiAgICAgICAgcmV0dXJuOiBAamF2YXgu
YW5ub3RhdGlvbi5OdWxsYWJsZSBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9
InRoaXMiKQogICAgICAgIAogICAgbWV0aG9kIHJlbW92ZUVudHJ5KExjb20vZ29vZ2xlL2NvbW1v
bi9jYWNoZS9Mb2NhbENhY2hlJFJlZmVyZW5jZUVudHJ5O0lMY29tL2dvb2dsZS9jb21tb24vY2Fj
aGUvUmVtb3ZhbENhdXNlOylaOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRC
eSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICByZXR1cm46IEBjaGVja2Vycy5sb2NrLnF1
YWxzLkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICAKY2xhc3MgTG9jYWxD
YWNoZSRXZWFrQWNjZXNzRW50cnk6CgogICAgZmllbGQgbmV4dEFjY2VzczogQGphdmF4LmFubm90
YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAg
dHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMi
KQoKICAgIGZpZWxkIHByZXZpb3VzQWNjZXNzOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50
Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMu
bG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCgpjbGFzcyBMb2NhbENh
Y2hlJFN0cm9uZ1dyaXRlRW50cnk6CgogICAgZmllbGQgbmV4dFdyaXRlOiBAamF2YXguYW5ub3Rh
dGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0
eXBlOiBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIp
CgogICAgZmllbGQgcHJldmlvdXNXcml0ZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5H
dWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxv
Y2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQogICAgICAgIApjbGFzcyBM
b2NhbENhY2hlJFdlYWtBY2Nlc3NXcml0ZUVudHJ5OgoKICAgIGZpZWxkIG5leHRBY2Nlc3M6IEBq
YXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMi
KQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0iU2Vn
bWVudC50aGlzIikKCiAgICBmaWVsZCBwcmV2aW91c0FjY2VzczogQGphdmF4LmFubm90YXRpb24u
Y29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAgdHlwZTog
QGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQogICAg
ICAgIAogICAgZmllbGQgbmV4dFdyaXRlOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1
YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMubG9j
ay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCgogICAgZmllbGQgcHJldmlv
dXNXcml0ZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNl
Z21lbnQudGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5
KHZhbHVlPSJTZWdtZW50LnRoaXMiKQoKcGFja2FnZSBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNv
bmN1cnJlbnQ6CmNsYXNzIEV4ZWN1dGlvbkxpc3Q6CgogICAgZmllbGQgcnVubmFibGVzOiBAamF2
YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIpCiAgICAgICAg
dHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJ0aGlzIikKCiAgICBm
aWVsZCBleGVjdXRlZDogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFs
dWU9InRoaXMiKQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2
YWx1ZT0idGhpcyIpCgpjbGFzcyBNb25pdG9yJEd1YXJkOiBAY29tLmdvb2dsZS5jb21tb24uYW5u
b3RhdGlvbnMuQmV0YQogICAgICAgIAogICAgZmllbGQgd2FpdGVyQ291bnQ6IEBqYXZheC5hbm5v
dGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJtb25pdG9yLmxvY2siKQogICAgICAg
IHR5cGU6IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0ibW9uaXRvci5sb2Nr
IikKCiAgICBmaWVsZCBuZXh0OiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRC
eSh2YWx1ZT0ibW9uaXRvci5sb2NrIikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMubG9jay5xdWFs
cy5HdWFyZGVkQnkodmFsdWU9Im1vbml0b3IubG9jayIpCgpjbGFzcyBBYnN0cmFjdFNlcnZpY2U6
IEBjb20uZ29vZ2xlLmNvbW1vbi5hbm5vdGF0aW9ucy5CZXRhCgogICAgZmllbGQgbGlzdGVuZXJz
OiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0ibW9uaXRvciIp
CiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJtb25p
dG9yIikKICAgICAgICAKICAgIGZpZWxkIHNuYXBzaG90OiBAamF2YXguYW5ub3RhdGlvbi5jb25j
dXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0ibW9uaXRvciIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJz
LmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJtb25pdG9yIikgICAgICAgCgpjbGFzcyBNb25p
dG9yOiBAY29tLmdvb2dsZS5jb21tb24uYW5ub3RhdGlvbnMuQmV0YQoKICAgIGZpZWxkIGFjdGl2
ZUd1YXJkczogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9Imxv
Y2siKQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0i
bG9jayIpCgogICAgbWV0aG9kIGlzU2F0aXNmaWVkKExjb20vZ29vZ2xlL2NvbW1vbi91dGlsL2Nv
bmN1cnJlbnQvTW9uaXRvciRHdWFyZDspWjogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5H
dWFyZGVkQnkodmFsdWU9ImxvY2siKQogICAgICAgIHJldHVybjogQGNoZWNrZXJzLmxvY2sucXVh
bHMuR3VhcmRlZEJ5KHZhbHVlPSJsb2NrIikKICAgICAgICAKICAgIG1ldGhvZCBhd2FpdE5hbm9z
KExjb20vZ29vZ2xlL2NvbW1vbi91dGlsL2NvbmN1cnJlbnQvTW9uaXRvciRHdWFyZDtKWilaOiBA
amF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0ibG9jayIpCiAgICAg
ICAgcmV0dXJuOiBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9ImxvY2siKQoK
Y2xhc3MgQWJzdHJhY3RTY2hlZHVsZWRTZXJ2aWNlJEN1c3RvbVNjaGVkdWxlciRSZXNjaGVkdWxh
YmxlQ2FsbGFibGU6CgogICAgZmllbGQgY3VycmVudEZ1dHVyZTogQGphdmF4LmFubm90YXRpb24u
Y29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9ImxvY2siKQogICAgICAgIHR5cGU6IEBjaGVja2Vy
cy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0ibG9jayIpICAgICAgICAgICAgICAgIAoKY2xh
c3MgRXhlY3V0aW9uUXVldWUkUnVubmFibGVFeGVjdXRvclBhaXI6CgogICAgZmllbGQgaGFzQmVl
bkV4ZWN1dGVkOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0i
bG9jayIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVl
PSJsb2NrIikKCnBhY2thZ2UgY29tLmdvb2dsZS5jb21tb24uY29sbGVjdDoKY2xhc3MgTWFwTWFr
ZXJJbnRlcm5hbE1hcCRXZWFrRXZpY3RhYmxlRW50cnk6CgogICAgZmllbGQgbmV4dEV2aWN0YWJs
ZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQu
dGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVl
PSJTZWdtZW50LnRoaXMiKQoKICAgIGZpZWxkIHByZXZpb3VzRXZpY3RhYmxlOiBAamF2YXguYW5u
b3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAg
ICB0eXBlOiBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhp
cyIpCiAgICAgICAgCmNsYXNzIE1hcE1ha2VySW50ZXJuYWxNYXAkU3Ryb25nRXZpY3RhYmxlRW50
cnk6CgogICAgZmllbGQgbmV4dEV2aWN0YWJsZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVu
dC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJz
LmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQoKICAgIGZpZWxkIHBy
ZXZpb3VzRXZpY3RhYmxlOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2
YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMubG9jay5xdWFscy5H
dWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCgpjbGFzcyBNYXBNYWtlckludGVybmFsTWFw
JFNlZ21lbnQ6CgogICAgZmllbGQgZXZpY3Rpb25RdWV1ZTogQGphdmF4LmFubm90YXRpb24uY29u
Y3VycmVudC5HdWFyZGVkQnkodmFsdWU9InRoaXMiKQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5s
b2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIpCgogICAgZmllbGQgZXhwaXJhdGlvblF1
ZXVlOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIp
CiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJ0aGlz
IikKICAgICAgICAKICAgIG1ldGhvZCBuZXdFbnRyeShMamF2YS9sYW5nL09iamVjdDtJTGNvbS9n
b29nbGUvY29tbW9uL2NvbGxlY3QvTWFwTWFrZXJJbnRlcm5hbE1hcCRSZWZlcmVuY2VFbnRyeTsp
TGNvbS9nb29nbGUvY29tbW9uL2NvbGxlY3QvTWFwTWFrZXJJbnRlcm5hbE1hcCRSZWZlcmVuY2VF
bnRyeTs6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJ0aGlz
IikKICAgICAgICByZXR1cm46IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0i
dGhpcyIpCiAgICAgICAgCiAgICBtZXRob2QgY29weUVudHJ5KExjb20vZ29vZ2xlL2NvbW1vbi9j
b2xsZWN0L01hcE1ha2VySW50ZXJuYWxNYXAkUmVmZXJlbmNlRW50cnk7TGNvbS9nb29nbGUvY29t
bW9uL2NvbGxlY3QvTWFwTWFrZXJJbnRlcm5hbE1hcCRSZWZlcmVuY2VFbnRyeTspTGNvbS9nb29n
bGUvY29tbW9uL2NvbGxlY3QvTWFwTWFrZXJJbnRlcm5hbE1hcCRSZWZlcmVuY2VFbnRyeTs6IEBq
YXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJ0aGlzIikKICAgICAg
ICByZXR1cm46IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIpCiAg
ICAgICAgCiAgICBtZXRob2QgZXZpY3RFbnRyaWVzKClaOiBAamF2YXguYW5ub3RhdGlvbi5jb25j
dXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIpCiAgICAgICAgcmV0dXJuOiBAY2hlY2tlcnMu
bG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9InRoaXMiKQogICAgICAgIAogICAgbWV0aG9kIHJl
bW92ZUZyb21DaGFpbihMY29tL2dvb2dsZS9jb21tb24vY29sbGVjdC9NYXBNYWtlckludGVybmFs
TWFwJFJlZmVyZW5jZUVudHJ5O0xjb20vZ29vZ2xlL2NvbW1vbi9jb2xsZWN0L01hcE1ha2VySW50
ZXJuYWxNYXAkUmVmZXJlbmNlRW50cnk7KUxjb20vZ29vZ2xlL2NvbW1vbi9jb2xsZWN0L01hcE1h
a2VySW50ZXJuYWxNYXAkUmVmZXJlbmNlRW50cnk7OiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJy
ZW50Lkd1YXJkZWRCeSh2YWx1ZT0idGhpcyIpCiAgICAgICAgcmV0dXJuOiBAY2hlY2tlcnMubG9j
ay5xdWFscy5HdWFyZGVkQnkodmFsdWU9InRoaXMiKQogICAgICAgIAogICAgbWV0aG9kIHJlbW92
ZUVudHJ5KExjb20vZ29vZ2xlL2NvbW1vbi9jb2xsZWN0L01hcE1ha2VySW50ZXJuYWxNYXAkUmVm
ZXJlbmNlRW50cnk7SUxjb20vZ29vZ2xlL2NvbW1vbi9jb2xsZWN0L01hcE1ha2VyJFJlbW92YWxD
YXVzZTspWjogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9InRo
aXMiKQogICAgICAgIHJldHVybjogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVl
PSJ0aGlzIikKCmNsYXNzIE1hcE1ha2VySW50ZXJuYWxNYXAkU29mdEV4cGlyYWJsZUV2aWN0YWJs
ZUVudHJ5OgoKICAgIGZpZWxkIG5leHRFeHBpcmFibGU6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1
cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQogICAgICAgIHR5cGU6IEBjaGVj
a2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKCiAgICBmaWVs
ZCBwcmV2aW91c0V4cGlyYWJsZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVk
QnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVh
bHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQoKICAgIGZpZWxkIG5leHRFdmljdGFi
bGU6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50
LnRoaXMiKQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1
ZT0iU2VnbWVudC50aGlzIikKCiAgICBmaWVsZCBwcmV2aW91c0V2aWN0YWJsZTogQGphdmF4LmFu
bm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAg
ICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRo
aXMiKQoKY2xhc3MgTWFwTWFrZXJJbnRlcm5hbE1hcCRTb2Z0RXhwaXJhYmxlRW50cnk6CgogICAg
ZmllbGQgbmV4dEV4cGlyYWJsZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVk
QnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVh
bHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQoKICAgIGZpZWxkIHByZXZpb3VzRXhw
aXJhYmxlOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2Vn
bWVudC50aGlzIikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnko
dmFsdWU9IlNlZ21lbnQudGhpcyIpCgpjbGFzcyBNYXBNYWtlckludGVybmFsTWFwJFNvZnRFdmlj
dGFibGVFbnRyeToKCiAgICBmaWVsZCBuZXh0RXZpY3RhYmxlOiBAamF2YXguYW5ub3RhdGlvbi5j
b25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0eXBlOiBA
Y2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCgogICAg
ZmllbGQgcHJldmlvdXNFdmljdGFibGU6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3Vh
cmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5sb2Nr
LnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKCmNsYXNzIE1hcE1ha2VySW50
ZXJuYWxNYXA6CgogICAgbWV0aG9kIG5ld0VudHJ5KExqYXZhL2xhbmcvT2JqZWN0O0lMY29tL2dv
b2dsZS9jb21tb24vY29sbGVjdC9NYXBNYWtlckludGVybmFsTWFwJFJlZmVyZW5jZUVudHJ5OylM
Y29tL2dvb2dsZS9jb21tb24vY29sbGVjdC9NYXBNYWtlckludGVybmFsTWFwJFJlZmVyZW5jZUVu
dHJ5OzogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21l
bnQudGhpcyIpIEBjb20uZ29vZ2xlLmNvbW1vbi5hbm5vdGF0aW9ucy5WaXNpYmxlRm9yVGVzdGlu
ZwogICAgICAgIHJldHVybjogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJT
ZWdtZW50LnRoaXMiKQoKICAgIG1ldGhvZCBjb3B5RW50cnkoTGNvbS9nb29nbGUvY29tbW9uL2Nv
bGxlY3QvTWFwTWFrZXJJbnRlcm5hbE1hcCRSZWZlcmVuY2VFbnRyeTtMY29tL2dvb2dsZS9jb21t
b24vY29sbGVjdC9NYXBNYWtlckludGVybmFsTWFwJFJlZmVyZW5jZUVudHJ5OylMY29tL2dvb2ds
ZS9jb21tb24vY29sbGVjdC9NYXBNYWtlckludGVybmFsTWFwJFJlZmVyZW5jZUVudHJ5OzogQGph
dmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIp
IEBjb20uZ29vZ2xlLmNvbW1vbi5hbm5vdGF0aW9ucy5WaXNpYmxlRm9yVGVzdGluZwogICAgICAg
IHJldHVybjogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRo
aXMiKQoKICAgIG1ldGhvZCBuZXdWYWx1ZVJlZmVyZW5jZShMY29tL2dvb2dsZS9jb21tb24vY29s
bGVjdC9NYXBNYWtlckludGVybmFsTWFwJFJlZmVyZW5jZUVudHJ5O0xqYXZhL2xhbmcvT2JqZWN0
OylMY29tL2dvb2dsZS9jb21tb24vY29sbGVjdC9NYXBNYWtlckludGVybmFsTWFwJFZhbHVlUmVm
ZXJlbmNlOzogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNl
Z21lbnQudGhpcyIpIEBjb20uZ29vZ2xlLmNvbW1vbi5hbm5vdGF0aW9ucy5WaXNpYmxlRm9yVGVz
dGluZwoKY2xhc3MgQ29tcHV0aW5nQ29uY3VycmVudEhhc2hNYXAkQ29tcHV0aW5nVmFsdWVSZWZl
cmVuY2U6CgogICAgZmllbGQgY29tcHV0ZWRSZWZlcmVuY2U6IEBqYXZheC5hbm5vdGF0aW9uLmNv
bmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJ0aGlzIikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMu
bG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9InRoaXMiKQoKY2xhc3MgTWFwTWFrZXJJbnRlcm5h
bE1hcCRXZWFrRXhwaXJhYmxlRW50cnk6CgogICAgZmllbGQgbmV4dEV4cGlyYWJsZTogQGphdmF4
LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAg
ICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50
LnRoaXMiKQoKICAgIGZpZWxkIHByZXZpb3VzRXhwaXJhYmxlOiBAamF2YXguYW5ub3RhdGlvbi5j
b25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0eXBlOiBA
Y2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCgpjbGFz
cyBNYXBNYWtlckludGVybmFsTWFwJFN0cm9uZ0V4cGlyYWJsZUVudHJ5OgoKICAgIGZpZWxkIG5l
eHRFeHBpcmFibGU6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVl
PSJTZWdtZW50LnRoaXMiKQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJk
ZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKCiAgICBmaWVsZCBwcmV2aW91c0V4cGlyYWJsZTog
QGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhp
cyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJT
ZWdtZW50LnRoaXMiKQoKY2xhc3MgTWFwTWFrZXJJbnRlcm5hbE1hcCRXZWFrRXhwaXJhYmxlRXZp
Y3RhYmxlRW50cnk6CgogICAgZmllbGQgbmV4dEV4cGlyYWJsZTogQGphdmF4LmFubm90YXRpb24u
Y29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAgdHlwZTog
QGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQoKICAg
IGZpZWxkIHByZXZpb3VzRXhwaXJhYmxlOiBAamF2YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1
YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKICAgICAgICB0eXBlOiBAY2hlY2tlcnMubG9j
ay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCgogICAgZmllbGQgbmV4dEV2
aWN0YWJsZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNl
Z21lbnQudGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5
KHZhbHVlPSJTZWdtZW50LnRoaXMiKQoKICAgIGZpZWxkIHByZXZpb3VzRXZpY3RhYmxlOiBAamF2
YXguYW5ub3RhdGlvbi5jb25jdXJyZW50Lkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikK
ICAgICAgICB0eXBlOiBAY2hlY2tlcnMubG9jay5xdWFscy5HdWFyZGVkQnkodmFsdWU9IlNlZ21l
bnQudGhpcyIpCgpjbGFzcyBNYXBNYWtlckludGVybmFsTWFwJFN0cm9uZ0V4cGlyYWJsZUV2aWN0
YWJsZUVudHJ5OgoKICAgIGZpZWxkIG5leHRFeHBpcmFibGU6IEBqYXZheC5hbm5vdGF0aW9uLmNv
bmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQogICAgICAgIHR5cGU6IEBj
aGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2YWx1ZT0iU2VnbWVudC50aGlzIikKCiAgICBm
aWVsZCBwcmV2aW91c0V4cGlyYWJsZTogQGphdmF4LmFubm90YXRpb24uY29uY3VycmVudC5HdWFy
ZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAgICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2su
cXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50LnRoaXMiKQoKICAgIGZpZWxkIG5leHRFdmlj
dGFibGU6IEBqYXZheC5hbm5vdGF0aW9uLmNvbmN1cnJlbnQuR3VhcmRlZEJ5KHZhbHVlPSJTZWdt
ZW50LnRoaXMiKQogICAgICAgIHR5cGU6IEBjaGVja2Vycy5sb2NrLnF1YWxzLkd1YXJkZWRCeSh2
YWx1ZT0iU2VnbWVudC50aGlzIikKCiAgICBmaWVsZCBwcmV2aW91c0V2aWN0YWJsZTogQGphdmF4
LmFubm90YXRpb24uY29uY3VycmVudC5HdWFyZGVkQnkodmFsdWU9IlNlZ21lbnQudGhpcyIpCiAg
ICAgICAgdHlwZTogQGNoZWNrZXJzLmxvY2sucXVhbHMuR3VhcmRlZEJ5KHZhbHVlPSJTZWdtZW50
LnRoaXMiKQo=
--089e0139fc3a9e12ef04f717d0a5--
More information about the Mew-int
mailing list