<?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>220956</bug_id>
          
          <creation_ts>2021-01-25 15:28:22 -0800</creation_ts>
          <short_desc>Crash when remote inspecting in debug builds</short_desc>
          <delta_ts>2021-05-13 18:05:50 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221107</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=221108</see_also>
          <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>
          
          <blocked>225794</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bburg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1722319</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-01-25 15:28:22 -0800</bug_when>
    <thetext>Crash when remote inspecting in debug builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722322</commentid>
    <comment_count>1</comment_count>
      <attachid>418347</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-01-25 15:30:25 -0800</bug_when>
    <thetext>Created attachment 418347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722336</commentid>
    <comment_count>2</comment_count>
      <attachid>418347</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-25 15:40:08 -0800</bug_when>
    <thetext>Comment on attachment 418347
Patch

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

&gt; Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:215
&gt; +    dispatchAsyncOnTarget([this, message = [[message copy] autorelease], strongThis = makeRef(*this)]() {

I believe that `message` isn&apos;t ever used after calling `sendMessageToTarget`.  Can we avoid creating a copy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722343</commentid>
    <comment_count>3</comment_count>
      <attachid>418355</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-01-25 16:14:15 -0800</bug_when>
    <thetext>Created attachment 418355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722344</commentid>
    <comment_count>4</comment_count>
      <attachid>418355</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-25 16:24:38 -0800</bug_when>
    <thetext>Comment on attachment 418355
Patch

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

r=me, nice fix!

&gt; Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:207
&gt; +            if (targetIdentifier)

Why was this added?  `RemoteInspector::updateTargetListing` should be able to handle `0`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722390</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-25 21:09:22 -0800</bug_when>
    <thetext>Committed r271876: &lt;https://trac.webkit.org/changeset/271876&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418355.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722391</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-25 21:10:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/73602775&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722402</commentid>
    <comment_count>7</comment_count>
      <attachid>418355</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-01-25 22:17:18 -0800</bug_when>
    <thetext>Comment on attachment 418355
Patch

Thanks for digging on this, Simon!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723763</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2021-01-29 10:03:36 -0800</bug_when>
    <thetext>Do we actually know why BlockPtr doesn&apos;t work well with ARC?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723817</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-01-29 11:50:57 -0800</bug_when>
    <thetext>It works fine with ARC, but not when the linker links an ARC-compiled function into a caller that is not complied with ARC.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418347</attachid>
            <date>2021-01-25 15:30:25 -0800</date>
            <delta_ts>2021-01-25 16:14:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220956-20210125153024.patch</filename>
            <type>text/plain</type>
            <size>9902</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YTExZGJlZmFjOTQ0MDY1MzhjMzdlNTU5ZGZhNmEyYjI4YWM2ZjE2Li5kOTY4ODUxZjNlMTU2ZDJh
MGVhMTZlNTc4NmQ1MzMwNzdlYjM2Yzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wMS0yNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDcmFzaCB3aGVuIHJlbW90ZSBpbnNwZWN0aW5nIGluIGRlYnVnIGJ1
aWxkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIw
OTU2CisgICAgICAgIDxyZGFyOi8vNzMzNzk2Mzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udmVydCBSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQg
ZnJvbSB1c2luZyBCbG9ja1B0cjw+IHRvIEZ1bmN0aW9uPD4gYmVjYXVzZSBCbG9ja1B0cjw+IAor
ICAgICAgICB3YXMgdHJpZ2dlcmluZyBjcmFzaGVzIHdoaWNoIHNlZW0gdG8gYmUgcmVsYXRlZCB0
byBtaXhpbmcgQVJDIGFuZCBub24tQVJDIGNvZGUuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVt
b3RlL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldC5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1v
dGUvY29jb2EvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0Q29jb2EubW06CisgICAgICAgIChJbnNw
ZWN0b3I6OlJlbW90ZVRhcmdldEhhbmRsZVJ1blNvdXJjZUdsb2JhbCk6CisgICAgICAgIChJbnNw
ZWN0b3I6OlJlbW90ZVRhcmdldFF1ZXVlVGFza09uR2xvYmFsUXVldWUpOgorICAgICAgICAoSW5z
cGVjdG9yOjpSZW1vdGVUYXJnZXRIYW5kbGVSdW5Tb3VyY2VXaXRoSW5mbyk6CisgICAgICAgIChJ
bnNwZWN0b3I6OlJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6ZGlzcGF0Y2hBc3luY09uVGFyZ2V0
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpzZXR1cCk6
CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6Y2xvc2UpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6OnNlbmRNZXNzYWdl
VG9UYXJnZXQpOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6
OnF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3ApOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVD
b25uZWN0aW9uVG9UYXJnZXQ6OnRha2VRdWV1ZSk6CisKIDIwMjEtMDEtMjMgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBEZWZlcnJlZFdvcmtUaW1l
ciBzaG91bGQgY2xlYXIgcGVuZGluZyB0YXNrIGFmdGVyIHJ1bm5pbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUNvbm5lY3Rpb25Ub1Rh
cmdldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29u
bmVjdGlvblRvVGFyZ2V0LmgKaW5kZXggNjczMzdkNzMwNGY0MmQ2ZDE3NjFhMDliMTQwNDA2YmEy
NzJhY2JiMC4uOWQ4YzZkODhkYWRlMDA1MDg3YjE2ZmUyMjBlM2M4ZGI1ZjkzMzI0MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29ubmVj
dGlvblRvVGFyZ2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNl
IEluc3BlY3RvciB7CiBjbGFzcyBSZW1vdGVDb250cm9sbGFibGVUYXJnZXQ7CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKLXR5cGVkZWYgVmVjdG9yPEJsb2NrUHRyPHZvaWQgKCk+PiBSZW1vdGVUYXJn
ZXRRdWV1ZTsKK3R5cGVkZWYgVmVjdG9yPEZ1bmN0aW9uPHZvaWQgKCk+PiBSZW1vdGVUYXJnZXRR
dWV1ZTsKICNlbmRpZgogCiBjbGFzcyBSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQgZmluYWwgOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0PiwgcHVi
bGljIEZyb250ZW5kQ2hhbm5lbCB7CkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKIAogICAgIExv
Y2smIHF1ZXVlTXV0ZXgoKSB7IHJldHVybiBtX3F1ZXVlTXV0ZXg7IH0KICAgICBjb25zdCBSZW1v
dGVUYXJnZXRRdWV1ZSYgcXVldWUoKSBjb25zdCB7IHJldHVybiBtX3F1ZXVlOyB9Ci0gICAgdm9p
ZCBjbGVhclF1ZXVlKCkgeyBtX3F1ZXVlLmNsZWFyKCk7IH0KKyAgICBSZW1vdGVUYXJnZXRRdWV1
ZSB0YWtlUXVldWUoKTsKICNlbmRpZgogCiAgICAgLy8gRnJvbnRlbmRDaGFubmVsIG92ZXJyaWRl
cy4KQEAgLTgyLDExICs4MiwxMSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAjaWYgUExBVEZPUk0o
Q09DT0EpCi0gICAgdm9pZCBkaXNwYXRjaEFzeW5jT25UYXJnZXQodm9pZCAoXmJsb2NrKSgpKTsK
KyAgICB2b2lkIGRpc3BhdGNoQXN5bmNPblRhcmdldChGdW5jdGlvbjx2b2lkICgpPiYmKTsKIAog
ICAgIHZvaWQgc2V0dXBSdW5Mb29wKCk7CiAgICAgdm9pZCB0ZWFyZG93blJ1bkxvb3AoKTsKLSAg
ICB2b2lkIHF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3Aodm9pZCAoXmJsb2NrKSgpKTsKKyAgICB2
b2lkIHF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3AoRnVuY3Rpb248dm9pZCAoKT4mJik7CiAjZW5k
aWYKIAogICAgIC8vIFRoaXMgY29ubmVjdGlvbiBmcm9tIHRoZSBSZW1vdGVJbnNwZWN0b3Igc2lu
Z2xldG9uIHRvIHRoZSBJbnNwZWN0aW9uVGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXRD
b2NvYS5tbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1Jl
bW90ZUNvbm5lY3Rpb25Ub1RhcmdldENvY29hLm1tCmluZGV4IDM0YTVmNGM1ZDRmNTZkNzgwZmEz
MDMxODI1MDlhOWQzNGIyMjBiMTIuLmE3ZjAwMDk2NzExODQwYTAzY2Q0Nzc2YjFiMGUxMzQ0NzMx
YTQ3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L2NvY29hL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldENvY29hLm1tCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUNvbm5lY3Rpb25Ub1Rhcmdl
dENvY29hLm1tCkBAIC01NSwyMiArNTUsMjEgQEAgc3RhdGljIHZvaWQgUmVtb3RlVGFyZ2V0SGFu
ZGxlUnVuU291cmNlR2xvYmFsKHZvaWQqKQogICAgIFJlbW90ZVRhcmdldFF1ZXVlIHF1ZXVlQ29w
eTsKICAgICB7CiAgICAgICAgIExvY2tIb2xkZXIgbG9jayhyd2lRdWV1ZU11dGV4KTsKLSAgICAg
ICAgcXVldWVDb3B5ID0gKnJ3aVF1ZXVlOwotICAgICAgICByd2lRdWV1ZS0+Y2xlYXIoKTsKKyAg
ICAgICAgc3RkOjpzd2FwKHF1ZXVlQ29weSwgKnJ3aVF1ZXVlKTsKICAgICB9CiAKLSAgICBmb3Ig
KGNvbnN0IGF1dG8mIGJsb2NrIDogcXVldWVDb3B5KQotICAgICAgICBibG9jaygpOworICAgIGZv
ciAoY29uc3QgYXV0byYgZnVuY3Rpb24gOiBxdWV1ZUNvcHkpCisgICAgICAgIGZ1bmN0aW9uKCk7
CiB9CiAKLXN0YXRpYyB2b2lkIFJlbW90ZVRhcmdldFF1ZXVlVGFza09uR2xvYmFsUXVldWUodm9p
ZCAoXnRhc2spKCkpCitzdGF0aWMgdm9pZCBSZW1vdGVUYXJnZXRRdWV1ZVRhc2tPbkdsb2JhbFF1
ZXVlKEZ1bmN0aW9uPHZvaWQgKCk+JiYgZnVuY3Rpb24pCiB7CiAgICAgQVNTRVJUKHJ3aVJ1bkxv
b3BTb3VyY2UpOwogICAgIEFTU0VSVChyd2lRdWV1ZSk7CiAKICAgICB7CiAgICAgICAgIExvY2tI
b2xkZXIgbG9jayhyd2lRdWV1ZU11dGV4KTsKLSAgICAgICAgcndpUXVldWUtPmFwcGVuZCh0YXNr
KTsKKyAgICAgICAgcndpUXVldWUtPmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiAgICAgfQog
CiAgICAgQ0ZSdW5Mb29wU291cmNlU2lnbmFsKHJ3aVJ1bkxvb3BTb3VyY2UpOwpAQCAtMTAxLDEy
ICsxMDAsMTEgQEAgc3RhdGljIHZvaWQgUmVtb3RlVGFyZ2V0SGFuZGxlUnVuU291cmNlV2l0aElu
Zm8odm9pZCogaW5mbykKICAgICBSZW1vdGVUYXJnZXRRdWV1ZSBxdWV1ZUNvcHk7CiAgICAgewog
ICAgICAgICBMb2NrSG9sZGVyIGxvY2soY29ubmVjdGlvblRvVGFyZ2V0LT5xdWV1ZU11dGV4KCkp
OwotICAgICAgICBxdWV1ZUNvcHkgPSBjb25uZWN0aW9uVG9UYXJnZXQtPnF1ZXVlKCk7Ci0gICAg
ICAgIGNvbm5lY3Rpb25Ub1RhcmdldC0+Y2xlYXJRdWV1ZSgpOworICAgICAgICBxdWV1ZUNvcHkg
PSBjb25uZWN0aW9uVG9UYXJnZXQtPnRha2VRdWV1ZSgpOwogICAgIH0KIAotICAgIGZvciAoY29u
c3QgYXV0byYgYmxvY2sgOiBxdWV1ZUNvcHkpCi0gICAgICAgIGJsb2NrKCk7CisgICAgZm9yIChj
b25zdCBhdXRvJiBmdW5jdGlvbiA6IHF1ZXVlQ29weSkKKyAgICAgICAgZnVuY3Rpb24oKTsKIH0K
IAogCkBAIC0xMzgsMTAgKzEzNiwxMCBAQCBOU1N0cmluZyAqUmVtb3RlQ29ubmVjdGlvblRvVGFy
Z2V0OjpkZXN0aW5hdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIFtbbV9kZXN0aW5hdGlvbiBjb3B5
XSBhdXRvcmVsZWFzZV07CiB9CiAKLXZvaWQgUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpkaXNw
YXRjaEFzeW5jT25UYXJnZXQodm9pZCAoXmJsb2NrKSgpKQordm9pZCBSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ6OmRpc3BhdGNoQXN5bmNPblRhcmdldChGdW5jdGlvbjx2b2lkICgpPiYmIGNhbGxi
YWNrKQogewogICAgIGlmIChtX3J1bkxvb3ApIHsKLSAgICAgICAgcXVldWVUYXNrT25Qcml2YXRl
UnVuTG9vcChibG9jayk7CisgICAgICAgIHF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3AoV1RGTW92
ZShjYWxsYmFjaykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNTIsNyArMTUwLDcg
QEAgdm9pZCBSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6OmRpc3BhdGNoQXN5bmNPblRhcmdldCh2
b2lkICheYmxvY2spKCkpCiAgICAgfQogI2VuZGlmCiAKLSAgICBSZW1vdGVUYXJnZXRRdWV1ZVRh
c2tPbkdsb2JhbFF1ZXVlKGJsb2NrKTsKKyAgICBSZW1vdGVUYXJnZXRRdWV1ZVRhc2tPbkdsb2Jh
bFF1ZXVlKFdURk1vdmUoY2FsbGJhY2spKTsKIH0KIAogYm9vbCBSZW1vdGVDb25uZWN0aW9uVG9U
YXJnZXQ6OnNldHVwKGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9uLCBib29sIGF1dG9tYXRpY2Fs
bHlQYXVzZSkKQEAgLTE2MywzMCArMTYxLDI2IEBAIGJvb2wgUmVtb3RlQ29ubmVjdGlvblRvVGFy
Z2V0OjpzZXR1cChib29sIGlzQXV0b21hdGljSW5zcGVjdGlvbiwgYm9vbCBhdXRvbWF0aWNhCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8gdGFyZ2V0SWRlbnRpZmllciA9IHRoaXMt
PnRhcmdldElkZW50aWZpZXIoKS52YWx1ZU9yKDApOwotICAgIAotICAgIHJlZigpOwotICAgIGRp
c3BhdGNoQXN5bmNPblRhcmdldCheewotICAgICAgICB7Ci0gICAgICAgICAgICBMb2NrSG9sZGVy
IGxvY2sobV90YXJnZXRNdXRleCk7CiAKLSAgICAgICAgICAgIGlmICghbV90YXJnZXQgfHwgIW1f
dGFyZ2V0LT5yZW1vdGVDb250cm9sQWxsb3dlZCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVtb3Rl
SW5zcGVjdG9yOjpzaW5nbGV0b24oKS5zZXR1cEZhaWxlZCh0YXJnZXRJZGVudGlmaWVyKTsKLSAg
ICAgICAgICAgICAgICBtX3RhcmdldCA9IG51bGxwdHI7Ci0gICAgICAgICAgICB9IGVsc2UgaWYg
KGlzPFJlbW90ZUluc3BlY3Rpb25UYXJnZXQ+KG1fdGFyZ2V0KSkgewotICAgICAgICAgICAgICAg
IGF1dG8gY2FzdGVkVGFyZ2V0ID0gZG93bmNhc3Q8UmVtb3RlSW5zcGVjdGlvblRhcmdldD4obV90
YXJnZXQpOwotICAgICAgICAgICAgICAgIGNhc3RlZFRhcmdldC0+Y29ubmVjdCgqdGhpcywgaXNB
dXRvbWF0aWNJbnNwZWN0aW9uLCBhdXRvbWF0aWNhbGx5UGF1c2UpOwotICAgICAgICAgICAgICAg
IG1fY29ubmVjdGVkID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6
c2luZ2xldG9uKCkudXBkYXRlVGFyZ2V0TGlzdGluZyh0YXJnZXRJZGVudGlmaWVyKTsKLSAgICAg
ICAgICAgIH0gZWxzZSBpZiAoaXM8UmVtb3RlQXV0b21hdGlvblRhcmdldD4obV90YXJnZXQpKSB7
Ci0gICAgICAgICAgICAgICAgYXV0byBjYXN0ZWRUYXJnZXQgPSBkb3duY2FzdDxSZW1vdGVBdXRv
bWF0aW9uVGFyZ2V0PihtX3RhcmdldCk7Ci0gICAgICAgICAgICAgICAgY2FzdGVkVGFyZ2V0LT5j
b25uZWN0KCp0aGlzKTsKLSAgICAgICAgICAgICAgICBtX2Nvbm5lY3RlZCA9IHRydWU7Ci0KLSAg
ICAgICAgICAgICAgICBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRhcmdldExp
c3RpbmcodGFyZ2V0SWRlbnRpZmllcik7Ci0gICAgICAgICAgICB9CisgICAgZGlzcGF0Y2hBc3lu
Y09uVGFyZ2V0KFsmLCBzdHJvbmdUaGlzID0gbWFrZVJlZigqdGhpcyldKCkgeworICAgICAgICBM
b2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7CisKKyAgICAgICAgaWYgKCFtX3RhcmdldCB8
fCAhbV90YXJnZXQtPnJlbW90ZUNvbnRyb2xBbGxvd2VkKCkpIHsKKyAgICAgICAgICAgIFJlbW90
ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkuc2V0dXBGYWlsZWQodGFyZ2V0SWRlbnRpZmllcik7Cisg
ICAgICAgICAgICBtX3RhcmdldCA9IG51bGxwdHI7CisgICAgICAgIH0gZWxzZSBpZiAoaXM8UmVt
b3RlSW5zcGVjdGlvblRhcmdldD4obV90YXJnZXQpKSB7CisgICAgICAgICAgICBhdXRvIGNhc3Rl
ZFRhcmdldCA9IGRvd25jYXN0PFJlbW90ZUluc3BlY3Rpb25UYXJnZXQ+KG1fdGFyZ2V0KTsKKyAg
ICAgICAgICAgIGNhc3RlZFRhcmdldC0+Y29ubmVjdCgqdGhpcywgaXNBdXRvbWF0aWNJbnNwZWN0
aW9uLCBhdXRvbWF0aWNhbGx5UGF1c2UpOworICAgICAgICAgICAgbV9jb25uZWN0ZWQgPSB0cnVl
OworCisgICAgICAgICAgICBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRhcmdl
dExpc3RpbmcodGFyZ2V0SWRlbnRpZmllcik7CisgICAgICAgIH0gZWxzZSBpZiAoaXM8UmVtb3Rl
QXV0b21hdGlvblRhcmdldD4obV90YXJnZXQpKSB7CisgICAgICAgICAgICBhdXRvIGNhc3RlZFRh
cmdldCA9IGRvd25jYXN0PFJlbW90ZUF1dG9tYXRpb25UYXJnZXQ+KG1fdGFyZ2V0KTsKKyAgICAg
ICAgICAgIGNhc3RlZFRhcmdldC0+Y29ubmVjdCgqdGhpcyk7CisgICAgICAgICAgICBtX2Nvbm5l
Y3RlZCA9IHRydWU7CisKKyAgICAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCku
dXBkYXRlVGFyZ2V0TGlzdGluZyh0YXJnZXRJZGVudGlmaWVyKTsKICAgICAgICAgfQotICAgICAg
ICBkZXJlZigpOwogICAgIH0pOwogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0yMDMsMzkgKzE5Nywz
MSBAQCB2b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6Y2xvc2UoKQogewogICAgIGF1dG8g
dGFyZ2V0SWRlbnRpZmllciA9IG1fdGFyZ2V0ID8gbV90YXJnZXQtPnRhcmdldElkZW50aWZpZXIo
KSA6IDA7CiAgICAgCi0gICAgcmVmKCk7Ci0gICAgZGlzcGF0Y2hBc3luY09uVGFyZ2V0KF57Ci0g
ICAgICAgIHsKLSAgICAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3RhcmdldE11dGV4KTsKLSAg
ICAgICAgICAgIGlmIChtX3RhcmdldCkgewotICAgICAgICAgICAgICAgIGlmIChtX2Nvbm5lY3Rl
ZCkKLSAgICAgICAgICAgICAgICAgICAgbV90YXJnZXQtPmRpc2Nvbm5lY3QoKnRoaXMpOwotCi0g
ICAgICAgICAgICAgICAgbV90YXJnZXQgPSBudWxscHRyOwotICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkudXBkYXRlVGFyZ2V0TGlz
dGluZyh0YXJnZXRJZGVudGlmaWVyKTsKLSAgICAgICAgICAgIH0KKyAgICBkaXNwYXRjaEFzeW5j
T25UYXJnZXQoWyYsIHN0cm9uZ1RoaXMgPSBtYWtlUmVmKCp0aGlzKV0oKSB7CisgICAgICAgIExv
Y2tIb2xkZXIgbG9jayhtX3RhcmdldE11dGV4KTsKKyAgICAgICAgaWYgKG1fdGFyZ2V0KSB7Cisg
ICAgICAgICAgICBpZiAobV9jb25uZWN0ZWQpCisgICAgICAgICAgICAgICAgbV90YXJnZXQtPmRp
c2Nvbm5lY3QoKnRoaXMpOworCisgICAgICAgICAgICBtX3RhcmdldCA9IG51bGxwdHI7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkudXBkYXRl
VGFyZ2V0TGlzdGluZyh0YXJnZXRJZGVudGlmaWVyKTsKICAgICAgICAgfQotICAgICAgICBkZXJl
ZigpOwogICAgIH0pOwogfQogCiB2b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6c2VuZE1l
c3NhZ2VUb1RhcmdldChOU1N0cmluZyAqbWVzc2FnZSkKIHsKLSAgICByZWYoKTsKLSAgICBkaXNw
YXRjaEFzeW5jT25UYXJnZXQoXnsKKyAgICBkaXNwYXRjaEFzeW5jT25UYXJnZXQoW3RoaXMsIG1l
c3NhZ2UgPSBbW21lc3NhZ2UgY29weV0gYXV0b3JlbGVhc2VdLCBzdHJvbmdUaGlzID0gbWFrZVJl
ZigqdGhpcyldKCkgeworICAgICAgICBSZW1vdGVDb250cm9sbGFibGVUYXJnZXQqIHRhcmdldCA9
IG51bGxwdHI7CiAgICAgICAgIHsKLSAgICAgICAgICAgIFJlbW90ZUNvbnRyb2xsYWJsZVRhcmdl
dCogdGFyZ2V0ID0gbnVsbHB0cjsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBMb2Nr
SG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFtX3Rhcmdl
dCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIHRhcmdldCA9
IG1fdGFyZ2V0OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB0YXJnZXQtPmRpc3BhdGNo
TWVzc2FnZUZyb21SZW1vdGUobWVzc2FnZSk7CisgICAgICAgICAgICBMb2NrSG9sZGVyIGxvY2so
bV90YXJnZXRNdXRleCk7CisgICAgICAgICAgICBpZiAoIW1fdGFyZ2V0KQorICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIHRhcmdldCA9IG1fdGFyZ2V0OwogICAgICAgICB9Ci0g
ICAgICAgIGRlcmVmKCk7CisKKyAgICAgICAgdGFyZ2V0LT5kaXNwYXRjaE1lc3NhZ2VGcm9tUmVt
b3RlKG1lc3NhZ2UpOwogICAgIH0pOwogfQogCkBAIC0yODAsMTkgKzI2NiwyNCBAQCB2b2lkIFJl
bW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6dGVhcmRvd25SdW5Mb29wKCkKICAgICBtX3J1bkxvb3BT
b3VyY2UgPSBudWxscHRyOwogfQogCi12b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6cXVl
dWVUYXNrT25Qcml2YXRlUnVuTG9vcCh2b2lkICheYmxvY2spKCkpCit2b2lkIFJlbW90ZUNvbm5l
Y3Rpb25Ub1RhcmdldDo6cXVldWVUYXNrT25Qcml2YXRlUnVuTG9vcChGdW5jdGlvbjx2b2lkICgp
PiYmIGZ1bmN0aW9uKQogewogICAgIEFTU0VSVChtX3J1bkxvb3ApOwogCiAgICAgewogICAgICAg
ICBMb2NrSG9sZGVyIGxvY2sobV9xdWV1ZU11dGV4KTsKLSAgICAgICAgbV9xdWV1ZS5hcHBlbmQo
YmxvY2spOworICAgICAgICBtX3F1ZXVlLmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiAgICAg
fQogCiAgICAgQ0ZSdW5Mb29wU291cmNlU2lnbmFsKG1fcnVuTG9vcFNvdXJjZS5nZXQoKSk7CiAg
ICAgQ0ZSdW5Mb29wV2FrZVVwKG1fcnVuTG9vcC5nZXQoKSk7CiB9CiAKK1JlbW90ZVRhcmdldFF1
ZXVlIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6dGFrZVF1ZXVlKCkKK3sKKyAgICByZXR1cm4g
c3RkOjpleGNoYW5nZShtX3F1ZXVlLCB7IH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKIAogI2VuZGlmIC8vIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418355</attachid>
            <date>2021-01-25 16:14:15 -0800</date>
            <delta_ts>2021-01-25 21:09:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220956-20210125161414.patch</filename>
            <type>text/plain</type>
            <size>9949</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YTExZGJlZmFjOTQ0MDY1MzhjMzdlNTU5ZGZhNmEyYjI4YWM2ZjE2Li5kOTY4ODUxZjNlMTU2ZDJh
MGVhMTZlNTc4NmQ1MzMwNzdlYjM2Yzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wMS0yNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDcmFzaCB3aGVuIHJlbW90ZSBpbnNwZWN0aW5nIGluIGRlYnVnIGJ1
aWxkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIw
OTU2CisgICAgICAgIDxyZGFyOi8vNzMzNzk2Mzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udmVydCBSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQg
ZnJvbSB1c2luZyBCbG9ja1B0cjw+IHRvIEZ1bmN0aW9uPD4gYmVjYXVzZSBCbG9ja1B0cjw+IAor
ICAgICAgICB3YXMgdHJpZ2dlcmluZyBjcmFzaGVzIHdoaWNoIHNlZW0gdG8gYmUgcmVsYXRlZCB0
byBtaXhpbmcgQVJDIGFuZCBub24tQVJDIGNvZGUuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVt
b3RlL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldC5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1v
dGUvY29jb2EvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0Q29jb2EubW06CisgICAgICAgIChJbnNw
ZWN0b3I6OlJlbW90ZVRhcmdldEhhbmRsZVJ1blNvdXJjZUdsb2JhbCk6CisgICAgICAgIChJbnNw
ZWN0b3I6OlJlbW90ZVRhcmdldFF1ZXVlVGFza09uR2xvYmFsUXVldWUpOgorICAgICAgICAoSW5z
cGVjdG9yOjpSZW1vdGVUYXJnZXRIYW5kbGVSdW5Tb3VyY2VXaXRoSW5mbyk6CisgICAgICAgIChJ
bnNwZWN0b3I6OlJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6ZGlzcGF0Y2hBc3luY09uVGFyZ2V0
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpzZXR1cCk6
CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6Y2xvc2UpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6OnNlbmRNZXNzYWdl
VG9UYXJnZXQpOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6
OnF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3ApOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVD
b25uZWN0aW9uVG9UYXJnZXQ6OnRha2VRdWV1ZSk6CisKIDIwMjEtMDEtMjMgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBEZWZlcnJlZFdvcmtUaW1l
ciBzaG91bGQgY2xlYXIgcGVuZGluZyB0YXNrIGFmdGVyIHJ1bm5pbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUNvbm5lY3Rpb25Ub1Rh
cmdldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29u
bmVjdGlvblRvVGFyZ2V0LmgKaW5kZXggNjczMzdkNzMwNGY0MmQ2ZDE3NjFhMDliMTQwNDA2YmEy
NzJhY2JiMC4uOWQ4YzZkODhkYWRlMDA1MDg3YjE2ZmUyMjBlM2M4ZGI1ZjkzMzI0MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29ubmVj
dGlvblRvVGFyZ2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNl
IEluc3BlY3RvciB7CiBjbGFzcyBSZW1vdGVDb250cm9sbGFibGVUYXJnZXQ7CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKLXR5cGVkZWYgVmVjdG9yPEJsb2NrUHRyPHZvaWQgKCk+PiBSZW1vdGVUYXJn
ZXRRdWV1ZTsKK3R5cGVkZWYgVmVjdG9yPEZ1bmN0aW9uPHZvaWQgKCk+PiBSZW1vdGVUYXJnZXRR
dWV1ZTsKICNlbmRpZgogCiBjbGFzcyBSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQgZmluYWwgOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0PiwgcHVi
bGljIEZyb250ZW5kQ2hhbm5lbCB7CkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKIAogICAgIExv
Y2smIHF1ZXVlTXV0ZXgoKSB7IHJldHVybiBtX3F1ZXVlTXV0ZXg7IH0KICAgICBjb25zdCBSZW1v
dGVUYXJnZXRRdWV1ZSYgcXVldWUoKSBjb25zdCB7IHJldHVybiBtX3F1ZXVlOyB9Ci0gICAgdm9p
ZCBjbGVhclF1ZXVlKCkgeyBtX3F1ZXVlLmNsZWFyKCk7IH0KKyAgICBSZW1vdGVUYXJnZXRRdWV1
ZSB0YWtlUXVldWUoKTsKICNlbmRpZgogCiAgICAgLy8gRnJvbnRlbmRDaGFubmVsIG92ZXJyaWRl
cy4KQEAgLTgyLDExICs4MiwxMSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAjaWYgUExBVEZPUk0o
Q09DT0EpCi0gICAgdm9pZCBkaXNwYXRjaEFzeW5jT25UYXJnZXQodm9pZCAoXmJsb2NrKSgpKTsK
KyAgICB2b2lkIGRpc3BhdGNoQXN5bmNPblRhcmdldChGdW5jdGlvbjx2b2lkICgpPiYmKTsKIAog
ICAgIHZvaWQgc2V0dXBSdW5Mb29wKCk7CiAgICAgdm9pZCB0ZWFyZG93blJ1bkxvb3AoKTsKLSAg
ICB2b2lkIHF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3Aodm9pZCAoXmJsb2NrKSgpKTsKKyAgICB2
b2lkIHF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3AoRnVuY3Rpb248dm9pZCAoKT4mJik7CiAjZW5k
aWYKIAogICAgIC8vIFRoaXMgY29ubmVjdGlvbiBmcm9tIHRoZSBSZW1vdGVJbnNwZWN0b3Igc2lu
Z2xldG9uIHRvIHRoZSBJbnNwZWN0aW9uVGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXRD
b2NvYS5tbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1Jl
bW90ZUNvbm5lY3Rpb25Ub1RhcmdldENvY29hLm1tCmluZGV4IDM0YTVmNGM1ZDRmNTZkNzgwZmEz
MDMxODI1MDlhOWQzNGIyMjBiMTIuLjEyMjExOTAzMTg5ODE3OTNkODExMDBjMGRhNmFkOGI5MmI0
ZDMwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L2NvY29hL1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldENvY29hLm1tCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUNvbm5lY3Rpb25Ub1Rhcmdl
dENvY29hLm1tCkBAIC01NSwyMiArNTUsMjEgQEAgc3RhdGljIHZvaWQgUmVtb3RlVGFyZ2V0SGFu
ZGxlUnVuU291cmNlR2xvYmFsKHZvaWQqKQogICAgIFJlbW90ZVRhcmdldFF1ZXVlIHF1ZXVlQ29w
eTsKICAgICB7CiAgICAgICAgIExvY2tIb2xkZXIgbG9jayhyd2lRdWV1ZU11dGV4KTsKLSAgICAg
ICAgcXVldWVDb3B5ID0gKnJ3aVF1ZXVlOwotICAgICAgICByd2lRdWV1ZS0+Y2xlYXIoKTsKKyAg
ICAgICAgc3RkOjpzd2FwKHF1ZXVlQ29weSwgKnJ3aVF1ZXVlKTsKICAgICB9CiAKLSAgICBmb3Ig
KGNvbnN0IGF1dG8mIGJsb2NrIDogcXVldWVDb3B5KQotICAgICAgICBibG9jaygpOworICAgIGZv
ciAoY29uc3QgYXV0byYgZnVuY3Rpb24gOiBxdWV1ZUNvcHkpCisgICAgICAgIGZ1bmN0aW9uKCk7
CiB9CiAKLXN0YXRpYyB2b2lkIFJlbW90ZVRhcmdldFF1ZXVlVGFza09uR2xvYmFsUXVldWUodm9p
ZCAoXnRhc2spKCkpCitzdGF0aWMgdm9pZCBSZW1vdGVUYXJnZXRRdWV1ZVRhc2tPbkdsb2JhbFF1
ZXVlKEZ1bmN0aW9uPHZvaWQgKCk+JiYgZnVuY3Rpb24pCiB7CiAgICAgQVNTRVJUKHJ3aVJ1bkxv
b3BTb3VyY2UpOwogICAgIEFTU0VSVChyd2lRdWV1ZSk7CiAKICAgICB7CiAgICAgICAgIExvY2tI
b2xkZXIgbG9jayhyd2lRdWV1ZU11dGV4KTsKLSAgICAgICAgcndpUXVldWUtPmFwcGVuZCh0YXNr
KTsKKyAgICAgICAgcndpUXVldWUtPmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiAgICAgfQog
CiAgICAgQ0ZSdW5Mb29wU291cmNlU2lnbmFsKHJ3aVJ1bkxvb3BTb3VyY2UpOwpAQCAtMTAxLDEy
ICsxMDAsMTEgQEAgc3RhdGljIHZvaWQgUmVtb3RlVGFyZ2V0SGFuZGxlUnVuU291cmNlV2l0aElu
Zm8odm9pZCogaW5mbykKICAgICBSZW1vdGVUYXJnZXRRdWV1ZSBxdWV1ZUNvcHk7CiAgICAgewog
ICAgICAgICBMb2NrSG9sZGVyIGxvY2soY29ubmVjdGlvblRvVGFyZ2V0LT5xdWV1ZU11dGV4KCkp
OwotICAgICAgICBxdWV1ZUNvcHkgPSBjb25uZWN0aW9uVG9UYXJnZXQtPnF1ZXVlKCk7Ci0gICAg
ICAgIGNvbm5lY3Rpb25Ub1RhcmdldC0+Y2xlYXJRdWV1ZSgpOworICAgICAgICBxdWV1ZUNvcHkg
PSBjb25uZWN0aW9uVG9UYXJnZXQtPnRha2VRdWV1ZSgpOwogICAgIH0KIAotICAgIGZvciAoY29u
c3QgYXV0byYgYmxvY2sgOiBxdWV1ZUNvcHkpCi0gICAgICAgIGJsb2NrKCk7CisgICAgZm9yIChj
b25zdCBhdXRvJiBmdW5jdGlvbiA6IHF1ZXVlQ29weSkKKyAgICAgICAgZnVuY3Rpb24oKTsKIH0K
IAogCkBAIC0xMzgsMjEgKzEzNiwyMSBAQCBOU1N0cmluZyAqUmVtb3RlQ29ubmVjdGlvblRvVGFy
Z2V0OjpkZXN0aW5hdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIFtbbV9kZXN0aW5hdGlvbiBjb3B5
XSBhdXRvcmVsZWFzZV07CiB9CiAKLXZvaWQgUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpkaXNw
YXRjaEFzeW5jT25UYXJnZXQodm9pZCAoXmJsb2NrKSgpKQordm9pZCBSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ6OmRpc3BhdGNoQXN5bmNPblRhcmdldChGdW5jdGlvbjx2b2lkICgpPiYmIGNhbGxi
YWNrKQogewogICAgIGlmIChtX3J1bkxvb3ApIHsKLSAgICAgICAgcXVldWVUYXNrT25Qcml2YXRl
UnVuTG9vcChibG9jayk7CisgICAgICAgIHF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3AoV1RGTW92
ZShjYWxsYmFjaykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAjaWYgVVNFKFdFQl9USFJF
QUQpCiAgICAgaWYgKFdlYkNvcmVXZWJUaHJlYWRJc0VuYWJsZWQgJiYgV2ViQ29yZVdlYlRocmVh
ZElzRW5hYmxlZCgpKSB7Ci0gICAgICAgIFdlYkNvcmVXZWJUaHJlYWRSdW4oYmxvY2spOworICAg
ICAgICBXZWJDb3JlV2ViVGhyZWFkUnVuKF4geyBjYWxsYmFjaygpOyB9KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICNlbmRpZgogCi0gICAgUmVtb3RlVGFyZ2V0UXVldWVUYXNrT25HbG9iYWxR
dWV1ZShibG9jayk7CisgICAgUmVtb3RlVGFyZ2V0UXVldWVUYXNrT25HbG9iYWxRdWV1ZShXVEZN
b3ZlKGNhbGxiYWNrKSk7CiB9CiAKIGJvb2wgUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpzZXR1
cChib29sIGlzQXV0b21hdGljSW5zcGVjdGlvbiwgYm9vbCBhdXRvbWF0aWNhbGx5UGF1c2UpCkBA
IC0xNjMsMzAgKzE2MSwyNiBAQCBib29sIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6c2V0dXAo
Ym9vbCBpc0F1dG9tYXRpY0luc3BlY3Rpb24sIGJvb2wgYXV0b21hdGljYQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBhdXRvIHRhcmdldElkZW50aWZpZXIgPSB0aGlzLT50YXJnZXRJZGVu
dGlmaWVyKCkudmFsdWVPcigwKTsKLSAgICAKLSAgICByZWYoKTsKLSAgICBkaXNwYXRjaEFzeW5j
T25UYXJnZXQoXnsKLSAgICAgICAgewotICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGFy
Z2V0TXV0ZXgpOwogCi0gICAgICAgICAgICBpZiAoIW1fdGFyZ2V0IHx8ICFtX3RhcmdldC0+cmVt
b3RlQ29udHJvbEFsbG93ZWQoKSkgewotICAgICAgICAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6
c2luZ2xldG9uKCkuc2V0dXBGYWlsZWQodGFyZ2V0SWRlbnRpZmllcik7Ci0gICAgICAgICAgICAg
ICAgbV90YXJnZXQgPSBudWxscHRyOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpczxSZW1vdGVJ
bnNwZWN0aW9uVGFyZ2V0PihtX3RhcmdldCkpIHsKLSAgICAgICAgICAgICAgICBhdXRvIGNhc3Rl
ZFRhcmdldCA9IGRvd25jYXN0PFJlbW90ZUluc3BlY3Rpb25UYXJnZXQ+KG1fdGFyZ2V0KTsKLSAg
ICAgICAgICAgICAgICBjYXN0ZWRUYXJnZXQtPmNvbm5lY3QoKnRoaXMsIGlzQXV0b21hdGljSW5z
cGVjdGlvbiwgYXV0b21hdGljYWxseVBhdXNlKTsKLSAgICAgICAgICAgICAgICBtX2Nvbm5lY3Rl
ZCA9IHRydWU7CisgICAgZGlzcGF0Y2hBc3luY09uVGFyZ2V0KFsmLCBzdHJvbmdUaGlzID0gbWFr
ZVJlZigqdGhpcyldKCkgeworICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7
CiAKLSAgICAgICAgICAgICAgICBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRh
cmdldExpc3RpbmcodGFyZ2V0SWRlbnRpZmllcik7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGlz
PFJlbW90ZUF1dG9tYXRpb25UYXJnZXQ+KG1fdGFyZ2V0KSkgewotICAgICAgICAgICAgICAgIGF1
dG8gY2FzdGVkVGFyZ2V0ID0gZG93bmNhc3Q8UmVtb3RlQXV0b21hdGlvblRhcmdldD4obV90YXJn
ZXQpOwotICAgICAgICAgICAgICAgIGNhc3RlZFRhcmdldC0+Y29ubmVjdCgqdGhpcyk7Ci0gICAg
ICAgICAgICAgICAgbV9jb25uZWN0ZWQgPSB0cnVlOworICAgICAgICBpZiAoIW1fdGFyZ2V0IHx8
ICFtX3RhcmdldC0+cmVtb3RlQ29udHJvbEFsbG93ZWQoKSkgeworICAgICAgICAgICAgUmVtb3Rl
SW5zcGVjdG9yOjpzaW5nbGV0b24oKS5zZXR1cEZhaWxlZCh0YXJnZXRJZGVudGlmaWVyKTsKKyAg
ICAgICAgICAgIG1fdGFyZ2V0ID0gbnVsbHB0cjsKKyAgICAgICAgfSBlbHNlIGlmIChpczxSZW1v
dGVJbnNwZWN0aW9uVGFyZ2V0PihtX3RhcmdldCkpIHsKKyAgICAgICAgICAgIGF1dG8gY2FzdGVk
VGFyZ2V0ID0gZG93bmNhc3Q8UmVtb3RlSW5zcGVjdGlvblRhcmdldD4obV90YXJnZXQpOworICAg
ICAgICAgICAgY2FzdGVkVGFyZ2V0LT5jb25uZWN0KCp0aGlzLCBpc0F1dG9tYXRpY0luc3BlY3Rp
b24sIGF1dG9tYXRpY2FsbHlQYXVzZSk7CisgICAgICAgICAgICBtX2Nvbm5lY3RlZCA9IHRydWU7
CiAKLSAgICAgICAgICAgICAgICBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRh
cmdldExpc3RpbmcodGFyZ2V0SWRlbnRpZmllcik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAg
ICBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnVwZGF0ZVRhcmdldExpc3RpbmcodGFyZ2V0
SWRlbnRpZmllcik7CisgICAgICAgIH0gZWxzZSBpZiAoaXM8UmVtb3RlQXV0b21hdGlvblRhcmdl
dD4obV90YXJnZXQpKSB7CisgICAgICAgICAgICBhdXRvIGNhc3RlZFRhcmdldCA9IGRvd25jYXN0
PFJlbW90ZUF1dG9tYXRpb25UYXJnZXQ+KG1fdGFyZ2V0KTsKKyAgICAgICAgICAgIGNhc3RlZFRh
cmdldC0+Y29ubmVjdCgqdGhpcyk7CisgICAgICAgICAgICBtX2Nvbm5lY3RlZCA9IHRydWU7CisK
KyAgICAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkudXBkYXRlVGFyZ2V0TGlz
dGluZyh0YXJnZXRJZGVudGlmaWVyKTsKICAgICAgICAgfQotICAgICAgICBkZXJlZigpOwogICAg
IH0pOwogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0yMDMsMzkgKzE5NywzMSBAQCB2b2lkIFJlbW90
ZUNvbm5lY3Rpb25Ub1RhcmdldDo6Y2xvc2UoKQogewogICAgIGF1dG8gdGFyZ2V0SWRlbnRpZmll
ciA9IG1fdGFyZ2V0ID8gbV90YXJnZXQtPnRhcmdldElkZW50aWZpZXIoKSA6IDA7CiAgICAgCi0g
ICAgcmVmKCk7Ci0gICAgZGlzcGF0Y2hBc3luY09uVGFyZ2V0KF57Ci0gICAgICAgIHsKLSAgICAg
ICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3RhcmdldE11dGV4KTsKLSAgICAgICAgICAgIGlmICht
X3RhcmdldCkgewotICAgICAgICAgICAgICAgIGlmIChtX2Nvbm5lY3RlZCkKLSAgICAgICAgICAg
ICAgICAgICAgbV90YXJnZXQtPmRpc2Nvbm5lY3QoKnRoaXMpOwotCi0gICAgICAgICAgICAgICAg
bV90YXJnZXQgPSBudWxscHRyOwotICAgICAgICAgICAgICAgIAorICAgIGRpc3BhdGNoQXN5bmNP
blRhcmdldChbJiwgc3Ryb25nVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSgpIHsKKyAgICAgICAgTG9j
a0hvbGRlciBsb2NrKG1fdGFyZ2V0TXV0ZXgpOworICAgICAgICBpZiAobV90YXJnZXQpIHsKKyAg
ICAgICAgICAgIGlmIChtX2Nvbm5lY3RlZCkKKyAgICAgICAgICAgICAgICBtX3RhcmdldC0+ZGlz
Y29ubmVjdCgqdGhpcyk7CisKKyAgICAgICAgICAgIG1fdGFyZ2V0ID0gbnVsbHB0cjsKKyAgICAg
ICAgICAgIGlmICh0YXJnZXRJZGVudGlmaWVyKQogICAgICAgICAgICAgICAgIFJlbW90ZUluc3Bl
Y3Rvcjo6c2luZ2xldG9uKCkudXBkYXRlVGFyZ2V0TGlzdGluZyh0YXJnZXRJZGVudGlmaWVyKTsK
LSAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBkZXJlZigpOwogICAgIH0pOwogfQog
CiB2b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6c2VuZE1lc3NhZ2VUb1RhcmdldChOU1N0
cmluZyAqbWVzc2FnZSkKIHsKLSAgICByZWYoKTsKLSAgICBkaXNwYXRjaEFzeW5jT25UYXJnZXQo
XnsKKyAgICBkaXNwYXRjaEFzeW5jT25UYXJnZXQoW3RoaXMsIHN0cm9uZ01lc3NhZ2UgPSByZXRh
aW5QdHIobWVzc2FnZSksIHN0cm9uZ1RoaXMgPSBtYWtlUmVmKCp0aGlzKV0oKSB7CisgICAgICAg
IFJlbW90ZUNvbnRyb2xsYWJsZVRhcmdldCogdGFyZ2V0ID0gbnVsbHB0cjsKICAgICAgICAgewot
ICAgICAgICAgICAgUmVtb3RlQ29udHJvbGxhYmxlVGFyZ2V0KiB0YXJnZXQgPSBudWxscHRyOwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3RhcmdldE11
dGV4KTsKLSAgICAgICAgICAgICAgICBpZiAoIW1fdGFyZ2V0KQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICAgICAgdGFyZ2V0ID0gbV90YXJnZXQ7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIHRhcmdldC0+ZGlzcGF0Y2hNZXNzYWdlRnJvbVJlbW90ZShtZXNz
YWdlKTsKKyAgICAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3RhcmdldE11dGV4KTsKKyAgICAg
ICAgICAgIGlmICghbV90YXJnZXQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgdGFyZ2V0ID0gbV90YXJnZXQ7CiAgICAgICAgIH0KLSAgICAgICAgZGVyZWYoKTsKKworICAg
ICAgICB0YXJnZXQtPmRpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGUoc3Ryb25nTWVzc2FnZS5nZXQo
KSk7CiAgICAgfSk7CiB9CiAKQEAgLTI4MCwxOSArMjY2LDI0IEBAIHZvaWQgUmVtb3RlQ29ubmVj
dGlvblRvVGFyZ2V0Ojp0ZWFyZG93blJ1bkxvb3AoKQogICAgIG1fcnVuTG9vcFNvdXJjZSA9IG51
bGxwdHI7CiB9CiAKLXZvaWQgUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpxdWV1ZVRhc2tPblBy
aXZhdGVSdW5Mb29wKHZvaWQgKF5ibG9jaykoKSkKK3ZvaWQgUmVtb3RlQ29ubmVjdGlvblRvVGFy
Z2V0OjpxdWV1ZVRhc2tPblByaXZhdGVSdW5Mb29wKEZ1bmN0aW9uPHZvaWQgKCk+JiYgZnVuY3Rp
b24pCiB7CiAgICAgQVNTRVJUKG1fcnVuTG9vcCk7CiAKICAgICB7CiAgICAgICAgIExvY2tIb2xk
ZXIgbG9jayhtX3F1ZXVlTXV0ZXgpOwotICAgICAgICBtX3F1ZXVlLmFwcGVuZChibG9jayk7Cisg
ICAgICAgIG1fcXVldWUuYXBwZW5kKFdURk1vdmUoZnVuY3Rpb24pKTsKICAgICB9CiAKICAgICBD
RlJ1bkxvb3BTb3VyY2VTaWduYWwobV9ydW5Mb29wU291cmNlLmdldCgpKTsKICAgICBDRlJ1bkxv
b3BXYWtlVXAobV9ydW5Mb29wLmdldCgpKTsKIH0KIAorUmVtb3RlVGFyZ2V0UXVldWUgUmVtb3Rl
Q29ubmVjdGlvblRvVGFyZ2V0Ojp0YWtlUXVldWUoKQoreworICAgIHJldHVybiBzdGQ6OmV4Y2hh
bmdlKG1fcXVldWUsIHsgfSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5k
aWYgLy8gRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>