<?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>225923</bug_id>
          
          <creation_ts>2021-05-18 10:11:27 -0700</creation_ts>
          <short_desc>FrameLoader::loadURL, FrameLoader::loadPostRequest not attributing requests as app bound</short_desc>
          <delta_ts>2021-05-21 09:41:42 -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>WebKit Misc.</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="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1761194</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-05-18 10:11:27 -0700</bug_when>
    <thetext>We should mark loadURL requests as app-bound.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761195</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-18 10:11:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/78160933&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761199</commentid>
    <comment_count>2</comment_count>
      <attachid>428952</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-05-18 10:18:43 -0700</bug_when>
    <thetext>Created attachment 428952
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761528</commentid>
    <comment_count>3</comment_count>
      <attachid>428952</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-19 07:39:05 -0700</bug_when>
    <thetext>Comment on attachment 428952
Patch

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

&gt; Source/WebCore/loader/FrameLoader.cpp:1341
&gt; +        request.setIsAppBound(m_documentLoader-&gt;lastNavigationWasAppBound());

What about the other call sites like loadPostRequest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761794</commentid>
    <comment_count>4</comment_count>
      <attachid>429121</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-05-19 17:40:29 -0700</bug_when>
    <thetext>Created attachment 429121
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761795</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-05-19 17:41:16 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; Comment on attachment 428952 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=428952&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:1341
&gt; &gt; +        request.setIsAppBound(m_documentLoader-&gt;lastNavigationWasAppBound());
&gt; 
&gt; What about the other call sites like loadPostRequest?

You&apos;re right. I moved this to FrameLoader::addExtraFieldsToRequest so it will be caught in other cases. And added more tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761797</commentid>
    <comment_count>6</comment_count>
      <attachid>429123</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-05-19 17:50:25 -0700</bug_when>
    <thetext>Created attachment 429123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762174</commentid>
    <comment_count>7</comment_count>
      <attachid>429123</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-20 15:28:01 -0700</bug_when>
    <thetext>Comment on attachment 429123
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        loadURL not attributing requests as app bound

FrameLoader:: would help understand what is going on here.

&gt; Source/WebCore/loader/FrameLoader.cpp:1495
&gt; +    addExtraFieldsToRequest(r, IsMainResource::Yes, m_loadType, ShouldUpdateAppBoundValue::No);

We should probably rename addExtraFieldsToRequest because it&apos;s no longer just about fields.

&gt; LayoutTests/http/tests/in-app-browser-privacy/app-bound-attribution-ping-load.html:15
&gt; +

extra space</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762227</commentid>
    <comment_count>8</comment_count>
      <attachid>429245</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-05-20 17:06:37 -0700</bug_when>
    <thetext>Created attachment 429245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762279</commentid>
    <comment_count>9</comment_count>
      <attachid>429245</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-20 20:14:14 -0700</bug_when>
    <thetext>Comment on attachment 429245
Patch

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

&gt; Source/WebCore/loader/FrameLoader.h:89
&gt; +enum class ShouldUpdateAppBoundValue { No, Yes };

: bool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762435</commentid>
    <comment_count>10</comment_count>
      <attachid>429296</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-05-21 09:03:53 -0700</bug_when>
    <thetext>Created attachment 429296
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762447</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-21 09:41:39 -0700</bug_when>
    <thetext>Committed r277865 (238006@main): &lt;https://commits.webkit.org/238006@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429296.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428952</attachid>
            <date>2021-05-18 10:18:43 -0700</date>
            <delta_ts>2021-05-19 17:40:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225923-20210518101842.patch</filename>
            <type>text/plain</type>
            <size>5860</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTAwZDY4Y2QzNjRkMWY3
NTNjMzY2MDM2NzBjZjJlNjJjYjVmY2I5Ny4uZDUyMWZkZWFjZDBkMDA5NDdjNzU1MTVmY2M5YjNi
MjI5YWRkMTlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA1LTE4ICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIGxvYWRVUkwg
bm90IGF0dHJpYnV0aW5nIHJlcXVlc3RzIGFzIGFwcCBib3VuZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTIzCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83ODE2MDkzMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBMb2FkVVJMIHJlcXVlc3RzIHNob3VsZCBiZSBtYXJrZWQgYXBwLWJvdW5kIGJhc2Vk
IG9uIHRoZSBkb2N1bWVudCBsb2FkZXIuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9pbi1h
cHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sCisK
KyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmxvYWRVUkwpOgorCiAyMDIxLTA1LTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBtb3JlIGxvZ2ljIGZyb20gQXVkaW9EZXN0aW5hdGlv
bk5vZGUgdG8gaXRzIHN1YmNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CmluZGV4IGJjNzNlMWU3ZGQyNDNkNTkwNGQ3NTFhNTRkMzk3Y2UwMGFhNWViYjQuLjZiZWQwMjZm
MDNiNDZlOGFjYWRiMmFiNGM2Y2E3OTMzMmJmZjc4Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcApAQCAtMTMzNyw2ICsxMzM3LDkgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9h
ZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29uc3QgU3RyaW5nJiBy
ZWYKIAogICAgIGNvbnN0IFVSTCYgbmV3VVJMID0gZnJhbWVMb2FkUmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKS51cmwoKTsKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChuZXdVUkwpOworICAg
IGlmIChtX2RvY3VtZW50TG9hZGVyKQorICAgICAgICByZXF1ZXN0LnNldElzQXBwQm91bmQobV9k
b2N1bWVudExvYWRlci0+bGFzdE5hdmlnYXRpb25XYXNBcHBCb3VuZCgpKTsKKwogICAgIGlmICgh
cmVmZXJyZXIuaXNFbXB0eSgpKQogICAgICAgICByZXF1ZXN0LnNldEhUVFBSZWZlcnJlcihyZWZl
cnJlcik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBmYTljMTZmNmIzMTQ4NTRmNGMxZmRkNjE1MWI1NDQ4YzNlMmEwYzMz
Li4xMTE1Mjg5MzIyOTk0MmEwZGE2NTUwYmY5Mjc4M2U0NTRlNDJjZDNhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMjEtMDUtMTggIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBs
ZS5jb20+CisKKyAgICAgICAgbG9hZFVSTCBub3QgYXR0cmlidXRpbmcgcmVxdWVzdHMgYXMgYXBw
IGJvdW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjU5MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc4MTYwOTMzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJv
d3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAt
Ym91bmQtYXR0cmlidXRpb24tbG9hZC11cmwuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBUaGlzIHRlc3QgcmVsaWVzIG9u
IGludGVybmFsIGFkZGl0aW9ucywgc28gSSB3aWxsIHNraXAgaXQgaGVyZSBhbmQKKyAgICAgICAg
dW5za2lwIGluIHRoZSBmdXR1cmUuCisKIDIwMjEtMDUtMTcgIERpZWdvIFBpbm8gR2FyY2lhICA8
ZHBpbm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVW5yZXZpZXdlZCB0ZXN0IGdhcmRl
bmluZy4gU2V2ZXJhbCBPZmZzY3JlZW5DYW52YXMgdGVzdHMgYXJlIGZhaWxpbmcgc2luY2UgcjI3
NzU0My4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXIt
cHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tbG9hZC11cmwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRy
aWJ1dGlvbi1sb2FkLXVybC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDc5ODFmMWUwODRiMGNl
MjU3YWY2ZjNlNWE2MGQxZjVkMjUyZWYyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24t
bG9hZC11cmwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGVzdCBsb2FkVVJMIHJlcXVl
c3RzIGFyZSBzdWNjZXNmdWxseSBhdHRyaWJ1dGVkIGFzIGFwcC1ib3VuZC4KK1BBU1Mgc3VjY2Vz
c2Z1bGx5IGxvYWRlZCBvbmx5IGFwcC1ib3VuZCByZXF1ZXN0cworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJp
YnV0aW9uLWxvYWQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93
c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2NjYmNmM2YyMDExMmYxZTE2ZDQwZWY3OTdlNDhkOTgyNzc1Y2E0MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAt
Ym91bmQtYXR0cmlidXRpb24tbG9hZC11cmwuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgncnVuVGVz
dCgpJywgMCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPlRlc3QgbG9hZFVSTCByZXF1ZXN0cyBh
cmUgc3VjY2VzZnVsbHkgYXR0cmlidXRlZCBhcyBhcHAtYm91bmQuPC9kaXY+Cis8cHJlIGlkPSJj
b25zb2xlIj48L3ByZT4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2FkVVJMKCkgeworICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5ocmVmID0gZGVzdGluYXRpb25PcmlnaW4gKyAiL2luLWFwcC1icm93
c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLmh0bWwiOworICAgIH0K
KworICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjb25zb2xlJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVz
c2FnZSArICdcbicpKTsKKyAgICB9CisKKyAgICBjb25zdCBkZXN0aW5hdGlvbk9yaWdpbiA9ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAiOworICAgIGNvbnN0IHN0YXJ0aW5nT3JpZ2luID0gImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgaWYg
KGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0gc3RhcnRpbmdPcmlnaW4pIHsKKyAgICAgICAg
ICAgIGxvYWRVUkwoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZhciBkaWRMb2Fk
QXBwQm91bmRSZXF1ZXN0ID0gdGVzdFJ1bm5lci5kaWRMb2FkQXBwQm91bmRSZXF1ZXN0KCk7Cisg
ICAgICAgICAgICB2YXIgZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCA9IHRlc3RSdW5uZXIuZGlk
TG9hZE5vbkFwcEJvdW5kUmVxdWVzdCgpOworCisgICAgICAgICAgICBpZiAoZGlkTG9hZE5vbkFw
cEJvdW5kUmVxdWVzdCkgeworICAgICAgICAgICAgICAgIGxvZygiRkFJTCBkaWQgbG9hZCBub24g
YXBwLWJvdW5kIHJlcXVlc3QiKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFkaWRMb2FkQXBwQm91bmRS
ZXF1ZXN0KSB7CisgICAgICAgICAgICAgICAgbG9nKCJGQUlMIGRpZCBub3QgbG9hZCBhcHAtYm91
bmQgcmVxdWVzdCIpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBsb2coIlBBU1Mgc3VjY2Vzc2Z1bGx5IGxvYWRl
ZCBvbmx5IGFwcC1ib3VuZCByZXF1ZXN0cyIpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIH0KKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBk
NzdlNzViOWVhZGE5NzBmNzIyMGQ1YTVhMzM1Zjk5ZTU0MmQ5MjUxLi5iODAyZDhkNjY5M2I4ZmVj
YjY4YTU5OWYxZDQzNWFlYjg2OWZlM2NkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODE1LDYgKzE4MTUsNyBAQCBodHRwL3Rlc3RzL2lu
LWFwcC1icm93c2VyLXByaXZhY3kvY29udGV4dC1zdHJpbmctcHJlZmxpZ2h0Lmh0bWwgWyBTa2lw
IF0KIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRp
b24tcHJlZmxpZ2h0LWFzeW5jLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dz
ZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcHJlZmxpZ2h0LXN5bmMuaHRtbCBbIFNr
aXAgXQogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1
dGlvbi1zcGVjdWxhdGl2ZS1yZXZhbGlkYXRpb24uaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9p
bi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1s
IFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xNzUxOTMgZmFzdC9pbWFnZXMvYXN5bmMtaW1hZ2Ut
Ym9keS1iYWNrZ3JvdW5kLWltYWdlLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429121</attachid>
            <date>2021-05-19 17:40:29 -0700</date>
            <delta_ts>2021-05-19 17:50:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225923-20210519174028.patch</filename>
            <type>text/plain</type>
            <size>16891</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAwYWRlYzQ0YmEzZjkx
