<?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>206459</bug_id>
          
          <creation_ts>2020-01-17 16:38:20 -0800</creation_ts>
          <short_desc>Add Legacy WebKit SPI and WebKit IPI to show and hide placeholder</short_desc>
          <delta_ts>2020-01-21 15:10:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Local 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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1608292</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-17 16:38:20 -0800</bug_when>
    <thetext>Add SPI to allow a client to show and hide the placeholder in a form control.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608294</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-17 16:38:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/58700534&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608297</commentid>
    <comment_count>2</comment_count>
      <attachid>388112</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-17 16:39:57 -0800</bug_when>
    <thetext>Created attachment 388112
For the bots - missing test results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608301</commentid>
    <comment_count>3</comment_count>
      <attachid>388114</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-17 16:42:21 -0800</bug_when>
    <thetext>Created attachment 388114
For the bots - missing test results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608306</commentid>
    <comment_count>4</comment_count>
      <attachid>388115</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-17 16:43:28 -0800</bug_when>
    <thetext>Created attachment 388115
For the bots - missing test results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609106</commentid>
    <comment_count>5</comment_count>
      <attachid>388313</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-21 09:57:44 -0800</bug_when>
    <thetext>Created attachment 388313
Patch and layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609139</commentid>
    <comment_count>6</comment_count>
      <attachid>388321</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-21 10:51:54 -0800</bug_when>
    <thetext>Created attachment 388321
Patch and layout test

Expose SPI in legacy WebKit as well for some legacy clients.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609146</commentid>
    <comment_count>7</comment_count>
      <attachid>388321</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-01-21 11:03:36 -0800</bug_when>
    <thetext>Comment on attachment 388321
Patch and layout test

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

&gt; Source/WebKit/ChangeLog:10
&gt; +        Add Modern WebKit SPI to allow a client to control whether the placeholder can be shown or
&gt; +        not when a form control is empty. This is for aesthetics.

It doesn&apos;t look like this patch actually adds &quot;Modern WebKit SPI to allow a client to control whether the placeholder can be shown…&quot;. Was this intended for a followup?

&gt; Source/WebCore/html/HTMLTextFormControlElement.cpp:178
&gt; +    m_canShowPlaceholder = canShowPlaceholder;

Nit - is it necessary to updatePlaceholderVisibility(); in the case where m_canShowPlaceholder didn&apos;t change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609180</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-21 11:55:39 -0800</bug_when>
    <thetext>Modern WebKit IPI! Not SPI and I don&apos;t need SPI either. I&apos;ll fix up the English.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609185</commentid>
    <comment_count>9</comment_count>
      <attachid>388321</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-21 11:59:35 -0800</bug_when>
    <thetext>Comment on attachment 388321
Patch and layout test

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

Thanks for the review!

&gt;&gt; Source/WebKit/ChangeLog:10
&gt;&gt; +        not when a form control is empty. This is for aesthetics.
&gt; 
&gt; It doesn&apos;t look like this patch actually adds &quot;Modern WebKit SPI to allow a client to control whether the placeholder can be shown…&quot;. Was this intended for a followup?

IPI

&gt;&gt; Source/WebCore/html/HTMLTextFormControlElement.cpp:178
&gt;&gt; +    m_canShowPlaceholder = canShowPlaceholder;
&gt; 
&gt; Nit - is it necessary to updatePlaceholderVisibility(); in the case where m_canShowPlaceholder didn&apos;t change?

That function has the smarts... didn&apos;t feel a branch to avoid the call would speed things up much. So I didn&apos;t do it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609196</commentid>
    <comment_count>10</comment_count>
      <attachid>388321</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-01-21 12:06:58 -0800</bug_when>
    <thetext>Comment on attachment 388321
Patch and layout test

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

&gt;&gt;&gt; Source/WebCore/html/HTMLTextFormControlElement.cpp:178
&gt;&gt;&gt; +    m_canShowPlaceholder = canShowPlaceholder;
&gt;&gt; 
&gt;&gt; Nit - is it necessary to updatePlaceholderVisibility(); in the case where m_canShowPlaceholder didn&apos;t change?
&gt; 
&gt; That function has the smarts... didn&apos;t feel a branch to avoid the call would speed things up much. So I didn&apos;t do it

Sounds good — thanks for clarifying!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609318</commentid>
    <comment_count>11</comment_count>
      <attachid>388356</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-21 14:59:27 -0800</bug_when>
    <thetext>Created attachment 388356
To land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609321</commentid>
    <comment_count>12</comment_count>
      <attachid>388356</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-21 15:10:34 -0800</bug_when>
    <thetext>Comment on attachment 388356
To land

Clearing flags on attachment: 388356

Committed r254886: &lt;https://trac.webkit.org/changeset/254886&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609322</commentid>
    <comment_count>13</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-21 15:10:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388112</attachid>
            <date>2020-01-17 16:39:57 -0800</date>
            <delta_ts>2020-01-17 16:42:21 -0800</delta_ts>
            <desc>For the bots - missing test results</desc>
            <filename>ForTheBots.patch</filename>
            <type>text/plain</type>
            <size>11034</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSA5ZjM3NmJjNzAzODI1OTBjMGJhYTJjNGJhMDBjNzAzODhkNzgxMTFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRhYmF0ZXNAYXBwbGUuY29tPgpEYXRl
OiBGcmksIDE3IEphbiAyMDIwIDE2OjM3OjAzIC0wODAwClN1YmplY3Q6IFtQQVRDSF0gUGF0Y2gg
Zm9yIHRoZSBib3RzCgotLS0KIC4uLm93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xk
ZXIuaHRtbCB8IDQ1ICsrKysrKysrKysrKysrKysrKysKIC4uLi9odG1sL0hUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50LmNwcCAgICAgICB8ICA5ICsrKy0KIC4uLi9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaCB8ICA0ICsrCiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAgICAgICAgICAgfCAgNiArKysKIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmggICAgICAgICAgICB8ICAyICsKIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbCAgICAgICAgICB8ICAyICsKIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgICAgICB8ICA2ICsrKwogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggICAgICAgIHwgIDEgKwogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAgIHwgIDcgKysrCiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggICAgfCAgMSArCiAuLi4vV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4gICAgfCAgMSArCiAxMSBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0
aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhv
bGRlci1zaG93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXIuaHRtbAoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlkZS12
aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Bs
YWNlaG9sZGVyLXNob3ctYW5kLWhpZGUtdmlhLXNldENhblNob3dQbGFjZWhvbGRlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wODBmODViZDRhNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQt
aGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpbnB1dCB0eXBl
PSJ0ZXh0IiBwbGFjZWhvbGRlcj0iZmlyc3QiPgorICAgIDx0ZXh0YXJlYSBwbGFjZWhvbGRlcj0i
c2Vjb25kIj48L3RleHRhcmVhPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRo
ZSBwbGFjZWhvbGRlciBjYW4gYmUgaGlkZGVuIGFuZCBzaG93biBmb3IgZW1wdHkgZmllbGRzIHZp
YSBzZXRDYW5TaG93UGxhY2Vob2xkZXIoKSIpOworCitmdW5jdGlvbiB0ZXN0VGhhdFBsYWNlaG9s
ZGVySXNIaWRkZW4odGFnTmFtZSkKK3sKKyAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IodGFnTmFtZSk7CisgICAgaW50ZXJuYWxzLnNldENhblNob3dQbGFjZWhvbGRlcihl
bGVtZW50LCBmYWxzZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBpbnRlcm5hbHMudmlz
aWJsZVBsYWNlaG9sZGVyKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJHt0YWdOYW1lfSkpYCwgIiIp
OworfQorCitmdW5jdGlvbiB0ZXN0VGhhdFBsYWNlaG9sZGVySXNFcXVhbFRvU3RyaW5nKHRhZ05h
bWUsIGV4cGVjdGVkVGV4dCkKK3sKKyAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IodGFnTmFtZSk7CisgICAgaW50ZXJuYWxzLnNldENhblNob3dQbGFjZWhvbGRlcihlbGVt
ZW50LCB0cnVlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGludGVybmFscy52aXNpYmxl
UGxhY2Vob2xkZXIoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigke3RhZ05hbWV9KSlgLCBleHBlY3Rl
ZFRleHQpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAoIXdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiTXVzdCBoYXZlIHdpbmRvdy5pbnRlcm5hbHMu
Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkZWJ1ZygiRGlzYWxsb3cgc2hvd2lu
ZyBvZiBwbGFjZWhvbGRlcjoiKTsKKyAgICB0ZXN0VGhhdFBsYWNlaG9sZGVySXNIaWRkZW4oImlu
cHV0Iik7CisgICAgdGVzdFRoYXRQbGFjZWhvbGRlcklzSGlkZGVuKCJ0ZXh0YXJlYSIpOworCisg
ICAgZGVidWcoIjxicj5BbGxvdyBzaG93aW5nIG9mIHBsYWNlaG9sZGVyOiIpOworICAgIHRlc3RU
aGF0UGxhY2Vob2xkZXJJc0VxdWFsVG9TdHJpbmcoImlucHV0IiwgImZpcnN0Iik7CisgICAgdGVz
dFRoYXRQbGFjZWhvbGRlcklzRXF1YWxUb1N0cmluZygidGV4dGFyZWEiLCAic2Vjb25kIik7Cit9
CisKK3J1blRlc3QoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCAzZjNj
ZmFjODA2Mi4uYjY5NGVlYzEwYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC02NSw2ICs2NSw3IEBAIEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50OjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOCiAgICAgLCBtX2NhY2hlZFNlbGVjdGlvbkRpcmVjdGlvbihTZWxlY3Rpb25I
YXNOb0RpcmVjdGlvbikKICAgICAsIG1fbGFzdENoYW5nZVdhc1VzZXJFZGl0KGZhbHNlKQogICAg
ICwgbV9pc1BsYWNlaG9sZGVyVmlzaWJsZShmYWxzZSkKKyAgICAsIG1fY2FuU2hvd1BsYWNlaG9s
ZGVyKHRydWUpCiAgICAgLCBtX2NhY2hlZFNlbGVjdGlvblN0YXJ0KC0xKQogICAgICwgbV9jYWNo
ZWRTZWxlY3Rpb25FbmQoLTEpCiB7CkBAIC0xNTgsNyArMTU5LDcgQEAgYm9vbCBIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudDo6cGxhY2Vob2xkZXJTaG91bGRCZVZpc2libGUoKSBjb25zdAogewog
ICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSB0aGUgc3R5bGUgcmVzb2x2ZXIgdG8gbWF0
Y2ggdGhlIDpwbGFjZWhvbGRlci1zaG93biBwc2V1ZG8gY2xhc3MuCiAgICAgLy8gU2luY2UgaXQg
aXMgdXNlZCBmb3Igc3R5bGluZywgaXQgbXVzdCBub3QgdXNlIGFueSB2YWx1ZSBkZXBlbmRpbmcg
b24gdGhlIHN0eWxlLgotICAgIHJldHVybiBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgJiYgaXNFbXB0
eVZhbHVlKCkgJiYgIWlzUGxhY2Vob2xkZXJFbXB0eSgpOworICAgIHJldHVybiBzdXBwb3J0c1Bs
YWNlaG9sZGVyKCkgJiYgaXNFbXB0eVZhbHVlKCkgJiYgIWlzUGxhY2Vob2xkZXJFbXB0eSgpICYm
IG1fY2FuU2hvd1BsYWNlaG9sZGVyOwogfQogCiB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50Ojp1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoKQpAQCAtMTcyLDYgKzE3MywxMiBAQCB2
b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxp
dHkoKQogICAgIGludmFsaWRhdGVTdHlsZUZvclN1YnRyZWUoKTsKIH0KIAordm9pZCBIVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudDo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGJvb2wgY2FuU2hvd1Bs
YWNlaG9sZGVyKQoreworICAgIG1fY2FuU2hvd1BsYWNlaG9sZGVyID0gY2FuU2hvd1BsYWNlaG9s
ZGVyOworICAgIHVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eSgpOworfQorCiB2b2lkIEhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXRTZWxlY3Rpb25TdGFydChpbnQgc3RhcnQpCiB7CiAg
ICAgc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIHN0ZDo6bWF4KHN0YXJ0LCBzZWxlY3Rpb25FbmQo
KSksIHNlbGVjdGlvbkRpcmVjdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCA3NDk0ZDI1NGQ1NS4uNDA3ODk0ZjVlY2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
LmgKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIHBs
YWNlaG9sZGVyRWxlbWVudCgpIGNvbnN0ID0gMDsKICAgICB2b2lkIHVwZGF0ZVBsYWNlaG9sZGVy
VmlzaWJpbGl0eSgpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDYW5TaG93UGxhY2Vo
b2xkZXIoYm9vbCk7CisgICAgYm9vbCBjYW5TaG93UGxhY2Vob2xkZXIoKSBjb25zdCB7IHJldHVy
biBtX2NhblNob3dQbGFjZWhvbGRlcjsgfQorCiAgICAgaW50IGluZGV4Rm9yVmlzaWJsZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFZp
c2libGVQb3NpdGlvbiB2aXNpYmxlUG9zaXRpb25Gb3JJbmRleChpbnQgaW5kZXgpIGNvbnN0Owog
ICAgIFdFQkNPUkVfRVhQT1JUIGludCBzZWxlY3Rpb25TdGFydCgpIGNvbnN0OwpAQCAtMTYwLDYg
KzE2Myw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jYWNoZWRTZWxlY3Rpb25EaXJlY3Rp
b24gOiAyOwogICAgIHVuc2lnbmVkIG1fbGFzdENoYW5nZVdhc1VzZXJFZGl0IDogMTsKICAgICB1
bnNpZ25lZCBtX2lzUGxhY2Vob2xkZXJWaXNpYmxlIDogMTsKKyAgICB1bnNpZ25lZCBtX2NhblNo
b3dQbGFjZWhvbGRlciA6IDE7CiAKICAgICBTdHJpbmcgbV90ZXh0QXNPZkxhc3RGb3JtQ29udHJv
bENoYW5nZUV2ZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYzJi
MjA0NDc3ZmUuLjBiNmQyMjEyMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CkBAIC0xNDIwLDYgKzE0MjAsMTIgQEAgU3RyaW5nIEludGVybmFsczo6dmlzaWJsZVBsYWNlaG9s
ZGVyKEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCit2b2lkIElu
dGVybmFsczo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1lbnQmIGVsZW1lbnQsIGJvb2wgY2Fu
U2hvd1BsYWNlaG9sZGVyKQoreworICAgIGlmIChpczxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dD4oZWxlbWVudCkpCisgICAgICAgIGRvd25jYXN0PEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
PihlbGVtZW50KS5zZXRDYW5TaG93UGxhY2Vob2xkZXIoY2FuU2hvd1BsYWNlaG9sZGVyKTsKK30K
Kwogdm9pZCBJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoSFRNTElucHV0RWxl
bWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5nJiBjb2xvclZhbHVlKQogewogICAgIGVsZW1lbnQu
c2VsZWN0Q29sb3IoY29sb3JWYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRl
eCA1YmRiMGUzOTYzOS4uMDlkMjQ5NWUyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aApAQCAtMjM2LDYgKzIzNiw4IEBAIHB1YmxpYzoKICAgICBOb2RlKiBwYXJlbnRUcmVlU2NvcGUo
Tm9kZSYpOwogCiAgICAgU3RyaW5nIHZpc2libGVQbGFjZWhvbGRlcihFbGVtZW50Jik7CisgICAg
dm9pZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIoRWxlbWVudCYsIGJvb2wpOworCiAgICAgdm9pZCBz
ZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKEhUTUxJbnB1dEVsZW1lbnQmLCBjb25zdCBTdHJpbmcm
IGNvbG9yVmFsdWUpOwogICAgIEV4Y2VwdGlvbk9yPFZlY3RvcjxTdHJpbmc+PiBmb3JtQ29udHJv
bFN0YXRlT2ZQcmV2aW91c0hpc3RvcnlJdGVtKCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
Rm9ybUNvbnRyb2xTdGF0ZU9mUHJldmlvdXNIaXN0b3J5SXRlbShjb25zdCBWZWN0b3I8U3RyaW5n
PiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDExOWU0MGYyNmI0Li4z
NDkzODcyZjQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzA3LDYg
KzMwNyw4IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogICAgIEF1dG9GaWxsQnV0dG9uVHlw
ZSBhdXRvRmlsbEJ1dHRvblR5cGUoSFRNTElucHV0RWxlbWVudCBpbnB1dEVsZW1lbnQpOwogICAg
IEF1dG9GaWxsQnV0dG9uVHlwZSBsYXN0QXV0b0ZpbGxCdXR0b25UeXBlKEhUTUxJbnB1dEVsZW1l
bnQgaW5wdXRFbGVtZW50KTsKIAorICAgIHZvaWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1l
bnQgZWxlbWVudCwgYm9vbGVhbiBjYW5TaG93UGxhY2Vob2xkZXIpOworCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBSYW5nZT8gcmFuZ2VPZlN0cmluZyhET01TdHJpbmcgdGV4dCwgUmFuZ2U/IHJl
ZmVyZW5jZVJhbmdlLCBzZXF1ZW5jZTxET01TdHJpbmc+IGZpbmRPcHRpb25zKTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgY291bnRNYXRjaGVzRm9yVGV4dChET01TdHJp
bmcgdGV4dCwgc2VxdWVuY2U8RE9NU3RyaW5nPiBmaW5kT3B0aW9ucywgRE9NU3RyaW5nIG1hcmtN
YXRjaGVzKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgY291bnRGaW5k
TWF0Y2hlcyhET01TdHJpbmcgdGV4dCwgc2VxdWVuY2U8RE9NU3RyaW5nPiBmaW5kT3B0aW9ucyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkMmQ2YjIwZjNi
MC4uMzg1OTFiMTY2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cApAQCAtOTY0MSw2ICs5NjQxLDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c1RleHRJbnB1
dENvbnRleHQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmIGNvbnRleHQsCiAgICAgc2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlOjpGb2N1c1RleHRJbnB1dENvbnRleHQo
Y29udGV4dCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAordm9pZCBXZWJQYWdl
UHJveHk6OnNldENhblNob3dQbGFjZWhvbGRlcihjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCYgY29udGV4dCwgYm9vbCBjYW5TaG93UGxhY2Vob2xkZXIpCit7CisgICAgaWYgKGhhc1J1bm5p
bmdQcm9jZXNzKCkpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldENhblNob3dQ
bGFjZWhvbGRlcihjb250ZXh0LCBjYW5TaG93UGxhY2Vob2xkZXIpKTsKK30KKwogTG9nZ2VyJiBX
ZWJQYWdlUHJveHk6OmxvZ2dlcigpCiB7CiAgICAgaWYgKCFtX2xvZ2dlcikgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA4YjI5Mjk2MjU1ZC4uNDNiNTVlYjA3MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC02ODYsNiArNjg2LDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCB0ZXh0SW5wdXRDb250ZXh0c0luUmVjdChXZWJDb3JlOjpG
bG9hdFJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkVs
ZW1lbnRDb250ZXh0PiYpPiYmKTsKICAgICB2b2lkIGZvY3VzVGV4dElucHV0Q29udGV4dChjb25z
dCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYpOworICAgIHZvaWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNvbnN0IFdlYkNvcmU6OkVsZW1l
bnRDb250ZXh0JiwgYm9vbCk7CiAKICNpZiBFTkFCTEUoVUlfU0lERV9DT01QT1NJVElORykKICAg
ICB2b2lkIHVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0
VXBkYXRlSW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCAyYTNlM2JlZTkxMS4uNjhmZWRhOGFiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02NzUxLDYgKzY3NTEsMTMgQEAgdm9p
ZCBXZWJQYWdlOjpmb2N1c1RleHRJbnB1dENvbnRleHQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENv
bnRleHQmIHRleHRJbnB1dENvbnQKICAgICBjb21wbGV0aW9uSGFuZGxlcihlbGVtZW50KTsKIH0K
IAordm9pZCBXZWJQYWdlOjpzZXRDYW5TaG93UGxhY2Vob2xkZXIoY29uc3QgV2ViQ29yZTo6RWxl
bWVudENvbnRleHQmIGVsZW1lbnRDb250ZXh0LCBib29sIGNhblNob3dQbGFjZWhvbGRlcikKK3sK
KyAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudCA9IGVsZW1lbnRGb3JDb250ZXh0KGVsZW1lbnRD
b250ZXh0KTsKKyAgICBpZiAoaXM8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQp
KQorICAgICAgICBkb3duY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudD4oKmVsZW1lbnQp
LnNldENhblNob3dQbGFjZWhvbGRlcihjYW5TaG93UGxhY2Vob2xkZXIpOworfQorCiBFbGVtZW50
KiBXZWJQYWdlOjplbGVtZW50Rm9yQ29udGV4dChjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCYgZWxlbWVudENvbnRleHQpIGNvbnN0CiB7CiAgICAgaWYgKGVsZW1lbnRDb250ZXh0LndlYlBh
Z2VJZGVudGlmaWVyICE9IG1faWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkYWI4NTMzZDMyMS4uYzQ1ODQwNzcyNDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTYzMSw2ICs2MzEsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHRleHRJbnB1dENvbnRleHRzSW5SZWN0KFdlYkNvcmU6OkZs
b2F0UmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6RWxl
bWVudENvbnRleHQ+Jik+JiYpOwogICAgIHZvaWQgZm9jdXNUZXh0SW5wdXRDb250ZXh0KGNvbnN0
IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
Jik7CisgICAgdm9pZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIoY29uc3QgV2ViQ29yZTo6RWxlbWVu
dENvbnRleHQmLCBib29sKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViQ29y
ZTo6RmxvYXRTaXplIHNjcmVlblNpemUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDA5NDBmNmNkODk1
Li5iNzRhY2IxYjg5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC01NzIsNiArNTcyLDcgQEAgR2VuZXJhdGVTeW50
aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZFR5cGUKIAogICAgIFRleHRJbnB1dENvbnRleHRzSW5SZWN0KFdlYkNvcmU6OkZsb2F0
UmVjdCByZWN0KSAtPiAoVmVjdG9yPHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dD4gY29u
dGV4dHMpIEFzeW5jCiAgICAgRm9jdXNUZXh0SW5wdXRDb250ZXh0KHN0cnVjdCBXZWJDb3JlOjpF
bGVtZW50Q29udGV4dCBjb250ZXh0KSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYworICAgIFNldENh
blNob3dQbGFjZWhvbGRlcihzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgY29udGV4dCwg
Ym9vbCBjYW5TaG93UGxhY2Vob2xkZXIpCiAKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKQogICAgIFdhc0xvYWRlZFdpdGhEYXRhVHJhbnNmZXJGcm9tUHJldmFsZW50UmVzb3Vy
Y2UoKQotLSAKMi4yMy4wIChBcHBsZSBHaXQtMTI1KQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388114</attachid>
            <date>2020-01-17 16:42:21 -0800</date>
            <delta_ts>2020-01-17 16:43:28 -0800</delta_ts>
            <desc>For the bots - missing test results</desc>
            <filename>ForTheBots.patch</filename>
            <type>text/plain</type>
            <size>11034</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSA5ZjM3NmJjNzAzODI1OTBjMGJhYTJjNGJhMDBjNzAzODhkNzgxMTFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRhYmF0ZXNAYXBwbGUuY29tPgpEYXRl
