<?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>199261</bug_id>
          
          <creation_ts>2019-06-27 01:16:32 -0700</creation_ts>
          <short_desc>Align with Origin header changes</short_desc>
          <delta_ts>2020-06-01 03:07:03 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Anne van Kesteren">annevk</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>rbuis</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1548391</commentid>
    <comment_count>0</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2019-06-27 01:16:32 -0700</bug_when>
    <thetext>https://github.com/whatwg/fetch/pull/908 clarifies how the Origin header interacts with Referrer Policy. https://github.com/web-platform-tests/wpt/pull/14260 adds a number of tests around that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611054</commentid>
    <comment_count>1</comment_count>
      <attachid>388777</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-25 09:18:31 -0800</bug_when>
    <thetext>Created attachment 388777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611067</commentid>
    <comment_count>2</comment_count>
      <attachid>388779</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-25 09:59:53 -0800</bug_when>
    <thetext>Created attachment 388779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624988</commentid>
    <comment_count>3</comment_count>
      <attachid>392257</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-03 03:18:55 -0800</bug_when>
    <thetext>Created attachment 392257
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625468</commentid>
    <comment_count>4</comment_count>
      <attachid>392400</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-04 02:47:53 -0800</bug_when>
    <thetext>Created attachment 392400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627708</commentid>
    <comment_count>5</comment_count>
      <attachid>392400</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-09 03:22:13 -0700</bug_when>
    <thetext>Comment on attachment 392400
Patch

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

&gt; Source/WebCore/loader/FrameLoader.cpp:504
&gt; +    submission-&gt;setOrigin(SecurityPolicy::generateOriginHeader(m_frame.document()-&gt;referrerPolicy(), submission-&gt;requestURL(), SecurityOrigin::createFromString(outgoingOrigin())));

Let&apos;s change SecurityOrigin::createFromString(outgoingOrigin()) into m_frame.document()-&gt;securityOrigin()

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:233
&gt; +        outgoingOrigin = SecurityPolicy::generateOriginHeader(m_options.referrerPolicy, m_resourceRequest.url(), SecurityOrigin::createFromString(outgoingReferrer));

If the resource request has a referrer, we will create a SecurityOrigin from the outgoingReferrer twice.
Can we update the code to only do that once if needed?

Also, it is not clear to me why we have to check the mode here.
The spec does not say anything about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627838</commentid>
    <comment_count>6</comment_count>
      <attachid>393050</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-09 10:27:26 -0700</bug_when>
    <thetext>Created attachment 393050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627845</commentid>
    <comment_count>7</comment_count>
      <attachid>393050</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-09 10:38:11 -0700</bug_when>
    <thetext>Comment on attachment 393050
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:230
&gt;      }

Remove { }

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:231
&gt; +    if (m_options.mode == FetchOptions::Mode::Cors)

If mode is CORS, we probably already set the origin header, right?
So FrameLoader::addHTTPOriginIfNeeded will be a no-op.

It might be better to do all this processing if the request does not have any origin.
Either using 
if (!m_resourceRequest.httpOrigin().isEmpty())
    return;

Or by introducing something like FrameLoader::addHTTPOriginIfiNeeded(Request, const Function&lt;String()&gt;&amp; computeOriginValue)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627923</commentid>
    <comment_count>8</comment_count>
      <attachid>393063</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-09 13:04:39 -0700</bug_when>
    <thetext>Created attachment 393063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627947</commentid>
    <comment_count>9</comment_count>
      <attachid>392400</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-09 13:55:14 -0700</bug_when>
    <thetext>Comment on attachment 392400
Patch

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

&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:504
&gt;&gt; +    submission-&gt;setOrigin(SecurityPolicy::generateOriginHeader(m_frame.document()-&gt;referrerPolicy(), submission-&gt;requestURL(), SecurityOrigin::createFromString(outgoingOrigin())));
&gt; 
&gt; Let&apos;s change SecurityOrigin::createFromString(outgoingOrigin()) into m_frame.document()-&gt;securityOrigin()

Done.

&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:233
&gt;&gt; +        outgoingOrigin = SecurityPolicy::generateOriginHeader(m_options.referrerPolicy, m_resourceRequest.url(), SecurityOrigin::createFromString(outgoingReferrer));
&gt; 
&gt; If the resource request has a referrer, we will create a SecurityOrigin from the outgoingReferrer twice.
&gt; Can we update the code to only do that once if needed?
&gt; 
&gt; Also, it is not clear to me why we have to check the mode here.
&gt; The spec does not say anything about that.

Done. The spec does not say anything about mode but does mention tainting, step 2 in https://fetch.spec.whatwg.org/#append-a-request-origin-header.
I am not sure if I can test the tainting here though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627948</commentid>
    <comment_count>10</comment_count>
      <attachid>393063</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-09 13:57:01 -0700</bug_when>
    <thetext>Comment on attachment 393063
Patch

EWS is showing origin-related test failures. Please don’t land without resolving those</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627952</commentid>
    <comment_count>11</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-09 14:00:25 -0700</bug_when>
    <thetext>Yes I was trying to verify Youenn&apos;s question &quot;If mode is CORS, we probably already set the origin header, right?&quot;. Since the ASSERT_NOT_REACHED is reached, we know the answer is no.
But anyway I want Youenn to approve the patch before landing, so hopefully some time tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627960</commentid>
    <comment_count>12</comment_count>
      <attachid>393073</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-09 14:27:01 -0700</bug_when>
    <thetext>Created attachment 393073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628149</commentid>
    <comment_count>13</comment_count>
      <attachid>393050</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-10 02:29:00 -0700</bug_when>
    <thetext>Comment on attachment 393050
Patch

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

&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:230
&gt;&gt;      }
&gt; 
&gt; Remove { }

Done.

&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:231
&gt;&gt; +    if (m_options.mode == FetchOptions::Mode::Cors)
&gt; 
&gt; If mode is CORS, we probably already set the origin header, right?
&gt; So FrameLoader::addHTTPOriginIfNeeded will be a no-op.
&gt; 
&gt; It might be better to do all this processing if the request does not have any origin.
&gt; Either using 
&gt; if (!m_resourceRequest.httpOrigin().isEmpty())
&gt;     return;
&gt; 
&gt; Or by introducing something like FrameLoader::addHTTPOriginIfiNeeded(Request, const Function&lt;String()&gt;&amp; computeOriginValue)

So for CORS we do not set the origin header (I added an ASSERT_NOT_REACHED and it was hit a lot as you can see in the previous upload).
I would really like to centralize the places to where the origin header is set, ideally to one, so here, but I know it is needed in a few other places like sync loading.

I made an attempt to return early if the Origin is already set to make things a bit more effiicient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628159</commentid>
    <comment_count>14</comment_count>
      <attachid>393073</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-10 03:23:43 -0700</bug_when>
    <thetext>Comment on attachment 393073
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:236
&gt; +        outgoingOrigin = SecurityOrigin::createFromString(outgoingReferrer)-&gt;toString();

The append Origin algorithm is making use of response tainting == cors, which is different from the mode.
Probably we have some slight behavioural differences, or maybe we already set the origin header in the cases that matter.
Would be worth investigating.

It would also be nice to add a routine that implements the whole https://fetch.spec.whatwg.org/#append-a-request-origin-header algorithm.
We have some bits here and there which makes it hard to know whether we are doing the right thing.
For instance HEAD/GET check is done in FrameLoader::addHTTPOriginIfNeeded, not here.

All of this might best be done as follow-ups though, let&apos;s go with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628162</commentid>
    <comment_count>15</comment_count>
      <attachid>393073</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-10 03:37:18 -0700</bug_when>
    <thetext>Comment on attachment 393073
Patch

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

&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:236
&gt;&gt; +        outgoingOrigin = SecurityOrigin::createFromString(outgoingReferrer)-&gt;toString();
&gt; 
&gt; The append Origin algorithm is making use of response tainting == cors, which is different from the mode.
&gt; Probably we have some slight behavioural differences, or maybe we already set the origin header in the cases that matter.
&gt; Would be worth investigating.
&gt; 
&gt; It would also be nice to add a routine that implements the whole https://fetch.spec.whatwg.org/#append-a-request-origin-header algorithm.
&gt; We have some bits here and there which makes it hard to know whether we are doing the right thing.
&gt; For instance HEAD/GET check is done in FrameLoader::addHTTPOriginIfNeeded, not here.
&gt; 
&gt; All of this might best be done as follow-ups though, let&apos;s go with this patch.

Yes, it is possible that cors taint vs mode has a slight behavior difference, will keep it in mind. I also agree that a central place for https://fetch.spec.whatwg.org/#append-a-request-origin-header is needed, addHTTPOriginIfNeeded seems the best candidate and I will keep working on it. Thanks for the reviews!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628175</commentid>
    <comment_count>16</comment_count>
      <attachid>393073</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-10 04:27:20 -0700</bug_when>
    <thetext>Comment on attachment 393073
Patch

Clearing flags on attachment: 393073

Committed r258194: &lt;https://trac.webkit.org/changeset/258194&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628176</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-10 04:27:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628177</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-10 04:28:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/60268381&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388777</attachid>
            <date>2020-01-25 09:18:31 -0800</date>
            <delta_ts>2020-01-25 09:59:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199261-20200125181829.patch</filename>
            <type>text/plain</type>
            <size>22812</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ3NmQwMTk4ZmI5MDM2
OTczOTc2OTc2OTkxYjkzM2Q3ZmYwNjIzOS4uOTI2MGM4ZWRmNmM0OTE4ZWE1ODdkYTAwYzdkOWJk
NDg4NTUwYTA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAxLTI1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVh
ZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdJUAorCisgICAgICAgIFRlc3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0p
OgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVSZWZlcnJlck9yaWdp
bkFuZFVzZXJBZ2VudEhlYWRlcnMpOgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlQb2xpY3kuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVy
KToKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5UG9saWN5Lmg6CisKIDIwMjAtMDEtMjUgIHlvdWVu
biBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQg
c2hvdWxkIG5vdCByZW1vdmUgdGhlIG1lZGlhIHNlc3Npb24gYXQgRE9NIHN1c3BlbnNpb24gdGlt
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggYTEyODU4NTFmMjU5ZDgy
YTYzYTg2ZGU1OGM1M2RlM2UzYjAyZDkxNC4uNTcxZDdjMTk4ODQ1NTcyYjA3OWZkNmQwNmViZmUy
OWRjM2IzMGM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC00OTMs
NyArNDkzLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3VibWl0Rm9ybShSZWY8Rm9ybVN1Ym1pc3Np
b24+JiYgc3VibWlzc2lvbikKICAgICAgICAgbV9zdWJtaXR0ZWRGb3JtVVJMID0gc3VibWlzc2lv
bi0+cmVxdWVzdFVSTCgpOwogCiAgICAgc3VibWlzc2lvbi0+c2V0UmVmZXJyZXIob3V0Z29pbmdS
ZWZlcnJlcigpKTsKLSAgICBzdWJtaXNzaW9uLT5zZXRPcmlnaW4ob3V0Z29pbmdPcmlnaW4oKSk7
CisgICAgc3VibWlzc2lvbi0+c2V0T3JpZ2luKFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdp
bkhlYWRlcihtX2ZyYW1lLmRvY3VtZW50KCktPnJlZmVycmVyUG9saWN5KCksIHN1Ym1pc3Npb24t
PnJlcXVlc3RVUkwoKSwgb3V0Z29pbmdPcmlnaW4oKSkpOwogCiAgICAgdGFyZ2V0RnJhbWUtPm5h
dmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUZvcm1TdWJtaXNzaW9uKFdURk1vdmUoc3VibWlz
c2lvbikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcAppbmRleCA1ZjA4Yjg1NjRmOTU2NzY5Y2ExMGJkYWFlNDYwODJi
YzgwNGMzOTRiLi5mZGQxYzFmNTRkMmQwYjdkMzM0MWJhMzA1MmQ0MzJlZWJkZDY3YjkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0LmNwcApAQCAtMjI5LDYgKzIyOSw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1
cGRhdGVSZWZlcnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMoRnJhbWVMb2FkZXImCiAgICAg
ICAgIG91dGdvaW5nUmVmZXJyZXIgPSBtX3Jlc291cmNlUmVxdWVzdC5odHRwUmVmZXJyZXIoKTsK
ICAgICAgICAgb3V0Z29pbmdPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmlu
ZyhvdXRnb2luZ1JlZmVycmVyKS0+dG9TdHJpbmcoKTsKICAgICB9CisgICAgaWYgKG1fb3B0aW9u
cy5tb2RlICE9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycykKKyAgICAgICAgb3V0Z29pbmdPcmln
aW4gPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIobV9vcHRpb25zLnJlZmVy
cmVyUG9saWN5LCBtX3Jlc291cmNlUmVxdWVzdC51cmwoKSwgb3V0Z29pbmdPcmlnaW4pOworCiAg
ICAgdXBkYXRlUmVxdWVzdFJlZmVycmVyKG1fcmVzb3VyY2VSZXF1ZXN0LCBtX29wdGlvbnMucmVm
ZXJyZXJQb2xpY3ksIG91dGdvaW5nUmVmZXJyZXIpOwogCiAgICAgRnJhbWVMb2FkZXI6OmFkZEhU
VFBPcmlnaW5JZk5lZWRlZChtX3Jlc291cmNlUmVxdWVzdCwgb3V0Z29pbmdPcmlnaW4pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9saWN5LmNwcAppbmRleCAwZGViMDY0MTQ4Zjk3MjZjZDM4
YjQxMDA1ZDUyMjk3MjYwYzFjNjU1Li5kN2YyMzI1ZmYwN2QzNzI5MDg2ZDcwZDQ2ZTdiNWUyZWRi
YmUxY2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9saWN5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9saWN5LmNwcApAQCAtMTMxLDYg
KzEzMSwyOCBAQCBTdHJpbmcgU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlUmVmZXJyZXJIZWFkZXIo
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIGNvbgogICAgIHJldHVybiBzaG91bGRIaWRl
UmVmZXJyZXIodXJsLCByZWZlcnJlcikgPyBTdHJpbmcoKSA6IHJlZmVycmVyOwogfQogCitTdHJp
bmcgU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKFJlZmVycmVyUG9saWN5IHJl
ZmVycmVyUG9saWN5LCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBvcmlnaW4pCit7Cisg
ICAgc3dpdGNoIChyZWZlcnJlclBvbGljeSkgeworICAgIGNhc2UgUmVmZXJyZXJQb2xpY3k6Ok5v
UmVmZXJyZXI6CisgICAgICAgIHJldHVybiAibnVsbCI7CisgICAgY2FzZSBSZWZlcnJlclBvbGlj
eTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGU6CisgICAgY2FzZSBSZWZlcnJlclBvbGljeTo6U3Ry
aWN0T3JpZ2luOgorICAgIGNhc2UgUmVmZXJyZXJQb2xpY3k6OlN0cmljdE9yaWdpbldoZW5Dcm9z
c09yaWdpbjoKKyAgICAgICAgaWYgKHByb3RvY29sSXMoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZy
b21TdHJpbmcob3JpZ2luKS0+cHJvdG9jb2woKSwgImh0dHBzIikgJiYgIXVybC5wcm90b2NvbElz
KCJodHRwcyIpKQorICAgICAgICAgICAgcmV0dXJuICJudWxsIjsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBSZWZlcnJlclBvbGljeTo6U2FtZU9yaWdpbjoKKyAgICAgICAgaWYgKCFTZWN1cml0
eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhvcmlnaW4pLT5jYW5SZXF1ZXN0KHVybCkpCisgICAg
ICAgICAgICByZXR1cm4gIm51bGwiOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gb3JpZ2luOworfQorCiBib29sIFNlY3Vy
aXR5UG9saWN5OjpzaG91bGRJbmhlcml0U2VjdXJpdHlPcmlnaW5Gcm9tT3duZXIoY29uc3QgVVJM
JiB1cmwpCiB7CiAgICAgLy8gUGFyYXBocmFzZWQgZnJvbSA8aHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNvcmlnaW4+ICg4IEp1bHkgMjAxNikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xpY3kuaAppbmRleCA1MzNiMWQ0ZmJkYWQ1MmUzOGYxZmQz
NWEyZjZhMDdkNDgwMDhiMTdlLi5hZGI0NGZlNDg2YmVjYzJkYjY5ODgzNTNhZDJmMWJhODA5YTkx
NDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9saWN5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eVBvbGljeS5oCkBAIC01MCw2ICs1MCw4IEBA
IHB1YmxpYzoKICAgICAvLyByZWZlcnJlciBoZWFkZXIgc2hvdWxkIGJlIG9taXR0ZWQuCiAgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBnZW5lcmF0ZVJlZmVycmVySGVhZGVyKFJlZmVy
cmVyUG9saWN5LCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyKTsKIAorICAgIHN0
YXRpYyBTdHJpbmcgZ2VuZXJhdGVPcmlnaW5IZWFkZXIoUmVmZXJyZXJQb2xpY3ksIGNvbnN0IFVS
TCYsIGNvbnN0IFN0cmluZyYgb3JpZ2luKTsKKwogICAgIHN0YXRpYyBib29sIHNob3VsZEluaGVy
aXRTZWN1cml0eU9yaWdpbkZyb21Pd25lcihjb25zdCBVUkwmKTsKIAogICAgIGVudW0gTG9jYWxM
b2FkUG9saWN5IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGUyNjMwNDJmN2Zh
NWM5MmU5YTRkNGZhZWU1YThlMDdjZjc2YTVlYzQuLmM4MTIwMTI5ODhlYTVhNDg5YTU2M2VlNmE2
YmI5NWQ2M2IzMzIzZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIwLTAxLTI1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVhZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCBmZXRjaC9vcmlnaW4gdGVzdHMuCisK
KyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9h
c3NvcnRlZC53aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuanM6IEFkZGVkLgorICAgICAgICAocHJvbWlz
ZV90ZXN0LmFzeW5jIGNvbnN0KToKKyAgICAgICAgKHByb21pc2VfdGVzdCk6CisgICAgICAgIChh
d2FpdC5uZXcuUHJvbWlzZSk6CisgICAgICAgIChhc3luYyBjb25zdCk6CisgICAgICAgIChuYXZp
Z2F0aW9uUmVmZXJyZXJQb2xpY3kpOgorICAgICAgICAoZmV0Y2hSZWZlcnJlclBvbGljeSk6Cisg
ICAgICAgIChyZWZlcnJlclBvbGljeVRlc3RTdHJpbmcpOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanM6IFJlbW92ZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0
YXNoLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL29yaWdpbi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZzoKKwogMjAyMC0wMS0yNCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IE1lZGlhUmVjb3JkZXIucmVxdWVzdERhdGEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggMjJj
YjRiZWE2ZDdjOGY0MWI4YzJjOTVjN2QxMjQ1ODE2M2MzMGM2NS4uNTMwMmVkMWNmZmE1ODU3NjM3
MjVmZTk5M2VhODQwMjU0N2I1NzA2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE3Myw2
ICsxNzMsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2giOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbiI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3JhbmdlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL2Z1bGxzY3JlZW4iOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWNiNTI0MjkzZmNlNWM0ZDQxZGMxY2RhZmMwOGFlZTI0YmE4MzYzYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3Jp
Z2luL2Fzc29ydGVkLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorCitGQUlM
IE9yaWdpbiBoZWFkZXIgYW5kIDMwOCByZWRpcmVjdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
bnVsbCIgYnV0IGdvdCAibm8gT3JpZ2luIGhlYWRlciIKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQg
R0VUIG5hdmlnYXRpb24gCitGQUlMIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgbmF2aWdhdGlvbiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibnVsbCIgYnV0IGdvdCAibm8gT3JpZ2luIGhlYWRlciIK
K1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGgg
UmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NU
IHNhbWUtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1y
ZWZlcnJlciAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBj
b3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXIgCitQQVNTIE9yaWdpbiBo
ZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xp
Y3kgbm8tcmVmZXJyZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2lu
IGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BB
U1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdp
dGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQ
T1NUIHNhbWUtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2FtZS1vcmln
aW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29y
cyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVh
ZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBv
bGljeSBzYW1lLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmln
aW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdpbiAKK1BBU1MgT3Jp
Z2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGgg
UmVmZXJyZXItUG9saWN5IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NU
IGNyb3NzLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2FtZS1v
cmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gbmF2aWdhdGlv
biB3aXRoIFJlZmVycmVyLVBvbGljeSBvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4gCitQQVNTIE9y
aWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGgg
UmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhl
YWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Q
b2xpY3kgb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQ
T1NUIGNyb3NzLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13
aGVuLWNyb3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmln
aW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNy
b3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0
Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdp
biAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdp
dGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIAorUEFTUyBPcmln
aW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJl
ZmVycmVyLVBvbGljeSBuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZSAKK1BBU1MgT3JpZ2luIGhl
YWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Q
b2xpY3kgbm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5k
IFBPU1QgY3Jvc3Mtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVm
ZXJyZXItd2hlbi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mt
b3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJl
ci13aGVuLWRvd25ncmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmln
aW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyLXdoZW4t
ZG93bmdyYWRlIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIG5hdmln
YXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2luIGhlYWRl
ciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Q
b2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdp
biBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BBU1Mg
T3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVy
cmVyLVBvbGljeSB1bnNhZmUtdXJsIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3Nz
LW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVy
bCAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBt
b2RlIHdpdGggUmVmZXJyZXItUG9saWN5IHVuc2FmZS11cmwgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29y
dGVkLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4Mjkx
MzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fz
c29ydGVkLndpbmRvdy5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVk
LndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTgzMjcyNGE3MGRk
ZjQwNjUxMTU1NWU3OTFjOWVhYzU5MDIzOTdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQu
d2luZG93LmpzCkBAIC0wLDAgKzEsMjAyIEBACisvLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi91dGls
cy5qcworLy8gTUVUQTogc2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMKKworY29u
c3Qgb3JpZ2lucyA9IGdldF9ob3N0X2luZm8oKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpLAorICAgICAgICByZWRpcmVjdFBhdGgg
PSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICAv
LyBDcm9zcy1vcmlnaW4gLT4gc2FtZS1vcmlnaW4gd2lsbCByZXN1bHQgaW4gc2V0dGluZyB0aGUg
dGFpbnRlZCBvcmlnaW4gZmxhZyBmb3IgdGhlIHNlY29uZAorICAvLyByZXF1ZXN0LgorICBsZXQg
dXJsID0gb3JpZ2lucy5IVFRQX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0
YXNoOworICB1cmwgPSBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0aCAr
ICI/c3Rhc2g9IiArIHN0YXNoICsgIiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVy
bCk7CisKKyAgYXdhaXQgZmV0Y2godXJsLCB7IG1vZGU6ICJuby1jb3JzIiwgbWV0aG9kOiAiUE9T
VCIgfSk7CisKKyAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVjdFBhdGgg
KyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgIGFzc2VydF9lcXVhbHMoanNv
blswXSwgb3JpZ2lucy5IVFRQX09SSUdJTik7CisgIGFzc2VydF9lcXVhbHMoanNvblsxXSwgIm51
bGwiKTsKK30sICJPcmlnaW4gaGVhZGVyIGFuZCAzMDggcmVkaXJlY3QiKTsKKworcHJvbWlzZV90
ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpLAorICAgICAg
ICByZWRpcmVjdFBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0
YXNoLnB5IjsKKworICBsZXQgdXJsID0gb3JpZ2lucy5IVFRQX09SSUdJTiArIHJlZGlyZWN0UGF0
aCArICI/c3Rhc2g9IiArIHN0YXNoOworICB1cmwgPSBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJ
TiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoICsgIiZsb2NhdGlvbj0iICsgZW5j
b2RlVVJJQ29tcG9uZW50KHVybCk7CisKKyAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAg
ICBmcmFtZS5zcmMgPSB1cmw7CisgICAgZnJhbWUub25sb2FkID0gKCkgPT4geworICAgICAgcmVz
b2x2ZSgpOworICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgfQorICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoZnJhbWUpOworICB9KTsKKworICBjb25zdCBqc29uID0gYXdhaXQgKGF3YWl0
IGZldGNoKHJlZGlyZWN0UGF0aCArICI/ZHVtcCZzdGFzaD0iICsgc3Rhc2gpKS5qc29uKCk7CisK
KyAgYXNzZXJ0X2VxdWFscyhqc29uWzBdLCAibm8gT3JpZ2luIGhlYWRlciIpOworICBhc3NlcnRf
ZXF1YWxzKGpzb25bMV0sICJubyBPcmlnaW4gaGVhZGVyIik7Cit9LCAiT3JpZ2luIGhlYWRlciBh
bmQgR0VUIG5hdmlnYXRpb24iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsK
KyAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpLAorICAgICAgICByZWRpcmVjdFBhdGggPSAiL2ZldGNo
L29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICBsZXQgdXJsID0g
b3JpZ2lucy5IVFRQX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoOwor
ICB1cmwgPSBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rh
c2g9IiArIHN0YXNoICsgIiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7CisK
KyAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgZnJhbWUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCBlID0+IHsKKyAgICAgIGlmIChlLmRhdGEgPT09ICJsb2FkZWQiKSB7CisgICAg
ICAgIHJlc29sdmUoKTsKKyAgICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgICB9CisgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworICAgIGZyYW1lLm9ubG9hZCA9ICgpID0+IHsKKyAgICAgIGNvbnN0
IGRvYyA9IGZyYW1lLmNvbnRlbnREb2N1bWVudCwKKyAgICAgICAgICAgIGZvcm0gPSBkb2MuYm9k
eS5hcHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudCgiZm9ybSIpKSwKKyAgICAgICAgICAgIHN1
Ym1pdCA9IGZvcm0uYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOworICAg
ICAgZm9ybS5hY3Rpb24gPSB1cmw7CisgICAgICBmb3JtLm1ldGhvZCA9ICJQT1NUIjsKKyAgICAg
IHN1Ym1pdC50eXBlID0gInN1Ym1pdCI7CisgICAgICBzdWJtaXQuY2xpY2soKTsKKyAgICB9Cisg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgIH0pOworCisgIGNvbnN0IGpz
b24gPSBhd2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBz
dGFzaCkpLmpzb24oKTsKKworICBhc3NlcnRfZXF1YWxzKGpzb25bMF0sIG9yaWdpbnMuSFRUUF9P
UklHSU4pOworICBhc3NlcnRfZXF1YWxzKGpzb25bMV0sICJudWxsIik7Cit9LCAiT3JpZ2luIGhl
YWRlciBhbmQgUE9TVCBuYXZpZ2F0aW9uIik7CisKK2Z1bmN0aW9uIG5hdmlnYXRpb25SZWZlcnJl
clBvbGljeShyZWZlcnJlclBvbGljeSwgZGVzdGluYXRpb24sIGV4cGVjdGVkT3JpZ2luKSB7Cisg
IHJldHVybiBhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpOwor
ICAgIGNvbnN0IHJlZmVycmVyUG9saWN5UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9y
ZWZlcnJlci1wb2xpY3kucHkiOworICAgIGNvbnN0IHJlZGlyZWN0UGF0aCA9ICIvZmV0Y2gvb3Jp
Z2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkiOworCisgICAgbGV0IHBvc3RVcmwg
PQorICAgICAgICAgICAgKGRlc3RpbmF0aW9uID09PSAic2FtZS1vcmlnaW4iID8gb3JpZ2lucy5I
VFRQX09SSUdJTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDog
b3JpZ2lucy5IVFRQX1JFTU9URV9PUklHSU4pICsKKyAgICAgICAgICAgIHJlZGlyZWN0UGF0aCAr
ICI/c3Rhc2g9IiArIHN0YXNoOworCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwor
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgICAgICBmcmFtZS5zcmMg
PSBvcmlnaW5zLkhUVFBfT1JJR0lOICsgcmVmZXJyZXJQb2xpY3lQYXRoICsKKyAgICAgICAgICAg
ICAgICAgICI/cmVmZXJyZXJQb2xpY3k9IiArIHJlZmVycmVyUG9saWN5OworICAgICAgc2VsZi5h
ZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gbGlzdGVuZXIoZSkgeworICAgICAg
ICBpZiAoZS5kYXRhID09PSAibG9hZGVkIikgeworICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAg
ICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICAgICAgICBzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCBsaXN0ZW5lcik7CisgICAgICAgIH0gZWxzZSBpZiAoZS5kYXRhID09PSAiYWN0
aW9uIikgeworICAgICAgICAgIGNvbnN0IGRvYyA9IGZyYW1lLmNvbnRlbnREb2N1bWVudCwKKyAg
ICAgICAgICAgICAgICBmb3JtID0gZG9jLmJvZHkuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1l
bnQoImZvcm0iKSksCisgICAgICAgICAgICAgICAgc3VibWl0ID0gZm9ybS5hcHBlbmRDaGlsZChk
b2MuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CisgICAgICAgICAgZm9ybS5hY3Rpb24gPSBwb3N0
VXJsOworICAgICAgICAgIGZvcm0ubWV0aG9kID0gIlBPU1QiOworICAgICAgICAgIHN1Ym1pdC50
eXBlID0gInN1Ym1pdCI7CisgICAgICAgICAgc3VibWl0LmNsaWNrKCk7CisgICAgICAgIH0KKyAg
ICAgIH0pOworICAgIH0pOworCisgICAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChy
ZWRpcmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgICAgYXNz
ZXJ0X2VxdWFscyhqc29uWzBdLCBleHBlY3RlZE9yaWdpbik7CisgIH07Cit9CisKK2Z1bmN0aW9u
IGZldGNoUmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3ksIGRlc3RpbmF0aW9uLCBmZXRjaE1v
ZGUsIGV4cGVjdGVkT3JpZ2luKSB7CisgIHJldHVybiBhc3luYyBmdW5jdGlvbiAoKSB7CisgICAg
Y29uc3Qgc3Rhc2ggPSB0b2tlbigpOworICAgIGNvbnN0IHJlZmVycmVyUG9saWN5UGF0aCA9ICIv
ZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3kucHkiOworICAgIGNvbnN0IHJl
ZGlyZWN0UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gu
cHkiOworCisgICAgbGV0IGZldGNoVXJsID0KKyAgICAgICAgKGRlc3RpbmF0aW9uID09PSAic2Ft
ZS1vcmlnaW4iID8gb3JpZ2lucy5IVFRQX09SSUdJTgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOiBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTikgKworICAgICAgICBy
ZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaDsKKworICAgIGF3YWl0IGZldGNoKGZldGNo
VXJsLCB7IG1vZGU6IGZldGNoTW9kZSwgbWV0aG9kOiAiUE9TVCIgLCAicmVmZXJyZXJQb2xpY3ki
OiByZWZlcnJlclBvbGljeX0pOworCisgICAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRj
aChyZWRpcmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgICAg
YXNzZXJ0X2VxdWFscyhqc29uWzBdLCBleHBlY3RlZE9yaWdpbik7CisgIH07Cit9CisKK2Z1bmN0
aW9uIHJlZmVycmVyUG9saWN5VGVzdFN0cmluZyhyZWZlcnJlclBvbGljeSwgZGVzdGluYXRpb24p
IHsKKyAgcmV0dXJuICJPcmlnaW4gaGVhZGVyIGFuZCBQT1NUICIgKyBkZXN0aW5hdGlvbiArICIg
d2l0aCBSZWZlcnJlci1Qb2xpY3kgIiArCisgICAgICAgICByZWZlcnJlclBvbGljeTsKK30KKwor
WworICB7CisgICAgInBvbGljeSI6ICJuby1yZWZlcnJlciIsCisgICAgImV4cGVjdGVkT3JpZ2lu
Rm9yU2FtZU9yaWdpbiI6ICJudWxsIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdp
biI6ICJudWxsIgorICB9LAorICB7CisgICAgInBvbGljeSI6ICJzYW1lLW9yaWdpbiIsCisgICAg
ImV4cGVjdGVkT3JpZ2luRm9yU2FtZU9yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4sCisgICAg
ImV4cGVjdGVkT3JpZ2luRm9yQ3Jvc3NPcmlnaW4iOiAibnVsbCIKKyAgfSwKKyAgeworICAgICJw
b2xpY3kiOiAib3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5G
b3JTYW1lT3JpZ2luIjogb3JpZ2lucy5IVFRQX09SSUdJTiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5G
b3JDcm9zc09yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4KKyAgfSwKKyAgeworICAgICJwb2xp
Y3kiOiAibm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUiLAorICAgICJleHBlY3RlZE9yaWdpbkZv
clNhbWVPcmlnaW4iOiBvcmlnaW5zLkhUVFBfT1JJR0lOLAorICAgICJleHBlY3RlZE9yaWdpbkZv
ckNyb3NzT3JpZ2luIjogb3JpZ2lucy5IVFRQX09SSUdJTgorICB9LAorICB7CisgICAgInBvbGlj
eSI6ICJ1bnNhZmUtdXJsIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JTYW1lT3JpZ2luIjogb3Jp
Z2lucy5IVFRQX09SSUdJTiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbiI6IG9y
aWdpbnMuSFRUUF9PUklHSU4KKyAgfSwKK10uZm9yRWFjaCh0ZXN0T2JqID0+IHsKKyAgWworICAg
IHsKKyAgICAgICJuYW1lIjogInNhbWUtb3JpZ2luIiwKKyAgICAgICJleHBlY3RlZE9yaWdpbiI6
IHRlc3RPYmouZXhwZWN0ZWRPcmlnaW5Gb3JTYW1lT3JpZ2luCisgICAgfSwKKyAgICB7CisgICAg
ICAibmFtZSI6ICJjcm9zcy1vcmlnaW4iLAorICAgICAgImV4cGVjdGVkT3JpZ2luIjogdGVzdE9i
ai5leHBlY3RlZE9yaWdpbkZvckNyb3NzT3JpZ2luCisgICAgfQorICBdLmZvckVhY2goZGVzdGlu
YXRpb24gPT4geworICAgIC8vIFRlc3QgZm9ybSBQT1NUIG5hdmlnYXRpb24KKyAgICBwcm9taXNl
X3Rlc3QobmF2aWdhdGlvblJlZmVycmVyUG9saWN5KHRlc3RPYmoucG9saWN5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLmV4cGVjdGVk
T3JpZ2luKSwKKyAgICAgICAgICAgICAgICAgcmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5nKHRlc3RP
YmoucG9saWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVz
dGluYXRpb24ubmFtZSArICIgbmF2aWdhdGlvbiIpKTsKKyAgICAvLyBUZXN0IGZldGNoCisgICAg
cHJvbWlzZV90ZXN0KGZldGNoUmVmZXJyZXJQb2xpY3kodGVzdE9iai5wb2xpY3ksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm8tY29ycyIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24uZXhwZWN0ZWRPcmlnaW4pLAorICAgICAg
ICAgICAgICAgICByZWZlcnJlclBvbGljeVRlc3RTdHJpbmcodGVzdE9iai5wb2xpY3ksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5uYW1lICsg
IiBmZXRjaCBuby1jb3JzIG1vZGUiKSk7CisKKyAgICAvLyBXaGVuIHdlJ3JlIGRlYWxpbmcgd2l0
aCBDT1JTIChtb2RlIGlzICJjb3JzIiksIHdlIHNob3VsZG4ndCB0YWtlIHRoZQorICAgIC8vIFJl
ZmVycmVyLVBvbGljeSBpbnRvIGFjY291bnQKKyAgICBwcm9taXNlX3Rlc3QoZmV0Y2hSZWZlcnJl
clBvbGljeSh0ZXN0T2JqLnBvbGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkZXN0aW5hdGlvbi5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJjb3JzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5z
LkhUVFBfT1JJR0lOKSwKKyAgICAgICAgICAgICAgICAgcmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5n
KHRlc3RPYmoucG9saWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGVzdGluYXRpb24ubmFtZSArICIgZmV0Y2ggY29ycyBtb2RlIikpOworICB9KTsKK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzlkMWQzYjNhZjM3NTBlYzQzNTQ5YTNkOTZhMDkxMmUyY2Y2YjM5
OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3Jz
LmFueS5qcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8vIE1FVEE6IHNjcmlwdD0v
Y29tbW9uL3V0aWxzLmpzCi0vLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24oKSB7Ci0gIGNvbnN0IHN0YXNoID0g
dG9rZW4oKSwKLSAgICAgICAgb3JpZ2lucyA9IGdldF9ob3N0X2luZm8oKSwKLSAgICAgICAgcmVk
aXJlY3RQYXRoID0gIi9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5w
eSI7Ci0KLSAgLy8gQ3Jvc3Mtb3JpZ2luIC0+IHNhbWUtb3JpZ2luIHdpbGwgcmVzdWx0IGluIHNl
dHRpbmcgdGhlIHRhaW50ZWQgb3JpZ2luIGZsYWcgZm9yIHRoZSBzZWNvbmQKLSAgLy8gcmVxdWVz
dC4KLSAgbGV0IHVybCA9IG9yaWdpbnMuSFRUUF9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0
YXNoPSIgKyBzdGFzaDsKLSAgdXJsID0gb3JpZ2lucy5IVFRQX1JFTU9URV9PUklHSU4gKyByZWRp
cmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaCArICImbG9jYXRpb249IiArIGVuY29kZVVSSUNv
bXBvbmVudCh1cmwpOwotCi0gIGF3YWl0IGZldGNoKHVybCwgeyBtb2RlOiAibm8tY29ycyIsIG1l
dGhvZDogIlBPU1QiIH0pOwotCi0gIGNvbnN0IGpzb24gPSBhd2FpdCAoYXdhaXQgZmV0Y2gocmVk
aXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkpLmpzb24oKTsKLQotICBhc3NlcnRf
ZXF1YWxzKGpzb25bMF0sIG9yaWdpbnMuSFRUUF9PUklHSU4sICJmaXJzdCBvcmlnaW4gc2hvdWxk
IGVxdWFsIHRoaXMgb3JpZ2luIik7Ci0gIGFzc2VydF9lcXVhbHMoanNvblsxXSwgIm51bGwiLCAi
c2Vjb25kIG9yaWdpbiBzaG91bGQgYmUgb3BhcXVlIGFuZCB0aGVyZWZvcmUgbnVsbCIpOwotfSwg
Ik9yaWdpbiBoZWFkZXIgYW5kIDMwOCByZWRpcmVjdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2Vz
L3JlZGlyZWN0LWFuZC1zdGFzaC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkK
aW5kZXggMWIxYjQ2YmExNzdhZDNhZjU2ZWY4M2U5MGIwOTc0ZGQ4MWNkM2VhZS4uYWE5ZWIzNWRi
MmJkZGI1OWFjYjFjN2ViY2JiOTcxYWIzOGQzNDRiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3Jl
ZGlyZWN0LWFuZC1zdGFzaC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5
CkBAIC05LDcgKzksNyBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgb3JpZ2lu
X2xpc3QgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKGtleSkKIAogICAgIGlmICJkdW1wIiBp
biByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoImNvbnRlbnQtVHlw
ZSIsICJhcHBsaWNhdGlvbi9qc29uIikKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNv
bnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi9qc29uIikKICAgICAgICAgcmVzcG9uc2UuY29udGVu
dCA9IGpzb24uZHVtcHMob3JpZ2luX2xpc3QpCiAgICAgICAgIHJldHVybgogCkBAIC0yNSw1ICsy
NSw2IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIkxvY2F0aW9uIiwgcmVxdWVzdC5HRVQuZmlyc3QoImxvY2F0aW9uIikpCiAgICAg
ICAgIHJldHVybgogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoImNvbnRlbnQtVHlwZSIsICJ0
ZXh0L3BsYWluIikKLSAgICByZXNwb25zZS5jb250ZW50ID0gIkZpeCBodHRwczovL2dpdGh1Yi5j
b20vd2hhdHdnL2ZldGNoL2lzc3Vlcy83MzcuLi4iCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2h0bWwiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCisgICAgcmVzcG9uc2UuY29udGVudCA9
ICI8bWV0YSBjaGFyc2V0PXV0Zi04PlxuPGJvZHk+PHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2Uo
J2xvYWRlZCcsJyonKTwvc2NyaXB0PjwvYm9keT4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggNjhiYWJjNTI0OGUx
ZGEyZGEyMzI3OWUwYjQ1MWI0Nzk2Yjg2ZjA5MC4uYjVmNjU1NmFkNWNiMDEzMTQxNzk3NDcwOGI3
NDBmNDI1ZDZmNjJlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2lu
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMTUsMyArMTUsNCBAQCBOb25lCiAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3Jp
Z2luL3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3kucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9v
cmlnaW4vdzNjLWltcG9ydC5sb2cKaW5kZXggMzAyNDA3ZGZkYzFiZDQ2MWQwOWE3MGY0MzQ3MTRh
ZDA3ZGJmMTNjZS4uNDkyNmZmNWMwYzgwMTA1OWViYWNmMmI4MzhkNmIxODBlODQzZmFjYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9vcmlnaW4vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vdzNjLWltcG9ydC5sb2cKQEAgLTE0LDQgKzE0
LDQgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25lCiAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanMKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRl
ZC53aW5kb3cuanMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388779</attachid>
            <date>2020-01-25 09:59:53 -0800</date>
            <delta_ts>2020-03-03 03:18:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199261-20200125185951.patch</filename>
            <type>text/plain</type>
            <size>26195</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ3NmQwMTk4ZmI5MDM2
