Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pK6Iq-00021w-SQ for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Jan 2023 23:32:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pK6Ip-0008P7-OJ for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Jan 2023 23:32:39 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pK6In-0008Oq-V2 for pgsql-hackers@lists.postgresql.org; Mon, 23 Jan 2023 23:32:39 +0000 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pK6Ii-0007QF-F7 for pgsql-hackers@postgresql.org; Mon, 23 Jan 2023 23:32:36 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 5B52A32007F1; Mon, 23 Jan 2023 18:32:29 -0500 (EST) Received: from imap49 ([10.202.2.99]) by compute6.internal (MEProxy); Mon, 23 Jan 2023 18:32:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm2; t=1674516748; x=1674603148; bh=kDMploYRjb SuEvzfB3iKjXRzHLuC5B0UJCDXf+EYGag=; b=VKBgrqC/XOaH9IYptG+VWyq/Sw xgKmlpsfozc6mevE5rmZHyikDr/oSrkjDZhZTqlQTCOEmNpc+rc93vCesTUBLUeN 6R+hpcTV0VglORGBrtdmGhQgZxrIMPvpqREsXwqh1cq2m0r1hpmOQJjVLIMd1vYr ANT5U9nQZkKyWIXxkF1J0HxDd16wYHM2KvYFU0S2axeklffUYjIVNRKqyLef4FlB 6pN9FTkMy/Go+foL02Xn2bF5S8YGaduYYWTBviMneoACgdQqb5cULUFc7SHCO+bt qCsDT1ofWxbBnsCpc59q5cNt/+RZ0XR57xMMUReZJRhHimG/jYZKqYVFh/eA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1674516748; x=1674603148; bh=kDMploYRjbSuEvzfB3iKjXRzHLuC 5B0UJCDXf+EYGag=; b=BRzIGlC+KHcTZELZPGxxPSB6fmOhPDdAEtxppeCpX3Rf zQZURLNaYm0oDbSWdjykPrvA30seB35zCTRsx8/qjX7Gu0fEHfz2xPHxz5wWIyg+ ogEAwPibUzQnfr2MgzrompnIT9pQUAGhhfFnAQ24Ta+KVVz8tTO5dVTfvmnkRwVl aO+7ssclNYHXmOJ/k6dAGOOodr7PLMS06Ha9ZchMp4i7OSu790UL7FGqbHXTjHcT j8PwAd8Wxi09wAPSnLR8jkSQOVCKKo2cSKGwAOmkYi88c9pRINmDvaHWnm0CFC9e 5BxkMvLKYzXBJrRYKbEwwegL4dmspaBtsXLTMw6sOA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudduledgudduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehmtderreerredtnecuhfhrohhmpedfgfhu lhgvrhcuvfgrvhgvihhrrgdfuceovghulhgvrhesvghulhgvrhhtohdrtghomheqnecugg ftrfgrthhtvghrnhepuefhjeefudeffeeugfehteelvdegkeekueeuudevgfduhfelgffh leeuhedtiefhnecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomhenucevlh hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegvuhhlvghrsegv uhhlvghrthhordgtohhm X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 4ABBC15A008E; Mon, 23 Jan 2023 18:32:28 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-85-gd6d859e0cf-fm-20230116.001-gd6d859e0 Mime-Version: 1.0 Message-Id: In-Reply-To: References: <20230112.120338.534662300633460797.horikyota.ntt@gmail.com> Date: Mon, 23 Jan 2023 20:32:08 -0300 From: "Euler Taveira" To: "osumi.takamichi@fujitsu.com" , "Peter Smith" Cc: "vignesh C" , "Kyotaro Horiguchi" , "kuroda.hayato@fujitsu.com" , "shveta.malik@gmail.com" , "Dilip Kumar" , "Amit Kapila" , "Melih Mutlu" , "Andres Freund" , "Marcos Pegoraro" , pgsql-hackers Subject: Re: Time delayed LR (WAS Re: logical replication restrictions) Content-Type: multipart/mixed; boundary=7ddded7ab1174060b4b81b781642b1b5 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --7ddded7ab1174060b4b81b781642b1b5 Content-Type: multipart/alternative; boundary=95e384a00088498e8cd498981081818a --95e384a00088498e8cd498981081818a Content-Type: text/plain On Sun, Jan 22, 2023, at 9:42 AM, Takamichi Osumi (Fujitsu) wrote: > On Saturday, January 21, 2023 3:36 AM I wrote: > > Kindly have a look at the patch v18. > I've conducted some refactoring for v18. > Now the latest patch should be tidier and > the comments would be clearer and more aligned as a whole. > > Attached the updated patch v19. [I haven't been following this thread for a long time...] Good to know that you keep improving this patch. I have a few suggestions that were easier to provide a patch on top of your latest patch than to provide an inline suggestions. There are a few documentation polishing. Let me comment some of them above. - The length of time (ms) to delay the application of changes. + Total time spent delaying the application of changes, in milliseconds I don't remember if I suggested this description for catalog but IMO the suggestion reads better for me. - For time-delayed logical replication (i.e. when the subscription is - created with parameter min_apply_delay > 0), the apply worker sends a - Standby Status Update message to the publisher with a period of - wal_receiver_status_interval. Make sure to set - wal_receiver_status_interval less than the - wal_sender_timeout on the publisher, otherwise, the - walsender will repeatedly terminate due to the timeout errors. If - wal_receiver_status_interval is set to zero, the apply - worker doesn't send any feedback messages during the subscriber's - min_apply_delay period. See - for details. + For time-delayed logical replication, the apply worker sends a feedback + message to the publisher every + wal_receiver_status_interval milliseconds. Make sure + to set wal_receiver_status_interval less than the + wal_sender_timeout on the publisher, otherwise, the + walsender will repeatedly terminate due to timeout + error. If wal_receiver_status_interval is set to + zero, the apply worker doesn't send any feedback messages during the + min_apply_delay interval. I removed the parenthesis explanation about time-delayed logical replication. If you are reading the documentation and does not know what it means you should (a) read the logical replication chapter or (b) check the glossary (maybe a new entry should be added). I also removed the Standby status Update message but it is a low level detail; let's refer to it as feedback message as the other sentences do. I changed "literal" to "varname" that's the correct tag for parameters. I replace "period" with "interval" that was the previous terminology. IMO we should be uniform, use one or the other. - The subscriber replication can be instructed to lag behind the publisher - side changes by specifying the min_apply_delay - subscription parameter. See for - details. + A logical replication subscription can delay the application of changes by + specifying the min_apply_delay subscription parameter. + See for details. This feature refers to a specific subscription, hence, "logical replication subscription" instead of "subscriber replication". + if (IsSet(opts->specified_opts, SUBOPT_MIN_APPLY_DELAY)) + errorConflictingDefElem(defel, pstate); + Peter S referred to this missing piece of code too. -int +static int defGetMinApplyDelay(DefElem *def) { It seems you forgot static keyword. - elog(DEBUG2, "time-delayed replication for txid %u, min_apply_delay = %lld ms, Remaining wait time: %ld ms", - xid, (long long) MySubscription->minapplydelay, diffms); + elog(DEBUG2, "time-delayed replication for txid %u, min_apply_delay = " INT64_FORMAT " ms, remaining wait time: %ld ms", + xid, MySubscription->minapplydelay, diffms); int64 should use format modifier INT64_FORMAT. - (long) wal_receiver_status_interval * 1000, + wal_receiver_status_interval * 1000L, Cast is not required. I added a suffix to the constant. - elog(DEBUG2, "sending feedback (force %d) to recv %X/%X, write %X/%X, flush %X/%X in-delayed: %d", + elog(DEBUG2, "sending feedback (force %d) to recv %X/%X, write %X/%X, flush %X/%X, apply delay: %s", force, LSN_FORMAT_ARGS(recvpos), LSN_FORMAT_ARGS(writepos), LSN_FORMAT_ARGS(flushpos), - in_delayed_apply); + in_delayed_apply? "yes" : "no"); It is better to use a string to represent the yes/no option. - gettext_noop("Min apply delay (ms)")); + gettext_noop("Min apply delay")); I don't know if it was discussed but we don't add units to headers. When I think about this parameter representation (internal and external), I decided to use the previous code because it provides a unit for external representation. I understand that using the same representation as recovery_min_apply_delay is good but the current code does not handle the external representation accordingly. (recovery_min_apply_delay uses the GUC machinery to adds the unit but for min_apply_delay, it doesn't). # Setup for streaming case -$node_publisher->append_conf('postgres.conf', +$node_publisher->append_conf('postgresql.conf', 'logical_decoding_mode = immediate'); $node_publisher->reload; Fix configuration file name. Maybe tests should do a better job. I think check_apply_delay_time is fragile because it does not guarantee that time is not shifted. Time-delayed replication is a subscriber feature and to check its correctness it should check the logs. # Note that we cannot call check_apply_delay_log() here because there is a # possibility that the delay is skipped. The event happens when the WAL # replication between publisher and subscriber is delayed due to a mechanical # problem. The log output will be checked later - substantial delay-time case. If you might not use the logs for it, it should adjust the min_apply_delay, no? It does not exercise the min_apply_delay vs parallel streaming mode. + /* + * The combination of parallel streaming mode and + * min_apply_delay is not allowed. + */ + if (opts.streaming == LOGICALREP_STREAM_PARALLEL) + if ((IsSet(opts.specified_opts, SUBOPT_MIN_APPLY_DELAY) && opts.min_apply_delay > 0) || + (!IsSet(opts.specified_opts, SUBOPT_MIN_APPLY_DELAY) && sub->minapplydelay > 0)) + ereport(ERROR, + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot enable %s mode for subscription with %s", + "streaming = parallel", "min_apply_delay")); + Is this code correct? I also didn't like this message. "cannot enable streaming = parallel mode for subscription with min_apply_delay" is far from a good error message. How about refer parallelism to "parallel streaming mode". -- Euler Taveira EDB https://www.enterprisedb.com/ --95e384a00088498e8cd498981081818a Content-Type: text/html Content-Transfer-Encoding: quoted-printable
On Sun, Jan 22,= 2023, at 9:42 AM, Takamichi Osumi (Fujitsu) wrote:
On Saturday, January 21, 2023 3= :36 AM I wrote:
> Kindly have a look at the patch v18.<= br>
I've conducted some refactoring for v18.
Now= the latest patch should be tidier and
the comments would = be clearer and more aligned as a whole.

Att= ached the updated patch v19.
[I haven't been = following this thread for a long time...]

G= ood to know that you keep improving this patch. I have a few suggestions= that
were easier to provide a patch on top of your latest= patch than to provide an
inline suggestions.

There are a few documentation polishing. Let me comment= some of them above.

-   &nb= sp;   The length of time (ms) to delay the application of chan= ges.
+       Total time spen= t delaying the application of changes, in milliseconds
I don't remember if I suggested this description for catalog= but IMO the
suggestion reads better for me.

-       For time-delayed l= ogical replication (i.e. when the subscription is
- &= nbsp;     created with parameter min_apply_delay >= ; 0), the apply worker sends a
-    &n= bsp;  Standby Status Update message to the publisher with a period = of
-       <literal>wa= l_receiver_status_interval</literal>. Make sure to set
-       <literal>wal_receiver_sta= tus_interval</literal> less than the
-  &n= bsp;    <literal>wal_sender_timeout</literal>= on the publisher, otherwise, the
-    = ;   walsender will repeatedly terminate due to the timeout err= ors. If
-       <literal&= gt;wal_receiver_status_interval</literal> is set to zero, the appl= y
-       worker doesn't sen= d any feedback messages during the subscriber's
- &nb= sp;     <literal>min_apply_delay</literal&g= t; period. See
-       <x= ref linkend=3D"sql-createsubscription"/> for details.
+=        For time-delayed logical replicatio= n, the apply worker sends a feedback
+   &n= bsp;   message to the publisher every
+ &nb= sp;     <varname>wal_receiver_status_interval&= lt;/varname> milliseconds. Make sure
+   = ;    to set <varname>wal_receiver_status_interval&l= t;/varname> less than the
+    &nbs= p;  <varname>wal_sender_timeout</varname> on the publis= her, otherwise, the
+       = <literal>walsender</literal> will repeatedly terminate due t= o timeout
+       error. If = <varname>wal_receiver_status_interval</varname> is set to
+       zero, the apply worker= doesn't send any feedback messages during the
+ &nbs= p;     <literal>min_apply_delay</literal>= ; interval.

I removed the parenthesis expla= nation about time-delayed logical replication.
If you are = reading the documentation and does not know what it means you should
=
(a) read the logical replication chapter or (b) check the glo= ssary (maybe a new
entry should be added). I also removed = the Standby status Update message but it
is a low level de= tail; let's refer to it as feedback message as the other
s= entences do. I changed "literal" to "varname" that's the correct tag for=
parameters. I replace "period" with "interval" that was t= he previous
terminology. IMO we should be uniform, use one= or the other.

-   The subscriber= replication can be instructed to lag behind the publisher
-   side changes by specifying the <literal>min_apply_d= elay</literal>
-   subscription parameter.= See <xref linkend=3D"sql-createsubscription"/> for
= -   details.
+   A logical replication= subscription can delay the application of changes by
+&nb= sp;  specifying the <literal>min_apply_delay</literal> = subscription parameter.
+   See <xref linkend= =3D"sql-createsubscription"/> for details.

This feature refers to a specific subscription, hence, "logical repli= cation
subscription" instead of "subscriber replication".<= br>

+       =     if (IsSet(opts->specified_opts, SUBOPT_MIN_APPLY_D= ELAY))
+        &n= bsp;      errorConflictingDefElem(defel, pstate= );
+

Peter S referred to this= missing piece of code too.

-int
<= div>+static int
defGetMinApplyDelay(DefElem *def)
{

It seems you forgot static keyword.=

-       elog= (DEBUG2, "time-delayed replication for txid %u, min_apply_delay =3D %lld= ms, Remaining wait time: %ld ms",
-   &nbs= p;        xid, (long long) MySubscrip= tion->minapplydelay, diffms);
+    =    elog(DEBUG2, "time-delayed replication for txid %u, min_app= ly_delay =3D " INT64_FORMAT " ms, remaining wait time: %ld ms",
+           = ; xid, MySubscription->minapplydelay, diffms);


int64 should use format modifier INT64_FORMAT.
=

-       &nb= sp;           &nb= sp; (long) wal_receiver_status_interval * 1000,
+ &nb= sp;           &nb= sp;       wal_receiver_status_interval * 1= 000L,

Cast is not required. I added a suffi= x to the constant.

-   elog(DEBUG= 2, "sending feedback (force %d) to recv %X/%X, write %X/%X, flush %X/%X = in-delayed: %d",
+   elog(DEBUG2, "sending feedb= ack (force %d) to recv %X/%X, write %X/%X, flush %X/%X, apply delay: %s"= ,
         force,<= br>
         LSN_FORMA= T_ARGS(recvpos),
       = ;  LSN_FORMAT_ARGS(writepos),
    = ;     LSN_FORMAT_ARGS(flushpos),
-&nbs= p;       in_delayed_apply);
= +        in_delayed_apply? "yes" : "n= o");

It is better to use a string to repres= ent the yes/no option.

-   &= nbsp;           &= nbsp;           &= nbsp; gettext_noop("Min apply delay (ms)"));
+  =             =             =    gettext_noop("Min apply delay"));

<= div>I don't know if it was discussed but we don't add units to headers. = When I
think about this parameter representation (internal= and external), I decided to
use the previous code because= it provides a unit for external representation. I
underst= and that using the same representation as recovery_min_apply_delay is
good but the current code does not handle the external repre= sentation
accordingly. (recovery_min_apply_delay uses the = GUC machinery to adds the unit
but for min_apply_delay, it= doesn't).

# Setup for streaming case
-$node_publisher->append_conf('postgres.conf',
+$node_publisher->append_conf('postgresql.conf',
 = ;   'logical_decoding_mode =3D immediate');
$nod= e_publisher->reload;

Fix configuration f= ile name.

Maybe tests should do a better jo= b. I think check_apply_delay_time is fragile
because it do= es not guarantee that time is not shifted. Time-delayed
re= plication is a subscriber feature and to check its correctness it should=
check the logs.

# Note that = we cannot call check_apply_delay_log() here because there is a
=
# possibility that the delay is skipped. The event happens when the= WAL
# replication between publisher and subscriber is del= ayed due to a mechanical
# problem. The log output will be= checked later - substantial delay-time case.

If you might not use the logs for it, it should adjust the min_apply_= delay, no?

It does not exercise the min_app= ly_delay vs parallel streaming mode.

+ = ;            = ;      /*
+   &nbs= p;           &nbs= p;    * The combination of parallel streaming mode and
+          = ;          * min_apply_dela= y is not allowed.
+      &nb= sp;           &nb= sp; */
+        &n= bsp;          if (opts.stre= aming =3D=3D LOGICALREP_STREAM_PARALLEL)
+  &nbs= p;           &nbs= p;        if ((IsSet(opts.specified_o= pts, SUBOPT_MIN_APPLY_DELAY) && opts.min_apply_delay > 0) ||<= br>
+         &nb= sp;           &nb= sp;     (!IsSet(opts.specified_opts, SUBOPT_MIN_APPL= Y_DELAY) && sub->minapplydelay > 0))
+ =             =             =   ereport(ERROR,
+      = ;            = ;            = ;     errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STA= TE),
+        &nbs= p;           &nbs= p;           &nbs= p;  errmsg("cannot enable %s mode for subscription with %s",
+          &nb= sp;           &nb= sp;           &nb= sp;       "streaming =3D parallel", "min_a= pply_delay"));
+

Is this code= correct? I also didn't like this message. "cannot enable streaming
<= /div>
=3D parallel mode for subscription with min_apply_delay" is fa= r from a good error
message. How about refer parallelism t= o "parallel streaming mode".


--
Euler Taveira

--95e384a00088498e8cd498981081818a-- --7ddded7ab1174060b4b81b781642b1b5 Content-Disposition: attachment; filename="review-1.patch" Content-Type: text/x-patch; name="review-1.patch" Content-Transfer-Encoding: BASE64 RnJvbSA1MDI0MzI1Mjg0ZWUzYjRhNGRjMGE2YTFjYzY0NTdlZDU2MDhjYjQ2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlci50YXZlaXJhQGVu dGVycHJpc2VkYi5jb20+CkRhdGU6IE1vbiwgMjMgSmFuIDIwMjMgMTU6NTI6NTUgLTAzMDAK U3ViamVjdDogW1BBVENIXSBFdWxlcidzIHJldmlldwoKLS0tCiBkb2Mvc3JjL3NnbWwvY2F0 YWxvZ3Muc2dtbCAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGRvYy9zcmMvc2dtbC9jb25m aWcuc2dtbCAgICAgICAgICAgICAgICAgICB8ICAyMCArKy0KIGRvYy9zcmMvc2dtbC9sb2dp Y2FsLXJlcGxpY2F0aW9uLnNnbWwgICAgICB8ICAgNyArLQogZG9jL3NyYy9zZ21sL3JlZi9j cmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwgIHwgIDEzICstCiBzcmMvYmFja2VuZC9jb21tYW5k cy9zdWJzY3JpcHRpb25jbWRzLmMgICAgfCAgMTMgKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvd29ya2VyLmMgICB8ICA0MCArKystLS0KIHNyYy9iaW4vcHNxbC9kZXNj cmliZS5jICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0IHwgMTYwICsrKysrKysrKystLS0tLS0tLS0tLQog c3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMyX2FwcGx5X2RlbGF5LnBsIHwgICA4ICstCiA5 IGZpbGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspLCAxMzIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgYi9kb2Mvc3JjL3NnbWwv Y2F0YWxvZ3Muc2dtbAppbmRleCBiZjNjMDUyNDFjLi4wYmRiNjgzMjk2IDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY2F0YWxv Z3Muc2dtbApAQCAtNzg3OCw3ICs3ODc4LDcgQEAgU0NSQU0tU0hBLTI1NiQ8cmVwbGFjZWFi bGU+Jmx0O2l0ZXJhdGlvbiBjb3VudCZndDs8L3JlcGxhY2VhYmxlPjo8cmVwbGFjZWFibGU+ JmwKICAgICAgICA8c3RydWN0ZmllbGQ+c3VibWluYXBwbHlkZWxheTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KLSAgICAg ICBUaGUgbGVuZ3RoIG9mIHRpbWUgKG1zKSB0byBkZWxheSB0aGUgYXBwbGljYXRpb24gb2Yg Y2hhbmdlcy4KKyAgICAgICBUb3RhbCB0aW1lIHNwZW50IGRlbGF5aW5nIHRoZSBhcHBsaWNh dGlvbiBvZiBjaGFuZ2VzLCBpbiBtaWxsaXNlY29uZHMKICAgICAgIDwvcGFyYT48L2VudHJ5 PgogICAgICA8L3Jvdz4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21s IGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCmluZGV4IDM5MjQ0YmY2NGEuLmExNTcyM2Q3 NGYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAorKysgYi9kb2Mvc3Jj L3NnbWwvY29uZmlnLnNnbWwKQEAgLTQ3ODgsMTcgKzQ3ODgsMTUgQEAgQU5ZIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1fc3luYzwvcmVwbGFjZWFibGU+ICggPHJlcGxh Y2VhYmxlIGNsYXNzPSIKICAgICAgICBjb21tYW5kIGxpbmUuCiAgICAgICA8L3BhcmE+CiAg ICAgICA8cGFyYT4KLSAgICAgICBGb3IgdGltZS1kZWxheWVkIGxvZ2ljYWwgcmVwbGljYXRp b24gKGkuZS4gd2hlbiB0aGUgc3Vic2NyaXB0aW9uIGlzCi0gICAgICAgY3JlYXRlZCB3aXRo IHBhcmFtZXRlciBtaW5fYXBwbHlfZGVsYXkgPiAwKSwgdGhlIGFwcGx5IHdvcmtlciBzZW5k cyBhCi0gICAgICAgU3RhbmRieSBTdGF0dXMgVXBkYXRlIG1lc3NhZ2UgdG8gdGhlIHB1Ymxp c2hlciB3aXRoIGEgcGVyaW9kIG9mCi0gICAgICAgPGxpdGVyYWw+d2FsX3JlY2VpdmVyX3N0 YXR1c19pbnRlcnZhbDwvbGl0ZXJhbD4uIE1ha2Ugc3VyZSB0byBzZXQKLSAgICAgICA8bGl0 ZXJhbD53YWxfcmVjZWl2ZXJfc3RhdHVzX2ludGVydmFsPC9saXRlcmFsPiBsZXNzIHRoYW4g dGhlCi0gICAgICAgPGxpdGVyYWw+d2FsX3NlbmRlcl90aW1lb3V0PC9saXRlcmFsPiBvbiB0 aGUgcHVibGlzaGVyLCBvdGhlcndpc2UsIHRoZQotICAgICAgIHdhbHNlbmRlciB3aWxsIHJl cGVhdGVkbHkgdGVybWluYXRlIGR1ZSB0byB0aGUgdGltZW91dCBlcnJvcnMuIElmCi0gICAg ICAgPGxpdGVyYWw+d2FsX3JlY2VpdmVyX3N0YXR1c19pbnRlcnZhbDwvbGl0ZXJhbD4gaXMg c2V0IHRvIHplcm8sIHRoZSBhcHBseQotICAgICAgIHdvcmtlciBkb2Vzbid0IHNlbmQgYW55 IGZlZWRiYWNrIG1lc3NhZ2VzIGR1cmluZyB0aGUgc3Vic2NyaWJlcidzCi0gICAgICAgPGxp dGVyYWw+bWluX2FwcGx5X2RlbGF5PC9saXRlcmFsPiBwZXJpb2QuIFNlZQotICAgICAgIDx4 cmVmIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24iLz4gZm9yIGRldGFpbHMuCisg ICAgICAgRm9yIHRpbWUtZGVsYXllZCBsb2dpY2FsIHJlcGxpY2F0aW9uLCB0aGUgYXBwbHkg d29ya2VyIHNlbmRzIGEgZmVlZGJhY2sKKyAgICAgICBtZXNzYWdlIHRvIHRoZSBwdWJsaXNo ZXIgZXZlcnkKKyAgICAgICA8dmFybmFtZT53YWxfcmVjZWl2ZXJfc3RhdHVzX2ludGVydmFs PC92YXJuYW1lPiBtaWxsaXNlY29uZHMuIE1ha2Ugc3VyZQorICAgICAgIHRvIHNldCA8dmFy bmFtZT53YWxfcmVjZWl2ZXJfc3RhdHVzX2ludGVydmFsPC92YXJuYW1lPiBsZXNzIHRoYW4g dGhlCisgICAgICAgPHZhcm5hbWU+d2FsX3NlbmRlcl90aW1lb3V0PC92YXJuYW1lPiBvbiB0 aGUgcHVibGlzaGVyLCBvdGhlcndpc2UsIHRoZQorICAgICAgIDxsaXRlcmFsPndhbHNlbmRl cjwvbGl0ZXJhbD4gd2lsbCByZXBlYXRlZGx5IHRlcm1pbmF0ZSBkdWUgdG8gdGltZW91dAor ICAgICAgIGVycm9yLiBJZiA8dmFybmFtZT53YWxfcmVjZWl2ZXJfc3RhdHVzX2ludGVydmFs PC92YXJuYW1lPiBpcyBzZXQgdG8KKyAgICAgICB6ZXJvLCB0aGUgYXBwbHkgd29ya2VyIGRv ZXNuJ3Qgc2VuZCBhbnkgZmVlZGJhY2sgbWVzc2FnZXMgZHVyaW5nIHRoZQorICAgICAgIDxs aXRlcmFsPm1pbl9hcHBseV9kZWxheTwvbGl0ZXJhbD4gaW50ZXJ2YWwuCiAgICAgICA8L3Bh cmE+CiAgICAgICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3Nn bWwvbG9naWNhbC1yZXBsaWNhdGlvbi5zZ21sCmluZGV4IDg2M2FmMTFhNDcuLmQ4YWU5M2Y4 OGQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwK KysrIGIvZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbApAQCAtMjQ4LDEw ICsyNDgsOSBAQAogICA8L3BhcmE+CiAKICAgPHBhcmE+Ci0gICBUaGUgc3Vic2NyaWJlciBy ZXBsaWNhdGlvbiBjYW4gYmUgaW5zdHJ1Y3RlZCB0byBsYWcgYmVoaW5kIHRoZSBwdWJsaXNo ZXIKLSAgIHNpZGUgY2hhbmdlcyBieSBzcGVjaWZ5aW5nIHRoZSA8bGl0ZXJhbD5taW5fYXBw bHlfZGVsYXk8L2xpdGVyYWw+Ci0gICBzdWJzY3JpcHRpb24gcGFyYW1ldGVyLiBTZWUgPHhy ZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbiIvPiBmb3IKLSAgIGRldGFpbHMu CisgICBBIGxvZ2ljYWwgcmVwbGljYXRpb24gc3Vic2NyaXB0aW9uIGNhbiBkZWxheSB0aGUg YXBwbGljYXRpb24gb2YgY2hhbmdlcyBieQorICAgc3BlY2lmeWluZyB0aGUgPGxpdGVyYWw+ bWluX2FwcGx5X2RlbGF5PC9saXRlcmFsPiBzdWJzY3JpcHRpb24gcGFyYW1ldGVyLgorICAg U2VlIDx4cmVmIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24iLz4gZm9yIGRldGFp bHMuCiAgIDwvcGFyYT4KIAogICA8c2VjdDIgaWQ9ImxvZ2ljYWwtcmVwbGljYXRpb24tc3Vi c2NyaXB0aW9uLXNsb3QiPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVf c3Vic2NyaXB0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRp b24uc2dtbAppbmRleCA3NmVlOWMwYjNkLi45N2NhOWY4ZDllIDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbApAQCAtMzc4LDEwICszNzgsMTEgQEAg Q1JFQVRFIFNVQlNDUklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3Vi c2NyaXB0aW9uX25hbWU8L3JlcGxhY2VhYmwKICAgICAgICAgIDwvcGFyYT4KICAgICAgICAg IDx3YXJuaW5nPgogICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgIERlbGF5aW5nIHRo ZSByZXBsaWNhdGlvbiBjYW4gbWVhbiB0aGVyZSBpcyBhIG11Y2ggbG9uZ2VyIHRpbWUgYmV0 d2VlbiBtYWtpbmcKLSAgICAgICAgICAgIGEgY2hhbmdlIG9uIHRoZSBwdWJsaXNoZXIsIGFu ZCB0aGF0IGNoYW5nZSBiZWluZyBjb21taXR0ZWQgb24gdGhlIHN1YnNjcmliZXIuCi0gICAg ICAgICAgICBUaGlzIGNhbiBpbXBhY3QgdGhlIHBlcmZvcm1hbmNlIG9mIHN5bmNocm9ub3Vz IHJlcGxpY2F0aW9uLgotICAgICAgICAgICAgU2VlIDx4cmVmIGxpbmtlbmQ9Imd1Yy1zeW5j aHJvbm91cy1jb21taXQiLz4uCisgICAgICAgICAgICBEZWxheWluZyB0aGUgcmVwbGljYXRp b24gY2FuIG1lYW4gdGhlcmUgaXMgYSBtdWNoIGxvbmdlciB0aW1lCisgICAgICAgICAgICBi ZXR3ZWVuIG1ha2luZyBhIGNoYW5nZSBvbiB0aGUgcHVibGlzaGVyLCBhbmQgdGhhdCBjaGFu Z2UgYmVpbmcKKyAgICAgICAgICAgIGNvbW1pdHRlZCBvbiB0aGUgc3Vic2NyaWJlci4gVGhp cyBjYW4gaW1wYWN0IHRoZSBwZXJmb3JtYW5jZSBvZgorICAgICAgICAgICAgc3luY2hyb25v dXMgcmVwbGljYXRpb24uIFNlZSA8eHJlZiBsaW5rZW5kPSJndWMtc3luY2hyb25vdXMtY29t bWl0Ii8+CisgICAgICAgICAgICBwYXJhbWV0ZXIuCiAgICAgICAgICAgIDwvcGFyYT4KICAg ICAgICAgIDwvd2FybmluZz4KICAgICAgICAgPC9saXN0aXRlbT4KQEAgLTQ1Miw4ICs0NTMs OCBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5zdWJzY3JpcHRpb25fbmFtZTwvcmVwbGFjZWFibAogICA8L3BhcmE+CiAKICAgPHBhcmE+ Ci0gICBBIG5vbi16ZXJvIDxsaXRlcmFsPm1pbl9hcHBseV9kZWxheTwvbGl0ZXJhbD4gcGFy YW1ldGVyIGlzIG5vdCBhbGxvd2VkIHdoZW4gc3RyZWFtaW5nCi0gICBpbiBwYXJhbGxlbCBt b2RlLgorICAgQSBub24temVybyA8bGl0ZXJhbD5taW5fYXBwbHlfZGVsYXk8L2xpdGVyYWw+ IHBhcmFtZXRlciBpcyBub3QgYWxsb3dlZCB3aGVuCisgICBzdHJlYW1pbmcgaW4gcGFyYWxs ZWwgbW9kZS4KICAgPC9wYXJhPgogCiAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv c3Vic2NyaXB0aW9uY21kcy5jCmluZGV4IDExZTllOTE2MGEuLmQ1ZmE3YTk1YTkgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYworKysgYi9z cmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKQEAgLTMzMSw2ICszMzEs OSBAQCBwYXJzZV9zdWJzY3JpcHRpb25fb3B0aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUsIExp c3QgKnN0bXRfb3B0aW9ucywKIAkJZWxzZSBpZiAoSXNTZXQoc3VwcG9ydGVkX29wdHMsIFNV Qk9QVF9NSU5fQVBQTFlfREVMQVkpICYmCiAJCQkJIHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwg Im1pbl9hcHBseV9kZWxheSIpID09IDApCiAJCXsKKwkJCWlmIChJc1NldChvcHRzLT5zcGVj aWZpZWRfb3B0cywgU1VCT1BUX01JTl9BUFBMWV9ERUxBWSkpCisJCQkJZXJyb3JDb25mbGlj dGluZ0RlZkVsZW0oZGVmZWwsIHBzdGF0ZSk7CisKIAkJCW9wdHMtPnNwZWNpZmllZF9vcHRz IHw9IFNVQk9QVF9NSU5fQVBQTFlfREVMQVk7CiAJCQlvcHRzLT5taW5fYXBwbHlfZGVsYXkg PSBkZWZHZXRNaW5BcHBseURlbGF5KGRlZmVsKTsKIAkJfQpAQCAtMjI2MSwxMSArMjI2NCwx MSBAQCBkZWZHZXRTdHJlYW1pbmdNb2RlKERlZkVsZW0gKmRlZikKIAogCiAvKgotICogRXh0 cmFjdCB0aGUgbWluX2FwcGx5X2RlbGF5IG1vZGUgdmFsdWUgZnJvbSBhIERlZkVsZW0uIFRo aXMgaXMgdmVyeSBzaW1pbGFyCi0gKiB0byBQR0NfSU5UIGNhc2Ugb2YgcGFyc2VfYW5kX3Zh bGlkYXRlX3ZhbHVlKCksIGJlY2F1c2UgbWluX2FwcGx5X2RlbGF5CisgKiBFeHRyYWN0IHRo ZSBtaW5fYXBwbHlfZGVsYXkgdmFsdWUgZnJvbSBhIERlZkVsZW0uIFRoaXMgaXMgdmVyeSBz aW1pbGFyIHRvCisgKiBwYXJzZV9hbmRfdmFsaWRhdGVfdmFsdWUoKSBmb3IgaW50ZWdlciB2 YWx1ZXMsIGJlY2F1c2UgbWluX2FwcGx5X2RlbGF5CiAgKiBhY2NlcHRzIHRoZSBzYW1lIHN0 cmluZyBhcyByZWNvdmVyeV9taW5fYXBwbHlfZGVsYXkuCiAgKi8KLWludAorc3RhdGljIGlu dAogZGVmR2V0TWluQXBwbHlEZWxheShEZWZFbGVtICpkZWYpCiB7CiAJY2hhcgkgICAqdmFs dWU7CkBAIC0yMjk0LDggKzIyOTcsOCBAQCBkZWZHZXRNaW5BcHBseURlbGF5KERlZkVsZW0g KmRlZikKIAkJCQkgaGludG1zZyA/IGVycmhpbnQoIiVzIiwgXyhoaW50bXNnKSkgOiAwKSk7 CiAKIAkvKgotCSAqIENoZWNrIGxvd2VyIGJvdW5kLiBwYXJzZV9pbnQoKSBoYXMgYmVlbiBh bHJlYWR5IGNvbmZpcm1lZCB0aGF0IHJlc3VsdAotCSAqIGlzIGVxdWFsIHRvIG9yIHNtYWxs ZXIgdGhhbiBJTlRfTUFYLgorCSAqIENoZWNrIGxvd2VyIGJvdW5kLiBwYXJzZV9pbnQoKSBo YXMgYWxyZWFkeSBiZWVuIGNvbmZpcm1lZCB0aGF0IHJlc3VsdAorCSAqIGlzIGxlc3MgdGhh biBvciBlcXVhbCB0byBJTlRfTUFYLgogCSAqLwogCWlmIChyZXN1bHQgPCAwKQogCQllcmVw b3J0KEVSUk9SLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC93b3JrZXIuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMK aW5kZXggZWVhYzY5ZWExMy4uMDBmZTI5ZmMyMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0zMjAsMTEgKzMyMCwxMSBAQCBib29sCQlpbl9y ZW1vdGVfdHJhbnNhY3Rpb24gPSBmYWxzZTsKIHN0YXRpYyBYTG9nUmVjUHRyIHJlbW90ZV9m aW5hbF9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKIAogLyoKLSAqIEluIG9yZGVyIHRvIGF2 b2lkIHdhbHNlbmRlciB0aW1lb3V0IGZvciB0aW1lLWRlbGF5ZWQgcmVwbGljYXRpb24gdGhl IHdvcmtlcgotICogcHJvY2VzcyBrZWVwcyBzZW5kaW5nIGZlZWRiYWNrIG1lc3NhZ2VzIGR1 cmluZyB0aGUgZGVsYXkgcGVyaW9kLgotICogTWVhbndoaWxlLCB0aGUgZmVhdHVyZSBkZWxh eXMgdGhlIGFwcGx5IGJlZm9yZSBzdGFydGluZyB0aGUKLSAqIHRyYW5zYWN0aW9uIGFuZCB0 aHVzIHdlIGRvbid0IHdyaXRlIFdBTHMgZm9yIHRoZSBzdXNwZW5kZWQgY2hhbmdlcyBkdXJp bmcKLSAqIHRoZSB3YWl0LiBXaGVuIHRoZSB3b3JrZXIgcHJvY2VzcyBzZW5kcyBhIGZlZWRi YWNrIG1lc3NhZ2UKKyAqIEluIG9yZGVyIHRvIGF2b2lkIHdhbHNlbmRlciB0aW1lb3V0IGZv ciB0aW1lLWRlbGF5ZWQgbG9naWNhbCByZXBsaWNhdGlvbiB0aGUKKyAqIGFwcGx5IHdvcmtl ciBrZWVwcyBzZW5kaW5nIGZlZWRiYWNrIG1lc3NhZ2VzIGR1cmluZyB0aGUgZGVsYXkgaW50 ZXJ2YWwuCisgKiBNZWFud2hpbGUsIHRoZSBmZWF0dXJlIGRlbGF5cyB0aGUgYXBwbHkgYmVm b3JlIHRoZSBzdGFydCBvZiB0aGUKKyAqIHRyYW5zYWN0aW9uIGFuZCB0aHVzIHdlIGRvbid0 IHdyaXRlIFdBTCByZWNvcmRzIGZvciB0aGUgc3VzcGVuZGVkIGNoYW5nZXMgZHVyaW5nCisg KiB0aGUgd2FpdC4gV2hlbiB0aGUgYXBwbHkgd29ya2VyIHNlbmRzIGEgZmVlZGJhY2sgbWVz c2FnZQogICogZHVyaW5nIHRoZSBkZWxheSwgd2Ugc2hvdWxkIG5vdCBtYWtlIHBvc2l0aW9u cyBvZiB0aGUgZmx1c2hlZCBhbmQgYXBwbHkgTFNOCiAgKiBvdmVyd3JpdHRlbiBieSB0aGUg bGFzdCByZWNlaXZlZCBsYXRlc3QgTFNOLiBTZWUgc2VuZF9mZWVkYmFjaygpIGZvciBkZXRh aWxzLgogICovCkBAIC0xMDkwLDIwICsxMDkwLDIwIEBAIG1heWJlX2RlbGF5X2FwcGx5KFRy YW5zYWN0aW9uSWQgeGlkLCBUaW1lc3RhbXBUeiBmaW5pc2hfdHMpCiAJCWlmIChkaWZmbXMg PD0gMCkKIAkJCWJyZWFrOwogCi0JCWVsb2coREVCVUcyLCAidGltZS1kZWxheWVkIHJlcGxp Y2F0aW9uIGZvciB0eGlkICV1LCBtaW5fYXBwbHlfZGVsYXkgPSAlbGxkIG1zLCBSZW1haW5p bmcgd2FpdCB0aW1lOiAlbGQgbXMiLAotCQkJIHhpZCwgKGxvbmcgbG9uZykgTXlTdWJzY3Jp cHRpb24tPm1pbmFwcGx5ZGVsYXksIGRpZmZtcyk7CisJCWVsb2coREVCVUcyLCAidGltZS1k ZWxheWVkIHJlcGxpY2F0aW9uIGZvciB0eGlkICV1LCBtaW5fYXBwbHlfZGVsYXkgPSAiIElO VDY0X0ZPUk1BVCAiIG1zLCByZW1haW5pbmcgd2FpdCB0aW1lOiAlbGQgbXMiLAorCQkJIHhp ZCwgTXlTdWJzY3JpcHRpb24tPm1pbmFwcGx5ZGVsYXksIGRpZmZtcyk7CiAKIAkJLyoKIAkJ ICogQ2FsbCBzZW5kX2ZlZWRiYWNrKCkgdG8gcHJldmVudCB0aGUgcHVibGlzaGVyIGZyb20g ZXhpdGluZyBieQogCQkgKiB0aW1lb3V0IGR1cmluZyB0aGUgZGVsYXksIHdoZW4gd2FsX3Jl Y2VpdmVyX3N0YXR1c19pbnRlcnZhbCBpcwogCQkgKiBhdmFpbGFibGUuCiAJCSAqLwotCQlp ZiAod2FsX3JlY2VpdmVyX3N0YXR1c19pbnRlcnZhbCA+IDAKLQkJCSYmIGRpZmZtcyA+IHdh bF9yZWNlaXZlcl9zdGF0dXNfaW50ZXJ2YWwgKiAxMDAwKQorCQlpZiAod2FsX3JlY2VpdmVy X3N0YXR1c19pbnRlcnZhbCA+IDAgJiYKKwkJCWRpZmZtcyA+IHdhbF9yZWNlaXZlcl9zdGF0 dXNfaW50ZXJ2YWwgKiAxMDAwTCkKIAkJewogCQkJV2FpdExhdGNoKE15TGF0Y2gsCiAJCQkJ CSAgV0xfTEFUQ0hfU0VUIHwgV0xfVElNRU9VVCB8IFdMX0VYSVRfT05fUE1fREVBVEgsCi0J CQkJCSAgKGxvbmcpIHdhbF9yZWNlaXZlcl9zdGF0dXNfaW50ZXJ2YWwgKiAxMDAwLAorCQkJ CQkgIHdhbF9yZWNlaXZlcl9zdGF0dXNfaW50ZXJ2YWwgKiAxMDAwTCwKIAkJCQkJICBXQUlU X0VWRU5UX1JFQ09WRVJZX0FQUExZX0RFTEFZKTsKIAkJCXNlbmRfZmVlZGJhY2sobGFzdF9y ZWNlaXZlZCwgdHJ1ZSwgZmFsc2UsIHRydWUpOwogCQl9CkBAIC0yMTM1LDggKzIxMzUsOCBA QCBlbnN1cmVfbGFzdF9tZXNzYWdlKEZpbGVTZXQgKnN0cmVhbV9maWxlc2V0LCBUcmFuc2Fj dGlvbklkIHhpZCwgaW50IGZpbGVubywKIC8qCiAgKiBDb21tb24gc3Bvb2xmaWxlIHByb2Nl c3NpbmcuCiAgKgotICogVGhlIGNvbW1pdC9wcmVwYXJlIHRpbWUgZm9yIHN0cmVhbWluZyB0 cmFuc2FjdGlvbiBpcyByZXF1aXJlZCB0byBhY2hpZXZlCi0gKiB0aW1lLWRlbGF5ZWQgcmVw bGljYXRpb24uCisgKiBUaGUgY29tbWl0L3ByZXBhcmUgdGltZSAoZmluaXNoX3RzKSBmb3Ig c3RyZWFtZWQgdHJhbnNhY3Rpb25zIGlzIHJlcXVpcmVkCisgKiBmb3IgdGltZS1kZWxheWVk IGxvZ2ljYWwgcmVwbGljYXRpb24uCiAgKi8KIHZvaWQKIGFwcGx5X3Nwb29sZWRfbWVzc2Fn ZXMoRmlsZVNldCAqc3RyZWFtX2ZpbGVzZXQsIFRyYW5zYWN0aW9uSWQgeGlkLApAQCAtMzg2 OSwxMiArMzg2OSwxMiBAQCBzZW5kX2ZlZWRiYWNrKFhMb2dSZWNQdHIgcmVjdnBvcywgYm9v bCBmb3JjZSwgYm9vbCByZXF1ZXN0UmVwbHksIGJvb2wgaW5fZGVsYXllZAogCSAqIE5vIG91 dHN0YW5kaW5nIHRyYW5zYWN0aW9ucyB0byBmbHVzaCwgd2UgY2FuIHJlcG9ydCB0aGUgbGF0 ZXN0IHJlY2VpdmVkCiAJICogcG9zaXRpb24uIFRoaXMgaXMgaW1wb3J0YW50IGZvciBzeW5j aHJvbm91cyByZXBsaWNhdGlvbi4KIAkgKgotCSAqIElmIHRoZSBzdWJzY3JpYmVyIHNpZGUg YXBwbHkgaXMgZGVsYXllZCAoYmVjYXVzZSBvZiB0aW1lLWRlbGF5ZWQKLQkgKiByZXBsaWNh dGlvbikgdGhlbiBkbyBub3QgdGVsbCB0aGUgcHVibGlzaGVyIHRoYXQgdGhlIHJlY2VpdmVk IGxhdGVzdAotCSAqIExTTiBpcyBhbHJlYWR5IGFwcGxpZWQgYW5kIGZsdXNoZWQsIG90aGVy d2lzZSwgaXQgbGVhZHMgdG8gdGhlCi0JICogcHVibGlzaGVyIHNpZGUgbWFraW5nIGEgd3Jv bmcgYXNzdW1wdGlvbiBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uCi0JICogcHJvZ3Jlc3MuIElu c3RlYWQsIHdlIGp1c3Qgc2VuZCBhIGZlZWRiYWNrIG1lc3NhZ2UgdG8gYXZvaWQgYSBwdWJs aXNoZXIKLQkgKiB0aW1lb3V0IGR1cmluZyB0aGUgZGVsYXkuCisJICogSWYgdGhlIGxvZ2lj YWwgcmVwbGljYXRpb24gc3Vic2NyaXB0aW9uIGlzIGRlbGF5ZWQgKG1pbl9hcHBseV9kZWxh eQorCSAqIHBhcmFtZXRlcikgdGhlbiBkbyBub3QgaW5mb3JtIHRoZSBwdWJsaXNoZXIgdGhh dCB0aGUgcmVjZWl2ZWQgbGF0ZXN0IExTTgorCSAqIGlzIGFscmVhZHkgYXBwbGllZCBhbmQg Zmx1c2hlZCwgb3RoZXJ3aXNlLCB0aGUgcHVibGlzaGVyIHdpbGwgbWFrZSBhCisJICogd3Jv bmcgYXNzdW1wdGlvbiBhYm91dCB0aGUgbG9naWNhbCByZXBsaWNhdGlvbiBwcm9ncmVzcy4g SW5zdGVhZCwgaXQKKwkgKiBqdXN0IHNlbmRzIGEgZmVlZGJhY2sgbWVzc2FnZSB0byBhdm9p ZCBhIHJlcGxpY2F0aW9uIHRpbWVvdXQgZHVyaW5nIHRoZQorCSAqIGRlbGF5LgogCSAqLwog CWlmICghaGF2ZV9wZW5kaW5nX3R4ZXMgJiYgIWluX2RlbGF5ZWRfYXBwbHkpCiAJCWZsdXNo cG9zID0gd3JpdGVwb3MgPSByZWN2cG9zOwpAQCAtMzkxMywxMiArMzkxMywxMiBAQCBzZW5k X2ZlZWRiYWNrKFhMb2dSZWNQdHIgcmVjdnBvcywgYm9vbCBmb3JjZSwgYm9vbCByZXF1ZXN0 UmVwbHksIGJvb2wgaW5fZGVsYXllZAogCXBxX3NlbmRpbnQ2NChyZXBseV9tZXNzYWdlLCBu b3cpOwkvKiBzZW5kVGltZSAqLwogCXBxX3NlbmRieXRlKHJlcGx5X21lc3NhZ2UsIHJlcXVl c3RSZXBseSk7CS8qIHJlcGx5UmVxdWVzdGVkICovCiAKLQllbG9nKERFQlVHMiwgInNlbmRp bmcgZmVlZGJhY2sgKGZvcmNlICVkKSB0byByZWN2ICVYLyVYLCB3cml0ZSAlWC8lWCwgZmx1 c2ggJVgvJVggaW4tZGVsYXllZDogJWQiLAorCWVsb2coREVCVUcyLCAic2VuZGluZyBmZWVk YmFjayAoZm9yY2UgJWQpIHRvIHJlY3YgJVgvJVgsIHdyaXRlICVYLyVYLCBmbHVzaCAlWC8l WCwgYXBwbHkgZGVsYXk6ICVzIiwKIAkJIGZvcmNlLAogCQkgTFNOX0ZPUk1BVF9BUkdTKHJl Y3Zwb3MpLAogCQkgTFNOX0ZPUk1BVF9BUkdTKHdyaXRlcG9zKSwKIAkJIExTTl9GT1JNQVRf QVJHUyhmbHVzaHBvcyksCi0JCSBpbl9kZWxheWVkX2FwcGx5KTsKKwkJIGluX2RlbGF5ZWRf YXBwbHk/ICJ5ZXMiIDogIm5vIik7CiAKIAl3YWxyY3Zfc2VuZChMb2dSZXBXb3JrZXJXYWxS Y3ZDb25uLAogCQkJCXJlcGx5X21lc3NhZ2UtPmRhdGEsIHJlcGx5X21lc3NhZ2UtPmxlbik7 CmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYyBiL3NyYy9iaW4vcHNxbC9k ZXNjcmliZS5jCmluZGV4IDhhMjcwNjNiZWQuLjgxZDQ2MDdhMWMgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcHNxbC9kZXNjcmliZS5jCisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCkBA IC02NTMzLDcgKzY1MzMsNyBAQCBkZXNjcmliZVN1YnNjcmlwdGlvbnMoY29uc3QgY2hhciAq cGF0dGVybiwgYm9vbCB2ZXJib3NlKQogCQkJCQkJCSAgIiwgc3Vib3JpZ2luIEFTIFwiJXNc IlxuIgogCQkJCQkJCSAgIiwgc3VibWluYXBwbHlkZWxheSBBUyBcIiVzXCJcbiIsCiAJCQkJ CQkJICBnZXR0ZXh0X25vb3AoIk9yaWdpbiIpLAotCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJN aW4gYXBwbHkgZGVsYXkgKG1zKSIpKTsKKwkJCQkJCQkgIGdldHRleHRfbm9vcCgiTWluIGFw cGx5IGRlbGF5IikpOwogCiAJCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCiAJCQkJCQkgICIs ICBzdWJzeW5jY29tbWl0IEFTIFwiJXNcIlxuIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zdWJzY3JpcHRpb24ub3V0CmluZGV4IDEyMzBiY2IwOTYuLjk3N2Y3M2ZlOWIgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKQEAgLTEx NCwxOCArMTE0LDE4IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNCBD T05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVCiBXQVJOSU5HOiAg c3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDog IFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhl IHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgcmVmcmVz aCB0aGUgc3Vic2NyaXB0aW9uLgogXGRScysgcmVncmVzc190ZXN0c3ViNAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKLSAgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8 IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFz ZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5 IChtcykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAg ICAgfCBTa2lwIExTTiAKLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9m ZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgbm9uZSAg IHwgICAgICAgICAgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICAgTmFtZSAg ICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBv biBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAorLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyByZWdy ZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7 dGVzdHB1Yn0gICB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgICAgIHwgbm9uZSAgIHwgICAgICAgICAgICAgICAwIHwgb2ZmICAgICAg ICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCiAoMSByb3cp CiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI0IFNFVCAob3JpZ2luID0g YW55KTsKIFxkUnMrIHJlZ3Jlc3NfdGVzdHN1YjQKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICAg TmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVi bGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxheSAobXMpIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04g Ci0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAg ICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgIE5hbWUgICAgICAgfCAgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBNaW4gYXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViNCB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8ICAgICAgICAgICAgICAgMCB8IG9mZiAgICAgICAgICAgICAgICB8IGRi bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAogKDEgcm93KQogCiBEUk9QIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWIzOwpAQCAtMTM1LDEwICsxMzUsMTAgQEAgQUxURVIg U1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdmb29iYXInOwogRVJS T1I6ICBpbnZhbGlkIGNvbm5lY3Rpb24gc3RyaW5nIHN5bnRheDogbWlzc2luZyAiPSIgYWZ0 ZXIgImZvb2JhciIgaW4gY29ubmVjdGlvbiBpbmZvIHN0cmluZwogCiBcZFJzKwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2Ny aXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxh eSAobXMpIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2Zm ICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCAgICAgICAgICAgICAgICAgICAgMCB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1y ZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9u IHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBNaW4gYXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgfCBhbnkgICAgfCAgICAgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAog QUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgUFVCTElDQVRJT04gdGVz dHB1YjIsIHRlc3RwdWIzIFdJVEggKHJlZnJlc2ggPSBmYWxzZSk7CkBAIC0xNTUsMTAgKzE1 NSwxMCBAQCBFUlJPUjogIHVucmVjb2duaXplZCBzdWJzY3JpcHRpb24gcGFyYW1ldGVyOiAi Y3JlYXRlX3Nsb3QiCiAtLSBvawogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YiBTS0lQIChsc24gPSAnMC8xMjM0NScpOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwot ICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFz ZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5 IChtcykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCBy ZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHVi M30gfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAgICAgICAgICAwIHwgb2ZmICAgICAgICAg ICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IDAvMTIzNDUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWlu IGFwcGx5IGRlbGF5IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICB8IFNraXAgTFNOIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3Rw dWIzfSB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAg ICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IDAvMTIzNDUKICgxIHJvdykK IAogLS0gb2sgLSB3aXRoIGxzbiA9IE5PTkUKQEAgLTE2NywxMCArMTY3LDEwIEBAIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0tJUCAobHNuID0gTk9ORSk7CiBBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNLSVAgKGxzbiA9ICcwLzAnKTsKIEVS Uk9SOiAgaW52YWxpZCBXQUwgbG9jYXRpb24gKExTTik6IDAvMAogXGRScysKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWlu IGFwcGx5IGRlbGF5IChtcykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29u bmluZm8gICAgICAgICAgIHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAgICAgICAgICAwIHwg b2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IDAv MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBNaW4gYXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAg Q29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04gCistLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190 ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCAgICAgICAgICAgICAgIDAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgMC8wCiAoMSBy b3cpCiAKIEJFR0lOOwpAQCAtMjAyLDEwICsyMDIsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfdGVzdHN1Yl9mb28gU0VUIChzeW5jaHJvbm91c19jb21taXQgPSBmb29iYXIp OwogRVJST1I6ICBpbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgInN5bmNocm9ub3VzX2Nv bW1pdCI6ICJmb29iYXIiCiBISU5UOiAgQXZhaWxhYmxlIHZhbHVlczogbG9jYWwsIHJlbW90 ZV93cml0ZSwgcmVtb3RlX2FwcGx5LCBvbiwgb2ZmLgogXGRScysKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3Jp cHRpb25zCi0gICAgICAgIE5hbWUgICAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWlu IGFwcGx5IGRlbGF5IChtcykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29u bmluZm8gICAgICAgICAgIHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVn cmVzc190ZXN0c3ViX2ZvbyB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgICAgICAg ICAgIDAgfCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QyIHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgICBOYW1lICAgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAg ICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBv biBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tCisgcmVncmVzc190ZXN0c3ViX2ZvbyB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IG9mZiAgICAg ICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgICAg ICAgICAgICAgICAwIHwgbG9jYWwgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0MiB8IDAvMAogKDEgcm93KQogCiAtLSByZW5hbWUgYmFjayB0byBrZWVwIHRo ZSByZXN0IHNpbXBsZQpAQCAtMjM5LDE5ICsyMzksMTkgQEAgQ1JFQVRFIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0JyBQVUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBu b3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0 IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJz Y3JpcHRpb24sIGFuZCByZWZyZXNoIHRoZSBzdWJzY3JpcHRpb24uCiBcZFJzKwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2Ny aXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxh eSAobXMpIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgdCAgICAgIHwgb2Zm ICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCAgICAgICAgICAgICAgICAgICAgMCB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1y ZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9u IHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBNaW4gYXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgdCAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgfCBhbnkgICAgfCAgICAgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAog QUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKGJpbmFyeSA9IGZhbHNl KTsKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUg PSBOT05FKTsKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFy eSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwg T3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5IChtcykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jl c3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAgICAgICAgICAwIHwgb2ZmICAg ICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2Ny aXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxh eSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8 IFNraXAgTFNOIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBk ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAg ICAgICAgMCB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCB8IDAvMAogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWI7CkBAIC0yNjMsMjcgKzI2MywyNyBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQgog V0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0 ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkg Y3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwg YW5kIHJlZnJlc2ggdGhlIHN1YnNjcmlwdGlvbi4KIFxkUnMrCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0g ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQg fCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5IChtcykgfCBT eW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lw IExTTiAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvbiAgICAgICAgfCBk ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAg ICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkg fCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9y aWdpbiB8IE1pbiBhcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBvbiAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8ICAgICAgICAgICAgICAgMCB8IG9mZiAgICAgICAgICAgICAgICB8IGRi bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAogKDEgcm93KQogCiBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gcGFyYWxsZWwpOwog XGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBN aW4gYXBwbHkgZGVsYXkgKG1zKSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENv bm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3Vi IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg ICAgIHwgYW55ICAgIHwgICAgICAgICAgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisg ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQg fCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5IHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04g CistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYg ICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgICAgICAwIHwg b2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8w CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChz dHJlYW1pbmcgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAg TmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVi bGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxheSAobXMpIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04g Ci0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCAgICAgICAgICAgICAg ICAgICAgMCB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4g fCBNaW4gYXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAg IHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBh bnkgICAgfCAgICAgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAogLS0gZmFpbCAtIHB1Ymxp Y2F0aW9uIGFscmVhZHkgZXhpc3RzCkBAIC0yOTgsMTAgKzI5OCwxMCBAQCBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIEFERCBQVUJMSUNBVElPTiB0ZXN0cHViMSwgdGVz dHB1YjIgV0lUSCAocmVmcgogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBB REQgUFVCTElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJVEggKHJlZnJlc2ggPSBmYWxz ZSk7CiBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViMSIgaXMgYWxyZWFkeSBpbiBzdWJz Y3JpcHRpb24gInJlZ3Jlc3NfdGVzdHN1YiIKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8ICAgICAgICAgUHVibGljYXRpb24gICAgICAgICB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWlu IGFwcGx5IGRlbGF5IChtcykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYgICAgICB8IG9mZiAgICAgICB8IGQg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAg ICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QgfCAwLzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICAgICAgUHVibGlj YXRpb24gICAgICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5IHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04g CistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIsdGVzdHB1YjEsdGVzdHB1YjJ9IHwg ZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg ICAgfCBhbnkgICAgfCAgICAgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAogLS0gZmFpbCAt IHB1YmxpY2F0aW9uIHVzZWQgbW9yZSB0aGFuIG9uY2UKQEAgLTMxNiwxMCArMzE2LDEwIEBA IEVSUk9SOiAgcHVibGljYXRpb24gInRlc3RwdWIzIiBpcyBub3QgaW4gc3Vic2NyaXB0aW9u ICJyZWdyZXNzX3Rlc3RzdWIiCiAtLSBvayAtIGRlbGV0ZSBwdWJsaWNhdGlvbnMKIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHVi MSwgdGVzdHB1YjIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKIFxkUnMrCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVu YWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBj b21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5ICht cykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBTa2lwIExTTiAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAg ICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAg ICAgICAgICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jl c3NfZG9lc25vdGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8 ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBC aW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJv ciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAorLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9 ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAgICAgMCB8IG9mZiAgICAgICAgICAgICAg ICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAogKDEgcm93KQogCiBEUk9Q IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBAIC0zNTUsMTAgKzM1NSwxMCBAQCBD UkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQgogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMg Y3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBs aWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90 LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIHJlZnJlc2ggdGhlIHN1YnNjcmlwdGlv bi4KIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAg IE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0 cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2lu IHwgTWluIGFwcGx5IGRlbGF5IChtcykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAg ICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9 ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAgICAgICAgICAwIHwgb2ZmICAgICAgICAg ICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFi bGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29t bWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxheSB8IFN5 bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAg TFNOIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIg fCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBwICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAgICAg MCB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8 IDAvMAogKDEgcm93KQogCiAtLWZhaWwgLSBhbHRlciBvZiB0d29fcGhhc2Ugb3B0aW9uIG5v dCBzdXBwb3J0ZWQuCkBAIC0zNjcsMTAgKzM2NywxMCBAQCBFUlJPUjogIHVucmVjb2duaXpl ZCBzdWJzY3JpcHRpb24gcGFyYW1ldGVyOiAidHdvX3BoYXNlIgogLS0gYnV0IGNhbiBhbHRl ciBzdHJlYW1pbmcgd2hlbiB0d29fcGhhc2UgZW5hYmxlZAogQUxURVIgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHN0cmVhbWluZyA9IHRydWUpOwogXGRScysKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBo YXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBNaW4gYXBwbHkgZGVs YXkgKG1zKSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAg ICAgICB8IFNraXAgTFNOIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9u ICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAg IHwgICAgICAgICAgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlv biB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9u IGVycm9yIHwgT3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5IHwgU3luY2hyb25vdXMgY29tbWl0 IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04gCistLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVz c190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVz dHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgICAgICAwIHwgb2ZmICAgICAgICAg ICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCiAoMSByb3cpCiAK IEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBO T05FKTsKQEAgLTM4MCwxMCArMzgwLDEwIEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVC CiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5l Y3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxs eSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9u LCBhbmQgcmVmcmVzaCB0aGUgc3Vic2NyaXB0aW9uLgogXGRScysKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMK LSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxl ZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1p dCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBNaW4gYXBwbHkgZGVsYXkgKG1zKSB8 IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNr aXAgTFNOIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8 IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgICAgICAg ICAgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAwLzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFy eSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwg T3JpZ2luIHwgTWluIGFwcGx5IGRlbGF5IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAg ICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04gCistLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3Vi IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg ICAgIHwgYW55ICAgIHwgICAgICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwg ZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCiAoMSByb3cpCiAKIEFMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAg LTM5NiwxOCArMzk2LDE4IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5H OiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElO VDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUg dGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgcmVm cmVzaCB0aGUgc3Vic2NyaXB0aW9uLgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1Ymxp Y2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2Fi bGUgb24gZXJyb3IgfCBPcmlnaW4gfCBNaW4gYXBwbHkgZGVsYXkgKG1zKSB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAot LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgICAgICAg ICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAwLzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVh bWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwg TWluIGFwcGx5IGRlbGF5IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgU2tpcCBMU04gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IG9mZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55 ICAgIHwgICAgICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIgU0VUIChkaXNhYmxlX29uX2Vycm9yID0gdHJ1ZSk7CiBcZFJz KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcg fCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBh cHBseSBkZWxheSAobXMpIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCBy ZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAg ICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAg fCBhbnkgICAgfCAgICAgICAgICAgICAgICAgICAgMCB8IG9mZiAgICAgICAgICAgICAgICB8 IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAg IE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1 YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERp c2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBNaW4gYXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0K KyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAg ICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAg ICB8IHQgICAgICAgICAgICAgICAgfCBhbnkgICAgfCAgICAgICAgICAgICAgIDAgfCBvZmYg ICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgx IHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3Rf bmFtZSA9IE5PTkUpOwpAQCAtNDI1LDE5ICs0MjUsMTkgQEAgQ1JFQVRFIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0JyBQVUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBu b3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0 IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJz Y3JpcHRpb24sIGFuZCByZWZyZXNoIHRoZSBzdWJzY3JpcHRpb24uCiBcZFJzKwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2Ny aXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxh eSAobXMpIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2Zm ICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCAgICAgICAgICAgICAgICAgIDEyMyB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1y ZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9u IHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBNaW4gYXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgfCBhbnkgICAgfCAgICAgICAgICAgICAxMjMgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAog LS0gc3VjY2VzcyAtLSBtaW5fYXBwbHlfZGVsYXkgdmFsdWUgd2l0aCB1bml0IGlzIGNvbnZl cnRlZCBpbnRvIG1zIGFuZCBzdG9yZWQgYXMgYW4gaW50ZWdlcgogQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKG1pbl9hcHBseV9kZWxheSA9ICcxIGQnKTsKIFxk UnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgTWlu IGFwcGx5IGRlbGF5IChtcykgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8ICAgICAgICAgICAgIDg2NDAwMDAwIHwgb2ZmICAgICAgICAgICAgICAg IHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAg ICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwg UHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IE1pbiBhcHBseSBkZWxheSB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAor LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAg ICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICA4NjQwMDAwMCB8IG9m ZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAog KDEgcm93KQogCiAtLSBmYWlsIC0gYWx0ZXIgc3Vic2NyaXB0aW9uIHdpdGggc3RyZWFtaW5n ID0gcGFyYWxsZWwgc2hvdWxkIGZhaWwgd2hlbiB0aW1lLWRlbGF5ZWQgcmVwbGljYXRpb24g aXMgc2V0CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzJfYXBwbHlf ZGVsYXkucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzJfYXBwbHlfZGVsYXkucGwK aW5kZXggMzczODhlNDc0Zi4uMWI2YmMxZWY4MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vi c2NyaXB0aW9uL3QvMDMyX2FwcGx5X2RlbGF5LnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlw dGlvbi90LzAzMl9hcHBseV9kZWxheS5wbApAQCAtMTYsNyArMTYsNyBAQCBzdWIgY2hlY2tf YXBwbHlfZGVsYXlfbG9nCiB7CiAJbXkgKCRub2RlX3N1YnNjcmliZXIsICRvZmZzZXQsICRl eHBlY3RlZCkgPSBAXzsKIAotCW15ICRsb2dfbG9jYXRpb24gPSAkbm9kZV9zdWJzY3JpYmVy LT53YWl0X2Zvcl9sb2cocXIvdGltZS1kZWxheWVkIHJlcGxpY2F0aW9uIGZvciB0eGlkIChc ZCspLCBtaW5fYXBwbHlfZGVsYXkgPSAoXGQrKSBtcywgUmVtYWluaW5nIHdhaXQgdGltZTog KFxkKykgbXMvLCAkb2Zmc2V0KTsKKwlteSAkbG9nX2xvY2F0aW9uID0gJG5vZGVfc3Vic2Ny aWJlci0+d2FpdF9mb3JfbG9nKHFyL3RpbWUtZGVsYXllZCByZXBsaWNhdGlvbiBmb3IgdHhp ZCAoXGQrKSwgbWluX2FwcGx5X2RlbGF5ID0gKFxkKykgbXMsIHJlbWFpbmluZyB3YWl0IHRp bWU6IChcZCspIG1zLywgJG9mZnNldCk7CiAKIAljbXBfb2soJGxvZ19sb2NhdGlvbiwgJz4n LCAkb2Zmc2V0LAogCQkibG9nZmlsZSBjb250YWlucyB0cmlnZ2VyZWQgbG9naWNhbCByZXBs aWNhdGlvbiBhcHBseSBkZWxheSIKQEAgLTI1LDcgKzI1LDcgQEAgc3ViIGNoZWNrX2FwcGx5 X2RlbGF5X2xvZwogCSMgR2V0IHRoZSBkZWxheSB0aW1lIGZyb20gdGhlIHNlcnZlciBsb2cK IAlteSAkY29udGVudHMgPSBzbHVycF9maWxlKCRub2RlX3N1YnNjcmliZXItPmxvZ2ZpbGUs ICRvZmZzZXQpOwogCSRjb250ZW50cyA9fgotCXFyL3RpbWUtZGVsYXllZCByZXBsaWNhdGlv biBmb3IgdHhpZCAoXGQrKSwgbWluX2FwcGx5X2RlbGF5ID0gKFxkKykgbXMsIFJlbWFpbmlu ZyB3YWl0IHRpbWU6IChcZCspIG1zLworCXFyL3RpbWUtZGVsYXllZCByZXBsaWNhdGlvbiBm b3IgdHhpZCAoXGQrKSwgbWluX2FwcGx5X2RlbGF5ID0gKFxkKykgbXMsIHJlbWFpbmluZyB3 YWl0IHRpbWU6IChcZCspIG1zLwogCW9yIGRpZSAiY291bGQgbm90IGdldCB0aGUgYXBwbHkg d29ya2VyIHdhaXQgdGltZSI7CiAJbXkgJGxvZ2dlZF9kZWxheSA9ICQzOwogCkBAIC04Nyw3 ICs4Nyw3IEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAKIG15 ICRhcHBuYW1lID0gJ3RhcF9zdWInOwogCi0jIENyZWF0ZSBhIHN1YnNjcmlwdGlvbiB0aGF0 IGFwcGxpZXMgdGhlIHRyYXNhY3Rpb24gYWZ0ZXIgNTAgbWlsbGlzZWNvbmRzIGRlbGF5Cisj IENyZWF0ZSBhIHN1YnNjcmlwdGlvbiB0aGF0IGFwcGxpZXMgdGhlIHRyYW5zYWN0aW9uIGFm dGVyIDUwIG1pbGxpc2Vjb25kcyBkZWxheQogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAJIkNSRUFURSBTVUJTQ1JJUFRJT04gdGFwX3N1YiBDT05ORUNUSU9O ICckcHVibGlzaGVyX2Nvbm5zdHIgYXBwbGljYXRpb25fbmFtZT0kYXBwbmFtZScgUFVCTElD QVRJT04gdGFwX3B1YiBXSVRIIChjb3B5X2RhdGEgPSBvZmYsIG1pbl9hcHBseV9kZWxheSA9 ICc1MG1zJywgc3RyZWFtaW5nID0gJ29uJykiCiApOwpAQCAtMTE0LDcgKzExNCw3IEBAIGlz KCRyZXN1bHQsIHFxKDJ8MXwyKSwgJ2NoZWNrIGlmIHRoZSBuZXcgcm93cyB3ZXJlIGFwcGxp ZWQgdG8gc3Vic2NyaWJlcicpOwogY2hlY2tfYXBwbHlfZGVsYXlfdGltZSgkbm9kZV9wdWJs aXNoZXIsICRub2RlX3N1YnNjcmliZXIsICcyJywgJzAuMDUnKTsKIAogIyBTZXR1cCBmb3Ig c3RyZWFtaW5nIGNhc2UKLSRub2RlX3B1Ymxpc2hlci0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVz LmNvbmYnLAorJG5vZGVfcHVibGlzaGVyLT5hcHBlbmRfY29uZigncG9zdGdyZXNxbC5jb25m JywKIAknbG9naWNhbF9kZWNvZGluZ19tb2RlID0gaW1tZWRpYXRlJyk7CiAkbm9kZV9wdWJs aXNoZXItPnJlbG9hZDsKIAotLSAKMi4zMC4yCgo= --7ddded7ab1174060b4b81b781642b1b5--