<?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>220888</bug_id>
          
          <creation_ts>2021-01-22 21:22:26 -0800</creation_ts>
          <short_desc>[JSC] DeferredWorkTimer should clear pending task after running</short_desc>
          <delta_ts>2021-01-23 14:12:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1721819</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-22 21:22:26 -0800</bug_when>
    <thetext>[JSC] DeferredWorkTimer should clear pending task after running</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721820</commentid>
    <comment_count>1</comment_count>
      <attachid>418210</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-22 21:28:15 -0800</bug_when>
    <thetext>Created attachment 418210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721821</commentid>
    <comment_count>2</comment_count>
      <attachid>418211</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-22 21:31:39 -0800</bug_when>
    <thetext>Created attachment 418211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721827</commentid>
    <comment_count>3</comment_count>
      <attachid>418211</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-22 23:12:08 -0800</bug_when>
    <thetext>Comment on attachment 418211
Patch

Looking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721831</commentid>
    <comment_count>4</comment_count>
      <attachid>418219</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-22 23:44:00 -0800</bug_when>
    <thetext>Created attachment 418219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721833</commentid>
    <comment_count>5</comment_count>
      <attachid>418220</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-23 02:18:20 -0800</bug_when>
    <thetext>Created attachment 418220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721859</commentid>
    <comment_count>6</comment_count>
      <attachid>418220</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-01-23 11:33:59 -0800</bug_when>
    <thetext>Comment on attachment 418220
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=418220&amp;action=review

r=me

&gt; Source/JavaScriptCore/runtime/JSPromise.cpp:-186
&gt; -    vm.deferredWorkTimer-&gt;cancelPendingWork(this);

Is there a reason to still keep DeferredWorkTimer::cancelPendingWork()?  I see that you&apos;ve removed all calls to it.  If not, we should remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721880</commentid>
    <comment_count>7</comment_count>
      <attachid>418220</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-23 14:07:48 -0800</bug_when>
    <thetext>Comment on attachment 418220
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=418220&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/JSPromise.cpp:-186
&gt;&gt; -    vm.deferredWorkTimer-&gt;cancelPendingWork(this);
&gt; 
&gt; Is there a reason to still keep DeferredWorkTimer::cancelPendingWork()?  I see that you&apos;ve removed all calls to it.  If not, we should remove it.

There are no users, so we can remove it :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721885</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-23 14:11:39 -0800</bug_when>
    <thetext>Committed r271781: &lt;https://trac.webkit.org/changeset/271781&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721886</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-23 14:12:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/73539704&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418210</attachid>
            <date>2021-01-22 21:28:15 -0800</date>
            <delta_ts>2021-01-22 21:31:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220888-20210122212815.patch</filename>
            <type>text/plain</type>
            <size>5188</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzM3MzJjMjZjZGZlMjZiNGE0NjMzMjZmYWE2ZThkOTVkZmUwNzAyLi5iYjcyYTJmYTQ5MjIxY2Q2
OWFhZmRiZThjZDdiYjAzOWUzNjIwM2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wMS0yMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERlZmVycmVkV29ya1RpbWVyIHNob3VsZCBjbGVhciBwZW5kaW5n
IHRhc2sgYWZ0ZXIgcnVubmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIwODg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2FzbSBjb2RlIGFzc3VtZXMgdGhhdCBzY2hlZHVsZVdvcmtTb29uIGNsZWFy
cyBwZW5kaW5nIGRlcGVuZGVuY2llcy4gQnV0IERlZmVycmVkV29ya1RpbWVyIGlzIG5vdCBjbGVh
cmluZyBpdCwgYW5kIGluc3RlYWQsIEZpbmFsaXphdGlvblJlZ2lzdHJ5IGV0Yy4gaXMgY2xlYXJp
bmcKKyAgICAgICAgaXQgZXhwbGljaXRseS4gVGhpcyBzZW1hbnRpY3MgaXMgcHJvYmxlbWF0aWMu
IFdlIGFyZSBwdXR0aW5nIGNhbmNlbFBlbmRpbmdXb3JrIGluIEpTUHJvbWlzZTo6cmVzb2x2ZSAv
IEpTUHJvbWlzZTo6cmVqZWN0LiBCdXQgdGhleSBkbyBub3Qgd29yayBzaW5jZSB0aGlzIGlzIEMr
KworICAgICAgICB2ZXJzaW9uIG9mIHRoZW0sIGFuZCBKU1Byb21pc2UgaGFzIEpTIHZlcnNpb24g
b2YgdGhlbS4gQW5kIGlmIEpTIHZlcnNpb24gaXMgY2FsbGVkLCBjYW5jZWxQZW5kaW5nV29yayBp
cyBub3QgY2FsbGVkLiBBbmQgd2UgZG8gbm90IHdhbnQgdG8gY29tcGxpY2F0ZSBKU1Byb21pc2Un
cworICAgICAgICByZWplY3QgLyByZXNvbHZlIHBhdGggc2luY2UgdGhpcyBpcyBzdXBlciBob3Qs
IGFuZCB3ZSBzaG91bGQga2VlcCB0aGVtIGluIEpTLgorICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91
bGQgYWx3YXlzIGNsZWFyIHBlbmRpbmcgdGFzayBpZiBpdCBpcyBjYWxsZWQuCisKKyAgICAgICAg
KiBqc2MuY3BwOgorICAgICAgICAoSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAg
KiBydW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmNwcDoKKyAgICAgICAgKEpTQzo6RGVmZXJyZWRX
b3JrVGltZXI6OmRvV29yayk6CisgICAgICAgICogcnVudGltZS9KU0ZpbmFsaXphdGlvblJlZ2lz
dHJ5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNGaW5hbGl6YXRpb25SZWdpc3RyeTo6ZmluYWxpemVV
bmNvbmRpdGlvbmFsbHkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNQcm9taXNlOjpyZXNvbHZlKToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjpy
ZWplY3QpOgorCiAyMDIxLTAxLTIyICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgU2hvdWxkIFNoYXJlZEFycmF5QnVmZmVyL1dlYkFzc2VtYmx5Lk1lbW9yeSBy
ZWFsbHkgdGhyb3c/CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IGUzM2ViMmJjNmE4MTViZjI0ZjUy
MjU4NzZiYjRmMjc1YTBlYzc3YjMuLmI5MDNkNTBkOWUyZDUyYzRjNDgyODkzMWUxNmJhMDk0YjQ2
MTNlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0yMzQ0LDExICsyMzQ0LDggQEAgSlNDX0RF
RklORV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uU2V0VGltZW91dCwgKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENhbGwKICAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+YWRkUGVuZGluZ1dv
cmsodm0sIGNhbGxiYWNrLCB7IH0pOwogICAgIHZtLmRlZmVycmVkV29ya1RpbWVyLT5zY2hlZHVs
ZVdvcmtTb29uKGNhbGxiYWNrLCBbY2FsbGJhY2tdIHsKICAgICAgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGNhbGxiYWNrLT5nbG9iYWxPYmplY3QoKTsKLSAgICAgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotCiAgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFy
Z3M7CiAgICAgICAgIGNhbGwoZ2xvYmFsT2JqZWN0LCBjYWxsYmFjaywganNVbmRlZmluZWQoKSwg
YXJncywgIllvdSBzaG91bGRuJ3Qgc2VlIHRoaXMuLi4iKTsKLSAgICAgICAgdm0uZGVmZXJyZWRX
b3JrVGltZXItPmNhbmNlbFBlbmRpbmdXb3JrKGNhbGxiYWNrKTsKICAgICB9KTsKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuY3BwCmluZGV4IGRhNWQ4OTJk
OWFmMDJlYjhmNDkyY2IzYWRiMmFjNWI4NzIxY2VhOTEuLjNhZWI1Yzk0NzYwYmQ4OGUxNWYyZjIw
ZmI3YzE3MWQxMjdlZTZlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0RlZmVycmVkV29ya1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EZWZlcnJlZFdvcmtUaW1lci5jcHAKQEAgLTcyLDYgKzcyLDExIEBAIHZvaWQgRGVmZXJy
ZWRXb3JrVGltZXI6OmRvV29yayhWTSYgdm0pCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogCisgICAgICAgIC8vIFJlbW92ZSB0aWNrZXQgZnJvbSBtX3BlbmRpbmdUaWNrZXRzIHNpbmNl
IHdlIGFyZSBnb2luZyB0byBydW4gaXQuCisgICAgICAgIC8vIEJ1dCB3ZSB3YW50IHRvIGtlZXAg
dGlja2V0RGF0YSB3aGlsZSBydW5uaW5nIHRhc2sgc2luY2UgaXQgZW5zdXJlcyBkZXBlbmRlbmNp
ZXMgYXJlIHN0cm9uZ2x5IGhlbGQuCisgICAgICAgIGF1dG8gdGlja2V0RGF0YSA9IFdURk1vdmUo
cGVuZGluZ1RpY2tldC0+dmFsdWUpOworICAgICAgICBtX3BlbmRpbmdUaWNrZXRzLnJlbW92ZShw
ZW5kaW5nVGlja2V0KTsKKwogICAgICAgICAvLyBBbGxvdyB0YXNrcyB3ZSBhcmUgYWJvdXQgdG8g
cnVuIHRvIHNjaGVkdWxlIHdvcmsuCiAgICAgICAgIG1fY3VycmVudGx5UnVubmluZ1Rhc2sgPSB0
cnVlOwogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0ZpbmFsaXphdGlvblJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRmluYWxpemF0aW9uUmVnaXN0cnkuY3BwCmluZGV4IDRlMjg4MjlkNTcyZWQzYmQ0OTU3
YjAwYWUxNDZiNDJhMTNhMWVjOGUuLmQ3NTc1YmExNzIzYWU3N2I0NTEyZGI1YTQ2N2E0NzNkNTI2
ZTcwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRmluYWxp
emF0aW9uUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RmluYWxpemF0aW9uUmVnaXN0cnkuY3BwCkBAIC0xNTAsOSArMTUwLDcgQEAgdm9pZCBKU0ZpbmFs
aXphdGlvblJlZ2lzdHJ5OjpmaW5hbGl6ZVVuY29uZGl0aW9uYWxseShWTSYgdm0pCiAgICAgICAg
IEFTU0VSVCh2bS5kZWZlcnJlZFdvcmtUaW1lci0+aGFzUGVuZGluZ1dvcmsodGhpcykpOwogICAg
ICAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+c2NoZWR1bGVXb3JrU29vbih0aGlzLCBbdGhpc10g
ewogICAgICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2Jh
bE9iamVjdCgpOwotICAgICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAg
ICAgICAgICAgdGhpcy0+cnVuRmluYWxpemF0aW9uQ2xlYW51cChnbG9iYWxPYmplY3QpOwotICAg
ICAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmNhbmNlbFBlbmRpbmdXb3JrKHRoaXMpOwog
ICAgICAgICB9KTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1Byb21pc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQ
cm9taXNlLmNwcAppbmRleCBlODY3NTcyMTZiMjRiOTEwMmFjMTY5YmExYzVhZWNhMDE0ZTgwYzhk
Li5mOWU5OGVlZmYxODllYjBiMDY1MWQ1YzM1ZDcwNDRlMjUzMjljYWJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKQEAgLTE2OCw3ICsxNjgsNiBAQCB2
b2lkIEpTUHJvbWlzZTo6cmVzb2x2ZShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNWYWx1ZSB2YWx1ZSkKICAgICAgICAgY2FsbEZ1bmN0aW9uKGxleGljYWxHbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+cmVzb2x2ZVByb21pc2VGdW5jdGlvbigpLCB0aGlzLCB2YWx1ZSk7
CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAgICAgfQotICAg
IHZtLmRlZmVycmVkV29ya1RpbWVyLT5jYW5jZWxQZW5kaW5nV29yayh0aGlzKTsKIH0KIAogdm9p
ZCBKU1Byb21pc2U6OnJlamVjdChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNWYWx1ZSB2YWx1ZSkKQEAgLTE4Myw3ICsxODIsNiBAQCB2b2lkIEpTUHJvbWlzZTo6cmVqZWN0
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQogICAg
ICAgICBjYWxsRnVuY3Rpb24obGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5yZWpl
Y3RQcm9taXNlRnVuY3Rpb24oKSwgdGhpcywgdmFsdWUpOwogICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIH0KLSAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+
Y2FuY2VsUGVuZGluZ1dvcmsodGhpcyk7CiB9CiAKIHZvaWQgSlNQcm9taXNlOjpyZWplY3RBc0hh
bmRsZWQoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418211</attachid>
            <date>2021-01-22 21:31:39 -0800</date>
            <delta_ts>2021-01-22 23:43:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220888-20210122213138.patch</filename>
            <type>text/plain</type>
            <size>5456</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzM3MzJjMjZjZGZlMjZiNGE0NjMzMjZmYWE2ZThkOTVkZmUwNzAyLi5iYjcyYTJmYTQ5MjIxY2Q2
