<?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>225781</bug_id>
          
          <creation_ts>2021-05-13 14:05:56 -0700</creation_ts>
          <short_desc>[GPU Process] Ensure RemoteRenderingBackendProxy is restored to its original state when GPUP connection is closed</short_desc>
          <delta_ts>2021-05-15 21:06:38 -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>Canvas</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="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1759829</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-13 14:05:56 -0700</bug_when>
    <thetext>RemoteRenderingBackendProxy::gpuProcessConnectionDidClose() is supposed to do that. But some members of RemoteRenderingBackendProxy are not cleared in this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759830</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-13 14:06:51 -0700</bug_when>
    <thetext>&lt;rdar://76678163&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759838</commentid>
    <comment_count>2</comment_count>
      <attachid>428561</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-13 14:32:42 -0700</bug_when>
    <thetext>Created attachment 428561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759841</commentid>
    <comment_count>3</comment_count>
      <attachid>428561</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-05-13 14:37:22 -0700</bug_when>
    <thetext>Comment on attachment 428561
Patch

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

&gt; Source/WebKit/ChangeLog:27
&gt; +        No need for m_getPixelBufferSharedMemoryLength. The share memory length
&gt; +        can be retrieved from SharedMemory::size();

Are you sure you&apos;re not undoing a security hardening here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759853</commentid>
    <comment_count>4</comment_count>
      <attachid>428561</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-13 15:08:17 -0700</bug_when>
    <thetext>Comment on attachment 428561
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:27
&gt;&gt; +        can be retrieved from SharedMemory::size();
&gt; 
&gt; Are you sure you&apos;re not undoing a security hardening here?

Can you please explain your point a little? I did not get it especially we have many data sizes in this context

IPCHandle::dataSize
IPCHandle::handle::m_size
SharedMemory::m_size // which is copied form the IPCHandle::handle::m_size.

What is the security hardening in adding a fourth one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759899</commentid>
    <comment_count>5</comment_count>
      <attachid>428561</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-05-13 16:46:02 -0700</bug_when>
    <thetext>Comment on attachment 428561
Patch

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

&gt;&gt;&gt; Source/WebKit/ChangeLog:27
&gt;&gt;&gt; +        can be retrieved from SharedMemory::size();
&gt;&gt; 
&gt;&gt; Are you sure you&apos;re not undoing a security hardening here?
&gt; 
&gt; Can you please explain your point a little? I did not get it especially we have many data sizes in this context
&gt; 
&gt; IPCHandle::dataSize
&gt; IPCHandle::handle::m_size
&gt; SharedMemory::m_size // which is copied form the IPCHandle::handle::m_size.
&gt; 
&gt; What is the security hardening in adding a fourth one?

There&apos;s a lot of discussion in https://bugs.webkit.org/show_bug.cgi?id=223732 which added this code. It seems that what Myles checked in was different from the last patch on the bug. He should explain why the code is as it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759910</commentid>
    <comment_count>6</comment_count>
      <attachid>428561</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-05-13 16:58:32 -0700</bug_when>
    <thetext>Comment on attachment 428561
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit/ChangeLog:27
&gt;&gt;&gt;&gt; +        can be retrieved from SharedMemory::size();
&gt;&gt;&gt; 
&gt;&gt;&gt; Are you sure you&apos;re not undoing a security hardening here?
&gt;&gt; 
&gt;&gt; Can you please explain your point a little? I did not get it especially we have many data sizes in this context
&gt;&gt; 
&gt;&gt; IPCHandle::dataSize
&gt;&gt; IPCHandle::handle::m_size
&gt;&gt; SharedMemory::m_size // which is copied form the IPCHandle::handle::m_size.
&gt;&gt; 
&gt;&gt; What is the security hardening in adding a fourth one?
&gt; 
&gt; There&apos;s a lot of discussion in https://bugs.webkit.org/show_bug.cgi?id=223732 which added this code. It seems that what Myles checked in was different from the last patch on the bug. He should explain why the code is as it is.

This code runs in WebContent process. There is no need to harden what gets sent back from GPU process.
In general, we trust stuff sent or replied from GPU process.
Also, SharedMemory::size is always correct. mach_vm_map ensures that it is
IPCHandle::dataSize could be arbitrary value, however, until SharedMemory::map is called since that&apos;s where we validate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760281</commentid>
    <comment_count>7</comment_count>
      <attachid>428678</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-05-14 16:09:44 -0700</bug_when>
    <thetext>Created attachment 428678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760556</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-15 21:06:35 -0700</bug_when>
    <thetext>Committed r277562 (237790@main): &lt;https://commits.webkit.org/237790@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428678.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428561</attachid>
            <date>2021-05-13 14:32:42 -0700</date>
            <delta_ts>2021-05-14 16:09:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225781-20210513143241.patch</filename>
            <type>text/plain</type>
            <size>10767</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZmMzliMzUwYjRhMjliYmFi
Nzg5ODBjM2U3NGExY2JiN2E2Yzk1NzIuLjNkNTdlMzkzZjk1ZThkZWI1YWQ0ZDVjZDM5YTg4NjM1
NDlmODg0OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjEtMDUtMTMgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBFbnN1
cmUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5IGlzIHJlc3RvcmVkIHRvIGl0cyBvcmlnaW5h
bCBzdGF0ZSB3aGVuIEdQVVAgY29ubmVjdGlvbiBpcyBjbG9zZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTc4MQorICAgICAgICA8cmRhcjovLzc2
Njc4MTYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdQVVByb2Nlc3MgbWF5IGV4aXQgaW4gZGlmZmVyZW50IHNjZW5hcmlvczogYSBjcmFzaCwgdW5k
ZXIgbWVtb3J5IHByZXNzdXJlCisgICAgICAgIG9yIHdoZW4gaXQgaXMgbm90IGJlaW5nIHVzZWQ7
IHNlZSByMjc2MTQ4LiBJbiBhbGwgY2FzZXMsIHRoZSBzdGF0ZSBvZiAKKyAgICAgICAgUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5IGhhcyB0byBiZSByZXN0b3JlZCB0byBpdHMgb3JpZ2luYWwg
c3RhdGUgd2hlbgorICAgICAgICBpdCB3YXMgY3JlYXRlZC4gZ3B1UHJvY2Vzc0Nvbm5lY3Rpb25E
aWRDbG9zZSgpIGlzIHN1cHBvc2VkIHRvIGRvIHRoYXQuCisgICAgICAgIEJ1dCBzb21lIG1lbWJl
cnMgYXJlIG5vdCBjbGVhcmVkIGluIHRoaXMgZnVuY3Rpb24uCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OmdwdVByb2Nlc3NDb25uZWN0
aW9uRGlkQ2xvc2UpOgorICAgICAgICBNYWtlIHN1cmUgdGhlIHJlc291cmNlIGNhY2hlIGFuZCB0
aGUgZ2V0SW1hZ2VEYXRhIG1lbW9yeSBhbmQgc2VtYXBob3JlCisgICAgICAgIGFyZSBjbGVhcmVk
LgorCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Y3JlYXRl
UmVtb3RlSW1hZ2VCdWZmZXIpOgorICAgICAgICBBZGQgdGhpcyBoZWxwZXIgbWV0aG9kIHRvIGJl
IGNhbGxlZCB3aGVuIGEgUmVtb3RlSW1hZ2VCdWZmZXJQcm94eSBpcyBmaXJzdAorICAgICAgICBj
cmVhdGVkIG9yIHdoZW4gaXRzIGJhY2tlbmQgaXMgY2xlYXJlZC4KKworICAgICAgICAoV2ViS2l0
OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OmNyZWF0ZUltYWdlQnVmZmVyKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpzaGFyZWRNZW1vcnlGb3JH
ZXRQaXhlbEJ1ZmZlcik6CisgICAgICAgIE5vIG5lZWQgZm9yIG1fZ2V0UGl4ZWxCdWZmZXJTaGFy
ZWRNZW1vcnlMZW5ndGguIFRoZSBzaGFyZSBtZW1vcnkgbGVuZ3RoCisgICAgICAgIGNhbiBiZSBy
ZXRyaWV2ZWQgZnJvbSBTaGFyZWRNZW1vcnk6OnNpemUoKTsKKworICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGVQcm94eTo6cmVtb3RlUmVzb3VyY2VD
YWNoZVdhc0Rlc3Ryb3llZCk6CisgICAgICAgIEFkZCB0aGlzIG5ldyBmdW5jdGlvbiB0byByZXN0
b3JlIFJlbW90ZVJlc291cmNlQ2FjaGVQcm94eSB0byBpdHMgb3JpZ2luYWwKKyAgICAgICAgc3Rh
dGUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNh
Y2hlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5Ojpp
bWFnZUJ1ZmZlcnMgY29uc3QpOiBEZWxldGVkLgorCiAyMDIxLTA1LTEyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUXVldWUgbm90aWZpY2F0aW9uIHBlcm1pc3Np
b24gcmVxdWVzdHMgZm9yIHRoZSBzYW1lIG9yaWdpbiBvbiBXZWJLaXQgc2lkZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9S
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCmluZGV4IDgyZGZhYjY0NmQ2MmI1Yjg4N2E0
MWU0MTJkNjdmODM3Yjk4YTBjMmMuLjBiNmM0OWI5YmFmM2RkODFkMWMyZGE5YjJhYzBjOWQ4MGVk
NDA4N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAKQEAgLTg2
LDYgKzg2LDcgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OmdwdVByb2Nlc3ND
b25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3QKIHsKICAgICBwcmV2aW91c0Nvbm5l
Y3Rpb24ucmVtb3ZlQ2xpZW50KCp0aGlzKTsKICAgICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uID0g
bnVsbHB0cjsKKyAgICBtX3JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5yZW1vdGVSZXNvdXJjZUNh
Y2hlV2FzRGVzdHJveWVkKCk7CiAKICAgICBtX2lkZW50aWZpZXJzT2ZSZXVzYWJsZUhhbmRsZXMu
Y2xlYXIoKTsKICAgICBtX3NoYXJlZERpc3BsYXlMaXN0SGFuZGxlcy5jbGVhcigpOwpAQCAtOTMs
MTIgKzk0LDEwIEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpncHVQcm9jZXNz
Q29ubmVjdGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25uZWN0CiAgICAgbV9kZWZlcnJlZFdha2V1
cE1lc3NhZ2VBcmd1bWVudHMgPSBXVEY6Om51bGxvcHQ7CiAgICAgbV9yZW1haW5pbmdJdGVtc1Rv
QXBwZW5kQmVmb3JlU2VuZGluZ1dha2V1cCA9IDA7CiAKLSAgICBmb3IgKGF1dG8mIGltYWdlQnVm
ZmVyIDogbV9yZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuaW1hZ2VCdWZmZXJzKCkudmFsdWVzKCkp
IHsKLSAgICAgICAgaWYgKCFpbWFnZUJ1ZmZlcikKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpDcmVhdGVJbWFnZUJ1
ZmZlcihpbWFnZUJ1ZmZlci0+bG9naWNhbFNpemUoKSwgaW1hZ2VCdWZmZXItPnJlbmRlcmluZ01v
ZGUoKSwgaW1hZ2VCdWZmZXItPnJlc29sdXRpb25TY2FsZSgpLCBpbWFnZUJ1ZmZlci0+Y29sb3JT
cGFjZSgpLCBpbWFnZUJ1ZmZlci0+cGl4ZWxGb3JtYXQoKSwgaW1hZ2VCdWZmZXItPnJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllcigpKSwgcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKSwgSVBD
OjpTZW5kT3B0aW9uOjpEaXNwYXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkp
OwotICAgICAgICBpbWFnZUJ1ZmZlci0+Y2xlYXJCYWNrZW5kKCk7Ci0gICAgfQorICAgIGlmICht
X2Rlc3Ryb3lHZXRQaXhlbEJ1ZmZlclNoYXJlZE1lbW9yeVRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fZGVzdHJveUdldFBpeGVsQnVmZmVyU2hhcmVkTWVtb3J5VGltZXIuc3RvcCgpOworICAg
IG1fZ2V0UGl4ZWxCdWZmZXJTZW1hcGhvcmUgPSBXVEY6Om51bGxvcHQ7CisgICAgbV9nZXRQaXhl
bEJ1ZmZlclNoYXJlZE1lbW9yeSA9IG51bGxwdHI7CiB9CiAKIElQQzo6Q29ubmVjdGlvbiogUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGNvbnN0
CkBAIC0xMjUsNiArMTI0LDExIEBAIGJvb2wgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5Ojp3
YWl0Rm9yRGlkRmx1c2goKQogICAgIHJldHVybiBjb25uZWN0aW9uLT53YWl0Rm9yQW5kRGlzcGF0
Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpEaWRG
bHVzaD4ocmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKSwgMV9zLCBJUEM6OldhaXRGb3JPcHRp
b246OkludGVycnVwdFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlcyk7CiB9CiAKK3ZvaWQgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpjcmVhdGVSZW1vdGVJbWFnZUJ1ZmZlcihJbWFnZUJ1
ZmZlciYgaW1hZ2VCdWZmZXIpCit7CisgICAgc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5n
QmFja2VuZDo6Q3JlYXRlSW1hZ2VCdWZmZXIoaW1hZ2VCdWZmZXIubG9naWNhbFNpemUoKSwgaW1h
Z2VCdWZmZXIucmVuZGVyaW5nTW9kZSgpLCBpbWFnZUJ1ZmZlci5yZXNvbHV0aW9uU2NhbGUoKSwg
aW1hZ2VCdWZmZXIuY29sb3JTcGFjZSgpLCBpbWFnZUJ1ZmZlci5waXhlbEZvcm1hdCgpLCBpbWFn
ZUJ1ZmZlci5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIoKSksIHJlbmRlcmluZ0JhY2tlbmRJ
ZGVudGlmaWVyKCksIElQQzo6U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0
aW5nRm9yU3luY1JlcGx5KTsKK30KKwogUmVmUHRyPEltYWdlQnVmZmVyPiBSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kUHJveHk6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwg
UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIERlc3Rp
bmF0aW9uQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBQaXhlbEZvcm1hdCBwaXhlbEZvcm1hdCkKIHsK
ICAgICBSZWZQdHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVyOwpAQCAtMTQzLDcgKzE0Nyw3IEBA
IFJlZlB0cjxJbWFnZUJ1ZmZlcj4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpjcmVhdGVJ
bWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpCiAgICAgICAgIGltYWdlQnVmZmVyID0gVW5hY2NlbGVy
YXRlZFJlbW90ZUltYWdlQnVmZmVyUHJveHk6OmNyZWF0ZShzaXplLCByZXNvbHV0aW9uU2NhbGUs
IGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCAqdGhpcyk7CiAKICAgICBpZiAoaW1hZ2VCdWZmZXIp
IHsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Q3JlYXRl
SW1hZ2VCdWZmZXIoc2l6ZSwgcmVuZGVyaW5nTW9kZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNw
YWNlLCBwaXhlbEZvcm1hdCwgaW1hZ2VCdWZmZXItPnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmll
cigpKSwgcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKSwgSVBDOjpTZW5kT3B0aW9uOjpEaXNw
YXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkpOworICAgICAgICBjcmVhdGVS
ZW1vdGVJbWFnZUJ1ZmZlcigqaW1hZ2VCdWZmZXIpOwogICAgICAgICByZXR1cm4gaW1hZ2VCdWZm
ZXI7CiAgICAgfQogCkBAIC0xNTQsNyArMTU4LDcgQEAgU2hhcmVkTWVtb3J5KiBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHk6OnNoYXJlZE1lbW9yeUZvckdldFBpeGVsQnVmZmVyKHNpemVfdAog
ewogICAgIHNlbmREZWZlcnJlZFdha2V1cE1lc3NhZ2VJZk5lZWRlZCgpOwogCi0gICAgYm9vbCBu
ZWVkc1NoYXJlZE1lbW9yeSA9ICFtX2dldFBpeGVsQnVmZmVyU2hhcmVkTWVtb3J5IHx8IGRhdGFT
aXplID4gbV9nZXRQaXhlbEJ1ZmZlclNoYXJlZE1lbW9yeUxlbmd0aDsKKyAgICBib29sIG5lZWRz
U2hhcmVkTWVtb3J5ID0gIW1fZ2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnkgfHwgbV9nZXRQaXhl
bEJ1ZmZlclNoYXJlZE1lbW9yeS0+c2l6ZSgpIDwgZGF0YVNpemU7CiAgICAgYm9vbCBuZWVkc1Nl
bWFwaG9yZSA9ICFtX2dldFBpeGVsQnVmZmVyU2VtYXBob3JlOwogCiAgICAgaWYgKG5lZWRzU2hh
cmVkTWVtb3J5KQpAQCAtMTcwLDEwICsxNzQsOSBAQCBTaGFyZWRNZW1vcnkqIFJlbW90ZVJlbmRl
cmluZ0JhY2tlbmRQcm94eTo6c2hhcmVkTWVtb3J5Rm9yR2V0UGl4ZWxCdWZmZXIoc2l6ZV90CiAg
ICAgZWxzZSBpZiAobmVlZHNTZW1hcGhvcmUpCiAgICAgICAgIHNlbmRTeW5jKE1lc3NhZ2VzOjpS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpTZW1hcGhvcmVGb3JHZXRQaXhlbEJ1ZmZlcigpLCBNZXNz
YWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6U2VtYXBob3JlRm9yR2V0UGl4ZWxCdWZmZXI6
OlJlcGx5KHNlbWFwaG9yZSksIHJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyKCksIHRpbWVvdXQp
OwogCi0gICAgaWYgKCFoYW5kbGUuaGFuZGxlLmlzTnVsbCgpKSB7CisgICAgaWYgKCFoYW5kbGUu
aGFuZGxlLmlzTnVsbCgpKQogICAgICAgICBtX2dldFBpeGVsQnVmZmVyU2hhcmVkTWVtb3J5ID0g
U2hhcmVkTWVtb3J5OjptYXAoaGFuZGxlLmhhbmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9u
OjpSZWFkT25seSk7Ci0gICAgICAgIG1fZ2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnlMZW5ndGgg
PSBoYW5kbGUuZGF0YVNpemU7Ci0gICAgfQorCiAgICAgaWYgKG5lZWRzU2VtYXBob3JlKQogICAg
ICAgICBtX2dldFBpeGVsQnVmZmVyU2VtYXBob3JlID0gV1RGTW92ZShzZW1hcGhvcmUpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaAppbmRleCA2NmJhN2RlNzMzZTU2YmMz
ZjM1ZWNmMjNlNjBmYjA4YzAwNjBmOTE3Li41MWY1MTMxNGQ2NDM1ZmNhMjhmNmU1MTRkNzkxNTgx
ZDgzZDBmYTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKQEAgLTgy
LDYgKzgyLDggQEAgcHVibGljOgogICAgIGJvb2wgd2FpdEZvckdldFBpeGVsQnVmZmVyVG9Db21w
bGV0ZShJUEM6OlRpbWVvdXQpOwogICAgIHZvaWQgZGVzdHJveUdldFBpeGVsQnVmZmVyU2hhcmVk
TWVtb3J5KCk7CiAKKyAgICB2b2lkIGNyZWF0ZVJlbW90ZUltYWdlQnVmZmVyKFdlYkNvcmU6Oklt
YWdlQnVmZmVyJik7CisgICAgICAgIAogICAgIC8vIElQQzo6TWVzc2FnZVNlbmRlci4KICAgICBJ
UEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBvdmVycmlk
ZTsKQEAgLTEzMCwxNyArMTMyLDE4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZW5kV2FrZXVwTWVz
c2FnZShjb25zdCBHUFVQcm9jZXNzV2FrZXVwTWVzc2FnZUFyZ3VtZW50cyYpOwogCiAgICAgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9uUGFyYW1ldGVycyBtX3BhcmFtZXRlcnM7CisgICAg
V2Vha1B0cjxHUFVQcm9jZXNzQ29ubmVjdGlvbj4gbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKICAg
ICBSZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkgbV9yZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkgeyAq
dGhpcyB9OworCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUJ1ZmZlcklk
ZW50aWZpZXIsIFJlZlB0cjxEaXNwbGF5TGlzdFdyaXRlckhhbmRsZT4+IG1fc2hhcmVkRGlzcGxh
eUxpc3RIYW5kbGVzOwogICAgIERlcXVlPFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVy
SWRlbnRpZmllcj4gbV9pZGVudGlmaWVyc09mUmV1c2FibGVIYW5kbGVzOwogICAgIE9wdGlvbmFs
PFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcj4gbV9jdXJyZW50RGVzdGluYXRp
b25JbWFnZUJ1ZmZlcklkZW50aWZpZXI7CiAgICAgT3B0aW9uYWw8R1BVUHJvY2Vzc1dha2V1cE1l
c3NhZ2VBcmd1bWVudHM+IG1fZGVmZXJyZWRXYWtldXBNZXNzYWdlQXJndW1lbnRzOwogICAgIHVu
c2lnbmVkIG1fcmVtYWluaW5nSXRlbXNUb0FwcGVuZEJlZm9yZVNlbmRpbmdXYWtldXAgeyAwIH07
CisKICAgICBPcHRpb25hbDxJUEM6OlNlbWFwaG9yZT4gbV9nZXRQaXhlbEJ1ZmZlclNlbWFwaG9y
ZTsKICAgICBSZWZQdHI8U2hhcmVkTWVtb3J5PiBtX2dldFBpeGVsQnVmZmVyU2hhcmVkTWVtb3J5
OwotICAgIHVpbnQ2NF90IG1fZ2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnlMZW5ndGggeyAwIH07
CiAgICAgV2ViQ29yZTo6VGltZXIgbV9kZXN0cm95R2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnlU
aW1lciB7ICp0aGlzLCAmUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpkZXN0cm95R2V0UGl4
ZWxCdWZmZXJTaGFyZWRNZW1vcnkgfTsKLSAgICBXZWFrUHRyPEdQVVByb2Nlc3NDb25uZWN0aW9u
PiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJl
c291cmNlQ2FjaGVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHAKaW5kZXggMjY1NzIzYjVmZDk0MTU5MWNi
MmFhZTQ5MWFkYjk3YjRjNzVmMDk0ZC4uODlmY2E5YmNjZGZmZmVjZmMyMDRlYjUzMmY5ZjIyOGM0
MzEzYWFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcApAQCAtMTQ1LDYg
KzE0NSwxOCBAQCB2b2lkIFJlbW90ZVJlc291cmNlQ2FjaGVQcm94eTo6ZGlkRmluYWxpemVSZW5k
ZXJpbmdVcGRhdGUoKQogICAgIG1fbnVtYmVyT2ZGb250c1VzZWRJbkN1cnJlbnRSZW5kZXJpbmdV
cGRhdGUgPSAwOwogfQogCit2b2lkIFJlbW90ZVJlc291cmNlQ2FjaGVQcm94eTo6cmVtb3RlUmVz
b3VyY2VDYWNoZVdhc0Rlc3Ryb3llZCgpCit7CisgICAgZm9yIChhdXRvJiBpbWFnZUJ1ZmZlciA6
IG1faW1hZ2VCdWZmZXJzLnZhbHVlcygpKSB7CisgICAgICAgIGlmICghaW1hZ2VCdWZmZXIpCisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkuY3JlYXRlUmVtb3RlSW1hZ2VCdWZmZXIoKmltYWdlQnVmZmVyKTsKKyAgICAgICAgaW1hZ2VC
dWZmZXItPmNsZWFyQmFja2VuZCgpOworICAgIH0KKyAgICBtX25hdGl2ZUltYWdlcy5jbGVhcigp
OworICAgIG1fZm9udElkZW50aWZpZXJUb0xhc3RSZW5kZXJpbmdVcGRhdGVWZXJzaW9uTWFwLmNs
ZWFyKCk7Cit9CisKIHZvaWQgUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5OjpyZWxlYXNlTWVtb3J5
KCkKIHsKICAgICBtX2ZvbnRJZGVudGlmaWVyVG9MYXN0UmVuZGVyaW5nVXBkYXRlVmVyc2lvbk1h
cC5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmgKaW5kZXggNjEwNThjMzU3
NTE3MjA5ZjQwM2UzN2Y0MTJkODE2MDFkZTg4YzQzNy4uZjZiNWZiNzgxODE3NmViNjkxNWM1NzY5
YmQ5M2FjZjc4YjI0YmU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5oCkBAIC01
MSwxNCArNTEsMTQgQEAgcHVibGljOgogCiAgICAgdm9pZCBjYWNoZU5hdGl2ZUltYWdlKFdlYkNv
cmU6Ok5hdGl2ZUltYWdlJik7CiAKLSAgICB1c2luZyBJbWFnZUJ1ZmZlckhhc2hNYXAgPSBIYXNo
TWFwPFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwgV2Vha1B0cjxXZWJDb3Jl
OjpJbWFnZUJ1ZmZlcj4+OwotICAgIGNvbnN0IEltYWdlQnVmZmVySGFzaE1hcCYgaW1hZ2VCdWZm
ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZUJ1ZmZlcnM7IH0KLQogICAgIHZvaWQgY2FjaGVG
b250KFdlYkNvcmU6OkZvbnQmKTsKICAgICB2b2lkIGRpZEZpbmFsaXplUmVuZGVyaW5nVXBkYXRl
KCk7CisKKyAgICB2b2lkIHJlbW90ZVJlc291cmNlQ2FjaGVXYXNEZXN0cm95ZWQoKTsKICAgICB2
b2lkIHJlbGVhc2VNZW1vcnkoKTsKIAogcHJpdmF0ZToKKyAgICB1c2luZyBJbWFnZUJ1ZmZlckhh
c2hNYXAgPSBIYXNoTWFwPFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwgV2Vh
a1B0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcj4+OwogICAgIHVzaW5nIE5hdGl2ZUltYWdlSGFzaE1h
cCA9IEhhc2hNYXA8V2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCBXZWFrUHRy
PFdlYkNvcmU6Ok5hdGl2ZUltYWdlPj47CiAgICAgCiAgICAgdm9pZCByZWxlYXNlTmF0aXZlSW1h
Z2UoV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKSBvdmVycmlkZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428678</attachid>
            <date>2021-05-14 16:09:44 -0700</date>
            <delta_ts>2021-05-15 21:06:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225781-20210514160943.patch</filename>
            <type>text/plain</type>
            <size>9472</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZmMzliMzUwYjRhMjliYmFi
Nzg5ODBjM2U3NGExY2JiN2E2Yzk1NzIuLmI1MTlhOGU4ZjUyZGEyMmI5ODdkYzEwMzUxMGMyMzU2
ZjgwMDNkOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDUtMTQgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBFbnN1
cmUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5IGlzIHJlc3RvcmVkIHRvIGl0cyBvcmlnaW5h
bCBzdGF0ZSB3aGVuIEdQVVAgY29ubmVjdGlvbiBpcyBjbG9zZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTc4MQorICAgICAgICA8cmRhcjovLzc2
Njc4MTYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdQVVByb2Nlc3MgbWF5IGV4aXQgaW4gZGlmZmVyZW50IHNjZW5hcmlvczogYSBjcmFzaCwgdW5k
ZXIgbWVtb3J5IHByZXNzdXJlCisgICAgICAgIG9yIHdoZW4gaXQgaXMgbm90IGJlaW5nIHVzZWQ7
IHNlZSByMjc2MTQ4LiBJbiBhbGwgY2FzZXMsIHRoZSBzdGF0ZSBvZiAKKyAgICAgICAgUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5IGhhcyB0byBiZSByZXN0b3JlZCB0byBpdHMgb3JpZ2luYWwg
c3RhdGUgd2hlbgorICAgICAgICBpdCB3YXMgY3JlYXRlZC4gZ3B1UHJvY2Vzc0Nvbm5lY3Rpb25E
aWRDbG9zZSgpIGlzIHN1cHBvc2VkIHRvIGRvIHRoYXQuCisgICAgICAgIEJ1dCBzb21lIG1lbWJl
cnMgYXJlIG5vdCBjbGVhcmVkIGluIHRoaXMgZnVuY3Rpb24uCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OmdwdVByb2Nlc3NDb25uZWN0
aW9uRGlkQ2xvc2UpOgorICAgICAgICBNYWtlIHN1cmUgdGhlIHJlc291cmNlIGNhY2hlIGFuZCB0
aGUgZ2V0SW1hZ2VEYXRhIG1lbW9yeSBhbmQgc2VtYXBob3JlCisgICAgICAgIGFyZSBjbGVhcmVk
LgorCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Y3JlYXRl
UmVtb3RlSW1hZ2VCdWZmZXIpOgorICAgICAgICBBZGQgdGhpcyBoZWxwZXIgbWV0aG9kIHRvIGJl
IGNhbGxlZCB3aGVuIGEgUmVtb3RlSW1hZ2VCdWZmZXJQcm94eSBpcyBmaXJzdAorICAgICAgICBj
cmVhdGVkIG9yIHdoZW4gaXRzIGJhY2tlbmQgaXMgY2xlYXJlZC4KKworICAgICAgICAoV2ViS2l0
OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OmNyZWF0ZUltYWdlQnVmZmVyKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZXNvdXJjZUNhY2hlUHJveHk6OnJl
bW90ZVJlc291cmNlQ2FjaGVXYXNEZXN0cm95ZWQpOgorICAgICAgICBBZGQgdGhpcyBuZXcgZnVu
Y3Rpb24gdG8gcmVzdG9yZSBSZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkgdG8gaXRzIG9yaWdpbmFs
CisgICAgICAgIHN0YXRlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlUmVzb3VyY2VDYWNoZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNl
Q2FjaGVQcm94eTo6aW1hZ2VCdWZmZXJzIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0wNS0xMiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFF1ZXVlIG5vdGlmaWNh
dGlvbiBwZXJtaXNzaW9uIHJlcXVlc3RzIGZvciB0aGUgc2FtZSBvcmlnaW4gb24gV2ViS2l0IHNp
ZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcAppbmRleCA4MmRmYWI2
NDZkNjJiNWI4ODdhNDFlNDEyZDY3ZjgzN2I5OGEwYzJjLi44NWE2NmNhZDMzM2ExYmJlYjc5ZDA3
YzBlYWVjNjZiZjFhNGZjOWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkuY3BwCkBAIC04Niw2ICs4Niw3IEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
OjpncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25uZWN0CiB7CiAgICAg
cHJldmlvdXNDb25uZWN0aW9uLnJlbW92ZUNsaWVudCgqdGhpcyk7CiAgICAgbV9ncHVQcm9jZXNz
Q29ubmVjdGlvbiA9IG51bGxwdHI7CisgICAgbV9yZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkucmVt
b3RlUmVzb3VyY2VDYWNoZVdhc0Rlc3Ryb3llZCgpOwogCiAgICAgbV9pZGVudGlmaWVyc09mUmV1
c2FibGVIYW5kbGVzLmNsZWFyKCk7CiAgICAgbV9zaGFyZWREaXNwbGF5TGlzdEhhbmRsZXMuY2xl
YXIoKTsKQEAgLTkzLDEyICs5NCwxMSBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94
eTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdAogICAgIG1f
ZGVmZXJyZWRXYWtldXBNZXNzYWdlQXJndW1lbnRzID0gV1RGOjpudWxsb3B0OwogICAgIG1fcmVt
YWluaW5nSXRlbXNUb0FwcGVuZEJlZm9yZVNlbmRpbmdXYWtldXAgPSAwOwogCi0gICAgZm9yIChh
dXRvJiBpbWFnZUJ1ZmZlciA6IG1fcmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmltYWdlQnVmZmVy
cygpLnZhbHVlcygpKSB7Ci0gICAgICAgIGlmICghaW1hZ2VCdWZmZXIpCi0gICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6
Q3JlYXRlSW1hZ2VCdWZmZXIoaW1hZ2VCdWZmZXItPmxvZ2ljYWxTaXplKCksIGltYWdlQnVmZmVy
LT5yZW5kZXJpbmdNb2RlKCksIGltYWdlQnVmZmVyLT5yZXNvbHV0aW9uU2NhbGUoKSwgaW1hZ2VC
dWZmZXItPmNvbG9yU3BhY2UoKSwgaW1hZ2VCdWZmZXItPnBpeGVsRm9ybWF0KCksIGltYWdlQnVm
ZmVyLT5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIoKSksIHJlbmRlcmluZ0JhY2tlbmRJZGVu
dGlmaWVyKCksIElQQzo6U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5n
Rm9yU3luY1JlcGx5KTsKLSAgICAgICAgaW1hZ2VCdWZmZXItPmNsZWFyQmFja2VuZCgpOwotICAg
IH0KKyAgICBpZiAobV9kZXN0cm95R2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnlUaW1lci5pc0Fj
dGl2ZSgpKQorICAgICAgICBtX2Rlc3Ryb3lHZXRQaXhlbEJ1ZmZlclNoYXJlZE1lbW9yeVRpbWVy
LnN0b3AoKTsKKyAgICBtX2dldFBpeGVsQnVmZmVyU2VtYXBob3JlID0gV1RGOjpudWxsb3B0Owor
ICAgIG1fZ2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnlMZW5ndGggPSAwOworICAgIG1fZ2V0UGl4
ZWxCdWZmZXJTaGFyZWRNZW1vcnkgPSBudWxscHRyOwogfQogCiBJUEM6OkNvbm5lY3Rpb24qIFJl
bW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25z
dApAQCAtMTI1LDYgKzEyNSwxMSBAQCBib29sIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6
d2FpdEZvckRpZEZsdXNoKCkKICAgICByZXR1cm4gY29ubmVjdGlvbi0+d2FpdEZvckFuZERpc3Bh
dGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6RGlk
Rmx1c2g+KHJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyKCksIDFfcywgSVBDOjpXYWl0Rm9yT3B0
aW9uOjpJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMpOwogfQogCit2b2lkIFJl
bW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Y3JlYXRlUmVtb3RlSW1hZ2VCdWZmZXIoSW1hZ2VC
dWZmZXImIGltYWdlQnVmZmVyKQoreworICAgIHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQ6OkNyZWF0ZUltYWdlQnVmZmVyKGltYWdlQnVmZmVyLmxvZ2ljYWxTaXplKCksIGlt
YWdlQnVmZmVyLnJlbmRlcmluZ01vZGUoKSwgaW1hZ2VCdWZmZXIucmVzb2x1dGlvblNjYWxlKCks
IGltYWdlQnVmZmVyLmNvbG9yU3BhY2UoKSwgaW1hZ2VCdWZmZXIucGl4ZWxGb3JtYXQoKSwgaW1h
Z2VCdWZmZXIucmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCkpLCByZW5kZXJpbmdCYWNrZW5k
SWRlbnRpZmllcigpLCBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2Fp
dGluZ0ZvclN5bmNSZXBseSk7Cit9CisKIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUs
IFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBEZXN0
aW5hdGlvbkNvbG9yU3BhY2UgY29sb3JTcGFjZSwgUGl4ZWxGb3JtYXQgcGl4ZWxGb3JtYXQpCiB7
CiAgICAgUmVmUHRyPEltYWdlQnVmZmVyPiBpbWFnZUJ1ZmZlcjsKQEAgLTE0Myw3ICsxNDgsNyBA
QCBSZWZQdHI8SW1hZ2VCdWZmZXI+IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6Y3JlYXRl
SW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaQogICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxl
cmF0ZWRSZW1vdGVJbWFnZUJ1ZmZlclByb3h5OjpjcmVhdGUoc2l6ZSwgcmVzb2x1dGlvblNjYWxl
LCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgKnRoaXMpOwogCiAgICAgaWYgKGltYWdlQnVmZmVy
KSB7Ci0gICAgICAgIHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OkNyZWF0
ZUltYWdlQnVmZmVyKHNpemUsIHJlbmRlcmluZ01vZGUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JT
cGFjZSwgcGl4ZWxGb3JtYXQsIGltYWdlQnVmZmVyLT5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIoKSksIHJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyKCksIElQQzo6U2VuZE9wdGlvbjo6RGlz
cGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsKKyAgICAgICAgY3JlYXRl
UmVtb3RlSW1hZ2VCdWZmZXIoKmltYWdlQnVmZmVyKTsKICAgICAgICAgcmV0dXJuIGltYWdlQnVm
ZmVyOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKaW5kZXgg
NjZiYTdkZTczM2U1NmJjM2YzNWVjZjIzZTYwZmIwOGMwMDYwZjkxNy4uYmQ3NjhmN2NjYmNkN2E1
OTYxNDJkYjI4YmZhZWFjMThjMjA1OWIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eS5oCkBAIC04Miw2ICs4Miw4IEBAIHB1YmxpYzoKICAgICBib29sIHdhaXRGb3JHZXRQ
aXhlbEJ1ZmZlclRvQ29tcGxldGUoSVBDOjpUaW1lb3V0KTsKICAgICB2b2lkIGRlc3Ryb3lHZXRQ
aXhlbEJ1ZmZlclNoYXJlZE1lbW9yeSgpOwogCisgICAgdm9pZCBjcmVhdGVSZW1vdGVJbWFnZUJ1
ZmZlcihXZWJDb3JlOjpJbWFnZUJ1ZmZlciYpOworICAgICAgICAKICAgICAvLyBJUEM6Ok1lc3Nh
Z2VTZW5kZXIuCiAgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigp
IGNvbnN0IG92ZXJyaWRlOwogICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklE
KCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC0xMzAsMTcgKzEzMiwxOSBAQCBwcml2YXRlOgogICAgIHZv
aWQgc2VuZFdha2V1cE1lc3NhZ2UoY29uc3QgR1BVUHJvY2Vzc1dha2V1cE1lc3NhZ2VBcmd1bWVu
dHMmKTsKIAogICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMgbV9w
YXJhbWV0ZXJzOworICAgIFdlYWtQdHI8R1BVUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fZ3B1UHJvY2Vz
c0Nvbm5lY3Rpb247CiAgICAgUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5IG1fcmVtb3RlUmVzb3Vy
Y2VDYWNoZVByb3h5IHsgKnRoaXMgfTsKKwogICAgIEhhc2hNYXA8V2ViQ29yZTo6RGlzcGxheUxp
c3Q6Okl0ZW1CdWZmZXJJZGVudGlmaWVyLCBSZWZQdHI8RGlzcGxheUxpc3RXcml0ZXJIYW5kbGU+
PiBtX3NoYXJlZERpc3BsYXlMaXN0SGFuZGxlczsKICAgICBEZXF1ZTxXZWJDb3JlOjpEaXNwbGF5
TGlzdDo6SXRlbUJ1ZmZlcklkZW50aWZpZXI+IG1faWRlbnRpZmllcnNPZlJldXNhYmxlSGFuZGxl
czsKICAgICBPcHRpb25hbDxXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI+IG1f
Y3VycmVudERlc3RpbmF0aW9uSW1hZ2VCdWZmZXJJZGVudGlmaWVyOwogICAgIE9wdGlvbmFsPEdQ
VVByb2Nlc3NXYWtldXBNZXNzYWdlQXJndW1lbnRzPiBtX2RlZmVycmVkV2FrZXVwTWVzc2FnZUFy
Z3VtZW50czsKICAgICB1bnNpZ25lZCBtX3JlbWFpbmluZ0l0ZW1zVG9BcHBlbmRCZWZvcmVTZW5k
aW5nV2FrZXVwIHsgMCB9OworCiAgICAgT3B0aW9uYWw8SVBDOjpTZW1hcGhvcmU+IG1fZ2V0UGl4
ZWxCdWZmZXJTZW1hcGhvcmU7CiAgICAgUmVmUHRyPFNoYXJlZE1lbW9yeT4gbV9nZXRQaXhlbEJ1
ZmZlclNoYXJlZE1lbW9yeTsKICAgICB1aW50NjRfdCBtX2dldFBpeGVsQnVmZmVyU2hhcmVkTWVt
b3J5TGVuZ3RoIHsgMCB9OwogICAgIFdlYkNvcmU6OlRpbWVyIG1fZGVzdHJveUdldFBpeGVsQnVm
ZmVyU2hhcmVkTWVtb3J5VGltZXIgeyAqdGhpcywgJlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94
eTo6ZGVzdHJveUdldFBpeGVsQnVmZmVyU2hhcmVkTWVtb3J5IH07Ci0gICAgV2Vha1B0cjxHUFVQ
cm9jZXNzQ29ubmVjdGlvbj4gbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuY3BwCmluZGV4IDI2
NTcyM2I1ZmQ5NDE1OTFjYjJhYWU0OTFhZGI5N2I0Yzc1ZjA5NGQuLjg5ZmNhOWJjY2RmZmZlY2Zj
MjA0ZWI1MzJmOWYyMjhjNDMxM2FhYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94
eS5jcHAKQEAgLTE0NSw2ICsxNDUsMTggQEAgdm9pZCBSZW1vdGVSZXNvdXJjZUNhY2hlUHJveHk6
OmRpZEZpbmFsaXplUmVuZGVyaW5nVXBkYXRlKCkKICAgICBtX251bWJlck9mRm9udHNVc2VkSW5D
dXJyZW50UmVuZGVyaW5nVXBkYXRlID0gMDsKIH0KIAordm9pZCBSZW1vdGVSZXNvdXJjZUNhY2hl
UHJveHk6OnJlbW90ZVJlc291cmNlQ2FjaGVXYXNEZXN0cm95ZWQoKQoreworICAgIGZvciAoYXV0
byYgaW1hZ2VCdWZmZXIgOiBtX2ltYWdlQnVmZmVycy52YWx1ZXMoKSkgeworICAgICAgICBpZiAo
IWltYWdlQnVmZmVyKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIG1fcmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5LmNyZWF0ZVJlbW90ZUltYWdlQnVmZmVyKCppbWFnZUJ1ZmZlcik7
CisgICAgICAgIGltYWdlQnVmZmVyLT5jbGVhckJhY2tlbmQoKTsKKyAgICB9CisgICAgbV9uYXRp
dmVJbWFnZXMuY2xlYXIoKTsKKyAgICBtX2ZvbnRJZGVudGlmaWVyVG9MYXN0UmVuZGVyaW5nVXBk
YXRlVmVyc2lvbk1hcC5jbGVhcigpOworfQorCiB2b2lkIFJlbW90ZVJlc291cmNlQ2FjaGVQcm94
eTo6cmVsZWFzZU1lbW9yeSgpCiB7CiAgICAgbV9mb250SWRlbnRpZmllclRvTGFzdFJlbmRlcmlu
Z1VwZGF0ZVZlcnNpb25NYXAuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5o
CmluZGV4IDYxMDU4YzM1NzUxNzIwOWY0MDNlMzdmNDEyZDgxNjAxZGU4OGM0MzcuLmY2YjVmYjc4
MTgxNzZlYjY5MTVjNTc2OWJkOTNhY2Y3OGIyNGJlOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNh
Y2hlUHJveHkuaApAQCAtNTEsMTQgKzUxLDE0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2FjaGVO
YXRpdmVJbWFnZShXZWJDb3JlOjpOYXRpdmVJbWFnZSYpOwogCi0gICAgdXNpbmcgSW1hZ2VCdWZm
ZXJIYXNoTWFwID0gSGFzaE1hcDxXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIs
IFdlYWtQdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+PjsKLSAgICBjb25zdCBJbWFnZUJ1ZmZlckhh
c2hNYXAmIGltYWdlQnVmZmVycygpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VCdWZmZXJzOyB9Ci0K
ICAgICB2b2lkIGNhY2hlRm9udChXZWJDb3JlOjpGb250Jik7CiAgICAgdm9pZCBkaWRGaW5hbGl6
ZVJlbmRlcmluZ1VwZGF0ZSgpOworCisgICAgdm9pZCByZW1vdGVSZXNvdXJjZUNhY2hlV2FzRGVz
dHJveWVkKCk7CiAgICAgdm9pZCByZWxlYXNlTWVtb3J5KCk7CiAKIHByaXZhdGU6CisgICAgdXNp
bmcgSW1hZ2VCdWZmZXJIYXNoTWFwID0gSGFzaE1hcDxXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIsIFdlYWtQdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+PjsKICAgICB1c2luZyBO
YXRpdmVJbWFnZUhhc2hNYXAgPSBIYXNoTWFwPFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllciwgV2Vha1B0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4+OwogICAgIAogICAgIHZvaWQg
cmVsZWFzZU5hdGl2ZUltYWdlKFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikg
b3ZlcnJpZGU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>