<?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>146288</bug_id>
          
          <creation_ts>2015-06-24 13:12:45 -0700</creation_ts>
          <short_desc>Enable -Winconsistent-missing-override when building with Xcode</short_desc>
          <delta_ts>2015-06-24 13:49:00 -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>New Bugs</component>
          <version>528+ (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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1104459</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-24 13:12:45 -0700</bug_when>
    <thetext>Enable -Winconsistent-missing-override when building with Xcode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104461</commentid>
    <comment_count>1</comment_count>
      <attachid>255509</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-24 13:14:03 -0700</bug_when>
    <thetext>Created attachment 255509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104464</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-24 13:49:00 -0700</bug_when>
    <thetext>Committed r185923: &lt;http://trac.webkit.org/changeset/185923&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255509</attachid>
            <date>2015-06-24 13:14:03 -0700</date>
            <delta_ts>2015-06-24 13:45:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146288-20150624131320.patch</filename>
            <type>text/plain</type>
            <size>43955</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTUwZGIzODBjZGJjOTg1
Yjk0ZTY4ZjZjMzViZDJhNzFhYTQzMjI1OS4uYjk4OGRhM2RlNGE0NjAzNzE4ZmMwNzE2Nzk4YWFm
ZDg3MzRmNzIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE1LTA2LTI0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIC1XaW5j
b25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgd2hlbiBidWlsZGluZyB3aXRoIFhjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYyODgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWc6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFz
ay5oOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6cGxhdGZvcm1MYXllcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb246OnN1cHBvcnRzU2Nhbm5pbmcpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpmaWxlU2l6ZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246
OmVuZ2luZURlc2NyaXB0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6cGxhdGZvcm1FcnJvckNvZGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpub3RpZnlUcmFj
a01vZGVDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vVmlkZW9UcmFja1ByaXZhdGVBVkYuaDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVv
VHJhY2tQcml2YXRlQVZGOjp0cmFja0luZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5o
OgorICAgICAgICAoV2ViQ29yZTo6Q0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakM6OnR5cGUpOiBE
ZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NE
TVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNETVNlc3Np
b25NZWRpYVNvdXJjZUFWRk9iakM6OnR5cGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y2FuUGxheVRvV2ly
ZWxlc3NQbGF5YmFja1RhcmdldCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Q2xpZW50OjpyZWNlaXZlZENyZWRlbnRpYWwpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
V2ViQ29yZU5TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGllbnQ6OnJlY2VpdmVkUmVxdWVz
dFRvQ29udGludWVXaXRob3V0Q3JlZGVudGlhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb3JlTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNsaWVudDo6cmVjZWl2ZWRDYW5j
ZWxsYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU5TVVJMQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VDbGllbnQ6OnJlY2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRI
YW5kbGluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlTlNVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZUNsaWVudDo6cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24pOiBEZWxl
dGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c0Z1bGxzY3JlZW4pOiBE
ZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnN1
cHBvcnRzU2Nhbm5pbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQ6Om5ldHdvcmtTdGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cmVhZHlTdGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6bWF4aW11bUR1cmF0aW9uVG9DYWNoZU1l
ZGlhVGltZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVR
VEtpdDo6ZW5naW5lRGVzY3JpcHRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TZXJpYWxpemVk
UGxhdGZvcm1SZXByZXNlbnRhdGlvbk1hYy5oOgorICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXpl
ZFBsYXRmb3JtUmVwcmVzZW50YXRpb25NYWM6OnBsYXRmb3JtVHlwZSk6IERlbGV0ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmg6CisgICAgICAgIChXZWJDb3JlOjpUaGVtZU1h
Yzo6Y29udHJvbFJlcXVpcmVzUHJlV2hpdGVTcGFjZSk6IERlbGV0ZWQuCisgICAgICAgICogdGVz
dGluZy9Nb2NrQ0RNLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tDRE1TZXNzaW9uOjpzZXRD
bGllbnQpOiBEZWxldGVkLgorCiAyMDE1LTA2LTI0ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFw
cGxlLmNvbT4KIAogICAgICAgICBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBlcnJvciBtZXNzYWdl
IHdoZW4gZnJhbWUgbG9hZCBpcyBibG9ja2VkIGRvZXMgbm90IHJlYWQgd2VsbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggODkzMWE3YmQyYjNjMDJh
NDhkYzhlOTQ5YjEyYjM2ZWQ2OTUwMWI0My4uMjQ3YTU0OTVkN2YwY2ZjMTE2YTg5MzVkZmY0NDg5
YTI2NjQzNWEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCkBAIC04MCw3ICs4MCw3IEBAIEdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKIEdD
Q19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKIExJTktFUl9ESVNQTEFZU19NQU5HTEVEX05B
TUVTID0gWUVTOwogUFJFQklORElORyA9IE5POwotV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtV2V4
dHJhIC1XY2FzdC1xdWFsIC1XY2hhci1zdWJzY3JpcHRzIC1XZXh0cmEtdG9rZW5zIC1XZm9ybWF0
PTIgLVdpbml0LXNlbGYgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdtaXNzaW5nLW5vcmV0
dXJuIC1XcGFja2VkIC1XcG9pbnRlci1hcml0aCAtV3JlZHVuZGFudC1kZWNscyAtV3VuZGVmIC1X
d3JpdGUtc3RyaW5ncyAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3Rv
cnMgLVd0YXV0b2xvZ2ljYWwtY29tcGFyZSAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoIC1Xbm8tdW5r
bm93bi13YXJuaW5nLW9wdGlvbiAtV25vLWluY29uc2lzdGVudC1taXNzaW5nLW92ZXJyaWRlOwor
V0FSTklOR19DRkxBR1MgPSAtV2FsbCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XY2hhci1zdWJzY3Jp
cHRzIC1XZXh0cmEtdG9rZW5zIC1XZm9ybWF0PTIgLVdpbml0LXNlbGYgLVdtaXNzaW5nLWZvcm1h
dC1hdHRyaWJ1dGUgLVdtaXNzaW5nLW5vcmV0dXJuIC1XcGFja2VkIC1XcG9pbnRlci1hcml0aCAt
V3JlZHVuZGFudC1kZWNscyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV2V4aXQtdGltZS1kZXN0
cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMgLVd0YXV0b2xvZ2ljYWwtY29tcGFyZSAtV2lt
cGxpY2l0LWZhbGx0aHJvdWdoIC1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlvbjsKIAogVEFSR0VU
X01BQ19PU19YX1ZFUlNJT05fTUFKT1IgPSAkKE1BQ19PU19YX1ZFUlNJT05fTUFKT1IpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVNlc3Npb24uaAppbmRleCA5ODI0NmMyYjFlMzRlMTI4MWE2ODdjMTNkZTI1N2M4YjJjNTYzMjIx
Li4zZjU4YTM0YTkxZGFlMmIxYTVmYzFjZmJlNWM1ZDdjOTU5YmZhYTFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmgKQEAgLTg1LDkgKzg1LDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgYWRkS2V5VGltZXJGaXJl
ZCgpOwogCiAgICAgLy8gQ0RNU2Vzc2lvbkNsaWVudAotICAgIHZpcnR1YWwgdm9pZCBzZW5kTWVz
c2FnZShVaW50OEFycmF5KiwgU3RyaW5nIGRlc3RpbmF0aW9uVVJMKTsKLSAgICB2aXJ0dWFsIHZv
aWQgc2VuZEVycm9yKE1lZGlhS2V5RXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nIHN5c3RlbUNvZGUp
OwotICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIHZvaWQgc2VuZE1lc3NhZ2UoVWludDhBcnJheSosIFN0cmluZyBkZXN0aW5h
dGlvblVSTCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHNlbmRFcnJvcihNZWRpYUtleUVy
cm9yQ29kZSwgdW5zaWduZWQgbG9uZyBzeXN0ZW1Db2RlKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAg
ICBNZWRpYUtleXMqIG1fa2V5czsKICAgICBTdHJpbmcgbV9rZXlTeXN0ZW07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suaAppbmRleCBiZTM5
MTA1MjU3OTUxMzJlOGQwMTBhNGE5Y2ZiMTk3MDRjNGRmNDQ1Li5hZTI0NTlmMjM4NmNkYWUxODk2
ZjUwODQ2NTMwMmMzYmNhMWM1NzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmgKQEAgLTEwNyw5ICsxMDcsOSBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgZG9QZXJmb3JtVGFzaygpOworICAg
IHZpcnR1YWwgdm9pZCBkb1BlcmZvcm1UYXNrKCkgb3ZlcnJpZGU7CiAjaWYgIUxPR19ESVNBQkxF
RAotICAgIHZpcnR1YWwgY29uc3QgY2hhciogZGVidWdUYXNrTmFtZSgpIGNvbnN0OworICAgIHZp
cnR1YWwgY29uc3QgY2hhciogZGVidWdUYXNrTmFtZSgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlm
CiAKICAgICBib29sIG1fc2V0VmVyc2lvbkluTmV3RGF0YWJhc2U7CkBAIC0xMjcsOSArMTI3LDkg
QEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIGRvUGVyZm9y
bVRhc2soKTsKKyAgICB2aXJ0dWFsIHZvaWQgZG9QZXJmb3JtVGFzaygpIG92ZXJyaWRlOwogI2lm
ICFMT0dfRElTQUJMRUQKLSAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGRlYnVnVGFza05hbWUoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGRlYnVnVGFza05hbWUoKSBjb25zdCBvdmVy
cmlkZTsKICNlbmRpZgogfTsKIApAQCAtMTQ1LDkgKzE0NSw5IEBAIHB1YmxpYzoKICAgICBTUUxU
cmFuc2FjdGlvbkJhY2tlbmQqIHRyYW5zYWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Fj
dGlvbi5nZXQoKTsgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBkb1BlcmZvcm1UYXNr
KCk7CisgICAgdmlydHVhbCB2b2lkIGRvUGVyZm9ybVRhc2soKSBvdmVycmlkZTsKICNpZiAhTE9H
X0RJU0FCTEVECi0gICAgdmlydHVhbCBjb25zdCBjaGFyKiBkZWJ1Z1Rhc2tOYW1lKCkgY29uc3Q7
CisgICAgdmlydHVhbCBjb25zdCBjaGFyKiBkZWJ1Z1Rhc2tOYW1lKCkgY29uc3Qgb3ZlcnJpZGU7
CiAjZW5kaWYKIAogICAgIFJlZlB0cjxTUUxUcmFuc2FjdGlvbkJhY2tlbmQ+IG1fdHJhbnNhY3Rp
b247CkBAIC0xNjMsOSArMTYzLDkgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAg
dmlydHVhbCB2b2lkIGRvUGVyZm9ybVRhc2soKTsKKyAgICB2aXJ0dWFsIHZvaWQgZG9QZXJmb3Jt
VGFzaygpIG92ZXJyaWRlOwogI2lmICFMT0dfRElTQUJMRUQKLSAgICB2aXJ0dWFsIGNvbnN0IGNo
YXIqIGRlYnVnVGFza05hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGRlYnVn
VGFza05hbWUoKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCiAgICAgVmVjdG9yPFN0cmluZz4m
IG1fdGFibGVOYW1lczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVM
b2NhbElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRU
eXBlLmgKaW5kZXggNmQ0NjI2Y2I1NTE2MWZkOTY4NTMyNTliZGYxN2M1YWNmOTg1MWM5Mi4uOTI5
YTRjYTZhMDYyMzM3ODRjZjRhMDFlYWQ2MWE3MGQ0OTJjY2JlNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBlKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc0RhdGUoKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoZG91YmxlLCBFeGNlcHRpb25Db2RlJikg
Y29uc3Qgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBTdGVwUmFuZ2UgY3JlYXRlU3RlcFJhbmdlKEFu
eVN0ZXBIYW5kbGluZykgY29uc3Q7CisgICAgdmlydHVhbCBTdGVwUmFuZ2UgY3JlYXRlU3RlcFJh
bmdlKEFueVN0ZXBIYW5kbGluZykgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHBh
cnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3Ro
LCBEYXRlQ29tcG9uZW50cyopIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBzZXRN
aWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBpc0RhdGVUaW1lTG9jYWxGaWVsZCgpIGNvbnN0
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9z
L1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MuaAppbmRleCA1MjFiZGVjYTc4ZjE2MzkyNzNi
ZTY2NTIzNzdlNzY4Zjc2ZmFiN2IzLi45MTY3Y2ZiYzYzZGVjYzJlZjQ5NGRhN2IyNzU0YWU0MmRh
YmEzM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Ny
b2xsaW5nQ29vcmRpbmF0b3JJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6
CiAgICAgZXhwbGljaXQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MoUGFnZSopOwogICAgIHZpcnR1
YWwgflNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFnZURl
c3Ryb3llZCgpOworICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0VHJlZVN0YXRlSWZOZWVkZWQoKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMuaAppbmRleCA4NzY2M2ZiMDMzYmRiMzllMjA2OTkwM2ViOWNlNDZk
YTU3YTcwMjEzLi41NDQxODVmNjcxYmU3MGIxYjIzNzMwMGFmMDNlYzMxNmIyMDA4Yjc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMoUGFnZSopOwogICAgIHZpcnR1YWwgflNjcm9sbGlu
Z0Nvb3JkaW5hdG9yTWFjKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFs
IHZvaWQgY29tbWl0VHJlZVN0YXRlSWZOZWVkZWQoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDE5YjBi
M2Q1YjJjOWQ2OTRiNWE5NmFmMDExMTNlZGI4MmVlZDQxYzQuLjc2NGJlMjczMGNiYTAxMWJlODk4
NGYzMTE0ODM2NzJiYzUyYjAwZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE1MCwxNSArMTUwLDE1IEBAIHByb3RlY3Rl
ZDoKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGVQcml2YXRlSW50ZXJmYWNlIG92ZXJyaWRlcy4K
ICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7CiAjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcm
LCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25z
dCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNlbmRpZgog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdmlydHVhbCB2b2lkIGxvYWQoTWVkaWFTdHJl
YW1Qcml2YXRlKikgeyB9CiAjZW5kaWYKLSAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlID0gMDsKIAogICAgIHZp
cnR1YWwgdm9pZCBwcmVwYXJlVG9QbGF5KCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBQbGF0Zm9y
bU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBQbGF0Zm9ybU1l
ZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdCBvdmVycmlkZSA9IDA7CiAKICAgICB2aXJ0dWFsIHZv
aWQgcGxheSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBwYXVzZSgpIG92ZXJyaWRlOwpA
QCAtMTY4LDE0ICsxNjgsMTQgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBoYXNBdWRp
bygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fY2FjaGVkSGFzQXVkaW87IH0KICAgICB2aXJ0
dWFsIHZvaWQgc2V0VmlzaWJsZShib29sKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIE1lZGlhVGlt
ZSBkdXJhdGlvbk1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgTWVkaWFU
aW1lIGN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBNZWRpYVRpbWUg
Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
c2Vlayhjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2Vla1dp
dGhUb2xlcmFuY2UoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVk
aWFUaW1lJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHNlZWtpbmcoKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgcGF1c2VkKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdmly
dHVhbCB2b2lkIHNldFZvbHVtZShmbG9hdCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRWb2x1
bWUoZmxvYXQpIG92ZXJyaWRlID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQ2xvc2VkQ2FwdGlv
bnMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2NhY2hlZEhhc0NhcHRpb25zOyB9Ci0gICAg
dmlydHVhbCB2b2lkIHNldENsb3NlZENhcHRpb25zVmlzaWJsZShib29sKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHNldENsb3NlZENhcHRpb25zVmlzaWJsZShib29sKSBvdmVycmlkZSA9IDA7CiAg
ICAgdmlydHVhbCBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG1fbmV0d29ya1N0YXRlOyB9CiAgICAgdmlydHVhbCBNZWRpYVBs
YXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9y
ZWFkeVN0YXRlOyB9CiAgICAgdmlydHVhbCBNZWRpYVRpbWUgbWF4TWVkaWFUaW1lU2Vla2FibGUo
KSBjb25zdCBvdmVycmlkZTsKQEAgLTE4MywyMiArMTgzLDIyIEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IGJ1ZmZlcmVkKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGRpZExvYWRpbmdQcm9ncmVzcygpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXplKGNvbnN0IEludFNpemUmKSBvdmVy
cmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxv
YXRSZWN0JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4
dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3ND
b250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGUgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFs
IFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdCB7IHJldHVybiAwOyB9Ci0gICAg
dmlydHVhbCBib29sIHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVy
aW5nKCkgY29uc3Qgb3ZlcnJpZGUgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBhY2NlbGVyYXRlZFJl
bmRlcmluZ1N0YXRlQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRN
YWludGFpbkFzcGVjdFJhdGlvKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZE1haW50YWluQXNw
ZWN0UmF0aW8oYm9vbCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGNhblNhdmVNZWRpYURh
dGEoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6Ok1vdmllTG9h
ZFR5cGUgbW92aWVMb2FkVHlwZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlRm9y
UmVuZGVyaW5nKCk7CisgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6TW92aWVMb2FkVHlwZSBtb3Zp
ZUxvYWRUeXBlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHByZXBhcmVGb3JS
ZW5kZXJpbmcoKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Z1bGxzY3Jl
ZW4oKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNTY2FubmluZygpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgZmlsZVNpemUoKSBjb25zdCB7
IHJldHVybiB0b3RhbEJ5dGVzKCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2Ny
ZWVuKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2Nhbm5pbmco
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgdW5zaWduZWQgbG9uZyBsb25n
IGZpbGVTaXplKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdG90YWxCeXRlcygpOyB9CiAKICAg
ICAvLyBSZXF1aXJlZCBpbnRlcmZhY2VzIGZvciBjb25jcmV0ZSBkZXJpdmVkIGNsYXNzZXMuCiAg
ICAgdmlydHVhbCB2b2lkIGNyZWF0ZUFWQXNzZXRGb3JVUkwoY29uc3QgU3RyaW5nJikgPSAwOwpA
QCAtMjMzLDcgKzIzMyw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Q
YXVzZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tQbGF5YWJpbGl0eSgpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRp
bWUmIG5lZ2F0aXZlVG9sZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVG9sZXJhbmNl
KSA9IDA7Ci0gICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlcygpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzKCkgY29uc3Qg
b3ZlcnJpZGUgPSAwOwogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJh
bmdlcz4gcGxhdGZvcm1CdWZmZXJlZFRpbWVSYW5nZXMoKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBNZWRpYVRpbWUgcGxhdGZvcm1NYXhUaW1lU2Vla2FibGUoKSBjb25zdCA9IDA7CiAgICAgdmly
dHVhbCBNZWRpYVRpbWUgcGxhdGZvcm1NaW5UaW1lU2Vla2FibGUoKSBjb25zdCA9IDA7CkBAIC0y
NDksNyArMjQ5LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVWaWRlb0xh
eWVyKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95VmlkZW9MYXllcigpID0gMDsKIAot
ICAgIHZpcnR1YWwgYm9vbCBoYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgYm9vbCBoYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgPSAw
OwogCiAgICAgdmlydHVhbCBib29sIGhhc0NvbnRleHRSZW5kZXJlcigpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIGJvb2wgaGFzTGF5ZXJSZW5kZXJlcigpIGNvbnN0ID0gMDsKQEAgLTI5MSwxMiAr
MjkxLDEyIEBAIHByb3RlY3RlZDoKIAogICAgIE1lZGlhUGxheWVyKiBwbGF5ZXIoKSB7IHJldHVy
biBtX3BsYXllcjsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgZW5naW5lRGVzY3JpcHRpb24oKSBj
b25zdCB7IHJldHVybiAiQVZGb3VuZGF0aW9uIjsgfQotICAgIHZpcnR1YWwgbG9uZyBwbGF0Zm9y
bUVycm9yQ29kZSgpIGNvbnN0IHsgcmV0dXJuIGFzc2V0RXJyb3JDb2RlKCk7IH0KKyAgICB2aXJ0
dWFsIFN0cmluZyBlbmdpbmVEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJB
VkZvdW5kYXRpb24iOyB9CisgICAgdmlydHVhbCBsb25nIHBsYXRmb3JtRXJyb3JDb2RlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gYXNzZXRFcnJvckNvZGUoKTsgfQogCiAgICAgdmlydHVhbCB2
b2lkIHRyYWNrTW9kZUNoYW5nZWQoKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoQVZGX0NBUFRJT05T
KQotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlUcmFja01vZGVDaGFuZ2VkKCkgeyB9CisgICAgdmly
dHVhbCB2b2lkIG5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKSBvdmVycmlkZSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc3luY2hyb25pemVUZXh0VHJhY2tTdGF0ZSgpIHsgfQogI2VuZGlmCiAgICAgdm9p
ZCBwcm9jZXNzTmV3QW5kUmVtb3ZlZFRleHRUcmFja3MoY29uc3QgVmVjdG9yPFJlZlB0cjxJbmJh
bmRUZXh0VHJhY2tQcml2YXRlQVZGPj4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9WaWRlb1RyYWNrUHJpdmF0ZUFWRi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL1ZpZGVvVHJhY2tQcml2
YXRlQVZGLmgKaW5kZXggMGE2ODQ0MmVhNjI0OTcxMmYwMTFlNDZkNTZjOTRhYzkwNzNkMTRlNy4u
MmY0YmY3NTM0NGZiNDg3YzAxNGIwNzI5ZWY5MDU3YjRjMDg5MDcxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL1ZpZGVvVHJhY2tQcml2
YXRlQVZGLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL1ZpZGVvVHJhY2tQcml2YXRlQVZGLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgVmlkZW9U
cmFja1ByaXZhdGVBVkYgOiBwdWJsaWMgVmlkZW9UcmFja1ByaXZhdGUgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZpZGVvVHJhY2tQcml2YXRlQVZGKQogcHVibGljOgogCi0gICAgdmlydHVh
bCBpbnQgdHJhY2tJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXg7IH0KKyAgICB2aXJ0dWFs
IGludCB0cmFja0luZGV4KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9pbmRleDsgfQogICAg
IHZpcnR1YWwgS2luZCBraW5kKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9raW5kOyB9CiAg
ICAgdmlydHVhbCBBdG9taWNTdHJpbmcgaWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2lk
OyB9CiAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgbGFiZWwoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX2xhYmVsOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lv
bkFWRm91bmRhdGlvbk9iakMuaAppbmRleCBlNWJlNDY5YWIzNmY4MWEwNDliN2VlZDk5MGIwMTBj
YWQwNWM2MDI1Li5lN2U4ZTJiMDI3NmRkMDQ1MWU4ODcwYjJiNjZkNjM1YWYzN2YyZTY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9DRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRpb25PYmpD
LmgKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIENETVNlc3Npb25BVkZvdW5kYXRpb25P
YmpDKE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMqIHBhcmVudCk7CiAgICAgdmly
dHVhbCB+Q0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakMoKSB7IH0KIAotICAgIHZpcnR1YWwgQ0RN
U2Vzc2lvblR5cGUgdHlwZSgpIHsgcmV0dXJuIENETVNlc3Npb25UeXBlQVZGb3VuZGF0aW9uT2Jq
QzsgfQorICAgIHZpcnR1YWwgQ0RNU2Vzc2lvblR5cGUgdHlwZSgpIG92ZXJyaWRlIHsgcmV0dXJu
IENETVNlc3Npb25UeXBlQVZGb3VuZGF0aW9uT2JqQzsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRD
bGllbnQoQ0RNU2Vzc2lvbkNsaWVudCogY2xpZW50KSBvdmVycmlkZSB7IG1fY2xpZW50ID0gY2xp
ZW50OyB9CiAgICAgdmlydHVhbCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fc2Vzc2lvbklkOyB9CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFVpbnQ4
QXJyYXk+IGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBVaW50OEFy
cmF5KiBpbml0RGF0YSwgU3RyaW5nJiBkZXN0aW5hdGlvblVSTCwgdW5zaWduZWQgc2hvcnQmIGVy
cm9yQ29kZSwgdW5zaWduZWQgbG9uZyYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1T
ZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5k
ZXggZGM1MGEzYzczMjkzMzU1Mzk3YWFmZjIwMWRlM2FmZjQ1ZWU3MjM5ZS4uM2E5NzVhZmE2MDNl
ZWI2N2IyMjAyZTQ4ZjA4ZWQwYTIwNDcwMGE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlhU291cmNl
QVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtNDIsMTUgKzQyLDE1
IEBAIHB1YmxpYzoKICAgICBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDKGNvbnN0IFZlY3Rv
cjxpbnQ+JiBwcm90b2NvbFZlcnNpb25zKTsKICAgICB2aXJ0dWFsIH5DRE1TZXNzaW9uTWVkaWFT
b3VyY2VBVkZPYmpDKCk7CiAKLSAgICB2aXJ0dWFsIENETVNlc3Npb25UeXBlIHR5cGUoKSB7IHJl
dHVybiBDRE1TZXNzaW9uVHlwZU1lZGlhU291cmNlQVZGT2JqQzsgfQorICAgIHZpcnR1YWwgQ0RN
U2Vzc2lvblR5cGUgdHlwZSgpIG92ZXJyaWRlIHsgcmV0dXJuIENETVNlc3Npb25UeXBlTWVkaWFT
b3VyY2VBVkZPYmpDOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldENsaWVudChDRE1TZXNzaW9uQ2xp
ZW50KiBjbGllbnQpIG92ZXJyaWRlIHsgbV9jbGllbnQgPSBjbGllbnQ7IH0KICAgICB2aXJ0dWFs
IGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zZXNz
aW9uSWQ7IH0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8VWludDhBcnJheT4gZ2VuZXJhdGVLZXlS
ZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4QXJyYXkqIGluaXREYXRhLCBTdHJp
bmcmIGRlc3RpbmF0aW9uVVJMLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1bnNpZ25lZCBs
b25nJiBzeXN0ZW1Db2RlKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVsZWFzZUtleXMo
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgdXBkYXRlKFVpbnQ4QXJyYXkqLCBSZWZQdHI8
VWludDhBcnJheT4mIG5leHRNZXNzYWdlLCB1bnNpZ25lZCBzaG9ydCYgZXJyb3JDb2RlLCB1bnNp
Z25lZCBsb25nJiBzeXN0ZW1Db2RlKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBsYXll
ckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciAqLCBOU0Vycm9yICos
IGJvb2wmIHNob3VsZElnbm9yZSk7Ci0gICAgdmlydHVhbCB2b2lkIHJlbmRlcmVyRGlkUmVjZWl2
ZUVycm9yKEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlciAqLCBOU0Vycm9yICosIGJvb2wmIHNo
b3VsZElnbm9yZSk7CisgICAgdmlydHVhbCB2b2lkIGxheWVyRGlkUmVjZWl2ZUVycm9yKEFWU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyICosIE5TRXJyb3IgKiwgYm9vbCYgc2hvdWxkSWdub3JlKSBv
dmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1w
bGVCdWZmZXJBdWRpb1JlbmRlcmVyICosIE5TRXJyb3IgKiwgYm9vbCYgc2hvdWxkSWdub3JlKSBv
dmVycmlkZTsKIAogICAgIHZvaWQgc2V0U3RyZWFtU2Vzc2lvbihBVlN0cmVhbVNlc3Npb24gKik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCBiZjIwNmU1YjZhMTIxMTliY2QxYTJjOTM3NDc4
ZDFlNTNjNDM1ODg5Li5kNmEwNGMzODg1ZjA4NmY1MjMxN2RhMTczOWMzY2YxODE5YzcwZmYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCkBAIC0xMTcsNyArMTE3LDcgQEAgcHVibGljOgogICAgIHZv
aWQgY2FuUGxheUZhc3RSZXZlcnNlRGlkQ2hhbmdlKGJvb2wpOwogICAgIHZvaWQgY2FuUGxheUZh
c3RGb3J3YXJkRGlkQ2hhbmdlKGJvb2wpOwogCi0gICAgdmlydHVhbCB2b2lkIHNldFNob3VsZEJ1
ZmZlckRhdGEoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZEJ1ZmZlckRhdGEoYm9v
bCkgb3ZlcnJpZGU7CiAKICNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQpCiAgICAg
dm9pZCBvdXRwdXRNZWRpYURhdGFXaWxsQ2hhbmdlKEFWUGxheWVySXRlbVZpZGVvT3V0cHV0Kik7
CkBAIC0xNDIsNzAgKzE0Miw3MCBAQCBwcml2YXRlOgogCiAgICAgc3RhdGljIGJvb2wgaXNBdmFp
bGFibGUoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxMb2FkKCk7CisgICAgdmlydHVhbCB2
b2lkIGNhbmNlbExvYWQoKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgUGxhdGZvcm1NZWRpYSBw
bGF0Zm9ybU1lZGlhKCkgY29uc3Q7CisgICAgdmlydHVhbCBQbGF0Zm9ybU1lZGlhIHBsYXRmb3Jt
TWVkaWEoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybVNldFZp
c2libGUoYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtUGxheSgpOwotICAgIHZpcnR1
YWwgdm9pZCBwbGF0Zm9ybVBhdXNlKCk7CisgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtU2V0Vmlz
aWJsZShib29sKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1QbGF5KCkgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtUGF1c2UoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIE1lZGlhVGltZSBjdXJyZW50TWVkaWFUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAg
dmlydHVhbCB2b2lkIHNldFZvbHVtZShmbG9hdCk7Ci0gICAgdmlydHVhbCB2b2lkIHNldENsb3Nl
ZENhcHRpb25zVmlzaWJsZShib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3ND
b250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50Q3VycmVu
dEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwotICAg
IHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0OworICAgIHZpcnR1
YWwgdm9pZCBzZXRWb2x1bWUoZmxvYXQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzZXRD
bG9zZWRDYXB0aW9uc1Zpc2libGUoYm9vbCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHBh
aW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBs
YXRmb3JtTGF5ZXIoKSBjb25zdCBvdmVycmlkZTsKICNpZiBQTEFURk9STShJT1MpCi0gICAgdmly
dHVhbCB2b2lkIHNldFZpZGVvRnVsbHNjcmVlbkxheWVyKFBsYXRmb3JtTGF5ZXIqKTsKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUoRmxvYXRSZWN0KTsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0VmlkZW9GdWxsc2NyZWVuR3Jhdml0eShNZWRpYVBsYXllcjo6VmlkZW9HcmF2
aXR5KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIoUGxhdGZvcm1M
YXllciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5GcmFt
ZShGbG9hdFJlY3QpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzZXRWaWRlb0Z1bGxzY3Jl
ZW5HcmF2aXR5KE1lZGlhUGxheWVyOjpWaWRlb0dyYXZpdHkpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKE1lZGlhUGxheWVyOjpWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgTlNBcnJheSAqdGltZWRNZXRhZGF0YSgp
IGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgU3RyaW5nIGFjY2Vzc0xvZygpIGNvbnN0Owot
ICAgIHZpcnR1YWwgU3RyaW5nIGVycm9yTG9nKCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcg
YWNjZXNzTG9nKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBTdHJpbmcgZXJyb3JMb2co
KSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCi0gICAgdmlydHVhbCBib29sIHN1cHBvcnRzQWNj
ZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBN
ZWRpYVRpbWUgbWVkaWFUaW1lRm9yVGltZVZhbHVlKGNvbnN0IE1lZGlhVGltZSYpIGNvbnN0Owot
ICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW1EdXJhdGlvblRvQ2FjaGVNZWRpYVRpbWUoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNBY2NlbGVyYXRlZFJlbmRlcmluZygpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIE1lZGlhVGltZSBtZWRpYVRp
bWVGb3JUaW1lVmFsdWUoY29uc3QgTWVkaWFUaW1lJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBkb3VibGUgbWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSgpIGNvbnN0IG92ZXJy
aWRlOwogCi0gICAgdmlydHVhbCB2b2lkIGNyZWF0ZUFWUGxheWVyKCk7Ci0gICAgdmlydHVhbCB2
b2lkIGNyZWF0ZUFWUGxheWVySXRlbSgpOworICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVBVlBsYXll
cigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVBVlBsYXllckl0ZW0oKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlQVZQbGF5ZXJMYXllcigpOwotICAgIHZpcnR1
YWwgdm9pZCBjcmVhdGVBVkFzc2V0Rm9yVVJMKGNvbnN0IFN0cmluZyYgdXJsKTsKLSAgICB2aXJ0
dWFsIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6SXRlbVN0YXR1cyBwbGF5ZXJJdGVt
U3RhdHVzKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b246OkFzc2V0U3RhdHVzIGFzc2V0U3RhdHVzKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBsb25nIGFz
c2V0RXJyb3JDb2RlKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUFWQXNzZXRGb3JV
UkwoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uOjpJdGVtU3RhdHVzIHBsYXllckl0ZW1TdGF0dXMoKSBjb25zdCBv
dmVycmlkZTsKKyAgICB2aXJ0dWFsIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6QXNz
ZXRTdGF0dXMgYXNzZXRTdGF0dXMoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGxvbmcg
YXNzZXRFcnJvckNvZGUoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBjaGVj
a1BsYXlhYmlsaXR5KCk7CisgICAgdmlydHVhbCB2b2lkIGNoZWNrUGxheWFiaWxpdHkoKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmF0ZURvdWJsZShkb3VibGUpIG92ZXJyaWRlOwot
ICAgIHZpcnR1YWwgZG91YmxlIHJhdGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSByYXRl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRQcmVzZXJ2ZXNQaXRjaChib29sKSBvdmVy
cmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25z
dCBNZWRpYVRpbWUmIG5lZ2F0aXZlVG9sZXJhbmNlLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZl
VG9sZXJhbmNlKTsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBw
bGF0Zm9ybUJ1ZmZlcmVkVGltZVJhbmdlcygpIGNvbnN0OwotICAgIHZpcnR1YWwgTWVkaWFUaW1l
IHBsYXRmb3JtTWluVGltZVNlZWthYmxlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBNZWRpYVRpbWUg
cGxhdGZvcm1NYXhUaW1lU2Vla2FibGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIE1lZGlhVGltZSBw
bGF0Zm9ybUR1cmF0aW9uKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBNZWRpYVRpbWUgcGxhdGZvcm1N
YXhUaW1lTG9hZGVkKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGJlZ2luTG9hZGluZ01ldGFk
YXRhKCk7Ci0gICAgdmlydHVhbCB2b2lkIHNpemVDaGFuZ2VkKCk7CisgICAgdmlydHVhbCB2b2lk
IHNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiBuZWdhdGl2ZVRv
bGVyYW5jZSwgY29uc3QgTWVkaWFUaW1lJiBwb3NpdGl2ZVRvbGVyYW5jZSkgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlcygpIGNvbnN0IG92ZXJyaWRl
OworICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gcGxhdGZv
cm1CdWZmZXJlZFRpbWVSYW5nZXMoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIE1lZGlh
VGltZSBwbGF0Zm9ybU1pblRpbWVTZWVrYWJsZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1
YWwgTWVkaWFUaW1lIHBsYXRmb3JtTWF4VGltZVNlZWthYmxlKCkgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCBNZWRpYVRpbWUgcGxhdGZvcm1EdXJhdGlvbigpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIHZpcnR1YWwgTWVkaWFUaW1lIHBsYXRmb3JtTWF4VGltZUxvYWRlZCgpIGNvbnN0IG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBiZWdpbkxvYWRpbmdNZXRhZGF0YSgpIG92ZXJyaWRlOwor
ICAgIHZpcnR1YWwgdm9pZCBzaXplQ2hhbmdlZCgpIG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBi
b29sIGhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFz
QXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCB2b2lk
IGNyZWF0ZUNvbnRleHRWaWRlb1JlbmRlcmVyKCk7Ci0gICAgdmlydHVhbCB2b2lkIGRlc3Ryb3lD
b250ZXh0VmlkZW9SZW5kZXJlcigpOworICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVDb250ZXh0Vmlk
ZW9SZW5kZXJlcigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95Q29udGV4dFZp
ZGVvUmVuZGVyZXIoKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVWaWRlb0xh
eWVyKCk7Ci0gICAgdmlydHVhbCB2b2lkIGRlc3Ryb3lWaWRlb0xheWVyKCk7CisgICAgdmlydHVh
bCB2b2lkIGNyZWF0ZVZpZGVvTGF5ZXIoKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVz
dHJveVZpZGVvTGF5ZXIoKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgYm9vbCBoYXNDb250ZXh0
UmVuZGVyZXIoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzTGF5ZXJSZW5kZXJlcigpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNDb250ZXh0UmVuZGVyZXIoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzTGF5ZXJSZW5kZXJlcigpIGNvbnN0IG92ZXJyaWRlOwog
CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVZpZGVvTGF5ZXJHcmF2aXR5KCkgb3ZlcnJpZGU7CiAK
LSAgICB2aXJ0dWFsIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCBvdmVycmlkZTsKIAog
I2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbigpIGNvbnN0IG92ZXJyaWRlOwpAQCAtMjE2LDcgKzIxNiw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBzZXRBVlBsYXllckl0ZW0oQVZQbGF5ZXJJdGVtICopOwogCiAjaWYg
RU5BQkxFKFdFQl9BVURJTykgJiYgVVNFKE1FRElBVE9PTEJPWCkKLSAgICB2aXJ0dWFsIEF1ZGlv
U291cmNlUHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIoKTsKKyAgICB2aXJ0dWFsIEF1ZGlv
U291cmNlUHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIoKSBvdmVycmlkZTsKICNlbmRpZgog
CiAgICAgdm9pZCBjcmVhdGVJbWFnZUdlbmVyYXRvcigpOwpAQCAtMjM2LDEzICsyMzYsMTMgQEAg
cHJpdmF0ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICB2aXJ0
dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBhZGRLZXkoY29uc3QgU3RyaW5nJiwg
Y29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5z
aWduZWQsIGNvbnN0IFN0cmluZyYpOwotICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5
RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmLCBjb25zdCB1bnNpZ25l
ZCBjaGFyKiwgdW5zaWduZWQpOwotICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhj
ZXB0aW9uIGNhbmNlbEtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJik7Cisg
ICAgdmlydHVhbCBNZWRpYVBsYXllcjo6TWVkaWFLZXlFeGNlcHRpb24gYWRkS2V5KGNvbnN0IFN0
cmluZyYsIGNvbnN0IHVuc2lnbmVkIGNoYXIqLCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQgY2hh
ciosIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIE1lZGlh
UGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5n
JiwgY29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBjYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0
cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5D
UllQVEVEX01FRElBX1YyKQotICAgIHN0ZDo6dW5pcXVlX3B0cjxDRE1TZXNzaW9uPiBjcmVhdGVT
ZXNzaW9uKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0RN
U2Vzc2lvbj4gY3JlYXRlU2Vzc2lvbihjb25zdCBTdHJpbmcmIGtleVN5c3RlbSkgb3ZlcnJpZGU7
CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgU3RyaW5nIGxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFj
aygpIGNvbnN0IG92ZXJyaWRlOwpAQCAtMjgwLDcgKzI4MCw3IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5
YmFja1RhcmdldFR5cGUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgd2lyZWxl
c3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCkgb3ZlcnJpZGU7Ci0gICAg
dmlydHVhbCBib29sIGNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tU
YXJnZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCB1cGRhdGVE
aXNhYmxlRXh0ZXJuYWxQbGF5YmFjaygpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1t
CmluZGV4IGM5ODI0YmRkNTJmMGU0MzY2MTQxNjI0MjllY2M5ZDI3MjMxMDdhMWYuLjhmM2QzM2Fk
ZTVhNWFjOThmYjRjZThlMmZlMDRjNDVmMmIxNzBhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bQpAQCAtNDE0LDI4ICs0MTQsMjggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVmQXV0
aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7IHJlZigpOyB9CiAgICAgdmlydHVhbCB2b2lk
IGRlcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KIAotICAg
IHZpcnR1YWwgdm9pZCByZWNlaXZlZENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UmLCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsKQorICAgIHZpcnR1YWwgdm9pZCBy
ZWNlaXZlZENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBD
cmVkZW50aWFsJiBjcmVkZW50aWFsKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgW1ttX2NoYWxs
ZW5nZSBzZW5kZXJdIHVzZUNyZWRlbnRpYWw6Y3JlZGVudGlhbC5uc0NyZWRlbnRpYWwoKSBmb3JB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZTptX2NoYWxsZW5nZS5nZXQoKV07CiAgICAgfQogCi0gICAg
dmlydHVhbCB2b2lkIHJlY2VpdmVkUmVxdWVzdFRvQ29udGludWVXaXRob3V0Q3JlZGVudGlhbChj
b25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCisgICAgdmlydHVhbCB2b2lkIHJlY2VpdmVk
UmVxdWVzdFRvQ29udGludWVXaXRob3V0Q3JlZGVudGlhbChjb25zdCBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBbW21fY2hhbGxlbmdlIHNlbmRlcl0g
Y29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOm1fY2hh
bGxlbmdlLmdldCgpXTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRDYW5jZWxs
YXRpb24oY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKQorICAgIHZpcnR1YWwgdm9pZCBy
ZWNlaXZlZENhbmNlbGxhdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpIG92ZXJy
aWRlCiAgICAgewogICAgICAgICBbW21fY2hhbGxlbmdlIHNlbmRlcl0gY2FuY2VsQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2U6bV9jaGFsbGVuZ2UuZ2V0KCldOwogICAgIH0KIAotICAgIHZpcnR1YWwg
dm9pZCByZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFuZGxpbmcoY29uc3QgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmKQorICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZFJlcXVlc3RUb1Bl
cmZvcm1EZWZhdWx0SGFuZGxpbmcoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKSBvdmVy
cmlkZQogICAgIHsKICAgICAgICAgaWYgKFtbbV9jaGFsbGVuZ2Ugc2VuZGVyXSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKHBlcmZvcm1EZWZhdWx0SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZTopXSkKICAgICAgICAgICAgIFtbbV9jaGFsbGVuZ2Ugc2VuZGVyXSBwZXJmb3Jt
RGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6bV9jaGFsbGVuZ2UuZ2V0
KCldOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZENoYWxsZW5nZVJlamVjdGlv
bihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCisgICAgdmlydHVhbCB2b2lkIHJlY2Vp
dmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikgb3Zl
cnJpZGUKICAgICB7CiAgICAgICAgIGlmIChbW21fY2hhbGxlbmdlIHNlbmRlcl0gcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihyZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhD
aGFsbGVuZ2U6KV0pCiAgICAgICAgICAgICBbW21fY2hhbGxlbmdlIHNlbmRlcl0gcmVqZWN0UHJv
dGVjdGlvblNwYWNlQW5kQ29udGludWVXaXRoQ2hhbGxlbmdlOm1fY2hhbGxlbmdlLmdldCgpXTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggNTM0MDNhNDk0MjEwOTM3YTI3ZTFjZjBmNTQ2
ZDg5MTI1NDczYTdkMi4uZjg2MDNmZGZiOGQ4ZmM3ODA1OTFkMTQ0MDIzMjA2Mjc5ZWVlZTIyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTEwNCw3ICsxMDQsNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgUGxhdGZvcm1NZWRpYSBwbGF0Zm9ybU1lZGlhKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuKCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW4oKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGxheSgpIG92ZXJy
aWRlOwogICAgIHZvaWQgcGxheUludGVybmFsKCk7CkBAIC0xNzMsNyArMTczLDcgQEAgcHJpdmF0
ZToKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdmlydHVhbCBi
b29sIGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSBjb25zdCBvdmVycmlkZTsKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0V2lyZWxlc3NQbGF5YmFja1RhcmdldChSZWY8TWVkaWFQbGF5YmFj
a1RhcmdldD4mJik7CisgICAgdmlydHVhbCB2b2lkIHNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQo
UmVmPE1lZGlhUGxheWJhY2tUYXJnZXQ+JiYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sKSBvdmVycmlkZTsKICAgICBib29sIHdp
cmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFs
c2U7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAppbmRleCAzMmMxYTEyNTI0
MGJjMmYxYmQ5NGM3MmZmOTNkOGM4NTY3OTE2ZTkxLi5mYmE3ZDA2YjQ4YmFmOGZhMjY3NDA3MTgy
OTI0YjAwMTY4ODhhZTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaApAQCAtNzMsNjkg
KzczLDY5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgY2xlYXJNZWRpYUNhY2hlRm9yU2l0
ZShjb25zdCBTdHJpbmcmKTsKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogCi0gICAg
UGxhdGZvcm1NZWRpYSBwbGF0Zm9ybU1lZGlhKCkgY29uc3Q7Ci0gICAgUGxhdGZvcm1MYXllciog
cGxhdGZvcm1MYXllcigpIGNvbnN0OworICAgIFBsYXRmb3JtTWVkaWEgcGxhdGZvcm1NZWRpYSgp
IGNvbnN0IG92ZXJyaWRlOworICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25z
dCBvdmVycmlkZTsKIAogICAgIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0IG92ZXJyaWRl
OwotICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdDsKLSAgICBib29sIGhhc0F1ZGlvKCkgY29uc3Q7
Ci0gICAgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW4oKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNTY2FubmluZygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGhhc1Zp
ZGVvKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0IG92ZXJyaWRl
OworICAgIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBib29sIHN1cHBvcnRzU2Nhbm5pbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVl
OyB9CiAgICAgCi0gICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKKyAgICB2b2lkIGxv
YWQoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
Ci0gICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50Kik7CisgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogICAgIHZpcnR1YWwgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSopIHsgfQogI2Vu
ZGlmCi0gICAgdm9pZCBjYW5jZWxMb2FkKCk7CisgICAgdm9pZCBjYW5jZWxMb2FkKCkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBsb2FkSW50ZXJuYWwoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQg
cmVzdW1lTG9hZCgpOwogICAgIAotICAgIHZvaWQgcGxheSgpOwotICAgIHZvaWQgcGF1c2UoKTsg
ICAgCi0gICAgdm9pZCBwcmVwYXJlVG9QbGF5KCk7CisgICAgdm9pZCBwbGF5KCkgb3ZlcnJpZGU7
CisgICAgdm9pZCBwYXVzZSgpIG92ZXJyaWRlOworICAgIHZvaWQgcHJlcGFyZVRvUGxheSgpIG92
ZXJyaWRlOwogICAgIAotICAgIGJvb2wgcGF1c2VkKCkgY29uc3Q7Ci0gICAgYm9vbCBzZWVraW5n
KCkgY29uc3Q7CisgICAgYm9vbCBwYXVzZWQoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIHNl
ZWtpbmcoKSBjb25zdCBvdmVycmlkZTsKICAgICAKICAgICB2aXJ0dWFsIE1lZGlhVGltZSBkdXJh
dGlvbk1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgTWVkaWFUaW1lIGN1
cnJlbnRNZWRpYVRpbWUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2Vlayhj
b25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICAKLSAgICB2b2lkIHNldFJhdGUoZmxvYXQp
OworICAgIHZvaWQgc2V0UmF0ZShmbG9hdCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBkb3VibGUg
cmF0ZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgc2V0Vm9sdW1lKGZsb2F0KTsKLSAgICB2
b2lkIHNldFByZXNlcnZlc1BpdGNoKGJvb2wpOworICAgIHZvaWQgc2V0Vm9sdW1lKGZsb2F0KSBv
dmVycmlkZTsKKyAgICB2b2lkIHNldFByZXNlcnZlc1BpdGNoKGJvb2wpIG92ZXJyaWRlOwogCi0g
ICAgYm9vbCBoYXNDbG9zZWRDYXB0aW9ucygpIGNvbnN0OwotICAgIHZvaWQgc2V0Q2xvc2VkQ2Fw
dGlvbnNWaXNpYmxlKGJvb2wpOworICAgIGJvb2wgaGFzQ2xvc2VkQ2FwdGlvbnMoKSBjb25zdCBv
dmVycmlkZTsKKyAgICB2b2lkIHNldENsb3NlZENhcHRpb25zVmlzaWJsZShib29sKSBvdmVycmlk
ZTsKIAotICAgIHZvaWQgc2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCk7CisgICAgdm9p
ZCBzZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkKSBvdmVycmlkZTsKIAotICAgIE1lZGlh
UGxheWVyOjpOZXR3b3JrU3RhdGUgbmV0d29ya1N0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9uZXR3
b3JrU3RhdGU7IH0KLSAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29u
c3QgeyByZXR1cm4gbV9yZWFkeVN0YXRlOyB9CisgICAgTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0
ZSBuZXR3b3JrU3RhdGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX25ldHdvcmtTdGF0ZTsg
fQorICAgIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBtX3JlYWR5U3RhdGU7IH0KICAgICAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxh
dGZvcm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0OwotICAgIE1lZGlhVGltZSBtYXhNZWRp
YVRpbWVTZWVrYWJsZSgpIGNvbnN0OwotICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29u
c3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXMoKSBjb25zdDsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0IG92ZXJyaWRl
OworICAgIE1lZGlhVGltZSBtYXhNZWRpYVRpbWVTZWVrYWJsZSgpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdW5zaWdu
ZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXMoKSBjb25zdCBvdmVycmlkZTsKICAgICAKLSAgICB2b2lk
IHNldFZpc2libGUoYm9vbCk7Ci0gICAgdm9pZCBzZXRTaXplKGNvbnN0IEludFNpemUmKTsKKyAg
ICB2b2lkIHNldFZpc2libGUoYm9vbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTaXplKGNvbnN0
IEludFNpemUmKSBvdmVycmlkZTsKICAgICAKLSAgICB2aXJ0dWFsIGJvb2wgaGFzQXZhaWxhYmxl
VmlkZW9GcmFtZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNBdmFpbGFibGVWaWRlb0Zy
YW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEZsb2F0UmVjdCYpOwotICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQo
R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAgdmlydHVhbCB2b2lkIHBy
ZXBhcmVGb3JSZW5kZXJpbmcoKTsKKyAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNv
bnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOworICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNv
bnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIHByZXBhcmVGb3JSZW5kZXJpbmcoKSBvdmVycmlkZTsKIAotICAgIGJvb2wg
c3VwcG9ydHNBY2NlbGVyYXRlZFJlbmRlcmluZygpIGNvbnN0OwotICAgIHZvaWQgYWNjZWxlcmF0
ZWRSZW5kZXJpbmdTdGF0ZUNoYW5nZWQoKTsKKyAgICBib29sIHN1cHBvcnRzQWNjZWxlcmF0ZWRS
ZW5kZXJpbmcoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGFjY2VsZXJhdGVkUmVuZGVyaW5n
U3RhdGVDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAKLSAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3Jp
Z2luKCkgY29uc3Q7Ci0gICAgTWVkaWFQbGF5ZXI6Ok1vdmllTG9hZFR5cGUgbW92aWVMb2FkVHlw
ZSgpIGNvbnN0OworICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCBvdmVy
cmlkZTsKKyAgICBNZWRpYVBsYXllcjo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0
IG92ZXJyaWRlOwogCkBAIC0xNzAsMTggKzE3MCwxOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBp
c1JlYWR5Rm9yVmlkZW9TZXR1cCgpIGNvbnN0OwogCi0gICAgdmlydHVhbCBkb3VibGUgbWF4aW11
bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSgpIGNvbnN0IHsgcmV0dXJuIDU7IH0KKyAgICB2aXJ0
dWFsIGRvdWJsZSBtYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gNTsgfQogCi0gICAgdmlydHVhbCB2b2lkIHNldFByaXZhdGVCcm93c2luZ01v
ZGUoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFByaXZhdGVCcm93c2luZ01vZGUoYm9vbCkg
b3ZlcnJpZGU7CiAgICAgCiAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSogY29tbW9uTW92aWVBdHRy
aWJ1dGVzKCk7CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBlbmdpbmVEZXNjcmlwdGlvbigpIGNvbnN0
IHsgcmV0dXJuICJRVEtpdCI7IH0KLSAgICB2aXJ0dWFsIGxvbmcgcGxhdGZvcm1FcnJvckNvZGUo
KSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyBlbmdpbmVEZXNjcmlwdGlvbigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuICJRVEtpdCI7IH0KKyAgICB2aXJ0dWFsIGxvbmcgcGxhdGZvcm1FcnJv
ckNvZGUoKSBjb25zdCBvdmVycmlkZTsKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpCiAgICAgdmlydHVhbCBib29sIGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3Mo
KSBjb25zdCBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0V2lyZWxlc3NQbGF5YmFja1Rh
cmdldChSZWY8TWVkaWFQbGF5YmFja1RhcmdldD4mJik7CisgICAgdmlydHVhbCB2b2lkIHNldFdp
cmVsZXNzUGxheWJhY2tUYXJnZXQoUmVmPE1lZGlhUGxheWJhY2tUYXJnZXQ+JiYpIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sKSBv
dmVycmlkZTsKICAgICBib29sIHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAppbmRleCBhMGNlYzc5MDNmZDJkZGM1MmQ0
MTRhNTgyYWU0YWZmNDcyYjBjYmJkLi43MzkwMDA0YTc2NzJiNTJkM2ZmZTM1YjBiNzQxODA2MDll
N2VhNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0
b3JNYWMuaApAQCAtODEsOCArODEsOCBAQCBwcml2YXRlOgogICAgIFRpbWVyIG1fc2VuZENvbnRl
bnRBcmVhU2Nyb2xsZWRUaW1lcjsKICAgICBGbG9hdFNpemUgbV9jb250ZW50QXJlYVNjcm9sbGVk
VGltZXJTY3JvbGxEZWx0YTsKIAotICAgIHZpcnR1YWwgYm9vbCBzY3JvbGwoU2Nyb2xsYmFyT3Jp
ZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVy
KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0
aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihj
b25zdCBGbG9hdFBvaW50Jikgb3ZlcnJpZGU7CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcp
CiAgICAgdmlydHVhbCBib29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50Jikgb3ZlcnJpZGU7CkBAIC05MCwzNyArOTAsMzcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVXaGVlbEV2ZW50UGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UpIG92
ZXJyaWRlOwogCi0gICAgdmlydHVhbCB2b2lkIGNhbmNlbEFuaW1hdGlvbnMoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgY2FuY2VsQW5pbWF0aW9ucygpIG92ZXJyaWRlOwogICAgIAotICAgIHZpcnR1YWwg
dm9pZCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSk7Ci0gICAg
dmlydHVhbCB2b2lkIGNvbnRlbnRBcmVhV2lsbFBhaW50KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2
b2lkIG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIG1v
dXNlRXhpdGVkQ29udGVudEFyZWEoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgbW91c2VNb3Zl
ZEluQ29udGVudEFyZWEoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgbW91c2VFbnRlcmVkU2Ny
b2xsYmFyKFNjcm9sbGJhciopIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBtb3VzZUV4aXRlZFNj
cm9sbGJhcihTY3JvbGxiYXIqKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgd2lsbFN0YXJ0TGl2
ZVJlc2l6ZSgpOwotICAgIHZpcnR1YWwgdm9pZCBjb250ZW50c1Jlc2l6ZWQoKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIHZvaWQgd2lsbEVuZExpdmVSZXNpemUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgY29u
dGVudEFyZWFEaWRTaG93KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGNvbnRlbnRBcmVhRGlk
SGlkZSgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29u
c3QgRmxvYXRTaXplJiBkZWx0YSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRB
cmVhV2lsbFBhaW50KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIG1vdXNlRW50
ZXJlZENvbnRlbnRBcmVhKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIG1vdXNl
RXhpdGVkQ29udGVudEFyZWEoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgbW91
c2VNb3ZlZEluQ29udGVudEFyZWEoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
bW91c2VFbnRlcmVkU2Nyb2xsYmFyKFNjcm9sbGJhciopIGNvbnN0IG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBtb3VzZUV4aXRlZFNjcm9sbGJhcihTY3JvbGxiYXIqKSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFN0YXJ0TGl2ZVJlc2l6ZSgpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBjb250ZW50c1Jlc2l6ZWQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0
dWFsIHZvaWQgd2lsbEVuZExpdmVSZXNpemUoKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
Y29udGVudEFyZWFEaWRTaG93KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGNv
bnRlbnRBcmVhRGlkSGlkZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQmVnaW5TY3Jv
bGxHZXN0dXJlKCkgY29uc3Q7CiAgICAgdm9pZCBkaWRFbmRTY3JvbGxHZXN0dXJlKCkgY29uc3Q7
CiAgICAgdm9pZCBtYXlCZWdpblNjcm9sbEdlc3R1cmUoKSBjb25zdDsKIAogICAgIHZpcnR1YWwg
dm9pZCBsb2NrT3ZlcmxheVNjcm9sbGJhclN0YXRlVG9IaWRkZW4oYm9vbCBzaG91bGRMb2NrU3Rh
dGUpIG92ZXJyaWRlIGZpbmFsOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZEFkZFZlcnRpY2FsU2Ny
b2xsYmFyKFNjcm9sbGJhciopOwotICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVtb3ZlVmVydGljYWxT
Y3JvbGxiYXIoU2Nyb2xsYmFyKik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEFkZEhvcml6b250YWxT
Y3JvbGxiYXIoU2Nyb2xsYmFyKik7Ci0gICAgdmlydHVhbCB2b2lkIHdpbGxSZW1vdmVIb3Jpem9u
dGFsU2Nyb2xsYmFyKFNjcm9sbGJhciopOworICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRWZXJ0aWNh
bFNjcm9sbGJhcihTY3JvbGxiYXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFJl
bW92ZVZlcnRpY2FsU2Nyb2xsYmFyKFNjcm9sbGJhciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCBkaWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciopIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCB3aWxsUmVtb3ZlSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqKSBv
dmVycmlkZTsKIAogICAgIHZvaWQgaW52YWxpZGF0ZVNjcm9sbGJhclBhcnRMYXllcnMoU2Nyb2xs
YmFyKikgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgdmVydGljYWxTY3JvbGxiYXJMYXll
ckRpZENoYW5nZSgpOwotICAgIHZpcnR1YWwgdm9pZCBob3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXJE
aWRDaGFuZ2UoKTsKKyAgICB2aXJ0dWFsIHZvaWQgdmVydGljYWxTY3JvbGxiYXJMYXllckRpZENo
YW5nZSgpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBob3Jpem9udGFsU2Nyb2xsYmFyTGF5
ZXJEaWRDaGFuZ2UoKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTY3JvbGxi
YXJQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZyhTY3JvbGxiYXIqKTsKKyAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkU2Nyb2xsYmFyUGFydGljaXBhdGVJbkhpdFRlc3RpbmcoU2Nyb2xsYmFyKikgb3ZlcnJp
ZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q29udGVudEFyZWFTY3JvbGxlZChjb25zdCBG
bG9hdFNpemUmIGRlbHRhKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1NlcmlhbGl6ZWRQbGF0Zm9ybVJlcHJlc2VudGF0aW9uTWFjLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2VyaWFsaXplZFBsYXRmb3JtUmVwcmVzZW50YXRpb25N
YWMuaAppbmRleCA3OTI2MmI3MzFmM2Q2NGM1NDAwMmY3ZjM3N2U5NzE4ODY5YzlhNGYwLi4zYjUx
MDUyMGMzOWQ0MmJlNjVhOGU0OWI4YjhkNDI2MjgwM2MwYmFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2VyaWFsaXplZFBsYXRmb3JtUmVwcmVzZW50YXRpb25NYWMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2VyaWFsaXplZFBsYXRmb3JtUmVw
cmVzZW50YXRpb25NYWMuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgaXNFcXVhbChjb25zdCBTZXJpYWxpemVkUGxhdGZvcm1SZXByZXNlbnRhdGlvbiYpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBQbGF0Zm9ybVR5cGUgcGxhdGZvcm1UeXBlKCkg
Y29uc3QgeyByZXR1cm4gU2VyaWFsaXplZFBsYXRmb3JtUmVwcmVzZW50YXRpb246Ok9iakM7IH0K
KyAgICB2aXJ0dWFsIFBsYXRmb3JtVHlwZSBwbGF0Zm9ybVR5cGUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBTZXJpYWxpemVkUGxhdGZvcm1SZXByZXNlbnRhdGlvbjo6T2JqQzsgfQogCiAgICAg
aWQgbmF0aXZlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX25hdGl2ZVZhbHVlLmdldCgpOyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmgKaW5kZXggODNkYjhhODViNThiYjA4
YjkzZThmYTYxMWM2YTBkZWUzZDMzYzgyZS4uNDQ0MDE0NDM2NmZjNjk2ZmYzZWI2NDNmNzM3ODI0
MTE0NzBhZTU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1l
TWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmgKQEAgLTQw
LDIwICs0MCwyMCBAQCBwdWJsaWM6CiAgICAgVGhlbWVNYWMoKSB7IH0KICAgICB2aXJ0dWFsIH5U
aGVtZU1hYygpIHsgfQogICAgIAotICAgIHZpcnR1YWwgaW50IGJhc2VsaW5lUG9zaXRpb25BZGp1
c3RtZW50KENvbnRyb2xQYXJ0KSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0
aW9uQWRqdXN0bWVudChDb250cm9sUGFydCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFs
IE9wdGlvbmFsPEZvbnREZXNjcmlwdGlvbj4gY29udHJvbEZvbnQoQ29udHJvbFBhcnQsIGNvbnN0
IEZvbnRDYXNjYWRlJiwgZmxvYXQgem9vbUZhY3RvcikgY29uc3Q7CisgICAgdmlydHVhbCBPcHRp
b25hbDxGb250RGVzY3JpcHRpb24+IGNvbnRyb2xGb250KENvbnRyb2xQYXJ0LCBjb25zdCBGb250
Q2FzY2FkZSYsIGZsb2F0IHpvb21GYWN0b3IpIGNvbnN0IG92ZXJyaWRlOwogICAgIAotICAgIHZp
cnR1YWwgTGVuZ3RoU2l6ZSBjb250cm9sU2l6ZShDb250cm9sUGFydCwgY29uc3QgRm9udENhc2Nh
ZGUmLCBjb25zdCBMZW5ndGhTaXplJiwgZmxvYXQgem9vbUZhY3RvcikgY29uc3Q7Ci0gICAgdmly
dHVhbCBMZW5ndGhTaXplIG1pbmltdW1Db250cm9sU2l6ZShDb250cm9sUGFydCwgY29uc3QgRm9u
dENhc2NhZGUmLCBmbG9hdCB6b29tRmFjdG9yKSBjb25zdDsKKyAgICB2aXJ0dWFsIExlbmd0aFNp
emUgY29udHJvbFNpemUoQ29udHJvbFBhcnQsIGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgTGVu
Z3RoU2l6ZSYsIGZsb2F0IHpvb21GYWN0b3IpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwg
TGVuZ3RoU2l6ZSBtaW5pbXVtQ29udHJvbFNpemUoQ29udHJvbFBhcnQsIGNvbnN0IEZvbnRDYXNj
YWRlJiwgZmxvYXQgem9vbUZhY3RvcikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIExl
bmd0aEJveCBjb250cm9sUGFkZGluZyhDb250cm9sUGFydCwgY29uc3QgRm9udENhc2NhZGUmLCBj
b25zdCBMZW5ndGhCb3gmIHpvb21lZEJveCwgZmxvYXQgem9vbUZhY3RvcikgY29uc3Q7Ci0gICAg
dmlydHVhbCBMZW5ndGhCb3ggY29udHJvbEJvcmRlcihDb250cm9sUGFydCwgY29uc3QgRm9udENh
c2NhZGUmLCBjb25zdCBMZW5ndGhCb3gmIHpvb21lZEJveCwgZmxvYXQgem9vbUZhY3RvcikgY29u
c3Q7CisgICAgdmlydHVhbCBMZW5ndGhCb3ggY29udHJvbFBhZGRpbmcoQ29udHJvbFBhcnQsIGNv
bnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgTGVuZ3RoQm94JiB6b29tZWRCb3gsIGZsb2F0IHpvb21G
YWN0b3IpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgTGVuZ3RoQm94IGNvbnRyb2xCb3Jk
ZXIoQ29udHJvbFBhcnQsIGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgTGVuZ3RoQm94JiB6b29t
ZWRCb3gsIGZsb2F0IHpvb21GYWN0b3IpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBi
b29sIGNvbnRyb2xSZXF1aXJlc1ByZVdoaXRlU3BhY2UoQ29udHJvbFBhcnQgcGFydCkgY29uc3Qg
eyByZXR1cm4gcGFydCA9PSBQdXNoQnV0dG9uUGFydDsgfQorICAgIHZpcnR1YWwgYm9vbCBjb250
cm9sUmVxdWlyZXNQcmVXaGl0ZVNwYWNlKENvbnRyb2xQYXJ0IHBhcnQpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHBhcnQgPT0gUHVzaEJ1dHRvblBhcnQ7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBw
YWludChDb250cm9sUGFydCwgQ29udHJvbFN0YXRlcyosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEZsb2F0UmVjdCYsIGZsb2F0IHpvb21GYWN0b3IsIFNjcm9sbFZpZXcqKSBvdmVycmlkZTsKLSAg
ICB2aXJ0dWFsIHZvaWQgaW5mbGF0ZUNvbnRyb2xQYWludFJlY3QoQ29udHJvbFBhcnQsIGNvbnN0
IENvbnRyb2xTdGF0ZXMqLCBGbG9hdFJlY3QmLCBmbG9hdCB6b29tRmFjdG9yKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIHZvaWQgaW5mbGF0ZUNvbnRyb2xQYWludFJlY3QoQ29udHJvbFBhcnQsIGNvbnN0
IENvbnRyb2xTdGF0ZXMqLCBGbG9hdFJlY3QmLCBmbG9hdCB6b29tRmFjdG9yKSBjb25zdCBvdmVy
cmlkZTsKIAogICAgIC8vIEZJWE1FOiBPbmNlIFJlbmRlclRoZW1lTWFjIGlzIGNvbnZlcnRlZCBv
dmVyIHRvIHVzZSBUaGVtZSB0aGVuIHRoaXMgY2FuIGJlIGludGVybmFsIHRvIFRoZW1lTWFjLgog
ICAgIHN0YXRpYyBOU1ZpZXcqIGVuc3VyZWRWaWV3KFNjcm9sbFZpZXcqLCBjb25zdCBDb250cm9s
U3RhdGVzKiwgYm9vbCB1c2VVbnBhcmVudGVkVmlldyA9IGZhbHNlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tDRE0uY3BwCmluZGV4IDgxMmIwYzZkNGNiMDczNjgwOTA5ZGIwYjc2OTRjYzFmNzU5NzI3
ZTQuLmE0ODUwNTE0ZTUwMGFlMDE4NWVjMWY0ODhhZGQ1MzI3MjI4NzVkODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrQ0RNLmNwcApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgTW9ja0NE
TVNlc3Npb24oKTsKICAgICB2aXJ0dWFsIH5Nb2NrQ0RNU2Vzc2lvbigpIHsgfQogCi0gICAgdmly
dHVhbCB2b2lkIHNldENsaWVudChDRE1TZXNzaW9uQ2xpZW50KiBjbGllbnQpIHsgbV9jbGllbnQg
PSBjbGllbnQ7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xpZW50KENETVNlc3Npb25DbGllbnQq
IGNsaWVudCkgb3ZlcnJpZGUgeyBtX2NsaWVudCA9IGNsaWVudDsgfQogICAgIHZpcnR1YWwgY29u
c3QgU3RyaW5nJiBzZXNzaW9uSWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Nlc3Npb25J
ZDsgfQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBnZW5lcmF0ZUtleVJlcXVl
c3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgVWludDhBcnJheSogaW5pdERhdGEsIFN0cmluZyYg
ZGVzdGluYXRpb25VUkwsIHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVuc2lnbmVkIGxvbmcm
IHN5c3RlbUNvZGUpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlS2V5cygpIG92
ZXJyaWRlOwo=
</data>
<flag name="review"
          id="280589"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>