OTczOTc2OTc2OTkxYjkzM2Q3ZmYwNjIzOS4uOTI2MGM4ZWRmNmM0OTE4ZWE1ODdkYTAwYzdkOWJk
NDg4NTUwYTA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAxLTI1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVh
ZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdJUAorCisgICAgICAgIFRlc3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0p
OgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVSZWZlcnJlck9yaWdp
bkFuZFVzZXJBZ2VudEhlYWRlcnMpOgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlQb2xpY3kuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVy
KToKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5UG9saWN5Lmg6CisKIDIwMjAtMDEtMjUgIHlvdWVu
biBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQg
c2hvdWxkIG5vdCByZW1vdmUgdGhlIG1lZGlhIHNlc3Npb24gYXQgRE9NIHN1c3BlbnNpb24gdGlt
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggYTEyODU4NTFmMjU5ZDgy
YTYzYTg2ZGU1OGM1M2RlM2UzYjAyZDkxNC4uNTcxZDdjMTk4ODQ1NTcyYjA3OWZkNmQwNmViZmUy
OWRjM2IzMGM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC00OTMs
NyArNDkzLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3VibWl0Rm9ybShSZWY8Rm9ybVN1Ym1pc3Np
b24+JiYgc3VibWlzc2lvbikKICAgICAgICAgbV9zdWJtaXR0ZWRGb3JtVVJMID0gc3VibWlzc2lv
bi0+cmVxdWVzdFVSTCgpOwogCiAgICAgc3VibWlzc2lvbi0+c2V0UmVmZXJyZXIob3V0Z29pbmdS
ZWZlcnJlcigpKTsKLSAgICBzdWJtaXNzaW9uLT5zZXRPcmlnaW4ob3V0Z29pbmdPcmlnaW4oKSk7
CisgICAgc3VibWlzc2lvbi0+c2V0T3JpZ2luKFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdp
bkhlYWRlcihtX2ZyYW1lLmRvY3VtZW50KCktPnJlZmVycmVyUG9saWN5KCksIHN1Ym1pc3Npb24t
PnJlcXVlc3RVUkwoKSwgb3V0Z29pbmdPcmlnaW4oKSkpOwogCiAgICAgdGFyZ2V0RnJhbWUtPm5h
dmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUZvcm1TdWJtaXNzaW9uKFdURk1vdmUoc3VibWlz
c2lvbikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcAppbmRleCA1ZjA4Yjg1NjRmOTU2NzY5Y2ExMGJkYWFlNDYwODJi
YzgwNGMzOTRiLi5mZGQxYzFmNTRkMmQwYjdkMzM0MWJhMzA1MmQ0MzJlZWJkZDY3YjkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0LmNwcApAQCAtMjI5LDYgKzIyOSw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1
cGRhdGVSZWZlcnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMoRnJhbWVMb2FkZXImCiAgICAg
ICAgIG91dGdvaW5nUmVmZXJyZXIgPSBtX3Jlc291cmNlUmVxdWVzdC5odHRwUmVmZXJyZXIoKTsK
ICAgICAgICAgb3V0Z29pbmdPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmlu
ZyhvdXRnb2luZ1JlZmVycmVyKS0+dG9TdHJpbmcoKTsKICAgICB9CisgICAgaWYgKG1fb3B0aW9u
cy5tb2RlICE9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycykKKyAgICAgICAgb3V0Z29pbmdPcmln
aW4gPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIobV9vcHRpb25zLnJlZmVy
cmVyUG9saWN5LCBtX3Jlc291cmNlUmVxdWVzdC51cmwoKSwgb3V0Z29pbmdPcmlnaW4pOworCiAg
ICAgdXBkYXRlUmVxdWVzdFJlZmVycmVyKG1fcmVzb3VyY2VSZXF1ZXN0LCBtX29wdGlvbnMucmVm
ZXJyZXJQb2xpY3ksIG91dGdvaW5nUmVmZXJyZXIpOwogCiAgICAgRnJhbWVMb2FkZXI6OmFkZEhU
VFBPcmlnaW5JZk5lZWRlZChtX3Jlc291cmNlUmVxdWVzdCwgb3V0Z29pbmdPcmlnaW4pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9saWN5LmNwcAppbmRleCAwZGViMDY0MTQ4Zjk3MjZjZDM4
YjQxMDA1ZDUyMjk3MjYwYzFjNjU1Li5kN2YyMzI1ZmYwN2QzNzI5MDg2ZDcwZDQ2ZTdiNWUyZWRi
YmUxY2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9saWN5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9saWN5LmNwcApAQCAtMTMxLDYg
KzEzMSwyOCBAQCBTdHJpbmcgU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlUmVmZXJyZXJIZWFkZXIo
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIGNvbgogICAgIHJldHVybiBzaG91bGRIaWRl
UmVmZXJyZXIodXJsLCByZWZlcnJlcikgPyBTdHJpbmcoKSA6IHJlZmVycmVyOwogfQogCitTdHJp
bmcgU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKFJlZmVycmVyUG9saWN5IHJl
ZmVycmVyUG9saWN5LCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBvcmlnaW4pCit7Cisg
ICAgc3dpdGNoIChyZWZlcnJlclBvbGljeSkgeworICAgIGNhc2UgUmVmZXJyZXJQb2xpY3k6Ok5v
UmVmZXJyZXI6CisgICAgICAgIHJldHVybiAibnVsbCI7CisgICAgY2FzZSBSZWZlcnJlclBvbGlj
eTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGU6CisgICAgY2FzZSBSZWZlcnJlclBvbGljeTo6U3Ry
aWN0T3JpZ2luOgorICAgIGNhc2UgUmVmZXJyZXJQb2xpY3k6OlN0cmljdE9yaWdpbldoZW5Dcm9z
c09yaWdpbjoKKyAgICAgICAgaWYgKHByb3RvY29sSXMoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZy
b21TdHJpbmcob3JpZ2luKS0+cHJvdG9jb2woKSwgImh0dHBzIikgJiYgIXVybC5wcm90b2NvbElz
KCJodHRwcyIpKQorICAgICAgICAgICAgcmV0dXJuICJudWxsIjsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBSZWZlcnJlclBvbGljeTo6U2FtZU9yaWdpbjoKKyAgICAgICAgaWYgKCFTZWN1cml0
eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhvcmlnaW4pLT5jYW5SZXF1ZXN0KHVybCkpCisgICAg
ICAgICAgICByZXR1cm4gIm51bGwiOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gb3JpZ2luOworfQorCiBib29sIFNlY3Vy
aXR5UG9saWN5OjpzaG91bGRJbmhlcml0U2VjdXJpdHlPcmlnaW5Gcm9tT3duZXIoY29uc3QgVVJM
JiB1cmwpCiB7CiAgICAgLy8gUGFyYXBocmFzZWQgZnJvbSA8aHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNvcmlnaW4+ICg4IEp1bHkgMjAxNikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xpY3kuaAppbmRleCA1MzNiMWQ0ZmJkYWQ1MmUzOGYxZmQz
NWEyZjZhMDdkNDgwMDhiMTdlLi5hZGI0NGZlNDg2YmVjYzJkYjY5ODgzNTNhZDJmMWJhODA5YTkx
NDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9saWN5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eVBvbGljeS5oCkBAIC01MCw2ICs1MCw4IEBA
IHB1YmxpYzoKICAgICAvLyByZWZlcnJlciBoZWFkZXIgc2hvdWxkIGJlIG9taXR0ZWQuCiAgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBnZW5lcmF0ZVJlZmVycmVySGVhZGVyKFJlZmVy
cmVyUG9saWN5LCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyKTsKIAorICAgIHN0
YXRpYyBTdHJpbmcgZ2VuZXJhdGVPcmlnaW5IZWFkZXIoUmVmZXJyZXJQb2xpY3ksIGNvbnN0IFVS
TCYsIGNvbnN0IFN0cmluZyYgb3JpZ2luKTsKKwogICAgIHN0YXRpYyBib29sIHNob3VsZEluaGVy
aXRTZWN1cml0eU9yaWdpbkZyb21Pd25lcihjb25zdCBVUkwmKTsKIAogICAgIGVudW0gTG9jYWxM
b2FkUG9saWN5IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGUyNjMwNDJmN2Zh
NWM5MmU5YTRkNGZhZWU1YThlMDdjZjc2YTVlYzQuLjY2ZWFkYmU3N2JkMTFjZGJmYTg3NTM4YzA2
MDAyMjY1YjBmNGViZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM0IEBACisyMDIwLTAxLTI1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVhZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCBmZXRjaC9vcmlnaW4gdGVzdHMuCisK
KyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9h
c3NvcnRlZC53aW5kb3cuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lmh0bWwuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuanM6
IEFkZGVkLgorICAgICAgICAocHJvbWlzZV90ZXN0LmFzeW5jIGNvbnN0KToKKyAgICAgICAgKHBy
b21pc2VfdGVzdCk6CisgICAgICAgIChhd2FpdC5uZXcuUHJvbWlzZSk6CisgICAgICAgIChhc3lu
YyBjb25zdCk6CisgICAgICAgIChuYXZpZ2F0aW9uUmVmZXJyZXJQb2xpY3kpOgorICAgICAgICAo
ZmV0Y2hSZWZlcnJlclBvbGljeSk6CisgICAgICAgIChyZWZlcnJlclBvbGljeVRlc3RTdHJpbmcp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9vcmlnaW4vbm8tY29ycy5hbnkuanM6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5h
bnkud29ya2VyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5OgorICAgICAgICAobWFp
bik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMv
cmVmZXJyZXItcG9saWN5LnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vdzNjLWltcG9ydC5sb2c6
CisKIDIwMjAtMDEtMjQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBNZWRpYVJlY29yZGVyLnJlcXVlc3REYXRhCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCmluZGV4IDIyY2I0YmVhNmQ3YzhmNDFiOGMyYzk1YzdkMTI0NTgxNjNjMzBjNjUu
LjUzMDJlZDFjZmZhNTg1NzYzNzI1ZmU5OTNlYTg0MDI1NDdiNTcwNjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29u
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCkBAIC0xNzMsNiArMTczLDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpIjogImlt
cG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMiOiAiaW1wb3J0
IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4iOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9yYW5nZSI6ICJpbXBvcnQiLCAKICAgICAid2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUiOiAiaW1wb3J0Iiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mdWxsc2NyZWVuIjogInNraXAiLCAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3Jp
Z2luL2Fzc29ydGVkLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3ctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVjYjUyNDI5M2ZjZTVjNGQ0MWRjMWNkYWZjMDhhZWUyNGJhODM2
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzUgQEAKKworRkFJTCBPcmlnaW4gaGVhZGVyIGFuZCAzMDggcmVkaXJlY3QgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIm51bGwiIGJ1dCBnb3QgIm5vIE9yaWdpbiBoZWFkZXIiCitQQVNT
IE9yaWdpbiBoZWFkZXIgYW5kIEdFVCBuYXZpZ2F0aW9uIAorRkFJTCBPcmlnaW4gaGVhZGVyIGFu
ZCBQT1NUIG5hdmlnYXRpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm51bGwiIGJ1dCBnb3Qg
Im5vIE9yaWdpbiBoZWFkZXIiCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmln
aW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BBU1MgT3Jp
Z2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBS
ZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qg
c2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVy
cmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBuYXZpZ2F0aW9u
IHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFu
ZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xp
Y3kgbm8tcmVmZXJyZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2lu
IGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BBU1Mg
T3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJy
ZXItUG9saWN5IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUt
b3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdp
biAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1v
ZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2FtZS1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIg
YW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2Ft
ZS1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNo
IG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdpbiAKK1BBU1MgT3Jp
Z2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVm
ZXJyZXItUG9saWN5IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNh
bWUtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgb3JpZ2luLXdoZW4tY3Jv
c3Mtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNo
IG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBvcmlnaW4td2hlbi1jcm9zcy1vcmln
aW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBt
b2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BBU1Mg
T3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVy
cmVyLVBvbGljeSBvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIg
YW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBv
bGljeSBvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBP
U1QgY3Jvc3Mtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBvcmln
aW4td2hlbi1jcm9zcy1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1v
cmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlci13aGVuLWRv
d25ncmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBu
by1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXItd2hlbi1kb3duZ3Jh
ZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBt
b2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIAorUEFT
UyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVm
ZXJyZXItUG9saWN5IG5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIAorUEFTUyBPcmlnaW4gaGVh
ZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJl
ci1Qb2xpY3kgbm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIg
YW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGlj
eSBuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9T
VCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IHVuc2FmZS11cmwg
CitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29ycyBt
b2RlIHdpdGggUmVmZXJyZXItUG9saWN5IHVuc2FmZS11cmwgCitQQVNTIE9yaWdpbiBoZWFkZXIg
YW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5
IHVuc2FmZS11cmwgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIG5h
dmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2luIGhl
YWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJy
ZXItUG9saWN5IHVuc2FmZS11cmwgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mt
b3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSB1bnNhZmUtdXJsIAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbApAQCAtMCwwICsxIEBACis8IS0t
IFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8g
cnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWU4MzI3MjRhNzBkZGY0MDY1MTE1NTVlNzkxYzllYWM1OTAyMzk3YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5qcwpAQCAtMCwwICsxLDIwMiBAQAorLy8gTUVUQTog
c2NyaXB0PS9jb21tb24vdXRpbHMuanMKKy8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dldC1ob3N0
LWluZm8uc3ViLmpzCisKK2NvbnN0IG9yaWdpbnMgPSBnZXRfaG9zdF9pbmZvKCk7CisKK3Byb21p
c2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgIGNvbnN0IHN0YXNoID0gdG9rZW4oKSwKKyAg
ICAgICAgcmVkaXJlY3RQYXRoID0gIi9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFu
ZC1zdGFzaC5weSI7CisKKyAgLy8gQ3Jvc3Mtb3JpZ2luIC0+IHNhbWUtb3JpZ2luIHdpbGwgcmVz
dWx0IGluIHNldHRpbmcgdGhlIHRhaW50ZWQgb3JpZ2luIGZsYWcgZm9yIHRoZSBzZWNvbmQKKyAg
Ly8gcmVxdWVzdC4KKyAgbGV0IHVybCA9IG9yaWdpbnMuSFRUUF9PUklHSU4gKyByZWRpcmVjdFBh
dGggKyAiP3N0YXNoPSIgKyBzdGFzaDsKKyAgdXJsID0gb3JpZ2lucy5IVFRQX1JFTU9URV9PUklH
SU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaCArICImbG9jYXRpb249IiArIGVu
Y29kZVVSSUNvbXBvbmVudCh1cmwpOworCisgIGF3YWl0IGZldGNoKHVybCwgeyBtb2RlOiAibm8t
Y29ycyIsIG1ldGhvZDogIlBPU1QiIH0pOworCisgIGNvbnN0IGpzb24gPSBhd2FpdCAoYXdhaXQg
ZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkpLmpzb24oKTsKKwor
ICBhc3NlcnRfZXF1YWxzKGpzb25bMF0sIG9yaWdpbnMuSFRUUF9PUklHSU4pOworICBhc3NlcnRf
ZXF1YWxzKGpzb25bMV0sICJudWxsIik7Cit9LCAiT3JpZ2luIGhlYWRlciBhbmQgMzA4IHJlZGly
ZWN0Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgIGNvbnN0IHN0YXNo
ID0gdG9rZW4oKSwKKyAgICAgICAgcmVkaXJlY3RQYXRoID0gIi9mZXRjaC9vcmlnaW4vcmVzb3Vy
Y2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weSI7CisKKyAgbGV0IHVybCA9IG9yaWdpbnMuSFRUUF9P
UklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaDsKKyAgdXJsID0gb3JpZ2lu
cy5IVFRQX1JFTU9URV9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaCAr
ICImbG9jYXRpb249IiArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpOworCisgIGF3YWl0IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7CisgICAgZnJhbWUuc3JjID0gdXJsOworICAgIGZyYW1lLm9ubG9hZCA9
ICgpID0+IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICAgIGZyYW1lLnJlbW92ZSgpOworICAgIH0K
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgfSk7CisKKyAgY29uc3Qg
anNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9IiAr
IHN0YXNoKSkuanNvbigpOworCisgIGFzc2VydF9lcXVhbHMoanNvblswXSwgIm5vIE9yaWdpbiBo
ZWFkZXIiKTsKKyAgYXNzZXJ0X2VxdWFscyhqc29uWzFdLCAibm8gT3JpZ2luIGhlYWRlciIpOwor
fSwgIk9yaWdpbiBoZWFkZXIgYW5kIEdFVCBuYXZpZ2F0aW9uIik7CisKK3Byb21pc2VfdGVzdChh
c3luYyBmdW5jdGlvbiAoKSB7CisgIGNvbnN0IHN0YXNoID0gdG9rZW4oKSwKKyAgICAgICAgcmVk
aXJlY3RQYXRoID0gIi9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5w
eSI7CisKKyAgbGV0IHVybCA9IG9yaWdpbnMuSFRUUF9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAi
P3N0YXNoPSIgKyBzdGFzaDsKKyAgdXJsID0gb3JpZ2lucy5IVFRQX1JFTU9URV9PUklHSU4gKyBy
ZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaCArICImbG9jYXRpb249IiArIGVuY29kZVVS
SUNvbXBvbmVudCh1cmwpOworCisgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
IGNvbnN0IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgc2Vs
Zi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZSA9PiB7CisgICAgICBpZiAoZS5kYXRhID09
PSAibG9hZGVkIikgeworICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIGZyYW1lLnJlbW92ZSgp
OworICAgICAgfQorICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKyAgICBmcmFtZS5vbmxvYWQgPSAo
KSA9PiB7CisgICAgICBjb25zdCBkb2MgPSBmcmFtZS5jb250ZW50RG9jdW1lbnQsCisgICAgICAg
ICAgICBmb3JtID0gZG9jLmJvZHkuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoImZvcm0i
KSksCisgICAgICAgICAgICBzdWJtaXQgPSBmb3JtLmFwcGVuZENoaWxkKGRvYy5jcmVhdGVFbGVt
ZW50KCJpbnB1dCIpKTsKKyAgICAgIGZvcm0uYWN0aW9uID0gdXJsOworICAgICAgZm9ybS5tZXRo
b2QgPSAiUE9TVCI7CisgICAgICBzdWJtaXQudHlwZSA9ICJzdWJtaXQiOworICAgICAgc3VibWl0
LmNsaWNrKCk7CisgICAgfQorICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOwor
ICB9KTsKKworICBjb25zdCBqc29uID0gYXdhaXQgKGF3YWl0IGZldGNoKHJlZGlyZWN0UGF0aCAr
ICI/ZHVtcCZzdGFzaD0iICsgc3Rhc2gpKS5qc29uKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhqc29u
WzBdLCBvcmlnaW5zLkhUVFBfT1JJR0lOKTsKKyAgYXNzZXJ0X2VxdWFscyhqc29uWzFdLCAibnVs
bCIpOworfSwgIk9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgbmF2aWdhdGlvbiIpOworCitmdW5jdGlv
biBuYXZpZ2F0aW9uUmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3ksIGRlc3RpbmF0aW9uLCBl
eHBlY3RlZE9yaWdpbikgeworICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGNvbnN0
IHN0YXNoID0gdG9rZW4oKTsKKyAgICBjb25zdCByZWZlcnJlclBvbGljeVBhdGggPSAiL2ZldGNo
L29yaWdpbi9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LnB5IjsKKyAgICBjb25zdCByZWRpcmVj
dFBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsK
KworICAgIGxldCBwb3N0VXJsID0KKyAgICAgICAgICAgIChkZXN0aW5hdGlvbiA9PT0gInNhbWUt
b3JpZ2luIiA/IG9yaWdpbnMuSFRUUF9PUklHSU4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6IG9yaWdpbnMuSFRUUF9SRU1PVEVfT1JJR0lOKSArCisgICAgICAg
ICAgICByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaDsKKworICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgICAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpZnJhbWUiKTsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUp
OworICAgICAgZnJhbWUuc3JjID0gb3JpZ2lucy5IVFRQX09SSUdJTiArIHJlZmVycmVyUG9saWN5
UGF0aCArCisgICAgICAgICAgICAgICAgICAiP3JlZmVycmVyUG9saWN5PSIgKyByZWZlcnJlclBv
bGljeTsKKyAgICAgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uIGxp
c3RlbmVyKGUpIHsKKyAgICAgICAgaWYgKGUuZGF0YSA9PT0gImxvYWRlZCIpIHsKKyAgICAgICAg
ICByZXNvbHZlKCk7CisgICAgICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgICAgICAgc2VsZi5y
ZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgbGlzdGVuZXIpOworICAgICAgICB9IGVsc2Ug
aWYgKGUuZGF0YSA9PT0gImFjdGlvbiIpIHsKKyAgICAgICAgICBjb25zdCBkb2MgPSBmcmFtZS5j
b250ZW50RG9jdW1lbnQsCisgICAgICAgICAgICAgICAgZm9ybSA9IGRvYy5ib2R5LmFwcGVuZENo
aWxkKGRvYy5jcmVhdGVFbGVtZW50KCJmb3JtIikpLAorICAgICAgICAgICAgICAgIHN1Ym1pdCA9
IGZvcm0uYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOworICAgICAgICAg
IGZvcm0uYWN0aW9uID0gcG9zdFVybDsKKyAgICAgICAgICBmb3JtLm1ldGhvZCA9ICJQT1NUIjsK
KyAgICAgICAgICBzdWJtaXQudHlwZSA9ICJzdWJtaXQiOworICAgICAgICAgIHN1Ym1pdC5jbGlj
aygpOworICAgICAgICB9CisgICAgICB9KTsKKyAgICB9KTsKKworICAgIGNvbnN0IGpzb24gPSBh
d2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkp
Lmpzb24oKTsKKworICAgIGFzc2VydF9lcXVhbHMoanNvblswXSwgZXhwZWN0ZWRPcmlnaW4pOwor
ICB9OworfQorCitmdW5jdGlvbiBmZXRjaFJlZmVycmVyUG9saWN5KHJlZmVycmVyUG9saWN5LCBk
ZXN0aW5hdGlvbiwgZmV0Y2hNb2RlLCBleHBlY3RlZE9yaWdpbikgeworICByZXR1cm4gYXN5bmMg
ZnVuY3Rpb24gKCkgeworICAgIGNvbnN0IHN0YXNoID0gdG9rZW4oKTsKKyAgICBjb25zdCByZWZl
cnJlclBvbGljeVBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5
LnB5IjsKKyAgICBjb25zdCByZWRpcmVjdFBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMv
cmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICAgIGxldCBmZXRjaFVybCA9CisgICAgICAgIChk
ZXN0aW5hdGlvbiA9PT0gInNhbWUtb3JpZ2luIiA/IG9yaWdpbnMuSFRUUF9PUklHSU4KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogb3JpZ2lucy5IVFRQX1JFTU9URV9P
UklHSU4pICsKKyAgICAgICAgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0iICsgc3Rhc2g7CisKKyAg
ICBhd2FpdCBmZXRjaChmZXRjaFVybCwgeyBtb2RlOiBmZXRjaE1vZGUsIG1ldGhvZDogIlBPU1Qi
ICwgInJlZmVycmVyUG9saWN5IjogcmVmZXJyZXJQb2xpY3l9KTsKKworICAgIGNvbnN0IGpzb24g
PSBhd2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFz
aCkpLmpzb24oKTsKKworICAgIGFzc2VydF9lcXVhbHMoanNvblswXSwgZXhwZWN0ZWRPcmlnaW4p
OworICB9OworfQorCitmdW5jdGlvbiByZWZlcnJlclBvbGljeVRlc3RTdHJpbmcocmVmZXJyZXJQ
b2xpY3ksIGRlc3RpbmF0aW9uKSB7CisgIHJldHVybiAiT3JpZ2luIGhlYWRlciBhbmQgUE9TVCAi
ICsgZGVzdGluYXRpb24gKyAiIHdpdGggUmVmZXJyZXItUG9saWN5ICIgKworICAgICAgICAgcmVm
ZXJyZXJQb2xpY3k7Cit9CisKK1sKKyAgeworICAgICJwb2xpY3kiOiAibm8tcmVmZXJyZXIiLAor
ICAgICJleHBlY3RlZE9yaWdpbkZvclNhbWVPcmlnaW4iOiAibnVsbCIsCisgICAgImV4cGVjdGVk
T3JpZ2luRm9yQ3Jvc3NPcmlnaW4iOiAibnVsbCIKKyAgfSwKKyAgeworICAgICJwb2xpY3kiOiAi
c2FtZS1vcmlnaW4iLAorICAgICJleHBlY3RlZE9yaWdpbkZvclNhbWVPcmlnaW4iOiBvcmlnaW5z
LkhUVFBfT1JJR0lOLAorICAgICJleHBlY3RlZE9yaWdpbkZvckNyb3NzT3JpZ2luIjogIm51bGwi
CisgIH0sCisgIHsKKyAgICAicG9saWN5IjogIm9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiIsCisg
ICAgImV4cGVjdGVkT3JpZ2luRm9yU2FtZU9yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4sCisg
ICAgImV4cGVjdGVkT3JpZ2luRm9yQ3Jvc3NPcmlnaW4iOiBvcmlnaW5zLkhUVFBfT1JJR0lOCisg
IH0sCisgIHsKKyAgICAicG9saWN5IjogIm5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIiwKKyAg
ICAiZXhwZWN0ZWRPcmlnaW5Gb3JTYW1lT3JpZ2luIjogb3JpZ2lucy5IVFRQX09SSUdJTiwKKyAg
ICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4KKyAg
fSwKKyAgeworICAgICJwb2xpY3kiOiAidW5zYWZlLXVybCIsCisgICAgImV4cGVjdGVkT3JpZ2lu
Rm9yU2FtZU9yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4sCisgICAgImV4cGVjdGVkT3JpZ2lu
Rm9yQ3Jvc3NPcmlnaW4iOiBvcmlnaW5zLkhUVFBfT1JJR0lOCisgIH0sCitdLmZvckVhY2godGVz
dE9iaiA9PiB7CisgIFsKKyAgICB7CisgICAgICAibmFtZSI6ICJzYW1lLW9yaWdpbiIsCisgICAg
ICAiZXhwZWN0ZWRPcmlnaW4iOiB0ZXN0T2JqLmV4cGVjdGVkT3JpZ2luRm9yU2FtZU9yaWdpbgor
ICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiY3Jvc3Mtb3JpZ2luIiwKKyAgICAgICJleHBl
Y3RlZE9yaWdpbiI6IHRlc3RPYmouZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbgorICAgIH0K
KyAgXS5mb3JFYWNoKGRlc3RpbmF0aW9uID0+IHsKKyAgICAvLyBUZXN0IGZvcm0gUE9TVCBuYXZp
Z2F0aW9uCisgICAgcHJvbWlzZV90ZXN0KG5hdmlnYXRpb25SZWZlcnJlclBvbGljeSh0ZXN0T2Jq
LnBvbGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Rp
bmF0aW9uLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZXN0aW5hdGlvbi5leHBlY3RlZE9yaWdpbiksCisgICAgICAgICAgICAgICAgIHJlZmVycmVyUG9s
aWN5VGVzdFN0cmluZyh0ZXN0T2JqLnBvbGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5hbWUgKyAiIG5hdmlnYXRpb24iKSk7CisgICAg
Ly8gVGVzdCBmZXRjaAorICAgIHByb21pc2VfdGVzdChmZXRjaFJlZmVycmVyUG9saWN5KHRlc3RP
YmoucG9saWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0
aW9uLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vLWNvcnMi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLmV4cGVj
dGVkT3JpZ2luKSwKKyAgICAgICAgICAgICAgICAgcmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5nKHRl
c3RPYmoucG9saWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVzdGluYXRpb24ubmFtZSArICIgZmV0Y2ggbm8tY29ycyBtb2RlIikpOworCisgICAgLy8gV2hl
biB3ZSdyZSBkZWFsaW5nIHdpdGggQ09SUyAobW9kZSBpcyAiY29ycyIpLCB3ZSBzaG91bGRuJ3Qg
dGFrZSB0aGUKKyAgICAvLyBSZWZlcnJlci1Qb2xpY3kgaW50byBhY2NvdW50CisgICAgcHJvbWlz
ZV90ZXN0KGZldGNoUmVmZXJyZXJQb2xpY3kodGVzdE9iai5wb2xpY3ksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiY29ycyIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3JpZ2lucy5IVFRQX09SSUdJTiksCisgICAgICAgICAgICAgICAgIHJlZmVy
cmVyUG9saWN5VGVzdFN0cmluZyh0ZXN0T2JqLnBvbGljeSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5hbWUgKyAiIGZldGNoIGNvcnMgbW9k
ZSIpKTsKKyAgfSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2lu
L25vLWNvcnMuYW55LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZTMyMDViZmM4YmU5YjU2ZmJiNmY3NzBkNmY2NzVjYzVhZmNhODQyMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLQotRkFJTCBPcmlnaW4gaGVhZGVyIGFuZCAz
MDggcmVkaXJlY3QgYXNzZXJ0X2VxdWFsczogc2Vjb25kIG9yaWdpbiBzaG91bGQgYmUgb3BhcXVl
IGFuZCB0aGVyZWZvcmUgbnVsbCBleHBlY3RlZCAibnVsbCIgYnV0IGdvdCAibm8gT3JpZ2luIGhl
YWRlciIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBh
NDUwNjA5ODBiNTQ4YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9v
cmlnaW4vbm8tY29ycy5hbnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0g
VGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBy
dW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvb3JpZ2luL25vLWNvcnMuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM5ZDFkM2IzYWYzNzUwZWM0MzU0OWEzZDk2YTA5MTJlMmNmNmIzOTku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5h
bnkuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBNRVRBOiBzY3JpcHQ9L2Nv
bW1vbi91dGlscy5qcwotLy8gTUVUQTogc2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIu
anMKLQotcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKCkgewotICBjb25zdCBzdGFzaCA9IHRv
a2VuKCksCi0gICAgICAgIG9yaWdpbnMgPSBnZXRfaG9zdF9pbmZvKCksCi0gICAgICAgIHJlZGly
ZWN0UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHki
OwotCi0gIC8vIENyb3NzLW9yaWdpbiAtPiBzYW1lLW9yaWdpbiB3aWxsIHJlc3VsdCBpbiBzZXR0
aW5nIHRoZSB0YWludGVkIG9yaWdpbiBmbGFnIGZvciB0aGUgc2Vjb25kCi0gIC8vIHJlcXVlc3Qu
Ci0gIGxldCB1cmwgPSBvcmlnaW5zLkhUVFBfT1JJR0lOICsgcmVkaXJlY3RQYXRoICsgIj9zdGFz
aD0iICsgc3Rhc2g7Ci0gIHVybCA9IG9yaWdpbnMuSFRUUF9SRU1PVEVfT1JJR0lOICsgcmVkaXJl
Y3RQYXRoICsgIj9zdGFzaD0iICsgc3Rhc2ggKyAiJmxvY2F0aW9uPSIgKyBlbmNvZGVVUklDb21w
b25lbnQodXJsKTsKLQotICBhd2FpdCBmZXRjaCh1cmwsIHsgbW9kZTogIm5vLWNvcnMiLCBtZXRo
b2Q6ICJQT1NUIiB9KTsKLQotICBjb25zdCBqc29uID0gYXdhaXQgKGF3YWl0IGZldGNoKHJlZGly
ZWN0UGF0aCArICI/ZHVtcCZzdGFzaD0iICsgc3Rhc2gpKS5qc29uKCk7Ci0KLSAgYXNzZXJ0X2Vx
dWFscyhqc29uWzBdLCBvcmlnaW5zLkhUVFBfT1JJR0lOLCAiZmlyc3Qgb3JpZ2luIHNob3VsZCBl
cXVhbCB0aGlzIG9yaWdpbiIpOwotICBhc3NlcnRfZXF1YWxzKGpzb25bMV0sICJudWxsIiwgInNl
Y29uZCBvcmlnaW4gc2hvdWxkIGJlIG9wYXF1ZSBhbmQgdGhlcmVmb3JlIG51bGwiKTsKLX0sICJP
cmlnaW4gaGVhZGVyIGFuZCAzMDggcmVkaXJlY3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55
Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzIwNWJmYzhiZTliNTZmYmI2Zjc3MGQ2ZjY3
NWNjNWFmY2E4NDIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3Jp
Z2luL25vLWNvcnMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
ICswLDAgQEAKLQotRkFJTCBPcmlnaW4gaGVhZGVyIGFuZCAzMDggcmVkaXJlY3QgYXNzZXJ0X2Vx
dWFsczogc2Vjb25kIG9yaWdpbiBzaG91bGQgYmUgb3BhcXVlIGFuZCB0aGVyZWZvcmUgbnVsbCBl
eHBlY3RlZCAibnVsbCIgYnV0IGdvdCAibm8gT3JpZ2luIGhlYWRlciIKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4v
bm8tY29ycy5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXIuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4
MGI1NDhjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9u
by1jb3JzLmFueS53b3JrZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0g
VGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBy
dW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVk
aXJlY3QtYW5kLXN0YXNoLnB5CmluZGV4IDFiMWI0NmJhMTc3YWQzYWY1NmVmODNlOTBiMDk3NGRk
ODFjZDNlYWUuLmFhOWViMzVkYjJiZGRiNTlhY2IxYzdlYmNiYjk3MWFiMzhkMzQ0YjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
b3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3Jl
ZGlyZWN0LWFuZC1zdGFzaC5weQpAQCAtOSw3ICs5LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVz
cG9uc2UpOgogICAgIG9yaWdpbl9saXN0ID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZShrZXkp
CiAKICAgICBpZiAiZHVtcCIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KCJjb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24vanNvbiIpCisgICAgICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24vanNvbiIpCiAgICAg
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBqc29uLmR1bXBzKG9yaWdpbl9saXN0KQogICAgICAgICBy
ZXR1cm4KIApAQCAtMjUsNSArMjUsNiBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAg
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJMb2NhdGlvbiIsIHJlcXVlc3QuR0VULmZpcnN0
KCJsb2NhdGlvbiIpKQogICAgICAgICByZXR1cm4KIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJjb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJG
aXggaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9mZXRjaC9pc3N1ZXMvNzM3Li4uIgorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIikKKyAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKQorICAg
IHJlc3BvbnNlLmNvbnRlbnQgPSAiPG1ldGEgY2hhcnNldD11dGYtOD5cbjxib2R5PjxzY3JpcHQ+
cGFyZW50LnBvc3RNZXNzYWdlKCdsb2FkZWQnLCcqJyk8L3NjcmlwdD48L2JvZHk+IgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9v
cmlnaW4vcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWZlcnJlci1w
b2xpY3kucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJiNzFlMzNiNTQxNjBjNDUxZjFiYmZjOGExNTc2MDBlZWI3
MDU5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3kucHkKQEAg
LTAsMCArMSw3IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgaWYgInJlZmVy
cmVyUG9saWN5IiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IlJlZmVycmVyLVBvbGljeSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Qu
R0VULmZpcnN0KCJyZWZlcnJlclBvbGljeSIpKQorICAgIHJlc3BvbnNlLnN0YXR1cyA9IDIwMAor
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIikKKyAg
ICByZXNwb25zZS5jb250ZW50ID0gIjxtZXRhIGNoYXJzZXQ9dXRmLTg+XG48Ym9keT48c2NyaXB0
PnBhcmVudC5wb3N0TWVzc2FnZSgnYWN0aW9uJywnKicpPC9zY3JpcHQ+PC9ib2R5PiIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
b3JpZ2luL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy93M2MtaW1wb3J0Lmxv
ZwppbmRleCA2OGJhYmM1MjQ4ZTFkYTJkYTIzMjc5ZTBiNDUxYjQ3OTZiODZmMDkwLi5iNWY2NTU2
YWQ1Y2IwMTMxNDE3OTc0NzA4Yjc0MGY0MjVkNmY2MmUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xNSwzICsx
NSw0IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMv
cmVkaXJlY3QtYW5kLXN0YXNoLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS5weQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9vcmlnaW4vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZwppbmRleCAzMDI0MDdkZmRj
MWJkNDYxZDA5YTcwZjQzNDcxNGFkMDdkYmYxM2NlLi40OTI2ZmY1YzBjODAxMDU5ZWJhY2YyYjgz
OGQ2YjE4MGU4NDNmYWNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1w
b3J0LmxvZwpAQCAtMTQsNCArMTQsNCBAQCBQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1j
b3JzLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5qcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392257</attachid>
            <date>2020-03-03 03:18:55 -0800</date>
            <delta_ts>2020-03-04 02:47:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199261-20200303121853.patch</filename>
            <type>text/plain</type>
            <size>10775</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBlNmFhMmQzMDliZTYz
NTBiYzJjNGFlZGI1NjhjODliMzJmMWMwZi4uYjEyNmFkOWRjN2FlMzUxMGY5NjI0YjIyY2QwNjNh
N2I2NzUxYzJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTAzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVh
ZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdJUC4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VibWl0Rm9ybSk6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZVJlcXVlc3Q6OnVwZGF0ZVJlZmVycmVyT3JpZ2luQW5kVXNlckFnZW50SGVhZGVycyk6CisK
IDIwMjAtMDMtMDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDQ3CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA5YzE4ZDc2OGE5NTk3MWQ2MWMzY2Y2M2UwYzI1NDg4
OThiMDczNjdkLi5lYTY0NmIyYWMxZjY1YmE1NjY5MmU0YmE3NzY2M2Y3YTYwNWFhOTlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTUwMSw3ICs1MDEsNyBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpzdWJtaXRGb3JtKFJlZjxGb3JtU3VibWlzc2lvbj4mJiBzdWJtaXNzaW9u
KQogICAgICAgICBtX3N1Ym1pdHRlZEZvcm1VUkwgPSBzdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCk7
CiAKICAgICBzdWJtaXNzaW9uLT5zZXRSZWZlcnJlcihvdXRnb2luZ1JlZmVycmVyKCkpOwotICAg
IHN1Ym1pc3Npb24tPnNldE9yaWdpbihvdXRnb2luZ09yaWdpbigpKTsKKyAgICBzdWJtaXNzaW9u
LT5zZXRPcmlnaW4oU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fZnJhbWUu
ZG9jdW1lbnQoKS0+cmVmZXJyZXJQb2xpY3koKSwgc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBT
ZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhvdXRnb2luZ09yaWdpbigpKSkpOwogCiAg
ICAgdGFyZ2V0RnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUZvcm1TdWJtaXNz
aW9uKFdURk1vdmUoc3VibWlzc2lvbikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcAppbmRleCA1ZjA4Yjg1NjRmOTU2
NzY5Y2ExMGJkYWFlNDYwODJiYzgwNGMzOTRiLi45MjBjMTUyMDgyYjYwM2FiNDVjODExOThlZDE1
YjhlM2UzZGZmNjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcApAQCAtMjI5LDYgKzIyOSw5IEBAIHZvaWQgQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVSZWZlcnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMo
RnJhbWVMb2FkZXImCiAgICAgICAgIG91dGdvaW5nUmVmZXJyZXIgPSBtX3Jlc291cmNlUmVxdWVz
dC5odHRwUmVmZXJyZXIoKTsKICAgICAgICAgb3V0Z29pbmdPcmlnaW4gPSBTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlRnJvbVN0cmluZyhvdXRnb2luZ1JlZmVycmVyKS0+dG9TdHJpbmcoKTsKICAgICB9
CisgICAgaWYgKG1fb3B0aW9ucy5tb2RlICE9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycykKKyAg
ICAgICAgb3V0Z29pbmdPcmlnaW4gPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFk
ZXIobV9vcHRpb25zLnJlZmVycmVyUG9saWN5LCBtX3Jlc291cmNlUmVxdWVzdC51cmwoKSwgU2Vj
dXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3V0Z29pbmdSZWZlcnJlcikpOworCiAgICAg
dXBkYXRlUmVxdWVzdFJlZmVycmVyKG1fcmVzb3VyY2VSZXF1ZXN0LCBtX29wdGlvbnMucmVmZXJy
ZXJQb2xpY3ksIG91dGdvaW5nUmVmZXJyZXIpOwogCiAgICAgRnJhbWVMb2FkZXI6OmFkZEhUVFBP
cmlnaW5JZk5lZWRlZChtX3Jlc291cmNlUmVxdWVzdCwgb3V0Z29pbmdPcmlnaW4pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMmU1MDJhYmI2MmZhZGEyYzZhZWZiYTFjOWJmMWY5
NzUyZmIyNWM3OS4uNTA3OWJkMGMzNWQwYWYwNGU3ODYyNzk4YzVjZWZmMGMzMmMwYTQyMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMDMg
IFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBBbGlnbiB3aXRoIE9yaWdp
biBoZWFkZXIgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk5MjYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW1wb3J0IGZldGNoL29yaWdpbiB0ZXN0cy4KKworICAgICAgICAqIHJlc291cmNl
cy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5h
bnkuanM6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdp
bi9uby1jb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJj
ZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZzoK
KwogMjAyMC0wMy0wMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEZp
eCBiZWhhdmlvciBvZiBwaW5ncyByZWdhcmRpbmcgT3JpZ2luIGhlYWRlcgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgppbmRleCBlYmYwOWYzNTcxMTYxNWY2NWIxZTYzOTU3OThiOTRhMzQ3MzUxYjBmLi43
ZTFlM2QwZTBmY2NjZTY4YzBlYzA0NDhkYzhmMjg2OWI5YThmN2M3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgpAQCAtMTc4LDYgKzE3OCw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaSI6ICJpbXBv
cnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzIjogImltcG9ydCIs
IAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luIjogImltcG9ydCIsIAogICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvcmFuZ2UiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlIjogImltcG9ydCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZnVsbHNjcmVlbiI6ICJza2lwIiwgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdp
bi9uby1jb3JzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMjA1YmZjOGJlOWI1NmZiYjZmNzcwZDZmNjc1
Y2M1YWZjYTg0MjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmln
aW4vbm8tY29ycy5hbnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBA
Ci0KLUZBSUwgT3JpZ2luIGhlYWRlciBhbmQgMzA4IHJlZGlyZWN0IGFzc2VydF9lcXVhbHM6IHNl
Y29uZCBvcmlnaW4gc2hvdWxkIGJlIG9wYXF1ZSBhbmQgdGhlcmVmb3JlIG51bGwgZXhwZWN0ZWQg
Im51bGwiIGJ1dCBnb3QgIm5vIE9yaWdpbiBoZWFkZXIiCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMu
YW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL29yaWdpbi9uby1jb3JzLmFueS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi08IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2Vi
S2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25v
LWNvcnMuYW55LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWQxZDNiM2FmMzc1
MGVjNDM1NDlhM2Q5NmEwOTEyZTJjZjZiMzk5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjAg
KzAsMCBAQAotLy8gTUVUQTogc2NyaXB0PS9jb21tb24vdXRpbHMuanMKLS8vIE1FVEE6IHNjcmlw
dD0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCi0KLXByb21pc2VfdGVzdChhc3luYyBmdW5j
dGlvbigpIHsKLSAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpLAotICAgICAgICBvcmlnaW5zID0gZ2V0
X2hvc3RfaW5mbygpLAotICAgICAgICByZWRpcmVjdFBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNv
dXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKLQotICAvLyBDcm9zcy1vcmlnaW4gLT4gc2Ft
ZS1vcmlnaW4gd2lsbCByZXN1bHQgaW4gc2V0dGluZyB0aGUgdGFpbnRlZCBvcmlnaW4gZmxhZyBm
b3IgdGhlIHNlY29uZAotICAvLyByZXF1ZXN0LgotICBsZXQgdXJsID0gb3JpZ2lucy5IVFRQX09S
SUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoOwotICB1cmwgPSBvcmlnaW5z
LkhUVFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoICsg
IiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7Ci0KLSAgYXdhaXQgZmV0Y2go
dXJsLCB7IG1vZGU6ICJuby1jb3JzIiwgbWV0aG9kOiAiUE9TVCIgfSk7Ci0KLSAgY29uc3QganNv
biA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9IiArIHN0
YXNoKSkuanNvbigpOwotCi0gIGFzc2VydF9lcXVhbHMoanNvblswXSwgb3JpZ2lucy5IVFRQX09S
SUdJTiwgImZpcnN0IG9yaWdpbiBzaG91bGQgZXF1YWwgdGhpcyBvcmlnaW4iKTsKLSAgYXNzZXJ0
X2VxdWFscyhqc29uWzFdLCAibnVsbCIsICJzZWNvbmQgb3JpZ2luIHNob3VsZCBiZSBvcGFxdWUg
YW5kIHRoZXJlZm9yZSBudWxsIik7Ci19LCAiT3JpZ2luIGhlYWRlciBhbmQgMzA4IHJlZGlyZWN0
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29y
cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZTMyMDViZmM4YmU5YjU2ZmJiNmY3NzBkNmY2NzVjYzVhZmNhODQyMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0KLUZBSUwgT3JpZ2luIGhlYWRl
ciBhbmQgMzA4IHJlZGlyZWN0IGFzc2VydF9lcXVhbHM6IHNlY29uZCBvcmlnaW4gc2hvdWxkIGJl
IG9wYXF1ZSBhbmQgdGhlcmVmb3JlIG51bGwgZXhwZWN0ZWQgIm51bGwiIGJ1dCBnb3QgIm5vIE9y
aWdpbiBoZWFkZXIiCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lndvcmtlci5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8t
Y29ycy5hbnkud29ya2VyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzODI5
MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi08IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2Vi
S2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3Qt
YW5kLXN0YXNoLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weQppbmRleCAxYjFi
NDZiYTE3N2FkM2FmNTZlZjgzZTkwYjA5NzRkZDgxY2QzZWFlLi5hYTllYjM1ZGIyYmRkYjU5YWNi
MWM3ZWJjYmI5NzFhYjM4ZDM0NGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5k
LXN0YXNoLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkKQEAgLTksNyAr
OSw3IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBvcmlnaW5fbGlzdCA9IHJl
cXVlc3Quc2VydmVyLnN0YXNoLnRha2Uoa2V5KQogCiAgICAgaWYgImR1bXAiIGluIHJlcXVlc3Qu
R0VUOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiY29udGVudC1UeXBlIiwgImFwcGxp
Y2F0aW9uL2pzb24iKQorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBl
IiwgImFwcGxpY2F0aW9uL2pzb24iKQogICAgICAgICByZXNwb25zZS5jb250ZW50ID0ganNvbi5k
dW1wcyhvcmlnaW5fbGlzdCkKICAgICAgICAgcmV0dXJuCiAKQEAgLTI1LDUgKzI1LDYgQEAgZGVm
IG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgi
TG9jYXRpb24iLCByZXF1ZXN0LkdFVC5maXJzdCgibG9jYXRpb24iKSkKICAgICAgICAgcmV0dXJu
CiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiY29udGVudC1UeXBlIiwgInRleHQvcGxhaW4i
KQotICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiRml4IGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cv
ZmV0Y2gvaXNzdWVzLzczNy4uLiIKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1U
eXBlIiwgInRleHQvaHRtbCIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250
cm9sLUFsbG93LU9yaWdpbiIsICIqIikKKyAgICByZXNwb25zZS5jb250ZW50ID0gIjxtZXRhIGNo
YXJzZXQ9dXRmLTg+XG48Ym9keT48c2NyaXB0PnBhcmVudC5wb3N0TWVzc2FnZSgnbG9hZGVkJywn
KicpPC9zY3JpcHQ+PC9ib2R5PiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3Jp
Z2luL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCA2OGJhYmM1MjQ4ZTFkYTJkYTIzMjc5
ZTBiNDUxYjQ3OTZiODZmMDkwLi5iNWY2NTU2YWQ1Y2IwMTMxNDE3OTc0NzA4Yjc0MGY0MjVkNmY2
MmUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nCkBAIC0xNSwzICsxNSw0IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
TGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3Vy
Y2VzL3JlZmVycmVyLXBvbGljeS5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2Mt
aW1wb3J0LmxvZwppbmRleCAzMDI0MDdkZmRjMWJkNDYxZDA5YTcwZjQzNDcxNGFkMDdkYmYxM2Nl
Li40OTI2ZmY1YzBjODAxMDU5ZWJhY2YyYjgzOGQ2YjE4MGU4NDNmYWNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZwpAQCAtMTQsNCArMTQsNCBAQCBQcm9w
ZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5q
cwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392400</attachid>
            <date>2020-03-04 02:47:53 -0800</date>
            <delta_ts>2020-03-09 10:27:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199261-20200304114752.patch</filename>
            <type>text/plain</type>
            <size>24337</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzk2OWQyYmJkOTFmZDVm