OGVhNjJkYzg2MTcxMTYzMzI3YzVmNDhhMS4uMzQxNmZhOGRmMGU2ZTc4YmJiYzJiN2Q2ZjE2MWFh
NjMwMjU3YTJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTA1LTE4ICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIGxvYWRVUkwg
bm90IGF0dHJpYnV0aW5nIHJlcXVlc3RzIGFzIGFwcCBib3VuZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTIzCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83ODE2MDkzMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3Vu
ZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2lu
LWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJv
dW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5odG1sCisKKyAgICAgICAgVXBkYXRlIEZyYW1l
TG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdCB0byBhZGQgdGhlIGFwcC1ib3VuZAorICAg
ICAgICB2YWx1ZSB0byBhIHJlcXVlc3QsIGxpa2UgZm9yIGxvYWRVUkwsIGxvYWRQb3N0UmVxdWVz
dCwgb3IgcGluZyBsb2Fkcy4KKworICAgICAgICBPdGhlciBjYXNlcyBhcmUgYWxyZWFkeSBjb3Zl
cmVkIGluIFdlYkxvYWRlclN0cmF0ZWd5Ojpsb2FkUmVzb3VyY2UuCisKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWQp
OgorICAgICAgICBUaGUgbWFpbiBuYXZpZ2F0aW9uIHVzZXMgdGhlIG9sZCBkb2N1bWVudCBsb2Fk
ZXIsIHNvIHdlIGRvbid0IHdhbnQgdG8KKyAgICAgICAgc2V0IHRoZSBhcHAtYm91bmQgdmFsdWUg
YmFzZWQgb24gdGhhdC4gVGhlIHJlcXVlc3Qgc2hvdWxkIGhhdmUgdGhlCisgICAgICAgIGNvcnJl
Y3QgdmFsdWUgYWxyZWFkeSBmcm9tIHRoZSBVSVByb2Nlc3MuCisKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisgICAgICAgIFdlIGNh
biByZW1vdmUgdGhpcyBub3cgdGhhdCB3ZSBzZXQgdGhlIHZhbHVlIGluCisgICAgICAgIGFkZEV4
dHJhRmllbGRzVG9SZXF1ZXN0LgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisK
IDIwMjEtMDUtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBV
c2UgV1RGOjpMb2NrZXIgZm9yIGxvY2tpbmcgQmFzZUF1ZGlvQ29udGV4dCdzIGdyYXBoIGxvY2sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJjNzNlMWU3ZGQyNDNkNTkw
NGQ3NTFhNTRkMzk3Y2UwMGFhNWViYjQuLjJiZmU1MWJhNThiODI0YzMyOWQxYzkzYTc0NmQ5NWQw
NmNhZjliNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTQ5Miw3
ICsxNDkyLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZChEb2N1bWVudExvYWRlciYgbmV3RG9j
dW1lbnRMb2FkZXIpCiAgICAgUmVzb3VyY2VSZXF1ZXN0JiByID0gbmV3RG9jdW1lbnRMb2FkZXIu
cmVxdWVzdCgpOwogICAgIC8vIEZJWE1FOiBVc2luZyBtX2xvYWRUeXBlIHNlZW1zIHdyb25nIGhl
cmUuCiAgICAgLy8gSWYgd2UgYXJlIG9ubHkgcHJlcGFyaW5nIHRvIGxvYWQgdGhlIG1haW4gcmVz
b3VyY2UsIHRoYXQgaXMgcHJldmlvdXMgbG9hZCdzIGxvYWQgdHlwZSEKLSAgICBhZGRFeHRyYUZp
ZWxkc1RvUmVxdWVzdChyLCBJc01haW5SZXNvdXJjZTo6WWVzLCBtX2xvYWRUeXBlKTsKKyAgICBh
ZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyLCBJc01haW5SZXNvdXJjZTo6WWVzLCBtX2xvYWRUeXBl
LCBTaG91bGRVcGRhdGVBcHBCb3VuZFZhbHVlOjpObyk7CiAgICAgRnJhbWVMb2FkVHlwZSB0eXBl
OwogCiAgICAgaWYgKHNob3VsZFRyZWF0VVJMQXNTYW1lQXNDdXJyZW50KG5ld0RvY3VtZW50TG9h
ZGVyLm9yaWdpbmFsUmVxdWVzdCgpLnVybCgpKSkgewpAQCAtMjg3Nyw3ICsyODc3LDcgQEAgUmVz
b3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgRnJhbWVMb2FkZXI6OmRlZmF1bHRSZXF1ZXN0Q2FjaGlu
Z1BvbGljeShjb25zdCBSZXNvdXIKICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xp
Y3k6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3k7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4
dHJhRmllbGRzVG9SZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgSXNNYWluUmVzb3Vy
Y2UgbWFpblJlc291cmNlLCBGcmFtZUxvYWRUeXBlIGxvYWRUeXBlKQordm9pZCBGcmFtZUxvYWRl
cjo6YWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBJc01h
aW5SZXNvdXJjZSBtYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIFNob3VsZFVw
ZGF0ZUFwcEJvdW5kVmFsdWUgc2hvdWxkVXBkYXRlKQogewogICAgIC8vIElmIHRoZSByZXF1ZXN0
IGNhbWUgZnJvbSBhIHByZXZpb3VzIHByb2Nlc3MgZHVlIHRvIHByb2Nlc3Mtc3dhcC1vbi1uYXZp
Z2F0aW9uIHRoZW4gd2Ugc2hvdWxkIG5vdCBtb2RpZnkgdGhlIHJlcXVlc3QuCiAgICAgaWYgKG1f
Y3VycmVudExvYWRDb250aW51aW5nU3RhdGUgPT0gTG9hZENvbnRpbnVpbmdTdGF0ZTo6Q29udGlu
dWluZ1dpdGhSZXF1ZXN0KQpAQCAtMjk0Niw2ICsyOTQ2LDkgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
YWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBJc01haW5S
ZXNvdXIKICAgICAgICAgLy8gQWx3YXlzIHRyeSBVVEYtOC4gSWYgdGhhdCBmYWlscywgdHJ5IGZy
YW1lIGVuY29kaW5nIChpZiBhbnkpIGFuZCB0aGVuIHRoZSBkZWZhdWx0LgogICAgICAgICByZXF1
ZXN0LnNldFJlc3BvbnNlQ29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5KCJV
VEYtOCIsIG1fZnJhbWUuZG9jdW1lbnQoKS0+ZW5jb2RpbmcoKSwgbV9mcmFtZS5zZXR0aW5ncygp
LmRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lKCkpOwogICAgIH0KKworICAgIGlmIChzaG91bGRVcGRh
dGUgPT0gU2hvdWxkVXBkYXRlQXBwQm91bmRWYWx1ZTo6WWVzICYmIG1fZnJhbWUuZG9jdW1lbnQo
KSAmJiBtX2ZyYW1lLmRvY3VtZW50KCktPmxvYWRlcigpKQorICAgICAgICByZXF1ZXN0LnNldElz
QXBwQm91bmQobV9mcmFtZS5kb2N1bWVudCgpLT5sb2FkZXIoKS0+bGFzdE5hdmlnYXRpb25XYXNB
cHBCb3VuZCgpKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6c2NoZWR1bGVSZWZyZXNoSWZOZWVk
ZWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCkBAIC0zMTExLDkg
KzMxMTQsNiBAQCB1bnNpZ25lZCBsb25nIEZyYW1lTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdQogCiAgICAgbV9mcmFtZS5kb2N1bWVu
dCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFkZUluc2VjdXJlUmVxdWVzdElmTmVl
ZGVkKG5ld1JlcXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlw
ZTo6TG9hZCk7CiAKLSAgICBpZiAobV9kb2N1bWVudExvYWRlcikKLSAgICAgICAgbmV3UmVxdWVz
dC5zZXRJc0FwcEJvdW5kKG1fZG9jdW1lbnRMb2FkZXItPmxhc3ROYXZpZ2F0aW9uV2FzQXBwQm91
bmQoKSk7Ci0KICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpIHsKICAgICAgICAgQVNTRVJUKCFuZXdS
ZXF1ZXN0LmlzTnVsbCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA4
OTUwY2VmMDhkN2M1MmI4MWIyOGMxNzExZjAwODI1NTczNzM4YjA5Li4wYWIwZDU4YzkzYTBkZDg0
MWFkNTFmNTZhNDJkYWIzZGNlMjgzMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aApAQCAtODYsNiArODYsNyBAQCBlbnVtIGNsYXNzIE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiA6
IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCA6IGJvb2w7
CiBlbnVtIGNsYXNzIFVzZWRMZWdhY3lUTFMgOiBib29sOwogZW51bSBjbGFzcyBJc01haW5SZXNv
dXJjZSA6IGJvb2wgeyBObywgWWVzIH07CitlbnVtIGNsYXNzIFNob3VsZFVwZGF0ZUFwcEJvdW5k
VmFsdWUgeyBObywgWWVzIH07CiAKIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIApAQCAtMzE4LDcg
KzMxOSw3IEBAIHB1YmxpYzoKICAgICBib29sIGFsd2F5c0FsbG93TG9jYWxXZWJhcmNoaXZlKCkg
Y29uc3QgeyByZXR1cm4gbV9hbHdheXNBbGxvd0xvY2FsV2ViYXJjaGl2ZTsgfQogCiAgICAgLy8g
Rm9yIHN1YnJlc291cmNlIHJlcXVlc3RzIHRoZSBGcmFtZUxvYWRUeXBlIHBhcmFtZXRlciBoYXMg
bm8gZWZmZWN0IGFuZCBjYW4gYmUgc2tpcHBlZC4KLSAgICB2b2lkIGFkZEV4dHJhRmllbGRzVG9S
ZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYsIElzTWFpblJlc291cmNlLCBGcmFtZUxvYWRUeXBlID0g
RnJhbWVMb2FkVHlwZTo6U3RhbmRhcmQpOworICAgIHZvaWQgYWRkRXh0cmFGaWVsZHNUb1JlcXVl
c3QoUmVzb3VyY2VSZXF1ZXN0JiwgSXNNYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUgPSBGcmFt
ZUxvYWRUeXBlOjpTdGFuZGFyZCwgU2hvdWxkVXBkYXRlQXBwQm91bmRWYWx1ZSA9IFNob3VsZFVw
ZGF0ZUFwcEJvdW5kVmFsdWU6Olllcyk7CiAKICAgICB2b2lkIHNjaGVkdWxlUmVmcmVzaElmTmVl
ZGVkKERvY3VtZW50JiwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIxMmM5OTM2
YzlkNWIyYWMzMjg1OThiMmE0OGYzNjAyZmFlZTgwYzEuLmVmNDAzNTM0YjdjZWQ4MDIxNDBjMmY4
MjExY2MxMmFlZTc3M2FiYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0wNS0xOSAgS2F0
ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBsb2FkVVJM
IG5vdCBhdHRyaWJ1dGluZyByZXF1ZXN0cyBhcyBhcHAgYm91bmQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkyMworICAgICAgICA8cmRhcjovL3By
b2JsZW0vNzgxNjA5MzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0
dHJpYnV0aW9uLWxvYWQtdXJsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVy
bC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZh
Y3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0
cmlidXRpb24tcGluZy1sb2FkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW4t
YXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1wb3N0LXJlcXVlc3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L3Jlc291cmNlcy9wb3N0
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2No
ZWNrLXBpbmctYXBwLWJvdW5kLWRhdGEucHk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgVGhlc2UgdGVzdHMgcmVseSBvbiBpbnRl
cm5hbCBhZGRpdGlvbnMsIHNvIEkgd2lsbCBza2lwIGl0IGhlcmUgYW5kCisgICAgICAgIHVuc2tp
cCBpbiB0aGUgZnV0dXJlLgorCiAyMDIxLTA1LTE4ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5v
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4g
VXBkYXRlIHR3byBiYXNlbGluZXMgb2YgaW5zcGVjdG9yIHRlc3QgdGhhdCB3ZXJlIGZhaWxpbmcu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZh
Y3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRp
b24tbG9hZC11cmwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3OTgxZjFlMDg0YjBjZTI1N2Fm
NmYzZTVhNjBkMWY1ZDI1MmVmMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQt
dXJsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1Rlc3QgbG9hZFVSTCByZXF1ZXN0cyBh
cmUgc3VjY2VzZnVsbHkgYXR0cmlidXRlZCBhcyBhcHAtYm91bmQuCitQQVNTIHN1Y2Nlc3NmdWxs
eSBsb2FkZWQgb25seSBhcHAtYm91bmQgcmVxdWVzdHMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlv
bi1sb2FkLXVybC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNj
Y2JjZjNmMjAxMTJmMWUxNmQ0MGVmNzk3ZTQ4ZDk4Mjc3NWNhNDAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5k
LWF0dHJpYnV0aW9uLWxvYWQtdXJsLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScs
IDApIj4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5UZXN0IGxvYWRVUkwgcmVxdWVzdHMgYXJlIHN1
Y2Nlc2Z1bGx5IGF0dHJpYnV0ZWQgYXMgYXBwLWJvdW5kLjwvZGl2PgorPHByZSBpZD0iY29uc29s
ZSI+PC9wcmU+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbG9hZFVSTCgpIHsKKyAgICAgICAgZG9jdW1l
bnQubG9jYXRpb24uaHJlZiA9IGRlc3RpbmF0aW9uT3JpZ2luICsgIi9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sIjsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2Ug
KyAnXG4nKSk7CisgICAgfQorCisgICAgY29uc3QgZGVzdGluYXRpb25PcmlnaW4gPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwIjsKKyAgICBjb25zdCBzdGFydGluZ09yaWdpbiA9ICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGlmIChkb2N1
bWVudC5sb2NhdGlvbi5vcmlnaW4gPT09IHN0YXJ0aW5nT3JpZ2luKSB7CisgICAgICAgICAgICBs
b2FkVVJMKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB2YXIgZGlkTG9hZEFwcEJv
dW5kUmVxdWVzdCA9IHRlc3RSdW5uZXIuZGlkTG9hZEFwcEJvdW5kUmVxdWVzdCgpOworICAgICAg
ICAgICAgdmFyIGRpZExvYWROb25BcHBCb3VuZFJlcXVlc3QgPSB0ZXN0UnVubmVyLmRpZExvYWRO
b25BcHBCb3VuZFJlcXVlc3QoKTsKKworICAgICAgICAgICAgaWYgKGRpZExvYWROb25BcHBCb3Vu
ZFJlcXVlc3QpIHsKKyAgICAgICAgICAgICAgICBsb2coIkZBSUwgZGlkIGxvYWQgbm9uIGFwcC1i
b3VuZCByZXF1ZXN0Iik7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICghZGlkTG9hZEFwcEJvdW5kUmVxdWVz
dCkgeworICAgICAgICAgICAgICAgIGxvZygiRkFJTCBkaWQgbm90IGxvYWQgYXBwLWJvdW5kIHJl
cXVlc3QiKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgbG9nKCJQQVNTIHN1Y2Nlc3NmdWxseSBsb2FkZWQgb25s
eSBhcHAtYm91bmQgcmVxdWVzdHMiKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBw
LWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBp
bmctbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRiNzFhYmY3ZGRjODkwOWJkNDNiZDQy
NDhlYWFmYTNjMmU4MjliZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcGluZy1sb2Fk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogUEFTUyBzdWNj
ZXNzZnVsbHkgbG9hZGVkIG9ubHkgYXBwLWJvdW5kIHJlcXVlc3RzCitQaW5nIHNlbnQgc3VjY2Vz
c2Z1bGx5CitDT05URU5UX1RZUEU6IHRleHQvcGluZworSFRUUF9IT1NUOiAxMjcuMC4wLjE6ODAw
MAorSFRUUF9QSU5HX0ZST006IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbAorSFRUUF9QSU5HX1RP
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvY2hlY2stcGluZy1h
cHAtYm91bmQtZGF0YS5weQorUkVRVUVTVF9NRVRIT0Q6IFBPU1QKK1JFUVVFU1RfVVJJOiAvbmF2
aWdhdGlvbi9yZXNvdXJjZXMvc2F2ZS1waW5nLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBp
bmctbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2
YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOThi
YzFhYzJiZTAwNmZkNWI1OTA5NDYxMjI1OGY3NmFkZmYwNWZlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1h
dHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vbmF2aWdhdGlvbi9waW5nLWF0dHJp
YnV0ZS9yZXNvdXJjZXMvdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZERvd25ncmFkZVJl
ZmVycmVyKGZhbHNlLCBmdW5jdGlvbiAoKSB7IH0pOworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworCisgICAgY2xpY2tFbGVtZW50KGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoImltZyIpKTsKK30KKword2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uICgpCit7CisgICAgY2xlYXJMYXN0UGluZ1Jlc3VsdEFuZFJ1blRlc3QodGVzdCk7Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpbWcgc3JjPSJub24tZXhpc3RlbnQtaW1h
Z2UuanBnIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIgdXNlbWFwPSIjaW1hZ2VtYXAiPgorICAg
IDxtYXAgbmFtZT0iaW1hZ2VtYXAiPgorICAgICAgICA8YXJlYSBzaGFwZT0icmVjdCIgY29vcmRz
PSIwLDAsMTI4LDEyOCIgaHJlZj0iLi4vbmF2aWdhdGlvbi9yZXNvdXJjZXMvY2hlY2stcGluZy1h
cHAtYm91bmQtZGF0YS5weSIgcGluZz0iLi4vbmF2aWdhdGlvbi9yZXNvdXJjZXMvc2F2ZS1waW5n
LnB5Ij4KKyAgICA8L21hcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRp
b24tcG9zdC1yZXF1ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4t
YXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGI1ZTc5ODE1YzRkNTc4OTA5NTYyNWZlMDUzZjNiODFi
NmRkMWQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAt
YnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1wb3N0LXJlcXVlc3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBQQVNTIHN1Y2Nlc3NmdWxs
eSBsb2FkZWQgb25seSBhcHAtYm91bmQgcmVxdWVzdHMKK1Rlc3RzIGFwcCBib3VuZCByZXF1ZXN0
cyBnZXQgbWFya2VkIGZvciBQT1NUIHJlcXVlc3RzLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRp
b24tcG9zdC1yZXF1ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93
c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE3NzIzZmQzZjRjYmU1Y2EzMzk4OTc2NTk3MDhlOGNjZjE0ZmEzMDMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kv
YXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5odG1sCkBAIC0wLDAgKzEsMjIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyBhcHAgYm91bmQgcmVxdWVzdHMgZ2V0IG1hcmtl
ZCBmb3IgUE9TVCByZXF1ZXN0cy48L3A+Cis8Zm9ybSBpZD0idGVzdEZvcm0iIGFjdGlvbj0icmVz
b3VyY2VzL3Bvc3QucHkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIiIG1ldGhvZD0i
cG9zdCI+Cis8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVGVzdCI+PC9pbnB1dD4KKzxmb3Jt
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3ModHJ1ZSk7Cit9
CisKK2RvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXIt
cHJpdmFjeS9yZXNvdXJjZXMvcG9zdC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBw
LWJyb3dzZXItcHJpdmFjeS9yZXNvdXJjZXMvcG9zdC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZmNiYzNhMmZi
MzIzMTE3MmRiOWI1OWJlY2U2NWMwOGM3MmRkNWE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L3Jlc291cmNlcy9wb3N0LnB5
CkBAIC0wLDAgKzEsMjcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitp
bXBvcnQgc3lzCisKK3JlZmVyZXIgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9SRUZFUkVSJywgJycp
CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxy
XG4nCisgICAgJzxwPlJlZmVycmVyOiB7cmVmZXJlcn08L3A+XG4nCisgICAgJzxzY3JpcHQ+XG4n
CisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge3tcbicKKyAgICAnICAgIHZhciBkaWRMb2Fk
QXBwQm91bmRSZXF1ZXN0ID0gdGVzdFJ1bm5lci5kaWRMb2FkQXBwQm91bmRSZXF1ZXN0KCk7XG4n
CisgICAgJyAgICB2YXIgZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCA9IHRlc3RSdW5uZXIuZGlk
TG9hZE5vbkFwcEJvdW5kUmVxdWVzdCgpO1xuJworICAgICcgICAgaWYgKGRpZExvYWROb25BcHBC
b3VuZFJlcXVlc3QpIHt7XG4nCisgICAgJyAgICAgICAgY29uc29sZS5sb2coIkZBSUwgZGlkIGxv
YWQgbm9uIGFwcC1ib3VuZCByZXF1ZXN0Iik7XG4nCisgICAgJyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7XG4nCisgICAgJyAgICB9fVxuJworICAgICcgICAgaWYgKCFkaWRMb2FkQXBw
Qm91bmRSZXF1ZXN0KSB7e1xuJworICAgICcgICAgICAgICBjb25zb2xlLmxvZygiRkFJTCBkaWQg
bm90IGxvYWQgYXBwLWJvdW5kIHJlcXVlc3QiKTtcbicKKyAgICAnICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTtcbicKKyAgICAnICAgICB9fVxuJworICAgICcgICAgY29uc29sZS5sb2co
IlBBU1Mgc3VjY2Vzc2Z1bGx5IGxvYWRlZCBvbmx5IGFwcC1ib3VuZCByZXF1ZXN0cyIpO1xuJwor
ICAgICcgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJ319XG4nCisgICAgJzwv
c2NyaXB0PlxuJy5mb3JtYXQocmVmZXJlcj1yZWZlcmVyKQorKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9jaGVjay1waW5nLWFwcC1ib3Vu
ZC1kYXRhLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9j
aGVjay1waW5nLWFwcC1ib3VuZC1kYXRhLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmZjVkZWYzNDA1MzJmOWRm
NmE4MWY4NTQxMDQwOThlOTMzZDNlZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2NoZWNrLXBpbmctYXBwLWJvdW5kLWRhdGEu
cHkKQEAgLTAsMCArMSw0NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MK
K2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCitmcm9tIHBpbmdfZmlsZV9wYXRoIGltcG9ydCBwaW5n
X2ZpbGVwYXRoCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJc
blxyXG4nKQorCit3aGlsZSBub3Qgb3MucGF0aC5pc2ZpbGUocGluZ19maWxlcGF0aCk6CisgICAg
dGltZS5zbGVlcCgwLjAxKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8aHRtbD48Ym9keT5c
bicKKyAgICAnUGluZyBzZW50IHN1Y2Nlc3NmdWxseScKKykKKworcGluZ19maWxlID0gb3Blbihw
aW5nX2ZpbGVwYXRoLCAncicpCitmb3IgbGluZSBpbiBwaW5nX2ZpbGUucmVhZGxpbmVzKCk6Cisg
ICAgc3lzLnN0ZG91dC53cml0ZSgnPGJyPnt9Jy5mb3JtYXQobGluZS5zdHJpcCgpKSkKKworcGlu
Z19maWxlLmNsb3NlKCkKK2lmIG9zLnBhdGguaXNmaWxlKHBpbmdfZmlsZXBhdGgpOgorICAgIG9z
LnJlbW92ZShwaW5nX2ZpbGVwYXRoKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8c2NyaXB0
PicKKyAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7e1xuJworICAgICcgICAgdmFyIGRpZExv
YWRBcHBCb3VuZFJlcXVlc3QgPSB0ZXN0UnVubmVyLmRpZExvYWRBcHBCb3VuZFJlcXVlc3QoKTtc
bicKKyAgICAnICAgIHZhciBkaWRMb2FkTm9uQXBwQm91bmRSZXF1ZXN0ID0gdGVzdFJ1bm5lci5k
aWRMb2FkTm9uQXBwQm91bmRSZXF1ZXN0KCk7XG4nCisgICAgJyAgICBpZiAoZGlkTG9hZE5vbkFw
cEJvdW5kUmVxdWVzdCkge3tcbicKKyAgICAnICAgICAgICBjb25zb2xlLmxvZygiRkFJTCBkaWQg
bG9hZCBub24gYXBwLWJvdW5kIHJlcXVlc3QiKTtcbicKKyAgICAnICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTtcbicKKyAgICAnICAgIH19XG4nCisgICAgJyAgICBpZiAoIWRpZExvYWRB
cHBCb3VuZFJlcXVlc3QpIHt7XG4nCisgICAgJyAgICAgICAgIGNvbnNvbGUubG9nKCJGQUlMIGRp
ZCBub3QgbG9hZCBhcHAtYm91bmQgcmVxdWVzdCIpO1xuJworICAgICcgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpO1xuJworICAgICcgICAgIH19XG4nCisgICAgJyAgICBjb25zb2xlLmxv
ZygiUEFTUyBzdWNjZXNzZnVsbHkgbG9hZGVkIG9ubHkgYXBwLWJvdW5kIHJlcXVlc3RzIik7XG4n
CisgICAgJyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnfX1cbicKKyAgICAn
PC9zY3JpcHQ+JworICAgICc8L2JvZHk+PC9odG1sPicKKykKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkNzdlNzViOWVhZGE5NzBmNzIyMGQ1
YTVhMzM1Zjk5ZTU0MmQ5MjUxLi44YjFhZWU2M2VlMDQ5YTAzYzc4YTQ5ZTcyMmY2ZjBlZTU4ZTg0
NDgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xODE1LDYgKzE4MTUsOSBAQCBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kv
Y29udGV4dC1zdHJpbmctcHJlZmxpZ2h0Lmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvaW4tYXBw
LWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcHJlZmxpZ2h0LWFzeW5jLmh0
bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQt
YXR0cmlidXRpb24tcHJlZmxpZ2h0LXN5bmMuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9pbi1h
cHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1zcGVjdWxhdGl2ZS1yZXZh
bGlkYXRpb24uaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5
L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3Rz
L2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC5o
dG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5k
LWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8x
NzUxOTMgZmFzdC9pbWFnZXMvYXN5bmMtaW1hZ2UtYm9keS1iYWNrZ3JvdW5kLWltYWdlLmh0bWwg
WyBQYXNzIFRpbWVvdXQgXQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429123</attachid>
            <date>2021-05-19 17:50:25 -0700</date>
            <delta_ts>2021-05-20 17:06:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225923-20210519175024.patch</filename>
            <type>text/plain</type>
            <size>16903</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAwYWRlYzQ0YmEzZjkx
