<?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>214572</bug_id>
          
          <creation_ts>2020-07-20 13:54:45 -0700</creation_ts>
          <short_desc>REGRESSION (r264242): [ macOS ] imported/w3c/web-platform-tests/wasm/jsapi/constructor/instantiate.any.html is a flaky crash</short_desc>
          <delta_ts>2020-07-20 16:36:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Karl Rackler">rackler</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rackler</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1673224</commentid>
    <comment_count>0</comment_count>
    <who name="Karl Rackler">rackler</who>
    <bug_when>2020-07-20 13:54:45 -0700</bug_when>
    <thetext>Description:
imported/w3c/web-platform-tests/wasm/jsapi/constructor/instantiate.any.html
This has been a flaky crash.  This has appeared on Catalina WK2 debug once on 07/19/20.  Then appears on Catalina rWK1 release starting 07/14/20 crashing two days consecutively.  Another instance appears as a flaky crash on Mojave WK1 debug and release for 3 days in a row starting 07/15/20.

I can reproduce this for r264242, but not for r264241.

REPRODUCTION STEPS
run-webkit-tests --iterations 500 --exit-after-n-failures 3 --exit-after-n-crashes-or-timeouts 1 --debug-rwt-logging --no-retry --force --no-build -f --root imported/w3c/web-platform-tests/wasm/jsapi/constructor/instantiate.any.html

History:
https://results.webkit.org/?limit=50000&amp;suite=layout-tests&amp;test=imported%2Fw3c%2Fweb-platform-tests%2Fwasm%2Fjsapi%2Fconstructor%2Finstantiate.any.html&amp;platform=mac

Crash Log:
Thread 31 Crashed:: Wasm Worklist Helper Thread
0   libobjc.A.dylib               	0x00007fff5cdc039d objc_msgSend + 29
1   com.apple.CoreFoundation      	0x00007fff325744a9 CFEqual + 621
2   com.apple.CoreFoundation      	0x00007fff32570215 CFBasicHashAddValue + 1205
3   com.apple.CoreFoundation      	0x00007fff325a2f6d CFRunLoopAddTimer + 477
4   com.apple.JavaScriptCore      	0x000000010bee42d8 WTF::RunLoop::TimerBase::start(WTF::Seconds, bool) + 200
5   com.apple.JavaScriptCore      	0x000000010cc50c67 JSC::JSRunLoopTimer::Manager::scheduleTimer(JSC::JSRunLoopTimer&amp;, WTF::Seconds) + 695</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673225</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-20 13:56:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/65846269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673250</commentid>
    <comment_count>2</comment_count>
      <attachid>404762</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-20 14:57:03 -0700</bug_when>
    <thetext>Created attachment 404762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673255</commentid>
    <comment_count>3</comment_count>
      <attachid>404765</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-20 15:05:25 -0700</bug_when>
    <thetext>Created attachment 404765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673258</commentid>
    <comment_count>4</comment_count>
      <attachid>404766</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-20 15:16:08 -0700</bug_when>
    <thetext>Created attachment 404766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673318</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-20 16:36:06 -0700</bug_when>
    <thetext>Committed r264635: &lt;https://trac.webkit.org/changeset/264635&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404766.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404762</attachid>
            <date>2020-07-20 14:57:03 -0700</date>
            <delta_ts>2020-07-20 15:05:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214572-20200720145703.patch</filename>
            <type>text/plain</type>
            <size>15607</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NjIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDIwLTA3LTIwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUkVHUkVTU0lPTiAocjI2NDI0Mik6IFsgbWFjT1MgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55Lmh0bWwgaXMg
YSBmbGFreSBjcmFzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0NTcyCisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjQyNDIuCisK
KyAgICAgICAgKiBydW50aW1lL0pTUnVuTG9vcFRpbWVyLmNwcDoKKyAgICAgICAgKEpTQzo6ZXBv
Y2hUaW1lKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVyRGlk
RmlyZUNhbGxiYWNrKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OlBl
clZNRGF0YTo6c2V0UnVuTG9vcCk6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpNYW5h
Z2VyOjpQZXJWTURhdGE6OlBlclZNRGF0YSk6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVy
OjpNYW5hZ2VyOjpQZXJWTURhdGE6On5QZXJWTURhdGEpOgorICAgICAgICAoSlNDOjpKU1J1bkxv
b3BUaW1lcjo6TWFuYWdlcjo6dGltZXJEaWRGaXJlKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29w
VGltZXI6Ok1hbmFnZXI6OnJlZ2lzdGVyVk0pOgorICAgICAgICAoSlNDOjpKU1J1bkxvb3BUaW1l
cjo6TWFuYWdlcjo6c2NoZWR1bGVUaW1lcik6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVy
OjpNYW5hZ2VyOjpjYW5jZWxUaW1lcik6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpN
YW5hZ2VyOjpkaWRDaGFuZ2VSdW5Mb29wKToKKyAgICAgICAgKiBydW50aW1lL0pTUnVuTG9vcFRp
bWVyLmg6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjpQZXJWTURhdGE6
OlBlclZNRGF0YSk6CisgICAgICAgICogcnVudGltZS9Qcm9taXNlVGltZXIuY3BwOgorICAgICAg
ICAoSlNDOjpQcm9taXNlVGltZXI6OmRvV29yayk6CisgICAgICAgIChKU0M6OlByb21pc2VUaW1l
cjo6cnVuUnVuTG9vcCk6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6
OlZNOjpWTSk6CisgICAgICAgIChKU0M6OlZNOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpWTTo6
dHJ5Q3JlYXRlKToKKyAgICAgICAgKEpTQzo6Vk06OnNldFJ1bkxvb3ApOgorICAgICAgICAqIHJ1
bnRpbWUvVk0uaDoKKyAgICAgICAgKEpTQzo6Vk06OnJ1bkxvb3AgY29uc3QpOgorCiAyMDIwLTA3
LTIwICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBGaW5hbGl6YXRpb25SZWdpc3RyaWVzCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1J1bkxvb3BUaW1lci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNSdW5Mb29wVGltZXIuY3BwCShyZXZpc2lvbiAyNjQ2
MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1J1bkxvb3BUaW1lci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQwLDEyICs0MCw0NiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogc3Rh
dGljIGlubGluZSBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6RXBvY2hUaW1lIGVwb2NoVGltZShT
ZWNvbmRzIGRlbGF5KQogeworI2lmIFVTRShDRikKKyAgICByZXR1cm4gU2Vjb25kcyB7IENGQWJz
b2x1dGVUaW1lR2V0Q3VycmVudCgpICsgZGVsYXkudmFsdWUoKSB9OworI2Vsc2UKICAgICByZXR1
cm4gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKSArIGRlbGF5OworI2Vu
ZGlmCit9CisKKyNpZiBVU0UoQ0YpCit2b2lkIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1l
ckRpZEZpcmVDYWxsYmFjayhDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dFB0cikKK3sK
KyAgICBzdGF0aWNfY2FzdDxKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcio+KGNvbnRleHRQdHIpLT50
aW1lckRpZEZpcmUoKTsKIH0KIAotSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OlBlclZNRGF0YTo6
UGVyVk1EYXRhKE1hbmFnZXImIG1hbmFnZXIsIFJ1bkxvb3AmIHJ1bkxvb3ApCi0gICAgOiBydW5M
b29wKHJ1bkxvb3ApCi0gICAgLCB0aW1lcihtYWtlVW5pcXVlPFJ1bkxvb3A6OlRpbWVyPE1hbmFn
ZXI+PihydW5Mb29wLCAmbWFuYWdlciwgJkpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lckRp
ZEZpcmVDYWxsYmFjaykpCit2b2lkIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjpQZXJWTURhdGE6
OnNldFJ1bkxvb3AoTWFuYWdlciogbWFuYWdlciwgQ0ZSdW5Mb29wUmVmIG5ld1J1bkxvb3ApCit7
CisgICAgaWYgKHJ1bkxvb3ApIHsKKyAgICAgICAgQ0ZSdW5Mb29wUmVtb3ZlVGltZXIocnVuTG9v
cC5nZXQoKSwgdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CisgICAgICAgIENG
UnVuTG9vcFRpbWVySW52YWxpZGF0ZSh0aW1lci5nZXQoKSk7CisgICAgICAgIHJ1bkxvb3AuY2xl
YXIoKTsKKyAgICAgICAgdGltZXIuY2xlYXIoKTsKKyAgICB9CisKKyAgICBpZiAobmV3UnVuTG9v
cCkgeworICAgICAgICBydW5Mb29wID0gbmV3UnVuTG9vcDsKKyAgICAgICAgbWVtc2V0KCZjb250
ZXh0LCAwLCBzaXplb2YoQ0ZSdW5Mb29wVGltZXJDb250ZXh0KSk7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKG1hbmFnZXIpOworICAgICAgICBjb250ZXh0LmluZm8gPSBtYW5hZ2VyOworICAgICAg
ICB0aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVs
dCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBzX2RlY2FkZS5zZWNvbmRzKCksIENGQWJz
b2x1dGVUaW1lR2V0Q3VycmVudCgpICsgc19kZWNhZGUuc2Vjb25kcygpLCAwLCAwLCBKU1J1bkxv
b3BUaW1lcjo6TWFuYWdlcjo6dGltZXJEaWRGaXJlQ2FsbGJhY2ssICZjb250ZXh0KSk7CisgICAg
ICAgIENGUnVuTG9vcEFkZFRpbWVyKHJ1bkxvb3AuZ2V0KCksIHRpbWVyLmdldCgpLCBrQ0ZSdW5M
b29wQ29tbW9uTW9kZXMpOworCisgICAgICAgIEVwb2NoVGltZSBzY2hlZHVsZVRpbWUgPSBlcG9j
aFRpbWUoc19kZWNhZGUpOworICAgICAgICBmb3IgKGF1dG8mIHBhaXIgOiB0aW1lcnMpCisgICAg
ICAgICAgICBzY2hlZHVsZVRpbWUgPSBzdGQ6Om1pbihwYWlyLnNlY29uZCwgc2NoZWR1bGVUaW1l
KTsKKyAgICAgICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUodGltZXIuZ2V0KCksIHNj
aGVkdWxlVGltZS52YWx1ZSgpKTsKKyAgICB9Cit9CisjZWxzZQorSlNSdW5Mb29wVGltZXI6Ok1h
bmFnZXI6OlBlclZNRGF0YTo6UGVyVk1EYXRhKE1hbmFnZXImIG1hbmFnZXIpCisgICAgOiBydW5M
b29wKCZSdW5Mb29wOjpjdXJyZW50KCkpCisgICAgLCB0aW1lcihtYWtlVW5pcXVlPFJ1bkxvb3A6
OlRpbWVyPE1hbmFnZXI+PigqcnVuTG9vcCwgJm1hbmFnZXIsICZKU1J1bkxvb3BUaW1lcjo6TWFu
YWdlcjo6dGltZXJEaWRGaXJlQ2FsbGJhY2spKQogewogI2lmIFVTRShHTElCX0VWRU5UX0xPT1Ap
CiAgICAgdGltZXItPnNldFByaW9yaXR5KFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6SmF2YXNjcmlw
dFRpbWVyKTsKQEAgLTU3LDkgKzkxLDEzIEBAIHZvaWQgSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6
OnRpbWVyRGlkRmkKIHsKICAgICB0aW1lckRpZEZpcmUoKTsKIH0KKyNlbmRpZgogCiBKU1J1bkxv
b3BUaW1lcjo6TWFuYWdlcjo6UGVyVk1EYXRhOjp+UGVyVk1EYXRhKCkKIHsKKyNpZiBVU0UoQ0Yp
CisgICAgc2V0UnVuTG9vcChudWxscHRyLCBudWxscHRyKTsKKyNlbmRpZgogfQogCiB2b2lkIEpT
UnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lckRpZEZpcmUoKQpAQCAtNjgsMTIgKzEwNiwyMSBA
QCB2b2lkIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lckRpZEZpCiAKICAgICB7CiAgICAg
ICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9sb2NrKTsKKyNpZiBVU0UoQ0YpCisgICAgICAg
IENGUnVuTG9vcFJlZiBjdXJyZW50UnVuTG9vcCA9IENGUnVuTG9vcEdldEN1cnJlbnQoKTsKKyNl
bHNlCiAgICAgICAgIFJ1bkxvb3AqIGN1cnJlbnRSdW5Mb29wID0gJlJ1bkxvb3A6OmN1cnJlbnQo
KTsKKyNlbmRpZgogICAgICAgICBFcG9jaFRpbWUgbm93RXBvY2hUaW1lID0gZXBvY2hUaW1lKDBf
cyk7CiAgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBtX21hcHBpbmcpIHsKICAgICAgICAgICAg
IFBlclZNRGF0YSYgZGF0YSA9ICplbnRyeS52YWx1ZTsKLSAgICAgICAgICAgIGlmIChkYXRhLnJ1
bkxvb3AucHRyKCkgIT0gY3VycmVudFJ1bkxvb3ApCisjaWYgVVNFKENGKQorICAgICAgICAgICAg
aWYgKGRhdGEucnVuTG9vcC5nZXQoKSAhPSBjdXJyZW50UnVuTG9vcCkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyNlbHNlCisgICAgICAgICAgICBpZiAoZGF0YS5ydW5Mb29wICE9IGN1cnJl
bnRSdW5Mb29wKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworI2VuZGlmCiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIEVwb2NoVGltZSBzY2hlZHVsZVRpbWUgPSBlcG9jaFRpbWUoc19kZWNh
ZGUpOwogICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhLnRpbWVycy5zaXpl
KCk7ICsraSkgewpAQCAtOTMsNyArMTQwLDExIEBAIHZvaWQgSlNSdW5Mb29wVGltZXI6Ok1hbmFn
ZXI6OnRpbWVyRGlkRmkKICAgICAgICAgICAgICAgICB0aW1lcnNUb0ZpcmUuYXBwZW5kKFdURk1v
dmUocGFpci5maXJzdCkpOwogICAgICAgICAgICAgfQogCisjaWYgVVNFKENGKQorICAgICAgICAg
ICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUoZGF0YS50aW1lci5nZXQoKSwgc2NoZWR1
bGVUaW1lLnZhbHVlKCkpOworI2Vsc2UKICAgICAgICAgICAgIGRhdGEudGltZXItPnN0YXJ0T25l
U2hvdChzdGQ6Om1heCgwX3MsIHNjaGVkdWxlVGltZSAtIE1vbm90b25pY1RpbWU6Om5vdygpLnNl
Y29uZHNTaW5jZUVwb2NoKCkpKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgfQogCkBAIC0xMTMs
NyArMTY0LDEwIEBAIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyJiBKU1J1bkxvb3BUaW1lcjoKIAog
dm9pZCBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6cmVnaXN0ZXJWTShWTSYgdm0pCiB7Ci0gICAg
YXV0byBkYXRhID0gbWFrZVVuaXF1ZTxQZXJWTURhdGE+KCp0aGlzLCB2bS5ydW5Mb29wKCkpOwor
ICAgIGF1dG8gZGF0YSA9IG1ha2VVbmlxdWU8UGVyVk1EYXRhPigqdGhpcyk7CisjaWYgVVNFKENG
KQorICAgIGRhdGEtPnNldFJ1bkxvb3AodGhpcywgdm0ucnVuTG9vcCgpKTsKKyNlbmRpZgogCiAg
ICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2spOwogICAgIGF1dG8gYWRkUmVzdWx0ID0g
bV9tYXBwaW5nLmFkZCh7IHZtLmFwaUxvY2soKSB9LCBXVEZNb3ZlKGRhdGEpKTsKQEAgLTE1MSw3
ICsyMDUsMTEgQEAgdm9pZCBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6c2NoZWR1bGVUaQogICAg
IGlmICghZm91bmQpCiAgICAgICAgIGRhdGEudGltZXJzLmFwcGVuZCh7IHRpbWVyLCBmaXJlRXBv
Y2hUaW1lIH0pOwogCisjaWYgVVNFKENGKQorICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4dEZpcmVE
YXRlKGRhdGEudGltZXIuZ2V0KCksIHNjaGVkdWxlVGltZS52YWx1ZSgpKTsKKyNlbHNlCiAgICAg
ZGF0YS50aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDBfcywgc2NoZWR1bGVUaW1lIC0gTW9u
b3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKSkpOworI2VuZGlmCiB9CiAKIHZv
aWQgSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OmNhbmNlbFRpbWVyKEpTUnVuTG9vcFRpbWVyJiB0
aW1lcikKQEAgLTE4Miw3ICsyNDAsMTEgQEAgdm9pZCBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6
Y2FuY2VsVGltZQogICAgICAgICBzY2hlZHVsZVRpbWUgPSBzdGQ6Om1pbihzY2hlZHVsZVRpbWUs
IGRhdGEudGltZXJzW2ldLnNlY29uZCk7CiAgICAgfQogCisjaWYgVVNFKENGKQorICAgIENGUnVu
TG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRlKGRhdGEudGltZXIuZ2V0KCksIHNjaGVkdWxlVGltZS52
YWx1ZSgpKTsKKyNlbHNlCiAgICAgZGF0YS50aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDBf
cywgc2NoZWR1bGVUaW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2go
KSkpOworI2VuZGlmCiB9CiAKIE9wdGlvbmFsPFNlY29uZHM+IEpTUnVuTG9vcFRpbWVyOjpNYW5h
Z2VyOjp0aW1lVW50aWxGaXJlKEpTUnVuTG9vcFRpbWVyJiB0aW1lcikKQEAgLTIwMiw2ICsyNjQs
MTggQEAgT3B0aW9uYWw8U2Vjb25kcz4gSlNSdW5Mb29wVGltZXI6Ok1hbmFnZQogICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CiB9CiAKKyNpZiBVU0UoQ0YpCit2b2lkIEpTUnVuTG9vcFRpbWVyOjpN
YW5hZ2VyOjpkaWRDaGFuZ2VSdW5Mb29wKFZNJiB2bSwgQ0ZSdW5Mb29wUmVmIG5ld1J1bkxvb3Ap
Cit7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2spOworICAgIGF1dG8gaXRlciA9
IG1fbWFwcGluZy5maW5kKHsgdm0uYXBpTG9jaygpIH0pOworICAgIFJFTEVBU0VfQVNTRVJUKGl0
ZXIgIT0gbV9tYXBwaW5nLmVuZCgpKTsKKworICAgIFBlclZNRGF0YSYgZGF0YSA9ICppdGVyLT52
YWx1ZTsKKyAgICBkYXRhLnNldFJ1bkxvb3AodGhpcywgbmV3UnVuTG9vcCk7Cit9CisjZW5kaWYK
Kwogdm9pZCBKU1J1bkxvb3BUaW1lcjo6dGltZXJEaWRGaXJlKCkKIHsKICAgICBOT19UQUlMX0NB
TExTKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1J1bkxvb3BUaW1l
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUnVuTG9v
cFRpbWVyLmgJKHJldmlzaW9uIDI2NDYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUnVuTG9vcFRpbWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDEwIEBACiAj
aW5jbHVkZSA8d3RmL1NoYXJlZFRhc2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KIAorI2lmIFVTRShDRikKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91
bmRhdGlvbi5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBKU0xvY2s7CkBA
IC00Niw4ICs1MCwxMSBAQCBwdWJsaWM6CiAgICAgY2xhc3MgTWFuYWdlciB7CiAgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYW5h
Z2VyKTsKKyNpZiBVU0UoQ0YpCisgICAgICAgIHN0YXRpYyB2b2lkIHRpbWVyRGlkRmlyZUNhbGxi
YWNrKENGUnVuTG9vcFRpbWVyUmVmLCB2b2lkKik7CisjZWxzZQogICAgICAgICB2b2lkIHRpbWVy
RGlkRmlyZUNhbGxiYWNrKCk7Ci0KKyNlbmRpZgogICAgICAgICBNYW5hZ2VyKCkgPSBkZWZhdWx0
OwogCiAgICAgICAgIHZvaWQgdGltZXJEaWRGaXJlKCk7CkBAIC02Myw2ICs3MCwxMCBAQCBwdWJs
aWM6CiAKICAgICAgICAgT3B0aW9uYWw8U2Vjb25kcz4gdGltZVVudGlsRmlyZShKU1J1bkxvb3BU
aW1lciYpOwogCisjaWYgVVNFKENGKQorICAgICAgICB2b2lkIGRpZENoYW5nZVJ1bkxvb3AoVk0m
LCBDRlJ1bkxvb3BSZWYgbmV3UnVuTG9vcCk7CisjZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAg
ICAgIExvY2sgbV9sb2NrOwogCkBAIC03MCwxMSArODEsMjIgQEAgcHVibGljOgogICAgICAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQZXJWTURhdGEpOwogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBQZXJWTURhdGEo
TWFuYWdlciYsIFdURjo6UnVuTG9vcCYpOworI2lmIFVTRShDRikKKyAgICAgICAgICAgIFBlclZN
RGF0YShNYW5hZ2VyJikgeyB9CisjZWxzZQorICAgICAgICAgICAgUGVyVk1EYXRhKE1hbmFnZXIm
KTsKKyNlbmRpZgogICAgICAgICAgICAgflBlclZNRGF0YSgpOwogCi0gICAgICAgICAgICBSZWY8
V1RGOjpSdW5Mb29wPiBydW5Mb29wOworI2lmIFVTRShDRikKKyAgICAgICAgICAgIHZvaWQgc2V0
UnVuTG9vcChNYW5hZ2VyKiwgQ0ZSdW5Mb29wUmVmKTsKKyAgICAgICAgICAgIFJldGFpblB0cjxD
RlJ1bkxvb3BUaW1lclJlZj4gdGltZXI7CisgICAgICAgICAgICBSZXRhaW5QdHI8Q0ZSdW5Mb29w
UmVmPiBydW5Mb29wOworICAgICAgICAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQ7
CisjZWxzZQorICAgICAgICAgICAgUnVuTG9vcCogcnVuTG9vcDsKICAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxSdW5Mb29wOjpUaW1lcjxNYW5hZ2VyPj4gdGltZXI7CisjZW5kaWYKICAgICAg
ICAgICAgIFZlY3RvcjxzdGQ6OnBhaXI8UmVmPEpTUnVuTG9vcFRpbWVyPiwgRXBvY2hUaW1lPj4g
dGltZXJzOwogICAgICAgICB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm9taXNlVGltZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb21pc2VUaW1lci5jcHAJKHJldmlzaW9uIDI2NDYwNykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb21pc2VUaW1lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcw
LDggKzcwLDEzIEBAIHZvaWQgUHJvbWlzZVRpbWVyOjpkb1dvcmsoVk0mIHZtKQogICAgICAgICB9
CiAgICAgfQogCi0gICAgaWYgKG1fcGVuZGluZ1Byb21pc2VzLmlzRW1wdHkoKSAmJiBtX3Nob3Vs
ZFN0b3BSdW5Mb29wV2hlbkFsbFByb21pc2VzRmluaXNoKQorICAgIGlmIChtX3BlbmRpbmdQcm9t
aXNlcy5pc0VtcHR5KCkgJiYgbV9zaG91bGRTdG9wUnVuTG9vcFdoZW5BbGxQcm9taXNlc0Zpbmlz
aCkgeworI2lmIFVTRShDRikKKyAgICAgICAgQ0ZSdW5Mb29wU3RvcCh2bS5ydW5Mb29wKCkpOwor
I2Vsc2UKICAgICAgICAgUnVuTG9vcDo6Y3VycmVudCgpLnN0b3AoKTsKKyNlbmRpZgorICAgIH0K
IAogICAgIG1fdGFza0xvY2sudW5sb2NrKCk7CiB9CkBAIC03OSwxMCArODQsMTcgQEAgdm9pZCBQ
cm9taXNlVGltZXI6OmRvV29yayhWTSYgdm0pCiB2b2lkIFByb21pc2VUaW1lcjo6cnVuUnVuTG9v
cCgpCiB7CiAgICAgQVNTRVJUKCFtX2FwaUxvY2stPnZtKCktPmN1cnJlbnRUaHJlYWRJc0hvbGRp
bmdBUElMb2NrKCkpOwotICAgIEFTU0VSVCgmUnVuTG9vcDo6Y3VycmVudCgpID09ICZtX2FwaUxv
Y2stPnZtKCktPnJ1bkxvb3AoKSk7CisjaWYgVVNFKENGKQorICAgIEFTU0VSVChDRlJ1bkxvb3BH
ZXRDdXJyZW50KCkgPT0gbV9hcGlMb2NrLT52bSgpLT5ydW5Mb29wKCkpOworI2VuZGlmCiAgICAg
bV9zaG91bGRTdG9wUnVuTG9vcFdoZW5BbGxQcm9taXNlc0ZpbmlzaCA9IHRydWU7Ci0gICAgaWYg
KG1fcGVuZGluZ1Byb21pc2VzLnNpemUoKSkKKyAgICBpZiAobV9wZW5kaW5nUHJvbWlzZXMuc2l6
ZSgpKSB7CisjaWYgVVNFKENGKQorICAgICAgICBDRlJ1bkxvb3BSdW4oKTsKKyNlbHNlCiAgICAg
ICAgIFJ1bkxvb3A6OnJ1bigpOworI2VuZGlmCisgICAgfQogfQogCiB2b2lkIFByb21pc2VUaW1l
cjo6YWRkUGVuZGluZ1Byb21pc2UoVk0mIHZtLCBKU1Byb21pc2UqIHRpY2tldCwgVmVjdG9yPFN0
cm9uZzxKU0NlbGw+PiYmIGRlcGVuZGVuY2llcykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5jcHAJKHJldmlzaW9uIDI2NDYwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYyLDEwICsyNjIsMTIgQEAgaW5saW5l
IHVuc2lnbmVkIFZNOjpuZXh0SUQoKQogCiBzdGF0aWMgYm9vbCB2bUNyZWF0aW9uU2hvdWxkQ3Jh
c2ggPSBmYWxzZTsKIAotVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlLCBX
VEY6OlJ1bkxvb3AqIHJ1bkxvb3AsIGJvb2wqIHN1Y2Nlc3MpCitWTTo6Vk0oVk1UeXBlIHZtVHlw
ZSwgSGVhcFR5cGUgaGVhcFR5cGUsIGJvb2wqIHN1Y2Nlc3MpCiAgICAgOiBtX2lkKG5leHRJRCgp
KQogICAgICwgbV9hcGlMb2NrKGFkb3B0UmVmKG5ldyBKU0xvY2sodGhpcykpKQotICAgICwgbV9y
dW5Mb29wKHJ1bkxvb3AgPyAqcnVuTG9vcCA6IFdURjo6UnVuTG9vcDo6Y3VycmVudCgpKQorI2lm
IFVTRShDRikKKyAgICAsIG1fcnVuTG9vcChDRlJ1bkxvb3BHZXRDdXJyZW50KCkpCisjZW5kaWYg
Ly8gVVNFKENGKQogICAgICwgbV9yYW5kb20oT3B0aW9uczo6c2VlZE9mVk1SYW5kb21Gb3JGdXp6
ZXIoKSA/IE9wdGlvbnM6OnNlZWRPZlZNUmFuZG9tRm9yRnV6emVyKCkgOiBjcnlwdG9ncmFwaGlj
YWxseVJhbmRvbU51bWJlcigpKQogICAgICwgbV9pbnRlZ3JpdHlSYW5kb20oKnRoaXMpCiAgICAg
LCBoZWFwKCp0aGlzLCBoZWFwVHlwZSkKQEAgLTY3NSwxNSArNjc3LDE1IEBAIFJlZjxWTT4gVk06
OmNyZWF0ZUNvbnRleHRHcm91cChIZWFwVHlwZSAKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBW
TShBUElDb250ZXh0R3JvdXAsIGhlYXBUeXBlKSk7CiB9CiAKLVJlZjxWTT4gVk06OmNyZWF0ZShI
ZWFwVHlwZSBoZWFwVHlwZSwgV1RGOjpSdW5Mb29wKiBydW5Mb29wKQorUmVmPFZNPiBWTTo6Y3Jl
YXRlKEhlYXBUeXBlIGhlYXBUeXBlKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFZNKERl
ZmF1bHQsIGhlYXBUeXBlLCBydW5Mb29wKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVk0o
RGVmYXVsdCwgaGVhcFR5cGUpKTsKIH0KIAotUmVmUHRyPFZNPiBWTTo6dHJ5Q3JlYXRlKEhlYXBU
eXBlIGhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqIHJ1bkxvb3ApCitSZWZQdHI8Vk0+IFZNOjp0cnlD
cmVhdGUoSGVhcFR5cGUgaGVhcFR5cGUpCiB7CiAgICAgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKLSAg
ICBSZWZQdHI8Vk0+IHZtID0gYWRvcHRSZWYobmV3IFZNKERlZmF1bHQsIGhlYXBUeXBlLCBydW5M
b29wLCAmc3VjY2VzcykpOworICAgIFJlZlB0cjxWTT4gdm0gPSBhZG9wdFJlZihuZXcgVk0oRGVm
YXVsdCwgaGVhcFR5cGUsICZzdWNjZXNzKSk7CiAgICAgaWYgKCFzdWNjZXNzKSB7CiAgICAgICAg
IC8vIEhlcmUsIHdlJ3JlIGRlc3RydWN0aW5nIGEgcGFydGlhbGx5IGNvbnN0cnVjdGVkIFZNIGFu
ZCB3ZSBrbm93IHRoYXQKICAgICAgICAgLy8gbm8gb25lIGVsc2UgY2FuIGJlIHVzaW5nIGl0IGF0
IHRoZSBzYW1lIHRpbWUuIFNvLCBhY3F1aXJpbmcgdGhlIGxvY2sKQEAgLTEzODEsNiArMTM4Mywx
NSBAQCB2b2lkIFZNOjp2ZXJpZnlFeGNlcHRpb25DaGVja05lZWRJc1NhdGlzCiB9CiAjZW5kaWYK
IAorI2lmIFVTRShDRikKK3ZvaWQgVk06OnNldFJ1bkxvb3AoQ0ZSdW5Mb29wUmVmIHJ1bkxvb3Ap
Cit7CisgICAgQVNTRVJUKHJ1bkxvb3ApOworICAgIG1fcnVuTG9vcCA9IHJ1bkxvb3A7CisgICAg
SlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnNoYXJlZCgpLmRpZENoYW5nZVJ1bkxvb3AoKnRoaXMs
IHJ1bkxvb3ApOworfQorI2VuZGlmIC8vIFVTRShDRikKKwogU2NyYXRjaEJ1ZmZlciogVk06OnNj
cmF0Y2hCdWZmZXJGb3JTaXplKHNpemVfdCBzaXplKQogewogICAgIGlmICghc2l6ZSkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMjY0NjA3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQs
NiBAQAogI2VuZGlmCiAKIG5hbWVzcGFjZSBXVEYgewotY2xhc3MgUnVuTG9vcDsKIGNsYXNzIFNp
bXBsZVN0YXRzOwogfSAvLyBuYW1lc3BhY2UgV1RGCiB1c2luZyBXVEY6OlNpbXBsZVN0YXRzOwpA
QCAtMzEzLDggKzMxMiw4IEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMg
Ym9vbCBzaGFyZWRJbnN0YW5jZUV4aXN0cygpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBWTSYgc2hhcmVkSW5zdGFuY2UoKTsKIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBS
ZWY8Vk0+IGNyZWF0ZShIZWFwVHlwZSA9IFNtYWxsSGVhcCwgV1RGOjpSdW5Mb29wKiA9IG51bGxw
dHIpOwotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBSZWZQdHI8Vk0+IHRyeUNyZWF0ZShI
ZWFwVHlwZSA9IFNtYWxsSGVhcCwgV1RGOjpSdW5Mb29wKiA9IG51bGxwdHIpOworICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyBSZWY8Vk0+IGNyZWF0ZShIZWFwVHlwZSA9IFNtYWxsSGVhcCk7
CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZlB0cjxWTT4gdHJ5Q3JlYXRlKEhlYXBU
eXBlID0gU21hbGxIZWFwKTsKICAgICBzdGF0aWMgUmVmPFZNPiBjcmVhdGVDb250ZXh0R3JvdXAo
SGVhcFR5cGUgPSBTbWFsbEhlYXApOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIH5WTSgpOwogCkBA
IC0zNTUsNyArMzU0LDEwIEBAIHByaXZhdGU6CiAKICAgICB1bnNpZ25lZCBtX2lkOwogICAgIFJl
ZlB0cjxKU0xvY2s+IG1fYXBpTG9jazsKLSAgICBSZWY8V1RGOjpSdW5Mb29wPiBtX3J1bkxvb3A7
CisjaWYgVVNFKENGKQorICAgIC8vIFRoZXNlIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQgYmVmb3Jl
IGhlYXAgYmVsb3cuCisgICAgUmV0YWluUHRyPENGUnVuTG9vcFJlZj4gbV9ydW5Mb29wOworI2Vu
ZGlmCiAKICAgICBXZWFrUmFuZG9tIG1fcmFuZG9tOwogICAgIEludGVncml0eTo6UmFuZG9tIG1f
aW50ZWdyaXR5UmFuZG9tOwpAQCAtMTA3OCw3ICsxMDgwLDEwIEBAIHB1YmxpYzoKICAgICBib29s
IG5lZWRFeGNlcHRpb25DaGVjaygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZEV4Y2VwdGlvbkNoZWNr
OyB9CiAjZW5kaWYKIAotICAgIFdURjo6UnVuTG9vcCYgcnVuTG9vcCgpIGNvbnN0IHsgcmV0dXJu
IG1fcnVuTG9vcDsgfQorI2lmIFVTRShDRikKKyAgICBDRlJ1bkxvb3BSZWYgcnVuTG9vcCgpIGNv
bnN0IHsgcmV0dXJuIG1fcnVuTG9vcC5nZXQoKTsgfQorICAgIEpTX0VYUE9SVF9QUklWQVRFIHZv
aWQgc2V0UnVuTG9vcChDRlJ1bkxvb3BSZWYpOworI2VuZGlmIC8vIFVTRShDRikKIAogICAgIHN0
YXRpYyB2b2lkIHNldENyYXNoT25WTUNyZWF0aW9uKGJvb2wpOwogCkBAIC0xMTAyLDcgKzExMDcs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRy
YWN0b3I7CiAKLSAgICBWTShWTVR5cGUsIEhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqID0gbnVsbHB0
ciwgYm9vbCogc3VjY2VzcyA9IG51bGxwdHIpOworICAgIFZNKFZNVHlwZSwgSGVhcFR5cGUsIGJv
b2wqIHN1Y2Nlc3MgPSBudWxscHRyKTsKICAgICBzdGF0aWMgVk0qJiBzaGFyZWRJbnN0YW5jZUlu
dGVybmFsKCk7CiAgICAgdm9pZCBjcmVhdGVOYXRpdmVUaHVuaygpOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjQ2MDcpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNy0yMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjQyNDIpOiBbIG1hY09TIF0g
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2lu
c3RhbnRpYXRlLmFueS5odG1sIGlzIGEgZmxha3kgY3Jhc2gKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDU3MgorCisgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjY0MjQyLgorCisgICAgICAgICogYmluZGluZ3MvanMvQ29tbW9uVk0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29tbW9uVk1TbG93KToKKwogMjAyMC0wNy0yMCAgUGhpbGlw
cGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0g
QWRkIHN1cHBvcnQgZm9yIGNhbnZhcyBjYXB0dXJlU3RyZWFtLCB0ZXN0cyBmYWlsaW5nIHNpbmNl
IHRoZXkgd2VyZSBhZGRlZCBpbiByMjEzNTk4CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Db21tb25WTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvQ29tbW9uVk0uY3BwCShyZXZpc2lvbiAyNjQ2MDcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Db21tb25WTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDEzICs1Niw3IEBAIEpT
Qzo6Vk0mIGNvbW1vblZNU2xvdygpCiAgICAgLy8gQWxzbywgaW5pdGlhbGl6ZU1haW5UaHJlYWQo
KSBkb2VzIG5vdGhpbmcgb24gaU9TLgogICAgIFNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVN
YWluVGhyZWFkKCk7CiAKLSAgICBSdW5Mb29wKiBydW5Mb29wID0gbnVsbHB0cjsKLSNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIGlmIChSdW5Mb29wKiB3ZWIgPSBSdW5Mb29wOjp3ZWJJZkV4
aXN0cygpKQotICAgICAgICBydW5Mb29wID0gd2ViOwotI2VuZGlmCi0KLSAgICBhdXRvJiB2bSA9
IEpTQzo6Vk06OmNyZWF0ZShKU0M6OkxhcmdlSGVhcCwgcnVuTG9vcCkubGVha1JlZigpOworICAg
IGF1dG8mIHZtID0gSlNDOjpWTTo6Y3JlYXRlKEpTQzo6TGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAK
ICAgICBnX2NvbW1vblZNT3JOdWxsID0gJnZtOwogCkBAIC03MSw2ICs2NSw3IEBAIEpTQzo6Vk0m
IGNvbW1vblZNU2xvdygpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAoV2ViVGhy
ZWFkSXNFbmFibGVkKCkpCiAgICAgICAgIHZtLmFwaUxvY2soKS5tYWtlV2ViVGhyZWFkQXdhcmUo
KTsKKyAgICB2bS5zZXRSdW5Mb29wKFdlYlRocmVhZFJ1bkxvb3AoKSk7CiAgICAgdm0uaGVhcC5t
YWNoaW5lVGhyZWFkcygpLmFkZEN1cnJlbnRUaHJlYWQoKTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404765</attachid>
            <date>2020-07-20 15:05:25 -0700</date>
            <delta_ts>2020-07-20 15:16:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214572-20200720150524.patch</filename>
            <type>text/plain</type>
            <size>15529</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NjIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDIwLTA3LTIwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUkVHUkVTU0lPTiAocjI2NDI0Mik6IFsgbWFjT1MgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55Lmh0bWwgaXMg
YSBmbGFreSBjcmFzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0NTcyCisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjQyNDIuCisK
KyAgICAgICAgKiBydW50aW1lL0pTUnVuTG9vcFRpbWVyLmNwcDoKKyAgICAgICAgKEpTQzo6ZXBv
Y2hUaW1lKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVyRGlk
RmlyZUNhbGxiYWNrKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OlBl
clZNRGF0YTo6c2V0UnVuTG9vcCk6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpNYW5h
Z2VyOjpQZXJWTURhdGE6OlBlclZNRGF0YSk6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVy
OjpNYW5hZ2VyOjpQZXJWTURhdGE6On5QZXJWTURhdGEpOgorICAgICAgICAoSlNDOjpKU1J1bkxv
b3BUaW1lcjo6TWFuYWdlcjo6dGltZXJEaWRGaXJlKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29w
VGltZXI6Ok1hbmFnZXI6OnJlZ2lzdGVyVk0pOgorICAgICAgICAoSlNDOjpKU1J1bkxvb3BUaW1l
cjo6TWFuYWdlcjo6c2NoZWR1bGVUaW1lcik6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVy
OjpNYW5hZ2VyOjpjYW5jZWxUaW1lcik6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpN
YW5hZ2VyOjpkaWRDaGFuZ2VSdW5Mb29wKToKKyAgICAgICAgKiBydW50aW1lL0pTUnVuTG9vcFRp
bWVyLmg6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjpQZXJWTURhdGE6
OlBlclZNRGF0YSk6CisgICAgICAgICogcnVudGltZS9Qcm9taXNlVGltZXIuY3BwOgorICAgICAg
ICAoSlNDOjpQcm9taXNlVGltZXI6OmRvV29yayk6CisgICAgICAgIChKU0M6OlByb21pc2VUaW1l
cjo6cnVuUnVuTG9vcCk6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6
OlZNOjpWTSk6CisgICAgICAgIChKU0M6OlZNOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpWTTo6
dHJ5Q3JlYXRlKToKKyAgICAgICAgKEpTQzo6Vk06OnNldFJ1bkxvb3ApOgorICAgICAgICAqIHJ1
bnRpbWUvVk0uaDoKKyAgICAgICAgKEpTQzo6Vk06OnJ1bkxvb3AgY29uc3QpOgorCiAyMDIwLTA3
LTIwICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBGaW5hbGl6YXRpb25SZWdpc3RyaWVzCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtUaW1lci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuY3BwCShyZXZpc2lv
biAyNjQ2MjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtU
aW1lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDggKzgxLDEzIEBAIHZvaWQgRGVmZXJyZWRX
b3JrVGltZXI6OmRvV29yayhWTSYgdm0pCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAobV9w
ZW5kaW5nVGlja2V0cy5pc0VtcHR5KCkgJiYgbV9zaG91bGRTdG9wUnVuTG9vcFdoZW5BbGxUaWNr
ZXRzRmluaXNoKQorICAgIGlmIChtX3BlbmRpbmdUaWNrZXRzLmlzRW1wdHkoKSAmJiBtX3Nob3Vs
ZFN0b3BSdW5Mb29wV2hlbkFsbFRpY2tldHNGaW5pc2gpIHsKKyNpZiBVU0UoQ0YpCisgICAgICAg
IENGUnVuTG9vcFN0b3Aodm0ucnVuTG9vcCgpKTsKKyNlbHNlCiAgICAgICAgIFJ1bkxvb3A6OmN1
cnJlbnQoKS5zdG9wKCk7CisjZW5kaWYKKyAgICB9CiAKICAgICBtX3Rhc2tMb2NrLnVubG9jaygp
OwogfQpAQCAtOTEsOSArOTYsMTcgQEAgdm9pZCBEZWZlcnJlZFdvcmtUaW1lcjo6cnVuUnVuTG9v
cCgpCiB7CiAgICAgQVNTRVJUKCFtX2FwaUxvY2stPnZtKCktPmN1cnJlbnRUaHJlYWRJc0hvbGRp
bmdBUElMb2NrKCkpOwogICAgIEFTU0VSVCgmUnVuTG9vcDo6Y3VycmVudCgpID09ICZtX2FwaUxv
Y2stPnZtKCktPnJ1bkxvb3AoKSk7CisjaWYgVVNFKENGKQorICAgIEFTU0VSVChDRlJ1bkxvb3BH
ZXRDdXJyZW50KCkgPT0gbV9hcGlMb2NrLT52bSgpLT5ydW5Mb29wKCkpOworI2VuZGlmCiAgICAg
bV9zaG91bGRTdG9wUnVuTG9vcFdoZW5BbGxUaWNrZXRzRmluaXNoID0gdHJ1ZTsKLSAgICBpZiAo
bV9wZW5kaW5nVGlja2V0cy5zaXplKCkpCisgICAgaWYgKG1fcGVuZGluZ1RpY2tldHMuc2l6ZSgp
KSB7CisjaWYgVVNFKENGKQorICAgICAgICBDRlJ1bkxvb3BSdW4oKTsKKyNlbHNlCiAgICAgICAg
IFJ1bkxvb3A6OnJ1bigpOworI2VuZGlmCisgICAgfQogfQogCiB2b2lkIERlZmVycmVkV29ya1Rp
bWVyOjphZGRQZW5kaW5nV29yayhWTSYgdm0sIFRpY2tldCB0aWNrZXQsIFZlY3RvcjxTdHJvbmc8
SlNDZWxsPj4mJiBkZXBlbmRlbmNpZXMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1J1bkxvb3BUaW1lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNSdW5Mb29wVGltZXIuY3BwCShyZXZpc2lvbiAyNjQ2MjApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1J1bkxvb3BUaW1lci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDEyICs0MCw0NiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogc3RhdGljIGlubGluZSBK
U1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6RXBvY2hUaW1lIGVwb2NoVGltZShTZWNvbmRzIGRlbGF5
KQogeworI2lmIFVTRShDRikKKyAgICByZXR1cm4gU2Vjb25kcyB7IENGQWJzb2x1dGVUaW1lR2V0
Q3VycmVudCgpICsgZGVsYXkudmFsdWUoKSB9OworI2Vsc2UKICAgICByZXR1cm4gTW9ub3Rvbmlj
VGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKSArIGRlbGF5OworI2VuZGlmCit9CisKKyNp
ZiBVU0UoQ0YpCit2b2lkIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lckRpZEZpcmVDYWxs
YmFjayhDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dFB0cikKK3sKKyAgICBzdGF0aWNf
Y2FzdDxKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcio+KGNvbnRleHRQdHIpLT50aW1lckRpZEZpcmUo
KTsKIH0KIAotSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OlBlclZNRGF0YTo6UGVyVk1EYXRhKE1h
bmFnZXImIG1hbmFnZXIsIFJ1bkxvb3AmIHJ1bkxvb3ApCi0gICAgOiBydW5Mb29wKHJ1bkxvb3Ap
Ci0gICAgLCB0aW1lcihtYWtlVW5pcXVlPFJ1bkxvb3A6OlRpbWVyPE1hbmFnZXI+PihydW5Mb29w
LCAmbWFuYWdlciwgJkpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lckRpZEZpcmVDYWxsYmFj
aykpCit2b2lkIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjpQZXJWTURhdGE6OnNldFJ1bkxvb3Ao
TWFuYWdlciogbWFuYWdlciwgQ0ZSdW5Mb29wUmVmIG5ld1J1bkxvb3ApCit7CisgICAgaWYgKHJ1
bkxvb3ApIHsKKyAgICAgICAgQ0ZSdW5Mb29wUmVtb3ZlVGltZXIocnVuTG9vcC5nZXQoKSwgdGlt
ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CisgICAgICAgIENGUnVuTG9vcFRpbWVy
SW52YWxpZGF0ZSh0aW1lci5nZXQoKSk7CisgICAgICAgIHJ1bkxvb3AuY2xlYXIoKTsKKyAgICAg
ICAgdGltZXIuY2xlYXIoKTsKKyAgICB9CisKKyAgICBpZiAobmV3UnVuTG9vcCkgeworICAgICAg
ICBydW5Mb29wID0gbmV3UnVuTG9vcDsKKyAgICAgICAgbWVtc2V0KCZjb250ZXh0LCAwLCBzaXpl
b2YoQ0ZSdW5Mb29wVGltZXJDb250ZXh0KSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hbmFn
ZXIpOworICAgICAgICBjb250ZXh0LmluZm8gPSBtYW5hZ2VyOworICAgICAgICB0aW1lciA9IGFk
b3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0
ZVRpbWVHZXRDdXJyZW50KCkgKyBzX2RlY2FkZS5zZWNvbmRzKCksIENGQWJzb2x1dGVUaW1lR2V0
Q3VycmVudCgpICsgc19kZWNhZGUuc2Vjb25kcygpLCAwLCAwLCBKU1J1bkxvb3BUaW1lcjo6TWFu
YWdlcjo6dGltZXJEaWRGaXJlQ2FsbGJhY2ssICZjb250ZXh0KSk7CisgICAgICAgIENGUnVuTG9v
cEFkZFRpbWVyKHJ1bkxvb3AuZ2V0KCksIHRpbWVyLmdldCgpLCBrQ0ZSdW5Mb29wQ29tbW9uTW9k
ZXMpOworCisgICAgICAgIEVwb2NoVGltZSBzY2hlZHVsZVRpbWUgPSBlcG9jaFRpbWUoc19kZWNh
ZGUpOworICAgICAgICBmb3IgKGF1dG8mIHBhaXIgOiB0aW1lcnMpCisgICAgICAgICAgICBzY2hl
ZHVsZVRpbWUgPSBzdGQ6Om1pbihwYWlyLnNlY29uZCwgc2NoZWR1bGVUaW1lKTsKKyAgICAgICAg
Q0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUodGltZXIuZ2V0KCksIHNjaGVkdWxlVGltZS52
YWx1ZSgpKTsKKyAgICB9Cit9CisjZWxzZQorSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OlBlclZN
RGF0YTo6UGVyVk1EYXRhKE1hbmFnZXImIG1hbmFnZXIpCisgICAgOiBydW5Mb29wKCZSdW5Mb29w
OjpjdXJyZW50KCkpCisgICAgLCB0aW1lcihtYWtlVW5pcXVlPFJ1bkxvb3A6OlRpbWVyPE1hbmFn
ZXI+PigqcnVuTG9vcCwgJm1hbmFnZXIsICZKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6dGltZXJE
aWRGaXJlQ2FsbGJhY2spKQogewogI2lmIFVTRShHTElCX0VWRU5UX0xPT1ApCiAgICAgdGltZXIt
PnNldFByaW9yaXR5KFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6SmF2YXNjcmlwdFRpbWVyKTsKQEAg
LTU3LDkgKzkxLDEzIEBAIHZvaWQgSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVyRGlkRmkK
IHsKICAgICB0aW1lckRpZEZpcmUoKTsKIH0KKyNlbmRpZgogCiBKU1J1bkxvb3BUaW1lcjo6TWFu
YWdlcjo6UGVyVk1EYXRhOjp+UGVyVk1EYXRhKCkKIHsKKyNpZiBVU0UoQ0YpCisgICAgc2V0UnVu
TG9vcChudWxscHRyLCBudWxscHRyKTsKKyNlbmRpZgogfQogCiB2b2lkIEpTUnVuTG9vcFRpbWVy
OjpNYW5hZ2VyOjp0aW1lckRpZEZpcmUoKQpAQCAtNjgsMTIgKzEwNiwyMSBAQCB2b2lkIEpTUnVu
TG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lckRpZEZpCiAKICAgICB7CiAgICAgICAgIGF1dG8gbG9j
a2VyID0gaG9sZExvY2sobV9sb2NrKTsKKyNpZiBVU0UoQ0YpCisgICAgICAgIENGUnVuTG9vcFJl
ZiBjdXJyZW50UnVuTG9vcCA9IENGUnVuTG9vcEdldEN1cnJlbnQoKTsKKyNlbHNlCiAgICAgICAg
IFJ1bkxvb3AqIGN1cnJlbnRSdW5Mb29wID0gJlJ1bkxvb3A6OmN1cnJlbnQoKTsKKyNlbmRpZgog
ICAgICAgICBFcG9jaFRpbWUgbm93RXBvY2hUaW1lID0gZXBvY2hUaW1lKDBfcyk7CiAgICAgICAg
IGZvciAoYXV0byYgZW50cnkgOiBtX21hcHBpbmcpIHsKICAgICAgICAgICAgIFBlclZNRGF0YSYg
ZGF0YSA9ICplbnRyeS52YWx1ZTsKLSAgICAgICAgICAgIGlmIChkYXRhLnJ1bkxvb3AucHRyKCkg
IT0gY3VycmVudFJ1bkxvb3ApCisjaWYgVVNFKENGKQorICAgICAgICAgICAgaWYgKGRhdGEucnVu
TG9vcC5nZXQoKSAhPSBjdXJyZW50UnVuTG9vcCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyNlbHNlCisgICAgICAgICAgICBpZiAoZGF0YS5ydW5Mb29wICE9IGN1cnJlbnRSdW5Mb29wKQog
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworI2VuZGlmCiAgICAgICAgICAgICAKICAgICAgICAg
ICAgIEVwb2NoVGltZSBzY2hlZHVsZVRpbWUgPSBlcG9jaFRpbWUoc19kZWNhZGUpOwogICAgICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhLnRpbWVycy5zaXplKCk7ICsraSkgewpA
QCAtOTMsNyArMTQwLDExIEBAIHZvaWQgSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVyRGlk
RmkKICAgICAgICAgICAgICAgICB0aW1lcnNUb0ZpcmUuYXBwZW5kKFdURk1vdmUocGFpci5maXJz
dCkpOwogICAgICAgICAgICAgfQogCisjaWYgVVNFKENGKQorICAgICAgICAgICAgQ0ZSdW5Mb29w
VGltZXJTZXROZXh0RmlyZURhdGUoZGF0YS50aW1lci5nZXQoKSwgc2NoZWR1bGVUaW1lLnZhbHVl
KCkpOworI2Vsc2UKICAgICAgICAgICAgIGRhdGEudGltZXItPnN0YXJ0T25lU2hvdChzdGQ6Om1h
eCgwX3MsIHNjaGVkdWxlVGltZSAtIE1vbm90b25pY1RpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVw
b2NoKCkpKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgfQogCkBAIC0xMTMsNyArMTY0LDEwIEBA
IEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyJiBKU1J1bkxvb3BUaW1lcjoKIAogdm9pZCBKU1J1bkxv
b3BUaW1lcjo6TWFuYWdlcjo6cmVnaXN0ZXJWTShWTSYgdm0pCiB7Ci0gICAgYXV0byBkYXRhID0g
bWFrZVVuaXF1ZTxQZXJWTURhdGE+KCp0aGlzLCB2bS5ydW5Mb29wKCkpOworICAgIGF1dG8gZGF0
YSA9IG1ha2VVbmlxdWU8UGVyVk1EYXRhPigqdGhpcyk7CisjaWYgVVNFKENGKQorICAgIGRhdGEt
PnNldFJ1bkxvb3AodGhpcywgdm0ucnVuTG9vcCgpKTsKKyNlbmRpZgogCiAgICAgYXV0byBsb2Nr
ZXIgPSBob2xkTG9jayhtX2xvY2spOwogICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9tYXBwaW5nLmFk
ZCh7IHZtLmFwaUxvY2soKSB9LCBXVEZNb3ZlKGRhdGEpKTsKQEAgLTE1MSw3ICsyMDUsMTEgQEAg
dm9pZCBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6c2NoZWR1bGVUaQogICAgIGlmICghZm91bmQp
CiAgICAgICAgIGRhdGEudGltZXJzLmFwcGVuZCh7IHRpbWVyLCBmaXJlRXBvY2hUaW1lIH0pOwog
CisjaWYgVVNFKENGKQorICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRlKGRhdGEudGlt
ZXIuZ2V0KCksIHNjaGVkdWxlVGltZS52YWx1ZSgpKTsKKyNlbHNlCiAgICAgZGF0YS50aW1lci0+
c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDBfcywgc2NoZWR1bGVUaW1lIC0gTW9ub3RvbmljVGltZTo6
bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKSkpOworI2VuZGlmCiB9CiAKIHZvaWQgSlNSdW5Mb29w
VGltZXI6Ok1hbmFnZXI6OmNhbmNlbFRpbWVyKEpTUnVuTG9vcFRpbWVyJiB0aW1lcikKQEAgLTE4
Miw3ICsyNDAsMTEgQEAgdm9pZCBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6Y2FuY2VsVGltZQog
ICAgICAgICBzY2hlZHVsZVRpbWUgPSBzdGQ6Om1pbihzY2hlZHVsZVRpbWUsIGRhdGEudGltZXJz
W2ldLnNlY29uZCk7CiAgICAgfQogCisjaWYgVVNFKENGKQorICAgIENGUnVuTG9vcFRpbWVyU2V0
TmV4dEZpcmVEYXRlKGRhdGEudGltZXIuZ2V0KCksIHNjaGVkdWxlVGltZS52YWx1ZSgpKTsKKyNl
bHNlCiAgICAgZGF0YS50aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDBfcywgc2NoZWR1bGVU
aW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKSkpOworI2VuZGlm
CiB9CiAKIE9wdGlvbmFsPFNlY29uZHM+IEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lVW50
aWxGaXJlKEpTUnVuTG9vcFRpbWVyJiB0aW1lcikKQEAgLTIwMiw2ICsyNjQsMTggQEAgT3B0aW9u
YWw8U2Vjb25kcz4gSlNSdW5Mb29wVGltZXI6Ok1hbmFnZQogICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiB9CiAKKyNpZiBVU0UoQ0YpCit2b2lkIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjpkaWRD
aGFuZ2VSdW5Mb29wKFZNJiB2bSwgQ0ZSdW5Mb29wUmVmIG5ld1J1bkxvb3ApCit7CisgICAgYXV0
byBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2spOworICAgIGF1dG8gaXRlciA9IG1fbWFwcGluZy5m
aW5kKHsgdm0uYXBpTG9jaygpIH0pOworICAgIFJFTEVBU0VfQVNTRVJUKGl0ZXIgIT0gbV9tYXBw
aW5nLmVuZCgpKTsKKworICAgIFBlclZNRGF0YSYgZGF0YSA9ICppdGVyLT52YWx1ZTsKKyAgICBk
YXRhLnNldFJ1bkxvb3AodGhpcywgbmV3UnVuTG9vcCk7Cit9CisjZW5kaWYKKwogdm9pZCBKU1J1
bkxvb3BUaW1lcjo6dGltZXJEaWRGaXJlKCkKIHsKICAgICBOT19UQUlMX0NBTExTKCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1J1bkxvb3BUaW1lci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUnVuTG9vcFRpbWVyLmgJKHJl
dmlzaW9uIDI2NDYyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUnVuTG9v
cFRpbWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDEwIEBACiAjaW5jbHVkZSA8d3Rm
L1NoYXJlZFRhc2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIAor
I2lmIFVTRShDRikKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgor
I2VuZGlmCisKIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBKU0xvY2s7CkBAIC00Niw4ICs1MCwx
MSBAQCBwdWJsaWM6CiAgICAgY2xhc3MgTWFuYWdlciB7CiAgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYW5hZ2VyKTsKKyNpZiBV
U0UoQ0YpCisgICAgICAgIHN0YXRpYyB2b2lkIHRpbWVyRGlkRmlyZUNhbGxiYWNrKENGUnVuTG9v
cFRpbWVyUmVmLCB2b2lkKik7CisjZWxzZQogICAgICAgICB2b2lkIHRpbWVyRGlkRmlyZUNhbGxi
YWNrKCk7Ci0KKyNlbmRpZgogICAgICAgICBNYW5hZ2VyKCkgPSBkZWZhdWx0OwogCiAgICAgICAg
IHZvaWQgdGltZXJEaWRGaXJlKCk7CkBAIC02Myw2ICs3MCwxMCBAQCBwdWJsaWM6CiAKICAgICAg
ICAgT3B0aW9uYWw8U2Vjb25kcz4gdGltZVVudGlsRmlyZShKU1J1bkxvb3BUaW1lciYpOwogCisj
aWYgVVNFKENGKQorICAgICAgICB2b2lkIGRpZENoYW5nZVJ1bkxvb3AoVk0mLCBDRlJ1bkxvb3BS
ZWYgbmV3UnVuTG9vcCk7CisjZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAgICAgIExvY2sgbV9s
b2NrOwogCkBAIC03MCwxMSArODEsMjIgQEAgcHVibGljOgogICAgICAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZXJWTURh
dGEpOwogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBQZXJWTURhdGEoTWFuYWdlciYsIFdU
Rjo6UnVuTG9vcCYpOworI2lmIFVTRShDRikKKyAgICAgICAgICAgIFBlclZNRGF0YShNYW5hZ2Vy
JikgeyB9CisjZWxzZQorICAgICAgICAgICAgUGVyVk1EYXRhKE1hbmFnZXImKTsKKyNlbmRpZgog
ICAgICAgICAgICAgflBlclZNRGF0YSgpOwogCi0gICAgICAgICAgICBSZWY8V1RGOjpSdW5Mb29w
PiBydW5Mb29wOworI2lmIFVTRShDRikKKyAgICAgICAgICAgIHZvaWQgc2V0UnVuTG9vcChNYW5h
Z2VyKiwgQ0ZSdW5Mb29wUmVmKTsKKyAgICAgICAgICAgIFJldGFpblB0cjxDRlJ1bkxvb3BUaW1l
clJlZj4gdGltZXI7CisgICAgICAgICAgICBSZXRhaW5QdHI8Q0ZSdW5Mb29wUmVmPiBydW5Mb29w
OworICAgICAgICAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQ7CisjZWxzZQorICAg
ICAgICAgICAgUnVuTG9vcCogcnVuTG9vcDsKICAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxS
dW5Mb29wOjpUaW1lcjxNYW5hZ2VyPj4gdGltZXI7CisjZW5kaWYKICAgICAgICAgICAgIFZlY3Rv
cjxzdGQ6OnBhaXI8UmVmPEpTUnVuTG9vcFRpbWVyPiwgRXBvY2hUaW1lPj4gdGltZXJzOwogICAg
ICAgICB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCShyZXZpc2lv
biAyNjQ2MjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI2MywxMCArMjYzLDEyIEBAIGlubGluZSB1bnNpZ25lZCBWTTo6bmV4dElE
KCkKIAogc3RhdGljIGJvb2wgdm1DcmVhdGlvblNob3VsZENyYXNoID0gZmFsc2U7CiAKLVZNOjpW
TShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSwgV1RGOjpSdW5Mb29wKiBydW5Mb29w
LCBib29sKiBzdWNjZXNzKQorVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBl
LCBib29sKiBzdWNjZXNzKQogICAgIDogbV9pZChuZXh0SUQoKSkKICAgICAsIG1fYXBpTG9jayhh
ZG9wdFJlZihuZXcgSlNMb2NrKHRoaXMpKSkKLSAgICAsIG1fcnVuTG9vcChydW5Mb29wID8gKnJ1
bkxvb3AgOiBXVEY6OlJ1bkxvb3A6OmN1cnJlbnQoKSkKKyNpZiBVU0UoQ0YpCisgICAgLCBtX3J1
bkxvb3AoQ0ZSdW5Mb29wR2V0Q3VycmVudCgpKQorI2VuZGlmIC8vIFVTRShDRikKICAgICAsIG1f
cmFuZG9tKE9wdGlvbnM6OnNlZWRPZlZNUmFuZG9tRm9yRnV6emVyKCkgPyBPcHRpb25zOjpzZWVk
T2ZWTVJhbmRvbUZvckZ1enplcigpIDogY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSkK
ICAgICAsIG1faW50ZWdyaXR5UmFuZG9tKCp0aGlzKQogICAgICwgaGVhcCgqdGhpcywgaGVhcFR5
cGUpCkBAIC02NzcsMTUgKzY3OSwxNSBAQCBSZWY8Vk0+IFZNOjpjcmVhdGVDb250ZXh0R3JvdXAo
SGVhcFR5cGUgCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVk0oQVBJQ29udGV4dEdyb3VwLCBo
ZWFwVHlwZSkpOwogfQogCi1SZWY8Vk0+IFZNOjpjcmVhdGUoSGVhcFR5cGUgaGVhcFR5cGUsIFdU
Rjo6UnVuTG9vcCogcnVuTG9vcCkKK1JlZjxWTT4gVk06OmNyZWF0ZShIZWFwVHlwZSBoZWFwVHlw
ZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBWTShEZWZhdWx0LCBoZWFwVHlwZSwgcnVu
TG9vcCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFZNKERlZmF1bHQsIGhlYXBUeXBlKSk7
CiB9CiAKLVJlZlB0cjxWTT4gVk06OnRyeUNyZWF0ZShIZWFwVHlwZSBoZWFwVHlwZSwgV1RGOjpS
dW5Mb29wKiBydW5Mb29wKQorUmVmUHRyPFZNPiBWTTo6dHJ5Q3JlYXRlKEhlYXBUeXBlIGhlYXBU
eXBlKQogewogICAgIGJvb2wgc3VjY2VzcyA9IHRydWU7Ci0gICAgUmVmUHRyPFZNPiB2bSA9IGFk
b3B0UmVmKG5ldyBWTShEZWZhdWx0LCBoZWFwVHlwZSwgcnVuTG9vcCwgJnN1Y2Nlc3MpKTsKKyAg
ICBSZWZQdHI8Vk0+IHZtID0gYWRvcHRSZWYobmV3IFZNKERlZmF1bHQsIGhlYXBUeXBlLCAmc3Vj
Y2VzcykpOwogICAgIGlmICghc3VjY2VzcykgewogICAgICAgICAvLyBIZXJlLCB3ZSdyZSBkZXN0
cnVjdGluZyBhIHBhcnRpYWxseSBjb25zdHJ1Y3RlZCBWTSBhbmQgd2Uga25vdyB0aGF0CiAgICAg
ICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBiZSB1c2luZyBpdCBhdCB0aGUgc2FtZSB0aW1lLiBTbywg
YWNxdWlyaW5nIHRoZSBsb2NrCkBAIC0xMzgzLDYgKzEzODUsMTUgQEAgdm9pZCBWTTo6dmVyaWZ5
RXhjZXB0aW9uQ2hlY2tOZWVkSXNTYXRpcwogfQogI2VuZGlmCiAKKyNpZiBVU0UoQ0YpCit2b2lk
IFZNOjpzZXRSdW5Mb29wKENGUnVuTG9vcFJlZiBydW5Mb29wKQoreworICAgIEFTU0VSVChydW5M
b29wKTsKKyAgICBtX3J1bkxvb3AgPSBydW5Mb29wOworICAgIEpTUnVuTG9vcFRpbWVyOjpNYW5h
Z2VyOjpzaGFyZWQoKS5kaWRDaGFuZ2VSdW5Mb29wKCp0aGlzLCBydW5Mb29wKTsKK30KKyNlbmRp
ZiAvLyBVU0UoQ0YpCisKIFNjcmF0Y2hCdWZmZXIqIFZNOjpzY3JhdGNoQnVmZmVyRm9yU2l6ZShz
aXplX3Qgc2l6ZSkKIHsKICAgICBpZiAoIXNpemUpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmgJKHJldmlzaW9uIDI2NDYyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDYgQEAKICNlbmRpZgogCiBuYW1l
c3BhY2UgV1RGIHsKLWNsYXNzIFJ1bkxvb3A7CiBjbGFzcyBTaW1wbGVTdGF0czsKIH0gLy8gbmFt
ZXNwYWNlIFdURgogdXNpbmcgV1RGOjpTaW1wbGVTdGF0czsKQEAgLTMxMyw4ICszMTIsOCBAQCBw
dWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgc2hhcmVkSW5zdGFuY2VF
eGlzdHMoKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgVk0mIHNoYXJlZEluc3RhbmNl
KCk7CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgUmVmPFZNPiBjcmVhdGUoSGVhcFR5
cGUgPSBTbWFsbEhlYXAsIFdURjo6UnVuTG9vcCogPSBudWxscHRyKTsKLSAgICBKU19FWFBPUlRf
UFJJVkFURSBzdGF0aWMgUmVmUHRyPFZNPiB0cnlDcmVhdGUoSGVhcFR5cGUgPSBTbWFsbEhlYXAs
IFdURjo6UnVuTG9vcCogPSBudWxscHRyKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMg
UmVmPFZNPiBjcmVhdGUoSGVhcFR5cGUgPSBTbWFsbEhlYXApOworICAgIEpTX0VYUE9SVF9QUklW
QVRFIHN0YXRpYyBSZWZQdHI8Vk0+IHRyeUNyZWF0ZShIZWFwVHlwZSA9IFNtYWxsSGVhcCk7CiAg
ICAgc3RhdGljIFJlZjxWTT4gY3JlYXRlQ29udGV4dEdyb3VwKEhlYXBUeXBlID0gU21hbGxIZWFw
KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB+Vk0oKTsKIApAQCAtMzU1LDcgKzM1NCwxMCBAQCBw
cml2YXRlOgogCiAgICAgdW5zaWduZWQgbV9pZDsKICAgICBSZWZQdHI8SlNMb2NrPiBtX2FwaUxv
Y2s7Ci0gICAgUmVmPFdURjo6UnVuTG9vcD4gbV9ydW5Mb29wOworI2lmIFVTRShDRikKKyAgICAv
LyBUaGVzZSBuZWVkIHRvIGJlIGluaXRpYWxpemVkIGJlZm9yZSBoZWFwIGJlbG93LgorICAgIFJl
dGFpblB0cjxDRlJ1bkxvb3BSZWY+IG1fcnVuTG9vcDsKKyNlbmRpZgogCiAgICAgV2Vha1JhbmRv
bSBtX3JhbmRvbTsKICAgICBJbnRlZ3JpdHk6OlJhbmRvbSBtX2ludGVncml0eVJhbmRvbTsKQEAg
LTEwODAsNyArMTA4MiwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBuZWVkRXhjZXB0aW9uQ2hlY2so
KSBjb25zdCB7IHJldHVybiBtX25lZWRFeGNlcHRpb25DaGVjazsgfQogI2VuZGlmCiAKLSAgICBX
VEY6OlJ1bkxvb3AmIHJ1bkxvb3AoKSBjb25zdCB7IHJldHVybiBtX3J1bkxvb3A7IH0KKyNpZiBV
U0UoQ0YpCisgICAgQ0ZSdW5Mb29wUmVmIHJ1bkxvb3AoKSBjb25zdCB7IHJldHVybiBtX3J1bkxv
b3AuZ2V0KCk7IH0KKyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHNldFJ1bkxvb3AoQ0ZSdW5M
b29wUmVmKTsKKyNlbmRpZiAvLyBVU0UoQ0YpCiAKICAgICBzdGF0aWMgdm9pZCBzZXRDcmFzaE9u
Vk1DcmVhdGlvbihib29sKTsKIApAQCAtMTEwNCw3ICsxMTA5LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwogCi0gICAgVk0oVk1U
eXBlLCBIZWFwVHlwZSwgV1RGOjpSdW5Mb29wKiA9IG51bGxwdHIsIGJvb2wqIHN1Y2Nlc3MgPSBu
dWxscHRyKTsKKyAgICBWTShWTVR5cGUsIEhlYXBUeXBlLCBib29sKiBzdWNjZXNzID0gbnVsbHB0
cik7CiAgICAgc3RhdGljIFZNKiYgc2hhcmVkSW5zdGFuY2VJbnRlcm5hbCgpOwogICAgIHZvaWQg
Y3JlYXRlTmF0aXZlVGh1bmsoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NjIwKQor
KysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjAtMDctMjAgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAg
ICAgICBSRUdSRVNTSU9OIChyMjY0MjQyKTogWyBtYWNPUyBdIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkuaHRtbCBp
cyBhIGZsYWt5IGNyYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTQ1NzIKKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI2NDI0Mi4K
KworICAgICAgICAqIGJpbmRpbmdzL2pzL0NvbW1vblZNLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNvbW1vblZNU2xvdyk6CisKIDIwMjAtMDctMjAgIENsYXJrIFdhbmcgIDxjbGFya193YW5nQGFw
cGxlLmNvbT4KIAogICAgICAgICBGaXhlcyB0byBtYXRjaCBCYXNlQXVkaW9Db250ZXh0LmlkbCB0
byBzcGVjCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCShyZXZp
c2lvbiAyNjQ2MjApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDEzICs1Niw3IEBAIEpTQzo6Vk0mIGNvbW1vblZNU2xvdygp
CiAgICAgLy8gQWxzbywgaW5pdGlhbGl6ZU1haW5UaHJlYWQoKSBkb2VzIG5vdGhpbmcgb24gaU9T
LgogICAgIFNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKLSAgICBS
dW5Mb29wKiBydW5Mb29wID0gbnVsbHB0cjsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IGlmIChSdW5Mb29wKiB3ZWIgPSBSdW5Mb29wOjp3ZWJJZkV4aXN0cygpKQotICAgICAgICBydW5M
b29wID0gd2ViOwotI2VuZGlmCi0KLSAgICBhdXRvJiB2bSA9IEpTQzo6Vk06OmNyZWF0ZShKU0M6
OkxhcmdlSGVhcCwgcnVuTG9vcCkubGVha1JlZigpOworICAgIGF1dG8mIHZtID0gSlNDOjpWTTo6
Y3JlYXRlKEpTQzo6TGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAKICAgICBnX2NvbW1vblZNT3JOdWxs
ID0gJnZtOwogCkBAIC03MSw2ICs2NSw3IEBAIEpTQzo6Vk0mIGNvbW1vblZNU2xvdygpCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAoV2ViVGhyZWFkSXNFbmFibGVkKCkpCiAgICAg
ICAgIHZtLmFwaUxvY2soKS5tYWtlV2ViVGhyZWFkQXdhcmUoKTsKKyAgICB2bS5zZXRSdW5Mb29w
KFdlYlRocmVhZFJ1bkxvb3AoKSk7CiAgICAgdm0uaGVhcC5tYWNoaW5lVGhyZWFkcygpLmFkZEN1
cnJlbnRUaHJlYWQoKTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404766</attachid>
            <date>2020-07-20 15:16:08 -0700</date>
            <delta_ts>2020-07-20 16:36:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214572-20200720151607.patch</filename>
            <type>text/plain</type>
            <size>15570</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NjIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDIwLTA3LTIwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUkVHUkVTU0lPTiAocjI2NDI0Mik6IFsgbWFjT1MgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55Lmh0bWwgaXMg
YSBmbGFreSBjcmFzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0NTcyCisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjQyNDIuCisK
KyAgICAgICAgKiBydW50aW1lL0pTUnVuTG9vcFRpbWVyLmNwcDoKKyAgICAgICAgKEpTQzo6ZXBv
Y2hUaW1lKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVyRGlk
RmlyZUNhbGxiYWNrKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OlBl
clZNRGF0YTo6c2V0UnVuTG9vcCk6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpNYW5h
Z2VyOjpQZXJWTURhdGE6OlBlclZNRGF0YSk6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVy
OjpNYW5hZ2VyOjpQZXJWTURhdGE6On5QZXJWTURhdGEpOgorICAgICAgICAoSlNDOjpKU1J1bkxv
b3BUaW1lcjo6TWFuYWdlcjo6dGltZXJEaWRGaXJlKToKKyAgICAgICAgKEpTQzo6SlNSdW5Mb29w
VGltZXI6Ok1hbmFnZXI6OnJlZ2lzdGVyVk0pOgorICAgICAgICAoSlNDOjpKU1J1bkxvb3BUaW1l
cjo6TWFuYWdlcjo6c2NoZWR1bGVUaW1lcik6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVy
OjpNYW5hZ2VyOjpjYW5jZWxUaW1lcik6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpN
YW5hZ2VyOjpkaWRDaGFuZ2VSdW5Mb29wKToKKyAgICAgICAgKiBydW50aW1lL0pTUnVuTG9vcFRp
bWVyLmg6CisgICAgICAgIChKU0M6OkpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjpQZXJWTURhdGE6
OlBlclZNRGF0YSk6CisgICAgICAgICogcnVudGltZS9Qcm9taXNlVGltZXIuY3BwOgorICAgICAg
ICAoSlNDOjpQcm9taXNlVGltZXI6OmRvV29yayk6CisgICAgICAgIChKU0M6OlByb21pc2VUaW1l
cjo6cnVuUnVuTG9vcCk6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6
OlZNOjpWTSk6CisgICAgICAgIChKU0M6OlZNOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpWTTo6
dHJ5Q3JlYXRlKToKKyAgICAgICAgKEpTQzo6Vk06OnNldFJ1bkxvb3ApOgorICAgICAgICAqIHJ1
bnRpbWUvVk0uaDoKKyAgICAgICAgKEpTQzo6Vk06OnJ1bkxvb3AgY29uc3QpOgorCiAyMDIwLTA3
LTIwICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBGaW5hbGl6YXRpb25SZWdpc3RyaWVzCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtUaW1lci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuY3BwCShyZXZpc2lv
biAyNjQ2MjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtU
aW1lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDggKzgxLDEzIEBAIHZvaWQgRGVmZXJyZWRX
b3JrVGltZXI6OmRvV29yayhWTSYgdm0pCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAobV9w
ZW5kaW5nVGlja2V0cy5pc0VtcHR5KCkgJiYgbV9zaG91bGRTdG9wUnVuTG9vcFdoZW5BbGxUaWNr
ZXRzRmluaXNoKQorICAgIGlmIChtX3BlbmRpbmdUaWNrZXRzLmlzRW1wdHkoKSAmJiBtX3Nob3Vs
ZFN0b3BSdW5Mb29wV2hlbkFsbFRpY2tldHNGaW5pc2gpIHsKKyNpZiBVU0UoQ0YpCisgICAgICAg
IENGUnVuTG9vcFN0b3Aodm0ucnVuTG9vcCgpKTsKKyNlbHNlCiAgICAgICAgIFJ1bkxvb3A6OmN1
cnJlbnQoKS5zdG9wKCk7CisjZW5kaWYKKyAgICB9CiAKICAgICBtX3Rhc2tMb2NrLnVubG9jaygp
OwogfQpAQCAtOTAsMTAgKzk1LDE3IEBAIHZvaWQgRGVmZXJyZWRXb3JrVGltZXI6OmRvV29yayhW
TSYgdm0pCiB2b2lkIERlZmVycmVkV29ya1RpbWVyOjpydW5SdW5Mb29wKCkKIHsKICAgICBBU1NF
UlQoIW1fYXBpTG9jay0+dm0oKS0+Y3VycmVudFRocmVhZElzSG9sZGluZ0FQSUxvY2soKSk7Ci0g
ICAgQVNTRVJUKCZSdW5Mb29wOjpjdXJyZW50KCkgPT0gJm1fYXBpTG9jay0+dm0oKS0+cnVuTG9v
cCgpKTsKKyNpZiBVU0UoQ0YpCisgICAgQVNTRVJUKENGUnVuTG9vcEdldEN1cnJlbnQoKSA9PSBt
X2FwaUxvY2stPnZtKCktPnJ1bkxvb3AoKSk7CisjZW5kaWYKICAgICBtX3Nob3VsZFN0b3BSdW5M
b29wV2hlbkFsbFRpY2tldHNGaW5pc2ggPSB0cnVlOwotICAgIGlmIChtX3BlbmRpbmdUaWNrZXRz
LnNpemUoKSkKKyAgICBpZiAobV9wZW5kaW5nVGlja2V0cy5zaXplKCkpIHsKKyNpZiBVU0UoQ0Yp
CisgICAgICAgIENGUnVuTG9vcFJ1bigpOworI2Vsc2UKICAgICAgICAgUnVuTG9vcDo6cnVuKCk7
CisjZW5kaWYKKyAgICB9CiB9CiAKIHZvaWQgRGVmZXJyZWRXb3JrVGltZXI6OmFkZFBlbmRpbmdX
b3JrKFZNJiB2bSwgVGlja2V0IHRpY2tldCwgVmVjdG9yPFN0cm9uZzxKU0NlbGw+PiYmIGRlcGVu
ZGVuY2llcykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUnVuTG9vcFRp
bWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1J1
bkxvb3BUaW1lci5jcHAJKHJldmlzaW9uIDI2NDYyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTUnVuTG9vcFRpbWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTIgKzQw
LDQ2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBzdGF0aWMgaW5saW5lIEpTUnVuTG9vcFRpbWVyOjpN
YW5hZ2VyOjpFcG9jaFRpbWUgZXBvY2hUaW1lKFNlY29uZHMgZGVsYXkpCiB7CisjaWYgVVNFKENG
KQorICAgIHJldHVybiBTZWNvbmRzIHsgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBkZWxh
eS52YWx1ZSgpIH07CisjZWxzZQogICAgIHJldHVybiBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNv
bmRzU2luY2VFcG9jaCgpICsgZGVsYXk7CisjZW5kaWYKK30KKworI2lmIFVTRShDRikKK3ZvaWQg
SlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVyRGlkRmlyZUNhbGxiYWNrKENGUnVuTG9vcFRp
bWVyUmVmLCB2b2lkKiBjb250ZXh0UHRyKQoreworICAgIHN0YXRpY19jYXN0PEpTUnVuTG9vcFRp
bWVyOjpNYW5hZ2VyKj4oY29udGV4dFB0ciktPnRpbWVyRGlkRmlyZSgpOwogfQogCi1KU1J1bkxv
b3BUaW1lcjo6TWFuYWdlcjo6UGVyVk1EYXRhOjpQZXJWTURhdGEoTWFuYWdlciYgbWFuYWdlciwg
UnVuTG9vcCYgcnVuTG9vcCkKLSAgICA6IHJ1bkxvb3AocnVuTG9vcCkKLSAgICAsIHRpbWVyKG1h
a2VVbmlxdWU8UnVuTG9vcDo6VGltZXI8TWFuYWdlcj4+KHJ1bkxvb3AsICZtYW5hZ2VyLCAmSlNS
dW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVyRGlkRmlyZUNhbGxiYWNrKSkKK3ZvaWQgSlNSdW5M
b29wVGltZXI6Ok1hbmFnZXI6OlBlclZNRGF0YTo6c2V0UnVuTG9vcChNYW5hZ2VyKiBtYW5hZ2Vy
LCBDRlJ1bkxvb3BSZWYgbmV3UnVuTG9vcCkKK3sKKyAgICBpZiAocnVuTG9vcCkgeworICAgICAg
ICBDRlJ1bkxvb3BSZW1vdmVUaW1lcihydW5Mb29wLmdldCgpLCB0aW1lci5nZXQoKSwga0NGUnVu
TG9vcENvbW1vbk1vZGVzKTsKKyAgICAgICAgQ0ZSdW5Mb29wVGltZXJJbnZhbGlkYXRlKHRpbWVy
LmdldCgpKTsKKyAgICAgICAgcnVuTG9vcC5jbGVhcigpOworICAgICAgICB0aW1lci5jbGVhcigp
OworICAgIH0KKworICAgIGlmIChuZXdSdW5Mb29wKSB7CisgICAgICAgIHJ1bkxvb3AgPSBuZXdS
dW5Mb29wOworICAgICAgICBtZW1zZXQoJmNvbnRleHQsIDAsIHNpemVvZihDRlJ1bkxvb3BUaW1l
ckNvbnRleHQpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQobWFuYWdlcik7CisgICAgICAgIGNv
bnRleHQuaW5mbyA9IG1hbmFnZXI7CisgICAgICAgIHRpbWVyID0gYWRvcHRDRihDRlJ1bkxvb3BU
aW1lckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBDRkFic29sdXRlVGltZUdldEN1cnJlbnQo
KSArIHNfZGVjYWRlLnNlY29uZHMoKSwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBzX2Rl
Y2FkZS5zZWNvbmRzKCksIDAsIDAsIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lckRpZEZp
cmVDYWxsYmFjaywgJmNvbnRleHQpKTsKKyAgICAgICAgQ0ZSdW5Mb29wQWRkVGltZXIocnVuTG9v
cC5nZXQoKSwgdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CisKKyAgICAgICAg
RXBvY2hUaW1lIHNjaGVkdWxlVGltZSA9IGVwb2NoVGltZShzX2RlY2FkZSk7CisgICAgICAgIGZv
ciAoYXV0byYgcGFpciA6IHRpbWVycykKKyAgICAgICAgICAgIHNjaGVkdWxlVGltZSA9IHN0ZDo6
bWluKHBhaXIuc2Vjb25kLCBzY2hlZHVsZVRpbWUpOworICAgICAgICBDRlJ1bkxvb3BUaW1lclNl
dE5leHRGaXJlRGF0ZSh0aW1lci5nZXQoKSwgc2NoZWR1bGVUaW1lLnZhbHVlKCkpOworICAgIH0K
K30KKyNlbHNlCitKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6UGVyVk1EYXRhOjpQZXJWTURhdGEo
TWFuYWdlciYgbWFuYWdlcikKKyAgICA6IHJ1bkxvb3AoJlJ1bkxvb3A6OmN1cnJlbnQoKSkKKyAg
ICAsIHRpbWVyKG1ha2VVbmlxdWU8UnVuTG9vcDo6VGltZXI8TWFuYWdlcj4+KCpydW5Mb29wLCAm
bWFuYWdlciwgJkpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjp0aW1lckRpZEZpcmVDYWxsYmFjaykp
CiB7CiAjaWYgVVNFKEdMSUJfRVZFTlRfTE9PUCkKICAgICB0aW1lci0+c2V0UHJpb3JpdHkoUnVu
TG9vcFNvdXJjZVByaW9yaXR5OjpKYXZhc2NyaXB0VGltZXIpOwpAQCAtNTcsOSArOTEsMTMgQEAg
dm9pZCBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6dGltZXJEaWRGaQogewogICAgIHRpbWVyRGlk
RmlyZSgpOwogfQorI2VuZGlmCiAKIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjpQZXJWTURhdGE6
On5QZXJWTURhdGEoKQogeworI2lmIFVTRShDRikKKyAgICBzZXRSdW5Mb29wKG51bGxwdHIsIG51
bGxwdHIpOworI2VuZGlmCiB9CiAKIHZvaWQgSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVy
RGlkRmlyZSgpCkBAIC02OCwxMiArMTA2LDIxIEBAIHZvaWQgSlNSdW5Mb29wVGltZXI6Ok1hbmFn
ZXI6OnRpbWVyRGlkRmkKIAogICAgIHsKICAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayht
X2xvY2spOworI2lmIFVTRShDRikKKyAgICAgICAgQ0ZSdW5Mb29wUmVmIGN1cnJlbnRSdW5Mb29w
ID0gQ0ZSdW5Mb29wR2V0Q3VycmVudCgpOworI2Vsc2UKICAgICAgICAgUnVuTG9vcCogY3VycmVu
dFJ1bkxvb3AgPSAmUnVuTG9vcDo6Y3VycmVudCgpOworI2VuZGlmCiAgICAgICAgIEVwb2NoVGlt
ZSBub3dFcG9jaFRpbWUgPSBlcG9jaFRpbWUoMF9zKTsKICAgICAgICAgZm9yIChhdXRvJiBlbnRy
eSA6IG1fbWFwcGluZykgewogICAgICAgICAgICAgUGVyVk1EYXRhJiBkYXRhID0gKmVudHJ5LnZh
bHVlOwotICAgICAgICAgICAgaWYgKGRhdGEucnVuTG9vcC5wdHIoKSAhPSBjdXJyZW50UnVuTG9v
cCkKKyNpZiBVU0UoQ0YpCisgICAgICAgICAgICBpZiAoZGF0YS5ydW5Mb29wLmdldCgpICE9IGN1
cnJlbnRSdW5Mb29wKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworI2Vsc2UKKyAgICAgICAg
ICAgIGlmIChkYXRhLnJ1bkxvb3AgIT0gY3VycmVudFJ1bkxvb3ApCiAgICAgICAgICAgICAgICAg
Y29udGludWU7CisjZW5kaWYKICAgICAgICAgICAgIAogICAgICAgICAgICAgRXBvY2hUaW1lIHNj
aGVkdWxlVGltZSA9IGVwb2NoVGltZShzX2RlY2FkZSk7CiAgICAgICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGRhdGEudGltZXJzLnNpemUoKTsgKytpKSB7CkBAIC05Myw3ICsxNDAsMTEg
QEAgdm9pZCBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6dGltZXJEaWRGaQogICAgICAgICAgICAg
ICAgIHRpbWVyc1RvRmlyZS5hcHBlbmQoV1RGTW92ZShwYWlyLmZpcnN0KSk7CiAgICAgICAgICAg
ICB9CiAKKyNpZiBVU0UoQ0YpCisgICAgICAgICAgICBDRlJ1bkxvb3BUaW1lclNldE5leHRGaXJl
RGF0ZShkYXRhLnRpbWVyLmdldCgpLCBzY2hlZHVsZVRpbWUudmFsdWUoKSk7CisjZWxzZQogICAg
ICAgICAgICAgZGF0YS50aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDBfcywgc2NoZWR1bGVU
aW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKSkpOworI2VuZGlm
CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTExMyw3ICsxNjQsMTAgQEAgSlNSdW5Mb29wVGltZXI6
Ok1hbmFnZXImIEpTUnVuTG9vcFRpbWVyOgogCiB2b2lkIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2Vy
OjpyZWdpc3RlclZNKFZNJiB2bSkKIHsKLSAgICBhdXRvIGRhdGEgPSBtYWtlVW5pcXVlPFBlclZN
RGF0YT4oKnRoaXMsIHZtLnJ1bkxvb3AoKSk7CisgICAgYXV0byBkYXRhID0gbWFrZVVuaXF1ZTxQ
ZXJWTURhdGE+KCp0aGlzKTsKKyNpZiBVU0UoQ0YpCisgICAgZGF0YS0+c2V0UnVuTG9vcCh0aGlz
LCB2bS5ydW5Mb29wKCkpOworI2VuZGlmCiAKICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1f
bG9jayk7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBtX21hcHBpbmcuYWRkKHsgdm0uYXBpTG9jaygp
IH0sIFdURk1vdmUoZGF0YSkpOwpAQCAtMTUxLDcgKzIwNSwxMSBAQCB2b2lkIEpTUnVuTG9vcFRp
bWVyOjpNYW5hZ2VyOjpzY2hlZHVsZVRpCiAgICAgaWYgKCFmb3VuZCkKICAgICAgICAgZGF0YS50
aW1lcnMuYXBwZW5kKHsgdGltZXIsIGZpcmVFcG9jaFRpbWUgfSk7CiAKKyNpZiBVU0UoQ0YpCisg
ICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUoZGF0YS50aW1lci5nZXQoKSwgc2NoZWR1
bGVUaW1lLnZhbHVlKCkpOworI2Vsc2UKICAgICBkYXRhLnRpbWVyLT5zdGFydE9uZVNob3Qoc3Rk
OjptYXgoMF9zLCBzY2hlZHVsZVRpbWUgLSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpKSk7CisjZW5kaWYKIH0KIAogdm9pZCBKU1J1bkxvb3BUaW1lcjo6TWFuYWdlcjo6
Y2FuY2VsVGltZXIoSlNSdW5Mb29wVGltZXImIHRpbWVyKQpAQCAtMTgyLDcgKzI0MCwxMSBAQCB2
b2lkIEpTUnVuTG9vcFRpbWVyOjpNYW5hZ2VyOjpjYW5jZWxUaW1lCiAgICAgICAgIHNjaGVkdWxl
VGltZSA9IHN0ZDo6bWluKHNjaGVkdWxlVGltZSwgZGF0YS50aW1lcnNbaV0uc2Vjb25kKTsKICAg
ICB9CiAKKyNpZiBVU0UoQ0YpCisgICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUoZGF0
YS50aW1lci5nZXQoKSwgc2NoZWR1bGVUaW1lLnZhbHVlKCkpOworI2Vsc2UKICAgICBkYXRhLnRp
bWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoMF9zLCBzY2hlZHVsZVRpbWUgLSBNb25vdG9uaWNU
aW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpKSk7CisjZW5kaWYKIH0KIAogT3B0aW9uYWw8
U2Vjb25kcz4gSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnRpbWVVbnRpbEZpcmUoSlNSdW5Mb29w
VGltZXImIHRpbWVyKQpAQCAtMjAyLDYgKzI2NCwxOCBAQCBPcHRpb25hbDxTZWNvbmRzPiBKU1J1
bkxvb3BUaW1lcjo6TWFuYWdlCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAorI2lmIFVT
RShDRikKK3ZvaWQgSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OmRpZENoYW5nZVJ1bkxvb3AoVk0m
IHZtLCBDRlJ1bkxvb3BSZWYgbmV3UnVuTG9vcCkKK3sKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRM
b2NrKG1fbG9jayk7CisgICAgYXV0byBpdGVyID0gbV9tYXBwaW5nLmZpbmQoeyB2bS5hcGlMb2Nr
KCkgfSk7CisgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX21hcHBpbmcuZW5kKCkpOworCisg
ICAgUGVyVk1EYXRhJiBkYXRhID0gKml0ZXItPnZhbHVlOworICAgIGRhdGEuc2V0UnVuTG9vcCh0
aGlzLCBuZXdSdW5Mb29wKTsKK30KKyNlbmRpZgorCiB2b2lkIEpTUnVuTG9vcFRpbWVyOjp0aW1l
ckRpZEZpcmUoKQogewogICAgIE5PX1RBSUxfQ0FMTFMoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTUnVuTG9vcFRpbWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNSdW5Mb29wVGltZXIuaAkocmV2aXNpb24gMjY0NjIwKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNSdW5Mb29wVGltZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMsNiArMzMsMTAgQEAKICNpbmNsdWRlIDx3dGYvU2hhcmVkVGFzay5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCisjaWYgVVNFKENGKQorI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CisjZW5kaWYKKwogbmFtZXNw
YWNlIEpTQyB7CiAKIGNsYXNzIEpTTG9jazsKQEAgLTQ2LDggKzUwLDExIEBAIHB1YmxpYzoKICAg
ICBjbGFzcyBNYW5hZ2VyIHsKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hbmFnZXIpOworI2lmIFVTRShDRikKKyAgICAgICAg
c3RhdGljIHZvaWQgdGltZXJEaWRGaXJlQ2FsbGJhY2soQ0ZSdW5Mb29wVGltZXJSZWYsIHZvaWQq
KTsKKyNlbHNlCiAgICAgICAgIHZvaWQgdGltZXJEaWRGaXJlQ2FsbGJhY2soKTsKLQorI2VuZGlm
CiAgICAgICAgIE1hbmFnZXIoKSA9IGRlZmF1bHQ7CiAKICAgICAgICAgdm9pZCB0aW1lckRpZEZp
cmUoKTsKQEAgLTYzLDYgKzcwLDEwIEBAIHB1YmxpYzoKIAogICAgICAgICBPcHRpb25hbDxTZWNv
bmRzPiB0aW1lVW50aWxGaXJlKEpTUnVuTG9vcFRpbWVyJik7CiAKKyNpZiBVU0UoQ0YpCisgICAg
ICAgIHZvaWQgZGlkQ2hhbmdlUnVuTG9vcChWTSYsIENGUnVuTG9vcFJlZiBuZXdSdW5Mb29wKTsK
KyNlbmRpZgorCiAgICAgcHJpdmF0ZToKICAgICAgICAgTG9jayBtX2xvY2s7CiAKQEAgLTcwLDEx
ICs4MSwyMiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlclZNRGF0YSk7CiAgICAgICAgIHB1
YmxpYzoKLSAgICAgICAgICAgIFBlclZNRGF0YShNYW5hZ2VyJiwgV1RGOjpSdW5Mb29wJik7Cisj
aWYgVVNFKENGKQorICAgICAgICAgICAgUGVyVk1EYXRhKE1hbmFnZXImKSB7IH0KKyNlbHNlCisg
ICAgICAgICAgICBQZXJWTURhdGEoTWFuYWdlciYpOworI2VuZGlmCiAgICAgICAgICAgICB+UGVy
Vk1EYXRhKCk7CiAKLSAgICAgICAgICAgIFJlZjxXVEY6OlJ1bkxvb3A+IHJ1bkxvb3A7CisjaWYg
VVNFKENGKQorICAgICAgICAgICAgdm9pZCBzZXRSdW5Mb29wKE1hbmFnZXIqLCBDRlJ1bkxvb3BS
ZWYpOworICAgICAgICAgICAgUmV0YWluUHRyPENGUnVuTG9vcFRpbWVyUmVmPiB0aW1lcjsKKyAg
ICAgICAgICAgIFJldGFpblB0cjxDRlJ1bkxvb3BSZWY+IHJ1bkxvb3A7CisgICAgICAgICAgICBD
RlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dDsKKyNlbHNlCisgICAgICAgICAgICBSdW5Mb29w
KiBydW5Mb29wOwogICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJ1bkxvb3A6OlRpbWVyPE1h
bmFnZXI+PiB0aW1lcjsKKyNlbmRpZgogICAgICAgICAgICAgVmVjdG9yPHN0ZDo6cGFpcjxSZWY8
SlNSdW5Mb29wVGltZXI+LCBFcG9jaFRpbWU+PiB0aW1lcnM7CiAgICAgICAgIH07CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHJldmlzaW9uIDI2NDYyMCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYz
LDEwICsyNjMsMTIgQEAgaW5saW5lIHVuc2lnbmVkIFZNOjpuZXh0SUQoKQogCiBzdGF0aWMgYm9v
bCB2bUNyZWF0aW9uU2hvdWxkQ3Jhc2ggPSBmYWxzZTsKIAotVk06OlZNKFZNVHlwZSB2bVR5cGUs
IEhlYXBUeXBlIGhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqIHJ1bkxvb3AsIGJvb2wqIHN1Y2Nlc3Mp
CitWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUsIGJvb2wqIHN1Y2Nlc3Mp
CiAgICAgOiBtX2lkKG5leHRJRCgpKQogICAgICwgbV9hcGlMb2NrKGFkb3B0UmVmKG5ldyBKU0xv
Y2sodGhpcykpKQotICAgICwgbV9ydW5Mb29wKHJ1bkxvb3AgPyAqcnVuTG9vcCA6IFdURjo6UnVu
TG9vcDo6Y3VycmVudCgpKQorI2lmIFVTRShDRikKKyAgICAsIG1fcnVuTG9vcChDRlJ1bkxvb3BH
ZXRDdXJyZW50KCkpCisjZW5kaWYgLy8gVVNFKENGKQogICAgICwgbV9yYW5kb20oT3B0aW9uczo6
c2VlZE9mVk1SYW5kb21Gb3JGdXp6ZXIoKSA/IE9wdGlvbnM6OnNlZWRPZlZNUmFuZG9tRm9yRnV6
emVyKCkgOiBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpKQogICAgICwgbV9pbnRlZ3Jp
dHlSYW5kb20oKnRoaXMpCiAgICAgLCBoZWFwKCp0aGlzLCBoZWFwVHlwZSkKQEAgLTY3NywxNSAr
Njc5LDE1IEBAIFJlZjxWTT4gVk06OmNyZWF0ZUNvbnRleHRHcm91cChIZWFwVHlwZSAKICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBWTShBUElDb250ZXh0R3JvdXAsIGhlYXBUeXBlKSk7CiB9CiAK
LVJlZjxWTT4gVk06OmNyZWF0ZShIZWFwVHlwZSBoZWFwVHlwZSwgV1RGOjpSdW5Mb29wKiBydW5M
b29wKQorUmVmPFZNPiBWTTo6Y3JlYXRlKEhlYXBUeXBlIGhlYXBUeXBlKQogewotICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFZNKERlZmF1bHQsIGhlYXBUeXBlLCBydW5Mb29wKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgVk0oRGVmYXVsdCwgaGVhcFR5cGUpKTsKIH0KIAotUmVmUHRyPFZN
PiBWTTo6dHJ5Q3JlYXRlKEhlYXBUeXBlIGhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqIHJ1bkxvb3Ap
CitSZWZQdHI8Vk0+IFZNOjp0cnlDcmVhdGUoSGVhcFR5cGUgaGVhcFR5cGUpCiB7CiAgICAgYm9v
bCBzdWNjZXNzID0gdHJ1ZTsKLSAgICBSZWZQdHI8Vk0+IHZtID0gYWRvcHRSZWYobmV3IFZNKERl
ZmF1bHQsIGhlYXBUeXBlLCBydW5Mb29wLCAmc3VjY2VzcykpOworICAgIFJlZlB0cjxWTT4gdm0g
PSBhZG9wdFJlZihuZXcgVk0oRGVmYXVsdCwgaGVhcFR5cGUsICZzdWNjZXNzKSk7CiAgICAgaWYg
KCFzdWNjZXNzKSB7CiAgICAgICAgIC8vIEhlcmUsIHdlJ3JlIGRlc3RydWN0aW5nIGEgcGFydGlh
bGx5IGNvbnN0cnVjdGVkIFZNIGFuZCB3ZSBrbm93IHRoYXQKICAgICAgICAgLy8gbm8gb25lIGVs
c2UgY2FuIGJlIHVzaW5nIGl0IGF0IHRoZSBzYW1lIHRpbWUuIFNvLCBhY3F1aXJpbmcgdGhlIGxv
Y2sKQEAgLTEzODMsNiArMTM4NSwxNSBAQCB2b2lkIFZNOjp2ZXJpZnlFeGNlcHRpb25DaGVja05l
ZWRJc1NhdGlzCiB9CiAjZW5kaWYKIAorI2lmIFVTRShDRikKK3ZvaWQgVk06OnNldFJ1bkxvb3Ao
Q0ZSdW5Mb29wUmVmIHJ1bkxvb3ApCit7CisgICAgQVNTRVJUKHJ1bkxvb3ApOworICAgIG1fcnVu
TG9vcCA9IHJ1bkxvb3A7CisgICAgSlNSdW5Mb29wVGltZXI6Ok1hbmFnZXI6OnNoYXJlZCgpLmRp
ZENoYW5nZVJ1bkxvb3AoKnRoaXMsIHJ1bkxvb3ApOworfQorI2VuZGlmIC8vIFVTRShDRikKKwog
U2NyYXRjaEJ1ZmZlciogVk06OnNjcmF0Y2hCdWZmZXJGb3JTaXplKHNpemVfdCBzaXplKQogewog
ICAgIGlmICghc2l6ZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNp
b24gMjY0NjIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2lu
ZyBjb3B5KQpAQCAtOTQsNyArOTQsNiBAQAogI2VuZGlmCiAKIG5hbWVzcGFjZSBXVEYgewotY2xh
c3MgUnVuTG9vcDsKIGNsYXNzIFNpbXBsZVN0YXRzOwogfSAvLyBuYW1lc3BhY2UgV1RGCiB1c2lu
ZyBXVEY6OlNpbXBsZVN0YXRzOwpAQCAtMzEzLDggKzMxMiw4IEBAIHB1YmxpYzoKICAgICBKU19F
WFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBzaGFyZWRJbnN0YW5jZUV4aXN0cygpOwogICAgIEpT
X0VYUE9SVF9QUklWQVRFIHN0YXRpYyBWTSYgc2hhcmVkSW5zdGFuY2UoKTsKIAotICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyBSZWY8Vk0+IGNyZWF0ZShIZWFwVHlwZSA9IFNtYWxsSGVhcCwg
V1RGOjpSdW5Mb29wKiA9IG51bGxwdHIpOwotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBS
ZWZQdHI8Vk0+IHRyeUNyZWF0ZShIZWFwVHlwZSA9IFNtYWxsSGVhcCwgV1RGOjpSdW5Mb29wKiA9
IG51bGxwdHIpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBSZWY8Vk0+IGNyZWF0ZShI
ZWFwVHlwZSA9IFNtYWxsSGVhcCk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZlB0
cjxWTT4gdHJ5Q3JlYXRlKEhlYXBUeXBlID0gU21hbGxIZWFwKTsKICAgICBzdGF0aWMgUmVmPFZN
PiBjcmVhdGVDb250ZXh0R3JvdXAoSGVhcFR5cGUgPSBTbWFsbEhlYXApOwogICAgIEpTX0VYUE9S
VF9QUklWQVRFIH5WTSgpOwogCkBAIC0zNTUsNyArMzU0LDEwIEBAIHByaXZhdGU6CiAKICAgICB1
bnNpZ25lZCBtX2lkOwogICAgIFJlZlB0cjxKU0xvY2s+IG1fYXBpTG9jazsKLSAgICBSZWY8V1RG
OjpSdW5Mb29wPiBtX3J1bkxvb3A7CisjaWYgVVNFKENGKQorICAgIC8vIFRoZXNlIG5lZWQgdG8g
YmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGhlYXAgYmVsb3cuCisgICAgUmV0YWluUHRyPENGUnVuTG9v
cFJlZj4gbV9ydW5Mb29wOworI2VuZGlmCiAKICAgICBXZWFrUmFuZG9tIG1fcmFuZG9tOwogICAg
IEludGVncml0eTo6UmFuZG9tIG1faW50ZWdyaXR5UmFuZG9tOwpAQCAtMTA4MCw3ICsxMDgyLDEw
IEBAIHB1YmxpYzoKICAgICBib29sIG5lZWRFeGNlcHRpb25DaGVjaygpIGNvbnN0IHsgcmV0dXJu
IG1fbmVlZEV4Y2VwdGlvbkNoZWNrOyB9CiAjZW5kaWYKIAotICAgIFdURjo6UnVuTG9vcCYgcnVu
TG9vcCgpIGNvbnN0IHsgcmV0dXJuIG1fcnVuTG9vcDsgfQorI2lmIFVTRShDRikKKyAgICBDRlJ1
bkxvb3BSZWYgcnVuTG9vcCgpIGNvbnN0IHsgcmV0dXJuIG1fcnVuTG9vcC5nZXQoKTsgfQorICAg
IEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0UnVuTG9vcChDRlJ1bkxvb3BSZWYpOworI2VuZGlm
IC8vIFVTRShDRikKIAogICAgIHN0YXRpYyB2b2lkIHNldENyYXNoT25WTUNyZWF0aW9uKGJvb2wp
OwogCkBAIC0xMTA0LDcgKzExMDksNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGZyaWVuZCBj
bGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiAKLSAgICBWTShWTVR5cGUsIEhlYXBUeXBlLCBX
VEY6OlJ1bkxvb3AqID0gbnVsbHB0ciwgYm9vbCogc3VjY2VzcyA9IG51bGxwdHIpOworICAgIFZN
KFZNVHlwZSwgSGVhcFR5cGUsIGJvb2wqIHN1Y2Nlc3MgPSBudWxscHRyKTsKICAgICBzdGF0aWMg
Vk0qJiBzaGFyZWRJbnN0YW5jZUludGVybmFsKCk7CiAgICAgdm9pZCBjcmVhdGVOYXRpdmVUaHVu
aygpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjQ2MjApCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNy0yMCAg
R2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIyNjQyNDIpOiBbIG1hY09TIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS5odG1sIGlzIGEgZmxha3kgY3Jhc2gK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDU3Mgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjY0MjQyLgorCisgICAgICAgICogYmlu
ZGluZ3MvanMvQ29tbW9uVk0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tbW9uVk1TbG93KToK
KwogMjAyMC0wNy0yMCAgQ2xhcmsgV2FuZyAgPGNsYXJrX3dhbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZpeGVzIHRvIG1hdGNoIEJhc2VBdWRpb0NvbnRleHQuaWRsIHRvIHNwZWMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAJKHJldmlzaW9uIDI2NDYyMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTYsMTMgKzU2LDcgQEAgSlNDOjpWTSYgY29tbW9uVk1TbG93KCkKICAgICAvLyBBbHNvLCBp
bml0aWFsaXplTWFpblRocmVhZCgpIGRvZXMgbm90aGluZyBvbiBpT1MuCiAgICAgU2NyaXB0Q29u
dHJvbGxlcjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAotICAgIFJ1bkxvb3AqIHJ1bkxvb3Ag
PSBudWxscHRyOwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgaWYgKFJ1bkxvb3AqIHdl
YiA9IFJ1bkxvb3A6OndlYklmRXhpc3RzKCkpCi0gICAgICAgIHJ1bkxvb3AgPSB3ZWI7Ci0jZW5k
aWYKLQotICAgIGF1dG8mIHZtID0gSlNDOjpWTTo6Y3JlYXRlKEpTQzo6TGFyZ2VIZWFwLCBydW5M
b29wKS5sZWFrUmVmKCk7CisgICAgYXV0byYgdm0gPSBKU0M6OlZNOjpjcmVhdGUoSlNDOjpMYXJn
ZUhlYXApLmxlYWtSZWYoKTsKIAogICAgIGdfY29tbW9uVk1Pck51bGwgPSAmdm07CiAKQEAgLTcx
LDYgKzY1LDcgQEAgSlNDOjpWTSYgY29tbW9uVk1TbG93KCkKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIGlmIChXZWJUaHJlYWRJc0VuYWJsZWQoKSkKICAgICAgICAgdm0uYXBpTG9jaygp
Lm1ha2VXZWJUaHJlYWRBd2FyZSgpOworICAgIHZtLnNldFJ1bkxvb3AoV2ViVGhyZWFkUnVuTG9v
cCgpKTsKICAgICB2bS5oZWFwLm1hY2hpbmVUaHJlYWRzKCkuYWRkQ3VycmVudFRocmVhZCgpOwog
I2VuZGlmCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>