<?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>237360</bug_id>
          
          <creation_ts>2022-03-02 04:17:49 -0800</creation_ts>
          <short_desc>[css-scroll-snap] Improve snapping behavior with incremental directional scrolls</short_desc>
          <delta_ts>2022-05-17 02:36:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/33049</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>237589</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>clopez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1847337</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-03-02 04:17:49 -0800</bug_when>
    <thetext>Under certain circumstances, when a snap area covers the viewport the user should be able to scroll into the middle of the area without triggering a snap. An exception to this rule is when doing a directional snap into the large scroll area. In that case, if there is an intermediate snap point (one from another element) that is between the start and end of the large snap area, the scroll should not skip past this intermediate point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847963</commentid>
    <comment_count>1</comment_count>
      <attachid>453757</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-03-03 10:27:33 -0800</bug_when>
    <thetext>Created attachment 453757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847968</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-03-03 10:30:18 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848225</commentid>
    <comment_count>3</comment_count>
      <attachid>453757</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-03-04 02:58:02 -0800</bug_when>
    <thetext>Comment on attachment 453757
Patch

Clearing flags. The script used to focus elements for key events needs a bit more work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848706</commentid>
    <comment_count>4</comment_count>
      <attachid>453968</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-03-07 05:51:00 -0800</bug_when>
    <thetext>Created attachment 453968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849625</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-09 04:18:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/90024215&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849627</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-03-09 04:19:44 -0800</bug_when>
    <thetext>I have split out parts of this change into bug 237589 and will update the patch here once that lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862561</commentid>
    <comment_count>7</comment_count>
      <attachid>457896</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-04-19 08:38:42 -0700</bug_when>
    <thetext>Created attachment 457896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862847</commentid>
    <comment_count>8</comment_count>
      <attachid>457966</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-04-20 00:38:24 -0700</bug_when>
    <thetext>Created attachment 457966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869624</commentid>
    <comment_count>9</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2022-05-17 02:36:09 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/668</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453757</attachid>
            <date>2022-03-03 10:27:33 -0800</date>
            <delta_ts>2022-03-07 05:50:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237360-20220303192731.patch</filename>
            <type>text/plain</type>
            <size>14429</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJiNmUwNzU5NmYxNzA2