NTFiOTZmNjA1ZjVjY2JiOTdjMTkxZDkyOC4uNzJmYmVjMDlkNGFhYWI5MDQxYzA2NzhmNDE3ODJj
MDM2NmM1NmYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTA0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVh
ZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENhbGwgZ2VuZXJhdGVPcmlnaW5IZWFkZXIgaW4gbW9yZSBwbGFjZXMgc28gdGhhdCB3ZSBj
b21wbHkKKyAgICAgICAgbW9yZSB3aXRoICJhcHBlbmQgYSByZXF1ZXN0IGBPcmlnaW5gIGhlYWRl
ciIgYWxnb3JpdGhtIFsxXS4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbAorCisgICAgICAgIFsx
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jYXBwZW5kLWEtcmVxdWVzdC1vcmlnaW4t
aGVhZGVyCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0Ojp1cGRhdGVSZWZlcnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMpOgorCiAy
MDIwLTAzLTA0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXVtXUEVdIFVzZSByZXN0b3JlIHZpZXcgaWNvbiBmb3IgZXhpdCBmdWxsc2Ny
ZWVuIGJ1dHRvbiBpbiBtZWRpYSBjb250cm9scwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKaW5kZXggOWMxOGQ3NjhhOTU5NzFkNjFjM2NmNjNlMGMyNTQ4ODk4YjA3MzY3ZC4uZWE2
NDZiMmFjMWY2NWJhNTY2OTJlNGJhNzc2NjNmN2E2MDVhYTk5ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC01MDEsNyArNTAxLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
c3VibWl0Rm9ybShSZWY8Rm9ybVN1Ym1pc3Npb24+JiYgc3VibWlzc2lvbikKICAgICAgICAgbV9z
dWJtaXR0ZWRGb3JtVVJMID0gc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpOwogCiAgICAgc3VibWlz
c2lvbi0+c2V0UmVmZXJyZXIob3V0Z29pbmdSZWZlcnJlcigpKTsKLSAgICBzdWJtaXNzaW9uLT5z
ZXRPcmlnaW4ob3V0Z29pbmdPcmlnaW4oKSk7CisgICAgc3VibWlzc2lvbi0+c2V0T3JpZ2luKFNl
Y3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdpbkhlYWRlcihtX2ZyYW1lLmRvY3VtZW50KCktPnJl
ZmVycmVyUG9saWN5KCksIHN1Ym1pc3Npb24tPnJlcXVlc3RVUkwoKSwgU2VjdXJpdHlPcmlnaW46
OmNyZWF0ZUZyb21TdHJpbmcob3V0Z29pbmdPcmlnaW4oKSkpKTsKIAogICAgIHRhcmdldEZyYW1l
LT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkuc2NoZWR1bGVGb3JtU3VibWlzc2lvbihXVEZNb3ZlKHN1
Ym1pc3Npb24pKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlUmVxdWVzdC5jcHAKaW5kZXggNWYwOGI4NTY0Zjk1Njc2OWNhMTBiZGFhZTQ2
MDgyYmM4MDRjMzk0Yi4uOTIwYzE1MjA4MmI2MDNhYjQ1YzgxMTk4ZWQxNWI4ZTNlM2RmZjY1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
UmVxdWVzdC5jcHAKQEAgLTIyOSw2ICsyMjksOSBAQCB2b2lkIENhY2hlZFJlc291cmNlUmVxdWVz
dDo6dXBkYXRlUmVmZXJyZXJPcmlnaW5BbmRVc2VyQWdlbnRIZWFkZXJzKEZyYW1lTG9hZGVyJgog
ICAgICAgICBvdXRnb2luZ1JlZmVycmVyID0gbV9yZXNvdXJjZVJlcXVlc3QuaHR0cFJlZmVycmVy
KCk7CiAgICAgICAgIG91dGdvaW5nT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21T
dHJpbmcob3V0Z29pbmdSZWZlcnJlciktPnRvU3RyaW5nKCk7CiAgICAgfQorICAgIGlmIChtX29w
dGlvbnMubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnMpCisgICAgICAgIG91dGdvaW5n
T3JpZ2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fb3B0aW9ucy5y
ZWZlcnJlclBvbGljeSwgbV9yZXNvdXJjZVJlcXVlc3QudXJsKCksIFNlY3VyaXR5T3JpZ2luOjpj
cmVhdGVGcm9tU3RyaW5nKG91dGdvaW5nUmVmZXJyZXIpKTsKKwogICAgIHVwZGF0ZVJlcXVlc3RS
ZWZlcnJlcihtX3Jlc291cmNlUmVxdWVzdCwgbV9vcHRpb25zLnJlZmVycmVyUG9saWN5LCBvdXRn
b2luZ1JlZmVycmVyKTsKIAogICAgIEZyYW1lTG9hZGVyOjphZGRIVFRQT3JpZ2luSWZOZWVkZWQo
bV9yZXNvdXJjZVJlcXVlc3QsIG91dGdvaW5nT3JpZ2luKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IDJlNTAyYWJiNjJmYWRhMmM2YWVmYmExYzliZjFmOTc1MmZiMjVjNzkuLjIy
MDFiMWZiMWUzN2M4ZWEzNTEyMzI3MzM2Y2RmNDhhMTFhN2FkMDQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAzLTA0ICBSb2IgQnVpcyAgPHJi
dWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVhZGVyIGNoYW5n
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTI2
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9y
dCBmZXRjaC9vcmlnaW4gdGVzdHMuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4v
YXNzb3J0ZWQud2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2lu
L25vLWNvcnMuYW55Lmh0bWwuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29y
aWdpbi9hc3NvcnRlZC53aW5kb3cuanM6IEFkZGVkLgorICAgICAgICAocHJvbWlzZV90ZXN0LmFz
eW5jIGNvbnN0KToKKyAgICAgICAgKHByb21pc2VfdGVzdCk6CisgICAgICAgIChhd2FpdC5uZXcu
UHJvbWlzZSk6CisgICAgICAgIChhc3luYyBjb25zdCk6CisgICAgICAgIChuYXZpZ2F0aW9uUmVm
ZXJyZXJQb2xpY3kpOgorICAgICAgICAoZmV0Y2hSZWZlcnJlclBvbGljeSk6CisgICAgICAgIChy
ZWZlcnJlclBvbGljeVRlc3RTdHJpbmcpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9vcmlnaW4vbm8tY29ycy5hbnktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanM6IFJlbW92ZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5k
LXN0YXNoLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LnB5OiBBZGRlZC4KKyAgICAg
ICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9vcmlnaW4vdzNjLWltcG9ydC5sb2c6CisKIDIwMjAtMDMtMDIgIFJvYiBCdWlzICA8cmJ1aXNA
aWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggYmVoYXZpb3Igb2YgcGluZ3MgcmVnYXJkaW5nIE9y
aWdpbiBoZWFkZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJj
ZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jl
c291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggZWJmMDlmMzU3MTE2MTVmNjVi
MWU2Mzk1Nzk4Yjk0YTM0NzM1MWIwZi4uN2UxZTNkMGUwZmNjY2U2OGMwZWMwNDQ4ZGM4ZjI4Njli
OWE4ZjdjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jl
c291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE3OCw2ICsxNzgsNyBAQAogICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2giOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L29yaWdpbiI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3Jhbmdl
IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Z1bGxzY3Jl
ZW4iOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2lu
L2Fzc29ydGVkLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNiNTI0MjkzZmNlNWM0
ZDQxZGMxY2RhZmMwOGFlZTI0YmE4MzYzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndp
bmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorCitGQUlMIE9yaWdpbiBoZWFkZXIg
YW5kIDMwOCByZWRpcmVjdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibnVsbCIgYnV0IGdvdCAi
bm8gT3JpZ2luIGhlYWRlciIKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgR0VUIG5hdmlnYXRpb24g
CitGQUlMIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgbmF2aWdhdGlvbiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAibnVsbCIgYnV0IGdvdCAibm8gT3JpZ2luIGhlYWRlciIKK1BBU1MgT3JpZ2luIGhl
YWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5
IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZl
dGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BBU1Mg
T3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBS
ZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qg
Y3Jvc3Mtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXIg
CitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNoIG5vLWNvcnMg
bW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BBU1MgT3JpZ2luIGhlYWRl
ciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9s
aWN5IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2lu
IG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2FtZS1vcmlnaW4gCitQQVNTIE9yaWdp
biBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVm
ZXJyZXItUG9saWN5IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNh
bWUtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdp
biAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gbmF2aWdhdGlvbiB3
aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQg
UE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5
IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBm
ZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2FtZS1vcmlnaW4gCitQQVNTIE9y
aWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVy
LVBvbGljeSBvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5k
IFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5
IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBz
YW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgb3JpZ2luLXdo
ZW4tY3Jvc3Mtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdp
biBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdp
biAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggbm8tY29y
cyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BB
U1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdp
dGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2lu
IGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9s
aWN5IG5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQ
T1NUIHNhbWUtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBu
by1yZWZlcnJlci13aGVuLWRvd25ncmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBz
YW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJy
ZXItd2hlbi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3Jp
Z2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXItd2hlbi1kb3du
Z3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNoIG5v
LWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlci13aGVuLWRvd25ncmFk
ZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBt
b2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIAorUEFT
UyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZl
cnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1l
LW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVy
bCAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1v
ZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2luIGhlYWRlciBh
bmQgUE9TVCBjcm9zcy1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSB1bnNh
ZmUtdXJsIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBu
by1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2lu
IGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJy
ZXItUG9saWN5IHVuc2FmZS11cmwgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmln
aW4vYXNzb3J0ZWQud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2
YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5o
dG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fz
c29ydGVkLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTgzMjcyNGE3MGRkZjQwNjUxMTU1NWU3OTFj
OWVhYzU5MDIzOTdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LmpzCkBAIC0w
LDAgKzEsMjAyIEBACisvLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi91dGlscy5qcworLy8gTUVUQTog
c2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMKKworY29uc3Qgb3JpZ2lucyA9IGdl
dF9ob3N0X2luZm8oKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgY29u
c3Qgc3Rhc2ggPSB0b2tlbigpLAorICAgICAgICByZWRpcmVjdFBhdGggPSAiL2ZldGNoL29yaWdp
bi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICAvLyBDcm9zcy1vcmlnaW4g
LT4gc2FtZS1vcmlnaW4gd2lsbCByZXN1bHQgaW4gc2V0dGluZyB0aGUgdGFpbnRlZCBvcmlnaW4g
ZmxhZyBmb3IgdGhlIHNlY29uZAorICAvLyByZXF1ZXN0LgorICBsZXQgdXJsID0gb3JpZ2lucy5I
VFRQX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoOworICB1cmwgPSBv
cmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0
YXNoICsgIiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7CisKKyAgYXdhaXQg
ZmV0Y2godXJsLCB7IG1vZGU6ICJuby1jb3JzIiwgbWV0aG9kOiAiUE9TVCIgfSk7CisKKyAgY29u
c3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9
IiArIHN0YXNoKSkuanNvbigpOworCisgIGFzc2VydF9lcXVhbHMoanNvblswXSwgb3JpZ2lucy5I
VFRQX09SSUdJTik7CisgIGFzc2VydF9lcXVhbHMoanNvblsxXSwgIm51bGwiKTsKK30sICJPcmln
aW4gaGVhZGVyIGFuZCAzMDggcmVkaXJlY3QiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0
aW9uICgpIHsKKyAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpLAorICAgICAgICByZWRpcmVjdFBhdGgg
PSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICBs
ZXQgdXJsID0gb3JpZ2lucy5IVFRQX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiAr
IHN0YXNoOworICB1cmwgPSBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0
aCArICI/c3Rhc2g9IiArIHN0YXNoICsgIiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50
KHVybCk7CisKKyAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBmcmFtZS5zcmMgPSB1
cmw7CisgICAgZnJhbWUub25sb2FkID0gKCkgPT4geworICAgICAgcmVzb2x2ZSgpOworICAgICAg
ZnJhbWUucmVtb3ZlKCk7CisgICAgfQorICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJh
bWUpOworICB9KTsKKworICBjb25zdCBqc29uID0gYXdhaXQgKGF3YWl0IGZldGNoKHJlZGlyZWN0
UGF0aCArICI/ZHVtcCZzdGFzaD0iICsgc3Rhc2gpKS5qc29uKCk7CisKKyAgYXNzZXJ0X2VxdWFs
cyhqc29uWzBdLCAibm8gT3JpZ2luIGhlYWRlciIpOworICBhc3NlcnRfZXF1YWxzKGpzb25bMV0s
ICJubyBPcmlnaW4gaGVhZGVyIik7Cit9LCAiT3JpZ2luIGhlYWRlciBhbmQgR0VUIG5hdmlnYXRp
b24iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgY29uc3Qgc3Rhc2gg
PSB0b2tlbigpLAorICAgICAgICByZWRpcmVjdFBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJj
ZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICBsZXQgdXJsID0gb3JpZ2lucy5IVFRQX09S
SUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoOworICB1cmwgPSBvcmlnaW5z
LkhUVFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoICsg
IiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7CisKKyAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpZnJhbWUiKTsKKyAgICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBlID0+
IHsKKyAgICAgIGlmIChlLmRhdGEgPT09ICJsb2FkZWQiKSB7CisgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgICB9CisgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworICAgIGZyYW1lLm9ubG9hZCA9ICgpID0+IHsKKyAgICAgIGNvbnN0IGRvYyA9IGZyYW1lLmNv
bnRlbnREb2N1bWVudCwKKyAgICAgICAgICAgIGZvcm0gPSBkb2MuYm9keS5hcHBlbmRDaGlsZChk
b2MuY3JlYXRlRWxlbWVudCgiZm9ybSIpKSwKKyAgICAgICAgICAgIHN1Ym1pdCA9IGZvcm0uYXBw
ZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOworICAgICAgZm9ybS5hY3Rpb24g
PSB1cmw7CisgICAgICBmb3JtLm1ldGhvZCA9ICJQT1NUIjsKKyAgICAgIHN1Ym1pdC50eXBlID0g
InN1Ym1pdCI7CisgICAgICBzdWJtaXQuY2xpY2soKTsKKyAgICB9CisgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChmcmFtZSk7CisgIH0pOworCisgIGNvbnN0IGpzb24gPSBhd2FpdCAoYXdh
aXQgZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkpLmpzb24oKTsK
KworICBhc3NlcnRfZXF1YWxzKGpzb25bMF0sIG9yaWdpbnMuSFRUUF9PUklHSU4pOworICBhc3Nl
cnRfZXF1YWxzKGpzb25bMV0sICJudWxsIik7Cit9LCAiT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBu
YXZpZ2F0aW9uIik7CisKK2Z1bmN0aW9uIG5hdmlnYXRpb25SZWZlcnJlclBvbGljeShyZWZlcnJl
clBvbGljeSwgZGVzdGluYXRpb24sIGV4cGVjdGVkT3JpZ2luKSB7CisgIHJldHVybiBhc3luYyBm
dW5jdGlvbiAoKSB7CisgICAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpOworICAgIGNvbnN0IHJlZmVy
cmVyUG9saWN5UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3ku
cHkiOworICAgIGNvbnN0IHJlZGlyZWN0UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9y
ZWRpcmVjdC1hbmQtc3Rhc2gucHkiOworCisgICAgbGV0IHBvc3RVcmwgPQorICAgICAgICAgICAg
KGRlc3RpbmF0aW9uID09PSAic2FtZS1vcmlnaW4iID8gb3JpZ2lucy5IVFRQX09SSUdJTgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogb3JpZ2lucy5IVFRQX1JF
TU9URV9PUklHSU4pICsKKyAgICAgICAgICAgIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0
YXNoOworCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBjb25zdCBm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgICAgICBmcmFtZS5zcmMgPSBvcmlnaW5zLkhUVFBf
T1JJR0lOICsgcmVmZXJyZXJQb2xpY3lQYXRoICsKKyAgICAgICAgICAgICAgICAgICI/cmVmZXJy
ZXJQb2xpY3k9IiArIHJlZmVycmVyUG9saWN5OworICAgICAgc2VsZi5hZGRFdmVudExpc3RlbmVy
KCJtZXNzYWdlIiwgZnVuY3Rpb24gbGlzdGVuZXIoZSkgeworICAgICAgICBpZiAoZS5kYXRhID09
PSAibG9hZGVkIikgeworICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICBmcmFtZS5yZW1v
dmUoKTsKKyAgICAgICAgICBzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBsaXN0
ZW5lcik7CisgICAgICAgIH0gZWxzZSBpZiAoZS5kYXRhID09PSAiYWN0aW9uIikgeworICAgICAg
ICAgIGNvbnN0IGRvYyA9IGZyYW1lLmNvbnRlbnREb2N1bWVudCwKKyAgICAgICAgICAgICAgICBm
b3JtID0gZG9jLmJvZHkuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoImZvcm0iKSksCisg
ICAgICAgICAgICAgICAgc3VibWl0ID0gZm9ybS5hcHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVu
dCgiaW5wdXQiKSk7CisgICAgICAgICAgZm9ybS5hY3Rpb24gPSBwb3N0VXJsOworICAgICAgICAg
IGZvcm0ubWV0aG9kID0gIlBPU1QiOworICAgICAgICAgIHN1Ym1pdC50eXBlID0gInN1Ym1pdCI7
CisgICAgICAgICAgc3VibWl0LmNsaWNrKCk7CisgICAgICAgIH0KKyAgICAgIH0pOworICAgIH0p
OworCisgICAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVjdFBhdGggKyAi
P2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgICAgYXNzZXJ0X2VxdWFscyhqc29u
WzBdLCBleHBlY3RlZE9yaWdpbik7CisgIH07Cit9CisKK2Z1bmN0aW9uIGZldGNoUmVmZXJyZXJQ
b2xpY3kocmVmZXJyZXJQb2xpY3ksIGRlc3RpbmF0aW9uLCBmZXRjaE1vZGUsIGV4cGVjdGVkT3Jp
Z2luKSB7CisgIHJldHVybiBhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3Qgc3Rhc2ggPSB0
b2tlbigpOworICAgIGNvbnN0IHJlZmVycmVyUG9saWN5UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jl
c291cmNlcy9yZWZlcnJlci1wb2xpY3kucHkiOworICAgIGNvbnN0IHJlZGlyZWN0UGF0aCA9ICIv
ZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkiOworCisgICAgbGV0
IGZldGNoVXJsID0KKyAgICAgICAgKGRlc3RpbmF0aW9uID09PSAic2FtZS1vcmlnaW4iID8gb3Jp
Z2lucy5IVFRQX09SSUdJTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OiBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTikgKworICAgICAgICByZWRpcmVjdFBhdGggKyAi
P3N0YXNoPSIgKyBzdGFzaDsKKworICAgIGF3YWl0IGZldGNoKGZldGNoVXJsLCB7IG1vZGU6IGZl
dGNoTW9kZSwgbWV0aG9kOiAiUE9TVCIgLCAicmVmZXJyZXJQb2xpY3kiOiByZWZlcnJlclBvbGlj
eX0pOworCisgICAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVjdFBhdGgg
KyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgICAgYXNzZXJ0X2VxdWFscyhq
c29uWzBdLCBleHBlY3RlZE9yaWdpbik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHJlZmVycmVyUG9s
aWN5VGVzdFN0cmluZyhyZWZlcnJlclBvbGljeSwgZGVzdGluYXRpb24pIHsKKyAgcmV0dXJuICJP
cmlnaW4gaGVhZGVyIGFuZCBQT1NUICIgKyBkZXN0aW5hdGlvbiArICIgd2l0aCBSZWZlcnJlci1Q
b2xpY3kgIiArCisgICAgICAgICByZWZlcnJlclBvbGljeTsKK30KKworWworICB7CisgICAgInBv
bGljeSI6ICJuby1yZWZlcnJlciIsCisgICAgImV4cGVjdGVkT3JpZ2luRm9yU2FtZU9yaWdpbiI6
ICJudWxsIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbiI6ICJudWxsIgorICB9
LAorICB7CisgICAgInBvbGljeSI6ICJzYW1lLW9yaWdpbiIsCisgICAgImV4cGVjdGVkT3JpZ2lu
Rm9yU2FtZU9yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4sCisgICAgImV4cGVjdGVkT3JpZ2lu
Rm9yQ3Jvc3NPcmlnaW4iOiAibnVsbCIKKyAgfSwKKyAgeworICAgICJwb2xpY3kiOiAib3JpZ2lu
LXdoZW4tY3Jvc3Mtb3JpZ2luIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JTYW1lT3JpZ2luIjog
b3JpZ2lucy5IVFRQX09SSUdJTiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbiI6
IG9yaWdpbnMuSFRUUF9PUklHSU4KKyAgfSwKKyAgeworICAgICJwb2xpY3kiOiAibm8tcmVmZXJy
ZXItd2hlbi1kb3duZ3JhZGUiLAorICAgICJleHBlY3RlZE9yaWdpbkZvclNhbWVPcmlnaW4iOiBv
cmlnaW5zLkhUVFBfT1JJR0lOLAorICAgICJleHBlY3RlZE9yaWdpbkZvckNyb3NzT3JpZ2luIjog
b3JpZ2lucy5IVFRQX09SSUdJTgorICB9LAorICB7CisgICAgInBvbGljeSI6ICJ1bnNhZmUtdXJs
IiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JTYW1lT3JpZ2luIjogb3JpZ2lucy5IVFRQX09SSUdJ
TiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklH
SU4KKyAgfSwKK10uZm9yRWFjaCh0ZXN0T2JqID0+IHsKKyAgWworICAgIHsKKyAgICAgICJuYW1l
IjogInNhbWUtb3JpZ2luIiwKKyAgICAgICJleHBlY3RlZE9yaWdpbiI6IHRlc3RPYmouZXhwZWN0
ZWRPcmlnaW5Gb3JTYW1lT3JpZ2luCisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJjcm9z
cy1vcmlnaW4iLAorICAgICAgImV4cGVjdGVkT3JpZ2luIjogdGVzdE9iai5leHBlY3RlZE9yaWdp
bkZvckNyb3NzT3JpZ2luCisgICAgfQorICBdLmZvckVhY2goZGVzdGluYXRpb24gPT4geworICAg
IC8vIFRlc3QgZm9ybSBQT1NUIG5hdmlnYXRpb24KKyAgICBwcm9taXNlX3Rlc3QobmF2aWdhdGlv
blJlZmVycmVyUG9saWN5KHRlc3RPYmoucG9saWN5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLmV4cGVjdGVkT3JpZ2luKSwKKyAgICAg
ICAgICAgICAgICAgcmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5nKHRlc3RPYmoucG9saWN5LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSAr
ICIgbmF2aWdhdGlvbiIpKTsKKyAgICAvLyBUZXN0IGZldGNoCisgICAgcHJvbWlzZV90ZXN0KGZl
dGNoUmVmZXJyZXJQb2xpY3kodGVzdE9iai5wb2xpY3ksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAibm8tY29ycyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVzdGluYXRpb24uZXhwZWN0ZWRPcmlnaW4pLAorICAgICAgICAgICAgICAgICByZWZl
cnJlclBvbGljeVRlc3RTdHJpbmcodGVzdE9iai5wb2xpY3ksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5uYW1lICsgIiBmZXRjaCBuby1jb3Jz
IG1vZGUiKSk7CisKKyAgICAvLyBXaGVuIHdlJ3JlIGRlYWxpbmcgd2l0aCBDT1JTIChtb2RlIGlz
ICJjb3JzIiksIHdlIHNob3VsZG4ndCB0YWtlIHRoZQorICAgIC8vIFJlZmVycmVyLVBvbGljeSBp
bnRvIGFjY291bnQKKyAgICBwcm9taXNlX3Rlc3QoZmV0Y2hSZWZlcnJlclBvbGljeSh0ZXN0T2Jq
LnBvbGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlv
bi5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb3JzIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5zLkhUVFBfT1JJR0lOKSwK
KyAgICAgICAgICAgICAgICAgcmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5nKHRlc3RPYmoucG9saWN5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24u
bmFtZSArICIgZmV0Y2ggY29ycyBtb2RlIikpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8t
Y29ycy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzIwNWJmYzhiZTliNTZmYmI2Zjc3MGQ2ZjY3NWNjNWFm
Y2E4NDIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25v
LWNvcnMuYW55LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotCi1G
QUlMIE9yaWdpbiBoZWFkZXIgYW5kIDMwOCByZWRpcmVjdCBhc3NlcnRfZXF1YWxzOiBzZWNvbmQg
b3JpZ2luIHNob3VsZCBiZSBvcGFxdWUgYW5kIHRoZXJlZm9yZSBudWxsIGV4cGVjdGVkICJudWxs
IiBidXQgZ290ICJubyBPcmlnaW4gaGVhZGVyIgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9v
cmlnaW4vbm8tY29ycy5hbnkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM4
MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEgKzAsMCBAQAotPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0
ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3Jz
LmFueS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzlkMWQzYjNhZjM3NTBlYzQz
NTQ5YTNkOTZhMDkxMmUyY2Y2YjM5OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5qcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAg
QEAKLS8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL3V0aWxzLmpzCi0vLyBNRVRBOiBzY3JpcHQ9L2Nv
bW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24o
KSB7Ci0gIGNvbnN0IHN0YXNoID0gdG9rZW4oKSwKLSAgICAgICAgb3JpZ2lucyA9IGdldF9ob3N0
X2luZm8oKSwKLSAgICAgICAgcmVkaXJlY3RQYXRoID0gIi9mZXRjaC9vcmlnaW4vcmVzb3VyY2Vz
L3JlZGlyZWN0LWFuZC1zdGFzaC5weSI7Ci0KLSAgLy8gQ3Jvc3Mtb3JpZ2luIC0+IHNhbWUtb3Jp
Z2luIHdpbGwgcmVzdWx0IGluIHNldHRpbmcgdGhlIHRhaW50ZWQgb3JpZ2luIGZsYWcgZm9yIHRo
ZSBzZWNvbmQKLSAgLy8gcmVxdWVzdC4KLSAgbGV0IHVybCA9IG9yaWdpbnMuSFRUUF9PUklHSU4g
KyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaDsKLSAgdXJsID0gb3JpZ2lucy5IVFRQ
X1JFTU9URV9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaCArICImbG9j
YXRpb249IiArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpOwotCi0gIGF3YWl0IGZldGNoKHVybCwg
eyBtb2RlOiAibm8tY29ycyIsIG1ldGhvZDogIlBPU1QiIH0pOwotCi0gIGNvbnN0IGpzb24gPSBh
d2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkp
Lmpzb24oKTsKLQotICBhc3NlcnRfZXF1YWxzKGpzb25bMF0sIG9yaWdpbnMuSFRUUF9PUklHSU4s
ICJmaXJzdCBvcmlnaW4gc2hvdWxkIGVxdWFsIHRoaXMgb3JpZ2luIik7Ci0gIGFzc2VydF9lcXVh
bHMoanNvblsxXSwgIm51bGwiLCAic2Vjb25kIG9yaWdpbiBzaG91bGQgYmUgb3BhcXVlIGFuZCB0
aGVyZWZvcmUgbnVsbCIpOwotfSwgIk9yaWdpbiBoZWFkZXIgYW5kIDMwOCByZWRpcmVjdCIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMjA1
YmZjOGJlOWI1NmZiYjZmNzcwZDZmNjc1Y2M1YWZjYTg0MjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotCi1GQUlMIE9yaWdpbiBoZWFkZXIgYW5k
IDMwOCByZWRpcmVjdCBhc3NlcnRfZXF1YWxzOiBzZWNvbmQgb3JpZ2luIHNob3VsZCBiZSBvcGFx
dWUgYW5kIHRoZXJlZm9yZSBudWxsIGV4cGVjdGVkICJudWxsIiBidXQgZ290ICJubyBPcmlnaW4g
aGVhZGVyIgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMu
YW55Lndvcmtlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzgyOTEzNTI4
ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lndvcmtlci5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEgKzAsMCBAQAotPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0
ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1z
dGFzaC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkKaW5kZXggMWIxYjQ2YmEx
NzdhZDNhZjU2ZWY4M2U5MGIwOTc0ZGQ4MWNkM2VhZS4uYWE5ZWIzNWRiMmJkZGI1OWFjYjFjN2Vi
Y2JiOTcxYWIzOGQzNDRiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFz
aC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5CkBAIC05LDcgKzksNyBA
QCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgb3JpZ2luX2xpc3QgPSByZXF1ZXN0
LnNlcnZlci5zdGFzaC50YWtlKGtleSkKIAogICAgIGlmICJkdW1wIiBpbiByZXF1ZXN0LkdFVDoK
LSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoImNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlv
bi9qc29uIikKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJh
cHBsaWNhdGlvbi9qc29uIikKICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGpzb24uZHVtcHMo
b3JpZ2luX2xpc3QpCiAgICAgICAgIHJldHVybgogCkBAIC0yNSw1ICsyNSw2IEBAIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkxvY2F0
aW9uIiwgcmVxdWVzdC5HRVQuZmlyc3QoImxvY2F0aW9uIikpCiAgICAgICAgIHJldHVybgogCi0g
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoImNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIikKLSAg
ICByZXNwb25zZS5jb250ZW50ID0gIkZpeCBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2ZldGNo
L2lzc3Vlcy83MzcuLi4iCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIs
ICJ0ZXh0L2h0bWwiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4iLCAiKiIpCisgICAgcmVzcG9uc2UuY29udGVudCA9ICI8bWV0YSBjaGFyc2V0
PXV0Zi04PlxuPGJvZHk+PHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2UoJ2xvYWRlZCcsJyonKTwv
c2NyaXB0PjwvYm9keT4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmln
aW4vcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMmI3MWUzM2I1NDE2
MGM0NTFmMWJiZmM4YTE1NzYwMGVlYjcwNTlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2Vz
L3JlZmVycmVyLXBvbGljeS5weQpAQCAtMCwwICsxLDcgQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKKyAgICBpZiAicmVmZXJyZXJQb2xpY3kiIGluIHJlcXVlc3QuR0VUOgorICAgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldCgiUmVmZXJyZXItUG9saWN5IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVxdWVzdC5HRVQuZmlyc3QoInJlZmVycmVyUG9saWN5IikpCisgICAg
cmVzcG9uc2Uuc3RhdHVzID0gMjAwCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQt
VHlwZSIsICJ0ZXh0L2h0bWwiKQorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiPG1ldGEgY2hhcnNl
dD11dGYtOD5cbjxib2R5PjxzY3JpcHQ+cGFyZW50LnBvc3RNZXNzYWdlKCdhY3Rpb24nLCcqJyk8
L3NjcmlwdD48L2JvZHk+IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4v
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCmluZGV4IDY4YmFiYzUyNDhlMWRhMmRhMjMyNzllMGI0
NTFiNDc5NmI4NmYwOTAuLmI1ZjY1NTZhZDVjYjAxMzE0MTc5NzQ3MDhiNzQwZjQyNWQ2ZjYyZTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cKQEAgLTE1LDMgKzE1LDQgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMv
cmVmZXJyZXItcG9saWN5LnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3czYy1pbXBv
cnQubG9nCmluZGV4IDMwMjQwN2RmZGMxYmQ0NjFkMDlhNzBmNDM0NzE0YWQwN2RiZjEzY2UuLjQ5
MjZmZjVjMGM4MDEwNTllYmFjZjJiODM4ZDZiMTgwZTg0M2ZhY2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvb3JpZ2luL3czYy1pbXBvcnQubG9nCkBAIC0xNCw0ICsxNCw0IEBAIFByb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiBMaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LmpzCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393050</attachid>
            <date>2020-03-09 10:27:26 -0700</date>
            <delta_ts>2020-06-01 03:07:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199261-20200309182724.patch</filename>
            <type>text/plain</type>
            <size>24460</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI4NWY5ZmZkMTM5MDcw
