<?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>229298</bug_id>
          
          <creation_ts>2021-08-19 10:30:28 -0700</creation_ts>
          <short_desc>[iOS] Remove support for the meaningful tap heuristic</short_desc>
          <delta_ts>2021-08-19 16:17:46 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785513</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-08-19 10:30:28 -0700</bug_when>
    <thetext>rdar://82130066</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785543</commentid>
    <comment_count>1</comment_count>
      <attachid>435891</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-08-19 11:54:05 -0700</bug_when>
    <thetext>Created attachment 435891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785610</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-19 16:17:44 -0700</bug_when>
    <thetext>Committed r281279 (240704@main): &lt;https://commits.webkit.org/240704@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435891.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435891</attachid>
            <date>2021-08-19 11:54:05 -0700</date>
            <delta_ts>2021-08-19 16:17:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229298-20210819115404.patch</filename>
            <type>text/plain</type>
            <size>57186</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjNjYzU1YmUyMTVjNmEw
YTY0MGZjNTUzMmNhNTg3N2U1OWY4YjNhNS4uMzkzZjcyZGViNWYzMjc5ZGJjNmI0YjZmMzIyOWVm
ZTZiNTU1ZDBhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA4LTE5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFJlbW92
ZSBzdXBwb3J0IGZvciB0aGUgbWVhbmluZ2Z1bCB0YXAgaGV1cmlzdGljCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkyOTgKKyAgICAgICAgcmRhcjov
LzgyMTMwMDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU2VlIFdlYktpdCBDaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICAqIHBh
Z2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmRpZEhh
bmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KTogRGVsZXRlZC4KKyAgICAgICAg
KiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6
OmhhbmRsZU1vdXNlUHJlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6
OmhhbmRsZU1vdXNlRG91YmxlQ2xpY2tFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KToKKwogMjAyMS0wOC0xOSAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgRXZlbnRIYW5k
bGVyOjpzZW5kU2Nyb2xsRXZlbnQoKSB0byBzY2hlZHVsZVNjcm9sbEV2ZW50KCkgc2luY2UgdGhl
IGV2ZW50IGlzIG5vdCBzZW50IHN5bmNocm9ub3VzbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMDRiNWVhNzIwMjQ4
NjMzMjY1ZGEzNzZkZDBiN2Q2MGE3ZjZjMGFjZi4uYjE4MTQyNjEyNWYyMzZjZjlmOWMxYTY5YmU4
MjAwZTFkZTk5OTkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NyBAQAorMjAyMS0wOC0xOSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZW1v
dmUgc3VwcG9ydCBmb3IgdGhlIG1lYW5pbmdmdWwgdGFwIGhldXJpc3RpYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5Mjk4CisgICAgICAgIHJkYXI6
Ly84MjEzMDA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbW92ZSBhbGwgc3VwcG9ydCBmb3IgdGhlIG1lYW5pbmdmdWwgdGFwIGhldXJpc3RpYywg
d2hpY2ggd2FzIHVzZWQgdG8gYWxsb3cgdXNlcnMgdG8gdG9nZ2xlIHRhYiBwaWxsIHZpc2liaWxp
dHkKKyAgICAgICAgaW4gZWFybGllciB2ZXJzaW9ucyBvZiB0aGUgU2FmYXJpIHJlZGVzaWduLiBB
cyBvZiB0aGUgbGF0ZXN0IGlPUyAxNSBiZXRhLCB0aGlzIGhldXJpc3RpYyBpcyBubyBsb25nZXIg
bmVjZXNzYXJ5LAorICAgICAgICBzbyB3ZSBkb24ndCBuZWVkIHRoaXMgU1BJIHN1cHBvcnQgYW55
bW9yZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAg
KEFQSTo6VUlDbGllbnQ6OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2spOgorICAgICAgICAoQVBJOjpV
SUNsaWVudDo6ZGlkVGFwQXRQb2ludCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9p
b3MvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2lvcy9XS1dlYlZpZXdUZXN0aW5nSU9TLm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2Rp
ZFRhcEF0UG9pbnQ6d2l0aFJlc3VsdDpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6CisgICAgICAg
IChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRUYXBBdFBvaW50KTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50SW1wbDo6ZGlkVGFwQXRQb2ludCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6ZGlkVGFwQXRQb2ludCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJv
bWVDbGllbnQ6OmRpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6aXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisKKyAgICAgICAgRHJpdmUtYnkgZml4OiBpbml0
aWFsaXplIGBtX2FwcEhpZ2hsaWdodHNWaXNpYmxlYCB1c2luZyB0aGUgY29ycmVjdCB0eXBlLgor
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtTmVlZHNMYXlvdXRGb3JFZGl0b3JT
dGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnByZXBhcmVUb1J1bk1vZGFs
SmF2YVNjcmlwdERpYWxvZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZEhhbmRsZU9y
UHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6cGxhdGZvcm1Jc1BsYXlpbmdNZWRpYURpZENoYW5nZSk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6YXR0ZW1wdFN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6aGFuZGxlVHdvRmluZ2VyVGFwQXRQb2ludCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmNvbW1pdFBvdGVudGlhbFRhcEZhaWxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNsZWFyU2VsZWN0aW9uQWZ0ZXJUYXBJZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6OmlzUHJv
YmFibHlNZWFuaW5nZnVsQ2xpY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpkaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtSXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2Up
OiBEZWxldGVkLgorCiAyMDIxLTA4LTE5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgdHlwbyBpbiBob3Jpb250YWxSdWJiZXJiYW5kQW1v
dW50SW5Db250ZW50Q29vcmRpbmF0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4
IDM5MzE0OTg1MTgwMTJiYmM3MTlkMmUxNGVlY2Q2YWU0NGNiYTg3YmEuLjkzZDZjM2EwODY1OWE1
YzNlZmE2MDA4YzgyY2YyZTNhYTM4ZDBhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aApAQCAtMjcxLDggKzI3MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUHJldmVu
dERlZmF1bHRGb3JFdmVudCgpID0gMDsKICNlbmRpZgogCi0gICAgdmlydHVhbCB2b2lkIGRpZEhh
bmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KCkgeyB9Ci0KICAgICB2aXJ0dWFs
IFNlY29uZHMgZXZlbnRUaHJvdHRsaW5nRGVsYXkoKSB7IHJldHVybiAwX3M7IH07CiAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4
IGQ0YWJhZGJiY2NkZDI3MDBhNDljYzUxZDVlMTZlZmJjYzAwMDljYTAuLjhhY2JmYWUzNDkzNTgz
YWI2M2JhZjdlYzI0ZjFmYTBiNmJiMWVmNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKQEAgLTE3NzgsOCArMTc3OCw2IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBwbGF0Zm9ybU1vdXNlCiAgICAg
bV9mcmFtZS5zZWxlY3Rpb24oKS5zZXRDYXJldEJsaW5raW5nU3VzcGVuZGVkKHRydWUpOwogCiAg
ICAgYm9vbCBzd2FsbG93RXZlbnQgPSAhZGlzcGF0Y2hNb3VzZUV2ZW50KGV2ZW50TmFtZXMoKS5t
b3VzZWRvd25FdmVudCwgbW91c2VFdmVudC50YXJnZXROb2RlKCksIG1fY2xpY2tDb3VudCwgcGxh
dGZvcm1Nb3VzZUV2ZW50LCBGaXJlTW91c2VPdmVyT3V0OjpZZXMpOwotICAgIGlmIChhdXRvIHBh
Z2UgPSBtX2ZyYW1lLnBhZ2UoKTsgcGFnZSAmJiBzd2FsbG93RXZlbnQpCi0gICAgICAgIHBhZ2Ut
PmNocm9tZSgpLmNsaWVudCgpLmRpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2
ZW50KCk7CiAgICAgbV9jYXB0dXJlc0RyYWdnaW5nID0gIXN3YWxsb3dFdmVudCB8fCBtb3VzZUV2
ZW50LnNjcm9sbGJhcigpOwogCiAgICAgLy8gSWYgdGhlIGhpdCB0ZXN0aW5nIG9yaWdpbmFsbHkg
ZGV0ZXJtaW5lZCB0aGUgZXZlbnQgd2FzIGluIGEgc2Nyb2xsYmFyLCByZWZldGNoIHRoZSBNb3Vz
ZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzCkBAIC0xODQyLDkgKzE4NDAsNiBAQCBib29sIEV2ZW50
SGFuZGxlcjo6aGFuZGxlTW91c2VEb3VibGVDbGlja0V2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VF
dmVudCYgcGxhdGZvcgogCiAgICAgbV9jbGlja0NvdW50ID0gcGxhdGZvcm1Nb3VzZUV2ZW50LmNs
aWNrQ291bnQoKTsKICAgICBib29sIHN3YWxsb3dNb3VzZVVwRXZlbnQgPSAhZGlzcGF0Y2hNb3Vz
ZUV2ZW50KGV2ZW50TmFtZXMoKS5tb3VzZXVwRXZlbnQsIG1vdXNlRXZlbnQudGFyZ2V0Tm9kZSgp
LCBtX2NsaWNrQ291bnQsIHBsYXRmb3JtTW91c2VFdmVudCwgRmlyZU1vdXNlT3Zlck91dDo6Tm8p
OwotICAgIGlmIChhdXRvIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKTsgcGFnZSAmJiBzd2FsbG93TW91
c2VVcEV2ZW50KQotICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRIYW5kbGVPclBy
ZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudCgpOwotCiAgICAgYm9vbCBzd2FsbG93Q2xpY2tF
dmVudCA9IHBsYXRmb3JtTW91c2VFdmVudC5idXR0b24oKSAhPSBSaWdodEJ1dHRvbiAmJiBtb3Vz
ZUV2ZW50LnRhcmdldE5vZGUoKSA9PSBtX2NsaWNrTm9kZSAmJiAhZGlzcGF0Y2hNb3VzZUV2ZW50
KGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50LCBtb3VzZUV2ZW50LnRhcmdldE5vZGUoKSwgbV9jbGlj
a0NvdW50LCBwbGF0Zm9ybU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Olllcyk7CiAKICAg
ICBpZiAobV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZSkKQEAgLTIxNDgsOSArMjE0Myw2IEBAIGJv
b2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmIHBsYXRmb3JtTW91CiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgYm9vbCBz
d2FsbG93TW91c2VVcEV2ZW50ID0gIWRpc3BhdGNoTW91c2VFdmVudChldmVudE5hbWVzKCkubW91
c2V1cEV2ZW50LCBtb3VzZUV2ZW50LnRhcmdldE5vZGUoKSwgbV9jbGlja0NvdW50LCBwbGF0Zm9y
bU1vdXNlRXZlbnQsIEZpcmVNb3VzZU92ZXJPdXQ6Ok5vKTsKLSAgICBpZiAoYXV0byBwYWdlID0g
bV9mcmFtZS5wYWdlKCk7IHBhZ2UgJiYgc3dhbGxvd01vdXNlVXBFdmVudCkKLSAgICAgICAgcGFn
ZS0+Y2hyb21lKCkuY2xpZW50KCkuZGlkSGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVw
RXZlbnQoKTsKLQogICAgIGJvb2wgY29udGV4dE1lbnVFdmVudCA9IHBsYXRmb3JtTW91c2VFdmVu
dC5idXR0b24oKSA9PSBSaWdodEJ1dHRvbjsKIAogICAgIGF1dG8gbm9kZVRvQ2xpY2sgPSB0YXJn
ZXROb2RlRm9yQ2xpY2tFdmVudChtX2NsaWNrTm9kZS5nZXQoKSwgbW91c2VFdmVudC50YXJnZXRO
b2RlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAppbmRleCA2
MmE5YmZjZTY2MjI5YWZmMDNkMGNkZmJhMjE2YTMwOWJkMjFjMzM0Li4yZGIwZjU2OWNiMjI1MDU4
OWU3ZWMxNjA1OGRhZmI1YTZhNGU3YmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJVUlDbGllbnQuaApAQCAtMTY0LDcgKzE2NCw2IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZp
cnR1YWwgUmV0YWluUHRyPE5TQXJyYXk+IGFjdGlvbnNGb3JFbGVtZW50KF9XS0FjdGl2YXRlZEVs
ZW1lbnRJbmZvICosIFJldGFpblB0cjxOU0FycmF5PiBkZWZhdWx0QWN0aW9ucykgeyByZXR1cm4g
ZGVmYXVsdEFjdGlvbnM7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGlj
ayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRUYXBB
dFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3Vs
dCkgeyB9CiAgICAgdmlydHVhbCBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmlld0NvbnRy
b2xsZXIoKSB7IHJldHVybiBudWxscHRyOyB9CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVn
YXRlUHJpdmF0ZS5oCmluZGV4IDI4MThiMzVjMTQzMzNkNzdjNDJjMzg2MWUxNzU2ODdmNzA1ZDhi
NDYuLmY2NmExYmEzZTg5MjI1M2YxNzYzM2MzNDJjMjI5YWRmYWFiMjEzMjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZh
dGUuaApAQCAtMTY1LDcgKzE2NSw2IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtIChCT09MKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZEluY2x1ZGVBcHBMaW5rQWN0aW9uc0Zv
ckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudCBXS19BUElfQVZBSUxB
QkxFKGlvcyg5LjApKTsKIC0gKE5TQXJyYXkgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBhY3Rpb25zRm9yRWxlbWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IGRl
ZmF1bHRBY3Rpb25zOihOU0FycmF5PF9XS0VsZW1lbnRBY3Rpb24gKj4gKilkZWZhdWx0QWN0aW9u
czsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkTm90SGFuZGxlVGFw
QXNDbGlja0F0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRpZFRhcEF0UG9pbnQ6KENHUG9pbnQpcG9pbnQgd2l0aFJlc3VsdDooX1dL
VGFwSGFuZGxpbmdSZXN1bHQpcmVzdWx0IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDE1LjApKTsKIC0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdEdlb2xvY2F0aW9uQXV0
aG9yaXphdGlvbkZvclVSTDooTlNVUkwgKil1cmwgZnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUg
ZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09MIGF1dGhvcml6ZWQpKWRlY2lzaW9uSGFuZGxl
ciBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CiAtIChCT09MKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGZpbGVVcGxvYWRQYW5lbENvbnRlbnRJc01hbmFnZWRXaXRoSW5pdGlhdGlu
Z0ZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nSU9TLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nSU9T
LmgKaW5kZXggMDJmMTZjYTNhYTY2NTUyMjhlNzUyZTQ4YzQ1NzQ5N2UwZDJhOTJkZS4uYWM2MWZj
OTM3ZjYyZTEyNTcxNzI3NmE3MGZkZmFkOWZmMmE3YTBiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ0lPUy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3UHJpdmF0ZUZvclRl
c3RpbmdJT1MuaApAQCAtNjgsOCArNjgsNiBAQAogLSAodm9pZClfZGlkRmluaXNoVGV4dEludGVy
YWN0aW9uSW5UZXh0SW5wdXRDb250ZXh0OihfV0tUZXh0SW5wdXRDb250ZXh0ICopY29udGV4dDsK
IC0gKHZvaWQpX3JlcXVlc3REb2N1bWVudENvbnRleHQ6KFVJV0tEb2N1bWVudFJlcXVlc3QgKily
ZXF1ZXN0IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShVSVdLRG9jdW1lbnRDb250ZXh0ICop
KWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZClfYWRqdXN0U2VsZWN0aW9uV2l0aERlbHRhOihO
U1JhbmdlKWRlbHRhUmFuZ2UgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBs
ZXRpb25IYW5kbGVyOwotLSAodm9pZClfZGlkVGFwQXRQb2ludDooQ0dQb2ludClwb2ludCB3aXRo
UmVzdWx0OihfV0tUYXBIYW5kbGluZ1Jlc3VsdClyZXN1bHQ7Ci0KIC0gKHZvaWQpc2V0VGltZVBp
Y2tlclZhbHVlVG9Ib3VyOihOU0ludGVnZXIpaG91ciBtaW51dGU6KE5TSW50ZWdlciltaW51dGU7
CiAtIChkb3VibGUpdGltZVBpY2tlclZhbHVlSG91cjsKIC0gKGRvdWJsZSl0aW1lUGlja2VyVmFs
dWVNaW51dGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dL
V2ViVmlld1Rlc3RpbmdJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dL
V2ViVmlld1Rlc3RpbmdJT1MubW0KaW5kZXggNWI0MDc3YzQ0YmI1ZmE0ZGY3MDZjMWJkN2VjOTBk
ZWQzMThkNTk2ZC4uNzg5MTg1ZGM4ZGM0ZWIzOGFkYWJlYmVjOWM4ZjdiNmI5MzJkYzVhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdUZXN0aW5n
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3VGVz
dGluZ0lPUy5tbQpAQCAtMTAwLDExICsxMDAsNiBAQCAtICh2b2lkKV9hZGp1c3RTZWxlY3Rpb25X
aXRoRGVsdGE6KE5TUmFuZ2UpZGVsdGFSYW5nZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXgog
I2VuZGlmCiB9CiAKLS0gKHZvaWQpX2RpZFRhcEF0UG9pbnQ6KENHUG9pbnQpcG9pbnQgd2l0aFJl
c3VsdDooX1dLVGFwSGFuZGxpbmdSZXN1bHQpcmVzdWx0Ci17Ci0gICAgLy8gRm9yIHN1YmNsYXNz
ZXMgdG8gb3ZlcnJpZGUuCi19Ci0KIC0gKEJPT0wpX21heUNvbnRhaW5FZGl0YWJsZUVsZW1lbnRz
SW5SZWN0OihDR1JlY3QpcmVjdAogewogI2lmIEVOQUJMRShFRElUQUJMRV9SRUdJT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKaW5kZXggNWQ1NzVkMDU0NDky
MmQ0NzVmNDU3NmM0N2M1YjBhM2EyMDJiZTNjNC4uMzI5ZGI3OTFjZjQzMjcyNDYzNjM0MjgwMDUw
NGIwOGVhODlkYjBlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUuaApAQCAtMTQ5LDcgKzE0OSw2IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICAgICAgUmV0YWlu
UHRyPE5TQXJyYXk+IGFjdGlvbnNGb3JFbGVtZW50KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICos
IFJldGFpblB0cjxOU0FycmF5PiBkZWZhdWx0QWN0aW9ucykgZmluYWw7CiAgICAgICAgIHZvaWQg
ZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIGZpbmFsOwot
ICAgICAgICB2b2lkIGRpZFRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBXZWJL
aXQ6OlRhcEhhbmRsaW5nUmVzdWx0KSBmaW5hbDsKICAgICAgICAgVUlWaWV3Q29udHJvbGxlciAq
cHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKCkgZmluYWw7CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIApAQCAtMjQzLDcgKzI0Miw2IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICAgICAg
Ym9vbCB3ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9ucyA6IDE7CiAgICAgICAg
IGJvb2wgd2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50IDogMTsKLSAgICAgICAg
Ym9vbCB3ZWJWaWV3RGlkVGFwQXRQb2ludFdpdGhSZXN1bHQgOiAxOwogICAgICAgICBib29sIHBy
ZXNlbnRpbmdWaWV3Q29udHJvbGxlckZvcldlYlZpZXcgOiAxOwogI2VuZGlmCiAgICAgICAgIGJv
b2wgZGF0YURldGVjdGlvbkNvbnRleHRGb3JXZWJWaWV3IDogMTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDhkNTM0MmU2YzBhNTFlZGUxN2RkOWI4
OWUxZTg1YjIxNDE3MjExOGUuLmJkZDZiM2E2ODMzNTVhY2VkM2I5YTcyMDI0N2E2MTMxNWVhZTlm
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAt
MTU5LDcgKzE1OSw2IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxl
Z2F0ZT4gZGVsZWdhdGUpCiAjZW5kaWYKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3QWN0
aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9ucyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmFjdGlvbnNGb3JFbGVtZW50OmRlZmF1bHRBY3Rpb25zOild
OwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQ
b2ludCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRp
ZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50OildOwotICAgIG1fZGVsZWdhdGVNZXRob2RzLndl
YlZpZXdEaWRUYXBBdFBvaW50V2l0aFJlc3VsdCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRpZFRhcEF0UG9pbnQ6d2l0aFJlc3VsdDopXTsKICAgICBt
X2RlbGVnYXRlTWV0aG9kcy5wcmVzZW50aW5nVmlld0NvbnRyb2xsZXJGb3JXZWJWaWV3ID0gW2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3ByZXNlbnRpbmdWaWV3Q29udHJv
bGxlckZvcldlYlZpZXc6KV07CiAjZW5kaWYKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3
SXNNZWRpYUNhcHR1cmVBdXRob3JpemVkRm9yRnJhbWVEZWNpc2lvbkhhbmRsZXIgPSBbZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpjaGVja1VzZXJNZWRpYVBl
cm1pc3Npb25Gb3JVUkw6bWFpbkZyYW1lVVJMOmZyYW1lSWRlbnRpZmllcjpkZWNpc2lvbkhhbmRs
ZXI6KV0gfHwgW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6
aW5jbHVkZVNlbnNpdGl2ZU1lZGlhRGV2aWNlRGV0YWlsczopXTsKQEAgLTE0MTQsMTkgKzE0MTMs
NiBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWROb3RIYW5kbGVUYXBBc0NsaWNrKGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludAogICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tVSURl
bGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRlKSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2ViVmll
dy5nZXQoKS5nZXQoKSBkaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludDpwb2ludF07CiB9CiAK
LXZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZFRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIHBvaW50LCBXZWJLaXQ6OlRhcEhhbmRsaW5nUmVzdWx0IHJlc3VsdCkKLXsKLSAg
ICBpZiAoIW1fdWlEZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBkZWxlZ2F0
ZSA9IG1fdWlEZWxlZ2F0ZS0+bV9kZWxlZ2F0ZS5nZXQoKTsKLSAgICBpZiAoIWRlbGVnYXRlKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV91aURlbGVnYXRlLT5tX2RlbGVnYXRlTWV0aG9k
cy53ZWJWaWV3RGlkVGFwQXRQb2ludFdpdGhSZXN1bHQpCi0gICAgICAgIFtzdGF0aWNfY2FzdDxp
ZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRlKSBfd2ViVmlldzptX3VpRGVsZWdhdGUt
Pm1fd2ViVmlldy5nZXQoKS5nZXQoKSBkaWRUYXBBdFBvaW50OnBvaW50IHdpdGhSZXN1bHQ6d2tU
YXBIYW5kbGluZ1Jlc3VsdChyZXN1bHQpXTsKLX0KLQogVUlWaWV3Q29udHJvbGxlciAqVUlEZWxl
Z2F0ZTo6VUlDbGllbnQ6OnByZXNlbnRpbmdWaWV3Q29udHJvbGxlcigpCiB7CiAgICAgaWYgKCFt
X3VpRGVsZWdhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggOGQ1MTg5
ZWM4YzI5ZThhMTY4NDMxMmRmMzExMjVhMWRmODQwMmExMS4uODViNWQzNTJiYjZhMmM3ZmJlOWI2
YTJmODQ1YThiMGY5ODc0MzY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApA
QCAtMzM4LDcgKzMzOCw2IEBAIHB1YmxpYzoKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFRhcEF0UG9pbnQoY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmLCBUYXBIYW5kbGluZ1Jlc3VsdCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKCkgPSAwOwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggM2I0NjhlYzY0ODZjNDZmZDdmNTU3MGVm
ZmFkNjIwOGVmMmE1YTRkNC4uZmFkZTU0MjI3NTc5OTlhZjg0YWUwZDA4NTgwMzE5MWQ0NmRhZGM3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTg0OSw3ICs4NDks
NiBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmRGb3JN
ZWRpYSgpOwogICAgIHZvaWQgY29tbWl0UG90ZW50aWFsVGFwRmFpbGVkKCk7CiAgICAgdm9pZCBk
aWROb3RIYW5kbGVUYXBBc0NsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7Ci0gICAgdm9p
ZCBkaWRUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgVGFwSGFuZGxpbmdSZXN1
bHQpOwogICAgIHZvaWQgZGlkQ29tcGxldGVTeW50aGV0aWNDbGljaygpOwogICAgIHZvaWQgZGlz
YWJsZURvdWJsZVRhcEdlc3R1cmVzRHVyaW5nVGFwSWZOZWNlc3NhcnkodWludDY0X3QgcmVxdWVz
dElEKTsKICAgICB2b2lkIGhhbmRsZVNtYXJ0TWFnbmlmaWNhdGlvbkluZm9ybWF0aW9uRm9yUG90
ZW50aWFsVGFwKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBy
ZW5kZXJSZWN0LCBib29sIGZpdEVudGlyZVJlY3QsIGRvdWJsZSB2aWV3cG9ydE1pbmltdW1TY2Fs
ZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlLCBib29sIG5vZGVJc1Jvb3RMZXZlbCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5k
ZXggYTBiNzM5NTM2YjYwM2Y0OGI2OTk5YjI3NGIxNGU2MjYyZDMxMjgxMy4uNWUzZGJiMWNjMzBl
Y2ExNmNjN2YxZDVhZjM3MjFjMDFiMmQxY2FiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTcwLDcgKzE3MCw2IEBAIG1lc3Nh
Z2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGJvb2wg
aGFzVmlkZW8sIFdlYkNvcmU6OkludFJlY3QgZWxlbWVudFJlY3QsIGVudW06dWludDhfdCBXZWJD
b3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5LCBTdHJpbmcgcm91dGluZ0NvbnRleHRVSUQp
CiAgICAgQ29tbWl0UG90ZW50aWFsVGFwRmFpbGVkKCkKICAgICBEaWROb3RIYW5kbGVUYXBBc0Ns
aWNrKFdlYkNvcmU6OkludFBvaW50IHBvaW50KQotICAgIERpZFRhcEF0UG9pbnQoV2ViQ29yZTo6
SW50UG9pbnQgcG9pbnQsIGVudW06dWludDhfdCBXZWJLaXQ6OlRhcEhhbmRsaW5nUmVzdWx0IHJl
c3VsdCkKICAgICBEaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKCkKICAgICBEaXNhYmxlRG91Ymxl
VGFwR2VzdHVyZXNEdXJpbmdUYXBJZk5lY2Vzc2FyeSh1aW50NjRfdCByZXF1ZXN0SUQpCiAgICAg
SGFuZGxlU21hcnRNYWduaWZpY2F0aW9uSW5mb3JtYXRpb25Gb3JQb3RlbnRpYWxUYXAodWludDY0
X3QgcmVxdWVzdElELCBXZWJDb3JlOjpGbG9hdFJlY3QgcmVuZGVyUmVjdCwgYm9vbCBmaXRFbnRp
cmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGlt
dW1TY2FsZSwgYm9vbCBub2RlSXNSb290TGV2ZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IGIyMjFhZjc5MzY3MTVhODQ1N2E4YThl
ODlkZTEwMmNkMzFkYjc5MjAuLjM3YmEyZjMyZDRhYWVlNDZhNDcwMzM0ZTFlMmUwOGZmMDdiMWE1
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oCkBAIC0yNDgsNyArMjQ4LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZEZhaWxOYXZpZ2F0
aW9uKEFQSTo6TmF2aWdhdGlvbiopIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkU2FtZURvY3VtZW50
TmF2aWdhdGlvbkZvck1haW5GcmFtZShTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBkaWROb3RIYW5kbGVUYXBBc0NsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBv
aW50Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkaWRUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiwgVGFwSGFuZGxpbmdSZXN1bHQpIGZpbmFsOwogICAgIHZvaWQgZGlkQ29tcGxldGVT
eW50aGV0aWNDbGljaygpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBydW5Nb2RhbEphdmFTY3JpcHRE
aWFsb2coQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNhbGxiYWNrKSBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCAx
YmQzMzA2NWYxMGMxNzBkMDY2Y2NiN2E2ZjZhNWM1ZTg2MzE4OGRmLi42NGQ3ZGI1M2JhZmVkOTdh
NzVkZDc2YTJiYmMwOTUxMDg5MWJjZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC0yMzQsMTEgKzIzNCw2IEBAIHZvaWQgUGFn
ZUNsaWVudEltcGw6OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIHBvaW50KQogICAgIFttX2NvbnRlbnRWaWV3IF9kaWROb3RIYW5kbGVUYXBBc0NsaWNrOnBv
aW50XTsKIH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkVGFwQXRQb2ludChjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgcG9pbnQsIFRhcEhhbmRsaW5nUmVzdWx0IHJlc3VsdCkKLXsKLSAgICBb
bV93ZWJWaWV3IF9kaWRUYXBBdFBvaW50OnBvaW50IHdpdGhSZXN1bHQ6d2tUYXBIYW5kbGluZ1Jl
c3VsdChyZXN1bHQpXTsKLX0KLQogdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ29tcGxldGVTeW50
aGV0aWNDbGljaygpCiB7CiAgICAgW21fY29udGVudFZpZXcgX2RpZENvbXBsZXRlU3ludGhldGlj
Q2xpY2tdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQ
cm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW0KaW5kZXggNTU1MzE3ZjczMGVmNDBhMDZmOTA2ZDQyYjY5ZjQwMzZkN2YwM2Q5YS4uYjE1ZTNm
YzQ2MzZjOTI4OTk0MGNiNjFhM2U4NTNmMTAyYWVkYzBiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0xMDA0LDEyICsxMDA0LDYgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIHBvaW50KQogICAgIG1fdWlDbGllbnQtPmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2so
cG9pbnQpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkVGFwQXRQb2ludChjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgcG9pbnQsIFRhcEhhbmRsaW5nUmVzdWx0IHJlc3VsdCkKLXsKLSAgICBw
YWdlQ2xpZW50KCkuZGlkVGFwQXRQb2ludChwb2ludCwgcmVzdWx0KTsKLSAgICBtX3VpQ2xpZW50
LT5kaWRUYXBBdFBvaW50KHBvaW50LCByZXN1bHQpOwotfQotICAgIAogdm9pZCBXZWJQYWdlUHJv
eHk6OmRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKQogewogICAgIHBhZ2VDbGllbnQoKS5kaWRD
b21wbGV0ZVN5bnRoZXRpY0NsaWNrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDM4ZjNm
NGUwMGVjNzg4NGY4MjY3ZDRhZWNhMmFkM2JhNzk1YTU5NGMuLjYxODBkODU2NTBhY2UxMjI1NDdm
YmNjNWY5OTgyZThlZWY2MGE5YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xNTIwLDEx
ICsxNTIwLDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmVudW1lcmF0ZUltbWVyc2l2ZVhSRGV2
aWNlcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFAKIH0KICNlbmRpZgogCi12b2lkIFdl
YkNocm9tZUNsaWVudDo6ZGlkSGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVwRXZlbnQo
KQotewotICAgIG1fcGFnZS5kaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVu
dCgpOwotfQotCiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKSBjb25zdAogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IGMzNDQ2YmMxMGZiZGQ1NTMxMDI2ZWZmZDRiNWM1YzJjNTVhYjE5ZDEuLjg4
MDFlZDI5N2QwMmMyYTM3NDAzMjJkZDQxMWYzYTllMjczOWZjYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKQEAgLTE2Niw4ICsxNjYsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUHJldmVudERlZmF1
bHRGb3JFdmVudCgpIGZpbmFsOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpZEhhbmRsZU9yUHJldmVu
dE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KCkgZmluYWw7Ci0KICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIHZvaWQgZGlkUmVjZWl2ZU1vYmlsZURvY1R5cGUoYm9vbCkgZmluYWw7CiAgICAg
dm9pZCBzZXROZWVkc1Njcm9sbE5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6RnJhbWUmLCBib29sKSBm
aW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5k
ZXggNGU0YmJjZmJiY2RhZWVhMGIxMjVmN2IwZDhlNjNmMGRmZTgyM2FmNy4uMDhhN2ZmNmQ1N2Ji
YTNiNjBlOTZjNmVhNzJjMThkNDMxOWE3M2ZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc0MDYsNyArNzQwNiw2IEBAIHZvaWQgV2ViUGFn
ZTo6c3luY2hyb25pemVDT1JTRGlzYWJsaW5nUGF0dGVybnNXaXRoTmV0d29ya1Byb2Nlc3MoKQog
CiB2b2lkIFdlYlBhZ2U6OmlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBzdGF0ZSkKIHsKLSAgICBwbGF0Zm9ybUlzUGxheWluZ01l
ZGlhRGlkQ2hhbmdlKCk7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJc1BsYXlp
bmdNZWRpYURpZENoYW5nZShzdGF0ZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNzhkODMwZGE0MmQ5NTY3Y2RmOTVjZmExZmUzMjczMzAy
ZmYzYjIxYy4uZDVjMTU5MWU0YjVmZDQzMGQ2ODI5MzMzMzlhMDRiNDE0OTEyYjkxNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNzEsNiArNzEsNyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSFRNTE1lbnVFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MTWVudUl0ZW1FbGVt
ZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9IaWdobGlnaHRWaXNpYmlsaXR5Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplSGFzaC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFDb250cm9sc0NvbnRleHRNZW51SXRlbS5oPgpAQCAtMjIy
LDcgKzIyMyw2IEBAIGVudW0gY2xhc3MgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgOiB1aW50OF90Owog
ZW51bSBjbGFzcyBEcmFnSGFuZGxpbmdNZXRob2QgOiB1aW50OF90OwogZW51bSBjbGFzcyBFdmVu
dE1ha2VzR2FtZXBhZHNWaXNpYmxlIDogYm9vbDsKIGVudW0gY2xhc3MgSGlnaGxpZ2h0UmVxdWVz
dE9yaWdpbmF0ZWRJbkFwcCA6IGJvb2w7Ci1lbnVtIGNsYXNzIEhpZ2hsaWdodFZpc2liaWxpdHkg
OiBib29sOwogZW51bSBjbGFzcyBTZWxlY3Rpb25EaXJlY3Rpb24gOiB1aW50OF90OwogZW51bSBj
bGFzcyBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgOiBib29sOwogZW51bSBjbGFzcyBUZXh0
SW5kaWNhdG9yUHJlc2VudGF0aW9uVHJhbnNpdGlvbiA6IHVpbnQ4X3Q7CkBAIC0xNDc4LDcgKzE0
NzgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBtb2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29u
dGV4dElkKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgU3RyaW5nJiwgdWlu
dDMyX3QpOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9y
TW91c2VVcEV2ZW50KCk7CiAgICAgdm9pZCBwcmVwYXJlVG9SdW5Nb2RhbEphdmFTY3JpcHREaWFs
b2coKTsKIAogcHJpdmF0ZToKQEAgLTE1MjYsNiArMTUyNSw3IEBAIHByaXZhdGU6CiAgICAgUmVm
UHRyPFNoYXJlYWJsZUJpdG1hcD4gc2hhcmVhYmxlQml0bWFwU25hcHNob3RGb3JOb2RlKFdlYkNv
cmU6OkVsZW1lbnQmKTsKICAgICBXZWJBdXRvY29ycmVjdGlvbkNvbnRleHQgYXV0b2NvcnJlY3Rp
b25Db250ZXh0KCk7CiAgICAgYm9vbCBhcHBseUF1dG9jb3JyZWN0aW9uSW50ZXJuYWwoY29uc3Qg
U3RyaW5nJiBjb3JyZWN0aW9uLCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsVGV4dCk7CisgICAgdm9p
ZCBjbGVhclNlbGVjdGlvbkFmdGVyVGFwSWZOZWVkZWQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxF
KE1FVEFfVklFV1BPUlQpCkBAIC0xOTE2LDggKzE5MTYsNiBAQCBwcml2YXRlOgogICAgIAogICAg
IHZvaWQgY29uc3VtZU5ldHdvcmtFeHRlbnNpb25TYW5kYm94RXh0ZW5zaW9ucyhjb25zdCBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYpOwogCi0gICAgdm9pZCBwbGF0Zm9ybUlzUGxheWlu
Z01lZGlhRGlkQ2hhbmdlKCk7Ci0KICAgICBib29sIGhhc1BlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0
ZSgpIGNvbnN0OwogCiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOwpA
QCAtMjIxNSw3ICsyMjEzLDYgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1f
cG90ZW50aWFsVGFwTG9jYXRpb247CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
PiBtX3BvdGVudGlhbFRhcFNlY3VyaXR5T3JpZ2luOwogCi0gICAgYm9vbCBtX2N1cnJlbnRTeW50
aGV0aWNDbGlja01heU5vdEJlTWVhbmluZ2Z1bCB7IHRydWUgfTsKICAgICBib29sIG1faGFzUmVj
ZWl2ZWRWaXNpYmxlQ29udGVudFJlY3RzQWZ0ZXJEaWRDb21taXRMb2FkIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faGFzUmVzdG9yZWRFeHBvc2VkQ29udGVudFJlY3RBZnRlckRpZENvbW1pdExvYWQg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzIHsgZmFsc2UgfTsK
QEAgLTIzNzgsNyArMjM3NSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICAKICNpZiBFTkFCTEUo
QVBQX0hJR0hMSUdIVFMpCi0gICAgV2ViQ29yZTo6SGlnaGxpZ2h0VmlzaWJpbGl0eSBtX2FwcEhp
Z2hsaWdodHNWaXNpYmxlIHsgZmFsc2UgfTsKKyAgICBXZWJDb3JlOjpIaWdobGlnaHRWaXNpYmls
aXR5IG1fYXBwSGlnaGxpZ2h0c1Zpc2libGUgeyBXZWJDb3JlOjpIaWdobGlnaHRWaXNpYmlsaXR5
OjpIaWRkZW4gfTsKICNlbmRpZgogCiAgICAgYm9vbCBtX25lZWRzU2l0ZVNwZWNpZmljVmlld3Bv
cnRRdWlya3MgeyB0cnVlIH07CkBAIC0yMzg3LDkgKzIzODQsNyBAQCBwcml2YXRlOgogI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQogaW5saW5lIHZvaWQgV2ViUGFnZTo6cGxhdGZvcm1XaWxsUGVy
Zm9ybUVkaXRpbmdDb21tYW5kKCkgeyB9CiBpbmxpbmUgYm9vbCBXZWJQYWdlOjpwbGF0Zm9ybU5l
ZWRzTGF5b3V0Rm9yRWRpdG9yU3RhdGUoY29uc3QgV2ViQ29yZTo6RnJhbWUmKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQotaW5saW5lIHZvaWQgV2ViUGFnZTo6ZGlkSGFuZGxlT3JQcmV2ZW50TW91
c2VEb3duT3JNb3VzZVVwRXZlbnQoKSB7IH0KIGlubGluZSB2b2lkIFdlYlBhZ2U6OnByZXBhcmVU
b1J1bk1vZGFsSmF2YVNjcmlwdERpYWxvZygpIHsgfQotaW5saW5lIHZvaWQgV2ViUGFnZTo6cGxh
dGZvcm1Jc1BsYXlpbmdNZWRpYURpZENoYW5nZSgpIHsgfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3Mv
V2ViUGFnZUlPUy5tbQppbmRleCAzNDNiYzc4MzBjM2EwZDJiZDQ3N2FhNDZkYmZmM2ZkMzZjNGEx
MWMzLi5kNjJhZGIzNDk3ZDBkMzRkYzY1MWU3M2Y0ZWQ2OTVlYzIyNjNiY2I2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAt
ODI2LDI4ICs4MjYsNiBAQCB2b2lkIFdlYlBhZ2U6OmRpZEZpbmlzaENvbnRlbnRDaGFuZ2VPYnNl
cnZpbmcoV0tDb250ZW50Q2hhbmdlIG9ic2VydmVkQ29udGVudENoYQogICAgIG1fcGVuZGluZ1N5
bnRoZXRpY0NsaWNrUG9pbnRlcklkID0gMDsKIH0KIAotc3RhdGljIGJvb2wgaXNQcm9iYWJseU1l
YW5pbmdmdWxDbGljayhOb2RlJiBjbGlja05vZGUpCi17Ci0gICAgYXV0byBmcmFtZSA9IG1ha2VS
ZWZQdHIoY2xpY2tOb2RlLmRvY3VtZW50KCkuZnJhbWUoKSk7Ci0gICAgaWYgKCFmcmFtZSB8fCAh
Y2xpY2tOb2RlLmlzQ29ubmVjdGVkKCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYg
KGlzPEhUTUxCb2R5RWxlbWVudD4oY2xpY2tOb2RlKSB8fCBpczxEb2N1bWVudD4oY2xpY2tOb2Rl
KSB8fCBjbGlja05vZGUuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSA9PSAmY2xpY2tOb2Rl
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoaXM8RWxlbWVudD4oY2xpY2tOb2Rl
KSAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkb3duY2FzdDxFbGVtZW50PihjbGlj
a05vZGUpLmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpkcmFnZ2Fi
bGVBdHRyKSwgInRydWUiKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoYXV0byB2
aWV3ID0gbWFrZVJlZlB0cihmcmFtZS0+bWFpbkZyYW1lKCkudmlldygpKSkgewotICAgICAgICBh
dXRvIGVsZW1lbnRCb3VuZHMgPSBXZWJQYWdlOjpyb290Vmlld0ludGVyYWN0aW9uQm91bmRzKGNs
aWNrTm9kZSk7Ci0gICAgICAgIGF1dG8gdW5vYnNjdXJlZFJlY3QgPSB2aWV3LT51bm9ic2N1cmVk
Q29udGVudFJlY3QoKTsKLSAgICAgICAgaWYgKGVsZW1lbnRCb3VuZHMud2lkdGgoKSA+PSB1bm9i
c2N1cmVkUmVjdC53aWR0aCgpIC8gMiAmJiBlbGVtZW50Qm91bmRzLmhlaWdodCgpID49IHVub2Jz
Y3VyZWRSZWN0LmhlaWdodCgpIC8gMikKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgbG9jYXRpb24sIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycywg
U3ludGhldGljQ2xpY2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgV2ViQ29yZTo6UG9pbnRlcklE
IHBvaW50ZXJJZCkKIHsKICAgICBJbnRQb2ludCByb3VuZGVkQWRqdXN0ZWRQb2ludCA9IHJvdW5k
ZWRJbnRQb2ludChsb2NhdGlvbik7CkBAIC04NjcsOCArODQ1LDYgQEAgdm9pZCBXZWJQYWdlOjpj
b21wbGV0ZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3Qg
V2ViQ29yZToKICAgICBib29sIGFsdEtleSA9IG1vZGlmaWVycy5jb250YWlucyhXZWJFdmVudDo6
TW9kaWZpZXI6OkFsdEtleSk7CiAgICAgYm9vbCBtZXRhS2V5ID0gbW9kaWZpZXJzLmNvbnRhaW5z
KFdlYkV2ZW50OjpNb2RpZmllcjo6TWV0YUtleSk7CiAKLSAgICBtX2N1cnJlbnRTeW50aGV0aWND
bGlja01heU5vdEJlTWVhbmluZ2Z1bCA9IHRydWU7Ci0KICAgICB0YXBXYXNIYW5kbGVkIHw9IG1h
aW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoUGxhdGZvcm1Nb3Vz
ZUV2ZW50KHJvdW5kZWRBZGp1c3RlZFBvaW50LCByb3VuZGVkQWRqdXN0ZWRQb2ludCwgTGVmdEJ1
dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkLCAxLCBzaGlmdEtleSwgY3RybEtleSwg
YWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OkZvcmNlQXRDbGljaywg
c3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVySWQpKTsKICAgICBpZiAobV9pc0Nsb3NlZCkKICAg
ICAgICAgcmV0dXJuOwpAQCAtODk1LDI0ICs4NzEsNiBAQCB2b2lkIFdlYlBhZ2U6OmNvbXBsZXRl
U3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJDb3Jl
OgogICAgIGlmIChtX2lzQ2xvc2VkKQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIHRhcEhh
bmRsaW5nUmVzdWx0ID0gKFsmXSB7Ci0gICAgICAgIGlmICghbV9jdXJyZW50U3ludGhldGljQ2xp
Y2tNYXlOb3RCZU1lYW5pbmdmdWwpCi0gICAgICAgICAgICByZXR1cm4gVGFwSGFuZGxpbmdSZXN1
bHQ6Ok1lYW5pbmdmdWxDbGljazsKLQotICAgICAgICBpZiAob2xkRm9jdXNlZEVsZW1lbnQgIT0g
bmV3Rm9jdXNlZEVsZW1lbnQpCi0gICAgICAgICAgICByZXR1cm4gVGFwSGFuZGxpbmdSZXN1bHQ6
Ok1lYW5pbmdmdWxDbGljazsKLQotICAgICAgICBpZiAoaXM8SFRNTFRleHRGb3JtQ29udHJvbEVs
ZW1lbnQ+KG5vZGVSZXNwb25kaW5nVG9DbGljaykgfHwgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLmhh
c0VkaXRhYmxlU3R5bGUoKSkKLSAgICAgICAgICAgIHJldHVybiBUYXBIYW5kbGluZ1Jlc3VsdDo6
TWVhbmluZ2Z1bENsaWNrOwotCi0gICAgICAgIGlmIChpc1Byb2JhYmx5TWVhbmluZ2Z1bENsaWNr
KG5vZGVSZXNwb25kaW5nVG9DbGljaykpCi0gICAgICAgICAgICByZXR1cm4gVGFwSGFuZGxpbmdS
ZXN1bHQ6Ok1lYW5pbmdmdWxDbGljazsKLQotICAgICAgICByZXR1cm4gVGFwSGFuZGxpbmdSZXN1
bHQ6Ok5vbk1lYW5pbmdmdWxDbGljazsKLSAgICB9KSgpOwotCi0gICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpEaWRUYXBBdFBvaW50KHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbiksIHRh
cEhhbmRsaW5nUmVzdWx0KSk7Ci0KICAgICBpZiAoIXRhcFdhc0hhbmRsZWQgfHwgIW5vZGVSZXNw
b25kaW5nVG9DbGljay5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6RGlkTm90SGFuZGxlVGFwQXNDbGljayhyb3VuZGVkSW50UG9pbnQobG9jYXRp
b24pKSk7CiAKQEAgLTkyNiwyMCArODg0LDE0IEBAIHZvaWQgV2ViUGFnZTo6YXR0ZW1wdFN5bnRo
ZXRpY0NsaWNrKGNvbnN0IEludFBvaW50JiBwb2ludCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNCiAg
ICAgRnJhbWUqIGZyYW1lUmVzcG9uZGluZ1RvQ2xpY2sgPSBub2RlUmVzcG9uZGluZ1RvQ2xpY2sg
PyBub2RlUmVzcG9uZGluZ1RvQ2xpY2stPmRvY3VtZW50KCkuZnJhbWUoKSA6IG51bGxwdHI7CiAg
ICAgSW50UG9pbnQgYWRqdXN0ZWRJbnRQb2ludCA9IHJvdW5kZWRJbnRQb2ludChhZGp1c3RlZFBv
aW50KTsKIAotICAgIGlmICghZnJhbWVSZXNwb25kaW5nVG9DbGljayB8fCBsYXN0TGF5ZXJUcmVl
VHJhbnNhY3Rpb25JZCA8IFdlYkZyYW1lOjpmcm9tQ29yZUZyYW1lKCpmcmFtZVJlc3BvbmRpbmdU
b0NsaWNrKS0+Zmlyc3RMYXllclRyZWVUcmFuc2FjdGlvbklEQWZ0ZXJEaWRDb21taXRMb2FkKCkp
IHsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRUYXBBdFBvaW50KGFk
anVzdGVkSW50UG9pbnQsIFRhcEhhbmRsaW5nUmVzdWx0OjpEaWROb3RIYW5kbGVUYXBBc0NsaWNr
KSk7CisgICAgaWYgKCFmcmFtZVJlc3BvbmRpbmdUb0NsaWNrIHx8IGxhc3RMYXllclRyZWVUcmFu
c2FjdGlvbklkIDwgV2ViRnJhbWU6OmZyb21Db3JlRnJhbWUoKmZyYW1lUmVzcG9uZGluZ1RvQ2xp
Y2spLT5maXJzdExheWVyVHJlZVRyYW5zYWN0aW9uSURBZnRlckRpZENvbW1pdExvYWQoKSkKICAg
ICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWROb3RIYW5kbGVUYXBBc0NsaWNr
KGFkanVzdGVkSW50UG9pbnQpKTsKLSAgICB9IGVsc2UgaWYgKG1faW50ZXJhY3Rpb25Ob2RlID09
IG5vZGVSZXNwb25kaW5nVG9DbGljaykKKyAgICBlbHNlIGlmIChtX2ludGVyYWN0aW9uTm9kZSA9
PSBub2RlUmVzcG9uZGluZ1RvQ2xpY2spCiAgICAgICAgIGNvbXBsZXRlU3ludGhldGljQ2xpY2so
Km5vZGVSZXNwb25kaW5nVG9DbGljaywgYWRqdXN0ZWRQb2ludCwgbW9kaWZpZXJzLCBXZWJDb3Jl
OjpPbmVGaW5nZXJUYXApOwogICAgIGVsc2UKICAgICAgICAgaGFuZGxlU3ludGhldGljQ2xpY2so
Km5vZGVSZXNwb25kaW5nVG9DbGljaywgYWRqdXN0ZWRQb2ludCwgbW9kaWZpZXJzKTsKIH0KIAot
dm9pZCBXZWJQYWdlOjpkaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudCgp
Ci17Ci0gICAgbV9jdXJyZW50U3ludGhldGljQ2xpY2tNYXlOb3RCZU1lYW5pbmdmdWwgPSBmYWxz
ZTsKLX0KLQogdm9pZCBXZWJQYWdlOjpoYW5kbGVEb3VibGVUYXBGb3JEb3VibGVDbGlja0F0UG9p
bnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBt
b2RpZmllcnMsIFRyYW5zYWN0aW9uSUQgbGFzdExheWVyVHJlZVRyYW5zYWN0aW9uSWQpCiB7CiAg
ICAgRmxvYXRQb2ludCBhZGp1c3RlZFBvaW50OwpAQCAtMTEzNCw5ICsxMDg2LDcgQEAgdm9pZCBX
ZWJQYWdlOjpoYW5kbGVUd29GaW5nZXJUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBwb2ludCwgT3B0aW9uU2UKICAgICBGbG9hdFBvaW50IGFkanVzdGVkUG9pbnQ7CiAgICAgTm9k
ZSogbm9kZVJlc3BvbmRpbmdUb0NsaWNrID0gbV9wYWdlLT5tYWluRnJhbWUoKS5ub2RlUmVzcG9u
ZGluZ1RvQ2xpY2tFdmVudHMocG9pbnQsIGFkanVzdGVkUG9pbnQpOwogICAgIGlmICghbm9kZVJl
c3BvbmRpbmdUb0NsaWNrIHx8ICFub2RlUmVzcG9uZGluZ1RvQ2xpY2stPnJlbmRlcmVyKCkpIHsK
LSAgICAgICAgYXV0byBhZGp1c3RlZEludFBvaW50ID0gcm91bmRlZEludFBvaW50KGFkanVzdGVk
UG9pbnQpOwotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFRhcEF0UG9p
bnQoYWRqdXN0ZWRJbnRQb2ludCwgVGFwSGFuZGxpbmdSZXN1bHQ6OkRpZE5vdEhhbmRsZVRhcEFz
Q2xpY2spKTsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWROb3RIYW5k
bGVUYXBBc0NsaWNrKGFkanVzdGVkSW50UG9pbnQpKTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpEaWROb3RIYW5kbGVUYXBBc0NsaWNrKHJvdW5kZWRJbnRQb2ludChhZGp1
c3RlZFBvaW50KSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHNlbmRUYXBIaWdobGln
aHRGb3JOb2RlSWZOZWNlc3NhcnkocmVxdWVzdElELCBub2RlUmVzcG9uZGluZ1RvQ2xpY2spOwpA
QCAtMTIwNywxNCArMTE1NywxOCBAQCB2b2lkIFdlYlBhZ2U6OmNvbW1pdFBvdGVudGlhbFRhcEZh
aWxlZCgpCiAgICAgICAgIHNlbGVjdGlvbkNoYW5nZWRIYW5kbGVyKCk7CiAKICAgICBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmRpZENhbmNlbFBvdGVudGlhbFRhcChtX3BhZ2UtPm1haW5GcmFtZSgp
KTsKLSAgICBpZiAoIW1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1l
KCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAg
Y2xlYXJTZWxlY3Rpb24oKTsKKyAgICBjbGVhclNlbGVjdGlvbkFmdGVyVGFwSWZOZWVkZWQoKTsK
IAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Q29tbWl0UG90ZW50aWFsVGFwRmFp
bGVkKCkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkTm90SGFuZGxlVGFw
QXNDbGljayhyb3VuZGVkSW50UG9pbnQobV9wb3RlbnRpYWxUYXBMb2NhdGlvbikpKTsKK30KKwor
dm9pZCBXZWJQYWdlOjpjbGVhclNlbGVjdGlvbkFmdGVyVGFwSWZOZWVkZWQoKQoreworICAgIGlm
IChtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpLnNlbGVjdGlv
bigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCisgICAgICAgIHJldHVybjsKIAot
ICAgIGF1dG8gYWRqdXN0ZWRJbnRQb2ludCA9IHJvdW5kZWRJbnRQb2ludChtX3BvdGVudGlhbFRh
cExvY2F0aW9uKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFRhcEF0UG9p
bnQoYWRqdXN0ZWRJbnRQb2ludCwgVGFwSGFuZGxpbmdSZXN1bHQ6OkRpZE5vdEhhbmRsZVRhcEFz
Q2xpY2spKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRsZVRh
cEFzQ2xpY2soYWRqdXN0ZWRJbnRQb2ludCkpOworICAgIGNsZWFyU2VsZWN0aW9uKCk7CiB9CiAK
IHZvaWQgV2ViUGFnZTo6Y2FuY2VsUG90ZW50aWFsVGFwKCkKQEAgLTQ2OTEsMTEgKzQ2NDUsNiBA
QCB2b2lkIFdlYlBhZ2U6OmFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29y
ZTo6RWxlbWVudCYgYW5pbWF0ZWRFbGVtZQogICAgICAgICBzY2hlZHVsZUVkaXRvclN0YXRlVXBk
YXRlRm9yU3RhcnRPckVuZENvbnRhaW5lck5vZGVJZk5lZWRlZChlbmRDb250YWluZXIuZ2V0KCkp
OwogfQogCi12b2lkIFdlYlBhZ2U6OnBsYXRmb3JtSXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoKQot
ewotICAgIG1fY3VycmVudFN5bnRoZXRpY0NsaWNrTWF5Tm90QmVNZWFuaW5nZnVsID0gZmFsc2U7
Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgV0VCUEFHRV9SRUxFQVNFX0xP
RwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDkw
YWY4ZGQ5NDllOGJlYWRjOTRhOGZjNTIwYjM0MTUzMTM5YmYxZmUuLjhlNjEwZTgxNTk2YzRmOTJm
MzI1NmMxZjMxMTU2MzVlNGI1MWUxMjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAyMS0wOC0xOSAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZW1vdmUgc3Vw
cG9ydCBmb3IgdGhlIG1lYW5pbmdmdWwgdGFwIGhldXJpc3RpYworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5Mjk4CisgICAgICAgIHJkYXI6Ly84MjEz
MDA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZSB0ZXN0IHJ1bm5lciBzdXBwb3J0IGZvciB0ZXN0aW5nIHRoZSBtZWFuaW5nZnVsIHRhcCBo
ZXVyaXN0aWMuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRs
ZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6
Omluc3RhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgIChXVFI6OlRl
c3RSdW5uZXI6OmNhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmg6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpkaWRIYW5kbGVUYXApOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJ
bnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZEhhbmRsZVRh
cCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5o
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5t
bToKKyAgICAgICAgKC1bVGVzdFJ1bm5lcldLV2ViVmlldyBfZGlkVGFwQXRQb2ludDp3aXRoUmVz
dWx0Ol0pOiBEZWxldGVkLgorCiAyMDIxLTA4LTE5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBkb2N1bWVudC5oYXNGb2N1cygpIHJldHVybnMg
dHJ1ZSBmb3IgdW5mb2N1c2VkIHBhZ2VzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCA5
YTkwN2RlZjJkNWVmOWY1Yzg4YTA4Yzg5MWU1ZDgzMjVhZjRjYTljLi5iNTM0YWI2Y2I5MzljZGFl
Y2MyNzBkOTY2OWZkNjE2ODJmMGViZTkxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAg
LTI2MCw5ICsyNjAsNiBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgb2JqZWN0IG51bWJl
ck9mREZHQ29tcGlsZXMob2JqZWN0IGZ1bmN0aW9uKTsKICAgICBvYmplY3QgbmV2ZXJJbmxpbmVG
dW5jdGlvbihvYmplY3QgZnVuY3Rpb24pOwogCi0gICAgLy8gVUkgZGVsZWdhdGUgaG9va3MuCi0g
ICAgdW5kZWZpbmVkIGluc3RhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayhvYmplY3QgY2FsbGJhY2sp
OwotCiAgICAgLy8gU3dpcGUgZ2VzdHVyZXMKICAgICB1bmRlZmluZWQgaW5zdGFsbERpZEJlZ2lu
U3dpcGVDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwogICAgIHVuZGVmaW5lZCBpbnN0YWxsV2ls
bEVuZFN3aXBlQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXgg
NTdiY2Q0MzRkNmYxOTQ2Y2UwYTdlZTdjNjE3Nzg5ZWE2OWU3MTI2My4uYjAyNmI1MDc0YTQ2NmQ5
ZmQzMTEyOTFmZTYxYzExZGVlZmMxNTNlMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTI4MywxMyAr
MjgzLDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG0KICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiQ2Fs
bERpZEhhbmRsZVRhcENhbGxiYWNrIikpIHsKLSAgICAgICAgQVNTRVJUKG1lc3NhZ2VCb2R5KTsK
LSAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0Jvb2xlYW5HZXRU
eXBlSUQoKSk7Ci0gICAgICAgIG1fdGVzdFJ1bm5lci0+Y2FsbERpZEhhbmRsZVRhcENhbGxiYWNr
KFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkp
KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9V
VEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIkNhbGxEaWRCZWdpblN3aXBlQ2FsbGJhY2siKSkgewog
ICAgICAgICBtX3Rlc3RSdW5uZXItPmNhbGxEaWRCZWdpblN3aXBlQ2FsbGJhY2soKTsKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggYTQ4Yzg2ODRlYWM3Njk4NmY1Yjc4NTk2OTNhMmM0ZDgw
MjRhMDViYy4uMzhmMzliYjQ4MzQ0ZDgyN2NiMGFjODY1MjkwMjliYTJjNTc5NGZjOCAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwCkBAIC02NDksNyArNjQ5LDYgQEAgZW51bSB7CiAgICAgRW50ZXJGdWxsc2NyZWVuRm9yRWxl
bWVudENhbGxiYWNrSUQsCiAgICAgRXhpdEZ1bGxzY3JlZW5Gb3JFbGVtZW50Q2FsbGJhY2tJRCwK
ICAgICBBcHBCb3VuZFJlcXVlc3RDb250ZXh0RGF0YUZvckRvbWFpbkNhbGxiYWNrSUQsCi0gICAg
RGlkSGFuZGxlVGFwQ2FsbGJhY2tJRCwKICAgICBGaXJzdFVJU2NyaXB0Q2FsbGJhY2tJRCA9IDEw
MAogfTsKIApAQCAtMTE0NCwxNyArMTE0Myw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6aW5zdGFsbEN1
c3RvbU1lbnVBY3Rpb24oSlNTdHJpbmdSZWYgbmFtZSwgYm9vbCBkaXNtaXNzZXNBdXRvbWF0CiAg
ICAgfSkpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6Omluc3RhbGxEaWRIYW5kbGVUYXBDYWxsYmFj
ayhKU1ZhbHVlUmVmIGNhbGxiYWNrKQotewotICAgIGNhY2hlVGVzdFJ1bm5lckNhbGxiYWNrKERp
ZEhhbmRsZVRhcENhbGxiYWNrSUQsIGNhbGxiYWNrKTsKLX0KLQotdm9pZCBUZXN0UnVubmVyOjpj
YWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2soYm9vbCB3YXNNZWFuaW5nZnVsKQotewotICAgIGF1dG8g
cmVzdWx0ID0gSlNWYWx1ZU1ha2VCb29sZWFuKG1haW5GcmFtZUpTQ29udGV4dCgpLCB3YXNNZWFu
aW5nZnVsKTsKLSAgICBjYWxsVGVzdFJ1bm5lckNhbGxiYWNrKERpZEhhbmRsZVRhcENhbGxiYWNr
SUQsIDEsICZyZXN1bHQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6Omluc3RhbGxEaWRCZWdpblN3
aXBlQ2FsbGJhY2soSlNWYWx1ZVJlZiBjYWxsYmFjaykKIHsKICAgICBjYWNoZVRlc3RSdW5uZXJD
YWxsYmFjayhEaWRCZWdpblN3aXBlQ2FsbGJhY2tJRCwgY2FsbGJhY2spOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCBjMmQ2
MjFlNWY5OWM5ZTc5YTFmNDVlZTk1MjYzYzc0NDViMGVmNGFlLi5hNzc1Yjc3ZTEzNDY3ODAzZjA4
Mjc2ZjQ0OTRkYmRkNTY2Zjc3YmMzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtMzU0LDkgKzM1NCw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGluc3RhbGxDdXN0b21NZW51QWN0aW9uKEpTU3RyaW5nUmVmIG5hbWUsIGJvb2wg
ZGlzbWlzc2VzQXV0b21hdGljYWxseSwgSlNWYWx1ZVJlZiBjYWxsYmFjayk7CiAgICAgdm9pZCBw
ZXJmb3JtQ3VzdG9tTWVudUFjdGlvbigpOwogCi0gICAgdm9pZCBpbnN0YWxsRGlkSGFuZGxlVGFw
Q2FsbGJhY2soSlNWYWx1ZVJlZik7Ci0gICAgdm9pZCBjYWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2so
Ym9vbCB3YXNNZWFuaW5nZnVsKTsKLQogICAgIHZvaWQgaW5zdGFsbERpZEJlZ2luU3dpcGVDYWxs
YmFjayhKU1ZhbHVlUmVmKTsKICAgICB2b2lkIGluc3RhbGxXaWxsRW5kU3dpcGVDYWxsYmFjayhK
U1ZhbHVlUmVmKTsKICAgICB2b2lkIGluc3RhbGxEaWRFbmRTd2lwZUNhbGxiYWNrKEpTVmFsdWVS
ZWYpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBhNDZm
NzcyNWVlZTFhMWQ2NjQyMGVkYTQ0YmI3NjZjNTQwZjUxZGNiLi43ZGFlMzRlMjlhMjg1ZjYyZWVl
ZmY2MGVhNTY3NzdhNzlmZDliNDQ5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcApAQCAtMjIzNCwxMSArMjIzNCw2IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6Ondl
YlByb2Nlc3NEaWRUZXJtaW5hdGUoV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQog
ICAgICAgICBleGl0KDEpOwogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpkaWRIYW5kbGVUYXAo
Ym9vbCB3YXNNZWFuaW5nZnVsKQotewotICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZEhhbmRs
ZVRhcCh3YXNNZWFuaW5nZnVsKTsKLX0KLQogdm9pZCBUZXN0Q29udHJvbGxlcjo6ZGlkQmVnaW5O
YXZpZ2F0aW9uR2VzdHVyZShXS1BhZ2VSZWYpCiB7CiAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+
ZGlkQmVnaW5Td2lwZSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmlu
ZGV4IGQ4M2YyYjMzZTcyNGJmNWM2YTM4NTM5NGFlM2RkZWY4ZDA5NWY4ZTAuLjFiN2E0NzY3ZjEw
OTY2ZWQ5MTU2MTkzNTczZThmMjJiMTA4YjAyZGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmgKQEAgLTM2Miw4ICszNjIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb21w
bGV0ZU1lZGlhS2V5U3lzdGVtUGVybWlzc2lvbkNoZWNrKFdLTWVkaWFLZXlTeXN0ZW1QZXJtaXNz
aW9uQ2FsbGJhY2tSZWYpOwogICAgIHZvaWQgc2V0SXNNZWRpYUtleVN5c3RlbVBlcm1pc3Npb25H
cmFudGVkKGJvb2wpOwogCi0gICAgdm9pZCBkaWRIYW5kbGVUYXAoYm9vbCB3YXNNZWFuaW5nZnVs
KTsKLQogcHJpdmF0ZToKICAgICBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1cmF0aW9uUmVmPiBn
ZW5lcmF0ZVBhZ2VDb25maWd1cmF0aW9uKGNvbnN0IFRlc3RPcHRpb25zJik7CiAgICAgV0tSZXRh
aW5QdHI8V0tDb250ZXh0Q29uZmlndXJhdGlvblJlZj4gZ2VuZXJhdGVDb250ZXh0Q29uZmlndXJh
dGlvbihjb25zdCBUZXN0T3B0aW9ucyYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcAppbmRleCBhYzA1MTliZDY3OWRhMzI4NzYyMWI5ODI0ZmEwMjYzNTVh
NzdiNTU3Li4zNmVlYzdkZGFhMTE2ZDlkYWNmYWJlNzA1ODlkNzg1OTdkYzQzY2UxIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTQ1OCwxMiArMTQ1OCw2
IEBAIHZvaWQgVGVzdEludm9jYXRpb246Om91dHB1dFRleHQoY29uc3QgV1RGOjpTdHJpbmcmIHRl
eHQpCiAgICAgbV90ZXh0T3V0cHV0LmFwcGVuZCh0ZXh0KTsKIH0KIAotdm9pZCBUZXN0SW52b2Nh
dGlvbjo6ZGlkSGFuZGxlVGFwKGJvb2wgd2FzTWVhbmluZ2Z1bCkKLXsKLSAgICBhdXRvIG1lc3Nh
Z2VCb2R5ID0gYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUod2FzTWVhbmluZ2Z1bCkpOwotICAgIHBv
c3RQYWdlTWVzc2FnZSgiQ2FsbERpZEhhbmRsZVRhcENhbGxiYWNrIiwgbWVzc2FnZUJvZHkpOwot
fQotCiB2b2lkIFRlc3RJbnZvY2F0aW9uOjpkaWRCZWdpblN3aXBlKCkKIHsKICAgICBwb3N0UGFn
ZU1lc3NhZ2UoIkNhbGxEaWRCZWdpblN3aXBlQ2FsbGJhY2siKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdEludm9jYXRpb24uaAppbmRleCAxMDNmNDE3ZjY1ZTk1MDAwNmIwMzFhYTE2ZDk3OTc0
YzJjMGUyMmE5Li44MjliZGYyOWU3MWVhYWUyMjQ3NTllNzc4Y2IwOWRhZDYwYzZmZTNkIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC02NCw4ICs2NCw2IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkdW1wV2ViUHJvY2Vzc1VucmVzcG9uc2l2ZW5lc3MoY29u
c3QgY2hhciogZXJyb3JNZXNzYWdlKTsKICAgICB2b2lkIG91dHB1dFRleHQoY29uc3QgU3RyaW5n
Jik7CiAKLSAgICB2b2lkIGRpZEhhbmRsZVRhcChib29sIHdhc01lYW5pbmdmdWwpOwotCiAgICAg
dm9pZCBkaWRCZWdpblN3aXBlKCk7CiAgICAgdm9pZCB3aWxsRW5kU3dpcGUoKTsKICAgICB2b2lk
IGRpZEVuZFN3aXBlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29h
L1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rl
c3RSdW5uZXJXS1dlYlZpZXcubW0KaW5kZXggMmU2ZDRjMWUxZGQyYjBlN2ZhOTZlMGYwNzA1ZDRk
NGFjNWQ2NTRmMC4uNjMwN2FlODY0YWM2MTcwYWI0ZjIzZjc5MzA0YjU2ZDNhMTE0YWUzYyAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3
Lm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmll
dy5tbQpAQCAtNDA1LDExICs0MDUsNiBAQCAtICh2b2lkKV9kaWREaXNtaXNzUG9wb3ZlcgogICAg
ICAgICBzZWxmLmRpZERpc21pc3NQb3BvdmVyQ2FsbGJhY2soKTsKIH0KIAotLSAodm9pZClfZGlk
VGFwQXRQb2ludDooQ0dQb2ludClwb2ludCB3aXRoUmVzdWx0OihfV0tUYXBIYW5kbGluZ1Jlc3Vs
dClyZXN1bHQKLXsKLSAgICBXVFI6OlRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5kaWRIYW5k
bGVUYXAocmVzdWx0ID09IF9XS1RhcEhhbmRsaW5nUmVzdWx0TWVhbmluZ2Z1bENsaWNrKTsKLX0K
LQogLSAodm9pZClzY3JvbGxWaWV3V2lsbEJlZ2luWm9vbWluZzooVUlTY3JvbGxWaWV3ICopc2Ny
b2xsVmlldyB3aXRoVmlldzooVUlWaWV3ICopdmlldwogewogICAgIFtzdXBlciBzY3JvbGxWaWV3
V2lsbEJlZ2luWm9vbWluZzpzY3JvbGxWaWV3IHdpdGhWaWV3OnZpZXddOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI2NmFj
OTZlODVjNzE2ZDAyYWRjMjVmNzZhYmJmMWVjM2NkODJlOTkuLmYwODA5NTA1YjZmYjE1MDI4MWQ3
ZmE2ZTEwOGJiNzJkMmZlMjA2MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wOC0xOSAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBS
ZW1vdmUgc3VwcG9ydCBmb3IgdGhlIG1lYW5pbmdmdWwgdGFwIGhldXJpc3RpYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5Mjk4CisgICAgICAgIHJk
YXI6Ly84MjEzMDA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlbW92ZSBhbGwgbGF5b3V0IHRlc3RzIHRoYXQgZXhlcmNpc2VkIHRoZSBtZWFuaW5n
ZnVsIHRhcCBoZXVyaXN0aWMuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvZGlkLW5vdC1o
YW5kbGUtbWVhbmluZ2Z1bC1jbGljay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvaW9zL2RpZC1ub3QtaGFuZGxlLW1lYW5pbmdmdWwtY2xpY2suaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLWZv
Y3VzaW5nLWJvZHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tZm9jdXNpbmctYm9keS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1t
ZWRpYS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL21l
YW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRyYWdnYWJs
ZS1jb250ZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9p
b3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXRhcHBpbmctZHJhZ2dhYmxlLWNvbnRlbnQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2st
d2hlbi10YXBwaW5nLWRvY3VtZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRvY3VtZW50
Lmh0bWw6IFJlbW92ZWQuCisKIDIwMjEtMDgtMTkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZS1pbXBvcnQgaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50IFdQVCAtIEF1Z3VzdCAxOXRoIDIwMjEKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVsLWNs
aWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9kaWQtbm90LWhh
bmRsZS1tZWFuaW5nZnVsLWNsaWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNTc1MTljNWQ3MWE1OGJiZjYwMzdhMmRjMWI4YWQxMjJhYmJlYWY0OS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9pb3MvZGlkLW5vdC1oYW5kbGUtbWVhbmluZ2Z1bC1jbGljay1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UaGlzIHRlc3QgaXMgaW50ZW5kZWQgdG8g
ZXhlcmNpc2UgdGhlICdtZWFuaW5nZnVsIGNsaWNrJyBoZXVyaXN0aWMsIGFuZCByZXF1aXJlcyBX
ZWJLaXRUZXN0UnVubmVyLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLVBBU1MgZGlk
SGFuZGxlVGFwIGlzIHRydWUKLVBBU1MgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgaXMg
ZmFsc2UKLVBBU1MgY2xpY2tlZCBvbiBidXR0b24KLVBBU1MgZGlkSGFuZGxlVGFwIGlzIHRydWUK
LVBBU1MgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgaXMgdHJ1ZQotUEFTUyBkaWRIYW5k
bGVUYXAgaXMgdHJ1ZQotUEFTUyBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayBpcyBmYWxz
ZQotUEFTUyBkaWRIYW5kbGVUYXAgaXMgdHJ1ZQotUEFTUyBkaWRIYW5kbGVUYXBBc01lYW5pbmdm
dWxDbGljayBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2RpZC1u
b3QtaGFuZGxlLW1lYW5pbmdmdWwtY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVsLWNsaWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQ1Njc2NjJiYTA4YjZkZmI5YjAyZTk1NmE1NThlNzY5YzAxMzYzZWIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvaW9zL2RpZC1ub3QtaGFuZGxlLW1lYW5pbmdmdWwtY2xpY2suaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgotPGh0bWw+Ci08
aGVhZD4KLTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Ci08c3R5bGU+Ci1ib2R5LCBodG1s
IHsKLSAgICBmb250LXNpemU6IDE4cHg7Ci0gICAgZm9udC1mYW1pbHk6IHN5c3RlbS11aTsKLSAg
ICB3aWR0aDogMTAwJTsKLSAgICBoZWlnaHQ6IDEwMCU7Ci0gICAgbWFyZ2luOiAwOwotfQotPC9z
dHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBhc3luYyAoKSA9PiB7Ci0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBpcyBpbnRl
bmRlZCB0byBleGVyY2lzZSB0aGUgJ21lYW5pbmdmdWwgY2xpY2snIGhldXJpc3RpYywgYW5kIHJl
cXVpcmVzIFdlYktpdFRlc3RSdW5uZXIuIik7Ci0KLSAgICBsZXQgdGV4dCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXh0Iik7Ci0gICAgbGV0IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKTsKLQotICAgIGFzeW5jIGZ1bmN0aW9uIHNpbXVsYXRlVGFwQW5kQ2hl
Y2tEaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayhlbGVtZW50LCBleHBlY3RhdGlvbikgewot
ICAgICAgICBkaWRIYW5kbGVUYXAgPSBmYWxzZTsKLSAgICAgICAgZGlkSGFuZGxlVGFwQXNNZWFu
aW5nZnVsQ2xpY2sgPSBmYWxzZTsKLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkSGFuZGxl
VGFwQ2FsbGJhY2sod2FzTWVhbmluZ2Z1bCA9PiB7Ci0gICAgICAgICAgICBkaWRIYW5kbGVUYXAg
PSB0cnVlOwotICAgICAgICAgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSB3YXNN
ZWFuaW5nZnVsOwotICAgICAgICB9KTsKLQotICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoZWxlbWVudCk7Ci0gICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JEb3VibGVU
YXBEZWxheSgpOwotICAgICAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRhcCIpOwotICAgICAg
ICBpZiAoZXhwZWN0YXRpb24pCi0gICAgICAgICAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRh
cEFzTWVhbmluZ2Z1bENsaWNrIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNob3VsZEJl
RmFsc2UoImRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIik7Ci0KLSAgICAgICAgdGVzdFJ1
bm5lci5jbGVhclRlc3RSdW5uZXJDYWxsYmFja3MoKTsKLSAgICB9Ci0KLSAgICBhd2FpdCBzaW11
bGF0ZVRhcEFuZENoZWNrRGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sodGV4dCwgZmFsc2Up
OwotICAgIGF3YWl0IHNpbXVsYXRlVGFwQW5kQ2hlY2tEaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxD
bGljayhidXR0b24sIHRydWUpOwotCi0gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsgfSk7Ci0gICAgYXdhaXQgc2ltdWxhdGVUYXBBbmRDaGVja0RpZEhh
bmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKHRleHQsIGZhbHNlKTsKLQotICAgIGRvY3VtZW50LmJv
ZHkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgKGV2ZW50KSA9PiB7Ci0gICAgICAgIGV2
ZW50LnByZXZlbnREZWZhdWx0KCk7Ci0gICAgfSk7Ci0gICAgYXdhaXQgc2ltdWxhdGVUYXBBbmRD
aGVja0RpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKHRleHQsIHRydWUpOwotCi0gICAgdGV4
dC5yZW1vdmUoKTsKLSAgICBidXR0b24ucmVtb3ZlKCk7Ci0KLSAgICBmaW5pc2hKU1Rlc3QoKTsK
LX0pOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8YnV0dG9uIGlkPSJ0YXJnZXQi
IG9uY2xpY2s9InRlc3RQYXNzZWQoJ2NsaWNrZWQgb24gYnV0dG9uJyk7IGV2ZW50LnN0b3BQcm9w
YWdhdGlvbigpOyI+SGVsbG8gd29ybGQ8L2J1dHRvbj4KLSAgICA8cCBpZD0idGV4dCI+TG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQWVuZWFu
IGxhb3JlZXQgbmlzaSBmZWxpcywgZXUgc2NlbGVyaXNxdWUgZG9sb3IgaW1wZXJkaWV0IGluLiBT
ZWQgYXQgcG9ydHRpdG9yIHB1cnVzLCBpbiBwbGFjZXJhdCBqdXN0by4gTWF1cmlzIGF0IGF1Z3Vl
IGFjIHB1cnVzIHZpdmVycmEgbW9sZXN0aWUuIEZ1c2NlIHVsdHJpY2VzIGFudGUgYXQgcGVsbGVu
dGVzcXVlIGxvYm9ydGlzLiBTZWQgcGVsbGVudGVzcXVlLCBpcHN1bSBldSBzZW1wZXIgbW9sbGlz
LCBhcmN1IGxlY3R1cyBkaWduaXNzaW0gZW5pbSwgaW4gbWF4aW11cyB0b3J0b3IgbGlndWxhIGlk
IGlwc3VtLiBOdWxsYSBkaWduaXNzaW0gZGlhbSBhIG1pIHRlbXBvciBwb3J0YS4gRXRpYW0gdGVt
cG9yIGFjIGF1Z3VlIG5vbiBkYXBpYnVzLiBEb25lYyBldWlzbW9kIHZlbCB0dXJwaXMgaW4gdWx0
cmljZXMuIFV0IGFjY3Vtc2FuIHVsdHJpY2VzIGFyY3Ugdml0YWUgdmVuZW5hdGlzLiBJbiB1cm5h
IHZlbGl0LCBhY2N1bXNhbiBzaXQgYW1ldCBhcmN1IHZlbCwgdmVzdGlidWx1bSBwdWx2aW5hciBs
ZW8uIEFsaXF1YW0gdnVscHV0YXRlIGV1aXNtb2QgdWx0cmljZXMuIFNlZCBjb25ndWUgdmVzdGli
dWx1bSBsaWJlcm8gcXVpcyBvcm5hcmUuPC9wPgotICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KLSAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLWZvY3VzaW5nLWJvZHktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1mb2N1
c2luZy1ib2R5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDJk
YWE0YWUxYzNiNDMwYmVhMmYyOWZlYzI1NzdlZTU5NWE1ZTEyNi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mv
bWVhbmluZ2Z1bC1jbGljay13aGVuLWZvY3VzaW5nLWJvZHktZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVGhpcyB0ZXN0IGV4ZXJjaXNlcyB0aGUgJ21lYW5pbmdm
dWwgY2xpY2snIGhldXJpc3RpYyBpbiBhbiBlZGl0YWJsZSBib2R5IGVsZW1lbnQsIGFuZCByZXF1
aXJlcyBXZWJLaXRUZXN0UnVubmVyLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLVBB
U1MgRm9jdXNlZCBib2R5IGVsZW1lbnQKLVBBU1MgZGlkSGFuZGxlVGFwIGlzIHRydWUKLVBBU1Mg
ZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgaXMgdHJ1ZQotUEFTUyBUYXBwZWQgaW5zaWRl
IGJvZHkgZWxlbWVudAotUEFTUyBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayBpcyB0cnVl
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hl
bi1mb2N1c2luZy1ib2R5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmlu
Z2Z1bC1jbGljay13aGVuLWZvY3VzaW5nLWJvZHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDMzMWQ3NTdiZmRjY2RlYzRlMzQyZGU4ODE5YjUzODYzYmE1YTc0Ni4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLWZvY3VzaW5nLWJvZHkuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgotPGh0bWw+Ci08aGVh
ZD4KLTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Ci08c3R5bGU+Ci1ib2R5LCBodG1sIHsK
LSAgICBmb250LXNpemU6IDE4cHg7Ci0gICAgZm9udC1mYW1pbHk6IHN5c3RlbS11aTsKLSAgICB3
aWR0aDogMTAwJTsKLSAgICBoZWlnaHQ6IDEwMCU7Ci0gICAgbWFyZ2luOiAwOwotfQotPC9zdHls
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBhc3luYyAoKSA9PiB7Ci0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBleGVyY2lzZXMg
dGhlICdtZWFuaW5nZnVsIGNsaWNrJyBoZXVyaXN0aWMgaW4gYW4gZWRpdGFibGUgYm9keSBlbGVt
ZW50LCBhbmQgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4iKTsKLQotICAgIGRpZEhhbmRsZVRh
cCA9IGZhbHNlOwotICAgIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrID0gZmFsc2U7Ci0g
ICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2sod2FzTWVhbmluZ2Z1bCA9
PiB7Ci0gICAgICAgIGRpZEhhbmRsZVRhcCA9IHRydWU7Ci0gICAgICAgIGRpZEhhbmRsZVRhcEFz
TWVhbmluZ2Z1bENsaWNrID0gd2FzTWVhbmluZ2Z1bDsKLSAgICB9KTsKLQotICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudEFuZFdhaXRGb3JJbnB1dFNlc3Npb24oZG9jdW1lbnQuYm9k
eSk7Ci0gICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckRvdWJsZVRhcERlbGF5KCk7Ci0gICAgdGVz
dFBhc3NlZCgiRm9jdXNlZCBib2R5IGVsZW1lbnQiKTsKLSAgICBzaG91bGRCZVRydWUoImRpZEhh
bmRsZVRhcCIpOwotICAgIHNob3VsZEJlVHJ1ZSgiZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xp
Y2siKTsKLQotICAgIHRlc3RSdW5uZXIuY2xlYXJUZXN0UnVubmVyQ2FsbGJhY2tzKCk7Ci0gICAg
ZGlkSGFuZGxlVGFwID0gZmFsc2U7Ci0gICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sg
PSBmYWxzZTsKLSAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayh3YXNN
ZWFuaW5nZnVsID0+IHsKLSAgICAgICAgZGlkSGFuZGxlVGFwID0gdHJ1ZTsKLSAgICAgICAgZGlk
SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSB3YXNNZWFuaW5nZnVsOwotICAgIH0pOwotCi0g
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVBdCgxMDAsIDEwMCk7Ci0gICAgYXdhaXQgVUlIZWxw
ZXIud2FpdEZvckRvdWJsZVRhcERlbGF5KCk7Ci0gICAgdGVzdFBhc3NlZCgiVGFwcGVkIGluc2lk
ZSBib2R5IGVsZW1lbnQiKTsKLSAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrIik7Ci0KLSAgICB0ZXN0UnVubmVyLmNsZWFyVGVzdFJ1bm5lckNhbGxiYWNrcygp
OwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0IikucmVtb3ZlKCk7Ci0gICAgZmlu
aXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgY29udGVudGVkaXRh
YmxlPgotICAgIDxwIGlkPSJ0ZXh0Ij5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzY2luZyBlbGl0LiBBZW5lYW4gbGFvcmVldCBuaXNpIGZlbGlzLCBldSBzY2Vs
ZXJpc3F1ZSBkb2xvciBpbXBlcmRpZXQgaW4uIFNlZCBhdCBwb3J0dGl0b3IgcHVydXMsIGluIHBs
YWNlcmF0IGp1c3RvLiBNYXVyaXMgYXQgYXVndWUgYWMgcHVydXMgdml2ZXJyYSBtb2xlc3RpZS4g
RnVzY2UgdWx0cmljZXMgYW50ZSBhdCBwZWxsZW50ZXNxdWUgbG9ib3J0aXMuIFNlZCBwZWxsZW50
ZXNxdWUsIGlwc3VtIGV1IHNlbXBlciBtb2xsaXMsIGFyY3UgbGVjdHVzIGRpZ25pc3NpbSBlbmlt
LCBpbiBtYXhpbXVzIHRvcnRvciBsaWd1bGEgaWQgaXBzdW0uIE51bGxhIGRpZ25pc3NpbSBkaWFt
IGEgbWkgdGVtcG9yIHBvcnRhLiBFdGlhbSB0ZW1wb3IgYWMgYXVndWUgbm9uIGRhcGlidXMuIERv
bmVjIGV1aXNtb2QgdmVsIHR1cnBpcyBpbiB1bHRyaWNlcy4gVXQgYWNjdW1zYW4gdWx0cmljZXMg
YXJjdSB2aXRhZSB2ZW5lbmF0aXMuIEluIHVybmEgdmVsaXQsIGFjY3Vtc2FuIHNpdCBhbWV0IGFy
Y3UgdmVsLCB2ZXN0aWJ1bHVtIHB1bHZpbmFyIGxlby4gQWxpcXVhbSB2dWxwdXRhdGUgZXVpc21v
ZCB1bHRyaWNlcy4gU2VkIGNvbmd1ZSB2ZXN0aWJ1bHVtIGxpYmVybyBxdWlzIG9ybmFyZS48L3A+
Ci0gICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgotICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdo
ZW4tcGxheWluZy1tZWRpYS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9p
b3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTI2OWIxYWUyNzA1OTNkY2FmOTUxZGJlZDY3MGNh
OWJlOGUwZjYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWlu
Zy1tZWRpYS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1UaGlz
IHRlc3QgZXhlcmNpc2VzIHRoZSAnbWVhbmluZ2Z1bCBjbGljaycgaGV1cmlzdGljIHdoZW4gcGxh
eWluZyBvciBwYXVzaW5nIGEgdmlkZW8sIGFuZCByZXF1aXJlcyBXZWJLaXRUZXN0UnVubmVyLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLVBBU1MgZGlkUGxheVZpZGVvIGJlY2FtZSB0
cnVlCi1QQVNTIGRpZEhhbmRsZVRhcCBpcyB0cnVlCi1QQVNTIGRpZEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrIGlzIHRydWUKLVBBU1MgZGlkUGF1c2VWaWRlbyBiZWNhbWUgdHJ1ZQotUEFTUyBk
aWRIYW5kbGVUYXAgaXMgdHJ1ZQotUEFTUyBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayBp
cyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xp
Y2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mv
bWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzMxNjk0NWFhOTlmM2M1MDdiYjZmYzI3ZmQ4MjY5ZmEwMGM4ZDU5ZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgotPGh0bWw+
Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Ci08c3R5bGU+Ci1ib2R5LCBo
dG1sIHsKLSAgICBmb250LXNpemU6IDE4cHg7Ci0gICAgZm9udC1mYW1pbHk6IHN5c3RlbS11aTsK
LSAgICB3aWR0aDogMTAwJTsKLSAgICBoZWlnaHQ6IDEwMCU7Ci0gICAgbWFyZ2luOiAwOwotfQot
PC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotanNUZXN0SXNBc3luYyA9IHRydWU7Ci1kaWRQYXVzZVZpZGVvID0g
ZmFsc2U7Ci1kaWRQbGF5VmlkZW8gPSBmYWxzZTsKLQotYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IGFzeW5jICgpID0+IHsKLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGV4ZXJjaXNlcyB0aGUg
J21lYW5pbmdmdWwgY2xpY2snIGhldXJpc3RpYyB3aGVuIHBsYXlpbmcgb3IgcGF1c2luZyBhIHZp
ZGVvLCBhbmQgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4iKTsKLSAgICBkb2N1bWVudC5ib2R5
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewotICAgICAgICBjb25zdCB2
aWRlbyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIik7Ci0gICAgICAgIGlmICh2aWRl
by5wYXVzZWQpIHsKLSAgICAgICAgICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKLSAgICAgICAgICAg
IGRpZFBsYXlWaWRlbyA9IHRydWU7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBhd2Fp
dCB2aWRlby5wYXVzZSgpOwotICAgICAgICAgICAgZGlkUGF1c2VWaWRlbyA9IHRydWU7Ci0gICAg
ICAgIH0KLSAgICB9KTsKLQotICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIGFzeW5jIGZ1bmN0aW9uIHNpbXVsYXRlVGFwKHNob3VsZFBsYXkpIHsKLSAg
ICAgICAgZGlkSGFuZGxlVGFwID0gZmFsc2U7Ci0gICAgICAgIGRpZEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrID0gZmFsc2U7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZEhhbmRsZVRh
cENhbGxiYWNrKHdhc01lYW5pbmdmdWwgPT4gewotICAgICAgICAgICAgZGlkSGFuZGxlVGFwID0g
dHJ1ZTsKLSAgICAgICAgICAgIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrID0gd2FzTWVh
bmluZ2Z1bDsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmJvZHkpOwotICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yRG91
YmxlVGFwRGVsYXkoKTsKLSAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzaG91
bGRCZWNvbWVFcXVhbChzaG91bGRQbGF5ID8gImRpZFBsYXlWaWRlbyIgOiAiZGlkUGF1c2VWaWRl
byIsICJ0cnVlIiwgcmVzb2x2ZSkpOwotICAgICAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRh
cCIpOwotICAgICAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNr
Iik7Ci0gICAgICAgIHRlc3RSdW5uZXIuY2xlYXJUZXN0UnVubmVyQ2FsbGJhY2tzKCk7Ci0gICAg
fQotCi0gICAgYXdhaXQgc2ltdWxhdGVUYXAodHJ1ZSk7Ci0gICAgYXdhaXQgc2ltdWxhdGVUYXAo
ZmFsc2UpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfSk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KLSAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KLSAgICA8dmlkZW8gbG9vcCBzcmM9Ii4uLy4uL2ltYWdlcy9yZXNvdXJjZXMv
YW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUubXA0Ij48L3ZpZGVvPgotPC9ib2R5PgotPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1kcmFnZ2FibGUtY29udGVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1j
bGljay13aGVuLXRhcHBpbmctZHJhZ2dhYmxlLWNvbnRlbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YWU0MjRjNmYyNWRiZDE5Njc2MmMwNTBiYWRhZWYyN2Ri
ZmI4N2I2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1k
cmFnZ2FibGUtY29udGVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww
IEBACi1UaGlzIHRlc3QgZXhlcmNpc2VzIHRoZSAnbWVhbmluZ2Z1bCBjbGljaycgaGV1cmlzdGlj
IHdoZW4gdGFwcGluZyBkcmFnZ2FibGUgY29udGVudC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi1QQVNTIGRpZEhhbmRsZVRhcCBiZWNhbWUgdHJ1ZQotUEFTUyBkaWRIYW5kbGVUYXBB
c01lYW5pbmdmdWxDbGljayBpcyB0cnVlCi1QQVNTIGRpZEhhbmRsZVRhcCBiZWNhbWUgdHJ1ZQot
UEFTUyBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayBpcyBmYWxzZQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1kcmFn
Z2FibGUtY29udGVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdm
dWwtY2xpY2std2hlbi10YXBwaW5nLWRyYWdnYWJsZS1jb250ZW50Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDNmMjUzMWZiOTM0NjFhMThhMjYwOGRkOTc4NGZiYTU2MjQ5NDE4
ZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRyYWdn
YWJsZS1jb250ZW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgot
PHN0eWxlPgotYm9keSwgaHRtbCB7Ci0gICAgZm9udC1zaXplOiAxOHB4OwotICAgIGZvbnQtZmFt
aWx5OiBzeXN0ZW0tdWk7Ci0gICAgd2lkdGg6IDEwMCU7Ci0gICAgaGVpZ2h0OiAxMDAlOwotICAg
IG1hcmdpbjogMDsKLX0KLQotI3RhcmdldCB7Ci0gICAgd2lkdGg6IDEwMCU7Ci0gICAgaGVpZ2h0
OiAxMDAlOwotICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKLX0KLTwvc3R5bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5
bmMgKCkgPT4gewotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZXhlcmNpc2VzIHRoZSAnbWVh
bmluZ2Z1bCBjbGljaycgaGV1cmlzdGljIHdoZW4gdGFwcGluZyBkcmFnZ2FibGUgY29udGVudC4i
KTsKLQotICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKLSAgICB0
YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgKCkgPT4geyB9KTsKLQotICAgIGFz
eW5jIGZ1bmN0aW9uIHNpbXVsYXRlVGFwKGV4cGVjdE1lYW5pbmdmdWxDbGljaykgewotICAgICAg
ICBkaWRIYW5kbGVUYXAgPSBmYWxzZTsKLSAgICAgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVs
Q2xpY2sgPSBmYWxzZTsKLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkSGFuZGxlVGFwQ2Fs
bGJhY2sod2FzTWVhbmluZ2Z1bCA9PiB7Ci0gICAgICAgICAgICBkaWRIYW5kbGVUYXAgPSB0cnVl
OwotICAgICAgICAgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSB3YXNNZWFuaW5n
ZnVsOwotICAgICAgICB9KTsKLQotICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQodGFyZ2V0KTsKLSAgICAgICAgYXdhaXQgc2hvdWxkQmVjb21lRXF1YWwoImRpZEhhbmRsZVRh
cCIsICJ0cnVlIik7Ci0gICAgICAgIGlmIChleHBlY3RNZWFuaW5nZnVsQ2xpY2spCi0gICAgICAg
ICAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIik7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoImRpZEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrIik7Ci0gICAgICAgIHRlc3RSdW5uZXIuY2xlYXJUZXN0UnVubmVyQ2FsbGJhY2tz
KCk7Ci0gICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JEb3VibGVUYXBEZWxheSgpOwotICAg
IH0KLQotICAgIGF3YWl0IHNpbXVsYXRlVGFwKHRydWUpOwotCi0gICAgdGFyZ2V0LnJlbW92ZUF0
dHJpYnV0ZSgiZHJhZ2dhYmxlIik7Ci0gICAgYXdhaXQgc2ltdWxhdGVUYXAoZmFsc2UpOwotCi0g
ICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgotICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotICAgIDxkaXYgaWQ9InRhcmdldCIgZHJhZ2dhYmxlPSJ0cnVlIj48L2Rpdj4KLTwvYm9keT4K
LTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRv
Y3VtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9ub24tbWVh
bmluZ2Z1bC1jbGljay13aGVuLXRhcHBpbmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmN2UxNjU4YjYyNjc5ZDliY2FjODRkMDJmZWZjZWY4YzJh
Mjc5ZTdjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9ub24tbWVhbmluZ2Z1bC1jbGljay13aGVuLXRhcHBp
bmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAot
VGhpcyB0ZXN0IGV4ZXJjaXNlcyB0aGUgJ21lYW5pbmdmdWwgY2xpY2snIGhldXJpc3RpYyB3aGVu
IGRpc3BhdGNoaW5nIGNsaWNrcyBvbiB0aGUgZG9jdW1lbnQgbm9kZSwgYW5kIHJlcXVpcmVzIFdl
YktpdFRlc3RSdW5uZXIuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotUEFTUyBkaWRE
aXNwYXRjaENsaWNrIGJlY2FtZSB0cnVlCi1QQVNTIGRpZEhhbmRsZVRhcCBiZWNhbWUgdHJ1ZQot
UEFTUyBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayBpcyBmYWxzZQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9ub24tbWVhbmluZ2Z1bC1jbGljay13aGVuLXRhcHBpbmct
ZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9ub24tbWVhbmluZ2Z1
bC1jbGljay13aGVuLXRhcHBpbmctZG9jdW1lbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggM2M1ZjMwOWM4NTAyYjYxYTM0ZjAzZjhiMmQzMTFiYzVlNjcxZTc2Ny4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRvY3VtZW50Lmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KLTxodG1s
PgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgotPHN0eWxlPgotYm9keSwg
aHRtbCB7Ci0gICAgd2lkdGg6IDEwMCU7Ci0gICAgaGVpZ2h0OiAxMDAlOwotfQotPC9zdHlsZT4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBhc3luYyAoKSA9PiB7Ci0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBleGVyY2lzZXMgdGhl
ICdtZWFuaW5nZnVsIGNsaWNrJyBoZXVyaXN0aWMgd2hlbiBkaXNwYXRjaGluZyBjbGlja3Mgb24g
dGhlIGRvY3VtZW50IG5vZGUsIGFuZCByZXF1aXJlcyBXZWJLaXRUZXN0UnVubmVyLiIpOwotICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRpZEhhbmRs
ZVRhcCA9IGZhbHNlOwotICAgIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrID0gZmFsc2U7
Ci0gICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2sod2FzTWVhbmluZ2Z1
bCA9PiB7Ci0gICAgICAgIGRpZEhhbmRsZVRhcCA9IHRydWU7Ci0gICAgICAgIGRpZEhhbmRsZVRh
cEFzTWVhbmluZ2Z1bENsaWNrID0gd2FzTWVhbmluZ2Z1bDsKLSAgICB9KTsKLQotICAgIGRpZERp
c3BhdGNoQ2xpY2sgPSBmYWxzZTsKLSAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKLSAgICAgICAgZGlkRGlzcGF0Y2hDbGljayA9IHRydWU7Ci0gICAgfSk7Ci0K
LSAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUF0KDEwMCwgMTAwKTsKLSAgICBhd2FpdCBVSUhl
bHBlci53YWl0Rm9yRG91YmxlVGFwRGVsYXkoKTsKLSAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHNob3VsZEJlY29tZUVxdWFsKCJkaWREaXNwYXRjaENsaWNrIiwgInRydWUiLCByZXNv
bHZlKSk7Ci0gICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzaG91bGRCZWNvbWVFcXVh
bCgiZGlkSGFuZGxlVGFwIiwgInRydWUiLCByZXNvbHZlKSk7Ci0gICAgc2hvdWxkQmVGYWxzZSgi
ZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2siKTsKLQotICAgIHRlc3RSdW5uZXIuY2xlYXJU
ZXN0UnVubmVyQ2FsbGJhY2tzKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgotICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>