<?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>213924</bug_id>
          
          <creation_ts>2020-07-03 07:16:22 -0700</creation_ts>
          <short_desc>MediaRecorder should support peer connection remote video tracks</short_desc>
          <delta_ts>2020-07-03 22:16:15 -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>WebRTC</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1668556</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-03 07:16:22 -0700</bug_when>
    <thetext>Support MediaRecorder with peer connection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668559</commentid>
    <comment_count>1</comment_count>
      <attachid>403456</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-03 07:24:41 -0700</bug_when>
    <thetext>Created attachment 403456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668737</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-03 22:15:56 -0700</bug_when>
    <thetext>Committed r263928: &lt;https://trac.webkit.org/changeset/263928&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403456.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668738</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-03 22:16:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/65088918&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403456</attachid>
            <date>2020-07-03 07:24:41 -0700</date>
            <delta_ts>2020-07-03 22:15:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213924-20200703162440.patch</filename>
            <type>text/plain</type>
            <size>109990</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTEzYmY0NzBmZWQyMDU0
ZTExNWNlZWZiNGI1ZTFlOThkMWE4ZmVjNi4uZTdhNGQ2OTVlZTE0MDcxYjJiNDE0ZGRiMWU2MDRi
ZGY2NjE3NjUwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTA3LTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyIHNo
b3VsZCBzdXBwb3J0IHBlZXIgY29ubmVjdGlvbiByZW1vdGUgdmlkZW8gdHJhY2tzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM5MjQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcmV2aXNvdWx5IHdlIHdl
cmUgY2hlY2tpbmcgd2hldGhlciB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBnaXZlbiBmb3IgYSB2aWRl
byB0cmFjay4KKyAgICAgICAgVGhpcyBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgZm9yIGluc3Rh
bmNlIGZvciByZW1vdGUgdHJhY2tzLgorICAgICAgICBBbmQgdGhpcyBjYW4gY2hhbmdlIG92ZXIg
dGltZS4KKyAgICAgICAgSW5zdGVhZCwgcGFzcyBhIHNpbXBsZSBib29sZWFuICh3aGV0aGVyIHRo
ZXJlIGlzIGEgdmlkZW8gdHJhY2sgb3Igbm90KS4KKyAgICAgICAgTWlub3Igc2ltcGxpZmljYXRp
b25zIHRvIHN0b3Agc3RvcmluZyB1bm5lZWRlZCBtZW1iZXJzLgorCisgICAgICAgIFRlc3RzOiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFS
ZWNvcmRlci1iaXRyYXRlLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWNyZWF0
aW9uLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWRldGFjaGVkLWNvbnRleHQu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZGlzYWJsZWQtdHJhY2tzLmh0dHBzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWV2ZW50cy1hbmQtZXhjZXB0aW9ucy5odG1sCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1y
ZWNvcmQvTWVkaWFSZWNvcmRlci1taW1ldHlwZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRl
ci1uby1zaW5rLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXBhdXNlLXJlc3Vt
ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1wZWVyY29ubmVjdGlvbi5odHRwcy5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1yZWNvcmQvcGFzc3Rocm91Z2gvTWVkaWFSZWNvcmRlci1wYXNzdGhyb3VnaC5odHRwcy5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGw6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGw6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbCk6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29j
b2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3Jk
ZXJQcml2YXRlV3JpdGVyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlcjo6Y3JlYXRlKToKKwogMjAyMC0wNy0wMyAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBNZWRpYVJlY29yZGVyLm9uc3RhcnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMTkzYWZlODk1NWIxYmZmNWRhZTdkMGQyMWY2NTdiYjk1NzI3MjhhZi4uMDY1
MTIxMmM4ZDQwNWQyYTA1ZWU2ZDFhZWQxMDNiNmEwYmIzNzE3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMyBAQAorMjAyMC0wNy0wMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWVkaWFSZWNvcmRlciBzaG91bGQgc3VwcG9ydCBwZWVyIGNvbm5lY3Rpb24gcmVt
b3RlIHZpZGVvIHRyYWNrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjEzOTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUGFzcyBhIGJvb2xlYW4gaW5zdGVhZCBvZiB3aWR0aC9oZWlnaHQgZm9yIHRoZSB2
aWRlbyB0cmFjay4KKworICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVj
b3JkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVJlY29yZGVyOjpjcmVhdGUp
OgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaDoKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpjcmVhdGVSZWNv
cmRlcik6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1h
bmFnZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVy
TWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVk
aWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVJlY29yZGVyUHJp
dmF0ZTo6c3RhcnRSZWNvcmRpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9N
ZWRpYVJlY29yZGVyUHJpdmF0ZS5oOgorCiAyMDIwLTA3LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYVJlY29yZGVyIHN0b3BSZWNvcmRlcigpIHJl
dHVybnMgZW1wdHkgQmxvYiBhZnRlciBmaXJzdCB1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsLmNwcAppbmRleCBjMTI4NGIwMGM2Y2M2OTk0YTllNTUyNzVjMDE0ZjI4Mjlk
MzkwODk3Li44ODU2YjE1N2RmNDg0OGNlM2Y4ZDEzZTc3MjdkMTMyMTA4MDU3M2ExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCkBAIC00NSwxOSArNDUsMTEgQEAg
c3RkOjp1bmlxdWVfcHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbD4gTWVkaWFSZWNvcmRl
clByaXZhdGVBVkZJbXBsOjpjcmVhdGUKIAogICAgIGF1dG8gc2VsZWN0ZWRUcmFja3MgPSBNZWRp
YVJlY29yZGVyUHJpdmF0ZTo6c2VsZWN0VHJhY2tzKHN0cmVhbSk7CiAKLSAgICBhdXRvIHdyaXRl
ciA9IE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpjcmVhdGUoc2VsZWN0ZWRUcmFja3MuYXVk
aW9UcmFjaywgc2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjayk7CisgICAgYXV0byB3cml0ZXIgPSBN
ZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6Y3JlYXRlKCEhc2VsZWN0ZWRUcmFja3MuYXVkaW9U
cmFjaywgISFzZWxlY3RlZFRyYWNrcy52aWRlb1RyYWNrKTsKICAgICBpZiAoIXdyaXRlcikKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBTdHJpbmcgYXVkaW9UcmFja0lkOwotICAgIGlm
IChzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrKQotICAgICAgICBhdWRpb1RyYWNrSWQgPSBzZWxl
Y3RlZFRyYWNrcy5hdWRpb1RyYWNrLT5pZCgpOwotCi0gICAgU3RyaW5nIHZpZGVvVHJhY2tJZDsK
LSAgICBpZiAoc2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjaykKLSAgICAgICAgdmlkZW9UcmFja0lk
ID0gc2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjay0+aWQoKTsKLQotICAgIGF1dG8gcmVjb3JkZXIg
PSBtYWtlVW5pcXVlPE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbD4od3JpdGVyLnJlbGVhc2VO
b25OdWxsKCksIFdURk1vdmUoYXVkaW9UcmFja0lkKSwgV1RGTW92ZSh2aWRlb1RyYWNrSWQpKTsK
KyAgICBhdXRvIHJlY29yZGVyID0gbWFrZVVuaXF1ZTxNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGw+KHdyaXRlci5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICBpZiAoc2VsZWN0ZWRUcmFja3MuYXVk
aW9UcmFjaykKICAgICAgICAgcmVjb3JkZXItPnNldEF1ZGlvU291cmNlKCZzZWxlY3RlZFRyYWNr
cy5hdWRpb1RyYWNrLT5zb3VyY2UoKSk7CiAgICAgaWYgKHNlbGVjdGVkVHJhY2tzLnZpZGVvVHJh
Y2spCkBAIC02NSwxMCArNTcsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsPiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmNyZWF0ZQogICAgIHJldHVy
biByZWNvcmRlcjsKIH0KIAotTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpNZWRpYVJlY29y
ZGVyUHJpdmF0ZUFWRkltcGwoUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiYmIHdyaXRl
ciwgU3RyaW5nJiYgYXVkaW9UcmFja0lkLCBTdHJpbmcmJiB2aWRlb1RyYWNrSWQpCitNZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGw6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbChSZWY8TWVk
aWFSZWNvcmRlclByaXZhdGVXcml0ZXI+JiYgd3JpdGVyKQogICAgIDogbV93cml0ZXIoV1RGTW92
ZSh3cml0ZXIpKQotICAgICwgbV9yZWNvcmRlZEF1ZGlvVHJhY2tJRChXVEZNb3ZlKGF1ZGlvVHJh
Y2tJZCkpCi0gICAgLCBtX3JlY29yZGVkVmlkZW9UcmFja0lEKFdURk1vdmUodmlkZW9UcmFja0lk
KSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKaW5kZXggNzI2
ZWViNTA5NWYzN2E5OTUyMjJmMGFlZjFhYTg4NDJhOWNkZDUxNS4uMWQ4NDUwMDlkMzFjN2E5OTg2
ZGY3ZmUzMGQ1YTI2ZjJiNGFiYzhmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZG
SW1wbC5oCkBAIC0zOCwxMyArMzgsMTEgQEAgY2xhc3MgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJ
bXBsIGZpbmFsCiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw+IGNyZWF0ZShN
ZWRpYVN0cmVhbVByaXZhdGUmKTsKKworICAgIGV4cGxpY2l0IE1lZGlhUmVjb3JkZXJQcml2YXRl
QVZGSW1wbChSZWY8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+JiYpOwogICAgIH5NZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGwoKTsKIAogcHJpdmF0ZToKLSAgICBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGwoUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiYmLCBTdHJpbmcmJiBh
dWRpb1RyYWNrSWQsIFN0cmluZyYmIHZpZGVvVHJhY2tJZCk7Ci0KLSAgICBmcmllbmQgc3RkOjp1
bmlxdWVfcHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbD4gc3RkOjptYWtlX3VuaXF1ZTxN
ZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw+KFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRl
cj4mJiwgU3RyaW5nJiYsIFN0cmluZyYmKTsKLQogICAgIC8vIE1lZGlhUmVjb3JkZXJQcml2YXRl
CiAgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpIGZpbmFsOwogICAg
IHZvaWQgZmV0Y2hEYXRhKEZldGNoRGF0YUNhbGxiYWNrJiYpIGZpbmFsOwpAQCAtNTQsOCArNTIs
NiBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RvcFJlY29yZGluZygpOwogCiAgICAgUmVmPE1lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyPiBtX3dyaXRlcjsKLSAgICBTdHJpbmcgbV9yZWNvcmRlZEF1
ZGlvVHJhY2tJRDsKLSAgICBTdHJpbmcgbV9yZWNvcmRlZFZpZGVvVHJhY2tJRDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlckNvY29hLmgKaW5kZXggM2RhMWIyOTVmY2YyZTM1YWQ5YTMwNjFjNmFmZjYy
MTE0ODMyMjY2YS4uZjgzMDk2N2JlYWUwYWY5NjFhY2ZiNGMyN2M3YjA0M2UxNjBmMWQzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgK
QEAgLTYyLDggKzYyLDcgQEAgY2xhc3MgVmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yOwogCiBj
bGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlciA6IHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlciwgV1RGOjpEZXN0
cnVjdGlvblRocmVhZDo6TWFpbj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlciwgV2Vha1B0ckZhY3RvcnlJbml0aWFsaXphdGlvbjo6RWFnZXI+IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiBjcmVh
dGUoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIGF1ZGlvVHJhY2ssIGNvbnN0IE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlKiB2aWRlb1RyYWNrKTsKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyPiBjcmVhdGUoYm9vbCBoYXNBdWRpbywgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KTsKKyAgICBzdGF0aWMgUmVmUHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
PiBjcmVhdGUoYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRlbyk7CiAgICAgfk1lZGlhUmVjb3Jk
ZXJQcml2YXRlV3JpdGVyKCk7CiAKICAgICB2b2lkIGFwcGVuZFZpZGVvU2FtcGxlQnVmZmVyKENN
U2FtcGxlQnVmZmVyUmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXJDb2NvYS5tbQppbmRleCA0M2Y2NzAyYzRkZDJhNzk3MGM1MmJmMzQyMThjM2Rk
MDdkMjAwMDM1Li5kYTFmYTJmZWZiYzIxYmM5MWY0MDgwZmUxMTg4ZTM2Yjk0NTNiZDdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1t
CkBAIC0xMTQsMjUgKzExNCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBQQUw7CiAKLVJlZlB0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXI6OmNyZWF0ZShib29sIGhhc0F1ZGlvLCBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpCitSZWZQdHI8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+IE1lZGlhUmVjb3JkZXJQ
cml2YXRlV3JpdGVyOjpjcmVhdGUoYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRlbykKIHsKLSAg
ICBhdXRvIHdyaXRlciA9IGFkb3B0UmVmKCpuZXcgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIo
aGFzQXVkaW8sIHdpZHRoICYmIGhlaWdodCkpOworICAgIGF1dG8gd3JpdGVyID0gYWRvcHRSZWYo
Km5ldyBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcihoYXNBdWRpbywgaGFzVmlkZW8pKTsKICAg
ICBpZiAoIXdyaXRlci0+aW5pdGlhbGl6ZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICByZXR1cm4gd3JpdGVyOwogfQogCi1SZWZQdHI8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+
IE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUqIGF1ZGlvVHJhY2ssIGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKiB2aWRl
b1RyYWNrKQotewotICAgIGludCB3aWR0aCA9IDAsIGhlaWdodCA9IDA7Ci0gICAgaWYgKHZpZGVv
VHJhY2spIHsKLSAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB2aWRlb1RyYWNrLT5zZXR0aW5ncygp
OwotICAgICAgICB3aWR0aCA9IHNldHRpbmdzLndpZHRoKCk7Ci0gICAgICAgIGhlaWdodCA9IHNl
dHRpbmdzLmhlaWdodCgpOwotICAgIH0KLSAgICByZXR1cm4gY3JlYXRlKCEhYXVkaW9UcmFjaywg
d2lkdGgsIGhlaWdodCk7Ci19Ci0KIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmNv
bXByZXNzZWRWaWRlb091dHB1dEJ1ZmZlckNhbGxiYWNrKHZvaWQgKm1lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyLCBDTUJ1ZmZlclF1ZXVlVHJpZ2dlclRva2VuKQogewogICAgIGNhbGxPbk1haW5U
aHJlYWQoW3dlYWtXcml0ZXIgPSBtYWtlV2Vha1B0cihzdGF0aWNfY2FzdDxNZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlcio+KG1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyKSldIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIu
Y3BwCmluZGV4IGY4OGEyMzk0NGJjMDE3OTBmNWE2NzU1YjZkM2VlZWU4OGFhMmZhZmEuLmIxMjg0
YTQ3ZTIzMzYyMjM3N2JiNjk3ZjhmYzU5YmIxMjU0NzQ2OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcApAQCAt
MzgsOSArMzgsOSBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZU1lZGlhUmVjb3JkZXI+IFJlbW90ZU1lZGlhUmVj
b3JkZXI6OmNyZWF0ZShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLCBNZWRpYVJlY29yZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBib29sIHJlY29y
ZEF1ZGlvLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCitzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTWVk
aWFSZWNvcmRlcj4gUmVtb3RlTWVkaWFSZWNvcmRlcjo6Y3JlYXRlKEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIE1lZGlhUmVjb3JkZXJJZGVudGlm
aWVyIGlkZW50aWZpZXIsIGJvb2wgcmVjb3JkQXVkaW8sIGJvb2wgcmVjb3JkVmlkZW8pCiB7Ci0g
ICAgYXV0byB3cml0ZXIgPSBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6Y3JlYXRlKHJlY29y
ZEF1ZGlvLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBhdXRvIHdyaXRlciA9IE1lZGlhUmVjb3JkZXJQ
cml2YXRlV3JpdGVyOjpjcmVhdGUocmVjb3JkQXVkaW8sIHJlY29yZFZpZGVvKTsKICAgICBpZiAo
IXdyaXRlcikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIHN0ZDo6dW5pcXVl
X3B0cjxSZW1vdGVNZWRpYVJlY29yZGVyPihuZXcgUmVtb3RlTWVkaWFSZWNvcmRlciB7IGdwdUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MsIGlkZW50aWZpZXIsIHdyaXRlci5yZWxlYXNlTm9uTnVsbCgp
LCByZWNvcmRBdWRpbyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93
ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKaW5kZXggYTgzZGEzMDU1MmViNDFlZjk1OTQ0ZGIz
YWE1MDRmZmNhM2Y2ODM4MS4uZWY2ZWUzODk1MGEzNzE1YTQwNzA0YzBmZTVlOGE2MGJlMmYwYjc4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRp
YVJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVN
ZWRpYVJlY29yZGVyLmgKQEAgLTU0LDcgKzU0LDcgQEAgY2xhc3MgU2hhcmVkUmluZ0J1ZmZlclN0
b3JhZ2U7CiBjbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyIDogcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVNZWRpYVJlY29yZGVyPiBjcmVhdGUoR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYsIE1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLCBib29sIHJlY29yZEF1
ZGlvLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
UmVtb3RlTWVkaWFSZWNvcmRlcj4gY3JlYXRlKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBN
ZWRpYVJlY29yZGVySWRlbnRpZmllciwgYm9vbCByZWNvcmRBdWRpbywgYm9vbCByZWNvcmRWaWRl
byk7CiAgICAgflJlbW90ZU1lZGlhUmVjb3JkZXIoKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5h
Z2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNv
cmRlck1hbmFnZXIuY3BwCmluZGV4IGRjNWI3YjYxMmY2ZGM1MGQyMjQwYzRiZDg4OGVjMjBhYWVj
YTQyODUuLjBiYTZmZDdkMGVmOTY2OGYwMTk4YmZlZjAwMGY1Yzg0OGEyMjZkMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVk
aWFSZWNvcmRlck1hbmFnZXIuY3BwCkBAIC01MSwxMCArNTEsMTAgQEAgdm9pZCBSZW1vdGVNZWRp
YVJlY29yZGVyTWFuYWdlcjo6ZGlkUmVjZWl2ZVJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlKElQ
Qzo6Q29ubmUKICAgICAgICAgcmVjb3JkZXItPmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24s
IGRlY29kZXIpOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpjcmVhdGVS
ZWNvcmRlcihNZWRpYVJlY29yZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBib29sIHJlY29yZEF1
ZGlvLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9u
YWw8RXhjZXB0aW9uRGF0YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFJlbW90ZU1l
ZGlhUmVjb3JkZXJNYW5hZ2VyOjpjcmVhdGVSZWNvcmRlcihNZWRpYVJlY29yZGVySWRlbnRpZmll
ciBpZGVudGlmaWVyLCBib29sIHJlY29yZEF1ZGlvLCBib29sIHJlY29yZFZpZGVvLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+JiYpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewogICAgIEFTU0VSVCghbV9yZWNvcmRlcnMuY29udGFpbnMoaWRlbnRpZmllcikp
OwotICAgIGF1dG8gcmVjb3JkZXIgPSBSZW1vdGVNZWRpYVJlY29yZGVyOjpjcmVhdGUobV9ncHVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLCBpZGVudGlmaWVyLCByZWNvcmRBdWRpbywgd2lkdGgsIGhl
aWdodCk7CisgICAgYXV0byByZWNvcmRlciA9IFJlbW90ZU1lZGlhUmVjb3JkZXI6OmNyZWF0ZSht
X2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIGlkZW50aWZpZXIsIHJlY29yZEF1ZGlvLCByZWNv
cmRWaWRlbyk7CiAgICAgaWYgKCFyZWNvcmRlcikKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKEV4Y2VwdGlvbkRhdGEgeyBOb3RTdXBwb3J0ZWRFcnJvciwgIlVuYWJsZSB0byBjcmVh
dGUgYSByZWNvcmRlciB3aXRoIHRoZSBwcm92aWRlZCBzdHJlYW0iX3MgfSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNv
cmRlck1hbmFnZXIuaAppbmRleCBhYjgwMWJjMTE0YzQ5MjNlYTlkNzkwZjkyM2M1MmRmNDlhYTEx
ZTdlLi44ZTZmOTE4YTAxNjc5MThhMGQwMjVkM2I2YzUyMTU2MzhhYzllNTYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJl
Y29yZGVyTWFuYWdlci5oCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
Ly8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwotICAgIHZvaWQgY3JlYXRlUmVjb3Jk
ZXIoTWVkaWFSZWNvcmRlcklkZW50aWZpZXIsIGJvb2wgcmVjb3JkQXVkaW8sIGludCB3aWR0aCwg
aW50IGhlaWdodCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpFeGNl
cHRpb25EYXRhPiYmKT4mJik7CisgICAgdm9pZCBjcmVhdGVSZWNvcmRlcihNZWRpYVJlY29yZGVy
SWRlbnRpZmllciwgYm9vbCByZWNvcmRBdWRpbywgYm9vbCByZWNvcmRWaWRlbywgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJik7CiAg
ICAgdm9pZCByZWxlYXNlUmVjb3JkZXIoTWVkaWFSZWNvcmRlcklkZW50aWZpZXIpOwogCiAgICAg
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJl
Y29yZGVyTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggYzUxODQxMGNi
NDlmYWRhNjg4ZDM3N2QxZDdhMDZjZGUzYmFjNzk3Yi4uYTJmMTg4ZDc4OTMwZmM5NzE1NjQ3YTBm
NjQxMGQyMWEyNjk1YzYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3Nh
Z2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVS
REVMRUdBVEUpCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyIE5vdFJl
ZkNvdW50ZWQgewotICAgIENyZWF0ZVJlY29yZGVyKFdlYktpdDo6TWVkaWFSZWNvcmRlcklkZW50
aWZpZXIgaWQsIGJvb2wgaGFzQXVkaW8sIGludCB3aWR0aCwgaW50IGhlaWdodCkgLT4gKE9wdGlv
bmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+IGNyZWF0aW9uRXJyb3IpIEFzeW5jCisgICAgQ3Jl
YXRlUmVjb3JkZXIoV2ViS2l0OjpNZWRpYVJlY29yZGVySWRlbnRpZmllciBpZCwgYm9vbCBoYXNB
dWRpbywgYm9vbCBoYXNWaWRlbykgLT4gKE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+
IGNyZWF0aW9uRXJyb3IpIEFzeW5jCiAgICAgUmVsZWFzZVJlY29yZGVyKFdlYktpdDo6TWVkaWFS
ZWNvcmRlcklkZW50aWZpZXIgaWQpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcAppbmRleCA2
NjhlNjc1ZjkyOGZjNGI1ZThiN2FiNzdlYjgwNjFhYTdkM2M5Zjc3Li40ZDQ3ODZiZTk1NTJlNjQy
YTBmN2M2ODVmOTFlODc2MzY5MTk0YjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCkBAIC01
NiwyMCArNTYsMTAgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c3RhcnRSZWNvcmRpbmco
RXJyb3JDYWxsYmFjayYmIGVycm9yQ2FsbGJhY2spCiAgICAgLy8gQ3VycmVudGx5IHdlIG9ubHkg
Y2hvb3NlIHRoZSBmaXJzdCB0cmFjayBhcyB0aGUgcmVjb3JkZWQgdHJhY2suCiAKICAgICBhdXRv
IHNlbGVjdGVkVHJhY2tzID0gTWVkaWFSZWNvcmRlclByaXZhdGU6OnNlbGVjdFRyYWNrcyhtX3N0
cmVhbSk7Ci0gICAgaWYgKHNlbGVjdGVkVHJhY2tzLmF1ZGlvVHJhY2spIHsKKyAgICBpZiAoc2Vs
ZWN0ZWRUcmFja3MuYXVkaW9UcmFjaykKICAgICAgICAgbV9yaW5nQnVmZmVyID0gbWFrZVVuaXF1
ZTxDQVJpbmdCdWZmZXI+KG1ha2VVbmlxdWVSZWY8U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U+KHRo
aXMpKTsKLSAgICAgICAgbV9yZWNvcmRlZEF1ZGlvVHJhY2tJRCA9IHNlbGVjdGVkVHJhY2tzLmF1
ZGlvVHJhY2stPmlkKCk7Ci0gICAgfQotCi0gICAgaW50IHdpZHRoID0gMDsKLSAgICBpbnQgaGVp
Z2h0ID0gMDsKLSAgICBpZiAoc2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjaykgewotICAgICAgICBt
X3JlY29yZGVkVmlkZW9UcmFja0lEID0gc2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjay0+aWQoKTsK
LSAgICAgICAgaGVpZ2h0ID0gc2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjay0+c2V0dGluZ3MoKS5o
ZWlnaHQoKTsKLSAgICAgICAgd2lkdGggPSBzZWxlY3RlZFRyYWNrcy52aWRlb1RyYWNrLT5zZXR0
aW5ncygpLndpZHRoKCk7Ci0gICAgfQogCi0gICAgbV9jb25uZWN0aW9uLT5zZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpDcmVhdGVSZWNvcmRl
ciB7IG1faWRlbnRpZmllciwgISFzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrLCB3aWR0aCwgaGVp
Z2h0IH0sIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBhdWRpb1RyYWNrID0g
bWFrZVJlZlB0cihzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrKSwgdmlkZW9UcmFjayA9IG1ha2VS
ZWZQdHIoc2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjayksIGVycm9yQ2FsbGJhY2sgPSBXVEZNb3Zl
KGVycm9yQ2FsbGJhY2spXShhdXRvJiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsKKyAgICBtX2Nvbm5l
Y3Rpb24tPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFSZWNvcmRlck1h
bmFnZXI6OkNyZWF0ZVJlY29yZGVyIHsgbV9pZGVudGlmaWVyLCAhIXNlbGVjdGVkVHJhY2tzLmF1
ZGlvVHJhY2ssICEhc2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjayB9LCBbdGhpcywgd2Vha1RoaXMg
PSBtYWtlV2Vha1B0cih0aGlzKSwgYXVkaW9UcmFjayA9IG1ha2VSZWZQdHIoc2VsZWN0ZWRUcmFj
a3MuYXVkaW9UcmFjayksIHZpZGVvVHJhY2sgPSBtYWtlUmVmUHRyKHNlbGVjdGVkVHJhY2tzLnZp
ZGVvVHJhY2spLCBlcnJvckNhbGxiYWNrID0gV1RGTW92ZShlcnJvckNhbGxiYWNrKV0oYXV0byYm
IGV4Y2VwdGlvbikgbXV0YWJsZSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKICAgICAgICAg
ICAgIGVycm9yQ2FsbGJhY2soeyB9KTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJp
dmF0ZS5oCmluZGV4IDUyNjdhYmFmZTM4ZGY1MzUyMmZiYzVhZWY2MDI1MDM5ZDUxMWZiZTQuLjVi
NGE0OTJmYmI1ZGYwY2UxYTNmYTMyNDg5ODQ0MjM1YTFiMzBlMWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuaApAQCAtNjgsOSArNjgsNiBAQCBwcml2YXRlOgogICAgIFJlZjxNZWRpYVN0cmVhbVByaXZh
dGU+IG1fc3RyZWFtOwogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIAot
ICAgIFN0cmluZyBtX3JlY29yZGVkQXVkaW9UcmFja0lEOwotICAgIFN0cmluZyBtX3JlY29yZGVk
VmlkZW9UcmFja0lEOwotCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkNBUmluZ0J1ZmZl
cj4gbV9yaW5nQnVmZmVyOwogICAgIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBt
X2Rlc2NyaXB0aW9uIHsgfTsKICAgICBpbnQ2NF90IG1fbnVtYmVyT2ZGcmFtZXMgeyAwIH07CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNGZiOTNmZThkMDY1OGNhZjE3MDUxMTZlMDQ3ZWZjNjk2YzUzZmExZC4uY2I5ZmZhNmVi
NzJmOWExMzA0N2ZiMDEzMzVjNTg4ZDU5MmZmNTkwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDIwLTA3LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBN
ZWRpYVJlY29yZGVyIHNob3VsZCBzdXBwb3J0IHBlZXIgY29ubmVjdGlvbiByZW1vdGUgdmlkZW8g
dHJhY2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTM5MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDIw
LTA3LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBw
b3J0IE1lZGlhUmVjb3JkZXIub25zdGFydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggZTI2MWI4ZWMzMjViMmE0N2U3NTNkODVhZWU5NTgzY2NkMmNlYmU4Ny4uMDczMjFkM2E3NzE1
MWUxZjU4MzVlYmE5Zjg0OGQzZTViYzY2OGUyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjAtMDctMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUmVjb3JkZXIgc2hvdWxkIHN1cHBvcnQgcGVlciBj
b25uZWN0aW9uIHJlbW90ZSB2aWRlbyB0cmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzkyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlc3luYyB0byBXUFQgVG9ULgorCisgICAgICAgICogcmVz
b3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1yZWNvcmQvQmxvYkV2ZW50LWNvbnN0cnVjdG9yLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1i
aXRyYXRlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1iaXRyYXRlLmh0dHBzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVj
b3JkL01lZGlhUmVjb3JkZXItY3JlYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29y
ZGVyLWNyZWF0aW9uLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZGV0YWNoZWQtY29udGV4dC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZGV0YWNoZWQtY29udGV4dC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJl
Y29yZGVyLWRpc2FibGVkLXRyYWNrcy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXIt
ZGlzYWJsZWQtdHJhY2tzLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXJyb3IuaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29y
ZGVyLWV2ZW50cy1hbmQtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXZl
bnRzLWFuZC1leGNlcHRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbWltZXR5cGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJl
Y29yZC9NZWRpYVJlY29yZGVyLW1pbWV0eXBlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbm8tc2luay5o
dHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbm8tc2luay5odHRwcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRp
YVJlY29yZGVyLXBhdXNlLXJlc3VtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGF1c2Ut
cmVzdW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGVlcmNvbm5lY3Rpb24uaHR0cHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJl
Y29yZC9NZWRpYVJlY29yZGVyLXBlZXJjb25uZWN0aW9uLmh0dHBzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3Jk
ZXItc3RvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLmh0bWw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L2lkbGhhcm5lc3Mud2luZG93LmpzOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL3Bhc3N0aHJvdWdoL01lZGlhUmVjb3JkZXItcGFzc3Rocm91Z2guaHR0
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLXJlY29yZC9wYXNzdGhyb3VnaC9NZWRpYVJlY29yZGVyLXBhc3N0aHJvdWdoLmh0
dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtcmVjb3JkL3Bhc3N0aHJvdWdoL3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
dzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1yZWNvcmQvc3VwcG9ydC93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL3czYy1p
bXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVj
b3JkL3V0aWxzL3BlZXJjb25uZWN0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jIGV4Y2hh
bmdlT2ZmZXJBbnN3ZXIpOgorICAgICAgICAoc2V0VHJhbnNjZWl2ZXJDb2RlY1ByZWZlcmVuY2Up
OgorICAgICAgICAoYXN5bmMgc3RhcnRDb25uZWN0aW9uKToKKyAgICAgICAgKGFzeW5jIHdhaXRG
b3JSZWNlaXZlZEZyYW1lcyk6CisgICAgICAgIChhc3luYyB3YWl0Rm9yUmVjZWl2ZWRDb2RlYyk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvdXRpbHMv
dzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC93M2MtaW1wb3J0LmxvZy4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC93M2MtaW1wb3J0Lmxv
ZzoKKwogMjAyMC0wNy0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2VycyBmcm9tIHVwc3RyZWFt
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCBhMmNlZjY0NzExM2EzZTRiZDljMjA4MTg0ODIwMWYyNzNh
MDRlMTE0Li4zMmIzZDg4NmU4MzI2NjQ1Mzc0MDQxYzI5NzMwMTM4YmFjMmE3NzdmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTgyNSw2ICs4MjUsNyBAQCB3ZWJraXQub3JnL2IvMTg5OTA1IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaQog
d2Via2l0Lm9yZy9iLzE5MDUyMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWRlZmF1bHQtZmVhdHVyZS1wb2xpY3kuaHR0
cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvcGFzc3Rocm91Z2gvTWVkaWFSZWNvcmRl
ci1wYXNzdGhyb3VnaC5odHRwcy5odG1sIFsgRmFpbHVyZSBUaW1lb3V0IFBhc3MgXQogCiAjIFRo
ZXNlIGZldGNoIHRlc3RzIGFyZSBmbGFreSBvciBmYWlsLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtY291bnQuYW55Lmh0bWwgWyBQ
YXNzIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291
cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291
cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uCmluZGV4IDlmY2I4NmU4ZThjNTMzMWRiYWYzNTQ1YmVm
ZjVjM2RhNDQzYmFiZTMuLjUyNjg2YmNlMDIwOTM4NDVhNzc5MTI2NGEzNDBkODRkYzRkZWEzNzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2Ut
ZmlsZXMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291
cmNlLWZpbGVzLmpzb24KQEAgLTI1MjIsNiArMjUyMiw3IEBACiAgICAgICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9tYXRoY29sb3ItMDA0LW5vdHJl
Zi5odG1sIiwKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2h0
bWw1LXRyZWUvdW5pcXVlLWlkZW50aWZpZXItMS1pZnJhbWUtMS5odG1sIiwKICAgICAgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2h0bWw1LXRyZWUvdW5pcXVlLWlkZW50
aWZpZXItMS1pZnJhbWUtMi5odG1sIiwKKyAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL3N1cHBvcnQvTWVkaWFSZWNvcmRlci1pZnJhbWUuaHRtbCIsCiAgICAg
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVl
c3QvZWNoby1QYXltZW50UmVxdWVzdC5odG1sIiwKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LXJlc3BvbnNlLWlkLmh0bWwiLAogICAg
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1wb3N0
bWVzc2FnZS1pZnJhbWUuaHRtbCIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvQmxvYkV2ZW50LWNvbnN0
cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1yZWNvcmQvQmxvYkV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKaW5kZXggM2Jj
ZjQyOTZlNjhhZWExYTdiMTY3ZTU3MGMwZGNlYzE0OGNjOTVlNC4uNjZkYzM0MDRkNzgwMjAxMDhl
ZGM4MjMyOTJiZmY5YjgzY2RhNDJhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL0Jsb2JFdmVudC1jb25z
dHJ1Y3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9CbG9iRXZlbnQtY29uc3RydWN0b3IuaHRtbApAQCAt
NiwyNSArNiwyNSBAQAogPHNjcmlwdD4KIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF9lcXVh
bHMoQmxvYkV2ZW50Lmxlbmd0aCwgMik7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
ICAgICBuZXcgQmxvYkV2ZW50KCJ0eXBlIik7CiAgIH0pOwotICBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7CiAgICAgbmV3IEJsb2JFdmVudCgidHlwZSIsIG51bGwpOwogICB9KTsKLSAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgIG5ldyBCbG9iRXZlbnQoInR5cGUiLCB1bmRl
ZmluZWQpOwogICB9KTsKIH0sICJUaGUgQmxvYkV2ZW50SW5pdCBkaWN0aW9uYXJ5IGlzIHJlcXVp
cmVkIik7CiAKIHRlc3QoZnVuY3Rpb24oKSB7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKICAgICBuZXcgQmxvYkV2ZW50KCJ0eXBlIiwge30pOwogICB9KTsKLSAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsIGZ1bmN0aW9uKCkgewogICAgIG5ldyBCbG9iRXZlbnQoInR5cGUiLCB7IGRhdGE6IG51bGwg
fSk7CiAgIH0pOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewor
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAgbmV3IEJsb2JF
dmVudCgidHlwZSIsIHsgZGF0YTogdW5kZWZpbmVkIH0pOwogICB9KTsKIH0sICJUaGUgQmxvYkV2
ZW50SW5pdCBkaWN0aW9uYXJ5J3MgZGF0YSBtZW1iZXIgaXMgcmVxdWlyZWQuIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1iaXRyYXRlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJl
Y29yZC9NZWRpYVJlY29yZGVyLWJpdHJhdGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ3ZDA5YjQ3ODE3OGZlNDM0NzQzMGZmY2E5ZWM5Yjk5OGQ4ZDBmZjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1iaXRyYXRlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIwIEBACisKK1BBU1MgUGFzc2luZyBubyBiaXRyYXRlIGNvbmZpZyByZXN1bHRzIGlu
IGRlZmF1bHRzIAorRkFJTCBQYXNzaW5nIGJpdHNQZXJTZWNvbmQ6MCByZXN1bHRzIGluIHRhcmdl
dHMgY2xvc2UgdG8gMCBhc3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0ZWQgMCArLy0gMTAwMDAw
IGJ1dCBnb3QgTmFOCitGQUlMIFBhc3Npbmcgb25seSBhdWRpb0JpdHNQZXJTZWNvbmQ6MCByZXN1
bHRzIGluIDAgZm9yIGF1ZGlvLCBkZWZhdWx0IGZvciB2aWRlbyBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAobnVtYmVyKSAwIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIFBhc3Np
bmcgb25seSB2aWRlb0JpdHNQZXJTZWNvbmQ6MCByZXN1bHRzIGluIDAgZm9yIHZpZGVvLCBkZWZh
dWx0IGZvciBhdWRpbyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAobnVtYmVyKSAwIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIFBhc3NpbmcgYml0c1BlclNlY29uZDowIG92ZXJy
aWRlcyBhdWRpby92aWRlby1zcGVjaWZpYyB2YWx1ZXMgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IGV4
cGVjdGVkIDAgKy8tIDEwMDAwMCBidXQgZ290IE5hTgorRkFJTCBQYXNzaW5nIGJpdHNQZXJTZWNv
bmQgb3ZlcnJpZGVzIGF1ZGlvL3ZpZGVvIHplcm8gdmFsdWVzIGFzc2VydF9hcHByb3hfZXF1YWxz
OiBleHBlY3RlZCAyMDAwMDAwICsvLSAxMDAwMDAgYnV0IGdvdCBOYU4KK0ZBSUwgUGFzc2luZyBi
aXRzUGVyU2Vjb25kIHNldHMgYXVkaW8vdmlkZW8gYml0cmF0ZSB2YWx1ZXMgYXNzZXJ0X2FwcHJv
eF9lcXVhbHM6IGV4cGVjdGVkIDIwMDAwMDAgKy8tIDEwMDAwMCBidXQgZ290IE5hTgorRkFJTCBQ
YXNzaW5nIG9ubHkgYXVkaW9CaXRzUGVyU2Vjb25kIHJlc3VsdHMgaW4gZGVmYXVsdCBmb3Igdmlk
ZW8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG51bWJlcikgMTAwMDAwIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCitGQUlMIFBhc3Npbmcgb25seSB2aWRlb0JpdHNQZXJTZWNvbmQgcmVz
dWx0cyBpbiBkZWZhdWx0IGZvciBhdWRpbyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAobnVtYmVy
KSAxMDAwMDAwIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIFBhc3Npbmcgdmlk
ZW9CaXRzUGVyU2Vjb25kIGZvciBhdWRpby1vbmx5IHN0cmVhbSBzdGlsbCByZXN1bHRzIGluIHNv
bWV0aGluZyBmb3IgdmlkZW8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG51bWJlcikgMTAwMDAw
MCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBQYXNzaW5nIGF1ZGlvQml0c1Bl
clNlY29uZCBmb3IgdmlkZW8tb25seSBzdHJlYW0gc3RpbGwgcmVzdWx0cyBpbiBzb21ldGhpbmcg
Zm9yIGF1ZGlvIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChudW1iZXIpIDEwMDAwMCBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQYXNzaW5nIGJpdHNQZXJTZWNvbmQgZm9yIGF1
ZGlvLW9ubHkgc3RyZWFtIHN0aWxsIHJlc3VsdHMgaW4gc29tZXRoaW5nIGZvciB2aWRlbyAKK1BB
U1MgUGFzc2luZyBiaXRzUGVyU2Vjb25kIGZvciB2aWRlby1vbmx5IHN0cmVhbSBzdGlsbCByZXN1
bHRzIGluIHNvbWV0aGluZyBmb3IgYXVkaW8gCitQQVNTIFNlbGVjdGVkIGRlZmF1bHQgdHJhY2sg
Yml0cmF0ZXMgYXJlIG5vdCBjaGFuZ2VkIGJ5IHN0YXJ0KCkgCitQQVNTIFBhc3NlZC1pbiB0cmFj
ayBiaXRyYXRlcyBhcmUgbm90IGNoYW5nZWQgYnkgc3RhcnQoKSAKK1BBU1MgUGFzc2luZyBiaXRz
UGVyU2Vjb25kIGZvciBhdWRpby92aWRlbyBzdHJlYW0gZG9lcyBub3QgY2hhbmdlIHRyYWNrIGJp
dHJhdGVzIGluIHN0YXJ0KCkgCitGQUlMIFBhc3NpbmcgYml0c1BlclNlY29uZCBmb3IgYXVkaW8g
c3RyZWFtIHNldHMgdmlkZW8gdHJhY2sgYml0cmF0ZSB0byAwIGluIHN0YXJ0KCkgYXNzZXJ0X2Fw
cHJveF9lcXVhbHM6IGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAidW5kZWZpbmVkIgorRkFJ
TCBQYXNzaW5nIGJpdHNQZXJTZWNvbmQgZm9yIHZpZGVvIHN0cmVhbSBzZXRzIGF1ZGlvIHRyYWNr
IGJpdHJhdGUgdG8gMCBpbiBzdGFydCgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChudW1iZXIp
IDAgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01l
ZGlhUmVjb3JkZXItYml0cmF0ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItYml0
cmF0ZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3MmMwNjYxY2I3YjU5ODFiMmRlNjcxNDU4ZTJk
YTM1OTI1MTZkMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1iaXRy
YXRlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwyMjYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5NZWRpYVJlY29yZGVyIHthdWRpb3x2aWRlb31iaXRzUGVyU2Vjb25k
IGF0dHJpYnV0ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5n
aXRodWIuaW8vbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLmh0bWwiPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPHNj
cmlwdD4KKworLyoKKyAqIFRoZSBiaXRyYXRlIGhhbmRsaW5nIGlzIGRpZmZpY3VsdCB0byB0ZXN0
LCBnaXZlbiB0aGF0IHRoZSBzcGVjIHVzZXMgdGV4dCBzdWNoCisgKiBhczogInZhbHVlcyB0aGUg
VXNlciBBZ2VudCBkZWVtcyByZWFzb25hYmxlIiBhbmQgInN1Y2ggdGhhdCB0aGUgc3VtIG9mCisg
KiB2aWRlb0JpdHNQZXJTZWNvbmQgYW5kIGF1ZGlvQml0c1BlclNlY29uZCBpcyBjbG9zZSB0byB0
aGUgdmFsdWUgb2YgcmVjb3JkZXLigJlzCisgKiBbW0NvbnN0cmFpbmVkQml0c1BlclNlY29uZF1d
IHNsb3QiLiBGb3IgY2FzZXMgbGlrZSB0aGF0IHRoaXMgdGVzdCB0cmllcyB0bworICogdXNlIHZh
bHVlcyB0aGF0IGFyZSByZWFzb25hYmxlIGZvciB0aGUgdGVzdGVkIHRyYWNrIHR5cGVzLiBTaG91
bGQgYSBVQSB2ZW5kb3IKKyAqIHNlZSBhIG5lZWQgdG8gdXBkYXRlIHRoaXMgdG8gZml0IHRoZWly
IGRlZmluaXRpb24gb2YgcmVhc29uYWJsZSwgdGhleSBzaG91bGQKKyAqIGZlZWwgZnJlZSB0byBk
byBzbywgZG9pbmcgdGhlaXIgYmVzdCB0byBhdm9pZCByZWdyZXNzaW5nIGV4aXN0aW5nIGNvbXBs
aWFudAorICogaW1wbGVtZW50YXRpb25zLgorICovCisKK2FzeW5jIGZ1bmN0aW9uIGdldFN0cmVh
bSh0LCBjb25zdHJhaW50cykgeworICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVk
aWFEZXZpY2VzLmdldFVzZXJNZWRpYShjb25zdHJhaW50cyk7CisgIGNvbnN0IHRyYWNrcyA9IHN0
cmVhbS5nZXRUcmFja3MoKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB0cmFja3MuZm9yRWFjaCh0
ciA9PiB0ci5zdG9wKCkpKTsKKyAgcmV0dXJuIHN0cmVhbTsKK30KKworZnVuY3Rpb24gZ2V0QXVk
aW9TdHJlYW0odCkgeworICByZXR1cm4gZ2V0U3RyZWFtKHQsIHthdWRpbzogdHJ1ZX0pOworfQor
CitmdW5jdGlvbiBnZXRWaWRlb1N0cmVhbSh0KSB7CisgIHJldHVybiBnZXRTdHJlYW0odCwge3Zp
ZGVvOiB0cnVlfSk7Cit9CisKK2Z1bmN0aW9uIGdldEF1ZGlvVmlkZW9TdHJlYW0odCkgeworICBy
ZXR1cm4gZ2V0U3RyZWFtKHQsIHthdWRpbzogdHJ1ZSwgdmlkZW86IHRydWV9KTsKK30KKworY29u
c3QgQVVESU9fQklUUkFURSA9IDFlNTsgICAgICAvLyAxMDBrYnBzCitjb25zdCBWSURFT19CSVRS
QVRFID0gMWU2OyAgICAgIC8vIDFNYnBzCitjb25zdCBMT1dfVE9UQUxfQklUUkFURSA9IDVlNTsg
IC8vIDUwMGticHMKK2NvbnN0IEhJR0hfVE9UQUxfQklUUkFURSA9IDJlNjsgLy8gMk1icHMKK2Nv
bnN0IEJJVFJBVEVfRVBTSUxPTiA9IDFlNTsgICAgLy8gMTAwa2JwcworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgIGNvbnN0IHJlYyA9IG5ldyBNZWRpYVJlY29yZGVyKGF3YWl0IGdldEF1
ZGlvVmlkZW9TdHJlYW0odCkpOworICBhc3NlcnRfbm90X2VxdWFscyhyZWMuYXVkaW9CaXRzUGVy
U2Vjb25kLCAwKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwg
MCk7Cit9LCAiUGFzc2luZyBubyBiaXRyYXRlIGNvbmZpZyByZXN1bHRzIGluIGRlZmF1bHRzIik7
CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVjID0gbmV3IE1lZGlhUmVj
b3JkZXIoYXdhaXQgZ2V0QXVkaW9WaWRlb1N0cmVhbSh0KSwgeworICAgIGJpdHNQZXJTZWNvbmQ6
IDAsCisgIH0pOworICBhc3NlcnRfbm90X2VxdWFscyhyZWMuYXVkaW9CaXRzUGVyU2Vjb25kLCAw
KTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwgMCk7CisgIGFz
c2VydF9hcHByb3hfZXF1YWxzKHJlYy5hdWRpb0JpdHNQZXJTZWNvbmQgKyByZWMudmlkZW9CaXRz
UGVyU2Vjb25kLCAwLAorICAgIEJJVFJBVEVfRVBTSUxPTik7Cit9LCAiUGFzc2luZyBiaXRzUGVy
U2Vjb25kOjAgcmVzdWx0cyBpbiB0YXJnZXRzIGNsb3NlIHRvIDAiKTsKKworcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICBjb25zdCByZWMgPSBuZXcgTWVkaWFSZWNvcmRlcihhd2FpdCBnZXRB
dWRpb1ZpZGVvU3RyZWFtKHQpLCB7CisgICAgYXVkaW9CaXRzUGVyU2Vjb25kOiAwLAorICB9KTsK
KyAgYXNzZXJ0X2VxdWFscyhyZWMuYXVkaW9CaXRzUGVyU2Vjb25kLCAwKTsKKyAgYXNzZXJ0X25v
dF9lcXVhbHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwgMCk7Cit9LCAiUGFzc2luZyBvbmx5IGF1
ZGlvQml0c1BlclNlY29uZDowIHJlc3VsdHMgaW4gMCBmb3IgYXVkaW8sIGRlZmF1bHQgZm9yIHZp
ZGVvIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVjID0gbmV3IE1l
ZGlhUmVjb3JkZXIoYXdhaXQgZ2V0QXVkaW9WaWRlb1N0cmVhbSh0KSwgeworICAgIHZpZGVvQml0
c1BlclNlY29uZDogMCwKKyAgfSk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHJlYy5hdWRpb0JpdHNQ
ZXJTZWNvbmQsIDApOworICBhc3NlcnRfZXF1YWxzKHJlYy52aWRlb0JpdHNQZXJTZWNvbmQsIDAp
OworfSwgIlBhc3Npbmcgb25seSB2aWRlb0JpdHNQZXJTZWNvbmQ6MCByZXN1bHRzIGluIDAgZm9y
IHZpZGVvLCBkZWZhdWx0IGZvciBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgIGNvbnN0IHJlYyA9IG5ldyBNZWRpYVJlY29yZGVyKGF3YWl0IGdldEF1ZGlvVmlkZW9TdHJl
YW0odCksIHsKKyAgICBiaXRzUGVyU2Vjb25kOiAwLAorICAgIGF1ZGlvQml0c1BlclNlY29uZDog
QVVESU9fQklUUkFURSwKKyAgICB2aWRlb0JpdHNQZXJTZWNvbmQ6IFZJREVPX0JJVFJBVEUsCisg
IH0pOworICBhc3NlcnRfbm90X2VxdWFscyhyZWMuYXVkaW9CaXRzUGVyU2Vjb25kLCAwKTsKKyAg
YXNzZXJ0X25vdF9lcXVhbHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwgMCk7CisgIGFzc2VydF9h
cHByb3hfZXF1YWxzKHJlYy5hdWRpb0JpdHNQZXJTZWNvbmQgKyByZWMudmlkZW9CaXRzUGVyU2Vj
b25kLCAwLAorICAgIEJJVFJBVEVfRVBTSUxPTik7Cit9LCAiUGFzc2luZyBiaXRzUGVyU2Vjb25k
OjAgb3ZlcnJpZGVzIGF1ZGlvL3ZpZGVvLXNwZWNpZmljIHZhbHVlcyIpOworCitwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHJlYyA9IG5ldyBNZWRpYVJlY29yZGVyKGF3YWl0IGdl
dEF1ZGlvVmlkZW9TdHJlYW0odCksIHsKKyAgICBiaXRzUGVyU2Vjb25kOiBISUdIX1RPVEFMX0JJ
VFJBVEUsCisgICAgYXVkaW9CaXRzUGVyU2Vjb25kOiAwLAorICAgIHZpZGVvQml0c1BlclNlY29u
ZDogMCwKKyAgfSk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHJlYy5hdWRpb0JpdHNQZXJTZWNvbmQs
IDApOworICBhc3NlcnRfbm90X2VxdWFscyhyZWMudmlkZW9CaXRzUGVyU2Vjb25kLCAwKTsKKyAg
YXNzZXJ0X2FwcHJveF9lcXVhbHMocmVjLmF1ZGlvQml0c1BlclNlY29uZCArIHJlYy52aWRlb0Jp
dHNQZXJTZWNvbmQsCisgICAgSElHSF9UT1RBTF9CSVRSQVRFLCBCSVRSQVRFX0VQU0lMT04pOwor
fSwgIlBhc3NpbmcgYml0c1BlclNlY29uZCBvdmVycmlkZXMgYXVkaW8vdmlkZW8gemVybyB2YWx1
ZXMiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCByZWMgPSBuZXcgTWVk
aWFSZWNvcmRlcihhd2FpdCBnZXRBdWRpb1ZpZGVvU3RyZWFtKHQpLCB7CisgICAgYml0c1BlclNl
Y29uZDogSElHSF9UT1RBTF9CSVRSQVRFLAorICB9KTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMocmVj
LmF1ZGlvQml0c1BlclNlY29uZCwgMCk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHJlYy52aWRlb0Jp
dHNQZXJTZWNvbmQsIDApOworICBhc3NlcnRfYXBwcm94X2VxdWFscyhyZWMuYXVkaW9CaXRzUGVy
U2Vjb25kICsgcmVjLnZpZGVvQml0c1BlclNlY29uZCwKKyAgICBISUdIX1RPVEFMX0JJVFJBVEUs
IEJJVFJBVEVfRVBTSUxPTik7Cit9LCAiUGFzc2luZyBiaXRzUGVyU2Vjb25kIHNldHMgYXVkaW8v
dmlkZW8gYml0cmF0ZSB2YWx1ZXMiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBj
b25zdCByZWMgPSBuZXcgTWVkaWFSZWNvcmRlcihhd2FpdCBnZXRBdWRpb1ZpZGVvU3RyZWFtKHQp
LCB7CisgICAgYXVkaW9CaXRzUGVyU2Vjb25kOiBBVURJT19CSVRSQVRFLAorICB9KTsKKyAgYXNz
ZXJ0X2VxdWFscyhyZWMuYXVkaW9CaXRzUGVyU2Vjb25kLCBBVURJT19CSVRSQVRFKTsKKyAgYXNz
ZXJ0X25vdF9lcXVhbHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwgMCk7Cit9LCAiUGFzc2luZyBv
bmx5IGF1ZGlvQml0c1BlclNlY29uZCByZXN1bHRzIGluIGRlZmF1bHQgZm9yIHZpZGVvIik7CisK
K3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVjID0gbmV3IE1lZGlhUmVjb3Jk
ZXIoYXdhaXQgZ2V0QXVkaW9WaWRlb1N0cmVhbSh0KSwgeworICAgIHZpZGVvQml0c1BlclNlY29u
ZDogVklERU9fQklUUkFURSwKKyAgfSk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHJlYy5hdWRpb0Jp
dHNQZXJTZWNvbmQsIDApOworICBhc3NlcnRfZXF1YWxzKHJlYy52aWRlb0JpdHNQZXJTZWNvbmQs
IFZJREVPX0JJVFJBVEUpOworfSwgIlBhc3Npbmcgb25seSB2aWRlb0JpdHNQZXJTZWNvbmQgcmVz
dWx0cyBpbiBkZWZhdWx0IGZvciBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgIGNvbnN0IHJlYyA9IG5ldyBNZWRpYVJlY29yZGVyKGF3YWl0IGdldEF1ZGlvU3RyZWFtKHQp
LCB7CisgICAgdmlkZW9CaXRzUGVyU2Vjb25kOiBWSURFT19CSVRSQVRFLAorICB9KTsKKyAgYXNz
ZXJ0X25vdF9lcXVhbHMocmVjLmF1ZGlvQml0c1BlclNlY29uZCwgMCk7CisgIGFzc2VydF9lcXVh
bHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwgVklERU9fQklUUkFURSk7Cit9LCAiUGFzc2luZyB2
aWRlb0JpdHNQZXJTZWNvbmQgZm9yIGF1ZGlvLW9ubHkgc3RyZWFtIHN0aWxsIHJlc3VsdHMgaW4g
c29tZXRoaW5nIGZvciB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNv
bnN0IHJlYyA9IG5ldyBNZWRpYVJlY29yZGVyKGF3YWl0IGdldFZpZGVvU3RyZWFtKHQpLCB7Cisg
ICAgYXVkaW9CaXRzUGVyU2Vjb25kOiBBVURJT19CSVRSQVRFLAorICB9KTsKKyAgYXNzZXJ0X2Vx
dWFscyhyZWMuYXVkaW9CaXRzUGVyU2Vjb25kLCBBVURJT19CSVRSQVRFKTsKKyAgYXNzZXJ0X25v
dF9lcXVhbHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwgMCk7Cit9LCAiUGFzc2luZyBhdWRpb0Jp
dHNQZXJTZWNvbmQgZm9yIHZpZGVvLW9ubHkgc3RyZWFtIHN0aWxsIHJlc3VsdHMgaW4gc29tZXRo
aW5nIGZvciBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHJl
YyA9IG5ldyBNZWRpYVJlY29yZGVyKGF3YWl0IGdldEF1ZGlvU3RyZWFtKHQpLCB7CisgICAgYml0
c1BlclNlY29uZDogSElHSF9UT1RBTF9CSVRSQVRFLAorICB9KTsKKyAgYXNzZXJ0X25vdF9lcXVh
bHMocmVjLmF1ZGlvQml0c1BlclNlY29uZCwgMCk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHJlYy52
aWRlb0JpdHNQZXJTZWNvbmQsIDApOworfSwgIlBhc3NpbmcgYml0c1BlclNlY29uZCBmb3IgYXVk
aW8tb25seSBzdHJlYW0gc3RpbGwgcmVzdWx0cyBpbiBzb21ldGhpbmcgZm9yIHZpZGVvIik7CisK
K3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVjID0gbmV3IE1lZGlhUmVjb3Jk
ZXIoYXdhaXQgZ2V0VmlkZW9TdHJlYW0odCksIHsKKyAgICBiaXRzUGVyU2Vjb25kOiBISUdIX1RP
VEFMX0JJVFJBVEUsCisgIH0pOworICBhc3NlcnRfbm90X2VxdWFscyhyZWMuYXVkaW9CaXRzUGVy
U2Vjb25kLCAwKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwg
MCk7Cit9LCAiUGFzc2luZyBiaXRzUGVyU2Vjb25kIGZvciB2aWRlby1vbmx5IHN0cmVhbSBzdGls
bCByZXN1bHRzIGluIHNvbWV0aGluZyBmb3IgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICBjb25zdCByZWMgPSBuZXcgTWVkaWFSZWNvcmRlcihhd2FpdCBnZXRBdWRpb1Zp
ZGVvU3RyZWFtKHQpKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWMuc3RvcCgpKTsKKyAgY29u
c3QgYWJwcyA9IHJlYy5hdWRpb0JpdHNQZXJTZWNvbmQ7CisgIGNvbnN0IHZicHMgPSByZWMudmlk
ZW9CaXRzUGVyU2Vjb25kOworICByZWMuc3RhcnQoKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWMuYXVk
aW9CaXRzUGVyU2Vjb25kLCBhYnBzKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWMudmlkZW9CaXRzUGVy
U2Vjb25kLCB2YnBzKTsKK30sICJTZWxlY3RlZCBkZWZhdWx0IHRyYWNrIGJpdHJhdGVzIGFyZSBu
b3QgY2hhbmdlZCBieSBzdGFydCgpIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
Y29uc3QgcmVjID0gbmV3IE1lZGlhUmVjb3JkZXIoYXdhaXQgZ2V0QXVkaW9WaWRlb1N0cmVhbSh0
KSwgeworICAgIGF1ZGlvQml0c1BlclNlY29uZDogQVVESU9fQklUUkFURSwKKyAgICB2aWRlb0Jp
dHNQZXJTZWNvbmQ6IFZJREVPX0JJVFJBVEUsCisgIH0pOworICB0LmFkZF9jbGVhbnVwKCgpID0+
IHJlYy5zdG9wKCkpOworICBjb25zdCBhYnBzID0gcmVjLmF1ZGlvQml0c1BlclNlY29uZDsKKyAg
Y29uc3QgdmJwcyA9IHJlYy52aWRlb0JpdHNQZXJTZWNvbmQ7CisgIHJlYy5zdGFydCgpOworICBh
c3NlcnRfZXF1YWxzKHJlYy5hdWRpb0JpdHNQZXJTZWNvbmQsIGFicHMpOworICBhc3NlcnRfZXF1
YWxzKHJlYy52aWRlb0JpdHNQZXJTZWNvbmQsIHZicHMpOworfSwgIlBhc3NlZC1pbiB0cmFjayBi
aXRyYXRlcyBhcmUgbm90IGNoYW5nZWQgYnkgc3RhcnQoKSIpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CisgIGNvbnN0IHJlYyA9IG5ldyBNZWRpYVJlY29yZGVyKGF3YWl0IGdldEF1ZGlv
VmlkZW9TdHJlYW0odCksIHsKKyAgICBiaXRzUGVyU2Vjb25kOiBISUdIX1RPVEFMX0JJVFJBVEUs
CisgIH0pOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHJlYy5zdG9wKCkpOworICBjb25zdCBhYnBz
ID0gcmVjLmF1ZGlvQml0c1BlclNlY29uZDsKKyAgY29uc3QgdmJwcyA9IHJlYy52aWRlb0JpdHNQ
ZXJTZWNvbmQ7CisgIHJlYy5zdGFydCgpOworICBhc3NlcnRfZXF1YWxzKHJlYy5hdWRpb0JpdHNQ
ZXJTZWNvbmQsIGFicHMpOworICBhc3NlcnRfZXF1YWxzKHJlYy52aWRlb0JpdHNQZXJTZWNvbmQs
IHZicHMpOworfSwgIlBhc3NpbmcgYml0c1BlclNlY29uZCBmb3IgYXVkaW8vdmlkZW8gc3RyZWFt
IGRvZXMgbm90IGNoYW5nZSB0cmFjayBiaXRyYXRlcyBpbiBzdGFydCgpIik7CisKK3Byb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVjID0gbmV3IE1lZGlhUmVjb3JkZXIoYXdhaXQg
Z2V0QXVkaW9TdHJlYW0odCksIHsKKyAgICBiaXRzUGVyU2Vjb25kOiBMT1dfVE9UQUxfQklUUkFU
RSwKKyAgfSk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gcmVjLnN0b3AoKSk7CisgIGNvbnN0IGFi
cHMgPSByZWMuYXVkaW9CaXRzUGVyU2Vjb25kOworICBjb25zdCB2YnBzID0gcmVjLnZpZGVvQml0
c1BlclNlY29uZDsKKyAgcmVjLnN0YXJ0KCk7CisgIGFzc2VydF9hcHByb3hfZXF1YWxzKHJlYy5h
dWRpb0JpdHNQZXJTZWNvbmQsIExPV19UT1RBTF9CSVRSQVRFLAorICAgIEJJVFJBVEVfRVBTSUxP
Tik7CisgIGFzc2VydF9lcXVhbHMocmVjLnZpZGVvQml0c1BlclNlY29uZCwgMCk7CisgIGFzc2Vy
dF9ub3RfZXF1YWxzKHJlYy5hdWRpb0JpdHNQZXJTZWNvbmQsIGFicHMpOworICBhc3NlcnRfbm90
X2VxdWFscyhyZWMudmlkZW9CaXRzUGVyU2Vjb25kLCB2YnBzKTsKK30sICJQYXNzaW5nIGJpdHNQ
ZXJTZWNvbmQgZm9yIGF1ZGlvIHN0cmVhbSBzZXRzIHZpZGVvIHRyYWNrIGJpdHJhdGUgdG8gMCBp
biBzdGFydCgpIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVjID0g
bmV3IE1lZGlhUmVjb3JkZXIoYXdhaXQgZ2V0VmlkZW9TdHJlYW0odCksIHsKKyAgICBiaXRzUGVy
U2Vjb25kOiBISUdIX1RPVEFMX0JJVFJBVEUsCisgIH0pOworICB0LmFkZF9jbGVhbnVwKCgpID0+
IHJlYy5zdG9wKCkpOworICBjb25zdCBhYnBzID0gcmVjLmF1ZGlvQml0c1BlclNlY29uZDsKKyAg
Y29uc3QgdmJwcyA9IHJlYy52aWRlb0JpdHNQZXJTZWNvbmQ7CisgIHJlYy5zdGFydCgpOworICBh
c3NlcnRfZXF1YWxzKHJlYy5hdWRpb0JpdHNQZXJTZWNvbmQsIDApOworICBhc3NlcnRfYXBwcm94
X2VxdWFscyhyZWMudmlkZW9CaXRzUGVyU2Vjb25kLCBISUdIX1RPVEFMX0JJVFJBVEUsCisgICAg
QklUUkFURV9FUFNJTE9OKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMocmVjLmF1ZGlvQml0c1BlclNl
Y29uZCwgYWJwcyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHJlYy52aWRlb0JpdHNQZXJTZWNvbmQs
IHZicHMpOworfSwgIlBhc3NpbmcgYml0c1BlclNlY29uZCBmb3IgdmlkZW8gc3RyZWFtIHNldHMg
YXVkaW8gdHJhY2sgYml0cmF0ZSB0byAwIGluIHN0YXJ0KCkiKTsKKzwvc2NyaXB0PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItY3JlYXRpb24uaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItY3JlYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVkZWY0ZjgyYWMzZjRhOTliZmJkMWI1MDY2NTJmOWQzMDNjZmVlYzcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1jcmVhdGlvbi5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgVmlkZW8tb25seSBNZWRpYVJlY29yZGVy
IAorUEFTUyBBdWRpby1vbmx5IE1lZGlhUmVjb3JkZXIgCitQQVNTIFZpZGVvK0F1ZGlvIE1lZGlh
UmVjb3JkZXIgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWNyZWF0aW9uLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1jcmVhdGlvbi5odHRwcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI3MjRjYTE0NTAzYTg3YWIwNmViNWUxMmM0NjlmY2NkM2RkM2ZkZTkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1jcmVhdGlvbi5odHRwcy5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPHRpdGxlPk1l
ZGlhUmVjb3JkZXIgQ3JlYXRpb248L3RpdGxlPgorICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXIuaHRt
bCNtZWRpYXJlY29yZGVyIj4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8c2NyaXB0PgorICAvLyBUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBNZWRpYVJlY29yZGVyIGNhbiBiZSBjcmVhdGVkIHdpdGggZGlmZmVyZW50IE1lZGlh
CisgIC8vIFN0cmVhbSBUcmFjayBjb21iaW5hdGlvbnM6IDEgVmlkZW8gVHJhY2sgb25seSwgMSBB
dWRpbyBUcmFjayBvbmx5IGFuZCBmaW5hbGx5CisgIC8vIGEgTWVkaWEgU3RyZWFtIHdpdGggYm90
aCBhIFZpZGVvIGFuZCBhbiBBdWRpbyBUcmFjay4gTm90ZSB0aGF0IHJlY29yZGluZyBpcworICAv
LyBfbm90XyBzdGFydGVkIGluIHRoaXMgdGVzdCwgc2VlIE1lZGlhUmVjb3JkZXItYXVkaW8tdmlk
ZW8uaHRtbCBmb3IgaXQuCisKKyAgZnVuY3Rpb24gbWFrZUFzeW5jVGVzdChjb25zdHJhaW50cywg
dmVyaWZ5U3RyZWFtLCBtZXNzYWdlKSB7CisgICAgYXN5bmNfdGVzdChmdW5jdGlvbih0ZXN0KSB7
CisKKyAgICAgIGNvbnN0IGdvdFN0cmVhbSA9IHRlc3Quc3RlcF9mdW5jKGZ1bmN0aW9uKHN0cmVh
bSkgeworICAgICAgICB2ZXJpZnlTdHJlYW0oc3RyZWFtKTsKKworICAgICAgICB2YXIgcmVjb3Jk
ZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0pOworICAgICAgICBhc3NlcnRfZXF1YWxzKHJl
Y29yZGVyLnN0YXRlLCAiaW5hY3RpdmUiKTsKKyAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMocmVj
b3JkZXIudmlkZW9CaXRzUGVyU2Vjb25kLCAwKTsKKyAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMo
cmVjb3JkZXIuYXVkaW9CaXRzUGVyU2Vjb25kLCAwKTsKKyAgICAgICAgdGVzdC5kb25lKCk7Cisg
ICAgICB9KTsKKworICAgICAgY29uc3Qgb25FcnJvciA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoJ0Vy
cm9yIGNyZWF0aW5nIE1lZGlhU3RyZWFtLicpOworICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXRVc2VyTWVkaWEoY29uc3RyYWludHMpLnRoZW4oZ290U3RyZWFtLCBvbkVycm9yKTsKKyAg
ICB9LCBtZXNzYWdlKTsKKyAgfQorCisgIGZ1bmN0aW9uIHZlcmlmeVZpZGVvT25seVN0cmVhbShz
dHJlYW0pIHsKKyAgICBhc3NlcnRfZXF1YWxzKHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0
aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKS5sZW5ndGgs
IDEpOworICAgIGFzc2VydF9lcXVhbHMoc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0ucmVhZHlT
dGF0ZSwgJ2xpdmUnKTsKKyAgfQorICBmdW5jdGlvbiB2ZXJpZnlBdWRpb09ubHlTdHJlYW0oc3Ry
ZWFtKSB7CisgICAgYXNzZXJ0X2VxdWFscyhzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGgs
IDEpOworICAgIGFzc2VydF9lcXVhbHMoc3RyZWFtLmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoLCAw
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdLnJlYWR5U3Rh
dGUsICdsaXZlJyk7CisgIH0KKyAgZnVuY3Rpb24gdmVyaWZ5QXVkaW9WaWRlb1N0cmVhbShzdHJl
YW0pIHsKKyAgICBhc3NlcnRfZXF1YWxzKHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCwg
MSk7CisgICAgYXNzZXJ0X2VxdWFscyhzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKS5sZW5ndGgsIDEp
OworICAgIGFzc2VydF9lcXVhbHMoc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0ucmVhZHlTdGF0
ZSwgJ2xpdmUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBd
LnJlYWR5U3RhdGUsICdsaXZlJyk7CisgIH0KKworICAvLyBOb3RlOiB3ZWJraXRHZXRVc2VyTWVk
aWEoKSBtdXN0IGJlIGNhbGxlZCB3aXRoIGF0IGxlYXN0IHZpZGVvIG9yIGF1ZGlvIHRydWUuCisg
IG1ha2VBc3luY1Rlc3Qoe3ZpZGVvOnRydWV9LCB2ZXJpZnlWaWRlb09ubHlTdHJlYW0sICdWaWRl
by1vbmx5IE1lZGlhUmVjb3JkZXInKTsKKyAgbWFrZUFzeW5jVGVzdCh7YXVkaW86dHJ1ZX0sIHZl
cmlmeUF1ZGlvT25seVN0cmVhbSwgJ0F1ZGlvLW9ubHkgTWVkaWFSZWNvcmRlcicpOworICBtYWtl
QXN5bmNUZXN0KHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSwgdmVyaWZ5QXVkaW9WaWRlb1N0cmVh
bSwgJ1ZpZGVvK0F1ZGlvIE1lZGlhUmVjb3JkZXInKTsKKworPC9zY3JpcHQ+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1kZXRhY2hlZC1jb250ZXh0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWRldGFjaGVkLWNvbnRleHQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmUxOGM4N2UyNjE2YTM2NzlkZjE5Mzc3N2Y2Y2EzMjBhYWZmNjhiNzkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1kZXRhY2hlZC1jb250ZXh0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBNZWRpYVJlY29yZGVyIGNyZWF0aW9u
IHdpdGggZGV0YWNoZWQgY29udGV4dCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiTm90QWxsb3dl
ZEVycm9yIiBidXQgZ290ICJOb3RTdXBwb3J0ZWRFcnJvciIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L01lZGlhUmVjb3JkZXItZGV0YWNoZWQtY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3Jk
ZXItZGV0YWNoZWQtY29udGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4YTg2OTlhZDlmYjYyMjkxY2Y2
OGFiMzBjZjg4ZTIyYjcxYmZlMTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNv
cmRlci1kZXRhY2hlZC1jb250ZXh0Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8dGl0bGU+TWVkaWFSZWNvcmRlciBEZXRhY2hlZCBDb250
ZXh0PC90aXRsZT4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLmh0bWwjbWVkaWFyZWNvcmRlciI+
CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICBhc3luY190ZXN0KHQgPT4geworICAgIGNvbnN0
IGZyYW1lID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdpZnJhbWUnKSk7CisgICAgY29uc3QgcmVjb3JkZXJGdW5jID0gZnJhbWUuY29udGVudFdpbmRv
dy5NZWRpYVJlY29yZGVyOworICAgIGZyYW1lLnJlbW92ZSgpOworCisgICAgdHJ5IHsKKyAgICAg
IG5ldyByZWNvcmRlckZ1bmMobmV3IE1lZGlhU3RyZWFtKTsKKyAgICB9IGNhdGNoIChlcnIpIHsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZXJyLm5hbWUsICdOb3RBbGxvd2VkRXJyb3InKTsKKyAgICAg
IHQuZG9uZSgpOworICAgIH0KKyAgICBhc3NlcnRfdW5yZWFjaGVkKCdNZWRpYVJlY29yZGVyIHNo
b3VsZCBoYXZlIGZhaWxlZCcpOworICB9LCAnTWVkaWFSZWNvcmRlciBjcmVhdGlvbiB3aXRoIGRl
dGFjaGVkIGNvbnRleHQnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZGlzYWJsZWQtdHJhY2tzLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWRpc2FibGVkLXRyYWNrcy5odHRwcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzI0Mjc3YzVmYzgzMjkyYmJlZjZjMGNkOTdlZTQyNTRlNDY5ZWY5ZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWRpc2FibGVkLXRyYWNrcy5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgdmlkZW8tb25seSAKK1BB
U1MgYXVkaW8tb25seSAKK1BBU1MgYXVkaW8tdmlkZW8gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9N
ZWRpYVJlY29yZGVyLWRpc2FibGVkLXRyYWNrcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVj
b3JkZXItZGlzYWJsZWQtdHJhY2tzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk4YWVkMjM2Njhh
YjVkOGVlNzEwMjA0NGFhY2MzNGNjM2NlMDA0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9N
ZWRpYVJlY29yZGVyLWRpc2FibGVkLXRyYWNrcy5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTMgQEAK
KzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPHRpdGxlPk1lZGlhUmVjb3JkZXIg
RGlzYWJsZWQgVHJhY2tzPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3czYy5naXRodWIuaW8vbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLmh0bWwjbWVk
aWFyZWNvcmRlciI+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPHNjcmlwdD4KKworICAvLyBUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBNZWRpYVN0cmVhbSB3aXRoIGRpc2FibGVkIHRyYWNrcyBjYW4gYmUgY29ycmVjdGx5Cisg
IC8vIHJlY29yZGVkLiBTZWUgY3JidWcuY29tLzg3ODI1NSBmb3IgbW9yZSBjb250ZXh0LgorCisg
IFsgWyJ2aWRlby1vbmx5IiwgIHt2aWRlbzogdHJ1ZSwgIGF1ZGlvOiBmYWxzZX1dLAorICAgIFsi
YXVkaW8tb25seSIsICB7dmlkZW86IGZhbHNlLCBhdWRpbzogdHJ1ZX1dLAorICAgIFsiYXVkaW8t
dmlkZW8iLCB7dmlkZW86IHRydWUsICBhdWRpbzogdHJ1ZX1dXQorICAuZm9yRWFjaCggZnVuY3Rp
b24oYXJncykgeworICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24odGVzdCkgeworICAgICAgbGV0IHJl
Y29yZGVyOworICAgICAgY29uc3QgcmVjb3JkZXJPbkRhdGFBdmFpbGFibGUgPSB0ZXN0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihldmVudCkgeworICAgICAgICBpZiAocmVjb3JkZXIuc3RhdGUgIT0gInJl
Y29yZGluZyIpCisgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHJlY29yZGVyLm9uc3RvcCA9
IHJlY29yZGVyT25TdG9wRXhwZWN0ZWQ7CisgICAgICAgIHJlY29yZGVyLnN0b3AoKTsKKyAgICAg
IH0pOworCisgICAgICBjb25zdCByZWNvcmRlck9uU3RvcEV4cGVjdGVkID0gdGVzdC5zdGVwX2Z1
bmNfZG9uZSgpOworICAgICAgY29uc3QgcmVjb3JkZXJPblN0b3BVbmV4cGVjdGVkID0gdGVzdC51
bnJlYWNoZWRfZnVuYygnUmVjb3JkaW5nIHN0b3BwZWQuJyk7CisgICAgICBjb25zdCByZWNvcmRl
ck9uRXJyb3IgPSB0ZXN0LnVucmVhY2hlZF9mdW5jKCdSZWNvcmRpbmcgZXJyb3IuJyk7CisKKyAg
ICAgIGNvbnN0IGdvdFN0cmVhbSA9IHRlc3Quc3RlcF9mdW5jKGZ1bmN0aW9uKHN0cmVhbSkgewor
ICAgICAgICBmb3IgKHRyYWNrIG9mIHN0cmVhbS5nZXRUcmFja3MoKSkKKyAgICAgICAgICB0cmFj
ay5lbmFibGVkID0gZmFsc2U7CisKKyAgICAgICAgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRl
cihzdHJlYW0pOworCisgICAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICJpbmFj
dGl2ZSIpOworICAgICAgICByZWNvcmRlci5vbmRhdGFhdmFpbGFibGUgPSByZWNvcmRlck9uRGF0
YUF2YWlsYWJsZTsKKyAgICAgICAgcmVjb3JkZXIub25zdG9wID0gcmVjb3JkZXJPblN0b3BVbmV4
cGVjdGVkOworICAgICAgICByZWNvcmRlci5vbmVycm9yID0gcmVjb3JkZXJPbkVycm9yOworICAg
ICAgICByZWNvcmRlci5zdGFydCgpOworCisgICAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIu
c3RhdGUsICJyZWNvcmRpbmciKTsKKyAgICAgICAgcmVjb3JkZXIucmVxdWVzdERhdGEoKTsKKyAg
ICAgIH0pOworCisgICAgICBjb25zdCBvbkVycm9yID0gdGVzdC51bnJlYWNoZWRfZnVuYygnRXJy
b3IgY3JlYXRpbmcgTWVkaWFTdHJlYW0uJyk7CisgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldFVzZXJNZWRpYShhcmdzWzFdKS50aGVuKGdvdFN0cmVhbSwgb25FcnJvcik7CisgICAgfSwg
YXJnc1swXSk7CisgIH0pOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJl
Y29yZGVyLWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1lcnJvci5odG1sCmluZGV4
IGU3NjQ3ODMwODA4NzRjZTBlMGFjMzA4MGNiNzJlMGZjYmM0MWU1MDEuLjRkYWYyZDljZDFhNmRl
ODIxNjUxNTJmYWNmODhjNDc0MmViMDA1MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29y
ZGVyLWVycm9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXJyb3IuaHRtbApAQCAt
Nyw3ICs3LDcgQEAKICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyI+Cis8
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIj4KIDwvY2FudmFzPgog
PHNjcmlwdD4KICAgICBmdW5jdGlvbiBjcmVhdGVBdWRpb1N0cmVhbSgpIHsKQEAgLTIwLDkgKzIw
LDE4IEBACiAKICAgICBmdW5jdGlvbiBjcmVhdGVWaWRlb1N0cmVhbSgpIHsKICAgICAgICAgbGV0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKKyAgICAgICAgY2Fu
dmFzLmdldENvbnRleHQoJzJkJykubGluZVRvKDEwLCAxMCk7CiAgICAgICAgIHJldHVybiBjYW52
YXMuY2FwdHVyZVN0cmVhbSgpOwogICAgIH0KIAorICAgIGZ1bmN0aW9uIGRyYXdTb21ldGhpbmdP
bkNhbnZhcygpIHsKKyAgICAgICAgbGV0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjYW52YXMiKTsKKyAgICAgICAgLy8gRHJhd2luZyBzb21ldGhpbmcgb24gdGhlIGNhbnZhcyBn
ZW5lcmF0ZXMgYSBmcmFtZSBpbiBpdHMgY2FwdHVyZWQgc3RyZWFtLgorICAgICAgICBsZXQgY29u
dGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworICAgICAgICBjb250ZXh0LmZpbGxTdHls
ZSA9ICJyZWQiOworICAgICAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDEwLCAxMCk7CisgICAg
fQorCiAgICAgYXN5bmNfdGVzdCh0ID0+IHsKICAgICAgICAgbGV0IHZpZGVvID0gY3JlYXRlVmlk
ZW9TdHJlYW0oKTsKICAgICAgICAgbGV0IGF1ZGlvID0gY3JlYXRlQXVkaW9TdHJlYW0oKTsKQEAg
LTM3LDEwICs0NiwxMSBAQAogICAgICAgICByZWNvcmRlci5zdGFydCgpOwogICAgICAgICBhc3Nl
cnRfZXF1YWxzKHJlY29yZGVyLnN0YXRlLCAicmVjb3JkaW5nIiwgIk1lZGlhUmVjb3JkZXIgaGFz
IGJlZW4gc3RhcnRlZCBzdWNjZXNzZnVsbHkiKTsKICAgICAgICAgdmlkZW8uYWRkVHJhY2soYXVk
aW8uZ2V0QXVkaW9UcmFja3MoKVswXSk7CisgICAgICAgIGRyYXdTb21ldGhpbmdPbkNhbnZhcygp
OwogICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnRfdW5y
ZWFjaGVkKCJlcnJvciBldmVudCBpcyBub3QgZmlyZWQgYWZ0ZXIgMiBzZWNvbmRzIik7CiAgICAg
ICAgIH0sIDIwMDApOwotICAgIH0sICJNZWRpYVJlY29yZGVyIHdpbGwgc3RvcCByZWNvcmRpbmcg
d2hlbiBhbnkgb2YgdHJhY2sgaXMgYWRkZWQgYW5kIGVycm9yIGV2ZW50IHdpbGwgYmUgZmlyZWQi
LCB7IHRpbWVvdXQ6IDEwMDAwIH0pOworICAgIH0sICJNZWRpYVJlY29yZGVyIHdpbGwgc3RvcCBy
ZWNvcmRpbmcgd2hlbiBhbnkgb2YgdHJhY2sgaXMgYWRkZWQgYW5kIGVycm9yIGV2ZW50IHdpbGwg
YmUgZmlyZWQiKTsKIAogICAgIGFzeW5jX3Rlc3QodCA9PiB7CiAgICAgICAgIGxldCB2aWRlbyA9
IGNyZWF0ZVZpZGVvU3RyZWFtKCk7CkBAIC01NSwyMCArNjUsMjEgQEAKICAgICAgICAgcmVjb3Jk
ZXIuc3RhcnQoKTsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgInJlY29y
ZGluZyIsICJNZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5Iik7CiAg
ICAgICAgIHZpZGVvLnJlbW92ZVRyYWNrKHZpZGVvLmdldFZpZGVvVHJhY2tzKClbMF0pOworICAg
ICAgICBkcmF3U29tZXRoaW5nT25DYW52YXMoKTsKICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkg
PT4gewogICAgICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiZXJyb3IgZXZlbnQgaXMgbm90IGZp
cmVkIGFmdGVyIDIgc2Vjb25kcyIpOwogICAgICAgICB9LCAyMDAwKTsKLSAgICB9LCAiTWVkaWFS
ZWNvcmRlciB3aWxsIHN0b3AgcmVjb3JkaW5nIHdoZW4gYW55IG9mIHRyYWNrIGlzIHJlbW92ZWQg
YW5kIGVycm9yIGV2ZW50IHdpbGwgYmUgZmlyZWQiLCB7IHRpbWVvdXQ6IDEwMDAwIH0pOworICAg
IH0sICJNZWRpYVJlY29yZGVyIHdpbGwgc3RvcCByZWNvcmRpbmcgd2hlbiBhbnkgb2YgdHJhY2sg
aXMgcmVtb3ZlZCBhbmQgZXJyb3IgZXZlbnQgd2lsbCBiZSBmaXJlZCIpOwogCiAgICAgdGVzdCh0
ID0+IHsKICAgICAgICAgbGV0IHZpZGVvID0gY3JlYXRlVmlkZW9TdHJlYW0oKTsKICAgICAgICAg
bGV0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIodmlkZW8pOwogICAgICAgICByZWNvcmRl
ci5zdGFydCgpOwogICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnN0YXRlLCAicmVjb3Jk
aW5nIiwgIk1lZGlhUmVjb3JkZXIgaGFzIGJlZW4gc3RhcnRlZCBzdWNjZXNzZnVsbHkiKTsKLSAg
ICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICByZWNvcmRlci5zdGFydCgpOwogICAgICAgICB9KTsKICAgICB9LCAiTWVk
aWFSZWNvcmRlciBjYW5ub3Qgc3RhcnQgcmVjb3JkaW5nIHdoZW4gTWVkaWFSZWNvcmRlcicgc3Rh
dGUgaXMgbm90IGluYWN0aXZlIGFuZCBhbiBJbnZhbGlkU3RhdGVFcnJvciBzaG91bGQgYmUgdGhy
b3duIik7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1ldmVudHMt
YW5kLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXZlbnRz
LWFuZC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjE4MDI2NGJmY2Q0ZDE2
YmEzYjdjMDA1OTBhYzg3MWNkYjEwZjUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlh
UmVjb3JkZXItZXZlbnRzLWFuZC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKKworRkFJTCBNZWRpYVJlY29yZGVyIGV2ZW50cyBhbmQgZXhjZXB0aW9ucyBhc3NlcnRfdGhy
b3dzX2RvbTogcmVjb3JkZXIgc2hvdWxkIHRocm93KCkgd2l0aCB1bnN1cHBvcnRlZCBtaW1lVHlw
ZSBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3Jk
ZXIgPSBuZXcgTWVkaWFSZWNvcmRlcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IE1l
ZGlhU3RyZWFtKCksIHttaW1lVHlwZSA6ICJ2aWRlby9pbnZhbGlkIn0pOworICAgICAgICAgICAg
ICAgICAgICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbm5vdCBhY2Nlc3Mg
dW5pbml0aWFsaXplZCB2YXJpYWJsZS4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdFN1
cHBvcnRlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBl
Y3RlZCA5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWV2ZW50cy1hbmQtZXhj
ZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXZlbnRzLWFuZC1leGNlcHRpb25z
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDVhYmYzYTA1YzM1ODRkZjNhMTk3MzVhMjQwMzAxNDFhMWIxMzAx
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWV2ZW50cy1hbmQtZXhj
ZXB0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTIyIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgICAgPHRpdGxlPk1lZGlhUmVjb3JkZXIgZXZlbnRzIGFuZCBleGNlcHRpb25zPC90
aXRsZT4KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9t
ZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXIuaHRtbCNtZWRpYXJlY29yZGVyIj4KKyAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIzMjAiIGhlaWdodD0i
MzIwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CisKKyAgLy8gVGhpcyB0ZXN0IGV4ZXJjaXNlcyB0aGUg
TWVkaWFSZWNvcmRlciBBUEkgZXZlbnQgc2VxdWVuY2U6CisgIC8vICAgb25TdGFydCAtPiBvblBh
dXNlIC0+IG9uUmVzdW1lIC0+IG9uRGF0YUF2YWlsYWJsZSAtPiBvblN0b3AKKyAgLy8gdmVyaWZ5
aW5nIHRoZSB8c3RhdGV8IGFuZCBhIGZldyBleGNlcHRpb25zIHRoYXQgYXJlIHN1cHBvc2VkIHRv
IGJlIHRocm93bgorICAvLyB3aGVuIGRvaW5nIHRoZSB3cm9uZyB0aGluZy4KKworICBmdW5jdGlv
biBjcmVhdGVWaWRlb1N0cmVhbSgpIHsKKyAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgICBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKS5saW5l
VG8oMTAsIDEwKTsKKyAgICAgIHJldHVybiBjYW52YXMuY2FwdHVyZVN0cmVhbSgpOworICB9CisK
KyAgZnVuY3Rpb24gZHJhd1NvbWV0aGluZ09uQ2FudmFzKCkgeworICAgICAgbGV0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKKyAgICAgIC8vIERyYXdpbmcgc29t
ZXRoaW5nIG9uIHRoZSBjYW52YXMgZ2VuZXJhdGVzIGEgZnJhbWUgaW4gaXRzIGNhcHR1cmVkIHN0
cmVhbS4KKyAgICAgIGxldCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7CisgICAg
ICBjb250ZXh0LmZpbGxTdHlsZSA9ICJyZWQiOworICAgICAgY29udGV4dC5maWxsUmVjdCgwLCAw
LCAxMCwgMTApOworICB9CisKKyAgYXN5bmNfdGVzdCh0ZXN0ID0+IHsKKworICAgIHJlY29yZGVy
T25VbmV4cGVjdGVkRXZlbnQgPSB0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICBhc3NlcnRf
dW5yZWFjaGVkKCdVbmV4cGVjdGVkIGV2ZW50LicpOworICAgIH0pOworCisgICAgcmVjb3JkZXJP
bkRhdGFBdmFpbGFibGUgPSB0ZXN0LnN0ZXBfZnVuYyhldmVudCA9PiB7CisgICAgICBhc3NlcnRf
ZXF1YWxzKHJlY29yZGVyLnN0YXRlLCAiaW5hY3RpdmUiKTsKKyAgICAgIGFzc2VydF9ub3RfZXF1
YWxzKGV2ZW50LmRhdGEuc2l6ZSwgMCwgJ1dlIHNob3VsZCBnZXQgYSBCbG9iIHdpdGggZGF0YScp
OworICAgIH0pOworCisgICAgcmVjb3JkZXJPblN0b3AgPSB0ZXN0LnN0ZXBfZnVuYyhmdW5jdGlv
bigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICJpbmFjdGl2ZSIpOwor
ICAgICAgcmVjb3JkZXIub25zdG9wID0gcmVjb3JkZXJPblVuZXhwZWN0ZWRFdmVudDsKKyAgICAg
IHJlY29yZGVyLnN0b3AoKTsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICJp
bmFjdGl2ZSIsICJzdG9wKCkgaXMgaWRlbXBvdGVudCIpOworICAgICAgYXNzZXJ0X3Rocm93c19k
b20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IHJlY29yZGVyLnBhdXNlKCkgfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICJyZWNvcmRlciBjYW5ub3QgYmUgcGF1c2UoKWVkIGlu
IHxpbmFjdGl2ZXwgc3RhdGUiKTsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3Rh
dGVFcnJvciIsIGZ1bmN0aW9uKCkgeyByZWNvcmRlci5yZXN1bWUoKSB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgInJlY29yZGVyIGNhbm5vdCBiZSByZXN1bWUoKWQgaW4gfGluYWN0aXZlfCBz
dGF0ZSIpOworICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVu
Y3Rpb24oKSB7IHJlY29yZGVyLnJlcXVlc3REYXRhKCkgfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICJjYW5ub3QgcmVxdWVzdERhdGEoKSBpZiByZWNvcmRlciBpcyBpbiB8aW5hY3RpdmV8IHN0
YXRlIik7CisgICAgICB0ZXN0LmRvbmUoKTsKKyAgICB9KTsKKworICAgIHJlY29yZGVyT25SZXN1
bWUgPSB0ZXN0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVj
b3JkZXIuc3RhdGUsICJyZWNvcmRpbmciKTsKKyAgICAgIHJlY29yZGVyLm9ucmVzdW1lID0gcmVj
b3JkZXJPblVuZXhwZWN0ZWRFdmVudDsKKyAgICAgIHJlY29yZGVyLm9uc3RvcCA9IHJlY29yZGVy
T25TdG9wOworICAgICAgcmVjb3JkZXIuc3RvcCgpOworICAgIH0pOworCisgICAgcmVjb3JkZXJP
blBhdXNlID0gdGVzdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxz
KHJlY29yZGVyLnN0YXRlLCAicGF1c2VkIik7CisgICAgICByZWNvcmRlci5vbnBhdXNlID0gcmVj
b3JkZXJPblVuZXhwZWN0ZWRFdmVudDsKKyAgICAgIHJlY29yZGVyLm9ucmVzdW1lID0gcmVjb3Jk
ZXJPblJlc3VtZTsKKyAgICAgIHJlY29yZGVyLnJlc3VtZSgpOworICAgIH0pOworCisgICAgcmVj
b3JkZXJPblN0YXJ0ID0gdGVzdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRf
ZXF1YWxzKHJlY29yZGVyLnN0YXRlLCAicmVjb3JkaW5nIik7CisgICAgICByZWNvcmRlci5vbnN0
YXJ0ID0gcmVjb3JkZXJPblVuZXhwZWN0ZWRFdmVudDsKKyAgICAgIHJlY29yZGVyLm9ucGF1c2Ug
PSByZWNvcmRlck9uUGF1c2U7CisgICAgICByZWNvcmRlci5wYXVzZSgpOworICAgIH0pOworCisg
ICAgbGV0IHN0cmVhbSA9IGNyZWF0ZVZpZGVvU3RyZWFtKCk7CisgICAgYXNzZXJ0X2VxdWFscyhz
dHJlYW0uZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGgsIDApOworICAgIGFzc2VydF9lcXVhbHMoc3Ry
ZWFtLmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHN0cmVh
bS5nZXRWaWRlb1RyYWNrcygpWzBdLnJlYWR5U3RhdGUsICdsaXZlJyk7CisKKyAgICBhc3NlcnRf
dGhyb3dzX2RvbSgiTm90U3VwcG9ydGVkRXJyb3IiLAorICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkZXIgPSBuZXcgTWVkaWFS
ZWNvcmRlcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IE1lZGlhU3RyZWFtKCksIHtt
aW1lVHlwZSA6ICJ2aWRlby9pbnZhbGlkIn0pOworICAgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgICAgInJlY29yZGVyIHNob3VsZCB0aHJvdygpIHdpdGggdW5zdXBw
b3J0ZWQgbWltZVR5cGUiKTsKKyAgICBsZXQgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihu
ZXcgTWVkaWFTdHJlYW0oKSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgImlu
YWN0aXZlIik7CisKKyAgICByZWNvcmRlci5zdG9wKCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNv
cmRlci5zdGF0ZSwgImluYWN0aXZlIiwgInN0b3AoKSBpcyBpZGVtcG90ZW50Iik7CisgICAgYXNz
ZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXtyZWNvcmRlci5w
YXVzZSgpfSwKKyAgICAgICAgICAgICAgICAgICAgICAicmVjb3JkZXIgY2Fubm90IGJlIHBhdXNl
KCllZCBpbiB8aW5hY3RpdmV8IHN0YXRlIik7CisgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFs
aWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXtyZWNvcmRlci5yZXN1bWUoKX0sCisgICAgICAgICAg
ICAgICAgICAgICAgInJlY29yZGVyIGNhbm5vdCBiZSByZXN1bWUoKWQgaW4gfGluYWN0aXZlfCBz
dGF0ZSIpOworICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0
aW9uKCl7cmVjb3JkZXIucmVxdWVzdERhdGEoKX0sCisgICAgICAgICAgICAgICAgICAgICAgImNh
bm5vdCByZXF1ZXN0RGF0YSgpIGlmIHJlY29yZGVyIGlzIGluIHxpbmFjdGl2ZXwgc3RhdGUiKTsK
KworICAgIGFzc2VydF90aHJvd3NfZG9tKCJOb3RTdXBwb3J0ZWRFcnJvciIsCisgICAgICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmRl
ci5zdGFydCgpOworICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgInJlY29yZGVyIHNob3VsZCB0aHJvdygpIHdoZW4gc3RhcnRpbmcgd2l0aCBpbmFjdGl2ZSBz
dHJlYW0iKTsKKworICAgIHJlY29yZGVyLnN0cmVhbS5hZGRUcmFjayhzdHJlYW0uZ2V0VHJhY2tz
KClbMF0pOworCisgICAgZHJhd1NvbWV0aGluZ09uQ2FudmFzKCk7CisKKyAgICByZWNvcmRlci5v
bnN0b3AgPSByZWNvcmRlck9uVW5leHBlY3RlZEV2ZW50OworICAgIHJlY29yZGVyLm9ucGF1c2Ug
PSByZWNvcmRlck9uVW5leHBlY3RlZEV2ZW50OworICAgIHJlY29yZGVyLm9ucmVzdW1lID0gcmVj
b3JkZXJPblVuZXhwZWN0ZWRFdmVudDsKKyAgICByZWNvcmRlci5vbmVycm9yID0gcmVjb3JkZXJP
blVuZXhwZWN0ZWRFdmVudDsKKyAgICByZWNvcmRlci5vbmRhdGFhdmFpbGFibGUgPSByZWNvcmRl
ck9uRGF0YUF2YWlsYWJsZTsKKyAgICByZWNvcmRlci5vbnN0YXJ0ID0gcmVjb3JkZXJPblN0YXJ0
OworCisgICAgcmVjb3JkZXIuc3RhcnQoKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnN0
YXRlLCAicmVjb3JkaW5nIik7CisgIH0pOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29y
ZC9NZWRpYVJlY29yZGVyLW1pbWV0eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29y
ZGVyLW1pbWV0eXBlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGNiNGMzYzE0MjIzNzI5YWMz
MjBiZjE0ZTdiZmRlODAwM2FhNzMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVj
b3JkZXItbWltZXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUgTUVT
U0FHRTogVHlwZUVycm9yOiBNZWRpYVJlY29yZGVyLmlzVHlwZVN1cHBvcnRlZCBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdNZWRpYVJlY29yZGVyLmlzVHlwZVN1cHBvcnRlZChtaW1lVHlwZSknLCAn
TWVkaWFSZWNvcmRlci5pc1R5cGVTdXBwb3J0ZWQnIGlzIHVuZGVmaW5lZCkKKworSGFybmVzcyBF
cnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IE1lZGlhUmVjb3JkZXIuaXNUeXBlU3Vw
cG9ydGVkIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ01lZGlhUmVjb3JkZXIuaXNUeXBlU3VwcG9y
dGVkKG1pbWVUeXBlKScsICdNZWRpYVJlY29yZGVyLmlzVHlwZVN1cHBvcnRlZCcgaXMgdW5kZWZp
bmVkKQorCitGQUlMIE1lZGlhUmVjb3JkZXIgc2V0cyBubyBkZWZhdWx0IG1pbWVUeXBlIGluIHRo
ZSBjb25zdHJ1Y3RvciBmb3IgYXVkaW8gYXNzZXJ0X2VxdWFsczogTWVkaWFSZWNvcmRlciBoYXMg
bm8gZGVmYXVsdCBtaW1lVHlwZSBleHBlY3RlZCAoc3RyaW5nKSAiIiBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZAorRkFJTCBNZWRpYVJlY29yZGVyIHNldHMgbm8gZGVmYXVsdCBtaW1lVHlw
ZSBpbiB0aGUgY29uc3RydWN0b3IgZm9yIHZpZGVvIGFzc2VydF9lcXVhbHM6IE1lZGlhUmVjb3Jk
ZXIgaGFzIG5vIGRlZmF1bHQgbWltZVR5cGUgZXhwZWN0ZWQgKHN0cmluZykgIiIgYnV0IGdvdCAo
dW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgTWVkaWFSZWNvcmRlciBzZXRzIG5vIGRlZmF1bHQg
bWltZVR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIGZvciBhdWRpby92aWRlbyBhc3NlcnRfZXF1YWxz
OiBNZWRpYVJlY29yZGVyIGhhcyBubyBkZWZhdWx0IG1pbWVUeXBlIGV4cGVjdGVkIChzdHJpbmcp
ICIiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIE1lZGlhUmVjb3JkZXIgaW52
YWxpZCBhdWRpbyBtaW1lVHlwZSB0aHJvd3MgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIo
KSA9PiBuZXcgTWVkaWFSZWNvcmRlcihuZXcgTWVkaWFTdHJlYW0oKSwge21pbWVUeXBlOiAiYXVk
aW8vYmFuYW5hIn0pIiBkaWQgbm90IHRocm93CitGQUlMIE1lZGlhUmVjb3JkZXIgaW52YWxpZCBh
dWRpbyBtaW1lVHlwZSBpcyB1bnN1cHBvcnRlZCBNZWRpYVJlY29yZGVyLmlzVHlwZVN1cHBvcnRl
ZCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdNZWRpYVJlY29yZGVyLmlzVHlwZVN1cHBvcnRlZCgi
YXVkaW8vYmFuYW5hIiknLCAnTWVkaWFSZWNvcmRlci5pc1R5cGVTdXBwb3J0ZWQnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgTWVkaWFSZWNvcmRlciBpbnZhbGlkIHZpZGVvIG1pbWVUeXBlIHRocm93cyBh
c3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IG5ldyBNZWRpYVJlY29yZGVyKG5ldyBN
ZWRpYVN0cmVhbSgpLCB7bWltZVR5cGU6ICJ2aWRlby9waW5lYXBwbGUifSkiIGRpZCBub3QgdGhy
b3cKK0ZBSUwgTWVkaWFSZWNvcmRlciBpbnZhbGlkIHZpZGVvIG1pbWVUeXBlIGlzIHVuc3VwcG9y
dGVkIE1lZGlhUmVjb3JkZXIuaXNUeXBlU3VwcG9ydGVkIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J01lZGlhUmVjb3JkZXIuaXNUeXBlU3VwcG9ydGVkKCJ2aWRlby9waW5lYXBwbGUiKScsICdNZWRp
YVJlY29yZGVyLmlzVHlwZVN1cHBvcnRlZCcgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1y
ZWNvcmQvTWVkaWFSZWNvcmRlci1taW1ldHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXIt
bWltZXR5cGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Yjk4OTc3ZGRhMmY0ZDFkMGQ2ZDNlMTIxYmIwMzMw
NDEyMmM1ZWFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbWltZXR5
cGUuaHRtbApAQCAtMCwwICsxLDI0MSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICA8dGl0bGU+TWVkaWFSZWNvcmRlciBtaW1lVHlwZTwvdGl0bGU+CisgIDxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVk
aWFSZWNvcmRlci5odG1sI2RvbS1tZWRpYXJlY29yZGVyLW1pbWVUeXBlIj4KKyAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgorPC9jYW52
YXM+Cis8c2NyaXB0PgorZnVuY3Rpb24gY3JlYXRlQXVkaW9TdHJlYW0odCkgeworICBjb25zdCBh
YyA9IG5ldyBBdWRpb0NvbnRleHQoKTsKKyAgY29uc3QgZGVzdCA9IGFjLmNyZWF0ZU1lZGlhU3Ry
ZWFtRGVzdGluYXRpb24oKTsKKyAgY29uc3Qgb3NjID0gYWMuY3JlYXRlT3NjaWxsYXRvcigpOwor
ICBvc2MuY29ubmVjdChkZXN0KTsKKyAgb3NjLnN0YXJ0KCk7CisgIGNvbnN0IFt0cmFja10gPSBk
ZXN0LnN0cmVhbS5nZXRUcmFja3MoKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB0cmFjay5zdG9w
KCkpOworICByZXR1cm4gZGVzdC5zdHJlYW07Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZVZpZGVvU3Ry
ZWFtKHQpIHsKKyAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOworICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgY29uc3Qgc3Ry
ZWFtID0gY2FudmFzLmNhcHR1cmVTdHJlYW0oKTsKKyAgY29uc3QgW3RyYWNrXSA9IHN0cmVhbS5n
ZXRUcmFja3MoKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB0cmFjay5zdG9wKCkpOworICBjdHgu
ZmlsbFN0eWxlID0gJ2dyZWVuJzsKKyAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uIGRy
YXcoKSB7CisgICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdo
dCk7CisgICAgaWYgKHRyYWNrLnJlYWR5U3RhdGUgPT0gImxpdmUiKSB7CisgICAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoZHJhdyk7CisgICAgfQorICB9KTsKKyAgcmV0dXJuIHN0cmVhbTsKK30K
KworZnVuY3Rpb24gY3JlYXRlQXVkaW9WaWRlb1N0cmVhbSh0KSB7CisgIHJldHVybiBuZXcgTWVk
aWFTdHJlYW0oWworICAgICAgLi4uY3JlYXRlQXVkaW9TdHJlYW0odCkuZ2V0VHJhY2tzKCksCisg
ICAgICAuLi5jcmVhdGVWaWRlb1N0cmVhbSh0KS5nZXRUcmFja3MoKSwKKyAgICBdKTsKK30KKwor
dGVzdCh0ID0+IHsKKyAgY29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihjcmVhdGVB
dWRpb1N0cmVhbSh0KSk7CisgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIubWltZVR5cGUsICIiLAor
ICAgICJNZWRpYVJlY29yZGVyIGhhcyBubyBkZWZhdWx0IG1pbWVUeXBlIik7Cit9LCAiTWVkaWFS
ZWNvcmRlciBzZXRzIG5vIGRlZmF1bHQgbWltZVR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIGZvciBh
dWRpbyIpOworCit0ZXN0KHQgPT4geworICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29y
ZGVyKGNyZWF0ZVZpZGVvU3RyZWFtKHQpKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5taW1l
VHlwZSwgIiIsCisgICAgIk1lZGlhUmVjb3JkZXIgaGFzIG5vIGRlZmF1bHQgbWltZVR5cGUiKTsK
K30sICJNZWRpYVJlY29yZGVyIHNldHMgbm8gZGVmYXVsdCBtaW1lVHlwZSBpbiB0aGUgY29uc3Ry
dWN0b3IgZm9yIHZpZGVvIik7CisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IHN0cmVhbSA9IGNyZWF0
ZUF1ZGlvVmlkZW9TdHJlYW0odCk7CisgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3Jk
ZXIoc3RyZWFtKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5taW1lVHlwZSwgIiIsCisgICAg
Ik1lZGlhUmVjb3JkZXIgaGFzIG5vIGRlZmF1bHQgbWltZVR5cGUiKTsKK30sICJNZWRpYVJlY29y
ZGVyIHNldHMgbm8gZGVmYXVsdCBtaW1lVHlwZSBpbiB0aGUgY29uc3RydWN0b3IgZm9yIGF1ZGlv
L3ZpZGVvIik7CisKK3Rlc3QodCA9PiB7CisgIGFzc2VydF90aHJvd3NfZG9tKCJOb3RTdXBwb3J0
ZWRFcnJvciIsCisgICAgKCkgPT4gbmV3IE1lZGlhUmVjb3JkZXIobmV3IE1lZGlhU3RyZWFtKCks
IHttaW1lVHlwZTogImF1ZGlvL2JhbmFuYSJ9KSk7Cit9LCAiTWVkaWFSZWNvcmRlciBpbnZhbGlk
IGF1ZGlvIG1pbWVUeXBlIHRocm93cyIpOworCit0ZXN0KHQgPT4geworICBhc3NlcnRfZmFsc2Uo
TWVkaWFSZWNvcmRlci5pc1R5cGVTdXBwb3J0ZWQoImF1ZGlvL2JhbmFuYSIpKTsKK30sICJNZWRp
YVJlY29yZGVyIGludmFsaWQgYXVkaW8gbWltZVR5cGUgaXMgdW5zdXBwb3J0ZWQiKTsKKwordGVz
dCh0ID0+IHsKKyAgYXNzZXJ0X3Rocm93c19kb20oIk5vdFN1cHBvcnRlZEVycm9yIiwKKyAgICAo
KSA9PiBuZXcgTWVkaWFSZWNvcmRlcihuZXcgTWVkaWFTdHJlYW0oKSwge21pbWVUeXBlOiAidmlk
ZW8vcGluZWFwcGxlIn0pKTsKK30sICJNZWRpYVJlY29yZGVyIGludmFsaWQgdmlkZW8gbWltZVR5
cGUgdGhyb3dzIik7CisKK3Rlc3QodCA9PiB7CisgIGFzc2VydF9mYWxzZShNZWRpYVJlY29yZGVy
LmlzVHlwZVN1cHBvcnRlZCgidmlkZW8vcGluZWFwcGxlIikpOworfSwgIk1lZGlhUmVjb3JkZXIg
aW52YWxpZCB2aWRlbyBtaW1lVHlwZSBpcyB1bnN1cHBvcnRlZCIpOworCisvLyBOZXcgTUlNRSB0
eXBlcyBjb3VsZCBiZSBhZGRlZCB0byB0aGlzIGxpc3QgYXMgbmVlZGVkLgorZm9yIChjb25zdCBt
aW1lVHlwZSBvZiBbCisgICdhdWRpby9tcDQnLAorICAndmlkZW8vbXA0JywKKyAgJ2F1ZGlvL29n
ZycsCisgICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicsCisgICdhdWRpby9vZ2c7IGNvZGVj
cz0ib3B1cyInLAorICAnYXVkaW8vd2VibScsCisgICdhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJp
cyInLAorICAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicsCisgICd2aWRlby93ZWJtJywKKyAg
J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA4IicsCisgICd2aWRlby93ZWJtOyBjb2RlY3M9InZwOCwg
dm9yYmlzIicsCisgICd2aWRlby93ZWJtOyBjb2RlY3M9InZwOCwgb3B1cyInLAorICAndmlkZW8v
d2VibTsgY29kZWNzPSJ2cDkiJywKKyAgJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LCB2b3JiaXMi
JywKKyAgJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LCBvcHVzIicsCisgICd2aWRlby93ZWJtOyBj
b2RlY3M9ImF2MSInLAorICAndmlkZW8vd2VibTsgY29kZWNzPSJhdjEsIG9wdXMiJywKK10pIHsK
KyAgaWYgKE1lZGlhUmVjb3JkZXIuaXNUeXBlU3VwcG9ydGVkKG1pbWVUeXBlKSkgeworICAgIHRl
c3QodCA9PiB7CisgICAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKG5ldyBN
ZWRpYVN0cmVhbSgpLCB7bWltZVR5cGV9KTsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIu
bWltZVR5cGUsIG1pbWVUeXBlLCAiU3VwcG9ydGVkIG1pbWVUeXBlIGlzIHNldCIpOworICAgIH0s
IGBTdXBwb3J0ZWQgbWltZVR5cGUgJHttaW1lVHlwZX0gaXMgc2V0IGltbWVkaWF0ZWx5IGFmdGVy
IGNvbnN0cnVjdGluZ2ApOworICB9IGVsc2UgeworICAgIHRlc3QodCA9PiB7CisgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiTm90U3VwcG9ydGVkRXJyb3IiLAorICAgICAgICAoKSA9PiBuZXcgTWVk
aWFSZWNvcmRlcihuZXcgTWVkaWFTdHJlYW0oKSwge21pbWVUeXBlfSkpOworICAgIH0sIGBVbnN1
cHBvcnRlZCBtaW1lVHlwZSAke21pbWVUeXBlfSB0aHJvd3NgKTsKKyAgfQorfQorCitwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIo
Y3JlYXRlQXVkaW9TdHJlYW0odCkpOworICByZWNvcmRlci5zdGFydCgpOworICBhd2FpdCBuZXcg
UHJvbWlzZShyID0+IHJlY29yZGVyLm9uc3RhcnQgPSByKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMo
cmVjb3JkZXIubWltZVR5cGUsICIiKTsKK30sICJNZWRpYVJlY29yZGVyIHNldHMgYSBub25lbXB0
eSBtaW1lVHlwZSBvbiAnb25zdGFydCcgZm9yIGF1ZGlvIik7CisKK3Byb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgY29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihjcmVhdGVWaWRl
b1N0cmVhbSh0KSk7CisgIHJlY29yZGVyLnN0YXJ0KCk7CisgIGF3YWl0IG5ldyBQcm9taXNlKHIg
PT4gcmVjb3JkZXIub25zdGFydCA9IHIpOworICBhc3NlcnRfbm90X2VxdWFscyhyZWNvcmRlci5t
aW1lVHlwZSwgIiIpOworfSwgIk1lZGlhUmVjb3JkZXIgc2V0cyBhIG5vbmVtcHR5IG1pbWVUeXBl
IG9uICdvbnN0YXJ0JyBmb3IgdmlkZW8iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKGNyZWF0ZUF1ZGlvVmlkZW9TdHJl
YW0odCkpOworICByZWNvcmRlci5zdGFydCgpOworICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHJl
Y29yZGVyLm9uc3RhcnQgPSByKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMocmVjb3JkZXIubWltZVR5
cGUsICIiKTsKK30sICJNZWRpYVJlY29yZGVyIHNldHMgYSBub25lbXB0eSBtaW1lVHlwZSBvbiAn
b25zdGFydCcgZm9yIGF1ZGlvL3ZpZGVvIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgY29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihjcmVhdGVBdWRpb1N0cmVhbSh0
KSk7CisgIHJlY29yZGVyLnN0YXJ0KCk7CisgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIubWltZVR5
cGUsICIiKTsKK30sICJNZWRpYVJlY29yZGVyIG1pbWVUeXBlIGlzIG5vdCBzZXQgYmVmb3JlICdv
bnN0YXJ0JyBmb3IgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25z
dCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKGNyZWF0ZVZpZGVvU3RyZWFtKHQpKTsKKyAg
cmVjb3JkZXIuc3RhcnQoKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5taW1lVHlwZSwgIiIp
OworfSwgIk1lZGlhUmVjb3JkZXIgbWltZVR5cGUgaXMgbm90IHNldCBiZWZvcmUgJ29uc3RhcnQn
IGZvciB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHJlY29y
ZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoY3JlYXRlQXVkaW9WaWRlb1N0cmVhbSh0KSk7CisgIHJl
Y29yZGVyLnN0YXJ0KCk7CisgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIubWltZVR5cGUsICIiKTsK
K30sICJNZWRpYVJlY29yZGVyIG1pbWVUeXBlIGlzIG5vdCBzZXQgYmVmb3JlICdvbnN0YXJ0JyBm
b3IgYXVkaW8vdmlkZW8iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBy
ZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKGNyZWF0ZUF1ZGlvU3RyZWFtKHQpKTsKKyAgY29u
c3Qgb25zdGFydFByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICByZWNvcmRl
ci5vbnN0YXJ0ID0gKCkgPT4geworICAgICAgcmVjb3JkZXIub25zdGFydCA9ICgpID0+IHQuc3Rl
cF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X25vdF9yZWFjaGVkKCJNZWRpYVJlY29yZGVy
IGRvZXNuJ3QgZmlyZSAnb25zdGFydCcgdHdpY2UiKTsKKyAgICAgIH0pOworICAgICAgcmVzb2x2
ZSgpOworICAgIH0KKyAgfSk7CisgIHJlY29yZGVyLnN0YXJ0KCk7CisgIGF3YWl0IG9uc3RhcnRQ
cm9taXNlOworICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHQuc3RlcF90aW1lb3V0KHIsIDEwMDAp
KTsKK30sICJNZWRpYVJlY29yZGVyIGRvZXNuJ3QgZmlyZSAnb25zdGFydCcgbXVsdGlwbGUgdGlt
ZXMgZm9yIGF1ZGlvIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVj
b3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihjcmVhdGVWaWRlb1N0cmVhbSh0KSk7CisgIGNvbnN0
IG9uc3RhcnRQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgcmVjb3JkZXIu
b25zdGFydCA9ICgpID0+IHsKKyAgICAgIHJlY29yZGVyLm9uc3RhcnQgPSAoKSA9PiB0LnN0ZXBf
ZnVuYygoKSA9PiB7CisgICAgICAgIGFzc2VydF9ub3RfcmVhY2hlZCgiTWVkaWFSZWNvcmRlciBk
b2Vzbid0IGZpcmUgJ29uc3RhcnQnIHR3aWNlIik7CisgICAgICB9KTsKKyAgICAgIHJlc29sdmUo
KTsKKyAgICB9CisgIH0pOworICByZWNvcmRlci5zdGFydCgpOworICBhd2FpdCBvbnN0YXJ0UHJv
bWlzZTsKKyAgYXdhaXQgbmV3IFByb21pc2UociA9PiB0LnN0ZXBfdGltZW91dChyLCAxMDAwKSk7
Cit9LCAiTWVkaWFSZWNvcmRlciBkb2Vzbid0IGZpcmUgJ29uc3RhcnQnIG11bHRpcGxlIHRpbWVz
IGZvciB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHJlY29y
ZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoY3JlYXRlQXVkaW9WaWRlb1N0cmVhbSh0KSk7CisgIGNv
bnN0IG9uc3RhcnRQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgcmVjb3Jk
ZXIub25zdGFydCA9ICgpID0+IHsKKyAgICAgIHJlY29yZGVyLm9uc3RhcnQgPSAoKSA9PiB0LnN0
ZXBfZnVuYygoKSA9PiB7CisgICAgICAgIGFzc2VydF9ub3RfcmVhY2hlZCgiTWVkaWFSZWNvcmRl
ciBkb2Vzbid0IGZpcmUgJ29uc3RhcnQnIHR3aWNlIik7CisgICAgICB9KTsKKyAgICAgIHJlc29s
dmUoKTsKKyAgICB9CisgIH0pOworICByZWNvcmRlci5zdGFydCgpOworICBhd2FpdCBvbnN0YXJ0
UHJvbWlzZTsKKyAgYXdhaXQgbmV3IFByb21pc2UociA9PiB0LnN0ZXBfdGltZW91dChyLCAxMDAw
KSk7Cit9LCAiTWVkaWFSZWNvcmRlciBkb2Vzbid0IGZpcmUgJ29uc3RhcnQnIG11bHRpcGxlIHRp
bWVzIGZvciBhdWRpby92aWRlbyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNv
bnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoY3JlYXRlQXVkaW9TdHJlYW0odCkpOwor
ICByZWNvcmRlci5zdGFydCgpOworICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHJlY29yZGVyLm9u
c3RhcnQgPSByKTsKKyAgYXNzZXJ0X3JlZ2V4cF9tYXRjaChyZWNvcmRlci5taW1lVHlwZSwgL15h
dWRpb1wvLywKKyAgICAibWltZVR5cGUgaGFzIGFuIGV4cGVjdGVkIG1lZGlhIHR5cGUiKTsKKyAg
YXNzZXJ0X3JlZ2V4cF9tYXRjaChyZWNvcmRlci5taW1lVHlwZSwgL15bYS16XStcL1thLXpdKy8s
CisgICAgIm1pbWVUeXBlIGhhcyBhIGNvbnRhaW5lciBzdWJ0eXBlIik7CisgIGFzc2VydF9yZWdl
eHBfbWF0Y2goCisgICAgcmVjb3JkZXIubWltZVR5cGUsIC9eW2Etel0rXC9bYS16XSs7WyBdKmNv
ZGVjcz1bXixdKyQvLAorICAgICJtaW1lVHlwZSBoYXMgb25lIGNvZGVjIGEiKTsKK30sICJNZWRp
YVJlY29yZGVyIGZvcm1hdHMgbWltZVR5cGUgd2VsbCBhZnRlciAnc3RhcnQnIGZvciBhdWRpbyIp
OworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1l
ZGlhUmVjb3JkZXIoY3JlYXRlVmlkZW9TdHJlYW0odCkpOworICByZWNvcmRlci5zdGFydCgpOwor
ICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHJlY29yZGVyLm9uc3RhcnQgPSByKTsKKyAgYXNzZXJ0
X3JlZ2V4cF9tYXRjaChyZWNvcmRlci5taW1lVHlwZSwgL152aWRlb1wvLywKKyAgICAibWltZVR5
cGUgaGFzIGFuIGV4cGVjdGVkIG1lZGlhIHR5cGUiKTsKKyAgYXNzZXJ0X3JlZ2V4cF9tYXRjaChy
ZWNvcmRlci5taW1lVHlwZSwgL15bYS16XStcL1thLXpdKy8sCisgICAgIm1pbWVUeXBlIGhhcyBh
IGNvbnRhaW5lciBzdWJ0eXBlIik7CisgIGFzc2VydF9yZWdleHBfbWF0Y2goCisgICAgcmVjb3Jk
ZXIubWltZVR5cGUsIC9eW2Etel0rXC9bYS16XSs7WyBdKmNvZGVjcz1bXixdKyQvLAorICAgICJt
aW1lVHlwZSBoYXMgb25lIGNvZGVjIGEiKTsKK30sICJNZWRpYVJlY29yZGVyIGZvcm1hdHMgbWlt
ZVR5cGUgd2VsbCBhZnRlciAnc3RhcnQnIGZvciB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CisgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoY3JlYXRlQXVk
aW9WaWRlb1N0cmVhbSh0KSk7CisgIHJlY29yZGVyLnN0YXJ0KCk7CisgIGF3YWl0IG5ldyBQcm9t
aXNlKHIgPT4gcmVjb3JkZXIub25zdGFydCA9IHIpOworICBhc3NlcnRfcmVnZXhwX21hdGNoKHJl
Y29yZGVyLm1pbWVUeXBlLCAvXnZpZGVvXC8vLAorICAgICJtaW1lVHlwZSBoYXMgYW4gZXhwZWN0
ZWQgbWVkaWEgdHlwZSIpOworICBhc3NlcnRfcmVnZXhwX21hdGNoKHJlY29yZGVyLm1pbWVUeXBl
LCAvXlthLXpdK1wvW2Etel0rLywKKyAgICAibWltZVR5cGUgaGFzIGEgY29udGFpbmVyIHN1YnR5
cGUiKTsKKyAgYXNzZXJ0X3JlZ2V4cF9tYXRjaCgKKyAgICByZWNvcmRlci5taW1lVHlwZSwgL15b
YS16XStcL1thLXpdKztbIF0qY29kZWNzPVteLF0rLFteLF0rJC8sCisgICAgIm1pbWVUeXBlIGhh
cyB0d28gY29kZWNzIik7Cit9LCAiTWVkaWFSZWNvcmRlciBmb3JtYXRzIG1pbWVUeXBlIHdlbGwg
YWZ0ZXIgJ3N0YXJ0JyBmb3IgYXVkaW8vdmlkZW8iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbm8tc2luay5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1uby1zaW5rLmh0dHBzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMzI5OTM4ZjU3YjlmMzkzMzc1NTIzYmRiMWM0YzY1MTk1MGU3MTE0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbm8tc2luay5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgUGVlckNvbm5lY3Rpb24gTWVkaWFSZWNv
cmRlciByZWNvcmRzIGF1ZGlvIGZyb20gUGVlckNvbm5lY3Rpb24gd2l0aG91dCBzaW5rcyAKK1BB
U1MgUGVlckNvbm5lY3Rpb24gTWVkaWFSZWNvcmRlciByZWNvcmRzIHZpZGVvIGZyb20gUGVlckNv
bm5lY3Rpb24gd2l0aG91dCBzaW5rcyAKK1BBU1MgUGVlckNvbm5lY3Rpb24gTWVkaWFSZWNvcmRl
ciByZWNvcmRzIGF1ZGlvL3ZpZGVvIGZyb20gUGVlckNvbm5lY3Rpb24gd2l0aG91dCBzaW5rcyAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbm8tc2luay5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
cmVjb3JkL01lZGlhUmVjb3JkZXItbm8tc2luay5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmNWZm
OTM0ZmFkN2NjYjQ3Yjc0MmJkNGNiODU0NmUzYTc0NWI0ODMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1y
ZWNvcmQvTWVkaWFSZWNvcmRlci1uby1zaW5rLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw0MiBAQAor
PCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKworPGhlYWQ+CisgIDx0aXRsZT5NZWRpYVJlY29yZGVy
IHBlZXIgY29ubmVjdGlvbjwvdGl0bGU+CisgIDxsaW5rIHJlbD0iaGVscCIKKyAgICAgICAgaHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRl
ci5odG1sI2RvbS1tZWRpYXJlY29yZGVyLW1pbWVUeXBlIj4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSJ1dGlscy9w
ZWVyY29ubmVjdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8c2NyaXB0
PgorCitbe25hbWU6ICJhdWRpbyIsICAgICAgICBraW5kOiB7YXVkaW86IHRydWUsIHZpZGVvOiBm
YWxzZX19LAorIHtuYW1lOiAidmlkZW8iLCAgICAgICAga2luZDoge2F1ZGlvOiBmYWxzZSwgdmlk
ZW86IHRydWV9fSwKKyB7bmFtZTogImF1ZGlvL3ZpZGVvIiwgIGtpbmQ6IHthdWRpbzogdHJ1ZSwg
dmlkZW86IHRydWV9fV0uZm9yRWFjaChhcmdzID0+IHsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgIGNvbnN0IFtsb2NhbFBjLCByZW1vdGVQYywgc3RyZWFtXSA9IGF3YWl0IHN0YXJ0
Q29ubmVjdGlvbigKKyAgICAgICAgdCwgYXJncy5raW5kLmF1ZGlvLCBhcmdzLmtpbmQudmlkZW8p
OworICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3RyZWFtKTsKKyAgICAv
LyBTZXQgYW4gYXJiaXRyYXJ5IHRpbWVzbGljZSBpbnRlcnZhbCBzbyB0aGUgb25kYXRhYXZhaWxh
YmxlIGV2ZW50CisgICAgLy8gaGFuZGxlciBnZXRzIGludm9rZWQgcmVwZWF0ZWRseS4gV2l0aG91
dCBpdCwgdGhlIHRlc3Qgd291bGQKKyAgICAvLyBkZWFkbG9jayBhcyBpdCdzIGN1cnJlbnRseSB3
cml0dGVuLgorICAgIHJlY29yZGVyLnN0YXJ0KDEwMCk7CisgICAgbGV0IGNvbWJpbmVkU2l6ZSA9
IDA7CisgICAgY29uc3QgZGF0YVByb21pc2UgPSBuZXcgUHJvbWlzZShyID0+IHJlY29yZGVyLm9u
ZGF0YWF2YWlsYWJsZSA9IGUgPT4geworICAgICAgLy8gV2FpdCBmb3IgYW4gYXJiaXRyYXJ5IGFt
b3VudCBvZiBkYXRhIHRvIGFwcGVhciBiZWZvcmUgd2UgcmVzb2x2ZS4KKyAgICAgIGNvbWJpbmVk
U2l6ZSArPSBlLmRhdGEuc2l6ZTsKKyAgICAgIGlmIChjb21iaW5lZFNpemUgPiA0NzExKSByKCk7
CisgICAgfSk7CisgICAgYXdhaXQgZGF0YVByb21pc2U7CisgICAgcmVjb3JkZXIuc3RvcCgpOwor
ICB9LCAiUGVlckNvbm5lY3Rpb24gTWVkaWFSZWNvcmRlciByZWNvcmRzICIgKyBhcmdzLm5hbWUg
KworICAgICAiIGZyb20gUGVlckNvbm5lY3Rpb24gd2l0aG91dCBzaW5rcyIpOworIH0pOworCisg
IDwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFS
ZWNvcmRlci1wYXVzZS1yZXN1bWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXIt
cGF1c2UtcmVzdW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjJmZTQ3ZTc2N2JiNDA2MTBi
OTg5NjMwMjgyMjhkMjViZjIyNDBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVj
b3JkZXItcGF1c2UtcmVzdW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBN
ZWRpYVJlY29yZGVyIGhhbmRsZXMgcGF1c2UoKSBhbmQgcmVzdW1lKCkgY2FsbHMgYXBwcm9wcmlh
dGVseSBpbiBzdGF0ZSBhbmQgZXZlbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogcmVjb3JkZXIucGF1c2UgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAncmVjb3JkZXIucGF1c2UoKScsICdyZWNvcmRlci5wYXVzZScgaXMgdW5k
ZWZpbmVkKSIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGF1c2UtcmVzdW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1wYXVzZS1yZXN1bWUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zM2RmZDg1NjBjMDRkOWU5ZGUzMzViMTNjZmNiMzM0MjhhNmI3ZTI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGF1c2UtcmVzdW1lLmh0bWwKQEAgLTAsMCArMSw2
OSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5NZWRpYVJl
Y29yZGVyIFBhdXNlIGFuZCBSZXN1bWU8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRl
ci5odG1sI21lZGlhcmVjb3JkZXIiPgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgorPC9jYW52YXM+Cis8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIGNyZWF0ZVZpZGVvU3RyZWFtKCkgeworICAgICAgICBjb25zdCBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgICAgIGNvbnN0IGN0eCA9IGNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgICAgICBjdHguZmlsbFN0eWxlID0gJ2dyZWVuJzsK
KyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7
CisgICAgICAgIHJldHVybiBjYW52YXMuY2FwdHVyZVN0cmVhbSgpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHJlY29yZEV2ZW50cyh0YXJnZXQsIGV2ZW50cykgeworICAgICAgICBsZXQgYXJyID0g
W107CisgICAgICAgIGZvciAobGV0IGV2IG9mIGV2ZW50cykgeworICAgICAgICAgICAgdGFyZ2V0
LmFkZEV2ZW50TGlzdGVuZXIoZXYsIF8gPT4gYXJyLnB1c2goZXYpKTsKKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4gYXJyOworICAgIH0KKworICAgIHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7
CisgICAgICAgIGxldCB2aWRlbyA9IGNyZWF0ZVZpZGVvU3RyZWFtKCk7CisgICAgICAgIGxldCBy
ZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHZpZGVvKTsKKyAgICAgICAgbGV0IGV2ZW50cyA9
IHJlY29yZEV2ZW50cyhyZWNvcmRlciwKKyAgICAgICAgICAgIFsic3RhcnQiLCAic3RvcCIsICJk
YXRhYXZhaWxhYmxlIiwgInBhdXNlIiwgInJlc3VtZSIsICJlcnJvciJdKTsKKworICAgICAgICBy
ZWNvcmRlci5zdGFydCgpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnN0YXRlLCAi
cmVjb3JkaW5nIiwgIk1lZGlhUmVjb3JkZXIgaGFzIGJlZW4gc3RhcnRlZCBzdWNjZXNzZnVsbHki
KTsKKyAgICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiByZWNvcmRlci5vbnN0YXJ0ID0gcik7
CisKKyAgICAgICAgcmVjb3JkZXIucGF1c2UoKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNv
cmRlci5zdGF0ZSwgInBhdXNlZCIsICJNZWRpYVJlY29yZGVyIHNob3VsZCBiZSBwYXVzZWQgaW1t
ZWRpYXRlbHkgZm9sbG93aW5nIHBhdXNlKCkiKTsKKworICAgICAgICAvLyBBIHNlY29uZCBjYWxs
IHRvIHBhdXNlIHNob3VsZCBiZSBpZGVtcG90ZW50CisgICAgICAgIHJlY29yZGVyLnBhdXNlKCk7
CisgICAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICJwYXVzZWQiLCAiTWVkaWFS
ZWNvcmRlciBzaG91bGQgYmUgcGF1c2VkIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBwYXVzZSgpIik7
CisKKyAgICAgICAgbGV0IGV2ZW50ID0gYXdhaXQgbmV3IFByb21pc2UociA9PiByZWNvcmRlci5v
bnBhdXNlID0gcik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudHlwZSwgInBhdXNlIiwg
InRoZSBldmVudCB0eXBlIHNob3VsZCBiZSBwYXVzZSIpOworICAgICAgICBhc3NlcnRfdHJ1ZShl
dmVudC5pc1RydXN0ZWQsICJpc1RydXN0ZWQgc2hvdWxkIGJlIHRydWUgd2hlbiB0aGUgZXZlbnQg
aXMgY3JlYXRlZCBieSBDKysiKTsKKworICAgICAgICByZWNvcmRlci5yZXN1bWUoKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgInJlY29yZGluZyIsICJNZWRpYVJlY29y
ZGVyIHN0YXRlIHNob3VsZCBiZSByZWNvcmRpbmcgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHJlc3Vt
ZSgpIGNhbGwiKTsKKworICAgICAgICAvLyBBIHNlY29uZCBjYWxsIHRvIHJlc3VtZSBzaG91bGQg
YmUgaWRlbXBvdGVudAorICAgICAgICByZWNvcmRlci5yZXN1bWUoKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgInJlY29yZGluZyIsICJNZWRpYVJlY29yZGVyIHN0YXRl
IHNob3VsZCBiZSByZWNvcmRpbmcgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHJlc3VtZSgpIGNhbGwi
KTsKKworICAgICAgICBldmVudCA9IGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gcmVjb3JkZXIub25y
ZXN1bWUgPSByKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC50eXBlLCAicmVzdW1lIiwg
InRoZSBldmVudCB0eXBlIHNob3VsZCBiZSByZXN1bWUiKTsKKyAgICAgICAgYXNzZXJ0X3RydWUo
ZXZlbnQuaXNUcnVzdGVkLCAiaXNUcnVzdGVkIHNob3VsZCBiZSB0cnVlIHdoZW4gdGhlIGV2ZW50
IGlzIGNyZWF0ZWQgYnkgQysrIik7CisKKyAgICAgICAgcmVjb3JkZXIuc3RvcCgpOworICAgICAg
ICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHJlY29yZGVyLm9uc3RvcCA9IHIpOworCisgICAgICAg
IGFzc2VydF9hcnJheV9lcXVhbHMoZXZlbnRzLCBbInN0YXJ0IiwgInBhdXNlIiwgInJlc3VtZSIs
ICJkYXRhYXZhaWxhYmxlIiwgInN0b3AiXSwKKyAgICAgICAgICAgICJTaG91bGQgaGF2ZSBnb3R0
ZW4gZXhwZWN0ZWQgZXZlbnRzIik7CisgICAgfSwgIk1lZGlhUmVjb3JkZXIgaGFuZGxlcyBwYXVz
ZSgpIGFuZCByZXN1bWUoKSBjYWxscyBhcHByb3ByaWF0ZWx5IGluIHN0YXRlIGFuZCBldmVudHMi
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlh
UmVjb3JkZXItcGVlcmNvbm5lY3Rpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlh
UmVjb3JkZXItcGVlcmNvbm5lY3Rpb24uaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIy
YjNhYThhNjhmYmFlZjA5NTdmNjRmZDNlZDMzNWYyODkwMGExNWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1wZWVyY29ubmVjdGlvbi5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyMSBAQAorCisKK1BBU1MgUGVlckNvbm5lY3Rpb24gTWVkaWFSZWNvcmRlciBy
ZWNlaXZlcyBkYXRhIGFmdGVyIG9uc3RhcnQsIHsidmlkZW8iOnRydWUsImF1ZGlvIjpmYWxzZX0g
d2l0aCBmb3JtYXQgW3Bhc3N0aHJvdWdoXS4gCitQQVNTIFBlZXJDb25uZWN0aW9uIE1lZGlhUmVj
b3JkZXIgZ2V0cyBvbmRhdGEgb24gc3RvcHBpbmcgcmVjb3JkZWQgdHJhY2tzIHsidmlkZW8iOnRy
dWUsImF1ZGlvIjpmYWxzZX0gd2l0aCBmb3JtYXQgW3Bhc3N0aHJvdWdoXS4gCitQQVNTIFBlZXJD
b25uZWN0aW9uIE1lZGlhUmVjb3JkZXIgcmVjZWl2ZXMgZGF0YSBhZnRlciBvbnN0YXJ0LCB7InZp
ZGVvIjpmYWxzZSwiYXVkaW8iOnRydWV9IHdpdGggZm9ybWF0IFtwYXNzdGhyb3VnaF0uIAorUEFT
UyBQZWVyQ29ubmVjdGlvbiBNZWRpYVJlY29yZGVyIGdldHMgb25kYXRhIG9uIHN0b3BwaW5nIHJl
Y29yZGVkIHRyYWNrcyB7InZpZGVvIjpmYWxzZSwiYXVkaW8iOnRydWV9IHdpdGggZm9ybWF0IFtw
YXNzdGhyb3VnaF0uIAorUEFTUyBQZWVyQ29ubmVjdGlvbiBNZWRpYVJlY29yZGVyIHJlY2VpdmVz
IGRhdGEgYWZ0ZXIgb25zdGFydCwgeyJ2aWRlbyI6dHJ1ZSwiYXVkaW8iOnRydWV9IHdpdGggZm9y
bWF0IFtwYXNzdGhyb3VnaF0uIAorUEFTUyBQZWVyQ29ubmVjdGlvbiBNZWRpYVJlY29yZGVyIGdl
dHMgb25kYXRhIG9uIHN0b3BwaW5nIHJlY29yZGVkIHRyYWNrcyB7InZpZGVvIjp0cnVlLCJhdWRp
byI6dHJ1ZX0gd2l0aCBmb3JtYXQgW3Bhc3N0aHJvdWdoXS4gCitQQVNTIFBlZXJDb25uZWN0aW9u
IE1lZGlhUmVjb3JkZXIgcmVjZWl2ZXMgZGF0YSBhZnRlciBvbnN0YXJ0LCB7InZpZGVvIjpmYWxz
ZSwiYXVkaW8iOnRydWV9IHdpdGggZm9ybWF0IHZpZGVvL3dlYm07Y29kZWNzPXZwOC4gCitQQVNT
IFBlZXJDb25uZWN0aW9uIE1lZGlhUmVjb3JkZXIgZ2V0cyBvbmRhdGEgb24gc3RvcHBpbmcgcmVj
b3JkZWQgdHJhY2tzIHsidmlkZW8iOmZhbHNlLCJhdWRpbyI6dHJ1ZX0gd2l0aCBmb3JtYXQgdmlk
ZW8vd2VibTtjb2RlY3M9dnA4LiAKK1BBU1MgUGVlckNvbm5lY3Rpb24gTWVkaWFSZWNvcmRlciBy
ZWNlaXZlcyBkYXRhIGFmdGVyIG9uc3RhcnQsIHsidmlkZW8iOnRydWUsImF1ZGlvIjpmYWxzZX0g
d2l0aCBmb3JtYXQgdmlkZW8vd2VibTtjb2RlY3M9dnA4LiAKK1BBU1MgUGVlckNvbm5lY3Rpb24g
TWVkaWFSZWNvcmRlciBnZXRzIG9uZGF0YSBvbiBzdG9wcGluZyByZWNvcmRlZCB0cmFja3MgeyJ2
aWRlbyI6dHJ1ZSwiYXVkaW8iOmZhbHNlfSB3aXRoIGZvcm1hdCB2aWRlby93ZWJtO2NvZGVjcz12
cDguIAorUEFTUyBQZWVyQ29ubmVjdGlvbiBNZWRpYVJlY29yZGVyIHJlY2VpdmVzIGRhdGEgYWZ0
ZXIgb25zdGFydCwgeyJ2aWRlbyI6dHJ1ZSwiYXVkaW8iOnRydWV9IHdpdGggZm9ybWF0IHZpZGVv
L3dlYm07Y29kZWNzPXZwOC4gCitQQVNTIFBlZXJDb25uZWN0aW9uIE1lZGlhUmVjb3JkZXIgZ2V0
cyBvbmRhdGEgb24gc3RvcHBpbmcgcmVjb3JkZWQgdHJhY2tzIHsidmlkZW8iOnRydWUsImF1ZGlv
Ijp0cnVlfSB3aXRoIGZvcm1hdCB2aWRlby93ZWJtO2NvZGVjcz12cDguIAorUEFTUyBQZWVyQ29u
bmVjdGlvbiBNZWRpYVJlY29yZGVyIHJlY2VpdmVzIGRhdGEgYWZ0ZXIgb25zdGFydCwgeyJ2aWRl
byI6ZmFsc2UsImF1ZGlvIjp0cnVlfSB3aXRoIGZvcm1hdCB2aWRlby93ZWJtO2NvZGVjcz12cDku
IAorUEFTUyBQZWVyQ29ubmVjdGlvbiBNZWRpYVJlY29yZGVyIGdldHMgb25kYXRhIG9uIHN0b3Bw
aW5nIHJlY29yZGVkIHRyYWNrcyB7InZpZGVvIjpmYWxzZSwiYXVkaW8iOnRydWV9IHdpdGggZm9y
bWF0IHZpZGVvL3dlYm07Y29kZWNzPXZwOS4gCitQQVNTIFBlZXJDb25uZWN0aW9uIE1lZGlhUmVj
b3JkZXIgcmVjZWl2ZXMgZGF0YSBhZnRlciBvbnN0YXJ0LCB7InZpZGVvIjp0cnVlLCJhdWRpbyI6
ZmFsc2V9IHdpdGggZm9ybWF0IHZpZGVvL3dlYm07Y29kZWNzPXZwOS4gCitQQVNTIFBlZXJDb25u
ZWN0aW9uIE1lZGlhUmVjb3JkZXIgZ2V0cyBvbmRhdGEgb24gc3RvcHBpbmcgcmVjb3JkZWQgdHJh
Y2tzIHsidmlkZW8iOnRydWUsImF1ZGlvIjpmYWxzZX0gd2l0aCBmb3JtYXQgdmlkZW8vd2VibTtj
b2RlY3M9dnA5LiAKK1BBU1MgUGVlckNvbm5lY3Rpb24gTWVkaWFSZWNvcmRlciByZWNlaXZlcyBk
YXRhIGFmdGVyIG9uc3RhcnQsIHsidmlkZW8iOnRydWUsImF1ZGlvIjp0cnVlfSB3aXRoIGZvcm1h
dCB2aWRlby93ZWJtO2NvZGVjcz12cDkuIAorUEFTUyBQZWVyQ29ubmVjdGlvbiBNZWRpYVJlY29y
ZGVyIGdldHMgb25kYXRhIG9uIHN0b3BwaW5nIHJlY29yZGVkIHRyYWNrcyB7InZpZGVvIjp0cnVl
LCJhdWRpbyI6dHJ1ZX0gd2l0aCBmb3JtYXQgdmlkZW8vd2VibTtjb2RlY3M9dnA5LiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGVlcmNvbm5lY3Rpb24uaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXJlY29yZC9NZWRpYVJlY29yZGVyLXBlZXJjb25uZWN0aW9uLmh0dHBzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODhlOWRhNzhhN2E1NWFmMWU5OWEyYTQ4M2U5NjJhYzE5ZmUwZmY3NgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXBlZXJjb25uZWN0aW9uLmh0dHBzLmh0bWwKQEAg
LTAsMCArMSw3MyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxtZXRhIG5hbWU9InRpbWVv
dXQiIGNvbnRlbnQ9ImxvbmciPgorCis8aGVhZD4KKyAgPHRpdGxlPk1lZGlhUmVjb3JkZXIgcGVl
ciBjb25uZWN0aW9uPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJoZWxwIgorICAgICAgICBocmVmPSJo
dHRwczovL3czYy5naXRodWIuaW8vbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLmh0
bWwjZG9tLW1lZGlhcmVjb3JkZXItbWltZVR5cGUiPgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9InV0aWxzL3BlZXJj
b25uZWN0aW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisgIDx2aWRlbyBpZD0i
cmVtb3RlIiBhdXRvcGxheSB3aWR0aD0iMjQwIiAvPgorICA8c2NyaXB0PgorCitbeyBuYW1lOiAi
dmlkZW8iLCBraW5kOiB7IHZpZGVvOiB0cnVlLCBhdWRpbzogZmFsc2UgfSwgbWltZVR5cGU6ICIi
IH0sCisgeyBuYW1lOiAiYXVkaW8iLCBraW5kOiB7IHZpZGVvOiBmYWxzZSwgYXVkaW86IHRydWUg
fSwgbWltZVR5cGU6ICIiIH0sCisgeyBuYW1lOiAiYXVkaW8vdmlkZW8iLCBraW5kOiB7IHZpZGVv
OiB0cnVlLCBhdWRpbzogdHJ1ZSB9LCBtaW1lVHlwZTogIiIgfSwKKyB7IG5hbWU6ICJhdWRpbyIs
IGtpbmQ6IHsgdmlkZW86IGZhbHNlLCBhdWRpbzogdHJ1ZSB9LCBtaW1lVHlwZTogInZpZGVvL3dl
Ym07Y29kZWNzPXZwOCIgfSwKKyB7IG5hbWU6ICJ2aWRlbyIsIGtpbmQ6IHsgdmlkZW86IHRydWUs
IGF1ZGlvOiBmYWxzZSB9LCBtaW1lVHlwZTogInZpZGVvL3dlYm07Y29kZWNzPXZwOCIgfSwKKyB7
IG5hbWU6ICJhdWRpby92aWRlbyIsIGtpbmQ6IHsgdmlkZW86IHRydWUsIGF1ZGlvOiB0cnVlIH0s
IG1pbWVUeXBlOiAidmlkZW8vd2VibTtjb2RlY3M9dnA4IiB9LAorIHsgbmFtZTogImF1ZGlvIiwg
a2luZDogeyB2aWRlbzogZmFsc2UsIGF1ZGlvOiB0cnVlIH0sIG1pbWVUeXBlOiAidmlkZW8vd2Vi
bTtjb2RlY3M9dnA5IiB9LAorIHsgbmFtZTogInZpZGVvIiwga2luZDogeyB2aWRlbzogdHJ1ZSwg
YXVkaW86IGZhbHNlIH0sIG1pbWVUeXBlOiAidmlkZW8vd2VibTtjb2RlY3M9dnA5IiB9LAorIHsg
bmFtZTogImF1ZGlvL3ZpZGVvIiwga2luZDogeyB2aWRlbzogdHJ1ZSwgYXVkaW86IHRydWUgfSwg
bWltZVR5cGU6ICJ2aWRlby93ZWJtO2NvZGVjcz12cDkiIH1dCisgIC5mb3JFYWNoKGFyZ3MgPT4g
eworICAgIGNvbnN0IGZvcm1hdFN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGFyZ3Mua2luZCkgKwor
ICAgICAgICAiIHdpdGggZm9ybWF0ICIgKyAoYXJncy5taW1lVHlwZSA/IGFyZ3MubWltZVR5cGUg
OiAiW3Bhc3N0aHJvdWdoXSIpICsgIi4iOworICAgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgICAgIGNvbnN0IFtsb2NhbFBjLCByZW1vdGVQYywgc3RyZWFtXSA9IGF3YWl0IHN0YXJ0Q29u
bmVjdGlvbigKKyAgICAgICAgICB0LCBhcmdzLmtpbmQuYXVkaW8sIGFyZ3Mua2luZC52aWRlbyk7
CisgICAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgeyBtaW1l
VHlwZTogYXJncy5taW1lVHlwZSB9KTsKKyAgICAgIGxldCBjb21iaW5lZFNpemUgPSAwOworICAg
ICAgY29uc3QgZGF0YVByb21pc2UgPSBuZXcgUHJvbWlzZShyID0+IHsKKyAgICAgICAgcmVjb3Jk
ZXIub25zdGFydCA9ICgpID0+IHsKKyAgICAgICAgICByZWNvcmRlci5vbmRhdGFhdmFpbGFibGUg
PSBlID0+IHsKKyAgICAgICAgICAgIC8vIFdhaXQgZm9yIGFuIGFyYml0cmFyeSBhbW91bnQgb2Yg
ZGF0YSB0byBhcHBlYXIgYmVmb3JlIHdlIHJlc29sdmUuCisgICAgICAgICAgICBjb21iaW5lZFNp
emUgKz0gZS5kYXRhLnNpemU7CisgICAgICAgICAgICBpZiAoY29tYmluZWRTaXplID4gNDcxMSkg
cigpOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfSk7CisgICAgICByZWNvcmRlci5z
dGFydCgxMDApOworICAgICAgYXdhaXQgZGF0YVByb21pc2U7CisgICAgICByZWNvcmRlci5zdG9w
KCk7CisgICAgfSwgIlBlZXJDb25uZWN0aW9uIE1lZGlhUmVjb3JkZXIgcmVjZWl2ZXMgZGF0YSBh
ZnRlciBvbnN0YXJ0LCAiICsKKyAgICAgICAgICBmb3JtYXRTdHJpbmcpOworCisgICAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgY29uc3QgW2xvY2FsUGMsIHJlbW90ZVBjLCBzdHJl
YW1dID0gYXdhaXQgc3RhcnRDb25uZWN0aW9uKAorICAgICAgICAgIHQsIGFyZ3Mua2luZC5hdWRp
bywgYXJncy5raW5kLnZpZGVvKTsKKyAgICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVj
b3JkZXIoc3RyZWFtLCB7IG1pbWVUeXBlOiBhcmdzLm1pbWVUeXBlIH0pOworICAgICAgY29uc3Qg
c3RvcFByb21pc2UgPSBuZXcgUHJvbWlzZShyID0+IHJlY29yZGVyLm9uc3RvcCA9IHIpOworICAg
ICAgY29uc3QgZGF0YVByb21pc2UgPSBuZXcgUHJvbWlzZShyID0+IHJlY29yZGVyLm9uZGF0YWF2
YWlsYWJsZSA9IHIpOworICAgICAgcmVjb3JkZXIuc3RhcnQoKTsKKyAgICAgIGF3YWl0IHdhaXRG
b3JSZWNlaXZlZEZyYW1lcygKKyAgICAgICAgdCwgcmVtb3RlUGMsIGFyZ3Mua2luZC5hdWRpbywg
YXJncy5raW5kLnZpZGVvLCAxMCk7CisgICAgICBmb3IgKHRyYW5zY2VpdmVyIG9mIHJlbW90ZVBj
LmdldFRyYW5zY2VpdmVycygpKQorICAgICAgICB0cmFuc2NlaXZlci5yZWNlaXZlci50cmFjay5z
dG9wKCk7CisgICAgICAvLyBBcyB0aGUgdHJhY2tzIGVuZGVkLCB3ZSdkIGxpa2UgdG8gc2VlIGRh
dGEgZnJvbSB0aGUgcmVjb3JkZXIuCisgICAgICAvLyBGb3IgZGV0YWlsczoKKyAgICAgIC8vIGh0
dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXN0cmVhbS1yZWNvcmRpbmcvI21lZGlhcmVjb3JkZXIt
bWV0aG9kcy4KKyAgICAgIGF3YWl0IGRhdGFQcm9taXNlOworICAgICAgYXdhaXQgc3RvcFByb21p
c2U7CisgICAgfSwgIlBlZXJDb25uZWN0aW9uIE1lZGlhUmVjb3JkZXIgZ2V0cyBvbmRhdGEgb24g
c3RvcHBpbmcgcmVjb3JkZWQgIiArCisgICAgICAgICAgICAidHJhY2tzICIgKyBmb3JtYXRTdHJp
bmcpOworICB9KTsKKworICA8L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItc3RvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFS
ZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4dAppbmRleCAxZGVmMDMzNTlmNmMxNWZiOTJmOWViY2M5
YTFhODYwNjdmOTIyY2QxLi4yOGNjYzY1YWYzMTAwYWVlOTY4NWJmMjIxY2IzMGQwYWE3NGM5YWVm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDcgQEAK
IAotUEFTUyBNZWRpYVJlY29yZGVyIHdpbGwgc3RvcCByZWNvcmRpbmcgYW5kIGZpcmUgYSBzdG9w
IGV2ZW50IHdoZW4gYWxsIHRyYWNrcyBhcmUgZW5kZWQgCitGQUlMIE1lZGlhUmVjb3JkZXIgd2ls
bCBzdG9wIHJlY29yZGluZyBhbmQgZmlyZSBhIHN0b3AgZXZlbnQgd2hlbiBhbGwgdHJhY2tzIGFy
ZSBlbmRlZCBhc3NlcnRfZXF1YWxzOiBNZWRpYVJlY29yZGVyIHN0YXRlIHNob3VsZCBiZSByZWNv
cmRpbmcgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGxhc3QgdHJhY2sgZW5kaW5nIGV4cGVjdGVkICJy
ZWNvcmRpbmciIGJ1dCBnb3QgImluYWN0aXZlIgogUEFTUyBNZWRpYVJlY29yZGVyIHdpbGwgc3Rv
cCByZWNvcmRpbmcgYW5kIGZpcmUgYSBzdG9wIGV2ZW50IHdoZW4gc3RvcCgpIGlzIGNhbGxlZCAK
K0ZBSUwgTWVkaWFSZWNvcmRlciB3aWxsIGZpcmUgYW4gZXhjZXB0aW9uIHdoZW4gc3RvcHBlZCBh
ZnRlciBjcmVhdGlvbiBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHsgcmVjb3Jk
ZXIuc3RvcCgpOyB9IiBkaWQgbm90IHRocm93CitGQUlMIE1lZGlhUmVjb3JkZXIgd2lsbCBmaXJl
IGFuIGV4Y2VwdGlvbiB3aGVuIHN0b3BwZWQgYWZ0ZXIgaGF2aW5nIGp1c3QgYmVlbiBzdG9wcGVk
IGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4geyByZWNvcmRlci5zdG9wKCk7IH0i
IGRpZCBub3QgdGhyb3cKK0ZBSUwgTWVkaWFSZWNvcmRlciB3aWxsIGZpcmUgYW4gZXhjZXB0aW9u
IHdoZW4gc3RvcHBlZCBhZnRlciBoYXZpbmcganVzdCBiZWVuIHNwb250YW5lb3VzbHkgc3RvcHBl
ZCBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHsgcmVjb3JkZXIuc3RvcCgpOyB9
IiBkaWQgbm90IHRocm93CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3Au
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXN0b3AuaHRtbAppbmRleCA4ZTA1ZmM1NDkxZDhk
YTdhYWRkZWZlYTIwZmFlMzZkNzA1Yzc1YmNlLi5iYjM5YjAyN2YwZmNhYzBhNGFhNjM5MThkNTZk
NjIyOTY2MDdiNWU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1zdG9wLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItc3RvcC5odG1sCkBAIC0xNiwzNSArMTYsMTA1IEBA
CiAgICAgICAgIHJldHVybiBjYW52YXMuY2FwdHVyZVN0cmVhbSgpOwogICAgIH0KIAotICAgIGFz
eW5jX3Rlc3QodCA9PiB7CisgICAgZnVuY3Rpb24gcmVjb3JkRXZlbnRzKHRhcmdldCwgZXZlbnRz
KSB7CisgICAgICAgIGxldCBhcnIgPSBbXTsKKyAgICAgICAgZm9yIChsZXQgZXYgb2YgZXZlbnRz
KSB7CisgICAgICAgICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldiwgXyA9PiBhcnIucHVz
aChldikpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBhcnI7CisgICAgfQorCisgICAgLy8g
VGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGNoZWNrIHRoYXQgZWxlbWVudHMgb2YgfGFjdHVhbHwg
aXMgYSBzdWIKKyAgICAvLyBzZXF1ZW5jZSBpbiB0aGUgfGV4cGVjdGVkfCBzZXF1ZW5jZS4KKyAg
ICBmdW5jdGlvbiBhc3NlcnRTZXF1ZW5jZUluKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICAgIGxl
dCBpID0gMDsKKyAgICAgIGZvciAoZXZlbnQgb2YgYWN0dWFsKSB7CisgICAgICAgIGNvbnN0IGog
PSBleHBlY3RlZC5zbGljZShpKS5pbmRleE9mKGV2ZW50KTsKKyAgICAgICAgYXNzZXJ0X2dyZWF0
ZXJfdGhhbl9lcXVhbCgKKyAgICAgICAgICAgIGosIDAsICJTZXF1ZW5jZSBlbGVtZW50ICIgKyBl
dmVudCArICIgaXMgbm90IGluY2x1ZGVkIGluICIgKworICAgICAgICAgICAgZXhwZWN0ZWQuc2xp
Y2UoaSkpOworICAgICAgICBpID0gajsKKyAgICAgIH0KKyAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgICAgICAgbGV0IHZpZGVvID0g
Y3JlYXRlVmlkZW9TdHJlYW0oKTsKICAgICAgICAgbGV0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVj
b3JkZXIodmlkZW8pOwotICAgICAgICByZWNvcmRlci5vbnN0b3AgPSB0LnN0ZXBfZnVuYyhlcnJv
ckV2ZW50ID0+IHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXJyb3JFdmVudC50eXBlLCAn
c3RvcCcsICd0aGUgZXJyb3IgdHlwZSBzaG91bGQgYmUgc3RvcCcpOwotICAgICAgICAgICAgYXNz
ZXJ0X3RydWUoZXJyb3JFdmVudC5pc1RydXN0ZWQsICdpc1RydXN0ZWQgc2hvdWxkIGJlIHRydWUg
d2hlbiB0aGUgZXZlbnQgaXMgY3JlYXRlZCBieSBDKysnKTsKLSAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMocmVjb3JkZXIuc3RhdGUsICJpbmFjdGl2ZSIsICJNZWRpYVJlY29yZGVyIGhhcyBiZWVu
IHN0b3BwZWQgd2hlbiBhbGwgdHJhY2tzIGFyZSBlbmRlZCIpOwotICAgICAgICAgICAgdC5kb25l
KCk7Ci0gICAgICAgIH0pOworICAgICAgICBsZXQgZXZlbnRzID0gcmVjb3JkRXZlbnRzKHJlY29y
ZGVyLAorICAgICAgICAgICAgWyJzdGFydCIsICJzdG9wIiwgImRhdGFhdmFpbGFibGUiLCAicGF1
c2UiLCAicmVzdW1lIiwgImVycm9yIl0pOwogICAgICAgICBhc3NlcnRfZXF1YWxzKHZpZGVvLmdl
dFZpZGVvVHJhY2tzKCkubGVuZ3RoLCAxLCAidmlkZW8gbWVkaWFzdHJlYW0gc3RhcnRzIHdpdGgg
b25lIHRyYWNrIik7CiAgICAgICAgIHJlY29yZGVyLnN0YXJ0KCk7CiAgICAgICAgIGFzc2VydF9l
cXVhbHMocmVjb3JkZXIuc3RhdGUsICJyZWNvcmRpbmciLCAiTWVkaWFSZWNvcmRlciBoYXMgYmVl
biBzdGFydGVkIHN1Y2Nlc3NmdWxseSIpOwogICAgICAgICB2aWRlby5nZXRWaWRlb1RyYWNrcygp
WzBdLnN0b3AoKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgInJlY29y
ZGluZyIsICJNZWRpYVJlY29yZGVyIHN0YXRlIHNob3VsZCBiZSByZWNvcmRpbmcgaW1tZWRpYXRl
bHkgZm9sbG93aW5nIGxhc3QgdHJhY2sgZW5kaW5nIik7CisgICAgICAgIGxldCBldmVudCA9IGF3
YWl0IG5ldyBQcm9taXNlKHIgPT4gcmVjb3JkZXIub25zdG9wID0gcik7CisKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhldmVudC50eXBlLCAic3RvcCIsICJ0aGUgZXZlbnQgdHlwZSBzaG91bGQgYmUg
c3RvcCIpOworICAgICAgICBhc3NlcnRfdHJ1ZShldmVudC5pc1RydXN0ZWQsICJpc1RydXN0ZWQg
c2hvdWxkIGJlIHRydWUgd2hlbiB0aGUgZXZlbnQgaXMgY3JlYXRlZCBieSBDKysiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgImluYWN0aXZlIiwgIk1lZGlhUmVjb3Jk
ZXIgaXMgaW5hY3RpdmUgYWZ0ZXIgc3RvcCBldmVudCIpOworCisgICAgICAgIC8vIEFzIHRoZSB0
ZXN0IGlzIHdyaXR0ZW4sIGl0J3Mgbm90IGd1YXJhbnRlZWQgdGhhdAorICAgICAgICAvLyBvbnN0
YXJ0L29uZGF0YWF2YWlsYWJsZSBpcyBpbnZva2VkLCBidXQgaXQncyBmaW5lIGlmIHRoZXkgYXJl
LgorICAgICAgICAvLyBUaGUgc3RvcCBlbGVtZW50IGlzIGd1YXJhbnRlZWQgdG8gYmUgaW4gZXZl
bnRzIHdoZW4gd2UgZ2V0IGhlcmUuCisgICAgICAgIGFzc2VydFNlcXVlbmNlSW4oZXZlbnRzLCBb
InN0YXJ0IiwgImRhdGFhdmFpbGFibGUiLCAic3RvcCJdKTsKICAgICB9LCAiTWVkaWFSZWNvcmRl
ciB3aWxsIHN0b3AgcmVjb3JkaW5nIGFuZCBmaXJlIGEgc3RvcCBldmVudCB3aGVuIGFsbCB0cmFj
a3MgYXJlIGVuZGVkIik7CiAKLSAgICBhc3luY190ZXN0KHQgPT4geworICAgIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKICAgICAgICAgbGV0IHZpZGVvID0gY3JlYXRlVmlkZW9TdHJlYW0oKTsK
ICAgICAgICAgbGV0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIodmlkZW8pOwotICAgICAg
ICByZWNvcmRlci5vbnN0b3AgPSB0LnN0ZXBfZnVuYyhlcnJvckV2ZW50ID0+IHsKLSAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoZXJyb3JFdmVudC50eXBlLCAnc3RvcCcsICd0aGUgZXJyb3IgdHlw
ZSBzaG91bGQgYmUgc3RvcCcpOwotICAgICAgICAgICAgYXNzZXJ0X3RydWUoZXJyb3JFdmVudC5p
c1RydXN0ZWQsICdpc1RydXN0ZWQgc2hvdWxkIGJlIHRydWUgd2hlbiB0aGUgZXZlbnQgaXMgY3Jl
YXRlZCBieSBDKysnKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUs
ICJpbmFjdGl2ZSIsICJNZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0b3BwZWQgd2hlbiBzdG9wKCkg
aXMgY2FsbGVkIik7Ci0gICAgICAgICAgICB0LmRvbmUoKTsKLSAgICAgICAgfSk7CisgICAgICAg
IGxldCBldmVudHMgPSByZWNvcmRFdmVudHMocmVjb3JkZXIsCisgICAgICAgICAgICBbInN0YXJ0
IiwgInN0b3AiLCAiZGF0YWF2YWlsYWJsZSIsICJwYXVzZSIsICJyZXN1bWUiLCAiZXJyb3IiXSk7
CiAgICAgICAgIHJlY29yZGVyLnN0YXJ0KCk7CiAgICAgICAgIGFzc2VydF9lcXVhbHMocmVjb3Jk
ZXIuc3RhdGUsICJyZWNvcmRpbmciLCAiTWVkaWFSZWNvcmRlciBoYXMgYmVlbiBzdGFydGVkIHN1
Y2Nlc3NmdWxseSIpOwogICAgICAgICByZWNvcmRlci5zdG9wKCk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMocmVjb3JkZXIuc3RhdGUsICJyZWNvcmRpbmciLCAiU3RhdGUgc2hvdWxkIHJlbWFpbiB0
aGUgc2FtZSB1bnRpbCBzdG9wIGV2ZW50IGlzIGZpcmVkIik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMocmVjb3JkZXIuc3RhdGUsICJpbmFjdGl2ZSIsICJNZWRpYVJlY29yZGVyIHN0YXRlIHNob3Vs
ZCBiZSBpbmFjdGl2ZSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgc3RvcCgpIGNhbGwiKTsKKworICAg
ICAgICBsZXQgZXZlbnQgPSBhd2FpdCBuZXcgUHJvbWlzZSAociA9PiByZWNvcmRlci5vbnN0b3Ag
PSByKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC50eXBlLCAic3RvcCIsICJ0aGUgZXZl
bnQgdHlwZSBzaG91bGQgYmUgc3RvcCIpOworICAgICAgICBhc3NlcnRfdHJ1ZShldmVudC5pc1Ry
dXN0ZWQsICJpc1RydXN0ZWQgc2hvdWxkIGJlIHRydWUgd2hlbiB0aGUgZXZlbnQgaXMgY3JlYXRl
ZCBieSBDKysiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgImluYWN0
aXZlIiwgIk1lZGlhUmVjb3JkZXIgaXMgaW5hY3RpdmUgYWZ0ZXIgc3RvcCBldmVudCIpOworCisg
ICAgICAgIC8vIEFzIHRoZSB0ZXN0IGlzIHdyaXR0ZW4sIGl0J3Mgbm90IGd1YXJhbnRlZWQgdGhh
dAorICAgICAgICAvLyBvbnN0YXJ0L29uZGF0YWF2YWlsYWJsZSBpcyBpbnZva2VkLCBidXQgaXQn
cyBmaW5lIGlmIHRoZXkgYXJlLgorICAgICAgICAvLyBUaGUgc3RvcCBlbGVtZW50IGlzIGd1YXJh
bnRlZWQgdG8gYmUgaW4gZXZlbnRzIHdoZW4gd2UgZ2V0IGhlcmUuCisgICAgICAgIGFzc2VydFNl
cXVlbmNlSW4oZXZlbnRzLCBbInN0YXJ0IiwgImRhdGFhdmFpbGFibGUiLCAic3RvcCJdKTsKICAg
ICB9LCAiTWVkaWFSZWNvcmRlciB3aWxsIHN0b3AgcmVjb3JkaW5nIGFuZCBmaXJlIGEgc3RvcCBl
dmVudCB3aGVuIHN0b3AoKSBpcyBjYWxsZWQiKTsKKworICAgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICAgICAgY29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihjcmVhdGVW
aWRlb1N0cmVhbSgpKTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVy
cm9yIiwgKCkgPT4geyByZWNvcmRlci5zdG9wKCk7IH0pOworICAgICAgICBhd2FpdCBQcm9taXNl
LnJhY2UoWworICAgICAgICAgICAgbmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT4gcmVjb3JkZXIu
b25zdG9wID0KKyAgICAgICAgICAgICAgICBfID0+IHJlamVjdChuZXcgRXJyb3IoIm9uc3RvcCBz
aG91bGQgbmV2ZXIgaGF2ZSBiZWVuIGNhbGxlZCIpKSksCisgICAgICAgICAgICBuZXcgUHJvbWlz
ZShyID0+IHQuc3RlcF90aW1lb3V0KHIsIDApKV0pOworICAgIH0sICJNZWRpYVJlY29yZGVyIHdp
bGwgZmlyZSBhbiBleGNlcHRpb24gd2hlbiBzdG9wcGVkIGFmdGVyIGNyZWF0aW9uIik7CisKKyAg
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICAgIGNvbnN0IHJlY29yZGVyID0gbmV3
IE1lZGlhUmVjb3JkZXIoY3JlYXRlVmlkZW9TdHJlYW0oKSk7CisgICAgICAgIHJlY29yZGVyLnN0
YXJ0KCk7CisgICAgICAgIHJlY29yZGVyLnN0b3AoKTsKKyAgICAgICAgbGV0IGV2ZW50ID0gYXdh
aXQgbmV3IFByb21pc2UociA9PiByZWNvcmRlci5vbnN0b3AgPSByKTsKKyAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgKCkgPT4geyByZWNvcmRlci5zdG9wKCk7
IH0pOworICAgICAgICBhd2FpdCBQcm9taXNlLnJhY2UoWworICAgICAgICAgICAgbmV3IFByb21p
c2UoKF8sIHJlamVjdCkgPT4gcmVjb3JkZXIub25zdG9wID0KKyAgICAgICAgICAgICAgICBfID0+
IHJlamVjdChuZXcgRXJyb3IoIm9uc3RvcCBzaG91bGQgbmV2ZXIgaGF2ZSBiZWVuIGNhbGxlZCIp
KSksCisgICAgICAgICAgICBuZXcgUHJvbWlzZShyID0+IHQuc3RlcF90aW1lb3V0KHIsIDApKV0p
OworICAgIH0sICJNZWRpYVJlY29yZGVyIHdpbGwgZmlyZSBhbiBleGNlcHRpb24gd2hlbiBzdG9w
cGVkIGFmdGVyIGhhdmluZyBqdXN0IGJlZW4gc3RvcHBlZCIpOworCisgICAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgICAgICBjb25zdCBzdHJlYW0gPSBjcmVhdGVWaWRlb1N0cmVhbSgp
OworICAgICAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSk7Cisg
ICAgICAgIHJlY29yZGVyLnN0YXJ0KCk7CisgICAgICAgIHN0cmVhbS5nZXRWaWRlb1RyYWNrcygp
WzBdLnN0b3AoKTsKKyAgICAgICAgbGV0IGV2ZW50ID0gYXdhaXQgbmV3IFByb21pc2UociA9PiBy
ZWNvcmRlci5vbnN0b3AgPSByKTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRT
dGF0ZUVycm9yIiwgKCkgPT4geyByZWNvcmRlci5zdG9wKCk7IH0pOworICAgICAgICBhd2FpdCBQ
cm9taXNlLnJhY2UoWworICAgICAgICAgICAgbmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT4gcmVj
b3JkZXIub25zdG9wID0KKyAgICAgICAgICAgICAgICBfID0+IHJlamVjdChuZXcgRXJyb3IoIm9u
c3RvcCBzaG91bGQgbmV2ZXIgaGF2ZSBiZWVuIGNhbGxlZCIpKSksCisgICAgICAgICAgICBuZXcg
UHJvbWlzZShyID0+IHQuc3RlcF90aW1lb3V0KHIsIDApKV0pOworICAgIH0sICJNZWRpYVJlY29y
ZGVyIHdpbGwgZmlyZSBhbiBleGNlcHRpb24gd2hlbiBzdG9wcGVkIGFmdGVyIGhhdmluZyBqdXN0
IGJlZW4gc3BvbnRhbmVvdXNseSBzdG9wcGVkIik7CisKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJl
Y29yZC9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvaWRsaGFybmVzcy53
aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IGY4ZWI5NTZhZTFhMTY2MzZmMjc5NzhiZjg3NjY2YmZj
ODg1NDQyMTMuLjczZjQ3N2Q4MzYzYzBhMzg4NGU5NTg4ZmU4YTc0MTEzNDU1MWIyMTggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXJlY29yZC9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMTAsNyArMTAsNyBAQCBQQVNTIE1l
ZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYgogUEFTUyBNZWRpYVJlY29yZGVyIGludGVyZmFjZTogYXR0cmlidXRl
IHN0cmVhbSAKIEZBSUwgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtaW1lVHlw
ZSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkg
Im1pbWVUeXBlIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBNZWRpYVJlY29yZGVyIGlu
dGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIAotRkFJTCBNZWRpYVJlY29yZGVyIGludGVyZmFjZTog
YXR0cmlidXRlIG9uc3RhcnQgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3Qg
aGF2ZSBhIHByb3BlcnR5ICJvbnN0YXJ0IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBN
ZWRpYVJlY29yZGVyIGludGVyZmFjZTogYXR0cmlidXRlIG9uc3RhcnQgCiBQQVNTIE1lZGlhUmVj
b3JkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdG9wIAogUEFTUyBNZWRpYVJlY29yZGVyIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uZGF0YWF2YWlsYWJsZSAKIEZBSUwgTWVkaWFSZWNvcmRlciBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhdXNlIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9i
amVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25wYXVzZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKQEAgLTMwLDcgKzMwLDcgQEAgUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgW29iamVjdCBNZWRp
YVJlY29yZGVyXQogUEFTUyBNZWRpYVJlY29yZGVyIGludGVyZmFjZTogW29iamVjdCBNZWRpYVJl
Y29yZGVyXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0cmVhbSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBGQUlMIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVjb3JkZXJd
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWltZVR5cGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFz
c2VydF9pbmhlcml0czogcHJvcGVydHkgIm1pbWVUeXBlIiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVjb3Jk
ZXJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAot
RkFJTCBNZWRpYVJlY29yZGVyIGludGVyZmFjZTogW29iamVjdCBNZWRpYVJlY29yZGVyXSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9uc3RhcnQiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9p
bmhlcml0czogcHJvcGVydHkgIm9uc3RhcnQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4K
K1BBU1MgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
TWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbnN0b3AiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBNZWRpYVJl
Y29yZGVyIGludGVyZmFjZTogW29iamVjdCBNZWRpYVJlY29yZGVyXSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9uZGF0YWF2YWlsYWJsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBGQUlMIE1lZGlh
UmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVjb3JkZXJdIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAib25wYXVzZSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgpAQCAtNjYsNyAr
NjYsNyBAQCBQQVNTIE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcgogUEFTUyBNZWRpYVJlY29yZGVyRXJyb3JF
dmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIE1lZGlhUmVjb3Jk
ZXJFcnJvckV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKIFBBU1MgTWVk
aWFSZWNvcmRlckVycm9yRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXJyb3IgCi1GQUlMIE1l
ZGlhUmVjb3JkZXJFcnJvckV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgdW5kZWZp
bmVkIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIg
YnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgdW5kZWZpbmVkIGFz
c2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdv
dCAidW5kZWZpbmVkIgotRkFJTCBNZWRpYVJlY29yZGVyRXJyb3JFdmVudCBpbnRlcmZhY2U6IHVu
ZGVmaW5lZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVycm9yIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1
dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgTWVkaWFSZWNvcmRlckVycm9yRXZlbnQgbXVzdCBiZSBw
cmltYXJ5IGludGVyZmFjZSBvZiBbb2JqZWN0IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50XSAKK1BB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3QgTWVkaWFSZWNvcmRlckVycm9yRXZlbnRdIAor
UEFTUyBNZWRpYVJlY29yZGVyRXJyb3JFdmVudCBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFSZWNv
cmRlckVycm9yRXZlbnRdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZXJyb3IiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvaWRsaGFybmVzcy53aW5kb3cuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1y
ZWNvcmQvaWRsaGFybmVzcy53aW5kb3cuanMKaW5kZXggODZmNWExNTg4MjIxNTZiNTRlNzc2NjM5
ZmI5Yzc1MDRmMGZmNzQ5OC4uMmUzMDRiMGEwZTZlY2UyNDc2MTRjNWM2OTJlZjBlMzY4ZjVhZDIx
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtcmVjb3JkL2lkbGhhcm5lc3Mud2luZG93LmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9p
ZGxoYXJuZXNzLndpbmRvdy5qcwpAQCAtNyw3ICs3LDcgQEAKIAogaWRsX3Rlc3QoCiAgIFsnbWVk
aWFzdHJlYW0tcmVjb3JkaW5nJ10sCi0gIFsnbWVkaWFjYXB0dXJlLXN0cmVhbXMnLCAnRmlsZUFQ
SScsICdodG1sJywgJ2RvbSddLAorICBbJ21lZGlhY2FwdHVyZS1zdHJlYW1zJywgJ0ZpbGVBUEkn
LCAnaHRtbCcsICdkb20nLCAnV2ViSURMJ10sCiAgIGlkbF9hcnJheSA9PiB7CiAgICAgLy8gSWdu
b3JlZCBlcnJvcnMgd2lsbCBiZSBzdXJmYWNlZCBpbiBpZGxoYXJuZXNzLmpzJ3MgdGVzdF9vYmpl
Y3QgYmVsb3cuCiAgICAgbGV0IHJlY29yZGVyLCBibG9iLCBlcnJvcjsKQEAgLTMxLDcgKzMxLDkg
QEAgaWRsX3Rlc3QoCiAgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsgQmxvYkV2ZW50OiBbYmxv
Yl0gfSk7CiAKICAgICB0cnkgewotICAgICAgZXJyb3IgPSBuZXcgTWVkaWFSZWNvcmRlckVycm9y
RXZlbnQoInR5cGUiLCB7fSk7CisgICAgICBlcnJvciA9IG5ldyBNZWRpYVJlY29yZGVyRXJyb3JF
dmVudCgidHlwZSIsIHsKKyAgICAgICAgZXJyb3I6IG5ldyBET01FeGNlcHRpb24sCisgICAgICB9
KTsKICAgICB9IGNhdGNoKGUpIHt9CiAgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsgTWVkaWFS
ZWNvcmRlckVycm9yRXZlbnQ6IFtlcnJvcl0gfSk7CiAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9w
YXNzdGhyb3VnaC9NZWRpYVJlY29yZGVyLXBhc3N0aHJvdWdoLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXJlY29yZC9wYXNzdGhyb3VnaC9NZWRpYVJlY29yZGVyLXBhc3N0aHJvdWdoLmh0dHBzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMWU1MjYwNjNlZWE2NzcwOWZlZjc5OGFiODI0MGM4NDY1NTAw
ZWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL3Bhc3N0aHJvdWdoL01lZGlhUmVjb3JkZXIt
cGFzc3Rocm91Z2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK0NPTlNPTEUg
TUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBJbnZhbGlkU3RhdGVFcnJvcjog
VGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLgorQ09OU09MRSBNRVNTQUdFOiBVbmhh
bmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlz
IGluIGFuIGludmFsaWQgc3RhdGUuCitDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNl
IFJlamVjdGlvbjogSW52YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxp
ZCBzdGF0ZS4KKworCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCBy
ZWplY3Rpb246IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4KKworRkFJTCBQZWVy
Q29ubmVjdGlvbiBwYXNzdGhyb3VnaCBNZWRpYVJlY29yZGVyIHJlY2VpdmVzIFZQOCBhZnRlciBv
bnN0YXJ0IHdpdGggYSB2aWRlbyBzdHJlYW0uIGFzc2VydF9yZWdleHBfbWF0Y2g6IG1pbWVUeXBl
IGlzIG1hdGNoaW5nIFZQOCBpbiBjYXNlIG9mIHBhc3N0aHJvdWdoLiBleHBlY3RlZCBvYmplY3Qg
Ii8uKnZwOC4qLyIgYnV0IGdvdCB1bmRlZmluZWQKK0ZBSUwgUGVlckNvbm5lY3Rpb24gcGFzc3Ro
cm91Z2ggTWVkaWFSZWNvcmRlciByZWNlaXZlcyBWUDggYWZ0ZXIgb25zdGFydCB3aXRoIGEgYXVk
aW8vdmlkZW8gc3RyZWFtLiBhc3NlcnRfcmVnZXhwX21hdGNoOiBtaW1lVHlwZSBpcyBtYXRjaGlu
ZyBWUDggaW4gY2FzZSBvZiBwYXNzdGhyb3VnaC4gZXhwZWN0ZWQgb2JqZWN0ICIvLip2cDguKi8i
IGJ1dCBnb3QgdW5kZWZpbmVkCitGQUlMIFBlZXJDb25uZWN0aW9uIHBhc3N0aHJvdWdoIE1lZGlh
UmVjb3JkZXIgcmVjZWl2ZXMgVlA5IGFmdGVyIG9uc3RhcnQgd2l0aCBhIHZpZGVvIHN0cmVhbS4g
YXNzZXJ0X3JlZ2V4cF9tYXRjaDogbWltZVR5cGUgaXMgbWF0Y2hpbmcgVlA5IGluIGNhc2Ugb2Yg
cGFzc3Rocm91Z2guIGV4cGVjdGVkIG9iamVjdCAiLy4qdnA5LiovIiBidXQgZ290IHVuZGVmaW5l
ZAorRkFJTCBQZWVyQ29ubmVjdGlvbiBwYXNzdGhyb3VnaCBNZWRpYVJlY29yZGVyIHJlY2VpdmVz
IFZQOSBhZnRlciBvbnN0YXJ0IHdpdGggYSBhdWRpby92aWRlbyBzdHJlYW0uIGFzc2VydF9yZWdl
eHBfbWF0Y2g6IG1pbWVUeXBlIGlzIG1hdGNoaW5nIFZQOSBpbiBjYXNlIG9mIHBhc3N0aHJvdWdo
LiBleHBlY3RlZCBvYmplY3QgIi8uKnZwOS4qLyIgYnV0IGdvdCB1bmRlZmluZWQKK1RJTUVPVVQg
UGVlckNvbm5lY3Rpb24gcGFzc3Rocm91Z2ggTWVkaWFSZWNvcmRlciBzaG91bGQgYmUgcHJlcGFy
ZWQgdG8gaGFuZGxlIHRoZSBjb2RlYyBzd2l0Y2hpbmcgZnJvbSBWUDggdG8gVlA5IFRlc3QgdGlt
ZWQgb3V0CisKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVj
dGlvbjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLgorCitGQUlMIFBlZXJDb25u
ZWN0aW9uIHBhc3N0aHJvdWdoIE1lZGlhUmVjb3JkZXIgcmVjZWl2ZXMgVlA4IGFmdGVyIG9uc3Rh
cnQgd2l0aCBhIHZpZGVvIHN0cmVhbS4gYXNzZXJ0X3JlZ2V4cF9tYXRjaDogbWltZVR5cGUgaXMg
bWF0Y2hpbmcgVlA4IGluIGNhc2Ugb2YgcGFzc3Rocm91Z2guIGV4cGVjdGVkIG9iamVjdCAiLy4q
dnA4LiovIiBidXQgZ290IHVuZGVmaW5lZAorRkFJTCBQZWVyQ29ubmVjdGlvbiBwYXNzdGhyb3Vn
aCBNZWRpYVJlY29yZGVyIHJlY2VpdmVzIFZQOCBhZnRlciBvbnN0YXJ0IHdpdGggYSBhdWRpby92
aWRlbyBzdHJlYW0uIGFzc2VydF9yZWdleHBfbWF0Y2g6IG1pbWVUeXBlIGlzIG1hdGNoaW5nIFZQ
OCBpbiBjYXNlIG9mIHBhc3N0aHJvdWdoLiBleHBlY3RlZCBvYmplY3QgIi8uKnZwOC4qLyIgYnV0
IGdvdCB1bmRlZmluZWQKK0ZBSUwgUGVlckNvbm5lY3Rpb24gcGFzc3Rocm91Z2ggTWVkaWFSZWNv
cmRlciByZWNlaXZlcyBWUDkgYWZ0ZXIgb25zdGFydCB3aXRoIGEgdmlkZW8gc3RyZWFtLiBhc3Nl
cnRfcmVnZXhwX21hdGNoOiBtaW1lVHlwZSBpcyBtYXRjaGluZyBWUDkgaW4gY2FzZSBvZiBwYXNz
dGhyb3VnaC4gZXhwZWN0ZWQgb2JqZWN0ICIvLip2cDkuKi8iIGJ1dCBnb3QgdW5kZWZpbmVkCitG
QUlMIFBlZXJDb25uZWN0aW9uIHBhc3N0aHJvdWdoIE1lZGlhUmVjb3JkZXIgcmVjZWl2ZXMgVlA5
IGFmdGVyIG9uc3RhcnQgd2l0aCBhIGF1ZGlvL3ZpZGVvIHN0cmVhbS4gYXNzZXJ0X3JlZ2V4cF9t
YXRjaDogbWltZVR5cGUgaXMgbWF0Y2hpbmcgVlA5IGluIGNhc2Ugb2YgcGFzc3Rocm91Z2guIGV4
cGVjdGVkIG9iamVjdCAiLy4qdnA5LiovIiBidXQgZ290IHVuZGVmaW5lZAorVElNRU9VVCBQZWVy
Q29ubmVjdGlvbiBwYXNzdGhyb3VnaCBNZWRpYVJlY29yZGVyIHNob3VsZCBiZSBwcmVwYXJlZCB0
byBoYW5kbGUgdGhlIGNvZGVjIHN3aXRjaGluZyBmcm9tIFZQOCB0byBWUDkgVGVzdCB0aW1lZCBv
dXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL3Bhc3N0aHJvdWdoL01lZGlhUmVjb3JkZXItcGFzc3Ro
cm91Z2guaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9wYXNzdGhyb3VnaC9NZWRpYVJlY29yZGVyLXBhc3N0
aHJvdWdoLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU1YjdhMTE5MjM3OGQ4ZWU3NzY2YzgwMWMx
ODE4YzNmOWQ1OTVhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9wYXNzdGhyb3VnaC9NZWRp
YVJlY29yZGVyLXBhc3N0aHJvdWdoLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbD4KKworPGhlYWQ+CisgIDx0aXRsZT5NZWRpYVJlY29yZGVyIHBlZXIg
Y29ubmVjdGlvbjwvdGl0bGU+CisgIDxsaW5rIHJlbD0iaGVscCIKKyAgICAgICAgaHJlZj0iaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci5odG1s
I2RvbS1tZWRpYXJlY29yZGVyLW1pbWVUeXBlIj4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi91dGlscy9wZWVy
Y29ubmVjdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8dmlkZW8gaWQ9
InJlbW90ZSIgYXV0b3BsYXkgd2lkdGg9IjI0MCIgLz4KKyAgPHNjcmlwdD4KKworW3traW5kOiAi
dmlkZW8iLCBhdWRpbzogZmFsc2UsIGNvZGVjUHJlZmVyZW5jZTogIlZQOCIsIGNvZGVjUmVnZXg6
IC8uKnZwOC4qL30sCisge2tpbmQ6ICJhdWRpby92aWRlbyIsIGF1ZGlvOiB0cnVlLCBjb2RlY1By
ZWZlcmVuY2U6ICJWUDgiLCBjb2RlY1JlZ2V4OiAvLip2cDguKi99LAorIHtraW5kOiAidmlkZW8i
LCBhdWRpbzogZmFsc2UsIGNvZGVjUHJlZmVyZW5jZTogIlZQOSIsIGNvZGVjUmVnZXg6IC8uKnZw
OS4qL30sCisge2tpbmQ6ICJhdWRpby92aWRlbyIsIGF1ZGlvOiB0cnVlLCBjb2RlY1ByZWZlcmVu
Y2U6ICJWUDkiLCBjb2RlY1JlZ2V4OiAvLip2cDkuKi99XQorICAuZm9yRWFjaChhcmdzID0+IHsK
KyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBjb25zdCBbbG9jYWxQYywgcmVt
b3RlUGMsIHN0cmVhbV0gPSBhd2FpdCBzdGFydENvbm5lY3Rpb24oCisgICAgICAgICAgdCwgYXJn
cy5hdWRpbywgLyp2aWRlbz0qL3RydWUsIGFyZ3MuY29kZWNQcmVmZXJlbmNlKTsKKyAgICAgIGNv
bnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3RyZWFtKTsgIC8vIFBhc3N0aHJvdWdo
LgorICAgICAgY29uc3Qgb25zdGFydFByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICAgICAgcmVjb3JkZXIub25zdGFydCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAg
ICBhc3NlcnRfcmVnZXhwX21hdGNoKAorICAgICAgICAgICAgICAgIHJlY29yZGVyLm1pbWVUeXBl
LCBhcmdzLmNvZGVjUmVnZXgsCisgICAgICAgICAgICAgICAgIm1pbWVUeXBlIGlzIG1hdGNoaW5n
ICIgKyBhcmdzLmNvZGVjUHJlZmVyZW5jZSArCisgICAgICAgICAgICAgICAgIiBpbiBjYXNlIG9m
IHBhc3N0aHJvdWdoLiIpOworICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisgICAg
ICB9KTsKKyAgICAgIHJlY29yZGVyLnN0YXJ0KCk7CisgICAgICBhd2FpdChvbnN0YXJ0UHJvbWlz
ZSk7CisgICAgfSwgIlBlZXJDb25uZWN0aW9uIHBhc3N0aHJvdWdoIE1lZGlhUmVjb3JkZXIgcmVj
ZWl2ZXMgIiArCisgICAgICAgICAgYXJncy5jb2RlY1ByZWZlcmVuY2UgKyAiIGFmdGVyIG9uc3Rh
cnQgd2l0aCBhICIgKyBhcmdzLmtpbmQgKworICAgICAgICAgICIgc3RyZWFtLiIpOworICB9KTsK
KworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBbbG9jYWxQYywgcmVtb3RlUGMs
IHN0cmVhbSwgdHJhbnNjZWl2ZXJzXSA9IGF3YWl0IHN0YXJ0Q29ubmVjdGlvbigKKyAgICAgIHQs
IC8qYXVkaW89Ki9mYWxzZSwgLyp2aWRlbz0qL3RydWUsIC8qdmlkZW9Db2RlY1ByZWZlcmVuY2U9
Ki8iVlA4Iik7CisgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoc3RyZWFtKTsg
IC8vIFBvc3NpYmx5IHBhc3N0aHJvdWdoLgorICByZWNvcmRlci5zdGFydCgpOworICBhd2FpdCB3
YWl0Rm9yUmVjZWl2ZWRGcmFtZXModCwgcmVtb3RlUGMsIGZhbHNlLCB0cnVlLCAxMCk7CisKKyAg
Ly8gU3dpdGNoIGNvZGVjIHRvIFZQOTsgd2UgZXhwZWN0IG9uZXJyb3IgdG8gbm90IGJlIGludm9r
ZWQuCisgIHJlY29yZGVyLm9uZXJyb3IgPSB0LnN0ZXBfZnVuYygoKSA9PiBhc3NlcnRfdW5yZWFj
aGVkKAorICAgICAgIk1lZGlhUmVjb3JkZXIgc2hvdWxkIGJlIHByZXBhcmVkIHRvIGhhbmRsZSBj
b2RlYyBzd2l0Y2hlcyIpKTsKKyAgc2V0VHJhbnNjZWl2ZXJDb2RlY1ByZWZlcmVuY2UodHJhbnNj
ZWl2ZXJzLnZpZGVvLCAiVlA5Iik7CisgIGV4Y2hhbmdlT2ZmZXJBbnN3ZXIobG9jYWxQYywgcmVt
b3RlUGMpOworICBhd2FpdCB3YWl0Rm9yUmVjZWl2ZWRDb2RlYyh0LCByZW1vdGVQYywgIlZQOSIp
OworfSwgIlBlZXJDb25uZWN0aW9uIHBhc3N0aHJvdWdoIE1lZGlhUmVjb3JkZXIgc2hvdWxkIGJl
IHByZXBhcmVkIHRvIGhhbmRsZSAiICsKKyAgICAgICAgInRoZSBjb2RlYyBzd2l0Y2hpbmcgZnJv
bSBWUDggdG8gVlA5Iik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1yZWNvcmQvcGFzc3Rocm91Z2gvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvcGFzc3Rocm91
Z2gvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJmNjA5YmRlM2FkZTIzNWZhMjczYzI0ZjJk
NzU3MTk3ZWU5YmE1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9wYXNzdGhyb3VnaC93M2Mt
aW1wb3J0LmxvZwpAQCAtMCwwICsxLDE3IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvcGFzc3Rocm91Z2gv
TWVkaWFSZWNvcmRlci1wYXNzdGhyb3VnaC5odHRwcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
c3VwcG9ydC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9zdXBwb3J0L3czYy1pbXBvcnQubG9nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQwN2ViNmY1M2IxODIxMmQxZTcyZDU1YzRhODA5YjM5YmI0ODRmNWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1yZWNvcmQvc3VwcG9ydC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE3
IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisK
K0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQ
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlz
dCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1yZWNvcmQvc3VwcG9ydC9NZWRpYVJlY29yZGVyLWlmcmFtZS5odG1sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1yZWNvcmQvdXRpbHMvcGVlcmNvbm5lY3Rpb24uanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvdXRpbHMv
cGVlcmNvbm5lY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODE3MDk1ZTk4MWY3NzI0YmE0ZDhhOWYxY2Vj
MjZkMmI0YjdlM2I0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC91dGlscy9wZWVyY29ubmVj
dGlvbi5qcwpAQCAtMCwwICsxLDE1NiBAQAorLyoqCisgKiBAZmlsZW92ZXJ2aWV3IFV0aWxpdHkg
ZnVuY3Rpb25zIGZvciB0ZXN0cyB1dGlsaXppbmcgUGVlckNvbm5lY3Rpb25zCisgKi8KKworLyoq
CisgKiBFeGNoYW5nZXMgb2ZmZXJzIGFuZCBhbnN3ZXJzIGJldHdlZW4gdHdvIHBlZXIgY29ubmVj
dGlvbnMuCisgKgorICogcGMxJ3Mgb2ZmZXIgaXMgc2V0IGFzIGxvY2FsIGRlc2NyaXB0aW9uIGlu
IHBjMSBhbmQKKyAqIHJlbW90ZSBkZXNjcmlwdGlvbiBpbiBwYzIuIEFmdGVyIHRoYXQsIHBjMidz
IGFuc3dlcgorICogaXMgc2V0IGFzIGl0J3MgbG9jYWwgZGVzY3JpcHRpb24gYW5kIHJlbW90ZSBk
ZXNjcmlwdGlvbiBpbiBwYzEuCisgKgorICogQHBhcmFtIHshUlRDUGVlckNvbm5lY3Rpb259IHBj
MSBUaGUgZmlyc3QgcGVlciBjb25uZWN0aW9uLgorICogQHBhcmFtIHshUlRDUGVlckNvbm5lY3Rp
b259IHBjMiBUaGUgc2Vjb25kIHBlZXIgY29ubmVjdGlvbi4KKyAqLworYXN5bmMgZnVuY3Rpb24g
ZXhjaGFuZ2VPZmZlckFuc3dlcihwYzEsIHBjMikgeworICBhd2FpdCBwYzEuc2V0TG9jYWxEZXNj
cmlwdGlvbihhd2FpdCBwYzEuY3JlYXRlT2ZmZXIoKSk7CisgIGF3YWl0IHBjMi5zZXRSZW1vdGVE
ZXNjcmlwdGlvbihwYzEubG9jYWxEZXNjcmlwdGlvbik7CisgIGF3YWl0IHBjMi5zZXRMb2NhbERl
c2NyaXB0aW9uKGF3YWl0IHBjMi5jcmVhdGVBbnN3ZXIoKSk7CisgIGF3YWl0IHBjMS5zZXRSZW1v
dGVEZXNjcmlwdGlvbihwYzIubG9jYWxEZXNjcmlwdGlvbik7Cit9CisKKy8qKgorICogU2V0cyB0
aGUgc3BlY2lmaWVkIGNvZGVjIHByZWZlcmVuY2UgaWYgaXQncyBpbmNsdWRlZCBpbiB0aGUgdHJh
bnNjZWl2ZXIncworICogbGlzdCBvZiBzdXBwb3J0ZWQgY29kZWNzLgorICogQHBhcmFtIHshUlRD
UnRwVHJhbnNjZWl2ZXJ9IHRyYW5zY2VpdmVyIFRoZSBSVFAgdHJhbnNjZWl2ZXIuCisgKiBAcGFy
YW0ge3N0cmluZ30gY29kZWNQcmVmZXJlbmNlIFRoZSBjb2RlYyBwcmVmZXJlbmNlLgorICovCitm
dW5jdGlvbiBzZXRUcmFuc2NlaXZlckNvZGVjUHJlZmVyZW5jZSh0cmFuc2NlaXZlciwgY29kZWNQ
cmVmZXJlbmNlKSB7CisgIGZvciAobGV0IGNvZGVjIG9mIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmls
aXRpZXMoJ3ZpZGVvJykuY29kZWNzKSB7CisgICAgaWYgKGNvZGVjLm1pbWVUeXBlLmluY2x1ZGVz
KGNvZGVjUHJlZmVyZW5jZSkpIHsKKyAgICAgIHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5j
ZXMoW2NvZGVjXSk7CisgICAgICByZXR1cm47CisgICAgfQorICB9Cit9CisKKy8qKgorICogU3Rh
cnRzIGEgY29ubmVjdGlvbiBiZXR3ZWVuIHR3byBwZWVyIGNvbm5lY3Rpb25zLCB1c2luZyBhIGF1
ZGlvIGFuZC9vciB2aWRlbworICogc3RyZWFtLgorICogQHBhcmFtIHsqfSB0IFRlc3QgaW5zdGFu
Y2UuCisgKiBAcGFyYW0ge2Jvb2xlYW59IHVzZUF1ZGlvIFRydWUgaWYgYXVkaW8gc2hvdWxkIGJl
IHVzZWQuCisgKiBAcGFyYW0ge2Jvb2xlYW59IHVzZVZpZGVvIFRydWUgaWYgdmlkZW8gc2hvdWxk
IGJlIHVzZWQuCisgKiBAcGFyYW0ge3N0cmluZ30gW3ZpZGVvQ29kZWNQcmVmZXJlbmNlXSBTdHJp
bmcgY29udGFpbmluZyB0aGUgY29kZWMgcHJlZmVyZW5jZS4KKyAqIEByZXR1cm5zIGFuIGFycmF5
IHdpdGggdGhlIHR3byBjb25uZWN0ZWQgcGVlciBjb25uZWN0aW9ucywgdGhlIHJlbW90ZSBzdHJl
YW0sCisgKiBhbmQgdGhlIGxpc3Qgb2YgdHJhbnNjZWl2ZXJzLgorICovCithc3luYyBmdW5jdGlv
biBzdGFydENvbm5lY3Rpb24odCwgdXNlQXVkaW8sIHVzZVZpZGVvLCB2aWRlb0NvZGVjUHJlZmVy
ZW5jZSkgeworICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dFVzZXJNZWRpYSh7CisgICAgYXVkaW86IHVzZUF1ZGlvLCB2aWRlbzogdXNlVmlkZW8KKyAgfSk7
CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sg
PT4gdHJhY2suc3RvcCgpKSk7CisgIGNvbnN0IHBjMSA9IG5ldyBSVENQZWVyQ29ubmVjdGlvbigp
OworICB0LmFkZF9jbGVhbnVwKCgpID0+IHBjMS5jbG9zZSgpKTsKKyAgY29uc3QgcGMyID0gbmV3
IFJUQ1BlZXJDb25uZWN0aW9uKCk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gcGMyLmNsb3NlKCkp
OworICBsZXQgdHJhbnNjZWl2ZXJzID0ge307CisgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNo
KHRyYWNrID0+IHsKKyAgICBjb25zdCB0cmFuc2NlaXZlciA9IHBjMS5hZGRUcmFuc2NlaXZlcih0
cmFjayk7CisgICAgdHJhbnNjZWl2ZXJzW3RyYWNrLmtpbmRdID0gdHJhbnNjZWl2ZXI7CisgICAg
aWYgKHZpZGVvQ29kZWNQcmVmZXJlbmNlICYmIHRyYWNrLmtpbmQgPT0gJ3ZpZGVvJykgeworICAg
ICAgc2V0VHJhbnNjZWl2ZXJDb2RlY1ByZWZlcmVuY2UodHJhbnNjZWl2ZXIsIHZpZGVvQ29kZWNQ
cmVmZXJlbmNlKTsKKyAgICB9CisgIH0pOworICBmdW5jdGlvbiBkb0V4Y2hhbmdlKGxvY2FsUGMs
IHJlbW90ZVBjKSB7CisgICAgbG9jYWxQYy5hZGRFdmVudExpc3RlbmVyKCdpY2VjYW5kaWRhdGUn
LCBldmVudCA9PiB7CisgICAgICBjb25zdCB7IGNhbmRpZGF0ZSB9ID0gZXZlbnQ7CisgICAgICBp
ZiAoY2FuZGlkYXRlICYmIHJlbW90ZVBjLnNpZ25hbGluZ1N0YXRlICE9PSAnY2xvc2VkJykgewor
ICAgICAgICByZW1vdGVQYy5hZGRJY2VDYW5kaWRhdGUoY2FuZGlkYXRlKTsKKyAgICAgIH0KKyAg
ICB9KTsKKyAgfQorICBkb0V4Y2hhbmdlKHBjMSwgcGMyKTsKKyAgZG9FeGNoYW5nZShwYzIsIHBj
MSk7CisgIGV4Y2hhbmdlT2ZmZXJBbnN3ZXIocGMxLCBwYzIpOworICBjb25zdCByZW1vdGVTdHJl
YW0gPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBsZXQgdHJhY2tzID0gW107
CisgICAgcGMyLm9udHJhY2sgPSBlID0+IHsKKyAgICAgIHRyYWNrcy5wdXNoKGUudHJhY2spCisg
ICAgICBpZiAodHJhY2tzLmxlbmd0aCA8IHVzZUF1ZGlvICsgdXNlVmlkZW8pIHJldHVybjsKKyAg
ICAgIGNvbnN0IHN0cmVhbSA9IG5ldyBNZWRpYVN0cmVhbSh0cmFja3MpOworICAgICAgLy8gVGhl
IHNyY09iamVjdCBzaW5rIGlzIG5lZWRlZCBmb3IgdGhlIHRlc3RzIHRvIGdldCBleGVyY2lzZWQg
aW4gQ2hyb21lLgorICAgICAgY29uc3QgcmVtb3RlVmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgncmVtb3RlJyk7CisgICAgICBpZiAocmVtb3RlVmlkZW8pIHsKKyAgICAgICAgcmVtb3Rl
VmlkZW8uc3JjT2JqZWN0ID0gc3RyZWFtOworICAgICAgfQorICAgICAgcmVzb2x2ZShzdHJlYW0p
CisgICAgfQorICB9KTsKKyAgcmV0dXJuIFtwYzEsIHBjMiwgcmVtb3RlU3RyZWFtLCB0cmFuc2Nl
aXZlcnNdCit9CisKKy8qKgorICogR2l2ZW4gYSBwZWVyIGNvbm5lY3Rpb24sIHJldHVybiBhZnRl
ciBhdCBsZWFzdCBudW1GcmFtZXNPclBhY2tldHMKKyAqIGZyYW1lcyAodmlkZW8pIG9yIHBhY2tl
dHMgKGF1ZGlvKSBoYXZlIGJlZW4gcmVjZWl2ZWQuCisgKiBAcGFyYW0geyp9IHQgVGVzdCBpbnN0
YW5jZS4KKyAqIEBwYXJhbSB7IVJUQ1BlZXJDb25uZWN0aW9ufSBwYyBUaGUgcGVlciBjb25uZWN0
aW9uLgorICogQHBhcmFtIHtib29sZWFufSBsb29rRm9yQXVkaW8gVHJ1ZSBpZiBhdWRpbyBwYWNr
ZXRzIHNob3VsZCBiZSB3YWl0ZWQgZm9yLgorICogQHBhcmFtIHtib29sZWFufSBsb29rRm9yVmlk
ZW8gVHJ1ZSBpZiB2aWRlbyBwYWNrZXRzIHNob3VsZCBiZSB3YWl0ZWQgZm9yLgorICogQHBhcmFt
IHtpbnR9IG51bUZyYW1lc09yUGFja2V0cyBOdW1iZXIgb2YgZnJhbWVzICh2aWRlbykgYW5kIHBh
Y2tldHMgKGF1ZGlvKQorICogdG8gd2FpdCBmb3IuCisgKi8KK2FzeW5jIGZ1bmN0aW9uIHdhaXRG
b3JSZWNlaXZlZEZyYW1lcygKKyAgICB0LCBwYywgbG9va0ZvckF1ZGlvLCBsb29rRm9yVmlkZW8s
IG51bUZyYW1lc09yUGFja2V0cykgeworICBsZXQgaW5pdGlhbEF1ZGlvUGFja2V0cyA9IDA7Cisg
IGxldCBpbml0aWFsVmlkZW9GcmFtZXMgPSAwOworICB3aGlsZSAobG9va0ZvckF1ZGlvIHx8IGxv
b2tGb3JWaWRlbykgeworICAgIGNvbnN0IHJlcG9ydCA9IGF3YWl0IHBjLmdldFN0YXRzKCk7Cisg
ICAgcmVwb3J0LmZvckVhY2goc3RhdHMgPT4geworICAgICAgaWYgKHN0YXRzLnR5cGUgJiYgc3Rh
dHMudHlwZSA9PSAnaW5ib3VuZC1ydHAnKSB7CisgICAgICAgIGlmIChsb29rRm9yQXVkaW8gJiYg
c3RhdHMua2luZCA9PSAnYXVkaW8nKSB7CisgICAgICAgICAgaWYgKCFpbml0aWFsQXVkaW9QYWNr
ZXRzKSB7CisgICAgICAgICAgICBpbml0aWFsQXVkaW9QYWNrZXRzID0gc3RhdHMucGFja2V0c1Jl
Y2VpdmVkCisgICAgICAgICAgfSBlbHNlIGlmIChzdGF0cy5wYWNrZXRzUmVjZWl2ZWQgPiBpbml0
aWFsQXVkaW9QYWNrZXRzICsKKyAgICAgICAgICAgICAgICAgICAgIG51bUZyYW1lc09yUGFja2V0
cykgeworICAgICAgICAgICAgbG9va0ZvckF1ZGlvID0gZmFsc2U7CisgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIGlmIChsb29rRm9yVmlkZW8gJiYgc3RhdHMua2luZCA9PSAndmlkZW8n
KSB7CisgICAgICAgICAgaWYgKCFpbml0aWFsVmlkZW9GcmFtZXMpIHsKKyAgICAgICAgICAgIGlu
aXRpYWxWaWRlb0ZyYW1lcyA9IHN0YXRzLmZyYW1lc0RlY29kZWQ7CisgICAgICAgICAgfSBlbHNl
IGlmIChzdGF0cy5mcmFtZXNEZWNvZGVkID4gaW5pdGlhbFZpZGVvRnJhbWVzICsKKyAgICAgICAg
ICAgICAgICAgICAgIG51bUZyYW1lc09yUGFja2V0cykgeworICAgICAgICAgICAgbG9va0ZvclZp
ZGVvID0gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSk7Cisg
ICAgYXdhaXQgbmV3IFByb21pc2UociA9PiB7IHQuc3RlcF90aW1lb3V0KHIsIDEwMCk7IH0pOwor
ICB9Cit9CisKKy8qKgorICogR2l2ZW4gYSBwZWVyIGNvbm5lY3Rpb24sIHJldHVybiBhZnRlciBv
bmUgb2YgaXRzIGluYm91bmQgUlRQIGNvbm5lY3Rpb25zCisgKiBpbmNsdWRlcyB1c2Ugb2YgdGhl
IHNwZWNpZmllZCBjb2RlYy4KKyAqIEBwYXJhbSB7Kn0gdCBUZXN0IGluc3RhbmNlLgorICogQHBh
cmFtIHshUlRDUGVlckNvbm5lY3Rpb259IHBjIFRoZSBwZWVyIGNvbm5lY3Rpb24uCisgKiBAcGFy
YW0ge3N0cmluZ30gY29kZWNUb0xvb2tGb3IgVGhlIHdhaXRlZC1mb3IgY29kZWMuCisgKi8KK2Fz
eW5jIGZ1bmN0aW9uIHdhaXRGb3JSZWNlaXZlZENvZGVjKHQsIHBjLCBjb2RlY1RvTG9va0Zvcikg
eworICBsZXQgY3VycmVudENvZGVjSWQ7CisgIGZvciAoOzspIHsKKyAgICBjb25zdCByZXBvcnQg
PSBhd2FpdCBwYy5nZXRTdGF0cygpOworICAgIHJlcG9ydC5mb3JFYWNoKHN0YXRzID0+IHsKKyAg
ICAgIGlmIChzdGF0cy5pZCkgeworICAgICAgICBpZiAoc3RhdHMudHlwZSA9PSAnaW5ib3VuZC1y
dHAnICYmIHN0YXRzLmtpbmQgPT0gJ3ZpZGVvJykgeworICAgICAgICAgIGN1cnJlbnRDb2RlY0lk
ID0gc3RhdHMuY29kZWNJZDsKKyAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50Q29kZWNJZCAmJiBz
dGF0cy5pZCA9PSBjdXJyZW50Q29kZWNJZCAmJgorICAgICAgICAgICAgICAgICAgIHN0YXRzLm1p
bWVUeXBlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoCisgICAgICAgICAgICAgICAgICAgICAgY29k
ZWNUb0xvb2tGb3IudG9Mb3dlckNhc2UoKSkpIHsKKyAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKyAgICAgIH0KKyAgICB9KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHsgdC5zdGVw
X3RpbWVvdXQociwgMTAwKTsgfSk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC91dGlscy93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWFjYXB0dXJlLXJlY29yZC91dGlscy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
NTBiMjQ2MTNkZjk5Y2I2NjE4Nzg1MjYxY2YzNzY0OGRmMWNkNWY4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtcmVjb3JkL3V0aWxzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTcgQEAKK1RoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlm
eSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXJlY29yZC91dGlscy9wZWVyY29ubmVjdGlvbi5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYWNhcHR1cmUtcmVjb3JkL3czYy1pbXBvcnQubG9nCmluZGV4IDY0MTBmOTU5Njg4NmU0YWIx
NWI0YmFhOTllMjM5MDU4N2I0ZjdiZWQuLmVjOWYyNTEyMzJjYjQ5MDdiYjBhMThiZDI5N2QwYmJj
ZjI4YmVkMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
dzNjLWltcG9ydC5sb2cKQEAgLTE2LDQgKzE2LDE2IEBAIE5vbmUKIExpc3Qgb2YgZmlsZXM6CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
cmVjb3JkL0Jsb2JFdmVudC1jb25zdHJ1Y3Rvci5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01FVEEueW1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVj
b3JkL01lZGlhUmVjb3JkZXItYml0cmF0ZS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3Jk
ZXItY3JlYXRpb24uaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWRlc3Ryb3ktc2Ny
aXB0LWV4ZWN1dGlvbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZGV0YWNoZWQtY29udGV4
dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZGlzYWJsZWQtdHJhY2tzLmh0dHBzLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1lcnJvci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXIt
ZXZlbnRzLWFuZC1leGNlcHRpb25zLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1taW1ldHlw
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbm8tc2luay5odHRwcy5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L01lZGlhUmVjb3JkZXItcGF1c2UtcmVzdW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1w
ZWVyY29ubmVjdGlvbi5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItc3RvcC5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtcmVjb3JkL2lkbGhhcm5lc3Mud2luZG93LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90
ZXN0cy1vcHRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KaW5kZXgg
ZGJhMTU2OGY2MzQ2YmQ3OTBkNzYyNGM3ZmNmZThlMGMwZTdkZDQ2Yi4uMGQxZmQ2MTViNjdjNTc1
NGI4ZGI4Y2NhZDU4NWI1YzY4MDBjYzZmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGVzdHMt
b3B0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgpAQCAtMjA4
NCw2ICsyMDg0LDkgQEAKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1zb3VyY2UvbWVkaWFzb3VyY2UtcmVkdW5kYW50LXNlZWsuaHRtbCI6IFsKICAgICAgICAgInNs
b3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGVlcmNvbm5lY3Rpb24uaHR0cHMuaHRtbCI6IFsK
KyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWdldFNldHRpbmdzLmh0
dHBzLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>