<?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>216237</bug_id>
          
          <creation_ts>2020-09-07 01:58:45 -0700</creation_ts>
          <short_desc>Tighten checks when creating an audio buffer list</short_desc>
          <delta_ts>2020-09-08 13:24:09 -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>WebRTC</component>
          <version>WebKit Local 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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1686309</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-07 01:58:45 -0700</bug_when>
    <thetext>Tighten checks when creating an audio buffer list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686310</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-07 01:58:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/68271376&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686311</commentid>
    <comment_count>2</comment_count>
      <attachid>408166</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-07 02:01:48 -0700</bug_when>
    <thetext>Created attachment 408166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686364</commentid>
    <comment_count>3</comment_count>
      <attachid>408182</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-07 08:28:00 -0700</bug_when>
    <thetext>Created attachment 408182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686595</commentid>
    <comment_count>4</comment_count>
      <attachid>408182</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-09-08 09:53:12 -0700</bug_when>
    <thetext>Comment on attachment 408182
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686711</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-08 13:24:08 -0700</bug_when>
    <thetext>Committed r266745: &lt;https://trac.webkit.org/changeset/266745&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408182.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408166</attachid>
            <date>2020-09-07 02:01:48 -0700</date>
            <delta_ts>2020-09-07 08:27:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216237-20200907110146.patch</filename>
            <type>text/plain</type>
            <size>20229</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDIxMTU2MDJhOTQ0ZDUw