OWFhZmRiZThjZDdiYjAzOWUzNjIwM2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wMS0yMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERlZmVycmVkV29ya1RpbWVyIHNob3VsZCBjbGVhciBwZW5kaW5n
IHRhc2sgYWZ0ZXIgcnVubmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIwODg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2FzbSBjb2RlIGFzc3VtZXMgdGhhdCBzY2hlZHVsZVdvcmtTb29uIGNsZWFy
cyBwZW5kaW5nIGRlcGVuZGVuY2llcy4gQnV0IERlZmVycmVkV29ya1RpbWVyIGlzIG5vdCBjbGVh
cmluZyBpdCwgYW5kIGluc3RlYWQsIEZpbmFsaXphdGlvblJlZ2lzdHJ5IGV0Yy4gaXMgY2xlYXJp
bmcKKyAgICAgICAgaXQgZXhwbGljaXRseS4gVGhpcyBzZW1hbnRpY3MgaXMgcHJvYmxlbWF0aWMu
IFdlIGFyZSBwdXR0aW5nIGNhbmNlbFBlbmRpbmdXb3JrIGluIEpTUHJvbWlzZTo6cmVzb2x2ZSAv
IEpTUHJvbWlzZTo6cmVqZWN0LiBCdXQgdGhleSBkbyBub3Qgd29yayBzaW5jZSB0aGlzIGlzIEMr
KworICAgICAgICB2ZXJzaW9uIG9mIHRoZW0sIGFuZCBKU1Byb21pc2UgaGFzIEpTIHZlcnNpb24g
b2YgdGhlbS4gQW5kIGlmIEpTIHZlcnNpb24gaXMgY2FsbGVkLCBjYW5jZWxQZW5kaW5nV29yayBp
cyBub3QgY2FsbGVkLiBBbmQgd2UgZG8gbm90IHdhbnQgdG8gY29tcGxpY2F0ZSBKU1Byb21pc2Un
cworICAgICAgICByZWplY3QgLyByZXNvbHZlIHBhdGggc2luY2UgdGhpcyBpcyBzdXBlciBob3Qs
IGFuZCB3ZSBzaG91bGQga2VlcCB0aGVtIGluIEpTLgorICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91
bGQgYWx3YXlzIGNsZWFyIHBlbmRpbmcgdGFzayBpZiBpdCBpcyBjYWxsZWQuCisKKyAgICAgICAg
KiBqc2MuY3BwOgorICAgICAgICAoSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAg
KiBydW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmNwcDoKKyAgICAgICAgKEpTQzo6RGVmZXJyZWRX
b3JrVGltZXI6OmRvV29yayk6CisgICAgICAgICogcnVudGltZS9KU0ZpbmFsaXphdGlvblJlZ2lz
dHJ5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNGaW5hbGl6YXRpb25SZWdpc3RyeTo6ZmluYWxpemVV
bmNvbmRpdGlvbmFsbHkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNQcm9taXNlOjpyZXNvbHZlKToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjpy
ZWplY3QpOgorCiAyMDIxLTAxLTIyICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgU2hvdWxkIFNoYXJlZEFycmF5QnVmZmVyL1dlYkFzc2VtYmx5Lk1lbW9yeSBy
ZWFsbHkgdGhyb3c/CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IGUzM2ViMmJjNmE4MTViZjI0ZjUy
MjU4NzZiYjRmMjc1YTBlYzc3YjMuLmI5MDNkNTBkOWUyZDUyYzRjNDgyODkzMWUxNmJhMDk0YjQ2
MTNlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0yMzQ0LDExICsyMzQ0LDggQEAgSlNDX0RF
RklORV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uU2V0VGltZW91dCwgKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENhbGwKICAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+YWRkUGVuZGluZ1dv
cmsodm0sIGNhbGxiYWNrLCB7IH0pOwogICAgIHZtLmRlZmVycmVkV29ya1RpbWVyLT5zY2hlZHVs
ZVdvcmtTb29uKGNhbGxiYWNrLCBbY2FsbGJhY2tdIHsKICAgICAgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGNhbGxiYWNrLT5nbG9iYWxPYmplY3QoKTsKLSAgICAgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotCiAgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFy
Z3M7CiAgICAgICAgIGNhbGwoZ2xvYmFsT2JqZWN0LCBjYWxsYmFjaywganNVbmRlZmluZWQoKSwg
YXJncywgIllvdSBzaG91bGRuJ3Qgc2VlIHRoaXMuLi4iKTsKLSAgICAgICAgdm0uZGVmZXJyZWRX
b3JrVGltZXItPmNhbmNlbFBlbmRpbmdXb3JrKGNhbGxiYWNrKTsKICAgICB9KTsKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuY3BwCmluZGV4IGRhNWQ4OTJk
OWFmMDJlYjhmNDkyY2IzYWRiMmFjNWI4NzIxY2VhOTEuLjUzN2VmYmJkOGE5YjNiYjU5MjYxNDI2
ZDlkZmY0NWM4YWNhYTZkNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0RlZmVycmVkV29ya1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EZWZlcnJlZFdvcmtUaW1lci5jcHAKQEAgLTY3LDExICs2NywxNyBAQCB2b2lkIERlZmVy
cmVkV29ya1RpbWVyOjpkb1dvcmsoVk0mIHZtKQogICAgICAgICAgICAgc3VzcGVuZGVkVGFza3Mu
YXBwZW5kKHN0ZDo6bWFrZV90dXBsZSh0aWNrZXQsIFdURk1vdmUodGFzaykpKTsKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICBjYXNlIFNjcmlwdEV4ZWN1dGlvblN0YXR1czo6U3RvcHBl
ZDoKKyAgICAgICAgICAgIG1fcGVuZGluZ1RpY2tldHMucmVtb3ZlKHBlbmRpbmdUaWNrZXQpOwog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGNhc2UgU2NyaXB0RXhlY3V0aW9uU3RhdHVz
OjpSdW5uaW5nOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICAvLyBS
ZW1vdmUgdGlja2V0IGZyb20gbV9wZW5kaW5nVGlja2V0cyBzaW5jZSB3ZSBhcmUgZ29pbmcgdG8g
cnVuIGl0LgorICAgICAgICAvLyBCdXQgd2Ugd2FudCB0byBrZWVwIHRpY2tldERhdGEgd2hpbGUg
cnVubmluZyB0YXNrIHNpbmNlIGl0IGVuc3VyZXMgZGVwZW5kZW5jaWVzIGFyZSBzdHJvbmdseSBo
ZWxkLgorICAgICAgICBhdXRvIHRpY2tldERhdGEgPSBXVEZNb3ZlKHBlbmRpbmdUaWNrZXQtPnZh
bHVlKTsKKyAgICAgICAgbV9wZW5kaW5nVGlja2V0cy5yZW1vdmUocGVuZGluZ1RpY2tldCk7CisK
ICAgICAgICAgLy8gQWxsb3cgdGFza3Mgd2UgYXJlIGFib3V0IHRvIHJ1biB0byBzY2hlZHVsZSB3
b3JrLgogICAgICAgICBtX2N1cnJlbnRseVJ1bm5pbmdUYXNrID0gdHJ1ZTsKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGaW5hbGl6YXRpb25S
ZWdpc3RyeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ZpbmFsaXphdGlv
blJlZ2lzdHJ5LmNwcAppbmRleCA0ZTI4ODI5ZDU3MmVkM2JkNDk1N2IwMGFlMTQ2YjQyYTEzYTFl
YzhlLi5kNzU3NWJhMTcyM2FlNzdiNDUxMmRiNWE0NjdhNDczZDUyNmU3MDc3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ZpbmFsaXphdGlvblJlZ2lzdHJ5LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ZpbmFsaXphdGlvblJlZ2lz
dHJ5LmNwcApAQCAtMTUwLDkgKzE1MCw3IEBAIHZvaWQgSlNGaW5hbGl6YXRpb25SZWdpc3RyeTo6
ZmluYWxpemVVbmNvbmRpdGlvbmFsbHkoVk0mIHZtKQogICAgICAgICBBU1NFUlQodm0uZGVmZXJy
ZWRXb3JrVGltZXItPmhhc1BlbmRpbmdXb3JrKHRoaXMpKTsKICAgICAgICAgdm0uZGVmZXJyZWRX
b3JrVGltZXItPnNjaGVkdWxlV29ya1Nvb24odGhpcywgW3RoaXNdIHsKICAgICAgICAgICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsKLSAgICAg
ICAgICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICAgICAgICAgIHRoaXMtPnJ1
bkZpbmFsaXphdGlvbkNsZWFudXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgICAgIHZtLmRlZmVy
cmVkV29ya1RpbWVyLT5jYW5jZWxQZW5kaW5nV29yayh0aGlzKTsKICAgICAgICAgfSk7CiAgICAg
fQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKaW5kZXgg
ZTg2NzU3MjE2YjI0YjkxMDJhYzE2OWJhMWM1YWVjYTAxNGU4MGM4ZC4uZjllOThlZWZmMTg5ZWIw
YjA2NTFkNWMzNWQ3MDQ0ZTI1MzI5Y2FiZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb21pc2UuY3BwCkBAIC0xNjgsNyArMTY4LDYgQEAgdm9pZCBKU1Byb21pc2U6OnJl
c29sdmUoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUp
CiAgICAgICAgIGNhbGxGdW5jdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3Qt
PnJlc29sdmVQcm9taXNlRnVuY3Rpb24oKSwgdGhpcywgdmFsdWUpOwogICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIH0KLSAgICB2bS5kZWZlcnJlZFdvcmtU
aW1lci0+Y2FuY2VsUGVuZGluZ1dvcmsodGhpcyk7CiB9CiAKIHZvaWQgSlNQcm9taXNlOjpyZWpl
Y3QoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCkBA
IC0xODMsNyArMTgyLDYgQEAgdm9pZCBKU1Byb21pc2U6OnJlamVjdChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKICAgICAgICAgY2FsbEZ1bmN0aW9u
KGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+cmVqZWN0UHJvbWlzZUZ1bmN0aW9u
KCksIHRoaXMsIHZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9p
ZCgpKTsKICAgICB9Ci0gICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmNhbmNlbFBlbmRpbmdXb3Jr
KHRoaXMpOwogfQogCiB2b2lkIEpTUHJvbWlzZTo6cmVqZWN0QXNIYW5kbGVkKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418219</attachid>
            <date>2021-01-22 23:44:00 -0800</date>
            <delta_ts>2021-01-23 02:18:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220888-20210122234400.patch</filename>
            <type>text/plain</type>
            <size>14560</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzM3MzJjMjZjZGZlMjZiNGE0NjMzMjZmYWE2ZThkOTVkZmUwNzAyLi44ZWIxNjViNjY0MmFiMGNl
