<?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>210495</bug_id>
          
          <creation_ts>2020-04-14 07:24:38 -0700</creation_ts>
          <short_desc>Factor PseudoElement creation calls into a single Element::ensurePseudoElement(pseudoId) method</short_desc>
          <delta_ts>2020-04-14 12:13:15 -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>CSS</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=207290</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1641360</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-14 07:24:38 -0700</bug_when>
    <thetext>Factor PseudoElement creation calls into a single Element::ensurePseudoElement(pseudoId) method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641362</commentid>
    <comment_count>1</comment_count>
      <attachid>396414</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-14 07:28:53 -0700</bug_when>
    <thetext>Created attachment 396414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641368</commentid>
    <comment_count>2</comment_count>
      <attachid>396414</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-04-14 07:53:15 -0700</bug_when>
    <thetext>Comment on attachment 396414
Patch

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

&gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:-123
&gt; -            current.setBeforePseudoElement(newPseudoElement.releaseNonNull());
&gt; -        else
&gt; -            current.setAfterPseudoElement(newPseudoElement.releaseNonNull());

You can probably make these private now.

&gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:113
&gt; +    current.ensurePseudoElement(pseudoId);

pseudoElement =</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641371</commentid>
    <comment_count>3</comment_count>
      <attachid>396414</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-04-14 07:59:51 -0700</bug_when>
    <thetext>Comment on attachment 396414
Patch

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

&gt; Source/WebCore/dom/Element.cpp:3484
&gt; +PseudoElement* Element::ensurePseudoElement(PseudoId pseudoId)

I think this should return a reference. The assert could be a  release assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641404</commentid>
    <comment_count>4</comment_count>
      <attachid>396428</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-14 09:23:37 -0700</bug_when>
    <thetext>Created attachment 396428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641420</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-14 09:44:45 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; Comment on attachment 396414 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=396414&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:-123
&gt; &gt; -            current.setBeforePseudoElement(newPseudoElement.releaseNonNull());
&gt; &gt; -        else
&gt; &gt; -            current.setAfterPseudoElement(newPseudoElement.releaseNonNull());
&gt; 
&gt; You can probably make these private now.

I think we can remove them altogether.

&gt; &gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:113
&gt; &gt; +    current.ensurePseudoElement(pseudoId);
&gt; 
&gt; pseudoElement =

Err… yeah!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641421</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-14 09:44:53 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #3)
&gt; Comment on attachment 396414 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=396414&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:3484
&gt; &gt; +PseudoElement* Element::ensurePseudoElement(PseudoId pseudoId)
&gt; 
&gt; I think this should return a reference. The assert could be a  release
&gt; assert.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641433</commentid>
    <comment_count>7</comment_count>
      <attachid>396432</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-14 10:06:55 -0700</bug_when>
    <thetext>Created attachment 396432
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641489</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-14 12:12:59 -0700</bug_when>
    <thetext>Committed r260088: &lt;https://trac.webkit.org/changeset/260088&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641490</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-14 12:13:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/61784398&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396414</attachid>
            <date>2020-04-14 07:28:53 -0700</date>
            <delta_ts>2020-04-14 09:23:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210495-20200414162851.patch</filename>
            <type>text/plain</type>
            <size>5649</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2EwMDQ4M2QyMDU4OGY5
