<?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>170649</bug_id>
          
          <creation_ts>2017-04-08 17:56:38 -0700</creation_ts>
          <short_desc>Start dropping Timer API dealing with double</short_desc>
          <delta_ts>2017-04-09 07:49:21 -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>WebCore Misc.</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295724</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-08 17:56:38 -0700</bug_when>
    <thetext>Start dropping Timer API dealing with double as people should use Seconds now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295725</commentid>
    <comment_count>1</comment_count>
      <attachid>306587</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-08 18:02:14 -0700</bug_when>
    <thetext>Created attachment 306587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295727</commentid>
    <comment_count>2</comment_count>
      <attachid>306589</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-08 18:20:52 -0700</bug_when>
    <thetext>Created attachment 306589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295793</commentid>
    <comment_count>3</comment_count>
      <attachid>306589</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 07:20:31 -0700</bug_when>
    <thetext>Comment on attachment 306589
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295794</commentid>
    <comment_count>4</comment_count>
      <attachid>306589</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-09 07:49:19 -0700</bug_when>
    <thetext>Comment on attachment 306589
Patch

Clearing flags on attachment: 306589

Committed r215160: &lt;http://trac.webkit.org/changeset/215160&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295795</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-09 07:49:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306587</attachid>
            <date>2017-04-08 18:02:14 -0700</date>
            <delta_ts>2017-04-08 18:20:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170649-20170408180213.patch</filename>
            <type>text/plain</type>
            <size>129363</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDczNDg3YmExZGQwMDA5ZTQ3MDRhN2Qx