OiBGcmksIDE3IEphbiAyMDIwIDE2OjM3OjAzIC0wODAwClN1YmplY3Q6IFtQQVRDSF0gUGF0Y2gg
Zm9yIHRoZSBib3RzCgotLS0KIC4uLm93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xk
ZXIuaHRtbCB8IDQ1ICsrKysrKysrKysrKysrKysrKysKIC4uLi9odG1sL0hUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50LmNwcCAgICAgICB8ICA5ICsrKy0KIC4uLi9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaCB8ICA0ICsrCiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAgICAgICAgICAgfCAgNiArKysKIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmggICAgICAgICAgICB8ICAyICsKIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbCAgICAgICAgICB8ICAyICsKIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgICAgICB8ICA2ICsrKwogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggICAgICAgIHwgIDEgKwogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAgIHwgIDcgKysrCiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggICAgfCAgMSArCiAuLi4vV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4gICAgfCAgMSArCiAxMSBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0
aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhv
bGRlci1zaG93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXIuaHRtbAoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlkZS12
aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Bs
YWNlaG9sZGVyLXNob3ctYW5kLWhpZGUtdmlhLXNldENhblNob3dQbGFjZWhvbGRlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wODBmODViZDRhNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQt
aGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpbnB1dCB0eXBl
PSJ0ZXh0IiBwbGFjZWhvbGRlcj0iZmlyc3QiPgorICAgIDx0ZXh0YXJlYSBwbGFjZWhvbGRlcj0i
c2Vjb25kIj48L3RleHRhcmVhPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRo
ZSBwbGFjZWhvbGRlciBjYW4gYmUgaGlkZGVuIGFuZCBzaG93biBmb3IgZW1wdHkgZmllbGRzIHZp
YSBzZXRDYW5TaG93UGxhY2Vob2xkZXIoKSIpOworCitmdW5jdGlvbiB0ZXN0VGhhdFBsYWNlaG9s
ZGVySXNIaWRkZW4odGFnTmFtZSkKK3sKKyAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IodGFnTmFtZSk7CisgICAgaW50ZXJuYWxzLnNldENhblNob3dQbGFjZWhvbGRlcihl
bGVtZW50LCBmYWxzZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBpbnRlcm5hbHMudmlz
aWJsZVBsYWNlaG9sZGVyKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJHt0YWdOYW1lfSkpYCwgIiIp
OworfQorCitmdW5jdGlvbiB0ZXN0VGhhdFBsYWNlaG9sZGVySXNFcXVhbFRvU3RyaW5nKHRhZ05h
bWUsIGV4cGVjdGVkVGV4dCkKK3sKKyAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IodGFnTmFtZSk7CisgICAgaW50ZXJuYWxzLnNldENhblNob3dQbGFjZWhvbGRlcihlbGVt
ZW50LCB0cnVlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGludGVybmFscy52aXNpYmxl
UGxhY2Vob2xkZXIoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigke3RhZ05hbWV9KSlgLCBleHBlY3Rl
ZFRleHQpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAoIXdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiTXVzdCBoYXZlIHdpbmRvdy5pbnRlcm5hbHMu
Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkZWJ1ZygiRGlzYWxsb3cgc2hvd2lu
ZyBvZiBwbGFjZWhvbGRlcjoiKTsKKyAgICB0ZXN0VGhhdFBsYWNlaG9sZGVySXNIaWRkZW4oImlu
cHV0Iik7CisgICAgdGVzdFRoYXRQbGFjZWhvbGRlcklzSGlkZGVuKCJ0ZXh0YXJlYSIpOworCisg
ICAgZGVidWcoIjxicj5BbGxvdyBzaG93aW5nIG9mIHBsYWNlaG9sZGVyOiIpOworICAgIHRlc3RU
aGF0UGxhY2Vob2xkZXJJc0VxdWFsVG9TdHJpbmcoImlucHV0IiwgImZpcnN0Iik7CisgICAgdGVz
dFRoYXRQbGFjZWhvbGRlcklzRXF1YWxUb1N0cmluZygidGV4dGFyZWEiLCAic2Vjb25kIik7Cit9
CisKK3J1blRlc3QoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCAzZjNj
ZmFjODA2Mi4uYjY5NGVlYzEwYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC02NSw2ICs2NSw3IEBAIEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50OjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOCiAgICAgLCBtX2NhY2hlZFNlbGVjdGlvbkRpcmVjdGlvbihTZWxlY3Rpb25I
YXNOb0RpcmVjdGlvbikKICAgICAsIG1fbGFzdENoYW5nZVdhc1VzZXJFZGl0KGZhbHNlKQogICAg
ICwgbV9pc1BsYWNlaG9sZGVyVmlzaWJsZShmYWxzZSkKKyAgICAsIG1fY2FuU2hvd1BsYWNlaG9s
ZGVyKHRydWUpCiAgICAgLCBtX2NhY2hlZFNlbGVjdGlvblN0YXJ0KC0xKQogICAgICwgbV9jYWNo
ZWRTZWxlY3Rpb25FbmQoLTEpCiB7CkBAIC0xNTgsNyArMTU5LDcgQEAgYm9vbCBIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudDo6cGxhY2Vob2xkZXJTaG91bGRCZVZpc2libGUoKSBjb25zdAogewog
ICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSB0aGUgc3R5bGUgcmVzb2x2ZXIgdG8gbWF0
Y2ggdGhlIDpwbGFjZWhvbGRlci1zaG93biBwc2V1ZG8gY2xhc3MuCiAgICAgLy8gU2luY2UgaXQg
aXMgdXNlZCBmb3Igc3R5bGluZywgaXQgbXVzdCBub3QgdXNlIGFueSB2YWx1ZSBkZXBlbmRpbmcg
b24gdGhlIHN0eWxlLgotICAgIHJldHVybiBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgJiYgaXNFbXB0
eVZhbHVlKCkgJiYgIWlzUGxhY2Vob2xkZXJFbXB0eSgpOworICAgIHJldHVybiBzdXBwb3J0c1Bs
YWNlaG9sZGVyKCkgJiYgaXNFbXB0eVZhbHVlKCkgJiYgIWlzUGxhY2Vob2xkZXJFbXB0eSgpICYm
IG1fY2FuU2hvd1BsYWNlaG9sZGVyOwogfQogCiB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50Ojp1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoKQpAQCAtMTcyLDYgKzE3MywxMiBAQCB2
b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxp
dHkoKQogICAgIGludmFsaWRhdGVTdHlsZUZvclN1YnRyZWUoKTsKIH0KIAordm9pZCBIVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudDo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGJvb2wgY2FuU2hvd1Bs
YWNlaG9sZGVyKQoreworICAgIG1fY2FuU2hvd1BsYWNlaG9sZGVyID0gY2FuU2hvd1BsYWNlaG9s
ZGVyOworICAgIHVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eSgpOworfQorCiB2b2lkIEhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXRTZWxlY3Rpb25TdGFydChpbnQgc3RhcnQpCiB7CiAg
ICAgc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIHN0ZDo6bWF4KHN0YXJ0LCBzZWxlY3Rpb25FbmQo
KSksIHNlbGVjdGlvbkRpcmVjdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCA3NDk0ZDI1NGQ1NS4uNDA3ODk0ZjVlY2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
LmgKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIHBs
YWNlaG9sZGVyRWxlbWVudCgpIGNvbnN0ID0gMDsKICAgICB2b2lkIHVwZGF0ZVBsYWNlaG9sZGVy
VmlzaWJpbGl0eSgpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDYW5TaG93UGxhY2Vo
b2xkZXIoYm9vbCk7CisgICAgYm9vbCBjYW5TaG93UGxhY2Vob2xkZXIoKSBjb25zdCB7IHJldHVy
biBtX2NhblNob3dQbGFjZWhvbGRlcjsgfQorCiAgICAgaW50IGluZGV4Rm9yVmlzaWJsZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFZp
c2libGVQb3NpdGlvbiB2aXNpYmxlUG9zaXRpb25Gb3JJbmRleChpbnQgaW5kZXgpIGNvbnN0Owog
ICAgIFdFQkNPUkVfRVhQT1JUIGludCBzZWxlY3Rpb25TdGFydCgpIGNvbnN0OwpAQCAtMTYwLDYg
KzE2Myw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jYWNoZWRTZWxlY3Rpb25EaXJlY3Rp
b24gOiAyOwogICAgIHVuc2lnbmVkIG1fbGFzdENoYW5nZVdhc1VzZXJFZGl0IDogMTsKICAgICB1
bnNpZ25lZCBtX2lzUGxhY2Vob2xkZXJWaXNpYmxlIDogMTsKKyAgICB1bnNpZ25lZCBtX2NhblNo
b3dQbGFjZWhvbGRlciA6IDE7CiAKICAgICBTdHJpbmcgbV90ZXh0QXNPZkxhc3RGb3JtQ29udHJv
bENoYW5nZUV2ZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYzJi
MjA0NDc3ZmUuLjBiNmQyMjEyMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CkBAIC0xNDIwLDYgKzE0MjAsMTIgQEAgU3RyaW5nIEludGVybmFsczo6dmlzaWJsZVBsYWNlaG9s
ZGVyKEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCit2b2lkIElu
dGVybmFsczo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1lbnQmIGVsZW1lbnQsIGJvb2wgY2Fu
U2hvd1BsYWNlaG9sZGVyKQoreworICAgIGlmIChpczxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dD4oZWxlbWVudCkpCisgICAgICAgIGRvd25jYXN0PEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
PihlbGVtZW50KS5zZXRDYW5TaG93UGxhY2Vob2xkZXIoY2FuU2hvd1BsYWNlaG9sZGVyKTsKK30K
Kwogdm9pZCBJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoSFRNTElucHV0RWxl
bWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5nJiBjb2xvclZhbHVlKQogewogICAgIGVsZW1lbnQu
c2VsZWN0Q29sb3IoY29sb3JWYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRl
eCA1YmRiMGUzOTYzOS4uMDlkMjQ5NWUyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aApAQCAtMjM2LDYgKzIzNiw4IEBAIHB1YmxpYzoKICAgICBOb2RlKiBwYXJlbnRUcmVlU2NvcGUo
Tm9kZSYpOwogCiAgICAgU3RyaW5nIHZpc2libGVQbGFjZWhvbGRlcihFbGVtZW50Jik7CisgICAg
dm9pZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIoRWxlbWVudCYsIGJvb2wpOworCiAgICAgdm9pZCBz
ZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKEhUTUxJbnB1dEVsZW1lbnQmLCBjb25zdCBTdHJpbmcm
IGNvbG9yVmFsdWUpOwogICAgIEV4Y2VwdGlvbk9yPFZlY3RvcjxTdHJpbmc+PiBmb3JtQ29udHJv
bFN0YXRlT2ZQcmV2aW91c0hpc3RvcnlJdGVtKCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
Rm9ybUNvbnRyb2xTdGF0ZU9mUHJldmlvdXNIaXN0b3J5SXRlbShjb25zdCBWZWN0b3I8U3RyaW5n
PiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDExOWU0MGYyNmI0Li4z
NDkzODcyZjQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzA3LDYg
KzMwNyw4IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogICAgIEF1dG9GaWxsQnV0dG9uVHlw
ZSBhdXRvRmlsbEJ1dHRvblR5cGUoSFRNTElucHV0RWxlbWVudCBpbnB1dEVsZW1lbnQpOwogICAg
IEF1dG9GaWxsQnV0dG9uVHlwZSBsYXN0QXV0b0ZpbGxCdXR0b25UeXBlKEhUTUxJbnB1dEVsZW1l
bnQgaW5wdXRFbGVtZW50KTsKIAorICAgIHZvaWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1l
bnQgZWxlbWVudCwgYm9vbGVhbiBjYW5TaG93UGxhY2Vob2xkZXIpOworCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBSYW5nZT8gcmFuZ2VPZlN0cmluZyhET01TdHJpbmcgdGV4dCwgUmFuZ2U/IHJl
ZmVyZW5jZVJhbmdlLCBzZXF1ZW5jZTxET01TdHJpbmc+IGZpbmRPcHRpb25zKTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgY291bnRNYXRjaGVzRm9yVGV4dChET01TdHJp
bmcgdGV4dCwgc2VxdWVuY2U8RE9NU3RyaW5nPiBmaW5kT3B0aW9ucywgRE9NU3RyaW5nIG1hcmtN
YXRjaGVzKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgY291bnRGaW5k
TWF0Y2hlcyhET01TdHJpbmcgdGV4dCwgc2VxdWVuY2U8RE9NU3RyaW5nPiBmaW5kT3B0aW9ucyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkMmQ2YjIwZjNi
MC4uMzg1OTFiMTY2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cApAQCAtOTY0MSw2ICs5NjQxLDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c1RleHRJbnB1
dENvbnRleHQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmIGNvbnRleHQsCiAgICAgc2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlOjpGb2N1c1RleHRJbnB1dENvbnRleHQo
Y29udGV4dCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAordm9pZCBXZWJQYWdl
UHJveHk6OnNldENhblNob3dQbGFjZWhvbGRlcihjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCYgY29udGV4dCwgYm9vbCBjYW5TaG93UGxhY2Vob2xkZXIpCit7CisgICAgaWYgKGhhc1J1bm5p
bmdQcm9jZXNzKCkpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldENhblNob3dQ
bGFjZWhvbGRlcihjb250ZXh0LCBjYW5TaG93UGxhY2Vob2xkZXIpKTsKK30KKwogTG9nZ2VyJiBX
ZWJQYWdlUHJveHk6OmxvZ2dlcigpCiB7CiAgICAgaWYgKCFtX2xvZ2dlcikgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA4YjI5Mjk2MjU1ZC4uNDNiNTVlYjA3MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC02ODYsNiArNjg2LDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCB0ZXh0SW5wdXRDb250ZXh0c0luUmVjdChXZWJDb3JlOjpG
bG9hdFJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkVs
ZW1lbnRDb250ZXh0PiYpPiYmKTsKICAgICB2b2lkIGZvY3VzVGV4dElucHV0Q29udGV4dChjb25z
dCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYpOworICAgIHZvaWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNvbnN0IFdlYkNvcmU6OkVsZW1l
bnRDb250ZXh0JiwgYm9vbCk7CiAKICNpZiBFTkFCTEUoVUlfU0lERV9DT01QT1NJVElORykKICAg
ICB2b2lkIHVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0
VXBkYXRlSW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCAyYTNlM2JlZTkxMS4uNjhmZWRhOGFiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02NzUxLDYgKzY3NTEsMTMgQEAgdm9p
ZCBXZWJQYWdlOjpmb2N1c1RleHRJbnB1dENvbnRleHQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENv
bnRleHQmIHRleHRJbnB1dENvbnQKICAgICBjb21wbGV0aW9uSGFuZGxlcihlbGVtZW50KTsKIH0K
IAordm9pZCBXZWJQYWdlOjpzZXRDYW5TaG93UGxhY2Vob2xkZXIoY29uc3QgV2ViQ29yZTo6RWxl
bWVudENvbnRleHQmIGVsZW1lbnRDb250ZXh0LCBib29sIGNhblNob3dQbGFjZWhvbGRlcikKK3sK
KyAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudCA9IGVsZW1lbnRGb3JDb250ZXh0KGVsZW1lbnRD
b250ZXh0KTsKKyAgICBpZiAoaXM8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQp
KQorICAgICAgICBkb3duY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudD4oKmVsZW1lbnQp
LnNldENhblNob3dQbGFjZWhvbGRlcihjYW5TaG93UGxhY2Vob2xkZXIpOworfQorCiBFbGVtZW50
KiBXZWJQYWdlOjplbGVtZW50Rm9yQ29udGV4dChjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCYgZWxlbWVudENvbnRleHQpIGNvbnN0CiB7CiAgICAgaWYgKGVsZW1lbnRDb250ZXh0LndlYlBh
Z2VJZGVudGlmaWVyICE9IG1faWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkYWI4NTMzZDMyMS4uYzQ1ODQwNzcyNDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTYzMSw2ICs2MzEsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHRleHRJbnB1dENvbnRleHRzSW5SZWN0KFdlYkNvcmU6OkZs
b2F0UmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6RWxl
bWVudENvbnRleHQ+Jik+JiYpOwogICAgIHZvaWQgZm9jdXNUZXh0SW5wdXRDb250ZXh0KGNvbnN0
IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
Jik7CisgICAgdm9pZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIoY29uc3QgV2ViQ29yZTo6RWxlbWVu
dENvbnRleHQmLCBib29sKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViQ29y
ZTo6RmxvYXRTaXplIHNjcmVlblNpemUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDA5NDBmNmNkODk1
Li5iNzRhY2IxYjg5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC01NzIsNiArNTcyLDcgQEAgR2VuZXJhdGVTeW50
aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZFR5cGUKIAogICAgIFRleHRJbnB1dENvbnRleHRzSW5SZWN0KFdlYkNvcmU6OkZsb2F0
UmVjdCByZWN0KSAtPiAoVmVjdG9yPHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dD4gY29u
dGV4dHMpIEFzeW5jCiAgICAgRm9jdXNUZXh0SW5wdXRDb250ZXh0KHN0cnVjdCBXZWJDb3JlOjpF
bGVtZW50Q29udGV4dCBjb250ZXh0KSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYworICAgIFNldENh
blNob3dQbGFjZWhvbGRlcihzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgY29udGV4dCwg
Ym9vbCBjYW5TaG93UGxhY2Vob2xkZXIpCiAKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKQogICAgIFdhc0xvYWRlZFdpdGhEYXRhVHJhbnNmZXJGcm9tUHJldmFsZW50UmVzb3Vy
Y2UoKQotLSAKMi4yMy4wIChBcHBsZSBHaXQtMTI1KQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388115</attachid>
            <date>2020-01-17 16:43:28 -0800</date>
            <delta_ts>2020-01-21 09:57:42 -0800</delta_ts>
            <desc>For the bots - missing test results</desc>
            <filename>ForTheBots.patch</filename>
            <type>text/plain</type>
            <size>11030</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSBkY2Q4YTY3N2Y2MTMwNjk0OTQwYTc1MjZhOGVjMzZlZWQzM2JlYzZmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRhYmF0ZXNAYXBwbGUuY29tPgpEYXRl