MDdkNjBjZDhjNGVmZjI0MzNkZjM5YjZjOC4uYzhhN2U2NzExZGIxN2RhZmQ4YWE1NDNhYjE1ZGZj
YjcwZjI3YmVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAzLTAzICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBbY3NzLXNjcm9s
bC1zbmFwXSBJbXByb3ZlIHNuYXBwaW5nIGJlaGF2aW9yIHdpdGggaW5jcmVtZW50YWwgZGlyZWN0
aW9uYWwgc2Nyb2xscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3MzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIGNvdmVyZWQgYnkgYW4gZXhpc3RpbmcgV1BUIHRl
c3QuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXRXaXRoSW5mb0FuZEF4aXMpOiBJ
bXByb3ZlIGluY3JlbWVudGFsIGRpcmVjdGlvbiBzY3JvbGxzIChzdWNoIGFzIHNjcm9sbGluZwor
ICAgICAgICB3aXRoIHRoZSBrZXlib2FyZCBhcnJvdyBrZXkpIGluIGEgY291cGxlIHdheXMuIEZp
cnN0LCBkb24ndCBza2lwIHBhc3QgaW50ZXJtZWRpYXRlIHNuYXAgcG9pbnRzIHRoYXQKKyAgICAg
ICAgaGFwcGVuIHRvIGJlIGluIHRoZSBtaWRkbGUgb2YgbG9uZyBzY3JvbGwgc25hcCBhcmVhcy4g
U2Vjb25kLCBhbGxvdyBlc2NhcGluZyBpbnRvIGFyZWFzIHdpdGhvdXQgdmFsaWQKKyAgICAgICAg
c25hcCBwb2ludHMgd2hlbiB1c2luZyBwcm94aW1pdHkgc25hcHBpbmcgd2l0aCBkaXJlY3Rpb25h
bCBzY3JvbGxzLgorCiAyMDIyLTAzLTAzICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBBIHRleHQgbm9kZSBsb25nZXIgdGhhbiA2NSw1MzUgY2hhcmFjdGVycyBmb2xs
b3dpbmcgYW5vdGhlciB0ZXh0IG5vZGUgaXMgaW52aXNpYmxlIGluIGEgc2Nyb2xsaW5nIGNvbnRl
eHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNuYXBP
ZmZzZXRzSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxTbmFw
T2Zmc2V0c0luZm8uY3BwCmluZGV4IDE4NDU1ZThkMDQyYWI4ZjZiYTc3NjdiYWJkODI5ODc1ZWU0
NDk0OWYuLmJmZTFkYWQxY2IxYmEwMTIxZjQzZDY4ZWMzZjAxYmQwMzg5NTNiMzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsU25hcE9mZnNldHNJ
bmZvLmNwcApAQCAtMTcxLDE0ICsxNzEsNDQgQEAgc3RhdGljIHN0ZDo6cGFpcjxMYXlvdXRUeXBl
LCBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPj4gY2xvc2VzdFNuYXBPZmZzZXRXaXRoSW5mb0EKICAg
ICBhdXRvJiBwcmV2aW91cyA9IHNlYXJjaFJlc3VsdC5wcmV2aW91czsKICAgICBhdXRvJiBuZXh0
ID0gc2VhcmNoUmVzdWx0Lm5leHQ7CiAKKyAgICBhdXRvIGRpc2NhcmRPZmZzZXRzRm9yRGlyZWN0
aW9uYWxTbmFwcGluZyA9IFsmXSgpIHsKKyAgICAgICAgaWYgKG9yaWdpbmFsT2Zmc2V0Rm9yRGly
ZWN0aW9uYWxTbmFwcGluZykgeworICAgICAgICAgICAgLy8gRnJvbSBodHRwczovL3d3dy53My5v
cmcvVFIvY3NzLXNjcm9sbC1zbmFwLTEvI2Nob29zaW5nCisgICAgICAgICAgICAvLyAiVXNlciBh
Z2VudHMgbXVzdCBlbnN1cmUgdGhhdCBhIHVzZXIgY2FuIOKAnGVzY2FwZeKAnSBhIHNuYXAgcG9z
aXRpb24sIHJlZ2FyZGxlc3Mgb2YgdGhlIHNjcm9sbAorICAgICAgICAgICAgLy8gbWV0aG9kLiBG
b3IgZXhhbXBsZSwgaWYgdGhlIHNuYXAgdHlwZSBpcyBtYW5kYXRvcnkgYW5kIHRoZSBuZXh0IHNu
YXAgcG9zaXRpb24gaXMgbW9yZSB0aGFuCisgICAgICAgICAgICAvLyB0d28gc2NyZWVuLXdpZHRo
cyBhd2F5LCBhIG5hw692ZSDigJxhbHdheXMgc25hcCB0byBuZWFyZXN04oCdIHNlbGVjdGlvbiBh
bGdvcml0aG0gbWlnaHQg4oCcdHJhcOKAnSB0aGUKKyAgICAgICAgICAgIC8vCisgICAgICAgICAg
ICAvLyBGb3IgYSBkaXJlY3Rpb25hbCBzY3JvbGwsIHdlIG5ldmVyIHNuYXAgYmFjayB0byB0aGUg
b3JpZ2luYWwgc2Nyb2xsIHBvc2l0aW9uIG9yIGJlZm9yZSBpdCwKKyAgICAgICAgICAgIC8vIGFs
d2F5cyBwcmVmZXJyaW5nIHRoZSBzbmFwIG9mZnNldCBpbiB0aGUgc2Nyb2xsIGRpcmVjdGlvbi4K
KyAgICAgICAgICAgIGF1dG8mIG9yaWdpbmFsT2Zmc2V0ID0gKm9yaWdpbmFsT2Zmc2V0Rm9yRGly
ZWN0aW9uYWxTbmFwcGluZzsKKyAgICAgICAgICAgIGlmIChvcmlnaW5hbE9mZnNldCA8IHNjcm9s
bERlc3RpbmF0aW9uT2Zmc2V0ICYmIHByZXZpb3VzICYmICgqcHJldmlvdXMpLmZpcnN0IDw9IG9y
aWdpbmFsT2Zmc2V0KQorICAgICAgICAgICAgICAgIHByZXZpb3VzLnJlc2V0KCk7CisgICAgICAg
ICAgICBpZiAob3JpZ2luYWxPZmZzZXQgPiBzY3JvbGxEZXN0aW5hdGlvbk9mZnNldCAmJiBuZXh0
ICYmICgqbmV4dCkuZmlyc3QgPj0gb3JpZ2luYWxPZmZzZXQpCisgICAgICAgICAgICAgICAgbmV4
dC5yZXNldCgpOworICAgICAgICB9CisgICAgfTsKKwogICAgIC8vIEZyb20gaHR0cHM6Ly93d3cu
dzMub3JnL1RSL2Nzcy1zY3JvbGwtc25hcC0xLyNzbmFwLW92ZXJmbG93CiAgICAgLy8gIklmIHRo
ZSBzbmFwIGFyZWEgaXMgbGFyZ2VyIHRoYW4gdGhlIHNuYXBwb3J0IGluIGEgcGFydGljdWxhciBh
eGlzLCB0aGVuIGFueSBzY3JvbGwgcG9zaXRpb24KICAgICAvLyBpbiB3aGljaCB0aGUgc25hcCBh
cmVhIGNvdmVycyB0aGUgc25hcHBvcnQsIGFuZCB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgZ2Vv
bWV0cmljYWxseQogICAgIC8vIHByZXZpb3VzIGFuZCBzdWJzZXF1ZW50IHNuYXAgcG9zaXRpb25z
IGluIHRoYXQgYXhpcyBpcyBsYXJnZXIgdGhhbiBzaXplIG9mIHRoZSBzbmFwcG9ydCBpbgogICAg
IC8vIHRoYXQgYXhpcywgaXMgYSB2YWxpZCBzbmFwIHBvc2l0aW9uIGluIHRoYXQgYXhpcy4gVGhl
IFVBIG1heSB1c2UgdGhlIHNwZWNpZmllZCBhbGlnbm1lbnQgYXMgYQogICAgIC8vIG1vcmUgcHJl
Y2lzZSB0YXJnZXQgZm9yIGNlcnRhaW4gc2Nyb2xsIG9wZXJhdGlvbnMgKGUuZy4gZXhwbGljaXQg
cGFnaW5nKS4iCi0gICAgaWYgKHNlYXJjaFJlc3VsdC5sYW5kZWRJbnNpZGVTbmFwQXJlYVRoYXRD
b25zdW1lc1ZpZXdwb3J0ICYmICghcHJldmlvdXMgfHwgIW5leHQgfHwgKCgqbmV4dCkuZmlyc3Qg
LSAoKnByZXZpb3VzKS5maXJzdCkgPj0gdmlld3BvcnRMZW5ndGgpKQotICAgICAgICByZXR1cm4g
cGFpckZvck5vU25hcHBpbmc7CisgICAgaWYgKHNlYXJjaFJlc3VsdC5sYW5kZWRJbnNpZGVTbmFw
QXJlYVRoYXRDb25zdW1lc1ZpZXdwb3J0ICYmICghcHJldmlvdXMgfHwgIW5leHQgfHwgKCgqbmV4
dCkuZmlyc3QgLSAoKnByZXZpb3VzKS5maXJzdCkgPj0gdmlld3BvcnRMZW5ndGgpKSB7CisgICAg
ICAgIGlmICghb3JpZ2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBwaW5nKQorICAgICAgICAg
ICAgcmV0dXJuIHBhaXJGb3JOb1NuYXBwaW5nOworCisgICAgICAgIC8vIFdlIG9ubHkgcmV0dXJu
IGEgcG9zaXRpb24gaW4gdGhpcyBsYXJnZSBzbmFwIGFyZWEgaWYgdGhlcmUgaXNuJ3QgYSBjbG9z
ZXIgc25hcCBwb2ludCBpbiB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzY3JvbGwuCisgICAgICAgIGRp
c2NhcmRPZmZzZXRzRm9yRGlyZWN0aW9uYWxTbmFwcGluZygpOworICAgICAgICBhdXRvIGRpc3Rh
bmNlRnJvbU9yaWdpbmFsT2Zmc2V0ID0gWyZdKGNvbnN0IExheW91dFR5cGUmIG5ld09mZnNldCkg
eworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6YWJzKGZsb2F0IHsgbmV3T2Zmc2V0IC0gc2Nyb2xs
RGVzdGluYXRpb25PZmZzZXQgfSk7CisgICAgICAgIH07CisgICAgICAgIGF1dG8gc2Nyb2xsRGVz
dGluYXRpb25EaXN0YW5jZUZyb21PcmlnaW5hbE9mZnNldCA9IGRpc3RhbmNlRnJvbU9yaWdpbmFs
T2Zmc2V0KCpvcmlnaW5hbE9mZnNldEZvckRpcmVjdGlvbmFsU25hcHBpbmcpOworICAgICAgICBp
ZiAoKCFwcmV2aW91cyB8fCBkaXN0YW5jZUZyb21PcmlnaW5hbE9mZnNldCgoKnByZXZpb3VzKS5m
aXJzdCkgPiBzY3JvbGxEZXN0aW5hdGlvbkRpc3RhbmNlRnJvbU9yaWdpbmFsT2Zmc2V0KQorICAg
ICAgICAgICAgJiYgKCFuZXh0IHx8IGRpc3RhbmNlRnJvbU9yaWdpbmFsT2Zmc2V0KCgqbmV4dCku
Zmlyc3QpID4gc2Nyb2xsRGVzdGluYXRpb25EaXN0YW5jZUZyb21PcmlnaW5hbE9mZnNldCkpIHsK
KyAgICAgICAgICAgIHJldHVybiBwYWlyRm9yTm9TbmFwcGluZzsKKyAgICAgICAgfQorICAgIH0K
IAogICAgIGF1dG8gaXNOZWFyRW5vdWdoVG9PZmZzZXRGb3JQcm94aW1pdHkgPSBbJl0oTGF5b3V0
VHlwZSBjYW5kaWRhdGVTbmFwT2Zmc2V0KSB7CiAgICAgICAgIGlmIChpbmZvLnN0cmljdG5lc3Mg
IT0gU2Nyb2xsU25hcFN0cmljdG5lc3M6OlByb3hpbWl0eSkKQEAgLTE5MCwzNCArMjIwLDI5IEBA
IHN0YXRpYyBzdGQ6OnBhaXI8TGF5b3V0VHlwZSwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4+IGNs
b3Nlc3RTbmFwT2Zmc2V0V2l0aEluZm9BCiAgICAgICAgIHJldHVybiBzdGQ6OmFicyhmbG9hdCB7
Y2FuZGlkYXRlU25hcE9mZnNldCAtIHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0fSkgPD0gKHZpZXdw
b3J0TGVuZ3RoICogcmF0aW9PZlNjcm9sbFBvcnRBeGlzTGVuZ3RoVG9CZUNvbnNpZGVyZWRGb3JQ
cm94aW1pdHkpOwogICAgIH07CiAKLSAgICBpZiAoc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQgPD0g
c25hcE9mZnNldHMuZmlyc3QoKS5vZmZzZXQpCi0gICAgICAgIHJldHVybiBpc05lYXJFbm91Z2hU
b09mZnNldEZvclByb3hpbWl0eShzbmFwT2Zmc2V0cy5maXJzdCgpLm9mZnNldCkgPyBzdGQ6Om1h
a2VfcGFpcihzbmFwT2Zmc2V0cy5maXJzdCgpLm9mZnNldCwgc3RkOjptYWtlX29wdGlvbmFsKDB1
KSkgOiBwYWlyRm9yTm9TbmFwcGluZzsKLQotICAgIGlmIChzY3JvbGxEZXN0aW5hdGlvbk9mZnNl
dCA+PSBzbmFwT2Zmc2V0cy5sYXN0KCkub2Zmc2V0KSB7Ci0gICAgICAgIHVuc2lnbmVkIGxhc3RJ
bmRleCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzbmFwT2Zmc2V0cy5zaXplKCkgLSAxKTsKLSAg
ICAgICAgcmV0dXJuIGlzTmVhckVub3VnaFRvT2Zmc2V0Rm9yUHJveGltaXR5KHNuYXBPZmZzZXRz
Lmxhc3QoKS5vZmZzZXQpID8gc3RkOjptYWtlX3BhaXIoc25hcE9mZnNldHMubGFzdCgpLm9mZnNl
dCwgc3RkOjptYWtlX29wdGlvbmFsKGxhc3RJbmRleCkpIDogcGFpckZvck5vU25hcHBpbmc7Ci0g
ICAgfQotCiAgICAgaWYgKHByZXZpb3VzICYmICFpc05lYXJFbm91Z2hUb09mZnNldEZvclByb3hp
bWl0eSgoKnByZXZpb3VzKS5maXJzdCkpCiAgICAgICAgIHByZXZpb3VzLnJlc2V0KCk7CiAgICAg
aWYgKG5leHQgJiYgIWlzTmVhckVub3VnaFRvT2Zmc2V0Rm9yUHJveGltaXR5KCgqbmV4dCkuZmly
c3QpKQogICAgICAgICBuZXh0LnJlc2V0KCk7CiAKLSAgICBpZiAob3JpZ2luYWxPZmZzZXRGb3JE
aXJlY3Rpb25hbFNuYXBwaW5nKSB7Ci0gICAgICAgIC8vIEZyb20gaHR0cHM6Ly93d3cudzMub3Jn
L1RSL2Nzcy1zY3JvbGwtc25hcC0xLyNjaG9vc2luZwotICAgICAgICAvLyAiVXNlciBhZ2VudHMg
bXVzdCBlbnN1cmUgdGhhdCBhIHVzZXIgY2FuIOKAnGVzY2FwZeKAnSBhIHNuYXAgcG9zaXRpb24s
IHJlZ2FyZGxlc3Mgb2YgdGhlIHNjcm9sbAotICAgICAgICAvLyBtZXRob2QuIEZvciBleGFtcGxl
LCBpZiB0aGUgc25hcCB0eXBlIGlzIG1hbmRhdG9yeSBhbmQgdGhlIG5leHQgc25hcCBwb3NpdGlv
biBpcyBtb3JlIHRoYW4KLSAgICAgICAgLy8gdHdvIHNjcmVlbi13aWR0aHMgYXdheSwgYSBuYcOv
dmUg4oCcYWx3YXlzIHNuYXAgdG8gbmVhcmVzdOKAnSBzZWxlY3Rpb24gYWxnb3JpdGhtIG1pZ2h0
IOKAnHRyYXDigJ0gdGhlCi0gICAgICAgIC8vCi0gICAgICAgIC8vIEZvciBhIGRpcmVjdGlvbmFs
IHNjcm9sbCwgd2UgbmV2ZXIgc25hcCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBzY3JvbGwgcG9zaXRp
b24gb3IgYmVmb3JlIGl0LAotICAgICAgICAvLyBhbHdheXMgcHJlZmVycmluZyB0aGUgc25hcCBv
ZmZzZXQgaW4gdGhlIHNjcm9sbCBkaXJlY3Rpb24uCi0gICAgICAgIGF1dG8mIG9yaWdpbmFsT2Zm
c2V0ID0gKm9yaWdpbmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGluZzsKLSAgICAgICAgaWYg
KG9yaWdpbmFsT2Zmc2V0IDwgc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQgJiYgcHJldmlvdXMgJiYg
KCpwcmV2aW91cykuZmlyc3QgPD0gb3JpZ2luYWxPZmZzZXQpCi0gICAgICAgICAgICBwcmV2aW91
cy5yZXNldCgpOwotICAgICAgICBpZiAob3JpZ2luYWxPZmZzZXQgPiBzY3JvbGxEZXN0aW5hdGlv
bk9mZnNldCAmJiBuZXh0ICYmICgqbmV4dCkuZmlyc3QgPj0gb3JpZ2luYWxPZmZzZXQpCi0gICAg
ICAgICAgICBuZXh0LnJlc2V0KCk7CisgICAgaWYgKGluZm8uc3RyaWN0bmVzcyA9PSBTY3JvbGxT
bmFwU3RyaWN0bmVzczo6UHJveGltaXR5ICYmIG9yaWdpbmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxT
bmFwcGluZy5oYXNfdmFsdWUoKSkgeworICAgICAgICAvLyBJZiB3ZSBhcmUgZG9pbmcgZGlyZWN0
aW9uYWwgc2Nyb2xsaW5nIHdpdGggcHJveGltaXR5IHN0cmljdG5lc3MsIGFsbG93IGVzY2FwaW5n
IGluIGRpcmVjdGlvbnMgdGhhdCBkb24ndCBoYXZlIGEgdmFsaWQKKyAgICAgICAgLy8gc25hcCBw
b2ludC4gVGhpcyBhbGxvd3MgZXNjYXBpbmcgaW50byBhcmVhcyB0aGF0IG1pZ2h0IG90aGVyd2lz
ZSBvbmx5IGJlIHJlYWNoYWJsZSB3aXRoIGEgbm9uLWRpcmVjdGlvbmFsIHNjcm9sbC4KKyAgICAg
ICAgYXV0byBzbmFwUG9zaXRpb25JblRoZU90aGVyRGlyZWN0aW9uID0gdmVsb2NpdHkgPCAwID8g
bmV4dCA6IHByZXZpb3VzOworICAgICAgICBhdXRvIHNuYXBQb3NpdGlvbkluVGhlU2Nyb2xsRGly
ZWN0aW9uID0gdmVsb2NpdHkgPCAwID8gcHJldmlvdXMgOiBuZXh0OworICAgICAgICBpZiAoc25h
cFBvc2l0aW9uSW5UaGVPdGhlckRpcmVjdGlvbi5oYXNfdmFsdWUoKSAmJiAoKnNuYXBQb3NpdGlv
bkluVGhlT3RoZXJEaXJlY3Rpb24pLmZpcnN0ID09ICpvcmlnaW5hbE9mZnNldEZvckRpcmVjdGlv
bmFsU25hcHBpbmcgJiYgIXNuYXBQb3NpdGlvbkluVGhlU2Nyb2xsRGlyZWN0aW9uLmhhc192YWx1
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHBhaXJGb3JOb1NuYXBwaW5nOworICAgIH0gZWxzZSB7
CisgICAgICAgIGlmIChzY3JvbGxEZXN0aW5hdGlvbk9mZnNldCA8PSBzbmFwT2Zmc2V0cy5maXJz
dCgpLm9mZnNldCkKKyAgICAgICAgICAgIHJldHVybiBpc05lYXJFbm91Z2hUb09mZnNldEZvclBy
b3hpbWl0eShzbmFwT2Zmc2V0cy5maXJzdCgpLm9mZnNldCkgPyBzdGQ6Om1ha2VfcGFpcihzbmFw
T2Zmc2V0cy5maXJzdCgpLm9mZnNldCwgc3RkOjptYWtlX29wdGlvbmFsKDB1KSkgOiBwYWlyRm9y
Tm9TbmFwcGluZzsKKyAgICAgICAgaWYgKHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0ID49IHNuYXBP
ZmZzZXRzLmxhc3QoKS5vZmZzZXQpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxhc3RJbmRleCA9
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzbmFwT2Zmc2V0cy5zaXplKCkgLSAxKTsKKyAgICAgICAg
ICAgIHJldHVybiBpc05lYXJFbm91Z2hUb09mZnNldEZvclByb3hpbWl0eShzbmFwT2Zmc2V0cy5s
YXN0KCkub2Zmc2V0KSA/IHN0ZDo6bWFrZV9wYWlyKHNuYXBPZmZzZXRzLmxhc3QoKS5vZmZzZXQs
IHN0ZDo6bWFrZV9vcHRpb25hbChsYXN0SW5kZXgpKSA6IHBhaXJGb3JOb1NuYXBwaW5nOworICAg
ICAgICB9CiAgICAgfQogCisgICAgZGlzY2FyZE9mZnNldHNGb3JEaXJlY3Rpb25hbFNuYXBwaW5n
KCk7CisKICAgICBpZiAoIXByZXZpb3VzICYmICFuZXh0KQogICAgICAgICByZXR1cm4gcGFpckZv
ck5vU25hcHBpbmc7CiAgICAgaWYgKCFwcmV2aW91cykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IGUxNzU1NDkxYzZjMzUyNzEwZmU3ZmE5YTM5NmRkZDU2ZjMyNDg5NjYuLjQ1ZTI5
NzY4ZDc3NDNhYWZjMGI5ZTkyYTUxZjdhZTM2ZGUyMzc2YmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAzLTAzICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBbY3NzLXNjcm9sbC1zbmFwXSBJbXBy
b3ZlIHNuYXBwaW5nIGJlaGF2aW9yIHdpdGggaW5jcmVtZW50YWwgZGlyZWN0aW9uYWwgc2Nyb2xs
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MzYw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9pbnB1dC9rZXlib2FyZC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
aW5wdXQva2V5Ym9hcmQuaHRtbDogTW9kaWZpZWQgdGhpcyB0ZXN0IHRoYXQgYXNzdW1lZAorICAg
ICAgICB5b3UgY2FuIHNlbmQga2V5cyB0byBhIG5vbi1mb2N1c2FibGUgZWxlbWVudC4gVGhlIFdl
YkRyaXZlciB0ZXN0IHNheXMgdGhhdCB5b3UgY2FuIG9ubHkgc2VuZAorICAgICAgICBrZXlzIHRv
IGtleWJvYXJkLWludGVyYWN0YWJsZSBlbGVtZW50cy4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzOiBXaGVuIHNlbmRpbmcga2V5cywg
Zmlyc3QgZm9jdXMgdGhlIGVsZW1lbnQKKyAgICAgICAgaW4gcXVlc3Rpb24gdXNpbmcgdGhlIHNh
bWUgc2NyaXB0IGFzIHRoZSBXZWJLaXQgV2ViRHJpdmVyLgorCiAyMDIyLTAzLTAzICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjkwMzU2LXIy
OTAzNTE/KTogWyBpT1MgRVdTIF0gMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci8qIHRlc3RzIGFyZSBjb25zdGFudCB0ZXh0IGZh
aWx1cmVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL2lucHV0L2tleWJvYXJkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9pbnB1dC9rZXlib2FyZC1leHBlY3RlZC50eHQKaW5kZXggYWIxMzAyNDE2ZTU4NDNl
ZmY3MDdlNzdmNTZkNzAwZGMwYTEwNTVhYy4uNzA4MGFjNWM3YjJiNWEzNjRlNjVkMWMyYmUwNjA0
NGUzMjVhMmU2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL2lucHV0L2tleWJvYXJkLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtc2Nyb2xsLXNuYXAvaW5wdXQva2V5Ym9hcmQtZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEw
IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VU
IFNuYXBzIHRvIGJvdHRvbS1sZWZ0IGFmdGVyIHByZXNzaW5nIEFycm93RG93biBUZXN0IHRpbWVk
IG91dAotTk9UUlVOIFNuYXBzIHRvIHRvcC1sZWZ0IGFmdGVyIHByZXNzaW5nIEFycm93VXAKLU5P
VFJVTiBTbmFwcyB0byB0b3AtcmlnaHQgYWZ0ZXIgcHJlc3NpbmcgQXJyb3dSaWdodAotTk9UUlVO
IFNuYXBzIHRvIHRvcC1sZWZ0IGFmdGVyIHByZXNzaW5nIEFycm93TGVmdAotTk9UUlVOIElmIHRo
ZSBvcmlnaW5hbCBpbnRlbmRlZCBvZmZzZXQgaXMgdmFsaWQgYXMgbWFraW5nIGEgc25hcCBhcmVh
IGNvdmVyIHRoZXNuYXBwb3J0LCBhbmQgdGhlcmUncyBubyBvdGhlciBzbmFwIG9mZnNldCBpbiBi
ZXR3ZWVuLCB1c2UgdGhlIG9yaWdpbmFsaW50ZW5kZWQgb2Zmc2V0Ci1OT1RSVU4gSWYgdGhlIG9y
aWdpbmFsIGludGVuZGVkIG9mZnNldCBpcyB2YWxpZCBhcyBtYWtpbmcgYSBzbmFwIGFyZWEgY292
ZXIgdGhlIHNuYXBwb3J0LCBidXQgdGhlcmUncyBhIGRlZmluZWQgc25hcCBvZmZzZXQgaW4gYmV0
d2VlbiwgdXNlIHRoZSBkZWZpbmVkIHNuYXAgb2Zmc2V0LgotTk9UUlVOIElmIHRoZXJlIGlzIG5v
IHZhbGlkIHNuYXAgb2Zmc2V0IG9uIHRoZSBhcnJvdyBrZXkncyBkaXJlY3Rpb24gb3RoZXIgdGhh
biB0aGUgY3VycmVudCBvZmZzZXQsIGFuZCB0aGUgc2Nyb2xsLXNuYXAtdHlwZSBpcyBtYW5kYXRv
cnksIHN0YXkgYXQgdGhlIGN1cnJlbnQgb2Zmc2V0LgotTk9UUlVOIElmIHRoZXJlIGlzIG5vIHZh
bGlkIHNuYXAgb2Zmc2V0IG9uIHRoZSBhcnJvdyBrZXkncyBkaXJlY3Rpb24gb3RoZXIgdGhhbiB0
aGUgY3VycmVudCBvZmZzZXQsIGFuZCB0aGUgc2Nyb2xsLXNuYXAtdHlwZSBpcyBwcm94aW1pdHks
IGdvIHRvIHRoZSBvcmlnaW5hbCBpbnRlbmRlZCBvZmZzZXQKK1BBU1MgU25hcHMgdG8gYm90dG9t
LWxlZnQgYWZ0ZXIgcHJlc3NpbmcgQXJyb3dEb3duCitQQVNTIFNuYXBzIHRvIHRvcC1sZWZ0IGFm
dGVyIHByZXNzaW5nIEFycm93VXAKK1BBU1MgU25hcHMgdG8gdG9wLXJpZ2h0IGFmdGVyIHByZXNz
aW5nIEFycm93UmlnaHQKK1BBU1MgU25hcHMgdG8gdG9wLWxlZnQgYWZ0ZXIgcHJlc3NpbmcgQXJy
b3dMZWZ0CitQQVNTIElmIHRoZSBvcmlnaW5hbCBpbnRlbmRlZCBvZmZzZXQgaXMgdmFsaWQgYXMg
bWFraW5nIGEgc25hcCBhcmVhIGNvdmVyIHRoZXNuYXBwb3J0LCBhbmQgdGhlcmUncyBubyBvdGhl
ciBzbmFwIG9mZnNldCBpbiBiZXR3ZWVuLCB1c2UgdGhlIG9yaWdpbmFsaW50ZW5kZWQgb2Zmc2V0
CitQQVNTIElmIHRoZSBvcmlnaW5hbCBpbnRlbmRlZCBvZmZzZXQgaXMgdmFsaWQgYXMgbWFraW5n
IGEgc25hcCBhcmVhIGNvdmVyIHRoZSBzbmFwcG9ydCwgYnV0IHRoZXJlJ3MgYSBkZWZpbmVkIHNu
YXAgb2Zmc2V0IGluIGJldHdlZW4sIHVzZSB0aGUgZGVmaW5lZCBzbmFwIG9mZnNldC4KK1BBU1Mg
SWYgdGhlcmUgaXMgbm8gdmFsaWQgc25hcCBvZmZzZXQgb24gdGhlIGFycm93IGtleSdzIGRpcmVj
dGlvbiBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9mZnNldCwgYW5kIHRoZSBzY3JvbGwtc25hcC10
eXBlIGlzIG1hbmRhdG9yeSwgc3RheSBhdCB0aGUgY3VycmVudCBvZmZzZXQuCitQQVNTIElmIHRo
ZXJlIGlzIG5vIHZhbGlkIHNuYXAgb2Zmc2V0IG9uIHRoZSBhcnJvdyBrZXkncyBkaXJlY3Rpb24g
b3RoZXIgdGhhbiB0aGUgY3VycmVudCBvZmZzZXQsIGFuZCB0aGUgc2Nyb2xsLXNuYXAtdHlwZSBp
cyBwcm94aW1pdHksIGdvIHRvIHRoZSBvcmlnaW5hbCBpbnRlbmRlZCBvZmZzZXQKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL2lucHV0L2tleWJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvaW5wdXQva2V5Ym9hcmQu
aHRtbAppbmRleCBiOGFkM2UwMDFkODgxODMyZTAwZmU4MTUyYzAwY2M5ODEzYWNjOGJiLi43YjBj
NmMwNTc0MjBlOThiMDEyMmNiY2IyZjc1MDIwMzdlMzcwZTIxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAv
aW5wdXQva2V5Ym9hcmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvaW5wdXQva2V5Ym9hcmQuaHRtbApAQCAt
MTYsNyArMTYsNyBAQAogPHNjcmlwdCBzcmM9Ii4uL3N1cHBvcnQvY29tbW9uLmpzIj48L3Njcmlw
dD4KIAogCi08ZGl2IGlkPSJzY3JvbGxlciI+Cis8ZGl2IGlkPSJzY3JvbGxlciIgdGFiaW5kZXg9
IjAiPgogICA8ZGl2IGlkPSJzcGFjZSI+PC9kaXY+CiAgIDxkaXYgY2xhc3M9InNuYXAgbGVmdCB0
b3AiIGlkPSJ0b3AtbGVmdCI+PC9kaXY+CiAgIDxkaXYgY2xhc3M9InNuYXAgcmlnaHQgdG9wIiBp
ZD0idG9wLXJpZ2h0Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanMKaW5kZXggNGRlNDA1Y2ZlZDM3YWNiYmJkYTExYmMzNDk1ZmRkOTc3MzIy
MmQ2NC4uMjgwN2FhYjY5ODIyZWVhMmEzZTUxYmY2ZDdjZjUyZTE3MGNlMmM3MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
dGVzdGRyaXZlci12ZW5kb3IuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMKQEAgLTE0OCwxMSAr
MTQ4LDM5IEBAIGZ1bmN0aW9uIGRpc3BhdGNoVG91Y2hBY3Rpb25zKGFjdGlvbnMsIG9wdGlvbnMg
PSB7IGluc2VydFBhdXNlQWZ0ZXJQb2ludGVyVXA6IGZhCiBpZiAod2luZG93LnRlc3RfZHJpdmVy
X2ludGVybmFsID09PSB1bmRlZmluZWQpCiAgICAgd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFs
ID0geyB9OwogCisKKy8vIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRo
IHRoZSBvbmUgdXNlZCBpbiBXZWJEcml2ZXIuCitmdW5jdGlvbiBmb2N1c0VsZW1lbnRGb3JTZW5k
S2V5cyhlbGVtZW50KSB7CisgICAgbGV0IGRvYyA9IGVsZW1lbnQub3duZXJEb2N1bWVudCB8fCBl
bGVtZW50OworICAgIGxldCBwcmV2QWN0aXZlRWxlbWVudCA9IGRvYy5hY3RpdmVFbGVtZW50Owor
ICAgIGxldCBlbGVtZW50Um9vdE5vZGUgPSBlbGVtZW50LmdldFJvb3ROb2RlKCk7CisgICAgaWYg
KGVsZW1lbnRSb290Tm9kZS5hY3RpdmVFbGVtZW50ICE9PSBlbGVtZW50ICYmIHByZXZBY3RpdmVF
bGVtZW50KQorICAgICAgICBwcmV2QWN0aXZlRWxlbWVudC5ibHVyKCk7CisgICAgZWxlbWVudC5m
b2N1cygpOworCisgICAgbGV0IHRhZ05hbWUgPSBlbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2Uo
KTsKKyAgICBpZiAodGFnTmFtZSA9PT0gJ0JPRFknIHx8IGVsZW1lbnQgPT09IGRvY3VtZW50LmRv
Y3VtZW50RWxlbWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbGV0IGlzVGV4dEVsZW1lbnQg
PSB0YWdOYW1lID09PSAnVEVYVEFSRUEnIHx8ICh0YWdOYW1lID09PSAnSU5QVVQnICYmIGVsZW1l
bnQudHlwZSA9PT0gJ3RleHQnKTsKKyAgICBpZiAoaXNUZXh0RWxlbWVudCAmJiBlbGVtZW50LnNl
bGVjdGlvbkVuZCA9PSAwKQorICAgICAgICBlbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGVsZW1l
bnQudmFsdWUubGVuZ3RoLCBlbGVtZW50LnZhbHVlLmxlbmd0aCk7CisKKyAgICBpZiAoZWxlbWVu
dFJvb3ROb2RlLmFjdGl2ZUVsZW1lbnQgIT09IGVsZW1lbnQpIHsKKyAgICAgICAgdGhyb3cgewor
ICAgICAgICAgICAgbmFtZTogJ0VsZW1lbnROb3RJbnRlcmFjdGFibGUnLAorICAgICAgICAgICAg
bWVzc2FnZTogJ0VsZW1lbnQgaXMgbm90IGZvY3VzYWJsZS4nCisgICAgICAgIH07CisgICAgfQor
fQorCiB3aW5kb3cudGVzdF9kcml2ZXJfaW50ZXJuYWwuc2VuZF9rZXlzID0gZnVuY3Rpb24oZWxl
bWVudCwga2V5cykKIHsKICAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKICAgICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlzIHVuZGVm
aW5lZC4iKSk7CiAKKyAgICBmb2N1c0VsZW1lbnRGb3JTZW5kS2V5cyhlbGVtZW50KTsKKwogICAg
IC8vIGh0dHBzOi8vc2VsZW5pdW1ocS5naXRodWIuaW8vc2VsZW5pdW0vZG9jcy9hcGkvcHkvd2Vi
ZHJpdmVyL3NlbGVuaXVtLndlYmRyaXZlci5jb21tb24ua2V5cy5odG1sCiAgICAgLy8gRklYTUU6
IEFkZCBtb3JlIGNhc2VzLgogICAgIGNvbnN0IFNlbGVuaXVtQ2hhckNvZGVUb0V2ZW50U2VuZGVy
S2V5ID0gewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453968</attachid>
            <date>2022-03-07 05:51:00 -0800</date>
            <delta_ts>2022-04-19 08:38:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237360-20220307145058.patch</filename>
            <type>text/plain</type>
            <size>21891</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDA2YTAzODQ2ZTU0ZjY0
