<?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>224961</bug_id>
          
          <creation_ts>2021-04-22 17:11:58 -0700</creation_ts>
          <short_desc>Modernize ShareableResource::Handle</short_desc>
          <delta_ts>2021-05-08 17:18:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1753382</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-22 17:11:58 -0700</bug_when>
    <thetext>Modernize ShareableResource::Handle</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753384</commentid>
    <comment_count>1</comment_count>
      <attachid>426869</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-22 17:13:19 -0700</bug_when>
    <thetext>Created attachment 426869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754654</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-27 09:50:50 -0700</bug_when>
    <thetext>iOS bots are red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754685</commentid>
    <comment_count>3</comment_count>
      <attachid>427165</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-27 10:48:20 -0700</bug_when>
    <thetext>Created attachment 427165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754687</commentid>
    <comment_count>4</comment_count>
      <attachid>427165</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-27 10:51:01 -0700</bug_when>
    <thetext>Comment on attachment 427165
Patch

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

&gt; Source/WebKit/Shared/ShareableResource.cpp:148
&gt; +auto ShareableResource::createHandle() -&gt; Optional&lt;Handle&gt;

It seems weird to use Optional&lt;Handle&gt; considering that Handle has a &quot;null&quot; state and a isNull() function.

For example, we purposely avoid using Optional&lt;String&gt; in the code base, for this exact reason.

I think we could simply return a null Handle in case of failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755585</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-29 17:12:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/77351694&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426869</attachid>
            <date>2021-04-22 17:13:19 -0700</date>
            <delta_ts>2021-04-27 10:48:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224961-20210422171319.patch</filename>
            <type>text/plain</type>
            <size>8744</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA2NjA4MDI1MDZiYjczNmFi