OiBGcmksIDE3IEphbiAyMDIwIDE2OjM3OjAzIC0wODAwClN1YmplY3Q6IFtQQVRDSF0gUGF0Y2gg
Zm9yIHRoZSBib3RzCgotLS0KIC4uLm93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xk
ZXIuaHRtbCB8IDQ1ICsrKysrKysrKysrKysrKysrKysKIC4uLi9odG1sL0hUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50LmNwcCAgICAgICB8ICA5ICsrKy0KIC4uLi9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaCB8ICA0ICsrCiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAgICAgICAgICAgfCAgNiArKysKIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmggICAgICAgICAgICB8ICAyICsKIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbCAgICAgICAgICB8ICAyICsKIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgICAgICB8ICA2ICsrKwogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggICAgICAgIHwgIDEgKwogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAgIHwgIDcgKysrCiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggICAgfCAgMSArCiAuLi4vV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4gICAgfCAgMSArCiAxMSBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0
aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhv
bGRlci1zaG93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXIuaHRtbAoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlkZS12
aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Bs
YWNlaG9sZGVyLXNob3ctYW5kLWhpZGUtdmlhLXNldENhblNob3dQbGFjZWhvbGRlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zOGFlYzVkYWJjYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQt
aGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlucHV0IHR5cGU9InRl
eHQiIHBsYWNlaG9sZGVyPSJmaXJzdCI+Cis8dGV4dGFyZWEgcGxhY2Vob2xkZXI9InNlY29uZCI+
PC90ZXh0YXJlYT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgcGxhY2Vo
b2xkZXIgY2FuIGJlIGhpZGRlbiBhbmQgc2hvd24gZm9yIGVtcHR5IGZpZWxkcyB2aWEgc2V0Q2Fu
U2hvd1BsYWNlaG9sZGVyKCkiKTsKKworZnVuY3Rpb24gdGVzdFRoYXRQbGFjZWhvbGRlcklzSGlk
ZGVuKHRhZ05hbWUpCit7CisgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KHRhZ05hbWUpOworICAgIGludGVybmFscy5zZXRDYW5TaG93UGxhY2Vob2xkZXIoZWxlbWVudCwg
ZmFsc2UpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgaW50ZXJuYWxzLnZpc2libGVQbGFj
ZWhvbGRlcihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIke3RhZ05hbWV9IikpYCwgIiIpOworfQor
CitmdW5jdGlvbiB0ZXN0VGhhdFBsYWNlaG9sZGVySXNFcXVhbFRvU3RyaW5nKHRhZ05hbWUsIGV4
cGVjdGVkVGV4dCkKK3sKKyAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
dGFnTmFtZSk7CisgICAgaW50ZXJuYWxzLnNldENhblNob3dQbGFjZWhvbGRlcihlbGVtZW50LCB0
cnVlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGludGVybmFscy52aXNpYmxlUGxhY2Vo
b2xkZXIoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiJHt0YWdOYW1lfSIpKWAsIGV4cGVjdGVkVGV4
dCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICghd2luZG93LmludGVybmFs
cykgeworICAgICAgICB0ZXN0RmFpbGVkKCJNdXN0IGhhdmUgd2luZG93LmludGVybmFscy4iKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGRlYnVnKCJEaXNhbGxvdyBzaG93aW5nIG9m
IHBsYWNlaG9sZGVyOiIpOworICAgIHRlc3RUaGF0UGxhY2Vob2xkZXJJc0hpZGRlbigiaW5wdXQi
KTsKKyAgICB0ZXN0VGhhdFBsYWNlaG9sZGVySXNIaWRkZW4oInRleHRhcmVhIik7CisKKyAgICBk
ZWJ1ZygiPGJyPkFsbG93IHNob3dpbmcgb2YgcGxhY2Vob2xkZXI6Iik7CisgICAgdGVzdFRoYXRQ
bGFjZWhvbGRlcklzRXF1YWxUb1N0cmluZygiaW5wdXQiLCAiZmlyc3QiKTsKKyAgICB0ZXN0VGhh
dFBsYWNlaG9sZGVySXNFcXVhbFRvU3RyaW5nKCJ0ZXh0YXJlYSIsICJzZWNvbmQiKTsKK30KKwor
cnVuVGVzdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IDNmM2NmYWM4
MDYyLi5iNjk0ZWVjMTBiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTY1LDYgKzY1LDcgQEAgSFRNTFRleHRGb3JtQ29u
dHJvbEVsZW1lbnQ6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ04KICAgICAsIG1fY2FjaGVkU2VsZWN0aW9uRGlyZWN0aW9uKFNlbGVjdGlvbkhhc05v
RGlyZWN0aW9uKQogICAgICwgbV9sYXN0Q2hhbmdlV2FzVXNlckVkaXQoZmFsc2UpCiAgICAgLCBt
X2lzUGxhY2Vob2xkZXJWaXNpYmxlKGZhbHNlKQorICAgICwgbV9jYW5TaG93UGxhY2Vob2xkZXIo
dHJ1ZSkKICAgICAsIG1fY2FjaGVkU2VsZWN0aW9uU3RhcnQoLTEpCiAgICAgLCBtX2NhY2hlZFNl
bGVjdGlvbkVuZCgtMSkKIHsKQEAgLTE1OCw3ICsxNTksNyBAQCBib29sIEhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50OjpwbGFjZWhvbGRlclNob3VsZEJlVmlzaWJsZSgpIGNvbnN0CiB7CiAgICAg
Ly8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJ5IHRoZSBzdHlsZSByZXNvbHZlciB0byBtYXRjaCB0
aGUgOnBsYWNlaG9sZGVyLXNob3duIHBzZXVkbyBjbGFzcy4KICAgICAvLyBTaW5jZSBpdCBpcyB1
c2VkIGZvciBzdHlsaW5nLCBpdCBtdXN0IG5vdCB1c2UgYW55IHZhbHVlIGRlcGVuZGluZyBvbiB0
aGUgc3R5bGUuCi0gICAgcmV0dXJuIHN1cHBvcnRzUGxhY2Vob2xkZXIoKSAmJiBpc0VtcHR5VmFs
dWUoKSAmJiAhaXNQbGFjZWhvbGRlckVtcHR5KCk7CisgICAgcmV0dXJuIHN1cHBvcnRzUGxhY2Vo
b2xkZXIoKSAmJiBpc0VtcHR5VmFsdWUoKSAmJiAhaXNQbGFjZWhvbGRlckVtcHR5KCkgJiYgbV9j
YW5TaG93UGxhY2Vob2xkZXI7CiB9CiAKIHZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6
OnVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eSgpCkBAIC0xNzIsNiArMTczLDEyIEBAIHZvaWQg
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eSgp
CiAgICAgaW52YWxpZGF0ZVN0eWxlRm9yU3VidHJlZSgpOwogfQogCit2b2lkIEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50OjpzZXRDYW5TaG93UGxhY2Vob2xkZXIoYm9vbCBjYW5TaG93UGxhY2Vo
b2xkZXIpCit7CisgICAgbV9jYW5TaG93UGxhY2Vob2xkZXIgPSBjYW5TaG93UGxhY2Vob2xkZXI7
CisgICAgdXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KCk7Cit9CisKIHZvaWQgSFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OnNldFNlbGVjdGlvblN0YXJ0KGludCBzdGFydCkKIHsKICAgICBz
ZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgc3RkOjptYXgoc3RhcnQsIHNlbGVjdGlvbkVuZCgpKSwg
c2VsZWN0aW9uRGlyZWN0aW9uKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4IDc0OTRkMjU0ZDU1Li40MDc4OTRmNWVjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaApA
QCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIVE1MRWxlbWVudCogcGxhY2Vo
b2xkZXJFbGVtZW50KCkgY29uc3QgPSAwOwogICAgIHZvaWQgdXBkYXRlUGxhY2Vob2xkZXJWaXNp
YmlsaXR5KCk7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldENhblNob3dQbGFjZWhvbGRl
cihib29sKTsKKyAgICBib29sIGNhblNob3dQbGFjZWhvbGRlcigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FuU2hvd1BsYWNlaG9sZGVyOyB9CisKICAgICBpbnQgaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uJikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgVmlzaWJs
ZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkZvckluZGV4KGludCBpbmRleCkgY29uc3Q7CiAgICAg
V0VCQ09SRV9FWFBPUlQgaW50IHNlbGVjdGlvblN0YXJ0KCkgY29uc3Q7CkBAIC0xNjAsNiArMTYz
LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2NhY2hlZFNlbGVjdGlvbkRpcmVjdGlvbiA6
IDI7CiAgICAgdW5zaWduZWQgbV9sYXN0Q2hhbmdlV2FzVXNlckVkaXQgOiAxOwogICAgIHVuc2ln
bmVkIG1faXNQbGFjZWhvbGRlclZpc2libGUgOiAxOworICAgIHVuc2lnbmVkIG1fY2FuU2hvd1Bs
YWNlaG9sZGVyIDogMTsKIAogICAgIFN0cmluZyBtX3RleHRBc09mTGFzdEZvcm1Db250cm9sQ2hh
bmdlRXZlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjMmIyMDQ0
NzdmZS4uMGI2ZDIyMTIxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAg
LTE0MjAsNiArMTQyMCwxMiBAQCBTdHJpbmcgSW50ZXJuYWxzOjp2aXNpYmxlUGxhY2Vob2xkZXIo
RWxlbWVudCYgZWxlbWVudCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK3ZvaWQgSW50ZXJu
YWxzOjpzZXRDYW5TaG93UGxhY2Vob2xkZXIoRWxlbWVudCYgZWxlbWVudCwgYm9vbCBjYW5TaG93
UGxhY2Vob2xkZXIpCit7CisgICAgaWYgKGlzPEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Pihl
bGVtZW50KSkKKyAgICAgICAgZG93bmNhc3Q8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ+KGVs
ZW1lbnQpLnNldENhblNob3dQbGFjZWhvbGRlcihjYW5TaG93UGxhY2Vob2xkZXIpOworfQorCiB2
b2lkIEludGVybmFsczo6c2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3NlcihIVE1MSW5wdXRFbGVtZW50
JiBlbGVtZW50LCBjb25zdCBTdHJpbmcmIGNvbG9yVmFsdWUpCiB7CiAgICAgZWxlbWVudC5zZWxl
Y3RDb2xvcihjb2xvclZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDVi
ZGIwZTM5NjM5Li4wOWQyNDk1ZTJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBA
IC0yMzYsNiArMjM2LDggQEAgcHVibGljOgogICAgIE5vZGUqIHBhcmVudFRyZWVTY29wZShOb2Rl
Jik7CiAKICAgICBTdHJpbmcgdmlzaWJsZVBsYWNlaG9sZGVyKEVsZW1lbnQmKTsKKyAgICB2b2lk
IHNldENhblNob3dQbGFjZWhvbGRlcihFbGVtZW50JiwgYm9vbCk7CisKICAgICB2b2lkIHNlbGVj
dENvbG9ySW5Db2xvckNob29zZXIoSFRNTElucHV0RWxlbWVudCYsIGNvbnN0IFN0cmluZyYgY29s
b3JWYWx1ZSk7CiAgICAgRXhjZXB0aW9uT3I8VmVjdG9yPFN0cmluZz4+IGZvcm1Db250cm9sU3Rh
dGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRGb3Jt
Q29udHJvbFN0YXRlT2ZQcmV2aW91c0hpc3RvcnlJdGVtKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMTE5ZTQwZjI2YjQuLjM0OTM4
NzJmNDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0zMDcsNiArMzA3
LDggQEAgZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAgICAgQXV0b0ZpbGxCdXR0b25UeXBlIGF1
dG9GaWxsQnV0dG9uVHlwZShIVE1MSW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCk7CiAgICAgQXV0
b0ZpbGxCdXR0b25UeXBlIGxhc3RBdXRvRmlsbEJ1dHRvblR5cGUoSFRNTElucHV0RWxlbWVudCBp
bnB1dEVsZW1lbnQpOwogCisgICAgdm9pZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIoRWxlbWVudCBl
bGVtZW50LCBib29sZWFuIGNhblNob3dQbGFjZWhvbGRlcik7CisKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIFJhbmdlPyByYW5nZU9mU3RyaW5nKERPTVN0cmluZyB0ZXh0LCBSYW5nZT8gcmVmZXJl
bmNlUmFuZ2UsIHNlcXVlbmNlPERPTVN0cmluZz4gZmluZE9wdGlvbnMpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBjb3VudE1hdGNoZXNGb3JUZXh0KERPTVN0cmluZyB0
ZXh0LCBzZXF1ZW5jZTxET01TdHJpbmc+IGZpbmRPcHRpb25zLCBET01TdHJpbmcgbWFya01hdGNo
ZXMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBjb3VudEZpbmRNYXRj
aGVzKERPTVN0cmluZyB0ZXh0LCBzZXF1ZW5jZTxET01TdHJpbmc+IGZpbmRPcHRpb25zKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGQyZDZiMjBmM2IwLi4z
ODU5MWIxNjY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC05NjQxLDYgKzk2NDEsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmZvY3VzVGV4dElucHV0Q29u
dGV4dChjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYgY29udGV4dCwKICAgICBzZW5kV2l0
aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OkZvY3VzVGV4dElucHV0Q29udGV4dChjb250
ZXh0KSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94
eTo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBj
b250ZXh0LCBib29sIGNhblNob3dQbGFjZWhvbGRlcikKK3sKKyAgICBpZiAoaGFzUnVubmluZ1By
b2Nlc3MoKSkKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0Q2FuU2hvd1BsYWNl
aG9sZGVyKGNvbnRleHQsIGNhblNob3dQbGFjZWhvbGRlcikpOworfQorCiBMb2dnZXImIFdlYlBh
Z2VQcm94eTo6bG9nZ2VyKCkKIHsKICAgICBpZiAoIW1fbG9nZ2VyKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDhiMjkyOTYyNTVkLi40M2I1NWViMDcwYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTY4Niw2ICs2ODYsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHRleHRJbnB1dENvbnRleHRzSW5SZWN0KFdlYkNvcmU6OkZsb2F0
UmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6RWxlbWVu
dENvbnRleHQ+Jik+JiYpOwogICAgIHZvaWQgZm9jdXNUZXh0SW5wdXRDb250ZXh0KGNvbnN0IFdl
YkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7
CisgICAgdm9pZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIoY29uc3QgV2ViQ29yZTo6RWxlbWVudENv
bnRleHQmLCBib29sKTsKIAogI2lmIEVOQUJMRShVSV9TSURFX0NPTVBPU0lUSU5HKQogICAgIHZv
aWQgdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRh
dGVJbmZvJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDJhM2UzYmVlOTExLi42OGZlZGE4YWJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY3NTEsNiArNjc1MSwxMyBAQCB2b2lkIFdl
YlBhZ2U6OmZvY3VzVGV4dElucHV0Q29udGV4dChjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCYgdGV4dElucHV0Q29udAogICAgIGNvbXBsZXRpb25IYW5kbGVyKGVsZW1lbnQpOwogfQogCit2
b2lkIFdlYlBhZ2U6OnNldENhblNob3dQbGFjZWhvbGRlcihjb25zdCBXZWJDb3JlOjpFbGVtZW50
Q29udGV4dCYgZWxlbWVudENvbnRleHQsIGJvb2wgY2FuU2hvd1BsYWNlaG9sZGVyKQoreworICAg
IFJlZlB0cjxFbGVtZW50PiBlbGVtZW50ID0gZWxlbWVudEZvckNvbnRleHQoZWxlbWVudENvbnRl
eHQpOworICAgIGlmIChpczxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudD4oZWxlbWVudCkpCisg
ICAgICAgIGRvd25jYXN0PEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50PigqZWxlbWVudCkuc2V0
Q2FuU2hvd1BsYWNlaG9sZGVyKGNhblNob3dQbGFjZWhvbGRlcik7Cit9CisKIEVsZW1lbnQqIFdl
YlBhZ2U6OmVsZW1lbnRGb3JDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBl
bGVtZW50Q29udGV4dCkgY29uc3QKIHsKICAgICBpZiAoZWxlbWVudENvbnRleHQud2ViUGFnZUlk
ZW50aWZpZXIgIT0gbV9pZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCmluZGV4IGRhYjg1MzNkMzIxLi5jNDU4NDA3NzI0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNjMxLDYgKzYzMSw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgdGV4dElucHV0Q29udGV4dHNJblJlY3QoV2ViQ29yZTo6RmxvYXRS
ZWN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpFbGVtZW50
Q29udGV4dD4mKT4mJik7CiAgICAgdm9pZCBmb2N1c1RleHRJbnB1dENvbnRleHQoY29uc3QgV2Vi
Q29yZTo6RWxlbWVudENvbnRleHQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsK
KyAgICB2b2lkIHNldENhblNob3dQbGFjZWhvbGRlcihjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29u
dGV4dCYsIGJvb2wpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBXZWJDb3JlOjpG
bG9hdFNpemUgc2NyZWVuU2l6ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMDk0MGY2Y2Q4OTUuLmI3
NGFjYjFiODlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTU3Miw2ICs1NzIsNyBAQCBHZW5lcmF0ZVN5bnRoZXRp
Y0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21t
YW5kVHlwZQogCiAgICAgVGV4dElucHV0Q29udGV4dHNJblJlY3QoV2ViQ29yZTo6RmxvYXRSZWN0
IHJlY3QpIC0+IChWZWN0b3I8c3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0PiBjb250ZXh0
cykgQXN5bmMKICAgICBGb2N1c1RleHRJbnB1dENvbnRleHQoc3RydWN0IFdlYkNvcmU6OkVsZW1l
bnRDb250ZXh0IGNvbnRleHQpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCisgICAgU2V0Q2FuU2hv
d1BsYWNlaG9sZGVyKHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBjb250ZXh0LCBib29s
IGNhblNob3dQbGFjZWhvbGRlcikKIAogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1MpCiAgICAgV2FzTG9hZGVkV2l0aERhdGFUcmFuc2ZlckZyb21QcmV2YWxlbnRSZXNvdXJjZSgp
Ci0tIAoyLjIzLjAgKEFwcGxlIEdpdC0xMjUpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388313</attachid>
            <date>2020-01-21 09:57:44 -0800</date>
            <delta_ts>2020-01-21 10:51:52 -0800</delta_ts>
            <desc>Patch and layout test</desc>
            <filename>bug-206459-20200121095743.patch</filename>
            <type>text/plain</type>
            <size>15525</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdkMDUwYTE1NmRmNWI3
