<?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>224933</bug_id>
          
          <creation_ts>2021-04-22 08:34:14 -0700</creation_ts>
          <short_desc>[LayoutTests] http/tests/misc/last-modified-parsing.html handles non-standard dates differently in PHP than Python</short_desc>
          <delta_ts>2021-05-12 16:24:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=224622</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Gambrell">cgambrell</reporter>
          <assigned_to name="Chris Gambrell">cgambrell</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gsnedders</cc>
    
    <cc>jbedard</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1753176</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-22 08:34:14 -0700</bug_when>
    <thetext>In PHP, the Last-Modified header will send with any format of date, even if the date-string is blank it will send a blank Last-Modified header.

When Python encounters a non-standard/blank date-string, it will not send the Last-Modified header. 

This test tests expectations with standard and non-standard dates. We need to change the test to match the expectations from Python with how it handles non-standard dates in the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753177</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-22 08:35:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/77020039&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753252</commentid>
    <comment_count>2</comment_count>
      <attachid>426837</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-22 12:30:20 -0700</bug_when>
    <thetext>Created attachment 426837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753255</commentid>
    <comment_count>3</comment_count>
      <attachid>426837</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-22 12:32:53 -0700</bug_when>
    <thetext>Comment on attachment 426837
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=426837&amp;action=review

&gt; LayoutTests/http/tests/misc/last-modified-parsing-expected.txt:11
&gt;  Fri, 21 Nov 2008 01:03:33 GMT

Removed untested dates

&gt; LayoutTests/http/tests/misc/last-modified-parsing.html:12
&gt;  test(&apos;Tuesday, 21 Nov 2008 01:03:33 GMT&apos;);

Removed non-standard dates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754057</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-25 13:31:43 -0700</bug_when>
    <thetext>We want to test how WebKit software (the whole stack, including CFNetwork) handles these date formats. I understand that the Python library we are using makes it difficult to test this, but that doesn’t remove the need to do the testing. How will we do this testing, now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754173</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-26 07:06:41 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; We want to test how WebKit software (the whole stack, including CFNetwork)
&gt; handles these date formats. I understand that the Python library we are
&gt; using makes it difficult to test this, but that doesn’t remove the need to
&gt; do the testing. How will we do this testing, now?

This actually isn&apos;t a limitation of Python. It&apos;s a limitation of Apache, which refuses to serve what it considers invalid date formats coming from CGI scripts. Short of building our own webserver, I&apos;m not sure what can be done. Apache could end up taking away this ability from PHP in a future update as well. As reflected in Chris&apos;s EWS run, Apache  on Windows looks like it has a more strict set of rules than on other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754325</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-26 13:09:26 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #5)
&gt; (In reply to Darin Adler from comment #4)
&gt; &gt; We want to test how WebKit software (the whole stack, including CFNetwork)
&gt; &gt; handles these date formats. I understand that the Python library we are
&gt; &gt; using makes it difficult to test this, but that doesn’t remove the need to
&gt; &gt; do the testing. How will we do this testing, now?
&gt; 
&gt; This actually isn&apos;t a limitation of Python. It&apos;s a limitation of Apache,
&gt; which refuses to serve what it considers invalid date formats coming from
&gt; CGI scripts. Short of building our own webserver, I&apos;m not sure what can be
&gt; done. Apache could end up taking away this ability from PHP in a future
&gt; update as well. As reflected in Chris&apos;s EWS run, Apache  on Windows looks
&gt; like it has a more strict set of rules than on other platforms.

OK. So we can’t use Apache for this.

How can we test this aspect of WebKit networking behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754337</commentid>
    <comment_count>7</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-26 13:25:05 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; (In reply to Jonathan Bedard from comment #5)
&gt; &gt; (In reply to Darin Adler from comment #4)
&gt; &gt; &gt; We want to test how WebKit software (the whole stack, including CFNetwork)
&gt; &gt; &gt; handles these date formats. I understand that the Python library we are
&gt; &gt; &gt; using makes it difficult to test this, but that doesn’t remove the need to
&gt; &gt; &gt; do the testing. How will we do this testing, now?
&gt; &gt; 
&gt; &gt; This actually isn&apos;t a limitation of Python. It&apos;s a limitation of Apache,
&gt; &gt; which refuses to serve what it considers invalid date formats coming from
&gt; &gt; CGI scripts. Short of building our own webserver, I&apos;m not sure what can be
&gt; &gt; done. Apache could end up taking away this ability from PHP in a future
&gt; &gt; update as well. As reflected in Chris&apos;s EWS run, Apache  on Windows looks
&gt; &gt; like it has a more strict set of rules than on other platforms.
&gt; 
&gt; OK. So we can’t use Apache for this.
&gt; 
&gt; How can we test this aspect of WebKit networking behavior?

Alexey pointed out there is an Apache setting, `send-as-is`, which may let us work-around this.

If that fails, the next step would be looking at the wpt webserver and see if that lets us test what we&apos;re looking to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754347</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-04-26 13:33:45 -0700</bug_when>
    <thetext>https://httpd.apache.org/docs/current/mod/mod_asis.html

This cannot perform any processing of course, it&apos;s just a fixed response.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754366</commentid>
    <comment_count>9</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-26 14:08:08 -0700</bug_when>
    <thetext>AsIs still changes these dates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754510</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-04-27 00:17:09 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #7)
&gt; If that fails, the next step would be looking at the wpt webserver and see
&gt; if that lets us test what we&apos;re looking to.

This definitely works with wptserve.

Note that the server has a bunch of built-in support for things like varying headers: https://web-platform-tests.org/writing-tests/server-pipes.html#headers, so we can just replace last-modified.php with an HTML file.

(Ideally we&apos;d rewrite this to use testharness.js with moving it to http/wpt, but that&apos;s a larger change!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758993</commentid>
    <comment_count>11</comment_count>
      <attachid>428297</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-05-11 11:13:00 -0700</bug_when>
    <thetext>Created attachment 428297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759023</commentid>
    <comment_count>12</comment_count>
      <attachid>428297</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-11 12:09:33 -0700</bug_when>
    <thetext>Comment on attachment 428297
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=428297&amp;action=review

&gt; LayoutTests/http/wpt/misc/last-modified-parsing.js:6
&gt; +}

Any reason we didn&apos;t put this inside http/wpt/misc/no-last-modified.html?

&gt; LayoutTests/http/wpt/misc/no-last-modified.js:4
&gt; +}, &quot;Last-Modified sent with no date&quot;);

Any reason we didn&apos;t put this inside http/wpt/misc/no-last-modified.html?

&gt; LayoutTests/platform/win/TestExpectations:-4410
&gt; -webkit.org/b/209455 http/tests/misc/last-modified-parsing.html [ Failure ]

Pretty sure Windows will still struggle with this, although I suppose it&apos;s possible that is was actually Apache that was the problem, and not the engine, I guess EWS will let us know</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759231</commentid>
    <comment_count>13</comment_count>
      <attachid>428297</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-05-12 05:41:24 -0700</bug_when>
    <thetext>Comment on attachment 428297
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=428297&amp;action=review

&gt; LayoutTests/http/wpt/misc/last-modified-parsing.js:1
&gt; +function test(date) {

Let&apos;s not call this function test, as that redefines the test function defined in testharness.js; maybe test_last_modified or something?

&gt; LayoutTests/http/wpt/misc/no-last-modified.js:3
&gt; +    assert_greater_than((new Date(Date.parse(actual))).getTime(), (new Date()).getTime() - (24+1)*60*60*1000);

We probably want `assert_approx_equals` with an epsilon of maybe 1 minute?

&gt;&gt; LayoutTests/http/wpt/misc/no-last-modified.js:4
&gt;&gt; +}, &quot;Last-Modified sent with no date&quot;);
&gt; 
&gt; Any reason we didn&apos;t put this inside http/wpt/misc/no-last-modified.html?

Additionally, is there any reason why we don&apos;t just put this into last-modified-parsing.html? It leads to us having last-modified-utilities.sub.js as a separate file, and it&apos;s not clear what the benefit here is? It&apos;s still about parsing a header value, just an empty one.