YjdhNjZmZWY3MDQ1NWY2NDk3YjhlMGQ0Yy4uNmZjNWE4NTMyMTRmOTZiYTQ5NjdhYjJlODZhM2Y4
NmY3OTdiYmY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAzLTA3ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBbY3NzLXNjcm9s
bC1zbmFwXSBJbXByb3ZlIHNuYXBwaW5nIGJlaGF2aW9yIHdpdGggaW5jcmVtZW50YWwgZGlyZWN0
aW9uYWwgc2Nyb2xscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3MzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIGNvdmVyZWQgYnkgYW4gZXhpc3RpbmcgV1BUIHRl
c3QuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y2xvc2VzdFNuYXBPZmZzZXRXaXRoSW5mb0FuZEF4aXMpOiBJ
bXByb3ZlIGluY3JlbWVudGFsIGRpcmVjdGlvbiBzY3JvbGxzIChzdWNoIGFzIHNjcm9sbGluZwor
ICAgICAgICB3aXRoIHRoZSBrZXlib2FyZCBhcnJvdyBrZXkpIGluIGEgY291cGxlIHdheXMuIEZp
cnN0LCBkb24ndCBza2lwIHBhc3QgaW50ZXJtZWRpYXRlIHNuYXAgcG9pbnRzIHRoYXQKKyAgICAg
ICAgaGFwcGVuIHRvIGJlIGluIHRoZSBtaWRkbGUgb2YgbG9uZyBzY3JvbGwgc25hcCBhcmVhcy4g
U2Vjb25kLCBhbGxvdyBlc2NhcGluZyBpbnRvIGFyZWFzIHdpdGhvdXQgdmFsaWQKKyAgICAgICAg
c25hcCBwb2ludHMgd2hlbiB1c2luZyBwcm94aW1pdHkgc25hcHBpbmcgd2l0aCBkaXJlY3Rpb25h
bCBzY3JvbGxzLgorCiAyMDIyLTAzLTAyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIENvcHkgY29udGV4dCBtZW51IGFjdGlvbiBzaG91bGQg
YmUgdGl0bGVkICJDb3B5IExpbmsiIHdoZW4gbG9uZyBwcmVzc2luZyBhIG5vbi1pbWFnZSBsaW5r
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxTbmFwT2Zm
c2V0c0luZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsU25hcE9m
ZnNldHNJbmZvLmNwcAppbmRleCAxODQ1NWU4ZDA0MmFiOGY2YmE3NzY3YmFiZDgyOTg3NWVlNDQ5
NDlmLi5iZmUxZGFkMWNiMWJhMDEyMWY0M2Q2OGVjM2YwMWJkMDM4OTUzYjM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5m
by5jcHAKQEAgLTE3MSwxNCArMTcxLDQ0IEBAIHN0YXRpYyBzdGQ6OnBhaXI8TGF5b3V0VHlwZSwg
c3RkOjpvcHRpb25hbDx1bnNpZ25lZD4+IGNsb3Nlc3RTbmFwT2Zmc2V0V2l0aEluZm9BCiAgICAg
YXV0byYgcHJldmlvdXMgPSBzZWFyY2hSZXN1bHQucHJldmlvdXM7CiAgICAgYXV0byYgbmV4dCA9
IHNlYXJjaFJlc3VsdC5uZXh0OwogCisgICAgYXV0byBkaXNjYXJkT2Zmc2V0c0ZvckRpcmVjdGlv
bmFsU25hcHBpbmcgPSBbJl0oKSB7CisgICAgICAgIGlmIChvcmlnaW5hbE9mZnNldEZvckRpcmVj
dGlvbmFsU25hcHBpbmcpIHsKKyAgICAgICAgICAgIC8vIEZyb20gaHR0cHM6Ly93d3cudzMub3Jn
L1RSL2Nzcy1zY3JvbGwtc25hcC0xLyNjaG9vc2luZworICAgICAgICAgICAgLy8gIlVzZXIgYWdl
bnRzIG11c3QgZW5zdXJlIHRoYXQgYSB1c2VyIGNhbiDigJxlc2NhcGXigJ0gYSBzbmFwIHBvc2l0
aW9uLCByZWdhcmRsZXNzIG9mIHRoZSBzY3JvbGwKKyAgICAgICAgICAgIC8vIG1ldGhvZC4gRm9y
IGV4YW1wbGUsIGlmIHRoZSBzbmFwIHR5cGUgaXMgbWFuZGF0b3J5IGFuZCB0aGUgbmV4dCBzbmFw
IHBvc2l0aW9uIGlzIG1vcmUgdGhhbgorICAgICAgICAgICAgLy8gdHdvIHNjcmVlbi13aWR0aHMg
YXdheSwgYSBuYcOvdmUg4oCcYWx3YXlzIHNuYXAgdG8gbmVhcmVzdOKAnSBzZWxlY3Rpb24gYWxn
b3JpdGhtIG1pZ2h0IOKAnHRyYXDigJ0gdGhlCisgICAgICAgICAgICAvLworICAgICAgICAgICAg
Ly8gRm9yIGEgZGlyZWN0aW9uYWwgc2Nyb2xsLCB3ZSBuZXZlciBzbmFwIGJhY2sgdG8gdGhlIG9y
aWdpbmFsIHNjcm9sbCBwb3NpdGlvbiBvciBiZWZvcmUgaXQsCisgICAgICAgICAgICAvLyBhbHdh
eXMgcHJlZmVycmluZyB0aGUgc25hcCBvZmZzZXQgaW4gdGhlIHNjcm9sbCBkaXJlY3Rpb24uCisg
ICAgICAgICAgICBhdXRvJiBvcmlnaW5hbE9mZnNldCA9ICpvcmlnaW5hbE9mZnNldEZvckRpcmVj
dGlvbmFsU25hcHBpbmc7CisgICAgICAgICAgICBpZiAob3JpZ2luYWxPZmZzZXQgPCBzY3JvbGxE
ZXN0aW5hdGlvbk9mZnNldCAmJiBwcmV2aW91cyAmJiAoKnByZXZpb3VzKS5maXJzdCA8PSBvcmln
aW5hbE9mZnNldCkKKyAgICAgICAgICAgICAgICBwcmV2aW91cy5yZXNldCgpOworICAgICAgICAg
ICAgaWYgKG9yaWdpbmFsT2Zmc2V0ID4gc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQgJiYgbmV4dCAm
JiAoKm5leHQpLmZpcnN0ID49IG9yaWdpbmFsT2Zmc2V0KQorICAgICAgICAgICAgICAgIG5leHQu
cmVzZXQoKTsKKyAgICAgICAgfQorICAgIH07CisKICAgICAvLyBGcm9tIGh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9jc3Mtc2Nyb2xsLXNuYXAtMS8jc25hcC1vdmVyZmxvdwogICAgIC8vICJJZiB0aGUg
c25hcCBhcmVhIGlzIGxhcmdlciB0aGFuIHRoZSBzbmFwcG9ydCBpbiBhIHBhcnRpY3VsYXIgYXhp
cywgdGhlbiBhbnkgc2Nyb2xsIHBvc2l0aW9uCiAgICAgLy8gaW4gd2hpY2ggdGhlIHNuYXAgYXJl
YSBjb3ZlcnMgdGhlIHNuYXBwb3J0LCBhbmQgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIGdlb21l
dHJpY2FsbHkKICAgICAvLyBwcmV2aW91cyBhbmQgc3Vic2VxdWVudCBzbmFwIHBvc2l0aW9ucyBp
biB0aGF0IGF4aXMgaXMgbGFyZ2VyIHRoYW4gc2l6ZSBvZiB0aGUgc25hcHBvcnQgaW4KICAgICAv
LyB0aGF0IGF4aXMsIGlzIGEgdmFsaWQgc25hcCBwb3NpdGlvbiBpbiB0aGF0IGF4aXMuIFRoZSBV
QSBtYXkgdXNlIHRoZSBzcGVjaWZpZWQgYWxpZ25tZW50IGFzIGEKICAgICAvLyBtb3JlIHByZWNp
c2UgdGFyZ2V0IGZvciBjZXJ0YWluIHNjcm9sbCBvcGVyYXRpb25zIChlLmcuIGV4cGxpY2l0IHBh
Z2luZykuIgotICAgIGlmIChzZWFyY2hSZXN1bHQubGFuZGVkSW5zaWRlU25hcEFyZWFUaGF0Q29u
c3VtZXNWaWV3cG9ydCAmJiAoIXByZXZpb3VzIHx8ICFuZXh0IHx8ICgoKm5leHQpLmZpcnN0IC0g
KCpwcmV2aW91cykuZmlyc3QpID49IHZpZXdwb3J0TGVuZ3RoKSkKLSAgICAgICAgcmV0dXJuIHBh
aXJGb3JOb1NuYXBwaW5nOworICAgIGlmIChzZWFyY2hSZXN1bHQubGFuZGVkSW5zaWRlU25hcEFy
ZWFUaGF0Q29uc3VtZXNWaWV3cG9ydCAmJiAoIXByZXZpb3VzIHx8ICFuZXh0IHx8ICgoKm5leHQp
LmZpcnN0IC0gKCpwcmV2aW91cykuZmlyc3QpID49IHZpZXdwb3J0TGVuZ3RoKSkgeworICAgICAg
ICBpZiAoIW9yaWdpbmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGluZykKKyAgICAgICAgICAg
IHJldHVybiBwYWlyRm9yTm9TbmFwcGluZzsKKworICAgICAgICAvLyBXZSBvbmx5IHJldHVybiBh
IHBvc2l0aW9uIGluIHRoaXMgbGFyZ2Ugc25hcCBhcmVhIGlmIHRoZXJlIGlzbid0IGEgY2xvc2Vy
IHNuYXAgcG9pbnQgaW4gdGhlIGRpcmVjdGlvbiBvZiB0aGUgc2Nyb2xsLgorICAgICAgICBkaXNj
YXJkT2Zmc2V0c0ZvckRpcmVjdGlvbmFsU25hcHBpbmcoKTsKKyAgICAgICAgYXV0byBkaXN0YW5j
ZUZyb21PcmlnaW5hbE9mZnNldCA9IFsmXShjb25zdCBMYXlvdXRUeXBlJiBuZXdPZmZzZXQpIHsK
KyAgICAgICAgICAgIHJldHVybiBzdGQ6OmFicyhmbG9hdCB7IG5ld09mZnNldCAtIHNjcm9sbERl
c3RpbmF0aW9uT2Zmc2V0IH0pOworICAgICAgICB9OworICAgICAgICBhdXRvIHNjcm9sbERlc3Rp
bmF0aW9uRGlzdGFuY2VGcm9tT3JpZ2luYWxPZmZzZXQgPSBkaXN0YW5jZUZyb21PcmlnaW5hbE9m
ZnNldCgqb3JpZ2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBwaW5nKTsKKyAgICAgICAgaWYg
KCghcHJldmlvdXMgfHwgZGlzdGFuY2VGcm9tT3JpZ2luYWxPZmZzZXQoKCpwcmV2aW91cykuZmly
c3QpID4gc2Nyb2xsRGVzdGluYXRpb25EaXN0YW5jZUZyb21PcmlnaW5hbE9mZnNldCkKKyAgICAg
ICAgICAgICYmICghbmV4dCB8fCBkaXN0YW5jZUZyb21PcmlnaW5hbE9mZnNldCgoKm5leHQpLmZp
cnN0KSA+IHNjcm9sbERlc3RpbmF0aW9uRGlzdGFuY2VGcm9tT3JpZ2luYWxPZmZzZXQpKSB7Cisg
ICAgICAgICAgICByZXR1cm4gcGFpckZvck5vU25hcHBpbmc7CisgICAgICAgIH0KKyAgICB9CiAK
ICAgICBhdXRvIGlzTmVhckVub3VnaFRvT2Zmc2V0Rm9yUHJveGltaXR5ID0gWyZdKExheW91dFR5
cGUgY2FuZGlkYXRlU25hcE9mZnNldCkgewogICAgICAgICBpZiAoaW5mby5zdHJpY3RuZXNzICE9
IFNjcm9sbFNuYXBTdHJpY3RuZXNzOjpQcm94aW1pdHkpCkBAIC0xOTAsMzQgKzIyMCwyOSBAQCBz
dGF0aWMgc3RkOjpwYWlyPExheW91dFR5cGUsIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBjbG9z
ZXN0U25hcE9mZnNldFdpdGhJbmZvQQogICAgICAgICByZXR1cm4gc3RkOjphYnMoZmxvYXQge2Nh
bmRpZGF0ZVNuYXBPZmZzZXQgLSBzY3JvbGxEZXN0aW5hdGlvbk9mZnNldH0pIDw9ICh2aWV3cG9y
dExlbmd0aCAqIHJhdGlvT2ZTY3JvbGxQb3J0QXhpc0xlbmd0aFRvQmVDb25zaWRlcmVkRm9yUHJv
eGltaXR5KTsKICAgICB9OwogCi0gICAgaWYgKHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0IDw9IHNu
YXBPZmZzZXRzLmZpcnN0KCkub2Zmc2V0KQotICAgICAgICByZXR1cm4gaXNOZWFyRW5vdWdoVG9P
ZmZzZXRGb3JQcm94aW1pdHkoc25hcE9mZnNldHMuZmlyc3QoKS5vZmZzZXQpID8gc3RkOjptYWtl
X3BhaXIoc25hcE9mZnNldHMuZmlyc3QoKS5vZmZzZXQsIHN0ZDo6bWFrZV9vcHRpb25hbCgwdSkp
IDogcGFpckZvck5vU25hcHBpbmc7Ci0KLSAgICBpZiAoc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQg
Pj0gc25hcE9mZnNldHMubGFzdCgpLm9mZnNldCkgewotICAgICAgICB1bnNpZ25lZCBsYXN0SW5k
ZXggPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc25hcE9mZnNldHMuc2l6ZSgpIC0gMSk7Ci0gICAg
ICAgIHJldHVybiBpc05lYXJFbm91Z2hUb09mZnNldEZvclByb3hpbWl0eShzbmFwT2Zmc2V0cy5s
YXN0KCkub2Zmc2V0KSA/IHN0ZDo6bWFrZV9wYWlyKHNuYXBPZmZzZXRzLmxhc3QoKS5vZmZzZXQs
IHN0ZDo6bWFrZV9vcHRpb25hbChsYXN0SW5kZXgpKSA6IHBhaXJGb3JOb1NuYXBwaW5nOwotICAg
IH0KLQogICAgIGlmIChwcmV2aW91cyAmJiAhaXNOZWFyRW5vdWdoVG9PZmZzZXRGb3JQcm94aW1p
dHkoKCpwcmV2aW91cykuZmlyc3QpKQogICAgICAgICBwcmV2aW91cy5yZXNldCgpOwogICAgIGlm
IChuZXh0ICYmICFpc05lYXJFbm91Z2hUb09mZnNldEZvclByb3hpbWl0eSgoKm5leHQpLmZpcnN0
KSkKICAgICAgICAgbmV4dC5yZXNldCgpOwogCi0gICAgaWYgKG9yaWdpbmFsT2Zmc2V0Rm9yRGly
ZWN0aW9uYWxTbmFwcGluZykgewotICAgICAgICAvLyBGcm9tIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3Mtc2Nyb2xsLXNuYXAtMS8jY2hvb3NpbmcKLSAgICAgICAgLy8gIlVzZXIgYWdlbnRzIG11
c3QgZW5zdXJlIHRoYXQgYSB1c2VyIGNhbiDigJxlc2NhcGXigJ0gYSBzbmFwIHBvc2l0aW9uLCBy
ZWdhcmRsZXNzIG9mIHRoZSBzY3JvbGwKLSAgICAgICAgLy8gbWV0aG9kLiBGb3IgZXhhbXBsZSwg
aWYgdGhlIHNuYXAgdHlwZSBpcyBtYW5kYXRvcnkgYW5kIHRoZSBuZXh0IHNuYXAgcG9zaXRpb24g
aXMgbW9yZSB0aGFuCi0gICAgICAgIC8vIHR3byBzY3JlZW4td2lkdGhzIGF3YXksIGEgbmHDr3Zl
IOKAnGFsd2F5cyBzbmFwIHRvIG5lYXJlc3TigJ0gc2VsZWN0aW9uIGFsZ29yaXRobSBtaWdodCDi
gJx0cmFw4oCdIHRoZQotICAgICAgICAvLwotICAgICAgICAvLyBGb3IgYSBkaXJlY3Rpb25hbCBz
Y3JvbGwsIHdlIG5ldmVyIHNuYXAgYmFjayB0byB0aGUgb3JpZ2luYWwgc2Nyb2xsIHBvc2l0aW9u
IG9yIGJlZm9yZSBpdCwKLSAgICAgICAgLy8gYWx3YXlzIHByZWZlcnJpbmcgdGhlIHNuYXAgb2Zm
c2V0IGluIHRoZSBzY3JvbGwgZGlyZWN0aW9uLgotICAgICAgICBhdXRvJiBvcmlnaW5hbE9mZnNl
dCA9ICpvcmlnaW5hbE9mZnNldEZvckRpcmVjdGlvbmFsU25hcHBpbmc7Ci0gICAgICAgIGlmIChv
cmlnaW5hbE9mZnNldCA8IHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0ICYmIHByZXZpb3VzICYmICgq
cHJldmlvdXMpLmZpcnN0IDw9IG9yaWdpbmFsT2Zmc2V0KQotICAgICAgICAgICAgcHJldmlvdXMu
cmVzZXQoKTsKLSAgICAgICAgaWYgKG9yaWdpbmFsT2Zmc2V0ID4gc2Nyb2xsRGVzdGluYXRpb25P
ZmZzZXQgJiYgbmV4dCAmJiAoKm5leHQpLmZpcnN0ID49IG9yaWdpbmFsT2Zmc2V0KQotICAgICAg
ICAgICAgbmV4dC5yZXNldCgpOworICAgIGlmIChpbmZvLnN0cmljdG5lc3MgPT0gU2Nyb2xsU25h
cFN0cmljdG5lc3M6OlByb3hpbWl0eSAmJiBvcmlnaW5hbE9mZnNldEZvckRpcmVjdGlvbmFsU25h
cHBpbmcuaGFzX3ZhbHVlKCkpIHsKKyAgICAgICAgLy8gSWYgd2UgYXJlIGRvaW5nIGRpcmVjdGlv
bmFsIHNjcm9sbGluZyB3aXRoIHByb3hpbWl0eSBzdHJpY3RuZXNzLCBhbGxvdyBlc2NhcGluZyBp
biBkaXJlY3Rpb25zIHRoYXQgZG9uJ3QgaGF2ZSBhIHZhbGlkCisgICAgICAgIC8vIHNuYXAgcG9p
bnQuIFRoaXMgYWxsb3dzIGVzY2FwaW5nIGludG8gYXJlYXMgdGhhdCBtaWdodCBvdGhlcndpc2Ug
b25seSBiZSByZWFjaGFibGUgd2l0aCBhIG5vbi1kaXJlY3Rpb25hbCBzY3JvbGwuCisgICAgICAg
IGF1dG8gc25hcFBvc2l0aW9uSW5UaGVPdGhlckRpcmVjdGlvbiA9IHZlbG9jaXR5IDwgMCA/IG5l
eHQgOiBwcmV2aW91czsKKyAgICAgICAgYXV0byBzbmFwUG9zaXRpb25JblRoZVNjcm9sbERpcmVj
dGlvbiA9IHZlbG9jaXR5IDwgMCA/IHByZXZpb3VzIDogbmV4dDsKKyAgICAgICAgaWYgKHNuYXBQ
b3NpdGlvbkluVGhlT3RoZXJEaXJlY3Rpb24uaGFzX3ZhbHVlKCkgJiYgKCpzbmFwUG9zaXRpb25J
blRoZU90aGVyRGlyZWN0aW9uKS5maXJzdCA9PSAqb3JpZ2luYWxPZmZzZXRGb3JEaXJlY3Rpb25h
bFNuYXBwaW5nICYmICFzbmFwUG9zaXRpb25JblRoZVNjcm9sbERpcmVjdGlvbi5oYXNfdmFsdWUo
KSkKKyAgICAgICAgICAgIHJldHVybiBwYWlyRm9yTm9TbmFwcGluZzsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBpZiAoc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQgPD0gc25hcE9mZnNldHMuZmlyc3Qo
KS5vZmZzZXQpCisgICAgICAgICAgICByZXR1cm4gaXNOZWFyRW5vdWdoVG9PZmZzZXRGb3JQcm94
aW1pdHkoc25hcE9mZnNldHMuZmlyc3QoKS5vZmZzZXQpID8gc3RkOjptYWtlX3BhaXIoc25hcE9m
ZnNldHMuZmlyc3QoKS5vZmZzZXQsIHN0ZDo6bWFrZV9vcHRpb25hbCgwdSkpIDogcGFpckZvck5v
U25hcHBpbmc7CisgICAgICAgIGlmIChzY3JvbGxEZXN0aW5hdGlvbk9mZnNldCA+PSBzbmFwT2Zm
c2V0cy5sYXN0KCkub2Zmc2V0KSB7CisgICAgICAgICAgICB1bnNpZ25lZCBsYXN0SW5kZXggPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oc25hcE9mZnNldHMuc2l6ZSgpIC0gMSk7CisgICAgICAgICAg
ICByZXR1cm4gaXNOZWFyRW5vdWdoVG9PZmZzZXRGb3JQcm94aW1pdHkoc25hcE9mZnNldHMubGFz
dCgpLm9mZnNldCkgPyBzdGQ6Om1ha2VfcGFpcihzbmFwT2Zmc2V0cy5sYXN0KCkub2Zmc2V0LCBz
dGQ6Om1ha2Vfb3B0aW9uYWwobGFzdEluZGV4KSkgOiBwYWlyRm9yTm9TbmFwcGluZzsKKyAgICAg
ICAgfQogICAgIH0KIAorICAgIGRpc2NhcmRPZmZzZXRzRm9yRGlyZWN0aW9uYWxTbmFwcGluZygp
OworCiAgICAgaWYgKCFwcmV2aW91cyAmJiAhbmV4dCkKICAgICAgICAgcmV0dXJuIHBhaXJGb3JO
b1NuYXBwaW5nOwogICAgIGlmICghcHJldmlvdXMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCA4NzU4ZjllNjQyZGM4Yjg0NTU0ZjhkZTk0ZmE0NmU3ZjUzZjY4NGQzLi4zYmE3Y2E0
MWJkZGMzZTAxYTRmMDA5ZjUxMGYyMWQ5MmMzN2I5ODk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMi0wMy0wNyAgTWFydGluIFJvYmluc29uICA8
bXJvYmluc29uQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW2Nzcy1zY3JvbGwtc25hcF0gSW1wcm92
ZSBzbmFwcGluZyBiZWhhdmlvciB3aXRoIGluY3JlbWVudGFsIGRpcmVjdGlvbmFsIHNjcm9sbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzM2MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvaW5wdXQva2V5Ym9hcmQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL2lu
cHV0L2tleWJvYXJkLmh0bWw6IE1vZGlmaWVkIHRoaXMgdGVzdCB0aGF0IGFzc3VtZWQKKyAgICAg
ICAgeW91IGNhbiBzZW5kIGtleXMgdG8gYSBub24tZm9jdXNhYmxlIGVsZW1lbnQuIFRoZSBXZWJE
cml2ZXIgdGVzdCBzYXlzIHRoYXQgeW91IGNhbiBvbmx5IHNlbmQKKyAgICAgICAga2V5cyB0byBr
ZXlib2FyZC1pbnRlcmFjdGFibGUgZWxlbWVudHMuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qczogV2hlbiBzZW5kaW5nIGtleXMsIGZp
cnN0IGZvY3VzIHRoZSBlbGVtZW50CisgICAgICAgIGluIHF1ZXN0aW9uIHVzaW5nIHRoZSBzYW1l
IHNjcmlwdCBhcyB0aGUgV2ViS2l0IFdlYkRyaXZlci4KKwogMjAyMi0wMy0wMyAgTWFydGluIFJv
Ymluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXBkYXRlIFdQVCBjc3Mt
c2Nyb2xsLXNuYXAgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9pbnB1dC9rZXlib2FyZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2Nyb2xsLXNuYXAvaW5wdXQva2V5Ym9hcmQtZXhwZWN0ZWQudHh0CmluZGV4IGFiMTMw
MjQxNmU1ODQzZWZmNzA3ZTc3ZjU2ZDcwMGRjMGExMDU1YWMuLjcwODBhYzVjN2IyYjVhMzY0ZTY1
ZDFjMmJlMDYwNDRlMzI1YTJlNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9pbnB1dC9rZXlib2FyZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL2lucHV0L2tleWJvYXJkLWV4cGVjdGVkLnR4dApAQCAt
MSwxMiArMSwxMCBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
LQotVElNRU9VVCBTbmFwcyB0byBib3R0b20tbGVmdCBhZnRlciBwcmVzc2luZyBBcnJvd0Rvd24g
VGVzdCB0aW1lZCBvdXQKLU5PVFJVTiBTbmFwcyB0byB0b3AtbGVmdCBhZnRlciBwcmVzc2luZyBB
cnJvd1VwCi1OT1RSVU4gU25hcHMgdG8gdG9wLXJpZ2h0IGFmdGVyIHByZXNzaW5nIEFycm93Umln
aHQKLU5PVFJVTiBTbmFwcyB0byB0b3AtbGVmdCBhZnRlciBwcmVzc2luZyBBcnJvd0xlZnQKLU5P
VFJVTiBJZiB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0IGlzIHZhbGlkIGFzIG1ha2luZyBh
IHNuYXAgYXJlYSBjb3ZlciB0aGVzbmFwcG9ydCwgYW5kIHRoZXJlJ3Mgbm8gb3RoZXIgc25hcCBv
ZmZzZXQgaW4gYmV0d2VlbiwgdXNlIHRoZSBvcmlnaW5hbGludGVuZGVkIG9mZnNldAotTk9UUlVO
IElmIHRoZSBvcmlnaW5hbCBpbnRlbmRlZCBvZmZzZXQgaXMgdmFsaWQgYXMgbWFraW5nIGEgc25h
cCBhcmVhIGNvdmVyIHRoZSBzbmFwcG9ydCwgYnV0IHRoZXJlJ3MgYSBkZWZpbmVkIHNuYXAgb2Zm
c2V0IGluIGJldHdlZW4sIHVzZSB0aGUgZGVmaW5lZCBzbmFwIG9mZnNldC4KLU5PVFJVTiBJZiB0
aGVyZSBpcyBubyB2YWxpZCBzbmFwIG9mZnNldCBvbiB0aGUgYXJyb3cga2V5J3MgZGlyZWN0aW9u
IG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgb2Zmc2V0LCBhbmQgdGhlIHNjcm9sbC1zbmFwLXR5cGUg
aXMgbWFuZGF0b3J5LCBzdGF5IGF0IHRoZSBjdXJyZW50IG9mZnNldC4KLU5PVFJVTiBJZiB0aGVy
ZSBpcyBubyB2YWxpZCBzbmFwIG9mZnNldCBvbiB0aGUgYXJyb3cga2V5J3MgZGlyZWN0aW9uIG90
aGVyIHRoYW4gdGhlIGN1cnJlbnQgb2Zmc2V0LCBhbmQgdGhlIHNjcm9sbC1zbmFwLXR5cGUgaXMg
cHJveGltaXR5LCBnbyB0byB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0CitQQVNTIFNuYXBz
IHRvIGJvdHRvbS1sZWZ0IGFmdGVyIHByZXNzaW5nIEFycm93RG93bgorUEFTUyBTbmFwcyB0byB0
b3AtbGVmdCBhZnRlciBwcmVzc2luZyBBcnJvd1VwCitQQVNTIFNuYXBzIHRvIHRvcC1yaWdodCBh
ZnRlciBwcmVzc2luZyBBcnJvd1JpZ2h0CitQQVNTIFNuYXBzIHRvIHRvcC1sZWZ0IGFmdGVyIHBy
ZXNzaW5nIEFycm93TGVmdAorUEFTUyBJZiB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0IGlz
IHZhbGlkIGFzIG1ha2luZyBhIHNuYXAgYXJlYSBjb3ZlciB0aGVzbmFwcG9ydCwgYW5kIHRoZXJl
J3Mgbm8gb3RoZXIgc25hcCBvZmZzZXQgaW4gYmV0d2VlbiwgdXNlIHRoZSBvcmlnaW5hbGludGVu
ZGVkIG9mZnNldAorUEFTUyBJZiB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0IGlzIHZhbGlk
IGFzIG1ha2luZyBhIHNuYXAgYXJlYSBjb3ZlciB0aGUgc25hcHBvcnQsIGJ1dCB0aGVyZSdzIGEg
ZGVmaW5lZCBzbmFwIG9mZnNldCBpbiBiZXR3ZWVuLCB1c2UgdGhlIGRlZmluZWQgc25hcCBvZmZz
ZXQuCitQQVNTIElmIHRoZXJlIGlzIG5vIHZhbGlkIHNuYXAgb2Zmc2V0IG9uIHRoZSBhcnJvdyBr
ZXkncyBkaXJlY3Rpb24gb3RoZXIgdGhhbiB0aGUgY3VycmVudCBvZmZzZXQsIGFuZCB0aGUgc2Ny
b2xsLXNuYXAtdHlwZSBpcyBtYW5kYXRvcnksIHN0YXkgYXQgdGhlIGN1cnJlbnQgb2Zmc2V0Lgor
UEFTUyBJZiB0aGVyZSBpcyBubyB2YWxpZCBzbmFwIG9mZnNldCBvbiB0aGUgYXJyb3cga2V5J3Mg
ZGlyZWN0aW9uIG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgb2Zmc2V0LCBhbmQgdGhlIHNjcm9sbC1z
bmFwLXR5cGUgaXMgcHJveGltaXR5LCBnbyB0byB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9pbnB1dC9rZXlib2FyZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL2lucHV0
L2tleWJvYXJkLmh0bWwKaW5kZXggYjhhZDNlMDAxZDg4MTgzMmUwMGZlODE1MmMwMGNjOTgxM2Fj
YzhiYi4uN2IwYzZjMDU3NDIwZTk4YjAxMjJjYmNiMmY3NTAyMDM3ZTM3MGUyMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL2lucHV0L2tleWJvYXJkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL2lucHV0L2tleWJvYXJk
Lmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAKIDxzY3JpcHQgc3JjPSIuLi9zdXBwb3J0L2NvbW1vbi5q
cyI+PC9zY3JpcHQ+CiAKIAotPGRpdiBpZD0ic2Nyb2xsZXIiPgorPGRpdiBpZD0ic2Nyb2xsZXIi
IHRhYmluZGV4PSIwIj4KICAgPGRpdiBpZD0ic3BhY2UiPjwvZGl2PgogICA8ZGl2IGNsYXNzPSJz
bmFwIGxlZnQgdG9wIiBpZD0idG9wLWxlZnQiPjwvZGl2PgogICA8ZGl2IGNsYXNzPSJzbmFwIHJp
Z2h0IHRvcCIgaWQ9InRvcC1yaWdodCI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2lucHV0
LWNoYW5nZS1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvaW5wdXQtY2hh
bmdlLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDUwZWZmNjc3MWUyNGUzNDJl
MWRmM2Y1ZTc5M2E2ZTdiMGJjOThmMTcuLjBmZTYxYTUzZjNkNzFiZmYyMzBhNjI5ZDhiN2RlYzA2
N2M0YjBjZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvaW5wdXQtY2hhbmdlLWV2ZW50LXByb3BlcnRp
ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvaW5wdXQtY2hhbmdlLWV2ZW50LXByb3BlcnRp
ZXMtZXhwZWN0ZWQudHh0CkBAIC00LDEzICs0LDEzIEBACiAKIFBBU1MgPGlucHV0IHR5cGU9ImNo
ZWNrYm94Ij4gY2xpY2soKQogUEFTUyA8aW5wdXQgdHlwZT0icmFkaW8iPiBjbGljaygpCi1GQUlM
IDxpbnB1dCB0eXBlPSJ0ZXh0Ij4gdHlwaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ2UuYnViYmxlcycpIgotRkFJTCA8aW5wdXQgdHlwZT0ic2VhcmNo
Ij4gdHlwaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J2UuYnViYmxlcycpIgotRkFJTCA8aW5wdXQgdHlwZT0idGVsIj4gdHlwaW5nIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2UuYnViYmxlcycpIgotRkFJTCA8
aW5wdXQgdHlwZT0idXJsIj4gdHlwaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ2UuYnViYmxlcycpIgotRkFJTCA8aW5wdXQgdHlwZT0iZW1haWwiPiB0
eXBpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZS5i
dWJibGVzJykiCi1GQUlMIDxpbnB1dCB0eXBlPSJwYXNzd29yZCI+IHR5cGluZyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlLmJ1YmJsZXMnKSIKLUZBSUwg
PGlucHV0IHR5cGU9Im51bWJlciI+IHR5cGluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICdlLmJ1YmJsZXMnKSIKLUZBSUwgPHRleHRhcmVhPjwvdGV4dGFy
ZWE+IHR5cGluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICdlLmJ1YmJsZXMnKSIKK1BBU1MgPGlucHV0IHR5cGU9InRleHQiPiB0eXBpbmcKK1BBU1MgPGlu
cHV0IHR5cGU9InNlYXJjaCI+IHR5cGluZworUEFTUyA8aW5wdXQgdHlwZT0idGVsIj4gdHlwaW5n
CitQQVNTIDxpbnB1dCB0eXBlPSJ1cmwiPiB0eXBpbmcKK1BBU1MgPGlucHV0IHR5cGU9ImVtYWls
Ij4gdHlwaW5nCitQQVNTIDxpbnB1dCB0eXBlPSJwYXNzd29yZCI+IHR5cGluZworUEFTUyA8aW5w
dXQgdHlwZT0ibnVtYmVyIj4gdHlwaW5nCitQQVNTIDx0ZXh0YXJlYT48L3RleHRhcmVhPiB0eXBp
bmcKIEZBSUwgPHNlbGVjdD4gcHJlc3NpbmcgZG93biBhcnJvdyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlLmJ1YmJsZXMnKSIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9mb3Jtcy90ZXh0ZmllbGRzZWxlY3Rpb24vc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9y
bXMvdGV4dGZpZWxkc2VsZWN0aW9uL3NlbGVjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYTNlZmQ3
MDYxNWNkYmNkZGYzMjg2YjZjMWY0ZGQ2YmRiM2Y2N2VmZi4uYmUzOGJmMzg0ZWM1MDgzNDAyNzE3
NGZlYjU3NjU2Mzk1N2JiMGM0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90ZXh0ZmllbGRzZWxlY3Rp
b24vc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RleHRmaWVsZHNlbGVjdGlv
bi9zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xMyw0ICsxMyw4IEBAIEZBSUwgdGVzdCBTZWxl
Y3Rpb25FbmQgb2Zmc2V0IGZvciB0ZXh0YXJlYSB0aGF0IGlzIGFwcGVuZGVkIGFzc2VydF9lcXVh
bHM6IFNlbGVjCiBGQUlMIHRlc3QgU2VsZWN0aW9uRW5kIG9mZnNldCBmb3IgdGV4dGFyZWEgdGhh
dCBpcyAgbm90IGFwcGVuZGVkIGFzc2VydF9lcXVhbHM6IFNlbGVjdGlvbkVuZCBvZmZzZXQgd2l0
aG91dCBzZWxlY3Rpb24gaW4gdGV4dGFyZWEtbm90LWFwcGVuZGVkIGV4cGVjdGVkIDEwIGJ1dCBn
b3QgMAogUEFTUyB0ZXN0IFNlbGVjdGlvbkRpcmVjdGlvbiBmb3IgaW5wdXQKIFBBU1MgdGVzdCBT
ZWxlY3Rpb25EaXJlY3Rpb24gZm9yIHRleHRhcmVhCitQQVNTIHRlc3Qgc2Nyb2xsTGVmdCBmb3Ig
aW5wdXQKK1BBU1MgdGVzdCBzY3JvbGxMZWZ0IHByZXNlcnZhdGlvbiBmb3IgaW5wdXQKK1BBU1Mg
dGVzdCBjb250YWluZXIuc2Nyb2xsVG9wIGZvciBpbnB1dAorUEFTUyB0ZXN0IGNvbnRhaW5lci5z
Y3JvbGxUb3AgZm9yIHRleHRhcmVhCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLWlucHV0LWVs
ZW1lbnQvZGVmYXVsdFZhbHVlLWNsb2JiZXJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUt
aW5wdXQtZWxlbWVudC9kZWZhdWx0VmFsdWUtY2xvYmJlcmluZy1leHBlY3RlZC50eHQKaW5kZXgg
NDk0ZmNhMzNkOTY1NzFjY2QwYjIyYWZkYjZmYWNkNGUwODZjMGUwNi4uMWNkZWRiMjZjMWE5Mzg1
ZGMxNTEzM2YyNjNmNTkzZGM3ZTNiYzJjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtaW5wdXQt
ZWxlbWVudC9kZWZhdWx0VmFsdWUtY2xvYmJlcmluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jt
cy90aGUtaW5wdXQtZWxlbWVudC9kZWZhdWx0VmFsdWUtY2xvYmJlcmluZy1leHBlY3RlZC50eHQK
QEAgLTEsNiArMSw2IEBACiBlbWFpbCB3aXRoIGxlYWRpbmcgd2hpdGVzcGFjZToKIG51bWJlciB3
aXRoIHRyYWlsaW5nIGluY29tcGxldGUgZXhwb25lbnQ6CiAKLUZBSUwgVmlzaWJsZSB2YWx1ZSBh
bmQgdmFsaWRpdHkgc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCB3aGVuIGFzc2lnbmluZyB0byB0aGUg
ZGVmYXVsdFZhbHVlIHByb3BlcnR5IGZvciB0eXBlPWVtYWlsLiBhc3NlcnRfZmFsc2U6ICIgIHVz
ZXIiIHNob3VsZCBub3QgYmUgYSB2YWxpZCB2YWx1ZSBmb3IgdHlwZT1lbWFpbC4gZXhwZWN0ZWQg
ZmFsc2UgZ290IHRydWUKLUZBSUwgVmlzaWJsZSB2YWx1ZSBhbmQgdmFsaWRpdHkgc2hvdWxkIG5v
dCBiZSBhZmZlY3RlZCB3aGVuIGFzc2lnbmluZyB0byB0aGUgZGVmYXVsdFZhbHVlIHByb3BlcnR5
IGZvciB0eXBlPW51bWJlci4gYXNzZXJ0X2ZhbHNlOiAiMTIzZSIgc2hvdWxkIG5vdCBiZSBhIHZh
bGlkIHZhbHVlIGZvciB0eXBlPW51bWJlci4gZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1Mg
VmlzaWJsZSB2YWx1ZSBhbmQgdmFsaWRpdHkgc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCB3aGVuIGFz
c2lnbmluZyB0byB0aGUgZGVmYXVsdFZhbHVlIHByb3BlcnR5IGZvciB0eXBlPWVtYWlsLgorUEFT
UyBWaXNpYmxlIHZhbHVlIGFuZCB2YWxpZGl0eSBzaG91bGQgbm90IGJlIGFmZmVjdGVkIHdoZW4g
YXNzaWduaW5nIHRvIHRoZSBkZWZhdWx0VmFsdWUgcHJvcGVydHkgZm9yIHR5cGU9bnVtYmVyLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1pbnB1dC1lbGVtZW50L2VtYWlsLXNldC12YWx1ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1pbnB1dC1lbGVtZW50L2VtYWlsLXNldC12YWx1ZS1l
eHBlY3RlZC50eHQKaW5kZXggMjNkYTgwYzU2YmE3NjBmY2UxMjcwMzUyOTEyOTkzZmFiMWJkMWVm
MC4uNDQ4OWQzODRjYjhhZDhhZWY3OWU0NWI3ZDg5YjU1NjhmYjBjMjE5MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9mb3Jtcy90aGUtaW5wdXQtZWxlbWVudC9lbWFpbC1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvdGhlLWlucHV0LWVsZW1lbnQvZW1haWwtc2V0LXZhbHVlLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIHNldFZhbHVlKHNhbml0aXplZFZhbHVlKSBpcyBy
ZWZsZWN0ZWQgaW4gdmlzaWJsZSB0ZXh0IGZpZWxkIGNvbnRlbnQgYXNzZXJ0X2VxdWFsczogdmFs
dWUgaXMgc2FuaXRpemVkIGV4cGVjdGVkICJmb29AYmFyIiBidXQgZ290ICIiCitGQUlMIHNldFZh
bHVlKHNhbml0aXplZFZhbHVlKSBpcyByZWZsZWN0ZWQgaW4gdmlzaWJsZSB0ZXh0IGZpZWxkIGNv
bnRlbnQgYXNzZXJ0X2VxdWFsczogdmlzaWJsZSB2YWx1ZSBpcyBzYW5pdGl6ZWQgYWZ0ZXIgc2V0
VmFsdWUoc2FuaXRpemVkKSBleHBlY3RlZCAiZm9vQGJhciIgYnV0IGdvdCAiIGZvb0BiYXIgICAi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLWlucHV0LWVsZW1lbnQvbWF4bGVuZ3RoLW51bWJl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1pbnB1dC1lbGVtZW50L21heGxlbmd0aC1udW1i
ZXItZXhwZWN0ZWQudHh0CmluZGV4IDA4NTkzYTMyMmU0MGJmMzc2NGU4NTcwMzIxMzhmZDI4M2E5
MzYwOWQuLmNkNzk3ZTM2YzdmNjQwOTI4NmUzZGJjNmE3N2M3ZTc4YmIyYTg0MWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvdGhlLWlucHV0LWVsZW1lbnQvbWF4bGVuZ3RoLW51bWJlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9mb3Jtcy90aGUtaW5wdXQtZWxlbWVudC9tYXhsZW5ndGgtbnVtYmVyLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIG1heGxlbmd0aCBkb2Vzbid0IGFwcGx5
IHRvIGlucHV0IHR5cGU9bnVtYmVyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxMjM0IiBidXQg
Z290ICIiCitQQVNTIG1heGxlbmd0aCBkb2Vzbid0IGFwcGx5IHRvIGlucHV0IHR5cGU9bnVtYmVy
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLWlucHV0LWVsZW1lbnQvcmFkaW8tZG91YmxlLWFj
dGl2YXRlLXBzZXVkby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1pbnB1dC1lbGVtZW50L3Jh
ZGlvLWRvdWJsZS1hY3RpdmF0ZS1wc2V1ZG8tZXhwZWN0ZWQudHh0CmluZGV4IDVjNGU3NDc2MDky
Y2E1NzU4Njk0MzA0ZjViZmZhMTg0N2ViYTBlNTcuLjQ0YWI1OGNhYjAzNzJiYTFmMDkyODdhNzY1
MWQ3NTU3NGRhYWEyMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLWlucHV0LWVsZW1lbnQvcmFk
aW8tZG91YmxlLWFjdGl2YXRlLXBzZXVkby1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUt
aW5wdXQtZWxlbWVudC9yYWRpby1kb3VibGUtYWN0aXZhdGUtcHNldWRvLWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKIAogCi1QQVNTIDxpbnB1dCB0eXBlPXJhZGlvPiBzaG91bGRuJ3QgaGF2
ZSB0aGUgOmFjdGl2ZSBwc2V1ZG8gZWxlbWVudCBhZnRlciBwcmVzc2luZyB0aGUgc3BhY2ViYXIg
dHdpY2UuCitGQUlMIDxpbnB1dCB0eXBlPXJhZGlvPiBzaG91bGRuJ3QgaGF2ZSB0aGUgOmFjdGl2
ZSBwc2V1ZG8gZWxlbWVudCBhZnRlciBwcmVzc2luZyB0aGUgc3BhY2ViYXIgdHdpY2UuIGFzc2Vy
dF9lcXVhbHM6IElmIHRoZSByYWRpbyBkb2Vzbid0IGhhdmUgdGhlIDphY3RpdmUgcHNldWRvIHNl
bGVjdG9yLCBub3RoaW5nIGVsc2Ugc2hvdWxkIGVpdGhlci4gZXhwZWN0ZWQgbnVsbCBidXQgZ290
IEVsZW1lbnQgbm9kZSA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpb2lucHV0Ij48L2lucHV0
PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCmlu
ZGV4IDRkZTQwNWNmZWQzN2FjYmJiZGExMWJjMzQ5NWZkZDk3NzMyMjJkNjQuLjNhMTc3ZTI3NDFl
YzQ5MWYwN2ZjODU5Y2Y1YzlkYjY2Y2I1NmM0ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCkBAIC0xNDgsMTEgKzE0OCw0NCBAQCBmdW5jdGlv
biBkaXNwYXRjaFRvdWNoQWN0aW9ucyhhY3Rpb25zLCBvcHRpb25zID0geyBpbnNlcnRQYXVzZUFm
dGVyUG9pbnRlclVwOiBmYQogaWYgKHdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbCA9PT0gdW5k
ZWZpbmVkKQogICAgIHdpbmRvdy50ZXN0X2RyaXZlcl9pbnRlcm5hbCA9IHsgfTsKIAorCisvLyBU
aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgb25lIHVzZWQgaW4g
V2ViRHJpdmVyLgorZnVuY3Rpb24gZm9jdXNFbGVtZW50Rm9yU2VuZEtleXMoZWxlbWVudCkgewor
ICAgIC8vIEZJWE1FOiBUaGVyZSBhcmUgc3RpbGwgc29tZSBpc3N1ZXMgd2hlbiBydW5uaW5nIHRo
aXMgY29kZSBvbiB0aGUgYm9keSBlbGVtZW50LiBUaGVzZQorICAgIC8vIG5lZWQgZnVydGhlciBp
bnZlc3RpZ2F0aW9uLgorICAgIGlmIChlbGVtZW50ID09IGRvY3VtZW50LmJvZHkpCisgICAgICAg
IHJldHVybjsKKworICAgIGxldCBkb2MgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQgfHwgZWxlbWVu
dDsKKyAgICBsZXQgcHJldkFjdGl2ZUVsZW1lbnQgPSBkb2MuYWN0aXZlRWxlbWVudDsKKyAgICBs
ZXQgZWxlbWVudFJvb3ROb2RlID0gZWxlbWVudC5nZXRSb290Tm9kZSgpOworICAgIGlmIChlbGVt
ZW50Um9vdE5vZGUuYWN0aXZlRWxlbWVudCAhPT0gZWxlbWVudCAmJiBwcmV2QWN0aXZlRWxlbWVu
dCkKKyAgICAgICAgcHJldkFjdGl2ZUVsZW1lbnQuYmx1cigpOworICAgIGVsZW1lbnQuZm9jdXMo
KTsKKworICAgIGxldCB0YWdOYW1lID0gZWxlbWVudC50YWdOYW1lLnRvVXBwZXJDYXNlKCk7Cisg
ICAgaWYgKHRhZ05hbWUgPT09ICdCT0RZJyB8fCBlbGVtZW50ID09PSBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGxldCBpc1RleHRFbGVtZW50ID0gdGFn
TmFtZSA9PT0gJ1RFWFRBUkVBJyB8fCAodGFnTmFtZSA9PT0gJ0lOUFVUJyAmJiBlbGVtZW50LnR5
cGUgPT09ICd0ZXh0Jyk7CisgICAgaWYgKGlzVGV4dEVsZW1lbnQgJiYgZWxlbWVudC5zZWxlY3Rp
b25FbmQgPT0gMCkKKyAgICAgICAgZWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShlbGVtZW50LnZh
bHVlLmxlbmd0aCwgZWxlbWVudC52YWx1ZS5sZW5ndGgpOworCisgICAgaWYgKGVsZW1lbnRSb290
Tm9kZS5hY3RpdmVFbGVtZW50ICE9PSBlbGVtZW50KSB7CisgICAgICAgIHRocm93IHsKKyAgICAg
ICAgICAgIG5hbWU6ICdFbGVtZW50Tm90SW50ZXJhY3RhYmxlJywKKyAgICAgICAgICAgIG1lc3Nh
Z2U6ICdFbGVtZW50IGlzIG5vdCBmb2N1c2FibGUuJworICAgICAgICB9OworICAgIH0KK30KKwog
d2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLnNlbmRfa2V5cyA9IGZ1bmN0aW9uKGVsZW1lbnQs
IGtleXMpCiB7CiAgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCiAgICAgICAgIHJldHVybiBQ
cm9taXNlLnJlamVjdChuZXcgRXJyb3IoIndpbmRvdy5ldmVudFNlbmRlciBpcyB1bmRlZmluZWQu
IikpOwogCisgICAgZm9jdXNFbGVtZW50Rm9yU2VuZEtleXMoZWxlbWVudCk7CisKICAgICAvLyBo
dHRwczovL3NlbGVuaXVtaHEuZ2l0aHViLmlvL3NlbGVuaXVtL2RvY3MvYXBpL3B5L3dlYmRyaXZl
ci9zZWxlbml1bS53ZWJkcml2ZXIuY29tbW9uLmtleXMuaHRtbAogICAgIC8vIEZJWE1FOiBBZGQg
bW9yZSBjYXNlcy4KICAgICBjb25zdCBTZWxlbml1bUNoYXJDb2RlVG9FdmVudFNlbmRlcktleSA9
IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457896</attachid>
            <date>2022-04-19 08:38:42 -0700</date>
            <delta_ts>2022-04-20 00:38:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237360-20220419173840.patch</filename>
            <type>text/plain</type>
            <size>11176</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxYjExNmMyMTA4NWYz
