<?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>151195</bug_id>
          
          <creation_ts>2015-11-12 09:37:12 -0800</creation_ts>
          <short_desc>[Streams API] Update the implementation up to spec of Nov 11 2015</short_desc>
          <delta_ts>2015-11-16 02:21:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xabier Rodríguez Calvar">calvaris</reporter>
          <assigned_to name="Xabier Rodríguez Calvar">calvaris</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1141503</commentid>
    <comment_count>0</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-12 09:37:12 -0800</bug_when>
    <thetext>[Streams API] Update the implementation up to spec of Nov 11 2015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141517</commentid>
    <comment_count>1</comment_count>
      <attachid>265403</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-12 10:08:40 -0800</bug_when>
    <thetext>Created attachment 265403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142188</commentid>
    <comment_count>2</comment_count>
      <attachid>265576</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-16 01:26:05 -0800</bug_when>
    <thetext>Created attachment 265576
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142201</commentid>
    <comment_count>3</comment_count>
      <attachid>265576</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-16 02:21:40 -0800</bug_when>
    <thetext>Comment on attachment 265576
Patch for landing

Clearing flags on attachment: 265576

Committed r192466: &lt;http://trac.webkit.org/changeset/192466&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142202</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-16 02:21:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265403</attachid>
            <date>2015-11-12 10:08:40 -0800</date>
            <delta_ts>2015-11-16 01:25:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151195-20151112190834.patch</filename>
            <type>text/plain</type>
            <size>26072</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGMxMzY5ODYxNTdlMGY3