OTBmNDkzZjkyNjRjY2IxNGU0ZmUxYjkuLjRiNTk2Y2Q1M2I3ZmZmNWI1ZTE5ZGY0YjgyZmM0MTlm
MTA1M2YzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMDQtMjIgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb2Rlcm5pemUg
U2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI0OTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmV0dXJuIE9wdGlvbmFsPEhhbmRsZT4gaW5zdGVhZCBvZiBib29s
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6c3RvcmUpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpFbnRyeTo6aW5pdGlhbGl6ZVNoYXJlYWJsZVJlc291cmNlSGFuZGxl
RnJvbVN0b3JhZ2VSZWNvcmQgY29uc3QpOgorICAgICAgICAqIFNoYXJlZC9TaGFyZWFibGVSZXNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGU6Okhh
bmRsZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGU6OmRlY29k
ZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZVJlc291cmNlOjpjcmVhdGVIYW5kbGUpOgor
ICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVSZXNvdXJjZTo6flNoYXJlYWJsZVJlc291cmNlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvU2hhcmVhYmxlUmVzb3VyY2UuaDoKKyAgICAgICAg
KiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6dHJ5Q29u
dmVydFRvU2hhcmVhYmxlUmVzb3VyY2VIYW5kbGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlNjcmlwdEJ1ZmZlcj46OmVuY29kZSk6CisKIDIwMjEtMDQtMjEgIEthdGUg
Q2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93dXAg
Y2hhbmdlIHRvIGJ1ZyAyMjQ3NzkgYmFzZWQgb24gcG9zdC1sYW5kIHJldmlldyBjb21tZW50Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUu
Y3BwCmluZGV4IDY0Y2Q0YmNkMTYxNjdjNmUyYmU4OWUyZGJjNTk3MjJlYzVhM2Y2Y2IuLjhhOTlm
ODJkZjIzNTg4MjdkM2YxMGI0ZjViNjQwMGQ5ZGMzODg5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKQEAgLTQ5OCw3ICs0
OTgsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IENhY2hlOjpzdG9yZShjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbgogICAgICAgICAgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihtYXBwZWRCb2R5KTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBtYXBwZWRCb2R5LnNoYXJlYWJsZVJlc291cmNlLT5jcmVh
dGVIYW5kbGUobWFwcGVkQm9keS5zaGFyZWFibGVSZXNvdXJjZUhhbmRsZSk7CisgICAgICAgICAg
ICBpZiAoYXV0byBoYW5kbGUgPSBtYXBwZWRCb2R5LnNoYXJlYWJsZVJlc291cmNlLT5jcmVhdGVI
YW5kbGUoKSkKKyAgICAgICAgICAgICAgICBtYXBwZWRCb2R5LnNoYXJlYWJsZVJlc291cmNlSGFu
ZGxlID0gV1RGTW92ZSgqaGFuZGxlKTsKICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgIGlmIChj
b21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5jcHAKaW5kZXggMGE0YWIyNTY2MGI5OTMzYjYw
ZWI1YTJhYzQyZTJkNGFmOWI4MTUzZS4uYTY3MzE3MDk3OTgzNTZlMDg3MDk5ODc3ZDllM2Q3OWJk
MDhjOGNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5jcHAKQEAgLTE3OCw3ICsxNzgsOSBAQCB2b2lkIEVudHJ5
Ojppbml0aWFsaXplU2hhcmVhYmxlUmVzb3VyY2VIYW5kbGVGcm9tU3RvcmFnZVJlY29yZCgpIGNv
bnN0CiAgICAgYXV0byBzaGFyZWFibGVSZXNvdXJjZSA9IFNoYXJlYWJsZVJlc291cmNlOjpjcmVh
dGUoc2hhcmVkTWVtb3J5LnJlbGVhc2VOb25OdWxsKCksIDAsIG1fc291cmNlU3RvcmFnZVJlY29y
ZC5ib2R5LnNpemUoKSk7CiAgICAgaWYgKCFzaGFyZWFibGVSZXNvdXJjZSkKICAgICAgICAgcmV0
dXJuOwotICAgIHNoYXJlYWJsZVJlc291cmNlLT5jcmVhdGVIYW5kbGUobV9zaGFyZWFibGVSZXNv
dXJjZUhhbmRsZSk7CisKKyAgICBpZiAoYXV0byBoYW5kbGUgPSBzaGFyZWFibGVSZXNvdXJjZS0+
Y3JlYXRlSGFuZGxlKCkpCisgICAgICAgIG1fc2hhcmVhYmxlUmVzb3VyY2VIYW5kbGUgPSBXVEZN
b3ZlKCpoYW5kbGUpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1NoYXJlYWJsZVJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJs
ZVJlc291cmNlLmNwcAppbmRleCBhNDczYWJmMDk4YzU2YTE0ZmZlNWM4MmQyOTY0ODA3ODQyZTAx
NzQxLi45YzVhNTc0N2VhMTZiZDU1NmEwY2Y1NDJlMDQ2MjMwODk4MjYzZjEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVSZXNvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlUmVzb3VyY2UuY3BwCkBAIC0zNSw2ICszNSwxMCBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBTaGFyZWFibGVS
ZXNvdXJjZTo6SGFuZGxlOjpIYW5kbGUoKSA9IGRlZmF1bHQ7CitTaGFyZWFibGVSZXNvdXJjZTo6
SGFuZGxlOjpIYW5kbGUoU2hhcmVkTWVtb3J5OjpIYW5kbGUmJiBoYW5kbGUsIHVuc2lnbmVkIG9m
ZnNldCwgdW5zaWduZWQgc2l6ZSkKKyAgICA6IG1faGFuZGxlKFdURk1vdmUoaGFuZGxlKSkKKyAg
ICAsIG1fb2Zmc2V0KG9mZnNldCkKKyAgICAsIG1fc2l6ZShzaXplKSB7IH0KIAogdm9pZCBTaGFy
ZWFibGVSZXNvdXJjZTo6SGFuZGxlOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogewpAQCAtNDIsMTcgKzQ2LDE4IEBAIHZvaWQgU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZTo6
ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fb2Zm
c2V0OwogfQogCi1ib29sIFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGU6OmRlY29kZShJUEM6OkRl
Y29kZXImIGRlY29kZXIsIEhhbmRsZSYgaGFuZGxlKQorYXV0byBTaGFyZWFibGVSZXNvdXJjZTo6
SGFuZGxlOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKSAtPiBPcHRpb25hbDxIYW5kbGU+
CiB7CisgICAgSGFuZGxlIGhhbmRsZTsKICAgICBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBpcGNI
YW5kbGU7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpcGNIYW5kbGUpKQotICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShoYW5kbGUubV9vZmZzZXQpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBoYW5kbGUubV9zaXplID0gaXBjSGFuZGxlLmRh
dGFTaXplOwogICAgIGhhbmRsZS5tX2hhbmRsZSA9IFdURk1vdmUoaXBjSGFuZGxlLmhhbmRsZSk7
Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIFdURk1vdmUoaGFuZGxlKTsKIH0KIAogI2lm
IFVTRShDRikKQEAgLTEzOCwxOSArMTQzLDE1IEBAIFNoYXJlYWJsZVJlc291cmNlOjpTaGFyZWFi
bGVSZXNvdXJjZShSZWY8U2hhcmVkTWVtb3J5PiYmIHNoYXJlZE1lbW9yeSwgdW5zaWduZWQKIHsK
IH0KIAotU2hhcmVhYmxlUmVzb3VyY2U6On5TaGFyZWFibGVSZXNvdXJjZSgpCi17Ci19CitTaGFy
ZWFibGVSZXNvdXJjZTo6flNoYXJlYWJsZVJlc291cmNlKCkgPSBkZWZhdWx0OwogCi1ib29sIFNo
YXJlYWJsZVJlc291cmNlOjpjcmVhdGVIYW5kbGUoSGFuZGxlJiBoYW5kbGUpCithdXRvIFNoYXJl
YWJsZVJlc291cmNlOjpjcmVhdGVIYW5kbGUoKSAtPiBPcHRpb25hbDxIYW5kbGU+CiB7Ci0gICAg
aWYgKCFtX3NoYXJlZE1lbW9yeS0+Y3JlYXRlSGFuZGxlKGhhbmRsZS5tX2hhbmRsZSwgU2hhcmVk
TWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGhhbmRsZS5tX29mZnNldCA9IG1fb2Zmc2V0OwotICAgIGhhbmRsZS5tX3NpemUgPSBtX3Np
emU7CisgICAgU2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlOworICAgIGlmICghbV9zaGFyZWRN
ZW1vcnktPmNyZWF0ZUhhbmRsZShoYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVh
ZE9ubHkpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHRydWU7
CisgICAgcmV0dXJuIHt7IFdURk1vdmUoaGFuZGxlKSwgbV9vZmZzZXQsIG1fc2l6ZSB9fTsKIH0K
IAogY29uc3QgY2hhciogU2hhcmVhYmxlUmVzb3VyY2U6OmRhdGEoKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1NoYXJlYWJsZVJlc291cmNlLmgKaW5kZXggNTM3NGQ3Yjk2Y2YyMjE5YTc2NmJi
NzBhYjYwYWM4ODczNjZjMWY0MC4uMmViYzM4YzM2ODExOGJmMTJkMWZkYjc3ZjAyZGRkOWI2MzVm
YWMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlUmVzb3VyY2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVSZXNvdXJjZS5oCkBAIC0yMyw4
ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBTaGFyZWFibGVSZXNvdXJjZV9oCi0jZGVmaW5lIFNoYXJlYWJsZVJlc291cmNlX2gKKyNw
cmFnbWEgb25jZQogCiAjaWYgRU5BQkxFKFNIQVJFQUJMRV9SRVNPVVJDRSkKIApAQCAtNTIsMTEg
KzUxLDEyIEBAIHB1YmxpYzoKICAgICAgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc2l6ZTsgfQogCiAgICAgICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0Owot
ICAgICAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2Rl
ciYsIEhhbmRsZSYpOworICAgICAgICBzdGF0aWMgT3B0aW9uYWw8SGFuZGxlPiBkZWNvZGUoSVBD
OjpEZWNvZGVyJik7CiAKICAgICAgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gdHJ5
V3JhcEluU2hhcmVkQnVmZmVyKCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgorICAgICAgICBIYW5k
bGUoU2hhcmVkTWVtb3J5OjpIYW5kbGUmJiwgdW5zaWduZWQsIHVuc2lnbmVkKTsKICAgICAgICAg
ZnJpZW5kIGNsYXNzIFNoYXJlYWJsZVJlc291cmNlOwogCiAgICAgICAgIG11dGFibGUgU2hhcmVk
TWVtb3J5OjpIYW5kbGUgbV9oYW5kbGU7CkBAIC03MCw4ICs3MCw3IEBAIHB1YmxpYzoKICAgICAv
LyBDcmVhdGUgYSBzaGFyZWFibGUgcmVzb3VyY2UgZnJvbSBhIGhhbmRsZS4KICAgICBzdGF0aWMg
UmVmUHRyPFNoYXJlYWJsZVJlc291cmNlPiBtYXAoY29uc3QgSGFuZGxlJik7CiAKLSAgICAvLyBD
cmVhdGUgYSBoYW5kbGUuCi0gICAgYm9vbCBjcmVhdGVIYW5kbGUoSGFuZGxlJik7CisgICAgT3B0
aW9uYWw8SGFuZGxlPiBjcmVhdGVIYW5kbGUoKTsKIAogICAgIH5TaGFyZWFibGVSZXNvdXJjZSgp
OwogCkBAIC04NCwxMiArODMsMTAgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxTaGFyZWRNZW1vcnk+
IG1fc2hhcmVkTWVtb3J5OwogCi0gICAgdW5zaWduZWQgbV9vZmZzZXQ7Ci0gICAgdW5zaWduZWQg
bV9zaXplOyAgICAKKyAgICB1bnNpZ25lZCBtX29mZnNldCB7IDAgfTsKKyAgICB1bnNpZ25lZCBt
X3NpemUgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVO
QUJMRShTSEFSRUFCTEVfUkVTT1VSQ0UpCi0KLSNlbmRpZiAvLyBTaGFyZWFibGVSZXNvdXJjZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRl
eCA1NzAxNjUwZTI5MTE0MDE0OWE3MDExNmY2MGI0NWU0NTE4YmU2NGRiLi42NDU3ZDY1OGQ1ZGZh
ZmZjNjYzMzBlNGMyZjFmYjE3ZWY2N2JkYjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTMwNTgsMjMgKzMwNTgsMjEgQEAgT3B0aW9u
YWw8UmVmPFNoYXJlZEJ1ZmZlcj4+IEFyZ3VtZW50Q29kZXI8UmVmPFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcj4+OjpkZWNvZGUoRGUKIH0KIAogI2lmIEVOQUJMRShTSEFSRUFCTEVfUkVTT1VSQ0UpICYm
IFBMQVRGT1JNKENPQ09BKQotc3RhdGljIFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUgdHJ5Q29u
dmVydFRvU2hhcmVhYmxlUmVzb3VyY2VIYW5kbGUoY29uc3QgU2NyaXB0QnVmZmVyJiBzY3JpcHQp
CitzdGF0aWMgT3B0aW9uYWw8U2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZT4gdHJ5Q29udmVydFRv
U2hhcmVhYmxlUmVzb3VyY2VIYW5kbGUoY29uc3QgU2NyaXB0QnVmZmVyJiBzY3JpcHQpCiB7CiAg
ICAgaWYgKCFzY3JpcHQuY29udGFpbnNTaW5nbGVGaWxlTWFwcGVkU2VnbWVudCgpKQotICAgICAg
ICByZXR1cm4gU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSB7IH07CisgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CiAKICAgICBhdXRvJiBzZWdtZW50ID0gc2NyaXB0LmJ1ZmZlcigpLT5iZWdp
bigpLT5zZWdtZW50OwogICAgIGF1dG8gc2hhcmVkTWVtb3J5ID0gU2hhcmVkTWVtb3J5Ojp3cmFw
TWFwKGNvbnN0X2Nhc3Q8Y2hhcio+KHNlZ21lbnQtPmRhdGEoKSksIHNlZ21lbnQtPnNpemUoKSwg
U2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CiAgICAgaWYgKCFzaGFyZWRNZW1v
cnkpCi0gICAgICAgIHJldHVybiBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlIHsgfTsKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIGF1dG8gc2hhcmVhYmxlUmVzb3VyY2UgPSBT
aGFyZWFibGVSZXNvdXJjZTo6Y3JlYXRlKHNoYXJlZE1lbW9yeS5yZWxlYXNlTm9uTnVsbCgpLCAw
LCBzZWdtZW50LT5zaXplKCkpOwogICAgIGlmICghc2hhcmVhYmxlUmVzb3VyY2UpCi0gICAgICAg
IHJldHVybiBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlIHsgfTsKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKIAotICAgIFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUgc2hhcmVhYmxlUmVz
b3VyY2VIYW5kbGU7Ci0gICAgc2hhcmVhYmxlUmVzb3VyY2UtPmNyZWF0ZUhhbmRsZShzaGFyZWFi
bGVSZXNvdXJjZUhhbmRsZSk7Ci0gICAgcmV0dXJuIHNoYXJlYWJsZVJlc291cmNlSGFuZGxlOwor
ICAgIHJldHVybiBzaGFyZWFibGVSZXNvdXJjZS0+Y3JlYXRlSGFuZGxlKCk7CiB9CiAKIHN0YXRp
YyBPcHRpb25hbDxXZWJDb3JlOjpTY3JpcHRCdWZmZXI+IGRlY29kZVNjcmlwdEJ1ZmZlckFzU2hh
cmVhYmxlUmVzb3VyY2VIYW5kbGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTMwOTMsMTAgKzMwOTEs
MTAgQEAgdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlNjcmlwdEJ1ZmZlcj46OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBXZWJDb3IKIHsKICNpZiBFTkFCTEUoU0hBUkVBQkxFX1JF
U09VUkNFKSAmJiBQTEFURk9STShDT0NPQSkKICAgICBhdXRvIGhhbmRsZSA9IHRyeUNvbnZlcnRU
b1NoYXJlYWJsZVJlc291cmNlSGFuZGxlKHNjcmlwdCk7Ci0gICAgYm9vbCBpc1NoYXJlYWJsZVJl
c291cmNlSGFuZGxlID0gIWhhbmRsZS5pc051bGwoKTsKKyAgICBib29sIGlzU2hhcmVhYmxlUmVz
b3VyY2VIYW5kbGUgPSAhIWhhbmRsZTsKICAgICBlbmNvZGVyIDw8IGlzU2hhcmVhYmxlUmVzb3Vy
Y2VIYW5kbGU7CiAgICAgaWYgKGlzU2hhcmVhYmxlUmVzb3VyY2VIYW5kbGUpIHsKLSAgICAgICAg
ZW5jb2RlciA8PCBoYW5kbGU7CisgICAgICAgIGVuY29kZXIgPDwgKmhhbmRsZTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427165</attachid>
            <date>2021-04-27 10:48:20 -0700</date>
            <delta_ts>2021-05-08 17:18:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224961-20210427104819.patch</filename>
            <type>text/plain</type>
            <size>9899</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZiZjk2ZTRjYTVhMjI0Zjll