YzRiYmE2MWJiMjA1N2YwMzliZmUwODY3ZS4uZWY1MmFiM2NjZTdlNDJkMThhOWUxNTJmOTliZTdi
OGQ0YjU2ZWFkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA5LTA3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUaWdodGVuIGNoZWNrcyB3
aGVuIGNyZWF0aW5nIGFuIGF1ZGlvIGJ1ZmZlciBsaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYyMzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzY4MjcxMzc2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIHJvdXRpbmUgdG8gY2hlY2sgdGhlcmUgaXMgbm8gbXVsdGlwbGljYXRpb24gaW50
ZWdlciBvdmVyZmxvdy4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlv
QnVmZmVyTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlQnVmZmVyU2l6ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJBdWRpb0J1ZmZlckxpc3Q6OmlzU3VwcG9ydGVkRGVzY3JpcHRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViQXVkaW9CdWZmZXJMaXN0OjpzZXRTYW1wbGVDb3Vu
dCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg6
CisKIDIwMjAtMDktMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1lZGlhUmVjb3JkZXIgdGltZXNsaWNlIHBhcmFtZXRlciBjYXVzaW5nIGludGVybmFsIGVy
cm9yIG9uIGxvbmdlciB2aWRlb3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNmRiMzVmZjNlNGFiNmJiZTNlN2JhNTFl
MTQ5NGY1ZTc5MzA1OTA5MS4uYWFjZTQ3MTNkNzM5MzM0M2I0ODM2NjU3NWNjMzM5NDIyMWMxN2Zj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAyMC0wOS0wNyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgVGlnaHRlbiBjaGVja3Mgd2hlbiBjcmVhdGlu
ZyBhbiBhdWRpbyBidWZmZXIgbGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE2MjM3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODI3MTM3Nj4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbWVz
c2FnZSBjaGVja3MgdG8gdmVyaWZ5IHRoYXQgbm8gbWVzc2FnZSBpbnRlZ2VyIG92ZXJmbG93cyBo
YXBwZW4gd2hlbiBwcm9jZXNzaW5nIGF1ZGlvIGJ1ZmZlciBsaXN0IG1lc3NhZ2VzLgorCisgICAg
ICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YXVkaW9UcmFja1JlbmRlcmVyTWFu
YWdlcik6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb01lZGlhU3Ry
ZWFtVHJhY2tSZW5kZXJlcjo6UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6YXVk
aW9TYW1wbGVzU3RvcmFnZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5o
OgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlcjo6UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXJNYW5hZ2VyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXJNYW5hZ2VyOjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyLmg6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUmVjb3JkZXI6OmF1ZGlvU2FtcGxlc1N0b3JhZ2VDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFSZWNvcmRlcjo6YXVkaW9TYW1wbGVz
QXZhaWxhYmxlKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29y
ZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpS
ZW1vdGVBdWRpbzo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKwogMjAyMC0wOS0wNCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFSZWNvcmRlciB0aW1l
c2xpY2UgcGFyYW1ldGVyIGNhdXNpbmcgaW50ZXJuYWwgZXJyb3Igb24gbG9uZ2VyIHZpZGVvcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvV2ViQXVkaW9C
dWZmZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1
ZGlvQnVmZmVyTGlzdC5jcHAKaW5kZXggNWZiMDU4MjkxNjMyNDU5YTRiNmM1ZDg4ODRiZTQxNGIy
MGI5NGUzYy4uZjFkYzE1YTc1ZTljYmQzYzIzZDcwMzBjZDVhNzVhYzgyN2M3M2JhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvV2ViQXVkaW9CdWZmZXJM
aXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9XZWJBdWRp
b0J1ZmZlckxpc3QuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJDQUF1ZGlvU3Ry
ZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4K
KyNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogdXNpbmcgbmFtZXNwYWNlIFBBTDsKQEAgLTU5LDIwICs2MCw0OCBAQCBXZWJBdWRpb0J1ZmZl
ckxpc3Q6OldlYkF1ZGlvQnVmZmVyTGlzdChjb25zdCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24m
IGZvcm1hdCwgdQogICAgIHNldFNhbXBsZUNvdW50KHNhbXBsZUNvdW50KTsKIH0KIAorc3RhdGlj
IGlubGluZSBPcHRpb25hbDxzdGQ6OnBhaXI8c2l6ZV90LCBzaXplX3Q+PiBjb21wdXRlQnVmZmVy
U2l6ZSh1aW50MzJfdCBudW1iZXJPZkludGVybGVhdmVkQ2hhbm5lbHMsIHVpbnQzMl90IGJ5dGVz
UGVyRnJhbWUsICAgdWludDMyX3QgbnVtYmVyT2ZDaGFubmVsU3RyZWFtcywgdWludDMyX3Qgc2Ft
cGxlQ291bnQpCit7CisgICAgc2l6ZV90IHRvdGFsU2FtcGxlQ291bnQ7CisgICAgYm9vbCByZXN1
bHQgPSBXVEY6OnNhZmVNdWx0aXBseShzYW1wbGVDb3VudCwgbnVtYmVyT2ZJbnRlcmxlYXZlZENo
YW5uZWxzLCB0b3RhbFNhbXBsZUNvdW50KTsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0
dXJuIHsgfTsKKworICAgIHNpemVfdCBieXRlc1BlckJ1ZmZlcjsKKyAgICByZXN1bHQgPSBXVEY6
OnNhZmVNdWx0aXBseShieXRlc1BlckZyYW1lLCB0b3RhbFNhbXBsZUNvdW50LCBieXRlc1BlckJ1
ZmZlcik7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBzaXpl
X3QgZmxhdEJ1ZmZlclNpemU7CisgICAgcmVzdWx0ID0gV1RGOjpzYWZlTXVsdGlwbHkobnVtYmVy
T2ZDaGFubmVsU3RyZWFtcywgYnl0ZXNQZXJCdWZmZXIsIGZsYXRCdWZmZXJTaXplKTsKKyAgICBp
ZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiBzdGQ6Om1ha2Vf
cGFpcihieXRlc1BlckJ1ZmZlciwgZmxhdEJ1ZmZlclNpemUpOworfQorCitib29sIFdlYkF1ZGlv
QnVmZmVyTGlzdDo6aXNTdXBwb3J0ZWREZXNjcmlwdGlvbihjb25zdCBDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24mIGZvcm1hdCwgdWludDMyX3Qgc2FtcGxlQ291bnQpCit7CisgICAgcmV0dXJuICEh
Y29tcHV0ZUJ1ZmZlclNpemUoZm9ybWF0Lm51bWJlck9mSW50ZXJsZWF2ZWRDaGFubmVscygpLCBm
b3JtYXQuYnl0ZXNQZXJGcmFtZSgpLCBmb3JtYXQubnVtYmVyT2ZDaGFubmVsU3RyZWFtcygpLCBz
YW1wbGVDb3VudCk7Cit9CisKIHZvaWQgV2ViQXVkaW9CdWZmZXJMaXN0OjpzZXRTYW1wbGVDb3Vu
dCh1aW50MzJfdCBzYW1wbGVDb3VudCkKIHsKICAgICBpZiAoIXNhbXBsZUNvdW50IHx8IG1fc2Ft
cGxlQ291bnQgPT0gc2FtcGxlQ291bnQpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fc2FtcGxl
Q291bnQgPSBzYW1wbGVDb3VudDsKLSAgICBzaXplX3QgYnl0ZXNQZXJCdWZmZXIgPSBtX3NhbXBs
ZUNvdW50ICogbV9jaGFubmVsQ291bnQgKiBtX2J5dGVzUGVyRnJhbWU7Ci0gICAgbV9mbGF0QnVm
ZmVyLnJlc2l6ZShtX2Nhbm9uaWNhbExpc3QtPm1OdW1iZXJCdWZmZXJzICogYnl0ZXNQZXJCdWZm
ZXIpOworCisgICAgYXV0byBidWZmZXJTaXplcyA9IGNvbXB1dGVCdWZmZXJTaXplKG1fY2hhbm5l
bENvdW50LCBtX2J5dGVzUGVyRnJhbWUsIG1fY2Fub25pY2FsTGlzdC0+bU51bWJlckJ1ZmZlcnMs
IG1fc2FtcGxlQ291bnQpOworICAgIEFTU0VSVChidWZmZXJTaXplcyk7CisKKyAgICBtX2ZsYXRC
dWZmZXIucmVzaXplKGJ1ZmZlclNpemVzLT5zZWNvbmQpOwogICAgIGF1dG8qIGRhdGEgPSBtX2Zs
YXRCdWZmZXIuZGF0YSgpOwogCiAgICAgZm9yICh1aW50MzJfdCBidWZmZXIgPSAwOyBidWZmZXIg
PCBtX2Nhbm9uaWNhbExpc3QtPm1OdW1iZXJCdWZmZXJzOyArK2J1ZmZlcikgewogICAgICAgICBt
X2Nhbm9uaWNhbExpc3QtPm1CdWZmZXJzW2J1ZmZlcl0ubURhdGEgPSBkYXRhOwotICAgICAgICBt
X2Nhbm9uaWNhbExpc3QtPm1CdWZmZXJzW2J1ZmZlcl0ubURhdGFCeXRlU2l6ZSA9IGJ5dGVzUGVy
QnVmZmVyOwotICAgICAgICBkYXRhICs9IGJ5dGVzUGVyQnVmZmVyOworICAgICAgICBtX2Nhbm9u
aWNhbExpc3QtPm1CdWZmZXJzW2J1ZmZlcl0ubURhdGFCeXRlU2l6ZSA9IGJ1ZmZlclNpemVzLT5m
aXJzdDsKKyAgICAgICAgZGF0YSArPSBidWZmZXJTaXplcy0+Zmlyc3Q7CiAgICAgfQogCiAgICAg
cmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L1dlYkF1ZGlvQnVmZmVyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvV2ViQXVkaW9CdWZmZXJMaXN0LmgKaW5kZXggY2M4YjY4ZDFjNzU0ZjZjZjY1ZDYxMzZhZDEy
ZDM4YWQwZmZmYmI1OC4uNTc5NjY5MzNkMDNiNWFkMmJlZDhmMzQ0NGJhMzQ1MWJiY2I2YjUwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvV2ViQXVkaW9C
dWZmZXJMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvV2Vi
QXVkaW9CdWZmZXJMaXN0LmgKQEAgLTQxLDcgKzQxLDcgQEAgY2xhc3MgQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uOwogCiBjbGFzcyBXZWJBdWRpb0J1ZmZlckxpc3QgZmluYWwgOiBwdWJsaWMgUGxh
dGZvcm1BdWRpb0RhdGEgewogcHVibGljOgotICAgIFdlYkF1ZGlvQnVmZmVyTGlzdChjb25zdCBD
QUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBXZWJBdWRpb0J1
ZmZlckxpc3QoY29uc3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgV2ViQXVkaW9CdWZmZXJMaXN0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYs
IHVpbnQzMl90IHNhbXBsZUNvdW50KTsKICAgICBXZWJBdWRpb0J1ZmZlckxpc3QoY29uc3QgQ0FB
dWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgQ01TYW1wbGVCdWZmZXJSZWYpOwogCkBAIC01Niw2ICs1
Niw4IEBAIHB1YmxpYzoKICAgICBBdWRpb0J1ZmZlciogYnVmZmVyKHVpbnQzMl90IGluZGV4KSBj
b25zdDsKICAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8QXVkaW9CdWZmZXIqPiBidWZmZXJzKCkgY29u
c3Q7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZERlc2NyaXB0
aW9uKGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQzMl90IHNhbXBsZUNvdW50
KTsKKwogcHJpdmF0ZToKICAgICBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBLaW5kOjpXZWJB
dWRpb0J1ZmZlckxpc3Q7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDBkYWVhNjA1MWU3NTU2M2YxOTMw
MDgzZjMyNGYwM2I5YTIxNTE5YWQuLjUyY2YxNWM2NTg4OWE3NTI5ZjJlNjQ5OTZjZWYzZDI4M2I2
N2E1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTI0Miw3ICsyNDIsNyBAQCBSZW1vdGVNZWRpYVJlY29y
ZGVyTWFuYWdlciYgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVkaWFSZWNvcmRlck1hbmFn
ZXIoKQogUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyJiBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjphdWRpb1RyYWNrUmVuZGVyZXJNYW5hZ2VyKCkKIHsKICAgICBp
ZiAoIW1fYXVkaW9UcmFja1JlbmRlcmVyTWFuYWdlcikKLSAgICAgICAgbV9hdWRpb1RyYWNrUmVu
ZGVyZXJNYW5hZ2VyID0gbWFrZVVuaXF1ZTxSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlck1hbmFnZXI+KCk7CisgICAgICAgIG1fYXVkaW9UcmFja1JlbmRlcmVyTWFuYWdlciA9IG1h
a2VVbmlxdWU8UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyPigqdGhp
cyk7CiAKICAgICByZXR1cm4gKm1fYXVkaW9UcmFja1JlbmRlcmVyTWFuYWdlcjsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0
cmVhbVRyYWNrUmVuZGVyZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9S
ZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5jcHAKaW5kZXggMWIwNGMwYzBkODcz
OTVjZDY0ODRlMTFiZGJhZGY5NzMxNjcwNDM2Zi4uMWZjNTZkODIxYmJkOTNmYzg5OWYyODUzYTEx
NTkxYTUyMGVjOThhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ci5jcHAKQEAgLTI4LDExICsyOCwxNSBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIkNvbm5l
Y3Rpb24uaCIKKyNpbmNsdWRlICJSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1h
bmFnZXIuaCIKICNpbmNsdWRlICJTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0NBUmluZ0J1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0
Lmg+CiAKKyNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFT
RShhc3NlcnRpb24sICgmbV9tYW5hZ2VyLmNvbm5lY3Rpb24oKSkpCisKIG5hbWVzcGFjZSBXZWJL
aXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTUwLDkgKzU0LDEwIEBAIHN0YXRp
YyBSZWZQdHI8TG9nZ2VyPiYgbnVsbExvZ2dlcigpCiB9CiAjZW5kaWYKIAotUmVtb3RlQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OlJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyKCkKLSAgICA6IG1fcmVuZGVyZXIoV2ViQ29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXI6OmNyZWF0ZSgpKQotICAgICwgbV9yaW5nQnVmZmVyKG1ha2VVbmlxdWU8Q0FSaW5nQnVm
ZmVyPihtYWtlVW5pcXVlUmVmPFNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlPihudWxscHRyKSkpCitS
ZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6UmVtb3RlQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXIoUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2Vy
JiBtYW5hZ2VyKQorICAgIDogbV9tYW5hZ2VyKG1hbmFnZXIpCisgICAgLCBtX3JlbmRlcmVyKFdl
YkNvcmU6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpjcmVhdGUoKSkKKyAgICAsIG1f
cmluZ0J1ZmZlcihtYWtlVW5pcXVlUmVmPENBUmluZ0J1ZmZlcj4obWFrZVVuaXF1ZVJlZjxTaGFy
ZWRSaW5nQnVmZmVyU3RvcmFnZT4obnVsbHB0cikpKQogewogICAgIEFTU0VSVChtX3JlbmRlcmVy
KTsKIApAQCAtOTcsMTAgKzEwMiw3IEBAIHZvaWQgUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXI6OnNldFZvbHVtZShmbG9hdCB2YWx1ZSkKIAogdm9pZCBSZW1vdGVBdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlcjo6YXVkaW9TYW1wbGVzU3RvcmFnZUNoYW5nZWQoY29uc3QgU2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUmIGlwY0hhbmRsZSwgY29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0
cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCiB7
Ci0gICAgQVNTRVJUKG1fcmluZ0J1ZmZlcik7Ci0gICAgaWYgKCFtX3JpbmdCdWZmZXIpCi0gICAg
ICAgIHJldHVybjsKLQorICAgIE1FU1NBR0VfQ0hFQ0soV2ViQXVkaW9CdWZmZXJMaXN0Ojppc1N1
cHBvcnRlZERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcykpOwogICAgIG1f
ZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjsKIAogICAgIGlmIChpcGNIYW5kbGUuaGFuZGxlLmlz
TnVsbCgpKSB7CkBAIC0xMTUsMjAgKzExNywyMSBAQCB2b2lkIFJlbW90ZUF1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVyOjphdWRpb1NhbXBsZXNTdG9yYWdlQ2hhbmdlZChjb25zdCBTaGFyZQog
ICAgIHN0b3JhZ2UoKS5zZXRSZWFkT25seSh0cnVlKTsKIAogICAgIG1fcmluZ0J1ZmZlci0+YWxs
b2NhdGUoZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKKworICAgIG1fYXVkaW9CdWZmZXJM
aXN0ID0gbWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KG1fZGVzY3JpcHRpb24pOwogfQog
CiB2b2lkIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjphdWRpb1NhbXBsZXNB
dmFpbGFibGUoTWVkaWFUaW1lIHRpbWUsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCB1aW50NjRf
dCBzdGFydEZyYW1lLCB1aW50NjRfdCBlbmRGcmFtZSkKIHsKLSAgICBBU1NFUlQobV9yaW5nQnVm
ZmVyKTsKLSAgICBpZiAoIW1fcmluZ0J1ZmZlcikKLSAgICAgICAgcmV0dXJuOworICAgIE1FU1NB
R0VfQ0hFQ0sobV9hdWRpb0J1ZmZlckxpc3QpOworICAgIE1FU1NBR0VfQ0hFQ0soV2ViQXVkaW9C
dWZmZXJMaXN0Ojppc1N1cHBvcnRlZERlc2NyaXB0aW9uKG1fZGVzY3JpcHRpb24sIG51bWJlck9m
RnJhbWVzKSk7CiAKICAgICBtX3JpbmdCdWZmZXItPnNldEN1cnJlbnRGcmFtZUJvdW5kcyhzdGFy
dEZyYW1lLCBlbmRGcmFtZSk7CiAKLSAgICBXZWJBdWRpb0J1ZmZlckxpc3QgYXVkaW9EYXRhKG1f
ZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKLSAgICBtX3JpbmdCdWZmZXItPmZldGNoKGF1
ZGlvRGF0YS5saXN0KCksIG51bWJlck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKKyAgICBt
X2F1ZGlvQnVmZmVyTGlzdC0+c2V0U2FtcGxlQ291bnQobnVtYmVyT2ZGcmFtZXMpOworICAgIG1f
cmluZ0J1ZmZlci0+ZmV0Y2gobV9hdWRpb0J1ZmZlckxpc3QtPmxpc3QoKSwgbnVtYmVyT2ZGcmFt
ZXMsIHRpbWUudGltZVZhbHVlKCkpOwogCi0gICAgbV9yZW5kZXJlci0+cHVzaFNhbXBsZXModGlt
ZSwgYXVkaW9EYXRhLCBtX2Rlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAgbV9yZW5k
ZXJlci0+cHVzaFNhbXBsZXModGltZSwgKm1fYXVkaW9CdWZmZXJMaXN0LCBtX2Rlc2NyaXB0aW9u
LCBudW1iZXJPZkZyYW1lcyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXIuaAppbmRleCBmNTcyNWYxYTRhYWMyNjM0NzAwNTU5OTZiY2FhYTBhYTE5YTIzYmM5
Li4yYWZjNDg5NGM3MmM1MjIyN2QzMmMwZThkNzM3ZjllNDA4OTU0NTc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5oCkBAIC0zMSwyMSArMzEsMjMgQEAKICNpbmNs
dWRlICJTaGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NBQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvVW5p
cXVlUmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1ZGlvTWVkaWFTdHJlYW1U
cmFja1JlbmRlcmVyOwogY2xhc3MgQ0FSaW5nQnVmZmVyOworY2xhc3MgV2ViQXVkaW9CdWZmZXJM
aXN0OwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2VzczsKK2NsYXNzIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdl
cjsKIGNsYXNzIFNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlOwogCiBjbGFzcyBSZW1vdGVBdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlciBmaW5hbCA6IHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2
ZXIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFJlbW90ZUF1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyKCk7CisgICAgZXhwbGljaXQgUmVtb3RlQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIoUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJNYW5hZ2VyJik7CiAgICAgflJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyKCk7
CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVj
b2RlciYpIGZpbmFsOwpAQCAtNjEsMTAgKzYzLDExIEBAIHByaXZhdGU6CiAKICAgICBTaGFyZWRS
aW5nQnVmZmVyU3RvcmFnZSYgc3RvcmFnZSgpOwogCisgICAgUmVtb3RlQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJNYW5hZ2VyJiBtX21hbmFnZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdl
YkNvcmU6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyPiBtX3JlbmRlcmVyOwotCiAgICAg
V2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIG1fZGVzY3JpcHRpb247Ci0gICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4gbV9yaW5nQnVmZmVyOworICAgIFVu
aXF1ZVJlZjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1fcmluZ0J1ZmZlcjsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViQ29yZTo6V2ViQXVkaW9CdWZmZXJMaXN0PiBtX2F1ZGlvQnVmZmVyTGlzdDsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJN
YW5hZ2VyLmNwcAppbmRleCBlMjU0OGFiN2Y0ZjQ0NGY2NjJjYjcyNjBkNTc4ZTBhMTVhYTFjY2Ux
Li5jYzQwMWZjNDllNzhjZWE1OWYwNmIxZjc4ODM4NWI3OGUxY2RlYzk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXIuY3BwCkBAIC0zMyw3
ICszMywxMSBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUmVtb3RlQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJNYW5hZ2VyOjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ck1hbmFnZXIoKSA9IGRlZmF1bHQ7CisKK1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyTWFuYWdlcjo6UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyKEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgOiBt
X2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoY29ubmVjdGlvblRvV2ViUHJvY2VzcykKK3sKK30KIAog
UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyOjp+UmVtb3RlQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyKCkgPSBkZWZhdWx0OwogCkBAIC00Niw3ICs1
MCw3IEBAIHZvaWQgUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyOjpk
aWRSZWNlaXZlUmVuZGVyZXJNZXNzYWdlKElQQzo6CiB2b2lkIFJlbW90ZUF1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVyTWFuYWdlcjo6Y3JlYXRlUmVuZGVyZXIoQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAgQVNTRVJUKCFtX3JlbmRl
cmVycy5jb250YWlucyhpZGVudGlmaWVyKSk7Ci0gICAgbV9yZW5kZXJlcnMuYWRkKGlkZW50aWZp
ZXIsIG1ha2VVbmlxdWU8UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI+KCkpOwor
ICAgIG1fcmVuZGVyZXJzLmFkZChpZGVudGlmaWVyLCBtYWtlVW5pcXVlPFJlbW90ZUF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyPigqdGhpcykpOwogfQogCiB2b2lkIFJlbW90ZUF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlcjo6cmVsZWFzZVJlbmRlcmVyKEF1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVySWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tS
ZW5kZXJlck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3Rl
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyLmgKaW5kZXggNTgxNzk0N2QxZGNh
MjhiOGY5YWY3ZmUxNWU1MDY2NDcyZTAxNTRlZC4uMjMzNTRlMDZmZGM4YTU3N2FiZTNlNWY2ZmU1
MmVlODMzM2E2ZTExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1Jl
bmRlcmVyTWFuYWdlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUg
IkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgIkdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC00
NCwxOCArNDUsMjEgQEAgY2xhc3MgUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI7
CiBjbGFzcyBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXIgZmluYWwg
OiBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1h
bmFnZXIoKTsKKyAgICBleHBsaWNpdCBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ck1hbmFnZXIoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOwogICAgIH5SZW1vdGVBdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXIoKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZVJl
bmRlcmVyTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlRnJvbVdlYlByb2Nlc3MoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpIHsgZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7IH0KIAorICAgIElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCk7IH0KKwogcHJp
dmF0ZToKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAgICAgdm9pZCBj
cmVhdGVSZW5kZXJlcihBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcklkZW50aWZpZXIpOwog
ICAgIHZvaWQgcmVsZWFzZVJlbmRlcmVyKEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySWRl
bnRpZmllcik7CiAKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M7CiAgICAgSGFzaE1hcDxBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcklk
ZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlcj4+IG1fcmVuZGVyZXJzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAKaW5kZXggYzQ2ZWQzZmE0NjQx
ZGM3MDZmNDNmZTMyMDNjN2M0YjhhZmNhN2QzZi4uNjAzNGMyZDVmOGQyNThiYWU0NWVhNTM1YTk1
NjA0MWE3NjU3NDYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBQ
TEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKIAorI2luY2x1ZGUgIkNvbm5lY3Rp
b24uaCIKICNpbmNsdWRlICJTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvQ0FSaW5nQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZVRyYW5zZmVyU2Vz
c2lvblZULmg+CkBAIC0zNSw2ICszNiw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJBdWRpb0J1
ZmZlckxpc3QuaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KIAorI2RlZmlu
ZSBNRVNTQUdFX0NIRUNLKGFzc2VydGlvbikgTUVTU0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwg
KCZtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY29ubmVjdGlvbigpKSkKKwogbmFtZXNwYWNl
IFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNjYsOSArNjksNyBAQCBT
aGFyZWRSaW5nQnVmZmVyU3RvcmFnZSYgUmVtb3RlTWVkaWFSZWNvcmRlcjo6c3RvcmFnZSgpCiAK
IHZvaWQgUmVtb3RlTWVkaWFSZWNvcmRlcjo6YXVkaW9TYW1wbGVzU3RvcmFnZUNoYW5nZWQoY29u
c3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGlwY0hhbmRsZSwgY29uc3QgV2ViQ29yZTo6Q0FB
dWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFt
ZXMpCiB7Ci0gICAgQVNTRVJUKG1fcmluZ0J1ZmZlcik7Ci0gICAgaWYgKCFtX3JpbmdCdWZmZXIp
Ci0gICAgICAgIHJldHVybjsKKyAgICBNRVNTQUdFX0NIRUNLKG1fcmluZ0J1ZmZlcik7CiAKICAg
ICBtX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247CiAKQEAgLTgzLDIxICs4NCwyMiBAQCB2b2lk
IFJlbW90ZU1lZGlhUmVjb3JkZXI6OmF1ZGlvU2FtcGxlc1N0b3JhZ2VDaGFuZ2VkKGNvbnN0IFNo
YXJlZE1lbW9yeTo6SVBDSGFuZAogICAgIHN0b3JhZ2UoKS5zZXRTdG9yYWdlKFdURk1vdmUobWVt
b3J5KSk7CiAgICAgc3RvcmFnZSgpLnNldFJlYWRPbmx5KHRydWUpOwogCi0gICAgbV9yaW5nQnVm
ZmVyLT5hbGxvY2F0ZShkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOworICAgIG1fcmluZ0J1
ZmZlci0+YWxsb2NhdGUobV9kZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOworICAgIG1fYXVk
aW9CdWZmZXJMaXN0ID0gbWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KG1fZGVzY3JpcHRp
b24pOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUmVjb3JkZXI6OmF1ZGlvU2FtcGxlc0F2YWlsYWJs
ZShNZWRpYVRpbWUgdGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIHVpbnQ2NF90IHN0YXJ0
RnJhbWUsIHVpbnQ2NF90IGVuZEZyYW1lKQogewotICAgIEFTU0VSVChtX3JpbmdCdWZmZXIpOwot
ICAgIGlmICghbV9yaW5nQnVmZmVyKQotICAgICAgICByZXR1cm47CisgICAgTUVTU0FHRV9DSEVD
SyhtX3JpbmdCdWZmZXIpOworICAgIE1FU1NBR0VfQ0hFQ0sobV9hdWRpb0J1ZmZlckxpc3QpOwor
ICAgIE1FU1NBR0VfQ0hFQ0soV2ViQXVkaW9CdWZmZXJMaXN0Ojppc1N1cHBvcnRlZERlc2NyaXB0
aW9uKG1fZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKSk7CiAKICAgICBtX3JpbmdCdWZmZXIt
PnNldEN1cnJlbnRGcmFtZUJvdW5kcyhzdGFydEZyYW1lLCBlbmRGcmFtZSk7CiAKLSAgICBXZWJB
dWRpb0J1ZmZlckxpc3QgYXVkaW9EYXRhKG1fZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsK
LSAgICBtX3JpbmdCdWZmZXItPmZldGNoKGF1ZGlvRGF0YS5saXN0KCksIG51bWJlck9mRnJhbWVz
LCB0aW1lLnRpbWVWYWx1ZSgpKTsKKyAgICBtX2F1ZGlvQnVmZmVyTGlzdC0+c2V0U2FtcGxlQ291
bnQobnVtYmVyT2ZGcmFtZXMpOworICAgIG1fcmluZ0J1ZmZlci0+ZmV0Y2gobV9hdWRpb0J1ZmZl
ckxpc3QtPmxpc3QoKSwgbnVtYmVyT2ZGcmFtZXMsIHRpbWUudGltZVZhbHVlKCkpOwogCi0gICAg
bV93cml0ZXItPmFwcGVuZEF1ZGlvU2FtcGxlQnVmZmVyKGF1ZGlvRGF0YSwgbV9kZXNjcmlwdGlv
biwgdGltZSwgbnVtYmVyT2ZGcmFtZXMpOworICAgIG1fd3JpdGVyLT5hcHBlbmRBdWRpb1NhbXBs
ZUJ1ZmZlcigqbV9hdWRpb0J1ZmZlckxpc3QsIG1fZGVzY3JpcHRpb24sIHRpbWUsIG51bWJlck9m
RnJhbWVzKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyOjp2aWRlb1NhbXBsZUF2YWls
YWJsZShXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSYmIHJlbW90ZVNhbXBsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5o
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgK
aW5kZXggNTM2NjgwZDRkNTMyNjlkNDBiMDE3ZTJlYzViYjhjNzFkZDljZWVjOC4uYTU1ZjNkMTFm
ZGM5MDFlNGJlYmYxMTJkYmQ2YTUwMmVjZDU3M2ZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKQEAgLTQ0LDYgKzQ0
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ0FSaW5nQnVmZmVyOwogY2xhc3MgSW1h
Z2VUcmFuc2ZlclNlc3Npb25WVDsKIGNsYXNzIFJlbW90ZVZpZGVvU2FtcGxlOworY2xhc3MgV2Vi
QXVkaW9CdWZmZXJMaXN0Owogc3RydWN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9uczsKIH0K
IApAQCAtNzgsNiArNzksNyBAQCBwcml2YXRlOgogCiAgICAgV2ViQ29yZTo6Q0FBdWRpb1N0cmVh
bURlc2NyaXB0aW9uIG1fZGVzY3JpcHRpb247CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OkNBUmluZ0J1ZmZlcj4gbV9yaW5nQnVmZmVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3Jl
OjpXZWJBdWRpb0J1ZmZlckxpc3Q+IG1fYXVkaW9CdWZmZXJMaXN0OwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZUPiBtX2ltYWdlVHJhbnNmZXJTZXNz
aW9uOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1Jl
bW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKaW5kZXggM2I1NzY5ZjNjMmU4MmUy
YzNmNDRjYTI0YjEwZDk5N2JiYmY0OGRmZS4uMTc1N2E2YTliMWIxMjUzMDEzNWFiOGY3N2IxZWE1
OWY2YjAyZWRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1Jl
bW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCkBAIC0xNDMsOCArMTQzLDE1
IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzZXRTdG9y
YWdlKGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuCiAKIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXI6OlJlbW90ZUF1ZGlvOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoTWVkaWFUaW1lIHRpbWUs
IHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCB1aW50NjRfdCBzdGFydEZyYW1lLCB1aW50NjRfdCBl
bmRGcmFtZSkKIHsKLSAgICBpZiAoIW1fYnVmZmVyKQorICAgIGlmICghbV9idWZmZXIpIHsKKyAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiYnVmZmVyIGZvciBhdWRpbyBzb3VyY2Ug
JWxsdSBpcyBudWxsIiwgbV9zb3VyY2UtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghV2ViQXVkaW9CdWZmZXJMaXN0Ojppc1N1cHBv
cnRlZERlc2NyaXB0aW9uKG1fZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKSkgeworICAgICAg
ICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gc3VwcG9ydCBkZXNjcmlwdGlv
biB3aXRoIGdpdmVuIG51bWJlciBvZiBmcmFtZXMgZm9yIGF1ZGlvIHNvdXJjZSAlbGx1IiwgbV9z
b3VyY2UtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
IAogICAgIG1fYnVmZmVyLT5zZXRTYW1wbGVDb3VudChudW1iZXJPZkZyYW1lcyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408182</attachid>
            <date>2020-09-07 08:28:00 -0700</date>
            <delta_ts>2020-09-08 13:24:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216237-20200907172758.patch</filename>
            <type>text/plain</type>
            <size>20260</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Njk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgxMzYwNDZhYmU4NTA5
ODdiMzYzOGMxNGJmNTY3NzgxZjY1Nzc5Mi4uOGIyMmM5OWRjYTg2MDcxNGE4YmE5ZDY3MjY5MGI4
YjJhNmM0NDU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA5LTA3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUaWdodGVuIGNoZWNrcyB3
aGVuIGNyZWF0aW5nIGFuIGF1ZGlvIGJ1ZmZlciBsaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYyMzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzY4MjcxMzc2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIHJvdXRpbmUgdG8gY2hlY2sgdGhlcmUgaXMgbm8gbXVsdGlwbGljYXRpb24gaW50
ZWdlciBvdmVyZmxvdy4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlv
QnVmZmVyTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlQnVmZmVyU2l6ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJBdWRpb0J1ZmZlckxpc3Q6OmlzU3VwcG9ydGVkRGVzY3JpcHRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViQXVkaW9CdWZmZXJMaXN0OjpzZXRTYW1wbGVDb3Vu
dCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0Lmg6
CisKIDIwMjAtMDktMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFNhZmFyaSB0YWtlcyB0b28gbG9uZyB0byBmZXRjaCBpbWFnZXMgZnJvbSBtZW1vcnkgY2Fj
aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggMTVlZmUzMjEwZjIwYjEwOGM4Nzg4YmI1NGY3NTFhMmViODY4ZjM5MS4u
NzE1Y2QwNDY3ZWQxNDhkNTUyNThjNjI0NDA4ODgyZWE1YTU5NTRhNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAyMC0wOS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgVGlnaHRlbiBjaGVja3Mgd2hlbiBjcmVhdGluZyBhbiBhdWRpbyBidWZmZXIg
bGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2
MjM3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODI3MTM3Nj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbWVzc2FnZSBjaGVja3MgdG8gdmVy
aWZ5IHRoYXQgbm8gbWVzc2FnZSBpbnRlZ2VyIG92ZXJmbG93cyBoYXBwZW4gd2hlbiBwcm9jZXNz
aW5nIGF1ZGlvIGJ1ZmZlciBsaXN0IG1lc3NhZ2VzLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6YXVkaW9UcmFja1JlbmRlcmVyTWFuYWdlcik6CisgICAgICAgICog
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6
UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6YXVkaW9TYW1wbGVzU3RvcmFnZUNo
YW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlcjo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVy
TWFuYWdlcjo6UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2Vy
OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyLmg6CisgICAgICAgICogR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU1lZGlhUmVjb3JkZXI6OmF1ZGlvU2FtcGxlc1N0b3JhZ2VDaGFuZ2VkKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTWVkaWFSZWNvcmRlcjo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6YXVkaW9T
YW1wbGVzQXZhaWxhYmxlKToKKwogMjAyMC0wOS0wNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbTW90aW9uTWFya10gUmVuZGVyTGF5ZXI6OnBhaW50
TGF5ZXJDb250ZW50cyBzcGVuZHMgfjUlIG9mIHRoZSB0aW1lIGluIE1vbm90b25pY1RpbWU6Om5v
dygpIGluIE11bHRpcGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9jb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvV2ViQXVkaW9CdWZmZXJMaXN0LmNwcAppbmRleCA1ZmIwNTgyOTE2MzI0NTlh
NGI2YzVkODg4NGJlNDE0YjIwYjk0ZTNjLi5lMDc1ODA2YjZlMWMxNGRmNzkxZjFjNjBmY2RkMGY3
Njk1MGU0NWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHAKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNs
dWRlICJXZWJBdWRpb0J1ZmZlckxpc3QuaCIKIAogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9DaGVja2VkQXJpdGhtZXRpYy5oPgorCiAjaW5jbHVk
ZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTU5LDIwICs2MSw0OCBAQCBXZWJBdWRpb0J1ZmZlckxpc3Q6OldlYkF1ZGlvQnVmZmVyTGlzdChj
b25zdCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1hdCwgdQogICAgIHNldFNhbXBsZUNv
dW50KHNhbXBsZUNvdW50KTsKIH0KIAorc3RhdGljIGlubGluZSBPcHRpb25hbDxzdGQ6OnBhaXI8
c2l6ZV90LCBzaXplX3Q+PiBjb21wdXRlQnVmZmVyU2l6ZXModWludDMyX3QgbnVtYmVyT2ZJbnRl
cmxlYXZlZENoYW5uZWxzLCB1aW50MzJfdCBieXRlc1BlckZyYW1lLCB1aW50MzJfdCBudW1iZXJP
ZkNoYW5uZWxTdHJlYW1zLCB1aW50MzJfdCBzYW1wbGVDb3VudCkKK3sKKyAgICBzaXplX3QgdG90
YWxTYW1wbGVDb3VudDsKKyAgICBib29sIHJlc3VsdCA9IFdURjo6c2FmZU11bHRpcGx5KHNhbXBs
ZUNvdW50LCBudW1iZXJPZkludGVybGVhdmVkQ2hhbm5lbHMsIHRvdGFsU2FtcGxlQ291bnQpOwor
ICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgc2l6ZV90IGJ5dGVz
UGVyQnVmZmVyOworICAgIHJlc3VsdCA9IFdURjo6c2FmZU11bHRpcGx5KGJ5dGVzUGVyRnJhbWUs
IHRvdGFsU2FtcGxlQ291bnQsIGJ5dGVzUGVyQnVmZmVyKTsKKyAgICBpZiAoIXJlc3VsdCkKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgIHNpemVfdCBmbGF0QnVmZmVyU2l6ZTsKKyAgICByZXN1
bHQgPSBXVEY6OnNhZmVNdWx0aXBseShudW1iZXJPZkNoYW5uZWxTdHJlYW1zLCBieXRlc1BlckJ1
ZmZlciwgZmxhdEJ1ZmZlclNpemUpOworICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4g
eyB9OworCisgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGJ5dGVzUGVyQnVmZmVyLCBmbGF0QnVm
ZmVyU2l6ZSk7Cit9CisKK2Jvb2wgV2ViQXVkaW9CdWZmZXJMaXN0Ojppc1N1cHBvcnRlZERlc2Ny
aXB0aW9uKGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZm9ybWF0LCB1aW50MzJfdCBz
YW1wbGVDb3VudCkKK3sKKyAgICByZXR1cm4gISFjb21wdXRlQnVmZmVyU2l6ZXMoZm9ybWF0Lm51
bWJlck9mSW50ZXJsZWF2ZWRDaGFubmVscygpLCBmb3JtYXQuYnl0ZXNQZXJGcmFtZSgpLCBmb3Jt
YXQubnVtYmVyT2ZDaGFubmVsU3RyZWFtcygpLCBzYW1wbGVDb3VudCk7Cit9CisKIHZvaWQgV2Vi
QXVkaW9CdWZmZXJMaXN0OjpzZXRTYW1wbGVDb3VudCh1aW50MzJfdCBzYW1wbGVDb3VudCkKIHsK
ICAgICBpZiAoIXNhbXBsZUNvdW50IHx8IG1fc2FtcGxlQ291bnQgPT0gc2FtcGxlQ291bnQpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIG1fc2FtcGxlQ291bnQgPSBzYW1wbGVDb3VudDsKLSAgICBz
aXplX3QgYnl0ZXNQZXJCdWZmZXIgPSBtX3NhbXBsZUNvdW50ICogbV9jaGFubmVsQ291bnQgKiBt
X2J5dGVzUGVyRnJhbWU7Ci0gICAgbV9mbGF0QnVmZmVyLnJlc2l6ZShtX2Nhbm9uaWNhbExpc3Qt
Pm1OdW1iZXJCdWZmZXJzICogYnl0ZXNQZXJCdWZmZXIpOworCisgICAgYXV0byBidWZmZXJTaXpl
cyA9IGNvbXB1dGVCdWZmZXJTaXplcyhtX2NoYW5uZWxDb3VudCwgbV9ieXRlc1BlckZyYW1lLCBt
X2Nhbm9uaWNhbExpc3QtPm1OdW1iZXJCdWZmZXJzLCBtX3NhbXBsZUNvdW50KTsKKyAgICBBU1NF
UlQoYnVmZmVyU2l6ZXMpOworCisgICAgbV9mbGF0QnVmZmVyLnJlc2l6ZShidWZmZXJTaXplcy0+
c2Vjb25kKTsKICAgICBhdXRvKiBkYXRhID0gbV9mbGF0QnVmZmVyLmRhdGEoKTsKIAogICAgIGZv
ciAodWludDMyX3QgYnVmZmVyID0gMDsgYnVmZmVyIDwgbV9jYW5vbmljYWxMaXN0LT5tTnVtYmVy
QnVmZmVyczsgKytidWZmZXIpIHsKICAgICAgICAgbV9jYW5vbmljYWxMaXN0LT5tQnVmZmVyc1ti
dWZmZXJdLm1EYXRhID0gZGF0YTsKLSAgICAgICAgbV9jYW5vbmljYWxMaXN0LT5tQnVmZmVyc1ti
dWZmZXJdLm1EYXRhQnl0ZVNpemUgPSBieXRlc1BlckJ1ZmZlcjsKLSAgICAgICAgZGF0YSArPSBi
eXRlc1BlckJ1ZmZlcjsKKyAgICAgICAgbV9jYW5vbmljYWxMaXN0LT5tQnVmZmVyc1tidWZmZXJd
Lm1EYXRhQnl0ZVNpemUgPSBidWZmZXJTaXplcy0+Zmlyc3Q7CisgICAgICAgIGRhdGEgKz0gYnVm
ZmVyU2l6ZXMtPmZpcnN0OwogICAgIH0KIAogICAgIHJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9XZWJBdWRpb0J1ZmZlckxpc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oCmlu
ZGV4IGNjOGI2OGQxYzc1NGY2Y2Y2NWQ2MTM2YWQxMmQzOGFkMGZmZmJiNTguLjU3OTY2OTMzZDAz
YjVhZDJiZWQ4ZjM0NDRiYTM0NTFiYmNiNmI1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5oCkBAIC00MSw3
ICs0MSw3IEBAIGNsYXNzIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbjsKIAogY2xhc3MgV2ViQXVk
aW9CdWZmZXJMaXN0IGZpbmFsIDogcHVibGljIFBsYXRmb3JtQXVkaW9EYXRhIHsKIHB1YmxpYzoK
LSAgICBXZWJBdWRpb0J1ZmZlckxpc3QoY29uc3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJik7
CisgICAgV0VCQ09SRV9FWFBPUlQgV2ViQXVkaW9CdWZmZXJMaXN0KGNvbnN0IENBQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIFdlYkF1ZGlvQnVmZmVyTGlzdChj
b25zdCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCB1aW50MzJfdCBzYW1wbGVDb3VudCk7CiAg
ICAgV2ViQXVkaW9CdWZmZXJMaXN0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIENN
U2FtcGxlQnVmZmVyUmVmKTsKIApAQCAtNTYsNiArNTYsOCBAQCBwdWJsaWM6CiAgICAgQXVkaW9C
dWZmZXIqIGJ1ZmZlcih1aW50MzJfdCBpbmRleCkgY29uc3Q7CiAgICAgV1RGOjpJdGVyYXRvclJh
bmdlPEF1ZGlvQnVmZmVyKj4gYnVmZmVycygpIGNvbnN0OwogCisgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIGJvb2wgaXNTdXBwb3J0ZWREZXNjcmlwdGlvbihjb25zdCBDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24mLCB1aW50MzJfdCBzYW1wbGVDb3VudCk7CisKIHByaXZhdGU6CiAgICAgS2luZCBr
aW5kKCkgY29uc3QgeyByZXR1cm4gS2luZDo6V2ViQXVkaW9CdWZmZXJMaXN0OyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcAppbmRleCAwZGFlYTYwNTFlNzU1NjNmMTkzMDA4M2YzMjRmMDNiOWEyMTUxOWFkLi41MmNm
MTVjNjU4ODlhNzUyOWYyZTY0OTk2Y2VmM2QyODNiNjdhNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0y
NDIsNyArMjQyLDcgQEAgUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXImIEdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6Om1lZGlhUmVjb3JkZXJNYW5hZ2VyKCkKIFJlbW90ZUF1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVyTWFuYWdlciYgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YXVkaW9U
cmFja1JlbmRlcmVyTWFuYWdlcigpCiB7CiAgICAgaWYgKCFtX2F1ZGlvVHJhY2tSZW5kZXJlck1h
bmFnZXIpCi0gICAgICAgIG1fYXVkaW9UcmFja1JlbmRlcmVyTWFuYWdlciA9IG1ha2VVbmlxdWU8
UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyPigpOworICAgICAgICBt
X2F1ZGlvVHJhY2tSZW5kZXJlck1hbmFnZXIgPSBtYWtlVW5pcXVlPFJlbW90ZUF1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlcj4oKnRoaXMpOwogCiAgICAgcmV0dXJuICptX2F1ZGlv
VHJhY2tSZW5kZXJlck1hbmFnZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXIuY3BwCmluZGV4IDFiMDRjMGMwZDg3Mzk1Y2Q2NDg0ZTExYmRiYWRmOTczMTY3MDQz
NmYuLjFmYzU2ZDgyMWJiZDkzZmM4OTlmMjg1M2ExMTU5MWE1MjBlYzk4YTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuY3BwCkBAIC0yOCwxMSArMjgsMTUgQEAK
IAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUmVtb3Rl
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVk
UmluZ0J1ZmZlclN0b3JhZ2UuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1ZGlvTWVkaWFTdHJlYW1U
cmFja1JlbmRlcmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DQVJpbmdCdWZmZXIuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1dlYkF1ZGlvQnVmZmVyTGlzdC5oPgogCisjZGVmaW5lIE1FU1NBR0VfQ0hF
Q0soYXNzZXJ0aW9uKSBNRVNTQUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCAoJm1fbWFuYWdlci5j
b25uZWN0aW9uKCkpKQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCkBAIC01MCw5ICs1NCwxMCBAQCBzdGF0aWMgUmVmUHRyPExvZ2dlcj4mIG51bGxMb2dn
ZXIoKQogfQogI2VuZGlmCiAKLVJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpS
ZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcigpCi0gICAgOiBtX3JlbmRlcmVyKFdl
YkNvcmU6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpjcmVhdGUoKSkKLSAgICAsIG1f
cmluZ0J1ZmZlcihtYWtlVW5pcXVlPENBUmluZ0J1ZmZlcj4obWFrZVVuaXF1ZVJlZjxTaGFyZWRS
aW5nQnVmZmVyU3RvcmFnZT4obnVsbHB0cikpKQorUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXI6OlJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyKFJlbW90ZUF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlciYgbWFuYWdlcikKKyAgICA6IG1fbWFuYWdl
cihtYW5hZ2VyKQorICAgICwgbV9yZW5kZXJlcihXZWJDb3JlOjpBdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlcjo6Y3JlYXRlKCkpCisgICAgLCBtX3JpbmdCdWZmZXIobWFrZVVuaXF1ZVJlZjxD
QVJpbmdCdWZmZXI+KG1ha2VVbmlxdWVSZWY8U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U+KG51bGxw
dHIpKSkKIHsKICAgICBBU1NFUlQobV9yZW5kZXJlcik7CiAKQEAgLTk3LDEwICsxMDIsNyBAQCB2
b2lkIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpzZXRWb2x1bWUoZmxvYXQg
dmFsdWUpCiAKIHZvaWQgUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OmF1ZGlv
U2FtcGxlc1N0b3JhZ2VDaGFuZ2VkKGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiBpcGNI
YW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRp
b24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQogewotICAgIEFTU0VSVChtX3JpbmdCdWZmZXIp
OwotICAgIGlmICghbV9yaW5nQnVmZmVyKQotICAgICAgICByZXR1cm47Ci0KKyAgICBNRVNTQUdF
X0NIRUNLKFdlYkF1ZGlvQnVmZmVyTGlzdDo6aXNTdXBwb3J0ZWREZXNjcmlwdGlvbihkZXNjcmlw
dGlvbiwgbnVtYmVyT2ZGcmFtZXMpKTsKICAgICBtX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247
CiAKICAgICBpZiAoaXBjSGFuZGxlLmhhbmRsZS5pc051bGwoKSkgewpAQCAtMTE1LDIwICsxMTcs
MjEgQEAgdm9pZCBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6YXVkaW9TYW1w
bGVzU3RvcmFnZUNoYW5nZWQoY29uc3QgU2hhcmUKICAgICBzdG9yYWdlKCkuc2V0UmVhZE9ubHko
dHJ1ZSk7CiAKICAgICBtX3JpbmdCdWZmZXItPmFsbG9jYXRlKGRlc2NyaXB0aW9uLCBudW1iZXJP
ZkZyYW1lcyk7CisKKyAgICBtX2F1ZGlvQnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8V2ViQXVkaW9C
dWZmZXJMaXN0PihtX2Rlc2NyaXB0aW9uKTsKIH0KIAogdm9pZCBSZW1vdGVBdWRpb01lZGlhU3Ry
ZWFtVHJhY2tSZW5kZXJlcjo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKE1lZGlhVGltZSB0aW1lLCB1
aW50NjRfdCBudW1iZXJPZkZyYW1lcywgdWludDY0X3Qgc3RhcnRGcmFtZSwgdWludDY0X3QgZW5k
RnJhbWUpCiB7Ci0gICAgQVNTRVJUKG1fcmluZ0J1ZmZlcik7Ci0gICAgaWYgKCFtX3JpbmdCdWZm
ZXIpCi0gICAgICAgIHJldHVybjsKKyAgICBNRVNTQUdFX0NIRUNLKG1fYXVkaW9CdWZmZXJMaXN0
KTsKKyAgICBNRVNTQUdFX0NIRUNLKFdlYkF1ZGlvQnVmZmVyTGlzdDo6aXNTdXBwb3J0ZWREZXNj
cmlwdGlvbihtX2Rlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcykpOwogCiAgICAgbV9yaW5nQnVm
ZmVyLT5zZXRDdXJyZW50RnJhbWVCb3VuZHMoc3RhcnRGcmFtZSwgZW5kRnJhbWUpOwogCi0gICAg
V2ViQXVkaW9CdWZmZXJMaXN0IGF1ZGlvRGF0YShtX2Rlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1l
cyk7Ci0gICAgbV9yaW5nQnVmZmVyLT5mZXRjaChhdWRpb0RhdGEubGlzdCgpLCBudW1iZXJPZkZy
YW1lcywgdGltZS50aW1lVmFsdWUoKSk7CisgICAgbV9hdWRpb0J1ZmZlckxpc3QtPnNldFNhbXBs
ZUNvdW50KG51bWJlck9mRnJhbWVzKTsKKyAgICBtX3JpbmdCdWZmZXItPmZldGNoKG1fYXVkaW9C
dWZmZXJMaXN0LT5saXN0KCksIG51bWJlck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKIAot
ICAgIG1fcmVuZGVyZXItPnB1c2hTYW1wbGVzKHRpbWUsIGF1ZGlvRGF0YSwgbV9kZXNjcmlwdGlv
biwgbnVtYmVyT2ZGcmFtZXMpOworICAgIG1fcmVuZGVyZXItPnB1c2hTYW1wbGVzKHRpbWUsICpt
X2F1ZGlvQnVmZmVyTGlzdCwgbV9kZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2Vi
cnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmgKaW5kZXggZjU3MjVmMWE0
YWFjMjYzNDcwMDU1OTk2YmNhYWEwYWExOWEyM2JjOS4uMmFmYzQ4OTRjNzJjNTIyMjdkMzJjMGU4
ZDczN2Y5ZTQwODk1NDU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXIuaApAQCAtMzEsMjEgKzMxLDIzIEBACiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaD4KICNpbmNsdWRlIDx3dGYv
TWVkaWFUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjsKIGNsYXNzIENBUmlu
Z0J1ZmZlcjsKK2NsYXNzIFdlYkF1ZGlvQnVmZmVyTGlzdDsKIH0KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLWNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CitjbGFzcyBSZW1vdGVBdWRp
b01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXI7CiBjbGFzcyBTaGFyZWRSaW5nQnVmZmVy
U3RvcmFnZTsKIAogY2xhc3MgUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIgZmlu
YWwgOiBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKLSAgICBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
cigpOworICAgIGV4cGxpY2l0IFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyKFJl
bW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlciYpOwogICAgIH5SZW1vdGVB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcigpOwogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKQEAgLTYxLDEwICs2
MywxMSBAQCBwcml2YXRlOgogCiAgICAgU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UmIHN0b3JhZ2Uo
KTsKIAorICAgIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlciYgbV9t
YW5hZ2VyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpBdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlcj4gbV9yZW5kZXJlcjsKLQogICAgIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbiBtX2Rlc2NyaXB0aW9uOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJp
bmdCdWZmZXI+IG1fcmluZ0J1ZmZlcjsKKyAgICBVbmlxdWVSZWY8V2ViQ29yZTo6Q0FSaW5nQnVm
ZmVyPiBtX3JpbmdCdWZmZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OldlYkF1ZGlv
QnVmZmVyTGlzdD4gbV9hdWRpb0J1ZmZlckxpc3Q7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1Jl
bmRlcmVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlci5jcHAKaW5kZXggZTI1NDhhYjdm
NGY0NDRmNjYyY2I3MjYwZDU3OGUwYTE1YWExY2NlMS4uY2M0MDFmYzQ5ZTc4Y2VhNTlmMDZiMWY3
ODgzODViNzhlMWNkZWM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXJNYW5hZ2VyLmNwcApAQCAtMzMsNyArMzMsMTEgQEAKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLVJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlcjo6UmVt
b3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyKCkgPSBkZWZhdWx0OworCitS
ZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXI6OlJlbW90ZUF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlcihHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBj
b25uZWN0aW9uVG9XZWJQcm9jZXNzKQorICAgIDogbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MpCit7Cit9CiAKIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyTWFuYWdlcjo6flJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyTWFu
YWdlcigpID0gZGVmYXVsdDsKIApAQCAtNDYsNyArNTAsNyBAQCB2b2lkIFJlbW90ZUF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyTWFuYWdlcjo6ZGlkUmVjZWl2ZVJlbmRlcmVyTWVzc2FnZShJ
UEM6Ogogdm9pZCBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXI6OmNy
ZWF0ZVJlbmRlcmVyKEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySWRlbnRpZmllciBpZGVu
dGlmaWVyKQogewogICAgIEFTU0VSVCghbV9yZW5kZXJlcnMuY29udGFpbnMoaWRlbnRpZmllcikp
OwotICAgIG1fcmVuZGVyZXJzLmFkZChpZGVudGlmaWVyLCBtYWtlVW5pcXVlPFJlbW90ZUF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyPigpKTsKKyAgICBtX3JlbmRlcmVycy5hZGQoaWRlbnRp
ZmllciwgbWFrZVVuaXF1ZTxSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcj4oKnRo
aXMpKTsKIH0KIAogdm9pZCBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFn
ZXI6OnJlbGVhc2VSZW5kZXJlcihBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcklkZW50aWZp
ZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyTWFuYWdlci5oCmluZGV4IDU4MTc5NDdkMWRjYTI4YjhmOWFmN2ZlMTVlNTA2NjQ3MmUwMTU0
ZWQuLjIzMzU0ZTA2ZmRjOGE1NzdhYmUzZTVmNmZlNTJlZTgzMzNhNmUxMTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlck1hbmFnZXIuaApAQCAtMjgsNiAr
MjgsNyBAQAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgi
CiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNDQsMTggKzQ1LDIxIEBAIGNsYXNzIFJlbW90
ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOwogY2xhc3MgUmVtb3RlQXVkaW9NZWRpYVN0
cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyIGZpbmFsIDogcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNl
aXZlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgUmVtb3Rl
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyKCk7CisgICAgZXhwbGljaXQgUmVt
b3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5hZ2VyKEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmKTsKICAgICB+UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJNYW5h
Z2VyKCk7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVSZW5kZXJlck1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21XZWJQ
cm9jZXNzKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVy
KSB7IGRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOyB9CiAKKyAgICBJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY29ubmVjdGlvbigpOyB9CisKIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdl
UmVjZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQ
Qzo6RGVjb2RlciYpIGZpbmFsOwogICAgIHZvaWQgY3JlYXRlUmVuZGVyZXIoQXVkaW9NZWRpYVN0
cmVhbVRyYWNrUmVuZGVyZXJJZGVudGlmaWVyKTsKICAgICB2b2lkIHJlbGVhc2VSZW5kZXJlcihB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcklkZW50aWZpZXIpOwogCisgICAgR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogICAgIEhhc2hNYXA8
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8
UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI+PiBtX3JlbmRlcmVyczsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFS
ZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlh
UmVjb3JkZXIuY3BwCmluZGV4IGM0NmVkM2ZhNDY0MWRjNzA2ZjQzZmUzMjAzYzdjNGI4YWZjYTdk
M2YuLjYwMzRjMmQ1ZjhkMjU4YmFlNDVlYTUzNWE5NTYwNDFhNzY1NzQ2MWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVy
LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVS
REVMRUdBVEUpCiAKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkUmlu
Z0J1ZmZlclN0b3JhZ2UuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NBUmluZ0J1ZmZlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvSW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oPgpAQCAtMzUsNiArMzYsOCBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0Lmg+CiAjaW5jbHVkZSA8d3Rm
L0NvbXBsZXRpb25IYW5kbGVyLmg+CiAKKyNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24p
IE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24sICgmbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNvbm5lY3Rpb24oKSkpCisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKQEAgLTY2LDkgKzY5LDcgQEAgU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UmIFJl
bW90ZU1lZGlhUmVjb3JkZXI6OnN0b3JhZ2UoKQogCiB2b2lkIFJlbW90ZU1lZGlhUmVjb3JkZXI6
OmF1ZGlvU2FtcGxlc1N0b3JhZ2VDaGFuZ2VkKGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxl
JiBpcGNIYW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVz
Y3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQogewotICAgIEFTU0VSVChtX3JpbmdC
dWZmZXIpOwotICAgIGlmICghbV9yaW5nQnVmZmVyKQotICAgICAgICByZXR1cm47CisgICAgTUVT
U0FHRV9DSEVDSyhtX3JpbmdCdWZmZXIpOwogCiAgICAgbV9kZXNjcmlwdGlvbiA9IGRlc2NyaXB0
aW9uOwogCkBAIC04MywyMSArODQsMjIgQEAgdm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyOjphdWRp
b1NhbXBsZXNTdG9yYWdlQ2hhbmdlZChjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmQKICAgICBz
dG9yYWdlKCkuc2V0U3RvcmFnZShXVEZNb3ZlKG1lbW9yeSkpOwogICAgIHN0b3JhZ2UoKS5zZXRS
ZWFkT25seSh0cnVlKTsKIAotICAgIG1fcmluZ0J1ZmZlci0+YWxsb2NhdGUoZGVzY3JpcHRpb24s
IG51bWJlck9mRnJhbWVzKTsKKyAgICBtX3JpbmdCdWZmZXItPmFsbG9jYXRlKG1fZGVzY3JpcHRp
b24sIG51bWJlck9mRnJhbWVzKTsKKyAgICBtX2F1ZGlvQnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8
V2ViQXVkaW9CdWZmZXJMaXN0PihtX2Rlc2NyaXB0aW9uKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRp
YVJlY29yZGVyOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoTWVkaWFUaW1lIHRpbWUsIHVpbnQ2NF90
IG51bWJlck9mRnJhbWVzLCB1aW50NjRfdCBzdGFydEZyYW1lLCB1aW50NjRfdCBlbmRGcmFtZSkK
IHsKLSAgICBBU1NFUlQobV9yaW5nQnVmZmVyKTsKLSAgICBpZiAoIW1fcmluZ0J1ZmZlcikKLSAg
ICAgICAgcmV0dXJuOworICAgIE1FU1NBR0VfQ0hFQ0sobV9yaW5nQnVmZmVyKTsKKyAgICBNRVNT
QUdFX0NIRUNLKG1fYXVkaW9CdWZmZXJMaXN0KTsKKyAgICBNRVNTQUdFX0NIRUNLKFdlYkF1ZGlv
QnVmZmVyTGlzdDo6aXNTdXBwb3J0ZWREZXNjcmlwdGlvbihtX2Rlc2NyaXB0aW9uLCBudW1iZXJP
ZkZyYW1lcykpOwogCiAgICAgbV9yaW5nQnVmZmVyLT5zZXRDdXJyZW50RnJhbWVCb3VuZHMoc3Rh
cnRGcmFtZSwgZW5kRnJhbWUpOwogCi0gICAgV2ViQXVkaW9CdWZmZXJMaXN0IGF1ZGlvRGF0YSht
X2Rlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgbV9yaW5nQnVmZmVyLT5mZXRjaChh
dWRpb0RhdGEubGlzdCgpLCBudW1iZXJPZkZyYW1lcywgdGltZS50aW1lVmFsdWUoKSk7CisgICAg
bV9hdWRpb0J1ZmZlckxpc3QtPnNldFNhbXBsZUNvdW50KG51bWJlck9mRnJhbWVzKTsKKyAgICBt
X3JpbmdCdWZmZXItPmZldGNoKG1fYXVkaW9CdWZmZXJMaXN0LT5saXN0KCksIG51bWJlck9mRnJh
bWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKIAotICAgIG1fd3JpdGVyLT5hcHBlbmRBdWRpb1NhbXBs
ZUJ1ZmZlcihhdWRpb0RhdGEsIG1fZGVzY3JpcHRpb24sIHRpbWUsIG51bWJlck9mRnJhbWVzKTsK
KyAgICBtX3dyaXRlci0+YXBwZW5kQXVkaW9TYW1wbGVCdWZmZXIoKm1fYXVkaW9CdWZmZXJMaXN0
LCBtX2Rlc2NyaXB0aW9uLCB0aW1lLCBudW1iZXJPZkZyYW1lcyk7CiB9CiAKIHZvaWQgUmVtb3Rl
TWVkaWFSZWNvcmRlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVtb3RlVmlkZW9T
YW1wbGUmJiByZW1vdGVTYW1wbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCmluZGV4IDUzNjY4MGQ0ZDUzMjY5ZDQwYjAx
N2UyZWM1YmI4YzcxZGQ5Y2VlYzguLmE1NWYzZDExZmRjOTAxZTRiZWJmMTEyZGJkNmE1MDJlY2Q1
NzNmY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3Rl
TWVkaWFSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlTWVkaWFSZWNvcmRlci5oCkBAIC00NCw2ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIENBUmluZ0J1ZmZlcjsKIGNsYXNzIEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ7CiBjbGFz
cyBSZW1vdGVWaWRlb1NhbXBsZTsKK2NsYXNzIFdlYkF1ZGlvQnVmZmVyTGlzdDsKIHN0cnVjdCBN
ZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnM7CiB9CiAKQEAgLTc4LDYgKzc5LDcgQEAgcHJpdmF0
ZToKIAogICAgIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBtX2Rlc2NyaXB0aW9u
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1fcmluZ0J1ZmZl
cjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6V2ViQXVkaW9CdWZmZXJMaXN0PiBtX2F1
ZGlvQnVmZmVyTGlzdDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW1hZ2VUcmFuc2Zl
clNlc3Npb25WVD4gbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbjsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIuY3BwCmluZGV4IDNiNTc2OWYzYzJlODJlMmMzZjQ0Y2EyNGIxMGQ5OTdiYmJmNDhkZmUu
LjE3NTdhNmE5YjFiMTI1MzAxMzVhYjhmNzdiMWVhNTlmNmIwMmVkZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1w
bGVNYW5hZ2VyLmNwcApAQCAtMTQzLDggKzE0MywxNSBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1w
bGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6c2V0U3RvcmFnZShjb25zdCBTaGFyZWRNZW1vcnk6Okhh
bgogCiB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6YXVkaW9T
YW1wbGVzQXZhaWxhYmxlKE1lZGlhVGltZSB0aW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywg
dWludDY0X3Qgc3RhcnRGcmFtZSwgdWludDY0X3QgZW5kRnJhbWUpCiB7Ci0gICAgaWYgKCFtX2J1
ZmZlcikKKyAgICBpZiAoIW1fYnVmZmVyKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdl
YlJUQywgImJ1ZmZlciBmb3IgYXVkaW8gc291cmNlICVsbHUgaXMgbnVsbCIsIG1fc291cmNlLT5p
ZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBp
ZiAoIVdlYkF1ZGlvQnVmZmVyTGlzdDo6aXNTdXBwb3J0ZWREZXNjcmlwdGlvbihtX2Rlc2NyaXB0
aW9uLCBudW1iZXJPZkZyYW1lcykpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRD
LCAiVW5hYmxlIHRvIHN1cHBvcnQgZGVzY3JpcHRpb24gd2l0aCBnaXZlbiBudW1iZXIgb2YgZnJh
bWVzIGZvciBhdWRpbyBzb3VyY2UgJWxsdSIsIG1fc291cmNlLT5pZGVudGlmaWVyKCkudG9VSW50
NjQoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBtX2J1ZmZlci0+c2V0U2FtcGxl
Q291bnQobnVtYmVyT2ZGcmFtZXMpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>