NGE3M2Y4MjkwNTUxNGVkYWVlYzI2N2ZjNy4uZWMzYmE0MjM5YzE4OTRjMGQ1YTc2MWNmMjM2NDM1
Y2VmNzhhNmUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAxLTIxICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgU1BJIHRvIHNob3cg
YW5kIGhpZGUgcGxhY2Vob2xkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNjQ1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3MDA1MzQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBzZXR0
ZXIgYW5kIGdldHRlciB0byB1cGRhdGUgd2hldGhlciB0aGUgcGxhY2Vob2xkZXIgY2FuIGJlIHNo
b3duLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlk
ZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQ6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KTogSW5pdGlhbGl6ZSBz
dGF0ZS4gRGVmYXVsdCB0byBjYW4gc2hvdworICAgICAgICB0aGUgcGxhY2Vob2xkZXIgdG8ga2Vl
cCB0aGUgYmVoYXZpb3Igd2UgaGF2ZSBjdXJyZW50bHkuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudDo6cGxhY2Vob2xkZXJTaG91bGRCZVZpc2libGUgY29uc3Qp
OiBNb2RpZmllZCB0byBhY2NvdW50IGZvciBtX2NhblNob3dQbGFjZWhvbGRlci4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXRDYW5TaG93UGxhY2Vob2xk
ZXIpOiBBZGRlZC4gVXBkYXRlIHN0YXRlIGFuZCBpbnZhbGlkYXRlIHN0eWxlLgorICAgICAgICAq
IGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpjYW5TaG93UGxhY2Vob2xkZXIgY29uc3QpOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OnNldENhblNob3dQbGFjZWhvbGRlcik6IEFkZGVkLiBGb3IgdGVzdGluZyBwdXJw
b3Nlcy4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmlkbDoKKwogMjAxOS0wOS0xMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBidWlsZGluZyBXZWJLaXQgZm9yIE1hYyBDYXRhbHlz
dCBmcm9tIFhjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU1YmFhNzk5OGVlYTk5NTUzNzRkNDA0ZDg4MTk0Yjkw
Y2Y1N2MzMjcuLjE1NTFjN2FlMDlhMzQ1MzUyYzgwMWJiYTVhZTQxYzBkZTNkOTdmYzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDEtMjEgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBTUEkgdG8gc2hvdyBhbmQgaGlkZSBwbGFjZWhvbGRl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NDU5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODcwMDUzND4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBhIGNsaWVudCB0byBjb250cm9sIHdo
ZXRoZXIgdGhlIHBsYWNlaG9sZGVyIGNhbiBiZSBzaG93biBvciBub3Qgd2hlbiBhIGZvcm0gY29u
dHJvbAorICAgICAgICBpcyBlbXB0eS4gVGhpcyBpcyBmb3IgYWVzdGhldGljcy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OnNldENhblNob3dQbGFjZWhvbGRlcik6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldENhblNob3dQbGFjZWhvbGRlcik6IEFk
ZGVkLiBNYXBzIHRoZSBpbnB1dCB0ZXh0IHRvIGl0cyBlbGVtZW50LiBJZiBpdCdzCisgICAgICAg
IGEgSFRNTCB0ZXh0IGZvcm0gY29udHJvbCBlbGVtZW50IHRoZW4gY2FsbHMgdGhyb3VnaCB0byBI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKCkuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkZWQgbmV3IG1lc3NhZ2Uu
CisKIDIwMjAtMDEtMTcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtpT1NdIEFTU0VSVElPTiBGQUlMRUQ6IEFTU0VSVF9OT1RfUkVBQ0hFRCgpIGluIHNlbGVj
dGlvbkNoYW5nZWRXaXRoVG91Y2goV0tDb250ZW50VmlldyosIFdlYkNvcmU6OkludFBvaW50IGNv
bnN0JiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpF
cnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJv
bEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudC5jcHAKaW5kZXggM2YzY2ZhYzgwNjIyZWE5ZmU2Yzc4NzhjMDlmZjM4ZDVkNmNiNDM3ZS4u
YjY5NGVlYzEwYjdjYmU4ZWZjNDI0ODBlZjZkYTlmMDVmNTU2ZjYxMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTY1LDYg
KzY1LDcgQEAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OkhUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ04KICAgICAsIG1fY2FjaGVkU2VsZWN0aW9u
RGlyZWN0aW9uKFNlbGVjdGlvbkhhc05vRGlyZWN0aW9uKQogICAgICwgbV9sYXN0Q2hhbmdlV2Fz
VXNlckVkaXQoZmFsc2UpCiAgICAgLCBtX2lzUGxhY2Vob2xkZXJWaXNpYmxlKGZhbHNlKQorICAg
ICwgbV9jYW5TaG93UGxhY2Vob2xkZXIodHJ1ZSkKICAgICAsIG1fY2FjaGVkU2VsZWN0aW9uU3Rh
cnQoLTEpCiAgICAgLCBtX2NhY2hlZFNlbGVjdGlvbkVuZCgtMSkKIHsKQEAgLTE1OCw3ICsxNTks
NyBAQCBib29sIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpwbGFjZWhvbGRlclNob3VsZEJl
VmlzaWJsZSgpIGNvbnN0CiB7CiAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJ5IHRoZSBz
dHlsZSByZXNvbHZlciB0byBtYXRjaCB0aGUgOnBsYWNlaG9sZGVyLXNob3duIHBzZXVkbyBjbGFz
cy4KICAgICAvLyBTaW5jZSBpdCBpcyB1c2VkIGZvciBzdHlsaW5nLCBpdCBtdXN0IG5vdCB1c2Ug
YW55IHZhbHVlIGRlcGVuZGluZyBvbiB0aGUgc3R5bGUuCi0gICAgcmV0dXJuIHN1cHBvcnRzUGxh
Y2Vob2xkZXIoKSAmJiBpc0VtcHR5VmFsdWUoKSAmJiAhaXNQbGFjZWhvbGRlckVtcHR5KCk7Cisg
ICAgcmV0dXJuIHN1cHBvcnRzUGxhY2Vob2xkZXIoKSAmJiBpc0VtcHR5VmFsdWUoKSAmJiAhaXNQ
bGFjZWhvbGRlckVtcHR5KCkgJiYgbV9jYW5TaG93UGxhY2Vob2xkZXI7CiB9CiAKIHZvaWQgSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eSgpCkBA
IC0xNzIsNiArMTczLDEyIEBAIHZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnVwZGF0
ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eSgpCiAgICAgaW52YWxpZGF0ZVN0eWxlRm9yU3VidHJlZSgp
OwogfQogCit2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXRDYW5TaG93UGxhY2Vo
b2xkZXIoYm9vbCBjYW5TaG93UGxhY2Vob2xkZXIpCit7CisgICAgbV9jYW5TaG93UGxhY2Vob2xk
ZXIgPSBjYW5TaG93UGxhY2Vob2xkZXI7CisgICAgdXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5
KCk7Cit9CisKIHZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNldFNlbGVjdGlvblN0
YXJ0KGludCBzdGFydCkKIHsKICAgICBzZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgc3RkOjptYXgo
c3RhcnQsIHNlbGVjdGlvbkVuZCgpKSwgc2VsZWN0aW9uRGlyZWN0aW9uKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4IDc0OTRk
MjU0ZDU1MGFiNTQzNzc0OTI1YmU5MDgzODIzMTI1YmI5OWYuLjQwNzg5NGY1ZWNjZTZhMTIyOGU3
OWJkYjhmM2M5NTc4OWFjMjlmYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgSFRNTEVsZW1lbnQqIHBsYWNlaG9sZGVyRWxlbWVudCgpIGNvbnN0ID0gMDsKICAgICB2
b2lkIHVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eSgpOwogCisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIoYm9vbCk7CisgICAgYm9vbCBjYW5TaG93UGxhY2Vo
b2xkZXIoKSBjb25zdCB7IHJldHVybiBtX2NhblNob3dQbGFjZWhvbGRlcjsgfQorCiAgICAgaW50
IGluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0Owog
ICAgIFdFQkNPUkVfRVhQT1JUIFZpc2libGVQb3NpdGlvbiB2aXNpYmxlUG9zaXRpb25Gb3JJbmRl
eChpbnQgaW5kZXgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGludCBzZWxlY3Rpb25TdGFy
dCgpIGNvbnN0OwpAQCAtMTYwLDYgKzE2Myw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9j
YWNoZWRTZWxlY3Rpb25EaXJlY3Rpb24gOiAyOwogICAgIHVuc2lnbmVkIG1fbGFzdENoYW5nZVdh
c1VzZXJFZGl0IDogMTsKICAgICB1bnNpZ25lZCBtX2lzUGxhY2Vob2xkZXJWaXNpYmxlIDogMTsK
KyAgICB1bnNpZ25lZCBtX2NhblNob3dQbGFjZWhvbGRlciA6IDE7CiAKICAgICBTdHJpbmcgbV90
ZXh0QXNPZkxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKaW5kZXggYzJiMjA0NDc3ZmU0ZDc0NzUyMmM3OThiOTQ3ODI3OGRhOTExZjQz
YS4uMGI2ZDIyMTIxZGIyNGUyOTYyOGFjNjZmZmM1YzNmNTViMDMxYTM4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTQyMCw2ICsxNDIwLDEyIEBAIFN0cmluZyBJbnRl
cm5hbHM6OnZpc2libGVQbGFjZWhvbGRlcihFbGVtZW50JiBlbGVtZW50KQogICAgIHJldHVybiBT
dHJpbmcoKTsKIH0KIAordm9pZCBJbnRlcm5hbHM6OnNldENhblNob3dQbGFjZWhvbGRlcihFbGVt
ZW50JiBlbGVtZW50LCBib29sIGNhblNob3dQbGFjZWhvbGRlcikKK3sKKyAgICBpZiAoaXM8SFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBkb3duY2FzdDxIVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudD4oZWxlbWVudCkuc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNh
blNob3dQbGFjZWhvbGRlcik7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpzZWxlY3RDb2xvckluQ29s
b3JDaG9vc2VyKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYgY29sb3JW
YWx1ZSkKIHsKICAgICBlbGVtZW50LnNlbGVjdENvbG9yKGNvbG9yVmFsdWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNWJkYjBlMzk2Mzk0ZTc0NGQ0YjlkN2IyMDhmZjJlMGZj
ZWMyYjcxMC4uMDlkMjQ5NWUyZjhmNTVlZjE1MzQ4ZDY5NDcxNDk1N2VlMmU2ZjljMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yMzYsNiArMjM2LDggQEAgcHVibGljOgogICAg
IE5vZGUqIHBhcmVudFRyZWVTY29wZShOb2RlJik7CiAKICAgICBTdHJpbmcgdmlzaWJsZVBsYWNl
aG9sZGVyKEVsZW1lbnQmKTsKKyAgICB2b2lkIHNldENhblNob3dQbGFjZWhvbGRlcihFbGVtZW50
JiwgYm9vbCk7CisKICAgICB2b2lkIHNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoSFRNTElucHV0
RWxlbWVudCYsIGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSk7CiAgICAgRXhjZXB0aW9uT3I8VmVj
dG9yPFN0cmluZz4+IGZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oKTsKICAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRGb3JtQ29udHJvbFN0YXRlT2ZQcmV2aW91c0hpc3RvcnlJ
dGVtKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKaW5kZXggMTE5ZTQwZjI2YjQ4ZWY1ZTI1NzFhZmM4ODdiMDQwNzFlNjc1MmQ1My4uMzQ5Mzg3
MmY0OTM1MmU0YjgyYTNiYTcxMTk4YTRjZjBkZTZjNDVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbApAQCAtMzA3LDYgKzMwNyw4IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kg
ewogICAgIEF1dG9GaWxsQnV0dG9uVHlwZSBhdXRvRmlsbEJ1dHRvblR5cGUoSFRNTElucHV0RWxl
bWVudCBpbnB1dEVsZW1lbnQpOwogICAgIEF1dG9GaWxsQnV0dG9uVHlwZSBsYXN0QXV0b0ZpbGxC
dXR0b25UeXBlKEhUTUxJbnB1dEVsZW1lbnQgaW5wdXRFbGVtZW50KTsKIAorICAgIHZvaWQgc2V0
Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBjYW5TaG93UGxhY2Vo
b2xkZXIpOworCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBSYW5nZT8gcmFuZ2VPZlN0cmluZyhE
T01TdHJpbmcgdGV4dCwgUmFuZ2U/IHJlZmVyZW5jZVJhbmdlLCBzZXF1ZW5jZTxET01TdHJpbmc+
IGZpbmRPcHRpb25zKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgY291
bnRNYXRjaGVzRm9yVGV4dChET01TdHJpbmcgdGV4dCwgc2VxdWVuY2U8RE9NU3RyaW5nPiBmaW5k
T3B0aW9ucywgRE9NU3RyaW5nIG1hcmtNYXRjaGVzKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuc2lnbmVkIGxvbmcgY291bnRGaW5kTWF0Y2hlcyhET01TdHJpbmcgdGV4dCwgc2VxdWVuY2U8
RE9NU3RyaW5nPiBmaW5kT3B0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCBkMmQ2YjIwZjNiMGVhMDU0MDk3ZjRmYTkyZjJhOTkzOGQyY2QxZjBlLi4z
ODU5MWIxNjY0YWNiZDkzNTg5MTJlZGMxYTBjNzMzNTliMWZiYjNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTk2NDEsNiArOTY0MSwxMiBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6Zm9jdXNUZXh0SW5wdXRDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRD
b250ZXh0JiBjb250ZXh0LAogICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFn
ZTo6Rm9jdXNUZXh0SW5wdXRDb250ZXh0KGNvbnRleHQpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRDYW5TaG93UGxhY2Vob2xkZXIoY29u
c3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmIGNvbnRleHQsIGJvb2wgY2FuU2hvd1BsYWNlaG9s
ZGVyKQoreworICAgIGlmIChoYXNSdW5uaW5nUHJvY2VzcygpKQorICAgICAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpTZXRDYW5TaG93UGxhY2Vob2xkZXIoY29udGV4dCwgY2FuU2hvd1BsYWNl
aG9sZGVyKSk7Cit9CisKIExvZ2dlciYgV2ViUGFnZVByb3h5Ojpsb2dnZXIoKQogewogICAgIGlm
ICghbV9sb2dnZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
OGIyOTI5NjI1NWQ0ZDViNzdlODlkN2MxM2VjMmNlZGY4YmNiY2EzZS4uNDNiNTVlYjA3MGEzZDRi
YmQ5ODA0Y2UyNTgxMjRmY2I1YjAzYTdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTY4Niw2ICs2ODYsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHRleHRJbnB1
dENvbnRleHRzSW5SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6RWxlbWVudENvbnRleHQ+Jik+JiYpOwogICAgIHZvaWQg
Zm9jdXNUZXh0SW5wdXRDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisgICAgdm9pZCBzZXRDYW5TaG93UGxhY2Vo
b2xkZXIoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBib29sKTsKIAogI2lmIEVOQUJM
RShVSV9TSURFX0NPTVBPU0lUSU5HKQogICAgIHZvaWQgdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0
cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDJhM2UzYmVlOTExYjk0NzQzM2Ji
YTE1NjNjZDUwODE2ZWQzYWI5OGYuLjY4ZmVkYThhYmVhOWU1YmMxZDk4MWM2YjllMzdmYTAwNmM5
ZTI0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC02NzUxLDYgKzY3NTEsMTMgQEAgdm9pZCBXZWJQYWdlOjpmb2N1c1RleHRJbnB1dENvbnRl
eHQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmIHRleHRJbnB1dENvbnQKICAgICBjb21w
bGV0aW9uSGFuZGxlcihlbGVtZW50KTsKIH0KIAordm9pZCBXZWJQYWdlOjpzZXRDYW5TaG93UGxh
Y2Vob2xkZXIoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmIGVsZW1lbnRDb250ZXh0LCBi
b29sIGNhblNob3dQbGFjZWhvbGRlcikKK3sKKyAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudCA9
IGVsZW1lbnRGb3JDb250ZXh0KGVsZW1lbnRDb250ZXh0KTsKKyAgICBpZiAoaXM8SFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBkb3duY2FzdDxIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudD4oKmVsZW1lbnQpLnNldENhblNob3dQbGFjZWhvbGRlcihjYW5TaG93
UGxhY2Vob2xkZXIpOworfQorCiBFbGVtZW50KiBXZWJQYWdlOjplbGVtZW50Rm9yQ29udGV4dChj
b25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYgZWxlbWVudENvbnRleHQpIGNvbnN0CiB7CiAg
ICAgaWYgKGVsZW1lbnRDb250ZXh0LndlYlBhZ2VJZGVudGlmaWVyICE9IG1faWRlbnRpZmllcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkYWI4NTMz
ZDMyMWMzYWNlMDlmZThiNmU3MWNhYjJiNzEzOGY5ZDE0Li5jNDU4NDA3NzI0NDM4NTU0YWVlY2U4
YzliNjcyYWVkMTYyOGQ4ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCkBAIC02MzEsNiArNjMxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB0ZXh0SW5w
dXRDb250ZXh0c0luUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0PiYpPiYmKTsKICAgICB2b2lk
IGZvY3VzVGV4dElucHV0Q29udGV4dChjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworICAgIHZvaWQgc2V0Q2FuU2hvd1BsYWNl
aG9sZGVyKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgYm9vbCk7CiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgppbmRleCAwOTQwZjZjZDg5NTIxYzhjZTMyNDI1ZjA4MDg1ZTAxNGZjZThiMzY0
Li5iNzRhY2IxYjg5YTRhMGFjYjBhNmU5OWUzYmMxNGMxNDQ4MjUxOWIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAg
LTU3Miw2ICs1NzIsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWlu
dDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogCiAgICAgVGV4dElucHV0
Q29udGV4dHNJblJlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHJlY3QpIC0+IChWZWN0b3I8c3RydWN0
IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0PiBjb250ZXh0cykgQXN5bmMKICAgICBGb2N1c1RleHRJ
bnB1dENvbnRleHQoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGNvbnRleHQpIC0+IChi
b29sIHN1Y2Nlc3MpIEFzeW5jCisgICAgU2V0Q2FuU2hvd1BsYWNlaG9sZGVyKHN0cnVjdCBXZWJD
b3JlOjpFbGVtZW50Q29udGV4dCBjb250ZXh0LCBib29sIGNhblNob3dQbGFjZWhvbGRlcikKIAog
I2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgV2FzTG9hZGVkV2l0aERh
dGFUcmFuc2ZlckZyb21QcmV2YWxlbnRSZXNvdXJjZSgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTI3NjUyNjY2MDc4YTM2
OWMzNzcxNTUxYzY2ZTU4YTcyZDNlMTE3Mi4uMzI2MGEzMjI1MzlmMjUxNDA1MWEzOTQ1ZjA3MWZl
ODAyYzc4NzY1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAxLTIxICBEYW5pZWwgQmF0
ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgU1BJIHRvIHNob3cgYW5kIGhp
ZGUgcGxhY2Vob2xkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNjQ1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3MDA1MzQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBhIG5ldyB0ZXN0
IHRvIGVuc3VyZSB0aGF0IEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXRDYW5TaG93UGxh
Y2Vob2xkZXIoKSB3b3Jrcy4KKworICAgICAgICAqIGZhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hv
dy1hbmQtaGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1zaG93LWFuZC1oaWRlLXZpYS1zZXRD
YW5TaG93UGxhY2Vob2xkZXIuaHRtbDogQWRkZWQuCisKIDIwMTktMDctMjYgIERhbmllbCBCYXRl
cyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFTU0VSVElPTiBGQUlMVVJF
OiAhaXNNaXNzaW5nUG9zdExheW91dERhdGEgaW4gV2ViS2l0OjpFZGl0b3JTdGF0ZTo6cG9zdExh
eW91dERhdGEoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhvbGRl
ci1zaG93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1zaG93LWFuZC1oaWRlLXZpYS1zZXRD
YW5TaG93UGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2NWJkM2FiYmQwZWY0
ZjQzZDZjZmNlNTkyZWIyMGYwOTdlMzc1Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3BsYWNlaG9sZGVyLXNob3ctYW5kLWhpZGUtdmlhLXNldENhblNob3dQbGFj
ZWhvbGRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdHMgdGhhdCB0aGUgcGxh
Y2Vob2xkZXIgY2FuIGJlIGhpZGRlbiBhbmQgc2hvd24gZm9yIGVtcHR5IGZpZWxkcyB2aWEgc2V0
Q2FuU2hvd1BsYWNlaG9sZGVyKCkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0Rp
c2FsbG93IHNob3dpbmcgb2YgcGxhY2Vob2xkZXI6CitQQVNTIGludGVybmFscy52aXNpYmxlUGxh
Y2Vob2xkZXIoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKSkgaXMgIiIKK1BBU1MgaW50
ZXJuYWxzLnZpc2libGVQbGFjZWhvbGRlcihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ0ZXh0YXJl
YSIpKSBpcyAiIgorCitBbGxvdyBzaG93aW5nIG9mIHBsYWNlaG9sZGVyOgorUEFTUyBpbnRlcm5h
bHMudmlzaWJsZVBsYWNlaG9sZGVyKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikpIGlz
ICJmaXJzdCIKK1BBU1MgaW50ZXJuYWxzLnZpc2libGVQbGFjZWhvbGRlcihkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJ0ZXh0YXJlYSIpKSBpcyAic2Vjb25kIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3BsYWNlaG9sZGVyLXNob3ctYW5kLWhpZGUtdmlhLXNldENhblNob3dQbGFjZWhv
bGRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1zaG93LWFuZC1o
aWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOGFlYzVkYWJj
YjgzZDgwZWEzMWQ4NWM3YTQxMzlkMzQ1OTk4YzE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1zaG93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93
UGxhY2Vob2xkZXIuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9ImZp
cnN0Ij4KKzx0ZXh0YXJlYSBwbGFjZWhvbGRlcj0ic2Vjb25kIj48L3RleHRhcmVhPgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSBwbGFjZWhvbGRlciBjYW4gYmUgaGlkZGVu
IGFuZCBzaG93biBmb3IgZW1wdHkgZmllbGRzIHZpYSBzZXRDYW5TaG93UGxhY2Vob2xkZXIoKSIp
OworCitmdW5jdGlvbiB0ZXN0VGhhdFBsYWNlaG9sZGVySXNIaWRkZW4odGFnTmFtZSkKK3sKKyAg
ICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFnTmFtZSk7CisgICAgaW50
ZXJuYWxzLnNldENhblNob3dQbGFjZWhvbGRlcihlbGVtZW50LCBmYWxzZSk7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKGBpbnRlcm5hbHMudmlzaWJsZVBsYWNlaG9sZGVyKGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoIiR7dGFnTmFtZX0iKSlgLCAiIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RUaGF0
UGxhY2Vob2xkZXJJc0VxdWFsVG9TdHJpbmcodGFnTmFtZSwgZXhwZWN0ZWRUZXh0KQoreworICAg
IGxldCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YWdOYW1lKTsKKyAgICBpbnRl
cm5hbHMuc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGVsZW1lbnQsIHRydWUpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZyhgaW50ZXJuYWxzLnZpc2libGVQbGFjZWhvbGRlcihkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCIke3RhZ05hbWV9IikpYCwgZXhwZWN0ZWRUZXh0KTsKK30KKworZnVuY3Rpb24g
cnVuVGVzdCgpCit7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RG
YWlsZWQoIk11c3QgaGF2ZSB3aW5kb3cuaW50ZXJuYWxzLiIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgZGVidWcoIkRpc2FsbG93IHNob3dpbmcgb2YgcGxhY2Vob2xkZXI6Iik7Cisg
ICAgdGVzdFRoYXRQbGFjZWhvbGRlcklzSGlkZGVuKCJpbnB1dCIpOworICAgIHRlc3RUaGF0UGxh
Y2Vob2xkZXJJc0hpZGRlbigidGV4dGFyZWEiKTsKKworICAgIGRlYnVnKCI8YnI+QWxsb3cgc2hv
d2luZyBvZiBwbGFjZWhvbGRlcjoiKTsKKyAgICB0ZXN0VGhhdFBsYWNlaG9sZGVySXNFcXVhbFRv
U3RyaW5nKCJpbnB1dCIsICJmaXJzdCIpOworICAgIHRlc3RUaGF0UGxhY2Vob2xkZXJJc0VxdWFs
VG9TdHJpbmcoInRleHRhcmVhIiwgInNlY29uZCIpOworfQorCitydW5UZXN0KCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388321</attachid>
            <date>2020-01-21 10:51:54 -0800</date>
            <delta_ts>2020-01-21 14:59:25 -0800</delta_ts>
            <desc>Patch and layout test</desc>
            <filename>bug-206459-20200121105153.patch</filename>
            <type>text/plain</type>
            <size>20216</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdkMDUwYTE1NmRmNWI3