NjJhMGVjNTExZDMzZWQ5NDE1OGZkMGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMS0wMS0yMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERlZmVycmVkV29ya1RpbWVyIHNob3VsZCBjbGVhciBwZW5kaW5n
IHRhc2sgYWZ0ZXIgcnVubmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIwODg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2FzbSBjb2RlIGFzc3VtZXMgdGhhdCBzY2hlZHVsZVdvcmtTb29uIGNsZWFy
cyBwZW5kaW5nIGRlcGVuZGVuY2llcy4gQnV0IERlZmVycmVkV29ya1RpbWVyIGlzIG5vdCBjbGVh
cmluZyBpdCwgYW5kIGluc3RlYWQsIEZpbmFsaXphdGlvblJlZ2lzdHJ5IGV0Yy4gaXMgY2xlYXJp
bmcKKyAgICAgICAgaXQgZXhwbGljaXRseS4gVGhpcyBzZW1hbnRpY3MgaXMgcHJvYmxlbWF0aWMu
IFdlIGFyZSBwdXR0aW5nIGNhbmNlbFBlbmRpbmdXb3JrIGluIEpTUHJvbWlzZTo6cmVzb2x2ZSAv
IEpTUHJvbWlzZTo6cmVqZWN0LiBCdXQgdGhleSBkbyBub3Qgd29yayBzaW5jZSB0aGlzIGlzIEMr
KworICAgICAgICB2ZXJzaW9uIG9mIHRoZW0sIGFuZCBKU1Byb21pc2UgaGFzIEpTIHZlcnNpb24g
b2YgdGhlbS4gQW5kIGlmIEpTIHZlcnNpb24gaXMgY2FsbGVkLCBjYW5jZWxQZW5kaW5nV29yayBp
cyBub3QgY2FsbGVkLiBBbmQgd2UgZG8gbm90IHdhbnQgdG8gY29tcGxpY2F0ZSBKU1Byb21pc2Un
cworICAgICAgICByZWplY3QgLyByZXNvbHZlIHBhdGggc2luY2UgdGhpcyBpcyBzdXBlciBob3Qs
IGFuZCB3ZSBzaG91bGQga2VlcCB0aGVtIGluIEpTLgorICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91
bGQgYWx3YXlzIGNsZWFyIHBlbmRpbmcgdGFzayBpZiBpdCBpcyBjYWxsZWQuCisKKyAgICAgICAg
KiBqc2MuY3BwOgorICAgICAgICAoSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAg
KiBydW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmNwcDoKKyAgICAgICAgKEpTQzo6RGVmZXJyZWRX
b3JrVGltZXI6OmRvV29yayk6CisgICAgICAgICogcnVudGltZS9EZWZlcnJlZFdvcmtUaW1lci5o
OgorICAgICAgICAqIHJ1bnRpbWUvSlNGaW5hbGl6YXRpb25SZWdpc3RyeS5jcHA6CisgICAgICAg
IChKU0M6OkpTRmluYWxpemF0aW9uUmVnaXN0cnk6OmZpbmFsaXplVW5jb25kaXRpb25hbGx5KToK
KyAgICAgICAgKiBydW50aW1lL0pTUHJvbWlzZS5jcHA6CisgICAgICAgIChKU0M6OkpTUHJvbWlz
ZTo6cmVzb2x2ZSk6IFJlbW92ZSB0aGlzIHdvcmstYXJvdW5kLCBhbmQgaW5zdGVhZCwgd2UgbXVz
dCBjYWxsIHNjaGVkdWxlV29ya1Nvb24gaWYgYWRkUGVuZGluZ1dvcmsgaXMgY2FsbGVkLgorICAg
ICAgICAoSlNDOjpKU1Byb21pc2U6OnJlamVjdCk6IERpdHRvLgorICAgICAgICAqIHdhc20vanMv
SlNXZWJBc3NlbWJseS5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHk6OndlYkFzc2Vt
Ymx5TW9kdWxlVmFsaWRhdGVBc3luYyk6CisgICAgICAgIChKU0M6Omluc3RhbnRpYXRlKTogVXNl
IGluc3RhbmNlIGZvciBUaWNrZXQgaW5zdGVhZCBvZiBwcm9taXNlIHRvIGRpc2FtYmlndWF0ZSB0
aGUgdGlja2V0IHNjaGVkdWxpbmcgZnJvbSBjb21waWxlQW5kSW5zdGFudGlhdGUncyBvbmUgZWFz
aWx5LgorICAgICAgICAoSlNDOjpjb21waWxlQW5kSW5zdGFudGlhdGUpOiBUaGVyZSBhcmUgcGF0
aCB0aGF0IHdlIGRvIG5vdCBjYWxsIHNjaGVkdWxlV29ya1Nvb24gd2hpbGUgd2UgY2FsbCBhZGRQ
ZW5kaW5nV29yaywgdGhpcyBpcyB3cm9uZywgYW5kIEpTUHJvbWlzZSdzIHdvcmthcm91bmQgaXMg
YWRkZWQgdG8KKyAgICAgICAgYWxsZXZpYXRlIHRoaXMgc2l0dWF0aW9uLiBXZSBzaG91bGQgbm90
IGRvIHRoYXQ6IHdlIG11c3QgY2FsbCBzY2hlZHVsZVdvcmtTb29uIGF0IHNvbWUgcG9pbnQgaWYg
YWRkUGVuZGluZ1dvcmsgaXMgY2FsbGVkLgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5Ojp3
ZWJBc3NlbWJseU1vZHVsZUluc3RhbnRpbmF0ZUFzeW5jKToKKwogMjAyMS0wMS0yMiAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFNob3VsZCBTaGFyZWRBcnJh
eUJ1ZmZlci9XZWJBc3NlbWJseS5NZW1vcnkgcmVhbGx5IHRocm93PwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNw
cAppbmRleCBlMzNlYjJiYzZhODE1YmYyNGY1MjI1ODc2YmI0ZjI3NWEwZWM3N2IzLi4zMWQ5YWJj
YjMxZTEzNDVlM2QwMWIxMzU3ODY4MjUzMDEyMmQxYjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApA
QCAtMjM0MiwxMyArMjM0MiwxMCBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25T
ZXRUaW1lb3V0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbAogCiAgICAgLy8g
RklYTUU6IFdlIGRvbid0IGxvb2sgYXQgdGhlIHRpbWVvdXQgcGFyYW1ldGVyIGJlY2F1c2Ugd2Ug
ZG9uJ3QgaGF2ZSBhIHNjaGVkdWxlIHdvcmsgbGF0ZXIgQVBJLgogICAgIHZtLmRlZmVycmVkV29y
a1RpbWVyLT5hZGRQZW5kaW5nV29yayh2bSwgY2FsbGJhY2ssIHsgfSk7Ci0gICAgdm0uZGVmZXJy
ZWRXb3JrVGltZXItPnNjaGVkdWxlV29ya1Nvb24oY2FsbGJhY2ssIFtjYWxsYmFja10geworICAg
IHZtLmRlZmVycmVkV29ya1RpbWVyLT5zY2hlZHVsZVdvcmtTb29uKGNhbGxiYWNrLCBbY2FsbGJh
Y2tdKERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXQsIERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXRE
YXRhJiYpIHsKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGNhbGxiYWNr
LT5nbG9iYWxPYmplY3QoKTsKLSAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwot
CiAgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgICAgIGNhbGwoZ2xvYmFs
T2JqZWN0LCBjYWxsYmFjaywganNVbmRlZmluZWQoKSwgYXJncywgIllvdSBzaG91bGRuJ3Qgc2Vl
IHRoaXMuLi4iKTsKLSAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmNhbmNlbFBlbmRpbmdX
b3JrKGNhbGxiYWNrKTsKICAgICB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGVmZXJyZWRXb3JrVGltZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVm
ZXJyZWRXb3JrVGltZXIuY3BwCmluZGV4IGRhNWQ4OTJkOWFmMDJlYjhmNDkyY2IzYWRiMmFjNWI4
NzIxY2VhOTEuLmRmMTA4OWE4ZDAzZDA2YjNhOGY1Yzk2M2JhMjQ5M2ZiNzljNWUwZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtUaW1lci5j
cHAKQEAgLTY3LDExICs2NywxNyBAQCB2b2lkIERlZmVycmVkV29ya1RpbWVyOjpkb1dvcmsoVk0m
IHZtKQogICAgICAgICAgICAgc3VzcGVuZGVkVGFza3MuYXBwZW5kKHN0ZDo6bWFrZV90dXBsZSh0
aWNrZXQsIFdURk1vdmUodGFzaykpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBj
YXNlIFNjcmlwdEV4ZWN1dGlvblN0YXR1czo6U3RvcHBlZDoKKyAgICAgICAgICAgIG1fcGVuZGlu
Z1RpY2tldHMucmVtb3ZlKHBlbmRpbmdUaWNrZXQpOwogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIGNhc2UgU2NyaXB0RXhlY3V0aW9uU3RhdHVzOjpSdW5uaW5nOgogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICAvLyBSZW1vdmUgdGlja2V0IGZyb20gbV9wZW5k
aW5nVGlja2V0cyBzaW5jZSB3ZSBhcmUgZ29pbmcgdG8gcnVuIGl0LgorICAgICAgICAvLyBCdXQg
d2Ugd2FudCB0byBrZWVwIHRpY2tldERhdGEgd2hpbGUgcnVubmluZyB0YXNrIHNpbmNlIGl0IGVu
c3VyZXMgZGVwZW5kZW5jaWVzIGFyZSBzdHJvbmdseSBoZWxkLgorICAgICAgICBhdXRvIHRpY2tl
dERhdGEgPSBXVEZNb3ZlKHBlbmRpbmdUaWNrZXQtPnZhbHVlKTsKKyAgICAgICAgbV9wZW5kaW5n
VGlja2V0cy5yZW1vdmUocGVuZGluZ1RpY2tldCk7CisKICAgICAgICAgLy8gQWxsb3cgdGFza3Mg
d2UgYXJlIGFib3V0IHRvIHJ1biB0byBzY2hlZHVsZSB3b3JrLgogICAgICAgICBtX2N1cnJlbnRs
eVJ1bm5pbmdUYXNrID0gdHJ1ZTsKICAgICAgICAgewpAQCAtODEsNyArODcsNyBAQCB2b2lkIERl
ZmVycmVkV29ya1RpbWVyOjpkb1dvcmsoVk0mIHZtKQogICAgICAgICAgICAgdm0uZmluYWxpemVT
eW5jaHJvbm91c0pTRXhlY3V0aW9uKCk7CiAKICAgICAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX0NBVENIX1NDT1BFKHZtKTsKLSAgICAgICAgICAgIHRhc2soKTsKKyAgICAgICAgICAgIHRh
c2sodGlja2V0LCBXVEZNb3ZlKHRpY2tldERhdGEpKTsKICAgICAgICAgICAgIGlmIChFeGNlcHRp
b24qIGV4Y2VwdGlvbiA9IHNjb3BlLmV4Y2VwdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgYXV0
byogZ2xvYmFsT2JqZWN0ID0gdGlja2V0LT5nbG9iYWxPYmplY3QoKTsKICAgICAgICAgICAgICAg
ICBzY29wZS5jbGVhckV4Y2VwdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmgKaW5kZXggYzEzMTIwNDU4MjI1ZWEwMTgwYmVjOWYy
MDMxY2FmNThiNDQ1OTE3Yi4uNmM5OGNhYWY1ODFiMWNmYzAxYWExOTExNzE0YjNkYjI3YmRmMDIx
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVmZXJyZWRXb3Jr
VGltZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtU
aW1lci5oCkBAIC00Myw2ICs0MywxMSBAQCBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBEZWZlcnJl
ZFdvcmtUaW1lciBmaW5hbCA6IHB1YmxpYyBKU1J1bkxvb3BUaW1lciB7CiBwdWJsaWM6CiAgICAg
dXNpbmcgQmFzZSA9IEpTUnVuTG9vcFRpbWVyOwogCisgICAgc3RydWN0IFRpY2tldERhdGEgewor
ICAgICAgICBWZWN0b3I8U3Ryb25nPEpTQ2VsbD4+IGRlcGVuZGVuY2llczsKKyAgICAgICAgU3Ry
b25nPEpTT2JqZWN0PiBzY3JpcHRFeGVjdXRpb25Pd25lcjsKKyAgICB9OworCiAgICAgdm9pZCBk
b1dvcmsoVk0mKSBmaW5hbDsKIAogICAgIHVzaW5nIFRpY2tldCA9IEpTT2JqZWN0KjsKQEAgLTU2
LDcgKzYxLDcgQEAgY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgRGVmZXJyZWRXb3JrVGltZXIgZmlu
YWwgOiBwdWJsaWMgSlNSdW5Mb29wVGltZXIgewogICAgIC8vIHRvIG1ha2Ugc3VyZSB5b3VyIG1l
bW9yeSBvd25lcnNoaXAgbW9kZWwgd29uJ3QgbGVhayBtZW1vcnkgd2hlbgogICAgIC8vIHRoaXMg
b2NjdXJzLiBUaGUgZWFzaWVzdCB3YXkgaXMgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcgaXMgZWl0
aGVyIG93bmVkCiAgICAgLy8gYnkgYSBHQydkIHZhbHVlIGluIGRlcGVuZGVuY2llcyBvciBieSB0
aGUgVGFzayBsYW1iZGEuCi0gICAgdXNpbmcgVGFzayA9IEZ1bmN0aW9uPHZvaWQoKT47CisgICAg
dXNpbmcgVGFzayA9IEZ1bmN0aW9uPHZvaWQoVGlja2V0LCBUaWNrZXREYXRhJiYpPjsKICAgICB2
b2lkIHNjaGVkdWxlV29ya1Nvb24oVGlja2V0LCBUYXNrJiYpOwogICAgIHZvaWQgZGlkUmVzdW1l
U2NyaXB0RXhlY3V0aW9uT3duZXIoKTsKIApAQCAtNzIsMTAgKzc3LDYgQEAgY2xhc3MgSlNfRVhQ
T1JUX1BSSVZBVEUgRGVmZXJyZWRXb3JrVGltZXIgZmluYWwgOiBwdWJsaWMgSlNSdW5Mb29wVGlt
ZXIgewogICAgIGJvb2wgbV9zaG91bGRTdG9wUnVuTG9vcFdoZW5BbGxUaWNrZXRzRmluaXNoIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fY3VycmVudGx5UnVubmluZ1Rhc2sgeyBmYWxzZSB9OwogICAg
IERlcXVlPHN0ZDo6dHVwbGU8VGlja2V0LCBUYXNrPj4gbV90YXNrczsKLSAgICBzdHJ1Y3QgVGlj
a2V0RGF0YSB7Ci0gICAgICAgIFZlY3RvcjxTdHJvbmc8SlNDZWxsPj4gZGVwZW5kZW5jaWVzOwot
ICAgICAgICBTdHJvbmc8SlNPYmplY3Q+IHNjcmlwdEV4ZWN1dGlvbk93bmVyOwotICAgIH07CiAg
ICAgSGFzaE1hcDxUaWNrZXQsIFRpY2tldERhdGE+IG1fcGVuZGluZ1RpY2tldHM7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ZpbmFsaXphdGlvblJl
Z2lzdHJ5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRmluYWxpemF0aW9u
UmVnaXN0cnkuY3BwCmluZGV4IDRlMjg4MjlkNTcyZWQzYmQ0OTU3YjAwYWUxNDZiNDJhMTNhMWVj
OGUuLmY1YTk1Yzk0ODJiZjJhYWUyMmI4MmJmMGI4MjY2YTY5YmZlMzJlNDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRmluYWxpemF0aW9uUmVnaXN0cnkuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRmluYWxpemF0aW9uUmVnaXN0
cnkuY3BwCkBAIC0xNDgsMTEgKzE0OCw5IEBAIHZvaWQgSlNGaW5hbGl6YXRpb25SZWdpc3RyeTo6
ZmluYWxpemVVbmNvbmRpdGlvbmFsbHkoVk0mIHZtKQogICAgIGlmICghdm0uZGVmZXJyZWRXb3Jr
VGltZXItPmhhc1BlbmRpbmdXb3JrKHRoaXMpICYmIChyZWFkaWVkQ2VsbCB8fCBkZWFkQ291bnQo
bG9ja2VyKSkpIHsKICAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmFkZFBlbmRpbmdXb3Jr
KHZtLCB0aGlzLCB7IH0pOwogICAgICAgICBBU1NFUlQodm0uZGVmZXJyZWRXb3JrVGltZXItPmhh
c1BlbmRpbmdXb3JrKHRoaXMpKTsKLSAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPnNjaGVk
dWxlV29ya1Nvb24odGhpcywgW3RoaXNdIHsKKyAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXIt
PnNjaGVkdWxlV29ya1Nvb24odGhpcywgW3RoaXNdKERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXQs
IERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXREYXRhJiYpIHsKICAgICAgICAgICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsKLSAgICAgICAgICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICAgICAgICAgIHRoaXMtPnJ1bkZpbmFs
aXphdGlvbkNsZWFudXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgICAgIHZtLmRlZmVycmVkV29y
a1RpbWVyLT5jYW5jZWxQZW5kaW5nV29yayh0aGlzKTsKICAgICAgICAgfSk7CiAgICAgfQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKaW5kZXggZTg2NzU3
MjE2YjI0YjkxMDJhYzE2OWJhMWM1YWVjYTAxNGU4MGM4ZC4uZjllOThlZWZmMTg5ZWIwYjA2NTFk
NWMzNWQ3MDQ0ZTI1MzI5Y2FiZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNQcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Byb21pc2UuY3BwCkBAIC0xNjgsNyArMTY4LDYgQEAgdm9pZCBKU1Byb21pc2U6OnJlc29sdmUo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiAgICAg
ICAgIGNhbGxGdW5jdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnJlc29s
dmVQcm9taXNlRnVuY3Rpb24oKSwgdGhpcywgdmFsdWUpOwogICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIH0KLSAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+
Y2FuY2VsUGVuZGluZ1dvcmsodGhpcyk7CiB9CiAKIHZvaWQgSlNQcm9taXNlOjpyZWplY3QoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCkBAIC0xODMs
NyArMTgyLDYgQEAgdm9pZCBKU1Byb21pc2U6OnJlamVjdChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKICAgICAgICAgY2FsbEZ1bmN0aW9uKGxleGlj
YWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+cmVqZWN0UHJvbWlzZUZ1bmN0aW9uKCksIHRo
aXMsIHZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsK
ICAgICB9Ci0gICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmNhbmNlbFBlbmRpbmdXb3JrKHRoaXMp
OwogfQogCiB2b2lkIEpTUHJvbWlzZTo6cmVqZWN0QXNIYW5kbGVkKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5LmNwcAppbmRleCBjMGQ5MWY5ZjUxNTMzNTczODM2
OTQ5M2Q1ODgzYmE4Zjg1ODdmOTU4Li43MTRiN2U3ODU0YjAzOTBkZDJlNzMxYjg2YTM0Mzc5ODIx
NGU3NWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5LmNwcApAQCAtMTY5LDkgKzE2OSw4IEBAIHZvaWQgSlNXZWJBc3NlbWJseTo6d2ViQXNzZW1i
bHlNb2R1bGVWYWxpZGF0ZUFzeW5jKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAg
ZGVwZW5kZW5jaWVzLmFwcGVuZChTdHJvbmc8SlNDZWxsPih2bSwgZ2xvYmFsT2JqZWN0KSk7CiAK
ICAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+YWRkUGVuZGluZ1dvcmsodm0sIHByb21pc2UsIFdU
Rk1vdmUoZGVwZW5kZW5jaWVzKSk7Ci0KICAgICBXYXNtOjpNb2R1bGU6OnZhbGlkYXRlQXN5bmMo
JnZtLndhc21Db250ZXh0LCBXVEZNb3ZlKHNvdXJjZSksIGNyZWF0ZVNoYXJlZFRhc2s8V2FzbTo6
TW9kdWxlOjpDYWxsYmFja1R5cGU+KFtwcm9taXNlLCBnbG9iYWxPYmplY3QsICZ2bV0gKFdhc206
Ok1vZHVsZTo6VmFsaWRhdGlvblJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAgICAgIHZt
LmRlZmVycmVkV29ya1RpbWVyLT5zY2hlZHVsZVdvcmtTb29uKHByb21pc2UsIFtwcm9taXNlLCBn
bG9iYWxPYmplY3QsIHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KSwgJnZtXSAoKSBtdXRhYmxlIHsK
KyAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPnNjaGVkdWxlV29ya1Nvb24ocHJvbWlzZSwg
W3Byb21pc2UsIGdsb2JhbE9iamVjdCwgcmVzdWx0ID0gV1RGTW92ZShyZXN1bHQpLCAmdm1dKERl
ZmVycmVkV29ya1RpbWVyOjpUaWNrZXQsIERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXREYXRhJiYp
IG11dGFibGUgewogICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwogICAgICAgICAgICAgSlNWYWx1ZSBtb2R1bGUgPSBKU1dlYkFzc2VtYmx5TW9kdWxlOjpj
cmVhdGVTdHViKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlNb2R1
bGVTdHJ1Y3R1cmUoKSwgV1RGTW92ZShyZXN1bHQpKTsKICAgICAgICAgICAgIGlmIChVTkxJS0VM
WShzY29wZS5leGNlcHRpb24oKSkpIHsKQEAgLTE5OCwxMiArMTk3LDE0IEBAIHN0YXRpYyB2b2lk
IGluc3RhbnRpYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNQcm9t
aXNlKiBwcm9taXNlCiAgICAgVmVjdG9yPFN0cm9uZzxKU0NlbGw+PiBkZXBlbmRlbmNpZXM7CiAg
ICAgLy8gVGhlIGluc3RhbmNlIGtlZXBzIHRoZSBtb2R1bGUgYWxpdmUuCiAgICAgZGVwZW5kZW5j
aWVzLmFwcGVuZChTdHJvbmc8SlNDZWxsPih2bSwgaW5zdGFuY2UpKTsKKyAgICBkZXBlbmRlbmNp
ZXMuYXBwZW5kKFN0cm9uZzxKU0NlbGw+KHZtLCBwcm9taXNlKSk7CiAgICAgZGVwZW5kZW5jaWVz
LmFwcGVuZChTdHJvbmc8SlNDZWxsPih2bSwgaW1wb3J0T2JqZWN0KSk7Ci0gICAgdm0uZGVmZXJy
ZWRXb3JrVGltZXItPmFkZFBlbmRpbmdXb3JrKHZtLCBwcm9taXNlLCBXVEZNb3ZlKGRlcGVuZGVu
Y2llcykpOworCisgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmFkZFBlbmRpbmdXb3JrKHZtLCBp
bnN0YW5jZSwgV1RGTW92ZShkZXBlbmRlbmNpZXMpKTsKICAgICAvLyBOb3RlOiBUaGlzIGNvbXBs
ZXRpb24gdGFzayBtYXkgb3IgbWF5IG5vdCBnZXQgY2FsbGVkIGltbWVkaWF0ZWx5LgogICAgIG1v
ZHVsZS0+bW9kdWxlKCkuY29tcGlsZUFzeW5jKCZ2bS53YXNtQ29udGV4dCwgaW5zdGFuY2UtPm1l
bW9yeU1vZGUoKSwgY3JlYXRlU2hhcmVkVGFzazxXYXNtOjpDb2RlQmxvY2s6OkNhbGxiYWNrVHlw
ZT4oW3Byb21pc2UsIGluc3RhbmNlLCBtb2R1bGUsIGltcG9ydE9iamVjdCwgcmVzb2x2ZUtpbmQs
IGNyZWF0aW9uTW9kZSwgJnZtXSAoUmVmPFdhc206OkNvZGVCbG9jaz4mJiByZWZDb2RlQmxvY2sp
IG11dGFibGUgewogICAgICAgICBSZWZQdHI8V2FzbTo6Q29kZUJsb2NrPiBjb2RlQmxvY2sgPSBX
VEZNb3ZlKHJlZkNvZGVCbG9jayk7Ci0gICAgICAgIHZtLmRlZmVycmVkV29ya1RpbWVyLT5zY2hl
ZHVsZVdvcmtTb29uKHByb21pc2UsIFtwcm9taXNlLCBpbnN0YW5jZSwgbW9kdWxlLCBpbXBvcnRP
YmplY3QsIHJlc29sdmVLaW5kLCBjcmVhdGlvbk1vZGUsICZ2bSwgY29kZUJsb2NrID0gV1RGTW92
ZShjb2RlQmxvY2spXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXIt
PnNjaGVkdWxlV29ya1Nvb24oaW5zdGFuY2UsIFtwcm9taXNlLCBpbnN0YW5jZSwgbW9kdWxlLCBp
bXBvcnRPYmplY3QsIHJlc29sdmVLaW5kLCBjcmVhdGlvbk1vZGUsICZ2bSwgY29kZUJsb2NrID0g
V1RGTW92ZShjb2RlQmxvY2spXShEZWZlcnJlZFdvcmtUaW1lcjo6VGlja2V0LCBEZWZlcnJlZFdv
cmtUaW1lcjo6VGlja2V0RGF0YSYmKSBtdXRhYmxlIHsKICAgICAgICAgICAgIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QgPSBpbnN0YW5jZS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgICAgICAg
ICByZXNvbHZlKHZtLCBnbG9iYWxPYmplY3QsIHByb21pc2UsIGluc3RhbmNlLCBtb2R1bGUsIGlt
cG9ydE9iamVjdCwgY29kZUJsb2NrLnJlbGVhc2VOb25OdWxsKCksIHJlc29sdmVLaW5kLCBjcmVh
dGlvbk1vZGUpOwogICAgICAgICB9KTsKQEAgLTIxNCwyMCArMjE1LDE5IEBAIHN0YXRpYyB2b2lk
IGNvbXBpbGVBbmRJbnN0YW50aWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTUHJvbWlzCiB7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OwogCi0gICAgSlNDZWxsKiBtb2R1bGVLZXlDZWxsID0gaWRlbnRpZmllclRvSlNWYWx1ZSh2bSwg
bW9kdWxlS2V5KS5hc0NlbGwoKTsKLSAgICBWZWN0b3I8U3Ryb25nPEpTQ2VsbD4+IGRlcGVuZGVu
Y2llczsKLSAgICBkZXBlbmRlbmNpZXMuYXBwZW5kKFN0cm9uZzxKU0NlbGw+KHZtLCBpbXBvcnRP
YmplY3QpKTsKLSAgICBkZXBlbmRlbmNpZXMuYXBwZW5kKFN0cm9uZzxKU0NlbGw+KHZtLCBtb2R1
bGVLZXlDZWxsKSk7Ci0gICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmFkZFBlbmRpbmdXb3JrKHZt
LCBwcm9taXNlLCBXVEZNb3ZlKGRlcGVuZGVuY2llcykpOwotCiAgICAgVmVjdG9yPHVpbnQ4X3Q+
IHNvdXJjZSA9IGNyZWF0ZVNvdXJjZUJ1ZmZlckZyb21WYWx1ZSh2bSwgZ2xvYmFsT2JqZWN0LCBi
dWZmZXIpOwogICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0V2l0aENhdWdodEV4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3BlKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIEpTQ2VsbCogbW9kdWxlS2V5Q2VsbCA9IGlk
ZW50aWZpZXJUb0pTVmFsdWUodm0sIG1vZHVsZUtleSkuYXNDZWxsKCk7CisgICAgVmVjdG9yPFN0
cm9uZzxKU0NlbGw+PiBkZXBlbmRlbmNpZXM7CisgICAgZGVwZW5kZW5jaWVzLmFwcGVuZChTdHJv
bmc8SlNDZWxsPih2bSwgaW1wb3J0T2JqZWN0KSk7CisgICAgZGVwZW5kZW5jaWVzLmFwcGVuZChT
dHJvbmc8SlNDZWxsPih2bSwgbW9kdWxlS2V5Q2VsbCkpOworICAgIHZtLmRlZmVycmVkV29ya1Rp
bWVyLT5hZGRQZW5kaW5nV29yayh2bSwgcHJvbWlzZSwgV1RGTW92ZShkZXBlbmRlbmNpZXMpKTsK
ICAgICBXYXNtOjpNb2R1bGU6OnZhbGlkYXRlQXN5bmMoJnZtLndhc21Db250ZXh0LCBXVEZNb3Zl
KHNvdXJjZSksIGNyZWF0ZVNoYXJlZFRhc2s8V2FzbTo6TW9kdWxlOjpDYWxsYmFja1R5cGU+KFtw
cm9taXNlLCBpbXBvcnRPYmplY3QsIG1vZHVsZUtleUNlbGwsIGdsb2JhbE9iamVjdCwgcmVzb2x2
ZUtpbmQsIGNyZWF0aW9uTW9kZSwgJnZtXSAoV2FzbTo6TW9kdWxlOjpWYWxpZGF0aW9uUmVzdWx0
JiYgcmVzdWx0KSBtdXRhYmxlIHsKLSAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPnNjaGVk
dWxlV29ya1Nvb24ocHJvbWlzZSwgW3Byb21pc2UsIGltcG9ydE9iamVjdCwgbW9kdWxlS2V5Q2Vs
bCwgZ2xvYmFsT2JqZWN0LCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCksIHJlc29sdmVLaW5kLCBj
cmVhdGlvbk1vZGUsICZ2bV0gKCkgbXV0YWJsZSB7CisgICAgICAgIHZtLmRlZmVycmVkV29ya1Rp
bWVyLT5zY2hlZHVsZVdvcmtTb29uKHByb21pc2UsIFtwcm9taXNlLCBpbXBvcnRPYmplY3QsIG1v
ZHVsZUtleUNlbGwsIGdsb2JhbE9iamVjdCwgcmVzdWx0ID0gV1RGTW92ZShyZXN1bHQpLCByZXNv
bHZlS2luZCwgY3JlYXRpb25Nb2RlLCAmdm1dKERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXQsIERl
ZmVycmVkV29ya1RpbWVyOjpUaWNrZXREYXRhJiYpIG11dGFibGUgewogICAgICAgICAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgICAgICAgICAgSlNXZWJBc3Nl
bWJseU1vZHVsZSogbW9kdWxlID0gSlNXZWJBc3NlbWJseU1vZHVsZTo6Y3JlYXRlU3R1Yih2bSwg
Z2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5TW9kdWxlU3RydWN0dXJlKCks
IFdURk1vdmUocmVzdWx0KSk7CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0
aW9uKCkpKSB7CkBAIC0yNjUsOSArMjY1LDggQEAgdm9pZCBKU1dlYkFzc2VtYmx5Ojp3ZWJBc3Nl
bWJseU1vZHVsZUluc3RhbnRpbmF0ZUFzeW5jKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmoKICAg
ICBkZXBlbmRlbmNpZXMuYXBwZW5kKFN0cm9uZzxKU0NlbGw+KHZtLCBpbXBvcnRPYmplY3QpKTsK
ICAgICBkZXBlbmRlbmNpZXMuYXBwZW5kKFN0cm9uZzxKU0NlbGw+KHZtLCBnbG9iYWxPYmplY3Qp
KTsKICAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+YWRkUGVuZGluZ1dvcmsodm0sIHByb21pc2Us
IFdURk1vdmUoZGVwZW5kZW5jaWVzKSk7Ci0KICAgICBXYXNtOjpNb2R1bGU6OnZhbGlkYXRlQXN5
bmMoJnZtLndhc21Db250ZXh0LCBXVEZNb3ZlKHNvdXJjZSksIGNyZWF0ZVNoYXJlZFRhc2s8V2Fz
bTo6TW9kdWxlOjpDYWxsYmFja1R5cGU+KFtwcm9taXNlLCBpbXBvcnRPYmplY3QsIGdsb2JhbE9i
amVjdCwgJnZtXSAoV2FzbTo6TW9kdWxlOjpWYWxpZGF0aW9uUmVzdWx0JiYgcmVzdWx0KSBtdXRh
YmxlIHsKLSAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPnNjaGVkdWxlV29ya1Nvb24ocHJv
bWlzZSwgW3Byb21pc2UsIGltcG9ydE9iamVjdCwgZ2xvYmFsT2JqZWN0LCByZXN1bHQgPSBXVEZN
b3ZlKHJlc3VsdCksICZ2bV0gKCkgbXV0YWJsZSB7CisgICAgICAgIHZtLmRlZmVycmVkV29ya1Rp
bWVyLT5zY2hlZHVsZVdvcmtTb29uKHByb21pc2UsIFtwcm9taXNlLCBpbXBvcnRPYmplY3QsIGds
b2JhbE9iamVjdCwgcmVzdWx0ID0gV1RGTW92ZShyZXN1bHQpLCAmdm1dKERlZmVycmVkV29ya1Rp
bWVyOjpUaWNrZXQsIERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXREYXRhJiYpIG11dGFibGUgewog
ICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgICAg
ICAgICAgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlID0gSlNXZWJBc3NlbWJseU1vZHVsZTo6
Y3JlYXRlU3R1Yih2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5TW9k
dWxlU3RydWN0dXJlKCksIFdURk1vdmUocmVzdWx0KSk7CiAgICAgICAgICAgICBpZiAoVU5MSUtF
TFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418220</attachid>
            <date>2021-01-23 02:18:20 -0800</date>
            <delta_ts>2021-01-23 11:33:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220888-20210123021819.patch</filename>
            <type>text/plain</type>
            <size>14562</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzM3MzJjMjZjZGZlMjZiNGE0NjMzMjZmYWE2ZThkOTVkZmUwNzAyLi4zZTNmNmFlODk2OTJlZjhl