ZGE1NDJhNDNlZDgxNDU3ZTE1N2E3NjFiMi4uYTUzMDQ3MGJiMzM1YmE5YWNiN2I5MmJhYjJkMWQ1
NDQyOTBhYTAxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTA0LTE5ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBbY3NzLXNjcm9s
bC1zbmFwXSBJbXByb3ZlIHNuYXBwaW5nIGJlaGF2aW9yIHdpdGggaW5jcmVtZW50YWwgZGlyZWN0
aW9uYWwgc2Nyb2xscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3MzYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MDAyNDIxNT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRo
aXMgaXMgY292ZXJlZCBieSBhbiBleGlzdGluZyBXUFQgdGVzdC4KKworICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
bG9zZXN0U25hcE9mZnNldFdpdGhJbmZvQW5kQXhpcyk6IEltcHJvdmUgaW5jcmVtZW50YWwgZGly
ZWN0aW9uIHNjcm9sbHMgKHN1Y2ggYXMgc2Nyb2xsaW5nCisgICAgICAgIHdpdGggdGhlIGtleWJv
YXJkIGFycm93IGtleSkgaW4gYSBjb3VwbGUgd2F5cy4gRmlyc3QsIGRvbid0IHNraXAgcGFzdCBp
bnRlcm1lZGlhdGUgc25hcCBwb2ludHMgdGhhdAorICAgICAgICBoYXBwZW4gdG8gYmUgaW4gdGhl
IG1pZGRsZSBvZiBsb25nIHNjcm9sbCBzbmFwIGFyZWFzLiBTZWNvbmQsIGFsbG93IGVzY2FwaW5n
IGludG8gYXJlYXMgd2l0aG91dCB2YWxpZAorICAgICAgICBzbmFwIHBvaW50cyB3aGVuIHVzaW5n
IHByb3hpbWl0eSBzbmFwcGluZyB3aXRoIGRpcmVjdGlvbmFsIHNjcm9sbHMuCisKIDIwMjItMDQt
MTkgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
U3RyZWFtZXJdIFJ1bnRpbWUgd2FybmluZyB3aGVuIHRoZSBwbGF5ZXIgY29uZmlndXJlcyB0aGUg
YXZkZWMgQVYxIGRlY29kZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uY3BwCmluZGV4IGVkZWI0MjZmZGQ0ZTg2Y2VlNjUx
NjYxODFmMWEyZjdkMGViNmY3ZmMuLjE5NjVjYmQwZjlkYjFhODliZDc3NmVjZGZlYzMzNWY5MTEy
ZDYyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbFNu
YXBPZmZzZXRzSW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsU25hcE9mZnNldHNJbmZvLmNwcApAQCAtMTcxLDE0ICsxNzEsNDQgQEAgc3RhdGljIHN0ZDo6
cGFpcjxMYXlvdXRUeXBlLCBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPj4gY2xvc2VzdFNuYXBPZmZz
ZXRXaXRoSW5mb0EKICAgICBhdXRvJiBwcmV2aW91cyA9IHNlYXJjaFJlc3VsdC5wcmV2aW91czsK
ICAgICBhdXRvJiBuZXh0ID0gc2VhcmNoUmVzdWx0Lm5leHQ7CiAKKyAgICBhdXRvIGRpc2NhcmRP
ZmZzZXRzRm9yRGlyZWN0aW9uYWxTbmFwcGluZyA9IFsmXSgpIHsKKyAgICAgICAgaWYgKG9yaWdp
bmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGluZykgeworICAgICAgICAgICAgLy8gRnJvbSBo
dHRwczovL3d3dy53My5vcmcvVFIvY3NzLXNjcm9sbC1zbmFwLTEvI2Nob29zaW5nCisgICAgICAg
ICAgICAvLyAiVXNlciBhZ2VudHMgbXVzdCBlbnN1cmUgdGhhdCBhIHVzZXIgY2FuIOKAnGVzY2Fw
ZeKAnSBhIHNuYXAgcG9zaXRpb24sIHJlZ2FyZGxlc3Mgb2YgdGhlIHNjcm9sbAorICAgICAgICAg
ICAgLy8gbWV0aG9kLiBGb3IgZXhhbXBsZSwgaWYgdGhlIHNuYXAgdHlwZSBpcyBtYW5kYXRvcnkg
YW5kIHRoZSBuZXh0IHNuYXAgcG9zaXRpb24gaXMgbW9yZSB0aGFuCisgICAgICAgICAgICAvLyB0
d28gc2NyZWVuLXdpZHRocyBhd2F5LCBhIG5hw692ZSDigJxhbHdheXMgc25hcCB0byBuZWFyZXN0
4oCdIHNlbGVjdGlvbiBhbGdvcml0aG0gbWlnaHQg4oCcdHJhcOKAnSB0aGUKKyAgICAgICAgICAg
IC8vCisgICAgICAgICAgICAvLyBGb3IgYSBkaXJlY3Rpb25hbCBzY3JvbGwsIHdlIG5ldmVyIHNu
YXAgYmFjayB0byB0aGUgb3JpZ2luYWwgc2Nyb2xsIHBvc2l0aW9uIG9yIGJlZm9yZSBpdCwKKyAg
ICAgICAgICAgIC8vIGFsd2F5cyBwcmVmZXJyaW5nIHRoZSBzbmFwIG9mZnNldCBpbiB0aGUgc2Ny
b2xsIGRpcmVjdGlvbi4KKyAgICAgICAgICAgIGF1dG8mIG9yaWdpbmFsT2Zmc2V0ID0gKm9yaWdp
bmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGluZzsKKyAgICAgICAgICAgIGlmIChvcmlnaW5h
bE9mZnNldCA8IHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0ICYmIHByZXZpb3VzICYmICgqcHJldmlv
dXMpLmZpcnN0IDw9IG9yaWdpbmFsT2Zmc2V0KQorICAgICAgICAgICAgICAgIHByZXZpb3VzLnJl
c2V0KCk7CisgICAgICAgICAgICBpZiAob3JpZ2luYWxPZmZzZXQgPiBzY3JvbGxEZXN0aW5hdGlv
bk9mZnNldCAmJiBuZXh0ICYmICgqbmV4dCkuZmlyc3QgPj0gb3JpZ2luYWxPZmZzZXQpCisgICAg
ICAgICAgICAgICAgbmV4dC5yZXNldCgpOworICAgICAgICB9CisgICAgfTsKKwogICAgIC8vIEZy
b20gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1zY3JvbGwtc25hcC0xLyNzbmFwLW92ZXJmbG93
CiAgICAgLy8gIklmIHRoZSBzbmFwIGFyZWEgaXMgbGFyZ2VyIHRoYW4gdGhlIHNuYXBwb3J0IGlu
IGEgcGFydGljdWxhciBheGlzLCB0aGVuIGFueSBzY3JvbGwgcG9zaXRpb24KICAgICAvLyBpbiB3
aGljaCB0aGUgc25hcCBhcmVhIGNvdmVycyB0aGUgc25hcHBvcnQsIGFuZCB0aGUgZGlzdGFuY2Ug
YmV0d2VlbiB0aGUgZ2VvbWV0cmljYWxseQogICAgIC8vIHByZXZpb3VzIGFuZCBzdWJzZXF1ZW50
IHNuYXAgcG9zaXRpb25zIGluIHRoYXQgYXhpcyBpcyBsYXJnZXIgdGhhbiBzaXplIG9mIHRoZSBz
bmFwcG9ydCBpbgogICAgIC8vIHRoYXQgYXhpcywgaXMgYSB2YWxpZCBzbmFwIHBvc2l0aW9uIGlu
IHRoYXQgYXhpcy4gVGhlIFVBIG1heSB1c2UgdGhlIHNwZWNpZmllZCBhbGlnbm1lbnQgYXMgYQog
ICAgIC8vIG1vcmUgcHJlY2lzZSB0YXJnZXQgZm9yIGNlcnRhaW4gc2Nyb2xsIG9wZXJhdGlvbnMg
KGUuZy4gZXhwbGljaXQgcGFnaW5nKS4iCi0gICAgaWYgKHNlYXJjaFJlc3VsdC5sYW5kZWRJbnNp
ZGVTbmFwQXJlYVRoYXRDb25zdW1lc1ZpZXdwb3J0ICYmICghcHJldmlvdXMgfHwgIW5leHQgfHwg
KCgqbmV4dCkuZmlyc3QgLSAoKnByZXZpb3VzKS5maXJzdCkgPj0gdmlld3BvcnRMZW5ndGgpKQot
ICAgICAgICByZXR1cm4gcGFpckZvck5vU25hcHBpbmc7CisgICAgaWYgKHNlYXJjaFJlc3VsdC5s
YW5kZWRJbnNpZGVTbmFwQXJlYVRoYXRDb25zdW1lc1ZpZXdwb3J0ICYmICghcHJldmlvdXMgfHwg
IW5leHQgfHwgKCgqbmV4dCkuZmlyc3QgLSAoKnByZXZpb3VzKS5maXJzdCkgPj0gdmlld3BvcnRM
ZW5ndGgpKSB7CisgICAgICAgIGlmICghb3JpZ2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBw
aW5nKQorICAgICAgICAgICAgcmV0dXJuIHBhaXJGb3JOb1NuYXBwaW5nOworCisgICAgICAgIC8v
IFdlIG9ubHkgcmV0dXJuIGEgcG9zaXRpb24gaW4gdGhpcyBsYXJnZSBzbmFwIGFyZWEgaWYgdGhl
cmUgaXNuJ3QgYSBjbG9zZXIgc25hcCBwb2ludCBpbiB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzY3Jv
bGwuCisgICAgICAgIGRpc2NhcmRPZmZzZXRzRm9yRGlyZWN0aW9uYWxTbmFwcGluZygpOworICAg
ICAgICBhdXRvIGRpc3RhbmNlRnJvbU9yaWdpbmFsT2Zmc2V0ID0gWyZdKGNvbnN0IExheW91dFR5
cGUmIG5ld09mZnNldCkgeworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6YWJzKGZsb2F0IHsgbmV3
T2Zmc2V0IC0gc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQgfSk7CisgICAgICAgIH07CisgICAgICAg
IGF1dG8gc2Nyb2xsRGVzdGluYXRpb25EaXN0YW5jZUZyb21PcmlnaW5hbE9mZnNldCA9IGRpc3Rh
bmNlRnJvbU9yaWdpbmFsT2Zmc2V0KCpvcmlnaW5hbE9mZnNldEZvckRpcmVjdGlvbmFsU25hcHBp
bmcpOworICAgICAgICBpZiAoKCFwcmV2aW91cyB8fCBkaXN0YW5jZUZyb21PcmlnaW5hbE9mZnNl
dCgoKnByZXZpb3VzKS5maXJzdCkgPiBzY3JvbGxEZXN0aW5hdGlvbkRpc3RhbmNlRnJvbU9yaWdp
bmFsT2Zmc2V0KQorICAgICAgICAgICAgJiYgKCFuZXh0IHx8IGRpc3RhbmNlRnJvbU9yaWdpbmFs
T2Zmc2V0KCgqbmV4dCkuZmlyc3QpID4gc2Nyb2xsRGVzdGluYXRpb25EaXN0YW5jZUZyb21Pcmln
aW5hbE9mZnNldCkpIHsKKyAgICAgICAgICAgIHJldHVybiBwYWlyRm9yTm9TbmFwcGluZzsKKyAg
ICAgICAgfQorICAgIH0KIAogICAgIGF1dG8gaXNOZWFyRW5vdWdoVG9PZmZzZXRGb3JQcm94aW1p
dHkgPSBbJl0oTGF5b3V0VHlwZSBjYW5kaWRhdGVTbmFwT2Zmc2V0KSB7CiAgICAgICAgIGlmIChp
bmZvLnN0cmljdG5lc3MgIT0gU2Nyb2xsU25hcFN0cmljdG5lc3M6OlByb3hpbWl0eSkKQEAgLTE5
MCwzNCArMjIwLDI5IEBAIHN0YXRpYyBzdGQ6OnBhaXI8TGF5b3V0VHlwZSwgc3RkOjpvcHRpb25h
bDx1bnNpZ25lZD4+IGNsb3Nlc3RTbmFwT2Zmc2V0V2l0aEluZm9BCiAgICAgICAgIHJldHVybiBz
dGQ6OmFicyhmbG9hdCB7Y2FuZGlkYXRlU25hcE9mZnNldCAtIHNjcm9sbERlc3RpbmF0aW9uT2Zm
c2V0fSkgPD0gKHZpZXdwb3J0TGVuZ3RoICogcmF0aW9PZlNjcm9sbFBvcnRBeGlzTGVuZ3RoVG9C
ZUNvbnNpZGVyZWRGb3JQcm94aW1pdHkpOwogICAgIH07CiAKLSAgICBpZiAoc2Nyb2xsRGVzdGlu
YXRpb25PZmZzZXQgPD0gc25hcE9mZnNldHMuZmlyc3QoKS5vZmZzZXQpCi0gICAgICAgIHJldHVy
biBpc05lYXJFbm91Z2hUb09mZnNldEZvclByb3hpbWl0eShzbmFwT2Zmc2V0cy5maXJzdCgpLm9m
ZnNldCkgPyBzdGQ6Om1ha2VfcGFpcihzbmFwT2Zmc2V0cy5maXJzdCgpLm9mZnNldCwgc3RkOjpt
YWtlX29wdGlvbmFsKDB1KSkgOiBwYWlyRm9yTm9TbmFwcGluZzsKLQotICAgIGlmIChzY3JvbGxE
ZXN0aW5hdGlvbk9mZnNldCA+PSBzbmFwT2Zmc2V0cy5sYXN0KCkub2Zmc2V0KSB7Ci0gICAgICAg
IHVuc2lnbmVkIGxhc3RJbmRleCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzbmFwT2Zmc2V0cy5z
aXplKCkgLSAxKTsKLSAgICAgICAgcmV0dXJuIGlzTmVhckVub3VnaFRvT2Zmc2V0Rm9yUHJveGlt
aXR5KHNuYXBPZmZzZXRzLmxhc3QoKS5vZmZzZXQpID8gc3RkOjptYWtlX3BhaXIoc25hcE9mZnNl
dHMubGFzdCgpLm9mZnNldCwgc3RkOjptYWtlX29wdGlvbmFsKGxhc3RJbmRleCkpIDogcGFpckZv
ck5vU25hcHBpbmc7Ci0gICAgfQotCiAgICAgaWYgKHByZXZpb3VzICYmICFpc05lYXJFbm91Z2hU
b09mZnNldEZvclByb3hpbWl0eSgoKnByZXZpb3VzKS5maXJzdCkpCiAgICAgICAgIHByZXZpb3Vz
LnJlc2V0KCk7CiAgICAgaWYgKG5leHQgJiYgIWlzTmVhckVub3VnaFRvT2Zmc2V0Rm9yUHJveGlt
aXR5KCgqbmV4dCkuZmlyc3QpKQogICAgICAgICBuZXh0LnJlc2V0KCk7CiAKLSAgICBpZiAob3Jp
Z2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBwaW5nKSB7Ci0gICAgICAgIC8vIEZyb20gaHR0
cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1zY3JvbGwtc25hcC0xLyNjaG9vc2luZwotICAgICAgICAv
LyAiVXNlciBhZ2VudHMgbXVzdCBlbnN1cmUgdGhhdCBhIHVzZXIgY2FuIOKAnGVzY2FwZeKAnSBh
IHNuYXAgcG9zaXRpb24sIHJlZ2FyZGxlc3Mgb2YgdGhlIHNjcm9sbAotICAgICAgICAvLyBtZXRo
b2QuIEZvciBleGFtcGxlLCBpZiB0aGUgc25hcCB0eXBlIGlzIG1hbmRhdG9yeSBhbmQgdGhlIG5l
eHQgc25hcCBwb3NpdGlvbiBpcyBtb3JlIHRoYW4KLSAgICAgICAgLy8gdHdvIHNjcmVlbi13aWR0
aHMgYXdheSwgYSBuYcOvdmUg4oCcYWx3YXlzIHNuYXAgdG8gbmVhcmVzdOKAnSBzZWxlY3Rpb24g
YWxnb3JpdGhtIG1pZ2h0IOKAnHRyYXDigJ0gdGhlCi0gICAgICAgIC8vCi0gICAgICAgIC8vIEZv
ciBhIGRpcmVjdGlvbmFsIHNjcm9sbCwgd2UgbmV2ZXIgc25hcCBiYWNrIHRvIHRoZSBvcmlnaW5h
bCBzY3JvbGwgcG9zaXRpb24gb3IgYmVmb3JlIGl0LAotICAgICAgICAvLyBhbHdheXMgcHJlZmVy
cmluZyB0aGUgc25hcCBvZmZzZXQgaW4gdGhlIHNjcm9sbCBkaXJlY3Rpb24uCi0gICAgICAgIGF1
dG8mIG9yaWdpbmFsT2Zmc2V0ID0gKm9yaWdpbmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGlu
ZzsKLSAgICAgICAgaWYgKG9yaWdpbmFsT2Zmc2V0IDwgc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQg
JiYgcHJldmlvdXMgJiYgKCpwcmV2aW91cykuZmlyc3QgPD0gb3JpZ2luYWxPZmZzZXQpCi0gICAg
ICAgICAgICBwcmV2aW91cy5yZXNldCgpOwotICAgICAgICBpZiAob3JpZ2luYWxPZmZzZXQgPiBz
Y3JvbGxEZXN0aW5hdGlvbk9mZnNldCAmJiBuZXh0ICYmICgqbmV4dCkuZmlyc3QgPj0gb3JpZ2lu
YWxPZmZzZXQpCi0gICAgICAgICAgICBuZXh0LnJlc2V0KCk7CisgICAgaWYgKGluZm8uc3RyaWN0
bmVzcyA9PSBTY3JvbGxTbmFwU3RyaWN0bmVzczo6UHJveGltaXR5ICYmIG9yaWdpbmFsT2Zmc2V0
Rm9yRGlyZWN0aW9uYWxTbmFwcGluZy5oYXNfdmFsdWUoKSkgeworICAgICAgICAvLyBJZiB3ZSBh
cmUgZG9pbmcgZGlyZWN0aW9uYWwgc2Nyb2xsaW5nIHdpdGggcHJveGltaXR5IHN0cmljdG5lc3Ms
IGFsbG93IGVzY2FwaW5nIGluIGRpcmVjdGlvbnMgdGhhdCBkb24ndCBoYXZlIGEgdmFsaWQKKyAg
ICAgICAgLy8gc25hcCBwb2ludC4gVGhpcyBhbGxvd3MgZXNjYXBpbmcgaW50byBhcmVhcyB0aGF0
IG1pZ2h0IG90aGVyd2lzZSBvbmx5IGJlIHJlYWNoYWJsZSB3aXRoIGEgbm9uLWRpcmVjdGlvbmFs
IHNjcm9sbC4KKyAgICAgICAgYXV0byBzbmFwUG9zaXRpb25JblRoZU90aGVyRGlyZWN0aW9uID0g
dmVsb2NpdHkgPCAwID8gbmV4dCA6IHByZXZpb3VzOworICAgICAgICBhdXRvIHNuYXBQb3NpdGlv
bkluVGhlU2Nyb2xsRGlyZWN0aW9uID0gdmVsb2NpdHkgPCAwID8gcHJldmlvdXMgOiBuZXh0Owor
ICAgICAgICBpZiAoc25hcFBvc2l0aW9uSW5UaGVPdGhlckRpcmVjdGlvbi5oYXNfdmFsdWUoKSAm
JiAoKnNuYXBQb3NpdGlvbkluVGhlT3RoZXJEaXJlY3Rpb24pLmZpcnN0ID09ICpvcmlnaW5hbE9m
ZnNldEZvckRpcmVjdGlvbmFsU25hcHBpbmcgJiYgIXNuYXBQb3NpdGlvbkluVGhlU2Nyb2xsRGly
ZWN0aW9uLmhhc192YWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHBhaXJGb3JOb1NuYXBwaW5n
OworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChzY3JvbGxEZXN0aW5hdGlvbk9mZnNldCA8PSBz
bmFwT2Zmc2V0cy5maXJzdCgpLm9mZnNldCkKKyAgICAgICAgICAgIHJldHVybiBpc05lYXJFbm91
Z2hUb09mZnNldEZvclByb3hpbWl0eShzbmFwT2Zmc2V0cy5maXJzdCgpLm9mZnNldCkgPyBzdGQ6
Om1ha2VfcGFpcihzbmFwT2Zmc2V0cy5maXJzdCgpLm9mZnNldCwgc3RkOjptYWtlX29wdGlvbmFs
KDB1KSkgOiBwYWlyRm9yTm9TbmFwcGluZzsKKyAgICAgICAgaWYgKHNjcm9sbERlc3RpbmF0aW9u
T2Zmc2V0ID49IHNuYXBPZmZzZXRzLmxhc3QoKS5vZmZzZXQpIHsKKyAgICAgICAgICAgIHVuc2ln
bmVkIGxhc3RJbmRleCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzbmFwT2Zmc2V0cy5zaXplKCkg
LSAxKTsKKyAgICAgICAgICAgIHJldHVybiBpc05lYXJFbm91Z2hUb09mZnNldEZvclByb3hpbWl0
eShzbmFwT2Zmc2V0cy5sYXN0KCkub2Zmc2V0KSA/IHN0ZDo6bWFrZV9wYWlyKHNuYXBPZmZzZXRz
Lmxhc3QoKS5vZmZzZXQsIHN0ZDo6bWFrZV9vcHRpb25hbChsYXN0SW5kZXgpKSA6IHBhaXJGb3JO
b1NuYXBwaW5nOworICAgICAgICB9CiAgICAgfQogCisgICAgZGlzY2FyZE9mZnNldHNGb3JEaXJl
Y3Rpb25hbFNuYXBwaW5nKCk7CisKICAgICBpZiAoIXByZXZpb3VzICYmICFuZXh0KQogICAgICAg
ICByZXR1cm4gcGFpckZvck5vU25hcHBpbmc7CiAgICAgaWYgKCFwcmV2aW91cykKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0
MjljY2IxMGY4ZGY5ODdiMzI5ZGQzZWU3ZGI2OTIyMGQ2ZjBhYjM5Li5iMWI4Zjc2NWZkOGU4NzQx
OTA0MjQ1NDFmZmJjZjA0N2QzNDM3ODVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDQt
MTkgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtj
c3Mtc2Nyb2xsLXNuYXBdIEltcHJvdmUgc25hcHBpbmcgYmVoYXZpb3Igd2l0aCBpbmNyZW1lbnRh
bCBkaXJlY3Rpb25hbCBzY3JvbGxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzczNjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkwMDI0MjE1Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9pbnB1dC9rZXlib2FyZC1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMTkgIFRpbSBOZ3V5ZW4g
IDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBBbHNvIHNraXAgcmVzaXplLW9ydGhv
Z29uYWwtY29udGFpbmluZy1ibG9jay5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL2lucHV0L2tleWJvYXJkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvaW5w
dXQva2V5Ym9hcmQtZXhwZWN0ZWQudHh0CmluZGV4IDkyZjYzMDYxMjcwMzg2MWFhOGEwY2U1NmZm
NGY2YjdiOWMzODYwZjYuLmZiNTc0ODNhMzQxZTdiOWEyMjg5NjE1YmRiOTkwZjlhMGY0OWExYjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvaW5wdXQva2V5Ym9hcmQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvaW5wdXQva2V5Ym9hcmQtZXhwZWN0ZWQudHh0
CkBAIC0xLDEyICsxLDEwIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0g
bnVsbAotCiBGQUlMIFNuYXBzIHRvIGJvdHRvbS1sZWZ0IGFmdGVyIHByZXNzaW5nIEFycm93RG93
biBhc3NlcnRfZ3JlYXRlcl90aGFuOiBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMiBi
dXQgZ290IDAKIEZBSUwgU25hcHMgdG8gdG9wLWxlZnQgYWZ0ZXIgcHJlc3NpbmcgQXJyb3dVcCBh
c3NlcnRfZ3JlYXRlcl90aGFuOiBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMiBidXQg
Z290IDAKIEZBSUwgU25hcHMgdG8gdG9wLXJpZ2h0IGFmdGVyIHByZXNzaW5nIEFycm93UmlnaHQg
YXNzZXJ0X2dyZWF0ZXJfdGhhbjogZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDIgYnV0
IGdvdCAwCiBGQUlMIFNuYXBzIHRvIHRvcC1sZWZ0IGFmdGVyIHByZXNzaW5nIEFycm93TGVmdCBh
c3NlcnRfZ3JlYXRlcl90aGFuOiBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMiBidXQg
Z290IDAKIFBBU1MgSWYgdGhlIG9yaWdpbmFsIGludGVuZGVkIG9mZnNldCBpcyB2YWxpZCBhcyBt
YWtpbmcgYSBzbmFwIGFyZWEgY292ZXIgdGhlc25hcHBvcnQsIGFuZCB0aGVyZSdzIG5vIG90aGVy
IHNuYXAgb2Zmc2V0IGluIGJldHdlZW4sIHVzZSB0aGUgb3JpZ2luYWxpbnRlbmRlZCBvZmZzZXQK
LVRJTUVPVVQgSWYgdGhlIG9yaWdpbmFsIGludGVuZGVkIG9mZnNldCBpcyB2YWxpZCBhcyBtYWtp
bmcgYSBzbmFwIGFyZWEgY292ZXIgdGhlIHNuYXBwb3J0LCBidXQgdGhlcmUncyBhIGRlZmluZWQg
c25hcCBvZmZzZXQgaW4gYmV0d2VlbiwgdXNlIHRoZSBkZWZpbmVkIHNuYXAgb2Zmc2V0LiBUZXN0
IHRpbWVkIG91dAotTk9UUlVOIElmIHRoZXJlIGlzIG5vIHZhbGlkIHNuYXAgb2Zmc2V0IG9uIHRo
ZSBhcnJvdyBrZXkncyBkaXJlY3Rpb24gb3RoZXIgdGhhbiB0aGUgY3VycmVudCBvZmZzZXQsIGFu
ZCB0aGUgc2Nyb2xsLXNuYXAtdHlwZSBpcyBtYW5kYXRvcnksIHN0YXkgYXQgdGhlIGN1cnJlbnQg
b2Zmc2V0LgotTk9UUlVOIElmIHRoZXJlIGlzIG5vIHZhbGlkIHNuYXAgb2Zmc2V0IG9uIHRoZSBh
cnJvdyBrZXkncyBkaXJlY3Rpb24gb3RoZXIgdGhhbiB0aGUgY3VycmVudCBvZmZzZXQsIGFuZCB0
aGUgc2Nyb2xsLXNuYXAtdHlwZSBpcyBwcm94aW1pdHksIGdvIHRvIHRoZSBvcmlnaW5hbCBpbnRl
bmRlZCBvZmZzZXQKK1BBU1MgSWYgdGhlIG9yaWdpbmFsIGludGVuZGVkIG9mZnNldCBpcyB2YWxp
ZCBhcyBtYWtpbmcgYSBzbmFwIGFyZWEgY292ZXIgdGhlIHNuYXBwb3J0LCBidXQgdGhlcmUncyBh
IGRlZmluZWQgc25hcCBvZmZzZXQgaW4gYmV0d2VlbiwgdXNlIHRoZSBkZWZpbmVkIHNuYXAgb2Zm
c2V0LgorUEFTUyBJZiB0aGVyZSBpcyBubyB2YWxpZCBzbmFwIG9mZnNldCBvbiB0aGUgYXJyb3cg
a2V5J3MgZGlyZWN0aW9uIG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgb2Zmc2V0LCBhbmQgdGhlIHNj
cm9sbC1zbmFwLXR5cGUgaXMgbWFuZGF0b3J5LCBzdGF5IGF0IHRoZSBjdXJyZW50IG9mZnNldC4K
K1BBU1MgSWYgdGhlcmUgaXMgbm8gdmFsaWQgc25hcCBvZmZzZXQgb24gdGhlIGFycm93IGtleSdz
IGRpcmVjdGlvbiBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9mZnNldCwgYW5kIHRoZSBzY3JvbGwt
c25hcC10eXBlIGlzIHByb3hpbWl0eSwgZ28gdG8gdGhlIG9yaWdpbmFsIGludGVuZGVkIG9mZnNl
dAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457966</attachid>
            <date>2022-04-20 00:38:24 -0700</date>
            <delta_ts>2022-05-17 02:36:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237360-20220420093823.patch</filename>
            <type>text/plain</type>
            <size>13941</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVhZWZiYWU5MTNmYjgz
