<?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>6750</bug_id>
          
          <creation_ts>2006-01-23 21:44:08 -0800</creation_ts>
          <short_desc>replace QDateTime with a simpler platform abstraction</short_desc>
          <delta_ts>2006-01-24 19:40:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>29661</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-23 21:44:08 -0800</bug_when>
    <thetext> </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29671</commentid>
    <comment_count>1</comment_count>
      <attachid>5903</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-23 23:15:12 -0800</bug_when>
    <thetext>Created attachment 5903
patch that replaces QDateTime with a single currentTime() function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29771</commentid>
    <comment_count>2</comment_count>
      <attachid>5903</attachid>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2006-01-24 15:20:22 -0800</bug_when>
    <thetext>Comment on attachment 5903
patch that replaces QDateTime with a single currentTime() function

r=me if you did some basic testing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5903</attachid>
            <date>2006-01-23 23:15:12 -0800</date>
            <delta_ts>2006-01-24 15:20:22 -0800</delta_ts>
            <desc>patch that replaces QDateTime with a single currentTime() function</desc>
            <filename>NoQDateTimePatch.txt</filename>
            <type>text/plain</type>
            <size>54141</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL3htbC9Eb2N1bWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBraHRtbC94bWwv
RG9jdW1lbnRJbXBsLmgJKHJldmlzaW9uIDEyMzIyKQorKysga2h0bWwveG1sL0RvY3VtZW50SW1w
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSA8a3htbGNvcmUv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDxreG1sY29yZS9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8cWNvbG9yLmg+Ci0jaW5jbHVkZSA8cWRhdGV0aW1lLmg+CiAjaW5jbHVkZSA8cW9iamVjdC5o
PgogI2luY2x1ZGUgPHFwdHJsaXN0Lmg+CiAjaW5jbHVkZSA8cXN0cmluZ2xpc3QuaD4KQEAgLTY1
OCw3ICs2NTcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgTm9kZUltcGwqIG1fY3NzVGFyZ2V0OwogICAg
IAogICAgIGJvb2wgbV9wcm9jZXNzaW5nTG9hZEV2ZW50OwotICAgIFFUaW1lIG1fc3RhcnRUaW1l
OworICAgIGRvdWJsZSBtX3N0YXJ0VGltZTsKICAgICBib29sIG1fb3Zlck1pbmltdW1MYXlvdXRU
aHJlc2hvbGQ7CiAgICAgCiAjaWZkZWYgS0hUTUxfWFNMVApJbmRleDoga2h0bWwveG1sL2RvbTJf
ZXZlbnRzaW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2h0bWwveG1sL2RvbTJfZXZlbnRzaW1wbC5j
cHAJKHJldmlzaW9uIDEyMzIyKQorKysga2h0bWwveG1sL2RvbTJfZXZlbnRzaW1wbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDM2ICsyMiwyMCBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKLSNpbmNsdWRlICJ4bWwvZG9tMl9ldmVudHNpbXBsLmgiCisjaW5jbHVkZSAiZG9tMl9ldmVu
dHNpbXBsLmgiCiAKLSNpbmNsdWRlICJkb20vZG9tMl9ldmVudHMuaCIKLSNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKLSNpbmNsdWRlICJyZW5kZXJpbmcvcmVuZGVyX2xheWVyLmgiCi0jaW5jbHVkZSAi
eG1sL0V2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJ4bWwvZG9tMl92aWV3c2ltcGwuaCIKICNpbmNs
dWRlICJEb2N1bWVudEltcGwuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiU3lzdGVtVGltZS5oIgorI2luY2x1ZGUgImRvbTJfZXZl
bnRzLmgiCisjaW5jbHVkZSAiZG9tMl92aWV3c2ltcGwuaCIKKyNpbmNsdWRlICJyZW5kZXJfbGF5
ZXIuaCIKIAotdXNpbmcgbmFtZXNwYWNlIGtodG1sOwotCi1uYW1lc3BhY2UgRE9NIHsKK25hbWVz
cGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEV2ZW50TmFtZXM7CiAKLSNpZiBfX0FQ
UExFX18KLXN0YXRpYyBpbmxpbmUgRE9NVGltZVN0YW1wIGN1cnJlbnRUaW1lU3RhbXAoKQotewot
ICAgIC8vIFNpbmNlIHRoaXMgc2hvd3MgdXAgb24gcHJvZmlsZXMsIGRvIHRoaXMgYW4gZXZlbiBm
YXN0ZXIgd2F5IG9uIE1hYyBPUyBYLgotICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01UaW1lU3Rh
bXA+KChDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIGtDRkFic29sdXRlVGltZUludGVydmFs
U2luY2UxOTcwKSAqIDEwMDApOwotfQotI2Vsc2UKLXN0YXRpYyBET01UaW1lU3RhbXAgY3VycmVu
dFRpbWVTdGFtcCgpCi17Ci0gICAgUURhdGVUaW1lIGN1cnJlbnREYXRlVGltZSA9IFFEYXRlVGlt
ZTo6Y3VycmVudERhdGVUaW1lKCk7Ci0gICAgUURhdGVUaW1lIGVwb2NoKFFEYXRlKDE5NzAsIDEs
IDEpLCBRVGltZSgpKTsKLSAgICByZXR1cm4gZXBvY2guc2Vjc1RvKGN1cnJlbnREYXRlVGltZSkg
KiAxMDAwTEwgKyBjdXJyZW50RGF0ZVRpbWUudGltZSgpLm1zZWMoKTsKLX0KLSNlbmRpZgotCiBF
dmVudEltcGw6OkV2ZW50SW1wbCgpCiAgICAgOiBtX2NhbkJ1YmJsZShmYWxzZSkKICAgICAsIG1f
Y2FuY2VsYWJsZShmYWxzZSkKQEAgLTYxLDcgKzQ1LDcgQEAgRXZlbnRJbXBsOjpFdmVudEltcGwo
KQogICAgICwgbV9jYW5jZWxCdWJibGUoZmFsc2UpCiAgICAgLCBtX2N1cnJlbnRUYXJnZXQoMCkK
ICAgICAsIG1fZXZlbnRQaGFzZSgwKQotICAgICwgbV9jcmVhdGVUaW1lKGN1cnJlbnRUaW1lU3Rh
bXAoKSkKKyAgICAsIG1fY3JlYXRlVGltZShzdGF0aWNfY2FzdDxET01UaW1lU3RhbXA+KGN1cnJl
bnRUaW1lKCkgKiAxMDAwLjApKQogewogfQogCkBAIC03NSw3ICs1OSw3IEBAIEV2ZW50SW1wbDo6
RXZlbnRJbXBsKGNvbnN0IEF0b21pY1N0cmluZyAKICAgICAsIG1fY2FuY2VsQnViYmxlKGZhbHNl
KQogICAgICwgbV9jdXJyZW50VGFyZ2V0KDApCiAgICAgLCBtX2V2ZW50UGhhc2UoMCkKLSAgICAs
IG1fY3JlYXRlVGltZShjdXJyZW50VGltZVN0YW1wKCkpCisgICAgLCBtX2NyZWF0ZVRpbWUoc3Rh
dGljX2Nhc3Q8RE9NVGltZVN0YW1wPihjdXJyZW50VGltZSgpICogMTAwMC4wKSkKIHsKIH0KIApA
QCAtMjg4LDEyICsyNzIsMTIgQEAgdm9pZCBNb3VzZVJlbGF0ZWRFdmVudEltcGw6OmNvbXB1dGVQ
b3NpdAogICAgICAgICAvLyBJZiB3ZSB3YW50IHRvLCB0aGVuIHdlJ2xsIGhhdmUgdG8gd2FpdCB1
bnRpbCBzZXRUYXJnZXQgaXMgY2FsbGVkLgogICAgICAgICBSZW5kZXJPYmplY3Q6Ok5vZGVJbmZv
IGhpdFRlc3RSZXN1bHQodHJ1ZSwgZmFsc2UpOwogICAgICAgICBkb2NSZW5kZXJlci0+bGF5ZXIo
KS0+aGl0VGVzdChoaXRUZXN0UmVzdWx0LCBtX3BhZ2VYLCBtX3BhZ2VZKTsKLSAgICAgICAgTm9k
ZUltcGwgKm4gPSBoaXRUZXN0UmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpOworICAgICAgICBO
b2RlSW1wbCogbiA9IGhpdFRlc3RSZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCk7CiAgICAgICAg
IHdoaWxlIChuICYmICFuLT5yZW5kZXJlcigpKQogICAgICAgICAgICAgbiA9IG4tPnBhcmVudCgp
OwogICAgICAgICBpZiAobikgewogICAgICAgICAgICAgbi0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5n
TGF5ZXIoKS0+dXBkYXRlTGF5ZXJQb3NpdGlvbigpOyAgICAKLSAgICAgICAgICAgIGZvciAoUmVu
ZGVyTGF5ZXIgKmxheWVyID0gbi0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKTsgbGF5ZXI7
IGxheWVyID0gbGF5ZXItPnBhcmVudCgpKSB7CisgICAgICAgICAgICBmb3IgKFJlbmRlckxheWVy
KiBsYXllciA9IG4tPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCk7IGxheWVyOyBsYXllciA9
IGxheWVyLT5wYXJlbnQoKSkgewogICAgICAgICAgICAgICAgIG1fbGF5ZXJYIC09IGxheWVyLT54
UG9zKCk7CiAgICAgICAgICAgICAgICAgbV9sYXllclkgLT0gbGF5ZXItPnlQb3MoKTsKICAgICAg
ICAgICAgIH0KSW5kZXg6IGtodG1sL3htbC94bWxfdG9rZW5pemVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
a2h0bWwveG1sL3htbF90b2tlbml6ZXIuaAkocmV2aXNpb24gMTIzMjIpCisrKyBraHRtbC94bWwv
eG1sX3Rva2VuaXplci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVk
ZSA8cW9iamVjdC5oPgogCiBjbGFzcyBGcmFtZVZpZXc7Ci1jbGFzcyBRVGltZTsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkluZGV4OiBraHRtbC94bWwvRG9jdW1lbnRJbXBsLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBraHRtbC94bWwvRG9jdW1lbnRJbXBsLmNwcAkocmV2aXNpb24gMTIzMjIpCisrKyBr
aHRtbC94bWwvRG9jdW1lbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBA
QAogI2luY2x1ZGUgIktXUUxvZ2dpbmcuaCIKICNpbmNsdWRlICJOYW1lTm9kZUxpc3RJbXBsLmgi
CiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiU3lzdGVtVGltZS5oIgog
I2luY2x1ZGUgImNzc19zdHlsZXNoZWV0aW1wbC5oIgogI2luY2x1ZGUgImNzc192YWx1ZWltcGwu
aCIKICNpbmNsdWRlICJjc3NoZWxwZXIuaCIKQEAgLTI3MSw3ICsyNzIsNyBAQCBEb2N1bWVudElt
cGw6OkRvY3VtZW50SW1wbChET01JbXBsZW1lbnRhCiAgICAgcmVzZXRBY3RpdmVMaW5rQ29sb3Io
KTsKIAogICAgIG1fcHJvY2Vzc2luZ0xvYWRFdmVudCA9IGZhbHNlOwotICAgIG1fc3RhcnRUaW1l
LnJlc3RhcnQoKTsKKyAgICBtX3N0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7CiAgICAgbV9vdmVy
TWluaW11bUxheW91dFRocmVzaG9sZCA9IGZhbHNlOwogICAgIAogICAgIG1fanNFZGl0b3IgPSAw
OwpAQCAtMTIyMiw3ICsxMjIzLDcgQEAgdm9pZCBEb2N1bWVudEltcGw6OmltcGxpY2l0Q2xvc2Uo
KQogICAgIC8vIGZpcmVzLiBUaGlzIHdpbGwgaW1wcm92ZSBvbmxvYWQgc2NvcmVzLCBhbmQgb3Ro
ZXIgYnJvd3NlcnMgZG8gaXQuCiAgICAgLy8gSWYgdGhleSB3YW5uYSBjaGVhdCwgd2UgY2FuIHRv
by4gLWR3aAogCi0gICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+aXNTY2hlZHVsZWRMb2NhdGlv
bkNoYW5nZVBlbmRpbmcoKSAmJiBtX3N0YXJ0VGltZS5lbGFwc2VkKCkgPCBjTGF5b3V0U2NoZWR1
bGVUaHJlc2hvbGQpIHsKKyAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5pc1NjaGVkdWxlZExv
Y2F0aW9uQ2hhbmdlUGVuZGluZygpICYmIGVsYXBzZWRUaW1lKCkgPCBjTGF5b3V0U2NoZWR1bGVU
aHJlc2hvbGQpIHsKICAgICAgICAgLy8gSnVzdCBiYWlsIG91dC4gQmVmb3JlIG9yIGR1cmluZyB0
aGUgb25sb2FkIHdlIHdlcmUgc2hpZnRlZCB0byBhbm90aGVyIHBhZ2UuCiAgICAgICAgIC8vIFRo
ZSBvbGQgaS1CZW5jaCBzdWl0ZSBkb2VzIHRoaXMuIFdoZW4gdGhpcyBoYXBwZW5zIGRvbid0IGJv
dGhlciBwYWludGluZyBvciBsYXlpbmcgb3V0LiAgICAgICAgCiAgICAgICAgIHZpZXcoKS0+dW5z
Y2hlZHVsZVJlbGF5b3V0KCk7CkBAIC0xMjg0LDcgKzEyODUsNyBAQCBpbnQgRG9jdW1lbnRJbXBs
OjptaW5pbXVtTGF5b3V0RGVsYXkoKQogICAgIGlmIChtX292ZXJNaW5pbXVtTGF5b3V0VGhyZXNo
b2xkKQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBpbnQgZWxhcHNlZCA9IG1fc3RhcnRU
aW1lLmVsYXBzZWQoKTsKKyAgICBpbnQgZWxhcHNlZCA9IGVsYXBzZWRUaW1lKCk7CiAgICAgbV9v
dmVyTWluaW11bUxheW91dFRocmVzaG9sZCA9IGVsYXBzZWQgPiBjTGF5b3V0U2NoZWR1bGVUaHJl
c2hvbGQ7CiAgICAgCiAgICAgLy8gV2UnbGwgd2FudCB0byBzY2hlZHVsZSB0aGUgdGltZXIgdG8g
ZmlyZSBhdCB0aGUgbWluaW11bSBsYXlvdXQgdGhyZXNob2xkLgpAQCAtMTI5Myw3ICsxMjk0LDcg
QEAgaW50IERvY3VtZW50SW1wbDo6bWluaW11bUxheW91dERlbGF5KCkKIAogaW50IERvY3VtZW50
SW1wbDo6ZWxhcHNlZFRpbWUoKSBjb25zdAogewotICAgIHJldHVybiBtX3N0YXJ0VGltZS5lbGFw
c2VkKCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4oKGN1cnJlbnRUaW1lKCkgLSBtX3N0
YXJ0VGltZSkgKiAxMDAwKTsKIH0KIAogdm9pZCBEb2N1bWVudEltcGw6OndyaXRlKCBjb25zdCBE
T01TdHJpbmcgJnRleHQgKQpJbmRleDoga2h0bWwveG1sL0NvbnRhaW5lck5vZGVJbXBsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBraHRtbC94bWwvQ29udGFpbmVyTm9kZUltcGwuY3BwCShyZXZpc2lvbiAx
MjMyMikKKysrIGtodG1sL3htbC9Db250YWluZXJOb2RlSW1wbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDExICszMSwxMSBAQAogI2luY2x1ZGUgIklubGluZVRleHRCb3guaCIKICNpbmNsdWRl
ICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgorI2luY2x1ZGUgIlN5c3RlbVRp
bWUuaCIKICNpbmNsdWRlICJkb20yX2V2ZW50c2ltcGwuaCIKICNpbmNsdWRlICJkb21fZXhjZXB0
aW9uLmgiCiAjaW5jbHVkZSAiZG9tX25vZGUuaCIKICNpbmNsdWRlICJyZW5kZXJfdGhlbWUuaCIK
LSNpbmNsdWRlIDxxZGF0ZXRpbWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03MDQs
MjAgKzcwNCwyMCBAQCB2b2lkIENvbnRhaW5lck5vZGVJbXBsOjpzZXRBY3RpdmUoYm9vbCBkCiAg
ICAgICAgICAgICAvLyB0byByZXBhaW50IHRoZSAiZG93biIgc3RhdGUgb2YgdGhlIGNvbnRyb2wg
aXMgYWJvdXQgdGhlIHNhbWUgdGltZSBhcyBpdCB3b3VsZCB0YWtlIHRvIHJlcGFpbnQgdGhlCiAg
ICAgICAgICAgICAvLyAidXAiIHN0YXRlLiAgT25jZSB5b3UgYXNzdW1lIHRoaXMsIHlvdSBjYW4g
anVzdCBkZWxheSBmb3IgMTAwbXMgLSB0aGF0IHRpbWUgKGFzc3VtaW5nIHRoYXQgYWZ0ZXIgeW91
CiAgICAgICAgICAgICAvLyBsZWF2ZSB0aGlzIG1ldGhvZCwgaXQgd2lsbCBiZSBhYm91dCB0aGF0
IGxvbmcgYmVmb3JlIHRoZSBmbHVzaCBvZiB0aGUgdXAgc3RhdGUgaGFwcGVucyBhZ2FpbikuCi0g
ICAgICAgICAgICBRVGltZSBzdGFydFRpbWU7Ci0gICAgICAgICAgICBzdGFydFRpbWUucmVzdGFy
dCgpOworI2lmIEhBVkVfRlVOQ19VU0xFRVAKKyAgICAgICAgICAgIGRvdWJsZSBzdGFydFRpbWUg
PSBjdXJyZW50VGltZSgpOworI2VuZGlmCiAKICAgICAgICAgICAgIC8vIERvIGFuIGltbWVkaWF0
ZSByZXBhaW50LgogICAgICAgICAgICAgcmVuZGVyZXIoKS0+cmVwYWludCh0cnVlKTsKICAgICAg
ICAgICAgIAotI2lmICFXSU4zMgotICAgICAgICAgICAgLy8gRklYTUU6IEZpbmQgYSBzdWJzdGl0
dXRlIGZvciB1c2xlZXAuICBCZXR0ZXIgeWV0LCBjb21lIHVwIHdpdGggYSB3YXkgb2YgZG9pbmcg
dGhpcyB0aGF0IAotICAgICAgICAgICAgLy8gZG9lc24ndCB1c2UgdXNsZWVwIGF0IGFsbC4KLSAg
ICAgICAgICAgIGludCByZW1haW5pbmdUaW1lID0gMTAwIC0gc3RhcnRUaW1lLmVsYXBzZWQoKTsK
LSAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gRklYTUU6IEZpbmQgYSBzdWJzdGl0dXRlIGZv
ciB1c2xlZXAgZm9yIFdpbjMyLgorICAgICAgICAgICAgLy8gQmV0dGVyIHlldCwgY29tZSB1cCB3
aXRoIGEgd2F5IG9mIGRvaW5nIHRoaXMgdGhhdCBkb2Vzbid0IHVzZSB0aGlzIHNvcnQgb2YgdGhp
bmcgYXQgYWxsLiAgICAgICAgICAgIAorI2lmIEhBVkVfRlVOQ19VU0xFRVAKICAgICAgICAgICAg
IC8vIE5vdyBwYXVzZSBmb3IgYSBzbWFsbCBhbW91bnQgb2YgdGltZSAoMS8xMHRoIG9mIGEgc2Vj
b25kIGZyb20gYmVmb3JlIHdlIHJlcGFpbnRlZCBpbiB0aGUgcHJlc3NlZCBzdGF0ZSkKKyAgICAg
ICAgICAgIGRvdWJsZSByZW1haW5pbmdUaW1lID0gMC4xIC0gKGN1cnJlbnRUaW1lKCkgLSBzdGFy
dFRpbWUpOwogICAgICAgICAgICAgaWYgKHJlbWFpbmluZ1RpbWUgPiAwKQotICAgICAgICAgICAg
ICAgIHVzbGVlcChyZW1haW5pbmdUaW1lICogMTAwMCk7CisgICAgICAgICAgICAgICAgdXNsZWVw
KHN0YXRpY19jYXN0PHVzZWNvbmRzX3Q+KHJlbWFpbmluZ1RpbWUgKiAxMDAwMDAwLjApKTsKICNl
bmRpZgogICAgICAgICB9CiAgICAgfQpJbmRleDoga2h0bWwvaHRtbC9odG1sdG9rZW5pemVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0ga2h0bWwvaHRtbC9odG1sdG9rZW5pemVyLmgJKHJldmlzaW9uIDEyMzIy
KQorKysga2h0bWwvaHRtbC9odG1sdG9rZW5pemVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDEw
ICszMSwxMCBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkT2JqZWN0Q2xpZW50LmgiCiAjaW5jbHVkZSAi
U2VnbWVudGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiZG9tX3FuYW1lLmgiCiAjaW5jbHVkZSAieG1s
X3Rva2VuaXplci5oIgogI2luY2x1ZGUgPHFwdHJxdWV1ZS5oPgogI2luY2x1ZGUgPHFzdHJpbmcu
aD4KLSNpbmNsdWRlICJkb21fcW5hbWUuaCIKIAogI2lmIF9fT0JKQ19fCiAjZGVmaW5lIGlkIGlk
X0FWT0lEX0tFWVdPUkQKQEAgLTEzNyw3ICsxMzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBl
bmxhcmdlQnVmZmVyKGludCBsZW4pOwogICAgIHZvaWQgZW5sYXJnZVNjcmlwdEJ1ZmZlcihpbnQg
bGVuKTsKIAotICAgIGJvb2wgY29udGludWVQcm9jZXNzaW5nKGludCYgcHJvY2Vzc2VkQ291bnQs
IGNvbnN0IFFUaW1lJiBzdGFydFRpbWUsIFN0YXRlICZzdGF0ZSk7CisgICAgYm9vbCBjb250aW51
ZVByb2Nlc3NpbmcoaW50JiBwcm9jZXNzZWRDb3VudCwgZG91YmxlIHN0YXJ0VGltZSwgU3RhdGUg
JnN0YXRlKTsKICAgICB2b2lkIHRpbWVyRXZlbnQoUVRpbWVyRXZlbnQqKTsKICAgICB2b2lkIGFs
bERhdGFQcm9jZXNzZWQoKTsKIApJbmRleDoga2h0bWwvaHRtbC9odG1sdG9rZW5pemVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBraHRtbC9odG1sL2h0bWx0b2tlbml6ZXIuY3BwCShyZXZpc2lvbiAxMjMy
MikKKysrIGtodG1sL2h0bWwvaHRtbHRva2VuaXplci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDE2ICszNCwxNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5o
IgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkhUTUxFbGVtZW50SW1wbC5oIgor
I2luY2x1ZGUgIlN5c3RlbVRpbWUuaCIKICNpbmNsdWRlICJjc3NoZWxwZXIuaCIKICNpbmNsdWRl
ICJodG1sX2RvY3VtZW50aW1wbC5oIgotI2luY2x1ZGUgIkhUTUxFbGVtZW50SW1wbC5oIgorI2lu
Y2x1ZGUgImh0bWxuYW1lcy5oIgogI2luY2x1ZGUgImh0bWxwYXJzZXIuaCIKICNpbmNsdWRlICJr
anNfcHJveHkuaCIKICNpbmNsdWRlIDxhc3NlcnQuaD4KICNpbmNsdWRlIDxjdHlwZS5oPgogI2lu
Y2x1ZGUgPHF2YXJpYW50Lmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSAiaHRtbG5h
bWVzLmgiCiAKIC8vIHR1cm4gb2ZmIGlubGluaW5nIHRvIGFsbG93IHByb3BlciBsaW5raW5nIG9u
IG5ld2VyIGdjYyAoeG1sdG9rZW5pemVyLmNwcCBhbHNvIHVzZXMgZmluZEVudGl0eSgpKQogI3Vu
ZGVmIF9faW5saW5lCkBAIC01NSwxNiArNTYsMTYgQEAKIAogI2RlZmluZSBUT0tFTklaRVJfQ0hV
TktfU0laRSAgNDA5NgogCi0vLyBGSVhNRTogV2Ugd291bGQgbGlrZSB0aGlzIGNvbnN0YW50IHRv
IGJlIDIwMG1zLiAgWWllbGRpbmcgbW9yZSBhZ2dyZXNzaXZlbHkgcmVzdWx0cyBpbiBpbmNyZWFz
ZWQKLS8vIHJlc3BvbnNpdmVuZXNzIGFuZCBiZXR0ZXIgaW5jcmVtZW50YWwgcmVuZGVyaW5nLiAg
SXQgc2xvd3MgZG93biBvdmVyYWxsIHBhZ2UtbG9hZCBvbiBzbG93ZXIgbWFjaGluZXMsCi0vLyB0
aG91Z2gsIHNvIGZvciBub3cgd2Ugc2V0IGEgdmFsdWUgb2YgNTAwLgotI2RlZmluZSBUT0tFTkla
RVJfVElNRV9ERUxBWSAgNTAwCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKIHVzaW5nIG5hbWVzcGFjZSBFdmVudE5hbWVzOwogCisvLyBGSVhNRTog
V2Ugd291bGQgbGlrZSB0aGlzIGNvbnN0YW50IHRvIGJlIDIwMG1zLgorLy8gWWllbGRpbmcgbW9y
ZSBhZ2dyZXNzaXZlbHkgcmVzdWx0cyBpbiBpbmNyZWFzZWQgcmVzcG9uc2l2ZW5lc3MgYW5kIGJl
dHRlciBpbmNyZW1lbnRhbCByZW5kZXJpbmcuCisvLyBJdCBzbG93cyBkb3duIG92ZXJhbGwgcGFn
ZS1sb2FkIG9uIHNsb3dlciBtYWNoaW5lcywgdGhvdWdoLCBzbyBmb3Igbm93IHdlIHNldCBhIHZh
bHVlIG9mIDUwMC4KK2NvbnN0IGRvdWJsZSB0b2tlbml6ZXJUaW1lRGVsYXkgPSAwLjUwMDsKKwog
c3RhdGljIGNvbnN0IGNoYXIgY29tbWVudFN0YXJ0IFtdID0gIjwhLS0iOwogc3RhdGljIGNvbnN0
IGNoYXIgc2NyaXB0RW5kIFtdID0gIjwvc2NyaXB0IjsKIHN0YXRpYyBjb25zdCBjaGFyIHhtcEVu
ZCBbXSA9ICI8L3htcCI7CkBAIC0zNjMsNyArMzY0LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUg
SFRNTFRva2VuaXplcjo6c2NyaQogICAgIGlmICghc2NyaXB0U3JjLmlzRW1wdHkoKSAmJiBwYXJz
ZXItPmRvYygpLT5mcmFtZSgpKSB7CiAgICAgICAgIC8vIGZvcmdldCB3aGF0IHdlIGp1c3QgZ290
OyBsb2FkIGZyb20gc3JjIHVybCBpbnN0ZWFkCiAgICAgICAgIGlmICghcGFyc2VyLT5za2lwTW9k
ZSgpICYmICFmb2xsb3dpbmdGcmFtZXNldCkgewotI2lmZGVmIElOU1RSVU1FTlRfTEFZT1VUX1ND
SEVEVUxJTkcKKyNpZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCiAgICAgICAgICAgICBp
ZiAoIXBhcnNlci0+ZG9jKCktPm93bmVyRWxlbWVudCgpKQogICAgICAgICAgICAgICAgIHByaW50
ZigiUmVxdWVzdGluZyBzY3JpcHQgYXQgdGltZSAlZFxuIiwgcGFyc2VyLT5kb2MoKS0+ZWxhcHNl
ZFRpbWUoKSk7CiAjZW5kaWYKQEAgLTM5NiwxMSArMzk3LDExIEBAIEhUTUxUb2tlbml6ZXI6OlN0
YXRlIEhUTUxUb2tlbml6ZXI6OnNjcmkKICAgICBjdXJyZW50UHJlcGVuZGluZ1NyYyA9ICZwcmVw
ZW5kaW5nU3JjOwogICAgIGlmICghcGFyc2VyLT5za2lwTW9kZSgpICYmICFmb2xsb3dpbmdGcmFt
ZXNldCkgewogICAgICAgICBpZiAoY3MpIHsKLQkgICAgaWYgKHNhdmVkUHJlcGVuZGluZ1NyYykg
ewotCQlzYXZlZFByZXBlbmRpbmdTcmMtPmFwcGVuZChzcmMpOwotCSAgICB9IGVsc2UgewotCQlw
ZW5kaW5nU3JjLnByZXBlbmQoc3JjKTsKLQkgICAgfQorICAgICAgICAgICAgaWYgKHNhdmVkUHJl
cGVuZGluZ1NyYykgeworICAgICAgICAgICAgICAgIHNhdmVkUHJlcGVuZGluZ1NyYy0+YXBwZW5k
KHNyYyk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHBlbmRpbmdTcmMu
cHJlcGVuZChzcmMpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgc2V0U3JjKFNlZ21lbnRl
ZFN0cmluZygpKTsKICAgICAgICAgICAgIHNjcmlwdENvZGVTaXplID0gc2NyaXB0Q29kZVJlc3lu
YyA9IDA7CiAKQEAgLTQzMCwyNyArNDMxLDI3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxU
b2tlbml6ZXI6OnNjcmkKICAgICBzY3JpcHRDb2RlU2l6ZSA9IHNjcmlwdENvZGVSZXN5bmMgPSAw
OwogCiAgICAgaWYgKCFtX2V4ZWN1dGluZ1NjcmlwdCAmJiAhc3RhdGUubG9hZGluZ0V4dFNjcmlw
dCgpKSB7Ci0Jc3JjLmFwcGVuZChwZW5kaW5nU3JjKTsKLQlwZW5kaW5nU3JjLmNsZWFyKCk7Cisg
ICAgICAgIHNyYy5hcHBlbmQocGVuZGluZ1NyYyk7CisgICAgICAgIHBlbmRpbmdTcmMuY2xlYXIo
KTsKICAgICB9IGVsc2UgaWYgKCFwcmVwZW5kaW5nU3JjLmlzRW1wdHkoKSkgewotCS8vIHJlc3Rv
cmUgZmlyc3Qgc28gdGhhdCB0aGUgd3JpdGUgYXBwZW5kcyBpbiB0aGUgcmlnaHQgcGxhY2UKLQkv
LyAoZG9lcyBub3QgaHVydCB0byBkbyBpdCBhZ2FpbiBiZWxvdykKLQljdXJyZW50UHJlcGVuZGlu
Z1NyYyA9IHNhdmVkUHJlcGVuZGluZ1NyYzsKLQotCS8vIHdlIG5lZWQgdG8gZG8gdGhpcyBzbGln
aHRseSBtb2RpZmllZCBiaXQgb2Ygb25lIG9mIHRoZSB3cml0ZSgpIGNhc2VzCi0JLy8gYmVjYXVz
ZSB3ZSB3YW50IHRvIHByZXBlbmQgdG8gcGVuZGluZ1NyYyByYXRoZXIgdGhhbiBhcHBlbmRpbmcK
LQkvLyBpZiB0aGVyZSdzIG5vIHByZXZpb3VzIHByZXBlbmRpbmdTcmMKLQlpZiAoc3RhdGUubG9h
ZGluZ0V4dFNjcmlwdCgpKSB7Ci0JICAgIGlmIChjdXJyZW50UHJlcGVuZGluZ1NyYykgewotCQlj
dXJyZW50UHJlcGVuZGluZ1NyYy0+YXBwZW5kKHByZXBlbmRpbmdTcmMpOwotCSAgICB9IGVsc2Ug
ewotCQlwZW5kaW5nU3JjLnByZXBlbmQocHJlcGVuZGluZ1NyYyk7Ci0JICAgIH0KLQl9IGVsc2Ug
eworICAgICAgICAvLyByZXN0b3JlIGZpcnN0IHNvIHRoYXQgdGhlIHdyaXRlIGFwcGVuZHMgaW4g
dGhlIHJpZ2h0IHBsYWNlCisgICAgICAgIC8vIChkb2VzIG5vdCBodXJ0IHRvIGRvIGl0IGFnYWlu
IGJlbG93KQorICAgICAgICBjdXJyZW50UHJlcGVuZGluZ1NyYyA9IHNhdmVkUHJlcGVuZGluZ1Ny
YzsKKworICAgICAgICAvLyB3ZSBuZWVkIHRvIGRvIHRoaXMgc2xpZ2h0bHkgbW9kaWZpZWQgYml0
IG9mIG9uZSBvZiB0aGUgd3JpdGUoKSBjYXNlcworICAgICAgICAvLyBiZWNhdXNlIHdlIHdhbnQg
dG8gcHJlcGVuZCB0byBwZW5kaW5nU3JjIHJhdGhlciB0aGFuIGFwcGVuZGluZworICAgICAgICAv
LyBpZiB0aGVyZSdzIG5vIHByZXZpb3VzIHByZXBlbmRpbmdTcmMKKyAgICAgICAgaWYgKHN0YXRl
LmxvYWRpbmdFeHRTY3JpcHQoKSkgeworICAgICAgICAgICAgaWYgKGN1cnJlbnRQcmVwZW5kaW5n
U3JjKSB7CisgICAgICAgICAgICAgICAgY3VycmVudFByZXBlbmRpbmdTcmMtPmFwcGVuZChwcmVw
ZW5kaW5nU3JjKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcGVuZGlu
Z1NyYy5wcmVwZW5kKHByZXBlbmRpbmdTcmMpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgbV9zdGF0ZSA9IHN0YXRlOwotCSAgICB3cml0ZShwcmVwZW5kaW5n
U3JjLCBmYWxzZSk7CisgICAgICAgICAgICB3cml0ZShwcmVwZW5kaW5nU3JjLCBmYWxzZSk7CiAg
ICAgICAgICAgICBzdGF0ZSA9IG1fc3RhdGU7Ci0JfQorICAgICAgICB9CiAgICAgfQogCiAgICAg
Y3VycmVudFByZXBlbmRpbmdTcmMgPSBzYXZlZFByZXBlbmRpbmdTcmM7CkBAIC00NzYsNyArNDc3
LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6c2NyaQogICAgIFNlZ21l
bnRlZFN0cmluZyBwcmVwZW5kaW5nU3JjOwogICAgIGN1cnJlbnRQcmVwZW5kaW5nU3JjID0gJnBy
ZXBlbmRpbmdTcmM7CiAKLSNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCisjaWYg
SU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwogICAgIGlmICghcGFyc2VyLT5kb2MoKS0+b3du
ZXJFbGVtZW50KCkpCiAgICAgICAgIHByaW50ZigiYmVnaW5uaW5nIHNjcmlwdCBleGVjdXRpb24g
YXQgJWRcbiIsIHBhcnNlci0+ZG9jKCktPmVsYXBzZWRUaW1lKCkpOwogI2VuZGlmCkBAIC00ODcs
NyArNDg4LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6c2NyaQogCiAg
ICAgc3RhdGUuc2V0QWxsb3dZaWVsZCh0cnVlKTsKIAotI2lmZGVmIElOU1RSVU1FTlRfTEFZT1VU
X1NDSEVEVUxJTkcKKyNpZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCiAgICAgaWYgKCFw
YXJzZXItPmRvYygpLT5vd25lckVsZW1lbnQoKSkKICAgICAgICAgcHJpbnRmKCJlbmRpbmcgc2Ny
aXB0IGV4ZWN1dGlvbiBhdCAlZFxuIiwgcGFyc2VyLT5kb2MoKS0+ZWxhcHNlZFRpbWUoKSk7CiAj
ZW5kaWYKQEAgLTQ5NiwyNyArNDk3LDI3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tl
bml6ZXI6OnNjcmkKICAgICBzdGF0ZS5zZXRJblNjcmlwdChvbGRzY3JpcHQpOwogCiAgICAgaWYg
KCFtX2V4ZWN1dGluZ1NjcmlwdCAmJiAhc3RhdGUubG9hZGluZ0V4dFNjcmlwdCgpKSB7Ci0Jc3Jj
LmFwcGVuZChwZW5kaW5nU3JjKTsKLQlwZW5kaW5nU3JjLmNsZWFyKCk7CisgICAgICAgIHNyYy5h
cHBlbmQocGVuZGluZ1NyYyk7CisgICAgICAgIHBlbmRpbmdTcmMuY2xlYXIoKTsKICAgICB9IGVs
c2UgaWYgKCFwcmVwZW5kaW5nU3JjLmlzRW1wdHkoKSkgewotCS8vIHJlc3RvcmUgZmlyc3Qgc28g
dGhhdCB0aGUgd3JpdGUgYXBwZW5kcyBpbiB0aGUgcmlnaHQgcGxhY2UKLQkvLyAoZG9lcyBub3Qg
aHVydCB0byBkbyBpdCBhZ2FpbiBiZWxvdykKLQljdXJyZW50UHJlcGVuZGluZ1NyYyA9IHNhdmVk
UHJlcGVuZGluZ1NyYzsKLQotCS8vIHdlIG5lZWQgdG8gZG8gdGhpcyBzbGlnaHRseSBtb2RpZmll
ZCBiaXQgb2Ygb25lIG9mIHRoZSB3cml0ZSgpIGNhc2VzCi0JLy8gYmVjYXVzZSB3ZSB3YW50IHRv
IHByZXBlbmQgdG8gcGVuZGluZ1NyYyByYXRoZXIgdGhhbiBhcHBlbmRpbmcKLQkvLyBpZiB0aGVy
ZSdzIG5vIHByZXZpb3VzIHByZXBlbmRpbmdTcmMKLQlpZiAoc3RhdGUubG9hZGluZ0V4dFNjcmlw
dCgpKSB7Ci0JICAgIGlmIChjdXJyZW50UHJlcGVuZGluZ1NyYykgewotCQljdXJyZW50UHJlcGVu
ZGluZ1NyYy0+YXBwZW5kKHByZXBlbmRpbmdTcmMpOwotCSAgICB9IGVsc2UgewotCQlwZW5kaW5n
U3JjLnByZXBlbmQocHJlcGVuZGluZ1NyYyk7Ci0JICAgIH0KLQl9IGVsc2UgeworICAgICAgICAv
LyByZXN0b3JlIGZpcnN0IHNvIHRoYXQgdGhlIHdyaXRlIGFwcGVuZHMgaW4gdGhlIHJpZ2h0IHBs
YWNlCisgICAgICAgIC8vIChkb2VzIG5vdCBodXJ0IHRvIGRvIGl0IGFnYWluIGJlbG93KQorICAg
ICAgICBjdXJyZW50UHJlcGVuZGluZ1NyYyA9IHNhdmVkUHJlcGVuZGluZ1NyYzsKKworICAgICAg
ICAvLyB3ZSBuZWVkIHRvIGRvIHRoaXMgc2xpZ2h0bHkgbW9kaWZpZWQgYml0IG9mIG9uZSBvZiB0
aGUgd3JpdGUoKSBjYXNlcworICAgICAgICAvLyBiZWNhdXNlIHdlIHdhbnQgdG8gcHJlcGVuZCB0
byBwZW5kaW5nU3JjIHJhdGhlciB0aGFuIGFwcGVuZGluZworICAgICAgICAvLyBpZiB0aGVyZSdz
IG5vIHByZXZpb3VzIHByZXBlbmRpbmdTcmMKKyAgICAgICAgaWYgKHN0YXRlLmxvYWRpbmdFeHRT
Y3JpcHQoKSkgeworICAgICAgICAgICAgaWYgKGN1cnJlbnRQcmVwZW5kaW5nU3JjKSB7CisgICAg
ICAgICAgICAgICAgY3VycmVudFByZXBlbmRpbmdTcmMtPmFwcGVuZChwcmVwZW5kaW5nU3JjKTsK
KyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcGVuZGluZ1NyYy5wcmVwZW5k
KHByZXBlbmRpbmdTcmMpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgbV9zdGF0ZSA9IHN0YXRlOwotCSAgICB3cml0ZShwcmVwZW5kaW5nU3JjLCBmYWxzZSk7
CisgICAgICAgICAgICB3cml0ZShwcmVwZW5kaW5nU3JjLCBmYWxzZSk7CiAgICAgICAgICAgICBz
dGF0ZSA9IG1fc3RhdGU7Ci0JfQorICAgICAgICB9CiAgICAgfQogCiAgICAgY3VycmVudFByZXBl
bmRpbmdTcmMgPSBzYXZlZFByZXBlbmRpbmdTcmM7CkBAIC04NjUsNyArODY2LDcgQEAgSFRNTFRv
a2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFycwogICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIXNyYy5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
QnVmZmVyW2NCdWZmZXJQb3MrK10gPSBzcmMtPmNlbGwoKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLQkJICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcGFyc2VDb21tZW50KHNyYywgc3RhdGUpOwog
CiAgICAgICAgICAgICAgICAgICAgICAgICBtX2NCdWZmZXJQb3MgPSBjQnVmZmVyUG9zOwpAQCAt
MTE4Miw3ICsxMTgzLDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFy
cwogICAgICAgICAgICAgICAgIHNjcmlwdFNyYyA9IFFTdHJpbmc6Om51bGw7CiAgICAgICAgICAg
ICAgICAgc2NyaXB0U3JjQ2hhcnNldCA9IFFTdHJpbmc6Om51bGw7CiAgICAgICAgICAgICAgICAg
aWYgKCBjdXJyVG9rZW4uYXR0cnMgJiYgLyogcG90ZW50aWFsbHkgaGF2ZSBhIEFUVFJfU1JDID8g
Ki8KLQkJICAgICBwYXJzZXItPmRvYygpLT5mcmFtZSgpICYmCisgICAgICAgICAgICAgICAgICAg
ICBwYXJzZXItPmRvYygpLT5mcmFtZSgpICYmCiAgICAgICAgICAgICAgICAgICAgICBwYXJzZXIt
PmRvYygpLT5mcmFtZSgpLT5qU2NyaXB0RW5hYmxlZCgpICYmIC8qIGpzY3JpcHQgYWxsb3dlZCBh
dCBhbGw/ICovCiAgICAgICAgICAgICAgICAgICAgICB2aWV3IC8qIGFyZSB3ZSBhIHJlZ3VsYXIg
dG9rZW5pemVyIG9yIGp1c3QgZm9yIGlubmVySFRNTCA/ICovCiAgICAgICAgICAgICAgICAgICAg
ICkgewpAQCAtMTMwNSw3ICsxMzA2LDcgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2Vu
aXplcjo6cGFycwogICAgIHJldHVybiBzdGF0ZTsKIH0KIAotaW5saW5lIGJvb2wgSFRNTFRva2Vu
aXplcjo6Y29udGludWVQcm9jZXNzaW5nKGludCYgcHJvY2Vzc2VkQ291bnQsIGNvbnN0IFFUaW1l
JiBzdGFydFRpbWUsIFN0YXRlICZzdGF0ZSkKK2lubGluZSBib29sIEhUTUxUb2tlbml6ZXI6OmNv
bnRpbnVlUHJvY2Vzc2luZyhpbnQmIHByb2Nlc3NlZENvdW50LCBkb3VibGUgc3RhcnRUaW1lLCBT
dGF0ZSAmc3RhdGUpCiB7CiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBiZSBjaGVja2luZyBlbGFw
c2VkIHRpbWUgd2l0aCBldmVyeSBjaGFyYWN0ZXIsIHNvIHdlIG9ubHkgY2hlY2sgYWZ0ZXIgd2Un
dmUKICAgICAvLyBwcm9jZXNzZWQgYSBjZXJ0YWluIG51bWJlciBvZiBjaGFyYWN0ZXJzLgpAQCAt
MTMxMyw3ICsxMzE0LDcgQEAgaW5saW5lIGJvb2wgSFRNTFRva2VuaXplcjo6Y29udGludWVQcm9j
ZQogICAgIHN0YXRlLnNldEFsbG93WWllbGQoZmFsc2UpOwogICAgIGlmICghc3RhdGUubG9hZGlu
Z0V4dFNjcmlwdCgpICYmICFzdGF0ZS5mb3JjZVN5bmNocm9ub3VzKCkgJiYgIW1fZXhlY3V0aW5n
U2NyaXB0ICYmIChwcm9jZXNzZWRDb3VudCA+IFRPS0VOSVpFUl9DSFVOS19TSVpFIHx8IGFsbG93
ZWRZaWVsZCkpIHsKICAgICAgICAgcHJvY2Vzc2VkQ291bnQgPSAwOwotICAgICAgICBpZiAoc3Rh
cnRUaW1lLmVsYXBzZWQoKSA+IFRPS0VOSVpFUl9USU1FX0RFTEFZKSB7CisgICAgICAgIGlmIChj
dXJyZW50VGltZSgpIC0gc3RhcnRUaW1lID4gdG9rZW5pemVyVGltZURlbGF5KSB7CiAgICAgICAg
ICAgICAvKiBGSVhNRTogV2UnZCBsaWtlIHRvIHlpZWxkIGFnZ3Jlc3NpdmVseSB0byBnaXZlIHN0
eWxlc2hlZXRzIHRoZSBvcHBvcnR1bml0eSB0bwogICAgICAgICAgICAgICAgbG9hZCwgYnV0IHRo
aXMgaHVydHMgb3ZlcmFsbCBwZXJmb3JtYW5jZSBvbiBzbG93ZXIgbWFjaGluZXMuICBGb3Igbm93
IHR1cm4gdGhpcwogICAgICAgICAgICAgICAgb2ZmLgpAQCAtMTMyMiw5ICsxMzIzLDkgQEAgaW5s
aW5lIGJvb2wgSFRNTFRva2VuaXplcjo6Y29udGludWVQcm9jZQogICAgICAgICAgICAgLy8gU2No
ZWR1bGUgdGhlIHRpbWVyIHRvIGtlZXAgcHJvY2Vzc2luZyBhcyBzb29uIGFzIHBvc3NpYmxlLgog
ICAgICAgICAgICAgaWYgKCF0aW1lcklkKQogICAgICAgICAgICAgICAgIHRpbWVySWQgPSBzdGFy
dFRpbWVyKDApOwotI2lmZGVmIElOU1RSVU1FTlRfTEFZT1VUX1NDSEVEVUxJTkcKLSAgICAgICAg
ICAgIGlmIChzdGFydFRpbWUuZWxhcHNlZCgpID4gVE9LRU5JWkVSX1RJTUVfREVMQVkpCi0gICAg
ICAgICAgICAgICAgcHJpbnRmKCJEZWZlcnJpbmcgcHJvY2Vzc2luZyBvZiBkYXRhIGJlY2F1c2Ug
MjAwbXMgZWxhcHNlZCBhd2F5IGZyb20gZXZlbnQgbG9vcC5cbiIpOworI2lmIElOU1RSVU1FTlRf
TEFZT1VUX1NDSEVEVUxJTkcKKyAgICAgICAgICAgIGlmIChjdXJyZW50VGltZSgpIC0gc3RhcnRU
aW1lID4gdG9rZW5pemVyVGltZURlbGF5KQorICAgICAgICAgICAgICAgIHByaW50ZigiRGVmZXJy
aW5nIHByb2Nlc3Npbmcgb2YgZGF0YSBiZWNhdXNlIDUwMG1zIGVsYXBzZWQgYXdheSBmcm9tIGV2
ZW50IGxvb3AuXG4iKTsKICNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICB9CkBAIC0xMzQ4LDExICsxMzQ5LDExIEBAIGJvb2wgSFRNTFRva2VuaXplcjo6d3JpdGUoY29u
c3QgU2VnbWVudGUKIAogICAgIGlmICggKCBtX2V4ZWN1dGluZ1NjcmlwdCAmJiBhcHBlbmREYXRh
ICkgfHwgIXBlbmRpbmdTY3JpcHRzLmlzRW1wdHkoKSApIHsKICAgICAgICAgLy8gZG9uJ3QgcGFy
c2U7IHdlIHdpbGwgZG8gdGhpcyBsYXRlcgotCWlmIChjdXJyZW50UHJlcGVuZGluZ1NyYykgewot
CSAgICBjdXJyZW50UHJlcGVuZGluZ1NyYy0+YXBwZW5kKHN0cik7Ci0JfSBlbHNlIHsKLQkgICAg
cGVuZGluZ1NyYy5hcHBlbmQoc3RyKTsKLQl9CisgICAgICAgIGlmIChjdXJyZW50UHJlcGVuZGlu
Z1NyYykgeworICAgICAgICAgICAgY3VycmVudFByZXBlbmRpbmdTcmMtPmFwcGVuZChzdHIpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcGVuZGluZ1NyYy5hcHBlbmQoc3RyKTsKKyAg
ICAgICAgfQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC0xMzczLDE0ICsxMzc0
LDEzIEBAIGJvb2wgSFRNTFRva2VuaXplcjo6d3JpdGUoY29uc3QgU2VnbWVudGUKICAgICBib29s
IHdhc0luV3JpdGUgPSBpbldyaXRlOwogICAgIGluV3JpdGUgPSB0cnVlOwogICAgIAotI2lmZGVm
IElOU1RSVU1FTlRfTEFZT1VUX1NDSEVEVUxJTkcKKyNpZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hF
RFVMSU5HCiAgICAgaWYgKCFwYXJzZXItPmRvYygpLT5vd25lckVsZW1lbnQoKSkKICAgICAgICAg
cHJpbnRmKCJCZWdpbm5pbmcgd3JpdGUgYXQgdGltZSAlZFxuIiwgcGFyc2VyLT5kb2MoKS0+ZWxh
cHNlZFRpbWUoKSk7CiAjZW5kaWYKICAgICAKICAgICBpbnQgcHJvY2Vzc2VkQ291bnQgPSAwOwot
ICAgIFFUaW1lIHN0YXJ0VGltZTsKLSAgICBzdGFydFRpbWUuc3RhcnQoKTsKKyAgICBkb3VibGUg
c3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKIAogICAgIEZyYW1lICpmcmFtZSA9IHBhcnNlci0+
ZG9jKCktPmZyYW1lKCk7CiAKQEAgLTE0OTcsNyArMTQ5Nyw3IEBAIGJvb2wgSFRNTFRva2VuaXpl
cjo6d3JpdGUoY29uc3QgU2VnbWVudGUKICAgICAgICAgfQogICAgIH0KICAgICAKLSNpZmRlZiBJ
TlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCisjaWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NIRURV
TElORwogICAgIGlmICghcGFyc2VyLT5kb2MoKS0+b3duZXJFbGVtZW50KCkpCiAgICAgICAgIHBy
aW50ZigiRW5kaW5nIHdyaXRlIGF0IHRpbWUgJWRcbiIsIHBhcnNlci0+ZG9jKCktPmVsYXBzZWRU
aW1lKCkpOwogI2VuZGlmCkBAIC0xNTM5LDcgKzE1MzksNyBAQCB2b2lkIEhUTUxUb2tlbml6ZXI6
OnRpbWVyRXZlbnQoUVRpbWVyRXZlCiAgICAgICAgIGtpbGxUaW1lcih0aW1lcklkKTsKICAgICAg
ICAgdGltZXJJZCA9IDA7CiAKLSNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCisj
aWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwogICAgICAgICBpZiAoIXBhcnNlci0+ZG9j
KCktPm93bmVyRWxlbWVudCgpKQogICAgICAgICAgICAgcHJpbnRmKCJCZWdpbm5pbmcgdGltZXIg
d3JpdGUgYXQgdGltZSAlZFxuIiwgcGFyc2VyLT5kb2MoKS0+ZWxhcHNlZFRpbWUoKSk7CiAjZW5k
aWYKQEAgLTE3MjQsNyArMTcyNCw3IEBAIHZvaWQgSFRNTFRva2VuaXplcjo6ZW5sYXJnZVNjcmlw
dEJ1ZmZlcigKIAogdm9pZCBIVE1MVG9rZW5pemVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRPYmpl
Y3QgKi8qZmluaXNoZWRPYmoqLykKIHsKLSNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVM
SU5HCisjaWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwogICAgIGlmICghcGFyc2VyLT5k
b2MoKS0+b3duZXJFbGVtZW50KCkpCiAgICAgICAgIHByaW50Zigic2NyaXB0IGxvYWRlZCBhdCAl
ZFxuIiwgcGFyc2VyLT5kb2MoKS0+ZWxhcHNlZFRpbWUoKSk7CiAjZW5kaWYKQEAgLTE3NTIsMTIg
KzE3NTIsMTIgQEAgdm9pZCBIVE1MVG9rZW5pemVyOjpub3RpZnlGaW5pc2hlZChDYWNoZQogICAg
ICAgICBSZWZQdHI8Tm9kZUltcGw+IG4gPSBzY3JpcHROb2RlOwogICAgICAgICBzY3JpcHROb2Rl
ID0gMDsKIAotI2lmZGVmIElOU1RSVU1FTlRfTEFZT1VUX1NDSEVEVUxJTkcKKyNpZiBJTlNUUlVN
RU5UX0xBWU9VVF9TQ0hFRFVMSU5HCiAgICAgICAgIGlmICghcGFyc2VyLT5kb2MoKS0+b3duZXJF
bGVtZW50KCkpCiAgICAgICAgICAgICBwcmludGYoImV4dGVybmFsIHNjcmlwdCBiZWdpbm5pbmcg
ZXhlY3V0aW9uIGF0ICVkXG4iLCBwYXJzZXItPmRvYygpLT5lbGFwc2VkVGltZSgpKTsKICNlbmRp
ZgogCi0JaWYgKGVycm9yT2NjdXJyZWQpCisgICAgICAgIGlmIChlcnJvck9jY3VycmVkKQogICAg
ICAgICAgICAgbi0+ZGlzcGF0Y2hIVE1MRXZlbnQoZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKTsK
ICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBtX3N0YXRlID0gc2NyaXB0RXhlY3V0aW9uKHNj
cmlwdFNvdXJjZS5xc3RyaW5nKCksIG1fc3RhdGUsIGNhY2hlZFNjcmlwdFVybCk7CkBAIC0xNzY5
LDcgKzE3NjksNyBAQCB2b2lkIEhUTUxUb2tlbml6ZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlCiAg
ICAgICAgIGZpbmlzaGVkID0gcGVuZGluZ1NjcmlwdHMuaXNFbXB0eSgpOwogICAgICAgICBpZiAo
ZmluaXNoZWQpIHsKICAgICAgICAgICAgIG1fc3RhdGUuc2V0TG9hZGluZ0V4dFNjcmlwdChmYWxz
ZSk7Ci0jaWZkZWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORworI2lmIElOU1RSVU1FTlRf
TEFZT1VUX1NDSEVEVUxJTkcKICAgICAgICAgICAgIGlmICghcGFyc2VyLT5kb2MoKS0+b3duZXJF
bGVtZW50KCkpCiAgICAgICAgICAgICAgICAgcHJpbnRmKCJleHRlcm5hbCBzY3JpcHQgZmluaXNo
ZWQgZXhlY3V0aW9uIGF0ICVkXG4iLCBwYXJzZXItPmRvYygpLT5lbGFwc2VkVGltZSgpKTsKICNl
bmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjoga2h0bWwvaHRtbC9odG1sdG9rZW5pemVyLmNwcApf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk5hbWU6IGFsbG93LXRhYnMKICAgLSB4CgpJbmRleDogcGxhdGZvcm0vU3lzdGVt
VGltZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL1N5c3RlbVRpbWUuaAkocmV2aXNpb24gMCkK
KysrIHBsYXRmb3JtL1N5c3RlbVRpbWUuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNZU1RFTV9USU1FX0gKKyNkZWZpbmUgU1lTVEVN
X1RJTUVfSAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgICAvLyBSZXR1cm4gdGhlIGN1cnJl
bnQgc3lzdGVtIHRpbWUgaW4gc2Vjb25kcywgdXNpbmcgdGhlIGNsYXNzaWMgUE9TSVggZXBvY2gg
b2YgSmFudWFyeSAxLCAxOTcwLgorICAgIC8vIExpa2UgdGltZSgwKSBmcm9tIDx0aW1lLmg+LCBl
eGNlcHQgd2l0aCBhIHdpZGVyIHJhbmdlIG9mIHZhbHVlcyBhbmQgaGlnaGVyIHByZWNpc2lvbi4K
KyAgICBkb3VibGUgY3VycmVudFRpbWUoKTsKKworfQorCisjZW5kaWYKClByb3BlcnR5IGNoYW5n
ZXMgb246IHBsYXRmb3JtL1N5c3RlbVRpbWUuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjplb2wtc3R5
bGUKICAgKyBuYXRpdmUKCkluZGV4OiBwbGF0Zm9ybS93aW4vU3lzdGVtVGltZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gcGxhdGZvcm0vd2luL1N5c3RlbVRpbWUuY3BwCShyZXZpc2lvbiAwKQorKysgcGxh
dGZvcm0vd2luL1N5c3RlbVRpbWUuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTeXN0ZW1U
aW1lLmgiCisKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
ZG91YmxlIGN1cnJlbnRUaW1lKCkKK3sKKyAgICBGSUxFVElNRSBmdDsKKyAgICBHZXRTeXN0ZW1U
aW1lQXNGaWxlVGltZSgmZnQpOworCisgICAgLy8gQXMgcGVyIFdpbmRvd3MgZG9jdW1lbnRhdGlv
biBmb3IgRklMRVRJTUUsIGNvcHkgdGhlIHJlc3VsdGluZyBGSUxFVElNRSBzdHJ1Y3R1cmUgdG8g
YQorICAgIC8vIFVMQVJHRV9JTlRFR0VSIHN0cnVjdHVyZSB1c2luZyBtZW1jcHkgKHVzaW5nIG1l
bWNweSBpbnN0ZWFkIG9mIGRpcmVjdCBhc3NpZ25tZW50IGNhbgorICAgIC8vIHByZXZlbnQgYWxp
Z25tZW50IGZhdWx0cyBvbiA2NC1iaXQgV2luZG93cykuCisKKyAgICBVTEFSR0VfSU5URUdFUiB0
OworICAgIG1lbWNweSgmdCwgJmZ0LCBzaXplb2YodCkpOworCisgICAgLy8gV2luZG93cyBmaWxl
IHRpbWVzIGFyZSBpbiAxMDBzIG9mIG5hbm9zZWNvbmRzLgorICAgIC8vIFRvIGNvbnZlcnQgdG8g
c2Vjb25kcywgd2UgaGF2ZSB0byBkaXZpZGUgYnkgMTAsMDAwLDAwMCwgd2hpY2ggaXMgbW9yZSBx
dWlja2x5CisgICAgLy8gZG9uZSBieSBtdWx0aXBseWluZyBieSAwLjAwMDAwMDEuCisgICAgCisg
ICAgLy8gQmV0d2VlbiBKYW51YXJ5IDEsIDE2MDEgYW5kIEphbnVhcnkgMSwgMTk3MCwgdGhlcmUg
d2VyZSAzNjkgY29tcGxldGUgeWVhcnMsCisgICAgLy8gb2Ygd2hpY2ggODkgd2VyZSBsZWFwIHll
YXJzICgxNzAwLCAxODAwLCBhbmQgMTkwMCB3ZXJlIG5vdCBsZWFwIHllYXJzKS4KKyAgICAvLyBU
aGF0IGlzIGEgdG90YWwgb2YgMTM0Nzc0IGRheXMsIHdoaWNoIGlzIDExNjQ0NDczNjAwIHNlY29u
ZHMuCisKKyAgICByZXR1cm4gdC5RdWFkUGFydCAqIDAuMDAwMDAwMSArIDExNjQ0NDczNjAwLjA7
Cit9CisKK30KClByb3BlcnR5IGNoYW5nZXMgb246IHBsYXRmb3JtL3dpbi9TeXN0ZW1UaW1lLmNw
cApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBwbGF0
Zm9ybS9tYWMvU3lzdGVtVGltZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxhdGZvcm0vbWFjL1N5c3Rl
bVRpbWUuY3BwCShyZXZpc2lvbiAwKQorKysgcGxhdGZvcm0vbWFjL1N5c3RlbVRpbWUuY3BwCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFw
cGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJTeXN0ZW1UaW1lLmgiCisKKyNpbmNsdWRlIDxDb3JlRm91
bmRhdGlvbi9DRkRhdGUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitkb3VibGUgY3VycmVu
dFRpbWUoKQoreworICAgIHJldHVybiBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIGtDRkFi
c29sdXRlVGltZUludGVydmFsU2luY2UxOTcwOworfQorCit9CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBwbGF0Zm9ybS9tYWMvU3lzdGVtVGltZS5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZW9sLXN0
eWxlCiAgICsgbmF0aXZlCgpJbmRleDogY29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY29uZmlnLmgJ
KHJldmlzaW9uIDEyMzIyKQorKysgY29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3
LDEwIEBACiAjZGVmaW5lIEtTVkcgV2ViQ29yZQogI2RlZmluZSBraHRtbCBXZWJDb3JlCiAKKyNp
ZiBfX0FQUExFX18KKyNkZWZpbmUgSEFWRV9GVU5DX1VTTEVFUCAxCisjZW5kaWYKKwogI2lmIFdJ
TjMyCiAKIC8vIEhhY2sgdG8gbWF0Y2ggY29uZmlndXJhdGlvbiBvZiBKYXZhU2NyaXB0Q29yZS4K
SW5kZXg6IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDEyMzIyKQorKysgV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5
NCw4IEBACiAJCTkzN0EzNkE3MDk3RTJFMzIwMEU0RUUyRiAvKiBVc2VyQWdlbnRTdHlsZVNoZWV0
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzdB
MzZBNjA5N0UyRTMyMDBFNEVFMkYgLyogVXNlckFnZW50U3R5bGVTaGVldHMuY3BwICovOyB9Owog
CQk5Mzk4ODVDMzA4QjdFM0QxMDBFNzA3QzQgLyogRXZlbnROYW1lcy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Mzk4ODVDMTA4QjdFM0QxMDBFNzA3
QzQgLyogRXZlbnROYW1lcy5jcHAgKi87IH07CiAJCTkzOTg4NUM0MDhCN0UzRDEwMEU3MDdDNCAv
KiBFdmVudE5hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5Mzk4ODVDMjA4QjdFM0QxMDBFNzA3QzQgLyogRXZlbnROYW1lcy5oICovOyB9OworCQk5
M0U2MkQ5QTA5ODVGNDE2MDBFMUI1RTMgLyogU3lzdGVtVGltZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0U2MkQ5ODA5ODVGNDE2MDBFMUI1RTMg
LyogU3lzdGVtVGltZS5jcHAgKi87IH07CisJCTkzRTYyRDlCMDk4NUY0MTYwMEUxQjVFMyAvKiBT
eXN0ZW1UaW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0U2MkQ5OTA5ODVGNDE2MDBFMUI1RTMgLyogU3lzdGVtVGltZS5oICovOyB9OwogCQk5M0Yx
OThCNDA4MjQ1RTU5MDAxRTlBQkMgLyogZG9tMl9ldmVudHMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MjNEMTlEMDJERTQzMjIwMTg2MzVDQSAvKiBk
b20yX2V2ZW50cy5oICovOyB9OwogCQk5M0YxOThCNTA4MjQ1RTU5MDAxRTlBQkMgLyogZG9tMl9y
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjUy
M0QxOUYwMkRFNDMyMjAxODYzNUNBIC8qIGRvbTJfcmFuZ2UuaCAqLzsgfTsKIAkJOTNGMTk4QjYw
ODI0NUU1OTAwMUU5QUJDIC8qIGRvbTJfdHJhdmVyc2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTIzRDFBMTAyREU0MzIyMDE4NjM1Q0EgLyogZG9t
Ml90cmF2ZXJzYWwuaCAqLzsgfTsKQEAgLTE0NSw3ICsxNDcsNiBAQAogCQk5M0YxOTkyRDA4MjQ1
RTU5MDAxRTlBQkMgLyogS1dRQ29sb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY1ODc4NjgxMDJERTNCODYwMUVBNDEyMiAvKiBLV1FDb2xvci5oICov
OyB9OwogCQk5M0YxOTkyRTA4MjQ1RTU5MDAxRTlBQkMgLyogS1dRQ29tYm9Cb3guaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1ODc4NjgyMDJERTNCODYw
MUVBNDEyMiAvKiBLV1FDb21ib0JveC5oICovOyB9OwogCQk5M0YxOTkyRjA4MjQ1RTU5MDAxRTlB
QkMgLyogS1dRQ3Vyc29yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNTg3ODY4NDAyREUzQjg2MDFFQTQxMjIgLyogS1dRQ3Vyc29yLmggKi87IH07Ci0J
CTkzRjE5OTMyMDgyNDVFNTkwMDFFOUFCQyAvKiBLV1FEYXRlVGltZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjU4Nzg2ODUwMkRFM0I4NjAxRUE0MTIy
IC8qIEtXUURhdGVUaW1lLmggKi87IH07CiAJCTkzRjE5OTMzMDgyNDVFNTkwMDFFOUFCQyAvKiBL
V1FEZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1
ODc4NERBMDJERTM3NTkwMUVBNDEyMiAvKiBLV1FEZWYuaCAqLzsgfTsKIAkJOTNGMTk5MzcwODI0
NUU1OTAwMUU5QUJDIC8qIEtXUUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNTg3ODY4ODAyREUzQjg2MDFFQTQxMjIgLyogS1dRRXZlbnQuaCAq
LzsgfTsKIAkJOTNGMTk5MzkwODI0NUU1OTAwMUU5QUJDIC8qIEtXUUZpbGVCdXR0b24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQ0NGN0Q0MDMzQkQ0
M0MwMDg2MzVDRSAvKiBLV1FGaWxlQnV0dG9uLmggKi87IH07CkBAIC0yOTEsNyArMjkyLDYgQEAK
IAkJOTNGMTlBMTcwODI0NUU1OTAwMUU5QUJDIC8qIEtXUUNvbWJvQm94Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjU4Nzg0RDIwMkRFMzc1OTAxRUE0
MTIyIC8qIEtXUUNvbWJvQm94Lm1tICovOyB9OwogCQk5M0YxOUExODA4MjQ1RTU5MDAxRTlBQkMg
LyogS1dRQ1N0cmluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNTg3ODRENTAyREUzNzU5MDFFQTQxMjIgLyogS1dRQ1N0cmluZy5jcHAgKi87IH07
CiAJCTkzRjE5QTE5MDgyNDVFNTkwMDFFOUFCQyAvKiBLV1FDdXJzb3IubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTg3ODRENjAyREUzNzU5MDFFQTQx
MjIgLyogS1dRQ3Vyc29yLm1tICovOyB9OwotCQk5M0YxOUExQTA4MjQ1RTU5MDAxRTlBQkMgLyog
S1dRRGF0ZVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjU4Nzg0RDcwMkRFMzc1OTAxRUE0MTIyIC8qIEtXUURhdGVUaW1lLmNwcCAqLzsgfTsK
IAkJOTNGMTlBMUMwODI0NUU1OTAwMUU5QUJDIC8qIEtXUUV2ZW50Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjU4Nzg0REUwMkRFMzc1OTAxRUE0MTIy
IC8qIEtXUUV2ZW50Lm1tICovOyB9OwogCQk5M0YxOUExRTA4MjQ1RTU5MDAxRTlBQkMgLyogS1dR
Rm9udC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1
ODc4NEUwMDJERTM3NTkwMUVBNDEyMiAvKiBLV1FGb250Lm1tICovOyB9OwogCQk5M0YxOUExRjA4
MjQ1RTU5MDAxRTlBQkMgLyogS1dRRm9udE1ldHJpY3MubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTg3ODRFMjAyREUzNzU5MDFFQTQxMjIgLyogS1dR
Rm9udE1ldHJpY3MubW0gKi87IH07CkBAIC0xMjQxLDYgKzEyNDEsOCBAQAogCQk5M0NDRjdENDAz
M0JENDNDMDA4NjM1Q0UgLyogS1dRRmlsZUJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBLV1FGaWxlQnV0dG9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQk5M0NDRjdENTAz
M0JENDNDMDA4NjM1Q0UgLyogS1dRRmlsZUJ1dHRvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEtXUUZpbGVCdXR0b24ubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQk5
M0QxRkVGNjA2N0VCRjg5MDA5Q0U2OEEgLyogS1dRRm91bmRhdGlvbkV4dHJhcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtXUUZvdW5kYXRpb25F
eHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9
IDA7IH07CisJCTkzRTYyRDk4MDk4NUY0MTYwMEUxQjVFMyAvKiBTeXN0ZW1UaW1lLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFN5c3RlbVRpbWUuY3BwOyBwYXRoID0g
cGxhdGZvcm0vbWFjL1N5c3RlbVRpbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5M0U2MkQ5OTA5ODVGNDE2MDBFMUI1RTMgLyogU3lzdGVtVGltZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBTeXN0ZW1UaW1lLmg7IHBhdGggPSBwbGF0Zm9ybS9TeXN0ZW1U
aW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzRUNEQjdFMDNBQkU2NUIwMDg2
MzVDRSAvKiBLV1FDb2xvckRhdGEuZ3BlcmYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBLV1FDb2xvckRhdGEuZ3BlcmY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRh
YldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQk5M0YxOUIxOTA4MjQ1RTU5MDAxRTlBQkMg
LyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54bWw7IHBhdGggPSBJbmZvLnBsaXN0OyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJOTNG
MTlCMUEwODI0NUU1QTAwMUU5QUJDIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5j
bHVkZUluSW5kZXggPSAwOyBwYXRoID0gV2ViQ29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC0yMTE4LDcgKzIxMjAsNiBAQAogCQlGNTg3ODREMjAy
REUzNzU5MDFFQTQxMjIgLyogS1dRQ29tYm9Cb3gubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBLV1FDb21ib0JveC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUY1ODc4
NEQ1MDJERTM3NTkwMUVBNDEyMiAvKiBLV1FDU3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEtXUUNTdHJpbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJRjU4
Nzg0RDYwMkRFMzc1OTAxRUE0MTIyIC8qIEtXUUN1cnNvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEtXUUN1cnNvci5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07Ci0JCUY1
ODc4NEQ3MDJERTM3NTkwMUVBNDEyMiAvKiBLV1FEYXRlVGltZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBLV1FEYXRlVGltZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9Owog
CQlGNTg3ODREQTAyREUzNzU5MDFFQTQxMjIgLyogS1dRRGVmLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtXUURlZi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJRjU4Nzg0REUwMkRF
Mzc1OTAxRUE0MTIyIC8qIEtXUUV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gS1dRRXZlbnQubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNTg3ODRFMDAyREUz
NzU5MDFFQTQxMjIgLyogS1dRRm9udC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEtXUUZvbnQubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwpAQCAtMjIwOSw3ICsyMjEwLDYg
QEAKIAkJRjU4Nzg2ODIwMkRFM0I4NjAxRUE0MTIyIC8qIEtXUUNvbWJvQm94LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtXUUNvbWJvQm94Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9Owog
CQlGNTg3ODY4MzAyREUzQjg2MDFFQTQxMjIgLyogS1dRQ1N0cmluZy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBLV1FDU3RyaW5nLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNTg3
ODY4NDAyREUzQjg2MDFFQTQxMjIgLyogS1dRQ3Vyc29yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtXUUN1cnNvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKLQkJRjU4Nzg2ODUwMkRF
M0I4NjAxRUE0MTIyIC8qIEtXUURhdGVUaW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtXUURhdGVUaW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNTg3ODY4ODAyREUzQjg2
MDFFQTQxMjIgLyogS1dRRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gS1dRRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUY1ODc4NjhBMDJERTNCODYwMUVBNDEyMiAv
KiBLV1FGb250LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEtXUUZvbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1
c2VzVGFicyA9IDA7IH07CiAJCUY1ODc4NjhEMDJERTNCODYwMUVBNDEyMiAvKiBLV1FGb250TWV0
cmljcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBLV1FGb250TWV0cmljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IHVzZXNUYWJzID0gMDsgfTsKQEAgLTMxNjAsNiArMzE2MCw4IEBACiAJCQkJQkNGMUE1RUUwOTc4
Mzk2MDAwNjFBMTIzIC8qIEludFNpemUuY3BwICovLAogCQkJCUJDRjFBNUVGMDk3ODM5NjAwMDYx
QTEyMyAvKiBJbnRTaXplLmggKi8sCiAJCQkJQkNGQjJFODMwOTc5RkQ0RjAwQkE3MDNEIC8qIFNo
YXJlZC5oICovLAorCQkJCTkzRTYyRDk4MDk4NUY0MTYwMEUxQjVFMyAvKiBTeXN0ZW1UaW1lLmNw
cCAqLywKKwkJCQk5M0U2MkQ5OTA5ODVGNDE2MDBFMUI1RTMgLyogU3lzdGVtVGltZS5oICovLAog
CQkJKTsKIAkJCW5hbWUgPSBwbGF0Zm9ybTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBA
IC0zNzcxLDggKzM3NzMsNiBAQAogCQkJCUY1ODc4NEQ1MDJERTM3NTkwMUVBNDEyMiAvKiBLV1FD
U3RyaW5nLmNwcCAqLywKIAkJCQlGNTg3ODY4NDAyREUzQjg2MDFFQTQxMjIgLyogS1dRQ3Vyc29y
LmggKi8sCiAJCQkJRjU4Nzg0RDYwMkRFMzc1OTAxRUE0MTIyIC8qIEtXUUN1cnNvci5tbSAqLywK
LQkJCQlGNTg3ODY4NTAyREUzQjg2MDFFQTQxMjIgLyogS1dRRGF0ZVRpbWUuaCAqLywKLQkJCQlG
NTg3ODRENzAyREUzNzU5MDFFQTQxMjIgLyogS1dRRGF0ZVRpbWUuY3BwICovLAogCQkJCUY1ODc4
Njg4MDJERTNCODYwMUVBNDEyMiAvKiBLV1FFdmVudC5oICovLAogCQkJCUY1ODc4NERFMDJERTM3
NTkwMUVBNDEyMiAvKiBLV1FFdmVudC5tbSAqLywKIAkJCQlGNTg3ODY4QTAyREUzQjg2MDFFQTQx
MjIgLyogS1dRRm9udC5oICovLApAQCAtMzkxMiw3ICszOTEyLDYgQEAKIAkJCQk5M0YxOTkyRDA4
MjQ1RTU5MDAxRTlBQkMgLyogS1dRQ29sb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OTJF
MDgyNDVFNTkwMDFFOUFCQyAvKiBLV1FDb21ib0JveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNG
MTk5MkYwODI0NUU1OTAwMUU5QUJDIC8qIEtXUUN1cnNvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
OTNGMTk5MzIwODI0NUU1OTAwMUU5QUJDIC8qIEtXUURhdGVUaW1lLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5M0YxOTkzMzA4MjQ1RTU5MDAxRTlBQkMgLyogS1dRRGVmLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5M0YxOTkzNzA4MjQ1RTU5MDAxRTlBQkMgLyogS1dRRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzRjE5OTM5MDgyNDVFNTkwMDFFOUFCQyAvKiBLV1FGaWxlQnV0dG9uLmggaW4gSGVh
ZGVycyAqLywKQEAgLTQzODcsNiArNDM4Niw3IEBACiAJCQkJRTFGMDQyNDcwOTgzOTM4OTAwNjY5
NEVBIC8qIHhtbGh0dHByZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOERGNUY0QTA5ODQ0
OEM4MDA1Mjk4MUIgLyogSlNTVkdMYXp5RXZlbnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThERjVGQTMwOTg0NjBBQTAwNTI5ODFCIC8qIFNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJOTNFNjJEOUIwOTg1RjQxNjAwRTFCNUUzIC8qIFN5c3RlbVRpbWUu
aCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpAQCAtNTAyMiw3ICs1MDIyLDYgQEAKIAkJCQk5M0YxOUExNzA4MjQ1
RTU5MDAxRTlBQkMgLyogS1dRQ29tYm9Cb3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUEx
ODA4MjQ1RTU5MDAxRTlBQkMgLyogS1dRQ1N0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
M0YxOUExOTA4MjQ1RTU5MDAxRTlBQkMgLyogS1dRQ3Vyc29yLm1tIGluIFNvdXJjZXMgKi8sCi0J
CQkJOTNGMTlBMUEwODI0NUU1OTAwMUU5QUJDIC8qIEtXUURhdGVUaW1lLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzRjE5QTFDMDgyNDVFNTkwMDFFOUFCQyAvKiBLV1FFdmVudC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzRjE5QTFFMDgyNDVFNTkwMDFFOUFCQyAvKiBLV1FGb250Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTNGMTlBMUYwODI0NUU1OTAwMUU5QUJDIC8qIEtXUUZvbnRNZXRyaWNz
Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC01NDg4LDYgKzU0ODcsNyBAQAogCQkJCUUxRjA0MjQ2MDk4
MzkzODkwMDY2OTRFQSAvKiB4bWxodHRwcmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
OERGNUY0OTA5ODQ0OEM3MDA1Mjk4MUIgLyogSlNTVkdMYXp5RXZlbnRMaXN0ZW5lci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOERGNUZBNDA5ODQ2MEFBMDA1Mjk4MUIgLyogU1ZHRG9jdW1lbnRF
eHRlbnNpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTkzRTYyRDlBMDk4NUY0MTYwMEUxQjVF
MyAvKiBTeXN0ZW1UaW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIENoYW5nZUxvZwkocmV2aXNpb24gMTIzMjcpCisrKyBDaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw1OCBAQAorMjAwNi0wMS0yMyAgRGFyaW4gQWRsZXIgIDxkYXJp
bkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgLSBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTY3
NTAKKyAgICAgICAgICByZXBsYWNlIFFEYXRlVGltZSB3aXRoIGEgc2ltcGxlciBwbGF0Zm9ybSBh
YnN0cmFjdGlvbgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvcWRhdGV0aW1lLmg6IFJl
bW92ZWQuCisgICAgICAgICoga3dxL0tXUURhdGVUaW1lLmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBrd3EvS1dRRGF0ZVRpbWUuaDogUmVtb3ZlZC4KKworICAgICAgICAqIHBsYXRmb3JtL1N5c3Rl
bVRpbWUuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1N5c3RlbVRpbWUuY3BwOiAo
V2ViQ29yZTo6Y3VycmVudFRpbWUpOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW46IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9TeXN0ZW1UaW1lLmNwcDogKFdlYkNvcmU6OmN1
cnJlbnRUaW1lKTogQWRkZWQuCisKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qOiBBZGRlZCBuZXcgZmlsZXMsIHJlbW92ZWQgb2xkLgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisKKyAgICAgICAgKiBjc3Mv
Y3NzX2Jhc2UuaDogUmVtb3ZlZCBpbmNsdWRlIG9mIDxxZGF0ZXRpbWUuaD4uCisgICAgICAgICog
Y3NzL2Nzc3N0eWxlc2VsZWN0b3IuY3BwOiBEaXR0by4KKworICAgICAgICAqIGtodG1sL2h0bWwv
aHRtbHRva2VuaXplci5oOgorICAgICAgICAqIGtodG1sL2h0bWwvaHRtbHRva2VuaXplci5jcHA6
IENvbnZlcnQgdGFicyB0byBzcGFjZXMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVy
Ojpjb250aW51ZVByb2Nlc3NpbmcpOiBDaGFuZ2UgcGFyYW1ldGVyIGZyb20gUVRpbWUgdG8gZG91
YmxlLgorICAgICAgICBVc2UgY3VycmVudFRpbWUoKSBpbnN0ZWFkIG9mIFFUaW1lOjplbGFwc2Vk
KCkuCisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjp3cml0ZSk6IFVzZSBjdXJyZW50
VGltZSgpIGluc3RlYWQgb2YgUVRpbWU6OmVsYXBzZWQoKS4KKworICAgICAgICAqIGNvbmZpZy5o
OiBBZGRlZCBIQVZFX0ZVTkNfVVNMRUVQIGZvciBub3csIG5vdCBzdXJlIHRoaXMgaXMgcmVhbGx5
IGEKKyAgICAgICAgZ29vZCB3YXkgdG8gaGFuZGxlIHRoaXMuCisgICAgICAgICoga2h0bWwveG1s
L0NvbnRhaW5lck5vZGVJbXBsLmNwcDogKFdlYkNvcmU6OkNvbnRhaW5lck5vZGVJbXBsOjpzZXRB
Y3RpdmUpOgorICAgICAgICBVc2UgY3VycmVudFRpbWUoKSBpbnN0ZWFkIG9mIFFUaW1lOjplbGFw
c2VkKCkuIFVzZSBIQVZFX0ZVTkNfVVNMRUVQIGZvciB0aGUgaWYuCisKKyAgICAgICAgKiBraHRt
bC94bWwvRG9jdW1lbnRJbXBsLmg6CisgICAgICAgICoga2h0bWwveG1sL0RvY3VtZW50SW1wbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudEltcGw6OkRvY3VtZW50SW1wbCk6IFVzZSBj
dXJyZW50VGltZSgpIGluc3RlYWQgb2YgUVRpbWU6OmVsYXBzZWQoKS4KKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50SW1wbDo6aW1wbGljaXRDbG9zZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRJbXBsOjptaW5pbXVtTGF5b3V0RGVsYXkpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50SW1wbDo6ZWxhcHNlZFRpbWUpOiBEaXR0by4KKworICAgICAgICAqIGto
dG1sL3htbC9kb20yX2V2ZW50c2ltcGwuY3BwOiAoV2ViQ29yZTo6RXZlbnRJbXBsOjpFdmVudElt
cGwpOiBVc2UgY3VycmVudFRpbWUoKQorICAgICAgICBpbnN0ZWFkIG9mIGxvY2FsIGZ1bmN0aW9u
IGNhbGxlZCBjdXJyZW50VGltZVN0YW1wKCkuCisKKyAgICAgICAgKiBraHRtbC94bWwveG1sX3Rv
a2VuaXplci5oOiBSZW1vdmVkIGRlY2xhcmF0aW9uIG9mIGNsYXNzIFFUaW1lLgorCisgICAgICAg
ICoga3N2ZzIvbWlzYy9LU1ZHVGltZVNjaGVkdWxlci5oOgorICAgICAgICAqIGtzdmcyL21pc2Mv
S1NWR1RpbWVTY2hlZHVsZXIuY3BwOgorICAgICAgICAoS1NWRzo6VGltZVNjaGVkdWxlcjo6VGlt
ZVNjaGVkdWxlcik6IFVzZSBjdXJyZW50VGltZSBpbnN0ZWFkIG9mIFFUaW1lOjplbGFwc2VkLgor
ICAgICAgICAoS1NWRzo6VGltZVNjaGVkdWxlcjo6c3RhcnRBbmltYXRpb25zKTogRGl0dG8uCisg
ICAgICAgIChLU1ZHOjpUaW1lU2NoZWR1bGVyOjp0b2dnbGVBbmltYXRpb25zKTogRGl0dG8uCisg
ICAgICAgIChLU1ZHOjpUaW1lU2NoZWR1bGVyOjplbGFwc2VkKTogRGl0dG8uCisKKyAgICAgICAg
KiBwYWdlL0ZyYW1lLmNwcDogKEZyYW1lOjpjbGVhcik6IFJlbW92ZWQgdW51c2VkIG1fcGFyc2V0
aW1lLgorICAgICAgICAqIHBhZ2UvRnJhbWVQcml2YXRlLmg6IERpdHRvLgorCiAyMDA2LTAxLTIz
IE1pdHogUGV0dGVsICA8b3BlbmRhcndpbi5vcmdAbWl0enBldHRlbC5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4uCkluZGV4OiBjc3MvY3Nzc3R5bGVzZWxlY3Rvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gY3NzL2Nzc3N0eWxlc2VsZWN0b3IuY3BwCShyZXZpc2lvbiAxMjMyMikKKysrIGNz
cy9jc3NzdHlsZXNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNiBAQAog
I2luY2x1ZGUgPGFzc2VydC5oPgogI2luY2x1ZGUgPGt1cmwuaD4KICNpbmNsdWRlIDxreG1sY29y
ZS9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8cWRhdGV0aW1lLmg+CiAjaW5jbHVkZSA8cXBhaW50ZGV2
aWNlbWV0cmljcy5oPgogI2luY2x1ZGUgPHFzdHJpbmcuaD4KICNpbmNsdWRlIDxxdmFsdWVsaXN0
Lmg+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBjc3MvY3Nzc3R5bGVzZWxlY3Rvci5jcHAKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpOYW1lOiBhbGxvdy10YWJzCiAgIC0geAoKSW5kZXg6IGNzcy9jc3NfYmFzZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIGNzcy9jc3NfYmFzZS5oCShyZXZpc2lvbiAxMjMyMikKKysrIGNzcy9jc3NfYmFz
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiZG9tL2RvbV9z
dHJpbmcuaCIKICNpbmNsdWRlICJkb21fcW5hbWUuaCIKICNpbmNsdWRlICJTaGFyZWQuaCIKLSNp
bmNsdWRlIDxxZGF0ZXRpbWUuaD4KICNpbmNsdWRlIDxxcHRybGlzdC5oPgogCiBuYW1lc3BhY2Ug
RE9NIHsKSW5kZXg6IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24g
MTIzMjIpCisrKyBXZWJDb3JlLnZjcHJvai9XZWJDb3JlL1dlYkNvcmUudmNwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0xOTksMTAgKzE5OSw2IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGt3cVxLV1FEYXRlVGltZS5oIg0KLQkJCQk+DQot
CQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ca3dxXEtXUURl
Zi5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTE4ODAsNiArMTg3NiwxNCBAQAogCQkJCVJl
bGF0aXZlUGF0aD0iLi5cLi5ccGxhdGZvcm1cU2hhcmVkLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxwbGF0Zm9ybVxTeXN0ZW1UaW1l
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlxwbGF0Zm9ybVx3aW5cU3lzdGVtVGltZS5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQog
CQk8L0ZpbHRlcj4NCiAJCTxGaWx0ZXINCiAJCQlOYW1lPSJjc3MiDQpJbmRleDoga3N2ZzIvbWlz
Yy9LU1ZHVGltZVNjaGVkdWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvbWlzYy9LU1ZHVGlt
ZVNjaGVkdWxlci5jcHAJKHJldmlzaW9uIDEyMzIyKQorKysga3N2ZzIvbWlzYy9LU1ZHVGltZVNj
aGVkdWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3IEBACiAvKgogICAgIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4K
ICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAg
ICBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KIAogICAgIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAogCkBAIC0zNCw2ICszNSw3IEBACiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50SW1wbC5oIgogI2luY2x1
ZGUgIlNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50SW1wbC5oIgorI2luY2x1ZGUgIlN5c3Rl
bVRpbWUuaCIKIAogbmFtZXNwYWNlIEtTVkcgewogCkBAIC0zNjksNyArMzcxLDcgQEAgVGltZVNj
aGVkdWxlcjo6VGltZVNjaGVkdWxlcihLRE9NOjpEb2N1bQogICAgIG1faW50ZXJ2YWxUaW1lciA9
IG5ldyBTVkdUaW1lcih0aGlzLCBzdGF0aWNUaW1lckludGVydmFsLCBmYWxzZSk7CiAKICAgICBt
X3NhdmVkVGltZSA9IDA7Ci0gICAgbV9jcmVhdGlvblRpbWUgPSBRVGltZTo6Y3VycmVudFRpbWUo
KTsKKyAgICBtX2NyZWF0aW9uVGltZSA9IGN1cnJlbnRUaW1lKCk7CiB9CiAKIFRpbWVTY2hlZHVs
ZXI6On5UaW1lU2NoZWR1bGVyKCkKQEAgLTQwNSw3ICs0MDcsNyBAQCB2b2lkIFRpbWVTY2hlZHVs
ZXI6OmRpc2Nvbm5lY3RJbnRlcnZhbFRpCiAKIHZvaWQgVGltZVNjaGVkdWxlcjo6c3RhcnRBbmlt
YXRpb25zKCkKIHsKLSAgICBtX2NyZWF0aW9uVGltZS5zdGFydCgpOworICAgIG1fY3JlYXRpb25U
aW1lID0gY3VycmVudFRpbWUoKTsKIAogICAgIFNWR1RpbWVyTGlzdDo6aXRlcmF0b3IgaXQgPSBt
X3RpbWVyTGlzdC5iZWdpbigpOwogICAgIFNWR1RpbWVyTGlzdDo6aXRlcmF0b3IgZW5kID0gbV90
aW1lckxpc3QuZW5kKCk7CkBAIC00MjAsMTYgKzQyMiwxNCBAQCB2b2lkIFRpbWVTY2hlZHVsZXI6
OnN0YXJ0QW5pbWF0aW9ucygpCiAKIHZvaWQgVGltZVNjaGVkdWxlcjo6dG9nZ2xlQW5pbWF0aW9u
cygpCiB7Ci0gICAgaWYobV9pbnRlcnZhbFRpbWVyLT5pc0FjdGl2ZSgpKQotICAgIHsKKyAgICBp
ZiAobV9pbnRlcnZhbFRpbWVyLT5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIG1faW50ZXJ2YWxUaW1l
ci0+c3RvcCgpOwotICAgICAgICBtX3NhdmVkVGltZSA9IG1fY3JlYXRpb25UaW1lLmVsYXBzZWQo
KTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgaWYobV9zYXZlZFRpbWUgIT0gMCkK
LSAgICAgICAgICAgIG1fY3JlYXRpb25UaW1lID0gbV9jcmVhdGlvblRpbWUuYWRkTVNlY3MobV9j
cmVhdGlvblRpbWUuZWxhcHNlZCgpIC0gbV9zYXZlZFRpbWUpOwotCisgICAgICAgIG1fc2F2ZWRU
aW1lID0gY3VycmVudFRpbWUoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAobV9zYXZlZFRp
bWUgIT0gMCkgeworICAgICAgICAgICAgbV9jcmVhdGlvblRpbWUgKz0gY3VycmVudFRpbWUoKSAt
IG1fc2F2ZWRUaW1lOworICAgICAgICAgICAgbV9zYXZlZFRpbWUgPSAwOworICAgICAgICB9CiAg
ICAgICAgIG1faW50ZXJ2YWxUaW1lci0+c3RhcnQodGhpcywgU0xPVChzbG90VGltZXJOb3RpZnko
KSkpOwogICAgIH0KIH0KQEAgLTQ4MiwxMyArNDgyLDEyIEBAIHZvaWQgVGltZVNjaGVkdWxlcjo6
c2xvdFRpbWVyTm90aWZ5KCkKICAgICAgICAgbV9pbnRlcnZhbFRpbWVyLT5zdGFydCh0aGlzLCBT
TE9UKHNsb3RUaW1lck5vdGlmeSgpKSk7CiB9CiAKLWZsb2F0IFRpbWVTY2hlZHVsZXI6OmVsYXBz
ZWQoKSBjb25zdAorZG91YmxlIFRpbWVTY2hlZHVsZXI6OmVsYXBzZWQoKSBjb25zdAogewotICAg
IHJldHVybiBmbG9hdChtX2NyZWF0aW9uVGltZS5lbGFwc2VkKCkpIC8gMTAwMC4wOworICAgIHJl
dHVybiBjdXJyZW50VGltZSgpIC0gbV9jcmVhdGlvblRpbWU7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
OwogCiAvLyB2aW06dHM9NDpub2V0CiAjZW5kaWYgLy8gU1ZHX1NVUFBPUlQKLQpJbmRleDoga3N2
ZzIvbWlzYy9LU1ZHVGltZVNjaGVkdWxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL21pc2MvS1NW
R1RpbWVTY2hlZHVsZXIuaAkocmV2aXNpb24gMTIzMjIpCisrKyBrc3ZnMi9taXNjL0tTVkdUaW1l
U2NoZWR1bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUg
PHF0aW1lci5oPgogI2luY2x1ZGUgPHFvYmplY3QuaD4KLSNpbmNsdWRlIDxxZGF0ZXRpbWUuaD4K
ICNpbmNsdWRlIDxxM3ZhbHVlbGlzdC5oPgogCiAjaW5jbHVkZSAiU1ZHQW5pbWF0aW9uRWxlbWVu
dEltcGwuaCIKQEAgLTk5LDcgKzk4LDcgQEAgbmFtZXNwYWNlIEtTVkcKICAgICAgICAgYm9vbCBh
bmltYXRpb25zUGF1c2VkKCkgY29uc3Q7CiAKICAgICAgICAgLy8gdGltZSBlbGFwc2VkIGluIHNl
Y29uZHMgYWZ0ZXIgY3JlYXRpb24gb2YgdGhpcyBvYmplY3QKLSAgICAgICAgZmxvYXQgZWxhcHNl
ZCgpIGNvbnN0OworICAgICAgICBkb3VibGUgZWxhcHNlZCgpIGNvbnN0OwogCiAgICAgICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgc3RhdGljVGltZXJJbnRlcnZhbDsKIApAQCAtMTExLDgg
KzExMCw4IEBAIG5hbWVzcGFjZSBLU1ZHCiAgICAgICAgIEtET006OkRvY3VtZW50SW1wbCAqZG9j
dW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50OyB9CiAKICAgICBwcml2YXRlOgotICAg
ICAgICBpbnQgbV9zYXZlZFRpbWU7Ci0gICAgICAgIFFUaW1lIG1fY3JlYXRpb25UaW1lOworICAg
ICAgICBkb3VibGUgbV9jcmVhdGlvblRpbWU7CisgICAgICAgIGRvdWJsZSBtX3NhdmVkVGltZTsK
ICAgICAgICAgCiAgICAgICAgIFNWR1RpbWVyTGlzdCBtX3RpbWVyTGlzdDsKICAgICAgICAgCklu
ZGV4OiBGb3J3YXJkaW5nSGVhZGVycy9xZGF0ZXRpbWUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBGb3J3YXJk
aW5nSGVhZGVycy9xZGF0ZXRpbWUuaAkocmV2aXNpb24gMTIzMjIpCisrKyBGb3J3YXJkaW5nSGVh
ZGVycy9xZGF0ZXRpbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi0jaW5jbHVkZSAi
S1dRRGF0ZVRpbWUuaCIKSW5kZXg6IGt3cS9LV1FEYXRlVGltZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGt3
cS9LV1FEYXRlVGltZS5oCShyZXZpc2lvbiAxMjMyMikKKysrIGt3cS9LV1FEYXRlVGltZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDg1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMg
QXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5k
ZWYgUURBVEVUSU1FX0hfCi0jZGVmaW5lIFFEQVRFVElNRV9IXwotCi0jaW5jbHVkZSAiS1dRRGVm
LmgiCi0jaWYgX19BUFBMRV9fCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZEYXRlLmg+Ci0j
ZWxzZQotdHlwZWRlZiBkb3VibGUgQ0ZBYnNvbHV0ZVRpbWU7Ci1pbmxpbmUgQ0ZBYnNvbHV0ZVRp
bWUgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgeyByZXR1cm4gMDsgfSAvLyBGSVhNRTogVGVt
cG9yYXJ5IHVudGlsIHdlIHBvcnQgdGhpcyBjbGFzcy4KLSNlbmRpZgotCi1jbGFzcyBRVGltZSB7
Ci1wdWJsaWM6Ci0gICAgUVRpbWUoKSA6IHRpbWVJblNlY29uZHMoMCkgeyB9Ci0gICAgZXhwbGlj
aXQgUVRpbWUoQ0ZBYnNvbHV0ZVRpbWUgdCkgOiB0aW1lSW5TZWNvbmRzKHQpIHsgfQotICAgIFFU
aW1lKGludCBob3VycywgaW50IG1pbnV0ZXMpOwotCi0gICAgaW50IG1zZWMoKSBjb25zdDsKLSAg
ICBRVGltZSBhZGRNU2VjcyhpbnQgbXNlY3MpIGNvbnN0OwotICAgIAotICAgIHZvaWQgc3RhcnQo
KSB7IHRpbWVJblNlY29uZHMgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsgfQotICAgIGlu
dCBlbGFwc2VkKCkgY29uc3Q7Ci0gICAgaW50IHJlc3RhcnQoKTsKLSAgICAKLSAgICBzdGF0aWMg
UVRpbWUgY3VycmVudFRpbWUoKSB7IHJldHVybiBRVGltZShDRkFic29sdXRlVGltZUdldEN1cnJl
bnQoKSk7IH0KLSAgICAKLXByaXZhdGU6Ci0gICAgQ0ZBYnNvbHV0ZVRpbWUgdGltZUluU2Vjb25k
czsgCi0gICAgCi0gICAgZnJpZW5kIGNsYXNzIFFEYXRlVGltZTsKLX07Ci0KLWNsYXNzIFFEYXRl
IHsKLXB1YmxpYzoKLSAgICBRRGF0ZShpbnQgeWVhciwgaW50IG1vbnRoLCBpbnQgZGF5KTsKLSAg
ICAgICAgCi1wcml2YXRlOgotICAgIGludCB5ZWFyOwotICAgIGludCBtb250aDsKLSAgICBpbnQg
ZGF5OwotICAgIAotICAgIGZyaWVuZCBjbGFzcyBRRGF0ZVRpbWU7Ci19OwotCi1jbGFzcyBRRGF0
ZVRpbWUgewotcHVibGljOgotICAgIFFEYXRlVGltZSgpIDogZGF0ZUluU2Vjb25kcygwKSB7IH0K
LSAgICBleHBsaWNpdCBRRGF0ZVRpbWUoQ0ZBYnNvbHV0ZVRpbWUgZCkgOiBkYXRlSW5TZWNvbmRz
KGQpIHsgfQotICAgIFFEYXRlVGltZShjb25zdCBRRGF0ZSAmLCBjb25zdCBRVGltZSAmKTsKLSAg
ICAKLSAgICBRVGltZSB0aW1lKCkgY29uc3QgeyByZXR1cm4gUVRpbWUoZGF0ZUluU2Vjb25kcyk7
IH0KLSAgICBpbnQgc2Vjc1RvKGNvbnN0IFFEYXRlVGltZSAmKSBjb25zdDsKLSAgICAKLSAgICBz
dGF0aWMgUURhdGVUaW1lIGN1cnJlbnREYXRlVGltZSgpIHsgcmV0dXJuIFFEYXRlVGltZShDRkFi
c29sdXRlVGltZUdldEN1cnJlbnQoKSk7IH0KLQotcHJpdmF0ZToKLSAgICBDRkFic29sdXRlVGlt
ZSBkYXRlSW5TZWNvbmRzOwotfTsKLQotI2VuZGlmCkluZGV4OiBrd3EvS1dRRGF0ZVRpbWUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGt3cS9LV1FEYXRlVGltZS5jcHAJKHJldmlzaW9uIDEyMzIyKQorKysg
a3dxL0tXUURhdGVUaW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw5MiArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDAzIEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiS1dRRGF0ZVRp
bWUuaCIKLQotI2luY2x1ZGUgPHRpbWUuaD4KLQotc3RhdGljIENGVGltZVpvbmVSZWYgc3lzdGVt
VGltZVpvbmUoKQotewotICAgIHN0YXRpYyBDRlRpbWVab25lUmVmIHpvbmUgPSBDRlRpbWVab25l
Q29weVN5c3RlbSgpOwotICAgIHJldHVybiB6b25lOwotfQotCi1RVGltZTo6UVRpbWUoaW50IGhv
dXJzLCBpbnQgbWludXRlcykKLXsKLSAgICBDRkdyZWdvcmlhbkRhdGUgZGF0ZTsKLSAgICBkYXRl
LnllYXIgPSAyMDAxOwotICAgIGRhdGUubW9udGggPSAxOwotICAgIGRhdGUuZGF5ID0gMTsKLSAg
ICBkYXRlLmhvdXIgPSBob3VyczsKLSAgICBkYXRlLm1pbnV0ZSA9IG1pbnV0ZXM7Ci0gICAgZGF0
ZS5zZWNvbmQgPSAwOwotICAgIHRpbWVJblNlY29uZHMgPSBDRkdyZWdvcmlhbkRhdGVHZXRBYnNv
bHV0ZVRpbWUoZGF0ZSwgc3lzdGVtVGltZVpvbmUoKSk7Ci19Ci0KLWludCBRVGltZTo6bXNlYygp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIChpbnQpKHRpbWVJblNlY29uZHMgKiAxMDAwKSAlIDEwMDA7
Ci19Ci0KLVFUaW1lIFFUaW1lOjphZGRNU2VjcyhpbnQgbXNlY3MpIGNvbnN0Ci17Ci0gICAgUVRp
bWUgbmV3VGltZSgqdGhpcyk7Ci0gICAgbmV3VGltZS50aW1lSW5TZWNvbmRzICs9IG1zZWNzICog
MC4wMDE7Ci0gICAgcmV0dXJuIG5ld1RpbWU7Ci19Ci0KLWludCBRVGltZTo6ZWxhcHNlZCgpIGNv
bnN0Ci17Ci0gICAgQ0ZUaW1lSW50ZXJ2YWwgZWxhcHNlZCA9IENGQWJzb2x1dGVUaW1lR2V0Q3Vy
cmVudCgpIC0gdGltZUluU2Vjb25kczsKLSAgICByZXR1cm4gKGludCkoZWxhcHNlZCAqIDEwMDAp
OwotfQotCi1pbnQgUVRpbWU6OnJlc3RhcnQoKQotewotICAgIENGQWJzb2x1dGVUaW1lIGN1cnJl
bnRUaW1lID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7Ci0gICAgQ0ZUaW1lSW50ZXJ2YWwg
ZWxhcHNlZCA9IGN1cnJlbnRUaW1lIC0gdGltZUluU2Vjb25kczsgICAgCi0gICAgdGltZUluU2Vj
b25kcyA9IGN1cnJlbnRUaW1lOwotICAgIHJldHVybiAoaW50KShlbGFwc2VkICogMTAwMCk7Ci19
Ci0KLVFEYXRlOjpRRGF0ZShpbnQgeSwgaW50IG0sIGludCBkKQotICAgIDogeWVhcih5KSwgbW9u
dGgobSksIGRheShkKQotewotfQotCi1RRGF0ZVRpbWU6OlFEYXRlVGltZShjb25zdCBRRGF0ZSAm
ZCwgY29uc3QgUVRpbWUgJnQpCi17Ci0gICAgQ0ZHcmVnb3JpYW5EYXRlIGRhdGVXaXRoVGltZSA9
IENGQWJzb2x1dGVUaW1lR2V0R3JlZ29yaWFuRGF0ZSh0LnRpbWVJblNlY29uZHMsIHN5c3RlbVRp
bWVab25lKCkpOwotICAgIGRhdGVXaXRoVGltZS55ZWFyID0gZC55ZWFyOwotICAgIGRhdGVXaXRo
VGltZS5tb250aCA9IGQubW9udGg7Ci0gICAgZGF0ZVdpdGhUaW1lLmRheSA9IGQuZGF5OwotICAg
IGRhdGVJblNlY29uZHMgPSBDRkdyZWdvcmlhbkRhdGVHZXRBYnNvbHV0ZVRpbWUoZGF0ZVdpdGhU
aW1lLCBzeXN0ZW1UaW1lWm9uZSgpKTsKLX0KLQotaW50IFFEYXRlVGltZTo6c2Vjc1RvKGNvbnN0
IFFEYXRlVGltZSAmYikgY29uc3QKLXsKLSAgICByZXR1cm4gKGludCkoYi5kYXRlSW5TZWNvbmRz
IC0gZGF0ZUluU2Vjb25kcyk7Ci19CkluZGV4OiBwYWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBwYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gMTIzMjIpCisrKyBwYWdlL0ZyYW1lLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzQsMTEgKzM0LDEzIEBACiAjaW5jbHVkZSAiRE9NSW1wbGVtZW50YXRp
b25JbXBsLmgiCiAjaW5jbHVkZSAiRG9jTG9hZGVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAi
Tm9kZUxpc3RJbXBsLmgiCisjaW5jbHVkZSAiSFRNTENvbGxlY3Rpb25JbXBsLmgiCiAjaW5jbHVk
ZSAiSFRNTEZvcm1FbGVtZW50SW1wbC5oIgogI2luY2x1ZGUgIkhUTUxHZW5lcmljRm9ybUVsZW1l
bnRJbXBsLmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJOb2RlTGlzdEltcGwuaCIK
KyNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKICNpbmNs
dWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJhcHBseV9zdHlsZV9jb21tYW5kLmgi
CkBAIC01MiwxOCArNTQsMTYgQEAKICNpbmNsdWRlICJkb21fc3RyaW5nLmgiCiAjaW5jbHVkZSAi
aHRtbF9iYXNlaW1wbC5oIgogI2luY2x1ZGUgImh0bWxfZG9jdW1lbnRpbXBsLmgiCi0jaW5jbHVk
ZSAiaHRtbG5hbWVzLmgiCiAjaW5jbHVkZSAiaHRtbF9pbWFnZWltcGwuaCIKLSNpbmNsdWRlICJI
VE1MQ29sbGVjdGlvbkltcGwuaCIKICNpbmNsdWRlICJodG1sX29iamVjdGltcGwuaCIKICNpbmNs
dWRlICJodG1sZWRpdGluZy5oIgorI2luY2x1ZGUgImh0bWxuYW1lcy5oIgogI2luY2x1ZGUgImto
dG1sX2V2ZW50cy5oIgogI2luY2x1ZGUgImtodG1sX3NldHRpbmdzLmgiCiAjaW5jbHVkZSAia2pz
X3Byb3h5LmgiCiAjaW5jbHVkZSAia2pzX3dpbmRvdy5oIgogI2luY2x1ZGUgImxvYWRlci5oIgog
I2luY2x1ZGUgIm1hcmt1cC5oIgotI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAi
cmVuZGVyX2NhbnZhcy5oIgogI2luY2x1ZGUgInJlbmRlcl9mcmFtZXMuaCIKICNpbmNsdWRlICJ0
eXBpbmdfY29tbWFuZC5oIgpAQCAtNjMyLDkgKzYzMiw2IEBAIHZvaWQgRnJhbWU6OmNsZWFyKCkK
IAogICBpZiAoICFkLT5tX2hhdmVFbmNvZGluZyApCiAgICAgZC0+bV9lbmNvZGluZyA9IFFTdHJp
bmc6Om51bGw7Ci0jaWZkZWYgU1BFRURfREVCVUcKLSAgZC0+bV9wYXJzZXRpbWUucmVzdGFydCgp
OwotI2VuZGlmCiB9CiAKIGJvb2wgRnJhbWU6Om9wZW5GaWxlKCkKClByb3BlcnR5IGNoYW5nZXMg
b246IHBhZ2UvRnJhbWUuY3BwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOmtleXdvcmRzCiAgIC0gQXV0
aG9yIERhdGUgSWQgUmV2aXNpb24KCkluZGV4OiBwYWdlL0ZyYW1lUHJpdmF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIHBhZ2UvRnJhbWVQcml2YXRlLmgJKHJldmlzaW9uIDEyMzIyKQorKysgcGFnZS9GcmFt
ZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgImVk
aXRfY29tbWFuZC5oIgogI2luY2x1ZGUgImtqc19wcm94eS5oIgogI2luY2x1ZGUgPGtpby9nbG9i
YWwuaD4KLSNpbmNsdWRlIDxxZGF0ZXRpbWUuaD4KICNpbmNsdWRlIDxxdGltZXIuaD4KICNpbmNs
dWRlICJGcmFtZVRyZWVOb2RlLmgiCiAKQEAgLTIyOSw3ICsyMjgsNiBAQCBwdWJsaWM6CiAKICAg
S0lPOjpDYWNoZUNvbnRyb2wgbV9jYWNoZVBvbGljeTsKICAgUVRpbWVyIG1fcmVkaXJlY3Rpb25U
aW1lcjsKLSAgUVRpbWUgbV9wYXJzZXRpbWU7CiAKICAgUmVkaXJlY3Rpb25TY2hlZHVsZWQgbV9z
Y2hlZHVsZWRSZWRpcmVjdGlvbjsKICAgZG91YmxlIG1fZGVsYXlSZWRpcmVjdDsK
</data>
<flag name="review"
          id="1380"
          type_id="1"
          status="+"
          setter="sullivan"
    />
          </attachment>
      

    </bug>

</bugzilla>