ZTc1Nzk5ODM0NDQ5M2M5ZTYwNTk1NTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMS0wMS0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERlZmVycmVkV29ya1RpbWVyIHNob3VsZCBjbGVhciBwZW5kaW5n
IHRhc2sgYWZ0ZXIgcnVubmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIwODg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2FzbSBjb2RlIGFzc3VtZXMgdGhhdCBzY2hlZHVsZVdvcmtTb29uIGNsZWFy
cyBwZW5kaW5nIGRlcGVuZGVuY2llcy4gQnV0IERlZmVycmVkV29ya1RpbWVyIGlzIG5vdCBjbGVh
cmluZyBpdCwgYW5kIGluc3RlYWQsIEZpbmFsaXphdGlvblJlZ2lzdHJ5IGV0Yy4gaXMgY2xlYXJp
bmcKKyAgICAgICAgaXQgZXhwbGljaXRseS4gVGhpcyBzZW1hbnRpY3MgaXMgcHJvYmxlbWF0aWMu
IFdlIGFyZSBwdXR0aW5nIGNhbmNlbFBlbmRpbmdXb3JrIGluIEpTUHJvbWlzZTo6cmVzb2x2ZSAv
IEpTUHJvbWlzZTo6cmVqZWN0LiBCdXQgdGhleSBkbyBub3Qgd29yayBzaW5jZSB0aGlzIGlzIEMr
KworICAgICAgICB2ZXJzaW9uIG9mIHRoZW0sIGFuZCBKU1Byb21pc2UgaGFzIEpTIHZlcnNpb24g
b2YgdGhlbS4gQW5kIGlmIEpTIHZlcnNpb24gaXMgY2FsbGVkLCBjYW5jZWxQZW5kaW5nV29yayBp
cyBub3QgY2FsbGVkLiBBbmQgd2UgZG8gbm90IHdhbnQgdG8gY29tcGxpY2F0ZSBKU1Byb21pc2Un
cworICAgICAgICByZWplY3QgLyByZXNvbHZlIHBhdGggc2luY2UgdGhpcyBpcyBzdXBlciBob3Qs
IGFuZCB3ZSBzaG91bGQga2VlcCB0aGVtIGluIEpTLgorICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91
bGQgYWx3YXlzIGNsZWFyIHBlbmRpbmcgdGFzayBpZiBpdCBpcyBjYWxsZWQuCisKKyAgICAgICAg
KiBqc2MuY3BwOgorICAgICAgICAoSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAg
KiBydW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmNwcDoKKyAgICAgICAgKEpTQzo6RGVmZXJyZWRX
b3JrVGltZXI6OmRvV29yayk6CisgICAgICAgICogcnVudGltZS9EZWZlcnJlZFdvcmtUaW1lci5o
OgorICAgICAgICAqIHJ1bnRpbWUvSlNGaW5hbGl6YXRpb25SZWdpc3RyeS5jcHA6CisgICAgICAg
IChKU0M6OkpTRmluYWxpemF0aW9uUmVnaXN0cnk6OmZpbmFsaXplVW5jb25kaXRpb25hbGx5KToK
KyAgICAgICAgKiBydW50aW1lL0pTUHJvbWlzZS5jcHA6CisgICAgICAgIChKU0M6OkpTUHJvbWlz
ZTo6cmVzb2x2ZSk6IFJlbW92ZSB0aGlzIHdvcmstYXJvdW5kLCBhbmQgaW5zdGVhZCwgd2UgbXVz
dCBjYWxsIHNjaGVkdWxlV29ya1Nvb24gaWYgYWRkUGVuZGluZ1dvcmsgaXMgY2FsbGVkLgorICAg
ICAgICAoSlNDOjpKU1Byb21pc2U6OnJlamVjdCk6IERpdHRvLgorICAgICAgICAqIHdhc20vanMv
SlNXZWJBc3NlbWJseS5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHk6OndlYkFzc2Vt
Ymx5TW9kdWxlVmFsaWRhdGVBc3luYyk6CisgICAgICAgIChKU0M6Omluc3RhbnRpYXRlKTogVXNl
IGluc3RhbmNlIGZvciBUaWNrZXQgaW5zdGVhZCBvZiBwcm9taXNlIHRvIGRpc2FtYmlndWF0ZSB0
aGUgdGlja2V0IHNjaGVkdWxpbmcgZnJvbSBjb21waWxlQW5kSW5zdGFudGlhdGUncyBvbmUgZWFz
aWx5LgorICAgICAgICAoSlNDOjpjb21waWxlQW5kSW5zdGFudGlhdGUpOiBUaGVyZSBhcmUgcGF0
aCB0aGF0IHdlIGRvIG5vdCBjYWxsIHNjaGVkdWxlV29ya1Nvb24gd2hpbGUgd2UgY2FsbCBhZGRQ
ZW5kaW5nV29yaywgdGhpcyBpcyB3cm9uZywgYW5kIEpTUHJvbWlzZSdzIHdvcmthcm91bmQgaXMg
YWRkZWQgdG8KKyAgICAgICAgYWxsZXZpYXRlIHRoaXMgc2l0dWF0aW9uLiBXZSBzaG91bGQgbm90
IGRvIHRoYXQ6IHdlIG11c3QgY2FsbCBzY2hlZHVsZVdvcmtTb29uIGF0IHNvbWUgcG9pbnQgaWYg
YWRkUGVuZGluZ1dvcmsgaXMgY2FsbGVkLgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5Ojp3
ZWJBc3NlbWJseU1vZHVsZUluc3RhbnRpbmF0ZUFzeW5jKToKKwogMjAyMS0wMS0yMiAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFNob3VsZCBTaGFyZWRBcnJh
eUJ1ZmZlci9XZWJBc3NlbWJseS5NZW1vcnkgcmVhbGx5IHRocm93PwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNw
cAppbmRleCBlMzNlYjJiYzZhODE1YmYyNGY1MjI1ODc2YmI0ZjI3NWEwZWM3N2IzLi4zMWQ5YWJj
YjMxZTEzNDVlM2QwMWIxMzU3ODY4MjUzMDEyMmQxYjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApA
QCAtMjM0MiwxMyArMjM0MiwxMCBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25T
ZXRUaW1lb3V0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbAogCiAgICAgLy8g
RklYTUU6IFdlIGRvbid0IGxvb2sgYXQgdGhlIHRpbWVvdXQgcGFyYW1ldGVyIGJlY2F1c2Ugd2Ug
ZG9uJ3QgaGF2ZSBhIHNjaGVkdWxlIHdvcmsgbGF0ZXIgQVBJLgogICAgIHZtLmRlZmVycmVkV29y
a1RpbWVyLT5hZGRQZW5kaW5nV29yayh2bSwgY2FsbGJhY2ssIHsgfSk7Ci0gICAgdm0uZGVmZXJy
ZWRXb3JrVGltZXItPnNjaGVkdWxlV29ya1Nvb24oY2FsbGJhY2ssIFtjYWxsYmFja10geworICAg
IHZtLmRlZmVycmVkV29ya1RpbWVyLT5zY2hlZHVsZVdvcmtTb29uKGNhbGxiYWNrLCBbY2FsbGJh
Y2tdKERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXQsIERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXRE
YXRhJiYpIHsKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGNhbGxiYWNr
LT5nbG9iYWxPYmplY3QoKTsKLSAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwot
CiAgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgICAgIGNhbGwoZ2xvYmFs
T2JqZWN0LCBjYWxsYmFjaywganNVbmRlZmluZWQoKSwgYXJncywgIllvdSBzaG91bGRuJ3Qgc2Vl
IHRoaXMuLi4iKTsKLSAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmNhbmNlbFBlbmRpbmdX
b3JrKGNhbGxiYWNrKTsKICAgICB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGVmZXJyZWRXb3JrVGltZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVm
ZXJyZWRXb3JrVGltZXIuY3BwCmluZGV4IGRhNWQ4OTJkOWFmMDJlYjhmNDkyY2IzYWRiMmFjNWI4
NzIxY2VhOTEuLmRmMTA4OWE4ZDAzZDA2YjNhOGY1Yzk2M2JhMjQ5M2ZiNzljNWUwZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtUaW1lci5j
cHAKQEAgLTY3LDExICs2NywxNyBAQCB2b2lkIERlZmVycmVkV29ya1RpbWVyOjpkb1dvcmsoVk0m
IHZtKQogICAgICAgICAgICAgc3VzcGVuZGVkVGFza3MuYXBwZW5kKHN0ZDo6bWFrZV90dXBsZSh0
aWNrZXQsIFdURk1vdmUodGFzaykpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBj
YXNlIFNjcmlwdEV4ZWN1dGlvblN0YXR1czo6U3RvcHBlZDoKKyAgICAgICAgICAgIG1fcGVuZGlu
Z1RpY2tldHMucmVtb3ZlKHBlbmRpbmdUaWNrZXQpOwogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIGNhc2UgU2NyaXB0RXhlY3V0aW9uU3RhdHVzOjpSdW5uaW5nOgogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICAvLyBSZW1vdmUgdGlja2V0IGZyb20gbV9wZW5k
aW5nVGlja2V0cyBzaW5jZSB3ZSBhcmUgZ29pbmcgdG8gcnVuIGl0LgorICAgICAgICAvLyBCdXQg
d2Ugd2FudCB0byBrZWVwIHRpY2tldERhdGEgd2hpbGUgcnVubmluZyB0YXNrIHNpbmNlIGl0IGVu
c3VyZXMgZGVwZW5kZW5jaWVzIGFyZSBzdHJvbmdseSBoZWxkLgorICAgICAgICBhdXRvIHRpY2tl
dERhdGEgPSBXVEZNb3ZlKHBlbmRpbmdUaWNrZXQtPnZhbHVlKTsKKyAgICAgICAgbV9wZW5kaW5n
VGlja2V0cy5yZW1vdmUocGVuZGluZ1RpY2tldCk7CisKICAgICAgICAgLy8gQWxsb3cgdGFza3Mg
d2UgYXJlIGFib3V0IHRvIHJ1biB0byBzY2hlZHVsZSB3b3JrLgogICAgICAgICBtX2N1cnJlbnRs
eVJ1bm5pbmdUYXNrID0gdHJ1ZTsKICAgICAgICAgewpAQCAtODEsNyArODcsNyBAQCB2b2lkIERl
ZmVycmVkV29ya1RpbWVyOjpkb1dvcmsoVk0mIHZtKQogICAgICAgICAgICAgdm0uZmluYWxpemVT
eW5jaHJvbm91c0pTRXhlY3V0aW9uKCk7CiAKICAgICAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX0NBVENIX1NDT1BFKHZtKTsKLSAgICAgICAgICAgIHRhc2soKTsKKyAgICAgICAgICAgIHRh
c2sodGlja2V0LCBXVEZNb3ZlKHRpY2tldERhdGEpKTsKICAgICAgICAgICAgIGlmIChFeGNlcHRp
b24qIGV4Y2VwdGlvbiA9IHNjb3BlLmV4Y2VwdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgYXV0
byogZ2xvYmFsT2JqZWN0ID0gdGlja2V0LT5nbG9iYWxPYmplY3QoKTsKICAgICAgICAgICAgICAg
ICBzY29wZS5jbGVhckV4Y2VwdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmgKaW5kZXggYzEzMTIwNDU4MjI1ZWEwMTgwYmVjOWYy
MDMxY2FmNThiNDQ1OTE3Yi4uNmM5OGNhYWY1ODFiMWNmYzAxYWExOTExNzE0YjNkYjI3YmRmMDIx
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVmZXJyZWRXb3Jr
VGltZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtU
aW1lci5oCkBAIC00Myw2ICs0MywxMSBAQCBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBEZWZlcnJl
ZFdvcmtUaW1lciBmaW5hbCA6IHB1YmxpYyBKU1J1bkxvb3BUaW1lciB7CiBwdWJsaWM6CiAgICAg
dXNpbmcgQmFzZSA9IEpTUnVuTG9vcFRpbWVyOwogCisgICAgc3RydWN0IFRpY2tldERhdGEgewor
ICAgICAgICBWZWN0b3I8U3Ryb25nPEpTQ2VsbD4+IGRlcGVuZGVuY2llczsKKyAgICAgICAgU3Ry
b25nPEpTT2JqZWN0PiBzY3JpcHRFeGVjdXRpb25Pd25lcjsKKyAgICB9OworCiAgICAgdm9pZCBk
b1dvcmsoVk0mKSBmaW5hbDsKIAogICAgIHVzaW5nIFRpY2tldCA9IEpTT2JqZWN0KjsKQEAgLTU2
LDcgKzYxLDcgQEAgY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgRGVmZXJyZWRXb3JrVGltZXIgZmlu
YWwgOiBwdWJsaWMgSlNSdW5Mb29wVGltZXIgewogICAgIC8vIHRvIG1ha2Ugc3VyZSB5b3VyIG1l
bW9yeSBvd25lcnNoaXAgbW9kZWwgd29uJ3QgbGVhayBtZW1vcnkgd2hlbgogICAgIC8vIHRoaXMg
b2NjdXJzLiBUaGUgZWFzaWVzdCB3YXkgaXMgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcgaXMgZWl0
aGVyIG93bmVkCiAgICAgLy8gYnkgYSBHQydkIHZhbHVlIGluIGRlcGVuZGVuY2llcyBvciBieSB0
aGUgVGFzayBsYW1iZGEuCi0gICAgdXNpbmcgVGFzayA9IEZ1bmN0aW9uPHZvaWQoKT47CisgICAg
dXNpbmcgVGFzayA9IEZ1bmN0aW9uPHZvaWQoVGlja2V0LCBUaWNrZXREYXRhJiYpPjsKICAgICB2
b2lkIHNjaGVkdWxlV29ya1Nvb24oVGlja2V0LCBUYXNrJiYpOwogICAgIHZvaWQgZGlkUmVzdW1l
U2NyaXB0RXhlY3V0aW9uT3duZXIoKTsKIApAQCAtNzIsMTAgKzc3LDYgQEAgY2xhc3MgSlNfRVhQ
T1JUX1BSSVZBVEUgRGVmZXJyZWRXb3JrVGltZXIgZmluYWwgOiBwdWJsaWMgSlNSdW5Mb29wVGlt
ZXIgewogICAgIGJvb2wgbV9zaG91bGRTdG9wUnVuTG9vcFdoZW5BbGxUaWNrZXRzRmluaXNoIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fY3VycmVudGx5UnVubmluZ1Rhc2sgeyBmYWxzZSB9OwogICAg
IERlcXVlPHN0ZDo6dHVwbGU8VGlja2V0LCBUYXNrPj4gbV90YXNrczsKLSAgICBzdHJ1Y3QgVGlj
a2V0RGF0YSB7Ci0gICAgICAgIFZlY3RvcjxTdHJvbmc8SlNDZWxsPj4gZGVwZW5kZW5jaWVzOwot
ICAgICAgICBTdHJvbmc8SlNPYmplY3Q+IHNjcmlwdEV4ZWN1dGlvbk93bmVyOwotICAgIH07CiAg
ICAgSGFzaE1hcDxUaWNrZXQsIFRpY2tldERhdGE+IG1fcGVuZGluZ1RpY2tldHM7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ZpbmFsaXphdGlvblJl
Z2lzdHJ5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRmluYWxpemF0aW9u
UmVnaXN0cnkuY3BwCmluZGV4IDRlMjg4MjlkNTcyZWQzYmQ0OTU3YjAwYWUxNDZiNDJhMTNhMWVj
OGUuLmY1YTk1Yzk0ODJiZjJhYWUyMmI4MmJmMGI4MjY2YTY5YmZlMzJlNDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRmluYWxpemF0aW9uUmVnaXN0cnkuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRmluYWxpemF0aW9uUmVnaXN0
cnkuY3BwCkBAIC0xNDgsMTEgKzE0OCw5IEBAIHZvaWQgSlNGaW5hbGl6YXRpb25SZWdpc3RyeTo6
ZmluYWxpemVVbmNvbmRpdGlvbmFsbHkoVk0mIHZtKQogICAgIGlmICghdm0uZGVmZXJyZWRXb3Jr
VGltZXItPmhhc1BlbmRpbmdXb3JrKHRoaXMpICYmIChyZWFkaWVkQ2VsbCB8fCBkZWFkQ291bnQo
bG9ja2VyKSkpIHsKICAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmFkZFBlbmRpbmdXb3Jr
KHZtLCB0aGlzLCB7IH0pOwogICAgICAgICBBU1NFUlQodm0uZGVmZXJyZWRXb3JrVGltZXItPmhh
c1BlbmRpbmdXb3JrKHRoaXMpKTsKLSAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPnNjaGVk
dWxlV29ya1Nvb24odGhpcywgW3RoaXNdIHsKKyAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXIt
PnNjaGVkdWxlV29ya1Nvb24odGhpcywgW3RoaXNdKERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXQs
IERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXREYXRhJiYpIHsKICAgICAgICAgICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsKLSAgICAgICAgICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICAgICAgICAgIHRoaXMtPnJ1bkZpbmFs
aXphdGlvbkNsZWFudXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgICAgIHZtLmRlZmVycmVkV29y
a1RpbWVyLT5jYW5jZWxQZW5kaW5nV29yayh0aGlzKTsKICAgICAgICAgfSk7CiAgICAgfQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKaW5kZXggZTg2NzU3
MjE2YjI0YjkxMDJhYzE2OWJhMWM1YWVjYTAxNGU4MGM4ZC4uZjllOThlZWZmMTg5ZWIwYjA2NTFk
NWMzNWQ3MDQ0ZTI1MzI5Y2FiZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNQcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Byb21pc2UuY3BwCkBAIC0xNjgsNyArMTY4LDYgQEAgdm9pZCBKU1Byb21pc2U6OnJlc29sdmUo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiAgICAg
ICAgIGNhbGxGdW5jdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnJlc29s
dmVQcm9taXNlRnVuY3Rpb24oKSwgdGhpcywgdmFsdWUpOwogICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIH0KLSAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+
Y2FuY2VsUGVuZGluZ1dvcmsodGhpcyk7CiB9CiAKIHZvaWQgSlNQcm9taXNlOjpyZWplY3QoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCkBAIC0xODMs
NyArMTgyLDYgQEAgdm9pZCBKU1Byb21pc2U6OnJlamVjdChKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKICAgICAgICAgY2FsbEZ1bmN0aW9uKGxleGlj
YWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+cmVqZWN0UHJvbWlzZUZ1bmN0aW9uKCksIHRo
aXMsIHZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsK
ICAgICB9Ci0gICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPmNhbmNlbFBlbmRpbmdXb3JrKHRoaXMp
OwogfQogCiB2b2lkIEpTUHJvbWlzZTo6cmVqZWN0QXNIYW5kbGVkKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5LmNwcAppbmRleCBjMGQ5MWY5ZjUxNTMzNTczODM2
OTQ5M2Q1ODgzYmE4Zjg1ODdmOTU4Li5jZDZkMWY5M2EzNDYyMDU1YzUwOWVmODVlY2QyOTYzMjM1
NmZkOTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5LmNwcApAQCAtMTY5LDkgKzE2OSw4IEBAIHZvaWQgSlNXZWJBc3NlbWJseTo6d2ViQXNzZW1i
bHlNb2R1bGVWYWxpZGF0ZUFzeW5jKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAg
ZGVwZW5kZW5jaWVzLmFwcGVuZChTdHJvbmc8SlNDZWxsPih2bSwgZ2xvYmFsT2JqZWN0KSk7CiAK
ICAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+YWRkUGVuZGluZ1dvcmsodm0sIHByb21pc2UsIFdU
Rk1vdmUoZGVwZW5kZW5jaWVzKSk7Ci0KICAgICBXYXNtOjpNb2R1bGU6OnZhbGlkYXRlQXN5bmMo
JnZtLndhc21Db250ZXh0LCBXVEZNb3ZlKHNvdXJjZSksIGNyZWF0ZVNoYXJlZFRhc2s8V2FzbTo6
TW9kdWxlOjpDYWxsYmFja1R5cGU+KFtwcm9taXNlLCBnbG9iYWxPYmplY3QsICZ2bV0gKFdhc206
Ok1vZHVsZTo6VmFsaWRhdGlvblJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAgICAgIHZt
LmRlZmVycmVkV29ya1RpbWVyLT5zY2hlZHVsZVdvcmtTb29uKHByb21pc2UsIFtwcm9taXNlLCBn
bG9iYWxPYmplY3QsIHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KSwgJnZtXSAoKSBtdXRhYmxlIHsK
KyAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPnNjaGVkdWxlV29ya1Nvb24ocHJvbWlzZSwg
W3Byb21pc2UsIGdsb2JhbE9iamVjdCwgcmVzdWx0ID0gV1RGTW92ZShyZXN1bHQpLCAmdm1dKERl
ZmVycmVkV29ya1RpbWVyOjpUaWNrZXQsIERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXREYXRhJiYp
IG11dGFibGUgewogICAgICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwogICAgICAgICAgICAgSlNWYWx1ZSBtb2R1bGUgPSBKU1dlYkFzc2VtYmx5TW9kdWxlOjpj
cmVhdGVTdHViKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlNb2R1
bGVTdHJ1Y3R1cmUoKSwgV1RGTW92ZShyZXN1bHQpKTsKICAgICAgICAgICAgIGlmIChVTkxJS0VM
WShzY29wZS5leGNlcHRpb24oKSkpIHsKQEAgLTE5NywxMyArMTk2LDE0IEBAIHN0YXRpYyB2b2lk
IGluc3RhbnRpYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNQcm9t
aXNlKiBwcm9taXNlCiAKICAgICBWZWN0b3I8U3Ryb25nPEpTQ2VsbD4+IGRlcGVuZGVuY2llczsK
ICAgICAvLyBUaGUgaW5zdGFuY2Uga2VlcHMgdGhlIG1vZHVsZSBhbGl2ZS4KLSAgICBkZXBlbmRl
bmNpZXMuYXBwZW5kKFN0cm9uZzxKU0NlbGw+KHZtLCBpbnN0YW5jZSkpOworICAgIGRlcGVuZGVu
Y2llcy5hcHBlbmQoU3Ryb25nPEpTQ2VsbD4odm0sIHByb21pc2UpKTsKICAgICBkZXBlbmRlbmNp
ZXMuYXBwZW5kKFN0cm9uZzxKU0NlbGw+KHZtLCBpbXBvcnRPYmplY3QpKTsKLSAgICB2bS5kZWZl
cnJlZFdvcmtUaW1lci0+YWRkUGVuZGluZ1dvcmsodm0sIHByb21pc2UsIFdURk1vdmUoZGVwZW5k
ZW5jaWVzKSk7CisKKyAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+YWRkUGVuZGluZ1dvcmsodm0s
IGluc3RhbmNlLCBXVEZNb3ZlKGRlcGVuZGVuY2llcykpOwogICAgIC8vIE5vdGU6IFRoaXMgY29t
cGxldGlvbiB0YXNrIG1heSBvciBtYXkgbm90IGdldCBjYWxsZWQgaW1tZWRpYXRlbHkuCiAgICAg
bW9kdWxlLT5tb2R1bGUoKS5jb21waWxlQXN5bmMoJnZtLndhc21Db250ZXh0LCBpbnN0YW5jZS0+
bWVtb3J5TW9kZSgpLCBjcmVhdGVTaGFyZWRUYXNrPFdhc206OkNvZGVCbG9jazo6Q2FsbGJhY2tU
eXBlPihbcHJvbWlzZSwgaW5zdGFuY2UsIG1vZHVsZSwgaW1wb3J0T2JqZWN0LCByZXNvbHZlS2lu
ZCwgY3JlYXRpb25Nb2RlLCAmdm1dIChSZWY8V2FzbTo6Q29kZUJsb2NrPiYmIHJlZkNvZGVCbG9j
aykgbXV0YWJsZSB7CiAgICAgICAgIFJlZlB0cjxXYXNtOjpDb2RlQmxvY2s+IGNvZGVCbG9jayA9
IFdURk1vdmUocmVmQ29kZUJsb2NrKTsKLSAgICAgICAgdm0uZGVmZXJyZWRXb3JrVGltZXItPnNj
aGVkdWxlV29ya1Nvb24ocHJvbWlzZSwgW3Byb21pc2UsIGluc3RhbmNlLCBtb2R1bGUsIGltcG9y
dE9iamVjdCwgcmVzb2x2ZUtpbmQsIGNyZWF0aW9uTW9kZSwgJnZtLCBjb2RlQmxvY2sgPSBXVEZN
b3ZlKGNvZGVCbG9jayldICgpIG11dGFibGUgeworICAgICAgICB2bS5kZWZlcnJlZFdvcmtUaW1l
ci0+c2NoZWR1bGVXb3JrU29vbihpbnN0YW5jZSwgW3Byb21pc2UsIGluc3RhbmNlLCBtb2R1bGUs
IGltcG9ydE9iamVjdCwgcmVzb2x2ZUtpbmQsIGNyZWF0aW9uTW9kZSwgJnZtLCBjb2RlQmxvY2sg
PSBXVEZNb3ZlKGNvZGVCbG9jayldKERlZmVycmVkV29ya1RpbWVyOjpUaWNrZXQsIERlZmVycmVk
V29ya1RpbWVyOjpUaWNrZXREYXRhJiYpIG11dGFibGUgewogICAgICAgICAgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGluc3RhbmNlLT5nbG9iYWxPYmplY3QoKTsKICAgICAgICAg
ICAgIHJlc29sdmUodm0sIGdsb2JhbE9iamVjdCwgcHJvbWlzZSwgaW5zdGFuY2UsIG1vZHVsZSwg
aW1wb3J0T2JqZWN0LCBjb2RlQmxvY2sucmVsZWFzZU5vbk51bGwoKSwgcmVzb2x2ZUtpbmQsIGNy
ZWF0aW9uTW9kZSk7CiAgICAgICAgIH0pOwpAQCAtMjE0LDIwICsyMTQsMTkgQEAgc3RhdGljIHZv
aWQgY29tcGlsZUFuZEluc3RhbnRpYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNQcm9taXMKIHsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CiAKLSAgICBKU0NlbGwqIG1vZHVsZUtleUNlbGwgPSBpZGVudGlmaWVyVG9KU1ZhbHVlKHZt
LCBtb2R1bGVLZXkpLmFzQ2VsbCgpOwotICAgIFZlY3RvcjxTdHJvbmc8SlNDZWxsPj4gZGVwZW5k
ZW5jaWVzOwotICAgIGRlcGVuZGVuY2llcy5hcHBlbmQoU3Ryb25nPEpTQ2VsbD4odm0sIGltcG9y
dE9iamVjdCkpOwotICAgIGRlcGVuZGVuY2llcy5hcHBlbmQoU3Ryb25nPEpTQ2VsbD4odm0sIG1v
ZHVsZUtleUNlbGwpKTsKLSAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+YWRkUGVuZGluZ1dvcmso
dm0sIHByb21pc2UsIFdURk1vdmUoZGVwZW5kZW5jaWVzKSk7Ci0KICAgICBWZWN0b3I8dWludDhf
dD4gc291cmNlID0gY3JlYXRlU291cmNlQnVmZmVyRnJvbVZhbHVlKHZtLCBnbG9iYWxPYmplY3Qs
IGJ1ZmZlcik7CiAgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgewogICAgICAg
ICBwcm9taXNlLT5yZWplY3RXaXRoQ2F1Z2h0RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgSlNDZWxsKiBtb2R1bGVLZXlDZWxsID0g
aWRlbnRpZmllclRvSlNWYWx1ZSh2bSwgbW9kdWxlS2V5KS5hc0NlbGwoKTsKKyAgICBWZWN0b3I8
U3Ryb25nPEpTQ2VsbD4+IGRlcGVuZGVuY2llczsKKyAgICBkZXBlbmRlbmNpZXMuYXBwZW5kKFN0
cm9uZzxKU0NlbGw+KHZtLCBpbXBvcnRPYmplY3QpKTsKKyAgICBkZXBlbmRlbmNpZXMuYXBwZW5k
KFN0cm9uZzxKU0NlbGw+KHZtLCBtb2R1bGVLZXlDZWxsKSk7CisgICAgdm0uZGVmZXJyZWRXb3Jr
VGltZXItPmFkZFBlbmRpbmdXb3JrKHZtLCBwcm9taXNlLCBXVEZNb3ZlKGRlcGVuZGVuY2llcykp
OwogICAgIFdhc206Ok1vZHVsZTo6dmFsaWRhdGVBc3luYygmdm0ud2FzbUNvbnRleHQsIFdURk1v
dmUoc291cmNlKSwgY3JlYXRlU2hhcmVkVGFzazxXYXNtOjpNb2R1bGU6OkNhbGxiYWNrVHlwZT4o
W3Byb21pc2UsIGltcG9ydE9iamVjdCwgbW9kdWxlS2V5Q2VsbCwgZ2xvYmFsT2JqZWN0LCByZXNv
bHZlS2luZCwgY3JlYXRpb25Nb2RlLCAmdm1dIChXYXNtOjpNb2R1bGU6OlZhbGlkYXRpb25SZXN1
bHQmJiByZXN1bHQpIG11dGFibGUgewotICAgICAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+c2No
ZWR1bGVXb3JrU29vbihwcm9taXNlLCBbcHJvbWlzZSwgaW1wb3J0T2JqZWN0LCBtb2R1bGVLZXlD
ZWxsLCBnbG9iYWxPYmplY3QsIHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KSwgcmVzb2x2ZUtpbmQs
IGNyZWF0aW9uTW9kZSwgJnZtXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgdm0uZGVmZXJyZWRXb3Jr
VGltZXItPnNjaGVkdWxlV29ya1Nvb24ocHJvbWlzZSwgW3Byb21pc2UsIGltcG9ydE9iamVjdCwg
bW9kdWxlS2V5Q2VsbCwgZ2xvYmFsT2JqZWN0LCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCksIHJl
c29sdmVLaW5kLCBjcmVhdGlvbk1vZGUsICZ2bV0oRGVmZXJyZWRXb3JrVGltZXI6OlRpY2tldCwg
RGVmZXJyZWRXb3JrVGltZXI6OlRpY2tldERhdGEmJikgbXV0YWJsZSB7CiAgICAgICAgICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgICAgICAgICBKU1dlYkFz
c2VtYmx5TW9kdWxlKiBtb2R1bGUgPSBKU1dlYkFzc2VtYmx5TW9kdWxlOjpjcmVhdGVTdHViKHZt
LCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlNb2R1bGVTdHJ1Y3R1cmUo
KSwgV1RGTW92ZShyZXN1bHQpKTsKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNl
cHRpb24oKSkpIHsKQEAgLTI2NSw5ICsyNjQsOCBAQCB2b2lkIEpTV2ViQXNzZW1ibHk6OndlYkFz
c2VtYmx5TW9kdWxlSW5zdGFudGluYXRlQXN5bmMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagog
ICAgIGRlcGVuZGVuY2llcy5hcHBlbmQoU3Ryb25nPEpTQ2VsbD4odm0sIGltcG9ydE9iamVjdCkp
OwogICAgIGRlcGVuZGVuY2llcy5hcHBlbmQoU3Ryb25nPEpTQ2VsbD4odm0sIGdsb2JhbE9iamVj
dCkpOwogICAgIHZtLmRlZmVycmVkV29ya1RpbWVyLT5hZGRQZW5kaW5nV29yayh2bSwgcHJvbWlz
ZSwgV1RGTW92ZShkZXBlbmRlbmNpZXMpKTsKLQogICAgIFdhc206Ok1vZHVsZTo6dmFsaWRhdGVB
c3luYygmdm0ud2FzbUNvbnRleHQsIFdURk1vdmUoc291cmNlKSwgY3JlYXRlU2hhcmVkVGFzazxX
YXNtOjpNb2R1bGU6OkNhbGxiYWNrVHlwZT4oW3Byb21pc2UsIGltcG9ydE9iamVjdCwgZ2xvYmFs
T2JqZWN0LCAmdm1dIChXYXNtOjpNb2R1bGU6OlZhbGlkYXRpb25SZXN1bHQmJiByZXN1bHQpIG11
dGFibGUgewotICAgICAgICB2bS5kZWZlcnJlZFdvcmtUaW1lci0+c2NoZWR1bGVXb3JrU29vbihw
cm9taXNlLCBbcHJvbWlzZSwgaW1wb3J0T2JqZWN0LCBnbG9iYWxPYmplY3QsIHJlc3VsdCA9IFdU
Rk1vdmUocmVzdWx0KSwgJnZtXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgdm0uZGVmZXJyZWRXb3Jr
VGltZXItPnNjaGVkdWxlV29ya1Nvb24ocHJvbWlzZSwgW3Byb21pc2UsIGltcG9ydE9iamVjdCwg
Z2xvYmFsT2JqZWN0LCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCksICZ2bV0oRGVmZXJyZWRXb3Jr
VGltZXI6OlRpY2tldCwgRGVmZXJyZWRXb3JrVGltZXI6OlRpY2tldERhdGEmJikgbXV0YWJsZSB7
CiAgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAg
ICAgICAgICBKU1dlYkFzc2VtYmx5TW9kdWxlKiBtb2R1bGUgPSBKU1dlYkFzc2VtYmx5TW9kdWxl
OjpjcmVhdGVTdHViKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlN
b2R1bGVTdHJ1Y3R1cmUoKSwgV1RGTW92ZShyZXN1bHQpKTsKICAgICAgICAgICAgIGlmIChVTkxJ
S0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsK
</data>
<flag name="review"
          id="436126"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>