M2FiN2RmNzM5OThjNDgyMjhlNDEzOTI4Yy4uNDU5OTVhZjhkMWY2Y2JjZWYzNjMzMWRkMjhiOGI2
YWI4ZGE2NGRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTA0LTE5ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBbY3NzLXNjcm9s
bC1zbmFwXSBJbXByb3ZlIHNuYXBwaW5nIGJlaGF2aW9yIHdpdGggaW5jcmVtZW50YWwgZGlyZWN0
aW9uYWwgc2Nyb2xscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3MzYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MDAyNDIxNT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRo
aXMgaXMgY292ZXJlZCBieSBhbiBleGlzdGluZyBXUFQgdGVzdC4KKworICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
bG9zZXN0U25hcE9mZnNldFdpdGhJbmZvQW5kQXhpcyk6IEltcHJvdmUgaW5jcmVtZW50YWwgZGly
ZWN0aW9uIHNjcm9sbHMgKHN1Y2ggYXMgc2Nyb2xsaW5nCisgICAgICAgIHdpdGggdGhlIGtleWJv
YXJkIGFycm93IGtleSkgaW4gYSBjb3VwbGUgd2F5cy4gRmlyc3QsIGRvbid0IHNraXAgcGFzdCBp
bnRlcm1lZGlhdGUgc25hcCBwb2ludHMgdGhhdAorICAgICAgICBoYXBwZW4gdG8gYmUgaW4gdGhl
IG1pZGRsZSBvZiBsb25nIHNjcm9sbCBzbmFwIGFyZWFzLiBTZWNvbmQsIGFsbG93IGVzY2FwaW5n
IGludG8gYXJlYXMgd2l0aG91dCB2YWxpZAorICAgICAgICBzbmFwIHBvaW50cyB3aGVuIHVzaW5n
IHByb3hpbWl0eSBzbmFwcGluZyB3aXRoIGRpcmVjdGlvbmFsIHNjcm9sbHMuCisKIDIwMjItMDQt
MTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZW1vdmUgdW5uZWNlc3NhcnkgU3RyaW5nIGFsbG9jYXRpb25zIGluIENTU1ByaW1pdGl2ZVZh
bHVlOjp1bml0VHlwZVN0cmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsU25hcE9mZnNldHNJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5jcHAKaW5kZXggZWRlYjQyNmZkZDRlODZjZWU2
NTE2NjE4MWYxYTJmN2QwZWI2ZjdmYy4uMTk2NWNiZDBmOWRiMWE4OWJkNzc2ZWNkZmVjMzM1Zjkx
MTJkNjI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
U25hcE9mZnNldHNJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxTbmFwT2Zmc2V0c0luZm8uY3BwCkBAIC0xNzEsMTQgKzE3MSw0NCBAQCBzdGF0aWMgc3Rk
OjpwYWlyPExheW91dFR5cGUsIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBjbG9zZXN0U25hcE9m
ZnNldFdpdGhJbmZvQQogICAgIGF1dG8mIHByZXZpb3VzID0gc2VhcmNoUmVzdWx0LnByZXZpb3Vz
OwogICAgIGF1dG8mIG5leHQgPSBzZWFyY2hSZXN1bHQubmV4dDsKIAorICAgIGF1dG8gZGlzY2Fy
ZE9mZnNldHNGb3JEaXJlY3Rpb25hbFNuYXBwaW5nID0gWyZdKCkgeworICAgICAgICBpZiAob3Jp
Z2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBwaW5nKSB7CisgICAgICAgICAgICAvLyBGcm9t
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3Mtc2Nyb2xsLXNuYXAtMS8jY2hvb3NpbmcKKyAgICAg
ICAgICAgIC8vICJVc2VyIGFnZW50cyBtdXN0IGVuc3VyZSB0aGF0IGEgdXNlciBjYW4g4oCcZXNj
YXBl4oCdIGEgc25hcCBwb3NpdGlvbiwgcmVnYXJkbGVzcyBvZiB0aGUgc2Nyb2xsCisgICAgICAg
ICAgICAvLyBtZXRob2QuIEZvciBleGFtcGxlLCBpZiB0aGUgc25hcCB0eXBlIGlzIG1hbmRhdG9y
eSBhbmQgdGhlIG5leHQgc25hcCBwb3NpdGlvbiBpcyBtb3JlIHRoYW4KKyAgICAgICAgICAgIC8v
IHR3byBzY3JlZW4td2lkdGhzIGF3YXksIGEgbmHDr3ZlIOKAnGFsd2F5cyBzbmFwIHRvIG5lYXJl
c3TigJ0gc2VsZWN0aW9uIGFsZ29yaXRobSBtaWdodCDigJx0cmFw4oCdIHRoZQorICAgICAgICAg
ICAgLy8KKyAgICAgICAgICAgIC8vIEZvciBhIGRpcmVjdGlvbmFsIHNjcm9sbCwgd2UgbmV2ZXIg
c25hcCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBzY3JvbGwgcG9zaXRpb24gb3IgYmVmb3JlIGl0LAor
ICAgICAgICAgICAgLy8gYWx3YXlzIHByZWZlcnJpbmcgdGhlIHNuYXAgb2Zmc2V0IGluIHRoZSBz
Y3JvbGwgZGlyZWN0aW9uLgorICAgICAgICAgICAgYXV0byYgb3JpZ2luYWxPZmZzZXQgPSAqb3Jp
Z2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBwaW5nOworICAgICAgICAgICAgaWYgKG9yaWdp
bmFsT2Zmc2V0IDwgc2Nyb2xsRGVzdGluYXRpb25PZmZzZXQgJiYgcHJldmlvdXMgJiYgKCpwcmV2
aW91cykuZmlyc3QgPD0gb3JpZ2luYWxPZmZzZXQpCisgICAgICAgICAgICAgICAgcHJldmlvdXMu
cmVzZXQoKTsKKyAgICAgICAgICAgIGlmIChvcmlnaW5hbE9mZnNldCA+IHNjcm9sbERlc3RpbmF0
aW9uT2Zmc2V0ICYmIG5leHQgJiYgKCpuZXh0KS5maXJzdCA+PSBvcmlnaW5hbE9mZnNldCkKKyAg
ICAgICAgICAgICAgICBuZXh0LnJlc2V0KCk7CisgICAgICAgIH0KKyAgICB9OworCiAgICAgLy8g
RnJvbSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXNjcm9sbC1zbmFwLTEvI3NuYXAtb3ZlcmZs
b3cKICAgICAvLyAiSWYgdGhlIHNuYXAgYXJlYSBpcyBsYXJnZXIgdGhhbiB0aGUgc25hcHBvcnQg
aW4gYSBwYXJ0aWN1bGFyIGF4aXMsIHRoZW4gYW55IHNjcm9sbCBwb3NpdGlvbgogICAgIC8vIGlu
IHdoaWNoIHRoZSBzbmFwIGFyZWEgY292ZXJzIHRoZSBzbmFwcG9ydCwgYW5kIHRoZSBkaXN0YW5j
ZSBiZXR3ZWVuIHRoZSBnZW9tZXRyaWNhbGx5CiAgICAgLy8gcHJldmlvdXMgYW5kIHN1YnNlcXVl
bnQgc25hcCBwb3NpdGlvbnMgaW4gdGhhdCBheGlzIGlzIGxhcmdlciB0aGFuIHNpemUgb2YgdGhl
IHNuYXBwb3J0IGluCiAgICAgLy8gdGhhdCBheGlzLCBpcyBhIHZhbGlkIHNuYXAgcG9zaXRpb24g
aW4gdGhhdCBheGlzLiBUaGUgVUEgbWF5IHVzZSB0aGUgc3BlY2lmaWVkIGFsaWdubWVudCBhcyBh
CiAgICAgLy8gbW9yZSBwcmVjaXNlIHRhcmdldCBmb3IgY2VydGFpbiBzY3JvbGwgb3BlcmF0aW9u
cyAoZS5nLiBleHBsaWNpdCBwYWdpbmcpLiIKLSAgICBpZiAoc2VhcmNoUmVzdWx0LmxhbmRlZElu
c2lkZVNuYXBBcmVhVGhhdENvbnN1bWVzVmlld3BvcnQgJiYgKCFwcmV2aW91cyB8fCAhbmV4dCB8
fCAoKCpuZXh0KS5maXJzdCAtICgqcHJldmlvdXMpLmZpcnN0KSA+PSB2aWV3cG9ydExlbmd0aCkp
Ci0gICAgICAgIHJldHVybiBwYWlyRm9yTm9TbmFwcGluZzsKKyAgICBpZiAoc2VhcmNoUmVzdWx0
LmxhbmRlZEluc2lkZVNuYXBBcmVhVGhhdENvbnN1bWVzVmlld3BvcnQgJiYgKCFwcmV2aW91cyB8
fCAhbmV4dCB8fCAoKCpuZXh0KS5maXJzdCAtICgqcHJldmlvdXMpLmZpcnN0KSA+PSB2aWV3cG9y
dExlbmd0aCkpIHsKKyAgICAgICAgaWYgKCFvcmlnaW5hbE9mZnNldEZvckRpcmVjdGlvbmFsU25h
cHBpbmcpCisgICAgICAgICAgICByZXR1cm4gcGFpckZvck5vU25hcHBpbmc7CisKKyAgICAgICAg
Ly8gV2Ugb25seSByZXR1cm4gYSBwb3NpdGlvbiBpbiB0aGlzIGxhcmdlIHNuYXAgYXJlYSBpZiB0
aGVyZSBpc24ndCBhIGNsb3NlciBzbmFwIHBvaW50IGluIHRoZSBkaXJlY3Rpb24gb2YgdGhlIHNj
cm9sbC4KKyAgICAgICAgZGlzY2FyZE9mZnNldHNGb3JEaXJlY3Rpb25hbFNuYXBwaW5nKCk7Cisg
ICAgICAgIGF1dG8gZGlzdGFuY2VGcm9tT3JpZ2luYWxPZmZzZXQgPSBbJl0oY29uc3QgTGF5b3V0
VHlwZSYgbmV3T2Zmc2V0KSB7CisgICAgICAgICAgICByZXR1cm4gc3RkOjphYnMoZmxvYXQgeyBu
ZXdPZmZzZXQgLSBzY3JvbGxEZXN0aW5hdGlvbk9mZnNldCB9KTsKKyAgICAgICAgfTsKKyAgICAg
ICAgYXV0byBzY3JvbGxEZXN0aW5hdGlvbkRpc3RhbmNlRnJvbU9yaWdpbmFsT2Zmc2V0ID0gZGlz
dGFuY2VGcm9tT3JpZ2luYWxPZmZzZXQoKm9yaWdpbmFsT2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFw
cGluZyk7CisgICAgICAgIGlmICgoIXByZXZpb3VzIHx8IGRpc3RhbmNlRnJvbU9yaWdpbmFsT2Zm
c2V0KCgqcHJldmlvdXMpLmZpcnN0KSA+IHNjcm9sbERlc3RpbmF0aW9uRGlzdGFuY2VGcm9tT3Jp
Z2luYWxPZmZzZXQpCisgICAgICAgICAgICAmJiAoIW5leHQgfHwgZGlzdGFuY2VGcm9tT3JpZ2lu
YWxPZmZzZXQoKCpuZXh0KS5maXJzdCkgPiBzY3JvbGxEZXN0aW5hdGlvbkRpc3RhbmNlRnJvbU9y
aWdpbmFsT2Zmc2V0KSkgeworICAgICAgICAgICAgcmV0dXJuIHBhaXJGb3JOb1NuYXBwaW5nOwor
ICAgICAgICB9CisgICAgfQogCiAgICAgYXV0byBpc05lYXJFbm91Z2hUb09mZnNldEZvclByb3hp
bWl0eSA9IFsmXShMYXlvdXRUeXBlIGNhbmRpZGF0ZVNuYXBPZmZzZXQpIHsKICAgICAgICAgaWYg
KGluZm8uc3RyaWN0bmVzcyAhPSBTY3JvbGxTbmFwU3RyaWN0bmVzczo6UHJveGltaXR5KQpAQCAt
MTkwLDM0ICsyMjAsMjkgQEAgc3RhdGljIHN0ZDo6cGFpcjxMYXlvdXRUeXBlLCBzdGQ6Om9wdGlv
bmFsPHVuc2lnbmVkPj4gY2xvc2VzdFNuYXBPZmZzZXRXaXRoSW5mb0EKICAgICAgICAgcmV0dXJu
IHN0ZDo6YWJzKGZsb2F0IHtjYW5kaWRhdGVTbmFwT2Zmc2V0IC0gc2Nyb2xsRGVzdGluYXRpb25P
ZmZzZXR9KSA8PSAodmlld3BvcnRMZW5ndGggKiByYXRpb09mU2Nyb2xsUG9ydEF4aXNMZW5ndGhU
b0JlQ29uc2lkZXJlZEZvclByb3hpbWl0eSk7CiAgICAgfTsKIAotICAgIGlmIChzY3JvbGxEZXN0
aW5hdGlvbk9mZnNldCA8PSBzbmFwT2Zmc2V0cy5maXJzdCgpLm9mZnNldCkKLSAgICAgICAgcmV0
dXJuIGlzTmVhckVub3VnaFRvT2Zmc2V0Rm9yUHJveGltaXR5KHNuYXBPZmZzZXRzLmZpcnN0KCku
b2Zmc2V0KSA/IHN0ZDo6bWFrZV9wYWlyKHNuYXBPZmZzZXRzLmZpcnN0KCkub2Zmc2V0LCBzdGQ6
Om1ha2Vfb3B0aW9uYWwoMHUpKSA6IHBhaXJGb3JOb1NuYXBwaW5nOwotCi0gICAgaWYgKHNjcm9s
bERlc3RpbmF0aW9uT2Zmc2V0ID49IHNuYXBPZmZzZXRzLmxhc3QoKS5vZmZzZXQpIHsKLSAgICAg
ICAgdW5zaWduZWQgbGFzdEluZGV4ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHNuYXBPZmZzZXRz
LnNpemUoKSAtIDEpOwotICAgICAgICByZXR1cm4gaXNOZWFyRW5vdWdoVG9PZmZzZXRGb3JQcm94
aW1pdHkoc25hcE9mZnNldHMubGFzdCgpLm9mZnNldCkgPyBzdGQ6Om1ha2VfcGFpcihzbmFwT2Zm
c2V0cy5sYXN0KCkub2Zmc2V0LCBzdGQ6Om1ha2Vfb3B0aW9uYWwobGFzdEluZGV4KSkgOiBwYWly
Rm9yTm9TbmFwcGluZzsKLSAgICB9Ci0KICAgICBpZiAocHJldmlvdXMgJiYgIWlzTmVhckVub3Vn
aFRvT2Zmc2V0Rm9yUHJveGltaXR5KCgqcHJldmlvdXMpLmZpcnN0KSkKICAgICAgICAgcHJldmlv
dXMucmVzZXQoKTsKICAgICBpZiAobmV4dCAmJiAhaXNOZWFyRW5vdWdoVG9PZmZzZXRGb3JQcm94
aW1pdHkoKCpuZXh0KS5maXJzdCkpCiAgICAgICAgIG5leHQucmVzZXQoKTsKIAotICAgIGlmIChv
cmlnaW5hbE9mZnNldEZvckRpcmVjdGlvbmFsU25hcHBpbmcpIHsKLSAgICAgICAgLy8gRnJvbSBo
dHRwczovL3d3dy53My5vcmcvVFIvY3NzLXNjcm9sbC1zbmFwLTEvI2Nob29zaW5nCi0gICAgICAg
IC8vICJVc2VyIGFnZW50cyBtdXN0IGVuc3VyZSB0aGF0IGEgdXNlciBjYW4g4oCcZXNjYXBl4oCd
IGEgc25hcCBwb3NpdGlvbiwgcmVnYXJkbGVzcyBvZiB0aGUgc2Nyb2xsCi0gICAgICAgIC8vIG1l
dGhvZC4gRm9yIGV4YW1wbGUsIGlmIHRoZSBzbmFwIHR5cGUgaXMgbWFuZGF0b3J5IGFuZCB0aGUg
bmV4dCBzbmFwIHBvc2l0aW9uIGlzIG1vcmUgdGhhbgotICAgICAgICAvLyB0d28gc2NyZWVuLXdp
ZHRocyBhd2F5LCBhIG5hw692ZSDigJxhbHdheXMgc25hcCB0byBuZWFyZXN04oCdIHNlbGVjdGlv
biBhbGdvcml0aG0gbWlnaHQg4oCcdHJhcOKAnSB0aGUKLSAgICAgICAgLy8KLSAgICAgICAgLy8g
Rm9yIGEgZGlyZWN0aW9uYWwgc2Nyb2xsLCB3ZSBuZXZlciBzbmFwIGJhY2sgdG8gdGhlIG9yaWdp
bmFsIHNjcm9sbCBwb3NpdGlvbiBvciBiZWZvcmUgaXQsCi0gICAgICAgIC8vIGFsd2F5cyBwcmVm
ZXJyaW5nIHRoZSBzbmFwIG9mZnNldCBpbiB0aGUgc2Nyb2xsIGRpcmVjdGlvbi4KLSAgICAgICAg
YXV0byYgb3JpZ2luYWxPZmZzZXQgPSAqb3JpZ2luYWxPZmZzZXRGb3JEaXJlY3Rpb25hbFNuYXBw
aW5nOwotICAgICAgICBpZiAob3JpZ2luYWxPZmZzZXQgPCBzY3JvbGxEZXN0aW5hdGlvbk9mZnNl
dCAmJiBwcmV2aW91cyAmJiAoKnByZXZpb3VzKS5maXJzdCA8PSBvcmlnaW5hbE9mZnNldCkKLSAg
ICAgICAgICAgIHByZXZpb3VzLnJlc2V0KCk7Ci0gICAgICAgIGlmIChvcmlnaW5hbE9mZnNldCA+
IHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0ICYmIG5leHQgJiYgKCpuZXh0KS5maXJzdCA+PSBvcmln
aW5hbE9mZnNldCkKLSAgICAgICAgICAgIG5leHQucmVzZXQoKTsKKyAgICBpZiAoaW5mby5zdHJp
Y3RuZXNzID09IFNjcm9sbFNuYXBTdHJpY3RuZXNzOjpQcm94aW1pdHkgJiYgb3JpZ2luYWxPZmZz
ZXRGb3JEaXJlY3Rpb25hbFNuYXBwaW5nLmhhc192YWx1ZSgpKSB7CisgICAgICAgIC8vIElmIHdl
IGFyZSBkb2luZyBkaXJlY3Rpb25hbCBzY3JvbGxpbmcgd2l0aCBwcm94aW1pdHkgc3RyaWN0bmVz
cywgYWxsb3cgZXNjYXBpbmcgaW4gZGlyZWN0aW9ucyB0aGF0IGRvbid0IGhhdmUgYSB2YWxpZAor
ICAgICAgICAvLyBzbmFwIHBvaW50LiBUaGlzIGFsbG93cyBlc2NhcGluZyBpbnRvIGFyZWFzIHRo
YXQgbWlnaHQgb3RoZXJ3aXNlIG9ubHkgYmUgcmVhY2hhYmxlIHdpdGggYSBub24tZGlyZWN0aW9u
YWwgc2Nyb2xsLgorICAgICAgICBhdXRvIHNuYXBQb3NpdGlvbkluVGhlT3RoZXJEaXJlY3Rpb24g
PSB2ZWxvY2l0eSA8IDAgPyBuZXh0IDogcHJldmlvdXM7CisgICAgICAgIGF1dG8gc25hcFBvc2l0
aW9uSW5UaGVTY3JvbGxEaXJlY3Rpb24gPSB2ZWxvY2l0eSA8IDAgPyBwcmV2aW91cyA6IG5leHQ7
CisgICAgICAgIGlmIChzbmFwUG9zaXRpb25JblRoZU90aGVyRGlyZWN0aW9uLmhhc192YWx1ZSgp
ICYmICgqc25hcFBvc2l0aW9uSW5UaGVPdGhlckRpcmVjdGlvbikuZmlyc3QgPT0gKm9yaWdpbmFs
T2Zmc2V0Rm9yRGlyZWN0aW9uYWxTbmFwcGluZyAmJiAhc25hcFBvc2l0aW9uSW5UaGVTY3JvbGxE
aXJlY3Rpb24uaGFzX3ZhbHVlKCkpCisgICAgICAgICAgICByZXR1cm4gcGFpckZvck5vU25hcHBp
bmc7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHNjcm9sbERlc3RpbmF0aW9uT2Zmc2V0IDw9
IHNuYXBPZmZzZXRzLmZpcnN0KCkub2Zmc2V0KQorICAgICAgICAgICAgcmV0dXJuIGlzTmVhckVu
b3VnaFRvT2Zmc2V0Rm9yUHJveGltaXR5KHNuYXBPZmZzZXRzLmZpcnN0KCkub2Zmc2V0KSA/IHN0
ZDo6bWFrZV9wYWlyKHNuYXBPZmZzZXRzLmZpcnN0KCkub2Zmc2V0LCBzdGQ6Om1ha2Vfb3B0aW9u
YWwoMHUpKSA6IHBhaXJGb3JOb1NuYXBwaW5nOworICAgICAgICBpZiAoc2Nyb2xsRGVzdGluYXRp
b25PZmZzZXQgPj0gc25hcE9mZnNldHMubGFzdCgpLm9mZnNldCkgeworICAgICAgICAgICAgdW5z
aWduZWQgbGFzdEluZGV4ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHNuYXBPZmZzZXRzLnNpemUo
KSAtIDEpOworICAgICAgICAgICAgcmV0dXJuIGlzTmVhckVub3VnaFRvT2Zmc2V0Rm9yUHJveGlt
aXR5KHNuYXBPZmZzZXRzLmxhc3QoKS5vZmZzZXQpID8gc3RkOjptYWtlX3BhaXIoc25hcE9mZnNl
dHMubGFzdCgpLm9mZnNldCwgc3RkOjptYWtlX29wdGlvbmFsKGxhc3RJbmRleCkpIDogcGFpckZv
ck5vU25hcHBpbmc7CisgICAgICAgIH0KICAgICB9CiAKKyAgICBkaXNjYXJkT2Zmc2V0c0ZvckRp
cmVjdGlvbmFsU25hcHBpbmcoKTsKKwogICAgIGlmICghcHJldmlvdXMgJiYgIW5leHQpCiAgICAg
ICAgIHJldHVybiBwYWlyRm9yTm9TbmFwcGluZzsKICAgICBpZiAoIXByZXZpb3VzKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDU1ZmJhMTY0MjI3NjEwZTZiNGMzMWZmNDIzN2E2ODBlOTJjNWE5MGYuLjgxNzgzOWIzYmE2Y2My
ZjViOWQ5Y2M3ZjZlOGZiMzhiN2JjOGIzZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0w
NC0xOSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
W2Nzcy1zY3JvbGwtc25hcF0gSW1wcm92ZSBzbmFwcGluZyBiZWhhdmlvciB3aXRoIGluY3JlbWVu
dGFsIGRpcmVjdGlvbmFsIHNjcm9sbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNzM2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTAwMjQyMTU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL2lucHV0L2tleWJvYXJkLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0xOSAgS2FybCBSYWNr
bGVyICA8cmFja2xlckBhcHBsZS5jb20+CiAKICAgICAgICAgW1JlbGVhc2Ugd2syIGFybTY0XSBm
YXN0L3NlbGVjdG9ycy9zZWxlY3Rpb24td2luZG93LWluYWN0aXZlLXN0cm9rZS1jb2xvci5odG1s
IGlzIGEgZmxha3kgaW1hZ2Utb25seSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCA3ZGU5NTUxN2ZjYzI2YTU5MTQ2ODFhNjg0MDEwOTEyNTQwYzI4YWQzLi45MGU0Mzcz
OTUxMzE3ZGQ0ZWZlNmQ5MmZjODMyZTQzYmNiMDhmZDFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wNC0xOSAgTWFydGluIFJvYmluc29uICA8
bXJvYmluc29uQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW2Nzcy1zY3JvbGwtc25hcF0gSW1wcm92
ZSBzbmFwcGluZyBiZWhhdmlvciB3aXRoIGluY3JlbWVudGFsIGRpcmVjdGlvbmFsIHNjcm9sbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzM2MAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTAwMjQyMTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
Y3JvbGwtc25hcC9pbnB1dC9rZXlib2FyZC1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMTkgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBs
ZW1lbnQgbW9zdCBvZiBDU1MgdHlwZWQgT00gb2JqZWN0IHN0cmluZ2lmaWVycwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL2lucHV0L2tleWJvYXJkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9pbnB1dC9rZXli
b2FyZC1leHBlY3RlZC50eHQKaW5kZXggNjYxY2NhOGJjNjFlOTMzNjZiZGQ1N2Q0YjQyNWY5NGU3
ZWVkZDA3NC4uNzA4MGFjNWM3YjJiNWEzNjRlNjVkMWMyYmUwNjA0NGUzMjVhMmU2ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL2lucHV0L2tleWJvYXJkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvaW5w
dXQva2V5Ym9hcmQtZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEwIEBACiAKLUhhcm5lc3MgRXJy
b3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCiBQQVNTIFNuYXBzIHRvIGJvdHRvbS1sZWZ0
IGFmdGVyIHByZXNzaW5nIEFycm93RG93bgogUEFTUyBTbmFwcyB0byB0b3AtbGVmdCBhZnRlciBw
cmVzc2luZyBBcnJvd1VwCiBQQVNTIFNuYXBzIHRvIHRvcC1yaWdodCBhZnRlciBwcmVzc2luZyBB
cnJvd1JpZ2h0CiBQQVNTIFNuYXBzIHRvIHRvcC1sZWZ0IGFmdGVyIHByZXNzaW5nIEFycm93TGVm
dAogUEFTUyBJZiB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0IGlzIHZhbGlkIGFzIG1ha2lu
ZyBhIHNuYXAgYXJlYSBjb3ZlciB0aGVzbmFwcG9ydCwgYW5kIHRoZXJlJ3Mgbm8gb3RoZXIgc25h
cCBvZmZzZXQgaW4gYmV0d2VlbiwgdXNlIHRoZSBvcmlnaW5hbGludGVuZGVkIG9mZnNldAotVElN
RU9VVCBJZiB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0IGlzIHZhbGlkIGFzIG1ha2luZyBh
IHNuYXAgYXJlYSBjb3ZlciB0aGUgc25hcHBvcnQsIGJ1dCB0aGVyZSdzIGEgZGVmaW5lZCBzbmFw
IG9mZnNldCBpbiBiZXR3ZWVuLCB1c2UgdGhlIGRlZmluZWQgc25hcCBvZmZzZXQuIFRlc3QgdGlt
ZWQgb3V0Ci1OT1RSVU4gSWYgdGhlcmUgaXMgbm8gdmFsaWQgc25hcCBvZmZzZXQgb24gdGhlIGFy
cm93IGtleSdzIGRpcmVjdGlvbiBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9mZnNldCwgYW5kIHRo
ZSBzY3JvbGwtc25hcC10eXBlIGlzIG1hbmRhdG9yeSwgc3RheSBhdCB0aGUgY3VycmVudCBvZmZz
ZXQuCi1OT1RSVU4gSWYgdGhlcmUgaXMgbm8gdmFsaWQgc25hcCBvZmZzZXQgb24gdGhlIGFycm93
IGtleSdzIGRpcmVjdGlvbiBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9mZnNldCwgYW5kIHRoZSBz
Y3JvbGwtc25hcC10eXBlIGlzIHByb3hpbWl0eSwgZ28gdG8gdGhlIG9yaWdpbmFsIGludGVuZGVk
IG9mZnNldAorUEFTUyBJZiB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0IGlzIHZhbGlkIGFz
IG1ha2luZyBhIHNuYXAgYXJlYSBjb3ZlciB0aGUgc25hcHBvcnQsIGJ1dCB0aGVyZSdzIGEgZGVm
aW5lZCBzbmFwIG9mZnNldCBpbiBiZXR3ZWVuLCB1c2UgdGhlIGRlZmluZWQgc25hcCBvZmZzZXQu
CitQQVNTIElmIHRoZXJlIGlzIG5vIHZhbGlkIHNuYXAgb2Zmc2V0IG9uIHRoZSBhcnJvdyBrZXkn
cyBkaXJlY3Rpb24gb3RoZXIgdGhhbiB0aGUgY3VycmVudCBvZmZzZXQsIGFuZCB0aGUgc2Nyb2xs
LXNuYXAtdHlwZSBpcyBtYW5kYXRvcnksIHN0YXkgYXQgdGhlIGN1cnJlbnQgb2Zmc2V0LgorUEFT
UyBJZiB0aGVyZSBpcyBubyB2YWxpZCBzbmFwIG9mZnNldCBvbiB0aGUgYXJyb3cga2V5J3MgZGly
ZWN0aW9uIG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgb2Zmc2V0LCBhbmQgdGhlIHNjcm9sbC1zbmFw
LXR5cGUgaXMgcHJveGltaXR5LCBnbyB0byB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvaW5wdXQva2V5Ym9hcmQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9pbnB1dC9rZXlib2FyZC1leHBlY3RlZC50eHQKaW5k
ZXggOTJmNjMwNjEyNzAzODYxYWE4YTBjZTU2ZmY0ZjZiN2I5YzM4NjBmNi4uZmI1NzQ4M2EzNDFl
N2I5YTIyODk2MTViZGI5OTBmOWEwZjQ5YTFiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwt
c25hcC9pbnB1dC9rZXlib2FyZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9pbnB1dC9rZXlib2FyZC1leHBlY3RlZC50eHQKQEAgLTEsMTIgKzEsMTAgQEAKIAotSGFybmVz
cyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KIEZBSUwgU25hcHMgdG8gYm90dG9t
LWxlZnQgYWZ0ZXIgcHJlc3NpbmcgQXJyb3dEb3duIGFzc2VydF9ncmVhdGVyX3RoYW46IGV4cGVj
dGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAyIGJ1dCBnb3QgMAogRkFJTCBTbmFwcyB0byB0b3At
bGVmdCBhZnRlciBwcmVzc2luZyBBcnJvd1VwIGFzc2VydF9ncmVhdGVyX3RoYW46IGV4cGVjdGVk
IGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAyIGJ1dCBnb3QgMAogRkFJTCBTbmFwcyB0byB0b3Atcmln
aHQgYWZ0ZXIgcHJlc3NpbmcgQXJyb3dSaWdodCBhc3NlcnRfZ3JlYXRlcl90aGFuOiBleHBlY3Rl
ZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMiBidXQgZ290IDAKIEZBSUwgU25hcHMgdG8gdG9wLWxl
ZnQgYWZ0ZXIgcHJlc3NpbmcgQXJyb3dMZWZ0IGFzc2VydF9ncmVhdGVyX3RoYW46IGV4cGVjdGVk
IGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAyIGJ1dCBnb3QgMAogUEFTUyBJZiB0aGUgb3JpZ2luYWwg
aW50ZW5kZWQgb2Zmc2V0IGlzIHZhbGlkIGFzIG1ha2luZyBhIHNuYXAgYXJlYSBjb3ZlciB0aGVz
bmFwcG9ydCwgYW5kIHRoZXJlJ3Mgbm8gb3RoZXIgc25hcCBvZmZzZXQgaW4gYmV0d2VlbiwgdXNl
IHRoZSBvcmlnaW5hbGludGVuZGVkIG9mZnNldAotVElNRU9VVCBJZiB0aGUgb3JpZ2luYWwgaW50
ZW5kZWQgb2Zmc2V0IGlzIHZhbGlkIGFzIG1ha2luZyBhIHNuYXAgYXJlYSBjb3ZlciB0aGUgc25h
cHBvcnQsIGJ1dCB0aGVyZSdzIGEgZGVmaW5lZCBzbmFwIG9mZnNldCBpbiBiZXR3ZWVuLCB1c2Ug
dGhlIGRlZmluZWQgc25hcCBvZmZzZXQuIFRlc3QgdGltZWQgb3V0Ci1OT1RSVU4gSWYgdGhlcmUg
aXMgbm8gdmFsaWQgc25hcCBvZmZzZXQgb24gdGhlIGFycm93IGtleSdzIGRpcmVjdGlvbiBvdGhl
ciB0aGFuIHRoZSBjdXJyZW50IG9mZnNldCwgYW5kIHRoZSBzY3JvbGwtc25hcC10eXBlIGlzIG1h
bmRhdG9yeSwgc3RheSBhdCB0aGUgY3VycmVudCBvZmZzZXQuCi1OT1RSVU4gSWYgdGhlcmUgaXMg
bm8gdmFsaWQgc25hcCBvZmZzZXQgb24gdGhlIGFycm93IGtleSdzIGRpcmVjdGlvbiBvdGhlciB0
aGFuIHRoZSBjdXJyZW50IG9mZnNldCwgYW5kIHRoZSBzY3JvbGwtc25hcC10eXBlIGlzIHByb3hp
bWl0eSwgZ28gdG8gdGhlIG9yaWdpbmFsIGludGVuZGVkIG9mZnNldAorUEFTUyBJZiB0aGUgb3Jp
Z2luYWwgaW50ZW5kZWQgb2Zmc2V0IGlzIHZhbGlkIGFzIG1ha2luZyBhIHNuYXAgYXJlYSBjb3Zl
ciB0aGUgc25hcHBvcnQsIGJ1dCB0aGVyZSdzIGEgZGVmaW5lZCBzbmFwIG9mZnNldCBpbiBiZXR3
ZWVuLCB1c2UgdGhlIGRlZmluZWQgc25hcCBvZmZzZXQuCitQQVNTIElmIHRoZXJlIGlzIG5vIHZh
bGlkIHNuYXAgb2Zmc2V0IG9uIHRoZSBhcnJvdyBrZXkncyBkaXJlY3Rpb24gb3RoZXIgdGhhbiB0
aGUgY3VycmVudCBvZmZzZXQsIGFuZCB0aGUgc2Nyb2xsLXNuYXAtdHlwZSBpcyBtYW5kYXRvcnks
IHN0YXkgYXQgdGhlIGN1cnJlbnQgb2Zmc2V0LgorUEFTUyBJZiB0aGVyZSBpcyBubyB2YWxpZCBz
bmFwIG9mZnNldCBvbiB0aGUgYXJyb3cga2V5J3MgZGlyZWN0aW9uIG90aGVyIHRoYW4gdGhlIGN1
cnJlbnQgb2Zmc2V0LCBhbmQgdGhlIHNjcm9sbC1zbmFwLXR5cGUgaXMgcHJveGltaXR5LCBnbyB0
byB0aGUgb3JpZ2luYWwgaW50ZW5kZWQgb2Zmc2V0CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>