MjUzNDQ1M2MxYTg0ODA5MGYxMzUxMTAyMi4uODE0MmIyMWRlM2Y2ZGUyODRlZjliODAzNTgxYzM3
NmI4MzQyNjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTA5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVh
ZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IENhbGwgZ2VuZXJhdGVPcmlnaW5IZWFkZXIgaW4gbW9yZSBwbGFjZXMgc28gdGhhdCB3ZSBjb21w
bHkKKyAgICAgICAgbW9yZSB3aXRoICJhcHBlbmQgYSByZXF1ZXN0IGBPcmlnaW5gIGhlYWRlciIg
YWxnb3JpdGhtIFsxXS4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbAorCisgICAgICAgIFsxXSBo
dHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jYXBwZW5kLWEtcmVxdWVzdC1vcmlnaW4taGVh
ZGVyCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZVJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0Ojp1cGRhdGVSZWZlcnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMpOgorCiAyMDIw
LTAzLTA5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVuYW1lIHVy
bFNlbGVjdGVkIHRvIGNoYW5nZUxvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAppbmRleCAzYjVjMGE4YmNhNGE5NjEyN2ViYzliNTEzNjc0ZThhNDIwNzkyMDIxLi4wZjRh
NTI4M2Y1YTNlZjIyZDdlNDIwM2U2NjBhY2Y0MWYyNTQ1ZjE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKQEAgLTQ5Niw3ICs0OTYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpz
dWJtaXRGb3JtKFJlZjxGb3JtU3VibWlzc2lvbj4mJiBzdWJtaXNzaW9uKQogICAgICAgICBtX3N1
Ym1pdHRlZEZvcm1VUkwgPSBzdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCk7CiAKICAgICBzdWJtaXNz
aW9uLT5zZXRSZWZlcnJlcihvdXRnb2luZ1JlZmVycmVyKCkpOwotICAgIHN1Ym1pc3Npb24tPnNl
dE9yaWdpbihvdXRnb2luZ09yaWdpbigpKTsKKyAgICBzdWJtaXNzaW9uLT5zZXRPcmlnaW4oU2Vj
dXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fZnJhbWUuZG9jdW1lbnQoKS0+cmVm
ZXJyZXJQb2xpY3koKSwgc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBtX2ZyYW1lLmRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCkpKTsKIAogICAgIHRhcmdldEZyYW1lLT5uYXZpZ2F0aW9uU2No
ZWR1bGVyKCkuc2NoZWR1bGVGb3JtU3VibWlzc2lvbihXVEZNb3ZlKHN1Ym1pc3Npb24pKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVx
dWVzdC5jcHAKaW5kZXggNWYwOGI4NTY0Zjk1Njc2OWNhMTBiZGFhZTQ2MDgyYmM4MDRjMzk0Yi4u
YzlkNmY2MWZhOGRmZmJhYTY2ZWYwNDAyYTljNTg2YTQ2NGM1NWE5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKQEAg
LTIyNyw4ICsyMjcsMTIgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVJlZmVy
cmVyT3JpZ2luQW5kVXNlckFnZW50SGVhZGVycyhGcmFtZUxvYWRlciYKICAgICBTdHJpbmcgb3V0
Z29pbmdPcmlnaW4gPSBmcmFtZUxvYWRlci5vdXRnb2luZ09yaWdpbigpOwogICAgIGlmIChtX3Jl
c291cmNlUmVxdWVzdC5oYXNIVFRQUmVmZXJyZXIoKSkgewogICAgICAgICBvdXRnb2luZ1JlZmVy
cmVyID0gbV9yZXNvdXJjZVJlcXVlc3QuaHR0cFJlZmVycmVyKCk7Ci0gICAgICAgIG91dGdvaW5n
T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3V0Z29pbmdSZWZlcnJl
ciktPnRvU3RyaW5nKCk7CiAgICAgfQorICAgIGlmIChtX29wdGlvbnMubW9kZSA9PSBGZXRjaE9w
dGlvbnM6Ok1vZGU6OkNvcnMpCisgICAgICAgIG91dGdvaW5nT3JpZ2luID0gU2VjdXJpdHlPcmln
aW46OmNyZWF0ZUZyb21TdHJpbmcob3V0Z29pbmdSZWZlcnJlciktPnRvU3RyaW5nKCk7CisgICAg
ZWxzZQorICAgICAgICBvdXRnb2luZ09yaWdpbiA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9y
aWdpbkhlYWRlcihtX29wdGlvbnMucmVmZXJyZXJQb2xpY3ksIG1fcmVzb3VyY2VSZXF1ZXN0LnVy
bCgpLCBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhvdXRnb2luZ1JlZmVycmVyKSk7
CisKICAgICB1cGRhdGVSZXF1ZXN0UmVmZXJyZXIobV9yZXNvdXJjZVJlcXVlc3QsIG1fb3B0aW9u
cy5yZWZlcnJlclBvbGljeSwgb3V0Z29pbmdSZWZlcnJlcik7CiAKICAgICBGcmFtZUxvYWRlcjo6
YWRkSFRUUE9yaWdpbklmTmVlZGVkKG1fcmVzb3VyY2VSZXF1ZXN0LCBvdXRnb2luZ09yaWdpbik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA3YzhkMzBhODlkMTFhNmQyNmU0NWRj
N2JiNWJmYzkyZDc1OTkxNjE4Li5jZjlhMmI2MTViOTY5NWRmZDMzMDE5MmQ0OGY1OTM1ZDhiYTBk
NmYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAy
MC0wMy0wOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFsaWduIHdp
dGggT3JpZ2luIGhlYWRlciBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTkyNjEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBJbXBvcnQgZmV0Y2gvb3JpZ2luIHRlc3RzLgorCisgICAgICAgICogcmVz
b3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5odG1sLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LmpzOiBBZGRlZC4KKyAgICAg
ICAgKHByb21pc2VfdGVzdC5hc3luYyBjb25zdCk6CisgICAgICAgIChwcm9taXNlX3Rlc3QpOgor
ICAgICAgICAoYXdhaXQubmV3LlByb21pc2UpOgorICAgICAgICAoYXN5bmMgY29uc3QpOgorICAg
ICAgICAobmF2aWdhdGlvblJlZmVycmVyUG9saWN5KToKKyAgICAgICAgKGZldGNoUmVmZXJyZXJQ
b2xpY3kpOgorICAgICAgICAocmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5nKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55LWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNv
cnMuYW55LmpzOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9v
cmlnaW4vbm8tY29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lndvcmtlci5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVz
b3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZmVycmVyLXBvbGlj
eS5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3czYy1pbXBvcnQubG9nOgorCiAyMDIwLTAzLTA5
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4IFdQVCB0ZXN0IHJl
ZGlyZWN0LW1vZGUuYW55Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggZWJmMDlmMzU3
MTE2MTVmNjViMWU2Mzk1Nzk4Yjk0YTM0NzM1MWIwZi4uN2UxZTNkMGUwZmNjY2U2OGMwZWMwNDQ4
ZGM4ZjI4NjliOWE4ZjdjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jl
c291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE3OCw2ICsxNzgs
NyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2giOiAiaW1wb3J0IiwgCiAgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL29yaWdpbiI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3JhbmdlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L2Z1bGxzY3JlZW4iOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNiNTI0
MjkzZmNlNWM0ZDQxZGMxY2RhZmMwOGFlZTI0YmE4MzYzYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fz
c29ydGVkLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorCitGQUlMIE9yaWdp
biBoZWFkZXIgYW5kIDMwOCByZWRpcmVjdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibnVsbCIg
YnV0IGdvdCAibm8gT3JpZ2luIGhlYWRlciIKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgR0VUIG5h
dmlnYXRpb24gCitGQUlMIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgbmF2aWdhdGlvbiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAibnVsbCIgYnV0IGdvdCAibm8gT3JpZ2luIGhlYWRlciIKK1BBU1Mg
T3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJy
ZXItUG9saWN5IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUt
b3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJl
ciAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1v
ZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIg
YW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8t
cmVmZXJyZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNo
IG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BBU1MgT3Jp
Z2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVm
ZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNh
bWUtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2FtZS1vcmlnaW4gCitQ
QVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2Rl
IHdpdGggUmVmZXJyZXItUG9saWN5IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFu
ZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBz
YW1lLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gbmF2
aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhl
YWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJy
ZXItUG9saWN5IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3Nz
LW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2FtZS1vcmlnaW4g
CitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gbmF2aWdhdGlvbiB3aXRo
IFJlZmVycmVyLVBvbGljeSBvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4gCitQQVNTIE9yaWdpbiBo
ZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJy
ZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBh
bmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kg
b3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNy
b3NzLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNy
b3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0
Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9y
aWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29y
cyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BB
U1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVm
ZXJyZXItUG9saWN5IG5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIAorUEFTUyBPcmlnaW4gaGVh
ZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVy
LVBvbGljeSBuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBh
bmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kg
bm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qg
Y3Jvc3Mtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXIt
d2hlbi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2lu
IGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlci13aGVu
LWRvd25ncmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0
Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyLXdoZW4tZG93bmdy
YWRlIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIG5hdmlnYXRpb24g
d2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQg
UE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kg
dW5zYWZlLXVybCAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRj
aCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2lu
IGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBv
bGljeSB1bnNhZmUtdXJsIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdp
biBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKK1BB
U1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdp
dGggUmVmZXJyZXItUG9saWN5IHVuc2FmZS11cmwgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndp
bmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2
OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVk
LndpbmRvdy5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZv
ciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0t
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRv
dy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
b3JpZ2luL2Fzc29ydGVkLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTgzMjcyNGE3MGRkZjQwNjUx
MTU1NWU3OTFjOWVhYzU5MDIzOTdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93
LmpzCkBAIC0wLDAgKzEsMjAyIEBACisvLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi91dGlscy5qcwor
Ly8gTUVUQTogc2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMKKworY29uc3Qgb3Jp
Z2lucyA9IGdldF9ob3N0X2luZm8oKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgp
IHsKKyAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpLAorICAgICAgICByZWRpcmVjdFBhdGggPSAiL2Zl
dGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICAvLyBDcm9z
cy1vcmlnaW4gLT4gc2FtZS1vcmlnaW4gd2lsbCByZXN1bHQgaW4gc2V0dGluZyB0aGUgdGFpbnRl
ZCBvcmlnaW4gZmxhZyBmb3IgdGhlIHNlY29uZAorICAvLyByZXF1ZXN0LgorICBsZXQgdXJsID0g
b3JpZ2lucy5IVFRQX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoOwor
ICB1cmwgPSBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rh
c2g9IiArIHN0YXNoICsgIiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7CisK
KyAgYXdhaXQgZmV0Y2godXJsLCB7IG1vZGU6ICJuby1jb3JzIiwgbWV0aG9kOiAiUE9TVCIgfSk7
CisKKyAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVjdFBhdGggKyAiP2R1
bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgIGFzc2VydF9lcXVhbHMoanNvblswXSwg
b3JpZ2lucy5IVFRQX09SSUdJTik7CisgIGFzc2VydF9lcXVhbHMoanNvblsxXSwgIm51bGwiKTsK
K30sICJPcmlnaW4gaGVhZGVyIGFuZCAzMDggcmVkaXJlY3QiKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jIGZ1bmN0aW9uICgpIHsKKyAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpLAorICAgICAgICByZWRp
cmVjdFBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5
IjsKKworICBsZXQgdXJsID0gb3JpZ2lucy5IVFRQX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/
c3Rhc2g9IiArIHN0YXNoOworICB1cmwgPSBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTiArIHJl
ZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoICsgIiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJ
Q29tcG9uZW50KHVybCk7CisKKyAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
Y29uc3QgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBmcmFt
ZS5zcmMgPSB1cmw7CisgICAgZnJhbWUub25sb2FkID0gKCkgPT4geworICAgICAgcmVzb2x2ZSgp
OworICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgfQorICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZnJhbWUpOworICB9KTsKKworICBjb25zdCBqc29uID0gYXdhaXQgKGF3YWl0IGZldGNo
KHJlZGlyZWN0UGF0aCArICI/ZHVtcCZzdGFzaD0iICsgc3Rhc2gpKS5qc29uKCk7CisKKyAgYXNz
ZXJ0X2VxdWFscyhqc29uWzBdLCAibm8gT3JpZ2luIGhlYWRlciIpOworICBhc3NlcnRfZXF1YWxz
KGpzb25bMV0sICJubyBPcmlnaW4gaGVhZGVyIik7Cit9LCAiT3JpZ2luIGhlYWRlciBhbmQgR0VU
IG5hdmlnYXRpb24iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgY29u
c3Qgc3Rhc2ggPSB0b2tlbigpLAorICAgICAgICByZWRpcmVjdFBhdGggPSAiL2ZldGNoL29yaWdp
bi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICBsZXQgdXJsID0gb3JpZ2lu
cy5IVFRQX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoOworICB1cmwg
PSBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiAr
IHN0YXNoICsgIiZsb2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7CisKKyAgYXdh
aXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCBlID0+IHsKKyAgICAgIGlmIChlLmRhdGEgPT09ICJsb2FkZWQiKSB7CisgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgICB9CisgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworICAgIGZyYW1lLm9ubG9hZCA9ICgpID0+IHsKKyAgICAgIGNvbnN0IGRvYyA9
IGZyYW1lLmNvbnRlbnREb2N1bWVudCwKKyAgICAgICAgICAgIGZvcm0gPSBkb2MuYm9keS5hcHBl
bmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudCgiZm9ybSIpKSwKKyAgICAgICAgICAgIHN1Ym1pdCA9
IGZvcm0uYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOworICAgICAgZm9y
bS5hY3Rpb24gPSB1cmw7CisgICAgICBmb3JtLm1ldGhvZCA9ICJQT1NUIjsKKyAgICAgIHN1Ym1p
dC50eXBlID0gInN1Ym1pdCI7CisgICAgICBzdWJtaXQuY2xpY2soKTsKKyAgICB9CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgIH0pOworCisgIGNvbnN0IGpzb24gPSBh
d2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkp
Lmpzb24oKTsKKworICBhc3NlcnRfZXF1YWxzKGpzb25bMF0sIG9yaWdpbnMuSFRUUF9PUklHSU4p
OworICBhc3NlcnRfZXF1YWxzKGpzb25bMV0sICJudWxsIik7Cit9LCAiT3JpZ2luIGhlYWRlciBh
bmQgUE9TVCBuYXZpZ2F0aW9uIik7CisKK2Z1bmN0aW9uIG5hdmlnYXRpb25SZWZlcnJlclBvbGlj
eShyZWZlcnJlclBvbGljeSwgZGVzdGluYXRpb24sIGV4cGVjdGVkT3JpZ2luKSB7CisgIHJldHVy
biBhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpOworICAgIGNv
bnN0IHJlZmVycmVyUG9saWN5UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWZlcnJl
ci1wb2xpY3kucHkiOworICAgIGNvbnN0IHJlZGlyZWN0UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jl
c291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkiOworCisgICAgbGV0IHBvc3RVcmwgPQorICAg
ICAgICAgICAgKGRlc3RpbmF0aW9uID09PSAic2FtZS1vcmlnaW4iID8gb3JpZ2lucy5IVFRQX09S
SUdJTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogb3JpZ2lu
cy5IVFRQX1JFTU9URV9PUklHSU4pICsKKyAgICAgICAgICAgIHJlZGlyZWN0UGF0aCArICI/c3Rh
c2g9IiArIHN0YXNoOworCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
ICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgICAgICBmcmFtZS5zcmMgPSBvcmln
aW5zLkhUVFBfT1JJR0lOICsgcmVmZXJyZXJQb2xpY3lQYXRoICsKKyAgICAgICAgICAgICAgICAg
ICI/cmVmZXJyZXJQb2xpY3k9IiArIHJlZmVycmVyUG9saWN5OworICAgICAgc2VsZi5hZGRFdmVu
dExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gbGlzdGVuZXIoZSkgeworICAgICAgICBpZiAo
ZS5kYXRhID09PSAibG9hZGVkIikgeworICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICBm
cmFtZS5yZW1vdmUoKTsKKyAgICAgICAgICBzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCBsaXN0ZW5lcik7CisgICAgICAgIH0gZWxzZSBpZiAoZS5kYXRhID09PSAiYWN0aW9uIikg
eworICAgICAgICAgIGNvbnN0IGRvYyA9IGZyYW1lLmNvbnRlbnREb2N1bWVudCwKKyAgICAgICAg
ICAgICAgICBmb3JtID0gZG9jLmJvZHkuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoImZv
cm0iKSksCisgICAgICAgICAgICAgICAgc3VibWl0ID0gZm9ybS5hcHBlbmRDaGlsZChkb2MuY3Jl
YXRlRWxlbWVudCgiaW5wdXQiKSk7CisgICAgICAgICAgZm9ybS5hY3Rpb24gPSBwb3N0VXJsOwor
ICAgICAgICAgIGZvcm0ubWV0aG9kID0gIlBPU1QiOworICAgICAgICAgIHN1Ym1pdC50eXBlID0g
InN1Ym1pdCI7CisgICAgICAgICAgc3VibWl0LmNsaWNrKCk7CisgICAgICAgIH0KKyAgICAgIH0p
OworICAgIH0pOworCisgICAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVj
dFBhdGggKyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgICAgYXNzZXJ0X2Vx
dWFscyhqc29uWzBdLCBleHBlY3RlZE9yaWdpbik7CisgIH07Cit9CisKK2Z1bmN0aW9uIGZldGNo
UmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3ksIGRlc3RpbmF0aW9uLCBmZXRjaE1vZGUsIGV4
cGVjdGVkT3JpZ2luKSB7CisgIHJldHVybiBhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3Qg
c3Rhc2ggPSB0b2tlbigpOworICAgIGNvbnN0IHJlZmVycmVyUG9saWN5UGF0aCA9ICIvZmV0Y2gv
b3JpZ2luL3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3kucHkiOworICAgIGNvbnN0IHJlZGlyZWN0
UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkiOwor
CisgICAgbGV0IGZldGNoVXJsID0KKyAgICAgICAgKGRlc3RpbmF0aW9uID09PSAic2FtZS1vcmln
aW4iID8gb3JpZ2lucy5IVFRQX09SSUdJTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOiBvcmlnaW5zLkhUVFBfUkVNT1RFX09SSUdJTikgKworICAgICAgICByZWRpcmVj
dFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaDsKKworICAgIGF3YWl0IGZldGNoKGZldGNoVXJsLCB7
IG1vZGU6IGZldGNoTW9kZSwgbWV0aG9kOiAiUE9TVCIgLCAicmVmZXJyZXJQb2xpY3kiOiByZWZl
cnJlclBvbGljeX0pOworCisgICAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRjaChyZWRp
cmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgICAgYXNzZXJ0
X2VxdWFscyhqc29uWzBdLCBleHBlY3RlZE9yaWdpbik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHJl
ZmVycmVyUG9saWN5VGVzdFN0cmluZyhyZWZlcnJlclBvbGljeSwgZGVzdGluYXRpb24pIHsKKyAg
cmV0dXJuICJPcmlnaW4gaGVhZGVyIGFuZCBQT1NUICIgKyBkZXN0aW5hdGlvbiArICIgd2l0aCBS
ZWZlcnJlci1Qb2xpY3kgIiArCisgICAgICAgICByZWZlcnJlclBvbGljeTsKK30KKworWworICB7
CisgICAgInBvbGljeSI6ICJuby1yZWZlcnJlciIsCisgICAgImV4cGVjdGVkT3JpZ2luRm9yU2Ft
ZU9yaWdpbiI6ICJudWxsIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbiI6ICJu
dWxsIgorICB9LAorICB7CisgICAgInBvbGljeSI6ICJzYW1lLW9yaWdpbiIsCisgICAgImV4cGVj
dGVkT3JpZ2luRm9yU2FtZU9yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4sCisgICAgImV4cGVj
dGVkT3JpZ2luRm9yQ3Jvc3NPcmlnaW4iOiAibnVsbCIKKyAgfSwKKyAgeworICAgICJwb2xpY3ki
OiAib3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JTYW1l
T3JpZ2luIjogb3JpZ2lucy5IVFRQX09SSUdJTiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9z
c09yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4KKyAgfSwKKyAgeworICAgICJwb2xpY3kiOiAi
bm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUiLAorICAgICJleHBlY3RlZE9yaWdpbkZvclNhbWVP
cmlnaW4iOiBvcmlnaW5zLkhUVFBfT1JJR0lOLAorICAgICJleHBlY3RlZE9yaWdpbkZvckNyb3Nz
T3JpZ2luIjogb3JpZ2lucy5IVFRQX09SSUdJTgorICB9LAorICB7CisgICAgInBvbGljeSI6ICJ1
bnNhZmUtdXJsIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JTYW1lT3JpZ2luIjogb3JpZ2lucy5I
VFRQX09SSUdJTiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbiI6IG9yaWdpbnMu
SFRUUF9PUklHSU4KKyAgfSwKK10uZm9yRWFjaCh0ZXN0T2JqID0+IHsKKyAgWworICAgIHsKKyAg
ICAgICJuYW1lIjogInNhbWUtb3JpZ2luIiwKKyAgICAgICJleHBlY3RlZE9yaWdpbiI6IHRlc3RP
YmouZXhwZWN0ZWRPcmlnaW5Gb3JTYW1lT3JpZ2luCisgICAgfSwKKyAgICB7CisgICAgICAibmFt
ZSI6ICJjcm9zcy1vcmlnaW4iLAorICAgICAgImV4cGVjdGVkT3JpZ2luIjogdGVzdE9iai5leHBl
Y3RlZE9yaWdpbkZvckNyb3NzT3JpZ2luCisgICAgfQorICBdLmZvckVhY2goZGVzdGluYXRpb24g
PT4geworICAgIC8vIFRlc3QgZm9ybSBQT1NUIG5hdmlnYXRpb24KKyAgICBwcm9taXNlX3Rlc3Qo
bmF2aWdhdGlvblJlZmVycmVyUG9saWN5KHRlc3RPYmoucG9saWN5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLmV4cGVjdGVkT3JpZ2lu
KSwKKyAgICAgICAgICAgICAgICAgcmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5nKHRlc3RPYmoucG9s
aWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRp
b24ubmFtZSArICIgbmF2aWdhdGlvbiIpKTsKKyAgICAvLyBUZXN0IGZldGNoCisgICAgcHJvbWlz
ZV90ZXN0KGZldGNoUmVmZXJyZXJQb2xpY3kodGVzdE9iai5wb2xpY3ksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibm8tY29ycyIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGVzdGluYXRpb24uZXhwZWN0ZWRPcmlnaW4pLAorICAgICAgICAgICAg
ICAgICByZWZlcnJlclBvbGljeVRlc3RTdHJpbmcodGVzdE9iai5wb2xpY3ksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5uYW1lICsgIiBmZXRj
aCBuby1jb3JzIG1vZGUiKSk7CisKKyAgICAvLyBXaGVuIHdlJ3JlIGRlYWxpbmcgd2l0aCBDT1JT
IChtb2RlIGlzICJjb3JzIiksIHdlIHNob3VsZG4ndCB0YWtlIHRoZQorICAgIC8vIFJlZmVycmVy
LVBvbGljeSBpbnRvIGFjY291bnQKKyAgICBwcm9taXNlX3Rlc3QoZmV0Y2hSZWZlcnJlclBvbGlj
eSh0ZXN0T2JqLnBvbGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZXN0aW5hdGlvbi5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJj
b3JzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5zLkhUVFBf
T1JJR0lOKSwKKyAgICAgICAgICAgICAgICAgcmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5nKHRlc3RP
YmoucG9saWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVz
dGluYXRpb24ubmFtZSArICIgZmV0Y2ggY29ycyBtb2RlIikpOworICB9KTsKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9v
cmlnaW4vbm8tY29ycy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnktZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzIwNWJmYzhiZTliNTZmYmI2Zjc3MGQ2
ZjY3NWNjNWFmY2E4NDIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
b3JpZ2luL25vLWNvcnMuYW55LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAs
MCBAQAotCi1GQUlMIE9yaWdpbiBoZWFkZXIgYW5kIDMwOCByZWRpcmVjdCBhc3NlcnRfZXF1YWxz
OiBzZWNvbmQgb3JpZ2luIHNob3VsZCBiZSBvcGFxdWUgYW5kIHRoZXJlZm9yZSBudWxsIGV4cGVj
dGVkICJudWxsIiBidXQgZ290ICJubyBPcmlnaW4gaGVhZGVyIgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1j
b3JzLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9y
IFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdp
bi9uby1jb3JzLmFueS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzlkMWQzYjNh
ZjM3NTBlYzQzNTQ5YTNkOTZhMDkxMmUyY2Y2YjM5OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5qcworKysgL2Rldi9udWxsCkBAIC0x
LDIwICswLDAgQEAKLS8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL3V0aWxzLmpzCi0vLyBNRVRBOiBz
Y3JpcHQ9L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcwotCi1wcm9taXNlX3Rlc3QoYXN5bmMg
ZnVuY3Rpb24oKSB7Ci0gIGNvbnN0IHN0YXNoID0gdG9rZW4oKSwKLSAgICAgICAgb3JpZ2lucyA9
IGdldF9ob3N0X2luZm8oKSwKLSAgICAgICAgcmVkaXJlY3RQYXRoID0gIi9mZXRjaC9vcmlnaW4v
cmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weSI7Ci0KLSAgLy8gQ3Jvc3Mtb3JpZ2luIC0+
IHNhbWUtb3JpZ2luIHdpbGwgcmVzdWx0IGluIHNldHRpbmcgdGhlIHRhaW50ZWQgb3JpZ2luIGZs
YWcgZm9yIHRoZSBzZWNvbmQKLSAgLy8gcmVxdWVzdC4KLSAgbGV0IHVybCA9IG9yaWdpbnMuSFRU
UF9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaDsKLSAgdXJsID0gb3Jp
Z2lucy5IVFRQX1JFTU9URV9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFz
aCArICImbG9jYXRpb249IiArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpOwotCi0gIGF3YWl0IGZl
dGNoKHVybCwgeyBtb2RlOiAibm8tY29ycyIsIG1ldGhvZDogIlBPU1QiIH0pOwotCi0gIGNvbnN0
IGpzb24gPSBhd2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIg
KyBzdGFzaCkpLmpzb24oKTsKLQotICBhc3NlcnRfZXF1YWxzKGpzb25bMF0sIG9yaWdpbnMuSFRU
UF9PUklHSU4sICJmaXJzdCBvcmlnaW4gc2hvdWxkIGVxdWFsIHRoaXMgb3JpZ2luIik7Ci0gIGFz
c2VydF9lcXVhbHMoanNvblsxXSwgIm51bGwiLCAic2Vjb25kIG9yaWdpbiBzaG91bGQgYmUgb3Bh
cXVlIGFuZCB0aGVyZWZvcmUgbnVsbCIpOwotfSwgIk9yaWdpbiBoZWFkZXIgYW5kIDMwOCByZWRp
cmVjdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25v
LWNvcnMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGUzMjA1YmZjOGJlOWI1NmZiYjZmNzcwZDZmNjc1Y2M1YWZjYTg0MjMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotCi1GQUlMIE9yaWdpbiBo
ZWFkZXIgYW5kIDMwOCByZWRpcmVjdCBhc3NlcnRfZXF1YWxzOiBzZWNvbmQgb3JpZ2luIHNob3Vs
ZCBiZSBvcGFxdWUgYW5kIHRoZXJlZm9yZSBudWxsIGV4cGVjdGVkICJudWxsIiBidXQgZ290ICJu
byBPcmlnaW4gaGVhZGVyIgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2lu
L25vLWNvcnMuYW55Lndvcmtlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
MzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lndvcmtlci5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9y
IFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGly
ZWN0LWFuZC1zdGFzaC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkKaW5kZXgg
MWIxYjQ2YmExNzdhZDNhZjU2ZWY4M2U5MGIwOTc0ZGQ4MWNkM2VhZS4uYWE5ZWIzNWRiMmJkZGI1
OWFjYjFjN2ViY2JiOTcxYWIzOGQzNDRiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0
LWFuZC1zdGFzaC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5CkBAIC05
LDcgKzksNyBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgb3JpZ2luX2xpc3Qg
PSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKGtleSkKIAogICAgIGlmICJkdW1wIiBpbiByZXF1
ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoImNvbnRlbnQtVHlwZSIsICJh
cHBsaWNhdGlvbi9qc29uIikKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQt
VHlwZSIsICJhcHBsaWNhdGlvbi9qc29uIikKICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGpz
b24uZHVtcHMob3JpZ2luX2xpc3QpCiAgICAgICAgIHJldHVybgogCkBAIC0yNSw1ICsyNSw2IEBA
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoIkxvY2F0aW9uIiwgcmVxdWVzdC5HRVQuZmlyc3QoImxvY2F0aW9uIikpCiAgICAgICAgIHJl
dHVybgogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoImNvbnRlbnQtVHlwZSIsICJ0ZXh0L3Bs
YWluIikKLSAgICByZXNwb25zZS5jb250ZW50ID0gIkZpeCBodHRwczovL2dpdGh1Yi5jb20vd2hh
dHdnL2ZldGNoL2lzc3Vlcy83MzcuLi4iCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRl
bnQtVHlwZSIsICJ0ZXh0L2h0bWwiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCisgICAgcmVzcG9uc2UuY29udGVudCA9ICI8bWV0
YSBjaGFyc2V0PXV0Zi04PlxuPGJvZHk+PHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2UoJ2xvYWRl
ZCcsJyonKTwvc2NyaXB0PjwvYm9keT4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVmZXJyZXIt
cG9saWN5LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMmI3
MWUzM2I1NDE2MGM0NTFmMWJiZmM4YTE1NzYwMGVlYjcwNTlmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4v
cmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS5weQpAQCAtMCwwICsxLDcgQEAKK2RlZiBtYWluKHJl
cXVlc3QsIHJlc3BvbnNlKToKKyAgICBpZiAicmVmZXJyZXJQb2xpY3kiIGluIHJlcXVlc3QuR0VU
OgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiUmVmZXJyZXItUG9saWN5IiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5HRVQuZmlyc3QoInJlZmVycmVyUG9saWN5
IikpCisgICAgcmVzcG9uc2Uuc3RhdHVzID0gMjAwCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2h0bWwiKQorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiPG1l
dGEgY2hhcnNldD11dGYtOD5cbjxib2R5PjxzY3JpcHQ+cGFyZW50LnBvc3RNZXNzYWdlKCdhY3Rp
b24nLCcqJyk8L3NjcmlwdD48L2JvZHk+IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9vcmlnaW4vcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCmluZGV4IDY4YmFiYzUyNDhlMWRhMmRh
MjMyNzllMGI0NTFiNDc5NmI4NmYwOTAuLmI1ZjY1NTZhZDVjYjAxMzE0MTc5NzQ3MDhiNzQwZjQy
NWQ2ZjYyZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNv
dXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTE1LDMgKzE1LDQgQEAgTm9uZQogLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9y
ZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2lu
L3czYy1pbXBvcnQubG9nCmluZGV4IDMwMjQwN2RmZGMxYmQ0NjFkMDlhNzBmNDM0NzE0YWQwN2Ri
ZjEzY2UuLjQ5MjZmZjVjMGM4MDEwNTllYmFjZjJiODM4ZDZiMTgwZTg0M2ZhY2MgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3Jp
Z2luL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3czYy1pbXBvcnQubG9nCkBAIC0xNCw0ICsxNCw0IEBA
IFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55LmpzCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2lu
ZG93LmpzCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393063</attachid>
            <date>2020-03-09 13:04:39 -0700</date>
            <delta_ts>2020-03-09 14:26:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199261-20200309210437.patch</filename>
            <type>text/plain</type>
            <size>24974</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI4NWY5ZmZkMTM5MDcw