YmE1ZDcxYzFjYzk2NjQ5MzVmZjAwY2ZhOS4uZTllZWEyOGZmYzFhY2UzYjEyYTZhNTQ0M2JhMzUy
YzBlMzk0MmE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA0LTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgRmFjdG9yIFBzZXVkb0Vs
ZW1lbnQgY3JlYXRpb24gY2FsbHMgaW50byBhIHNpbmdsZSBFbGVtZW50OjplbnN1cmVQc2V1ZG9F
bGVtZW50KHBzZXVkb0lkKSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDQ5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRvIHN1cHBvcnQgd2Via2l0Lm9yZy9iLzIwNzI5MCB3ZSBuZWVkIGEg
d2F5IHRvIGVuc3VyZSBhIFBzZXVkb0VsZW1lbnQgaXMgYXZhaWxhYmxlIGZvciA6OmJlZm9yZSBh
bmQgOjphZnRlcgorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgb24gYSBnaXZlbiBFbGVtZW50LiBX
ZSBub3cgdXNlIGEgRWxlbWVudDo6ZW5zdXJlUHNldWRvRWxlbWVudChwc2V1ZG9JZCkgbWV0aG9k
IHRvIGRvIHRoaXMgYW5kCisgICAgICAgIHJlcGxhY2UgZXhpc3RpbmcgcGxhY2VzIHdoZXJlIHdl
IHdvdWxkIGRvIHNvbWV0aGluZyBzaW1pbGFyLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlUHNldWRvRWxlbWVudCk6CisgICAg
ICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KToKKyAg
ICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6VHJlZVJlc29sdmVyOjpyZXNvbHZlUHNldWRvU3R5bGUpOgorCiAyMDIwLTA0LTE0ICBD
bGF1ZGlvIFNhYXZlZHJhICA8Y3NhYXZlZHJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
QWRhcHQgdG8gR2RrVmlzdWFsIGRlcHJlY2F0aW9uIGFuZCByZW1vdmFsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKaW5kZXggMzAyZWViN2NlNWU1OTJiNGY5ZGVlNmFmYTU0ODhlYTQ2YmU0NzUyZC4uZDVh
N2ZkMmFjOTU3ZWI2NDc5NWE0NWM0NzljMzdjZDgwZTQyYTVhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcApAQCAtMzQ4MSw2ICszNDgxLDI4IEBAIHZvaWQgRWxlbWVudDo6bm9ybWFsaXplQXR0cmli
dXRlcygpCiAgICAgICAgIGF0dHJOb2RlLT5ub3JtYWxpemUoKTsKIH0KIAorUHNldWRvRWxlbWVu
dCogRWxlbWVudDo6ZW5zdXJlUHNldWRvRWxlbWVudChQc2V1ZG9JZCBwc2V1ZG9JZCkKK3sKKyAg
ICBpZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkgeworICAgICAgICBpZiAoYXV0byog
YmVmb3JlUHNldWRvRWxlbWVudCA9IHRoaXMtPmJlZm9yZVBzZXVkb0VsZW1lbnQoKSkKKyAgICAg
ICAgICAgIHJldHVybiBiZWZvcmVQc2V1ZG9FbGVtZW50OworICAgICAgICBhdXRvIG5ld0JlZm9y
ZVBzZXVkb0VsZW1lbnQgPSBQc2V1ZG9FbGVtZW50OjpjcmVhdGUoKnRoaXMsIHBzZXVkb0lkKTsK
KyAgICAgICAgc2V0QmVmb3JlUHNldWRvRWxlbWVudChXVEZNb3ZlKG5ld0JlZm9yZVBzZXVkb0Vs
ZW1lbnQpKTsKKyAgICAgICAgcmV0dXJuIGJlZm9yZVBzZXVkb0VsZW1lbnQoKTsKKyAgICB9CisK
KyAgICBpZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OkFmdGVyKSB7CisgICAgICAgIGlmIChhdXRv
KiBhZnRlclBzZXVkb0VsZW1lbnQgPSB0aGlzLT5hZnRlclBzZXVkb0VsZW1lbnQoKSkKKyAgICAg
ICAgICAgIHJldHVybiBhZnRlclBzZXVkb0VsZW1lbnQ7CisgICAgICAgIGF1dG8gbmV3QWZ0ZXJQ
c2V1ZG9FbGVtZW50ID0gUHNldWRvRWxlbWVudDo6Y3JlYXRlKCp0aGlzLCBwc2V1ZG9JZCk7Cisg
ICAgICAgIHNldEFmdGVyUHNldWRvRWxlbWVudChXVEZNb3ZlKG5ld0FmdGVyUHNldWRvRWxlbWVu
dCkpOworICAgICAgICByZXR1cm4gYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CisgICAgfQorCisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIFBzZXVkb0Vs
ZW1lbnQqIEVsZW1lbnQ6OmJlZm9yZVBzZXVkb0VsZW1lbnQoKSBjb25zdAogewogICAgIHJldHVy
biBoYXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCktPmJlZm9yZVBzZXVkb0VsZW1lbnQo
KSA6IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBjOWM3MmZiNmI3ZmQ4OTI5ZDAxZTcw
MjUyNmY4NGEzMzMzY2Q5YWFmLi44NDZjMmMwMzM4MDY1MzczMjNlNWZmNzAwMzg0OGYzNTY1Y2Zk
MmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTQyOCw2ICs0MjgsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKSBvdmVycmlkZTsKICAgICB2b2lkIGJlZ2luUGFy
c2luZ0NoaWxkcmVuKCkgZmluYWw7CiAKKyAgICBQc2V1ZG9FbGVtZW50KiBlbnN1cmVQc2V1ZG9F
bGVtZW50KFBzZXVkb0lkKTsKICAgICBXRUJDT1JFX0VYUE9SVCBQc2V1ZG9FbGVtZW50KiBiZWZv
cmVQc2V1ZG9FbGVtZW50KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgUHNldWRvRWxlbWVu
dCogYWZ0ZXJQc2V1ZG9FbGVtZW50KCkgY29uc3Q7CiAgICAgYm9vbCBjaGlsZE5lZWRzU2hhZG93
V2Fsa2VyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
Y3BwCmluZGV4IDQwMjQwYmQ3YWUyOGU3MDQ0NzgzMDQyYmJmYTBkMTQxN2MyMTBiZDYuLjFjMGVi
OGI5ZjY4NDQwMzViNDM4ZTE2ZDRhMGIzNjk5NWMxYzEyOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
VXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwCkBAIC0xMDcsMjEgKzEwNywxMCBAQCB2b2lkIFJl
bmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KEVs
ZW1lbnQmIGN1cnJlbnQsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZWZQdHI8UHNl
dWRvRWxlbWVudD4gbmV3UHNldWRvRWxlbWVudDsKLSAgICBpZiAoIXBzZXVkb0VsZW1lbnQpIHsK
LSAgICAgICAgbmV3UHNldWRvRWxlbWVudCA9IFBzZXVkb0VsZW1lbnQ6OmNyZWF0ZShjdXJyZW50
LCBwc2V1ZG9JZCk7Ci0gICAgICAgIHBzZXVkb0VsZW1lbnQgPSBuZXdQc2V1ZG9FbGVtZW50Lmdl
dCgpOwotICAgIH0KLQogICAgIGlmICh1cGRhdGUtPmNoYW5nZSA9PSBTdHlsZTo6Tm9DaGFuZ2Up
CiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChuZXdQc2V1ZG9FbGVtZW50KSB7Ci0gICAgICAg
IGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQotICAgICAgICAgICAgY3VycmVudC5z
ZXRCZWZvcmVQc2V1ZG9FbGVtZW50KG5ld1BzZXVkb0VsZW1lbnQucmVsZWFzZU5vbk51bGwoKSk7
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGN1cnJlbnQuc2V0QWZ0ZXJQc2V1ZG9FbGVtZW50
KG5ld1BzZXVkb0VsZW1lbnQucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgfQorICAgIGN1cnJlbnQu
ZW5zdXJlUHNldWRvRWxlbWVudChwc2V1ZG9JZCk7CiAKICAgICBpZiAodXBkYXRlLT5zdHlsZS0+
ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpDb250ZW50cykgewogICAgICAgICAvLyBGb3IgZGlz
cGxheTpjb250ZW50cyB3ZSBjcmVhdGUgYW4gaW5saW5lIHdyYXBwZXIgdGhhdCBpbmhlcml0cyBp
dHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCA5ZjM1
MDBkZDVlYTcyMjU4NDY2OWEzZTllNGY4OWVmNzExNTdkYjg4Li4xYTg2MmJjNjFkMDEzNGQzNjRl
M2VmMjNkNDA0NWFjMTIwNDE5M2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVRyZWVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVl
UmVzb2x2ZXIuY3BwCkBAIC0yNjgsMTcgKzI2OCw3IEBAIEVsZW1lbnRVcGRhdGUgVHJlZVJlc29s
dmVyOjpyZXNvbHZlUHNldWRvU3R5bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVw
CiAgICAgaWYgKCFwc2V1ZG9FbGVtZW50UmVuZGVyZXJJc05lZWRlZChwc2V1ZG9TdHlsZS5nZXQo
KSkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBQc2V1ZG9FbGVtZW50KiBwc2V1ZG9FbGVt
ZW50ID0gcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSA/IGVsZW1lbnQuYmVmb3JlUHNldWRv
RWxlbWVudCgpIDogZWxlbWVudC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKLSAgICBpZiAoIXBzZXVk
b0VsZW1lbnQpIHsKLSAgICAgICAgYXV0byBuZXdQc2V1ZG9FbGVtZW50ID0gUHNldWRvRWxlbWVu
dDo6Y3JlYXRlKGVsZW1lbnQsIHBzZXVkb0lkKTsKLSAgICAgICAgcHNldWRvRWxlbWVudCA9IG5l
d1BzZXVkb0VsZW1lbnQucHRyKCk7Ci0gICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6
QmVmb3JlKQotICAgICAgICAgICAgZWxlbWVudC5zZXRCZWZvcmVQc2V1ZG9FbGVtZW50KFdURk1v
dmUobmV3UHNldWRvRWxlbWVudCkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBlbGVtZW50
LnNldEFmdGVyUHNldWRvRWxlbWVudChXVEZNb3ZlKG5ld1BzZXVkb0VsZW1lbnQpKTsKLSAgICB9
Ci0KLSAgICByZXR1cm4gY3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKFdURk1vdmUocHNldWRv
U3R5bGUpLCAqcHNldWRvRWxlbWVudCwgZWxlbWVudFVwZGF0ZS5jaGFuZ2UpOworICAgIHJldHVy
biBjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUoV1RGTW92ZShwc2V1ZG9TdHlsZSksICplbGVt
ZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQpLCBlbGVtZW50VXBkYXRlLmNoYW5nZSk7
CiB9CiAKIGNvbnN0IFJlbmRlclN0eWxlKiBUcmVlUmVzb2x2ZXI6OnBhcmVudEJveFN0eWxlKCkg
Y29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396428</attachid>
            <date>2020-04-14 09:23:37 -0700</date>
            <delta_ts>2020-04-14 10:06:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210495-20200414182335.patch</filename>
            <type>text/plain</type>
            <size>5623</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgwZmE1Y2ZmZjQ2NWFh