OGU1ZTFkOTNjYzg2MmMxMzg2OTgwNjZkMi4uMTdjMjdmNjBiZmJjNjkxZGJhYTA5ZmE1NWNmYjJl
ZWQwMjU3NWYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE1LTExLTEyICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1N0
cmVhbXMgQVBJXSBVcGRhdGUgdGhlIGltcGxlbWVudGF0aW9uIHVwIHRvIHNwZWMgb2YgTm92IDEx
IDIwMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
MTE5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVw
ZGF0ZWQgdGhlIGltcGxlbWVudGF0aW9uIHRvIHRoZSBsYXRlc3QgY2hhbmdlcyBpbiB0aGUgc3Bl
Yy4gTWFpbiBjaGFuZ2VzIGFyZSB0aGUgcmVtb3ZhbCBvZiB0aGUgZXJyb3IgYW5kIHRoZQorICAg
ICAgICBzdGF0ZSBmcm9tIHRoZSByZWFkZXIsIHJlYWRlcnMgYXJlIG5vdCBhdXRvbWF0aWNhbGx5
IHJlbGVhc2VkIGFuZCB0aGVuIG1pbm9yIG9yIHN0eWxlIGNoYW5nZXMuCisKKyAgICAgICAgVGVz
dHM6IHN0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1w
bGF0ZWQuaHRtbAorICAgICAgICAgICAgICAgc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRp
b24vcmVhZGFibGUtc3RyZWFtLXJlYWRlci5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW0uanM6CisgICAgICAgIChnZXRSZWFkZXIpOiBSZW1vdmVkIGNoZWNr
IGZvciBsb2NrZWQgc3RyZWFtLgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbUludGVybmFscy5qczoKKyAgICAgICAgKHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVTdHJl
YW1SZWFkZXIpOiBSZW1vdmVkIHNldHRpbmcgQGVycm9yIGFuZCBAc3RhdGUgYW5kIGluaXRpYWxp
emVkIG93bmVyIGFuZCBvd25lcidzCisgICAgICAgIHJlYWRlciBhcyBwZXIgc3BlYy4KKyAgICAg
ICAgKHRlZVJlYWRhYmxlU3RyZWFtUHVsbEZ1bmN0aW9uKTogQWRkZWQgYXNzZXJ0aW9ucy4KKyAg
ICAgICAgKGlzUmVhZGFibGVTdHJlYW1SZWFkZXIpOiBBZGRlZCBjb21tZW50IGFib3V0IHJlc2V0
dGluZyB0aGUgcmVhZGVyIG93bmVyIHRvIG51bGwgaW5zdGVhZCBvZiB1bmRlZmluZWQgYXMgYSBt
ZWFucworICAgICAgICB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIG5vdCBoYXZpbmcgdGhlIHNsb3Qg
YW5kIGhhdmluZyBpdCB1bnNldC4KKyAgICAgICAgKGZpbmlzaENsb3NpbmdSZWFkYWJsZVN0cmVh
bSk6IElubGluZSBAY2xvc2VSZWFkYWJsZVN0cmVhbVJlYWRlciBhcyBpdCBpcyB1c2VkIG9ubHkg
aGVyZSBub3cuCisgICAgICAgIChyZWFkRnJvbVJlYWRhYmxlU3RyZWFtUmVhZGVyKTogUmV3b3Jr
ZWQgdGhlIHN0YXRlIGFuZCBlcnJvciB0byB1c2UgdGhlIHN0cmVhbSBvbmUgYW5kIGNoYW5nZWQg
dGhlIGNvbmRpdGlvbnMgdG8KKyAgICAgICAgcHVsbCBhZ2FpbiBhcyBwZXIgc3BlYy4KKyAgICAg
ICAgKGVycm9yUmVhZGFibGVTdHJlYW0pOiBOb3QgcmVsZWFzaW5nIHRoZSByZWFkZXIgYW5kIHJl
bW92ZWQgdGhlIHJlYWRlciBlcnJvciBhbmQgc3RhdGUgbWFuYWdlbWVudC4KKyAgICAgICAgKHJl
bGVhc2VSZWFkYWJsZVN0cmVhbVJlYWRlcik6IERlbGV0ZWQuCisgICAgICAgIChjbG9zZVJlYWRh
YmxlU3RyZWFtUmVhZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1SZWFkZXIuanM6CisgICAgICAgIChjYW5jZWwpOiBSZW1vdmVkIHNvbWUgY2hl
Y2tzIGFuZCBhc3NlcnRpb25zIGFzIHBlciBzcGVjLgorICAgICAgICAocmVhZCk6IEFkZGVkIGNo
ZWNrIGZvciBvd25lci4KKyAgICAgICAgKHJlbGVhc2VMb2NrKTogTm8gY2xvc2luZyB0aGUgcmVh
ZGVyIGFuZCByZWplY3RpbmcgY2xvc2UgcHJvbWlzZSBhbmQgdW5saW5raW5nIHJlYWRlciBhbmQg
b3duZXIgaW5zdGVhZC4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0u
anM6CisgICAgICAgIChhYm9ydCk6IFN0eWxlIGNoYW5nZS4KKyAgICAgICAgKiBNb2R1bGVzL3N0
cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgICh3cml0YWJsZVN0cmVh
bUFkdmFuY2VRdWV1ZSk6CisgICAgICAgIChjbG9zZVdyaXRhYmxlU3RyZWFtKTogVXNlZCBAY2Fs
bCBpbnN0ZWFkIG9mIEBhcHBseS4KKwogMjAxNS0xMS0xMSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2
YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gUmVtb3Zl
IGJpbmQgdXNhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZVN0cmVhbS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbS5qcwppbmRleCBjMTEwZjYyZTgzYWYyODlhOGEwNDBkZTcyYjNjZWZkY2FjMTliZDc0
Li40NjExZWUxM2E3MjkyMDhiMDQwZTYwZDMxODY5Yjk4OGVlZDg4ZDIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCkBAIC04Nyw5ICs4
Nyw2IEBAIGZ1bmN0aW9uIGdldFJlYWRlcigpCiAgICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVhbSh0
aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkZ1bmN0aW9uIHNob3VsZCBiZSBj
YWxsZWQgb24gYSBSZWFkYWJsZVN0cmVhbSIpOwogCi0gICAgaWYgKEBpc1JlYWRhYmxlU3RyZWFt
TG9ja2VkKHRoaXMpKQotICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiUmVhZGFibGVTdHJl
YW0gaXMgbG9ja2VkIik7Ci0KICAgICByZXR1cm4gbmV3IEBSZWFkYWJsZVN0cmVhbVJlYWRlcih0
aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IGQ1OTFjODJjNDg2ODQyYTg2YjY4YzRj
NTQ3NjI5NmI2NTNlMjM2M2EuLjMzMmFkOWU0Y2M2NDBiMzBlZTg4ZDdjZmU1MDJmMDkwNGRiM2Vl
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTM2LDI0ICszNiwxOCBAQCBmdW5jdGlvbiBwcml2
YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtUmVhZGVyKHN0cmVhbSkKICAgICBpZiAoQGlzUmVh
ZGFibGVTdHJlYW1Mb2NrZWQoc3RyZWFtKSkKICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigi
UmVhZGFibGVTdHJlYW0gaXMgbG9ja2VkIik7CiAKLSAgICB0aGlzLkBzdGF0ZSA9IHN0cmVhbS5A
c3RhdGU7CiAgICAgdGhpcy5AcmVhZFJlcXVlc3RzID0gW107CisgICAgdGhpcy5Ab3duZXJSZWFk
YWJsZVN0cmVhbSA9IHN0cmVhbTsKKyAgICBzdHJlYW0uQHJlYWRlciA9IHRoaXM7CiAgICAgaWYg
KHN0cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1SZWFkYWJsZSkgewotICAgICAgICB0aGlzLkBvd25l
clJlYWRhYmxlU3RyZWFtID0gc3RyZWFtOwotICAgICAgICB0aGlzLkBzdG9yZWRFcnJvciA9IHVu
ZGVmaW5lZDsKLSAgICAgICAgc3RyZWFtLkByZWFkZXIgPSB0aGlzOwogICAgICAgICB0aGlzLkBj
bG9zZWRQcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShAUHJvbWlzZSk7
CiAgICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KICAgICBpZiAoc3RyZWFtLkBzdGF0ZSA9PT0g
QHN0cmVhbUNsb3NlZCkgewotICAgICAgICB0aGlzLkBvd25lclJlYWRhYmxlU3RyZWFtID0gbnVs
bDsKLSAgICAgICAgdGhpcy5Ac3RvcmVkRXJyb3IgPSB1bmRlZmluZWQ7CiAgICAgICAgIHRoaXMu
QGNsb3NlZFByb21pc2VDYXBhYmlsaXR5ID0geyBAcHJvbWlzZTogQFByb21pc2UuQHJlc29sdmUo
KSB9OwogICAgICAgICByZXR1cm4gdGhpczsKICAgICB9CiAgICAgQGFzc2VydChzdHJlYW0uQHN0
YXRlID09PSBAc3RyZWFtRXJyb3JlZCk7Ci0gICAgdGhpcy5Ab3duZXJSZWFkYWJsZVN0cmVhbSA9
IG51bGw7Ci0gICAgdGhpcy5Ac3RvcmVkRXJyb3IgPSBzdHJlYW0uQHN0b3JlZEVycm9yOwogICAg
IHRoaXMuQGNsb3NlZFByb21pc2VDYXBhYmlsaXR5ID0geyBAcHJvbWlzZTogQFByb21pc2UuQHJl
amVjdChzdHJlYW0uQHN0b3JlZEVycm9yKSB9OwogCiAgICAgcmV0dXJuIHRoaXM7CkBAIC0xMjMs
NiArMTE3LDggQEAgZnVuY3Rpb24gdGVlUmVhZGFibGVTdHJlYW1QdWxsRnVuY3Rpb24odGVlU3Rh
dGUsIHJlYWRlciwgc2hvdWxkQ2xvbmUpCiAKICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAg
ICAgIEBQcm9taXNlLnByb3RvdHlwZS5AdGhlbi5AY2FsbChyZWFkZXIucmVhZCgpLCBmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICAgICAgICAgIEBhc3NlcnQoQGlzT2JqZWN0KHJlc3VsdCkpOworICAg
ICAgICAgICAgQGFzc2VydCh0eXBlb2YgcmVzdWx0LmRvbmUgPT09ICJib29sZWFuIik7CiAgICAg
ICAgICAgICBpZiAocmVzdWx0LmRvbmUgJiYgIXRlZVN0YXRlLmNsb3NlZE9yRXJyb3JlZCkgewog
ICAgICAgICAgICAgICAgIEBjbG9zZVJlYWRhYmxlU3RyZWFtKHRlZVN0YXRlLmJyYW5jaDEpOwog
ICAgICAgICAgICAgICAgIEBjbG9zZVJlYWRhYmxlU3RyZWFtKHRlZVN0YXRlLmJyYW5jaDIpOwpA
QCAtMTg1LDYgKzE4MSw4IEBAIGZ1bmN0aW9uIGlzUmVhZGFibGVTdHJlYW1SZWFkZXIocmVhZGVy
KQogewogICAgICJ1c2Ugc3RyaWN0IjsKIAorICAgIC8vIFRvIHJlc2V0IEBvd25lclJlYWRhYmxl
U3RyZWFtIGl0IG11c3QgYmUgc2V0IHRvIG51bGwgaW5zdGVhZCBvZiB1bmRlZmluZWQgYmVjYXVz
ZSB0aGVyZSBpcyBubyB3YXkgdG8gZGlzdGluZ3Vpc2gKKyAgICAvLyBiZXR3ZWVuIGEgbm9uLWV4
aXN0ZW50IHNsb3QgYW5kIGFuIHNsb3Qgc2V0IHRvIHVuZGVmaW5lZC4KICAgICByZXR1cm4gQGlz
T2JqZWN0KHJlYWRlcikgJiYgdHlwZW9mIHJlYWRlci5Ab3duZXJSZWFkYWJsZVN0cmVhbSAhPT0g
InVuZGVmaW5lZCI7CiB9CiAKQEAgLTIxMywxMCArMjExLDYgQEAgZnVuY3Rpb24gZXJyb3JSZWFk
YWJsZVN0cmVhbShzdHJlYW0sIGVycm9yKQogICAgICAgICByZXF1ZXN0c1tpbmRleF0uQHJlamVj
dC5AY2FsbCh1bmRlZmluZWQsIGVycm9yKTsKICAgICByZWFkZXIuQHJlYWRSZXF1ZXN0cyA9IFtd
OwogCi0gICAgQHJlbGVhc2VSZWFkYWJsZVN0cmVhbVJlYWRlcihyZWFkZXIpOwotICAgIHJlYWRl
ci5Ac3RvcmVkRXJyb3IgPSBlcnJvcjsKLSAgICByZWFkZXIuQHN0YXRlID0gQHN0cmVhbUVycm9y
ZWQ7Ci0KICAgICByZWFkZXIuQGNsb3NlZFByb21pc2VDYXBhYmlsaXR5LkByZWplY3QuQGNhbGwo
dW5kZWZpbmVkLCBlcnJvcik7CiB9CiAKQEAgLTIyNCw3ICsyMTgsNyBAQCBmdW5jdGlvbiByZXF1
ZXN0UmVhZGFibGVTdHJlYW1QdWxsKHN0cmVhbSkKIHsKICAgICAidXNlIHN0cmljdCI7CiAKLSAg
ICBpZiAoc3RyZWFtLkBzdGF0ZSAhPT0gQHN0cmVhbVJlYWRhYmxlKQorICAgIGlmIChzdHJlYW0u
QHN0YXRlID09PSBAc3RyZWFtQ2xvc2VkIHx8IHN0cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1FcnJv
cmVkKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKHN0cmVhbS5AY2xvc2VSZXF1ZXN0ZWQpCiAg
ICAgICAgIHJldHVybjsKQEAgLTI1Nyw2ICsyNTEsNyBAQCBmdW5jdGlvbiBpc1JlYWRhYmxlU3Ry
ZWFtTG9ja2VkKHN0cmVhbSkKIHsKICAgICJ1c2Ugc3RyaWN0IjsKIAorICAgIEBhc3NlcnQoQGlz
UmVhZGFibGVTdHJlYW0oc3RyZWFtKSk7CiAgICAgcmV0dXJuICEhc3RyZWFtLkByZWFkZXI7CiB9
CiAKQEAgLTI2NywxNCArMjYyLDYgQEAgZnVuY3Rpb24gZ2V0UmVhZGFibGVTdHJlYW1EZXNpcmVk
U2l6ZShzdHJlYW0pCiAgICByZXR1cm4gc3RyZWFtLkBzdHJhdGVneS5oaWdoV2F0ZXJNYXJrIC0g
c3RyZWFtLkBxdWV1ZS5zaXplOwogfQogCi1mdW5jdGlvbiByZWxlYXNlUmVhZGFibGVTdHJlYW1S
ZWFkZXIocmVhZGVyKQotewotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIHJlYWRlci5Ab3duZXJS
ZWFkYWJsZVN0cmVhbS5AcmVhZGVyID0gdW5kZWZpbmVkOwotICAgIHJlYWRlci5Ab3duZXJSZWFk
YWJsZVN0cmVhbSA9IG51bGw7Ci19Ci0KIGZ1bmN0aW9uIGNhbmNlbFJlYWRhYmxlU3RyZWFtKHN0
cmVhbSwgcmVhc29uKQogewogICAgICJ1c2Ugc3RyaWN0IjsKQEAgLTI5NSw4ICsyODIsMTQgQEAg
ZnVuY3Rpb24gZmluaXNoQ2xvc2luZ1JlYWRhYmxlU3RyZWFtKHN0cmVhbSkKICAgICBAYXNzZXJ0
KHN0cmVhbS5Ac3RhdGUgPT09ICBAc3RyZWFtUmVhZGFibGUpOwogICAgIHN0cmVhbS5Ac3RhdGUg
PSBAc3RyZWFtQ2xvc2VkOwogICAgIGNvbnN0IHJlYWRlciA9IHN0cmVhbS5AcmVhZGVyOwotICAg
IGlmIChyZWFkZXIpCi0gICAgICAgIEBjbG9zZVJlYWRhYmxlU3RyZWFtUmVhZGVyKHJlYWRlcik7
CisgICAgaWYgKCFyZWFkZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbnN0IHJlcXVlc3Rz
ID0gcmVhZGVyLkByZWFkUmVxdWVzdHM7CisgICAgZm9yIChsZXQgaW5kZXggPSAwLCBsZW5ndGgg
PSByZXF1ZXN0cy5sZW5ndGg7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KQorICAgICAgICByZXF1
ZXN0c1tpbmRleF0uQHJlc29sdmUuQGNhbGwodW5kZWZpbmVkLCB7dmFsdWU6dW5kZWZpbmVkLCBk
b25lOiB0cnVlfSk7CisgICAgcmVhZGVyLkByZWFkUmVxdWVzdHMgPSBbXTsKKyAgICByZWFkZXIu
QGNsb3NlZFByb21pc2VDYXBhYmlsaXR5LkByZXNvbHZlLkBjYWxsKCk7CiB9CiAKIGZ1bmN0aW9u
IGNsb3NlUmVhZGFibGVTdHJlYW0oc3RyZWFtKQpAQCAtMzEyLDE5ICszMDUsNiBAQCBmdW5jdGlv
biBjbG9zZVJlYWRhYmxlU3RyZWFtKHN0cmVhbSkKICAgICAgICAgQGZpbmlzaENsb3NpbmdSZWFk
YWJsZVN0cmVhbShzdHJlYW0pOwogfQogCi1mdW5jdGlvbiBjbG9zZVJlYWRhYmxlU3RyZWFtUmVh
ZGVyKHJlYWRlcikKLXsKLSAgICAidXNlIHN0cmljdCI7Ci0KLSAgICBjb25zdCByZXF1ZXN0cyA9
IHJlYWRlci5AcmVhZFJlcXVlc3RzOwotICAgIGZvciAobGV0IGluZGV4ID0gMCwgbGVuZ3RoID0g
cmVxdWVzdHMubGVuZ3RoOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkKLSAgICAgICAgcmVxdWVz
dHNbaW5kZXhdLkByZXNvbHZlLkBjYWxsKHVuZGVmaW5lZCwge3ZhbHVlOnVuZGVmaW5lZCwgZG9u
ZTogdHJ1ZX0pOwotICAgIHJlYWRlci5AcmVhZFJlcXVlc3RzID0gW107Ci0gICAgQHJlbGVhc2VS
ZWFkYWJsZVN0cmVhbVJlYWRlcihyZWFkZXIpOwotICAgIHJlYWRlci5Ac3RhdGUgPSBAc3RyZWFt
Q2xvc2VkOwotICAgIHJlYWRlci5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkuQHJlc29sdmUuQGNh
bGwoKTsKLX0KLQogZnVuY3Rpb24gZW5xdWV1ZUluUmVhZGFibGVTdHJlYW0oc3RyZWFtLCBjaHVu
aykKIHsKICAgICAidXNlIHN0cmljdCI7CkBAIC0zNTgsMTkgKzMzOCwxOSBAQCBmdW5jdGlvbiBy
ZWFkRnJvbVJlYWRhYmxlU3RyZWFtUmVhZGVyKHJlYWRlcikKIHsKICAgICAidXNlIHN0cmljdCI7
CiAKLSAgICBpZiAocmVhZGVyLkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NlZCkKLSAgICAgICAgcmV0
dXJuIEBQcm9taXNlLkByZXNvbHZlKHt2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlfSk7Ci0g
ICAgaWYgKHJlYWRlci5Ac3RhdGUgPT09IEBzdHJlYW1FcnJvcmVkKQotICAgICAgICByZXR1cm4g
QFByb21pc2UuQHJlamVjdChyZWFkZXIuQHN0b3JlZEVycm9yKTsKLSAgICBAYXNzZXJ0KCEhcmVh
ZGVyLkBvd25lclJlYWRhYmxlU3RyZWFtKTsKLSAgICBAYXNzZXJ0KHJlYWRlci5Ab3duZXJSZWFk
YWJsZVN0cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1SZWFkYWJsZSk7CiAgICAgY29uc3Qgc3RyZWFt
ID0gcmVhZGVyLkBvd25lclJlYWRhYmxlU3RyZWFtOworICAgIEBhc3NlcnQoISFzdHJlYW0pOwor
ICAgIGlmIChzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtQ2xvc2VkKQorICAgICAgICByZXR1cm4g
QFByb21pc2UuQHJlc29sdmUoe3ZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWV9KTsKKyAgICBp
ZiAoc3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbUVycm9yZWQpCisgICAgICAgIHJldHVybiBAUHJv
bWlzZS5AcmVqZWN0KHN0cmVhbS5Ac3RvcmVkRXJyb3IpOworICAgIEBhc3NlcnQoc3RyZWFtLkBz
dGF0ZSA9PT0gQHN0cmVhbVJlYWRhYmxlKTsKICAgICBpZiAoc3RyZWFtLkBxdWV1ZS5jb250ZW50
Lmxlbmd0aCkgewogICAgICAgICBjb25zdCBjaHVuayA9IEBkZXF1ZXVlVmFsdWUoc3RyZWFtLkBx
dWV1ZSk7Ci0gICAgICAgIGlmICghc3RyZWFtLkBjbG9zZVJlcXVlc3RlZCkKLSAgICAgICAgICAg
IEByZXF1ZXN0UmVhZGFibGVTdHJlYW1QdWxsKHN0cmVhbSk7Ci0gICAgICAgIGVsc2UgaWYgKCFz
dHJlYW0uQHF1ZXVlLmNvbnRlbnQubGVuZ3RoKQorICAgICAgICBpZiAoc3RyZWFtLkBjbG9zZVJl
cXVlc3RlZCAmJiBzdHJlYW0uQHF1ZXVlLmNvbnRlbnQubGVuZ3RoID09PSAwKQogICAgICAgICAg
ICAgQGZpbmlzaENsb3NpbmdSZWFkYWJsZVN0cmVhbShzdHJlYW0pOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBAcmVxdWVzdFJlYWRhYmxlU3RyZWFtUHVsbChzdHJlYW0pOwogICAgICAgICBy
ZXR1cm4gQFByb21pc2UuQHJlc29sdmUoe3ZhbHVlOiBjaHVuaywgZG9uZTogZmFsc2V9KTsKICAg
ICB9CiAgICAgY29uc3QgcmVhZFByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmls
aXR5KEBQcm9taXNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcwppbmRleCA3YThlNjNlMjQ5MWNiYjAwMTQwMWI3MmEw
ZDgyYzBhZTZhMDQ2MzJlLi41ODQ2ZmZiODI2YzA2NzQyMDQxNzU5OTk0OTM0YzdhMTQxMTUzYTll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1SZWFkZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtUmVhZGVyLmpzCkBAIC0zMiwxNCArMzIsOSBAQCBmdW5jdGlvbiBjYW5jZWwocmVhc29u
KQogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW1SZWFkZXIodGhpcykpCiAgICAgICAgIHJldHVy
biBAUHJvbWlzZS5AcmVqZWN0KG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBzaG91bGQgYmUgY2Fs
bGVkIG9uIGEgUmVhZGFibGVTdHJlYW1SZWFkZXIiKSk7CiAKLSAgICBpZiAodGhpcy5Ac3RhdGUg
PT09IEBzdHJlYW1DbG9zZWQpCi0gICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVzb2x2ZSgpOwot
Ci0gICAgaWYgKHRoaXMuQHN0YXRlID09PSBAc3RyZWFtRXJyb3JlZCkKLSAgICAgICAgcmV0dXJu
IEBQcm9taXNlLkByZWplY3QodGhpcy5Ac3RvcmVkRXJyb3IpOworICAgIGlmICghdGhpcy5Ab3du
ZXJSZWFkYWJsZVN0cmVhbSkKKyAgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3QobmV3IEBU
eXBlRXJyb3IoImNhbmNlbCgpIGNhbGxlZCBvbiBhIHJlYWRlciBvd25lZCBieSBubyByZWFkYWJs
ZSBzdHJlYW0iKSk7CiAKLSAgICBAYXNzZXJ0KEBpc1JlYWRhYmxlU3RyZWFtKHRoaXMuQG93bmVy
UmVhZGFibGVTdHJlYW0pKTsKLSAgICBAYXNzZXJ0KHRoaXMuQG93bmVyUmVhZGFibGVTdHJlYW0u
QHN0YXRlID09PSBAc3RyZWFtUmVhZGFibGUpOwogICAgIHJldHVybiBAY2FuY2VsUmVhZGFibGVT
dHJlYW0odGhpcy5Ab3duZXJSZWFkYWJsZVN0cmVhbSwgcmVhc29uKTsKIH0KIApAQCAtNDksNiAr
NDQsOCBAQCBmdW5jdGlvbiByZWFkKCkKIAogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW1SZWFk
ZXIodGhpcykpCiAgICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVqZWN0KG5ldyBAVHlwZUVycm9y
KCJGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9uIGEgUmVhZGFibGVTdHJlYW1SZWFkZXIiKSk7
CisgICAgaWYgKCF0aGlzLkBvd25lclJlYWRhYmxlU3RyZWFtKQorICAgICAgICByZXR1cm4gQFBy
b21pc2UuQHJlamVjdChuZXcgQFR5cGVFcnJvcigicmVhZCgpIGNhbGxlZCBvbiBhIHJlYWRlciBv
d25lZCBieSBubyByZWFkYWJsZSBzdHJlYW0iKSk7CiAKICAgICByZXR1cm4gQHJlYWRGcm9tUmVh
ZGFibGVTdHJlYW1SZWFkZXIodGhpcyk7CiB9CkBAIC02MCwxMyArNTcsMjAgQEAgZnVuY3Rpb24g
cmVsZWFzZUxvY2soKQogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW1SZWFkZXIodGhpcykpCiAg
ICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9u
IGEgUmVhZGFibGVTdHJlYW1SZWFkZXIiKTsKIAotICAgIGlmICghdGhpcy5Ab3duZXJSZWFkYWJs
ZVN0cmVhbSkKKyAgICBjb25zdCBzdHJlYW0gPSB0aGlzLkBvd25lclJlYWRhYmxlU3RyZWFtOwor
ICAgIGlmICghc3RyZWFtKQogICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHRoaXMuQHJlYWRS
ZXF1ZXN0cy5sZW5ndGgpCiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJUaGVyZSBhcmUg
c3RpbGwgcGVuZGluZyByZWFkIHJlcXVlc3RzLCBjYW5ub3QgcmVsZWFzZSB0aGUgbG9jayIpOwog
Ci0gICAgQGNsb3NlUmVhZGFibGVTdHJlYW1SZWFkZXIodGhpcyk7CisgICAgaWYgKHN0cmVhbS5A
c3RhdGUgPT09IEBzdHJlYW1SZWFkYWJsZSkKKyAgICAgICAgdGhpcy5AY2xvc2VkUHJvbWlzZUNh
cGFiaWxpdHkuQHJlamVjdC5AY2FsbCh1bmRlZmluZWQsIG5ldyBAVHlwZUVycm9yKCJyZWxlYXNp
bmcgbG9jayBvZiByZWFkZXIgd2hvc2Ugc3RyZWFtIGlzIHN0aWxsIGluIHJlYWRhYmxlIHN0YXRl
IikpOworICAgIGVsc2UKKyAgICAgICAgdGhpcy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkgPSB7
IEBwcm9taXNlOiBAUHJvbWlzZS5AcmVqZWN0KG5ldyBAVHlwZUVycm9yKCJyZWFkZXIgcmVsZWFz
ZWQgbG9jayIpKSB9OworCisgICAgc3RyZWFtLkByZWFkZXIgPSB1bmRlZmluZWQ7CisgICAgdGhp
cy5Ab3duZXJSZWFkYWJsZVN0cmVhbSA9IG51bGw7CiB9CiAKIGZ1bmN0aW9uIGNsb3NlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0u
anMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanMKaW5k
ZXggNjAzOGFmMmFjZTUwMWJjY2IwYjk3OGQ4ZGY0ZWJhZGUzODZhZmIzNC4uOTJjNTJjYzY2NWVi
OWY2MDhhYWFlYjk3ZTI5OTgyNzdlYzlmYzdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qcwpAQCAtODMsNyArODMsNyBAQCBmdW5jdGlv
biBhYm9ydChyZWFzb24pCiAKICAgICBjb25zdCBzaW5rQWJvcnRQcm9taXNlID0gQHByb21pc2VJ
bnZva2VPckZhbGxiYWNrT3JOb29wKHRoaXMuQHVuZGVybHlpbmdTaW5rLCAiYWJvcnQiLCBbcmVh
c29uXSwgImNsb3NlIiwgW10pOwogCi0gICAgcmV0dXJuIEBQcm9taXNlLnByb3RvdHlwZS5AdGhl
bi5AY2FsbChzaW5rQWJvcnRQcm9taXNlLCBmdW5jdGlvbigpIHsgcmV0dXJuIHVuZGVmaW5lZDsg
fSk7CisgICAgcmV0dXJuIEBQcm9taXNlLnByb3RvdHlwZS5AdGhlbi5AY2FsbChzaW5rQWJvcnRQ
cm9taXNlLCBmdW5jdGlvbigpIHsgfSk7CiB9CiAKIGZ1bmN0aW9uIGNsb3NlKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVybmFs
cy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVy
bmFscy5qcwppbmRleCA0MjlkNTg3Mzc3N2U3Y2JmNDA1MTFkNGRiOWEwNTZiZDMxZjk4MmEyLi41
MDE1YWU3ZWExM2ZiMWRkNzIyNTI4YTQ4ODkwNWMyOTMyYTlkNDQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxz
LmpzCkBAIC0xMTAsNyArMTEwLDcgQEAgZnVuY3Rpb24gd3JpdGFibGVTdHJlYW1BZHZhbmNlUXVl
dWUoc3RyZWFtKQogICAgICAgICAgICAgQHdyaXRhYmxlU3RyZWFtQWR2YW5jZVF1ZXVlKHN0cmVh
bSk7CiAgICAgICAgIH0sCiAgICAgICAgIGZ1bmN0aW9uKHIpIHsKLSAgICAgICAgICAgIEBlcnJv
cldyaXRhYmxlU3RyZWFtLkBhcHBseShzdHJlYW0sIFtyXSk7CisgICAgICAgICAgICBAZXJyb3JX
cml0YWJsZVN0cmVhbS5AY2FsbChzdHJlYW0sIHIpOwogICAgICAgICB9CiAgICAgKTsKIH0KQEAg
LTEyOSw3ICsxMjksNyBAQCBmdW5jdGlvbiBjbG9zZVdyaXRhYmxlU3RyZWFtKHN0cmVhbSkKICAg
ICAgICAgICAgIHN0cmVhbS5Ac3RhdGUgPSBAc3RyZWFtQ2xvc2VkOwogICAgICAgICB9LAogICAg
ICAgICBmdW5jdGlvbihyKSB7Ci0gICAgICAgICAgICBAZXJyb3JXcml0YWJsZVN0cmVhbS5AYXBw
bHkoc3RyZWFtLCBbcl0pOworICAgICAgICAgICAgQGVycm9yV3JpdGFibGVTdHJlYW0uQGNhbGwo
c3RyZWFtLCByKTsKICAgICAgICAgfQogICAgICk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjk4MmVkYTI5OWY5Yzg5
ZjAwNTVjZmJhMTlhZGRjZDhiN2QxMDE1Zi4uNTUxZDcwYTNkMDM2OTY1YzhhOWY2ODY1YWE2MDZl
OGIyYmNhMTZlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTExLTEyICBYYWJpZXIgUm9k
cmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1N0cmVhbXMg
QVBJXSBVcGRhdGUgdGhlIGltcGxlbWVudGF0aW9uIHVwIHRvIHNwZWMgb2YgTm92IDExIDIwMTUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTE5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQg
ZXhwZWN0YXRpb25zLgorCisgICAgICAgICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRp
b24vcmVhZGFibGUtc3RyZWFtLXJlYWRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RyZWFt
cy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXRlbXBsYXRlZC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVh
ZGFibGUtc3RyZWFtLXRlbXBsYXRlZC5odG1sOgorCiAyMDE1LTExLTEwICBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBNYWtlIGluZGV4ZXMg
YWN0dWFsbHkgaW5kZXguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5j
ZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tcmVhZGVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVh
bS1yZWFkZXItZXhwZWN0ZWQudHh0CmluZGV4IDAzZjk3NmJiZWRkMDg5MGVmMDc5OGU2MGU5ZDhm
ZGNlZTBiNTQ4YTEuLjA4ZmUyN2JmM2VjYTlhYWRmZDdlN2JkNTI1ZTE1NzFiNmZmYTYyMTYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3Jl
YWRhYmxlLXN0cmVhbS1yZWFkZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVh
bXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXItZXhwZWN0
ZWQudHh0CkBAIC0xMCwxMiArMTAsMTIgQEAgUEFTUyBHZXR0aW5nIGEgUmVhZGFibGVTdHJlYW1S
ZWFkZXIgdmlhIGdldFJlYWRlciBzaG91bGQgZmFpbCBpZiB0aGUgc3RyZWFtIGlzIGEKIFBBU1Mg
Q29uc3RydWN0aW5nIGEgUmVhZGFibGVTdHJlYW1SZWFkZXIgZGlyZWN0bHkgc2hvdWxkIGJlIE9L
IGlmIHRoZSBzdHJlYW0gaXMgY2xvc2VkIAogUEFTUyBDb25zdHJ1Y3RpbmcgYSBSZWFkYWJsZVN0
cmVhbVJlYWRlciBkaXJlY3RseSBzaG91bGQgYmUgT0sgaWYgdGhlIHN0cmVhbSBpcyBlcnJvcmVk
IAogUEFTUyBSZWFkaW5nIGZyb20gYSByZWFkZXIgZm9yIGFuIGVtcHR5IHN0cmVhbSB3aWxsIHdh
aXQgdW50aWwgYSBjaHVuayBpcyBhdmFpbGFibGUgCi1GQUlMIGNhbmNlbCgpIG9uIGEgcmVhZGVy
IGRvZXMgbm90IHJlbGVhc2UgdGhlIHJlYWRlciBhc3NlcnRfdW5yZWFjaGVkOiByZWFkZXIuY2Fu
Y2VsKCkgc2hvdWxkIG5vdCByZWplY3QgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIGNh
bmNlbCgpIG9uIGEgcmVhZGVyIGRvZXMgbm90IHJlbGVhc2UgdGhlIHJlYWRlciAKIFBBU1MgY2xv
c2VkIHNob3VsZCBiZSBmdWxmaWxsZWQgYWZ0ZXIgc3RyZWFtIGlzIGNsb3NlZCAoLmNsb3NlZCBh
Y2Nlc3MgYmVmb3JlIGFjcXVpcmluZykgCi1GQUlMIGNsb3NlZCBzaG91bGQgYmUgcmVqZWN0ZWQg
YWZ0ZXIgcmVhZGVyIHJlbGVhc2VzIGl0cyBsb2NrIChtdWx0aXBsZSBzdHJlYW0gbG9ja3MpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAxCitQQVNTIGNsb3NlZCBzaG91bGQgYmUg
cmVqZWN0ZWQgYWZ0ZXIgcmVhZGVyIHJlbGVhc2VzIGl0cyBsb2NrIChtdWx0aXBsZSBzdHJlYW0g
bG9ja3MpIAogUEFTUyBNdWx0aXBsZSByZWFkZXJzIGNhbiBhY2Nlc3MgdGhlIHN0cmVhbSBpbiBz
ZXF1ZW5jZSAKIFBBU1MgQ2Fubm90IHVzZSBhbiBhbHJlYWR5LXJlbGVhc2VkIHJlYWRlciB0byB1
bmxvY2sgYSBzdHJlYW0gYWdhaW4gCi1GQUlMIGNhbmNlbCgpIG9uIGEgcmVsZWFzZWQgcmVhZGVy
IGlzIGEgbm8tb3AgYW5kIGRvZXMgbm90IHBhc3MgdGhyb3VnaCBhc3NlcnRfdW5yZWFjaGVkOiBj
YW5jZWwgcHJvbWlzZSBzaG91bGQgbm90IGZ1bGZpbGwgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitQQVNTIGNhbmNlbCgpIG9uIGEgcmVsZWFzZWQgcmVhZGVyIGlzIGEgbm8tb3AgYW5kIGRvZXMg
bm90IHBhc3MgdGhyb3VnaCAKIFBBU1MgR2V0dGluZyBhIHNlY29uZCByZWFkZXIgYWZ0ZXIgZXJy
b3JpbmcgdGhlIHN0cmVhbSBzaG91bGQgc3VjY2VlZCAKIFBBU1MgR2FyYmFnZS1jb2xsZWN0aW5n
IGEgUmVhZGFibGVTdHJlYW1SZWFkZXIgc2hvdWxkIG5vdCB1bmxvY2sgaXRzIHN0cmVhbSAKIFBB
U1MgUmVhZGFibGVTdHJlYW1SZWFkZXIgY2xvc2VkIHByb21pc2Ugc2hvdWxkIGJlIHJlamVjdGVk
IHdpdGggdW5kZWZpbmVkIGlmIHRoYXQgaXMgdGhlIGVycm9yIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXRl
bXBsYXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBs
ZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLWV4cGVjdGVkLnR4dAppbmRleCA5
NjUyZWJmYmZlN2U0MTViNzYxMTFhZWM1NjRhMGZjMjY3NmQwZGY1Li4wMWUyNGRiODk0MWQyMjYx
YzJmNzI2ZmU2ZWE0MDhlYjZkNzkxODhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1z
L3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlv
bi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLWV4cGVjdGVkLnR4dApAQCAtOSw4ICs5LDggQEAg
UEFTUyB0d28gcmVhZCgpcyBzaG91bGQgYm90aCBuZXZlciBzZXR0bGUKIFBBU1MgcmVhZCgpIHNo
b3VsZCByZXR1cm4gZGlzdGluY3QgcHJvbWlzZXMgZWFjaCB0aW1lIAogUEFTUyBnZXRSZWFkZXIo
KSBhZ2FpbiBvbiB0aGUgc3RyZWFtIHNob3VsZCBmYWlsIAogUEFTUyByZWxlYXNpbmcgdGhlIGxv
Y2sgd2l0aCBwZW5kaW5nIHJlYWQgcmVxdWVzdHMgc2hvdWxkIHRocm93IGJ1dCB0aGUgcmVhZCBy
ZXF1ZXN0cyBzaG91bGQgc3RheSBwZW5kaW5nIAotVElNRU9VVCByZWxlYXNpbmcgdGhlIGxvY2sg
c2hvdWxkIGNhdXNlIGZ1cnRoZXIgcmVhZCgpIGNhbGxzIHRvIHJlamVjdCB3aXRoIGEgVHlwZUVy
cm9yIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1
c2UgY2xvc2VkIHRvIHJlamVjdCBUZXN0IHRpbWVkIG91dAorUEFTUyByZWxlYXNpbmcgdGhlIGxv
Y2sgc2hvdWxkIGNhdXNlIGZ1cnRoZXIgcmVhZCgpIGNhbGxzIHRvIHJlamVjdCB3aXRoIGEgVHlw
ZUVycm9yIAorUEFTUyByZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNhdXNlIGNsb3NlZCB0byBy
ZWplY3QgCiBQQVNTIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgbG9ja2VkIHRvIGJl
Y29tZSBmYWxzZSAKIFBBU1MgY2FuY2VsaW5nIHZpYSB0aGUgcmVhZGVyIHNob3VsZCBjYXVzZSB0
aGUgcmVhZGVyIHRvIGFjdCBjbG9zZWQgCiBQQVNTIGNhbmNlbGluZyB2aWEgdGhlIHN0cmVhbSBz
aG91bGQgZmFpbCAKQEAgLTIxLDIwICsyMSwyMCBAQCBQQVNTIGdldFJlYWRlcigpIHNob3VsZCBi
ZSBPSwogRkFJTCBwaXBpbmcgdG8gYSBXcml0YWJsZVN0cmVhbSBpbiB0aGUgd3JpdGFibGUgc3Rh
dGUgc2hvdWxkIGNsb3NlIHRoZSB3cml0YWJsZSBzdHJlYW0gcGlwZVRvIGlzIG5vdCBpbXBsZW1l
bnRlZAogRkFJTCBwaXBpbmcgdG8gYSBXcml0YWJsZVN0cmVhbSBpbiB0aGUgd3JpdGFibGUgc3Rh
dGUgd2l0aCB7IHByZXZlbnRDbG9zZTogdHJ1ZSB9IHNob3VsZCBkbyBub3RoaW5nIHBpcGVUbyBp
cyBub3QgaW1wbGVtZW50ZWQKIFBBU1Mgc2hvdWxkIGJlIGFibGUgdG8gYWNxdWlyZSBtdWx0aXBs
ZSByZWFkZXJzIGlmIHRoZXkgYXJlIHJlbGVhc2VkIGluIHN1Y2Nlc3Npb24gCi1GQUlMIHNob3Vs
ZCBub3QgYmUgYWJsZSB0byBhY3F1aXJlIGEgc2Vjb25kIHJlYWRlciBpZiB3ZSBkb24ndCByZWxl
YXNlIHRoZSBmaXJzdCBvbmUgYXNzZXJ0X3Rocm93czogZ2V0dGluZyBhIHNlY29uZCByZWFkZXIg
c2hvdWxkIHRocm93IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHJzLmdldFJlYWRlcigpOyB9IiBk
aWQgbm90IHRocm93CitQQVNTIHNob3VsZCBub3QgYmUgYWJsZSB0byBhY3F1aXJlIGEgc2Vjb25k
IHJlYWRlciBpZiB3ZSBkb24ndCByZWxlYXNlIHRoZSBmaXJzdCBvbmUgCiBQQVNTIFJ1bm5pbmcg
dGVtcGxhdGVkUlNDbG9zZWRSZWFkZXIgd2l0aCBSZWFkYWJsZVN0cmVhbSByZWFkZXIgKGNsb3Nl
ZCBiZWZvcmUgZ2V0dGluZyByZWFkZXIpIAogUEFTUyByZWFkKCkgc2hvdWxkIGZ1bGZpbGwgd2l0
aCB7IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfSAKIFBBU1MgcmVhZCgpIG11bHRpcGxl
IHRpbWVzIHNob3VsZCBmdWxmaWxsIHdpdGggeyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVl
IH0gCiBQQVNTIHJlYWQoKSBzaG91bGQgd29yayB3aGVuIHVzZWQgd2l0aGluIGFub3RoZXIgcmVh
ZCgpIGZ1bGZpbGwgY2FsbGJhY2sgCiBQQVNTIGNsb3NlZCBzaG91bGQgZnVsZmlsbCB3aXRoIHVu
ZGVmaW5lZCAKLUZBSUwgcmVsZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBjbG9zZWQgdG8g
cmVqZWN0IGFuZCBjaGFuZ2UgaWRlbnRpdHkgYXNzZXJ0X25vdF9lcXVhbHM6IHRoZSBjbG9zZWQg
cHJvbWlzZSBzaG91bGQgY2hhbmdlIGlkZW50aXR5IGdvdCBkaXNhbGxvd2VkIHZhbHVlIG9iamVj
dCAiW29iamVjdCBQcm9taXNlXSIKK1BBU1MgcmVsZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVz
ZSBjbG9zZWQgdG8gcmVqZWN0IGFuZCBjaGFuZ2UgaWRlbnRpdHkgCiBQQVNTIGNhbmNlbCgpIHNo
b3VsZCByZXR1cm4gYSBkaXN0aW5jdCBmdWxmaWxsZWQgcHJvbWlzZSBlYWNoIHRpbWUgCiBQQVNT
IFJ1bm5pbmcgdGVtcGxhdGVkUlNDbG9zZWRSZWFkZXIgd2l0aCBSZWFkYWJsZVN0cmVhbSByZWFk
ZXIgKGNsb3NlZCBhZnRlciBnZXR0aW5nIHJlYWRlcikgCiBQQVNTIHJlYWQoKSBzaG91bGQgZnVs
ZmlsbCB3aXRoIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9IAogUEFTUyByZWFkKCkg
bXVsdGlwbGUgdGltZXMgc2hvdWxkIGZ1bGZpbGwgd2l0aCB7IHZhbHVlOiB1bmRlZmluZWQsIGRv
bmU6IHRydWUgfSAKIFBBU1MgcmVhZCgpIHNob3VsZCB3b3JrIHdoZW4gdXNlZCB3aXRoaW4gYW5v
dGhlciByZWFkKCkgZnVsZmlsbCBjYWxsYmFjayAKIFBBU1MgY2xvc2VkIHNob3VsZCBmdWxmaWxs
IHdpdGggdW5kZWZpbmVkIAotRkFJTCByZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNhdXNlIGNs
b3NlZCB0byByZWplY3QgYW5kIGNoYW5nZSBpZGVudGl0eSBhc3NlcnRfbm90X2VxdWFsczogdGhl
IGNsb3NlZCBwcm9taXNlIHNob3VsZCBjaGFuZ2UgaWRlbnRpdHkgZ290IGRpc2FsbG93ZWQgdmFs
dWUgb2JqZWN0ICJbb2JqZWN0IFByb21pc2VdIgorUEFTUyByZWxlYXNpbmcgdGhlIGxvY2sgc2hv
dWxkIGNhdXNlIGNsb3NlZCB0byByZWplY3QgYW5kIGNoYW5nZSBpZGVudGl0eSAKIFBBU1MgY2Fu
Y2VsKCkgc2hvdWxkIHJldHVybiBhIGRpc3RpbmN0IGZ1bGZpbGxlZCBwcm9taXNlIGVhY2ggdGlt
ZSAKIFBBU1MgUnVubmluZyB0ZW1wbGF0ZWRSU0Nsb3NlZCB3aXRoIFJlYWRhYmxlU3RyZWFtIChj
bG9zZWQgdmlhIGNhbmNlbCkgCiBQQVNTIGNhbmNlbCgpIHNob3VsZCByZXR1cm4gYSBkaXN0aW5j
dCBmdWxmaWxsZWQgcHJvbWlzZSBlYWNoIHRpbWUgCkBAIC00MywxMyArNDMsMTMgQEAgUEFTUyBn
ZXRSZWFkZXIoKSBzaG91bGQgYmUgT0sKIEZBSUwgcGlwaW5nIHRvIGEgV3JpdGFibGVTdHJlYW0g
aW4gdGhlIHdyaXRhYmxlIHN0YXRlIHNob3VsZCBjbG9zZSB0aGUgd3JpdGFibGUgc3RyZWFtIHBp
cGVUbyBpcyBub3QgaW1wbGVtZW50ZWQKIEZBSUwgcGlwaW5nIHRvIGEgV3JpdGFibGVTdHJlYW0g
aW4gdGhlIHdyaXRhYmxlIHN0YXRlIHdpdGggeyBwcmV2ZW50Q2xvc2U6IHRydWUgfSBzaG91bGQg
ZG8gbm90aGluZyBwaXBlVG8gaXMgbm90IGltcGxlbWVudGVkCiBQQVNTIHNob3VsZCBiZSBhYmxl
IHRvIGFjcXVpcmUgbXVsdGlwbGUgcmVhZGVycyBpZiB0aGV5IGFyZSByZWxlYXNlZCBpbiBzdWNj
ZXNzaW9uIAotRkFJTCBzaG91bGQgbm90IGJlIGFibGUgdG8gYWNxdWlyZSBhIHNlY29uZCByZWFk
ZXIgaWYgd2UgZG9uJ3QgcmVsZWFzZSB0aGUgZmlyc3Qgb25lIGFzc2VydF90aHJvd3M6IGdldHRp
bmcgYSBzZWNvbmQgcmVhZGVyIHNob3VsZCB0aHJvdyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBy
cy5nZXRSZWFkZXIoKTsgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBzaG91bGQgbm90IGJlIGFibGUg
dG8gYWNxdWlyZSBhIHNlY29uZCByZWFkZXIgaWYgd2UgZG9uJ3QgcmVsZWFzZSB0aGUgZmlyc3Qg
b25lIAogUEFTUyBSdW5uaW5nIHRlbXBsYXRlZFJTQ2xvc2VkUmVhZGVyIHdpdGggUmVhZGFibGVT
dHJlYW0gcmVhZGVyIChjbG9zZWQgdmlhIGNhbmNlbCBhZnRlciBnZXR0aW5nIHJlYWRlcikgCiBQ
QVNTIHJlYWQoKSBzaG91bGQgZnVsZmlsbCB3aXRoIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTog
dHJ1ZSB9IAogUEFTUyByZWFkKCkgbXVsdGlwbGUgdGltZXMgc2hvdWxkIGZ1bGZpbGwgd2l0aCB7
IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfSAKIFBBU1MgcmVhZCgpIHNob3VsZCB3b3Jr
IHdoZW4gdXNlZCB3aXRoaW4gYW5vdGhlciByZWFkKCkgZnVsZmlsbCBjYWxsYmFjayAKIFBBU1Mg
Y2xvc2VkIHNob3VsZCBmdWxmaWxsIHdpdGggdW5kZWZpbmVkIAotRkFJTCByZWxlYXNpbmcgdGhl
IGxvY2sgc2hvdWxkIGNhdXNlIGNsb3NlZCB0byByZWplY3QgYW5kIGNoYW5nZSBpZGVudGl0eSBh
c3NlcnRfbm90X2VxdWFsczogdGhlIGNsb3NlZCBwcm9taXNlIHNob3VsZCBjaGFuZ2UgaWRlbnRp
dHkgZ290IGRpc2FsbG93ZWQgdmFsdWUgb2JqZWN0ICJbb2JqZWN0IFByb21pc2VdIgorUEFTUyBy
ZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNhdXNlIGNsb3NlZCB0byByZWplY3QgYW5kIGNoYW5n
ZSBpZGVudGl0eSAKIFBBU1MgY2FuY2VsKCkgc2hvdWxkIHJldHVybiBhIGRpc3RpbmN0IGZ1bGZp
bGxlZCBwcm9taXNlIGVhY2ggdGltZSAKIFBBU1MgUnVubmluZyB0ZW1wbGF0ZWRSU0Vycm9yZWQg
d2l0aCBSZWFkYWJsZVN0cmVhbSAoZXJyb3JlZCB2aWEgY2FsbCBpbiBzdGFydCkgCiBGQUlMIHBp
cGluZyB0byBhIFdyaXRhYmxlU3RyZWFtIGluIHRoZSB3cml0YWJsZSBzdGF0ZSBzaG91bGQgYWJv
cnQgdGhlIHdyaXRhYmxlIHN0cmVhbSBwaXBlVG8gaXMgbm90IGltcGxlbWVudGVkCkBAIC01OCw3
ICs1OCw3IEBAIFBBU1MgcmVhZCgpIHR3aWNlIHNob3VsZCBnaXZlIHRoZSBlcnJvciBlYWNoIHRp
bWUKIFBBU1MgbG9ja2VkIHNob3VsZCBiZSBmYWxzZSAKIFBBU1MgUnVubmluZyB0ZW1wbGF0ZWRS
U0Vycm9yZWRTeW5jT25seSB3aXRoIFJlYWRhYmxlU3RyZWFtIChlcnJvcmVkIHZpYSBjYWxsIGlu
IHN0YXJ0KSAKIFBBU1Mgc2hvdWxkIGJlIGFibGUgdG8gb2J0YWluIGEgc2Vjb25kIHJlYWRlciwg
d2l0aCB0aGUgY29ycmVjdCBjbG9zZWQgcHJvbWlzZSAKLUZBSUwgc2hvdWxkIG5vdCBiZSBhYmxl
IHRvIG9idGFpbiBhZGRpdGlvbmFsIHJlYWRlcnMgaWYgd2UgZG9uJ3QgcmVsZWFzZSB0aGUgZmly
c3QgbG9jayBhc3NlcnRfdGhyb3dzOiBnZXR0aW5nIGEgc2Vjb25kIHJlYWRlciBzaG91bGQgdGhy
b3cgYSBUeXBlRXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgcnMuZ2V0UmVhZGVyKCk7IH0i
IGRpZCBub3QgdGhyb3cKK1BBU1Mgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIG9idGFpbiBhZGRpdGlv
bmFsIHJlYWRlcnMgaWYgd2UgZG9uJ3QgcmVsZWFzZSB0aGUgZmlyc3QgbG9jayAKIFBBU1MgY2Fu
Y2VsKCkgc2hvdWxkIHJldHVybiBhIGRpc3RpbmN0IHJlamVjdGVkIHByb21pc2UgZWFjaCB0aW1l
IAogUEFTUyByZWFkZXIgY2FuY2VsKCkgc2hvdWxkIHJldHVybiBhIGRpc3RpbmN0IHJlamVjdGVk
IHByb21pc2UgZWFjaCB0aW1lIAogUEFTUyBSdW5uaW5nIHRlbXBsYXRlZFJTRXJyb3JlZCB3aXRo
IFJlYWRhYmxlU3RyZWFtIChlcnJvcmVkIHZpYSByZXR1cm5pbmcgYSByZWplY3RlZCBwcm9taXNl
IGluIHN0YXJ0KSAKQEAgLTcyLDE1ICs3MiwxNSBAQCBGQUlMIHBpcGluZyB3aXRoIHsgcHJldmVu
dEFib3J0OiBmYWxzZSB9IHBpcGVUbyBpcyBub3QgaW1wbGVtZW50ZWQKIEZBSUwgcGlwaW5nIHdp
dGggeyBwcmV2ZW50QWJvcnQ6IHRydWUgfSBwaXBlVG8gaXMgbm90IGltcGxlbWVudGVkCiBQQVNT
IFJ1bm5pbmcgdGVtcGxhdGVkUlNFcnJvcmVkUmVhZGVyIHdpdGggUmVhZGFibGVTdHJlYW0gKGVy
cm9yZWQgdmlhIHJldHVybmluZyBhIHJlamVjdGVkIHByb21pc2UgaW4gc3RhcnQpIHJlYWRlciAK
IFBBU1MgY2xvc2VkIHNob3VsZCByZWplY3Qgd2l0aCB0aGUgZXJyb3IgCi1GQUlMIHJlbGVhc2lu
ZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgY2xvc2VkIHRvIHJlamVjdCBhbmQgY2hhbmdlIGlkZW50
aXR5IGFzc2VydF9ub3RfZXF1YWxzOiB0aGUgY2xvc2VkIHByb21pc2Ugc2hvdWxkIGNoYW5nZSBp
ZGVudGl0eSBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBvYmplY3QgIltvYmplY3QgUHJvbWlzZV0iCitQ
QVNTIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgY2xvc2VkIHRvIHJlamVjdCBhbmQg
Y2hhbmdlIGlkZW50aXR5IAogUEFTUyByZWFkKCkgc2hvdWxkIHJlamVjdCB3aXRoIHRoZSBlcnJv
ciAKIFBBU1MgUnVubmluZyB0ZW1wbGF0ZWRSU0Vycm9yZWRSZWFkZXIgd2l0aCBSZWFkYWJsZVN0
cmVhbSByZWFkZXIgKGVycm9yZWQgYmVmb3JlIGdldHRpbmcgcmVhZGVyKSAKIFBBU1MgY2xvc2Vk
IHNob3VsZCByZWplY3Qgd2l0aCB0aGUgZXJyb3IgCi1GQUlMIHJlbGVhc2luZyB0aGUgbG9jayBz
aG91bGQgY2F1c2UgY2xvc2VkIHRvIHJlamVjdCBhbmQgY2hhbmdlIGlkZW50aXR5IGFzc2VydF9u
b3RfZXF1YWxzOiB0aGUgY2xvc2VkIHByb21pc2Ugc2hvdWxkIGNoYW5nZSBpZGVudGl0eSBnb3Qg
ZGlzYWxsb3dlZCB2YWx1ZSBvYmplY3QgIltvYmplY3QgUHJvbWlzZV0iCitQQVNTIHJlbGVhc2lu
ZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgY2xvc2VkIHRvIHJlamVjdCBhbmQgY2hhbmdlIGlkZW50
aXR5IAogUEFTUyByZWFkKCkgc2hvdWxkIHJlamVjdCB3aXRoIHRoZSBlcnJvciAKIFBBU1MgUnVu
bmluZyB0ZW1wbGF0ZWRSU0Vycm9yZWRSZWFkZXIgd2l0aCBSZWFkYWJsZVN0cmVhbSByZWFkZXIg
KGVycm9yZWQgYWZ0ZXIgZ2V0dGluZyByZWFkZXIpIAogUEFTUyBjbG9zZWQgc2hvdWxkIHJlamVj
dCB3aXRoIHRoZSBlcnJvciAKLUZBSUwgcmVsZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBj
bG9zZWQgdG8gcmVqZWN0IGFuZCBjaGFuZ2UgaWRlbnRpdHkgYXNzZXJ0X25vdF9lcXVhbHM6IHRo
ZSBjbG9zZWQgcHJvbWlzZSBzaG91bGQgY2hhbmdlIGlkZW50aXR5IGdvdCBkaXNhbGxvd2VkIHZh
bHVlIG9iamVjdCAiW29iamVjdCBQcm9taXNlXSIKK1BBU1MgcmVsZWFzaW5nIHRoZSBsb2NrIHNo
b3VsZCBjYXVzZSBjbG9zZWQgdG8gcmVqZWN0IGFuZCBjaGFuZ2UgaWRlbnRpdHkgCiBQQVNTIHJl
YWQoKSBzaG91bGQgcmVqZWN0IHdpdGggdGhlIGVycm9yIAogUEFTUyBSdW5uaW5nIHRlbXBsYXRl
ZFJTVHdvQ2h1bmtzT3BlblJlYWRlciB3aXRoIFJlYWRhYmxlU3RyZWFtICh0d28gY2h1bmtzIGVu
cXVldWVkLCBzdGlsbCBvcGVuKSByZWFkZXIgCiBQQVNTIGNhbGxpbmcgcmVhZCgpIHR3aWNlIHdp
dGhvdXQgd2FpdGluZyB3aWxsIGV2ZW50dWFsbHkgZ2l2ZSBib3RoIGNodW5rcyAKQEAgLTExMSw4
ICsxMTEsOCBAQCBGQUlMIHBpcGluZyB3aXRoIHsgcHJldmVudENsb3NlOiB0cnVlIH0gYW5kIGEg
ZGVzdGluYXRpb24gdGhhdCBlcnJvcnMgb24gdGhlIGxhcwogUEFTUyBSdW5uaW5nIHRlbXBsYXRl
ZFJTVHdvQ2h1bmtzQ2xvc2VkUmVhZGVyIHdpdGggUmVhZGFibGVTdHJlYW0gKHR3byBjaHVua3Mg
ZW5xdWV1ZWQsIHRoZW4gY2xvc2VkKSByZWFkZXIgCiBQQVNTIHRoaXJkIHJlYWQoKSwgd2l0aG91
dCB3YWl0aW5nLCBzaG91bGQgZ2l2ZSB7IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfSAK
IFBBU1MgdGhpcmQgcmVhZCwgd2l0aCB3YWl0aW5nLCBzaG91bGQgZ2l2ZSB7IHZhbHVlOiB1bmRl
ZmluZWQsIGRvbmU6IHRydWUgfSAKLUZBSUwgZHJhaW5pbmcgdGhlIHN0cmVhbSB2aWEgcmVhZCgp
IHNob3VsZCBjYXVzZSB0aGUgcmVhZGVyIGNsb3NlZCBwcm9taXNlIHRvIGZ1bGZpbGwsIGJ1dCBs
b2NrZWQgc3RheXMgdHJ1ZSBhc3NlcnRfdHJ1ZTogc3RyZWFtIHNob3VsZCByZW1haW4gbG9ja2Vk
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIHJlbGVhc2luZyB0aGUgbG9jayBhZnRlciB0
aGUgc3RyZWFtIGlzIGNsb3NlZCBzaG91bGQgY2F1c2UgbG9ja2VkIHRvIGJlY29tZSBmYWxzZSBh
c3NlcnRfdHJ1ZTogdGhlIHN0cmVhbSBzaG91bGQgc3RhcnQgbG9ja2VkIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCi1USU1FT1VUIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgZnVydGhl
ciByZWFkKCkgY2FsbHMgdG8gcmVqZWN0IHdpdGggYSBUeXBlRXJyb3IgVGVzdCB0aW1lZCBvdXQK
K1BBU1MgZHJhaW5pbmcgdGhlIHN0cmVhbSB2aWEgcmVhZCgpIHNob3VsZCBjYXVzZSB0aGUgcmVh
ZGVyIGNsb3NlZCBwcm9taXNlIHRvIGZ1bGZpbGwsIGJ1dCBsb2NrZWQgc3RheXMgdHJ1ZSAKK1BB
U1MgcmVsZWFzaW5nIHRoZSBsb2NrIGFmdGVyIHRoZSBzdHJlYW0gaXMgY2xvc2VkIHNob3VsZCBj
YXVzZSBsb2NrZWQgdG8gYmVjb21lIGZhbHNlIAorUEFTUyByZWxlYXNpbmcgdGhlIGxvY2sgc2hv
dWxkIGNhdXNlIGZ1cnRoZXIgcmVhZCgpIGNhbGxzIHRvIHJlamVjdCB3aXRoIGEgVHlwZUVycm9y
IAogUEFTUyByZWFkZXIncyBjbG9zZWQgcHJvcGVydHkgYWx3YXlzIHJldHVybnMgdGhlIHNhbWUg
cHJvbWlzZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1w
bGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXRlbXBsYXRlZC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXRlbXBsYXRl
ZC5odG1sCmluZGV4IGI1YzcxYTgxZTIwMTc5YmU2Njc2YjZjZDk0MjZmZjQ1MDZjYzQ3MjEuLjdj
MjBkMDlmMzA5NzRiMGYwMGZkYTJkNTE3NGE0YzA2OGIwOWZhYjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10
ZW1wbGF0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1l
bnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLmh0bWwKQEAgLTYzMCw3ICs2MzAsNyBA
QCBmdW5jdGlvbiB0ZW1wbGF0ZWRSU0VtcHR5UmVhZGVyKGxhYmVsLCBmYWN0b3J5KSB7CiAgICAg
ICAgIHNldFRpbWVvdXQodGVzdDMuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeyB0ZXN0My5kb25lKCk7
IH0pLCAxMDAwKTsKICAgICB9KTsKIAotICAgIHZhciB0ZXN0NCA9IGFzeW5jX3Rlc3QoJ3JlbGVh
c2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgZnVydGhlciByZWFkKCkgY2FsbHMgdG8gcmVqZWN0
IHdpdGggYSBUeXBlRXJyb3InLCB7IHRpbWVvdXQ6IDUwIH0pOworICAgIHZhciB0ZXN0NCA9IGFz
eW5jX3Rlc3QoJ3JlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgZnVydGhlciByZWFkKCkg
Y2FsbHMgdG8gcmVqZWN0IHdpdGggYSBUeXBlRXJyb3InKTsKICAgICB0ZXN0NC5zdGVwKGZ1bmN0
aW9uKCkgewogICAgICAgICB2YXIgcHJvbWlzZUNhbGxzID0gMDsKICAgICAgICAgdmFyIHsgcmVh
ZGVyIH0gPSBmYWN0b3J5KCk7CkBAIC02NDgsNyArNjQ4LDcgQEAgZnVuY3Rpb24gdGVtcGxhdGVk
UlNFbXB0eVJlYWRlcihsYWJlbCwgZmFjdG9yeSkgewogICAgICAgICB9KSk7CiAgICAgfSk7CiAK
LSAgICB2YXIgdGVzdDUgPSBhc3luY190ZXN0KCdyZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNh
dXNlIGNsb3NlZCB0byByZWplY3QnLCB7IHRpbWVvdXQ6IDUwIH0pOworICAgIHZhciB0ZXN0NSA9
IGFzeW5jX3Rlc3QoJ3JlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgY2xvc2VkIHRvIHJl
amVjdCcpOwogICAgIHRlc3Q1LnN0ZXAoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciB7IHJlYWRl
ciB9ID0gZmFjdG9yeSgpOwogCkBAIC05OTQsNyArOTk0LDcgQEAgZnVuY3Rpb24gdGVtcGxhdGVk
UlNUd29DaHVua3NDbG9zZWRSZWFkZXIobGFiZWwsIGZhY3RvcnksIGNodW5rcykgewogICAgICAg
ICByZWFkZXIucmVhZCgpOwogICAgIH0pOwogCi0gICAgdmFyIHRlc3Q1ID0gYXN5bmNfdGVzdCgn
cmVsZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBmdXJ0aGVyIHJlYWQoKSBjYWxscyB0byBy
ZWplY3Qgd2l0aCBhIFR5cGVFcnJvcicsIHsgdGltZW91dDogNTB9KTsKKyAgICB2YXIgdGVzdDUg
PSBhc3luY190ZXN0KCdyZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNhdXNlIGZ1cnRoZXIgcmVh
ZCgpIGNhbGxzIHRvIHJlamVjdCB3aXRoIGEgVHlwZUVycm9yJyk7CiAgICAgdGVzdDUuc3RlcChm
dW5jdGlvbigpIHsKICAgICAgICAgdmFyIHByb21pc2VDYWxscyA9IDA7CiAgICAgICAgIHZhciB7
IHJlYWRlciB9ID0gZmFjdG9yeSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265576</attachid>
            <date>2015-11-16 01:26:05 -0800</date>
            <delta_ts>2015-11-16 02:21:40 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-151195-20151116102555.patch</filename>
            <type>text/plain</type>
            <size>26341</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyNDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk0NmIyNTljMzk2MDA1