MjUzNDQ1M2MxYTg0ODA5MGYxMzUxMTAyMi4uODE0MmIyMWRlM2Y2ZGUyODRlZjliODAzNTgxYzM3
NmI4MzQyNjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTA5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVh
ZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IENhbGwgZ2VuZXJhdGVPcmlnaW5IZWFkZXIgaW4gbW9yZSBwbGFjZXMgc28gdGhhdCB3ZSBjb21w
bHkKKyAgICAgICAgbW9yZSB3aXRoICJhcHBlbmQgYSByZXF1ZXN0IGBPcmlnaW5gIGhlYWRlciIg
YWxnb3JpdGhtIFsxXS4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbAorCisgICAgICAgIFsxXSBo
dHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jYXBwZW5kLWEtcmVxdWVzdC1vcmlnaW4taGVh
ZGVyCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZVJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0Ojp1cGRhdGVSZWZlcnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMpOgorCiAyMDIw
LTAzLTA5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVuYW1lIHVy
bFNlbGVjdGVkIHRvIGNoYW5nZUxvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAppbmRleCAzYjVjMGE4YmNhNGE5NjEyN2ViYzliNTEzNjc0ZThhNDIwNzkyMDIxLi4wZjRh
NTI4M2Y1YTNlZjIyZDdlNDIwM2U2NjBhY2Y0MWYyNTQ1ZjE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKQEAgLTQ5Niw3ICs0OTYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpz
dWJtaXRGb3JtKFJlZjxGb3JtU3VibWlzc2lvbj4mJiBzdWJtaXNzaW9uKQogICAgICAgICBtX3N1
Ym1pdHRlZEZvcm1VUkwgPSBzdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCk7CiAKICAgICBzdWJtaXNz
aW9uLT5zZXRSZWZlcnJlcihvdXRnb2luZ1JlZmVycmVyKCkpOwotICAgIHN1Ym1pc3Npb24tPnNl
dE9yaWdpbihvdXRnb2luZ09yaWdpbigpKTsKKyAgICBzdWJtaXNzaW9uLT5zZXRPcmlnaW4oU2Vj
dXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fZnJhbWUuZG9jdW1lbnQoKS0+cmVm
ZXJyZXJQb2xpY3koKSwgc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBtX2ZyYW1lLmRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCkpKTsKIAogICAgIHRhcmdldEZyYW1lLT5uYXZpZ2F0aW9uU2No
ZWR1bGVyKCkuc2NoZWR1bGVGb3JtU3VibWlzc2lvbihXVEZNb3ZlKHN1Ym1pc3Npb24pKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVx
dWVzdC5jcHAKaW5kZXggNWYwOGI4NTY0Zjk1Njc2OWNhMTBiZGFhZTQ2MDgyYmM4MDRjMzk0Yi4u
OTc1ZDhiMGI5OGVjNzBmMjEzNTFhZmQ5ZTlkYzRmM2M3MzEyZDZjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKQEAg
LTIyNCwxNiArMjI0LDE5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVSZWZl
cnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMoRnJhbWVMb2FkZXImCiB7CiAgICAgLy8gSW1w
bGVtZW50aW5nIHN0ZXAgOSB0byAxMSBvZiBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8j
aHR0cC1uZXR3b3JrLW9yLWNhY2hlLWZldGNoIGFzIG9mIDE2IE1hcmNoIDIwMTgKICAgICBTdHJp
bmcgb3V0Z29pbmdSZWZlcnJlciA9IGZyYW1lTG9hZGVyLm91dGdvaW5nUmVmZXJyZXIoKTsKLSAg
ICBTdHJpbmcgb3V0Z29pbmdPcmlnaW4gPSBmcmFtZUxvYWRlci5vdXRnb2luZ09yaWdpbigpOwot
ICAgIGlmIChtX3Jlc291cmNlUmVxdWVzdC5oYXNIVFRQUmVmZXJyZXIoKSkgeworICAgIGlmICht
X3Jlc291cmNlUmVxdWVzdC5oYXNIVFRQUmVmZXJyZXIoKSkKICAgICAgICAgb3V0Z29pbmdSZWZl
cnJlciA9IG1fcmVzb3VyY2VSZXF1ZXN0Lmh0dHBSZWZlcnJlcigpOwotICAgICAgICBvdXRnb2lu
Z09yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG91dGdvaW5nUmVmZXJy
ZXIpLT50b1N0cmluZygpOwotICAgIH0KICAgICB1cGRhdGVSZXF1ZXN0UmVmZXJyZXIobV9yZXNv
dXJjZVJlcXVlc3QsIG1fb3B0aW9ucy5yZWZlcnJlclBvbGljeSwgb3V0Z29pbmdSZWZlcnJlcik7
Ci0KLSAgICBGcmFtZUxvYWRlcjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKG1fcmVzb3VyY2VSZXF1
ZXN0LCBvdXRnb2luZ09yaWdpbik7Ci0KICAgICBmcmFtZUxvYWRlci5hcHBseVVzZXJBZ2VudElm
TmVlZGVkKG1fcmVzb3VyY2VSZXF1ZXN0KTsKKworICAgIGlmICghbV9yZXNvdXJjZVJlcXVlc3Qu
aHR0cE9yaWdpbigpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChtX29wdGlv
bnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnMpCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIGVsc2UgeworICAgICAgICBTdHJpbmcgb3V0Z29pbmdPcmlnaW4gPSBT
ZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIobV9vcHRpb25zLnJlZmVycmVyUG9s
aWN5LCBtX3Jlc291cmNlUmVxdWVzdC51cmwoKSwgU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21T
dHJpbmcob3V0Z29pbmdSZWZlcnJlcikpOworICAgICAgICBGcmFtZUxvYWRlcjo6YWRkSFRUUE9y
aWdpbklmTmVlZGVkKG1fcmVzb3VyY2VSZXF1ZXN0LCBvdXRnb2luZ09yaWdpbik7CisgICAgfQog
fQogCiBib29sIGlzUmVxdWVzdENyb3NzT3JpZ2luKFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIGNv
bnN0IFVSTCYgcmVxdWVzdFVSTCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25z
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggN2M4ZDMwYTg5ZDExYTZkMjZlNDVk
YzdiYjViZmM5MmQ3NTk5MTYxOC4uY2Y5YTJiNjE1Yjk2OTVkZmQzMzAxOTJkNDhmNTkzNWQ4YmEw
ZDZmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIw
MjAtMDMtMDkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBBbGlnbiB3
aXRoIE9yaWdpbiBoZWFkZXIgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MjYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCisKKyAgICAgICAgSW1wb3J0IGZldGNoL29yaWdpbiB0ZXN0cy4KKworICAgICAgICAqIHJl
c291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRv
dy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuaHRtbC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5qczogQWRkZWQuCisgICAg
ICAgIChwcm9taXNlX3Rlc3QuYXN5bmMgY29uc3QpOgorICAgICAgICAocHJvbWlzZV90ZXN0KToK
KyAgICAgICAgKGF3YWl0Lm5ldy5Qcm9taXNlKToKKyAgICAgICAgKGFzeW5jIGNvbnN0KToKKyAg
ICAgICAgKG5hdmlnYXRpb25SZWZlcnJlclBvbGljeSk6CisgICAgICAgIChmZXRjaFJlZmVycmVy
UG9saWN5KToKKyAgICAgICAgKHJlZmVycmVyUG9saWN5VGVzdFN0cmluZyk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1j
b3JzLmFueS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
b3JpZ2luL25vLWNvcnMuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXIuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jl
c291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWZlcnJlci1wb2xp
Y3kucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZzoKKwogMjAyMC0wMy0w
OSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBXUFQgdGVzdCBy
ZWRpcmVjdC1tb2RlLmFueS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IGViZjA5ZjM1
NzExNjE1ZjY1YjFlNjM5NTc5OGI5NGEzNDczNTFiMGYuLjdlMWUzZDBlMGZjY2NlNjhjMGVjMDQ0
OGRjOGYyODY5YjlhOGY3YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0xNzgsNiArMTc4
LDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoIjogImltcG9ydCIsIAogICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMiOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9vcmlnaW4iOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9yYW5nZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9mdWxsc2NyZWVuIjogInNraXAiLCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjYjUy
NDI5M2ZjZTVjNGQ0MWRjMWNkYWZjMDhhZWUyNGJhODM2M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9h
c3NvcnRlZC53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKKworRkFJTCBPcmln
aW4gaGVhZGVyIGFuZCAzMDggcmVkaXJlY3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm51bGwi
IGJ1dCBnb3QgIm5vIE9yaWdpbiBoZWFkZXIiCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIEdFVCBu
YXZpZ2F0aW9uIAorRkFJTCBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIG5hdmlnYXRpb24gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIm51bGwiIGJ1dCBnb3QgIm5vIE9yaWdpbiBoZWFkZXIiCitQQVNT
IE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVy
cmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1l
LW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJy
ZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBt
b2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVy
IGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IG5v
LXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRj
aCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXIgCitQQVNTIE9y
aWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJl
ZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBz
YW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IHNhbWUtb3JpZ2luIAor
UEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9k
ZSB3aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBh
bmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kg
c2FtZS1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIG5h
dmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgc2FtZS1vcmlnaW4gCitQQVNTIE9yaWdpbiBo
ZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVy
cmVyLVBvbGljeSBzYW1lLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9z
cy1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IHNhbWUtb3JpZ2lu
IAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIG5hdmlnYXRpb24gd2l0
aCBSZWZlcnJlci1Qb2xpY3kgb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIAorUEFTUyBPcmlnaW4g
aGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVy
cmVyLVBvbGljeSBvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIg
YW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5
IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBj
cm9zcy1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBvcmlnaW4td2hlbi1j
cm9zcy1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZl
dGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBvcmlnaW4td2hlbi1jcm9zcy1v
cmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNoIGNv
cnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4gCitQ
QVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJl
ZmVycmVyLVBvbGljeSBuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZSAKK1BBU1MgT3JpZ2luIGhl
YWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJl
ci1Qb2xpY3kgbm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIg
YW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5
IG5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NU
IGNyb3NzLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVy
LXdoZW4tZG93bmdyYWRlIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdp
biBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXItd2hl
bi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZl
dGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlci13aGVuLWRvd25n
cmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9u
IHdpdGggUmVmZXJyZXItUG9saWN5IHVuc2FmZS11cmwgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5k
IFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5
IHVuc2FmZS11cmwgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gZmV0
Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IHVuc2FmZS11cmwgCitQQVNTIE9yaWdp
biBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Q
b2xpY3kgdW5zYWZlLXVybCAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmln
aW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IHVuc2FmZS11cmwgCitQ
QVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3
aXRoIFJlZmVycmVyLVBvbGljeSB1bnNhZmUtdXJsIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53
aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1Mjhl
NjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRl
ZC53aW5kb3cuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5k
b3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L29yaWdpbi9hc3NvcnRlZC53aW5kb3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWU4MzI3MjRhNzBkZGY0MDY1
MTE1NTVlNzkxYzllYWM1OTAyMzk3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRv
dy5qcwpAQCAtMCwwICsxLDIwMiBAQAorLy8gTUVUQTogc2NyaXB0PS9jb21tb24vdXRpbHMuanMK
Ky8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCisKK2NvbnN0IG9y
aWdpbnMgPSBnZXRfaG9zdF9pbmZvKCk7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAo
KSB7CisgIGNvbnN0IHN0YXNoID0gdG9rZW4oKSwKKyAgICAgICAgcmVkaXJlY3RQYXRoID0gIi9m
ZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weSI7CisKKyAgLy8gQ3Jv
c3Mtb3JpZ2luIC0+IHNhbWUtb3JpZ2luIHdpbGwgcmVzdWx0IGluIHNldHRpbmcgdGhlIHRhaW50
ZWQgb3JpZ2luIGZsYWcgZm9yIHRoZSBzZWNvbmQKKyAgLy8gcmVxdWVzdC4KKyAgbGV0IHVybCA9
IG9yaWdpbnMuSFRUUF9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaDsK
KyAgdXJsID0gb3JpZ2lucy5IVFRQX1JFTU9URV9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0
YXNoPSIgKyBzdGFzaCArICImbG9jYXRpb249IiArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpOwor
CisgIGF3YWl0IGZldGNoKHVybCwgeyBtb2RlOiAibm8tY29ycyIsIG1ldGhvZDogIlBPU1QiIH0p
OworCisgIGNvbnN0IGpzb24gPSBhd2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJlY3RQYXRoICsgIj9k
dW1wJnN0YXNoPSIgKyBzdGFzaCkpLmpzb24oKTsKKworICBhc3NlcnRfZXF1YWxzKGpzb25bMF0s
IG9yaWdpbnMuSFRUUF9PUklHSU4pOworICBhc3NlcnRfZXF1YWxzKGpzb25bMV0sICJudWxsIik7
Cit9LCAiT3JpZ2luIGhlYWRlciBhbmQgMzA4IHJlZGlyZWN0Iik7CisKK3Byb21pc2VfdGVzdChh
c3luYyBmdW5jdGlvbiAoKSB7CisgIGNvbnN0IHN0YXNoID0gdG9rZW4oKSwKKyAgICAgICAgcmVk
aXJlY3RQYXRoID0gIi9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5w
eSI7CisKKyAgbGV0IHVybCA9IG9yaWdpbnMuSFRUUF9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAi
P3N0YXNoPSIgKyBzdGFzaDsKKyAgdXJsID0gb3JpZ2lucy5IVFRQX1JFTU9URV9PUklHSU4gKyBy
ZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaCArICImbG9jYXRpb249IiArIGVuY29kZVVS
SUNvbXBvbmVudCh1cmwpOworCisgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
IGNvbnN0IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgZnJh
bWUuc3JjID0gdXJsOworICAgIGZyYW1lLm9ubG9hZCA9ICgpID0+IHsKKyAgICAgIHJlc29sdmUo
KTsKKyAgICAgIGZyYW1lLnJlbW92ZSgpOworICAgIH0KKyAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGZyYW1lKTsKKyAgfSk7CisKKyAgY29uc3QganNvbiA9IGF3YWl0IChhd2FpdCBmZXRj
aChyZWRpcmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigpOworCisgIGFz
c2VydF9lcXVhbHMoanNvblswXSwgIm5vIE9yaWdpbiBoZWFkZXIiKTsKKyAgYXNzZXJ0X2VxdWFs
cyhqc29uWzFdLCAibm8gT3JpZ2luIGhlYWRlciIpOworfSwgIk9yaWdpbiBoZWFkZXIgYW5kIEdF
VCBuYXZpZ2F0aW9uIik7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgIGNv
bnN0IHN0YXNoID0gdG9rZW4oKSwKKyAgICAgICAgcmVkaXJlY3RQYXRoID0gIi9mZXRjaC9vcmln
aW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weSI7CisKKyAgbGV0IHVybCA9IG9yaWdp
bnMuSFRUUF9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIgKyBzdGFzaDsKKyAgdXJs
ID0gb3JpZ2lucy5IVFRQX1JFTU9URV9PUklHSU4gKyByZWRpcmVjdFBhdGggKyAiP3N0YXNoPSIg
KyBzdGFzaCArICImbG9jYXRpb249IiArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpOworCisgIGF3
YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IGZyYW1lID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNz
YWdlIiwgZSA9PiB7CisgICAgICBpZiAoZS5kYXRhID09PSAibG9hZGVkIikgeworICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICAgIGZyYW1lLnJlbW92ZSgpOworICAgICAgfQorICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKyAgICBmcmFtZS5vbmxvYWQgPSAoKSA9PiB7CisgICAgICBjb25zdCBkb2Mg
PSBmcmFtZS5jb250ZW50RG9jdW1lbnQsCisgICAgICAgICAgICBmb3JtID0gZG9jLmJvZHkuYXBw
ZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoImZvcm0iKSksCisgICAgICAgICAgICBzdWJtaXQg
PSBmb3JtLmFwcGVuZENoaWxkKGRvYy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKTsKKyAgICAgIGZv
cm0uYWN0aW9uID0gdXJsOworICAgICAgZm9ybS5tZXRob2QgPSAiUE9TVCI7CisgICAgICBzdWJt
aXQudHlwZSA9ICJzdWJtaXQiOworICAgICAgc3VibWl0LmNsaWNrKCk7CisgICAgfQorICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICB9KTsKKworICBjb25zdCBqc29uID0g
YXdhaXQgKGF3YWl0IGZldGNoKHJlZGlyZWN0UGF0aCArICI/ZHVtcCZzdGFzaD0iICsgc3Rhc2gp
KS5qc29uKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhqc29uWzBdLCBvcmlnaW5zLkhUVFBfT1JJR0lO
KTsKKyAgYXNzZXJ0X2VxdWFscyhqc29uWzFdLCAibnVsbCIpOworfSwgIk9yaWdpbiBoZWFkZXIg
YW5kIFBPU1QgbmF2aWdhdGlvbiIpOworCitmdW5jdGlvbiBuYXZpZ2F0aW9uUmVmZXJyZXJQb2xp
Y3kocmVmZXJyZXJQb2xpY3ksIGRlc3RpbmF0aW9uLCBleHBlY3RlZE9yaWdpbikgeworICByZXR1
cm4gYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGNvbnN0IHN0YXNoID0gdG9rZW4oKTsKKyAgICBj
b25zdCByZWZlcnJlclBvbGljeVBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVmZXJy
ZXItcG9saWN5LnB5IjsKKyAgICBjb25zdCByZWRpcmVjdFBhdGggPSAiL2ZldGNoL29yaWdpbi9y
ZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKKworICAgIGxldCBwb3N0VXJsID0KKyAg
ICAgICAgICAgIChkZXN0aW5hdGlvbiA9PT0gInNhbWUtb3JpZ2luIiA/IG9yaWdpbnMuSFRUUF9P
UklHSU4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG9yaWdp
bnMuSFRUUF9SRU1PVEVfT1JJR0lOKSArCisgICAgICAgICAgICByZWRpcmVjdFBhdGggKyAiP3N0
YXNoPSIgKyBzdGFzaDsKKworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
ICAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICAgICAgZnJhbWUuc3JjID0gb3Jp
Z2lucy5IVFRQX09SSUdJTiArIHJlZmVycmVyUG9saWN5UGF0aCArCisgICAgICAgICAgICAgICAg
ICAiP3JlZmVycmVyUG9saWN5PSIgKyByZWZlcnJlclBvbGljeTsKKyAgICAgIHNlbGYuYWRkRXZl
bnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uIGxpc3RlbmVyKGUpIHsKKyAgICAgICAgaWYg
KGUuZGF0YSA9PT0gImxvYWRlZCIpIHsKKyAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAg
ZnJhbWUucmVtb3ZlKCk7CisgICAgICAgICAgc2VsZi5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNz
YWdlIiwgbGlzdGVuZXIpOworICAgICAgICB9IGVsc2UgaWYgKGUuZGF0YSA9PT0gImFjdGlvbiIp
IHsKKyAgICAgICAgICBjb25zdCBkb2MgPSBmcmFtZS5jb250ZW50RG9jdW1lbnQsCisgICAgICAg
ICAgICAgICAgZm9ybSA9IGRvYy5ib2R5LmFwcGVuZENoaWxkKGRvYy5jcmVhdGVFbGVtZW50KCJm
b3JtIikpLAorICAgICAgICAgICAgICAgIHN1Ym1pdCA9IGZvcm0uYXBwZW5kQ2hpbGQoZG9jLmNy
ZWF0ZUVsZW1lbnQoImlucHV0IikpOworICAgICAgICAgIGZvcm0uYWN0aW9uID0gcG9zdFVybDsK
KyAgICAgICAgICBmb3JtLm1ldGhvZCA9ICJQT1NUIjsKKyAgICAgICAgICBzdWJtaXQudHlwZSA9
ICJzdWJtaXQiOworICAgICAgICAgIHN1Ym1pdC5jbGljaygpOworICAgICAgICB9CisgICAgICB9
KTsKKyAgICB9KTsKKworICAgIGNvbnN0IGpzb24gPSBhd2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJl
Y3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkpLmpzb24oKTsKKworICAgIGFzc2VydF9l
cXVhbHMoanNvblswXSwgZXhwZWN0ZWRPcmlnaW4pOworICB9OworfQorCitmdW5jdGlvbiBmZXRj
aFJlZmVycmVyUG9saWN5KHJlZmVycmVyUG9saWN5LCBkZXN0aW5hdGlvbiwgZmV0Y2hNb2RlLCBl
eHBlY3RlZE9yaWdpbikgeworICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGNvbnN0
IHN0YXNoID0gdG9rZW4oKTsKKyAgICBjb25zdCByZWZlcnJlclBvbGljeVBhdGggPSAiL2ZldGNo
L29yaWdpbi9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LnB5IjsKKyAgICBjb25zdCByZWRpcmVj
dFBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsK
KworICAgIGxldCBmZXRjaFVybCA9CisgICAgICAgIChkZXN0aW5hdGlvbiA9PT0gInNhbWUtb3Jp
Z2luIiA/IG9yaWdpbnMuSFRUUF9PUklHSU4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDogb3JpZ2lucy5IVFRQX1JFTU9URV9PUklHSU4pICsKKyAgICAgICAgcmVkaXJl
Y3RQYXRoICsgIj9zdGFzaD0iICsgc3Rhc2g7CisKKyAgICBhd2FpdCBmZXRjaChmZXRjaFVybCwg
eyBtb2RlOiBmZXRjaE1vZGUsIG1ldGhvZDogIlBPU1QiICwgInJlZmVycmVyUG9saWN5IjogcmVm
ZXJyZXJQb2xpY3l9KTsKKworICAgIGNvbnN0IGpzb24gPSBhd2FpdCAoYXdhaXQgZmV0Y2gocmVk
aXJlY3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkpLmpzb24oKTsKKworICAgIGFzc2Vy
dF9lcXVhbHMoanNvblswXSwgZXhwZWN0ZWRPcmlnaW4pOworICB9OworfQorCitmdW5jdGlvbiBy
ZWZlcnJlclBvbGljeVRlc3RTdHJpbmcocmVmZXJyZXJQb2xpY3ksIGRlc3RpbmF0aW9uKSB7Cisg
IHJldHVybiAiT3JpZ2luIGhlYWRlciBhbmQgUE9TVCAiICsgZGVzdGluYXRpb24gKyAiIHdpdGgg
UmVmZXJyZXItUG9saWN5ICIgKworICAgICAgICAgcmVmZXJyZXJQb2xpY3k7Cit9CisKK1sKKyAg
eworICAgICJwb2xpY3kiOiAibm8tcmVmZXJyZXIiLAorICAgICJleHBlY3RlZE9yaWdpbkZvclNh
bWVPcmlnaW4iOiAibnVsbCIsCisgICAgImV4cGVjdGVkT3JpZ2luRm9yQ3Jvc3NPcmlnaW4iOiAi
bnVsbCIKKyAgfSwKKyAgeworICAgICJwb2xpY3kiOiAic2FtZS1vcmlnaW4iLAorICAgICJleHBl
Y3RlZE9yaWdpbkZvclNhbWVPcmlnaW4iOiBvcmlnaW5zLkhUVFBfT1JJR0lOLAorICAgICJleHBl
Y3RlZE9yaWdpbkZvckNyb3NzT3JpZ2luIjogIm51bGwiCisgIH0sCisgIHsKKyAgICAicG9saWN5
IjogIm9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiIsCisgICAgImV4cGVjdGVkT3JpZ2luRm9yU2Ft
ZU9yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4sCisgICAgImV4cGVjdGVkT3JpZ2luRm9yQ3Jv
c3NPcmlnaW4iOiBvcmlnaW5zLkhUVFBfT1JJR0lOCisgIH0sCisgIHsKKyAgICAicG9saWN5Ijog
Im5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JTYW1l
T3JpZ2luIjogb3JpZ2lucy5IVFRQX09SSUdJTiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JDcm9z
c09yaWdpbiI6IG9yaWdpbnMuSFRUUF9PUklHSU4KKyAgfSwKKyAgeworICAgICJwb2xpY3kiOiAi
dW5zYWZlLXVybCIsCisgICAgImV4cGVjdGVkT3JpZ2luRm9yU2FtZU9yaWdpbiI6IG9yaWdpbnMu
SFRUUF9PUklHSU4sCisgICAgImV4cGVjdGVkT3JpZ2luRm9yQ3Jvc3NPcmlnaW4iOiBvcmlnaW5z
LkhUVFBfT1JJR0lOCisgIH0sCitdLmZvckVhY2godGVzdE9iaiA9PiB7CisgIFsKKyAgICB7Cisg
ICAgICAibmFtZSI6ICJzYW1lLW9yaWdpbiIsCisgICAgICAiZXhwZWN0ZWRPcmlnaW4iOiB0ZXN0
T2JqLmV4cGVjdGVkT3JpZ2luRm9yU2FtZU9yaWdpbgorICAgIH0sCisgICAgeworICAgICAgIm5h
bWUiOiAiY3Jvc3Mtb3JpZ2luIiwKKyAgICAgICJleHBlY3RlZE9yaWdpbiI6IHRlc3RPYmouZXhw
ZWN0ZWRPcmlnaW5Gb3JDcm9zc09yaWdpbgorICAgIH0KKyAgXS5mb3JFYWNoKGRlc3RpbmF0aW9u
ID0+IHsKKyAgICAvLyBUZXN0IGZvcm0gUE9TVCBuYXZpZ2F0aW9uCisgICAgcHJvbWlzZV90ZXN0
KG5hdmlnYXRpb25SZWZlcnJlclBvbGljeSh0ZXN0T2JqLnBvbGljeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5hbWUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5leHBlY3RlZE9yaWdp
biksCisgICAgICAgICAgICAgICAgIHJlZmVycmVyUG9saWN5VGVzdFN0cmluZyh0ZXN0T2JqLnBv
bGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0
aW9uLm5hbWUgKyAiIG5hdmlnYXRpb24iKSk7CisgICAgLy8gVGVzdCBmZXRjaAorICAgIHByb21p
c2VfdGVzdChmZXRjaFJlZmVycmVyUG9saWN5KHRlc3RPYmoucG9saWN5LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5hbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIm5vLWNvcnMiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLmV4cGVjdGVkT3JpZ2luKSwKKyAgICAgICAgICAg
ICAgICAgcmVmZXJyZXJQb2xpY3lUZXN0U3RyaW5nKHRlc3RPYmoucG9saWN5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmFtZSArICIgZmV0
Y2ggbm8tY29ycyBtb2RlIikpOworCisgICAgLy8gV2hlbiB3ZSdyZSBkZWFsaW5nIHdpdGggQ09S
UyAobW9kZSBpcyAiY29ycyIpLCB3ZSBzaG91bGRuJ3QgdGFrZSB0aGUKKyAgICAvLyBSZWZlcnJl
ci1Qb2xpY3kgaW50byBhY2NvdW50CisgICAgcHJvbWlzZV90ZXN0KGZldGNoUmVmZXJyZXJQb2xp
Y3kodGVzdE9iai5wb2xpY3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVzdGluYXRpb24ubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Y29ycyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2lucy5IVFRQ
X09SSUdJTiksCisgICAgICAgICAgICAgICAgIHJlZmVycmVyUG9saWN5VGVzdFN0cmluZyh0ZXN0
T2JqLnBvbGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl
c3RpbmF0aW9uLm5hbWUgKyAiIGZldGNoIGNvcnMgbW9kZSIpKTsKKyAgfSk7Cit9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
b3JpZ2luL25vLWNvcnMuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55LWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMyMDViZmM4YmU5YjU2ZmJiNmY3NzBk
NmY2NzVjYzVhZmNhODQyMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L29yaWdpbi9uby1jb3JzLmFueS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw
LDAgQEAKLQotRkFJTCBPcmlnaW4gaGVhZGVyIGFuZCAzMDggcmVkaXJlY3QgYXNzZXJ0X2VxdWFs
czogc2Vjb25kIG9yaWdpbiBzaG91bGQgYmUgb3BhcXVlIGFuZCB0aGVyZWZvcmUgbnVsbCBleHBl
Y3RlZCAibnVsbCIgYnV0IGdvdCAibm8gT3JpZ2luIGhlYWRlciIKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8t
Y29ycy5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZv
ciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0t
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmln
aW4vbm8tY29ycy5hbnkuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5ZDFkM2Iz
YWYzNzUwZWM0MzU0OWEzZDk2YTA5MTJlMmNmNmIzOTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanMKKysrIC9kZXYvbnVsbApAQCAt
MSwyMCArMCwwIEBACi0vLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi91dGlscy5qcwotLy8gTUVUQTog
c2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMKLQotcHJvbWlzZV90ZXN0KGFzeW5j
IGZ1bmN0aW9uKCkgewotICBjb25zdCBzdGFzaCA9IHRva2VuKCksCi0gICAgICAgIG9yaWdpbnMg
PSBnZXRfaG9zdF9pbmZvKCksCi0gICAgICAgIHJlZGlyZWN0UGF0aCA9ICIvZmV0Y2gvb3JpZ2lu
L3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkiOwotCi0gIC8vIENyb3NzLW9yaWdpbiAt
PiBzYW1lLW9yaWdpbiB3aWxsIHJlc3VsdCBpbiBzZXR0aW5nIHRoZSB0YWludGVkIG9yaWdpbiBm
bGFnIGZvciB0aGUgc2Vjb25kCi0gIC8vIHJlcXVlc3QuCi0gIGxldCB1cmwgPSBvcmlnaW5zLkhU
VFBfT1JJR0lOICsgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0iICsgc3Rhc2g7Ci0gIHVybCA9IG9y
aWdpbnMuSFRUUF9SRU1PVEVfT1JJR0lOICsgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0iICsgc3Rh
c2ggKyAiJmxvY2F0aW9uPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXJsKTsKLQotICBhd2FpdCBm
ZXRjaCh1cmwsIHsgbW9kZTogIm5vLWNvcnMiLCBtZXRob2Q6ICJQT1NUIiB9KTsKLQotICBjb25z
dCBqc29uID0gYXdhaXQgKGF3YWl0IGZldGNoKHJlZGlyZWN0UGF0aCArICI/ZHVtcCZzdGFzaD0i
ICsgc3Rhc2gpKS5qc29uKCk7Ci0KLSAgYXNzZXJ0X2VxdWFscyhqc29uWzBdLCBvcmlnaW5zLkhU
VFBfT1JJR0lOLCAiZmlyc3Qgb3JpZ2luIHNob3VsZCBlcXVhbCB0aGlzIG9yaWdpbiIpOwotICBh
c3NlcnRfZXF1YWxzKGpzb25bMV0sICJudWxsIiwgInNlY29uZCBvcmlnaW4gc2hvdWxkIGJlIG9w
YXF1ZSBhbmQgdGhlcmVmb3JlIG51bGwiKTsKLX0sICJPcmlnaW4gaGVhZGVyIGFuZCAzMDggcmVk
aXJlY3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9u
by1jb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlMzIwNWJmYzhiZTliNTZmYmI2Zjc3MGQ2ZjY3NWNjNWFmY2E4NDIzLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLQotRkFJTCBPcmlnaW4g
aGVhZGVyIGFuZCAzMDggcmVkaXJlY3QgYXNzZXJ0X2VxdWFsczogc2Vjb25kIG9yaWdpbiBzaG91
bGQgYmUgb3BhcXVlIGFuZCB0aGVyZWZvcmUgbnVsbCBleHBlY3RlZCAibnVsbCIgYnV0IGdvdCAi
bm8gT3JpZ2luIGhlYWRlciIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdp
bi9uby1jb3JzLmFueS53b3JrZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXIuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZv
ciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0t
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRp
cmVjdC1hbmQtc3Rhc2gucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5CmluZGV4
IDFiMWI0NmJhMTc3YWQzYWY1NmVmODNlOTBiMDk3NGRkODFjZDNlYWUuLmFhOWViMzVkYjJiZGRi
NTlhY2IxYzdlYmNiYjk3MWFiMzhkMzQ0YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVj
dC1hbmQtc3Rhc2gucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weQpAQCAt
OSw3ICs5LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIG9yaWdpbl9saXN0
ID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZShrZXkpCiAKICAgICBpZiAiZHVtcCIgaW4gcmVx
dWVzdC5HRVQ6Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJjb250ZW50LVR5cGUiLCAi
YXBwbGljYXRpb24vanNvbiIpCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50
LVR5cGUiLCAiYXBwbGljYXRpb24vanNvbiIpCiAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBq
c29uLmR1bXBzKG9yaWdpbl9saXN0KQogICAgICAgICByZXR1cm4KIApAQCAtMjUsNSArMjUsNiBA
QCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCJMb2NhdGlvbiIsIHJlcXVlc3QuR0VULmZpcnN0KCJsb2NhdGlvbiIpKQogICAgICAgICBy
ZXR1cm4KIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJjb250ZW50LVR5cGUiLCAidGV4dC9w
bGFpbiIpCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJGaXggaHR0cHM6Ly9naXRodWIuY29tL3do
YXR3Zy9mZXRjaC9pc3N1ZXMvNzM3Li4uIgorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250
ZW50LVR5cGUiLCAidGV4dC9odG1sIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKQorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiPG1l
dGEgY2hhcnNldD11dGYtOD5cbjxib2R5PjxzY3JpcHQ+cGFyZW50LnBvc3RNZXNzYWdlKCdsb2Fk
ZWQnLCcqJyk8L3NjcmlwdD48L2JvZHk+IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZmVycmVy
LXBvbGljeS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3kucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJi
NzFlMzNiNTQxNjBjNDUxZjFiYmZjOGExNTc2MDBlZWI3MDU5ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2lu
L3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3kucHkKQEAgLTAsMCArMSw3IEBACitkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6CisgICAgaWYgInJlZmVycmVyUG9saWN5IiBpbiByZXF1ZXN0LkdF
VDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIlJlZmVycmVyLVBvbGljeSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuR0VULmZpcnN0KCJyZWZlcnJlclBvbGlj
eSIpKQorICAgIHJlc3BvbnNlLnN0YXR1cyA9IDIwMAorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIikKKyAgICByZXNwb25zZS5jb250ZW50ID0gIjxt
ZXRhIGNoYXJzZXQ9dXRmLTg+XG48Ym9keT48c2NyaXB0PnBhcmVudC5wb3N0TWVzc2FnZSgnYWN0
aW9uJywnKicpPC9zY3JpcHQ+PC9ib2R5PiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvb3JpZ2luL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCA2OGJhYmM1MjQ4ZTFkYTJk
YTIzMjc5ZTBiNDUxYjQ3OTZiODZmMDkwLi5iNWY2NTU2YWQ1Y2IwMTMxNDE3OTc0NzA4Yjc0MGY0
MjVkNmY2MmUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xNSwzICsxNSw0IEBAIE5vbmUKIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4v
cmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdp
bi93M2MtaW1wb3J0LmxvZwppbmRleCAzMDI0MDdkZmRjMWJkNDYxZDA5YTcwZjQzNDcxNGFkMDdk
YmYxM2NlLi40OTI2ZmY1YzBjODAxMDU5ZWJhY2YyYjgzOGQ2YjE4MGU4NDNmYWNjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29y
aWdpbi93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi93M2MtaW1wb3J0LmxvZwpAQCAtMTQsNCArMTQsNCBA
QCBQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndp
bmRvdy5qcwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393073</attachid>
            <date>2020-03-09 14:27:01 -0700</date>
            <delta_ts>2020-03-10 04:27:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199261-20200309222658.patch</filename>
            <type>text/plain</type>
            <size>25023</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI4NWY5ZmZkMTM5MDcw
