<?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>221490</bug_id>
          
          <creation_ts>2021-02-05 10:41:13 -0800</creation_ts>
          <short_desc>[Cocoa] CRASH in MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer()</short_desc>
          <delta_ts>2021-02-05 14:40:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1726171</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-05 10:41:13 -0800</bug_when>
    <thetext>[Cocoa] CRASH in MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726173</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-05 10:41:45 -0800</bug_when>
    <thetext>&lt;rdar://73966316&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726175</commentid>
    <comment_count>2</comment_count>
      <attachid>419431</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-05 10:44:28 -0800</bug_when>
    <thetext>Created attachment 419431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726178</commentid>
    <comment_count>3</comment_count>
      <attachid>419432</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-05 10:48:32 -0800</bug_when>
    <thetext>Created attachment 419432
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726285</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-05 14:40:28 -0800</bug_when>
    <thetext>Committed r272439: &lt;https://trac.webkit.org/changeset/272439&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419432.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419431</attachid>
            <date>2021-02-05 10:44:28 -0800</date>
            <delta_ts>2021-02-05 10:48:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221490-20210205104427.patch</filename>
            <type>text/plain</type>
            <size>16123</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY3NmI0NzY4ZjVkMDFj
MmViZDUzODVmNDAzYWJmZTk2NTcwZDdlYi4uNTRiYjg2NzMxM2Q3ZmM0ZTgwOTM4Njg0NWI5MmI4
NjZjZDQ4ZTQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAyLTA1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQ1JBU0ggaW4g
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpyZW1vdmVBdWRpb1JlbmRlcmVy
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTQ5
MAorICAgICAgICA8cmRhcjovLzczOTY2MzE2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBudWxsLWNoZWNrcyB0byBldmVyeSB1c2Ugb2YgcGxh
eWVyKCkgaW4gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM6OmRpZFBhcnNlSW5pdGlhbGl6YXRpb25EYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp3aWxsUHJvdmlkZUNvbnRlbnRLZXlSZXF1
ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRCk6CisgICAgICAgIChXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlh
bGl6YXRpb25EYXRhRm9yVHJhY2tJRCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQzo6YXBwZW5kQ29tcGxldGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkZXN0cm95UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkZXN0cm95UmVuZGVyZXJzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpyZWFkeVN0YXRlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpzZXRSZWFkeVN0
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFj
a0RpZENoYW5nZUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakM6OmZsdXNoVmlkZW8pOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakM6OmJ1ZmZlcldhc0NvbnN1bWVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpzZXREZWNvbXByZXNzaW9uU2Vzc2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cGxheWVyIGNvbnN0
KToKKwogMjAyMS0wMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3ZlIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lciBpbnRvIHRoZSBHUFUgUHJvY2VzcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgK
aW5kZXggMTRlNDZjZjdmNjc0M2NhMmJmZDYxNmM5ZmY5MjAxYWU0Y2Y0ZTljMS4uNzRjYjk0YTA3
NWU5NDIyMzIwMzY5NjE1OTc1MDJhY2Y2Yjk3NmYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCkBAIC02MSw2ICs2MSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENETUluc3RhbmNlOwogY2xhc3MgQ0RNSW5zdGFu
Y2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakM7CiBjbGFzcyBDRE1TZXNzaW9uTWVkaWFTb3VyY2VB
VkZPYmpDOworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOwogY2xh
c3MgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzsKIGNsYXNzIFRpbWVSYW5nZXM7CiBjbGFzcyBB
dWRpb1RyYWNrUHJpdmF0ZTsKQEAgLTE3Niw2ICsxNzcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQg
Zmx1c2hBdWRpbyhBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIgKik7CiAgICAgQUxMT1dfTkVX
X0FQSV9XSVRIT1VUX0dVQVJEU19FTkQKIAorICAgIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQyogcGxheWVyKCkgY29uc3Q7CisKICAgICBWZWN0b3I8UmVmUHRyPFZpZGVvVHJh
Y2tQcml2YXRlPj4gbV92aWRlb1RyYWNrczsKICAgICBWZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2tQ
cml2YXRlPj4gbV9hdWRpb1RyYWNrczsKICAgICBWZWN0b3I8U291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakNFcnJvckNsaWVudCo+IG1fZXJyb3JDbGllbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCBjYTk4NzYyMzQ1
ZWE3MjMxN2FlMGY0YjRlNjRlZTZhNmQ0NTMzYmQ1Li5kNGI4NGQzMmQ2MzJmZmYzMWYwZTljYTc5
NDMyYmMxNDhiMTcxYjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzU0LDEyICszNTQsMTIgQEAgdm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUGFyc2VJbml0aWFsaXphdGlvbkRhdGEoSW5pdGlh
bGl6YXRpb25TZWdtZW4KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChtX21lZGlh
U291cmNlLT5wbGF5ZXIoKS0+c2hvdWxkQ2hlY2tIYXJkd2FyZVN1cHBvcnQoKSkgeworICAgIGlm
IChhdXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpOyBwbGF5ZXIgJiYgcGxheWVyLT5zaG91bGRD
aGVja0hhcmR3YXJlU3VwcG9ydCgpKSB7CiAgICAgICAgIGZvciAoYXV0byYgaW5mbyA6IHNlZ21l
bnQudmlkZW9UcmFja3MpIHsKICAgICAgICAgICAgIGF1dG8gY29kZWMgPSBGb3VyQ0M6OmZyb21T
dHJpbmcoaW5mby5kZXNjcmlwdGlvbi0+Y29kZWMoKSk7CiAgICAgICAgICAgICBpZiAoIWNvZGVj
KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgaWYgKCFjb2RlY3NNZWV0
SGFyZHdhcmVEZWNvZGVSZXF1aXJlbWVudHMoe3sgKmNvZGVjIH19LCBtX21lZGlhU291cmNlLT5w
bGF5ZXIoKS0+bWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKSkpIHsK
KyAgICAgICAgICAgIGlmICghY29kZWNzTWVldEhhcmR3YXJlRGVjb2RlUmVxdWlyZW1lbnRzKHt7
ICpjb2RlYyB9fSwgcGxheWVyLT5tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3Vw
cG9ydCgpKSkgewogICAgICAgICAgICAgICAgIG1fcGFyc2luZ1N1Y2NlZWRlZCA9IGZhbHNlOwog
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KQEAgLTM4NCw4ICszODQsOCBA
QCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZUluaXRpYWxpemF0aW9u
RGF0YShJbml0aWFsaXphdGlvblNlZ21lbgogICAgICAgICBtX2F1ZGlvVHJhY2tzLmFwcGVuZChh
dWRpb1RyYWNrSW5mby50cmFjayk7CiAgICAgfQogCi0gICAgaWYgKG1fbWVkaWFTb3VyY2UpCi0g
ICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5jaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7
CisgICAgaWYgKGF1dG8gcGxheWVyID0gdGhpcy0+cGxheWVyKCkpCisgICAgICAgIHBsYXllci0+
Y2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOwogCiAgICAgbV9pbml0aWFsaXphdGlvblNlZ21lbnRJ
c0hhbmRsZWQgPSBmYWxzZTsKICAgICBkaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KFdU
Rk1vdmUoc2VnbWVudCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oKSBt
dXRhYmxlIHsKQEAgLTQ2NywxMSArNDY3LDE1IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakM6OndpbGxQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGFGCiAg
ICAgaWYgKCFwYXJzZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChDRE1TZXNzaW9uTWVk
aWFTb3VyY2VBVkZPYmpDKiBzZXNzaW9uID0gbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPmNkbVNl
c3Npb24oKSkKKyAgICBhdXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpOworICAgIGlmICghcGxh
eWVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZG
T2JqQyogc2Vzc2lvbiA9IHBsYXllci0+Y2RtU2Vzc2lvbigpKQogICAgICAgICBzZXNzaW9uLT5h
ZGRQYXJzZXIocGFyc2VyKTsKICAgICBlbHNlIGlmICghQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNl
c3Npb246OmlzQXZhaWxhYmxlKCkpIHsKICAgICAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJ
T05TCi0gICAgICAgIFttX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c3RyZWFtU2Vzc2lvbigpIGFk
ZFN0cmVhbURhdGFQYXJzZXI6cGFyc2VyXTsKKyAgICAgICAgW3BsYXllci0+c3RyZWFtU2Vzc2lv
bigpIGFkZFN0cmVhbURhdGFQYXJzZXI6cGFyc2VyXTsKICAgICAgICAgRU5EX0JMT0NLX09CSkNf
RVhDRVBUSU9OUwogICAgIH0KICNlbHNlCkBAIC00ODEsNyArNDg1LDggQEAgdm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQzo6d2lsbFByb3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxp
emF0aW9uRGF0YUYKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlk
ZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRChSZWY8VWludDhB
cnJheT4mJiBpbml0RGF0YSwgdWludDY0X3QgdHJhY2tJRCwgQm94PEJpbmFyeVNlbWFwaG9yZT4g
aGFzU2Vzc2lvblNlbWFwaG9yZSkKIHsKLSAgICBpZiAoIW1fbWVkaWFTb3VyY2UpCisgICAgYXV0
byBwbGF5ZXIgPSB0aGlzLT5wbGF5ZXIoKTsKKyAgICBpZiAoIXBsYXllcikKICAgICAgICAgcmV0
dXJuOwogCiAjaWYgSEFWRShBVkNPTlRFTlRLRVlTRVNTSU9OKSAmJiBFTkFCTEUoTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkKQEAgLTQ5MCw3ICs0OTUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGFG
bwogICAgIG1fcHJvdGVjdGVkVHJhY2tJRCA9IHRyYWNrSUQ7CiAgICAgbV9pbml0RGF0YSA9IFdU
Rk1vdmUoaW5pdERhdGEpOwogICAgIG1fbWVkaWFTb3VyY2UtPnNvdXJjZUJ1ZmZlcktleU5lZWRl
ZCh0aGlzLCBtX2luaXREYXRhLmdldCgpKTsKLSAgICBpZiAoYXV0byBzZXNzaW9uID0gbV9tZWRp
YVNvdXJjZS0+cGxheWVyKCktPmNkbVNlc3Npb24oKSkgeworICAgIGlmIChhdXRvIHNlc3Npb24g
PSBwbGF5ZXItPmNkbVNlc3Npb24oKSkgewogICAgICAgICBpZiAoYXV0byBwYXJzZXIgPSB0aGlz
LT5wYXJzZXIoKSkKICAgICAgICAgICAgIHNlc3Npb24tPmFkZFBhcnNlcihwYXJzZXIpOwogICAg
ICAgICBoYXNTZXNzaW9uU2VtYXBob3JlLT5zaWduYWwoKTsKQEAgLTUyMiwxMCArNTI3LDEwIEBA
IHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRpZFByb3ZpZGVDb250ZW50S2V5UmVx
dWVzdEluaXRpYWxpemF0aW9uRGF0YUZvCiAgICAgfQogCiAgICAgbV9rZXlJRHMgPSBXVEZNb3Zl
KGtleUlEcy52YWx1ZSgpKTsKLSAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+aW5pdGlhbGl6
YXRpb25EYXRhRW5jb3VudGVyZWQoInNpbmYiLCBpbml0RGF0YUJ1ZmZlci0+dHJ5Q3JlYXRlQXJy
YXlCdWZmZXIoKSk7CisgICAgcGxheWVyLT5pbml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZCgi
c2luZiIsIGluaXREYXRhQnVmZmVyLT50cnlDcmVhdGVBcnJheUJ1ZmZlcigpKTsKIAogICAgIG1f
d2FpdGluZ0ZvcktleSA9IHRydWU7Ci0gICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPndhaXRp
bmdGb3JLZXlDaGFuZ2VkKCk7CisgICAgcGxheWVyLT53YWl0aW5nRm9yS2V5Q2hhbmdlZCgpOwog
I2VuZGlmCiAKICAgICBVTlVTRURfUEFSQU0oaW5pdERhdGEpOwpAQCAtNjI3LDggKzYzMiw4IEBA
IHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFwcGVuZENvbXBsZXRlZCgpCiAgICAg
ICAgIG1faGFzU2Vzc2lvblNlbWFwaG9yZSA9IG5pbDsKICAgICB9CiAKLSAgICBpZiAobV9wYXJz
aW5nU3VjY2VlZGVkICYmIG1fbWVkaWFTb3VyY2UpCi0gICAgICAgIG1fbWVkaWFTb3VyY2UtPnBs
YXllcigpLT5zZXRMb2FkaW5nUHJvZ3Jlc3NzZWQodHJ1ZSk7CisgICAgaWYgKGF1dG8gcGxheWVy
ID0gdGhpcy0+cGxheWVyKCk7IHBsYXllciAmJiBtX3BhcnNpbmdTdWNjZWVkZWQpCisgICAgICAg
IHBsYXllci0+c2V0TG9hZGluZ1Byb2dyZXNzc2VkKHRydWUpOwogCiAgICAgU291cmNlQnVmZmVy
UHJpdmF0ZTo6YXBwZW5kQ29tcGxldGVkKG1fcGFyc2luZ1N1Y2NlZWRlZCwgbV9tZWRpYVNvdXJj
ZSA/IG1fbWVkaWFTb3VyY2UtPmlzRW5kZWQoKSA6IHRydWUpOwogfQpAQCAtNjcwLDggKzY3NSw4
IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRlc3Ryb3lQYXJzZXIoKQogICAg
IGlmICghcGFyc2VyKQogICAgICAgICByZXR1cm47CiAjaWYgSEFWRShBVlNUUkVBTVNFU1NJT04p
ICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgIGlmIChtX21lZGlhU291cmNl
ICYmIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpICYmIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5o
YXNTdHJlYW1TZXNzaW9uKCkpCi0gICAgICAgIFttX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c3Ry
ZWFtU2Vzc2lvbigpIHJlbW92ZVN0cmVhbURhdGFQYXJzZXI6cGFyc2VyXTsKKyAgICBpZiAoYXV0
byBwbGF5ZXIgPSB0aGlzLT5wbGF5ZXIoKTsgcGxheWVyICYmIHBsYXllci0+aGFzU3RyZWFtU2Vz
c2lvbigpKQorICAgICAgICBbcGxheWVyLT5zdHJlYW1TZXNzaW9uKCkgcmVtb3ZlU3RyZWFtRGF0
YVBhcnNlcjpwYXJzZXJdOwogI2VuZGlmCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkgJiYg
SEFWRShBVkNPTlRFTlRLRVlTRVNTSU9OKQogICAgIGlmIChtX2NkbUluc3RhbmNlKSB7CkBAIC02
OTAsOCArNjk1LDggQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGVzdHJveVJl
bmRlcmVycygpCiAgICAgICAgIHNldERlY29tcHJlc3Npb25TZXNzaW9uKG51bGxwdHIpOwogCiAg
ICAgZm9yIChhdXRvJiByZW5kZXJlciA6IG1fYXVkaW9SZW5kZXJlcnMudmFsdWVzKCkpIHsKLSAg
ICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCi0gICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5
ZXIoKS0+cmVtb3ZlQXVkaW9SZW5kZXJlcihyZW5kZXJlci5nZXQoKSk7CisgICAgICAgIGlmIChh
dXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpKQorICAgICAgICAgICAgcGxheWVyLT5yZW1vdmVB
dWRpb1JlbmRlcmVyKHJlbmRlcmVyLmdldCgpKTsKICAgICAgICAgW3JlbmRlcmVyIGZsdXNoXTsK
ICAgICAgICAgW3JlbmRlcmVyIHN0b3BSZXF1ZXN0aW5nTWVkaWFEYXRhXTsKICAgICAgICAgW21f
ZXJyb3JMaXN0ZW5lciBzdG9wT2JzZXJ2aW5nUmVuZGVyZXI6cmVuZGVyZXIuZ2V0KCldOwpAQCAt
NzI4LDE1ICs3MzMsMTcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cmVtb3Zl
ZEZyb21NZWRpYVNvdXJjZSgpCiAKIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIFNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDOjpyZWFkeVN0YXRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tZWRp
YVNvdXJjZSA/IG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5yZWFkeVN0YXRlKCkgOiBNZWRpYVBs
YXllcjo6UmVhZHlTdGF0ZTo6SGF2ZU5vdGhpbmc7CisgICAgaWYgKGF1dG8gcGxheWVyID0gdGhp
cy0+cGxheWVyKCkpCisgICAgICAgIHJldHVybiBwbGF5ZXItPnJlYWR5U3RhdGUoKTsKKyAgICBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5nOwogfQogCiB2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFk
eVN0YXRlIHJlYWR5U3RhdGUpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCByZWFk
eVN0YXRlKTsKIAotICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICBtX21lZGlhU291cmNl
LT5wbGF5ZXIoKS0+c2V0UmVhZHlTdGF0ZShyZWFkeVN0YXRlKTsKKyAgICBpZiAoYXV0byBwbGF5
ZXIgPSB0aGlzLT5wbGF5ZXIoKSkKKyAgICAgICAgcGxheWVyLT5zZXRSZWFkeVN0YXRlKHJlYWR5
U3RhdGUpOwogfQogCiBib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpoYXNTZWxlY3Rl
ZFZpZGVvKCkgY29uc3QKQEAgLTc4MSw4ICs3ODgsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVuYWJsZWQoQXVkaW9UcmFja1ByaXZhdGUmIHRyYWNr
LAogICAgICAgICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyPiByZW5kZXJl
ciA9IG1fYXVkaW9SZW5kZXJlcnMuZ2V0KHRyYWNrSUQpOwogICAgICAgICBBTExPV19ORVdfQVBJ
X1dJVEhPVVRfR1VBUkRTX0VORAogICAgICAgICBtX3BhcnNlci0+c2V0U2hvdWxkUHJvdmlkZU1l
ZGlhRGF0YUZvclRyYWNrSUQoZmFsc2UsIHRyYWNrSUQpOwotICAgICAgICBpZiAobV9tZWRpYVNv
dXJjZSkKLSAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5yZW1vdmVBdWRpb1Jl
bmRlcmVyKHJlbmRlcmVyLmdldCgpKTsKKyAgICAgICAgaWYgKGF1dG8gcGxheWVyID0gdGhpcy0+
cGxheWVyKCkpCisgICAgICAgICAgICBwbGF5ZXItPnJlbW92ZUF1ZGlvUmVuZGVyZXIocmVuZGVy
ZXIuZ2V0KCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fcGFyc2VyLT5zZXRTaG91bGRQcm92
aWRlTWVkaWFEYXRhRm9yVHJhY2tJRCh0cnVlLCB0cmFja0lEKTsKICAgICAgICAgQUxMT1dfTkVX
X0FQSV9XSVRIT1VUX0dVQVJEU19CRUdJTgpAQCAtNzk1LDcgKzgwMiw4IEBAIHZvaWQgU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakM6OnRyYWNrRGlkQ2hhbmdlRW5hYmxlZChBdWRpb1RyYWNrUHJp
dmF0ZSYgdHJhY2ssCiAgICAgICAgICAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICIt
W0FWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlciBpbml0XSByZXR1cm5lZCBuaWwhIGJhaWxpbmch
Iik7CiAgICAgICAgICAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCiAgICAgICAgICAgICAgICAg
ICAgIG1fbWVkaWFTb3VyY2UtPmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoTWVkaWFTb3VyY2VQcml2
YXRlQVZGT2JqQzo6UmVuZGVyZXJUeXBlOjpBdWRpbyk7Ci0gICAgICAgICAgICAgICAgbV9tZWRp
YVNvdXJjZS0+cGxheWVyKCktPnNldE5ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0
YXRlOjpEZWNvZGVFcnJvcik7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gcGxheWVyID0gdGhp
cy0+cGxheWVyKCkpCisgICAgICAgICAgICAgICAgICAgIHBsYXllci0+c2V0TmV0d29ya1N0YXRl
KE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkRlY29kZUVycm9yKTsKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICB9CiAKQEAgLTgwOSw4ICs4MTcsOCBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVuYWJsZWQoQXVkaW9UcmFja1By
aXZhdGUmIHRyYWNrLAogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHJlbmRlcmVyID0gbV9h
dWRpb1JlbmRlcmVycy5nZXQodHJhY2tJRCk7CiAKLSAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2Up
Ci0gICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+YWRkQXVkaW9SZW5kZXJlcihy
ZW5kZXJlci5nZXQoKSk7CisgICAgICAgIGlmIChhdXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigp
KQorICAgICAgICAgICAgcGxheWVyLT5hZGRBdWRpb1JlbmRlcmVyKHJlbmRlcmVyLmdldCgpKTsK
ICAgICB9CiB9CiAKQEAgLTk5MiwxNiArMTAwMCwxNiBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjpmbHVzaFZpZGVvKCkKICAgICBpZiAobV9kZWNvbXByZXNzaW9uU2Vzc2lvbikg
ewogICAgICAgICBtX2RlY29tcHJlc3Npb25TZXNzaW9uLT5mbHVzaCgpOwogICAgICAgICBtX2Rl
Y29tcHJlc3Npb25TZXNzaW9uLT5ub3RpZnlXaGVuSGFzQXZhaWxhYmxlVmlkZW9GcmFtZShbd2Vh
a1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIHsKLSAgICAgICAgICAgIGlmICh3ZWFrVGhpcyAm
JiB3ZWFrVGhpcy0+bV9tZWRpYVNvdXJjZSkKLSAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+bV9t
ZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldEhhc0F2YWlsYWJsZVZpZGVvRnJhbWUodHJ1ZSk7Cisg
ICAgICAgICAgICBpZiAod2Vha1RoaXMgJiYgd2Vha1RoaXMtPnBsYXllcigpKQorICAgICAgICAg
ICAgICAgIHdlYWtUaGlzLT5wbGF5ZXIoKS0+c2V0SGFzQXZhaWxhYmxlVmlkZW9GcmFtZSh0cnVl
KTsKICAgICAgICAgfSk7CiAgICAgfQogCiAgICAgbV9jYWNoZWRTaXplID0gV1RGOjpudWxsb3B0
OwogCi0gICAgaWYgKG1fbWVkaWFTb3VyY2UpIHsKLSAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxh
eWVyKCktPnNldEhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoZmFsc2UpOwotICAgICAgICBtX21lZGlh
U291cmNlLT5wbGF5ZXIoKS0+Zmx1c2hQZW5kaW5nU2l6ZUNoYW5nZXMoKTsKKyAgICBpZiAoYXV0
byBwbGF5ZXIgPSB0aGlzLT5wbGF5ZXIoKSkgeworICAgICAgICBwbGF5ZXItPnNldEhhc0F2YWls
YWJsZVZpZGVvRnJhbWUoZmFsc2UpOworICAgICAgICBwbGF5ZXItPmZsdXNoUGVuZGluZ1NpemVD
aGFuZ2VzKCk7CiAgICAgfQogfQogCkBAIC0xMDExLDggKzEwMTksOCBAQCBBTExPV19ORVdfQVBJ
X1dJVEhPVVRfR1VBUkRTX0VORAogewogICAgIFtyZW5kZXJlciBmbHVzaF07CiAKLSAgICBpZiAo
bV9tZWRpYVNvdXJjZSkKLSAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldEhhc0F2
YWlsYWJsZUF1ZGlvU2FtcGxlKHJlbmRlcmVyLCBmYWxzZSk7CisgICAgaWYgKGF1dG8gcGxheWVy
ID0gdGhpcy0+cGxheWVyKCkpCisgICAgICAgIHBsYXllci0+c2V0SGFzQXZhaWxhYmxlQXVkaW9T
YW1wbGUocmVuZGVyZXIsIGZhbHNlKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQzo6ZW5xdWV1ZVNhbXBsZShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCBjb25zdCBBdG9t
U3RyaW5nJiB0cmFja0lEU3RyaW5nKQpAQCAtMTA0NiwxNiArMTA1NCwxNyBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxlKFJlZjxNZWRpYVNhbXBsZT4mJiBz
YW1wbGUsIGNvbnN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICBh
dXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpOwogICAgICAgICBGbG9hdFNpemUgZm9ybWF0U2l6
ZSA9IEZsb2F0U2l6ZShDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25HZXRQcmVzZW50YXRpb25EaW1l
bnNpb25zKGZvcm1hdERlc2NyaXB0aW9uLCB0cnVlLCB0cnVlKSk7CiAgICAgICAgIGlmICghbV9j
YWNoZWRTaXplIHx8IGZvcm1hdFNpemUgIT0gbV9jYWNoZWRTaXplLnZhbHVlKCkpIHsKICAgICAg
ICAgICAgIERFQlVHX0xPRyhsb2dTaXRlSWRlbnRpZmllciwgInNpemUgY2hhbmdlZCB0byAiLCBm
b3JtYXRTaXplKTsKICAgICAgICAgICAgIGJvb2wgc2l6ZVdhc051bGwgPSAhbV9jYWNoZWRTaXpl
OwogICAgICAgICAgICAgbV9jYWNoZWRTaXplID0gZm9ybWF0U2l6ZTsKLSAgICAgICAgICAgIGlm
IChtX21lZGlhU291cmNlKSB7CisgICAgICAgICAgICBpZiAocGxheWVyKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKHNpemVXYXNOdWxsKQotICAgICAgICAgICAgICAgICAgICBtX21lZGlhU291cmNl
LT5wbGF5ZXIoKS0+c2V0TmF0dXJhbFNpemUoZm9ybWF0U2l6ZSk7CisgICAgICAgICAgICAgICAg
ICAgIHBsYXllci0+c2V0TmF0dXJhbFNpemUoZm9ybWF0U2l6ZSk7CiAgICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2l6ZVdp
bGxDaGFuZ2VBdFRpbWUoc2FtcGxlLT5wcmVzZW50YXRpb25UaW1lKCksIGZvcm1hdFNpemUpOwor
ICAgICAgICAgICAgICAgICAgICBwbGF5ZXItPnNpemVXaWxsQ2hhbmdlQXRUaW1lKHNhbXBsZS0+
cHJlc2VudGF0aW9uVGltZSgpLCBmb3JtYXRTaXplKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogCkBAIC0xMDY1LDcgKzEwNzQsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
OjplbnF1ZXVlU2FtcGxlKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIGNvbnN0CiAgICAgICAg
IGlmICghbV9kaXNwbGF5TGF5ZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYg
KG1fbWVkaWFTb3VyY2UgJiYgIW1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5oYXNBdmFpbGFibGVW
aWRlb0ZyYW1lKCkgJiYgIXNhbXBsZS0+aXNOb25EaXNwbGF5aW5nKCkpIHsKKyAgICAgICAgaWYg
KHBsYXllciAmJiAhcGxheWVyLT5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCkgJiYgIXNhbXBsZS0+
aXNOb25EaXNwbGF5aW5nKCkpIHsKICAgICAgICAgICAgIERFQlVHX0xPRyhsb2dTaXRlSWRlbnRp
ZmllciwgImFkZGluZyBidWZmZXIgYXR0YWNobWVudCIpOwogCiAgICAgICAgICAgICBib29sIGhh
dmVQcmVyb2xsRGVjb2RlV2l0aENvbXBsZXRpb25IYW5kbGVyID0gW1BBTDo6Z2V0QVZTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXJDbGFzcygpIGluc3RhbmNlc1Jlc3BvbmRUb1NlbGVjdG9yOkBzZWxl
Y3RvcihwcmVyb2xsRGVjb2RlV2l0aENvbXBsZXRpb25IYW5kbGVyOildOwpAQCAtMTA3Nyw3ICsx
MDg2LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZShS
ZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCBjb25zdAogICAgICAgICAgICAgICAgIENNU2V0QXR0
YWNobWVudChzYW1wbGVDb3B5LmdldCgpLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1Bv
c3ROb3RpZmljYXRpb25XaGVuQ29uc3VtZWQsIChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpQHsg
KF9fYnJpZGdlIE5TU3RyaW5nICopa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9Qb3N0Tm90
aWZpY2F0aW9uV2hlbkNvbnN1bWVkIDogQFlFUyB9LCBrQ01BdHRhY2htZW50TW9kZV9TaG91bGRO
b3RQcm9wYWdhdGUpOwogICAgICAgICAgICAgICAgIFttX2Rpc3BsYXlMYXllciBlbnF1ZXVlU2Ft
cGxlQnVmZmVyOnNhbXBsZUNvcHkuZ2V0KCldOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0g
ICAgICAgICAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldEhhc0F2YWlsYWJsZVZp
ZGVvRnJhbWUodHJ1ZSk7CisgICAgICAgICAgICAgICAgcGxheWVyLT5zZXRIYXNBdmFpbGFibGVW
aWRlb0ZyYW1lKHRydWUpOwogI2VuZGlmCiAgICAgICAgICAgICB9IGVsc2UgewogCkBAIC0xMTE0
LDggKzExMjMsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2Ft
cGxlKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIGNvbnN0CiAKICAgICAgICAgYXV0byByZW5k
ZXJlciA9IG1fYXVkaW9SZW5kZXJlcnMuZ2V0KHRyYWNrSUQpOwogICAgICAgICBbcmVuZGVyZXIg
ZW5xdWV1ZVNhbXBsZUJ1ZmZlcjpwbGF0Zm9ybVNhbXBsZS5zYW1wbGUuY21TYW1wbGVCdWZmZXJd
OwotICAgICAgICBpZiAobV9tZWRpYVNvdXJjZSAmJiAhc2FtcGxlLT5pc05vbkRpc3BsYXlpbmco
KSAmJiBtX21lZGlhU291cmNlLT5wbGF5ZXIoKSkKLSAgICAgICAgICAgIG1fbWVkaWFTb3VyY2Ut
PnBsYXllcigpLT5zZXRIYXNBdmFpbGFibGVBdWRpb1NhbXBsZShyZW5kZXJlci5nZXQoKSwgdHJ1
ZSk7CisgICAgICAgIGlmIChhdXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpOyBwbGF5ZXIgJiYg
IXNhbXBsZS0+aXNOb25EaXNwbGF5aW5nKCkpCisgICAgICAgICAgICBwbGF5ZXItPnNldEhhc0F2
YWlsYWJsZUF1ZGlvU2FtcGxlKHJlbmRlcmVyLmdldCgpLCB0cnVlKTsKICAgICB9CiB9CiAKQEAg
LTExMjMsOCArMTEzMiw4IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmJ1ZmZl
cldhc0NvbnN1bWVkKCkKIHsKICAgICBERUJVR19MT0coTE9HSURFTlRJRklFUik7CiAKLSAgICBp
ZiAobV9tZWRpYVNvdXJjZSkKLSAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldEhh
c0F2YWlsYWJsZVZpZGVvRnJhbWUodHJ1ZSk7CisgICAgaWYgKGF1dG8gcGxheWVyID0gdGhpcy0+
cGxheWVyKCkpCisgICAgICAgIHBsYXllci0+c2V0SGFzQXZhaWxhYmxlVmlkZW9GcmFtZSh0cnVl
KTsKIH0KIAogYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6aXNSZWFkeUZvck1vcmVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSURTdHJpbmcpCkBAIC0xMzE4LDEyICsxMzI3
LDE4IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnNldERlY29tcHJlc3Npb25T
ZXNzaW9uKFdlYkNvcmVEZWNvbXByZXNzaW9uU2VzCiAgICAgICAgICAgICB3ZWFrVGhpcy0+ZGlk
QmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyh3ZWFrVGhpcy0+bV9lbmFibGVkVmlkZW9UcmFja0lE
KTsKICAgICB9KTsKICAgICBtX2RlY29tcHJlc3Npb25TZXNzaW9uLT5ub3RpZnlXaGVuSGFzQXZh
aWxhYmxlVmlkZW9GcmFtZShbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIHsKLSAgICAg
ICAgaWYgKHdlYWtUaGlzICYmIHdlYWtUaGlzLT5tX21lZGlhU291cmNlKQotICAgICAgICAgICAg
d2Vha1RoaXMtPm1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5zZXRIYXNBdmFpbGFibGVWaWRlb0Zy
YW1lKHRydWUpOworICAgICAgICBpZiAod2Vha1RoaXMgJiYgd2Vha1RoaXMtPnBsYXllcigpKQor
ICAgICAgICAgICAgd2Vha1RoaXMtPnBsYXllcigpLT5zZXRIYXNBdmFpbGFibGVWaWRlb0ZyYW1l
KHRydWUpOwogICAgIH0pOwogICAgIHJlZW5xdWVTYW1wbGVzKEF0b21TdHJpbmc6Om51bWJlciht
X2VuYWJsZWRWaWRlb1RyYWNrSUQpKTsKIH0KIAorTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDKiBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cGxheWVyKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZSA/IG1fbWVkaWFTb3VyY2UtPnBsYXllcigpIDogbnVs
bHB0cjsKK30KKworCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBXVEZMb2dDaGFubmVsJiBT
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bG9nQ2hhbm5lbCgpIGNvbnN0CiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419432</attachid>
            <date>2021-02-05 10:48:32 -0800</date>
            <delta_ts>2021-02-05 14:40:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221490-20210205104832.patch</filename>
            <type>text/plain</type>
            <size>16123</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY3NmI0NzY4ZjVkMDFj
