<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>14774</bug_id>
          
          <creation_ts>2007-07-26 22:29:22 -0700</creation_ts>
          <short_desc>Submitted data only includes first input item</short_desc>
          <delta_ts>2008-01-02 09:35:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Brown">davbrow</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>davbrow</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3647</commentid>
    <comment_count>0</comment_count>
    <who name="David Brown">davbrow</who>
    <bug_when>2007-07-26 22:29:22 -0700</bug_when>
    <thetext>if this form is on a web page the resulting email should have two results separated by &amp;:
---
&lt;form method=&quot;post&quot; action=&quot;mailto:bogus@gmail.com&quot;&gt;
Name: &lt;input type=&quot;text&quot; size=&quot;10&quot; maxlength=&quot;40&quot; name=&quot;name&quot;&gt; &lt;br /&gt;
Password: &lt;input type=&quot;password&quot; size=&quot;10&quot; maxlength=&quot;10&quot; name=&quot;password&quot;&gt;&lt;br /&gt;
&lt;input type=&quot;submit&quot; value=&quot;Send&quot;&gt; 
&lt;/form&gt;
---
Here is the result from Firefox:      name=dlb&amp;password=photo
and from Webkit 522.12:                name=dlb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3600</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-07-27 10:00:19 -0700</bug_when>
    <thetext>Confirming the difference between Firefox 2.0.0.5 and a local debug build of WebKit r24669 with Safari 3 Public Beta v. 3.0.2 (522.12) on Mac OS X 10.4.10 (8R218).

This could be a security precaution, though, to prevent the password from being leaked.  Imagine if you walked up to a computer with the username and password filled out, and used a javascript: URL to change the action on the form to a mailto: and then submitted the form.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3594</commentid>
    <comment_count>2</comment_count>
      <attachid>15706</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-07-27 10:01:10 -0700</bug_when>
    <thetext>Created attachment 15706
Test case from Comment #0

Please post test cases as attachments for easier testing in the future.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3447</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-07-30 09:00:06 -0700</bug_when>
    <thetext>To: David Kilzer
From: David Brown
Date: Sat, 28 Jul 2007 14:24:44 -0700
Subject:	 http://bugs.webkit.org/show_bug.cgi?id=14774

[...]

The example provided used password type field but you will find if you change the field type that the bug occurs for more than one text field as well; it&apos;s not a feature.  In any case I agree the password-type field has no significant security, but I would think that&apos;s more an issue for the WWW standards group and web developers who use it.

Sorry for improper etiquette.  This was my first bug report.  Feedback is welcome if I still have it wrong.

-- David</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3448</commentid>
    <comment_count>4</comment_count>
      <attachid>15744</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-07-30 09:05:00 -0700</bug_when>
    <thetext>Created attachment 15744
Test case without password field

This test case without a password field fails as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3444</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-07-30 09:06:38 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Confirming the difference between Firefox 2.0.0.5 and a local debug build of
&gt; WebKit r24669 with Safari 3 Public Beta v. 3.0.2 (522.12) on Mac OS X 10.4.10
&gt; (8R218).

Note that Safari 2.0.4 (419.3) on Mac OS X 10.4.10 (8R218) behaves the same way, so this is not a regression.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65780</commentid>
    <comment_count>6</comment_count>
      <attachid>18198</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-12-30 16:16:59 -0800</bug_when>
    <thetext>Created attachment 18198
proposed fix

Fixes this and many other issues with submitting mailto forms.

Tested GET with Firefox and IE, but only tested POST with Firefox, as IE immediately sends such e-mails instead of opening them in a mail client.

A reconversion in text/plain case looks pretty ugly, I would appreciate suggestions on how to write it in a better way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65800</commentid>
    <comment_count>7</comment_count>
      <attachid>18198</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-12-30 22:35:02 -0800</bug_when>
    <thetext>Comment on attachment 18198
proposed fix

Will this work if you submit the same form multiple times?

mailtoForm is not a great name for a boolean; it sounds like it&apos;s a form. Maybe isMailtoForm would be a better name? I guess it&apos;s not your name.

     bool mailtoForm = u.protocol() == &quot;mailto&quot;;

This one is case sensitive, but the new code is correctly folding case.

I&apos;m not happy that this code still has to use DeprecatedString even in this line of code:

+                data = new FormData((DeprecatedString(&quot;body=&quot;) + encodeCString(body.latin1())).replace(&apos;+&apos;, &quot;%20&quot;).latin1());

Isn&apos;t there a way to do this without DeprecatedString and without widening and re-narrowing?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65821</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-12-31 00:22:41 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Will this work if you submit the same form multiple times?

  Not sure how to test for this. Is calling form.submit() twice the test for it?

&gt; mailtoForm is not a great name for a boolean; it sounds like it&apos;s a form. Maybe
&gt; isMailtoForm would be a better name?

  Will do.

&gt;      bool mailtoForm = u.protocol() == &quot;mailto&quot;;
&gt; This one is case sensitive, but the new code is correctly folding case.

  Will do.


&gt; I&apos;m not happy that this code still has to use DeprecatedString even in this
&gt; line of code:
&gt; 
&gt; +                data = new FormData((DeprecatedString(&quot;body=&quot;) +
&gt; encodeCString(body.latin1())).replace(&apos;+&apos;, &quot;%20&quot;).latin1());
&gt; 
&gt; Isn&apos;t there a way to do this without DeprecatedString and without widening and
&gt; re-narrowing?

  Yes, I can get rid of DeprecatedString here. Not sure what you mean by narrowing and re-narrowing (though as I mentioned in a comment, the hack for text/plain looks quite ugly, and I&apos;d appreciate ideas about how to write this in a abetter way).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65890</commentid>
    <comment_count>9</comment_count>
      <attachid>18224</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-01-01 03:01:47 -0800</bug_when>
    <thetext>Created attachment 18224
proposed fix

Addressed review comments that I could address (see questions above).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65903</commentid>
    <comment_count>10</comment_count>
      <attachid>18224</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-01 09:51:03 -0800</bug_when>
    <thetext>Comment on attachment 18224
proposed fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66045</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-01-02 09:35:32 -0800</bug_when>
    <thetext>Committed revision 29086.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>15706</attachid>
            <date>2007-07-27 10:01:10 -0700</date>
            <delta_ts>2007-07-27 10:01:10 -0700</delta_ts>
            <desc>Test case from Comment #0</desc>
            <filename>bug-14774-test.html</filename>
            <type>text/html</type>
            <size>248</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Im1haWx0bzpib2d1c0BnbWFpbC5jb20iPgpOYW1l
OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTAiIG1heGxlbmd0aD0iNDAiIG5hbWU9Im5hbWUi
PiA8YnIgLz4KUGFzc3dvcmQ6IDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgc2l6ZT0iMTAiIG1heGxl
bmd0aD0iMTAiIG5hbWU9InBhc3N3b3JkIj48YnIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFs
dWU9IlNlbmQiPiAKPC9mb3JtPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>15744</attachid>
            <date>2007-07-30 09:05:00 -0700</date>
            <delta_ts>2007-07-30 09:05:00 -0700</delta_ts>
            <desc>Test case without password field</desc>
            <filename>bug-14774-test-2.html</filename>
            <type>text/html</type>
            <size>412</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Im1haWx0bzpub2JvZHlAZ21haWwuY29tIj4KRmll
bGQgMTogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJm
aWVsZDEiIHZhbHVlPSJ2YWx1ZTEiPiA8YnIgLz4KRmllbGQgMjogPGlucHV0IHR5cGU9InRleHQi
IHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJmaWVsZDIiIHZhbHVlPSJ2YWx1ZTIiPiA8
YnIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlbmQiPiAKPC9mb3JtPgo8ZGl2PkV4
cGVjdGVkIHJlc3VsdHMgd2hlbiBjbGlja2luZyAiU2VuZCIgYnV0dG9uOiAgQSBuZXcgbWFpbCBt
ZXNzYWdlIGlzIGNyZWF0ZWQgd2l0aCBhIGJvZHkgb2YgImZpZWxkMT12YWx1ZTEmZmllbGQyPXZh
bHVlMiIuPC9kaXY+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18198</attachid>
            <date>2007-12-30 16:16:59 -0800</date>
            <delta_ts>2008-01-01 03:01:47 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>mailto.txt</filename>
            <type>text/plain</type>
            <size>31489</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyOTA0MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMDctMTItMzAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTU1CisgICAgICAgIGFj