NTZlOGM5ZjBlMWEyMzJlMWRjMTFhZjBmZS4uZWU0MTQ4ZDIzMzEzMThlMjFmNzNhMjIyN2NjY2Ux
NzYxMjcyMWIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTExLTEyICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1N0
cmVhbXMgQVBJXSBVcGRhdGUgdGhlIGltcGxlbWVudGF0aW9uIHVwIHRvIHNwZWMgb2YgTm92IDEx
IDIwMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
MTE5NQorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgVXBk
YXRlZCB0aGUgaW1wbGVtZW50YXRpb24gb2YgUmVhZGFibGUgYW5kIFdyaXRhYmxlIFN0cmVhbXMg
dG8gdGhlIGxhdGVzdCBjaGFuZ2VzIGluIHRoZSBzcGVjLiBNYWluIGNoYW5nZXMgYXJlCisgICAg
ICAgIHRoZSByZW1vdmFsIG9mIHRoZSBlcnJvciBhbmQgdGhlIHN0YXRlIGZyb20gdGhlIHJlYWRl
ciwgcmVhZGVycyBhcmUgbm90IGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQgYW5kIHRoZW4gbWlub3Ig
b3IKKyAgICAgICAgc3R5bGUgY2hhbmdlcy4KKworICAgICAgICBJbXBsZW1lbnRhdGlvbiBpcyB1
cCB0byBkYXRlIHdpdGggdmVyc2lvbgorICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdn
L3N0cmVhbXMvY29tbWl0LzQ4YzhhM2MzMGVhN2U3NmM1ZTRlYjlmMTU3YTQzOGRkNzU1YmNjOGUu
CisKKyAgICAgICAgVGVzdHM6IHN0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRh
YmxlLXN0cmVhbS10ZW1wbGF0ZWQuaHRtbAorICAgICAgICAgICAgICAgc3RyZWFtcy9yZWZlcmVu
Y2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXJlYWRlci5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanM6CisgICAgICAgIChnZXRSZWFkZXIp
OiBSZW1vdmVkIGNoZWNrIGZvciBsb2NrZWQgc3RyZWFtLgorICAgICAgICAqIE1vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qczoKKyAgICAgICAgKHByaXZhdGVJbml0aWFs
aXplUmVhZGFibGVTdHJlYW1SZWFkZXIpOiBSZW1vdmVkIHNldHRpbmcgQGVycm9yIGFuZCBAc3Rh
dGUgYW5kIGluaXRpYWxpemVkIG93bmVyIGFuZCBvd25lcidzCisgICAgICAgIHJlYWRlciBhcyBw
ZXIgc3BlYy4KKyAgICAgICAgKHRlZVJlYWRhYmxlU3RyZWFtUHVsbEZ1bmN0aW9uKTogQWRkZWQg
YXNzZXJ0aW9ucy4KKyAgICAgICAgKGlzUmVhZGFibGVTdHJlYW1SZWFkZXIpOiBBZGRlZCBjb21t
ZW50IGFib3V0IHJlc2V0dGluZyB0aGUgcmVhZGVyIG93bmVyIHRvIG51bGwgaW5zdGVhZCBvZiB1
bmRlZmluZWQgYXMgYSBtZWFucworICAgICAgICB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIG5vdCBo
YXZpbmcgdGhlIHNsb3QgYW5kIGhhdmluZyBpdCB1bnNldC4KKyAgICAgICAgKGZpbmlzaENsb3Np
bmdSZWFkYWJsZVN0cmVhbSk6IElubGluZSBAY2xvc2VSZWFkYWJsZVN0cmVhbVJlYWRlciBhcyBp
dCBpcyB1c2VkIG9ubHkgaGVyZSBub3cuCisgICAgICAgIChyZWFkRnJvbVJlYWRhYmxlU3RyZWFt
UmVhZGVyKTogUmV3b3JrZWQgdGhlIHN0YXRlIGFuZCBlcnJvciB0byB1c2UgdGhlIHN0cmVhbSBv
bmUgYW5kIGNoYW5nZWQgdGhlIGNvbmRpdGlvbnMgdG8KKyAgICAgICAgcHVsbCBhZ2FpbiBhcyBw
ZXIgc3BlYy4KKyAgICAgICAgKGVycm9yUmVhZGFibGVTdHJlYW0pOiBOb3QgcmVsZWFzaW5nIHRo
ZSByZWFkZXIgYW5kIHJlbW92ZWQgdGhlIHJlYWRlciBlcnJvciBhbmQgc3RhdGUgbWFuYWdlbWVu
dC4KKyAgICAgICAgKHJlbGVhc2VSZWFkYWJsZVN0cmVhbVJlYWRlcik6IERlbGV0ZWQuCisgICAg
ICAgIChjbG9zZVJlYWRhYmxlU3RyZWFtUmVhZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1SZWFkZXIuanM6CisgICAgICAgIChjYW5jZWwpOiBS
ZW1vdmVkIHNvbWUgY2hlY2tzIGFuZCBhc3NlcnRpb25zIGFzIHBlciBzcGVjLgorICAgICAgICAo
cmVhZCk6IEFkZGVkIGNoZWNrIGZvciBvd25lci4KKyAgICAgICAgKHJlbGVhc2VMb2NrKTogTm8g
Y2xvc2luZyB0aGUgcmVhZGVyIGFuZCByZWplY3RpbmcgY2xvc2UgcHJvbWlzZSBhbmQgdW5saW5r
aW5nIHJlYWRlciBhbmQgb3duZXIgaW5zdGVhZC4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMv
V3JpdGFibGVTdHJlYW0uanM6CisgICAgICAgIChhYm9ydCk6IFN0eWxlIGNoYW5nZS4KKyAgICAg
ICAgKiBNb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAg
ICh3cml0YWJsZVN0cmVhbUFkdmFuY2VRdWV1ZSk6CisgICAgICAgIChjbG9zZVdyaXRhYmxlU3Ry
ZWFtKTogVXNlZCBAY2FsbCBpbnN0ZWFkIG9mIEBhcHBseS4KKwogMjAxNS0xMS0xNSAgQWRhbSBC
ZXJna3Zpc3QgIDxhZGFtLmJlcmdrdmlzdEBlcmljc3Nvbi5jb20+CiAKICAgICAgICAgV2ViUlRD
OiBVcGRhdGUgUlRDUGVlckNvbm5lY3Rpb24gQVBJIGFuZCBpbnRyb2R1Y2UgUGVlckNvbm5lY3Rp
b25CYWNrZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW0uanMKaW5kZXggYzExMGY2MmU4M2FmMjg5YThhMDQwZGU3MmIzY2VmZGNhYzE5YmQ3NC4u
NDYxMWVlMTNhNzI5MjA4YjA0MGU2MGQzMTg2OWI5ODhlZWQ4OGQyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwpAQCAtODcsOSArODcs
NiBAQCBmdW5jdGlvbiBnZXRSZWFkZXIoKQogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW0odGhp
cykpCiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBzaG91bGQgYmUgY2Fs
bGVkIG9uIGEgUmVhZGFibGVTdHJlYW0iKTsKIAotICAgIGlmIChAaXNSZWFkYWJsZVN0cmVhbUxv
Y2tlZCh0aGlzKSkKLSAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFt
IGlzIGxvY2tlZCIpOwotCiAgICAgcmV0dXJuIG5ldyBAUmVhZGFibGVTdHJlYW1SZWFkZXIodGhp
cyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwppbmRleCBkNTkxYzgyYzQ4Njg0MmE4NmI2OGM0YzU0
NzYyOTZiNjUzZTIzNjNhLi4zMzJhZDllNGNjNjQwYjMwZWU4OGQ3Y2ZlNTAyZjA5MDRkYjNlZTU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0zNiwyNCArMzYsMTggQEAgZnVuY3Rpb24gcHJpdmF0
ZUluaXRpYWxpemVSZWFkYWJsZVN0cmVhbVJlYWRlcihzdHJlYW0pCiAgICAgaWYgKEBpc1JlYWRh
YmxlU3RyZWFtTG9ja2VkKHN0cmVhbSkpCiAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIlJl
YWRhYmxlU3RyZWFtIGlzIGxvY2tlZCIpOwogCi0gICAgdGhpcy5Ac3RhdGUgPSBzdHJlYW0uQHN0
YXRlOwogICAgIHRoaXMuQHJlYWRSZXF1ZXN0cyA9IFtdOworICAgIHRoaXMuQG93bmVyUmVhZGFi
bGVTdHJlYW0gPSBzdHJlYW07CisgICAgc3RyZWFtLkByZWFkZXIgPSB0aGlzOwogICAgIGlmIChz
dHJlYW0uQHN0YXRlID09PSBAc3RyZWFtUmVhZGFibGUpIHsKLSAgICAgICAgdGhpcy5Ab3duZXJS
ZWFkYWJsZVN0cmVhbSA9IHN0cmVhbTsKLSAgICAgICAgdGhpcy5Ac3RvcmVkRXJyb3IgPSB1bmRl
ZmluZWQ7Ci0gICAgICAgIHN0cmVhbS5AcmVhZGVyID0gdGhpczsKICAgICAgICAgdGhpcy5AY2xv
c2VkUHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoQFByb21pc2UpOwog
ICAgICAgICByZXR1cm4gdGhpczsKICAgICB9CiAgICAgaWYgKHN0cmVhbS5Ac3RhdGUgPT09IEBz
dHJlYW1DbG9zZWQpIHsKLSAgICAgICAgdGhpcy5Ab3duZXJSZWFkYWJsZVN0cmVhbSA9IG51bGw7
Ci0gICAgICAgIHRoaXMuQHN0b3JlZEVycm9yID0gdW5kZWZpbmVkOwogICAgICAgICB0aGlzLkBj
bG9zZWRQcm9taXNlQ2FwYWJpbGl0eSA9IHsgQHByb21pc2U6IEBQcm9taXNlLkByZXNvbHZlKCkg
fTsKICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgfQogICAgIEBhc3NlcnQoc3RyZWFtLkBzdGF0
ZSA9PT0gQHN0cmVhbUVycm9yZWQpOwotICAgIHRoaXMuQG93bmVyUmVhZGFibGVTdHJlYW0gPSBu
dWxsOwotICAgIHRoaXMuQHN0b3JlZEVycm9yID0gc3RyZWFtLkBzdG9yZWRFcnJvcjsKICAgICB0
aGlzLkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0eSA9IHsgQHByb21pc2U6IEBQcm9taXNlLkByZWpl
Y3Qoc3RyZWFtLkBzdG9yZWRFcnJvcikgfTsKIAogICAgIHJldHVybiB0aGlzOwpAQCAtMTIzLDYg
KzExNyw4IEBAIGZ1bmN0aW9uIHRlZVJlYWRhYmxlU3RyZWFtUHVsbEZ1bmN0aW9uKHRlZVN0YXRl
LCByZWFkZXIsIHNob3VsZENsb25lKQogCiAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAg
ICBAUHJvbWlzZS5wcm90b3R5cGUuQHRoZW4uQGNhbGwocmVhZGVyLnJlYWQoKSwgZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgICAgICAgICBAYXNzZXJ0KEBpc09iamVjdChyZXN1bHQpKTsKKyAgICAg
ICAgICAgIEBhc3NlcnQodHlwZW9mIHJlc3VsdC5kb25lID09PSAiYm9vbGVhbiIpOwogICAgICAg
ICAgICAgaWYgKHJlc3VsdC5kb25lICYmICF0ZWVTdGF0ZS5jbG9zZWRPckVycm9yZWQpIHsKICAg
ICAgICAgICAgICAgICBAY2xvc2VSZWFkYWJsZVN0cmVhbSh0ZWVTdGF0ZS5icmFuY2gxKTsKICAg
ICAgICAgICAgICAgICBAY2xvc2VSZWFkYWJsZVN0cmVhbSh0ZWVTdGF0ZS5icmFuY2gyKTsKQEAg
LTE4NSw2ICsxODEsOCBAQCBmdW5jdGlvbiBpc1JlYWRhYmxlU3RyZWFtUmVhZGVyKHJlYWRlcikK
IHsKICAgICAidXNlIHN0cmljdCI7CiAKKyAgICAvLyBUbyByZXNldCBAb3duZXJSZWFkYWJsZVN0
cmVhbSBpdCBtdXN0IGJlIHNldCB0byBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkIGJlY2F1c2Ug
dGhlcmUgaXMgbm8gd2F5IHRvIGRpc3Rpbmd1aXNoCisgICAgLy8gYmV0d2VlbiBhIG5vbi1leGlz
dGVudCBzbG90IGFuZCBhbiBzbG90IHNldCB0byB1bmRlZmluZWQuCiAgICAgcmV0dXJuIEBpc09i
amVjdChyZWFkZXIpICYmIHR5cGVvZiByZWFkZXIuQG93bmVyUmVhZGFibGVTdHJlYW0gIT09ICJ1
bmRlZmluZWQiOwogfQogCkBAIC0yMTMsMTAgKzIxMSw2IEBAIGZ1bmN0aW9uIGVycm9yUmVhZGFi
bGVTdHJlYW0oc3RyZWFtLCBlcnJvcikKICAgICAgICAgcmVxdWVzdHNbaW5kZXhdLkByZWplY3Qu
QGNhbGwodW5kZWZpbmVkLCBlcnJvcik7CiAgICAgcmVhZGVyLkByZWFkUmVxdWVzdHMgPSBbXTsK
IAotICAgIEByZWxlYXNlUmVhZGFibGVTdHJlYW1SZWFkZXIocmVhZGVyKTsKLSAgICByZWFkZXIu
QHN0b3JlZEVycm9yID0gZXJyb3I7Ci0gICAgcmVhZGVyLkBzdGF0ZSA9IEBzdHJlYW1FcnJvcmVk
OwotCiAgICAgcmVhZGVyLkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0eS5AcmVqZWN0LkBjYWxsKHVu
ZGVmaW5lZCwgZXJyb3IpOwogfQogCkBAIC0yMjQsNyArMjE4LDcgQEAgZnVuY3Rpb24gcmVxdWVz
dFJlYWRhYmxlU3RyZWFtUHVsbChzdHJlYW0pCiB7CiAgICAgInVzZSBzdHJpY3QiOwogCi0gICAg
aWYgKHN0cmVhbS5Ac3RhdGUgIT09IEBzdHJlYW1SZWFkYWJsZSkKKyAgICBpZiAoc3RyZWFtLkBz
dGF0ZSA9PT0gQHN0cmVhbUNsb3NlZCB8fCBzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtRXJyb3Jl
ZCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChzdHJlYW0uQGNsb3NlUmVxdWVzdGVkKQogICAg
ICAgICByZXR1cm47CkBAIC0yNTcsNiArMjUxLDcgQEAgZnVuY3Rpb24gaXNSZWFkYWJsZVN0cmVh
bUxvY2tlZChzdHJlYW0pCiB7CiAgICAidXNlIHN0cmljdCI7CiAKKyAgICBAYXNzZXJ0KEBpc1Jl
YWRhYmxlU3RyZWFtKHN0cmVhbSkpOwogICAgIHJldHVybiAhIXN0cmVhbS5AcmVhZGVyOwogfQog
CkBAIC0yNjcsMTQgKzI2Miw2IEBAIGZ1bmN0aW9uIGdldFJlYWRhYmxlU3RyZWFtRGVzaXJlZFNp
emUoc3RyZWFtKQogICAgcmV0dXJuIHN0cmVhbS5Ac3RyYXRlZ3kuaGlnaFdhdGVyTWFyayAtIHN0
cmVhbS5AcXVldWUuc2l6ZTsKIH0KIAotZnVuY3Rpb24gcmVsZWFzZVJlYWRhYmxlU3RyZWFtUmVh
ZGVyKHJlYWRlcikKLXsKLSAgICAidXNlIHN0cmljdCI7Ci0KLSAgICByZWFkZXIuQG93bmVyUmVh
ZGFibGVTdHJlYW0uQHJlYWRlciA9IHVuZGVmaW5lZDsKLSAgICByZWFkZXIuQG93bmVyUmVhZGFi
bGVTdHJlYW0gPSBudWxsOwotfQotCiBmdW5jdGlvbiBjYW5jZWxSZWFkYWJsZVN0cmVhbShzdHJl
YW0sIHJlYXNvbikKIHsKICAgICAidXNlIHN0cmljdCI7CkBAIC0yOTUsOCArMjgyLDE0IEBAIGZ1
bmN0aW9uIGZpbmlzaENsb3NpbmdSZWFkYWJsZVN0cmVhbShzdHJlYW0pCiAgICAgQGFzc2VydChz
dHJlYW0uQHN0YXRlID09PSAgQHN0cmVhbVJlYWRhYmxlKTsKICAgICBzdHJlYW0uQHN0YXRlID0g
QHN0cmVhbUNsb3NlZDsKICAgICBjb25zdCByZWFkZXIgPSBzdHJlYW0uQHJlYWRlcjsKLSAgICBp
ZiAocmVhZGVyKQotICAgICAgICBAY2xvc2VSZWFkYWJsZVN0cmVhbVJlYWRlcihyZWFkZXIpOwor
ICAgIGlmICghcmVhZGVyKQorICAgICAgICByZXR1cm47CisKKyAgICBjb25zdCByZXF1ZXN0cyA9
IHJlYWRlci5AcmVhZFJlcXVlc3RzOworICAgIGZvciAobGV0IGluZGV4ID0gMCwgbGVuZ3RoID0g
cmVxdWVzdHMubGVuZ3RoOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkKKyAgICAgICAgcmVxdWVz
dHNbaW5kZXhdLkByZXNvbHZlLkBjYWxsKHVuZGVmaW5lZCwge3ZhbHVlOnVuZGVmaW5lZCwgZG9u
ZTogdHJ1ZX0pOworICAgIHJlYWRlci5AcmVhZFJlcXVlc3RzID0gW107CisgICAgcmVhZGVyLkBj
bG9zZWRQcm9taXNlQ2FwYWJpbGl0eS5AcmVzb2x2ZS5AY2FsbCgpOwogfQogCiBmdW5jdGlvbiBj
bG9zZVJlYWRhYmxlU3RyZWFtKHN0cmVhbSkKQEAgLTMxMiwxOSArMzA1LDYgQEAgZnVuY3Rpb24g
Y2xvc2VSZWFkYWJsZVN0cmVhbShzdHJlYW0pCiAgICAgICAgIEBmaW5pc2hDbG9zaW5nUmVhZGFi
bGVTdHJlYW0oc3RyZWFtKTsKIH0KIAotZnVuY3Rpb24gY2xvc2VSZWFkYWJsZVN0cmVhbVJlYWRl
cihyZWFkZXIpCi17Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAgY29uc3QgcmVxdWVzdHMgPSBy
ZWFkZXIuQHJlYWRSZXF1ZXN0czsKLSAgICBmb3IgKGxldCBpbmRleCA9IDAsIGxlbmd0aCA9IHJl
cXVlc3RzLmxlbmd0aDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpCi0gICAgICAgIHJlcXVlc3Rz
W2luZGV4XS5AcmVzb2x2ZS5AY2FsbCh1bmRlZmluZWQsIHt2YWx1ZTp1bmRlZmluZWQsIGRvbmU6
IHRydWV9KTsKLSAgICByZWFkZXIuQHJlYWRSZXF1ZXN0cyA9IFtdOwotICAgIEByZWxlYXNlUmVh
ZGFibGVTdHJlYW1SZWFkZXIocmVhZGVyKTsKLSAgICByZWFkZXIuQHN0YXRlID0gQHN0cmVhbUNs
b3NlZDsKLSAgICByZWFkZXIuQGNsb3NlZFByb21pc2VDYXBhYmlsaXR5LkByZXNvbHZlLkBjYWxs
KCk7Ci19Ci0KIGZ1bmN0aW9uIGVucXVldWVJblJlYWRhYmxlU3RyZWFtKHN0cmVhbSwgY2h1bmsp
CiB7CiAgICAgInVzZSBzdHJpY3QiOwpAQCAtMzU4LDE5ICszMzgsMTkgQEAgZnVuY3Rpb24gcmVh
ZEZyb21SZWFkYWJsZVN0cmVhbVJlYWRlcihyZWFkZXIpCiB7CiAgICAgInVzZSBzdHJpY3QiOwog
Ci0gICAgaWYgKHJlYWRlci5Ac3RhdGUgPT09IEBzdHJlYW1DbG9zZWQpCi0gICAgICAgIHJldHVy
biBAUHJvbWlzZS5AcmVzb2x2ZSh7dmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZX0pOwotICAg
IGlmIChyZWFkZXIuQHN0YXRlID09PSBAc3RyZWFtRXJyb3JlZCkKLSAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZWplY3QocmVhZGVyLkBzdG9yZWRFcnJvcik7Ci0gICAgQGFzc2VydCghIXJlYWRl
ci5Ab3duZXJSZWFkYWJsZVN0cmVhbSk7Ci0gICAgQGFzc2VydChyZWFkZXIuQG93bmVyUmVhZGFi
bGVTdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtUmVhZGFibGUpOwogICAgIGNvbnN0IHN0cmVhbSA9
IHJlYWRlci5Ab3duZXJSZWFkYWJsZVN0cmVhbTsKKyAgICBAYXNzZXJ0KCEhc3RyZWFtKTsKKyAg
ICBpZiAoc3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NlZCkKKyAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZXNvbHZlKHt2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlfSk7CisgICAgaWYg
KHN0cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1FcnJvcmVkKQorICAgICAgICByZXR1cm4gQFByb21p
c2UuQHJlamVjdChzdHJlYW0uQHN0b3JlZEVycm9yKTsKKyAgICBAYXNzZXJ0KHN0cmVhbS5Ac3Rh
dGUgPT09IEBzdHJlYW1SZWFkYWJsZSk7CiAgICAgaWYgKHN0cmVhbS5AcXVldWUuY29udGVudC5s
ZW5ndGgpIHsKICAgICAgICAgY29uc3QgY2h1bmsgPSBAZGVxdWV1ZVZhbHVlKHN0cmVhbS5AcXVl
dWUpOwotICAgICAgICBpZiAoIXN0cmVhbS5AY2xvc2VSZXF1ZXN0ZWQpCi0gICAgICAgICAgICBA
cmVxdWVzdFJlYWRhYmxlU3RyZWFtUHVsbChzdHJlYW0pOwotICAgICAgICBlbHNlIGlmICghc3Ry
ZWFtLkBxdWV1ZS5jb250ZW50Lmxlbmd0aCkKKyAgICAgICAgaWYgKHN0cmVhbS5AY2xvc2VSZXF1
ZXN0ZWQgJiYgc3RyZWFtLkBxdWV1ZS5jb250ZW50Lmxlbmd0aCA9PT0gMCkKICAgICAgICAgICAg
IEBmaW5pc2hDbG9zaW5nUmVhZGFibGVTdHJlYW0oc3RyZWFtKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgQHJlcXVlc3RSZWFkYWJsZVN0cmVhbVB1bGwoc3RyZWFtKTsKICAgICAgICAgcmV0
dXJuIEBQcm9taXNlLkByZXNvbHZlKHt2YWx1ZTogY2h1bmssIGRvbmU6IGZhbHNlfSk7CiAgICAg
fQogICAgIGNvbnN0IHJlYWRQcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0
eShAUHJvbWlzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW1SZWFkZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW1SZWFkZXIuanMKaW5kZXggN2E4ZTYzZTI0OTFjYmIwMDE0MDFiNzJhMGQ4
MmMwYWU2YTA0NjMyZS4uNTg0NmZmYjgyNmMwNjc0MjA0MTc1OTk5NDkzNGM3YTE0MTE1M2E5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
UmVhZGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbVJlYWRlci5qcwpAQCAtMzIsMTQgKzMyLDkgQEAgZnVuY3Rpb24gY2FuY2VsKHJlYXNvbikK
ICAgICBpZiAoIUBpc1JlYWRhYmxlU3RyZWFtUmVhZGVyKHRoaXMpKQogICAgICAgICByZXR1cm4g
QFByb21pc2UuQHJlamVjdChuZXcgQFR5cGVFcnJvcigiRnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxl
ZCBvbiBhIFJlYWRhYmxlU3RyZWFtUmVhZGVyIikpOwogCi0gICAgaWYgKHRoaXMuQHN0YXRlID09
PSBAc3RyZWFtQ2xvc2VkKQotICAgICAgICByZXR1cm4gQFByb21pc2UuQHJlc29sdmUoKTsKLQot
ICAgIGlmICh0aGlzLkBzdGF0ZSA9PT0gQHN0cmVhbUVycm9yZWQpCi0gICAgICAgIHJldHVybiBA
UHJvbWlzZS5AcmVqZWN0KHRoaXMuQHN0b3JlZEVycm9yKTsKKyAgICBpZiAoIXRoaXMuQG93bmVy
UmVhZGFibGVTdHJlYW0pCisgICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVqZWN0KG5ldyBAVHlw
ZUVycm9yKCJjYW5jZWwoKSBjYWxsZWQgb24gYSByZWFkZXIgb3duZWQgYnkgbm8gcmVhZGFibGUg
c3RyZWFtIikpOwogCi0gICAgQGFzc2VydChAaXNSZWFkYWJsZVN0cmVhbSh0aGlzLkBvd25lclJl
YWRhYmxlU3RyZWFtKSk7Ci0gICAgQGFzc2VydCh0aGlzLkBvd25lclJlYWRhYmxlU3RyZWFtLkBz
dGF0ZSA9PT0gQHN0cmVhbVJlYWRhYmxlKTsKICAgICByZXR1cm4gQGNhbmNlbFJlYWRhYmxlU3Ry
ZWFtKHRoaXMuQG93bmVyUmVhZGFibGVTdHJlYW0sIHJlYXNvbik7CiB9CiAKQEAgLTQ5LDYgKzQ0
LDggQEAgZnVuY3Rpb24gcmVhZCgpCiAKICAgICBpZiAoIUBpc1JlYWRhYmxlU3RyZWFtUmVhZGVy
KHRoaXMpKQogICAgICAgICByZXR1cm4gQFByb21pc2UuQHJlamVjdChuZXcgQFR5cGVFcnJvcigi
RnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbiBhIFJlYWRhYmxlU3RyZWFtUmVhZGVyIikpOwor
ICAgIGlmICghdGhpcy5Ab3duZXJSZWFkYWJsZVN0cmVhbSkKKyAgICAgICAgcmV0dXJuIEBQcm9t
aXNlLkByZWplY3QobmV3IEBUeXBlRXJyb3IoInJlYWQoKSBjYWxsZWQgb24gYSByZWFkZXIgb3du
ZWQgYnkgbm8gcmVhZGFibGUgc3RyZWFtIikpOwogCiAgICAgcmV0dXJuIEByZWFkRnJvbVJlYWRh
YmxlU3RyZWFtUmVhZGVyKHRoaXMpOwogfQpAQCAtNjAsMTMgKzU3LDIwIEBAIGZ1bmN0aW9uIHJl
bGVhc2VMb2NrKCkKICAgICBpZiAoIUBpc1JlYWRhYmxlU3RyZWFtUmVhZGVyKHRoaXMpKQogICAg
ICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiRnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbiBh
IFJlYWRhYmxlU3RyZWFtUmVhZGVyIik7CiAKLSAgICBpZiAoIXRoaXMuQG93bmVyUmVhZGFibGVT
dHJlYW0pCisgICAgY29uc3Qgc3RyZWFtID0gdGhpcy5Ab3duZXJSZWFkYWJsZVN0cmVhbTsKKyAg
ICBpZiAoIXN0cmVhbSkKICAgICAgICAgIHJldHVybjsKIAogICAgIGlmICh0aGlzLkByZWFkUmVx
dWVzdHMubGVuZ3RoKQogICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiVGhlcmUgYXJlIHN0
aWxsIHBlbmRpbmcgcmVhZCByZXF1ZXN0cywgY2Fubm90IHJlbGVhc2UgdGhlIGxvY2siKTsKIAot
ICAgIEBjbG9zZVJlYWRhYmxlU3RyZWFtUmVhZGVyKHRoaXMpOworICAgIGlmIChzdHJlYW0uQHN0
YXRlID09PSBAc3RyZWFtUmVhZGFibGUpCisgICAgICAgIHRoaXMuQGNsb3NlZFByb21pc2VDYXBh
YmlsaXR5LkByZWplY3QuQGNhbGwodW5kZWZpbmVkLCBuZXcgQFR5cGVFcnJvcigicmVsZWFzaW5n
IGxvY2sgb2YgcmVhZGVyIHdob3NlIHN0cmVhbSBpcyBzdGlsbCBpbiByZWFkYWJsZSBzdGF0ZSIp
KTsKKyAgICBlbHNlCisgICAgICAgIHRoaXMuQGNsb3NlZFByb21pc2VDYXBhYmlsaXR5ID0geyBA
cHJvbWlzZTogQFByb21pc2UuQHJlamVjdChuZXcgQFR5cGVFcnJvcigicmVhZGVyIHJlbGVhc2Vk
IGxvY2siKSkgfTsKKworICAgIHN0cmVhbS5AcmVhZGVyID0gdW5kZWZpbmVkOworICAgIHRoaXMu
QG93bmVyUmVhZGFibGVTdHJlYW0gPSBudWxsOwogfQogCiBmdW5jdGlvbiBjbG9zZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpz
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpzCmluZGV4
IDYwMzhhZjJhY2U1MDFiY2NiMGI5NzhkOGRmNGViYWRlMzg2YWZiMzQuLjkyYzUyY2M2NjVlYjlm
NjA4YWFhZWI5N2UyOTk4Mjc3ZWM5ZmM3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanMKQEAgLTgzLDcgKzgzLDcgQEAgZnVuY3Rpb24g
YWJvcnQocmVhc29uKQogCiAgICAgY29uc3Qgc2lua0Fib3J0UHJvbWlzZSA9IEBwcm9taXNlSW52
b2tlT3JGYWxsYmFja09yTm9vcCh0aGlzLkB1bmRlcmx5aW5nU2luaywgImFib3J0IiwgW3JlYXNv
bl0sICJjbG9zZSIsIFtdKTsKIAotICAgIHJldHVybiBAUHJvbWlzZS5wcm90b3R5cGUuQHRoZW4u
QGNhbGwoc2lua0Fib3J0UHJvbWlzZSwgZnVuY3Rpb24oKSB7IHJldHVybiB1bmRlZmluZWQ7IH0p
OworICAgIHJldHVybiBAUHJvbWlzZS5wcm90b3R5cGUuQHRoZW4uQGNhbGwoc2lua0Fib3J0UHJv
bWlzZSwgZnVuY3Rpb24oKSB7IH0pOwogfQogCiBmdW5jdGlvbiBjbG9zZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMu
anMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5h
bHMuanMKaW5kZXggNDI5ZDU4NzM3NzdlN2NiZjQwNTExZDRkYjlhMDU2YmQzMWY5ODJhMi4uNTAx
NWFlN2VhMTNmYjFkZDcyMjUyOGE0ODg5MDVjMjkzMmE5ZDQ0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVybmFscy5q
cwpAQCAtMTEwLDcgKzExMCw3IEBAIGZ1bmN0aW9uIHdyaXRhYmxlU3RyZWFtQWR2YW5jZVF1ZXVl
KHN0cmVhbSkKICAgICAgICAgICAgIEB3cml0YWJsZVN0cmVhbUFkdmFuY2VRdWV1ZShzdHJlYW0p
OwogICAgICAgICB9LAogICAgICAgICBmdW5jdGlvbihyKSB7Ci0gICAgICAgICAgICBAZXJyb3JX
cml0YWJsZVN0cmVhbS5AYXBwbHkoc3RyZWFtLCBbcl0pOworICAgICAgICAgICAgQGVycm9yV3Jp
dGFibGVTdHJlYW0uQGNhbGwoc3RyZWFtLCByKTsKICAgICAgICAgfQogICAgICk7CiB9CkBAIC0x
MjksNyArMTI5LDcgQEAgZnVuY3Rpb24gY2xvc2VXcml0YWJsZVN0cmVhbShzdHJlYW0pCiAgICAg
ICAgICAgICBzdHJlYW0uQHN0YXRlID0gQHN0cmVhbUNsb3NlZDsKICAgICAgICAgfSwKICAgICAg
ICAgZnVuY3Rpb24ocikgewotICAgICAgICAgICAgQGVycm9yV3JpdGFibGVTdHJlYW0uQGFwcGx5
KHN0cmVhbSwgW3JdKTsKKyAgICAgICAgICAgIEBlcnJvcldyaXRhYmxlU3RyZWFtLkBjYWxsKHN0
cmVhbSwgcik7CiAgICAgICAgIH0KICAgICApOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgwNmU0MzlmZWQ1NDI4ZDll
Zjg4MDdlYWUyYjg5YzUwZDRkNmVhMGMuLmZhY2Y4OGYzMDU4Mzg2NWVlODgzMWY5YzRkNjgwNTll
ZGFlYTZiOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0xMS0xMiAgWGFiaWVyIFJvZHJp
Z3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtTdHJlYW1zIEFQ
SV0gVXBkYXRlIHRoZSBpbXBsZW1lbnRhdGlvbiB1cCB0byBzcGVjIG9mIE5vdiAxMSAyMDE1Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTExOTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgIFVwZGF0ZWQgZXhw
ZWN0YXRpb25zLgorCisgICAgICAgICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24v
cmVhZGFibGUtc3RyZWFtLXJlYWRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RyZWFtcy9y
ZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXRlbXBsYXRlZC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFi
bGUtc3RyZWFtLXRlbXBsYXRlZC5odG1sOgorCiAyMDE1LTExLTE1ICBBZGFtIEJlcmdrdmlzdCAg
PGFkYW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4KIAogICAgICAgICBXZWJSVEM6IFVwZGF0ZSBS
VENQZWVyQ29ubmVjdGlvbiBBUEkgYW5kIGludHJvZHVjZSBQZWVyQ29ubmVjdGlvbkJhY2tlbmQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9u
L3JlYWRhYmxlLXN0cmVhbS1yZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFt
cy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXJlYWRlci1leHBlY3Rl
ZC50eHQKaW5kZXggMDNmOTc2YmJlZGQwODkwZWYwNzk4ZTYwZTlkOGZkY2VlMGI1NDhhMS4uMDhm
ZTI3YmYzZWNhOWFhZGZkN2U3YmQ1MjVlMTU3MWI2ZmZhNjIxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXJl
YWRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1w
bGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXJlYWRlci1leHBlY3RlZC50eHQKQEAgLTEwLDEy
ICsxMCwxMiBAQCBQQVNTIEdldHRpbmcgYSBSZWFkYWJsZVN0cmVhbVJlYWRlciB2aWEgZ2V0UmVh
ZGVyIHNob3VsZCBmYWlsIGlmIHRoZSBzdHJlYW0gaXMgYQogUEFTUyBDb25zdHJ1Y3RpbmcgYSBS
ZWFkYWJsZVN0cmVhbVJlYWRlciBkaXJlY3RseSBzaG91bGQgYmUgT0sgaWYgdGhlIHN0cmVhbSBp
cyBjbG9zZWQgCiBQQVNTIENvbnN0cnVjdGluZyBhIFJlYWRhYmxlU3RyZWFtUmVhZGVyIGRpcmVj
dGx5IHNob3VsZCBiZSBPSyBpZiB0aGUgc3RyZWFtIGlzIGVycm9yZWQgCiBQQVNTIFJlYWRpbmcg
ZnJvbSBhIHJlYWRlciBmb3IgYW4gZW1wdHkgc3RyZWFtIHdpbGwgd2FpdCB1bnRpbCBhIGNodW5r
IGlzIGF2YWlsYWJsZSAKLUZBSUwgY2FuY2VsKCkgb24gYSByZWFkZXIgZG9lcyBub3QgcmVsZWFz
ZSB0aGUgcmVhZGVyIGFzc2VydF91bnJlYWNoZWQ6IHJlYWRlci5jYW5jZWwoKSBzaG91bGQgbm90
IHJlamVjdCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgY2FuY2VsKCkgb24gYSByZWFk
ZXIgZG9lcyBub3QgcmVsZWFzZSB0aGUgcmVhZGVyIAogUEFTUyBjbG9zZWQgc2hvdWxkIGJlIGZ1
bGZpbGxlZCBhZnRlciBzdHJlYW0gaXMgY2xvc2VkICguY2xvc2VkIGFjY2VzcyBiZWZvcmUgYWNx
dWlyaW5nKSAKLUZBSUwgY2xvc2VkIHNob3VsZCBiZSByZWplY3RlZCBhZnRlciByZWFkZXIgcmVs
ZWFzZXMgaXRzIGxvY2sgKG11bHRpcGxlIHN0cmVhbSBsb2NrcykgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMiBidXQgZ290IDEKK1BBU1MgY2xvc2VkIHNob3VsZCBiZSByZWplY3RlZCBhZnRlciBy
ZWFkZXIgcmVsZWFzZXMgaXRzIGxvY2sgKG11bHRpcGxlIHN0cmVhbSBsb2NrcykgCiBQQVNTIE11
bHRpcGxlIHJlYWRlcnMgY2FuIGFjY2VzcyB0aGUgc3RyZWFtIGluIHNlcXVlbmNlIAogUEFTUyBD
YW5ub3QgdXNlIGFuIGFscmVhZHktcmVsZWFzZWQgcmVhZGVyIHRvIHVubG9jayBhIHN0cmVhbSBh
Z2FpbiAKLUZBSUwgY2FuY2VsKCkgb24gYSByZWxlYXNlZCByZWFkZXIgaXMgYSBuby1vcCBhbmQg
ZG9lcyBub3QgcGFzcyB0aHJvdWdoIGFzc2VydF91bnJlYWNoZWQ6IGNhbmNlbCBwcm9taXNlIHNo
b3VsZCBub3QgZnVsZmlsbCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgY2FuY2VsKCkg
b24gYSByZWxlYXNlZCByZWFkZXIgaXMgYSBuby1vcCBhbmQgZG9lcyBub3QgcGFzcyB0aHJvdWdo
IAogUEFTUyBHZXR0aW5nIGEgc2Vjb25kIHJlYWRlciBhZnRlciBlcnJvcmluZyB0aGUgc3RyZWFt
IHNob3VsZCBzdWNjZWVkIAogUEFTUyBHYXJiYWdlLWNvbGxlY3RpbmcgYSBSZWFkYWJsZVN0cmVh
bVJlYWRlciBzaG91bGQgbm90IHVubG9jayBpdHMgc3RyZWFtIAogUEFTUyBSZWFkYWJsZVN0cmVh
bVJlYWRlciBjbG9zZWQgcHJvbWlzZSBzaG91bGQgYmUgcmVqZWN0ZWQgd2l0aCB1bmRlZmluZWQg
aWYgdGhhdCBpcyB0aGUgZXJyb3IgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3Jl
ZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRh
YmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDk2NTJlYmZiZmU3ZTQxNWI3
NjExMWFlYzU2NGEwZmMyNjc2ZDBkZjUuLjAxZTI0ZGI4OTQxZDIyNjFjMmY3MjZmZTZlYTQwOGVi
NmQ3OTE4OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxl
bWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVh
bS10ZW1wbGF0ZWQtZXhwZWN0ZWQudHh0CkBAIC05LDggKzksOCBAQCBQQVNTIHR3byByZWFkKClz
IHNob3VsZCBib3RoIG5ldmVyIHNldHRsZQogUEFTUyByZWFkKCkgc2hvdWxkIHJldHVybiBkaXN0
aW5jdCBwcm9taXNlcyBlYWNoIHRpbWUgCiBQQVNTIGdldFJlYWRlcigpIGFnYWluIG9uIHRoZSBz
dHJlYW0gc2hvdWxkIGZhaWwgCiBQQVNTIHJlbGVhc2luZyB0aGUgbG9jayB3aXRoIHBlbmRpbmcg
cmVhZCByZXF1ZXN0cyBzaG91bGQgdGhyb3cgYnV0IHRoZSByZWFkIHJlcXVlc3RzIHNob3VsZCBz
dGF5IHBlbmRpbmcgCi1USU1FT1VUIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgZnVy
dGhlciByZWFkKCkgY2FsbHMgdG8gcmVqZWN0IHdpdGggYSBUeXBlRXJyb3IgVGVzdCB0aW1lZCBv
dXQKLVRJTUVPVVQgcmVsZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBjbG9zZWQgdG8gcmVq
ZWN0IFRlc3QgdGltZWQgb3V0CitQQVNTIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2Ug
ZnVydGhlciByZWFkKCkgY2FsbHMgdG8gcmVqZWN0IHdpdGggYSBUeXBlRXJyb3IgCitQQVNTIHJl
bGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgY2xvc2VkIHRvIHJlamVjdCAKIFBBU1MgcmVs
ZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBsb2NrZWQgdG8gYmVjb21lIGZhbHNlIAogUEFT
UyBjYW5jZWxpbmcgdmlhIHRoZSByZWFkZXIgc2hvdWxkIGNhdXNlIHRoZSByZWFkZXIgdG8gYWN0
IGNsb3NlZCAKIFBBU1MgY2FuY2VsaW5nIHZpYSB0aGUgc3RyZWFtIHNob3VsZCBmYWlsIApAQCAt
MjEsMjAgKzIxLDIwIEBAIFBBU1MgZ2V0UmVhZGVyKCkgc2hvdWxkIGJlIE9LCiBGQUlMIHBpcGlu
ZyB0byBhIFdyaXRhYmxlU3RyZWFtIGluIHRoZSB3cml0YWJsZSBzdGF0ZSBzaG91bGQgY2xvc2Ug
dGhlIHdyaXRhYmxlIHN0cmVhbSBwaXBlVG8gaXMgbm90IGltcGxlbWVudGVkCiBGQUlMIHBpcGlu
ZyB0byBhIFdyaXRhYmxlU3RyZWFtIGluIHRoZSB3cml0YWJsZSBzdGF0ZSB3aXRoIHsgcHJldmVu
dENsb3NlOiB0cnVlIH0gc2hvdWxkIGRvIG5vdGhpbmcgcGlwZVRvIGlzIG5vdCBpbXBsZW1lbnRl
ZAogUEFTUyBzaG91bGQgYmUgYWJsZSB0byBhY3F1aXJlIG11bHRpcGxlIHJlYWRlcnMgaWYgdGhl
eSBhcmUgcmVsZWFzZWQgaW4gc3VjY2Vzc2lvbiAKLUZBSUwgc2hvdWxkIG5vdCBiZSBhYmxlIHRv
IGFjcXVpcmUgYSBzZWNvbmQgcmVhZGVyIGlmIHdlIGRvbid0IHJlbGVhc2UgdGhlIGZpcnN0IG9u
ZSBhc3NlcnRfdGhyb3dzOiBnZXR0aW5nIGEgc2Vjb25kIHJlYWRlciBzaG91bGQgdGhyb3cgZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsgcnMuZ2V0UmVhZGVyKCk7IH0iIGRpZCBub3QgdGhyb3cKK1BB
U1Mgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGFjcXVpcmUgYSBzZWNvbmQgcmVhZGVyIGlmIHdlIGRv
bid0IHJlbGVhc2UgdGhlIGZpcnN0IG9uZSAKIFBBU1MgUnVubmluZyB0ZW1wbGF0ZWRSU0Nsb3Nl
ZFJlYWRlciB3aXRoIFJlYWRhYmxlU3RyZWFtIHJlYWRlciAoY2xvc2VkIGJlZm9yZSBnZXR0aW5n
IHJlYWRlcikgCiBQQVNTIHJlYWQoKSBzaG91bGQgZnVsZmlsbCB3aXRoIHsgdmFsdWU6IHVuZGVm
aW5lZCwgZG9uZTogdHJ1ZSB9IAogUEFTUyByZWFkKCkgbXVsdGlwbGUgdGltZXMgc2hvdWxkIGZ1
bGZpbGwgd2l0aCB7IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfSAKIFBBU1MgcmVhZCgp
IHNob3VsZCB3b3JrIHdoZW4gdXNlZCB3aXRoaW4gYW5vdGhlciByZWFkKCkgZnVsZmlsbCBjYWxs
YmFjayAKIFBBU1MgY2xvc2VkIHNob3VsZCBmdWxmaWxsIHdpdGggdW5kZWZpbmVkIAotRkFJTCBy
ZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNhdXNlIGNsb3NlZCB0byByZWplY3QgYW5kIGNoYW5n
ZSBpZGVudGl0eSBhc3NlcnRfbm90X2VxdWFsczogdGhlIGNsb3NlZCBwcm9taXNlIHNob3VsZCBj
aGFuZ2UgaWRlbnRpdHkgZ290IGRpc2FsbG93ZWQgdmFsdWUgb2JqZWN0ICJbb2JqZWN0IFByb21p
c2VdIgorUEFTUyByZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNhdXNlIGNsb3NlZCB0byByZWpl
Y3QgYW5kIGNoYW5nZSBpZGVudGl0eSAKIFBBU1MgY2FuY2VsKCkgc2hvdWxkIHJldHVybiBhIGRp
c3RpbmN0IGZ1bGZpbGxlZCBwcm9taXNlIGVhY2ggdGltZSAKIFBBU1MgUnVubmluZyB0ZW1wbGF0
ZWRSU0Nsb3NlZFJlYWRlciB3aXRoIFJlYWRhYmxlU3RyZWFtIHJlYWRlciAoY2xvc2VkIGFmdGVy
IGdldHRpbmcgcmVhZGVyKSAKIFBBU1MgcmVhZCgpIHNob3VsZCBmdWxmaWxsIHdpdGggeyB2YWx1
ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH0gCiBQQVNTIHJlYWQoKSBtdWx0aXBsZSB0aW1lcyBz
aG91bGQgZnVsZmlsbCB3aXRoIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9IAogUEFT
UyByZWFkKCkgc2hvdWxkIHdvcmsgd2hlbiB1c2VkIHdpdGhpbiBhbm90aGVyIHJlYWQoKSBmdWxm
aWxsIGNhbGxiYWNrIAogUEFTUyBjbG9zZWQgc2hvdWxkIGZ1bGZpbGwgd2l0aCB1bmRlZmluZWQg
Ci1GQUlMIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgY2xvc2VkIHRvIHJlamVjdCBh
bmQgY2hhbmdlIGlkZW50aXR5IGFzc2VydF9ub3RfZXF1YWxzOiB0aGUgY2xvc2VkIHByb21pc2Ug
c2hvdWxkIGNoYW5nZSBpZGVudGl0eSBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBvYmplY3QgIltvYmpl
Y3QgUHJvbWlzZV0iCitQQVNTIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgY2xvc2Vk
IHRvIHJlamVjdCBhbmQgY2hhbmdlIGlkZW50aXR5IAogUEFTUyBjYW5jZWwoKSBzaG91bGQgcmV0
dXJuIGEgZGlzdGluY3QgZnVsZmlsbGVkIHByb21pc2UgZWFjaCB0aW1lIAogUEFTUyBSdW5uaW5n
IHRlbXBsYXRlZFJTQ2xvc2VkIHdpdGggUmVhZGFibGVTdHJlYW0gKGNsb3NlZCB2aWEgY2FuY2Vs
KSAKIFBBU1MgY2FuY2VsKCkgc2hvdWxkIHJldHVybiBhIGRpc3RpbmN0IGZ1bGZpbGxlZCBwcm9t
aXNlIGVhY2ggdGltZSAKQEAgLTQzLDEzICs0MywxMyBAQCBQQVNTIGdldFJlYWRlcigpIHNob3Vs
ZCBiZSBPSwogRkFJTCBwaXBpbmcgdG8gYSBXcml0YWJsZVN0cmVhbSBpbiB0aGUgd3JpdGFibGUg
c3RhdGUgc2hvdWxkIGNsb3NlIHRoZSB3cml0YWJsZSBzdHJlYW0gcGlwZVRvIGlzIG5vdCBpbXBs
ZW1lbnRlZAogRkFJTCBwaXBpbmcgdG8gYSBXcml0YWJsZVN0cmVhbSBpbiB0aGUgd3JpdGFibGUg
c3RhdGUgd2l0aCB7IHByZXZlbnRDbG9zZTogdHJ1ZSB9IHNob3VsZCBkbyBub3RoaW5nIHBpcGVU
byBpcyBub3QgaW1wbGVtZW50ZWQKIFBBU1Mgc2hvdWxkIGJlIGFibGUgdG8gYWNxdWlyZSBtdWx0
aXBsZSByZWFkZXJzIGlmIHRoZXkgYXJlIHJlbGVhc2VkIGluIHN1Y2Nlc3Npb24gCi1GQUlMIHNo
b3VsZCBub3QgYmUgYWJsZSB0byBhY3F1aXJlIGEgc2Vjb25kIHJlYWRlciBpZiB3ZSBkb24ndCBy
ZWxlYXNlIHRoZSBmaXJzdCBvbmUgYXNzZXJ0X3Rocm93czogZ2V0dGluZyBhIHNlY29uZCByZWFk
ZXIgc2hvdWxkIHRocm93IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHJzLmdldFJlYWRlcigpOyB9
IiBkaWQgbm90IHRocm93CitQQVNTIHNob3VsZCBub3QgYmUgYWJsZSB0byBhY3F1aXJlIGEgc2Vj
b25kIHJlYWRlciBpZiB3ZSBkb24ndCByZWxlYXNlIHRoZSBmaXJzdCBvbmUgCiBQQVNTIFJ1bm5p
bmcgdGVtcGxhdGVkUlNDbG9zZWRSZWFkZXIgd2l0aCBSZWFkYWJsZVN0cmVhbSByZWFkZXIgKGNs
b3NlZCB2aWEgY2FuY2VsIGFmdGVyIGdldHRpbmcgcmVhZGVyKSAKIFBBU1MgcmVhZCgpIHNob3Vs
ZCBmdWxmaWxsIHdpdGggeyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH0gCiBQQVNTIHJl
YWQoKSBtdWx0aXBsZSB0aW1lcyBzaG91bGQgZnVsZmlsbCB3aXRoIHsgdmFsdWU6IHVuZGVmaW5l
ZCwgZG9uZTogdHJ1ZSB9IAogUEFTUyByZWFkKCkgc2hvdWxkIHdvcmsgd2hlbiB1c2VkIHdpdGhp
biBhbm90aGVyIHJlYWQoKSBmdWxmaWxsIGNhbGxiYWNrIAogUEFTUyBjbG9zZWQgc2hvdWxkIGZ1
bGZpbGwgd2l0aCB1bmRlZmluZWQgCi1GQUlMIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1
c2UgY2xvc2VkIHRvIHJlamVjdCBhbmQgY2hhbmdlIGlkZW50aXR5IGFzc2VydF9ub3RfZXF1YWxz
OiB0aGUgY2xvc2VkIHByb21pc2Ugc2hvdWxkIGNoYW5nZSBpZGVudGl0eSBnb3QgZGlzYWxsb3dl
ZCB2YWx1ZSBvYmplY3QgIltvYmplY3QgUHJvbWlzZV0iCitQQVNTIHJlbGVhc2luZyB0aGUgbG9j
ayBzaG91bGQgY2F1c2UgY2xvc2VkIHRvIHJlamVjdCBhbmQgY2hhbmdlIGlkZW50aXR5IAogUEFT
UyBjYW5jZWwoKSBzaG91bGQgcmV0dXJuIGEgZGlzdGluY3QgZnVsZmlsbGVkIHByb21pc2UgZWFj
aCB0aW1lIAogUEFTUyBSdW5uaW5nIHRlbXBsYXRlZFJTRXJyb3JlZCB3aXRoIFJlYWRhYmxlU3Ry
ZWFtIChlcnJvcmVkIHZpYSBjYWxsIGluIHN0YXJ0KSAKIEZBSUwgcGlwaW5nIHRvIGEgV3JpdGFi
bGVTdHJlYW0gaW4gdGhlIHdyaXRhYmxlIHN0YXRlIHNob3VsZCBhYm9ydCB0aGUgd3JpdGFibGUg
c3RyZWFtIHBpcGVUbyBpcyBub3QgaW1wbGVtZW50ZWQKQEAgLTU4LDcgKzU4LDcgQEAgUEFTUyBy
ZWFkKCkgdHdpY2Ugc2hvdWxkIGdpdmUgdGhlIGVycm9yIGVhY2ggdGltZQogUEFTUyBsb2NrZWQg
c2hvdWxkIGJlIGZhbHNlIAogUEFTUyBSdW5uaW5nIHRlbXBsYXRlZFJTRXJyb3JlZFN5bmNPbmx5
IHdpdGggUmVhZGFibGVTdHJlYW0gKGVycm9yZWQgdmlhIGNhbGwgaW4gc3RhcnQpIAogUEFTUyBz
aG91bGQgYmUgYWJsZSB0byBvYnRhaW4gYSBzZWNvbmQgcmVhZGVyLCB3aXRoIHRoZSBjb3JyZWN0
IGNsb3NlZCBwcm9taXNlIAotRkFJTCBzaG91bGQgbm90IGJlIGFibGUgdG8gb2J0YWluIGFkZGl0
aW9uYWwgcmVhZGVycyBpZiB3ZSBkb24ndCByZWxlYXNlIHRoZSBmaXJzdCBsb2NrIGFzc2VydF90
aHJvd3M6IGdldHRpbmcgYSBzZWNvbmQgcmVhZGVyIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBycy5nZXRSZWFkZXIoKTsgfSIgZGlkIG5vdCB0aHJvdwor
UEFTUyBzaG91bGQgbm90IGJlIGFibGUgdG8gb2J0YWluIGFkZGl0aW9uYWwgcmVhZGVycyBpZiB3
ZSBkb24ndCByZWxlYXNlIHRoZSBmaXJzdCBsb2NrIAogUEFTUyBjYW5jZWwoKSBzaG91bGQgcmV0
dXJuIGEgZGlzdGluY3QgcmVqZWN0ZWQgcHJvbWlzZSBlYWNoIHRpbWUgCiBQQVNTIHJlYWRlciBj
YW5jZWwoKSBzaG91bGQgcmV0dXJuIGEgZGlzdGluY3QgcmVqZWN0ZWQgcHJvbWlzZSBlYWNoIHRp
bWUgCiBQQVNTIFJ1bm5pbmcgdGVtcGxhdGVkUlNFcnJvcmVkIHdpdGggUmVhZGFibGVTdHJlYW0g
KGVycm9yZWQgdmlhIHJldHVybmluZyBhIHJlamVjdGVkIHByb21pc2UgaW4gc3RhcnQpIApAQCAt
NzIsMTUgKzcyLDE1IEBAIEZBSUwgcGlwaW5nIHdpdGggeyBwcmV2ZW50QWJvcnQ6IGZhbHNlIH0g
cGlwZVRvIGlzIG5vdCBpbXBsZW1lbnRlZAogRkFJTCBwaXBpbmcgd2l0aCB7IHByZXZlbnRBYm9y
dDogdHJ1ZSB9IHBpcGVUbyBpcyBub3QgaW1wbGVtZW50ZWQKIFBBU1MgUnVubmluZyB0ZW1wbGF0
ZWRSU0Vycm9yZWRSZWFkZXIgd2l0aCBSZWFkYWJsZVN0cmVhbSAoZXJyb3JlZCB2aWEgcmV0dXJu
aW5nIGEgcmVqZWN0ZWQgcHJvbWlzZSBpbiBzdGFydCkgcmVhZGVyIAogUEFTUyBjbG9zZWQgc2hv
dWxkIHJlamVjdCB3aXRoIHRoZSBlcnJvciAKLUZBSUwgcmVsZWFzaW5nIHRoZSBsb2NrIHNob3Vs
ZCBjYXVzZSBjbG9zZWQgdG8gcmVqZWN0IGFuZCBjaGFuZ2UgaWRlbnRpdHkgYXNzZXJ0X25vdF9l
cXVhbHM6IHRoZSBjbG9zZWQgcHJvbWlzZSBzaG91bGQgY2hhbmdlIGlkZW50aXR5IGdvdCBkaXNh
bGxvd2VkIHZhbHVlIG9iamVjdCAiW29iamVjdCBQcm9taXNlXSIKK1BBU1MgcmVsZWFzaW5nIHRo
ZSBsb2NrIHNob3VsZCBjYXVzZSBjbG9zZWQgdG8gcmVqZWN0IGFuZCBjaGFuZ2UgaWRlbnRpdHkg
CiBQQVNTIHJlYWQoKSBzaG91bGQgcmVqZWN0IHdpdGggdGhlIGVycm9yIAogUEFTUyBSdW5uaW5n
IHRlbXBsYXRlZFJTRXJyb3JlZFJlYWRlciB3aXRoIFJlYWRhYmxlU3RyZWFtIHJlYWRlciAoZXJy
b3JlZCBiZWZvcmUgZ2V0dGluZyByZWFkZXIpIAogUEFTUyBjbG9zZWQgc2hvdWxkIHJlamVjdCB3
aXRoIHRoZSBlcnJvciAKLUZBSUwgcmVsZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBjbG9z
ZWQgdG8gcmVqZWN0IGFuZCBjaGFuZ2UgaWRlbnRpdHkgYXNzZXJ0X25vdF9lcXVhbHM6IHRoZSBj
bG9zZWQgcHJvbWlzZSBzaG91bGQgY2hhbmdlIGlkZW50aXR5IGdvdCBkaXNhbGxvd2VkIHZhbHVl
IG9iamVjdCAiW29iamVjdCBQcm9taXNlXSIKK1BBU1MgcmVsZWFzaW5nIHRoZSBsb2NrIHNob3Vs
ZCBjYXVzZSBjbG9zZWQgdG8gcmVqZWN0IGFuZCBjaGFuZ2UgaWRlbnRpdHkgCiBQQVNTIHJlYWQo
KSBzaG91bGQgcmVqZWN0IHdpdGggdGhlIGVycm9yIAogUEFTUyBSdW5uaW5nIHRlbXBsYXRlZFJT
RXJyb3JlZFJlYWRlciB3aXRoIFJlYWRhYmxlU3RyZWFtIHJlYWRlciAoZXJyb3JlZCBhZnRlciBn
ZXR0aW5nIHJlYWRlcikgCiBQQVNTIGNsb3NlZCBzaG91bGQgcmVqZWN0IHdpdGggdGhlIGVycm9y
IAotRkFJTCByZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNhdXNlIGNsb3NlZCB0byByZWplY3Qg
YW5kIGNoYW5nZSBpZGVudGl0eSBhc3NlcnRfbm90X2VxdWFsczogdGhlIGNsb3NlZCBwcm9taXNl
IHNob3VsZCBjaGFuZ2UgaWRlbnRpdHkgZ290IGRpc2FsbG93ZWQgdmFsdWUgb2JqZWN0ICJbb2Jq
ZWN0IFByb21pc2VdIgorUEFTUyByZWxlYXNpbmcgdGhlIGxvY2sgc2hvdWxkIGNhdXNlIGNsb3Nl
ZCB0byByZWplY3QgYW5kIGNoYW5nZSBpZGVudGl0eSAKIFBBU1MgcmVhZCgpIHNob3VsZCByZWpl
Y3Qgd2l0aCB0aGUgZXJyb3IgCiBQQVNTIFJ1bm5pbmcgdGVtcGxhdGVkUlNUd29DaHVua3NPcGVu
UmVhZGVyIHdpdGggUmVhZGFibGVTdHJlYW0gKHR3byBjaHVua3MgZW5xdWV1ZWQsIHN0aWxsIG9w
ZW4pIHJlYWRlciAKIFBBU1MgY2FsbGluZyByZWFkKCkgdHdpY2Ugd2l0aG91dCB3YWl0aW5nIHdp
bGwgZXZlbnR1YWxseSBnaXZlIGJvdGggY2h1bmtzIApAQCAtMTExLDggKzExMSw4IEBAIEZBSUwg
cGlwaW5nIHdpdGggeyBwcmV2ZW50Q2xvc2U6IHRydWUgfSBhbmQgYSBkZXN0aW5hdGlvbiB0aGF0
IGVycm9ycyBvbiB0aGUgbGFzCiBQQVNTIFJ1bm5pbmcgdGVtcGxhdGVkUlNUd29DaHVua3NDbG9z
ZWRSZWFkZXIgd2l0aCBSZWFkYWJsZVN0cmVhbSAodHdvIGNodW5rcyBlbnF1ZXVlZCwgdGhlbiBj
bG9zZWQpIHJlYWRlciAKIFBBU1MgdGhpcmQgcmVhZCgpLCB3aXRob3V0IHdhaXRpbmcsIHNob3Vs
ZCBnaXZlIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9IAogUEFTUyB0aGlyZCByZWFk
LCB3aXRoIHdhaXRpbmcsIHNob3VsZCBnaXZlIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1
ZSB9IAotRkFJTCBkcmFpbmluZyB0aGUgc3RyZWFtIHZpYSByZWFkKCkgc2hvdWxkIGNhdXNlIHRo
ZSByZWFkZXIgY2xvc2VkIHByb21pc2UgdG8gZnVsZmlsbCwgYnV0IGxvY2tlZCBzdGF5cyB0cnVl
IGFzc2VydF90cnVlOiBzdHJlYW0gc2hvdWxkIHJlbWFpbiBsb2NrZWQgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKLUZBSUwgcmVsZWFzaW5nIHRoZSBsb2NrIGFmdGVyIHRoZSBzdHJlYW0gaXMgY2xv
c2VkIHNob3VsZCBjYXVzZSBsb2NrZWQgdG8gYmVjb21lIGZhbHNlIGFzc2VydF90cnVlOiB0aGUg
c3RyZWFtIHNob3VsZCBzdGFydCBsb2NrZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLVRJTUVP
VVQgcmVsZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBmdXJ0aGVyIHJlYWQoKSBjYWxscyB0
byByZWplY3Qgd2l0aCBhIFR5cGVFcnJvciBUZXN0IHRpbWVkIG91dAorUEFTUyBkcmFpbmluZyB0
aGUgc3RyZWFtIHZpYSByZWFkKCkgc2hvdWxkIGNhdXNlIHRoZSByZWFkZXIgY2xvc2VkIHByb21p
c2UgdG8gZnVsZmlsbCwgYnV0IGxvY2tlZCBzdGF5cyB0cnVlIAorUEFTUyByZWxlYXNpbmcgdGhl
IGxvY2sgYWZ0ZXIgdGhlIHN0cmVhbSBpcyBjbG9zZWQgc2hvdWxkIGNhdXNlIGxvY2tlZCB0byBi
ZWNvbWUgZmFsc2UgCitQQVNTIHJlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgZnVydGhl
ciByZWFkKCkgY2FsbHMgdG8gcmVqZWN0IHdpdGggYSBUeXBlRXJyb3IgCiBQQVNTIHJlYWRlcidz
IGNsb3NlZCBwcm9wZXJ0eSBhbHdheXMgcmV0dXJucyB0aGUgc2FtZSBwcm9taXNlIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFk
YWJsZS1zdHJlYW0tdGVtcGxhdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5j
ZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tdGVtcGxhdGVkLmh0bWwKaW5kZXggYjVj
NzFhODFlMjAxNzliZTY2NzZiNmNkOTQyNmZmNDUwNmNjNDcyMS4uN2MyMGQwOWYzMDk3NGIwZjAw
ZmRhMmQ1MTc0YTRjMDY4YjA5ZmFiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9y
ZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXRlbXBsYXRlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxl
LXN0cmVhbS10ZW1wbGF0ZWQuaHRtbApAQCAtNjMwLDcgKzYzMCw3IEBAIGZ1bmN0aW9uIHRlbXBs
YXRlZFJTRW1wdHlSZWFkZXIobGFiZWwsIGZhY3RvcnkpIHsKICAgICAgICAgc2V0VGltZW91dCh0
ZXN0My5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7IHRlc3QzLmRvbmUoKTsgfSksIDEwMDApOwogICAg
IH0pOwogCi0gICAgdmFyIHRlc3Q0ID0gYXN5bmNfdGVzdCgncmVsZWFzaW5nIHRoZSBsb2NrIHNo
b3VsZCBjYXVzZSBmdXJ0aGVyIHJlYWQoKSBjYWxscyB0byByZWplY3Qgd2l0aCBhIFR5cGVFcnJv
cicsIHsgdGltZW91dDogNTAgfSk7CisgICAgdmFyIHRlc3Q0ID0gYXN5bmNfdGVzdCgncmVsZWFz
aW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBmdXJ0aGVyIHJlYWQoKSBjYWxscyB0byByZWplY3Qg
d2l0aCBhIFR5cGVFcnJvcicpOwogICAgIHRlc3Q0LnN0ZXAoZnVuY3Rpb24oKSB7CiAgICAgICAg
IHZhciBwcm9taXNlQ2FsbHMgPSAwOwogICAgICAgICB2YXIgeyByZWFkZXIgfSA9IGZhY3Rvcnko
KTsKQEAgLTY0OCw3ICs2NDgsNyBAQCBmdW5jdGlvbiB0ZW1wbGF0ZWRSU0VtcHR5UmVhZGVyKGxh
YmVsLCBmYWN0b3J5KSB7CiAgICAgICAgIH0pKTsKICAgICB9KTsKIAotICAgIHZhciB0ZXN0NSA9
IGFzeW5jX3Rlc3QoJ3JlbGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgY2xvc2VkIHRvIHJl
amVjdCcsIHsgdGltZW91dDogNTAgfSk7CisgICAgdmFyIHRlc3Q1ID0gYXN5bmNfdGVzdCgncmVs
ZWFzaW5nIHRoZSBsb2NrIHNob3VsZCBjYXVzZSBjbG9zZWQgdG8gcmVqZWN0Jyk7CiAgICAgdGVz
dDUuc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIHsgcmVhZGVyIH0gPSBmYWN0b3J5KCk7
CiAKQEAgLTk5NCw3ICs5OTQsNyBAQCBmdW5jdGlvbiB0ZW1wbGF0ZWRSU1R3b0NodW5rc0Nsb3Nl
ZFJlYWRlcihsYWJlbCwgZmFjdG9yeSwgY2h1bmtzKSB7CiAgICAgICAgIHJlYWRlci5yZWFkKCk7
CiAgICAgfSk7CiAKLSAgICB2YXIgdGVzdDUgPSBhc3luY190ZXN0KCdyZWxlYXNpbmcgdGhlIGxv
Y2sgc2hvdWxkIGNhdXNlIGZ1cnRoZXIgcmVhZCgpIGNhbGxzIHRvIHJlamVjdCB3aXRoIGEgVHlw
ZUVycm9yJywgeyB0aW1lb3V0OiA1MH0pOworICAgIHZhciB0ZXN0NSA9IGFzeW5jX3Rlc3QoJ3Jl
bGVhc2luZyB0aGUgbG9jayBzaG91bGQgY2F1c2UgZnVydGhlciByZWFkKCkgY2FsbHMgdG8gcmVq
ZWN0IHdpdGggYSBUeXBlRXJyb3InKTsKICAgICB0ZXN0NS5zdGVwKGZ1bmN0aW9uKCkgewogICAg
ICAgICB2YXIgcHJvbWlzZUNhbGxzID0gMDsKICAgICAgICAgdmFyIHsgcmVhZGVyIH0gPSBmYWN0
b3J5KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>