MmViZDUzODVmNDAzYWJmZTk2NTcwZDdlYi4uNTRiYjg2NzMxM2Q3ZmM0ZTgwOTM4Njg0NWI5MmI4
NjZjZDQ4ZTQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAyLTA1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQ1JBU0ggaW4g
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpyZW1vdmVBdWRpb1JlbmRlcmVy
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTQ5
MAorICAgICAgICA8cmRhcjovLzczOTY2MzE2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBudWxsLWNoZWNrcyB0byBldmVyeSB1c2Ugb2YgcGxh
eWVyKCkgaW4gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM6OmRpZFBhcnNlSW5pdGlhbGl6YXRpb25EYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp3aWxsUHJvdmlkZUNvbnRlbnRLZXlSZXF1
ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRCk6CisgICAgICAgIChXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlh
bGl6YXRpb25EYXRhRm9yVHJhY2tJRCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQzo6YXBwZW5kQ29tcGxldGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkZXN0cm95UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkZXN0cm95UmVuZGVyZXJzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpyZWFkeVN0YXRlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpzZXRSZWFkeVN0
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFj
a0RpZENoYW5nZUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakM6OmZsdXNoVmlkZW8pOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakM6OmJ1ZmZlcldhc0NvbnN1bWVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpzZXREZWNvbXByZXNzaW9uU2Vzc2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cGxheWVyIGNvbnN0
KToKKwogMjAyMS0wMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3ZlIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lciBpbnRvIHRoZSBHUFUgUHJvY2VzcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgK
aW5kZXggMTRlNDZjZjdmNjc0M2NhMmJmZDYxNmM5ZmY5MjAxYWU0Y2Y0ZTljMS4uNzRjYjk0YTA3
NWU5NDIyMzIwMzY5NjE1OTc1MDJhY2Y2Yjk3NmYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCkBAIC02MSw2ICs2MSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENETUluc3RhbmNlOwogY2xhc3MgQ0RNSW5zdGFu
Y2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakM7CiBjbGFzcyBDRE1TZXNzaW9uTWVkaWFTb3VyY2VB
VkZPYmpDOworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOwogY2xh
c3MgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzsKIGNsYXNzIFRpbWVSYW5nZXM7CiBjbGFzcyBB
dWRpb1RyYWNrUHJpdmF0ZTsKQEAgLTE3Niw2ICsxNzcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQg
Zmx1c2hBdWRpbyhBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIgKik7CiAgICAgQUxMT1dfTkVX
X0FQSV9XSVRIT1VUX0dVQVJEU19FTkQKIAorICAgIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQyogcGxheWVyKCkgY29uc3Q7CisKICAgICBWZWN0b3I8UmVmUHRyPFZpZGVvVHJh
Y2tQcml2YXRlPj4gbV92aWRlb1RyYWNrczsKICAgICBWZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2tQ
cml2YXRlPj4gbV9hdWRpb1RyYWNrczsKICAgICBWZWN0b3I8U291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakNFcnJvckNsaWVudCo+IG1fZXJyb3JDbGllbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCBjYTk4NzYyMzQ1
ZWE3MjMxN2FlMGY0YjRlNjRlZTZhNmQ0NTMzYmQ1Li5kNGI4NGQzMmQ2MzJmZmYzMWYwZTljYTc5
NDMyYmMxNDhiMTcxYjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzU0LDEyICszNTQsMTIgQEAgdm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUGFyc2VJbml0aWFsaXphdGlvbkRhdGEoSW5pdGlh
bGl6YXRpb25TZWdtZW4KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChtX21lZGlh
U291cmNlLT5wbGF5ZXIoKS0+c2hvdWxkQ2hlY2tIYXJkd2FyZVN1cHBvcnQoKSkgeworICAgIGlm
IChhdXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpOyBwbGF5ZXIgJiYgcGxheWVyLT5zaG91bGRD
aGVja0hhcmR3YXJlU3VwcG9ydCgpKSB7CiAgICAgICAgIGZvciAoYXV0byYgaW5mbyA6IHNlZ21l
bnQudmlkZW9UcmFja3MpIHsKICAgICAgICAgICAgIGF1dG8gY29kZWMgPSBGb3VyQ0M6OmZyb21T
dHJpbmcoaW5mby5kZXNjcmlwdGlvbi0+Y29kZWMoKSk7CiAgICAgICAgICAgICBpZiAoIWNvZGVj
KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgaWYgKCFjb2RlY3NNZWV0
SGFyZHdhcmVEZWNvZGVSZXF1aXJlbWVudHMoe3sgKmNvZGVjIH19LCBtX21lZGlhU291cmNlLT5w
bGF5ZXIoKS0+bWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKSkpIHsK
KyAgICAgICAgICAgIGlmICghY29kZWNzTWVldEhhcmR3YXJlRGVjb2RlUmVxdWlyZW1lbnRzKHt7
ICpjb2RlYyB9fSwgcGxheWVyLT5tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3Vw
cG9ydCgpKSkgewogICAgICAgICAgICAgICAgIG1fcGFyc2luZ1N1Y2NlZWRlZCA9IGZhbHNlOwog
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KQEAgLTM4NCw4ICszODQsOCBA
QCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZUluaXRpYWxpemF0aW9u
RGF0YShJbml0aWFsaXphdGlvblNlZ21lbgogICAgICAgICBtX2F1ZGlvVHJhY2tzLmFwcGVuZChh
dWRpb1RyYWNrSW5mby50cmFjayk7CiAgICAgfQogCi0gICAgaWYgKG1fbWVkaWFTb3VyY2UpCi0g
ICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5jaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7
CisgICAgaWYgKGF1dG8gcGxheWVyID0gdGhpcy0+cGxheWVyKCkpCisgICAgICAgIHBsYXllci0+
Y2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOwogCiAgICAgbV9pbml0aWFsaXphdGlvblNlZ21lbnRJ
c0hhbmRsZWQgPSBmYWxzZTsKICAgICBkaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KFdU
Rk1vdmUoc2VnbWVudCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oKSBt
dXRhYmxlIHsKQEAgLTQ2NywxMSArNDY3LDE1IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakM6OndpbGxQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGFGCiAg
ICAgaWYgKCFwYXJzZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChDRE1TZXNzaW9uTWVk
aWFTb3VyY2VBVkZPYmpDKiBzZXNzaW9uID0gbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPmNkbVNl
c3Npb24oKSkKKyAgICBhdXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpOworICAgIGlmICghcGxh
eWVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZG
T2JqQyogc2Vzc2lvbiA9IHBsYXllci0+Y2RtU2Vzc2lvbigpKQogICAgICAgICBzZXNzaW9uLT5h
ZGRQYXJzZXIocGFyc2VyKTsKICAgICBlbHNlIGlmICghQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNl
c3Npb246OmlzQXZhaWxhYmxlKCkpIHsKICAgICAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJ
T05TCi0gICAgICAgIFttX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c3RyZWFtU2Vzc2lvbigpIGFk
ZFN0cmVhbURhdGFQYXJzZXI6cGFyc2VyXTsKKyAgICAgICAgW3BsYXllci0+c3RyZWFtU2Vzc2lv
bigpIGFkZFN0cmVhbURhdGFQYXJzZXI6cGFyc2VyXTsKICAgICAgICAgRU5EX0JMT0NLX09CSkNf
RVhDRVBUSU9OUwogICAgIH0KICNlbHNlCkBAIC00ODEsNyArNDg1LDggQEAgdm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQzo6d2lsbFByb3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxp
emF0aW9uRGF0YUYKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlk
ZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRChSZWY8VWludDhB
cnJheT4mJiBpbml0RGF0YSwgdWludDY0X3QgdHJhY2tJRCwgQm94PEJpbmFyeVNlbWFwaG9yZT4g
aGFzU2Vzc2lvblNlbWFwaG9yZSkKIHsKLSAgICBpZiAoIW1fbWVkaWFTb3VyY2UpCisgICAgYXV0
byBwbGF5ZXIgPSB0aGlzLT5wbGF5ZXIoKTsKKyAgICBpZiAoIXBsYXllcikKICAgICAgICAgcmV0
dXJuOwogCiAjaWYgSEFWRShBVkNPTlRFTlRLRVlTRVNTSU9OKSAmJiBFTkFCTEUoTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkKQEAgLTQ5MCw3ICs0OTUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGFG
bwogICAgIG1fcHJvdGVjdGVkVHJhY2tJRCA9IHRyYWNrSUQ7CiAgICAgbV9pbml0RGF0YSA9IFdU
Rk1vdmUoaW5pdERhdGEpOwogICAgIG1fbWVkaWFTb3VyY2UtPnNvdXJjZUJ1ZmZlcktleU5lZWRl
ZCh0aGlzLCBtX2luaXREYXRhLmdldCgpKTsKLSAgICBpZiAoYXV0byBzZXNzaW9uID0gbV9tZWRp
YVNvdXJjZS0+cGxheWVyKCktPmNkbVNlc3Npb24oKSkgeworICAgIGlmIChhdXRvIHNlc3Npb24g
PSBwbGF5ZXItPmNkbVNlc3Npb24oKSkgewogICAgICAgICBpZiAoYXV0byBwYXJzZXIgPSB0aGlz
LT5wYXJzZXIoKSkKICAgICAgICAgICAgIHNlc3Npb24tPmFkZFBhcnNlcihwYXJzZXIpOwogICAg
ICAgICBoYXNTZXNzaW9uU2VtYXBob3JlLT5zaWduYWwoKTsKQEAgLTUyMiwxMCArNTI3LDEwIEBA
IHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRpZFByb3ZpZGVDb250ZW50S2V5UmVx
dWVzdEluaXRpYWxpemF0aW9uRGF0YUZvCiAgICAgfQogCiAgICAgbV9rZXlJRHMgPSBXVEZNb3Zl
KGtleUlEcy52YWx1ZSgpKTsKLSAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+aW5pdGlhbGl6
YXRpb25EYXRhRW5jb3VudGVyZWQoInNpbmYiLCBpbml0RGF0YUJ1ZmZlci0+dHJ5Q3JlYXRlQXJy
YXlCdWZmZXIoKSk7CisgICAgcGxheWVyLT5pbml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZCgi
c2luZiIsIGluaXREYXRhQnVmZmVyLT50cnlDcmVhdGVBcnJheUJ1ZmZlcigpKTsKIAogICAgIG1f
d2FpdGluZ0ZvcktleSA9IHRydWU7Ci0gICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPndhaXRp
bmdGb3JLZXlDaGFuZ2VkKCk7CisgICAgcGxheWVyLT53YWl0aW5nRm9yS2V5Q2hhbmdlZCgpOwog
I2VuZGlmCiAKICAgICBVTlVTRURfUEFSQU0oaW5pdERhdGEpOwpAQCAtNjI3LDggKzYzMiw4IEBA
IHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFwcGVuZENvbXBsZXRlZCgpCiAgICAg
ICAgIG1faGFzU2Vzc2lvblNlbWFwaG9yZSA9IG5pbDsKICAgICB9CiAKLSAgICBpZiAobV9wYXJz
aW5nU3VjY2VlZGVkICYmIG1fbWVkaWFTb3VyY2UpCi0gICAgICAgIG1fbWVkaWFTb3VyY2UtPnBs
YXllcigpLT5zZXRMb2FkaW5nUHJvZ3Jlc3NzZWQodHJ1ZSk7CisgICAgaWYgKGF1dG8gcGxheWVy
ID0gdGhpcy0+cGxheWVyKCk7IHBsYXllciAmJiBtX3BhcnNpbmdTdWNjZWVkZWQpCisgICAgICAg
IHBsYXllci0+c2V0TG9hZGluZ1Byb2dyZXNzc2VkKHRydWUpOwogCiAgICAgU291cmNlQnVmZmVy
UHJpdmF0ZTo6YXBwZW5kQ29tcGxldGVkKG1fcGFyc2luZ1N1Y2NlZWRlZCwgbV9tZWRpYVNvdXJj
ZSA/IG1fbWVkaWFTb3VyY2UtPmlzRW5kZWQoKSA6IHRydWUpOwogfQpAQCAtNjcwLDggKzY3NSw4
IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRlc3Ryb3lQYXJzZXIoKQogICAg
IGlmICghcGFyc2VyKQogICAgICAgICByZXR1cm47CiAjaWYgSEFWRShBVlNUUkVBTVNFU1NJT04p
ICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgIGlmIChtX21lZGlhU291cmNl
ICYmIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpICYmIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5o
YXNTdHJlYW1TZXNzaW9uKCkpCi0gICAgICAgIFttX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c3Ry
ZWFtU2Vzc2lvbigpIHJlbW92ZVN0cmVhbURhdGFQYXJzZXI6cGFyc2VyXTsKKyAgICBpZiAoYXV0
byBwbGF5ZXIgPSB0aGlzLT5wbGF5ZXIoKTsgcGxheWVyICYmIHBsYXllci0+aGFzU3RyZWFtU2Vz
c2lvbigpKQorICAgICAgICBbcGxheWVyLT5zdHJlYW1TZXNzaW9uKCkgcmVtb3ZlU3RyZWFtRGF0
YVBhcnNlcjpwYXJzZXJdOwogI2VuZGlmCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkgJiYg
SEFWRShBVkNPTlRFTlRLRVlTRVNTSU9OKQogICAgIGlmIChtX2NkbUluc3RhbmNlKSB7CkBAIC02
OTAsOCArNjk1LDggQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGVzdHJveVJl
bmRlcmVycygpCiAgICAgICAgIHNldERlY29tcHJlc3Npb25TZXNzaW9uKG51bGxwdHIpOwogCiAg
ICAgZm9yIChhdXRvJiByZW5kZXJlciA6IG1fYXVkaW9SZW5kZXJlcnMudmFsdWVzKCkpIHsKLSAg
ICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCi0gICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5
ZXIoKS0+cmVtb3ZlQXVkaW9SZW5kZXJlcihyZW5kZXJlci5nZXQoKSk7CisgICAgICAgIGlmIChh
dXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpKQorICAgICAgICAgICAgcGxheWVyLT5yZW1vdmVB
dWRpb1JlbmRlcmVyKHJlbmRlcmVyLmdldCgpKTsKICAgICAgICAgW3JlbmRlcmVyIGZsdXNoXTsK
ICAgICAgICAgW3JlbmRlcmVyIHN0b3BSZXF1ZXN0aW5nTWVkaWFEYXRhXTsKICAgICAgICAgW21f
ZXJyb3JMaXN0ZW5lciBzdG9wT2JzZXJ2aW5nUmVuZGVyZXI6cmVuZGVyZXIuZ2V0KCldOwpAQCAt
NzI4LDE1ICs3MzMsMTcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cmVtb3Zl
ZEZyb21NZWRpYVNvdXJjZSgpCiAKIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIFNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDOjpyZWFkeVN0YXRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tZWRp
YVNvdXJjZSA/IG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5yZWFkeVN0YXRlKCkgOiBNZWRpYVBs
YXllcjo6UmVhZHlTdGF0ZTo6SGF2ZU5vdGhpbmc7CisgICAgaWYgKGF1dG8gcGxheWVyID0gdGhp
cy0+cGxheWVyKCkpCisgICAgICAgIHJldHVybiBwbGF5ZXItPnJlYWR5U3RhdGUoKTsKKyAgICBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5nOwogfQogCiB2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFk
eVN0YXRlIHJlYWR5U3RhdGUpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCByZWFk
eVN0YXRlKTsKIAotICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICBtX21lZGlhU291cmNl
LT5wbGF5ZXIoKS0+c2V0UmVhZHlTdGF0ZShyZWFkeVN0YXRlKTsKKyAgICBpZiAoYXV0byBwbGF5
ZXIgPSB0aGlzLT5wbGF5ZXIoKSkKKyAgICAgICAgcGxheWVyLT5zZXRSZWFkeVN0YXRlKHJlYWR5
U3RhdGUpOwogfQogCiBib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpoYXNTZWxlY3Rl
ZFZpZGVvKCkgY29uc3QKQEAgLTc4MSw4ICs3ODgsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVuYWJsZWQoQXVkaW9UcmFja1ByaXZhdGUmIHRyYWNr
LAogICAgICAgICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyPiByZW5kZXJl
ciA9IG1fYXVkaW9SZW5kZXJlcnMuZ2V0KHRyYWNrSUQpOwogICAgICAgICBBTExPV19ORVdfQVBJ
X1dJVEhPVVRfR1VBUkRTX0VORAogICAgICAgICBtX3BhcnNlci0+c2V0U2hvdWxkUHJvdmlkZU1l
ZGlhRGF0YUZvclRyYWNrSUQoZmFsc2UsIHRyYWNrSUQpOwotICAgICAgICBpZiAobV9tZWRpYVNv
dXJjZSkKLSAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5yZW1vdmVBdWRpb1Jl
bmRlcmVyKHJlbmRlcmVyLmdldCgpKTsKKyAgICAgICAgaWYgKGF1dG8gcGxheWVyID0gdGhpcy0+
cGxheWVyKCkpCisgICAgICAgICAgICBwbGF5ZXItPnJlbW92ZUF1ZGlvUmVuZGVyZXIocmVuZGVy
ZXIuZ2V0KCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fcGFyc2VyLT5zZXRTaG91bGRQcm92
aWRlTWVkaWFEYXRhRm9yVHJhY2tJRCh0cnVlLCB0cmFja0lEKTsKICAgICAgICAgQUxMT1dfTkVX
X0FQSV9XSVRIT1VUX0dVQVJEU19CRUdJTgpAQCAtNzk1LDcgKzgwMiw4IEBAIHZvaWQgU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakM6OnRyYWNrRGlkQ2hhbmdlRW5hYmxlZChBdWRpb1RyYWNrUHJp
dmF0ZSYgdHJhY2ssCiAgICAgICAgICAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICIt
W0FWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlciBpbml0XSByZXR1cm5lZCBuaWwhIGJhaWxpbmch
Iik7CiAgICAgICAgICAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCiAgICAgICAgICAgICAgICAg
ICAgIG1fbWVkaWFTb3VyY2UtPmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoTWVkaWFTb3VyY2VQcml2
YXRlQVZGT2JqQzo6UmVuZGVyZXJUeXBlOjpBdWRpbyk7Ci0gICAgICAgICAgICAgICAgbV9tZWRp
YVNvdXJjZS0+cGxheWVyKCktPnNldE5ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0
YXRlOjpEZWNvZGVFcnJvcik7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gcGxheWVyID0gdGhp
cy0+cGxheWVyKCkpCisgICAgICAgICAgICAgICAgICAgIHBsYXllci0+c2V0TmV0d29ya1N0YXRl
KE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkRlY29kZUVycm9yKTsKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICB9CiAKQEAgLTgwOSw4ICs4MTcsOCBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVuYWJsZWQoQXVkaW9UcmFja1By
aXZhdGUmIHRyYWNrLAogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHJlbmRlcmVyID0gbV9h
dWRpb1JlbmRlcmVycy5nZXQodHJhY2tJRCk7CiAKLSAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2Up
Ci0gICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+YWRkQXVkaW9SZW5kZXJlcihy
ZW5kZXJlci5nZXQoKSk7CisgICAgICAgIGlmIChhdXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigp
KQorICAgICAgICAgICAgcGxheWVyLT5hZGRBdWRpb1JlbmRlcmVyKHJlbmRlcmVyLmdldCgpKTsK
ICAgICB9CiB9CiAKQEAgLTk5MiwxNiArMTAwMCwxNiBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjpmbHVzaFZpZGVvKCkKICAgICBpZiAobV9kZWNvbXByZXNzaW9uU2Vzc2lvbikg
ewogICAgICAgICBtX2RlY29tcHJlc3Npb25TZXNzaW9uLT5mbHVzaCgpOwogICAgICAgICBtX2Rl
Y29tcHJlc3Npb25TZXNzaW9uLT5ub3RpZnlXaGVuSGFzQXZhaWxhYmxlVmlkZW9GcmFtZShbd2Vh
a1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIHsKLSAgICAgICAgICAgIGlmICh3ZWFrVGhpcyAm
JiB3ZWFrVGhpcy0+bV9tZWRpYVNvdXJjZSkKLSAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+bV9t
ZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldEhhc0F2YWlsYWJsZVZpZGVvRnJhbWUodHJ1ZSk7Cisg
ICAgICAgICAgICBpZiAod2Vha1RoaXMgJiYgd2Vha1RoaXMtPnBsYXllcigpKQorICAgICAgICAg
ICAgICAgIHdlYWtUaGlzLT5wbGF5ZXIoKS0+c2V0SGFzQXZhaWxhYmxlVmlkZW9GcmFtZSh0cnVl
KTsKICAgICAgICAgfSk7CiAgICAgfQogCiAgICAgbV9jYWNoZWRTaXplID0gV1RGOjpudWxsb3B0
OwogCi0gICAgaWYgKG1fbWVkaWFTb3VyY2UpIHsKLSAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxh
eWVyKCktPnNldEhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoZmFsc2UpOwotICAgICAgICBtX21lZGlh
U291cmNlLT5wbGF5ZXIoKS0+Zmx1c2hQZW5kaW5nU2l6ZUNoYW5nZXMoKTsKKyAgICBpZiAoYXV0
byBwbGF5ZXIgPSB0aGlzLT5wbGF5ZXIoKSkgeworICAgICAgICBwbGF5ZXItPnNldEhhc0F2YWls
YWJsZVZpZGVvRnJhbWUoZmFsc2UpOworICAgICAgICBwbGF5ZXItPmZsdXNoUGVuZGluZ1NpemVD
aGFuZ2VzKCk7CiAgICAgfQogfQogCkBAIC0xMDExLDggKzEwMTksOCBAQCBBTExPV19ORVdfQVBJ
X1dJVEhPVVRfR1VBUkRTX0VORAogewogICAgIFtyZW5kZXJlciBmbHVzaF07CiAKLSAgICBpZiAo
bV9tZWRpYVNvdXJjZSkKLSAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldEhhc0F2
YWlsYWJsZUF1ZGlvU2FtcGxlKHJlbmRlcmVyLCBmYWxzZSk7CisgICAgaWYgKGF1dG8gcGxheWVy
ID0gdGhpcy0+cGxheWVyKCkpCisgICAgICAgIHBsYXllci0+c2V0SGFzQXZhaWxhYmxlQXVkaW9T
YW1wbGUocmVuZGVyZXIsIGZhbHNlKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQzo6ZW5xdWV1ZVNhbXBsZShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCBjb25zdCBBdG9t
U3RyaW5nJiB0cmFja0lEU3RyaW5nKQpAQCAtMTA0NiwxNiArMTA1NCwxNyBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxlKFJlZjxNZWRpYVNhbXBsZT4mJiBz
YW1wbGUsIGNvbnN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICBh
dXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpOwogICAgICAgICBGbG9hdFNpemUgZm9ybWF0U2l6
ZSA9IEZsb2F0U2l6ZShDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25HZXRQcmVzZW50YXRpb25EaW1l
bnNpb25zKGZvcm1hdERlc2NyaXB0aW9uLCB0cnVlLCB0cnVlKSk7CiAgICAgICAgIGlmICghbV9j
YWNoZWRTaXplIHx8IGZvcm1hdFNpemUgIT0gbV9jYWNoZWRTaXplLnZhbHVlKCkpIHsKICAgICAg
ICAgICAgIERFQlVHX0xPRyhsb2dTaXRlSWRlbnRpZmllciwgInNpemUgY2hhbmdlZCB0byAiLCBm
b3JtYXRTaXplKTsKICAgICAgICAgICAgIGJvb2wgc2l6ZVdhc051bGwgPSAhbV9jYWNoZWRTaXpl
OwogICAgICAgICAgICAgbV9jYWNoZWRTaXplID0gZm9ybWF0U2l6ZTsKLSAgICAgICAgICAgIGlm
IChtX21lZGlhU291cmNlKSB7CisgICAgICAgICAgICBpZiAocGxheWVyKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKHNpemVXYXNOdWxsKQotICAgICAgICAgICAgICAgICAgICBtX21lZGlhU291cmNl
LT5wbGF5ZXIoKS0+c2V0TmF0dXJhbFNpemUoZm9ybWF0U2l6ZSk7CisgICAgICAgICAgICAgICAg
ICAgIHBsYXllci0+c2V0TmF0dXJhbFNpemUoZm9ybWF0U2l6ZSk7CiAgICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2l6ZVdp
bGxDaGFuZ2VBdFRpbWUoc2FtcGxlLT5wcmVzZW50YXRpb25UaW1lKCksIGZvcm1hdFNpemUpOwor
ICAgICAgICAgICAgICAgICAgICBwbGF5ZXItPnNpemVXaWxsQ2hhbmdlQXRUaW1lKHNhbXBsZS0+
cHJlc2VudGF0aW9uVGltZSgpLCBmb3JtYXRTaXplKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogCkBAIC0xMDY1LDcgKzEwNzQsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
OjplbnF1ZXVlU2FtcGxlKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIGNvbnN0CiAgICAgICAg
IGlmICghbV9kaXNwbGF5TGF5ZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYg
KG1fbWVkaWFTb3VyY2UgJiYgIW1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5oYXNBdmFpbGFibGVW
aWRlb0ZyYW1lKCkgJiYgIXNhbXBsZS0+aXNOb25EaXNwbGF5aW5nKCkpIHsKKyAgICAgICAgaWYg
KHBsYXllciAmJiAhcGxheWVyLT5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCkgJiYgIXNhbXBsZS0+
aXNOb25EaXNwbGF5aW5nKCkpIHsKICAgICAgICAgICAgIERFQlVHX0xPRyhsb2dTaXRlSWRlbnRp
ZmllciwgImFkZGluZyBidWZmZXIgYXR0YWNobWVudCIpOwogCiAgICAgICAgICAgICBib29sIGhh
dmVQcmVyb2xsRGVjb2RlV2l0aENvbXBsZXRpb25IYW5kbGVyID0gW1BBTDo6Z2V0QVZTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXJDbGFzcygpIGluc3RhbmNlc1Jlc3BvbmRUb1NlbGVjdG9yOkBzZWxl
Y3RvcihwcmVyb2xsRGVjb2RlV2l0aENvbXBsZXRpb25IYW5kbGVyOildOwpAQCAtMTA3Nyw3ICsx
MDg2LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZShS
ZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCBjb25zdAogICAgICAgICAgICAgICAgIENNU2V0QXR0
YWNobWVudChzYW1wbGVDb3B5LmdldCgpLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1Bv
c3ROb3RpZmljYXRpb25XaGVuQ29uc3VtZWQsIChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpQHsg
KF9fYnJpZGdlIE5TU3RyaW5nICopa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9Qb3N0Tm90
aWZpY2F0aW9uV2hlbkNvbnN1bWVkIDogQFlFUyB9LCBrQ01BdHRhY2htZW50TW9kZV9TaG91bGRO
b3RQcm9wYWdhdGUpOwogICAgICAgICAgICAgICAgIFttX2Rpc3BsYXlMYXllciBlbnF1ZXVlU2Ft
cGxlQnVmZmVyOnNhbXBsZUNvcHkuZ2V0KCldOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0g
ICAgICAgICAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldEhhc0F2YWlsYWJsZVZp
ZGVvRnJhbWUodHJ1ZSk7CisgICAgICAgICAgICAgICAgcGxheWVyLT5zZXRIYXNBdmFpbGFibGVW
aWRlb0ZyYW1lKHRydWUpOwogI2VuZGlmCiAgICAgICAgICAgICB9IGVsc2UgewogCkBAIC0xMTE0
LDggKzExMjMsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2Ft
cGxlKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIGNvbnN0CiAKICAgICAgICAgYXV0byByZW5k
ZXJlciA9IG1fYXVkaW9SZW5kZXJlcnMuZ2V0KHRyYWNrSUQpOwogICAgICAgICBbcmVuZGVyZXIg
ZW5xdWV1ZVNhbXBsZUJ1ZmZlcjpwbGF0Zm9ybVNhbXBsZS5zYW1wbGUuY21TYW1wbGVCdWZmZXJd
OwotICAgICAgICBpZiAobV9tZWRpYVNvdXJjZSAmJiAhc2FtcGxlLT5pc05vbkRpc3BsYXlpbmco
KSAmJiBtX21lZGlhU291cmNlLT5wbGF5ZXIoKSkKLSAgICAgICAgICAgIG1fbWVkaWFTb3VyY2Ut
PnBsYXllcigpLT5zZXRIYXNBdmFpbGFibGVBdWRpb1NhbXBsZShyZW5kZXJlci5nZXQoKSwgdHJ1
ZSk7CisgICAgICAgIGlmIChhdXRvIHBsYXllciA9IHRoaXMtPnBsYXllcigpOyBwbGF5ZXIgJiYg
IXNhbXBsZS0+aXNOb25EaXNwbGF5aW5nKCkpCisgICAgICAgICAgICBwbGF5ZXItPnNldEhhc0F2
YWlsYWJsZUF1ZGlvU2FtcGxlKHJlbmRlcmVyLmdldCgpLCB0cnVlKTsKICAgICB9CiB9CiAKQEAg
LTExMjMsOCArMTEzMiw4IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmJ1ZmZl
cldhc0NvbnN1bWVkKCkKIHsKICAgICBERUJVR19MT0coTE9HSURFTlRJRklFUik7CiAKLSAgICBp
ZiAobV9tZWRpYVNvdXJjZSkKLSAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldEhh
c0F2YWlsYWJsZVZpZGVvRnJhbWUodHJ1ZSk7CisgICAgaWYgKGF1dG8gcGxheWVyID0gdGhpcy0+
cGxheWVyKCkpCisgICAgICAgIHBsYXllci0+c2V0SGFzQXZhaWxhYmxlVmlkZW9GcmFtZSh0cnVl
KTsKIH0KIAogYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6aXNSZWFkeUZvck1vcmVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSURTdHJpbmcpCkBAIC0xMzE4LDEyICsxMzI3
LDE4IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnNldERlY29tcHJlc3Npb25T
ZXNzaW9uKFdlYkNvcmVEZWNvbXByZXNzaW9uU2VzCiAgICAgICAgICAgICB3ZWFrVGhpcy0+ZGlk
QmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyh3ZWFrVGhpcy0+bV9lbmFibGVkVmlkZW9UcmFja0lE
KTsKICAgICB9KTsKICAgICBtX2RlY29tcHJlc3Npb25TZXNzaW9uLT5ub3RpZnlXaGVuSGFzQXZh
aWxhYmxlVmlkZW9GcmFtZShbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIHsKLSAgICAg
ICAgaWYgKHdlYWtUaGlzICYmIHdlYWtUaGlzLT5tX21lZGlhU291cmNlKQotICAgICAgICAgICAg
d2Vha1RoaXMtPm1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5zZXRIYXNBdmFpbGFibGVWaWRlb0Zy
YW1lKHRydWUpOworICAgICAgICBpZiAod2Vha1RoaXMgJiYgd2Vha1RoaXMtPnBsYXllcigpKQor
ICAgICAgICAgICAgd2Vha1RoaXMtPnBsYXllcigpLT5zZXRIYXNBdmFpbGFibGVWaWRlb0ZyYW1l
KHRydWUpOwogICAgIH0pOwogICAgIHJlZW5xdWVTYW1wbGVzKEF0b21TdHJpbmc6Om51bWJlciht
X2VuYWJsZWRWaWRlb1RyYWNrSUQpKTsKIH0KIAorTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDKiBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cGxheWVyKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZSA/IG1fbWVkaWFTb3VyY2UtPnBsYXllcigpIDogbnVs
bHB0cjsKK30KKworCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBXVEZMb2dDaGFubmVsJiBT
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bG9nQ2hhbm5lbCgpIGNvbnN0CiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>