Y2MyNDE4Y2Q0NmIyNGQ2MWYzYjg5MTcuLmFjZTE3MTlhZmE2MmFmNDYwZTAwYzMwMDBhYjU0YmMy
NmI5MjA5NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMDQtMjcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb2Rlcm5pemUg
U2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI0OTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmV0dXJuIE9wdGlvbmFsPEhhbmRsZT4gaW5zdGVhZCBvZiBib29s
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6c3RvcmUpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpFbnRyeTo6aW5pdGlhbGl6ZVNoYXJlYWJsZVJlc291cmNlSGFuZGxl
RnJvbVN0b3JhZ2VSZWNvcmQgY29uc3QpOgorICAgICAgICAqIFNoYXJlZC9TaGFyZWFibGVSZXNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGU6Okhh
bmRsZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGU6OmRlY29k
ZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZVJlc291cmNlOjpjcmVhdGVIYW5kbGUpOgor
ICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVSZXNvdXJjZTo6flNoYXJlYWJsZVJlc291cmNlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvU2hhcmVhYmxlUmVzb3VyY2UuaDoKKyAgICAgICAg
KiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6dHJ5Q29u
dmVydFRvU2hhcmVhYmxlUmVzb3VyY2VIYW5kbGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlNjcmlwdEJ1ZmZlcj46OmVuY29kZSk6CisKIDIwMjEtMDQtMjcgIENocmlz
IEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogU21hcnQgaW52
ZXJ0PlNhZmFyaT5pbWFnZXMgJiBvdGhlciBjb2xvcnMgaW1wcm9wZXJseSBpbnZlcnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApp
bmRleCA2NGNkNGJjZDE2MTY3YzZlMmJlODllMmRiYzU5NzIyZWM1YTNmNmNiLi44YTk5ZjgyZGYy
MzU4ODI3ZDNmMTBiNGY1YjY0MDBkOWRjMzg4OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC00OTgsNyArNDk4LDgg
QEAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBDYWNoZTo6c3RvcmUoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb24KICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIobWFwcGVkQm9keSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgbWFwcGVkQm9keS5zaGFyZWFibGVSZXNvdXJjZS0+Y3JlYXRlSGFu
ZGxlKG1hcHBlZEJvZHkuc2hhcmVhYmxlUmVzb3VyY2VIYW5kbGUpOworICAgICAgICAgICAgaWYg
KGF1dG8gaGFuZGxlID0gbWFwcGVkQm9keS5zaGFyZWFibGVSZXNvdXJjZS0+Y3JlYXRlSGFuZGxl
KCkpCisgICAgICAgICAgICAgICAgbWFwcGVkQm9keS5zaGFyZWFibGVSZXNvdXJjZUhhbmRsZSA9
IFdURk1vdmUoKmhhbmRsZSk7CiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICBpZiAoY29tcGxl
dGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCmluZGV4IDBhNGFiMjU2NjBiOTkzM2I2MGViNWEy
YWM0MmUyZDRhZjliODE1M2UuLmE2NzMxNzA5Nzk4MzU2ZTA4NzA5OTg3N2Q5ZTNkNzliZDA4Yzhj
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlRW50cnkuY3BwCkBAIC0xNzgsNyArMTc4LDkgQEAgdm9pZCBFbnRyeTo6aW5p
dGlhbGl6ZVNoYXJlYWJsZVJlc291cmNlSGFuZGxlRnJvbVN0b3JhZ2VSZWNvcmQoKSBjb25zdAog
ICAgIGF1dG8gc2hhcmVhYmxlUmVzb3VyY2UgPSBTaGFyZWFibGVSZXNvdXJjZTo6Y3JlYXRlKHNo
YXJlZE1lbW9yeS5yZWxlYXNlTm9uTnVsbCgpLCAwLCBtX3NvdXJjZVN0b3JhZ2VSZWNvcmQuYm9k
eS5zaXplKCkpOwogICAgIGlmICghc2hhcmVhYmxlUmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsK
LSAgICBzaGFyZWFibGVSZXNvdXJjZS0+Y3JlYXRlSGFuZGxlKG1fc2hhcmVhYmxlUmVzb3VyY2VI
YW5kbGUpOworCisgICAgaWYgKGF1dG8gaGFuZGxlID0gc2hhcmVhYmxlUmVzb3VyY2UtPmNyZWF0
ZUhhbmRsZSgpKQorICAgICAgICBtX3NoYXJlYWJsZVJlc291cmNlSGFuZGxlID0gV1RGTW92ZSgq
aGFuZGxlKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9T
aGFyZWFibGVSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVSZXNv
dXJjZS5jcHAKaW5kZXggYTQ3M2FiZjA5OGM1NmExNGZmZTVjODJkMjk2NDgwNzg0MmUwMTc0MS4u
OWM1YTU3NDdlYTE2YmQ1NTZhMGNmNTQyZTA0NjIzMDg5ODI2M2YxMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1NoYXJlYWJsZVJlc291cmNlLmNwcApAQCAtMzUsNiArMzUsMTAgQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogU2hhcmVhYmxlUmVzb3Vy
Y2U6OkhhbmRsZTo6SGFuZGxlKCkgPSBkZWZhdWx0OworU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRs
ZTo6SGFuZGxlKFNoYXJlZE1lbW9yeTo6SGFuZGxlJiYgaGFuZGxlLCB1bnNpZ25lZCBvZmZzZXQs
IHVuc2lnbmVkIHNpemUpCisgICAgOiBtX2hhbmRsZShXVEZNb3ZlKGhhbmRsZSkpCisgICAgLCBt
X29mZnNldChvZmZzZXQpCisgICAgLCBtX3NpemUoc2l6ZSkgeyB9CiAKIHZvaWQgU2hhcmVhYmxl
UmVzb3VyY2U6OkhhbmRsZTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsK
QEAgLTQyLDE3ICs0NiwxOCBAQCB2b2lkIFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGU6OmVuY29k
ZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX29mZnNldDsK
IH0KIAotYm9vbCBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlOjpkZWNvZGUoSVBDOjpEZWNvZGVy
JiBkZWNvZGVyLCBIYW5kbGUmIGhhbmRsZSkKK2F1dG8gU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRs
ZTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikgLT4gT3B0aW9uYWw8SGFuZGxlPgogewor
ICAgIEhhbmRsZSBoYW5kbGU7CiAgICAgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaXBjSGFuZGxl
OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaXBjSGFuZGxlKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaGFuZGxlLm1fb2Zmc2V0KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgaGFuZGxlLm1fc2l6ZSA9IGlwY0hhbmRsZS5kYXRhU2l6
ZTsKICAgICBoYW5kbGUubV9oYW5kbGUgPSBXVEZNb3ZlKGlwY0hhbmRsZS5oYW5kbGUpOwotICAg
IHJldHVybiB0cnVlOworICAgIHJldHVybiBXVEZNb3ZlKGhhbmRsZSk7CiB9CiAKICNpZiBVU0Uo
Q0YpCkBAIC0xMzgsMTkgKzE0MywxNSBAQCBTaGFyZWFibGVSZXNvdXJjZTo6U2hhcmVhYmxlUmVz
b3VyY2UoUmVmPFNoYXJlZE1lbW9yeT4mJiBzaGFyZWRNZW1vcnksIHVuc2lnbmVkCiB7CiB9CiAK
LVNoYXJlYWJsZVJlc291cmNlOjp+U2hhcmVhYmxlUmVzb3VyY2UoKQotewotfQorU2hhcmVhYmxl
UmVzb3VyY2U6On5TaGFyZWFibGVSZXNvdXJjZSgpID0gZGVmYXVsdDsKIAotYm9vbCBTaGFyZWFi
bGVSZXNvdXJjZTo6Y3JlYXRlSGFuZGxlKEhhbmRsZSYgaGFuZGxlKQorYXV0byBTaGFyZWFibGVS
ZXNvdXJjZTo6Y3JlYXRlSGFuZGxlKCkgLT4gT3B0aW9uYWw8SGFuZGxlPgogewotICAgIGlmICgh
bV9zaGFyZWRNZW1vcnktPmNyZWF0ZUhhbmRsZShoYW5kbGUubV9oYW5kbGUsIFNoYXJlZE1lbW9y
eTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBo
YW5kbGUubV9vZmZzZXQgPSBtX29mZnNldDsKLSAgICBoYW5kbGUubV9zaXplID0gbV9zaXplOwor
ICAgIFNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZTsKKyAgICBpZiAoIW1fc2hhcmVkTWVtb3J5
LT5jcmVhdGVIYW5kbGUoaGFuZGxlLCBTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5
KSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIHJldHVybiB0cnVlOworICAg
IHJldHVybiB7eyBXVEZNb3ZlKGhhbmRsZSksIG1fb2Zmc2V0LCBtX3NpemUgfX07CiB9CiAKIGNv
bnN0IGNoYXIqIFNoYXJlYWJsZVJlc291cmNlOjpkYXRhKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJsZVJlc291cmNlLmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9TaGFyZWFibGVSZXNvdXJjZS5oCmluZGV4IDUzNzRkN2I5NmNmMjIxOWE3NjZiYjcwYWI2
MGFjODg3MzY2YzFmNDAuLjJlYmMzOGMzNjgxMThiZjEyZDFmZGI3N2YwMmRkZDliNjM1ZmFjMzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJsZVJlc291cmNlLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlUmVzb3VyY2UuaApAQCAtMjMsOCArMjMs
NyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYg
U2hhcmVhYmxlUmVzb3VyY2VfaAotI2RlZmluZSBTaGFyZWFibGVSZXNvdXJjZV9oCisjcHJhZ21h
IG9uY2UKIAogI2lmIEVOQUJMRShTSEFSRUFCTEVfUkVTT1VSQ0UpCiAKQEAgLTUyLDExICs1MSwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIHVuc2lnbmVkIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3Np
emU7IH0KIAogICAgICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKLSAgICAg
ICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShJUEM6OkRlY29kZXImLCBI
YW5kbGUmKTsKKyAgICAgICAgc3RhdGljIE9wdGlvbmFsPEhhbmRsZT4gZGVjb2RlKElQQzo6RGVj
b2RlciYpOwogCiAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IHRyeVdyYXBJ
blNoYXJlZEJ1ZmZlcigpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgSGFuZGxlKFNo
YXJlZE1lbW9yeTo6SGFuZGxlJiYsIHVuc2lnbmVkLCB1bnNpZ25lZCk7CiAgICAgICAgIGZyaWVu
ZCBjbGFzcyBTaGFyZWFibGVSZXNvdXJjZTsKIAogICAgICAgICBtdXRhYmxlIFNoYXJlZE1lbW9y
eTo6SGFuZGxlIG1faGFuZGxlOwpAQCAtNzAsOCArNzAsNyBAQCBwdWJsaWM6CiAgICAgLy8gQ3Jl
YXRlIGEgc2hhcmVhYmxlIHJlc291cmNlIGZyb20gYSBoYW5kbGUuCiAgICAgc3RhdGljIFJlZlB0
cjxTaGFyZWFibGVSZXNvdXJjZT4gbWFwKGNvbnN0IEhhbmRsZSYpOwogCi0gICAgLy8gQ3JlYXRl
IGEgaGFuZGxlLgotICAgIGJvb2wgY3JlYXRlSGFuZGxlKEhhbmRsZSYpOworICAgIE9wdGlvbmFs
PEhhbmRsZT4gY3JlYXRlSGFuZGxlKCk7CiAKICAgICB+U2hhcmVhYmxlUmVzb3VyY2UoKTsKIApA
QCAtODQsMTIgKzgzLDEwIEBAIHByaXZhdGU6CiAKICAgICBSZWY8U2hhcmVkTWVtb3J5PiBtX3No
YXJlZE1lbW9yeTsKIAotICAgIHVuc2lnbmVkIG1fb2Zmc2V0OwotICAgIHVuc2lnbmVkIG1fc2l6
ZTsgICAgCisgICAgdW5zaWduZWQgbV9vZmZzZXQgeyAwIH07CisgICAgdW5zaWduZWQgbV9zaXpl
IHsgMCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUo
U0hBUkVBQkxFX1JFU09VUkNFKQotCi0jZW5kaWYgLy8gU2hhcmVhYmxlUmVzb3VyY2VfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggOWNl
NjMwOTYzYjE1MzFiOWZhMWY5MDIxNzkxODYxMGFmODMyMmI1Yi4uNjY3OTBmZjA2YjVhYjM0YTNj
Y2RlZWVlY2VlM2U0NWUxZmZhMTRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0zMDU0LDIzICszMDU0LDIxIEBAIE9wdGlvbmFsPFJl
ZjxTaGFyZWRCdWZmZXI+PiBBcmd1bWVudENvZGVyPFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+
Pjo6ZGVjb2RlKERlCiB9CiAKICNpZiBFTkFCTEUoU0hBUkVBQkxFX1JFU09VUkNFKSAmJiBQTEFU
Rk9STShDT0NPQSkKLXN0YXRpYyBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlIHRyeUNvbnZlcnRU
b1NoYXJlYWJsZVJlc291cmNlSGFuZGxlKGNvbnN0IFNjcmlwdEJ1ZmZlciYgc2NyaXB0KQorc3Rh
dGljIE9wdGlvbmFsPFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGU+IHRyeUNvbnZlcnRUb1NoYXJl
YWJsZVJlc291cmNlSGFuZGxlKGNvbnN0IFNjcmlwdEJ1ZmZlciYgc2NyaXB0KQogewogICAgIGlm
ICghc2NyaXB0LmNvbnRhaW5zU2luZ2xlRmlsZU1hcHBlZFNlZ21lbnQoKSkKLSAgICAgICAgcmV0
dXJuIFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUgeyB9OworICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogCiAgICAgYXV0byYgc2VnbWVudCA9IHNjcmlwdC5idWZmZXIoKS0+YmVnaW4oKS0+
c2VnbWVudDsKICAgICBhdXRvIHNoYXJlZE1lbW9yeSA9IFNoYXJlZE1lbW9yeTo6d3JhcE1hcChj
b25zdF9jYXN0PGNoYXIqPihzZWdtZW50LT5kYXRhKCkpLCBzZWdtZW50LT5zaXplKCksIFNoYXJl
ZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwogICAgIGlmICghc2hhcmVkTWVtb3J5KQot
ICAgICAgICByZXR1cm4gU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSB7IH07CisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBhdXRvIHNoYXJlYWJsZVJlc291cmNlID0gU2hhcmVh
YmxlUmVzb3VyY2U6OmNyZWF0ZShzaGFyZWRNZW1vcnkucmVsZWFzZU5vbk51bGwoKSwgMCwgc2Vn
bWVudC0+c2l6ZSgpKTsKICAgICBpZiAoIXNoYXJlYWJsZVJlc291cmNlKQotICAgICAgICByZXR1
cm4gU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSB7IH07CisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAKLSAgICBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlIHNoYXJlYWJsZVJlc291cmNl
SGFuZGxlOwotICAgIHNoYXJlYWJsZVJlc291cmNlLT5jcmVhdGVIYW5kbGUoc2hhcmVhYmxlUmVz
b3VyY2VIYW5kbGUpOwotICAgIHJldHVybiBzaGFyZWFibGVSZXNvdXJjZUhhbmRsZTsKKyAgICBy
ZXR1cm4gc2hhcmVhYmxlUmVzb3VyY2UtPmNyZWF0ZUhhbmRsZSgpOwogfQogCiBzdGF0aWMgT3B0
aW9uYWw8V2ViQ29yZTo6U2NyaXB0QnVmZmVyPiBkZWNvZGVTY3JpcHRCdWZmZXJBc1NoYXJlYWJs
ZVJlc291cmNlSGFuZGxlKERlY29kZXImIGRlY29kZXIpCkBAIC0zMDg5LDEwICszMDg3LDEwIEBA
IHZvaWQgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTY3JpcHRCdWZmZXI+OjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgV2ViQ29yCiB7CiAjaWYgRU5BQkxFKFNIQVJFQUJMRV9SRVNPVVJD
RSkgJiYgUExBVEZPUk0oQ09DT0EpCiAgICAgYXV0byBoYW5kbGUgPSB0cnlDb252ZXJ0VG9TaGFy
ZWFibGVSZXNvdXJjZUhhbmRsZShzY3JpcHQpOwotICAgIGJvb2wgaXNTaGFyZWFibGVSZXNvdXJj
ZUhhbmRsZSA9ICFoYW5kbGUuaXNOdWxsKCk7CisgICAgYm9vbCBpc1NoYXJlYWJsZVJlc291cmNl
SGFuZGxlID0gISFoYW5kbGU7CiAgICAgZW5jb2RlciA8PCBpc1NoYXJlYWJsZVJlc291cmNlSGFu
ZGxlOwogICAgIGlmIChpc1NoYXJlYWJsZVJlc291cmNlSGFuZGxlKSB7Ci0gICAgICAgIGVuY29k
ZXIgPDwgaGFuZGxlOworICAgICAgICBlbmNvZGVyIDw8ICpoYW5kbGU7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZTExZmVlNzYzNTNiNDMyZWE4ZjRkZTA0NTE0YjNi
YTQzYTE3ZmE0Ny4uZmY4MTlhNmNlMzQyZTVlY2YzYWQ2NzA0N2M4ZTVjYjczYWEzYjIyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KQEAgLTQ0ODMsMTIgKzQ0ODMsMTQgQEAgdm9pZCBXZWJQYWdlOjpkaWRGaW5pc2hMb2FkRm9y
UXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZShjb25zdCBTaGFyZWRCdWZmZXImIGIKICAgICBp
ZiAoIXNoYXJlZE1lbW9yeSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgU2hhcmVhYmxlUmVzb3Vy
Y2U6OkhhbmRsZSBoYW5kbGU7CiAgICAgYXV0byBzaGFyZWFibGVSZXNvdXJjZSA9IFNoYXJlYWJs
ZVJlc291cmNlOjpjcmVhdGUoc2hhcmVkTWVtb3J5LnJlbGVhc2VOb25OdWxsKCksIDAsIGJ1ZmZl
ci5zaXplKCkpOwotICAgIGlmICghc2hhcmVhYmxlUmVzb3VyY2UgfHwgIXNoYXJlYWJsZVJlc291
cmNlLT5jcmVhdGVIYW5kbGUoaGFuZGxlKSkKKyAgICBpZiAoIXNoYXJlYWJsZVJlc291cmNlKQor
ICAgICAgICByZXR1cm47CisgICAgYXV0byBoYW5kbGUgPSBzaGFyZWFibGVSZXNvdXJjZS0+Y3Jl
YXRlSGFuZGxlKCk7CisgICAgaWYgKCFoYW5kbGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRmluaXNoTG9hZEZvclF1aWNrTG9va0RvY3Vt
ZW50SW5NYWluRnJhbWUoaGFuZGxlKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEaWRGaW5pc2hMb2FkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZSgqaGFuZGxlKSk7
CiB9CiAKIHZvaWQgV2ViUGFnZTo6cmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJ
bk1haW5GcmFtZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IFN0cmluZyYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>