dGlvbj1tYWlsdG8gKyBtZXRob2Q9Z2V0IC0gVGhlIGdlbmVyYXRlZCBtYWlsdG8gVVJJIGlzIGlu
Y29ycmVjdCBhbmQgdGhlIGh2YWx1ZXMgYXJlIGVuY29kZWQgdHdpY2UKKworICAgICAgICBodHRw
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3NAorICAgICAgICBTdWJtaXR0
ZWQgZGF0YSBvbmx5IGluY2x1ZGVzIGZpcnN0IGlucHV0IGl0ZW0KKworICAgICAgICBSZXdvcmtl
ZCBlbmNvZGluZyBvZiBtYWlsdG8gVVJMcyB0byBtYXRjaCBvdGhlciBicm93c2Vycy4KKyAgICAg
ICAgTW92ZWQgbW9zdCBvZiByZWxhdGVkIGxvZ2ljIGZyb20gRnJhbWVMb2FkZXI6OnN1Ym1pdEZv
cm0oKSB0byBIVE1MRm9ybUVsZW1lbnQ6OnN1Ym1pdCgpLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2Zvcm1zL21haWx0by9hZHZhbmNlZC1nZXQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jt
cy9tYWlsdG8vYWR2YW5jZWQtcHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbWFp
bHRvL2dldC1tdWx0aXBsZS1pdGVtcy10ZXh0LXBsYWluLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3JtLXVybGVuY29kZWQu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1z
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNjaWkuaHRt
bAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW92ZXJ3cml0ZS1xdWVyeS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL21haWx0by9wb3N0LWFwcGVuZC1xdWVyeS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1z
LW11bHRpcGFydC1mb3JtLWRhdGEuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tYWls
dG8vcG9zdC1tdWx0aXBsZS1pdGVtcy10ZXh0LXBsYWluLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVk
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRl
bXMuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAqIGxvYWRlci9GcmFt
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VibWl0Rm9ybSk6
CisKIDIwMDctMTItMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAyOTAzMSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NzQsOSArNDc0LDI0IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJt
aXQoRXZlbnQqIGV2ZW4KICAgICAgICAgZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uLT5zZXRB
Y3RpdmF0ZWRTdWJtaXQodHJ1ZSk7CiAKICAgICBpZiAobV9wb3N0KSB7Ci0gICAgICAgIGlmICgh
bV9tdWx0aXBhcnQpCi0gICAgICAgICAgICBmcmFtZS0+bG9hZGVyKCktPnN1Ym1pdEZvcm0oIlBP
U1QiLCBtX3VybCwgZm9ybURhdGEoMCksIG1fdGFyZ2V0LCBlbmN0eXBlKCksIFN0cmluZygpLCBl
dmVudCk7Ci0gICAgICAgIGVsc2UgeworICAgICAgICBib29sIG1haWx0b0Zvcm0gPSBtX3VybC5z
dGFydHNXaXRoKCJtYWlsdG86IiwgZmFsc2UpOworICAgICAgICBpZiAobV9tdWx0aXBhcnQgJiYg
bWFpbHRvRm9ybSkgeworICAgICAgICAgICAgc2V0RW5jdHlwZSgiYXBwbGljYXRpb24veC13d3ct
Zm9ybS11cmxlbmNvZGVkIik7CisgICAgICAgICAgICBtX211bHRpcGFydCA9IGZhbHNlOworICAg
ICAgICB9CisKKyAgICAgICAgaWYgKCFtX211bHRpcGFydCkgeworICAgICAgICAgICAgUmVmUHRy
PEZvcm1EYXRhPiBkYXRhID0gZm9ybURhdGEoMCk7CisgICAgICAgICAgICBpZiAobWFpbHRvRm9y
bSkgeworICAgICAgICAgICAgICAgIFN0cmluZyBib2R5ID0gZGF0YS0+ZmxhdHRlblRvU3RyaW5n
KCk7CisgICAgICAgICAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGVuY3R5cGUoKSwgInRl
eHQvcGxhaW4iKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBDb252ZW50aW9uIHNlZW1zIHRv
IGJlIHRvIGRlY29kZSwgYW5kIHMvJi9cclxuLy4gQWxzbywgc3BhY2VzIGFyZSBlbmNvZGVkIGFz
ICUyMC4KKyAgICAgICAgICAgICAgICAgICAgYm9keSA9IEtVUkw6OmRlY29kZV9zdHJpbmcoYm9k
eS5yZXBsYWNlKCcmJywgIlxyXG4iKS5yZXBsYWNlKCcrJywgJyAnKS5kZXByZWNhdGVkU3RyaW5n
KCkgKyAiXHJcbiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkYXRhID0g
bmV3IEZvcm1EYXRhKChEZXByZWNhdGVkU3RyaW5nKCJib2R5PSIpICsgZW5jb2RlQ1N0cmluZyhi
b2R5LmxhdGluMSgpKSkucmVwbGFjZSgnKycsICIlMjAiKS5sYXRpbjEoKSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBmcmFtZS0+bG9hZGVyKCktPnN1Ym1pdEZvcm0oIlBPU1QiLCBtX3Vy
bCwgZGF0YSwgbV90YXJnZXQsIGVuY3R5cGUoKSwgU3RyaW5nKCksIGV2ZW50KTsKKyAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIFZlY3RvcjxjaGFyPiBib3VuZGFyeTsKICAgICAgICAgICAg
IGdldFVuaXF1ZUJvdW5kYXJ5U3RyaW5nKGJvdW5kYXJ5KTsKICAgICAgICAgICAgIGZyYW1lLT5s
b2FkZXIoKS0+c3VibWl0Rm9ybSgiUE9TVCIsIG1fdXJsLCBmb3JtRGF0YShib3VuZGFyeS5kYXRh
KCkpLCBtX3RhcmdldCwgZW5jdHlwZSgpLCBib3VuZGFyeS5kYXRhKCksIGV2ZW50KTsKSW5kZXg6
IFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDI5MDMxKQorKysgV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDAsMzEgKzU0MCwyMCBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpzdWJtaXRGb3JtKGNvbnN0IGNoYXIqCiAKICAgICAvLyBIYW5kbGUgbWFp
bHRvOiBmb3JtcwogICAgIGJvb2wgbWFpbHRvRm9ybSA9IHUucHJvdG9jb2woKSA9PSAibWFpbHRv
IjsKLSAgICBpZiAobWFpbHRvRm9ybSkgewotICAgICAgICAvLyBBcHBlbmQgYm9keT0KLSAgICAg
ICAgU3RyaW5nIGJvZHk7Ci0gICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShjb250ZW50VHlw
ZSwgIm11bHRpcGFydC9mb3JtLWRhdGEiKSkKLSAgICAgICAgICAgIC8vIEZJWE1FOiBpcyB0aGlz
IGNvcnJlY3Q/IEkgc3VzcGVjdCBub3QsIGJ1dCB3aGF0IHNpdGUgY2FuIHdlIHRlc3QgdGhpcyBv
bj8KLSAgICAgICAgICAgIGJvZHkgPSBmb3JtRGF0YS0+ZmxhdHRlblRvU3RyaW5nKCk7Ci0gICAg
ICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNvbnRlbnRUeXBlLCAidGV4dC9wbGFpbiIp
KQotICAgICAgICAgICAgLy8gQ29udmVudGlvbiBzZWVtcyB0byBiZSB0byBkZWNvZGUsIGFuZCBz
LyYvXG4vCi0gICAgICAgICAgICBib2R5ID0gS1VSTDo6ZGVjb2RlX3N0cmluZygKLSAgICAgICAg
ICAgICAgICBmb3JtRGF0YS0+ZmxhdHRlblRvU3RyaW5nKCkucmVwbGFjZSgnJicsICdcbicpCi0g
ICAgICAgICAgICAgICAgLnJlcGxhY2UoJysnLCAnICcpLmRlcHJlY2F0ZWRTdHJpbmcoKSk7IC8v
IFJlY29kZSBmb3IgdGhlIFVSTAotICAgICAgICBlbHNlCi0gICAgICAgICAgICBib2R5ID0gZm9y
bURhdGEtPmZsYXR0ZW5Ub1N0cmluZygpOwotCisgICAgaWYgKG1haWx0b0Zvcm0gJiYgc3RyY21w
KGFjdGlvbiwgIkdFVCIpICE9IDApIHsKKyAgICAgICAgLy8gQXBwZW5kIGJvZHk9IGZvciBQT1NU
IG1haWx0bywgcmVwbGFjZSB0aGUgd2hvbGUgcXVlcnkgc3RyaW5nIGZvciBHRVQgb25lLgorICAg
ICAgICBTdHJpbmcgYm9keSA9IGZvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKTsKICAgICAgICAg
U3RyaW5nIHF1ZXJ5ID0gdS5xdWVyeSgpOwogICAgICAgICBpZiAoIXF1ZXJ5LmlzRW1wdHkoKSkK
ICAgICAgICAgICAgIHF1ZXJ5LmFwcGVuZCgnJicpOwotICAgICAgICB1LnNldFF1ZXJ5KChxdWVy
eSArICJib2R5PSIgKyBLVVJMOjplbmNvZGVfc3RyaW5nKGJvZHkuZGVwcmVjYXRlZFN0cmluZygp
KSkuZGVwcmVjYXRlZFN0cmluZygpKTsKKyAgICAgICAgdS5zZXRRdWVyeSgocXVlcnkgKyBib2R5
KS5kZXByZWNhdGVkU3RyaW5nKCkpOwogICAgIH0KIAogICAgIGlmIChzdHJjbXAoYWN0aW9uLCAi
R0VUIikgPT0gMCkgewotICAgICAgICBpZiAoIW1haWx0b0Zvcm0pCi0gICAgICAgICAgICB1LnNl
dFF1ZXJ5KGZvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKS5kZXByZWNhdGVkU3RyaW5nKCkpOwor
ICAgICAgICB1LnNldFF1ZXJ5KGZvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKS5kZXByZWNhdGVk
U3RyaW5nKCkpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKS5zZXRIVFRQQm9keShmb3JtRGF0YS5nZXQoKSk7CisgICAgICAgIGlmICghbWFpbHRv
Rm9ybSkKKyAgICAgICAgICAgIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQ
Qm9keShmb3JtRGF0YS5nZXQoKSk7CiAgICAgICAgIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVl
c3QoKS5zZXRIVFRQTWV0aG9kKCJQT1NUIik7CiAKICAgICAgICAgLy8gY29uc3RydWN0IHNvbWUg
dXNlciBoZWFkZXJzIGlmIG5lY2Vzc2FyeQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjkwNDEpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzOSBAQAorMjAw
Ny0xMi0zMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1NTUKKyAgICAgICAgYWN0aW9uPW1haWx0byArIG1ldGhv
ZD1nZXQgLSBUaGUgZ2VuZXJhdGVkIG1haWx0byBVUkkgaXMgaW5jb3JyZWN0IGFuZCB0aGUgaHZh
bHVlcyBhcmUgZW5jb2RlZCB0d2ljZQorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0Nzc0CisgICAgICAgIFN1Ym1pdHRlZCBkYXRhIG9ubHkgaW5jbHVk
ZXMgZmlyc3QgaW5wdXQgaXRlbQorCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG86IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLWdldC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLWdldC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9hZHZhbmNlZC1wdXQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9hZHZhbmNlZC1wdXQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1z
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11
bHRpcGxlLWl0ZW1zLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMteC13d3ct
Zm9ybS11cmxlbmNvZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5vbi1hc2NpaS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNj
aWkuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW92ZXJ3cml0
ZS1xdWVyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRv
L2dldC1vdmVyd3JpdGUtcXVlcnkuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9t
YWlsdG8vcG9zdC1hcHBlbmQtcXVlcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL21haWx0by9wb3N0LWFwcGVuZC1xdWVyeS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1tdWx0
aXBhcnQtZm9ybS1kYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtdGV4
dC1wbGFpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRv
L3Bvc3QtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2Rl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRvL3Bvc3Qt
bXVsdGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMuaHRtbDogQWRkZWQuCisK
IDIwMDctMTItMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRv
L2FkdmFuY2VkLWdldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtZ2V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLWdldC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorRnJhbWUgIGF0dGVtcHRlZCB0byBsb2FkIG1h
aWx0bzo/dG89dG8xJTQwc2l0ZS5jb20lMkN0bzIlNDBzaXRlLmNvbSUyQ3RvMyU0MHNpdGUuY29t
JmNjPWNjMSU0MHNpdGUuY29tJTJDY2MyJTQwc2l0ZS5jb20lMkNjYzMlNDBzaXRlLmNvbSZiY2M9
YmNjMSU0MHNpdGUuY29tJTJDYmNjMiU0MHNpdGUuY29tJTJDYmNjMyU0MHNpdGUuY29tJnN1Ympl
Y3Q9bSUyNm0lM0IlM0YlM0QmYm9keT1saW5lMSUwRCUwQWxpbmUyJTBEJTBBbGluZTMlMEQlMEFs
aW5lNAorUHJlc3MgQ29tcG9zZSBidXR0b24gYW5kIGNoZWNrIHRoYXQgdGhlIGNyZWF0ZWQgZS1t
YWlsIGhhcyBjb3JyZWN0IGhlYWRlcnMgYW5kIGJvZHkuCisKKyAgICAgICAgIAoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtZ2V0LWV4
cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWlu
Ck5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21haWx0by9hZHZhbmNlZC1nZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21haWx0by9hZHZhbmNlZC1nZXQuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLWdldC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8dGl0bGU+YWN0aW9uPSJtYWlsdG8iIEdFVCBtZXRob2Q8L3RpdGxlPgorICAgICAg
ICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICAgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpWzBdLnN1Ym1pdCgpOworICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRl
KGZhbHNlKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorICAgICAgICA8cD5Q
cmVzcyBDb21wb3NlIGJ1dHRvbiBhbmQgY2hlY2sgdGhhdCB0aGUgY3JlYXRlZCBlLW1haWwgaGFz
IGNvcnJlY3QgaGVhZGVycyBhbmQgYm9keS48L3A+CisgICAgICAgIDxmb3JtIGFjdGlvbj0ibWFp
bHRvOiIgbWV0aG9kPSJnZXQiPgorICAgICAgICAgICAgPGlucHV0IG5hbWU9InRvIiB2YWx1ZT0i
dG8xQHNpdGUuY29tLHRvMkBzaXRlLmNvbSx0bzNAc2l0ZS5jb20iPgorICAgICAgICAgICAgPGlu
cHV0IG5hbWU9ImNjIiB2YWx1ZT0iY2MxQHNpdGUuY29tLGNjMkBzaXRlLmNvbSxjYzNAc2l0ZS5j
b20iPgorICAgICAgICAgICAgPGlucHV0IG5hbWU9ImJjYyIgdmFsdWU9ImJjYzFAc2l0ZS5jb20s
YmNjMkBzaXRlLmNvbSxiY2MzQHNpdGUuY29tIj4KKyAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJz
dWJqZWN0IiB2YWx1ZT0ibSZhbXA7bTs/PSI+Cis8dGV4dGFyZWEgbmFtZT0iYm9keSI+bGluZTEK
K2xpbmUyCitsaW5lMworbGluZTQ8L3RleHRhcmVhPgorICAgICAgICAgICAgPGlucHV0IHR5cGU9
InN1Ym1pdCIgdmFsdWU9IkNvbXBvc2UiPgorICAgICAgICA8L2Zvcm0+CisgICAgPC9ib2R5Pgor
PC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWls
dG8vYWR2YW5jZWQtZ2V0Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsg
dGV4dC9odG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQt
cHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21h
aWx0by9hZHZhbmNlZC1wdXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtcHV0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw0IEBACitGcmFtZSAgYXR0ZW1wdGVkIHRvIGxvYWQgbWFpbHRvOj90bz10
bzElNDBzaXRlLmNvbSUyQ3RvMiU0MHNpdGUuY29tJTJDdG8zJTQwc2l0ZS5jb20mY2M9Y2MxJTQw
c2l0ZS5jb20lMkNjYzIlNDBzaXRlLmNvbSUyQ2NjMyU0MHNpdGUuY29tJmJjYz1iY2MxJTQwc2l0
ZS5jb20lMkNiY2MyJTQwc2l0ZS5jb20lMkNiY2MzJTQwc2l0ZS5jb20mc3ViamVjdD1tJTI2bSUz
QiUzRiUzRCZib2R5PWxpbmUxJTBEJTBBbGluZTIlMEQlMEFsaW5lMyUwRCUwQWxpbmU0CitQcmVz
cyBDb21wb3NlIGJ1dHRvbiBhbmQgY2hlY2sgdGhhdCB0aGUgY3JlYXRlZCBlLW1haWwgaGFzIGNv
cnJlY3QgaGVhZGVycyBhbmQgYm9keS4KKworICAgICAgICAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9hZHZhbmNlZC1wdXQtZXhwZWN0ZWQudHh0
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxhaW4KTmFtZTogc3Zu
OmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFp
bHRvL2FkdmFuY2VkLXB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbWFpbHRvL2FkdmFuY2VkLXB1dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtcHV0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0
aXRsZT5hY3Rpb249Im1haWx0byIgUFVUIG1ldGhvZDwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+
CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldEN1c3RvbVBvbGljeURlbGVnYXRlKHRydWUpOworICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIilbMF0uc3VibWl0KCk7CisgICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoZmFsc2UpOwor
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisgICAgICAgIDxwPlByZXNzIENvbXBv
c2UgYnV0dG9uIGFuZCBjaGVjayB0aGF0IHRoZSBjcmVhdGVkIGUtbWFpbCBoYXMgY29ycmVjdCBo
ZWFkZXJzIGFuZCBib2R5LjwvcD4KKyAgICAgICAgPGZvcm0gYWN0aW9uPSJtYWlsdG86IiBtZXRo
b2Q9InB1dCI+CisgICAgICAgICAgICA8aW5wdXQgbmFtZT0idG8iIHZhbHVlPSJ0bzFAc2l0ZS5j
b20sdG8yQHNpdGUuY29tLHRvM0BzaXRlLmNvbSI+CisgICAgICAgICAgICA8aW5wdXQgbmFtZT0i
Y2MiIHZhbHVlPSJjYzFAc2l0ZS5jb20sY2MyQHNpdGUuY29tLGNjM0BzaXRlLmNvbSI+CisgICAg
ICAgICAgICA8aW5wdXQgbmFtZT0iYmNjIiB2YWx1ZT0iYmNjMUBzaXRlLmNvbSxiY2MyQHNpdGUu
Y29tLGJjYzNAc2l0ZS5jb20iPgorICAgICAgICAgICAgPGlucHV0IG5hbWU9InN1YmplY3QiIHZh
bHVlPSJtJmFtcDttOz89Ij4KKzx0ZXh0YXJlYSBuYW1lPSJib2R5Ij5saW5lMQorbGluZTIKK2xp
bmUzCitsaW5lNDwvdGV4dGFyZWE+CisgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2
YWx1ZT0iQ29tcG9zZSI+CisgICAgICAgIDwvZm9ybT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9hZHZhbmNl
ZC1wdXQuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwK
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRv
L2dldC1tdWx0aXBsZS1pdGVtcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0ZyYW1lICBhdHRlbXB0ZWQgdG8gbG9hZCBtYWls
dG86bm9ib2R5QGdtYWlsLmNvbT9maWVsZDE9dmFsdWUrMSZmaWVsZDI9dmFsdWUrMgorRmllbGQg
MTogIEZpZWxkIDI6ICAKK0V4cGVjdGVkIHJlc3VsdHMgd2hlbiBjbGlja2luZyAiU2VuZCIgYnV0
dG9uOiBBIG5ldyBtYWlsIG1lc3NhZ2UgaXMgY3JlYXRlZCB3aXRoIGFuIGVtcHR5IGJvZHkuCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVs
dGlwbGUtaXRlbXMtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQog
ICArIHRleHQvcGxhaW4KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy10ZXh0LXBsYWlu
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0
by9nZXQtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtdGV4
dC1wbGFpbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorRnJhbWUg
IGF0dGVtcHRlZCB0byBsb2FkIG1haWx0bzo/dG89b25lJTQwZXhhbXBsZS5vcmcmYm9keT1MaW5l
KzElMEQlMEFMaW5lKzIlMEQlMEElNDAlMjYlM0QlMkMlM0IlM0YlMjIKK0ZpZWxkIDE6ICBGaWVs
ZCAyOiAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0
by9nZXQtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpO
YW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxlCiAg
ICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRp
cGxlLWl0ZW1zLXRleHQtcGxhaW4uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1z
LXRleHQtcGxhaW4uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGJvZHkgb25s
b2FkPSJ0ZXN0KCkiPgorPGZvcm0gbWV0aG9kPSJnZXQiIGVuY3R5cGU9InRleHQvcGxhaW4iIGFj
dGlvbj0ibWFpbHRvOiI+CitGaWVsZCAxOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTAiIG1h
eGxlbmd0aD0iNDAiIG5hbWU9InRvIiB2YWx1ZT0ib25lQGV4YW1wbGUub3JnIj4KK0ZpZWxkIDI6
IDx0ZXh0YXJlYSBuYW1lPSJib2R5Ij5MaW5lIDEKK0xpbmUgMgorQCZhbXA7PSw7PyI8L3RleHRh
cmVhPgorPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlbmQiPiAKKzwvZm9ybT4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKHRydWUpOworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIilbMF0uc3VibWl0KCk7CisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoZmFsc2UpOworICB9Cit9Cis8L3Nj
cmlwdD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRv
L2dldC1tdWx0aXBsZS1pdGVtcy10ZXh0LXBsYWluLmh0bWwKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46
bWltZS10eXBlCiAgICsgdGV4dC9odG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
YWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRp
cGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMteC13
d3ctZm9ybS11cmxlbmNvZGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
IEBACitGcmFtZSAgYXR0ZW1wdGVkIHRvIGxvYWQgbWFpbHRvOm5vYm9keUBnbWFpbC5jb20/dG89
b25lJTQwZXhhbXBsZS5vcmcmZmllbGQyPXZhbHVlKzIKK0ZpZWxkIDE6ICBGaWVsZCAyOiAgCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVs
dGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLWV4cGVjdGVkLnR4dApfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6IHN2bjplb2wtc3R5bGUK
ICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVs
dGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0t
dXJsZW5jb2RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
YWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8Zm9ybSBt
ZXRob2Q9ImdldCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBh
Y3Rpb249Im1haWx0bzpub2JvZHlAZ21haWwuY29tIj4KK0ZpZWxkIDE6IDxpbnB1dCB0eXBlPSJ0
ZXh0IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSI0MCIgbmFtZT0idG8iIHZhbHVlPSJvbmVAZXhhbXBs
ZS5vcmciPgorRmllbGQgMjogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9
IjQwIiBuYW1lPSJmaWVsZDIiIHZhbHVlPSJ2YWx1ZSAyIj4KKzxpbnB1dCB0eXBlPSJzdWJtaXQi
IHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xp
Y3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9y
bSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGlj
eURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMteC13d3ct
Zm9ybS11cmxlbmNvZGVkLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsg
dGV4dC9odG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRp
cGxlLWl0ZW1zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWls
dG8vZ2V0LW11bHRpcGxlLWl0ZW1zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNyBAQAorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGZvcm0gbWV0aG9kPSJnZXQi
IGFjdGlvbj0ibWFpbHRvOm5vYm9keUBnbWFpbC5jb20iPgorRmllbGQgMTogPGlucHV0IHR5cGU9
InRleHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJmaWVsZDEiIHZhbHVlPSJ2YWx1
ZSAxIj4KK0ZpZWxkIDI6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSI0
MCIgbmFtZT0iZmllbGQyIiB2YWx1ZT0idmFsdWUgMiI+Cis8aW5wdXQgdHlwZT0ic3VibWl0IiB2
YWx1ZT0iU2VuZCI+IAorPC9mb3JtPgorPGRpdj5FeHBlY3RlZCByZXN1bHRzIHdoZW4gY2xpY2tp
bmcgIlNlbmQiIGJ1dHRvbjogIEEgbmV3IG1haWwgbWVzc2FnZSBpcyBjcmVhdGVkIHdpdGggYW4g
ZW1wdHkgYm9keS48L2Rpdj4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVn
YXRlKHRydWUpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIilbMF0u
c3VibWl0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdh
dGUoZmFsc2UpOworICB9Cit9Cis8L3NjcmlwdD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy5odG1sCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNjaWktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNjaWktZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5v
bi1hc2NpaS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorRnJhbWUg
IGF0dGVtcHRlZCB0byBsb2FkIG1haWx0bzpvbmVAZXhhbXBsZS5vcmc/c3ViamVjdD1GciVDMyVB
OHJlK0ZyYW4lQzMlQTdvaXMmYm9keT0lRDAlOUYlRDElODAlRDAlQkUlRDAlQjIlRDAlQjUlRDEl
ODAlRDAlQkElRDAlQjAKKyAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21haWx0by9nZXQtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6
IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBu
YXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbm9uLWFzY2lp
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5v
bi1hc2NpaS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWls
dG8vZ2V0LW5vbi1hc2NpaS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8Zm9ybSBtZXRob2Q9
ImdldCIgYWN0aW9uPSJtYWlsdG86b25lQGV4YW1wbGUub3JnIj4KKzxpbnB1dCB0eXBlPSJ0ZXh0
IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSI0MCIgbmFtZT0ic3ViamVjdCIgdmFsdWU9IkZyJmVncmF2
ZTtyZSBGcmFuJmNjZWRpbDtvaXMiPgorPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjEwIiBtYXhs
ZW5ndGg9IjQwIiBuYW1lPSJib2R5IiB2YWx1ZT0i0J/RgNC+0LLQtdGA0LrQsCI+Cis8aW5wdXQg
dHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VuZCI+IAorPC9mb3JtPgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHRlc3QoKSB7CisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUodHJ1ZSk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImZvcm0iKVswXS5zdWJtaXQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5z
ZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShmYWxzZSk7CisgIH0KK30KKzwvc2NyaXB0PgoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5vbi1hc2Np
aS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1vdmVyd3JpdGUtcXVlcnktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dl
dC1vdmVyd3JpdGUtcXVlcnktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW92ZXJ3cml0ZS1xdWVyeS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorRnJhbWUgIGF0dGVtcHRlZCB0byBsb2FkIG1haWx0
bzpub2JvZHlAZ21haWwuY29tP3RvPXNvbWVvbmUlNDBleGFtcGxlLm9yZworIAorRXhwZWN0ZWQg
cmVzdWx0cyB3aGVuIGNsaWNraW5nICJTZW5kIiBidXR0b246IEEgbmV3IG1haWwgbWVzc2FnZSBp
cyBjcmVhdGVkIHdpdGggYW4gZW1wdHkgYm9keSwgYW5kIHR3byBhZGRyZXNzZWVzLgoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW92ZXJ3cml0
ZS1xdWVyeS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsg
dGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW92ZXJ3cml0ZS1xdWVyeS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1vdmVyd3JpdGUtcXVlcnku
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1v
dmVyd3JpdGUtcXVlcnkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGJvZHkg
b25sb2FkPSJ0ZXN0KCkiPgorPGZvcm0gbWV0aG9kPSJnZXQiIGFjdGlvbj0ibWFpbHRvOm5vYm9k
eUBnbWFpbC5jb20/dG89YW5vdGhlckBleGFtcGxlLm9yZyZhbXA7Ym9keT1Cb2R5Ij4KKzxpbnB1
dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSI0MCIgbmFtZT0idG8iIHZhbHVlPSJz
b21lb25lQGV4YW1wbGUub3JnIj4KKzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIj4g
Cis8L2Zvcm0+Cis8ZGl2PkV4cGVjdGVkIHJlc3VsdHMgd2hlbiBjbGlja2luZyAiU2VuZCIgYnV0
dG9uOiAgQSBuZXcgbWFpbCBtZXNzYWdlIGlzIGNyZWF0ZWQgd2l0aCBhbiBlbXB0eSBib2R5LCBh
bmQgdHdvIGFkZHJlc3NlZXMuPC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xp
Y3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9y
bSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGlj
eURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtb3ZlcndyaXRlLXF1ZXJ5Lmh0bWwK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9odG1sCgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1hcHBlbmQtcXVlcnktZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtYXBwZW5k
LXF1ZXJ5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbWFpbHRvL3Bvc3QtYXBwZW5kLXF1ZXJ5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzIEBACitGcmFtZSAgYXR0ZW1wdGVkIHRvIGxvYWQgbWFpbHRvOm5vYm9keUBnbWFp
bC5jb20/dG89YW5vdGhlckBleGFtcGxlLm9yZyZib2R5PUJvZHkmYm9keT10byUzRHNvbWVvbmUl
MjU0MGV4YW1wbGUub3JnCisgCitFeHBlY3RlZCByZXN1bHRzIHdoZW4gY2xpY2tpbmcgIlNlbmQi
IGJ1dHRvbjogQSBuZXcgbWFpbCBtZXNzYWdlIGlzIGNyZWF0ZWQgd2l0aCBhbiBlbXB0eSBib2R5
LCBhbmQgdHdvIGFkZHJlc3NlZXMuCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL21haWx0by9wb3N0LWFwcGVuZC1xdWVyeS1leHBlY3RlZC50eHQKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxl
CiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1h
cHBlbmQtcXVlcnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21h
aWx0by9wb3N0LWFwcGVuZC1xdWVyeS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1hcHBlbmQtcXVlcnkuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNiBAQAorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGZvcm0gbWV0aG9kPSJwb3N0
IiBhY3Rpb249Im1haWx0bzpub2JvZHlAZ21haWwuY29tP3RvPWFub3RoZXJAZXhhbXBsZS5vcmcm
YW1wO2JvZHk9Qm9keSI+Cis8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTAiIG1heGxlbmd0aD0i
NDAiIG5hbWU9InRvIiB2YWx1ZT0ic29tZW9uZUBleGFtcGxlLm9yZyI+Cis8aW5wdXQgdHlwZT0i
c3VibWl0IiB2YWx1ZT0iU2VuZCI+IAorPC9mb3JtPgorPGRpdj5FeHBlY3RlZCByZXN1bHRzIHdo
ZW4gY2xpY2tpbmcgIlNlbmQiIGJ1dHRvbjogIEEgbmV3IG1haWwgbWVzc2FnZSBpcyBjcmVhdGVk
IHdpdGggYW4gZW1wdHkgYm9keSwgYW5kIHR3byBhZGRyZXNzZWVzLjwvZGl2PgorPHNjcmlwdD4K
K2Z1bmN0aW9uIHRlc3QoKSB7CisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUodHJ1ZSk7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoImZvcm0iKVswXS5zdWJtaXQoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShmYWxzZSk7CisgIH0KK30KKzwvc2NyaXB0
PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9z
dC1hcHBlbmQtcXVlcnkuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0
ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRp
cGxlLWl0ZW1zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0ZyYW1lICBhdHRlbXB0ZWQg
dG8gbG9hZCBtYWlsdG86bm9ib2R5QGdtYWlsLmNvbT9ib2R5PWZpZWxkMSUzRHZhbHVlJTJCMSUy
NmZpZWxkMiUzRHZhbHVlJTJCMgorRmllbGQgMTogIEZpZWxkIDI6ICAKK0V4cGVjdGVkIHJlc3Vs
dHMgd2hlbiBjbGlja2luZyAiU2VuZCIgYnV0dG9uOiBBIG5ldyBtYWlsIG1lc3NhZ2UgaXMgY3Jl
YXRlZCB3aXRoIGEgYm9keSBvZiAiZmllbGQxPXZhbHVlIDEmZmllbGQyPXZhbHVlIDIiLgoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0
aXBsZS1pdGVtcy1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAg
ICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1tdWx0aXBhcnQt
Zm9ybS1kYXRhLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLW11bHRpcGFydC1mb3JtLWRhdGEtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9z
dC1tdWx0aXBsZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwyIEBACitGcmFtZSAgYXR0ZW1wdGVkIHRvIGxvYWQgbWFpbHRvOj9i
b2R5PXRvJTNEb25lJTI1NDBleGFtcGxlLm9yZyUyNmJvZHklM0RMaW5lJTJCMSUyNTBEJTI1MEFM
aW5lJTJCMiUyNTBEJTI1MEElMjU0MCUyNTI2JTI1M0QlMjUyQyUyNTNCJTI1M0YlMjUyMgorRmll
bGQgMTogIEZpZWxkIDI6ICAKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtbXVsdGlwYXJ0LWZvcm0tZGF0YS1leHBl
Y3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpO
YW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBs
ZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLW11bHRpcGFydC1mb3Jt
LWRhdGEuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGJvZHkgb25sb2FkPSJ0
ZXN0KCkiPgorPGZvcm0gbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRh
IiBhY3Rpb249Im1haWx0bzoiPgorRmllbGQgMTogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjEw
IiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJ0byIgdmFsdWU9Im9uZUBleGFtcGxlLm9yZyI+CitGaWVs
ZCAyOiA8dGV4dGFyZWEgbmFtZT0iYm9keSI+TGluZSAxCitMaW5lIDIKK0AmYW1wOz0sOz8iPC90
ZXh0YXJlYT4KKzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8
c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQor
PC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21h
aWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLW11bHRpcGFydC1mb3JtLWRhdGEuaHRtbApfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXRleHQtcGxhaW4tZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3Qt
bXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXRleHQtcGxh
aW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0ZyYW1lICBhdHRl
bXB0ZWQgdG8gbG9hZCBtYWlsdG86P2JvZHk9dG8lM0RvbmUlNDBleGFtcGxlLm9yZyUwRCUwQWJv
ZHklM0RMaW5lJTIwMSUwRCUwQUxpbmUlMjAyJTBEJTBBJTQwJTI2JTNEJTJDJTNCJTNGJTIyJTJC
JTBEJTBBCitGaWVsZCAxOiAgRmllbGQgMjogIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy10ZXh0LXBsYWluLWV4
cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWlu
Ck5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXRleHQtcGxhaW4uaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1z
LXRleHQtcGxhaW4uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE4IEBACis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8Zm9ybSBtZXRob2Q9InBv
c3QiIGVuY3R5cGU9InRleHQvcGxhaW4iIGFjdGlvbj0ibWFpbHRvOiI+CitGaWVsZCAxOiA8aW5w
dXQgdHlwZT0idGV4dCIgc2l6ZT0iMTAiIG1heGxlbmd0aD0iNDAiIG5hbWU9InRvIiB2YWx1ZT0i
b25lQGV4YW1wbGUub3JnIj4KK0ZpZWxkIDI6IDx0ZXh0YXJlYSBuYW1lPSJib2R5Ij5MaW5lIDEK
K0xpbmUgMgorQCZhbXA7PSw7PyIrPC90ZXh0YXJlYT4KKzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZh
bHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lE
ZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIp
WzBdLnN1Ym1pdCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURl
bGVnYXRlKGZhbHNlKTsKKyAgfQorfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXRleHQtcGxh
aW4uaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXgt
d3d3LWZvcm0tdXJsZW5jb2RlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3JtLXVybGVu
Y29kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3JtLXVybGVuY29kZWQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0ZyYW1lICBhdHRlbXB0ZWQgdG8g
bG9hZCBtYWlsdG86P2JvZHk9dG8lM0RvbmUlMjU0MGV4YW1wbGUub3JnJTI2Ym9keSUzRExpbmUl
MkIxJTI1MEQlMjUwQUxpbmUlMkIyJTI1MEQlMjUwQSUyNTQwJTI1MjYlMjUzRCUyNTJDJTI1M0Il
MjUzRiUyNTIyCitGaWVsZCAxOiAgRmllbGQgMjogIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3Jt
LXVybGVuY29kZWQtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQog
ICArIHRleHQvcGxhaW4KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMteC13d3ctZm9y
bS11cmxlbmNvZGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
YWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3JtLXVybGVuY29kZWQuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUt
aXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTggQEAKKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxmb3JtIG1ldGhvZD0icG9zdCIgZW5jdHlw
ZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBhY3Rpb249Im1haWx0bzoiPgor
RmllbGQgMTogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1l
PSJ0byIgdmFsdWU9Im9uZUBleGFtcGxlLm9yZyI+CitGaWVsZCAyOiA8dGV4dGFyZWEgbmFtZT0i
Ym9keSI+TGluZSAxCitMaW5lIDIKK0AmYW1wOz0sOz8iPC90ZXh0YXJlYT4KKzxpbnB1dCB0eXBl
PSJzdWJtaXQiIHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVz
dCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRD
dXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgiZm9ybSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1
c3RvbVBvbGljeURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0
ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUt
dHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRv
L3Bvc3QtbXVsdGlwbGUtaXRlbXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxmb3Jt
IG1ldGhvZD0icG9zdCIgYWN0aW9uPSJtYWlsdG86bm9ib2R5QGdtYWlsLmNvbSI+CitGaWVsZCAx
OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTAiIG1heGxlbmd0aD0iNDAiIG5hbWU9ImZpZWxk
MSIgdmFsdWU9InZhbHVlIDEiPgorRmllbGQgMjogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjEw
IiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJmaWVsZDIiIHZhbHVlPSJ2YWx1ZSAyIj4KKzxpbnB1dCB0
eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8ZGl2PkV4cGVjdGVkIHJlc3Vs
dHMgd2hlbiBjbGlja2luZyAiU2VuZCIgYnV0dG9uOiAgQSBuZXcgbWFpbCBtZXNzYWdlIGlzIGNy
ZWF0ZWQgd2l0aCBhIGJvZHkgb2YgImZpZWxkMT12YWx1ZSAxJmZpZWxkMj12YWx1ZSAyIi48L2Rp
dj4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKHRydWUpOworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIilbMF0uc3VibWl0KCk7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoZmFsc2UpOworICB9
Cit9Cis8L3NjcmlwdD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMuaHRtbApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpt
aW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCg==
</data>
<flag name="review"
          id="7915"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18224</attachid>
            <date>2008-01-01 03:01:47 -0800</date>
            <delta_ts>2008-01-01 09:51:03 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>mailto2.txt</filename>
            <type>text/plain</type>
            <size>33730</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyOTA2MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMDgtMDEtMDEgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTU1CisgICAgICAgIGFj