NGE3M2Y4MjkwNTUxNGVkYWVlYzI2N2ZjNy4uZWMzYmE0MjM5YzE4OTRjMGQ1YTc2MWNmMjM2NDM1
Y2VmNzhhNmUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAxLTIxICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgU1BJIHRvIHNob3cg
YW5kIGhpZGUgcGxhY2Vob2xkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNjQ1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3MDA1MzQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBzZXR0
ZXIgYW5kIGdldHRlciB0byB1cGRhdGUgd2hldGhlciB0aGUgcGxhY2Vob2xkZXIgY2FuIGJlIHNo
b3duLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlk
ZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQ6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KTogSW5pdGlhbGl6ZSBz
dGF0ZS4gRGVmYXVsdCB0byBjYW4gc2hvdworICAgICAgICB0aGUgcGxhY2Vob2xkZXIgdG8ga2Vl
cCB0aGUgYmVoYXZpb3Igd2UgaGF2ZSBjdXJyZW50bHkuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudDo6cGxhY2Vob2xkZXJTaG91bGRCZVZpc2libGUgY29uc3Qp
OiBNb2RpZmllZCB0byBhY2NvdW50IGZvciBtX2NhblNob3dQbGFjZWhvbGRlci4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXRDYW5TaG93UGxhY2Vob2xk
ZXIpOiBBZGRlZC4gVXBkYXRlIHN0YXRlIGFuZCBpbnZhbGlkYXRlIHN0eWxlLgorICAgICAgICAq
IGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpjYW5TaG93UGxhY2Vob2xkZXIgY29uc3QpOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OnNldENhblNob3dQbGFjZWhvbGRlcik6IEFkZGVkLiBGb3IgdGVzdGluZyBwdXJw
b3Nlcy4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmlkbDoKKwogMjAxOS0wOS0xMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBidWlsZGluZyBXZWJLaXQgZm9yIE1hYyBDYXRhbHlz
dCBmcm9tIFhjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU1YmFhNzk5OGVlYTk5NTUzNzRkNDA0ZDg4MTk0Yjkw
Y2Y1N2MzMjcuLjk1ODAzNWEyYmQ3Nzk4MGFkZDQ4MTk2YThhNTJiYzQxYWZlZWY2OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDEtMjEgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBTUEkgdG8gc2hvdyBhbmQgaGlkZSBwbGFjZWhvbGRl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NDU5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODcwMDUzND4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgTW9kZXJuIFdlYktpdCBTUEkgdG8gYWxs
b3cgYSBjbGllbnQgdG8gY29udHJvbCB3aGV0aGVyIHRoZSBwbGFjZWhvbGRlciBjYW4gYmUgc2hv
d24gb3IKKyAgICAgICAgbm90IHdoZW4gYSBmb3JtIGNvbnRyb2wgaXMgZW1wdHkuIFRoaXMgaXMg
Zm9yIGFlc3RoZXRpY3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRDYW5TaG93UGxhY2Vob2xkZXIpOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpz
ZXRDYW5TaG93UGxhY2Vob2xkZXIpOiBBZGRlZC4gTWFwcyB0aGUgaW5wdXQgdGV4dCB0byBpdHMg
ZWxlbWVudC4gSWYgaXQncworICAgICAgICBhIEhUTUwgdGV4dCBmb3JtIGNvbnRyb2wgZWxlbWVu
dCB0aGVuIGNhbGxzIHRocm91Z2ggdG8gSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNldENh
blNob3dQbGFjZWhvbGRlcigpLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46Cisg
ICAgICAgIEFkZGVkIG5ldyBtZXNzYWdlLgorCiAyMDIwLTAxLTE3ICBEYW5pZWwgQmF0ZXMgIDxk
YWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBBU1NFUlRJT04gRkFJTEVEOiBBU1NF
UlRfTk9UX1JFQUNIRUQoKSBpbiBzZWxlY3Rpb25DaGFuZ2VkV2l0aFRvdWNoKFdLQ29udGVudFZp
ZXcqLCBXZWJDb3JlOjpJbnRQb2ludCBjb25zdCYsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50
LCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
aW5kZXggOGI3YmZiMDNmOTAxMTlkN2I1M2M0ZWVlOGIyNjY1MTQ5ZGZkNGM3Ni4uMzA0ZWViMWVi
Y2M5MmYzZjc3ZDM5MDdjMTk0NTg5ZmJkZjJkYTNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAxLTIxICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVz
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgU1BJIHRvIHNob3cgYW5kIGhpZGUgcGxhY2Vob2xk
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQ1
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3MDA1MzQ+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIExlZ2FjeSBXZWJLaXQgU1BJIHRvIGFs
bG93IGEgY2xpZW50IHRvIGNvbnRyb2wgd2hldGhlciB0aGUgcGxhY2Vob2xkZXIgY2FuIGJlIHNo
b3duIG9yCisgICAgICAgIG5vdCB3aGVuIGEgZm9ybSBjb250cm9sIGlzIGVtcHR5LiBUaGlzIGlz
IGZvciBhZXN0aGV0aWNzLgorCisgICAgICAgICogRE9NL0RPTUhUTUxJbnB1dEVsZW1lbnQubW06
CisgICAgICAgICgtW0RPTUhUTUxJbnB1dEVsZW1lbnQgY2FuU2hvd1BsYWNlaG9sZGVyXSk6Cisg
ICAgICAgICgtW0RPTUhUTUxJbnB1dEVsZW1lbnQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyOl0pOgor
ICAgICAgICAqIERPTS9ET01IVE1MSW5wdXRFbGVtZW50UHJpdmF0ZS5oOgorICAgICAgICAqIERP
TS9ET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1tOgorICAgICAgICAoLVtET01IVE1MVGV4dEFyZWFF
bGVtZW50IGNhblNob3dQbGFjZWhvbGRlcl0pOgorICAgICAgICAoLVtET01IVE1MVGV4dEFyZWFF
bGVtZW50IHNldENhblNob3dQbGFjZWhvbGRlcjpdKToKKyAgICAgICAgKiBET00vRE9NSFRNTFRl
eHRBcmVhRWxlbWVudFByaXZhdGUuaDoKKwogMjAxOS0wOS0xMyAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBidWlsZGluZyBXZWJLaXQgZm9yIE1h
YyBDYXRhbHlzdCBmcm9tIFhjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IDNmM2NmYWM4MDYyMmVhOWZlNmM3ODc4YzA5
ZmYzOGQ1ZDZjYjQzN2UuLmI2OTRlZWMxMGI3Y2JlOGVmYzQyNDgwZWY2ZGE5ZjA1ZjU1NmY2MTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuY3BwCkBAIC02NSw2ICs2NSw3IEBAIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpIVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOCiAgICAgLCBt
X2NhY2hlZFNlbGVjdGlvbkRpcmVjdGlvbihTZWxlY3Rpb25IYXNOb0RpcmVjdGlvbikKICAgICAs
IG1fbGFzdENoYW5nZVdhc1VzZXJFZGl0KGZhbHNlKQogICAgICwgbV9pc1BsYWNlaG9sZGVyVmlz
aWJsZShmYWxzZSkKKyAgICAsIG1fY2FuU2hvd1BsYWNlaG9sZGVyKHRydWUpCiAgICAgLCBtX2Nh
Y2hlZFNlbGVjdGlvblN0YXJ0KC0xKQogICAgICwgbV9jYWNoZWRTZWxlY3Rpb25FbmQoLTEpCiB7
CkBAIC0xNTgsNyArMTU5LDcgQEAgYm9vbCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6cGxh
Y2Vob2xkZXJTaG91bGRCZVZpc2libGUoKSBjb25zdAogewogICAgIC8vIFRoaXMgZnVuY3Rpb24g
aXMgdXNlZCBieSB0aGUgc3R5bGUgcmVzb2x2ZXIgdG8gbWF0Y2ggdGhlIDpwbGFjZWhvbGRlci1z
aG93biBwc2V1ZG8gY2xhc3MuCiAgICAgLy8gU2luY2UgaXQgaXMgdXNlZCBmb3Igc3R5bGluZywg
aXQgbXVzdCBub3QgdXNlIGFueSB2YWx1ZSBkZXBlbmRpbmcgb24gdGhlIHN0eWxlLgotICAgIHJl
dHVybiBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgJiYgaXNFbXB0eVZhbHVlKCkgJiYgIWlzUGxhY2Vo
b2xkZXJFbXB0eSgpOworICAgIHJldHVybiBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgJiYgaXNFbXB0
eVZhbHVlKCkgJiYgIWlzUGxhY2Vob2xkZXJFbXB0eSgpICYmIG1fY2FuU2hvd1BsYWNlaG9sZGVy
OwogfQogCiB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRl
clZpc2liaWxpdHkoKQpAQCAtMTcyLDYgKzE3MywxMiBAQCB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoKQogICAgIGludmFsaWRhdGVT
dHlsZUZvclN1YnRyZWUoKTsKIH0KIAordm9pZCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6
c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGJvb2wgY2FuU2hvd1BsYWNlaG9sZGVyKQoreworICAgIG1f
Y2FuU2hvd1BsYWNlaG9sZGVyID0gY2FuU2hvd1BsYWNlaG9sZGVyOworICAgIHVwZGF0ZVBsYWNl
aG9sZGVyVmlzaWJpbGl0eSgpOworfQorCiB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
OjpzZXRTZWxlY3Rpb25TdGFydChpbnQgc3RhcnQpCiB7CiAgICAgc2V0U2VsZWN0aW9uUmFuZ2Uo
c3RhcnQsIHN0ZDo6bWF4KHN0YXJ0LCBzZWxlY3Rpb25FbmQoKSksIHNlbGVjdGlvbkRpcmVjdGlv
bigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJv
bEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuaAppbmRleCA3NDk0ZDI1NGQ1NTBhYjU0Mzc3NDkyNWJlOTA4MzgyMzEyNWJiOTlmLi40MDc4
OTRmNWVjY2U2YTEyMjhlNzliZGI4ZjNjOTU3ODlhYzI5ZmJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC02Miw2ICs2Miw5IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiBwbGFjZWhvbGRlckVsZW1lbnQoKSBj
b25zdCA9IDA7CiAgICAgdm9pZCB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoKTsKIAorICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGJvb2wpOworICAgIGJv
b2wgY2FuU2hvd1BsYWNlaG9sZGVyKCkgY29uc3QgeyByZXR1cm4gbV9jYW5TaG93UGxhY2Vob2xk
ZXI7IH0KKwogICAgIGludCBpbmRleEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24mKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBWaXNpYmxlUG9zaXRpb24gdmlzaWJs
ZVBvc2l0aW9uRm9ySW5kZXgoaW50IGluZGV4KSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBp
bnQgc2VsZWN0aW9uU3RhcnQoKSBjb25zdDsKQEAgLTE2MCw2ICsxNjMsNyBAQCBwcml2YXRlOgog
ICAgIHVuc2lnbmVkIG1fY2FjaGVkU2VsZWN0aW9uRGlyZWN0aW9uIDogMjsKICAgICB1bnNpZ25l
ZCBtX2xhc3RDaGFuZ2VXYXNVc2VyRWRpdCA6IDE7CiAgICAgdW5zaWduZWQgbV9pc1BsYWNlaG9s
ZGVyVmlzaWJsZSA6IDE7CisgICAgdW5zaWduZWQgbV9jYW5TaG93UGxhY2Vob2xkZXIgOiAxOwog
CiAgICAgU3RyaW5nIG1fdGV4dEFzT2ZMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGMyYjIwNDQ3N2ZlNGQ3NDc1MjJjNzk4
Yjk0NzgyNzhkYTkxMWY0M2EuLjBiNmQyMjEyMWRiMjRlMjk2MjhhYzY2ZmZjNWMzZjU1YjAzMWEz
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE0MjAsNiArMTQyMCwx
MiBAQCBTdHJpbmcgSW50ZXJuYWxzOjp2aXNpYmxlUGxhY2Vob2xkZXIoRWxlbWVudCYgZWxlbWVu
dCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzZXRDYW5TaG93
UGxhY2Vob2xkZXIoRWxlbWVudCYgZWxlbWVudCwgYm9vbCBjYW5TaG93UGxhY2Vob2xkZXIpCit7
CisgICAgaWYgKGlzPEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50PihlbGVtZW50KSkKKyAgICAg
ICAgZG93bmNhc3Q8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQpLnNldENhblNo
b3dQbGFjZWhvbGRlcihjYW5TaG93UGxhY2Vob2xkZXIpOworfQorCiB2b2lkIEludGVybmFsczo6
c2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3NlcihIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBTdHJpbmcmIGNvbG9yVmFsdWUpCiB7CiAgICAgZWxlbWVudC5zZWxlY3RDb2xvcihjb2xvclZh
bHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDViZGIwZTM5NjM5NGU3NDRk
NGI5ZDdiMjA4ZmYyZTBmY2VjMmI3MTAuLjA5ZDI0OTVlMmY4ZjU1ZWYxNTM0OGQ2OTQ3MTQ5NTdl
ZTJlNmY5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMjM2LDYgKzIzNiw4
IEBAIHB1YmxpYzoKICAgICBOb2RlKiBwYXJlbnRUcmVlU2NvcGUoTm9kZSYpOwogCiAgICAgU3Ry
aW5nIHZpc2libGVQbGFjZWhvbGRlcihFbGVtZW50Jik7CisgICAgdm9pZCBzZXRDYW5TaG93UGxh
Y2Vob2xkZXIoRWxlbWVudCYsIGJvb2wpOworCiAgICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JD
aG9vc2VyKEhUTUxJbnB1dEVsZW1lbnQmLCBjb25zdCBTdHJpbmcmIGNvbG9yVmFsdWUpOwogICAg
IEV4Y2VwdGlvbk9yPFZlY3RvcjxTdHJpbmc+PiBmb3JtQ29udHJvbFN0YXRlT2ZQcmV2aW91c0hp
c3RvcnlJdGVtKCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Rm9ybUNvbnRyb2xTdGF0ZU9m
UHJldmlvdXNIaXN0b3J5SXRlbShjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDExOWU0MGYyNmI0OGVmNWUyNTcxYWZjODg3YjA0MDcx
ZTY3NTJkNTMuLjM0OTM4NzJmNDkzNTJlNGI4MmEzYmE3MTE5OGE0Y2YwZGU2YzQ1YWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTMwNyw2ICszMDcsOCBAQCBlbnVtIENv
bXBvc2l0aW5nUG9saWN5IHsKICAgICBBdXRvRmlsbEJ1dHRvblR5cGUgYXV0b0ZpbGxCdXR0b25U
eXBlKEhUTUxJbnB1dEVsZW1lbnQgaW5wdXRFbGVtZW50KTsKICAgICBBdXRvRmlsbEJ1dHRvblR5
cGUgbGFzdEF1dG9GaWxsQnV0dG9uVHlwZShIVE1MSW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCk7
CiAKKyAgICB2b2lkIHNldENhblNob3dQbGFjZWhvbGRlcihFbGVtZW50IGVsZW1lbnQsIGJvb2xl
YW4gY2FuU2hvd1BsYWNlaG9sZGVyKTsKKwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gUmFuZ2U/
IHJhbmdlT2ZTdHJpbmcoRE9NU3RyaW5nIHRleHQsIFJhbmdlPyByZWZlcmVuY2VSYW5nZSwgc2Vx
dWVuY2U8RE9NU3RyaW5nPiBmaW5kT3B0aW9ucyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bnNpZ25lZCBsb25nIGNvdW50TWF0Y2hlc0ZvclRleHQoRE9NU3RyaW5nIHRleHQsIHNlcXVlbmNl
PERPTVN0cmluZz4gZmluZE9wdGlvbnMsIERPTVN0cmluZyBtYXJrTWF0Y2hlcyk7CiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGNvdW50RmluZE1hdGNoZXMoRE9NU3RyaW5n
IHRleHQsIHNlcXVlbmNlPERPTVN0cmluZz4gZmluZE9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZDJkNmIyMGYzYjBlYTA1NDA5N2Y0ZmE5MmYy
YTk5MzhkMmNkMWYwZS4uMzg1OTFiMTY2NGFjYmQ5MzU4OTEyZWRjMWEwYzczMzU5YjFmYmIzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC05NjQxLDYgKzk2
NDEsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmZvY3VzVGV4dElucHV0Q29udGV4dChjb25zdCBX
ZWJDb3JlOjpFbGVtZW50Q29udGV4dCYgY29udGV4dCwKICAgICBzZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYlBhZ2U6OkZvY3VzVGV4dElucHV0Q29udGV4dChjb250ZXh0KSwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Q2FuU2hv
d1BsYWNlaG9sZGVyKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBib29s
IGNhblNob3dQbGFjZWhvbGRlcikKK3sKKyAgICBpZiAoaGFzUnVubmluZ1Byb2Nlc3MoKSkKKyAg
ICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNvbnRl
eHQsIGNhblNob3dQbGFjZWhvbGRlcikpOworfQorCiBMb2dnZXImIFdlYlBhZ2VQcm94eTo6bG9n
Z2VyKCkKIHsKICAgICBpZiAoIW1fbG9nZ2VyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCmluZGV4IDhiMjkyOTYyNTVkNGQ1Yjc3ZTg5ZDdjMTNlYzJjZWRmOGJjYmNhM2Uu
LjQzYjU1ZWIwNzBhM2Q0YmJkOTgwNGNlMjU4MTI0ZmNiNWIwM2E3ZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC02ODYsNiArNjg2LDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCB0ZXh0SW5wdXRDb250ZXh0c0luUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0PiYp
PiYmKTsKICAgICB2b2lkIGZvY3VzVGV4dElucHV0Q29udGV4dChjb25zdCBXZWJDb3JlOjpFbGVt
ZW50Q29udGV4dCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworICAgIHZvaWQg
c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgYm9v
bCk7CiAKICNpZiBFTkFCTEUoVUlfU0lERV9DT01QT1NJVElORykKICAgICB2b2lkIHVwZGF0ZVZp
c2libGVDb250ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAyYTNl
M2JlZTkxMWI5NDc0MzNiYmExNTYzY2Q1MDgxNmVkM2FiOThmLi42OGZlZGE4YWJlYTllNWJjMWQ5
ODFjNmI5ZTM3ZmEwMDZjOWUyNGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtNjc1MSw2ICs2NzUxLDEzIEBAIHZvaWQgV2ViUGFnZTo6Zm9j
dXNUZXh0SW5wdXRDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiB0ZXh0SW5w
dXRDb250CiAgICAgY29tcGxldGlvbkhhbmRsZXIoZWxlbWVudCk7CiB9CiAKK3ZvaWQgV2ViUGFn
ZTo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBl
bGVtZW50Q29udGV4dCwgYm9vbCBjYW5TaG93UGxhY2Vob2xkZXIpCit7CisgICAgUmVmUHRyPEVs
ZW1lbnQ+IGVsZW1lbnQgPSBlbGVtZW50Rm9yQ29udGV4dChlbGVtZW50Q29udGV4dCk7CisgICAg
aWYgKGlzPEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50PihlbGVtZW50KSkKKyAgICAgICAgZG93
bmNhc3Q8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ+KCplbGVtZW50KS5zZXRDYW5TaG93UGxh
Y2Vob2xkZXIoY2FuU2hvd1BsYWNlaG9sZGVyKTsKK30KKwogRWxlbWVudCogV2ViUGFnZTo6ZWxl
bWVudEZvckNvbnRleHQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmIGVsZW1lbnRDb250
ZXh0KSBjb25zdAogewogICAgIGlmIChlbGVtZW50Q29udGV4dC53ZWJQYWdlSWRlbnRpZmllciAh
PSBtX2lkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggZGFiODUzM2QzMjFjM2FjZTA5ZmU4YjZlNzFjYWIyYjcxMzhmOWQxNC4uYzQ1ODQw
NzcyNDQzODU1NGFlZWNlOGM5YjY3MmFlZDE2MjhkODgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNjMxLDYgKzYzMSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgdGV4dElucHV0Q29udGV4dHNJblJlY3QoV2ViQ29yZTo6RmxvYXRSZWN0LCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpFbGVtZW50Q29udGV4dD4m
KT4mJik7CiAgICAgdm9pZCBmb2N1c1RleHRJbnB1dENvbnRleHQoY29uc3QgV2ViQ29yZTo6RWxl
bWVudENvbnRleHQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lk
IHNldENhblNob3dQbGFjZWhvbGRlcihjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYsIGJv
b2wpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBXZWJDb3JlOjpGbG9hdFNpemUg
c2NyZWVuU2l6ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMDk0MGY2Y2Q4OTUyMWM4Y2UzMjQyNWYw
ODA4NWUwMTRmY2U4YjM2NC4uYjc0YWNiMWI4OWE0YTBhY2IwYTZlOTllM2JjMTRjMTQ0ODI1MTli
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCkBAIC01NzIsNiArNTcyLDcgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUK
IAogICAgIFRleHRJbnB1dENvbnRleHRzSW5SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCByZWN0KSAt
PiAoVmVjdG9yPHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dD4gY29udGV4dHMpIEFzeW5j
CiAgICAgRm9jdXNUZXh0SW5wdXRDb250ZXh0KHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCBjb250ZXh0KSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYworICAgIFNldENhblNob3dQbGFjZWhv
bGRlcihzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgY29udGV4dCwgYm9vbCBjYW5TaG93
UGxhY2Vob2xkZXIpCiAKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAg
IFdhc0xvYWRlZFdpdGhEYXRhVHJhbnNmZXJGcm9tUHJldmFsZW50UmVzb3VyY2UoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUxJbnB1dEVsZW1lbnQubW0g
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NSFRNTElucHV0RWxlbWVudC5tbQppbmRl
eCA3YWU1ZTA2MzQ2YTlmOWM2YzUzOTUzYmViYWQyN2VkMWQ2ZGNlYTBiLi5jM2Y0MmUxYjg3YTBl
ZThiOTdiMDlkZGVhYTMzMzU2NDM5MWExMGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9ET00vRE9NSFRNTElucHV0RWxlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9ET00vRE9NSFRNTElucHV0RWxlbWVudC5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTcxMCw2ICs3MTAsMTggQEAg
LSAodm9pZClpbnNlcnRUZXh0U3VnZ2VzdGlvbjooVUlUZXh0QXV0b2ZpbGxTdWdnZXN0aW9uICop
Y3JlZGVudGlhbFN1Z2dlc3Rpb24KIH0KICNlbmRpZiAvLyBUQVJHRVRfT1NfSVBIT05FCiAKKy0g
KEJPT0wpY2FuU2hvd1BsYWNlaG9sZGVyCit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOworICAgIHJldHVybiBJTVBMLT5jYW5TaG93UGxhY2Vob2xkZXIoKTsKK30K
KworLSAodm9pZClzZXRDYW5TaG93UGxhY2Vob2xkZXI6KEJPT0wpY2FuU2hvd1BsYWNlaG9sZGVy
Cit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIElNUEwt
PnNldENhblNob3dQbGFjZWhvbGRlcihjYW5TaG93UGxhY2Vob2xkZXIpOworfQorCiBAZW5kCiAK
IFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQqIGNvcmUoRE9NSFRNTElucHV0RWxlbWVudCAqd3Jh
cHBlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MSW5w
dXRFbGVtZW50UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUxJ
bnB1dEVsZW1lbnRQcml2YXRlLmgKaW5kZXggMThkOTM3NjJlZDg3NTY4OWViNjY5OTZkNjc5NDRm
NmRkMWExMTNjNS4uNDgwZDVkMmYxZTMxMzQ4ZDBmNjM0YTYxNDBhOGRmZjA1MTU3N2IzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUxJbnB1dEVsZW1lbnRQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUxJbnB1dEVs
ZW1lbnRQcml2YXRlLmgKQEAgLTUzLDYgKzUzLDcgQEAKIEBwcm9wZXJ0eSAoY29weSkgTlNTdHJp
bmcgKnNlbGVjdGlvbkRpcmVjdGlvbjsKIEBwcm9wZXJ0eSBCT09MIGluY3JlbWVudGFsOwogQHBy
b3BlcnR5IEJPT0wgY2FwdHVyZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGNhblNob3dQ
bGFjZWhvbGRlcjsKIAogLSAodm9pZClzdGVwVXA6KGludCluOwogLSAodm9pZClzdGVwRG93bjoo
aW50KW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NSFRNTFRl
eHRBcmVhRWxlbWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MVGV4
dEFyZWFFbGVtZW50Lm1tCmluZGV4IGZiMzJiYzI1M2Q1NDczNzE1YjhjMGZiZjAwMjk0NGM1Yjg0
MmU4MGQuLjA4OTk4MmE4N2FhNDE2MjUyNzk1OWM5YTg5MjUxN2ViYTY3MGRiZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MVGV4dEFyZWFFbGVtZW50Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MVGV4dEFyZWFFbGVtZW50
Lm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE2LCAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzIzLDQgKzMyMywxNiBAQCAtICh2b2lkKXNldFNlbGVjdGlvblJhbmdl
OihpbnQpc3RhcnQgZW5kOihpbnQpZW5kCiAgICAgdW53cmFwKCpzZWxmKS5zZXRTZWxlY3Rpb25S
YW5nZShzdGFydCwgZW5kKTsKIH0KIAorLSAoQk9PTCljYW5TaG93UGxhY2Vob2xkZXIKK3sKKyAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIHVud3Jh
cCgqc2VsZikuY2FuU2hvd1BsYWNlaG9sZGVyKCk7Cit9CisKKy0gKHZvaWQpc2V0Q2FuU2hvd1Bs
YWNlaG9sZGVyOihCT09MKWNhblNob3dQbGFjZWhvbGRlcgoreworICAgIFdlYkNvcmU6OkpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICB1bndyYXAoKnNlbGYpLnNldENhblNob3dQbGFj
ZWhvbGRlcihjYW5TaG93UGxhY2Vob2xkZXIpOworfQorCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0
ZS5oCmluZGV4IGFhMjI4MjlhMGViN2VlMzZjMjAzYTc2NWFjNjQwNzY4YTM3ZDI2NTguLjBmYzIx
YTY3YzU2ZDdmZjA2OGU2NTdhMmM0YjhlYTgyM2VkZjYxOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MVGV4dEFyZWFFbGVtZW50UHJpdmF0
ZS5oCkBAIC0zOSw2ICszOSw3IEBACiBAcHJvcGVydHkgKHJlYWRvbmx5LCBzdHJvbmcpIERPTU5v
ZGVMaXN0ICpsYWJlbHM7CiBAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpzZWxlY3Rpb25EaXJl
Y3Rpb247CiBAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICphdXRvY29tcGxldGU7CitAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCBjYW5TaG93UGxhY2Vob2xkZXI7CiAtICh2b2lkKXNldFJhbmdl
VGV4dDooTlNTdHJpbmcgKilyZXBsYWNlbWVudDsKIC0gKHZvaWQpc2V0UmFuZ2VUZXh0OihOU1N0
cmluZyAqKXJlcGxhY2VtZW50IHN0YXJ0Oih1bnNpZ25lZClzdGFydCBlbmQ6KHVuc2lnbmVkKWVu
ZCBzZWxlY3Rpb25Nb2RlOihOU1N0cmluZyAqKXNlbGVjdGlvbk1vZGU7CiBAZW5kCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NTI3NjUyNjY2MDc4YTM2OWMzNzcxNTUxYzY2ZTU4YTcyZDNlMTE3Mi4uMzI2MGEzMjI1MzlmMjUx
NDA1MWEzOTQ1ZjA3MWZlODAyYzc4NzY1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAx
LTIxICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgU1BJ
IHRvIHNob3cgYW5kIGhpZGUgcGxhY2Vob2xkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQ1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3
MDA1MzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkcyBhIG5ldyB0ZXN0IHRvIGVuc3VyZSB0aGF0IEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
OjpzZXRDYW5TaG93UGxhY2Vob2xkZXIoKSB3b3Jrcy4KKworICAgICAgICAqIGZhc3QvZm9ybXMv
cGxhY2Vob2xkZXItc2hvdy1hbmQtaGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1zaG93LWFu
ZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXIuaHRtbDogQWRkZWQuCisKIDIwMTktMDct
MjYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFT
U0VSVElPTiBGQUlMVVJFOiAhaXNNaXNzaW5nUG9zdExheW91dERhdGEgaW4gV2ViS2l0OjpFZGl0
b3JTdGF0ZTo6cG9zdExheW91dERhdGEoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9wbGFjZWhvbGRlci1zaG93LWFuZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1zaG93LWFu
ZC1oaWRlLXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMxMTMzZjY0NjM3NjZmOWRiZWM0YmU4MGI4YmQxMzY4ZTkwMGM5OTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3BsYWNlaG9sZGVyLXNob3ctYW5kLWhpZGUtdmlh
LXNldENhblNob3dQbGFjZWhvbGRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVz
dHMgdGhhdCB0aGUgcGxhY2Vob2xkZXIgY2FuIGJlIGhpZGRlbiBhbmQgc2hvd24gZm9yIGVtcHR5
IGZpZWxkcyB2aWEgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKCkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitEaXNhbGxvdyBzaG93aW5nIG9mIHBsYWNlaG9sZGVyOgorUEFTUyBpbnRl
cm5hbHMudmlzaWJsZVBsYWNlaG9sZGVyKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iikp
IGlzICIiCitQQVNTIGludGVybmFscy52aXNpYmxlUGxhY2Vob2xkZXIoZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigidGV4dGFyZWEiKSkgaXMgIiIKKworQWxsb3cgc2hvd2luZyBvZiBwbGFjZWhvbGRl
cjoKK1BBU1MgaW50ZXJuYWxzLnZpc2libGVQbGFjZWhvbGRlcihkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCJpbnB1dCIpKSBpcyAiZmlyc3QiCitQQVNTIGludGVybmFscy52aXNpYmxlUGxhY2Vob2xk
ZXIoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidGV4dGFyZWEiKSkgaXMgInNlY29uZCIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1zaG93LWFuZC1oaWRlLXZpYS1z
ZXRDYW5TaG93UGxhY2Vob2xkZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vo
b2xkZXItc2hvdy1hbmQtaGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWFlMDQ2NmJlZTg1Y2UyNTc0ZTdjZmE4NjQ4NzY1MDE0M2I1ZGM4YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlk
ZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlucHV0IHR5cGU9InRleHQi
IHBsYWNlaG9sZGVyPSJmaXJzdCI+Cis8dGV4dGFyZWEgcGxhY2Vob2xkZXI9InNlY29uZCI+PC90
ZXh0YXJlYT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgcGxhY2Vob2xk
ZXIgY2FuIGJlIGhpZGRlbiBhbmQgc2hvd24gZm9yIGVtcHR5IGZpZWxkcyB2aWEgc2V0Q2FuU2hv
d1BsYWNlaG9sZGVyKCkuIik7CisKK2Z1bmN0aW9uIHRlc3RUaGF0UGxhY2Vob2xkZXJJc0hpZGRl
bih0YWdOYW1lKQoreworICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0
YWdOYW1lKTsKKyAgICBpbnRlcm5hbHMuc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGVsZW1lbnQsIGZh
bHNlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGludGVybmFscy52aXNpYmxlUGxhY2Vo
b2xkZXIoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiJHt0YWdOYW1lfSIpKWAsICIiKTsKK30KKwor
ZnVuY3Rpb24gdGVzdFRoYXRQbGFjZWhvbGRlcklzRXF1YWxUb1N0cmluZyh0YWdOYW1lLCBleHBl
Y3RlZFRleHQpCit7CisgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRh
Z05hbWUpOworICAgIGludGVybmFscy5zZXRDYW5TaG93UGxhY2Vob2xkZXIoZWxlbWVudCwgdHJ1
ZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBpbnRlcm5hbHMudmlzaWJsZVBsYWNlaG9s
ZGVyKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiR7dGFnTmFtZX0iKSlgLCBleHBlY3RlZFRleHQp
OworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiTXVzdCBoYXZlIHdpbmRvdy5pbnRlcm5hbHMuIik7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkZWJ1ZygiRGlzYWxsb3cgc2hvd2luZyBvZiBw
bGFjZWhvbGRlcjoiKTsKKyAgICB0ZXN0VGhhdFBsYWNlaG9sZGVySXNIaWRkZW4oImlucHV0Iik7
CisgICAgdGVzdFRoYXRQbGFjZWhvbGRlcklzSGlkZGVuKCJ0ZXh0YXJlYSIpOworCisgICAgZGVi
dWcoIjxicj5BbGxvdyBzaG93aW5nIG9mIHBsYWNlaG9sZGVyOiIpOworICAgIHRlc3RUaGF0UGxh
Y2Vob2xkZXJJc0VxdWFsVG9TdHJpbmcoImlucHV0IiwgImZpcnN0Iik7CisgICAgdGVzdFRoYXRQ
bGFjZWhvbGRlcklzRXF1YWxUb1N0cmluZygidGV4dGFyZWEiLCAic2Vjb25kIik7Cit9CisKK3J1
blRlc3QoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388356</attachid>
            <date>2020-01-21 14:59:27 -0800</date>
            <delta_ts>2020-01-21 14:59:27 -0800</delta_ts>
            <desc>To land</desc>
            <filename>bug-206459-20200121145926.patch</filename>
            <type>text/plain</type>
            <size>20334</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdkMDUwYTE1NmRmNWI3
