<?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>142798</bug_id>
          
          <creation_ts>2015-03-17 15:45:53 -0700</creation_ts>
          <short_desc>Refactor execution time limit tests out of testapi.c</short_desc>
          <delta_ts>2015-03-21 10:40:52 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1077997</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-17 15:45:53 -0700</bug_when>
    <thetext>These tests were sometimes failing to time out on C loop builds.  Let&apos;s refactor them out of the big monolith that is testapi.c so that we can reason more easily about them and make adjustments if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078002</commentid>
    <comment_count>1</comment_count>
      <attachid>248878</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-17 15:50:31 -0700</bug_when>
    <thetext>Created attachment 248878
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078010</commentid>
    <comment_count>2</comment_count>
      <attachid>248878</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-03-17 16:03:43 -0700</bug_when>
    <thetext>Comment on attachment 248878
the patch.

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078011</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-17 16:07:49 -0700</bug_when>
    <thetext>Thanks.  Landed in r181670: &lt;http://trac.webkit.org/r181670&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079079</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-03-21 10:25:50 -0700</bug_when>
    <thetext>Should the new file be added to JavaScriptCore.vcproj for Windows as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079081</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-03-21 10:40:52 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Should the new file be added to JavaScriptCore.vcproj for Windows as well?

Id ally there should be a Windows implementation of this, but as it stands these are Darwin-only so there&apos;s not much point in touching the VS project ere.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248878</attachid>
            <date>2015-03-17 15:50:31 -0700</date>
            <delta_ts>2015-03-17 16:03:43 -0700</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-142798.patch</filename>
            <type>text/plain</type>
            <size>33789</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgxNjY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDE1LTAzLTE3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBleGVjdXRpb24gdGltZSBsaW1pdCB0ZXN0cyBvdXQgb2YgdGVzdGFwaS5jLgorICAg
ICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQyNzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIHRlc3RzIHdlcmUgc29tZXRpbWVzIGZh
aWxpbmcgdG8gdGltZSBvdXQgb24gQyBsb29wIGJ1aWxkcy4gIExldCdzCisgICAgICAgIHJlZmFj
dG9yIHRoZW0gb3V0IG9mIHRoZSBiaWcgbW9ub2xpdGggdGhhdCBpcyB0ZXN0YXBpLmMgc28gdGhh
dCB3ZSBjYW4KKyAgICAgICAgcmVhc29uIG1vcmUgZWFzaWx5IGFib3V0IHRoZW0gYW5kIG1ha2Ug
YWRqdXN0bWVudHMgaWYgbmVlZGVkLgorCisgICAgICAgICogQVBJL3Rlc3RzL0V4ZWN1dGlvblRp
bWVMaW1pdFRlc3QuY3BwOiBBZGRlZC4KKyAgICAgICAgKGN1cnJlbnRDUFVUaW1lKToKKyAgICAg
ICAgKGN1cnJlbnRDUFVUaW1lQXNKU0Z1bmN0aW9uQ2FsbGJhY2spOgorICAgICAgICAoc2hvdWxk
VGVybWluYXRlQ2FsbGJhY2spOgorICAgICAgICAoY2FuY2VsVGVybWluYXRlQ2FsbGJhY2spOgor
ICAgICAgICAoZXh0ZW5kVGVybWluYXRlQ2FsbGJhY2spOgorICAgICAgICAodGVzdEV4ZWN1dGlv
blRpbWVMaW1pdCk6CisgICAgICAgICogQVBJL3Rlc3RzL0V4ZWN1dGlvblRpbWVMaW1pdFRlc3Qu
aDogQWRkZWQuCisgICAgICAgICogQVBJL3Rlc3RzL3Rlc3RhcGkuYzoKKyAgICAgICAgKG1haW4p
OgorICAgICAgICAoY3VycmVudENQVVRpbWUpOiBEZWxldGVkLgorICAgICAgICAoY3VycmVudENQ
VVRpbWVfY2FsbEFzRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoc2hvdWxkVGVybWluYXRl
Q2FsbGJhY2spOiBEZWxldGVkLgorICAgICAgICAoY2FuY2VsVGVybWluYXRlQ2FsbGJhY2spOiBE
ZWxldGVkLgorICAgICAgICAoZXh0ZW5kVGVybWluYXRlQ2FsbGJhY2spOiBEZWxldGVkLgorICAg
ICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTUt
MDMtMTcgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWls
dC1pbiBmdW5jdGlvbnMgc2hvdWxkIGtub3cgdGhhdCB0aGV5IHVzZSBzdHJpY3QgbW9kZQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0V4ZWN1
dGlvblRpbWVMaW1pdFRlc3QuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS90ZXN0cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJFeGVjdXRpb25UaW1lTGltaXRUZXN0LmgiCisKKyNpZiBPUyhEQVJXSU4pCisKKyNpbmNs
dWRlICJKYXZhU2NyaXB0Q29yZS5oIgorCisjaW5jbHVkZSA8bWFjaC9tYWNoLmg+CisjaW5jbHVk
ZSA8bWFjaC9tYWNoX3RpbWUuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN5cy90
aW1lLmg+CisKK3N0YXRpYyBKU0dsb2JhbENvbnRleHRSZWYqIGN1cnJlbnRDb250ZXh0Rm9yQXNz
ZXJ0aW9uID0gbnVsbHB0cjsKKworc3RhdGljIGRvdWJsZSBjdXJyZW50Q1BVVGltZSgpCit7Cisg
ICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCBpbmZvQ291bnQgPSBUSFJFQURfQkFTSUNfSU5GT19D
T1VOVDsKKyAgICB0aHJlYWRfYmFzaWNfaW5mb19kYXRhX3QgaW5mbzsKKyAgICAKKyAgICAvKiBH
ZXQgdGhyZWFkIGluZm9ybWF0aW9uICovCisgICAgbWFjaF9wb3J0X3QgdGhyZWFkUG9ydCA9IG1h
Y2hfdGhyZWFkX3NlbGYoKTsKKyAgICB0aHJlYWRfaW5mbyh0aHJlYWRQb3J0LCBUSFJFQURfQkFT
SUNfSU5GTywgKHRocmVhZF9pbmZvX3QpKCZpbmZvKSwgJmluZm9Db3VudCk7CisgICAgbWFjaF9w
b3J0X2RlYWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwgdGhyZWFkUG9ydCk7CisgICAgCisgICAg
ZG91YmxlIHRpbWUgPSBpbmZvLnVzZXJfdGltZS5zZWNvbmRzICsgaW5mby51c2VyX3RpbWUubWlj
cm9zZWNvbmRzIC8gMTAwMDAwMC47CisgICAgdGltZSArPSBpbmZvLnN5c3RlbV90aW1lLnNlY29u
ZHMgKyBpbmZvLnN5c3RlbV90aW1lLm1pY3Jvc2Vjb25kcyAvIDEwMDAwMDAuOworICAgIAorICAg
IHJldHVybiB0aW1lOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiBjdXJyZW50Q1BVVGltZUFzSlNG
dW5jdGlvbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uT2Jq
ZWN0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3Qg
SlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIFVO
VVNFRF9QQVJBTShmdW5jdGlvbk9iamVjdCk7CisgICAgVU5VU0VEX1BBUkFNKHRoaXNPYmplY3Qp
OworICAgIFVOVVNFRF9QQVJBTShhcmd1bWVudENvdW50KTsKKyAgICBVTlVTRURfUEFSQU0oYXJn
dW1lbnRzKTsKKyAgICBVTlVTRURfUEFSQU0oZXhjZXB0aW9uKTsKKyAgICAKKyAgICBBU1NFUlQo
SlNDb250ZXh0R2V0R2xvYmFsQ29udGV4dChjdHgpID09ICpjdXJyZW50Q29udGV4dEZvckFzc2Vy
dGlvbik7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlTnVtYmVyKGN0eCwgY3VycmVudENQVVRpbWUo
KSk7Cit9CisKK2Jvb2wgc2hvdWxkVGVybWluYXRlQ2FsbGJhY2tXYXNDYWxsZWQgPSBmYWxzZTsK
K3N0YXRpYyBib29sIHNob3VsZFRlcm1pbmF0ZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjdHgsIHZv
aWQqIGNvbnRleHQpCit7CisgICAgVU5VU0VEX1BBUkFNKGN0eCk7CisgICAgVU5VU0VEX1BBUkFN
KGNvbnRleHQpOworICAgIHNob3VsZFRlcm1pbmF0ZUNhbGxiYWNrV2FzQ2FsbGVkID0gdHJ1ZTsK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBjYW5jZWxUZXJtaW5hdGVDYWxsYmFja1dhc0Nh
bGxlZCA9IGZhbHNlOworc3RhdGljIGJvb2wgY2FuY2VsVGVybWluYXRlQ2FsbGJhY2soSlNDb250
ZXh0UmVmIGN0eCwgdm9pZCogY29udGV4dCkKK3sKKyAgICBVTlVTRURfUEFSQU0oY3R4KTsKKyAg
ICBVTlVTRURfUEFSQU0oY29udGV4dCk7CisgICAgY2FuY2VsVGVybWluYXRlQ2FsbGJhY2tXYXND
YWxsZWQgPSB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KKworaW50IGV4dGVuZFRlcm1pbmF0
ZUNhbGxiYWNrQ2FsbGVkID0gMDsKK3N0YXRpYyBib29sIGV4dGVuZFRlcm1pbmF0ZUNhbGxiYWNr
KEpTQ29udGV4dFJlZiBjdHgsIHZvaWQqIGNvbnRleHQpCit7CisgICAgVU5VU0VEX1BBUkFNKGNv
bnRleHQpOworICAgIGV4dGVuZFRlcm1pbmF0ZUNhbGxiYWNrQ2FsbGVkKys7CisgICAgaWYgKGV4
dGVuZFRlcm1pbmF0ZUNhbGxiYWNrQ2FsbGVkID09IDEpIHsKKyAgICAgICAgSlNDb250ZXh0R3Jv
dXBSZWYgY29udGV4dEdyb3VwID0gSlNDb250ZXh0R2V0R3JvdXAoY3R4KTsKKyAgICAgICAgSlND
b250ZXh0R3JvdXBTZXRFeGVjdXRpb25UaW1lTGltaXQoY29udGV4dEdyb3VwLCAuMjAwZiwgZXh0
ZW5kVGVybWluYXRlQ2FsbGJhY2ssIDApOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
ICAgIHJldHVybiB0cnVlOworfQorCisKK2ludCB0ZXN0RXhlY3V0aW9uVGltZUxpbWl0KEpTR2xv
YmFsQ29udGV4dFJlZiogZ2xvYmFsQ29udGV4dCkKK3sKKyAgICBKU0dsb2JhbENvbnRleHRSZWYm
IGNvbnRleHQgPSAqZ2xvYmFsQ29udGV4dDsKKyAgICBjdXJyZW50Q29udGV4dEZvckFzc2VydGlv
biA9IGdsb2JhbENvbnRleHQ7CisKKyAgICBKU0NvbnRleHRHcm91cFJlZiBjb250ZXh0R3JvdXAg
PSBKU0NvbnRleHRHZXRHcm91cChjb250ZXh0KTsKKyAgICBKU09iamVjdFJlZiBnbG9iYWxPYmpl
Y3QgPSBKU0NvbnRleHRHZXRHbG9iYWxPYmplY3QoY29udGV4dCk7CisgICAgQVNTRVJUKEpTVmFs
dWVJc09iamVjdChjb250ZXh0LCBnbG9iYWxPYmplY3QpKTsKKworICAgIEpTVmFsdWVSZWYgdiA9
IG51bGxwdHI7CisgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSBudWxscHRyOworICAgIGJvb2wg
ZmFpbGVkID0gZmFsc2U7CisKKyAgICBKU1N0cmluZ1JlZiBjdXJyZW50Q1BVVGltZVN0ciA9IEpT
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJjdXJyZW50Q1BVVGltZSIpOworICAgIEpTT2Jq
ZWN0UmVmIGN1cnJlbnRDUFVUaW1lRnVuY3Rpb24gPSBKU09iamVjdE1ha2VGdW5jdGlvbldpdGhD
YWxsYmFjayhjb250ZXh0LCBjdXJyZW50Q1BVVGltZVN0ciwgY3VycmVudENQVVRpbWVBc0pTRnVu
Y3Rpb25DYWxsYmFjayk7CisgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCBnbG9iYWxP
YmplY3QsIGN1cnJlbnRDUFVUaW1lU3RyLCBjdXJyZW50Q1BVVGltZUZ1bmN0aW9uLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZU5vbmUsIG51bGxwdHIpOworICAgIEpTU3RyaW5nUmVsZWFzZShjdXJyZW50
Q1BVVGltZVN0cik7CisgICAgCisgICAgLyogVGVzdCBzY3JpcHQgdGltZW91dDogKi8KKyAgICBK
U0NvbnRleHRHcm91cFNldEV4ZWN1dGlvblRpbWVMaW1pdChjb250ZXh0R3JvdXAsIC4xMGYsIHNo
b3VsZFRlcm1pbmF0ZUNhbGxiYWNrLCAwKTsKKyAgICB7CisgICAgICAgIGNvbnN0IGNoYXIqIGxv
b3BGb3JldmVyU2NyaXB0ID0gInZhciBzdGFydFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOyB3aGls
ZSAodHJ1ZSkgeyBpZiAoY3VycmVudENQVVRpbWUoKSAtIHN0YXJ0VGltZSA+IC4xNTApIGJyZWFr
OyB9ICI7CisgICAgICAgIEpTU3RyaW5nUmVmIHNjcmlwdCA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKGxvb3BGb3JldmVyU2NyaXB0KTsKKyAgICAgICAgZG91YmxlIHN0YXJ0VGltZTsK
KyAgICAgICAgZG91YmxlIGVuZFRpbWU7CisgICAgICAgIGV4Y2VwdGlvbiA9IG51bGxwdHI7Cisg
ICAgICAgIHNob3VsZFRlcm1pbmF0ZUNhbGxiYWNrV2FzQ2FsbGVkID0gZmFsc2U7CisgICAgICAg
IHN0YXJ0VGltZSA9IGN1cnJlbnRDUFVUaW1lKCk7CisgICAgICAgIHYgPSBKU0V2YWx1YXRlU2Ny
aXB0KGNvbnRleHQsIHNjcmlwdCwgbnVsbHB0ciwgbnVsbHB0ciwgMSwgJmV4Y2VwdGlvbik7Cisg
ICAgICAgIGVuZFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOworICAgICAgICAKKyAgICAgICAgaWYg
KCgoZW5kVGltZSAtIHN0YXJ0VGltZSkgPCAuMTUwZikgJiYgc2hvdWxkVGVybWluYXRlQ2FsbGJh
Y2tXYXNDYWxsZWQpCisgICAgICAgICAgICBwcmludGYoIlBBU1M6IHNjcmlwdCB0aW1lZCBvdXQg
YXMgZXhwZWN0ZWQuXG4iKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAoISgoZW5k
VGltZSAtIHN0YXJ0VGltZSkgPCAuMTUwZikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCJGQUlM
OiBzY3JpcHQgZGlkIG5vdCB0aW1lIG91dCBhcyBleHBlY3RlZC5cbiIpOworICAgICAgICAgICAg
aWYgKCFzaG91bGRUZXJtaW5hdGVDYWxsYmFja1dhc0NhbGxlZCkKKyAgICAgICAgICAgICAgICBw
cmludGYoIkZBSUw6IHNjcmlwdCB0aW1lb3V0IGNhbGxiYWNrIHdhcyBub3QgY2FsbGVkLlxuIik7
CisgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICBpZiAoIWV4Y2VwdGlvbikgeworICAgICAgICAgICAgcHJpbnRmKCJGQUlMOiBUZXJtaW5hdGVk
RXhlY3V0aW9uRXhjZXB0aW9uIHdhcyBub3QgdGhyb3duLlxuIik7CisgICAgICAgICAgICBmYWls
ZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIC8qIFRlc3QgdGhlIHNjcmlw
dCB0aW1lb3V0J3MgVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbiBzaG91bGQgTk9UIGJlIGNh
dGNoYWJsZTogKi8KKyAgICBKU0NvbnRleHRHcm91cFNldEV4ZWN1dGlvblRpbWVMaW1pdChjb250
ZXh0R3JvdXAsIDAuMTBmLCBzaG91bGRUZXJtaW5hdGVDYWxsYmFjaywgMCk7CisgICAgeworICAg
ICAgICBjb25zdCBjaGFyKiBsb29wRm9yZXZlclNjcmlwdCA9ICJ2YXIgc3RhcnRUaW1lID0gY3Vy
cmVudENQVVRpbWUoKTsgdHJ5IHsgd2hpbGUgKHRydWUpIHsgaWYgKGN1cnJlbnRDUFVUaW1lKCkg
LSBzdGFydFRpbWUgPiAuMTUwKSBicmVhazsgfSB9IGNhdGNoKGUpIHsgfSI7CisgICAgICAgIEpT
U3RyaW5nUmVmIHNjcmlwdCA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGxvb3BGb3Jl
dmVyU2NyaXB0KTsKKyAgICAgICAgZG91YmxlIHN0YXJ0VGltZTsKKyAgICAgICAgZG91YmxlIGVu
ZFRpbWU7CisgICAgICAgIGV4Y2VwdGlvbiA9IG51bGxwdHI7CisgICAgICAgIHNob3VsZFRlcm1p
bmF0ZUNhbGxiYWNrV2FzQ2FsbGVkID0gZmFsc2U7CisgICAgICAgIHN0YXJ0VGltZSA9IGN1cnJl
bnRDUFVUaW1lKCk7CisgICAgICAgIHYgPSBKU0V2YWx1YXRlU2NyaXB0KGNvbnRleHQsIHNjcmlw
dCwgbnVsbHB0ciwgbnVsbHB0ciwgMSwgJmV4Y2VwdGlvbik7CisgICAgICAgIGVuZFRpbWUgPSBj
dXJyZW50Q1BVVGltZSgpOworICAgICAgICAKKyAgICAgICAgaWYgKCgoZW5kVGltZSAtIHN0YXJ0
VGltZSkgPj0gLjE1MGYpIHx8ICFzaG91bGRUZXJtaW5hdGVDYWxsYmFja1dhc0NhbGxlZCkgewor
ICAgICAgICAgICAgaWYgKCEoKGVuZFRpbWUgLSBzdGFydFRpbWUpIDwgLjE1MGYpKQorICAgICAg
ICAgICAgICAgIHByaW50ZigiRkFJTDogc2NyaXB0IGRpZCBub3QgdGltZSBvdXQgYXMgZXhwZWN0
ZWQuXG4iKTsKKyAgICAgICAgICAgIGlmICghc2hvdWxkVGVybWluYXRlQ2FsbGJhY2tXYXNDYWxs
ZWQpCisgICAgICAgICAgICAgICAgcHJpbnRmKCJGQUlMOiBzY3JpcHQgdGltZW91dCBjYWxsYmFj
ayB3YXMgbm90IGNhbGxlZC5cbiIpOworICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKGV4Y2VwdGlvbikKKyAgICAgICAgICAgIHByaW50
ZigiUEFTUzogVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbiB3YXMgbm90IGNhdGNoYWJsZSBh
cyBleHBlY3RlZC5cbiIpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHByaW50ZigiRkFJ
TDogVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbiB3YXMgY2F1Z2h0LlxuIik7CisgICAgICAg
ICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIC8qIFRlc3Qg
c2NyaXB0IHRpbWVvdXQgd2l0aCBubyBjYWxsYmFjazogKi8KKyAgICBKU0NvbnRleHRHcm91cFNl
dEV4ZWN1dGlvblRpbWVMaW1pdChjb250ZXh0R3JvdXAsIC4xMGYsIDAsIDApOworICAgIHsKKyAg
ICAgICAgY29uc3QgY2hhciogbG9vcEZvcmV2ZXJTY3JpcHQgPSAidmFyIHN0YXJ0VGltZSA9IGN1
cnJlbnRDUFVUaW1lKCk7IHdoaWxlICh0cnVlKSB7IGlmIChjdXJyZW50Q1BVVGltZSgpIC0gc3Rh
cnRUaW1lID4gLjE1MCkgYnJlYWs7IH0gIjsKKyAgICAgICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0g
SlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcobG9vcEZvcmV2ZXJTY3JpcHQpOworICAgICAg
ICBkb3VibGUgc3RhcnRUaW1lOworICAgICAgICBkb3VibGUgZW5kVGltZTsKKyAgICAgICAgZXhj
ZXB0aW9uID0gbnVsbHB0cjsKKyAgICAgICAgc3RhcnRUaW1lID0gY3VycmVudENQVVRpbWUoKTsK
KyAgICAgICAgdiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc2NyaXB0LCBudWxscHRyLCBu
dWxscHRyLCAxLCAmZXhjZXB0aW9uKTsKKyAgICAgICAgZW5kVGltZSA9IGN1cnJlbnRDUFVUaW1l
KCk7CisgICAgICAgIAorICAgICAgICBpZiAoKChlbmRUaW1lIC0gc3RhcnRUaW1lKSA8IC4xNTBm
KSAmJiBzaG91bGRUZXJtaW5hdGVDYWxsYmFja1dhc0NhbGxlZCkKKyAgICAgICAgICAgIHByaW50
ZigiUEFTUzogc2NyaXB0IHRpbWVkIG91dCBhcyBleHBlY3RlZCB3aGVuIG5vIGNhbGxiYWNrIGlz
IHNwZWNpZmllZC5cbiIpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKChlbmRU
aW1lIC0gc3RhcnRUaW1lKSA8IC4xNTBmKSkKKyAgICAgICAgICAgICAgICBwcmludGYoIkZBSUw6
IHNjcmlwdCBkaWQgbm90IHRpbWUgb3V0IGFzIGV4cGVjdGVkIHdoZW4gbm8gY2FsbGJhY2sgaXMg
c3BlY2lmaWVkLlxuIik7CisgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICB9Cisg
ICAgICAgIAorICAgICAgICBpZiAoIWV4Y2VwdGlvbikgeworICAgICAgICAgICAgcHJpbnRmKCJG
QUlMOiBUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uIHdhcyBub3QgdGhyb3duLlxuIik7Cisg
ICAgICAgICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIC8q
IFRlc3Qgc2NyaXB0IHRpbWVvdXQgY2FuY2VsbGF0aW9uOiAqLworICAgIEpTQ29udGV4dEdyb3Vw
U2V0RXhlY3V0aW9uVGltZUxpbWl0KGNvbnRleHRHcm91cCwgMC4xMGYsIGNhbmNlbFRlcm1pbmF0
ZUNhbGxiYWNrLCAwKTsKKyAgICB7CisgICAgICAgIGNvbnN0IGNoYXIqIGxvb3BGb3JldmVyU2Ny
aXB0ID0gInZhciBzdGFydFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOyB3aGlsZSAodHJ1ZSkgeyBp
ZiAoY3VycmVudENQVVRpbWUoKSAtIHN0YXJ0VGltZSA+IC4xNTApIGJyZWFrOyB9ICI7CisgICAg
ICAgIEpTU3RyaW5nUmVmIHNjcmlwdCA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGxv
b3BGb3JldmVyU2NyaXB0KTsKKyAgICAgICAgZG91YmxlIHN0YXJ0VGltZTsKKyAgICAgICAgZG91
YmxlIGVuZFRpbWU7CisgICAgICAgIGV4Y2VwdGlvbiA9IG51bGxwdHI7CisgICAgICAgIHN0YXJ0
VGltZSA9IGN1cnJlbnRDUFVUaW1lKCk7CisgICAgICAgIHYgPSBKU0V2YWx1YXRlU2NyaXB0KGNv
bnRleHQsIHNjcmlwdCwgbnVsbHB0ciwgbnVsbHB0ciwgMSwgJmV4Y2VwdGlvbik7CisgICAgICAg
IGVuZFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOworICAgICAgICAKKyAgICAgICAgaWYgKCgoZW5k
VGltZSAtIHN0YXJ0VGltZSkgPj0gLjE1MGYpICYmIGNhbmNlbFRlcm1pbmF0ZUNhbGxiYWNrV2Fz
Q2FsbGVkICYmICFleGNlcHRpb24pCisgICAgICAgICAgICBwcmludGYoIlBBU1M6IHNjcmlwdCB0
aW1lb3V0IHdhcyBjYW5jZWxsZWQgYXMgZXhwZWN0ZWQuXG4iKTsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBpZiAoKChlbmRUaW1lIC0gc3RhcnRUaW1lKSA8IC4xNTApIHx8IGV4Y2VwdGlv
bikKKyAgICAgICAgICAgICAgICBwcmludGYoIkZBSUw6IHNjcmlwdCB0aW1lb3V0IHdhcyBub3Qg
Y2FuY2VsbGVkLlxuIik7CisgICAgICAgICAgICBpZiAoIWNhbmNlbFRlcm1pbmF0ZUNhbGxiYWNr
V2FzQ2FsbGVkKQorICAgICAgICAgICAgICAgIHByaW50ZigiRkFJTDogc2NyaXB0IHRpbWVvdXQg
Y2FsbGJhY2sgd2FzIG5vdCBjYWxsZWQuXG4iKTsKKyAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgIHByaW50ZigiRkFJTDogVW5leHBlY3RlZCBUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9u
IHRocm93bi5cbiIpOworICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgfQorICAg
IH0KKyAgICAKKyAgICAvKiBUZXN0IHNjcmlwdCB0aW1lb3V0IGV4dGVuc2lvbjogKi8KKyAgICBK
U0NvbnRleHRHcm91cFNldEV4ZWN1dGlvblRpbWVMaW1pdChjb250ZXh0R3JvdXAsIDAuMTAwZiwg
ZXh0ZW5kVGVybWluYXRlQ2FsbGJhY2ssIDApOworICAgIHsKKyAgICAgICAgY29uc3QgY2hhciog
bG9vcEZvcmV2ZXJTY3JpcHQgPSAidmFyIHN0YXJ0VGltZSA9IGN1cnJlbnRDUFVUaW1lKCk7IHdo
aWxlICh0cnVlKSB7IGlmIChjdXJyZW50Q1BVVGltZSgpIC0gc3RhcnRUaW1lID4gLjUwMCkgYnJl
YWs7IH0gIjsKKyAgICAgICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcobG9vcEZvcmV2ZXJTY3JpcHQpOworICAgICAgICBkb3VibGUgc3RhcnRUaW1l
OworICAgICAgICBkb3VibGUgZW5kVGltZTsKKyAgICAgICAgZG91YmxlIGRlbHRhVGltZTsKKyAg
ICAgICAgZXhjZXB0aW9uID0gbnVsbHB0cjsKKyAgICAgICAgc3RhcnRUaW1lID0gY3VycmVudENQ
VVRpbWUoKTsKKyAgICAgICAgdiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc2NyaXB0LCBu
dWxscHRyLCBudWxscHRyLCAxLCAmZXhjZXB0aW9uKTsKKyAgICAgICAgZW5kVGltZSA9IGN1cnJl
bnRDUFVUaW1lKCk7CisgICAgICAgIGRlbHRhVGltZSA9IGVuZFRpbWUgLSBzdGFydFRpbWU7Cisg
ICAgICAgIAorICAgICAgICBpZiAoKGRlbHRhVGltZSA+PSAuMzAwZikgJiYgKGRlbHRhVGltZSA8
IC41MDBmKSAmJiAoZXh0ZW5kVGVybWluYXRlQ2FsbGJhY2tDYWxsZWQgPT0gMikgJiYgZXhjZXB0
aW9uKQorICAgICAgICAgICAgcHJpbnRmKCJQQVNTOiBzY3JpcHQgdGltZW91dCB3YXMgZXh0ZW5k
ZWQgYXMgZXhwZWN0ZWQuXG4iKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAoZGVs
dGFUaW1lIDwgLjIwMGYpCisgICAgICAgICAgICAgICAgcHJpbnRmKCJGQUlMOiBzY3JpcHQgdGlt
ZW91dCB3YXMgbm90IGV4dGVuZGVkIGFzIGV4cGVjdGVkLlxuIik7CisgICAgICAgICAgICBlbHNl
IGlmIChkZWx0YVRpbWUgPj0gLjUwMGYpCisgICAgICAgICAgICAgICAgcHJpbnRmKCJGQUlMOiBz
Y3JpcHQgZGlkIG5vdCB0aW1lb3V0LlxuIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlm
IChleHRlbmRUZXJtaW5hdGVDYWxsYmFja0NhbGxlZCA8IDEpCisgICAgICAgICAgICAgICAgcHJp
bnRmKCJGQUlMOiBzY3JpcHQgdGltZW91dCBjYWxsYmFjayB3YXMgbm90IGNhbGxlZC5cbiIpOwor
ICAgICAgICAgICAgaWYgKGV4dGVuZFRlcm1pbmF0ZUNhbGxiYWNrQ2FsbGVkIDwgMikKKyAgICAg
ICAgICAgICAgICBwcmludGYoIkZBSUw6IHNjcmlwdCB0aW1lb3V0IGNhbGxiYWNrIHdhcyBub3Qg
Y2FsbGVkIGFmdGVyIHRpbWVvdXQgZXh0ZW5zaW9uLlxuIik7CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIGlmICghZXhjZXB0aW9uKQorICAgICAgICAgICAgICAgIHByaW50ZigiRkFJTDogVGVy
bWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbiB3YXMgbm90IHRocm93biBkdXJpbmcgdGltZW91dCBl
eHRlbnNpb24gdGVzdC5cbiIpOworICAgICAgICAgICAgCisgICAgICAgICAgICBmYWlsZWQgPSB0
cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGZhaWxlZDsKK30KKworI2VuZGlm
IC8vIE9TKERBUldJTikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRXhl
Y3V0aW9uVGltZUxpbWl0VGVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5oCShyZXZpc2lvbiAwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRXhlY3V0
aW9uVGltZUxpbWl0VGVzdF9oCisjZGVmaW5lIEV4ZWN1dGlvblRpbWVMaW1pdFRlc3RfaAorCisj
aW5jbHVkZSAiSlNDb250ZXh0UmVmUHJpdmF0ZS5oIgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4
dGVybiAiQyIgeworI2VuZGlmCisKKy8qIFJldHVybnMgMSBpZiBmYWlsdXJlcyB3ZXJlIGVuY291
bnRlcmVkLiAgRWxzZSwgcmV0dXJucyAwLiAqLworaW50IHRlc3RFeGVjdXRpb25UaW1lTGltaXQo
SlNHbG9iYWxDb250ZXh0UmVmKik7CisgICAgCisjaWZkZWYgX19jcGx1c3BsdXMKK30gLyogZXh0
ZXJuICJDIiAqLworI2VuZGlmCisKKyNlbmRpZiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0X2gg
Ki8KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5jCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5jCShyZXZp
c2lvbiAxODE2NjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGku
Ywkod29ya2luZyBjb3B5KQpAQCAtMzUsMTIgKzM1LDYgQEAKICNkZWZpbmUgQVNTRVJUX0RJU0FC
TEVEIDAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCi0jaWYgT1MoREFSV0lOKQotI2lu
Y2x1ZGUgPG1hY2gvbWFjaC5oPgotI2luY2x1ZGUgPG1hY2gvbWFjaF90aW1lLmg+Ci0jaW5jbHVk
ZSA8c3lzL3RpbWUuaD4KLSNlbmRpZgotCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5k
b3dzLmg+CiAjZW5kaWYKQEAgLTQ4LDYgKzQyLDEwIEBACiAjaW5jbHVkZSAiQ29tcGFyZUFuZFN3
YXBUZXN0LmgiCiAjaW5jbHVkZSAiQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmgiCiAKKyNp
ZiBPUyhEQVJXSU4pCisjaW5jbHVkZSAiRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5oIgorI2VuZGlm
CisKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAogdm9pZCB0ZXN0T2JqZWN0aXZlQ0FQSSh2b2lk
KTsKICNlbmRpZgpAQCAtMTExMyw2NyArMTExMSw2IEBAIHN0YXRpYyB2b2lkIGNoZWNrQ29uc3Ru
ZXNzSW5KU09iamVjdE5hbWUKICAgICB2YWwubmFtZSA9ICJzb21ldGhpbmciOwogfQogCi0jaWYg
T1MoREFSV0lOKQotc3RhdGljIGRvdWJsZSBjdXJyZW50Q1BVVGltZSgpCi17Ci0gICAgbWFjaF9t
c2dfdHlwZV9udW1iZXJfdCBpbmZvQ291bnQgPSBUSFJFQURfQkFTSUNfSU5GT19DT1VOVDsKLSAg
ICB0aHJlYWRfYmFzaWNfaW5mb19kYXRhX3QgaW5mbzsKLQotICAgIC8qIEdldCB0aHJlYWQgaW5m
b3JtYXRpb24gKi8KLSAgICBtYWNoX3BvcnRfdCB0aHJlYWRQb3J0ID0gbWFjaF90aHJlYWRfc2Vs
ZigpOwotICAgIHRocmVhZF9pbmZvKHRocmVhZFBvcnQsIFRIUkVBRF9CQVNJQ19JTkZPLCAodGhy
ZWFkX2luZm9fdCkoJmluZm8pLCAmaW5mb0NvdW50KTsKLSAgICBtYWNoX3BvcnRfZGVhbGxvY2F0
ZShtYWNoX3Rhc2tfc2VsZigpLCB0aHJlYWRQb3J0KTsKLSAgICAKLSAgICBkb3VibGUgdGltZSA9
IGluZm8udXNlcl90aW1lLnNlY29uZHMgKyBpbmZvLnVzZXJfdGltZS5taWNyb3NlY29uZHMgLyAx
MDAwMDAwLjsKLSAgICB0aW1lICs9IGluZm8uc3lzdGVtX3RpbWUuc2Vjb25kcyArIGluZm8uc3lz
dGVtX3RpbWUubWljcm9zZWNvbmRzIC8gMTAwMDAwMC47Ci0gICAgCi0gICAgcmV0dXJuIHRpbWU7
Ci19Ci0KLXN0YXRpYyBKU1ZhbHVlUmVmIGN1cnJlbnRDUFVUaW1lX2NhbGxBc0Z1bmN0aW9uKEpT
Q29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uT2JqZWN0LCBKU09iamVjdFJlZiB0
aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVu
dHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQotewotICAgIFVOVVNFRF9QQVJBTShmdW5jdGlv
bk9iamVjdCk7Ci0gICAgVU5VU0VEX1BBUkFNKHRoaXNPYmplY3QpOwotICAgIFVOVVNFRF9QQVJB
TShhcmd1bWVudENvdW50KTsKLSAgICBVTlVTRURfUEFSQU0oYXJndW1lbnRzKTsKLSAgICBVTlVT
RURfUEFSQU0oZXhjZXB0aW9uKTsKLQotICAgIEFTU0VSVChKU0NvbnRleHRHZXRHbG9iYWxDb250
ZXh0KGN0eCkgPT0gY29udGV4dCk7Ci0gICAgcmV0dXJuIEpTVmFsdWVNYWtlTnVtYmVyKGN0eCwg
Y3VycmVudENQVVRpbWUoKSk7Ci19Ci0KLWJvb2wgc2hvdWxkVGVybWluYXRlQ2FsbGJhY2tXYXND
YWxsZWQgPSBmYWxzZTsKLXN0YXRpYyBib29sIHNob3VsZFRlcm1pbmF0ZUNhbGxiYWNrKEpTQ29u
dGV4dFJlZiBjdHgsIHZvaWQqIGNvbnRleHQpCi17Ci0gICAgVU5VU0VEX1BBUkFNKGN0eCk7Ci0g
ICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIHNob3VsZFRlcm1pbmF0ZUNhbGxiYWNrV2Fz
Q2FsbGVkID0gdHJ1ZTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBjYW5jZWxUZXJtaW5h
dGVDYWxsYmFja1dhc0NhbGxlZCA9IGZhbHNlOwotc3RhdGljIGJvb2wgY2FuY2VsVGVybWluYXRl
Q2FsbGJhY2soSlNDb250ZXh0UmVmIGN0eCwgdm9pZCogY29udGV4dCkKLXsKLSAgICBVTlVTRURf
UEFSQU0oY3R4KTsKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgY2FuY2VsVGVybWlu
YXRlQ2FsbGJhY2tXYXNDYWxsZWQgPSB0cnVlOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotaW50
IGV4dGVuZFRlcm1pbmF0ZUNhbGxiYWNrQ2FsbGVkID0gMDsKLXN0YXRpYyBib29sIGV4dGVuZFRl
cm1pbmF0ZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjdHgsIHZvaWQqIGNvbnRleHQpCi17Ci0gICAg
VU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIGV4dGVuZFRlcm1pbmF0ZUNhbGxiYWNrQ2FsbGVk
Kys7Ci0gICAgaWYgKGV4dGVuZFRlcm1pbmF0ZUNhbGxiYWNrQ2FsbGVkID09IDEpIHsKLSAgICAg
ICAgSlNDb250ZXh0R3JvdXBSZWYgY29udGV4dEdyb3VwID0gSlNDb250ZXh0R2V0R3JvdXAoY3R4
KTsKLSAgICAgICAgSlNDb250ZXh0R3JvdXBTZXRFeGVjdXRpb25UaW1lTGltaXQoY29udGV4dEdy
b3VwLCAuMjAwZiwgZXh0ZW5kVGVybWluYXRlQ2FsbGJhY2ssIDApOwotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQotI2VuZGlmIC8qIE9TKERBUldJTikg
Ki8KLQogCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogewpAQCAtMTkxNywxNTYg
KzE4NTQsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIH0KIAogI2lm
IE9TKERBUldJTikKLSAgICBKU1N0cmluZ1JlZiBjdXJyZW50Q1BVVGltZVN0ciA9IEpTU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJjdXJyZW50Q1BVVGltZSIpOwotICAgIEpTT2JqZWN0UmVm
IGN1cnJlbnRDUFVUaW1lRnVuY3Rpb24gPSBKU09iamVjdE1ha2VGdW5jdGlvbldpdGhDYWxsYmFj
ayhjb250ZXh0LCBjdXJyZW50Q1BVVGltZVN0ciwgY3VycmVudENQVVRpbWVfY2FsbEFzRnVuY3Rp
b24pOwotICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCBjdXJy
ZW50Q1BVVGltZVN0ciwgY3VycmVudENQVVRpbWVGdW5jdGlvbiwga0pTUHJvcGVydHlBdHRyaWJ1
dGVOb25lLCBOVUxMKTsgCi0gICAgSlNTdHJpbmdSZWxlYXNlKGN1cnJlbnRDUFVUaW1lU3RyKTsK
LQotICAgIC8qIFRlc3Qgc2NyaXB0IHRpbWVvdXQ6ICovCi0gICAgSlNDb250ZXh0R3JvdXBTZXRF
eGVjdXRpb25UaW1lTGltaXQoY29udGV4dEdyb3VwLCAuMTBmLCBzaG91bGRUZXJtaW5hdGVDYWxs
YmFjaywgMCk7Ci0gICAgewotICAgICAgICBjb25zdCBjaGFyKiBsb29wRm9yZXZlclNjcmlwdCA9
ICJ2YXIgc3RhcnRUaW1lID0gY3VycmVudENQVVRpbWUoKTsgd2hpbGUgKHRydWUpIHsgaWYgKGN1
cnJlbnRDUFVUaW1lKCkgLSBzdGFydFRpbWUgPiAuMTUwKSBicmVhazsgfSAiOwotICAgICAgICBK
U1N0cmluZ1JlZiBzY3JpcHQgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhsb29wRm9y
ZXZlclNjcmlwdCk7Ci0gICAgICAgIGRvdWJsZSBzdGFydFRpbWU7Ci0gICAgICAgIGRvdWJsZSBl
bmRUaW1lOwotICAgICAgICBleGNlcHRpb24gPSBOVUxMOwotICAgICAgICBzaG91bGRUZXJtaW5h
dGVDYWxsYmFja1dhc0NhbGxlZCA9IGZhbHNlOwotICAgICAgICBzdGFydFRpbWUgPSBjdXJyZW50
Q1BVVGltZSgpOwotICAgICAgICB2ID0gSlNFdmFsdWF0ZVNjcmlwdChjb250ZXh0LCBzY3JpcHQs
IE5VTEwsIE5VTEwsIDEsICZleGNlcHRpb24pOwotICAgICAgICBlbmRUaW1lID0gY3VycmVudENQ
VVRpbWUoKTsKLQotICAgICAgICBpZiAoKChlbmRUaW1lIC0gc3RhcnRUaW1lKSA8IC4xNTBmKSAm
JiBzaG91bGRUZXJtaW5hdGVDYWxsYmFja1dhc0NhbGxlZCkKLSAgICAgICAgICAgIHByaW50Zigi
UEFTUzogc2NyaXB0IHRpbWVkIG91dCBhcyBleHBlY3RlZC5cbiIpOwotICAgICAgICBlbHNlIHsK
LSAgICAgICAgICAgIGlmICghKChlbmRUaW1lIC0gc3RhcnRUaW1lKSA8IC4xNTBmKSkKLSAgICAg
ICAgICAgICAgICBwcmludGYoIkZBSUw6IHNjcmlwdCBkaWQgbm90IHRpbWUgb3V0IGFzIGV4cGVj
dGVkLlxuIik7Ci0gICAgICAgICAgICBpZiAoIXNob3VsZFRlcm1pbmF0ZUNhbGxiYWNrV2FzQ2Fs
bGVkKQotICAgICAgICAgICAgICAgIHByaW50ZigiRkFJTDogc2NyaXB0IHRpbWVvdXQgY2FsbGJh
Y2sgd2FzIG5vdCBjYWxsZWQuXG4iKTsKLSAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAg
ICAgIH0KLQotICAgICAgICBpZiAoIWV4Y2VwdGlvbikgewotICAgICAgICAgICAgcHJpbnRmKCJG
QUlMOiBUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uIHdhcyBub3QgdGhyb3duLlxuIik7Ci0g
ICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLyogVGVz
dCB0aGUgc2NyaXB0IHRpbWVvdXQncyBUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uIHNob3Vs
ZCBOT1QgYmUgY2F0Y2hhYmxlOiAqLwotICAgIEpTQ29udGV4dEdyb3VwU2V0RXhlY3V0aW9uVGlt
ZUxpbWl0KGNvbnRleHRHcm91cCwgMC4xMGYsIHNob3VsZFRlcm1pbmF0ZUNhbGxiYWNrLCAwKTsK
LSAgICB7Ci0gICAgICAgIGNvbnN0IGNoYXIqIGxvb3BGb3JldmVyU2NyaXB0ID0gInZhciBzdGFy
dFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOyB0cnkgeyB3aGlsZSAodHJ1ZSkgeyBpZiAoY3VycmVu
dENQVVRpbWUoKSAtIHN0YXJ0VGltZSA+IC4xNTApIGJyZWFrOyB9IH0gY2F0Y2goZSkgeyB9IjsK
LSAgICAgICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcobG9vcEZvcmV2ZXJTY3JpcHQpOwotICAgICAgICBkb3VibGUgc3RhcnRUaW1lOwotICAgICAg
ICBkb3VibGUgZW5kVGltZTsKLSAgICAgICAgZXhjZXB0aW9uID0gTlVMTDsKLSAgICAgICAgc2hv
dWxkVGVybWluYXRlQ2FsbGJhY2tXYXNDYWxsZWQgPSBmYWxzZTsKLSAgICAgICAgc3RhcnRUaW1l
ID0gY3VycmVudENQVVRpbWUoKTsKLSAgICAgICAgdiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4
dCwgc2NyaXB0LCBOVUxMLCBOVUxMLCAxLCAmZXhjZXB0aW9uKTsKLSAgICAgICAgZW5kVGltZSA9
IGN1cnJlbnRDUFVUaW1lKCk7Ci0KLSAgICAgICAgaWYgKCgoZW5kVGltZSAtIHN0YXJ0VGltZSkg
Pj0gLjE1MGYpIHx8ICFzaG91bGRUZXJtaW5hdGVDYWxsYmFja1dhc0NhbGxlZCkgewotICAgICAg
ICAgICAgaWYgKCEoKGVuZFRpbWUgLSBzdGFydFRpbWUpIDwgLjE1MGYpKQotICAgICAgICAgICAg
ICAgIHByaW50ZigiRkFJTDogc2NyaXB0IGRpZCBub3QgdGltZSBvdXQgYXMgZXhwZWN0ZWQuXG4i
KTsKLSAgICAgICAgICAgIGlmICghc2hvdWxkVGVybWluYXRlQ2FsbGJhY2tXYXNDYWxsZWQpCi0g
ICAgICAgICAgICAgICAgcHJpbnRmKCJGQUlMOiBzY3JpcHQgdGltZW91dCBjYWxsYmFjayB3YXMg
bm90IGNhbGxlZC5cbiIpOwotICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAgICBwcmludGYoIlBBU1M6IFRlcm1p
bmF0ZWRFeGVjdXRpb25FeGNlcHRpb24gd2FzIG5vdCBjYXRjaGFibGUgYXMgZXhwZWN0ZWQuXG4i
KTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBwcmludGYoIkZBSUw6IFRlcm1pbmF0ZWRF
eGVjdXRpb25FeGNlcHRpb24gd2FzIGNhdWdodC5cbiIpOwotICAgICAgICAgICAgZmFpbGVkID0g
dHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8qIFRlc3Qgc2NyaXB0IHRpbWVvdXQgd2l0
aCBubyBjYWxsYmFjazogKi8KLSAgICBKU0NvbnRleHRHcm91cFNldEV4ZWN1dGlvblRpbWVMaW1p
dChjb250ZXh0R3JvdXAsIC4xMGYsIDAsIDApOwotICAgIHsKLSAgICAgICAgY29uc3QgY2hhciog
bG9vcEZvcmV2ZXJTY3JpcHQgPSAidmFyIHN0YXJ0VGltZSA9IGN1cnJlbnRDUFVUaW1lKCk7IHdo
aWxlICh0cnVlKSB7IGlmIChjdXJyZW50Q1BVVGltZSgpIC0gc3RhcnRUaW1lID4gLjE1MCkgYnJl
YWs7IH0gIjsKLSAgICAgICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcobG9vcEZvcmV2ZXJTY3JpcHQpOwotICAgICAgICBkb3VibGUgc3RhcnRUaW1l
OwotICAgICAgICBkb3VibGUgZW5kVGltZTsKLSAgICAgICAgZXhjZXB0aW9uID0gTlVMTDsKLSAg
ICAgICAgc3RhcnRUaW1lID0gY3VycmVudENQVVRpbWUoKTsKLSAgICAgICAgdiA9IEpTRXZhbHVh
dGVTY3JpcHQoY29udGV4dCwgc2NyaXB0LCBOVUxMLCBOVUxMLCAxLCAmZXhjZXB0aW9uKTsKLSAg
ICAgICAgZW5kVGltZSA9IGN1cnJlbnRDUFVUaW1lKCk7Ci0KLSAgICAgICAgaWYgKCgoZW5kVGlt
ZSAtIHN0YXJ0VGltZSkgPCAuMTUwZikgJiYgc2hvdWxkVGVybWluYXRlQ2FsbGJhY2tXYXNDYWxs
ZWQpCi0gICAgICAgICAgICBwcmludGYoIlBBU1M6IHNjcmlwdCB0aW1lZCBvdXQgYXMgZXhwZWN0
ZWQgd2hlbiBubyBjYWxsYmFjayBpcyBzcGVjaWZpZWQuXG4iKTsKLSAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICBpZiAoISgoZW5kVGltZSAtIHN0YXJ0VGltZSkgPCAuMTUwZikpCi0gICAgICAg
ICAgICAgICAgcHJpbnRmKCJGQUlMOiBzY3JpcHQgZGlkIG5vdCB0aW1lIG91dCBhcyBleHBlY3Rl
ZCB3aGVuIG5vIGNhbGxiYWNrIGlzIHNwZWNpZmllZC5cbiIpOwotICAgICAgICAgICAgZmFpbGVk
ID0gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICghZXhjZXB0aW9uKSB7Ci0gICAgICAg
ICAgICBwcmludGYoIkZBSUw6IFRlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24gd2FzIG5vdCB0
aHJvd24uXG4iKTsKLSAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICAvKiBUZXN0IHNjcmlwdCB0aW1lb3V0IGNhbmNlbGxhdGlvbjogKi8KLSAgICBKU0Nv
bnRleHRHcm91cFNldEV4ZWN1dGlvblRpbWVMaW1pdChjb250ZXh0R3JvdXAsIDAuMTBmLCBjYW5j
ZWxUZXJtaW5hdGVDYWxsYmFjaywgMCk7Ci0gICAgewotICAgICAgICBjb25zdCBjaGFyKiBsb29w
Rm9yZXZlclNjcmlwdCA9ICJ2YXIgc3RhcnRUaW1lID0gY3VycmVudENQVVRpbWUoKTsgd2hpbGUg
KHRydWUpIHsgaWYgKGN1cnJlbnRDUFVUaW1lKCkgLSBzdGFydFRpbWUgPiAuMTUwKSBicmVhazsg
fSAiOwotICAgICAgICBKU1N0cmluZ1JlZiBzY3JpcHQgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZyhsb29wRm9yZXZlclNjcmlwdCk7Ci0gICAgICAgIGRvdWJsZSBzdGFydFRpbWU7Ci0g
ICAgICAgIGRvdWJsZSBlbmRUaW1lOwotICAgICAgICBleGNlcHRpb24gPSBOVUxMOwotICAgICAg
ICBzdGFydFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOwotICAgICAgICB2ID0gSlNFdmFsdWF0ZVNj
cmlwdChjb250ZXh0LCBzY3JpcHQsIE5VTEwsIE5VTEwsIDEsICZleGNlcHRpb24pOwotICAgICAg
ICBlbmRUaW1lID0gY3VycmVudENQVVRpbWUoKTsKLQotICAgICAgICBpZiAoKChlbmRUaW1lIC0g
c3RhcnRUaW1lKSA+PSAuMTUwZikgJiYgY2FuY2VsVGVybWluYXRlQ2FsbGJhY2tXYXNDYWxsZWQg
JiYgIWV4Y2VwdGlvbikKLSAgICAgICAgICAgIHByaW50ZigiUEFTUzogc2NyaXB0IHRpbWVvdXQg
d2FzIGNhbmNlbGxlZCBhcyBleHBlY3RlZC5cbiIpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgIGlmICgoKGVuZFRpbWUgLSBzdGFydFRpbWUpIDwgLjE1MCkgfHwgZXhjZXB0aW9uKQotICAg
ICAgICAgICAgICAgIHByaW50ZigiRkFJTDogc2NyaXB0IHRpbWVvdXQgd2FzIG5vdCBjYW5jZWxs
ZWQuXG4iKTsKLSAgICAgICAgICAgIGlmICghY2FuY2VsVGVybWluYXRlQ2FsbGJhY2tXYXNDYWxs
ZWQpCi0gICAgICAgICAgICAgICAgcHJpbnRmKCJGQUlMOiBzY3JpcHQgdGltZW91dCBjYWxsYmFj
ayB3YXMgbm90IGNhbGxlZC5cbiIpOwotICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGlmIChleGNlcHRpb24pIHsKLSAgICAgICAgICAgIHByaW50ZigiRkFJ
TDogVW5leHBlY3RlZCBUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uIHRocm93bi5cbiIpOwot
ICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8qIFRl
c3Qgc2NyaXB0IHRpbWVvdXQgZXh0ZW5zaW9uOiAqLwotICAgIEpTQ29udGV4dEdyb3VwU2V0RXhl
Y3V0aW9uVGltZUxpbWl0KGNvbnRleHRHcm91cCwgMC4xMDBmLCBleHRlbmRUZXJtaW5hdGVDYWxs
YmFjaywgMCk7Ci0gICAgewotICAgICAgICBjb25zdCBjaGFyKiBsb29wRm9yZXZlclNjcmlwdCA9
ICJ2YXIgc3RhcnRUaW1lID0gY3VycmVudENQVVRpbWUoKTsgd2hpbGUgKHRydWUpIHsgaWYgKGN1
cnJlbnRDUFVUaW1lKCkgLSBzdGFydFRpbWUgPiAuNTAwKSBicmVhazsgfSAiOwotICAgICAgICBK
U1N0cmluZ1JlZiBzY3JpcHQgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhsb29wRm9y
ZXZlclNjcmlwdCk7Ci0gICAgICAgIGRvdWJsZSBzdGFydFRpbWU7Ci0gICAgICAgIGRvdWJsZSBl
bmRUaW1lOwotICAgICAgICBkb3VibGUgZGVsdGFUaW1lOwotICAgICAgICBleGNlcHRpb24gPSBO
VUxMOwotICAgICAgICBzdGFydFRpbWUgPSBjdXJyZW50Q1BVVGltZSgpOwotICAgICAgICB2ID0g
SlNFdmFsdWF0ZVNjcmlwdChjb250ZXh0LCBzY3JpcHQsIE5VTEwsIE5VTEwsIDEsICZleGNlcHRp
b24pOwotICAgICAgICBlbmRUaW1lID0gY3VycmVudENQVVRpbWUoKTsKLSAgICAgICAgZGVsdGFU
aW1lID0gZW5kVGltZSAtIHN0YXJ0VGltZTsKLQotICAgICAgICBpZiAoKGRlbHRhVGltZSA+PSAu
MzAwZikgJiYgKGRlbHRhVGltZSA8IC41MDBmKSAmJiAoZXh0ZW5kVGVybWluYXRlQ2FsbGJhY2tD
YWxsZWQgPT0gMikgJiYgZXhjZXB0aW9uKQotICAgICAgICAgICAgcHJpbnRmKCJQQVNTOiBzY3Jp
cHQgdGltZW91dCB3YXMgZXh0ZW5kZWQgYXMgZXhwZWN0ZWQuXG4iKTsKLSAgICAgICAgZWxzZSB7
Ci0gICAgICAgICAgICBpZiAoZGVsdGFUaW1lIDwgLjIwMGYpCi0gICAgICAgICAgICAgICAgcHJp
bnRmKCJGQUlMOiBzY3JpcHQgdGltZW91dCB3YXMgbm90IGV4dGVuZGVkIGFzIGV4cGVjdGVkLlxu
Iik7Ci0gICAgICAgICAgICBlbHNlIGlmIChkZWx0YVRpbWUgPj0gLjUwMGYpCi0gICAgICAgICAg
ICAgICAgcHJpbnRmKCJGQUlMOiBzY3JpcHQgZGlkIG5vdCB0aW1lb3V0LlxuIik7Ci0KLSAgICAg
ICAgICAgIGlmIChleHRlbmRUZXJtaW5hdGVDYWxsYmFja0NhbGxlZCA8IDEpCi0gICAgICAgICAg
ICAgICAgcHJpbnRmKCJGQUlMOiBzY3JpcHQgdGltZW91dCBjYWxsYmFjayB3YXMgbm90IGNhbGxl
ZC5cbiIpOwotICAgICAgICAgICAgaWYgKGV4dGVuZFRlcm1pbmF0ZUNhbGxiYWNrQ2FsbGVkIDwg
MikKLSAgICAgICAgICAgICAgICBwcmludGYoIkZBSUw6IHNjcmlwdCB0aW1lb3V0IGNhbGxiYWNr
IHdhcyBub3QgY2FsbGVkIGFmdGVyIHRpbWVvdXQgZXh0ZW5zaW9uLlxuIik7Ci0KLSAgICAgICAg
ICAgIGlmICghZXhjZXB0aW9uKQotICAgICAgICAgICAgICAgIHByaW50ZigiRkFJTDogVGVybWlu
YXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbiB3YXMgbm90IHRocm93biBkdXJpbmcgdGltZW91dCBleHRl
bnNpb24gdGVzdC5cbiIpOwotCi0gICAgICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICB9
Ci0gICAgfQorICAgIGZhaWxlZCA9IHRlc3RFeGVjdXRpb25UaW1lTGltaXQoJmNvbnRleHQpIHx8
IGZhaWxlZDsKICNlbmRpZiAvKiBPUyhEQVJXSU4pICovCiAKICAgICAvLyBDbGVhciBvdXQgbG9j
YWwgdmFyaWFibGVzIHBvaW50aW5nIGF0IEpTT2JqZWN0UmVmcyB0byBhbGxvdyB0aGVpciB2YWx1
ZXMgdG8gYmUgY29sbGVjdGVkCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMTgxNjY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTc0LDYgKzc0LDcgQEAK
IC8qIEVuZCBQQlhBZ2dyZWdhdGVUYXJnZXQgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhCdWls
ZEZpbGUgc2VjdGlvbiAqLworCQkwQTY0NDE1MTk0MjBBNkM2MUFEMTg4MkUgLyogTWFwRGF0YUlu
bGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5
M0Q0M0NDQTBCQkUwNkQ4OUM1OTcwNyAvKiBNYXBEYXRhSW5saW5lcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMDEyMzMyMTk0NEVBMUIwMDg0
M0EwQyAvKiBERkdWYWx1ZVN0cmVuZ3RoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDEyMzMwMTk0NEVBMUIwMDg0M0EwQyAvKiBERkdWYWx1ZVN0
cmVuZ3RoLmNwcCAqLzsgfTsKIAkJMEYwMTIzMzMxOTQ0RUExQjAwODQzQTBDIC8qIERGR1ZhbHVl
U3RyZW5ndGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMDEyMzMxMTk0NEVBMUIwMDg0M0EwQyAvKiBERkdWYWx1ZVN0cmVuZ3RoLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYwMzMyQzAxOEFERkFF
MTAwNUY5NzlBIC8qIEV4aXRpbmdKSVRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMDMzMkJGMThBREZBRTEwMDVGOTc5QSAvKiBFeGl0aW5n
SklUVHlwZS5jcHAgKi87IH07CkBAIC0xMzMxLDcgKzEzMzIsNiBAQAogCQlBNzg0QTI2MTExRDE2
NjIyMDA1Nzc2QUMgLyogQVNUQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTdBN0VFNzQxMUI5OEI4RDAwNjVBMTRGIC8qIEFTVEJ1aWxkZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzg0
QTI2NDExRDE2NjIyMDA1Nzc2QUMgLyogU3ludGF4Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdBN0VFNzcxMUI5OEI4RDAwNjVBMTRGIC8q
IFN5bnRheENoZWNrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlBNzg1MDdENzE3Q0JDNkZEMDAxMUY2RTcgLyogTWFwRGF0YS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4NTA3RDUxN0NCQzZGRDAw
MTFGNkU3IC8qIE1hcERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQkwQTY0NDE1MTk0MjBBNkM2MUFEMTg4MkUgLyogTWFwRGF0YUlubGluZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5M0Q0M0ND
QTBCQkUwNkQ4OUM1OTcwNyAvKiBNYXBEYXRhSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3ODVGNkJDMThDNTUzRkUwMEYxMDYyNiAv
KiBTcGlsbFJlZ2lzdGVyc01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3RkY2NDdBMThDNTJFODUwMEI1NTMwNyAvKiBTcGlsbFJlZ2lzdGVyc01v
ZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlB
Nzg4NTNGOTE3OTcyNjI5MDAxNDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzg4NTNGNzE3OTcy
NjI5MDAxNDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5jcHAgKi87IH07CiAJCUE3ODg1
M0ZBMTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzg4NTNGODE3OTcyNjI5MDAx
NDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjExLDYgKzE2MTEsNyBAQAogCQlFNDlEQzE2
QjEyRUYyOTNFMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDlEQzE1NTEyRUYyNzcyMDAxODRB
MUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5jcHAgKi87IH07CiAJCUU0OURDMTZDMTJFRjI5NEUw
MDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDlEQzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNl
UHJvdmlkZXJDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUU0OURDMTZEMTJFRjI5NTMwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5
REMxNDkxMkVGMjYxQTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkUwRDRBMDYxQUI4
REQwQTAwMkY1NEJGIC8qIEV4ZWN1dGlvblRpbWVMaW1pdFRlc3QuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUwRDRBMDQxQUI4REQwQTAwMkY1NEJG
IC8qIEV4ZWN1dGlvblRpbWVMaW1pdFRlc3QuY3BwICovOyB9OwogCQlGRTIwQ0U5RDE1RjA0QTk1
MDBERjM0MzAgLyogTExJbnRDTG9vcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTIwQ0U5QjE1RjA0QTk1MDBERjM0MzAgLyogTExJbnRDTG9vcC5j
cHAgKi87IH07CiAJCUZFMjBDRTlFMTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTIwQ0U5QzE1RjA0
QTk1MDBERjM0MzAgLyogTExJbnRDTG9vcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUZFNEEzMzFGMTVCRDJFMDcwMDZGNTRGMyAvKiBWTUluc3Bl
Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RTRBMzMxRDE1QkQyRTA3MDA2RjU0RjMgLyogVk1JbnNwZWN0b3IuY3BwICovOyB9OwpAQCAtMjU3
NSw2ICsyNTc2LDcgQEAKIAkJNTJDOTUyQjYxOUEyODk4NTAwNjlCMzg2IC8qIFR5cGVQcm9maWxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlUHJvZmlsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTJDOTUyQjgxOUEyOEExQzAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBUeXBlUHJvZmlsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1NTQwNzU4NDE4RjRBMzc1MDA2MDJBNUQgLyogQ29tcGlsZVJ1bnRpbWVUb0xMVk1J
Ui54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBDb21waWxlUnVudGlt
ZVRvTExWTUlSLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1OTNENDND
Q0EwQkJFMDZEODlDNTk3MDcgLyogTWFwRGF0YUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWFwRGF0YUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNUQ1MzcyNkQwRTFDNTQ2QjAwMjFFNTQ5IC8qIFRyYWNpbmcuZCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBUcmFjaW5nLmQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVENTM3
MjZFMEUxQzU0ODgwMDIxRTU0OSAvKiBUcmFjaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRyYWNpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQ1Mzcy
N0QwRTFDNTVFQzAwMjFFNTQ5IC8qIFRyYWNpbmdEdHJhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVHJhY2luZ0R0cmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMzAzOSw3ICszMDQxLDYgQEAKIAkJQTc3RjE4MjAxNjQwODhCMjAwNjQwQTQ3IC8qIENv
ZGVDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2RlQ2FjaGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3RjE4MjQxNjQxOTI1NDAwNjQwQTQ3IC8q
IFBhcnNlck1vZGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlck1vZGVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3ODUwN0Q1MTdDQkM2RkQwMDExRjZFNyAvKiBNYXBEYXRhLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcERhdGEuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNTkzRDQzQ0NBMEJCRTA2RDg5QzU5NzA3IC8qIE1hcERhdGFJbmxp
bmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcERhdGFJbmxpbmVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3ODg1M0Y3MTc5NzI2MjkwMDE0NDBFNCAv
KiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEludGVuZGVkU3RydWN0dXJlQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBNzg4NTNGODE3OTcyNjI5MDAxNDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVD
aGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlbmRlZFN0cnVjdHVy
ZUNoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3OEE5NzZDMTc5NzM4Qjgw
MDlERjc0NCAvKiBERkdGYWlsZWRGaW5hbGl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gREZHRmFpbGVkRmluYWxpemVyLmNwcDsgcGF0aCA9IGRmZy9ERkdGYWls
ZWRGaW5hbGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzM1Nyw2ICsz
MzU4LDggQEAKIAkJRjY5MkE4N0QwMjU1NTk3RDAxRkY2MEY3IC8qIFJlZ0V4cC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHAu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCUY2OTJBODdF
MDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdFeHAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHRhYldpZHRoID0gODsgfTsKIAkJRjY5MkE4ODcwMjU1NTk3RDAxRkY2MEY3IC8qIEpTQ0pTVmFs
dWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDSlNWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0g
ODsgfTsKKwkJRkUwRDRBMDQxQUI4REQwQTAwMkY1NEJGIC8qIEV4ZWN1dGlvblRpbWVMaW1pdFRl
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRXhlY3V0aW9uVGlt
ZUxpbWl0VGVzdC5jcHA7IHBhdGggPSBBUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFMEQ0QTA1MUFCOEREMEEwMDJGNTRC
RiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEV4ZWN1dGlvblRpbWVMaW1pdFRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9FeGVjdXRp
b25UaW1lTGltaXRUZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFMjBDRTlC
MTVGMDRBOTUwMERGMzQzMCAvKiBMTEludENMb29wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IExMSW50Q0xvb3AuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRDTG9vcC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFMjBDRTlDMTVGMDRBOTUwMERGMzQz
MCAvKiBMTEludENMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50
Q0xvb3AuaDsgcGF0aCA9IGxsaW50L0xMSW50Q0xvb3AuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkU0QTMzMUQxNUJEMkUwNzAwNkY1NEYzIC8qIFZNSW5zcGVjdG9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZNSW5zcGVjdG9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM3NDIsNiArMzc0NSw4IEBACiAJCQkJQzI5RUNCMDEx
ODA0RDBFRDAwRDJDQkI0IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0Lm1tICov
LAogCQkJCUMyODhCMkRDMThBNTREM0UwMDdCRTQwQiAvKiBEYXRlVGVzdHMuaCAqLywKIAkJCQlD
Mjg4QjJERDE4QTU0RDNFMDA3QkU0MEIgLyogRGF0ZVRlc3RzLm1tICovLAorCQkJCUZFMEQ0QTA0
MUFCOEREMEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcCAqLywKKwkJCQlG
RTBENEEwNTFBQjhERDBBMDAyRjU0QkYgLyogRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5oICovLAog
CQkJCUMyMTgxRkMwMThBOTQ4RkIwMDI1QTIzNSAvKiBKU0V4cG9ydFRlc3RzLmggKi8sCiAJCQkJ
QzIxODFGQzExOEE5NDhGQjAwMjVBMjM1IC8qIEpTRXhwb3J0VGVzdHMubW0gKi8sCiAJCQkJNjU1
NzBGNTgxQUE0QzAwQTAwOUIzQzIzIC8qIFJlZ3Jlc3MxNDEyNzUuaCAqLywKQEAgLTY3OTEsNiAr
Njc5Niw3IEBACiAJCQkJRkVGMDQwNTExQUFFNjYyRDAwQkQyOEIwIC8qIENvbXBhcmVBbmRTd2Fw
VGVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDQwRjYxMDBBNEY4NTY3MDAwNUYwNjEgLyog
dGVzdGFwaS5jIGluIFNvdXJjZXMgKi8sCiAJCQkJODZEMjIyMUExNjdFRjk0NDAwMjRDODA0IC8q
IHRlc3RhcGkubW0gaW4gU291cmNlcyAqLywKKwkJCQlGRTBENEEwNjFBQjhERDBBMDAyRjU0QkYg
LyogRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
</data>
<flag name="review"
          id="273735"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>