dGlvbj1tYWlsdG8gKyBtZXRob2Q9Z2V0IC0gVGhlIGdlbmVyYXRlZCBtYWlsdG8gVVJJIGlzIGlu
Y29ycmVjdCBhbmQgdGhlIGh2YWx1ZXMgYXJlIGVuY29kZWQgdHdpY2UKKworICAgICAgICBodHRw
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3NAorICAgICAgICBTdWJtaXR0
ZWQgZGF0YSBvbmx5IGluY2x1ZGVzIGZpcnN0IGlucHV0IGl0ZW0KKworICAgICAgICBSZXdvcmtl
ZCBlbmNvZGluZyBvZiBtYWlsdG8gVVJMcyB0byBtYXRjaCBvdGhlciBicm93c2Vycy4KKyAgICAg
ICAgTW92ZWQgbW9zdCBvZiByZWxhdGVkIGxvZ2ljIGZyb20gRnJhbWVMb2FkZXI6OnN1Ym1pdEZv
cm0oKSB0byBIVE1MRm9ybUVsZW1lbnQ6OnN1Ym1pdCgpLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2Zvcm1zL21haWx0by9hZHZhbmNlZC1nZXQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jt
cy9tYWlsdG8vYWR2YW5jZWQtcHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbWFp
bHRvL2dldC1tdWx0aXBsZS1pdGVtcy10ZXh0LXBsYWluLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3JtLXVybGVuY29kZWQu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1z
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNjaWkuaHRt
bAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5vbi1hc2NpaS10ZXh0LXBs
YWluLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvbWFpbHRvL2dldC1vdmVyd3JpdGUt
cXVlcnkuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1hcHBlbmQt
cXVlcnkuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBs
ZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9y
bXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJs
ZW5jb2RlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRp
cGxlLWl0ZW1zLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6c3VibWl0KToKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1p
dEZvcm0pOgorCiAyMDA4LTAxLTAxICBBbHAgVG9rZXIgIDxhbHBAYXRva2VyLmNvbT4KIAogICAg
ICAgICBHVEsrIGF1dG90b29scyBidWlsZCBmaXguIFRyYWNrIGNoYW5nZXMgaW4gcjI5MDUxLCBy
MjkwNTggYW5kIHBhc3MgdGhlCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAkocmV2aXNp
b24gMjkwNjApCisrKyBXZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDc0LDkgKzQ3NCwyNCBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2
ZW50KiBldmVuCiAgICAgICAgIGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbi0+c2V0QWN0aXZh
dGVkU3VibWl0KHRydWUpOwogCiAgICAgaWYgKG1fcG9zdCkgewotICAgICAgICBpZiAoIW1fbXVs
dGlwYXJ0KQotICAgICAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5zdWJtaXRGb3JtKCJQT1NUIiwg
bV91cmwsIGZvcm1EYXRhKDApLCBtX3RhcmdldCwgZW5jdHlwZSgpLCBTdHJpbmcoKSwgZXZlbnQp
OwotICAgICAgICBlbHNlIHsKKyAgICAgICAgYm9vbCBpc01haWx0b0Zvcm0gPSBtX3VybC5zdGFy
dHNXaXRoKCJtYWlsdG86IiwgZmFsc2UpOworICAgICAgICBpZiAobV9tdWx0aXBhcnQgJiYgaXNN
YWlsdG9Gb3JtKSB7CisgICAgICAgICAgICBzZXRFbmN0eXBlKCJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQiKTsKKyAgICAgICAgICAgIG1fbXVsdGlwYXJ0ID0gZmFsc2U7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAoIW1fbXVsdGlwYXJ0KSB7CisgICAgICAgICAgICBSZWZQdHI8
Rm9ybURhdGE+IGRhdGEgPSBmb3JtRGF0YSgwKTsKKyAgICAgICAgICAgIGlmIChpc01haWx0b0Zv
cm0pIHsKKyAgICAgICAgICAgICAgICBTdHJpbmcgYm9keSA9IGRhdGEtPmZsYXR0ZW5Ub1N0cmlu
ZygpOworICAgICAgICAgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShlbmN0eXBlKCksICJ0
ZXh0L3BsYWluIikpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gQ29udmVudGlvbiBzZWVtcyB0
byBiZSB0byBkZWNvZGUsIGFuZCBzLyYvXHJcbi8uIEFsc28sIHNwYWNlcyBhcmUgZW5jb2RlZCBh
cyAlMjAuCisgICAgICAgICAgICAgICAgICAgIGJvZHkgPSBLVVJMOjpkZWNvZGVfc3RyaW5nKGJv
ZHkucmVwbGFjZSgnJicsICJcclxuIikucmVwbGFjZSgnKycsICcgJykuZGVwcmVjYXRlZFN0cmlu
ZygpICsgIlxyXG4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZGF0YSA9
IG5ldyBGb3JtRGF0YSgoU3RyaW5nKCJib2R5PSIpICsgZW5jb2RlQ1N0cmluZyhib2R5LmxhdGlu
MSgpKSkucmVwbGFjZSgnKycsICIlMjAiKS5sYXRpbjEoKSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBmcmFtZS0+bG9hZGVyKCktPnN1Ym1pdEZvcm0oIlBPU1QiLCBtX3VybCwgZGF0YSwg
bV90YXJnZXQsIGVuY3R5cGUoKSwgU3RyaW5nKCksIGV2ZW50KTsKKyAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIFZlY3RvcjxjaGFyPiBib3VuZGFyeTsKICAgICAgICAgICAgIGdldFVuaXF1
ZUJvdW5kYXJ5U3RyaW5nKGJvdW5kYXJ5KTsKICAgICAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+
c3VibWl0Rm9ybSgiUE9TVCIsIG1fdXJsLCBmb3JtRGF0YShib3VuZGFyeS5kYXRhKCkpLCBtX3Rh
cmdldCwgZW5jdHlwZSgpLCBib3VuZGFyeS5kYXRhKCksIGV2ZW50KTsKSW5kZXg6IFdlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAJKHJldmlzaW9uIDI5MDYwKQorKysgV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MzksMzIgKzUzOSwyMSBAQCB2b2lkIEZyYW1lTG9h
ZGVyOjpzdWJtaXRGb3JtKGNvbnN0IGNoYXIqCiAgICAgZnJhbWVSZXF1ZXN0LnNldEZyYW1lTmFt
ZSh0YXJnZXQuaXNFbXB0eSgpID8gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YmFzZVRhcmdldCgpIDog
dGFyZ2V0KTsKIAogICAgIC8vIEhhbmRsZSBtYWlsdG86IGZvcm1zCi0gICAgYm9vbCBtYWlsdG9G
b3JtID0gdS5wcm90b2NvbCgpID09ICJtYWlsdG8iOwotICAgIGlmIChtYWlsdG9Gb3JtKSB7Ci0g
ICAgICAgIC8vIEFwcGVuZCBib2R5PQotICAgICAgICBTdHJpbmcgYm9keTsKLSAgICAgICAgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKGNvbnRlbnRUeXBlLCAibXVsdGlwYXJ0L2Zvcm0tZGF0YSIpKQot
ICAgICAgICAgICAgLy8gRklYTUU6IGlzIHRoaXMgY29ycmVjdD8gSSBzdXNwZWN0IG5vdCwgYnV0
IHdoYXQgc2l0ZSBjYW4gd2UgdGVzdCB0aGlzIG9uPwotICAgICAgICAgICAgYm9keSA9IGZvcm1E
YXRhLT5mbGF0dGVuVG9TdHJpbmcoKTsKLSAgICAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UoY29udGVudFR5cGUsICJ0ZXh0L3BsYWluIikpCi0gICAgICAgICAgICAvLyBDb252ZW50aW9u
IHNlZW1zIHRvIGJlIHRvIGRlY29kZSwgYW5kIHMvJi9cbi8KLSAgICAgICAgICAgIGJvZHkgPSBL
VVJMOjpkZWNvZGVfc3RyaW5nKAotICAgICAgICAgICAgICAgIGZvcm1EYXRhLT5mbGF0dGVuVG9T
dHJpbmcoKS5yZXBsYWNlKCcmJywgJ1xuJykKLSAgICAgICAgICAgICAgICAucmVwbGFjZSgnKycs
ICcgJykuZGVwcmVjYXRlZFN0cmluZygpKTsgLy8gUmVjb2RlIGZvciB0aGUgVVJMCi0gICAgICAg
IGVsc2UKLSAgICAgICAgICAgIGJvZHkgPSBmb3JtRGF0YS0+ZmxhdHRlblRvU3RyaW5nKCk7Ci0K
KyAgICBib29sIGlzTWFpbHRvRm9ybSA9IGVxdWFsSWdub3JpbmdDYXNlKHUucHJvdG9jb2woKSwg
Im1haWx0byIpOworICAgIGlmIChpc01haWx0b0Zvcm0gJiYgc3RyY21wKGFjdGlvbiwgIkdFVCIp
ICE9IDApIHsKKyAgICAgICAgLy8gQXBwZW5kIGJvZHk9IGZvciBQT1NUIG1haWx0bywgcmVwbGFj
ZSB0aGUgd2hvbGUgcXVlcnkgc3RyaW5nIGZvciBHRVQgb25lLgorICAgICAgICBTdHJpbmcgYm9k
eSA9IGZvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKTsKICAgICAgICAgU3RyaW5nIHF1ZXJ5ID0g
dS5xdWVyeSgpOwogICAgICAgICBpZiAoIXF1ZXJ5LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHF1
ZXJ5LmFwcGVuZCgnJicpOwotICAgICAgICB1LnNldFF1ZXJ5KChxdWVyeSArICJib2R5PSIgKyBL
VVJMOjplbmNvZGVfc3RyaW5nKGJvZHkuZGVwcmVjYXRlZFN0cmluZygpKSkuZGVwcmVjYXRlZFN0
cmluZygpKTsKKyAgICAgICAgdS5zZXRRdWVyeSgocXVlcnkgKyBib2R5KS5kZXByZWNhdGVkU3Ry
aW5nKCkpOwogICAgIH0KIAogICAgIGlmIChzdHJjbXAoYWN0aW9uLCAiR0VUIikgPT0gMCkgewot
ICAgICAgICBpZiAoIW1haWx0b0Zvcm0pCi0gICAgICAgICAgICB1LnNldFF1ZXJ5KGZvcm1EYXRh
LT5mbGF0dGVuVG9TdHJpbmcoKS5kZXByZWNhdGVkU3RyaW5nKCkpOworICAgICAgICB1LnNldFF1
ZXJ5KGZvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKS5kZXByZWNhdGVkU3RyaW5nKCkpOwogICAg
IH0gZWxzZSB7Ci0gICAgICAgIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQ
Qm9keShmb3JtRGF0YS5nZXQoKSk7CisgICAgICAgIGlmICghaXNNYWlsdG9Gb3JtKQorICAgICAg
ICAgICAgZnJhbWVSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBCb2R5KGZvcm1EYXRh
LmdldCgpKTsKICAgICAgICAgZnJhbWVSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBN
ZXRob2QoIlBPU1QiKTsKIAogICAgICAgICAvLyBjb25zdHJ1Y3Qgc29tZSB1c2VyIGhlYWRlcnMg
aWYgbmVjZXNzYXJ5CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyOTA2MCkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDA4LTAxLTAxICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDU1NQorICAgICAgICBhY3Rpb249bWFpbHRvICsgbWV0aG9kPWdldCAtIFRoZSBn
ZW5lcmF0ZWQgbWFpbHRvIFVSSSBpcyBpbmNvcnJlY3QgYW5kIHRoZSBodmFsdWVzIGFyZSBlbmNv
ZGVkIHR3aWNlCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ3NzQKKyAgICAgICAgU3VibWl0dGVkIGRhdGEgb25seSBpbmNsdWRlcyBmaXJzdCBpbnB1
dCBpdGVtCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0bzogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtZ2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtZ2V0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLXB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLXB1dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMt
dGV4dC1wbGFpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFp
bHRvL2dldC1tdWx0aXBsZS1pdGVtcy10ZXh0LXBsYWluLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3JtLXVybGVuY29k
ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9nZXQt
bXVsdGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9nZXQtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5vbi1hc2NpaS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9nZXQtbm9uLWFzY2lpLXRleHQtcGxhaW4u
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5vbi1hc2NpaS10
ZXh0LXBsYWluLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWls
dG8vZ2V0LW92ZXJ3cml0ZS1xdWVyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvbWFpbHRvL2dldC1vdmVyd3JpdGUtcXVlcnkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1hcHBlbmQtcXVlcnktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9wb3N0LWFwcGVuZC1xdWVyeS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0
aXBsZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1tdWx0aXBhcnQtZm9y
bS1kYXRhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVs
dGlwbGUtaXRlbXMtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXgtd3d3
LWZvcm0tdXJsZW5jb2RlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMu
aHRtbDogQWRkZWQuCisKIDIwMDctMTItMzEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbWFpbHRvL2FkdmFuY2VkLWdldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtZ2V0LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLWdldC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorRnJhbWUgIGF0dGVtcHRlZCB0
byBsb2FkIG1haWx0bzo/dG89dG8xJTQwc2l0ZS5jb20lMkN0bzIlNDBzaXRlLmNvbSUyQ3RvMyU0
MHNpdGUuY29tJmNjPWNjMSU0MHNpdGUuY29tJTJDY2MyJTQwc2l0ZS5jb20lMkNjYzMlNDBzaXRl
LmNvbSZiY2M9YmNjMSU0MHNpdGUuY29tJTJDYmNjMiU0MHNpdGUuY29tJTJDYmNjMyU0MHNpdGUu
Y29tJnN1YmplY3Q9bSUyNm0lM0IlM0YlM0QmYm9keT1saW5lMSUwRCUwQWxpbmUyJTBEJTBBbGlu
ZTMlMEQlMEFsaW5lNAorUHJlc3MgQ29tcG9zZSBidXR0b24gYW5kIGNoZWNrIHRoYXQgdGhlIGNy
ZWF0ZWQgZS1tYWlsIGhhcyBjb3JyZWN0IGhlYWRlcnMgYW5kIGJvZHkuCisKKyAgICAgICAgIAoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5j
ZWQtZ2V0LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0
ZXh0L3BsYWluCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21haWx0by9hZHZhbmNlZC1nZXQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9hZHZhbmNlZC1nZXQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLWdldC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8dGl0bGU+YWN0aW9uPSJtYWlsdG8iIEdFVCBtZXRob2Q8L3RpdGxl
PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAg
ICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpWzBdLnN1Ym1p
dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGlj
eURlbGVnYXRlKGZhbHNlKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorICAg
ICAgICA8cD5QcmVzcyBDb21wb3NlIGJ1dHRvbiBhbmQgY2hlY2sgdGhhdCB0aGUgY3JlYXRlZCBl
LW1haWwgaGFzIGNvcnJlY3QgaGVhZGVycyBhbmQgYm9keS48L3A+CisgICAgICAgIDxmb3JtIGFj
dGlvbj0ibWFpbHRvOiIgbWV0aG9kPSJnZXQiPgorICAgICAgICAgICAgPGlucHV0IG5hbWU9InRv
IiB2YWx1ZT0idG8xQHNpdGUuY29tLHRvMkBzaXRlLmNvbSx0bzNAc2l0ZS5jb20iPgorICAgICAg
ICAgICAgPGlucHV0IG5hbWU9ImNjIiB2YWx1ZT0iY2MxQHNpdGUuY29tLGNjMkBzaXRlLmNvbSxj
YzNAc2l0ZS5jb20iPgorICAgICAgICAgICAgPGlucHV0IG5hbWU9ImJjYyIgdmFsdWU9ImJjYzFA
c2l0ZS5jb20sYmNjMkBzaXRlLmNvbSxiY2MzQHNpdGUuY29tIj4KKyAgICAgICAgICAgIDxpbnB1
dCBuYW1lPSJzdWJqZWN0IiB2YWx1ZT0ibSZhbXA7bTs/PSI+Cis8dGV4dGFyZWEgbmFtZT0iYm9k
eSI+bGluZTEKK2xpbmUyCitsaW5lMworbGluZTQ8L3RleHRhcmVhPgorICAgICAgICAgICAgPGlu
cHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkNvbXBvc2UiPgorICAgICAgICA8L2Zvcm0+CisgICAg
PC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tYWlsdG8vYWR2YW5jZWQtZ2V0Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10
eXBlCiAgICsgdGV4dC9odG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8v
YWR2YW5jZWQtcHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21haWx0by9hZHZhbmNlZC1wdXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtcHV0LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitGcmFtZSAgYXR0ZW1wdGVkIHRvIGxvYWQgbWFp
bHRvOj90bz10bzElNDBzaXRlLmNvbSUyQ3RvMiU0MHNpdGUuY29tJTJDdG8zJTQwc2l0ZS5jb20m
Y2M9Y2MxJTQwc2l0ZS5jb20lMkNjYzIlNDBzaXRlLmNvbSUyQ2NjMyU0MHNpdGUuY29tJmJjYz1i
Y2MxJTQwc2l0ZS5jb20lMkNiY2MyJTQwc2l0ZS5jb20lMkNiY2MzJTQwc2l0ZS5jb20mc3ViamVj
dD1tJTI2bSUzQiUzRiUzRCZib2R5PWxpbmUxJTBEJTBBbGluZTIlMEQlMEFsaW5lMyUwRCUwQWxp
bmU0CitQcmVzcyBDb21wb3NlIGJ1dHRvbiBhbmQgY2hlY2sgdGhhdCB0aGUgY3JlYXRlZCBlLW1h
aWwgaGFzIGNvcnJlY3QgaGVhZGVycyBhbmQgYm9keS4KKworICAgICAgICAgCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9hZHZhbmNlZC1wdXQtZXhw
ZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxhaW4K
TmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbWFpbHRvL2FkdmFuY2VkLXB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbWFpbHRvL2FkdmFuY2VkLXB1dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vYWR2YW5jZWQtcHV0Lmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDx0aXRsZT5hY3Rpb249Im1haWx0byIgUFVUIG1ldGhvZDwvdGl0bGU+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKHRydWUpOworICAgICAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIilbMF0uc3VibWl0KCk7CisgICAg
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUo
ZmFsc2UpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisgICAgICAgIDxwPlBy
ZXNzIENvbXBvc2UgYnV0dG9uIGFuZCBjaGVjayB0aGF0IHRoZSBjcmVhdGVkIGUtbWFpbCBoYXMg
Y29ycmVjdCBoZWFkZXJzIGFuZCBib2R5LjwvcD4KKyAgICAgICAgPGZvcm0gYWN0aW9uPSJtYWls
dG86IiBtZXRob2Q9InB1dCI+CisgICAgICAgICAgICA8aW5wdXQgbmFtZT0idG8iIHZhbHVlPSJ0
bzFAc2l0ZS5jb20sdG8yQHNpdGUuY29tLHRvM0BzaXRlLmNvbSI+CisgICAgICAgICAgICA8aW5w
dXQgbmFtZT0iY2MiIHZhbHVlPSJjYzFAc2l0ZS5jb20sY2MyQHNpdGUuY29tLGNjM0BzaXRlLmNv
bSI+CisgICAgICAgICAgICA8aW5wdXQgbmFtZT0iYmNjIiB2YWx1ZT0iYmNjMUBzaXRlLmNvbSxi
Y2MyQHNpdGUuY29tLGJjYzNAc2l0ZS5jb20iPgorICAgICAgICAgICAgPGlucHV0IG5hbWU9InN1
YmplY3QiIHZhbHVlPSJtJmFtcDttOz89Ij4KKzx0ZXh0YXJlYSBuYW1lPSJib2R5Ij5saW5lMQor
bGluZTIKK2xpbmUzCitsaW5lNDwvdGV4dGFyZWE+CisgICAgICAgICAgICA8aW5wdXQgdHlwZT0i
c3VibWl0IiB2YWx1ZT0iQ29tcG9zZSI+CisgICAgICAgIDwvZm9ybT4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0
by9hZHZhbmNlZC1wdXQuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0
ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlw
bGUtaXRlbXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0ZyYW1lICBhdHRlbXB0ZWQgdG8g
bG9hZCBtYWlsdG86bm9ib2R5QGdtYWlsLmNvbT9maWVsZDE9dmFsdWUrMSZmaWVsZDI9dmFsdWUr
MgorRmllbGQgMTogIEZpZWxkIDI6ICAKK0V4cGVjdGVkIHJlc3VsdHMgd2hlbiBjbGlja2luZyAi
U2VuZCIgYnV0dG9uOiBBIG5ldyBtYWlsIG1lc3NhZ2UgaXMgY3JlYXRlZCB3aXRoIGFuIGVtcHR5
IGJvZHkuCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0
by9nZXQtbXVsdGlwbGUtaXRlbXMtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1p
bWUtdHlwZQogICArIHRleHQvcGxhaW4KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy10
ZXh0LXBsYWluLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUt
aXRlbXMtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBA
QAorRnJhbWUgIGF0dGVtcHRlZCB0byBsb2FkIG1haWx0bzo/dG89b25lJTQwZXhhbXBsZS5vcmcm
Ym9keT1MaW5lKzElMEQlMEFMaW5lKzIlMEQlMEElNDAlMjYlM0QlMkMlM0IlM0YlMjIKK0ZpZWxk
IDE6ICBGaWVsZCAyOiAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9s
LXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8v
Z2V0LW11bHRpcGxlLWl0ZW1zLXRleHQtcGxhaW4uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRp
cGxlLWl0ZW1zLXRleHQtcGxhaW4uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAor
PGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGZvcm0gbWV0aG9kPSJnZXQiIGVuY3R5cGU9InRleHQv
cGxhaW4iIGFjdGlvbj0ibWFpbHRvOiI+CitGaWVsZCAxOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6
ZT0iMTAiIG1heGxlbmd0aD0iNDAiIG5hbWU9InRvIiB2YWx1ZT0ib25lQGV4YW1wbGUub3JnIj4K
K0ZpZWxkIDI6IDx0ZXh0YXJlYSBuYW1lPSJib2R5Ij5MaW5lIDEKK0xpbmUgMgorQCZhbXA7PSw7
PyI8L3RleHRhcmVhPgorPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlbmQiPiAKKzwvZm9y
bT4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKHRydWUpOworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIilbMF0uc3VibWl0KCk7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoZmFsc2UpOworICB9
Cit9Cis8L3NjcmlwdD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy10ZXh0LXBsYWluLmh0bWwKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpO
YW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9odG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8v
Z2V0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUt
aXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwyIEBACitGcmFtZSAgYXR0ZW1wdGVkIHRvIGxvYWQgbWFpbHRvOm5vYm9keUBnbWFp
bC5jb20/dG89b25lJTQwZXhhbXBsZS5vcmcmZmllbGQyPXZhbHVlKzIKK0ZpZWxkIDE6ICBGaWVs
ZCAyOiAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0
by9nZXQtbXVsdGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLWV4cGVjdGVkLnR4dApf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6IHN2bjpl
b2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0
by9nZXQtbXVsdGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1zLXgt
d3d3LWZvcm0tdXJsZW5jb2RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+
Cis8Zm9ybSBtZXRob2Q9ImdldCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxl
bmNvZGVkIiBhY3Rpb249Im1haWx0bzpub2JvZHlAZ21haWwuY29tIj4KK0ZpZWxkIDE6IDxpbnB1
dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSI0MCIgbmFtZT0idG8iIHZhbHVlPSJv
bmVAZXhhbXBsZS5vcmciPgorRmllbGQgMjogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjEwIiBt
YXhsZW5ndGg9IjQwIiBuYW1lPSJmaWVsZDIiIHZhbHVlPSJ2YWx1ZSAyIj4KKzxpbnB1dCB0eXBl
PSJzdWJtaXQiIHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVz
dCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRD
dXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgiZm9ybSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1
c3RvbVBvbGljeURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRl
bXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10
eXBlCiAgICsgdGV4dC9odG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8v
Z2V0LW11bHRpcGxlLWl0ZW1zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tYWlsdG8vZ2V0LW11bHRpcGxlLWl0ZW1zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbXVsdGlwbGUtaXRlbXMuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNyBAQAorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGZvcm0gbWV0
aG9kPSJnZXQiIGFjdGlvbj0ibWFpbHRvOm5vYm9keUBnbWFpbC5jb20iPgorRmllbGQgMTogPGlu
cHV0IHR5cGU9InRleHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJmaWVsZDEiIHZh
bHVlPSJ2YWx1ZSAxIj4KK0ZpZWxkIDI6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMCIgbWF4
bGVuZ3RoPSI0MCIgbmFtZT0iZmllbGQyIiB2YWx1ZT0idmFsdWUgMiI+Cis8aW5wdXQgdHlwZT0i
c3VibWl0IiB2YWx1ZT0iU2VuZCI+IAorPC9mb3JtPgorPGRpdj5FeHBlY3RlZCByZXN1bHRzIHdo
ZW4gY2xpY2tpbmcgIlNlbmQiIGJ1dHRvbjogIEEgbmV3IG1haWwgbWVzc2FnZSBpcyBjcmVhdGVk
IHdpdGggYW4gZW1wdHkgYm9keS48L2Rpdj4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgewor
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBv
bGljeURlbGVnYXRlKHRydWUpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJm
b3JtIilbMF0uc3VibWl0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9s
aWN5RGVsZWdhdGUoZmFsc2UpOworICB9Cit9Cis8L3NjcmlwdD4KClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1tdWx0aXBsZS1pdGVtcy5odG1s
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNjaWktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNjaWkt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWls
dG8vZ2V0LW5vbi1hc2NpaS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBA
QAorRnJhbWUgIGF0dGVtcHRlZCB0byBsb2FkIG1haWx0bzpvbmVAZXhhbXBsZS5vcmc/c3ViamVj
dD1GciVDMyVBOHJlK0ZyYW4lQzMlQTdvaXMmYm9keT0lRDAlOUYlRDElODAlRDAlQkUlRDAlQjIl
RDAlQjUlRDElODAlRDAlQkElRDAlQjAKKyAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dApfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6IHN2bjplb2wtc3R5
bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQt
bm9uLWFzY2lpLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNjaWktdGV4dC1wbGFpbi1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbm9u
LWFzY2lpLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIg
QEAKK0ZyYW1lICBhdHRlbXB0ZWQgdG8gbG9hZCBtYWlsdG86b25lQGV4YW1wbGUub3JnP3N1Ympl
Y3Q9RnIlQzMlQThyZStGcmFuJUMzJUE3b2lzJmJvZHk9JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIy
JUQwJUI1JUQxJTgwJUQwJUJBJUQwJUIwCisgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5vbi1hc2NpaS10ZXh0LXBsYWluLWV4cGVjdGVk
LnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6
IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L21haWx0by9nZXQtbm9uLWFzY2lpLXRleHQtcGxhaW4uaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtbm9uLWFzY2lpLXRleHQtcGxhaW4uaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1ub24tYXNj
aWktdGV4dC1wbGFpbi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8Zm9ybSBtZXRob2Q9Imdl
dCIgZW5jdHlwZT0idGV4dC9wbGFpbiIgYWN0aW9uPSJtYWlsdG86b25lQGV4YW1wbGUub3JnIj4K
KzxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSI0MCIgbmFtZT0ic3ViamVj
dCIgdmFsdWU9IkZyJmVncmF2ZTtyZSBGcmFuJmNjZWRpbDtvaXMiPgorPGlucHV0IHR5cGU9InRl
eHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJib2R5IiB2YWx1ZT0i0J/RgNC+0LLQ
tdGA0LrQsCI+Cis8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VuZCI+Cis8L2Zvcm0+Cis8
c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQor
PC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21h
aWx0by9nZXQtbm9uLWFzY2lpLXRleHQtcGxhaW4uaHRtbApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpt
aW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21h
aWx0by9nZXQtbm9uLWFzY2lpLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tYWlsdG8vZ2V0LW5vbi1hc2NpaS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW5vbi1hc2NpaS5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE3IEBACis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8Ym9keSBvbmxvYWQ9InRlc3Qo
KSI+Cis8Zm9ybSBtZXRob2Q9ImdldCIgYWN0aW9uPSJtYWlsdG86b25lQGV4YW1wbGUub3JnIj4K
KzxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSI0MCIgbmFtZT0ic3ViamVj
dCIgdmFsdWU9IkZyJmVncmF2ZTtyZSBGcmFuJmNjZWRpbDtvaXMiPgorPGlucHV0IHR5cGU9InRl
eHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJib2R5IiB2YWx1ZT0i0J/RgNC+0LLQ
tdGA0LrQsCI+Cis8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VuZCI+IAorPC9mb3JtPgor
PHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUodHJ1ZSk7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZvcm0iKVswXS5zdWJtaXQoKTsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShmYWxzZSk7CisgIH0KK30K
Kzwvc2NyaXB0PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
YWlsdG8vZ2V0LW5vbi1hc2NpaS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQog
ICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dldC1v
dmVyd3JpdGUtcXVlcnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbWFpbHRvL2dldC1vdmVyd3JpdGUtcXVlcnktZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW92ZXJ3cml0ZS1xdWVy
eS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorRnJhbWUgIGF0dGVt
cHRlZCB0byBsb2FkIG1haWx0bzpub2JvZHlAZ21haWwuY29tP3RvPXNvbWVvbmUlNDBleGFtcGxl
Lm9yZworIAorRXhwZWN0ZWQgcmVzdWx0cyB3aGVuIGNsaWNraW5nICJTZW5kIiBidXR0b246IEEg
bmV3IG1haWwgbWVzc2FnZSBpcyBjcmVhdGVkIHdpdGggYW4gZW1wdHkgYm9keSwgYW5kIHR3byBh
ZGRyZXNzZWVzLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
YWlsdG8vZ2V0LW92ZXJ3cml0ZS1xdWVyeS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBz
dm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0
aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vZ2V0LW92ZXJ3cml0ZS1x
dWVyeS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL2dl
dC1vdmVyd3JpdGUtcXVlcnkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbWFpbHRvL2dldC1vdmVyd3JpdGUtcXVlcnkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxNiBAQAorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGZvcm0gbWV0aG9kPSJnZXQiIGFj
dGlvbj0ibWFpbHRvOm5vYm9keUBnbWFpbC5jb20/dG89YW5vdGhlckBleGFtcGxlLm9yZyZhbXA7
Ym9keT1Cb2R5Ij4KKzxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSI0MCIg
bmFtZT0idG8iIHZhbHVlPSJzb21lb25lQGV4YW1wbGUub3JnIj4KKzxpbnB1dCB0eXBlPSJzdWJt
aXQiIHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8ZGl2PkV4cGVjdGVkIHJlc3VsdHMgd2hlbiBj
bGlja2luZyAiU2VuZCIgYnV0dG9uOiAgQSBuZXcgbWFpbCBtZXNzYWdlIGlzIGNyZWF0ZWQgd2l0
aCBhbiBlbXB0eSBib2R5LCBhbmQgdHdvIGFkZHJlc3NlZXMuPC9kaXY+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gdGVzdCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgiZm9ybSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQorPC9zY3JpcHQ+CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9nZXQtb3Zl
cndyaXRlLXF1ZXJ5Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4
dC9odG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1hcHBlbmQt
cXVlcnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bWFpbHRvL3Bvc3QtYXBwZW5kLXF1ZXJ5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtYXBwZW5kLXF1ZXJ5LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitGcmFtZSAgYXR0ZW1wdGVkIHRvIGxvYWQg
bWFpbHRvOm5vYm9keUBnbWFpbC5jb20/dG89YW5vdGhlckBleGFtcGxlLm9yZyZib2R5PUJvZHkm
Ym9keT10byUzRHNvbWVvbmUlMjU0MGV4YW1wbGUub3JnCisgCitFeHBlY3RlZCByZXN1bHRzIHdo
ZW4gY2xpY2tpbmcgIlNlbmQiIGJ1dHRvbjogQSBuZXcgbWFpbCBtZXNzYWdlIGlzIGNyZWF0ZWQg
d2l0aCBhbiBlbXB0eSBib2R5LCBhbmQgdHdvIGFkZHJlc3NlZXMuCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LWFwcGVuZC1xdWVyeS1leHBl
Y3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpO
YW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tYWlsdG8vcG9zdC1hcHBlbmQtcXVlcnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LWFwcGVuZC1xdWVyeS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1hcHBlbmQtcXVlcnkuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgor
PGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Im1haWx0bzpub2JvZHlAZ21haWwuY29tP3RvPWFu
b3RoZXJAZXhhbXBsZS5vcmcmYW1wO2JvZHk9Qm9keSI+Cis8aW5wdXQgdHlwZT0idGV4dCIgc2l6
ZT0iMTAiIG1heGxlbmd0aD0iNDAiIG5hbWU9InRvIiB2YWx1ZT0ic29tZW9uZUBleGFtcGxlLm9y
ZyI+Cis8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VuZCI+IAorPC9mb3JtPgorPGRpdj5F
eHBlY3RlZCByZXN1bHRzIHdoZW4gY2xpY2tpbmcgIlNlbmQiIGJ1dHRvbjogIEEgbmV3IG1haWwg
bWVzc2FnZSBpcyBjcmVhdGVkIHdpdGggYW4gZW1wdHkgYm9keSwgYW5kIHR3byBhZGRyZXNzZWVz
LjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUodHJ1ZSk7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZvcm0iKVswXS5zdWJtaXQoKTsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShmYWxzZSk7
CisgIH0KK30KKzwvc2NyaXB0PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tYWlsdG8vcG9zdC1hcHBlbmQtcXVlcnkuaHRtbApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2
bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3Qt
bXVsdGlwbGUtaXRlbXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAK
K0ZyYW1lICBhdHRlbXB0ZWQgdG8gbG9hZCBtYWlsdG86bm9ib2R5QGdtYWlsLmNvbT9ib2R5PWZp
ZWxkMSUzRHZhbHVlJTJCMSUyNmZpZWxkMiUzRHZhbHVlJTJCMgorRmllbGQgMTogIEZpZWxkIDI6
ICAKK0V4cGVjdGVkIHJlc3VsdHMgd2hlbiBjbGlja2luZyAiU2VuZCIgYnV0dG9uOiBBIG5ldyBt
YWlsIG1lc3NhZ2UgaXMgY3JlYXRlZCB3aXRoIGEgYm9keSBvZiAiZmllbGQxPXZhbHVlIDEmZmll
bGQyPXZhbHVlIDIiLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1l
OiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsg
bmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBs
ZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLW11bHRpcGFy
dC1mb3JtLWRhdGEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitGcmFtZSAgYXR0ZW1wdGVk
IHRvIGxvYWQgbWFpbHRvOj9ib2R5PXRvJTNEb25lJTI1NDBleGFtcGxlLm9yZyUyNmJvZHklM0RM
aW5lJTJCMSUyNTBEJTI1MEFMaW5lJTJCMiUyNTBEJTI1MEElMjU0MCUyNTI2JTI1M0QlMjUyQyUy
NTNCJTI1M0YlMjUyMgorRmllbGQgMTogIEZpZWxkIDI6ICAKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtbXVsdGlw
YXJ0LWZvcm0tZGF0YS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBl
CiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1tdWx0aXBh
cnQtZm9ybS1kYXRhLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
YWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy1tdWx0aXBhcnQtZm9ybS1kYXRhLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0
ZW1zLW11bHRpcGFydC1mb3JtLWRhdGEuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBA
QAorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGZvcm0gbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJt
dWx0aXBhcnQvZm9ybS1kYXRhIiBhY3Rpb249Im1haWx0bzoiPgorRmllbGQgMTogPGlucHV0IHR5
cGU9InRleHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJ0byIgdmFsdWU9Im9uZUBl
eGFtcGxlLm9yZyI+CitGaWVsZCAyOiA8dGV4dGFyZWEgbmFtZT0iYm9keSI+TGluZSAxCitMaW5l
IDIKK0AmYW1wOz0sOz8iPC90ZXh0YXJlYT4KKzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJT
ZW5kIj4gCis8L2Zvcm0+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0
ZSh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpWzBdLnN1
Ym1pdCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRl
KGZhbHNlKTsKKyAgfQorfQorPC9zY3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLW11bHRpcGFydC1mb3Jt
LWRhdGEuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwK
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1z
LXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRp
cGxlLWl0ZW1zLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIgQEAKK0ZyYW1lICBhdHRlbXB0ZWQgdG8gbG9hZCBtYWlsdG86P2JvZHk9dG8lM0RvbmUlNDBl
eGFtcGxlLm9yZyUwRCUwQWJvZHklM0RMaW5lJTIwMSUwRCUwQUxpbmUlMjAyJTBEJTBBJTQwJTI2
JTNEJTJDJTNCJTNGJTIyJTJCJTBEJTBBCitGaWVsZCAxOiAgRmllbGQgMjogIAoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1p
dGVtcy10ZXh0LXBsYWluLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5
cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLXRleHQt
cGxhaW4uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9w
b3N0LW11bHRpcGxlLWl0ZW1zLXRleHQtcGxhaW4uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMtdGV4dC1wbGFpbi5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+
Cis8Zm9ybSBtZXRob2Q9InBvc3QiIGVuY3R5cGU9InRleHQvcGxhaW4iIGFjdGlvbj0ibWFpbHRv
OiI+CitGaWVsZCAxOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTAiIG1heGxlbmd0aD0iNDAi
IG5hbWU9InRvIiB2YWx1ZT0ib25lQGV4YW1wbGUub3JnIj4KK0ZpZWxkIDI6IDx0ZXh0YXJlYSBu
YW1lPSJib2R5Ij5MaW5lIDEKK0xpbmUgMgorQCZhbXA7PSw7PyIrPC90ZXh0YXJlYT4KKzxpbnB1
dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8c2NyaXB0PgorZnVuY3Rp
b24gdGVzdCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgiZm9ybSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldEN1c3RvbVBvbGljeURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQorPC9zY3JpcHQ+CgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRp
cGxlLWl0ZW1zLXRleHQtcGxhaW4uaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUK
ICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0
LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVt
cy14LXd3dy1mb3JtLXVybGVuY29kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3Jt
LXVybGVuY29kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0Zy
YW1lICBhdHRlbXB0ZWQgdG8gbG9hZCBtYWlsdG86P2JvZHk9dG8lM0RvbmUlMjU0MGV4YW1wbGUu
b3JnJTI2Ym9keSUzRExpbmUlMkIxJTI1MEQlMjUwQUxpbmUlMkIyJTI1MEQlMjUwQSUyNTQwJTI1
MjYlMjUzRCUyNTJDJTI1M0IlMjUzRiUyNTIyCitGaWVsZCAxOiAgRmllbGQgMjogIAoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBs
ZS1pdGVtcy14LXd3dy1mb3JtLXVybGVuY29kZWQtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFt
ZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxhaW4KTmFtZTogc3ZuOmVvbC1zdHlsZQogICAr
IG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlw
bGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tYWlsdG8vcG9zdC1tdWx0aXBsZS1pdGVtcy14LXd3dy1mb3JtLXVy
bGVuY29kZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFp
bHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMteC13d3ctZm9ybS11cmxlbmNvZGVkLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTggQEAKKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxmb3JtIG1l
dGhvZD0icG9zdCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBh
Y3Rpb249Im1haWx0bzoiPgorRmllbGQgMTogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjEwIiBt
YXhsZW5ndGg9IjQwIiBuYW1lPSJ0byIgdmFsdWU9Im9uZUBleGFtcGxlLm9yZyI+CitGaWVsZCAy
OiA8dGV4dGFyZWEgbmFtZT0iYm9keSI+TGluZSAxCitMaW5lIDIKK0AmYW1wOz0sOz8iPC90ZXh0
YXJlYT4KKzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpWzBdLnN1Ym1pdCgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKGZhbHNlKTsKKyAgfQorfQorPC9z
Y3JpcHQ+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0
by9wb3N0LW11bHRpcGxlLWl0ZW1zLXgtd3d3LWZvcm0tdXJsZW5jb2RlZC5odG1sCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRpcGxlLWl0ZW1zLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21haWx0by9wb3N0LW11bHRp
cGxlLWl0ZW1zLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKKzxib2R5IG9ubG9h
ZD0idGVzdCgpIj4KKzxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJtYWlsdG86bm9ib2R5QGdt
YWlsLmNvbSI+CitGaWVsZCAxOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTAiIG1heGxlbmd0
aD0iNDAiIG5hbWU9ImZpZWxkMSIgdmFsdWU9InZhbHVlIDEiPgorRmllbGQgMjogPGlucHV0IHR5
cGU9InRleHQiIHNpemU9IjEwIiBtYXhsZW5ndGg9IjQwIiBuYW1lPSJmaWVsZDIiIHZhbHVlPSJ2
YWx1ZSAyIj4KKzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIj4gCis8L2Zvcm0+Cis8
ZGl2PkV4cGVjdGVkIHJlc3VsdHMgd2hlbiBjbGlja2luZyAiU2VuZCIgYnV0dG9uOiAgQSBuZXcg
bWFpbCBtZXNzYWdlIGlzIGNyZWF0ZWQgd2l0aCBhIGJvZHkgb2YgImZpZWxkMT12YWx1ZSAxJmZp
ZWxkMj12YWx1ZSAyIi48L2Rpdj4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEN1c3RvbVBvbGljeURl
bGVnYXRlKHRydWUpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIilb
MF0uc3VibWl0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q3VzdG9tUG9saWN5RGVs
ZWdhdGUoZmFsc2UpOworICB9Cit9Cis8L3NjcmlwdD4KClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMuaHRtbApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCg==
</data>
<flag name="review"
          id="7930"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>