NGE3M2Y4MjkwNTUxNGVkYWVlYzI2N2ZjNy4uNDhlNTM0ODE2ZTUzMGEwNWQ1OGY5YjM0ODMzYzgx
NGE4OWE4ZTRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAxLTIxICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgTGVnYWN5IFdlYktp
dCBTUEkgYW5kIFdlYktpdCBJUEkgdG8gc2hvdyBhbmQgaGlkZSBwbGFjZWhvbGRlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NDU5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81ODcwMDUzND4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24g
SHNpZWguCisKKyAgICAgICAgQWRkcyBzZXR0ZXIgYW5kIGdldHRlciB0byB1cGRhdGUgd2hldGhl
ciB0aGUgcGxhY2Vob2xkZXIgY2FuIGJlIHNob3duLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9y
bXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0
bWwKKworICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OkhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50KTogSW5pdGlhbGl6ZSBzdGF0ZS4gRGVmYXVsdCB0byBjYW4gc2hvdworICAg
ICAgICB0aGUgcGxhY2Vob2xkZXIgdG8ga2VlcCB0aGUgYmVoYXZpb3Igd2UgaGF2ZSBjdXJyZW50
bHkuCisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6cGxhY2Vo
b2xkZXJTaG91bGRCZVZpc2libGUgY29uc3QpOiBNb2RpZmllZCB0byBhY2NvdW50IGZvciBtX2Nh
blNob3dQbGFjZWhvbGRlci4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50OjpzZXRDYW5TaG93UGxhY2Vob2xkZXIpOiBBZGRlZC4gVXBkYXRlIHN0YXRlIGFuZCBp
bnZhbGlkYXRlIHN0eWxlLgorICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpjYW5T
aG93UGxhY2Vob2xkZXIgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNldENhblNob3dQbGFjZWhvbGRl
cik6IEFkZGVkLiBGb3IgdGVzdGluZyBwdXJwb3Nlcy4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxOS0wOS0xMyAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBidWls
ZGluZyBXZWJLaXQgZm9yIE1hYyBDYXRhbHlzdCBmcm9tIFhjb2RlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU1YmFh
Nzk5OGVlYTk5NTUzNzRkNDA0ZDg4MTk0YjkwY2Y1N2MzMjcuLmRhNmNhYTZmYzMzYzMwNjdiNjgy
NGFhZDllNTczYjI0YmNhMTc2MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDEt
MjEgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBMZWdh
Y3kgV2ViS2l0IFNQSSBhbmQgV2ViS2l0IElQSSB0byBzaG93IGFuZCBoaWRlIHBsYWNlaG9sZGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0NTkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4NzAwNTM0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IFdlbnNvbiBIc2llaC4KKworICAgICAgICBBZGQgTW9kZXJuIFdlYktpdCBJUEkgdG8gY29udHJv
bCB3aGV0aGVyIHRoZSBwbGFjZWhvbGRlciBjYW4gYmUgc2hvd24gb3Igbm90IHdoZW4gYSBmb3Jt
CisgICAgICAgIGNvbnRyb2wgaXMgZW1wdHkuIFRoaXMgaXMgZm9yIGFlc3RoZXRpY3MuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpzZXRDYW5TaG93UGxhY2Vob2xkZXIpOiBBZGRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRDYW5TaG93UGxhY2Vob2xkZXIp
OiBBZGRlZC4gTWFwcyB0aGUgaW5wdXQgdGV4dCB0byBpdHMgZWxlbWVudC4gSWYgaXQncworICAg
ICAgICBhIEhUTUwgdGV4dCBmb3JtIGNvbnRyb2wgZWxlbWVudCB0aGVuIGNhbGxzIHRocm91Z2gg
dG8gSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNldENhblNob3dQbGFjZWhvbGRlcigpLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgIEFkZGVkIG5ldyBtZXNz
YWdlLgorCiAyMDIwLTAxLTE3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbaU9TXSBBU1NFUlRJT04gRkFJTEVEOiBBU1NFUlRfTk9UX1JFQUNIRUQoKSBpbiBz
ZWxlY3Rpb25DaGFuZ2VkV2l0aFRvdWNoKFdLQ29udGVudFZpZXcqLCBXZWJDb3JlOjpJbnRQb2lu
dCBjb25zdCYsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCBXZWJLaXQ6OkNhbGxiYWNrQmFz
ZTo6RXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggOGI3YmZiMDNmOTAxMTlk
N2I1M2M0ZWVlOGIyNjY1MTQ5ZGZkNGM3Ni4uN2YwOTJkMDFjOGQ1MWVlM2Y2ZTg5OTM0Y2I2MTRh
ZWRiYzg5NDk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBA
CisyMDIwLTAxLTIxICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBBZGQgTGVnYWN5IFdlYktpdCBTUEkgYW5kIFdlYktpdCBJUEkgdG8gc2hvdyBhbmQgaGlkZSBw
bGFjZWhvbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA2NDU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODcwMDUzND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgQWRkIExlZ2FjeSBXZWJLaXQgU1BJ
IHRvIGFsbG93IGEgY2xpZW50IHRvIGNvbnRyb2wgd2hldGhlciB0aGUgcGxhY2Vob2xkZXIgY2Fu
IGJlIHNob3duIG9yCisgICAgICAgIG5vdCB3aGVuIGEgZm9ybSBjb250cm9sIGlzIGVtcHR5LiBU
aGlzIGlzIGZvciBhZXN0aGV0aWNzLgorCisgICAgICAgICogRE9NL0RPTUhUTUxJbnB1dEVsZW1l
bnQubW06CisgICAgICAgICgtW0RPTUhUTUxJbnB1dEVsZW1lbnQgY2FuU2hvd1BsYWNlaG9sZGVy
XSk6IEFkZGVkLgorICAgICAgICAoLVtET01IVE1MSW5wdXRFbGVtZW50IHNldENhblNob3dQbGFj
ZWhvbGRlcjpdKTogQWRkZWQuCisgICAgICAgICogRE9NL0RPTUhUTUxJbnB1dEVsZW1lbnRQcml2
YXRlLmg6CisgICAgICAgICogRE9NL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnQubW06CisgICAgICAg
ICgtW0RPTUhUTUxUZXh0QXJlYUVsZW1lbnQgY2FuU2hvd1BsYWNlaG9sZGVyXSk6IEFkZGVkLgor
ICAgICAgICAoLVtET01IVE1MVGV4dEFyZWFFbGVtZW50IHNldENhblNob3dQbGFjZWhvbGRlcjpd
KTogQWRkZWQuCisgICAgICAgICogRE9NL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmg6
CisKIDIwMTktMDktMTMgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIFN1cHBvcnQgYnVpbGRpbmcgV2ViS2l0IGZvciBNYWMgQ2F0YWx5c3QgZnJvbSBYY29kZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNw
cAppbmRleCAzZjNjZmFjODA2MjJlYTlmZTZjNzg3OGMwOWZmMzhkNWQ2Y2I0MzdlLi5iNjk0ZWVj
MTBiN2NiZThlZmM0MjQ4MGVmNmRhOWYwNWY1NTZmNjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNjUsNiArNjUsNyBA
QCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTgogICAgICwgbV9jYWNoZWRTZWxlY3Rpb25EaXJlY3Rp
b24oU2VsZWN0aW9uSGFzTm9EaXJlY3Rpb24pCiAgICAgLCBtX2xhc3RDaGFuZ2VXYXNVc2VyRWRp
dChmYWxzZSkKICAgICAsIG1faXNQbGFjZWhvbGRlclZpc2libGUoZmFsc2UpCisgICAgLCBtX2Nh
blNob3dQbGFjZWhvbGRlcih0cnVlKQogICAgICwgbV9jYWNoZWRTZWxlY3Rpb25TdGFydCgtMSkK
ICAgICAsIG1fY2FjaGVkU2VsZWN0aW9uRW5kKC0xKQogewpAQCAtMTU4LDcgKzE1OSw3IEBAIGJv
b2wgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnBsYWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxl
KCkgY29uc3QKIHsKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgYnkgdGhlIHN0eWxlIHJl
c29sdmVyIHRvIG1hdGNoIHRoZSA6cGxhY2Vob2xkZXItc2hvd24gcHNldWRvIGNsYXNzLgogICAg
IC8vIFNpbmNlIGl0IGlzIHVzZWQgZm9yIHN0eWxpbmcsIGl0IG11c3Qgbm90IHVzZSBhbnkgdmFs
dWUgZGVwZW5kaW5nIG9uIHRoZSBzdHlsZS4KLSAgICByZXR1cm4gc3VwcG9ydHNQbGFjZWhvbGRl
cigpICYmIGlzRW1wdHlWYWx1ZSgpICYmICFpc1BsYWNlaG9sZGVyRW1wdHkoKTsKKyAgICByZXR1
cm4gc3VwcG9ydHNQbGFjZWhvbGRlcigpICYmIGlzRW1wdHlWYWx1ZSgpICYmICFpc1BsYWNlaG9s
ZGVyRW1wdHkoKSAmJiBtX2NhblNob3dQbGFjZWhvbGRlcjsKIH0KIAogdm9pZCBIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudDo6dXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KCkKQEAgLTE3Miw2
ICsxNzMsMTIgQEAgdm9pZCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6dXBkYXRlUGxhY2Vo
b2xkZXJWaXNpYmlsaXR5KCkKICAgICBpbnZhbGlkYXRlU3R5bGVGb3JTdWJ0cmVlKCk7CiB9CiAK
K3ZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNldENhblNob3dQbGFjZWhvbGRlcihi
b29sIGNhblNob3dQbGFjZWhvbGRlcikKK3sKKyAgICBtX2NhblNob3dQbGFjZWhvbGRlciA9IGNh
blNob3dQbGFjZWhvbGRlcjsKKyAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoKTsKK30K
Kwogdm9pZCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c2V0U2VsZWN0aW9uU3RhcnQoaW50
IHN0YXJ0KQogewogICAgIHNldFNlbGVjdGlvblJhbmdlKHN0YXJ0LCBzdGQ6Om1heChzdGFydCwg
c2VsZWN0aW9uRW5kKCkpLCBzZWxlY3Rpb25EaXJlY3Rpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggNzQ5NGQyNTRkNTUw
YWI1NDM3NzQ5MjViZTkwODM4MjMxMjViYjk5Zi4uNDA3ODk0ZjVlY2NlNmExMjI4ZTc5YmRiOGYz
Yzk1Nzg5YWMyOWZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQuaApAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBI
VE1MRWxlbWVudCogcGxhY2Vob2xkZXJFbGVtZW50KCkgY29uc3QgPSAwOwogICAgIHZvaWQgdXBk
YXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KCk7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dENhblNob3dQbGFjZWhvbGRlcihib29sKTsKKyAgICBib29sIGNhblNob3dQbGFjZWhvbGRlcigp
IGNvbnN0IHsgcmV0dXJuIG1fY2FuU2hvd1BsYWNlaG9sZGVyOyB9CisKICAgICBpbnQgaW5kZXhG
b3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJikgY29uc3Q7CiAgICAgV0VC
Q09SRV9FWFBPUlQgVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkZvckluZGV4KGludCBp
bmRleCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgaW50IHNlbGVjdGlvblN0YXJ0KCkgY29u
c3Q7CkBAIC0xNjAsNiArMTYzLDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2NhY2hlZFNl
bGVjdGlvbkRpcmVjdGlvbiA6IDI7CiAgICAgdW5zaWduZWQgbV9sYXN0Q2hhbmdlV2FzVXNlckVk
aXQgOiAxOwogICAgIHVuc2lnbmVkIG1faXNQbGFjZWhvbGRlclZpc2libGUgOiAxOworICAgIHVu
c2lnbmVkIG1fY2FuU2hvd1BsYWNlaG9sZGVyIDogMTsKIAogICAgIFN0cmluZyBtX3RleHRBc09m
TGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAppbmRleCBjMmIyMDQ0NzdmZTRkNzQ3NTIyYzc5OGI5NDc4Mjc4ZGE5MTFmNDNhLi4wYjZk
MjIxMjFkYjI0ZTI5NjI4YWM2NmZmYzVjM2Y1NWIwMzFhMzg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCkBAIC0xNDIwLDYgKzE0MjAsMTIgQEAgU3RyaW5nIEludGVybmFsczo6
dmlzaWJsZVBsYWNlaG9sZGVyKEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgcmV0dXJuIFN0cmluZygp
OwogfQogCit2b2lkIEludGVybmFsczo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1lbnQmIGVs
ZW1lbnQsIGJvb2wgY2FuU2hvd1BsYWNlaG9sZGVyKQoreworICAgIGlmIChpczxIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIGRvd25jYXN0PEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50PihlbGVtZW50KS5zZXRDYW5TaG93UGxhY2Vob2xkZXIoY2FuU2hvd1Bs
YWNlaG9sZGVyKTsKK30KKwogdm9pZCBJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xvckNob29z
ZXIoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5nJiBjb2xvclZhbHVlKQog
ewogICAgIGVsZW1lbnQuc2VsZWN0Q29sb3IoY29sb3JWYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAppbmRleCA1YmRiMGUzOTYzOTRlNzQ0ZDRiOWQ3YjIwOGZmMmUwZmNlYzJiNzEw
Li4wOWQyNDk1ZTJmOGY1NWVmMTUzNDhkNjk0NzE0OTU3ZWUyZTZmOWMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKQEAgLTIzNiw2ICsyMzYsOCBAQCBwdWJsaWM6CiAgICAgTm9kZSog
cGFyZW50VHJlZVNjb3BlKE5vZGUmKTsKIAogICAgIFN0cmluZyB2aXNpYmxlUGxhY2Vob2xkZXIo
RWxlbWVudCYpOworICAgIHZvaWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1lbnQmLCBib29s
KTsKKwogICAgIHZvaWQgc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3NlcihIVE1MSW5wdXRFbGVtZW50
JiwgY29uc3QgU3RyaW5nJiBjb2xvclZhbHVlKTsKICAgICBFeGNlcHRpb25PcjxWZWN0b3I8U3Ry
aW5nPj4gZm9ybUNvbnRyb2xTdGF0ZU9mUHJldmlvdXNIaXN0b3J5SXRlbSgpOwogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oY29u
c3QgVmVjdG9yPFN0cmluZz4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRl
eCAxMTllNDBmMjZiNDhlZjVlMjU3MWFmYzg4N2IwNDA3MWU2NzUyZDUzLi4zNDkzODcyZjQ5MzUy
ZTRiODJhM2JhNzExOThhNGNmMGRlNmM0NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCkBAIC0zMDcsNiArMzA3LDggQEAgZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAgICAg
QXV0b0ZpbGxCdXR0b25UeXBlIGF1dG9GaWxsQnV0dG9uVHlwZShIVE1MSW5wdXRFbGVtZW50IGlu
cHV0RWxlbWVudCk7CiAgICAgQXV0b0ZpbGxCdXR0b25UeXBlIGxhc3RBdXRvRmlsbEJ1dHRvblR5
cGUoSFRNTElucHV0RWxlbWVudCBpbnB1dEVsZW1lbnQpOwogCisgICAgdm9pZCBzZXRDYW5TaG93
UGxhY2Vob2xkZXIoRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGNhblNob3dQbGFjZWhvbGRlcik7
CisKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFJhbmdlPyByYW5nZU9mU3RyaW5nKERPTVN0cmlu
ZyB0ZXh0LCBSYW5nZT8gcmVmZXJlbmNlUmFuZ2UsIHNlcXVlbmNlPERPTVN0cmluZz4gZmluZE9w
dGlvbnMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBjb3VudE1hdGNo
ZXNGb3JUZXh0KERPTVN0cmluZyB0ZXh0LCBzZXF1ZW5jZTxET01TdHJpbmc+IGZpbmRPcHRpb25z
LCBET01TdHJpbmcgbWFya01hdGNoZXMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWdu
ZWQgbG9uZyBjb3VudEZpbmRNYXRjaGVzKERPTVN0cmluZyB0ZXh0LCBzZXF1ZW5jZTxET01TdHJp
bmc+IGZpbmRPcHRpb25zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IGQyZDZiMjBmM2IwZWEwNTQwOTdmNGZhOTJmMmE5OTM4ZDJjZDFmMGUuLjM4NTkxYjE2
NjRhY2JkOTM1ODkxMmVkYzFhMGM3MzM1OWIxZmJiM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtOTY0MSw2ICs5NjQxLDEyIEBAIHZvaWQgV2ViUGFnZVBy
b3h5Ojpmb2N1c1RleHRJbnB1dENvbnRleHQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQm
IGNvbnRleHQsCiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlOjpGb2N1
c1RleHRJbnB1dENvbnRleHQoY29udGV4dCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
IH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnNldENhblNob3dQbGFjZWhvbGRlcihjb25zdCBXZWJD
b3JlOjpFbGVtZW50Q29udGV4dCYgY29udGV4dCwgYm9vbCBjYW5TaG93UGxhY2Vob2xkZXIpCit7
CisgICAgaWYgKGhhc1J1bm5pbmdQcm9jZXNzKCkpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OlNldENhblNob3dQbGFjZWhvbGRlcihjb250ZXh0LCBjYW5TaG93UGxhY2Vob2xkZXIp
KTsKK30KKwogTG9nZ2VyJiBXZWJQYWdlUHJveHk6OmxvZ2dlcigpCiB7CiAgICAgaWYgKCFtX2xv
Z2dlcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA4YjI5Mjk2
MjU1ZDRkNWI3N2U4OWQ3YzEzZWMyY2VkZjhiY2JjYTNlLi40M2I1NWViMDcwYTNkNGJiZDk4MDRj
ZTI1ODEyNGZjYjViMDNhN2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtNjg2LDYgKzY4Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdGV4dElucHV0Q29udGV4
dHNJblJlY3QoV2ViQ29yZTo6RmxvYXRSZWN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0
IFZlY3RvcjxXZWJDb3JlOjpFbGVtZW50Q29udGV4dD4mKT4mJik7CiAgICAgdm9pZCBmb2N1c1Rl
eHRJbnB1dENvbnRleHQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lkIHNldENhblNob3dQbGFjZWhvbGRlcihj
b25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYsIGJvb2wpOwogCiAjaWYgRU5BQkxFKFVJX1NJ
REVfQ09NUE9TSVRJTkcpCiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzKGNvbnN0
IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMmEzZTNiZWU5MTFiOTQ3NDMzYmJhMTU2M2Nk
NTA4MTZlZDNhYjk4Zi4uNjhmZWRhOGFiZWE5ZTViYzFkOTgxYzZiOWUzN2ZhMDA2YzllMjRlMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY3
NTEsNiArNjc1MSwxMyBAQCB2b2lkIFdlYlBhZ2U6OmZvY3VzVGV4dElucHV0Q29udGV4dChjb25z
dCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYgdGV4dElucHV0Q29udAogICAgIGNvbXBsZXRpb25I
YW5kbGVyKGVsZW1lbnQpOwogfQogCit2b2lkIFdlYlBhZ2U6OnNldENhblNob3dQbGFjZWhvbGRl
cihjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYgZWxlbWVudENvbnRleHQsIGJvb2wgY2Fu
U2hvd1BsYWNlaG9sZGVyKQoreworICAgIFJlZlB0cjxFbGVtZW50PiBlbGVtZW50ID0gZWxlbWVu
dEZvckNvbnRleHQoZWxlbWVudENvbnRleHQpOworICAgIGlmIChpczxIVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIGRvd25jYXN0PEhUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50PigqZWxlbWVudCkuc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNhblNob3dQbGFjZWhv
bGRlcik7Cit9CisKIEVsZW1lbnQqIFdlYlBhZ2U6OmVsZW1lbnRGb3JDb250ZXh0KGNvbnN0IFdl
YkNvcmU6OkVsZW1lbnRDb250ZXh0JiBlbGVtZW50Q29udGV4dCkgY29uc3QKIHsKICAgICBpZiAo
ZWxlbWVudENvbnRleHQud2ViUGFnZUlkZW50aWZpZXIgIT0gbV9pZGVudGlmaWVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGRhYjg1MzNkMzIxYzNh
Y2UwOWZlOGI2ZTcxY2FiMmI3MTM4ZjlkMTQuLmM0NTg0MDc3MjQ0Mzg1NTRhZWVjZThjOWI2NzJh
ZWQxNjI4ZDg4MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKQEAgLTYzMSw2ICs2MzEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHRleHRJbnB1dENvbnRl
eHRzSW5SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25z
dCBWZWN0b3I8V2ViQ29yZTo6RWxlbWVudENvbnRleHQ+Jik+JiYpOwogICAgIHZvaWQgZm9jdXNU
ZXh0SW5wdXRDb250ZXh0KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CisgICAgdm9pZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIo
Y29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBib29sKTsKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIHNjcmVlblNpemUoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluCmluZGV4IDA5NDBmNmNkODk1MjFjOGNlMzI0MjVmMDgwODVlMDE0ZmNlOGIzNjQuLmI3NGFj
YjFiODlhNGEwYWNiMGE2ZTk5ZTNiYzE0YzE0NDgyNTE5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNTcyLDYg
KzU3Miw3IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdl
YktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAKICAgICBUZXh0SW5wdXRDb250ZXh0
c0luUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgcmVjdCkgLT4gKFZlY3RvcjxzdHJ1Y3QgV2ViQ29y
ZTo6RWxlbWVudENvbnRleHQ+IGNvbnRleHRzKSBBc3luYwogICAgIEZvY3VzVGV4dElucHV0Q29u
dGV4dChzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgY29udGV4dCkgLT4gKGJvb2wgc3Vj
Y2VzcykgQXN5bmMKKyAgICBTZXRDYW5TaG93UGxhY2Vob2xkZXIoc3RydWN0IFdlYkNvcmU6OkVs
ZW1lbnRDb250ZXh0IGNvbnRleHQsIGJvb2wgY2FuU2hvd1BsYWNlaG9sZGVyKQogCiAjaWYgRU5B
QkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKICAgICBXYXNMb2FkZWRXaXRoRGF0YVRyYW5z
ZmVyRnJvbVByZXZhbGVudFJlc291cmNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0RPTS9ET01IVE1MSW5wdXRFbGVtZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvRE9NL0RPTUhUTUxJbnB1dEVsZW1lbnQubW0KaW5kZXggN2FlNWUwNjM0NmE5ZjljNmM1Mzk1
M2JlYmFkMjdlZDFkNmRjZWEwYi4uYzNmNDJlMWI4N2EwZWU4Yjk3YjA5ZGRlYWEzMzM1NjQzOTFh
MTBjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUxJbnB1
dEVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUxJbnB1
dEVsZW1lbnQubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA0LTIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC03MTAsNiArNzEwLDE4IEBAIC0gKHZvaWQpaW5zZXJ0VGV4dFN1Z2dl
c3Rpb246KFVJVGV4dEF1dG9maWxsU3VnZ2VzdGlvbiAqKWNyZWRlbnRpYWxTdWdnZXN0aW9uCiB9
CiAjZW5kaWYgLy8gVEFSR0VUX09TX0lQSE9ORQogCistIChCT09MKWNhblNob3dQbGFjZWhvbGRl
cgoreworICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1
cm4gSU1QTC0+Y2FuU2hvd1BsYWNlaG9sZGVyKCk7Cit9CisKKy0gKHZvaWQpc2V0Q2FuU2hvd1Bs
YWNlaG9sZGVyOihCT09MKWNhblNob3dQbGFjZWhvbGRlcgoreworICAgIFdlYkNvcmU6OkpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBJTVBMLT5zZXRDYW5TaG93UGxhY2Vob2xkZXIo
Y2FuU2hvd1BsYWNlaG9sZGVyKTsKK30KKwogQGVuZAogCiBXZWJDb3JlOjpIVE1MSW5wdXRFbGVt
ZW50KiBjb3JlKERPTUhUTUxJbnB1dEVsZW1lbnQgKndyYXBwZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NSFRNTElucHV0RWxlbWVudFByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MSW5wdXRFbGVtZW50UHJpdmF0ZS5oCmlu
ZGV4IDE4ZDkzNzYyZWQ4NzU2ODllYjY2OTk2ZDY3OTQ0ZjZkZDFhMTEzYzUuLjQ4MGQ1ZDJmMWUz
MTM0OGQwZjYzNGE2MTQwYThkZmYwNTE1NzdiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0RPTS9ET01IVE1MSW5wdXRFbGVtZW50UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01IVE1MSW5wdXRFbGVtZW50UHJpdmF0ZS5oCkBAIC01Myw2
ICs1Myw3IEBACiBAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpzZWxlY3Rpb25EaXJlY3Rpb247
CiBAcHJvcGVydHkgQk9PTCBpbmNyZW1lbnRhbDsKIEBwcm9wZXJ0eSBCT09MIGNhcHR1cmU7CitA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBjYW5TaG93UGxhY2Vob2xkZXI7CiAKIC0gKHZvaWQp
c3RlcFVwOihpbnQpbjsKIC0gKHZvaWQpc3RlcERvd246KGludCluOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUhUTUxUZXh0QXJlYUVsZW1lbnQubW0gYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbQppbmRleCBm
YjMyYmMyNTNkNTQ3MzcxNWI4YzBmYmYwMDI5NDRjNWI4NDJlODBkLi4wODk5ODJhODdhYTQxNjI1
Mjc5NTljOWE4OTI1MTdlYmE2NzBkYmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9ET00vRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9ET00vRE9NSFRNTFRleHRBcmVhRWxlbWVudC5tbQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNiwgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyMyw0ICsz
MjMsMTYgQEAgLSAodm9pZClzZXRTZWxlY3Rpb25SYW5nZTooaW50KXN0YXJ0IGVuZDooaW50KWVu
ZAogICAgIHVud3JhcCgqc2VsZikuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIGVuZCk7CiB9CiAK
Ky0gKEJPT0wpY2FuU2hvd1BsYWNlaG9sZGVyCit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiB1bndyYXAoKnNlbGYpLmNhblNob3dQbGFjZWhv
bGRlcigpOworfQorCistICh2b2lkKXNldENhblNob3dQbGFjZWhvbGRlcjooQk9PTCljYW5TaG93
UGxhY2Vob2xkZXIKK3sKKyAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
CisgICAgdW53cmFwKCpzZWxmKS5zZXRDYW5TaG93UGxhY2Vob2xkZXIoY2FuU2hvd1BsYWNlaG9s
ZGVyKTsKK30KKwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9N
L0RPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9ET00vRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaAppbmRleCBhYTIyODI5YTBlYjdl
ZTM2YzIwM2E3NjVhYzY0MDc2OGEzN2QyNjU4Li4wZmMyMWE2N2M1NmQ3ZmYwNjhlNjU3YTJjNGI4
ZWE4MjNlZGY2MTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9N
SFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9ET00vRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaApAQCAtMzksNiArMzksNyBAQAog
QHByb3BlcnR5IChyZWFkb25seSwgc3Ryb25nKSBET01Ob2RlTGlzdCAqbGFiZWxzOwogQHByb3Bl
cnR5IChjb3B5KSBOU1N0cmluZyAqc2VsZWN0aW9uRGlyZWN0aW9uOwogQHByb3BlcnR5IChjb3B5
KSBOU1N0cmluZyAqYXV0b2NvbXBsZXRlOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgY2Fu
U2hvd1BsYWNlaG9sZGVyOwogLSAodm9pZClzZXRSYW5nZVRleHQ6KE5TU3RyaW5nICopcmVwbGFj
ZW1lbnQ7CiAtICh2b2lkKXNldFJhbmdlVGV4dDooTlNTdHJpbmcgKilyZXBsYWNlbWVudCBzdGFy
dDoodW5zaWduZWQpc3RhcnQgZW5kOih1bnNpZ25lZCllbmQgc2VsZWN0aW9uTW9kZTooTlNTdHJp
bmcgKilzZWxlY3Rpb25Nb2RlOwogQGVuZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyNzY1MjY2NjA3OGEzNjljMzc3MTU1
MWM2NmU1OGE3MmQzZTExNzIuLmE5Njg5M2VjZTQxMWVmNWE4OWEyNDJjMjNiNjUzMmIzODI2NTgy
MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wMS0yMSAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIExlZ2FjeSBXZWJLaXQgU1BJIGFuZCBXZWJL
aXQgSVBJIHRvIHNob3cgYW5kIGhpZGUgcGxhY2Vob2xkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQ1OQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTg3MDA1MzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAg
ICAgIEFkZHMgYSBuZXcgdGVzdCB0byBlbnN1cmUgdGhhdCBIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudDo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKCkgd29ya3MuCisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3BsYWNlaG9sZGVyLXNob3ctYW5kLWhpZGUtdmlhLXNldENhblNob3dQbGFjZWhvbGRlci1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hv
dy1hbmQtaGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWw6IEFkZGVkLgorCiAyMDE5
LTA3LTI2ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XSBBU1NFUlRJT04gRkFJTFVSRTogIWlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhIGluIFdlYktpdDo6
RWRpdG9yU3RhdGU6OnBvc3RMYXlvdXREYXRhKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9s
ZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hv
dy1hbmQtaGlkZS12aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jMTEzM2Y2NDYzNzY2ZjlkYmVjNGJlODBiOGJkMTM2OGU5MDBjOTkwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1zaG93LWFuZC1oaWRl
LXZpYS1zZXRDYW5TaG93UGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAK
K1Rlc3RzIHRoYXQgdGhlIHBsYWNlaG9sZGVyIGNhbiBiZSBoaWRkZW4gYW5kIHNob3duIGZvciBl
bXB0eSBmaWVsZHMgdmlhIHNldENhblNob3dQbGFjZWhvbGRlcigpLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworRGlzYWxsb3cgc2hvd2luZyBvZiBwbGFjZWhvbGRlcjoKK1BBU1Mg
aW50ZXJuYWxzLnZpc2libGVQbGFjZWhvbGRlcihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1
dCIpKSBpcyAiIgorUEFTUyBpbnRlcm5hbHMudmlzaWJsZVBsYWNlaG9sZGVyKGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoInRleHRhcmVhIikpIGlzICIiCisKK0FsbG93IHNob3dpbmcgb2YgcGxhY2Vo
b2xkZXI6CitQQVNTIGludGVybmFscy52aXNpYmxlUGxhY2Vob2xkZXIoZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiaW5wdXQiKSkgaXMgImZpcnN0IgorUEFTUyBpbnRlcm5hbHMudmlzaWJsZVBsYWNl
aG9sZGVyKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInRleHRhcmVhIikpIGlzICJzZWNvbmQiCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItc2hvdy1hbmQtaGlkZS12
aWEtc2V0Q2FuU2hvd1BsYWNlaG9sZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Bs
YWNlaG9sZGVyLXNob3ctYW5kLWhpZGUtdmlhLXNldENhblNob3dQbGFjZWhvbGRlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjlhZTA0NjZiZWU4NWNlMjU3NGU3Y2ZhODY0ODc2NTAxNDNiNWRjOGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3BsYWNlaG9sZGVyLXNob3ctYW5k
LWhpZGUtdmlhLXNldENhblNob3dQbGFjZWhvbGRlci5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbnB1dCB0eXBlPSJ0
ZXh0IiBwbGFjZWhvbGRlcj0iZmlyc3QiPgorPHRleHRhcmVhIHBsYWNlaG9sZGVyPSJzZWNvbmQi
PjwvdGV4dGFyZWE+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHBsYWNl
aG9sZGVyIGNhbiBiZSBoaWRkZW4gYW5kIHNob3duIGZvciBlbXB0eSBmaWVsZHMgdmlhIHNldENh
blNob3dQbGFjZWhvbGRlcigpLiIpOworCitmdW5jdGlvbiB0ZXN0VGhhdFBsYWNlaG9sZGVySXNI
aWRkZW4odGFnTmFtZSkKK3sKKyAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IodGFnTmFtZSk7CisgICAgaW50ZXJuYWxzLnNldENhblNob3dQbGFjZWhvbGRlcihlbGVtZW50
LCBmYWxzZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBpbnRlcm5hbHMudmlzaWJsZVBs
YWNlaG9sZGVyKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiR7dGFnTmFtZX0iKSlgLCAiIik7Cit9
CisKK2Z1bmN0aW9uIHRlc3RUaGF0UGxhY2Vob2xkZXJJc0VxdWFsVG9TdHJpbmcodGFnTmFtZSwg
ZXhwZWN0ZWRUZXh0KQoreworICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cih0YWdOYW1lKTsKKyAgICBpbnRlcm5hbHMuc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGVsZW1lbnQs
IHRydWUpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgaW50ZXJuYWxzLnZpc2libGVQbGFj
ZWhvbGRlcihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIke3RhZ05hbWV9IikpYCwgZXhwZWN0ZWRU
ZXh0KTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIk11c3QgaGF2ZSB3aW5kb3cuaW50ZXJuYWxzLiIp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZGVidWcoIkRpc2FsbG93IHNob3dpbmcg
b2YgcGxhY2Vob2xkZXI6Iik7CisgICAgdGVzdFRoYXRQbGFjZWhvbGRlcklzSGlkZGVuKCJpbnB1
dCIpOworICAgIHRlc3RUaGF0UGxhY2Vob2xkZXJJc0hpZGRlbigidGV4dGFyZWEiKTsKKworICAg
IGRlYnVnKCI8YnI+QWxsb3cgc2hvd2luZyBvZiBwbGFjZWhvbGRlcjoiKTsKKyAgICB0ZXN0VGhh
dFBsYWNlaG9sZGVySXNFcXVhbFRvU3RyaW5nKCJpbnB1dCIsICJmaXJzdCIpOworICAgIHRlc3RU
aGF0UGxhY2Vob2xkZXJJc0VxdWFsVG9TdHJpbmcoInRleHRhcmVhIiwgInNlY29uZCIpOworfQor
CitydW5UZXN0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>