NTMwYjExM2QzMzNmMTY5N2QuLmMwNmFlNzYxZmViMzRlYzc1MGFjOTcxNjdjNzlmNWQ2MGYxY2Ez
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3
aXRoIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcwNjQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUgYXMgcGVvcGxl
IHNob3VsZCB1c2UgU2Vjb25kcyBub3cuCisKKyAgICAgICAgKiB3dGYvUnVuTG9vcFRpbWVyLmg6
CisgICAgICAgICogd3RmL2dsaWIvTWFpblRocmVhZEdMaWIuY3BwOgorICAgICAgICAoV1RGOjpN
YWluVGhyZWFkRGlzcGF0Y2hlcjo6c2NoZWR1bGUpOgorCiAyMDE3LTA0LTA3ICBLZWl0aCBNaWxs
ZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlbW92
ZSBjb25zdGV4cHIgZnVuY3Rpb24gc2luY2UgR1RLIGRpZG4ndCBsaWtlIGl0LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGNiMWI4YzE3MzRkNjg3MDUyMzVlNzgxODk0Nzk5OGE4MzRlM2FmYzUuLmQ3NjdlNDQ3MjY0
OTM2MjBiMjU2N2YxMzIxMjFhN2JmYzBmY2M3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNTMg
QEAKIDIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAg
ICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RhcnQgZHJvcHBpbmcgVGlt
ZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRp
YUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9u
OjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlT
ZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZp
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAg
ICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okdlb2xvY2F0aW9uOjpyZXN1bWUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpz
Y2hlZHVsZVBlbmRpbmdPcGVyYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFu
c2FjdGlvbjo6c2NoZWR1bGVDb21wbGV0ZWRPcGVyYXRpb25UaW1lcik6CisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6Omludm9rZU9wZXJhdGlvbkFuZFRy
YW5zYWN0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6cmFuZ2VSZW1vdmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwpOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW06OnNjaGVkdWxlQWN0aXZlU3RhdGVDaGFuZ2UpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSVENEVE1GU2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKToKKyAgICAgICAgKiBNb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlicmF0aW9uOjp2aWJy
YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRD
aGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3ApOgorICAgICAgICAq
IGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVj
dG9yOjpiZWdpbkxvYWRpbmdGb250U29vbik6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVs
ZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERl
bGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1D
b250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVz
KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZl
bnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2
ZW50U29vbik6CisgICAgICAgICogZG9tL01pY3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6CisgICAgICAgICogZG9tL1NjcmlwdFJ1bm5lci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRSdW5uZXI6OnJlc3VtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBkb20vU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGFibGVE
b2N1bWVudFBhcnNlcjo6ZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHNTb29uKToK
KyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6
OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvU3BlbGxDaGVj
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6ZGlkQ2hlY2spOgorICAg
ICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxG
b3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZSk6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnNjaGVkdWxlRGVsYXllZEFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpiZWdpblNjYW5uaW5nKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNwbGF5U3RhdGUp
OgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAgICAgKiBodG1sL0hUTUxUcmFj
a0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6c2NoZWR1
bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6CisgICAgICAgIChN
ZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6
c2NoZWR1bGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYURvY3VtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhRG9jdW1lbnQ6Om1lZGlhRWxlbWVudFNhd1Vuc3VwcG9ydGVkVHJh
Y2tzKToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFi
bGVEaWRDaGFuZ2UpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hpZGVNZXNzYWdlKToKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRp
c3BhdGNoQ29udGV4dExvc3RFdmVudCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNl
clNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpj
b250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNl
clNjaGVkdWxlcjo6c2NoZWR1bGVGb3JSZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBh
cnNlclNjaGVkdWxlcjo6cmVzdW1lKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUZXh0VHJhY2tD
b250YWluZXJFbGVtZW50Ojp1cGRhdGVTaXplcyk6CisgICAgICAgICogaHRtbC90cmFjay9Mb2Fk
YWJsZVRleHRUcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6
c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OmRpc3BhdGNoKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OnRpbWVyRmlyZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9XZWJIZWFwQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6YWRkR2FyYmFnZUNvbGxlY3Rpb24p
OgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkpOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6c3RhcnRDaGVja0NvbXBsZXRlVGltZXIpOgorICAgICAgICAqIGxvYWRlci9JbWFn
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlZEhhc1Bl
bmRpbmdFdmVudCk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBsb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2Fs
bGJhY2spOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNrKToKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25lKToKKyAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnBy
dW5lU29vbik6CisgICAgICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAg
ICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlv
blByZWZlcmVuY2VDaGFuZ2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKiBwYWdlL0Rl
dmljZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQ29udHJvbGxlcjo6
YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRh
dGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRTb3VyY2U6OnNjaGVkdWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcyk6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRJ
bWFnZXNFbmFibGVkKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuaDoKKyAgICAg
ICAgKiBwYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxl
SWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5
bmNTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGlu
YXRvcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpz
Y2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29v
cmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9HZW5lcmljVGFza1F1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVy
PFRpbWVyPjo6cG9zdFRhc2spOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsYmFyLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjppbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6OmF1dG9zY3JvbGxU
aW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydE9uZVNob3QpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SElER2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VBZGRlZCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
Om5ldHdvcmtTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrV2l0aFRvbGVyYW5jZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlRpbGVDb3ZlcmFnZU1hcDo6c2V0TmVlZHNVcGRhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRy
aWdnZXJSZXBhaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlk
ZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFZpZGVvUmVuZGVyUmVxdWVzdFNjaGVkdWxl
cjo6cmVxdWVzdFJlbmRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRhdGVPbkNvbXBvc2l0b3JU
aHJlYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
Y3JvbGxBbmltYXRvckd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0
azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2Nyb2xs
YmFyVGhlbWVHdGsuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1t
OgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGls
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRp
bGVDcmVhdGlvbkVuYWJsZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVt
ZUlPUy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxU
aW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Ny
b2xsZWRTb29uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRl
bGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNl
dE9yaWVudGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50
TW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5j
VXBkYXRlUGVybWlzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1v
Y2s6OmFzeW5jVXBkYXRlQ29udHJvbGxlcik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2Nr
TWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6
ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFF
bmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
TWVkaWFFbmRwb2ludDo6c3RlcEljZVRyYW5zcG9ydFN0YXRlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGluZ1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGlt
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5n
ZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVt
ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQpOgorICAgICAgICAqIHN0eWxlL1N0
eWxlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjpzY2hlZHVsZVVw
ZGF0ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGVBc3luY2hyb25vdXNseSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0
dHBSZXF1ZXN0OjpwcmVwYXJlVG9TZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1
ZXN0OjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUp
OgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6
cmVzdW1lKToKKworMjAxNy0wNC0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CiAgICAgICAgIERyb3Agc3RkOjpjaHJvbm8gc3VwcG9ydCBmcm9tIFRpbWVyIGNsYXNzCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCAyYjM5Yjk4Yzc0OTY5NjY0ZDI3MGRhYzU4MDk3N2YxMjk1ZDFmYmZlLi5mZGEyOWRk
N2RhMzEyOGNjNjE0MTczY2UzOGVmYzAxYmY0NTQwYzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE3LTA0LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRp
bWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMg
bm93LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBl
bmRpbmdSZXF1ZXN0cyk6CisKIDIwMTctMDQtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBPbmx5IENhcHR1cmUgRXh0cmEg
TmV0d29yayBMb2FkIE1ldHJpY3Mgd2hlbiB0aGVyZSBpcyBhIFdlYiBJbnNwZWN0b3IgRnJvbnRl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCA3NWFhNWQxNDRjMTM5YjBhZDRjMjM1MDFjNWU0YWE2NThk
ODIyNGIwLi42OWNmNTIyOGViY2U3NDUwN2I2ZmQ0ZmY5ZGZhNzMyYjJjNGUwZTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGlu
ZyB3aXRoIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTcwNjQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUgYXMgcGVv
cGxlIHNob3VsZCB1c2UgU2Vjb25kcyBub3cuCisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9O
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViS2l0
OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmxvYWRSZXF1ZXN0KToKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tOgorICAgICAgICAoV2ViTmV0c2NhcGVQ
bHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKworMjAxNy0wNC0wOCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIERyb3Agc3RkOjpjaHJvbm8gc3VwcG9ydCBmcm9t
IFRpbWVyIGNsYXNzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzA2NDUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGUxM2RlZDIzZTEzZDQ0OWVlMWY5OTUy
NDNhMmZiMjJlYjlhNjdlODQuLjE4ZDk3ZmI2ODBhN2Y1Y2RlZGFjM2JhYWRhMDExZGI1NWVmNmY4
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyOCBAQAogMjAxNy0wNC0wOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVy
IEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRv
dWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIG5vdy4KKworICAgICAgICAqIFBsdWdp
bnMvUGx1Z2luUGFja2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpm
cmVlTGlicmFyeVNvb24pOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEpOgorICAgICAgICAqIFBs
dWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpyZXF1
ZXN0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpzY2hlZHVsZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjprZWVwQWxpdmUpOgorICAgICAgICAq
IFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3
Ojp3bmRQcm9jKToKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmNs
b3NlV2luZG93U29vbik6CisKKzIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKwogICAgICAgICBEcm9wIHN0ZDo6Y2hyb25vIHN1cHBvcnQgZnJvbSBUaW1lciBjbGFz
cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ1
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAyY2M1ODJkZGYyMWI1NTA1OTRjMTc0ZmFmMWIxZGNjNTNhZWRmZjhi
Li44MWE3YjllODI0ZDM5MzJhZWY2NTc1ZmVkOWY2NzEwN2E0ZjIyNzc5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsNjAgQEAKIDIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAorICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJs
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RhcnQg
ZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1
c2UgU2Vjb25kcyBub3cuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRh
c2suY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1bWUpOgorICAg
ICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95KToKKyAgICAgICAgKFdlYktp
dDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50VGltZXIpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKKyAgICAgICAgKHdlYmtpdFdl
YlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJv
eHk6OnNldFZpZXdFeHBvc2VkUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRy
YXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1Bs
dWdpbkluZm9DYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9DYWNoZTo6dXBk
YXRlUGx1Z2luSW5mbyk6CisgICAgICAgICogVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2gp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6Om1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcik6CisgICAgICAg
ICogVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
Okdlc3R1cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUG9wdXBNZW51UHJveHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVJbnRlcm5hbGx5RmFpbGVkTG9hZCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5QUnVudGltZU9iamVjdE1hcDo6YWRkVG9JbnZhbGlkYXRp
b25RdWV1ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBl
UGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5TdHJlYW06
OmRlbGl2ZXJEYXRhVG9QbHVnaW4pOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVl
c3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OmxvYWRVUkwpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdNb2RlU29vbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hlZHVsZUxheWVyRmx1c2gpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxlRGlzcGxheSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1
cGRhdGVJc0luV2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUGx1Z2luVmll
dyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5k
b3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1t
OgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWN0aXZp
dHlTdGF0ZURpZENoYW5nZSk6CisKKzIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKwogICAgICAgICBEcm9wIHN0ZDo6Y2hyb25vIHN1cHBvcnQgZnJvbSBUaW1lciBj
bGFzcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjQ1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oIGIvU291cmNl
L1dURi93dGYvUnVuTG9vcFRpbWVyLmgKaW5kZXggMzc4MGU3NmMwMzEzMTA0YWVjN2ZkNzk3MzIz
ZWI0MTA0ZjgzZTU5Ny4uZTVlNTU3YzBkMjc1MmI5M2NiOWIwODg5OTkxMWJmYzU5YmI1OWI0NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvUnVuTG9vcFRpbWVyLmgKQEAgLTQ4LDcgKzQ4LDkgQEAgcHVibGljOgogICAgIFdURl9F
WFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUg
cmVwZWF0SW50ZXJ2YWwpOwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQorICAg
IHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBl
YXRJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQogICAgIHZvaWQg
c3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMCk7IH0KKyAg
ICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLnZh
bHVlKCksIDApOyB9CiAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdG9wKCk7CiAgICAg
Ym9vbCBpc0FjdGl2ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9N
YWluVGhyZWFkR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL01haW5UaHJlYWRHTGliLmNw
cAppbmRleCAyYTIzOWY3NTk2Mjc3NmJiZmNjNDcxNDljNjQxYzNjNzgxYzU4ZTIwLi43NTllMzUy
NDkzM2VkODE1NGVkNGZjMmI5N2ZlZDdkMWE4MGNlMTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9nbGliL01haW5UaHJlYWRHTGliLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL01h
aW5UaHJlYWRHTGliLmNwcApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNj
aGVkdWxlKCkKICAgICB7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDdlOWU2OGNkMjczMDg4MGUw
YWRhNjcwZjJjYWFjNzc2ZDNiMTQxN2UuLjM0MTE4MDA4OTI2YWUxMmRiMzFlNDYzYzgyODcyZjVm
YTc3NmUyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IDA5
YzRlYzk2MGE1YzVmYzAxYTk3ODYyY2ViNTcyMjVhNDhjNmVjZWMuLjc0YTk2Y2UxZDJiYTgwMjdj
NWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01NSwxMyArNTUsMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
ZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKaW5kZXggMzYxMDlmMzVmY2Y2OTk5Yzc0ZDk0ZWRi
MjBiYjk0YTEwMDA3M2Q2Zi4uZmE2MWMwN2E1YzY4ZmQyMDExZjZkMDNiOTAyNGQwZTFlMDRmYjg5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5jcHAKQEAgLTE4OSw3ICsxODksNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQog
ICAgIEFjdGl2ZURPTU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRp
b246OnJlc3VtZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IDFlZTczZDI4ZGE5Mjk4NWQxNmZjYzYx
ZTEyNDIzZDA5N2NhNmRiMGIuLjRhNTA5NGNkZjYyZDliOTgzMjE2MWE0MTQzYWFjNDVjYzI4YWQ2
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAKQEAgLTM5Miw3ICszOTIsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hl
ZHVsZVBlbmRpbmdPcGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9
PSBtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3Bl
cmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRp
bWVyRmlyZWQoKQpAQCAtNDQ0LDcgKzQ0NCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVk
dWxlQ29tcGxldGVkT3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkg
PT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVk
T3BlcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25U
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9w
ZXJhdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggNTFmODhk
ZGZiZmUwZjliZDE5YjNjYjVmOTQ1YzM2MDI5YjU2ZjJiMy4uNTQ0MzQ1ZWM0ZWU4YTc3ZDI0Yzk2
NjBmZDg5Y2Q5NGJjZGIzY2IwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNTE1
LDcgKzE1MTUsNyBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRU
cmFuc2FjdGlvblRpbWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUp
OwogCiAgICAgaWYgKCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwCmluZGV4IDA5MjhmNTU4OTAwNDk2NmU3MWM0MGM3MTgwYTNjNDJlYzIz
OGZlZmEuLmQyYjdjOTliMWJkNTI3YTIzNzAwYWVmY2Y0MGQ1NTA2YmE4NjY5N2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAK
QEAgLTM0Niw3ICszNDYsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmFuZ2VSZW1vdmFsKGNvbnN0
IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kKQogICAgIC8vIDUuIFJldHVy
biBjb250cm9sIHRvIHRoZSBjYWxsZXIgYW5kIHJ1biB0aGUgcmVzdCBvZiB0aGUgc3RlcHMgYXN5
bmNocm9ub3VzbHkuCiAgICAgbV9wZW5kaW5nUmVtb3ZlU3RhcnQgPSBzdGFydDsKICAgICBtX3Bl
bmRpbmdSZW1vdmVFbmQgPSBlbmQ7Ci0gICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXI6OmFib3J0SWZVcGRhdGluZygpCkBAIC01MzEsNyArNTMxLDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25lZCBj
aGFyKiBkYXRhLAogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0RXZl
bnQpOwogCiAgICAgLy8gNi4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFs
Z29yaXRobS4KLSAgICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcmVwb3J0RXh0cmFN
ZW1vcnlBbGxvY2F0ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtLmNwcAppbmRleCA1MDA5NDY3NzBkZGFhMGFmNTA5MTZjMzJkZDQ2
MGFmNTcwMWRkOTUzLi5lMDEwNTQwMDlmNjAwOTgzNDk0MGQ1MmE4YmQzZGE3OTEyMjVmMWVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LmNwcApAQCAtMzczLDcgKzM3Myw3IEBAIHZvaWQgTWVkaWFTdHJlYW06OnNjaGVkdWxlQWN0aXZl
U3RhdGVDaGFuZ2UoKQogICAgIG1fc2NoZWR1bGVkQWN0aXZpdHlFdmVudHMuYXBwZW5kKEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpKTsKIAogICAgIGlmICghbV9hY3Rpdml0
eUV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX2FjdGl2aXR5RXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBNZWRpYVN0cmVhbTo6YWN0aXZpdHlFdmVudFRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2Vu
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5jcHAKaW5kZXggZjgyNGMwNGM1ODBmMzI2Mzc1MzZkZTg5MjE3NTIyMmRkMjBlMWE4Ni4uOWRi
MWVjNWJkNjdmMWQ3M2E0NzZjMDZlOGFhZjVjODFiZjlkM2I3YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0xMTMs
NyArMTEzLDcgQEAgdm9pZCBSVENEVE1GU2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUmVm
PEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2
ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Nj
aGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUlRDRFRNRlNl
bmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKaW5kZXggMjcwYzJiMjhh
NjQ5ZDI0Y2E4M2UzZmNmMWExMDg0ZmFlYTk5Y2Y3ZS4uZjBkYzM0NTNhMWZmMTdmYWMzODFiMjlj
MzcyOGEwMThkZTk3OTY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKQEAgLTIzNSw3ICsyMzUsNyBAQCB2b2lkIFJU
Q0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50KQog
ICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2ZW50KSk7CiAKICAgICBpZiAo
IW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NjaGVkdWxlZEV2
ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlZEV2
ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmluZGV4IDFlMDJjZTFjZjY3ZjZlNGQ5MTI4NzVhYmY4
MGIyZGRkZTgzN2E3ZTcuLmJiODcxOWQ4MmY1MjA4NmEwZTQzYjdkMGU4NDhiMTgyMjhkYWQ2NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9u
KERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICAvLyBGSVhNRTog
U2VlbXMgdGhhdCBtX25vdGlmaWNhdGlvbkNlbnRlciBjYW4gYmUgbnVsbCBzbyBzaG91bGQgbm90
IGJlIGNoYW5nZWQgZnJvbSBSZWZQdHIgdG8gUmVmLgogICAgIC8vIEJ1dCB0aGUgcmVzdCBvZiB0
aGUgY29kZSBpbiB0aGlzIGNsYXNzIGlzbid0IHRyeWluZyB0byBoYW5kbGUgdGhhdCBjYXNlLgog
ICAgIEFTU0VSVChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCkpOwotICAgIG1fdGFza1Rp
bWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggYTkyOThmNzUyNWNlN2E4
ODRhMDVhZTJlNDczZGUxY2FiMTBlYmZlMC4uOTI1ZWI5NmEzMWMzODhlNjY1ODdjOTljNTQ2ZGU4
OTM3ZWY2NDY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdm9p
ZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFJlZlB0cjxWb2lkQ2FsbGJh
Y2s+JiYgY2FsbGJhY2spCiAgICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToKICAg
ICAgICAgaWYgKG1fY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgcmVmKCk7IC8v
IEJhbGFuY2VkIGJ5IHRoZSBkZXJlZnMgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wIGFuZCBO
b3RpZmljYXRpb25DZW50ZXI6OnRpbWVyRmlyZWQuCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAg
ICAgIH0KICAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAgICAg
ICAgICBpZiAoY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24v
VmlicmF0aW9uLmNwcAppbmRleCA4NjA5MTQyMDljOGJiMzQyODA0MGFhMTRmYzlmY2QwM2QwZGQ1
YzU5Li5jMTUyMmIzOTIyMGI0YThmMTJiZDMyMTY3ZThkMTEyMjdlZTFkZGE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTc2LDcgKzc2
LDcgQEAgYm9vbCBWaWJyYXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0
dGVybikKIAogICAgIG1fcGF0dGVybiA9IHNhbml0aXplZDsKIAotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgbV9zdGF0ZSA9
IFN0YXRlOjpXYWl0aW5nOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCBiZWQ5MzYyNjdkNTY4NGZj
Nzg4MTcwOTFmMTFmMDdjNDVlYWIzYjc5Li4wOGUxMmExNjAxYzhhMjRlNmFiNmMyMjQ0NjI3ZDEw
YWRjNGYyOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmNwcApAQCAtNTAzLDcgKzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQog
ICAgICAgICBtX2NoYW5uZWwtPnJlc3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVu
dHMuaXNFbXB0eSgpICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8g
RmlyZSB0aGUgcGVuZGluZyBldmVudHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQg
dG8gZXhlY3V0ZSBhcmJpdHJhcnkgSlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgfQogCiAgICAgbV9zaG91bGREZWxheUV2ZW50RmlyaW5nID0gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKaW5kZXggMGQ5MzQ3OTFlYWViNzM3NTQ5OTc0YmNiZTExYjE0NTAwZTBhMTQzNS4u
YzVjYjEyNGUyMjNkMjg2ZmJiNmYwMmNlNzAxMDQwMjg1MjY5ZTE1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApA
QCAtMjYzLDcgKzI2Myw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lKCkKIHsKICAg
ICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVyLmlzRW1wdHkoKSB8fCBt
X2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlblNv
Y2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDJhNzI0NWEyZDJhYzI1NmQ5
YzE2NWY3YTkwOGI4MTQ2NWNlMzJmMzQuLjEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBl
ZTc1ZDAyZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcApAQCAtOTk4LDcgKzk5OCw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlm
aWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBkb2N1CiAgICAg
aWYgKHBvc3RUeXBlID09IFBvc3RBc3luY2hyb25vdXNseSkgewogICAgICAgICBtX25vdGlmaWNh
dGlvbnNUb1Bvc3QuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKG9iamVjdCwgbm90aWZpY2F0aW9uKSk7
CiAgICAgICAgIGlmICghbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
ICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxz
ZQogICAgICAgICBwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24ob2JqZWN0LCBub3RpZmljYXRpb24p
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXgg
NmY5ZmNhNjdmM2M0N2FkZGM4M2RlYzhjYjBkNWViOGNjYjQwZDc0My4uZmVmZmRhMWY1MzU1YjZk
NjMyODNkMWJlMjdlNjQ1MjY5NjRmMWQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9HQ0NvbnRyb2xsZXIuY3BwCkBAIC03MSw3ICs3MSw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpn
YXJiYWdlQ29sbGVjdFNvb24oKQogdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25O
ZXh0UnVuTG9vcCgpCiB7CiAgICAgaWYgKCFtX0dDVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9HQ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9HQ1RpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggM2EzN2E0N2JkZDQ1OTBhYTJlNDQzZmI4
MTMyYThhODA4M2M1YWMwZi4uOTAyZjBmNjlhOTM1OTY3MjQ1YmMzZTA1MWMzNDM2ODE4Y2RjODRi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0Myw3ICszNDMs
NyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9u
dCYgZm9udCkKICAgICAvLyBhZnRlciB0aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBi
ZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4gQmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1
ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRUaW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQo
KS4KICAgICBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVl
c3RDb3VudChmb250KTsKLSAgICBtX2JlZ2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2JlZ2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENT
U0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCAxZjRhNWU0MWYyYzZhODExMTRjM2ZiZjMzZDM5M2QzOWFjMWVhZDQ3Li4wZTczOWUz
YzY2MmRkZTBlOWVlMGJkMTk1ZmNkZmNiNmM0MjFkYzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTE2NTYsNyArMTY1Niw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNjaGVkdWxlU3R5bGVSZWNh
bGMoKQogICAgIC8vIEZJWE1FOiBXaHkgb24gZWFydGggaXMgdGhpcyBoZXJlPyBUaGlzIGlzIGNs
ZWFybHkgbWlzcGxhY2VkLgogICAgIGludmFsaWRhdGVBY2Nlc3NLZXlNYXAoKTsKICAgICAKLSAg
ICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc3R5bGVSZWNhbGNU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24oKnRoaXMpOwogfQpAQCAtNTIzNSw3ICs1MjM1
LDcgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25S
ZXN0b3JhdGlvbk1vZGUgbW9kZSkKIHsKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3Rv
cmVzU2VsZWN0aW9uID0gbW9kZTsKICAgICBpZiAoIW1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVw
ZGF0ZSgpCkBAIC01NDEzLDcgKzU0MTMsNyBAQCB2b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVs
ZWRUYXNrcyhBY3RpdmVET01PYmplY3Q6OlJlYXNvbkZvclN1c3BlbnNpb24gcmVhc29uKQogICAg
IGlmIChyZWFzb24gPT0gQWN0aXZlRE9NT2JqZWN0OjpXaWxsRGVmZXJMb2FkaW5nICYmIG1fcGFy
c2VyKQogICAgICAgICBtX3BhcnNlci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKICAgICBpZiAo
IW1fcGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgc2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOwogICAgIHJlc3VtZUFjdGl2ZURP
TU9iamVjdHMocmVhc29uKTsKICAgICByZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJD
YWxsYmFja3MoKTsKQEAgLTU2MTgsNyArNTYxOCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlcXVlc3RG
dWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBGdWxsU2NyZWVuQ2hlY2tUeXBl
CiAgICAgfSB3aGlsZSAoMCk7CiAKICAgICBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVl
dWUuYXBwZW5kKGVsZW1lbnQgPyBlbGVtZW50IDogZG9jdW1lbnRFbGVtZW50KCkpOwotICAgIG1f
ZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnVsbFNj
cmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKQpAQCAtNTc4NSw3ICs1Nzg1LDcgQEAgdm9pZCBE
b2N1bWVudDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKIAog
ICAgIG1fZnVsbFNjcmVlbkVsZW1lbnQtPmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCk7CiAK
LSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IERvY3VtZW50Ojp3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQpA
QCAtNTgyMiw3ICs1ODIyLDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQogICAgIGJvb2wgZXZlbnRUYXJnZXRRdWV1ZXNFbXB0eSA9
IG1fZnVsbFNjcmVlbkNoYW5nZUV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0eSgpICYmIG1fZnVsbFNj
cmVlbkVycm9yRXZlbnRUYXJnZXRRdWV1ZS5pc0VtcHR5KCk7CiAgICAgRG9jdW1lbnQmIGV4aXRp
bmdEb2N1bWVudCA9IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPyB0b3BEb2N1bWVudCgpIDogKnRo
aXM7CiAKLSAgICBleGl0aW5nRG9jdW1lbnQubV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVsbFNjcmVlbkNoYW5nZURl
bGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNldEZ1bGxT
Y3JlZW5SZW5kZXJlcihSZW5kZXJGdWxsU2NyZWVuKiByZW5kZXJlcikKQEAgLTU5NzcsNyArNTk3
Nyw3IEBAIHZvaWQgRG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKQogICAg
IC0tbV9sb2FkRXZlbnREZWxheUNvdW50OwogCiAgICAgaWYgKGZyYW1lKCkgJiYgIW1fbG9hZEV2
ZW50RGVsYXlDb3VudCAmJiAhbV9sb2FkRXZlbnREZWxheVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fbG9hZEV2ZW50RGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9h
ZEV2ZW50RGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6
bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKCkKQEAgLTY2MjYsNyArNjYyNiw3IEBAIHZvaWQgRG9j
dW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAg
IHJldHVybjsKICAgICBtX2Fzc29jaWF0ZWRGb3JtQ29udHJvbHMuYWRkKGVsZW1lbnQpOwogICAg
IGlmICghbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZCgpCkBA
IC02NjQ2LDcgKzY2NDYsNyBAQCB2b2lkIERvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKGNv
bnN0IFN0cmluZyYgY29va2llcykKICAgICBBU1NFUlQoIWlzRE9NQ29va2llQ2FjaGVWYWxpZCgp
KTsKICAgICBtX2NhY2hlZERPTUNvb2tpZXMgPSBjb29raWVzOwogICAgIC8vIFRoZSBjb29raWUg
Y2FjaGUgaXMgdmFsaWQgYXQgbW9zdCB1bnRpbCB3ZSBnbyBiYWNrIHRvIHRoZSBldmVudCBsb29w
LgotICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9j
b29raWVDYWNoZUV4cGlyeVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3Vt
ZW50OjppbnZhbGlkYXRlRE9NQ29va2llQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcAppbmRleCA5ZTA3N2Y3MmYxMzY1OWEzODY5MTVhOWNiZTYwMTQ2ZjIw
Mjk5YzI3Li5iZDkzYmE2MmNlNmUyMjFkOTQwZTBlODA2OTc4MTVlYWU1NjI0ZTkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcApAQCAtNzksNyArNzksNyBAQCBi
b29sIERvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkK
IAogICAgIG1fcXVldWVkRXZlbnRzLmFkZChldmVudC5wdHIoKSk7CiAgICAgaWYgKCFtX3BlbmRp
bmdFdmVudFRpbWVyLT5pc0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLT5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ0V2ZW50VGltZXItPnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRTZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCmlu
ZGV4IDg3MmQ4NWExYTQ1NTFhZDAxOTkwODA5ODBlNmY1ZjNhZDI4YTdiN2YuLjE1Y2RiMTc3OWIy
MDBhZjM2OTJiZmVlMWU3MGM5YWIwMmM2YjM0ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5o
CkBAIC02Niw3ICs2Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8
VD46OmRpc3BhdGNoRXZlbnRTb29uKFQmIHNlbmRlcikKIHsKICAgICBtX2Rpc3BhdGNoU29vbkxp
c3QuYXBwZW5kKCZzZW5kZXIpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBFdmVudFNlbmRlcjxUPjo6Y2Fu
Y2VsRXZlbnQoVCYgc2VuZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01pY3Jv
dGFza3MuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCmluZGV4IGU1YTJj
OTUxZTVhYTMyNWZkODQ3OWMwMGNlMTI3YWQ3OTZiOWMxOWIuLjM4ZTRmZTZhMzVkNzZkOGZjZmFh
MDUzOWI2MWUxYTM5YThhZWE0M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNy
b3Rhc2tzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgdm9pZCBNaWNyb3Rhc2tRdWV1ZTo6YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxN
aWNyb3Rhc2s+JiYgdGFzaykKIHsKICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3Zl
KHRhc2spKTsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBN
aWNyb3Rhc2smIHRhc2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVu
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCmluZGV4IDBjNjY2
YWE1MmNiYzE3YTc5MzkwYThmZWM0MmEzMjQzYTFiYTU2YTIuLjczZmI4YjA0ZGU0MDU3MDFkOTdm
NjJlNmM5YTQ1MzkwM2MyZGY3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBA
IC04Myw3ICs4Myw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0
UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQZW5kaW5nU2NyaXB0cygpKQotICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3Jp
cHQmIHBlbmRpbmdTY3JpcHQpCkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpu
b3RpZnlGaW5pc2hlZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2NyaXB0KQogICAgICAgICBtX3Nj
cmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChtX3BlbmRpbmdBc3luY1NjcmlwdHMudGFrZShwZW5k
aW5nU2NyaXB0KS0+cHRyKCkpOwogICAgIH0KICAgICBwZW5kaW5nU2NyaXB0LmNsZWFyQ2xpZW50
KCk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5uZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGFibGVEb2N1bWVudFBhcnNlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmNwcAppbmRleCAxNjZiMjlm
YzczM2E5NjEwZjA0NDZiNTk0OWYwMjE5ZmIyMzBkZWNmLi45NTAyOGJiMjE2MmJmN2E3ZjZmYmNk
ZTU3Nzg1MjBkMzVlODliZGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
YWJsZURvY3VtZW50UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0YWJs
ZURvY3VtZW50UGFyc2VyLmNwcApAQCAtNTQsNyArNTQsNyBAQCB2b2lkIFNjcmlwdGFibGVEb2N1
bWVudFBhcnNlcjo6ZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHNTb29uKCkKICAg
ICBpZiAoIWhhc1NjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgbV9zY3JpcHRzV2FpdGluZ0ZvclN0eWxlc2hlZXRzRXhlY3V0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fc2NyaXB0c1dhaXRpbmdGb3JTdHlsZXNoZWV0c0V4ZWN1dGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdGFibGVEb2N1bWVudFBh
cnNlcjo6c2NyaXB0c1dhaXRpbmdGb3JTdHlsZXNoZWV0c0V4ZWN1dGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDAwZWRmMTRiNWRlZjZlMDk5YmYyY2EwZGVi
N2UxM2FlNWY2NzNmNTEuLjNjMTU3ZWY2ZDg4MjcwMTZjYWQ5NTI1ZDQwMzYyMmQ3ZGRlZjU2NDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTMyOTUsNyArMzI5NSw3IEBAIHZvaWQg
RWRpdG9yOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24m
LCBGcmFtZVNlbGVjdGlvbjo6CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICYmICFQTEFURk9STShJT1MpCiAgICAgaWYgKHNob3VsZERldGVjdFRlbGVwaG9uZU51bWJl
cnMoKSkKLSAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIAogICAgIHNldFN0YXJ0TmV3S2lsbFJpbmdT
ZXF1ZW5jZSh0cnVlKTsKQEAgLTMzMDcsNyArMzMwNyw3IEBAIHZvaWQgRWRpdG9yOjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFtZVNlbGVjdGlv
bjo6CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyU2hvdWxkQ2hlY2tTcGVsbGluZ0FuZEdyYW1t
YXIgPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkNsb3NlVHlwaW5nCiAgICAgICAgICYmICEo
b3B0aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpTcGVsbENvcnJlY3Rpb25UcmlnZ2VyZWQpOwogICAg
IG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1RyaWdnZXJlZEJ5RGljdGF0aW9uID0gb3B0aW9ucyAm
IEZyYW1lU2VsZWN0aW9uOjpEaWN0YXRpb25UcmlnZ2VyZWQ7Ci0gICAgbV9lZGl0b3JVSVVwZGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICYmICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Nw
ZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAK
aW5kZXggYzgxMjY0NWQ0YTZkY2E2ZTliNTdjNDQyMjFkYjA1YWU5ZjU1Y2QyZi4uNzA5YjQ3MmVj
NzE2OGZiNWM1YjhkNjJmYTczYzE5N2I2NzkzYzE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
U3BlbGxDaGVja2VyLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpk
aWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiBy
ZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVx
dWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVl
c3Quc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVz
dC5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3Vj
Y2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1
bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDVhZTg5YWY0
NzA4NTNiOTJhY2RjMTNiYjQ0OGNlOTU4ZGFhNTNiMDUuLjA1ZGZlZGViNmMyMDI5NzE5YzUzMzRi
Mjc4ZDkxOGRmYTI5YzhkNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKQEAgLTQ2NSw3ICs0NjUsNyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVz
dEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0
Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMgQVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3Vz
bHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5kIGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9j
b21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBs
ZXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50Ojpy
ZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAppbmRleCBjM2I0OTI4MzBkNDhkYjBlYjZkMzJkZmYxNjIzYWRmNDYzMWRk
YTgzLi5mYTAzMmEwMTdkMTNlMjcxNzdjYjZiM2RlMzliYmRkNThmYmE2NjZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE2Myw5ICsxNjMsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1JlcGVhdERlbGF5
ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgU2Vla1JlcGVhdERlbGF5IHsgMTAwX21zIH07
CiBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0gMC4yOwotc3RhdGljIGNvbnN0IGRvdWJs
ZSBTY2FuUmVwZWF0RGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTY2FuUmVwZWF0
RGVsYXkgeyAxLjVfcyB9Owogc3RhdGljIGNvbnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4
OwogCiBzdGF0aWMgY29uc3QgZG91YmxlIEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5
ID0gNjsKQEAgLTk2OSw3ICs5NjksNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxl
RGVsYXllZEFjdGlvbihEZWxheWVkQWN0aW9uVHlwZSBhY3Rpb25UeXBlKQogICAgIGlmIChhY3Rp
b25UeXBlICYgVXBkYXRlUGxheVN0YXRlKQogICAgICAgICBzZXRGbGFncyhtX3BlbmRpbmdBY3Rp
b25GbGFncywgVXBkYXRlUGxheVN0YXRlKTsKIAotICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCgp
CkBAIC0zNDgyLDcgKzM0ODIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcoU2NhbkRpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgICAgIHNldFBsYXliYWNrUmF0ZShuZXh0
U2NhblJhdGUoKSk7CiAgICAgfQogCi0gICAgbV9zY2FuVGltZXIuc3RhcnQoMCwgbV9zY2FuVHlw
ZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2NhblJlcGVhdERlbGF5KTsKKyAgICBtX3Nj
YW5UaW1lci5zdGFydCgwX3MsIG1fc2NhblR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6
IFNjYW5SZXBlYXREZWxheSk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5kU2Nhbm5p
bmcoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCA1NzY4
MzFhZmExMTg1YTEyMjdkZmQ0ZWUzM2FhZjg5MDQ3NzhlYmQ2Li4xZTNiOWJjOTFiNWQ4MjRlNGI0
MGU1YjZlM2RjYjA3MzQwYzU4MmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnNl
dERpc3BsYXlTdGF0ZShEaXNwbGF5U3RhdGUgc3RhdGUpCiAgICAgbV9kaXNwbGF5U3RhdGUgPSBz
dGF0ZTsKICAgICAKICAgICBpZiAoKHN0YXRlID09IERpc3BsYXlpbmdTbmFwc2hvdCB8fCBkaXNw
bGF5U3RhdGUoKSA9PSBQcmVwYXJpbmdQbHVnaW5SZXBsYWNlbWVudCkgJiYgIW1fc3dhcFJlbmRl
cmVyVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fc3dhcFJlbmRlcmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3Qo
U2hhZG93Um9vdCogcm9vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNv
dXJjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5j
cHAKaW5kZXggNDUwMThiNzFjMWM4YzI2ZTQ4NGY1MWMwYzM2NWFmODE1ZTdmNjM5Zi4uZWRhZTBj
NGNiOGNhZWZhZjU4MDdiNjQyMzM4ZDZhMTI1MGQ5NDY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5jcHAKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIEhUTUxTb3Vy
Y2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQoKQogICAgIGlmIChtX2Vycm9yRXZlbnRUaW1l
ci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Vycm9yRXZlbnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OmNhbmNlbFBlbmRpbmdFcnJvckV2ZW50KCkK
QEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpzdXNwZW5kKFJlYXNv
bkZvclN1c3BlbnNpb24gd2h5KQogdm9pZCBIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKCkKIHsK
ICAgICBpZiAobV9zaG91bGRSZXNjaGVkdWxlRXJyb3JFdmVudE9uUmVzdW1lKSB7Ci0gICAgICAg
IG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9lcnJvckV2ZW50
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9y
RXZlbnRPblJlc3VtZSA9IGZhbHNlOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
cmFja0VsZW1lbnQuY3BwCmluZGV4IDY2OGI4MTJiOGNlZjUzMTc3MzA5ZmM1ODJkOGI5NDYxNzNk
YWQzOGIuLmI2N2M1NGRjNDRjYTM3ZDFhMWFkNmI1OTM0ZjVlMjQzOTgzNDZhZDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMTgxLDcgKzE4MSw3IEBAIHZv
aWQgSFRNTFRyYWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gNC4gUnVuIHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHks
IGFsbG93aW5nIHdoYXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUu
Ci0gICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmxvYWRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcAppbmRleCAyNTc2M2FkMzVl
OWRjMGM0Yzk5ZGI2OTg3YzhkZmYwNmNkYWU4NWY4Li5lYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNi
NjY3ZmQ0ZDVlZmU4NTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3Bw
CkBAIC0xNDksNyArMTQ5LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUo
KSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgp
KSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lkZSB0aGUg
cmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6bWF4PGRv
dWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUoKSkpOwot
ICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
Y2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIHJldHVy
biBtX3Bvc2l0aW9uOwpAQCAtNTM4LDcgKzUzOCw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjpz
Y2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAgIG1fcGVu
ZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0cnVlKSk7
CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FzeW5j
RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNFdmVudFRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKaW5kZXggNDYyNDE2
ODA4ZTQwMThkMjgzNDI2ZjcxM2RlMDM5N2MzMzE2NTcxYi4uNDI0YWVhM2E3NzdiMzk4ZDNlZjc4
NGVjOGNkMTU3MTJhMjhhODFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBNZWRpYURvY3VtZW50OjptZWRpYUVsZW1lbnRTYXdV
bnN1cHBvcnRlZFRyYWNrcygpCiAgICAgLy8gYW5kIGxldCB0aGUgcGx1Z2luIGhhbmRsZSB0aGlz
LiBEb24ndCBkbyBpdCBpbW1lZGlhdGVseSBhcyB0aGlzIAogICAgIC8vIGZ1bmN0aW9uIG1heSBi
ZSBjYWxsZWQgZGlyZWN0bHkgZnJvbSBhIG1lZGlhIGVuZ2luZSBjYWxsYmFjaywgYW5kIAogICAg
IC8vIHJlcGxhY2VDaGlsZCB3aWxsIGRlc3Ryb3kgdGhlIGVsZW1lbnQsIG1lZGlhIHBsYXllciwg
YW5kIG1lZGlhIGVuZ2luZS4KLSAgICBtX3JlcGxhY2VNZWRpYUVsZW1lbnRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWVkaWFEb2N1bWVudDo6cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXgg
YTM1Y2MzYzVmYTU0OGZmNTg4ZDQ4Mzc1NmQwMmZmYTNiMDZmYmU3MS4uM2I1ZmY3OGExMTEzYWQ5
NGY4MWI1NjYzOTNhMTA4ZDFiOTAwZDM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCkBAIC00ODcsNyArNDg3LDcgQEAgdm9pZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZShib29sIGhhc1Rh
cmdldHMKICAgICBMT0coTWVkaWEsICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpleHRlcm5hbE91dHB1
dERldmljZUF2YWlsYWJsZURpZENoYW5nZSglcCkgLSBoYXNUYXJnZXRzICVzIiwgdGhpcywgaGFz
VGFyZ2V0cyA/ICJUUlVFIiA6ICJGQUxTRSIpOwogCiAgICAgbV9oYXNQbGF5YmFja1RhcmdldHMg
PSBoYXNUYXJnZXRzOwotICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hhbmdlZFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpjYW5QbGF5VG9XaXJl
bGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5jcHAKaW5kZXggOWQ1ZGNhY2ZiZWMxZTMwY2JmODcwMTExYzRlNDI1MjExZjljYWFl
NC4uNDUxZmM1OTEwODUxNDU3Mzk0ZGM0NDk1M2RkODg5YzEyOTRiZTZkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lk
IFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmJ1aWxkQnViYmxlVHJlZSk7CiAgICAgZWxzZQogICAgICAgICBtX3RpbWVyID0g
c3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVz
c2FnZURPTUFuZFN0YXJ0VGltZXIpOwotICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBWYWxpZGF0aW9uTWVzc2Fn
ZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQpAQCAtMjI4LDcgKzIyOCw3IEBAIHZvaWQg
VmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hpZGVNZXNzYWdlKCkKIAogICAgIC8vIFdlIG11
c3Qgbm90IG1vZGlmeSB0aGUgRE9NIHRyZWUgaW4gdGhpcyBjb250ZXh0IGJ5IHRoZSBzYW1lIHJl
YXNvbiBhcyBzZXRNZXNzYWdlKCkuCiAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGlt
ZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgIG1f
dGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogYm9vbCBWYWxpZGF0aW9uTWVzc2FnZTo6c2hhZG93VHJlZUNvbnRhaW5zKGNvbnN0IE5v
ZGUmIG5vZGUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDE1MDA5ZDZjYTg3ZWQxY2VmMjNl
N2U0OGU5ZWM5YmZjNGZhOTRhNjguLmI1MTJmZmMxNzZiZDNhNjE4N2QxZDNlNGQ0YjBiZDViNDRl
ZmM4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC00NjEzLDcgKzQ2MTMsNyBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpMb3N0QwogCiAgICAgLy8gQWx3YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUg
Y29udGV4dCBsb3N0IGV2ZW50LCB0byBpbXBsZW1lbnQKICAgICAvLyB0aGUgc3BlYyBiZWhhdmlv
ciBvZiBxdWV1ZWluZyBhIHRhc2suCi0gICAgbV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpm
b3JjZVJlc3RvcmVDb250ZXh0KCkKQEAgLTQ2MzAsNyArNDYzMCw3IEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgpCiAgICAgfQogCiAgICAgaWYg
KCFtX3Jlc3RvcmVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBQbGF0Zm9ybUxheWVyKiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpwbGF0Zm9ybUxh
eWVyKCkgY29uc3QKQEAgLTU1NjUsNyArNTU2NSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6ZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50KCkKICAgICBjYW52YXMoKS5kaXNwYXRj
aEV2ZW50KGV2ZW50KTsKICAgICBtX3Jlc3RvcmVBbGxvd2VkID0gZXZlbnQtPmRlZmF1bHRQcmV2
ZW50ZWQoKTsKICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RDb250ZXh0ICYm
IG1fcmVzdG9yZUFsbG93ZWQpCi0gICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4
IDI4MzM3ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJl
YTAyN2E5MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9p
ZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAg
IC8vIEZJWE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVz
IGluc3RlYWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwg
d2FpdCBhZ2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1f
cGFyc2VyLmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2Nv
bnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgbV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAs
NyBAQCBib29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5n
U2NyaXB0KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpz
Y2hlZHVsZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9j
b250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4
dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVk
dWxlcjo6c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1
bGVyOjpyZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAg
ICAgICAgcmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsK
LSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29u
dGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4
IDZlNDkwNTMwZWY4YWZkMzZjZDIzYWI3MzQwZTZlOTQ5NDFkYjQwYzYuLjdiMWRmNDllMmNmNzYz
Y2JjZWRiODUzNGQ2ODVmN2UzYTM5ZGZmOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNjgsNyArMTM2OCw3IEBA
IHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlU2l6ZXMo
Ym9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uU3R5
bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFja3MgaW1t
ZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91cGRh
dGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRpYUNvbnRy
b2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNlbnRhdGlv
bkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVU
ZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFj
ay5jcHAKaW5kZXggNTUyOGRlMTdiMjlmNGJlMGM5NjgzODQzODI5M2U3MzY4NmU4NWNkMS4uNDM5
OTVhMGM3NDYzODIxNzRhMDA4Y2FiMDJjYjg0YmZjZjQzNTUxYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU2LDcgKzU2LDcgQEAg
dm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJsKQogICAg
IC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGlsZSBjb250
aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUgZm9yIGNy
ZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1vZGUuCiAg
ICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCAxYTZjNzY4MDM3ZDNiY2U2
NDdkMzA5Y2Y0ZGRhNTc2NzFjZWExNTBiLi5hN2ZlZDQyMGRlYjIyYTRlY2Q3NjBiMTJjM2RjZWFl
NDNjNjY5ZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NB
Z2VudC5jcHAKQEAgLTEyOCw3ICsxMjgsNyBAQCB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNr
OjpzY2hlZHVsZUZvcihXZWJLaXROYW1lZEZsb3cqIG5hbWVkRmxvdywgaW50IGRvY3VtZQogICAg
IG1fbmFtZWRGbG93cy5hZGQobmFtZWRGbG93LCBkb2N1bWVudE5vZGVJZCk7CiAKICAgICBpZiAo
IW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ2hhbmdlUmVnaW9u
T3ZlcnNldFRhc2s6OnVuc2NoZWR1bGUoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCAzZTc0
NmQ4NzBjYTQxODkxMDQzMGJlODMzYmVlZTJhNjgyMDcxYjZiLi4xYzk2NTkxNzA1OWMxMzMxNWY5
ZjAxYWMwODQ2ZWE1OGQ3MTE0MzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIFJldmFsaWRhdGVT
dHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9yKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAg
bV9lbGVtZW50cy5hZGQoZWxlbWVudCk7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IDc2NjcwMjQ2YTMwMDAzNTU4NDhiMGZlYThk
N2Q2ZTVlNzYwMzU4YTguLjc1NWY3NjBmMTk1ZmYyYzdmM2Q4ZDNjN2MyMzExYjk5OTg3ZTYwOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogCiAgICAgICAg
IG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpOwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICB2b2lkIHJlc2V0KCkKQEAg
LTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2luc3BlY3RlZFBhZ2VDb250
cm9sbGVyLT5kaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQobV9tZXNzYWdlcy50YWtlRmlyc3Qo
KSk7CiAKICAgICAgICAgaWYgKCFtX21lc3NhZ2VzLmlzRW1wdHkoKSAmJiBtX2luc3BlY3RlZFBh
Z2VDb250cm9sbGVyKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJIZWFwQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkhlYXBBZ2VudC5jcHAKaW5kZXggZDg4N2ZiNzVhY2Y1
ZDhkNTY2MGQxM2IxYTU3ZTY1MzdkYmYzY2IxMC4uZmNjZWY2MzM5YmQxZmM3YmQ0MjQ3YzZjYTll
YTVhM2U0ZDYzZTdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkhl
YXBBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkhlYXBBZ2VudC5j
cHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBTZW5kR2FyYmFnZUNvbGxlY3Rpb25FdmVudHNUYXNr
OjphZGRHYXJiYWdlQ29sbGVjdGlvbihHYXJiYWdlQ29sbGVjdGlvbkRhdGEKICAgICB9CiAKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2VuZEdh
cmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKaW5kZXggYWQxZDYwOGE1YzFlZDQzZDZjMmI1MDczNmNmY2VjNDg3
OTgxOTk5YS4uYjZkNzJjOTNiMDA2NmYwODc3NjQ4NWI5M2VkZWEyNDk1NTQ1ODY4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00NTQsNyArNDU0LDcgQEAg
dm9pZCBEb2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9p
ZCBEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2Fk
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIAogI2lmIEhBVkUoUlVOTE9PUF9USU1FUikKICAgICBpZiAoU2NoZWR1bGVQYWlySGFz
aFNldCogc2NoZWR1bGVkUGFpcnMgPSBtX2ZyYW1lLT5wYWdlKCktPnNjaGVkdWxlZFJ1bkxvb3BQ
YWlycygpKQpAQCAtMTE4OSw3ICsxMTg5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6ZGVsaXZl
clN1YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
aWYgKCFtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMjNmMWI0
ZmM3OWQwODdmYjRlMmUxODgzNzRjY2JhMmE2NDA5NTRjMy4uMDA1ZmE4ZWVkNGM1MDI2MGE3YTdh
ODkwMmMyNDljY2ExYWRlNzc0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CkBAIC04NjgsNyArODY4LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3RhcnRDaGVja0NvbXBsZXRl
VGltZXIoKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fY2hlY2tUaW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICByZXR1cm47Ci0gICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2NoZWNrVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6
OnNjaGVkdWxlQ2hlY2tDb21wbGV0ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5j
cHAKaW5kZXggYjk5MjM0M2ZmODRjOGJlOTA4OTJmMDNlNzhjOWU3ZWQwYmI0YjNiNy4uYzI4NjY4
MmYwMGJjNzcxMmJjYTdjMThhYzg1NzBjOThiMGZlNDA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
SW1hZ2VMb2FkZXIuY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBJbWFnZUxvYWRlcjo6dXBk
YXRlZEhhc1BlbmRpbmdFdmVudCgpCiAgICAgICAgICAgICBtX3Byb3RlY3RlZEVsZW1lbnQgPSAm
ZWxlbWVudCgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVCghbV9kZXJlZkVsZW1lbnRU
aW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgfSAgIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmlu
ZGV4IDg2NjA5Njg3NWExYmM0NTg2NTZmZTA5Y2ZiOTg5YjlmYTJmY2ZmNDEuLjYyY2JkY2E0ZmQ2
MzRlYTk5OWI2YmUxZTliYmYyM2M0NzY4YmJhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
ZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkKICAgICAgICAgbV9j
dWVQYXJzZXItPmZsdXNoKCk7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jdWVM
b2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7CiB9CkBAIC0x
NzEsNyArMTcxLDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQoKQogICAg
ICAgICByZXR1cm47CiAKICAgICBtX25ld0N1ZXNBdmFpbGFibGUgPSB0cnVlOwotICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tMb2FkZXI6Om5ld1JlZ2lvbnNQYXJzZWQoKQpA
QCAtMTg2LDcgKzE4Niw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJz
ZSgpCiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIAogICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIGNhbmNlbExvYWQoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMDhhNDZlOGNkNDdhNjYyMWNiOTdjZWFlMTAwYjFjMzVk
YTRjYjIwOS4uZTMyNjg4ZjVkNjBjYzUwMjFmYWE4YjEzZDQ1YWU1YWJmZDdhZTg0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5jcHAKQEAgLTEwNTQsNyArMTA1NCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdy
b3VwOjpzY2hlZHVsZVJlYWNoZWRNYXhBcHBDYWNoZVNpemVDYWxsYmFjaygpCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBhdXRvKiB0aW1lciA9IG5ldyBDaHJvbWVDbGllbnRD
YWxsYmFja1RpbWVyKCp0aGlzKTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRp
bWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUgdGltZXIgd2lsbCBkZWxldGUgaXRz
ZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGUyOTVjZWVlMDVhOWU5MmJiYjcxZjAyYWIxNDFkNjA5
NTAxNjgwYjEuLmM4YzQ3ZjBlN2Q3NjY2YjFlZDkyNzMwOGM2Yzc2MmFhYzkxODc4NzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAtODIx
LDcgKzgyMSw3IEBAIGlubGluZSBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNrKENh
Y2hlZFJlc291cmNlJiByZXNvdXJjZSwgQ2FjaGVkUmVzb3VyCiAgICAgLCBtX2NsaWVudChjbGll
bnQpCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmQ2FsbGJhY2s6OnRpbWVyRmlyZWQpCiB7Ci0gICAg
bV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogaW5saW5lIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpjYW5jZWwoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggMDgxYzA3ZWY1ZTQzYjQ2ZGJjNzRlZjk2ZTQzNDUxMjlkYTQxNDM0Yi4uNzE4MTk5
MjA1NDU0MDUzZDczZTU3ZTBlYTdlMDRjNWFkYWYzMWU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTcxLDcg
KzExNzEsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZShib29sIHNob3Vs
ZFBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMpCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMo
KTsKIAogICAgIGlmICghbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1f
ZG9jdW1lbnRSZXNvdXJjZXMgaXMgYSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IDg0ODk2NWU5OTEzYjdmNjAwZjA1
ZDVjYThjMjc3ZDI1OWVhOTQwNzQuLmJjNWM1NzVmYTVlYzI2Mzc1M2JmNzMzNmNhNzM5NjBlNjU3
ZGZmMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApA
QCAtNzMxLDExICs3MzEsMTEgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmUoKQogCiB2b2lkIE1l
bW9yeUNhY2hlOjpwcnVuZVNvb24oKQogewotICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZl
KCkpCisgICAgaWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgIGlmICghbmVlZHNQcnVuaW5nKCkpCi0gICAgICAgICByZXR1cm47Ci0gICAgIG1fcHJ1bmVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKKyAgICAgICAg
cmV0dXJuOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmbmRl
ZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMu
Y3BwCmluZGV4IGQyYzM5MWE1ZDYwNGM1MjYxOWE5YWZjMWYxMjJiZDY5OWM4ODY0ZjguLmQxYTBm
MjA5NjhjNTNiOGY3MDRhYTZlN2M2ZDljMmU3ZTg5NWZlMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lk
IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJlbmNl
cyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXggZGY1
ODBiNzllZTAyMDQwMjgwNWJmNTkwYTNmN2Y5Njk3NTRkZGIwZi4uMmQ5NDZmYmM5Yjg2MTFmZWY1
N2M4OWUwMzI0YTZkMmJjY2FiYjk0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Nyw3ICsyNDcsNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9u
UHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJpbmcg
dGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhvZCBp
cyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBvcgog
ICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0gICAg
bV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlU3R5
bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAppbmRleCBlNjk4MThiYmIwNzJmNGRmNGJkNWVmMjliMTg2NDRkNzVjYzBm
NmI3Li45ZjI0NzRiYWQ4ZjczNTUxMDZmZmE3NDBiZWJkYzI0Njg4OTIwYzgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwCkBAIC05ODEsNyArOTgxLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
RE9NV2luZG93Ojpwb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIERPTVdpbmRvdyYg
Y2FsbGUKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBtZXNzYWdlLgogICAgIGF1dG8qIHRpbWVyID0g
bmV3IFBvc3RNZXNzYWdlVGltZXIoKnRoaXMsIG1lc3NhZ2UucmVsZWFzZVJldHVyblZhbHVlKCks
IHNvdXJjZU9yaWdpbiwgY2FsbGVyV2luZG93LCBjaGFubmVscy5yZWxlYXNlUmV0dXJuVmFsdWUo
KSwgV1RGTW92ZSh0YXJnZXQpLCBXVEZNb3ZlKHN0YWNrVHJhY2UpKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVy
biB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAppbmRleCBi
ZDU0OTRhYTM4N2NhNTMzNGY4ZDI3NjA3ZmNjMWZhODRkYmQ4YjFlLi5jOTk1ZjFhNTUzNzRiYTNj
NTZmNTFlNWMzOWI2ZTgzZWM2ODdlYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RldmljZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29u
dHJvbGxlci5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgdm9pZCBEZXZpY2VDb250cm9sbGVyOjphZGRE
ZXZpY2VFdmVudExpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQogICAgIGlmIChoYXNMYXN0RGF0
YSgpKSB7CiAgICAgICAgIG1fbGFzdEV2ZW50TGlzdGVuZXJzLmFkZCh3aW5kb3cpOwogICAgICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAK
ICAgICBpZiAod2FzRW1wdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXgg
MTUzYjZhNTM0OGY4Zjk5N2EzYTg0ZmJiMzY1OTAzYWFlZjIxNGZjZC4uZGNhODIzMDQ2MzBjMzIw
ODU1Y2RhZmUyMTNiZWEwMzI4ZmM2NGNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcApAQCAtMjk0MCw3ICsyOTQwLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0
TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQgRXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVV
cGRhdGUoKQogewogICAgIGlmICghbV9ob3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
aG92ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggMmVhZThjZjBmYTRkOGY2OWU3NDIzMjBlOWEwYTE2Mjlh
YjA0ZmNiMC4uYjFkZWQzZjhmN2MxZGExMmI5MzdlMzViY2VmZDQ0ODE5ODVmNjEzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIEV2ZW50
U291cmNlOjpzY2hlZHVsZUluaXRpYWxDb25uZWN0KCkKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBD
T05ORUNUSU5HKTsKICAgICBBU1NFUlQoIW1fcmVxdWVzdEluRmxpZ2h0KTsKIAotICAgIG1fY29u
bmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNvbm5lY3QoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGE3NDg3OTQ2NThiZjc1OWQ3NGQ1MmIyMmRkYzBl
NjFiNmJjZDhjZTkuLmZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE1NzQsNyArMTU3NCw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAgICAgICAgICAgICAvLyBkZWZlciB3
aWRnZXQgdXBkYXRlcyBhbmQgZXZlbnQgZGlzcGF0Y2ggdW50aWwgYWZ0ZXIgd2UgcmV0dXJuLiBw
b3N0TGF5b3V0VGFza3MoKQogICAgICAgICAgICAgLy8gY2FuIG1ha2UgdXMgbmVlZCB0byB1cGRh
dGUgYWdhaW4sIGFuZCB3ZSBjYW4gZ2V0IHN0dWNrIGluIGEgbmFzdHkgY3ljbGUgdW5sZXNzCiAg
ICAgICAgICAgICAvLyB3ZSBjYWxsIGl0IHRocm91Z2ggdGhlIHRpbWVyIGhlcmUuCi0gICAgICAg
ICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAg
IG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBp
ZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBsYXlvdXQoKTsKICAgICAgICAgfQpA
QCAtMzUyMiw3ICszNTIyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFz
a3MoKQogICAgIC8vIGlzIGNhbGxlZCB0aHJvdWdoIHRoZSBwb3N0IGxheW91dCB0aW1lci4KICAg
ICBSZWY8RnJhbWVWaWV3PiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIAotICAgIG1fdXBkYXRlRW1i
ZWRkZWRPYmplY3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlRW1iZWRkZWRP
YmplY3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBpZiAoYXV0byogcGFnZSA9IGZy
YW1lKCkucGFnZSgpKSB7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9
IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmlu
ZGV4IDFiM2UyMmJmMWJmN2FjMzQyOTFhMDdlMTIwNjU1ZDViNmUyODQ5MjkuLmU3Y2M5MGFmYzIw
M2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
CkBAIC0zNjksNyArMzY5LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0
aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KQogICAgIC8vIFN0YXJ0aW5nIHRo
ZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGltcG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQg
b24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRoZSBQYWdlIGNhbmNlbHMgdGhlbQogICAg
IC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8gcmVhbGx5IHN0YXJ0LgogICAgIC8vIFNl
ZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBtb3JlIGRpc2N1c3Npb24uCi0gICAgbV9z
ZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NldElt
YWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0
dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpCkBAIC00MDcsNyArNDA3LDcg
QEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZChib29sIGFyZUltYWdlc0VuYWJsZWQp
CiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1hZ2VzRW5hYmxlZDsKIAogICAgIC8vIFNl
ZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseS4KLSAgICBtX3NldEltYWdl
TG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6
c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBwcmVmZXJNSU1FVHlwZUZvckltYWdlcykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKaW5kZXggNTk1MzdmODlmOTBhY2Ex
ZGQ0ZGVmNThjMjMwNDQ4N2RhZTZkMzk1Ni4uMTVlYjczZjIyYzc3MDAyMGJkNWM3ZTU0MDJmZTEw
MDZlZGE1YWE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKQEAgLTQ5
LDggKzQ5LDYgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZh
bCkgeyBzdGFydE9uZVNob3QoU2Vjb25kcyB7IGludGVydmFsIH0pOyB9CiAKICAgICBTZWNvbmRz
IHJlcGVhdEludGVydmFsKCkgY29uc3Q7Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKGRv
dWJsZSBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgeyBkZWx0YSB9KTsgfQot
ICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkgeyBhdWdtZW50UmVw
ZWF0SW50ZXJ2YWwoU2Vjb25kcyB7IGRlbHRhIH0pOyB9CiAKICAgICB2b2lkIHN0YXJ0UmVwZWF0
aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29u
ZHMgaW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
Q1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9DU1NBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCBhNTNjY2U3ZmFkZGIwZTU2NDQ3ZWVl
ZGZiZjAyMjVmMzI2NGMwNjkxLi5kY2Q3ZTQwYWQxZTlhZmRhOWQ1YWZjZDEwODYxZGQ0ZmU1ZjUw
NmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRp
b25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NB
bmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtMjMyLDcgKzIzMiw3IEBAIHZvaWQgQ1NTQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmZpcmVFdmVudHNBbmRVcGRhdGVTdHlsZSgpCiB2b2lkIENT
U0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFk
ZEV2ZW50VG9EaXNwYXRjaChFbGVtZW50JiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgZWxhcHNlZFRpbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpp
bmRleCBhMTk4M2Y0ZDQ1NGM3YzBlZTc3MjdlMmI2ZmZiZWQyZjRkMGRhNDA2Li5mYmExMDlhOTYz
ZGJmM2Y0ZTI4MDIyMmNkNjc1OGNmMDQ3ZGIxNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM5MCw3ICszOTAs
NyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRz
T2ZUeXBlKEhpZ2hsaWdodDo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2Rp
cnR5SGlnaGxpZ2h0VHlwZXMgfD0gdHlwZTsKLSAgICBtX2J1aWxkSGlnaGxpZ2h0c1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2J1aWxkSGlnaGxpZ2h0c1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmJ1aWxkUG90ZW50aWFs
SGlnaGxpZ2h0c0lmTmVlZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggN2ZjMWVkNTU2
YmE1OGZmYjYwYmU4ZmEwN2YzMmEzNTNiZjllYWJiYS4uOGNiMDFmZjU0MTcwMWVmYmJiNWZjNjAy
ZTdiNjI0MzQxMWIxMWE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTI4NCw3ICsyODQs
NyBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xs
UG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKFNjcgogICAgIH0KIAogICAgIG1fc2NoZWR1bGVkU2Ny
b2xsVXBkYXRlID0gc2Nyb2xsVXBkYXRlOwotICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
cjo6dXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JJT1MubW0KaW5kZXggNmIxNjg1NzNiNTYwMzBiM2FmM2Q5NDAyYTQ0YzcwZTg5
ODJlOWIzMi4uZTAwMDMyMjc5NzE0MzIyZjYwMDdmNjRlZGI5MTA3MmFkZGE4YWFlNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5h
dG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxp
bmdDb29yZGluYXRvcklPUy5tbQpAQCAtODYsNyArODYsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5n
U3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdDb29yZGluYXRvck1hYy5tbQppbmRleCA5ZDAyMTE2ZGMxYmJiZDQ3MzUxNWEwNmQ5YTYxMmVm
NjQ4YmQyNTdiLi5hMzAyMjc2NTI1MWU3NDUyMzk5NzU1MmI3NWIxYzJjYjg4ZTg2YWI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvck1hYzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKQogICAgICAgICByZXR1cm47
CiAKICAgICBMT0coU2Nyb2xsaW5nLCAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0Iik7Ci0gICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6
Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dl
bmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tR
dWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFiNDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4u
Mzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9p
ZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5j
dGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBlbmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAg
IHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZChtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQ
dHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigpLmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJl
ZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAgICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rpc3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1l
cigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA4ODE4MWQzMDU3ZjQ2
ODk0ZGZlYjlhOTc3YTU2NzA2NjE2NDUzNTdjLi41ZDBhOGVmYjQ3NDBjNjg4NzVjMzk5Mzk1YTUw
NjgzMTdjZWEwNWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKQEAgLTE4
Myw3ICsxODMsNyBAQCBzdGF0aWMgYm9vbCB0aHVtYlVuZGVyTW91c2UoU2Nyb2xsYmFyKiBzY3Jv
bGxiYXIpCiAgICAgcmV0dXJuIHNjcm9sbGJhci0+cHJlc3NlZFBvcygpID49IHRodW1iUG9zICYm
IHNjcm9sbGJhci0+cHJlc3NlZFBvcygpIDwgdGh1bWJQb3MgKyB0aHVtYkxlbmd0aDsKIH0KIAot
dm9pZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCit2b2lk
IFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpCiB7CiAgICAg
Ly8gRG9uJ3QgZG8gYW55dGhpbmcgZm9yIHRoZSB0aHVtYiBvciBpZiBub3RoaW5nIHdhcyBwcmVz
c2VkLgogICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCB8fCBtX3ByZXNzZWRQYXJ0
ID09IE5vUGFydCkKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkKICAgICAgICAgc3RhcnRUaW1lcklmTmVlZGVkKGRl
bGF5KTsKIH0KIAotdm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVs
YXkpCit2b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpCiB7
CiAgICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgZm9yIHRoZSB0aHVtYi4KICAgICBpZiAobV9wcmVz
c2VkUGFydCA9PSBUaHVtYlBhcnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxiYXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCmluZGV4
IGY4NmE5NjJhZmUwMmI1MjYwMzhiZDdkNWVkZGVhOTY0YmJhNmY3MWEuLmEyMzZjN2U4ZWIxMjdh
ZWEzNzU2NTIzZWJlYzQxZjk5M2E5YTVjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJh
ci5oCkBAIC0xNDQsOSArMTQ0LDkgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB1cGRh
dGVUaHVtYlByb3BvcnRpb24oKTsKIAogICAgIHZvaWQgYXV0b3Njcm9sbFRpbWVyRmlyZWQoKTsK
LSAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3Rh
cnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpOwogICAgIHZvaWQgc3RvcFRpbWVySWZOZWVk
ZWQoKTsKLSAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpOworICAg
IHZvaWQgYXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpOwogICAgIFNjcm9sbERp
cmVjdGlvbiBwcmVzc2VkUGFydFNjcm9sbERpcmVjdGlvbigpOwogICAgIFNjcm9sbEdyYW51bGFy
aXR5IHByZXNzZWRQYXJ0U2Nyb2xsR3JhbnVsYXJpdHkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggNzI1Mjk0MmIwY2FjYmE0YTBlM2EwZGZiNDc2MWRk
NGE2NTc1ZWRiYy4uMzFiZjY2MTY3Y2NhYzZjYzAzNGU1M2FlMjA0ZTAxMGNkOGNmN2FkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0xMDUsOCArMTA1LDgg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQgbWF4T3ZlcmxhcEJldHdlZW5QYWdlcygpIHsg
cmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7IH0KIAotICAgIHZpcnR1YWwg
ZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMjU7IH0KLSAg
ICB2aXJ0dWFsIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMDU7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1
cm4gMjUwX21zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkg
eyByZXR1cm4gNTBfbXM7IH0KIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihT
Y3JvbGxiYXImKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3Jv
bGxiYXImKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBmYWQ0ZTVhYjhkZjM0
ZWM1NDEzNTY5NTFkY2VlZDhjZjkxYTU4ZDczLi45Y2NiNDAyMWY1MDMzNzhhODYyMjRlNGE2ZDc1
MWRhNDhhOTMyNjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0yMDEsMTEgKzIw
MSw2IEBAIFRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAjZW5kaWYKIH0KIAotdm9pZCBUaW1lckJh
c2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwp
Ci17Ci0gICAgc3RhcnQoU2Vjb25kcyB7IG5leHRGaXJlSW50ZXJ2YWwgfSwgU2Vjb25kcyB7IHJl
cGVhdEludGVydmFsIH0pOwotfQotCiB2b2lkIFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0
RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKQogewogICAgIEFTU0VSVChjYW5B
Y2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCmluZGV4IDBmMzNhMGIxOGQ0ZWQ0ODgwNTQ5YTcwMjJkNjk3NjAzNzExYTIzOWQuLjU1
ZjJmMjRiN2ZmNmU1MzMxOTZmODljYzYyY2U5NTQ5YTM4ZjFkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaApAQCAtNTMsMTIgKzUzLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2
aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnQoU2Vj
b25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKTsKLSAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVw
ZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50
ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGlu
ZyhyZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91
YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyByZXBlYXRJbnRl
cnZhbCB9KTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CiAKLSAgICB2b2lk
IHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDApOyB9Cisg
ICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNv
bmRzIHsgaW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVy
dmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHN0b3AoKTsKQEAgLTY5LDEwICs2OCw3IEBAIHB1YmxpYzoKICAgICBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQogCiAgICAgdm9pZCBh
dWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4
dEZpcmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKGRvdWJs
ZSBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgeyBkZWx0YSB9KTsgfQotCiAg
ICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50Rmly
ZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsgfQotICAgIHZvaWQg
YXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyB7IGRlbHRhIH0pOyB9CiAKICAgICB2b2lkIGRpZENoYW5nZUFsaWdubWVudElu
dGVydmFsKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
bWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IGY2NTk2MDU5OWZlMWFkYjBjYjgz
OTgxMjRmMjZjMjU1NjBmMWRlMmUuLjAwMjY2NGNhYTJhMjdiMmM0YzkzOTI0YTBkODEyMzlmYWE1
YzQxNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJ
REdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgSElE
R2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VBZGRlZChJT0hJRERldmljZVJlZiBkZXZpY2UpCiAgICAg
ICAgIC8vIGFuZCB3ZSBkb24ndCB3YW50IHRvIHRlbGwgdGhlIGNsaWVudCBhYm91dCBhbnkgb2Yg
dGhlbS4KICAgICAgICAgLy8gVGhlIG1fY29ubmVjdGlvbkRlbGF5VGltZXIgZmlyZXMgaW4gYSBz
dWJzZXF1ZW50IHNwaW4gb2YgdGhlIHJ1bmxvb3AgYWZ0ZXIgd2hpY2gKICAgICAgICAgLy8gYW55
IGNvbm5lY3Rpb24gZXZlbnRzIGFyZSBhY3R1YWwgbmV3IGRldmljZXMuCi0gICAgICAgIG1fY29u
bmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Nvbm5lY3Rpb25E
ZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgICAgIExPRyhHYW1lcGFkLCAiRGV2
aWNlICVwIHdhcyBhZGRlZCB3aGlsZSBzdXBwcmVzc2luZyBjYWxsYmFja3MsIHNvIHRoaXMgc2hv
dWxkIGJlIGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQiLCBkZXZpY2UpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZDJh
YTE2NGViODY5ZmJkMGNjMjU1YTFiYzE1ZDQ4MDE5OTA2YzVmMy4uYjdlM2Q5ODk2M2NjZTY0NjFh
OWEzN2NlZjdmMjQ2M2VkMzQ3Nzg3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTEyMSw3ICsxMTIxLDcgQEAgdm9pZCBNZWRp
YVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29y
a1N0YXRlKCkgPj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZl
TWV0YWRhdGEpIHsKICAgICAgICAgY2xpZW50KCkubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xv
YWQoKTsKICAgICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYg
KG1fY29udGVudE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3Vy
cmVudE1lZGlhRW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3Vw
QVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQppbmRleCA2ZWU4YmM0ZWZiMzE3YWJmMTY2
MzRhNGMyOTM1NGViODVjNDlhZTZkLi44ZGVlMDljZTA4NmFkYWY1YmUyN2MyMDA4YWNiMjVkZDg5
MmMzNWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZP
YmpDLm1tCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qzo6dXBkYXRlT3B0aW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgY2hhcmFjdGVyaXMKIAogICAg
IEFTU0VSVChtX29wdGlvbnMuY29udGFpbnMocHJlZmVycmVkT3B0aW9uKSk7CiAgICAgbV9zZWxl
Y3RlZE9wdGlvbiA9IG1fb3B0aW9ucy5nZXQocHJlZmVycmVkT3B0aW9uKTsKLSAgICBtX3NlbGVj
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxl
Y3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqIG9wdGlvbikKQEAgLTE3OCw3
ICsxNzgsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9w
dGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqCiAgICAgbV9zZWxlY3RlZE9wdGlvbiA9
IG9wdGlvbjsKICAgICBpZiAobV9zZWxlY3Rpb25UaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBt
X3NlbGVjdGlvblRpbWVyLnN0b3AoKTsKLSAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZWxlY3Rpb25UaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCA5MDE1NTUxZDRkYzRjNzY4NWMxNmIxNjAyNDU4ODc3
ZGRlM2JiNTg0Li5hM2E0NTEyMWMwYTc3MjE5YTIxMzJlNmM5ZTc1NjFjYTAwZWRjMjRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0zOTAsNyArMzkwLDcgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1l
ZGlhVGltZSYgdGkKIAogICAgIGlmIChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBt
X3NlZWtUaW1lci5zdG9wKCk7Ci0gICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fc2Vla1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4
IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFhZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3
N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjliMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzks
NyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5UaWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJh
Z2VNYXA6OnNldE5lZWRzVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
dXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFw
Ojp1cGRhdGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCAwODZjNjVmYzIwMGU0MjJhOTExNjA4MGVlMjA5
NDZlMWVhMzFhY2Y1Li4yYmYxMWVhMWJkN2Q5Nzc1MzIwZGI3NjMzNTdkY2U0OWQ0M2Q1NzViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2Uu
Y3BwCkBAIC03NjcsNyArNzY3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgaWYgKCFtX3JlbmRlcmluZ0NhbkJlQWNjZWxlcmF0
ZWQpIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBt
X2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC03ODksNyArNzg5LDcgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkK
ICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAgTG9ja0hvbGRlciBs
b2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdD
b25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVv
U2lua0dTdHJlYW1lci5jcHAKaW5kZXggYjE0NmNjZmExYjU2MGJiMTc3NmVjY2ZhMDlmZmZlYmQ0
OGRiZGRjNC4uOWQ4ZjkzMzk1OGM1MmVlNjM0YzYyMTM2MTZjOGNjOTg3YWRjNGQ5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lu
a0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExNSw3ICsxMTUsNyBAQCBwdWJsaWM6
CiAgICAgICAgICAgICB3ZWJraXRWaWRlb1NpbmtSZXBhaW50UmVxdWVzdGVkKHNpbmssIHNhbXBs
ZS5nZXQoKSk7CiAjZWxzZQogICAgICAgICBtX3NpbmsgPSBzaW5rOwotICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICAgICAgbV9kYXRhQ29uZGl0aW9uLndhaXQobV9zYW1wbGVNdXRleCk7CiAjZW5kaWYKICAgICAg
ICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJQcm94eS5jcHAKaW5kZXggYWY2YmQ3Mzc3NTRkZmUwY2MzYjNhY2E5MjFkNjA0ZGZlZDljZjU3
NC4uNGRiNzQ4MjQ5OTY3Yzg5MDUyY2VkMGVlNGEyMzBiZWRhZTZhMDdmOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0
Zm9ybUxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcApAQCAtMTg1LDcgKzE4
NSw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRh
dGVPbkNvbXBvc2l0b3JUaHJlYWQoRnVuY3Rpb248CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRhdGVGdW5j
dGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggNWNjMGJlMzVjM2UxZTMzMjE5N2Y5
ZTcwMDY2Y2JiMGVkNjZjM2EzNC4uOGNiZDJiZTNjODQ3ZDg5ZGM2NGIzMWE2MmFlNTIwZGNiOGEw
ZGU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAKQEAgLTExMzYsNyArMTEzNiw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlz
dCwKIAogICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1hdGlvbnMu
YWRkKFRleHR1cmVNYXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0LCBib3hT
aXplLCAqYW5pbSwgbGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAwLCBUZXh0
dXJlTWFwcGVyQW5pbWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAgIG1fYW5p
bWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlvblN0YXJ0
ZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25zKCk7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Nj
cm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRkODdmOWZjMDlkZmNmMTIy
YWMxOTdjZDVlLi40NGU0NzM0ODJkZmFhMjAzODk0NjdjNzJlYzkzMDA3OGQ1YTgwYzU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAK
QEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNj
cm9sbGJhcnMoKQogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgIT0g
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewogICAgICAgICBtX292ZXJsYXlT
Y3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSA9IG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkR1cmF0aW9uOwotICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBoaWRlT3ZlcmxheVNjcm9sbGJh
cnMoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxi
YXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbGJhclRoZW1l
R3RrLmgKaW5kZXggNTFiZGQyNTlkYmNlNjQ2ZDIyNTQ0NTk5MTBjNjk4NWI1MzkwMTg2Zi4uOWNi
NDdjZGQ3Nzg1MzhlMTY1MTUwZmRkYmExZmU0NmNmMTU2NTU1YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbGJhclRoZW1lR3RrLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbGJhclRoZW1lR3RrLmgKQEAgLTUyLDggKzUyLDggQEAg
cHVibGljOgogICAgIGludCBtaW5pbXVtVGh1bWJMZW5ndGgoU2Nyb2xsYmFyJikgb3ZlcnJpZGU7
CiAKICAgICAvLyBUT0RPOiBUaGVzZSBhcmUgdGhlIGRlZmF1bHQgR1RLKyB2YWx1ZXMuIEF0IHNv
bWUgcG9pbnQgd2Ugc2hvdWxkIHB1bGwgdGhlc2UgZnJvbSB0aGUgdGhlbWUgaXRzZWxmLgotICAg
IGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiAw
LjIwOyB9Ci0gICAgZG91YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1
cm4gMC4wMjsgfQorICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3Zl
cnJpZGUgeyByZXR1cm4gMjAwX21zOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlIHsgcmV0dXJuIDIwX21zOyB9CiAgICAgdm9pZCB0aGVtZUNoYW5nZWQoKSBv
dmVycmlkZTsKICAgICBib29sIHVzZXNPdmVybGF5U2Nyb2xsYmFycygpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIG1fdXNlc092ZXJsYXlTY3JvbGxiYXJzOyB9CiAgICAgLy8gV2hlbiB1c2luZyBv
dmVybGF5IHNjcm9sbGJhcnMsIGFsd2F5cyBpbnZhbGlkYXRlIHRoZSB3aG9sZSBzY3JvbGxiYXIg
d2hlbiBlbnRlcmluZy9sZWF2aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9M
ZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggOGJkNDFkODk2MDUzOTczMDc5MTVmM2ZmMGI5NWUxZjFh
NDI5YTJjMC4uZTRkZmRlYTEwZWViNDI1NjRiYzI1MDhlYzA5OGQxYTVkNTJlNWY0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCkBAIC00MjAs
NyArNDIwLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OmZpbmlzaGVkQ3JlYXRpbmdUaWxlcyhi
b29sIGRpZENyZWF0ZVRpbGVzLCBib29sIGNyZWF0ZU1vcmUKIAogICAgIC8vIEtlZXAgY3JlYXRp
bmcgdGlsZXMgdW50aWwgdGhlIHdob2xlIGNvdmVyUmVjdCBpcyBjb3ZlcmVkLgogICAgIGlmIChj
cmVhdGVNb3JlKQotICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBMZWdhY3lUaWxlQ2FjaGU6OnRpbGVDcmVhdGlvblRpbWVyRmlyZWQoKQpAQCAtNzgyLDcgKzc4
Miw3IEBAIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVu
YWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1NwZWN1bGF0aXZl
VGlsZUNyZWF0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7CiAgICAgaWYgKG1faXNTcGVjdWxhdGl2ZVRp
bGVDcmVhdGlvbkVuYWJsZWQpCi0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBib29sIExlZ2FjeVRpbGVDYWNoZTo6aGFzUGVuZGluZ0RyYXcoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaAppbmRleCA3NTZk
NDA2MDdmNTYzYTZjZTU5OGUyOWJiMjdiNDBlOTU1ZWJhNjFmLi5hY2NkMjljMTA2MDM2N2UwZmMw
ZmZmNjhkNTNkNDM0N2EwNzRiMWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvU2Nyb2xsYmFyVGhlbWVJT1MuaApAQCAtNDEsOCArNDEsOCBAQCBwdWJsaWM6CiAgICAgCiAg
ICAgYm9vbCBzdXBwb3J0c0NvbnRyb2xUaW50cygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRy
dWU7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlk
ZTsKLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNv
bmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMg
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQ
bGFjZW1lbnQgYnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KaW5kZXggNmU1MjBi
ZWY1NDhmNTQwMjAzYTlhNmEzYzc3N2Q4MTZkYWE1MDk5MC4uZmUyOTA3NzViZGUzODkzY2E2OTE2
MGYzMjMyN2IzYzVmZjIwNzNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAtNjYsMTQgKzY2LDE0IEBAIGludCBTY3JvbGxiYXJU
aGVtZUlPUzo6c2Nyb2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplKQogICAgIHJl
dHVybiAwOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xs
VGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9s
bFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9CiAKLWRv
dWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBT
Y3JvbGxiYXJUaGVtZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAw
OworICAgIHJldHVybiAwX3M7CiB9CiAgICAgCiBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IFNj
cm9sbGJhclRoZW1lSU9TOjpidXR0b25zUGxhY2VtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBhYzdmNGZkNGE5
ODRkYzMxZGRkNGZjODBiMTY5MzQxNTE5MDI1MDk1Li45NjI0ZDA1ZDE4ZTZmZDI1NmU3YWU5MTEy
NjkzYTU0MDE4ODIwNTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsQW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbEFuaW1hdG9yTWFjLm1tCkBAIC0xMzY0LDcgKzEzNjQsNyBAQCB2b2lkIFNjcm9sbEFuaW1h
dG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNvb24oY29uc3QgRmxvYXRTaXplJiBkZWx0
YSkKICAgICBtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhID0gZGVsdGE7CiAK
ICAgICBpZiAoIW1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAK
ICAgICBpZiAobV93aGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAgICAgICAgIG1fd2hlZWxFdmVudFRl
c3RUcmlnZ2VyLT5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVu
dFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50
VGVzdFRyaWdnZXI6OkNvbnRlbnRTY3JvbGxJblByb2dyZXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKaW5kZXggYTcyODI5OGM4ZWJiNWM1
NTU0N2Q2ZDNjYmQ4ZDVlMTQ3NDBhNGU4Yy4uN2VhYTkxMWJiOTJiMDhmMDFiN2Q5OTI2NmQwMTNh
NDc2YzdkZDViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9s
bGJhclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmgKQEAgLTQ4LDggKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQgdXNlc092ZXJs
YXlTY3JvbGxiYXJzQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgdXBkYXRlU2Nyb2xsYmFy
T3ZlcmxheVN0eWxlKFNjcm9sbGJhciYpICBvdmVycmlkZTsKIAotICAgIGRvdWJsZSBpbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUgYXV0b3Njcm9sbFRp
bWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVy
cmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1BsYWNlbWVudCgp
IGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsYmFyVGhlbWVNYWMubW0KaW5kZXggYjJlMTYxOGMwMzJmYjdjNjVmMWZlMTkxN2YyMDRlMjk2
NzRjMzg5Zi4uMjhhYTE1NDZmNTBkMmU5NDVkYjVjNjdlNjkwYmNiMTQxNTYwMTc5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQpAQCAt
MTMwLDggKzEzMCw4IEBAIHN0YXRpYyBjb25zdCBpbnQgY0J1dHRvbkxlbmd0aFtdID0geyAxNCwg
MTAgfTsKIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9uTGVuZ3RoW10gPSB7IDE2LCAxNCB9
OyAvLyBUaGUgb3V0ZXIgYnV0dG9uIGluIGEgZG91YmxlIGJ1dHRvbiBwYWlyIGlzIGEgYml0IGJp
Z2dlci4KIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9uT3ZlcmxhcCA9IDI7CiAKLXN0YXRp
YyBmbG9hdCBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41ZjsKLXN0YXRpYyBmbG9hdCBnQXV0b3Nj
cm9sbEJ1dHRvbkRlbGF5ID0gMC4wNWY7CitzdGF0aWMgU2Vjb25kcyBnSW5pdGlhbEJ1dHRvbkRl
bGF5IHsgNTAwX21zIH07CitzdGF0aWMgU2Vjb25kcyBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5IHsg
NTBfbXMgfTsKIHN0YXRpYyBib29sIGdKdW1wT25UcmFja0NsaWNrID0gZmFsc2U7CiBzdGF0aWMg
Ym9vbCBnVXNlc092ZXJsYXlTY3JvbGxiYXJzID0gZmFsc2U7CiAKQEAgLTIzNCw4ICsyMzQsOCBA
QCB2b2lkIFNjcm9sbGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQoKQogewogICAgIE5T
VXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZh
dWx0c107CiAgICAgW2RlZmF1bHRzIHN5bmNocm9uaXplXTsKLSAgICBnSW5pdGlhbEJ1dHRvbkRl
bGF5ID0gW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il07Ci0g
ICAgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Ny
b2xsZXJCdXR0b25QZXJpb2QiXTsKKyAgICBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcyB7
IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdIH07CisgICAg
Z0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IFNlY29uZHMgeyBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6
QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl0gfTsKICAgICBnSnVtcE9uVHJhY2tDbGljayA9IFtk
ZWZhdWx0cyBib29sRm9yS2V5OkAiQXBwbGVTY3JvbGxlclBhZ2luZ0JlaGF2aW9yIl07CiAgICAg
dXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpOwogfQpAQCAtMjc3LDEyICsyNzcsMTIgQEAg
dm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6dXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9s
bGJhciYgc2Nyb2xsYmFyKQogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9CiAKLWRv
dWJsZSBTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1Nl
Y29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7
CiAgICAgcmV0dXJuIGdJbml0aWFsQnV0dG9uRGVsYXk7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJU
aGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZU1h
Yzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBnQXV0b3Njcm9sbEJ1dHRv
bkRlbGF5OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZp
Y2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNl
MWZhNDMwZWUxZTI2NzJkOGQ2MTAxYzIuLjIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIx
YzIxMGJiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9p
ZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8
RGV2aWNlT3JpZW50YXRpb25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247
CiAgICAgaWYgKG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVu
dE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVu
dE1vY2suY3BwCmluZGV4IGI3Y2ZiOWJlMDZkY2JmZmM3YzE2YjNjZmU3NDY1MDEzMGZhNzAwZTUu
Ljc1NGE4MjVjYWU1NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAK
QEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRh
dGVQZXJtaXNzaW9uKCkKIHsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVybWlz
c2lvblN0YXRlVW5zZXQpOwogICAgIGlmICghbV9wZXJtaXNzaW9uVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Bl
cm1pc3Npb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNs
aWVudE1vY2s6OnBlcm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lk
IEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBB
U1NFUlQobV9jb250cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVy
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKaW5k
ZXggMDdlNjAyMTBkMDNmYzU0MmY3MGNmYmEyN2NlZjk2Y2E4NWY2MDgxNC4uYzQ3ZTc1Yjc0YjQ1
NDEzNjE4YzQyNTgzZWM4NzhlOGIwOTZjYzg1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKQEAgLTI1NCw3ICsyNTQsNyBAQCB2
b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpkaXNwYXRjaEZha2VJY2VDYW5kaWRhdGVzKCkKICAgICAv
LyBSZXZlcnNlIG9yZGVyIHRvIHVzZSB0YWtlTGFzdCgpIHdoaWxlIGtlZXBpbmcgdGhlIGFib3Zl
IG9yZGVyCiAgICAgbV9mYWtlSWNlQ2FuZGlkYXRlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZUNh
bmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VDYW5kaWRh
dGVUaW1lckZpcmVkKCkKQEAgLTI2NCw3ICsyNjQsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50
OjppY2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKIAogICAgIGlmICghbV9mYWtlSWNlQ2FuZGlkYXRl
cy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jbGllbnQuZ290SWNlQ2FuZGlkYXRlKG1fbWlkc1sw
XSwgbV9mYWtlSWNlQ2FuZGlkYXRlcy50YWtlTGFzdCgpKTsKLSAgICAgICAgbV9pY2VDYW5kaWRh
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fY2xpZW50LmRvbmVHYXRoZXJp
bmdDYW5kaWRhdGVzKG1fbWlkc1swXSk7CiB9CkBAIC0zMDMsNyArMzAzLDcgQEAgdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6c3RlcEljZVRyYW5zcG9ydFN0YXRlcygpCiAgICAgLy8gUmV2ZXJzZSBv
cmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgogICAg
IG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnJldmVyc2UoKTsKIAotICAgIG1faWNlVHJhbnNw
b3J0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNlVHJhbnNwb3J0VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRp
bWVyRmlyZWQoKQpAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6Omlj
ZVRyYW5zcG9ydFRpbWVyRmlyZWQoKQogICAgIGF1dG8gc3RhdGVDaGFuZ2UgPSBtX2ljZVRyYW5z
cG9ydFN0YXRlQ2hhbmdlcy50YWtlTGFzdCgpOwogICAgIG1fY2xpZW50LmljZVRyYW5zcG9ydFN0
YXRlQ2hhbmdlZChzdGF0ZUNoYW5nZS5maXJzdCwgc3RhdGVDaGFuZ2Uuc2Vjb25kKTsKIAotICAg
IG1faWNlVHJhbnNwb3J0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNlVHJhbnNwb3J0
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVu
bXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCkBAIC0zMjksNyArMzI5LDcgQEAgdm9pZCBNb2NrTWVk
aWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKCkKICAgICBmb3IgKGludCBpID0g
bV9taWRzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKQogICAgICAgICBtX21pZHNPZlNvdXJjZXNU
b1VubXV0ZS5hcHBlbmQobV9taWRzW2ldKTsKIAotICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQoKQpAQCAtMzM5LDcgKzMzOSw3IEBA
IHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQoKQogICAgICAgICBzb3Vy
Y2UtPnNldE11dGVkKGZhbHNlKTsKIAogICAgIGlmICghbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUu
aXNFbXB0eSgpKQotICAgICAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRh
VVJMRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxE
ZWNvZGVyLmNwcAppbmRleCBhYmZiNDZjZWNmODIxNDNiOWZmYWNkMDFiZTU3ODZhNTNhMDA4ZWMw
Li40NWNhMWM1YzM2MmI1NDVlODdlZGM4Y2RiMzVmMjIwMjhiYzI2ZGIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcApAQCAtNzks
NyArNzksNyBAQCBwcml2YXRlOgogICAgICAgICByZWYoKTsKIAogICAgICAgICBhdXRvIHNjaGVk
dWxlZFBhaXJzID0gbV9kZWNvZGVUYXNrLT5zY2hlZHVsZUNvbnRleHQuc2NoZWR1bGVkUGFpcnM7
Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogICAgICAgICBtX3RpbWVyLnNjaGVkdWxlKHNjaGVkdWxlZFBhaXJzKTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZS5jcHAKaW5kZXggMWZkMGZkOTNhYzkzYWYzZTVkMGNiOTA1MjhhY2EyN2FmYzliODM1
ZS4uNTNlY2Y1NmI2YmQzZTI5M2ZhZmExZTA4ZWNkMWQ2NGM1Y2IwMjAwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEw
NSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IFJlc291cmNlSGFuZGxlOjpjcmVh
dGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0CiB2b2lkIFJlc291cmNlSGFuZGxl
OjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKIHsKICAgICBkLT5tX3NjaGVkdWxl
ZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
UmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2
b2lkIFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAg
ICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RvcCgpOwogICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hl
ZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpIHsKICAgICAgICAgQVNTRVJUKCFkLT5tX2Zh
aWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
ICAgICB9CiAKICAgICBwbGF0Zm9ybVNldERlZmVyc0xvYWRpbmcoZGVmZXJzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXgg
MmQ2MTE2OWQ2ODkxY2U2NTJjZTk5NTY5MmJiNzEzMTEzM2Y5N2FlZC4uZWFjNDJlMjM1ZTNjOWJh
ZTA5MTNkMTE4ZjI1NzRkODhlZmFlNzcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTYxMSw3ICs2MTEsNyBAQCBSZW5k
ZXJMYXllckNvbXBvc2l0b3IqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5jbG9zaW5nQ29tcG9z
aXRvckZsdXNoaW5nTGF5ZXJzKAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxl
Q29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVy
c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVy
c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKaW5kZXggZGRmOTNhMzJj
NTVmODI3ZTRiZTM4Y2Q5NzIzNzQ0NzNhMTdlNzM5OC4uOTA3NDRmYWY4YzZiZjU0MDU2NmY5MDUy
NWY3ZjlkZjg4YmU3NDg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzNyw3ICs1MzcsNyBAQCB2b2lkIFJlbmRlck5h
bWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRJZk5lZWRlZCgp
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFuZ2VSZWdpb25PdmVyc2V0KGRv
Y3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAoIW1fcmVnaW9uT3ZlcnNldENo
YW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3coKS5oYXNFdmVudExpc3RlbmVy
cygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OnJlZ2lvbk92ZXJzZXRD
aGFuZ2VFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2Nyb2xsYmFyVGhlbWUuaAppbmRleCBlZDQ5YmVkY2JkYjYxNWQwYTczMjcxN2Q3Y2FhMzhk
YmNjOGRkYjc3Li40MWJkODIzYWFhMDE0NjU2YjExYWI2ZDI2MTlkZDE2ZmEwZWI3ODY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAt
NDcsOCArNDcsOCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBo
YW5kbGVNb3VzZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3Jt
TW91c2VFdmVudCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRlIHsg
cmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChzY3Jv
bGxiYXIsIGV2ZW50LCBwcmVzc2VkUGFydCk7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUo
KS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIGRvdWJsZSBhdXRvc2Nyb2xs
VGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1
dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3Jv
bGxUaW1lckRlbGF5KCk7IH0KIAogICAgIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFy
JiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnJl
Z2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJTY3JvbGxi
YXIoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1l
Ojp0aGVtZSgpLnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDUyYjBhOGVmY2E1NTc4ZGZiYzBkODZjMjM3
ODcwYzM0YTUxOTlkNzMuLjg5ZjQ2OTAxZWY1YTdkYjZmNjdhMzg4MzFlOGZiY2Q5MTg4MjhjZTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE1NCw3ICsxNTQs
NyBAQCB2b2lkIFJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiByZW5k
ZXJlcikKICAgICByZW5kZXJlci5zZXRSZW5kZXJCb3hOZWVkc0xhenlSZXBhaW50KHRydWUpOwog
ICAgIG1fcmVuZGVyZXJzTmVlZGluZ0xhenlSZXBhaW50LmFkZCgmcmVuZGVyZXIpOwogICAgIGlm
ICghbV9sYXp5UmVwYWludFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF6eVJlcGFpbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJWaWV3Ojp1bnNjaGVkdWxlTGF6eVJlcGFpbnQo
UmVuZGVyQm94JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKaW5kZXgg
YjFmNmY1NTA5MGRmNTZkMDg5MDk1YTRkYmIwOWMzZjBhZGY2MmFiNS4uNDI4MmZhNGM2MDgxN2Y5
NTdjNjUyMzQ4NzY2OWY2MDY1ZDM5MTc0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5j
cHAKQEAgLTU3OCw3ICs1NzgsNyBAQCB2b2lkIFNjb3BlOjpzY2hlZHVsZVVwZGF0ZShVcGRhdGVU
eXBlIHVwZGF0ZSkKIAogICAgIGlmIChtX3BlbmRpbmdVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKQog
ICAgICAgICByZXR1cm47Ci0gICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fcGVuZGluZ1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFNjb3BlOjpkaWRDaGFuZ2VBY3RpdmVTdHlsZVNoZWV0Q2FuZGlkYXRlcygpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudC5jcHAKaW5kZXggZmRjMTBlZjY2NzE1NmE5ZTAzMTJhZjVlM2RjNDA2YTk0ZjQy
ZGEyNC4uOGU5MzAyZTljZjQ2ZjYzODAxZGZjYmMxY2M0NWEyZjJmNDRkZjQxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNjIyLDcgKzYyMiw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6
c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBzZW5kUGFyZW50TG9hZEV2ZW50cykKIAog
dm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5
KCkKIHsKLSAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9uZVNob3QoMCk7CisgICAgc3Zn
TG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU1ZHRWxlbWVu
dDo6c3ZnTG9hZEV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcAppbmRleCA4M2VkZmM5YWRmNDJiZDcwZDcyZTZlNjViOTlhMjMxMjQwZjQzYTgxLi45ZGVm
OTM3YzUyMWJiMTk5ODUwYTEyOGI0MWY1NGMxYzU3M2ExNzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAKQEAgLTQ5MSw3ICs0OTEsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2Vw
dGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVxdWVzdDo6cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uT3I8dm9pZD4geyBFeGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07
CiAgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGlt
ZXIuc3RvcCgpOwotICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+IHsgfTsKICAgICB9CiAKQEAgLTEwMjgsNyArMTAyOCw3
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJy
b3IpCiAgICAgICAgIG1fc2VuZEZsYWcgPSBmYWxzZTsKICAgICAgICAgc2V0UGVuZGluZ0FjdGl2
aXR5KHRoaXMpOwogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1fbmV0
d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX25ldHdvcmtFcnJvclRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXhj
ZXB0aW9uQ29kZSA9IE5FVFdPUktfRVJSOwpAQCAtMTI0OSw3ICsxMjQ5LDcgQEAgdm9pZCBYTUxI
dHRwUmVxdWVzdDo6cmVzdW1lKCkKICAgICAvLyBXZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0
ZSBhcmJpdHJhcnkgSlMgaW4gcmVzdW1lKCkgc28gZGlzcGF0Y2gKICAgICAvLyB0aGUgZXJyb3Ig
ZXZlbnQgaW4gYSB0aW1lci4KICAgICBpZiAobV9kaXNwYXRjaEVycm9yT25SZXN1bWluZyAmJiAh
bV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVzdW1lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNw
cAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMwODczLi5hNWVhOTMy
Yjc0OTVlOWVkZGQwNGU2Y2M2OGNjZTNkNzgzNWI3YTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAK
QEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlOjpyZXN1bWUoKQogICAgIC8vIHRoZSBsaXN0IG9mIGFjdGl2ZSBET00gb2JqZWN0cyB0byBy
ZXN1bWUgdGhlbSwgYW5kIGFueSBhY3RpdmF0ZWQgSlMgZXZlbnQtaGFuZGxlcgogICAgIC8vIGNv
dWxkIGluc2VydCBuZXcgYWN0aXZlIERPTSBvYmplY3RzIHRvIHRoZSBsaXN0LgogICAgIC8vIG1f
ZGVmZXJFdmVudHMgaXMga2VwdCB0cnVlIHVudGlsIGFsbCBkZWZlcnJlZCBldmVudHMgaGF2ZSBi
ZWVuIGRpc3BhdGNoZWQuCi0gICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fZGlzcGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5k
ZXggZmRhZjU3ODQwNzhiYjIwNzkyOGRiM2E2MGRiNmJmNGQ5NWYyZDVjYy4uMmM3YmUxYTRkNzYw
OGEwY2YxNDVlNzUzMWRkMzJhYzg0YWY5NTgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMjgy
LDcgKzI4Miw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXN1bWVQZW5kaW5n
UmVxdWVzdHMoKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQ
ZW5kaW5nUmVxdWVzdHMoKQogewogICAgIGlmICghbV9yZXF1ZXN0VGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVl
c3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hl
ZHVsZXI6OnJlcXVlc3RUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQpp
bmRleCA1NGVmMjdlZTVmNGEyYmFjNGY1MmQzMWEyOWJjZTU4YjViY2ZlNGQzLi44NDdkYmIyY2I5
OTEyNmI5NDIxMzNlMjZjMWRkMTNhMzNkYzgyZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5Lm1tCkBAIC03NDQsNyArNzQ0LDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHk6OnJlcXVlc3RUaW1lckZpcmVkKCkKICAgICBtX3BsdWdpblJlcXVlc3RzLnJlbW92ZUZpcnN0
KCk7CiAgICAgCiAgICAgaWYgKCFtX3BsdWdpblJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAg
bV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKICAgICAKICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgp
KTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBAQCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eTo6bG9hZFJlcXVlc3QoTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAg
ICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQs
IHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQb3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVlc3Rz
LmFwcGVuZChXVEZNb3ZlKHBsdWdpblJlcXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UgewogICAgICAgICBSZWZQdHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJl
YW0+IHN0cmVhbSA9IEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtOjpjcmVhdGUodGhpcywgcmVx
dWVzdElELCByZXF1ZXN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
V2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KaW5kZXggNGYxYThjOWNlMDgyOTFhOGRiZWU2MzVh
NDQzYjZkOTkxNjM2MGVhMC4uNjY3M2E5NGRiMjQzN2YzNDEzYWNjYzYwODBlODlhZGUzZTc1ZDlm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blN0cmVhbS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luU3RyZWFtLm1tCkBAIC01MzAsNyArNTMwLDcgQEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0
cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7CiAg
ICAgICAgICAgICAvLyBQbHVnLWluIGNhbid0IHJlY2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0IG5v
dy4gU2VuZCBpdCBsYXRlci4KICAgICAgICAgICAgIGlmICghbV9kZWxpdmVyRGF0YVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgICAgICBtX2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRl
bGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihkZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxC
eXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1Bs
dWdpblBhY2thZ2UuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdl
LmNwcAppbmRleCA5M2JhNjRhZmIyODRlM2ZlMTY5NzFkNTA2MjkzMjhiNGEwNjY2MmMyLi43MDE5
YTVmNmIxMjg2MjdlMjdhZWE2OTU4YjlkY2Y1ZWJjNDU3ZWM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBQbHVn
aW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24oKQogICAgIEFTU0VSVChtX21vZHVsZSk7CiAgICAg
QVNTRVJUKCFtX2xvYWRDb3VudCk7CiAKLSAgICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fZnJlZUxpYnJhcnlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCmluZGV4IDJlZjM5NTViZTYxYThkMDU0MjRh
ZDEzOTk2MmRkMGQ3ZmE2YWU0NDQuLmRhODMzYWFmNGY4YmFlNDRiNDgwNGIzNTIxZmNkMTc3Yjhj
YWRkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFt
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKQEAg
LTM0OSw3ICszNDksNyBAQCB2b2lkIFBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgICAg
ICBpbnQzMl90IGRlbGl2ZXJ5Qnl0ZXMgPSBtX3BsdWdpbkZ1bmNzLT53cml0ZXJlYWR5KG1faW5z
dGFuY2UsICZtX3N0cmVhbSk7CiAKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewot
ICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBt
aW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggMjk4MTUzZGYzYzRhZDdm
NzRhYjI1Zjk4MDliZmRkYjIyZDgwNzM4Ny4uOGJmMmQ5NTJmMWJhMTdlMTNmOWIxMGU4ZmQwOWM0
ZTMwMjkzZTRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5W
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBA
IC00NzUsNyArNDc1LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAg
ICAgLy8gU2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUgY2FsbGluZyBwZXJmb3JtUmVxdWVz
dCBzaW5jZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1SZXF1ZXN0IGNhbiBjYXVzZSB0aGUg
cGx1Z2luIHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgp
KQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVx
dWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcGVyZm9ybVJlcXVlc3QocmVxdWVz
dC5nZXQoKSk7CiB9CkBAIC00ODUsNyArNDg1LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpzY2hlZHVs
ZVJlcXVlc3Qoc3RkOjp1bmlxdWVfcHRyPFBsdWdpblJlcXVlc3Q+IHJlcXVlc3QpCiAgICAgbV9y
ZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAKICAgICBpZiAoIW1faXNKYXZhU2Ny
aXB0UGF1c2VkKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBOUEVycm9yIFBsdWdp
blZpZXc6OmxvYWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9v
bCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhKQpAQCAtNjQ4LDcgKzY0OCw3IEBA
IHZvaWQgUGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNlZChib29sIHBhdXNlZCkKICAgICBp
ZiAobV9pc0phdmFTY3JpcHRQYXVzZWQpCiAgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0b3AoKTsK
ICAgICBlbHNlIGlmICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKQEAgLTExNzUsNyAr
MTE3NSw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZlKCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdp
bnMvUGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZp
ZXdXaW4uY3BwCmluZGV4IDczYzRhYmM1M2Y2ZTBiMjBjY2QxZGEzY2UxZTA0MDM3NGI5NWMxOWIu
Ljc1Y2I3N2YxZjNkNGRhM2MxZDY2NzdmMTc5YjQyMmVmZDMyMDAzNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApAQCAtMzM1LDcgKzMzNSw3IEBAIFBs
dWdpblZpZXc6OnduZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0s
IExQQVJBTSBsUGFyYW0pCiAKICAgICAgICAgcHVzaFBvcHVwc0VuYWJsZWRTdGF0ZSh0cnVlKTsK
IAotICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAg
aWYgKG1lc3NhZ2UgPT0gV01fUFJJTlRDTElFTlQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXgg
MzQ3YzUzNjBmNjZjYWNhZjdhOTY3YWMwNWVmMjJhODg4ZjgyMzcwNC4uMjM1ZTkwNGRhZDEyNWE3
ODM0NTUzOTMwMTVjNzM2ZmUzZDhkZmViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTE1MTYs
NyArMTUxNiw3IEBAIHZvaWQgV2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKCkKICAgICBtX2Nsb3Nl
V2luZG93VGltZXIgPSBXaW5kb3dDbG9zZVRpbWVyOjpjcmVhdGUodGhpcyk7CiAgICAgaWYgKCFt
X2Nsb3NlV2luZG93VGltZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nsb3NlV2luZG93VGlt
ZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25lU2hv
dCgwX3MpOwogCiAgICAgQWRkUmVmKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcAppbmRleCAxYjlhMDhkZjEyYzJlYTc4MWFmZWQ4
NDYyY2YzYTNmYzY3MGRkNzQxLi44M2ViNmVhOTUxY2U1NzAxYmVkNzg4OWFkZjQ0ODIzOGY2N2Fh
YWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0
YVRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRh
VGFzay5jcHAKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxl
RmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQogewogICAgIEFTU0VSVCh0eXBlICE9IE5vRmFpbHVy
ZSk7CiAgICAgbV9zY2hlZHVsZWRGYWlsdXJlVHlwZSA9IHR5cGU7Ci0gICAgbV9mYWlsdXJlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNl
UmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRp
b25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCBjMjlkYWJhMzZlOGUzZmFjZDJi
ODg0M2UxZWQzMTc0NzI0OThkYmZjLi41MTI3NmVjNWI1MjA1ZGFmMGRlMGVjMDY4NjFmMGQ2NjBl
ZTdhMDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMzY2LDcgKzM2Niw3IEBAIHZvaWQg
TmV0d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNlbCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29h
OjpyZXN1bWUoKQogewogICAgIGlmIChtX3NjaGVkdWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVy
ZSkKLSAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBbbV90YXNrIHJlc3VtZV07CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcAppbmRleCBkYTlkYjIyNGVkYzBlYTBjYmQwMDJkYzE3MTJhMGMxODZkMTkzNWU0
Li4xNzM5NTI1MDk1NzFkOGY0OTBhNzNlN2ZhOTY5NTkzYzdiODMyNGQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3Bw
CkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OmRlc3Ryb3ko
KQogICAgIGlmIChtX3BsdWdpbkRlc3RydWN0aW9uUHJvdGVjdENvdW50IHx8IG1fY29ubmVjdGlv
bi0+Y29ubmVjdGlvbigpLT5pblNlbmRTeW5jKCkpIHsKICAgICAgICAgLy8gV2UgaGF2ZSBwbHVn
LWluIGNvZGUgb24gdGhlIHN0YWNrIHNvIHdlIGNhbid0IGRlc3Ryb3kgaXQgcmlnaHQgbm93Lgog
ICAgICAgICAvLyBEZXN0cm95IGl0IGxhdGVyLgotICAgICAgICBtX3BsdWdpbkRlc3Ryb3lUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGx1Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yMTUsNyArMjE1LDcgQEAg
dm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnN0YXJ0UGFpbnRUaW1lcigpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lci4KLSAgICBtX3BhaW50VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIG1f
d2FpdGluZ0ZvckRpZFVwZGF0ZSA9IHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggYWE4Nzg4OTQ4
NjFhMzA2ZjdhNmM0ZTE2YTI0NWMyZmJiNzZiYTZkZS4uOTI2NThlODQ3YjQzMTViZTJhZmIzYzM5
OWM0MzcwZmJlNTliY2I4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKFdlYktp
dFdlYlZpZXdCYXNlKiB3ZWJWCiAgICAgaWYgKHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1l
ci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcml2LT51cGRhdGVBY3Rpdml0
eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5U3Rh
dGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogc3RhdGljIGdib29sZWFuIHRvcGxldmVs
V2luZG93Rm9jdXNJbkV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEZvY3VzKiwgV2Vi
S2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IDg5NjBkYTM4MzhhZTU1MzA5Y2RhOTZhNWMwZGNm
YjFlZmIzMDJlOWMuLmM1NWMzZjViNWNiNDk0ZjhjN2JjMjUyZDg1YmVlN2ZiMTE0NjU5MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKQEAgLTgz
LDcgKzgzLDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhwb3NlZFJlY3Qoc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJlY3Q+IHZpZXcKICAgICBtX3ZpZXdFeHBvc2VkUmVj
dCA9IHZpZXdFeHBvc2VkUmVjdDsKIAogICAgIGlmICghbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2Vk
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojp2aWV3RXhwb3Nl
ZFJlY3RDaGFuZ2VkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA5ZDI4NjQzYjczZGQ3ZDU5NDIwNDM1NDU4
MmNjMzFlNmVjYzNjYzMwLi45YTk3YjNmYmUyNThmYzU0MjExOWI1YzY4MmE3YTE2NjhkOWU2MGE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUlt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHAKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3
aW5nTW9uaXRvcjo6c3RhcnQoc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0JhcwogICAgIGdf
c2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3dlYlBhZ2Uudmlld1dpZGdldCgpLCAiZHJhdyIsIHJl
aW50ZXJwcmV0X2Nhc3Q8R0NhbGxiYWNrPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7CiAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7CiAjZWxzZQotICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9D
YWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5m
b0NhY2hlLmNwcAppbmRleCAzZTFjMmVmNWFmNjY3N2E5Mjk5ZGU4NTQ5NDVmOTE0NTgwMzM0OWUz
Li5kNWZiMWIyMzFiNDM3MGYwNmVkYzMxMzRmMzQ1YzVjM2NjZWNkMDk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hl
LmNwcApAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgUGx1Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVn
aW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgY29uc3QgUGx1Z2luTW9kCiAgICAgICAg
IGlmIChtX3NhdmVUb0ZpbGVJZGxlLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgbV9zYXZlVG9GaWxlSWRsZS5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2F2
ZVRvRmlsZUlkbGUuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKaW5kZXggYTNmYjc3MGY1Y2RiY2Rj
YjVmYTc3YWI0ZDJmMGI1NDc0NDg5MGY2Zi4uM2VkNTU3NTMxNmJmZGQwMzY1MDM3YWQ2YThiZDdk
NGFhODQ3YjRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0
b3JlLmNwcApAQCAtOTgsNyArOTgsNyBAQCB2b2lkIFZpc2l0ZWRMaW5rU3RvcmU6OmFkZFZpc2l0
ZWRMaW5rSGFzaChMaW5rSGFzaCBsaW5rSGFzaCkKICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3Mu
YWRkKGxpbmtIYXNoKTsKIAogICAgIGlmICghbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBWaXNpdGVkTGlua1N0b3JlOjpyZW1vdmVBbGwoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggZjJiY2IwZWM0N2ZkODFhMGYy
MTg0YzI3NzlmYWI4N2I1ODFkNjU0ZC4uMWRkN2FlMjQzYmY1OTZkZjIzMDAzYjNhNjM4ZGEzMmE5
NDQyYzNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
CkBAIC0yNDIsNyArMjQyLDcgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29sKEFQSTo6
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgICwgbV9hbHdheXNS
dW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkobV9jb25maWd1cmF0aW9uLT5hbHdheXNSdW5zQXRCYWNr
Z3JvdW5kUHJpb3JpdHkoKSkKICAgICAsIG1fdXNlck9ic2VydmFibGVQYWdlQ291bnRlcihbdGhp
c10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0p
CiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkRm9yUGFnZUNvdW50ZXIoW3RoaXNd
KFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQot
ICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShS
ZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsgfSkKKyAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRl
cihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsgfSkKICAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lcihS
dW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRo
cm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCkKIHsKICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IG1f
Y29uZmlndXJhdGlvbi0+YWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDdl
MTU3N2NiYThiMTU3MDUyNjRlNWJhNTQ3NWZmYzU5NjJkYWI4ODkuLjA1NTZlYTdjNGY2Zjk5OGM4
N2ZhMmUyM2NlMzA3Nzc0YzExZGI0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC0yMDYsNyArMjA2LDcgQEAgdm9pZCBH
ZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1cmU6OnNjYWxlQ2hhbmdlZChab29tR2VzdHVyZSog
em9vbUdlc3R1cmUsIGRvdWIKICAgICBpZiAoem9vbUdlc3R1cmUtPm1faWRsZS5pc0FjdGl2ZSgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBH
ZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1cmU6Olpvb21HZXN0dXJlKFdlYlBhZ2VQcm94eSYg
cGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBN
ZW51UHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1l
bnVQcm94eUd0ay5jcHAKaW5kZXggZGMxOThkODU4ZjEzYTNjMTIzNmU1MTFkMzhkYjY4NTI2MTM3
ODRhNC4uNTMxN2ZlZDlkODkyOTNhYmQ0MjEyYzIwODVkNjRjMmI5NDM3YTE0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5j
cHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjptZW51VW5t
YXBwZWRDYWxsYmFjayhHdGtXaWRnZXQqLCBXZWJQb3B1cE1lbnVQcm94eUd0awogICAgIC8vIFdo
ZW4gYW4gaXRlbSBpcyBhY3RpdmF0ZWQsIHRoZSBtZW51IGlzIGZpcnN0IGhpZGRlbiBhbmQgdGhl
biBhY3RpdmF0ZSBzaWduYWwgaXMgZW1pdHRlZCwgc28gYXQgdGhpcyBwb2ludCB3ZSBkb24ndCBr
bm93CiAgICAgLy8gaWYgdGhlIG1lbnUgaGFzIGJlZW4gaGlkZGVuIGJlY2F1c2UgYW4gaXRlbSBo
YXMgYmVlbiBzZWxlY3RlZCBvciBiZWNhdXNlIHRoZSBtZW51IGhhcyBiZWVuIGRpc21pc3NlZC4g
V2FpdCB1bnRpbCB0aGUgbmV4dAogICAgIC8vIG1haW4gbG9vcCBpdGVyYXRpb24gdG8gZGlzbWlz
cyB0aGUgbWVudSwgaWYgYW4gaXRlbSBpcyBhY3RpdmF0ZWQgdGhlIHRpbWVyIHdpbGwgYmUgY2Fu
Y2VsbGVkLgotICAgIHBvcHVwTWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBwb3B1cE1lbnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6c2VsZWN0SXRlbUNhbGxiYWNrKEd0a1dp
ZGdldCogaXRlbSwgV2ViUG9wdXBNZW51UHJveHlHdGsqIHBvcHVwTWVudSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
CmluZGV4IDUyNDYxOWYxMzMzNWVmOGE2ZjdjZDQwMTliYzMyZmIwOGFhYjM4OWQuLjdhOWI2ZjA4
OWFjNzEyNmZmN2FmNzk2OGFlYjVjZWMyYmIwZWJjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtMjQ2
LDcgKzI0Niw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJj
ZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiB2b2lkIFdlYkxvYWRlclN0cmF0
ZWd5OjpzY2hlZHVsZUludGVybmFsbHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVy
JiByZXNvdXJjZUxvYWRlcikKIHsKICAgICBtX2ludGVybmFsbHlGYWlsZWRSZXNvdXJjZUxvYWRl
cnMuYWRkKCZyZXNvdXJjZUxvYWRlcik7Ci0gICAgbV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OmludGVybmFsbHlGYWls
ZWRMb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCmluZGV4
IDJkYjhiYjQ0NmZiMGI3NDFjNWY3YWM1YWMwZDU3OGJjZjMxZjk1YTEuLmE3ZGIxMzY0YWY1YWJi
MWM3N2U1ZDE0ZTIxZWRkZjQ2NmYyMzZiZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RN
YXAuY3BwCkBAIC0yOTIsNyArMjkyLDcgQEAgdm9pZCBOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRv
SW52YWxpZGF0aW9uUXVldWUoTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIGlmICh0cnlTYWZlUmVs
ZWFzZU5QT2JqZWN0KG5wT2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX25wT2Jq
ZWN0c1RvRmluYWxpemUuaXNFbXB0eSgpKQotICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKICAgICBBU1NFUlQobV9maW5hbGl6YXRpb25UaW1lci5pc0FjdGl2ZSgpKTsKICAgICBt
X25wT2JqZWN0c1RvRmluYWxpemUuYXBwZW5kKG5wT2JqZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0
cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0
c2NhcGVQbHVnaW5TdHJlYW0uY3BwCmluZGV4IDdkNTRkODhjN2U4OThjNWNlMGJhZGYxZDc2OWIy
ZTVkMzVkOWEyNTQuLjIzNDk5MTMwY2M1OTY1YmNhNjFiN2I4MjgyZTk1ZDNhN2ZmN2I3ZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRz
Y2FwZVBsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcApAQCAtMjIyLDcgKzIyMiw3IEBA
IHZvaWQgTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVnaW4oKQogCiAgICAg
ICAgIGlmIChudW1CeXRlc1BsdWdpbkNhbkhhbmRsZSA8PSAwKSB7CiAgICAgICAgICAgICAvLyBU
aGUgcGx1Zy1pbiBjYW4ndCBoYW5kbGUgbW9yZSBkYXRhLCB3ZSdsbCBzZW5kIHRoZSByZXN0IGxh
dGVyCi0gICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggNmNiMDNkMGQ0NjNjZDE5MTgwYzAyNjg4Nzkx
MWIyYWJjMjUwMDYyZC4uYmEwNzY5MDgwNTkwM2UxYzVmZmQ2NTBkNDUyNWNhYjcxYmI3MjYxNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNw
cApAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVz
dHNUaW1lckZpcmVkKCkKIAogICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIHRvIHBl
cmZvcm0sIHJlc2NoZWR1bGUgdGhlIHRpbWVyLgogICAgIGlmICghbV9wZW5kaW5nVVJMUmVxdWVz
dHMuaXNFbXB0eSgpKQotICAgICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKICAgICAKICAgICBwZXJmb3JtVVJMUmVxdWVzdCh1cmxSZXF1ZXN0LmdldCgpKTsKIH0K
QEAgLTE0MDQsNyArMTQwNCw3IEBAIHZvaWQgUGx1Z2luVmlldzo6bG9hZFVSTCh1aW50NjRfdCBy
ZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmCiAgICAgICAgIGZy
YW1lTG9hZFJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJlZmVycmVy
KTsKIAogICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzLmFwcGVuZChVUkxSZXF1ZXN0OjpjcmVhdGUo
cmVxdWVzdElELCBmcmFtZUxvYWRSZXF1ZXN0LCBhbGxvd1BvcHVwcykpOwotICAgIG1fcGVuZGlu
Z1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VSTFJlcXVl
c3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6Y2FuY2Vs
U3RyZWFtTG9hZCh1aW50NjRfdCBzdHJlYW1JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAppbmRl
eCA2ODc0ZDFkNzJjZGYwOTFmOTdjNTgzNTMwOGQ5YWUyYjk4OWM1NjBhLi5mNDI4MjEwZmJhZmFi
MzBkMTgzYmVhOGE2MjFmN2MyMDM0OTQ0OGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBA
IC0zNjgsNyArMzY4LDcgQEAgdm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ01vZGVTb29uKCkKICAgICBpZiAoZXhpdEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlUGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2V4aXRDb21wb3Np
dGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2V4aXRDb21wb3NpdGluZ1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZU5vdygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCAyZjY2MTM3MjU0
NTAyMWY2ZjBjZjkxMjYwOWUyYmUyYjI2YjFkZjQ5Li5hMTQxMDQzNDlkYzgxYzk2ZmY3OGViNGUz
MTVjZGYzNmFiMmU2OWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgfQogCiAgICAg
aWYgKCFtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xheWVyRmx1c2hU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y2FuY2VsUGVu
ZGluZ0xheWVyRmx1c2goKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAppbmRleCBlYWIwMzZmODM2MzBhY2VhYjRlZWQ1NjYy
ZDJjNzhhNzk5MDg3ZmI5Li4zNjkxMjc3MDU0YTE3ODY4YzFiMGQ1Y2U3OWVjZTM0Nzk2MTYxNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmNwcApAQCAtMzQ2LDcgKzM0Niw3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpz
Y2hlZHVsZURpc3BsYXkoKQogICAgIGlmIChtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFJ
bXBsOjpkaXNwbGF5VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNzQzMDZmM2MyYzlmY2ZlYjkxMDQ1Y2IyNzM2OGNiOTk4
MzUyZjQ2OC4uMjVlMWE1M2ViZDBmNGM4MDEwZDBlMjFhYjlmYzkwNjVhMGViMjMyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjY1Miw3
ICsyNjUyLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVJc0luV2luZG93KGJvb2wgaXNJbml0aWFs
U3RhdGUpCiAgICAgICAgIC8vIGluIG9yZGVyIHRvIGdldCBwbHVnLWluIGNvbm5lY3Rpb25zLCBh
bmQgdGhlIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIGZvciB0aGUgV2ViIHByb2Nlc3MgdG8g
dXBkYXRlIHRoZSBiYWNraW5nCiAgICAgICAgIC8vIHN0b3JlIGFmdGVyIG1vdmluZyB0aGUgdmll
dyBpbnRvIGEgd2luZG93LCB1bnRpbCBpdCB0aW1lcyBvdXQgYW5kIHBhaW50cyB3aGl0ZS4gU2Vl
IDxyZGFyOi8vcHJvYmxlbS85MjQyNzcxPi4KICAgICAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdo
ZW5JbldpbmRvdykKLSAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhZ2VEaWRFbnRlcldp
bmRvdyhtX3BhZ2VJRCk7CiAgICAgfQpAQCAtNDAxNyw3ICs0MDE3LDcgQEAgdm9pZCBXZWJQYWdl
OjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCiAgICAgbV9oYXNTZWVuUGx1
Z2luID0gdHJ1ZTsKICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQU0hPVFRFRF9QTFVHSU5fSEVVUklT
VElDKQogICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dl
cmluZyBkZXRlY3Rpb24gZnJvbSBhZGRQbHVnaW5WaWV3KCVwKSIsIHBsdWdpblZpZXcpOwotICAg
IG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtNDU1MCw3ICs0NTUwLDcgQEAgdm9pZCBXZWJQYWdl
OjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wgbWF5U3RhcnRNZWRpYSkKIAogICAg
IG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9IG1heVN0YXJ0TWVkaWE7CiAgICAgaWYgKG1f
bWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyAmJiBtX3BhZ2UtPmlzSW5XaW5kb3coKSkKLSAgICAg
ICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Nl
dENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJQYWdl
OjpydW5Nb2RhbCgpCkBAIC01MzIxLDcgKzUzMjEsNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZEZpbmlz
aExvYWQoV2ViRnJhbWUqIGZyYW1lKQogCiAgICAgbV9yZWFkeVRvRmluZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdpbiA9IHRydWU7CiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0
ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGRpZEZpbmlzaExvYWQgKG1hcmtpbmcg
YXMgcmVhZHkgdG8gZGV0ZWN0KS4iKTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRl
ZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFw
c2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0oZnJhbWUpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYS5tbQppbmRleCAwNjc4NWIzMmU4ZjU1ZDJhZGRjYTU1MTg2YmQ4ZWQyY2YzNjg5NGU0Li5m
Y2EyMjAzNzg1OTgyM2EzMmJlY2Y4NmRhNTJiOGIwYWI2MjU0MWY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIFRp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKEFjdGl2
aXR5U3RhdGU6OkZsYWdzCiAgICAgfQogCiAgICAgaWYgKG1fd2FudHNEaWRVcGRhdGVBY3Rpdml0
eVN0YXRlIHx8ICFtX25leHRBY3Rpdml0eVN0YXRlQ2hhbmdlQ2FsbGJhY2tJRHMuaXNFbXB0eSgp
KQotICAgICAgICBtX3NlbmREaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3NlbmREaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVw
ZGF0ZUFjdGl2aXR5U3RhdGVUaW1lckZpcmVkKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306589</attachid>
            <date>2017-04-08 18:20:52 -0700</date>
            <delta_ts>2017-04-09 07:49:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170649-20170408182049.patch</filename>
            <type>text/plain</type>
            <size>130021</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDczNDg3YmExZGQwMDA5ZTQ3MDRhN2Qx