MTVjYWYzZDI4Mzg1ODRlMjY3ZjNiNzUzYy4uZjdkZGQ5YzNlYmEzYzhhMGI4YTA4ODk0N2RhNDUw
ODY0ZWQ0ZTFhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA0LTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgRmFjdG9yIFBzZXVkb0Vs
ZW1lbnQgY3JlYXRpb24gY2FsbHMgaW50byBhIHNpbmdsZSBFbGVtZW50OjplbnN1cmVQc2V1ZG9F
bGVtZW50KHBzZXVkb0lkKSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDQ5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRvIHN1cHBvcnQgd2Via2l0Lm9yZy9iLzIwNzI5MCB3ZSBuZWVkIGEg
d2F5IHRvIGVuc3VyZSBhIFBzZXVkb0VsZW1lbnQgaXMgYXZhaWxhYmxlIGZvciA6OmJlZm9yZSBh
bmQgOjphZnRlcgorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgb24gYSBnaXZlbiBFbGVtZW50LiBX
ZSBub3cgdXNlIGEgRWxlbWVudDo6ZW5zdXJlUHNldWRvRWxlbWVudChwc2V1ZG9JZCkgbWV0aG9k
IHRvIGRvIHRoaXMgYW5kCisgICAgICAgIHJlcGxhY2UgZXhpc3RpbmcgcGxhY2VzIHdoZXJlIHdl
IHdvdWxkIGRvIHNvbWV0aGluZyBzaW1pbGFyLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlUHNldWRvRWxlbWVudCk6CisgICAg
ICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KToKKyAg
ICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6VHJlZVJlc29sdmVyOjpyZXNvbHZlUHNldWRvU3R5bGUpOgorCiAyMDIwLTA0LTE0ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRp
b25zXSBTdG9yZSBhbiBFbGVtZW50IC8gUHNldWRvSWQgcGFpciB0byBkZWZpbmUgdGhlIEtleWZy
YW1lRWZmZWN0IHRhcmdldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDMwMmVlYjdjZTVlNTky
YjRmOWRlZTZhZmE1NDg4ZWE0NmJlNDc1MmQuLjc0N2U0YTRlNmMwYmZiYTNlNDM1YmY1YzEyOTQ4
MGQwOTU3OGY5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTM0ODEsNiArMzQ4MSwyNCBA
QCB2b2lkIEVsZW1lbnQ6Om5vcm1hbGl6ZUF0dHJpYnV0ZXMoKQogICAgICAgICBhdHRyTm9kZS0+
bm9ybWFsaXplKCk7CiB9CiAKK1BzZXVkb0VsZW1lbnQmIEVsZW1lbnQ6OmVuc3VyZVBzZXVkb0Vs
ZW1lbnQoUHNldWRvSWQgcHNldWRvSWQpCit7CisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lk
OjpCZWZvcmUpIHsKKyAgICAgICAgaWYgKGF1dG8qIGJlZm9yZVBzZXVkb0VsZW1lbnQgPSB0aGlz
LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gYmVmb3JlUHNldWRv
RWxlbWVudDsKKyAgICAgICAgYXV0byBuZXdCZWZvcmVQc2V1ZG9FbGVtZW50ID0gUHNldWRvRWxl
bWVudDo6Y3JlYXRlKCp0aGlzLCBwc2V1ZG9JZCk7CisgICAgICAgIHNldEJlZm9yZVBzZXVkb0Vs
ZW1lbnQoV1RGTW92ZShuZXdCZWZvcmVQc2V1ZG9FbGVtZW50KSk7CisgICAgICAgIHJldHVybiAq
YmVmb3JlUHNldWRvRWxlbWVudCgpOworICAgIH0KKworICAgIEFTU0VSVChwc2V1ZG9JZCA9PSBQ
c2V1ZG9JZDo6QWZ0ZXIpOworICAgIGlmIChhdXRvKiBhZnRlclBzZXVkb0VsZW1lbnQgPSB0aGlz
LT5hZnRlclBzZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGFmdGVyUHNldWRvRWxlbWVu
dDsKKyAgICBhdXRvIG5ld0FmdGVyUHNldWRvRWxlbWVudCA9IFBzZXVkb0VsZW1lbnQ6OmNyZWF0
ZSgqdGhpcywgcHNldWRvSWQpOworICAgIHNldEFmdGVyUHNldWRvRWxlbWVudChXVEZNb3ZlKG5l
d0FmdGVyUHNldWRvRWxlbWVudCkpOworICAgIHJldHVybiAqYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7
Cit9CisKIFBzZXVkb0VsZW1lbnQqIEVsZW1lbnQ6OmJlZm9yZVBzZXVkb0VsZW1lbnQoKSBjb25z
dAogewogICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCktPmJlZm9y
ZVBzZXVkb0VsZW1lbnQoKSA6IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBjOWM3MmZi
NmI3ZmQ4OTI5ZDAxZTcwMjUyNmY4NGEzMzMzY2Q5YWFmLi5mZGM1YjI4NjdjYTBkMzMyMmE1MmUx
NzgxNmNlZDE1Yjg0ZjI0ZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTQyOCw2ICs0MjgsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKSBvdmVycmlkZTsKICAg
ICB2b2lkIGJlZ2luUGFyc2luZ0NoaWxkcmVuKCkgZmluYWw7CiAKKyAgICBQc2V1ZG9FbGVtZW50
JiBlbnN1cmVQc2V1ZG9FbGVtZW50KFBzZXVkb0lkKTsKICAgICBXRUJDT1JFX0VYUE9SVCBQc2V1
ZG9FbGVtZW50KiBiZWZvcmVQc2V1ZG9FbGVtZW50KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBP
UlQgUHNldWRvRWxlbWVudCogYWZ0ZXJQc2V1ZG9FbGVtZW50KCkgY29uc3Q7CiAgICAgYm9vbCBj
aGlsZE5lZWRzU2hhZG93V2Fsa2VyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdl
bmVyYXRlZENvbnRlbnQuY3BwCmluZGV4IDQwMjQwYmQ3YWUyOGU3MDQ0NzgzMDQyYmJmYTBkMTQx
N2MyMTBiZDYuLmE5NDE3ZDJlYTk5NzkwNWVlZDgwOWVmM2JlYTdjMzdkOGZmMmJiOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRl
ckdlbmVyYXRlZENvbnRlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwCkBAIC0xMDcsMjEgKzEw
NywxMCBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1cGRhdGVQ
c2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBSZWZQdHI8UHNldWRvRWxlbWVudD4gbmV3UHNldWRvRWxlbWVudDsKLSAgICBpZiAoIXBz
ZXVkb0VsZW1lbnQpIHsKLSAgICAgICAgbmV3UHNldWRvRWxlbWVudCA9IFBzZXVkb0VsZW1lbnQ6
OmNyZWF0ZShjdXJyZW50LCBwc2V1ZG9JZCk7Ci0gICAgICAgIHBzZXVkb0VsZW1lbnQgPSBuZXdQ
c2V1ZG9FbGVtZW50LmdldCgpOwotICAgIH0KLQogICAgIGlmICh1cGRhdGUtPmNoYW5nZSA9PSBT
dHlsZTo6Tm9DaGFuZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChuZXdQc2V1ZG9FbGVt
ZW50KSB7Ci0gICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQotICAgICAg
ICAgICAgY3VycmVudC5zZXRCZWZvcmVQc2V1ZG9FbGVtZW50KG5ld1BzZXVkb0VsZW1lbnQucmVs
ZWFzZU5vbk51bGwoKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGN1cnJlbnQuc2V0QWZ0
ZXJQc2V1ZG9FbGVtZW50KG5ld1BzZXVkb0VsZW1lbnQucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAg
fQorICAgIHBzZXVkb0VsZW1lbnQgPSAmY3VycmVudC5lbnN1cmVQc2V1ZG9FbGVtZW50KHBzZXVk
b0lkKTsKIAogICAgIGlmICh1cGRhdGUtPnN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6
OkNvbnRlbnRzKSB7CiAgICAgICAgIC8vIEZvciBkaXNwbGF5OmNvbnRlbnRzIHdlIGNyZWF0ZSBh
biBpbmxpbmUgd3JhcHBlciB0aGF0IGluaGVyaXRzIGl0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IDlmMzUwMGRkNWVhNzIyNTg0NjY5YTNlOWU0Zjg5
ZWY3MTE1N2RiODguLjUwNzM4NDk0NWNiZTQ5ZTZiODM4ZTVkMDEwYWFkYTJkN2ZlZDVmOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKQEAgLTI2OCwxNyAr
MjY4LDcgQEAgRWxlbWVudFVwZGF0ZSBUcmVlUmVzb2x2ZXI6OnJlc29sdmVQc2V1ZG9TdHlsZShF
bGVtZW50JiBlbGVtZW50LCBjb25zdCBFbGVtZW50VXAKICAgICBpZiAoIXBzZXVkb0VsZW1lbnRS
ZW5kZXJlcklzTmVlZGVkKHBzZXVkb1N0eWxlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIHsgfTsK
IAotICAgIFBzZXVkb0VsZW1lbnQqIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1ZG9J
ZDo6QmVmb3JlID8gZWxlbWVudC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBlbGVtZW50LmFmdGVy
UHNldWRvRWxlbWVudCgpOwotICAgIGlmICghcHNldWRvRWxlbWVudCkgewotICAgICAgICBhdXRv
IG5ld1BzZXVkb0VsZW1lbnQgPSBQc2V1ZG9FbGVtZW50OjpjcmVhdGUoZWxlbWVudCwgcHNldWRv
SWQpOwotICAgICAgICBwc2V1ZG9FbGVtZW50ID0gbmV3UHNldWRvRWxlbWVudC5wdHIoKTsKLSAg
ICAgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpCZWZvcmUpCi0gICAgICAgICAgICBlbGVt
ZW50LnNldEJlZm9yZVBzZXVkb0VsZW1lbnQoV1RGTW92ZShuZXdQc2V1ZG9FbGVtZW50KSk7Ci0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVsZW1lbnQuc2V0QWZ0ZXJQc2V1ZG9FbGVtZW50KFdU
Rk1vdmUobmV3UHNldWRvRWxlbWVudCkpOwotICAgIH0KLQotICAgIHJldHVybiBjcmVhdGVBbmlt
YXRlZEVsZW1lbnRVcGRhdGUoV1RGTW92ZShwc2V1ZG9TdHlsZSksICpwc2V1ZG9FbGVtZW50LCBl
bGVtZW50VXBkYXRlLmNoYW5nZSk7CisgICAgcmV0dXJuIGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVw
ZGF0ZShXVEZNb3ZlKHBzZXVkb1N0eWxlKSwgZWxlbWVudC5lbnN1cmVQc2V1ZG9FbGVtZW50KHBz
ZXVkb0lkKSwgZWxlbWVudFVwZGF0ZS5jaGFuZ2UpOwogfQogCiBjb25zdCBSZW5kZXJTdHlsZSog
VHJlZVJlc29sdmVyOjpwYXJlbnRCb3hTdHlsZSgpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396432</attachid>
            <date>2020-04-14 10:06:55 -0700</date>
            <delta_ts>2020-04-14 10:37:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210495-20200414190654.patch</filename>
            <type>text/plain</type>
            <size>6537</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgwZmE1Y2ZmZjQ2NWFh