&gt; LayoutTests/http/wpt/misc/resources/last-modified-utilities.sub.js:1
&gt; +function observeResources(n) {

This function is dead code.

&gt; LayoutTests/http/wpt/misc/resources/last-modified-utilities.sub.js:24
&gt; +            iframe.addEventListener(&apos;error&apos;, reject);

We don&apos;t want the error event here (there&apos;s no error event ever fired on an iframe, far as I can tell)

&gt; LayoutTests/http/wpt/misc/resources/last-modified-utilities.sub.js:26
&gt; +        iframe.src = &quot;/common/blank.html?pipe=header(Last-Modified,&quot; + header_value.replace(&apos; &apos;, &apos;%20&apos;).replace(&apos;,&apos;, &apos;\\,&apos;) + &quot;)&quot;;

What&apos;s the reason for the header_value.replace(&apos; &apos;, &apos;%20&apos;) (which the browser&apos;s URL parsing will do anyway), versus something broader like encodeURI/encodeURIComponent?

&gt; LayoutTests/http/wpt/misc/resources/last-modified-utilities.sub.js:32
&gt; +}

This file doesn&apos;t need .sub. in its name. (See also above about merging no-last-modified and last-modified-parsing, which would mean this file could then be merged into last-modified-parsing.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759385</commentid>
    <comment_count>14</comment_count>
      <attachid>428413</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-05-12 13:42:01 -0700</bug_when>
    <thetext>Created attachment 428413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759386</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-05-12 13:43:03 -0700</bug_when>
    <thetext>(In reply to Sam Sneddon [:gsnedders] from comment #13)
&gt; Comment on attachment 428297 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=428297&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/wpt/misc/last-modified-parsing.js:1
&gt; &gt; +function test(date) {
&gt; 
&gt; Let&apos;s not call this function test, as that redefines the test function
&gt; defined in testharness.js; maybe test_last_modified or something?
&gt; 
&gt; &gt; LayoutTests/http/wpt/misc/no-last-modified.js:3
&gt; &gt; +    assert_greater_than((new Date(Date.parse(actual))).getTime(), (new Date()).getTime() - (24+1)*60*60*1000);
&gt; 
&gt; We probably want `assert_approx_equals` with an epsilon of maybe 1 minute?
&gt; 
&gt; &gt;&gt; LayoutTests/http/wpt/misc/no-last-modified.js:4
&gt; &gt;&gt; +}, &quot;Last-Modified sent with no date&quot;);
&gt; &gt; 
&gt; &gt; Any reason we didn&apos;t put this inside http/wpt/misc/no-last-modified.html?
&gt; 
&gt; Additionally, is there any reason why we don&apos;t just put this into
&gt; last-modified-parsing.html? It leads to us having
&gt; last-modified-utilities.sub.js as a separate file, and it&apos;s not clear what
&gt; the benefit here is? It&apos;s still about parsing a header value, just an empty
&gt; one.
&gt; 
&gt; &gt; LayoutTests/http/wpt/misc/resources/last-modified-utilities.sub.js:1
&gt; &gt; +function observeResources(n) {
&gt; 
&gt; This function is dead code.
&gt; 
&gt; &gt; LayoutTests/http/wpt/misc/resources/last-modified-utilities.sub.js:24
&gt; &gt; +            iframe.addEventListener(&apos;error&apos;, reject);
&gt; 
&gt; We don&apos;t want the error event here (there&apos;s no error event ever fired on an
&gt; iframe, far as I can tell)
&gt; 
&gt; &gt; LayoutTests/http/wpt/misc/resources/last-modified-utilities.sub.js:26
&gt; &gt; +        iframe.src = &quot;/common/blank.html?pipe=header(Last-Modified,&quot; + header_value.replace(&apos; &apos;, &apos;%20&apos;).replace(&apos;,&apos;, &apos;\\,&apos;) + &quot;)&quot;;
&gt; 
&gt; What&apos;s the reason for the header_value.replace(&apos; &apos;, &apos;%20&apos;) (which the
&gt; browser&apos;s URL parsing will do anyway), versus something broader like
&gt; encodeURI/encodeURIComponent?
&gt; 
&gt; &gt; LayoutTests/http/wpt/misc/resources/last-modified-utilities.sub.js:32
&gt; &gt; +}
&gt; 
&gt; This file doesn&apos;t need .sub. in its name. (See also above about merging
&gt; no-last-modified and last-modified-parsing, which would mean this file could
&gt; then be merged into last-modified-parsing.)

These as well as comment 12&apos;s comments addressed and fixed in comment 14</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759421</commentid>
    <comment_count>16</comment_count>
      <attachid>428413</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-12 15:31:48 -0700</bug_when>
    <thetext>Comment on attachment 428413
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=428413&amp;action=review

&gt; LayoutTests/platform/win/TestExpectations:4410
&gt; +webkit.org/b/209455 http/wpt/misc/last-modified-parsing.html [ Failure ]

Looks like the test failure on Windows EWS sees is this same bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759429</commentid>
    <comment_count>17</comment_count>
      <attachid>428424</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-05-12 15:57:08 -0700</bug_when>
    <thetext>Created attachment 428424
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759451</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-12 16:24:29 -0700</bug_when>
    <thetext>Committed r277408 (237658@main): &lt;https://commits.webkit.org/237658@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428424.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426837</attachid>
            <date>2021-04-22 12:30:20 -0700</date>
            <delta_ts>2021-05-11 11:12:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224933-20210422153019.patch</filename>
            <type>text/plain</type>
            <size>4508</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NjQ1MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTIyICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBodHRwL3Rlc3Rz
L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwgaGFuZGxlcyBub24tc3RhbmRhcmQgZGF0
ZXMgZGlmZmVyZW50bHkgaW4gUEhQIHRoYW4gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5MzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc3MDIwMDM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQgdW50ZXN0ZWQgZGF0ZXMKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvbGFzdC1t
b2RpZmllZC1wYXJzaW5nLmh0bWw6IFJlbW92ZWQgbm9uLXN0YW5kYXJkIGRhdGVzCisgICAgICAg
ICogaHR0cC90ZXN0cy9taXNjL25vLWxhc3QtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnB5OiBBZGRlZC4KKwogMjAyMS0wNC0y
MiAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI3NjM5My4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9sYXN0LW1vZGlmaWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNzY0MzYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbGFzdC1t
b2RpZmllZC1wYXJzaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSwyOCArOSwz
IEBAIEZyaSwgMjEgTm92IDIwMDggMDE6MDM6MzMgR01UCiBGcmFtZTogJzwhLS1mcmFtZTItLT4n
CiAtLS0tLS0tLQogRnJpLCAyMSBOb3YgMjAwOCAwMTowMzozMyBHTVQKLQotLS0tLS0tLS0KLUZy
YW1lOiAnPCEtLWZyYW1lMy0tPicKLS0tLS0tLS0tCi1GcmksIDIxIE5vdiAxOTk3IDAxOjAzOjMz
IEdNVAotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU0LS0+JwotLS0tLS0tLS0KLUZyaSwg
MjEgTm92IDIwMDggMDE6MDM6MzMgR01UCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTUt
LT4nCi0tLS0tLS0tLQotVGh1LCAyMSBGZWIgMjAwOCAwMTowMzozMyBHTVQKLQotLS0tLS0tLS0K
LUZyYW1lOiAnPCEtLWZyYW1lNi0tPicKLS0tLS0tLS0tCi1TdW4sIDAzIEZlYiAyMDA4IDAxOjAz
OjMzIEdNVAotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU3LS0+JwotLS0tLS0tLS0KLU1v
biwgMDMgTWFyIDIwMDggMDE6MDM6MzMgR01UCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy5odG1sCShyZXZpc2lvbiAy
NzY0MzYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbGFzdC1tb2RpZmllZC1wYXJz
aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTUsMTQgKzUsOSBAQCBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKIH0KIAogZnVuY3Rpb24gdGVzdCh0ZXh0KSB7Ci0gICAgZG9jdW1lbnQud3JpdGUo
JzxpZnJhbWUgc3JjPSIuLi9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5waHA/ZGF0ZT0nICsgZXNj
YXBlKHRleHQpICsgJyI+PC9pZnJhbWU+Jyk7CisgICAgZG9jdW1lbnQud3JpdGUoJzxpZnJhbWUg
c3JjPSIuLi9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5weT9kYXRlPScgKyBlc2NhcGUodGV4dCkg
KyAnIj48L2lmcmFtZT4nKTsKIH0KIAogdGVzdCgnTW9uLCAyMSBOb3YgMjAwOCAwMTowMzozMyBH
TVQnKTsKIHRlc3QoJ1R1ZXNkYXksIDIxIE5vdiAyMDA4IDAxOjAzOjMzIEdNVCcpOwotdGVzdCgn
TW9uLCAyMSBOb3YgOTcgMDE6MDM6MzMgR01UJyk7Ci10ZXN0KCdNb24sIDIxLU5vdi0yMDA4IDAx
OjAzOjMzIEdNVCcpOwotdGVzdCgnTW9uLCAyMS1GZWItMjAwOCAwMTowMzozMyBHTVQnKTsKLXRl
c3QoJ01vbiwgMDMtRmViLTIwMDggMDE6MDM6MzMgR01UJyk7Ci10ZXN0KCdNb24sIDMtTWFyLTIw
MDggMDE6MDM6MzMgR01UJyk7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWlzYy9uby1sYXN0LW1vZGlmaWVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9taXNjL25vLWxhc3QtbW9kaWZpZWQuaHRtbAkocmV2aXNpb24gMjc2NDM2KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL25vLWxhc3QtbW9kaWZpZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiBmdW5jdGlvbiB0ZXN0KHRleHQpIHsKLSAgICBkb2N1
bWVudC53cml0ZSgnPGlmcmFtZSBzcmM9Ii4uL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnBocD9k
YXRlPScgKyBlc2NhcGUodGV4dCkgKyAnIj48L2lmcmFtZT4nKTsKKyAgICBkb2N1bWVudC53cml0
ZSgnPGlmcmFtZSBzcmM9Ii4uL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnB5P2RhdGU9JyArIGVz
Y2FwZSh0ZXh0KSArICciPjwvaWZyYW1lPicpOwogfQogCiB0ZXN0KCcnKTsKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQucGhwCShy
ZXZpc2lvbiAyNzY0MzYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9sYXN0
LW1vZGlmaWVkLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotPD9waHAKLSAgICAk
ZGF0ZSA9ICRfR0VUWydkYXRlJ107Ci0gICAgaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiAkZGF0ZSIp
OwotPz4KLTxzY3JpcHQ+Ci1kb2N1bWVudC53cml0ZSgobmV3IERhdGUoZG9jdW1lbnQubGFzdE1v
ZGlmaWVkKSkudG9VVENTdHJpbmcoKSk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5weQkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMK
KworZGF0ZSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtl
ZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnZGF0ZScsIFsnJ10pWzBdCisKK3N5cy5zdGRvdXQu
d3JpdGUoCisgICAgJ0xhc3QtTW9kaWZpZWQ6IHt9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuXHJcbicuZm9ybWF0KGRhdGUpCispCisKK3ByaW50KCcnJzxzY3JpcHQ+Citk
b2N1bWVudC53cml0ZSgobmV3IERhdGUoZG9jdW1lbnQubGFzdE1vZGlmaWVkKSkudG9VVENTdHJp
bmcoKSk7Cis8L3NjcmlwdD4nJycpCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnB5Cl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428297</attachid>
            <date>2021-05-11 11:13:00 -0700</date>
            <delta_ts>2021-05-12 13:41:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224933-20210511141258.patch</filename>
            <type>text/plain</type>
            <size>11828</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NzMzMykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA1LTExICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBodHRwL3Rlc3Rz
L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwgaGFuZGxlcyBub24tc3RhbmRhcmQgZGF0
ZXMgZGlmZmVyZW50bHkgaW4gUEhQIHRoYW4gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5MzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc3MDIwMDM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2lu
Zy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9uby1sYXN0LW1vZGlm
aWVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2Mvbm8t
bGFzdC1tb2RpZmllZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VzL2xhc3QtbW9kaWZpZWQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2M6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvbWlzYy9sYXN0LW1vZGlmaWVk
LXBhcnNpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvbWlzYy9sYXN0LW1vZGlm
aWVkLXBhcnNpbmcuanM6IEFkZGVkLgorICAgICAgICAodGVzdCk6CisgICAgICAgICogaHR0cC93
cHQvbWlzYy9uby1sYXN0LW1vZGlmaWVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvbWlzYy9uby1sYXN0LW1vZGlmaWVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvd3B0L21pc2Mvbm8tbGFzdC1tb2RpZmllZC5qczogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvbWlzYy9yZXNvdXJjZXM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2MvcmVzb3Vy
Y2VzL2xhc3QtbW9kaWZpZWQtdXRpbGl0aWVzLnN1Yi5qczogQWRkZWQuCisgICAgICAgIChvYnNl
cnZlUmVzb3VyY2VzLik6CisgICAgICAgIChvYnNlcnZlUmVzb3VyY2VzKToKKyAgICAgICAgKGFz
eW5jIGdldExhc3RNb2RpZmllZCk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjEtMDUtMTEgIFJvYmVydCBKZW5uZXIgIDxqZW5uZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIGpzL2RvbS9Qcm9taXNlLXJlamVjdC1sYXJnZS1zdHJpbmcuaHRtbCBpcyBhIGZs
YWt5IGZhaWx1cmUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9sYXN0LW1vZGlm
aWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAy
NzcyNzEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbGFzdC1tb2RpZmllZC1wYXJz
aW5nLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDM2ICswLDAgQEAKLQotCi0tLS0t
LS0tLQotRnJhbWU6ICc8IS0tZnJhbWUxLS0+JwotLS0tLS0tLS0KLUZyaSwgMjEgTm92IDIwMDgg
MDE6MDM6MzMgR01UCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTItLT4nCi0tLS0tLS0t
LQotRnJpLCAyMSBOb3YgMjAwOCAwMTowMzozMyBHTVQKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEt
LWZyYW1lMy0tPicKLS0tLS0tLS0tCi1GcmksIDIxIE5vdiAxOTk3IDAxOjAzOjMzIEdNVAotCi0t
LS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU0LS0+JwotLS0tLS0tLS0KLUZyaSwgMjEgTm92IDIw
MDggMDE6MDM6MzMgR01UCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTUtLT4nCi0tLS0t
LS0tLQotVGh1LCAyMSBGZWIgMjAwOCAwMTowMzozMyBHTVQKLQotLS0tLS0tLS0KLUZyYW1lOiAn
PCEtLWZyYW1lNi0tPicKLS0tLS0tLS0tCi1TdW4sIDAzIEZlYiAyMDA4IDAxOjAzOjMzIEdNVAot
Ci0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU3LS0+JwotLS0tLS0tLS0KLU1vbiwgMDMgTWFy
IDIwMDggMDE6MDM6MzMgR01UCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbGFz
dC1tb2RpZmllZC1wYXJzaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy5odG1sCShyZXZpc2lvbiAyNzcyNzEpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxOCArMCwwIEBACi08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5k
dW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCh0ZXh0KSB7Ci0gICAg
ZG9jdW1lbnQud3JpdGUoJzxpZnJhbWUgc3JjPSIuLi9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5w
aHA/ZGF0ZT0nICsgZXNjYXBlKHRleHQpICsgJyI+PC9pZnJhbWU+Jyk7Ci19Ci0KLXRlc3QoJ01v
biwgMjEgTm92IDIwMDggMDE6MDM6MzMgR01UJyk7Ci10ZXN0KCdUdWVzZGF5LCAyMSBOb3YgMjAw
OCAwMTowMzozMyBHTVQnKTsKLXRlc3QoJ01vbiwgMjEgTm92IDk3IDAxOjAzOjMzIEdNVCcpOwot
dGVzdCgnTW9uLCAyMS1Ob3YtMjAwOCAwMTowMzozMyBHTVQnKTsKLXRlc3QoJ01vbiwgMjEtRmVi
LTIwMDggMDE6MDM6MzMgR01UJyk7Ci10ZXN0KCdNb24sIDAzLUZlYi0yMDA4IDAxOjAzOjMzIEdN
VCcpOwotdGVzdCgnTW9uLCAzLU1hci0yMDA4IDAxOjAzOjMzIEdNVCcpOwotPC9zY3JpcHQ+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvbm8tbGFzdC1tb2RpZmllZC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL25vLWxhc3Qt
bW9kaWZpZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzcyNzEpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2Mvbm8tbGFzdC1tb2RpZmllZC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQpAQCAtMSwyICswLDAgQEAKLUFMRVJUOiBQQVNTCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9uby1sYXN0LW1vZGlmaWVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL25vLWxhc3QtbW9kaWZpZWQuaHRtbAkocmV2aXNpb24gMjc3Mjcx
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL25vLWxhc3QtbW9kaWZpZWQuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDE5ICswLDAgQEAKLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0KLWZ1bmN0aW9uIHRlc3QodGV4
dCkgewotICAgIGRvY3VtZW50LndyaXRlKCc8aWZyYW1lIHNyYz0iLi4vcmVzb3VyY2VzL2xhc3Qt
bW9kaWZpZWQucGhwP2RhdGU9JyArIGVzY2FwZSh0ZXh0KSArICciPjwvaWZyYW1lPicpOwotfQot
Ci10ZXN0KCcnKTsKLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBsYXN0
TW9kaWZpZWQgPSBEYXRlLnBhcnNlKGZyYW1lc1swXS5kb2N1bWVudC5ib2R5LnRleHRDb250ZW50
KTsKLSAgICB2YXIgbm93ID0gbmV3IERhdGUoKTsKLSAgICBpZiAobGFzdE1vZGlmaWVkID4gbm93
IC0gKDI0KzEpKjYwKjYwKjEwMDApCi0gICAgICAgIGFsZXJ0KCdQQVNTJyk7Ci0gICAgZWxzZQot
ICAgICAgICBhbGVydCgnRkFJTCcpOwotfQotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnBocAkocmV2aXNpb24g
Mjc3MjcxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvbGFzdC1tb2RpZmll
ZC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLTw/cGhwCi0gICAgJGRhdGUgPSAk
X0dFVFsnZGF0ZSddOwotICAgIGhlYWRlcigiTGFzdC1Nb2RpZmllZDogJGRhdGUiKTsKLT8+Ci08
c2NyaXB0PgotZG9jdW1lbnQud3JpdGUoKG5ldyBEYXRlKGRvY3VtZW50Lmxhc3RNb2RpZmllZCkp
LnRvVVRDU3RyaW5nKCkpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3dwdC9t
aXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmll
ZC1wYXJzaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitM
YXN0LU1vZGlmaWVkOiBQYXJzaW5nCisKKworUEFTUyBMYXN0LU1vZGlmaWVkIGRhdGUgTW9uLCAy
MSBOb3YgMjAwOCAwMTowMzozMyBHTVQKK1BBU1MgTGFzdC1Nb2RpZmllZCBkYXRlIFR1ZXNkYXks
IDIxIE5vdiAyMDA4IDAxOjAzOjMzIEdNVAorUEFTUyBMYXN0LU1vZGlmaWVkIGRhdGUgTW9uLCAy
MSBOb3YgOTcgMDE6MDM6MzMgR01UCitQQVNTIExhc3QtTW9kaWZpZWQgZGF0ZSBNb24sIDIxLU5v
di0yMDA4IDAxOjAzOjMzIEdNVAorUEFTUyBMYXN0LU1vZGlmaWVkIGRhdGUgTW9uLCAyMS1GZWIt
MjAwOCAwMTowMzozMyBHTVQKK1BBU1MgTGFzdC1Nb2RpZmllZCBkYXRlIE1vbiwgMDMtRmViLTIw
MDggMDE6MDM6MzMgR01UCitQQVNTIExhc3QtTW9kaWZpZWQgZGF0ZSBNb24sIDMtTWFyLTIwMDgg
MDE6MDM6MzMgR01UCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvd3B0L21pc2MvbGFzdC1tb2Rp
ZmllZC1wYXJzaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlz
Yy9sYXN0LW1vZGlmaWVkLXBhcnNpbmcuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3dwdC9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5MYXN0LU1vZGlmaWVkIC0gUGFyc2luZzwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0ibGFzdC1tb2RpZmllZC1wYXJzaW5nLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvbGFzdC1tb2RpZmllZC11dGlsaXRpZXMuc3ViLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGgxPkxhc3QtTW9kaWZpZWQ6IFBhcnNpbmc8L2gxPgorPGRpdiBpZD0i
bG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0KCJNb24sIDIxIE5vdiAyMDA4IDAxOjAzOjMzIEdN
VCIpOwordGVzdCgiVHVlc2RheSwgMjEgTm92IDIwMDggMDE6MDM6MzMgR01UIik7Cit0ZXN0KCJN
b24sIDIxIE5vdiA5NyAwMTowMzozMyBHTVQiKTsKK3Rlc3QoIk1vbiwgMjEtTm92LTIwMDggMDE6
MDM6MzMgR01UIik7Cit0ZXN0KCJNb24sIDIxLUZlYi0yMDA4IDAxOjAzOjMzIEdNVCIpOwordGVz
dCgiTW9uLCAwMy1GZWItMjAwOCAwMTowMzozMyBHTVQiKTsKK3Rlc3QoIk1vbiwgMy1NYXItMjAw
OCAwMTowMzozMyBHTVQiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNp
bmcuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
d3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmpzCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorZnVuY3Rpb24gdGVzdChkYXRlKSB7CisgICAg
cHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICAgICAgbGV0IGFjdHVhbCA9IGF3YWl0IGdl
dExhc3RNb2RpZmllZChkYXRlKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscygobmV3IERhdGUoRGF0
ZS5wYXJzZShhY3R1YWwpKS50b1VUQ1N0cmluZygpKSwgKG5ldyBEYXRlKERhdGUucGFyc2UoZGF0
ZSkpLnRvVVRDU3RyaW5nKCkpKTsKKyAgICB9LCAiTGFzdC1Nb2RpZmllZCBkYXRlICIgKyBkYXRl
KTsKK30KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvd3B0L21pc2MvbGFz
dC1tb2RpZmllZC1wYXJzaW5nLmpzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9uby1sYXN0LW1vZGlmaWVkLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL25vLWxhc3QtbW9kaWZpZWQtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8t
bGFzdC1tb2RpZmllZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBA
CitMYXN0LU1vZGlmaWVkOiBObyBEYXRlCisKKworUEFTUyBMYXN0LU1vZGlmaWVkIHNlbnQgd2l0
aCBubyBkYXRlCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFzdC1tb2Rp
ZmllZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFz
dC1tb2RpZmllZC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvd3B0L21p
c2Mvbm8tbGFzdC1tb2RpZmllZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5MYXN0LU1vZGlmaWVkIC0gTm8gRGF0ZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2xhc3QtbW9kaWZpZWQtdXRpbGl0aWVzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxoMT5MYXN0LU1vZGlmaWVkOiBObyBEYXRlPC9oMT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ibm8tbGFzdC1tb2RpZmllZC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL25v
LWxhc3QtbW9kaWZpZWQuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFzdC1tb2RpZmllZC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL25vLWxhc3QtbW9kaWZpZWQuanMJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9uby1sYXN0LW1vZGlmaWVkLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAg
ICBsZXQgYWN0dWFsID0gYXdhaXQgZ2V0TGFzdE1vZGlmaWVkKCIiKTsKKyAgICBhc3NlcnRfZ3Jl
YXRlcl90aGFuKChuZXcgRGF0ZShEYXRlLnBhcnNlKGFjdHVhbCkpKS5nZXRUaW1lKCksIChuZXcg
RGF0ZSgpKS5nZXRUaW1lKCkgLSAoMjQrMSkqNjAqNjAqMTAwMCk7Cit9LCAiTGFzdC1Nb2RpZmll
ZCBzZW50IHdpdGggbm8gZGF0ZSIpOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aHR0cC93cHQvbWlzYy9uby1sYXN0LW1vZGlmaWVkLmpzCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9yZXNvdXJjZXMvbGFzdC1tb2RpZmll
ZC11dGlsaXRpZXMuc3ViLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvd3B0L21p
c2MvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQtdXRpbGl0aWVzLnN1Yi5qcwkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLXV0
aWxpdGllcy5zdWIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24g
b2JzZXJ2ZVJlc291cmNlcyhuKSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUsIHJlamVjdCkgeworICAgICAgICBsZXQgZW50cmllcyA9IFtdOworICAgICAgICBsZXQg
b2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsaXN0KSB7CisgICAg
ICAgICAgICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQobGlzdC5nZXRFbnRyaWVzKCkpOworICAg
ICAgICAgICAgaWYgKGVudHJpZXMubGVuZ3RoIDwgbikKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICBpZiAoZW50cmllcy5sZW5ndGggPiBuKQorICAgICAgICAgICAgICAgIGVu
dHJpZXMgPSBlbnRyaWVzLnNsaWNlKDAsIG4pOworICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29u
bmVjdCgpOworICAgICAgICAgICAgcmVzb2x2ZShlbnRyaWVzKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicmVzb3VyY2UiXX0pOworICAgIH0p
OworfQorCisKK2FzeW5jIGZ1bmN0aW9uIGdldExhc3RNb2RpZmllZChoZWFkZXJfdmFsdWUpIHsK
KyAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CisgICAgdHJ5IHsgCisgICAgICAg
IGNvbnN0IGxvYWRfcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsK
KyAgICAgICAgICAgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7Cisg
ICAgICAgICAgICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCByZWplY3QpOworICAg
ICAgICB9KTsKKyAgICAgICAgaWZyYW1lLnNyYyA9ICIvY29tbW9uL2JsYW5rLmh0bWw/cGlwZT1o
ZWFkZXIoTGFzdC1Nb2RpZmllZCwiICsgaGVhZGVyX3ZhbHVlLnJlcGxhY2UoJyAnLCAnJTIwJyku
cmVwbGFjZSgnLCcsICdcXCwnKSArICIpIjsKKyAgICAgICAgYXdhaXQgbG9hZF9wcm9taXNlOwor
ICAgICAgICByZXR1cm4gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5sYXN0TW9kaWZpZWQ7CisgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgaWZyYW1lLnJlbW92ZSgpOworICAgIH0KK30KClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvd3B0L21pc2MvcmVzb3VyY2VzL2xhc3QtbW9k
aWZpZWQtdXRpbGl0aWVzLnN1Yi5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNzcyNzEp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBj
b3B5KQpAQCAtNDQwNyw4ICs0NDA3LDYgQEAgd2Via2l0Lm9yZy9iLzIwNzQ5OSB3ZWJhbmltYXRp
b25zL3RyYW5zZgogCiB3ZWJraXQub3JnL2IvMjA5NDI2IGh0dHAvd3B0L2Nzcy9jc3MtYW5pbWF0
aW9ucy9zdGFydC1hbmltYXRpb24tMDAxLmh0bWwgIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0
Lm9yZy9iLzIwOTQ1NSBodHRwL3Rlc3RzL21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwg
WyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIwOTU4MyB3ZWJhbmltYXRpb25zL25vLXNjaGVk
dWxpbmctd2hpbGUtZmlsbGluZy1hY2NlbGVyYXRlZC5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5v
cmcvYi8yMDk1ODIgd2ViYW5pbWF0aW9ucy9jc3MtdHJhbnNpdGlvbi1pbi1mbGlnaHQtcmV2ZXJz
YWwtYWNjZWxlcmF0ZWQuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428413</attachid>
            <date>2021-05-12 13:42:01 -0700</date>
            <delta_ts>2021-05-12 15:57:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224933-20210512164200.patch</filename>
            <type>text/plain</type>
            <size>10101</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NzM4NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA1LTEyICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBodHRwL3Rlc3Rz
L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwgaGFuZGxlcyBub24tc3RhbmRhcmQgZGF0
ZXMgZGlmZmVyZW50bHkgaW4gUEhQIHRoYW4gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5MzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc3MDIwMDM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2lu
Zy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9uby1sYXN0LW1vZGlm
aWVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2Mvbm8t
bGFzdC1tb2RpZmllZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VzL2xhc3QtbW9kaWZpZWQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2M6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvbWlzYy9sYXN0LW1vZGlmaWVk
LXBhcnNpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvbWlzYy9uby1sYXN0LW1v
ZGlmaWVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvbWlzYy9uby1s
YXN0LW1vZGlmaWVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2MvcmVzb3Vy
Y2VzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9taXNjL3Jlc291cmNlcy9sYXN0LW1vZGlm
aWVkLXV0aWxpdGllcy5qczogQWRkZWQuCisgICAgICAgIChhc3luYyBnZXRMYXN0TW9kaWZpZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA1LTEy
ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92aW5n
IHRoZSB0cmFuc2Zvcm0gQ1NTIHByb3BlcnR5IGZyb20gdGhlIFNWRyBlbGVtZW50IGRvZXMgbm90
IGNhdXNlIGludmFsaWRhdGlvbgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2xh
c3QtbW9kaWZpZWQtcGFyc2luZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDI3NzI3MSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9sYXN0LW1vZGlm
aWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMzYgKzAsMCBAQAot
Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4nCi0tLS0tLS0tLQotRnJpLCAyMSBO
b3YgMjAwOCAwMTowMzozMyBHTVQKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lMi0tPicK
LS0tLS0tLS0tCi1GcmksIDIxIE5vdiAyMDA4IDAxOjAzOjMzIEdNVAotCi0tLS0tLS0tLQotRnJh
bWU6ICc8IS0tZnJhbWUzLS0+JwotLS0tLS0tLS0KLUZyaSwgMjEgTm92IDE5OTcgMDE6MDM6MzMg
R01UCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTQtLT4nCi0tLS0tLS0tLQotRnJpLCAy
MSBOb3YgMjAwOCAwMTowMzozMyBHTVQKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lNS0t
PicKLS0tLS0tLS0tCi1UaHUsIDIxIEZlYiAyMDA4IDAxOjAzOjMzIEdNVAotCi0tLS0tLS0tLQot
RnJhbWU6ICc8IS0tZnJhbWU2LS0+JwotLS0tLS0tLS0KLVN1biwgMDMgRmViIDIwMDggMDE6MDM6
MzMgR01UCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTctLT4nCi0tLS0tLS0tLQotTW9u
LCAwMyBNYXIgMjAwOCAwMTowMzozMyBHTVQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwJKHJldmlzaW9uIDI3
NzI3MSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNp
bmcuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAKLTxzY3JpcHQ+Ci1pZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0
UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KHRleHQp
IHsKLSAgICBkb2N1bWVudC53cml0ZSgnPGlmcmFtZSBzcmM9Ii4uL3Jlc291cmNlcy9sYXN0LW1v
ZGlmaWVkLnBocD9kYXRlPScgKyBlc2NhcGUodGV4dCkgKyAnIj48L2lmcmFtZT4nKTsKLX0KLQot
dGVzdCgnTW9uLCAyMSBOb3YgMjAwOCAwMTowMzozMyBHTVQnKTsKLXRlc3QoJ1R1ZXNkYXksIDIx
IE5vdiAyMDA4IDAxOjAzOjMzIEdNVCcpOwotdGVzdCgnTW9uLCAyMSBOb3YgOTcgMDE6MDM6MzMg
R01UJyk7Ci10ZXN0KCdNb24sIDIxLU5vdi0yMDA4IDAxOjAzOjMzIEdNVCcpOwotdGVzdCgnTW9u
LCAyMS1GZWItMjAwOCAwMTowMzozMyBHTVQnKTsKLXRlc3QoJ01vbiwgMDMtRmViLTIwMDggMDE6
MDM6MzMgR01UJyk7Ci10ZXN0KCdNb24sIDMtTWFyLTIwMDggMDE6MDM6MzMgR01UJyk7Ci08L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9uby1sYXN0LW1vZGlmaWVk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mv
bm8tbGFzdC1tb2RpZmllZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NzI3MSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9uby1sYXN0LW1vZGlmaWVkLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDIgKzAsMCBAQAotQUxFUlQ6IFBBU1MKLQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL25vLWxhc3QtbW9kaWZpZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvbm8tbGFzdC1tb2RpZmllZC5odG1sCShyZXZpc2lv
biAyNzcyNzEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvbm8tbGFzdC1tb2RpZmll
ZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTkgKzAsMCBAQAotPHNjcmlwdD4KLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotZnVuY3Rpb24g
dGVzdCh0ZXh0KSB7Ci0gICAgZG9jdW1lbnQud3JpdGUoJzxpZnJhbWUgc3JjPSIuLi9yZXNvdXJj
ZXMvbGFzdC1tb2RpZmllZC5waHA/ZGF0ZT0nICsgZXNjYXBlKHRleHQpICsgJyI+PC9pZnJhbWU+
Jyk7Ci19Ci0KLXRlc3QoJycpOwotCi13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAg
dmFyIGxhc3RNb2RpZmllZCA9IERhdGUucGFyc2UoZnJhbWVzWzBdLmRvY3VtZW50LmJvZHkudGV4
dENvbnRlbnQpOwotICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpOwotICAgIGlmIChsYXN0TW9kaWZp
ZWQgPiBub3cgLSAoMjQrMSkqNjAqNjAqMTAwMCkKLSAgICAgICAgYWxlcnQoJ1BBU1MnKTsKLSAg
ICBlbHNlCi0gICAgICAgIGFsZXJ0KCdGQUlMJyk7Ci19Ci08L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQucGhwCShy
ZXZpc2lvbiAyNzcyNzEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9sYXN0
LW1vZGlmaWVkLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotPD9waHAKLSAgICAk
ZGF0ZSA9ICRfR0VUWydkYXRlJ107Ci0gICAgaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiAkZGF0ZSIp
OwotPz4KLTxzY3JpcHQ+Ci1kb2N1bWVudC53cml0ZSgobmV3IERhdGUoZG9jdW1lbnQubGFzdE1v
ZGlmaWVkKSkudG9VVENTdHJpbmcoKSk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvd3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9sYXN0
LW1vZGlmaWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTEgQEAKK0xhc3QtTW9kaWZpZWQ6IFBhcnNpbmcKKworCitQQVNTIExhc3QtTW9kaWZpZWQgZGF0
ZSBNb24sIDIxIE5vdiAyMDA4IDAxOjAzOjMzIEdNVAorUEFTUyBMYXN0LU1vZGlmaWVkIGRhdGUg
VHVlc2RheSwgMjEgTm92IDIwMDggMDE6MDM6MzMgR01UCitQQVNTIExhc3QtTW9kaWZpZWQgZGF0
ZSBNb24sIDIxIE5vdiA5NyAwMTowMzozMyBHTVQKK1BBU1MgTGFzdC1Nb2RpZmllZCBkYXRlIE1v
biwgMjEtTm92LTIwMDggMDE6MDM6MzMgR01UCitQQVNTIExhc3QtTW9kaWZpZWQgZGF0ZSBNb24s
IDIxLUZlYi0yMDA4IDAxOjAzOjMzIEdNVAorUEFTUyBMYXN0LU1vZGlmaWVkIGRhdGUgTW9uLCAw
My1GZWItMjAwOCAwMTowMzozMyBHTVQKK1BBU1MgTGFzdC1Nb2RpZmllZCBkYXRlIE1vbiwgMy1N
YXItMjAwOCAwMTowMzozMyBHTVQKKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9s
YXN0LW1vZGlmaWVkLXBhcnNpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3dwdC9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkxhc3QtTW9kaWZpZWQgLSBQYXJzaW5n
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvbGFzdC1tb2RpZmllZC11dGlsaXRpZXMuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+TGFzdC1Nb2RpZmllZDogUGFyc2luZzwvaDE+
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RfbGFzdF9tb2Rp
ZmllZChkYXRlKSB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICAgICAgbGV0
IGFjdHVhbCA9IGF3YWl0IGdldExhc3RNb2RpZmllZChkYXRlKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscygobmV3IERhdGUoRGF0ZS5wYXJzZShhY3R1YWwpKS50b1VUQ1N0cmluZygpKSwgKG5ldyBE
YXRlKERhdGUucGFyc2UoZGF0ZSkpLnRvVVRDU3RyaW5nKCkpKTsKKyAgICB9LCAiTGFzdC1Nb2Rp
ZmllZCBkYXRlICIgKyBkYXRlKTsKK30KKworCit0ZXN0X2xhc3RfbW9kaWZpZWQoIk1vbiwgMjEg
Tm92IDIwMDggMDE6MDM6MzMgR01UIik7Cit0ZXN0X2xhc3RfbW9kaWZpZWQoIlR1ZXNkYXksIDIx
IE5vdiAyMDA4IDAxOjAzOjMzIEdNVCIpOwordGVzdF9sYXN0X21vZGlmaWVkKCJNb24sIDIxIE5v
diA5NyAwMTowMzozMyBHTVQiKTsKK3Rlc3RfbGFzdF9tb2RpZmllZCgiTW9uLCAyMS1Ob3YtMjAw
OCAwMTowMzozMyBHTVQiKTsKK3Rlc3RfbGFzdF9tb2RpZmllZCgiTW9uLCAyMS1GZWItMjAwOCAw
MTowMzozMyBHTVQiKTsKK3Rlc3RfbGFzdF9tb2RpZmllZCgiTW9uLCAwMy1GZWItMjAwOCAwMTow
MzozMyBHTVQiKTsKK3Rlc3RfbGFzdF9tb2RpZmllZCgiTW9uLCAzLU1hci0yMDA4IDAxOjAzOjMz
IEdNVCIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy5odG1sCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9u
by1sYXN0LW1vZGlmaWVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3dwdC9taXNjL25vLWxhc3QtbW9kaWZpZWQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFzdC1tb2RpZmllZC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBACitMYXN0LU1vZGlmaWVkOiBObyBEYXRl
CisKKworUEFTUyBMYXN0LU1vZGlmaWVkIHNlbnQgd2l0aCBubyBkYXRlCisKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFzdC1tb2RpZmllZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFzdC1tb2RpZmllZC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFzdC1tb2RpZmllZC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5MYXN0LU1vZGlmaWVkIC0g
Tm8gRGF0ZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkxhc3QtTW9kaWZpZWQ6IE5vIERh
dGU8L2gxPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5
bmMgKCkgPT4geworICAgIGxldCBhY3R1YWwgPSBhd2FpdCBnZXRMYXN0TW9kaWZpZWQoIiIpOwor
ICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKChuZXcgRGF0ZShEYXRlLnBhcnNlKGFjdHVhbCkpKS5n
ZXRUaW1lKCksIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCksIDEwMDAqNjApOworfSwgIkxhc3QtTW9k
aWZpZWQgc2VudCB3aXRoIG5vIGRhdGUiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9uby1sYXN0LW1v
ZGlmaWVkLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3dwdC9taXNjL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLXV0aWxpdGllcy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVk
LXV0aWxpdGllcy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNj
L3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLXV0aWxpdGllcy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE0IEBACithc3luYyBmdW5jdGlvbiBnZXRMYXN0TW9kaWZpZWQoaGVhZGVyX3ZhbHVl
KSB7CisgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworICAgIHRyeSB7IAorICAg
ICAgICBjb25zdCBsb2FkX3Byb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9
PiB7CisgICAgICAgICAgICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUp
OworICAgICAgICB9KTsKKyAgICAgICAgaWZyYW1lLnNyYyA9ICIvY29tbW9uL2JsYW5rLmh0bWw/
cGlwZT1oZWFkZXIoTGFzdC1Nb2RpZmllZCwiICsgZW5jb2RlVVJJQ29tcG9uZW50KGhlYWRlcl92
YWx1ZSkucmVwbGFjZSgiJTJDIiwgIlxcLCIpICsgIikiOworICAgICAgICBhd2FpdCBsb2FkX3By
b21pc2U7CisgICAgICAgIHJldHVybiBpZnJhbWUuY29udGVudERvY3VtZW50Lmxhc3RNb2RpZmll
ZDsKKyAgICB9IGZpbmFsbHkgeworICAgICAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAgfQorfQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC93cHQvbWlzYy9yZXNvdXJjZXMv
bGFzdC1tb2RpZmllZC11dGlsaXRpZXMuanMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjc3
MjcxKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtp
bmcgY29weSkKQEAgLTQ0MDcsNyArNDQwNyw3IEBAIHdlYmtpdC5vcmcvYi8yMDc0OTkgd2ViYW5p
bWF0aW9ucy90cmFuc2YKIAogd2Via2l0Lm9yZy9iLzIwOTQyNiBodHRwL3dwdC9jc3MvY3NzLWFu
aW1hdGlvbnMvc3RhcnQtYW5pbWF0aW9uLTAwMS5odG1sICBbIFBhc3MgRmFpbHVyZSBdCiAKLXdl
YmtpdC5vcmcvYi8yMDk0NTUgaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjA5NDU1IGh0dHAvd3B0L21pc2MvbGFzdC1t
b2RpZmllZC1wYXJzaW5nLmh0bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIwOTU4MyB3
ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1hY2NlbGVyYXRlZC5odG1s
IFsgU2tpcCBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428424</attachid>
            <date>2021-05-12 15:57:08 -0700</date>
            <delta_ts>2021-05-12 16:24:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-224933-20210512185706.patch</filename>
            <type>text/plain</type>
            <size>10191</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NzM5OCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA1LTEyICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBodHRwL3Rlc3Rz
L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwgaGFuZGxlcyBub24tc3RhbmRhcmQgZGF0
ZXMgZGlmZmVyZW50bHkgaW4gUEhQIHRoYW4gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5MzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc3MDIwMDM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IEpvbmF0aGFuIEJlZGFyZC4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNp
bmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2Mvbm8tbGFzdC1tb2Rp
ZmllZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL25v
LWxhc3QtbW9kaWZpZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlcy9sYXN0LW1vZGlmaWVkLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC9taXNj
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmll
ZC1wYXJzaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2Mvbm8tbGFzdC1t
b2RpZmllZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L21pc2Mvbm8t
bGFzdC1tb2RpZmllZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9taXNjL3Jlc291
cmNlczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvbWlzYy9yZXNvdXJjZXMvbGFzdC1tb2Rp
ZmllZC11dGlsaXRpZXMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgZ2V0TGFzdE1vZGlmaWVk
KToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wNS0x
MiAgUm9iZXJ0IEplbm5lciAgPGplbm5lckBhcHBsZS5jb20+CiAKICAgICAgICAgWyBCaWdTdXIg
d2syIGFybTY0IF0gZWRpdGluZy9zZWxlY3Rpb24vbW92ZS1ieS1jaGFyYWN0ZXItYnJ1dGUtZm9y
Y2UuaHRtbCAobGF5b3V0LXRlc3QpIGlzIGEgZmxha3kgdGltZW91dApJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2xhc3QtbW9kaWZpZWQtcGFy
c2luZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NzM5OCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKQEAgLTEsMzYgKzAsMCBAQAotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTEtLT4n
Ci0tLS0tLS0tLQotRnJpLCAyMSBOb3YgMjAwOCAwMTowMzozMyBHTVQKLQotLS0tLS0tLS0KLUZy
YW1lOiAnPCEtLWZyYW1lMi0tPicKLS0tLS0tLS0tCi1GcmksIDIxIE5vdiAyMDA4IDAxOjAzOjMz
IEdNVAotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWUzLS0+JwotLS0tLS0tLS0KLUZyaSwg
MjEgTm92IDE5OTcgMDE6MDM6MzMgR01UCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZTQt
LT4nCi0tLS0tLS0tLQotRnJpLCAyMSBOb3YgMjAwOCAwMTowMzozMyBHTVQKLQotLS0tLS0tLS0K
LUZyYW1lOiAnPCEtLWZyYW1lNS0tPicKLS0tLS0tLS0tCi1UaHUsIDIxIEZlYiAyMDA4IDAxOjAz
OjMzIEdNVAotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWU2LS0+JwotLS0tLS0tLS0KLVN1
biwgMDMgRmViIDIwMDggMDE6MDM6MzMgR01UCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZTctLT4nCi0tLS0tLS0tLQotTW9uLCAwMyBNYXIgMjAwOCAwMTowMzozMyBHTVQKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmcuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbGFzdC1tb2RpZmllZC1wYXJz
aW5nLmh0bWwJKHJldmlzaW9uIDI3NzM5OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9sYXN0LW1vZGlmaWVkLXBhcnNpbmcuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAg
QEAKLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotfQot
Ci1mdW5jdGlvbiB0ZXN0KHRleHQpIHsKLSAgICBkb2N1bWVudC53cml0ZSgnPGlmcmFtZSBzcmM9
Ii4uL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnBocD9kYXRlPScgKyBlc2NhcGUodGV4dCkgKyAn
Ij48L2lmcmFtZT4nKTsKLX0KLQotdGVzdCgnTW9uLCAyMSBOb3YgMjAwOCAwMTowMzozMyBHTVQn
KTsKLXRlc3QoJ1R1ZXNkYXksIDIxIE5vdiAyMDA4IDAxOjAzOjMzIEdNVCcpOwotdGVzdCgnTW9u
LCAyMSBOb3YgOTcgMDE6MDM6MzMgR01UJyk7Ci10ZXN0KCdNb24sIDIxLU5vdi0yMDA4IDAxOjAz
OjMzIEdNVCcpOwotdGVzdCgnTW9uLCAyMS1GZWItMjAwOCAwMTowMzozMyBHTVQnKTsKLXRlc3Qo
J01vbiwgMDMtRmViLTIwMDggMDE6MDM6MzMgR01UJyk7Ci10ZXN0KCdNb24sIDMtTWFyLTIwMDgg
MDE6MDM6MzMgR01UJyk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9uby1sYXN0LW1vZGlmaWVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21pc2Mvbm8tbGFzdC1tb2RpZmllZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDI3NzM5OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9uby1sYXN0LW1vZGlm
aWVkLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIgKzAsMCBAQAotQUxFUlQ6IFBB
U1MKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL25vLWxhc3QtbW9kaWZpZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvbm8tbGFzdC1t
b2RpZmllZC5odG1sCShyZXZpc2lvbiAyNzczOTgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2Mvbm8tbGFzdC1tb2RpZmllZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTkgKzAsMCBA
QAotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKLQotZnVuY3Rpb24gdGVzdCh0ZXh0KSB7Ci0gICAgZG9jdW1lbnQud3JpdGUoJzxp
ZnJhbWUgc3JjPSIuLi9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5waHA/ZGF0ZT0nICsgZXNjYXBl
KHRleHQpICsgJyI+PC9pZnJhbWU+Jyk7Ci19Ci0KLXRlc3QoJycpOwotCi13aW5kb3cub25sb2Fk
ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGxhc3RNb2RpZmllZCA9IERhdGUucGFyc2UoZnJhbWVz
WzBdLmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQpOwotICAgIHZhciBub3cgPSBuZXcgRGF0ZSgp
OwotICAgIGlmIChsYXN0TW9kaWZpZWQgPiBub3cgLSAoMjQrMSkqNjAqNjAqMTAwMCkKLSAgICAg
ICAgYWxlcnQoJ1BBU1MnKTsKLSAgICBlbHNlCi0gICAgICAgIGFsZXJ0KCdGQUlMJyk7Ci19Ci08
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2xhc3QtbW9k
aWZpZWQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2Vz
L2xhc3QtbW9kaWZpZWQucGhwCShyZXZpc2lvbiAyNzczOTgpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDcg
KzAsMCBAQAotPD9waHAKLSAgICAkZGF0ZSA9ICRfR0VUWydkYXRlJ107Ci0gICAgaGVhZGVyKCJM
YXN0LU1vZGlmaWVkOiAkZGF0ZSIpOwotPz4KLTxzY3JpcHQ+Ci1kb2N1bWVudC53cml0ZSgobmV3
IERhdGUoZG9jdW1lbnQubGFzdE1vZGlmaWVkKSkudG9VVENTdHJpbmcoKSk7Ci08L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL2xhc3Qt
bW9kaWZpZWQtcGFyc2luZy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC93cHQvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmctZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKK0xhc3QtTW9kaWZpZWQ6IFBhcnNpbmcKKworCitQ
QVNTIExhc3QtTW9kaWZpZWQgZGF0ZSBNb24sIDIxIE5vdiAyMDA4IDAxOjAzOjMzIEdNVAorUEFT
UyBMYXN0LU1vZGlmaWVkIGRhdGUgVHVlc2RheSwgMjEgTm92IDIwMDggMDE6MDM6MzMgR01UCitQ
QVNTIExhc3QtTW9kaWZpZWQgZGF0ZSBNb24sIDIxIE5vdiA5NyAwMTowMzozMyBHTVQKK1BBU1Mg
TGFzdC1Nb2RpZmllZCBkYXRlIE1vbiwgMjEtTm92LTIwMDggMDE6MDM6MzMgR01UCitQQVNTIExh
c3QtTW9kaWZpZWQgZGF0ZSBNb24sIDIxLUZlYi0yMDA4IDAxOjAzOjMzIEdNVAorUEFTUyBMYXN0
LU1vZGlmaWVkIGRhdGUgTW9uLCAwMy1GZWItMjAwOCAwMTowMzozMyBHTVQKK1BBU1MgTGFzdC1N
b2RpZmllZCBkYXRlIE1vbiwgMy1NYXItMjAwOCAwMTowMzozMyBHTVQKKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC93cHQvbWlzYy9sYXN0LW1vZGlmaWVkLXBhcnNpbmcuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL2xhc3QtbW9kaWZpZWQtcGFyc2luZy5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmll
ZC1wYXJzaW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkxh
c3QtTW9kaWZpZWQgLSBQYXJzaW5nPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvbGFzdC1tb2Rp
ZmllZC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+TGFzdC1N
b2RpZmllZDogUGFyc2luZzwvaDE+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK2Z1
bmN0aW9uIHRlc3RfbGFzdF9tb2RpZmllZChkYXRlKSB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5j
ICgpID0+IHsKKyAgICAgICAgbGV0IGFjdHVhbCA9IGF3YWl0IGdldExhc3RNb2RpZmllZChkYXRl
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscygobmV3IERhdGUoRGF0ZS5wYXJzZShhY3R1YWwpKS50
b1VUQ1N0cmluZygpKSwgKG5ldyBEYXRlKERhdGUucGFyc2UoZGF0ZSkpLnRvVVRDU3RyaW5nKCkp
KTsKKyAgICB9LCAiTGFzdC1Nb2RpZmllZCBkYXRlICIgKyBkYXRlKTsKK30KKworCit0ZXN0X2xh
c3RfbW9kaWZpZWQoIk1vbiwgMjEgTm92IDIwMDggMDE6MDM6MzMgR01UIik7Cit0ZXN0X2xhc3Rf
bW9kaWZpZWQoIlR1ZXNkYXksIDIxIE5vdiAyMDA4IDAxOjAzOjMzIEdNVCIpOwordGVzdF9sYXN0
X21vZGlmaWVkKCJNb24sIDIxIE5vdiA5NyAwMTowMzozMyBHTVQiKTsKK3Rlc3RfbGFzdF9tb2Rp
ZmllZCgiTW9uLCAyMS1Ob3YtMjAwOCAwMTowMzozMyBHTVQiKTsKK3Rlc3RfbGFzdF9tb2RpZmll
ZCgiTW9uLCAyMS1GZWItMjAwOCAwMTowMzozMyBHTVQiKTsKK3Rlc3RfbGFzdF9tb2RpZmllZCgi
TW9uLCAwMy1GZWItMjAwOCAwMTowMzozMyBHTVQiKTsKK3Rlc3RfbGFzdF9tb2RpZmllZCgiTW9u
LCAzLU1hci0yMDA4IDAxOjAzOjMzIEdNVCIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL2xhc3QtbW9k
aWZpZWQtcGFyc2luZy5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC93cHQvbWlzYy9uby1sYXN0LW1vZGlmaWVkLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL25vLWxhc3QtbW9kaWZpZWQtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFz
dC1tb2RpZmllZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBACitM
YXN0LU1vZGlmaWVkOiBObyBEYXRlCisKKworUEFTUyBMYXN0LU1vZGlmaWVkIHNlbnQgd2l0aCBu
byBkYXRlCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFzdC1tb2RpZmll
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mvbm8tbGFzdC1t
b2RpZmllZC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvd3B0L21pc2Mv
bm8tbGFzdC1tb2RpZmllZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5MYXN0LU1vZGlmaWVkIC0gTm8gRGF0ZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2xh
c3QtbW9kaWZpZWQtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgx
Pkxhc3QtTW9kaWZpZWQ6IE5vIERhdGU8L2gxPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3Jp
cHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGxldCBhY3R1YWwgPSBhd2FpdCBn
ZXRMYXN0TW9kaWZpZWQoIiIpOworICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKChuZXcgRGF0ZShE
YXRlLnBhcnNlKGFjdHVhbCkpKS5nZXRUaW1lKCksIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCksIDEw
MDAqNjApOworfSwgIkxhc3QtTW9kaWZpZWQgc2VudCB3aXRoIG5vIGRhdGUiKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0
cC93cHQvbWlzYy9uby1sYXN0LW1vZGlmaWVkLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVk
LXV0aWxpdGllcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3dwdC9taXNjL3Jl
c291cmNlcy9sYXN0LW1vZGlmaWVkLXV0aWxpdGllcy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3dwdC9taXNjL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLXV0aWxpdGllcy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACithc3luYyBmdW5jdGlvbiBnZXRMYXN0
TW9kaWZpZWQoaGVhZGVyX3ZhbHVlKSB7CisgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJh
bWUpOworICAgIHRyeSB7IAorICAgICAgICBjb25zdCBsb2FkX3Byb21pc2UgPSBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICBpZnJhbWUuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgICB9KTsKKyAgICAgICAgaWZyYW1lLnNyYyA9
ICIvY29tbW9uL2JsYW5rLmh0bWw/cGlwZT1oZWFkZXIoTGFzdC1Nb2RpZmllZCwiICsgZW5jb2Rl
VVJJQ29tcG9uZW50KGhlYWRlcl92YWx1ZSkucmVwbGFjZSgiJTJDIiwgIlxcLCIpICsgIikiOwor
ICAgICAgICBhd2FpdCBsb2FkX3Byb21pc2U7CisgICAgICAgIHJldHVybiBpZnJhbWUuY29udGVu
dERvY3VtZW50Lmxhc3RNb2RpZmllZDsKKyAgICB9IGZpbmFsbHkgeworICAgICAgICBpZnJhbWUu
cmVtb3ZlKCk7CisgICAgfQorfQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0
cC93cHQvbWlzYy9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC11dGlsaXRpZXMuanMKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwkocmV2aXNpb24gMjc3Mzk4KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTQ0MDcsNyArNDQwNyw4IEBAIHdlYmtp
dC5vcmcvYi8yMDc0OTkgd2ViYW5pbWF0aW9ucy90cmFuc2YKIAogd2Via2l0Lm9yZy9iLzIwOTQy
NiBodHRwL3dwdC9jc3MvY3NzLWFuaW1hdGlvbnMvc3RhcnQtYW5pbWF0aW9uLTAwMS5odG1sICBb
IFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMDk0NTUgaHR0cC90ZXN0cy9taXNjL2xh
c3QtbW9kaWZpZWQtcGFyc2luZy5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjA5NDU1
IGh0dHAvd3B0L21pc2MvbGFzdC1tb2RpZmllZC1wYXJzaW5nLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi8yMDk0NTUgaHR0cC93cHQvbWlzYy9uby1sYXN0LW1vZGlmaWVkLmh0bWwgWyBG
YWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIwOTU4MyB3ZWJhbmltYXRpb25zL25vLXNjaGVkdWxp
bmctd2hpbGUtZmlsbGluZy1hY2NlbGVyYXRlZC5odG1sIFsgU2tpcCBdCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>