NTMwYjExM2QzMzNmMTY5N2QuLmMwNmFlNzYxZmViMzRlYzc1MGFjOTcxNjdjNzlmNWQ2MGYxY2Ez
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3
aXRoIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcwNjQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUgYXMgcGVvcGxl
IHNob3VsZCB1c2UgU2Vjb25kcyBub3cuCisKKyAgICAgICAgKiB3dGYvUnVuTG9vcFRpbWVyLmg6
CisgICAgICAgICogd3RmL2dsaWIvTWFpblRocmVhZEdMaWIuY3BwOgorICAgICAgICAoV1RGOjpN
YWluVGhyZWFkRGlzcGF0Y2hlcjo6c2NoZWR1bGUpOgorCiAyMDE3LTA0LTA3ICBLZWl0aCBNaWxs
ZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlbW92
ZSBjb25zdGV4cHIgZnVuY3Rpb24gc2luY2UgR1RLIGRpZG4ndCBsaWtlIGl0LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGNiMWI4YzE3MzRkNjg3MDUyMzVlNzgxODk0Nzk5OGE4MzRlM2FmYzUuLmQ3NjdlNDQ3MjY0
OTM2MjBiMjU2N2YxMzIxMjFhN2JmYzBmY2M3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNTMg
QEAKIDIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAg
ICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RhcnQgZHJvcHBpbmcgVGlt
ZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyBu
b3cuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRp
YUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9u
OjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlT
ZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZp
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAg
ICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okdlb2xvY2F0aW9uOjpyZXN1bWUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpz
Y2hlZHVsZVBlbmRpbmdPcGVyYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFu
c2FjdGlvbjo6c2NoZWR1bGVDb21wbGV0ZWRPcGVyYXRpb25UaW1lcik6CisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6Omludm9rZU9wZXJhdGlvbkFuZFRy
YW5zYWN0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6cmFuZ2VSZW1vdmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwpOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW06OnNjaGVkdWxlQWN0aXZlU3RhdGVDaGFuZ2UpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSVENEVE1GU2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKToKKyAgICAgICAgKiBNb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlicmF0aW9uOjp2aWJy
YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRD
aGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3ApOgorICAgICAgICAq
IGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVj
dG9yOjpiZWdpbkxvYWRpbmdGb250U29vbik6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVs
ZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERl
bGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1D
b250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVz
KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZl
bnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2
ZW50U29vbik6CisgICAgICAgICogZG9tL01pY3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6CisgICAgICAgICogZG9tL1NjcmlwdFJ1bm5lci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRSdW5uZXI6OnJlc3VtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBkb20vU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGFibGVE
b2N1bWVudFBhcnNlcjo6ZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHNTb29uKToK
KyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6
OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvU3BlbGxDaGVj
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6ZGlkQ2hlY2spOgorICAg
ICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxG
b3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZSk6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnNjaGVkdWxlRGVsYXllZEFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpiZWdpblNjYW5uaW5nKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNwbGF5U3RhdGUp
OgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAgICAgKiBodG1sL0hUTUxUcmFj
a0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6c2NoZWR1
bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6CisgICAgICAgIChN
ZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6
c2NoZWR1bGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYURvY3VtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhRG9jdW1lbnQ6Om1lZGlhRWxlbWVudFNhd1Vuc3VwcG9ydGVkVHJh
Y2tzKToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFi
bGVEaWRDaGFuZ2UpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hpZGVNZXNzYWdlKToKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRp
c3BhdGNoQ29udGV4dExvc3RFdmVudCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNl
clNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpj
b250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNl
clNjaGVkdWxlcjo6c2NoZWR1bGVGb3JSZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBh
cnNlclNjaGVkdWxlcjo6cmVzdW1lKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUZXh0VHJhY2tD
b250YWluZXJFbGVtZW50Ojp1cGRhdGVTaXplcyk6CisgICAgICAgICogaHRtbC90cmFjay9Mb2Fk
YWJsZVRleHRUcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6
c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OmRpc3BhdGNoKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OnRpbWVyRmlyZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9XZWJIZWFwQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6YWRkR2FyYmFnZUNvbGxlY3Rpb24p
OgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkpOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6c3RhcnRDaGVja0NvbXBsZXRlVGltZXIpOgorICAgICAgICAqIGxvYWRlci9JbWFn
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlZEhhc1Bl
bmRpbmdFdmVudCk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBsb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2Fs
bGJhY2spOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNrKToKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25lKToKKyAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnBy
dW5lU29vbik6CisgICAgICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAg
ICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlv
blByZWZlcmVuY2VDaGFuZ2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKiBwYWdlL0Rl
dmljZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQ29udHJvbGxlcjo6
YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRh
dGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRTb3VyY2U6OnNjaGVkdWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcyk6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRJ
bWFnZXNFbmFibGVkKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuaDoKKyAgICAg
ICAgKiBwYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxl
SWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5
bmNTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGlu
YXRvcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpz
Y2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29v
cmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9HZW5lcmljVGFza1F1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVy
PFRpbWVyPjo6cG9zdFRhc2spOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZCk6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsYmFyLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjppbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6OmF1dG9zY3JvbGxU
aW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vVGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydE9uZVNob3QpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SElER2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VBZGRlZCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
Om5ldHdvcmtTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrV2l0aFRvbGVyYW5jZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlRpbGVDb3ZlcmFnZU1hcDo6c2V0TmVlZHNVcGRhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRy
aWdnZXJSZXBhaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlk
ZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFZpZGVvUmVuZGVyUmVxdWVzdFNjaGVkdWxl
cjo6cmVxdWVzdFJlbmRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRhdGVPbkNvbXBvc2l0b3JU
aHJlYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
Y3JvbGxBbmltYXRvckd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0
azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2Nyb2xs
YmFyVGhlbWVHdGsuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1t
OgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGls
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRp
bGVDcmVhdGlvbkVuYWJsZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVt
ZUlPUy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxU
aW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Ny
b2xsZWRTb29uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRl
bGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNl
dE9yaWVudGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50
TW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5j
VXBkYXRlUGVybWlzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1v
Y2s6OmFzeW5jVXBkYXRlQ29udHJvbGxlcik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2Nr
TWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6
ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFF
bmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
TWVkaWFFbmRwb2ludDo6c3RlcEljZVRyYW5zcG9ydFN0YXRlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGluZ1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGlt
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5n
ZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVt
ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQpOgorICAgICAgICAqIHN0eWxlL1N0
eWxlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjpzY2hlZHVsZVVw
ZGF0ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGVBc3luY2hyb25vdXNseSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0
dHBSZXF1ZXN0OjpwcmVwYXJlVG9TZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1
ZXN0OjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUp
OgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6
cmVzdW1lKToKKworMjAxNy0wNC0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CiAgICAgICAgIERyb3Agc3RkOjpjaHJvbm8gc3VwcG9ydCBmcm9tIFRpbWVyIGNsYXNzCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCAyYjM5Yjk4Yzc0OTY5NjY0ZDI3MGRhYzU4MDk3N2YxMjk1ZDFmYmZlLi5mZGEyOWRk
N2RhMzEyOGNjNjE0MTczY2UzOGVmYzAxYmY0NTQwYzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE3LTA0LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRp
bWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMg
bm93LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBl
bmRpbmdSZXF1ZXN0cyk6CisKIDIwMTctMDQtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBPbmx5IENhcHR1cmUgRXh0cmEg
TmV0d29yayBMb2FkIE1ldHJpY3Mgd2hlbiB0aGVyZSBpcyBhIFdlYiBJbnNwZWN0b3IgRnJvbnRl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCA3NWFhNWQxNDRjMTM5YjBhZDRjMjM1MDFjNWU0YWE2NThk
ODIyNGIwLi42OWNmNTIyOGViY2U3NDUwN2I2ZmQ0ZmY5ZGZhNzMyYjJjNGUwZTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGlu
ZyB3aXRoIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTcwNjQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUgYXMgcGVv
cGxlIHNob3VsZCB1c2UgU2Vjb25kcyBub3cuCisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9O
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViS2l0
OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmxvYWRSZXF1ZXN0KToKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tOgorICAgICAgICAoV2ViTmV0c2NhcGVQ
bHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKworMjAxNy0wNC0wOCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIERyb3Agc3RkOjpjaHJvbm8gc3VwcG9ydCBmcm9t
IFRpbWVyIGNsYXNzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzA2NDUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGUxM2RlZDIzZTEzZDQ0OWVlMWY5OTUy
NDNhMmZiMjJlYjlhNjdlODQuLjE4ZDk3ZmI2ODBhN2Y1Y2RlZGFjM2JhYWRhMDExZGI1NWVmNmY4
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyOCBAQAogMjAxNy0wNC0wOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVy
IEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRv
dWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIG5vdy4KKworICAgICAgICAqIFBsdWdp
bnMvUGx1Z2luUGFja2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpm
cmVlTGlicmFyeVNvb24pOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEpOgorICAgICAgICAqIFBs
dWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpyZXF1
ZXN0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpzY2hlZHVsZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjprZWVwQWxpdmUpOgorICAgICAgICAq
IFBsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3
Ojp3bmRQcm9jKToKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmNs
b3NlV2luZG93U29vbik6CisKKzIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKwogICAgICAgICBEcm9wIHN0ZDo6Y2hyb25vIHN1cHBvcnQgZnJvbSBUaW1lciBjbGFz
cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ1
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAyY2M1ODJkZGYyMWI1NTA1OTRjMTc0ZmFmMWIxZGNjNTNhZWRmZjhi
Li44MWE3YjllODI0ZDM5MzJhZWY2NTc1ZmVkOWY2NzEwN2E0ZjIyNzc5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsNjAgQEAKIDIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAorICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJs
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RhcnQg
ZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1
c2UgU2Vjb25kcyBub3cuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRh
c2suY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1bWUpOgorICAg
ICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95KToKKyAgICAgICAgKFdlYktp
dDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50VGltZXIpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKKyAgICAgICAgKHdlYmtpdFdl
YlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJv
eHk6OnNldFZpZXdFeHBvc2VkUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRy
YXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1Bs
dWdpbkluZm9DYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9DYWNoZTo6dXBk
YXRlUGx1Z2luSW5mbyk6CisgICAgICAgICogVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2gp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6Om1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcik6CisgICAgICAg
ICogVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
Okdlc3R1cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUG9wdXBNZW51UHJveHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVJbnRlcm5hbGx5RmFpbGVkTG9hZCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5QUnVudGltZU9iamVjdE1hcDo6YWRkVG9JbnZhbGlkYXRp
b25RdWV1ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBl
UGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5TdHJlYW06
OmRlbGl2ZXJEYXRhVG9QbHVnaW4pOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVl
c3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OmxvYWRVUkwpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdNb2RlU29vbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hlZHVsZUxheWVyRmx1c2gpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxlRGlzcGxheSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1
cGRhdGVJc0luV2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUGx1Z2luVmll
dyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5k
b3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1t
OgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWN0aXZp
dHlTdGF0ZURpZENoYW5nZSk6CisKKzIwMTctMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKwogICAgICAgICBEcm9wIHN0ZDo6Y2hyb25vIHN1cHBvcnQgZnJvbSBUaW1lciBj
bGFzcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjQ1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oIGIvU291cmNl
L1dURi93dGYvUnVuTG9vcFRpbWVyLmgKaW5kZXggMzc4MGU3NmMwMzEzMTA0YWVjN2ZkNzk3MzIz
ZWI0MTA0ZjgzZTU5Ny4uZTVlNTU3YzBkMjc1MmI5M2NiOWIwODg5OTkxMWJmYzU5YmI1OWI0NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvUnVuTG9vcFRpbWVyLmgKQEAgLTQ4LDcgKzQ4LDkgQEAgcHVibGljOgogICAgIFdURl9F
WFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUg
cmVwZWF0SW50ZXJ2YWwpOwogCiAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQorICAg
IHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBl
YXRJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQogICAgIHZvaWQg
c3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMCk7IH0KKyAg
ICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLnZh
bHVlKCksIDApOyB9CiAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdG9wKCk7CiAgICAg
Ym9vbCBpc0FjdGl2ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9N
YWluVGhyZWFkR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL01haW5UaHJlYWRHTGliLmNw
cAppbmRleCAyYTIzOWY3NTk2Mjc3NmJiZmNjNDcxNDljNjQxYzNjNzgxYzU4ZTIwLi43NTllMzUy
NDkzM2VkODE1NGVkNGZjMmI5N2ZlZDdkMWE4MGNlMTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9nbGliL01haW5UaHJlYWRHTGliLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL01h
aW5UaHJlYWRHTGliLmNwcApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNj
aGVkdWxlKCkKICAgICB7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDdlOWU2OGNkMjczMDg4MGUw
YWRhNjcwZjJjYWFjNzc2ZDNiMTQxN2UuLjM0MTE4MDA4OTI2YWUxMmRiMzFlNDYzYzgyODcyZjVm
YTc3NmUyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IDA5
YzRlYzk2MGE1YzVmYzAxYTk3ODYyY2ViNTcyMjVhNDhjNmVjZWMuLjc0YTk2Y2UxZDJiYTgwMjdj
NWRlNjFiZmQyMGY0YjI4NGZkMjg3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01NSwxMyArNTUsMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
ZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKaW5kZXggMzYxMDlmMzVmY2Y2OTk5Yzc0ZDk0ZWRi
MjBiYjk0YTEwMDA3M2Q2Zi4uZmE2MWMwN2E1YzY4ZmQyMDExZjZkMDNiOTAyNGQwZTFlMDRmYjg5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5jcHAKQEAgLTE4OSw3ICsxODksNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQog
ICAgIEFjdGl2ZURPTU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRp
b246OnJlc3VtZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IDFlZTczZDI4ZGE5Mjk4NWQxNmZjYzYx
ZTEyNDIzZDA5N2NhNmRiMGIuLjRhNTA5NGNkZjYyZDliOTgzMjE2MWE0MTQzYWFjNDVjYzI4YWQ2
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAKQEAgLTM5Miw3ICszOTIsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hl
ZHVsZVBlbmRpbmdPcGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9
PSBtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3Bl
cmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRp
bWVyRmlyZWQoKQpAQCAtNDQ0LDcgKzQ0NCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVk
dWxlQ29tcGxldGVkT3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkg
PT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVk
T3BlcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25U
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9w
ZXJhdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggNTFmODhk
ZGZiZmUwZjliZDE5YjNjYjVmOTQ1YzM2MDI5YjU2ZjJiMy4uNTQ0MzQ1ZWM0ZWU4YTc3ZDI0Yzk2
NjBmZDg5Y2Q5NGJjZGIzY2IwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNTE1
LDcgKzE1MTUsNyBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRU
cmFuc2FjdGlvblRpbWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUp
OwogCiAgICAgaWYgKCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwCmluZGV4IDA5MjhmNTU4OTAwNDk2NmU3MWM0MGM3MTgwYTNjNDJlYzIz
OGZlZmEuLmQyYjdjOTliMWJkNTI3YTIzNzAwYWVmY2Y0MGQ1NTA2YmE4NjY5N2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAK
QEAgLTM0Niw3ICszNDYsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmFuZ2VSZW1vdmFsKGNvbnN0
IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kKQogICAgIC8vIDUuIFJldHVy
biBjb250cm9sIHRvIHRoZSBjYWxsZXIgYW5kIHJ1biB0aGUgcmVzdCBvZiB0aGUgc3RlcHMgYXN5
bmNocm9ub3VzbHkuCiAgICAgbV9wZW5kaW5nUmVtb3ZlU3RhcnQgPSBzdGFydDsKICAgICBtX3Bl
bmRpbmdSZW1vdmVFbmQgPSBlbmQ7Ci0gICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXI6OmFib3J0SWZVcGRhdGluZygpCkBAIC01MzEsNyArNTMxLDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25lZCBj
aGFyKiBkYXRhLAogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0RXZl
bnQpOwogCiAgICAgLy8gNi4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFs
Z29yaXRobS4KLSAgICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcmVwb3J0RXh0cmFN
ZW1vcnlBbGxvY2F0ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtLmNwcAppbmRleCA1MDA5NDY3NzBkZGFhMGFmNTA5MTZjMzJkZDQ2
MGFmNTcwMWRkOTUzLi5lMDEwNTQwMDlmNjAwOTgzNDk0MGQ1MmE4YmQzZGE3OTEyMjVmMWVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LmNwcApAQCAtMzczLDcgKzM3Myw3IEBAIHZvaWQgTWVkaWFTdHJlYW06OnNjaGVkdWxlQWN0aXZl
U3RhdGVDaGFuZ2UoKQogICAgIG1fc2NoZWR1bGVkQWN0aXZpdHlFdmVudHMuYXBwZW5kKEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpKTsKIAogICAgIGlmICghbV9hY3Rpdml0
eUV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX2FjdGl2aXR5RXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBNZWRpYVN0cmVhbTo6YWN0aXZpdHlFdmVudFRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2Vu
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5jcHAKaW5kZXggZjgyNGMwNGM1ODBmMzI2Mzc1MzZkZTg5MjE3NTIyMmRkMjBlMWE4Ni4uOWRi
MWVjNWJkNjdmMWQ3M2E0NzZjMDZlOGFhZjVjODFiZjlkM2I3YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0xMTMs
NyArMTEzLDcgQEAgdm9pZCBSVENEVE1GU2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUmVm
PEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2
ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Nj
aGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUlRDRFRNRlNl
bmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKaW5kZXggMjcwYzJiMjhh
NjQ5ZDI0Y2E4M2UzZmNmMWExMDg0ZmFlYTk5Y2Y3ZS4uZjBkYzM0NTNhMWZmMTdmYWMzODFiMjlj
MzcyOGEwMThkZTk3OTY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKQEAgLTIzNSw3ICsyMzUsNyBAQCB2b2lkIFJU
Q0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50KQog
ICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2ZW50KSk7CiAKICAgICBpZiAo
IW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NjaGVkdWxlZEV2
ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlZEV2
ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmluZGV4IDFlMDJjZTFjZjY3ZjZlNGQ5MTI4NzVhYmY4
MGIyZGRkZTgzN2E3ZTcuLmJiODcxOWQ4MmY1MjA4NmEwZTQzYjdkMGU4NDhiMTgyMjhkYWQ2NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9u
KERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICAvLyBGSVhNRTog
U2VlbXMgdGhhdCBtX25vdGlmaWNhdGlvbkNlbnRlciBjYW4gYmUgbnVsbCBzbyBzaG91bGQgbm90
IGJlIGNoYW5nZWQgZnJvbSBSZWZQdHIgdG8gUmVmLgogICAgIC8vIEJ1dCB0aGUgcmVzdCBvZiB0
aGUgY29kZSBpbiB0aGlzIGNsYXNzIGlzbid0IHRyeWluZyB0byBoYW5kbGUgdGhhdCBjYXNlLgog
ICAgIEFTU0VSVChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCkpOwotICAgIG1fdGFza1Rp
bWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggYTkyOThmNzUyNWNlN2E4
ODRhMDVhZTJlNDczZGUxY2FiMTBlYmZlMC4uOTI1ZWI5NmEzMWMzODhlNjY1ODdjOTljNTQ2ZGU4
OTM3ZWY2NDY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdm9p
ZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFJlZlB0cjxWb2lkQ2FsbGJh
Y2s+JiYgY2FsbGJhY2spCiAgICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToKICAg
ICAgICAgaWYgKG1fY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgcmVmKCk7IC8v
IEJhbGFuY2VkIGJ5IHRoZSBkZXJlZnMgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wIGFuZCBO
b3RpZmljYXRpb25DZW50ZXI6OnRpbWVyRmlyZWQuCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAg
ICAgIH0KICAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAgICAg
ICAgICBpZiAoY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24v
VmlicmF0aW9uLmNwcAppbmRleCA4NjA5MTQyMDljOGJiMzQyODA0MGFhMTRmYzlmY2QwM2QwZGQ1
YzU5Li5jMTUyMmIzOTIyMGI0YThmMTJiZDMyMTY3ZThkMTEyMjdlZTFkZGE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTc2LDcgKzc2
LDcgQEAgYm9vbCBWaWJyYXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0
dGVybikKIAogICAgIG1fcGF0dGVybiA9IHNhbml0aXplZDsKIAotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgbV9zdGF0ZSA9
IFN0YXRlOjpXYWl0aW5nOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCBiZWQ5MzYyNjdkNTY4NGZj
Nzg4MTcwOTFmMTFmMDdjNDVlYWIzYjc5Li4wOGUxMmExNjAxYzhhMjRlNmFiNmMyMjQ0NjI3ZDEw
YWRjNGYyOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmNwcApAQCAtNTAzLDcgKzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQog
ICAgICAgICBtX2NoYW5uZWwtPnJlc3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVu
dHMuaXNFbXB0eSgpICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8g
RmlyZSB0aGUgcGVuZGluZyBldmVudHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQg
dG8gZXhlY3V0ZSBhcmJpdHJhcnkgSlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgfQogCiAgICAgbV9zaG91bGREZWxheUV2ZW50RmlyaW5nID0gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKaW5kZXggMGQ5MzQ3OTFlYWViNzM3NTQ5OTc0YmNiZTExYjE0NTAwZTBhMTQzNS4u
YzVjYjEyNGUyMjNkMjg2ZmJiNmYwMmNlNzAxMDQwMjg1MjY5ZTE1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApA
QCAtMjYzLDcgKzI2Myw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lKCkKIHsKICAg
ICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVyLmlzRW1wdHkoKSB8fCBt
X2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlblNv
Y2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDJhNzI0NWEyZDJhYzI1NmQ5
YzE2NWY3YTkwOGI4MTQ2NWNlMzJmMzQuLjEyNTQwNTAxNGU3NjBiYzJiOWU3OWRiODE5N2ExZTBl
ZTc1ZDAyZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcApAQCAtOTk4LDcgKzk5OCw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlm
aWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBkb2N1CiAgICAg
aWYgKHBvc3RUeXBlID09IFBvc3RBc3luY2hyb25vdXNseSkgewogICAgICAgICBtX25vdGlmaWNh
dGlvbnNUb1Bvc3QuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKG9iamVjdCwgbm90aWZpY2F0aW9uKSk7
CiAgICAgICAgIGlmICghbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
ICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxz
ZQogICAgICAgICBwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24ob2JqZWN0LCBub3RpZmljYXRpb24p
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXgg
NmY5ZmNhNjdmM2M0N2FkZGM4M2RlYzhjYjBkNWViOGNjYjQwZDc0My4uZmVmZmRhMWY1MzU1YjZk
NjMyODNkMWJlMjdlNjQ1MjY5NjRmMWQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9HQ0NvbnRyb2xsZXIuY3BwCkBAIC03MSw3ICs3MSw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpn
YXJiYWdlQ29sbGVjdFNvb24oKQogdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25O
ZXh0UnVuTG9vcCgpCiB7CiAgICAgaWYgKCFtX0dDVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9HQ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9HQ1RpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggM2EzN2E0N2JkZDQ1OTBhYTJlNDQzZmI4
MTMyYThhODA4M2M1YWMwZi4uOTAyZjBmNjlhOTM1OTY3MjQ1YmMzZTA1MWMzNDM2ODE4Y2RjODRi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0Myw3ICszNDMs
NyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9u
dCYgZm9udCkKICAgICAvLyBhZnRlciB0aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBi
ZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4gQmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1
ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRUaW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQo
KS4KICAgICBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVl
c3RDb3VudChmb250KTsKLSAgICBtX2JlZ2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2JlZ2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENT
U0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCAxZjRhNWU0MWYyYzZhODExMTRjM2ZiZjMzZDM5M2QzOWFjMWVhZDQ3Li4wZTczOWUz
YzY2MmRkZTBlOWVlMGJkMTk1ZmNkZmNiNmM0MjFkYzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTE2NTYsNyArMTY1Niw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNjaGVkdWxlU3R5bGVSZWNh
bGMoKQogICAgIC8vIEZJWE1FOiBXaHkgb24gZWFydGggaXMgdGhpcyBoZXJlPyBUaGlzIGlzIGNs
ZWFybHkgbWlzcGxhY2VkLgogICAgIGludmFsaWRhdGVBY2Nlc3NLZXlNYXAoKTsKICAgICAKLSAg
ICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc3R5bGVSZWNhbGNU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24oKnRoaXMpOwogfQpAQCAtNTIzNSw3ICs1MjM1
LDcgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25S
ZXN0b3JhdGlvbk1vZGUgbW9kZSkKIHsKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3Rv
cmVzU2VsZWN0aW9uID0gbW9kZTsKICAgICBpZiAoIW1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVw
ZGF0ZSgpCkBAIC01NDEzLDcgKzU0MTMsNyBAQCB2b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVs
ZWRUYXNrcyhBY3RpdmVET01PYmplY3Q6OlJlYXNvbkZvclN1c3BlbnNpb24gcmVhc29uKQogICAg
IGlmIChyZWFzb24gPT0gQWN0aXZlRE9NT2JqZWN0OjpXaWxsRGVmZXJMb2FkaW5nICYmIG1fcGFy
c2VyKQogICAgICAgICBtX3BhcnNlci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKICAgICBpZiAo
IW1fcGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgc2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOwogICAgIHJlc3VtZUFjdGl2ZURP
TU9iamVjdHMocmVhc29uKTsKICAgICByZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJD
YWxsYmFja3MoKTsKQEAgLTU2MTgsNyArNTYxOCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlcXVlc3RG
dWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBGdWxsU2NyZWVuQ2hlY2tUeXBl
CiAgICAgfSB3aGlsZSAoMCk7CiAKICAgICBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVl
dWUuYXBwZW5kKGVsZW1lbnQgPyBlbGVtZW50IDogZG9jdW1lbnRFbGVtZW50KCkpOwotICAgIG1f
ZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnVsbFNj
cmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKQpAQCAtNTc4NSw3ICs1Nzg1LDcgQEAgdm9pZCBE
b2N1bWVudDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKIAog
ICAgIG1fZnVsbFNjcmVlbkVsZW1lbnQtPmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCk7CiAK
LSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IERvY3VtZW50Ojp3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQpA
QCAtNTgyMiw3ICs1ODIyLDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQogICAgIGJvb2wgZXZlbnRUYXJnZXRRdWV1ZXNFbXB0eSA9
IG1fZnVsbFNjcmVlbkNoYW5nZUV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0eSgpICYmIG1fZnVsbFNj
cmVlbkVycm9yRXZlbnRUYXJnZXRRdWV1ZS5pc0VtcHR5KCk7CiAgICAgRG9jdW1lbnQmIGV4aXRp
bmdEb2N1bWVudCA9IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPyB0b3BEb2N1bWVudCgpIDogKnRo
aXM7CiAKLSAgICBleGl0aW5nRG9jdW1lbnQubV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVsbFNjcmVlbkNoYW5nZURl
bGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNldEZ1bGxT
Y3JlZW5SZW5kZXJlcihSZW5kZXJGdWxsU2NyZWVuKiByZW5kZXJlcikKQEAgLTU5NzcsNyArNTk3
Nyw3IEBAIHZvaWQgRG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKQogICAg
IC0tbV9sb2FkRXZlbnREZWxheUNvdW50OwogCiAgICAgaWYgKGZyYW1lKCkgJiYgIW1fbG9hZEV2
ZW50RGVsYXlDb3VudCAmJiAhbV9sb2FkRXZlbnREZWxheVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fbG9hZEV2ZW50RGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9h
ZEV2ZW50RGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6
bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKCkKQEAgLTY2MjYsNyArNjYyNiw3IEBAIHZvaWQgRG9j
dW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAg
IHJldHVybjsKICAgICBtX2Fzc29jaWF0ZWRGb3JtQ29udHJvbHMuYWRkKGVsZW1lbnQpOwogICAg
IGlmICghbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZCgpCkBA
IC02NjQ2LDcgKzY2NDYsNyBAQCB2b2lkIERvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKGNv
bnN0IFN0cmluZyYgY29va2llcykKICAgICBBU1NFUlQoIWlzRE9NQ29va2llQ2FjaGVWYWxpZCgp
KTsKICAgICBtX2NhY2hlZERPTUNvb2tpZXMgPSBjb29raWVzOwogICAgIC8vIFRoZSBjb29raWUg
Y2FjaGUgaXMgdmFsaWQgYXQgbW9zdCB1bnRpbCB3ZSBnbyBiYWNrIHRvIHRoZSBldmVudCBsb29w
LgotICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9j
b29raWVDYWNoZUV4cGlyeVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3Vt
ZW50OjppbnZhbGlkYXRlRE9NQ29va2llQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcAppbmRleCA5ZTA3N2Y3MmYxMzY1OWEzODY5MTVhOWNiZTYwMTQ2ZjIw
Mjk5YzI3Li5iZDkzYmE2MmNlNmUyMjFkOTQwZTBlODA2OTc4MTVlYWU1NjI0ZTkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcApAQCAtNzksNyArNzksNyBAQCBi
b29sIERvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkK
IAogICAgIG1fcXVldWVkRXZlbnRzLmFkZChldmVudC5wdHIoKSk7CiAgICAgaWYgKCFtX3BlbmRp
bmdFdmVudFRpbWVyLT5pc0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLT5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ0V2ZW50VGltZXItPnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRTZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCmlu
ZGV4IDg3MmQ4NWExYTQ1NTFhZDAxOTkwODA5ODBlNmY1ZjNhZDI4YTdiN2YuLjE1Y2RiMTc3OWIy
MDBhZjM2OTJiZmVlMWU3MGM5YWIwMmM2YjM0ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5o
CkBAIC02Niw3ICs2Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8
VD46OmRpc3BhdGNoRXZlbnRTb29uKFQmIHNlbmRlcikKIHsKICAgICBtX2Rpc3BhdGNoU29vbkxp
c3QuYXBwZW5kKCZzZW5kZXIpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBFdmVudFNlbmRlcjxUPjo6Y2Fu
Y2VsRXZlbnQoVCYgc2VuZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01pY3Jv
dGFza3MuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCmluZGV4IGU1YTJj
OTUxZTVhYTMyNWZkODQ3OWMwMGNlMTI3YWQ3OTZiOWMxOWIuLjM4ZTRmZTZhMzVkNzZkOGZjZmFh
MDUzOWI2MWUxYTM5YThhZWE0M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNy
b3Rhc2tzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgdm9pZCBNaWNyb3Rhc2tRdWV1ZTo6YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxN
aWNyb3Rhc2s+JiYgdGFzaykKIHsKICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3Zl
KHRhc2spKTsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBN
aWNyb3Rhc2smIHRhc2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVu
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCmluZGV4IDBjNjY2
YWE1MmNiYzE3YTc5MzkwYThmZWM0MmEzMjQzYTFiYTU2YTIuLjczZmI4YjA0ZGU0MDU3MDFkOTdm
NjJlNmM5YTQ1MzkwM2MyZGY3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBA
IC04Myw3ICs4Myw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0
UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQZW5kaW5nU2NyaXB0cygpKQotICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3Jp
cHQmIHBlbmRpbmdTY3JpcHQpCkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpu
b3RpZnlGaW5pc2hlZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2NyaXB0KQogICAgICAgICBtX3Nj
cmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChtX3BlbmRpbmdBc3luY1NjcmlwdHMudGFrZShwZW5k
aW5nU2NyaXB0KS0+cHRyKCkpOwogICAgIH0KICAgICBwZW5kaW5nU2NyaXB0LmNsZWFyQ2xpZW50
KCk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5uZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGFibGVEb2N1bWVudFBhcnNlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmNwcAppbmRleCAxNjZiMjlm
YzczM2E5NjEwZjA0NDZiNTk0OWYwMjE5ZmIyMzBkZWNmLi45NTAyOGJiMjE2MmJmN2E3ZjZmYmNk
ZTU3Nzg1MjBkMzVlODliZGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
YWJsZURvY3VtZW50UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0YWJs
ZURvY3VtZW50UGFyc2VyLmNwcApAQCAtNTQsNyArNTQsNyBAQCB2b2lkIFNjcmlwdGFibGVEb2N1
bWVudFBhcnNlcjo6ZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHNTb29uKCkKICAg
ICBpZiAoIWhhc1NjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgbV9zY3JpcHRzV2FpdGluZ0ZvclN0eWxlc2hlZXRzRXhlY3V0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fc2NyaXB0c1dhaXRpbmdGb3JTdHlsZXNoZWV0c0V4ZWN1dGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdGFibGVEb2N1bWVudFBh
cnNlcjo6c2NyaXB0c1dhaXRpbmdGb3JTdHlsZXNoZWV0c0V4ZWN1dGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDAwZWRmMTRiNWRlZjZlMDk5YmYyY2EwZGVi
N2UxM2FlNWY2NzNmNTEuLjNjMTU3ZWY2ZDg4MjcwMTZjYWQ5NTI1ZDQwMzYyMmQ3ZGRlZjU2NDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTMyOTUsNyArMzI5NSw3IEBAIHZvaWQg
RWRpdG9yOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24m
LCBGcmFtZVNlbGVjdGlvbjo6CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICYmICFQTEFURk9STShJT1MpCiAgICAgaWYgKHNob3VsZERldGVjdFRlbGVwaG9uZU51bWJl
cnMoKSkKLSAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIAogICAgIHNldFN0YXJ0TmV3S2lsbFJpbmdT
ZXF1ZW5jZSh0cnVlKTsKQEAgLTMzMDcsNyArMzMwNyw3IEBAIHZvaWQgRWRpdG9yOjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFtZVNlbGVjdGlv
bjo6CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyU2hvdWxkQ2hlY2tTcGVsbGluZ0FuZEdyYW1t
YXIgPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkNsb3NlVHlwaW5nCiAgICAgICAgICYmICEo
b3B0aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpTcGVsbENvcnJlY3Rpb25UcmlnZ2VyZWQpOwogICAg
IG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1RyaWdnZXJlZEJ5RGljdGF0aW9uID0gb3B0aW9ucyAm
IEZyYW1lU2VsZWN0aW9uOjpEaWN0YXRpb25UcmlnZ2VyZWQ7Ci0gICAgbV9lZGl0b3JVSVVwZGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICYmICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Nw
ZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAK
aW5kZXggYzgxMjY0NWQ0YTZkY2E2ZTliNTdjNDQyMjFkYjA1YWU5ZjU1Y2QyZi4uNzA5YjQ3MmVj
NzE2OGZiNWM1YjhkNjJmYTczYzE5N2I2NzkzYzE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
U3BlbGxDaGVja2VyLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpk
aWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiBy
ZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVx
dWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVl
c3Quc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVz
dC5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3Vj
Y2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1
bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDVhZTg5YWY0
NzA4NTNiOTJhY2RjMTNiYjQ0OGNlOTU4ZGFhNTNiMDUuLjA1ZGZlZGViNmMyMDI5NzE5YzUzMzRi
Mjc4ZDkxOGRmYTI5YzhkNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKQEAgLTQ2NSw3ICs0NjUsNyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVz
dEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0
Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMgQVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3Vz
bHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5kIGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9j
b21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBs
ZXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50Ojpy
ZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAppbmRleCBjM2I0OTI4MzBkNDhkYjBlYjZkMzJkZmYxNjIzYWRmNDYzMWRk
YTgzLi5mYTAzMmEwMTdkMTNlMjcxNzdjYjZiM2RlMzliYmRkNThmYmE2NjZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE2Myw5ICsxNjMsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1JlcGVhdERlbGF5
ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgU2Vla1JlcGVhdERlbGF5IHsgMTAwX21zIH07
CiBzdGF0aWMgY29uc3QgZG91YmxlIFNlZWtUaW1lID0gMC4yOwotc3RhdGljIGNvbnN0IGRvdWJs
ZSBTY2FuUmVwZWF0RGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTY2FuUmVwZWF0
RGVsYXkgeyAxLjVfcyB9Owogc3RhdGljIGNvbnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4
OwogCiBzdGF0aWMgY29uc3QgZG91YmxlIEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5
ID0gNjsKQEAgLTk2OSw3ICs5NjksNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxl
RGVsYXllZEFjdGlvbihEZWxheWVkQWN0aW9uVHlwZSBhY3Rpb25UeXBlKQogICAgIGlmIChhY3Rp
b25UeXBlICYgVXBkYXRlUGxheVN0YXRlKQogICAgICAgICBzZXRGbGFncyhtX3BlbmRpbmdBY3Rp
b25GbGFncywgVXBkYXRlUGxheVN0YXRlKTsKIAotICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCgp
CkBAIC0zNDgyLDcgKzM0ODIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcoU2NhbkRpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgICAgIHNldFBsYXliYWNrUmF0ZShuZXh0
U2NhblJhdGUoKSk7CiAgICAgfQogCi0gICAgbV9zY2FuVGltZXIuc3RhcnQoMCwgbV9zY2FuVHlw
ZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2NhblJlcGVhdERlbGF5KTsKKyAgICBtX3Nj
YW5UaW1lci5zdGFydCgwX3MsIG1fc2NhblR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6
IFNjYW5SZXBlYXREZWxheSk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5kU2Nhbm5p
bmcoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCA1NzY4
MzFhZmExMTg1YTEyMjdkZmQ0ZWUzM2FhZjg5MDQ3NzhlYmQ2Li4xZTNiOWJjOTFiNWQ4MjRlNGI0
MGU1YjZlM2RjYjA3MzQwYzU4MmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnNl
dERpc3BsYXlTdGF0ZShEaXNwbGF5U3RhdGUgc3RhdGUpCiAgICAgbV9kaXNwbGF5U3RhdGUgPSBz
dGF0ZTsKICAgICAKICAgICBpZiAoKHN0YXRlID09IERpc3BsYXlpbmdTbmFwc2hvdCB8fCBkaXNw
bGF5U3RhdGUoKSA9PSBQcmVwYXJpbmdQbHVnaW5SZXBsYWNlbWVudCkgJiYgIW1fc3dhcFJlbmRl
cmVyVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fc3dhcFJlbmRlcmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3Qo
U2hhZG93Um9vdCogcm9vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNv
dXJjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5j
cHAKaW5kZXggNDUwMThiNzFjMWM4YzI2ZTQ4NGY1MWMwYzM2NWFmODE1ZTdmNjM5Zi4uZWRhZTBj
NGNiOGNhZWZhZjU4MDdiNjQyMzM4ZDZhMTI1MGQ5NDY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5jcHAKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIEhUTUxTb3Vy
Y2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQoKQogICAgIGlmIChtX2Vycm9yRXZlbnRUaW1l
ci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Vycm9yRXZlbnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OmNhbmNlbFBlbmRpbmdFcnJvckV2ZW50KCkK
QEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpzdXNwZW5kKFJlYXNv
bkZvclN1c3BlbnNpb24gd2h5KQogdm9pZCBIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKCkKIHsK
ICAgICBpZiAobV9zaG91bGRSZXNjaGVkdWxlRXJyb3JFdmVudE9uUmVzdW1lKSB7Ci0gICAgICAg
IG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9lcnJvckV2ZW50
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9y
RXZlbnRPblJlc3VtZSA9IGZhbHNlOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
cmFja0VsZW1lbnQuY3BwCmluZGV4IDY2OGI4MTJiOGNlZjUzMTc3MzA5ZmM1ODJkOGI5NDYxNzNk
YWQzOGIuLmI2N2M1NGRjNDRjYTM3ZDFhMWFkNmI1OTM0ZjVlMjQzOTgzNDZhZDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMTgxLDcgKzE4MSw3IEBAIHZv
aWQgSFRNTFRyYWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgLy8gNC4gUnVuIHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHks
IGFsbG93aW5nIHdoYXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUu
Ci0gICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmxvYWRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcAppbmRleCAyNTc2M2FkMzVl
OWRjMGM0Yzk5ZGI2OTg3YzhkZmYwNmNkYWU4NWY4Li5lYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNi
NjY3ZmQ0ZDVlZmU4NTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3Bw
CkBAIC0xNDksNyArMTQ5LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUo
KSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgp
KSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lkZSB0aGUg
cmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6bWF4PGRv
dWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUoKSkpOwot
ICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
Y2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIHJldHVy
biBtX3Bvc2l0aW9uOwpAQCAtNTM4LDcgKzUzOCw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjpz
Y2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAgIG1fcGVu
ZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0cnVlKSk7
CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FzeW5j
RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNFdmVudFRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKaW5kZXggNDYyNDE2
ODA4ZTQwMThkMjgzNDI2ZjcxM2RlMDM5N2MzMzE2NTcxYi4uNDI0YWVhM2E3NzdiMzk4ZDNlZjc4
NGVjOGNkMTU3MTJhMjhhODFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBNZWRpYURvY3VtZW50OjptZWRpYUVsZW1lbnRTYXdV
bnN1cHBvcnRlZFRyYWNrcygpCiAgICAgLy8gYW5kIGxldCB0aGUgcGx1Z2luIGhhbmRsZSB0aGlz
LiBEb24ndCBkbyBpdCBpbW1lZGlhdGVseSBhcyB0aGlzIAogICAgIC8vIGZ1bmN0aW9uIG1heSBi
ZSBjYWxsZWQgZGlyZWN0bHkgZnJvbSBhIG1lZGlhIGVuZ2luZSBjYWxsYmFjaywgYW5kIAogICAg
IC8vIHJlcGxhY2VDaGlsZCB3aWxsIGRlc3Ryb3kgdGhlIGVsZW1lbnQsIG1lZGlhIHBsYXllciwg
YW5kIG1lZGlhIGVuZ2luZS4KLSAgICBtX3JlcGxhY2VNZWRpYUVsZW1lbnRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWVkaWFEb2N1bWVudDo6cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXgg
YTM1Y2MzYzVmYTU0OGZmNTg4ZDQ4Mzc1NmQwMmZmYTNiMDZmYmU3MS4uM2I1ZmY3OGExMTEzYWQ5
NGY4MWI1NjYzOTNhMTA4ZDFiOTAwZDM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCkBAIC00ODcsNyArNDg3LDcgQEAgdm9pZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZShib29sIGhhc1Rh
cmdldHMKICAgICBMT0coTWVkaWEsICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpleHRlcm5hbE91dHB1
dERldmljZUF2YWlsYWJsZURpZENoYW5nZSglcCkgLSBoYXNUYXJnZXRzICVzIiwgdGhpcywgaGFz
VGFyZ2V0cyA/ICJUUlVFIiA6ICJGQUxTRSIpOwogCiAgICAgbV9oYXNQbGF5YmFja1RhcmdldHMg
PSBoYXNUYXJnZXRzOwotICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hhbmdlZFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpjYW5QbGF5VG9XaXJl
bGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5jcHAKaW5kZXggOWQ1ZGNhY2ZiZWMxZTMwY2JmODcwMTExYzRlNDI1MjExZjljYWFl
NC4uNDUxZmM1OTEwODUxNDU3Mzk0ZGM0NDk1M2RkODg5YzEyOTRiZTZkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lk
IFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmJ1aWxkQnViYmxlVHJlZSk7CiAgICAgZWxzZQogICAgICAgICBtX3RpbWVyID0g
c3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVz
c2FnZURPTUFuZFN0YXJ0VGltZXIpOwotICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBWYWxpZGF0aW9uTWVzc2Fn
ZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQpAQCAtMjI4LDcgKzIyOCw3IEBAIHZvaWQg
VmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hpZGVNZXNzYWdlKCkKIAogICAgIC8vIFdlIG11
c3Qgbm90IG1vZGlmeSB0aGUgRE9NIHRyZWUgaW4gdGhpcyBjb250ZXh0IGJ5IHRoZSBzYW1lIHJl
YXNvbiBhcyBzZXRNZXNzYWdlKCkuCiAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGlt
ZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgIG1f
dGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogYm9vbCBWYWxpZGF0aW9uTWVzc2FnZTo6c2hhZG93VHJlZUNvbnRhaW5zKGNvbnN0IE5v
ZGUmIG5vZGUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDE1MDA5ZDZjYTg3ZWQxY2VmMjNl
N2U0OGU5ZWM5YmZjNGZhOTRhNjguLmI1MTJmZmMxNzZiZDNhNjE4N2QxZDNlNGQ0YjBiZDViNDRl
ZmM4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC00NjEzLDcgKzQ2MTMsNyBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpMb3N0QwogCiAgICAgLy8gQWx3YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUg
Y29udGV4dCBsb3N0IGV2ZW50LCB0byBpbXBsZW1lbnQKICAgICAvLyB0aGUgc3BlYyBiZWhhdmlv
ciBvZiBxdWV1ZWluZyBhIHRhc2suCi0gICAgbV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpm
b3JjZVJlc3RvcmVDb250ZXh0KCkKQEAgLTQ2MzAsNyArNDYzMCw3IEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgpCiAgICAgfQogCiAgICAgaWYg
KCFtX3Jlc3RvcmVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBQbGF0Zm9ybUxheWVyKiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpwbGF0Zm9ybUxh
eWVyKCkgY29uc3QKQEAgLTU1NjUsNyArNTU2NSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6ZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50KCkKICAgICBjYW52YXMoKS5kaXNwYXRj
aEV2ZW50KGV2ZW50KTsKICAgICBtX3Jlc3RvcmVBbGxvd2VkID0gZXZlbnQtPmRlZmF1bHRQcmV2
ZW50ZWQoKTsKICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RDb250ZXh0ICYm
IG1fcmVzdG9yZUFsbG93ZWQpCi0gICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4
IDI4MzM3ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJl
YTAyN2E5MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9p
ZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAg
IC8vIEZJWE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVz
IGluc3RlYWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwg
d2FpdCBhZ2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1f
cGFyc2VyLmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2Nv
bnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgbV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAs
NyBAQCBib29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5n
U2NyaXB0KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpz
Y2hlZHVsZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9j
b250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4
dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVk
dWxlcjo6c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1
bGVyOjpyZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAg
ICAgICAgcmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsK
LSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29u
dGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4
IDZlNDkwNTMwZWY4YWZkMzZjZDIzYWI3MzQwZTZlOTQ5NDFkYjQwYzYuLjdiMWRmNDllMmNmNzYz
Y2JjZWRiODUzNGQ2ODVmN2UzYTM5ZGZmOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNjgsNyArMTM2OCw3IEBA
IHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlU2l6ZXMo
Ym9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uU3R5
bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFja3MgaW1t
ZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91cGRh
dGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRpYUNvbnRy
b2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNlbnRhdGlv
bkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVU
ZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFj
ay5jcHAKaW5kZXggNTUyOGRlMTdiMjlmNGJlMGM5NjgzODQzODI5M2U3MzY4NmU4NWNkMS4uNDM5
OTVhMGM3NDYzODIxNzRhMDA4Y2FiMDJjYjg0YmZjZjQzNTUxYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU2LDcgKzU2LDcgQEAg
dm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJsKQogICAg
IC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGlsZSBjb250
aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUgZm9yIGNy
ZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1vZGUuCiAg
ICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCAxYTZjNzY4MDM3ZDNiY2U2
NDdkMzA5Y2Y0ZGRhNTc2NzFjZWExNTBiLi5hN2ZlZDQyMGRlYjIyYTRlY2Q3NjBiMTJjM2RjZWFl
NDNjNjY5ZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NB
Z2VudC5jcHAKQEAgLTEyOCw3ICsxMjgsNyBAQCB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNr
OjpzY2hlZHVsZUZvcihXZWJLaXROYW1lZEZsb3cqIG5hbWVkRmxvdywgaW50IGRvY3VtZQogICAg
IG1fbmFtZWRGbG93cy5hZGQobmFtZWRGbG93LCBkb2N1bWVudE5vZGVJZCk7CiAKICAgICBpZiAo
IW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ2hhbmdlUmVnaW9u
T3ZlcnNldFRhc2s6OnVuc2NoZWR1bGUoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCAzZTc0
NmQ4NzBjYTQxODkxMDQzMGJlODMzYmVlZTJhNjgyMDcxYjZiLi4xYzk2NTkxNzA1OWMxMzMxNWY5
ZjAxYWMwODQ2ZWE1OGQ3MTE0MzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIFJldmFsaWRhdGVT
dHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9yKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAg
bV9lbGVtZW50cy5hZGQoZWxlbWVudCk7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IDc2NjcwMjQ2YTMwMDAzNTU4NDhiMGZlYThk
N2Q2ZTVlNzYwMzU4YTguLjc1NWY3NjBmMTk1ZmYyYzdmM2Q4ZDNjN2MyMzExYjk5OTg3ZTYwOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogCiAgICAgICAg
IG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpOwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICB2b2lkIHJlc2V0KCkKQEAg
LTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2luc3BlY3RlZFBhZ2VDb250
cm9sbGVyLT5kaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQobV9tZXNzYWdlcy50YWtlRmlyc3Qo
KSk7CiAKICAgICAgICAgaWYgKCFtX21lc3NhZ2VzLmlzRW1wdHkoKSAmJiBtX2luc3BlY3RlZFBh
Z2VDb250cm9sbGVyKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJIZWFwQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkhlYXBBZ2VudC5jcHAKaW5kZXggZDg4N2ZiNzVhY2Y1
ZDhkNTY2MGQxM2IxYTU3ZTY1MzdkYmYzY2IxMC4uZmNjZWY2MzM5YmQxZmM3YmQ0MjQ3YzZjYTll
YTVhM2U0ZDYzZTdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkhl
YXBBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkhlYXBBZ2VudC5j
cHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBTZW5kR2FyYmFnZUNvbGxlY3Rpb25FdmVudHNUYXNr
OjphZGRHYXJiYWdlQ29sbGVjdGlvbihHYXJiYWdlQ29sbGVjdGlvbkRhdGEKICAgICB9CiAKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2VuZEdh
cmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKaW5kZXggYWQxZDYwOGE1YzFlZDQzZDZjMmI1MDczNmNmY2VjNDg3
OTgxOTk5YS4uYjZkNzJjOTNiMDA2NmYwODc3NjQ4NWI5M2VkZWEyNDk1NTQ1ODY4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00NTQsNyArNDU0LDcgQEAg
dm9pZCBEb2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9p
ZCBEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2Fk
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIAogI2lmIEhBVkUoUlVOTE9PUF9USU1FUikKICAgICBpZiAoU2NoZWR1bGVQYWlySGFz
aFNldCogc2NoZWR1bGVkUGFpcnMgPSBtX2ZyYW1lLT5wYWdlKCktPnNjaGVkdWxlZFJ1bkxvb3BQ
YWlycygpKQpAQCAtMTE4OSw3ICsxMTg5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6ZGVsaXZl
clN1YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
aWYgKCFtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMjNmMWI0
ZmM3OWQwODdmYjRlMmUxODgzNzRjY2JhMmE2NDA5NTRjMy4uMDA1ZmE4ZWVkNGM1MDI2MGE3YTdh
ODkwMmMyNDljY2ExYWRlNzc0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CkBAIC04NjgsNyArODY4LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3RhcnRDaGVja0NvbXBsZXRl
VGltZXIoKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fY2hlY2tUaW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICByZXR1cm47Ci0gICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2NoZWNrVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6
OnNjaGVkdWxlQ2hlY2tDb21wbGV0ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5j
cHAKaW5kZXggYjk5MjM0M2ZmODRjOGJlOTA4OTJmMDNlNzhjOWU3ZWQwYmI0YjNiNy4uYzI4NjY4
MmYwMGJjNzcxMmJjYTdjMThhYzg1NzBjOThiMGZlNDA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
SW1hZ2VMb2FkZXIuY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBJbWFnZUxvYWRlcjo6dXBk
YXRlZEhhc1BlbmRpbmdFdmVudCgpCiAgICAgICAgICAgICBtX3Byb3RlY3RlZEVsZW1lbnQgPSAm
ZWxlbWVudCgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVCghbV9kZXJlZkVsZW1lbnRU
aW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgfSAgIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmlu
ZGV4IDg2NjA5Njg3NWExYmM0NTg2NTZmZTA5Y2ZiOTg5YjlmYTJmY2ZmNDEuLjYyY2JkY2E0ZmQ2
MzRlYTk5OWI2YmUxZTliYmYyM2M0NzY4YmJhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
ZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkKICAgICAgICAgbV9j
dWVQYXJzZXItPmZsdXNoKCk7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jdWVM
b2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7CiB9CkBAIC0x
NzEsNyArMTcxLDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQoKQogICAg
ICAgICByZXR1cm47CiAKICAgICBtX25ld0N1ZXNBdmFpbGFibGUgPSB0cnVlOwotICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tMb2FkZXI6Om5ld1JlZ2lvbnNQYXJzZWQoKQpA
QCAtMTg2LDcgKzE4Niw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJz
ZSgpCiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIAogICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIGNhbmNlbExvYWQoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMDhhNDZlOGNkNDdhNjYyMWNiOTdjZWFlMTAwYjFjMzVk
YTRjYjIwOS4uZTMyNjg4ZjVkNjBjYzUwMjFmYWE4YjEzZDQ1YWU1YWJmZDdhZTg0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5jcHAKQEAgLTEwNTQsNyArMTA1NCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdy
b3VwOjpzY2hlZHVsZVJlYWNoZWRNYXhBcHBDYWNoZVNpemVDYWxsYmFjaygpCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBhdXRvKiB0aW1lciA9IG5ldyBDaHJvbWVDbGllbnRD
YWxsYmFja1RpbWVyKCp0aGlzKTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRp
bWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUgdGltZXIgd2lsbCBkZWxldGUgaXRz
ZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGUyOTVjZWVlMDVhOWU5MmJiYjcxZjAyYWIxNDFkNjA5
NTAxNjgwYjEuLmM4YzQ3ZjBlN2Q3NjY2YjFlZDkyNzMwOGM2Yzc2MmFhYzkxODc4NzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAtODIx
LDcgKzgyMSw3IEBAIGlubGluZSBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNrKENh
Y2hlZFJlc291cmNlJiByZXNvdXJjZSwgQ2FjaGVkUmVzb3VyCiAgICAgLCBtX2NsaWVudChjbGll
bnQpCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmQ2FsbGJhY2s6OnRpbWVyRmlyZWQpCiB7Ci0gICAg
bV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogaW5saW5lIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpjYW5jZWwoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggMDgxYzA3ZWY1ZTQzYjQ2ZGJjNzRlZjk2ZTQzNDUxMjlkYTQxNDM0Yi4uNzE4MTk5
MjA1NDU0MDUzZDczZTU3ZTBlYTdlMDRjNWFkYWYzMWU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTcxLDcg
KzExNzEsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZShib29sIHNob3Vs
ZFBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMpCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMo
KTsKIAogICAgIGlmICghbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1f
ZG9jdW1lbnRSZXNvdXJjZXMgaXMgYSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IDg0ODk2NWU5OTEzYjdmNjAwZjA1
ZDVjYThjMjc3ZDI1OWVhOTQwNzQuLmJjNWM1NzVmYTVlYzI2Mzc1M2JmNzMzNmNhNzM5NjBlNjU3
ZGZmMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApA
QCAtNzMxLDExICs3MzEsMTEgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmUoKQogCiB2b2lkIE1l
bW9yeUNhY2hlOjpwcnVuZVNvb24oKQogewotICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZl
KCkpCisgICAgaWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgIGlmICghbmVlZHNQcnVuaW5nKCkpCi0gICAgICAgICByZXR1cm47Ci0gICAgIG1fcHJ1bmVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKKyAgICAgICAg
cmV0dXJuOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmbmRl
ZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMu
Y3BwCmluZGV4IGQyYzM5MWE1ZDYwNGM1MjYxOWE5YWZjMWYxMjJiZDY5OWM4ODY0ZjguLmQxYTBm
MjA5NjhjNTNiOGY3MDRhYTZlN2M2ZDljMmU3ZTg5NWZlMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lk
IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJlbmNl
cyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXggZGY1
ODBiNzllZTAyMDQwMjgwNWJmNTkwYTNmN2Y5Njk3NTRkZGIwZi4uMmQ5NDZmYmM5Yjg2MTFmZWY1
N2M4OWUwMzI0YTZkMmJjY2FiYjk0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Nyw3ICsyNDcsNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9u
UHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJpbmcg
dGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhvZCBp
cyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBvcgog
ICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0gICAg
bV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlU3R5
bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAppbmRleCBlNjk4MThiYmIwNzJmNGRmNGJkNWVmMjliMTg2NDRkNzVjYzBm
NmI3Li45ZjI0NzRiYWQ4ZjczNTUxMDZmZmE3NDBiZWJkYzI0Njg4OTIwYzgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwCkBAIC05ODEsNyArOTgxLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
RE9NV2luZG93Ojpwb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIERPTVdpbmRvdyYg
Y2FsbGUKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBtZXNzYWdlLgogICAgIGF1dG8qIHRpbWVyID0g
bmV3IFBvc3RNZXNzYWdlVGltZXIoKnRoaXMsIG1lc3NhZ2UucmVsZWFzZVJldHVyblZhbHVlKCks
IHNvdXJjZU9yaWdpbiwgY2FsbGVyV2luZG93LCBjaGFubmVscy5yZWxlYXNlUmV0dXJuVmFsdWUo
KSwgV1RGTW92ZSh0YXJnZXQpLCBXVEZNb3ZlKHN0YWNrVHJhY2UpKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVy
biB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAppbmRleCBi
ZDU0OTRhYTM4N2NhNTMzNGY4ZDI3NjA3ZmNjMWZhODRkYmQ4YjFlLi5jOTk1ZjFhNTUzNzRiYTNj
NTZmNTFlNWMzOWI2ZTgzZWM2ODdlYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RldmljZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29u
dHJvbGxlci5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgdm9pZCBEZXZpY2VDb250cm9sbGVyOjphZGRE
ZXZpY2VFdmVudExpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQogICAgIGlmIChoYXNMYXN0RGF0
YSgpKSB7CiAgICAgICAgIG1fbGFzdEV2ZW50TGlzdGVuZXJzLmFkZCh3aW5kb3cpOwogICAgICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAK
ICAgICBpZiAod2FzRW1wdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXgg
MTUzYjZhNTM0OGY4Zjk5N2EzYTg0ZmJiMzY1OTAzYWFlZjIxNGZjZC4uZGNhODIzMDQ2MzBjMzIw
ODU1Y2RhZmUyMTNiZWEwMzI4ZmM2NGNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcApAQCAtMjk0MCw3ICsyOTQwLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0
TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQgRXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVV
cGRhdGUoKQogewogICAgIGlmICghbV9ob3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
aG92ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggMmVhZThjZjBmYTRkOGY2OWU3NDIzMjBlOWEwYTE2Mjlh
YjA0ZmNiMC4uYjFkZWQzZjhmN2MxZGExMmI5MzdlMzViY2VmZDQ0ODE5ODVmNjEzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIEV2ZW50
U291cmNlOjpzY2hlZHVsZUluaXRpYWxDb25uZWN0KCkKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBD
T05ORUNUSU5HKTsKICAgICBBU1NFUlQoIW1fcmVxdWVzdEluRmxpZ2h0KTsKIAotICAgIG1fY29u
bmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNvbm5lY3QoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGE3NDg3OTQ2NThiZjc1OWQ3NGQ1MmIyMmRkYzBl
NjFiNmJjZDhjZTkuLmZhYzFlMmZiM2NkOWMxYWU1YjM2MjQ0OGRhYjNkMmE4MWEwMGU2Y2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE1NzQsNyArMTU3NCw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAgICAgICAgICAgICAvLyBkZWZlciB3
aWRnZXQgdXBkYXRlcyBhbmQgZXZlbnQgZGlzcGF0Y2ggdW50aWwgYWZ0ZXIgd2UgcmV0dXJuLiBw
b3N0TGF5b3V0VGFza3MoKQogICAgICAgICAgICAgLy8gY2FuIG1ha2UgdXMgbmVlZCB0byB1cGRh
dGUgYWdhaW4sIGFuZCB3ZSBjYW4gZ2V0IHN0dWNrIGluIGEgbmFzdHkgY3ljbGUgdW5sZXNzCiAg
ICAgICAgICAgICAvLyB3ZSBjYWxsIGl0IHRocm91Z2ggdGhlIHRpbWVyIGhlcmUuCi0gICAgICAg
ICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAg
IG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBp
ZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBsYXlvdXQoKTsKICAgICAgICAgfQpA
QCAtMzUyMiw3ICszNTIyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFz
a3MoKQogICAgIC8vIGlzIGNhbGxlZCB0aHJvdWdoIHRoZSBwb3N0IGxheW91dCB0aW1lci4KICAg
ICBSZWY8RnJhbWVWaWV3PiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIAotICAgIG1fdXBkYXRlRW1i
ZWRkZWRPYmplY3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlRW1iZWRkZWRP
YmplY3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBpZiAoYXV0byogcGFnZSA9IGZy
YW1lKCkucGFnZSgpKSB7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9
IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmlu
ZGV4IDFiM2UyMmJmMWJmN2FjMzQyOTFhMDdlMTIwNjU1ZDViNmUyODQ5MjkuLmU3Y2M5MGFmYzIw
M2Q3YzNhOTllNDVhMjc0NmE2ZDg2MzA2YTFkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
CkBAIC0zNjksNyArMzY5LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0
aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KQogICAgIC8vIFN0YXJ0aW5nIHRo
ZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGltcG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQg
b24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRoZSBQYWdlIGNhbmNlbHMgdGhlbQogICAg
IC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8gcmVhbGx5IHN0YXJ0LgogICAgIC8vIFNl
ZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBtb3JlIGRpc2N1c3Npb24uCi0gICAgbV9z
ZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NldElt
YWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0
dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpCkBAIC00MDcsNyArNDA3LDcg
QEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZChib29sIGFyZUltYWdlc0VuYWJsZWQp
CiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1hZ2VzRW5hYmxlZDsKIAogICAgIC8vIFNl
ZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseS4KLSAgICBtX3NldEltYWdl
TG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6
c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBwcmVmZXJNSU1FVHlwZUZvckltYWdlcykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKaW5kZXggNTk1MzdmODlmOTBhY2Ex
ZGQ0ZGVmNThjMjMwNDQ4N2RhZTZkMzk1Ni4uMTVlYjczZjIyYzc3MDAyMGJkNWM3ZTU0MDJmZTEw
MDZlZGE1YWE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKQEAgLTQ5
LDggKzQ5LDYgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZh
bCkgeyBzdGFydE9uZVNob3QoU2Vjb25kcyB7IGludGVydmFsIH0pOyB9CiAKICAgICBTZWNvbmRz
IHJlcGVhdEludGVydmFsKCkgY29uc3Q7Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKGRv
dWJsZSBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgeyBkZWx0YSB9KTsgfQot
ICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkgeyBhdWdtZW50UmVw
ZWF0SW50ZXJ2YWwoU2Vjb25kcyB7IGRlbHRhIH0pOyB9CiAKICAgICB2b2lkIHN0YXJ0UmVwZWF0
aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29u
ZHMgaW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
Q1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9DU1NBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCBhNTNjY2U3ZmFkZGIwZTU2NDQ3ZWVl
ZGZiZjAyMjVmMzI2NGMwNjkxLi5kY2Q3ZTQwYWQxZTlhZmRhOWQ1YWZjZDEwODYxZGQ0ZmU1ZjUw
NmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRp
b25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NB
bmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtMjMyLDcgKzIzMiw3IEBAIHZvaWQgQ1NTQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmZpcmVFdmVudHNBbmRVcGRhdGVTdHlsZSgpCiB2b2lkIENT
U0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFk
ZEV2ZW50VG9EaXNwYXRjaChFbGVtZW50JiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgZWxhcHNlZFRpbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpp
bmRleCBhMTk4M2Y0ZDQ1NGM3YzBlZTc3MjdlMmI2ZmZiZWQyZjRkMGRhNDA2Li5mYmExMDlhOTYz
ZGJmM2Y0ZTI4MDIyMmNkNjc1OGNmMDQ3ZGIxNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM5MCw3ICszOTAs
NyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRz
T2ZUeXBlKEhpZ2hsaWdodDo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2Rp
cnR5SGlnaGxpZ2h0VHlwZXMgfD0gdHlwZTsKLSAgICBtX2J1aWxkSGlnaGxpZ2h0c1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2J1aWxkSGlnaGxpZ2h0c1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmJ1aWxkUG90ZW50aWFs
SGlnaGxpZ2h0c0lmTmVlZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggN2ZjMWVkNTU2
YmE1OGZmYjYwYmU4ZmEwN2YzMmEzNTNiZjllYWJiYS4uOGNiMDFmZjU0MTcwMWVmYmJiNWZjNjAy
ZTdiNjI0MzQxMWIxMWE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTI4NCw3ICsyODQs
NyBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xs
UG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKFNjcgogICAgIH0KIAogICAgIG1fc2NoZWR1bGVkU2Ny
b2xsVXBkYXRlID0gc2Nyb2xsVXBkYXRlOwotICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
cjo6dXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JJT1MubW0KaW5kZXggNmIxNjg1NzNiNTYwMzBiM2FmM2Q5NDAyYTQ0YzcwZTg5
ODJlOWIzMi4uZTAwMDMyMjc5NzE0MzIyZjYwMDdmNjRlZGI5MTA3MmFkZGE4YWFlNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5h
dG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxp
bmdDb29yZGluYXRvcklPUy5tbQpAQCAtODYsNyArODYsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5n
U3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdDb29yZGluYXRvck1hYy5tbQppbmRleCA5ZDAyMTE2ZGMxYmJiZDQ3MzUxNWEwNmQ5YTYxMmVm
NjQ4YmQyNTdiLi5hMzAyMjc2NTI1MWU3NDUyMzk5NzU1MmI3NWIxYzJjYjg4ZTg2YWI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvck1hYzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKQogICAgICAgICByZXR1cm47
CiAKICAgICBMT0coU2Nyb2xsaW5nLCAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0Iik7Ci0gICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6
Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dl
bmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tR
dWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFiNDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4u
Mzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9p
ZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5j
dGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBlbmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAg
IHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZChtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQ
dHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigpLmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJl
ZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAgICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rpc3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1l
cigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA4ODE4MWQzMDU3ZjQ2
ODk0ZGZlYjlhOTc3YTU2NzA2NjE2NDUzNTdjLi41ZDBhOGVmYjQ3NDBjNjg4NzVjMzk5Mzk1YTUw
NjgzMTdjZWEwNWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKQEAgLTE4
Myw3ICsxODMsNyBAQCBzdGF0aWMgYm9vbCB0aHVtYlVuZGVyTW91c2UoU2Nyb2xsYmFyKiBzY3Jv
bGxiYXIpCiAgICAgcmV0dXJuIHNjcm9sbGJhci0+cHJlc3NlZFBvcygpID49IHRodW1iUG9zICYm
IHNjcm9sbGJhci0+cHJlc3NlZFBvcygpIDwgdGh1bWJQb3MgKyB0aHVtYkxlbmd0aDsKIH0KIAot
dm9pZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCit2b2lk
IFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpCiB7CiAgICAg
Ly8gRG9uJ3QgZG8gYW55dGhpbmcgZm9yIHRoZSB0aHVtYiBvciBpZiBub3RoaW5nIHdhcyBwcmVz
c2VkLgogICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCB8fCBtX3ByZXNzZWRQYXJ0
ID09IE5vUGFydCkKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkKICAgICAgICAgc3RhcnRUaW1lcklmTmVlZGVkKGRl
bGF5KTsKIH0KIAotdm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVs
YXkpCit2b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpCiB7
CiAgICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgZm9yIHRoZSB0aHVtYi4KICAgICBpZiAobV9wcmVz
c2VkUGFydCA9PSBUaHVtYlBhcnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxiYXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCmluZGV4
IGY4NmE5NjJhZmUwMmI1MjYwMzhiZDdkNWVkZGVhOTY0YmJhNmY3MWEuLmEyMzZjN2U4ZWIxMjdh
ZWEzNzU2NTIzZWJlYzQxZjk5M2E5YTVjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJh
ci5oCkBAIC0xNDQsOSArMTQ0LDkgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB1cGRh
dGVUaHVtYlByb3BvcnRpb24oKTsKIAogICAgIHZvaWQgYXV0b3Njcm9sbFRpbWVyRmlyZWQoKTsK
LSAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3Rh
cnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpOwogICAgIHZvaWQgc3RvcFRpbWVySWZOZWVk
ZWQoKTsKLSAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpOworICAg
IHZvaWQgYXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpOwogICAgIFNjcm9sbERp
cmVjdGlvbiBwcmVzc2VkUGFydFNjcm9sbERpcmVjdGlvbigpOwogICAgIFNjcm9sbEdyYW51bGFy
aXR5IHByZXNzZWRQYXJ0U2Nyb2xsR3JhbnVsYXJpdHkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggNzI1Mjk0MmIwY2FjYmE0YTBlM2EwZGZiNDc2MWRk
NGE2NTc1ZWRiYy4uMzFiZjY2MTY3Y2NhYzZjYzAzNGU1M2FlMjA0ZTAxMGNkOGNmN2FkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0xMDUsOCArMTA1LDgg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQgbWF4T3ZlcmxhcEJldHdlZW5QYWdlcygpIHsg
cmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7IH0KIAotICAgIHZpcnR1YWwg
ZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMjU7IH0KLSAg
ICB2aXJ0dWFsIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMDU7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1
cm4gMjUwX21zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkg
eyByZXR1cm4gNTBfbXM7IH0KIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihT
Y3JvbGxiYXImKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3Jv
bGxiYXImKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBmYWQ0ZTVhYjhkZjM0
ZWM1NDEzNTY5NTFkY2VlZDhjZjkxYTU4ZDczLi45Y2NiNDAyMWY1MDMzNzhhODYyMjRlNGE2ZDc1
MWRhNDhhOTMyNjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0yMDEsMTEgKzIw
MSw2IEBAIFRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAjZW5kaWYKIH0KIAotdm9pZCBUaW1lckJh
c2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwp
Ci17Ci0gICAgc3RhcnQoU2Vjb25kcyB7IG5leHRGaXJlSW50ZXJ2YWwgfSwgU2Vjb25kcyB7IHJl
cGVhdEludGVydmFsIH0pOwotfQotCiB2b2lkIFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0
RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKQogewogICAgIEFTU0VSVChjYW5B
Y2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCmluZGV4IDBmMzNhMGIxOGQ0ZWQ0ODgwNTQ5YTcwMjJkNjk3NjAzNzExYTIzOWQuLjU1
ZjJmMjRiN2ZmNmU1MzMxOTZmODljYzYyY2U5NTQ5YTM4ZjFkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaApAQCAtNTMsMTIgKzUzLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2
aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnQoU2Vj
b25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKTsKLSAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVw
ZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50
ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGlu
ZyhyZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91
YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyByZXBlYXRJbnRl
cnZhbCB9KTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CiAKLSAgICB2b2lk
IHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDApOyB9Cisg
ICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNv
bmRzIHsgaW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVy
dmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHN0b3AoKTsKQEAgLTY5LDEwICs2OCw3IEBAIHB1YmxpYzoKICAgICBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQogCiAgICAgdm9pZCBh
dWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4
dEZpcmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKGRvdWJs
ZSBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgeyBkZWx0YSB9KTsgfQotCiAg
ICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50Rmly
ZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsgfQotICAgIHZvaWQg
YXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyB7IGRlbHRhIH0pOyB9CiAKICAgICB2b2lkIGRpZENoYW5nZUFsaWdubWVudElu
dGVydmFsKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
bWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IGY2NTk2MDU5OWZlMWFkYjBjYjgz
OTgxMjRmMjZjMjU1NjBmMWRlMmUuLjAwMjY2NGNhYTJhMjdiMmM0YzkzOTI0YTBkODEyMzlmYWE1
YzQxNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJ
REdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgSElE
R2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VBZGRlZChJT0hJRERldmljZVJlZiBkZXZpY2UpCiAgICAg
ICAgIC8vIGFuZCB3ZSBkb24ndCB3YW50IHRvIHRlbGwgdGhlIGNsaWVudCBhYm91dCBhbnkgb2Yg
dGhlbS4KICAgICAgICAgLy8gVGhlIG1fY29ubmVjdGlvbkRlbGF5VGltZXIgZmlyZXMgaW4gYSBz
dWJzZXF1ZW50IHNwaW4gb2YgdGhlIHJ1bmxvb3AgYWZ0ZXIgd2hpY2gKICAgICAgICAgLy8gYW55
IGNvbm5lY3Rpb24gZXZlbnRzIGFyZSBhY3R1YWwgbmV3IGRldmljZXMuCi0gICAgICAgIG1fY29u
bmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Nvbm5lY3Rpb25E
ZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgICAgIExPRyhHYW1lcGFkLCAiRGV2
aWNlICVwIHdhcyBhZGRlZCB3aGlsZSBzdXBwcmVzc2luZyBjYWxsYmFja3MsIHNvIHRoaXMgc2hv
dWxkIGJlIGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQiLCBkZXZpY2UpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZDJh
YTE2NGViODY5ZmJkMGNjMjU1YTFiYzE1ZDQ4MDE5OTA2YzVmMy4uYjdlM2Q5ODk2M2NjZTY0NjFh
OWEzN2NlZjdmMjQ2M2VkMzQ3Nzg3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTEyMSw3ICsxMTIxLDcgQEAgdm9pZCBNZWRp
YVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29y
a1N0YXRlKCkgPj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZl
TWV0YWRhdGEpIHsKICAgICAgICAgY2xpZW50KCkubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xv
YWQoKTsKICAgICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYg
KG1fY29udGVudE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3Vy
cmVudE1lZGlhRW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3Vw
QVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQppbmRleCA2ZWU4YmM0ZWZiMzE3YWJmMTY2
MzRhNGMyOTM1NGViODVjNDlhZTZkLi44ZGVlMDljZTA4NmFkYWY1YmUyN2MyMDA4YWNiMjVkZDg5
MmMzNWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZP
YmpDLm1tCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qzo6dXBkYXRlT3B0aW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgY2hhcmFjdGVyaXMKIAogICAg
IEFTU0VSVChtX29wdGlvbnMuY29udGFpbnMocHJlZmVycmVkT3B0aW9uKSk7CiAgICAgbV9zZWxl
Y3RlZE9wdGlvbiA9IG1fb3B0aW9ucy5nZXQocHJlZmVycmVkT3B0aW9uKTsKLSAgICBtX3NlbGVj
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxl
Y3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqIG9wdGlvbikKQEAgLTE3OCw3
ICsxNzgsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9w
dGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqCiAgICAgbV9zZWxlY3RlZE9wdGlvbiA9
IG9wdGlvbjsKICAgICBpZiAobV9zZWxlY3Rpb25UaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBt
X3NlbGVjdGlvblRpbWVyLnN0b3AoKTsKLSAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZWxlY3Rpb25UaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCA5MDE1NTUxZDRkYzRjNzY4NWMxNmIxNjAyNDU4ODc3
ZGRlM2JiNTg0Li5hM2E0NTEyMWMwYTc3MjE5YTIxMzJlNmM5ZTc1NjFjYTAwZWRjMjRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0zOTAsNyArMzkwLDcgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1l
ZGlhVGltZSYgdGkKIAogICAgIGlmIChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBt
X3NlZWtUaW1lci5zdG9wKCk7Ci0gICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fc2Vla1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4
IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFhZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3
N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjliMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzks
NyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5UaWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJh
Z2VNYXA6OnNldE5lZWRzVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
dXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFw
Ojp1cGRhdGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCAwODZjNjVmYzIwMGU0MjJhOTExNjA4MGVlMjA5
NDZlMWVhMzFhY2Y1Li4yYmYxMWVhMWJkN2Q5Nzc1MzIwZGI3NjMzNTdkY2U0OWQ0M2Q1NzViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2Uu
Y3BwCkBAIC03NjcsNyArNzY3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgaWYgKCFtX3JlbmRlcmluZ0NhbkJlQWNjZWxlcmF0
ZWQpIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBt
X2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC03ODksNyArNzg5LDcgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkK
ICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAgTG9ja0hvbGRlciBs
b2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdD
b25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVv
U2lua0dTdHJlYW1lci5jcHAKaW5kZXggYjE0NmNjZmExYjU2MGJiMTc3NmVjY2ZhMDlmZmZlYmQ0
OGRiZGRjNC4uOWQ4ZjkzMzk1OGM1MmVlNjM0YzYyMTM2MTZjOGNjOTg3YWRjNGQ5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lu
a0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExNSw3ICsxMTUsNyBAQCBwdWJsaWM6
CiAgICAgICAgICAgICB3ZWJraXRWaWRlb1NpbmtSZXBhaW50UmVxdWVzdGVkKHNpbmssIHNhbXBs
ZS5nZXQoKSk7CiAjZWxzZQogICAgICAgICBtX3NpbmsgPSBzaW5rOwotICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICAgICAgbV9kYXRhQ29uZGl0aW9uLndhaXQobV9zYW1wbGVNdXRleCk7CiAjZW5kaWYKICAgICAg
ICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXggZjg4NmU2
YTA4NjU4ZjQ1NGM2ZGE2NWJmMjczMThiYjIzN2I2ZDE0NC4uYzM1NzQ0MzYyNTZiYjViMWZlYzdh
YzEyYzViZDBiNmM4MzBjZTQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQpAQCAt
NjQ3LDcgKzY0Nyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWsoY29uc3Qg
TWVkaWFUaW1lJiBpblRpbWUpCiAgICAgaWYgKG1heE1lZGlhVGltZVNlZWthYmxlKCkgPj0gbV9z
ZWVrVG8pCiAgICAgICAgIGRvU2VlaygpOwogICAgIGVsc2UgCi0gICAgICAgIG1fc2Vla1RpbWVy
LnN0YXJ0KDAsIDAuNWYpOworICAgICAgICBtX3NlZWtUaW1lci5zdGFydCgwX3MsIDUwMF9tcyk7
CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmRvU2VlaygpIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IGFmNmJkNzM3
NzU0ZGZlMGNjM2IzYWNhOTIxZDYwNGRmZWQ5Y2Y1NzQuLjRkYjc0ODI0OTk2N2M4OTA1MmNlZDBl
ZTRhMjMwYmVkYWU2YTA3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKQEAgLTE4NSw3ICsxODUsNyBAQCBib29sIFRleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlVXBkYXRlT25Db21wb3NpdG9yVGhyZWFkKEZ1bmN0
aW9uPAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRh
dGVGdW5jdGlvbiA9IFdURk1vdmUodXBkYXRlRnVuY3Rpb24pOwotICAgIG1fY29tcG9zaXRvclRo
cmVhZFVwZGF0ZVRpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb21wb3NpdG9yVGhyZWFk
VXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
Y3BwCmluZGV4IDVjYzBiZTM1YzNlMWUzMzIxOTdmOWU3MDA2NmNiYjBlZDY2YzNhMzQuLjhjYmQy
YmUzYzg0N2Q4OWRjNjRiMzFhNjJhZTUyMGRjYjhhMGRlN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMTM2LDcg
KzExMzYsNyBAQCBib29sIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKGNv
bnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsCiAKICAgICBtX2xhc3RBbmltYXRpb25T
dGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGRlbGF5QXNOZWdhdGl2
ZVRpbWVPZmZzZXQ7CiAgICAgbV9hbmltYXRpb25zLmFkZChUZXh0dXJlTWFwcGVyQW5pbWF0aW9u
KGtleWZyYW1lc05hbWUsIHZhbHVlTGlzdCwgYm94U2l6ZSwgKmFuaW0sIGxpc3RzTWF0Y2gsIG1f
bGFzdEFuaW1hdGlvblN0YXJ0VGltZSwgMCwgVGV4dHVyZU1hcHBlckFuaW1hdGlvbjo6QW5pbWF0
aW9uU3RhdGU6OlBsYXlpbmcpKTsKLSAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9hbmltYXRpb25TdGFydGVkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiAgICAgZGlkQ2hhbmdlQW5pbWF0aW9ucygpOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKaW5kZXgg
MTNlNjM1NGIwOTI2MTM0ZDg3ZjlmYzA5ZGZjZjEyMmFjMTk3Y2Q1ZS4uNDRlNDczNDgyZGZhYTIw
Mzg5NDY3YzcyZWM5MzAwNzhkNWE4MGM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBT
Y3JvbGxBbmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
bkN1cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1l
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9s
bGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRp
bWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVs
c2UKICAgICAgICAgaGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxiYXJUaGVtZUd0ay5oCmluZGV4IDUxYmRkMjU5ZGJjZTY0
NmQyMjU0NDU5OTEwYzY5ODViNTM5MDE4NmYuLjljYjQ3Y2RkNzc4NTM4ZTE2NTE1MGZkZGJhMWZl
NDZjZjE1NjU1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3Jv
bGxiYXJUaGVtZUd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxi
YXJUaGVtZUd0ay5oCkBAIC01Miw4ICs1Miw4IEBAIHB1YmxpYzoKICAgICBpbnQgbWluaW11bVRo
dW1iTGVuZ3RoKFNjcm9sbGJhciYpIG92ZXJyaWRlOwogCiAgICAgLy8gVE9ETzogVGhlc2UgYXJl
IHRoZSBkZWZhdWx0IEdUSysgdmFsdWVzLiBBdCBzb21lIHBvaW50IHdlIHNob3VsZCBwdWxsIHRo
ZXNlIGZyb20gdGhlIHRoZW1lIGl0c2VsZi4KLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gMC4yMDsgfQotICAgIGRvdWJsZSBhdXRvc2Ny
b2xsVGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIDAuMDI7IH0KKyAgICBTZWNvbmRzIGlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIDIwMF9tczsgfQor
ICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiAyMF9t
czsgfQogICAgIHZvaWQgdGhlbWVDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCB1c2VzT3Zl
cmxheVNjcm9sbGJhcnMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3VzZXNPdmVybGF5U2Ny
b2xsYmFyczsgfQogICAgIC8vIFdoZW4gdXNpbmcgb3ZlcmxheSBzY3JvbGxiYXJzLCBhbHdheXMg
aW52YWxpZGF0ZSB0aGUgd2hvbGUgc2Nyb2xsYmFyIHdoZW4gZW50ZXJpbmcvbGVhdmluZy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCmluZGV4IDhi
ZDQxZDg5NjA1Mzk3MzA3OTE1ZjNmZjBiOTVlMWYxYTQyOWEyYzAuLmU0ZGZkZWExMGVlYjQyNTY0
YmMyNTA4ZWMwOThkMWE1ZDUyZTVmNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAtNDIwLDcgKzQyMCw3IEBAIHZvaWQgTGVnYWN5VGls
ZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMoYm9vbCBkaWRDcmVhdGVUaWxlcywgYm9vbCBj
cmVhdGVNb3JlCiAKICAgICAvLyBLZWVwIGNyZWF0aW5nIHRpbGVzIHVudGlsIHRoZSB3aG9sZSBj
b3ZlclJlY3QgaXMgY292ZXJlZC4KICAgICBpZiAoY3JlYXRlTW9yZSkKLSAgICAgICAgbV90aWxl
Q3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGlsZUNyZWF0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3Jl
YXRpb25UaW1lckZpcmVkKCkKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNo
ZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAg
ICAgcmV0dXJuOwogICAgIG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQgPSBlbmFi
bGVkOwogICAgIGlmIChtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKQotICAgICAg
ICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3Jl
YXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogYm9vbCBMZWdhY3lUaWxlQ2FjaGU6
Omhhc1BlbmRpbmdEcmF3KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1Njcm9sbGJhclRoZW1lSU9TLmgKaW5kZXggNzU2ZDQwNjA3ZjU2M2E2Y2U1OThlMjliYjI3YjQw
ZTk1NWViYTYxZi4uYWNjZDI5YzEwNjAzNjdlMGZjMGZmZjY4ZDUzZDQzNDdhMDc0YjFlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmgKQEAg
LTQxLDggKzQxLDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgc3VwcG9ydHNDb250cm9sVGlu
dHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKLSAgICBkb3VibGUgaW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7Ci0gICAgZG91YmxlIGF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3Zl
cnJpZGU7CiAKICAgICBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IGJ1dHRvbnNQbGFjZW1lbnQo
KSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Nj
cm9sbGJhclRoZW1lSU9TLm1tCmluZGV4IDZlNTIwYmVmNTQ4ZjU0MDIwM2E5YTZhM2M3NzdkODE2
ZGFhNTA5OTAuLmZlMjkwNzc1YmRlMzg5M2NhNjkxNjBmMzIzMjdiM2M1ZmYyMDczZDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KQEAg
LTY2LDE0ICs2NiwxNCBAQCBpbnQgU2Nyb2xsYmFyVGhlbWVJT1M6OnNjcm9sbGJhclRoaWNrbmVz
cyhTY3JvbGxiYXJDb250cm9sU2l6ZSkKICAgICByZXR1cm4gMDsKIH0KIAotZG91YmxlIFNjcm9s
bGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVJT1M6OmF1
dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogICAg
IAogU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBTY3JvbGxiYXJUaGVtZUlPUzo6YnV0dG9uc1Bs
YWNlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
QW5pbWF0b3JNYWMubW0KaW5kZXggYWM3ZjRmZDRhOTg0ZGMzMWRkZDRmYzgwYjE2OTM0MTUxOTAy
NTA5NS4uOTYyNGQwNWQxOGU2ZmQyNTZlN2FlOTExMjY5M2E1NDAxODgyMDU0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTM2
NCw3ICsxMzY0LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Ny
b2xsZWRTb29uKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpCiAgICAgbV9jb250ZW50QXJlYVNjcm9s
bGVkVGltZXJTY3JvbGxEZWx0YSA9IGRlbHRhOwogCiAgICAgaWYgKCFtX3NlbmRDb250ZW50QXJl
YVNjcm9sbGVkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zZW5kQ29udGVudEFyZWFTY3Jv
bGxlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kQ29udGVudEFyZWFTY3Jv
bGxlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKG1fd2hlZWxFdmVudFRlc3RU
cmlnZ2VyKQogICAgICAgICBtX3doZWVsRXZlbnRUZXN0VHJpZ2dlci0+ZGVmZXJUZXN0c0ZvclJl
YXNvbihyZWludGVycHJldF9jYXN0PFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6U2Nyb2xsYWJsZUFy
ZWFJZGVudGlmaWVyPih0aGlzKSwgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpDb250ZW50U2Nyb2xs
SW5Qcm9ncmVzcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsYmFyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJU
aGVtZU1hYy5oCmluZGV4IGE3MjgyOThjOGViYjVjNTU1NDdkNmQzY2JkOGQ1ZTE0NzQwYTRlOGMu
LjdlYWE5MTFiYjkyYjA4ZjAxYjdkOTkyNjZkMDEzYTQ3NmM3ZGQ1YjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oCkBAIC00OCw4ICs0OCw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHVzZXNPdmVybGF5U2Nyb2xsYmFyc0NoYW5nZWQoKSBvdmVy
cmlkZTsKICAgICB2b2lkIHVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImKSAg
b3ZlcnJpZGU7CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3Zl
cnJpZGU7Ci0gICAgZG91YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAg
U2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNv
bmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CiAKICAgICBTY3JvbGxiYXJCdXR0
b25zUGxhY2VtZW50IGJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCmluZGV4IGIy
ZTE2MThjMDMyZmI3YzY1ZjFmZTE5MTdmMjA0ZTI5Njc0YzM4OWYuLjI4YWExNTQ2ZjUwZDJlOTQ1
ZGI1YzY3ZTY5MGJjYjE0MTU2MDE3OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KQEAgLTEzMCw4ICsxMzAsOCBAQCBzdGF0aWMgY29u
c3QgaW50IGNCdXR0b25MZW5ndGhbXSA9IHsgMTQsIDEwIH07CiBzdGF0aWMgY29uc3QgaW50IGNP
dXRlckJ1dHRvbkxlbmd0aFtdID0geyAxNiwgMTQgfTsgLy8gVGhlIG91dGVyIGJ1dHRvbiBpbiBh
IGRvdWJsZSBidXR0b24gcGFpciBpcyBhIGJpdCBiaWdnZXIuCiBzdGF0aWMgY29uc3QgaW50IGNP
dXRlckJ1dHRvbk92ZXJsYXAgPSAyOwogCi1zdGF0aWMgZmxvYXQgZ0luaXRpYWxCdXR0b25EZWxh
eSA9IDAuNWY7Ci1zdGF0aWMgZmxvYXQgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IDAuMDVmOwor
c3RhdGljIFNlY29uZHMgZ0luaXRpYWxCdXR0b25EZWxheSB7IDUwMF9tcyB9Oworc3RhdGljIFNl
Y29uZHMgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSB7IDUwX21zIH07CiBzdGF0aWMgYm9vbCBnSnVt
cE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1VzZXNPdmVybGF5U2Nyb2xsYmFy
cyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6
cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwogICAgIFtkZWZhdWx0cyBzeW5j
aHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktl
eTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkg
PSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl07CisgICAg
Z0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMgeyBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJO
U1Njcm9sbGVyQnV0dG9uRGVsYXkiXSB9OworICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBT
ZWNvbmRzIHsgW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlvZCJd
IH07CiAgICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpAIkFwcGxl
U2Nyb2xsZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Nyb2xsYmFyc0NoYW5n
ZWQoKTsKIH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVw
ZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikKICAgICBFTkRf
QkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6Omlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lTWFjOjpp
bml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBnSW5pdGlhbEJ1dHRv
bkRlbGF5OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRl
bGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkK
IHsKICAgICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmNwcAppbmRleCBhZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhkNjEwMWMyLi4y
MWRmZWRkMzZhNTc1NDhkYTg2YTk1NTU2ZmRhYWIyMWMyMTBiYjg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVu
dE1vY2suY3BwCkBAIC01OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrOjpzZXRPcmllbnRhdGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0CiB7CiAg
ICAgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYg
IW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAppbmRleCBiN2NmYjliZTA2
ZGNiZmZjN2MxNmIzY2ZlNzQ2NTAxMzBmYTcwMGU1Li43NTRhODI1Y2FlNTQ0NzllMTRkZDFlMzAw
YzQyY2QxMmUzZmM5ODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBH
ZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlUGVybWlzc2lvbigpCiB7CiAgICAgQVNT
RVJUKG1fcGVybWlzc2lvblN0YXRlICE9IFBlcm1pc3Npb25TdGF0ZVVuc2V0KTsKICAgICBpZiAo
IW1fcGVybWlzc2lvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVybWlzc2lvblRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNzaW9uVGltZXJG
aXJlZCgpCkBAIC0xNjUsNyArMTY1LDcgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFz
eW5jVXBkYXRlQ29udHJvbGxlcigpCiB7CiAgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CiAgICAg
aWYgKG1faXNBY3RpdmUgJiYgIW1fY29udHJvbGxlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fY29udHJvbGxlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jb250cm9sbGVy
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2Nr
Ojpjb250cm9sbGVyVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDA3ZTYwMjEwZDAzZmM1NDJmNzBjZmJh
MjdjZWY5NmNhODVmNjA4MTQuLmM0N2U3NWI3NGI0NTQxMzYxOGM0MjU4M2VjODc4ZThiMDk2Y2M4
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5k
cG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5k
cG9pbnQuY3BwCkBAIC0yNTQsNyArMjU0LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6ZGlz
cGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAgLy8gUmV2ZXJzZSBvcmRlciB0byB1c2UgdGFr
ZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgogICAgIG1fZmFrZUljZUNhbmRp
ZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJlZCgpCkBAIC0yNjQsNyAr
MjY0LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJlZCgp
CiAKICAgICBpZiAoIW1fZmFrZUljZUNhbmRpZGF0ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1f
Y2xpZW50LmdvdEljZUNhbmRpZGF0ZShtX21pZHNbMF0sIG1fZmFrZUljZUNhbmRpZGF0ZXMudGFr
ZUxhc3QoKSk7Ci0gICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxz
ZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVyaW5nQ2FuZGlkYXRlcyhtX21pZHNbMF0pOwog
fQpAQCAtMzAzLDcgKzMwMyw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFu
c3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hp
bGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdl
cy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1v
Y2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVkKCkKQEAgLTMxNCw3ICszMTQs
NyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVkKCkKICAg
ICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZXMudGFrZUxhc3Qo
KTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQoc3RhdGVDaGFuZ2UuZmly
c3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQoKQpA
QCAtMzI5LDcgKzMyOSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNv
dXJjZXNCeU1pZCgpCiAgICAgZm9yIChpbnQgaSA9IG1fbWlkcy5zaXplKCkgLSAxOyBpID49IDA7
IC0taSkKICAgICAgICAgbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUuYXBwZW5kKG1fbWlkc1tpXSk7
CiAKLSAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VubXV0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVU
aW1lckZpcmVkKCkKQEAgLTMzOSw3ICszMzksNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1
bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRNdXRlZChmYWxzZSk7CiAKICAg
ICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHkoKSkKLSAgICAgICAgbV91bm11
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXggYWJmYjQ2Y2Vj
ZjgyMTQzYjlmZmFjZDAxYmU1Nzg2YTUzYTAwOGVjMC4uNDVjYTFjNWMzNjJiNTQ1ZTg3ZWRjOGNk
YjM1ZjIyMDI4YmMyNmRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmVmKCk7CiAKICAgICAgICAgYXV0byBzY2hlZHVsZWRQYWlycyA9IG1fZGVjb2RlVGFzay0+
c2NoZWR1bGVDb250ZXh0LnNjaGVkdWxlZFBhaXJzOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV90
aW1lci5zY2hlZHVsZShzY2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDFmZDBmZDkz
YWM5M2FmM2U1ZDBjYjkwNTI4YWNhMjdhZmM5YjgzNWUuLjUzZWNmNTZiNmJkM2UyOTNmYWZhMWUw
OGVjZDFkNjRjNWNiMDIwMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC0xMDUsNyArMTA1LDcgQEAgUmVmUHRyPFJlc291
cmNlSGFuZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250
ZXh0LCBjb25zdAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2NoZWR1bGVGYWlsdXJlKEZhaWx1cmVU
eXBlIHR5cGUpCiB7CiAgICAgZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSA9IHR5cGU7Ci0gICAg
ZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGQtPm1fZmFpbHVyZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGlt
ZXJGaXJlZCgpCkBAIC0yNTgsNyArMjU4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0RGVm
ZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0
b3AoKTsKICAgICB9IGVsc2UgaWYgKGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWls
dXJlKSB7CiAgICAgICAgIEFTU0VSVCghZC0+bV9mYWlsdXJlVGltZXIuaXNBY3RpdmUoKSk7Ci0g
ICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgZC0+bV9m
YWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAgcGxhdGZvcm1TZXRE
ZWZlcnNMb2FkaW5nKGRlZmVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDJkNjExNjlkNjg5MWNlNjUyY2U5OTU2OTJi
YjcxMzExMzNmOTdhZWQuLmVhYzQyZTIzNWUzYzliYWUwOTEzZDExOGYyNTc0ZDg4ZWZhZTc3MTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCkBAIC02MTEsNyArNjExLDcgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmVuY2xvc2luZ0NvbXBvc2l0b3JGbHVzaGluZ0xheWVycygKIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUoKQog
ewogICAgIGlmICghbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJz
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dUaHJlYWQuY3BwCmluZGV4IGRkZjkzYTMyYzU1ZjgyN2U0YmUzOGNkOTcyMzc0NDczYTE3
ZTczOTguLjkwNzQ0ZmFmOGM2YmY1NDA1NjZmOTA1MjVmN2Y5ZGY4OGJlNzQ4NDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCkBA
IC01MzcsNyArNTM3LDcgQEAgdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVn
aW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkQ2hhbmdlUmVnaW9uT3ZlcnNldChkb2N1bWVudCgpLCBuYW1lZEZsb3coKSk7CiAg
ICAgCiAgICAgaWYgKCFtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLmlzQWN0aXZlKCkg
JiYgbmFtZWRGbG93KCkuaGFzRXZlbnRMaXN0ZW5lcnMoKSkKLSAgICAgICAgbV9yZWdpb25PdmVy
c2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVnaW9uT3Zl
cnNldENoYW5nZUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVy
TmFtZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKaW5kZXgg
ZWQ0OWJlZGNiZGI2MTVkMGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFiZDgyM2FhYTAxNDY1
NmIxMWFiNmQyNjE5ZGQxNmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAgcHVibGljOgogCiAg
ICAgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9s
bGJhciYgc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBTY3JvbGxi
YXJQYXJ0IHByZXNzZWRQYXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhl
bWUoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwgcHJlc3NlZFBhcnQp
OyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUg
eyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9Cisg
ICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVy
biBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsg
fQorICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBT
Y3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAKICAgICB2
b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIp
OyB9CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBv
dmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJlZ2lzdGVyU2Nyb2xs
YmFyKHNjcm9sbGJhcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApp
bmRleCA1MmIwYThlZmNhNTU3OGRmYmMwZDg2YzIzNzg3MGMzNGE1MTk5ZDczLi44OWY0NjkwMWVm
NWE3ZGI2ZjY3YTM4ODMxZThmYmNkOTE4ODI4Y2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuY3BwCkBAIC0xNTQsNyArMTU0LDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpzY2hl
ZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2V0UmVu
ZGVyQm94TmVlZHNMYXp5UmVwYWludCh0cnVlKTsKICAgICBtX3JlbmRlcmVyc05lZWRpbmdMYXp5
UmVwYWludC5hZGQoJnJlbmRlcmVyKTsKICAgICBpZiAoIW1fbGF6eVJlcGFpbnRUaW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVu
ZGVyVmlldzo6dW5zY2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCmluZGV4IGIxZjZmNTUwOTBkZjU2ZDA4OTA5NWE0ZGJi
MDljM2YwYWRmNjJhYjUuLjQyODJmYTRjNjA4MTdmOTU3YzY1MjM0ODc2NjlmNjA2NWQzOTE3NDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCkBAIC01NzgsNyArNTc4LDcgQEAgdm9p
ZCBTY29wZTo6c2NoZWR1bGVVcGRhdGUoVXBkYXRlVHlwZSB1cGRhdGUpCiAKICAgICBpZiAobV9w
ZW5kaW5nVXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fcGVu
ZGluZ1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVcGRhdGVUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTY29wZTo6ZGlkQ2hhbmdlQWN0aXZlU3R5
bGVTaGVldENhbmRpZGF0ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IGZkYzEw
ZWY2NjcxNTZhOWUwMzEyYWY1ZTNkYzQwNmE5NGY0MmRhMjQuLjhlOTMwMmU5Y2Y0NmY2MzgwMWRm
Y2JjMWNjNDVhMmYyZjQ0ZGY0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTYy
Miw3ICs2MjIsNyBAQCB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxl
KGJvb2wgc2VuZFBhcmVudExvYWRFdmVudHMpCiAKIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xv
YWRFdmVudElmUG9zc2libGVBc3luY2hyb25vdXNseSgpCiB7Ci0gICAgc3ZnTG9hZEV2ZW50VGlt
ZXIoKS0+c3RhcnRPbmVTaG90KDApOworICAgIHN2Z0xvYWRFdmVudFRpbWVyKCktPnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggODNlZGZjOWFkZjQyYmQ3
MGQ3MmU2ZTY1Yjk5YTIzMTI0MGY0M2E4MS4uOWRlZjkzN2M1MjFiYjE5OTg1MGExMjhiNDFmNTRj
MWM1NzNhMTc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC00OTEs
NyArNDkxLDcgQEAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb25Pcjx2b2lkPj4gWE1MSHR0cFJlcXVl
c3Q6OnByZXBhcmVUb1NlbmQoKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+
IHsgRXhjZXB0aW9uIHsgTkVUV09SS19FUlIgfSB9OwogICAgICAgICBzZXRQZW5kaW5nQWN0aXZp
dHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAgICAgICAgbV9uZXR3
b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0d29ya0Vycm9yVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybiBFeGNlcHRpb25Pcjx2b2lkPiB7
IH07CiAgICAgfQogCkBAIC0xMDI4LDcgKzEwMjgsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0Ojpk
aWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogICAgICAgICBtX3NlbmRGbGFnID0g
ZmFsc2U7CiAgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKICAgICAgICAgbV90aW1l
b3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX2V4Y2VwdGlvbkNvZGUgPSBORVRXT1JLX0VSUjsK
QEAgLTEyNDksNyArMTI0OSw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSgpCiAgICAg
Ly8gV2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IEpTIGluIHJlc3VtZSgp
IHNvIGRpc3BhdGNoCiAgICAgLy8gdGhlIGVycm9yIGV2ZW50IGluIGEgdGltZXIuCiAgICAgaWYg
KG1fZGlzcGF0Y2hFcnJvck9uUmVzdW1pbmcgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnJlc3Vt
ZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXggMzY2NjI2NTZiNTFiZjhjOWU5
ZjIyNWJjYjA2NzZlNjBmNDYzMDg3My4uYTVlYTkzMmI3NDk1ZTllZGRkMDRlNmNjNjhjY2UzZDc4
MzViN2E3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0yMDgsNyArMjA4LDcgQEAgdm9pZCBY
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6cmVzdW1lKCkKICAgICAvLyB0aGUg
bGlzdCBvZiBhY3RpdmUgRE9NIG9iamVjdHMgdG8gcmVzdW1lIHRoZW0sIGFuZCBhbnkgYWN0aXZh
dGVkIEpTIGV2ZW50LWhhbmRsZXIKICAgICAvLyBjb3VsZCBpbnNlcnQgbmV3IGFjdGl2ZSBET00g
b2JqZWN0cyB0byB0aGUgbGlzdC4KICAgICAvLyBtX2RlZmVyRXZlbnRzIGlzIGtlcHQgdHJ1ZSB1
bnRpbCBhbGwgZGVmZXJyZWQgZXZlbnRzIGhhdmUgYmVlbiBkaXNwYXRjaGVkLgotICAgIG1fZGlz
cGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3BhdGNo
RGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJS
ZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9X
ZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCmluZGV4IGZkYWY1Nzg0MDc4YmIyMDc5MjhkYjNh
NjBkYjZiZjRkOTVmMmQ1Y2MuLjJjN2JlMWE0ZDc2MDhhMGNmMTQ1ZTc1MzFkZDMyYWM4NGFmOTU4
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VM
b2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJl
c291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAgLTI4Miw3ICsyODIsNyBAQCB2b2lkIFdlYlJlc291
cmNlTG9hZFNjaGVkdWxlcjo6cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCkKIHZvaWQgV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCkKIHsKICAgICBp
ZiAoIW1fcmVxdWVzdFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9O
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KaW5kZXggNTRlZjI3ZWU1ZjRhMmJhYzRmNTJk
MzFhMjliY2U1OGI1YmNmZTRkMy4uODQ3ZGJiMmNiOTkxMjZiOTQyMTMzZTI2YzFkZDEzYTMzZGM4
MmY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
SG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtNzQ0LDcgKzc0NCw3IEBA
IHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAg
ICAgbV9wbHVnaW5SZXF1ZXN0cy5yZW1vdmVGaXJzdCgpOwogICAgIAogICAgIGlmICghbV9wbHVn
aW5SZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgCiAg
ICAgcGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC04MDAsNyArODAwLDcgQEAg
TlBFcnJvciBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmxvYWRSZXF1ZXN0KE5TVVJMUmVx
dWVzdCAqcmVxdWVzdCwgY29uc3QgY2gKIAogICAgICAgICBhdXRvIHBsdWdpblJlcXVlc3QgPSBQ
bHVnaW5SZXF1ZXN0OjpjcmVhdGUocmVxdWVzdElELCByZXF1ZXN0LCB0YXJnZXQsIGFsbG93UG9w
dXBzKTsKICAgICAgICAgbV9wbHVnaW5SZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShwbHVnaW5SZXF1
ZXN0KSk7Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
UmVmUHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtPiBzdHJlYW0gPSBIb3N0ZWROZXRzY2Fw
ZVBsdWdpblN0cmVhbTo6Y3JlYXRlKHRoaXMsIHJlcXVlc3RJRCwgcmVxdWVzdCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0u
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
CmluZGV4IDRmMWE4YzljZTA4MjkxYThkYmVlNjM1YTQ0M2I2ZDk5MTYzNjBlYTAuLjY2NzNhOTRk
YjI0MzdmMzQxM2FjY2M2MDgwZTg5YWRlM2U3NWQ5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQpAQCAtNTMwLDcgKzUz
MCw3IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAg
ICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewogICAgICAgICAgICAgLy8gUGx1Zy1pbiBjYW4n
dCByZWNlaXZlIGFueW1vcmUgZGF0YSByaWdodCBub3cuIFNlbmQgaXQgbGF0ZXIuCiAgICAgICAg
ICAgICBpZiAoIW1fZGVsaXZlckRhdGFUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgICAg
IG1fZGVsaXZlckRhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICAgICAgbV9k
ZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWxpdmVyeUJ5dGVzID0gc3RkOjptaW4oZGVs
aXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5kZXggOTNiYTY0YWZiMjg0ZTNm
ZTE2OTcxZDUwNjI5MzI4YjRhMDY2NjJjMi4uNzAxOWE1ZjZiMTI4NjI3ZTI3YWVhNjk1OGI5ZGNm
NWViYzQ1N2VjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5Q
YWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2Uu
Y3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29u
KCkKICAgICBBU1NFUlQobV9tb2R1bGUpOwogICAgIEFTU0VSVCghbV9sb2FkQ291bnQpOwogCi0g
ICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZyZWVMaWJyYXJ5
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxp
YnJhcnlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMv
UGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFt
LmNwcAppbmRleCAyZWYzOTU1YmU2MWE4ZDA1NDI0YWQxMzk5NjJkZDBkN2ZhNmFlNDQ0Li5kYTgz
M2FhZjRmOGJhZTQ0YjQ4MDRiMzUyMWZjZDE3N2I4Y2FkZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93
aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBQbHVn
aW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAgaW50MzJfdCBkZWxpdmVyeUJ5dGVzID0g
bV9wbHVnaW5GdW5jcy0+d3JpdGVyZWFkeShtX2luc3RhbmNlLCAmbV9zdHJlYW0pOwogCiAgICAg
ICAgIGlmIChkZWxpdmVyeUJ5dGVzIDw9IDApIHsKLSAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVy
eVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBkZWxpdmVyeUJ5dGVzID0gbWluKGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0
ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwCmluZGV4IDI5ODE1M2RmM2M0YWQ3Zjc0YWIyNWY5ODA5YmZkZGIyMmQ4MDczODcu
LjhiZjJkOTUyZjFiYTE3ZTEzZjliMTBlOGZkMDljNGUzMDI5M2U0Y2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtNDc1LDcgKzQ3NSw3IEBAIHZvaWQgUGx1
Z2luVmlldzo6cmVxdWVzdFRpbWVyRmlyZWQoKQogICAgIC8vIFNjaGVkdWxlIGEgbmV3IHJlcXVl
c3QgYmVmb3JlIGNhbGxpbmcgcGVyZm9ybVJlcXVlc3Qgc2luY2UgdGhlIGNhbGwgdG8KICAgICAv
LyBwZXJmb3JtUmVxdWVzdCBjYW4gY2F1c2UgdGhlIHBsdWdpbiB2aWV3IHRvIGJlIGRlbGV0ZWQu
CiAgICAgaWYgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIAogICAgIHBlcmZvcm1SZXF1ZXN0KHJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtNDg1LDcgKzQ4
NSw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2NoZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQ
bHVnaW5SZXF1ZXN0PiByZXF1ZXN0KQogICAgIG1fcmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVx
dWVzdCkpOwogCiAgICAgaWYgKCFtX2lzSmF2YVNjcmlwdFBhdXNlZCkKLSAgICAgICAgbV9yZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogTlBFcnJvciBQbHVnaW5WaWV3Ojpsb2FkKGNvbnN0IEZyYW1lTG9h
ZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCog
bm90aWZ5RGF0YSkKQEAgLTY0OCw3ICs2NDgsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQoYm9vbCBwYXVzZWQpCiAgICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQog
ICAgICAgICBtX3JlcXVlc3RUaW1lci5zdG9wKCk7CiAgICAgZWxzZSBpZiAoIW1fcmVxdWVzdHMu
aXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpCkBAIC0xMTc1LDcgKzExNzUsNyBAQCB2b2lkIFBsdWdpblZpZXc6
OmtlZXBBbGl2ZSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlZigpOwotICAgIG1fbGlmZVN1
cHBvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIvU291
cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAppbmRleCA3M2M0YWJjNTNm
NmUwYjIwY2NkMWRhM2NlMWUwNDAzNzRiOTVjMTliLi43NWNiNzdmMWYzZDRkYTNjMWQ2Njc3ZjE3
OWI0MjJlZmQzMjAwMzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1Bs
dWdpblZpZXdXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmll
d1dpbi5jcHAKQEAgLTMzNSw3ICszMzUsNyBAQCBQbHVnaW5WaWV3Ojp3bmRQcm9jKEhXTkQgaFdu
ZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogCiAgICAgICAg
IHB1c2hQb3B1cHNFbmFibGVkU3RhdGUodHJ1ZSk7CiAKLSAgICAgICAgbV9wb3BQb3B1cHNTdGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmIChtZXNzYWdlID09IFdNX1BSSU5UQ0xJ
RU5UKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IDM0N2M1MzYwZjY2Y2FjYWY3YTk2N2FjMDVl
ZjIyYTg4OGY4MjM3MDQuLjIzNWU5MDRkYWQxMjVhNzgzNDU1MzkzMDE1YzczNmZlM2Q4ZGZlYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0xNTE2LDcgKzE1MTYsNyBAQCB2b2lkIFdlYlZpZXc6
OmNsb3NlV2luZG93U29vbigpCiAgICAgbV9jbG9zZVdpbmRvd1RpbWVyID0gV2luZG93Q2xvc2VU
aW1lcjo6Y3JlYXRlKHRoaXMpOwogICAgIGlmICghbV9jbG9zZVdpbmRvd1RpbWVyKQogICAgICAg
ICByZXR1cm47Ci0gICAgbV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIEFkZFJlZigpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFU
YXNrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5j
cHAKaW5kZXggMWI5YTA4ZGYxMmMyZWE3ODFhZmVkODQ2MmNmM2EzZmM2NzBkZDc0MS4uODNlYjZl
YTk1MWNlNTcwMWJlZDc4ODlhZGY0NDgyMzhmNjdhYWFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCkBAIC05Miw3ICs5Miw3IEBA
IHZvaWQgTmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkK
IHsKICAgICBBU1NFUlQodHlwZSAhPSBOb0ZhaWx1cmUpOwogICAgIG1fc2NoZWR1bGVkRmFpbHVy
ZVR5cGUgPSB0eXBlOwotICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0YVRh
c2s6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc3Bv
bnNlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1t
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29j
b2EubW0KaW5kZXggYzI5ZGFiYTM2ZThlM2ZhY2QyYjg4NDNlMWVkMzE3NDcyNDk4ZGJmYy4uNTEy
NzZlYzViNTIwNWRhZjBkZTBlYzA2ODYxZjBkNjYwZWU3YTA0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29j
b2EubW0KQEAgLTM2Niw3ICszNjYsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpjYW5j
ZWwoKQogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9z
Y2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpCi0gICAgICAgIG1fZmFpbHVyZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgW21fdGFzayByZXN1bWVdOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKaW5kZXggZGE5ZGIyMjRl
ZGMwZWEwY2JkMDAyZGMxNzEyYTBjMTg2ZDE5MzVlNC4uMTczOTUyNTA5NTcxZDhmNDkwYTczZTdm
YTk2OTU5M2M3YjgzMjRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQg
UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95KCkKICAgICBpZiAobV9wbHVnaW5EZXN0cnVj
dGlvblByb3RlY3RDb3VudCB8fCBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS0+aW5TZW5kU3lu
YygpKSB7CiAgICAgICAgIC8vIFdlIGhhdmUgcGx1Zy1pbiBjb2RlIG9uIHRoZSBzdGFjayBzbyB3
ZSBjYW4ndCBkZXN0cm95IGl0IHJpZ2h0IG5vdy4KICAgICAgICAgLy8gRGVzdHJveSBpdCBsYXRl
ci4KLSAgICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5
OjpzdGFydFBhaW50VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTdGFydCB0aGUg
dGltZXIuCi0gICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BhaW50VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBtX3dhaXRpbmdGb3JEaWRVcGRhdGUgPSB0cnVl
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlld0Jhc2UuY3BwCmluZGV4IGFhODc4ODk0ODYxYTMwNmY3YTZjNGUxNmEyNDVjMmZiYjc2
YmE2ZGUuLjkyNjU4ZTg0N2I0MzE1YmUyYWZiM2MzOTljNDM3MGZiZTU5YmNiOGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFz
ZS5jcHAKQEAgLTIxOSw3ICsyMTksNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNj
aGVkdWxlVXBkYXRlQWN0aXZpdHlTdGF0ZShXZWJLaXRXZWJWaWV3QmFzZSogd2ViVgogICAgIGlm
IChwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgcHJpdi0+dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB0b3BsZXZlbFdpbmRvd0ZvY3VzSW5FdmVudChHdGtXaWRn
ZXQqIHdpZGdldCwgR2RrRXZlbnRGb2N1cyosIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFz
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAppbmRl
eCA4OTYwZGEzODM4YWU1NTMwOWNkYTk2YTVjMGRjZmIxZWZiMzAyZTljLi5jNTVjM2Y1YjVjYjQ5
NGY4YzdiYzI1MmQ4NWJlZTdmYjExNDY1OTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgRHJhd2luZ0Fy
ZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRS
ZWN0PiB2aWV3CiAgICAgbV92aWV3RXhwb3NlZFJlY3QgPSB2aWV3RXhwb3NlZFJlY3Q7CiAKICAg
ICBpZiAoIW1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgRHJhd2luZ0FyZWFQcm94eTo6dmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAK
aW5kZXggOWQyODY0M2I3M2RkN2Q1OTQyMDQzNTQ1ODJjYzMxZTZlY2MzY2MzMC4uOWE5N2IzZmJl
MjU4ZmM1NDIxMTliNWM2ODJhN2ExNjY4ZDllNjBhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCkBAIC0yMzAsNyArMjMwLDcgQEAg
dm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KHN0ZDo6ZnVu
Y3Rpb248dm9pZCAoQ2FsbGJhY2tCYXMKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV93
ZWJQYWdlLnZpZXdXaWRnZXQoKSwgImRyYXciLCByZWludGVycHJldF9jYXN0PEdDYWxsYmFjaz4o
d2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEp
OwogI2Vsc2UKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVh
ZjY2NzdhOTI5OWRlODU0OTQ1ZjkxNDU4MDMzNDllMy4uZDVmYjFiMjMxYjQzNzBmMDZlZGMzMTM0
ZjM0NWM1YzNjY2VjZDA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2
b2lkIFBsdWdpbkluZm9DYWNoZTo6dXBkYXRlUGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdp
blBhdGgsIGNvbnN0IFBsdWdpbk1vZAogICAgICAgICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0Fj
dGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zp
c2l0ZWRMaW5rU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5r
U3RvcmUuY3BwCmluZGV4IGEzZmI3NzBmNWNkYmNkY2I1ZmE3N2FiNGQyZjBiNTQ3NDQ4OTBmNmYu
LjNlZDU1NzUzMTZiZmRkMDM2NTAzN2FkNmE4YmQ3ZDRhYTg0N2I0ZjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAg
dm9pZCBWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2goTGlua0hhc2ggbGlua0hh
c2gpCiAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzLmFkZChsaW5rSGFzaCk7CiAKICAgICBpZiAo
IW1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGlu
Z1Zpc2l0ZWRMaW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVmlz
aXRlZExpbmtzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVmlzaXRlZExpbmtT
dG9yZTo6cmVtb3ZlQWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCmluZGV4IGYyYmNiMGVjNDdmZDgxYTBmMjE4NGMyNzc5ZmFiODdiNTgxZDY1NGQuLjFk
ZDdhZTI0M2JmNTk2ZGYyMzAwM2IzYTYzOGRhMzJhOTQ0MmMzY2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjQyLDcgKzI0Miw3IEBAIFdlYlBy
b2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYg
Y29uZmlndXJhdGlvbikKICAgICAsIG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KG1f
Y29uZmlndXJhdGlvbi0+YWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkpCiAgICAgLCBt
X3VzZXJPYnNlcnZhYmxlUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRh
dGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Np
b25EaXNhYmxlZEZvclBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRl
UHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKLSAgICAsIG1faGlkZGVuUGFnZVRocm90dGxp
bmdBdXRvSW5jcmVhc2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1faGlkZGVu
UGFnZVRocm90dGxpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7IH0pCisgICAgLCBtX2hpZGRlblBh
Z2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkg
eyBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7IH0pCiAgICAg
LCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmV2Vi
UHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQp
CiB7CiAgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBtX2NvbmZpZ3VyYXRpb24tPmFsd2F5c1JldmFs
aWRhdGVkVVJMU2NoZW1lcygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3Rr
L0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA3ZTE1NzdjYmE4YjE1NzA1MjY0ZTViYTU0NzVm
ZmM1OTYyZGFiODg5Li4wNTU2ZWE3YzRmNmY5OThjODdmYTJlMjNjZTMwNzc3NGMxMWRiNDc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVy
LmNwcApAQCAtMjA2LDcgKzIwNiw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0
dXJlOjpzY2FsZUNoYW5nZWQoWm9vbUdlc3R1cmUqIHpvb21HZXN0dXJlLCBkb3ViCiAgICAgaWYg
KHpvb21HZXN0dXJlLT5tX2lkbGUuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
em9vbUdlc3R1cmUtPm1faWRsZS5zdGFydE9uZVNob3QoMCk7CisgICAgem9vbUdlc3R1cmUtPm1f
aWRsZS5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogR2VzdHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0
dXJlOjpab29tR2VzdHVyZShXZWJQYWdlUHJveHkmIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCmluZGV4IGRjMTk4
ZDg1OGYxM2EzYzEyMzZlNTExZDM4ZGI2ODUyNjEzNzg0YTQuLjUzMTdmZWQ5ZDg5MjkzYWJkNDIx
MmMyMDg1ZDY0YzJiOTQzN2ExNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCkBAIC0yNjEsNyArMjYxLDcgQEAgdm9p
ZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6bWVudVVubWFwcGVkQ2FsbGJhY2soR3RrV2lkZ2V0Kiwg
V2ViUG9wdXBNZW51UHJveHlHdGsKICAgICAvLyBXaGVuIGFuIGl0ZW0gaXMgYWN0aXZhdGVkLCB0
aGUgbWVudSBpcyBmaXJzdCBoaWRkZW4gYW5kIHRoZW4gYWN0aXZhdGUgc2lnbmFsIGlzIGVtaXR0
ZWQsIHNvIGF0IHRoaXMgcG9pbnQgd2UgZG9uJ3Qga25vdwogICAgIC8vIGlmIHRoZSBtZW51IGhh
cyBiZWVuIGhpZGRlbiBiZWNhdXNlIGFuIGl0ZW0gaGFzIGJlZW4gc2VsZWN0ZWQgb3IgYmVjYXVz
ZSB0aGUgbWVudSBoYXMgYmVlbiBkaXNtaXNzZWQuIFdhaXQgdW50aWwgdGhlIG5leHQKICAgICAv
LyBtYWluIGxvb3AgaXRlcmF0aW9uIHRvIGRpc21pc3MgdGhlIG1lbnUsIGlmIGFuIGl0ZW0gaXMg
YWN0aXZhdGVkIHRoZSB0aW1lciB3aWxsIGJlIGNhbmNlbGxlZC4KLSAgICBwb3B1cE1lbnUtPm1f
ZGlzbWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgcG9wdXBNZW51LT5tX2Rpc21p
c3NNZW51VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJv
eHlHdGs6OnNlbGVjdEl0ZW1DYWxsYmFjayhHdGtXaWRnZXQqIGl0ZW0sIFdlYlBvcHVwTWVudVBy
b3h5R3RrKiBwb3B1cE1lbnUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCA1MjQ2MTlmMTMzMzVlZjhhNmY3
Y2Q0MDE5YmMzMmZiMDhhYWIzODlkLi43YTliNmYwODlhYzcxMjZmZjdhZjc5NjhhZWI1Y2VjMmJi
MGViYzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
TG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTI0Niw3ICsyNDYsNyBAQCB2b2lkIFdlYkxvYWRl
clN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBD
YWNoZWRSZXNvdQogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVJbnRlcm5hbGx5RmFp
bGVkTG9hZChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIpCiB7CiAgICAg
bV9pbnRlcm5hbGx5RmFpbGVkUmVzb3VyY2VMb2FkZXJzLmFkZCgmcmVzb3VyY2VMb2FkZXIpOwot
ICAgIG1faW50ZXJuYWxseUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9p
bnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YkxvYWRlclN0cmF0ZWd5OjppbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGlt
ZU9iamVjdE1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcAppbmRleCAyZGI4YmI0NDZmYjBiNzQxYzVmN2FjNWFj
MGQ1NzhiY2YzMWY5NWExLi5hN2RiMTM2NGFmNWFiYjFjNzdlNWQxNGUyMWVkZGY0NjZmMjM2YmQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TlBSdW50aW1lT2JqZWN0TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcApAQCAtMjkyLDcgKzI5Miw3IEBA
IHZvaWQgTlBSdW50aW1lT2JqZWN0TWFwOjphZGRUb0ludmFsaWRhdGlvblF1ZXVlKE5QT2JqZWN0
KiBucE9iamVjdCkKICAgICBpZiAodHJ5U2FmZVJlbGVhc2VOUE9iamVjdChucE9iamVjdCkpCiAg
ICAgICAgIHJldHVybjsKICAgICBpZiAobV9ucE9iamVjdHNUb0ZpbmFsaXplLmlzRW1wdHkoKSkK
LSAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
ZmluYWxpemF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgQVNTRVJUKG1fZmluYWxp
emF0aW9uVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgbV9ucE9iamVjdHNUb0ZpbmFsaXplLmFwcGVu
ZChucE9iamVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcAppbmRl
eCA3ZDU0ZDg4YzdlODk4YzVjZTBiYWRmMWQ3NjliMmU1ZDM1ZDlhMjU0Li4yMzQ5OTEzMGNjNTk2
NWJjYTYxYjdiODI4MmU5NWQzYTdmZjdiN2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdp
blN0cmVhbS5jcHAKQEAgLTIyMiw3ICsyMjIsNyBAQCB2b2lkIE5ldHNjYXBlUGx1Z2luU3RyZWFt
OjpkZWxpdmVyRGF0YVRvUGx1Z2luKCkKIAogICAgICAgICBpZiAobnVtQnl0ZXNQbHVnaW5DYW5I
YW5kbGUgPD0gMCkgewogICAgICAgICAgICAgLy8gVGhlIHBsdWctaW4gY2FuJ3QgaGFuZGxlIG1v
cmUgZGF0YSwgd2UnbGwgc2VuZCB0aGUgcmVzdCBsYXRlcgotICAgICAgICAgICAgbV9kZWxpdmVy
eURhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmlu
ZGV4IDZjYjAzZDBkNDYzY2QxOTE4MGMwMjY4ODc5MTFiMmFiYzI1MDA2MmQuLmJhMDc2OTA4MDU5
MDNlMWM1ZmZkNjUwZDQ1MjVjYWI3MWJiNzI2MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTExNDUsNyArMTE0NSw3IEBAIHZv
aWQgUGx1Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCgpCiAKICAgICAvLyBJ
ZiB0aGVyZSBhcmUgbW9yZSByZXF1ZXN0cyB0byBwZXJmb3JtLCByZXNjaGVkdWxlIHRoZSB0aW1l
ci4KICAgICBpZiAoIW1fcGVuZGluZ1VSTFJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9w
ZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGlu
Z1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgCiAgICAgcGVyZm9ybVVS
TFJlcXVlc3QodXJsUmVxdWVzdC5nZXQoKSk7CiB9CkBAIC0xNDA0LDcgKzE0MDQsNyBAQCB2b2lk
IFBsdWdpblZpZXc6OmxvYWRVUkwodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJpbmcmIG1l
dGhvZCwgY29uc3QgU3RyaW5nJgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVx
dWVzdCgpLnNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAKICAgICBtX3BlbmRpbmdVUkxSZXF1
ZXN0cy5hcHBlbmQoVVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3RJRCwgZnJhbWVMb2FkUmVxdWVz
dCwgYWxsb3dQb3B1cHMpKTsKLSAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIFBsdWdpblZpZXc6OmNhbmNlbFN0cmVhbUxvYWQodWludDY0X3Qgc3RyZWFt
SUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxl
cmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
QWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggNjg3NGQxZDcyY2RmMDkxZjk3YzU4MzUz
MDhkOWFlMmI5ODljNTYwYS4uZjQyODIxMGZiYWZhYjMwZDE4M2JlYThhNjIxZjdjMjAzNDk0NDhl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJh
dGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcApAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgQWNj
ZWxlcmF0ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlU29vbigp
CiAgICAgaWYgKGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVBlbmRpbmcoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVO
b3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHAKaW5kZXggMmY2NjEzNzI1NDUwMjFmNmYwY2Y5MTI2MDllMmJlMmIyNmIx
ZGY0OS4uYTE0MTA0MzQ5ZGM4MWM5NmZmNzhlYjRlMzE1Y2RmMzZhYjJlNjlkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3Qu
Y3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hl
ZHVsZUxheWVyRmx1c2goKQogICAgIH0KIAogICAgIGlmICghbV9sYXllckZsdXNoVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OmNhbmNlbFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAK
aW5kZXggZWFiMDM2ZjgzNjMwYWNlYWI0ZWVkNTY2MmQyYzc4YTc5OTA4N2ZiOS4uMzY5MTI3NzA1
NGExNzg2OGMxYjBkNWNlNzllY2UzNDc5NjE2MTZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM0Niw3ICsz
NDYsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVEaXNwbGF5KCkKICAgICBpZiAo
bV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kaXNw
bGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDc0
MzA2ZjNjMmM5ZmNmZWI5MTA0NWNiMjczNjhjYjk5ODM1MmY0NjguLjI1ZTFhNTNlYmQwZjRjODAx
MGQwZTIxYWI5ZmM5MDY1YTBlYjIzMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI2NTIsNyArMjY1Miw3IEBAIHZvaWQgV2ViUGFnZTo6
dXBkYXRlSXNJbldpbmRvdyhib29sIGlzSW5pdGlhbFN0YXRlKQogICAgICAgICAvLyBpbiBvcmRl
ciB0byBnZXQgcGx1Zy1pbiBjb25uZWN0aW9ucywgYW5kIHRoZSBVSSBwcm9jZXNzIHdpbGwgYmUg
d2FpdGluZyBmb3IgdGhlIFdlYiBwcm9jZXNzIHRvIHVwZGF0ZSB0aGUgYmFja2luZwogICAgICAg
ICAvLyBzdG9yZSBhZnRlciBtb3ZpbmcgdGhlIHZpZXcgaW50byBhIHdpbmRvdywgdW50aWwgaXQg
dGltZXMgb3V0IGFuZCBwYWludHMgd2hpdGUuIFNlZSA8cmRhcjovL3Byb2JsZW0vOTI0Mjc3MT4u
CiAgICAgICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cpCi0gICAgICAgICAgICBt
X3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3Nl
dENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgICAgICBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5wYWdlRGlkRW50ZXJXaW5kb3cobV9wYWdlSUQpOwogICAgIH0KQEAg
LTQwMTcsNyArNDAxNyw3IEBAIHZvaWQgV2ViUGFnZTo6YWRkUGx1Z2luVmlldyhQbHVnaW5WaWV3
KiBwbHVnaW5WaWV3KQogICAgIG1faGFzU2VlblBsdWdpbiA9IHRydWU7CiAjaWYgRU5BQkxFKFBS
SU1BUllfU05BUFNIT1RURURfUExVR0lOX0hFVVJJU1RJQykKICAgICBMT0coUGx1Z2lucywgIlBy
aW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0ZWN0aW9uIGZyb20gYWRkUGx1
Z2luVmlldyglcCkiLCBwbHVnaW5WaWV3KTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCiB9CiAKQEAg
LTQ1NTAsNyArNDU1MCw3IEBAIHZvaWQgV2ViUGFnZTo6c2V0TWF5U3RhcnRNZWRpYVdoZW5Jbldp
bmRvdyhib29sIG1heVN0YXJ0TWVkaWEpCiAKICAgICBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5k
b3cgPSBtYXlTdGFydE1lZGlhOwogICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cg
JiYgbV9wYWdlLT5pc0luV2luZG93KCkpCi0gICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6cnVuTW9kYWwoKQpAQCAtNTMyMSw3ICs1
MzIxLDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAog
ICAgIG1fcmVhZHlUb0ZpbmRQcmltYXJ5U25hcHNob3R0ZWRQbHVnaW4gPSB0cnVlOwogICAgIExP
RyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rp
b24gZnJvbSBkaWRGaW5pc2hMb2FkIChtYXJraW5nIGFzIHJlYWR5IHRvIGRldGVjdCkuIik7Ci0g
ICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggMDY3ODViMzJlOGY1
NWQyYWRkY2E1NTE4NmJkOGVkMmNmMzY4OTRlNC4uZmNhMjIwMzc4NTk4MjNhMzJiZWNmODZkYTUy
YjhiMGFiNjI1NDFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
Lm1tCkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShBY3Rpdml0eVN0YXRlOjpGbGFncwogICAgIH0KIAog
ICAgIGlmIChtX3dhbnRzRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZSB8fCAhbV9uZXh0QWN0aXZpdHlT
dGF0ZUNoYW5nZUNhbGxiYWNrSURzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZW5kRGlkVXBkYXRl
QWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kRGlkVXBk
YXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXJGaXJl
ZCgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>