MjUzNDQ1M2MxYTg0ODA5MGYxMzUxMTAyMi4uODE0MmIyMWRlM2Y2ZGUyODRlZjliODAzNTgxYzM3
NmI4MzQyNjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTA5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmlnaW4gaGVh
ZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IENhbGwgZ2VuZXJhdGVPcmlnaW5IZWFkZXIgaW4gbW9yZSBwbGFjZXMgc28gdGhhdCB3ZSBjb21w
bHkKKyAgICAgICAgbW9yZSB3aXRoICJhcHBlbmQgYSByZXF1ZXN0IGBPcmlnaW5gIGhlYWRlciIg
YWxnb3JpdGhtIFsxXS4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbAorCisgICAgICAgIFsxXSBo
dHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jYXBwZW5kLWEtcmVxdWVzdC1vcmlnaW4taGVh
ZGVyCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZVJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0Ojp1cGRhdGVSZWZlcnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMpOgorCiAyMDIw
LTAzLTA5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVuYW1lIHVy
bFNlbGVjdGVkIHRvIGNoYW5nZUxvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAppbmRleCAzYjVjMGE4YmNhNGE5NjEyN2ViYzliNTEzNjc0ZThhNDIwNzkyMDIxLi4wZjRh
NTI4M2Y1YTNlZjIyZDdlNDIwM2U2NjBhY2Y0MWYyNTQ1ZjE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKQEAgLTQ5Niw3ICs0OTYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpz
dWJtaXRGb3JtKFJlZjxGb3JtU3VibWlzc2lvbj4mJiBzdWJtaXNzaW9uKQogICAgICAgICBtX3N1
Ym1pdHRlZEZvcm1VUkwgPSBzdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCk7CiAKICAgICBzdWJtaXNz
aW9uLT5zZXRSZWZlcnJlcihvdXRnb2luZ1JlZmVycmVyKCkpOwotICAgIHN1Ym1pc3Npb24tPnNl
dE9yaWdpbihvdXRnb2luZ09yaWdpbigpKTsKKyAgICBzdWJtaXNzaW9uLT5zZXRPcmlnaW4oU2Vj
dXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fZnJhbWUuZG9jdW1lbnQoKS0+cmVm
ZXJyZXJQb2xpY3koKSwgc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBtX2ZyYW1lLmRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCkpKTsKIAogICAgIHRhcmdldEZyYW1lLT5uYXZpZ2F0aW9uU2No
ZWR1bGVyKCkuc2NoZWR1bGVGb3JtU3VibWlzc2lvbihXVEZNb3ZlKHN1Ym1pc3Npb24pKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVx
dWVzdC5jcHAKaW5kZXggNWYwOGI4NTY0Zjk1Njc2OWNhMTBiZGFhZTQ2MDgyYmM4MDRjMzk0Yi4u
MDZlMWRkMWZlMzgyZDJjZTdlYTc1ZTM4OTA4YTQwNjAzMTEwYTUyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKQEAg
LTIyNCwxNiArMjI0LDE5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVSZWZl
cnJlck9yaWdpbkFuZFVzZXJBZ2VudEhlYWRlcnMoRnJhbWVMb2FkZXImCiB7CiAgICAgLy8gSW1w
bGVtZW50aW5nIHN0ZXAgOSB0byAxMSBvZiBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8j
aHR0cC1uZXR3b3JrLW9yLWNhY2hlLWZldGNoIGFzIG9mIDE2IE1hcmNoIDIwMTgKICAgICBTdHJp
bmcgb3V0Z29pbmdSZWZlcnJlciA9IGZyYW1lTG9hZGVyLm91dGdvaW5nUmVmZXJyZXIoKTsKLSAg
ICBTdHJpbmcgb3V0Z29pbmdPcmlnaW4gPSBmcmFtZUxvYWRlci5vdXRnb2luZ09yaWdpbigpOwot
ICAgIGlmIChtX3Jlc291cmNlUmVxdWVzdC5oYXNIVFRQUmVmZXJyZXIoKSkgeworICAgIGlmICht
X3Jlc291cmNlUmVxdWVzdC5oYXNIVFRQUmVmZXJyZXIoKSkKICAgICAgICAgb3V0Z29pbmdSZWZl
cnJlciA9IG1fcmVzb3VyY2VSZXF1ZXN0Lmh0dHBSZWZlcnJlcigpOwotICAgICAgICBvdXRnb2lu
Z09yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG91dGdvaW5nUmVmZXJy
ZXIpLT50b1N0cmluZygpOwotICAgIH0KICAgICB1cGRhdGVSZXF1ZXN0UmVmZXJyZXIobV9yZXNv
dXJjZVJlcXVlc3QsIG1fb3B0aW9ucy5yZWZlcnJlclBvbGljeSwgb3V0Z29pbmdSZWZlcnJlcik7
CisgICAgZnJhbWVMb2FkZXIuYXBwbHlVc2VyQWdlbnRJZk5lZWRlZChtX3Jlc291cmNlUmVxdWVz
dCk7CiAKKyAgICBpZiAoIW1fcmVzb3VyY2VSZXF1ZXN0Lmh0dHBPcmlnaW4oKS5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybjsKKyAgICBTdHJpbmcgb3V0Z29pbmdPcmlnaW47CisgICAgaWYgKG1f
b3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycykKKyAgICAgICAgb3V0Z29p
bmdPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhvdXRnb2luZ1JlZmVy
cmVyKS0+dG9TdHJpbmcoKTsKKyAgICBlbHNlCisgICAgICAgIG91dGdvaW5nT3JpZ2luID0gU2Vj
dXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fb3B0aW9ucy5yZWZlcnJlclBvbGlj
eSwgbV9yZXNvdXJjZVJlcXVlc3QudXJsKCksIFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3Ry
aW5nKG91dGdvaW5nUmVmZXJyZXIpKTsKICAgICBGcmFtZUxvYWRlcjo6YWRkSFRUUE9yaWdpbklm
TmVlZGVkKG1fcmVzb3VyY2VSZXF1ZXN0LCBvdXRnb2luZ09yaWdpbik7Ci0KLSAgICBmcmFtZUxv
YWRlci5hcHBseVVzZXJBZ2VudElmTmVlZGVkKG1fcmVzb3VyY2VSZXF1ZXN0KTsKIH0KIAogYm9v
bCBpc1JlcXVlc3RDcm9zc09yaWdpbihTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBjb25zdCBVUkwm
IHJlcXVlc3RVUkwsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDdjOGQzMGE4OWQxMWE2ZDI2ZTQ1ZGM3YmI1YmZj
OTJkNzU5OTE2MTguLmNmOWEyYjYxNWI5Njk1ZGZkMzMwMTkyZDQ4ZjU5MzVkOGJhMGQ2ZjIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAzLTA5
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWxpZ24gd2l0aCBPcmln
aW4gaGVhZGVyIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5OTI2MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgIEltcG9ydCBmZXRjaC9vcmlnaW4gdGVzdHMuCisKKyAgICAgICAgKiByZXNvdXJjZXMv
aW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lmh0bWwuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuanM6IEFkZGVkLgorICAgICAgICAocHJv
bWlzZV90ZXN0LmFzeW5jIGNvbnN0KToKKyAgICAgICAgKHByb21pc2VfdGVzdCk6CisgICAgICAg
IChhd2FpdC5uZXcuUHJvbWlzZSk6CisgICAgICAgIChhc3luYyBjb25zdCk6CisgICAgICAgIChu
YXZpZ2F0aW9uUmVmZXJyZXJQb2xpY3kpOgorICAgICAgICAoZmV0Y2hSZWZlcnJlclBvbGljeSk6
CisgICAgICAgIChyZWZlcnJlclBvbGljeVRlc3RTdHJpbmcpOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnktZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnku
anM6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9u
by1jb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMv
cmVkaXJlY3QtYW5kLXN0YXNoLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LnB5OiBB
ZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9vcmlnaW4vcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9vcmlnaW4vdzNjLWltcG9ydC5sb2c6CisKIDIwMjAtMDMtMDkgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggV1BUIHRlc3QgcmVkaXJlY3Qt
bW9kZS5hbnkuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291
cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCBlYmYwOWYzNTcxMTYxNWY2
NWIxZTYzOTU3OThiOTRhMzQ3MzUxYjBmLi43ZTFlM2QwZTBmY2NjZTY4YzBlYzA0NDhkYzhmMjg2
OWI5YThmN2M3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2Vz
L2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTc4LDYgKzE3OCw3IEBACiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL2FwaSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9jb3JzIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvb3JpZ2luIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvcmFu
Z2UiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZnVsbHNj
cmVlbiI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3ctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmln
aW4vYXNzb3J0ZWQud2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Y2I1MjQyOTNmY2U1
YzRkNDFkYzFjZGFmYzA4YWVlMjRiYTgzNjNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQu
d2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACisKK0ZBSUwgT3JpZ2luIGhlYWRl
ciBhbmQgMzA4IHJlZGlyZWN0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJudWxsIiBidXQgZ290
ICJubyBPcmlnaW4gaGVhZGVyIgorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBHRVQgbmF2aWdhdGlv
biAKK0ZBSUwgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBuYXZpZ2F0aW9uIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJudWxsIiBidXQgZ290ICJubyBPcmlnaW4gaGVhZGVyIgorUEFTUyBPcmlnaW4g
aGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xp
Y3kgbm8tcmVmZXJyZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4g
ZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAorUEFT
UyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRo
IFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9T
VCBjcm9zcy1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJl
ciAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2ggbm8tY29y
cyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAorUEFTUyBPcmlnaW4gaGVh
ZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Q
b2xpY3kgbm8tcmVmZXJyZXIgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmln
aW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdpbiAKK1BBU1MgT3Jp
Z2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBS
ZWZlcnJlci1Qb2xpY3kgc2FtZS1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qg
c2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IHNhbWUtb3Jp
Z2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBuYXZpZ2F0aW9u
IHdpdGggUmVmZXJyZXItUG9saWN5IHNhbWUtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFu
ZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xp
Y3kgc2FtZS1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2lu
IGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBzYW1lLW9yaWdpbiAKK1BBU1Mg
T3JpZ2luIGhlYWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJy
ZXItUG9saWN5IG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiAKK1BBU1MgT3JpZ2luIGhlYWRlciBh
bmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xp
Y3kgb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NU
IHNhbWUtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBvcmlnaW4t
d2hlbi1jcm9zcy1vcmlnaW4gCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3Jp
Z2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Qb2xpY3kgb3JpZ2luLXdoZW4tY3Jvc3Mtb3Jp
Z2luIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBuby1j
b3JzIG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIAor
UEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUg
d2l0aCBSZWZlcnJlci1Qb2xpY3kgb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIAorUEFTUyBPcmln
aW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBSZWZlcnJlci1Q
b2xpY3kgbm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5k
IFBPU1Qgc2FtZS1vcmlnaW4gZmV0Y2ggbm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5
IG5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NU
IHNhbWUtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZl
cnJlci13aGVuLWRvd25ncmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1v
cmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlci13aGVuLWRv
d25ncmFkZSAKK1BBU1MgT3JpZ2luIGhlYWRlciBhbmQgUE9TVCBjcm9zcy1vcmlnaW4gZmV0Y2gg
bm8tY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyLXdoZW4tZG93bmdy
YWRlIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBjb3Jz
IG1vZGUgd2l0aCBSZWZlcnJlci1Qb2xpY3kgbm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUgCitQ
QVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gbmF2aWdhdGlvbiB3aXRoIFJl
ZmVycmVyLVBvbGljeSB1bnNhZmUtdXJsIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNh
bWUtb3JpZ2luIGZldGNoIG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSB1bnNhZmUt
dXJsIAorUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIGNvcnMg
bW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSB1bnNhZmUtdXJsIAorUEFTUyBPcmlnaW4gaGVhZGVy
IGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IHVu
c2FmZS11cmwgCitQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgY3Jvc3Mtb3JpZ2luIGZldGNo
IG5vLWNvcnMgbW9kZSB3aXRoIFJlZmVycmVyLVBvbGljeSB1bnNhZmUtdXJsIAorUEFTUyBPcmln
aW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBjb3JzIG1vZGUgd2l0aCBSZWZl
cnJlci1Qb2xpY3kgdW5zYWZlLXVybCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29y
aWdpbi9hc3NvcnRlZC53aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVk
NTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93
Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vYXNzb3J0ZWQud2luZG93LmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4v
YXNzb3J0ZWQud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllODMyNzI0YTcwZGRmNDA2NTExNTU1ZTc5
MWM5ZWFjNTkwMjM5N2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuanMKQEAg
LTAsMCArMSwyMDIgQEAKKy8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL3V0aWxzLmpzCisvLyBNRVRB
OiBzY3JpcHQ9L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcworCitjb25zdCBvcmlnaW5zID0g
Z2V0X2hvc3RfaW5mbygpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICBj
b25zdCBzdGFzaCA9IHRva2VuKCksCisgICAgICAgIHJlZGlyZWN0UGF0aCA9ICIvZmV0Y2gvb3Jp
Z2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkiOworCisgIC8vIENyb3NzLW9yaWdp
biAtPiBzYW1lLW9yaWdpbiB3aWxsIHJlc3VsdCBpbiBzZXR0aW5nIHRoZSB0YWludGVkIG9yaWdp
biBmbGFnIGZvciB0aGUgc2Vjb25kCisgIC8vIHJlcXVlc3QuCisgIGxldCB1cmwgPSBvcmlnaW5z
LkhUVFBfT1JJR0lOICsgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0iICsgc3Rhc2g7CisgIHVybCA9
IG9yaWdpbnMuSFRUUF9SRU1PVEVfT1JJR0lOICsgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0iICsg
c3Rhc2ggKyAiJmxvY2F0aW9uPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXJsKTsKKworICBhd2Fp
dCBmZXRjaCh1cmwsIHsgbW9kZTogIm5vLWNvcnMiLCBtZXRob2Q6ICJQT1NUIiB9KTsKKworICBj
b25zdCBqc29uID0gYXdhaXQgKGF3YWl0IGZldGNoKHJlZGlyZWN0UGF0aCArICI/ZHVtcCZzdGFz
aD0iICsgc3Rhc2gpKS5qc29uKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhqc29uWzBdLCBvcmlnaW5z
LkhUVFBfT1JJR0lOKTsKKyAgYXNzZXJ0X2VxdWFscyhqc29uWzFdLCAibnVsbCIpOworfSwgIk9y
aWdpbiBoZWFkZXIgYW5kIDMwOCByZWRpcmVjdCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICBjb25zdCBzdGFzaCA9IHRva2VuKCksCisgICAgICAgIHJlZGlyZWN0UGF0
aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkiOworCisg
IGxldCB1cmwgPSBvcmlnaW5zLkhUVFBfT1JJR0lOICsgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0i
ICsgc3Rhc2g7CisgIHVybCA9IG9yaWdpbnMuSFRUUF9SRU1PVEVfT1JJR0lOICsgcmVkaXJlY3RQ
YXRoICsgIj9zdGFzaD0iICsgc3Rhc2ggKyAiJmxvY2F0aW9uPSIgKyBlbmNvZGVVUklDb21wb25l
bnQodXJsKTsKKworICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgIGZyYW1lLnNyYyA9
IHVybDsKKyAgICBmcmFtZS5vbmxvYWQgPSAoKSA9PiB7CisgICAgICByZXNvbHZlKCk7CisgICAg
ICBmcmFtZS5yZW1vdmUoKTsKKyAgICB9CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChm
cmFtZSk7CisgIH0pOworCisgIGNvbnN0IGpzb24gPSBhd2FpdCAoYXdhaXQgZmV0Y2gocmVkaXJl
Y3RQYXRoICsgIj9kdW1wJnN0YXNoPSIgKyBzdGFzaCkpLmpzb24oKTsKKworICBhc3NlcnRfZXF1
YWxzKGpzb25bMF0sICJubyBPcmlnaW4gaGVhZGVyIik7CisgIGFzc2VydF9lcXVhbHMoanNvblsx
XSwgIm5vIE9yaWdpbiBoZWFkZXIiKTsKK30sICJPcmlnaW4gaGVhZGVyIGFuZCBHRVQgbmF2aWdh
dGlvbiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICBjb25zdCBzdGFz
aCA9IHRva2VuKCksCisgICAgICAgIHJlZGlyZWN0UGF0aCA9ICIvZmV0Y2gvb3JpZ2luL3Jlc291
cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkiOworCisgIGxldCB1cmwgPSBvcmlnaW5zLkhUVFBf
T1JJR0lOICsgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0iICsgc3Rhc2g7CisgIHVybCA9IG9yaWdp
bnMuSFRUUF9SRU1PVEVfT1JJR0lOICsgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0iICsgc3Rhc2gg
KyAiJmxvY2F0aW9uPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXJsKTsKKworICBhd2FpdCBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOworICAgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGUg
PT4geworICAgICAgaWYgKGUuZGF0YSA9PT0gImxvYWRlZCIpIHsKKyAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICAgIH0KKyAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisgICAgZnJhbWUub25sb2FkID0gKCkgPT4geworICAgICAgY29uc3QgZG9jID0gZnJhbWUu
Y29udGVudERvY3VtZW50LAorICAgICAgICAgICAgZm9ybSA9IGRvYy5ib2R5LmFwcGVuZENoaWxk
KGRvYy5jcmVhdGVFbGVtZW50KCJmb3JtIikpLAorICAgICAgICAgICAgc3VibWl0ID0gZm9ybS5h
cHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CisgICAgICBmb3JtLmFjdGlv
biA9IHVybDsKKyAgICAgIGZvcm0ubWV0aG9kID0gIlBPU1QiOworICAgICAgc3VibWl0LnR5cGUg
PSAic3VibWl0IjsKKyAgICAgIHN1Ym1pdC5jbGljaygpOworICAgIH0KKyAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgfSk7CisKKyAgY29uc3QganNvbiA9IGF3YWl0IChh
d2FpdCBmZXRjaChyZWRpcmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNoKSkuanNvbigp
OworCisgIGFzc2VydF9lcXVhbHMoanNvblswXSwgb3JpZ2lucy5IVFRQX09SSUdJTik7CisgIGFz
c2VydF9lcXVhbHMoanNvblsxXSwgIm51bGwiKTsKK30sICJPcmlnaW4gaGVhZGVyIGFuZCBQT1NU
IG5hdmlnYXRpb24iKTsKKworZnVuY3Rpb24gbmF2aWdhdGlvblJlZmVycmVyUG9saWN5KHJlZmVy
cmVyUG9saWN5LCBkZXN0aW5hdGlvbiwgZXhwZWN0ZWRPcmlnaW4pIHsKKyAgcmV0dXJuIGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCBzdGFzaCA9IHRva2VuKCk7CisgICAgY29uc3QgcmVm
ZXJyZXJQb2xpY3lQYXRoID0gIi9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZmVycmVyLXBvbGlj
eS5weSI7CisgICAgY29uc3QgcmVkaXJlY3RQYXRoID0gIi9mZXRjaC9vcmlnaW4vcmVzb3VyY2Vz
L3JlZGlyZWN0LWFuZC1zdGFzaC5weSI7CisKKyAgICBsZXQgcG9zdFVybCA9CisgICAgICAgICAg
ICAoZGVzdGluYXRpb24gPT09ICJzYW1lLW9yaWdpbiIgPyBvcmlnaW5zLkhUVFBfT1JJR0lOCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBvcmlnaW5zLkhUVFBf
UkVNT1RFX09SSUdJTikgKworICAgICAgICAgICAgcmVkaXJlY3RQYXRoICsgIj9zdGFzaD0iICsg
c3Rhc2g7CisKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIGNvbnN0
IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgICAgIGZyYW1lLnNyYyA9IG9yaWdpbnMuSFRU
UF9PUklHSU4gKyByZWZlcnJlclBvbGljeVBhdGggKworICAgICAgICAgICAgICAgICAgIj9yZWZl
cnJlclBvbGljeT0iICsgcmVmZXJyZXJQb2xpY3k7CisgICAgICBzZWxmLmFkZEV2ZW50TGlzdGVu
ZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbiBsaXN0ZW5lcihlKSB7CisgICAgICAgIGlmIChlLmRhdGEg
PT09ICJsb2FkZWQiKSB7CisgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgIGZyYW1lLnJl
bW92ZSgpOworICAgICAgICAgIHNlbGYucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGxp
c3RlbmVyKTsKKyAgICAgICAgfSBlbHNlIGlmIChlLmRhdGEgPT09ICJhY3Rpb24iKSB7CisgICAg
ICAgICAgY29uc3QgZG9jID0gZnJhbWUuY29udGVudERvY3VtZW50LAorICAgICAgICAgICAgICAg
IGZvcm0gPSBkb2MuYm9keS5hcHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudCgiZm9ybSIpKSwK
KyAgICAgICAgICAgICAgICBzdWJtaXQgPSBmb3JtLmFwcGVuZENoaWxkKGRvYy5jcmVhdGVFbGVt
ZW50KCJpbnB1dCIpKTsKKyAgICAgICAgICBmb3JtLmFjdGlvbiA9IHBvc3RVcmw7CisgICAgICAg
ICAgZm9ybS5tZXRob2QgPSAiUE9TVCI7CisgICAgICAgICAgc3VibWl0LnR5cGUgPSAic3VibWl0
IjsKKyAgICAgICAgICBzdWJtaXQuY2xpY2soKTsKKyAgICAgICAgfQorICAgICAgfSk7CisgICAg
fSk7CisKKyAgICBjb25zdCBqc29uID0gYXdhaXQgKGF3YWl0IGZldGNoKHJlZGlyZWN0UGF0aCAr
ICI/ZHVtcCZzdGFzaD0iICsgc3Rhc2gpKS5qc29uKCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGpz
b25bMF0sIGV4cGVjdGVkT3JpZ2luKTsKKyAgfTsKK30KKworZnVuY3Rpb24gZmV0Y2hSZWZlcnJl
clBvbGljeShyZWZlcnJlclBvbGljeSwgZGVzdGluYXRpb24sIGZldGNoTW9kZSwgZXhwZWN0ZWRP
cmlnaW4pIHsKKyAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCBzdGFzaCA9
IHRva2VuKCk7CisgICAgY29uc3QgcmVmZXJyZXJQb2xpY3lQYXRoID0gIi9mZXRjaC9vcmlnaW4v
cmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS5weSI7CisgICAgY29uc3QgcmVkaXJlY3RQYXRoID0g
Ii9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weSI7CisKKyAgICBs
ZXQgZmV0Y2hVcmwgPQorICAgICAgICAoZGVzdGluYXRpb24gPT09ICJzYW1lLW9yaWdpbiIgPyBv
cmlnaW5zLkhUVFBfT1JJR0lOCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6IG9yaWdpbnMuSFRUUF9SRU1PVEVfT1JJR0lOKSArCisgICAgICAgIHJlZGlyZWN0UGF0aCAr
ICI/c3Rhc2g9IiArIHN0YXNoOworCisgICAgYXdhaXQgZmV0Y2goZmV0Y2hVcmwsIHsgbW9kZTog
ZmV0Y2hNb2RlLCBtZXRob2Q6ICJQT1NUIiAsICJyZWZlcnJlclBvbGljeSI6IHJlZmVycmVyUG9s
aWN5fSk7CisKKyAgICBjb25zdCBqc29uID0gYXdhaXQgKGF3YWl0IGZldGNoKHJlZGlyZWN0UGF0
aCArICI/ZHVtcCZzdGFzaD0iICsgc3Rhc2gpKS5qc29uKCk7CisKKyAgICBhc3NlcnRfZXF1YWxz
KGpzb25bMF0sIGV4cGVjdGVkT3JpZ2luKTsKKyAgfTsKK30KKworZnVuY3Rpb24gcmVmZXJyZXJQ
b2xpY3lUZXN0U3RyaW5nKHJlZmVycmVyUG9saWN5LCBkZXN0aW5hdGlvbikgeworICByZXR1cm4g
Ik9yaWdpbiBoZWFkZXIgYW5kIFBPU1QgIiArIGRlc3RpbmF0aW9uICsgIiB3aXRoIFJlZmVycmVy
LVBvbGljeSAiICsKKyAgICAgICAgIHJlZmVycmVyUG9saWN5OworfQorCitbCisgIHsKKyAgICAi
cG9saWN5IjogIm5vLXJlZmVycmVyIiwKKyAgICAiZXhwZWN0ZWRPcmlnaW5Gb3JTYW1lT3JpZ2lu
IjogIm51bGwiLAorICAgICJleHBlY3RlZE9yaWdpbkZvckNyb3NzT3JpZ2luIjogIm51bGwiCisg
IH0sCisgIHsKKyAgICAicG9saWN5IjogInNhbWUtb3JpZ2luIiwKKyAgICAiZXhwZWN0ZWRPcmln
aW5Gb3JTYW1lT3JpZ2luIjogb3JpZ2lucy5IVFRQX09SSUdJTiwKKyAgICAiZXhwZWN0ZWRPcmln
aW5Gb3JDcm9zc09yaWdpbiI6ICJudWxsIgorICB9LAorICB7CisgICAgInBvbGljeSI6ICJvcmln
aW4td2hlbi1jcm9zcy1vcmlnaW4iLAorICAgICJleHBlY3RlZE9yaWdpbkZvclNhbWVPcmlnaW4i
OiBvcmlnaW5zLkhUVFBfT1JJR0lOLAorICAgICJleHBlY3RlZE9yaWdpbkZvckNyb3NzT3JpZ2lu
Ijogb3JpZ2lucy5IVFRQX09SSUdJTgorICB9LAorICB7CisgICAgInBvbGljeSI6ICJuby1yZWZl
cnJlci13aGVuLWRvd25ncmFkZSIsCisgICAgImV4cGVjdGVkT3JpZ2luRm9yU2FtZU9yaWdpbiI6
IG9yaWdpbnMuSFRUUF9PUklHSU4sCisgICAgImV4cGVjdGVkT3JpZ2luRm9yQ3Jvc3NPcmlnaW4i
OiBvcmlnaW5zLkhUVFBfT1JJR0lOCisgIH0sCisgIHsKKyAgICAicG9saWN5IjogInVuc2FmZS11
cmwiLAorICAgICJleHBlY3RlZE9yaWdpbkZvclNhbWVPcmlnaW4iOiBvcmlnaW5zLkhUVFBfT1JJ
R0lOLAorICAgICJleHBlY3RlZE9yaWdpbkZvckNyb3NzT3JpZ2luIjogb3JpZ2lucy5IVFRQX09S
SUdJTgorICB9LAorXS5mb3JFYWNoKHRlc3RPYmogPT4geworICBbCisgICAgeworICAgICAgIm5h
bWUiOiAic2FtZS1vcmlnaW4iLAorICAgICAgImV4cGVjdGVkT3JpZ2luIjogdGVzdE9iai5leHBl
Y3RlZE9yaWdpbkZvclNhbWVPcmlnaW4KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogImNy
b3NzLW9yaWdpbiIsCisgICAgICAiZXhwZWN0ZWRPcmlnaW4iOiB0ZXN0T2JqLmV4cGVjdGVkT3Jp
Z2luRm9yQ3Jvc3NPcmlnaW4KKyAgICB9CisgIF0uZm9yRWFjaChkZXN0aW5hdGlvbiA9PiB7Cisg
ICAgLy8gVGVzdCBmb3JtIFBPU1QgbmF2aWdhdGlvbgorICAgIHByb21pc2VfdGVzdChuYXZpZ2F0
aW9uUmVmZXJyZXJQb2xpY3kodGVzdE9iai5wb2xpY3ksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5uYW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24uZXhwZWN0ZWRPcmlnaW4pLAorICAg
ICAgICAgICAgICAgICByZWZlcnJlclBvbGljeVRlc3RTdHJpbmcodGVzdE9iai5wb2xpY3ksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5uYW1l
ICsgIiBuYXZpZ2F0aW9uIikpOworICAgIC8vIFRlc3QgZmV0Y2gKKyAgICBwcm9taXNlX3Rlc3Qo
ZmV0Y2hSZWZlcnJlclBvbGljeSh0ZXN0T2JqLnBvbGljeSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5uYW1lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJuby1jb3JzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkZXN0aW5hdGlvbi5leHBlY3RlZE9yaWdpbiksCisgICAgICAgICAgICAgICAgIHJl
ZmVycmVyUG9saWN5VGVzdFN0cmluZyh0ZXN0T2JqLnBvbGljeSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5hbWUgKyAiIGZldGNoIG5vLWNv
cnMgbW9kZSIpKTsKKworICAgIC8vIFdoZW4gd2UncmUgZGVhbGluZyB3aXRoIENPUlMgKG1vZGUg
aXMgImNvcnMiKSwgd2Ugc2hvdWxkbid0IHRha2UgdGhlCisgICAgLy8gUmVmZXJyZXItUG9saWN5
IGludG8gYWNjb3VudAorICAgIHByb21pc2VfdGVzdChmZXRjaFJlZmVycmVyUG9saWN5KHRlc3RP
YmoucG9saWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0
aW9uLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvcnMiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbnMuSFRUUF9PUklHSU4p
LAorICAgICAgICAgICAgICAgICByZWZlcnJlclBvbGljeVRlc3RTdHJpbmcodGVzdE9iai5wb2xp
Y3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlv
bi5uYW1lICsgIiBmZXRjaCBjb3JzIG1vZGUiKSk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9u
by1jb3JzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMjA1YmZjOGJlOWI1NmZiYjZmNzcwZDZmNjc1Y2M1
YWZjYTg0MjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4v
bm8tY29ycy5hbnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0K
LUZBSUwgT3JpZ2luIGhlYWRlciBhbmQgMzA4IHJlZGlyZWN0IGFzc2VydF9lcXVhbHM6IHNlY29u
ZCBvcmlnaW4gc2hvdWxkIGJlIG9wYXF1ZSBhbmQgdGhlcmVmb3JlIG51bGwgZXhwZWN0ZWQgIm51
bGwiIGJ1dCBnb3QgIm5vIE9yaWdpbiBoZWFkZXIiCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L29yaWdpbi9uby1jb3JzLmFueS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
MzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSArMCwwIEBACi08IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNv
cnMuYW55LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWQxZDNiM2FmMzc1MGVj
NDM1NDlhM2Q5NmEwOTEyZTJjZjZiMzk5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAs
MCBAQAotLy8gTUVUQTogc2NyaXB0PS9jb21tb24vdXRpbHMuanMKLS8vIE1FVEE6IHNjcmlwdD0v
Y29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCi0KLXByb21pc2VfdGVzdChhc3luYyBmdW5jdGlv
bigpIHsKLSAgY29uc3Qgc3Rhc2ggPSB0b2tlbigpLAotICAgICAgICBvcmlnaW5zID0gZ2V0X2hv
c3RfaW5mbygpLAotICAgICAgICByZWRpcmVjdFBhdGggPSAiL2ZldGNoL29yaWdpbi9yZXNvdXJj
ZXMvcmVkaXJlY3QtYW5kLXN0YXNoLnB5IjsKLQotICAvLyBDcm9zcy1vcmlnaW4gLT4gc2FtZS1v
cmlnaW4gd2lsbCByZXN1bHQgaW4gc2V0dGluZyB0aGUgdGFpbnRlZCBvcmlnaW4gZmxhZyBmb3Ig
dGhlIHNlY29uZAotICAvLyByZXF1ZXN0LgotICBsZXQgdXJsID0gb3JpZ2lucy5IVFRQX09SSUdJ
TiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoOwotICB1cmwgPSBvcmlnaW5zLkhU
VFBfUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0UGF0aCArICI/c3Rhc2g9IiArIHN0YXNoICsgIiZs
b2NhdGlvbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7Ci0KLSAgYXdhaXQgZmV0Y2godXJs
LCB7IG1vZGU6ICJuby1jb3JzIiwgbWV0aG9kOiAiUE9TVCIgfSk7Ci0KLSAgY29uc3QganNvbiA9
IGF3YWl0IChhd2FpdCBmZXRjaChyZWRpcmVjdFBhdGggKyAiP2R1bXAmc3Rhc2g9IiArIHN0YXNo
KSkuanNvbigpOwotCi0gIGFzc2VydF9lcXVhbHMoanNvblswXSwgb3JpZ2lucy5IVFRQX09SSUdJ
TiwgImZpcnN0IG9yaWdpbiBzaG91bGQgZXF1YWwgdGhpcyBvcmlnaW4iKTsKLSAgYXNzZXJ0X2Vx
dWFscyhqc29uWzFdLCAibnVsbCIsICJzZWNvbmQgb3JpZ2luIHNob3VsZCBiZSBvcGFxdWUgYW5k
IHRoZXJlZm9yZSBudWxsIik7Ci19LCAiT3JpZ2luIGhlYWRlciBhbmQgMzA4IHJlZGlyZWN0Iik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTMy
MDViZmM4YmU5YjU2ZmJiNmY3NzBkNmY2NzVjYzVhZmNhODQyMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9uby1jb3JzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0KLUZBSUwgT3JpZ2luIGhlYWRlciBh
bmQgMzA4IHJlZGlyZWN0IGFzc2VydF9lcXVhbHM6IHNlY29uZCBvcmlnaW4gc2hvdWxkIGJlIG9w
YXF1ZSBhbmQgdGhlcmVmb3JlIG51bGwgZXhwZWN0ZWQgIm51bGwiIGJ1dCBnb3QgIm5vIE9yaWdp
biBoZWFkZXIiCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL25vLWNvcnMuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29y
cy5hbnkud29ya2VyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzODI5MTM1
MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkud29ya2VyLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSArMCwwIEBACi08IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5k
LXN0YXNoLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weQppbmRleCAxYjFiNDZi
YTE3N2FkM2FmNTZlZjgzZTkwYjA5NzRkZDgxY2QzZWFlLi5hYTllYjM1ZGIyYmRkYjU5YWNiMWM3
ZWJjYmI5NzFhYjM4ZDM0NGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvcmVkaXJlY3QtYW5kLXN0
YXNoLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWRpcmVjdC1hbmQtc3Rhc2gucHkKQEAgLTksNyArOSw3
IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBvcmlnaW5fbGlzdCA9IHJlcXVl
c3Quc2VydmVyLnN0YXNoLnRha2Uoa2V5KQogCiAgICAgaWYgImR1bXAiIGluIHJlcXVlc3QuR0VU
OgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiY29udGVudC1UeXBlIiwgImFwcGxpY2F0
aW9uL2pzb24iKQorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwg
ImFwcGxpY2F0aW9uL2pzb24iKQogICAgICAgICByZXNwb25zZS5jb250ZW50ID0ganNvbi5kdW1w
cyhvcmlnaW5fbGlzdCkKICAgICAgICAgcmV0dXJuCiAKQEAgLTI1LDUgKzI1LDYgQEAgZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiTG9j
YXRpb24iLCByZXF1ZXN0LkdFVC5maXJzdCgibG9jYXRpb24iKSkKICAgICAgICAgcmV0dXJuCiAK
LSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiY29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQot
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiRml4IGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0
Y2gvaXNzdWVzLzczNy4uLiIKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBl
IiwgInRleHQvaHRtbCIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiIsICIqIikKKyAgICByZXNwb25zZS5jb250ZW50ID0gIjxtZXRhIGNoYXJz
ZXQ9dXRmLTg+XG48Ym9keT48c2NyaXB0PnBhcmVudC5wb3N0TWVzc2FnZSgnbG9hZGVkJywnKicp
PC9zY3JpcHQ+PC9ib2R5PiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3ku
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29y
aWdpbi9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyYjcxZTMzYjU0
MTYwYzQ1MWYxYmJmYzhhMTU3NjAwZWViNzA1OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJj
ZXMvcmVmZXJyZXItcG9saWN5LnB5CkBAIC0wLDAgKzEsNyBAQAorZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgorICAgIGlmICJyZWZlcnJlclBvbGljeSIgaW4gcmVxdWVzdC5HRVQ6CisgICAg
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJSZWZlcnJlci1Qb2xpY3kiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXF1ZXN0LkdFVC5maXJzdCgicmVmZXJyZXJQb2xpY3kiKSkKKyAg
ICByZXNwb25zZS5zdGF0dXMgPSAyMDAKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVu
dC1UeXBlIiwgInRleHQvaHRtbCIpCisgICAgcmVzcG9uc2UuY29udGVudCA9ICI8bWV0YSBjaGFy
c2V0PXV0Zi04PlxuPGJvZHk+PHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2UoJ2FjdGlvbicsJyon
KTwvc2NyaXB0PjwvYm9keT4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdp
bi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggNjhiYWJjNTI0OGUxZGEyZGEyMzI3OWUw
YjQ1MWI0Nzk2Yjg2ZjA5MC4uYjVmNjU1NmFkNWNiMDEzMTQxNzk3NDcwOGI3NDBmNDI1ZDZmNjJl
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZwpAQCAtMTUsMyArMTUsNCBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExp
c3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9vcmlnaW4vcmVzb3VyY2VzL3JlZGlyZWN0LWFuZC1zdGFzaC5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3Jlc291cmNl
cy9yZWZlcnJlci1wb2xpY3kucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vdzNjLWlt
cG9ydC5sb2cKaW5kZXggMzAyNDA3ZGZkYzFiZDQ2MWQwOWE3MGY0MzQ3MTRhZDA3ZGJmMTNjZS4u
NDkyNmZmNWMwYzgwMTA1OWViYWNmMmI4MzhkNmIxODBlODQzZmFjYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmlnaW4vdzNj
LWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9vcmlnaW4vdzNjLWltcG9ydC5sb2cKQEAgLTE0LDQgKzE0LDQgQEAgUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIExpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9vcmlnaW4vbm8tY29ycy5hbnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL29yaWdpbi9hc3NvcnRlZC53aW5kb3cuanMK
</data>

          </attachment>
      

    </bug>

</bugzilla>