OGVhNjJkYzg2MTcxMTYzMzI3YzVmNDhhMS4uMzQxNmZhOGRmMGU2ZTc4YmJiYzJiN2Q2ZjE2MWFh
NjMwMjU3YTJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTA1LTE4ICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIGxvYWRVUkwg
bm90IGF0dHJpYnV0aW5nIHJlcXVlc3RzIGFzIGFwcCBib3VuZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTIzCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83ODE2MDkzMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3Vu
ZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2lu
LWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJv
dW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5odG1sCisKKyAgICAgICAgVXBkYXRlIEZyYW1l
TG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdCB0byBhZGQgdGhlIGFwcC1ib3VuZAorICAg
ICAgICB2YWx1ZSB0byBhIHJlcXVlc3QsIGxpa2UgZm9yIGxvYWRVUkwsIGxvYWRQb3N0UmVxdWVz
dCwgb3IgcGluZyBsb2Fkcy4KKworICAgICAgICBPdGhlciBjYXNlcyBhcmUgYWxyZWFkeSBjb3Zl
cmVkIGluIFdlYkxvYWRlclN0cmF0ZWd5Ojpsb2FkUmVzb3VyY2UuCisKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWQp
OgorICAgICAgICBUaGUgbWFpbiBuYXZpZ2F0aW9uIHVzZXMgdGhlIG9sZCBkb2N1bWVudCBsb2Fk
ZXIsIHNvIHdlIGRvbid0IHdhbnQgdG8KKyAgICAgICAgc2V0IHRoZSBhcHAtYm91bmQgdmFsdWUg
YmFzZWQgb24gdGhhdC4gVGhlIHJlcXVlc3Qgc2hvdWxkIGhhdmUgdGhlCisgICAgICAgIGNvcnJl
Y3QgdmFsdWUgYWxyZWFkeSBmcm9tIHRoZSBVSVByb2Nlc3MuCisKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisgICAgICAgIFdlIGNh
biByZW1vdmUgdGhpcyBub3cgdGhhdCB3ZSBzZXQgdGhlIHZhbHVlIGluCisgICAgICAgIGFkZEV4
dHJhRmllbGRzVG9SZXF1ZXN0LgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisK
IDIwMjEtMDUtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBV
c2UgV1RGOjpMb2NrZXIgZm9yIGxvY2tpbmcgQmFzZUF1ZGlvQ29udGV4dCdzIGdyYXBoIGxvY2sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJjNzNlMWU3ZGQyNDNkNTkw
NGQ3NTFhNTRkMzk3Y2UwMGFhNWViYjQuLmQ4Y2RjZDVmZWMwN2M0NmIyYzBlZjhiMTE4YTViYzk5
YWUxZjcwYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTQ5Miw3
ICsxNDkyLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZChEb2N1bWVudExvYWRlciYgbmV3RG9j
dW1lbnRMb2FkZXIpCiAgICAgUmVzb3VyY2VSZXF1ZXN0JiByID0gbmV3RG9jdW1lbnRMb2FkZXIu
cmVxdWVzdCgpOwogICAgIC8vIEZJWE1FOiBVc2luZyBtX2xvYWRUeXBlIHNlZW1zIHdyb25nIGhl
cmUuCiAgICAgLy8gSWYgd2UgYXJlIG9ubHkgcHJlcGFyaW5nIHRvIGxvYWQgdGhlIG1haW4gcmVz
b3VyY2UsIHRoYXQgaXMgcHJldmlvdXMgbG9hZCdzIGxvYWQgdHlwZSEKLSAgICBhZGRFeHRyYUZp
ZWxkc1RvUmVxdWVzdChyLCBJc01haW5SZXNvdXJjZTo6WWVzLCBtX2xvYWRUeXBlKTsKKyAgICBh
ZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyLCBJc01haW5SZXNvdXJjZTo6WWVzLCBtX2xvYWRUeXBl
LCBTaG91bGRVcGRhdGVBcHBCb3VuZFZhbHVlOjpObyk7CiAgICAgRnJhbWVMb2FkVHlwZSB0eXBl
OwogCiAgICAgaWYgKHNob3VsZFRyZWF0VVJMQXNTYW1lQXNDdXJyZW50KG5ld0RvY3VtZW50TG9h
ZGVyLm9yaWdpbmFsUmVxdWVzdCgpLnVybCgpKSkgewpAQCAtMjg3Nyw3ICsyODc3LDcgQEAgUmVz
b3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgRnJhbWVMb2FkZXI6OmRlZmF1bHRSZXF1ZXN0Q2FjaGlu
Z1BvbGljeShjb25zdCBSZXNvdXIKICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xp
Y3k6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3k7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4
dHJhRmllbGRzVG9SZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgSXNNYWluUmVzb3Vy
Y2UgbWFpblJlc291cmNlLCBGcmFtZUxvYWRUeXBlIGxvYWRUeXBlKQordm9pZCBGcmFtZUxvYWRl
cjo6YWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBJc01h
aW5SZXNvdXJjZSBtYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIFNob3VsZFVw
ZGF0ZUFwcEJvdW5kVmFsdWUgc2hvdWxkVXBkYXRlKQogewogICAgIC8vIElmIHRoZSByZXF1ZXN0
IGNhbWUgZnJvbSBhIHByZXZpb3VzIHByb2Nlc3MgZHVlIHRvIHByb2Nlc3Mtc3dhcC1vbi1uYXZp
Z2F0aW9uIHRoZW4gd2Ugc2hvdWxkIG5vdCBtb2RpZnkgdGhlIHJlcXVlc3QuCiAgICAgaWYgKG1f
Y3VycmVudExvYWRDb250aW51aW5nU3RhdGUgPT0gTG9hZENvbnRpbnVpbmdTdGF0ZTo6Q29udGlu
dWluZ1dpdGhSZXF1ZXN0KQpAQCAtMjk0Niw2ICsyOTQ2LDkgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
YWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBJc01haW5S
ZXNvdXIKICAgICAgICAgLy8gQWx3YXlzIHRyeSBVVEYtOC4gSWYgdGhhdCBmYWlscywgdHJ5IGZy
YW1lIGVuY29kaW5nIChpZiBhbnkpIGFuZCB0aGVuIHRoZSBkZWZhdWx0LgogICAgICAgICByZXF1
ZXN0LnNldFJlc3BvbnNlQ29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5KCJV
VEYtOCIsIG1fZnJhbWUuZG9jdW1lbnQoKS0+ZW5jb2RpbmcoKSwgbV9mcmFtZS5zZXR0aW5ncygp
LmRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lKCkpOwogICAgIH0KKworICAgIGlmIChzaG91bGRVcGRh
dGUgPT0gU2hvdWxkVXBkYXRlQXBwQm91bmRWYWx1ZTo6WWVzICYmIG1fZnJhbWUubWFpbkZyYW1l
KCkubG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSkKKyAgICAgICAgcmVxdWVzdC5zZXRJc0FwcEJv
dW5kKG1fZnJhbWUubWFpbkZyYW1lKCkubG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+bGFzdE5h
dmlnYXRpb25XYXNBcHBCb3VuZCgpKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6c2NoZWR1bGVS
ZWZyZXNoSWZOZWVkZWQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQp
CkBAIC0zMTExLDkgKzMxMTQsNiBAQCB1bnNpZ25lZCBsb25nIEZyYW1lTG9hZGVyOjpsb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdQogCiAgICAgbV9m
cmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFkZUluc2VjdXJl
UmVxdWVzdElmTmVlZGVkKG5ld1JlcXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1
cmVSZXF1ZXN0VHlwZTo6TG9hZCk7CiAKLSAgICBpZiAobV9kb2N1bWVudExvYWRlcikKLSAgICAg
ICAgbmV3UmVxdWVzdC5zZXRJc0FwcEJvdW5kKG1fZG9jdW1lbnRMb2FkZXItPmxhc3ROYXZpZ2F0
aW9uV2FzQXBwQm91bmQoKSk7Ci0KICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpIHsKICAgICAgICAg
QVNTRVJUKCFuZXdSZXF1ZXN0LmlzTnVsbCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuaAppbmRleCA4OTUwY2VmMDhkN2M1MmI4MWIyOGMxNzExZjAwODI1NTczNzM4YjA5Li4wYWIw
ZDU4YzkzYTBkZDg0MWFkNTFmNTZhNDJkYWIzZGNlMjgzMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaApAQCAtODYsNiArODYsNyBAQCBlbnVtIGNsYXNzIE5hdmlnYXRpb25Qb2xp
Y3lEZWNpc2lvbiA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFNob3VsZFRyZWF0QXNDb250aW51aW5n
TG9hZCA6IGJvb2w7CiBlbnVtIGNsYXNzIFVzZWRMZWdhY3lUTFMgOiBib29sOwogZW51bSBjbGFz
cyBJc01haW5SZXNvdXJjZSA6IGJvb2wgeyBObywgWWVzIH07CitlbnVtIGNsYXNzIFNob3VsZFVw
ZGF0ZUFwcEJvdW5kVmFsdWUgeyBObywgWWVzIH07CiAKIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsK
IApAQCAtMzE4LDcgKzMxOSw3IEBAIHB1YmxpYzoKICAgICBib29sIGFsd2F5c0FsbG93TG9jYWxX
ZWJhcmNoaXZlKCkgY29uc3QgeyByZXR1cm4gbV9hbHdheXNBbGxvd0xvY2FsV2ViYXJjaGl2ZTsg
fQogCiAgICAgLy8gRm9yIHN1YnJlc291cmNlIHJlcXVlc3RzIHRoZSBGcmFtZUxvYWRUeXBlIHBh
cmFtZXRlciBoYXMgbm8gZWZmZWN0IGFuZCBjYW4gYmUgc2tpcHBlZC4KLSAgICB2b2lkIGFkZEV4
dHJhRmllbGRzVG9SZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYsIElzTWFpblJlc291cmNlLCBGcmFt
ZUxvYWRUeXBlID0gRnJhbWVMb2FkVHlwZTo6U3RhbmRhcmQpOworICAgIHZvaWQgYWRkRXh0cmFG
aWVsZHNUb1JlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiwgSXNNYWluUmVzb3VyY2UsIEZyYW1lTG9h
ZFR5cGUgPSBGcmFtZUxvYWRUeXBlOjpTdGFuZGFyZCwgU2hvdWxkVXBkYXRlQXBwQm91bmRWYWx1
ZSA9IFNob3VsZFVwZGF0ZUFwcEJvdW5kVmFsdWU6Olllcyk7CiAKICAgICB2b2lkIHNjaGVkdWxl
UmVmcmVzaElmTmVlZGVkKERvY3VtZW50JiwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDIxMmM5OTM2YzlkNWIyYWMzMjg1OThiMmE0OGYzNjAyZmFlZTgwYzEuLmVmNDAzNTM0Yjdj
ZWQ4MDIxNDBjMmY4MjExY2MxMmFlZTc3M2FiYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAy
MS0wNS0xOSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAg
ICAgICBsb2FkVVJMIG5vdCBhdHRyaWJ1dGluZyByZXF1ZXN0cyBhcyBhcHAgYm91bmQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkyMworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzgxNjA5MzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kv
YXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1
dGlvbi1sb2FkLXVybC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luLWFwcC1i
cm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9h
cHAtYm91bmQtYXR0cmlidXRpb24tcGluZy1sb2FkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcG9z
dC1yZXF1ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbi1h
cHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1wb3N0LXJlcXVlc3QuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L3Jl
c291cmNlcy9wb3N0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24v
cmVzb3VyY2VzL2NoZWNrLXBpbmctYXBwLWJvdW5kLWRhdGEucHk6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgVGhlc2UgdGVzdHMg
cmVseSBvbiBpbnRlcm5hbCBhZGRpdGlvbnMsIHNvIEkgd2lsbCBza2lwIGl0IGhlcmUgYW5kCisg
ICAgICAgIHVuc2tpcCBpbiB0aGUgZnV0dXJlLgorCiAyMDIxLTA1LTE4ICBEaWVnbyBQaW5vIEdh
cmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVW5yZXZpZXdlZCB0ZXN0
IGdhcmRlbmluZy4gVXBkYXRlIHR3byBiYXNlbGluZXMgb2YgaW5zcGVjdG9yIHRlc3QgdGhhdCB3
ZXJlIGZhaWxpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1i
cm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91
bmQtYXR0cmlidXRpb24tbG9hZC11cmwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3OTgxZjFl
MDg0YjBjZTI1N2FmNmYzZTVhNjBkMWY1ZDI1MmVmMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJp
YnV0aW9uLWxvYWQtdXJsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1Rlc3QgbG9hZFVS
TCByZXF1ZXN0cyBhcmUgc3VjY2VzZnVsbHkgYXR0cmlidXRlZCBhcyBhcHAtYm91bmQuCitQQVNT
IHN1Y2Nlc3NmdWxseSBsb2FkZWQgb25seSBhcHAtYm91bmQgcmVxdWVzdHMKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3Vu
ZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1h
cHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNjY2JjZjNmMjAxMTJmMWUxNmQ0MGVmNzk3ZTQ4ZDk4Mjc3NWNhNDAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZh
Y3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLmh0bWwKQEAgLTAsMCArMSw0OCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQo
J3J1blRlc3QoKScsIDApIj4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj5UZXN0IGxvYWRVUkwgcmVx
dWVzdHMgYXJlIHN1Y2Nlc2Z1bGx5IGF0dHJpYnV0ZWQgYXMgYXBwLWJvdW5kLjwvZGl2PgorPHBy
ZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbG9hZFVSTCgpIHsKKyAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IGRlc3RpbmF0aW9uT3JpZ2luICsgIi9pbi1h
cHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sIjsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKG1lc3NhZ2UgKyAnXG4nKSk7CisgICAgfQorCisgICAgY29uc3QgZGVzdGluYXRpb25Pcmln
aW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsKKyAgICBjb25zdCBzdGFydGluZ09yaWdpbiA9
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gPT09IHN0YXJ0aW5nT3JpZ2luKSB7Cisg
ICAgICAgICAgICBsb2FkVVJMKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB2YXIg
ZGlkTG9hZEFwcEJvdW5kUmVxdWVzdCA9IHRlc3RSdW5uZXIuZGlkTG9hZEFwcEJvdW5kUmVxdWVz
dCgpOworICAgICAgICAgICAgdmFyIGRpZExvYWROb25BcHBCb3VuZFJlcXVlc3QgPSB0ZXN0UnVu
bmVyLmRpZExvYWROb25BcHBCb3VuZFJlcXVlc3QoKTsKKworICAgICAgICAgICAgaWYgKGRpZExv
YWROb25BcHBCb3VuZFJlcXVlc3QpIHsKKyAgICAgICAgICAgICAgICBsb2coIkZBSUwgZGlkIGxv
YWQgbm9uIGFwcC1ib3VuZCByZXF1ZXN0Iik7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICghZGlkTG9hZEFw
cEJvdW5kUmVxdWVzdCkgeworICAgICAgICAgICAgICAgIGxvZygiRkFJTCBkaWQgbm90IGxvYWQg
YXBwLWJvdW5kIHJlcXVlc3QiKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbG9nKCJQQVNTIHN1Y2Nlc3NmdWxs
eSBsb2FkZWQgb25seSBhcHAtYm91bmQgcmVxdWVzdHMiKTsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2Vy
LXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0
dHJpYnV0aW9uLXBpbmctbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRiNzFhYmY3ZGRj
ODkwOWJkNDNiZDQyNDhlYWFmYTNjMmU4MjliZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRp
b24tcGluZy1sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0NPTlNPTEUgTUVTU0FH
RTogUEFTUyBzdWNjZXNzZnVsbHkgbG9hZGVkIG9ubHkgYXBwLWJvdW5kIHJlcXVlc3RzCitQaW5n
IHNlbnQgc3VjY2Vzc2Z1bGx5CitDT05URU5UX1RZUEU6IHRleHQvcGluZworSFRUUF9IT1NUOiAx
MjcuMC4wLjE6ODAwMAorSFRUUF9QSU5HX0ZST006IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbi1h
cHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbAor
SFRUUF9QSU5HX1RPOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMv
Y2hlY2stcGluZy1hcHAtYm91bmQtZGF0YS5weQorUkVRVUVTVF9NRVRIT0Q6IFBPU1QKK1JFUVVF
U1RfVVJJOiAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvc2F2ZS1waW5nLnB5CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0
dHJpYnV0aW9uLXBpbmctbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAt
YnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xOThiYzFhYzJiZTAwNmZkNWI1OTA5NDYxMjI1OGY3NmFkZmYwNWZlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5
L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbApAQCAtMCwwICsxLDMxIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vbmF2aWdhdGlv
bi9waW5nLWF0dHJpYnV0ZS9yZXNvdXJjZXMvdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3Vs
ZERvd25ncmFkZVJlZmVycmVyKGZhbHNlLCBmdW5jdGlvbiAoKSB7IH0pOworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworCisgICAgY2xp
Y2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImltZyIpKTsKK30KKword2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uICgpCit7CisgICAgY2xlYXJMYXN0UGluZ1Jlc3VsdEFuZFJ1blRlc3Qo
dGVzdCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpbWcgc3JjPSJub24t
ZXhpc3RlbnQtaW1hZ2UuanBnIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIgdXNlbWFwPSIjaW1h
Z2VtYXAiPgorICAgIDxtYXAgbmFtZT0iaW1hZ2VtYXAiPgorICAgICAgICA8YXJlYSBzaGFwZT0i
cmVjdCIgY29vcmRzPSIwLDAsMTI4LDEyOCIgaHJlZj0iLi4vbmF2aWdhdGlvbi9yZXNvdXJjZXMv
Y2hlY2stcGluZy1hcHAtYm91bmQtZGF0YS5weSIgcGluZz0iLi4vbmF2aWdhdGlvbi9yZXNvdXJj
ZXMvc2F2ZS1waW5nLnB5Ij4KKyAgICA8L21hcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91
bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcG9z
dC1yZXF1ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGI1ZTc5ODE1YzRkNTc4OTA5NTYy
NWZlMDUzZjNiODFiNmRkMWQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1wb3N0LXJl
cXVlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBQQVNT
IHN1Y2Nlc3NmdWxseSBsb2FkZWQgb25seSBhcHAtYm91bmQgcmVxdWVzdHMKK1Rlc3RzIGFwcCBi
b3VuZCByZXF1ZXN0cyBnZXQgbWFya2VkIGZvciBQT1NUIHJlcXVlc3RzLgorCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91
bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVz
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE3NzIzZmQzZjRjYmU1Y2EzMzk4OTc2NTk3MDhlOGNjZjE0ZmEz
MDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93
c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5odG1sCkBAIC0w
LDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyBhcHAgYm91bmQgcmVxdWVz
dHMgZ2V0IG1hcmtlZCBmb3IgUE9TVCByZXF1ZXN0cy48L3A+Cis8Zm9ybSBpZD0idGVzdEZvcm0i
IGFjdGlvbj0icmVzb3VyY2VzL3Bvc3QucHkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJy
ZXIiIG1ldGhvZD0icG9zdCI+Cis8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVGVzdCI+PC9p
bnB1dD4KKzxmb3JtPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRv
d3ModHJ1ZSk7Cit9CisKK2RvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOworCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4t
YXBwLWJyb3dzZXItcHJpdmFjeS9yZXNvdXJjZXMvcG9zdC5weSBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9yZXNvdXJjZXMvcG9zdC5weQpuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xZmNiYzNhMmZiMzIzMTE3MmRiOWI1OWJlY2U2NWMwOGM3MmRkNWE2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L3Jlc291
cmNlcy9wb3N0LnB5CkBAIC0wLDAgKzEsMjcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3JlZmVyZXIgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9S
RUZFUkVSJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcblxyXG4nCisgICAgJzxwPlJlZmVycmVyOiB7cmVmZXJlcn08L3A+XG4nCisgICAg
JzxzY3JpcHQ+XG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge3tcbicKKyAgICAnICAg
IHZhciBkaWRMb2FkQXBwQm91bmRSZXF1ZXN0ID0gdGVzdFJ1bm5lci5kaWRMb2FkQXBwQm91bmRS
ZXF1ZXN0KCk7XG4nCisgICAgJyAgICB2YXIgZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCA9IHRl
c3RSdW5uZXIuZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCgpO1xuJworICAgICcgICAgaWYgKGRp
ZExvYWROb25BcHBCb3VuZFJlcXVlc3QpIHt7XG4nCisgICAgJyAgICAgICAgY29uc29sZS5sb2co
IkZBSUwgZGlkIGxvYWQgbm9uIGFwcC1ib3VuZCByZXF1ZXN0Iik7XG4nCisgICAgJyAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJyAgICB9fVxuJworICAgICcgICAgaWYg
KCFkaWRMb2FkQXBwQm91bmRSZXF1ZXN0KSB7e1xuJworICAgICcgICAgICAgICBjb25zb2xlLmxv
ZygiRkFJTCBkaWQgbm90IGxvYWQgYXBwLWJvdW5kIHJlcXVlc3QiKTtcbicKKyAgICAnICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnICAgICB9fVxuJworICAgICcgICAg
Y29uc29sZS5sb2coIlBBU1Mgc3VjY2Vzc2Z1bGx5IGxvYWRlZCBvbmx5IGFwcC1ib3VuZCByZXF1
ZXN0cyIpO1xuJworICAgICcgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJ319
XG4nCisgICAgJzwvc2NyaXB0PlxuJy5mb3JtYXQocmVmZXJlcj1yZWZlcmVyKQorKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9jaGVjay1w
aW5nLWFwcC1ib3VuZC1kYXRhLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3Jlc291cmNlcy9jaGVjay1waW5nLWFwcC1ib3VuZC1kYXRhLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmZjVk
ZWYzNDA1MzJmOWRmNmE4MWY4NTQxMDQwOThlOTMzZDNlZDkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2NoZWNrLXBpbmctYXBw
LWJvdW5kLWRhdGEucHkKQEAgLTAsMCArMSw0NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCitmcm9tIHBpbmdfZmlsZV9wYXRo
IGltcG9ydCBwaW5nX2ZpbGVwYXRoCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTog
dGV4dC9odG1sXHJcblxyXG4nKQorCit3aGlsZSBub3Qgb3MucGF0aC5pc2ZpbGUocGluZ19maWxl
cGF0aCk6CisgICAgdGltZS5zbGVlcCgwLjAxKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8
aHRtbD48Ym9keT5cbicKKyAgICAnUGluZyBzZW50IHN1Y2Nlc3NmdWxseScKKykKKworcGluZ19m
aWxlID0gb3BlbihwaW5nX2ZpbGVwYXRoLCAncicpCitmb3IgbGluZSBpbiBwaW5nX2ZpbGUucmVh
ZGxpbmVzKCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnPGJyPnt9Jy5mb3JtYXQobGluZS5zdHJp
cCgpKSkKKworcGluZ19maWxlLmNsb3NlKCkKK2lmIG9zLnBhdGguaXNmaWxlKHBpbmdfZmlsZXBh
dGgpOgorICAgIG9zLnJlbW92ZShwaW5nX2ZpbGVwYXRoKQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICc8c2NyaXB0PicKKyAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7e1xuJworICAgICcg
ICAgdmFyIGRpZExvYWRBcHBCb3VuZFJlcXVlc3QgPSB0ZXN0UnVubmVyLmRpZExvYWRBcHBCb3Vu
ZFJlcXVlc3QoKTtcbicKKyAgICAnICAgIHZhciBkaWRMb2FkTm9uQXBwQm91bmRSZXF1ZXN0ID0g
dGVzdFJ1bm5lci5kaWRMb2FkTm9uQXBwQm91bmRSZXF1ZXN0KCk7XG4nCisgICAgJyAgICBpZiAo
ZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCkge3tcbicKKyAgICAnICAgICAgICBjb25zb2xlLmxv
ZygiRkFJTCBkaWQgbG9hZCBub24gYXBwLWJvdW5kIHJlcXVlc3QiKTtcbicKKyAgICAnICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnICAgIH19XG4nCisgICAgJyAgICBp
ZiAoIWRpZExvYWRBcHBCb3VuZFJlcXVlc3QpIHt7XG4nCisgICAgJyAgICAgICAgIGNvbnNvbGUu
bG9nKCJGQUlMIGRpZCBub3QgbG9hZCBhcHAtYm91bmQgcmVxdWVzdCIpO1xuJworICAgICcgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO1xuJworICAgICcgICAgIH19XG4nCisgICAgJyAg
ICBjb25zb2xlLmxvZygiUEFTUyBzdWNjZXNzZnVsbHkgbG9hZGVkIG9ubHkgYXBwLWJvdW5kIHJl
cXVlc3RzIik7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAn
fX1cbicKKyAgICAnPC9zY3JpcHQ+JworICAgICc8L2JvZHk+PC9odG1sPicKKykKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkNzdlNzViOWVh
ZGE5NzBmNzIyMGQ1YTVhMzM1Zjk5ZTU0MmQ5MjUxLi44YjFhZWU2M2VlMDQ5YTAzYzc4YTQ5ZTcy
MmY2ZjBlZTU4ZTg0NDgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xODE1LDYgKzE4MTUsOSBAQCBodHRwL3Rlc3RzL2luLWFwcC1icm93
c2VyLXByaXZhY3kvY29udGV4dC1zdHJpbmctcHJlZmxpZ2h0Lmh0bWwgWyBTa2lwIF0KIGh0dHAv
dGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcHJlZmxp
Z2h0LWFzeW5jLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFj
eS9hcHAtYm91bmQtYXR0cmlidXRpb24tcHJlZmxpZ2h0LXN5bmMuaHRtbCBbIFNraXAgXQogaHR0
cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1zcGVj
dWxhdGl2ZS1yZXZhbGlkYXRpb24uaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9pbi1hcHAtYnJv
d3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sIFsgU2tpcCBd
CitodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9u
LXBpbmctbG9hZC5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZh
Y3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5odG1sIFsgU2tpcCBdCiAKIHdl
YmtpdC5vcmcvYi8xNzUxOTMgZmFzdC9pbWFnZXMvYXN5bmMtaW1hZ2UtYm9keS1iYWNrZ3JvdW5k
LWltYWdlLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429245</attachid>
            <date>2021-05-20 17:06:37 -0700</date>
            <delta_ts>2021-05-21 09:03:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225923-20210520170637.patch</filename>
            <type>text/plain</type>
            <size>25082</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3ODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZhNzZjZTVkMjVjY2M0
NGFhNzEwNjJjMTdhYjUzZTFmYjcxNzBlOS4uMGNmNTEwYjcwNGUxODBlNzIzOWVjZDU3YzIxYTIz
NjJlNjY1MDFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA1LTIwICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIEZyYW1lTG9h
ZGVyOjpsb2FkVVJMLCBGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0IG5vdCBhdHRyaWJ1dGlu
ZyByZXF1ZXN0cyBhcyBhcHAgYm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNTkyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzgxNjA5MzM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6
IGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24t
bG9hZC11cmwuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbAorICAgICAgICAgICAg
ICAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlv
bi1wb3N0LXJlcXVlc3QuaHRtbAorCisgICAgICAgIFVwZGF0ZSBGcmFtZUxvYWRlcjo6YWRkRXh0
cmFGaWVsZHNUb1JlcXVlc3QgdG8gYWRkIHRoZSBhcHAtYm91bmQKKyAgICAgICAgdmFsdWUgdG8g
YSByZXF1ZXN0LCBsaWtlIGZvciBsb2FkVVJMLCBsb2FkUG9zdFJlcXVlc3QsIG9yIHBpbmcgbG9h
ZHMuCisgICAgICAgIENoYW5nZSB0aGUgbmFtZSB0byByZWZsZWN0IHRoaXMgdXNlIGNhc2UsIHdo
aWNoIHVwZGF0ZXMgdGhlIHJlcXVlc3QKKyAgICAgICAgYnV0IGRvZXMgbm90IGFkZCBhbnkgZXh0
cmEgaGVhZGVyIGZpZWxkcy4KKworICAgICAgICBPdGhlciBjYXNlcyBhcmUgYWxyZWFkeSBjb3Zl
cmVkIGluIFdlYkxvYWRlclN0cmF0ZWd5Ojpsb2FkUmVzb3VyY2UuCisKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRV
UkwpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWQpOgorICAgICAgICBUaGUg
bWFpbiBuYXZpZ2F0aW9uIHVzZXMgdGhlIG9sZCBkb2N1bWVudCBsb2FkZXIsIHNvIHdlIGRvbid0
IHdhbnQgdG8KKyAgICAgICAgc2V0IHRoZSBhcHAtYm91bmQgdmFsdWUgYmFzZWQgb24gdGhhdC4g
VGhlIHJlcXVlc3Qgc2hvdWxkIGhhdmUgdGhlCisgICAgICAgIGNvcnJlY3QgdmFsdWUgYWxyZWFk
eSBmcm9tIHRoZSBVSVByb2Nlc3MuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6dXBk
YXRlUmVxdWVzdEFuZEFkZEV4dHJhRmllbGRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpsb2FkUG9zdFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICBXZSBjYW4gcmVtb3ZlIHNldHRpbmcg
dGhlIGFwcCBib3VuZCB2YWx1ZSBoZXJlIG5vdyB0aGF0IHdlIHNldCB0aGUgdmFsdWUgaW4KKyAg
ICAgICAgYWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6bG9hZERpZmZlcmVudERvY3VtZW50SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6YWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9QaW5nTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBpbmdMb2FkZXI6OmxvYWRJbWFnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQaW5nTG9hZGVyOjpzZW5kUGluZyk6CisgICAgICAgIChXZWJDb3JlOjpQaW5nTG9hZGVyOjpz
ZW5kVmlvbGF0aW9uUmVwb3J0KToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmluaXQpOgorICAgICAgICAqIGxv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZTo6bG9hZCk6CisKIDIwMjEtMDUtMjAgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxl
c2hAZ21haWwuY29tPgogCiAgICAgICAgIFtXZWJJRExdIFJlbW92ZSBbSW1wbGljaXRUaGlzXSBh
bmQgW0N1c3RvbVByb3h5VG9KU09iamVjdF0gZXh0ZW5kZWQgYXR0cmlidXRlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMGUxYmMxYjViNDkwMGU5OTRlMTE5YjMxMzJh
YzgzN2IxNWMxM2Y4NC4uZTkzN2NmZTkxNzY2NjJlZGRjZmMzOGYyYTFjMDY2ZTA4OGM5NTRlMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0xMzQwLDcgKzEzNDAsNyBA
QCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkVVJMKEZyYW1lTG9hZFJlcXVlc3QmJiBmcmFtZUxvYWRS
ZXF1ZXN0LCBjb25zdCBTdHJpbmcmIHJlZgogICAgIGlmICghcmVmZXJyZXIuaXNFbXB0eSgpKQog
ICAgICAgICByZXF1ZXN0LnNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAKLSAgICBhZGRFeHRy
YUZpZWxkc1RvUmVxdWVzdChyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6WWVzLCBuZXdMb2FkVHlw
ZSk7CisgICAgdXBkYXRlUmVxdWVzdEFuZEFkZEV4dHJhRmllbGRzKHJlcXVlc3QsIElzTWFpblJl
c291cmNlOjpZZXMsIG5ld0xvYWRUeXBlKTsKIAogICAgIEFTU0VSVChuZXdMb2FkVHlwZSAhPSBG
cmFtZUxvYWRUeXBlOjpTYW1lKTsKIApAQCAtMTQ5Miw3ICsxNDkyLDcgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6bG9hZChEb2N1bWVudExvYWRlciYgbmV3RG9jdW1lbnRMb2FkZXIpCiAgICAgUmVzb3Vy
Y2VSZXF1ZXN0JiByID0gbmV3RG9jdW1lbnRMb2FkZXIucmVxdWVzdCgpOwogICAgIC8vIEZJWE1F
OiBVc2luZyBtX2xvYWRUeXBlIHNlZW1zIHdyb25nIGhlcmUuCiAgICAgLy8gSWYgd2UgYXJlIG9u
bHkgcHJlcGFyaW5nIHRvIGxvYWQgdGhlIG1haW4gcmVzb3VyY2UsIHRoYXQgaXMgcHJldmlvdXMg
bG9hZCdzIGxvYWQgdHlwZSEKLSAgICBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyLCBJc01haW5S
ZXNvdXJjZTo6WWVzLCBtX2xvYWRUeXBlKTsKKyAgICB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFG
aWVsZHMociwgSXNNYWluUmVzb3VyY2U6OlllcywgbV9sb2FkVHlwZSwgU2hvdWxkVXBkYXRlQXBw
Qm91bmRWYWx1ZTo6Tm8pOwogICAgIEZyYW1lTG9hZFR5cGUgdHlwZTsKIAogICAgIGlmIChzaG91
bGRUcmVhdFVSTEFzU2FtZUFzQ3VycmVudChuZXdEb2N1bWVudExvYWRlci5vcmlnaW5hbFJlcXVl
c3QoKS51cmwoKSkpIHsKQEAgLTI4NzcsNyArMjg3Nyw3IEBAIFJlc291cmNlUmVxdWVzdENhY2hl
UG9saWN5IEZyYW1lTG9hZGVyOjpkZWZhdWx0UmVxdWVzdENhY2hpbmdQb2xpY3koY29uc3QgUmVz
b3VyCiAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5OjpVc2VQcm90b2NvbENh
Y2hlUG9saWN5OwogfQogCi12b2lkIEZyYW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVz
dChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIElzTWFpblJlc291cmNlIG1haW5SZXNvdXJjZSwg
RnJhbWVMb2FkVHlwZSBsb2FkVHlwZSkKK3ZvaWQgRnJhbWVMb2FkZXI6OnVwZGF0ZVJlcXVlc3RB
bmRBZGRFeHRyYUZpZWxkcyhSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIElzTWFpblJlc291cmNl
IG1haW5SZXNvdXJjZSwgRnJhbWVMb2FkVHlwZSBsb2FkVHlwZSwgU2hvdWxkVXBkYXRlQXBwQm91
bmRWYWx1ZSBzaG91bGRVcGRhdGUpCiB7CiAgICAgLy8gSWYgdGhlIHJlcXVlc3QgY2FtZSBmcm9t
IGEgcHJldmlvdXMgcHJvY2VzcyBkdWUgdG8gcHJvY2Vzcy1zd2FwLW9uLW5hdmlnYXRpb24gdGhl
biB3ZSBzaG91bGQgbm90IG1vZGlmeSB0aGUgcmVxdWVzdC4KICAgICBpZiAobV9jdXJyZW50TG9h
ZENvbnRpbnVpbmdTdGF0ZSA9PSBMb2FkQ29udGludWluZ1N0YXRlOjpDb250aW51aW5nV2l0aFJl
cXVlc3QpCkBAIC0yOTQ2LDYgKzI5NDYsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjphZGRFeHRyYUZp
ZWxkc1RvUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIElzTWFpblJlc291cgogICAg
ICAgICAvLyBBbHdheXMgdHJ5IFVURi04LiBJZiB0aGF0IGZhaWxzLCB0cnkgZnJhbWUgZW5jb2Rp
bmcgKGlmIGFueSkgYW5kIHRoZW4gdGhlIGRlZmF1bHQuCiAgICAgICAgIHJlcXVlc3Quc2V0UmVz
cG9uc2VDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkoIlVURi04IiwgbV9m
cmFtZS5kb2N1bWVudCgpLT5lbmNvZGluZygpLCBtX2ZyYW1lLnNldHRpbmdzKCkuZGVmYXVsdFRl
eHRFbmNvZGluZ05hbWUoKSk7CiAgICAgfQorCisgICAgaWYgKHNob3VsZFVwZGF0ZSA9PSBTaG91
bGRVcGRhdGVBcHBCb3VuZFZhbHVlOjpZZXMgJiYgbV9mcmFtZS5tYWluRnJhbWUoKS5sb2FkZXIo
KS5kb2N1bWVudExvYWRlcigpKQorICAgICAgICByZXF1ZXN0LnNldElzQXBwQm91bmQobV9mcmFt
ZS5tYWluRnJhbWUoKS5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLT5sYXN0TmF2aWdhdGlvbldh
c0FwcEJvdW5kKCkpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpzY2hlZHVsZVJlZnJlc2hJZk5l
ZWRlZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgY29udGVudCkKQEAgLTMwMzMs
NyArMzAzNiw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRQb3N0UmVxdWVzdChGcmFtZUxvYWRS
ZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiByZWZlCiAgICAgd29ya2luZ1Jlc291cmNl
UmVxdWVzdC5zZXRIVFRQTWV0aG9kKCJQT1NUIik7CiAgICAgd29ya2luZ1Jlc291cmNlUmVxdWVz
dC5zZXRIVFRQQm9keShpblJlcXVlc3QuaHR0cEJvZHkoKSk7CiAgICAgd29ya2luZ1Jlc291cmNl
UmVxdWVzdC5zZXRIVFRQQ29udGVudFR5cGUoY29udGVudFR5cGUpOwotICAgIGFkZEV4dHJhRmll
bGRzVG9SZXF1ZXN0KHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIElzTWFpblJlc291cmNlOjpZZXMs
IGxvYWRUeXBlKTsKKyAgICB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMod29ya2luZ1Jl
c291cmNlUmVxdWVzdCwgSXNNYWluUmVzb3VyY2U6OlllcywgbG9hZFR5cGUpOwogCiAgICAgaWYg
KERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUuZG9jdW1lbnQoKSkKICAgICAgICAgZG9jdW1l
bnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVk
ZWQod29ya2luZ1Jlc291cmNlUmVxdWVzdCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpJbnNlY3Vy
ZVJlcXVlc3RUeXBlOjpMb2FkKTsKQEAgLTMwODMsNyArMzA4Niw3IEBAIHVuc2lnbmVkIGxvbmcg
RnJhbWVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1CiAKICAgICBpbml0aWFsUmVxdWVzdC5zZXRGaXJzdFBhcnR5Rm9yQ29va2llcyht
X2ZyYW1lLm1haW5GcmFtZSgpLmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCktPnJlcXVlc3QoKS51
cmwoKSk7CiAgICAgCi0gICAgYWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QoaW5pdGlhbFJlcXVlc3Qs
IElzTWFpblJlc291cmNlOjpObyk7CisgICAgdXBkYXRlUmVxdWVzdEFuZEFkZEV4dHJhRmllbGRz
KGluaXRpYWxSZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOwogCiAgICAgYXBwbHlVc2VyQWdl
bnRJZk5lZWRlZChpbml0aWFsUmVxdWVzdCk7CiAKQEAgLTMxMTEsOSArMzExNCw2IEBAIHVuc2ln
bmVkIGxvbmcgRnJhbWVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1CiAKICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1
cml0eVBvbGljeSgpLT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQobmV3UmVxdWVzdCwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpMb2FkKTsKIAotICAg
IGlmIChtX2RvY3VtZW50TG9hZGVyKQotICAgICAgICBuZXdSZXF1ZXN0LnNldElzQXBwQm91bmQo
bV9kb2N1bWVudExvYWRlci0+bGFzdE5hdmlnYXRpb25XYXNBcHBCb3VuZCgpKTsKLQogICAgIGlm
IChlcnJvci5pc051bGwoKSkgewogICAgICAgICBBU1NFUlQoIW5ld1JlcXVlc3QuaXNOdWxsKCkp
OwogCkBAIC0zNzgzLDcgKzM3ODMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50
RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBIaXN0b3J5SXRlbSogZnJvbQogICAgICAg
ICBhdXRvIHNlY3VyaXR5T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmco
aXRlbS5yZWZlcnJlcigpKTsKICAgICAgICAgYWRkSFRUUE9yaWdpbklmTmVlZGVkKHJlcXVlc3Qs
IHNlY3VyaXR5T3JpZ2luLT50b1N0cmluZygpKTsKIAotICAgICAgICBhZGRFeHRyYUZpZWxkc1Rv
UmVxdWVzdChyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6WWVzLCBsb2FkVHlwZSk7CisgICAgICAg
IHVwZGF0ZVJlcXVlc3RBbmRBZGRFeHRyYUZpZWxkcyhyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6
WWVzLCBsb2FkVHlwZSk7CiAgICAgICAgIAogICAgICAgICAvLyBGSVhNRTogU2xpZ2h0IGhhY2sg
dG8gdGVzdCBpZiB0aGUgTlNVUkwgY2FjaGUgY29udGFpbnMgdGhlIHBhZ2Ugd2UncmUgZ29pbmcg
dG8uCiAgICAgICAgIC8vIFdlIHdhbnQgdG8ga25vdyB0aGlzIGJlZm9yZSB0YWxraW5nIHRvIHRo
ZSBwb2xpY3kgZGVsZWdhdGUsIHNpbmNlIGl0IGFmZmVjdHMgd2hldGhlciAKQEAgLTM4MjgsNyAr
MzgyOCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlz
dG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdGVtKiBmcm9tCiAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgfQogCi0gICAgICAgIGFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0
KHJlcXVlc3QsIElzTWFpblJlc291cmNlOjpZZXMsIGxvYWRUeXBlKTsKKyAgICAgICAgdXBkYXRl
UmVxdWVzdEFuZEFkZEV4dHJhRmllbGRzKHJlcXVlc3QsIElzTWFpblJlc291cmNlOjpZZXMsIGxv
YWRUeXBlKTsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdEZvck9yaWdpbmFsVVJM
KHJlcXVlc3QpOwogICAgICAgICByZXF1ZXN0Rm9yT3JpZ2luYWxVUkwuc2V0VVJMKGl0ZW1Pcmln
aW5hbFVSTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IDg5NTBjZWYwOGQ3
YzUyYjgxYjI4YzE3MTFmMDA4MjU1NzM3MzhiMDkuLjViNTgwNGUwY2MyMDc1Njg3OWUyNjcyZjYz
MDRlMWQxYjdjNzViZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC04Niw2
ICs4Niw3IEBAIGVudW0gY2xhc3MgTmF2aWdhdGlvblBvbGljeURlY2lzaW9uIDogdWludDhfdDsK
IGVudW0gY2xhc3MgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkIDogYm9vbDsKIGVudW0gY2xh
c3MgVXNlZExlZ2FjeVRMUyA6IGJvb2w7CiBlbnVtIGNsYXNzIElzTWFpblJlc291cmNlIDogYm9v
bCB7IE5vLCBZZXMgfTsKK2VudW0gY2xhc3MgU2hvdWxkVXBkYXRlQXBwQm91bmRWYWx1ZSB7IE5v
LCBZZXMgfTsKIAogc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCkBAIC0zMTgsNyArMzE5LDcgQEAg
cHVibGljOgogICAgIGJvb2wgYWx3YXlzQWxsb3dMb2NhbFdlYmFyY2hpdmUoKSBjb25zdCB7IHJl
dHVybiBtX2Fsd2F5c0FsbG93TG9jYWxXZWJhcmNoaXZlOyB9CiAKICAgICAvLyBGb3Igc3VicmVz
b3VyY2UgcmVxdWVzdHMgdGhlIEZyYW1lTG9hZFR5cGUgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3Qg
YW5kIGNhbiBiZSBza2lwcGVkLgotICAgIHZvaWQgYWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QoUmVz
b3VyY2VSZXF1ZXN0JiwgSXNNYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUgPSBGcmFtZUxvYWRU
eXBlOjpTdGFuZGFyZCk7CisgICAgdm9pZCB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMo
UmVzb3VyY2VSZXF1ZXN0JiwgSXNNYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUgPSBGcmFtZUxv
YWRUeXBlOjpTdGFuZGFyZCwgU2hvdWxkVXBkYXRlQXBwQm91bmRWYWx1ZSA9IFNob3VsZFVwZGF0
ZUFwcEJvdW5kVmFsdWU6Olllcyk7CiAKICAgICB2b2lkIHNjaGVkdWxlUmVmcmVzaElmTmVlZGVk
KERvY3VtZW50JiwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Bp
bmdMb2FkZXIuY3BwCmluZGV4IGMwM2YyZTIxZTZjNTQwMDYxYmEzNjZlZmFkNDRhODIwODMxZDk4
NDAuLjk2OGY0YjE0ZDY4MjBiMGJmZTYzOWFkZTJhNjc1MGFiZGE3YWZjMjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFBpbmdMb2Fk
ZXI6OmxvYWRJbWFnZShGcmFtZSYgZnJhbWUsIGNvbnN0IFVSTCYgdXJsKQogICAgIFN0cmluZyBy
ZWZlcnJlciA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZVJlZmVycmVySGVhZGVyKGRvY3VtZW50
LnJlZmVycmVyUG9saWN5KCksIHJlcXVlc3QudXJsKCksIGZyYW1lLmxvYWRlcigpLm91dGdvaW5n
UmVmZXJyZXIoKSk7CiAgICAgaWYgKCFyZWZlcnJlci5pc0VtcHR5KCkpCiAgICAgICAgIHJlcXVl
c3Quc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKLSAgICBmcmFtZS5sb2FkZXIoKS5hZGRFeHRy
YUZpZWxkc1RvUmVxdWVzdChyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOworICAgIGZyYW1l
LmxvYWRlcigpLnVwZGF0ZVJlcXVlc3RBbmRBZGRFeHRyYUZpZWxkcyhyZXF1ZXN0LCBJc01haW5S
ZXNvdXJjZTo6Tm8pOwogCiAgICAgc3RhcnRQaW5nTG9hZChmcmFtZSwgcmVxdWVzdCwgV1RGTW92
ZShvcmlnaW5hbFJlcXVlc3RIZWFkZXIpLCBTaG91bGRGb2xsb3dSZWRpcmVjdHM6OlllcywgQ29u
dGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6RG9Qb2xpY3lDaGVjaywgUmVmZXJyZXJQb2xp
Y3k6OkVtcHR5U3RyaW5nKTsKIH0KQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIFBpbmdMb2FkZXI6
OnNlbmRQaW5nKEZyYW1lJiBmcmFtZSwgY29uc3QgVVJMJiBwaW5nVVJMLCBjb25zdCBVUkwmIGRl
c3RpbmF0aQogICAgIGF1dG8mIHNvdXJjZU9yaWdpbiA9IGRvY3VtZW50LnNlY3VyaXR5T3JpZ2lu
KCk7CiAgICAgRnJhbWVMb2FkZXI6OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChyZXF1ZXN0LCBTZWN1
cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIoZG9jdW1lbnQucmVmZXJyZXJQb2xpY3ko
KSwgcmVxdWVzdC51cmwoKSwgc291cmNlT3JpZ2luKSk7CiAKLSAgICBmcmFtZS5sb2FkZXIoKS5h
ZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOworICAg
IGZyYW1lLmxvYWRlcigpLnVwZGF0ZVJlcXVlc3RBbmRBZGRFeHRyYUZpZWxkcyhyZXF1ZXN0LCBJ
c01haW5SZXNvdXJjZTo6Tm8pOwogICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBI
ZWFkZXJOYW1lOjpQaW5nVG8sIGRlc3RpbmF0aW9uVVJMLnN0cmluZygpKTsKICAgICBpZiAoIVNl
Y3VyaXR5UG9saWN5OjpzaG91bGRIaWRlUmVmZXJyZXIocGluZ1VSTCwgZnJhbWUubG9hZGVyKCku
b3V0Z29pbmdSZWZlcnJlcigpKSkKICAgICAgICAgcmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQo
SFRUUEhlYWRlck5hbWU6OlBpbmdGcm9tLCBkb2N1bWVudC51cmwoKS5zdHJpbmcoKSk7CkBAIC0x
ODQsNyArMTg0LDcgQEAgdm9pZCBQaW5nTG9hZGVyOjpzZW5kVmlvbGF0aW9uUmVwb3J0KEZyYW1l
JiBmcmFtZSwgY29uc3QgVVJMJiByZXBvcnRVUkwsIFJlZjxGb3IKIAogICAgIEhUVFBIZWFkZXJN
YXAgb3JpZ2luYWxSZXF1ZXN0SGVhZGVyID0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCk7CiAK
LSAgICBmcmFtZS5sb2FkZXIoKS5hZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyZXF1ZXN0LCBJc01h
aW5SZXNvdXJjZTo6Tm8pOworICAgIGZyYW1lLmxvYWRlcigpLnVwZGF0ZVJlcXVlc3RBbmRBZGRF
eHRyYUZpZWxkcyhyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOwogCiAgICAgU3RyaW5nIHJl
ZmVycmVyID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlUmVmZXJyZXJIZWFkZXIoZG9jdW1lbnQu
cmVmZXJyZXJQb2xpY3koKSwgcmVwb3J0VVJMLCBmcmFtZS5sb2FkZXIoKS5vdXRnb2luZ1JlZmVy
cmVyKCkpOwogICAgIGlmICghcmVmZXJyZXIuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjQ2NzMwMjdiNzA2MzViMTI5ZDAxYjllNDJlNTli
YzQxZTkzNjI2YS4uNzU4NTgzZGFhNWQ2MjJhMTljODllNGM3ZDZlMTc4ODBlOGU3NzExMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xNTYsNyArMTU2LDcg
QEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6aW5pdChSZXNvdXJjZVJlcXVlc3QmJiBjbGllbnRSZXF1
ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2kKICAgICB9CiAKICAgICAvLyBUaGUgdmFyaW91cyBw
bHVnLWluIGltcGxlbWVudGF0aW9ucyBjYWxsIGRpcmVjdGx5IHRvIFJlc291cmNlTG9hZGVyOjps
b2FkKCkgaW5zdGVhZCBvZiBwaXBpbmcgcmVxdWVzdHMKLSAgICAvLyB0aHJvdWdoIEZyYW1lTG9h
ZGVyLiBBcyBhIHJlc3VsdCwgdGhleSBtaXNzIHRoZSBGcmFtZUxvYWRlcjo6YWRkRXh0cmFGaWVs
ZHNUb1JlcXVlc3QoKSBzdGVwIHdoaWNoIHNldHMKKyAgICAvLyB0aHJvdWdoIEZyYW1lTG9hZGVy
LiBBcyBhIHJlc3VsdCwgdGhleSBtaXNzIHRoZSBGcmFtZUxvYWRlcjo6dXBkYXRlUmVxdWVzdEFu
ZEFkZEV4dHJhRmllbGRzKCkgc3RlcCB3aGljaCBzZXRzCiAgICAgLy8gdXAgdGhlIDFzdCBwYXJ0
eSBmb3IgY29va2llcyBVUkwgYW5kIFNhbWUtU2l0ZSBpbmZvLiBVbnRpbCBwbHVnLWluIGltcGxl
bWVudGF0aW9ucyBjYW4gYmUgcmVpZ25lZCBpbgogICAgIC8vIHRvIHBpcGUgdGhyb3VnaCB0aGF0
IG1ldGhvZCwgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhlcmUgaXMgYWx3YXlzIGJvdGggYSAxc3Qg
cGFydHkgZm9yIGNvb2tpZXMgc2V0IGFuZAogICAgIC8vIFNhbWUtU2l0ZSBpbmZvLiBTZWUgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjM5MT4uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBjMDY1ZmMwZGIz
YWZkNTk1ZGNlMjUyNTg0YjliM2ZmZTEzNDY3NzUxLi5hNGE3YzJlZGQ3YjM4Mzc4YmYxMjNhYjJj
NWFiYmRmNDg5NDg3ODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5jcHAKQEAgLTI0NCw3ICsyNDQsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjps
b2FkKENhY2hlZFJlc291cmNlTG9hZGVyJiBjYWNoZWRSZXNvdXJjZUxvYWRlcikKICAgICAvLyBO
YXZpZ2F0aW9uIGFsZ29yaXRobSBpcyBzZXR0aW5nIHVwIHRoZSByZXF1ZXN0IGJlZm9yZSBzZW5k
aW5nIGl0IHRvIENhY2hlZFJlc291cmNlTG9hZGVyP0NhY2hlZFJlc291cmNlLgogICAgIC8vIFNv
IG5vIG5lZWQgZm9yIGV4dHJhIGZpZWxkcyBmb3IgTWFpblJlc291cmNlLgogICAgIGlmICh0eXBl
KCkgIT0gVHlwZTo6TWFpblJlc291cmNlKQotICAgICAgICBmcmFtZUxvYWRlci5hZGRFeHRyYUZp
ZWxkc1RvUmVxdWVzdChtX3Jlc291cmNlUmVxdWVzdCwgSXNNYWluUmVzb3VyY2U6Ok5vKTsKKyAg
ICAgICAgZnJhbWVMb2FkZXIudXBkYXRlUmVxdWVzdEFuZEFkZEV4dHJhRmllbGRzKG1fcmVzb3Vy
Y2VSZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOwogCiAgICAgLy8gRklYTUU6IEl0J3MgdW5m
b3J0dW5hdGUgdGhhdCB0aGUgY2FjaGUgbGF5ZXIgYW5kIGJlbG93IGdldCB0byBrbm93IGFueXRo
aW5nIGFib3V0IGZyYWdtZW50IGlkZW50aWZpZXJzLgogICAgIC8vIFdlIHNob3VsZCBsb29rIGlu
dG8gcmVtb3ZpbmcgdGhlIGV4cGVjdGF0aW9uIG9mIHRoYXQga25vd2xlZGdlIGZyb20gdGhlIHBs
YXRmb3JtIG5ldHdvcmsgc3RhY2tzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tCmluZGV4IDM4ZDJl
ZTM1MWFlMTg4YjhiZWY5NzM4MDAxNThiYzEwNWRjMDFkYjguLjMyZjFmNDMzYzc0M2U3ZWFhY2Zk
ZThmOGJmMDNhOTdlZTFmNGRhNTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0luQXBwQnJvd3NlclByaXZhY3kubW0KQEAgLTE0MjAs
NyArMTQyMCw3IEBAIFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgQWJvdXRCbGFua1N1YkZyYW1l
TWF0Y2hlc1RvcEZyYW1lTm9uQXBwQm91bmQpCiAKICNlbmRpZiAvLyBFTkFCTEUoQVBQX0JPVU5E
X0RPTUFJTlMpCiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBFTkFCTEUoQVBQX0JP
VU5EX1JFUVVFU1RTKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiBURVNUKEluQXBwQnJv
d3NlclByaXZhY3ksIEFwcEJvdW5kUmVxdWVzdCkKIHsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGQ1NWIxOWRjMzA1OTY0OTkzMTEyNDZhNDA2NWY3NTVkMTRiZTEwNjMuLmNkZTYyZTMyYjJiZDgx
NTk4OGUxOWU3NjVlZDdkZjdhOTkxODVkNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0w
NS0yMCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAg
ICBGcmFtZUxvYWRlcjo6bG9hZFVSTCwgRnJhbWVMb2FkZXI6OmxvYWRQb3N0UmVxdWVzdCBub3Qg
YXR0cmlidXRpbmcgcmVxdWVzdHMgYXMgYXBwIGJvdW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU5MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc4MTYwOTMzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1
dGlvbi1sb2FkLXVybC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
aW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tbG9hZC11cmwuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2Fw
cC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0
aW9uLXBpbmctbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luLWFwcC1i
cm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFj
eS9hcHAtYm91bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9yZXNvdXJjZXMvcG9zdC5weTog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9jaGVjay1w
aW5nLWFwcC1ib3VuZC1kYXRhLnB5OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFRoZXNlIHRlc3RzIHJlbHkgb24gaW50ZXJuYWwg
YWRkaXRpb25zLCBzbyBJIHdpbGwgc2tpcCBpdCBoZXJlIGFuZAorICAgICAgICB1bnNraXAgaW4g
dGhlIGZ1dHVyZS4KKwogMjAyMS0wNS0yMCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBn
bWFpbC5jb20+CiAKICAgICAgICAgW1dlYklETF0gUmVtb3ZlIFtJbXBsaWNpdFRoaXNdIGFuZCBb
Q3VzdG9tUHJveHlUb0pTT2JqZWN0XSBleHRlbmRlZCBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0
dHJpYnV0aW9uLWxvYWQtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tbG9hZC11cmwtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3OTgxZjFlMDg0YjBjZTI1N2FmNmYzZTVhNjBkMWY1ZDI1
MmVmMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1i
cm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKK1Rlc3QgbG9hZFVSTCByZXF1ZXN0cyBhcmUgc3VjY2VzZnVsbHkg
YXR0cmlidXRlZCBhcyBhcHAtYm91bmQuCitQQVNTIHN1Y2Nlc3NmdWxseSBsb2FkZWQgb25seSBh
cHAtYm91bmQgcmVxdWVzdHMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3Vu
ZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjY2JjZjNmMjAxMTJmMWUx
NmQ0MGVmNzk3ZTQ4ZDk4Mjc3NWNhNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxv
YWQtdXJsLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQoJ3J1blRlc3QoKScsIDApIj4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj5UZXN0IGxvYWRVUkwgcmVxdWVzdHMgYXJlIHN1Y2Nlc2Z1bGx5IGF0dHJp
YnV0ZWQgYXMgYXBwLWJvdW5kLjwvZGl2PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8c2Ny
aXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gbG9hZFVSTCgpIHsKKyAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJl
ZiA9IGRlc3RpbmF0aW9uT3JpZ2luICsgIi9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3Vu
ZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sIjsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2co
bWVzc2FnZSkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UgKyAnXG4nKSk7CisgICAg
fQorCisgICAgY29uc3QgZGVzdGluYXRpb25PcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
IjsKKyAgICBjb25zdCBzdGFydGluZ09yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwor
ICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5v
cmlnaW4gPT09IHN0YXJ0aW5nT3JpZ2luKSB7CisgICAgICAgICAgICBsb2FkVVJMKCk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICB2YXIgZGlkTG9hZEFwcEJvdW5kUmVxdWVzdCA9IHRl
c3RSdW5uZXIuZGlkTG9hZEFwcEJvdW5kUmVxdWVzdCgpOworICAgICAgICAgICAgdmFyIGRpZExv
YWROb25BcHBCb3VuZFJlcXVlc3QgPSB0ZXN0UnVubmVyLmRpZExvYWROb25BcHBCb3VuZFJlcXVl
c3QoKTsKKworICAgICAgICAgICAgaWYgKGRpZExvYWROb25BcHBCb3VuZFJlcXVlc3QpIHsKKyAg
ICAgICAgICAgICAgICBsb2coIkZBSUwgZGlkIGxvYWQgbm9uIGFwcC1ib3VuZCByZXF1ZXN0Iik7
CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGlmICghZGlkTG9hZEFwcEJvdW5kUmVxdWVzdCkgeworICAgICAgICAg
ICAgICAgIGxvZygiRkFJTCBkaWQgbm90IGxvYWQgYXBwLWJvdW5kIHJlcXVlc3QiKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgbG9nKCJQQVNTIHN1Y2Nlc3NmdWxseSBsb2FkZWQgb25seSBhcHAtYm91bmQgcmVx
dWVzdHMiKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9
CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0
aW9uLXBpbmctbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFw
cC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGRiNzFhYmY3ZGRjODkwOWJkNDNiZDQyNDhlYWFmYTNjMmU4Mjli
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dz
ZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcGluZy1sb2FkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogUEFTUyBzdWNjZXNzZnVsbHkgbG9hZGVk
IG9ubHkgYXBwLWJvdW5kIHJlcXVlc3RzCitQaW5nIHNlbnQgc3VjY2Vzc2Z1bGx5CitDT05URU5U
X1RZUEU6IHRleHQvcGluZworSFRUUF9IT1NUOiAxMjcuMC4wLjE6ODAwMAorSFRUUF9QSU5HX0ZS
T006IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3Vu
ZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbAorSFRUUF9QSU5HX1RPOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvY2hlY2stcGluZy1hcHAtYm91bmQtZGF0YS5w
eQorUkVRVUVTVF9NRVRIT0Q6IFBPU1QKK1JFUVVFU1RfVVJJOiAvbmF2aWdhdGlvbi9yZXNvdXJj
ZXMvc2F2ZS1waW5nLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFw
cC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1h
dHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGJiMTA2N2M3ZGE4YjE1MGU5
YjAwYzkxYjhlNTI1ODA0ZDUyZDliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5n
LWxvYWQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vbmF2aWdhdGlvbi9waW5nLWF0dHJpYnV0ZS9yZXNvdXJjZXMv
dXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIg
JiYgd2luZG93LmludGVybmFscykgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZERvd25ncmFkZVJlZmVycmVyKGZhbHNlLCBm
dW5jdGlvbiAoKSB7IH0pOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRIeXBlcmxpbmtBdWRp
dGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGNsaWNrRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCJpbWciKSk7Cit9CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKQoreworICAgIGNs
ZWFyTGFzdFBpbmdSZXN1bHRBbmRSdW5UZXN0KHRlc3QpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8aW1nIHNyYz0ibm9uLWV4aXN0ZW50LWltYWdlLmpwZyIgd2lkdGg9IjEy
OCIgaGVpZ2h0PSIxMjgiIHVzZW1hcD0iI2ltYWdlbWFwIj4KKyAgICA8bWFwIG5hbWU9ImltYWdl
bWFwIj4KKyAgICAgICAgPGFyZWEgc2hhcGU9InJlY3QiIGNvb3Jkcz0iMCwwLDEyOCwxMjgiIGhy
ZWY9Ii4uL25hdmlnYXRpb24vcmVzb3VyY2VzL2NoZWNrLXBpbmctYXBwLWJvdW5kLWRhdGEucHki
IHBpbmc9Ii4uL25hdmlnYXRpb24vcmVzb3VyY2VzL3NhdmUtcGluZy5weSI+CisgICAgPC9tYXA+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
LWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZh
Y3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNThiNWU3OTgxNWM0ZDU3ODkwOTU2MjVmZTA1M2YzYjgxYjZkZDFkMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9h
cHAtYm91bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogUEFTUyBzdWNjZXNzZnVsbHkgbG9hZGVkIG9ubHkgYXBw
LWJvdW5kIHJlcXVlc3RzCitUZXN0cyBhcHAgYm91bmQgcmVxdWVzdHMgZ2V0IG1hcmtlZCBmb3Ig
UE9TVCByZXF1ZXN0cy4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
LWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1i
b3VuZC1hdHRyaWJ1dGlvbi1wb3N0LXJlcXVlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzcyM2ZkM2Y0
Y2JlNWNhMzM5ODk3NjU5NzA4ZThjY2YxNGZhMzAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1
dGlvbi1wb3N0LXJlcXVlc3QuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGVzdHMgYXBwIGJvdW5kIHJlcXVlc3RzIGdldCBtYXJrZWQgZm9yIFBPU1QgcmVxdWVz
dHMuPC9wPgorPGZvcm0gaWQ9InRlc3RGb3JtIiBhY3Rpb249InJlc291cmNlcy9wb3N0LnB5IiB0
YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIiBtZXRob2Q9InBvc3QiPgorPGlucHV0IHR5
cGU9InN1Ym1pdCIgdmFsdWU9IlRlc3QiPjwvaW5wdXQ+Cis8Zm9ybT4KKzxzY3JpcHQ+CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKHRydWUpOworfQorCitkb2N1bWVudC5mb3Jt
c1swXS5zdWJtaXQoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvcmVzb3VyY2Vz
L3Bvc3QucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kv
cmVzb3VyY2VzL3Bvc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWZjYmMzYTJmYjMyMzExNzJkYjliNTliZWNl
NjVjMDhjNzJkZDVhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW4tYXBwLWJyb3dzZXItcHJpdmFjeS9yZXNvdXJjZXMvcG9zdC5weQpAQCAtMCwwICsxLDI3IEBA
CisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCityZWZl
cmVyID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfUkVGRVJFUicsICcnKQorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8cD5SZWZl
cnJlcjoge3JlZmVyZXJ9PC9wPlxuJworICAgICc8c2NyaXB0PlxuJworICAgICdpZiAod2luZG93
LnRlc3RSdW5uZXIpIHt7XG4nCisgICAgJyAgICB2YXIgZGlkTG9hZEFwcEJvdW5kUmVxdWVzdCA9
IHRlc3RSdW5uZXIuZGlkTG9hZEFwcEJvdW5kUmVxdWVzdCgpO1xuJworICAgICcgICAgdmFyIGRp
ZExvYWROb25BcHBCb3VuZFJlcXVlc3QgPSB0ZXN0UnVubmVyLmRpZExvYWROb25BcHBCb3VuZFJl
cXVlc3QoKTtcbicKKyAgICAnICAgIGlmIChkaWRMb2FkTm9uQXBwQm91bmRSZXF1ZXN0KSB7e1xu
JworICAgICcgICAgICAgIGNvbnNvbGUubG9nKCJGQUlMIGRpZCBsb2FkIG5vbiBhcHAtYm91bmQg
cmVxdWVzdCIpO1xuJworICAgICcgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO1xuJwor
ICAgICcgICAgfX1cbicKKyAgICAnICAgIGlmICghZGlkTG9hZEFwcEJvdW5kUmVxdWVzdCkge3tc
bicKKyAgICAnICAgICAgICAgY29uc29sZS5sb2coIkZBSUwgZGlkIG5vdCBsb2FkIGFwcC1ib3Vu
ZCByZXF1ZXN0Iik7XG4nCisgICAgJyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4n
CisgICAgJyAgICAgfX1cbicKKyAgICAnICAgIGNvbnNvbGUubG9nKCJQQVNTIHN1Y2Nlc3NmdWxs
eSBsb2FkZWQgb25seSBhcHAtYm91bmQgcmVxdWVzdHMiKTtcbicKKyAgICAnICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpO1xuJworICAgICd9fVxuJworICAgICc8L3NjcmlwdD5cbicuZm9ybWF0
KHJlZmVyZXI9cmVmZXJlcikKKykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi9yZXNvdXJjZXMvY2hlY2stcGluZy1hcHAtYm91bmQtZGF0YS5weSBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvY2hlY2stcGluZy1hcHAtYm91
bmQtZGF0YS5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmY1ZGVmMzQwNTMyZjlkZjZhODFmODU0MTA0MDk4ZTkz
M2QzZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3Jlc291cmNlcy9jaGVjay1waW5nLWFwcC1ib3VuZC1kYXRhLnB5CkBAIC0wLDAgKzEsNDQg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBv
cnQgdGltZQorZnJvbSBwaW5nX2ZpbGVfcGF0aCBpbXBvcnQgcGluZ19maWxlcGF0aAorCitzeXMu
c3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKword2hpbGUg
bm90IG9zLnBhdGguaXNmaWxlKHBpbmdfZmlsZXBhdGgpOgorICAgIHRpbWUuc2xlZXAoMC4wMSkK
Kworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPGh0bWw+PGJvZHk+XG4nCisgICAgJ1Bpbmcgc2Vu
dCBzdWNjZXNzZnVsbHknCispCisKK3BpbmdfZmlsZSA9IG9wZW4ocGluZ19maWxlcGF0aCwgJ3In
KQorZm9yIGxpbmUgaW4gcGluZ19maWxlLnJlYWRsaW5lcygpOgorICAgIHN5cy5zdGRvdXQud3Jp
dGUoJzxicj57fScuZm9ybWF0KGxpbmUuc3RyaXAoKSkpCisKK3BpbmdfZmlsZS5jbG9zZSgpCitp
ZiBvcy5wYXRoLmlzZmlsZShwaW5nX2ZpbGVwYXRoKToKKyAgICBvcy5yZW1vdmUocGluZ19maWxl
cGF0aCkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPHNjcmlwdD4nCisgICAgJ2lmICh3aW5k
b3cudGVzdFJ1bm5lcikge3tcbicKKyAgICAnICAgIHZhciBkaWRMb2FkQXBwQm91bmRSZXF1ZXN0
ID0gdGVzdFJ1bm5lci5kaWRMb2FkQXBwQm91bmRSZXF1ZXN0KCk7XG4nCisgICAgJyAgICB2YXIg
ZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCA9IHRlc3RSdW5uZXIuZGlkTG9hZE5vbkFwcEJvdW5k
UmVxdWVzdCgpO1xuJworICAgICcgICAgaWYgKGRpZExvYWROb25BcHBCb3VuZFJlcXVlc3QpIHt7
XG4nCisgICAgJyAgICAgICAgY29uc29sZS5sb2coIkZBSUwgZGlkIGxvYWQgbm9uIGFwcC1ib3Vu
ZCByZXF1ZXN0Iik7XG4nCisgICAgJyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4n
CisgICAgJyAgICB9fVxuJworICAgICcgICAgaWYgKCFkaWRMb2FkQXBwQm91bmRSZXF1ZXN0KSB7
e1xuJworICAgICcgICAgICAgICBjb25zb2xlLmxvZygiRkFJTCBkaWQgbm90IGxvYWQgYXBwLWJv
dW5kIHJlcXVlc3QiKTtcbicKKyAgICAnICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtc
bicKKyAgICAnICAgICB9fVxuJworICAgICcgICAgY29uc29sZS5sb2coIlBBU1Mgc3VjY2Vzc2Z1
bGx5IGxvYWRlZCBvbmx5IGFwcC1ib3VuZCByZXF1ZXN0cyIpO1xuJworICAgICcgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJ319XG4nCisgICAgJzwvc2NyaXB0PicKKyAgICAn
PC9ib2R5PjwvaHRtbD4nCispCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
d2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggZDc3ZTc1YjllYWRhOTcwZjcyMjBkNWE1YTMzNWY5OWU1NDJkOTI1
MS4uOGIxYWVlNjNlZTA0OWEwM2M3OGE0OWU3MjJmNmYwZWU1OGU4NDQ4MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTgxNSw2ICsxODE1
LDkgQEAgaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2NvbnRleHQtc3RyaW5nLXBy
ZWZsaWdodC5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kv
YXBwLWJvdW5kLWF0dHJpYnV0aW9uLXByZWZsaWdodC1hc3luYy5odG1sIFsgU2tpcCBdCiBodHRw
L3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXByZWZs
aWdodC1zeW5jLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFj
eS9hcHAtYm91bmQtYXR0cmlidXRpb24tc3BlY3VsYXRpdmUtcmV2YWxpZGF0aW9uLmh0bWwgWyBT
a2lwIF0KK2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmli
dXRpb24tbG9hZC11cmwuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQuaHRtbCBbIFNraXAgXQoraHR0
cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1wb3N0
LXJlcXVlc3QuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMTc1MTkzIGZhc3QvaW1hZ2Vz
L2FzeW5jLWltYWdlLWJvZHktYmFja2dyb3VuZC1pbWFnZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429296</attachid>
            <date>2021-05-21 09:03:53 -0700</date>
            <delta_ts>2021-05-21 09:41:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225923-20210521090352.patch</filename>
            <type>text/plain</type>
            <size>24382</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3ODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZhNzZjZTVkMjVjY2M0
NGFhNzEwNjJjMTdhYjUzZTFmYjcxNzBlOS4uYTkzYTg3Zjc3NTI2ZWNmYTgzMDU0NzVmMzAwNTQ1
NDgzYTI2ZDlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA1LTIwICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIEZyYW1lTG9h
ZGVyOjpsb2FkVVJMLCBGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0IG5vdCBhdHRyaWJ1dGlu
ZyByZXF1ZXN0cyBhcyBhcHAgYm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNTkyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzgxNjA5MzM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBUZXN0
czogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlv
bi1sb2FkLXVybC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2luLWFwcC1icm93c2Vy
LXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0
aW9uLXBvc3QtcmVxdWVzdC5odG1sCisKKyAgICAgICAgVXBkYXRlIEZyYW1lTG9hZGVyOjphZGRF
eHRyYUZpZWxkc1RvUmVxdWVzdCB0byBhZGQgdGhlIGFwcC1ib3VuZAorICAgICAgICB2YWx1ZSB0
byBhIHJlcXVlc3QsIGxpa2UgZm9yIGxvYWRVUkwsIGxvYWRQb3N0UmVxdWVzdCwgb3IgcGluZyBs
b2Fkcy4KKyAgICAgICAgQ2hhbmdlIHRoZSBuYW1lIHRvIHJlZmxlY3QgdGhpcyB1c2UgY2FzZSwg
d2hpY2ggdXBkYXRlcyB0aGUgcmVxdWVzdAorICAgICAgICBidXQgZG9lcyBub3QgYWRkIGFueSBl
eHRyYSBoZWFkZXIgZmllbGRzLgorCisgICAgICAgIE90aGVyIGNhc2VzIGFyZSBhbHJlYWR5IGNv
dmVyZWQgaW4gV2ViTG9hZGVyU3RyYXRlZ3k6OmxvYWRSZXNvdXJjZS4KKworICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9h
ZFVSTCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZCk6CisgICAgICAgIFRo
ZSBtYWluIG5hdmlnYXRpb24gdXNlcyB0aGUgb2xkIGRvY3VtZW50IGxvYWRlciwgc28gd2UgZG9u
J3Qgd2FudCB0bworICAgICAgICBzZXQgdGhlIGFwcC1ib3VuZCB2YWx1ZSBiYXNlZCBvbiB0aGF0
LiBUaGUgcmVxdWVzdCBzaG91bGQgaGF2ZSB0aGUKKyAgICAgICAgY29ycmVjdCB2YWx1ZSBhbHJl
YWR5IGZyb20gdGhlIFVJUHJvY2Vzcy4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjp1
cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmxvYWRQb3N0UmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
bG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisgICAgICAgIFdlIGNhbiByZW1vdmUgc2V0dGlu
ZyB0aGUgYXBwIGJvdW5kIHZhbHVlIGhlcmUgbm93IHRoYXQgd2Ugc2V0IHRoZSB2YWx1ZSBpbgor
ICAgICAgICBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgICog
bG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGluZ0xvYWRlcjo6bG9hZEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OlBpbmdMb2FkZXI6OnNlbmRQaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBpbmdMb2FkZXI6
OnNlbmRWaW9sYXRpb25SZXBvcnQpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6aW5pdCk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjpsb2FkKToKKwogMjAyMS0wNS0yMCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWth
bGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAgW1dlYklETF0gUmVtb3ZlIFtJbXBsaWNpdFRoaXNd
IGFuZCBbQ3VzdG9tUHJveHlUb0pTT2JqZWN0XSBleHRlbmRlZCBhdHRyaWJ1dGVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAwZTFiYzFiNWI0OTAwZTk5NGUxMTliMzEz
MmFjODM3YjE1YzEzZjg0Li5lOTM3Y2ZlOTE3NjY2MmVkZGNmYzM4ZjJhMWMwNjZlMDg4Yzk1NGUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTEzNDAsNyArMTM0MCw3
IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRVUkwoRnJhbWVMb2FkUmVxdWVzdCYmIGZyYW1lTG9h
ZFJlcXVlc3QsIGNvbnN0IFN0cmluZyYgcmVmCiAgICAgaWYgKCFyZWZlcnJlci5pc0VtcHR5KCkp
CiAgICAgICAgIHJlcXVlc3Quc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKIAotICAgIGFkZEV4
dHJhRmllbGRzVG9SZXF1ZXN0KHJlcXVlc3QsIElzTWFpblJlc291cmNlOjpZZXMsIG5ld0xvYWRU
eXBlKTsKKyAgICB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMocmVxdWVzdCwgSXNNYWlu
UmVzb3VyY2U6OlllcywgbmV3TG9hZFR5cGUpOwogCiAgICAgQVNTRVJUKG5ld0xvYWRUeXBlICE9
IEZyYW1lTG9hZFR5cGU6OlNhbWUpOwogCkBAIC0xNDkyLDcgKzE0OTIsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpsb2FkKERvY3VtZW50TG9hZGVyJiBuZXdEb2N1bWVudExvYWRlcikKICAgICBSZXNv
dXJjZVJlcXVlc3QmIHIgPSBuZXdEb2N1bWVudExvYWRlci5yZXF1ZXN0KCk7CiAgICAgLy8gRklY
TUU6IFVzaW5nIG1fbG9hZFR5cGUgc2VlbXMgd3JvbmcgaGVyZS4KICAgICAvLyBJZiB3ZSBhcmUg
b25seSBwcmVwYXJpbmcgdG8gbG9hZCB0aGUgbWFpbiByZXNvdXJjZSwgdGhhdCBpcyBwcmV2aW91
cyBsb2FkJ3MgbG9hZCB0eXBlIQotICAgIGFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KHIsIElzTWFp
blJlc291cmNlOjpZZXMsIG1fbG9hZFR5cGUpOworICAgIHVwZGF0ZVJlcXVlc3RBbmRBZGRFeHRy
YUZpZWxkcyhyLCBJc01haW5SZXNvdXJjZTo6WWVzLCBtX2xvYWRUeXBlLCBTaG91bGRVcGRhdGVB
cHBCb3VuZFZhbHVlOjpObyk7CiAgICAgRnJhbWVMb2FkVHlwZSB0eXBlOwogCiAgICAgaWYgKHNo
b3VsZFRyZWF0VVJMQXNTYW1lQXNDdXJyZW50KG5ld0RvY3VtZW50TG9hZGVyLm9yaWdpbmFsUmVx
dWVzdCgpLnVybCgpKSkgewpAQCAtMjg3Nyw3ICsyODc3LDcgQEAgUmVzb3VyY2VSZXF1ZXN0Q2Fj
aGVQb2xpY3kgRnJhbWVMb2FkZXI6OmRlZmF1bHRSZXF1ZXN0Q2FjaGluZ1BvbGljeShjb25zdCBS
ZXNvdXIKICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3k6OlVzZVByb3RvY29s
Q2FjaGVQb2xpY3k7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9SZXF1
ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgSXNNYWluUmVzb3VyY2UgbWFpblJlc291cmNl
LCBGcmFtZUxvYWRUeXBlIGxvYWRUeXBlKQordm9pZCBGcmFtZUxvYWRlcjo6dXBkYXRlUmVxdWVz
dEFuZEFkZEV4dHJhRmllbGRzKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgSXNNYWluUmVzb3Vy
Y2UgbWFpblJlc291cmNlLCBGcmFtZUxvYWRUeXBlIGxvYWRUeXBlLCBTaG91bGRVcGRhdGVBcHBC
b3VuZFZhbHVlIHNob3VsZFVwZGF0ZSkKIHsKICAgICAvLyBJZiB0aGUgcmVxdWVzdCBjYW1lIGZy
b20gYSBwcmV2aW91cyBwcm9jZXNzIGR1ZSB0byBwcm9jZXNzLXN3YXAtb24tbmF2aWdhdGlvbiB0
aGVuIHdlIHNob3VsZCBub3QgbW9kaWZ5IHRoZSByZXF1ZXN0LgogICAgIGlmIChtX2N1cnJlbnRM
b2FkQ29udGludWluZ1N0YXRlID09IExvYWRDb250aW51aW5nU3RhdGU6OkNvbnRpbnVpbmdXaXRo
UmVxdWVzdCkKQEAgLTI5NDYsNiArMjk0Niw5IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJh
RmllbGRzVG9SZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgSXNNYWluUmVzb3VyCiAg
ICAgICAgIC8vIEFsd2F5cyB0cnkgVVRGLTguIElmIHRoYXQgZmFpbHMsIHRyeSBmcmFtZSBlbmNv
ZGluZyAoaWYgYW55KSBhbmQgdGhlbiB0aGUgZGVmYXVsdC4KICAgICAgICAgcmVxdWVzdC5zZXRS
ZXNwb25zZUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheSgiVVRGLTgiLCBt
X2ZyYW1lLmRvY3VtZW50KCktPmVuY29kaW5nKCksIG1fZnJhbWUuc2V0dGluZ3MoKS5kZWZhdWx0
VGV4dEVuY29kaW5nTmFtZSgpKTsKICAgICB9CisKKyAgICBpZiAoc2hvdWxkVXBkYXRlID09IFNo
b3VsZFVwZGF0ZUFwcEJvdW5kVmFsdWU6OlllcyAmJiBtX2ZyYW1lLm1haW5GcmFtZSgpLmxvYWRl
cigpLmRvY3VtZW50TG9hZGVyKCkpCisgICAgICAgIHJlcXVlc3Quc2V0SXNBcHBCb3VuZChtX2Zy
YW1lLm1haW5GcmFtZSgpLmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCktPmxhc3ROYXZpZ2F0aW9u
V2FzQXBwQm91bmQoKSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OnNjaGVkdWxlUmVmcmVzaElm
TmVlZGVkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBjb250ZW50KQpAQCAtMzAz
Myw3ICszMDM2LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KEZyYW1lTG9h
ZFJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIHJlZmUKICAgICB3b3JraW5nUmVzb3Vy
Y2VSZXF1ZXN0LnNldEhUVFBNZXRob2QoIlBPU1QiKTsKICAgICB3b3JraW5nUmVzb3VyY2VSZXF1
ZXN0LnNldEhUVFBCb2R5KGluUmVxdWVzdC5odHRwQm9keSgpKTsKICAgICB3b3JraW5nUmVzb3Vy
Y2VSZXF1ZXN0LnNldEhUVFBDb250ZW50VHlwZShjb250ZW50VHlwZSk7Ci0gICAgYWRkRXh0cmFG
aWVsZHNUb1JlcXVlc3Qod29ya2luZ1Jlc291cmNlUmVxdWVzdCwgSXNNYWluUmVzb3VyY2U6Olll
cywgbG9hZFR5cGUpOworICAgIHVwZGF0ZVJlcXVlc3RBbmRBZGRFeHRyYUZpZWxkcyh3b3JraW5n
UmVzb3VyY2VSZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6WWVzLCBsb2FkVHlwZSk7CiAKICAgICBp
ZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1
bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5l
ZWRlZCh3b3JraW5nUmVzb3VyY2VSZXF1ZXN0LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okluc2Vj
dXJlUmVxdWVzdFR5cGU6OkxvYWQpOwpAQCAtMzA4Myw3ICszMDg2LDcgQEAgdW5zaWduZWQgbG9u
ZyBGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXUKIAogICAgIGluaXRpYWxSZXF1ZXN0LnNldEZpcnN0UGFydHlGb3JDb29raWVz
KG1fZnJhbWUubWFpbkZyYW1lKCkubG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+cmVxdWVzdCgp
LnVybCgpKTsKICAgICAKLSAgICBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChpbml0aWFsUmVxdWVz
dCwgSXNNYWluUmVzb3VyY2U6Ok5vKTsKKyAgICB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVs
ZHMoaW5pdGlhbFJlcXVlc3QsIElzTWFpblJlc291cmNlOjpObyk7CiAKICAgICBhcHBseVVzZXJB
Z2VudElmTmVlZGVkKGluaXRpYWxSZXF1ZXN0KTsKIApAQCAtMzExMSw5ICszMTE0LDYgQEAgdW5z
aWduZWQgbG9uZyBGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXUKIAogICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+Y29udGVudFNl
Y3VyaXR5UG9saWN5KCktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChuZXdSZXF1ZXN0
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6OkxvYWQpOwogCi0g
ICAgaWYgKG1fZG9jdW1lbnRMb2FkZXIpCi0gICAgICAgIG5ld1JlcXVlc3Quc2V0SXNBcHBCb3Vu
ZChtX2RvY3VtZW50TG9hZGVyLT5sYXN0TmF2aWdhdGlvbldhc0FwcEJvdW5kKCkpOwotCiAgICAg
aWYgKGVycm9yLmlzTnVsbCgpKSB7CiAgICAgICAgIEFTU0VSVCghbmV3UmVxdWVzdC5pc051bGwo
KSk7CiAKQEAgLTM3ODMsNyArMzc4Myw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJl
bnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdGVtKiBmcm9tCiAgICAg
ICAgIGF1dG8gc2VjdXJpdHlPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmlu
ZyhpdGVtLnJlZmVycmVyKCkpOwogICAgICAgICBhZGRIVFRQT3JpZ2luSWZOZWVkZWQocmVxdWVz
dCwgc2VjdXJpdHlPcmlnaW4tPnRvU3RyaW5nKCkpOwogCi0gICAgICAgIGFkZEV4dHJhRmllbGRz
VG9SZXF1ZXN0KHJlcXVlc3QsIElzTWFpblJlc291cmNlOjpZZXMsIGxvYWRUeXBlKTsKKyAgICAg
ICAgdXBkYXRlUmVxdWVzdEFuZEFkZEV4dHJhRmllbGRzKHJlcXVlc3QsIElzTWFpblJlc291cmNl
OjpZZXMsIGxvYWRUeXBlKTsKICAgICAgICAgCiAgICAgICAgIC8vIEZJWE1FOiBTbGlnaHQgaGFj
ayB0byB0ZXN0IGlmIHRoZSBOU1VSTCBjYWNoZSBjb250YWlucyB0aGUgcGFnZSB3ZSdyZSBnb2lu
ZyB0by4KICAgICAgICAgLy8gV2Ugd2FudCB0byBrbm93IHRoaXMgYmVmb3JlIHRhbGtpbmcgdG8g
dGhlIHBvbGljeSBkZWxlZ2F0ZSwgc2luY2UgaXQgYWZmZWN0cyB3aGV0aGVyIApAQCAtMzgyOCw3
ICszODI4LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZERpZmZlcmVudERvY3VtZW50SXRlbShI
aXN0b3J5SXRlbSYgaXRlbSwgSGlzdG9yeUl0ZW0qIGZyb20KICAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAKLSAgICAgICAgYWRkRXh0cmFGaWVsZHNUb1JlcXVl
c3QocmVxdWVzdCwgSXNNYWluUmVzb3VyY2U6OlllcywgbG9hZFR5cGUpOworICAgICAgICB1cGRh
dGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMocmVxdWVzdCwgSXNNYWluUmVzb3VyY2U6Olllcywg
bG9hZFR5cGUpOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0Rm9yT3JpZ2luYWxV
UkwocmVxdWVzdCk7CiAgICAgICAgIHJlcXVlc3RGb3JPcmlnaW5hbFVSTC5zZXRVUkwoaXRlbU9y
aWdpbmFsVVJMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggODk1MGNlZjA4
ZDdjNTJiODFiMjhjMTcxMWYwMDgyNTU3MzczOGIwOS4uZjI5N2I1MGNhMWVlZTUwY2MzZjA1NmFi
ZDZjNjQ4YzA0ZTJkOTMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTg2
LDYgKzg2LDcgQEAgZW51bSBjbGFzcyBOYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24gOiB1aW50OF90
OwogZW51bSBjbGFzcyBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgOiBib29sOwogZW51bSBj
bGFzcyBVc2VkTGVnYWN5VExTIDogYm9vbDsKIGVudW0gY2xhc3MgSXNNYWluUmVzb3VyY2UgOiBi
b29sIHsgTm8sIFllcyB9OworZW51bSBjbGFzcyBTaG91bGRVcGRhdGVBcHBCb3VuZFZhbHVlIDog
Ym9vbCB7IE5vLCBZZXMgfTsKIAogc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCkBAIC0zMTgsNyAr
MzE5LDcgQEAgcHVibGljOgogICAgIGJvb2wgYWx3YXlzQWxsb3dMb2NhbFdlYmFyY2hpdmUoKSBj
b25zdCB7IHJldHVybiBtX2Fsd2F5c0FsbG93TG9jYWxXZWJhcmNoaXZlOyB9CiAKICAgICAvLyBG
b3Igc3VicmVzb3VyY2UgcmVxdWVzdHMgdGhlIEZyYW1lTG9hZFR5cGUgcGFyYW1ldGVyIGhhcyBu
byBlZmZlY3QgYW5kIGNhbiBiZSBza2lwcGVkLgotICAgIHZvaWQgYWRkRXh0cmFGaWVsZHNUb1Jl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiwgSXNNYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUgPSBG
cmFtZUxvYWRUeXBlOjpTdGFuZGFyZCk7CisgICAgdm9pZCB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0
cmFGaWVsZHMoUmVzb3VyY2VSZXF1ZXN0JiwgSXNNYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUg
PSBGcmFtZUxvYWRUeXBlOjpTdGFuZGFyZCwgU2hvdWxkVXBkYXRlQXBwQm91bmRWYWx1ZSA9IFNo
b3VsZFVwZGF0ZUFwcEJvdW5kVmFsdWU6Olllcyk7CiAKICAgICB2b2lkIHNjaGVkdWxlUmVmcmVz
aElmTmVlZGVkKERvY3VtZW50JiwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1BpbmdMb2FkZXIuY3BwCmluZGV4IGMwM2YyZTIxZTZjNTQwMDYxYmEzNjZlZmFkNDRh
ODIwODMxZDk4NDAuLjk2OGY0YjE0ZDY4MjBiMGJmZTYzOWFkZTJhNjc1MGFiZGE3YWZjMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lk
IFBpbmdMb2FkZXI6OmxvYWRJbWFnZShGcmFtZSYgZnJhbWUsIGNvbnN0IFVSTCYgdXJsKQogICAg
IFN0cmluZyByZWZlcnJlciA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZVJlZmVycmVySGVhZGVy
KGRvY3VtZW50LnJlZmVycmVyUG9saWN5KCksIHJlcXVlc3QudXJsKCksIGZyYW1lLmxvYWRlcigp
Lm91dGdvaW5nUmVmZXJyZXIoKSk7CiAgICAgaWYgKCFyZWZlcnJlci5pc0VtcHR5KCkpCiAgICAg
ICAgIHJlcXVlc3Quc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKLSAgICBmcmFtZS5sb2FkZXIo
KS5hZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOwor
ICAgIGZyYW1lLmxvYWRlcigpLnVwZGF0ZVJlcXVlc3RBbmRBZGRFeHRyYUZpZWxkcyhyZXF1ZXN0
LCBJc01haW5SZXNvdXJjZTo6Tm8pOwogCiAgICAgc3RhcnRQaW5nTG9hZChmcmFtZSwgcmVxdWVz
dCwgV1RGTW92ZShvcmlnaW5hbFJlcXVlc3RIZWFkZXIpLCBTaG91bGRGb2xsb3dSZWRpcmVjdHM6
OlllcywgQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6RG9Qb2xpY3lDaGVjaywgUmVm
ZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nKTsKIH0KQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIFBp
bmdMb2FkZXI6OnNlbmRQaW5nKEZyYW1lJiBmcmFtZSwgY29uc3QgVVJMJiBwaW5nVVJMLCBjb25z
dCBVUkwmIGRlc3RpbmF0aQogICAgIGF1dG8mIHNvdXJjZU9yaWdpbiA9IGRvY3VtZW50LnNlY3Vy
aXR5T3JpZ2luKCk7CiAgICAgRnJhbWVMb2FkZXI6OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChyZXF1
ZXN0LCBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIoZG9jdW1lbnQucmVmZXJy
ZXJQb2xpY3koKSwgcmVxdWVzdC51cmwoKSwgc291cmNlT3JpZ2luKSk7CiAKLSAgICBmcmFtZS5s
b2FkZXIoKS5hZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6
Tm8pOworICAgIGZyYW1lLmxvYWRlcigpLnVwZGF0ZVJlcXVlc3RBbmRBZGRFeHRyYUZpZWxkcyhy
ZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOwogICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpQaW5nVG8sIGRlc3RpbmF0aW9uVVJMLnN0cmluZygpKTsKICAg
ICBpZiAoIVNlY3VyaXR5UG9saWN5OjpzaG91bGRIaWRlUmVmZXJyZXIocGluZ1VSTCwgZnJhbWUu
bG9hZGVyKCkub3V0Z29pbmdSZWZlcnJlcigpKSkKICAgICAgICAgcmVxdWVzdC5zZXRIVFRQSGVh
ZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlBpbmdGcm9tLCBkb2N1bWVudC51cmwoKS5zdHJpbmco
KSk7CkBAIC0xODQsNyArMTg0LDcgQEAgdm9pZCBQaW5nTG9hZGVyOjpzZW5kVmlvbGF0aW9uUmVw
b3J0KEZyYW1lJiBmcmFtZSwgY29uc3QgVVJMJiByZXBvcnRVUkwsIFJlZjxGb3IKIAogICAgIEhU
VFBIZWFkZXJNYXAgb3JpZ2luYWxSZXF1ZXN0SGVhZGVyID0gcmVxdWVzdC5odHRwSGVhZGVyRmll
bGRzKCk7CiAKLSAgICBmcmFtZS5sb2FkZXIoKS5hZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyZXF1
ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOworICAgIGZyYW1lLmxvYWRlcigpLnVwZGF0ZVJlcXVl
c3RBbmRBZGRFeHRyYUZpZWxkcyhyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOwogCiAgICAg
U3RyaW5nIHJlZmVycmVyID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlUmVmZXJyZXJIZWFkZXIo
ZG9jdW1lbnQucmVmZXJyZXJQb2xpY3koKSwgcmVwb3J0VVJMLCBmcmFtZS5sb2FkZXIoKS5vdXRn
b2luZ1JlZmVycmVyKCkpOwogICAgIGlmICghcmVmZXJyZXIuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjQ2NzMwMjdiNzA2MzViMTI5ZDAx
YjllNDJlNTliYzQxZTkzNjI2YS4uNzU4NTgzZGFhNWQ2MjJhMTljODllNGM3ZDZlMTc4ODBlOGU3
NzExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xNTYs
NyArMTU2LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6aW5pdChSZXNvdXJjZVJlcXVlc3QmJiBj
bGllbnRSZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2kKICAgICB9CiAKICAgICAvLyBUaGUg
dmFyaW91cyBwbHVnLWluIGltcGxlbWVudGF0aW9ucyBjYWxsIGRpcmVjdGx5IHRvIFJlc291cmNl
TG9hZGVyOjpsb2FkKCkgaW5zdGVhZCBvZiBwaXBpbmcgcmVxdWVzdHMKLSAgICAvLyB0aHJvdWdo
IEZyYW1lTG9hZGVyLiBBcyBhIHJlc3VsdCwgdGhleSBtaXNzIHRoZSBGcmFtZUxvYWRlcjo6YWRk
RXh0cmFGaWVsZHNUb1JlcXVlc3QoKSBzdGVwIHdoaWNoIHNldHMKKyAgICAvLyB0aHJvdWdoIEZy
YW1lTG9hZGVyLiBBcyBhIHJlc3VsdCwgdGhleSBtaXNzIHRoZSBGcmFtZUxvYWRlcjo6dXBkYXRl
UmVxdWVzdEFuZEFkZEV4dHJhRmllbGRzKCkgc3RlcCB3aGljaCBzZXRzCiAgICAgLy8gdXAgdGhl
IDFzdCBwYXJ0eSBmb3IgY29va2llcyBVUkwgYW5kIFNhbWUtU2l0ZSBpbmZvLiBVbnRpbCBwbHVn
LWluIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgcmVpZ25lZCBpbgogICAgIC8vIHRvIHBpcGUgdGhy
b3VnaCB0aGF0IG1ldGhvZCwgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhlcmUgaXMgYWx3YXlzIGJv
dGggYSAxc3QgcGFydHkgZm9yIGNvb2tpZXMgc2V0IGFuZAogICAgIC8vIFNhbWUtU2l0ZSBpbmZv
LiBTZWUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjM5MT4uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBj
MDY1ZmMwZGIzYWZkNTk1ZGNlMjUyNTg0YjliM2ZmZTEzNDY3NzUxLi5hNGE3YzJlZGQ3YjM4Mzc4
YmYxMjNhYjJjNWFiYmRmNDg5NDg3ODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTI0NCw3ICsyNDQsNyBAQCB2b2lkIENhY2hlZFJl
c291cmNlOjpsb2FkKENhY2hlZFJlc291cmNlTG9hZGVyJiBjYWNoZWRSZXNvdXJjZUxvYWRlcikK
ICAgICAvLyBOYXZpZ2F0aW9uIGFsZ29yaXRobSBpcyBzZXR0aW5nIHVwIHRoZSByZXF1ZXN0IGJl
Zm9yZSBzZW5kaW5nIGl0IHRvIENhY2hlZFJlc291cmNlTG9hZGVyP0NhY2hlZFJlc291cmNlLgog
ICAgIC8vIFNvIG5vIG5lZWQgZm9yIGV4dHJhIGZpZWxkcyBmb3IgTWFpblJlc291cmNlLgogICAg
IGlmICh0eXBlKCkgIT0gVHlwZTo6TWFpblJlc291cmNlKQotICAgICAgICBmcmFtZUxvYWRlci5h
ZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChtX3Jlc291cmNlUmVxdWVzdCwgSXNNYWluUmVzb3VyY2U6
Ok5vKTsKKyAgICAgICAgZnJhbWVMb2FkZXIudXBkYXRlUmVxdWVzdEFuZEFkZEV4dHJhRmllbGRz
KG1fcmVzb3VyY2VSZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOwogCiAgICAgLy8gRklYTUU6
IEl0J3MgdW5mb3J0dW5hdGUgdGhhdCB0aGUgY2FjaGUgbGF5ZXIgYW5kIGJlbG93IGdldCB0byBr
bm93IGFueXRoaW5nIGFib3V0IGZyYWdtZW50IGlkZW50aWZpZXJzLgogICAgIC8vIFdlIHNob3Vs
ZCBsb29rIGludG8gcmVtb3ZpbmcgdGhlIGV4cGVjdGF0aW9uIG9mIHRoYXQga25vd2xlZGdlIGZy
b20gdGhlIHBsYXRmb3JtIG5ldHdvcmsgc3RhY2tzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ1NWIxOWRjMzA1OTY0OTkz
MTEyNDZhNDA2NWY3NTVkMTRiZTEwNjMuLjgzOTM2M2MxNDUxNTI0YzQ3OTBmZmNhNGY5Mzk0OWU1
NjA2ZDMyNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0wNS0yMCAgS2F0ZSBDaGVuZXkg
IDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBGcmFtZUxvYWRlcjo6bG9h
ZFVSTCwgRnJhbWVMb2FkZXI6OmxvYWRQb3N0UmVxdWVzdCBub3QgYXR0cmlidXRpbmcgcmVxdWVz
dHMgYXMgYXBwIGJvdW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjU5MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc4MTYwOTMzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0
aW9uLXBpbmctbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
aW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcGluZy1sb2FkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9h
cHAtYm91bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRy
aWJ1dGlvbi1wb3N0LXJlcXVlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9p
bi1hcHAtYnJvd3Nlci1wcml2YWN5L3Jlc291cmNlcy9wb3N0LnB5OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2NoZWNrLXBpbmctYXBwLWJvdW5kLWRh
dGEucHk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgVGhlc2UgdGVzdHMgcmVseSBvbiBpbnRlcm5hbCBhZGRpdGlvbnMsIHNvIEkg
d2lsbCBza2lwIGl0IGhlcmUgYW5kCisgICAgICAgIHVuc2tpcCBpbiB0aGUgZnV0dXJlLgorCiAy
MDIxLTA1LTIwICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAg
ICAgICBbV2ViSURMXSBSZW1vdmUgW0ltcGxpY2l0VGhpc10gYW5kIFtDdXN0b21Qcm94eVRvSlNP
YmplY3RdIGV4dGVuZGVkIGF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tbG9hZC11
cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDc5ODFmMWUwODRiMGNlMjU3YWY2ZjNlNWE2MGQxZjVkMjUyZWYyZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9h
cHAtYm91bmQtYXR0cmlidXRpb24tbG9hZC11cmwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorVGVzdCBsb2FkVVJMIHJlcXVlc3RzIGFyZSBzdWNjZXNmdWxseSBhdHRyaWJ1dGVkIGFzIGFw
cC1ib3VuZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5IGxvYWRlZCBvbmx5IGFwcC1ib3VuZCByZXF1ZXN0
cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXBy
aXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxvYWQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxv
YWQtdXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2NjYmNmM2YyMDExMmYxZTE2ZDQwZWY3OTdlNDhkOTgy
Nzc1Y2E0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBw
LWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tbG9hZC11cmwuaHRtbApAQCAt
MCwwICsxLDQ4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0ic2V0VGltZW91dCgncnVuVGVzdCgpJywgMCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPlRl
c3QgbG9hZFVSTCByZXF1ZXN0cyBhcmUgc3VjY2VzZnVsbHkgYXR0cmlidXRlZCBhcyBhcHAtYm91
bmQuPC9kaXY+Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzxzY3JpcHQ+CisgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBs
b2FkVVJMKCkgeworICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gZGVzdGluYXRpb25P
cmlnaW4gKyAiL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLWxv
YWQtdXJsLmh0bWwiOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKSB7CisgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSArICdcbicpKTsKKyAgICB9CisKKyAgICBjb25zdCBk
ZXN0aW5hdGlvbk9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOworICAgIGNvbnN0IHN0
YXJ0aW5nT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI7CisgICAgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiA9PT0gc3RhcnRp
bmdPcmlnaW4pIHsKKyAgICAgICAgICAgIGxvYWRVUkwoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIHZhciBkaWRMb2FkQXBwQm91bmRSZXF1ZXN0ID0gdGVzdFJ1bm5lci5kaWRMb2Fk
QXBwQm91bmRSZXF1ZXN0KCk7CisgICAgICAgICAgICB2YXIgZGlkTG9hZE5vbkFwcEJvdW5kUmVx
dWVzdCA9IHRlc3RSdW5uZXIuZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCgpOworCisgICAgICAg
ICAgICBpZiAoZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCkgeworICAgICAgICAgICAgICAgIGxv
ZygiRkFJTCBkaWQgbG9hZCBub24gYXBwLWJvdW5kIHJlcXVlc3QiKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
aWYgKCFkaWRMb2FkQXBwQm91bmRSZXF1ZXN0KSB7CisgICAgICAgICAgICAgICAgbG9nKCJGQUlM
IGRpZCBub3QgbG9hZCBhcHAtYm91bmQgcmVxdWVzdCIpOworICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBsb2coIlBB
U1Mgc3VjY2Vzc2Z1bGx5IGxvYWRlZCBvbmx5IGFwcC1ib3VuZCByZXF1ZXN0cyIpOworICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICB9Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcGluZy1sb2FkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFj
eS9hcHAtYm91bmQtYXR0cmlidXRpb24tcGluZy1sb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44ZGI3MWFiZjdkZGM4OTA5YmQ0M2JkNDI0OGVhYWZhM2MyZTgyOWJkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1i
b3VuZC1hdHRyaWJ1dGlvbi1waW5nLWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAor
Q09OU09MRSBNRVNTQUdFOiBQQVNTIHN1Y2Nlc3NmdWxseSBsb2FkZWQgb25seSBhcHAtYm91bmQg
cmVxdWVzdHMKK1Bpbmcgc2VudCBzdWNjZXNzZnVsbHkKK0NPTlRFTlRfVFlQRTogdGV4dC9waW5n
CitIVFRQX0hPU1Q6IDEyNy4wLjAuMTo4MDAwCitIVFRQX1BJTkdfRlJPTTogaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBp
bmctbG9hZC5odG1sCitIVFRQX1BJTkdfVE86IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0
aW9uL3Jlc291cmNlcy9jaGVjay1waW5nLWFwcC1ib3VuZC1kYXRhLnB5CitSRVFVRVNUX01FVEhP
RDogUE9TVAorUkVRVUVTVF9VUkk6IC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9zYXZlLXBpbmcucHkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFj
eS9hcHAtYm91bmQtYXR0cmlidXRpb24tcGluZy1sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmct
bG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwYmIxMDY3YzdkYThiMTUwZTliMDBjOTFiOGU1MjU4MDRk
NTJkOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1i
cm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBpbmctbG9hZC5odG1sCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9uYXZpZ2F0aW9uL3BpbmctYXR0cmlidXRlL3Jlc291cmNlcy91dGlsaXRpZXMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJyZXIoZmFsc2UsIGZ1bmN0aW9uICgpIHsgfSk7
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZCh0cnVl
KTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImltZyIpKTsKK30K
Kword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpCit7CisgICAgY2xlYXJMYXN0UGluZ1Jlc3Vs
dEFuZFJ1blRlc3QodGVzdCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxp
bWcgc3JjPSJub24tZXhpc3RlbnQtaW1hZ2UuanBnIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIg
dXNlbWFwPSIjaW1hZ2VtYXAiPgorICAgIDxtYXAgbmFtZT0iaW1hZ2VtYXAiPgorICAgICAgICA8
YXJlYSBzaGFwZT0icmVjdCIgY29vcmRzPSIwLDAsMTI4LDEyOCIgaHJlZj0iLi4vbmF2aWdhdGlv
bi9yZXNvdXJjZXMvY2hlY2stcGluZy1hcHAtYm91bmQtZGF0YS5weSIgcGluZz0iLi4vbmF2aWdh
dGlvbi9yZXNvdXJjZXMvc2F2ZS1waW5nLnB5Ij4KKyAgICA8L21hcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJp
dmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0
cmlidXRpb24tcG9zdC1yZXF1ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGI1ZTc5ODE1
YzRkNTc4OTA5NTYyNWZlMDUzZjNiODFiNmRkMWQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1
dGlvbi1wb3N0LXJlcXVlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBN
RVNTQUdFOiBQQVNTIHN1Y2Nlc3NmdWxseSBsb2FkZWQgb25seSBhcHAtYm91bmQgcmVxdWVzdHMK
K1Rlc3RzIGFwcCBib3VuZCByZXF1ZXN0cyBnZXQgbWFya2VkIGZvciBQT1NUIHJlcXVlc3RzLgor
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJp
dmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcG9zdC1yZXF1ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9u
LXBvc3QtcmVxdWVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3NzIzZmQzZjRjYmU1Y2EzMzk4OTc2NTk3
MDhlOGNjZjE0ZmEzMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVz
dC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyBhcHAg
Ym91bmQgcmVxdWVzdHMgZ2V0IG1hcmtlZCBmb3IgUE9TVCByZXF1ZXN0cy48L3A+Cis8Zm9ybSBp
ZD0idGVzdEZvcm0iIGFjdGlvbj0icmVzb3VyY2VzL3Bvc3QucHkiIHRhcmdldD0iX2JsYW5rIiBy
ZWw9Im5vcmVmZXJyZXIiIG1ldGhvZD0icG9zdCI+Cis8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1
ZT0iVGVzdCI+PC9pbnB1dD4KKzxmb3JtPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0
Q2FuT3BlbldpbmRvd3ModHJ1ZSk7Cit9CisKK2RvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9yZXNvdXJjZXMvcG9zdC5weSBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9yZXNvdXJjZXMvcG9zdC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZmNiYzNhMmZiMzIzMTE3MmRiOWI1OWJlY2U2NWMwOGM3MmRkNWE2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1w
cml2YWN5L3Jlc291cmNlcy9wb3N0LnB5CkBAIC0wLDAgKzEsMjcgQEAKKyMhL3Vzci9iaW4vZW52
IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3JlZmVyZXIgPSBvcy5lbnZpcm9u
LmdldCgnSFRUUF9SRUZFUkVSJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzxwPlJlZmVycmVyOiB7cmVmZXJlcn08
L3A+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge3tc
bicKKyAgICAnICAgIHZhciBkaWRMb2FkQXBwQm91bmRSZXF1ZXN0ID0gdGVzdFJ1bm5lci5kaWRM
b2FkQXBwQm91bmRSZXF1ZXN0KCk7XG4nCisgICAgJyAgICB2YXIgZGlkTG9hZE5vbkFwcEJvdW5k
UmVxdWVzdCA9IHRlc3RSdW5uZXIuZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCgpO1xuJworICAg
ICcgICAgaWYgKGRpZExvYWROb25BcHBCb3VuZFJlcXVlc3QpIHt7XG4nCisgICAgJyAgICAgICAg
Y29uc29sZS5sb2coIkZBSUwgZGlkIGxvYWQgbm9uIGFwcC1ib3VuZCByZXF1ZXN0Iik7XG4nCisg
ICAgJyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJyAgICB9fVxuJwor
ICAgICcgICAgaWYgKCFkaWRMb2FkQXBwQm91bmRSZXF1ZXN0KSB7e1xuJworICAgICcgICAgICAg
ICBjb25zb2xlLmxvZygiRkFJTCBkaWQgbm90IGxvYWQgYXBwLWJvdW5kIHJlcXVlc3QiKTtcbicK
KyAgICAnICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnICAgICB9fVxu
JworICAgICcgICAgY29uc29sZS5sb2coIlBBU1Mgc3VjY2Vzc2Z1bGx5IGxvYWRlZCBvbmx5IGFw
cC1ib3VuZCByZXF1ZXN0cyIpO1xuJworICAgICcgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
XG4nCisgICAgJ319XG4nCisgICAgJzwvc2NyaXB0PlxuJy5mb3JtYXQocmVmZXJlcj1yZWZlcmVy
KQorKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291
cmNlcy9jaGVjay1waW5nLWFwcC1ib3VuZC1kYXRhLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9jaGVjay1waW5nLWFwcC1ib3VuZC1kYXRhLnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZmZjVkZWYzNDA1MzJmOWRmNmE4MWY4NTQxMDQwOThlOTMzZDNlZDkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2No
ZWNrLXBpbmctYXBwLWJvdW5kLWRhdGEucHkKQEAgLTAsMCArMSw0NCBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCitmcm9tIHBp
bmdfZmlsZV9wYXRoIGltcG9ydCBwaW5nX2ZpbGVwYXRoCisKK3N5cy5zdGRvdXQud3JpdGUoJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCit3aGlsZSBub3Qgb3MucGF0aC5pc2Zp
bGUocGluZ19maWxlcGF0aCk6CisgICAgdGltZS5zbGVlcCgwLjAxKQorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICc8aHRtbD48Ym9keT5cbicKKyAgICAnUGluZyBzZW50IHN1Y2Nlc3NmdWxseScK
KykKKworcGluZ19maWxlID0gb3BlbihwaW5nX2ZpbGVwYXRoLCAncicpCitmb3IgbGluZSBpbiBw
aW5nX2ZpbGUucmVhZGxpbmVzKCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnPGJyPnt9Jy5mb3Jt
YXQobGluZS5zdHJpcCgpKSkKKworcGluZ19maWxlLmNsb3NlKCkKK2lmIG9zLnBhdGguaXNmaWxl
KHBpbmdfZmlsZXBhdGgpOgorICAgIG9zLnJlbW92ZShwaW5nX2ZpbGVwYXRoKQorCitzeXMuc3Rk
b3V0LndyaXRlKAorICAgICc8c2NyaXB0PicKKyAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
e1xuJworICAgICcgICAgdmFyIGRpZExvYWRBcHBCb3VuZFJlcXVlc3QgPSB0ZXN0UnVubmVyLmRp
ZExvYWRBcHBCb3VuZFJlcXVlc3QoKTtcbicKKyAgICAnICAgIHZhciBkaWRMb2FkTm9uQXBwQm91
bmRSZXF1ZXN0ID0gdGVzdFJ1bm5lci5kaWRMb2FkTm9uQXBwQm91bmRSZXF1ZXN0KCk7XG4nCisg
ICAgJyAgICBpZiAoZGlkTG9hZE5vbkFwcEJvdW5kUmVxdWVzdCkge3tcbicKKyAgICAnICAgICAg
ICBjb25zb2xlLmxvZygiRkFJTCBkaWQgbG9hZCBub24gYXBwLWJvdW5kIHJlcXVlc3QiKTtcbicK
KyAgICAnICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnICAgIH19XG4n
CisgICAgJyAgICBpZiAoIWRpZExvYWRBcHBCb3VuZFJlcXVlc3QpIHt7XG4nCisgICAgJyAgICAg
ICAgIGNvbnNvbGUubG9nKCJGQUlMIGRpZCBub3QgbG9hZCBhcHAtYm91bmQgcmVxdWVzdCIpO1xu
JworICAgICcgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO1xuJworICAgICcgICAgIH19
XG4nCisgICAgJyAgICBjb25zb2xlLmxvZygiUEFTUyBzdWNjZXNzZnVsbHkgbG9hZGVkIG9ubHkg
YXBwLWJvdW5kIHJlcXVlc3RzIik7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTtcbicKKyAgICAnfX1cbicKKyAgICAnPC9zY3JpcHQ+JworICAgICc8L2JvZHk+PC9odG1sPicK
KykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBkNzdlNzViOWVhZGE5NzBmNzIyMGQ1YTVhMzM1Zjk5ZTU0MmQ5MjUxLi44YjFhZWU2M2VlMDQ5
YTAzYzc4YTQ5ZTcyMmY2ZjBlZTU4ZTg0NDgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODE1LDYgKzE4MTUsOSBAQCBodHRwL3Rlc3Rz
L2luLWFwcC1icm93c2VyLXByaXZhY3kvY29udGV4dC1zdHJpbmctcHJlZmxpZ2h0Lmh0bWwgWyBT
a2lwIF0KIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmli
dXRpb24tcHJlZmxpZ2h0LWFzeW5jLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvaW4tYXBwLWJy
b3dzZXItcHJpdmFjeS9hcHAtYm91bmQtYXR0cmlidXRpb24tcHJlZmxpZ2h0LXN5bmMuaHRtbCBb
IFNraXAgXQogaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRy
aWJ1dGlvbi1zcGVjdWxhdGl2ZS1yZXZhbGlkYXRpb24uaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0
cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1hdHRyaWJ1dGlvbi1sb2FkLXVybC5o
dG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5k
LWF0dHJpYnV0aW9uLXBpbmctbG9hZC5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL2luLWFwcC1i
cm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWF0dHJpYnV0aW9uLXBvc3QtcmVxdWVzdC5odG1sIFsg
U2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xNzUxOTMgZmFzdC9pbWFnZXMvYXN5bmMtaW1hZ2UtYm9k
eS1iYWNrZ3JvdW5kLWltYWdlLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>