MTVjYWYzZDI4Mzg1ODRlMjY3ZjNiNzUzYy4uZjdkZGQ5YzNlYmEzYzhhMGI4YTA4ODk0N2RhNDUw
ODY0ZWQ0ZTFhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA0LTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgRmFjdG9yIFBzZXVkb0Vs
ZW1lbnQgY3JlYXRpb24gY2FsbHMgaW50byBhIHNpbmdsZSBFbGVtZW50OjplbnN1cmVQc2V1ZG9F
bGVtZW50KHBzZXVkb0lkKSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDQ5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRvIHN1cHBvcnQgd2Via2l0Lm9yZy9iLzIwNzI5MCB3ZSBuZWVkIGEg
d2F5IHRvIGVuc3VyZSBhIFBzZXVkb0VsZW1lbnQgaXMgYXZhaWxhYmxlIGZvciA6OmJlZm9yZSBh
bmQgOjphZnRlcgorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgb24gYSBnaXZlbiBFbGVtZW50LiBX
ZSBub3cgdXNlIGEgRWxlbWVudDo6ZW5zdXJlUHNldWRvRWxlbWVudChwc2V1ZG9JZCkgbWV0aG9k
IHRvIGRvIHRoaXMgYW5kCisgICAgICAgIHJlcGxhY2UgZXhpc3RpbmcgcGxhY2VzIHdoZXJlIHdl
IHdvdWxkIGRvIHNvbWV0aGluZyBzaW1pbGFyLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlUHNldWRvRWxlbWVudCk6CisgICAg
ICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KToKKyAg
ICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6VHJlZVJlc29sdmVyOjpyZXNvbHZlUHNldWRvU3R5bGUpOgorCiAyMDIwLTA0LTE0ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRp
b25zXSBTdG9yZSBhbiBFbGVtZW50IC8gUHNldWRvSWQgcGFpciB0byBkZWZpbmUgdGhlIEtleWZy
YW1lRWZmZWN0IHRhcmdldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDMwMmVlYjdjZTVlNTky
YjRmOWRlZTZhZmE1NDg4ZWE0NmJlNDc1MmQuLmVkMzVmY2RjNmY0NjIwNGNkYWI3M2Y2MzRiZjll
MDUwZTExY2Q0NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTM0ODEsMjQgKzM0ODEsMjgg
QEAgdm9pZCBFbGVtZW50Ojpub3JtYWxpemVBdHRyaWJ1dGVzKCkKICAgICAgICAgYXR0ck5vZGUt
Pm5vcm1hbGl6ZSgpOwogfQogCi1Qc2V1ZG9FbGVtZW50KiBFbGVtZW50OjpiZWZvcmVQc2V1ZG9F
bGVtZW50KCkgY29uc3QKK1BzZXVkb0VsZW1lbnQmIEVsZW1lbnQ6OmVuc3VyZVBzZXVkb0VsZW1l
bnQoUHNldWRvSWQgcHNldWRvSWQpCiB7Ci0gICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVt
ZW50UmFyZURhdGEoKS0+YmVmb3JlUHNldWRvRWxlbWVudCgpIDogbnVsbHB0cjsKLX0KKyAgICBp
ZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkgeworICAgICAgICBpZiAoIWJlZm9yZVBz
ZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgICAgIGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpLnNldEJl
Zm9yZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxlbWVudDo6Y3JlYXRlKCp0aGlzLCBwc2V1ZG9JZCkp
OworICAgICAgICByZXR1cm4gKmJlZm9yZVBzZXVkb0VsZW1lbnQoKTsKKyAgICB9CiAKLVBzZXVk
b0VsZW1lbnQqIEVsZW1lbnQ6OmFmdGVyUHNldWRvRWxlbWVudCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+YWZ0ZXJQc2V1ZG9FbGVtZW50
KCkgOiBudWxscHRyOworICAgIEFTU0VSVChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QWZ0ZXIpOwor
ICAgIGlmICghYWZ0ZXJQc2V1ZG9FbGVtZW50KCkpCisgICAgICAgIGVuc3VyZUVsZW1lbnRSYXJl
RGF0YSgpLnNldEFmdGVyUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50OjpjcmVhdGUoKnRoaXMs
IHBzZXVkb0lkKSk7CisgICAgcmV0dXJuICphZnRlclBzZXVkb0VsZW1lbnQoKTsKIH0KIAotdm9p
ZCBFbGVtZW50OjpzZXRCZWZvcmVQc2V1ZG9FbGVtZW50KFJlZjxQc2V1ZG9FbGVtZW50PiYmIGVs
ZW1lbnQpCitQc2V1ZG9FbGVtZW50KiBFbGVtZW50OjpiZWZvcmVQc2V1ZG9FbGVtZW50KCkgY29u
c3QKIHsKLSAgICBlbnN1cmVFbGVtZW50UmFyZURhdGEoKS5zZXRCZWZvcmVQc2V1ZG9FbGVtZW50
KFdURk1vdmUoZWxlbWVudCkpOworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gZWxlbWVudFJh
cmVEYXRhKCktPmJlZm9yZVBzZXVkb0VsZW1lbnQoKSA6IG51bGxwdHI7CiB9CiAKLXZvaWQgRWxl
bWVudDo6c2V0QWZ0ZXJQc2V1ZG9FbGVtZW50KFJlZjxQc2V1ZG9FbGVtZW50PiYmIGVsZW1lbnQp
CitQc2V1ZG9FbGVtZW50KiBFbGVtZW50OjphZnRlclBzZXVkb0VsZW1lbnQoKSBjb25zdAogewot
ICAgIGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpLnNldEFmdGVyUHNldWRvRWxlbWVudChXVEZNb3Zl
KGVsZW1lbnQpKTsKKyAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgp
LT5hZnRlclBzZXVkb0VsZW1lbnQoKSA6IG51bGxwdHI7CiB9CiAKIHN0YXRpYyB2b2lkIGRpc2Nv
bm5lY3RQc2V1ZG9FbGVtZW50KFBzZXVkb0VsZW1lbnQqIHBzZXVkb0VsZW1lbnQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAppbmRleCBjOWM3MmZiNmI3ZmQ4OTI5ZDAxZTcwMjUyNmY4NGEzMzMzY2Q5YWFmLi4w
ZGJmODk4MzUyOWUxZTM0OTBhNTFiMmIwYjc1ZTgxZDAwZjYxYmM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKQEAgLTQyOCw2ICs0MjgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmaW5pc2hQYXJzaW5nQ2hp
bGRyZW4oKSBvdmVycmlkZTsKICAgICB2b2lkIGJlZ2luUGFyc2luZ0NoaWxkcmVuKCkgZmluYWw7
CiAKKyAgICBQc2V1ZG9FbGVtZW50JiBlbnN1cmVQc2V1ZG9FbGVtZW50KFBzZXVkb0lkKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCBQc2V1ZG9FbGVtZW50KiBiZWZvcmVQc2V1ZG9FbGVtZW50KCkgY29u
c3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgUHNldWRvRWxlbWVudCogYWZ0ZXJQc2V1ZG9FbGVtZW50
KCkgY29uc3Q7CiAgICAgYm9vbCBjaGlsZE5lZWRzU2hhZG93V2Fsa2VyKCkgY29uc3Q7CkBAIC01
NTIsOCArNTUzLDYgQEAgcHVibGljOgogICAgIGNvbnN0IFJlbmRlclN0eWxlKiBleGlzdGluZ0Nv
bXB1dGVkU3R5bGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBjb25zdCBSZW5kZXJTdHls
ZSogcmVuZGVyT3JEaXNwbGF5Q29udGVudHNTdHlsZSgpIGNvbnN0OwogCi0gICAgdm9pZCBzZXRC
ZWZvcmVQc2V1ZG9FbGVtZW50KFJlZjxQc2V1ZG9FbGVtZW50PiYmKTsKLSAgICB2b2lkIHNldEFm
dGVyUHNldWRvRWxlbWVudChSZWY8UHNldWRvRWxlbWVudD4mJik7CiAgICAgdm9pZCBjbGVhckJl
Zm9yZVBzZXVkb0VsZW1lbnQoKTsKICAgICB2b2lkIGNsZWFyQWZ0ZXJQc2V1ZG9FbGVtZW50KCk7
CiAgICAgdm9pZCByZXNldENvbXB1dGVkU3R5bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVy
R2VuZXJhdGVkQ29udGVudC5jcHAKaW5kZXggNDAyNDBiZDdhZTI4ZTcwNDQ3ODMwNDJiYmZhMGQx
NDE3YzIxMGJkNi4uYTk0MTdkMmVhOTk3OTA1ZWVkODA5ZWYzYmVhN2MzN2Q4ZmYyYmI5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRh
dGVyR2VuZXJhdGVkQ29udGVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAKQEAgLTEwNywyMSAr
MTA3LDEwIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0
ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYgY3VycmVudCwKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIFJlZlB0cjxQc2V1ZG9FbGVtZW50PiBuZXdQc2V1ZG9FbGVtZW50OwotICAgIGlmICgh
cHNldWRvRWxlbWVudCkgewotICAgICAgICBuZXdQc2V1ZG9FbGVtZW50ID0gUHNldWRvRWxlbWVu
dDo6Y3JlYXRlKGN1cnJlbnQsIHBzZXVkb0lkKTsKLSAgICAgICAgcHNldWRvRWxlbWVudCA9IG5l
d1BzZXVkb0VsZW1lbnQuZ2V0KCk7Ci0gICAgfQotCiAgICAgaWYgKHVwZGF0ZS0+Y2hhbmdlID09
IFN0eWxlOjpOb0NoYW5nZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG5ld1BzZXVkb0Vs
ZW1lbnQpIHsKLSAgICAgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpCZWZvcmUpCi0gICAg
ICAgICAgICBjdXJyZW50LnNldEJlZm9yZVBzZXVkb0VsZW1lbnQobmV3UHNldWRvRWxlbWVudC5y
ZWxlYXNlTm9uTnVsbCgpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY3VycmVudC5zZXRB
ZnRlclBzZXVkb0VsZW1lbnQobmV3UHNldWRvRWxlbWVudC5yZWxlYXNlTm9uTnVsbCgpKTsKLSAg
ICB9CisgICAgcHNldWRvRWxlbWVudCA9ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNl
dWRvSWQpOwogCiAgICAgaWYgKHVwZGF0ZS0+c3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlw
ZTo6Q29udGVudHMpIHsKICAgICAgICAgLy8gRm9yIGRpc3BsYXk6Y29udGVudHMgd2UgY3JlYXRl
IGFuIGlubGluZSB3cmFwcGVyIHRoYXQgaW5oZXJpdHMgaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKaW5kZXggOWYzNTAwZGQ1ZWE3MjI1ODQ2NjlhM2U5ZTRm
ODllZjcxMTU3ZGI4OC4uNTA3Mzg0OTQ1Y2JlNDllNmI4MzhlNWQwMTBhYWRhMmQ3ZmVkNWY5ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcApAQCAtMjY4LDE3
ICsyNjgsNyBAQCBFbGVtZW50VXBkYXRlIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxl
KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEVsZW1lbnRVcAogICAgIGlmICghcHNldWRvRWxlbWVu
dFJlbmRlcmVySXNOZWVkZWQocHNldWRvU3R5bGUuZ2V0KCkpKQogICAgICAgICByZXR1cm4geyB9
OwogCi0gICAgUHNldWRvRWxlbWVudCogcHNldWRvRWxlbWVudCA9IHBzZXVkb0lkID09IFBzZXVk
b0lkOjpCZWZvcmUgPyBlbGVtZW50LmJlZm9yZVBzZXVkb0VsZW1lbnQoKSA6IGVsZW1lbnQuYWZ0
ZXJQc2V1ZG9FbGVtZW50KCk7Ci0gICAgaWYgKCFwc2V1ZG9FbGVtZW50KSB7Ci0gICAgICAgIGF1
dG8gbmV3UHNldWRvRWxlbWVudCA9IFBzZXVkb0VsZW1lbnQ6OmNyZWF0ZShlbGVtZW50LCBwc2V1
ZG9JZCk7Ci0gICAgICAgIHBzZXVkb0VsZW1lbnQgPSBuZXdQc2V1ZG9FbGVtZW50LnB0cigpOwot
ICAgICAgICBpZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkKLSAgICAgICAgICAgIGVs
ZW1lbnQuc2V0QmVmb3JlUHNldWRvRWxlbWVudChXVEZNb3ZlKG5ld1BzZXVkb0VsZW1lbnQpKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgZWxlbWVudC5zZXRBZnRlclBzZXVkb0VsZW1lbnQo
V1RGTW92ZShuZXdQc2V1ZG9FbGVtZW50KSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGNyZWF0ZUFu
aW1hdGVkRWxlbWVudFVwZGF0ZShXVEZNb3ZlKHBzZXVkb1N0eWxlKSwgKnBzZXVkb0VsZW1lbnQs
IGVsZW1lbnRVcGRhdGUuY2hhbmdlKTsKKyAgICByZXR1cm4gY3JlYXRlQW5pbWF0ZWRFbGVtZW50
VXBkYXRlKFdURk1vdmUocHNldWRvU3R5bGUpLCBlbGVtZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQo
cHNldWRvSWQpLCBlbGVtZW50VXBkYXRlLmNoYW5nZSk7CiB9CiAKIGNvbnN0IFJlbmRlclN0eWxl
KiBUcmVlUmVzb2x2ZXI6OnBhcmVudEJveFN0eWxlKCkgY29uc3QK
</data>
<flag name="review"
          id="411831"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>